8918535

Method and Apparatus for Carrier Controlled Dynamic Rate Adaptation and Client Playout Rate Reduction

PublishedDecember 23, 2014
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
43 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method for operating a proxy computer in a streaming video delivery network to enforce video streaming policies for clients using bitrate adaptation and video playout rate reduction, comprising: performing video streaming by caching video segments from a video content server and delivering cached video segments to the clients, the caching including predictively prefetching future video segments; monitoring a variety of operational information including subscriber service level agreement (SLA) information, local network bandwidth at the proxy computer, and presence of congestion in the network; using the operational information to calculate desired operational parameters for the network including a target bitrate for delivery of the video segments and an optimal bitrate for prefetching video segments; and notifying a client of network conditions and the need for modification of the playout rate at which the video segments are to be rendered at the client to obtain a desired mix of quality playback and conformance to the desired operational parameters of the network.

Plain English Translation

A proxy server in a video streaming network manages bandwidth and video quality for clients using adaptive bitrate streaming. It caches video segments from content servers, predicting and prefetching future segments. The proxy monitors network conditions like subscriber agreements, local bandwidth, and network congestion. Based on this, it calculates a target bitrate for delivery and an optimal bitrate for prefetching. The proxy then informs clients about network conditions and suggests adjusting their video playback rate to balance quality and network performance.

Claim 2

Original Legal Text

2. The method of claim 1 , wherein the video streaming is via HTTP segmented delivery.

Plain English Translation

The proxy server from the previous video streaming description uses HTTP segmented delivery (e.g., HLS, DASH) to stream video to clients. It caches and serves video segments over standard HTTP connections.

Claim 3

Original Legal Text

3. The method of claim 2 , further comprising one or more actions selected from the group consisting of limiting access to selected videos; limiting bandwidth usage; applying global rate limiting policies; and prioritizing bandwidth by service level.

Plain English Translation

The proxy server from the previous HTTP segmented delivery description can also limit access to specific videos, limit overall bandwidth usage, enforce global rate-limiting policies, and prioritize bandwidth based on service level agreements (SLAs) for different subscribers. These actions help manage network resources and ensure fair access.

Claim 4

Original Legal Text

4. The method of claim 3 , wherein limiting access to selected videos includes refraining from sending videos of a given bitrate and/or resolution to clients not capable of rendering the videos at the given bitrate and/or resolution.

Plain English Translation

When limiting access to selected videos, the proxy server from the previous bandwidth control description refrains from sending high-bitrate or high-resolution videos to clients that cannot properly render them. This prevents unnecessary bandwidth consumption and ensures a better viewing experience for those clients.

Claim 5

Original Legal Text

5. The method of claim 3 , wherein limiting access to selected videos is based on licensing restrictions regarding maximum bitrate or resolution available to a given client.

Plain English Translation

The proxy server from the previous bandwidth control description limits access to selected videos based on licensing restrictions. This means it restricts maximum bitrate or resolution available to a specific client, according to content licensing agreements.

Claim 6

Original Legal Text

6. The method of claim 3 , wherein limiting bandwidth usage is achieved by using segment spoofing and/or playlist spoofing, segment spoofing including requesting a segment for one bitrate from the video content server in response to receiving a request for a segment of a higher bitrate from a client, and playlist spoofing including sending a spoofed playlist to the client in response to receiving a requested playlist, the spoofed playlist differing from the requested playlist.

Plain English Translation

The proxy server from the previous bandwidth control description limits bandwidth usage by employing segment or playlist "spoofing." Segment spoofing involves requesting a lower-bitrate segment from the content server when a client requests a higher-bitrate segment. Playlist spoofing involves sending a modified playlist to the client, listing only acceptable bitrates, instead of the original.

Claim 7

Original Legal Text

7. The method of claim 2 , wherein the proxy computer includes a local HTTP server, and wherein HTTP connections from the client are proxied by the local HTTP server, and further comprising: detecting requests associated with segmented streaming video sessions.

Plain English Translation

The proxy server from the previous HTTP segmented delivery description includes a local HTTP server. Client HTTP connections are proxied through this server. The proxy server detects requests related to segmented streaming video sessions by inspecting HTTP headers and URLs.

Claim 8

Original Legal Text

8. The method of claim 7 , wherein video streams are created in response to detecting specific uniform resource locator (URL) formats, and further comprising: detecting when the URL contains uniform resource identifier (URI) or query string parameters describing video position and bitrate.

Plain English Translation

The proxy server from the previous segmented streaming video session description identifies video streams by detecting specific URL formats. It looks for URLs containing parameters or query strings that indicate video position and bitrate to properly manage the streaming session.

Claim 9

Original Legal Text

9. The method of claim 7 , wherein video streaming sessions are created in response to receiving requests for virtual playlists, and further comprising detecting when a virtual playlist file is a selected one of a group consisting of an m3u8 file; a Silverlight manifest file; and a Flash media manifest file.

Plain English Translation

The proxy server from the previous segmented streaming video session description creates video streaming sessions when it receives requests for virtual playlists (e.g., m3u8, Silverlight manifest, Flash media manifest). It detects these virtual playlists to initiate and manage the video streaming process.

Claim 10

Original Legal Text

10. The method of claim 9 , further comprising: serving a playlist to the client from a local cache, and modifying the playlist to limit the range of bitrates accessible by the client, prior to sending the playlist to the client.

Plain English Translation

The proxy server from the previous virtual playlist description serves a playlist to the client from its local cache. Before sending, it modifies the playlist to limit the range of available bitrates that the client can access, enforcing bandwidth control policies.

Claim 11

Original Legal Text

11. The method of claim 10 , wherein the modified playlist sent to the client contains only a single bitrate.

Plain English Translation

The proxy server from the previous playlist modification description modifies the playlist to contain only a single bitrate, forcing the client to use that specific bitrate for video playback.

Claim 12

Original Legal Text

12. The method of claim 10 , further comprising: populating the playlist with proxy segment locations that point to the proxy computer rather than to the source location of the segment on the content server, the proxy segment locations being specified using a proxy specific location naming scheme, and selecting the source segment on the content server to return to the client at the time the client requests the proxy segment from the local proxy.

Plain English Translation

The proxy server from the previous playlist modification description modifies the playlist to include proxy segment locations. These locations point to the proxy server itself, rather than the original segment location on the content server. The proxy then selects the appropriate source segment from the content server when the client requests the segment from the proxy. This selection uses a proxy-specific location naming scheme.

Claim 13

Original Legal Text

13. The method of claim 12 , wherein the content of the segment returned is based on ad insertion and channel selection criteria.

Plain English Translation

The proxy server from the previous proxy segment location description selects the content of the video segment based on factors such as ad insertion criteria or channel selection preferences when serving video content. This allows for personalized or monetized video streaming experiences.

Claim 14

Original Legal Text

14. The method of claim 12 , wherein the bitrate of the segment returned is based on current bandwidth estimates and is selected from the available bitrates specified in a playlist file, and wherein the optimal bitrate is chosen as a maximum bitrate available in a playlist which does not exceed the target bitrate.

Plain English Translation

The proxy server from the previous proxy segment location description selects the bitrate of the video segment based on current bandwidth estimates. It chooses the highest available bitrate within the playlist that doesn't exceed the calculated target bitrate, optimizing for quality while respecting network constraints.

Claim 15

Original Legal Text

15. The method of claim 14 , further comprising limiting the target bitrate based on one or more of a group consisting of a frontend bandwidth estimate, so as not to exceed available frontend bandwidth; a backend bandwidth estimate, so as not to exceed available backend bandwidth; global rate limit thresholds, so as not to exceed a carrier-enforced bandwidth maximum; and subscriber SLA, so as not to exceed a maximum bandwidth purchased by the client.

Plain English Translation

The proxy server from the previous bitrate selection description limits the target bitrate based on factors like estimated frontend bandwidth (client to proxy), estimated backend bandwidth (proxy to server), global rate limit thresholds, and subscriber service level agreements (SLAs). This ensures that bandwidth usage stays within acceptable limits for all network components and users.

Claim 16

Original Legal Text

16. The method of claim 14 , further comprising: redirecting the proxy segment request to the source segment location on the content server, and wherein the redirecting is performed using an HTTP redirect, and further comprising: responding to segment requests with a segment corresponding to the optimal bitrate.

Plain English Translation

The proxy server from the previous bitrate selection description redirects the client's request for a segment to the original segment location on the content server using an HTTP redirect. It responds to segment requests with a segment that corresponds to the optimal bitrate selected based on network conditions.

Claim 17

Original Legal Text

17. The method of claim 16 , further comprising: prefetching a next sequential segment for a corresponding optimal bitrate.

Plain English Translation

The proxy server from the previous HTTP redirect description prefetches the next sequential video segment corresponding to the optimal bitrate. This helps maintain a continuous stream of video data to the client.

Claim 18

Original Legal Text

18. The method of claim 10 , further comprising adding discontinuity indications to the modified playlist to notify a player at the client of possible discontinuity between segments which may be caused by segment spoofing.

Plain English Translation

The proxy server from the previous playlist modification description adds discontinuity indications to the modified playlist. This notifies the client's video player that there might be breaks or changes between video segments due to segment spoofing or bitrate switching.

Claim 19

Original Legal Text

19. The method of claim 10 , further comprising: modifying a playlist to remove bitrates which exceed global rate limiting policies, reordering the playlist entries to dictate which bitrate should be the starting bitrate, the reordering applying a prioritization selected from the group consisting of prioritizing a lowest non-audio-only bitrate to minimize network congestion; prioritizing a highest bitrate to maximize rendering quality; and prioritizing a bitrate closest to an optimal network utilization bitrate for network efficiency.

Plain English Translation

The proxy server from the previous playlist modification description modifies the playlist to remove bitrates exceeding global rate limiting policies. It also reorders the playlist entries to prioritize a specific starting bitrate. Prioritization can be based on minimizing network congestion (lowest bitrate), maximizing rendering quality (highest bitrate), or optimizing network efficiency (bitrate closest to optimal network utilization).

Claim 20

Original Legal Text

20. The method of claim 7 , further comprising detecting segments based on a uniform resource indicator (URI) and filename in the request and/or HTTP headers in the request.

Plain English Translation

The proxy server from the previous segmented streaming video session description detects video segments based on their Uniform Resource Identifier (URI) and filename present in the request and/or HTTP headers included in the client's request.

Claim 21

Original Legal Text

21. The method of claim 7 , further comprising: detecting segment requests and serving segment files from a local cache, and selecting an alternate bitrate segment to fulfill the request if the requested segment does not exist in the cache.

Plain English Translation

The proxy server from the previous segmented streaming video session description detects segment requests and serves segment files from a local cache. If the requested segment is not available in the cache, it selects an alternate bitrate segment to fulfill the request, adapting to available cached content.

Claim 22

Original Legal Text

22. The method of claim 1 , wherein segments are prefetched sequentially based on a current segment being requested, and prefetched segments are cached for later delivery to the clients.

Plain English Translation

The proxy server from the previous video streaming description prefetches video segments sequentially. Based on the currently requested segment, it prefetches the next segments in the sequence and caches them for later delivery to clients.

Claim 23

Original Legal Text

23. The method of claim 1 , wherein the network includes a frontend radio access network and a backend carrier backhaul network, and wherein bandwidth of the frontend radio access network is estimated separately from bandwidth of the backend carrier backhaul network.

Plain English Translation

The video streaming network from the previous video streaming description includes a frontend radio access network (client to base station) and a backend carrier backhaul network (base station to content server). The proxy server estimates the bandwidth of the frontend and backend networks separately.

Claim 24

Original Legal Text

24. The method of claim 23 , further comprising one or more of estimating frontend bandwidth based on delivery time for segments sent to client; estimating frontend bandwidth by requesting network statistics from a local base station or router via a network management protocol; estimating backend bandwidth based on retrieval time of prefetched segments; and estimating backend bandwidth by requesting network statistics from the local base station or router via the network management protocol, and wherein the network management protocol is simple network management protocol (SNMP).

Plain English Translation

The proxy server from the previous separate network estimation description estimates frontend bandwidth based on segment delivery times or by requesting network statistics from a local base station/router (e.g., via SNMP). Backend bandwidth is estimated based on the retrieval time of prefetched segments or by requesting network statistics from the base station/router (e.g., via SNMP).

Claim 25

Original Legal Text

25. The method of claim 24 , wherein congestion is detected based on the client initiating bitrate adaptation by requesting a segment at a new bitrate different from a bitrate of a previously requested segment.

Plain English Translation

The proxy server from the previous network statistic description detects congestion when the client initiates bitrate adaptation, requesting a segment at a different bitrate than previously requested. This change suggests the client is experiencing playback issues and the network is congested.

Claim 26

Original Legal Text

26. The method of claim 24 , wherein one or both of backend network congestion and frontend network congestion are detected, backend network congestion being detected when a backend network bandwidth estimate falls below a minimum excess backend bandwidth threshold, frontend congestion being detected when the frontend bandwidth estimate falls below a minimum excess frontend bandwidth threshold.

Plain English Translation

The proxy server from the previous network statistic description detects backend and/or frontend network congestion. Backend congestion is detected when the backend bandwidth estimate falls below a minimum excess bandwidth threshold. Frontend congestion is detected when the frontend bandwidth estimate falls below a minimum excess bandwidth threshold.

Claim 27

Original Legal Text

27. The method of claim 26 , wherein the minimum excess backend bandwidth threshold is an optimal bitrate and minimum excess frontend bandwidth threshold is the target bitrate.

Plain English Translation

In the previous congestion detection description, the minimum excess backend bandwidth threshold is set to the optimal bitrate, while the minimum excess frontend bandwidth threshold is set to the target bitrate. These values indicate the limits beyond which congestion is considered to be present.

Claim 28

Original Legal Text

28. The method of claim 26 , wherein segments are requested by the client in a paced manner, and further comprising: notifying the client to reduce segment retrieval rate to decrease network load, and notifying the client to reduce playout rate to compensate for lower retrieval rates and prevent underrun, and wherein notifying the client includes using a custom HTTP header in a response to a segment retrieval request.

Plain English Translation

The proxy server from the previous congestion detection description detects that segments are requested by the client in a paced manner, and then it notifies the client to reduce segment retrieval rate to decrease network load. The proxy server also notifies the client to reduce the video playback rate to compensate for slower retrieval and prevent buffering issues, all through custom HTTP headers.

Claim 29

Original Legal Text

29. The method of claim 1 , wherein notifying the client of network conditions includes providing a frontend network bandwidth estimate usable by the client and routers downstream of the proxy computer, and wherein notifying the client of network conditions includes using a custom HTTP header inserted into a response to an HTTP request.

Plain English Translation

The proxy server from the previous video streaming description notifies the client about network conditions by providing a frontend network bandwidth estimate, which can be used by the client and downstream routers. This notification uses a custom HTTP header in the response to the client's HTTP request.

Claim 30

Original Legal Text

30. The method of claim 1 , wherein notifying the client of network conditions includes providing a backend network bandwidth estimate usable by the client and routers downstream of the proxy computer, the notifying including using a custom HTTP header inserted into a response to an HTTP request.

Plain English Translation

The proxy server from the previous video streaming description notifies the client about network conditions by providing a backend network bandwidth estimate, which can be used by the client and downstream routers. This notification uses a custom HTTP header in the response to the client's HTTP request.

Claim 31

Original Legal Text

31. The method of claim 30 , wherein segments are delivered to the client in a paced manner.

Plain English Translation

The proxy server from the previous backend bandwidth description delivers segments to the client in a paced manner, controlling the rate at which the segments are sent to avoid overwhelming the network.

Claim 32

Original Legal Text

32. The method of claim 31 , further comprising: reducing the segment delivery rate to decrease network load.

Plain English Translation

The proxy server from the previous paced delivery description reduces the segment delivery rate to decrease network load during periods of congestion or high utilization.

Claim 33

Original Legal Text

33. The method of claim 31 , wherein segments are delivered using HTTP chunked transfer encoding, and further comprising: notifying the client to reduce playout rate to compensate for lower delivery rates and prevent underrun, and wherein the client is notified via a custom inband protocol using a custom HTTP control chunk.

Plain English Translation

The proxy server from the previous paced delivery description delivers segments using HTTP chunked transfer encoding. The proxy notifies the client to reduce the video playback rate to compensate for slower delivery and prevent buffering, using a custom in-band protocol via a custom HTTP control chunk.

Claim 34

Original Legal Text

34. The method of claim 30 , further comprising: suspending segment prefetching to reduce network load.

Plain English Translation

The proxy server from the previous backend bandwidth description suspends segment prefetching to reduce network load during periods of high congestion or when bandwidth is limited.

Claim 35

Original Legal Text

35. The method of claim 1 , wherein congestion is detected based on the client initiating bitrate adaptation by requesting a segment at a new bitrate different from a bitrate of a previously requested segment.

Plain English Translation

The proxy server from the previous video streaming description detects congestion when the client initiates bitrate adaptation, requesting a segment at a different bitrate than previously requested. This suggests the client is experiencing playback issues and the network is congested.

Claim 36

Original Legal Text

36. The method of claim 1 , wherein only certain segments are prefetched, the certain segments being selected from a group consisting of segments for the target bitrate, segments for the optimal bitrate, segments for the target bitrate and a lowest possible bitrate, and segments for the target bit as well as one higher and one lower bitrate.

Plain English Translation

The proxy server from the previous video streaming description only prefetches certain video segments. It can prefetch segments for the target bitrate, the optimal bitrate, the target bitrate and lowest bitrate, or the target bitrate along with one bitrate higher and one bitrate lower.

Claim 37

Original Legal Text

37. The method of claim 1 , further including receiving segments being pushed to the proxy computer in response to requests from other proxy computers for the segments.

Plain English Translation

The proxy server from the previous video streaming description receives video segments that are pushed to it in response to requests from other proxy servers for those segments, allowing for cooperative content delivery.

Claim 38

Original Legal Text

38. The method of claim 37 , wherein receiving includes receiving via IP multicast, and further comprising: using forward error correction on multicast packets and/or negative acknowledgements to request retransmission of lost multicast packets.

Plain English Translation

The proxy server from the previous segment pushing description receives segments via IP multicast. It employs forward error correction or negative acknowledgements to request retransmission of lost multicast packets, ensuring data integrity in the multicast delivery.

Claim 39

Original Legal Text

39. The method of claim 38 , wherein congestion is estimated by detection of multicast packet loss.

Plain English Translation

The proxy server from the previous multicast description estimates network congestion by detecting multicast packet loss, allowing it to respond to network issues during multicast streaming.

Claim 40

Original Legal Text

40. The method of claim 37 , wherein the segments are pushed to the proxy computer only when requested by a physically proximate proxy computer.

Plain English Translation

The proxy server from the previous segment pushing description receives pushed segments only when requested by a physically proximate proxy server, optimizing content delivery within a limited geographic area.

Claim 41

Original Legal Text

41. The method of claim 37 , wherein the segments are pushed to the proxy computer only when requested by a temporally proximate proxy computer.

Plain English Translation

The proxy server from the previous segment pushing description receives pushed segments only when requested by a temporally proximate proxy server, optimizing content delivery during periods of high demand.

Claim 42

Original Legal Text

42. The method of claim 1 , further comprising: limiting the target bitrate based on characteristics of the client device, the characteristics being selected from a group consisting of a display resolution of the client device and a resolution of the selected bitrate video, a type of a network technology through which the client is connected, a type of a software platform of the client device, and a make and model of the client device.

Plain English Translation

The proxy server from the previous video streaming description limits the target bitrate based on characteristics of the client device. These characteristics can include display resolution, the resolution of the video, network technology type, software platform, and device make/model.

Claim 43

Original Legal Text

43. A proxy computer for use in a streaming video delivery network to enforce video streaming policies for clients using bitrate adaptation and video playout rate reduction, comprising: memory; a processor; input/output circuitry for connecting the proxy computer to the streaming video delivery network including connections to the clients and a video content server; and one or more data buses by which the memory, processor and input/output circuitry are coupled together, the memory and processor being configured to store and execute program instructions to enable the proxy computer to perform a method including: performing video streaming by caching video segments from a video content server and delivering cached video segments to the clients, the caching including predictively prefetching future video segments; monitoring a variety of operational information including subscriber service level agreement (SLA) information, local network bandwidth at the proxy computer, and presence of congestion in the network; using the operational information to calculate desired operational parameters for the network including a target bitrate for delivery of the video segments and an optimal bitrate for prefetching video segments; and notifying a client of network conditions and the need for modification of the playout rate at which the video segments are to be rendered at the client to obtain a desired mix of quality playback and conformance to the desired operational parameters of the network.

Plain English Translation

A proxy server manages video streaming in a network using adaptive bitrate techniques. It has memory, a processor, and I/O for connecting to clients and content servers. The proxy caches video segments, predictively prefetching future segments. It monitors network information (subscriber SLAs, local bandwidth, congestion) and calculates target/optimal bitrates. The proxy notifies clients about network conditions and advises adjusting their playback rate for balanced quality and network performance.

Patent Metadata

Filing Date

Unknown

Publication Date

December 23, 2014

Inventors

Kevin J. Ma
Raj Nair
Robert Hickey
Jianguo Xu

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND APPARATUS FOR CARRIER CONTROLLED DYNAMIC RATE ADAPTATION AND CLIENT PLAYOUT RATE REDUCTION” (8918535). https://patentable.app/patents/8918535

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/8918535. See llms.txt for full attribution policy.