Abstract:
A resource manager transforms the MPEG7 descriptors into an active and composite storage, processing, and presentation component in a storage area network (e.g. iSCSI). The active component can enable fast search and retrival operation directly on the logical disk blocks which maps well with the multimedia video stream and images data. It can also support content addressable search on the video and image files and play the media blocks directly. In addition, it enables a dynamic configuration of a media processing function after it is loaded in an execution environment. The data block is moved from the iSCSI interface directly into processing modules and presentation modules via decoder, buffer, and constraint control units.

Description:
FIELD OF THE INVENTION 
     The present invention generally relates to network storage systems, and relates in particular to use of a network storage system to accomplish an intelligent and high performance MPEG media storage, execution, and presentation system. 
     BACKGROUND AND SUMMARY OF THE INVENTION 
     Conventional file systems do not record the context needed to search multimedia files based on the contents of the media. One important objective of MPEG7 is to provide a descriptor definition for meta data and content framework to facilitate content based search for multimedia data. While MPEG7 defines the descriptor, it does not specify the implementation of MPEG7 as a total storage system. With the advance of an iSCSI protocol which supports IP based storage area networks, integration of an MPEG7 descriptor with the iSCSI protocol can provide a location transparent data access interface for a distributed application to share multimedia data without having to write complex, distributed, communication codes in the application and file systems. 
     In accordance with the present invention, a resource manager transforms the MPEG7 descriptors into an active and composite storage, processing, and presentation component in a storage area network (e.g, iSCSI). The active component can enable a dynamic configuration of a media processing function after it is loaded in an execution environment. The data block is moved from the iSCSI interface directly into processing modules and presentation modules via decoder, buffer, and constraint control units. 
     Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein: 
         FIG. 1  is a block diagram of an intelligent MPEG media storage, execution, and presentation system in accordance with the present invention; 
         FIGS. 2A-2C  are block diagrams of meta descriptor storage blocks in accordance with the present invention; and 
         FIG. 3  is a block diagram of an execution environment employing the MPEG media storage, execution, and presentation system and the metadata descriptors according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The following description of the preferred embodiments is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses. 
     Referring to  FIG. 1 , the intelligent MPEG media storage, execution, and presentation system in accordance with the present invention includes a resource manager  10  that discovers the available iSCSI Targets  12 A- 12 E from iSNS Notification mechanism by observing device Reg and Unreg events for iSCSI Targets  12 A- 12 E. The issue is to obtain device specific information about the capacity, etc. when iSCSI Targets  12 A- 12 E register to iSNS server  14 . 
     Recorder Unit  16  handles the concurrent recording sessions. Instead of writing to local hard disk, the iSCSI Initiator  18  is used to store the data on the iSCSI Targets  12 A- 12 E. Resource Manager  10  instructs the Recorder Unit  16  to record which RT(C)P over UDP flow to where (iSCSI Target). The media data is temporarily buffered in the recorder controller and eventually moved to the recorder using the iSCSI initiator interface. Recorder Unit  16  registers itself to a directory in resource manger  10  via Service Location Protocol—Service Agent (SLP-SA)  19 . This registration contains the service type definition. 
     Playback Unit  20  handles the concurrent playback operations. The data is fetched from iSCSI Initiator interface  22  and sent through the RTP over UDP interface  24 . Resource Manager  10  instructs the Playback Unit  20  from where to start reading and to where to send the RTP packets. Playback Unit  20  registers itself via SLP-SA  26  and contains the service type definition. 
     Resource Manager  10  interacts with the SLP layer with User Agent interface  27  and Directory Agent Interface  28  to receive the Recorder Unit  16  and Playback Unit  20  registrations. Resource Manager  10  discovers the iSCSI Targets  12 A- 12 E from iSNS server  14 . In this respect, Resource Manager  10  behaves as a Storage Manager Service. Meta-data about the MPEG media data block placement are stored in extended MPEG-7 definition on OpenLDAP (XML2RDBMS mapping) for location information. This meta-data contains the content creation descriptors as well as the block layout of the media data on iSCSI Targets  12 A- 12 E. 
     Instead of creating layers of file system and IP layer protocols, the iSCSI mapped disk partition is modeled by Resource Manager  10  using a content addressable MPEG descriptor. The mpeg descriptor provides all the information needed about locating the block of storage. For example, SCSI mapped disk blocks may contain MPEG 2 and/or mpeg4 streams. In this case, the Resource Manager  10  can allocate a special partition to store the MPEG 7 descriptors. The descriptor blocks are designed to provide fast access to blocks of media blocks stored in the disk partition mapped from the iSCSI The system supports two types of search. A first type of search is based on identification of the recorded media stream. A second type of search is based on features extracted from the content of the media and stored in the MPEG7 descriptor. The second type of search is referred to herein as “MPEG7 assisted content addressable search.” Example features include: (a) creator of the media content; (b) time of creation; (c) place of creation; (d) special features such as person, face, car, and color of objects; and (e) relationship between the objects defined in MPEG7 descriptor. 
     Turning now to  FIG. 2 , the meta descriptor blocks have various functions. For example, there can be a function block tag  30  ( FIG. 2A ), a constraint block tag  32  ( FIG. 2B ), and a data placement head pointer block tag  34  ( FIG. 2C ). Function block tags can contain identifiers for retrieval, decoder, and play to screen functions as further explained below. In an XML format, a constraint block tag may contain three sub-tags, each having a function pointer for synchronizing functions identified by the function block tags. Data placement block tags can contain a logical disk block ID that can be used to access the data blocks in the disk. 
     The most basic function is to represent a description of a tree structured XML file containing composite MPEG7 contents with additional media playback control and physical mapping of data blocks. For example, the meta descriptor block in  FIG. 2A  contains a set of function descriptors, F 1 ( ), F 2 ( ), F 3 ( ), and F 8 ( ), that can be loaded into an execution unit. A function may have parameters to specify input and output of the function which can be used to define connection between the functions. A function may also be a simple reference function that contains a pointer to data blocks to be retrieved. This function can simply specify one or more data blocks to be retrieved. A function can specify data blocks to be retrieved plus a decoder for decoding the data blocks and/or a target screen to which the data blocks are to be played back. The execution unit stores the code that can be linked with the dynamically loaded meta function descriptors. 
     Another type of control descriptor is a constraint descriptor. A constraint descriptor contains an execution relationship of a set of function descriptors. A constraint descriptor, such as the example in  FIG. 2B , contains constraints C 1 (F 1 ( ), F 2 ( 2 ), F 3 ( )) and C 2 (F 4 ( ), F 5 ( )). For example, C 1  can specify that a set of functions F 1 , F 2 , and F 3  are to be concatenated to perform a pipelined process. C 2  can specify a simultaneous execution of function F 4  and F 5  to display media in two separate windows. 
     A further type of descriptor is a data placement descriptor as shown in  FIG. 2C , which contains one or more pointers to a list of logical disk block IDs. The structure of the list of logical disk block ID is implementation dependent; therefore, is not listed here. 
     To playback a set of composite content, a constraint descriptor is first loaded into a constraint execution unit. Then, depending on the relationship specified in the constraint descriptor, a function descriptor is loaded into the execution unit. The meta descriptor block can be stored in XML files or other efficient storage mechanisms, such as a multi-list. The media blocks are stored in logical disk blocks directly using the data placement mapping blocks to achieve high speed processing and random access to data blocks. The function execution unit can retrieve and operate on the logical data block directly without using a file system. In this case, the function execution unit has a direct iSCSI interface to the disk block to allow for fast media storage and retrieval. The constraint control descriptor provides synchronization as required between two parallel execution function blocks to support synchronized display among multiple video streams. 
     With the Meta Data Descriptor, a complex multimedia presentation is stored in a form that is efficient in the iSCSI disk and can be accessed directly without going through a conventional file system. Turning now to  FIG. 3 , a presentation is a set of MPEG7 descriptors stored and retrieved from the iSCSI disk partitions. There is a mapping of data blocks based on the placement function. MPEG-7 based XML files are converted into a set of meta descriptors. The meta descriptor is stored in iSCSI blocks based on the set of placement functions. The placement functions allocate iSCSI block and place the meta descriptor and media into the physical blocks. Then, the placement functions create a set of index descriptors stored in the disk  40 . 
     To retrieve a presentation, a presentation control unit  42  employs resource manager  10  to reference an index descriptor to find a meta descriptor block. From the meta descriptor block, a constraint control descriptor  46  is loaded into the constraint execution unit  43 . Then an execution function  48  (e.g, retrieve, decode, and play to screen functions) identified by the meta descriptor block is retrieved and loaded into the execution units  44 . After execution function  48  is loaded into the execution units  44 , the presentation control unit  42  initiates the constraint control unit  43  to execute the function  48  loaded in the execution units  44 . In this case, the decoder gets the data from the retrieve function, and passes decoded data to the play to screen function. The presentation control unit  48  can interact with a user through a user interface or through a stored program control. 
     The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. Such variations are not to be regarded as a departure from the spirit and scope of the invention.