Claims Analysis
Total Claims: 45
Claim 1
Independent Claim
197 words
In a computer system for storing a file of data elements, a method of sequentially reading a list of succeeding ordered elements in the file while concurrently allowing the list to be modified, the steps comprising: providing in a first memory area of the computer system a tree-structure data file for holding a plurality of ordered elements and therewith defining a list, the tree-structure having a plurality of nodes each holding an ordered subgroup of the ordered elements, the nodes linked to each other, in order, by associated pointers; assigning timestamps to the elements in the tree structure upon providing the tree structure; reading an element; recording in a second memory area both an indication of the read element and an indication of the timestamp corresponding to the read element; updating the timestamp of the read element to a current timestamp each time the node holding the element is modified; and comparing the current timestamp assigned to the read element with the timestamp as indicated by the recorded indication before reading a succeeding element to determine a currently succeeding element of the read element such that modifying the list is enabled while the list is sequentially read.
Claim 2
Dependent Claim
197 words
In a computer system for storing a file of data elements, a method of sequentially reading a list of succeeding ordered elements in the file while concurrently allowing the list to be modified, the steps comprising: providing in a first memory area of the computer system a tree-structure data file for holding a plurality of ordered elements and therewith defining a list, the tree-structure having a plurality of nodes each holding an ordered subgroup of the ordered elements, the nodes linked to each other, in order, by associated pointers; assigning timestamps to the elements in the tree structure upon providing the tree structure; reading an element; recording in a second memory area both an indication of the read element and an indication of the timestamp corresponding to the read element; updating the timestamp of the read element to a current timestamp each time the node holding the element is modified; and comparing the current timestamp assigned to the read element with the timestamp as indicated by the recorded indication before reading a succeeding element to determine a currently succeeding element of the read element such that modifying the list is enabled while the list is sequentially read.
Claim 3
Dependent Claim
44 words
A method as claimed in claim 1 wherein the step of assigning timestamps to the elements in the tree structure includes assigning timestamps to nodes of the tree structure such that each element in a node is assigned the timestamp assigned to that node.
Claim 4
Dependent Claim
34 words
A method as claimed in claim 2 wherein the step of assigning timestamps to nodes includes assigning a node the time at which an insertion or deletion of an element of the node occurred.
Claim 5
Dependent Claim
31 words
A method as claimed in claim 2 wherein the step of assigning timestamps to nodes includes assigning a node the time at which a splitting or deletion of the node occurred.
Claim 6
Dependent Claim
21 words
A method as claimed in claim 1 wherein the step of assigning timestamps includes assigning a succeeding number from a counter.
Claim 7
Dependent Claim
23 words
A method as claimed in claim 1 further comprising the step of saving nodes of most recently read elements in a cache memory.
Claim 8
Dependent Claim
58 words
A method as claimed in claim 6 wherein the step of saving nodes in a cache memory includes removing nodes from the cache memory when the cache memory is full in order of the node which is least likely to be used and having the least recent timestamp to the node which is most likely to be used.
Claim 9
Dependent Claim
48 words
A method as claimed in claim 6 wherein the step of saving nodes in a cache memory includes reading a desired node which is currently absent from the cache memory from a disk memory and assigning it the timestamp which was most recently discarded from the cache memory.
Claim 10
Dependent Claim
32 words
A method as claimed in claim 1 wherein the step of comparing the current timestamp includes determining the current timestamp from a cache memory holding the read element and its current timestamp.
Claim 11
Dependent Claim
45 words
A method as claimed in claim 9 wherein the step of determining the current timestamp from a cache memory includes assigning a timestamp which was most recently discarded from the cache memory to an element of the tree which is absent from the cache memory.
Claim 12
Dependent Claim
24 words
A method as claimed in claim 1 further comprising the step of obtaining a node containing the currently succeeding element using an associated pointer.
Claim 13
Dependent Claim
32 words
A method as claimed in claim 11 wherein the step of obtaining the node containing the currently succeeding element includes locking the node so as to temporarily prevent it from being modified.
Claim 14
Dependent Claim
52 words
A method as claimed in claim 1 further comprising the steps of: locking the node holding the read element before comparing its current timestamp with the timestamp indicated by the recorded indication so as to temporarily prevent it from being modified; and unlocking the read element after reading the currently succeeding element.
Claim 15
Dependent Claim
154 words
In a computer system storing a data file of elements, a method for sequentially reading a data file having ordered nodes linked by pointers, each node comprising a plurality of ordered elements which are to be read in order within the respective node and from node to node, the steps comprising: assigning an update timestamp to a node each time the node is modified by a change in elements in the node; reading an element; recording in a memory area an indication of the read element and an indication of the update timestamp of the respective node containing the read element, as of the reading of the read element; and before reading a succeeding element, comparing the update timestamp currently assigned to the respective node containing the read element to the update timestamp of the respective node as indicated by the recorded indicating thereof, to determine the currently succeeding element of the read element.
Claim 16
Dependent Claim
154 words
In a computer system storing a data file of elements, a method for sequentially reading a data file having ordered nodes linked by pointers, each node comprising a plurality of ordered elements which are to be read in order within the respective node and from node to node, the steps comprising: assigning an update timestamp to a node each time the node is modified by a change in elements in the node; reading an element; recording in a memory area an indication of the read element and an indication of the update timestamp of the respective node containing the read element, as of the reading of the read element; and before reading a succeeding element, comparing the update timestamp currently assigned to the respective node containing the read element to the update timestamp of the respective node as indicated by the recorded indicating thereof, to determine the currently succeeding element of the read element.
Claim 17
Dependent Claim
20 words
A method as claimed in claim 14 further comprising the step of modifying a node by inserting and deleting elements.
Claim 18
Dependent Claim
24 words
A method as claimed in claim 14 wherein the step of assigning an update timestamp includes assigning a date and time-of-day to a node.
Claim 19
Dependent Claim
22 words
A method as claimed in claim 14 wherein the step of assigning an update timestamp includes assigning a number from a counter.
Claim 20
Dependent Claim
21 words
A method as claimed in claim 14 further comprising the step of saving most recently assessed nodes in a cache memory.
Claim 21
Dependent Claim
46 words
A method as claimed in claim 18 wherein the step of saving most recently assessed nodes includes removing nodes from the cache memory in order the node with the least recent timestamp to the node with the most recent timestamp when the cache memory is full.
Claim 22
Dependent Claim
51 words
A method as claimed in claim 19 wherein the step of saving most recently accessed nodes includes removing nodes from the cache memory in order of the node which is least likely to be used and having the least recent timestamp to the node which is most likely to be used.
Claim 23
Dependent Claim
47 words
A method as claimed in claim 19 wherein the step of comparing the update timestamp currently assigned to the respective node includes assuming an update timestamp of a node which was most recently discarded from the cache memory for a node presently absent from the cache memory.
Claim 24
Dependent Claim
45 words
A method as claimed in claim 14 wherein the step of comparing the update timestamp currently assigned to the respective node to the update timestamp indicated by the recorded indication includes searching a cache memory holding the respective node and its currently assigned update timestamp.
Claim 25
Dependent Claim
49 words
A method as claimed in claim 22 wherein the step of searching includes assuming an update timestamp which was most recently discarded from the cache memory for a currently assigned update timestamp of the respective node when the respective node is found to be absent from the cache memory.
Claim 26
Dependent Claim
35 words
A method as claimed in claim 14 further comprising the step of obtaining a node succeeding the respective node containing the read element with the use of an associated pointer to find the succeeding element.
Claim 27
Dependent Claim
29 words
A method as claimed in claim 24 wherein the step of obtaining a succeeding node includes locking the succeeding node so as to temporarily prevent it from being modified.
Claim 28
Dependent Claim
42 words
A method as claimed in claim 14 further comprising the steps of: locking the respective node before obtaining its currently assigned update timestamp so as to temporarily prevent it from being modified; and unlocking the respective node after reading the succeeding element.
Claim 29
Dependent Claim
236 words
In a computer system storing data files of ordered elements, apparatus for sequentially accessing and reading ordered elements of a data file while allowing the data file to be modified comprising: a first means for storing the data file in the form of a tree structure having ordered nodes, each node containing a subgroup of the ordered elements which are to be read in order within the respective node and from node to node; a second means for assigning a current timestamp to a node each time the node is modified or deleted by a respective operation; a third means for recording an indication of an element upon the element being read and for recording an indicating of the timestamp corresponding to the node containing the element at a time of the reading of thee element; and comparison means for comparing the timestamp of the node as indicated by the recorded indication thereof to a current timestamp which is presently assigned to the node, the comparison means performing the comparing just prior to reading a succeeding element of the read element, and the comparison means providing a search for a node currently containing the succeeding element if the current timestamp is different than the timestamp indicated by the recorded indication, and providing the succeeding element from the node containing the read element if the timestamp indicated by the recorded indication is equal to the current timestamp.
Claim 30
Dependent Claim
236 words
In a computer system storing data files of ordered elements, apparatus for sequentially accessing and reading ordered elements of a data file while allowing the data file to be modified comprising: a first means for storing the data file in the form of a tree structure having ordered nodes, each node containing a subgroup of the ordered elements which are to be read in order within the respective node and from node to node; a second means for assigning a current timestamp to a node each time the node is modified or deleted by a respective operation; a third means for recording an indication of an element upon the element being read and for recording an indicating of the timestamp corresponding to the node containing the element at a time of the reading of thee element; and comparison means for comparing the timestamp of the node as indicated by the recorded indication thereof to a current timestamp which is presently assigned to the node, the comparison means performing the comparing just prior to reading a succeeding element of the read element, and the comparison means providing a search for a node currently containing the succeeding element if the current timestamp is different than the timestamp indicated by the recorded indication, and providing the succeeding element from the node containing the read element if the timestamp indicated by the recorded indication is equal to the current timestamp.
Claim 31
Dependent Claim
45 words
Apparatus as claimed in claim 27 wherein a node is considered to be modified by an insertion or deletion of an element, and considered to be deleted by a splitting of the node elements into two nodes or deleting all the elements of the node.
Claim 32
Dependent Claim
35 words
Apparatus as claimed in claim 27 wherein the second means include a cache memory for storing nodes which have most recently been modified and nodes which have most recently been deleted and corresponding current timestamps.
Claim 33
Dependent Claim
39 words
Apparatus as claimed in claim 29 wherein the comparison means compares a timestamp which was last discarded from the cache memory to the timestamp indicated by the recorded indication when the node is currently absent from the cache memory.
Claim 34
Dependent Claim
35 words
Apparatus as claimed in claim 29 wherein the comparison means compares a replaced timestamp in the cache memory for the current timestamp of a node when the node is currently absent from the cache memory.
Claim 35
Dependent Claim
38 words
Apparatus as claimed in claim 27 wherein the ordered nodes of the first means are linked in sequence by associated pointers, each pointer providing a location in the first means of a succeeding node to the associated node.
Claim 36
Dependent Claim
45 words
Apparatus as claimed in claim 27 further comprising node locking means for temporarily preventing a node from being modified during the time in which the comparison means compares the current timestamp and the timestamp indicated by the recorded indication and the succeeding element is read.
Claim 37
Dependent Claim
47 words
Apparatus as claimed in claim 27 further comprising search means for searching for a node currently containing the succeeding element, the search means determining a node currently containing the succeeding element by comparing a deletion timestamp of the node with a search timestamp established for the search.
Claim 38
Dependent Claim
25 words
Apparatus as claimed in claim 27 wherein deletion timestamps of nodes assigned by said second means enable the combining of nodes by a deletion operation.
Claim 39
Dependent Claim
130 words
In a computer system storing data filed of ordered elements, a method of searching for a given element in a data file of ordered elements while concurrently allowing the data file to be modified, the steps comprising: arranging the data file into a tree like structure having a plurality of nodes, each node containing an ordered subgroup of the ordered elements, the nodes linked to each other in order by associated pointers; assigning a deletion timestamp to a node each time it is split or deleted; beginning a search for a given element including establishing a search timestamp to provide an indication of the time t which the search began; and comparing a deletion timestamp of a node to the search timestamp before examining the node for the given element.
Claim 40
Dependent Claim
130 words
In a computer system storing data filed of ordered elements, a method of searching for a given element in a data file of ordered elements while concurrently allowing the data file to be modified, the steps comprising: arranging the data file into a tree like structure having a plurality of nodes, each node containing an ordered subgroup of the ordered elements, the nodes linked to each other in order by associated pointers; assigning a deletion timestamp to a node each time it is split or deleted; beginning a search for a given element including establishing a search timestamp to provide an indication of the time t which the search began; and comparing a deletion timestamp of a node to the search timestamp before examining the node for the given element.
Claim 41
Dependent Claim
26 words
A method as claimed in claim 36 further comprising the step of storing the most recently assigned deletion timestamps and respective nodes in a cache memory.
Claim 42
Dependent Claim
41 words
A method as claimed in claim 37 wherein the step of storing includes removing the least recent timestamp and respective node from the cache memory to provide room for an incoming timestamp and respective node when the cache memory is full.
Claim 43
Dependent Claim
35 words
A method as claimed in claim 38 wherein the step of comparing includes, for a node absent from the cache memory, comparing the search timestamp to a last removed deletion timestamp of the cache memory.
Claim 44
Dependent Claim
46 words
A method as claimed in claim 37 wherein the step of storing includes removing the least likely to be used deletion timestamp and respective node from the cache memory to provide room for an incoming deletion timestamp and respective node when the cache memory is full.
Claim 45
Dependent Claim
51 words
A method as claimed in claim 40 wherein the step of comparing includes, for a node absent from the cache memory, comparing the search timestamp to a previously removed deletion timestamp of the cache memory having the most recent deletion timestamp of all previously removed deletion timestamps of the cache memory.