Media streaming in a database
First Claim
1. A method of streaming data from a database system to a client system, comprising:
- receiving a stream request at a database system from a streaming server to stream a selection of media data where at least part of the media data is stored in a media object;
opening a cursor indicating the media object, where the cursor locks the media object and prevents the media object from being altered;
sending a reference to the media object to the streaming server;
sending a media type of the media data stored in the media object to the streaming server;
opening a media socket, where the media socket is identified by media socket information, and where the media socket is used to establish a media connection between the database system and the client system;
sending the media socket information to the streaming server; and
streaming the media data in the media object across the media connection to the client system using a quality of service module in the database system, where the quality of service module uses one or more dedicated quality of service module tasks to stream data.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for streaming data from a database system to a client system. In one implementation, a database management system includes: one or more data storage facilities for use in storing data composing records in tables of a database, where the data includes media data stored in one or more media objects; one or more processing modules configured to manage the data stored in the data-storage facilities; one or more quality of service modules configured to manage streaming media data from the data-storage facilities; and a database management component configured to receive stream requests and database queries for data stored in the data-storage facilities, including passing a stream request indicating media data to the processing module that corresponds to the data-storage facility storing the media data indicated by the stream request.
-
Citations
8 Claims
-
1. A method of streaming data from a database system to a client system, comprising:
-
receiving a stream request at a database system from a streaming server to stream a selection of media data where at least part of the media data is stored in a media object; opening a cursor indicating the media object, where the cursor locks the media object and prevents the media object from being altered; sending a reference to the media object to the streaming server; sending a media type of the media data stored in the media object to the streaming server; opening a media socket, where the media socket is identified by media socket information, and where the media socket is used to establish a media connection between the database system and the client system; sending the media socket information to the streaming server; and streaming the media data in the media object across the media connection to the client system using a quality of service module in the database system, where the quality of service module uses one or more dedicated quality of service module tasks to stream data.
-
-
2. A method of streaming data from a database system to a client system comprising:
-
receiving a stream request at a database system from a streaming server to stream a selection of media data, where at least part of the media data is stored in a media object; assigning a worker task for locating and accessing the media object in response to the stream request; opening a cursor indicating the media object using the worker task, where the cursor locks the media object and prevents the media object from being altered; sending a reference to the media object to the streaming server using the worker task; signaling the QOS module to prepare for streaming using the worker task; assigning a QOS module task to prepare for streaming; opening a media socket using the QOS module task, where the media socket is identified by media socket information, and where the media socket is used to establish the media connection; buffering media data for streaming using the QOS module task; sending a media type of the media data stored in the media object to the streaming server using the worker task; requesting the media socket information from the QOS module task using the worker task; sending the media socket information to the streaming server using the worker task; receiving a play request from the streaming server; releasing the worker task after receiving the play request and establishing the media connection between the database system and the client system; streaming the media data in the media object across the media connection to the client system using a quality of service module in the database system, where the quality of service module uses one or more dedicated quality of service module tasks to stream data; closing the cursor after completing streaming the media data; closing the media connection using the QOS module task after completing streaming the media data; and releasing the QOS module task.
-
-
3. A method of requesting data be streamed from a database system to a client system, comprising:
-
receiving a client stream request at a streaming server from a client system to stream a selection of media data, where at least part of the media data is stored in a media object in a database system; passing the client stream request to a streaming application plug-in; generating a streaming server stream request based on the client stream request within the streaming application plug-in; sending the streaming server stream request to the database system; receiving a media type of the media data stored in the media object from the database system; receiving media socket information from the database system, where the media socket information identifies the media socket and the media socket is used to establish a media connection between the client system and the database system; sending the media type and the media socket information to the client system; sending an open cursor request to the database system for a cursor indicating the media object; sending a reference request to the database system for a reference to the media object; receiving the reference to the media object from the database system; sending a type request for the media to the database system; and sending a close cursor request to the database system to close the open cursor;
where the open cursor request, the reference request, the type request, and the close cursor request are generated by the streaming application plug-in based on the client stream request. - View Dependent Claims (4)
-
-
5. A computer program stored on a tangible storage medium, for use in streaming data from a database system to a client system, the program comprising executable instructions that cause a computer to:
-
receive a stream request at a database system from a streaming server to stream a selection of media data, where at least part of the media data is stored in a media object; open a cursor indicating the media object, where the cursor locks the media object and prevents the media object from being altered; send a reference to the media object to the streaming server; send a media type of the media data stored in the media object to the streaming server; open a media socket, where the media socket is identified by media socket information; send the media socket information to the streaming server; establish the media connection between the database system and the client system using the media socket; and stream the media data in the media object across the media connection to the client system using a quality of service module in the database system, where the quality of service module uses one or more dedicated quality of service module tasks to stream data.
-
-
6. A computer program, stored on a tangible storage medium, for use in streaming data from a database system to a client system, the program comprising executable instructions that cause a computer to:
-
receive a stream request at a database system from a streaming server to stream a selection of media data, where at least part of the media data is stored in a media object; assign a worker task for locating and accessing the media object in response to the stream request; open a cursor indicating the media object using the worker task, where the cursor locks the media object and prevents the media object from being altered; send a reference to the media object to the streaming server using the worker task; signal the QOS module to prepare for streaming using the worker task; assign a QOS module task in the database system to prepare for streaming; open a media socket using the QOS module task, where the media socket is identified by media socket information; establish a media connection between the database system and the client system using the media socket; buffer media data for streaming using the QOS module task; send a media type of the media data stored in the media object to the streaming server using the worker task; request the media socket information from the QOS module task using the worker task; send the media socket information to the streaming server using the worker task; receive a play request from the streaming server; release the worker task after receiving the play request and establishing the media connection; stream the media data in the media object across the media connection to the client system using the OS module task; close the cursor after completing streaming the media data; close the media connection using the QOS module task after completing streaming the media data; and release the QOS module task.
-
-
7. A computer program, stored on a tangible storage medium, for use in requesting data be streamed from a database system to a client system, the program comprising executable instructions that cause a computer to:
-
receive a client stream request at a streaming server from a client system to stream a selection of media data, where at least part of the media data is stored in a media object in a database system; pass the client stream request to a streaming application plug-in; generate a streaming server stream request based on the client stream request within the streaming application plug-in; send the streaming server stream request to the database system; send an open cursor request to the database system for a cursor indicating the media object; send a reference request to the database system for a reference to the media object; receive the reference to the media object from the database system; send a media type request for the media data stored in the media object to the database system; receive the media type of the media data stored in the media object from the database system; receive media socket information from the database system where the media socket information identifies the media socket and the media socket is used to establish a media connection between the client system and the database system; send the media type and the media socket information to the client system; and send a close cursor request to the database system to close the open cursor;
where the open cursor request, the reference request, the type request, and the close cursor request are generated by the streaming application plug-in based on the client stream request. - View Dependent Claims (8)
-
Specification