80 likes | 198 Views
GREX Networking. The Communication Module. Implements the center point for the inter process communication Listens for local connecting modules Provides message dispatching between modules Centralizes the module descriptions and capabilities Connects to the world
E N D
The Communication Module • Implements the center point for the inter process communication • Listens for local connecting modules • Provides message dispatching between modules • Centralizes the module descriptions and capabilities • Connects to the world • Broadcasts “I’m here” signal to everyone listening • Shares information for the connected modules • Manages the available communication channels
Protocols • XML Inter Process Protocol • Defines the communication and information sharing logic in the dynamic networking for GREX • Readable by human operators and easy to debug • GREX Binary Protocol • Complies with the extremely low bandwidth of the links to the outside world
Dynamic Networking • What defines a network as dynamic? • Handshaking: Automatically discover any and all reachable nodes of the network. • Self maintenance: Recover from communication failure without operator assistance. • Message retransmission: Ensure reliable delivery of information • Where is this functionality implemented?
Communication Module • Brings the inter process communication to the next level • Translates information into a bit-efficient binary protocol • Interfaces any available communication channels to the outside world • Maintains a copy of the module capability registries on remote network nodes • Transparently sends messages and requests to modules on remote nodes as if they are on the local vehicle
Communication Module Inter-Process Communicator External Node Descriptors Statistics MAC Protocol GREX Binary Protocol Translator Communication Channel Connection Detection Optimal Encoding Algorithm Generic Communication Device UW Acoustic Modem
Some old questions… • Which is better? • Connection based modems • Broadcasting modems • What MAC protocol to use?
Network Simulator Transport Module Message Generator Communication Module Message Generator Communication Module Message Generator Communication Module Message Generator Communication Module