IP Library Granted Patent US 9,910,870
Granted Patent B2
US 9,910,870 · App. 14/167,301 · Granted Mar 6, 2018

System and method for creating data models from complex raw log files

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 9,910,870
App. No.
14/167,301
Granted
Mar 6, 2018
Kind
B2
Abstract

According to some embodiments, a method and an apparatus of creating a data model from a log file comprises receiving a log file and determining metadata based on the received log file. A proposed data model based on the determined metadata is transmitted and the data model is saved to a database.

Claims (51)

1. A method of creating a data model from a log file, the method comprising:

receiving an unstructured log file comprising nested sections and hierarchies;

determining, via a processor, metadata based on the received unstructured log file wherein the determining is based on receiving a determination of a master log entry that indicates a plurality of entries of the unstructured log file comprising a similar regular expression wherein the determination of the master log entry comprises (i) displaying, to a user, available entries from the log file that comprise the similar regular expression and (ii) receiving a selection from the user indicating which of available entries comprises the master log entry;

receiving, from a user, a plurality of fields to be associated with a data model based on the determined master log entry;

transmitting the data model to the user wherein the data model is based on the determined metadata, the master log entry and the plurality of fields; and

saving the data model to a database.

2. The method of claim 1 , wherein determining metadata based on the received log file further comprises:

receiving a determination of a log entry separator; and

receiving an indication of a field separator.

3. The method of claim 2 , wherein the log entry separator comprises at least one of a new line, a time stamp, a carriage return, or a user defined indicator and the field separator comprises a space, a tab, or a comma, a character, a phrase, or user defined field separator.

4. The method of claim 1 , wherein the plurality of fields comprises:

a log field name, an indication to include the log field in the data model, a log field content type, and a regular expression associated with the log field.

5. The method of claim 1 , wherein the data model is saved in a JSON format.

6. The method of claim 1 , wherein the data model comprises (1) a plurality of fields and their associated regular expressions, (2) a plurality of configuration parameters for each field to indicate a field relationship and a content type and (3) an indicator for each field to indicate if the field contains information that should be extracted into a structured dataset.

7. The method of claim 1 , further comprising:

parsing the received unstructured log file to determine regular expressions; and

storing the determined regular expressions in a regular expression library.

8. The method of claim 1 , further comprising:

scanning the received unstructured log file;

determining if a same type of log file has been modeled based on a file extension associated with the received unstructured log file; and

in case that the same type of log file has been modeled, displaying an existing model to the user in response to the user attempting to model the received unstructured log file.

9. The method of claim 1 , wherein receiving a plurality of fields comprises passing an indication of the determined master log entry and a line field delimiter to a log modeling engine to transmit the plurality of fields.

10. A non-transitory computer-readable medium comprising instructions that when executed by a processor perform a method creating a data model from a log file, the method comprising:

receiving an unstructured log file comprising nested sections and hierarchies;

determining, via a processor, metadata based on the received unstructured log file wherein the determining is based on receiving a determination of a master log entry that indicates a plurality of entries of the unstructured log file comprising a similar regular expression wherein the determination of the master log entry comprises (i) displaying, to a user, available entries from the log file that comprise the similar regular expression and (ii) receiving a selection from the user indicating which of available entries comprises the master log entry;

receiving, from a user, a plurality of fields to be associated with a data model based on the determined master log entry;

transmitting the data model to the user wherein the data model is based on the determined metadata, the master log entry and the plurality of fields; and

saving the data model to a database.

11. The medium of claim 10 , wherein determining metadata based on the received log file comprises:

receiving a determination of a log entry separator; and

receiving an indication of a field separator.

12. The medium of claim 11 , wherein the log entry separator comprises at least one of a new line, a time stamp, a carriage return or a user defined indicator.

13. The medium of claim 11 , wherein the field separator comprises a space, a tab, a comma, a character, a phrase, or a user defined field separator.

14. The medium of claim 10 , wherein the plurality of fields comprises:

a log field name, an indication to include the log field in the data model, a log field content type, and a regular expression associated with the log field.

15. The medium of claim 10 , wherein the data model is saved in a JSON format.

16. An apparatus comprising:

a processor; and

a non-transitory computer-readable medium comprising instructions that when executed by a processor perform a method creating a data model from a log file, the method comprising:

receiving an unstructured log file comprising nested sections and hierarchies;

determining, via the processor, metadata based on the received unstructured log file wherein the determining is based on receiving a determination of a master log entry that indicates a plurality of entries of the unstructured log file comprising a similar regular expression wherein the determination of the master log entry comprises (i) displaying, to a user, available entries from the log file that comprise the similar regular expression and (ii) receiving a selection from the user indicating which of available entries comprises the master log entry;

receiving, from a user, a plurality of fields to be associated with a data model based on the determined master log entry;

transmitting the data model to the user wherein the data model is based on the determined metadata, the master log entry and the plurality of fields; and

saving the data model to a database.

17. The apparatus of claim 16 , wherein determining metadata based on the received log file comprises:

receiving a determination of a log entry separator; and

receiving an indication of a field separator.

18. The apparatus of claim 17 , wherein the log entry separator comprises at least one of a new line, a time stamp, or a carriage return and the field separator comprises a space, a tab, or a comma.

19. The apparatus of claim 16 , wherein the plurality of fields comprises:

a log field name, an indication to include the log field in the data model, a log field content type, and a regular expression associated with the log field.

20. The apparatus of claim 16 , wherein the data model is saved in a JSON, XML or Modeling Markup language format.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2014
From: YAN, NANCY
To: SAP AG
Reel/Frame 032080/0126 →