Abstract:
A new approach to the manipulation of data access of storage that complies with certain mapping interlinks between front-end servers and back-end storage data pool and which lessens the complexity of the interlinks and improves the efficiency of the data accessibility is disclosed. The method allocates multiple user hardware devices and the logical units to a correspondent designated sub-zone so that there is at least one sub-zone associated with two or more logical units, wherein the logical units reside inside the storage hardware or network. The method establishes the data access interlinks within the same sub-zone between users and logical units. A system that substantiates the method is also disclosed. The method and the system together comprise a new storage scheme.

Description:
CLAIM OF PRIORITY 
     The present applications claims priority pursuant to 35 U.S.C. §119 to patent application number 200810215564.1 filed on Sep. 9, 2008 in the People&#39;s Republic of China and is incorporated by reference herein in its entirety. 
     BACKGROUND OF THE INVENTION 
     The present invention relates generally to computers and communications and more particularly to a software method and system providing data interlinks between front end users and back end storage pools. 
     It is quite common that hardware of various models from different vendors and manufactures are present in the same storage network due to the diversified storage market and technology. This heterogeneousness makes the administration and management of the storage network very complex. Access conflicts and resource competition among the front-end users is thus becoming inevitable. 
     To solve these problems, the prior art provides generally a virtualization technique and introduces a virtual engine at the storage end to manage all front-end users. With reference to  FIG. 1 , the front end users are connected to the virtual engine through servers  102  and the virtual engine  104  manages the disk arrays inside the storage hardware  106 . The virtual engine comprises logical units and a unified virtual layer. The unified virtual layer is the abstraction of the disk arrays, which reflects the access requests from front end users to the disk arrays; the logical units face toward the front-end users and examine the “legitimacy” of the access request from the front-end users. The logical units share such access requests so that the goal of reducing access conflicts and resource competition can be accomplished. 
     A storage pool or hardware device is thus abstracted into multiple logical units. One storage hardware device can link to several front-end users, while one front-end user may access multiple storage hardware devices. Such inter-access or interlinks between the storage hardware devices and front-end users will become more and more complex when the number of storage hardware devices and front-end users becomes bigger and bigger. The system administrator has to maintain, manually, each interlink between the back-end storage and the front-end user or server. The burden will eventually become too heavy to bear and human error or mistake will unfortunately become inevitable. 
     SUMMARY OF THE INVENTION 
     In accordance with one aspect of the invention, a method of manipulating the data access to storage that complies with certain mapping interlinks between front-end users or servers and back-end storage data pool is provided. The method lessens the complexity of the interlinks and improves the efficiency of the data accessibility. The method allocates multiple user servers to correspondent designated sub-zones, allocates multiple logical units to the correspondent designated sub-zones so that there is at least one sub-zone that is associated with, equal to or more than, two logical units; in which the logical units reside inside the storage hardware; and establishes the data access interlinks between users and logical units in the same sub-zone. 
     In accordance with another aspect of the invention, a method of accessing the logical units of the storage hardware and storage network includes inquiring and checking the existence among the sub-zones of identifiers (IDs) of the user hardware devices when access is requested by the user hardware devices, when the ID is found in a certain sub-zone, retrieving the ID of an associated logical units from the Request to Access, and if the ID of the associated logical unit is found, granting the Request to Access and allowing the data access to proceed, else, denying the Request to Access. 
     In accordance with another aspect of the invention, a system that manipulates the data access interlinks includes a zoning module to establish multiple sub-zones, a sub-zoning module to allocate multiple user hardware devices to the sub-zones allocated and to allocate multiple logical units to each sub-zone in such manner that each sub-zone will host or accommodate at least two logical units wherein the logical units reside inside the storage hardware and network, and an interlinks module to establish the accessibility interlinks between the user servers and the logical units belonging to the same sub-zone. 
     In accordance with another aspect of the invention, a system that controls the logical units of the storage hardware and network includes a user interface module to receive the request for access from user hardware devices, an inquiring module to inquire as to the presence or existence of the correspondent user ID when requested by the user hardware devices and to retrieve the logical unit ID from the Request to Access by the users in the same sub-zones if the user ID is found in that sub-zone and a control module to grant the accessibility to the users if the correspondent logical unit ID is found to exist, or to deny the access otherwise. 
     In accordance with another aspect of the invention, a storage system includes the storage hardware and network with associated logical units to handle the request to access, the user hardware devices to initiate the request to access, and the framework of sub-zoning that determines the existence of user IDs among the sub-zones and retrieves the logical units&#39; ID that is allocated or associated with the user ID in the same sub-zone when the user ID is found valid, and forwards the Request to Access to the correspondent storage hardware and network if the logical units&#39; ID is retrieved successfully and otherwise denies the Request to Access. 
     In accordance with another aspect of the invention, multiple user/servers and the correspondent/affiliated logical units are allocated into designated sub-zones and accessibility between the users and the logical units within the same sub-zones is established while the accessibility from the user/servers to the logical units outside the same sub-zone is prohibited. 
     In accordance with the invention, the complex interlinks between the user and the logical units are narrowed and limited to each sub-zone so that human effort and error are greatly reduced. In addition the users only inquire the logical units within the sub-zone to which the affiliated users/servers are allocated to instead of a “global” inquiring. For better control purposes, the rights of user access to the logical units are permitted only to those that belong to the same sub-zones. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic representation of a prior art system; 
         FIG. 2  is a high level flow chart of a method in accordance with the invention; 
         FIGS. 3A and 3B  are detailed flow charts of the method of  FIG. 2 ; 
         FIG. 4  is a high level flow chart of another method in accordance with the invention; 
         FIGS. 5A and 5B  are detailed flow charts of the method of  FIG. 4 ; 
         FIG. 6  is a flow chart of yet another method in accordance with the invention; 
         FIG. 7  is a schematic representation of a sub-zoning system in accordance with the invention; and 
         FIG. 8  is a schematic representation of a storage system in accordance with the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The method in accordance with the invention comprises the following steps: allocating multiple user hardware devices and logical units to pre-designated sub-zones, establishing the accessibility policy among the users and logical units so that the implementation of the accessibility among the users and logical units becomes simplified significantly. The user hardware device can access the logical units whose accessibility is designated by the system administrator. The user hardware device in accordance with the invention includes front-end users and servers. 
     With reference to  FIG. 2 , a method in accordance with the invention includes dividing/establishing a plurality of sub-zones. It is a good practice that the number of resulting sub-zones is less than the number of user hardware devices and logical units. In a step  201  multiple users are allocated to the pre-designated/established sub-zones. Multiple users can be allocated to one sub-zone, while an individual user can also be allocated to multiple sub-zones. The user ID and its access authorization will be reserved in the allocated sub-zone. A user will not belong to any sub-zone if it does not have the authorization to access any logical units. 
     In a step  202  multiple logical units are allocated to the pre-designated/established sub-zones in such way that there is at least one sub-zone that is allocated to at least two logical units. The logical units reside inside the storage hardware/pool. The ID of the logical units is also reserved in the designated sub-zones. If an individual logical unit is inaccessible to any users, the storage hardware becomes its private hardware. This logical unit will not belong to any sub-zone. In a step  203  accessibility interlinks are established between the users and logical units inside each sub-zone. 
     The order of execution of steps  201  and  202  is not rigorous and they can proceed at the same time. The policies to allocate the users and logical units into sub-zones can be varied: such as randomly or evenly or according to the properties of the applications. These properties include the application classification, throughput/bandwidth, occupied resource, etc. 
     With reference to  FIGS. 3A and 3B , there is shown a method in which the policy of allocating users and logical elements is in accordance with the properties of the application. In a step  301 , multiple sub-zones are divided/established. In a step  302 , correspondent application properties in each sub-zone are recorded and in a step  303 , users&#39; IDs are obtained. Application classifications are retrieved from the users&#39; IDs in a step  304  and in a step  305 , users with the same application properties are allocated to correspondent sub-zones, recording users&#39; IDs and their authorizations on read and write accessibility. The connection from the step  304  in  FIG. 3A  to the step  305  in  FIG. 3B  is identified by a circle A in  FIG. 3A . 
     In a step  306 , IDs of the logical units are obtained and in a step  307  corresponding application classifications are retrieved from the IDs of the logical units. Logical units with the same application properties are allocated to correspondent sub-zones and their IDs recorded in a step  308 . 
     In accordance with the invention, the execution order of steps  303 - 305  and  306 - 308  is not rigorous. 
     The method shown in  FIGS. 3A and 3B  depicts the accessibility interlinks between the users and logical units within each sub-zone. Each user can access the logical units within the same sub-zone. For instance, assume there are sub-zone  1  and  2  and that users  1  and  2  belong to sub-zone  1 , and that users  2  and  3  belong to sub-zone  2 . Further assume that logical units  1  and  2  belong to sub-zone  1 , while logical unit  3  belongs to sub-zone  2 . Table 1 illustrates the accessibility interlinks between the users and the logical units: 
     
       
         
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 User 1 
                 User 2 
                 User 3 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 Logical 
                 Accessible 
                 Accessible 
                 Inaccessible 
               
               
                   
                 unit 1 
                 (read) 
                 (write) 
               
               
                   
                 Logical 
                 Accessible 
                 Accessible 
                 Inaccessible 
               
               
                   
                 unit 2 
                 (read) 
                 (write) 
               
               
                   
                 Logical 
                 Inaccessible 
                 Accessible 
                 Accessible 
               
               
                   
                 unit 3 
                   
                 (read) 
                 (write) 
               
               
                   
                   
               
             
          
         
       
     
     In accordance with the invention, in order to add more accessible interlinks between the users and logical units, one can easily do so by adding the user ID into the sub-zone having the correspondent logical units allocated, or by adding the logical units&#39; ID into the sub-zones to which the users are allocated. A tedious manual one-to-one interlinking is thus avoided. The same is true when abolishing the interlinks between the users and logical units. This can be easily accomplished by removing either the user or logical ID from the correspondent sub-zones. Therefore, the effort and complexity of these tasks are greatly diminished. 
     With reference to  FIG. 4 , a method of accessing storage includes inquiring the users, ID in the sub-zones following the user hardware device&#39;s access request in a step  401 . In a step  402 , following finding the users&#39; ID, the logical unit&#39;s ID from the sub-zone(s) that carries the user ID is inquired. A determination is made in a step  403  whether a logical unit ID is found. If a logical unit ID is found, then in a step  404  the access request is accepted and passed to the logical units concerned. If a logical unit ID is not found, then in a step  405 , the access request is denied and the user is notified of the denial. 
     A more rigorous administration is also possible as depicted in  FIGS. 5A and 5B . In a step  501  an access request is received from the user and inquiring the user ID in the sub-zones is performed. In a step  502  a determination is made whether the user ID is found in any sub-zone. If the user ID is found, then in a step  503  inquiring the logical units&#39; IDs is performed from the sub-zones that carry the user ID. If the user ID is not found, then in a step  507 , the access request is denied and the user notified. In a step  504 , a determination is made whether the logical unit&#39;s ID is found. If the logical unit&#39;s ID is not found, the method proceeds to step  507 , otherwise, the method proceeds to a step  505  in which a determination is made whether the user has access to the sub-zone based upon the access request. If the accessibility is validated, then the access request is validated in a step  506 , otherwise step  507  is executed and the access request is denied. The connection from the step  504  in  FIG. 5A  to the step  505  in  FIG. 5B  is identified by a circle B, and the connection from any of the steps  502  and  504  in  FIG. 5A  to the step  507  in  FIG. 5B  is identified by a circle C. 
     From step  501 , the receivers of the access request are the sub-zones, and what each sub-zone needs to do is to check the user and logical unit ID locally; if the ID is not present, the access request will be denied. Therefore, the inquiring process becomes “ID-checking” among the sub-zones. The amount of inquiring, in terms of data and time will be much less than that of prior art schemes. In other words, the administration layer of the sub-zones is now playing the role in receiving the access requests from the users. This layer inquires the user and logical units ID among the sub-zones and denies the request if the IDs are not found. The layer will examine the accessibility of the users as the next step if the ID is found. Both the amount of inquiring and the degree of technical complexity are reduced by the methods of the invention: firstly finding out the sub-zones carrying the user ID, then checking the logical units ID among those sub-zones. 
     The logical unit ID that comes with the user&#39;s access request can be recorded in the user hardware, or acquired from other hardware devices. Depicted in  FIG. 6 , a method for a user hardware device to obtain the logical units ID includes a step  601  in which the access request is received from the user. In a step  602 , the user ID is inquired in the sub-zones. A determination is made in a step  603  whether the user ID is found. If the user ID is found, then in a step  604 , the logical unit ID is fed back to the user from the sub-zones that carry the user ID indicating that the user has accessibility to the logical units. If the user ID is not found, then in a step  605 , the access request is denied. 
     With reference to  FIG. 7 , a system  700  in which the sub-zoning approach is implemented is shown. The system  700  includes a zone creating module  701 , sub-zoning module  702 , an interlink module  708 , a user interface module  703 , an inquiring module  704 , a control module  705 , and a logical interface module  706 . Module  701 ,  702  and  708  are used in sub-zoning and accessibility processing, that is, the creation of sub-zones, adding and deleting of user and logical unit ID, etc. Modules  703 ,  706 ,  704  and  705  implement the access to the storage and the inquire/response to the logical units. 
     Zone creating module  701  creates multiple sub-zones. 
     Sub-zoning module  702  allocates multiple users to each pre-designated sub-zone, as well as the multiple logical units in such way that there is at least one sub-zone that is allocated to at least two logical units, the logical units residing in the storage hardware. 
     Interlink module  708  implements (creates and abolishes) the accessibility interlinks between the users and logical units within the same sub-zones, that is, adding or deleting the user and logical unit IDs, setting up the accessibility authorization, etc. 
     User interface module  703  interacts with the user hardware devices and receives the access requests from the users; 
     Logical interface module  706  interacts with the logical interfaces of the storage hardware devices. 
     Inquiring module  704  inquires the user ID on access request and further inquires the logical units ID from the sub-zones that carry the user ID. 
     Control module  705  determines and validates the accessibility of the users to the storage when the logical units ID is found. If the accessibility is validated, it instructs the Logical interface module  706  to pass the access request to the storage hardware, otherwise, it instructs the User interface module  703  to feedback “access denying” signal to the users. 
     The sub-zoning system  700  may also include Storage module  707  which records the user and logical units ID, and accessibility and the application classification of the sub-zones. Storage module  707  may record the above information by the bitmap format. 
     The sub-zoning system  700  takes variety of forms: It can be a sub-zone itself; it can be formed by the sub-zone administration layer (modules  701 ,  702 ,  703 ,  704 ,  705  and  706 ) and a sub-zone (module  707 ); and it can also be formed by the administration layer (modules  701 ,  702 ,  703  and  704 ) and the sub-zone (modules  707 ,  705  and  706 ). 
     With reference to  FIG. 8 , a storage system is implemented based on the sub-zoning approach and includes storage hardware  801 , user hardware  802  and the sub-zoning system  700 . Storage hardware  801 , including the logical units  8011 , is used to process access requests and maintain/keep the data. User hardware  802  is operable to initiate and inquire the access request as well as to receive feedback. The sub-zoning system or scheme  700  operates as the administrative body for the sub-zoning and access requests. Upon request to access from a user hardware device, it inquires the user ID among the sub-zones and then the correspondent logical units ID from the sub-zones if the user ID is found in them. It then passes the access request to the Logical unit  8011  inside the Storage hardware  801  if the logical unit ID is found and validated, otherwise, denies that request to access. 
     The methods of the invention may be implemented in software and can be stored into floppy, hard disk, CD/DVD and flash, etc storage media. 
     The methods and system of the invention allocate multiple user hardware devices and logical units to the correspondent sub-zones and establish certain accessibility interlinks between the users and logical units while prohibiting the interlinks/accessibility across different sub-zones. This simplifies the interlinks between the logical units and users significantly, from the prior art large scale one-to-one involved relationships to much smaller scale sub-zoned or sub-grouped ones. Therefore, the process of manipulating and handling the complex interlinks between the users and logical units becomes a lot easier and quicker, and more importantly, much less error prone. The policies of sub-zoning, specifically the sub-zoning according to the application classification approach, have many advantages such as data and resource sharing and de-duplication. The methods and system of the invention also presents an approach to access to the logical units inside the storage hardware in the event of sub-zoning, such that the inquiring to logical units is made within the sub-zones that carry the user ID, not all logical units. The inquiring effort and data amount are thus much less than those of prior art schemes. The access control is also much easier since the users don&#39;t have accessibility to those logical units that are outside the same sub-zones. 
     Other developers in the same industry sector can do many alternations and modifications to the disclosed methods and system as long as the basic principles and concepts are observed. Therefore, the inventor claims and reserves the right to any alteration and modification to the described methods and system.