Abstract:
Techniques for caching media data, including streaming media data, using content-sensitive identifiers. The content-sensitive identifiers enable a caching proxy or a caching server to unambiguously determine the version or contents of media data cached by the caching proxy for a particular data pointer or data reference (e.g., a URL) such that an appropriate version of the media data can be served to a requesting client system in an efficient and economical manner.
Abstract:
A network caching system has a multi-protocol caching filer coupled to an origin server to provide storage virtualization of data served by the filer in response to data access requests issued by multi-protocol clients over a computer network. The multi-protocol caching filer includes a file system configured to manage a sparse volume that “virtualizes” a storage space of the data to thereby provide a cache function that enables access to data by the multi-protocol clients. To that end, the caching filer further includes a multi-protocol engine configured to translate the multi-protocol client data access requests into generic file system primitive operations executable by both the caching filer and the origin server.
Abstract:
A technique is disclosed for restoring data of sparse volumes, where one or more block pointers within the file system structure are marked as ABSENT, and fetching the appropriate data from an alternate location on demand. Client data access requests to the local storage system initiate a restoration of the data from a backing store as required. A demand generator can also be used to restore the data as a background process by walking through the sparse volume and restoring the data of absent blocks. A pump module is also disclosed to regulate the access of the demand generator. Once all the data has been restored, the volume contains all data locally, and is no longer a sparse volume.
Abstract:
An apparatus and method for managing of common storage in a storage system is disclosed. In one embodiment, a storage system receives a request to set a space reservation for a volume associated with a logical aggregation of physical storage. In response, the storage system sets the space reservation to indicate that the logical aggregation of physical storage is to provide a specified amount of space to the volume. In one embodiment, space within the logical aggregation of physical storage is automatically reclaimed to set a delayed space reservation if the amount of unused space within the logical aggregation of physical storage is insufficient to set the space reservation. In one embodiment, the volume is either a space-reclaimable volume or a non-space-reclaimable volume. Other embodiments are described and claimed.
Abstract:
A method for reducing output traffic bursts in a streaming media cache includes receiving a request from a first client system for a stream of media data, the stream of media data including a first streaming media data packet and a second streaming media data packet, receiving a request from a second client system for the stream of media data, receiving the first streaming media data packet from an upstream server, the first streaming media data packet including a delivery time, determining a first modified delivery time for the first streaming media data packet, determining a second modified delivery time for the first streaming media data packet, the first modified delivery time different from the second modified delivery time, modifying the first streaming media data packet with the first modified delivery time to form a first modified first streaming media data packet, modifying the first streaming media data packet with the second modified delivery time to form a second modified first streaming media data packet, outputting the first modified first streaming media data packet to the first client system at the first modified delivery time, and outputting the second modified first streaming media data packet to the second client system at the second modified delivery time.
Abstract:
A method for recording a complete stream of live data packets from a server in a media cache with reduced server-cache bandwidth includes utilizing a first amount of server-cache bandwidth to receive only a portion of the complete stream of live data packets from the server, determining when the stream of live data packets from the server finishes, thereafter utilizing a second amount of server-cache bandwidth to receive missing portions of the complete stream of live data packets, and combining the portion of the complete stream of live data packets and the missing portions of the complete stream of live data packets to form the complete stream of live data packets in the memory.
Abstract:
Multiple domains are created for processes of a storage server. The processes are capable of execution on a plurality of processors in the storage server. The domains include a first domain, which includes multiple threads that can execute processes in the first domain in parallel, to service data access requests. A data set managed by the storage server is logically divided into multiple subsets, and each of the subsets is assigned to exactly one of the threads in the first domain, for processing of data access requests directed to the data set.
Abstract:
A method for pre-computing a streaming media payload in a server includes receiving a data file from a streaming media server, determining a plurality of data packets from the data file, dividing the plurality of data packets into a plurality of sets of data packets, forming a plurality of data objects, each data object comprising a set of data packets from the plurality of sets of data packets, and storing the plurality of data objects in a server memory, wherein each data object is individually accessible from the server memory.