Browse Prior Art Database

Over-the-Air (OTA) Virtual Memory Management System for a Mobile Device

IP.com Disclosure Number: IPCOM000131828D
Publication Date: 2005-Nov-21
Document File: 2 page(s) / 43K

Publishing Venue

The IP.com Prior Art Database

Abstract

Mobile wireless devices have very limited memory capacity. Once the memory of mobile devices becomes full, it is not possible to create new records on the device. On certain devices, the low memory manager will be activated. It is restricted to deleting old messages from the device to make room. These messages may become irretrievably lost. In certain systems, the device must retain all records that are stored on the server as a mirror image, even though some records may be accessed infrequently. There is potentially significant space on the device that is wasted. The amount of memory on the device represents an upper bound on the amount of data that can be stored in any database and accessed on the device. The user cannot access any form of data storage that is outside of the device. We propose a system that is similar to virtual memory management, but is implemented on a mobile wireless device. It allows for database content to be replaced with a cache that contains only a subset of records stored on the server. In this way, device memory is freed up for the most frequently used data. Also, the user can use up any amount of server space to store records, while the amount of device memory only limiting the size of the cache. The cache resident on the device will comprise application data as records contained in a database view. All records belonging to a database are stored on the server, while the device only stores a subset of them. Data is retained in the cache based on a scheme such as most-recently-used. When a new record is created, it is flagged as dirty, and the server is automatically updated with a copy of the same record in the background through over-the-air transfer. Likewise, when the user explicitly deletes a record on the device, the deletion is propagated to the server. When the user invokes a search on the device, the device first performs a query of the data that is stored locally. It then sends the same query parameters to the server in Structured Query Language (SQL) format, along with a list of the unique record IDs (UIDs) that were already matched on the device. A server component receives the request and executes it on its own data. The server responds by sending a list of UIDs of the records contained in its own search results, except for those that already match the ID's present on the device. The device retains this list of UIDs as a search view. Thus, no state for the search is preserved on the server. A maximum limit on the size of the search results list will be enforced such that a reasonable subset of the search hits will be sent. The server will still notify the device of the total number of search hits. The user can always narrow the search down with a new request. The search results list is segmented, and the user traverses the first group of UID's. As they are not yet present on the device, they will be fetched automatically from the server, and transferred over-the-air to the device. If the desired entry is not contained within the cache, then the next group of UIDs is retrieved. The user may have control over cache parameters such as the maximum number of records of a database that are retained on the device at one time. A data cache exists on the device at all times, so that it is still of use when the device is out-of-coverage. Also, it appears that the user has an unlimited amount of memory, as data is automatically swapped in and out as necessary. Thus far, we have proposed searching private user data that is stored on the server. This idea can be extended to a public database accessible by any authorized user in the company. For example, a parts database can be maintained for a manufacturing supplier. Any device carried by a sales rep could run queries on it to download a part data sheet. The public database can be associated with a list of authorized user IDs so that only specific users would have access to it.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

OTA VIRTUAL MEMORY

Over-the-Air (OTA) Virtual Memory Management System for a

Mobile

Device

Disclosed Anonymously

Mobile wireless devices have very limited memory capacity. Once the memory of mobile devices becomes full, it is not possible to create new records on the device. On certain devices, the low memory manager will be activated. It is restricted to deleting old messages from the device to make room. These messages may become irretrievably lost.

In certain systems, the device must retain all records that are stored on the server as a mirror image, even though some records may be accessed infrequently. There is potentially significant space on the device that is wasted.

The amount of memory on the device represents an upper bound on the amount of data that can be stored in any database and accessed on the device. The user cannot access any form of data storage that is outside of the device.

We propose a system that is similar to virtual memory management, but is implemented on a mobile wireless device. It allows for database content to be replaced with a cache that contains only a subset of records stored on the server. In this way, device memory is freed up for the most frequently used data. Also, the user can use up any amount of server space to store records, while the amount of device memory only limiting the size of the cache.

The cache resident on the device will comprise application data as records contained in a database view. All records belonging to a database are stored on the server, while the device only stores a subset of them. Data is retained in the cache based on a scheme such as most-recently-used. When a new record is created, it is flagged as dirty, and the server is automatically updated with a copy of the same record in the background through over-the-air transfer. Likewise, when the user explicitly deletes a record on the device, the deletion is propagated to the server.

When the user invokes a search on the device, the device first performs a query of the data that is stored locally. It then sends the same query parameters to the server i...