US-12621360-B2 - Network proxy for energy efficient video streaming on mobile devices
Abstract
Examples of systems and methods for network proxy server for energy efficient video streaming on mobile devices are generally described herein. A proxy server to deliver video content may include a communication module to intercept a request for video content from a mobile device, the request for video content intended for a content server and forward a modified request for the video content to the content server. The communication module may receive the video content from the content server and transfer a portion of the video content to the mobile device using a multipath transport protocol.
Inventors
- Silviu Petria
- George Milescu
- Bogdan Davidoaia
Assignees
- INTEL CORPORATION
Dates
- Publication Date
- 20260505
- Application Date
- 20230815
Claims (20)
- 1 . A network proxy, comprising: a communication circuitry; and memory, including instructions stored thereon that when executed by a processor, cause the communication circuitry to: intercept, at the network proxy, a request for content sent from a user device to a content server; determine whether a modified user agent enables the network proxy to fetch the content from the content server faster than the user device; responsive to a determination that the modified user agent enables the network proxy to fetch the content from the content server faster than the user device, modify the intercepted request for content to include the modified user agent that maximizes an inbound bandwidth of the network proxy, the network proxy configured to identify by specific request formats for different streaming applications; forward the modified request for content from the network proxy to the content server; receive the content at the network proxy from the content server; and transfer the content from the network proxy to the user device using a multipath transport session.
- 2 . The network proxy of claim 1 , wherein the network proxy is a multipath transmission control protocol (TCP) network proxy.
- 3 . The network proxy of claim 1 , wherein the multipath transport session includes a plurality of paths to the user device, and wherein the content is aggregated on a first path of the plurality of paths and a second path of the plurality of paths of the multipath transport session based on a transport speed of the first path and a transport speed of the second path to optimize a content transfer speed on at least one of the first path or the second path.
- 4 . The network proxy of claim 3 , wherein the network proxy is connected to a second network proxy, wherein the second network proxy is a multipath transmission control protocol (TCP) network proxy located proximate to the user device, and wherein a least a portion of the content is downloaded by the second network proxy and is transferred to the user device from the second network proxy by at least one of the first path or the second path.
- 5 . The network proxy of claim 3 , wherein the first path of the multipath transport session is a wireless local area network connection path.
- 6 . The network proxy of claim 3 , wherein the second path of the multipath transport session is a digital subscriber line (DSL) path.
- 7 . The network proxy of claim 1 , wherein the content is streaming video data.
- 8 . The network proxy of claim 7 , wherein to transfer the content, the network proxy is to maintain a high throughput data connection with the user device to enable a transfer of the streaming video data to the user device, wherein the high throughput data connection is maintained until the content is fully transferred.
- 9 . The network proxy of claim 1 , wherein to transfer the content to the user device, the processor is to delay transferring at least a portion of the content until the content is fully received from the content server by the network proxy.
- 10 . The network proxy of claim 1 , wherein the user device transmits an instruction to the network proxy to intercept the request for content.
- 11 . The network proxy of claim 1 , wherein the network proxy is selected to intercept data from the user device, wherein the network proxy intercepts the request for content from the user device without consent or permission from the user device or notifying the user device, and wherein modifying the intercepted request is implemented through at least one of: direct data access, use of a known proxy, an intermediary point known to be receiving the data, or a content server.
- 12 . The network proxy of claim 1 , wherein the network proxy comprises a reverse proxy server.
- 13 . The network proxy of claim 1 , wherein a communication pattern handled by the network proxy is dependent on a location of the network proxy with respect to the user device and the content server.
- 14 . The network proxy of claim 1 , wherein a number of network proxies is dependent on a location of the network proxies with respect to the user device and the content server.
- 15 . The network proxy of claim 1 , wherein whether the content is received at the network proxy from the content server via another network proxy is dependent on a number of user devices requesting the content.
- 16 . A method for using a multipath transmission control protocol (TCP) network proxy, the method comprising: intercepting, at the TCP network proxy, a request for content sent from a user device to a content server; determining that a modified user agent enables the TCP network proxy to fetch the content from the content server faster than the user device; responsive to a determination that the modified user agent enables the TCP network proxy to fetch the content from the content server faster than the user device, modifying the intercepted request for content to include the modified user agent, wherein the modified user agent maximizes an inbound bandwidth of the TCP network proxy, the TCP network proxy configured to identify by enabling identification of specific request formats for different streaming applications; forwarding the modified request for content from the TCP network proxy to the content server; receiving the content at the TCP network proxy from the content server; and transferring the content from the TCP network proxy to the user device using a multipath transport session.
- 17 . The method of claim 16 , wherein the multipath transport session includes a plurality of connections to the user device, and wherein the content is aggregated on a first connection of the plurality of connections and a second connection of the plurality of connections of the multipath transport session based on a transport speed of the first connection and a transport speed of the second connection to optimize a content transfer speed on one or more of the first connection or the second connection.
- 18 . A non-transitory machine-readable medium with instructions stored thereon which, when executed by a processor of a computing device cause the processor to: intercept, at a network proxy, a request for content sent from a user device to a content server; determine that a modified user agent enables the network proxy to fetch the content from the content server faster than the user device; responsive to a determination that the modified user agent enables the network proxy to fetch the content from the content server faster than the user device, modify the intercepted request for content to include the modified user agent that maximizes an inbound bandwidth of the network proxy, the network proxy configured to identify specific request formats for different streaming applications; forward the modified request for content from the network proxy to the content server; receive the content at the network proxy from the content server; and transfer the content from the network proxy to the user device using a multipath transport session.
- 19 . The non-transitory machine-readable medium of claim 18 , wherein the multipath transport session includes a plurality of paths to the user device, and wherein the content is aggregated on a first path of the plurality of paths and a second path of the plurality of paths of the multipath transport session based on a transport speed of the first path and a transport speed of the second path to optimize a content transfer speed on at least one of the first path or the second path.
- 20 . The non-transitory machine-readable medium of claim 18 , wherein the content includes streaming video data and wherein to transfer the content, the network proxy is to: maintain a high throughput data connection with the user device until the streaming video data is transferred to the user device; and delay transferring at least a portion of the content until the content is fully received from the content server by the network proxy.
Description
PRIORITY APPLICATION This application is a continuation of U.S. application Ser. No. 17/560,880, filed Dec. 23, 2021, which is a continuation of U.S. application Ser. No. 16/880,701, filed May 21, 2020, now issued as U.S. Pat. No. 11,252,208, which is a continuation of U.S. application Ser. No. 15/804,696, filed Nov. 6, 2017, now issued as U.S. Pat. No. 10,673,914, which is a continuation of U.S. application Ser. No. 14/576,865, filed Dec. 19, 2014, now issued as U.S. Pat. No. 9,813,465, all of which are incorporated herein by reference in their entirety. BACKGROUND Energy consumption for mobile video streaming is influenced by network traffic patterns used to download the video data, such as the amount of available bandwidth that is being used at any given time. An inefficient pattern may needlessly keep wireless network protocol interfaces in an active state, which may cause a mobile device to consume an amount of energy disproportionate to the volume of transferred data. Using a single path from a content server to the mobile device may delay delivery of the video and cause additional energy to be consumed by the mobile device. BRIEF DESCRIPTION OF THE DRAWINGS In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments discussed in the present document. FIG. 1 is a diagram illustrating 3rd Generation (3G) power states for data transfer, according to an embodiment; FIG. 2 is a block diagram illustrating data flow through a network proxy server using a multipath transport protocol (e.g., MPTCP), according to an embodiment; FIG. 3 is a flowchart illustrating a method for transferring video content through a network proxy server using a multipath protocol (MPTCP), according to an embodiment; and FIG. 4 is a block diagram of a machine upon which any one or more of the techniques (e.g., methodologies) discussed herein may perform, according to an embodiment. DETAILED DESCRIPTION Reducing energy used by a mobile device when receiving video data may include using a proxy server or a multipath protocol. The traffic pattern between a content server and a mobile device may be altered to include a proxy server to intercept data sent and received by the mobile device. The proxy server may retrieve video content from a content server at the request of the mobile device and send the video content to the mobile device in a way that consumes less energy at the mobile device than if the mobile device received the video content directly from the content server. In an example, time spent by a mobile device in an initial buffering state for video content may be reduced using a multipath transport protocol (e.g., multipath transmission control protocol, MPTCP). The reduced time may cause less energy to be consumed by the mobile device or improve user experience. The multipath transport protocol may be used to aggregate network bandwidth available on a plurality of connection interfaces. In an example, the multipath transport protocol may be used with a 3rd Generation (3G), 4th Generation (4G), or 5th Generation (5G) network interface connection. The network interface may consume the same amount of energy at a mobile device when transferring data regardless of throughput. In another example, the multipath transport protocol may use a wireless protocol network interface connection, such as a WiFi interface. The WiFi interface may consume energy proportionally to the network throughput. A video streaming application or delivery method on a mobile device, such as a mobile application or a web browser, may limit the data transfer rate to the mobile device to a fraction of the available bandwidth in order to keep the total data downloaded low or to an appropriate amount, since users often cancel or navigate away from a video before the video is complete. However, keeping the total data downloaded to an appropriate level causes higher energy to be consumed by the mobile device. A technique for keeping the total data downloaded low while also lowering energy consumption on a mobile device may include using bursts of data sent from a proxy server to the mobile device where throughput to the mobile device is maximized. Idle periods may also be extended to keep energy usage low. By extending an idle period, the mobile device may consume less energy. Another technique for decreasing energy usage may include minimizing the energy used by the mobile device to power a display screen while waiting for a video to start. By aggregating available bandwidth on a multipath transport protocol, video may be retrieved faster by the mobile device and the time the mobile device is powering the display without showing the video may be decreased, decreasing the total time the screen i