IP Library Granted Patent US 7,337,231
Granted Patent B1
US 7,337,231 · App. 09/739,066 · Granted Feb 26, 2008

Providing media on demand

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 7,337,231
App. No.
09/739,066
Granted
Feb 26, 2008
Kind
B1
Abstract

Providing media on demand includes a trace-adaptive fragmentation scheme generating a plurality of segment fragmentation schemes for broadcasting data on a link across a network from a host to a set of clients. The set of data includes frames of information and can include media-on-demand, such as video-on-demand. The trace-adaptive fragmentation scheme considers a characteristic of the data in generating the plurality of segment fragmentation schemes. The trace-adaptive fragmentation scheme also selects one of the plurality of segment fragmentation schemes to use in broadcasting the data to the set of clients for each item of data included in the data. In selecting a segment fragmentation scheme for each item of data, the trace-adaptive fragmentation scheme attempts to reduce data loss in broadcasting the data to the set of clients and considers whether a segment fragmentation scheme reduces a gap between a peak aggregate rate of the data broadcast to the client and a minimal aggregate rate of the data broadcast to the client for simultaneously broadcast segments of data.

Claims (71)

1. A method for delivering data to a set of clients over a network by way of a communication link having a bandwidth capacity, the method comprising:

partitioning the data into a plurality of segments;

generating multiple candidate segment fragmentation schemes for broadcasting the plurality of segments to the set of clients over the communication link, each of the candidate segment fragmentation schemes representing a different schedule and being based on a characteristic of the data for broadcasting the data to the set of clients; and

selecting one of the multiple candidate segment fragmentation schemes to use in said broadcasting based on whether a candidate segment fragmentation scheme contributes to reducing data loss caused by aggregate traffic in excess of the bandwidth capacity of the communication link when the segments are simultaneously transmitted over the communication link.

2. The method of claim 1 wherein the characteristic is an interval of time between a time the set of clients requests the data to a time that the data is transmitted to the set of clients.

3. The method of claim 1 wherein the characteristic is a number of streams that the set of clients can download at one time.

4. The method of claim 1 wherein the characteristic is a guarantee that the set of clients receives continuous playout of the data.

5. The method of claim 1 wherein the characteristic is a number of segments that can simultaneously be broadcast to the set of clients.

6. The method of claim 1 further comprising:

considering in selecting one of the multiple candidate segment fragmentation schemes for an item of data included in the data whether a segment fragmentation scheme provides a minimal peak aggregate rate of the data for simultaneously broadcast segments of data included in the data.

7. The method of claim 1 further comprising:

broadcasting each segment included in the selected segment fragmentation scheme to the set of clients along the communication link included in the network.

8. The method of claim 7 wherein the network includes the Internet.

9. The method of claim 1 wherein the data includes media that the set of clients can request at any time.

10. The method of claim 1 wherein the selected segment fragmentation scheme guarantees a quality of service to the set of clients.

11. The method of claim 1 wherein the data includes variable bit rate encoded data.

12. The method of claim 1 wherein the data includes constant bit rate data.

13. The method of claim 1 wherein the set of clients include devices capable of displaying the data.

14. The method of claim 1 wherein the data includes multiple frames of data.

15. The method of claim 14 wherein a sequence of the multiple frames is known prior to generating the multiple candidate segment fragmentation schemes.

16. The method of claim 14 wherein a size of each of the multiple frames is known prior to generating the multiple candidate segment fragmentation schemes.

17. The method of claim 1 wherein each of the clients in the set of clients receives the data from at least two links capable of carrying the data across a network.

18. An article comprising a machine-readable medium which stores machine-executable instructions for delivering data, the instructions causing a machine to:

partition data into a plurality of segments;

generate multiple candidate segment fragmentation schemes for broadcasting the plurality of segments to a set of clients over a communication link in a network;

consider a characteristic of the data in generating the multiple candidate segment fragmentation schemes for the plurality of segments;

select one of the multiple candidate segment fragmentation schemes to use in broadcasting the data to the set of clients for each item included in the data; and

consider in selecting one of the multiple candidate segment fragmentation schemes for an item of data included in the set of data whether a candidate segment fragmentation scheme contributes to reducing data loss caused by aggregate traffic in excess of the bandwidth capacity of the communication link when segments are simultaneously broadcast on the communication link.

19. The article of claim 18 wherein the characteristic is an interval of time between a time the set of clients requests the data to a time that the data is transmitted to the set of clients.

20. The article of claim 18 wherein the characteristic is a number of streams that the set of clients can download at one time.

21. The article of claim 18 wherein the characteristic is a guarantee that the set of clients receives continuous playout of the data.

22. The article of claim 18 wherein the characteristic is a number of segments that can simultaneously be broadcast to the set of clients.

23. The article of claim 18 further comprising instructions for causing a machine to:

consider in selecting one of the multiple candidate segment fragmentation schemes for an item of data included in the data whether a candidate segment fragmentation scheme provides a minimal peak aggregate rate of the data for simultaneously broadcast segments of data included in the data.

24. The article of claim 18 further comprising instructions for causing a machine to:

broadcast each segment included in the selected segment fragmentation scheme to the set of clients along the communication link included in the network.

25. The article of claim 24 wherein the network includes the Internet.

26. The article of claim 18 wherein the data includes media that the set of clients can request at any time.

27. The article of claim 18 wherein the selected segment fragmentation scheme guarantees a quality of service to the set of claims.

28. The article of claim 18 wherein the data includes variable bit rate encoded data.

29. The article of claim 18 wherein the data includes constant bit rate data.

30. The article of claim 18 wherein the set of clients includes devices capable of displaying the data.

31. The article of claim 18 wherein the data includes multiple frames of data.

32. The article of claim 31 wherein a sequence of the multiple frames is known prior to generating the multiple candidate segment fragmentation schemes.

33. The article of claim 31 wherein a size of each of the multiple frames is known prior to generating the multiple candidate segment fragmentation schemes.

34. The article of claim 18 wherein each of the clients in the set of clients receives the data from at least two links capable of carrying the data across a network.

35. A system comprising:

a client device configured to receive data from a network; and

a host configured to partition the data into a plurality of segments and to generate multiple candidate segment fragmentation schemes for broadcasting the plurality of segments to the client device over a communication link in the network, each candidate segment fragmentation scheme representing a different schedule for broadcasting the segments, the host executing a process that causes the host to:

consider a characteristic of the data in generating the multiple candidate segment fragmentation schemes for the plurality of segments,

select one of the multiple candidate segment fragmentation schemes to use in broadcasting the data to the client device for each item of data included in the data,

consider in selecting one of the multiple candidate segment fragmentation schemes for each item of data included in the data whether a candidate segment fragmentation scheme contributes to reducing data loss caused by aggregate traffic in excess of the bandwidth capacity of the communication link when segments are simultaneously transmitted over the communication link, and

transmit the data to the client device over the communication link through the network according to the segment fragmentation scheme selected for each item of data included in the data.

36. The system of claim 35 further comprising:

a storage unit accessible to the host and configured to store the data.

37. The system of claim 35 further comprising:

a storage unit accessible to the client and configured to store the data.

38. The system of claim 35 wherein the client comprises:

a display device configured to display the data.

39. The system of claim 35 wherein the characteristic is an interval of time between a time the set of clients requests the data to a time that data is transmitted to the set of clients.

40. The system of claim 35 wherein the characteristic is a number of streams that the set of clients can download at one time.

41. The system of claim 35 wherein the characteristic is a guarantee that the set of clients receives continuous playout of the data.

42. The system of claim 35 wherein the characteristic is a number of segments that can simultaneously be broadcast to the set of clients.

43. The system of claim 35 wherein the selected segment fragmentation scheme provides a minimal peak rate of aggregate traffic on the network for simultaneously broadcast segments.

44. The system of claim 35 wherein the selected segment fragmentation scheme provides a minimal gap between the peak aggregate rate of traffic on the network and the minimal aggregate rate of traffic on the network for simultaneously broadcast segments of data included in the data.

45. A method for delivering a set of data to a set of clients over a network by way of a communication link having a bandwidth capacity, the method comprising:

partitioning the set of data into a plurality of segments;

generating a plurality of candidate segment fragmentation schemes for the plurality of segments for transmitting the set of data to a client;

considering in the generating an amount of time that it takes for a first segment in an item of data included in the set of data to reach the client, a maximum number of data streams that the client can simultaneously receive, and a maximum number of data streams that a host of the set of data can transmit for each item of data included in the set of data;

selecting one of the plurality of candidate segment fragmentation schemes for each item of data included in the set of data, the selected segment fragmentation scheme for each item of data included in the set of data either providing a minimal peak rate of aggregate traffic for simultaneously broadcast segments of data included in the set of data or providing a minimal gap between a peak rate of aggregate traffic and a minimal rate of the aggregate traffic for simultaneously broadcast segments of data included in the set of data; and

considering in the selecting an amount of data lost caused by aggregate traffic in excess of the bandwidth capacity of the communication link when transmitting the set of data to the client under each of the plurality of candidate segment fragmentation schemes.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 032422/0919 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027164/0356 →
CHANGE OF NAME Recorded Jun 3, 2011
From: NORTEL TECHNOLOGY LIMITED
To: NORTEL NETWORKS TECHNOLOGY CORPORATION
Reel/Frame 026389/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2011
From: LI, FULU
To: NORTEL TECHNOLOGY LIMITED
Reel/Frame 026356/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2011
From: NORTEL NETWORKS TECHNOLOGY CORPORATION
To: NORTEL NETWORKS LIMITED
Reel/Frame 026331/0442 →