Data transmission
First Claim
1. A method for determining the capacities of communication links connecting recipients to a source, comprising:
- (A) determining which recipients are connected to the source by the communication links;
(B) transmitting frames of data from the source to the recipients determined in step (A) at a predetermined rate over the communication links;
(C) receiving acknowledgments from the recipients determined in step (A), the acknowledgments including indications of frames requiring retransmission;
(D) storing, at the source, the acknowledgments and the predetermined rate;
(E) repeating steps (B), (C), (D), and (E) for a different predetermined rate until steps (B), (C), (D), and (E) have been repeated a predetermined number of times; and
(F) determining capacity of one or more of the communication links from information stored at the source.
8 Assignments
0 Petitions
Accused Products
Abstract
A data transmission method quickly and reliably transfers data (e.g., a computer file) from a source to recipients. While the frames are being transmitted, negative acknowledgments from recipients are received by the source. These acknowledgments indicate which frames require retransmission. After all frames have been transmitted out, a retransmission is performed by the source for only those frames which the acknowledgments indicate require retransmission. Additional retransmissions can occur. This multi-pass data transfer technique requires only negative acknowledgements to be sent by the recipients. Features include the ability to set the transmission rate and to define multicast groups. Also, it is possible to determine the capacity of links of unknown capacity using a "multicast network probe" feature of the invention, and to determine the frame error rates of known-capacity links by utilizing the same feature. A "multicast ping" feature of the invention can be used to determine the connectivity between a source and members of a multicast group. "Speed groups" can be set up after determining link capacities, or if they are already known, whereby the recipients connected to the source by the fastest links receive all of the data while slower-link recipients receive only a portion of the data, on the first pass. The number of recipients which can receive the data from the source can be greatly increased by using a "negative acknowledgement collection" scheme whereby "replication points" (preferably routers) collect individual negative acknowledgements and forward them as a unit to the next level.
-
Citations
23 Claims
-
1. A method for determining the capacities of communication links connecting recipients to a source, comprising:
-
(A) determining which recipients are connected to the source by the communication links; (B) transmitting frames of data from the source to the recipients determined in step (A) at a predetermined rate over the communication links; (C) receiving acknowledgments from the recipients determined in step (A), the acknowledgments including indications of frames requiring retransmission; (D) storing, at the source, the acknowledgments and the predetermined rate; (E) repeating steps (B), (C), (D), and (E) for a different predetermined rate until steps (B), (C), (D), and (E) have been repeated a predetermined number of times; and (F) determining capacity of one or more of the communication links from information stored at the source. - View Dependent Claims (2, 3)
-
-
4. A method for transmitting data, comprising:
-
(a) partitioning the data into one or more blocks wherein each block comprises one or more packets and each packet comprises one or more bits, said partitioning comprising setting the number of packets per block to be approximately equal to the maximum number of available bits per packet; (b) transmitting all of the packets in one of the blocks to one or more recipients; (c) receiving, from one or more of the recipients, indications of packets in the transmitted block that require retransmission, each indication associated with a different one of the recipients and comprising a bitmap contained within a packet wherein the bitmap comprises a number of bits approximately equal to the maximum number of available bits in the packet and each bit of the bitmap represents a different one of the packets in the transmitted block; and (d) retransmitting only those packets requiring retransmission. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification