9420023

Managing Adaptive Streaming of Data via a Communication Connection

PublishedAugust 16, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method comprising: requesting a data stream using a buffer with an initial maximum window size for buffering received data associated with the requested data stream; receiving, into the buffer, one or more data segments associated with the data stream; removing, from the buffer, one or more data segments for use by a receiving device; determining, by a processing device, a current window size of the buffer, wherein the current window size is equal to the maximum window size less any data segments which have been received that have not been removed from the buffer; comparing the current window size to a predetermined threshold; in response to determining that the current window size is less than the predetermined threshold, increasing, by the processing device, the maximum window size and initiating a buffer size increase timer having a current timer value and a timer expiration value; and while the updated maximum window size is larger than the initial maximum window size and the current timer value of the buffer size increase timer is less than the timer expiration value, determining, at regular intervals, a present current window size and adjusting the updated maximum current window size to maintain the current window size of at least the predetermined threshold.

2

2. The method of claim 1 , wherein adjusting the updated maximum current window size comprises: increasing further the maximum window size when the present current window size is less than the predetermined threshold; and decreasing the maximum window size when the present current window size is greater than the predetermined threshold.

3

3. The method of claim 2 , wherein, when decreasing the maximum window size, an amount that the maximum window size is decreased is limited to the amount by which the updated maximum window size is greater than the initial maximum window size.

4

4. The method of claim 1 , wherein the regular intervals at which the present current window size is determined and the updated maximum current window size is adjusted corresponds to a maximum transmit unit boundary of the requested data stream.

5

5. The method of claim 1 , wherein the data stream includes one or more data segments, each data segment being encoded into one of a plurality of different versions having different fidelity levels, and wherein initial data segments received as part of the data stream have a first fidelity level.

6

6. The method of claim 5 , wherein each fidelity level includes one or more of video data at one or more different resolutions or frame rates and audio data at one or more different bit rates.

7

7. The method of claim 5 , wherein a bit rate level of subsequently received data segments is adjusted to a second fidelity level less than the first fidelity level when the buffer size increase timer reaches the timer expiration value.

8

8. The method of claim 1 , wherein the buffer size increase timer is terminated when the updated maximum window size is adjusted to be no longer larger than the initial maximum window size prior to current timer value of the buffer size increase timer reaching the timer expiration value.

9

9. A non-transitory computer readable storage medium including instructions that, when executed by a processing device, cause the processing device to perform operations comprising: requesting a data stream using a buffer with an initial maximum window size for buffering received data associated with the requested data stream; receiving, into the buffer, one or more data segments associated with the data stream; removing, from the buffer, one or more data segments for use by a receiving device; determining, by the processing device, a current window size of the buffer, wherein the current window size is equal to the maximum window size less any data segments which have been received that have not been removed from the buffer; comparing the current window size to a predetermined threshold; in response to determining that the current window size is less than the predetermined threshold, increasing, by the processing device, the maximum window size and initiating a buffer size increase timer having a current timer value and a timer expiration value; and while the updated maximum window size is larger than the initial maximum window size and the current timer value of the buffer size increase timer is less than the timer expiration value, determining, at regular intervals, a present current window size and adjusting the updated maximum current window size to maintain the current window size of at least the predetermined threshold.

10

10. The computer readable storage medium of claim 9 , wherein adjusting the updated maximum current window size comprises: increasing further the maximum window size when the present current window size is less than the predetermined threshold; and decreasing the maximum window size when the present current window size is greater than the predetermined threshold.

11

11. The computer readable storage medium of claim 10 , wherein, when decreasing the maximum window size, an amount that the maximum window size is decreased is limited to the amount by which the updated maximum window size is greater than the initial maximum window size.

12

12. The computer readable storage medium of claim 9 , wherein the regular intervals at which the present current window size is determined and the updated maximum current window size is adjusted corresponds to a maximum transmit unit boundary of the requested data stream.

13

13. The computer readable storage medium of claim 9 , wherein the data stream includes one or more data segments, each data segment being encoded into one of a plurality of different versions having different fidelity levels, and wherein initial data segments received as part of the data stream have a first fidelity level.

14

14. The computer readable storage medium of claim 13 , wherein a bit rate level of subsequently received data segments is adjusted to a second fidelity level less than the first fidelity level when the buffer size increase timer reaches the timer expiration value.

15

15. The computer readable storage medium of claim 10 , wherein the buffer size increase timer is terminated when the updated maximum window size is adjusted to be no longer larger than the initial maximum window size prior to current timer value of the buffer size increase timer reaching the timer expiration value.

16

16. A system comprising: a memory including a buffer; and a processing device, coupled to the memory to: request a data stream using the buffer having an initial maximum window size for buffering received data associated with the requested data stream; receive, into the buffer, one or more data segments associated with the data stream; remove, from the buffer, one or more data segments for use by a receiving device; determine a current window size of the buffer, wherein the current window size is equal to the maximum window size less any data segments which have been received that have not been removed from the buffer; compare the current window size to a predetermined threshold; in response to determining that the current window size is less than the predetermined threshold, increase the maximum window size and initiate a buffer size increase timer having a current timer value and a timer expiration value; and while the updated maximum window size is larger than the initial maximum window size and the current timer value of the buffer size increase timer is less than the timer expiration value, determine at regular intervals a present current window size and adjust the updated maximum current window size to maintain the current window size of at least the predetermined threshold.

17

17. The system of claim 16 , wherein: to adjust the updated maximum current window size, the processing device is to increase further the maximum window size when the present current window size is less than the predetermined threshold; and to decrease the maximum window size when the present current window size is greater than the predetermined threshold.

18

18. The system of claim 16 , wherein the regular intervals at which the present current window size is determined and the updated maximum current window size is adjusted corresponds to a maximum transmit unit boundary of the requested data stream.

19

19. The system of claim 16 , wherein the data stream includes one or more data segments, each data segment being encoded into one of a plurality of different versions having different fidelity levels, and wherein initial data segments received as part of the data stream have a first fidelity level.

20

20. The system of claim 19 , wherein each fidelity level includes one or more of video data at one or more different resolutions or frame rates and audio data at one or more different bit rates.

Patent Metadata

Filing Date

Unknown

Publication Date

August 16, 2016

Inventors

Arjun Ramamurthy
Ajay K. Luthra
Mark S. Schmidt

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, 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. “MANAGING ADAPTIVE STREAMING OF DATA VIA A COMMUNICATION CONNECTION” (9420023). https://patentable.app/patents/9420023

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.