IP Library Granted Patent US 8,442,993
Granted Patent B2
US 8,442,993 · App. 12/946,890 · Granted May 14, 2013

Ruleset implementation for memory starved systems

Inventor: George Jijiang Xu (Ottawa, CA)
Assignee: International Business Machines Corporation
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,442,993
App. No.
12/946,890
Granted
May 14, 2013
Kind
B2
Abstract

Provided are techniques for retrieval of data from a data store, including techniques for receiving a request for a dataset corresponding to stored data, generating a first handle to the dataset, generating a plurality of parameters corresponding to the dataset, such that each parameter of the plurality of parameters corresponds to a distinct subset of the dataset, generating a first internal handle based upon the first handle and corresponding to a first parameter of the plurality of parameters, executing a data retrieval request based upon the first internal handle to retrieve a first subset of the dataset, receiving a navigation request corresponding to the first internal handle, navigating, if possible, the first subset in accordance with the navigation request and, when navigating the first subset in accordance with the navigation request is not possible, generating a second internal handle corresponding to a second parameter of the plurality of parameters.

Claims (62)

1. A method for the efficient use of computing resources, comprising:

receiving a request for a dataset corresponding to stored data;

generating, by a requestor, a first handle to the dataset;

generating, by the requestor, a plurality of parameters corresponding to the dataset, such that each parameter of the plurality of parameters corresponds to a distinct subset of the dataset;

generating, by the requestor, a first internal handle based upon the first handle and corresponding to a first parameter of the plurality of parameters;

executing a data retrieval request based upon the first internal handle to retrieve a first subset of the dataset;

receiving a navigation request corresponding to the first internal handle;

navigating, if possible, the first subset in accordance with the navigation request; and

in response to a determination that navigating the first subset in accordance with the navigation request is not possible, generating, by the requestor, a second internal handle corresponding to a second parameter of the plurality of parameters, such that the second parameter is in accordance with the navigation request; and

executing the second data retrieval request based upon the second internal handle to retrieve a second subset of the dataset corresponding to the second parameter.

2. The method of claim 1 , further comprising releasing the first internal handle in response to the generation of the second internal handle.

3. The method of claim 1 , wherein the navigation request is a request for a next row in the dataset.

4. The method of claim 1 , wherein the navigation request is a request for a previous row in the dataset.

5. The method of claim 1 , wherein the navigation request is a request for a jump to a row that is not the next or previous row.

6. The method of claim 1 , further comprising releasing the first handle and any unreleased internal handle when the navigation request results in a request for data not included in the dataset.

7. The method of claim 1 , wherein the large dataset handle conforms to Jaya database connectivity (JDBC) standards.

8. A method for the efficient use of computing resources, comprising:

generating, by a requestor, a large dataset handle for retrieving a dataset, the dataset comprising a subset of stored data;

generating, by the requestor, as plurality of parameters corresponding to the dataset, such that each parameter of the plurality of parameters corresponds to a distinct subset of the dataset and, when taken in combination, the distinct subsets comprise the entire dataset;

generating, by the requestor, a first internal handle based upon the large dataset handle and corresponding to a first parameter of the plurality of parameters;

executing a data retrieval request based upon the first internal handle to retrieve a first subset of the dataset;

receiving a navigation request corresponding to the first internal handle;

navigating, if possible, the first subset in accordance with the navigation request; and

in response to a determination that navigating the first subset in accordance with the navigation request is not possible, generating, by the requestor, a second internal handle corresponding to a second parameter of the plurality of parameters, such that the second parameter is in accordance with the navigation request; and

executing the second data retrieval request based upon the second internal handle to retrieve a second subset of the dataset corresponding to the second parameter.

9. The method of claim 8 , further comprising releasing the first internal handle in response to the generation of the second internal handle.

10. The method of claim 8 , wherein the navigation request is a request for a next row in the dataset.

11. The method of claim 8 , wherein the navigation request is a request for a previous row in the dataset.

12. The method of claim 8 , further comprising releasing the large dataset handle and any unreleased internal handle when the navigation request results in a request for data not within a scope corresponding to the large dataset handle.

13. The method of claim 8 , wherein the large dataset handle conforms to Java database connectivity (JDBC) standards.

14. An apparatus for the retrieval of data from stored data, comprising:

a processor;

a computer-readable storage medium coupled to the processor; and

logic, stored on the computer-readable storage medium and executed on the processor, for:

generating, by a requestor, a large dataset handle fir retrieving a dataset, the dataset comprising a subset of stored data;

generating, by the requestor, a plurality parameters corresponding to the dataset, such that each parameter of the plurality of parameters corresponds to a distinct subset of the dataset and, when taken in combination the distinct subsets comprise the entire dataset;

generating, by the requestor, a first internal handle based upon the large dataset handle and corresponding to a first parameter of the plurality of parameters;

executing a data retrieval request based upon the first internal handle to retrieve a first subset of the dataset;

receiving a navigation request corresponding to the first internal handle;

navigating, if possible, the first subset in accordance with the navigation request; and

in response to a determination that navigating the first subset in accordance with the navigation request is not possible, generating, by the requestor, a second internal handle corresponding to a second parameter of the plurality of parameters, such that the second parameter is in accordance with the navigation request; and

executing the second data retrieval request based upon the second internal handle to retrieve a second subset of the dataset corresponding, to the second parameter.

15. The apparatus of claim 14 , the logic further comprising logic for releasing the first internal handle in response to the generation of the second internal handle.

16. The apparatus of claim 14 , wherein the navigation request is a request for a next row in the dataset.

17. The apparatus of claim 14 , wherein the navigation request is a request for a previous row in the dataset.

18. The apparatus of claim 14 , the logic further comprising logic for releasing the large dataset handle and any unreleased internal handle when the navigation request results in a request for data not within a scope corresponding to the large dataset handle.

19. The apparatus of claim 14 , wherein the large dataset handle conforms to Java database connectivity (JDBC) standards.

20. A computer programming product for the retrieval of data from stored data, comprising:

a computer-readable storage medium; and

logic, stored on the computer-readable storage medium for execution on a processor, for:

generating, by a requestor, a large dataset handle for retrieving a dataset, the dataset comprising a subset of stored data;

generating, by the requestor, as plurality of parameters corresponding, to the dataset, such that each parameter of the plurality of parameters corresponds to a distinct subset of the dataset and, when taken in combination, the distinct subsets comprise the entire dataset;

generating, by the requestor, a first internal handle based upon the large dataset handle and corresponding to a first parameter of the plurality of parameters;

executing a data retrieval request based upon the first internal handle to retrieve a first subset of the dataset:

receiving a navigation request corresponding to the first internal handle;

navigating, if possible, the first subset in accordance with the navigation request; and

in response to a determination that navigating the first subset in accordance with the navigation request is not possible, generating, by the requestor, a second internal handle corresponding to a second parameter of the plurality of parameters, such that the second parameter is in accordance with the navigation request; and

executing the second data retrieval request based upon the second internal handle to retrieve a second subset of the dataset corresponding to the second parameter.

21. The computer programming product of claim 20 , the logic further comprising logic for releasing the first internal handle in response to the generation of the second internal handle.

22. The computer programming product of claim 20 , wherein the navigation request is a request for a next row in the dataset.

23. The computer programming product of claim 20 , wherein the navigation request is a request for a previous row in the dataset.

24. The computer programming product of claim 20 , the logic further comprising logic for releasing the large dataset handle and any unreleased internal handle when the navigation request results in a request for data not within a scope corresponding to the large dataset handle.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2010
From: XU, GEORGE J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025366/0767 →
Continuity (1)
Related Publication 20120124078A1 · May 17, 2012