Streaming of data
First Claim
1. A method of optimizing data streaming in a peer-to-peer architecture including a plurality of clients in a chain, the method comprising:
- each client monitoring its own bandwidth;
each client informing a succeeding client in the chain of that bandwidth;
each client comparing its own bandwidth with the bandwidth of a preceding client in the chain; and
each client, in response to a difference between the compared bandwidths, reordering its position among the clients in the chain.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of optimizing data streaming in a peer-to-peer architecture that comprises a plurality of clients in a chain, a peer-to-peer data streaming system having such architecture, and a client terminal for use in that system. Each client monitors its own bandwidth, informs a succeeding client in the chain of that bandwidth, compares its own bandwidth with the bandwidth of a preceding client in the chain and, in response to a difference between the compared bandwidths, reorders its position among the clients in the chain. The chain thus dynamically self-organizes itself to stream data more efficiently and with higher, more reliable throughput, reducing the processing power necessary to stream the data and enabling higher quality to be achieved within the existing internet infrastructure. This also solves the ‘bottle-neck’ problem within the cascaded streaming path by continuously organizing the participating terminals into the most efficient configuration, without interrupting the streamed data.
-
Citations
26 Claims
-
1. A method of optimizing data streaming in a peer-to-peer architecture including a plurality of clients in a chain, the method comprising:
-
each client monitoring its own bandwidth;
each client informing a succeeding client in the chain of that bandwidth;
each client comparing its own bandwidth with the bandwidth of a preceding client in the chain; and
each client, in response to a difference between the compared bandwidths, reordering its position among the clients in the chain. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
16. A peer-to-peer data streaming system comprising:
a plurality of clients in a chain, each client including bandwidth-monitoring means for monitoring its own bandwidth, communication means for informing a succeeding client in the chain of that bandwidth, comparison means for comparing its own bandwidth with the bandwidth of a preceding client in the chain, and reconfiguration means responsive to a difference between the compared bandwidths to reorder its position among the clients in the chain.
-
25. A client terminal for use in a peer-to-peer data streaming system having a plurality of client terminals in a chain, the client terminal being configured or programmed to include bandwidth-monitoring means for monitoring its own bandwidth, communication means for informing a succeeding client terminal in the chain of that bandwidth, comparison means for comparing its own bandwidth with the bandwidth of a preceding client terminal in the chain, and reconfiguration means responsive to a difference between compared bandwidths to reorder its position among the client terminals in the chain.
-
26. A program storage medium readable by a computer having a memory, the medium tangibly embodying one or more programs of instructions executable by the computer to perform method steps for configuring or programming a client terminal for use in a peer-to-peer data streaming system having a plurality of client terminals in a chain, the method steps comprising the steps of:
-
configuring or programming the client terminal to monitor its own bandwidth;
configuring or programming the client terminal to inform a succeeding client terminal in the chain of that bandwidth;
configuring or programming the client terminal to compare its own bandwidth with the bandwidth of a preceding client terminal in the chain; and
configuring or programming the client terminal to reorder its position among the client terminals in the chain based upon a difference between compared bandwidths.
-
Specification