A
system and method for self-organizing, reliable, multiple path data flow transmission of messages data on a network uses queues to transmit messages between end-user modules (EUMs) on nodes on the network. The EUMs include the
end user applications with which queues are associated. A network communications manager (NCM) resident on every node manages all transmission of messages between nodes. The NCM on a given node only has knowledge of nodes that are neighbor nodes to that given node, but has knowledge of all queues associated with all EUMs. Messages are divided into EUM messages, which are placed in queues by the NCM on each node, and
system messages, which are not placed 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 node chooses a neighbor node as a target node for sending EUM messages for each
queue, based on the best node latency and at capacity status of each neighbor node. These target nodes are used to provide potential routes to queues and multiple path data flow for queues that carry EUM
data messages for user applications. These target nodes are constantly updated to provide the 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 tokens for flow control to ensure that target nodes do not become overloaded. The node also compares node latencies for
multiple target nodes to ensure that the lowest node latency target node is chosen. By using neighbor nodes as target nodes, node latency, and at capacity information for determining when and where to send data, there is no need to maintain any global knowledge of all paths in the network. Further, the constant updating of target nodes ensures that the network maintains optimal and valid paths for messages, thus ensuring efficiency and reliability. Finally, the constant updating of target nodes ensures that reliability and efficiency are provided on an adaptive, self-organizing basis.