Multi-Source Media Aggregation
First Claim
1. A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause one or more processors to:
- receive a media request;
determine whether an ordered set of metadata items corresponding to the request is stored in a high level cache layer in persistent storage;
retrieve the ordered set of metadata items from the high level cache layer when it is determined that the ordered set of metadata items is stored in the high level cache layer;
construct an ordered set of metadata items corresponding to the request from other metadata items in one or more lower level cache layers in persistent storage when it is determined that the ordered set of metadata items is not stored in the high level cache layer; and
use the retrieved or constructed ordered set of metadata items to identify a media arrangement in which to display one or more media items corresponding to the request.
1 Assignment
0 Petitions
Accused Products
Abstract
A user interface to match a requested set of media items for display in a media item arrangement requires an efficient method of obtaining properties of the requested media items. The requested media items may span across multiple connected sources and be associated with multiple users. A first cache layer of a multi-layer cache system stores a flat representation of metadata items corresponding to media items available from connected sources. A second cache layer stores compiles metadata items from the first cache layer into sets of metadata items for various media item groupings. A third cache layer compiles sets of metadata items from the second cache layer into ordered sets of metadata items. The ordered sets of metadata items may be used to identify an appropriate media item arrangement in which to display the associated media items.
-
Citations
26 Claims
-
1. A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause one or more processors to:
-
receive a media request; determine whether an ordered set of metadata items corresponding to the request is stored in a high level cache layer in persistent storage; retrieve the ordered set of metadata items from the high level cache layer when it is determined that the ordered set of metadata items is stored in the high level cache layer; construct an ordered set of metadata items corresponding to the request from other metadata items in one or more lower level cache layers in persistent storage when it is determined that the ordered set of metadata items is not stored in the high level cache layer; and use the retrieved or constructed ordered set of metadata items to identify a media arrangement in which to display one or more media items corresponding to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A device, comprising:
-
a memory; a display device; and one or more processors operatively coupled to the memory and the display device, the one or more processors configured to execute program code stored in the memory to; receive a request to display a plurality of media items; determine whether an ordered set of metadata items corresponding to the request is stored in a high level cache layer in the memory; retrieve the ordered set of metadata items from the high level cache layer when it is determined that the ordered set of metadata items is stored in the high level cache layer; construct an ordered set of metadata items corresponding to the request from other metadata items in one or more lower level cache layers in the memory when it is determined that the ordered set of metadata items is not stored in the high level cache layer; and display, on the display device, the plurality of media items in a media arrangement identified based, at least in part, on the ordered set of metadata items. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A method, comprising:
-
receiving, using one or more processors, a request to display a plurality of media items; identifying, using the one or more processors, one or more media item groupings associated with the request; determining, using the one or more processors, whether an ordered array of metadata items for the one or more media item groupings is stored in a high level cache layer, wherein the ordered array of metadata items is used to match the plurality of media items with one or more media item arrangements; retrieving, using the one or more processors, the ordered array of metadata items from the high level cache layer when it is determined that the ordered array of metadata items is stored in the high level cache layer; constructing, using the one or more processors, the ordered array of metadata items when it is determined that the ordered array of metadata items is not stored in the high level cache layer, wherein constructing the ordered array of metadata items comprises; determining, using the one or more processors, whether a set of metadata items corresponding to each of the one or more media item groupings is stored in a second lower level cache layer; and constructing, using the one or more processors, a set of metadata items corresponding to the media item grouping from metadata items in a first lower level cache layer when it is determined that the set of metadata items is not stored in the second lower level cache layer. - View Dependent Claims (25, 26)
-
Specification