IP Library Granted Patent US 11,640,429
Granted Patent B2
US 11,640,429 · App. 16/157,649 · Granted May 2, 2023

Graph views to improve user interface responsiveness

Inventors: Steven N. Furtwangler (Okemos, MI); Sata Busayarat (Seattle, WA); Brandon C. Furtwangler (Issaquah, WA)
Assignee: HOME BOX OFFICE, INC.
G06F16/9024H04L43/0811H04L63/083
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,640,429
App. No.
16/157,649
Granted
May 2, 2023
Kind
B2
Abstract

The described technology is directed towards evaluating client-specific information and possibly other information to determine whether to return less data than is available for a data item in response to a request for graph node data to a data service, and/or return expanded graph node data. When a request for graph data is received, client-specific information is used at least in part by a data service in determining whether to return a virtual graph node comprising a relatively lightweight set of information relative to the full set of information maintained in a main (graph) node. The client-specific information is also used in determining whether to return expanded data beyond that requested, e.g., for caching at the client in anticipation of it likely being needed by the client.

Claims (47)

1. A method comprising:

preloading, by a system comprising a processor, future graph node data comprising respective graphs mapped to respective client device-specific information, the future graph node data preloaded into cache memory prior to becoming active graph node data for responding to a request for active graph node data;

changing, by the system, the future graph node data to the active graph node data, based on time data associated with the future graph node data and current time;

receiving, by the system, the request for active graph node data from a client device, the active graph node data identified by at least one data identifier;

accessing, by the system, client device-specific information describing the client device, wherein the client device-specific information comprises size data representative of a size of a cache in the client device;

based on the client device-specific information:

determining, by the system, that a response to the request is to comprise modified graph node data that comprises a subset of the active graph node data that does not comprise all of the active graph node data, and

returning, by the system, the response to the request that comprises the modified graph node data, wherein a size of the response to the request is based on the size data for the client device.

2. The method of claim 1 , further comprising changing, by the system, initial information in the request to obtain the modified graph node data.

3. The method of claim 1 , wherein the active graph node data comprises a main node, and the subset of the active graph node data comprises a virtual node that contains reduced information relative to the main node.

4. The method of claim 1 , further comprising:

determining, by the system, based on learned data, that the response to the request is to comprise expanded graph node data that is not identified by the at least one data identifier in the request, wherein the expanded graph node data is based on additional client device-specific information comprising historical data or user profile data, and wherein the size of the response to the request comprising the expanded graph node data is based on the size data for the client device, and

wherein an expansion rule indicates that the expanded graph node data is to be returned in response to the request, and further comprising, modifying the expansion rule based on the client device-specific information.

5. The method of claim 1 , wherein the client device-specific information further comprises a type of the client device.

6. The method of claim 1 , wherein the client device-specific information further comprises software version information of a program of the client device that is making the request for the graph node data.

7. The method of claim 1 , wherein the client device-specific information comprises further information corresponding to network connectivity of the client device.

8. The method of claim 1 , further comprising:

after returning the response to the client device, maintaining, by the system, client information to employ in a determination of avoiding returning a future response with duplicate graph node data of the response.

9. A system, comprising:

a processor; and

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

preloading future graph node data comprising respective graphs mapped to respective client device-specific information, the future graph node data preloaded into cache memory prior to becoming active graph node data for responding to a request for active graph node data;

changing the future graph node data to the active graph node data, based on time data associated with the future graph node data and current time;

receiving a request for active graph node data;

based on client device-specific information describing a client device making the request, wherein the client device-specific information comprises latency data representative of a latency of a network connection to the client device:

determining that a response to the request will comprise modified graph node data that comprises a portion of the active graph node data that does not comprise all of the active graph node data, and

returning the response to the request that comprises the modified graph node data, wherein a size of the response to the request is based on size data representative of a size of a cache in the client device, of the client device-specific information; and

further determining based on learned data that the response to the request is to comprise expanded graph node data that is not identified by the at least one data identifier in the request, wherein the size of the response to the request comprising the expanded graph node data is based on the size data for the client device.

10. The system of claim 9 , wherein the operations further comprise altering initial information in the request to obtain the modified graph node data.

11. The system of claim 9 , wherein the request for the graph node data comprises a request for a main node, and the portion of the active graph node data comprises a virtual node that contains reduced information relative to the main node.

12. The system of claim 9 , wherein an expansion rule indicates that the expanded graph node data is to be returned in response to the request, wherein the expanded graph node data is based on additional client device-specific information comprising historical data or user profile data, and wherein the graph view selection logic operates to modify the expansion rule based on the client device-specific information.

13. The system of claim 9 , wherein the client device-specific information further comprises a type of the client device.

14. The system of claim 9 , wherein the client device-specific information further comprises a bandwidth of the network connection to the client device.

15. The system of claim 9 , wherein the client device-specific information further comprises information corresponding to user preference data.

16. The system of claim 9 , wherein at least part of the client device-specific information is obtained from an authorization token received in conjunction with the request for the graph node data.

17. The method of claim 9 , further comprising:

after returning the response to the client device, maintaining, by the system, client information to employ in a determination of avoiding returning a future response with duplicate graph node data of the response.

18. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor of a system, facilitate performance of operations, comprising:

preloading future graph node data comprising respective graphs mapped to respective client device-specific information, the future graph node data preloaded into cache memory prior to becoming requested graph node data for responding to a request for requested graph node data;

changing the future graph node data to the requested graph node data, based on time data associated with the future graph node data and current time;

receiving a request for the requested graph node data;

accessing client device-specific information describing a client device making the request, wherein the client device-specific information comprises a type of network connection to the client device;

modifying the request based on the client device-specific information into a modified request;

returning a response to the request that comprises modified graph node data that comprises a fraction of the requested graph node data that does not comprise all of the requested graph node data, wherein a size of the response to the request is based on size data for the client device, of the client device-specific information;

further determining based on learned data that the response to the request is to comprise expanded graph node data that is not identified by the at least one data identifier in the request, wherein the expanded graph node data is based on additional client device-specific information comprising historical data or user profile data, and wherein the size of the response to the request comprising the expanded graph node data is based on the size data representative of a size of a cache in the client device.

19. The non-transitory machine-readable medium of claim 18 , wherein the client device-specific information further comprises a type of the client device.

20. The non-transitory machine-readable medium of claim 18 , wherein the client device-specific information further comprises software version information of a program of the client device that is making the request for the requested graph node data.

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 Dec 1, 2020
From: BUSAYARAT, SATA; FURTWANGLER, BRANDON C.
To: HOME BOX OFFICE, INC.
Reel/Frame 054502/0279 →