System and method for distributing streaming content through cooperative networking
First Claim
1. A computer-readable medium having computer-executable instructions for a network server to perform steps for distributing streaming media content to a plurality of clients over a network, comprising:
- forming multiple distinct distribution trees, each distribution tree having the server as its root and clients as its nodes;
dividing the streaming media content into multiple sub-streams, each sub-stream corresponding to one of the distribution trees; and
transmitting the sub-streams down the respective distribution trees.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for distributing streaming content data from a server to multiple clients enables the server to handle transient surges of requests by having the clients cooperate with the server and other clients to distribute content, thereby alleviating the load on the server. The server divides the streaming content into multiple sub-streams (e.g., by using multiple description coding), and constructs multiple distribution trees with itself at the root and each client as a node in each of the trees. Each sub-stream is transmitted down a corresponding one of the distribution trees. Clients that receive sub-streams from its parent nodes in the distribution trees in turn forward the sub-streams to their child nodes in the trees.
-
Citations
30 Claims
-
1. A computer-readable medium having computer-executable instructions for a network server to perform steps for distributing streaming media content to a plurality of clients over a network, comprising:
-
forming multiple distinct distribution trees, each distribution tree having the server as its root and clients as its nodes;
dividing the streaming media content into multiple sub-streams, each sub-stream corresponding to one of the distribution trees; and
transmitting the sub-streams down the respective distribution trees. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium having computer-executable instructions for a client on a network to performs steps to receive streaming media content distributed by a server, comprising:
-
receiving a plurality of sub-streams of the streaming media content from respective peer clients, each of said peer clients serving as a parent node of the client in one of a plurality of distinct distribution trees each for distributing a corresponding sub-stream; and
reconstructing the streaming media content from the received sub-streams. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of distributing streaming media content from a server to a plurality of clients over a network, comprising:
-
forming, by the server, multiple distinct distribution trees, each distribution tree having the server as its root and the clients as its nodes;
dividing, by the server, the streaming media content into multiple sub-streams, each sub-stream corresponding to one of the distribution trees;
transmitting, by the server, the sub-streams down the respective distribution trees;
receiving, by each client, the sub-streams from its parent nodes in the distribution trees;
reconstructing, by said each client, the streaming media content from the received sub-streams; and
forwarding, by each client that has child nodes in the distribution trees, sub-streams received by said each client through the distribution trees to the child nodes in the respective distribution trees. - View Dependent Claims (26, 27, 28, 29, 30)
-
Specification