System and method 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:
- a) requesting, by the manager node, the others of the N member nodes to participate in measuring respective communication distances to a N+1th, non-member node responsive to the manager node receiving an insertion request message from the non-member node; and
b) inserting, by the manager node, the N+1th node as a new member node in the communications ring responsive to receiving replies to the requesting, wherein the inserting 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 communication ring and communications distances for the muticasted messages tend to be shorter due to the selected location of the N+1th node than would communications distances that would arise for other possible locations of the N+1th node.
1 Assignment
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 muticasted messages tend to be shorter than such distances that would otherwise occur.
29 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:
-
a) requesting, by the manager node, the others of the N member nodes to participate in measuring respective communication distances to a N+1th, non-member node responsive to the manager node receiving an insertion request message from the non-member node; and
b) inserting, by the manager node, the N+1th node as a new member node in the communications ring responsive to receiving replies to the requesting, wherein the inserting 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 communication ring and communications distances for the muticasted messages tend to be shorter due to the selected location of the N+1th node than would communications distances that would arise for other possible locations of the N+1th node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising:
-
a network having nodes and a transport layer protocol providing end to end data transfer;
wherein N selected ones 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;
wherein one of the N nodes of the communications ring is operable to provide a manager node function for managing changes in ring membership, the manager node having a processor;
wherein the network includes a tangible, computer readable memory having program code for execution by the manager node processor, including;
first program code for requesting the others of the N member nodes to participate in measuring respective communication distances to a N+1th, non-member node responsive to the manager node receiving an insertion request message from the non-member node; and
second program code for inserting the N+1th node as a new member node in the communications ring responsive to receiving replies to the requesting, wherein the inserting 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 communication ring and communications distances for the muticasted messages tend to be shorter due to the selected location of the N+1th node than would be communications distances that would arise for other possible locations of the N+1th node. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for use 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 computer program product including a tangible, computer usable medium including computer usable program code for execution by the manager node, the program code including:
-
first program code for requesting the others of the N member nodes to participate in measuring respective communication distances to a N+1th, non-member node responsive to the manager node receiving an insertion request message from the non-member node; and
second program code for inserting the N+1th node as a new member node in the communications ring responsive to receiving replies to the requesting, wherein the inserting 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 communication ring and communications distances for the muticasted messages tend to be shorter due to the selected location of the N+1th node than would be communications distances that would arise for other possible locations of the N+1th node. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. In a network having nodes, a method of providing a service to manage nodes, wherein the network includes a transport layer protocol providing end to end data transfer and 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 service comprising:
-
a) requesting, by the manager node, the others of the N member nodes to participate in measuring respective communication distances to a N+1th, non- member node responsive to the manager node receiving an insertion request message from the non-member node, wherein a) further includes;
sending, by the manager node to the manager node'"'"'s downstream node, a compute distance message, wherein the compute distance message is for each receiving one of the N node'"'"'s to send to its respective downstream node in the communications ring, so that the compute distance message is multicasted throughout the communications ring; and
b) inserting, by the manager node, the N+1th node as a new member node in the communications ring responsive to receiving replies to the requesting, wherein the inserting 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 communication ring and communications distances for the muticasted messages tend to be shorter due to the selected location of the N+1th node than would be communications distances that would arise for other possible locations of the N+1th node, wherein b) further includes;
inserting, by the manager node, the N+1th node as a new member node in the communications ring responsive to receiving replies to the requesting, wherein the inserting 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 communication ring and communications distances for the muticasted messages tend to be shorter due to the selected location of the N+1th node than would be communications distances that would arise for other possible locations of the N+1th node. - View Dependent Claims (20)
-
Specification