IP Library Granted Patent US 10,346,394
Granted Patent B2
US 10,346,394 · App. 15/654,461 · Granted Jul 9, 2019

Importation, presentation, and persistent storage of data

Inventors: Ryan Caudy (New York, NY); David R. Kent, IV (Colorado Springs, CO); Charles Wright (Cortlandt Manor, NY); Radu Teodorescu (New York, NY)
Assignee: Deephaven Data Labs LLC
G06F16/242G06F3/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/245G06F16/248G06F16/2428G06F16/2453G06F16/2455G06F16/2456G06F16/2457G06F16/24534G06F16/24535G06F16/24537G06F16/24539G06F16/24553G06F16/24575G06F16/254G06F16/27G06F16/278G06F16/285G06F16/907G06F16/9024G06F16/951G06F16/9535G06F16/9566G06F16/9574G06F17/2235G06F17/24G06F17/245G06F17/246G06F17/276G06F17/2715G06F21/00G06F21/6209H04L12/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,346,394
App. No.
15/654,461
Granted
Jul 9, 2019
Kind
B2
Abstract

Described are methods, systems and computer readable media for the importation, presentation, and persistent storage of data.

Claims (119)

1. A computer data system comprising:

one or more processors;

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

starting with a processor a log tailer process for reading data from one or more log files and transmitting the data read from the one or more log files;

the log tailer process reading the data from the one or more log files;

the log tailer process transmitting the data to one or more data import servers, the one or more data import servers being separate from the log tailer process;

at the one or more data import servers, writing the data to one or more columns of an associated table location in cache memory buffers;

confirming, at the one or more data import servers, a current number of rows of data written to the cache memory buffers;

synchronizing, at the one or more data import servers, the column data from the cache memory buffers into a persistent table data store;

updating, at the one or more data import servers, table location metadata;

writing formatted data into the one or more log files by applying schema-specified, generated code to format the data;

parsing at least a portion of the formatted data with a listener generated from a schema;

generating the schema-specified, generated code used to format the data, wherein the table location metadata comprises a version identifier of another schema used to generate the schema-specified, generated code;

and

writing a check point for persisted data from the persistent table data store for use in resuming import after a system fault.

2. The computer data system of claim 1 , the operations further including:

advertising an existence of imported table location data available in the cache memory buffers.

3. The computer data system of claim 2 , wherein the advertising is made without waiting for the check point to be written.

4. The computer data system of claim 1 , wherein writing a check point for the cache memory buffers includes at least one of:

a table location size in rows; and

a log file and a byte-offset to resume from a table location next row.

5. The computer data system of claim 1 , the operations further including:

writing state associated with each table location imported from one or more application process logs.

6. The computer data system of claim 5 , wherein the processor applies the state to validate data written to the persistent table data store.

7. The computer data system of claim 6 , wherein the state includes information on connections subscribed to advertisements from the one or more data import servers about one or more of existence of new locations of tables, size of individual table locations, schema-specific data used for the validation, actual column file data or the table location metadata.

8. The computer data system of claim 1 , wherein the one or more log files are row-oriented.

9. The system of claim 1 , wherein the one or more data import servers are remote from the log tailer process.

10. A method for importing and presenting data for computer system use, the method comprising:

Starting, with a processor, a log tailer process for reading data from one or more log files and transmitting the data read from the one or more log files;

the log tailer process reading the data from the one or more log files;

the log tailer process transmitting the data to one or more data import servers, the one or more data import servers being separate from the log tailer process;

at the one or more data import servers, writing the data to one or more columns of an associated table location in cache memory buffers;

confirming, at the one or more data import servers, a current number of rows of data written to the cache memory buffers;

writing formatted data into the one or more log files by applying schema-specified, generated code to format the data;

parsing at least a portion of the formatted data with a listener generated from a schema;

updating, at the one or more data import servers, table location metadata;

generating the schema-specified, generated code used to format the data, wherein the table location metadata comprises a version identifier of another schema used to generate the schema-specified, generated code;

and

writing a check point for persisted data from a persistent table data store for use in resuming import after a system fault.

11. The method of claim 10 , further comprising:

advertising an existence of imported table location data available in the cache memory buffers.

12. The method of claim 11 , wherein the advertising is made without waiting for the check point to be written.

13. The method of claim 10 , wherein writing a check point for the cache memory buffers includes at least one of:

a table location size in rows; and

a log file and a byte-offset to resume from for thea table location next row.

14. The method of claim 10 , further comprising:

writing state associated with each table location imported from one or more application process logs.

15. The method of claim 14 , further comprising:

synchronizing, at the one or more data import servers, the column data from the cache memory buffers into a persistent table data store,

wherein the processor applies the state to validate data written to the persistent table data store.

16. The method of claim 15 , wherein the state includes information on connections subscribed to advertisements from the one or more data import servers about one or more of existence of new locations of tables, size of individual table locations, schema-specific data used for the validation, actual column file data or the table location metadata.

17. The method of claim 10 , wherein the one or more log files are row-oriented.

18. The method of claim 10 , wherein the one or more data import servers are remote from the log tailer process.

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

starting with a processor a log tailer process for reading data from one or more log files and transmitting the data read from the one or more log files;

the log tailer process reading the data from the one or more log files;

the log tailer process transmitting the data to one or more data import servers, the one or more data import servers being separate from the log tailer process;

at the one or more data import servers, writing the data to one or more columns of an associated table location in cache memory buffers;

synchronizing, at the one or more data import servers, the column data from the cache memory buffers into a persistent table data store;

writing formatted data into the one or more log files by applying schema-specified, generated code to format the data;

parsing at least a portion of the formatted data with a listener generated from a schema;

updating, at the one or more data import servers, table location metadata;

generating the schema-specified, generated code used to format the data, wherein the table location metadata comprises a version identifier of another schema used to generate the schema-specified, generated code;

and

writing a check point for persisted data from the persistent table data store for use in resuming import after a system fault.

20. The nontransitory computer readable medium of claim 19 , the operations further including:

advertising an existence of imported table location data available in the cache memory buffers.

21. The nontransitory computer readable medium of 20 , wherein the advertising is made without waiting for the check point to be written.

22. The nontransitory computer readable medium of claim 19 , wherein writing a check point for the cache memory buffers includes at least one of:

a table location size in rows; and

a log file and a byte-offset to resume from a table location next row.

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

writing state associated with each table location imported from one or more application process logs.

24. The nontransitory computer readable medium of claim 23 , wherein the processor applies the state to validate data written to the persistent table data store.

25. The nontransitory computer readable medium of claim 19 , wherein the one or more log files are row-oriented.

26. The nontransitory computer readable medium of claim 19 , wherein the one or more data import servers are remote from the log tailer process.

27. A computer data system comprising:

one or more processors;

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

starting a log tailer process for reading data from one or more log files and transmitting data read from log files;

the log tailer process reading data from the one or more log files;

the log tailer process transmitting the data to one or more data import servers;

at the one or more data import servers, writing the data to one or more columns of an associated table location in cache memory buffers;

confirming, at the one or more data import servers, a current number of rows of data written to the cache memory buffers;

synchronizing, at the one or more data import servers, the column data from the cache memory buffers into a persistent table data store;

updating, at the one or more data import servers, table location metadata;

writing a check point for the persisted data for use in resuming import after a system fault;

generating a listener based on a schema;

generating formatting code based on the same schema;

receiving data;

formatting the received data by executing the generated formatting code to format the data for output to the one or more log files;

writing the formatted data to the one or more log files; and

parsing, with the listener, at least a portion of the formatted data read from the one or more log files.

28. A method for importing and presenting data for computer system use, the method comprising:

starting with a processor a log tailer process for reading data from one or more log files and transmitting data read from log files;

the log tailer process reading data from the one or more log files;

the log tailer process transmitting the data to one or more data import servers;

at the one or more data import servers, writing the data to one or more columns of an associated table location in cache memory buffers;

confirming, at the one or more data import servers, a current number of rows of data written to the cache memory buffers;

writing a check point for the persisted data for use in resuming import after a system fault;

generating a listener based on a schema;

generating formatting code based on the same schema;

receiving data;

formatting the received data by executing the generated formatting code to format the data for output to the one or more log files;

writing the formatted data to the one or more log files; and

parsing, with the listener, at least a portion of the formatted data read from the one or more log files.

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

starting a log tailer process for reading data from one or more log files and transmitting data read from log files;

the log tailer process reading data from the one or more log files;

the log taller process transmitting the data to one or more data import servers;

at the one or more data import servers, writing the data to one or more columns of an associated table location in cache memory buffers;

synchronizing, at the one or more data import servers, the column data from the cache memory buffers into a persistent table data store;

writing a check point for the persisted data for use in resuming import after a system fault

generating a listener based on a schema;

generating formatting code based on the same schema;

receiving data;

formatting the received data by executing the generated formatting code to format the data for output to the one or more log files;

writing the formatted data to the one or more log files; and

parsing, with the listener, at least a portion of the formatted data read from the one or more log files.

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 15154999 · May 14, 2016
Provisional Application 62161813 · May 14, 2015
Related Publication 20170316046A1 · Nov 2, 2017
Cited By (1)
US 12,468,690