Organizing pointers to objects in an array to improve the speed of object retrieval
AssigneeZi Corporation of Canada, Inc.
InventorsCharles Weir, Tommy Wildenflycht
Life of this patent
Estimating the term…
Abstract
The invention may be a method of organizing pointers. The pointers may identify addresses where objects are stored. The pointers may be stored in arrays so that the pointers corresponding to the most recently selected objects are stored nearer to ends of the arrays than are the pointers corresponding to less recently selected objects. The invention may be embodied as a machine designed to carry out the method, or as a memory device that is capable of causing a computer to carry out the method.
Claims24
A computer-implemented method of providing objects, comprising:
- providing with a computer, a plurality of objects, each object being potentially desired by a user;
- storing, with the computer, the objects in a database, each object having a unique address;
- storing, with the computer, pointers in an array, the array having a start and an end, and each pointer identifying one of the unique addresses;
- receiving, with the computer, an input from a user;
- retrieving, with the computer, one of the pointers to provide a first pointer that corresponds to the input, the first pointer being located at the end of the array;
- retrieving, with the computer, one of the objects to provide a first object, the first object being located at the address identified by the first pointer;
- retrieving, with the computer, one of the pointers to provide a second pointer that corresponds to the input, the second pointer being located further from the end of the array than the first pointer;
- retrieving, with the computer, one of the objects to provide a second object, the second object being located at the address identified by the second pointer;
- providing, with the computer, the first object and the second object to the user;
- receiving, with the computer, a selection from the user indicating which of the provided objects is a desired object;
- and
- storing, with the computer, the pointer corresponding to the desired object so that the pointer corresponding to the desired object is located at the end of the array.
A machine, comprising:
- an input device having at least two keys;
- a database of objects, each object being potentially desired by a user, and each object having a unique address;
- an array of pointers, the array having a start and an end, and each pointer identifying one of the unique addresses;
- a processor capable of executing instructions;
- executable instructions capable of causing the processor to (a) receive an input from a user, the input corresponding to keys selected by the user, (b) retrieve one of the pointers to provide a first pointer that corresponds to the input, the first pointer being located at the end of the array, (c) retrieve one of the objects to provide a first object, the first object being located at the address identified by the first pointer, (d) retrieve one of the pointers to provide a second pointer that corresponds to the input, the second pointer being located further from the end of the array than the first pointer, (e) retrieve one of the objects to provide a second object, the second object being located at the address identified by the second pointer, (f) provide the first object and the second object to the user, (g) receive a selection from the user indicating which of the provided objects is a desired object, and (h) store the pointer corresponding to the desired object so that the pointer corresponding to the desired object is located at the end of the array.
A computer readable medium having stored thereon instructions for retrieving objects, the computer program product comprising:
- instructions causing a computer to (a) receive an input from a user, (b) retrieve a first pointer from an array that corresponds to the input, the first pointer being located at the end of the array, (c) retrieve an object from a database to provide a first object, the first object being located at the address identified by the first pointer, (d) retrieve one of the pointers to provide a second pointer that corresponds to the input, the second pointer being located further from the end of the array than the first pointer, (e) retrieve one of the objects to provide a second object, the second object being located at the address identified by the second pointer, (f) provide the first object and the second object to the user, (g) receive a selection from the user indicating which of the provided objects is a desired object, and (h) store the pointer corresponding to the desired object so that the pointer corresponding to the desired object is located at the end of the array.
Dependencies are inferred from the claim text.