IP Library Granted Patent US 7,574,421
Granted Patent B2
US 7,574,421 · App. 11/473,427 · Granted Aug 11, 2009

Explicit key paging

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,574,421
App. No.
11/473,427
Granted
Aug 11, 2009
Kind
B2
Abstract

A method of retrieving a page of records from a database system may include receiving a first query from a client device that, when processed by a database system, identifies a plurality of records that have a specified order and that are transmittable to the client device in pages that each have a fixed number of records. The method may further include receiving input identifying a specific page of records; generating a second query from the first query and the received input; submitting the second query to the database system for processing to retrieve the determined records; and transmitting the retrieved, determined records to the client device. When processed, the second query may (i) identify a first subset of the plurality of records; (ii) identify a second subset; and (iii) determine records in the first subset that are not in the second subset.

Claims (29)

1. A method of retrieving a page of records from a database system, the method comprising:

receiving a first query from a client device that, when processed by the database system, identifies a plurality of records in a database, the plurality of records having a specified order and being transmittable to the client device in pages, each page comprising a fixed number of records from the plurality of records;

receiving input identifying a specific page of records to retrieve and transmit to the client device;

generating a second query from the first query and the received input, wherein the second query, when processed by the database system,

(i) identifies a first subset of the plurality of records, the first subset consisting of records having positions in the specified order from a first position to a position corresponding to a last record of the identified specific page of records;

(ii) identifies a second subset of the plurality of records including records having positions corresponding to a record that immediately precedes the identified specific page of records and in the specified order from the first position to a position corresponding to the fixed number multiplied by a number corresponding to the identified specific page of records, minus the fixed number; and

(iii) determines records in the first subset that are not in the second subset;

submitting the second query to the database system for processing to retrieve the determined records; and

transmitting the retrieved, determined records to the client device.

2. The method of claim 1 , wherein identifying the first subset comprises identifying records having positions in the specified order from the first position to the position corresponding to the fixed number multiplied by a number corresponding to the identified specific page of records.

3. The method of claim 1 , wherein the first query is a first structured query language (SQL) statement.

4. The method of claim 1 , wherein determining records in the first subset that are not in the second subset comprises determining identifiers for the records.

5. The method of claim 4 , wherein the identifiers are database keys or globally unique identifiers.

6. The method of claim 1 , further comprising receiving the fixed number of records per page.

7. An apparatus embodying a computer program in a computer-readable storage medium, the apparatus comprising instructions that, when executed, cause a database query processing apparatus to perform operations comprising:

receiving a first query from a client application in a client device that, when processed by a database system, identifies a plurality of records in a database, the plurality of records having a specified order and being transmittable to the client device in pages, each page comprising a fixed number of records from the plurality of records;

receiving input from the client application identifying a specific page of records to retrieve and transmit to the client device;

generating a second query from the first query and the received input, wherein the second query, when processed by the database system,

(i) identifies a first subset of the plurality of records, the first subset consisting of records having positions in the specified order from a first position to a position corresponding to a last record of the identified specific page of records;

(ii) identifies a second subset of the plurality of records including records having positions corresponding to a record that immediately precedes the identified specific page of records and in the specified order from the first position to a position corresponding to the fixed number multiplied by a number corresponding to the identified specific page of records, minus the fixed number; and

(iii) determines records in the first subset that are not in the second subset;

submitting the second query to the database system for processing to retrieve the determined records; and

transmitting the retrieved, determined records to the client device.

8. A method of retrieving a page of data records from a relational database management system comprising:

receiving from a client application in a client device, in a system from which data records in the relational database management system (RDBMS) are accessible by submission of one or more structured query language (SQL) statements to and subsequent execution of the one or more submitted SQL statements by the RDBMS, a first SQL statement that, if executed by the RDBMS would retrieve a plurality of data records in a specific order;

receiving from the client application a number corresponding to a requested page of data records from the plurality of data records;

generating a second SQL statement from the first SQL statement, wherein the second SQL statement, when executed by the RDBMS, retrieves records that are in a first subset of the plurality of data records but not in a second subset of the plurality of data records, wherein the first subset consists of data records in the plurality of data records having positions in the specific order ranging from a first position to a position corresponding to a last record of the requested page of data records, and wherein the second subset including records having positions corresponding to a record that immediately precedes the requested page of data records and in the specified order from the first position to a position corresponding to the fixed number multiplied by a number corresponding to the identified request page of data records, minus the fixed number;

submitting the second SQL statement to the RDBMS for execution; and

providing data records retrieved by execution of the second SQL statement to the client application.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENT. SERVICES DEVELOPMENT CORPORATION LP
Reel/Frame 041041/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2009
From: ELECTRONIC DATA SYSTEMS, LLC
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 022449/0267 →
CHANGE OF NAME Recorded Mar 24, 2009
From: ELECTRONIC DATA SYSTEMS CORPORATION
To: ELECTRONIC DATA SYSTEMS, LLC
Reel/Frame 022460/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2006
From: PAHNO, ACHILLES N.
To: ELECTRONIC DATA SYSTEMS CORPORATION
Reel/Frame 017881/0859 →