Claims Analysis
Total Claims: 45
Claim 1
Independent Claim
151 words
A method of memory management comprising the steps of: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 2
Independent Claim
151 words
A method of memory management comprising the steps of: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 3
Dependent Claim
28 words
The method of claim 1 , wherein said second designated region contains two said second sub-regions, each said second sub-region containing only holes and adjoining said first sub-region.
Claim 4
Dependent Claim
15 words
The method of claim 1 , wherein said memory comprises a content addressable memory (CAM).
Claim 5
Dependent Claim
16 words
The method of claim 1 , wherein said memory comprises a ternary content addressable memory (TCAM).
Claim 6
Dependent Claim
63 words
The method of claim 1 , wherein said equalizing further comprises: moving one of said used entries from an end of said first contiguous sub-region to a hole created by said deleting within said first contiguous sub-region; or adjusting the boundaries of said region to maintain a relatively equal distribution of holes in said region with respect to at least one adjoining region.
Claim 7
Dependent Claim
19 words
The method of claim 1 , wherein said first designated region is the contiguous region having the most holes.
Claim 8
Dependent Claim
53 words
The method of claim 1 , wherein said equalizing further comprises: computing the difference in number of said holes between each said contiguous region i and the next adjoining region ((i+1) modulo (the number of said plurality of contiguous regions)); and designating said first designated region based on having the most said difference.
Claim 9
Dependent Claim
185 words
The method of claim 1 , wherein said equalizing further comprises: further dividing said plurality of contiguous regions into a lower group and an upper group, wherein said first group consists of all contiguous regions from said lowest region up to and including said second designated region and said second group consists of all other regions; computing an average number of holes in said lower group and said upper group respectively; determining if said average number of holes in said lower group is larger than said average number of holes in said upper group, the result of said determining forming a first Boolean; next determining if the number of holes in said second designated region is larger than the number of holes in the next higher region; wherein said next higher region is said lowest region when said second designated region is said highest region, the result of said next determining forming a second Boolean; if said first Boolean is logically equal to said second Boolean, equalizing said second designated region; and incrementing said second designated region to point to said next higher contiguous region.
Claim 10
Dependent Claim
152 words
A computer system for memory management, comprising computer instructions for: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 11
Dependent Claim
152 words
A computer system for memory management, comprising computer instructions for: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 12
Dependent Claim
29 words
The computer system of claim 9 , wherein said second designated region contains two said second sub-regions, each said second sub-region containing only holes and adjoining said first sub-region.
Claim 13
Dependent Claim
16 words
The computer system of claim 9 , wherein said memory comprises a content addressable memory (CAM).
Claim 14
Dependent Claim
17 words
The computer system of claim 9 , wherein said memory comprises a ternary content addressable memory (TCAM).
Claim 15
Dependent Claim
64 words
The computer system of claim 9 , wherein said equalizing further comprises: moving one of said used entries from an end of said first contiguous sub-region to a hole created by said deleting within said first contiguous sub-region; or adjusting the boundaries of said region to maintain a relatively equal distribution of holes in said region with respect to at least one adjoining region.
Claim 16
Dependent Claim
20 words
The computer system of claim 9 , wherein said first designated region is the contiguous region having the most holes.
Claim 17
Dependent Claim
54 words
The computer system of claim 9 , wherein said equalizing further comprises: computing the difference in number of said holes between each said contiguous region i and the next adjoining region ((i+1) modulo (the number of said plurality of contiguous regions)); and designating said first designated region based on having the most said difference.
Claim 18
Dependent Claim
186 words
The computer system of claim 9 , wherein said equalizing further comprises: further dividing said plurality of contiguous regions into a lower group and an upper group, wherein said first group consists of all contiguous regions from said lowest region up to and including said second designated region and said second group consists of all other regions; computing an average number of holes in said lower group and said upper group respectively; determining if said average number of holes in said lower group is larger than said average number of holes in said upper group, the result of said determining forming a first Boolcan; next determining if the number of holes in said second designated region is larger than the number of holes in the next higher region; wherein said next higher region is said lowest region when said second designated region is said highest region, the result of said next determining forming a second Boolean; if said first Boolean is logically equal to said second Boolean, equalizing said second designated region; and incrementing said second designated region to point to said next higher contiguous region.
Claim 19
Dependent Claim
162 words
A computer system comprising a processor, a memory, and a network interface, said processor configured to perform the steps of: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 20
Dependent Claim
162 words
A computer system comprising a processor, a memory, and a network interface, said processor configured to perform the steps of: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 21
Dependent Claim
29 words
The computer system of claim 17 , wherein said second designated region contains two said second sub-regions, each said second sub-region containing only holes and adjoining said first sub-region.
Claim 22
Dependent Claim
16 words
The computer system of claim 17 , wherein said memory comprises a content addressable memory (CAM).
Claim 23
Dependent Claim
17 words
The computer system of claim 17 , wherein said memory comprises a ternary content addressable memory (TCAM).
Claim 24
Dependent Claim
64 words
The computer system of claim 17 , wherein said equalizing further comprises: moving one of said used entries from an end of said first contiguous sub-region to a hole created by said deleting within said first contiguous sub-region; or adjusting the boundaries of said region to maintain a relatively equal distribution of holes in said region with respect to at least one adjoining region.
Claim 25
Dependent Claim
20 words
The computer system of claim 17 , wherein said first designated region is the contiguous region having the most holes.
Claim 26
Dependent Claim
54 words
The computer system of claim 17 , wherein said equalizing further comprises: computing the difference in number of said holes between each said contiguous region i and the next adjoining region ((i+1) modulo (the number of said plurality of contiguous regions)); and designating said first designated region based on having the most said difference.
Claim 27
Dependent Claim
186 words
The computer system of claim 17 , wherein said equalizing further comprises: further dividing said plurality of contiguous regions into a lower group and an upper group, wherein said first group consists of all contiguous regions from said lowest region up to and including said second designated region and said second group consists of all other regions; computing an average number of holes in said lower group and said upper group respectively; determining if said average number of holes in said lower group is larger than said average number of holes in said upper group, the result of said determining forming a first Boolean; next determining if the number of holes in said second designated region is larger than the number of holes in the next higher region; wherein said next higher region is said lowest region when said second designated region is said highest region, the result of said next determining forming a second Boolean; if said first Boolean is logically equal to said second Boolean, equalizing said second designated region; and incrementing said second designated region to point to said next higher contiguous region.
Claim 28
Dependent Claim
150 words
A computer-readable storage medium, comprising computer instructions for: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 29
Dependent Claim
150 words
A computer-readable storage medium, comprising computer instructions for: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 30
Dependent Claim
30 words
The computer-readable storage medium of claim 25 , wherein said second designated region contains two said second sub-regions, each said second sub-region containing only holes and adjoining said first sub-region.
Claim 31
Dependent Claim
17 words
The computer-readable storage medium of claim 25 , wherein said memory comprises a content addressable memory (CAM).
Claim 32
Dependent Claim
18 words
The computer-readable storage medium of claim 25 , wherein said memory comprises a ternary content addressable memory (TCAM).
Claim 33
Dependent Claim
65 words
The computer-readable storage medium of claim 25 , wherein said equalizing further comprises: moving one of said used entries from an end of said first contiguous sub-region to a hole created by said deleting within said first contiguous sub-region; or adjusting the boundaries of said region to maintain a relatively equal distribution of holes in said region with respect to at least one adjoining region.
Claim 34
Dependent Claim
21 words
The computer-readable storage medium of claim 25 , wherein said first designated region is the contiguous region having the most holes.
Claim 35
Dependent Claim
55 words
The computer-readable storage medium of claim 25 , wherein said equalizing further comprises: computing the difference in number of said holes between each said contiguous region i and the next adjoining region ((i+1) modulo (the number of said plurality of contiguous regions)); and designating said first designated region based on having the most said difference.
Claim 36
Dependent Claim
187 words
The computer-readable storage medium of claim 25 , wherein said equalizing further comprises: further dividing said plurality of contiguous regions into a lower group and an upper group, wherein said first group consists of all contiguous regions from said lowest region up to and including said second designated region and said second group consists of all other regions; computing an average number of holes in said lower group and said upper group respectively; determining if said average number of holes in said lower group is larger than said average number of holes in said upper group, the result of said determining forming a first Boolean; next determining if the number of holes in said second designated region is larger than the number of holes in the next higher region; wherein said next higher region is said lowest region when said second designated region is said highest region, the result of said next determining forming a second Boolean; if said first Boolean is logically equal to said second Boolean, equalizing said second designated region; and incrementing said second designated region to point to said next higher contiguous region.
Claim 37
Dependent Claim
155 words
A computer data signal embodied in a carrier wave, comprising computer instructions for: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 38
Dependent Claim
155 words
A computer data signal embodied in a carrier wave, comprising computer instructions for: dividing a memory into a plurality of contiguous regions ordered from the lowest to the highest, each said region composed of a plurality of entries, wherein each said entry is either a used entry or a hole; iteratively: equalizing a first designated region to maintain all used entries in a first contiguous sub-region adjoining a second contiguous sub-region containing all holes; when commanded inserting a value in one of said entries in a second designated region, said second designated region being any one of said plurality of contiguous regions, wherein said inserting further comprises: if said second designated region lacks a hole, expanding said second designated region by moving one of said holes from an adjoining region; and writing said value in a hole in said second designated region; and deleting a used entry by converting said used entry into a hole.
Claim 39
Dependent Claim
30 words
The computer data signal of claim 33 , wherein said second designated region contains two said second sub-regions, each said second sub-region containing only holes and adjoining said first sub-region.
Claim 40
Dependent Claim
17 words
The computer data signal of claim 33 , wherein said memory comprises a content addressable memory (CAM).
Claim 41
Dependent Claim
18 words
The computer data signal of claim 33 , wherein said memory comprises a ternary content addressable memory (TCAM).
Claim 42
Dependent Claim
65 words
The computer data signal of claim 33 , wherein said equalizing further comprises: moving one of said used entries from an end of said first contiguous sub-region to a hole created by said deleting within said first contiguous sub-region; or adjusting the boundaries of said region to maintain a relatively equal distribution of holes in said region with respect to at least one adjoining region.
Claim 43
Dependent Claim
21 words
The computer data signal of claim 33 , wherein said first designated region is the contiguous region having the most holes.
Claim 44
Dependent Claim
55 words
The computer data signal of claim 33 , wherein said equalizing further comprises: computing the difference in number of said holes between each said contiguous region i and the next adjoining region ((i+1) modulo (the number of said plurality of contiguous regions)); and designating said first designated region based on having the most said difference.
Claim 45
Dependent Claim
187 words
The computer data signal of claim 33 , wherein said equalizing further comprises: further dividing said plurality of contiguous regions into a lower group and an upper group, wherein said first group consists of all contiguous regions from said lowest region up to and including said second designated region and said second group consists of all other regions; computing an average number of holes in said lower group and said upper group respectively; determining if said average number of holes in said lower group is larger than said average number of holes in said upper group, the result of said determining forming a first Boolean; next determining if the number of holes in said second designated region is larger than the number of holes in the next higher region; wherein said next higher region is said lowest region when said second designated region is said highest region, the result of said next determining forming a second Boolean; if said first Boolean is logically equal to said second Boolean, equalizing said second designated region; and incrementing said second designated region to point to said next higher contiguous region.