Methods and apparatus for pacing delivery of streaming media data
First Claim
1. A network caching system to cache streaming media, comprising:
- a processor;
a non-volatile mass storage facility coupled to the processor, to cache streaming media data; and
a memory storing program code, for execution by the processor, the code implementing;
an operating system;
a protocol dependent caching subsystem, which includes a plurality of streaming media encoders to support a plurality of streaming media protocols, wherein the protocol dependent caching subsystem is configured to interact with an upstream server, including to obtain from the upstream server streaming media data encoded according to a particular streaming media protocol, to decode the streaming media data for storage in the mass storage facility, and subsequently to encode the streaming media data into a first streaming media protocol used by a client system after the streaming media data is retrieved from the mass storage facility for delivery to the client system; and
a protocol independent caching subsystem, distinct from the protocol dependent caching subsystem, configured to manage flow of streaming media data to and from the operating system in a streaming media protocol independent manner, including to store the streaming media data obtained from the upstream server in the mass storage facility after the streaming media data has been decoded by the protocol dependent caching subsystem, in a form that is encapsulated in a network protocol to be optimized for delivery to the client system, and to store streaming protocol specific metadata with the streaming media data in the mass storage facility, and subsequently to retrieve the streaming media data from the mass storage facility for subsequent encoding by the protocol dependent caching subsystem and delivery to the client system, wherein the protocol independent caching subsystem further is configured to deliver the streaming media data to the client system according to the first streaming media protocol and to control a pace of delivery of the streaming media data to the client.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system having a memory for providing streaming media in one of a plurality of streaming media protocols includes a first plurality of interfaces configured to initiate reading of packet meta-data and packets of payload data from a memory, and a second plurality of interfaces configured to output streaming media packets to a client system at a requested pace, wherein the streaming media packets are determined in response to the packet meta-data, to the packets of payload data, and to a streaming media protocol requested, wherein the packet meta-data and the packets of payload data are read from the memory at a pace independent of the requested pace for the streaming media packets, and wherein the second plurality of interfaces support more than one streaming media protocol.
-
Citations
18 Claims
-
1. A network caching system to cache streaming media, comprising:
-
a processor; a non-volatile mass storage facility coupled to the processor, to cache streaming media data; and a memory storing program code, for execution by the processor, the code implementing; an operating system; a protocol dependent caching subsystem, which includes a plurality of streaming media encoders to support a plurality of streaming media protocols, wherein the protocol dependent caching subsystem is configured to interact with an upstream server, including to obtain from the upstream server streaming media data encoded according to a particular streaming media protocol, to decode the streaming media data for storage in the mass storage facility, and subsequently to encode the streaming media data into a first streaming media protocol used by a client system after the streaming media data is retrieved from the mass storage facility for delivery to the client system; and a protocol independent caching subsystem, distinct from the protocol dependent caching subsystem, configured to manage flow of streaming media data to and from the operating system in a streaming media protocol independent manner, including to store the streaming media data obtained from the upstream server in the mass storage facility after the streaming media data has been decoded by the protocol dependent caching subsystem, in a form that is encapsulated in a network protocol to be optimized for delivery to the client system, and to store streaming protocol specific metadata with the streaming media data in the mass storage facility, and subsequently to retrieve the streaming media data from the mass storage facility for subsequent encoding by the protocol dependent caching subsystem and delivery to the client system, wherein the protocol independent caching subsystem further is configured to deliver the streaming media data to the client system according to the first streaming media protocol and to control a pace of delivery of the streaming media data to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network caching system to cache streaming media, comprising:
-
a processor; a non-volatile mass storage facility coupled to the processor, to cache streaming media data; and a memory storing program code, for execution by the processor, the code implementing; an operating system; a protocol dependent caching subsystem, which includes a plurality of streaming media encoders to support a plurality of streaming media protocols, wherein the protocol dependent caching subsystem is configured to interact with an upstream server, including to obtain from the upstream server streaming media data encoded according to a particular streaming media protocol, to decode the streaming media data for storage in the mass storage facility, and subsequently to encode the streaming media data into a first streaming media protocol used by a client system after the streaming media data is retrieved from the mass storage facility for delivery to the client system; and a protocol independent caching subsystem, distinct from the protocol dependent caching subsystem, configured to manage flow of streaming media data to and from the operating system in a streaming media protocol independent manner, including to store the streaming media data obtained from the upstream server in the mass storage facility after the streaming media data has been decoded by the protocol dependent caching subsystem, in a form that is encapsulated in a network protocol to be optimized for delivery to the client system, and to store streaming protocol specific metadata with the streaming media data in the mass storage facility, wherein the streaming media data are stored in the mass storage facility as a plurality of discrete data objects, each of said data objects containing a separate portion of a media stream in the form of a plurality of media packets formatted for a particular streaming media protocol, the protocol independent caching subsystem further configured to subsequently retrieve the streaming media data from the mass storage facility for subsequent encoding by the protocol dependent caching subsystem and delivery to the client system, wherein the protocol independent caching subsystem further is configured to deliver the streaming media data to the client system according to the first streaming media protocol and to control a pace of delivery of the streaming media data to the client, wherein the streaming media data are read from the mass storage facility at a pace independent of a requested pace for streaming the streaming media data. - View Dependent Claims (9, 10, 11)
-
-
12. A method of operating a streaming media cache on a network, comprising:
-
using a protocol dependent caching subsystem in the cache, which includes a plurality of streaming media encoders to support a plurality of streaming media protocols, to obtain from an upstream server streaming media data encoded according to a particular streaming media protocol; using the protocol dependent caching subsystem to decode the streaming media data for storage in a mass storage facility of the cache; using a protocol independent caching subsystem in the cache, distinct from the protocol dependent caching subsystem, to store the decoded streaming media data in the mass storage facility after the streaming media data has been decoded by the protocol dependent caching subsystem, in a form that is encapsulated in a network protocol to be optimized for delivery to the client system, and to store streaming protocol specific metadata with the streaming media data in the mass storage facility; in response to a request for the streaming media data from a client system, using the protocol independent caching subsystem to retrieve the streaming media data from the mass storage facility for subsequent encoding by the protocol dependent caching subsystem; and using the protocol dependent caching subsystem to encode the streaming media data retrieved from the mass storage facility into a first streaming media protocol used by the client system; and using the protocol independent caching subsystem to deliver the encoded streaming media data to the client system according to the first streaming media protocol and to control a pace of delivery of the streaming media data to the client. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification