IP Library Granted Patent US 8,938,472
Granted Patent B2
US 8,938,472 · App. 13/966,980 · Granted Jan 20, 2015

Advancements in data distribution methods and referential integrity

Inventors: Mrithyunjaya Annapragada (Bolton, MA); Douglas A. Shelley (Oakville, CA); Duk Loi (Richmond Hill, CA); Benjamin Rousseau (Somerville, MA)
Assignee: Tesora, Inc.
G06F17/30979G06F17/30463G06F17/30466G06F17/30545G06F17/30289G06F17/30864G06F17/30595
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 8,938,472
App. No.
13/966,980
Granted
Jan 20, 2015
Kind
B2
Abstract

An elastic parallel database system where data distribution is container- and container-context based. Container Based Tables are defined and Container Member Tables achieve co-location of data as needed. A polymorphic key may also establish polymorphic key relationships between rows in one table and rows in many other possible tables.

Claims (23)

1. A method for operating a database management system comprising:

a) receiving database queries via a network interface, from two or more client applications, the client applications operating on two or more user client computers, the network interface providing at least one connection into the system for each such client application;

b) storing user data in tables and grouping the tables into databases;

c) at least one query including a polymorphic key relationship which establishes a relationship between a row in a first table to a uniquely determined row in one of two or more other possible tables, the polymorphic key relationship specifying (i) values in columns of a subject row, and (ii) one or more specified dispatching rules;

d) executing the at least one query including a polymorphic key by using values in columns of one row in one table in evaluation of the specified dispatching rules, to determine the table to which a polymorphic key relationship exists for a specified row in the first table; and

e) wherein the polymorphic key relationship and the specified rules are expressed in some suitable executable language.

2. The method of claim 1 additionally where the polymorphic key establishes a FOREIGN KEY relationship between each and every row in a first table to a uniquely determined row in one of two or more other tables based on values in columns of a subject row, and using some specific rules.

3. The method of claim 2 wherein the method is carried out on one or more elastic programmable relational databases additionally comprising:

a group of two or more operational nodes for executing the database queries as database operations, each operational node implemented as a logical collection of software components that execute on one or more physical machines;

one or more operational nodes being designated as storage nodes; and

one or more of the storage nodes grouped into storage nodegroups wherein the system is further configured and operates such that tables are associated with storage nodegroups, and wherein data for a given table is stored on the storage nodes that are part of the storage nodegroup associated with the given table.

4. A database management system comprising:

a) a network interface, for receiving database queries from two or more client applications, the client applications operating on one or more user client computers, the system providing at least one connection into the system for each such client application;

b) at least one storage node, implemented as a collection of one or more software components that execute on one or more physical machines, for storing user a data in tables and grouping tables into databases; and

c) at least one compute node, implemented as a collection of one or more software components that execute one or more physical machines for executing at least one query that includes a polymorphic key relationship that establishes a relationship between a row in a first table to a uniquely determined row in a specified one of two or more other tables, the polymorphic key relationship based on (i) values in columns of a subject row, and (ii) one or more specified dispatching rules, where the values in columns of one row in one table are used in evaluation of the specified dispatching rules, and to further determine the table to which a polymorphic key relationship exists for a specified row in the first table.

5. The system of claim 4 wherein the polymorphic key relationship establishes a foreign key relationship between a row in a first table and a uniquely determined row in one of two or more other tables based on the values in columns of the subject row and using the one or more specified dispatching rules.

6. The system of claim 4 where the polymorphic key further establishes a FOREIGN KEY relationship between each and every row in a first table to a uniquely determined row in one of two or more other tables based on values in columns of a subject row, and using the one or more specified dispatching rules.

7. The system of claim 4 where the polymorphic key relationship and the specified rules are expressed in some suitable language.

8. The system of claim 4 additionally comprising an elastic programmable relational database system further comprising:

a group of two or more operational nodes being designated as the at least one complete node for executing the database queries as database operations, each operational node implemented as a logical collection of software components that execute on one or more physical machines;

one or more operational nodes being designated as one or more of the storage nodes; and

one or more of the storage nodes grouped into storage nodegroups wherein the system is further configured and operates such that tables are associated with storage nodegroups, and wherein data for a given table is stored on the storage nodes that are part of the storage nodegroup associated with the given table.

9. The system of claim 4 wherein the at least one storage node comprises one or more storage nodegroups consisting of an ordered list of two or more storage nodes.

Assignments (2)
CHANGE OF NAME Recorded Apr 11, 2014
From: PARELASTIC CORPORATION
To: TESORA, INC.
Reel/Frame 032670/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: ANNAPRAGADA, MRITHYUNJAYA; SHELLEY, DOUGLAS A.; LOI, DUK; ROUSSEAU, BENJAMIN
To: PARELASTIC CORPORATION
Reel/Frame 031010/0328 →
Continuity (2)
Provisional Application 61757809 · Jan 29, 2013
Related Publication 20140214892A1 · Jul 31, 2014