-
公开(公告)号:US11720488B2
公开(公告)日:2023-08-08
申请号:US17648555
申请日:2022-01-21
Applicant: Home Box Office, Inc.
Inventor: Jonathan David Lutz , Allen Arthur Gay , Dylan Carney
IPC: G06F12/00 , G06F12/02 , G06F16/901 , G06F12/0862
CPC classification number: G06F12/0253 , G06F12/0862 , G06F16/9024 , G06F2212/1044 , G06F2212/602
Abstract: The described technology is generally directed towards garbage collecting content selection graphs and related data from in an in-memory content selection graph data store. When a set of content selection graphs expire, a more current content selection graph set becomes active, and the storage space (e.g., in a Redis cache) used by the expired content selection graphs is reclaimed via garbage collection. Some graphs can be replaced before use, referred to as orphaned graphs, and the storage space for any such orphaned graphs is also reclaimed during garbage collection. Also garbage collected is storage space including related data structures used to generate and validate graphs.
-
公开(公告)号:US11677854B2
公开(公告)日:2023-06-13
申请号:US17154439
申请日:2021-01-21
Applicant: Home Box Office, Inc.
Inventor: Allen Arthur Gay
IPC: H04L67/568 , H04L67/60 , H04L67/5682
CPC classification number: H04L67/568 , H04L67/5682 , H04L67/60
Abstract: The described technology is directed towards repurposing expired cached data when no unexpired data is available. Cached, unexpired data is used in response to a request when such data exists. If such data does not exist, e.g., at a front-end data service, then an attempt to obtain the requested data from another (e.g., back-end data service) is made. If the attempt is unsuccessful, and expired cached data exists, the expired cached data is returned in response to the request, e.g., instead of returning an error. A back-end data service may similarly return expired cached data when the back-end data service is unable to obtain unexpired requested data elsewhere. An emergency mode may be entered in which data, whether expired or not, is returned from a cache when such data exists, such as when an attempt to obtain the data elsewhere is known in advance to be futile.
-
公开(公告)号:US20220100764A1
公开(公告)日:2022-03-31
申请号:US17549593
申请日:2021-12-13
Applicant: Home Box Office, Inc.
Inventor: Jonathan David Lutz , Allen Arthur Gay , Dylan Carney
IPC: G06F16/2455 , G06F16/957 , G06F16/215 , G06F16/23 , G06F16/901
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.
-
公开(公告)号:US11829294B2
公开(公告)日:2023-11-28
申请号:US16720825
申请日:2019-12-19
Applicant: Home Box Office, Inc.
Inventor: Jonathan David Lutz , Allen Arthur Gay , Dylan Carney
IPC: G06F12/0862 , G06F16/901 , G06F16/957 , G06F16/23
CPC classification number: G06F12/0862 , G06F16/2365 , G06F16/9024 , G06F16/9574 , G06F2212/602
Abstract: 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.
-
公开(公告)号:US20220414012A1
公开(公告)日:2022-12-29
申请号:US17823694
申请日:2022-08-31
Applicant: Home Box Office, Inc.
Inventor: Jonathan David Lutz , Allen Arthur Gay , Dylan Carney
IPC: G06F12/0862 , G06F16/957 , G06F16/901
Abstract: The described technology is generally directed towards maintaining content selection graphs in an in-memory content selection graph data store in association with respective start times that indicates when the respective graphs become active. When a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain the requested content selection data. The response data can be prebuilt, e.g., in a set of active graphs for different client types, so that the response can be returned generally as is from the active graph in the set for that particular client type. 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.
-
公开(公告)号:US11474943B2
公开(公告)日:2022-10-18
申请号:US16720822
申请日:2019-12-19
Applicant: Home Box Office, Inc.
Inventor: Jonathan David Lutz , Allen Arthur Gay , Dylan Carney
IPC: G06F12/0862 , G06F16/901 , G06F16/957
Abstract: The described technology is generally directed towards maintaining content selection graphs in an in-memory content selection graph data store in association with respective start times that indicates when the respective graphs become active. When a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain the requested content selection data. The response data can be prebuilt, e.g., in a set of active graphs for different client types, so that the response can be returned generally as is from the active graph in the set for that particular client type. 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.
-
公开(公告)号:US20200293381A1
公开(公告)日:2020-09-17
申请号:US16889129
申请日:2020-06-01
Applicant: Home Box Office, Inc.
Inventor: Sata Busayarat , Jack Song , Brandon C. Furtwangler , Jonathan David Lutz , Allen Arthur Gay , Steven N. Furtwangler
IPC: G06F9/50 , G06F16/51 , G06F16/28 , G06F16/2457 , G06F16/80
Abstract: The described technology is directed towards returning less data than is available for a data item in response to a request to a data service. A virtual graph node is returned in response to client requests, in which the virtual node comprises a relatively lightweight set of information relative to the full set of information for the data item, e.g., maintained in a main (graph) node. A requesting client indicates that a virtual node is desired, and receives a response comprising the virtual node, generally processed from the main node's data into a reduced subset of the main node. The main node may be cached at the data service, and returned if and when requested.
-
公开(公告)号:US20200213411A1
公开(公告)日:2020-07-02
申请号:US16818109
申请日:2020-03-13
Applicant: Home Box Office, Inc.
Inventor: Sata Busayarat , Allen Arthur Gay , Brandon C. Furtwangler , Steven N. Furtwangler
IPC: H04L29/08 , H04N21/482 , H04N21/433 , H04N21/25 , H04L12/26 , H04L29/06 , H04L12/24 , G06T11/20 , G06T1/60 , G06T1/20 , H04N21/43 , G06F16/951
Abstract: The described technology is directed towards returning expanded data, beyond the data that was specifically requested, to a client, in order to reduce or eliminate likely subsequent requests for more data. Client requests for data items are processed by expansion rule logic to find an expansion rule set (e.g., file) corresponding to the identified data item. The rule set is used to expand requests for certain data items into expanded requests that return more data items than those requested. Client devices receive, cache and (often) use the cached expanded data items, which thereby reduces the overall number of requests to the data service. Expansion rules may be based upon observations (e.g., machine learned and/or manual) of request patterns, so as to reasonably predict which data item or items clients will likely next need, and return those as expanded data items in anticipation of their need.
-
公开(公告)号:US20180343320A1
公开(公告)日:2018-11-29
申请号:US16054278
申请日:2018-08-03
Applicant: Home Box Office, Inc.
Inventor: Allen Arthur Gay , Sata Busayarat
IPC: H04L29/08
Abstract: The described technology is generally directed towards combining (multiplexing) two or more pending data requests for the same data item into a single request that is sent to a data providing entity such as a back-end data service. Described is maintaining a mapping of the requests to requesting entities so that a single response to a multiplexed request having data for a requested data item may be re-associated (de-multiplexed) to each requesting entity that requested that data item. Also described is batching a plurality of requests, which may include one or more multiplexed requests, into a batch request sent to a data providing entity.
-
公开(公告)号:US20180321984A1
公开(公告)日:2018-11-08
申请号:US15584142
申请日:2017-05-02
Applicant: Home Box Office, Inc.
Inventor: Sata Busayarat , Jack Song , Brandon C. Furtwangler , Jonathan David Lutz , Allen Arthur Gay , Steven N. Furtwangler
Abstract: The described technology is directed towards returning less data than is available for a data item in response to a request to a data service. A virtual graph node is returned in response to client requests, in which the virtual node comprises a relatively lightweight set of information relative to the full set of information for the data item, e.g., maintained in a main (graph) node. A requesting client indicates that a virtual node is desired, and receives a response comprising the virtual node, generally processed from the main node's data into a reduced subset of the main node. The main node may be cached at the data service, and returned if and when requested.
-
-
-
-
-
-
-
-
-