US 12,190,915 B2
Common timeline processing for unique manifests
Rourke Rabinowitz, Brookhaven, GA (US); Clint Earl Ricker, Teddington (GB); Samie Beheydt, Geluwe (BE); Kenneth James Penner, Peachtree Corners, GA (US); and Chunfan Wu, Suwanee, GA (US)
Assigned to SYNAMEDIA LIMITED, Maidenhead (GB)
Filed by Synamedia Limited, Staines Upon Thames (GB)
Filed on Dec. 3, 2022, as Appl. No. 18/074,468.
Prior Publication US 2024/0185891 A1, Jun. 6, 2024
Int. Cl. H04N 21/262 (2011.01); G11B 27/10 (2006.01); H04N 21/231 (2011.01); H04N 21/235 (2011.01); H04N 21/239 (2011.01); H04N 21/274 (2011.01); H04N 21/845 (2011.01); H04N 21/858 (2011.01)
CPC G11B 27/102 (2013.01) [H04N 21/23106 (2013.01); H04N 21/235 (2013.01); H04N 21/2393 (2013.01); H04N 21/274 (2013.01); H04N 21/8456 (2013.01); H04N 21/8586 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
at one or more servers including one or more processors, one or more non-transitory memory, and one or more network interfaces perform:
generating manifest data in an object store while recording data for a plurality of clients, wherein the object store stores the manifest data corresponding to the recorded data in different common manifest files corresponding to predefined durations without tracking a plurality of recording identifiers (IDs) for the plurality of clients in the different common manifest files;
generating and storing manifest files in a cache outside an object store in response to receiving playback requests from the plurality of clients, wherein the manifest files are shared by the plurality of clients, and the manifest files are stored in the cache according to the predefined durations along recording timelines, including:
receiving a request from a client for a unique manifest, wherein the request indicates a recording timeline and includes a recording;
determining whether a corresponding portion of the recording timeline exists in the cache;
in accordance with determining that the corresponding portion of the recording timeline exists in the cache, obtaining from the cache one or more manifest files according to the corresponding portion of the recording timeline and constructing at least a portion of the unique manifest using the one or more manifest files,
in accordance with determining that the corresponding portion of the recording timeline does not exist in the cache, obtaining from the object store a set of the different common manifest files corresponding to the recording timeline and constructing at least the portion of the unique manifest using the set of the different common manifest files;
modifying the unique manifest by appending the recording ID of the request to a URL prefix in the unique manifest;
storing the unique manifest in the cache according to the predefined duration along the recording timeline; and
sending the unique manifest to the client.