System and method of object-oriented persistence
AssigneeResearch In Motion Limited
InventorsJohn F. A. Dahms, David P. Yach
Life of this patent
Estimating the term…
Abstract
A system and method for handling an application's access of persisted objects for use within a mobile communications device. The device includes a non-volatile storage device that has at least a portion of its storage locations addressable by the application. A reference table contains the addresses of persisted objects contained in the storage device. Via the reference table, an application can locate persisted objects stored in the storage device.
Claims69
A system for handling an application's access of objects for use within a mobile communications device, comprising:
- random access memory (RAM) having storage locations addressable within an addressable space, said RAM containing a persistable first object associated with a first index and having a first address within the addressable space;
- a non-volatile storage device having storage locations addressable within an addressable space, said storage device containing a persisted second object associated with a second index and having a second address within the storage device's addressable space;
- a reference table that contains the first address in a first storage element having a location based on the first index and contains the second address in a second storage element having a location based on the second index,
- the application locating the first storage element in the reference table based on the first index to obtain the first address for the persistable first object from the first storage element in the reference table and locating the second storage element in the reference table based on the second index to obtain the second address for the persisted second object from the second storage element in the reference table so that the persistable first object and the persisted second object are directly usable by the application as though both the persistable first object and the persisted second object are stored in the RAM.
A method for handling an application's access of objects for use within a mobile communications device, comprising the steps of:
- reading a first persistable object from random access memory (RAM);
- writing the first persistable object into a non-volatile storage device at a first address so as to create a first persisted object, the first persisted object being associated with a first index;
- storing the first address in a first storage element in a reference table, the first storage element having a location based on the first index;
- and
- locating the first storage element in the reference table based on the first index to obtain the first address of the first persisted object from the first storage element in order to retrieve the first persisted object from the storage device for use by the application, said first persisted object being in a usable state by the application directly from the storage device as though it is stored in the RAM;
- said RAM containing a second persistable object at a second address and being associated with a second index, the second address being stored in a second storage element in the reference table at a location based on the second index;
- and
- locating the second storage element in the reference table based on the second index to obtain the second address of the second persistable object from the second storage element in order to retrieve the second persistable object from the RAM for use by the application, said second persistable object being in a usable state by the application directly from the RAM.
The method of 45 wherein the location of the first storage elements is an address defined by multiplying the first index by the width of the first storage element and adding the address of the reference table, and
- wherein the location of the second storage element is an address defined by multiplying the first index by the width of the second storage element an adding the address of the reference table.
A system for handling an application's access of objects for use within a mobile communications device, comprising:
- a non-volatile storage device having storage locations addressable within an addressable non-volatile space, said non-volatile storage device containing a persisted first object having an address within the addressable non-volatile space and being associated with a first index;
- a volatile storage device having storage locations addressable within an addressable volatile space, said volatile storage device containing a persistable second object having an address within the addressable volatile space and being associated with a second index;
- and
- a reference table that stores the address of the persisted first object at a location based upon the first index and stores the address of the persistable second object at a location based upon the second index,
- wherein the application locates the address of the persisted first object from the reference table based on the first index, the application using said persisted first object directly from the non-volatile storage device as though it is in the volatile storage device;
- wherein the application locates the address of the persistable second object from the reference table based on the second index, the application using said persistable second object directly from the volatile storage device.
Dependencies are inferred from the claim text.