IP Library Granted Patent US 7,194,456
Granted Patent B2
US 7,194,456 · App. 10/250,469 · Granted Mar 20, 2007

Method of querying a structure of compressed data

Assignee: Qinetiq Limited
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 7,194,456
App. No.
10/250,469
Granted
Mar 20, 2007
Kind
B2
Abstract

A method of querying a structure of compressed data comprising records stored as a forest of binary includes the step of generating an instruction set allowing a specified data value with a binary tree to be retrieved, given input of an address in memory that identifies the binary tree. Further querying functions which utilise the instruction set allow selection of records on the basis of one or more specified data values, or ranges of data values, statistical analysis of records and grouping of records on the basis of common data values within fields of records.

Claims (29)

1. A method of querying a data structure which comprises a plurality of records, each record comprising a plurality of nodes structured as a binary tree, wherein the method comprises the steps of

(i) creating an instruction set for accessing a data value stored at a leaf node of a binary tree by:

(a) determining the leaf node's position address within a binary tree to which the node belongs;

(b) establishing the leaf node's lateral position index;

(c) entering an instruction in an instruction set, the instruction depending on the node's lateral position index; and

(ii) retrieving a data value stored at a leaf node of a binary tree using the instruction set and the binary tree's root node position address.

2. A method according to claim 1 further comprising the steps of:

(a) specifying a binary tree;

(b) specifying a instruction set;

(c) reading a data value stored within the binary tree at a node position address corresponding to the instruction set;

(d) adding the data value to a list in memory with a count of one if it has not previously been found within a binary tree or alternatively advancing a count variable in the list associated with that data value by one if the data value has previously been found within a binary tree; and

(e) repeating steps (a) to (d) for remaining binary trees in the data structure.

3. A method according to claim 2 further comprising the steps of:

(a) creating a table in memory for each data value in the list;

(b) reading a data value of a binary tree, the data value corresponding to the specified instruction set; and

(c) assigning the binary tree's root node address to a table depending on the data value corresponding to the specified instruction set; and

(d) repeating steps (b) and (c) for remaining binary trees in the data structure.

4. A method according to claim 3 further comprising the steps of:

(a) specifying an order for the data values in the list; and

(b) arranging the tables in an order corresponding to the order of the data values.

5. A method according to claim 1 further comprising the steps of:

(a) specifying a data value;

(b) determining the data value within a binary tree corresponding to the instruction set;

(c) establishing whether the data value determined in step (b) is equal to the specified data value, and if so adding the record corresponding to the binary tree to a list in memory;

(d) repeating steps (a) to (c) for remaining binary trees.

6. A method according to claim 1 wherein the steps of the method are implemented by arranging graphical elements in a graphical user interface.

7. A computer program for carrying out the method of claim 1 .

8. A computer program product storing a program for carrying out the method of claim 1 .

9. A computer system arranged to carry out the method of claim 1 .

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2015
From: TERADATA (UK) LIMITED
To: TERADATA US, INC.
Reel/Frame 035702/0664 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: RAINSTOR LIMITED
To: TERADATA (UK) LIMITED
Reel/Frame 035445/0519 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE SPELLING OF THE ASSIGNOR ERRONEOUSLY SPELLED "CLEARPLACE SOFTWARE LIMITED" PREVIOUSLY RECORDED ON REEL 028488 FRAME 0017. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT SPELLING OF THE ASSIGNOR IS "CLEAR PACE SOFTWARE LIMITED". Recorded Aug 1, 2012
From: CLEAR PACE SOFTWARE LIMITED
To: RAINSTOR LIMITED
Reel/Frame 028703/0720 →
SECURITY AGREEMENT Recorded Jul 12, 2012
From: RAINSTOR LIMITED
To: KREOS CAPITAL III (UK) LIMITED
Reel/Frame 028550/0006 →
SECURITY AGREEMENT Recorded Jul 9, 2012
From: RAINSTOR LIMITED
To: SILICON VALLEY BANK
Reel/Frame 028510/0288 →
CHANGE OF NAME Recorded Jun 29, 2012
From: CLEARPLACE SOFTWARE LIMITED
To: RAINSTOR LIMITED
Reel/Frame 028488/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2010
From: QINETIQ LIMITED
To: CLEARPACE SOFTWARE LIMITED
Reel/Frame 024719/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2003
From: LONGSHAW, THOMAS BENJAMIN
To: QINETIQ LIMITED
Reel/Frame 014584/0927 →
Priority Claims (1)
GB 0100331.8 · Jan 6, 2001 · national
Continuity (1)
Related Publication 20040107184A1 · Jun 3, 2004