| US 7,483,905 B2 | ||
| Database access device and method of accessing a database | ||
| Thomas Gauweiler, Speyer (Germany) | ||
| Assigned to SAP AG, Walldorf (Germany) | ||
| Filed on Sep. 25, 2003, as Appl. No. 10/672,514. | ||
| Application 10/672514 is a division of application No. 10/455294, filed on Jun. 04, 2003. | ||
| Prior Publication US 2004/0249857 A1, Dec. 09, 2004 | ||
| Int. Cl. G06F 17/00 (2006.01) | ||
| U.S. Cl. 707—101 [707/10; 707/203; 711/205] | 4 Claims |

| 4. A method of managing fixed units of buffer memory associated with a mobile client application, comprising:
retrieving a first record from a datatable stored in a remote database memory, the first record comprising a first set of
data fields of a first row in the datatable;
determining a size of the first record and a size of a freespace of a current fixed unit of buffer memory and:
saving the first record in the current fixed unit of buffer memory if the size of the retrieved record is smaller than the
freespace of the current fixed unit of buffer memory;
saving the retrieved record in a next fixed unit of buffer memory if the size of the retrieved record is larger than the freespace
of the current fixed unit of buffer memory;
creating a business object kernel comprising a kernel pointer pointing to the fixed unit of buffer memory storing the first
record;
storing the business object kernel in a lookup table;
storing a key with the business object kernel, the key identifying the first record as being assigned to the business object
kernel;
storing a counter with the business object kernel, the counter having a value indicating a number of times any portion of
the first row in the datatable is stored in the buffer memory associated with the mobile client application;
retrieving a second record from the datatable stored in the remote database memory, the second record comprising a second
set of fields of the first row in the datatable;
determining a size of the second record and the size of the freespace of a current fixed unit of buffer memory and:
saving the second record in the current fixed unit of buffer memory if the size of the retrieved record is smaller than the
freespace of the current fixed unit of buffer memory;
saving the second record in a next fixed unit of buffer memory if the size of the retrieved record is larger than the freespace
of the current fixed unit of buffer memory;
storing a pointer pointing from the fixed unit of buffer memory storing the first record to the fixed unit of buffer memory
storing the second record;
incrementing the value of the counter by one to indicate that the first row of the datatable has been redundantly stored in
the buffer memory associated with the mobile client application.
|