Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20030220949 A1
Publication typeApplication
Application numberUS 10/248,462
Publication dateNov 27, 2003
Filing dateJan 21, 2003
Priority dateJan 22, 2002
Also published asUS7237080, US20030167380, US20030220929, US20030220948, US20060107006
Publication number10248462, 248462, US 2003/0220949 A1, US 2003/220949 A1, US 20030220949 A1, US 20030220949A1, US 2003220949 A1, US 2003220949A1, US-A1-20030220949, US-A1-2003220949, US2003/0220949A1, US2003/220949A1, US20030220949 A1, US20030220949A1, US2003220949 A1, US2003220949A1
InventorsLouis Witt, Robbie Green, Donald Cross, Brian McFadden, Kai Zhang
Original AssigneeColumbia Data Products, Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Automatic deletion in data storage management
US 20030220949 A1
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.
Images(6)
Previous page
Next page
Claims(29)
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. § 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.

Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US6926199 *Nov 25, 2003Aug 9, 2005Segwave, Inc.Method and apparatus for storing personalized computing device setting information and user session information to enable a user to transport such settings between computing devices
US7219100 *Dec 5, 2003May 15, 2007Edgenet, Inc.Method and apparatus for database induction for creating frame based knowledge tree
US7237080Dec 22, 2005Jun 26, 2007Columbia Data Products, Inc.Persistent snapshot management system
US7590627 *Dec 7, 2004Sep 15, 2009Maekelae JakkeArrangement for processing data files in connection with a terminal
US7636737 *Dec 20, 2005Dec 22, 2009Microsoft CorporationWeb site multi-stage recycling
US7805461Apr 10, 2007Sep 28, 2010Edgenet, Inc.Method and apparatus for database induction for creating frame based knowledge tree
US7809687Aug 4, 2006Oct 5, 2010Apple Inc.Searching a backup archive
US7809688 *Aug 4, 2006Oct 5, 2010Apple Inc.Managing backup of content
US7853566Aug 4, 2006Dec 14, 2010Apple Inc.Navigation of electronic backups
US7853567Aug 4, 2006Dec 14, 2010Apple Inc.Conflict resolution in recovery of electronic data
US7856424Aug 4, 2006Dec 21, 2010Apple Inc.User interface for backup management
US7860839Aug 4, 2006Dec 28, 2010Apple Inc.Application-based backup-restore of electronic information
US8010900Jun 8, 2007Aug 30, 2011Apple Inc.User interface for electronic backup
US8099392Jun 8, 2007Jan 17, 2012Apple Inc.Electronic backup of applications
US8166415Jun 8, 2007Apr 24, 2012Apple Inc.User interface for backup management
US8335768May 25, 2005Dec 18, 2012Emc CorporationSelecting data in backup data sets for grooming and transferring
US8429425Jun 8, 2007Apr 23, 2013Apple Inc.Electronic backup and restoration of encrypted data
US8538927Dec 14, 2010Sep 17, 2013Apple Inc.User interface for backup management
US20050193023 *Feb 26, 2004Sep 1, 2005Ismail Labeeb K.Method and apparatus for allocating client resources to multiple applications
Classifications
U.S. Classification1/1, 707/999.204
International ClassificationG06F7/00, G06F12/12, G06F11/14, G06F12/00
Cooperative ClassificationG06F11/1451, G06F11/1471, G06F11/1446, G06F2201/84, G06F12/023
European ClassificationG06F11/14A12, G06F11/14A10D2, G06F11/14A10, G06F12/02D2
Legal Events
DateCodeEventDescription
May 5, 2003ASAssignment
Owner name: COLUMBIA DATA PRODUCTS, INC., FLORIDA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WITT JR., LOUIS P.;GREEN, ROBBIE A.;CROSS, DONALD D.;ANDOTHERS;REEL/FRAME:014017/0741
Effective date: 20030425