System, computer program product and method in a node for optimizing the topology of a virtual ring based upon a TCP/IP network
First Claim
1. A method in a network having nodes and a transport layer protocol providing end to end data transfer, wherein N of the nodes are members of a virtual communications ring for multicast communication among the N nodes, each of the N member nodes being logically associated with only a logically upstream one of the N nodes and a logically downstream one of the N nodes, and wherein for the communications ring one of the N nodes functions as a manager node for managing changes in ring membership, the method comprising:
- receiving a first request from the manager node via the communication ring by one of the N member nodes, wherein the first request is received by the one node from the one node'"'"'s upstream node and is for signaling the one node to participate in insertion of a N+1th, non-member node in the communications ring;
forwarding, by the one node, the received first request to the one node'"'"'s downstream node in the communication ring; and
sending by the one node to the one node'"'"'s downstream node a reply for the manager node responsive to the received first request, wherein the receiving of the first request includes;
receiving a compute distance message from the manager node, wherein the compute distance message has an address of the N+1th node; and
wherein the method includes;
computing, by the one node, a distance between the one node and the N+1th node; and
wherein sending the reply includes;
sending a distance computed message for the manager node, wherein the distance computed message includes the computed distance;
wherein the reply provides the manager node information for enabling the N nodes and the N+1th node to multicast messages around the communication ring, so that the first request is passed around the ring back to the manager node and respective distances for the distance computer message are generated by the non-manager ones of the N nodes, wherein responsive to the replies the manager node selects a location for inserting the N+1th node as the N+1th member node between two selected ones of the N nodes in the communications ring such that communications distances for the multicasted messages tend to be shorter due to the selected location of the N+1th node than communications distances that would arise for other possible locations of the N+1th node in the communications ring.
0 Assignments
0 Petitions
Accused Products
Abstract
In a network having nodes, N nodes are members of a virtual communications ring for multicast communication among the N Nodes, each of the N Nodes being associated with only an upstream and a downstream one of the other N nodes. One of the N nodes manages changes in ring membership, including requesting the others of the N nodes to participate in measuring distances to a N+1th, node responsive to receiving an insertion request message. The manager node inserts the N+1th node in the communications ring responsive to receiving replies, which includes inserting the N+1th node in a selected location between two selected ones of the N Nodes, such that the N nodes and the N+1th node are enabled to multicast messages around the ring. Due to the selected location of the N+1th node, communication distances for multicasted messages tend to be shorter than such distances that would otherwise occur.
35 Citations
20 Claims
-
1. A method in a network having nodes and a transport layer protocol providing end to end data transfer, wherein N of the nodes are members of a virtual communications ring for multicast communication among the N nodes, each of the N member nodes being logically associated with only a logically upstream one of the N nodes and a logically downstream one of the N nodes, and wherein for the communications ring one of the N nodes functions as a manager node for managing changes in ring membership, the method comprising:
-
receiving a first request from the manager node via the communication ring by one of the N member nodes, wherein the first request is received by the one node from the one node'"'"'s upstream node and is for signaling the one node to participate in insertion of a N+1th, non-member node in the communications ring; forwarding, by the one node, the received first request to the one node'"'"'s downstream node in the communication ring; and sending by the one node to the one node'"'"'s downstream node a reply for the manager node responsive to the received first request, wherein the receiving of the first request includes; receiving a compute distance message from the manager node, wherein the compute distance message has an address of the N+1th node; and wherein the method includes; computing, by the one node, a distance between the one node and the N+1th node; and wherein sending the reply includes; sending a distance computed message for the manager node, wherein the distance computed message includes the computed distance; wherein the reply provides the manager node information for enabling the N nodes and the N+1th node to multicast messages around the communication ring, so that the first request is passed around the ring back to the manager node and respective distances for the distance computer message are generated by the non-manager ones of the N nodes, wherein responsive to the replies the manager node selects a location for inserting the N+1th node as the N+1th member node between two selected ones of the N nodes in the communications ring such that communications distances for the multicasted messages tend to be shorter due to the selected location of the N+1th node than communications distances that would arise for other possible locations of the N+1th node in the communications ring. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a first node coupled via a transport layer, network communication protocol in a virtual communications ring of nodes to provide end to end data transfer by multicast communication among the nodes, each of the member nodes being logically associated in the ring with only a logically upstream one of the nodes and a logically downstream one of the N nodes, wherein the first node includes a computer system coupled to a tangible, computer readable memory, wherein the computer system is programmed to; receive a first request from an initiating one of the nodes via the communication ring, wherein the first request is received by the first node from the first node'"'"'s upstream node and is for signaling the first node to participate in insertion of a N+1th, non-member node in the communications ring; forward the received first request to the first node'"'"'s downstream node in the communication ring; and send to the first node'"'"'s downstream node a reply for the initiating node responsive to the received first request, wherein the receiving of the first request includes; receiving a compute distance message from the initiating node, wherein the compute distance message has an address of the N+1th node; and wherein the computer system is programmed to; compute a distance between the one node and the N+1th node; and wherein sending the reply includes; sending a distance computed message for the initiating node, wherein the distance computed message includes the computed distance; wherein the reply provides the initiating node information for enabling the N nodes and the N+1th node to multicast messages around the communication ring, so that the first request is passed around the ring back to the initiating node and respective distances for the distance computer message are generated by the non-initiating ones of the N nodes, wherein responsive to the replies the initiating node selects a location for inserting the N+1th node as the N+1th member node between two selected ones of the N nodes in the communications ring such that communications distances for the multicasted messages tend to be shorter due to the selected location of the N+1th node than communications distances that would arise for other possible locations of the N+1th node in the communications ring. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium with an executable program stored thereon, wherein the program is for a computer system performing as a first node in a network having nodes and a transport layer protocol providing end to end data transfer, wherein N of the nodes are members of a virtual communications ring for multicast communication among the N nodes, each of the N member nodes being logically associated in the ring with only a logically upstream one of the N nodes and a logically downstream one of the N nodes, and wherein for the communications ring one of the N nodes functions as a manager node for managing changes in ring membership, wherein the programs instructs the computer system to perform the following:
-
receiving a first request from an initiating one of the nodes via the communication ring, wherein the first request is received by the first node from the first node'"'"'s upstream node and is for signaling the first node to participate in insertion of a N+1th, non-member node in the communications ring; forwarding, by the first node, the received first request to the first node'"'"'s downstream node in the communication ring; and sending to the first node'"'"'s downstream node a reply for the initiating node responsive to the received first request, wherein the receiving of the first request includes; receiving a compute distance message from the initiating node, wherein the compute distance message has an address of the N+1th node; and wherein the programs instructs the computer system to perform the following; computing, responsive to the first request, a distance between the one node and the N+1th node; and wherein the sending of the reply to the first node'"'"'s downstream node includes; sending a distance computed message for the initiator node, wherein the distance computed message includes the computed distance; wherein the reply provides the initiating node information for enabling the N nodes and the N+1th node to multicast messages around the communication ring, so that the first request is passed around the ring back to the initiating node and respective distances for the distance computer message are generated by the non-initiating ones of the N nodes, wherein responsive to the replies the initiating node to select a location for inserting the N+1th node as the N+1th member node between two selected ones of the N nodes in the communications ring such that communications distances for the multicasted messages tend to be shorter due to the selected location of the N+1th node than communications distances that would arise for other possible locations of the N+1th node in the communications ring. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification