Patent ID: 7478164

Claim:
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.