Data management using nested records and code points
AssigneePark City Group, Inc.
InventorH. Richard Bennion
Life of this patent
Estimating the term…
Abstract
A data management system and method for storing and communicating different types of data allow variable lengths and hierarchical nesting of data records. Hierarchical structure is implicitly defined by relationships of length fields of data records. The system and method use data-containing records to store data and container records to contain other records in order to define the hierarchical structure and thereby greatly facilitate the movement and management of the stored data.
Claims14
A computer readable memory having a plurality of storage locations for storing a plurality of records on the computer readable memory, comprising:
- at least one hierarchical storage structure including at least one first container record,
- each first container record having a number of contiguous, first storage locations, selected one of the first storage locations forming:
- a length field specifying a number of all storage locations of the first container record;
- at least one data record each data record having a number of contiguous second storage locations at least one of the second storage locations forming a data field for storing data, and at least one of the second storage locations forming a length field specifying a number of contiguous second storage locations of the data record;
- and
- at least one second container record having a number of contiguous third storage locations forming a hierarchical structure of other container records and data records;
- each record including a code point field specifying whether the record is a container record or a data record and specifying at least one of a plurality of application programs for processing the record.
A computer-implemented method of storing data in a hierarchical organization in a computer readable memory having a plurality of storage locations, comprising the steps of:
- storing in a plurality of contiguous first storage locations at least one data record, at least one of the first storage locations forming a data field for storing data, and at least one of the first storage locations forming a length field specifying a number of contiguous first storage locations of the data record;
- and
- storing in a plurality of contiguous second storage locations at least one first container record, wherein the step of storing comprises the substeps of;
- storing in selected ones of the second storage locations at least one data record;
- and
- storing in selected ones of the second storage locations at least one second container record;
- and
- storing in each record a length field specifying a number of all storage locations for the first container record and an application specific data type field.
A computer-implemented method of deleting a record in a hierarchical storage structure stored in a computer readable memory, the storage structure including a plurality of container records and a plurality of data records, each record including a length field specifying a number of storage locations for the record, and a code point field specifying whether the record is a container record or a data record and including an application specific data type field, each data record including a data field containing contiguously stored data, each container record including at least one data record stored contiguously therein, wherein the length field of a container record equals a total number of storage locations for all container records and data records included within the container record, the method comprising the steps of:
- (a) designating a record to be deleted;
- (b) setting an index to indicate a first storage location in the computer readable memory, of the data structure containing the record to be deleted;
- (c) determining whether the index indicates the designated record;
- (d) responsive to the index indicating the designated record, performing the substeps of:
- (d.1) reading the length field of the designated record;
- and
- (d.2) advancing the index by a number of storage locations equal to the length field;
- (e) responsive to the index not indicating the designated record, performing the substeps of:
- (e.1) copying each storage location included in the record indicated by the index to a storage location in the computer readable memory;
- and,
- (e.2) advancing the index the end of the record;
- (f) determining whether the index indicates the end of a container record including the designated record;
- (g) responsive to the index indicating the end of a container record including the designated record, reducing the length field of the container record by an amount equal to the length field of the designated record;
- (h) determining whether the index indicates the end of the data structure;
- and
- (i) responsive to the index not indicating the end of the data structure, repeating steps (c) through (h).
A computer-implemented method of adding a new record to a hierarchical storage structure stored in a computer readable memory, the storage structure including a plurality of container records and a plurality of data records, each record including a length field specifying a number of storage locations for the record, and a code point field specifying whether the record is a container record or a data record and including an application specific data type field, each data record including a data field containing contiguously stored data, each container record including at least one data record stored contiguously therein, wherein the length field of a container record equals a total number of storage locations for all container records and data records included within the container record, the method comprising the steps of:
- (a) reading a length field of a first container record to which the new record is to be added;
- (b) advancing an index by a number of storage locations equal to the length field;
- (c) writing the new record at the storage location indicated by the index;
- (d) writing in a length field for the new record a number of storage locations used to store the new record;
- (e) increasing the length field o each container record including the new record by the number in length field of the new record.
A computer-implemented method of inserting a new record in a hierarchical storage structure stored in a computer readable memory, the storage structure including a plurality of container records and a plurality of data records, each record including a length field specifying a number of storage locations for the record, and a code point field specifying whether the record is a container record or a data record and including an application specific data type field, each data record including a data field containing contiguously stored data, each container record including at least one data record stored contiguously therein, wherein the length field of a container record equals a total number of storage locations for all container records and data records included within the container record, the method comprising the steps of:
- (a) designating an insertion storage location within the data structure for the new record;
- (b) setting an index to indicate a first storage location in the computer readable memory, of the data structure into which the new record is to be inserted;
- (c) determining whether the index indicates the insertion storage location;
- (d) responsive to the index indicating the insertion storage location, performing the substeps of;
- (d.1) copying the new record to a number of contiguous storage locations in the a computer readable memory;
- and
- (d.2) writing in a length field for the new record a number of storage cations used to store the new record;
- (e) responsive to the index not indicating the insertion storage location, copying the record indicated by the index to a number of contiguous storage locations in the computer readable memory, and advancing the index to the end of the copied record;
- (f) determining whether the index indicates the end of a container record including the new record;
- (g) responsive to the index indicating the end of a container record including the new record, increasing the length field of the container record by an amount equal to the length field of the new record;
- (h) determining whether the index indicates the end of the data structure;
- and
- (i) responsive to the index not indicating the end of the data structure, repeating steps (c) through (i).
A computer-implemented method of processing with a plurality of applications a record having a number of contiguous storage locations, selected ones of the storage locations forming a code point field and a length field specifying a number of storage locations of the record, the record being either a data record containing a data field for storing data or a container record hierarchically containing data records or other container records, the code point field of each data record and container record specifying an application specific data type and whether the record is a data record or a container record, the method comprising the steps of:
- storing associations between a plurality of code points and a plurality of application specific data types in a memory device;
- retrieving a first record from the computer readable memory;
- determining from the code point stored in the first record the application specific data type of the record and whether the records is a container record or a data record;
- and
- processing the first record with an application program according to the data type associated with the code point.
A computer readable memory having a plurality of storage locations for storing a plurality of records on the computer readable memory, comprising:
- at least one hierarchical storage structure including:
- at least one first container record, each first container record having a number of contiguous first storage locations, selected ones of the first storage locations forming:
- a length field specifying a number of all first storage locations of the first container record;
- and
- at least one second container record having a number of contiguous second storage locations, selected ones of the second storage locations including:
- a length field specifying a number of all second storage locations of the second container record;
- and
- at least one third container record having a number of contiguous third storage locations, selected ones of the third storage locations including either;
- at least one further container record having a number of contiguous storage locations;
- or
- at least one data record, each data record having a number of contiguous fourth storage locations, at least one of the fourth storage locations forming a data field for storing data, and at least one of the fourth storage locations forming a length field specifying a number of contiguous fourth storage locations of the data record;
- and
- each record including a code point field specifying whether the record is a container record or a data record.
A computer readable memory having a plurality of storage locations for storing a plurality of records on the computer readable memory, comprising:
- at least one hierarchical storage structure having a plurality of levels, each level capable of storing heterogeneous records including:
- at least one data record, each data record having a number of contiguous first storage locations, at least one of the first storage locations forming a data field for storing data, and at least one of the first storage locations forming a length field specifying a number of contiguous first storage locations of the data record;
- at least one container record, each container record having a number of contiguous second storage locations, selected ones of the second storage locations forming at least one further level of records, and at least one second storage location forming length field specifying a number of all storage locations of the second container record, including all storage locations in records in the at least one further level;
- and
- each record including a code point field specifying whether the record is a container record or a data record and specifying at least one of a plurality of application programs for processing the record.
Dependencies are inferred from the claim text.