IP Library Patent Application 13447060
Patent Application
App. No. 13/447,060

Method and System for Implementing an Enhanced Database

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 None
App. No.
13/447,060
Abstract

In one embodiment, a method for storing a snapshot of data in a database includes creating a root indirection set for the snapshot of data and maintaining a deleted pattern in the database. The deleted pattern is not removed from a pattern set for a node in a table of the database when the pattern is deleted in the database. The method includes providing access to the snapshot of data using the created root indirection set, the created root indirection set accessing the deleted pattern.

Claims (40)

1 . A method for storing a snapshot of data in a database, comprising:

creating a root indirection set for the snapshot of data;

maintaining a deleted pattern in the database, wherein the deleted pattern is not removed from a pattern set for a node in a table of the database when the pattern is deleted in the database; and

providing access to the snapshot of data using the created root indirection set, the created root indirection set accessing the deleted pattern.

2 . A method for performing a time series analysis on data in a database, comprising:

creating a root indirection set for each snapshot of data to be used in the time series analysis, wherein current data is treated as an already existing snapshot for the time series analysis;

designating a plurality of snapshots of data to be used in the time series analysis, wherein the root indirection sets of the snapshots of data are identified;

generating a query for the time series analysis, the query to be executed on all the designated snapshots of data; and

comparing query results as part of the of the time series analysis.

3 . A method for partitioning a table of a database as a function of at least one partition field, comprising:

sorting the table according to the at least one partition field; and

generating a root indirection set for each value of the at least one partition field, the root indirection set containing at least one pointer to a tuple in the table wherein the value of the at least one partition field for the root indirect set matches the value of the at least one partition field for the tuple.

4 . A method for partitioning a table of a database as a function of at least one partition field, comprising:

sorting the table according to the at least one partition field;

selecting a plurality of tuple blocks in the sorted table, wherein, for each selected tuple block, all tuples of the respective tuple block share a same value of the at least one partition field; and

subsequently generating a root indirection set for each selected tuple block, the root indirection set containing, for each of the tuples of the tuple block, a pointer to the tuple.

5 . The method of claim 4 , wherein:

each tuple has a single value for each of at least one field of the table;

the table is stored in the database as a tree including a plurality of nodes, each of the nodes being associated with a respective one of a plurality of pattern sets, each set having at least one respectively pattern;

the patterns include:

leaf patterns, each of which represents a single value for a respective one of the fields of the table; and

branch patterns, each of which points, one of (a) directly and (b) indirectly via other branch patterns, to only a single respective combination of two or more leaf patterns, the combination including only a single leaf pattern for each of corresponding two or more of the fields of the table;

the plurality of nodes includes a root node for the table;

each pattern of the pattern set associated with the root node represents a respective one of the tuples of the table and, for each field of the table, one of:

does not refer to a leaf pattern, thereby indicating that a value for the field is NULL; and

one of directly and indirectly points to a single leaf pattern; and

each pointer of each of the root indirection sets points to a respective one of the pattern set associated with the root node.

6 . The method of claim 4 , wherein a combination of all of the selected tuple blocks does not include all of the tuples of the table.

7 . A method for joining a first table and a second table of a database as a function of at least one join field, comprising:

sorting the first table according to the at least one join field;

sorting the second table according to the at least one join field;

matching a tuple in the first table with a tuple in the second table, wherein a value for the at least one join field of the tuple in the first table is equal to a value for the at least one join field of the tuple in the second table; and

generating a joined table as a function of the matching tuple in the first table and the matching tuple in the second table.

8 . The method of claim 7 , wherein:

for each of the first and second tables:

the table is stored in the database as a representative tree including a plurality of nodes, each of the nodes being associated with a respective one of a plurality of pattern sets, each set having at least one pattern; and

the plurality of nodes includes a root node, each pattern of the pattern set associated with the root node representing a respective one of the tuples of the table; and

the generating the joined table includes:

generating for the joined table a root node associated with a pattern set, each pattern of which directly references a pattern of the root node of the first table and a pattern of the root node of the second table; and

generating a root indirection set including a plurality of pointers, each of the pointers pointing to a respective one of the patterns of the root node generated for the joined table.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: TERADATA (UK) LIMITED
To: TERADATA US, INC.
Reel/Frame 035774/0801 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2015
From: RAINSTOR LIMITED
To: TERADATA (UK) LIMITED
Reel/Frame 035759/0904 →
RELEASE OF SECURITY INTEREST Recorded Feb 19, 2015
From: KREOS CAPITAL III (UK) LIMITED
To: RAINSTOR, INC.
Reel/Frame 034982/0130 →
RELEASE OF SECURITY INTEREST Recorded Feb 13, 2015
From: SILICON VALLEY BANK, A CALIFORNIA CORP.
To: RAINSTOR, INC.
Reel/Frame 034960/0273 →
SECURITY AGREEMENT Recorded Jul 16, 2012
From: RAINSTOR LIMITED
To: KREOS CAPITAL III (UK) LIMITED
Reel/Frame 028561/0309 →
SECURITY AGREEMENT Recorded Jul 9, 2012
From: RAINSTOR LIMITED
To: SILICON VALLEY BANK
Reel/Frame 028510/0288 →