IP Library Granted Patent US 6,879,976
Granted Patent B1
US 6,879,976 · App. 09/643,316 · Granted Apr 12, 2005

Data indexing using bit vectors

Assignee: AZI, Inc.
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 6,879,976
App. No.
09/643,316
Granted
Apr 12, 2005
Kind
B1
Abstract

The present invention provides for indexing of occurrences of a value in at least one data record using a bit vector wherein a bit vector is associated with the value and a bit of the bit vector representation is associated with the at least one data record, a determination is made whether the value exists in the at least one data record, a bit value is assigned to the bit in the bit vector representation based on the outcome of the determination. Further, operations may be performed on multiple bit vectors indexing data records and values used in the data records to determine the existence of combinations and associations between the corresponding values and the indexed data records.

Claims (22)

1. A method of indexing occurrences of a value in at least one data record using a bit vector comprising:

associating a first bit vector with a first value to be held in a first field;

associating a second bit vector with a second value to be held in said first field;

associating a third bit vector with a third value to be held in a second field;

performing a first logical “AND” operation on said first bit vector with said third bit vector to yield a first result Boolean value wherein said first logical “AND” operation terminates upon achieving a first successful match on a bit by bit basis;

performing a second logical “AND” operation on said second bit vector with said third bit vector to yield a second result Boolean value wherein said second logical “AND” operation terminates upon achieving a second successful match on a bit by bit basis;

storing said first result Boolean value and said second result Boolean value as a value limit correlation wherein said value limit correlation comprises a first index having a first dimension sized to a first number of distinct values held in said first field and a second index having a second dimension sized to a second number of distinct values held in said second field irregardless of a total data record count; and

determining if at least one record in a database exists wherein said at least one record comprises both said first value in said first field and said third value in said second field by accessing said value limit correlation and without accessing said database and without accessing said first, said second or said third bit vectors.

2. A method of indexing occurrences of a value in at least one data record using a bit vector comprising:

associating a first bit vector with a first value to be held in a first field;

associating a second bit vector with a second value to be held in said first field;

associating a third bit vector with a third value to be held in a second field;

performing a first logical “AND” operation on said first bit vector with said third bit vector to yield a first result Boolean value wherein said first logical “AND” operation terminates upon achieving a first successful match on a bit by bit basis;

performing a second logical “AND” operation on said second bit vector with said third bit vector to yield a second result Boolean value wherein said second logical “AND” operation terminates upon achieving a second successful match on a bit by bit basis;

storing said first result Boolean value and said second result Boolean value as a value limit correlation wherein said value limit correlation comprises a first index having a first dimension sized to a first number of distinct values held in said first field and a second index having a second dimension sized to a second number of distinct values held in said third field irregardless of a total data record count;

determining if at least one record in a database exists wherein said at least one record comprises both said first value in said first field and said third value in said second field by accessing said value limit correlation and without accessing said database and without accessing said first, said second or said third bit vectors;

changing said first value in said first field in a first data record to said second value;

inverting a first bit in said first bit vector to represent a false value at a first bit vector position corresponding to said first data record;

inverting a second bit in said second bit vector to represent a true value at said first bit vector position corresponding to said first data record;

setting a Boolean true value in said value limit correlation at said first index corresponding to said second value and at said second index corresponding to said third value;

performing a third logical “AND” operation on said first bit vector with said third bit vector to yield a third result Boolean value wherein said third logical “AND” operation terminates upon achieving a third successful match; and,

setting a Boolean false value in said value limit correlation at said first index corresponding to said first value and at said second index corresponding to said third value if said performing said third logical “AND” operation yields a false third result Boolean value.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2006
From: A2I, INC.
To: SAP, AKTIENGESELLSCHAFT
Reel/Frame 018366/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2000
From: BROOKLER, DAVID E.; HAZI, ARIEL; SULLIVAN, DAVE L.; THAM, DOMINIC; TINARI, PHILIP A; WEINBERG, PAUL N.
To: A2I, INC.
Reel/Frame 011311/0587 →
Continuity (1)
Provisional Application 6014985500 · Aug 19, 1999