U.S. patent application number 10/248462 was filed with the patent office on 2003-11-27 for automatic deletion in data storage management.
This patent application is currently assigned to COLUMBIA DATA PRODUCTS, INC.. Invention is credited to Cross, Donald D., Green, Robbie A., McFadden, Brian M., Witt, Louis P. JR., Zhang, Kai.
Application Number | 20030220949 10/248462 |
Document ID | / |
Family ID | 29552911 |
Filed Date | 2003-11-27 |
United States Patent
Application |
20030220949 |
Kind Code |
A1 |
Witt, Louis P. JR. ; et
al. |
November 27, 2003 |
AUTOMATIC DELETION IN DATA STORAGE MANAGEMENT
Abstract
A method of managing the recordation of data sets to a finite
data storage medium, each respective data set having associated
therewith a time of creation and a preservation weight from a range
of allowable preservation weights, comprises detecting that the
finite data storage medium has reached or exceeded its effective
capacity; for all data sets currently stored in the finite data
storage medium, successively deleting each respective data set with
the lowest preservation weight and earliest time of creation until
the finite data storage medium is below a threshold capacity; and
once below the threshold capacity, recording a new data set to the
finite data storage medium. In a further aspect, when all data sets
remaining in the data storage medium are identified as permanent
and the data storage medium is still at or above its effective
capacity, an error message is returned and no new data set is
recorded. In a further aspect, a method of managing groups of data
sets comprises associating a new data set to a predetermined group,
recording the new data set to the finite data storage medium; and
if the number of data sets stored in the finite data storage medium
and associated with the predetermined group exceeds a maximum
value, deleting the oldest data set of the predetermined group.
Inventors: |
Witt, Louis P. JR.;
(Orlando, FL) ; Green, Robbie A.; (Apopka, FL)
; Cross, Donald D.; (Geneva, FL) ; McFadden, Brian
M.; (Altamonte Springs, FL) ; Zhang, Kai;
(Orlando, FL) |
Correspondence
Address: |
MORRIS, MANNING & MARTIN LLP
6000 FAIRVIEW ROAD
SUITE 1125
CHARLOTTE
NC
28210
US
|
Assignee: |
COLUMBIA DATA PRODUCTS,
INC.
925 Sunshine Lane Suite 1080
Altamonte Springs
FL
|
Family ID: |
29552911 |
Appl. No.: |
10/248462 |
Filed: |
January 21, 2003 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60350434 |
Jan 22, 2002 |
|
|
|
Current U.S.
Class: |
1/1 ;
707/999.204 |
Current CPC
Class: |
G06F 11/1451 20130101;
G06F 2201/84 20130101; G06F 12/023 20130101; G06F 11/1446
20130101 |
Class at
Publication: |
707/204 |
International
Class: |
G06F 012/00 |
Claims
1. A method of managing the recordation of data sets to a finite
data storage medium, each respective data set having associated
therewith a time of creation and a preservation weight from a range
of allowable preservation weights, comprising the steps of:
detecting that the finite data storage medium has reached or
exceeded a first capacity; for all data sets currently stored in
the finite data storage medium, successively deleting each
respective data set with the lowest preservation weight and
earliest time of creation until the finite data storage medium is
below a second capacity; and once below the second capacity,
recording a new data set to the finite data storage medium.
2. The method of claim 1 wherein the second capacity is the same as
or less than the first capacity of the finite data storage
medium.
3. The method of claim 1 wherein the first capacity is the
effective capacity of the finite data storage medium.
4. The method of claim 3 wherein the effective capacity is
approximately 90% of the maximum capacity of the finite data
storage medium.
5. The method of claim 1 wherein the second capacity is the
threshold capacity of the finite data storage medium.
6. The method of claim 1 further comprising the step of sorting all
data sets currently stored in the finite data storage medium by
preservation weights and then, within each grouping of respective
preservation weights, by time of creation.
7. The method of claim 1 wherein the new data set is assigned to a
group of data sets and wherein all data sets within each respective
group has a predetermined preservation weight.
8. The method of claim 1 wherein data sets with the highest
allowable preservation weight are identified as permanent.
9. The method of claim 8 further comprising the step of returning
an error message if all data sets currently stored in the finite
storage medium are identified as permanent and the finite data
storage medium has reached or exceeded the first capacity.
10. The method of claim 9 wherein the error message is a
notification to a system administrator.
11. The method of claim 9 wherein, if all data sets currently
stored in the finite storage medium are identified as permanent and
the finite data storage medium has reached or exceeded the first
capacity, further comprising the step of re-designating at least
one permanent data set as non-permanent.
12. The method of claim 1 wherein the step of deleting comprises
removing each respective data set from the finite data storage
medium.
13. The method of claim 1 wherein the step of deleting comprises
making each respective data set capable of being overwritten.
14. A computer-readable medium having computer-readable
instructions for performing the method of claim 1.
15. A method of managing groups of data sets recorded to a finite
data storage medium, each respective data set having a time of
creation, comprising the steps of: associating a new data set to a
predetermined group, each predetermined group having a maximum
number of allowed data sets associated therewith; recording the new
data set to the finite data storage medium; counting the number of
data sets stored in the finite data storage medium and associated
with the predetermined group; and if the number of data sets stored
in the finite data storage medium and associated with the
predetermined group exceeds the maximum number, deleting the oldest
data set associated with the predetermined group.
16. The method of claim 15 wherein the step of deleting comprises
removing each respective data set from the finite data storage
medium.
17. The method of claim 15 wherein the step of deleting comprises
making each respective data set capable of being overwritten.
18. The method of claim 15 wherein the finite data storage medium
is associated with a computer system and wherein the maximum number
of allowed data sets associated with the predetermined group is set
by a user of the computer system.
19. The method of claim 15 wherein the finite data storage medium
is associated with a computer system and wherein the maximum number
of allowed data sets associated with the predetermined group is set
by an administrator of the computer system.
20. The method of claim 15 wherein maximum number of allowed data
sets associated with the predetermined group is set to a default
number.
21. The method of claim 15 wherein the step of recording the new
data set occurs after the step of counting.
22. The method of claim 15 wherein the step of recording the new
data set occurs after the step of deleting the oldest data set of
the predetermined group.
23. The method of claim 15 wherein the step of associating
comprises associating the new data set to a plurality of
predetermined groups.
24. The method of claim 15 wherein the predetermined group to which
the new data set is associated is determined based on its time of
creation.
25. The method of claim 15 wherein the predetermined group to which
the new data set is associated is determined based on a type of
data it contains.
26. The method of claim 15 wherein the finite data storage medium
is associated with a computer system and wherein the predetermined
group to which the new data set is associated is determined by a
user of the computer system.
27. The method of claim 15 wherein the finite data storage medium
is associated with a computer system and wherein the predetermined
group to which the new data set is associated is determined by an
administrator of the computer system.
28. The method of claim 15 wherein the predetermined group to which
the new data set is associated is determined by default.
29. A computer-readable medium having computer-readable
instructions for performing the method of claim 15.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. .sctn.
119(e) of U.S. provisional patent application No. 60/350,434,
titled, "Persistent Snapshot Management System," filed Jan. 22,
2002, which is incorporated herein by reference.
BACKGROUND OF INVENTION
[0002] The present invention relates generally to computer data
storage systems and, more particularly, to online methods and
systems for managing archived data stored in a finite data storage
medium.
[0003] There are numerous types of systems for making backup copies
of data generated by and stored in memory (temporary or permanent)
of a computer. Such systems are useful and provide a means for
recovering archived data in case the principle data is lost or
corrupted--as could happen if the primary storage medium, such as a
hard drive, crashes, is physically damaged, or infected by a
computer virus. Typically, magnetic computer tapes or optical disks
are used to store backup copies of large amounts of data, as is
often associated with computer network systems. For archival
purposes, such backups are generally recorded on a periodic basis,
such as (i) at the end of each day; (ii) at the end of each week;
(iii) at the end of each month; and (iv) at the end of each year.
Each backup tape or disk can be maintained in storage indefinitely
or, to minimize costs, such tapes or disks can be reused on a
rolling basis (if they rewriteable) or destroyed (if they are not
rewriteable and physical storage space for the backups is limited)
with the oldest tape or disk being recorded over or destroyed.
[0004] At the individual computer level, many computer programs or
operating systems allow backups or temporary copies of files to be
saved periodically to enable the user to recover a file upon which
he is working if the working copy of the file becomes corrupted or
lost, as could happen, for example, during a power outage or by
user error. Such files are saved to the hard drive of the computer,
onto a floppy disk, burned into a CD or DVD read/write disk, or to
any other comparable finite data storage medium. Typically, because
of space limitations on such finite data storage medium, only the
most recent backup is maintained, with the previous backup being
overwritten each time the working file or data is backed-up.
[0005] Thus, there exists a need for a system by which multiple
backups or historical copies of the same data, file, directory,
volume, or drive may be maintained on a single data storage medium
as long as sufficient space exists on the particular data storage
medium for maintaining such backups or copies. One computer system,
such as that described in the provisional U.S. patent application
incorporated herein by reference, enables computer servers and
personal computers to maintain multiple "point-in-time snapshots"
of data (as opposed to backup copies of the data) on a computer
storage medium. By recording only modifications made to the
underlying data, this system minimizes the amount of data that must
be recorded as part of the snapshot data and, likewise, reduces the
likelihood that the available capacity of the data storage medium
will be used.
[0006] Nevertheless, with any system that maintains multiple backup
copies of data or snapshots of data in a single and finite data
storage medium, at some point, the allocated portion of the finite
storage medium dedicated to such backups or snapshots will
ultimately be reached. For purposes of this invention and the
disclosure hereinafter, the term "data set" shall be used to refer
to backup copies of data, snapshots of data, and to any other
grouping of data, whether for purposes of backup or for snapshot,
and whether the data is actually organized as a loose grouping of
associated information, as a file, as a grouping of files, as a
directory, as a volume or portion of a hard drive or other primary
storage medium, or as a hard drive or other primary storage medium
in its entirety.
[0007] Thus, there exists a need for methods and systems for
managing the recordation of data sets to a finite data storage
medium such that the more desirable data sets are recorded or
maintained in the finite data storage medium at the expense of less
desirable data sets. Such determinations of desirability of data
sets must be made when the usable capacity of the finite data
storage medium is reached, for example, or when the maximum number
of data sets that can be permissibly associated with a particular
group of related data sets has been reached or exceeded.
[0008] The present invention meets one or more of the
above-referenced needs as described herein in greater detail.
SUMMARY OF INVENTION
[0009] The present invention relates generally to computer data
storage systems and, more particularly, to online methods and
systems for managing the recordation of data sets to a finite data
storage medium.
[0010] Briefly described, aspects of the present invention include
the following.
[0011] In a first aspect of the present invention, a method of
managing the recordation of data sets to a finite data storage
medium, each respective data set having associated therewith a time
of creation and a preservation weight from a range of allowable
preservation weights, comprises the steps of detecting that the
finite data storage medium has reached or exceeded its effective
capacity; for all data sets currently stored in the finite data
storage medium, successively deleting each respective data set with
the lowest preservation weight and earliest time of creation until
the finite data storage medium is below a threshold capacity; and
once below the threshold capacity, recording a new data set to the
data storage medium.
[0012] In a further feature, the "effective capacity" of the finite
data storage medium is established to mean when the data storage
medium is at approximately 90% of its maximum capacity.
[0013] Preferably, the threshold capacity is the same as or less
than the effective capacity.
[0014] In yet another feature, the first aspect of the present
invention further comprises the step of sorting all data sets
currently stored in the finite data storage medium by preservation
weight and then, within each grouping of respective preservation
weights, by its time of creation.
[0015] In another feature, the new data set is assigned to a group
of data sets and all data sets within each respective group has a
predetermined preservation weight.
[0016] In a further feature, data sets with the highest allowable
preservation weight are identified as permanent (i.e.,
non-deleteable). Additionally, the first aspect of the present
invention further comprises the step of returning an error message
or indication if all data sets currently stored in the finite
storage medium are identified as permanent and the finite data
storage medium is at or above its effective capacity. Such error
message or indication is a notification to the system
administrator, a determination that no new data sets may be
recorded to the finite data storage medium, or causing the system
to crash or go to a blue screen. Alternatively, data sets with the
highest preservation weight are re-identified as "highest priority
but deleteable" rather than "permanent," which enables such data
sets to be deleted as necessary without causing the system to crash
or cease recording new data sets.
[0017] In another feature, the step of deleting comprises removing
each respective data set from the finite data storage medium or
making each respective data set capable of being overwritten.
[0018] In a second aspect of the present invention, a method of
managing groups of data sets recorded to a finite data storage
medium, each respective data set having a time of creation,
comprising the steps of associating a new data set to a
predetermined group, each predetermined group having a maximum
number of allowed data sets associated therewith; recording the new
data set to the finite data storage medium; counting the number of
data sets stored in the finite data storage medium and associated
with the predetermined group; and if the number of data sets stored
in the finite data storage medium and associated with the
predetermined group exceeds the maximum number, deleting the oldest
data set of the predetermined group.
[0019] In a feature of this second aspect, the step of deleting
comprises removing each respective data set from the finite data
storage medium or making each respective data set capable of being
overwritten.
[0020] In another feature the finite data storage medium is
associated with a computer system and the maximum number of allowed
data sets associated with the predetermined group is set by a user
or administrator of the computer system. Alternatively, the maximum
number of allowed data sets associated with the predetermined group
is set to a default number.
[0021] In yet another feature, the step of recording the new data
set occurs either before or after the step of counting or, in some
situations, after the step of deleting the oldest data set of the
predetermined group.
[0022] In another feature, the step of associating comprises
associating the new data set to a plurality of predetermined
groups.
[0023] Additionally, in another feature, the predetermined group to
which the new data set is associated is determined based on its
time of creation and/or the type of data it contains.
[0024] In a further feature the finite data storage medium is
associated with a computer system and the predetermined group to
which the new data set is associated is determined by a user or
administrator of the computer system.
[0025] The present invention also may encompass computer-readable
media having computer-executable instructions therein for
performing methods of the present invention, and computer networks
that implement the methods of the present invention.
[0026] Although the preferred operating environment of the present
invention is a conventional computer or server with access to a
finite data storage medium, such as a hard drive, it should be
understood that the present invention can likewise be implemented
in any electronic device or computer system in which data is
archived, copied, or stored for backup or later retrieval
purposes.
[0027] Features of the present invention are disclosed and will
become apparent from the following description of preferred
embodiments of the present invention.
BRIEF DESCRIPTION OF DRAWINGS
[0028] Further features and benefits of the present invention will
be apparent from a detailed description of preferred embodiments
thereof taken in conjunction with the following drawings, wherein
similar elements are referred to with similar reference numbers,
and wherein:
[0029] FIG. 1 is an overview of a preferred system of the present
invention;
[0030] FIG. 2 is an overview of another preferred system of the
present invention;
[0031] FIG. 3 is a flowchart of first preferred method of the
present invention;
[0032] FIG. 4 is a flowchart of a function of the preferred method
of FIG. 3;
[0033] FIG. 5 is an alternative flowchart of the function described
in FIG. 4; and
[0034] FIG. 6 is a flowchart of a second preferred method of the
present invention.
DETAILED DESCRIPTION
[0035] Turning first to FIG. 1, a preferred computer system 100 for
implementing the methods of the present invention is illustrated.
This computer system 100 comprises a finite data storage medium
110. The finite data storage medium 110 is typically a hard drive
or hard disk, a floppy disk, a magnetic tape, a CD, DVD, and any
other optical/laser read/write disk, or any other device or medium
to which computer data is capable of being written and from which
data is capable of being read or retrieved. As shown, a percentage
or portion 112 of the data storage medium 110 is dedicated to
storage of backup or snapshot data sets with the remaining portion
114 of the storage medium 110 available for storage of primary or
current data. The system 100 further comprises a central processor
120, which contains the operating system of the computer system 100
and which interacts with other peripheral devices (not shown) of a
conventional computer system, such as user or data interfaces (e.g.
terminals, monitors, keyboards, mouse(s), scanners), output devices
(e.g., printers), and I/O devices (e.g. modems). The central
processor 120 interacts with the finite data storage medium 110 by
means of a data manager 130. The data manager 130 comprises
software and/or hardware for managing the transfer of data between
the processor 120 and the finite data storage medium 110 and for
controlling the recordation and deletion of data to the finite data
storage medium 110.
[0036] Turning briefly to FIG. 2, an alternative computer system
200 for implementing the methods of the present invention is
illustrated. This computer system 200, which also comprises a
conventional processor 220 and conventional peripheral devices (not
shown), is essentially identical to the computer system 100 of FIG.
1; however, it comprises two separate finite data storage media
210, 240. The first finite data storage medium 210 is dedicated to
the storage of the primary or current data. While the other,
separate finite data storage medium 240 is dedicated to the storage
of the backup or snapshot data sets. The central processor 220
interacts with both finite data storage media 210, 240 by means of
a data manager 230. The data manager 230 comprises software and/or
hardware for managing the transfer of data between the processor
120 and both storage media 210, 240 and for controlling the
recordation and deletion of data to both storage media 210,
240.
[0037] Regardless of whether data sets are being recorded to or
deleted from the dedicated portion 112 of the particular finite
data storage medium 110, as shown in FIG. 1, or to the dedicated
finite storage medium 240 as a whole, as shown in FIG. 2, for
performance reasons and, in some cases, to prevent system failure,
it is necessary to ensure that 100% capacity ("maximum capacity")
of the data storage space available for or allotted to the data
sets is not reached. Preferably, for conventional finite data
storage media, no more than 90% of the capacity ("effective
capacity") of the available data storage space should be used. To
continue recording data sets to a finite data storage medium that
has reached or exceeded its effective capacity, there must be a
system and methodology in place to determine what data sets are
recorded, what data sets are kept, and what data sets are deleted
or overwritten.
[0038] Turning now to FIG. 3, a method 300 for managing the
recordation of data sets to a finite data storage medium is
illustrated. First, the system captures (Step 310) or obtains (if
captured by an external component and merely provided to the
system) a new data set for potential recordation into the finite
data storage medium. The time of creation of the new data set is
then assigned (Step 320) or obtained (again, if provided by an
external component that already assigned a time of creation at the
time of capture) by the system. A preservation weight is then
associated (Step 330) with the new data set.
[0039] The value of the preservation weight is preferably within a
predetermined range of possible preservation weights. Preferably,
the lower the preservation weight, the less important it is that
the new data set be preserved by the system for a long time.
Likewise, the higher the preservation weight, the greater the
importance of preservation of the new data set. In one embodiment,
the highest preservation weight indicates that the new data set
should be kept in the finite data storage medium permanently (i.e.,
it should never be deleted, if possible). Obviously, a system that
merely reverses the scale such that the lowest preservation weight
indicates the greater importance of the data set and vice versa is
within the scope of the present invention.
[0040] The specific value of the preservation weight may be
assigned by default, by a system administrator, or by a user with
access to the underlying computer system and with rights to assign
the preservation weight to the particular data set. In another
embodiment, the specific value of the preservation weight is
assigned based on the grouping to which the new data set belongs.
Groupings, as discussed in greater detail hereinafter, may be
established based on the time of creation of the data set. Data
sets may also be grouped by the type of data contained therein or
by the type of user for the data set.
[0041] Next, the capacity of the finite data storage medium is
checked (Step 340). If the effective capacity (preferably set to
approximately 90% of the maximum capacity for conventional data
storage devices, such as hard drives) of the finite data storage
medium has not been reached or exceeded (as determined at Step
350), then the new data set is recorded (Step 360) in or to the
finite data storage medium.
[0042] If the effective capacity of the finite data storage medium
has been reached or exceeded (as determined at Step 350), then the
system proceeds (Step 400) to "create space" on the finite data
storage medium, as described with reference to FIG. 4.
[0043] Turning now to FIG. 4, the steps of the "create space"
function 400 are illustrated. First, all data sets on the finite
data storage medium are sorted (Step 410) by their associated
preservation weight. Next, all data sets on the finite data storage
medium are sorted (Step 420) by their date of creation within each
particular grouping of preservation weight. For example, all data
sets having a preservation weight of 1 (i.e., within the same
"grouping" of preservation weights) are sorted by date, all data
sets with a preservation weight of 2 are sorted by date, and so on
up to all data sets with the highest allowable preservation weight.
Then, the data set with the lowest preservation weight and with the
earliest data of creation (i.e., the "oldest" data set within that
grouping) is deleted (Step 430) from the finite data storage
medium. It should be understood that the step of "deleting" can
mean actual "removal" of the data set from the data storage medium
or, more likely, merely designating the space occupied by the data
set as "available" for recordation of new data. Typically, data on
data storage medium is not actually deleted or lost until new data
is written over that physical space. Once that data set has been
deleted (or its storage space has been made available), the system
determines (Step 44) whether the capacity of the finite data
storage medium is now below a "threshold" capacity. Preferably, the
"threshold" capacity is established at or below the "effective"
capacity of the finite data storage medium. Thus, if the deletion
of the previous data set freed up sufficient capacity on the finite
data storage medium, the create space function end and the method
returns Step 360 and records the new data set. On the other hand,
if the deletion of the previous data set did not free up sufficient
capacity on the finite data storage medium to fall below the
"threshold" capacity that has been established, the system returns
to Step 430 to delete the oldest remaining data set in the lowest
preservation weight grouping.
[0044] FIG. 5 illustrates an alternative flowchart to that of FIG.
4. In particular, for those embodiments in which data sets can be
designated as "permanent" or not allowed to be deleted, it is
possible for there to be a situation in which the capacity of the
finite data storage medium is still at or above its "effective"
capacity and the only data sets still remaining on the finite data
storage medium--potentially available for deletion--are those that
have designated as permanent and not allowed to be deleted. As
discussed previously, in one embodiment, the highest available or
allowed preservation weight may be used to designate those
particular data sets that are to be considered permanent. In this
situation, the "create space" function 400 proceeds with its
sorting steps (Step 410 and 420), as described previously, then the
system determines (Step 424) whether all of the data sets remaining
on the finite data storage medium are designated as "permanent." If
not, then the system proceeds with the step of deleting (Step 430)
the oldest data set of the lowest preservation weight grouping, as
discussed in FIG. 4. However, in situations where the determination
in Step 424 is positive, the system preferably returns (Step 428)
an error message or other error indication. Such an error message
or indication could be a notification to the administrator of the
error, a notification that no new data sets are being recorded, or
causing the system to crash or go to a blue screen. As indicated by
the A in the circle jumper, if any of these errors occurs, the
process returns to FIG. 3 and simply ends without recording the new
data set to the finite data storage medium.
[0045] In yet another alternative embodiment, not shown, if the
determination in Step 424 is positive, the system either (i)
re-designates all data sets with the highest allowed preservation
weight from being "permanent" (i.e., non-deleteable) to being
"non-permanent" (i.e., having the highest priority but eligible for
deletion) or (ii) re-designates the oldest data set as
"non-permanent." Then, the method would continue to Step 430 and
delete the oldest non-permanent data set.
[0046] In a second aspect of the present invention, it is desirable
to manage data sets that have been organized into or associated
with "predetermined groups." Although the capacity of the finite
data storage medium may be, but is not necessarily, the primary
issue of concern, it is generally desirable to limit the number of
data sets associated with a particular group and stored in a finite
data storage medium to a manageable level.
[0047] As briefly described earlier, a data set "group" may be
established based on the time of creation of the data set. For
example, data sets that are periodic backups of files or hard
drives may be grouped (or associated with a predetermined group)
based on the "time" in which each periodic backup occurs, such as
end of the day, end of the week, end of the month, etc. Data sets
may also be grouped by the type of data contained therein or by the
user(s) to which the data set is relevant. For example, data sets
may belong to a company-wide group (e.g., a full network server
backup), to a department level group (e.g., Administrative
Department file directory backup), or to an individual level group
(e.g., single file backup or snapshot). Data sets may also be
grouped by combinations of any of the above (e.g., month end
snapshot of Accounting Department files). Likewise, it should be
understood that in some cases, a particular data set may be grouped
or associated with a plurality of different groups.
[0048] For data management reasons, it may be desirable to maintain
only a specific number of backups, snapshots, or other data sets
associated with a particular data set group. For example, it may be
desirable to maintain data sets of only the last five days of all
work saved to a server, the last twelve months of month-end reports
for the Accounting Department, the last ten "end of the week"
account receivable reports, and so on.
[0049] Turning now to FIG. 6, a method 600 of managing groups of
data sets recorded to a finite data storage medium is illustrated.
First, the system captures (Step 610) or obtains (if captured by an
external component and merely provided to the system) a new data
set for recordation into the finite data storage medium. The time
of creation of the new data set is then assigned (Step 620) or
obtained (again, if provided by an external component that already
assigned a time of creation at the time of capture) by the
system.
[0050] The new data set is then associated (Step 630) with a
predetermined group of data sets. Determining which predetermined
group to associate the new data set with may be done automatically
by the system (e.g., a periodic timed backup of a regular file or
set of files), it may be determined by who requested the
recordation of the new data set (e.g., whether the request came
from the system administrator or from a particular user), it may be
specifically designated by a system administrator or user, who
requested the recordation, or it may be assigned by default. Once
the new data set has been associated with an appropriate
predetermined group, the system determines (Step 640) the maximum
number of data sets associated with the predetermined group that
may be maintained in the finite data storage medium. Such maximum
number is set by the system administrator, by a user with rights to
the underlying data set or to the predetermined group of data sets,
or by default. Such maximum number is set at the time the
predetermined group is created or when the process of recording the
new data set is initiated or requested.
[0051] The new data set is then recorded (Step 650) to the finite
data storage medium. Although identified as occurring at this point
in the process, it should be understood that this step of recording
may alternatively occur after Step 660 or after Steps 670 and 680,
which are described hereinafter, as long as the new data set is
taken into account.
[0052] The system counts (Step 660) the number of data sets
associated with the predetermined group currently stored in the
finite data storage medium and then determines (Step 670) whether
the number counted exceeds the maximum number of allowed data sets
for this particular group. If not, then the process ends.
[0053] If the determination in Step 670 is positive, then the
oldest data set associated with the particular group is deleted.
Again, deletion means that the data set is actually removed or that
the memory space allocated to the "deleted: data set is made
available for rewriting of new data. In this manner, groups of data
sets are maintained at or below their maximum allowed number in the
finite data storage medium.
[0054] In view of the foregoing detailed description of preferred
embodiments of the present invention, it readily will be understood
by those persons skilled in the art that the present invention is
susceptible of broad utility and application. While various aspects
have been described in the context of HTML and web page uses, the
aspects may be useful in other contexts as well. Many embodiments
and adaptations of the present invention other than those herein
described, as well as many variations, modifications, and
equivalent arrangements, will be apparent from or reasonably
suggested by the present invention and the foregoing description
thereof, without departing from the substance or scope of the
present invention. Furthermore, any sequence(s) and/or temporal
order of steps of various processes described and claimed herein
are those considered to be the best mode contemplated for carrying
out the present invention. It should also be understood that,
although steps of various processes may be shown and described as
being in a preferred sequence or temporal order, the steps of any
such processes are not limited to being carried out in any
particular sequence or order, absent a specific indication of such
to achieve a particular intended result. In most cases, the steps
of such processes may be carried out in various different sequences
and orders, while still falling within the scope of the present
inventions. In addition, some steps may be carried out
simultaneously. Accordingly, while the present invention has been
described herein in detail in relation to preferred embodiments, it
is to be understood that this disclosure is only illustrative and
exemplary of the present invention and is made merely for purposes
of providing a full and enabling disclosure of the invention. The
foregoing disclosure is not intended nor is to be construed to
limit the present invention or otherwise to exclude any such other
embodiments, adaptations, variations, modifications and equivalent
arrangements, the present invention being limited only by the
claims appended hereto and the equivalents thereof.
* * * * *