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
OG exemplary drawing
 
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.