IP Library Granted Patent US 11,556,528
Granted Patent B2
US 11,556,528 · App. 17/115,282 · Granted Jan 17, 2023

Dynamic updating of query result displays

Inventors: Ryan Caudy (New York, NY); David R. Kent, IV (Colorado Springs, CO); Charles Wright (Cortlandt Manor, NY); Brian Ries (St. Louis Park, MN); Radu Teodorescu (New York, NY)
Assignee: Deephaven Data Labs LLC
G06F16/2453G06F3/0481G06F3/0482G06F3/0483G06F3/0485G06F3/04847G06F3/04895G06F3/0605G06F3/067G06F3/0656G06F8/30G06F8/41G06F8/427G06F8/60G06F11/1451G06F11/1464G06F11/1469G06F12/0261G06F12/084G06F12/1483G06F15/17331G06F16/113G06F16/144G06F16/162G06F16/215G06F16/22G06F16/221G06F16/2228G06F16/2237G06F16/2246G06F16/2255G06F16/2264G06F16/2272G06F16/2282G06F16/23G06F16/2308G06F16/2358G06F16/2365G06F16/2372G06F16/2379G06F16/242G06F16/245G06F16/248G06F16/2428G06F16/2455G06F16/2456G06F16/2457G06F16/24534G06F16/24535G06F16/24537G06F16/24539G06F16/24553G06F16/24561G06F16/24575G06F16/254G06F16/27G06F16/278G06F16/285G06F16/907G06F16/9024G06F16/951G06F16/9535G06F16/9566G06F16/9574G06F21/00G06F21/6209G06F40/117G06F40/134G06F40/166G06F40/174G06F40/177G06F40/18G06F40/183G06F40/216G06F40/274H04L12/18H04L51/046H04L51/212H04L61/5069H04L63/101H04L63/102H04L67/01H04L67/1001H04L67/141H04L67/34H04L67/56H04L67/566H04L67/568H04L69/16G06F16/2291G06F17/40G06F2201/805G06F2201/84G06F2212/1052G06F2212/154G06F2212/163G06F2212/60G06Q40/04H04L67/5681
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,556,528
App. No.
17/115,282
Granted
Jan 17, 2023
Kind
B2
Abstract

Described are methods, systems and computer readable media for dynamic updating of query result displays.

Claims (31)

1. A method for updating a client's viewport of a data object at a server, the method comprising:

determining a viewport change;

sending an updated visible data object area to a server, wherein the updated visible area is based on the viewport change;

receiving, from the server, a snapshot of data from the data object corresponding to the updated visible area, the snapshot comprising one or more update notifications generated by the server processing updates through an update propagation graph (UPG) of nodes, the nodes representing data object dependencies, the nodes including a handle as a child of the data object in the UPG of nodes, the handle linking the data object at the server to the client, the server processing updates through the UPG including transmitting received change notifications to any nodes corresponding to data objects affected by the received change notifications, wherein one or more of the nodes, in turn, send change notifications to one or more downstream data sources, the one or more downstream data sources including the handle linking the data object at the server to the client such that the one or more nodes sending change notifications includes sending, from the server, one or more of the change notifications to the client to update the viewport specific to the client;

updating, at the client, an in-memory data object based on the received snapshot; and

causing an updated view to be displayed based on the updated in-memory data object.

2. The method of claim 1 , wherein the viewport change is caused by one or more of scrolling a view of the in-memory data object, showing or hiding a data object, and programmatically accessing the in-memory data object.

3. The method of claim 1 , wherein the snapshot includes data corresponding to a given set of rows and columns of a tabular data object stored in memory of the server.

4. The method of claim 1 , wherein the server includes a remote query processor.

5. The method of claim 1 , further comprising providing, for non-displayed data objects, all rows and one or more columns of the data object to be considered as a visible region to facilitate further processing.

6. A system for updating a client's viewport of a data object at a server, the system comprising:

one or more processors coupled to a nontransitory computer readable medium having stored thereon software instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:

determining a viewport change;

sending an updated visible data object area to a server, wherein the updated visible area is based on the viewport change;

receiving, from the server, a snapshot of data from the data object corresponding to the updated visible area, the snapshot being generated by the server processing updates through an update propagation graph (UPG) of nodes, the nodes representing data object dependencies, the nodes including a handle as a child of the data object in the UPG of nodes, the handle linking the data object at the server to the client, the server processing updates through the UPG including transmitting received change notifications to any nodes corresponding to data objects affected by the received change notifications, wherein one or more of the nodes, in turn, send change notifications to one or more downstream data sources, the one or more downstream data sources including the handle linking the data object at the server to the client such that the one or more nodes sending change notifications includes sending, from the server, one or more of the change notifications to the client;

updating, at the client, an in-memory data object based on the received snapshot; and

causing an updated view to be displayed based on the updated in-memory data object.

7. The system of claim 6 , wherein the viewport change is caused by one or more of scrolling a view of the In-memory data object, showing or hiding a data object, and programmatically accessing the In-memory data object.

8. The system of claim 6 , wherein the snapshot includes data corresponding to a given set of rows and columns of a tabular data object stored in memory of the server.

9. The system of claim 6 , wherein the server includes a remote query processor.

10. The system of claim 6 , wherein the operations further include providing, for non-displayed data objects, all rows and one or more columns of the data object to be considered as a visible region to facilitate further processing.

11. A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:

determining a viewport change;

sending an updated visible data object area to a server, wherein the updated visible area is based on the viewport change;

receiving, from the server, a snapshot of data from the data object corresponding to the updated visible area;

updating an in-memory data object based on the received snapshot; and

causing an updated view to be displayed based on the updated in-memory data object.

12. The nontransitory computer readable medium of claim 11 , wherein the viewport change is caused by one or more of scrolling a view of the in-memory data object, showing or hiding a data object, and programmatically accessing the in-memory data object.

13. The nontransitory computer readable medium of claim 11 , wherein the snapshot includes data corresponding to a given set of rows and columns of a tabular data object stored in memory of the server.

14. The nontransitory computer readable medium of claim 11 , wherein the server includes a remote query processor.

15. The nontransitory computer readable medium of claim 11 , wherein the operations further include providing, for non-displayed data objects, all rows and one or more columns of the data object to be considered as a visible region to facilitate further processing.

Assignments (2)
CHANGE OF NAME Recorded Dec 16, 2022
From: ILLUMON LLC
To: DEEPHAVEN DATA LABS LLC
Reel/Frame 062120/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2020
From: CAUDY, RYAN; KENT, DAVID R., IV; WRIGHT, CHARLES; RIES, BRIAN; TEODORESCU, RADU
To: ILLUMON LLC
Reel/Frame 055468/0062 →
Continuity (3)
Division 15154997 · May 14, 2016
Provisional Application 62161813 · May 14, 2015
Related Publication 20210089525A1 · Mar 25, 2021
Cited By (1)
US 12,327,066