Method and apparatus for a fault resilient collaborative media serving array
First Claim
Patent Images
1. A system for delivering content, the system comprising:
- a. a plurality of nodes comprising at least a first node and a second node, wherein each node of the plurality of nodes comprises a memory and a processor;
b. content file that has been partitioned into an ordered list of parts comprising at least a first part and a second part, wherein the first part is stored in the memory of the first node and the second part is stored in the memory of the second node; and
c. a client device for receiving the parts over a network, wherein the first node and the second node are synchronized to send the first part and the second part to the client device in-order over the network.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide methods, systems, and apparatuses for a fault resilient collaborative media serving array comprising a plurality of nodes. In one embodiment, the present invention provides a method for creating a fault resilient collaborative media serving array where the array nodes do not share memory, the serving of a content file is accomplished by the collaborative efforts of many nodes in the array, and where there is no fixed allocation of sessions to nodes.
199 Citations
78 Claims
-
1. A system for delivering content, the system comprising:
-
a. a plurality of nodes comprising at least a first node and a second node, wherein each node of the plurality of nodes comprises a memory and a processor; b. content file that has been partitioned into an ordered list of parts comprising at least a first part and a second part, wherein the first part is stored in the memory of the first node and the second part is stored in the memory of the second node; and c. a client device for receiving the parts over a network, wherein the first node and the second node are synchronized to send the first part and the second part to the client device in-order over the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A node for delivering content to a user, wherein the content is partitioned into an ordered list of parts with one or more parts allocated to each of a plurality of nodes so that the user can play the parts in the order that they are received, the node comprising:
-
a. a stream pump for sending one or more parts in-order to the user over a downstream network; b. a processor for determining when the node should send the one or more over the downstream network; c. a first communications interface for connecting the stream pump to the downstream network; and d. a data retriever for receiving the one or more parts allocated to the node. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for delivering content over a network, comprising the steps of:
-
a. partitioning the content into an ordered list of parts; b. allocating the parts among a plurality of nodes; c. synchronizing the plurality of nodes so that the parts can be sent in-order from the plurality of nodes to the user; and d. delivering the content to the user by sending the parts in-order from the plurality of nodes over the network to the user. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A method for sending content to a user, comprising the steps of:
-
a. partitioning the content into an ordered list of parts comprising a first part and a second part; b. allocating the first part to a first node; c. allocating the second part to a second node; d. sending the first part from the first node to the user; e. determining which of a plurality of nodes is the second node; f. indicating to the second node that it should send the second part to the user; and g. sending the second part from the second node to the user. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61)
-
-
62. A method for recovering from fault in a content serving array comprising at least a first node, a second node, and a third node, the method comprising the steps of:
-
a. partitioning the content into an ordered list of parts comprising at least a first part and a second part; b. allocating the first part to the first node; c. allocating the second part to the second node; d. indicating to the first node that it should send the first part to a client device; e. failing to receive by the second node an indication that the first node has sent the first part to the client device; f. indicating to the third node that it should send the first part to the client device; g. sending by the third node the first part to the client device; and h. sending by the second node the second part to the client device. - View Dependent Claims (63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
Specification