IP Library Granted Patent US 10,866,943
Granted Patent B1
US 10,866,943 · App. 15/813,119 · Granted Dec 15, 2020

Keyed row selection

Inventors: Charles Wright (Cortlandt Manor, NY); Ryan Caudy (New York, NY); David R. Kent, IV (Colorado Springs, CO); Andrew Louis Baranek (Deer Park, NY); Mark Zeldis (Randolph, NJ); Radu Teodorescu (New York, NY)
Assignee: Deephaven Data Labs LLC
G06F16/23G06F16/27G06F16/901G06F16/9038
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 10,866,943
App. No.
15/813,119
Granted
Dec 15, 2020
Kind
B1
Abstract

Described are methods, systems and computer readable media for keyed row data selection and processing.

Claims (46)

1. A computer-implemented method for processing keyed row selection of a computer data system data object, the method comprising: receiving, at a processor, a selection of one or more keyed rows of the computer data system data object, the selection being received from a graphical user interface that is displaying at least a portion of data from the computer data system data object; in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection; adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor, wherein the one or more key values are one or more of a single value or a composite of several values that specifically define the one or more keyed rows; receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values;

determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store; when the data corresponding to the one or more key values is stored within the local data store: retrieving, using the processor, the data corresponding to the one or more key values from the local data store;

providing, using the processor, data retrieved from the local data store to an application;

determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store; when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store: requesting, using the processor, data from the remote data store; receiving, at the processor, at least a portion of requested data from the remote data store; and providing, using the processor, data received from the remote data store to the application; and persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.

2. The computer-implemented method of claim 1 , further comprising updating the graphical user interface based on the selection.

3. The computer-implemented method of claim 1 , wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.

4. The computer-implemented method of claim 1 , further comprising: receiving an update to the computer data system data object, wherein the update includes a change to the selection; and performing an update on the selection based on the update to the computer data system data object.

5. The computer-implemented method of claim 1 , wherein the data returned from the remote data store includes indexes for accessing data stored on the remote data store.

6. The computer-implemented method of claim 1 , further comprising: receiving, at the processor, an indication that a new row has been added to the computer data system data object; determining, using the processor, whether the new row is within the selection based on the selected key values set; and if the new row is part of the selection: updating, using the processor, the graphical user interface to indicate the new row is within the selection; and providing, from the processor, the new row to the application.

7. The computer-implemented method of claim 1 , further comprising resetting the selected key values set when a new selection is received.

8. A system for dynamically updating a remote computer data system data object, the system comprising:

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

receiving, at the processor, a selection of one or more keyed rows of the computer data system data object, the selection being received from a graphical user interface that is displaying at least a portion of data from the computer data system data object; in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection; adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor, wherein the one or more key values are one or more of a single value or a composite of several values that specifically define the one or more keyed rows,

receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values; determining, at the processor, whether the data corresponding to the one or more key values is stored within a local data store; when the data corresponding to the one or more key values is stored within the local data store: retrieving, using the processor, the data corresponding to the one or more key values from the local data store; providing, using the processor, data retrieved from the local data store to an application; determining, at the processor, whether a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in a remote data store; when a portion of the data corresponding to the one or more key values is not stored in the local data store and is stored in the remote data store: requesting, using the processor, data from the remote data store; receiving, at the processor, at least a portion of requested data from the remote data store;

and providing, using the processor, data received from the remote data store to the application; and persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.

9. The system of claim 8 , wherein the operations further include updating the graphical user interface based on the selection.

10. The system of claim 8 , wherein providing data received from the local data store to the application and providing data received from the remote data store to the application include storing received data in a temporary working data store.

11. The system of claim 8 , wherein the operations further include: receiving an update to the computer data system data object, wherein the update includes a change to the selection; and performing an update on the selection based on the update to the computer data system data object.

12. The system of claim 8 , wherein the data returned from the remote data store includes indexes for accessing data stored on the remote data store.

13. The system of claim 8 , the operations further comprising:

receiving, at the processor, an indication that a new row has been added to the computer data system data object;

determining, using the processor, whether the new row is within the selection based on the selected key values set; and

if the new row is part of the selection:

updating, using the processor, the graphical user interface to indicate the new row is within the selection; and

providing, from the processor, the new row to the application.

14. The system of claim 8 , further comprising resetting the selected key values set when a new selection is received.

15. A computer-implemented method for processing keyed row selection of a computer data system data object, the method comprising:

receiving, at a processor, a selection of one or more keyed rows of the computer data system data object, the selection being received from a graphical user interface that is displaying at least a portion of data from the computer data system data object;

in response to receiving the selection, when the computer data system data object is keyed on a given key field, automatically selecting other rows in the computer data system data object having a key field that is within a predetermined threshold value of the given key field of the one or more keyed rows in the received selection;

adding, using the processor, one or more key values corresponding to the selection to a selected key values set stored in a computer readable medium coupled to the processor;

receiving, at the processor, an indication of an operation that utilizes data corresponding to the one or more key values, wherein at least part of the data corresponding to the one or more key values is not displayed within the graphical user interface;

determining, at the processor, whether all the data corresponding to the one or more key values is stored within a local data store;

when all the data corresponding to the one or more key values is stored within the local data store:

retrieving, using the processor, the data corresponding to the one or more key values from the local data store;

providing, using the processor, data retrieved from the local data store to an application;

when all the data corresponding to the one or more key values is not stored within the local data store:

requesting, using the processor, the data corresponding to the one or more key values from a remote data store;

receiving, at the processor, the requested data from the remote data store;

retrieving, using the processor, the data corresponding to the one or more key values from the remote data store; and

providing, using the processor, data received from the remote data store to the application; and

persisting selected key values as selected based on the selection within the graphical user interface when the selection is no longer visible within a viewable area of the graphical user interface.

16. The computer-implemented method of claim 15 , further comprising updating the graphical user interface based on the selection.

17. The computer-implemented method of claim 16 , wherein the graphical user interface is updated in one of: according to a graphical user interface refresh rate or when processing allows for the update.

18. The computer-implemented method of claim 15 , further comprising: receiving an update to the computer data system data object, wherein the update includes a change to the selection; and performing an update on the selection based on the update to the computer data system data object.

19. The computer-implemented method of claim 15 , wherein the one or more key values is a composite of several values that specifically correspond to the one or more keyed rows.

20. The computer-implemented method of claim 15 , wherein one or more changes to data corresponding to the selection does not change the one or more key values until the selected key values set is cleared.

Assignments (3)
CHANGE OF NAME Recorded Sep 5, 2018
From: ILLUMON LLC
To: DEEPHAVEN DATA LABS LLC
Reel/Frame 047017/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2018
From: BASRALIAN, RAFFI
To: ILLUMON LLC
Reel/Frame 046212/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2018
From: WRIGHT, CHARLES; CAUDY, RYAN; KENT, DAVID R., IV; ZELDIS, MARK; RIES, BRIAN; BARANEC, ANDREW; TEODORESCU, RADU
To: ILLUMON LLC
Reel/Frame 045848/0467 →
Continuity (1)
Provisional Application 62549908 · Aug 24, 2017