IP Library › Granted Patent US 12,210,563
Granted Patent B1
US 12,210,563 · App. 17/898,871 · Granted Jan 28, 2025

Flexible image repository for customer premises equipment

Inventors: Jaison P. Antony (Dix Hills, NY); Heitor J. Almeida (Yorktown Heights, NY); John Markowski (Smithtown, NY); Alejandro Hoyos (Jericho, NY); Peter Caramanica (Westbury, NY)
Assignee: CSC Holdings, LLC
G06F16/51G06F16/2393H04L67/568
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,210,563
App. No.
17/898,871
Granted
Jan 28, 2025
Kind
B1
Abstract

The present disclosure describes an autonomous mechanism for implementing a flexible image repository that includes an image retrieval service and an image repository management application. The flexible image repository performs delta processing to provide a subset of stored images to a subscriber device when the image retrieval service receives an image update request. The subscriber device thus receives updates to the image repository in a manner that reduces bandwidth requirements at both the server and the client, allowing client-side images to be updated more frequently. A content manager may update the flexible image repository via the image repository management application, which tags images according to a naming convention prior to inserting the images in the image repository. The tags allowing the image retrieval service to serve a multitude of subscriber devices across disparate platforms, which may provide different interfaces and have disparate access requirements, API calls, or functional behaviors. The flexible image repository employs a caching layer to further optimize the retrieval and display of the images and further optimize the delta processing.

Claims (74)

1. A method comprising:

tagging, by one or more processors, each image in an image repository with a logical path comprising a client type that defines an aspect ratio, an image type that specifies a dimension and a resolution, and an entity name that identifies a category of the image on a specific screen where the image displays in an interactive user experience provided by a service provider to a subscriber device having a local cache;

receiving from the subscriber device an image update request comprising a last fetch timestamp;

in response to the image update request, examining each image in the image repository to determine a subset of images modified since the last fetch timestamp by comparing the last fetch timestamp to a last modified timestamp of the image;

transmitting the subset of images from a caching layer that stores each image in the image repository in memory using the logical path for each image as a cache key in the caching layer to cause the subscriber device to update the local cache based on the subset of images; and

causing the subscriber device to display a particular image from the image repository when the subscriber device accesses the specific screen where the image displays in the interactive user experience, the particular image selected based on the logical path.

2. The method of claim 1 , further comprising:

transmitting the subset of images to the subscriber device directly from the caching layer without accessing the image repository.

3. The method of claim 2 , further comprising:

receiving a refresh interval from a content manager that indicates when to update the caching layer with changes from the image repository; and

refreshing the caching layer periodically based on the refresh interval.

4. The method of claim 1 , further comprising:

receiving a resize of a screen display; and

causing the subscriber device to resize the image displays in the interactive user experience based on the resize.

5. The method of claim 1 , the transmitting further comprising:

compressing the subset of images; and

causing the subscriber device to decompress the compressed subset of images.

6. The method of claim 1 , further comprising:

providing an image repository management application to a content manager that allows the content manager to upload an additional image;

tagging the additional image; and

adding the additional image to the image repository.

7. The method of claim 6 , further comprising:

sending a notification to the subscriber device to alert the subscriber device about the additional image; and

causing the subscriber device to perform the image update request.

8. The method of claim 1 , further comprising:

receiving a notification from the subscriber device that indicates that a factory reset was performed;

retrieving a last updated timestamp for the subscriber device from a database;

examining each image in the image repository to determine a second subset of images modified since the last updated timestamp; and

transmitting the second subset of images to the subscriber device.

9. The method of claim 1 , further comprising:

causing the subscriber device to perform the image update request in accordance with a request interval that indicates a frequency.

10. The method of claim 1 , wherein the interactive user experience provides video on demand content.

11. A system, comprising:

a memory;

at least one processor coupled to the memory and configured to:

tag each image in an image repository with a logical path comprising a client type that defines an aspect ratio, an image type that specifies a dimension and a resolution, and an entity name that identifies a category of the image on a specific screen where the image displays in an interactive user experience provided by a service provider to a subscriber device having a local cache;

receive from the subscriber device an image update request comprising a last fetch timestamp;

in response to the image update request, examine each image in the image repository to determine a subset of images modified since the last fetch timestamp by comparing the last fetch timestamp to a last modified timestamp of the image;

transmit the subset of images from a caching layer that stores each image in the image repository in memory using the logical path for each image as a cache key in the caching layer to cause the subscriber device to update the local cache based on the subset of images; and

cause the subscriber device to display a particular image from the image repository when the subscriber device accesses the specific screen where the image displays in the interactive user experience, the particular image selected based on the logical path.

12. The system service of claim 11 , the at least one processor further configured to:

transmit the subset of images to the subscriber device directly from the caching layer without accessing the image repository.

13. The system service of claim 11 , the at least one processor further configured to:

receive a refresh interval from a content manager that indicates when to update the caching layer with changes from the image repository; and

refresh the caching layer periodically based on the refresh interval.

14. The system of claim 11 , the at least one processor further configured to:

receive a resize of a screen display; and

cause the subscriber device to resize the image displays in the interactive user experience based on the resize.

15. The system service of claim 11 , the at least one processor further configured to:

compress the subset of images; and

cause the subscriber device to decompress the compressed subset of images.

16. The system of claim 11 , the at least one processor further configured to:

provide an image repository management application to a content manager that allows the content manager to upload an additional image;

tag the additional image; and

add the additional image to the image repository.

17. The system of claim 16 , the at least one processor further configured to:

send a notification to the subscriber device to alert the subscriber device about the additional image; and

cause the subscriber device to perform the image update request.

18. The system of claim 11 , the at least one processor further configured to:

receive a notification from the subscriber device that indicates that a factory reset was performed;

retrieve a last updated timestamp for the subscriber device from a database;

examine each image in the image repository to determine a second subset of images modified since the last updated timestamp; and

transmit the second subset of images to the subscriber device.

19. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

tagging each image in an image repository with a logical path comprising a client type that defines an aspect ratio, an image type that specifies a dimension and a resolution, and an entity name that identifies a category of the image on a specific screen where the image displays in an interactive user experience provided by a service provider to a subscriber device having a local cache;

receiving from the subscriber device an image update request comprising a last fetch timestamp;

in response to the image update request, examining each image in the image repository to determine a subset of images modified since the last fetch timestamp by comparing the last fetch timestamp to a last modified timestamp of the image;

transmitting the subset of images from a caching layer that stores each image in the image repository in memory using the logical path for each image as a cache key in the caching layer to cause the subscriber device to update the local cache based on the subset of images; and

causing the subscriber device to display a particular image from the image repository when the subscriber device accesses the specific screen where the image displays in the interactive user experience, the particular image selected based on the logical path.

20. The non-transitory computer-readable device of claim 19 , the operations further comprising:

receiving a notification from the subscriber device that indicates that a factory reset was performed;

retrieving a last updated timestamp for the subscriber device from a database;

examining each image in the image repository to determine a second subset of images modified since the last updated timestamp; and

transmitting the second subset of images to the subscriber device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2022
From: ANTONY, JAISON P.; ALMEIDA, HEITOR J.; MARKOWSKI, JOHN; CARAMANICA, PETER; HOYOS, ALEJANDRO
To: CSC HOLDINGS, LLC
Reel/Frame 060942/0906 →
Continuity (1)
Continuation 16809513 · Mar 4, 2020
References Cited (41)
US 8862974B2 · Ohkubo · 2014 [cited by examiner]
US 9003445B1 · Rowe · 2015 [cited by applicant]
US 9553841B1 · Skinner · 2017 [cited by examiner]
US 10650788B2 · Capt · 2020 [cited by examiner]
US 10748507B2 · Hagiwara · 2020 [cited by examiner]
US 10769718B1 · Nunn · 2020 [cited by examiner]
US 11188944B2 · Pateel · 2021 [cited by examiner]
US 20050246634A1 · Ortwein · 2005 [cited by examiner]
US 20090274219A1 · Greene · 2009 [cited by examiner]
US 20100238109A1 · Cook · 2010 [cited by applicant]
US 20100251318A1 · Simoes Rodrigues · 2010 [cited by applicant]
US 20100269144A1 · Forsman · 2010 [cited by examiner]
US 20110125755A1 · Kaila · 2011 [cited by examiner]
US 20110179451A1 · Miles · 2011 [cited by examiner]
US 20120151528A1 · Mathews · 2012 [cited by examiner]
US 20120210356A1 · Kiok · 2012 [cited by applicant]
US 20140095645A1 · Grosz · 2014 [cited by examiner]
US 20140189539A1 · St. Clair · 2014 [cited by applicant]
US 20140229485A1 · Icho · 2014 [cited by examiner]
US 20140372743A1 · Rogers · 2014 [cited by examiner]
US 20150063471A1 · Zhu · 2015 [cited by examiner]
US 20150109323A1 · Johnson · 2015 [cited by examiner]
US 20150178029A1 · Miyazawa · 2015 [cited by examiner]
US 20150206447A1 · Vahid · 2015 [cited by applicant]
US 20150222741A1 · Kim · 2015 [cited by applicant]
US 20150277686A1 · LaForge · 2015 [cited by examiner]
US 20150295879A1 · Jung · 2015 [cited by examiner]
US 20150358663A1 · Malone · 2015 [cited by examiner]
US 20160283483A1 · Jiang · 2016 [cited by examiner]
US 20170124057A1 · Canton · 2017 [cited by examiner]
US 20170235537A1 · Liu · 2017 [cited by examiner]
US 20170269895A1 · Gates · 2017 [cited by examiner]
US 20180039853A1 · Liu · 2018 [cited by examiner]
US 20180268441A1 · Triano · 2018 [cited by applicant]
US 20180288403A1 · Cole · 2018 [cited by examiner]
US 20180343491A1 · Loheide · 2018 [cited by applicant]
US 20190034534A1 · Khandelwal · 2019 [cited by examiner]
US 20190362312A1 · Platt · 2019 [cited by examiner]
US 20200250491A1 · Peng · 2020 [cited by examiner]
US 20200272656A1 · Ito · 2020 [cited by examiner]
US 20210225005A1 · Vartakavi · 2021 [cited by applicant]