Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
292 words
A data processing system for use with a computer having central processing unit and a memory system, said memory system having a first memory type and a second memory type where one of said memory types is a prerecorded read only memory, said data processing system comprising: (A) a B tree structure for accessing data stored in said memory system, said B tree structure having non-terminal nodes and terminal nodes each of said terminal nodes including: a plurality of keys each associated with corresponding data buckets stored within said memory system; a plurality of first pointers, each said first pointer being associated with one of said keys of said B tree and corresponding to data stored in said first memory type; and a plurality of second pointers, each second pointer being associated with one of said keys of said B tree and corresponding to data stored in said second memory type; and (B) wherein said processor is configured to: update said keys to associate each key with most recent data, wherein said update may associate a pointer with a different memory type; locate within said B tree a key associated with a desired data bucket corresponding to desired data to be accessed; determine if a first desired pointer exists indicating that said desired data bucket is stored in said first memory type and, if affirmative, to access said desired data from said desired data bucket within said first memory type; and when said processor determines that said first desired pointer exists is negative, to determine if a second desired pointer exists indicating that said desired data bucket is stored in said second memory type and, if affirmative, to access said desired data from said desired data bucket within said second memory type.
Claim 2
Dependent Claim
292 words
A data processing system for use with a computer having central processing unit and a memory system, said memory system having a first memory type and a second memory type where one of said memory types is a prerecorded read only memory, said data processing system comprising: (A) a B tree structure for accessing data stored in said memory system, said B tree structure having non-terminal nodes and terminal nodes each of said terminal nodes including: a plurality of keys each associated with corresponding data buckets stored within said memory system; a plurality of first pointers, each said first pointer being associated with one of said keys of said B tree and corresponding to data stored in said first memory type; and a plurality of second pointers, each second pointer being associated with one of said keys of said B tree and corresponding to data stored in said second memory type; and (B) wherein said processor is configured to: update said keys to associate each key with most recent data, wherein said update may associate a pointer with a different memory type; locate within said B tree a key associated with a desired data bucket corresponding to desired data to be accessed; determine if a first desired pointer exists indicating that said desired data bucket is stored in said first memory type and, if affirmative, to access said desired data from said desired data bucket within said first memory type; and when said processor determines that said first desired pointer exists is negative, to determine if a second desired pointer exists indicating that said desired data bucket is stored in said second memory type and, if affirmative, to access said desired data from said desired data bucket within said second memory type.
Claim 3
Dependent Claim
40 words
A computer system as in claim 1 wherein each of said terminal nodes further includes a Bloom filter configured to store data representing whether a specific record is stored in said first memory type or in said second memory type.
Claim 4
Dependent Claim
53 words
A computer system as in claim 1 wherein each of said terminal nodes further includes a bit mask having a plurality of bits, each bit associated with a record in one of said data buckets and indicating at least one of the presence and validity of data stored in said first memory type.
Claim 5
Dependent Claim
26 words
A computer system as in claim 1 wherein each of said terminal nodes further includes a third pointer configured to point to a sequential terminal node.
Claim 6
Independent Claim
262 words
A method for accessing data from a memory system having a first memory type and a second memory type where one of said memory types is a prerecorded read only memory, said memory system employing a B tree having non-terminal nodes and terminal nodes, each of said terminal nodes including a plurality of keys each associated with corresponding data buckets stored within said memory system; a plurality of first pointers, each said first pointer being associated with one of said keys of said B tree and corresponding to data stored in said first memory type; and a plurality of second pointers, each second pointer being associated with one of said keys of said B tree and corresponding to data stored in said second memory type; said method comprising the steps of: updating said keys to associate each key with most recent data, wherein said updating step may associate a pointer with a different memory type; locating within said B tree a key associated with a desired data bucket corresponding to desired data to be accessed; determining if a first desired pointer exists indicating that said desired data bucket is stored in said first memory type and, if affirmative, accessing said desired data from said desired data bucket within said first memory type; when said step of determining if said first desired pointer exists is negative, determining if a second desired pointer exists indicating that said desired data bucket is stored in said second memory type and, if affirmative, accessing said desired data from said desired data bucket within said second memory type.
Claim 7
Independent Claim
262 words
A method for accessing data from a memory system having a first memory type and a second memory type where one of said memory types is a prerecorded read only memory, said memory system employing a B tree having non-terminal nodes and terminal nodes, each of said terminal nodes including a plurality of keys each associated with corresponding data buckets stored within said memory system; a plurality of first pointers, each said first pointer being associated with one of said keys of said B tree and corresponding to data stored in said first memory type; and a plurality of second pointers, each second pointer being associated with one of said keys of said B tree and corresponding to data stored in said second memory type; said method comprising the steps of: updating said keys to associate each key with most recent data, wherein said updating step may associate a pointer with a different memory type; locating within said B tree a key associated with a desired data bucket corresponding to desired data to be accessed; determining if a first desired pointer exists indicating that said desired data bucket is stored in said first memory type and, if affirmative, accessing said desired data from said desired data bucket within said first memory type; when said step of determining if said first desired pointer exists is negative, determining if a second desired pointer exists indicating that said desired data bucket is stored in said second memory type and, if affirmative, accessing said desired data from said desired data bucket within said second memory type.
Claim 8
Dependent Claim
65 words
A method as in claim 5 wherein each of said terminal nodes further includes a Bloom filter configured to store data representing whether a specific record is stored in said first memory type or in said second memory type, said method further comprises the step of determining whether said desired data is in said first or said second memory type by utilizing said Bloom filter.
Claim 9
Dependent Claim
87 words
A method as in claim 5 wherein each of said terminal nodes further includes a bit mask having a plurality of bits, each bit associated with a record in one of said data buckets and indicating at least one of the presence and validity of data stored in said first memory type, said method further comprising the step of: prior to said step of accessing said second memory type, determining if said bit mask indicates that said first memory type does not include valid data being accessed.
Claim 10
Dependent Claim
46 words
A method as in claim 5 wherein each of said terminal nodes further includes a third pointer configured to point to a sequential terminal node said method further comprising the step of: accessing said third pointer when a desired pointer exist in a sequential terminal node.
Claim 11
Independent Claim
519 words
A method of inserting a new record into a B tree using a memory system having a first read/write memory type and a second read-only memory type the B tree having non-terminal nodes and terminal nodes, each of the terminal nodes including; a plurality of keys each associated with corresponding data buckets stored within the memory system; a plurality of first pointers each the first pointer being associated with one of the keys of the B tree and corresponding to data stored in the first memory type and a plurality of second pointers each second pointer being associated with one of the keys of the B tree and corresponding to data stored in the second memory type the method comprising the steps of: (a) setting a current node equal to a root node of the B tree; (b) determining whether the current node is a data bucket; (c1) if the current node is not a data bucket then retrieving a next given key in the current node and determining whether the given key is less than or equal to a node key (c2) if the given key is less than or equal to the node key setting the current node equal to a left branch node and returning to step (b); (c3) if the given key is not less than or equal to the node key determining whether there are any more keys in the node and if so returning to step (c1); (c4) if there no more keys in the node, setting the current node equal to a right branch node and returning to step (b); (d1) if the current node is a data bucket then ensuring that the terminal node has a pointer to a data bucket in said first memory and if not, allocating one; (d2) determining if the data bucket has enough room for the new record and if so storing the new record in the data bucket; (d3) if the data bucket does not have enough room for the new record allocating a new data bucket in said first memory type splitting an old data bucket moving a bottom half of data in the old data bucket into the new data bucket and selecting a middle key for insertion into a terminal node: (d4) determining if the terminal node has enough room for one more key and if so, inserting the middle key into a sorted position in the terminal node updating the terminal node pointers to include the new data bucket and storing the new record in the new data bucket; and (d5) if the terminal node does not have enough room for one more key, allocating a new terminal node splitting on old terminal node, moving a bottom half of data in the old terminal node into the new terminal node, inserting the middle key into a non-terminal index, inserting the new key into the non-terminal index, inserting the middle key into its sorted position in the new terminal node, updating the new terminal node pointers to include the new data bucket and storing the new record in the new data bucket.
Claim 12
Independent Claim
519 words
A method of inserting a new record into a B tree using a memory system having a first read/write memory type and a second read-only memory type the B tree having non-terminal nodes and terminal nodes, each of the terminal nodes including; a plurality of keys each associated with corresponding data buckets stored within the memory system; a plurality of first pointers each the first pointer being associated with one of the keys of the B tree and corresponding to data stored in the first memory type and a plurality of second pointers each second pointer being associated with one of the keys of the B tree and corresponding to data stored in the second memory type the method comprising the steps of: (a) setting a current node equal to a root node of the B tree; (b) determining whether the current node is a data bucket; (c1) if the current node is not a data bucket then retrieving a next given key in the current node and determining whether the given key is less than or equal to a node key (c2) if the given key is less than or equal to the node key setting the current node equal to a left branch node and returning to step (b); (c3) if the given key is not less than or equal to the node key determining whether there are any more keys in the node and if so returning to step (c1); (c4) if there no more keys in the node, setting the current node equal to a right branch node and returning to step (b); (d1) if the current node is a data bucket then ensuring that the terminal node has a pointer to a data bucket in said first memory and if not, allocating one; (d2) determining if the data bucket has enough room for the new record and if so storing the new record in the data bucket; (d3) if the data bucket does not have enough room for the new record allocating a new data bucket in said first memory type splitting an old data bucket moving a bottom half of data in the old data bucket into the new data bucket and selecting a middle key for insertion into a terminal node: (d4) determining if the terminal node has enough room for one more key and if so, inserting the middle key into a sorted position in the terminal node updating the terminal node pointers to include the new data bucket and storing the new record in the new data bucket; and (d5) if the terminal node does not have enough room for one more key, allocating a new terminal node splitting on old terminal node, moving a bottom half of data in the old terminal node into the new terminal node, inserting the middle key into a non-terminal index, inserting the new key into the non-terminal index, inserting the middle key into its sorted position in the new terminal node, updating the new terminal node pointers to include the new data bucket and storing the new record in the new data bucket.
Claim 13
Independent Claim
429 words
A method of retrieving a record from a B tree using a memory system having a first read/write memory type and a second read-only memory type, the B tree having non-terminal nodes and terminal nodes each of the terminal nodes including: a plurality of keys each associated with corresponding data buckets stored within the memory system a plurality of first pointers each the first pointer being associated with one of the keys of the B tree and corresponding to data stored in the first memory type; and a plurality of second pointers, each second pointer being associated with one of the keys of the B tree and corresponding to data stored in the second memory type the method comprising the steps of: (a) setting a current node equal to a root node of the B tree; (b) determining whether the current node is a data bucket; (c1) if the current node is not a data bucket then retrieving a next given key in the current node and determining whether the given key is less than or equal to a node key; (c2) if the given key is less than or equal to the node key setting the current node equal to a left branch node and returning to step (b); (c3) if the given key is not less than or equal to the node key determining whether there are any more keys in the node, and if so returning to step (c1); (c4) if there are no more keys in the node, setting the current node equal to a right branch node and returning to step (b); (d1) if the current node is a data bucket determining whether the node has a corresponding first memory type data bucket; (d2) if the current node does have a corresponding first memory type data bucket searching the data bucket for a record corresponding to the given key and if the record is located returning the located record, and if not moving to step (d3); (d3) determining whether the node has a corresponding second memory type data bucket and if not, returning an unsuccessful search result; (d4) if the node dots have a corresponding second memory type data bucket, determining whether the key has a corresponding bit representation in the Bloom filter and if not returning an unsuccessful search result; and (d5) if the node does have a corresponding bit representation in the Bloom filter searching the data bucket for the record corresponding to the given key and if found returning the located record and if not found returning an unsuccessful search result.
Claim 14
Independent Claim
429 words
A method of retrieving a record from a B tree using a memory system having a first read/write memory type and a second read-only memory type, the B tree having non-terminal nodes and terminal nodes each of the terminal nodes including: a plurality of keys each associated with corresponding data buckets stored within the memory system a plurality of first pointers each the first pointer being associated with one of the keys of the B tree and corresponding to data stored in the first memory type; and a plurality of second pointers, each second pointer being associated with one of the keys of the B tree and corresponding to data stored in the second memory type the method comprising the steps of: (a) setting a current node equal to a root node of the B tree; (b) determining whether the current node is a data bucket; (c1) if the current node is not a data bucket then retrieving a next given key in the current node and determining whether the given key is less than or equal to a node key; (c2) if the given key is less than or equal to the node key setting the current node equal to a left branch node and returning to step (b); (c3) if the given key is not less than or equal to the node key determining whether there are any more keys in the node, and if so returning to step (c1); (c4) if there are no more keys in the node, setting the current node equal to a right branch node and returning to step (b); (d1) if the current node is a data bucket determining whether the node has a corresponding first memory type data bucket; (d2) if the current node does have a corresponding first memory type data bucket searching the data bucket for a record corresponding to the given key and if the record is located returning the located record, and if not moving to step (d3); (d3) determining whether the node has a corresponding second memory type data bucket and if not, returning an unsuccessful search result; (d4) if the node dots have a corresponding second memory type data bucket, determining whether the key has a corresponding bit representation in the Bloom filter and if not returning an unsuccessful search result; and (d5) if the node does have a corresponding bit representation in the Bloom filter searching the data bucket for the record corresponding to the given key and if found returning the located record and if not found returning an unsuccessful search result.
Claim 15
Dependent Claim
158 words
A B tree structure for use with a computer having a processor, a read-only memory and a read/write memory, said data processing system comprising: a plurality of nodes interconnected having non-terminal nodes and terminal nodes; wherein each of said terminal nodes include: a first pointer configured to store keys corresponding to data buckets stored in said read-only memory; a second pointer configured to store keys corresponding to data buckets stored in said read/write memory; a third pointer configured to point to a sequential terminal node; a bit mask for each of said data buckets having a size corresponding to a number of records stored in a data bucket in said read-only memory and providing data regarding at least one of the presence and validity of records in said date buckets in said read-only memory; and a Bloom filter configured to store data representing whether a specific record is stored in said read-only memory or in said read/write memory.
Claim 16
Dependent Claim
158 words
A B tree structure for use with a computer having a processor, a read-only memory and a read/write memory, said data processing system comprising: a plurality of nodes interconnected having non-terminal nodes and terminal nodes; wherein each of said terminal nodes include: a first pointer configured to store keys corresponding to data buckets stored in said read-only memory; a second pointer configured to store keys corresponding to data buckets stored in said read/write memory; a third pointer configured to point to a sequential terminal node; a bit mask for each of said data buckets having a size corresponding to a number of records stored in a data bucket in said read-only memory and providing data regarding at least one of the presence and validity of records in said date buckets in said read-only memory; and a Bloom filter configured to store data representing whether a specific record is stored in said read-only memory or in said read/write memory.
Claim 17
Dependent Claim
38 words
The B tree structure of claim 11, wherein: said processor is configured to receive additional data to be stored in said B tree and to split said B tree to organize said additional data in said B tree.
Claim 18
Dependent Claim
48 words
The B tree structure of claim 12, wherein: said processor is configured to associate keys in said second pointer with said additional data, and when said additional data replaces old data stored in said read-only memory, to set said bit mask to identify said old data is invalid.
Claim 19
Dependent Claim
35 words
The B tree structure of claim 11, wherein: said processor is configured to retrieve desired data and configured to locate a key associated with a desired data bucket corresponding to desired data to be retrieved.
Claim 20
Independent Claim
157 words
A method of storing and retrieving data using a computer having a processor, a read-only memory and a read/write memory, comprising the steps of: (A) creating a B tree of nodes interconnected having non-terminal nodes and terminal nodes; (B) in each terminal node: storing in a first pointer keys corresponding to data buckets stored in said read-only memory; storing in a second pointer keys corresponding to data buckets stored in said read/write memory; storing a third pointer to point to a sequential terminal node; setting a bit mask for each of said data buckets having a size corresponding to a number of records stored in a data bucket in said read-only memory and providing data regarding at least one of the presence and validity of records in said data buckets in said read-only memory; and storing data in a Bloom filter representing whether a specific record is stored in said read-only memory or in said read/write memory.
Claim 21
Independent Claim
157 words
A method of storing and retrieving data using a computer having a processor, a read-only memory and a read/write memory, comprising the steps of: (A) creating a B tree of nodes interconnected having non-terminal nodes and terminal nodes; (B) in each terminal node: storing in a first pointer keys corresponding to data buckets stored in said read-only memory; storing in a second pointer keys corresponding to data buckets stored in said read/write memory; storing a third pointer to point to a sequential terminal node; setting a bit mask for each of said data buckets having a size corresponding to a number of records stored in a data bucket in said read-only memory and providing data regarding at least one of the presence and validity of records in said data buckets in said read-only memory; and storing data in a Bloom filter representing whether a specific record is stored in said read-only memory or in said read/write memory.
Claim 22
Dependent Claim
34 words
The method of claim 15, further comprising the step of: receiving additional data to be stored in said B tree and splitting said B tree to organize said additional data in said B tree.
Claim 23
Dependent Claim
44 words
The method of claim 16, further comprising the steps of: associating keys in said second pointer with said additional data, and when said additional data replaces old data stored in said read-only memory, setting said bit mask to identify said old data is invalid.
Claim 24
Dependent Claim
30 words
The method of claim 15, further comprising the step of: retrieving desired data by locating a key associated with a desired data bucket corresponding to desired data to be retrieved.