Download presentation
Presentation is loading. Please wait.
Published byChristiana Charles Modified over 9 years ago
1
Asynchronous Message Service (AMS) Prototype Status Scott Burleigh Jet Propulsion Laboratory, California Institute of Technology 25 August 2005
2
configuration service RAMS gateway Registrar Message space for application Q, authority R Zone AZone B Registrar Node ZNode X Node Y (a new node) application messages application messages application messages configuration MIB AMS Continuum registrar location query and response new zone specification zone registration reconfig messages heartbeat, ack, reconfig heartbeat, ack, reconfig node registration remote AMS messages application messages
3
Example programs (1 of 2) #include "ams.h" static intrunCatcher() { AmsNodeme; AmsEventevent; intcn, zn, nn, len, ct; char*sname, *txt; ams_register(NULL,NULL,NULL, 0, "amsdemo", "test", "301", "catch", &me); ams_invite(me, "text", AmsPriorityStandard, AmsAssured); while (1) { ams_get_event(me, AMS_BLOCKING, &event); if (ams_get_event_type(me, event) == AMS_MSG_EVT) break; else ams_recycle_event(me, event); } ams_parse_msg(me, event, &cn, &zn, &nn, &sname, &len, &txt, &ct); printf("%d received '%s'.\n", getpid(), txt); ams_recycle_event(me, event); ams_unregister(me); return 0; }
4
Example programs (2 of 2) static intrunPitcher() { AmsNodeme; AmsEventevent; AmsStateTypestate; AmsChangeTypechange; AmsPrioritypriority; AmsDiligencediligence; intzn, nn, textlen; charbuffer[80], *zname, *nname, *sname; sprintf(buffer, "Hello from %d.", getpid()); textlen = strlen(buffer) + 1; ams_register(NULL,NULL,NULL, 0, "amsdemo", "test", "301", "pitch", &me); while (1) { ams_get_event(me, AMS_BLOCKING, &event); ams_parse_notice(me, event, &state, &change, &zname, &zn, &nname, &nn, &sname, &priority, &diligence); ams_recycle_event(me, event); if (state == AmsInvitationState) { printf("%d sending '%s'.\n", getpid(), buffer); ams_send(me, 0, zn, nn, "text", textlen, buffer, AmsReportNone, NULL, 0); ams_unregister(me); return 0; } intmain(int argc, char **argv) { if (fork() == 0) return runCatcher(); else return runPitcher(); }
5
Management Information Base
6
Initial Performance Statistics Msgs/sec Mbps Msg SizeMsg Count1 subscr2 subscr1 subscr2 subscr 2010 million1156085811.71.3 2001 million10124664215.410.1 2000100,0004800252973.238.6 2000010,00058729389.644.8 Publisher on a Pentium III, Red Hat 8.0 Linux. Subscriber(s) on a second Pentium III, Fedora Core 3. Underlying transport is TCP/IP over a 100 Mbps Ethernet switch.
7
RAMS gateway ION SPOF CLA (C) libams DGR TCPUDP SMC target libams DGR VxWorks Msg queue UDP SMC target libams DGR VxWorks Msg queue UDP SMC target libams DGR VxWorks Msg queue UDP amsd DGR UDP SPOF router admin ION SPOF CLA (S) TCP (80) RAMS gateway ION SPOF CLA (C) libams DGR TCPUDP IP MC amsd DGR UDP (80) SMC controller libams DGRIP MC UDP SMC controller libams DGRIP MC UDP SMC controller libams DGRIP MC UDP SMC controller libams DGR UDP Spacecraft Sim The Internet VxWorks Linux GDS Sim Linux Solaris Cygwin or Interix firewall
8
What’s Done Automatic discovery and dynamic reconfiguration –Startup, shutdown, registration –Exchange of subscriptions and invitations Application message flow –Publish/subscribe –Private messages (send/reply) Clean interface to underlying transport systems. Two adapters implemented so far: TCP and DGR (datagram retransmission, a reliable UDP system). Heartbeat exchange, detection of unannounced crash.
9
What’s Not Done Yet Test/debug failover among configuration servers Non-trivial encryption; test/debug authentication and authorization Periodic resynchronization Other transport service adapters with other QOS features: vxWorks message queues, IP multicast, probably UDP Remote AMS gateway Port to Interix (Windows); port to Solaris; finish port to vxWorks
10
Other stuff for FY06 Dynamic updating of MIBs, e.g., in response to changes in an information model Message marshalling/un-marshalling per message definitions in MIB JMS wrapper (JNI interface) LabView wrapper Matlab wrapper Tcl/Tk wrapper
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.