Method and apparatus for session bandwidth estimation and rate control
First Claim
Patent Images
1. A method of streaming video data from a content source over a network to a client device, the method comprising:
- performing Deep Packet Inspection (DPI)analysis of traffic data that is transferred on a network route from (i) the content source to (ii) a regional wireless network to which the client device is wirelessly connected;
based on the DPI analysis, determining that a portion of the traffic data is streaming video data, and redirecting the streaming video data to an Adaptive Progressive Download (APD) server which is connected in said network route between (i) the content source and (ii) the regional wireless network to which the client device is wirelessly connected;
at said APD server which is connected in said network route, performing;
(a) creating a fixed-size Transmission Control Protocol (TCP) out-buffer in a TCP stack of a TCP application layer running on said APD server;
(b) preparing a first data-block of the streaming video data, wherein the first data-block has a size which is greater than a size of the fixed-size TCP out-buffer;
(c) writing the first data-block of the streaming video data, into the fixed-size TCP out-buffer of the TCP stack in the TCP application layer on said APD server;
(d) while said first data-block of streaming video data is still being written into the fixed-size TCP out-buffer of the APD server, continuously releasing content from the fixed-size TCP out-buffer, by said TCP application of the APD server to a downstream directed to the client device;
(e) upon completion of the writing of the data-block of streaming video data, into the fixed-sized TCP out-buffer of the APD server, signaling within the APD server by a write completion signal of a socket library of an operating system running on said APD server;
(f) computing at said APD server an estimate of the bandwidth of said downstream, without receiving feedback from the client device,wherein the data-block to the fixed-sized TCP out-buffer, by (B) the size of the data-block written to the fixed-size TCP out-buffer.
2 Assignments
0 Petitions
Accused Products
Abstract
An intermediate device receives a content data message addressed to a receiving device for a communication session between a source device and the receiving device. The intermediate device substitutes adapted content data for content data of the content data message and then sends the adapted content data to the receiving device such that it appears to the receiving device that the adapted content data originated from the source device. The communication from the source device to the receiving device is intercepted by the intermediate device in a manner that is transparent to the source device and receiving device.
-
Citations
12 Claims
-
1. A method of streaming video data from a content source over a network to a client device, the method comprising:
-
performing Deep Packet Inspection (DPI)analysis of traffic data that is transferred on a network route from (i) the content source to (ii) a regional wireless network to which the client device is wirelessly connected; based on the DPI analysis, determining that a portion of the traffic data is streaming video data, and redirecting the streaming video data to an Adaptive Progressive Download (APD) server which is connected in said network route between (i) the content source and (ii) the regional wireless network to which the client device is wirelessly connected; at said APD server which is connected in said network route, performing; (a) creating a fixed-size Transmission Control Protocol (TCP) out-buffer in a TCP stack of a TCP application layer running on said APD server; (b) preparing a first data-block of the streaming video data, wherein the first data-block has a size which is greater than a size of the fixed-size TCP out-buffer; (c) writing the first data-block of the streaming video data, into the fixed-size TCP out-buffer of the TCP stack in the TCP application layer on said APD server; (d) while said first data-block of streaming video data is still being written into the fixed-size TCP out-buffer of the APD server, continuously releasing content from the fixed-size TCP out-buffer, by said TCP application of the APD server to a downstream directed to the client device; (e) upon completion of the writing of the data-block of streaming video data, into the fixed-sized TCP out-buffer of the APD server, signaling within the APD server by a write completion signal of a socket library of an operating system running on said APD server; (f) computing at said APD server an estimate of the bandwidth of said downstream, without receiving feedback from the client device, wherein the data-block to the fixed-sized TCP out-buffer, by (B) the size of the data-block written to the fixed-size TCP out-buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for streaming video data front a content source over a network to a client device, the system comprising:
-
a Deep Packet Inspection (DPI) module to intercept traffic data being transferred over a network route from (i) the content source to (ii) a regional wireless network to which the client device is wirelessly connected; an Adaptive Progressive Download (APD) server associated with said DPI module and connected on said network route from (i) the content source to (ii) the regional wireless network to which the client device wirelessly connected; wherein the DPI module is (A) to determine that a portion of the traffic data is streaming video data, and (B) to redirect the streaming video data to the ADP server; wherein the APD server which is connected in said network route is; (a) to create a fixed-size Transmission Control Protocol (TCP) out-buffer in a TCP stack of a TCP application layer running on said APD server; (b) to prepare a first data-block of the streaming video data, wherein the first data-block has a size which is greater than a size of the fixed-size TCP out-buffer; (c) to write the first data-block of the streaming video data, into the fixed-size TCP out-buffer of the TCP stack in the TCP application layer running on said APD server; (d) while said first data-block of streaming video data is still being written into the fixed-size TCP out-buffer of the APD server, to continuously release content from the fixed-sized TCP out-buffer, by said TCP application of the APD server to a downstream directed to the client device; (e) upon completion of the writing of the data-block of streaming video data, into the fixed-sized TCP out-buffer of the APD server, to signal within the APD server by a write completion signal of a socket library of an operating system running on said APD server; (f) to compute at said APD server an estimate of the bandwidth of said downstream, without receiving feedback from the client device, by diving (A) a time period required to complete the writing of the data-block to the fixed-size TCP out-buffer, by (B) the size of the data-block written to the fixed-size TCP out-buffer. - View Dependent Claims (11, 12)
-
Specification