JP2006260059A - Server device - Google Patents

Server device Download PDF

Info

Publication number
JP2006260059A
JP2006260059A JP2005075565A JP2005075565A JP2006260059A JP 2006260059 A JP2006260059 A JP 2006260059A JP 2005075565 A JP2005075565 A JP 2005075565A JP 2005075565 A JP2005075565 A JP 2005075565A JP 2006260059 A JP2006260059 A JP 2006260059A
Authority
JP
Japan
Prior art keywords
server
group
server device
load
processing
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2005075565A
Other languages
Japanese (ja)
Inventor
Toshiyuki Ichikawa
利幸 市川
Taichi Sugiyama
太一 杉山
Kazuo Hibi
一夫 日比
Yoshiharu Taki
義春 滝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Information Technology Co Ltd
Original Assignee
Hitachi Information Technology Co Ltd
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 Hitachi Information Technology Co Ltd filed Critical Hitachi Information Technology Co Ltd
Priority to JP2005075565A priority Critical patent/JP2006260059A/en
Publication of JP2006260059A publication Critical patent/JP2006260059A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To attain load distribution and averaging in server devices in a group, without making it necessary to provide devices for managing the whole or external specific devices or the like, and to make the whole server devices adjust the loads independently corresponding to load fluctuation, and to make these mutual server devices always have uniform loads. <P>SOLUTION: A server group, including a plurality of servers äa, b, c}, has a common group IP address. Each server measures the load of the processing of own server, stores the load information of each server in the server group, and transmits the load information to the server group according to the load fluctuation. If a processing request is received with a group IP address as the destination of transmission from a PC, that the load of own server is detected as the minimum by referring to the load information, each server will accept the processing. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、PC(パソコン)などのクライアントからの要求を受け付けて処理を行うサーバ装置に関し、特に、複数のサーバ装置における負荷分散の技術に関する。   The present invention relates to a server apparatus that receives and processes a request from a client such as a PC (personal computer), and more particularly to a load distribution technique in a plurality of server apparatuses.

従来、サーバ装置毎に、メール、Web、DB(データベース)、アプリケーション実行などの機能を設定した構成において、PCなどのクライアントから、所望の機能に対応するサーバ装置を選び、該当サーバ装置を宛先とした通信アドレスを用いて処理要求を出していた。   Conventionally, in a configuration in which functions such as mail, Web, DB (database), and application execution are set for each server device, a server device corresponding to a desired function is selected from a client such as a PC, and the corresponding server device is set as a destination. A processing request was issued using the communication address.

そのため、PCが増加してくると、あるサーバ装置に対して負荷が増える。従って、そのたびに、負荷を分散するための外付けのサーバ装置を増設し、接続対象のPC側の設定も変更する必要があった。   Therefore, when the number of PCs increases, the load on a certain server device increases. Therefore, it is necessary to add an external server device for distributing the load each time and change the setting on the connection target PC side.

また更に、近年では、サーバ装置の増設を容易にするため、“ブレードサーバ”と呼ばれる複数のサーバ装置を筐体に内蔵して、ブレードサーバ単位で挿抜を行う構成により、サーバ機能の性能アップを簡単に行う方式も出てきた。各ブレードサーバは、CPU、メモリやハードディスクドライブ(HDD)、ネットワーク制御機能などを持つ構成である。   Furthermore, in recent years, in order to facilitate the expansion of server devices, a plurality of server devices called “blade servers” are built in the chassis, and the server functions are improved by inserting and removing in units of blade servers. An easy-to-use method has come out. Each blade server has a CPU, a memory, a hard disk drive (HDD), a network control function, and the like.

ところが、上記のケースにおいても、やはり、複数のブレードサーバ間でどのように負荷分散するかについては、PC側での接続先設定を変更することにより負荷分散を図っていた。   However, in the above case as well, as for how to distribute the load among a plurality of blade servers, load distribution is achieved by changing the connection destination setting on the PC side.

上記不具合を改善するため、特許文献1においては、プロキシサーバの並列運転の構成において、お互い相手の負荷を通知し合い、PCから処理要求が来ると、まず、主となるサーバが一旦受け付け、相手サーバの負荷と比較し、それにより、前記処理要求を自サーバで処理するか、または、相手サーバに依頼することにより、負荷分散を図っていることが開示されている。   In order to improve the above problem, in Patent Document 1, in the configuration of the proxy server in parallel operation, when the other party's load is notified to each other and a processing request is received from the PC, first, the main server receives the request once, It is disclosed that load distribution is achieved by comparing with the load of the server, thereby processing the processing request by the own server or by requesting the other server.

また、特許文献2においては、複数のサーバノードを持つ構成で、そのうちの一台が、まず、PCからの要求を受け付け、所定負荷以内であれば、その要求を自サーバで処理し、所定負荷を越えている場合は、他のサーバから、負荷情報を取得して、適切な負荷のサーバへ要求を転送することが開示されている。   Also, in Patent Document 2, a configuration having a plurality of server nodes, one of which first receives a request from a PC, and if it is within a predetermined load, the request is processed by its own server, In the case of exceeding the load, it is disclosed that load information is acquired from another server and the request is transferred to a server having an appropriate load.

また、特許文献3においては、管理サーバを設けた構成で、管理サーバが、各ブレードサーバのパフォーマンス情報を受け取り、かつ、各サーバのスループットなどのQoS属性が下回っていることにより、どのサーバにジョブを割り当てるかについての技術が開示されている。
特開2002−271415号公報「プロキシサーバ・システム、および、その通信方法」 特開2004−287889号公報「分散処理システム、分散処理用装置、方法及びコンピュータプログラム」 特開2004−110791号公報「ブレードアーキテクチャのための動的適応サーバプロビジョニング」
Further, in Patent Document 3, in a configuration in which a management server is provided, the management server receives performance information of each blade server, and a QoS attribute such as throughput of each server is lower, so which server has a job A technique for allocating is disclosed.
Japanese Patent Laid-Open No. 2002-271415 “Proxy server system and communication method thereof” Japanese Unexamined Patent Application Publication No. 2004-287889 “Distributed Processing System, Distributed Processing Device, Method, and Computer Program” Japanese Unexamined Patent Application Publication No. 2004-110791 “Dynamic Adaptive Server Provisioning for Blade Architecture”

ところが、前記背景技術のいずれにせよ、複数のサーバにおける負荷分散のために、まずは、全体を管理する主サーバ装置を必要とし、主サーバ装置で処理要求を一次受け付けし、他のサーバ装置に依頼するかどうかを決定していた。あるいは複数のサーバ装置に対し外付けの負荷分散装置を設ける必要があった。   However, in any of the above background arts, in order to distribute the load among a plurality of servers, first, a main server device that manages the whole is required, and the main server device primarily receives processing requests and requests other server devices. Had decided whether or not to do. Alternatively, it is necessary to provide an external load distribution device for a plurality of server devices.

そのため、前記主サーバ装置のような装置に対して、比較的高い負荷がかかるため、他のサーバ装置よりも高性能のマシンを必要とする。また、前記主サーバ装置がダウンした場合の代替マシンの準備が別立てとなり、復旧のための時間、工数を必要とする。   Therefore, since a relatively high load is applied to an apparatus such as the main server apparatus, a machine having higher performance than other server apparatuses is required. In addition, when the main server device goes down, the preparation of an alternative machine becomes separate, requiring time and man-hours for recovery.

また、場合によっては、前記主サーバ装置の負荷がある値に達するまでは、残りのサーバ装置がアイドル状態になっている可能性があり、サーバ間での完全な負荷の均衡化を目指したものとはなっていなかった。   Also, in some cases, until the load on the main server device reaches a certain value, the remaining server devices may be in an idle state, aiming at complete load balancing among servers It was not.

本発明は以上のような問題に鑑みてなされたものであり、複数のサーバにおける負荷分散に関して、下記(1),(2)のような目的を有する。これにより設備使用効率向上及び仕事効率向上を図ったサーバ装置、制御方法、プログラム、及び情報処理システムなどの技術を提供する。   The present invention has been made in view of the above problems, and has the following objects (1) and (2) regarding load distribution in a plurality of servers. This provides technologies such as a server device, a control method, a program, and an information processing system that improve facility use efficiency and work efficiency.

(1) 全体を管理するあるいは処理要求を一次受け付けする前記主サーバ装置のような装置を必要とせず、また前記外付けの負荷分散装置のような特殊な装置を必要とせず、定義されたグループ内のサーバ装置(サーバグループと称する)における処理の負荷分散・均衡化を図る。   (1) A defined group that does not require a device such as the main server device that manages the whole or primarily receives a processing request, and does not require a special device such as the external load balancer. Load balancing and balancing of processing in the server device (referred to as a server group).

(2) サーバ装置数の増減、クライアント数の増減に伴う負荷変動に対応して、前記サーバグループの全サーバ装置が自立的に負荷を調整していき、常に、全サーバ装置でできる限り均等な負荷を分担するようにする。特に、前記サーバ装置数の増減に関して、ブレードサーバ方式に最適な技術を提供する。   (2) All server devices in the server group adjust the load autonomously in response to load fluctuations accompanying the increase or decrease in the number of server devices or the number of clients. Share the load. In particular, a technique optimal for the blade server system is provided with respect to the increase or decrease of the number of server devices.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明のサーバ装置は、複数のサーバ装置を含んで構成されるグループにおける各々のサーバ装置であって、以下に示す技術的手段を有することを特徴とする。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows. In order to achieve the above object, the server device of the present invention is each server device in a group including a plurality of server devices, and has the following technical means.

(1) 本サーバ装置は、複数のサーバ装置を含んで構成されるグループ(サーバグループ)を定義したグループ定義情報を保有する。前記グループ定義情報は、前記グループの各サーバ装置の固有アドレスと、前記グループの全サーバ装置での共通アドレスとを持つ。本サーバ装置は、自サーバ装置での処理の負荷を測定する手段を有し、前記グループの自サーバ装置を含む各サーバ装置の負荷情報を保有する。本サーバ装置は、前記自サーバ装置での処理の負荷の変動に応じて、前記自サーバ装置の負荷情報あるいは負荷変動情報を、前記グループの他サーバ装置に送信して報告する処理を行う。また逆に、本サーバ装置は、前記グループの他サーバ装置から負荷情報の報告を受信した場合に、その受信情報をもとに前記保有している前記グループの他サーバ装置すなわち送信元のサーバ装置の負荷情報を更新する処理を行う。   (1) This server device holds group definition information that defines a group (server group) configured to include a plurality of server devices. The group definition information has a unique address for each server device in the group and a common address for all server devices in the group. This server device has means for measuring the processing load on its own server device, and holds load information of each server device including the own server device of the group. The server device performs processing for transmitting and reporting the load information or load variation information of the server device to another server device of the group in accordance with the variation in the processing load of the server device. Conversely, when the server device receives a report of load information from the other server device of the group, the server device holds the other server device of the group, that is, the server device of the transmission source based on the received information. To update the load information.

(2) 更に本サーバ装置は、前記(1)において以下を特徴とする。前記グループの全サーバ装置は、通信接続されるクライアントから、前記共通のアドレスを送信先として用いた処理要求の電文を受信する。そして、前記処理要求を受信した各々のサーバ装置は、前記保有している前記グループの各サーバ装置の負荷情報を参照し、自サーバ装置の負荷情報が最小である場合は、前記処理要求に対しての処理受付を行う。すなわち、前記各サーバ装置の負荷の状態に応じて前記処理受付を行うかどうかが判断される。あるいは他の判断基準として、本サーバ装置は、前記自サーバ装置の負荷情報が閾値内である場合などに、前記処理受付を行う。   (2) Further, the server device is characterized in the following in (1). All the server devices of the group receive a processing request message using the common address as a transmission destination from clients connected for communication. Then, each server device that has received the processing request refers to the load information of each server device of the group that is held, and when the load information of the own server device is minimum, in response to the processing request All processes are accepted. That is, it is determined whether to accept the process according to the load state of each server device. Alternatively, as another determination criterion, the server device accepts the process when the load information of the server device is within a threshold.

(3) 更に本サーバ装置は、前記(1)において以下を特徴とする。本サーバ装置は、前記グループにおける自サーバ装置の動作状態を示す情報と他サーバ装置の動作状態を示す情報とを保有する。本サーバ装置は、本サーバ装置は、パワーオンまたは起動または休止状態からの稼動再開などの動作状態の変動に応じて、前記動作状態を示す情報を更新し、前記グループ定義情報を有している場合は、自サーバ装置が前記グループに対して負荷分散対象すなわち処理受付が可能な状態として新規追加または再追加などされることを示す情報または前記動作状態を示す情報を、前記グループの他サーバ装置に送信する処理を行う。また逆に、本サーバ装置は、前記グループの他サーバ装置から前記追加されることを示す情報を受信した場合に、その受信情報をもとに前記保有している前記グループの他サーバ装置の動作状態を示す情報を、該当サーバ装置が負荷分散対象として追加されるように更新する処理を行う。   (3) Further, the present server device is characterized in the following in (1). The server device holds information indicating the operation state of the server device in the group and information indicating the operation state of the other server device. The server apparatus updates the information indicating the operation state in response to a change in the operation state such as power-on or start-up or resume operation from a hibernation state, and includes the group definition information. In this case, information indicating that the own server device is newly added or re-added as a load distribution target, that is, a state in which processing can be accepted, or information indicating the operation state is sent to the other server device of the group. Process to send to. Conversely, when the server device receives the information indicating that it is added from the other server device of the group, the operation of the other server device of the group that is held based on the received information. A process of updating the information indicating the state so that the corresponding server device is added as a load distribution target is performed.

(4) 更に本サーバ装置は、前記(2)において以下を特徴とする。本サーバ装置は、前記処理要求に対しての処理受付を行う場合、前記クライアントに対して、前記自サーバの固有アドレスを送信元として用いた処理受付の電文を送信し、それに対して前記クライアントから受付応答の電文を受信した場合に、前記処理受付に対応した処理を継続して実行する。   (4) Further, the present server device is characterized in the following in (2). When the server apparatus accepts a process in response to the process request, the server apparatus transmits a process acceptance message using the unique address of the server as a transmission source to the client. When the reception response message is received, the process corresponding to the process reception is continuously executed.

(5) 更に本サーバ装置は、前記(2)において以下を特徴とする。前記処理要求を受信した各々のサーバ装置は、前記保有している前記グループの各サーバ装置の負荷情報を参照し、自サーバ装置の負荷情報が最小でない場合は、規則に従って定められた時間、例えばランダムな時間などの間、前記グループの他サーバ装置から前記クライアントに対し送信される処理受付の電文を傍受監視して、当該電文を傍受しなかった場合は前記処理受付に係わる前記負荷の状態の判断を含む判断を再試行する。   (5) Further, the present server device is characterized in the following in (2). Each server device that has received the processing request refers to the load information of each server device of the group that is held, and when the load information of the own server device is not the minimum, the time determined according to the rules, for example, During a random time, etc., the process reception message transmitted from the other server device of the group to the client is monitored. If the message is not intercepted, the load status related to the process reception is monitored. Retry the decision including the decision.

(6) 更に本サーバ装置は、前記(2)において以下を特徴とする。本サーバ装置は、前記処理要求を受信した際に、前記グループの自サーバ装置の負荷情報と他サーバ装置の負荷情報とで同じものがある場合は、前記グループ定義情報で持つ各サーバ装置に定められたMACアドレス等の値を用いて比較して、その値が最小の場合に自サーバ装置で前記処理受付を行う。すなわち、負荷が同程度の複数のサーバ装置がある場合に、所定の規則に従って1つのサーバ装置を決定して処理受付を行う。   (6) Further, the server device is characterized in the following in (2). When the server apparatus receives the processing request, and there is the same load information of the own server apparatus of the group and the load information of the other server apparatus, the server apparatus determines the server apparatus included in the group definition information. When the value is the smallest, the server accepts the processing by the server device. That is, when there are a plurality of server devices having the same load, one server device is determined according to a predetermined rule and processing is accepted.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

(1) 複数のサーバ装置における負荷分散・均衡化を実現して、設備使用効率向上及び仕事効率向上を図ることができる。   (1) It is possible to achieve load distribution and balancing in a plurality of server devices, thereby improving facility use efficiency and work efficiency.

(2) サーバ装置やクライアント装置の増減を簡単に行うことができ、それに伴う負荷変動に対応して、最適化をサーバ装置で自立的に行うことができる。特に、ブレードサーバ方式に最適な技術を提供できる。   (2) The number of server devices and client devices can be easily increased and decreased, and optimization can be performed independently by the server device in response to load fluctuations associated therewith. In particular, it is possible to provide a technique optimal for the blade server system.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。図1〜図13は、本発明の一実施の形態を説明するための図である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted. 1 to 13 are diagrams for explaining an embodiment of the present invention.

本発明の一実施の形態におけるサーバ装置は、本サーバ装置を複数用いてサーバグループが定義・設定された構成において、クライアントからの要求をサーバグループで受信して、各サーバ装置での負荷状態の判断に応じて処理を受け付ける。これによりサーバ間での負荷の調整がなされる。本サーバ装置上では、サーバグループにおける負荷分散のための制御方法に従った処理が、プログラムやハードウェア論理等に従って実行される。   The server device according to an embodiment of the present invention receives a request from a client in a server group in a configuration in which a server group is defined and set using a plurality of the server devices, and the load state in each server device is Processing is accepted according to the judgment. This adjusts the load between servers. On the server device, processing according to a control method for load distribution in the server group is executed according to a program, hardware logic, or the like.

<情報処理システム>
図1は、本発明の一実施の形態におけるサーバ装置であるサーバ200を含んで構成される情報処理システムの構成例を示す。本システムは、ネットワーク4に、PC1と、サーバ集合筐体2に実装された複数のサーバ200{a,b,c}と、DBサーバ3とを有する。
<Information processing system>
FIG. 1 shows a configuration example of an information processing system including a server 200 that is a server device according to an embodiment of the present invention. The system includes a network 1, a PC 1, a plurality of servers 200 {a, b, c} mounted in a server aggregate housing 2, and a DB server 3.

ネットワーク4は、TCP/IPをベースとするインターネット、LANなどである。本実施の形態では、ネットワーク4は特にEthernet(登録商標)によるLANであり、TCP/IPベースのプロトコルで通信処理が行われる。また、実際の接続形態として、マルチドロップ接続、スイッチングハブやルータ経由によるスター接続などがあり得るが、いずれの場合も、各サーバ200へ出入りする電文はすべて、他のサーバ200においても傍受可能なように設定されている。   The network 4 is the Internet or LAN based on TCP / IP. In the present embodiment, the network 4 is an Ethernet (registered trademark) LAN, and communication processing is performed using a TCP / IP-based protocol. In addition, as an actual connection form, there can be a multi-drop connection, a star connection via a switching hub or a router, etc., but in any case, all messages entering and exiting each server 200 can be intercepted by other servers 200 as well. Is set to

PC1は、ネットワーク端末装置であり、サーバ200に対するクライアント装置として、ネットワーク4を通じてサーバ200に対してアプリケーション等の処理の実行を要求する。必要に応じて1つ以上のPC1がネットワーク4に接続される構成である。   The PC 1 is a network terminal device, and requests the server 200 to execute processing such as an application through the network 4 as a client device for the server 200. In this configuration, one or more PCs 1 are connected to the network 4 as necessary.

サーバ200{a,b,c}は、クライアントであるPC1からの処理要求を受信してそれに対応したアプリケーション等の処理を行う装置である。本例では、各サーバ200は、サーバ集合筐体2内に実装可能なブレードサーバ方式である。   The server 200 {a, b, c} is a device that receives a processing request from the client PC 1 and performs processing such as an application corresponding thereto. In this example, each server 200 is a blade server system that can be mounted in the server aggregate housing 2.

サーバ集合筐体2は、1つの筐体に複数のサーバ200を実装可能とする筐体である。サーバ集合筐体2は、本例では、ブレードサーバ方式のサーバ200に対応したブレードシャーシの形態である。その他、サーバ集合筐体2は、サーバ200の形態に応じてラックマウントキャビネットといった各種形態が可能である。各サーバ200{a,b,c}は、保守・管理者により、必要に応じて、サーバ集合筐体2内に対して挿抜の動作により実装可能である。前記サーバ200の実装とは、サーバ200及びサーバ集合筐体2の形態に応じた挿抜や搭載やネジ止めなどの方法に加え、製造時点で、布線、半田付けなどにより事実上固定されているものも含んでいい。   The server collective housing 2 is a housing that allows a plurality of servers 200 to be mounted on one housing. In this example, the server collective housing 2 is in the form of a blade chassis corresponding to the blade server type server 200. In addition, the server collective housing 2 can take various forms such as a rack mount cabinet according to the form of the server 200. Each server 200 {a, b, c} can be mounted on the server collective housing 2 by an insertion / extraction operation as required by a maintenance / administrator. The mounting of the server 200 is practically fixed by wiring, soldering, or the like at the time of manufacture, in addition to methods such as insertion / extraction, mounting, and screwing according to the form of the server 200 and the server aggregate housing 2. You can include things.

サーバ集合筐体2には、各サーバ200の挿抜のためのスロット及びコネクタ等の構成を有する。例えばサーバ200の増設の場合、保守・管理者が、対象サーバ200をスロットに挿入してコネクタ同士を接続することで、サーバ集合筐体2内に接続・固定される。サーバ集合筐体2には、各サーバ200{a,b,c}が自由に実装され、すべてのサーバ200が同じネットワ−ク4に接続される。サーバ集合筐体2に有する実装スペースが許す限りで何台のサーバ200でも実装可能である。本例では、3つのサーバ200{a,b,c}がサーバ集合筐体2内に実装されており、それぞれネットワーク4上で通信可能である。   The server collective housing 2 has a configuration such as a slot and a connector for inserting and removing each server 200. For example, when the number of servers 200 is increased, the maintenance / administrator inserts the target server 200 into the slot and connects the connectors to each other, thereby connecting and fixing the server 200 in the server collective housing 2. Each server 200 {a, b, c} is freely mounted in the server aggregate housing 2, and all the servers 200 are connected to the same network 4. Any number of servers 200 can be mounted as long as the mounting space in the server collective housing 2 permits. In this example, three servers 200 {a, b, c} are mounted in the server aggregate housing 2 and can communicate with each other on the network 4.

本システムでは、これら複数のサーバ200{a,b,c}を同一グループとして定義し、ネットワーク4上で処理の負荷分散を行う対象として取り扱う。このグループに関する定義情報を含む必要な設定の情報が、当該グループの各サーバ200において保持される。これら同一グループとして定義及び通信接続される複数のサーバ200{a,b,c}を、サーバグループと称する。   In this system, the plurality of servers 200 {a, b, c} are defined as the same group and are handled as targets for processing load distribution on the network 4. Necessary setting information including definition information about the group is held in each server 200 of the group. A plurality of servers 200 {a, b, c} that are defined and communicated as the same group are referred to as a server group.

DBサーバ3は、外部からの要求に応じてDB参照や更新などのDB処理を行うサーバである。DBサーバ3は、サーバ200からの要求に応じてDB処理を行ってその結果をサーバ200へ返す。DBサーバ200は、複数のサーバ200から共有でアクセスされ処理するサーバを設ける場合の1つの典型例であって、他に、Webやメールといった各種アプリケーションのサーバも可能である。   The DB server 3 is a server that performs DB processing such as DB reference and update in response to an external request. The DB server 3 performs DB processing in response to a request from the server 200 and returns the result to the server 200. The DB server 200 is one typical example in the case where a server that is shared and accessed from a plurality of servers 200 is provided. In addition, a server for various applications such as Web and mail is also possible.

本システムでは、PC1からの処理要求を、共通の通信アドレスによりサーバグループで受信すると共に、負荷状態に応じてサーバ200{a,b,c}で処理を受け付ける。そして処理を受け付けたサーバ200は、その処理の実行についてDB処理が必要な場合に、DBサーバ3へ要求を出す。そしてサーバ200はDBサーバ3からの処理結果またはそれをもとに処理を行った結果を、PC1へ応答として送信する。前記PC1から発行される処理要求は、サーバ200での特定の処理に対する要求や、あるいは、DBサーバ3へのDB参照要求などである。本例では、サーバ200から更にDBサーバ3に対してアクセスが行われる場合を説明するが、PC1とサーバ200との間で処理が完結する場合も勿論可能である。   In this system, a processing request from the PC 1 is received by the server group using a common communication address, and processing is accepted by the server 200 {a, b, c} according to the load state. The server 200 that has received the process issues a request to the DB server 3 when the DB process is necessary for the execution of the process. Then, the server 200 transmits the processing result from the DB server 3 or the result of processing based on the processing result to the PC 1 as a response. The processing request issued from the PC 1 is a request for specific processing in the server 200 or a DB reference request to the DB server 3. In this example, a case where the server 200 further accesses the DB server 3 will be described. Of course, a case where the process is completed between the PC 1 and the server 200 is also possible.

<PC>
図2は、PC1のハードウェアブロック構成図を示している。PC1は、CPU101、メモリ102、LANボード103、HDD104、入力制御ボード105、出力制御ボード106を有する。
<PC>
FIG. 2 shows a hardware block configuration diagram of the PC 1. The PC 1 includes a CPU 101, a memory 102, a LAN board 103, an HDD 104, an input control board 105, and an output control board 106.

CPU101は、PC1全体を制御するプロセッサである。メモリ102は、プログラムやデータなどを一時記憶する。HDD104は、プログラム、テーブル類、DB情報などを記憶している外部記憶装置である。CPU101は、メモリ102上のプログラムを実行してPC1としての機能を実現する。入力制御ボード105は、キーボード、マウスなどの入力装置を制御するボードである。出力制御ボード106は、モニタ、液晶ディスプレイなどの表示装置や他の出力装置を制御するボードである。LANボード103は、ネットワーク4に対するLANインターフェースを制御するボードである。LANボード103によりネットワーク4上で各種コマンドやデータが授受される。PC1は、後述するグループIPアドレス614を認識している。   The CPU 101 is a processor that controls the entire PC 1. The memory 102 temporarily stores programs and data. The HDD 104 is an external storage device that stores programs, tables, DB information, and the like. The CPU 101 executes a program on the memory 102 to realize the function as the PC 1. The input control board 105 is a board that controls input devices such as a keyboard and a mouse. The output control board 106 is a board that controls a display device such as a monitor and a liquid crystal display and other output devices. The LAN board 103 is a board that controls a LAN interface for the network 4. Various commands and data are exchanged on the network 4 by the LAN board 103. The PC 1 recognizes a group IP address 614 described later.

図3は、PC1のソフトウェアブロック構成図を示している。PC1は、アプリケーション部111、OS112、通信制御部113、入力制御部114、出力制御部115を有する。   FIG. 3 shows a software block configuration diagram of the PC 1. The PC 1 includes an application unit 111, an OS 112, a communication control unit 113, an input control unit 114, and an output control unit 115.

アプリケーション部111は、Webブラウザ、メール、データ参照などのアプリケーションソフトウェアのプログラムを示す。OS(オペレーティングシステム)112は、入出力制御、イベント通知、アプリケーション部111のプログラムの起動・終了などのスケジュール管理を行う。アプリケーション部111及びOS112は、サーバ200に対する処理要求を必要に応じて発行する。   The application unit 111 indicates a program of application software such as a Web browser, mail, and data reference. An OS (Operating System) 112 performs schedule management such as input / output control, event notification, and activation / termination of a program of the application unit 111. The application unit 111 and the OS 112 issue processing requests to the server 200 as necessary.

通信制御部113は、前記LANボード103の処理に対応するもので、LANインターフェースを制御するドライバや、TCP/IPプロトコル制御などが含まれる。入力制御部114は、前記入力装置の入力制御を行うドライバなどを含む。出力制御部115は、前記表示装置を制御する表示ドライバ、ビデオメモリ管理などが含まれる。   The communication control unit 113 corresponds to the processing of the LAN board 103 and includes a driver for controlling the LAN interface, TCP / IP protocol control, and the like. The input control unit 114 includes a driver that performs input control of the input device. The output control unit 115 includes a display driver for controlling the display device, video memory management, and the like.

<サーバ>
図4は、サーバ200{a〜c}のハードウェアブロック構成図を示している。各々のサーバ200は、CPU201、メモリ202、LAN制御部203、HDD204、SVP制御部205を有する。
<Server>
FIG. 4 shows a hardware block configuration diagram of the server 200 {ac}. Each server 200 includes a CPU 201, a memory 202, a LAN control unit 203, an HDD 204, and an SVP control unit 205.

CPU201は、サーバ200全体を制御するプロセッサであり、自サーバでの処理及びDBサーバ3に対する処理を制御する。メモリ202は、プログラム、データ、テーブル情報などを一時記憶するメモリである。HDD204は、プログラム、テーブル類、DB情報などを記憶している外部記憶装置である。本例では、HDD204には、後述するテーブル(6,7)が保持される。CPU201は、メモリ202上のプログラムを実行してサーバ200としての機能を実現する。   The CPU 201 is a processor that controls the entire server 200, and controls processing on the own server and processing on the DB server 3. The memory 202 is a memory that temporarily stores programs, data, table information, and the like. The HDD 204 is an external storage device that stores programs, tables, DB information, and the like. In this example, the HDD 204 holds tables (6, 7) described later. The CPU 201 executes a program on the memory 202 to realize the function as the server 200.

LAN制御部203は、ネットワーク4に対するLANインターフェースを制御する部分である。LAN制御部203によりネットワーク4上で各種コマンドやデータが授受される。また、LAN制御部203は、同一サーバグループ内にある関連IPアドレスをソース、デスティネーションに使用した電文を、一旦、本制御部に取り込み、解析し、傍受可能としている。   The LAN control unit 203 is a part that controls a LAN interface for the network 4. Various commands and data are exchanged on the network 4 by the LAN control unit 203. In addition, the LAN control unit 203 once captures a message using a related IP address in the same server group as a source and destination into the control unit, analyzes it, and enables interception.

SVP制御部205は、SVPインターフェースを制御する部分であり、サーバ内各部と外部のSVP(サービスプロセッサ)に対して接続される。SVPは、SVP制御部205を通じて、各サーバ200についての保守・管理の処理を行う。SVPの処理は、例えば構成や障害の管理といったものである。   The SVP control unit 205 is a part that controls the SVP interface, and is connected to each part in the server and an external SVP (service processor). The SVP performs maintenance / management processing for each server 200 through the SVP control unit 205. The SVP processing is, for example, configuration or failure management.

本サーバ200は、ブレードサーバ方式であるため、個々には入力装置や出力装置を持たない構成である。その代わりに、外付けの監視装置やシステムコンソールなどの役目を果たすSVPによる入出力を可能とするために、SVP制御部205を有している。保守・管理者は、SVPを操作してサーバ200の保守・管理を行うことができる。サーバ集合筐体2としてのブレードシャーシ内には、図示しないが、上記SVPや、各サーバ200に対する電源供給を行う電源部や送風を行うファンといった部位が設けられている。   Since this server 200 is a blade server system, it does not have an input device or an output device individually. Instead, an SVP control unit 205 is provided to enable input / output by an SVP that functions as an external monitoring device or a system console. The maintenance / manager can perform maintenance / management of the server 200 by operating the SVP. Although not shown, the blade chassis as the server collective housing 2 is provided with parts such as the SVP, a power supply unit that supplies power to each server 200, and a fan that blows air.

図5は、サーバ200{a,b,c}のソフトウェアブロック構成図を示している。サーバ200は、アプリケーション部211、OS212、通信制御部213、監視制御部214、負荷測定部215、設定テーブル6、動作テーブル7を有する。   FIG. 5 shows a software block configuration diagram of the server 200 {a, b, c}. The server 200 includes an application unit 211, an OS 212, a communication control unit 213, a monitoring control unit 214, a load measurement unit 215, a setting table 6, and an operation table 7.

アプリケーション部211は、Web参照、メール制御、データ参照などのアプリケーションサーバソフトウェアのプログラムを示す。OS212は、入出力制御、イベント通知、アプリケーション部211のプログラムの起動・終了などのスケジュール管理を行う。サーバ200は、OS212とアプリケーション部211において、PC1からの処理要求に対応した処理を行う。本例では、サーバ200のアプリケーション部211で、DBサーバ3でのDB処理を用いた処理が行われる。   The application unit 211 indicates a program of application server software such as Web reference, mail control, and data reference. The OS 212 performs schedule management such as input / output control, event notification, and activation / termination of the program of the application unit 211. The server 200 performs processing corresponding to the processing request from the PC 1 in the OS 212 and the application unit 211. In this example, the application unit 211 of the server 200 performs processing using DB processing in the DB server 3.

通信制御部213は、前記LAN制御部203の処理に対応するもので、LANインターフェースを制御するドライバ、TCP/IPプロトコル制御などが含まれる。通信制御部213を介して、PC1との間、サーバグループのサーバ200間、及びDBサーバ3との間で、それぞれ通信可能である。   The communication control unit 213 corresponds to the processing of the LAN control unit 203, and includes a driver for controlling the LAN interface, TCP / IP protocol control, and the like. Communication with the PC 1, between the servers 200 in the server group, and with the DB server 3 is possible via the communication control unit 213.

監視制御部214は、同一サーバグループに構成されたサーバ200の動作状況の監視や、LANインターフェース上での電文の傍受監視などを行う。また監視制御部214は、設定テーブル6や動作テーブル7を管理し、必要に応じて参照・更新する。   The monitoring control unit 214 performs monitoring of the operation status of the servers 200 configured in the same server group, monitoring of electronic messages on the LAN interface, and the like. The monitoring control unit 214 manages the setting table 6 and the operation table 7 and refers / updates them as necessary.

負荷測定部215は、負荷状態の把握のための負荷情報として、自サーバ200のCPU201におけるCPU使用率を、定期的またはアプリケーション部211の処理の起動・終了などの負荷の変動時に応じて測定する。負荷測定部215で測定された自サーバ200の負荷情報は、監視制御部214を介して、動作テーブル7に反映される。また、負荷がある程度変動した場合には、通信制御部213を介して、同一サーバグループ内の他サーバ200への負荷情報の通知や交換のための通信が行われる。   The load measurement unit 215 measures the CPU usage rate in the CPU 201 of the server 200 as load information for grasping the load state periodically or according to load fluctuations such as start / end of processing of the application unit 211. . The load information of the own server 200 measured by the load measuring unit 215 is reflected in the operation table 7 via the monitoring control unit 214. When the load fluctuates to some extent, communication for load information notification and exchange to other servers 200 in the same server group is performed via the communication control unit 213.

本実施の形態では、グループ定義情報として、設定テーブル6と動作テーブル7を有する。設定テーブル6は、システムの設定のための情報であり、自身も含めた同一サーバグループの各サーバ200{a,b,c}のアドレスや識別名などの必要な設定情報を保持している。動作テーブル7は、システムの状態管理のための情報であり、自身も含めた同一サーバグループの各サーバ200{a,b,c}の動作及び負荷の状態を情報として管理・保持している。   In this embodiment, a setting table 6 and an operation table 7 are included as group definition information. The setting table 6 is information for setting the system, and holds necessary setting information such as addresses and identification names of the servers 200 {a, b, c} of the same server group including itself. The operation table 7 is information for managing the state of the system, and manages and holds the operation and load state of each server 200 {a, b, c} of the same server group including itself as information.

なお、DBサーバ3の構成については、前記図4,5に示すブレードサーバ方式のサーバ200と同様のサーバ装置でも、前記図2,3に示すPC1と同様のスタンドアロン方式のサーバ装置でもよい。   The configuration of the DB server 3 may be a server device similar to the blade server type server 200 shown in FIGS. 4 and 5 or a stand-alone type server device similar to the PC 1 shown in FIGS.

<テーブル>
図6は、設定テーブル6の形式の一実施例を示す。設定テーブル6は、すべてのサーバ200において、自ホスト名620を除き、同じ内容を持つ。設定テーブル6で、列(601〜603)にサーバ200{a,b,c}単位の情報を示し、行(611〜615)に各設定情報の項目を示している。これら設定テーブル6の内容は、外部のSVPよりSVP制御部205を通じて設定され、HDD204内に記憶される。
<Table>
FIG. 6 shows an example of the format of the setting table 6. The setting table 6 has the same contents except for its own host name 620 in all servers 200. In the setting table 6, information in units of servers 200 {a, b, c} is shown in columns (601 to 603), and items of setting information are shown in rows (611 to 615). The contents of these setting tables 6 are set from an external SVP through the SVP control unit 205 and stored in the HDD 204.

固有ホスト名611は、各サーバ200に固有のホスト名が割り当てられる。本例では、各サーバ200{a,b,c}の固有ホスト名611は、“APSRVRa”、“APSRVRb”、“APSRVRc”と割り当てられている。   As the unique host name 611, a unique host name is assigned to each server 200. In this example, the unique host names 611 of the servers 200 {a, b, c} are assigned as “APSRVRa”, “APSRVRb”, and “APSRVRc”.

固有IPアドレス612は、各サーバ200{a,b,c}に固有のIPアドレスが通信アドレスとして割り当てられる。本例では、各サーバ200{a,b,c}の固有IPアドレス612は、“202.200.256.1”、“202.200.256.2”、“202.200.256.3”と割り当てられている。   As the unique IP address 612, a unique IP address is assigned to each server 200 {a, b, c} as a communication address. In this example, the unique IP address 612 of each server 200 {a, b, c} is “202.2000.256.1”, “202.2000.256.2”, “202.2000.256.3”. And assigned.

グループホスト名613は、同一サーバグループのサーバ200群のすべてに対して、同一ホスト名が割り当てられる。本例では、サーバ200{a,b,c}のグループホスト名613は、“APSRVR”が割り当てられている。   The group host name 613 is assigned the same host name to all of the servers 200 in the same server group. In this example, “APSRVR” is assigned to the group host name 613 of the server 200 {a, b, c}.

グループIPアドレス614は、同一サーバグループのサーバ200群のすべてに対して、同一IPアドレスが共通の通信アドレスとして割り当てられる。一般には、本アドレスとして、テレビ会議などで使用される同一のマルチキャストアドレスとして定義することでもよい。本例では、すべてのサーバ200{a,b,c}は、グループIPアドレス614として“202.200.256.0”が割り当てられている。   As the group IP address 614, the same IP address is assigned as a common communication address to all of the servers 200 in the same server group. In general, this address may be defined as the same multicast address used in a video conference or the like. In this example, all servers 200 {a, b, c} are assigned “202.2000.256.0” as the group IP address 614.

MACアドレス615は、各サーバ200で固有のMACアドレスである。本例では、サーバ200{a,b,c}のMACアドレス615は、それぞれ、“01.23.45.67.89.AB”、“AB.CD.EF.01.23.45”、“67.89.AB.CD.EF.01”となっている。LAN制御部203は、MACアドレス615を有し、SVPからの設定でなく、パワーオン時、自サーバのMACアドレスのみ、LAN制御部203から取得し、本テーブルに設定することも可能である。   The MAC address 615 is a unique MAC address in each server 200. In this example, the MAC addresses 615 of the servers 200 {a, b, c} are “01.23.45.67.89.AB”, “AB.CD.EF.01.23.45”, “ 67.89.AB.CD.EF.01 ". The LAN control unit 203 has a MAC address 615. When the power is turned on, only the MAC address of the local server can be acquired from the LAN control unit 203 and set in this table.

固有IPアドレス612、グループIPアドレス614、MACアドレス615は、ネットワーク4上の通信において送信元や送信先のアドレスとして使用される。   The unique IP address 612, the group IP address 614, and the MAC address 615 are used as addresses of a transmission source and a transmission destination in communication on the network 4.

また、自ホスト名620には、自サーバ200のホスト名が設定される。例えば、サーバa(200)の自ホスト名620に、“APSRVRa”が設定されている。自ホスト名620が固有ホスト名611とリンクすることにより、上記列(601〜603)のうちいずれが自サーバ200の内容かを知ることができる。   In addition, the host name of the server 200 is set in the host name 620. For example, “APSRVRa” is set in the own host name 620 of the server a (200). By linking the own host name 620 with the unique host name 611, it is possible to know which of the columns (601 to 603) is the content of the own server 200.

本実施の形態では、PC1からサーバ200に対する処理要求は、グループIPアドレス614が送信先として使用される。また、処理要求を受け付けたサーバ200からPC1に対する応答は、固有IPアドレス612が送信元として使用される。   In the present embodiment, the group IP address 614 is used as a transmission destination for processing requests from the PC 1 to the server 200. In addition, the unique IP address 612 is used as a transmission source for the response from the server 200 that has received the processing request to the PC 1.

PC1からは処理要求に対応した処理を実際に受け付けて実行しているサーバ200を識別する必要は特にないが、当該サーバ200の識別は、固有IPアドレス612等により可能である。   Although it is not necessary to identify the server 200 that actually receives and executes the process corresponding to the process request from the PC 1, the server 200 can be identified by the unique IP address 612 or the like.

また、グループIPアドレス614や固有IPアドレス612は、各サーバ200間の負荷情報の通知や交換などの通信においても使用される。   The group IP address 614 and the unique IP address 612 are also used in communications such as notification and exchange of load information between the servers 200.

通信におけるIPアドレス部分では、上記グループIPアドレス614や固有IPアドレス612が設定されていても、ネットワーク4であるEthernet(登録商標)のデータリンクレベルでは、実際に送受信処理するLAN制御部203のMACアドレス615が設定される。但し、以降、IPアドレスからMACアドレス615への変換の技術は、ARP(Address Resolution Protocol)などを使用して、条件に該当するサーバが応答を返すことでMACアドレス615に変換することによりなされる。以下、この処理の詳細過程は省略するが、IPアドレスで行っている動作は、MACアドレス615においても同様に適用可能である。   Even if the group IP address 614 and the unique IP address 612 are set in the IP address part in communication, the MAC of the LAN control unit 203 that actually performs transmission / reception processing at the data link level of the Ethernet (registered trademark) as the network 4 Address 615 is set. However, hereinafter, the technology for converting the IP address to the MAC address 615 is performed by using the ARP (Address Resolution Protocol) or the like and the server corresponding to the condition returns a response to convert it to the MAC address 615. . Hereinafter, although the detailed process of this process is omitted, the operation performed with the IP address can be similarly applied to the MAC address 615 as well.

図7は、動作テーブル7の形式の一実施例を示す。動作テーブル7の列(701〜703)にサーバ200{a,b,c}単位の情報を示し、行(711,712)に各サーバ200の動作や負荷の状態などの項目を示している。本例では、動作状態711とCPU使用率712とにより各サーバ200の状態が管理されている。これらの値に基づき、サーバ200での処理の受け付けが判断され、すなわちサーバ200間の負荷が調整されることになる。   FIG. 7 shows an embodiment of the format of the operation table 7. Columns (701 to 703) of the operation table 7 indicate information in units of servers 200 {a, b, c}, and rows (711, 712) indicate items such as the operation and load status of each server 200. In this example, the state of each server 200 is managed by the operation state 711 and the CPU usage rate 712. Based on these values, it is determined that the server 200 accepts processing, that is, the load between the servers 200 is adjusted.

動作状態711は、各サーバ200での処理に係わる動作状態を示す項目であり、状態の変動に応じて設定される。動作状態711が“ON”ならば、該当サーバ200は、パワー(電源)オンされて稼動状態であること、すなわち、処理稼動中または処理提供可能な状態を示す。また動作状態711が“OFF”ならば、該当サーバ200は、パワーオフまたは休止状態(処理提供不能な状態)であることを示す。   The operation state 711 is an item indicating an operation state related to processing in each server 200, and is set according to a change in state. If the operation state 711 is “ON”, it indicates that the server 200 is powered on and is in an operating state, that is, a state in which a process is in operation or a process can be provided. Further, if the operation state 711 is “OFF”, it indicates that the server 200 is in a power-off state or a hibernation state (a state in which processing cannot be provided).

CPU使用率712は、サーバ200での処理に関する負荷状態を表わす値であり、CPU201の使用率の数値(単位は[%])で示している。   The CPU usage rate 712 is a value representing a load state related to processing in the server 200, and is indicated by a numerical value (unit: [%]) of the usage rate of the CPU 201.

また、これら動作テーブル7の情報も、自ホスト名620とリンクして前記図6と同様の列の配列とすることにより、上記列(701〜703)のうちいずれが自サーバ200の内容かを知ることができる。   Further, the information in the operation table 7 is also linked to the own host name 620 to be arranged in the same column as in FIG. 6, so that which of the above columns (701 to 703) is the content of the own server 200. I can know.

これら動作テーブル7の内容は、各サーバ200の状態が変化するたびに、後述の方法で複数のサーバ200間でお互いに通信することにより、各サーバ200で保持している情報の整合性をとっている。   The contents of these operation tables 7 are used to maintain the consistency of the information held in each server 200 by communicating with each other between the plurality of servers 200 by the method described later each time the state of each server 200 changes. ing.

<電文>
図8は、ネットワーク4におけるLANインターフェース上で使用される電文の形式の一実施例を示している。電文の種類に対応してその電文に設定される各種情報を示している。PC1、サーバグループのサーバ200、DBサーバ3の間で授受される電文の種類として、本例では、各コマンド811〜818を使用する。各コマンド811〜818は、例えばヘッダとコンテンツを有する形式であり、ステータスや単なるデータ等の場合を含むものとする。各電文は、コマンド801、ソースIPアドレス801、デスティネーションIPアドレス802、セッション番号804、コンテンツ805の領域を含む。
<Telegram>
FIG. 8 shows an embodiment of a message format used on the LAN interface in the network 4. Various types of information set in the message corresponding to the type of message are shown. In this example, commands 811 to 818 are used as the types of messages exchanged between the PC 1, the server group server 200, and the DB server 3. Each command 811 to 818 has, for example, a format having a header and content, and includes cases such as status and simple data. Each message includes areas of a command 801, a source IP address 801, a destination IP address 802, a session number 804, and a content 805.

コマンド801には、起動完了811、負荷情報812、処理要求813、処理受付814、処理結果815、DBアクセス要求816、DBアクセス結果817、受付応答818がある。各コマンド811〜818は、電文の種類を示しており、コンテンツ805として何を含むかが決まる。   The command 801 includes activation completion 811, load information 812, processing request 813, processing reception 814, processing result 815, DB access request 816, DB access result 817, and reception response 818. Each command 811 to 818 indicates the type of message, and what is included as the content 805 is determined.

ソースIPアドレス802、デスティネーションIPアドレス803は、それぞれ、TCP/IPプロトコルにおける送信元のアドレス、送信先のアドレスが指定される。またセッション番号804は、他の同類の要求及び処理と混信しないための識別情報が設定される。   For the source IP address 802 and the destination IP address 803, a source address and a destination address in the TCP / IP protocol are designated, respectively. The session number 804 is set with identification information for preventing interference with other similar requests and processes.

起動完了811は、自サーバ200がパワーオンされて稼動状態(“ON”)となったことを、同一サーバグループ内の他サーバ200に対し知らせるものである。本例では、このソースIPアドレス802には、各サーバ200の固有IPアドレス612として“202.200.256.i”(iは1,2,3のどれか)を指定する。またデスティネーションIPアドレス803には、グループIPアドレス614を指定する。またコンテンツ805には、どのサーバ200が“ON”となったかを示す情報として“APSRVRj=ON”(jはa,b,cのどれか)が含まれている。   The start completion 811 notifies the other servers 200 in the same server group that the own server 200 is powered on and is in an operating state (“ON”). In this example, “202.200.256.i” (i is one of 1, 2, 3) is designated as the unique IP address 612 of each server 200 in the source IP address 802. A group IP address 614 is designated as the destination IP address 803. The content 805 includes “APSRVRj = ON” (j is one of a, b, and c) as information indicating which server 200 is “ON”.

負荷情報812は、各サーバ200の負荷の変動時、自身を含む各サーバ200の負荷情報を、サーバグループ内の他サーバ200に対し報告するためのものである。前記負荷の変動は、パワーオンによるサーバ200の起動も含む。このソースIPアドレス802及びデスティネーションIPアドレス803は、起動完了811の場合と同様である。また、コンテンツ805には、自サーバ200で動作テーブル7に保持しているサーバグループ内の全サーバ200についての負荷情報を、他サーバ200への確認も含めて報告する。本例では、コンテンツ805に、動作状態711の情報も含めており、例えば“APSRVRa=ON,70%”,“APSRVRb=ON,80%”,“APSRVRc=OFF”などが含まれている。   The load information 812 is for reporting load information of each server 200 including itself to other servers 200 in the server group when the load of each server 200 varies. The load fluctuation includes starting of the server 200 by power-on. The source IP address 802 and the destination IP address 803 are the same as in the case of the start completion 811. In addition, the load information about all the servers 200 in the server group held in the operation table 7 in the own server 200 is reported in the content 805, including confirmation to other servers 200. In this example, the content 805 includes information on the operation state 711, and includes, for example, “APSRVRa = ON, 70%”, “APSRVRb = ON, 80%”, “APSRVRc = OFF”, and the like.

処理要求813は、PC1からサーバ200に対する、DB参照、URL参照、メール送信、データ参照などの要求を表わす電文である。このソースIPアドレス802はPC1のIPアドレスであり、デスティネーションIPアドレス803はグループIPアドレス614である。またセッション番号804には、本例では“aa”が付与される。またコンテンツ805には、処理要求内容、及びパラメータなどのデータが含まれている。   The processing request 813 is a message representing a request from the PC 1 to the server 200 such as DB reference, URL reference, mail transmission, data reference. The source IP address 802 is the IP address of the PC 1, and the destination IP address 803 is the group IP address 614. In addition, “aa” is assigned to the session number 804 in this example. The content 805 includes processing request details and data such as parameters.

処理受付814は、PC1からの処理要求813についてのサーバ200での処理の受け付けを表わす電文である。この電文を受信したPC1等は、該当サーバ200で処理を受け付けることが認識できる。このソースIPアドレス802は、サーバグループにおいて処理要求813に対応した処理を受け付けたサーバ200の固有IPアドレスを使用する。デスティネーションIPアドレス803はPC1のIPアドレスである。またセッション番号804として、前記PC1からの処理要求813に対応したセッション番号804と同じ値(“aa”)が付与される。   The process reception 814 is a message representing the reception of the process in the server 200 for the process request 813 from the PC 1. The PC 1 or the like that has received this message can recognize that the server 200 accepts the process. As the source IP address 802, the unique IP address of the server 200 that has received processing corresponding to the processing request 813 in the server group is used. The destination IP address 803 is the IP address of PC1. As the session number 804, the same value (“aa”) as the session number 804 corresponding to the processing request 813 from the PC 1 is given.

受付応答818は、処理受付814に対する確認のための応答である。このソースIPアドレス802はPC1のIPアドレスであり、デスティネーションIPアドレス803は、処理受付814を送信してきた該当サーバ200の固有IPアドレス612である。PC1は、処理受付814の電文を受信すると、これに付与されているセッション番号804と同じのセッション番号804(“aa”)をセットした受付応答818の電文を該当サーバ200に返信する。   The reception response 818 is a response for confirmation with respect to the processing reception 814. The source IP address 802 is the IP address of the PC 1, and the destination IP address 803 is the unique IP address 612 of the corresponding server 200 that has transmitted the process reception 814. When the PC 1 receives the message of the process reception 814, the PC 1 returns a message of the reception response 818 in which the same session number 804 (“aa”) as the session number 804 assigned thereto is returned to the corresponding server 200.

本例では、通常シーケンスでは、サーバ200からの処理受付814に対してPC1から受付応答818を返す。処理受付814と受付応答818とにより、該当サーバ200での処理の受け付けが確認される。なお、処理受付814と受付応答818を省略して確認なしに処理させるシーケンスとすることも可能である。   In this example, in the normal sequence, an acceptance response 818 is returned from the PC 1 to the process acceptance 814 from the server 200. Based on the process reception 814 and the reception response 818, the reception of the process in the corresponding server 200 is confirmed. Note that the processing reception 814 and the reception response 818 may be omitted, and the processing may be performed without confirmation.

DBアクセス要求816とDBアクセス結果817は、サーバグループ内のサーバ200での処理に応じて、外付けのDBサーバ3へ処理を要求する場合の例として示している。   The DB access request 816 and the DB access result 817 are shown as examples in the case where a process is requested to the external DB server 3 according to the process in the server 200 in the server group.

DBアクセス要求816は、サーバ200からDBサーバ3への処理要求である。本例では、このソースIPアドレス802は該当サーバ200の固有IPアドレス612であり、デスティネーションIPアドレス803はDBサーバ3のIPアドレスである。またセッション番号804として、前記処理要求813等と同じ値(“aa”)を使用する場合を示す。またコンテンツ805は、例えばDB参照のための検索キーの情報である。   The DB access request 816 is a processing request from the server 200 to the DB server 3. In this example, the source IP address 802 is the unique IP address 612 of the corresponding server 200, and the destination IP address 803 is the IP address of the DB server 3. Further, the case where the same value (“aa”) as the processing request 813 or the like is used as the session number 804 is shown. The content 805 is search key information for DB reference, for example.

DBアクセス結果817は、DBサーバ3からサーバ200への応答である。本例では、このソースIPアドレス802はDBサーバ3のIPアドレスであり、デスティネーションIPアドレス803は該当サーバ200の固有IPアドレス612である。またセッション番号804として、前記DBアクセス要求816と同じ値(“aa”)を使用する場合を示す。なおサーバ200とDBサーバ3との間の通信において、PC1との間で使用するセッション番号804(例えば“aa”)とは異なるセッション番号804(例えば“bb”)を使用することとしてもよい。またコンテンツ805は、例えばDB検索結果及びそのデータである。   The DB access result 817 is a response from the DB server 3 to the server 200. In this example, the source IP address 802 is the IP address of the DB server 3, and the destination IP address 803 is the unique IP address 612 of the server 200. In addition, a case where the same value (“aa”) as the DB access request 816 is used as the session number 804 is shown. In communication between the server 200 and the DB server 3, a session number 804 (for example, “bb”) different from the session number 804 (for example, “aa”) used with the PC 1 may be used. The content 805 is, for example, a DB search result and its data.

処理結果815は、サーバ200での処理受付814に対応した処理結果となる、PC1への応答を示す。このソースIPアドレス802は処理を行った該当サーバ200の固有IPアドレスであり、デスティネーションIPアドレス803はPC1のIPアドレスである。またセッション番号804として、前記処理受付814のセッション番号804と同じ値(“aa”)がセットされる。またコンテンツ805は、処理結果及びそのデータの詳細が含まれている。   A processing result 815 indicates a response to the PC 1 that is a processing result corresponding to the processing reception 814 in the server 200. This source IP address 802 is the unique IP address of the corresponding server 200 that performed the process, and the destination IP address 803 is the IP address of the PC 1. Further, the same value (“aa”) as the session number 804 of the process reception 814 is set as the session number 804. The content 805 includes the processing result and details of the data.

上記処理受付814や受付応答818等において、処理を受け付けたサーバ200の固有IPアドレス612を使用する理由は、サーバ200間での負荷情報の交換の遅れや漏れ等に起因して複数のサーバ200がPC1に対し処理受付814を返した場合にも対応してサーバ200を識別できるようにするためである。この場合、処理を受け付ける複数のサーバ200が、PC1に対し固有IPアドレスを用いて処理受付814の電文を送信する。そして、PC1から、どの処理受付814の電文を受け取ったかを示すために該当サーバ200の固有IPアドレスを用いて受付応答818を送信する。PC1からの受付応答818を受信したサーバ200は、自サーバ200で受け付けた処理がPC1側からも確認されたので、当該処理を継続する。前記受付応答818を受信しなかったサーバ200は、処理の継続を中止する。   The reason why the unique IP address 612 of the server 200 that received the process is used in the process reception 814, the reception response 818, or the like is that a plurality of servers 200 are caused by delays or omissions in the exchange of load information between the servers 200. This is because the server 200 can be identified in response to the case where the process acceptance 814 is returned to the PC 1. In this case, the plurality of servers 200 that accept the process transmit a message of the process acceptance 814 to the PC 1 using the unique IP address. Then, a reception response 818 is transmitted using the unique IP address of the corresponding server 200 to indicate which processing reception 814 message has been received from the PC 1. The server 200 that has received the acceptance response 818 from the PC 1 continues the process because the process accepted by the server 200 has been confirmed from the PC 1 side. The server 200 that has not received the acceptance response 818 stops the continuation of processing.

本例では、処理受付814、処理結果815、DBアクセス要求816、DBアクセス結果817等の電文上において、固有IPアドレス612等により、どのサーバ200が具体的に処理を受け付けたかを知ることができる。サーバ200は、負荷状態に応じて自分が処理すべきものか否か判断して、自己責任により遂行することになる。   In this example, it is possible to know which server 200 has specifically accepted the process from the unique IP address 612 or the like on the messages such as the process reception 814, the process result 815, the DB access request 816, and the DB access result 817. . The server 200 determines whether or not it should be processed according to the load state, and performs it at its own risk.

ここで、処理受付814、受付応答818を使用せず、各サーバ200で判断し、継続して、本例では、DBアクセス要求816を出すことでもいい。この時、偶然、複数のサーバ200が同じ条件になり、同じ判断に基いて、要求を出す可能性があるが、この場合でも、最終的には、処理結果815を早く返したサーバ200からのデータが採用されることになる。処理受付814、受付応答818の必要性は、他のサーバ200が傍受することにより、複数サーバ200からの同じ要求が出る頻度を下げているだけである。ノイズなどで、処理受付814、受付応答818の電文を取りこぼしたケースも含めて、複数のサーバ200が受け付けた場合も、上記により、処理がなされるようになっている。   Here, instead of using the process reception 814 and the reception response 818, each server 200 may determine and continue to issue a DB access request 816 in this example. At this time, there are chances that a plurality of servers 200 will be in the same condition and issue a request based on the same judgment. However, even in this case, the server 200 that has returned the processing result 815 early will eventually Data will be adopted. The necessity of the process reception 814 and the reception response 818 is merely reducing the frequency at which the same request is issued from the plurality of servers 200 by the other server 200 intercepting. Even when a plurality of servers 200 receive a message including the case where the processing reception 814 and the reception response 818 are missed due to noise or the like, the processing is performed as described above.

<処理シーケンス及びフロー>
次に、本システムにおける処理のシーケンス及びフローを説明する。図9は、PC1、同一サーバグループのサーバ200{a,b,c}、及び、DBサーバ3の間での一連の処理及び制御のシーケンスの例を示している。PC1、サーバ200、及びDBサーバ3の間では、前記電文を用いて本シーケンス及びフローに対応した通信及び処理が行われる。
<Processing sequence and flow>
Next, a processing sequence and flow in this system will be described. FIG. 9 shows an example of a series of processing and control sequences among the PC 1, the servers 200 {a, b, c} in the same server group, and the DB server 3. Between the PC 1, the server 200, and the DB server 3, communication and processing corresponding to this sequence and flow are performed using the message.

サーバグループにおいて、例えばサーバc(200)は、パワーオンにより稼動状態となった場合、自身における動作状態の変動を通知するための起動完了811の電文を、サーバグループ内の他サーバa及びb(200)に送信する(S1030)。前記起動完了811の電文を受信したサーバa及びb(200)は、その情報をもとに、自身の動作テーブル7の内容を更新する。また、サーバグループにおいて、例えばサーバa(200)は、自身におけるある程度の負荷変動を検出すると、負荷情報812の電文を、サーバグループ内の他サーバb及びc(200)に送信する(S1011)。前記負荷情報812の電文を受信したサーバb及びc(200)は、その情報をもとに、自身の動作テーブル7の内容を更新する(S1021,S1031)。負荷状態や動作状態の変動が発生したサーバ(200)では、自身の動作テーブル7の内容を更新している。上記動作が、常時、サーバグループ内で任意のサーバ200から他サーバ200に対して、変動発生に伴う情報の通知や交換によりお互いに連絡し合うことが行われている。   In the server group, for example, when the server c (200) is in an operating state due to power-on, a message of start completion 811 for notifying a change in the operating state of itself is sent to other servers a and b ( 200) (S1030). The servers a and b (200) that have received the start completion 811 message update the contents of their own operation table 7 based on the information. In the server group, for example, when the server a (200) detects a certain amount of load fluctuation in itself, the server a (200) transmits a message of the load information 812 to the other servers b and c (200) in the server group (S1011). The servers b and c (200) that have received the load information 812 message update the contents of their own operation table 7 based on the information (S1021, S1031). The server (200) in which the load state or the operation state fluctuates updates the contents of its own operation table 7. In the server group, any server 200 communicates with each other by notifying or exchanging information associated with the occurrence of fluctuations at any time within the server group.

次に、S1001で、PC1から、処理要求813の電文がサーバグループに対して送信される。本処理要求813は、あるサーバグループに対して、そのグループIPアドレス614を送信先として用いて発行される。   Next, in S1001, a message of the processing request 813 is transmitted from the PC 1 to the server group. This processing request 813 is issued to a server group using the group IP address 614 as a transmission destination.

一方、S1300で、サーバグループの各サーバ200は、処理要求813を受信する処理、及び、自サーバ200でその処理要求813に対応した処理を受け付けるかどうかを動作テーブル7の参照に基づき判断する処理などを行う。図13で述べる処理及び制御に従って、いずれかのサーバ200で処理を受け付け、処理を受け付けたサーバ200から処理受付814の電文がPC1に送信されることになる。本例では、サーバグループ内で負荷が最小の状態にあるサーバb(200)で処理を受け付ける場合を示している。   On the other hand, in S1300, each server 200 in the server group receives the processing request 813, and determines whether or not the server 200 accepts processing corresponding to the processing request 813 based on the reference to the operation table 7. And so on. In accordance with the processing and control described in FIG. 13, the processing is received by one of the servers 200, and the message of the processing reception 814 is transmitted from the server 200 that has received the processing to the PC 1. In this example, a case is shown in which processing is received by the server b (200) in which the load is minimum in the server group.

上記S1300では、各サーバ200で独立して処理の受け付けに関する判断が行われるので、状況に応じて結果として、1つのサーバ200のみが処理を受け付ける場合以外にも、複数のサーバ200が処理を受け付ける場合や、いずれも受け付けずに再試行が行われる場合などがある。いずれの場合でも、1つのサーバ200との間で実際に処理が行われることになる。   In S1300, since each server 200 makes a determination regarding reception of a process independently, as a result, depending on the situation, a plurality of servers 200 receive a process other than when only one server 200 receives a process. In some cases, a retry is made without accepting any of them. In either case, processing is actually performed with one server 200.

上記S1300において、S1300bで、サーバb(200)は、動作テーブル7における各サーバ200{a,b,c}についてのCPU使用率712の比較に基づき、自サーバで処理を受け付けるか否か判断して自サーバで処理を受け付けることを決めると、処理受付814の電文をPC1に送信する。処理受付814の電文を受信したPC1は、それに対する受付応答818の電文をサーバb(200)へ送信する。サーバb(200)は、受付応答818の電文を受信することで処理の受け付けを確認し、当該処理を継続する。   In step S1300, in step S1300b, the server b (200) determines whether or not to accept processing on its own server based on the comparison of the CPU usage rate 712 for each server 200 {a, b, c} in the operation table 7. When the server decides to accept the process, it sends a message of the process acceptance 814 to the PC 1. The PC 1 that has received the message of the process reception 814 transmits a message of the reception response 818 to the server b (200). The server b (200) confirms the acceptance of the process by receiving the message of the acceptance response 818, and continues the process.

サーバグループにおけるサーバb(200)が処理を受け付けたことにより、当該サーバb(200)で負荷変動が発生し検出される。そのため、前記S1011,S1021,S1031の処理と同様に、S1022,S1012,S1032の処理において、サーバb(200)から負荷情報812を他サーバa及びc(200)に報告し、各動作テーブル7を更新する。   When the server b (200) in the server group accepts the process, a load change occurs in the server b (200) and is detected. Therefore, similarly to the processing of S1011, S1021, and S1031, in the processing of S1022, S1012 and S1032, the load information 812 is reported from the server b (200) to the other servers a and c (200), and each operation table 7 is stored. Update.

次に、前記処理要求813に対応した処理を受け付けたサーバb(200)で、DBサーバ3へのDB参照が必要になったとする。S1023で、該当サーバb(200)はDB参照処理を行う。該当サーバb(200)は、DBサーバ3に対してDBアクセス要求816の電文を送信する。S1041において、DBサーバ3は、DBアクセス要求816に応じてDB処理を行い、その結果であるDBアクセス結果817の電文を該当サーバb(200)へ送信する。   Next, it is assumed that the server b (200) that has received the process corresponding to the process request 813 needs to refer to the DB server 3. In S1023, the corresponding server b (200) performs DB reference processing. The server b (200) transmits a DB access request 816 message to the DB server 3. In S1041, the DB server 3 performs DB processing in response to the DB access request 816, and transmits a message of the DB access result 817 as a result to the server b (200).

S1023で、該当サーバb(200)は、前記DBアクセス結果817あるいはそれを用いた処理の結果を、PC1に対して、処理結果815の電文として送信する。そしてS1002で、PC1は、処理結果815を受信する処理を行う。   In step S1023, the corresponding server b (200) transmits the DB access result 817 or the processing result using the DB access result 817 to the PC 1 as a message of the processing result 815. In step S <b> 1002, the PC 1 performs processing for receiving the processing result 815.

また上記により、サーバb(200)において、前記処理要求813に対応した1つの処理が完了したとする。これにより、当該サーバb(200)で負荷変動が発生し検出される。そのため、同様に、S1024,S1013,S1033の処理において、サーバb(200)から負荷情報812を他サーバa及びc(200)に報告し、各動作テーブル7を更新する。   Further, it is assumed that one process corresponding to the process request 813 is completed in the server b (200) as described above. As a result, a load fluctuation occurs and is detected in the server b (200). Therefore, similarly, in the processing of S1024, S1013, and S1033, the load information 812 is reported from the server b (200) to the other servers a and c (200), and each operation table 7 is updated.

図10は、サーバグループのサーバ200{a,b,c}におけるパワーオン動作時の処理の詳細を示すフロー図である。ステップS901で、パワーオンにより起動されたサーバ200(例えばサーバa)は、動作テーブル7における自サーバ200に相当する列の動作状態711を、“OFF”から“ON”にする。また、S902で、同サーバ200は、同じ列のCPU使用率712を、‘0’にセットする。   FIG. 10 is a flowchart showing the details of the processing during the power-on operation in the server group server 200 {a, b, c}. In step S <b> 901, the server 200 activated by power-on (for example, server a) changes the operation state 711 in the column corresponding to the server 200 in the operation table 7 from “OFF” to “ON”. In S902, the server 200 sets the CPU usage rate 712 in the same column to “0”.

次に、S903で、同サーバ200は、負荷測定部215,監視制御部214,通信制御部213を起動し、これによりサーバグループの監視が行われる状態となる。   Next, in S903, the server 200 activates the load measurement unit 215, the monitoring control unit 214, and the communication control unit 213, thereby entering a state in which the server group is monitored.

次に、S904で、同サーバ200は、起動完了811の電文を、同一サーバグループ内の他サーバ200(サーバb及びc)に対して送信する。これにより、自サーバ200(サーバa)がサーバグループに対して処理提供可能な状態(“ON”)で新規追加されることを知らせる。   In step S <b> 904, the server 200 transmits a start completion 811 message to the other servers 200 (servers b and c) in the same server group. As a result, the server 200 (server a) is newly added in a state (“ON”) that can provide processing to the server group.

一方、図12のS1221でも示すように、サーバグループの各サーバ200(サーバb及びc)は、前記起動完了811の電文を受信すると、それにより新規追加されるサーバ200(サーバa)に対して、自身の動作テーブル7の内容を更新すると共に、自身を含む各サーバ200(サーバb及びc)の負荷情報を前記負荷情報812の電文により通知する。   On the other hand, as shown in S1221 of FIG. 12, when each server 200 (servers b and c) of the server group receives the message of the start completion 811, the server 200 (server a) newly added thereto is thereby received. The contents of the own operation table 7 are updated, and the load information of each server 200 (servers b and c) including itself is notified by a message of the load information 812.

次に、S905で、前記起動完了811を送信したサーバ200(サーバb)は、他サーバ200からの負荷情報812の電文の受信を確認する。負荷情報812の電文を受信した場合(S905−YES)、S906で、同サーバ200は、受信した負荷情報812の電文におけるコンテンツ805に含まれている各サーバ200(サーバb及びc)についての負荷情報に従い、それに対応する自身の動作テーブル7における自サーバの列(701)以外のすべての列(702,703)を更新する。   In step S <b> 905, the server 200 (server b) that transmitted the activation completion 811 confirms reception of a message of the load information 812 from the other server 200. When the message of the load information 812 is received (S905-YES), in S906, the server 200 loads the servers 200 (servers b and c) included in the content 805 in the received message of the load information 812. According to the information, all the columns (702, 703) other than the column (701) of the own server in the own operation table 7 corresponding thereto are updated.

図11は、サーバグループのサーバ200{a,b,c}における負荷情報の送信処理の詳細を示すフロー図である。本処理は、前記図9における、負荷変動をチェックして他サーバ200へ負荷情報812の電文を送信する処理(S1011等)に対応している。   FIG. 11 is a flowchart showing details of the load information transmission process in the server 200 {a, b, c} of the server group. This process corresponds to the process (S1011 or the like) in FIG. 9 for checking the load variation and transmitting the message of the load information 812 to the other server 200.

まず、S1101で、各サーバ200は、負荷測定部215により、自サーバ200の負荷情報としてCPU使用率712を測定している。この負荷の測定方法については各種周知技術があるが、例えば、インターバルタイマーを利用して、一定間隔で、OS212の状態を見て、ウェイト状態か否か(すなわち処理待ちか処理中か)を判定したり、CPU自身から発生されるウェイト信号、HOLD信号など特定の信号を監視することにより、CPU201の使用率を計算することにより行う。   First, in S <b> 1101, each server 200 measures the CPU usage rate 712 as load information of the server 200 by the load measuring unit 215. There are various known techniques for measuring this load. For example, by using an interval timer, the OS 212 is checked at regular intervals to determine whether it is in a wait state (that is, whether it is waiting for processing or being processed). Or by monitoring a specific signal such as a wait signal or a HOLD signal generated from the CPU itself, and calculating the usage rate of the CPU 201.

S1102で、サーバ200は、直前測定時の自サーバ200の動作テーブル7のCPU使用率712と、S1101で現在測定した値とを比較する。比較に基づき、S1103で、前記測定したCPU使用率712の値が、ある程度の範囲内に収まるかそれ以上に変動しているかを、閾値との比較により判定することで負荷変動をチェックする。なお、上記判断の基準となる閾値について設定可能としてもよい。   In S1102, the server 200 compares the CPU usage rate 712 of the operation table 7 of the server 200 at the time of the last measurement with the value currently measured in S1101. Based on the comparison, in step S1103, the load fluctuation is checked by determining whether the measured value of the CPU usage rate 712 falls within a certain range or fluctuates more than a threshold value. It should be noted that it may be possible to set a threshold value that serves as a reference for the determination.

前記閾値内の変動の場合(S1103−YES)、S1105で、該当サーバ200は、定められた時間分をウェイト後、S1101へ移り、再度同様の処理を繰り返す。上記定められた時間の値は、ランダム値や一定値などである。   In the case of the fluctuation within the threshold (S1103-YES), in S1105, the corresponding server 200 waits for a predetermined time, moves to S1101, and repeats the same processing again. The value of the predetermined time is a random value or a constant value.

前記閾値以上の変動がある場合(S1103−NO)、S1104において、該当サーバ200は、前記S1101での測定値を、動作テーブル7におけるCPU使用率712の項目の自サーバ200に対応する列へ設定して更新する。   If there is a variation equal to or greater than the threshold (S1103-NO), in S1104, the corresponding server 200 sets the measured value in S1101 in the column corresponding to the server 200 in the item of CPU usage 712 in the operation table 7. And update.

次に、S1106において、該当サーバ200は、負荷変動を検出したことにより、負荷情報812の電文を作成する。すなわち、該当サーバ200は、自身の動作テーブル7における動作状態711及びCPU使用率712の項目における全サーバの列(701〜703)に対応した値を、負荷情報812の電文のコンテンツ805へセットする。なお、この際、CPU使用率712の値のみ使用するようにしてもよい。   Next, in S1106, the corresponding server 200 creates a telegram of the load information 812 by detecting the load fluctuation. That is, the corresponding server 200 sets values corresponding to the columns (701 to 703) of all servers in the items of the operation state 711 and the CPU usage rate 712 in its operation table 7 to the message content 805 of the load information 812. . At this time, only the value of the CPU usage rate 712 may be used.

次に、S1107において、該当サーバ200は、作成した負荷情報812の電文を、同一サーバグループ内の他サーバ200に対して送信する。   In step S <b> 1107, the corresponding server 200 transmits the created message of the load information 812 to the other server 200 in the same server group.

なお、前記各サーバ200の動作テーブル7の情報に関しては、状態変動や情報の通知の遅れ等により、サーバ200間で違いがあり得る。前記他サーバ200から負荷情報812を受信した際に動作テーブル7へ反映する情報の決定においては、例えば、常に受信した最近値を使用すること、あるいは、最近値に限らず重い負荷を示す情報の方を優先して使用すること等により決定してもよい。また例えば、動作テーブル7で記憶する情報として、ある時点の負荷であることを示すタイムスタンプ情報を付加しておき、本タイムスタンプと比較し、新しい値を利用する形式としてもよい。   In addition, regarding the information in the operation table 7 of each server 200, there may be a difference between the servers 200 due to a state change, a delay in notification of information, and the like. In determining the information to be reflected in the operation table 7 when the load information 812 is received from the other server 200, for example, the received latest value is always used, or information indicating a heavy load is not limited to the recent value. It may be determined by using the method with priority. Further, for example, as information stored in the operation table 7, time stamp information indicating a load at a certain time may be added, and a new value may be used in comparison with the present time stamp.

また、サーバ200間での負荷情報812の授受に関しては、あるサーバ200からサーバグループに対して自サーバ200のみの情報を通知するようにしてもよい。本例では、動作テーブル7における自サーバ200を含むすべてのサーバ200についての負荷情報を他サーバ200へ通知することで、サーバ200間の情報の違いを少なくさせるようにしている。   In addition, regarding the exchange of the load information 812 between the servers 200, information about only the own server 200 may be notified from a certain server 200 to the server group. In this example, the load information about all the servers 200 including the own server 200 in the operation table 7 is notified to the other servers 200, thereby reducing the difference in information between the servers 200.

図12は、サーバグループのサーバ200{a,b,c}における各種コマンド801の電文の受信処理についての詳細を示すフロー図である。   FIG. 12 is a flowchart showing details of the message reception processing of various commands 801 in the server group server 200 {a, b, c}.

まず、S1201において、電文を受信したサーバ200は、受信した電文のデスティネーションIPアドレス803がグループIPアドレス614であるかどうかを比較判定する。当該アドレスが一致しない場合は終了する。   First, in step S1201, the server 200 that has received the message compares and determines whether or not the destination IP address 803 of the received message is the group IP address 614. If the addresses do not match, the process ends.

前記アドレスが一致する場合は、次に、S1202で、該当サーバ200は、電文のコマンド801が負荷情報812かどうかを判定する。負荷情報812の場合、S1211で、該当サーバ200は、該当電文のコンテンツ805における全サーバについての負荷情報を、動作テーブル7の該当行(711,712)の自サーバ以外の列(701〜703)へセットする。   If the addresses match, in step S1202, the server 200 determines whether the message command 801 is load information 812. In the case of the load information 812, in S1211, the corresponding server 200 displays the load information for all servers in the content 805 of the corresponding message in columns (701 to 703) other than its own server in the corresponding row (711, 712) of the operation table 7. Set to.

次に、S1203において、該当サーバ200は、コマンド801が起動完了811かどうか判定する。起動完了811の場合、S1221で、該当サーバ200は、該当電文のコンテンツ805における対象サーバの動作状態の情報を、自身の動作テーブル7における動作状態711の対象列へセットする。すなわち電文送信元のサーバ200の動作状態を表わす情報(前記“ON”等)がセットされる。   In step S <b> 1203, the server 200 determines whether the command 801 is a start completion 811. In the case of activation completion 811, the server 200 sets the information on the operation state of the target server in the content 805 of the corresponding message in the target column of the operation state 711 in its own operation table 7 in S1221. In other words, information (such as “ON”) indicating the operating state of the server 200 of the message transmission source is set.

次に、S1204で、該当サーバ200は、コマンド801が処理要求813かどうか判定する。処理要求813の場合、S1300で、図13で詳細に示すような、処理要求813の電文についての受付処理を行う。そしてこの受付処理後に終了する。   In step S1204, the server 200 determines whether the command 801 is a processing request 813. In the case of the processing request 813, in S1300, the reception processing for the message of the processing request 813 as shown in detail in FIG. 13 is performed. Then, the process ends after this acceptance process.

次に、S1205で、該当サーバ200は、コマンド801がDBアクセス結果817かどうか判定する。DBアクセス結果817の場合、S1231で、該当サーバ200は、DBアクセス結果817の電文のコンテンツ805を、処理結果815の電文のコンテンツ805にセットし、そして、S1232で、処理結果815の電文をPC1へ送信する。受信した電文のコマンド801が以上に該当しない場合、何もしないで当該電文を破棄して終了する。   Next, in step S1205, the corresponding server 200 determines whether the command 801 is the DB access result 817. In the case of the DB access result 817, in S1231, the corresponding server 200 sets the message content 805 of the DB access result 817 to the message content 805 of the process result 815, and in S1232, the message of the process result 815 is set to PC1. Send to. If the received message command 801 does not correspond to the above, nothing is done and the message is discarded and the process ends.

図13は、サーバグループのサーバ200{a,b,c}における処理要求813についての受付処理(S1300)の詳細を示すフロー図である。S1303〜S1305の処理により、いずれかのサーバ200で処理を受け付けるように制御する例である。   FIG. 13 is a flowchart showing details of the reception process (S1300) for the process request 813 in the server 200 {a, b, c} of the server group. In this example, control is performed so that one of the servers 200 accepts the process through the processes of S1303 to S1305.

まず、S1301において、グループIPアドレス614を送信先として用いた処理要求813の電文を受信した各サーバ200は、動作テーブル7の内容を読み出す。次に、S1302で、該当サーバ200は、動作テーブル7におけるCPU使用率712の自サーバの列と他サーバの列との値を比較する。次に、S1303で、該当サーバ200は、自サーバの列のCPU使用率712がサーバグループ内で最小かどうかを判定する。   First, in S <b> 1301, each server 200 that has received the message of the processing request 813 using the group IP address 614 as a transmission destination reads the contents of the operation table 7. In step S <b> 1302, the corresponding server 200 compares the value of the CPU usage rate 712 in the operation table 7 with the value of the own server column and the other server column. Next, in S1303, the corresponding server 200 determines whether or not the CPU usage rate 712 of the row of the server itself is the smallest in the server group.

前記S1303で、該当サーバ200は、自サーバのCPU使用率712が最小でない場合(S1303−NO)、S1310に移る。   In S1303, if the CPU usage rate 712 of the server itself is not the minimum (S1303-NO), the server 200 moves to S1310.

該当サーバ200は、前記自サーバのCPU使用率712が最小の場合(S1303−YES)、S1304で、動作テーブル7で、本最小値において他サーバの対応列のCPU使用率712と一致するものが無いかを判定する。すなわちサーバグループ内の複数のサーバ200で負荷が同じ最小値となっている場合を検出する。   When the CPU usage rate 712 of the server itself is minimum (S1303-YES), the corresponding server 200 matches the CPU usage rate 712 of the corresponding column of the other server in the operation table 7 in S1304 at this minimum value. Judge whether there is. That is, the case where the load is the same minimum value in the plurality of servers 200 in the server group is detected.

前記最小値が一致する複数のサーバ200がある場合は、あらかじめ設定されている所定の規則に従って、その中で処理を受け付けるサーバ200を選択して自サーバで処理を受け付けるかどうかを決める。この際の規則の例として、S1305で、該当サーバ200は、設定テーブル6における各サーバ200のMACアドレス615の情報を参照して、自サーバのMACアドレス615の値が最小かどうかを判定し、その値が最小のサーバ200で処理を受け付けるように決定する。   When there are a plurality of servers 200 having the same minimum value, the server 200 that accepts the process is selected according to a predetermined rule that is set in advance, and it is determined whether or not the server accepts the process. As an example of the rule at this time, in S1305, the corresponding server 200 refers to the information of the MAC address 615 of each server 200 in the setting table 6 to determine whether the value of the MAC address 615 of the own server is the minimum, The server 200 having the smallest value is determined to accept the process.

上記処理を通じて、CPU使用率712が最小の1つのサーバ200(S1304−NO)、あるいは、CPU使用率712が最小の複数のサーバ200がある場合はそのうちMACアドレス615が最小のサーバ200(S1305−YES)が、処理を受け付ける義務を負うことになる。   Through the above processing, if there is one server 200 with the lowest CPU usage rate 712 (S1304-NO) or a plurality of servers 200 with the lowest CPU usage rate 712, the server 200 with the smallest MAC address 615 (S1305-S1305- YES) will be obliged to accept the process.

前記S1303−NOの場合、または、前記S1305で、自サーバ200のMACアドレス615の値が最小値でなく前記規則により処理を受け付ける条件が成立しない場合(S1305−NO)、次にS1310で、該当サーバ200は、ランダムな時間分ウェイトして、S1311で、他サーバ200が処理を受け付けたかどうかを、前記処理受付814の電文を傍受監視することで判断する。該当サーバ200は、前記処理受付814の電文を傍受した場合(S1311−YES)、終了する。前記処理受付814の電文を傍受しなかった場合(S1311−NO)、再度、開始に戻って前記S1301からやり直す。   In the case of S1303-NO, or in S1305, when the value of the MAC address 615 of the server 200 is not the minimum value and the condition for accepting the processing according to the rule is not satisfied (S1305-NO), then in S1310 The server 200 waits for a random time, and determines whether or not the other server 200 has accepted the process by intercepting and monitoring the message of the process acceptance 814 in S1311. If the server 200 intercepts the message of the process reception 814 (S1311-YES), the server 200 ends. When the message of the process reception 814 is not intercepted (S1311-NO), it returns to the start again and starts again from S1301.

前記S1311−NOの場合には、再度、開始に戻って処理の受け付けの判断に係わる再試行を行う。これは、各サーバ200間の状態に関して、負荷情報の報告の遅れや漏れ等により同時刻で同じ値が保証される訳ではないことを考慮して、サーバグループの全サーバ200が処理を受け付けずデッドロックにより誰も応答しない場合を防止するための措置である。   In the case of S1311-NO, the process returns to the start again and a retry relating to the determination of accepting the process is performed. This is because all the servers 200 in the server group do not accept processing in consideration of the fact that the same value is not guaranteed at the same time due to delays or omissions in the reporting of load information regarding the state between the servers 200. This is a measure to prevent the case where nobody responds due to deadlock.

前記S1303の処理を中心にして、PC1に対し処理受付814の電文を応答する条件が整った場合、該当サーバ200は、複数のサーバ200からの処理受付814の応答が同時に発生しないように、Ethernet(登録商標)における衝突防止と同様の考え方により、S1306で、ランダムな時間分ウェイトする。そしてS1307で、該当サーバ200は、そのウェイトの間、サーバグループの他サーバ200からの処理受付814の電文を傍受監視することにより、他サーバ200が処理受付814の応答をPC1に対して行っていないことを確認する。該当サーバ200は、前記電文を傍受したことにより他サーバ200が応答していることを確認した場合(S1307−YES)、処理を受け付けせずに終了する。   When the condition for responding to the message of the process reception 814 to the PC 1 is prepared with the process of S1303 as the center, the corresponding server 200 prevents the response of the process reception 814 from the plurality of servers 200 from occurring simultaneously. Based on the same idea as the collision prevention in (Registered Trademark), in S1306, weighting is performed for a random time. In step S1307, the server 200 intercepts the message of the process reception 814 from the other server 200 in the server group during the wait period, so that the other server 200 sends a response of the process reception 814 to the PC 1. Make sure there is no. When the server 200 confirms that the other server 200 is responding by intercepting the electronic message (S1307—YES), the server 200 ends without accepting the process.

該当サーバ200は、前記電文を傍受しなかったことにより他サーバ200が応答していないことを確認した場合(S1307−NO)、次に、S1308で、処理受付814の電文を作成する。ここで、該当サーバ200は、処理受付814の電文に、送信元として自サーバの固有IPアドレス612をセットし、また、処理の識別のためのセッション番号804として例えば“aa”をセットする。そして、S1309で、該当サーバ200は、作成した処理受付814の電文を、PC1に対して送信する。   When the server 200 confirms that the other server 200 is not responding because it has not intercepted the message (S1307—NO), the server 200 creates a message for the process reception 814 in S1308. Here, the server 200 sets the unique IP address 612 of its own server as the transmission source in the message of the process reception 814, and sets “aa” as the session number 804 for identifying the process. In step S <b> 1309, the corresponding server 200 transmits the created message of the process reception 814 to the PC 1.

S1309の後、PC1において処理受付814の電文が受信され、受付応答818の電文が該当処理を受け付けたサーバ200へと返される。そして該当サーバ200で処理が実行されることになる。   After S1309, the message of the process reception 814 is received by the PC 1, and the message of the reception response 818 is returned to the server 200 that has received the corresponding process. Then, the process is executed by the corresponding server 200.

前記S1303等の処理において、サーバ200の負荷状態を最小値により判断する以外にも、負荷情報がある程度の閾値以下に収まるものを選択すること等により判断してもよい。また、前記S1305で用いる規則は、MACアドレス615以外でも、各サーバ200に対し定められた値などを用いることもできる。また、前記S1306やS1310におけるウェイト時間については、例えばMACアドレス615等をもとに定められる、各サーバ200で異なる固定値などとしてもよい。このようなサーバ200での処理受付の決定に係わる所定の判断基準や規則に応じて、1つのサーバ200で処理受付が行われるように制御している。また、前記判断基準や各サーバ200で持つ情報の違い等によって、複数のサーバ200で処理受付が行われる場合も発生し得る。この場合、そのうち1つのサーバ200に対するPC1からの受付応答818の授受や、S1310及びS1311におけるウェイト及び電文の傍受監視による処理受付に係わる判断の再試行などの仕組みにより、1つのサーバ200で実際に処理を行わせるように制御している。   In the processing of S1303 and the like, in addition to determining the load state of the server 200 based on the minimum value, it may be determined by selecting a load information that falls within a certain threshold or less. Further, as the rule used in S1305, a value determined for each server 200 can be used other than the MAC address 615. The wait time in S1306 and S1310 may be a fixed value that is determined based on, for example, the MAC address 615 and is different for each server 200. Control is performed so that one server 200 accepts processing in accordance with predetermined determination criteria and rules related to the decision of acceptance of processing in such a server 200. In addition, depending on the determination criteria, the information held by each server 200, and the like, processing may be performed by a plurality of servers 200. In this case, one server 200 can actually receive the response 818 from the PC 1 to one of the servers 200 and retry the judgment regarding the process acceptance by monitoring the waits and messages in S1310 and S1311. Control is performed so that processing is performed.

以上説明したように、本実施の形態によれば、全体を管理するあるいは処理要求を一次受け付けするような装置を必要とせず、また外付けの負荷分散装置のような特殊な装置を必要とせず、サーバグループ内のサーバ200における処理の負荷分散・均衡化を図ることができる。また、サーバ200やPC1の数の増減に伴う負荷変動に対応して、サーバグループの全サーバ200が自立的に負荷を調整していき、常に、全サーバ200でできる限り均等に負荷を持つようにできる。   As described above, according to the present embodiment, there is no need for a device that manages the whole or that primarily accepts a processing request, and no special device such as an external load balancer is required. Thus, it is possible to achieve load balancing and balancing of processing in the servers 200 in the server group. Further, all the servers 200 in the server group autonomously adjust the load in response to the load fluctuation accompanying the increase / decrease in the number of servers 200 and PCs 1 so that all the servers 200 always have the load as evenly as possible. Can be.

以上の他に、本実施の形態では、サーバ200の負荷情報としてCPU使用率712を用いたが、その他、サーバ200でPC1から受け付けた処理数や、いわゆるトラフィック量(転送レート等)や、実行ジョブ(サーバ200での処理を分割した単位)数などの他のパラメータを使用してもよい。   In addition to the above, in this embodiment, the CPU usage rate 712 is used as the load information of the server 200. In addition, the number of processes accepted from the PC 1 by the server 200, the so-called traffic amount (transfer rate, etc.), and the execution Other parameters such as the number of jobs (units obtained by dividing the processing in the server 200) may be used.

また、本例では、負荷分散対象となるサーバ200に関して、同様の性能のブレードサーバ方式を対象にした。これに限らず、本発明の他の実施の形態では、前記ブレードサーバ方式ではなく、スタンドアロン型の複数のサーバ装置や、それぞれ異なる性能の複数のサーバを用いてシステムが構成される。スタンドアロン型の複数のサーバ装置でシステムを構成する場合、前記図1におけるサーバ集合筐体2を除いた同様の構成となる。また上記異なる性能の複数のサーバ、例えばCPU201の処理速度[Hz]が異なる複数のサーバで構成する場合では、負荷情報として前記CPU使用率712などを使用する場合、低い性能のサーバには少ない仕事量を、高い性能のサーバには多くの仕事量を課すような負荷分散の均衡を保たせる。   Further, in this example, the blade server system having the same performance is targeted for the server 200 that is the load distribution target. In addition to this, in another embodiment of the present invention, the system is configured using a plurality of stand-alone server devices and a plurality of servers having different performances instead of the blade server system. When the system is configured by a plurality of stand-alone server devices, the configuration is the same except for the server collective housing 2 in FIG. In the case of a plurality of servers having different performances, for example, a plurality of servers having different processing speeds [Hz] of the CPU 201, when the CPU usage rate 712 or the like is used as load information, less work is required for a low performance server. Balance the load balancing, which imposes a lot of work on high performance servers.

また、処理を受け付けたサーバ200の識別に関して、固有IPアドレス612を用いる以外には、グループIPアドレス614、セッション番号804、及びサーバ200のID(固有IPアドレス612等)の組み合わせを用いる等としてもよい。   Further, regarding the identification of the server 200 that has accepted the process, in addition to using the unique IP address 612, a combination of the group IP address 614, the session number 804, and the ID of the server 200 (such as the unique IP address 612) may be used. Good.

また、本システム内に1つのサーバグループのみ設定される場合を示したが、例えば、サーバ集合筐体2においてサーバ200の組み合わせにより複数のサーバグループを設定して、各サーバグループにおいて同様に負荷分散することも可能である。   Moreover, although the case where only one server group is set in the present system has been shown, for example, a plurality of server groups are set by combining the servers 200 in the server collective housing 2, and load distribution is similarly performed in each server group It is also possible to do.

また、本例では、各サーバ200のネットワーク4に対する接続・配線の形式について、マルチドロップ型、すなわち各サーバ200が独立してLAN制御部203によりネットワーク4に対し接続される形式とした。これに限らず、各サーバ200が、ネットワーク4に対し、スイッチやハブやルータやゲートウェイ等の、データ転送の役割を持つ中継部を介在して接続・配線される形式も可能である。すなわち各サーバ200が中継部に接続され、中継部がネットワーク4に対し接続される形式である。例えば、サーバ集合筐体2内にこのような中継部を設けた構成も可能である。この場合でも、各サーバ200間、及び、各サーバ200とPC1との間の通信の電文において、前記グループIPアドレス614が用いられた場合には、前記中継部でその電文が同一サーバグループのサーバ200に対して転送されるように、転送に関する設定を行っておく。これにより同様に負荷分散が実現可能である。   In this example, the connection / wiring format of each server 200 to the network 4 is a multi-drop type, that is, a format in which each server 200 is independently connected to the network 4 by the LAN control unit 203. However, the present invention is not limited to this, and each server 200 may be connected and wired to the network 4 via a relay unit having a data transfer role such as a switch, hub, router, or gateway. That is, each server 200 is connected to the relay unit, and the relay unit is connected to the network 4. For example, a configuration in which such a relay unit is provided in the server collective housing 2 is also possible. Even in this case, when the group IP address 614 is used in a communication message between the servers 200 and between each server 200 and the PC 1, the message in the same server group is transmitted by the relay unit. The settings relating to the transfer are performed so that the data is transferred to 200. As a result, load distribution can be similarly realized.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、サーバやサーバを含んで構成される情報処理システムなどに利用可能である。   The present invention can be used for a server or an information processing system including the server.

本発明の一実施の形態におけるサーバ装置を含んで構成される情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system comprised including the server apparatus in one embodiment of this invention. 本発明の一実施の形態のサーバ装置に対して通信接続されるクライアントであるPCのハードウェアブロック構成を示す図である。It is a figure which shows the hardware block structure of PC which is a client connected by communication with the server apparatus of one embodiment of this invention. 本発明の一実施の形態のサーバ装置に対して通信接続されるクライアントであるPCのソフトウェアブロック構成を示す図である。It is a figure which shows the software block structure of PC which is a client connected by communication with the server apparatus of one embodiment of this invention. 本発明の一実施の形態におけるサーバ装置のハードウェアブロック構成を示す図である。It is a figure which shows the hardware block structure of the server apparatus in one embodiment of this invention. 本発明の一実施の形態におけるサーバ装置のソフトウェアブロック構成を示す図である。It is a figure which shows the software block structure of the server apparatus in one embodiment of this invention. 本発明の一実施の形態におけるサーバ装置で保持される設定テーブルの形式の一実施例を示す図である。It is a figure which shows one Example of the format of the setting table hold | maintained with the server apparatus in one embodiment of this invention. 本発明の一実施の形態におけるサーバ装置で保持される動作テーブルの形式の一実施例を示す図である。It is a figure which shows one Example of the format of the operation | movement table hold | maintained with the server apparatus in one embodiment of this invention. 本発明の一実施の形態におけるサーバ装置を含んで構成される情報処理システムにおいて、ネットワークにおけるLANインターフェース上で使用される電文の形式の一実施例を示す図である。It is a figure which shows one Example of the format of the message | telegram used on the LAN interface in a network in the information processing system comprised including the server apparatus in one embodiment of this invention. 本発明の一実施の形態におけるサーバ装置を含んで構成される情報処理システムにおいて、PC、同一サーバグループのサーバ、及び、DBサーバの間での一連の処理及び制御のシーケンスの例を示す図である。In the information processing system comprised including the server apparatus in one embodiment of this invention, it is a figure which shows the example of a sequence of a series of processes and control between PC, the server of the same server group, and DB server. is there. 本発明の一実施の形態のサーバ装置における、パワーオン動作時の処理の詳細を示すフロー図である。It is a flowchart which shows the detail of the process at the time of power-on operation | movement in the server apparatus of one embodiment of this invention. 本発明の一実施の形態のサーバ装置における、負荷情報の送信処理の詳細を示すフロー図である。It is a flowchart which shows the detail of the transmission process of load information in the server apparatus of one embodiment of this invention. 本発明の一実施の形態のサーバ装置における、各種コマンドの電文の受信処理についての詳細を示すフロー図である。パワーオン動作時の処理の詳細を示すフロー図である。It is a flowchart which shows the detail about the reception process of the message | telegram of various commands in the server apparatus of one embodiment of this invention. It is a flowchart which shows the detail of the process at the time of power-on operation. 本発明の一実施の形態のサーバ装置における、処理要求についての受付処理の詳細を示すフロー図である。It is a flowchart which shows the detail of the reception process regarding a process request in the server apparatus of one embodiment of this invention.

符号の説明Explanation of symbols

1…PC、2…サーバ集合筐体、3…DBサーバ、4…ネットワーク、6…設定テーブル、7…動作テーブル、101,201…CPU、102,202…メモリ、103…LANボード、104,204…HDD、105…入力制御ボード、106…出力制御ボード、111,211…アプリケーション部、112,212…OS、113,213…通信制御部、114…入力制御部、115…出力制御部、200…サーバ、203…LAN制御部、205…SVP制御部、214…監視制御部、215…負荷測定部。   DESCRIPTION OF SYMBOLS 1 ... PC, 2 ... Server collective housing, 3 ... DB server, 4 ... Network, 6 ... Setting table, 7 ... Operation table, 101, 201 ... CPU, 102, 202 ... Memory, 103 ... LAN board, 104, 204 ... HDD, 105 ... Input control board, 106 ... Output control board, 111, 211 ... Application part, 112,212 ... OS, 113,213 ... Communication control part, 114 ... Input control part, 115 ... Output control part, 200 ... Server 203 ... LAN control unit 205 ... SVP control unit 214 ... Monitoring control unit 215 ... Load measurement unit

Claims (6)

複数のサーバ装置を含んで構成されるグループを定義したグループ定義情報を保有し、
前記グループ定義情報は、前記グループの各サーバ装置の固有アドレスと、前記グループの全サーバ装置での共通アドレスとを持ち、
自サーバ装置での処理の負荷を測定する手段を有し、
前記グループにおける自サーバ装置の負荷情報と他サーバ装置の負荷情報とを保有し、
前記自サーバ装置での処理の負荷の変動に応じて、前記自サーバ装置の負荷情報を前記グループの他サーバ装置に送信する処理と、
前記グループの他サーバ装置から負荷情報を受信した場合に、その受信情報をもとに前記保有している前記グループの他サーバ装置の負荷情報を更新する処理とを行うことを特徴とするサーバ装置。
Holds group definition information that defines a group that includes multiple server devices.
The group definition information has a unique address of each server device in the group and a common address in all server devices of the group,
A means for measuring the processing load on the server device;
Holding load information of the own server device and load information of other server devices in the group,
A process of transmitting the load information of the own server device to another server device of the group in accordance with a change in the processing load of the own server device;
When load information is received from another server device of the group, the server device performs processing for updating load information of the other server device of the group that is held based on the received information .
請求項1記載のサーバ装置において、
クライアントから前記共通アドレスを送信先として用いた処理要求の電文を受信し、前記グループにおける自サーバ装置の負荷情報と他サーバ装置の負荷情報とを参照して、前記自サーバ装置の負荷情報が最小である場合は、前記処理要求に対しての処理受付を行うことを特徴とするサーバ装置。
The server device according to claim 1,
The processing request message using the common address as the transmission destination is received from the client, and the load information of the own server device is minimized by referring to the load information of the own server device and the load information of the other server device in the group. If so, a server apparatus that accepts processing in response to the processing request.
請求項1記載のサーバ装置において、
前記グループにおける自サーバ装置の動作状態を示す情報と他サーバ装置の動作状態を示す情報とを保有し、
パワーオンまたは起動に応じて、前記グループ定義情報を有している場合は、自サーバ装置が前記グループに対して負荷分散対象として追加されることを示す情報を、前記グループの他サーバ装置に送信する処理と、
前記グループの他サーバ装置から前記追加されることを示す情報を受信した場合に、その受信情報をもとに前記保有している前記グループの他サーバ装置の動作状態を示す情報を更新する処理とを行うことを特徴とするサーバ装置。
The server device according to claim 1,
Holding information indicating the operating state of the server device in the group and information indicating the operating state of the other server device,
In response to power-on or activation, if the group definition information is included, information indicating that the own server device is added as a load distribution target to the group is transmitted to the other server device of the group Processing to
A process of updating the information indicating the operating state of the other server device of the group that is held based on the received information when the information indicating the addition is received from the other server device of the group; The server apparatus characterized by performing.
請求項2記載のサーバ装置において、
前記処理要求に対しての処理受付を行う場合、前記クライアントに対して、前記自サーバの固有アドレスを送信元として用いた処理受付の電文を送信し、それに対して前記クライアントから受付応答の電文を受信した場合に、前記処理受付に対応した処理を継続して実行することを特徴とするサーバ装置。
The server device according to claim 2,
When accepting a process in response to the process request, a process acceptance message using the unique address of the server as a transmission source is transmitted to the client, and a receipt response message is sent from the client to the client. A server device that, when received, continuously executes a process corresponding to the process reception.
請求項2記載のサーバ装置において、
前記処理要求の電文を受信した際に、前記自サーバ装置の負荷情報が最小でない場合は、定められた時間の間、前記グループの他サーバ装置から前記クライアントに対して送信される処理受付の電文を傍受監視して、その電文を傍受しなかった場合は前記処理受付に係わる判断を再試行することを特徴とするサーバ装置。
The server device according to claim 2,
When receiving the processing request message, if the load information of the local server device is not minimum, the processing acceptance message transmitted from the other server device of the group to the client for a predetermined time. A server device characterized in that when the message is intercepted and the electronic message is not intercepted, the determination regarding the reception of the process is retried.
請求項2記載のサーバ装置において、
前記処理要求を受信した際に、前記グループの自サーバ装置の負荷情報と他サーバ装置の負荷情報とで同じものがある場合は、前記グループ定義情報で持つ各サーバ装置に定められた重複しない固有値を用いて比較して、その結果により、自サーバ装置で前記処理受付を行うことを特徴とするサーバ装置。
The server device according to claim 2,
When the load information of the local server device of the group and the load information of the other server device are the same when the processing request is received, the unique value determined for each server device included in the group definition information is unique. A server apparatus characterized in that the server server apparatus accepts the process based on the result of comparison.
JP2005075565A 2005-03-16 2005-03-16 Server device Pending JP2006260059A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005075565A JP2006260059A (en) 2005-03-16 2005-03-16 Server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005075565A JP2006260059A (en) 2005-03-16 2005-03-16 Server device

Publications (1)

Publication Number Publication Date
JP2006260059A true JP2006260059A (en) 2006-09-28

Family

ID=37099254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005075565A Pending JP2006260059A (en) 2005-03-16 2005-03-16 Server device

Country Status (1)

Country Link
JP (1) JP2006260059A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113172A1 (en) * 2008-03-13 2009-09-17 富士通株式会社 Job assigning device, and control program and control method for job assigning device
JP2009258777A (en) * 2008-04-11 2009-11-05 Toshiba Corp Medical image management server and medical image management system
JP2010152783A (en) * 2008-12-26 2010-07-08 Nec Corp Load distribution access system, object holding device, client device, and method and program therefor in distributed file system
JP2011191907A (en) * 2010-03-12 2011-09-29 Hitachi Information & Control Solutions Ltd Data distribution system, load balancing method and storage server
CN103188546A (en) * 2011-12-27 2013-07-03 索尼电脑娱乐公司 Image provider server, information processing device, and image processing system and method
JP2016051446A (en) * 2014-09-02 2016-04-11 株式会社日立製作所 Calculator system, calculator, and load dispersing method and program
JP2019530279A (en) * 2016-08-19 2019-10-17 アヴァシュア, エルエルシー Video load balancing system for peer-to-peer server networks

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113172A1 (en) * 2008-03-13 2009-09-17 富士通株式会社 Job assigning device, and control program and control method for job assigning device
JP5218548B2 (en) * 2008-03-13 2013-06-26 富士通株式会社 Job allocation apparatus, control program and control method for job allocation apparatus
JP2009258777A (en) * 2008-04-11 2009-11-05 Toshiba Corp Medical image management server and medical image management system
JP2010152783A (en) * 2008-12-26 2010-07-08 Nec Corp Load distribution access system, object holding device, client device, and method and program therefor in distributed file system
JP2011191907A (en) * 2010-03-12 2011-09-29 Hitachi Information & Control Solutions Ltd Data distribution system, load balancing method and storage server
JP2013134762A (en) * 2011-12-27 2013-07-08 Sony Computer Entertainment Inc Image processing system, image providing server, information processor, and image processing method
CN103188546A (en) * 2011-12-27 2013-07-03 索尼电脑娱乐公司 Image provider server, information processing device, and image processing system and method
US8933936B2 (en) 2011-12-27 2015-01-13 Sony Corporation Image processing system, image provider server, information processing device, and image processing method, adapted to change in resolution
JP2016051446A (en) * 2014-09-02 2016-04-11 株式会社日立製作所 Calculator system, calculator, and load dispersing method and program
JP2019530279A (en) * 2016-08-19 2019-10-17 アヴァシュア, エルエルシー Video load balancing system for peer-to-peer server networks
JP2021153319A (en) * 2016-08-19 2021-09-30 アヴァシュア, エルエルシー Video load balancing system for peer-to-peer server network
JP7026103B2 (en) 2016-08-19 2022-02-25 アヴァシュア, エルエルシー Video load balancing system for peer-to-peer server networks
JP7332653B2 (en) 2016-08-19 2023-08-23 アヴァシュア, エルエルシー Video load balancing system for peer-to-peer server networks

Similar Documents

Publication Publication Date Title
US11363097B2 (en) Method and system for dynamically rebalancing client sessions within a cluster of servers connected to a network
JP2006301749A (en) Server device
US7558859B2 (en) Peer-to-peer auction based data distribution
US7707443B2 (en) Rack-level power management of computer systems
CN101102288B (en) A method and system for realizing large-scale instant message
US8191068B2 (en) Resource management system, resource information providing method and program
US8239868B2 (en) Computer system, servers constituting the same, and job execution control method and program
US7962635B2 (en) Systems and methods for single session management in load balanced application server clusters
JP2006260059A (en) Server device
KR20140008363A (en) Non-intrusive power management
US20200042608A1 (en) Distributed file system load balancing based on available node capacity
JP2011090639A (en) Information processing system and management method for storage monitoring server
TWI551081B (en) Remote server managing system and remote server managing method
JP2008152591A (en) Method for allocating information processing apparatus, and information processing system and management server
US9485133B2 (en) Platform independent management controller
CN110300188B (en) Data transmission system, method and device
WO2020000760A1 (en) Server management method and device, computer apparatus, and storage medium
JP2006301769A (en) Server device
US20040015571A1 (en) Dynamic determination of network configuration
KR101080733B1 (en) Load disperse method is self-regulating for useing load of disperse server and load of disperse server for dynamic formation is virtual machine rule groundwork
JP2001202318A (en) Data distribution system
JP2002259354A (en) Network system and load distributing method
US6856943B2 (en) User perception tool
JP5524606B2 (en) Communication method between modules in virtual environment, information processing apparatus and control method thereof, client apparatus, information processing system, and program
CN116723198A (en) Multi-node server host control method, device, equipment and storage medium

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070119