IP Library Granted Patent US 10,691,686
Granted Patent B2
US 10,691,686 · App. 15/595,912 · Granted Jun 23, 2020

Computer data system position-index mapping

Inventors: Charles Wright (Cortlandt Manor, NY); Ryan Caudy (New York, NY); David R. Kent, IV (Colorado Springs, CO); Juan Cristian Ferretti-Smythe (New York, NY); Herve Bronnimann (New York, NY); 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/24575G06F16/254G06F16/27G06F16/278G06F16/285G06F16/907G06F16/9024G06F16/951G06F16/9535G06F16/9566G06F16/9574G06F21/00G06F21/6209G06F40/117G06F40/134G06F40/166G06F40/174G06F40/177G06F40/18G06F40/183G06F40/216G06F40/274H04L12/18H04L51/046H04L51/12H04L61/2069H04L63/101H04L63/102H04L67/1002H04L67/141H04L67/28H04L67/2833H04L67/2842H04L67/34H04L67/42H04L69/16G06F16/2291G06F17/40G06F2201/805G06F2201/84G06F2212/1052G06F2212/154G06F2212/163G06F2212/60H04L67/2847
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,691,686
App. No.
15/595,912
Granted
Jun 23, 2020
Kind
B2
Abstract

Described are methods, systems and computer readable media for position-index mapping in a computer data system.

Claims (68)

1. A system comprising:

one or more hardware processors;

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

receiving an electronic message associated with a child table, the electronic message including one or more received change notifications and including at least one or more data values from a previous clock cycle;

updating an index of the child table based on the one or more received change notifications, where the index of the child table includes a mapping between one or more index values in the child table and corresponding positions in one or more data columns mapped by a columns source map of the child table, where the corresponding positions include positions for which data in the one or more data columns is valid for the child table;

when the child table has one or more dependent tables that depend on data of the child table, generating one or more other electronic messages associated with the one or more dependent tables, the one or more other electronic messages containing a child table change notification indicating an update made to the child table; and

when one or more other electronic messages are generated, providing the one or more other electronic messages to the one or more dependent tables.

2. The system of claim 1 , wherein the updating of the index includes maintaining a pre-determined ordering of the index.

3. The system of claim 1 , wherein the child table has a dependency on data of one or more parent tables.

4. The system of claim 1 , further comprising another table having a same index as the child table and a second columns source map different from the columns source map of the child table.

5. The system of claim 1 , wherein receiving the electronic message includes receiving the electronic message from a listener associated with a table of one or more parent tables.

6. The system of claim 1 , wherein providing the one or more other electronic messages to corresponding dependent tables includes causing a listener associated with the one or more dependent tables to be actuated.

7. The system of claim 1 , further comprising another table having a same columns source map as the child table and a second index different from the index of the child table.

8. A method comprising:

receiving an electronic message associated with a child table, the electronic message including one or more change notifications indicating a change in one or more parent tables of the child table;

updating an index of the child table based on the one or more change notifications, where the index of the child table includes a mapping between one or more index values in the child table and corresponding positions in one or more data columns mapped by a columns source map of the child table, where the corresponding positions include positions for which data in the one or more data columns is valid for the child table, and where the index of the child table is serialized;

determining that the child table has one or more dependent tables that depend on data of the child table;

after performing the updating, generating one or more other electronic messages associated with the one or more dependent tables, the one or more other electronic messages containing a child table change notification indicating an update made to the child table; and

providing the one or more other electronic messages to the one or more dependent tables.

9. The method of claim 8 , wherein the one or more change notifications include one or more of an add, a modify, a delete or a reindex message associated with pre-determined data in the child table that depends on data in one of the parent tables.

10. The method of claim 8 , wherein the child table has a dependency on data of the one or more parent tables.

11. The method of claim 8 , further comprising maintaining a redirection index mapping an outer index to an inner index.

12. The method of claim 8 , wherein receiving the electronic message includes receiving the electronic message from a listener associated with a table of the one or more parent tables.

13. The method of claim 8 , wherein providing the one or more other electronic messages to the one or more dependent tables includes causing a listener associated with a table of the one or more dependent tables to be actuated.

14. The method of claim 8 , wherein another table has a same columns source map as the child table and a second index different from the index of the child table.

15. A method comprising:

receiving an electronic message associated with a child table, the electronic message including one or more change notifications including at least one or more data values from a previous clock cycle;

updating an index of the child table based on the one or more change notifications, where the index of the child table includes a mapping between one or more index values in the child table and corresponding positions in one or more data columns mapped by a columns source map of the child table, where the corresponding positions include positions for which data in the one or more data columns is valid for the child tablet;

when the child table has one or more dependent tables that depend on data of the child table, generating one or more other electronic messages associated with the one or more dependent tables, the one or more other electronic messages containing a child table change notification indicating an update made to the child table; and

when one or more other electronic messages are generated, providing the one or more other electronic messages to the one or more dependent tables.

16. The method of claim 15 , further comprising:

determining that a dependent table depends on data of the child table; and

after performing the updating, providing a second electronic message to the dependent table, the second electronic message containing a child table change notification indicating an update made to the child table.

17. The method of claim 15 , wherein the one or more change notifications include one or more of an add, a modify, a delete or a reindex message associated with data in the child table that depends on data in a parent table.

18. The method of claim 15 , wherein the child table has a dependency on data of one or more parent tables.

19. The method of claim 15 , further comprising maintaining a redirection index mapping an outer index to an inner index.

20. The method of claim 15 , wherein receiving the electronic message includes receiving the electronic message from a listener associated with a table of one or more parent tables.

21. The method of claim 16 , wherein providing the second electronic message to the dependent table includes causing a listener associated with the dependent table to be actuated.

22. The method of claim 15 , wherein another table has a same columns source map as the child table and a second index different from the index of the child table.

23. 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:

receiving an electronic message associated with a child table, the electronic message including one or more change notifications indicating a change in one or more parent tables of the child table;

updating an index of the child table based on the one or more change notifications, where the index of the child table includes a mapping between one or more index values in the child table and corresponding positions in one or more data columns mapped by a columns source map of the child table, where the corresponding positions include positions for which data in the one or more data columns is valid for the child table, and where the columns source map of the child table corresponds to a column source assembled from column data in multiple physical locations;

when the child table has one or more dependent tables that depend on data of the child table, generating one or more other electronic messages associated with the one or more dependent tables, the one or more other electronic messages containing a child table change notification indicating an update made to the child table; and

when one or more other electronic messages are generated, providing the one or more other electronic messages to the one or more dependent tables.

24. The nontransitory computer readable medium of claim 23 , the operations further including:

determining that a dependent table depends on data of the child table; and

after performing the updating, providing a second electronic message to the dependent table, the second electronic message containing a child table change notification indicating an update made to the child table.

25. The nontransitory computer readable medium of claim 23 , wherein the one or more change notifications include one or more of an add, a modify, a delete or a reindex message associated with data in the child table that depends on data in one of the parent tables.

26. The nontransitory computer readable medium of claim 23 , wherein the child table has a dependency on data of the one or more parent tables.

27. The nontransitory computer readable medium of claim 24 , wherein the notification in the second electronic message includes one or more of an add, a modify, a delete or a reindex message associated with pre-determined data in the child table.

28. The nontransitory computer readable medium of claim 23 , wherein receiving the electronic message includes receiving the electronic message from a listener associated with a table of the one or more parent tables.

29. The nontransitory computer readable medium of claim 24 , wherein providing the second electronic message to the dependent table includes causing a listener associated with the dependent table to be actuated.

30. A system comprising:

one or more hardware processors;

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

receiving an electronic message associated with a child table, the electronic message including one or more change notifications indicating a change in one or more parent tables of the child table;

updating an index of the child table based on the one or more change notifications, where the index of the child table includes a mapping between one or more index values in the child table and corresponding positions in one or more data columns mapped by a columns source map of the child table, where the corresponding positions include positions for which data in the one or more data columns is valid for the child table, and where the index of the child table is serialized;

determining that the child table has one or more dependent tables that depend on data of the child table; and

after performing the updating, generating one or more other electronic messages associated with the one or more dependent tables, the one or more other electronic messages containing a child table change notification indicating an update made to the child table.

31. The system of claim 30 , the operations further including:

determining that a dependent table depends on data of the child table; and

after performing the updating, providing a second electronic message to the dependent table, the second electronic message containing a child table change notification indicating an update made to the child table.

32. The system of claim 30 , wherein the updating the index includes maintaining a pre-determined ordering of the index.

33. The system of claim 30 , wherein the child table has a dependency on data of the one or more parent tables.

34. The system of claim 30 , further comprising another table having a same index as the child table and a second columns source map different from the columns source map of the child table.

35. The system of claim 30 , wherein receiving the electronic message includes receiving the electronic message from a listener associated with a table of the one or more parent tables.

36. The system of claim 31 , wherein providing the second electronic message to the dependent table includes causing a listener associated with the dependent table to be actuated.

37. The system of claim 30 , further comprising another table having a same columns source map as the child table and a second index different from the index of the child table.

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 Aug 22, 2018
From: RIES, BRIAN; FERRETTI-SMYTHE, JUAN CRISTIAN; WRIGHT, CHARLES; VYDROV, OLEG; CAUDY, RYAN; KENT, DAVID R., IV; DORFMAN, NATHANIEL J.; TEODORESCU, RADU; ZELDIS, MARK; BRONNIMANN, HERVE; BASRALIAN, RAFFI
To: ILLUMON LLC
Reel/Frame 046913/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2018
From: WALLEYE SOFTWARE, LLC
To: ILLUMON LLC
Reel/Frame 046666/0820 →
Continuity (3)
Continuation 15154979 · May 14, 2016
Provisional Application 62161813 · May 14, 2015
Related Publication 20170249350A1 · Aug 31, 2017