Abstract:
A system includes servers accessing storage through a storage area network. The storage has a plurality of ports which may differ in data transfer speed, and memory resources connected to these ports. Data transmission between a port and a server is monitored. If the amount of data transfer exceeds prescribed limits, then a different port is selected, and that port is used for further communications.

Description:
BACKGROUND OF THE INVENTION 
     The present application claims priority upon Japanese Patent Application No. 2001-87233 filed on Mar. 26, 2001, which is herein incorporated by reference. 
     1. Field of the Invention 
     The present invention relates to a storage area network system, a storage, and a data transfer amount monitoring apparatus. 
     2. Description of the Related Art 
     Recently, due to the complexity of system management and with the aim of reducing system operation management cost, there is rapid growth in services such as an Internet Data Center (hereinafter referred to as “IDC”) or a Storage Service Provider (hereinafter referred to as “SSP”). These services provide management of servers consigned by a corporation and central management of data thereof. 
     With the IDC and SSP, in particular, a Storage Area Network (hereinafter referred to as “SAN”) which uses a fiber channel capable of high-speed and long distance data transfer is connected with a plurality of servers and storages to construct the SAN system, thus storage management is integrated. This storage is constructed of a large scale disk array equipped with multiple large-capacity magnetic disks, and centrally manages large amounts of various data that are consigned. An end user, from his/her own information terminal (hereinafter referred to as “user terminal”), via such as a Wide-area Network (hereinafter referred to as “WAN”) and a Local Area Network (hereinafter referred to as “LAN”), accesses a user server inside the IDC and SSP. The user server responds to a request from the user terminal, and conducts transmittance of data by connecting to the storage via the SAN. 
     In such a SAN system, it is necessary to control the data transfer amount to be transmitted, in order to respond to data transfer requests which concentrate from the respective server. Conventionally, when the user terminal accesses the storage through the user server, a method of controlling the transmittable data transfer amount is used, and a connecting speed (line speed) for data transfer is limited by using such as a switching hub on the network which is connected to the server. In this case, an expensive switching hub must be introduced to the entrance of the network connecting to the WAN, and the cost becomes extremely high. 
     Then, the present applicant proposed a method/system of limiting the speed of data transfer between the server and the storage, without using an expensive switching hub. In other words, the ports of the plurality of fiber channels installed to the storage side are made to differ in data transfer speed from each other. These port groups deal with the various data transfer requested by the respective server. As a specific operation, in a contract with a service user, a prescribed data transfer amount is determined for respective servers, and the respective server selects a storage port appropriate for its own data transfer amount, and then performs data transfer. 
     However, there is a case where the server makes a request exceeding the prescribed data transfer amount determined in the contract. When such an unplanned request of data transfer exceeding predicted values is accepted, there occurs an obstruction in other data transfer, and the entire SAN system deteriorates in response performance in respect to requests from the respective servers. 
     As an example, when there is a data transfer request from a certain server, if it is in accordance with the contract, usually only a port with a line speed of 60 MB/S or less needs to be used. In the case a request for data transfer amount exceeding the provision occurs, since a conventional storage does not have a port which can control the transfer speed, the maximum transfer speed prepared on the storage side is to be used. Then, when a different server requests for a large-capacity data transfer, the port with the maximum speed which was originally usable can not be selected and used. Thus, a hindrance such as a delay in data transfer occurs, and a response performance of the entire SAN system deteriorates. 
     SUMMARY OF THE INVENTION 
     The present invention is made to solve the above object, and the object is to prevent response performance of an entire SAN system from deteriorating, and to markedly improve the efficiency of the entire data transfer between a storage and a plurality of servers through the SAN. 
     In order to achieve the above object, a storage area network system according to another aspect of the present invention in which a plurality of servers access a storage through the storage area network to conduct transmittance of data, wherein: the storage has a plurality of ports each differing in data transfer speed, and a data memory resource connected to these ports; the respective servers are prescribed a predetermined data transfer amount regarding the data transmittance of the storage and the data memory resource through the port, and further comprises a data transfer amount monitoring means to obtain and monitor the data transfer amount between the respective servers and the storage; wherein the data transfer amount monitoring means compares the prescribed data transfer amount of the server and the obtained actual data transfer amount, selects the port of the storage according to the comparison result, and gives the relevant server an instruction to connect to the port. 
     In order to achieve the above object, a storage according to another aspect of the present invention, comprising a plurality of ports respectively differing in data transfer speed and a data memory resource connected to the ports, and is accessed by a plurality of servers through the storage area network, and conducts transmittance of data through the respective ports, conducts transmittance of data through the port selected as a connection of the server, according to the comparison result of the prescribed data transfer amount of the server and the actual data transfer amount between respective servers and the storage. 
     In order to achieve the above object, a data transfer amount monitoring apparatus according to another aspect of the present invention monitors the data transfer amount between the respective servers and the storage when a plurality of servers conduct transmittance of data through the storage area network, to the storage comprising a plurality of ports differing in data transfer speed respectively and a data memory resource connected to the ports, wherein it comprises: a means to obtain the data transfer amount between the respective servers and the storage; a means to compare the prescribed data transfer amount of the server and the obtained actual data transfer amount; a means to select the port of the storage according to the comparison result; and a means to output an instruction for the selected port to be the connection of the relevant server. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The manner in which the foregoing and other objects of this invention are accomplished will be apparent from the accompanying specification and claims considered together with the drawings, wherein: 
         FIG. 1  is a structural diagram showing an embodiment of a SAN system according to the present invention; 
         FIG. 2  is a job flow diagram of when a monitoring server obtains a data transfer amount from a user server in an embodiment of the present invention; 
         FIG. 3  is a table showing the monitoring server totaling the data transfer amount of the respective user servers in an embodiment of the present invention; 
         FIG. 4  is a table comparing an actual data transfer amount per unit time and a prescribed data transfer amount in an embodiment of the present invention; 
         FIG. 5  is a table showing the priority order of switching of the path of each user server in an embodiment of the present invention; 
         FIG. 6  is a diagram showing the priority order of path switching to a particular disk that a user server  1  accesses in an embodiment of the present invention; 
         FIG. 7  is a graph showing an example of a form of use when the data transfer amount transmitted in a certain time is large in an embodiment of the present invention; 
         FIG. 8  is a job flow chart showing the user server which has received a path switching instruction from the monitoring server, conducting switching of the path in an embodiment of the present invention; 
         FIG. 9  is a graph showing an example of a form of use when the data transfer amount transmitted in a certain time is constant in an embodiment of the present invention; and 
         FIG. 10  shows a flow chart showing an example of an operating method of the SAN system in an embodiment of the present invention. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     ==A Structural Example of a SAN System== 
       FIG. 1  shows a structural example of a SAN system of the present invention applied to a SSP or an IDC. As shown in  FIG. 1 , in the SAN system, a plurality of user servers  1400 ,  1500  and  1600 , and a magnetic disk device (storage)  2300  are connected through a SAN  1700 . 
     The magnetic disk device  2300  comprises a large scale disk array equipped with multiple large-capacity magnetic disks (hard disks), and equipped with I/F ports  2000 ,  2100 ,  2200 , respectively having different data transferring speeds (line speed). The I/F port  2000  provides a maximum data transfer speed (No Limit) of 100 MB/S or the like. The data transfer speed of the I/F port  2100  is a medium speed of 60 MB/S, and the data transfer speed of the I/F port  2200  is a low speed of 30 MB/S. The respective I/F ports  2000 ,  2100  and  2200  are basically connected to all the magnetic disks. Therefore, the respective user servers  1400 ,  1500  and  1600  may use any of the respective I/F ports  2000 ,  2100 , and  2200 . Thus, the magnetic disk device  2300  has a function of setting a plurality of paths for accessing a particular disk. In this way, it becomes possible for the respective user servers  1400 ,  1500  and  1600  to conduct data transfer by selecting a port with an appropriate transfer speed, in respect to a particular disk which one has to access. Through the respective I/F ports, data transfer between the respective user servers  1400 ,  1500  and  1600  and the magnetic disk device  2300  is conducted. 
     Further, the respective user servers  1400 ,  1500  and  1600  are equipped with an I/O monitoring agent. This agent conducts recording of a log of the data transfer conducted between the user servers  1400 ,  1500 , and  1600  and the magnetic disk device  2300 , as well as totaling the transfer rate and the like of input and output of data (hereinafter referred to simply as “I/O”) for every physical disk inside the magnetic disk device  2300  which has actually conducted recording and reading. The respective user servers  1400 ,  1500  and  1600  are connected with an I/O monitoring server  1900  (data transfer amount monitoring means) via a LAN. This I/O monitoring server  1900  conducts monitoring of I/O access request and data transfer amount of the respective user servers  1400 ,  1500  and  1600 . Specifically, this I/O monitoring server  1900  obtains the total record regarding each data transfer from the I/O monitoring agent of the respective user servers and conducts monitoring. Based on this monitoring result, the I/O monitoring server  1900  appropriately selects the port of the magnetic disk device  2300  which is connected to the respective user servers  1400 ,  1500  and  1600 , so that the entire SAN system does not deteriorate in response performance in respect to the data transfer request from the respective user servers  1400 ,  1500  and  1600 . Accordingly, the path to a particular disk which should be accessed by the respective user servers  1400 ,  1500  and  1600  is altered, and transmittance of data through the I/F port with an appropriate transfer speed may be conducted. 
     Note that, the respective user servers  1400 ,  1500  and  1600  are connected with a remote console  1800  via the LAN, and with this remote console  1800 , initial setting, setting change or the like for each portion of the device which construct the SAN system is possible. 
     User terminals (clients)  1000 ,  1100  and  1200  access the SAN system via the WAN or the LAN, and receive various services using the data of the magnetic disk device through the user servers  1400 ,  1500  and  1600  to be used. 
     ==Operating Method of the SAN System== 
     An embodiment of an operating method of the SAN system according to the present invention is described. First, in summary, the respective users who consign data management by entrusting the user server, conclude in advance a Billing Contract regarding data transfer with the magnetic disk device  2300 . The content of the Billing Contract may be, according to the mode of use, such where the data amount which may be transferred during a certain amount of time is determined in advance, and billing may be performed in accordance with the data amount transferred during the certain time; or may be such where the fee is fixed regardless of the data amount transferred. When there is an access request exceeding the data transfer amount which exceeds the contract conditions, in accordance with the respective contract conditions, data transfer speed is automatically reduced, or is always fixed to a lower data transfer speed, thereby preventing deterioration of data transfer efficiency, that is access performance, of the entire SAN system. 
     ==Data Transfer Amount Monitoring Method== 
     First, as shown in  FIG. 2 , the I/O monitoring server  1900  instructs the user servers  1400 ,  1500  and  1600  to initiate a command (for example, iostat, sar or the like) to self-monitor the data transfer amount between the magnetic disk device  2300 . Next, the I/O monitoring server  1900  collects from the respective user servers  1400 ,  1500  and  1600  the data transfer amount within a predetermined time as a self monitoring result. This collected data transfer amount, as shown in table 1 of  FIG. 3 , is corresponded to every disk of the magnetic disk device  2300 . Then, the I/O monitoring server  1900  totals the data transfer amount of the user servers  1400 ,  1500  and  1600  using the device file names of each disk as the key. Then, as shown in the table of  FIG. 4 , a comparison of the actual data transfer amount per unit time obtained as a result of totaling, and the agreed prescribed data transfer amount is performed for the respective user servers  1400 ,  1500  and  1600 . 
     As a result of this comparison, when the actual data transfer amount exceeds the prescribed data transfer amount, according to the user server&#39;s type of contract, the port of the magnetic disk device  2300  used at the time of data transfer may be changed by switching a path. This switching rule of paths for port change is defined by the I/O monitoring server  1900  in advance, and for example as shown in the table of  FIG. 5 , paths corresponding to the priority in three levels is determined. For example, as shown in the block diagram of  FIG. 6 , regarding the user server  1 , as a highest priority path c 0 , a port with a limitless highest data transfer speed (No Limit) is assigned, and as the next highest priority path c 1 , a port with a medium speed data transfer speed (60 MB/S) is assigned. Then, as the third priority path c 2 , a port with a medium speed data transfer speed (30 MB/S) is assigned. 
     &lt;&lt;Embodiment&gt;&gt; 
     In this embodiment, as an example of data transfer two kinds of cases are assumed. The first case is when the access frequency from the user server is relatively low, and also the data transfer amount for one access is relatively large. The second case is when the access frequency from the user server is higher than the predetermined frequency, and also the data transfer amount for one access is relatively smaller than the predetermined transfer amount. 
     The first case is described with reference to  FIG. 7 . As a contract condition of the first case, the maximum performance which may be realized by the system is made usable by the user. That is, the I/F port  2000  of maximum data transfer speed is made usable. Further, the data amount that may be transferred during a certain length of time is determined in advance, and billing is conducted according to the data amount which can be transferred during this certain length of time. Under such contract condition, the I/O monitoring server  1900  in  FIG. 1  monitors the data transfer amount from the respective user servers  1400 ,  1500  and  1600 , and compares to determine whether or not it exceeds the prescribed data transfer amount determined in the contract. As a result of this comparison, in a case there is data transfer exceeding the prescribed data transfer amount as shown by the number “ 3000 ” in  FIG. 7 , at the time of the next access (data transfer) request, as shown by number “ 3100 ” in  FIG. 7 , the I/O monitoring server  1900  switches the I/F port used by the relevant user servers  1400 ,  1500  and  1600  to that with a low speed (60 MB/S) ( 2100  in  FIG. 1 ), and restricts the upper limit of the data transfer speed. Note that the amount exceeding the prescribed data transfer amount is combined with the data transfer amount at the time of the next access and summed up. Further, if after switching to the medium speed I/F port and restricting the upper limit of the data transfer speed, the data transfer time becomes short and the data transfer amount settles within the limit of the contract, as shown by number “ 3200 ” in  FIG. 7 , the above-mentioned restricting measure of the data transfer speed is cancelled, and it becomes possible to use the port with the maximum transfer speed as before. 
     The switching of this I/F port, as shown in a path switching flow in  FIG. 8 , is conducted by giving an instruction from the I/O monitoring server  1900  to the respective user servers  1400 ,  1500  and  1600  to switch I/F ports. The instruction to switch the I/F port uses a shift path function equipped in the respective user servers  1400 ,  1500  and  1600 . If this shift path function of the user servers  1400 ,  1500  and  1600  is used, the switching of the I/F ports almost instantaneously may be possible, without stopping the data transmittance of the user servers. 
     As described above, when the prescribed data transfer amount determined in the contract is exceeded, at the time of data transfer with the next access, data transfer amount between the relevant user server and the magnetic disk device  2300  is suppressed. That is, the data transfer speed between the magnetic disk device  2300  and the user servers  1400 ,  1500  and  1600  in  FIG. 1  deteriorates. By this, the I/F port  2000  with the maximum data transfer speed becomes free, data transfer requests from other user servers may be answered, a situation where the response of the entire SAN system deteriorates is avoided, and a good response performance can be maintained. On the other hand, the data transfer speed requested by the user servers  1400 ,  1500  and  1600  becomes restricted, but in the first case, the data transfer amount in one access is relatively large, but the access frequency from the user servers  1400 ,  1500  and  1600  is relatively low. Therefore, even if the data transfer speed is restricted, the data transfer amount may be extended in the time axis direction, and the actual data transfer amount can settle within the scope of the prescribed data transfer amount determined in the contract. 
     Next, the second case is described with reference to  FIG. 9 . The I/O monitoring server  1900  provides an instruction to a relevant server to connect to an I/F port which does not have the maximum data transfer speed. That is, the I/O monitoring server  1900  instructs not the I/F port  2000  with the maximum data transfer speed, but the 60 MB/S I/F port  2100  and the 30 MB/S I/F port  2200  as the connection. Note that,  FIG. 9  shows an example of always using the 60 MB/S I/F port ( 2100  in  FIG. 1 ). 
     Therefore, the data transfer amount between the relevant user server and the magnetic disk device  2300  is suppressed. That is, the data transfer speed between the magnetic disk device  2300  and the user server in  FIG. 1  is restricted, and as a result, access of the user terminal to the user server always becomes restricted, but the actual data transfer amount can be settled within the prescribed data transfer amount determined in the contract. In this way, the I/F port with the maximum data transfer speed is released, data transfer requests from other user servers may be answered, the situation that the response of the entire SAN system deteriorates is avoided, and a satisfactory response performance may be maintained. On the other hand, the data transfer speed requested by the user servers  1400 ,  1500  and  1600  will be restricted, but in the second case, the access frequency from the user servers  1400 ,  1500  and  1600  is relatively high, though data transfer amount at in one access is relatively small. Therefore, even if the data transfer speed is restricted, the data transfer amount may be extended in the time axis direction, and the actual data transfer amount may be settled within the prescribed data transfer amount determined in the contract. 
     The job flow of the I/O access monitor control including the described first and second cases, will be described referring to the flow chart shown in  FIG. 10 . First, when there is an access request from a user terminal ( 4100 ), the I/O monitoring agent conducts monitoring of the data transfer amount between the user server that it is stationed in and the magnetic disk device  2300  ( 4200 ). Next, the I/O monitoring server  1900  collects data from the operating I/ 0  monitoring agent in the respective user servers ( 1400 ,  1500  and  1600  in  FIG. 1 ) to conduct monitoring ( 4200 ). Specifically, the I/O monitoring agent in the respective user servers  1400 ,  1500  and  1600 , as described above, totals the I/ 0  data transfer rate for every physical disk, and this totaled data is collected to the I/O monitoring server  1900  via the LAN. The I/ 0  monitoring server  1900  totals the collected data transfer rate of the respective user servers  1400 ,  1500  and  1600  for each port of the fiber channels of the magnetic disk device  2300 . The I/O monitoring server, based on this totaled result, compares the actual data transfer amount of the respective user servers  1400 ,  1500  and  1600 , and the prescribed data transfer amount of the contract, and judges whether it exceeds the prescribed data transfer amount ( 4300 ). If the I/O transfer amount of the respective server exceeds the prescribed data transfer amount, the process is distributed in accordance with the contract condition ( 4400 ). 
     For example, when the contract conditions are as in the first case as shown in  FIG. 4 , the path that the user server uses is changed to a low transfer speed path ( 4700 ). In the method of changing the I/F port of the magnetic disk device of the user servers  1400 ,  1500  and  1600 , as described above, the I/O monitoring server  1900  instructs the relevant user server  1400 ,  1500 ,  1600  to switch the port via the LAN. Then, the respective user servers  1400 ,  1500 ,  1600  with its own shift path function, almost instantaneously change the path even when the terminal used by the end user is during I/O access. Nevertheless, according to step ( 7 ) of  FIG. 10 , if the I/O wait of the I/O monitoring agent accumulatively increases ( 4800 :YES), the decrease in response regarding data transfer to the relevant user terminal is notified via the user server, and the change of the billing system to be in the contract is suggested ( 4900 ). If there is no accumulative increase of I/O wait ( 4800 :NO), the process returns to the above described  4100 . 
     On the other hand, in the process ( 4400 ) where processes are distributed in accordance with contract conditions, when in the second case where the contract condition is as shown in  FIG. 5  ( 4600 ), as described above, the I/O monitoring server provides the relevant server with an instruction to connect to the I/F port which does not have the maximum data transfer speed ( 5000 ). That is, it instructs as the connection, not the I/F port  2000  with the maximum transfer speed, but the 60 MB/S I/F port  2100  or the 30 MB/S I/F port  2200 . Further, regardless of that, if the I/O wait seems to accumulatively increase ( 4800 :YES), a change of the billing system of the contract is suggested ( 4900 ). If there is no accumulative increase of I/O wait ( 4800 :NO), the process returns to the above described  4100 . 
     The above described example, is simply an embodiment of the present invention, and modifications or change are possible without departing from the spirit and scope of the present invention. For example, the function of the I/O monitoring server  1900  in  FIG. 1  may be provided in the magnetic disk device  2300 . 
     According to aspects of the present invention, the introduction cost may be reduced for omitting such as an expensive switching hub. Further, by reducing the frequency of use of unnecessary ports having a high transfer speed as much as possible, the high speed port does not need not be occupied unnecessarily. Therefore, a server which accesses at a high frequency and requests for a large data transfer is made capable of use of a high speed port which is originally needed. Accordingly, it is possible to markedly improve the efficiency of the entire data transfer between the storage and the plurality of servers through the storage area network. Therefore, it becomes possible to assure access performance of the user terminals in respect to the SAN system which is used as the SSP and IDC. 
     Although the preferred embodiment of the present invention has been described in detail, it should be understood that various changes and substitutions can be made therein without departing from spirit and scope of the inventions as defined by the appended claims.