A system and method for self organizing, reliable, multiple path data flowtransmission of messages data on a network uses queues to transmitmessages between end-user modules (EUMs) on nodes on the network. TheEUMs include the end user applications with which queues are associated. Anetwork communications manager (NCM) resident on every node manages alltransmission of messages between nodes.The NCM on a given node only has knowledge of nodes that are neighbornodes to that given node, but has knowledge of all queues associated with allEUMs. Messages are divided into EUM messages, which are placed inqueues by the NCM on each node, and system messages, which are notplaced in queues but are used by the NCM to determine when and where, i.e.to which neighbor node, messages may be sent. The NCM on each nodechooses a neighbor node as a target node for sending EUM messages foreach queue, based on the best node latency and at capacity status of eachneighbor node. These target nodes are used to provide potential routes toqueues and multiple path data flow for queues that carry EUM data messagesfor user applications. These target nodes are constantly updated to providethe best paths on an adaptive basis and to ensure that all paths are valid,improving network reliability.When choosing when to send data to a target node, each node uses tokensfor flow control to ensure that target nodes do not become overloaded. Thenode also compares node latencies for multiple target nodes to ensure thatthe lowest node latency target node is chosen.By using neighbor nodes as target nodes, node latency, and at capacityinformation for determining when and where to send data, there is no need tomaintain any global knowledge of all paths in the network. Further, theconstant updating of target nodes ensures that the network maintains optimaland valid paths for messages, thus ensuring efficiency and reliability.Finally,-88-the constant updating of target nodes ensures that reliability and efficiencyareprovided on an adaptive, self organizing basis.
展开▼