Data streaming using caching servers with expandable buffers and adjustable rate of data transmission to absorb network congestion
First Claim
Patent Images
1. A data transmission system comprising:
- a server, including a memory for storing data and means responsive to a request for said data for transmitting said data at a first data rate;
a client device, including means for requesting said data and means for storing said data, and a communication network providing a communication path between said server and said client device, said communication network including, at least one caching server in said communication path, wherein said at least one caching server subdivides said communication path into a series of connections, said at least one caching server including, a buffer for storing said data, means for transmitting said data, a processor responsive to a determination that network congestion exists in one of said series of connections, for transmitting said data at a second data rate that is less than said first data rate in said one of said series of connections and for increasing the size of said buffer, said processor responsive to a subsidence of said network congestion in said one of said series of connections for transmitting said data at a third data rate and for decreasing the size of said buffer, wherein said third data rate is greater than said second data rate, and wherein said means for transmitting said data in said server and in said at least one caching server is a data streaming application.
9 Assignments
0 Petitions
Accused Products
Abstract
A data streaming transmission method and system is disclosed having a network server connected to client device through a communication network with one or more of caching servers. The network server has a data streaming application and a memory for storing data. A series of connections, each using a data streaming arrangement, is formed in the path between the source network and client device by the caching servers. Each caching server can absorb network congestion in its downstream connection by utilizing an expandable buffer for storing additional segments of the streamed data and varying the transmission data rate in the down stream connection.
-
Citations
17 Claims
-
1. A data transmission system comprising:
-
a server, including a memory for storing data and means responsive to a request for said data for transmitting said data at a first data rate;
a client device, including means for requesting said data and means for storing said data, and a communication network providing a communication path between said server and said client device, said communication network including, at least one caching server in said communication path, wherein said at least one caching server subdivides said communication path into a series of connections, said at least one caching server including, a buffer for storing said data, means for transmitting said data, a processor responsive to a determination that network congestion exists in one of said series of connections, for transmitting said data at a second data rate that is less than said first data rate in said one of said series of connections and for increasing the size of said buffer, said processor responsive to a subsidence of said network congestion in said one of said series of connections for transmitting said data at a third data rate and for decreasing the size of said buffer, wherein said third data rate is greater than said second data rate, and wherein said means for transmitting said data in said server and in said at least one caching server is a data streaming application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
segmenting said data into data segments, transmitting consecutive ones of said data segments starting with said client device and then to said at least one caching server. -
5. The system of claim 4, wherein said server transmits said consecutive ones of said data segments from one transmission method selected from either serial transmission or parallel transmission.
-
6. The system of claim 1, wherein said means for requesting said data in said client device and in said at least one caching servers is RTSP signaling.
-
7. The system of claim 6, wherein said communication network is the Internet.
-
8. The system of claim 7, wherein said system further includes means for said client device to determining the location of said at least one caching server within said communication network.
-
9. The system of claim 8, wherein said means for determining the location of said at least one caching server is a layer-4 switch.
-
10. The system of claim 9, wherein said data represents a video signal.
-
11. The system of claim 10, wherein said data represents an audio signal.
-
-
12. A caching server for use within a communications network, wherein data is streamed from a first device by means of transmitting data to a second device through a connection including said caching server, said caching server comprising:
-
means for receiving data from a first device;
a buffer for storing said data;
a data steaming means for transmitting said data to a second device at a first data rate; and
a processor responsive to the determination that network congestion exists in said connection between said first device and said second device for transmitting said data to said second device at a second data rate that is less than said first data rate and for increasing the size of said buffer, said processor responsive to a subsidence of said network congestion for transmitting said data to said second device at a third data rate that is greater than said second data rate and for decreasing the size of said buffer, and wherein said means for transmitting said data in said first device and in said caching server is a data streaming application. - View Dependent Claims (13)
-
-
14. A method of transmitting data from a server to a client device through a connection in a communication network, said connection including at least one caching server, said method comprising the steps of:
-
at said client device, requesting data from said server;
at said server, transmitting said data through said connection at a first data rate;
at said at least one caching server, buffering said data in a buffer;
responsive to network congestion in said connection, increasing the size of said buffer and transmitting said data at a second data rate that is less than said first data rate; and
responsive to a subsidence of said network congestion, decreasing the size of said buffer and transmitting said data at a third data rate, wherein said third data rate is greater than said first data rate, and wherein the steps of transmitting said data at said server and at said at least one caching server comprise data streaming. - View Dependent Claims (15)
segmenting said data into data segments; consecutively transmitting one of said data segments to said client device and then said at least one caching server.
-
-
16. A method of streaming data within a communications network, wherein data is streamed from a first device by means of transmitting data to a second device through a series of connections, said method comprising the steps of
receiving data from said first device; -
storing said data in a buffer;
transmitting said data to a second device at a first data rate;
determining whether network congestion exists within a connection of said series of connections between said first device and said second device;
responsive to network congestion in said increasing the size of said buffer and transmitting said data at a second data rate to said second device, wherein said second data rate is less than said first data rate; and
responsive to a subsidence of said network congestion in said connection, decreasing the size of said buffer and transmitting said data at a third data rate that is greater than said second data rate to said second device, and wherein the steps of transmitting said data to said second device and from said first device comprise data streaming. - View Dependent Claims (17)
-
Specification