Methods and apparatus for managing data distribution in a network
First Claim
1. In a transferring node, a method for distributing data in an overlay network based on logical relationships, said overlay network including a hierarchical network of nodes, said overlay network implemented as an abstraction on top of an existing network based on other connections, the method comprising the steps of:
- receiving at the transferring node a collection of data from a provider node in the hierarchical network of nodes;
transferring a copy of the collection of data to a child node of the transferring node in the hierarchical network of nodes in response to the step of receiving the collection of data; and
storing the collection of data in a data storage in the transferring node after completing the step of transferring the copy of the collection of data;
wherein the collection of data represents content distributed as a stream of packets to the hierarchical network from a source node, and wherein;
the step of receiving the collection of data comprises receiving the stream of packets in a buffer;
the step of transferring the copy of the collection of data comprises propagating the stream of packets from the buffer to descendent nodes of the transferring node for access by a first client making a first request for the collection of data from the descendent node; and
the step of storing the collection of data comprises transferring the stream of packets from the buffer to the data storage in the transferring node in a manner enabling access to the collection of data by a second client making a second request for the collection of data.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention is directed to techniques for managing data distribution in a network. A source or root node distributes data (e.g., video data) throughout a network of nodes by distributing data from parent to child through a tree of nodes. The nodes distribute the data through the network concurrently in a real-time manner, but retain copies of the data in nonvolatile data storage on each node. Thus, the data remains accessible on each node so that the data is available after the real-time distribution of the data. After the real-time distribution of the data, a new node can attach to any of the nodes currently in the network as a child of that node, and then the new node can request a copy of the data from the data storage of that parent node.
-
Citations
37 Claims
-
1. In a transferring node, a method for distributing data in an overlay network based on logical relationships, said overlay network including a hierarchical network of nodes, said overlay network implemented as an abstraction on top of an existing network based on other connections, the method comprising the steps of:
-
receiving at the transferring node a collection of data from a provider node in the hierarchical network of nodes; transferring a copy of the collection of data to a child node of the transferring node in the hierarchical network of nodes in response to the step of receiving the collection of data; and storing the collection of data in a data storage in the transferring node after completing the step of transferring the copy of the collection of data; wherein the collection of data represents content distributed as a stream of packets to the hierarchical network from a source node, and wherein; the step of receiving the collection of data comprises receiving the stream of packets in a buffer; the step of transferring the copy of the collection of data comprises propagating the stream of packets from the buffer to descendent nodes of the transferring node for access by a first client making a first request for the collection of data from the descendent node; and the step of storing the collection of data comprises transferring the stream of packets from the buffer to the data storage in the transferring node in a manner enabling access to the collection of data by a second client making a second request for the collection of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 24, 25, 29, 30)
-
-
12. A computer system for distributing data in an overlay network based on logical relationships, said overlay network including an hierarchical network of nodes, said overlay network implemented as a network abstraction on top off an existing network based on other connections, the computer system comprising:
-
a memory; a data storage; a network interface in communication with the memory and the data storage; and a processor in communication with the memory, the data storage, and the network interface, wherein the memory is encoded with logic instructions for a data manager application that, when performed on the processor, cause the processor to form a data manager that manages the distribution of data in the hierarchical network by performing operations of; receiving a collection of data at a transferring node from a provider node in the hierarchical network of nodes; transferring a copy of the collection of data to a child node of the transferring node in the hierarchical network of nodes in response to the step of receiving the collection of data; and storing the collection of data in a data storage at the transferring node after completing the transferring of the copy of the collection of data; and further comprising a buffer; and wherein the collection of data represents content distributed a stream of packets to the hierarchical network from a source node and the logic instructions for the data manager application comprise further logic instructions, that, when performed on the processor, cause the data manager to perform operations of; receiving the stream of packets in the buffer; propagating the stream of packets from the buffer to descendent nodes of the transferring node for access by a first client making a first request for the collection of data from the descendent node; and transferring the stream of packets from the buffer to the data storage in the transferring node in a manner enabling access to the collection of data by a second client making a second request for the collection of data. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 26, 27, 31, 32)
-
-
22. A computer program product that includes a computer readable medium having instructions stored thereon for distributing data in an overlay network based on logical relationships, said overlay network including an hierarchical network, the overlay network implemented as a network abstraction on top of an existing network based on other connections, such that the instructions, when carried out by a computer, cause the computer to perform steps of:
-
receiving a collection of data at a transferring node from a provider node in the hierarchical network of nodes; transferring a copy of the collection of data to a child node of the transferring node in the hierarchical network of nodes in response to the step of receiving the collection of data; and storing the collection of data in a data storage at the transferring node after completing the step of transferring the copy of the collection of data wherein the collection of data represents content distributed as a stream of packets to the hierarchical network from a source node, and wherein; the step of receiving the collection of data comprises receiving the stream of packets in a buffer; the step of transferring the copy of the collection of data comprises propagating the stream of packets from the buffer to descendent nodes of the transferring node for access by a first client making a first request for the collection of data from the descendent node; and the step of storing the collection of data comprises transferring the stream of packets from the buffer to the data storage in the transferring node in a manner enabling access to the collection of data by a second client making a second request for the collection of data. - View Dependent Claims (28, 33, 34)
-
-
23. A computer system for distributing data in an overlay network based on logical relationships, said overlay network including an hierarchical network of nodes, the overlay network implemented as a network abstraction on top off an existing network based on other connections, the computer system comprising:
-
means for receiving a collection of data at a transferring node from a provider node in the hierarchical network of nodes; means for transferring a copy of the collection of data to a child node of the transferring node in the hierarchical network of nodes in response to the step of receiving the collection of data; and means for storing the collection of data in a data storage at the transferring node after completing the step of transferring the copy of the collection of data; and wherein the collection of data represents content distributed as a stream of packets to the hierarchical network from a source node, and wherein; the receiving means includes means for receiving the stream of packets in a buffer; the transferring means includes means for propagating the stream of packets from the buffer to descendent nodes of the transferring node for access by a first client making a first request for the collection of data from the descendent node; and the storing means includes means for transferring the stream of packets from the buffer to the data storage in the transferring node in a manner enabling access to the collection of data by a second client making a second request for the collection of data. - View Dependent Claims (35, 36)
-
-
37. In a transferring node, a method for distributing data in an overlay network based on logical relationships, said overlay network including a hierarchical network of nodes, said overlay network implemented as an abstraction on top of an existing network based on other connections, the method comprising the steps of:
-
receiving at the transferring node a collection of data from a provider node in the overlay network including a hierarchical network of nodes, said overlay network implemented as an abstraction on top of an existing network based on other connections; transferring a copy of the collection of data to a child node of the transferring node in the overlay network including a hierarchical network of nodes in response to the step of receiving the collection of data; and storing the collection of data in a data storage in the transferring node after completing the step of transferring the copy of the collection of data; wherein the collection of data represents content distributed as a stream of packets to the hierarchical network from a source node, and wherein; the step of receiving the collection of data comprises receiving the stream of packets in a buffer; the step of transferring the copy of the collection of data comprises propagating the stream of packets from the buffer to descendent nodes of the transferring node for access by a first client making a first request for the collection of data from the descendent node; and the step of storing the collection of data comprises transferring the stream of packets from the buffer to the data storage in the transferring node in a manner enabling access to the collection of data by a second client making a second request for the collection of data.
-
Specification