Asynchronous Message Service (AMS) Prototype Status

Slides:



Advertisements
Similar presentations
Computer Net Lab/Praktikum Datenverarbeitung 2 1 Overview Sockets Sockets in C Sockets in Delphi.
Advertisements

Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Laboratório de Teleprocessamento e Redes1 Unix Network Programming Prof. Nelson Fonseca
Remote Procedure Call (RPC)
CCNA – Network Fundamentals
ROUTING PROTOCOLS Rizwan Rehman. Static routing  each router manually configured with a list of destinations and the next hop to reach those destinations.
Introduction An introduction to the software and organization of the Internet Lab.
Introduction An introduction to the equipment and organization of the Internet Lab.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Speaker 2006/XX/XX Speaker 2007/XX/XX IGMP Snooping CK NG Technical Marketing.
Mobile IP Traversal Of NAT Devices By, Vivek Nemarugommula.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
1 Transport Layer Computer Networks. 2 Where are we?
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Network Protocols. Why Protocols?  Rules and procedures to govern communication Some for transferring data Some for transferring data Some for route.
ITS CSS Desktop Support Introduction to networking concepts Last updated: 9/30/2008 by pxahelp.
NECP: the Network Element Control Protocol IETF WREC Working Group November 11, 1999.
1 Chapter Overview TCP/IP DoD model. 2 Network Layer Protocols Responsible for end-to-end communications on an internetwork Contrast with data-link layer.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
1 Internet Protocol. 2 Connectionless Network Layers Destination, source, hop count Maybe other stuff –fragmentation –options (e.g., source routing) –error.
Call Control with SIP Brian Elliott, Director of Engineering, NMS.
1 Version 3.0 Module 11 TCP Application and Transport.
Module 12: Routing Fundamentals. Routing Overview Configuring Routing and Remote Access as a Router Quality of Service.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
TCP/IP Transport and Application (Topic 6)
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 11 User Datagram Protocol (UDP)
Chapter 4: Interprocess Communication‏ Pages
Distributed Systems Concepts and Design Chapter 4.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
1 Internet Routing. 2 Terminology Forwarding –Refers to datagram transfer –Performed by host or router –Uses routing table Routing –Refers to propagation.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Framework for Evaluating Distributed Smalltalk Interface Jan Lukeš Czech Technical University.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Asynchronous Message Service (AMS) Prototype Status Scott Burleigh Jet Propulsion Laboratory, California Institute of Technology 25 August 2005.
NASA AMS Prototyping Activities Scott Burleigh Jet Propulsion Laboratory, California Institute of Technology 11 March 2008.
Introduction An introduction to the equipment and organization of the Internet Lab.
20 November 2008 SB-1 First Look at the Deep Impact DTN Experiment (DINET) Scott Burleigh Jet Propulsion Laboratory California Institute of Technology.
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Communication Networks NETW 501 Tutorial 2
OIC Open Source Work Group. 1 Architecture IoTivity v1.0 CA API CA Control Network Config. Network Config. CoAP Protocol CoAP Protocol Interface Controller.
Application Layer Functionality and Protocols Abdul Hadi Alaidi
IoT Integration Patterns, REST, and CoAP
A quick intro to networking
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
AMS Prototyping Activities
TCP Transport layer Er. Vikram Dhiman LPU.
Chapter 6: Network Layer
Content-Based Networking: DTN, AMS, Sharednet
The Open System Interconnection (OSI) Model & Network Protocols.
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Chapter 9 Objectives Understand TCP/IP Protocol.
Chapter 1 Data Communications and NM Overview 1-1 Chapter 1
Communication Networks NETW 501 Tutorial 3
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Multimedia and Networks
Process-to-Process Delivery:
CGS 3763 Operating Systems Concepts Spring 2013
Slides for Chapter 3: Networking and Internetworking
CS580 Special Project: IOS Firewall Setup using CISCO 1600 router
Distributed Systems CS
Building A Network: Cost Effective Resource Sharing
Writing a Channel Access Client in EPICS
Computer Networks Topic :User datagram protocol Transmission Control Protocol -Hemashree S( )
Process-to-Process Delivery: UDP, TCP
Open System Interconnect (OSI).
Distributed Systems CS
Presentation transcript:

Asynchronous Message Service (AMS) Prototype Status Scott Burleigh Jet Propulsion Laboratory, California Institute of Technology 25 August 2005

AMS Continuum configuration MIB configuration service Message space for application Q, authority R new zone specification zone registration registrar location query and response Zone A Zone B Registrar Registrar reconfig messages node registration heartbeat, ack, reconfig heartbeat, ack, reconfig application messages remote AMS messages Node Z Node X Node Y (a new node) RAMS gateway application messages application messages application messages

Example programs (1 of 2) #include "ams.h" static int runCatcher() { AmsNode me; AmsEvent event; int cn, 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;

Example programs (2 of 2) static int runPitcher() { AmsNode me; AmsEvent event; AmsStateType state; AmsChangeType change; AmsPriority priority; AmsDiligence diligence; int zn, nn, textlen; char buffer[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; } int main(int argc, char **argv) if (fork() == 0) return runCatcher(); else return runPitcher();

Management Information Base <?xml version="1.0" standalone="yes"?> <ams_mib_load> <ams_mib_init continuum_nbr="1" continuum_name="jpl" ptsname="dgr"/> <ams_mib_add> <csendpoint epspec="2357:loretta.jpl.nasa.gov"/> <application name="amsdemo"> <role nbr="1" name="shell"/> <role nbr="2" name="log"/> <role nbr="3" name="pitch"/> <role nbr="4" name="catch"/> <role nbr="5" name="benchs"/> <role nbr="6" name="benchr"/> <subject nbr="1" name="text" desc="ASCII text"/> <subject nbr="2" name="noise" desc="more ASCII text"/> <subject nbr="3" name="bench" desc="numbered msgs"/> </application> <msgspace nbr="1" appname="amsdemo" authname="test"> <zone nbr="1" name="301"/> <continuum nbr="2" name="apl" desc="Johns Hopkins APL"/> </msgspace> </ams_mib_add> </ams_mib_load>

Initial Performance Statistics Msgs/sec Mbps Msg Size Msg Count 1 subscr 2 subscr 20 10 million 11560 8581 1.7 1.3 200 1 million 10124 6642 15.4 10.1 2000 100,000 4800 2529 73.2 38.6 20000 10,000 587 293 89.6 44.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.

GDS Sim Spacecraft Sim SPOF router admin VxWorks RAMS gateway RAMS gateway SMC controller libams ION ION ION libams libams DGR IP MC SPOF CLA (C) SPOF CLA (S) SPOF CLA (C) DGR DGR UDP TCP TCP TCP UDP (80) (80) UDP SMC target SMC controller amsd libams libams DGR VxWorks Msg queue DGR amsd IP MC DGR UDP Linux UDP DGR UDP UDP Linux Solaris SMC target libams VxWorks Msg queue DGR UDP Cygwin or Interix The Internet SMC target SMC controller libams libams VxWorks Msg queue DGR IP MC DGR UDP UDP SMC controller libams IP MC DGR firewall firewall UDP

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.

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

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