IP Library Granted Patent US 8,898,338
Granted Patent B1
US 8,898,338 · App. 14/199,618 · Granted Nov 25, 2014

Traffic shaping for live media streaming

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 8,898,338
App. No.
14/199,618
Granted
Nov 25, 2014
Kind
B1
Abstract

Methods and systems are disclosed for providing live media streaming over a communication network. Timing data of a received live media stream is mapped to time values from a system clock. Offset time values are assigned to a plurality of clients requesting live media content. The time values and the offset time values are used for transmission of the media stream.

Claims (18)

1. A method of providing live media streaming via a data communications network, the method comprising: receiving a stream of data representing live media content, the stream of data comprising a plurality of source segments; accessing timing data of each of the received plurality of source segments of the stream of data; creating a mapping that provides an association of the timing data of the received plurality of source segments to time values obtained from a system clock, wherein the mapping associates the timing data of each of the received plurality of source segments to the time value of the system clock at the time the source segment was received; transcoding the plurality of received source segments to form transcoded segments and storing the transcoded segments in memory; receiving requests from a plurality of clients to receive live media content; assigning a respective offset time value to each of the plurality of clients, wherein at least two offset time values are different; forming, for each client of the plurality of clients, a respective client manifest based on the offset time value assigned to the client, the respective client manifest enabling the client to obtain requested segments of the live media content that have time values according to the mapping that are offset from the value of the system clock by the respective offset time value assigned to the respective client; and sending the client manifests to the respective clients via the data communications network.

2. The method of providing live media streaming via a data communications network of claim 1 , wherein the client manifests comprise information that enables the respective clients to obtain the requested segments for the requested live media content from a media file delivery service provider (MFDSP).

3. The method of providing live media streaming via a data communications network of claim 2 , further comprising assigning the respective offset time values so that processing needed by the MFDSP to provide the requested segments is reduced.

4. The method of providing live media streaming via a data communications network of claim 1 , wherein sending the client manifest to at least one of the plurality of clients uses an application program interface.

5. The method of providing live media streaming via a data communications network of claim 2 , further comprising storing at the MFDSP the requested segments obtained from at least one client manifest.

6. The method of providing live media streaming via a data communications network of claim 1 , wherein forming a client manifest for a first client of the plurality of clients may be implemented by retrieving a stored client manifest that was formed for a second client of the plurality of clients.

7. The method of providing live media streaming via a data communications network of claim 1 further comprising forming a requested segment from at least one stored transcoded segment in response to a request from the MFDSP, and sending the formed requested segment to the MFDSP.

8. A server system for providing live media streaming via a data communications network, the system comprising: one or more processors; and memory comprising instructions that when executed by a combination of the one or more processors causes the combination of processors to: receive a stream of data representing live media content, the stream of data comprising a plurality of source segments; access timing data of each of the received plurality of source segments of the stream of data; create a mapping that provides an association of the timing data of the received plurality of source segments to time values obtained from a system clock, wherein the mapping associates the timing data of each of the received plurality of source segments to the time value of the system clock at the time the source segment was received; transcode the plurality of received source segments to form transcoded segments and store the transcoded segments; receive requests from a plurality of clients to receive live media content; assign a respective offset time value to each of the plurality of clients, wherein at least two offset time values are different; form, for each client of the plurality of clients, a respective client manifest based on the offset time value assigned to the client, the respective client manifest enabling the client to obtain requested segments of the live media content that have time values according to the mapping that are offset from the value of the system clock by the respective offset time value assigned to the respective client; and send the client manifests to the respective clients via the data communications network.

9. The server system for providing live media streaming via a data communications network of claim 8 , wherein the client manifests comprise information that enables the respective clients to obtain the requested segments for the requested live media content from a media file delivery service provider (MFDSP).

10. The server system for providing live media streaming via a data communications network of claim 9 , wherein the respective offset time values are assigned so that processing needed by the MFDSP to provide the requested segments is reduced.

11. The server system for providing live media streaming via a data communications network of claim 8 , wherein sending the client manifest to at least one of the plurality of clients uses an application program interface.

12. The server system for providing live media streaming via a data communications network of claim 9 , further comprising storing at the MFDSP the requested segments obtained from at least one client manifest.

13. The server system for providing live media streaming via a data communications network of claim 8 , wherein forming a client manifest for a first client of the plurality of clients may be implemented by retrieving a stored client manifest that was formed for a second client of the plurality of clients.

14. The server system for providing live media streaming via a data communications network of claim 9 further comprising forming a requested segment from at least one stored transcoded segment in response to a request from the MFDSP, and sending the formed requested segment to the MFDSP.

15. A computer program product embodied on a nontransitory computer-readable medium and comprising code that, when executed, causes one or more processors to: receive via a data communications network a stream of data representing live media content, the stream of data comprising a plurality of source segments; access timing data of each of the received plurality of source segments of the stream of data; create a mapping that provides an association of the timing data of the received plurality of source segments to time values obtained from a system clock, wherein the mapping associates the timing data of each of the received plurality of source segments to the time value of the system clock at the time the source segment was received; transcode the received plurality of source segments to form transcoded segments and storing the transcoded segments in memory; receive requests from a plurality of clients to receive live media content; assign a respective offset time value to each of the plurality of clients, wherein at least two offset time values are different; form, for each client of the plurality of clients, a respective client manifest based on the offset time value assigned to the client, the respective client manifest comprising information enabling the client to obtain requested segments of the live media content that have time values according to the mapping that are offset from the value of the system clock by the respective offset time value assigned to the respective client; and send the client manifests to the respective clients via the data communications network.

16. The computer program product of claim 15 , wherein the information in each client manifest enables the respective client to obtain the requested segments of the live media content from a media file delivery service provider, and wherein the respective offset time values are assigned so that the processing needed by the MFDSP to provide the requested segments is reduced.

17. The computer program product of claim 15 , wherein forming a client manifest for a first client of the plurality of clients may be implemented by retrieving a stored client manifest that was formed for a second client of the plurality of clients.

18. The computer program product of claim 16 , wherein the code causes the one or more processors to form a requested segment from at least one stored transcoded segment in response to a request from the MFDSP, and sending the formed requested segment to the MFDSP.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Jun 12, 2025
From: BRIGHTCOVE INC.
To: INTESA SANPAOLO S.P.A., AS SECURITY AGENT
Reel/Frame 071575/0646 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME FROM ALBERT JOHN MCGOWEN TO ALBERT JOHN MCGOWAN PREVIOUSLY RECORDED ON REEL 32389 FRAME 669. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 25, 2024
From: MCGOWAN, ALBERT JOHN
To: UNICORN MEDIA, INC.
Reel/Frame 069439/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2015
From: CACTI ACQUISITION LLC
To: BRIGHTCOVE INC.
Reel/Frame 034745/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2014
From: UNICORN MEDIA, INC.
To: CACTI ACQUISITION LLC
Reel/Frame 033788/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2014
From: MCGOWEN, ALBERT JOHN; HUFFMAN, NIKO THOMAS JOHN; MAULTSBY, NICHOLAS; JOHNSON, MATTHEW A.
To: UNICORN MEDIA, INC.
Reel/Frame 032389/0669 →