Updating objects stored in a permanent container while preserving logical contiguity
First Claim
1. A method executed in a computer system for updating an object stored in a container, the container having a plurality of objects, the objects being ordered in the container from a first object to a last object, the computer system having a memory and a storage device, the container being stored on the storage device, the method comprising the steps of:
- selecting an object to update;
determining a beginning address of the selected object and a size of the selected object;
with reference to the beginning address and the size of the selected object, reading the selected object from the container into the memory;
editing the selected object while the selected object is in the memory;
determining a size of the edited selected object;
determining a beginning address and an ending address of a block of objects, the block comprising objects ordered in the container following the unedited selected object;
with reference to the beginning and ending addresses of the block of objects, moving each of the objects of the block to a new location within the container while preserving the block ordering;
determining an ending address of a last one of the moved objects; and
with reference to the size of the edited selected object and the ending address of the last one of the moved objects, writing the edited selected object from the memory to the container.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system and method for updating an object stored in a container. A container stored on a storage device includes a plurality of objects being ordered from a first object to a last object. One of the objects in the container is selected for updating and is read from the container into a computer memory where it is edited. Next, each of the objects ordered in the container after the selected object is moved to a new location within the container so that the selected object is overwritten. The container is then truncated after the last moved object. The edited selected object is then written from the memory and appended to the container.
61 Citations
16 Claims
-
1. A method executed in a computer system for updating an object stored in a container, the container having a plurality of objects, the objects being ordered in the container from a first object to a last object, the computer system having a memory and a storage device, the container being stored on the storage device, the method comprising the steps of:
-
selecting an object to update; determining a beginning address of the selected object and a size of the selected object; with reference to the beginning address and the size of the selected object, reading the selected object from the container into the memory; editing the selected object while the selected object is in the memory; determining a size of the edited selected object; determining a beginning address and an ending address of a block of objects, the block comprising objects ordered in the container following the unedited selected object; with reference to the beginning and ending addresses of the block of objects, moving each of the objects of the block to a new location within the container while preserving the block ordering; determining an ending address of a last one of the moved objects; and with reference to the size of the edited selected object and the ending address of the last one of the moved objects, writing the edited selected object from the memory to the container. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method executed in a computer system for saving data, the computer system having a memory and a storage device, the storage device having a file with a plurality of objects stored logically contiguously from a first address to a last address, each object containing data and having a starting address and an ending address, the method comprising the steps of:
-
generating in memory a revised version of a target object stored on the storage device; determining the starting address and the ending address in the storage device of the target object; moving each object stored logically contiguously after the ending address of the target object to a new address so as to maintain logical contiguity of the objects thus moved and to at least partially overwrite the target object; determining an address after the last address of a last ordered one of the moved objects; and writing the revised version of the target object from the memory to the storage device starting at the address thus determined. - View Dependent Claims (9)
-
-
10. A computer system for updating an object stored in a container, the container having a plurality of objects, the objects being ordered in the container from a first object to a last object, the computer system having a memory and a storage device, the container being stored on the storage device, the system comprising:
-
means for determining the beginning and ending addresses of objects in the container; means for selecting an object whose beginning and ending addresses have been determined to update; means for loading the selected object from the container into the memory; means for editing the loaded selected object; means for moving the objects in the container after the selected object to a set of destination locations within the container, a first location within the set corresponding to the location of the beginning selected object; means for expanding the container size; and means for writing the edited selected object from the memory to the container starting immediately after a last of the moved objects. - View Dependent Claims (11, 12, 13)
-
-
14. A computer system for saving data, the computer system having a memory and a storage device, the storage device having a plurality of objects stored logically contiguously from a first address to a last address, each object containing data and having a starting address and an ending address, the system comprising:
-
means for selecting a target object stored on the storage device; means for reading the target object into memory; means for generating in memory an updated version of the target object; means for determining the starting and ending addresses of the target object; means for moving each object stored logically contiguously after the ending address of the target object to a new address so as to maintain logical contiguity of the objects thus moved and to at least partially overwrite the target object; and means for writing the updated version of the target object from the memory to the storage device with a starting address after the last address of a last one of the moved objects. - View Dependent Claims (15)
-
-
16. A method executed in a computer system for updating an object stored in a container, the container having a plurality of objects, the objects being ordered in the container from a first object to a last object, the computer system having a memory and a storage device, the container being stored on the storage device, the method comprising the steps of:
-
reading each object from the container into the memory; selecting one of the objects in the memory to edit; editing the selected object while the selected object is in memory; moving each of the objects ordered in the container following the unedited selected object to a new location within the container; and after the step of moving, writing the edited selected object from the memory to the container by writing the edited selected object to a location after the new location within the container of the last ordered object of the moved objects, expanding the container size, when necessary, to contain the edited selected object.
-
Specification