IP Library Granted Patent US 7,627,587
Granted Patent B2
US 7,627,587 · App. 10/671,359 · Granted Dec 1, 2009

System and method for improving information retrieval from a database

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,627,587
App. No.
10/671,359
Granted
Dec 1, 2009
Kind
B2
Abstract

The present invention relates to a method and system for improving information retrieval from a database. In one aspect, the invention provides a method for implementing a database. The method includes the steps of providing at least one set of linked entities which contain a plurality of entities, and each said entity is arranged to store at least one data value, further providing an additional entity for at least one set of linked entities, and storing in the additional entity the aggregation of a plurality of data values contained in the at least one set of linked entities.

Claims (38)

1. A method operative in a computer system for improving the performance of a database by determining whether or not to alter the fields of the database, having entities which hold a set of data values, said database including at least one set of linked entities, wherein the at least one set of linked entities contains a plurality of conceptual entities, each of the conceptual entities including a plurality of data values which are distributed amongst the plurality of the conceptual entities, comprising the steps of:

(i) determining an average read/write ratio of the plurality of data values distributed amongst the at least one set of linked entities in the database;

(ii) comparing the average read/write ratio of the database to a predetermined critical read/write ratio, so that said predetermined critical read/write ratio is calculated by carrying out the following steps:

(iia) providing data with regard to the time taken to perform a read operation and a write operation on a first implementation of the said database wherein said first implementation of a database comprises at least one set of linked entities;

(iib) providing data with regard to the time taken to perform a read operation and a write operation on a second implementation of the said database wherein the second implementation of the database comprises an aggregation of all data values stored in the at least one set of the linked entities;

(iic) calculating a read time difference between the time taken to perform a read operation on said first implementation of said database and on said second implementation of said database;

(iid) calculating a write time difference between the time taken to perform a write operation on said first implementation of said database and on said second implementation of said database; and

(iie) calculating the ratio between the read time difference and the write time difference to determine the critical read/write ratio for the database; and

(iii) if the average read/write ratio is greater than the critical read/write ratio, then performing the following method steps:

(iiia) defining an additional entity table in the database; and

(iiib) storing in the additional entity table an aggregation of said plurality of data values representing an aggregation of at least one of the plurality of conceptual entities, whereby the information defining the conceptual entity is obtained by performing a single read operation on the additional entity table;

(iv) altering the fields of the database when said average read/write ratio is greater than said critical read/write ratio.

2. A method operating in a computer system using a CPU, memory, I/O unit and database on disk for modifying a database by determining whether or not to alter the fields of the database having entities which hold a set of data values, comprising:

(a) providing at least one set of linked entities, in the said database, wherein the said at least one set of linked entities contains a plurality of conceptual entities, each of the conceptual entities including a plurality of data values which are distributed amongst the plurality of conceptual entities;

(b) determining an average read/write ratio of the plurality of data values distributed amongst the at least one set of linked entities in the database;

(c) comparing the average read/write ratio of the database to a predetermined critical read/write ratio, including establishing a predetermined critical read/write ratio, wherein said establishing of said predetermined critical read/write ratio further includes the steps of:

(ca) providing data with regard to the time taken to perform a read operation and a write operation on the data values which are distributed amongst the plurality of entities;

(cb) providing data with regard to the time taken to perform a read operation and a write operation on said additional entity table;

(cc) calculating a read time difference between the time taken to perform a read operation on the data values which are distributed amongst the plurality of entities and on said additional entity table;

(cd) calculating a write time difference between the time taken to perform a write operation on the data values which are distributed amongst the plurality of entities and on said additional entity table;

(ce) calculating the ratio between said read time difference and said write time difference to determine the critical read/write ratio for the database; and

(cf) not modifying said database when said average read/write ratio is less than said critical read/write ratio;

(d) if the average read/write ratio is greater than the critical read/write ratio, to perform the steps of:

(d1) defining an additional entity table in addition to the at least one set of linked entities;

(d2) storing in said additional entity table, the aggregation of said plurality of data values representing an aggregation of at least one of said plurality of conceptual entities; and

(d3) reading said aggregation of said plurality of data values by performing a single read operation on said additional entity table to return the information defining at least one conceptual entity; and

(e) modifying the fields of the database when said average read/write ratio exceeds said critical read/write ratio.

3. An electronic machine holding a computer, memory means, and electronic database which utilizes a computer program for improving the performance of said database including at least one set of linked entities, wherein the at least one set of linked entities contains a plurality of conceptual entities, each of the conceptual entities including a plurality of data values which are distributed amongst the plurality of the conceptual entities, said computer program including at least one instruction which, when executed by a computer system, is arranged to carry out the following steps:

(i) determining an average read/write ratio of the plurality of data values distributed amongst the at least one set of linked entities in the database;

(ii) comparing the average read/write ratio of the database to a predetermined critical read/write ratio, the predetermined critical read/write ratio is calculated by carrying out the following steps:

(iia) providing data with regard to the time taken to perform a read operation and a write operation on a first implementation of the said database, wherein the first implementation of a database comprises at least one set of linked entities;

(iib) providing data with regard to the time taken to perform a read operation and a write operation on a second implementation of the said database wherein the second implementation of the database comprises an aggregation of all data values stored in the at least one set of the linked entities;

(iic) calculating a read time difference between the time taken to perform a read operation on said first implementation of said database and on said second implementation of said database;

(iid) calculating a write time difference between the time taken to perform a write operation on said first implementation of said database and on said second implementation of said database; and

(iie) calculating the ratio between the read time difference and the write time difference to determine the critical read/write ratio for the database; and

iii) if the average read/write ratio is greater than the critical read/write ratio, then performing the following steps:

(iiia) defining an additional entity table in the database; and

(iiib) storing in the additional entity table an aggregation of said plurality of data values representing an aggregation of at least one of the plurality of conceptual entities, whereby the information defining the conceptual entity is obtained by performing a single read operation on the additional entity table.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
SECURITY AGREEMENT Recorded May 7, 2010
From: UNISYS CORPORATION
To: DEUTSCHE BANK
Reel/Frame 024351/0482 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023086/0255 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2003
From: LOBOZ, CHARLES ZDZISLAW; KELU, JONATAN; GEBAUER, NIELS
To: UNISYS CORPORATION
Reel/Frame 014553/0442 →