The Remote Asynchronous Message Service (RAMS) gateway is a special-purpose AMS application node that enables exchange of AMS messages between nodes residing in different AMS “continua,” notionally in different geographical locations. JPL’s implementation of RAMS gateway functionality is integrated with the ION (Interplanetary Overlay Network) implementation of the DTN (Delay-Tolerant Networking) bundle protocol, and with JPL’s implementation of AMS itself. RAMS protocol data units are encapsulated in ION bundles and are forwarded to the neighboring RAMS gateways identified in the source gateway’s AMS management information base.
Each RAMS gateway has interfaces in two communication environments: the AMS message space it serves, and the RAMS network — the grid or tree of mutually aware RAMS gateways — that enables AMS messages produced in one message space to be forwarded to other message spaces of the same venture. Each gateway opens persistent, private RAMS network communication channels to the RAMS gateways of other message spaces for the same venture, in other continua. The interconnected RAMS gateways use these communication channels to forward message petition assertions and cancellations among themselves. Each RAMS gateway subscribes locally to all subjects that are of interest in any of the linked message spaces. On receiving its copy of a message on any of these subjects, the RAMS gateway node uses the RAMS network to forward the message to every other RAMS gateway whose message space contains at least one node that has subscribed to messages on that subject. On receiving a message via the RAMS network from some other RAMS gateway, the RAMS gateway node forwards the message to all subscribers in its own message space.
In this way, the RAMS protocol enables the free flow of published application messages across arbitrarily long, deep space links while protecting efficient use of those links: only a single copy of any message is ever transmitted on any RAMS network communication channel, no matter how many subscribers will receive copies when the message reaches its destination message space.
Note that the nature of the RAMS network communication channels depends on the implementation of the RAMS network. In order to communicate over the RAMS network for a given venture, each RAMS gateway must know the RAMS network location — an endpoint in the protocol used to implement the RAMS network (e.g., the DTN bundle protocol) — at which every other RAMS gateway for that venture receives RAMS network traffic. Again, this extension of the publish/subscribe model to interplanetary communications is invisible to application nodes. Application functionality is unaffected by these details of network configuration, and the only effects on behavior are those that are intrinsic to variability in message propagation latency.
This work was done by Shin-Ywan Wang of Caltech and Scott C. Burleigh of SBAR for NASA’s Jet Propulsion Laboratory.
This Brief includes a Technical Support Package (TSP).
Remote Asynchronous Message Service Gateway
(reference NPO-44048) is currently available for download from the TSP library.
Don't have an account? Sign up here.