Abstract:
The present invention provides a system, wherein when operations such as a deleting of an ID or a changing of a group to which an ID belongs is carried out, the data range within the file system influenced by the operation is efficiently specified from the enormous amount of data within the file system, and with the aim to prevent retention of data whose owner has become absent or loss of authority to execute management operations, the file storage system records the hierarchical relationship of users and groups capable of accessing respective file sharing directories, so as to specify the range influenced by the operation performed to IDs in the ID management server, carry out a searching operation targeting only the file sharing directory being influenced within the file system, specify files and directories whose owners have become absent, and carry out processes such as deleting or transferring of ownership.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a storage system, and more specifically, in a file storage system cooperating with an ID management server for managing user IDs capable of accessing file sharing directories, relates to the art of specifying the influences of operations related to IDs regarding the capability of access from users to data accompanying the operations regarding the IDs in a file storage subsystem, and handling data whose owner has become absent. 
       BACKGROUND ART 
       [0002]    In a file storage system, the access to files stored in the storage system is carried out via authentication using an authentication system. An authentication system authenticates users using information (such as user name and password) for uniquely identifying the accessing users. The access capability of a user authenticated by the authentication system is determined based on an access right setting (such as an ACL) set for each file or directory. The authentication system utilizes, for example, a directory service for storing user information (such as an LDAP (Lightweight Directory Access Protocol) service, or Active Directory provided by Microsoft) or a database, and also utilizes Kerberos or the like as the authentication mechanism. The server in which a directory service or the like is operated for registering users for authentication purposes is called an “ID management server” in the present specification. 
         [0003]    If a user or a group of users registered in the ID management server is changed or deleted, the users capable of accessing the related file storage subsystem are influenced. If a user capable of accessing the file sharing directory in the file storage subsystem is deleted from the ID management server, the user will no longer be able to access that file sharing directory. However, the file owned by the user still remains. Therefore, arts disclosed in patent literatures 1 and 2 are provided as examples of prior art techniques for coping with the data whose user having the ownership thereof is absent, or which is access-disabled data. 
       CITATION LIST 
     Patent Literature 
     [PTL 1] 
       [0004]    U.S. Pat. No. 8,006,309
 
(International Patent Application Publication No. WO2005/015420)
 
       [PTL 2] 
     US Patent Application Publication No. 2011/0231364 
     (Japanese Patent Application Laid-Open Publication No. 2011-198109) 
     SUMMARY OF INVENTION 
     Technical Problem 
       [0005]    As described, with reference to the prior art, if users or a group of users registered in the ID management server are changed or deleted, the users capable of accessing the related file storage subsystem will be influenced. If a user capable of accessing the file sharing directory in the file storage subsystem is deleted, the user will no longer be able to access that file sharing directory. However, since the file owned by that owner still remains, an unnecessary file owned by a deleted user will remain stored in the file storage subsystem, by which the efficiency of use of capacity is deteriorated. When a user is deleted, the files or directories owned by that user will be in an owner-absent state. This means that the only person capable of executing operations permitted by the owner becomes absent, which brings about obstacles to the management of files and directories. 
         [0006]    Further, if a group to which a user or a group of users belongs is changed and the user/group hierarchy is changed, the access availability to a file sharing directory may be changed. If a user is withdrawn from a certain group, the withdrawn user will be disabled from accessing a shared directory whose access right is provided to that group. Even in such case, the user having the ownership will no longer be able to manage files, which pose a problem for management. 
         [0007]    If a user having an ownership of a file or a directory becomes absent or incapable of accessing the file or the directory, the system can cope with the problem by performing operations such as deleting or transferring of ownership of the file or directory, but if there are a large number of files and directories owned by that user, high costs are required to search for the files and directories owned by that user from the whole file system. Further, since the user/group hierarchical information and access rights related to the file sharing directory are managed independently by the file storage subsystem and the ID management server, it may be difficult to actually specify which user is capable of accessing the file sharing directory. 
       Solution to Problem 
       [0008]    In the present invention, a server includes an ID management unit for managing an ID of a user capable of accessing a file or a directory or an ID of a group which is an assembly of users, and a file storage subsystem capable of connecting with a server via a network includes a table for recording the ID of a user or an ID of a group capable of accessing a file sharing directory and a hierarchical relationship of the IDs, and a control unit for carrying out a processing related to the file and the directory based on the information acquired from the ID management unit of the server, wherein when a change information related to the user ID or the group ID recorded in the table is acquired from the ID management unit, the control unit refers to the table to specify the file sharing directory that the ID of the user or the ID of the group being changed is capable of accessing, and carries out a processing required by the change to the files or directories belonging to the specified file sharing directory (such as deleting of an ID or changing of group hierarchy). 
       Advantageous Effects of Invention 
       [0009]    According to the present invention, data remaining in the file storage subsystem whose owner is absent can be subjected to appropriate processing. For example, the efficiency of use of capacity can be improved by deleting files whose owners are absent. Moreover, when an owner becomes absent through transfer of ownership, management of data can be taken over by a different user. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0010]      FIG. 1  is an overall configuration diagram of a file storage system according to the present invention. 
           [0011]      FIG. 2  is an internal configuration diagram of a file storage subsystem. 
           [0012]      FIG. 3  is an internal configuration diagram of an ID management server. 
           [0013]      FIG. 4  is a view showing one example of a shared access enabled user/group table. 
           [0014]      FIG. 5  is a view showing one example of a file processing policy. 
           [0015]      FIG. 6  is a flowchart showing an update processing of a shared access enabled user/group table. 
           [0016]      FIG. 7  is a part (former half) of a flowchart showing the procedure for processing a user-owned file accompanying the deleting of user ID according to a first embodiment of the present invention. 
           [0017]      FIG. 8  is a part (latter half) of a flowchart continuing from the flowchart shown in  FIG. 7 . 
           [0018]      FIG. 9  is a part (former half) of a flowchart showing the procedure for processing a user-owned file accompanying the change of group to which a user ID belongs as a second embodiment of the present invention. 
           [0019]      FIG. 10  is a part (latter half) of a flowchart continuing from the flowchart shown in  FIG. 9 . 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0020]    The configuration of a file storage system having an ID management server is illustrated as a preferred embodiment of the present invention, and cases where a user or a group to which the user belongs is deleted or cancelled will be illustrated as the actual examples. 
         [0021]      FIG. 1  is an overall configuration diagram of a file storage system according to the present invention. In the system, one or more file storage subsystems  12  and an ID management server  13  are connected via a network  14  composed of a WAN, a LAN or the like. 
         [0022]      FIG. 2  is an internal configuration diagram of a file storage subsystem  12  within the overall configuration illustrated in  FIG. 1 . The file storage subsystem  12  is composed of a network I/F  1201  for connecting the subsystem to other computers or storage subsystems, a CPU  1202  for carrying out operations of programs, a memory and an OS  1203  operating thereon, and a disk array  1209  for storing data. 
         [0023]    The memory and OS  1203  operating thereon includes an ID difference acquisition unit  1204  for receiving the change information of ID information from the ID management server  13  and determining the influence accompanying this change of ID, a file processing unit  1205  for carrying out processes regarding files, a share management unit  1206  for managing file sharing directories and executing processes related thereto, one or more file sharing services  1207  for opening files in the file system to users, one or more file systems  1208  for managing files and directories, a shared access enabled user/group table  1211  for recording the users capable of accessing the file sharing directory, and a file processing policy  1212  for defining the contents of processing regarding files and directories in response to the change of ID. In this example, the ID difference acquisition unit  1204 , the file processing unit  1205  and the share management unit  1206  can be recognized as a single group of units capable of exerting the function of a control unit. 
         [0024]    The disk array  1209  is composed of one or more volumes for storing the files in the file system  1208 . 
         [0025]      FIG. 3  is an internal configuration diagram of the ID management server  13  illustrated in the overall configuration of  FIG. 1 . The ID management server  13  is composed of an operation log storage unit  1302  for storing logs recording the change of ID information and the like, an ID database  1303  for storing the ID information, and a network OF  1304  for connection with other computers and storage subsystems. 
         [0026]      FIG. 4  is a view showing one example of the shared access enabled usergroup table  1211  retained in the file storage subsystem  12 . One table is retained for each file sharing directory, and each table is composed of a column  12111  storing the UID of the users or the GID of the groups capable of accessing shared files and directories, a column  12112  storing the names of the users or groups (hereinafter abbreviated as “usersgroups”), a column  12113  storing the UIDs or the GIDs of subordinate usersgroups of the relevant usersgroups, and a column  12114  for storing the GID of a superordinate group of the relevant usersgroups (in other words, the group to which the relevant usersgroups belong). 
         [0027]      FIG. 5  is a view showing one example of a file processing policy  1212  retained by the file storage subsystem  12 . The file processing policy  1212  is composed of a column  12121  for storing the share name of the file sharing directory, and a column  12122  for defining the contents of processing of the files and directories of which the owner is absent. 
         [0028]      FIG. 6  is a flowchart showing the flow of an update processing of a shared access enabled usergroup table. 
         [0029]    At first, a file storage administrator sets up an access authority in a file sharing directory regarding the usersgroups registered in the ID management server  13  (S 601 ). 
         [0030]    Next, the share management unit  1206  sends an inquiry to the ID management server  13  regarding a superordinate group to which the usersgroups set to have the access authority in the file sharing directory belongs and subordinate usersgroups belonging to the relevant usersgroups (S 602 ). 
         [0031]    Thereafter, based on the response from the ID management server  13  regarding this inquiry, the share management unit  1206  acquires all the UID and GID information of a superordinate group (to which the usersgroups capable of accessing the file sharing directory belong) and a subordinate usergroup (which belong to the usersgroups capable of accessing the file sharing directory), and based on the acquired information, the information related to the UID and GID of the relevant usersgroups, the superordinate group (to which the relevant usersgroups belong) and the subordinate usergroup (which belong to the relevant usersgroups) are recorded in the shared access enabled usergroup table  1211  (S 603 ). 
         [0032]    Based on the procedure described above, the usersgroups capable of accessing each file sharing directory can be recorded exhaustively based on the access right set up for each file sharing directory and the hierarchical relationship of usersgroups. 
       Embodiment 1 
       [0033]    As a first embodiment of the system configuration related to the present invention, the processing performed in a case where a user or a group to which the user belongs is deleted will be described hereafter with reference to the flowcharts. 
         [0034]      FIGS. 7 and 8  are flowcharts illustrating the flow of processes carried out when a user ID or a group ID is deleted from the ID management server  13 . 
         [0035]    At first, the ID difference acquisition unit  1204  refers to a log stored in an operation log storage section  1302  in the ID management server  13  (S 701 ). 
         [0036]    Next, the ID difference acquisition unit  1204  determines whether a delete operation related to the ID stored in the shared access enabled usergroup table  1211  is recorded in the above-mentioned log or not (S 702 ). If delete operation is not stored (S 702 : No), the process is ended, and if delete operation is stored (S 702 : Yes), the ID difference acquisition unit  1204  refers to the contents of the shared access enabled usergroup table  1211  (S 703 ). 
         [0037]    Thereafter, the ID difference acquisition unit  1204  determines whether the shared directory in which the ID having been deleted from the ID management server  13  (hereinafter, this ID may be abbreviated as “deleted ID” in the specification and drawings) has been set to access enabled or not (S 704 ). In other words, the ID difference acquisition unit  1204  scans a UIDGID column  12111  in the shared access enabled usergroup table  1211  to determine whether the deleted ID is included thereto, and if the deleted ID is not included in the column (S 704 ), the unit determines in the subsequent step whether the deleted ID belongs to a subordinate of the shared access-enabled ID or not (S 705 ). 
         [0038]    In the present step  705  (S 705 ), the ID difference acquisition unit  1204  scans the UIDGID column  12113  of the usersgroups belonging to the shared access enabled usergroup table  1211  to determine whether the deleted ID is included in the column or not. If the deleted ID is not included in the column (S 705 : No), the process is ended, but if the deleted ID is included in the column (S 705 : Yes) or if an ID deleted in the former step S 704  is included in the UIDGID column  12111  (S 704 : Yes), the file processing unit  1205  scans the files and directories within the file system by restricting the area to the shared directories capable of being accessed by the deleted ID (S 706 ). 
         [0039]    Based on this scan, the file processing unit  1205  determines whether the files and directories owned by the usersgroups of the deleted ID exist within the relevant shared directory or not (S 707 ), wherein if they do not exist (S 707 : No), the other directories belonging to the shared directory are scanned repeatedly, and if the corresponding files and directories exist (S 707 : Yes), processes based on the contents of a processing column  12122  to an owner absent file of the file processing policy  1212  are carried out with respect to the relevant files or directories (S 708 ). 
         [0040]    Next, as an update processing of the shared access enabled usergroup table  1211 , the share management unit  1206  deletes a row having the ID deleted from the ID management server  13  as the value of column  12111 , and as for the entry having the relevant deleted ID as the value of column  12113  and column  12114 , the ID is deleted from the entry (S 709 ). 
         [0041]    The processes mentioned above are repeatedly performed for all the file sharing directories including the other directories belonging to the shared directory (S 710 : No), and when the processes are completed (S 710 : Yes), the processing is ended. 
       Embodiment 2 
       [0042]    As a second embodiment of a system configuration related to the present invention, the processing performed when the user or the group to which the user belongs is changed will be described hereafter with reference to the flowcharts. 
         [0043]      FIGS. 9 and 10  are flowcharts showing the flow of processing carried out when the user or the group to which the user belongs stored in the ID management server  13  is changed. 
         [0044]    At first, similar to the previous delete processing, the ID difference acquisition unit  1204  refers to the log stored in the operation log storage section  1302  in the ID management server  13  (S 901 ). 
         [0045]    Thereafter, the ID difference acquisition unit  1204  determines whether a group changing operation regarding the ID stored in the shared access enabled usergroup table  1211  is recorded in the above-mentioned log or not (S 902 ). If a group changing operation is not recorded (S 902 : No), the processing is ended, but if the operation is recorded (S 902 : Yes), the ID difference acquisition unit  1204  determines whether the group changing operation regarding the relevant ID is an operation to have the ID belong to a new group or not (S 903 ). 
         [0046]    If the operation regarding the relevant ID is an operation to have the ID belong to a new group (S 903 : Yes), the ID difference acquisition unit  1204  determines whether the ID having the group changed and the ID of the group to which the relevant ID newly belongs is stored in the shared access enabled usergroup table  1211  or not (S 904 ). If they are not recorded (S 904 : No), the process is ended. 
         [0047]    On the other hand, if they are stored (S 904 : Yes), the share management unit  1206  updates the shared access enabled usergroup table  1211 , and updates the hierarchical relationship of the users and groups to reflect the latest relationship. Actually, the share management unit  1206  scans the shared access enabled usergroup table  1211 , and if the ID having the group changed and the ID of the group to which the relevant ID newly belongs are included in the shared access enabled usergroup table  1211 , the data in column  12113  or column  12114  of the corresponding row is updated (S 905 ). After the update, the processing is ended. 
         [0048]    Next, if the group changing operation regarding the above-mentioned ID in the above-mentioned step  903  (S 903 ) is not an operation to have an ID belong to a new group (S 903 : No), the ID difference acquisition unit  1204  determines whether the group changing operation of the relevant ID is a withdrawal from a group to which the ID had belonged, and if it is not a withdrawal (S 906 : No), the process is ended. 
         [0049]    On the other hand, if the group changing operation regarding the relevant ID is a withdrawal from the group to which the ID had belonged (S 906 : Yes), the ID difference acquisition unit  1204  refers to the UIDGID column  12111  of the shared access enabled usergroup table  1211  (S 907 ), and determines whether the ID of the withdrawn group is included in the column or not (S 908 ). 
         [0050]    If the ID of the withdrawn group is not included in the column (S 908 : No), the processing is ended, but if the ID of the withdrawn group is included in the column (S 908 : Yes), the file processing unit  1205  determines that the ID withdrawn from the group was capable of accessing the shared memory by the authority of that group, and carries out a scan narrowing down the target to the relevant shared directory of the file system (S 909 ). 
         [0051]    Thereafter, if files or directories owned by the ID having been withdrawn from the group are not found within the shared directory (S 910 : No), the file processing unit  1205  scans other directories belonging to the shared directory, and ends the processing when overall scanning has been completed (S 913 ). On the other hand, if corresponding files and directories are found in step  910  (S 910 : Yes), the file processing unit  1205  carries out the processing based on the contents of a processing column  12122  of owner absent files of the file processing policy  1212  for the relevant files or directories (S 911 ). 
         [0052]    Thereafter, as an update processing of the shared access enabled usergroup table  1211 , the share management unit  1206  updates the contents of columns  12113  and  12114  of the row having the ID of which the superordinate group has changed in the value of column  12111 , and deletes the ID of the withdrawn group (S 912 ). The processing mentioned above is repeatedly performed for all file sharing directories including the other subordinate directories of the shared directory (S 913 : No), and when the processing is completed (S 913 : Yes), the processing is ended. 
         [0053]    As described, according to embodiments 1 and 2, when deleting or changing operation is carried out to the users or groups capable of accessing a shared directory in the file storage subsystem  12  managed by the ID management server  13 , the range influenced by the operation can be specified. 
         [0054]    That is, the information on users or groups capable of accessing a shared directory including the hierarchical relationship of users or groups is stored in advance using the shared access enabled usergroup table  1211  stored in the file storage subsystem  12 . 
         [0055]    According to this operation, when a user ID or a group ID is deleted, it becomes possible to specify the shared directory that had been accessible from the deleted ID, and to restrict the search range within the file system to the relevant shared directory, in order to efficiently search and specify the file or the directory having lost its owner by the deleting of the ID, to thereby execute appropriate processes. 
         [0056]    Even further, when the group to which the user or group belongs is changed and the hierarchical relationship of the users or groups is changed thereby, the present invention enables to specify the range being influenced by the change using the shared access enabled usergroup table  1211 , and to execute appropriate processes to the files and directories in the shared directory that could not be accessed from the user having their ownership. 
         [0057]    The present embodiment is designed so that the file storage subsystem  12  acquires change information of the ID from the ID management server  13 , but the present embodiment can also be designed so that a program stored in the ID management server  13  sends information to the file storage subsystem  12  when necessary. 
       REFERENCE SIGNS LIST 
       [0000]    
       
           12 : File storage subsystem 
           13 : ID management server 
           14 : Network (such as WAN or LAN) 
           1201 : Network IF 
           1202 : CPU 
           1203 : Memory and OS operating therein 
           1204 : ID difference acquisition unit 
           1205 : File processing unit 
           1206 : Share management unit 
           1207 : File sharing service 
           1208 : File system 
           1209 : Disk array 
           1210 : Volume 
           1211 : Shared access enabled usergroup table 
           1212 : File processing policy 
           1302 : Operation log storage section 
           1303 : ID database 
           1304 : Network IF