US6070228A - Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters - Google Patents

Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters Download PDF

Info

Publication number
US6070228A
US6070228A US08/940,275 US94027597A US6070228A US 6070228 A US6070228 A US 6070228A US 94027597 A US94027597 A US 94027597A US 6070228 A US6070228 A US 6070228A
Authority
US
United States
Prior art keywords
media
server
media server
media data
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/940,275
Inventor
William Russell Belknap
Steven K. Elliot
Gerald Edward Kozina
Tram Thi Mai Nguyen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US08/940,275 priority Critical patent/US6070228A/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BELKNAP, WILLIAM RUSSELL, ELLIOT, STEVEN K., KOZINA, GERALD EDWARD, NGUYEN, TRAM THI MAI
Priority to US09/471,230 priority patent/US6434680B2/en
Application granted granted Critical
Publication of US6070228A publication Critical patent/US6070228A/en
Priority to US10/187,292 priority patent/US6978348B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data

Definitions

  • This invention is related to data storage systems and methods for storing data, and more particularly it is related to caching data and controlling the caching of data.
  • multimedia applications require that a large reservoir of multimedia data, including audio and video data, be readily accessible for delivery to a client.
  • multimedia servers are employed to deliver multimedia data, it is not practical to provide extensive data storage within these servers. Accordingly, a low-cost high-capacity media archive may be employed in order to store large volumes of multimedia data which are downloaded via the media server to a client.
  • One disadvantage associated with the use of a high-capacity media archive is that there is a delay in the transfer of multimedia data from the media archive to the client via the media server. Therefore, it is difficult to ensure that media data will be available for rapid delivery to a client upon request.
  • the media server must be managed so as to store multimedia data which is likely to be requested by a particular client.
  • a multimedia data storage system for storing multimedia data which includes a media server which stores media data on a short-term basis, and a media archive which stores media data on a long-term basis relative to the media server.
  • the media archive is connected to the media server, which operates as a cache device for the media archive, for transmission of media data between the media archive and the media server.
  • a volume of the media data stored in the media server is controlled based on user-defined parameters.
  • the media data includes a portion of a media object and the media server begins to output the media object upon request if the portion of the media object is at least a predetermined fraction of the media object defined by a first parameter of the user-defined parameters.
  • the media server has a maximum storage capacity.
  • a second parameter of the user-defined parameters is provided which defines an upper capacity volume which is no more than the maximum storage capacity of the media server.
  • the media server reduces the volume of the media data stored therein if the volume of the media data is greater than the upper capacity volume.
  • a method for managing a media server as a cache device for a media archive within a multimedia data storage system.
  • the media server stores media data on a short-term basis, while the media archive stores media data on a long-term basis relative to the media server.
  • the media archive is connected to the media server for transmission of media data therebetween.
  • the inventive method includes determining a volume of the media data stored in the media server and controlling the volume of the media data stored in the media server based on user-defined parameters.
  • the media data includes a portion of a media object and the method further includes initiating an output of the media object from the media server upon request if the portion of the media object is at least a predetermined fraction of the media object defined by a first parameter of the user-defined parameters.
  • the media server has a maximum storage capacity and a second parameter of the user-defined parameters is an upper capacity volume which is no more than the maximum storage capacity of the media server.
  • the controlling aspect of the inventive method includes reducing the volume of the media data stored in the media server when the volume of the media data is greater than the upper capacity volume.
  • a computer-readable medium of instructions which is to be implemented in a multimedia data storage system including a media server and a media archive.
  • the media server stores media data on a short-term basis and the media archive stores media data on a long-term basis relative to the media server.
  • the media archive is connected to the media server for transmission of media data therebetween.
  • the inventive computer-readable medium of instructions includes means for determining a volume of the media data stored in the media server and means for controlling the volume of the media data stored in the media server based on user-defined parameters.
  • FIG. 1 shows a diagram of a multimedia data storage system according to a preferred embodiment of the present invention, which includes a library client, a digital library, a media server, and a media archive.
  • FIG. 2 shows a diagram depicting the internal elements of the digital library along with a library client which interacts with the library.
  • FIG. 3 shows a graphical user interface which incorporates an aspect of the present invention.
  • FIGS. 4A-4D show flow charts which incorporate the steps of the inventive method of managing a media server as a cache device for a media archive within a multimedia data storage system, according to a preferred embodiment of the invention.
  • FIG. 5 shows a diagram of an alternative embodiment of the inventive multimedia data storage system which includes a client, an automation control system, a media server and a media archive.
  • the present invention relates to the management of a media server as a cache device to a media archive in a multimedia data storage system.
  • the management of the media server is automated such that the volume of media data stored within the media server is controlled in accordance with user-defined parameters. These parameters address the time-based utilization of media data files, the storage utilization of the media server, network bandwidth, the availability of constrained resources (i.e. tape drives in an automated tape library subsystem), and user-assigned file priorities.
  • the above-mentioned management scheme is designed to ensure that the most commonly accessed multimedia data files are maintained on the media server.
  • multimedia data files which are utilized less frequently are copied to the media archive and then deleted from the media server as necessary.
  • the inventive management scheme may also further optimize the use of the media server's limited storage by ensuring that only a small portion of a particular multimedia data object or file is retained within the media server. In this manner, the portion of the multimedia data file stored within the media server can be delivered to the client while the remainder is being retrieved from the media archive.
  • FIG. 1 depicts a multimedia data storage system according to a preferred embodiment of the present invention, which may employ a digital library, as described in U.S. Pat. No. 5,649,185 to Antognini et al., which is incorporated herein by reference.
  • the system is computer based and includes a library client 100, a client media output station 110, the digital library 120 mentioned above, a media server 130 and a media archive 140.
  • the relationship between the client 100 and the digital library 120 is explained in greater detail below with reference to FIG. 2 which also shows the internal elements of the digital library 120.
  • the digital library 120 includes a library server 210 and at least one media object server 220 which interact with the library client 100.
  • the library server 210 and the media object server 220 each have access to a local information store.
  • the library server 210 has access to a library catalog 212, while the media object server 220 has access to an object store 222.
  • a communications isolator (not shown) is included which allows the library server 210, the media object server 220 and the library client 100 to communicate with one another without the client being concerned with complex communications protocols.
  • the library server 210, the media object server 220 and the library client 100 are connected by a communications network, such as a wide-area network (WAN).
  • WAN wide-area network
  • Each library client 100 sends a request to the library server 210 to store, retrieve, and update media objects which may be stored in the media object server 220, the media server 130 or the media archive 140, and to update and query the media object indexes and descriptive information stored in library catalog 12.
  • the library client 100 requests are generated by library patrons. These patrons are users who have been granted privileges for the use of the library system.
  • library server 10 checks the library catalog 212 to ensure that the patron's name and password are valid. Next, the library server 210 ensures that the patron has been granted the appropriate privileges to perform the requested action. Each patron is assigned a set of privileges by a system administrator. An example of a library privilege is the ability to delete media objects.
  • the library server 210 checks to ensure that the media object's owner has granted the patron the privileges needed to do what is requested (e.g., update the media object).
  • the owner of a media object preferably is the patron who first stored the media object. When an owner stores a media object that owner must specify which other patrons are to have access to the media object.
  • Media objects stored in the library system can be checked out by a patron for a specified period of time. This feature can be used to ensure that one patron's updates to a media object are not overwritten by another. While a media object is checked out by a patron, other patrons can retrieve the media object and view it, but they cannot update it.
  • a system administrator can define patrons as members of a group. When a patron is defined as a member of a group, that patron is able to access any media object for which the group has been granted privileges. Additionally, patrons can access media objects for which they have been specifically granted individual privileges.
  • a patron can set default groups whose members will have access to the media objects the patron stores. When patrons store media objects, they have the option to use this default group, to grant specific privileges to groups and individual patrons, or to do both.
  • the library server 210 forwards the request to the media object server 220, which manages the storage of media object(s) referred to in the request, based upon information provided by library catalog 212. If the library client request is a query of the information stored in the library catalog 212, the library server 210 will interact only with the library catalog 212 and will not contact the media object server 220.
  • the library catalog is analogous to a conventional library's card catalog. It is a single set of database tables which contain an index of all the media objects stored in the library system. In addition, it can store information such as textual descriptions for each media object, information on the type of media object (e.g., image object, spreadsheet, text document), library patron names and privileges, access authorization data for each media object, links between objects.
  • the library catalog can also store a virtually unlimited number of property type/property value pairs for each object (e.g., movie/TRUE LIES, movie -- type/ACTION). These property type/property value pairs are known as an object's properties.
  • the media object server 220 is the device which manages the storage of media objects within the library system.
  • the media object server 220 manages the storage of media objects independent of whether they are stored locally in the media object store 222 or at a remote location within, for example, the media server 130 or the media archive 140.
  • the media object server 220 receives requests from the library server 210 and communicates with the library client 100 to complete the requests.
  • the digital library can contain several distributed media object servers. Each of these object servers is computer based and is provided with software to facilitate managing the storage of media objects. This software may be stored in a computer readable medium of instructions such as a hard drive, an optical disk drive, or a similar device employing a computer readable format.
  • the advantage of distributed media object storage is that it helps to reduce the costs associated with sending media objects over communications lines and provides better performance in storing and retrieving media objects.
  • a default media object server can be set for the patron.
  • a patron stores a media object, it will be stored in the default media object server for that patron unless there is a dedicated media server which handles that particular media object server.
  • a client application can move the media objects from one media object server to another.
  • a system managed storage method such as that disclosed in a U.S. patent application Ser. No. 08/036,305 filed Mar. 24, 1993 and assigned to IBM Corporation, entitled “A Method And System For Parallel, System Managed Storage For Objects On Multiple Servers" by T. G. Burket et al. which is incorporated herein by reference, provides a means for moving a media object from one media object server to another.
  • the library client 100 is the interface through which application programs can submit requests to the library system. These can include requests to store and retrieve media objects, update/add descriptors to media objects, delete media objects and query information in the library catalog. Library requests can be submitted through the library client either individually or in batches.
  • the multimedia storage system of FIG. 1 is provided with a separate media server 130 which may be, for example, a dedicated video or audio server.
  • a separate media server 130 which may be, for example, a dedicated video or audio server.
  • a media archive 140 is employed in order to store video data on a long-term basis, while a media server 130 is employed to store video data on a short-term basis.
  • more than one media server 130 may be provided.
  • the media archive 140 and the media server 130 are connected so as to transmit media data therebetween.
  • the video archive 140 may be provided with tape drives (not shown) to facilitate the storage of media data.
  • the media archive 140 and media server 130 may be connected via a high bandwidth load channel.
  • the media data stored in the media archive 140 may be quickly delivered to the dedicated media server 130 under the control of the media object server 220.
  • the media server 130 will then deliver the same to a dedicated client media output station 110 such as a client viewer including a video display, which is separate from the client 100.
  • the client media output station 110 may be included in the client 100.
  • the video display may be a television, a broadcast monitor, or a computer terminal including a CRT tube or a flat panel display.
  • the media data may be delivered to the client media output station 110 as an asynchronous transfer mode (ATM) based video stream.
  • ATM asynchronous transfer mode
  • the media archive 140 may relinquish control over a media object or a group of media objects to the client 100, so that the later may instruct the media server 130 to output the media object(s) to the client media output station 110.
  • the media server 130 and the media archive 140 be carefully managed so that the media data which is most likely to be requested by a user may be stored within the media server 130 for immediate delivery to the client media output station 110.
  • the remaining media data being stored within the media archive 140 may be retrieved as needed.
  • the present invention controls the volume of media data stored in the media server 130 based on user-defined parameters.
  • user-defined parameters include, but are not limited to the eight parameters discussed below. These parameters may be influenced by the available bandwidth of the multimedia data storage system.
  • the first parameter defines a predetermined fraction of a media object which must be retained within the media server 130 before the output of the media data to the client media output station 110 can be commenced.
  • the second parameter defines an upper capacity volume which corresponds to a volume of media data that the media server 130 can store internally before a destaging process is commenced.
  • This destaging process transfers the media data from the media server 130 to the media archive 140 so that the media data can be made deletable to make room for other media data as discussed below. In this way, the media data stored in the media server 130 can be reduced.
  • a third parameter defines the lower capacity volume of the media server 130, which corresponds to a volume of media data that when reached signifies that the destaging process is terminated.
  • a fourth parameter defines a predetermined period of time that is selected by the user during which the destaging process can be accomplished.
  • the media data stored in the media server 130 corresponds to a portion of the media data which remains after reduction of the volume of the media data.
  • the second portion of the media data corresponds to a portion of the media data which is to be deleted from the media server 130 during reduction of the volume of the media data stored therein.
  • the second portion of the media data may be stored in the media archive 140 prior to being deleted from the media server 130 during reduction of the volume of the media data stored therein.
  • a fifth parameter defines a selection algorithm by which the second portion of the media data is selected for the destaging process.
  • the selection algorithm may be based on a first in first out (FIFO) scheme.
  • the selection algorithm may be based on a predefined priority scheme in which each media object included within the second portion of the media data stored in the media server 130 is selected in accordance with a priority level which is assigned to the media object, the lower priority level media objects being selected first.
  • a group of media objects may be assigned a common priority level.
  • a sixth parameter of the user-defined parameters defines a deletion algorithm by which the second portion of the media data is deleted.
  • the deletion algorithm may be based on a scheme in which the least recently used media data is deleted first from the media server.
  • the deletion algorithm may correspond to the priority scheme described above in connection with the selection algorithm.
  • a seventh parameter of the user-defined parameters defines predefined amounts of the media data, by which the volume of the media data stored in the media server 130 is reduced.
  • the volume of the media data stored in the media server 130 may be reduced by 10 gigabytes at a time.
  • Each predefined amount of the media data may be defined as a percentage of the total cache storage of the media server 130.
  • the total cache storage of the media server 130 may be, for example, 800 gigabytes.
  • an eighth parameter of the user-defined parameters may be employed which defines a predetermined amount of the second portion of the media data stored in the media server 130 which is to be deleted from the media server 130.
  • the second portion of the media data stored in the media server 130 may be deleted 10 gigabytes at a time.
  • the predetermined amount may correspond to a media object or multiple media objects.
  • a single media object may correspond to a segment of a television show.
  • the operational aspects of the media server 130 as they relate to managing the same as a cache device to the media archive 140 include four main components, as discussed below.
  • the first component involves the loading of new media objects, such as videos, audio files, or other types of objects, within the multimedia data storage system. If these media objects relate to a specific dedicated media server 130, then they are stored initially in the media server 130. Accordingly, if a video object is to be stored within the multimedia data storage system, then the video object is initially stored within the media server 130 which, in this case, will also be a video server.
  • new media objects such as videos, audio files, or other types of objects
  • the second component involves the retrieval of media objects stored within the media server 130.
  • any access request for a particular media object by the client 100 is sent from the library server 210 to the media object server 220, which updates the access data associated with the media object.
  • This access data includes the time and date of the access request, the time and date of the most recent access request and the status of the media object (i.e. whether the object is deletable because it is stored in the media archive 140).
  • the media object server 220 determines whether the object is stored in the media server 130 or the media archive 140. If the media object is located within a cache memory (i.e disk(s) which are not shown) of the media server 130, then it is transferred by the media server 130 to the client media output station 110 under the control of the media object server 220.
  • the graphical user interface is generated by the client 100.
  • the media object is staged (i.e. transferred) from the media archive 140 to the media server 130 in the manner described below. Thereafter, the status of the media object is passed from the media server 130 to the media object server 220 so that the media object server 220 can update the access information associated with the media object.
  • the media object retrieved from the media archive 140 and stored in the media server 130 is marked as deletable because it is still stored within the media archive 140 as well.
  • the access information has been updated, the media object is transferred to the client media output station 110. However, the output of the media object can commence even though the staging process is not yet complete.
  • the media object may be output from the media server 130 as soon as a portion of the media object is stored within the media server 130 which is at least a predetermined fraction of the media object defined by the first parameter described above.
  • the present invention may also employ a graphical user interface to control the output of the media object from the media server 130 to the client media output station 110.
  • An exemplary graphical user interface which is shown in FIG. 3, includes a number of control buttons and a slide bar for entering commands in order to control the output of a video object (i.e. media object) from the media server 130 to the client media output station 110.
  • Control buttons 500-540 correspond to functions which are usually associated with conventional VCR's. Specifically, control button 500 corresponds to a pause command by which a portion of a video object currently being played is paused. Control button 510 corresponds to a rewind command by which the portion of the video currently being played is rewound towards the beginning of that portion. Control button 520 corresponds to a play command by which the video object is played at normal speed. Control button 530 corresponds to a slow forward command by which the video object is played at half its normal speed.
  • Control button 540 corresponds to a fast forward command by which the video object is played at three times the normal speed.
  • the control button 540 is enabled only if the portion of the video object stored within the media server 130 is sufficiently large to allow for the use of the control button 540.
  • the control button 540 will be disabled. The point at which the control button 540 will be disabled depends on the bandwidth of the channel linking the media server 130 and the media archive 140, and the current size of the portion of the video object which is stored in the media server 130.
  • the video player's graphical user interface may also include a control button (not shown) which corresponds to a stop command by which the portion of the video data is halted and removed from the video display.
  • slide bar 550 Also included within the video player's graphical user interface is a slide bar 550.
  • the slide bar allows direct access to any position within the video object which is proportional to the entire duration of the video object. However, the slide bar 550 only provides for relatively large jumps from one frame of digital video data to another, the jumps being taken in both the forward and backward direction. If only a portion of the video object is stored in the media server 130, the size of the slide bar 550 shown in the graphical user interface will depend on the size of the portion of the video object which is stored in the media server 130 and the bandwidth of the channel which connects the media server 130 and the media archive 140. Accordingly, the smaller the portion of the video object stored in the media server 130, the shorter the slide bar 550 will appear on the graphical user interface.
  • An additional aspect of the video player's graphical user interface is the ability to display indexing information corresponding to time codes.
  • indexing information corresponding to time codes.
  • four time code display windows 560-590 are provided as part of the graphical user interface which depict the hour, minute, second, and frame, respectively, associated with a particular time code.
  • time code buttons 600-630 are provided on the graphical user interface.
  • a first time code buttons 600 allows for the user to jump within the segment of digital video data in hour increments.
  • a second time code button 610 allows the user to jump within the portion of the video object in minute increments.
  • a third time code button 620 allows the user to jump within the portion of the video object in second increments.
  • a fourth time code button 630 allows the user to jump within the portion of the video object in discrete frame increments.
  • the client 100 will request that the media server 130 start the play-back of that portion of the video object starting from the frame associated with the time code entry on the video display.
  • the time code buttons 600-630 may be disabled if the portion of the video object stored in the media server 130 is too small to support the requested jump.
  • the third component involves the destaging process mentioned above, in which media objects stored within the media server 130 are moved to the media archive 140 under the control of the media object server 220.
  • the staging process involves the transfer of media objects from the media archive 140 to the media server 130. After the media object is copied to the media archive 140, it is validated for size and integrity so that the copy of the media object stored in the media server 130 may be marked as deletable.
  • the fourth component involves a deletion process, which is also an important aspect of the present invention.
  • the deletion process may run after or simultaneously with the destaging process and involves deleting media objects which have been marked deletable.
  • the removal of media data from the media server is orchestrated so that there will be sufficient space for media data which is requested by the library patron.
  • media data which is less likely to be requested by a library patron may be removed first so that there is a greater likelihood that the remaining data will have a higher probability of being requested by that patron.
  • the user initially specifies in step 700 user-defined parameters which are to be used in the destaging and deletion processes. Thereafter, a volume of the media data stored in the media server 130 is determined in step 710. Finally, the volume of the media data stored in the media server 130 is controlled based on the specified user-defined parameters.
  • the second parameter of the user-defined parameters is an upper capacity volume which is no more than the maximum storage capacity of the media server 130.
  • the volume of the media data stored in the media server 130 is reduced in step 730, as shown in FIG. 4B, when the volume of the media data reaches the upper capacity volume.
  • FIG. 4B depicts additional aspects of the controlling step 720 mentioned above.
  • step 740 it is determined in step 740 whether the reduction in the volume of media data has been completed based on the volume itself. If the reduction in volume is itself based on volume, then in step 750 it is determined whether the volume of the media data stored in the media server 130 has been reduced to a lower capacity volume of the media server which corresponds to the third parameter mentioned above. If the volume has not been reduced to the lower capacity volume, then step 730 is repeated. If, however, the volume of the media data has been reduced to the lower capacity volume then step 770 is performed, in which the reduction procedure is terminated.
  • step 740 it is determined whether a predetermined period of time corresponding to the fourth parameter mentioned above has elapsed. If the predetermined period of time has not elapsed, then the reduction step 730 is repeated. However, if the predetermined period of time has elapsed, then the termination step 770 is performed.
  • the media data includes first and second portions.
  • the second portion of the media data is deleted from the media server 130, whereas the first portion of the media data corresponds to a portion of the media data stored in the media server 130 which remains after a reduction in the volume of the media data has been achieved.
  • the above-mentioned second portion of the media data may be selected in batches for destaging, which correspond to predefined amounts, in step 780 in accordance with a selection algorithm defined by the fifth parameter mentioned above.
  • these batches need not correspond to specific blocks of memory. Rather, the predefined amounts may correspond to media object(s).
  • the selected batch or batches may be marked as deletable.
  • step 785 it is determined in step 785 whether the deletion algorithm is to run contemporaneously with the selection algorithm in accordance with a user's preference. If the two algorithms are to run simultaneously, then step 790 is performed, in which the selected batch of the second portion of the media data is deleted in accordance with a deletion algorithm defined by the sixth parameter mentioned above.
  • the deleted batches correspond to predefined amounts of the media data whose size are set by the eighth parameter mentioned above. In this regard, the sizes of the selected and deleted batches are the same when the selection and deletion algorithms are carried out contemporaneously.
  • the second portion of the media data may be stored in the media archive 140 prior to its deletion from the media server.
  • step 740 is performed as described above. Thereafter, in step 795, as shown in FIG. 4D, which follows step 770 shown in FIG. 4B, it is determined whether the deletion algorithm is to run after the selection algorithm has run. If this is the case, then in step 799, the second portion of the media data which includes the selected batches will be deleted in accordance with a deletion algorithm defined by the sixth parameter discussed above. In this regard, the deletion batch size may be different from the selected batch size, as determined by the seventh and eighth parameters.
  • a second embodiment of the present invention is described below in connection with FIG. 5.
  • the second embodiment employs an automation control system 820 (which may be a broadcast automation control system) instead of a digital library (element 120 of FIG. 1).
  • the multimedia data storage system including the automation control system may be employed in a broadcast environment in which real-time control is critical. Accordingly, the broadcast automation control system must control the delivery of media objects from the media server 130 to the client media output station 110 so that they are output according to an exact schedule.
  • the automation control system 820 is provided with a media cache control logic circuit 825 which previews a schedule corresponding to the times and dates when media objects must be delivered for output.
  • the media cache control logic circuit 825 then controls the destaging of the media objects from the media archive 140 to the media server 130 prior to the output of those media objects. In this way, the media objects will be ready for output according to the predefined schedule.
  • the above-mentioned schedule is generated by the client 100 and output to the broadcast automation control system 820.
  • the multimedia data storage system employing the automation control system 820 is similar to the one described above in connection with the digital library.
  • the selection algorithm defined by the fifth parameter may be based on a scheme in which media objects are selected after the last repeated play (if any) in the schedule.
  • the deletion algorithm defined by the sixth parameter may also be based on a similar scheme.
  • the automation control system 820 may be, for example, a Louth System, manufactured by LOUTH AUTOMATION in Menlo Park, Calif.
  • the automation control system may be the LOUTH ADC-100, which is well known in the art.
  • the media objects stored in the multimedia data storage system of the second embodiment may correspond to text, video or audio files, or some combination of those files.
  • the broadcast automation control system may be implemented as a component of a digital library.

Abstract

The present invention is directed to a multimedia data storage system for storing multimedia data including a media server which stores media data on a short-term basis, and a media archive which stores media data on a long-term basis relative to the media server. The media archive is connected to the media server, which operates as a cache device for the media archive, for transmission of media data between the media archive and the media server. According to the present invention, a volume of the media data stored in the media server is controlled based on user-defined parameters. The present invention is also directed to a method of managing a media server as a cache device for a media archive within a multimedia data storage system. The media server stores media data on a short-term basis, whereas the media archive stores media data on a long-term basis relative to the media server. The media archive is connected to the media server for transmission of media data therebetween. According to the present invention, the method of managing includes determining a volume of the media data stored in the media server and controlling the volume of the media data stored in the media server based on user-defined parameters. The present invention is also directed to a computer-readable medium of instructions to be implemented in a multimedia data storage system including a media server and a media archive. The media server stores media data on a short-term basis and the media archive stores media data on a long-term basis relative to the media server. The media archive is connected to the media server for transmission of media data therebetween.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention is related to data storage systems and methods for storing data, and more particularly it is related to caching data and controlling the caching of data.
2. Description of the Related Art
Typically, multimedia applications require that a large reservoir of multimedia data, including audio and video data, be readily accessible for delivery to a client. Although multimedia servers are employed to deliver multimedia data, it is not practical to provide extensive data storage within these servers. Accordingly, a low-cost high-capacity media archive may be employed in order to store large volumes of multimedia data which are downloaded via the media server to a client.
One disadvantage associated with the use of a high-capacity media archive is that there is a delay in the transfer of multimedia data from the media archive to the client via the media server. Therefore, it is difficult to ensure that media data will be available for rapid delivery to a client upon request.
SUMMARY OF THE INVENTION
It is an object of the present invention to solve the above-described problem by providing for the efficient delivery of media data to a client without excessive delay. To this end, the media server must be managed so as to store multimedia data which is likely to be requested by a particular client.
In accordance with one embodiment of the present invention, a multimedia data storage system for storing multimedia data is provided which includes a media server which stores media data on a short-term basis, and a media archive which stores media data on a long-term basis relative to the media server. The media archive is connected to the media server, which operates as a cache device for the media archive, for transmission of media data between the media archive and the media server. According to the present invention, a volume of the media data stored in the media server is controlled based on user-defined parameters.
According to still another aspect of the invention, the media data includes a portion of a media object and the media server begins to output the media object upon request if the portion of the media object is at least a predetermined fraction of the media object defined by a first parameter of the user-defined parameters.
According to yet another aspect of the present invention, the media server has a maximum storage capacity. In addition, a second parameter of the user-defined parameters is provided which defines an upper capacity volume which is no more than the maximum storage capacity of the media server. Significantly, the media server reduces the volume of the media data stored therein if the volume of the media data is greater than the upper capacity volume.
According to still another embodiment of the present invention, a method is provided for managing a media server as a cache device for a media archive within a multimedia data storage system. The media server stores media data on a short-term basis, while the media archive stores media data on a long-term basis relative to the media server. The media archive is connected to the media server for transmission of media data therebetween. The inventive method includes determining a volume of the media data stored in the media server and controlling the volume of the media data stored in the media server based on user-defined parameters.
According to yet still another aspect of the inventive method, the media data includes a portion of a media object and the method further includes initiating an output of the media object from the media server upon request if the portion of the media object is at least a predetermined fraction of the media object defined by a first parameter of the user-defined parameters.
According to yet another aspect of the inventive method, the media server has a maximum storage capacity and a second parameter of the user-defined parameters is an upper capacity volume which is no more than the maximum storage capacity of the media server. Significantly, the controlling aspect of the inventive method includes reducing the volume of the media data stored in the media server when the volume of the media data is greater than the upper capacity volume.
According to another embodiment of the present invention, a computer-readable medium of instructions is provided which is to be implemented in a multimedia data storage system including a media server and a media archive. The media server stores media data on a short-term basis and the media archive stores media data on a long-term basis relative to the media server. The media archive is connected to the media server for transmission of media data therebetween. The inventive computer-readable medium of instructions includes means for determining a volume of the media data stored in the media server and means for controlling the volume of the media data stored in the media server based on user-defined parameters.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects and advantages of the invention will become more apparent and more readily appreciated from the following detailed description of the preferred embodiments of the invention taken in conjunction with the accompanying drawings, of which:
FIG. 1 shows a diagram of a multimedia data storage system according to a preferred embodiment of the present invention, which includes a library client, a digital library, a media server, and a media archive.
FIG. 2 shows a diagram depicting the internal elements of the digital library along with a library client which interacts with the library.
FIG. 3 shows a graphical user interface which incorporates an aspect of the present invention.
FIGS. 4A-4D show flow charts which incorporate the steps of the inventive method of managing a media server as a cache device for a media archive within a multimedia data storage system, according to a preferred embodiment of the invention.
FIG. 5 shows a diagram of an alternative embodiment of the inventive multimedia data storage system which includes a client, an automation control system, a media server and a media archive.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The preferred embodiments of the present invention are described below in more detail with reference to the above drawings, in which like reference numerals refer to the same or similar elements.
The present invention relates to the management of a media server as a cache device to a media archive in a multimedia data storage system. To this end, the management of the media server is automated such that the volume of media data stored within the media server is controlled in accordance with user-defined parameters. These parameters address the time-based utilization of media data files, the storage utilization of the media server, network bandwidth, the availability of constrained resources (i.e. tape drives in an automated tape library subsystem), and user-assigned file priorities.
The above-mentioned management scheme is designed to ensure that the most commonly accessed multimedia data files are maintained on the media server. In this regard, multimedia data files which are utilized less frequently are copied to the media archive and then deleted from the media server as necessary.
The inventive management scheme may also further optimize the use of the media server's limited storage by ensuring that only a small portion of a particular multimedia data object or file is retained within the media server. In this manner, the portion of the multimedia data file stored within the media server can be delivered to the client while the remainder is being retrieved from the media archive.
FIG. 1 depicts a multimedia data storage system according to a preferred embodiment of the present invention, which may employ a digital library, as described in U.S. Pat. No. 5,649,185 to Antognini et al., which is incorporated herein by reference. The system is computer based and includes a library client 100, a client media output station 110, the digital library 120 mentioned above, a media server 130 and a media archive 140. The relationship between the client 100 and the digital library 120 is explained in greater detail below with reference to FIG. 2 which also shows the internal elements of the digital library 120.
As shown in FIG. 2, the digital library 120 includes a library server 210 and at least one media object server 220 which interact with the library client 100. The library server 210 and the media object server 220 each have access to a local information store. In particular, the library server 210 has access to a library catalog 212, while the media object server 220 has access to an object store 222. Also, a communications isolator (not shown) is included which allows the library server 210, the media object server 220 and the library client 100 to communicate with one another without the client being concerned with complex communications protocols. The library server 210, the media object server 220 and the library client 100 are connected by a communications network, such as a wide-area network (WAN).
Each library client 100 sends a request to the library server 210 to store, retrieve, and update media objects which may be stored in the media object server 220, the media server 130 or the media archive 140, and to update and query the media object indexes and descriptive information stored in library catalog 12. The library client 100 requests are generated by library patrons. These patrons are users who have been granted privileges for the use of the library system.
Before a library client request is processed, library server 10 checks the library catalog 212 to ensure that the patron's name and password are valid. Next, the library server 210 ensures that the patron has been granted the appropriate privileges to perform the requested action. Each patron is assigned a set of privileges by a system administrator. An example of a library privilege is the ability to delete media objects.
Finally, the library server 210 checks to ensure that the media object's owner has granted the patron the privileges needed to do what is requested (e.g., update the media object). The owner of a media object preferably is the patron who first stored the media object. When an owner stores a media object that owner must specify which other patrons are to have access to the media object.
Media objects stored in the library system can be checked out by a patron for a specified period of time. This feature can be used to ensure that one patron's updates to a media object are not overwritten by another. While a media object is checked out by a patron, other patrons can retrieve the media object and view it, but they cannot update it. In typical implementations, there are groups of individuals who need access to the same media objects. Therefore, to simplify the process of granting access to media objects, a system administrator can define patrons as members of a group. When a patron is defined as a member of a group, that patron is able to access any media object for which the group has been granted privileges. Additionally, patrons can access media objects for which they have been specifically granted individual privileges. A patron can set default groups whose members will have access to the media objects the patron stores. When patrons store media objects, they have the option to use this default group, to grant specific privileges to groups and individual patrons, or to do both.
If a library client request involves the storage, retrieval, or update of a media object, the library server 210 forwards the request to the media object server 220, which manages the storage of media object(s) referred to in the request, based upon information provided by library catalog 212. If the library client request is a query of the information stored in the library catalog 212, the library server 210 will interact only with the library catalog 212 and will not contact the media object server 220.
The library catalog is analogous to a conventional library's card catalog. It is a single set of database tables which contain an index of all the media objects stored in the library system. In addition, it can store information such as textual descriptions for each media object, information on the type of media object (e.g., image object, spreadsheet, text document), library patron names and privileges, access authorization data for each media object, links between objects. The library catalog can also store a virtually unlimited number of property type/property value pairs for each object (e.g., movie/TRUE LIES, movie-- type/ACTION). These property type/property value pairs are known as an object's properties.
As noted above, the media object server 220 is the device which manages the storage of media objects within the library system. In this regard, the media object server 220 manages the storage of media objects independent of whether they are stored locally in the media object store 222 or at a remote location within, for example, the media server 130 or the media archive 140. The media object server 220 receives requests from the library server 210 and communicates with the library client 100 to complete the requests.
The digital library can contain several distributed media object servers. Each of these object servers is computer based and is provided with software to facilitate managing the storage of media objects. This software may be stored in a computer readable medium of instructions such as a hard drive, an optical disk drive, or a similar device employing a computer readable format. The advantage of distributed media object storage is that it helps to reduce the costs associated with sending media objects over communications lines and provides better performance in storing and retrieving media objects.
When a library patron's privileges are defined, a default media object server can be set for the patron. When a patron stores a media object, it will be stored in the default media object server for that patron unless there is a dedicated media server which handles that particular media object server.
If it is later determined that a media object or a group of media objects should be relocated to a different media object server or media server, a client application can move the media objects from one media object server to another. A system managed storage method, such as that disclosed in a U.S. patent application Ser. No. 08/036,305 filed Mar. 24, 1993 and assigned to IBM Corporation, entitled "A Method And System For Parallel, System Managed Storage For Objects On Multiple Servers" by T. G. Burket et al. which is incorporated herein by reference, provides a means for moving a media object from one media object server to another.
The library client 100 is the interface through which application programs can submit requests to the library system. These can include requests to store and retrieve media objects, update/add descriptors to media objects, delete media objects and query information in the library catalog. Library requests can be submitted through the library client either individually or in batches.
Because of the demands on the media object server 220 for a variety of media data, it is often the case that a dedicated media server should be provided in order to facilitate the delivery of a particular kind of media to the library patron. In this regard, the multimedia storage system of FIG. 1 is provided with a separate media server 130 which may be, for example, a dedicated video or audio server. In order to supply a substantial volume of video objects on demand, a large amount of media data in the form of media objects must be stored within the multimedia data storage system.
As noted above, it is expensive to utilize the media object server 220 or the media server 130 as a warehouse for all of the video objects which might be requested by a user. Thus, a media archive 140 is employed in order to store video data on a long-term basis, while a media server 130 is employed to store video data on a short-term basis. In this regard, more than one media server 130 may be provided. The media archive 140 and the media server 130 are connected so as to transmit media data therebetween. In addition, the video archive 140 may be provided with tape drives (not shown) to facilitate the storage of media data.
By way of example, the media archive 140 and media server 130 may be connected via a high bandwidth load channel. In this way, the media data stored in the media archive 140 may be quickly delivered to the dedicated media server 130 under the control of the media object server 220. The media server 130 will then deliver the same to a dedicated client media output station 110 such as a client viewer including a video display, which is separate from the client 100. Alternatively, the client media output station 110 may be included in the client 100. The video display may be a television, a broadcast monitor, or a computer terminal including a CRT tube or a flat panel display. In addition, the media data may be delivered to the client media output station 110 as an asynchronous transfer mode (ATM) based video stream.
According to one aspect of the invention, the media archive 140 may relinquish control over a media object or a group of media objects to the client 100, so that the later may instruct the media server 130 to output the media object(s) to the client media output station 110.
As a consequence of utilizing a media server 130 having a limited data storage capability, it is important that the media server 130 and the media archive 140 be carefully managed so that the media data which is most likely to be requested by a user may be stored within the media server 130 for immediate delivery to the client media output station 110. The remaining media data being stored within the media archive 140 may be retrieved as needed.
To this end, the present invention controls the volume of media data stored in the media server 130 based on user-defined parameters. These user-defined parameters include, but are not limited to the eight parameters discussed below. These parameters may be influenced by the available bandwidth of the multimedia data storage system.
The first parameter defines a predetermined fraction of a media object which must be retained within the media server 130 before the output of the media data to the client media output station 110 can be commenced.
The second parameter defines an upper capacity volume which corresponds to a volume of media data that the media server 130 can store internally before a destaging process is commenced. This destaging process transfers the media data from the media server 130 to the media archive 140 so that the media data can be made deletable to make room for other media data as discussed below. In this way, the media data stored in the media server 130 can be reduced.
A third parameter defines the lower capacity volume of the media server 130, which corresponds to a volume of media data that when reached signifies that the destaging process is terminated.
A fourth parameter defines a predetermined period of time that is selected by the user during which the destaging process can be accomplished.
With regard to the destaging process, it is useful to consider the media data stored in the media server 130 as including first and second portions. The first portion of the media data stored in the media server 130 corresponds to a portion of the media data which remains after reduction of the volume of the media data. The second portion of the media data corresponds to a portion of the media data which is to be deleted from the media server 130 during reduction of the volume of the media data stored therein.
According to one aspect of the present invention, the second portion of the media data may be stored in the media archive 140 prior to being deleted from the media server 130 during reduction of the volume of the media data stored therein.
A fifth parameter defines a selection algorithm by which the second portion of the media data is selected for the destaging process. By way of example, the selection algorithm may be based on a first in first out (FIFO) scheme. Alternatively, the selection algorithm may be based on a predefined priority scheme in which each media object included within the second portion of the media data stored in the media server 130 is selected in accordance with a priority level which is assigned to the media object, the lower priority level media objects being selected first. In this regard, a group of media objects may be assigned a common priority level.
A sixth parameter of the user-defined parameters defines a deletion algorithm by which the second portion of the media data is deleted. By way of example, the deletion algorithm may be based on a scheme in which the least recently used media data is deleted first from the media server. Alternatively, the deletion algorithm may correspond to the priority scheme described above in connection with the selection algorithm.
A seventh parameter of the user-defined parameters defines predefined amounts of the media data, by which the volume of the media data stored in the media server 130 is reduced. By way of example, the volume of the media data stored in the media server 130 may be reduced by 10 gigabytes at a time. Each predefined amount of the media data may be defined as a percentage of the total cache storage of the media server 130. The total cache storage of the media server 130 may be, for example, 800 gigabytes.
In the same vein, an eighth parameter of the user-defined parameters may be employed which defines a predetermined amount of the second portion of the media data stored in the media server 130 which is to be deleted from the media server 130. By way of example, the second portion of the media data stored in the media server 130 may be deleted 10 gigabytes at a time. Alternatively, the predetermined amount may correspond to a media object or multiple media objects. In this regard, a single media object may correspond to a segment of a television show.
The operational aspects of the media server 130 as they relate to managing the same as a cache device to the media archive 140 include four main components, as discussed below.
The first component involves the loading of new media objects, such as videos, audio files, or other types of objects, within the multimedia data storage system. If these media objects relate to a specific dedicated media server 130, then they are stored initially in the media server 130. Accordingly, if a video object is to be stored within the multimedia data storage system, then the video object is initially stored within the media server 130 which, in this case, will also be a video server.
The second component involves the retrieval of media objects stored within the media server 130. As noted above, any access request for a particular media object by the client 100 is sent from the library server 210 to the media object server 220, which updates the access data associated with the media object. This access data includes the time and date of the access request, the time and date of the most recent access request and the status of the media object (i.e. whether the object is deletable because it is stored in the media archive 140).
Thereafter, the media object server 220 determines whether the object is stored in the media server 130 or the media archive 140. If the media object is located within a cache memory (i.e disk(s) which are not shown) of the media server 130, then it is transferred by the media server 130 to the client media output station 110 under the control of the media object server 220. The graphical user interface is generated by the client 100.
If the media object is not located within the media server 130, then it is staged (i.e. transferred) from the media archive 140 to the media server 130 in the manner described below. Thereafter, the status of the media object is passed from the media server 130 to the media object server 220 so that the media object server 220 can update the access information associated with the media object. However, the media object retrieved from the media archive 140 and stored in the media server 130 is marked as deletable because it is still stored within the media archive 140 as well. Once the access information has been updated, the media object is transferred to the client media output station 110. However, the output of the media object can commence even though the staging process is not yet complete.
According to one aspect of the invention, the media object may be output from the media server 130 as soon as a portion of the media object is stored within the media server 130 which is at least a predetermined fraction of the media object defined by the first parameter described above.
The present invention may also employ a graphical user interface to control the output of the media object from the media server 130 to the client media output station 110. An exemplary graphical user interface, which is shown in FIG. 3, includes a number of control buttons and a slide bar for entering commands in order to control the output of a video object (i.e. media object) from the media server 130 to the client media output station 110.
Control buttons 500-540 correspond to functions which are usually associated with conventional VCR's. Specifically, control button 500 corresponds to a pause command by which a portion of a video object currently being played is paused. Control button 510 corresponds to a rewind command by which the portion of the video currently being played is rewound towards the beginning of that portion. Control button 520 corresponds to a play command by which the video object is played at normal speed. Control button 530 corresponds to a slow forward command by which the video object is played at half its normal speed.
Control button 540 corresponds to a fast forward command by which the video object is played at three times the normal speed. However, according to the present invention, the control button 540 is enabled only if the portion of the video object stored within the media server 130 is sufficiently large to allow for the use of the control button 540. Thus, if the user tries to speed up the output of the video object to the client media output station 110 when there is not enough of the video object stored within the media server 130 to accommodate the user's demand for increased output, then the control button 540 will be disabled. The point at which the control button 540 will be disabled depends on the bandwidth of the channel linking the media server 130 and the media archive 140, and the current size of the portion of the video object which is stored in the media server 130.
The video player's graphical user interface may also include a control button (not shown) which corresponds to a stop command by which the portion of the video data is halted and removed from the video display.
Also included within the video player's graphical user interface is a slide bar 550. The slide bar allows direct access to any position within the video object which is proportional to the entire duration of the video object. However, the slide bar 550 only provides for relatively large jumps from one frame of digital video data to another, the jumps being taken in both the forward and backward direction. If only a portion of the video object is stored in the media server 130, the size of the slide bar 550 shown in the graphical user interface will depend on the size of the portion of the video object which is stored in the media server 130 and the bandwidth of the channel which connects the media server 130 and the media archive 140. Accordingly, the smaller the portion of the video object stored in the media server 130, the shorter the slide bar 550 will appear on the graphical user interface.
An additional aspect of the video player's graphical user interface is the ability to display indexing information corresponding to time codes. To accomplish the display of indexing information, four time code display windows 560-590 are provided as part of the graphical user interface which depict the hour, minute, second, and frame, respectively, associated with a particular time code.
When the user actuates the slide bar 550 via a mouse or some other entry device which is included on the computer in which the client 100 is provided, the user sees the corresponding change in the display of indexing information 560-590.
In order to accomplish smaller jumps within the segment of digital video data, four time code buttons 600-630 are provided on the graphical user interface. A first time code buttons 600 allows for the user to jump within the segment of digital video data in hour increments. A second time code button 610 allows the user to jump within the portion of the video object in minute increments. A third time code button 620 allows the user to jump within the portion of the video object in second increments. Finally, a fourth time code button 630 allows the user to jump within the portion of the video object in discrete frame increments.
Once a time code entry has been made via the time code buttons 600-630, the client 100 will request that the media server 130 start the play-back of that portion of the video object starting from the frame associated with the time code entry on the video display. However, according to the present invention, the time code buttons 600-630 may be disabled if the portion of the video object stored in the media server 130 is too small to support the requested jump.
Additional aspects of the graphical user interface described above are mentioned in detail in U.S. application Ser. No. 08/688,114, filed Jul. 29, 1996, and entitled "Method for Relating Indexing Information associated with at least Two Indexing Schemes to Facilitate the Play-Back of User-Specified Digital Video Data and a Video Client Incorporating the Same" by Kozina et al. U.S. application Ser. No. 08/688,114, which is assigned to IBM, is incorporated herein by reference.
The third component involves the destaging process mentioned above, in which media objects stored within the media server 130 are moved to the media archive 140 under the control of the media object server 220. In contrast to the destaging process, the staging process, mentioned above, involves the transfer of media objects from the media archive 140 to the media server 130. After the media object is copied to the media archive 140, it is validated for size and integrity so that the copy of the media object stored in the media server 130 may be marked as deletable.
The fourth component involves a deletion process, which is also an important aspect of the present invention. The deletion process may run after or simultaneously with the destaging process and involves deleting media objects which have been marked deletable.
The destaging and deletion processes are important aspects of the management scheme of the present invention and are described below in greater detail with reference to FIGS. 4A-4D. In this regard, the removal of media data from the media server is orchestrated so that there will be sufficient space for media data which is requested by the library patron. Advantageously, media data which is less likely to be requested by a library patron may be removed first so that there is a greater likelihood that the remaining data will have a higher probability of being requested by that patron.
Referring to FIG. 4A, the user initially specifies in step 700 user-defined parameters which are to be used in the destaging and deletion processes. Thereafter, a volume of the media data stored in the media server 130 is determined in step 710. Finally, the volume of the media data stored in the media server 130 is controlled based on the specified user-defined parameters.
As noted above, the second parameter of the user-defined parameters is an upper capacity volume which is no more than the maximum storage capacity of the media server 130. In this regard, the volume of the media data stored in the media server 130 is reduced in step 730, as shown in FIG. 4B, when the volume of the media data reaches the upper capacity volume. FIG. 4B depicts additional aspects of the controlling step 720 mentioned above.
Thereafter, it is determined in step 740 whether the reduction in the volume of media data has been completed based on the volume itself. If the reduction in volume is itself based on volume, then in step 750 it is determined whether the volume of the media data stored in the media server 130 has been reduced to a lower capacity volume of the media server which corresponds to the third parameter mentioned above. If the volume has not been reduced to the lower capacity volume, then step 730 is repeated. If, however, the volume of the media data has been reduced to the lower capacity volume then step 770 is performed, in which the reduction procedure is terminated.
If it is determined in step 740 that the reduction is not volume based, then in step 760 it is determined whether a predetermined period of time corresponding to the fourth parameter mentioned above has elapsed. If the predetermined period of time has not elapsed, then the reduction step 730 is repeated. However, if the predetermined period of time has elapsed, then the termination step 770 is performed.
As noted above, the media data includes first and second portions. According to the present invention, the second portion of the media data is deleted from the media server 130, whereas the first portion of the media data corresponds to a portion of the media data stored in the media server 130 which remains after a reduction in the volume of the media data has been achieved.
Turning to FIG. 4C, which shows aspects of the reduction step 730 depicted in FIG. 4B, the above-mentioned second portion of the media data may be selected in batches for destaging, which correspond to predefined amounts, in step 780 in accordance with a selection algorithm defined by the fifth parameter mentioned above. However, these batches need not correspond to specific blocks of memory. Rather, the predefined amounts may correspond to media object(s). Subsequently, in step 783, the selected batch or batches may be marked as deletable.
Thereafter, it is determined in step 785 whether the deletion algorithm is to run contemporaneously with the selection algorithm in accordance with a user's preference. If the two algorithms are to run simultaneously, then step 790 is performed, in which the selected batch of the second portion of the media data is deleted in accordance with a deletion algorithm defined by the sixth parameter mentioned above. The deleted batches correspond to predefined amounts of the media data whose size are set by the eighth parameter mentioned above. In this regard, the sizes of the selected and deleted batches are the same when the selection and deletion algorithms are carried out contemporaneously. Preferably, the second portion of the media data may be stored in the media archive 140 prior to its deletion from the media server.
If it is determined in step 785 that the deletion and selection algorithms do not run contemporaneously, then step 740 is performed as described above. Thereafter, in step 795, as shown in FIG. 4D, which follows step 770 shown in FIG. 4B, it is determined whether the deletion algorithm is to run after the selection algorithm has run. If this is the case, then in step 799, the second portion of the media data which includes the selected batches will be deleted in accordance with a deletion algorithm defined by the sixth parameter discussed above. In this regard, the deletion batch size may be different from the selected batch size, as determined by the seventh and eighth parameters.
After the deletion algorithm has been run, or in the case in which the deletion algorithm does not run after the selection algorithm has run, as determined in step 795, the destaging and deletion processes mentioned are complete.
A second embodiment of the present invention is described below in connection with FIG. 5. The second embodiment employs an automation control system 820 (which may be a broadcast automation control system) instead of a digital library (element 120 of FIG. 1). In contrast to the multimedia data storage system including the digital library, which is not provided for real-time delivery of multimedia, the multimedia data storage system including the automation control system may be employed in a broadcast environment in which real-time control is critical. Accordingly, the broadcast automation control system must control the delivery of media objects from the media server 130 to the client media output station 110 so that they are output according to an exact schedule.
To this end, the automation control system 820 is provided with a media cache control logic circuit 825 which previews a schedule corresponding to the times and dates when media objects must be delivered for output. The media cache control logic circuit 825 then controls the destaging of the media objects from the media archive 140 to the media server 130 prior to the output of those media objects. In this way, the media objects will be ready for output according to the predefined schedule. The above-mentioned schedule is generated by the client 100 and output to the broadcast automation control system 820.
With regard to the destaging and deletion of media objects, the multimedia data storage system employing the automation control system 820 is similar to the one described above in connection with the digital library. However, the selection algorithm defined by the fifth parameter may be based on a scheme in which media objects are selected after the last repeated play (if any) in the schedule. The deletion algorithm defined by the sixth parameter may also be based on a similar scheme.
The automation control system 820 may be, for example, a Louth System, manufactured by LOUTH AUTOMATION in Menlo Park, Calif. In particular, the automation control system may be the LOUTH ADC-100, which is well known in the art. The media objects stored in the multimedia data storage system of the second embodiment may correspond to text, video or audio files, or some combination of those files. In addition, the broadcast automation control system may be implemented as a component of a digital library.
Although certain preferred embodiments of the present invention have been described, the spirit and scope of the invention is by no means restricted to what is described above. For example, multiple groups of user-defined parameters may be specified without departing from the scope of the present invention.

Claims (12)

What is claimed is:
1. A multimedia data storage system for storing multimedia data comprising a media server which stores media data on a short-term basis, and a media archive which stores media data on a long-term basis relative to the media server, said media archive being connected to said media server for transmission of media data therebetween;
wherein said media server operates as a cache device for said media archive, and wherein a volume of the media data stored in said media server is controlled based on user-defined parameters;
wherein said media server has a maximum storage capacity, and wherein a second parameter of the user defined parameters is an upper capacity volume which is no more than the maximum storage capacity of said media server, said media server reducing the volume of the media data stored therein if the volume of the media data is greater than the upper capacity volume;
wherein said media server reduces the volume of the media data stored therein until the volume reaches a lower capacity volume of said media server which corresponds to a third parameter of the user-defined parameters;
wherein the media data stored in said media server includes first and second portions, the first portion of the media data corresponding to a portion of the media data which remains after reduction of the volume of the media data, the second portion of media data corresponding to a portion of the media data which is to be deleted from said media server during reduction of the volume of the media data; and
wherein the second portion of the media data is stored in said media archive prior to being deleted from said media server during reduction of the volume of the media data.
2. The multimedia data storage system defined by claim 1, wherein the second portion of media data is selected in accordance with a selection algorithm defined by a fifth parameter of the user-defined parameters.
3. The multimedia data storage system defined by claim 2, wherein the selection algorithm is based on a first-in first-out (FIFO) scheme.
4. The multimedia data storage system defined by claim 2, wherein the selection algorithm may be based on a priority level of media objects included within the second portion of media data.
5. The multimedia data storage system defined by claim 1, wherein the second portion of the media data is deleted in accordance with a deletion algorithm defined by a sixth parameter of the user-defined parameters.
6. The multimedia data storage system defined by claim 5, wherein the deletion algorithm is based on a scheme in which the least recently used media data is deleted first from said media server.
7. A method of managing a media server as a cache device for a media archive within a multimedia data storage system, said media server storing media data on a short-term basis, said media archive storing media data on a long-term basis relative to the media server, said media archive being connected to said media server for transmission of media data therebetween, said method comprising;
determining a volume of the media data stored in said media server; and
controlling the volume of the media data stored in said media server based on user defined parameters;
wherein said media server has a maximum storage capacity, wherein a second parameter of the user-defined parameters is an upper capacity volume which is no more than the maximum storage capacity of said media server, and wherein said controlling further comprises;
reducing the volume of the media data stored in said media server when the volume of the media data is greater than the upper capacity volume;
wherein in said reducing, the volume of the media data stored in said media server is continuously reduced until the volume reaches a lower capacity volume of said media server which corresponds to a third parameter of the user-defined parameters;
wherein the volume of media data includes first and second portions of media data, and wherein said reducing comprises deleting the second portion of the media data from said media server, the first portion of the media data corresponding to a portion of the media data stored in said media server which remains after reduction of the volume of the media data; and
wherein said reducing further comprises storing the second portion of the media data in said media archive prior to the second portion of the media data being deleted from said media server.
8. The method of managing defined by claim 7, wherein the second portion of the media data is selected in accordance with a selection algorithm defined by a fifth parameter of the user-defined parameters.
9. The method of managing defined by claim 8, wherein the second portion of the media data is deleted in accordance with a deletion algorithm defined by a sixth parameter of the user-defined parameters.
10. The method of managing defined by claim 9, wherein the selection algorithm is based on a first-in first-out (FIFO) scheme.
11. The method of managing defined by claim 10, wherein the deletion algorithm is based on a scheme in which the least recently used media data is deleted first from said media server.
12. The method defined by claim 8, wherein the selection algorithm is based on a priority level of media objects included within the second portion of the media data.
US08/940,275 1997-09-30 1997-09-30 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters Expired - Lifetime US6070228A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US08/940,275 US6070228A (en) 1997-09-30 1997-09-30 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters
US09/471,230 US6434680B2 (en) 1997-09-30 1999-12-23 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters
US10/187,292 US6978348B2 (en) 1997-09-30 2002-07-02 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/940,275 US6070228A (en) 1997-09-30 1997-09-30 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/471,230 Continuation US6434680B2 (en) 1997-09-30 1999-12-23 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters

Publications (1)

Publication Number Publication Date
US6070228A true US6070228A (en) 2000-05-30

Family

ID=25474545

Family Applications (3)

Application Number Title Priority Date Filing Date
US08/940,275 Expired - Lifetime US6070228A (en) 1997-09-30 1997-09-30 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters
US09/471,230 Expired - Fee Related US6434680B2 (en) 1997-09-30 1999-12-23 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters
US10/187,292 Expired - Lifetime US6978348B2 (en) 1997-09-30 2002-07-02 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters

Family Applications After (2)

Application Number Title Priority Date Filing Date
US09/471,230 Expired - Fee Related US6434680B2 (en) 1997-09-30 1999-12-23 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters
US10/187,292 Expired - Lifetime US6978348B2 (en) 1997-09-30 2002-07-02 Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters

Country Status (1)

Country Link
US (3) US6070228A (en)

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000050999A1 (en) * 1999-02-23 2000-08-31 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US20020075307A1 (en) * 2000-09-28 2002-06-20 Vigilos, Inc. System and method for dynamic interaction with remote devices
US6442601B1 (en) * 1999-03-25 2002-08-27 International Business Machines Corporation System, method and program for migrating files retrieved from over a network to secondary storage
US6460076B1 (en) * 1998-12-21 2002-10-01 Qwest Communications International, Inc. Pay per record system and method
US20020143938A1 (en) * 2000-09-28 2002-10-03 Bruce Alexander System and method for providing configurable security monitoring utilizing an integrated information system
US20020147827A1 (en) * 2001-04-06 2002-10-10 International Business Machines Corporation Method, system and computer program product for streaming of data
US20020174200A1 (en) * 2001-01-30 2002-11-21 Kozina Gerald Edward Method and system for object replication in a content management system
US6598230B1 (en) * 1998-08-21 2003-07-22 Karsten Ballhorn Multimedia box network
US20030167335A1 (en) * 2002-03-04 2003-09-04 Vigilos, Inc. System and method for network-based communication
US20030200478A1 (en) * 2002-04-18 2003-10-23 Anderson Michael H. Media server with single chip storage controller
US20030206172A1 (en) * 2002-03-05 2003-11-06 Vigilos, Inc. System and method for the asynchronous collection and management of video data
US20030236885A1 (en) * 2001-10-11 2003-12-25 Tadashi Takeuchi Method for data distribution and data distribution system
US20040107245A1 (en) * 2002-12-02 2004-06-03 Lightsurf Technologies, Inc. System and methodology for providing a mobile device with a network-based intelligent resource fork
US6757726B2 (en) * 2001-02-23 2004-06-29 Fujitsu Limited Cache server having a cache-data-list table storing information concerning data retained by other cache servers
WO2004088887A2 (en) * 2003-04-04 2004-10-14 Bbc Technology Holdings Limited System and method for media management
US6813629B1 (en) * 1999-04-02 2004-11-02 Oracle International Corporation Method and apparatus for facilitating object communication across a network
US20040267952A1 (en) * 2003-06-24 2004-12-30 He Li-Wei Variable play speed control for media streams
US20050024941A1 (en) * 2003-07-30 2005-02-03 M-Systems Flash Disk Pioneers, Ltd. Method of archiving data
US6941325B1 (en) * 1999-02-01 2005-09-06 The Trustees Of Columbia University Multimedia archive description scheme
US20050289338A1 (en) * 2004-02-04 2005-12-29 Braden Stadlman Recording, editing, encoding and immediately distributing a live performance
US20060190960A1 (en) * 2005-02-14 2006-08-24 Barker Geoffrey T System and method for incorporating video analytics in a monitoring network
US20070004510A1 (en) * 2004-01-12 2007-01-04 Igt Casino display methods and devices
US20070058943A1 (en) * 2003-11-10 2007-03-15 Disclive, Inc. System, method and apparatus for rapid mass production of content-inclusive physical media
US20070073837A1 (en) * 2005-05-24 2007-03-29 Johnson-Mccormick David B Online multimedia file distribution system and method
US20070101055A1 (en) * 2005-10-20 2007-05-03 Thorsen Jack D Hard drive eraser
US20070245400A1 (en) * 1998-11-06 2007-10-18 Seungyup Paek Video description system and method
US20070245882A1 (en) * 2006-04-04 2007-10-25 Odenwald Michael J Interactive computerized digital media management system and method
US20080020827A1 (en) * 2004-01-12 2008-01-24 Igt Casino Display methods and devices
US20080040444A1 (en) * 2006-08-09 2008-02-14 Nils Angquist Media map for capture of content from random access devices
US20080040770A1 (en) * 2006-08-09 2008-02-14 Nils Angquist Media map for capture of content from random access devices
US20080181308A1 (en) * 2005-03-04 2008-07-31 Yong Wang System and method for motion estimation and mode decision for low-complexity h.264 decoder
US20080201343A1 (en) * 1999-07-15 2008-08-21 Commvault Systems, Inc. Hierarchical systems and methods for performing data storage operations
US20080234069A1 (en) * 2007-03-23 2008-09-25 Acushnet Company Functionalized, Crosslinked, Rubber Nanoparticles for Use in Golf Ball Castable Thermoset Layers
US20080303942A1 (en) * 2001-12-06 2008-12-11 Shih-Fu Chang System and method for extracting text captions from video and generating video summaries
US7480715B1 (en) 2002-01-25 2009-01-20 Vig Acquisitions Ltd., L.L.C. System and method for performing a predictive threat assessment based on risk factors
US7627665B2 (en) 2000-09-28 2009-12-01 Barker Geoffrey T System and method for providing configurable security monitoring utilizing an integrated information system
US20100305726A1 (en) * 2009-05-27 2010-12-02 Hon Hai Precision Industry Co., Ltd. Audio playback positioning method and electronic system utilizing the same
US20110025710A1 (en) * 2008-04-10 2011-02-03 The Trustees Of Columbia University In The City Of New York Systems and methods for image archeology
US20110145232A1 (en) * 2008-06-17 2011-06-16 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
US7974714B2 (en) 1999-10-05 2011-07-05 Steven Mark Hoffberg Intelligent electronic appliance system and method
US8046313B2 (en) 1991-12-23 2011-10-25 Hoffberg Steven M Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US8078583B2 (en) 2003-11-13 2011-12-13 Comm Vault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US8086809B2 (en) 2000-01-31 2011-12-27 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US8103670B2 (en) 2000-01-31 2012-01-24 Commvault Systems, Inc. Systems and methods for retrieving data in a computer network
US8103829B2 (en) 2003-06-25 2012-01-24 Commvault Systems, Inc. Hierarchical systems and methods for performing storage operations in a computer network
US8214444B2 (en) 2000-01-31 2012-07-03 Commvault Systems, Inc. Email attachment management in a computer system
USRE43598E1 (en) 2000-09-28 2012-08-21 Vig Acquisitions Ltd., L.L.C. Method and process for configuring a premises for monitoring
US8352433B2 (en) 1999-07-14 2013-01-08 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US8369967B2 (en) 1999-02-01 2013-02-05 Hoffberg Steven M Alarm system controller and a method for controlling an alarm system
US8433679B2 (en) 1999-07-15 2013-04-30 Commvault Systems, Inc. Modular systems and methods for managing data storage operations
US8656057B1 (en) 2009-04-01 2014-02-18 Emc Corporation Opportunistic restore
US8671069B2 (en) 2008-12-22 2014-03-11 The Trustees Of Columbia University, In The City Of New York Rapid image annotation via brain state decoding and visual pattern mining
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US8958683B2 (en) 2010-04-01 2015-02-17 Hon Hai Precision Industry Co., Ltd. Portable electronic device and diversified operation method thereof
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US20150381875A1 (en) * 2014-06-26 2015-12-31 Amaryllo International, Inc. Network camera data management system and managing method thereof
US9330722B2 (en) 1997-05-16 2016-05-03 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
US20160253335A1 (en) * 2012-03-30 2016-09-01 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US9537705B1 (en) 2009-03-31 2017-01-03 EMC IP Holding Company LLC Global space reduction groups
US9626305B1 (en) * 2009-03-31 2017-04-18 EMC IP Holding Company LLC Complementary space reduction
US9940746B2 (en) 2015-06-18 2018-04-10 Apple Inc. Image fetching for timeline scrubbing of digital media
US9990174B2 (en) 1998-10-06 2018-06-05 Hypermedia Navigation Llc System and method for creating and navigating a linear hypermedia resource program
US10268402B2 (en) 2012-03-30 2019-04-23 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213061B1 (en) 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6760760B1 (en) * 1999-06-09 2004-07-06 Amx Corporation Control system communication server for transmitting files via multiple communication paths
US9066113B1 (en) 1999-10-19 2015-06-23 International Business Machines Corporation Method for ensuring reliable playout in a DMD system
US6772158B1 (en) * 1999-12-14 2004-08-03 International Business Machines Corporation Apparatus for data depoting and method therefor
US6581076B1 (en) * 2000-03-29 2003-06-17 International Business Machines Corporation Method and system for efficient file archiving and dearchiving in a DMD system
US6973651B1 (en) * 2000-03-29 2005-12-06 International Business Machines Corporation Method and system for managing subsystem processes in a DMD system
US7398312B1 (en) 2000-03-29 2008-07-08 Lucent Technologies Inc. Method and system for caching streaming multimedia on the internet
US6636953B2 (en) * 2000-05-31 2003-10-21 Matsushita Electric Co., Ltd. Receiving apparatus that receives and accumulates broadcast contents and makes contents available according to user requests
US6920281B1 (en) * 2000-06-30 2005-07-19 Koninklijke Philips Electronics N.V. Video memory manager for use in a video recorder and method of operation
US7072955B1 (en) * 2000-08-31 2006-07-04 Intel Corporation Controlling remote storage devices
US7260785B2 (en) 2001-01-29 2007-08-21 International Business Machines Corporation Method and system for object retransmission without a continuous network connection in a digital media distribution system
US7689598B2 (en) * 2001-02-15 2010-03-30 International Business Machines Corporation Method and system for file system synchronization between a central site and a plurality of remote sites
US7797446B2 (en) 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
US7680849B2 (en) * 2004-10-25 2010-03-16 Apple Inc. Multiple media type synchronization between host computer and media device
US9715500B2 (en) 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
US7827259B2 (en) 2004-04-27 2010-11-02 Apple Inc. Method and system for configurable automatic media selection
US9412417B2 (en) * 2002-04-05 2016-08-09 Apple Inc. Persistent group of media items for a media device
US7873716B2 (en) 2003-06-27 2011-01-18 Oracle International Corporation Method and apparatus for supporting service enablers via service request composition
US20050010616A1 (en) * 2003-07-09 2005-01-13 Burks David P. System and method for restoring files
US7085962B1 (en) * 2003-09-08 2006-08-01 Veritas Operating Corporation Method and system for completing a backup job that was interrupted during a backup process
US8073810B2 (en) 2007-10-29 2011-12-06 Oracle International Corporation Shared view of customers across business support systems (BSS) and a service delivery platform (SDP)
US9245236B2 (en) 2006-02-16 2016-01-26 Oracle International Corporation Factorization of concerns to build a SDP (service delivery platform)
US9565297B2 (en) 2004-05-28 2017-02-07 Oracle International Corporation True convergence with end to end identity management
US9038082B2 (en) 2004-05-28 2015-05-19 Oracle International Corporation Resource abstraction via enabler and metadata
US8321498B2 (en) 2005-03-01 2012-11-27 Oracle International Corporation Policy interface description framework
US8966498B2 (en) 2008-01-24 2015-02-24 Oracle International Corporation Integrating operational and business support systems with a service delivery platform
US7860490B2 (en) 2004-12-01 2010-12-28 Oracle International Corporation Methods and systems for exposing access network capabilities using an enabler proxy
US8458703B2 (en) 2008-06-26 2013-06-04 Oracle International Corporation Application requesting management function based on metadata for managing enabler or dependency
US8261246B1 (en) 2004-09-07 2012-09-04 Apple Inc. Method and system for dynamically populating groups in a developer environment
US8032920B2 (en) 2004-12-27 2011-10-04 Oracle International Corporation Policies as workflows
US8260753B2 (en) * 2004-12-31 2012-09-04 Emc Corporation Backup information management
US8676862B2 (en) 2004-12-31 2014-03-18 Emc Corporation Information management
US11314378B2 (en) 2005-01-07 2022-04-26 Apple Inc. Persistent group of media items for a media device
US7958441B2 (en) 2005-01-07 2011-06-07 Apple Inc. Media management for groups of media items
WO2007019480A2 (en) 2005-08-05 2007-02-15 Realnetworks, Inc. System and computer program product for chronologically presenting data
US20070043705A1 (en) * 2005-08-18 2007-02-22 Emc Corporation Searchable backups
US7716171B2 (en) * 2005-08-18 2010-05-11 Emc Corporation Snapshot indexing
US9026512B2 (en) 2005-08-18 2015-05-05 Emc Corporation Data object search and retrieval
US9063739B2 (en) 2005-09-07 2015-06-23 Open Invention Network, Llc Method and computer program for device configuration
US7640395B2 (en) * 2006-03-30 2009-12-29 Intel Corporation Maintaining write ordering in a system
US8914493B2 (en) 2008-03-10 2014-12-16 Oracle International Corporation Presence-based event driven architecture
US8214503B2 (en) 2007-03-23 2012-07-03 Oracle International Corporation Factoring out dialog control and call control
US8079053B2 (en) * 2007-05-15 2011-12-13 At&T Intellectual Property, I, L.P. System and method of deferring multimedia content delivery
JP4371152B2 (en) * 2007-06-08 2009-11-25 ソニー株式会社 Information providing system, information receiving apparatus, information providing apparatus, information providing method, and program
US8046369B2 (en) 2007-09-04 2011-10-25 Apple Inc. Media asset rating system
DE102007043657B4 (en) * 2007-09-13 2009-06-18 Siemens Ag Satellite-overlapping storage organization for medical image data
US8539097B2 (en) 2007-11-14 2013-09-17 Oracle International Corporation Intelligent message processing
US8161171B2 (en) 2007-11-20 2012-04-17 Oracle International Corporation Session initiation protocol-based internet protocol television
US9654515B2 (en) 2008-01-23 2017-05-16 Oracle International Corporation Service oriented architecture-based SCIM platform
US8589338B2 (en) 2008-01-24 2013-11-19 Oracle International Corporation Service-oriented architecture (SOA) management of data repository
US8401022B2 (en) 2008-02-08 2013-03-19 Oracle International Corporation Pragmatic approaches to IMS
US8090848B2 (en) 2008-08-21 2012-01-03 Oracle International Corporation In-vehicle multimedia real-time communications
US8879547B2 (en) 2009-06-02 2014-11-04 Oracle International Corporation Telephony application services
US8583830B2 (en) 2009-11-19 2013-11-12 Oracle International Corporation Inter-working with a walled garden floor-controlled system
US9269060B2 (en) 2009-11-20 2016-02-23 Oracle International Corporation Methods and systems for generating metadata describing dependencies for composable elements
US8533773B2 (en) 2009-11-20 2013-09-10 Oracle International Corporation Methods and systems for implementing service level consolidated user information management
US9509790B2 (en) 2009-12-16 2016-11-29 Oracle International Corporation Global presence
US9503407B2 (en) 2009-12-16 2016-11-22 Oracle International Corporation Message forwarding
US8526798B2 (en) * 2009-12-23 2013-09-03 Western Digital Technologies, Inc. Portable content container displaying A/V files in response to a command received from a consumer device
US10019741B2 (en) * 2010-08-09 2018-07-10 Western Digital Technologies, Inc. Methods and systems for a personal multimedia content archive
US9129138B1 (en) 2010-10-29 2015-09-08 Western Digital Technologies, Inc. Methods and systems for a portable data locker
US20120284276A1 (en) * 2011-05-02 2012-11-08 Barry Fernando Access to Annotated Digital File Via a Network
US9047901B1 (en) 2013-05-28 2015-06-02 Western Digital Technologies, Inc. Disk drive measuring spiral track error by measuring a slope of a spiral track across a disk radius
US9053727B1 (en) 2014-06-02 2015-06-09 Western Digital Technologies, Inc. Disk drive opening spiral crossing window based on DC and AC spiral track error
US11086547B2 (en) * 2015-11-06 2021-08-10 Open Text Sa Ulc Archive center for content management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5603058A (en) * 1994-09-08 1997-02-11 International Business Machines Corporation Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams
US5611049A (en) * 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
US5649185A (en) * 1991-03-01 1997-07-15 International Business Machines Corporation Method and means for providing access to a library of digitized documents and images

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185878A (en) * 1988-01-20 1993-02-09 Advanced Micro Device, Inc. Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
US5297270A (en) * 1989-11-13 1994-03-22 Zenith Data Systems Corporation Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
US5594886A (en) * 1994-10-23 1997-01-14 Lsi Logic Corporation Pseudo-LRU cache memory replacement method and apparatus utilizing nodes
US5822758A (en) * 1996-09-09 1998-10-13 International Business Machines Corporation Method and system for high performance dynamic and user programmable cache arbitration
US5913224A (en) * 1997-02-26 1999-06-15 Advanced Micro Devices, Inc. Programmable cache including a non-lockable data way and a lockable data way configured to lock real-time data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649185A (en) * 1991-03-01 1997-07-15 International Business Machines Corporation Method and means for providing access to a library of digitized documents and images
US5611049A (en) * 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5603058A (en) * 1994-09-08 1997-02-11 International Business Machines Corporation Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams

Cited By (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046313B2 (en) 1991-12-23 2011-10-25 Hoffberg Steven M Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US9330722B2 (en) 1997-05-16 2016-05-03 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
US6598230B1 (en) * 1998-08-21 2003-07-22 Karsten Ballhorn Multimedia box network
US9990174B2 (en) 1998-10-06 2018-06-05 Hypermedia Navigation Llc System and method for creating and navigating a linear hypermedia resource program
US20070245400A1 (en) * 1998-11-06 2007-10-18 Seungyup Paek Video description system and method
US8370869B2 (en) 1998-11-06 2013-02-05 The Trustees Of Columbia University In The City Of New York Video description system and method
US6460076B1 (en) * 1998-12-21 2002-10-01 Qwest Communications International, Inc. Pay per record system and method
US8583263B2 (en) 1999-02-01 2013-11-12 Steven M. Hoffberg Internet appliance system and method
US9535563B2 (en) 1999-02-01 2017-01-03 Blanding Hovenweep, Llc Internet appliance system and method
US6941325B1 (en) * 1999-02-01 2005-09-06 The Trustees Of Columbia University Multimedia archive description scheme
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8369967B2 (en) 1999-02-01 2013-02-05 Hoffberg Steven M Alarm system controller and a method for controlling an alarm system
US7107418B2 (en) 1999-02-23 2006-09-12 Emc Corporation Method and system for mirroring and archiving mass storage
WO2000050999A1 (en) * 1999-02-23 2000-08-31 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6609183B2 (en) 1999-02-23 2003-08-19 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US20040034752A1 (en) * 1999-02-23 2004-02-19 Ohran Richard S. Method and system for mirroring and archiving mass storage
US6442601B1 (en) * 1999-03-25 2002-08-27 International Business Machines Corporation System, method and program for migrating files retrieved from over a network to secondary storage
US6813629B1 (en) * 1999-04-02 2004-11-02 Oracle International Corporation Method and apparatus for facilitating object communication across a network
US8930319B2 (en) 1999-07-14 2015-01-06 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US8352433B2 (en) 1999-07-14 2013-01-08 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US8041673B2 (en) 1999-07-15 2011-10-18 Commvault Systems, Inc. Hierarchical systems and methods for performing data storage operations
US8433679B2 (en) 1999-07-15 2013-04-30 Commvault Systems, Inc. Modular systems and methods for managing data storage operations
US7877351B2 (en) * 1999-07-15 2011-01-25 Commvault Systems, Inc. Hierarchical systems and methods for performing data storage operations
US20080201343A1 (en) * 1999-07-15 2008-08-21 Commvault Systems, Inc. Hierarchical systems and methods for performing data storage operations
US8566278B2 (en) 1999-07-15 2013-10-22 Commvault Systems, Inc. Hierarchical systems and methods for performing data storage operations
US7974714B2 (en) 1999-10-05 2011-07-05 Steven Mark Hoffberg Intelligent electronic appliance system and method
US9003137B2 (en) 2000-01-31 2015-04-07 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US9286398B2 (en) 2000-01-31 2016-03-15 Commvault Systems, Inc. Systems and methods for retrieving data in a computer network
US8103670B2 (en) 2000-01-31 2012-01-24 Commvault Systems, Inc. Systems and methods for retrieving data in a computer network
US8214444B2 (en) 2000-01-31 2012-07-03 Commvault Systems, Inc. Email attachment management in a computer system
US8725731B2 (en) 2000-01-31 2014-05-13 Commvault Systems, Inc. Systems and methods for retrieving data in a computer network
US8725964B2 (en) 2000-01-31 2014-05-13 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US8086809B2 (en) 2000-01-31 2011-12-27 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US8504634B2 (en) 2000-01-31 2013-08-06 Commvault Systems, Inc. Email attachment management in a computer system
US8266397B2 (en) 2000-01-31 2012-09-11 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US20020143938A1 (en) * 2000-09-28 2002-10-03 Bruce Alexander System and method for providing configurable security monitoring utilizing an integrated information system
USRE45649E1 (en) 2000-09-28 2015-08-11 Vivint, Inc. Method and process for configuring a premises for monitoring
USRE43598E1 (en) 2000-09-28 2012-08-21 Vig Acquisitions Ltd., L.L.C. Method and process for configuring a premises for monitoring
US8700769B2 (en) 2000-09-28 2014-04-15 Vig Acquisitions Ltd., L.L.C. System and method for providing configurable security monitoring utilizing an integrated information system
US8392552B2 (en) 2000-09-28 2013-03-05 Vig Acquisitions Ltd., L.L.C. System and method for providing configurable security monitoring utilizing an integrated information system
US20020075307A1 (en) * 2000-09-28 2002-06-20 Vigilos, Inc. System and method for dynamic interaction with remote devices
US7627665B2 (en) 2000-09-28 2009-12-01 Barker Geoffrey T System and method for providing configurable security monitoring utilizing an integrated information system
US20020174200A1 (en) * 2001-01-30 2002-11-21 Kozina Gerald Edward Method and system for object replication in a content management system
US7054887B2 (en) * 2001-01-30 2006-05-30 Ibm Corporation Method and system for object replication in a content management system
US6757726B2 (en) * 2001-02-23 2004-06-29 Fujitsu Limited Cache server having a cache-data-list table storing information concerning data retained by other cache servers
US20020147827A1 (en) * 2001-04-06 2002-10-10 International Business Machines Corporation Method, system and computer program product for streaming of data
US20030236885A1 (en) * 2001-10-11 2003-12-25 Tadashi Takeuchi Method for data distribution and data distribution system
US20080303942A1 (en) * 2001-12-06 2008-12-11 Shih-Fu Chang System and method for extracting text captions from video and generating video summaries
US8488682B2 (en) 2001-12-06 2013-07-16 The Trustees Of Columbia University In The City Of New York System and method for extracting text captions from video and generating video summaries
US7480715B1 (en) 2002-01-25 2009-01-20 Vig Acquisitions Ltd., L.L.C. System and method for performing a predictive threat assessment based on risk factors
US7933989B1 (en) 2002-01-25 2011-04-26 Barker Geoffrey T Predictive threat assessment
US20030167335A1 (en) * 2002-03-04 2003-09-04 Vigilos, Inc. System and method for network-based communication
US20030206172A1 (en) * 2002-03-05 2003-11-06 Vigilos, Inc. System and method for the asynchronous collection and management of video data
US20030200478A1 (en) * 2002-04-18 2003-10-23 Anderson Michael H. Media server with single chip storage controller
US6971042B2 (en) 2002-04-18 2005-11-29 Huge Systems, Inc. Media server with single chip storage controller
US20040107245A1 (en) * 2002-12-02 2004-06-03 Lightsurf Technologies, Inc. System and methodology for providing a mobile device with a network-based intelligent resource fork
US7092946B2 (en) * 2002-12-02 2006-08-15 Lightsurf Technologies, Inc. System and methodology for providing a mobile device with a network-based intelligent resource fork
WO2004088887A2 (en) * 2003-04-04 2004-10-14 Bbc Technology Holdings Limited System and method for media management
WO2004088887A3 (en) * 2003-04-04 2005-06-30 Bbc Technology Holdings Ltd System and method for media management
US7739715B2 (en) * 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
US20040267952A1 (en) * 2003-06-24 2004-12-30 He Li-Wei Variable play speed control for media streams
US8103829B2 (en) 2003-06-25 2012-01-24 Commvault Systems, Inc. Hierarchical systems and methods for performing storage operations in a computer network
US9003117B2 (en) 2003-06-25 2015-04-07 Commvault Systems, Inc. Hierarchical systems and methods for performing storage operations in a computer network
US8402219B2 (en) 2003-06-25 2013-03-19 Commvault Systems, Inc. Hierarchical systems and methods for performing storage operations in a computer network
US6903972B2 (en) * 2003-07-30 2005-06-07 M-Systems Flash Disk Pioneers Ltd. Different methods applied for archiving data according to their desired lifetime
KR100966275B1 (en) 2003-07-30 2010-06-28 샌디스크 아이엘 엘티디 Method of archiving data
EP1652089A2 (en) * 2003-07-30 2006-05-03 M-Systems Flash Disk Pioneers Ltd. Method of archiving data
EP1652089A4 (en) * 2003-07-30 2007-04-11 Milsys Ltd Method of archiving data
US20050024941A1 (en) * 2003-07-30 2005-02-03 M-Systems Flash Disk Pioneers, Ltd. Method of archiving data
US20070058943A1 (en) * 2003-11-10 2007-03-15 Disclive, Inc. System, method and apparatus for rapid mass production of content-inclusive physical media
US9104340B2 (en) 2003-11-13 2015-08-11 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US8266106B2 (en) 2003-11-13 2012-09-11 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US8078583B2 (en) 2003-11-13 2011-12-13 Comm Vault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US8577844B2 (en) 2003-11-13 2013-11-05 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US8864567B2 (en) 2004-01-12 2014-10-21 Igt Casino display methods and devices
US20070004510A1 (en) * 2004-01-12 2007-01-04 Igt Casino display methods and devices
US20080020827A1 (en) * 2004-01-12 2008-01-24 Igt Casino Display methods and devices
US8545326B2 (en) 2004-01-12 2013-10-01 Igt Casino display methods and devices
US20050289338A1 (en) * 2004-02-04 2005-12-29 Braden Stadlman Recording, editing, encoding and immediately distributing a live performance
US20060190960A1 (en) * 2005-02-14 2006-08-24 Barker Geoffrey T System and method for incorporating video analytics in a monitoring network
US9060175B2 (en) 2005-03-04 2015-06-16 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity H.264 decoder
US20080181308A1 (en) * 2005-03-04 2008-07-31 Yong Wang System and method for motion estimation and mode decision for low-complexity h.264 decoder
US20070073837A1 (en) * 2005-05-24 2007-03-29 Johnson-Mccormick David B Online multimedia file distribution system and method
US7725674B2 (en) * 2005-10-20 2010-05-25 Ensconce Data Technology, Inc. Hard drive eraser
US20100220572A1 (en) * 2005-10-20 2010-09-02 Thorsen Jack D Hard drive eraser
US20120303920A1 (en) * 2005-10-20 2012-11-29 Ensconce Data Technology, Inc. Hard drive eraser
US20070101055A1 (en) * 2005-10-20 2007-05-03 Thorsen Jack D Hard drive eraser
WO2007047802A3 (en) * 2005-10-20 2008-01-31 Ensconce Data Technology Inc Hard drive eraser
US20070245882A1 (en) * 2006-04-04 2007-10-25 Odenwald Michael J Interactive computerized digital media management system and method
US20080040770A1 (en) * 2006-08-09 2008-02-14 Nils Angquist Media map for capture of content from random access devices
US8413184B2 (en) 2006-08-09 2013-04-02 Apple Inc. Media map for capture of content from random access devices
US8763035B2 (en) 2006-08-09 2014-06-24 Apple Inc. Media map for capture of content from random access devices
US9544531B2 (en) 2006-08-09 2017-01-10 Apple Inc. Media map for capture of content from random access devices
US20080040444A1 (en) * 2006-08-09 2008-02-14 Nils Angquist Media map for capture of content from random access devices
US20080234069A1 (en) * 2007-03-23 2008-09-25 Acushnet Company Functionalized, Crosslinked, Rubber Nanoparticles for Use in Golf Ball Castable Thermoset Layers
US8849058B2 (en) 2008-04-10 2014-09-30 The Trustees Of Columbia University In The City Of New York Systems and methods for image archaeology
US20110025710A1 (en) * 2008-04-10 2011-02-03 The Trustees Of Columbia University In The City Of New York Systems and methods for image archeology
US20110145232A1 (en) * 2008-06-17 2011-06-16 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
US8364673B2 (en) 2008-06-17 2013-01-29 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
US8671069B2 (en) 2008-12-22 2014-03-11 The Trustees Of Columbia University, In The City Of New York Rapid image annotation via brain state decoding and visual pattern mining
US9665824B2 (en) 2008-12-22 2017-05-30 The Trustees Of Columbia University In The City Of New York Rapid image annotation via brain state decoding and visual pattern mining
US9626305B1 (en) * 2009-03-31 2017-04-18 EMC IP Holding Company LLC Complementary space reduction
US9537705B1 (en) 2009-03-31 2017-01-03 EMC IP Holding Company LLC Global space reduction groups
US8656057B1 (en) 2009-04-01 2014-02-18 Emc Corporation Opportunistic restore
US9384274B2 (en) * 2009-05-27 2016-07-05 Hon Hai Precision Industry Co., Ltd. Media data and audio playback positioning method and electronic device system utilizing the same
US20100305726A1 (en) * 2009-05-27 2010-12-02 Hon Hai Precision Industry Co., Ltd. Audio playback positioning method and electronic system utilizing the same
US8751023B2 (en) * 2009-05-27 2014-06-10 Hon Hai Precision Industry Co., Ltd. Audio playback positioning method and electronic device system utilizing the same
US20140188259A1 (en) * 2009-05-27 2014-07-03 Hon Hai Precision Industry Co., Ltd. Audio playback positioning method and electronic device system utilizing the same
US8958683B2 (en) 2010-04-01 2015-02-17 Hon Hai Precision Industry Co., Ltd. Portable electronic device and diversified operation method thereof
US9578101B2 (en) 2011-01-20 2017-02-21 Commvault Systems, Inc. System and method for sharing san storage
US11228647B2 (en) 2011-01-20 2022-01-18 Commvault Systems, Inc. System and method for sharing SAN storage
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US10268402B2 (en) 2012-03-30 2019-04-23 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US20180011845A1 (en) * 2012-03-30 2018-01-11 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US10108621B2 (en) * 2012-03-30 2018-10-23 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US9773002B2 (en) * 2012-03-30 2017-09-26 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US10895993B2 (en) 2012-03-30 2021-01-19 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US10963422B2 (en) * 2012-03-30 2021-03-30 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US20160253335A1 (en) * 2012-03-30 2016-09-01 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US11347408B2 (en) 2012-03-30 2022-05-31 Commvault Systems, Inc. Shared network-available storage that permits concurrent data access
US11494332B2 (en) * 2012-03-30 2022-11-08 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US20150381875A1 (en) * 2014-06-26 2015-12-31 Amaryllo International, Inc. Network camera data management system and managing method thereof
US9300853B2 (en) * 2014-06-26 2016-03-29 Amaryllo International Inc. Network camera data management system and managing method thereof
US9940746B2 (en) 2015-06-18 2018-04-10 Apple Inc. Image fetching for timeline scrubbing of digital media
US10515476B2 (en) 2015-06-18 2019-12-24 Apple Inc. Image fetching for timeline scrubbing of digital media

Also Published As

Publication number Publication date
US6434680B2 (en) 2002-08-13
US20010042170A1 (en) 2001-11-15
US20020166035A1 (en) 2002-11-07
US6978348B2 (en) 2005-12-20

Similar Documents

Publication Publication Date Title
US6070228A (en) Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters
US5870553A (en) System and method for on-demand video serving from magnetic tape using disk leader files
Gemmell et al. Multimedia storage servers: A tutorial
US8422733B2 (en) Method and apparatus for progressively deleting media objects from storage
US6125209A (en) Database accessing method and apparatus
US7278153B1 (en) Content propagation in interactive television
US6766357B1 (en) Apparatus and method for efficient transfer of multimedia data for playback
US20090204994A1 (en) Management of tv programs by their buffered lengths
EP0780758A2 (en) Data processing and storage method and apparatus
EP1902394B1 (en) Moving data from file on storage volume to alternate location to free space
US8108440B2 (en) File server and file management method
WO2000004483A2 (en) Hierarchical data storage management
US5742789A (en) Dynamically adaptive data retrieval for a disk drive storage system
EP0752128A1 (en) Method for computer-assisted media processing
US11388448B2 (en) Method and apparatus for archiving media content
US7506004B2 (en) Moving data from file on storage volume to alternate location to free space
EP1932088A2 (en) A recycle bin function
JP2001218125A (en) Memory management method for television receiver and the television receiver
EP0786718A2 (en) Device for distributing data in response to a plurality of requests for the same file
US7873681B2 (en) Moving data from file on storage volume to alternate location to free space
WO2007011577A2 (en) Moving data from file on storage volume to alternate location to free space
EP0777228A2 (en) Data storage/transfer apparatus and method
JP3869008B2 (en) Method and system for iterating data between logically contiguous clusters
JPH10198590A (en) Contents management system
US20030009605A1 (en) Application programming interface for communication between audio/video file system and audio video controller

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BELKNAP, WILLIAM RUSSELL;ELLIOT, STEVEN K.;KOZINA, GERALD EDWARD;AND OTHERS;REEL/FRAME:008743/0353

Effective date: 19970930

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12