Method and system for scheduled streaming of best effort data
5 Assignments
0 Petitions
Accused Products
Abstract
A system is provided for controlling the transmission of best-effort filed data or programs on channels from one of plural controllers to one or more client nodes. A program is a group of files and has program information indicating to a client node how to use the files of the program. A channel is a virtual path, wherein a client node can receive program files from different channels in a separable fashion. Channels also have channel information. Multiple controllers are provided which self configure in rank order to control the scheduled transmission of programs files on channels. Client nodes receive announcements of programs and channels from the controllers and selectively subscribe to the channels and programs. Client nodes can be instructed to positively acknowledge receipt of programs and also send back negative acknowledgements for ranges of data words in program files not received. The negative acknowledgements can be consolidated to reduce the number of packets on the network. The format of packets carrying program files and acknowledgement/negative acknowledgement messages are specified.
-
Citations
87 Claims
-
1-29. -29. (canceled)
-
30. A packet comprising:
-
(a) a source port field, (b) a destination port field, (c) an options type field containing one of the following values;
(1) an ANAK value indicating that the packet is an asynchronous negative acknowledgement list packet indicating failure to receiving a list of original data segments in other packets, or (2) an ACK value indicating that the packet is a positive acknowledgement packet acknowledging receipt of original data in other packets, and (d) a sequence number field containing a value that does not indicate any specific original data packet. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A method for acknowledging a failure of a client node to receive portions of a program from a channel, each program being a group of one or more files and related program information specifying how to use the files, each channel being a distinct path from which a program can be received such that programs received from each channel are distinctly separable, the method comprising:
-
(a) preparing to receive original data of one or more files of a program from a particular channel, (b) determining that plural ranges of data words of the original data were not received, (c) generating a single packet indicating that the plural ranges of data words were not received, and (d) transmitting the single packet on a return path to another node capable of causing the plural ranges of data words to be retransmitted. - View Dependent Claims (36, 37, 38, 39)
-
-
40. A method for retransmitting portions of a program from a channel, each program being a group of one or more files and related program information specifying how to use the files, each channel being a distinct path from which a program can be received such that programs received from each channel are distinctly separable, the method comprising:
-
(a) receiving, at a network element on a return path between one or more client nodes and a source, of original data of one or more files of a program transmittable on a particular channel, an ANAK packet negatively acknowledging receipt of one or more ranges of data words of one or more of the files of the program, (b) storing information pertinent to the received packet, (c) starting a timer for the ANAK packet, (d) if, before expiration of the timer, another ANAK packet is received which negatively acknowledges receipt of one or more ranges of data words that intersect the ranges of data words of a previously received ANAK packet, the network element consolidating the ranges of the another and previously received ANAK packets, and selectively resetting the timer, and (e) if the timer expires, the network element causing the retransmission of all ranges of original data in the consolidated ranges. - View Dependent Claims (41, 42, 43, 44, 45)
-
-
46. A method for transmitting original data reliably comprising the steps of:
-
(a) transmitting a plurality of packets containing original data of a file from a source node to one or more client nodes on a forward path from the source node to the client nodes, (b) receiving one or more negative acknowledgement packets indicating that one or more ranges of data words were not received by at least one client node, and (c) multicast retransmitting each of the plurality of packets containing the original data in each range indicated by the one or more packets. - View Dependent Claims (47, 48, 49, 50)
-
-
51. A method for communicating information from a source node to one or more client nodes comprising the step of providing a packet comprising:
-
(a) a source port field, (b) a destination port field, (c) an options type field containing one of the following values;
(1) an ANAK value indicating that the packet is an asynchronous negative acknowledgement list packet indicating failure to receiving a list of original data segments in other packets, or (2) an ACK value indicating that the packet is a positive acknowledgement packet acknowledging receipt of original data in other packets, and a sequence number field containing a value that does not indicate any specific original data packet. - View Dependent Claims (52, 53, 54)
-
-
55-68. -68. (canceled)
-
69. Apparatus for acknowledging a failure of a client node to receive portions of a program from a channel, each program being a group of one or more files and related program information specifying how to use the files, each channel being a distinct path from which a program can be received such that programs received from each channel are distinctly separable, the apparatus comprising:
-
(h) a receiver for receiving original data of one or more files of a program from a particular channel, (i) a controller for determining that plural ranges of data words of the original data were not received, (j) a generator for generating a single packet indicating that the plural ranges of data words were not received, and (k) a transmitter for transmitting the single packet on a return path to another node capable of causing the plural ranges of data words to be retransmitted. - View Dependent Claims (70, 71, 72, 73)
-
-
74. Apparatus for retransmitting portions of a program from a channel, each program being a group of one or more files and related program information specifying how to use the files, each channel being a distinct path from which a program can be received such that programs received from each channel are distinctly separable, the apparatus comprising:
-
a receiver for receiving, at a network element on a return path between one or more client nodes and a source, original data of one or more files of a program transmittable on a particular channel, and an ANAK packet negatively acknowledging receipt of one or more ranges of data words of one or more of the files of the program, a memory for storing information pertinent to the received packet, a timer, said timer being started for the ANAK packet, wherein if, before expiration of the timer, another ANAK packet is received which negatively acknowledges receipt of one or more ranges of data words that intersect the ranges of data words of a previously received ANAK packet, the network element consolidates the ranges of the other and previously received ANAK packets, and selectively resets the timer, and wherein if the timer expires, the network element causes the retransmission of all ranges of original data in the consolidated ranges. - View Dependent Claims (75, 76, 77, 78, 79)
-
-
80. Apparatus for transmitting original data reliably, comprising:
-
a transmitter for transmitting a plurality of packets containing original data of a file from a source node to one or more client nodes on a forward path from the source node to the client nodes, a receiver for receiving one or more negative acknowledgement packets indicating that one or more ranges of data words were not received by at least one client node, wherein said transmitter multicast retransmits each of the plurality of packets containing the original data in each range indicated by the one or more packets. - View Dependent Claims (81, 82, 83, 84)
-
-
85. Apparatus for communicating information from a source node to one or more client nodes, said apparatus providing a packet comprising:
-
a source port field, a destination port field, an options type field containing one of the following values;
an ANAK value indicating that the packet is an asynchronous negative acknowledgement list packet indicating failure to receiving a list of original data segments in other packets, or an ACK value indicating that the packet is a positive acknowledgement packet acknowledging receipt of original data in other packets, and a sequence number field containing a value that does not indicate any specific original data packet. - View Dependent Claims (86, 87)
-
-
86-1. The apparatus of claim 85 wherein the packet is located at a network element node between a client node which is to receive the original data and a source node which transmitted the original data.
Specification