IP Library Granted Patent US 7,054,911
Granted Patent B1
US 7,054,911 · App. 09/981,672 · Granted May 30, 2006

Streaming media bitrate switching methods and apparatus

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,054,911
App. No.
09/981,672
Granted
May 30, 2006
Kind
B1
Abstract

A method for operating a streaming media cache includes receiving a series of streaming media data packets from an upstream server, each of the series of streaming media data packets having media data encoded in one of a plurality of encoding formats, forming bundles of data packets from the series of streaming media data packets, and storing bundles of data packets into a disk memory when every data packet within each bundle have a similar encoding format.

Claims (56)

1. A method for storing data in a streaming media cache including disk memory, the method comprising:

receiving a first plurality of data packets from an upstream server, the data packets comprising payload data and meta data, wherein the meta data for each data packet from the first plurality of data packets indicate a first encoding scheme for the payload data;

receiving a second plurality of data packets from the upstream server, the data packets comprising payload data and meta data, wherein the meta data for each data packet from the second plurality of data packets indicate a second encoding scheme for the payload data;

storing a first set of data packets in a buffer from a series of data packets comprising the first plurality of data packets and the second plurality of data packets, until the buffer is full; and

storing the first set of data packets to the disk memory when the meta data for each data packet in the first set of data packets indicates only one encoding scheme for the payload data.

2. The method of claim 1 wherein the buffer stores a set number of data packets; and

wherein the method further comprises:

storing a second set of data packets in the buffer from the series of data packets, wherein data packets from the second set of data packets are received after data packets the first set of data packets; and

storing the second set of data packets to the disk memory when the meta data for each data packet in the second set of data packets indicates only one encoding scheme for the payload data.

3. The method of claim 2

wherein the meta data for data packets in the second set of data packets indicates payload data in the first encoding scheme and the second encoding scheme; and

wherein the second set of data packets is not stored to the disk memory.

4. The method of claim 1

wherein each data packet in the first set of data packets indicates only the first encoding scheme; and

wherein the first set of data packets is stored to the disk memory.

5. The method of claim 1 further comprising:

sending a request to the upstream server for data packets in the second encoding scheme.

6. The method of claim 1 wherein storing the first set of data packets in the buffer comprises storing data packets from the series of data packets based upon data packet presentation time, in the buffer, until the buffer is full.

7. The method of claim 1 further comprising

sending the first plurality of data packets to a downstream client, and

sending the second plurality of data packets to the downstream client.

8. A streaming media cache

a buffer configured to receive a first plurality of data packets from a media server, the data packets comprising payload data and meta data, wherein the meta data for each data packet from the first plurality of data packets indicate a first encoding scheme for the payload data, wherein the buffer is also configured to receive the second plurality of data packets from the media server, wherein the meta data for each data packet from the second plurality of data packets indicate a second encoding scheme for the payload data, and wherein the buffer is configured to store a first set of data packets from a series of data packets comprising the first plurality of data packets and the second plurality of data packets; and

a disk memory configured to store the first set of data packets from the buffer when the meta data for each data packet in the first set of data packets indicates only one encoding scheme for the payload data in the first set of data packets.

9. The streaming media cache of claim 8 wherein the buffer is configured to store a set number of data packets;

wherein the buffer is also configured to store a second set of data packets from the series of data packets, wherein data packets from the second set of data packets have presentation time stamps later than data packets the first set of data packets; and

wherein the disk memory is configured to store the second set of data packets when the meta data for each data packet in the second set of data packets indicates only one encoding scheme for the payload data in the second set of data packets.

10. The streaming media cache of claim 9

wherein the meta data for data packets in the second set of data packets indicates payload data in the first encoding scheme and in the second encoding scheme.

11. The streaming media cache of claim 8

wherein each data packet in the first set of data packets indicates only the first encoding scheme or only the second encoding scheme.

12. The streaming media cache of claim 8 wherein the first encoding scheme and the second encoding scheme have different bit rates.

13. The streaming media cache of claim 8 further comprising a indicator unit configured to determine whether the disk memory stores the second plurality of data packets.

14. The streaming media cache of claim 8 further comprising an output portion configured to stream the first plurality of data packets to a client system and configured to stream the second plurality of data packets to the client system.

15. A method comprising:

receiving a set of related data in a plurality of encoding formats; and

storing the set of related data to a mass storage facility in a plurality of chunks, such that each chunk includes a portion of the set of related data, such that within each of the chunks all of the data have the same encoding format, and such that the data in at least one chunk of the plurality of chunks have a different encoding format from the data in at least one other chunk of the plurality of chunks.

16. The method of claim 15 wherein the encoding formats have different parameters selected from the group: bit rate, bit depth, thinning parameters and output resolution.

17. The method of claim 15 , wherein the method is implemented within a Processing system that includes the mass storage facility, and wherein a chunk of data packets stored into the mass storage facility is directly accessible by a file system of the processing system.

18. The method of claim 15 , wherein the set of related data is a set of streaming media data.

19. The method of claim 15 , wherein the set of related data comprises a plurality of data packets.

20. The method of claim 15 , wherein the set of related data comprises a plurality of streaming data packets.

21. The method of claims 20 further comprising:

sending a request for streaming media data packets in a first encoding format to an upstream server; and

sending a request for streaming media data packets in a second encoding format to the upstream server.

22. A network caching device comprising:

a processor;

a network interface through which to communicate with a server and a client;

a mass storage facility; and

a memory storing instructions which, when executed by the processor, cause the network caching device to perform a process that includes

receiving a set of related streaming media data in a plurality of encoding formats from the server, for delivery to the client, and

storing the set of related streaming media data to the mass storage facility in a plurality of chunks, each of the chunks including a portion of the received set of related streaming media data, such that within each of the chunks all of the streaming media data have the same encoding format, and such that the streaming media data in at least one chunk of the plurality of chunks have a different encoding format from the streaming media data in at least one other chunk of the plurality of chunks.

23. The network caching device of claim 22 , wherein the streaming media data received from the server comprises a plurality of data packets.

24. An apparatus comprising:

means for receiving a set of related streaming media data in a plurality of encoding formats from a server; and

means for storing the set of related streaming media data to a mass storage facility in a plurality of chunks, each of the chunks including a portion of the received set of related streaming media data, such that within each of the chunks all of the streaming media data have the same encoding format, and such that the streaming media data in at least one chunk of the plurality of chunks have a different encoding format from the streaming media data in at least one other chunk of the plurality of chunks.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
CORRECTION BY DECLARATION TO REVISE NAME OF ASSIGNEE Recorded Feb 14, 2012
From: LANGO, JASON; ROUSSOS, KONSTANTINOS; TSAI, ROBERT; WAGNER, J. CHRISTOPHER
To: NETWORK APPLIANCE, INC.
Reel/Frame 027714/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2007
From: NETWORK APPLIANCE INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 018883/0685 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2002
From: LANGO, JASON; ROUSSOS, KONSTANTINOS; TSAI, ROBERT; WAGNER, J. CHRISTOPHER
To: NETWORK APPLIANCE
Reel/Frame 012417/0187 →