Search

EP-4127973-B1 - SYSTEMS, METHODS, AND DEVICES FOR MANAGING STORAGE OF MEDIA OBJECTS

EP4127973B1EP 4127973 B1EP4127973 B1EP 4127973B1EP-4127973-B1

Inventors

  • RICKER, Clint, Earl
  • BEHEYDT, SAMIE

Dates

Publication Date
20260506
Application Date
20210308

Claims (14)

  1. A method comprising: storing (502), in a rolling buffer (316) of a storage system (310) of a cloud digital video recorder, cDVR, system (306), a first plurality of media objects comprising a steady stream of incoming available media objects (202) independent of receiving recording requests, wherein each of the first plurality of media objects includes a respective plurality of sequential media segments; storing, in a metadata object datastore (312) of the storage system (310) of the cDVR system (306), a plurality of metadata objects respectively associated with the first plurality of media objects; receiving (506), from a client, a first recording request (204) to record a first one of the first plurality of media objects, the first recording request (204) including metadata describing the first one of the first plurality of media objects; in response to receiving the first recording request (204), updating (510) a first one of the plurality of metadata objects corresponding to the first one of the first plurality of media objects based on the metadata in the first recording request, and in order to include an indication (512) of the first recording request to record the first one of the first plurality of media objects, wherein updating the first one of the plurality of metadata objects includes marking the first one of the plurality of metadata objects in the rolling buffer (316) of the storage system (310) of the cDVR system, whereby the cDVR system updates storage within the rolling buffer storage system (310) in response to receiving recording requests and maintains storage of desired media objects without having to maintain a second storage system for storing older media objects; identifying (514), based on the plurality of metadata objects, a portion of the first plurality of media objects that satisfies a deletion criterion, wherein the first one of the plurality of metadata objects does not satisfy the deletion criterion based on the marking; removing (516), from the rolling buffer (316) of the storage system (310) of the cDVR system, the portion of the first plurality of media objects while maintaining the first one of the first plurality of media objects; and adding (518), to the rolling buffer (316) of the storage system (310) of the cDVR system, a second plurality of incoming available media objects for storage along with the first one of the first plurality of media objects.
  2. The method of claim 1, wherein the first one of the first plurality of media objects includes a first plurality of sequential media segments, and wherein the first one of the plurality of metadata objects provides an indication of temporal relationships between the first plurality of sequential media segments.
  3. The method of claim 1, further comprising: receiving a second recording request to record a first one of the second plurality of media objects, the second recording request including metadata describing the first one of the second plurality of media objects; and updating a respective metadata object associated with the first one of the second plurality of media objects in response to receiving the second recording request based on the metadata in the second recording request.
  4. The method of claim 3, further comprising: identifying a first timeline based on the first one of the plurality of metadata objects, wherein the first timeline temporally characterizes the first one of the first plurality of media objects; and identifying a second timeline based on the respective metadata object, wherein the second timeline temporally characterizes the first one of the second plurality of media objects.
  5. The method of claim 4, further comprising: determining whether or not the first timeline and the second timeline satisfy a boundary condition with respect to each other; storing the first one of the plurality of metadata objects in association with the respective metadata object in response to determining that the first timeline and the second timeline satisfy the boundary condition with respect to each other; and storing the first one of the plurality of metadata objects separately from the respective metadata object in response to determining that the first timeline and the second timeline do not satisfy the boundary condition with respect to each other.
  6. The method of claim 5, wherein the first timeline and the second timeline satisfy the boundary condition with respect to each other when the first and second timelines are contiguous with respect to each other.
  7. The method of claim 5, wherein storing the first one of the plurality of metadata objects in association with the respective metadata object includes concatenating the first and second pluralities of metadata objects.
  8. The method of claim 5, wherein storing the first one of the plurality of metadata objects in association with the respective metadata object includes merging a common portion of the first and second pluralities of metadata objects.
  9. The method of claim 1, wherein identifying the portion of the first plurality of media objects that satisfy the deletion criterion includes determining that concurrent storage, in the rolling buffer storage system (310) of the cDVR system, of the portion of the first plurality of media objects and the second plurality of media objects exceeds a storage capacity associated with the rolling buffer storage system (310) of the cDVR system.
  10. The method of claim 1, wherein the first plurality of media objects is associated with a first time window, and wherein identifying the portion of the first plurality of media objects that satisfy the deletion criterion includes determining that the second plurality of media objects is associated with a second time window that different from the first time window.
  11. The method of claim 1, wherein the first recording request is associated with a first portion of the first one of the first plurality of media objects that is less than the entirety of the first one of the first plurality of media objects, and wherein removing the portion of the first plurality of media objects includes removing a second portion of the first one of the first plurality of media objects that is not associated with the first recording request.
  12. The method of claim 1, wherein the first recording request is associated with the entirety of the first one of the first plurality of media objects, and wherein maintaining the first one of the first plurality of media objects includes maintaining the entirety of the first one of the first plurality of media objects.
  13. A cloud digital video recorder, cDVR, system comprising: one or more processors; and a non-transitory computer-readable medium including instructions, which, when executed, cause the one or more processors to perform operations to perform all steps of a method according to any one of the preceding claims.
  14. A non-transitory computer-readable medium including instructions, which, when executed by an electronic device including one or more processors, cause the electronic device to perform all steps of a method according to any one of claims 1 to 12.

Description

TECHNICAL FIELD The present disclosure relates to storage systems, and, in particular, to enabling more efficient management of storage of media objects. BACKGROUND Cloud-enabled/network-based digital video recording (cDVR) facilitates media content recording and delivery (e.g., playback). Media content is often stored as a file, sometimes referred to as a media object. The media object corresponds to a complete recording, such as an entire episode of a television show. Typically, a media object includes a number of discrete media segments. A conventional cDVR system typically includes multiple, distinct storage systems for storing media objects. For example, a first storage system includes a rolling buffer that stores media objects as they become available, independent of recording requests. A second storage system stores a media object in response to receiving a request to record the media object. Accordingly, by using distinct storage systems in order to manage the storage of media objects, conventional cDVR systems are cumbersome and resource (e.g., storage and processing) intensive. Moreover, storing media objects across multiple storage systems utilizes a large amount of metadata, further increasing storage and processing utilization. US 2013/071092 discloses a receiver for television signals that receives and stores television signals encoded at a variable data rate. Time information is generated based on the time of receipt of the signals that defines the duration of the television signals when output in decompressed form at a substantially constant data rate. The received signals are then written to a file on a hard disk in received order together with the time information. The time information of signals stored in the file is monitored and old signals are deleted from the file such that the file stores signals corresponding to a predetermined period of time. BRIEF DESCRIPTION OF THE DRAWINGS So that the present disclosure can be understood by those of ordinary skill in the art, a more detailed description may be had by reference to aspects of some illustrative embodiments, some of which are shown in the accompanying drawings. Figure 1 is a block diagram of a cloud-based digital video recording (cDVR) operating environment.Figure 2 is a block diagram of a cDVR system that includes multiple storage systems for managing storage of media objects.Figure 3 is an example of a block diagram of a cDVR system for managing storage of media objects in accordance with some embodiments.Figure 4 is an example of a timeline representation for managing storage of media objects in accordance with some embodiments.Figure 5 is an example of a flow diagram of a method of managing storage of media objects in accordance with some embodiments.Figure 6 is an example of a flow diagram of a method of timeline-based management of storage of media objects in accordance with some embodiments.Figure 7 is another example of a flow diagram of a method of managing storage of media objects in accordance with some embodiments. In accordance with common practice, various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of a given system, method or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures. DETAILED DESCRIPTION Numerous details are described in order to provide a thorough understanding of the example embodiments shown in the drawings. However, the drawings merely show some example aspects of the present disclosure and are therefore not to be considered limiting. Those of ordinary skill in the art will appreciate that other effective aspects and/or variants do not include all of the specific details described herein. Moreover, well-known systems, methods, components, devices, and circuits have not been described in exhaustive detail so as not to obscure more pertinent aspects of the example embodiments described herein. OVERVIEW Techniques for managing storage of media objects in a more efficient manner are disclosed herein. Namely, various methods, systems (e.g., cDVR systems), and apparatuses include removing a portion of stored media objects that are not associated with a recording request, while maintaining within memory another portion of the stored media objects that are associated with the recording request. A method is performed in cloud digital recorder, cDVR, system with one or more processors and a non-transitory memory (e.g., storage and playback system). The method includes storing, in a memory, a first plurality of media objects. Each of the first plurality of media objects includes a respective plurality of sequential media segments. The first plurality of media objects is correspondingly associated with a plurality of metadata objects. The method includes rec