NCS: Message Transfer Systems: Difference between revisions

From Murray Wiki
Jump to navigationJump to search
Line 10: Line 10:


== Additional Resources ==
== Additional Resources ==
<!-- Links to additional information. If there are good sources of additional information for students interested in exploring this topic further, these should go at the bottom of the page. -->
* [http://www.spread.org Spread Toolbox] - The Spread Wide Area Group Communication System
* [http://www.isd.mel.nist.gov/projects/rcslib/NMLcpp.html  Neurtral Message Language (NML) Programmers Guide] - part of the NIST [http://www.isd.mel.nist.gov/projects/rcslib/ Realtime Control System] library
* [http://roboflag.mae.cornell.edu/Documentation.html RoboFlag documentation] - includes discussion of how RoboFlag network communications are implemented

Revision as of 07:00, 26 March 2006

Prev: Alice Intro Course Home Next: Pthreads

This lecture describes different choices for message transfer systems in a networked control system. The message transfer system is responsible for managing network communications between computers and software modules with the control system. We focus on systems that are build on top of the TCP/IP protocol stack. Design choices include how to encode information in packets, whether to broadcast or send packets point-to-point, and whether to retransmit packets on lost data transmission. Because of the closed loop nature of the networked embedded systems that we are programming, timing and latency are critical issues. We focus on the use of spread as a specific example of a low-level message transfer subsystem and describe how it can be used in a NCS context.

Lecture Materials

Reading

  • The Spread Wide Area Group Communication System, Y. Amir and J. Stanton. Technical Report CNDS-98-4, The Center for Networking and Distributed Systems, The Johns Hopkins University, 1998. The paper provides a detailed technical description of how spread works. It is mainly useful if you want to know more about what spread does. Requires some background in network protocols if you want to understand the details.

Additional Resources