Preloaded content selection graph generation

US11829294B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11829294-B2
Application numberUS-201916720825-A
CountryUS
Kind codeB2
Filing dateDec 19, 2019
Priority dateDec 21, 2018
Publication dateNov 28, 2023
Grant dateNov 28, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The described technology is generally directed towards generating content selection graphs in an in-memory content selection graph data store in association with respective start times that indicate when the respective graphs become active. When a content selection graph is needed for a given timepoint, a node identifier is used to obtain response data that is cached for that node identifier and timepoint. Edge data associated with the node identifier is used to determine a next node for obtaining its response data for caching, and so on. The response data can be prebuilt, e.g., generated in a set of active graphs for different client types, so that a response can be returned generally as is from the active graph in the set for the node identifier and that particular client type. For efficiency, operations can be used to avoid processing a node identifier more than once when generating a graph.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: obtaining change data defining a change event; associating the change data with a future timepoint based on evaluating the change data; generating a content selection graph corresponding to the future timepoint, the generating comprising processing node data, including one or more data items from one or more corresponding server data sources, and representing content associated with the timepoint, into node identifiers, including a first node identifier, and response data for respective node identifiers, and processing edge data, including one or more additional data items from the one or more corresponding server data sources, and which is associated with the node data, into graph edges, wherein the generating the content selection graph further comprises generating, by a first work processor operably coupled to a processor, at least a first portion of the content selection graph, and marking the first node identifier that tags a first set of data as invisible, for a defined period of time specified by respective timeout data, to another work processor, operably coupled to the processor, that is generating another portion of the first content selection graph or another content selection graph in parallel with the generating at least the first portion of the content selection graph, wherein the marking as invisible comprises the first node identifier being non-visible as to a read function by the other work processor; preloading the content selection graph into an in-memory data storage in association with a start time, corresponding to the future timepoint, at which the content selection graph becomes active; and automatically activating, by a processor, from the in-memory data storage, in response to a request from a device associated with a client requester, the content selection graph upon the start time being reached. 2. The method of claim 1 , further comprising: receiving a request for content, the request comprising the first node identifier of a node in the content selection graph, and returning respective response data associated with the node in response to the request. 3. The method of claim 1 , wherein the processing the edge data comprises using first edge data associated with the first node identifier, being of a first graph node, to locate second node data of a second graph node having a second node identifier. 4. The method of claim 1 , wherein the generating the content selection graph comprises obtaining the first node identifier from an in-memory build data structure, adding a second node identifier corresponding to first edge data associated with the first node identifier to the build data structure, adding first node data to the content selection graph as a first node identified by the first node identifier, removing the first identifier from the build data structure, and adding the first node identifier to an in-memory visited data structure. 5. The method of claim 1 , wherein the generating the content selection graph comprises obtaining the first node identifier from a build data structure, determining that the first node identifier has not been previously processed during the generating the content selection graph, and in response to the determining, processing the first node identifier, including removing the identifier from the build data structure and adding the first node identifier to a visited queue. 6. The method of claim 1 , wherein the processing the node data representing the content associated with the timepoint into the node identifiers and the response data for the respective node identifiers comprises communicating, for the first node identifier, time data corresponding to the timepoint to a data retrieval service, and receiving first response data corresponding to the first node identifier and the timepoint from the data retrieval service. 7. The method of claim 1 , wherein the processing the node data representing the content associated with the timepoint into the node identifiers and the response data for the respective node identifiers comprises communicating, for the first node identifier, client-specific information and time data corresponding to the timepoint to a data retrieval service, and receiving first response data corresponding to the first node identifier and the timepoint from the data retrieval service, wherein the first response data is formatted based on the client-specific information. 8. The method of claim 1 , further comprising: in response to a change being necessitated for the content selection graph, prior to activation of the content selection graph, a newly-generated content selection graph is swapped with the content selection graph at the in-memory data storage. 9. The method of claim 1 , further comprising: in response to a second start time, following the start time, being reached, and in response to a corresponding content selection graph being unavailable, maintaining activation of the content selection graph in response to requests from a client requester device, until a next start time immediately following the second start time. 10. The method of claim 1 , wherein the generating the content selection graph comprises, generating, by a second work processor operably coupled to the processor, at least a second portion of the content selection graph, wherein the generating by the first work processor is based on the first node identifier and comprises processing a first node, wherein the generating by the second work processor is based on a second node identifier, of the node identifiers, and comprises processing a second node, and wherein the second node identifier is based on first edge data, of the processing edge data, which first edge data identifies the second node based on an edge relationship between the first node and the second node. 11. The method of claim 1 , further comprising: in response to a request for content, obtained from a device associated with a client requester at a time prior to the start time being reached, transmitting data from another content selection graph that is to be replaced upon the start time being reached, the data comprising a response to the request for content; and in response to request for content, obtained from a device associated with a client requester at a time after the start time has been reached, transmitting data from the activated content selection graph, the data comprising a response to the request for content. 12. 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, generating a content selection graph, the content selection graph comprising a first node identifier and a second node identifier, and generating response data associations for nodes representing content, the generating comprising, obtaining the first node identifier and first edge data associated with the first node identifier, generating an in-memory build data structure comprising the first node identifier to be processed, generating a delete queue item call for the first node identifier, obtaining first response data for the first node identifier, storing the first response data in association with the first node identifier, obtaining the second node identifier based on the first edge data associated with the first node identifier, obtaining second response data for the second node identifier, storing the second response data in association with the second node identifier, instructing at least a pair of worker processes operably coupled to the processor, wherein a first work

Assignees

Inventors

Classifications

  • with prefetch · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

  • of access to content, e.g. by caching · CPC title

  • Details relating to cache prefetching · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11829294B2 cover?
The described technology is generally directed towards generating content selection graphs in an in-memory content selection graph data store in association with respective start times that indicate when the respective graphs become active. When a content selection graph is needed for a given timepoint, a node identifier is used to obtain response data that is cached for that node identifier an…
Who is the assignee on this patent?
Home Box Office Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0862. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 28 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).