Abstract:
A library apparatus includes, a drive for accessing the mobile medium, a discharge unit for discharging the mobile medium, and a conveyance controller for controlling a conveyance unit. The conveyance controller includes, a memory for storing process content when the discharge unit discharges the mobile medium, a receiver for receiving control information regarding a control unit controlling a discharge operation of the mobile medium, where the control unit is arranged in a host apparatus. The library apparatus and controlling method include determining correct process content in the discharge operation of the mobile medium from the process content stored on the storage, in accordance with the received control information, and detecting a faulty discharge operation by determining, in accordance with the determination result of the correct process content, whether process content transmitted from the host apparatus is normal or not.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is related to and claims priority to Japanese patent application no. 2008-038874 filed on Feb. 20, 2008 in the Japan Patent Office, the entire contents of which are incorporated by reference herein. 
     FIELD 
     The present invention relates to a library apparatus managing a mobile medium, a conveyance controller of the library apparatus and a method of controlling the library apparatus. 
     BACKGROUND 
     Library apparatuses for managing a plurality of storage media such as a magnetic tape for storage backup data are known. The storage medium such as a magnetic tape, managed by the library apparatus, may be discharged externally out of the library apparatus to be stored outside or to be shipped to another facility. Generally, discharging of the storage medium is performed under the control of backup software. 
     Japanese Patent Laid-Open No. 2005-149535 discloses a magazine-type tape library apparatus. According to the disclosure, foreign object detecting unit detecting a foreign object is arranged at a port through which a magazine is discharged. Means is also arranged that restricts the movement of a foreign object in a direction close to the port for the magazine if an intrusion of the foreign object into the opening is detected. 
     Japanese Patent Laid-Open No. 2004-055020 discloses a hard disk apparatus. According to the disclosure, the inner pressure of the casing of the hard disk is maintained at a predetermined pressure. If an opening of the casing is detected by a sensor, a recording surface of a magnetic storage medium is destroyed, and an encryption/decryption circuit is also destroyed. In this way, content recorded on the magnetic storage medium is protected from an unauthorized use when the hard disk is opened. 
     Typically, an authorized user only can perform operation of discharging the storage medium housed in the library apparatus. The library apparatus itself has not recognized whether the discharge operation of a specified storage medium is authorized or not. 
     SUMMARY 
     In accordance with an embodiment, a library apparatus and method of controlling include accessing a mobile medium, discharging the mobile medium from the library apparatus, and controlling a conveyance unit for conveying a mobile medium to a predetermined position. The conveyance controller includes, a memory for storing process content when the discharge unit discharges the mobile medium, a receiver for receiving control information regarding a control unit (controller) controlling a discharge operation of the mobile medium, where the control unit is arranged in a host apparatus. A process content determiner is provided for determining correct process content in the discharge operation of the mobile medium from the process content stored on the storage, in accordance with the received control unit information, and a faulty operation detector for detecting a faulty discharge operation by determining, in accordance with a determination result of the correct process content, whether process content transmitted from the host apparatus is normal or not. 
     Additional aspects and/or advantages will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which: 
         FIG. 1  illustrates a structure of a library apparatus in accordance with one embodiment of the present invention; 
         FIG. 2  illustrates a library management screen; 
         FIG. 3  is a flowchart illustrating a process of library agent software; 
         FIG. 4  is a flowchart illustrating a process for acquiring label information; 
         FIG. 5  illustrates a data structure of a magnetic tape; 
         FIG. 6  is a flowchart illustrating a process of backup software; 
         FIG. 7  is a table listing a command sequence of a backup software; 
         FIG. 8  is a flowchart illustrating a process for verifying a state set in a library management screen; and 
         FIG. 9  is a flowchart illustrating a medium discharge monitoring process. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures. 
       FIG. 1  illustrates a structure of a system including a library apparatus  11  and a server  12  in accordance with one embodiment of the present invention. In the system illustrated in  FIG. 1 , the library apparatus  11  is a tape library apparatus managing a magnetic tape. 
     The library apparatus  11  includes a medium holding cell  13  for holding mobile storage media such as magnetic tapes, a robot  14  for conveying the mobile storage medium, drives  15   a  and  15   b , an entry and discharge section  16  receiving and discharging the mobile storage medium, and a library controller  17  for controlling these elements. 
     The robot  14  picks up a mobile storage medium held in the medium holding cell  13  and sets the mobile storage medium into the drives  15   a  and  15   b  or the entry and discharge section  16 . The robot  14  also sets the mobile storage medium from one of the drives  15   a  and  15   b  and the entry and discharge section  16  to the medium holding cell  13 . The drives  15   a  and  15   b  perform a read and write operation on the mobile storage medium loaded therein. 
     The server  12  includes backup software  19  for backing up the mobile storage medium, library agent software  18  for notifying the library apparatus  11  of information relating to currently running backup software, and other software. In the discussion that follows, all of a plurality of units of backup software or one of the pluralities of units of backup software is referred to as the backup software  19 . 
       FIG. 2  illustrates a library management screen  21 . The library management screen  21  selects the backup software to be used by the server  12 , enables or disables medium discharge management, and sets a response operation if any fault is detected in a medium discharge operation. 
     The “enabled” setting or “disabled” setting for the medium discharge management is related to a determination as to whether the backup software having issued a medium discharge request is an authorized backup software or not. The operation(s) responsive to the detection of a fault in the medium discharge operation include “no medium is discharged at faulty discharging,” “reporting is made at faulty discharging,” “recording is made at faulty discharging,” etc. Information set by the library management screen  21  is stored on a memory or the like. The function of the library management screen  21  for setting operation(s) responsive to the detection of the fault in the medium discharge operation corresponds to a response operation setter. Operation(s) in response to detection of a fault may be customized and/or adjusted as needed. 
       FIG. 2  illustrates a state of the library management screen  21  in which backup software A is selected, the medium discharge management is “enabled,” and the operation “medium is not discharged at faulty discharging” is set as an operation to be implemented during medium discharging. 
     The library management screen  21  may be set by an authorized user. Alternatively, the server  12  may notify the library apparatus  11  of necessary information, and the library controller  17  may set information on the library management screen  21 . 
       FIG. 3  is a flowchart illustrating a process of an agent software, for example, the library agent software  18 . When the backup server  12  is started (operation S 11 ), the library agent software  18  is started (operation S 12 ). 
     The library agent software  18  searches the server  12  for an install folder and an install package (operation S 13 ). 
     The library agent software  18  determines whether content corresponding to the backup software is in the search results (operation S 14 ). If it is determined that the content corresponding to the backup software (an affirmative answer in operation S 14 ), processing proceeds to operation S 15 . The library agent software  18  verifies the search results of the install folder and the search results of the install package. Through operation S 15 , the library agent software  18  determines whether a file of backup software A is present in the install folder, and/or whether a package of backup software A is present in the install package. 
     If it is determined that the corresponding content is not present in each of the install folder and/or the install package, i.e., that information relating to the backup software is not present (non-affirmative answer in operation S 14 ), or if it is determined in operation S 15  that the information relating to the backup software is present, processing proceeds to operation S 16 . The library agent software  18  transmits the search results to the library apparatus  11  at operation S 16 . 
     Upon receiving the search results, the library apparatus  11  sets, on a memory or the like, information relating to the backup software  19  used in the server  12  (operation S 17 ). 
       FIG. 4  is a flowchart illustrating a process of acquiring label information. The label information, recorded on a magnetic tape, identifies the backup software that has written data. 
     When a backup software, for example the backup software  19 , performs a tape mount process (operation S 21  in  FIG. 4 ), the library controller  17  starts interface communication(s) with a drive  15   a  (or  15   b ) to acquire the label information (operation S 22 ). 
     When the magnetic tape is mounted on the drive  15   a , the backup software  19  starts a label process (operation S 23 ). 
     It is then determined whether the process requested by the backup software  19  is a data write/read process from the head of the magnetic tape (operation S 24 ). 
     If it is determined that the requested process is the data write/read process from the head of the magnetic tape (affirmative answer in operation S 24 ), processing proceeds to operation S 25 . The label information written on the magnetic tape or the label information read from the magnetic tape is transmitted from the drive  15   a  to the library controller  17 . The label information is information identifying the backup software  19  having written data, and contains a backup software name, for example. 
     The library controller  17  receives data from the drive  15   a  and determines which backup software  19  the label information is related to (operation S 26 ). 
     The library controller  17  sets a type of the backup software  19  based on the received label information (operation S 27 ). In operation S 27 , the backup software name is acquired from the label information and then stored onto the memory or the like. 
     Through operations S 21 -S 27 , the library controller  17  acquires the label information recorded on the magnetic tape and can identify, based on the label information, which backup software  19  has written data. 
     When the backup software  19  writes data onto the magnetic tape, the library controller  17  can acquire the label information, and generate a map mapping a plurality of magnetic tapes held in the medium holding cell  13  to the backup software  19 . With the map generated, the library controller  17  can learn which backup software  19  has written data onto the magnetic tape when a discharge request of the magnetic tape is issued. The library controller  17  can thus determine whether the discharge request is the one made by authorized backup software  19 . 
       FIG. 5  illustrates a data structure of a magnetic tape. With reference to  FIG. 5 , label information representing a backup software, for example the backup software  19 , having written data is written on a head region of the magnetic tape, namely, the beginning of tape (BOT). In succession, user data is written. By reading the label information, the library controller  17  can identify which backup software  19  has written data onto the magnetic tape. 
       FIG. 6  is a flowchart illustrating a process of determining a backup software. 
     In an embodiment, the library apparatus  11  performs operation S 31  illustrated in  FIG. 6  in succession to operation S 17  illustrated in  FIG. 3 . In operation S 31 , the library apparatus  11  receives information relating to a backup software such as the backup software  19  from the library agent software  18 , and stores, on the memory or the like, the content of the backup software running on the server  12 , such as information identifying the backup software. The information stored then is referred to as setting A. 
     In an embodiment, the library apparatus  11  performs operation S 32  illustrated in  FIG. 6  in succession to operation S 27  illustrated in  FIG. 4 . In operation S 32 , the library apparatus  11  retrieves the label information from the drive  15   a  or  15 B, and stores, on the memory or the like, the content of the backup software  19  (identifying the backup software) in accordance with the label information. The information then stored is referred to as setting B. 
     The library apparatus  11  compares the setting A with the setting B to determine whether the two settings are identical (operation S 33 ). If it is determined in operation S 33  that the setting A and the setting B are identical to each other, i.e., the backup software  19  in operation is identical to the backup software  19  that has written data onto the magnetic tape to be discharged, processing proceeds to operation S 34 . The library apparatus  11  thus determines that the setting state is normal, and then stores a setting determination result C onto the memory or the like. 
     If it is determined in operation S 33  that the setting A and the setting B are different from each other, i.e., the backup software  19  in operation is not identical to the backup software  19  that has written data onto the magnetic tape to be discharged, processing proceeds to operation S 35 . The library apparatus  11  thus determines that the setting state is faulty, and then stores a setting determination result D onto the memory or the like. 
     Through operations S 31 -S 35 , the library apparatus  11  acquires from the library agent software  18  the information relating to the backup software  19  (such as the software name), and determines whether the backup software  19  identified by the information is identical to the backup software  19  identified by the label information. The library apparatus  11  thus determines whether the backup software  19  having issued the discharge request of the magnetic tape is authorized backup software  19  or not. 
       FIG. 7  illustrates a table  31  in which a command sequence of a backup software is registered. 
     In the table  31  illustrated in  FIG. 7 , a command sequence at a medium discharging is registered with the backup software name mapped thereto. The command sequence corresponds to the content of the process to be performed at the medium discharging, and the table  31  corresponds to a storage for storing the content of the process. 
     For example, the command sequence of the backup software A has a command (read element status (drive)) to read the statuses of the drives  15   a  and  15   b  registered at a sequence number  1  and a command (read element status (robot)) to read the status of the robot  14  registered at a sequence number  2 . 
     The command sequence of the backup software B has a command (test unit ready (drive)) to verify whether the drives  15   a  and  15   b  are ready to operate registered at a sequence number  1  and a command (test unit ready (robot)) to verify whether the robot  14  is ready to operate registered at a sequence number  2 . 
     Whether the backup software  19  having issued a medium discharge request is the authorized backup software is determined by comparing the command sequence registered in the table  31  with the command sequence of the backup software  19  in operation. 
       FIG. 8  is a flowchart illustrating a process of verifying a state set, for example, in the library management screen  21 . 
     The library apparatus  11  acquires the information stored on the library management screen  21  and then stores the acquired information on the memory or the like (operation S 41  in  FIG. 8 ). The library management screen  21  sets information indicating whether to perform the medium discharge management and sets operation at the medium discharging. 
     The library apparatus  11  then verifies whether the state set in the library management screen  21  is one of setting cases E-H (operation S 42 ). 
     If the medium discharge management is set to be “disabled,” the library apparatus  11  determines that the state set is the setting case E because any operation during the medium discharging is acceptable (operation S 43 ). 
     If the medium discharge management is set to be “enabled,” and the operation during the medium discharging is set to be “medium is not discharged at faulty discharging,” the library apparatus  11  determines that the state set is the setting case F (operation S 44 ). 
     If the medium discharge management is set to be “enabled,” and the operation during the medium discharging is set to be “reporting is made at faulty discharging,” the library apparatus  11  determines that the state set is the setting case G (operation S 45 ). 
     If the medium discharge management is set to be “enabled,” and the operation during the medium discharging is set to be “recording is made at faulty discharging,” the library apparatus  11  determines that the state set is the setting case H (operation S 46 ). 
       FIG. 9  is a flowchart illustrating a medium discharge monitoring process. The process to be discussed below is performed by the library controller  17  in the library apparatus  11 . 
     The library controller  17  first verifies the setting state (operation S 51  in  FIG. 9 ). In operation S 51 , the library controller  17  determines the setting state based on the determination results (setting determination result C and setting determination result D) related to normal setting result or faulty setting result in the determination process of the backup software illustrated in  FIG. 6 . 
     If it is determined in operation S 51  that the setting result is the setting determination result D, i.e., that the information about the backup software  19  in operation acquired from the library agent software  18  fails to match the label information of the magnetic tape, namely, the information about the backup software  19 , processing proceeds to operation S 53 . The library controller  17  presents an error display as a software setting fault. 
     On the other, if it is determined in operation S 51  that the setting state is the setting determination result C, i.e., that the information about the backup software  19  in operation acquired from the library agent software  18  matches the label information of the magnetic tape, namely, the information about the backup software  19 , processing proceeds to operation S 52 . In operation S 52 , The library controller  17  determines whether the command sequence of the backup software  19  in operation matches the command sequence of the corresponding backup software  19  registered in the table  31 . The library controller  17  thus detects a faulty discharge operation. 
     In operation S 52 , the library controller  17  references the table  31  illustrated in  FIG. 7 , thereby acquiring the command sequence (process content) of the corresponding backup software  19 . In accordance with the acquired process content, the library controller  17  determines the correct process content in the medium discharge operation. The library controller  17  determines whether the process content of the backup software  19  having issued the medium discharge request matches the determined process result. The library controller  17  thus determines the correct process content to detect a faulty discharge operation. 
     If it is determined that the two sequences match each other (match answer in operation S 52 ), processing proceeds to operation S 54 . The library controller  17  performs the medium discharge management, thereby discharging the medium. 
     On the other hand, if it is determined that the two sequences fail to match each other (unmatch answer in operation S 52 ), processing proceeds to operation S 55 . The library controller  17  determines the response operation, depending on whether the state set in the library management screen  21  is one of the setting cases E-H (operation S 55 ). 
     If it is determined that the sequences fail to match, and the setting case E is determined, i.e., if medium discharge management is set to be “disabled,” and the operation at the medium discharging is that “medium is not discharged at faulty discharging,” processing proceeds to operation S 56 . The library controller  17  performs the medium discharge operation with no medium discharge management performed. 
     If it is determined that the sequences fail to match, and the setting case F is determined, i.e., if medium discharge management is set to be “enabled,” and the operation at the medium discharging is that “medium is not discharged at faulty discharging,” processing proceeds to operation S 57 . The library controller  17  stops the medium discharge operation, thereby discharging no medium. If an attempt is made to discharge the medium in a process sequence different from a process sequence of the registered backup software, the discharge operation is determined to be faulty, and the discharge operation of the medium is stopped. 
     If it is determined that the sequences fail to match, and the setting case G is determined, i.e., if medium discharge management is set to be “enabled,” and the operation at the medium discharging is that “reporting is made at faulty discharging,” processing proceeds to operation S 58 . The medium is discharged, and the faulty state is reported. If the medium is discharged in a process sequence different from a process sequence of the registered backup software, the discharge operation is determined to be faulty. The library apparatus  11 , a host apparatus, or a system operator is notified that the faulty discharge operation has been performed. 
     If it is determined that the sequences fail to match, and the setting case G is determined, i.e., if medium discharge management is set to be “enabled,” and the operation at the medium discharging is that “recording is made at faulty discharging,” processing proceeds to operation S 59 . The medium is discharged, and the faulty state is recorded on the memory or the like. 
     In accordance with the above-described embodiments, the determination as to whether the backup software having issued the medium discharge request is the discharge request from an authorized backup software is made based on whether the label information recorded on the mobile storage medium matches the information identifying the backup software having written data. The process content of at least one piece of backup software, i.e., the command sequence is registered beforehand. It is then determined whether the process sequence of the backup software (the backup software  19 ) having issued the medium discharge request matches the registered process sequence. The library controller  17  thus determines whether the discharge operation is from the authorized backup software. For example, if it is determined that the discharge operation is from unauthorized backup software, the discharge operation of the medium is stopped. The library apparatus  11  thus prevents the storage medium from being discharged using unauthorized backup software installed on the server  12 . 
     The present invention is not limited to the above-described embodiments. The present invention may be arranged as described below. In accordance with the above-described embodiments, the label information recoded on the magnetic tape is read, and it is then determined whether the read label information is identical to the information about the backup software in operation. Alternatively, when the backup software writes data onto the magnetic tape, information mapping the backup software writing the data onto the magnetic tape to the magnetic tape is stored on a storage such as a memory or the like. When a medium discharge request is issued, the information is referenced to determine whether the discharge request is from the authorized backup software. With this arrangement, the library apparatus can determine whether the backup software having issued the medium discharge request is authorized or not, without reading the label information from the magnetic tape. 
     Alternatively, the information recorded on the magnetic tape (information other than the label information) may be read in response to the medium discharge request, and it may be determined whether the backup software having issued the discharge request is the backup software having written backup data. Such arrangements provide the same advantages as those of the above-described embodiments. The present invention is not limited to the magnetic tape. The present invention is applicable to a mobile storage medium such as an optical disk or magneto-optical disk. In accordance with the above-described embodiments, it is determined whether the information related to the backup software, for example the backup software  19  of which the library agent software  18  in the server  12  notifies (such as the software name) matches the information read by the drive (such as the label information). Alternatively, without performing such a determination, the backup software may be identified in accordance with either the information provided by the server  12  or the information read from the drive. The process content of the backup software in operation (process sequence) is compared with the process content of the registered backup software  19 . Depending of whether the two pieces of information match each other or not, it is determined whether the process content provided by the server  12  is a normal process. A faulty discharge operation is thus detected. With this arrangement, the information related to the backup software is simply obtained from one of the server  12  and the drive. The process for identifying the backup software is simplified. Means for notifying the library apparatus of the information related to the backup software in operation is not limited to the one by the library agent software. A central processing unit (CPU) of the server  12  may notify the library apparatus  11  of the related information. With such an arrangement, the library apparatus  11  can acquire the information related to the backup software in operation if the library agent software  18  is not present in the server  12 . In accordance with the above-described embodiments, command sequences of two pieces of backup software  19  are registered in the table  31 . The number of pieces of backup software  19  may be one or three or even more. 
     Although a few embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.