Data stream protocol for multimedia data streaming data processing system
First Claim
1. In a multimedia data processing system comprising a personal computer having processor and a storage system, said storage system including a memory for storing at least one multimedia application program and a multitasking operating system for execution by said processor, data streaming apparatus operable under said operating system and said application program for streaming data from a source device to a target device in accordance with a streaming protocol, said apparatus comprising:
- a plurality of programmable stream handlers stored in said storage system and including at least one source stream handler and at least one target stream handler;
a plurality of predefined streaming protocol control blocks (SPCBs) stored in said storage system and including a first SPCB for said source stream handler and a second SPCB for said target stream handler;
each of said predefined SPCBs containing a plurality of fields for storing stream protocol parameters including data type, number of buffers needed to maintain continuous streaming of data, and size of buffers;
said source stream handler comprising a callable first routine for creating a source thread as a task under said operating system and blocking such source thread, and a callable second routine for unblocking said source thread and streaming data from said source device to said buffers;
said target stream handler comprising a callable third routine for creating a target thread as a task under said operating system and blocking such target thread, and a callable fourth routine for unblocking said target thread and streaming data from said buffers to said target device;
and stream manager means operable in response to execution of a stream create call instruction in said application program, to create a data stream bycalling said first routine and said third routine to set up source and target threads as multitask threads under said operating system and block on such threads,creating a negotiated source SPCB and a negotiated target SPCB by negotiating differences between said first and second SPCBs, said negotiated source SPCB and said negotiated target SPCB defining a negotiated streaming protocol mutually acceptable to both said source handler and said target handler,and dynamically allocating in said memory a plurality of buffers for said data stream in accordance with said streaming protocol defined in said negotiated source and target SPCBs.
1 Assignment
0 Petitions
Accused Products
Abstract
A data stream is created for moving data from a source to a target in accordance with a stream protocol defined by controlling stream protocol control blocks (SPCBs) created from a predefined source SPCB and a predefined target SPCB. The controlling SPCBs include information establishing a plurality of data buffers that are used to efficiently stream or transfer data on a real-time basis. The controlling SPCBs are formed by a process of negotiation in which differences between the source and target SPCBs are reconciled in accordance with rules of negotiation. Once the data stream is created, it is then started by the application program and data is streamed until an end of stream is reached.
-
Citations
18 Claims
-
1. In a multimedia data processing system comprising a personal computer having processor and a storage system, said storage system including a memory for storing at least one multimedia application program and a multitasking operating system for execution by said processor, data streaming apparatus operable under said operating system and said application program for streaming data from a source device to a target device in accordance with a streaming protocol, said apparatus comprising:
-
a plurality of programmable stream handlers stored in said storage system and including at least one source stream handler and at least one target stream handler; a plurality of predefined streaming protocol control blocks (SPCBs) stored in said storage system and including a first SPCB for said source stream handler and a second SPCB for said target stream handler; each of said predefined SPCBs containing a plurality of fields for storing stream protocol parameters including data type, number of buffers needed to maintain continuous streaming of data, and size of buffers; said source stream handler comprising a callable first routine for creating a source thread as a task under said operating system and blocking such source thread, and a callable second routine for unblocking said source thread and streaming data from said source device to said buffers; said target stream handler comprising a callable third routine for creating a target thread as a task under said operating system and blocking such target thread, and a callable fourth routine for unblocking said target thread and streaming data from said buffers to said target device; and stream manager means operable in response to execution of a stream create call instruction in said application program, to create a data stream by calling said first routine and said third routine to set up source and target threads as multitask threads under said operating system and block on such threads, creating a negotiated source SPCB and a negotiated target SPCB by negotiating differences between said first and second SPCBs, said negotiated source SPCB and said negotiated target SPCB defining a negotiated streaming protocol mutually acceptable to both said source handler and said target handler, and dynamically allocating in said memory a plurality of buffers for said data stream in accordance with said streaming protocol defined in said negotiated source and target SPCBs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification