IP Library Granted Patent US 11,204,924
Granted Patent B2
US 11,204,924 · App. 16/720,836 · Granted Dec 21, 2021

Collection of timepoints and mapping preloaded graphs

Inventors: Jonathan David Lutz (Seattle, WA); Allen Arthur Gay (Shoreline, WA); Dylan Carney (Seattle, WA)
Assignee: Home Box Office, Inc.
G06F16/24552G06F16/215G06F16/2365G06F16/9024G06F16/9574
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 11,204,924
App. No.
16/720,836
Granted
Dec 21, 2021
Kind
B2
Abstract

The described technology is generally directed towards causing the generation of a content selection graph (or set of graphs) upon receipt of a notification that a new graph or replacement graph is needed with respect to a starting timepoint. For a new graph, a timepoint for that new graph indicates the need for the new graph at a given starting time. For a replacement graph, a notification (subscribed from a monitoring service) can indicate that an existing graph has changed; a replacement graph is generated with a graph identifier of the replacement graph, which then replaces the graph identifier of the existing graph in the mappings of valid graphs to start times. A Redis cache can be used to maintain the various graph sets, including the active graph sets and graph sets that will become active at a future time.

Claims (38)

1. A method comprising:

receiving, by a system comprising a processor, a notification that information in a first content selection graph preloaded into memory has changed, wherein the first content selection graph comprises first nodes comprising respective first content selection data preformatted according to client-specific information associated with a client device;

in response to the notification:

generating, by the system, a second content selection graph, wherein the second content selection graph comprises second nodes comprising respective second content selection data preformatted according to the client-specific information associated with the client device, and

preloading, by the system, the second content selection graph into the memory; and

in response to receiving a content request from the client device, responding to the content request with content selected based on the second content selection graph and at least one parameter in the content request.

2. The method of claim 1 , wherein the generating the second content selection graph comprises generating a replacement graph for the first content selection graph.

3. The method of claim 1 , wherein the generating the second content selection graph comprises communicating with a coordinator that triggers generation and validation of the second content selection graph.

4. The method of claim 1 , further comprising replacing a reference to the first content selection graph with a reference to the second content selection graph to enable the second content selection graph.

5. The method of claim 4 , wherein the replacing the reference to the first content selection graph with the reference to the second content selection graph comprises changing a set of mappings that associate graph identifiers to start times, including replacing an identifier of the first content selection graph in the set of mappings with an identifier of the second content selection graph to enable the second content selection graph to become active at a start time associated with the second content selection graph.

6. The method of claim 1 wherein the generating the second content selection graph comprises regenerating at least part of the content selection graph into an updated content selection graph, and preloading the updated content selection graph into the memory.

7. The method of claim 1 , further comprising, adding a timepoint to a collection of timepoints in response to the receiving the notification, in which the timepoint represents a start time at which a graph set comprising one or more content selection graphs becomes active.

8. The method of claim 1 , further comprising, adding a timepoint to a collection of timepoints in response to the receiving the notification, in which the timepoint represents an end time at which a graph set comprising one or more content selection graphs becomes inactive.

9. The method of claim 1 , further comprising, subscribing to a publishing service that monitors for changes to one or more data stores that contain data related to the content selection graph and that outputs the notification based on detecting a change.

10. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, the operations comprising:

maintaining a collection of timepoints;

receiving a notification that a content selection graph needs to be generated with respect to a timepoint;

in response to the notification, causing generation of the content selection graph, including obtaining a graph identifier of the content selection graph, wherein the content selection graph comprises nodes comprising respective content selection data preformatted according to client-specific information associated with a client device;

determining whether the timepoint indicates the content selection graph is a new graph or is a replacement graph;

in response to the determining that the content selection graph is a new graph, inserting the graph identifier and an associated start time into a set of mappings, and in response to the determining that the content selection graph is a replacement graph, replacing an existing graph identifier in the set of mappings with the graph identifier; and

in response to receiving a content request from the client device, responding to the content request with content selected based on the content selection graph and at least one parameter in the content request.

11. The system of claim 10 , wherein the causing generation of the content selection graph comprises communicating with a coordinator that triggers generation and validation of the content selection graph.

12. The system of claim 10 , wherein the operations further comprise subscribing to a publishing service that monitors for changes to one or more data stores that contain data related to the content selection graph and that outputs the notification.

13. The system of claim 10 , wherein the determining whether the timepoint indicates the content selection graph is a new graph or is a replacement graph comprises evaluating the collection of timepoints.

14. The system of claim 10 , wherein the operations further comprise receiving an indication that corresponds to a change to a user watchlist.

15. A machine-readable storage medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, the operations comprising:

receiving a notification that information in a first content selection graph preloaded into memory has changed, wherein the first content selection graph comprises first nodes comprising respective first content selection data preformatted according to client-specific information associated with a client device;

in response to the notification:

facilitating generation of a second content selection graph, wherein the second content selection graph comprises second nodes comprising respective second content selection data preformatted according to the client-specific information associated with the client device, and

facilitating preloading of the second content selection graph into the memory for use as a replacement for the first content selection graph; and

in response to receiving a content request from the client device, responding to the content request with content selected based on the second content selection graph and at least one parameter in the content request.

16. The machine-readable storage medium of claim 15 , wherein the preloading the second content selection graph into the memory for use as the replacement for the first content selection graph comprises inserting a graph identifier of the second content selection graph into a set of valid graph mappings.

17. The machine-readable storage medium of claim 15 , wherein the preloading the second content selection graph into the memory for use as the replacement for the first content selection graph comprises removing a graph identifier of the first content selection graph from a set of valid graph mappings.

18. The machine-readable storage medium of claim 17 , wherein the operations further comprise, garbage collecting the first content selection graph.

19. The machine-readable storage medium of claim 15 , wherein the operations further comprise subscribing to a publishing service that monitors for changes to one or more data stores that contain data related to the content selection graph and that outputs the notification.

20. The machine-readable storage medium of claim 15 , wherein the operations further comprise, determining, based on timepoint information, that the second content selection graph is a replacement for the first content selection graph.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2021
From: LUTZ, JONATHAN DAVID; GAY, ALLEN ARTHUR
To: HOME BOX OFFICE, INC.
Reel/Frame 057729/0797 →
Cited By (1)
US 12,664,137