Patent Publication Number: US-7584266-B2

Title: Autonomous storage for backup, restore, and file access

Description:
FIELD OF THE INVENTION 
     The present invention relates to methods and apparatus to provide secure autonomous storage for backup, restore, and file access. 
     BACKGROUND OF THE INVENTION 
     There is a considerable amount of prior art in the of field of backup and restore systems. Several well-known backup and restore systems are currently marketed by companies such as Veritas and IBM. These systems provide reliable, secure backup and restore capabilities by utilizing a server that contacts each registered client in turn to request to a backup session. The client system generally has an agent installed that communicates with the backup server, and together the backup server and client agent negotiate a mutually acceptable arrangement for performing the backup. The server might contact the client and tell the client that it will be available in the next half hour to perform a backup of the client, and ask if the client can agree to that schedule. If so, the client waits to be contacted by the server and makes preparations for the backup if required. 
     These backup systems usually require a server and one or more clients. The server oversees the operation and provides the storage for the backed up files. In general, the clients are polled to provide their backup data to ensure that the server has the capacity to perform the backup at the specified time, with backup performed at the convenience of the server, and not the client(s). In order to complete the backup, however, the client system must be connected to the network at the same time the backup server is available or the backup cannot be completed. 
     For traveling users, getting their system backed up can be a chore. In order to get backed up, the client system must be on the network until contacted by the backup server. It is likely that a traveling user&#39;s system will never be connected at the very moment that the server gets around to backing it up. 
     SUMMARY OF THE INVENTION 
     It is therefore an aspect of the present invention to provide for secure and automatic backup of client data even if the client system is not always connected to the network or the backup server. 
     It is another object of the invention to provide such backup in a manner that is virtually transparent to the user. 
     The present invention provides for the on-demand backup of the client system programs and data by using a storage device and storage management software which is preferably located in the client system&#39;s docking station. However, although this invention is described herein as being located in a local docking station device, the storage portion of the invention can be located anywhere in the network provided that it is accessible from both the client system and the server. 
     The invention, is directed to a method, a system and a computer program product (software) for implementing the method and system. For example, in a system having a client computer, and apparatus for connecting the client computer to a network having a server for backing up the client computer, the invention is directed to a method for transferring data from the client computer to the server, comprising connecting the client computer to the network; backing up data on the client computer to a storage device attached to the network when the client computer is connected to the network; and transferring the data from the storage device to the server. The transferring of the data from the storage device to the server occurs at a time determined by the server. The connecting may comprise connecting the client computer to a docking station connected to the network. The storage device may be associated with the docking station. 
     The method may further comprise connecting the client computer to the network a plurality of times before the server backs up the data on the client computer, and creating a new data set on the storage device for transfer to the server each time the client computer is connected to the network. The data sets are transferred to the server in the order in which the data sets were created. 
     The connecting may comprise establishing a data transfer link between the client computer and the data storage device. The data transfer link may comprise one of a wireless link and an infrared link. 
     If the client computer is off when connected to the network, the method further comprises powering up a storage device in the client computer; and transferring data stored on the storage device in the client computer to the storage device attached to the network. If power to the client computer is turned on during transfer of data stored on the storage device in the client computer to the storage device attached to the network, the transfer of data is suspended while the client computer boots up. If the client computer is initially on when connected to the network, but the client computer is turned off, the method further comprises suspending transferring data stored on a storage device in the client computer to the storage device attached to the network, to permit normal backup of files on the client computer. If the client computer is disconnected from the network during a first backing up of data on the client computer to a storage device attached to the network, and the client computer is again connected to the network, the client computer is backed up to the storage device on the network a second time, and data is sequentially transferred in the following order: first data transferred to the storage device before the client was disconnected from the network, and then data transferred to the storage device during the second time. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other aspects, features, and advantages of the present invention will become apparent upon further consideration of the following detailed description of the invention when read in conjunction with the drawing figures, in which: 
         FIG. 1  is a block diagram of a system in accordance with the present invention. 
         FIG. 2  is a flow chart of a data back up process when the client is connected to network. 
         FIG. 3A  and  FIG. 3   b  are flow charts of the data backup operation for multiple connections of the client to the network. 
         FIG. 4  is a flow chart of backup to a server. 
     
    
    
     DESCRIPTION OF THE INVENTION 
     Variations described for the present invention can be realized in any combination desirable for each particular application. Thus particular limitations, and/or embodiment enhancements described herein, which may have particular advantages to the particular application need not be used for all applications. Also, it should be realized that not all limitations need be implemented in methods, systems and/or apparatus including one or more concepts of the present invention. 
     Referring to  FIG. 1 , in a computer network  100 , many computer users utilize the same computer (shown as client system  102 ) at the office as they do when traveling. This is made easier by devices called docking stations  103 . A docking station is a unit that contains connectors, plugs, and jacks necessary to hook the client system  102  up to the network  100  (and optionally to a server  101 ), a separate monitor (not shown), a mouse  106 , a separate keyboard (not shown), and other devices. These devices plug directly into the docking station  103 , and the client system  102  snaps into the docking station. The docking station  103  connects the client system  102  electrically to the proper devices and connectors attached to the docking station  103 . The client system  102  usually connects to the docking station through some type of recessed connector that is exposed only when the client system  102  is plugged into the docking station. Those skilled in the art can appreciate that there are many ways that a client system can be connected to a docking station. A recessed connector is cited herein as an example of how some docking stations are constructed. Using a release button or release mechanism on the docking station  103 , the client system  102  can be removed from the network  100  and external devices by simply lifting it from the docking station  103 . Thus, the user is not required to remove plugs and jacks from the client system  102  to disconnect it from external devices or the network  100 . 
     Traveling users come and go from the office environment. They may visit the office in the morning or in the evening to replicate mail, calendar, and other information. Often, once the requested data transfer has been completed, they remove the client system  102  from the docking station  103  and leave to visit customers. In this scenario, however, the client system  102  often never gets properly backed up. The chance that the client system  102  is connected to the network at the very time the backup server  101  needs to do a backup is very slim. For this reason, it is better to do backup “on demand” when the customer needs it, at the convenience of the client, not at the convenience of the server as is done in current backup products. 
     In accordance with the invention, in the docking station  103 , a small interface board  106 , having a small processor  108 , and a disk drive or other storage device  104  are installed, although in practice, these components may be installed anywhere on the network. The storage device  104  also may be a flash memory, an internal disk drive, an external disk drive, a storage card, or any other device capable of storing digital data. In one implementation of the present invention, the storage may also exist on the network interface adapter. 
     When the user places the client system  102  on the docking station, the action of attaching or connecting the client system  102  to the docking station  103 , causes the storage device  104  to wake up and do an immediate backup of the client system  102 . The storage device  104  may be powered from an external source, but may also be powered from the internal power supply (typically a battery) of the client system  102 . 
     While the invention has been described above with respect to placing the client computer  102  in the docking station  103  in order to transfer data, the invention does not require an actual physical coupling, and a docking station need not be used. Data may be transferred by wireless connection (including a short range link), infrared link, or any other means, form a client computer to a back up storage device on a network capable of storing data until it is backed up by a server. Preferable, the connection between the client computer and the backup device uses some type of encryption or other security means to ensure that the data remains confidential. 
     Referring also to  FIG. 2 , if the client system  102  is off when the user places it on the docking station  103  (step  200  of  FIG. 2 ), the processor device and associated hardware of the present invention cause the disk drive (not specifically shown) of the client system  102  to power up  202 , utilizing either the power from the docking station  103  or from the battery of the client system  102 . The interface board of the present invention  106  then commences to facilitate a very fast copy from the client system  102  to the storage unit  104  located in the docking station  103  (step  203  of  FIG. 2 ) or some other location in the network. 
     If the client system  102  is already powered on, the interface board  106  commences to facilitate a very fast copy  203  from the client system  102  to the storage unit  104  located in the docking station or in some other location in the network. 
     In accordance with the invention, if the client system  102  was powered down, the disk drive of the client system is turned off once again at  205 . 
     If power to the client system  102  is shut off during a backup operation, the software of the present invention continues autonomous backup of the client files at  203  using the interface board  106  in the docking station  103 . 
     The data from the client system  102  is backed up to the storage device  104 , and the user can continue to use the system normally while the backup is running. The docking station  103 , which is almost always attached to the network, can now respond to the backup server  101  at any time, day or night, and it does not matter whether or not the client system  102  is powered on. The backup server  101  instead communicates directly with the processing interface board  106  and the storage device  104  in the docking station  103 , and can now be backed up at the normal server schedule. When communicating with the docking station  103 , the backup server  101  operates as if it were communicating directly with the client system  102 , and has no indication that it is instead communicating with the docking station  103 . 
     It is important to note that two distinct backups take place using the present invention. The first backup is the backup that takes place between the client system  102  and the processor and storage of the present invention. The second backup takes place between the server and the docking station. 
     If the docking station contains no data (the client has never been backed up) a backup is first done from the client to the storage device and processor of the present invention, then the normal backup done between the server and the docking station. As far as the server is concerned, it is doing a normal backup to the client, when in reality, it is actually doing a backup of the storage of the present invention. 
     It is possible that in certain circumstances the connection of the client computer to the network may be interrupted during local backup of the client computer to the storage device associated with the docking station. While a fast copy routine will tend to minimize the likelihood of this happening, there are several measures that may be taken to deal with this possibility. In a first case, the user of the client computer may be prompted with a display indicating that backup is taking place, and that the client computer is to remain connected to the network through the docking station or any other connection being used. In a second case, transfer to the local storage device is suspended as soon as the connection is broken, but a partial data set is saved on the local storage device. Then, when the client computer is again connected to the network, a full data set is saved. When the server is connected for backup to the server, the partial data set and then the full data set are sequentially backed up to the server, in a manner similar to that described above. A specific approach is set forth below. 
       FIG. 3A  and  FIG. 3B  deal with the situation in which the client system  102  is placed in the docking station  103  (or connected to the docking station by a data link), but is removed from the docking station  103  (or the data link is severed) and then inserted again before local backup has been completed. Referring to  FIG. 3A , if the client computer is removed, a reject request  301  is generated. If a local backup operation is being conducted, a flag is set at  302 , and the client computer is ejected (removed) from the docking system at  303 . If there is no backup running, the removal or ejection takes place at  304 , without setting the flag. 
     Referring to  FIG. 3B , when the client computer  102  is again inserted into the docking station, or a data link is reestablished at  306 , the state of the flag is checked. If the flag was not set, local backup is performed at  307  to create a backup data set in the storage device  104  associated with the docking station. Normal operation continue  308 . If the flag was set, a new backup data set is created at  309 . There are now at least two backup data sets, depending on the number of times that the client computer  102  is connected to the docking station  103  before data is backed up to the server  101 . 
     Referring to  FIG. 4 , eventually, perhaps on some predetermined schedule, such as during early morning hours, when a great deal of network traffic is not expected, the server is connected to the docking station, and backup to the server starts at  400 . At  401 , a determination is made as to whether there are any data set to back up. If there are none, the backup operation to the server is terminated at  402 . If there are data set to back up, the oldest (the data set generated first) is backed up to the server at  403 . At  404 , a determination is made as to whether there are any additional data set to back up. If there are, then operations return to  403  and the next data set is backed up to the server. When all data set have been backed up, as determined at  404 , backup operations to the server are terminated, at  405 . 
     The present invention may also be used to facilitate file sharing or distribution. If a file on a client is placed on a server, it may be made available for general distribution to other users of the server, after being backed up to the server as data. Thus, files on the server, whatever their source can also be downloaded to selected clients, or to all clients, as an adjunct to the backup processes described above. 
     The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system—or other apparatus adapted for carrying out the methods and/or functions described herein—is suitable. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. 
     Computer program means or computer program in the present context include any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after conversion to another language, code or notation, and/or reproduction in a different material form. 
     Thus the invention includes an article of manufacture which comprises a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the article of manufacture comprises computer readable program code means for causing a computer to effect the steps of a method of this invention. Similarly, the present invention may be implemented as a computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the computer program product comprising computer readable program code means for causing a computer to effect one or more functions of this invention. Furthermore, the present invention may be implemented as a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for causing one or more functions of this invention. 
     It is noted that the foregoing has outlined some of the more pertinent objects and embodiments of the present invention. The concepts of this invention may be used for many applications. Thus, although the description is made for particular arrangements and methods, the intent and concept of the invention is suitable and applicable to other arrangements and applications. It will be clear to those skilled in the art that other modifications to the disclosed embodiments can be effected without departing from the spirit and scope of the invention. The described embodiments ought to be construed to be merely illustrative of some of the more prominent features and applications of the invention. Other beneficial results can be realized by applying the disclosed invention in a different manner or modifying the invention in ways known to those familiar with the art. Thus, it should be understood that the embodiments has been provided as an example and not as a limitation. The scope of the invention is defined by the appended claims.