Abstract:
An information processing apparatus configured to adjust a phase relation between a data signal and a strobe signal includes a processor and memory. The memory stores instructions for causing the processor to execute identifying, for each of a plurality of candidates for reference values used to perform a determination regarding a value of the data signal, at least one phase difference between the data signal and the strobe signal for successfully acquiring the data signal according to the strobe signal, determining a reference value of the plurality of candidates for which a period for successfully acquiring the data signal is longer than periods for any other candidates based on the identified phase difference for each candidate, and adjusting the phase relation between the data signal and the strobe signal based on the period for the determined reference value.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-124043, filed on Jun. 19, 2015, the entire contents of which are incorporated herein by reference. 
       FIELD 
       [0002]    The embodiments discussed herein pertain to an information processing system and a method of controlling an information processing system. 
       BACKGROUND 
       [0003]    A data center employs switches and routers to consolidate data lines from servers and storage devices in the data center in a step-by-step manner. And the data center transmits and receives packets to and from apparatuses outside of the data center. 
         [0004]    Techniques are proposed to monitor the amount of packets transferred in the internal network in the data center and to monitor the amount of packets transferred between the data center and the external network (See patent documents 1 to 3). 
         [0005]    The following patent document describes conventional techniques related to the techniques described herein. 
       PATENT DOCUMENT 
       [0006]    [Patent document 1] Japanese Laid-open Patent Publication No. 2010-68367 
         [0007]    [Patent document 2] Japanese Laid-open Patent Publication No. 2002-232481 
         [0008]    [Patent document 3] Japanese Laid-open Patent Publication No. 2012-226468 
       SUMMARY 
       [0009]    According to one embodiment, it is provided an information processing system. 
         [0010]    The information processing system includes a relay apparatus configured to relay data between an internal network of the information processing system and an external network connecting with an external apparatus of the information processing system, a switching apparatus configured to connect with the relay apparatus via the internal network, a plurality of devices connected with a plurality ports of the switching apparatus via the internal network and an administration apparatus configured to administer information of an amount of data transmitted in the internal network. 
         [0011]    The administration apparatus includes a processor, and memory storing instructions for causing the processor to execute gathering information of an amount of data transmitted through the switching apparatus from the switching apparatus for each of the plurality of devices connected with the plurality ports of the switching apparatus. 
         [0012]    The processor further executes calculating an amount of data transmitted between a first device and a second device of the plurality devices based on the gathered information. 
         [0013]    The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
         [0014]    It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]      FIG. 1  is a diagram schematically illustrating a configuration of an information processing system according to an embodiment; 
           [0016]      FIG. 2  is a diagram schematically illustrating configurations of an administration system according to an embodiment; 
           [0017]      FIG. 3  is a diagram illustrating an example of data stored in a switch connection information table according to an embodiment; 
           [0018]      FIG. 4  is a diagram illustrating an example of data stored in a packet amount counter table according to an embodiment; 
           [0019]      FIG. 5  is a diagram illustrating an example of data stored in a packet amount by apparatus table according to an embodiment; 
           [0020]      FIG. 6  is a diagram illustrating an example of data stored in a packet amount calculation result table according to an embodiment; 
           [0021]      FIG. 7  is a functional block diagram illustrating an administration apparatus according to an embodiment; 
           [0022]      FIG. 8  is a flowchart of processes performed by an administration apparatus according to an embodiment; 
           [0023]      FIG. 9  is a diagram illustrating connection relations of apparatuses for packet amount calculation according to an embodiment; 
           [0024]      FIG. 10  is a diagram schematically illustrating flows of packets in packet amount calculation according to an embodiment; 
           [0025]      FIG. 11  is a diagram illustrating an example of amounts of packets input/output between apparatuses according to an embodiment; 
           [0026]      FIG. 12  is a diagram illustrating an example of calculation results of amounts of packets output from apparatuses according to an embodiment; 
           [0027]      FIG. 13  is a diagram illustrating connection relations of apparatuses for packet amount calculation according to an embodiment; 
           [0028]      FIG. 14  is a diagram schematically illustrating flows of packets in packet amount calculation according to an embodiment; 
           [0029]      FIG. 15  is a diagram illustrating an example of amounts of packets input/output between apparatuses according to an embodiment; 
           [0030]      FIG. 16  is a diagram illustrating an example of calculation results of amounts of packets output from apparatuses according to an embodiment; 
           [0031]      FIG. 17  is a diagram illustrating an example of amounts of packets input/output between apparatuses according to an embodiment; 
           [0032]      FIG. 18  is a diagram illustrating an example of calculation results of amounts of packets input into or output from apparatuses according to an embodiment; and 
           [0033]      FIG. 19  is a diagram illustrating connection relations of apparatuses for packet amount calculation according to an embodiment. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0034]    Switches used in data centers can measure amounts of packets per port transmitted in the data centers. Therefore, the amounts of packets input into or output from a specified server can be measured. In addition, the amount of packets output from the specified server to an external network can be determined from the statistics stored in the switch connected with the specified server. However, the switch cannot measure the amounts of packets transmitted between specified servers or between a specified server and a storage apparatus in the data center. In addition, a switch or a router cannot be used to measure the amounts of packets transmitted from a specified apparatus in the external network to each server in the data center. A so-called packet capture technique can be used to calculate the amounts of packets transmitted between servers in the data center by determining the sender and the receiver of a packet and monitoring transmitted packets and received packets. However, since the number of mirror ports of a switch which can be used for the packet capture technique is limited, it is not practical to use the technique to monitor packets transmitted through each port of plural switches in the data center. Therefore, since the amount of packets transmitted between specified apparatuses cannot be measured as described above, the isolations of the controls of congestions or emergency failures occurred in the data center cannot be achieved. One aspect of the present invention lies in providing an information processing system capable of calculating the amounts of packets transmitted between apparatuses in the internal network. Embodiments are described below with reference to the drawings. Configurations of the following embodiments are exemplifications, and the present apparatus is not limited to the configurations of the embodiments. 
       First Embodiment 
       [0035]    A data center  100  as an example of an information processing system according to the first embodiment is described below. As illustrated in the schematic configuration diagram in  FIG. 1 , the data center  100  includes an administration system  101 , a router  102 , switches  103 ,  104  and  105 , a proxy server  106 , servers  107 ,  108  and  109  and a storage apparatus  110 . In addition, the apparatuses in the data center  100  are connected with each other to form an internal network. The router  102  is connected with a WAN (Wide Area Network)/LAN (Local Area Network)  200  as an example of an external network. And the router  102  is connected with external terminals  300 ,  400  via the WAN/LAN  200 . It is noted that the router  102  corresponds to an example of a relay apparatus which relays data between the external network and the internal network. 
         [0036]    The router  102  is connected with the switch  103  in data center  100 . As illustrated in  FIG. 1 , the switch  103  is connected with the administration system  101 , the proxy server  104  and the switches  103  and  104 . In addition, the switch  105  is connected with the servers  107  and  108  as examples of a plurality of devices. The switch  106  is connected with the server  109  and the storage apparatus  110 . Each port of the switches  103  to  105  is connected with various elements. Further, the switches  103  to  105  include a function for measuring and storing the amount of packets transmitted through each port. It is noted that the switches  103  to  105  correspond to examples of switching apparatuses connected with relay apparatuses via the internal network. 
         [0037]    The external terminals  300  and  400  transmit packets to and receive data from the servers  107  to  109  in the data center  100 . It is noted that the external terminals  300  and  400  correspond to examples of external apparatuses. The information such as data to be transmitted, a sender address and a destination address is included in a packet. The external terminals  300  and  400  transmit, for example, packets in which the proxy server  106  in the data center  100  is specified as the destination of the packets. The packets transmitted from the external terminals  300  and  400  are transferred to the router  102  in the data center  100  via the WAN/LAN  200 . 
         [0038]    The router  102  retains a routing table in which the connection information for each element in the internal network in the data center  100  is stored. Therefore, the router  102  transfers the packets received from the WAN/LAN  200  according to the connection information stored in the routing table. 
         [0039]    When the router  102  receives the packets transmitted from the external terminals  300  and  400 , the router  102  refers to the routing table to determine the destinations of the packets based on the information of the destination addresses included in the received packets. In the present case, the router  102  determines that the destination of the packets received from the external terminals  300  and  400  is the proxy server  106  and transfers the packets to the proxy server  106  via the switch  103 . 
         [0040]    The proxy server  106  interprets the payloads of the packets received from the router  102  to determine the destinations of the packets. The proxy server  106  sets the determined destinations as the destinations of the packets and transmits the packets to the destination servers  107  to  109  via the switches  103  and  104  or the switches  103  and  105 . It is noted that the proxy server  106  corresponds to an example of a proxy apparatus which stores the data amount information of the data output from each apparatus in the data center  100  to the proxy server  106  as proxy data amount information. 
         [0041]    Similarly, when the servers  107  to  109  transmit packets to the external terminals  300  and  400 , the servers  107  to  109  transfer the packets to the proxy server  106  via the switches  103  and  104  or the switches  103  and  105 . And the proxy server  106  determines the destinations of the packets and transmits the packets to the external terminal  300  or  400  according to the determined destinations via the switch  103 , the router  102  and the WAN/LAN  200 . 
         [0042]      FIG. 2  illustrates the configuration of the administration system  101  according to the present embodiment. The administration system  101  acquires from the switches  103  to  105  statistics regarding the amount of packets input into or output from each port of the switches  103  to  105  and administers the acquired information of the amount of packets. As illustrated in  FIG. 2 , the administration system  101  includes a CPU  101   a , a Random Access Memory (RAM)  101   b , a Read Only Memory (ROM)  101   c  and an HDD  101   d.    
         [0043]    The CPU  101   a  deploys various programs stored in the ROM  101   c  on the RAM  101   b  to execute various processes of the programs. In addition, the CPU  101   a  accesses the HDD  101   d  to acquire data used for the processes when the CPU  101   a  executes the programs. As illustrated in  FIG. 2 , a program  101   e  for monitoring the amount of packets as an example of the programs is stored in the ROM  101   c.    
         [0044]    The program  101   e  for monitoring the amount of packets is a program for acquiring statistics data of the amount of packets from the switches  103  to  105  and calculating the amount of packets transmitted between the severs  107  to  109  and the storage apparatus  110  based on the acquired statistics data. The program  101   e  for monitoring the amount of packets includes a function  101   f  for gathering information of the amount of packets, a function  101   g  for calculating the amount of packets for each apparatus and a function  101   h  for estimating the amount of packets. 
         [0045]    The HDD  101   d  stores data including information of the connections between each port of the switches  103  to  105  and each apparatus in the data center  100 , statistics data of the amount of packets acquired from the switches  103  to  105  and the results of the calculations performed based on the statistics data. The data stored in various tables in the HDD  101   d . The various tables include a switch connection information table  101   i , a packet amount counter table  101   j , an amount of packets per apparatus table  101   k  and an amount of packets calculation result table  101   m.    
         [0046]    As an example of the present embodiment, the CPU  101   a  executes the program  101   e  for monitoring the amount of packets to calculate the amount of packets transmitted between two apparatuses in the data center  100 . When the program  101   e  for monitoring the amount of packets is initiated, the function  101   f  for gathering the amount of packets gathers the information of the switches connected with the two apparatuses, the IDs of the ports connected with the two apparatuses and the user information of the servers connected with the two apparatuses from the switch connection information table  101   i . Next, the function  101   f  for gathering information of the amount of packets gathers statistics data regarding the amount of packets from the ports indicated by the gathered information. In addition, the function  101   f  for gathering information of the amount of packets associates the statistics data with the corresponding switch, the port ID and the user of the server and stores the statistics data in the packet amount counter table  101   j . It is noted that the function  101   f  for gathering information of the amount of packets repeats the gathering and storing of statistics data at a predetermined time period such as every hour. 
         [0047]      FIG. 3  illustrates an example of the switch connection information table  101   i  according to the present embodiment. The switch connection information table  101   i  stores information such as an ID of each switch in the data center  100  (“SWID”), port IDs of each switch, types of apparatuses connected with the ports (“connection apparatus type”), IDs of the apparatuses (“apparatus ID”) and user IDs of the apparatuses. The information is associated with each other in the switch connection information table  101   i . It is noted that the information is stored in the switch connection information table  101   i  in advance before the program  101   e  for monitoring the amount of packets is executed. 
         [0048]    In addition,  FIG. 4  illustrates an example of the packet amount counter table  101   j  according to the present embodiment. The packet amount counter table  101   j  stores information such as the user IDs, the time when the statistics data of the amount of packets is acquired, the apparatus IDs of the apparatuses from which the statistics data is acquired, the amount of input packets and the amount of output packets. The information is associated with each other in the packet amount counter table  101   j.    
         [0049]    After the function  101   f  for gathering information of the amount of packets performs the process as described above, the function  101   g  for calculating the amount of packets for each apparatus calculates the amount of input packets and the amount of output packets based on the statistics data of the amount of packets stored in the packet amount counter table  101   j . In addition, the function  101   g  for calculating the amount of packets for each apparatus stores the calculated amount of input packets and the calculated amount of output packets in the amount of packets per apparatus table  101   k . It is noted that the switches  103  to  105  accumulates the amount of input packets and the amount of output packets transmitted through each port without resetting the amount of input packets and the amount of output packets each time function  101   f  for gathering information of the amount of packets is executed. However, switches  103  to  105  can be configured to reset the amount of input packets and the amount of output packets each time function  101   f  for gathering information of the amount of packets is executed. 
         [0050]      FIG. 5  illustrates an example of the amount of packets per apparatus table  101   k  according to the present embodiment. The amount of packets per apparatus table  101   k  stores information such as the user IDs, the time when the statistics data of the amount of packets is acquired, the server IDs of the servers from which the statistics data of the amount of packets is acquired, the amount of input packets and the amount of output packets transmitted within a predetermined time period as described above. The information is associated with each other in the amount of packets per apparatus table  101   k.    
         [0051]    After the function  101   g  for calculating the amount of packets for each apparatus performs the process as described above, the function  101   h  for estimating the amount of packets calculates the amount of input packets and the amount of output packets transmitted between the two apparatuses as described above based on the amount of input packets and the amount of output packets stored in the amount of packets per apparatus table  101   k . In addition, the function  101   h  for estimating the amount of packets stores the calculated amount of packets in the amount of packets calculation result table  101   m.    
         [0052]      FIG. 6  illustrates an example of the amount of packets calculation result table  101   m  according to the present embodiment. The amount of packets calculation result table  101   m  stores information such as the apparatus IDs (“apparatus 1”, “apparatus 2” etc.), the time period during which the amounts of input packets and output packets transmitted between the two apparatuses are calculated, the amount of packets output from the apparatus 1 to the apparatus 2 and the amount of packets output from the apparatus 2 to the apparatus 1. The information is associated with each other in the amount of packets calculation result table  101   m . It is noted that the apparatus 1 and apparatus 2 can be arbitrarily selected from the apparatuses in the data center  100  when the program  101   e  for monitoring the amount of packets is executed to calculate the amounts of packets. 
         [0053]    The administration system  101  according to the present embodiment functions as an information processing apparatus which includes a gathering unit  101   p  and a calculation unit  101   q  as illustrated in  FIG. 7  since the CPU  101   a  executes the various programs deployed on the RAM  101   b  to control each element in the administration system. Although it is assumed in the present embodiment that the functions are achieved by a general-purpose CPU, one or more of the functions can be achieved by one or more dedicated CPUs. 
         [0054]    In the present embodiment, the gathering unit  101   p  gathers from the switches  103  to  105  the statistics data of packets transmitted through each port of the switches  103  to  105 . The statistics data of packets includes the amount of input packets and the amount of packets transmitted through each port. The calculation unit  101   q  calculates the amount of packets transmitted between the first apparatus and the second apparatus of the plurality of apparatuses in the data center  100  based on the statistics data of packets gathered by the gathering unit  101   p . It is noted that the gathering unit  101   p  can be configured to gather statistics data of frames or tokens transmitted in the data center  100  as well as packets. 
         [0055]      FIG. 8  illustrates a flowchart of processes performed by the administration system  101  in the present embodiment. When the user of the administration system  101  instructs the execution of the program  101   e  for monitoring the amount of packets, the CPU  101   a  executes the program  101   e  for monitoring the amount of packets to initiate performing the processes in the flowchart as illustrated in  FIG. 8 . 
         [0056]    In OP 101 , the CPU  101   a  receives a designation of a user of an apparatus in the data center  100  from the user of the administration system  101 . The CPU  101   a  may receive a designation of an apparatus in the data center  100  instead of the user of the apparatus. Next, the process proceeds to OP 102 . 
         [0057]    In OP 102 , the function  101   f  for gathering information of the amount of packets in the program  101   e  for monitoring the amount of packets gathers information associated with the user designated in OP 101  from the switch connection information table  101   i . Apparatuses used by the designated user, switches and ports connected with the apparatuses can be determined based on the gathered information. Next, the process proceeds to OP 103 . 
         [0058]    In OP 103 , the function  101   f  for gathering information of the amount of packets gathers statistics data of the amount of packets transmitted through each port from the switches  103  to  105 . And the function  101   f  for gathering information of the amount of packets stores the gathered statistics data in the packet amount counter table  101   j . It is noted that the function  101   f  for gathering information of the amount of packets gathers the statistics data of the amount of packets transmitted through each port from the switches  103  to  105  every time when the predetermined time period elapses. Since the amount of input packets and the amount of output packets transmitted between the apparatuses per predetermined time period in the present embodiment, it is enough for the function  101   f  for gathering information of the amount of packets to gather the statistics data at least twice. The times for repeating the gathering of the statics data before the process OP 103  is terminated can be arbitrarily determined by configuring the program  101   e  for monitoring the amount of packets. When the process OP 103  is terminated, the process proceeds to OP 104 . 
         [0059]    In OP 104 , the function  101   g  for calculating the amount of packets for each apparatus calculates the amounts of packets input into and output from each apparatus per the predetermined time period based on the statistics data gathered in OP 103 . And the function  101   g  for calculating the amount of packets for each apparatus stores the calculated amount of input packets and the calculated amount of output packets in the amount of packets per apparatus table  101   k . Next, the process proceeds to OP 105 . 
         [0060]    In OP 105 , the function  101   h  for estimating the amount of packets calculates the amounts of packets transmitted between the apparatuses based on the amount of input packets and the amount of output packets calculated in OP 104 . And the function  101   h  for estimating the amount of packets stores the calculated amounts of input packets and output packets in the amount of packets calculation result table  101   m . Next, the process proceeds to OP 106 . 
         [0061]    In OP 106 , the CPU  101   a  accepts from the user of the administration system  101  a designation of another user of an apparatus in the data center  100  as a target of the calculation of the amount of packets. When the user of the administration system  101  does not designate another user, the CPU  101   a  terminates the program  101   e  for monitoring the amount of packets to finish the processes of the flowchart. On the other hand, when the user of the administration system  101  designates another user, the CPU  101   a  returns the process to OP 101  and selects the user designated in OP 106 , and then the process proceeds to OP 102 . 
         [0062]    Next, two specific examples of the calculation of the amounts of packets transmitted between the apparatuses are described below. In the first example, the amount of packets transmitted between the servers  107  and  108  in the data center  100  is calculated as illustrated in  FIG. 9 . In this example, the servers  107  and  108  are connected with the switch  104 . It is noted that the following descriptions can be applied to a case in which two apparatuses as the targets of the calculation of the amount of packets are connected with different switches such as the servers  107  and  109 . It is noted that the apparatus IDs of the servers  107  and  108  are Server01 and Server02. In addition, the apparatus ID of the proxy server  106  is Proxy01. 
         [0063]    Further,  FIG. 10  schematically illustrates the amounts of packets transmitted between the servers, the internal network and the external network as illustrated in  FIG. 9  within the predetermined time intervals. In  FIG. 10 , the internal network  500  represents the network in which each element in the data center  100  is connected with each other. In addition, the external network  600  represents the network outside the data center  100  which is connected with the data center  100 . 
         [0064]    The administration system  101  executes the program  101   e  for monitoring the amount of packets and the function  101   f  for gathering information of the amount of packets gathers information of the amount of packets input into and output from the server  107  and  108  at the predetermined time intervals. Moreover, the administration system  101  uses the function  101   f  for gathering information of the amount of packets to acquire the information of the amount of packets output from the proxy server  106  to the external network  600  via the switch  103  and the router  102  at the predetermined time intervals. 
         [0065]    As illustrated in  FIG. 10 , the amounts of packets output from the servers  107  and  108  to the internal network  500  at the predetermined time intervals are 200 MB and 100 MB, respectively. And 100 MB packets thereof are output to the external network  600 . In addition, the amounts of packets output from the internal network  500  to the servers  107  and  108  at the predetermined time intervals are 100 MB and 150 MB, respectively. It is noted that the administration system  101  acquires the statistics data of the amounts of packets from the switches  103  and  104  and the proxy server  106  to determine the amount of packets regarding each apparatus. 
         [0066]    As illustrated in  FIG. 10 , the amounts of packets P 1  to P 6  at the predetermined time intervals are defined as follows: 
         [0000]    P 1 =(the amount of packets input into the internal network  500  from the external network  600 )
 
P 2 =(the amount of packets output from the internal network  500  to the external network  600 )
 
P 3 =(the amount of packets input into the server  107  from the internal network  500 )
 
P 4 =(the amount of packets output from the server  107  to the internal network  500 )
 
P 5 =(the amount of packets input into the server  108  from the internal network  500 )
 
P 6 =(the amount of packets output from the server  108  to the internal network  500 )
 
         [0067]    The administration system  101  cannot determine the amounts of packets input into the servers  107  and  108  from the external network  600  at the predetermined time intervals based on the acquired statistics data. In addition, it is assumed in the first example that a packet is not lost in the data communication between the internal network  500  and the external network  600 . That is, the total amount of packets input into the internal network  500  is equal to the total amount of packets output from the internal network  500  in  FIG. 10 . In this case, the following formula (1) is obtained. 
         [0000]        P 1= P 2+ P 3+ P 5− P 4− P 6  (1)
 
         [0000]    In the example of  FIG. 10 , the amount of packets input into the internal network  500  from the external network  600  P 1  is 50 MB. 
         [0068]    The administration system  101  uses the function  101   g  for calculating the amount of packets for each apparatus of the program  101   e  for monitoring the amount of packets to calculate the amount of packets input into the internal network  500  from the external network  600  P 1  within the predetermined time interval including a given time by using the formula (1). The calculation results are stored in the amount of packets per apparatus table  101   k .  FIG. 11  illustrates an example of data stored in the amount of packets per apparatus table  101   k  in the example as illustrated in  FIG. 10 . 
         [0069]    Next, the relations between the amount of packets output from the internal network  500  to the external network  600  and the amounts of packets output from the servers  107  and  108  to the internal network  500  are described below. In the example as illustrated in  FIGS. 9 and 10 , the total amount of packets P 4  and P 6  output from the servers  107  and  108  to the internal network  500  is 300 MB. And the 100 MB (=P 2 ) packets thereof are output to the external network  600 . However, the amount of packets output from the server  107  to the external network  600  and the amount of packets output from the server  108  to the external network  600  are unknown. 
         [0070]    In this case, the amount of packets output from the internal network  500  to the external network  600  is distributed by using the ratio of the amounts of packets output from the servers  107  and  108  to the internal network  500 . The amounts of packets P 7  and P 8  are defined as follows: 
         [0000]    P 7 =(the amount of packets output from the server  107  to the external network  600 )
 
P 8 =(the amount of packets output from the server  108  to the external network  600 )
 
         [0071]    In this case, the function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (2) and (3) to calculate the amounts of packets P 7  and P 8 . 
         [0000]        P 7= P 2× P 4/( P 4+ P 6)  (2)
 
         [0000]        P 8= P 2× P 6/( P 4+ P 6)  (3)
 
         [0072]    The amount of packets output from the server  107  to the external network  600  P 7  is calculated by the formula (2): 100×⅔=67 (MB). Similarly, the amount of packets output from the server  108  to the external network  600  P 8  is calculated by the formula (3): 100×⅓=33 (MB). It is noted that the values calculated by the formulas (2) and (3) are rounded off to the whole number. 
         [0073]    Further, the amounts of packets P 9  and P 10  are defined as follows: 
         [0000]    P 9 =(the total amount of packets output from the server  107  to the other apparatuses in the data center  100 )
 
P 10 =(the total amount of packets output from the server  108  to the other apparatuses in the data center  100 )
 
The function  101   g  for calculating the amount of packets for each apparatus calculates the amounts of packets P 9  and P 10  by using the following formulas (4) and (5).
 
         [0000]        P 9= P 4− P 7  (4)
 
         [0000]        P 10= P 6− P 8  (5)
 
         [0074]    It is noted that it is assumed in the first example that the targets of the calculation of the amounts of packets in the data center  100  are the server  107  and  108 . Therefore, the other apparatus other than the server  107  is the server  108 . And the other apparatus other than the server  108  is the server  107 . 
         [0075]    The total amount of packets output from the server  107  to the other apparatuses in the data center  100  P 9  is calculated by the formula (4): 200−67=133 (MB). Similarly, the total amount of packets output from the server  108  to the other apparatuses in the data center  100  is calculated by the formula (5): 100−33=67 (MB). 
         [0076]    Next, the relations between the amounts of packets input into the internal network  500  from the external network  600  and the amounts of packets input into the servers  107  and  108  from the internal network  500  are described below. In the example as illustrated in  FIGS. 9 and 10 , it is unknown what part of the amount of packets input into the internal network  500  from the external network  600  is input into the servers  107  and  108 , respectively. 
         [0077]    In the first example, the ratio of the amounts of packets output from the internal network  500  to the servers  107  and  108  is used to divide the amount of packets input into the internal network  500  from the external network  600 . Here, the amounts of packets P 11  and P 12  are defined as follows: 
         [0000]    P 11 =(the amount of packets input into the server  107  from the external network  600 )
 
P 12 =(the amount of packets input into the server  108  from the external network  600 )
 
         [0078]    The function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (6) and (7) to calculate the amounts of packets P 11  and P 12 . 
         [0000]        P 11= P 1× P 3/( P 3+ P 5)  (6)
 
         [0000]        P 12= P 1× P 5/( P 3+ P 5)  (7)
 
         [0079]    The amount of packets input into the server  107  from the external network  600  P 11  is calculated by using the formula (6): 50×⅖=20 (MB). Similarly, the amount of packets input into the server  108  from the external network  600  P 12  is calculated by using the formula (7): 50×⅗=30 (MB). It is noted that the values calculated by the formulas (6) and (7) are rounded off to the whole number. 
         [0080]    In addition, the amounts of packets P 13  and P 14  are defined as follows: 
         [0000]    P 13 =(the amount of packets input into the server  107  from the apparatuses other than the server  107  in the data center  100 )
 
P 14 =(the amount of packets input into the server  108  from the apparatuses other than the server  108  in the data center  100 )
 
         [0081]    Therefore, the function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (8) and (9) to calculate the amounts of packets P 13  and P 14 . 
         [0000]        P 13= P 3− P 11  (8)
 
         [0000]        P 14= P 5− P 12  (9)
 
         [0082]    The amount of packets input into the server  107  from the apparatuses other than the server  107  in the data center  100  P 13  is calculated by using the formula (8): 100−20=80 (MB). Similarly, the amount of packets input into the server  108  from the apparatuses other than the server  108  in the data center  100  P 14  is calculated by using the formula (9): 150−=120 (MB). 
         [0083]    Further, the amounts of packets P 15 , P 16 , P 17  and P 18  are defined as follows: 
         [0000]    P 15 =(the amount of packets output from the server  107  to the server  108 )
 
P 16 =(the amount of packets output from the server  108  to the server  107 )
 
P 17 =(the total amount of packets input into the apparatuses other than the server  107  from the internal network  500 )
 
P 18 =(the total amount of packets input into the apparatuses other than the server  108  from the internal network  500 )
 
         [0084]    The function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (10) and (11) to calculate the amounts of packets P 15  and P 16 . 
         [0000]        P 15= P 9× P 14/ P 17  (10)
 
         [0000]        P 16= P 10× P 13/ P 18  (11)
 
         [0085]    In the first example, it is an object to calculate the amount of packets transmitted between the servers  107  and  108 . Therefore, P 13 =P 18  and P 14 =P 17  are achieved. And the amount of packets output from the server  107  to the server  108  P 15  is calculated by using the formula (10): 133 (MB) (=P 9 ). Similarly, the amount of packets output from the server  108  to the server  107  P 16  is calculated by using the formula (11): 67 (MB) (=P 10 ). 
         [0086]    As described above, the function  101   g  for calculating the amount of packets for each apparatus calculates the amounts of packets transmitted between the servers  107  and  108  and stores the calculation results in the amount of packets calculation result table  101   m .  FIG. 12  illustrates an example of the amount of packets calculation result table  101   m  when the function  101   g  for calculating the amount of packets for each apparatus calculates the amounts of packets transmitted between two apparatuses in the data center  100 . 
         [0087]      FIG. 12  illustrates an example of the amounts of input packets and output packets per hour transmitted between two of the server  107  (the apparatus ID: “Server01”), the server  108  (the apparatus ID: “Server02”) and the proxy server  106  (the apparatus ID: “Proxy01”) in the data center  100  at 13:00 on Dec. 25, 2014 (as illustrated in the “time” column). It is noted that the amounts of packets transmitted between the server  107 , the server  108  and the proxy server  106  correspond to the amounts of packets transmitted between the servers  107 ,  108  and the external network  600 . Therefore, the amount of packets transmitted between two of the apparatuses in the data center  100  can be calculated in the first example. 
         [0088]    Next, the second example is described below. In the second example as illustrated in  FIG. 13 , the amounts of packets transmitted between two of the three servers  107 ,  108  and  109  in the data center  100  are calculated. It is noted that the apparatus IDs of the servers  107 ,  108  and  109  are “Server01”, “Server02” and “Server03”, respectively. In addition, the apparatus ID of the proxy server  106  is “Proxy01”. 
         [0089]    Similar to  FIG. 9 ,  FIG. 14  schematically illustrates the transmitted between the servers, the internal network and the external network at predetermined time intervals. 
         [0090]    The administration system  101  executes the program  101   e  for monitoring the amount of packets to use the function  101   f  for gathering information of the amount of packets to acquire the information of the amounts of packets input into and output from each server  107 ,  108  and  109  at the predetermined time intervals. In addition, the administration system  101  uses the function  101   f  for gathering information of the amount of packets to acquire the information of the amounts of packets output from the proxy server  106  to the external network via the switch  103  and the router  102  at the predetermined time intervals. 
         [0091]    As illustrated in  FIG. 0.14 , the amounts of packets output from the servers  107 ,  108  and  109  to the internal network  500  is 200 Mb, 100 Mb and 200 MB, respectively. 100 MB packets thereof are output to the external network  600 . In addition, the amounts of packets input into the servers  107 ,  108  and  109  from the internal network  500  is 100 Mb, 150 Mb and 200 MB, respectively. It is noted that the administration system  101  can determine each amount of packets as illustrated in  FIG. 14  by acquiring the statistics data of the amounts of packets from the switches  103 ,  104  and  105  and the proxy server  106 . 
         [0092]    As illustrated in  FIG. 14 , the amounts of packets transmitted at the predetermined time intervals P 21 , P 22 , P 23 , P 24 , P 25 , P 26 , P 27  and P 28  are defined as follows: 
         [0000]    P 21 =(the amount of packets input into the internal network  500  from the external network  600 )
 
P 22 =(the amount of packets output from the internal network  500  to the external network  600 )
 
P 23 =(the amount of packets input into the server  107  from the internal network  500 )
 
P 24 =(the amount of packets output from the server  107  to the internal network  500 )
 
P 25 =(the amount of packets input into the server  108  from the internal network  500 )
 
P 26 =(the amount of packets output from the server  108  to the internal network  500 )
 
P 27 =(the amount of packets input into the server  109  from the internal network  500 )
 
P 28 =(the amount of packets output from the server  109  to the internal network  500 )
 
         [0093]    Similar to the first example, the administration system  101  cannot determine the amounts of packets input into the servers  107 ,  108  and  109  from the external network at the predetermined time intervals from the acquired statistics data. In addition, it is assumed in the second example that a packet is not lost in the data communication between the internal network  500  and the external network  600 . That is, the total amount of packets input into the internal network  500  is equal to the total amount of packets output from the internal network  500  in  FIG. 14 . In this case, the following formula (12) is obtained. 
         [0000]        P 21= P 22+ P 23+ P 25+ P 27− P 24− P 26− P 28  (12)
 
         [0094]    In the example as illustrated in  FIG. 14 , the amount of packets input into the internal network  500  from the external network  600  P 21  is calculated by using the formula (12): 50 MB. In addition, the administration system  101  executes the program  101   e  for monitoring the amount of packets to use the function  101   g  for calculating the amount of packets for each apparatus to calculate the amount of packets input into the internal network  500  from the external network  600  P 21  at the predetermined time intervals at a given time by using the formula (12). The calculation results are stored in the amount of packets per apparatus table  101   k.    
         [0095]    In the example as illustrated in  FIGS. 13 and 14 , the total amount of packets output from the servers  107 ,  108  and  109  to the internal network  500  P 24 , P 26  and P 28  is 500 MB and 100 MB (=P 22 ) packets thereof are output to the external network  600 . However, the respective amounts of packets output from the servers  107 ,  108  and  109  to the external network  600  are unknown. 
         [0096]    In the second example, the ratio of the amounts of packets output from the servers  107 ,  108  and  109  to the internal network  500  is used to divide the amount of packets output from the internal network  500  to the external network  600 . Here, the amounts of packets P 29 , P 30  and P 31  are defined as follows: 
         [0000]    P 29 =(the amount of packets output from the server  107  to the external network  600 )
 
P 30 =(the amount of packets output from the server  108  to the external network  600 )
 
P 31 =(the amount of packets output from the server  109  to the external network  600 )
 
         [0097]    The function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (13), (14) and (15) to calculate the amounts of packets P 29 , P 30  and P 31 . 
         [0000]        P 29= P 22× P 24/( P 24+ P 26+ P 28)  (13)
 
         [0000]        P 30= P 22× P 26/( P 24+ P 26+ P 28)  (14)
 
         [0000]        P 31= P 22× P 28/( P 24+ P 26+ P 28)  (15)
 
         [0098]    The amount of packets output from the server  107  to the external network  600  P 29  is calculated by using the formula (13): 100×⅖=40 (MB). Similarly, the amount of packets output from the server  108  to the external network  600  P 30  is calculated by using the formula (14): 100×⅕=20 (MB). Further, the amount of packets output from the server  109  to the external network  600  P 31  is calculated by using the formula (15): 100×⅖=40 (MB). It is noted that the values calculated by the formulas (13), (14) and (15) are rounded off to the whole number. 
         [0099]    In addition, the amounts of packets P 32 , P 33  and P 34  are defined as follows: 
         [0000]    P 32 =(the total amount of packets output from the server  107  to the apparatuses other than the server  107  in the data center  100 )
 
P 33 =(the total amount of packets output from the server  108  to the apparatuses other than the server  108  in the data center  100 )
 
P 34 =(the total amount of packets output from the server  109  to the apparatuses other than the server  109  in the data center  100 )
 
Moreover, the function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (16), (17) and (18) to calculate the amounts of packets P 32 , P 33  and P 34 .
 
         [0000]        P 32= P 24− P 29  (16)
 
         [0000]        P 33= P 26− P 30  (17)
 
         [0000]        P 34= P 28− P 31  (18)
 
         [0100]    It is assumed in the second example that the servers  107 ,  108  and  109  are the apparatuses in the data center  1000  as the targets for calculating the amounts of packets. Therefore, the apparatuses other than the server  107  in the data center are the servers  108  and  109  in the second example. In addition, the apparatuses other than the server  108  in the data center are the servers  107  and  109  in the second example. Further, the apparatuses other than the server  109  in the data center are the servers  107  and  108  in the second example. 
         [0101]    The total amount of packets output from the server  107  to the apparatuses other than the server  107  in the data center  100  P 32  is calculated by using the formula (16): 200−40=160 (MB). In addition, the total amount of packets output from the server  108  to the apparatuses other than the server  108  in the data center  100  P 33  is calculated by using the formula (17): 100−20=80 (MB). Further, the total amount of packets output from the server  109  to the apparatuses other than the server  109  in the data center  100  P 34  is calculated by using the formula (18): 200−40=160 (MB). 
         [0102]    In addition, it is unknown what part of the amount of packets input into the internal network  500  from the external network  600  is input into the servers  107 ,  108  and  109 , respectively. Therefore, the ratio of the amounts of packets output from the internal network  500  to the servers  107 ,  108  and  109  is used to divide the amount of packets input into the internal network  500  from the external network  600 . Here, the amounts of packets P 36 , P 37  and P 38  are defined as follows: 
         [0000]    P 36 =(the amount of packets input into the server  107  from the external network  600 )
 
P 37 =(the amount of packets input into the server  108  from the external network  600 )
 
P 38 =(the amount of packets input into the server  108  from the external network  600 )
 
         [0103]    The function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (19), (20) and (21) to calculate the amounts of packets P 36 , P 37  and P 38 . 
         [0000]        P 36= P 21× P 23/( P 23+ P 25+ P 27)  (19)
 
         [0000]        P 37= P 21× P 25/( P 23+ P 25+ P 27)  (20)
 
         [0000]        P 38= P 21× P 27/( P 23+ P 25+ P 27)  (21)
 
         [0104]    The amount of packets input into the server  107  from the external network  600  P 36  is calculated by using the formula (19): 50×100/450=11 (MB). Similarly, the amount of packets input into the server  108  from the external network  600  P 37  is calculated by using the formula (20): 50×150/450=17 (MB). In addition, the amount of packets input into the server  109  from the external network  600  P 38  is calculated by using the formula (21): 50×200/450=22 (MB). It is noted that the values calculated by the formulas (19), (20) and (21) are rounded off to the whole number. 
         [0105]    Further, the amounts of packets P 39 , P 40  and P 41  are defined as follows: 
         [0000]    P 39 =(the amount of packets input into the server  107  from the apparatuses other than the server  107  in the data center  100 )
 
P 40 =(the amount of packets input into the server  108  from the apparatuses other than the server  108  in the data center  100 )
 
P 41 =(the amount of packets input into the server  109  from the apparatuses other than the server  109  in the data center  100 )
 
         [0106]    Therefore, the function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (22), (23) and (24) to calculate the amounts of packets P 39 , P 40  and P 41 . 
         [0000]        P 39= P 23− P 36  (22)
 
         [0000]        P 40= P 25− P 37  (23)
 
         [0000]        P 41= P 27− P 38  (23)
 
         [0107]    The amount of packets input into the server  107  from the apparatuses other than the server  107  in the data center  100  P 39  is calculated by using the formula (22): 100−11=89 (MB). Similarly, the amount of packets input into the server  108  from the apparatuses other than the server  108  in the data center  100  P 40  is calculated by using the formula (23): 150−17=133 (MB). In addition, the amount of packets input into the server  109  from the apparatuses other than the server  109  in the data center  100  P 41  is calculated by using the formula (24): 200−22=178 (MB). 
         [0108]    Further, the amounts of packets P 42 , P 43 , P 44 , P 45 , P 46 , P 47 , P 48 , P 49  and P 50  are defined as follows: 
         [0000]    P 42 =(the amount of packets output from the server  107  to the server  108 )
 
P 43 =(the amount of packets output from the server  107  to the server  109 )
 
P 44 =(the amount of packets output from the server  108  to the server  107 )
 
P 45 =(the amount of packets output from the server  108  to the server  109 )
 
P 46 =(the amount of packets output from the server  109  to the server  107 )
 
P 47 =(the amount of packets output from the server  109  to the server  108 )
 
P 48 =(the amount of packets input into the apparatuses other than the server  107  from the internal network  500 )
 
P 49 =(the amount of packets input into the apparatuses other than the server  108  from the internal network  500 )
 
P 50 =(the amount of packets input into the apparatuses other than the server  109  from the internal network  500 )
 
         [0109]    Therefore, the function  101   g  for calculating the amount of packets for each apparatus uses the following formulas (25), (26), (27), (28), (29) and (30) to calculate the amounts of packets P 42 , P 43 , P 44 , P 45 , P 46  and P 47 . 
         [0000]        P 42= P 32× P 40/ P 48  (25)
 
         [0000]        P 43= P 32× P 41/ P 48  (26)
 
         [0000]        P 44= P 33× P 39/ P 49  (27)
 
         [0000]        P 45= P 33× P 41/ P 49  (28)
 
         [0000]        P 46= P 34× P 39/ P 50  (29)
 
         [0000]        P 47= P 34× P 40/ P 50  (30)
 
         [0110]    In the second example, it is an object to calculate the amount of packets transmitted between the servers  107 ,  108  and  109 . Therefore, P 48 =P 40 +P 41 , P 49 =P 39 +P 41  and P 50 =P 39 +P 40  are achieved. And the amounts of packets are calculated by using the formula (25), (26), (27), (28) and (29): P 42 =68 (MB), P 43 =92 (MB), P 44 =27 (MB), P 45 =53 (MB), P 46 =64 (MB) and P 47 =96 (MB), respectively. 
         [0111]    As described above, the function  101   g  for calculating the amount of packets for each apparatus calculates the amounts of packets transmitted between the servers  107 ,  108  and  109  and stores the calculation results in the amount of packets calculation result table  101   m .  FIG. 15  illustrates an example of the amount of packets calculation result table  101   m  when the function  101   g  for calculating the amount of packets for each apparatus calculates the amounts of packets transmitted between two apparatuses in the data center  100 . 
         [0112]      FIG. 15  illustrates an example of the amounts of input packets and output packets per hour transmitted between two of the server  107  (the apparatus ID: “Server01”), the server  108  (the apparatus ID: “Server02”), the server  109  (the apparatus ID: “Server03”) and the proxy server  106  (the apparatus ID: “Proxy01”) in the data center  100  at 13:00 on Dec. 25, 2014 (as illustrated in the “time” column). It is noted that the amounts of packets transmitted between the server  107 , the server  108 , the server  109  and the proxy server  106  correspond to the amounts of packets transmitted between the servers  107 , the server  108 , the server  109  and the external network  600 . Therefore, the amount of packets transmitted between two of the apparatuses in the data center  100  can be calculated in the first example. 
         [0113]    Next, the comparison between the actual measured values and the values calculated as described above of the amounts of packets transmitted between the apparatuses in the data center  100  are described below.  FIG. 17  illustrates an example of the actual measured values of the amounts of packets transmitted between the apparatuses in the data center  100 . The actual measured values of the amounts of packets transmitted between two of the servers  107 ,  108 ,  109  and the proxy server  106  are illustrated in  FIG. 17 . 
         [0114]    Similar to the first and second examples, the statistics data obtained by the function  101   f  for gathering information of the amount of packets can be used to determine the total amount of packets input into or output from each server and packets output to the proxy server  106 , that is, the external network  600  in the example in  FIG. 17 . Namely, as for the server  107  for example, the amount of packets output from the server  107  can be determined: 30+80+30=140 (MB). The amount of packets input into the server  107  can also be determined: 50+60+10=120 (MB). In addition, as for the proxy server  106  for example, the amount of packets output to the proxy server  106  can be determined: 30+50+40=120 (MB). However, the amount of packets input into or output from each server and the amount of packets input into the proxy server from each server cannot be determined. 
         [0115]      FIG. 18  illustrates the amounts of packets input into and output from each server calculated according to the above descriptions of the second example. It is noted in  FIGS. 17 and 18  that the unit of value for the amount of packets is MB. As understood from the comparison with the measured values of the amounts of packets in  FIG. 17 , the calculated values of the amounts of packets in  FIG. 18  range within 30% of the measured values in  FIG. 17 . Therefore, the amounts of packets input into and output from each apparatus in the data center  100  can be estimated based on the statistics information obtained from the switches in the data center  100  in the present embodiment. 
         [0116]    Although the present embodiment is described as above, the configurations and the processes of the data center  100  etc. are not limited to those as described above and various variations may be made to the embodiment described herein within the technical scope of the above embodiment. For example, the amounts of packets input into and output from the servers  107 ,  108  and  109  are calculated in the above embodiment. Other apparatuses in the data center  100  can be included as the targets for the calculation of the amounts of packets. 
         [0117]    In addition, the amounts of packets input into and output from the three severs  107 ,  108  and  109  are estimated in the second example as described above. For example, when programs are executed in the servers  107 ,  108  and  109  to predict that packet communication does not occur between the server  108  and the server  109 , it can be assumed in the second example that the amounts of packets transmitted between the server  108  and the server  109  are zero. As a result, the estimation accuracy of the amounts of packets transmitted between the server  107  and  108  can be increased in the second example. 
         [0118]    In addition, a virtual environment can be built in any of the servers  107 ,  108  and  109  in the data center  100  and a plurality of virtual servers and virtual switches connecting the virtual servers with each other can be configured in the above embodiment.  FIG. 19  illustrates an example in which virtual environments are built in the servers  107  and  109  in the data center  100 . As illustrated in  FIG. 19 , a virtual switch  107   a , virtual machines  107   b  and  107   c  operates in the server  107 . Similarly, a virtual switch  109   a , virtual machines  109   b  and  109   c  operates in the server  109 . 
         [0119]    Similar to the switches  103 ,  104  and  105  as described above, the virtual machines  107   b  and  107   c  are connected with the ports of the virtual switch  107   a . The virtual machine  107   b  output packets to the virtual switch  107   a . The virtual switch  107   a  outputs packets output from the virtual machine  107   b  to the switch  104 . The operations of the virtual machine  107   c ,  109   b ,  109   c  are similar to the operations of the virtual machine  107   b  and the operation of the virtual switch  109   a  is similar to the operation of the virtual switch  107   a.    
         [0120]    Further, the virtual switch  107   a  counts the amounts of input packets and output packets regarding the virtual machines  107   b  and  107   c  connected with the respective ports. Similarly, the virtual switch  109   a  counts the amounts of input packets and output packets regarding the virtual machines  109   b  and  109   c  connected with the respective ports. In addition, similar to the above embodiment, the administration system  101  acquires the statistics data of the amounts of packets from the virtual switches  107   a  and  109   a . Therefore, the calculations as described in the above examples can be applied to the calculations of the amounts of packets transmitted between two of the apparatuses in the data center  100  including the virtual machines  107   b ,  107   c ,  109   b  and  109   c.    
         [0121]    Moreover, the administration system.  101  can be built in the virtual environment in the server  107  or the server  109  in the example as illustrated in  FIG. 19 . In this case, the user of the server  107  or the server  109  in which the virtual environment is built controls the administration system  101  to calculate the amount of packets transmitted between two of the servers  107 ,  108  and  109 , the virtual machines  107   b ,  107   c ,  109   b  and  109   c . Additionally, the switches  103 ,  104  and  105  can also be configured as virtual switches which operate in the virtual environment built as described above. 
         [0122]    &lt;&lt;Computer Readable Recording Medium&gt;&gt; 
         [0123]    It is possible to record a program which causes a computer to implement any of the functions described above on a computer readable recording medium. In addition, by causing the computer to read in the program from the recording medium and execute it, the function thereof can be provided. 
         [0124]    The computer readable recording medium mentioned herein indicates a recording medium which stores information such as data and a program by an electric, magnetic, optical, mechanical, or chemical operation and allows the stored information to be read from the computer. Of such recording media, those detachable from the computer include, e.g., a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R/W, a DVD, a DAT, an 8-mm tape, and a memory card. Of such recording media, those fixed to the computer include a hard disk and a ROM (Read Only Memory). 
         [0125]    According to one aspect, a program of controlling an information processing apparatus for determining the validity of exclusive processes can be achieved. 
         [0126]    All example and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.