IP Library Granted Patent US 9,069,823
Granted Patent B2
US 9,069,823 · App. 12/728,937 · Granted Jun 30, 2015

Method for managing a relational database of the SQL type

Inventors: Serge Adda (Antony, FR); Olivier Chedru (Paris, FR)
Assignee: INFOVISTA SA
G06F17/30551G06F17/30327G06F17/30312
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,069,823
App. No.
12/728,937
Granted
Jun 30, 2015
Kind
B2
Abstract

A method is provided for managing a relational database of the SQL type for information technology and network infrastructure service information, including a method in which the following are created, in a system for managing a database of the MySQL type, a read-only data storage engine, and unmodifiable tables, for example of WORM, defined as “Write Once Read Many” type managed by the storage engine; each table includes a column of digital counting data called a “timestamp”; each table is partitioned by time intervals; partition files are grouped in subdirectories of a file system, these directories forming a tree structure, each node of which is uniquely identified from a timestamp.

Claims (32)

1. A system, including a computer processor, for managing a relational database of the SQL type for information technology and network infrastructure service information, said system comprising:

a read-only data storage engine;

unmodifiable tables managed by the storage engine;

each table comprises a column of digital counting data called a “timestamp”;

each table is partitioned by time intervals;

partition files are grouped in subdirectories of a file system, the subdirectories forming a tree structure, each node of which is uniquely identified from a timestamp; and

each partition file comprises a data file and at least one index file enclosing a perfect binary tree, and a bijective function called TreeOrder is used for generating said perfect binary tree and to write values of said perfect binary tree sequentially in the index file according to an existing order relationship between the values of the perfect binary tree, wherein TreeOrder provides a position of a node in the perfect binary tree section of the index file according to a rank of a value associated with the node;

wherein TreeOrder is used for establishing the correspondence between each node of the perfect binary tree, the nodes being numbered from top to bottom and from left to right, and the values of the perfect binary tree when stored in a section of the index file;

wherein a correspondence consists of providing a position of each node in the section of the index file according to the position of a corresponding value in a list established according to said order relationship and according to a cardinality of the list; and

wherein when the perfect binary tree is incomplete and has a cardinality equal to C, the values of the incomplete perfect binary tree are classified with respect to a smallest complete perfect binary tree of cardinal N containing C nodes as follows:

starting from a position TreeOrder N (i) in the complete perfect binary tree for an I<C, with I an index of the table, a position TreeOrder N (i) is determined in the incomplete perfect binary tree as follows:

Let L=C*2−N, with N=2 roundup(log2(c)) −1

If TreeOrder N (i)>L then

TreeOrder c (i)=TreeOrder N (i)−(TreeOrder N (i)−L)/2

Else

TreeOrder c (i)=TreeOrder N (i).

2. The system according to claim 1 ,

wherein the column called “timestamp” is used to merge partitions together into a new partition, and a time interval is defined for the new partition according to the age of the data contained therein, whereby older data is partitioned with a greater interval than newer data.

3. The system according to claim 2 , characterized in that the partitions are firstly built in memory then written to a disk, said partitions in memory being accessible by queries of the SQL type.

4. The system according to claim 1 , characterized in that each index file comprises:

a header;

a perfect binary tree;

a section of string tables; and

an optional section for index values.

5. The system according to claim 4 , characterized in that when space allocated to the perfect binary tree in the index file is fully used by values, additional values are then stored in the optional section.

6. The system according to claim 1 , characterized in that when a table contains IP-addresses in a first column, the table contains a second column containing results of DNS resolution of said IP addresses, the resolution being carried out during integration of said IP addresses into the first column.

7. The system according to claim 6 , characterized in that the storage engine comprises a module carrying out DNS resolutions in parallel.

8. The system according to claim 1 , characterized in that each index file comprises:

a header;

a perfect binary tree;

a section of string tables; and

an optional section for index values.

Assignments (2)
CHANGE OF NAME Recorded Mar 17, 2016
From: INFOVISTA SA
To: INFOVISTA SAS
Reel/Frame 038018/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2010
From: ADDA, SERGE; CHEDRU, OLIVIER
To: INFOVISTA SA
Reel/Frame 024464/0327 →
Priority Claims (1)
FR 09 51902 · Mar 24, 2009 · national
Continuity (1)
Related Publication 20100250540A1 · Sep 30, 2010