Dynamic medium content streaming system
DC CAFCFirst Claim
1. A streaming on demand system comprising an on-demand requester object installed on a computing device, said on-demand requester object being configured to receive I/O requests on behalf of an application for which data is available in data packs for streaming delivery, said on-demand requester object being responsive to application I/O requests, said application I/O requests corresponding to sequential and non-sequential data packs, said data packs being portions of a complete data stream, said I/O requests determining an order in which data packs are sought for the application, said on-demand requester object comprising a minifilter associated with a filter manager in an I/O stack, said filter manager being configured to call the minifilter, said minifilter having a preoperation callback routine for the I/O request registered with the filter manager, and said minifilter being configured to receive each I/O request from the application, said minifilter being further configured to reference a table that includes names and paths with at least one offset address and length where each data pack required to fulfill each I/O request is located, said minifilter being further configured to determine if the data pack has been streamed to the system, and said application being a program configured to use the data packs that fulfill each I/O request when the data packs are available on the computing device.
0 Assignments
Litigations
1 Petition
Accused Products
Abstract
A streaming on demand system includes an on-demand requester object installed on a computing device. The on-demand requester object is configured to receive I/O requests for an application for which data is available in data packs for streaming delivery. The on-demand requester object includes a minifilter associated with a filter manager in an I/O stack. The minifilter receives each I/O request from the application, references a table that includes at least one address where each data pack required to fulfill each I/O request is located, and determines if the data pack has been streamed to the system. The table may also include a size indicator for each data pack. The minifilter loads before compression and filter minifilter drivers in the I/O stack. The minifilter attaches to the I/O stack by registering with a filter manager in the I/O stack for I/O requests for the application for which data is available in data packs for streaming delivery. The minifilter passes on a read call if a required data pack is available locally and if all data in the required data pack has been received. The minifilter withholds a read call if a required data pack is not available locally or if all data in the required data pack has not been received. If an I/O request is a write operation, the minifilter writes an address and size indicator corresponding to the write operation to the table. If the I/O request is a create operation, the minifilter attaches extended data to a file stream.
15 Citations
20 Claims
- 1. A streaming on demand system comprising an on-demand requester object installed on a computing device, said on-demand requester object being configured to receive I/O requests on behalf of an application for which data is available in data packs for streaming delivery, said on-demand requester object being responsive to application I/O requests, said application I/O requests corresponding to sequential and non-sequential data packs, said data packs being portions of a complete data stream, said I/O requests determining an order in which data packs are sought for the application, said on-demand requester object comprising a minifilter associated with a filter manager in an I/O stack, said filter manager being configured to call the minifilter, said minifilter having a preoperation callback routine for the I/O request registered with the filter manager, and said minifilter being configured to receive each I/O request from the application, said minifilter being further configured to reference a table that includes names and paths with at least one offset address and length where each data pack required to fulfill each I/O request is located, said minifilter being further configured to determine if the data pack has been streamed to the system, and said application being a program configured to use the data packs that fulfill each I/O request when the data packs are available on the computing device.
-
14. A streaming on demand method comprising installing an on-demand requester object on a computing device having an I/O manager, said on-demand requester object being configured to receive I/O requests from the I/O manager on behalf of an application for which data is available in data packs for streaming delivery, said on-demand requester object being responsive to application I/O requests, said application I/O requests corresponding to sequential and non-sequential data packs, said data packs being portions of a complete data stream, said I/O requests determining an order in which data packs are sought for the application, said on-demand requester object comprising a minifilter associated with a filter manager in an I/O stack, said filter manager being configured to call the minifilter, said minifilter having a preoperation callback routine for the I/O request registered with the filter manager, and
said minifilter receiving each I/O request from the I/O manager, said minifilter referencing a table that includes names and paths with at least one offset address and length where each data pack required to fulfill each I/O request is located, said minifilter determining if the data pack required to fulfill each I/O request been streamed to the system, and said application using the data packs that fulfill each I/O request when the data packs are available on the computing device.
Specification