Method and apparatus for group communication with end-to-end reliability
First Claim
1. A method for delivering data packets from a source node to a plurality of end-system nodes in a multicast overlay network tree with scalable group communication throughput and end-to-end reliability, the method comprising:
- providing at least one backup buffer in each one of a group of end-system nodes in the multicast network tree;
storing copies of data packets transferred from an input buffer to an output buffer in one of the group of end-system nodes in the backup buffer;
sizing the back-up buffer in accordance with maximum sizes of the input and output buffers and a number of simultaneous end-system node failures to be accommodated in the multicast overlay network; and
preventing data packet losses between end-system nodes in the multicast overlay tree using communication protocols or backpressure mechanisms.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention addresses scalability and end-to-end reliability in overlay multicast networks. A simple end-system multicast architecture that is both scalable in throughput and reliable in an end-to-end way is used. In this architecture, the transfers between nodes use TCP with backpressure mechanisms to provide data packet transfers between intermediate nodes having finite-size forwarding buffers. There is also a finite-size backup buffer in each node to store copies of packets which are copied out from the receiver window to the forwarding buffers. These backup buffers are used when TCP connections are re-established to supply copies of data packets for the children nodes after their parent node fails, maintaining a complete sequence of data packets to all nodes within the multicast overlay network. The architecture provides end-to-end reliability, tolerates multiple simultaneous node failures and provides positive throughput for any group size and any buffer size.
-
Citations
44 Claims
-
1. A method for delivering data packets from a source node to a plurality of end-system nodes in a multicast overlay network tree with scalable group communication throughput and end-to-end reliability, the method comprising:
-
providing at least one backup buffer in each one of a group of end-system nodes in the multicast network tree; storing copies of data packets transferred from an input buffer to an output buffer in one of the group of end-system nodes in the backup buffer; sizing the back-up buffer in accordance with maximum sizes of the input and output buffers and a number of simultaneous end-system node failures to be accommodated in the multicast overlay network; and preventing data packet losses between end-system nodes in the multicast overlay tree using communication protocols or backpressure mechanisms. - View Dependent Claims (2, 3, 4)
-
-
5. A method for delivering data packets from a source node to a plurality of end-system nodes in a multicast overlay tree with scalable group communication throughput and end-to-end reliability, the method comprising:
-
providing at least one backup buffer in each one of a group of end-system nodes in the multicast network tree; storing copies of data packets transferred from an input buffer to an output buffer in one of the group of end-system nodes in the backup buffer; sizing the back-up buffer in accordance with maximum sizes of the input and output buffers and a number of simultaneous end-system node failures to be accommodated in the multicast overlay network; detecting at least one end-system node failure in the multicast overlay tree; and reconnecting orphaned end-system nodes created by the failure of the one end-system node to the multicast overlay tree to provide reliable data packet transfer to all remaining end-system nodes in the multicast overlay tree while maintaining the delivery of a complete sequence of data packets from the source node to each one of the remaining end-system nodes. - View Dependent Claims (6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
7. The method of clam 5, further comprising using overlay tree topology stored in one or more end-system nodes to facilitate reconnecting the orphaned end-system nodes to the multicast overlay tree.
-
24. A method for delivering data packets from a source node to a plurality of end-system nodes in an multicast overlay tree with scalable group communication throughput and end-to-end reliability, the method comprising:
-
providing at least one backup buffer in each one of a group of end-system nodes in the multicast network tree; storing copies of data packets transferred from an input buffer to an output buffer in one of the group of end-system nodes in the backup buffer; sizing the back-up buffer in accordance with maximum sizes of the input and output buffers and a number of simultaneous end-system node failures to be accommodated in the multicast overlay network; preventing data packet losses between end-system nodes in the multicast overlay tree using communication protocols or backpressure mechanisms; detecting at least one end-system node failure in the multicast overlay tree; and reconnecting orphaned end-system nodes created by the failure of the one end-system node to the multicast overlay tree to provide reliable data packet transfer to all remaining end-system nodes in the multicast overlay tree while maintaining the delivery of a complete sequence of data packets from the source node to each one of the remaining end-system nodes. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer readable medium encoded with computer executable instructions, the computer executable instructions when read by a computer causes the computer to perform a method for delivering data packets from a source node to a plurality of end-system nodes in a multicast overlay tree with scalable group communication throughput and end-to-end reliability, the method comprising:
-
providing at least one backup buffer in each one of a group of end-system nodes in the multicast network tree; storing copies of data packets transferred from an input buffer to an output buffer in one of the group of end-system nodes in the backup buffer; sizing the back-up buffer in accordance with maximum sizes of the input and output buffers and a number of simultaneous end-system node failures to be accommodated in the multicast overlay network; and preventing data packet losses between end-system nodes in the multicast overlay tree using communication protocols or backpressure mechanisms. - View Dependent Claims (35, 36)
-
-
37. A computer readable medium encoded with computer executable institutions, the computer executable instructions when read by a computer causes the computer to perform a method for delivering data packets from a source node to a plurality of end-system nodes in a multicast overlay tree with scalable group communication throughput and end-to-end reliability, the method comprising:
- providing at least one backup buffer in each one of a group of end-system nodes in the multicast network tree;
storing copies of data packets transferred from an input buffer to an output buffer in one of the group of end-system nodes in the backup buffer; sizing the back-up buffer in accordance with maximum sizes of the input and output buffers and a number of simultaneous end-system node failures to be accommodated in the multicast overlay network; and detecting at least one end-system node failure in the multicast overlay tree; and reconnecting orphaned end-system nodes created by the failure of the one end-system node to the multicast overlay tree to provide reliable data packet transfer to all remaining end-system nodes in the multicast overlay tree while maintaining the delivery of a complete sequence of data packets from the source node to each one of the remaining end-system nodes. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44)
- providing at least one backup buffer in each one of a group of end-system nodes in the multicast network tree;
Specification