Push-Pull Based Content Delivery System
First Claim
1. A digital content delivery system that retrieves linear content objects for ordered playback on network nodes upon demand, the system comprising:
- (a) a content pusher that divides a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributes the first group of packages to a first network node and the second group of packages to a second network node; and
(b) a content puller that, in response to a request by a third network node for playback of the first content object, searches for the first and second groups of packages, identifies their respective locations on the first and second network nodes, and retrieves them for ordered playback of the first content object on the third network node;
(c) whereby the digital content delivery system enables the third network node to begin playback of the first content object prior to receiving the second group of packages.
2 Assignments
0 Petitions
Accused Products
Abstract
QoS is built into a peer network within existing Internet infrastructure itself lacking QoS, by enabling a network peer to continuously discern the network'"'"'s ability to deliver to that peer a particular Content Object (distributed in groups of component Packages among neighboring VOD peers) within predetermined times. Content Objects are divided into groups of component Packages and distributed to Clusters of neighboring network peers, enhancing QoS upon subsequent retrieval. Tracking Files (lists of network peers storing Package groups) and Tracking Indexes (lists of network peers storing Tracking Files) are generated to facilitate “on demand” Content Objects retrieval. Dynamically monitoring network traffic (including VOD functionality, bandwidth and reliability) creates “distributed closed-loop feedback,” and in response, attributes of individual network peers (e.g., Trust Level and membership within a particular Cluster) are modified, and “content balancing” functions performed (e.g., redistribution of Package groups among network peers) enables maintaining high QoS.
-
Citations
30 Claims
-
1. A digital content delivery system that retrieves linear content objects for ordered playback on network nodes upon demand, the system comprising:
-
(a) a content pusher that divides a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributes the first group of packages to a first network node and the second group of packages to a second network node; and
(b) a content puller that, in response to a request by a third network node for playback of the first content object, searches for the first and second groups of packages, identifies their respective locations on the first and second network nodes, and retrieves them for ordered playback of the first content object on the third network node;
(c) whereby the digital content delivery system enables the third network node to begin playback of the first content object prior to receiving the second group of packages. - View Dependent Claims (7, 8, 9)
-
-
2. A digital content delivery system that retrieves linear content objects for ordered playback on network nodes upon demand, the system comprising:
-
(a) a content pusher that divides a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributes the first group of packages to a first network node and the second group of packages to a second network node (wherein the first and second nodes are located within a first cluster of network nodes that are relatively proximate to one another); and
(b) a content puller that, in response to a request by a third network node (also located within the first cluster) for playback of the first content object, searches for the first and second groups of packages, identifies their respective locations on the first and second network nodes within the first cluster, and retrieves them for ordered playback of the first content object on the third network node;
(c) whereby the digital content delivery system enables the third network node (i) to begin playback of the first content object prior to receiving the second group of packages, and (ii) to retrieve the first content object for virtually instantaneous and continuous playback (in part due to the presence of the first content object within the first cluster prior to the playback request by the third network node). - View Dependent Claims (10)
-
-
3. A digital content delivery system that retrieves linear content objects for ordered playback on network nodes upon demand, the system comprising:
-
(a) a content pusher that divides a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributes the first group of packages to a first network node and the second group of packages to a second network node;
(b) a content tracker that generates a first tracking file that includes the respective locations of the first and second groups of packages on the first and second network nodes, and a first tracking index that includes the location of one or more network nodes on which the first tracking file is stored; and
(c) a content puller that, in response to a request by a third network node for playback of the first content object, searches for the first and second groups of packages, identifies their respective locations on the first and second network nodes (by locating the first tracking file directly, or indirectly via the first tracking index), and retrieves them for ordered playback of the first content object on the third network node;
(d) whereby the digital content delivery system enables the third network node to begin playback of the first content object prior to receiving the second group of packages. - View Dependent Claims (6)
-
-
4. A digital content delivery system that retrieves linear content objects for ordered playback on network nodes upon demand, the system comprising:
-
(a) a content pusher that divides a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributes the first group of packages to a first network node and the second group of packages to a second network node;
(b) a content puller that, in response to a request by a third network node for playback of the first content object, searches for the first and second groups of packages, identifies their respective locations on the first and second network nodes, and retrieves them for ordered playback of the first content object on the third network node;
(c) a network monitor that observes communications involving the third network node (wherein such communications include behavioral application-specific network traffic as well as general network bandwidth and connection reliability tests); and
(d) a dynamic feedback controller that, in response to the information ascertained by the network monitor, performs one or more of the following tasks;
(i) updates a first set of attributes of the third network node, including a trust level reflecting the reliability of the third network node over time, and (ii) redistributes the first content object among the network nodes by modifying the number and location of copies of one or more packages of the first content object;
(e) whereby the digital content delivery system provides network quality of service (NQoS) by enabling the third network node to discern, in advance of its request for playback of the first content object, the ability of the system to deliver the first content object to the third network node within a predetermined period of time. - View Dependent Claims (11, 12, 13)
-
-
5. A digital content delivery system that retrieves linear content objects for ordered playback on network nodes upon demand, the system comprising:
-
(a) a content pusher that divides a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributes the first group of packages to a first network node and the second group of packages to a second network node; and
(b) a content puller that, in response to a request by a third network node for playback of the first content object, searches for the first and second groups of packages of the first content object, identifies their respective locations on the first and second network nodes, and retrieves them for ordered playback of the first content object on the third network node;
(c) wherein the content pusher also divides a second linear content object (which is an advertisement) into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributes the first group of packages to a fourth network node and the second group of packages to a fifth network node; and
(d) wherein the content puller, in response to the request by the third network node for playback of the first content object, also searches for the first and second groups of packages of the second content object, identifies their respective locations on the fourth and fifth network nodes, and retrieves them for ordered playback of the second content object on the third network node, (e) whereby the digital content delivery system enables the third network node to receive automatically, in response to its request for playback of the first content object, an advertisement which is itself a linear content object (the second content object) and which is distributed by the content pusher and retrieved by the content puller (for playback on the third network node) in substantially the same manner as is the first content object. - View Dependent Claims (14, 15)
-
-
16. A method of retrieving linear content objects for ordered playback on network nodes upon demand, the method including the following steps:
-
(a) dividing a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributing the first group of packages to a first network node and the second group of packages to a second network node; and
(b) in response to a request by a third network node for playback of the first content object, searching for the first and second groups of packages, identifying their respective locations on the first and second network nodes, and retrieving them for ordered playback of the first content object on the third network node;
(c) whereby the method of retrieving linear content objects enables the third network node to begin playback of the first content object prior to receiving the second group of packages. - View Dependent Claims (22, 23, 24)
-
-
17. A method of retrieving linear content objects for ordered playback on network nodes upon demand, the method including the following steps:
-
(a) dividing a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributing the first group of packages to a first network node and the second group of packages to a second network node (wherein the first and second nodes are located within a first cluster of network nodes that are relatively proximate to one another); and
(b) in response to a request by a third network node for playback of the first content object, searching for the first and second groups of packages, identifying their respective locations on the first and second network nodes within the first cluster, and retrieving them for ordered playback of the first content object on the third network node;
(c) whereby the method of retrieving linear content objects enables the third network node (i) to begin playback of the first content object prior to receiving the second group of packages, and (ii) to retrieve the first content object for virtually instantaneous and continuous playback (in part due to the presence of the first content object within the first cluster prior to the playback request by the third network node). - View Dependent Claims (25)
-
-
18. A method of retrieving linear content objects for ordered playback on network nodes upon demand, the method including the following steps:
-
(a) dividing a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributing the first group of packages to a first network node and the second group of packages to a second network node;
(b) generating a first tracking file that includes the respective locations of the first and second groups of packages on the first and second network nodes, and a first tracking index that includes the location of one or more network nodes on which the first tracking file is stored; and
(c) in response to a request by a third network node for playback of the first content object, searching for the first and second groups of packages, identifying their respective locations on the first and second network nodes (by locating the first tracking file directly, or indirectly via the first tracking index), and retrieving them for ordered playback of the first content object on the third network node;
(d) whereby the method of retrieving linear content objects enables the third network node to begin playback of the first content object prior to receiving the second group of packages. - View Dependent Claims (21)
-
-
19. A method of retrieving linear content objects for ordered playback on network nodes upon demand, the method including the following steps:
-
(a) dividing a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributing the first group of packages to a first network node and the second group of packages to a second network node;
(b) in response to a request by a third network node for playback of the first content object, searching for the first and second groups of packages, identifying their respective locations on the first and second network nodes, and retrieving them for ordered playback of the first content object on the third network node;
(c) observing communications involving the third network node (wherein such communications include behavioral application-specific network traffic as well as general network bandwidth and connection reliability tests); and
(d) performing, in response to the information ascertained by the observation of communications involving the third network node, one or more of the following tasks;
(i) updating a first set of attributes of the third network node, including a trust level reflecting the reliability of the third network node over time, and (ii) redistributing the first content object among the network nodes by modifying the number and location of copies of one or more packages of the first content object;
(e) whereby the method of retrieving linear content objects provides network quality of service (NQoS) by enabling the third network node to discern, in advance of its request for playback of the first content object, the ability of the system to deliver the first content object to the third network node within a predetermined period of time. - View Dependent Claims (26, 27, 28)
-
-
20. A method of retrieving linear content objects for ordered playback on network nodes upon demand, the method including the following steps:
-
(a) dividing a first linear content object into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributing the first group of packages to a first network node and the second group of packages to a second network node; and
(b) in response to a request by a third network node for playback of the first content object, searching for the first and second groups of packages of the first content object, identifying their respective locations on the first and second network nodes, and retrieving them for ordered playback of the first content object on the third network node;
(c) dividing a second linear content object (which is an advertisement) into first and second groups of component packages (wherein the first group of packages occurs prior in sequence to the second group of packages), and distributing the first group of packages to a fourth network node and the second group of packages to a fifth network node; and
(d) in response to the request by the third network node for playback of the first content object, searching for the first and second groups of packages of the second content object, identifying their respective locations on the fourth and fifth network nodes, and retrieving them for ordered playback of the second content object on the third network node, (e) whereby the method of retrieving linear content objects enables the third network node to receive automatically, in response to its request for playback of the first content object, an advertisement which is itself a linear content object (the second content object) and which is distributed and retrieved (for playback on the third network node) in substantially the same manner as is the first content object. - View Dependent Claims (29, 30)
-
Specification