Patent US7047386B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US7047386B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic partitioning of a reusable resource

Assignee: Oracle International Corp
•
Filing: 2001-05-31
•
Granted: 2006-05-16
•
Expires: 2021-05-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Techniques for managing changes in a computer system include storing, in a storage space, undo information for removing changes that are being made by entities. The undo information for each entity is stored in a segment of multiple segments within the storage space. Usage of the storage space by the entities is monitored. The number of segments in the plurality of segments or the sizes of the plurality of segments or both are adjusted automatically based on the usage. These techniques allow a resource to be recycled and allocated for new uses by other entities in a computer system dynamically based on usage. These techniques do not burden a human administrator with partitioning the resource and then penalize the administrator and users by generating errors when the partitions do not match usage.

Inventors

  • 👤 Gary Ngai
  • 👤 Amit Ganesh
  • 👤 Jonathan Klein
  • 👤 Sujatha Muthulingam

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 17:40
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F16/00; G06F16/20; G06F16/22; G06F16/2282; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 78
Claim 1
Independent Claim 181 words
A method for managing changes in a computer system, the method comprising the steps of: storing, in a storage space, undo information for removing changes that are being made to data by a plurality of entities, wherein application of the undo information returns the data to which the changes were made to a state of the data that existed prior to the changes, wherein the undo information for each entity of the plurality of entities is stored in a segment of a plurality of segments within said storage space; monitoring usage of the storage space by the entities; wherein each segment of the plurality of segments is a partition of said storage space, and is pre-allocated for storing undo information for entities to which that segment will be assigned; wherein said step of storing undo information includes at least assigning each entity to a segment for storing the undo information of the entity; and automatically adjusting at least one of the number of segments in the plurality of segments, and the sizes of the plurality of segments, based on the usage.
Claim 2
Independent Claim 181 words
A method for managing changes in a computer system, the method comprising the steps of: storing, in a storage space, undo information for removing changes that are being made to data by a plurality of entities, wherein application of the undo information returns the data to which the changes were made to a state of the data that existed prior to the changes, wherein the undo information for each entity of the plurality of entities is stored in a segment of a plurality of segments within said storage space; monitoring usage of the storage space by the entities; wherein each segment of the plurality of segments is a partition of said storage space, and is pre-allocated for storing undo information for entities to which that segment will be assigned; wherein said step of storing undo information includes at least assigning each entity to a segment for storing the undo information of the entity; and automatically adjusting at least one of the number of segments in the plurality of segments, and the sizes of the plurality of segments, based on the usage.
Claim 3
Dependent Claim 64 words
The method of claim 1 , said step of storing undo information further comprising the steps of: determining whether a first segment of the plurality of segments is not storing undo information for the plurality of entities; and if the first segment is not storing the undo information for the plurality of entities, storing undo information for a new entity in the first segment.
Claim 4
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2 .
Claim 5
Dependent Claim 61 words
The method of claim 1 , said step of automatically adjusting further comprising: determining based on the usage whether a first amount of the storage space allocated to a first segment is not currently used by the plurality of entities; and if the first amount is not currently used, associating a new entity with the first amount of the storage space.
Claim 6
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4 .
Claim 7
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1 .
Claim 8
Independent Claim 215 words
A method for managing changes in a computer system, the method comprising the steps of: storing, in a storage space, undo information for removing changes that are being made to data by a plurality of entities, wherein application of the undo information returns the data to which the changes were made to a state of the data that existed prior to the changes, wherein the undo information for each entity of the plurality of entities is stored in a segment of a plurality of segments within said storage space; wherein each segment of the plurality of segments is a partition of said storage space, and is pre-allocated for storing undo information for entities to which that segment will be assigned; monitoring usage of the storage space by the entities; and automatically adjusting at least one of the number of segments in the plurality of segments and the sizes of the plurality of segments based on the usage; wherein said step of monitoring usage further includes at least the step of monitoring usage in each period of time for a series of periods of time, and the step of automatically adjusting is based at least on a comparison between a usage of a first period of time and a usage of a second period of time.
Claim 9
Independent Claim 215 words
A method for managing changes in a computer system, the method comprising the steps of: storing, in a storage space, undo information for removing changes that are being made to data by a plurality of entities, wherein application of the undo information returns the data to which the changes were made to a state of the data that existed prior to the changes, wherein the undo information for each entity of the plurality of entities is stored in a segment of a plurality of segments within said storage space; wherein each segment of the plurality of segments is a partition of said storage space, and is pre-allocated for storing undo information for entities to which that segment will be assigned; monitoring usage of the storage space by the entities; and automatically adjusting at least one of the number of segments in the plurality of segments and the sizes of the plurality of segments based on the usage; wherein said step of monitoring usage further includes at least the step of monitoring usage in each period of time for a series of periods of time, and the step of automatically adjusting is based at least on a comparison between a usage of a first period of time and a usage of a second period of time.
Claim 10
Dependent Claim 72 words
The method of claim 7 , said step of automatically adjusting the plurality of segments further comprising the steps of: determining whether usage has decreased over a predetermined time based at least in part on the usage in one or more periods of time of the series of periods of time; and if usage has decreased over the predetermined time, then shrinking a sum of the sizes of the plurality of segments.
Claim 11
Dependent Claim 17 words
The method of claim 8 , said shrinking including deleting a segment from the plurality of segments.
Claim 12
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9 .
Claim 13
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8 .
Claim 14
Dependent Claim 115 words
The method of claim 7 , said step of automatically adjusting the plurality of segments further comprising the steps of: determining whether usage has decreased over a predetermined time based at least in part on the usage in one or more periods of time of the series of periods of time; and if usage has decreased over the predetermined time, then determining whether a first amount of storage space allocated to a first segment of the plurality of segments is being used by a first entity storing undo information in the first segment, and if the first amount is not being used by the first entity, then de-allocating the first amount from the first segment.
Claim 15
Dependent Claim 60 words
The method of claim 12 , said step of automatically adjusting the plurality of segments further comprising the steps of: determining whether de-allocating the first amount leaves an amount allocated to the first segment that is less than a predetermined minimum amount; and if de-allocating the first amount leaves less than the predetermined minimum amount, then deleting the first segment.
Claim 16
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 13 .
Claim 17
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12 .
Claim 18
Dependent Claim 33 words
The method of claim 7 said step of monitoring usage in each period of time further comprising the step of monitoring an amount of the undo information stored in each period of time.
Claim 19
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 16 .
Claim 20
Dependent Claim 32 words
The method of claim 7 , said step of monitoring usage in each period of time further comprising the step of monitoring a number of entities started in each period of time.
Claim 21
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 18 .
Claim 22
Dependent Claim 34 words
The method of claim 7 , said step of monitoring usage in each period of time further comprising the step of monitoring a maximum number of entities executing concurrently in each period of time.
Claim 23
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 20 .
Claim 24
Dependent Claim 55 words
The method of claim 7 , said step of monitoring usage in each period of time further comprising the step of monitoring a maximum duration in each period of time among durations of queries terminating during the period of time, said queries using at least some of the undo information stored in the storage space.
Claim 25
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 22 .
Claim 26
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7 .
Claim 27
Independent Claim 449 words
A method for managing changes in a computer system, the method comprising the steps of: storing, in a storage space, undo information for removing changes that are being made by a plurality of entities, wherein the undo information for each entity of the plurality of entities is stored in a segment of a plurality of segments within said storage space, and a first entity of the plurality of entities is associated with a first segment of the plurality of segments, and a set of one or more entities of the plurality of entities is alone associated with a second segment of the plurality of segments; monitoring usage of the storage space by the entities in each period of time for a series of periods of time; and automatically adjusting at least one of the number of segments in the plurality of segments and the sizes of the plurality of segments based on the usage, said step of automatically adjusting comprising: determining whether usage has decreased over a predetermined time based at least in part on the usage in one or more periods of time of the series of periods of time; if usage has decreased over the predetermined time, then shrinking a sum of the sizes of the plurality of segments; determining whether sufficient storage space is already allocated to the first segment for storing undo information included in a request from the first entity; and if it is determined that sufficient storage space is not already allocated to the first segment, then increasing the size of the first segment by allocating an additional amount of the storage space to the first segment, said step of allocating the additional amount comprising, determining whether the additional amount of the storage space is available in storage space not currently allocated to the plurality of segments, and if the additional amount of the storage space is available in storage space not currently allocated to the plurality of segments, then obtaining the additional amount of storage space from the storage space not currently allocated; and if the additional amount of the storage space is not available in storage space not currently allocated to the plurality of segments, then determining whether the additional amount of the storage space is currently allocated to the second segment of the plurality of segments and is not used by the set of one or more entities, and if the additional amount of the storage space is currently allocated to the second segment and is not used by the set, then obtaining the additional amount of storage space by de-allocating from the second segment the storage space currently allocated to the second segment and not used by the set.
Claim 28
Independent Claim 449 words
A method for managing changes in a computer system, the method comprising the steps of: storing, in a storage space, undo information for removing changes that are being made by a plurality of entities, wherein the undo information for each entity of the plurality of entities is stored in a segment of a plurality of segments within said storage space, and a first entity of the plurality of entities is associated with a first segment of the plurality of segments, and a set of one or more entities of the plurality of entities is alone associated with a second segment of the plurality of segments; monitoring usage of the storage space by the entities in each period of time for a series of periods of time; and automatically adjusting at least one of the number of segments in the plurality of segments and the sizes of the plurality of segments based on the usage, said step of automatically adjusting comprising: determining whether usage has decreased over a predetermined time based at least in part on the usage in one or more periods of time of the series of periods of time; if usage has decreased over the predetermined time, then shrinking a sum of the sizes of the plurality of segments; determining whether sufficient storage space is already allocated to the first segment for storing undo information included in a request from the first entity; and if it is determined that sufficient storage space is not already allocated to the first segment, then increasing the size of the first segment by allocating an additional amount of the storage space to the first segment, said step of allocating the additional amount comprising, determining whether the additional amount of the storage space is available in storage space not currently allocated to the plurality of segments, and if the additional amount of the storage space is available in storage space not currently allocated to the plurality of segments, then obtaining the additional amount of storage space from the storage space not currently allocated; and if the additional amount of the storage space is not available in storage space not currently allocated to the plurality of segments, then determining whether the additional amount of the storage space is currently allocated to the second segment of the plurality of segments and is not used by the set of one or more entities, and if the additional amount of the storage space is currently allocated to the second segment and is not used by the set, then obtaining the additional amount of storage space by de-allocating from the second segment the storage space currently allocated to the second segment and not used by the set.
Claim 29
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 25 .
Claim 30
Dependent Claim 117 words
A machine implemented method comprising the steps of: storing undo information for removing changes that are being made to data in a storage area that includes a plurality of segments, wherein application of the undo information returns the data to which the changes were made to a state of the data that existed prior to the changes; wherein each segment of the plurality of segments is a partition of said storage area, and is pre-allocated for storing undo information for entities to which that segment will be assigned; using each segment of the plurality of segments as a circular buffer; and automatically adjusting a size of the storage area based on usage of the plurality of segments.
Claim 31
Dependent Claim 117 words
A machine implemented method comprising the steps of: storing undo information for removing changes that are being made to data in a storage area that includes a plurality of segments, wherein application of the undo information returns the data to which the changes were made to a state of the data that existed prior to the changes; wherein each segment of the plurality of segments is a partition of said storage area, and is pre-allocated for storing undo information for entities to which that segment will be assigned; using each segment of the plurality of segments as a circular buffer; and automatically adjusting a size of the storage area based on usage of the plurality of segments.
Claim 32
Dependent Claim 41 words
The method of claim 27 , further comprising the steps of: establishing a maximum amount of the storage space area; and preventing a sum of the sizes of the plurality of segments from exceeding the maximum amount of the storage area.
Claim 33
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 28 .
Claim 34
Dependent Claim 67 words
The method of claim 27 , said step of automatically adjusting further comprising the steps of: determining whether first conditions are satisfied; and if the first conditions are satisfied, forming a new segment to store undo information for a new entity; wherein the first conditions include that at least a first amount of the storage area is not allocated to any segment of the plurality of segments.
Claim 35
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 30 .
Claim 36
Dependent Claim 67 words
The method of claim 27 , said step of automatically adjusting further comprising the steps of: determining whether first conditions are satisfied; and if the first conditions are satisfied, forming a new segment to store undo information for a new entity, wherein the first conditions include that every segment of the plurality of segments stores undo information for at least one entity of the plurality of entities.
Claim 37
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 32 .
Claim 38
Dependent Claim 63 words
The method of claim 27 , wherein: a first entity of a plurality of entities is associated with a first segment of the plurality of segments; and said step of automatically adjusting further comprises increasing a size of the first segment in response to a request from the first entity by allocating an additional amount of the storage space to the first segment.
Claim 39
Dependent Claim 66 words
The method of claim 34 , said step of automatically adjusting further comprising: determining whether sufficient storage space is already allocated to the first segment for storing undo information included in the request from the first entity; and if it is determined that sufficient storage space is not already allocated to the first segment, then performing said step of increasing the size of the first segment.
Claim 40
Dependent Claim 38 words
The method of claim 35 , wherein a sum of the additional amount and the storage space already allocated to the first segment is sufficient for storing the undo information included in the request from the first entity.
Claim 41
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 36 .
Claim 42
Dependent Claim 22 words
The method of claim 35 , wherein the additional amount is based on the storage space already allocated to the first segment.
Claim 43
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 38 .
Claim 44
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 35 .
Claim 45
Dependent Claim 18 words
The method of claim 34 , wherein the additional amount is selected from a plurality of predetermined amounts.
Claim 46
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 41 .
Claim 47
Dependent Claim 74 words
The method of claim 34 , said step of allocating the additional amount further comprising: determining whether the additional amount of the storage space is available in storage space not currently allocated to the plurality of segments; and if the additional amount of the storage space is available in storage space not currently allocated to the plurality of segments, then obtaining the additional amount of storage space from the storage space not currently allocated.
Claim 48
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 43 .
Claim 49
Dependent Claim 126 words
The method of claim 34 , wherein: a set of one or more entities of the plurality of entities is alone associated with a second segment of the plurality of segments; and said step of allocating the additional amount further comprises: determining whether the additional amount of the storage space is currently allocated to the second segment of the plurality of segments and is not used by the set of one or more entities; and if the additional amount of the storage space is currently allocated to the second segment and is not used by the set, then obtaining the additional amount of storage space by de-allocating from the second segment the storage space currently allocated to the second segment and not used by the set.
Claim 50
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 45 .
Claim 51
Dependent Claim 17 words
The method of claim 34 , wherein the additional amount is an extent of contiguous storage space.
Claim 52
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 47 .
Claim 53
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 34 .
Claim 54
Dependent Claim 52 words
The method of claim 27 , the step of automatically adjusting further comprising the steps of: allocating unused amounts of storage space to the plurality of segments in response to receiving undo information from the plurality of entities; and de-allocating unused amounts of the storage space from the plurality of segments periodically.
Claim 55
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 50 .
Claim 56
Dependent Claim 24 words
The method of claim 27 wherein the step of automatically adjusting is performed by at least adding a segment to the plurality of segments.
Claim 57
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 52 .
Claim 58
Dependent Claim 29 words
The method of claim 27 , wherein the step of automatically adjusting is performed by at least increasing a size of at least one of the plurality of segments.
Claim 59
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 54 .
Claim 60
Dependent Claim 43 words
The method of claim 27 , wherein the step of automatically adjusting includes at least de-allocating storage space in one segment of the plurality of segments, wherein the one segment includes other storage space that is being used by one or more entities.
Claim 61
Dependent Claim 43 words
The method of claim 56 , further comprising the step of determining that the storage space is no longer being used by the one of the plurality of segments; wherein the step of de-allocating is performed in response to the step of determining.
Claim 62
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 57 .
Claim 63
Dependent Claim 27 words
The method of claim 56 , wherein the step of automatically adjusting further includes at least allocating the storage space to another of the plurality of segments.
Claim 64
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 59 .
Claim 65
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 56 .
Claim 66
Dependent Claim 25 words
The method of claim 27 , further comprising assigning one or more entities to a segment based on the usage of the plurality of segments.
Claim 67
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 62 .
Claim 68
Dependent Claim 19 words
The method of claim 27 further comprising collecting statistical information to determine the usage of the plurality of segments.
Claim 69
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 64 .
Claim 70
Dependent Claim 19 words
The method of claim 27 , further comprising storing information associated with the usage of the plurality of segments.
Claim 71
Dependent Claim 18 words
The method of claim 66 , wherein the information associated with the usage is stored in an array.
Claim 72
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 67 .
Claim 73
Dependent Claim 19 words
The method of claim 66 , wherein the storing of the information associated with the usage is performed periodically.
Claim 74
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 69 .
Claim 75
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 66 .
Claim 76
Dependent Claim 49 words
The method of claim 27 , wherein the plurality of segments includes more than two segments, and the method further comprises the step determining the usage of each the plurality of segments; and assigning an entity to one of the plurality of segments based on the step of determining.
Claim 77
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 72 .
Claim 78
Dependent Claim 34 words
A tangible computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 27 .

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-05-15 2009-11-14 2010-05-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-05-15 2013-11-14 2014-05-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-05-15 2017-11-14 2018-05-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag