Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
220 words
A method of garbage collection in a computer system having storage means containing a plurality of memory cells, at least some of which contain pointers to others of the cells thereby defining a directed graph structure in which each cell represents a node of the graph, wherein the method comprises steps as follows: (a) each pointer is provided with a variable weight value, (b) each cell is provided with a variable reference count value, (c) whenever a cell is allocated in the storage means, the reference count of the cell is initially set to a predetermined value and the weights of any pointers to that cell are set to non-zero values such that the sum of those weights (or the weight if there is only one such pointer) is equal to the reference count of that cell, (d) whenever a new pointer to a cell is created by copying an existing pointer, the new pointer and the existing pointer are given non-zero weight values whose sum equals the old weight value of the existing pointer, but the reference count of the cell is unaltered, (e) whenever a pointer is destroyed, the reference count of the cell to which the pointer points is reduced by the weight of that pointer, (f) and cells with reference count equal to zero are reclaimed.
Claim 2
Dependent Claim
59 words
A method according to claim 1 wherein the weight of each pointer is a power of two, and wherein, whenever a pointer is created by copying an existing pointer of weight greater than one, the weight of the existing pointer is divided by two and the result is stored as the weight value of the new and existing pointers.
Claim 3
Dependent Claim
28 words
A method according to claim 2 wherein the weight of each pointer is encoded in a compressed form as the logarithm to the base two of the weight.
Claim 4
Dependent Claim
81 words
A method according to claim 3 wherein, whenever a pointer is to be created by copying an existing pointer of weight equal to one, a dummy cell is created into which the existing pointer is copied along with its weight, the dummy cell is given a reference count greater than one, and the new and existing pointers are both made to point to this dummy cell, and are given non-zero weights whose sum equals the reference count of the dummy cell.
Claim 5
Dependent Claim
16 words
A method according to claim 3 in which the system is a multi-processor distributed computer system.
Claim 6
Dependent Claim
81 words
A method according to claim 2 wherein, whenever a pointer is to be created by copying an existing pointer of weight equal to one, a dummy cell is created into which the existing pointer is copied along with its weight, the dummy cell is given a reference count greater than one, and the new and existing pointers are both made to point to this dummy cell, and are given non-zero weights whose sum equals the reference count of the dummy cell.
Claim 7
Dependent Claim
16 words
A method according to claim 2 in which the system is a multi-processor distributed computer system.
Claim 8
Dependent Claim
81 words
A method according to claim 1 wherein, whenever a pointer is to be created by copying an existing pointer of weight equal to one, a dummy cell is created into which the existing pointer is copied along with its weight, the dummy cell is given a reference count greater than one, and the new and existing pointers are both made to point to this dummy cell, and are given non-zero weights whose sum equals the reference count of the dummy cell.
Claim 9
Dependent Claim
17 words
A method according to claim 8 in which the computer system is a multiple-processor distributed computer system.
Claim 10
Dependent Claim
17 words
A method according to claim 1 in which the computer system is a multi-processor distributed computer system.