ASYNCHRONOUS DATA STREAMING IN A PEER TO PEER NETWORK
First Claim
1. A method of data streaming over a Peer-to-Peer network including agents, each one of the agents being configurable as at least one of:
- a client agent configured to receive data and a server agent configured to stream data, the method comprising;
assigning, responsive of a client agent request for a specified file, a set of sub streams, wherein the set of substreams comprises a plurality of server agents, wherein each one of the plurality of server agents is configured to partition the specified file into frames whose size is configured based on the specified file, wherein the set of sub streams comprises a plurality of active server agents and a plurality of on-hold server agents, wherein the plurality of active server agents and the plurality of on-hold server agents are adapted to minimize a number of excessive packets sent to the client agent;
managing the set of sub streams such that each one of the plurality of server agent is adapted to stream frames independently of other server agents comprising the set of sub streamsemploying a rate-based congestion control for each stream in the set of sub streams, further comprising;
determining congestion on an uplink channel for each one of the plurality of server agents by examining packet loss data reports to lower send rates of data packets sent from each one of the plurality server agents and/or remove a serving session associated with each one of the plurality of server agents,determining congestion on a downlink channel of the client agent by examining packet loss of more than one substream in the set of substreams to increase a send interval existing between data packets sent from each of the plurality of server agents; and
wherein the rate-based congestion control is adapted to maintain a bit rate, associated with the set of sub streams s, above a specified threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of data streaming over a Peer-to-Peer network including server agents and client agents is provided. The method includes: assigning, responsive of a client agent request for a specified file, a sub streams set, being a set of server agents configured each to partition the specified file into frames whose size is configured based on the specified file, wherein the sub streams set comprises a plurality of active server agents and further includes a plurality of redundant active server agents selected based on network properties, such that a minimal number of excessive packets are sent to the client agent; managing the sub streams set asynchronously such that each server agent streams frames independently on other server agents in the sub streams set; and employing a rate-based congestion control per sub streams set such that a bit rate associated with the sub streams set is maintained above a specified threshold.
-
Citations
15 Claims
-
1. A method of data streaming over a Peer-to-Peer network including agents, each one of the agents being configurable as at least one of:
- a client agent configured to receive data and a server agent configured to stream data, the method comprising;
assigning, responsive of a client agent request for a specified file, a set of sub streams, wherein the set of substreams comprises a plurality of server agents, wherein each one of the plurality of server agents is configured to partition the specified file into frames whose size is configured based on the specified file, wherein the set of sub streams comprises a plurality of active server agents and a plurality of on-hold server agents, wherein the plurality of active server agents and the plurality of on-hold server agents are adapted to minimize a number of excessive packets sent to the client agent; managing the set of sub streams such that each one of the plurality of server agent is adapted to stream frames independently of other server agents comprising the set of sub streams employing a rate-based congestion control for each stream in the set of sub streams, further comprising; determining congestion on an uplink channel for each one of the plurality of server agents by examining packet loss data reports to lower send rates of data packets sent from each one of the plurality server agents and/or remove a serving session associated with each one of the plurality of server agents, determining congestion on a downlink channel of the client agent by examining packet loss of more than one substream in the set of substreams to increase a send interval existing between data packets sent from each of the plurality of server agents; and wherein the rate-based congestion control is adapted to maintain a bit rate, associated with the set of sub streams s, above a specified threshold. - View Dependent Claims (2, 3, 4, 5)
- a client agent configured to receive data and a server agent configured to stream data, the method comprising;
-
6. A system for data streaming over a Peer-to-Peer network, comprising:
-
a Peer-to-Peer network that includes agents, each one of the agents being configurable as at least one of;
a client agent configured to receive data and a server agent configured to stream data;a streaming manager configured to; (i) assign, responsive of a client agent request for a specified file, a set of sub streams, wherein the set of substreams comprises a plurality of server agents, wherein each one of the server agents is configured to partition the specified file into frames whose size is configured based on the specified file, wherein the set of sub streams comprises a plurality of active server agents and a plurality of on-hold server agents, wherein the plurality of active server agents and the plurality of on-hold server agents are adapted to minimize a number of excessive packets sent to the client agent; and (ii) manage the set for sub streams such that each one of the server agents is adapted to stream frames independently of other server agents in the set of sub streams; a congestion reduction unit configured to employ a rate-based congestion control fore each set of sub streams further comprising; a unit adapted for determining congestion on an uplink channel for each one of the plurality of server agents by examining packet loss data reports to lower send rates of data packets sent from each one of the plurality server agents and/or remove a serving session associated with each one of the plurality of server agents, a unit adapted for determining congestion on a downlink channel of the client agent by examining packet loss of more than one substream in the set of substreams to increase a send interval existing between data packets sent from each of the plurality of server agents; and wherein the congestion reduction unit is adapted to maintain a bit rate, associated with the set of sub streams, above a specified threshold. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product, the computer program product comprising:
-
a computer readable storage medium having computer readable program embodied therewith, in operative association with a Peer-to-Peer network that includes agents, each one of the agents being configurable as at least one of;
a client agent configured to receive data and a server agent configured to stream data, the computer readable program comprising;computer readable program configured to assign, responsive of a client agent request for a specified file, a set of sub streams, wherein the set of substreams, comprises being a plurality set of server agents, wherein each one of the server agents is configured to partition the specified file into frames whose size is configured based on the specified file, wherein the sub streams set comprises a plurality of active server agents and a plurality of on-hold server agents, wherein the plurality of active server agents and the plurality of on-hold server agents are adapted to minimize a number of excessive packets sent to the client agent; computer readable program configured to manage the set of sub streams such that each one of the server comprising the set of substreams is adapted to frames independently of other server agents in the set of sub streams; computer readable program configured to employ a rate-based congestion control for each stream in the set of substreams, further comprising; computer readable program for determining congestion on an uplink channel for each one of the plurality of server agents by examining packet loss data reports to lower send rates of data packets sent from each one of the plurality server agents and/or remove a serving session associated with each one of the plurality of server agents, a computer readable program for determining congestion on a downlink channel of the client agent by examining packet loss of more than one substream in the set of substreams to increase a send interval existing between data packets sent from each of the plurality of server agents; and wherein the rate-based congestion control is adapted to maintain a bit rate, associated with the set of sub streams, above a specified threshold. - View Dependent Claims (12, 13, 14, 15)
-
Specification