IP Library Granted Patent US 9,356,981
Granted Patent B2
US 9,356,981 · App. 13/723,756 · Granted May 31, 2016

Streaming content over a network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,356,981
App. No.
13/723,756
Granted
May 31, 2016
Kind
B2
Abstract

Disclosed are embodiments for streaming content over a network. First content segments are generated such that the time durations of at least a subset of the first content segments progressively increase with respect to time. Second content segments are generated that are configured to be played subsequent to the first content segments. The second content segments have time durations that are substantially the same with respect to each other. The first content segments and the second content segments are transmitted to a client device.

Claims (48)

1. An apparatus, comprising:

circuitry configured to:

receive, from a client device, a request to stream content to the client device; and

in response to the request, transmit the content to the client device as a plurality of content segments by:

generating and transmitting to the client device at least one first content segment having a first time duration;

generating and transmitting to the client device a plurality of second content segments configured to be played after the at least one first content segment and having a plurality of different time durations, wherein the different time durations of all of the plurality of second content segments progressively increase with respect to time, wherein each of the plurality of different time durations are at least as long as the first time duration, and wherein, for each of the plurality of second content segments, the respective second content segment is transmitted after the respective second content segment is generated to allow playback of the respective second content segment on the client device while content appearing after the respective second content segment is generated; and

generating and transmitting to the client device a plurality of third content segments configured to be played after the plurality of second content segments, the plurality of third content segments having a plurality of equal time durations, wherein, for each of the plurality of third content segments, the respective third content segment is transmitted after the respective third content segment is generated to allow playback of the respective third content segment on the client device while content appearing after the respective third content segment is generated; the circuitry configured to stop generating the plurality of second content segments having the different time durations and begin generating the plurality of third content segments having the equal time durations in response to at least one of:

generation of a predetermined number of the plurality of second content segments;

expiration of a predetermined amount of time; or

receipt of a notification from the client device.

2. The apparatus of claim 1 , wherein the circuitry is further configured to encode the plurality of second content segments such that each of the plurality of second content segments comprises a random access point.

3. The apparatus of claim 1 , wherein the plurality of third content segments are associated with a content file, and wherein the time durations of the plurality of third content segments are based at least in part on a plurality of random access point locations in the content file.

4. The apparatus of claim 1 , wherein the circuitry is further configured to generate the plurality of third content segments in response to an occurrence of a predefined event.

5. The apparatus of claim 1 , wherein the circuitry is further configured to generate a plurality of versions of each one of the plurality of second content segments, each one of the plurality of versions being associated with a different characteristic.

6. The apparatus of claim 1 , wherein the at least one first content segment comprises a plurality of first content segments configured to be played prior to the plurality of second content segments, each of the plurality of first content segments having a time duration that is shorter than the different time durations of the plurality of second content segments.

7. The apparatus of claim 1 , wherein the circuitry is configured to execute software to generate and transmit the at least one first content segment, the plurality of second content segments, and the plurality of third content segments.

8. A method, comprising:

receiving, by at least one computing device from a client device, a request to stream content to the client device;

in response to the request, streaming, by the at least one computing device, the content to the client device as a plurality of content segments, streaming the content comprising:

generating and transmitting to the client device at least one first content segment having a first time duration;

generating and transmitting to the client device a plurality of second content segments configured to be played after the at least one first content segment and having a plurality of different time durations, wherein the different time durations of all of the plurality of second content segments progressively increase with respect to time, wherein each of the plurality of different time durations are at least as long as the first time duration, and wherein, for each of the plurality of second content segments, the respective second content segment is transmitted after the respective second content segment is generated to allow playback of the respective second content segment on the client device while content appearing after the respective second content segment is generated; and

generating and transmitting to the client device a plurality of third content segments configured to be played after the plurality of second content segments, the plurality of third content segments having a plurality of equal time durations, wherein, for each of the plurality of third content segments, the respective third content segment is transmitted after the respective third content segment is generated to allow playback of the respective third content segment on the client device while content appearing after the respective third content segment is generated;

wherein generating the plurality of third content segments comprises stopping generating the plurality of second content segments having the different time durations and beginning generating the plurality of third content segments having the equal time durations in response to at least one of:

generation of a predetermined number of the plurality of second content segments;

expiration of a predetermined amount of time; or

receipt of a notification from the client device.

9. The method of claim 8 , wherein generating the plurality of second content segments further comprises encoding each of the plurality of second content segments such that each of the plurality of second content segments comprises a random access point.

10. The method of claim 8 , wherein the different time durations are based at least in part on a predefined pattern.

11. The method of claim 8 , wherein the at least one first content segment comprises a plurality of first content segments configured to be played prior to the plurality of second content segments, the plurality of first content segments having a plurality of first time durations that are shorter than the different time durations for the plurality of second content segments.

12. The method of claim 11 , wherein the plurality of third content segments are associated with a content file, and wherein the time durations of the plurality of third content segments are based at least in part on a plurality of random access point locations in the content file.

13. The method of claim 8 , further comprising generating a plurality of versions of each one of the plurality of second content segments, each one of the plurality of versions being associated with a different characteristic.

14. The method of claim 13 , wherein the different characteristic is a different bitrate.

15. A system, comprising:

at least one server device comprising circuitry configured to:

receive, from a client device, a request to stream content to the client device; and

in response to the request, transmit the content to the client device as a plurality of content segments by:

generating and transmitting to the client device at least one first content segment having a first time duration;

generating and transmitting to the client device a plurality of second content segments configured to be played after the at least one first content segment and having a plurality of different time durations, wherein the different time durations of all of the plurality of second content segments progressively increase with respect to time, wherein each of the plurality of different time durations are at least as long as the first time duration, and wherein, for each of the plurality of second content segments, the respective second content segment is transmitted after the respective second content segment is generated to allow playback of the respective second content segment on the client device while content appearing after the respective second content segment is generated; and

generating and transmitting to the client device a plurality of third content segments configured to be played after the plurality of second content segments, the plurality of third content segments having a plurality of equal time durations, wherein, for each of the plurality of third content segments, the respective third content segment is transmitted after the respective third content segment is generated to allow playback of the respective third content segment on the client device while content appearing after the respective third content segment is generated;

the circuitry configured to stop generating the plurality of second content segments having the different time durations and begin generating the plurality of third content segments having the equal time durations in response to at least one of:

generation of a predetermined number of the plurality of second content segments;

expiration of a predetermined amount of time; or

receipt of a notification from the client device.

16. The system of claim 15 , wherein the circuitry is further configured to encode each of the plurality of second content segments such that each of the plurality of second content segments comprises at least one random access point.

17. The system of claim 15 , wherein the circuitry is further configured to:

decode data received by the at least one server device to thereby generate decoded data; and

encode the plurality of second content segments and the plurality of third content segments using the decoded data.

18. The system of claim 15 , wherein the different time durations for the plurality of second content segments are based at least in part on a predefined pattern.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2013
From: MACINNIS, ALEXANDER G.
To: BROADCOM CORPORATION
Reel/Frame 029745/0308 →