Method and system for scheduled streaming of best effort data
First Claim
1. A method for communicating files using a plurality of control nodes comprising the steps of:
- (a) one control node, of a plurality of control nodes, designating itself to be a primary control node, and at least one other control node designating itself to be an assistant control node, each designation being undetermined until the control node making the respective designation is started,(b) establishing a connection between the primary control node and each assistant control node,(c) scheduling at least one job for execution, including at least one transmit job for transmitting, from one of the control nodes to at least one client node that is different from the control nodes on a specific channel at a specific time, a program comprising a group of one or more files that can be used by the client node, and program information specifying a manner by which the client node can use the files, the channel being a distinct path for communicating a program and having channel information specifying one of plural different ways for communicating the program to the client node, wherein said scheduling step includes designating, for each said respective job, respective time information indicative of at least one fixed execution time at which said respective job is to be executed,(d) if one of the scheduled jobs is to be executed by one of the assistant control nodes, issuing one or more messages from the primary control node to the one assistant control node for causing the assistant control node to execute the job, and(e) a designated control node executing the scheduled transmit job by, at the scheduled time of the job, communicating at least one program of the job, via the particular channel of the job, to at least one client node.
9 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
22 Claims
-
1. A method for communicating files using a plurality of control nodes comprising the steps of:
-
(a) one control node, of a plurality of control nodes, designating itself to be a primary control node, and at least one other control node designating itself to be an assistant control node, each designation being undetermined until the control node making the respective designation is started, (b) establishing a connection between the primary control node and each assistant control node, (c) scheduling at least one job for execution, including at least one transmit job for transmitting, from one of the control nodes to at least one client node that is different from the control nodes on a specific channel at a specific time, a program comprising a group of one or more files that can be used by the client node, and program information specifying a manner by which the client node can use the files, the channel being a distinct path for communicating a program and having channel information specifying one of plural different ways for communicating the program to the client node, wherein said scheduling step includes designating, for each said respective job, respective time information indicative of at least one fixed execution time at which said respective job is to be executed, (d) if one of the scheduled jobs is to be executed by one of the assistant control nodes, issuing one or more messages from the primary control node to the one assistant control node for causing the assistant control node to execute the job, and (e) a designated control node executing the scheduled transmit job by, at the scheduled time of the job, communicating at least one program of the job, via the particular channel of the job, to at least one client node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A control node comprising:
-
a processor, and a communication device connected to the processor, wherein the processor is operable to designate the control node, itself, to be a primary control node or to designate the control node, itself, to be an assistant control node, the designation being undetermined until the control node is started, wherein, when the processor designates the control node to be the primary control node; the processor and the communication device are operable to establish a connection with each of one or more assistant control nodes, the processor is operable to schedule at least one job for execution including at least one transmit job for transmitting from one of the control nodes to at least one client node that is different from the control nodes, on a specific channel at a specific time, a program comprising a group of one or more files that can be used by the client node, and program information specifying a manner by which the client node can use the files, the channel being a distinct path for communicating a program and having channel information specifying one of plural different ways for communicating the program to the client node, wherein said processor is operable to schedule said at least one job for execution by operations including designating, for each said respective job, respective time information indicative of at least one fixed execution time at which said respective job is to be executed, and if one of the scheduled jobs is to be executed by one of the assistant control nodes, the communications device is operable to issue one or more messages from the primary control node to the one assistant control node for causing the assistant control node to execute the job, and wherein, when the processor designates the control node to be the assistant control node; the processor and communication device are operable to establish a connection with the primary control node, and the processor and communication device are operable to execute the scheduled transmit job by, at the scheduled time of the job, communicating at least one program of the job, via the particular channel of the job to at least one client node. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method of controlling job execution at a control node comprising the steps of:
-
(a) the control node designating itself to be either a primary control node or an assistant control node, the designation being undetermined until the control node is started, (b) if the control node is ehesen designated to be the primary control node; (b1) establishing a connection with each of one or more assistant control nodes, (b2) scheduling at least one job for execution including at least one transmit job for transmitting from one of the control nodes to at least one client node that is different from the control nodes, on a specific channel at a specific time, a program comprising a group of one or more files that can be used by the client node, and program information specifying a manner by which the client node can use the files, the channel being a distinct path for communicating a program and having channel information specifying one of plural different ways for communicating the program to the client node, wherein said scheduling step includes designating, for each said respective job, respective time information indicative of at least one fixed execution time at which said respective job is to be executed, and (b3) if one of the scheduled jobs is to be executed by one of the assistant control nodes, issuing one or more messages to the one assistant control node for causing the assistant control node to execute the job, and (c) if the control node is designated to be the assistant control node; (c1) establishing a connection with the primary control node, and (c2) executing a scheduled transmit job by, at the scheduled time of the job, communicating at least one program of the job, via the particular channel of the job, to at least one client node. - View Dependent Claims (19, 20, 21, 22)
-
Specification