×

Computer data storage management system and methods of indexing a dataspace and searching a computer memory

  • US 5,701,467 A
  • Filed: 05/20/1996
  • Issued: 12/23/1997
  • Est. Priority Date: 07/07/1993
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer-implemented computer data storage management system including a memory employing a hierarchical data structure representing the recursive partitioning of a data space into contiguous or disjoint subspaces, and such that the external boundary of any subspace does not intersect the external or internal boundary of any other subspace at the same or any other level of recursive partitioning but may enclose, or partially coincide with, the external boundary of said other subspace;

  • the data structure hierarchy comprising a plurality of nodes including a root node, a plurality of branch nodes and a plurality of leaf nodes;

    each node in the data structure hierarchy representing a subspace at respective or lower level in the corresponding recursive partition hierarchy;

    the root node representing the entire data space;

    each lower level node representing a subspace of the space represented by a respective parent node, or a subspace of the space represented by a descendant of the respective parent node, each lower level node comprising a child node;

    the branch nodes in the hierarchical data structure being index nodes and the leaf nodes being data nodes;

    each data node containing either a set of data entries or a set of pointers which reference data entries stored elsewhere;

    each data entry containing a value or set of values which directly or indirectly specify the coordinates of a point representing that data entry in the data space;

    each index node containing a set of index entries;

    each index entry corresponding uniquely to one of the children of the index node which contains the index entry, each index entry being associated with;

    (i) a respective pointer which refers to the logical address of the child node corresponding to the index entry, and(ii) a value or set of values which directly or indirectly defines the external boundary of the subspace represented by the index entry;

    characterised in that;

    node promotion can occur as a result of node overflows due to the introduction of extra information into the memory;

    an unpromoted node being a node which is at the same level in the data structure hierarchy as the level of the subspace which it represents in the corresponding recursive partition hierarchy, and a promoted node being a node which is at a higher level in the data structure hierarchy than the level of the subspace which it represents in the corresponding recursive partition hierarchy;

    the subspace represented by any child node promoted to a respective node being a subspace of the union of all the subspaces represented by unpromoted children of the respective node;

    in that the system includes first means which, upon the introduction of said extra information into the memory and resultant overflow of an index node, split the said index node into two resulting index nodes by partitioning the space which the said index node represents into two subspaces, said partitioning either being such that the number of index entries in the two resulting index nodes is as near equal as possible, or being in accordance with a predetermined criterion of balance in the distribution of the index entries between the two resulting index nodes;

    the first means serving also to dispose the two resulting index nodes at the same level of the data structure hierarchy as the index node from which they were created, with each resulting index node having as parent the parent of the index node from which it was created,in that the system includes second means which, if the external boundary of one of the two subspaces represented by the resulting index nodes is enclosed by the external boundary of the other of the two subspaces, and if no index entry in the said index node represents a subspace whose external boundary coincides with the said enclosed external boundary but there exists in the said index node an unpromoted or promoted index entry which represents a subspace whose external boundary directly encloses the said enclosed external boundary, promote said unpromoted or promoted index entry to the parent of the said index node;

    the external boundary of a first subspace directly enclosing the external boundary of a second subspace if, at the same recursive partition level, there exists no third subspace whose external boundary is enclosed by the external boundary of the said first subspace and whose external boundary encloses the external boundary of the said second subspace;

    in that the system includes third means which for each index node entry associate an indication of the level, in the hierarchy of recursive partitions of the dataspace, of the subspace represented by the entry;

    and characterised in that the internal boundary of the subspace represented by an index entry is defined implicitly by the presence in the index of one or more other index entries which belong to the same or higher recursive partitioning level and each of which represents a subspace which the external boundary of the subspace represented by the said index entry directly encloses.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×