WO2011070607A1 - サーバシステムの制御方法及びサーバの制御プログラム - Google Patents

サーバシステムの制御方法及びサーバの制御プログラム Download PDF

Info

Publication number
WO2011070607A1
WO2011070607A1 PCT/JP2009/006676 JP2009006676W WO2011070607A1 WO 2011070607 A1 WO2011070607 A1 WO 2011070607A1 JP 2009006676 W JP2009006676 W JP 2009006676W WO 2011070607 A1 WO2011070607 A1 WO 2011070607A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
load
detection result
monitoring
unit
Prior art date
Application number
PCT/JP2009/006676
Other languages
English (en)
French (fr)
Inventor
松村泰宏
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2009/006676 priority Critical patent/WO2011070607A1/ja
Publication of WO2011070607A1 publication Critical patent/WO2011070607A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Definitions

  • the present invention relates to a server system control method for connecting a plurality of servers on a network and executing processing in response to a request from a client connected to the server.
  • the server system includes a plurality of servers connected via a network. Clients are connected to the plurality of servers via a network. The plurality of servers execute processing in response to requests from clients.
  • a plurality of servers in the server system are classified into a monitoring server and a server monitored by the monitoring server. The monitoring server monitors the operational status of other servers in the server system.
  • a server monitoring program is installed on the monitoring server. The server monitoring program is operated so as to continuously acquire the operation status including the central processing unit (CPU) usage rate of the monitored server.
  • CPU central processing unit
  • the load may be concentrated on the monitoring server for some reason.
  • the load is concentrated on the monitoring server, there arises a problem that the monitoring response is lowered.
  • server monitoring response there is a problem that the detection of a failure of the server monitored by the monitoring server is delayed.
  • JP 2006-157293 A Japanese Patent Laid-Open No. 11-122815 Japanese Patent Laid-Open No. 11-122816
  • An object of the present invention is to provide a server system control method that suppresses a decrease in monitoring response of server monitoring.
  • a control method of a server system having a plurality of servers connected by a network A first server, which is one of the plurality of servers, monitors an operational status of the first server and another server; The first server detects a first load of the first server; The first server compares the detection result of the first load with a predetermined threshold, When the first load is greater than the threshold, the first server sends a request to detect the second load of the second server to a second server that is another server; The second server receives a request for detection of the second load from the first server, detects the second load of the second server, The second server transmits the detection result of the second load to the first server; The first server receives the detection result of the second load transmitted from the second server; The first server requests the second server to monitor the operation status of the plurality of servers based on the detection result of the first load and the detection result of the second load, The second server provides a control method of a server system, where
  • a server control program used in a server system having a plurality of servers connected by a network A control unit for controlling the plurality of servers;
  • First receiving means of the other server for receiving a request to detect the second load from the server;
  • the server resources can be used effectively.
  • FIG. 1 is a diagram illustrating a schematic configuration diagram of a server used in the monitoring program according to the present embodiment.
  • FIG. 2 is a diagram illustrating a system configuration diagram of a server used in the monitoring program according to the present embodiment.
  • FIG. 3 is a diagram illustrating an example of a monitoring target server table used in the monitoring program according to the present embodiment.
  • FIG. 4 is a diagram illustrating an example of a manager identification table used in the monitoring program according to the present embodiment.
  • FIG. 5 is a diagram illustrating an example of a load threshold table used in the monitoring program according to the present embodiment.
  • FIG. 6 is a flowchart illustrating the operation of the server used in the monitoring program according to the present embodiment.
  • FIG. 1 is a diagram illustrating a schematic configuration diagram of a server used in the monitoring program according to the present embodiment.
  • FIG. 2 is a diagram illustrating a system configuration diagram of a server used in the monitoring program according to the present embodiment.
  • FIG. 3 is a diagram illustrating an
  • FIG. 7 is a flowchart illustrating the operation of the server used in the monitoring program according to the present embodiment.
  • FIG. 8 is a flowchart illustrating the operation of the server used in the monitoring program according to the present embodiment.
  • FIG. 9 is a flowchart illustrating the operation of the server used in the monitoring program according to the present embodiment.
  • FIG. 10 is a flowchart illustrating the operation of the server used in the monitoring program according to the present embodiment.
  • FIG. 11 is a flowchart illustrating the operation of the server used in the monitoring program according to the present embodiment.
  • FIG. 1 to 11 illustrate a server system control method and a server monitoring program according to the present embodiment.
  • FIG. 1 shows a schematic configuration diagram of a server 100 according to the present invention.
  • the server 100 includes an input / output device 3, a memory 4, a server management mechanism 5, a central processing unit (CPU) 10, and a disk device 20.
  • CPU central processing unit
  • the input / output device 3 transmits and receives data to and from other servers via the LOCAL AREA NETWORK (LAN) 30.
  • LAN LOCAL AREA NETWORK
  • the disk device 20 is composed of, for example, HARD DISK DRIVE (HDD).
  • the disk device 20 stores, for example, a monitoring target server table 20G, a manager identification table 20H, a load threshold table 20I, an OPERATION SYSTEM (OS), an application program, and data for responding to an HTTP request from a client, for example. ing.
  • the monitoring target server table 20G, the manager specifying table 20H, and the load threshold table 20I will be described later.
  • the memory 4 is connected to the disk device 20 via the bus 40.
  • the memory 4 stores a program 4 a that manages the entire apparatus of the server 100.
  • the program 4a is not necessarily stored in the memory 4, and for example, a flexible disk (FD), a CD-ROM, an MO disk, a DVD disk, a magneto-optical disk, an IC card, or the like inserted into the server 100.
  • FD flexible disk
  • ROM Compact Disc
  • MO disk Compact Disc
  • DVD disk a magneto-optical disk
  • IC card or the like
  • "Portable physical medium” a disk device provided inside or outside the server 100, and "other computer (or server) connected to the server 100 via a public line, the Internet, a LAN, a WAN, or the like”
  • the server 100 may read out and execute the program 4a from these.
  • the server management mechanism 5 records the current status of the server 100 including the CPU usage rate and the memory usage amount in a storage area (not shown) related to the server management mechanism 5. Then, when receiving an inquiry about the state of the server 100 from the server monitoring unit 10A, the server management mechanism 5 returns the current status of the server 100 including the CPU usage rate and the memory usage amount to the server monitoring unit 10A.
  • the CPU 10 is connected to the input / output device 3 and the disk device 20 via the bus 40.
  • the CPU 10 controls the entire server 100.
  • the CPU 10 reads out the program 4a stored in the memory 4 to thereby obtain a server monitoring unit 10A, a processing capability response unit 10B, a load state detection unit 10C, an order arbitration unit 10D, a manager identification unit 10E, and a status display unit 10F. Function.
  • the server monitoring unit 10A In order to monitor the status of a plurality of servers connected to the server 100, the server monitoring unit 10A periodically inquires the server monitoring mechanism 5 included in the server about the server status. In addition, the server monitoring unit 10A activates the processing capacity response unit 10B, the load state detection unit 10C, the order arbitration unit 10D, and the manager identification unit 10E. The processing capability response unit 10B, the load state detection unit 10C, the order arbitration unit 10D, and the manager identification unit 10E are normally in a standby state, and perform processing according to an external request. In addition, the server monitoring unit 10A distributes the monitoring target server table 20G, the manager specifying table 20H, and the load threshold table 20I to a plurality of servers connected to the server 100.
  • the load state detection unit 10 ⁇ / b> C continuously detects the load state of the server 100.
  • the load state detection unit 10C measures the current load in the server 100.
  • the load state detection unit 10 ⁇ / b> C measures the usage rate of the CPU 10 and the usage capacity of the memory 4. Then, the load state detection unit 10C returns the set load state to the processing capability response unit 10B.
  • the processing capability response unit 10B compares the load state of the server 100 received from the load state detection unit 10C with a load threshold value that is a reference for control of the server 100 included in the load threshold value table 20I of the disk device 20. Based on a comparison result between the load state of the server 100 and a load threshold value that is a reference for control of the server 100, the processing capability response unit 10B determines whether or not the server 100 is loaded with a load larger than the threshold value. . When the processing capacity response unit 10B determines that the server 100 is loaded with a load greater than the threshold, the processing capability response unit 10B notifies the order arbitration unit 10D that the load on the server 100 is high.
  • the order arbitration unit 10D inquires of the processing capability response unit 10B whether or not the server 100 is loaded with a load larger than the threshold. In addition, the order arbitration unit 10D arbitrates which server monitoring unit in the monitoring target server among the server monitoring units connected to the server 100 starts execution of the server monitoring program. Specifically, the order arbitration unit 10D refers to the monitoring target server table 20G in which a list of monitoring target servers is described, and determines whether there is a monitoring target server that replaces the monitoring work of its own server monitoring unit. An inquiry is made to the order arbitration unit operating on each monitoring target server described in the server table 20G. The order arbitration unit 10D requests the monitoring target server with a low load to start the server monitoring unit based on the load state that the order arbitration unit of the monitoring target server responds to.
  • the manager identifying unit 10E identifies the currently operating server monitoring unit among the server monitoring units of the monitoring target server with respect to the status display unit 10F.
  • the manager specifying unit 10E describes in the manager specifying table 220H a manager specifying table 20H that describes a list of monitoring target servers on which the server monitoring unit is operating.
  • the monitoring target server in which the server monitoring unit 10A is operating is specified using information for specifying the server such as “host name” and “INTERNET PROTOCOL (IP) address”.
  • the status display unit 10F is connected to the manager specifying unit 10E via the network 50.
  • the status display unit 10F specifies the server monitoring unit of the monitoring target server acquired from the server monitoring unit 10A. Also, the status display unit 10F makes a connection request to the manager specifying unit of the next monitoring target server when the server monitoring unit in the monitoring target server connects to the server monitoring unit in the next monitoring target server.
  • FIG. 2 is a diagram showing a system configuration diagram according to the present embodiment.
  • the unit enclosed by the broken line shown in FIG. 2 shows the unit in a standby state.
  • the system includes a server 200, a server 300, a server 400, a monitoring terminal 500, a client 600, and a client 700.
  • the server 200, the server 300, the server 400, the monitoring terminal 500, the client 600, and the client 700 are connected to each other via the network 52.
  • the server 200, the server 300, and the server 400 have the same configuration requirements.
  • the same components as those described with reference to the server 100 according to FIG.
  • the server 200 includes an input / output device 203, a server management mechanism 205, a CPU 210, a server monitoring unit 210A, a processing capability response unit 210B, a load state detection unit 210C, an order arbitration unit 210D, a manager identification unit 210E, and a disk device 220.
  • the disk device 220 stores, for example, a monitoring target server table 220G, a manager specifying table 220H, and a load threshold table 220I.
  • the server 300 includes an input / output device 303, a server management mechanism 305, a CPU 310, a server monitoring unit 310A, a processing capability response unit 310B, a load state detection unit 310C, an order arbitration unit 310D, a manager identification unit 310E, and a disk device 320.
  • the disk device 320 stores, for example, a monitoring target server table 320G, a manager specifying table 320H, and a load threshold table 320I.
  • the server 400 includes an input / output device 403, a server management mechanism 405, a CPU 410, a server monitoring unit 410A, a processing capability response unit 410B, a load state detection unit 410C, an order arbitration unit 410D, a manager identification unit 410E, and a disk device 420.
  • the disk device 420 stores, for example, a monitoring target server table 420G, a manager specifying table 420H, and a load threshold table 420I.
  • the monitoring terminal 500 transmits the current server 200, the manager specifying unit 210E related to the server 200, the manager specifying unit 310E related to the server 300, or the manager specifying unit 410E related to the server 400 via the network 51. Information on the server 300 and the server 400 is acquired.
  • the system administrator uses the status display unit 500F of the monitoring terminal 500 to check the statuses of the server 200, the server 300, and the server 400.
  • the status display unit 500 F is normally operated by a general personal computer (PC) terminal on the normal network 51.
  • the server monitoring unit 210A related to the server 200 is periodically inquired about the states of the server 200, the server 300, and the server 400.
  • the server 200 including the activated server monitoring unit 210A is hereinafter referred to as a “manager”.
  • the client 600 and the client 700 are terminals that transmit, for example, an HTTP request to the server 200, the server 300, and the server 400.
  • the server 200, the server 300, and the server 400 provide, for example, an HTTP service to the client 600 and the client 700.
  • the server 200 receives an HTTP request from the client 600.
  • the server 200 responds to the client 600 with a response to the HTTP request.
  • the load on the server 200, the server 300, and the server 400 depends on the amount of HTTP requests received from the client 600 and the client 700.
  • the server monitoring unit 210A of the server 200 which is a specific one of the server 200, the server 300, and the server 400 constituting the system, is activated.
  • the server 200 including the activated server monitoring unit 210A is hereinafter referred to as “manager”.
  • the server 200 that is the “manager” receives the current management information from the server management mechanism 205 related to the server 200, the server management mechanism 305 related to the server 300, and the server management mechanism 405 related to the server 400 via the network 51. Information on the server 200, the server 300, and the server 400 is acquired.
  • the response unit 410B, the load state detection unit 410C, the order arbitration unit 410D, and the manager identification unit 410E are configured to monitor the server 300 according to a request from the outside, that is, a request from the server monitoring unit 210A of the server 200 that is a “manager”.
  • the standby state is entered. Therefore, resources of the server 300 and the server 400 can be suppressed.
  • the capability response unit 410B, the load state detection unit 410C, the order arbitration unit 410D, and the manager identification unit 410E are activated independently, for example, at 60-second intervals, and detect, for example, the survival state and load state of the server 300 and the server 400. Then, the server monitoring unit 210A of the server 200, which is the “manager”, is notified of the survival status and load status of the server 300 and the server 400.
  • the server monitoring unit 210A of the server 200 that is a “manager” distributes the monitoring target server table 220G and the manager specifying table 220H that the server 200 has to the server 300 and the server 400.
  • the monitoring target server table 220G and the manager identification table 220H distributed to the server 300 and the server 400 are stored in the disk device 320 included in the server 300 and the disk device 420 included in the server 400.
  • the order arbitration unit 310D of the server 300 that is in the standby state and the order arbitration unit 410D of the server 400 are independently activated, for example, at intervals of 60 seconds, and are transferred to the order arbitration unit 210D of the server 200 that is the “manager”.
  • the “manager” information held in the monitoring target server table 220G and the manager specifying table 220H of the server 200 is inquired.
  • the order arbitration unit 210D of the server 200, the order arbitration unit 310D of the server 300, and The synchronization processing of the monitoring target server table 420G and the manager identification table 420H included in the order arbitration unit 410D of the server 400 is performed, and the contents of the monitoring target server table and the manager identification table are the same among the servers 200, 300, and 400. Can do.
  • FIG. 3 is a diagram showing an example of the data structure of the monitoring target server table 220G.
  • the disk device 220 related to the server 200 stores a monitoring target server table 220G.
  • the monitoring target server table 220G is the monitoring target server table 220G corresponding to the server 200 (IP address is “192.168.0.1”).
  • the monitoring target server table 220G stores information related to the server 200, the server 300, and the server 400 that are the monitoring targets with respect to the server 200 that is currently the “manager” in a table.
  • the monitoring target server table 220G is provided with a field 221 indicating host number information, a field 222 indicating IP address information, and a field 223 indicating port number information. Information arranged in the horizontal direction of each field is associated with each other.
  • a value indicating host number information for identifying the server 200, the server 300, and the server 400 that are monitored with respect to the server 200 is set.
  • the IP address information of the server 200, the server 300, and the server 400 that are monitored with respect to the server 200 is set.
  • the IP address information set in the field 222 is set to identify the transmission source and the transmission destination when communicating with the server 200, the server 300, and the server 400 using TRANSMISSION CONTROL PROTOCOL (TCP) / IP. .
  • port number information of the server 200, the server 300, and the server 400 that are monitored with respect to the server 200 is set.
  • the port number information set in the field 223 is used in the TCP / IP transport layer for the server 200, the server 300, and the server 400, and is set to identify the same monitoring target server.
  • FIG. 4 is a diagram showing an example of the data structure of the manager specifying table 220H.
  • the disk device 220 related to the server 200 stores a manager specifying table 220H.
  • the manager specifying table 220H is a monitoring target server table corresponding to the server 200 (IP address “192.168.0.1”).
  • the manager identification table 220H stores information corresponding to the server 200 that is currently a “manager” in a table.
  • the manager specifying table 220H includes a field 224 indicating host number information corresponding to the server 200 being “manager”, a field 225 indicating IP address information corresponding to the server 200 being “manager”, and the server 200 being “manager”.
  • a field 226 indicating the port number information corresponding to is provided. Information arranged in the horizontal direction of each field is associated with each other.
  • a value indicating the host number information of the server 200 that is currently “manager” is set.
  • the IP address information of the server 200 which is currently “manager” is set.
  • port number information of the server 200 which is currently “manager” is set.
  • FIG. 5 shows an example of the data structure of the load threshold table 220I.
  • the disk device 220 related to the server 200 stores a load threshold table 220I.
  • the load threshold value table 220I is a load threshold value table corresponding to the server 200 (IP address “192.168.0.1”).
  • the load threshold table 220I stores the upper limit value of the load allowed by the server 200 as a table.
  • the load threshold table 220I is provided with a field 227 indicating a resource name and a field 228 indicating a threshold. Information arranged in the horizontal direction of each field is associated with each other.
  • the resource name of the information processing resource is set.
  • “CPU” and “memory” are set.
  • an upper limit value of the load of the information processing resource indicated in the field 227 is set. For example, a utilization rate is set for the CPU, and a storage capacity is set for the memory.
  • the information stored in the load threshold table 220I is appropriately registered or updated by the order arbitration unit 210D.
  • FIG. 6 and FIG. 7 are flowcharts illustrating the procedure of the switching process of the monitoring target server according to the server 200, the server 300, and the server 400 according to the present embodiment.
  • the server monitoring unit 200A in the server 200 is activated. Therefore, the server 200 is called a “manager”.
  • the server monitoring unit 210A related to the server 200 monitors the load state of the server 300 and the server 400.
  • the load states of the server 300 and the server 400 are determined by, for example, the CPU usage rate and the memory usage capacity. 6 and 7, the same reference numerals are given to the same configurations as those described with reference to the servers 200, 300, and 400 in FIGS. 1 and 2. The description is omitted.
  • the processing capability response unit 210B determines whether the load on the server 200 is high using the load state detection unit 210C. If it is determined in S11 that the load on the server 200 is high, then the process in S12 is performed.
  • the processing capability response unit 210B makes a “manager” change request to the order arbitration unit 210D.
  • the “manager” change request is processing for requesting the server 300 and the server 400 to start the server monitoring unit and monitor the monitoring target server.
  • the order arbitration unit 210D related to the server 200 refers to the monitoring target server table 220G in which a list of monitoring target servers is described, and monitors whether there is a monitoring target server that replaces the monitoring work of the server monitoring unit 210A.
  • the order arbitration unit 310D operating on the server 300 and the order arbitration unit 410D operating on the server 400 described in the target server table 220G are inquired. That is, the order arbitration unit 210D performs a process for recruiting the next “manager” candidate.
  • the order arbitration unit 210D according to the server 200 is different from the order arbitration unit 310D that operates in the server 300 described in the monitoring target server table 220G and the order arbitration unit 410D that operates in the server 400. And inquires about the load state of the server 400.
  • the order arbitration unit 210D according to the server 200 makes an inquiry to the order arbitration unit 310D of the server 300, and shows an example in which the processes from S14 to S18 are performed.
  • the order arbitration unit 310D according to the server 300 receives the “manager” candidate recruitment request from the server 200 that is the “manager”.
  • the processing capability response unit 310B related to the server 300 inquires of the load status detection unit 310C related to the server 300 about the load status of the server 300 based on, for example, the CPU usage rate and the memory usage capacity.
  • the load state detection unit 310C according to the server 300 replies the load state of the server 300 to the processing capability response unit 310B according to the server 300.
  • the processing capability response unit 310 ⁇ / b> B according to the server 300 replies the load state of the server 300 to the order arbitration unit 310 ⁇ / b> D related to the server 300.
  • the order arbitration unit 310D related to the server 300 answers the load status of the server 300 to the order arbitration unit 210D of the server 200 that is the “manager”.
  • the order arbitration unit 210 ⁇ / b> D related to the server 200 that is a “manager”, the load state of the server 200 itself, the load state of the server 300 that is answered from the order arbitration unit 310 ⁇ / b> D of the server 300, and the order arbitration unit 410 ⁇ / b> D of the server 400.
  • the load status of the server 400 that is answered by is compared.
  • the order arbitration unit 210D compares the load state of each server with the upper limit values of “CPU” and “memory” stored in the load threshold table, and searches for a server as a new “manager” candidate.
  • the load of the server 300 is stored in the load threshold table 220I according to FIG.
  • the server 200 that is a “manager” performs the process of S31 with the server 300 as a new “manager” candidate.
  • the load of the server 300 is smaller than the load of the server 200 that is the “manager”.
  • the server 200 that is a “manager” has a method of performing the process of S31 with the server 300 as a new “manager” candidate.
  • the order arbitration unit 310D according to the server 200 performs the process of S21.
  • the order arbitration unit 210 ⁇ / b> D related to the server 200 that is the “manager” performs the order arbitration unit 310 ⁇ / b> D that operates on the server 300 and the order arbitration unit 410 ⁇ / b> D that operates on the server 400 described in the monitored server table 220 ⁇ / b> G.
  • the request for searching for a “manager” candidate who replaces the monitoring operation of the server monitoring unit 210A is canceled.
  • the processing capability response unit 210B related to the server 200 that is the “manager” voluntarily stops the processing capability response unit 210B for a certain period, for example, 60 seconds.
  • the processing capability response unit 210B determines that the load on the server 200 is high, the processing capability response unit 210B voluntarily stops for a certain period, for example, 60 seconds. By voluntarily stopping the processing capacity response unit 210B, the resources of the server 200 can be reduced.
  • the order arbitration unit 210D related to the server 200 that is the “manager” determines a server with a low load as the new “manager”.
  • the server 300 is a new “manager”.
  • the order arbitration unit 210D related to the server 200 that is the “manager” transmits a “manager” change request to the order arbitration unit 310D of the server 300 that is the new “manager”.
  • S33 to S35 show processing related to the order arbitration unit 310D of the server 300.
  • the server 300 that is the new “manager” monitors the load states of the server 200, the server 300, and the server 400 in place of the server 200 that is the current “manager”.
  • the order arbitration unit 310D related to the server 300 that is the new “manager” receives the “manager” change request to the order arbitration unit 210D of the server 200 that is the current “manager”.
  • the order arbitration unit 310 ⁇ / b> D related to the new “manager” server 300 obtains the information related to the manager identification table 320 ⁇ / b> H stored in the disk device 320 from the information of the server 200 that was the previous “manager”. The information is updated to the information of the server 300 that is the new “manager”.
  • the order arbitration unit 310D related to the server 300 that is the new “manager” starts the server monitoring unit 310A related to the server 300. After confirming the activation of the server monitoring unit 310A, the order arbitration unit 310D notifies the server 200 that is the previous “manager” that the server monitoring unit 310A has been activated.
  • the order arbitration unit 210D related to the server 200 receives a notification from the order arbitration unit 310D related to the server 300 that is the new “manager” that the server monitoring unit 310A that is the new “manager” has started. Upon receiving the notification that the server monitoring unit 310A that is the new “manager” has been activated, the order arbitration unit 210D associated with the server 200 confirms that the server 300 that is the new “manager” has been activated.
  • the order arbitration unit 210D according to the server 200 notifies the other monitoring target server, for example, the server 400, that the “manager” has been changed from the server 200 to the server 400.
  • the order arbitration unit 210D related to the server 200 notifies the order arbitration unit 410D related to the server 400, and the order arbitration unit 410D related to the server 400 performs the process of S40.
  • the process of S40 will be described later.
  • the order arbitration unit 210 ⁇ / b> D related to the server 200 updates the manager specifying table 220 ⁇ / b> H stored in the disk device 220 from the information of the previous “manager” server 200 to the new “manager” server 300. To do.
  • the order arbitration unit 210H according to the server 200 stops the server monitoring unit 210A.
  • S40 to S41 indicate processing related to the order arbitration unit 410D of the server 400.
  • the order arbitration unit 410 ⁇ / b> D related to the server 400 notifies that the “manager” has been changed from the server 200 to the server 400 from the order arbitration unit 210 ⁇ / b> D related to the server 200 to the server 400 in the previous S ⁇ b> 37. Receive.
  • the order arbitration unit 410 ⁇ / b> D related to the server 400 updates the manager specifying table 420 ⁇ / b> H stored in the disk device 420 from the information of the previous “manager” server 200 to the new “manager” server 300. To do.
  • FIG. 8 and FIG. 9 are flowcharts illustrating a procedure of switching processing of the monitoring target server according to the present embodiment and the monitoring target server according to the server 300.
  • the same reference numerals are given to the same configurations as those described in the monitoring terminal 500 and the server 300 according to FIGS. 1 and 2. The description is omitted.
  • the state display unit 500F related to the monitoring terminal 500 makes a connection request to the server 300 connected to the monitoring terminal 500.
  • the manager specifying unit 310E related to the server 300 releases the standby state and starts the operation in response to a connection request from the status display unit 500F related to the monitoring terminal 500.
  • the manager specifying unit 310E related to the server 300 refers to the manager specifying table 320H stored in the disk device 320.
  • the manager specifying unit 310E related to the server 300 determines whether the “manager” is its own server, that is, the server 300, based on the reference result of the manager specifying table 320H. When the “manager” is the server 300, the manager specifying unit 310E related to the server 300 performs the process of S55. When the “manager” is not the server 300, the manager specifying unit 310E related to the server 300 performs the process of S56.
  • the manager specifying unit 310E related to the server 300 accepts the connection request from the status display unit 500F related to the monitoring terminal 500, and performs the process in S57.
  • the manager specifying unit 310E related to the server 300 refers to the manager specifying table 320H stored in the disk device 320, confirms the monitoring target server that is the correct “manager”, and performs the process of S57.
  • the manager specifying unit 310E related to the server 300 notifies the current “manager” to the status display unit 500F related to the monitoring terminal 500 based on the processing in S55 or S56.
  • the status display unit 500F related to the monitoring terminal 500 determines whether or not a connection request for the server 300 is accepted based on the notification result of the manager specifying unit 310E related to the server 300 in S57. When the connection request to the server 300 is accepted, the status display unit 500F performs the process of S62. If the connection request to the server 300 is not accepted, the status display unit 500F performs the process of S63.
  • the status display unit 500F related to the monitoring terminal 500 makes a connection request to the monitoring target server that is the current “manager” notified by the manager specifying unit 310E related to the server 300.
  • FIGS. 10 and 11 are diagrams illustrating a processing procedure of the monitoring target server that first detects the stop of the server 200 that is the “manager” in relation to the server 300 and the server 400 according to the present embodiment.
  • the server monitoring unit 200A in the server 200 is activated. Therefore, the server 200 is called a “manager”.
  • the server monitoring unit 210A related to the server 200 monitors the load state of the server 300 and the server 400.
  • the same reference numerals are given to the same configurations as those described with reference to the server 200, the server 300, and the server 400 according to FIGS. The description is omitted.
  • the order arbitration unit 310 ⁇ / b> D related to the server 300 that is in the standby state is automatically activated, for example, at 60-second intervals, and periodically sends a “manager” to the order arbitration unit 210 ⁇ / b> D of the server 200 that is the “manager”. It is confirmed that the server 200 is alive.
  • the existence of the server 200 can recognize the existence of the server 200 by detecting, by the server 300, a heartbeat (signal notifying that it is operating) that should be periodically output from the server 200.
  • the order arbitration unit 310D related to the server 300 confirms that the server 200 that is the “manager” is stopped.
  • the server 300 can recognize the stop of the server 200 by detecting that the heartbeat that should be periodically output from the server 200 has stopped for a predetermined period.
  • the order arbitration unit 310D related to the server 300 refers to the monitoring target server table 320G in which a list of monitoring target servers is described, and monitors whether there is a monitoring target server that replaces the monitoring work of the server monitoring unit 210A.
  • the order arbitration unit 310D operating on the server 300 and the order arbitration unit 410D operating on the server 400 described in the target server table 320G are inquired. That is, the order arbitration unit 310D performs a process for recruiting the next “manager” candidate.
  • the order arbitration unit 310D according to the server 300 is different from the order arbitration unit 310D that operates in the server 300 and the order arbitration unit 410D that operates in the server 400 described in the monitoring target server table 320G. And inquires about the load state of the server 400.
  • the order arbitration unit 310D according to the server 300 makes an inquiry to the order arbitration unit 410D of the server 400, and shows an example in which the processes from S74 to S78 are performed.
  • the order arbitration unit 410D according to the server 400 receives the “manager” candidate recruitment request from the server 300.
  • the processing capability response unit 410B related to the server 400 inquires of the load status detection unit 410C related to the server 400 about the load status of the server 400 based on, for example, the CPU usage rate and the memory usage capacity.
  • the load state detection unit 410C according to the server 400 returns the load state of the server 400 to the processing capability response unit 410B according to the server 400.
  • the processing capability response unit 410B according to the server 400 answers the load status of the server 400 to the order arbitration unit 410D according to the server 400.
  • the order arbitration unit 410D according to the server 400 returns the load state of the server 400 to the order arbitration unit 310D of the server 400.
  • the order arbitration unit 310 ⁇ / b> D related to the server 300 compares the load of the server 300 that is the server 300 itself and the load related to the server 400 with the upper limit value of the load stored in the load threshold table 320 ⁇ / b> I. Is determined as a new “manager”.
  • the order arbitration unit 310D related to the server 300 determines whether or not the server 300 itself becomes a new “manager”. When the load of the server 300 is smaller than the upper limit value of the load threshold table 320I and the server 300 becomes a new “manager”, the order arbitration unit 310D related to the server 300 performs the processes from S83 to S84. When the load of the server 300 is larger than the upper limit value of the load threshold table 320I and the server 300 does not become a new “manager” itself, the order arbitration unit 310D related to the server 300 performs the processing from S85 to S87.
  • the order arbitration unit 310D related to the server 300 updates the manager identification table 320H from the information of the server 200 that was the previous “manager” to the server 300 that becomes the new “manager”.
  • the order arbitration unit 310D according to the server 300 transmits a “manager” change request to the order arbitration unit 410D of the server 400.
  • the order arbitration unit 410D related to the server 400 serving as the new “manager” starts the server monitoring unit 410A related to the server 400.
  • the order arbitration unit 410D associated with the server 400 confirms that the server monitoring unit 410A associated with the server 400 is activated with respect to the order arbitration unit 310D associated with the server 300, that is, a new “manager”. Notify that has started.
  • the order arbitration unit 310D according to the server 300 notifies the monitoring target server (not illustrated) that the “manager” has been changed from the server 200 to the server 400.
  • the order arbitration unit 310D updates the manager specifying table 320H from the information of the server 200 that is the previous “manager” to the server 400 that is the new “manager”.
  • the order arbitration unit 310D related to the server 300 and the order arbitration unit 410D related to the server 400 simultaneously detect the stop of the server 200 that is a “manager”, for example, FIG.
  • the order arbitration unit related to the monitoring target server described on the monitoring target server table 220G shown performs the process of recruiting the next “manager” candidate in S73.
  • the server system and the server control program composed of such monitoring target servers since a plurality of servers are monitored by a server having a low load among the plurality of servers, a decrease in the monitoring response of the server monitoring is suppressed. Can do. Further, since the monitoring server can be moved autonomously, the server resources can be used effectively. Further, even when the monitoring server on which the server monitoring program is operating stops, the monitoring server moves autonomously to another server, so that it is possible to provide a server control program that can maintain the server monitoring function.
  • a plurality of servers are monitored by a server having a low load among the plurality of servers, so that a decrease in the monitoring response of the server monitoring can be suppressed. Further, since the monitoring server can be moved autonomously, the server resources can be used effectively.
  • Input / output device 4 Memory 5 Server management mechanism 10 Central Processing Unit (CPU) 10A Server monitoring unit 10B Processing capacity response unit 10C Load state detection unit 10D Order arbitration unit 10E Manager identification unit 10F Status display unit 20 Disk device 20G Monitoring target server table 20H Manager identification table 20I Load threshold table 30 LAN 40 internal bus 50 network 51 network 52 network 100 server 200 server 205 server management mechanism 210 CPU 210A Server monitoring unit 210B Processing capability response unit 210C Load state detection unit 210D Order arbitration unit 210E Manager specifying unit 220 Disk device 220G Monitored server table 220H Manager specifying table 220I Load threshold table 221 Field (host number) 222 field (IP address) 223 field (port number) 224 field (server number) 225 field (IP address) 226 field (port number) 227 field (resource name of information processing resource) 228 field (upper limit of information processing resource load) 300 server 305 server management mechanism 310 CPU 310A Server monitoring unit 310B Processing capability response unit 310

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

 本発明は、サーバ監視の監視レスポンスの低下を抑制するサーバシステムの制御方法を提供する。 ネットワークで接続された複数のサーバを有するサーバシステムの制御方法であって、複数のサーバの1つである第1サーバは、第1サーバと他のサーバの運用状況を監視し、第1サーバは、第1サーバの第1負荷を検出し、第1サーバは、第1負荷の検出結果と所定の閾値とを比較し、第1負荷が閾値よりも大きいときに、第1サーバは、他のサーバである第2サーバに対して第2サーバの第2負荷の検出の依頼を送信し、第2サーバは、第1サーバからの第2負荷の検出の依頼を受信して、第2サーバの第2負荷を検出し、第2サーバは、第2負荷の検出結果を第1サーバに対して送信し、第1サーバは、第2サーバから送信された第2負荷の検出結果を受信する。

Description

サーバシステムの制御方法及びサーバの制御プログラム
 本発明は、複数のサーバをネットワーク上で接続し、サーバに接続されたクライアントからの要求に応じて処理を実行するサーバシステムの制御方法に関する。
 サーバシステムはネットワークで接続された複数のサーバによって構成されている。複数のサーバには、ネットワークを介してクライアントが接続されている。複数のサーバは、クライアントからの要求に応じて処理を実行する。サーバシステム内の複数のサーバは、監視サーバと、監視サーバによって監視されるサーバに分類される。
 監視サーバは、サーバシステム内の他のサーバの運用状況を監視する。監視サーバには、サーバ監視プログラムがインストールされている。サーバ監視プログラムは、監視されるサーバのCentral Processing Unit(CPU)使用率を含む運用状況を継続的に取得するように動作させる。
 しかしながら、上記の構造では、監視サーバに何らかの要因で負荷が集中する場合がある。監視サーバに負荷が集中すると、監視レスポンスが低下する問題が発生する。サーバ監視のレスポンスの低下に伴い、監視サーバが監視しているサーバの故障の検出が遅延する問題が発生する。
 従来技術として、下記の文献がある。
特開2006-157293号公報 特開平11-122815号公報 特開平11-122816号公報
 本発明は、サーバ監視の監視レスポンスの低下を抑制するサーバシステムの制御方法を提供することを目的とする。
 本発明の課題を解決するため、本発明の第1の側面によれば、
 ネットワークで接続された複数のサーバを有するサーバシステムの制御方法であって、
 前記複数のサーバの1つである第1サーバは、前記第1サーバと他のサーバの運用状況を監視し、
 前記第1サーバは、前記第1サーバの第1負荷を検出し、
 前記第1サーバは、前記第1負荷の検出結果と所定の閾値とを比較し、
 前記第1負荷が前記閾値よりも大きいときに、前記第1サーバは、他のサーバである第2サーバに対して前記第2サーバの第2負荷の検出の依頼を送信し、
 前記第2サーバは、前記第1サーバからの第2負荷の検出の依頼を受信して、前記第2サーバの第2負荷を検出し、
 前記第2サーバは、前記第2負荷の検出結果を前記第1サーバに対して送信し、
 前記第1サーバは、前記第2サーバから送信された前記第2負荷の検出結果を受信し、
 前記第1サーバは、前記第1負荷の検出結果及び前記第2負荷の検出結果に基づいて、前記第2サーバに対して前記複数のサーバの運用状況の監視を依頼し、
 前記第2サーバは、前記第1サーバからの前記複数のサーバの運用状況の監視の依頼を受信して、運用状況を監視する
ことを特徴とするサーバシステムの制御方法を提供する。
 本発明の第2の側面によれば、
 ネットワークで接続された複数のサーバを有するサーバシステムに使用されるサーバの制御プログラムであって、
 前記複数のサーバを制御する制御部を、
 自サーバと他のサーバの運用状況を監視する前記複数のサーバの1つである自サーバの第1監視手段、
 前記自サーバの第1負荷を検出する前記自サーバの第1検出手段、
 前記第1負荷の検出結果と所定の閾値とを比較する前記自サーバの第1比較手段、
 前記第1負荷が前記閾値より大きいときに、前記他のサーバに対して第2負荷の検出を依頼する前記自サーバの第1依頼手段、
 前記自サーバからの前記第2負荷の検出の依頼を受信する前記他のサーバの第1受信手段、
 前記第2負荷を検出する前記他のサーバの第2検出手段、
 前記第2負荷の前記検出結果を前記自サーバに対して送信する前記他のサーバの送信手段、
 前記他のサーバから送信された前記第2負荷の前記検出結果を受信する前記自サーバの第2受信手段、
 前記第1負荷の前記検出結果及び前記第2負荷の前記検出結果に基づいて、前記他のサーバに対して前記複数のサーバの前記運用状況の監視を依頼する前記自サーバの第2依頼手段、
 前記自サーバからの前記運用状況の監視の依頼を受信する前記他のサーバの第3受信手段、
 前記運用状況を監視する前記他のサーバの第2監視手段、
として機能させることを特徴とするサーバの制御プログラムを提供する。
 本発明によれば、複数のサーバのうち負荷の小さいサーバによって複数のサーバを監視させるため、サーバ監視の監視レスポンスの低下を抑制することができる。また、監視用のサーバを自律的に移動させることができるので、サーバの資源を有効に利用できる。
図1は、本実施例に係る監視プログラムに用いられるサーバの概略構成図を示す図である。 図2は、本実施例に係る監視プログラムに用いられるサーバのシステム構成図を示す図である。 図3は、本実施例に係る監視プログラムに用いられる監視対象サーバテーブルの一例を示す図である。 図4は、本実施例に係る監視プログラムに用いられるマネージャ特定テーブルの一例を示す図である。 図5は、本実施例に係る監視プログラムに用いられる負荷閾値テーブルの一例を示す図である。 図6は、本実施例に係る監視プログラムに用いられるサーバの動作を示すフローチャートである。 図7は、本実施例に係る監視プログラムに用いられるサーバの動作を示すフローチャートである。 図8は、本実施例に係る監視プログラムに用いられるサーバの動作を示すフローチャートである。 図9は、本実施例に係る監視プログラムに用いられるサーバの動作を示すフローチャートである。 図10は、本実施例に係る監視プログラムに用いられるサーバの動作を示すフローチャートである。 図11は、本実施例に係る監視プログラムに用いられるサーバの動作を示すフローチャートである。
 以下、本発明の実施例に係るサーバシステムの制御方法及びサーバの監視プログラムが説明される。ただし、本発明は本実施例に限定されるものではない。
 図1から図11では、本実施例に係るサーバシステムの制御方法及びサーバの監視プログラムが説明される。 
 図1は、本発明に係るサーバ100の概略構成図を示す。
 サーバ100は、入出力装置3、メモリ4、サーバ管理機構5、Central Processing Unit(CPU)10及びディスク装置20を備える。
 入出力装置3は、LOCAL AREA NETWORK(LAN)30を介して、他のサーバとの間でデータの送受信を行う。
 ディスク装置20は、例えばHARD DISK DRIVE(HDD)から構成されている。ディスク装置20は、例えば監視対象サーバテーブル20G、マネージャ特定テーブル20H、負荷閾値テーブル20I、OPERATION SYSTEM(OS)、アプリケーションプログラム、及び、例えばクライアントからのHTTPリクエストに対して応答するためのデータが格納されている。監視対象サーバテーブル20G、マネージャ特定テーブル20H、及び負荷閾値テーブル20Iについての説明は後述する。
 メモリ4は、バス40を介してディスク装置20と接続されている。メモリ4には、サーバ100の装置全体を管理するプログラム4aが格納される。なお、プログラム4aについては、必ずしもメモリ4に記憶させておく必要はなく、例えば、サーバ100に挿入されるフレキシブルディスク(FD)、CD-ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、サーバ100の内外に備えられるディスク装置、さらには、公衆回線、インターネット、LAN、WANなどを介してサーバ100に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、サーバ100がこれらからプログラム4aを読み出して実行するようにしてもよい。
 サーバ管理機構5は、CPU使用率及びメモリ使用量を含む現在のサーバ100の状況を、サーバ管理機構5に係る不図示の記憶領域に記録する。そして、サーバ管理機構5は、サーバ監視部10Aからサーバ100の状態に関する問い合わせを受信すると、CPU使用率及びメモリ使用量を含む現在のサーバ100の状況をサーバ監視部10Aに返信する。
 CPU10は、バス40を介して入出力装置3及びディスク装置20と接続されている。CPU10は、サーバ100全体を制御する。CPU10は、メモリ4に格納されているプログラム4aを読み出すことにより、サーバ監視部10A、処理能力応答部10B、負荷状態検出部10C、順序調停部10D、マネージャ特定部10E、及び状態表示部10Fとして機能する。
 サーバ監視部10Aは、サーバ100に接続する複数のサーバの状態の監視を行うために、サーバが備えるサーバ監視機構5に対し、サーバの状態を定期的に問い合わせる。また、サーバ監視部10Aは、処理能力応答部10B、負荷状態検出部10C、順序調停部10D、及びマネージャ特定部10Eを起動する。処理能力応答部10B、負荷状態検出部10C、順序調停部10D、及びマネージャ特定部10Eは普段待機状態であり、外部要求に応じ処理を実施する。また、サーバ監視部10Aは、サーバ100に接続する複数のサーバに対し、監視対象サーバテーブル20G、マネージャ特定テーブル20H、及び負荷閾値テーブル20Iを配付する。
 負荷状態検出部10Cは、サーバ100の負荷状態を継続的に検出する。負荷状態検出部10Cは、処理能力応答部10Bから負荷状態の取得要求を受信すると、サーバ100における現在の負荷を測定する。負荷状態検出部10Cは、例えば、CPU10の使用率及びメモリ4の使用容量を測定する。そして、負荷状態検出部10Cは、設定した負荷状態を処理能力応答部10Bへ返信する。
 処理能力応答部10Bは、負荷状態検出部10Cから受け取ったサーバ100の負荷状態と、ディスク装置20の負荷閾値テーブル20Iに含まれるサーバ100の制御の基準となる負荷の閾値とを比較する。サーバ100の負荷状態と、サーバ100の制御の基準となる負荷の閾値との比較結果に基づいて、処理能力応答部10Bは、サーバ100に閾値よりも大きい負荷がかかっているか否かについて判断する。処理能力応答部10Bは、サーバ100に閾値よりも大きい負荷がかかっていると判断すると、順序調停部10Dに対してサーバ100の負荷が高いことを通知する。
 順序調停部10Dは、処理能力応答部10Bに対し、サーバ100に閾値よりも大きい負荷がかかっているか否かについて問い合わせる。また、順序調停部10Dは、サーバ100に接続されているサーバ監視部のうち、どの監視対象サーバにおけるサーバ監視部がサーバ監視プログラムの実行を開始するか調停する。具体的には、順序調停部10Dは、監視対象サーバの一覧を記載した監視対象サーバテーブル20Gを参照して、自らのサーバ監視部の監視作業を代わってくれる監視対象サーバがいないか、監視対象サーバテーブル20Gに記載されている各監視対象サーバで動作する順序調停部に対して問合せる。順序調停部10Dは、監視対象サーバの順序調停部が応答した負荷状態を元に、負荷が小さい監視対象サーバに対し、サーバ監視部を起動するように依頼する。
 マネージャ特定部10Eは、状態表示部10Fに対し、監視対象サーバのサーバ監視部の中で現在動作しているサーバ監視部を特定する。現在動作している監視対象サーバのサーバ監視部を特定する際、マネージャ特定部10Eは、サーバ監視部が動作している監視対象サーバの一覧を記載したマネージャ特定テーブル20Hをマネージャ特定テーブル220Hに記載し、例えば「ホスト名」及び「INTERNET PROTOCOL(IP)アドレス」などサーバを特定する情報を用いて、サーバ監視部10Aが動作している監視対象サーバを特定する。
 状態表示部10Fは、ネットワーク50を介してマネージャ特定部10Eと接続されている。状態表示部10Fは、サーバ監視部10Aから取得した監視対象サーバのサーバ監視部を特定する。また、状態表示部10Fは、監視対象サーバにおけるサーバ監視部が、次の監視対象サーバにおけるサーバ監視部に接続するときに、次の監視対象サーバのマネージャ特定部に対して接続要求を行う。
 図2は、本実施例に係るシステム構成図を示す図である。なお、図2に示す破線によって囲まれているユニットは、待機状態となっているユニットを示す。
 図2に示すように、本実施例に係るシステムは、サーバ200、サーバ300、サーバ400、監視用端末500、クライアント600及びクライアント700によって構成されている。サーバ200、サーバ300、サーバ400、監視用端末500、クライアント600及びクライアント700は、ネットワーク52を介して互いに接続されている。なお、サーバ200、サーバ300、及びサーバ400は同一の構成要件を備える。なお、図2に示すサーバ200、サーバ300、及びサーバ400において、図1に係るサーバ100で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
 サーバ200は、入出力装置203、サーバ管理機構205、CPU210、サーバ監視部210A、処理能力応答部210B、負荷状態検出部210C、順序調停部210D、マネージャ特定部210E、及びディスク装置220を備える。ディスク装置220は、例えば監視対象サーバテーブル220G、マネージャ特定テーブル220H、負荷閾値テーブル220Iを格納する。
 サーバ300は、入出力装置303、サーバ管理機構305、CPU310、サーバ監視部310A、処理能力応答部310B、負荷状態検出部310C、順序調停部310D、マネージャ特定部310E、及びディスク装置320を備える。ディスク装置320は、例えば監視対象サーバテーブル320G、マネージャ特定テーブル320H、負荷閾値テーブル320Iを格納する。
 サーバ400は、入出力装置403、サーバ管理機構405、CPU410、サーバ監視部410A、処理能力応答部410B、負荷状態検出部410C、順序調停部410D、マネージャ特定部410E、及びディスク装置420を備える。ディスク装置420は、例えば監視対象サーバテーブル420G、マネージャ特定テーブル420H、負荷閾値テーブル420Iを格納する。
 監視用端末500は、ネットワーク51を介して、システムを構成するサーバ200に係るマネージャ特定部210E、サーバ300に係るマネージャ特定部310E、又はサーバ400に係るマネージャ特定部410Eから、現在のサーバ200、サーバ300、及びサーバ400の情報を取得する。
 システムの管理者は、監視用端末500の状態表示部500Fを使用して、サーバ200、サーバ300、及びサーバ400の状態を確認する。システムの管理者によるサーバ200、サーバ300、及びサーバ400を常時監視したいという要求から、状態表示部500Fは、通常ネットワーク51上の一般的なPersonal Computer(PC)端末によって常時動作し、「マネージャ」であるサーバ200に係るサーバ監視部210Aに対し、定期的にサーバ200、サーバ300、及びサーバ400の状態を問合せる。なお、起動されたサーバ監視部210Aを備えるサーバ200は、以後「マネージャ」と呼ぶこととする。
 クライアント600及びクライアント700は、サーバ200、サーバ300、及びサーバ400に対し、例えばHTTPリクエストを送信する端末である。サーバ200、サーバ300、及びサーバ400は、クライアント600及びクライアント700に対して、例えばHTTPサービスを提供する。
 例えば、サーバ200は、クライアント600からHTTPリクエストを受信する。サーバ200は、HTTPリクエストを対するレスポンスをクライアント600に応答する。なお、サーバ200、サーバ300、及びサーバ400における負荷は、クライアント600及びクライアント700から受信するHTTPリクエストの量に依存する。
 システムを構成するサーバ200、サーバ300、及びサーバ400のうち、特定の一台であるサーバ200のサーバ監視部210Aが起動される。起動されたサーバ監視部210Aを備えるサーバ200は、以後「マネージャ」と呼ぶこととする。「マネージャ」であるサーバ200は、ネットワーク51を介して、システムを構成するサーバ200に係るサーバ管理機構205、サーバ300に係るサーバ管理機構305、及びサーバ400に係るサーバ管理機構405から、現在のサーバ200、サーバ300、及びサーバ400の情報を取得する。「マネージャ」以外のサーバ300に係るサーバ監視部310A、処理能力応答部310B、負荷状態検出部310C,順序調停部310D、及びマネージャ特定部310E、および、サーバ400に係るサーバ監視部410A、処理能力応答部410B、負荷状態検出部410C,順序調停部410D、及びマネージャ特定部410Eは、外部からの要求、即ち「マネージャ」であるサーバ200のサーバ監視部210Aの要求により、サーバ300に係るサーバ監視部310A、及びサーバ400に係るサーバ監視部410Aによる監視が開始するまでは、待機状態となる。そのため、サーバ300、及びサーバ400の資源を抑えることができる。
 なお、待機状態であるサーバ300に係るサーバ監視部310A、処理能力応答部310B、負荷状態検出部310C,順序調停部310D、及びマネージャ特定部310E、および、サーバ400に係るサーバ監視部410A、処理能力応答部410B、負荷状態検出部410C,順序調停部410D、及びマネージャ特定部410Eは、例えば60秒間隔で自主的に起動し、例えばサーバ300、及びサーバ400の生存状態、及び負荷状態を検出し、「マネージャ」であるサーバ200のサーバ監視部210Aに、サーバ300、及びサーバ400の生存状態及び負荷状態を通知する。
 また、「マネージャ」であるサーバ200のサーバ監視部210Aは、サーバ300及びサーバ400に対し、サーバ200が有する監視対象サーバテーブル220G及びマネージャ特定テーブル220Hを配付する。サーバ300及びサーバ400に対して配付された監視対象サーバテーブル220G及びマネージャ特定テーブル220Hは、サーバ300が備えるディスク装置320、及びサーバ400が備えるディスク装置420に保存される。
 また、待機状態となっているサーバ300の順序調停部310D、及びサーバ400の順序調停部410Dは、例えば60秒間隔で自主的に起動し、「マネージャ」であるサーバ200の順序調停部210Dに対し、サーバ200が有する監視対象サーバテーブル220G及びマネージャ特定テーブル220Hが保持する「マネージャ」情報の問い合わせを行う。サーバ300の順序調停部310D、及び監視対象サーバ400の順序調停部410Dによる監視対象サーバテーブル220G及びマネージャ特定テーブル220Hの問い合わせにより、サーバ200の順序調停部210D、サーバ300の順序調停部310D、及びサーバ400の順序調停部410Dが有する監視対象サーバテーブル420G及びマネージャ特定テーブル420Hの同期処理を行い、監視対象サーバテーブル及びマネージャ特定テーブルの内容がサーバ200、サーバ300及びサーバ400間で同一にすることができる。
 図3は、監視対象サーバテーブル220Gのデータ構造例を示す図である。サーバ200に係るディスク装置220は、監視対象サーバテーブル220Gを格納している。監視対象サーバテーブル220Gは、サーバ200(IPアドレスが“192.168.0.1”)に対応する監視対象サーバテーブル220Gである。
 監視対象サーバテーブル220Gは、現在「マネージャ」であるサーバ200に対して監視対象となっているサーバ200、サーバ300、及びサーバ400の情報が関連付けられてテーブル化されて格納されている。監視対象サーバテーブル220Gは、ホスト番号情報を示すフィールド221、IPアドレス情報を示すフィールド222、及びポート番号情報を示すフィールド223が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
 フィールド221は、サーバ200に対して監視対象となっているサーバ200、サーバ300、及びサーバ400をそれぞれ識別するホスト番号情報を示す値が設定される。
 フィールド222は、サーバ200に対して監視対象となっているサーバ200、サーバ300、及びサーバ400のIPアドレス情報が設定される。フィールド222に設定されるIPアドレス情報は、サーバ200、サーバ300、及びサーバ400に対してTRANSMISSION CONTROL PROTOCOL(TCP)/IPで通信する場合に、送信元及び送信先を識別するために設定される。
 フィールド223は、サーバ200に対して監視対象となっているサーバ200、サーバ300、及びサーバ400のポート番号情報が設定される。フィールド223に設定されるポート番号情報は、サーバ200、サーバ300、及びサーバ400に対してTCP/IPのトランスポート層で用いられ、同一の監視対象サーバを識別するために設定される。
 図4は、マネージャ特定テーブル220Hのデータ構造例を示す図である。サーバ200に係るディスク装置220は、マネージャ特定テーブル220Hを格納している。マネージャ特定テーブル220Hは、サーバ200(IPアドレスが“192.168.0.1”に対応する監視対象サーバテーブルである。
 マネージャ特定テーブル220Hは、現在「マネージャ」であるサーバ200に対応する情報が関連付けられてテーブル化されて格納されている。マネージャ特定テーブル220Hは、「マネージャ」であるサーバ200に対応するホスト番号情報を示すフィールド224、「マネージャ」であるサーバ200に対応するIPアドレス情報を示すフィールド225、及び「マネージャ」であるサーバ200に対応するポート番号情報を示すフィールド226が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
 フィールド224は、現在「マネージャ」であるサーバ200のホスト番号情報を示す値が設定される。
 フィールド225は、現在「マネージャ」であるサーバ200のIPアドレス情報が設定される。
 フィールド226は、現在「マネージャ」であるサーバ200のポート番号情報が設定される。
 図5は、負荷閾値テーブル220Iのデータ構造例を示す図である。サーバ200に係るディスク装置220は負荷閾値テーブル220Iを格納している。負荷閾値テーブル220Iは、サーバ200(IPアドレスが“192.168.0.1”に対応する負荷閾値テーブルである。
負荷閾値テーブル220Iは、サーバ200が許容する負荷の上限値をテーブル化して格納する。負荷閾値テーブル220Iは、リソース名を示すフィールド227および閾値を示すフィールド228が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
 フィールド227には、情報処理資源の資源名が設定される。図5に示した例では、“CPU”及び“メモリ”の2つが設定されている。
 フィールド228には、フィールド227で示される情報処理資源の負荷の上限値が設定される。例えば、CPUに対しては利用率、メモリに対しては記憶容量が設定される。
 負荷閾値テーブル220Iに格納される情報は、順序調停部210Dによって適宜登録または更新される。
 図6及び図7は、本実施例に係るサーバ200、サーバ300、及びサーバ400に係る監視対象サーバの切替え処理の手順を示すフローチャートである。本実施例において、サーバ200におけるサーバ監視部200Aが起動されている。そのため、サーバ200を「マネージャ」と呼ぶ。サーバ200に係るサーバ監視部210Aは、サーバ300及びサーバ400の負荷状態を監視する。サーバ300及びサーバ400の負荷状態は、例えばCPUの使用率及びメモリの使用容量によって決定される。なお、図6及び図7に示すサーバ200、サーバ300、及びサーバ400において、図1及び図2に係るサーバ200、サーバ300、及びサーバ400で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
 S11において、サーバ200に係る処理能力応答部210Bは、負荷状態検出部210Cを用いて、サーバ200の負荷が高いか否かを判断する。S11において、サーバ200の負荷が高いと判断すると、次にS12の処理を行う。
 S12において、処理能力応答部210Bは、順序調停部210Dに対し、「マネージャ」変更依頼を行う。「マネージャ」変更依頼とは、サーバ300、及びサーバ400に対して、サーバ監視部の起動、及び監視対象サーバの監視の依頼を行う処理のことである。
 S13において、サーバ200に係る順序調停部210Dは、監視対象サーバの一覧を記載した監視対象サーバテーブル220Gを参照して、サーバ監視部210Aの監視作業を代わってくれる監視対象サーバがいないか、監視対象サーバテーブル220Gに記載されているサーバ300で動作する順序調停部310D、及びサーバ400で動作する順序調停部410Dに対して問合せる。即ち、順序調停部210Dは、次の「マネージャ」候補を募集する処理を行う。具体的には、サーバ200に係る順序調停部210Dは、監視対象サーバテーブル220Gに記載されているサーバ300で動作する順序調停部310D、及びサーバ400で動作する順序調停部410Dに対し、サーバ300及びサーバ400の負荷状態を問い合わせる。本実施例では、サーバ200に係る順序調停部210Dは、サーバ300の順序調停部310Dに対して問い合わせを行い、S14からS18までの処理を行う一例を示す。
 S14において、サーバ300に係る順序調停部310Dは、「マネージャ」であるサーバ200から、「マネージャ」候補募集依頼を受信する。
 S15において、サーバ300に係る処理能力応答部310Bは、サーバ300に係る負荷状態検出部310Cに対し、例えばCPUの使用率及びメモリの使用容量に基づくサーバ300の負荷状態を問い合わせる。
 S16において、サーバ300に係る負荷状態検出部310Cは、サーバ300に係る処理能力応答部310Bに対し、サーバ300の負荷状態を回答する。
 S17において、サーバ300に係る処理能力応答部310Bは、サーバ300に係る順序調停部310Dに対し、サーバ300の負荷状態を回答する。
 S18において、サーバ300に係る順序調停部310Dは、「マネージャ」であるサーバ200の順序調停部210Dに対し、サーバ300の負荷状態を回答する。
 S19において、「マネージャ」であるサーバ200に係る順序調停部210Dは、サーバ200自らの負荷状態、サーバ300の順序調停部310Dから回答されたサーバ300の負荷状態、及びサーバ400の順序調停部410Dから回答されたサーバ400の負荷状態を比較する。順序調停部210Dは、各サーバの負荷状態と負荷閾値テーブルに格納された“CPU”及び“メモリ”の上限値と比較し、新「マネージャ」候補となるサーバを探す。
 「マネージャ」であるサーバ200に係る順序調停部210Dが、新「マネージャ」候補となるサーバを探す第1の方法としては、サーバ300の負荷が、図5に係る負荷閾値テーブル220Iに格納された負荷の上限値よりも小さい場合、「マネージャ」であるサーバ200は、サーバ300を新「マネージャ」候補として、S31の処理を行う方法がある。
 「マネージャ」であるサーバ200に係る順序調停部210Dが、新「マネージャ」候補となるサーバを探す第2の方法としては、サーバ300の負荷が「マネージャ」であるサーバ200の負荷よりも小さい場合、「マネージャ」であるサーバ200は、サーバ300を新「マネージャ」候補として、S31の処理を行う方法がある。
 なお、S19において、サーバ300の負荷が、図5に係る負荷閾値テーブル220Iに格納された負荷の上限値よりも大きい場合、又は、サーバ300の負荷が「マネージャ」であるサーバ200の負荷よりも大きいである場合、サーバ200に係る順序調停部310Dは、S21の処理を行う。
 S20において、「マネージャ」であるサーバ200に係る順序調停部210Dは、監視対象サーバテーブル220Gに記載されているサーバ300で動作する順序調停部310D、及びサーバ400で動作する順序調停部410Dに対して、サーバ監視部210Aの監視作業を代わってくれる「マネージャ」候補を探す依頼を取り止める。
 S21において、「マネージャ」であるサーバ200に係る処理能力応答部210Bは、一定期間、例えば60秒の間、処理能力応答部210Bを自主的に停止させる。同様に、S11において、処理能力応答部210Bは、サーバ200の負荷が高いと判断すると、一定期間、例えば60秒の間、処理能力応答部210Bを自主的に停止させる。処理能力応答部210Bを自主的に停止させることによって、サーバ200の資源を抑えることができる。
 S31において、S19において新「マネージャ」候補が見つかった場合、「マネージャ」であるサーバ200に係る順序調停部210Dは、負荷が小さいサーバを新「マネージャ」として決定する。本実施例では、サーバ300を新「マネージャ」とする。
 S32において、「マネージャ」であるサーバ200に係る順序調停部210Dは、新「マネージャ」であるサーバ300の順序調停部310Dに対し、「マネージャ」変更依頼を送信する。
 S33からS35は、サーバ300の順序調停部310Dに係る処理を示す。新「マネージャ」であるサーバ300は、現在の「マネージャ」であるサーバ200に代わって、サーバ200、サーバ300、及びサーバ400の負荷状態を監視する。
 S33において、新「マネージャ」であるサーバ300に係る順序調停部310Dは、今の「マネージャ」であるサーバ200の順序調停部210Dに対し、「マネージャ」変更依頼を受信する。
 S34において、新「マネージャ」であるサーバ300に係る順序調停部310Dは、ディスク装置320に格納されているマネージャ特定テーブル320Hに係る情報を、前の「マネージャ」であったサーバ200の情報から、新「マネージャ」であるサーバ300の情報に更新する。
 S35において、新「マネージャ」であるサーバ300に係る順序調停部310Dは、サーバ300に係るサーバ監視部310Aの起動を行う。順序調停部310Dは、サーバ監視部310Aの起動を確認した後、前の「マネージャ」であるサーバ200に対し、サーバ監視部310Aが起動したことを通知する。
 S36において、サーバ200に係る順序調停部210Dは、新「マネージャ」であるサーバ300に係る順序調停部310Dから、新「マネージャ」であるサーバ監視部310Aが起動したとの通知を受ける。新「マネージャ」であるサーバ監視部310Aが起動したとの通知を受けたことにより、サーバ200に係る順序調停部210Dは、新「マネージャ」であるサーバ300が起動したことを確認する。
 S37において、サーバ200に係る順序調停部210Dは、他の監視対象サーバ、例えばサーバ400に対し、「マネージャ」がサーバ200からサーバ400に変更されたことを通知する。本実施例では、サーバ200に係る順序調停部210Dは、サーバ400に係る順序調停部410Dに対して通知を行い、サーバ400に係る順序調停部410DはS40の処理を行う。S40の処理については後述する。
 S38において、サーバ200に係る順序調停部210Dは、ディスク装置220に格納されているマネージャ特定テーブル220Hを、前の「マネージャ」であるサーバ200の情報から、新「マネージャ」であるサーバ300に更新する。
 S39において、サーバ200に係る順序調停部210Hは、サーバ監視部210Aを停止する。
 S40からS41は、サーバ400の順序調停部410Dに係る処理を示す。
 S40において、サーバ400に係る順序調停部410Dは、先のS37においてサーバ200に係る順序調停部210Dからサーバ400に係る順序調停部410Dから「マネージャ」がサーバ200からサーバ400に変更された通知を受信する。
 S41において、サーバ400に係る順序調停部410Dは、ディスク装置420に格納されているマネージャ特定テーブル420Hを、前の「マネージャ」であるサーバ200の情報から、新「マネージャ」であるサーバ300に更新する。
 図8及び図9は、本実施例に係る監視用端末500、及びサーバ300に係る監視対象サーバの切替え処理の手順を示すフローチャートである。なお、図8及び図9に係る監視用端末500、及びサーバ300において、図1及び図2に係る監視用端末500、及びサーバ300で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
 S51において、監視用端末500に係る状態表示部500Fは、監視用端末500に接続しているサーバ300に対して接続要求を実施する。
 S52において、サーバ300に係るマネージャ特定部310Eは、監視用端末500に係る状態表示部500Fからの接続要求により、待機状態を解除して動作を開始する。
 S53において、サーバ300に係るマネージャ特定部310Eは、ディスク装置320に格納されているマネージャ特定テーブル320Hを参照する。
 S54において、サーバ300に係るマネージャ特定部310Eは、マネージャ特定テーブル320Hの参照結果から、「マネージャ」が自身のサーバ、即ちサーバ300であるか否か判定する。「マネージャ」がサーバ300である場合、サーバ300に係るマネージャ特定部310EはS55の処理を行う。「マネージャ」がサーバ300で無い場合、サーバ300に係るマネージャ特定部310EはS56の処理を行う。
 S55において、サーバ300に係るマネージャ特定部310Eは、監視用端末500に係る状態表示部500Fからの接続要求を受け入れ、S57の処理を行う。
 S56において、サーバ300に係るマネージャ特定部310Eは、ディスク装置320に格納されているマネージャ特定テーブル320Hを参照して、正しい「マネージャ」である監視対象サーバを確認し、S57の処理を行う。
 S57において、サーバ300に係るマネージャ特定部310Eは、S55又はS56の処理に基づいて、監視用端末500に係る状態表示部500Fに対して現在の「マネージャ」を通知する。
 S61において、監視用端末500に係る状態表示部500Fは、S57におけるサーバ300に係るマネージャ特定部310Eの通知結果に基づいて、サーバ300に対する接続要求が受け入れられたか否か判定する。サーバ300に対する接続要求が受け入れられた場合は、状態表示部500FはS62の処理を行う。サーバ300に対する接続要求が受け入れられなかった場合は、状態表示部500FはS63の処理を行う。
 S62において、監視用端末500に係る状態表示部500Fは、サーバ300が「マネージャ」であると確認したので、接続中であるサーバ300にそのまま接続する。
 S63において、監視用端末500に係る状態表示部500Fは、サーバ300に係るマネージャ特定部310Eによって通知された現在の「マネージャ」である監視対象サーバに対して接続要求を行う。
 図10及び図11は、本実施例に係るサーバ300、及びサーバ400に係り、「マネージャ」であるサーバ200の停止を最初に検出した監視対象サーバの処理の手順を示す図である。図10及び図11において、サーバ200におけるサーバ監視部200Aが起動されている。そのため、サーバ200を「マネージャ」とよぶ。サーバ200に係るサーバ監視部210Aは、サーバ300及びサーバ400の負荷状態を監視する。なお、図10及び図11に示すサーバ200、サーバ300、及びサーバ400において、図1及び図2に係るサーバ200、サーバ300、及びサーバ400で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
 S71において、待機状態となっているサーバ300に係る順序調停部310Dは、例えば60秒間隔で自主的に起動し、「マネージャ」であるサーバ200の順序調停部210Dに対し、定期的に「マネージャ」であるサーバ200が生存していることを確認する。サーバ200の生存は、サーバ200から定期的に出力されるべきハートビート(稼動していることを通知する信号)をサーバ300によって検出することにより、サーバ200の生存を認識できる。
 S72において、サーバ300に係る順序調停部310Dは、「マネージャ」であるサーバ200が停止していることを確認する。サーバ300は、サーバ200から定期的に出力されるべきハートビートが所定期間途絶えたことを検出することにより、サーバ200の停止を認識できる。
 S73において、サーバ300に係る順序調停部310Dは、監視対象サーバの一覧を記載した監視対象サーバテーブル320Gを参照して、サーバ監視部210Aの監視作業を代わってくれる監視対象サーバがいないか、監視対象サーバテーブル320Gに記載されているサーバ300で動作する順序調停部310D、及びサーバ400で動作する順序調停部410Dに対して問合せる。即ち、順序調停部310Dは、次の「マネージャ」候補を募集する処理を行う。具体的には、サーバ300に係る順序調停部310Dは、監視対象サーバテーブル320Gに記載されているサーバ300で動作する順序調停部310D、及びサーバ400で動作する順序調停部410Dに対し、サーバ300及びサーバ400の負荷状態を問い合わせる。本実施例では、サーバ300に係る順序調停部310Dは、サーバ400の順序調停部410Dに対して問い合わせを行い、S74からS78までの処理を行う一例を示す。
 S74において、サーバ400に係る順序調停部410Dは、サーバ300から、「マネージャ」候補募集依頼を受信する。
 S75において、サーバ400に係る処理能力応答部410Bは、サーバ400に係る負荷状態検出部410Cに対し、例えばCPUの使用率及びメモリの使用容量に基づくサーバ400の負荷状態を問い合わせる。
 S76において、サーバ400に係る負荷状態検出部410Cは、サーバ400に係る処理能力応答部410Bに対し、サーバ400の負荷状態を回答する。
 S77において、サーバ400に係る処理能力応答部410Bは、サーバ400に係る順序調停部410Dに対し、サーバ400の負荷状態を回答する。
 S78において、サーバ400に係る順序調停部410Dは、サーバ400の順序調停部310Dに対し、サーバ400の負荷状態を回答する。
 S81において、サーバ300に係る順序調停部310Dは、自身であるサーバ300の負荷、及びサーバ400に係る負荷と負荷閾値テーブル320Iに格納された負荷の上限値とを比較して、負荷が小さいサーバを、新「マネージャ」として決定する。
 S82において、サーバ300に係る順序調停部310Dは、サーバ300が自ら新「マネージャ」となるか否か判断する。サーバ300の負荷が負荷閾値テーブル320Iの上限値より小さい値であり、サーバ300が自ら新「マネージャ」となる場合、サーバ300に係る順序調停部310DはS83からS84までの処理を行う。サーバ300の負荷が負荷閾値テーブル320Iの上限値よりも大きい値であり、サーバ300が自ら新「マネージャ」とならない場合、サーバ300に係る順序調停部310DはS85からS87までの処理を行う。
 S83において、サーバ300に係る順序調停部310Dは、マネージャ特定テーブル320Hを、前の「マネージャ」であったサーバ200の情報から、新「マネージャ」となるサーバ300に更新する。
 S84において、新「マネージャ」となるサーバ300に係る順序調停部310Dは、サーバ300に係るサーバ監視部310Aの起動を行う。
 S85において、サーバ300に係る順序調停部310Dは、サーバ400の順序調停部410Dに対し、「マネージャ」変更依頼を送信する。変更依頼を受けた新「マネージャ」となるサーバ400に係る順序調停部410Dは、サーバ400に係るサーバ監視部410Aの起動を行う。サーバ400に係る順序調停部410Dは、サーバ監視部410Aの起動を確認した後、サーバ300に係る順序調停部310Dに対し、サーバ400に係るサーバ監視部410Aが起動したこと、即ち新「マネージャ」が起動したことを通知する。
 S86において、サーバ300に係る順序調停部310Dは、不図示の監視対象サーバに対し、「マネージャ」がサーバ200からサーバ400に変更されたことを通知する。
 S87において、サーバ300に係る順序調停部310Dは、マネージャ特定テーブル320Hを、前の「マネージャ」であるサーバ200の情報から、新「マネージャ」であるサーバ400に更新する。
 なお、複数の順序調停部、例えばサーバ300に係る順序調停部310D、及びサーバ400に係る順序調停部410Dが、同時に「マネージャ」であるサーバ200の停止を検出した場合は、例えば、図3に示す監視対象サーバテーブル220Gの上に記載されている監視対象サーバに係る順序調停部が、S73における次の「マネージャ」候補を募集する処理を行う。
 このような監視対象サーバから構成されるサーバシステム及びサーバの制御プログラムによれば、複数のサーバのうち負荷の小さいサーバによって複数のサーバを監視させるため、サーバ監視の監視レスポンスの低下を抑制することができる。また、監視サーバを自律的に移動させることができるので、サーバの資源を有効に利用できる。また、サーバ監視プログラムが動作している監視サーバが停止した場合も、監視サーバは別のサーバに自律的に移動するため、サーバ監視機能を維持できるサーバの制御プログラムを提供できる。
 本発明に係るサーバシステムの制御方法及びサーバの制御プログラムによれば、複数のサーバのうち負荷の小さいサーバによって複数のサーバを監視させるため、サーバ監視の監視レスポンスの低下を抑制することができる。また、監視用のサーバを自律的に移動させることができるので、サーバの資源を有効に利用できる。
 3 入出力装置
 4 メモリ
 5 サーバ管理機構
 10 Central Processing Unit(CPU)
 10A サーバ監視部
 10B 処理能力応答部
 10C 負荷状態検出部
 10D 順序調停部
 10E マネージャ特定部
 10F 状態表示部
 20 ディスク装置
 20G 監視対象サーバテーブル
 20H マネージャ特定テーブル
 20I 負荷閾値テーブル
 30 LAN
 40 内部バス
 50 ネットワーク
 51 ネットワーク
 52 ネットワーク
 100 サーバ
 200 サーバ
 205 サーバ管理機構
 210 CPU
 210A サーバ監視部
 210B 処理能力応答部
 210C 負荷状態検出部
 210D 順序調停部
 210E マネージャ特定部
 220 ディスク装置
 220G 監視対象サーバテーブル
 220H マネージャ特定テーブル
 220I 負荷閾値テーブル
 221 フィールド(ホスト番号)
 222 フィールド(IPアドレス)
 223 フィールド(ポート番号)
 224 フィールド(サーバ番号)
 225 フィールド(IPアドレス)
 226 フィールド(ポート番号)
 227 フィールド(情報処理資源の資源名)
 228 フィールド(情報処理資源の負荷の上限値)
 300 サーバ
 305 サーバ管理機構
 310 CPU
 310A サーバ監視部
 310B 処理能力応答部
 310C 負荷状態検出部
 310D 順序調停部
 310E マネージャ特定部
 320 ディスク装置
 320G 監視対象サーバテーブル
 320H マネージャ特定テーブル
 400 サーバ
 405 サーバ管理機構
 410 CPU
 410A サーバ監視部
 410B 処理能力応答部
 410C 負荷状態検出部
 410D 順序調停部
 410E マネージャ特定部
 420 ディスク装置
 420G 監視対象サーバテーブル
 420H マネージャ特定テーブル
 500 監視用端末
 510F 状態表示部
 600 クライアント
 700 クライアント

Claims (11)

  1.  ネットワークで接続された複数のサーバを有するサーバシステムの制御方法であって、
     前記複数のサーバの1つである第1サーバは、前記第1サーバと他のサーバの運用状況を監視し、
     前記第1サーバは、前記第1サーバの第1負荷を検出し、
     前記第1サーバは、前記第1負荷の検出結果と所定の閾値とを比較し、
     前記第1負荷が前記閾値よりも大きいときに、前記第1サーバは、他のサーバである第2サーバに対して前記第2サーバの第2負荷の検出の依頼を送信し、
     前記第2サーバは、前記第1サーバからの第2負荷の検出の依頼を受信して、前記第2サーバの第2負荷を検出し、
     前記第2サーバは、前記第2負荷の検出結果を前記第1サーバに対して送信し、
     前記第1サーバは、前記第2サーバから送信された前記第2負荷の検出結果を受信し、
     前記第1サーバは、前記第1負荷の検出結果及び前記第2負荷の検出結果に基づいて、前記第2サーバに対して前記複数のサーバの運用状況の監視を依頼し、
     前記第2サーバは、前記第1サーバからの前記複数のサーバの運用状況の監視の依頼を受信して、運用状況を監視する
    ことを特徴とするサーバシステムの制御方法。
  2.  前記第1サーバは、前記第2サーバの検出結果が所定の負荷よりも小さい場合に、前記第2サーバに対して前記複数のサーバの運用状況の監視を依頼することを特徴とする請求項1記載のサーバシステムの制御方法。
  3.  前記第1サーバは、前記第2負荷の検出結果と前記第1負荷の検出結果とを比較し、前記第2負荷の検出結果が、前記第1負荷の検出結果よりも小さい場合に、前記第2サーバに対して前記複数のサーバの運用状況の監視を依頼することを特徴とする請求項1記載のサーバシステムの制御方法。
  4.  前記第1サーバは、前記第2サーバに対して前記運用状況の監視を依頼した後に、前記運用状況の監視を止めることを特徴とする請求項1に記載のサーバシステムの制御方法。
  5.  前記第1サーバは、前記第2負荷の検出結果が、前記閾値よりも大きいときときに、前記第1サーバは、前記複数のサーバの1つである第3サーバに対して前記第3サーバの第3負荷の検出の依頼を送信し、
     前記第3サーバは、前記第1サーバからの第3負荷の検出の依頼を受信して、前記第2サーバの第3負荷を検出し、
     前記第3サーバは、前記第3負荷の検出結果を前記第1サーバに対して送信し、
     前記第1サーバは、前記第3サーバから送信された前記第3負荷の検出結果を受信し、
     前記第1サーバは、前記第1負荷の検出結果及び前記第3負荷の検出結果に基づいて、前記第3サーバに対して前記複数のサーバの運用状況の監視を依頼し、
     前記第3サーバは、前記第1サーバからの前記複数のサーバの運用状況の監視の依頼を受信して、運用状況を監視することを特徴とする請求項1に記載のサーバシステムの制御方法。
  6.  前記第1サーバは、前記第1負荷の検出結果、前記第2負荷の検出結果、及び前記第3負荷の検出結果を、前記第1サーバの記憶部に格納することを特徴とする請求項1に記載のサーバシステムの制御方法。
  7.  ネットワークで接続された複数のサーバを有するサーバシステムに使用されるサーバの制御プログラムであって、
     前記複数のサーバを制御する制御部を、
     自サーバと他のサーバの運用状況を監視する前記複数のサーバの1つである自サーバの第1監視手段、
     前記自サーバの第1負荷を検出する前記自サーバの第1検出手段、
     前記第1負荷の検出結果と所定の閾値とを比較する前記自サーバの第1比較手段、
     前記第1負荷が前記閾値より大きいときに、前記他のサーバに対して第2負荷の検出を依頼する前記自サーバの第1依頼手段、
     前記自サーバからの前記第2負荷の検出の依頼を受信する前記他のサーバの第1受信手段、
     前記第2負荷を検出する前記他のサーバの第2検出手段、
     前記第2負荷の前記検出結果を前記自サーバに対して送信する前記他のサーバの送信手段、
     前記他のサーバから送信された前記第2負荷の前記検出結果を受信する前記自サーバの第2受信手段、
     前記第1負荷の前記検出結果及び前記第2負荷の前記検出結果に基づいて、前記他のサーバに対して前記複数のサーバの前記運用状況の監視を依頼する前記自サーバの第2依頼手段、
     前記自サーバからの前記運用状況の監視の依頼を受信する前記他のサーバの第3受信手段、
     前記運用状況を監視する前記他のサーバの第2監視手段、
    として機能させることを特徴とするサーバの制御プログラム。
  8.  前記制御部を、前記他のサーバの前記検出結果が所定の負荷よりも小さい場合に、前記他のサーバに対して前記複数のサーバの前記運用状況の監視を依頼する前記自サーバの前記第2依頼手段として機能させることを特徴とする請求項7記載のサーバの制御プログラム。
  9.  前記制御部を、前記第2負荷の前記検出結果と前記第1負荷の前記検出結果とを比較する前記自サーバの第2比較手段、前記第2負荷の前記検出結果が、前記第1負荷の前記検出結果よりも小さい場合に、前記自サーバは、前記他のサーバに対して前記運用状況の監視を依頼する前記自サーバの前記第2依頼手段として機能させることを特徴とする請求項7記載のサーバの制御プログラム。
  10.  前記制御部を、更に、前記他のサーバに対して前記運用状況の監視を依頼した後に、前記自サーバは前記運用状況の監視を止める前記自サーバの監視停止手段として機能させることを特徴とする
    請求項7に記載のサーバの制御プログラム。
  11.  前記制御部を、更に、前記第1負荷の前記検出結果、及び前記第2負荷の前記検出結果を前記自サーバの記憶部に格納する前記自サーバの格納手段として機能させることを特徴とする請求項7に記載のサーバの制御プログラム。
PCT/JP2009/006676 2009-12-07 2009-12-07 サーバシステムの制御方法及びサーバの制御プログラム WO2011070607A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/006676 WO2011070607A1 (ja) 2009-12-07 2009-12-07 サーバシステムの制御方法及びサーバの制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/006676 WO2011070607A1 (ja) 2009-12-07 2009-12-07 サーバシステムの制御方法及びサーバの制御プログラム

Publications (1)

Publication Number Publication Date
WO2011070607A1 true WO2011070607A1 (ja) 2011-06-16

Family

ID=44145182

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/006676 WO2011070607A1 (ja) 2009-12-07 2009-12-07 サーバシステムの制御方法及びサーバの制御プログラム

Country Status (1)

Country Link
WO (1) WO2011070607A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013182508A (ja) * 2012-03-02 2013-09-12 Pfu Ltd 情報処理システム、管理端末装置、情報処理装置、情報処理方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08115304A (ja) * 1994-10-19 1996-05-07 Nippon Telegr & Teleph Corp <Ntt> 分散管理機能協定型プラットフォームの管理権付与方法
JPH09319720A (ja) * 1996-05-31 1997-12-12 Mitsubishi Electric Corp 分散プロセス管理システム
JP2007041763A (ja) * 2005-08-02 2007-02-15 Nec Corp 管理システムおよびその管理方法
JP2008071156A (ja) * 2006-09-14 2008-03-27 Nec Corp 負荷分散システム、方法、及び、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08115304A (ja) * 1994-10-19 1996-05-07 Nippon Telegr & Teleph Corp <Ntt> 分散管理機能協定型プラットフォームの管理権付与方法
JPH09319720A (ja) * 1996-05-31 1997-12-12 Mitsubishi Electric Corp 分散プロセス管理システム
JP2007041763A (ja) * 2005-08-02 2007-02-15 Nec Corp 管理システムおよびその管理方法
JP2008071156A (ja) * 2006-09-14 2008-03-27 Nec Corp 負荷分散システム、方法、及び、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013182508A (ja) * 2012-03-02 2013-09-12 Pfu Ltd 情報処理システム、管理端末装置、情報処理装置、情報処理方法、及びプログラム
US9219618B2 (en) 2012-03-02 2015-12-22 Pfu Limited Information processing system, information processing device, management terminal device, and computer readable medium

Similar Documents

Publication Publication Date Title
KR101891365B1 (ko) 위트니스 서비스의 제공
KR100359366B1 (ko) 자각-개시 푸시를 제공하기 위한 방법 및 장치
EP2215773B1 (en) Method and system for handling a failover in a distributed environment that uses session affinity
US7870425B2 (en) De-centralized nodal failover handling
US20170264563A1 (en) Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US9432449B2 (en) Managing connection failover in a load balancer
US20130227359A1 (en) Managing failover in clustered systems
US7836351B2 (en) System for providing an alternative communication path in a SAS cluster
US9448827B1 (en) Stub domain for request servicing
US8352623B2 (en) System for energy efficient computer management environment via tightly integrated target status and directed work sessions
KR101057353B1 (ko) 키오스크 시스템의 서비스 처리 장치
WO2011070607A1 (ja) サーバシステムの制御方法及びサーバの制御プログラム
JP2008305353A (ja) クラスタシステム及びフェイルオーバ方法
KR20160103814A (ko) 클라우드 스트리밍 서비스 시스템의 에러 복구 장치 및 방법
JP2007133665A (ja) 計算機システム、分散処理方法、計算機及び分散処理プログラム
JP2019185511A (ja) クラスタシステム、オートスケールサーバ監視装置、オートスケールサーバ監視プログラムおよびオートスケールサーバ監視方法
JP2006293570A (ja) プロセッサ負荷分散システム及びプロセッサ負荷分散方法
JP2011248737A (ja) タスク引継プログラム、処理装置及びコンピュータ・システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09852005

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09852005

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP