JP2007323499A - System-distributed processor and system-distributed processing system - Google Patents
System-distributed processor and system-distributed processing system Download PDFInfo
- Publication number
- JP2007323499A JP2007323499A JP2006154800A JP2006154800A JP2007323499A JP 2007323499 A JP2007323499 A JP 2007323499A JP 2006154800 A JP2006154800 A JP 2006154800A JP 2006154800 A JP2006154800 A JP 2006154800A JP 2007323499 A JP2007323499 A JP 2007323499A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- load
- systems
- distributed processing
- program
- 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
Links
Images
Abstract
Description
この発明は、複数のシステムが同時に稼動しているネットワークの負荷分散を行うシステム分散処理装置およびシステム分散処理システムに関するものである。 The present invention relates to a system distributed processing apparatus and a system distributed processing system that perform load distribution in a network in which a plurality of systems are operating simultaneously.
従来、クライアント端末とサーバ装置とが、インタネットなどのネットワークを介して接続されたシステムにおいて、クライアント端末からあるサーバ装置へのアクセスが集中した場合に、そのサーバ装置の負荷を軽減するための負荷分散方法が提案されている。このような技術として、たとえば、複数のWebサーバとデータベースサーバとが専用回線を介して接続されるネットワークと、クライアント端末が接続されるインタネットなどのネットワークとが、ファイアウォールとルータを備える割振部によって接続された負荷分散システムで、ルータはWebサーバのそれぞれに対して予め決定された優先順位テーブルを記憶し、各Webサーバが稼働中か停止中かを把握して、クライアント端末からのリクエストを、稼働中のWebサーバの中で優先順位テーブル中の優先順位が最も高いWebサーバに割り振る負荷分散方法が提案されている(たとえば、特許文献1参照)。 Conventionally, in a system in which a client terminal and a server device are connected via a network such as the Internet, when access from a client terminal to a server device is concentrated, load balancing is performed to reduce the load on the server device. A method has been proposed. As such a technology, for example, a network in which a plurality of Web servers and database servers are connected via a dedicated line and a network such as the Internet to which a client terminal is connected are connected by an allocating unit including a firewall and a router. In this load balancing system, the router stores a predetermined priority table for each Web server, grasps whether each Web server is operating or stopped, and sends requests from client terminals There has been proposed a load distribution method for allocating to a Web server having the highest priority in the priority table among the Web servers (for example, see Patent Document 1).
従来の負荷分散は、上記特許文献1に示したように負荷分散処理を実施したり、予め決められた順序にしたがって処理を振り分けたり、あるいは、ある条件の下で処理を振り分けたり、という処理を単一のシステム内の同じアプリケーションの間で実施していた。この場合、システム利用のピーク時において、システムを構成するそれぞれのサーバ装置の処理が飽和すると、それ以上処理を受け付けることができず、実質的にシステムを利用することができない状態となるという問題点があった。また、システム利用のピーク時を想定したシステム構成とすると、定常状態では、CPUやメモリなどのコンピュータリソースが十分に活用されない状態となり、設備の利用効率の低下につながり、投資が十分に活用されなくなるという問題点もあった。 Conventional load distribution is a process of performing load distribution processing as shown in Patent Document 1, distributing processes according to a predetermined order, or distributing processes under certain conditions. Had been implemented between the same applications in a single system. In this case, when the processing of each server device constituting the system is saturated at the peak time of system usage, no further processing can be accepted and the system cannot be used. was there. In addition, if the system configuration assumes a peak system usage, computer resources such as CPU and memory will not be fully utilized in the steady state, leading to a decrease in facility utilization efficiency and investment not being fully utilized. There was also a problem.
さらに、特定のアプリケーションや機能を有し、異なる処理を実行する複数のサーバ装置を有するシステムの負荷分散を行うシステムや方法については従来提案されていなかった。具体的には、従来の負荷分散システムは、1つの企業などの組織が管理する1台または複数台のサーバ装置から構成されるシステムに対して適用可能なものであった。また、このような特定のアプリケーションや機能を有し、異なる処理を実行する複数のサーバ装置を有するシステムで負荷分散を行う場合には、従来のように、それぞれのアプリケーションや機能を実行するサーバ装置の負荷分散を行うために、それぞれの処理を行うサーバ装置に対して負荷分散に必要な装置を設置しなければならなかった。つまり、多くのアプリケーションや機能を有するシステム全体の負荷分散を行うためには、莫大なコストがかかってしまうという問題点があった。 Furthermore, a system and method for distributing the load of a system having a plurality of server devices that have specific applications and functions and execute different processes have not been proposed. Specifically, the conventional load distribution system can be applied to a system configured by one or a plurality of server devices managed by an organization such as one company. In addition, when performing load distribution in a system having a plurality of server devices that have such specific applications and functions and execute different processes, the server devices that execute the respective applications and functions as in the past In order to perform the load balancing, it is necessary to install a device necessary for load balancing for the server device that performs each process. That is, there is a problem that enormous costs are required to distribute the load of the entire system having many applications and functions.
この発明は、上記に鑑みてなされたもので、1台または複数台のサーバ装置から構成されるシステムが複数存在するネットワークにおいて、それぞれのシステムの負荷状況に応じて、あるシステムへの過剰な負荷を分散することができるシステム分散処理装置およびシステム分散処理システムを得ることを目的とする。また、複数のアプリケーションや機能を有し、異なる処理を実行する複数のサーバ装置を有するシステムに対して、負荷分散にかけるコストを低く抑えることができるシステム分散処理装置およびシステム分散処理システムを得ることも目的とする。 The present invention has been made in view of the above, and in a network in which a plurality of systems including one or a plurality of server devices exist, an excessive load is applied to a certain system according to the load status of each system. An object of the present invention is to obtain a system distributed processing apparatus and a system distributed processing system that can distribute the system. Further, to obtain a system distributed processing apparatus and a system distributed processing system capable of keeping down the cost of load distribution for a system having a plurality of server apparatuses that have a plurality of applications and functions and execute different processes. Also aimed.
上記目的を達成するため、この発明にかかるシステム分散処理装置は、同一の処理を実行する1または複数のサーバ装置を有する複数のシステムとネットワークを介して接続され、前記システムの負荷を監視して過剰な負荷のかかっているシステムの処理を他のシステムに分散させるシステム分散処理装置であって、管理対象となる前記システムから受信した該システムの処理状況を含むシステム状態情報を前記システムと対応付けたシステム情報として格納するシステム情報記憶手段と、前記システム情報記憶手段中の各システムのシステム情報を用いて所定の基準よりも高い負荷のかかっているシステムが存在するかを判定し、前記所定の基準よりも負荷の高いシステムの処理要求の一部を負荷の低い他のシステムに分担させるように制御する負荷分散制御手段と、を備えることを特徴とする。 In order to achieve the above object, a system distributed processing apparatus according to the present invention is connected to a plurality of systems having one or a plurality of server apparatuses that execute the same processing via a network, and monitors the load on the system. A system distributed processing apparatus that distributes processing of a system under excessive load to other systems, and associates system status information including the processing status of the system received from the system to be managed with the system System information storage means for storing as system information, and system information of each system in the system information storage means is used to determine whether there is a system with a load higher than a predetermined reference, and the predetermined information A part of the processing request of a system with a higher load than the standard is shared with another system with a lower load. A load distribution control means for, characterized in that it comprises a.
この発明によれば、複数のシステムがそれぞれ別のサーバ装置(コンピュータ)で動作している場合に、それぞれのシステムの負荷状況のピークが異なることが予見されることを利用して、負荷の低い方のシステムのコンピュータリソースを負荷の高い方のシステムのサーバ装置で利用可能な構成としたので、負荷のピークに合わせたシステム設備とする必要がなくなり、そのための設備投資を低減することができるという効果を有する。また、管理対象内のサーバ装置が停止した場合でも、他の残りのサーバ装置で処理を引継ぎ、かつ同等の処理性能を維持できるという効果も有する。 According to the present invention, when a plurality of systems are operating on different server apparatuses (computers), the load of each system is predicted to be different, and the load is low. The computer resources of the other system are configured so that they can be used by the server device of the heavier system, eliminating the need for system equipment that matches the peak load and reducing capital investment for that purpose. Has an effect. In addition, even when the server device within the management target is stopped, the other remaining server devices can take over the processing and can maintain the same processing performance.
以下に添付図面を参照して、この発明にかかるシステム分散処理装置およびシステム分散処理システムの好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。 Exemplary embodiments of a system distributed processing apparatus and a system distributed processing system according to the present invention will be explained below in detail with reference to the accompanying drawings. Note that the present invention is not limited to these embodiments.
実施の形態1.
図1は、この発明にかかるシステム分散処理システムの構成を模式的に示すブロック図である。このシステム分散処理システムは、同一種類の処理(機能)を実行する1台または複数台のサーバ装置を有する複数のシステム10−1〜10−N(Nは自然数)と、分散処理の管理対象となるシステムの負荷の分散を行うシステム分散処理装置20と、がインタネットなどのネットワーク30を介して接続される。なお、図示していないが、ネットワークにはクライアント端末も接続され、クライアント端末は、各システム10の有するサーバ装置にアクセスして、必要な情報を入手したり、必要な処理を実行させたりする。なお、ここでは、システム分散処理装置20が管理するシステムはN台(Nは自然数)であるとする。
Embodiment 1 FIG.
FIG. 1 is a block diagram schematically showing the configuration of a system distributed processing system according to the present invention. This system distributed processing system includes a plurality of systems 10-1 to 10-N (N is a natural number) having one or a plurality of server apparatuses that execute the same type of processing (function), and a distributed processing management target. A system
システム10−1〜10−Nは、1台または複数台のサーバ装置からなるが、図では、システム10−1〜10−Nが有するサーバ装置の機能をまとめたものを1台の仮想的なサーバ装置として図示している。このシステム10−1〜10−Nを構成する各サーバ装置は、アプリケーションまたは機能ごとに設けられる情報処理端末であり、Webサーバ、データベースサーバ、メールサーバなどの各種のサーバ装置を例示することができる。この実施の形態1では、各システム10−1〜10−Nは、それぞれ同一の機能を実現するシステムであるとする。このシステム10−1〜10−Nは、システム実行制御部11と、システム機能実行部12と、システム状態通知部13と、を備える。
The systems 10-1 to 10-N include one or a plurality of server devices. In the figure, the functions of the server devices included in the systems 10-1 to 10-N are combined into one virtual device. It is illustrated as a server device. Each server device constituting the systems 10-1 to 10-N is an information processing terminal provided for each application or function, and can exemplify various server devices such as a Web server, a database server, and a mail server. . In the first embodiment, each of the systems 10-1 to 10-N is a system that realizes the same function. The systems 10-1 to 10-N include a system
システム実行制御部11は、システム10を利用するクライアント端末からサーバ装置(システム10)への処理要求やサーバ装置(システム10)からクライアント端末への出力応答を制御する。
The system
システム機能実行部12は、クライアント端末からの自システム宛ての処理要求に対応する機能(処理)を実行する。通常は、システム設計者によって所定の機能を実行するプログラムが導入されており、このプログラムに基づいてクライアント端末からの処理要求を実行する。また、システム機能実行部12は、システム分散処理装置20から負荷が過剰にかかった他のシステム宛ての処理要求を渡されると、その処理要求に対応する機能(処理)も実行する。なお、この実施の形態1では、どのシステム10−1〜10−Nも同一の機能を有するため、他のシステム宛の処理要求をそれぞれのシステム10−1〜10−Nのシステム機能実行部12で実行することができる。
The system
システム状態通知部13は、自システムのシステム処理状況を監視し、たとえば所定の時間ごとに、監視したシステム処理状況をシステム状態情報としてシステム分散処理装置20に通知する。システム状態情報は、システム機能の総アクセス数や単位時間当たりのアクセス数、アクセスに対する応答時間の統計情報、実行プロセス数、CPU(Central Processing Unit)負荷状況(ロードアベレージ)、メモリ使用量、ディスク使用量を含む情報からなる。
The system
システム分散処理装置20は、自装置が管理するシステム10−1〜10−Nの負荷状態を監視し、システム全体および個々のシステムの状態が負荷と判定される所定の条件を満たす場合に、処理を分散させて実行するようにシステムに対して指示する装置であり、システム状態管理部21と、システム情報記憶部22と、負荷分散制御部23と、を備える。
The system
システム状態管理部21は、自装置が管理するシステム10−1〜10−Nから送信されるシステム状態情報を受信し、システム情報記憶部22に格納する。なお、システム状態管理部21は、システム状態情報をシステム情報記憶部22中に過去の情報を消さずに、追加する形で格納していくものとする。
The system
システム情報記憶部22は、自装置が管理するシステム10−1〜10−Nについてのシステム情報と、システム情報に対して負荷分散が必要か否かを判定する負荷判定情報と、格納する。システム情報は、上記システム状態情報に加えて、システムが利用可能な最大の利用者数である最大利用ユーザ数、CPUの性能、CPU搭載数、メモリ容量を含み、システム10ごとに管理される情報である。すなわち、システム情報は、システムを識別するシステム識別情報、システム機能の総アクセス数や単位時間当たりのアクセス数、最大利用ユーザ数、アクセスに対する応答時間の統計情報、実行プロセス数、CPUの性能、CPU搭載数、CPU負荷状況(ロードアベレージ)、メモリ容量、メモリ使用量、ディスク使用量を含む。なお、最大利用ユーザ数やCPU性能、CPU搭載数、メモリ容量の項目には、初期状態としてシステム管理者などによって予め入力されるものである。他の項目には、システム10−1〜10−Nから受信したシステム状態情報の対応する項目の内容が入力される。
The system
また、負荷判定情報は、システム情報の各項目を用いて、負荷の状況を判定するための情報であり、たとえば上記システム情報の項目ごとに設けられる負荷分散が必要と判定される閾値であったり、上記システム情報中の複数の項目がどのような条件のときに負荷分散が必要であるかを判定する判定条件であったりする。たとえば、CPU負荷状況が、負荷分散が必要とされる閾値以上の値を示し、かつ単位時間当たりのアクセス数とメモリ使用量が負荷分散を必要とする閾値以上の場合には負荷分散を行う、というような判定条件が格納される。 The load determination information is information for determining the load status using each item of the system information. For example, the load determination information may be a threshold for determining that load distribution provided for each item of the system information is necessary. It may be a determination condition for determining under what conditions a plurality of items in the system information need load distribution. For example, if the CPU load status indicates a value that is equal to or greater than a threshold that requires load balancing, and the number of accesses per unit time and memory usage is equal to or greater than the threshold that requires load balancing, load balancing is performed. Such a determination condition is stored.
負荷分散制御部23は、システム情報記憶部22に格納されるシステム情報を負荷判定情報と比較して、各システムについて負荷分散が必要か否かを判定し、負荷分散が必要な場合には、その負荷分散が必要なシステムが行う処理の一部を他のシステム(以下、分担先システムという)に実行させるように処理要求の制御を実行する。具体的には、判定の結果、負荷が過剰にかかっているシステムが存在する場合には、そのシステムへの処理要求を分担させる分担先システムを決定し、この分担先システムに処理を分担させるための処理分担要求を送信した後、管理対象下のシステムに送信される処理要求のうち負荷分散が必要なシステム宛ての処理要求の一部を分担先システムに送信する処理を行う。
The load
負荷分散制御部23は、分担先システム決定条件に基づいて分担先システムを決定する。この分担先システム決定条件としては、たとえば負荷判定情報中の閾値から負荷がかかっていないと判定される方向の偏差が最も大きいシステムまたは閾値からの偏差が最も大きいシステムから所定の数のシステムを、負荷分散を行う分担先システムとするものでもよい。他の分担先システム決定条件の例としては、システム情報記憶部22に格納される過去の各システムについてのCPU性能/CPU使用率、メモリ容量/メモリ使用率、CPU搭載数/ロードアベレージなどの負荷情報の統計情報を用いて、そのCPU性能の大きさ、CPU使用率の低さ、ロードアベレージの低さなどによって、負荷に最もゆとりのあるシステムを分担先システムとして決定するものであってもよい。また、システム情報記憶部22に日次/週次/月次/年次などの単位で格納される各システムの負荷のピークを用いて、負荷のピークから最も離れているシステムを分担先システムとして選択するものであってもよい。いずれも分担先システム決定条件の一例であり、他の条件によって分担先システムを決定してもよい。
The load
つぎに、このような構成を有するシステム分散処理システムの負荷分散処理の手順の一例について、図2のフローチャートを参照しながら説明する。まず、システム管理者によって、システム分散処理装置20のシステム情報記憶部22に、当該システム分散処理装置20で管理するシステム10−1〜10−Nのシステム情報を格納する。具体的には、システム情報記憶部22のシステム情報に初期値を設定する(ステップS11)。これは、システム分散処理装置20の負荷分散制御部23が、負荷状況の開始とともに全てのシステムについて負荷が必要となる判定をしてしまうことを防ぐための処理である。その後、負荷分散制御部23は、管理対象のシステムについての負荷分散制御を開始する(ステップS12)。なお、このときシステム分散処理装置20は、管理対象のシステムに対して、負荷分散制御を開始する旨の信号を送信するものとする。
Next, an example of the load distribution processing procedure of the system distributed processing system having such a configuration will be described with reference to the flowchart of FIG. First, the system administrator stores the system information of the systems 10-1 to 10 -N managed by the system distributed
一方、各システム10−1〜10−Nのシステム状態通知部13は、システム分散処理装置20から負荷分散制御を開始する旨の信号を受信すると、各システム10−1〜10−Nの負荷状態の監視を始める(ステップS13)。この間に、クライアント端末から処理要求を受信すると、その処理要求にしたがって、システム実行制御部11は所定の処理を実行する。
On the other hand, when the system
その後、システム状態通知部13は、システム分散処理装置20による負荷分散制御の開始から所定の時間が経過したかを判定する(ステップS14)。所定の時間が経過していない場合(ステップS14でNoの場合)には、所定の時間が経過するまで引き続きシステム10−1〜10−Nの負荷状態を監視する。所定の時間が経過すると(ステップS14でYesの場合)、システム状態通知部13は、監視してきたシステム状態をシステム状態情報としてネットワーク30を介して負荷分散制御部23へと送信する(ステップS15)。
Thereafter, the system
システム分散処理装置20のシステム状態管理部21は、各システム10−1〜10−Nから受信したシステム状態情報にそのシステムのシステム識別情報を付加してシステム情報記憶部22のシステム情報に格納する(ステップS16)。ついで、システム分散処理装置20の負荷分散制御部23は、システム情報記憶部22に記憶された各システム情報について、負荷判定情報を用いて負荷分散が必要か否かを判定する(ステップS17)。具体的には、負荷分散が必要であるとされる負荷判定情報に該当するシステムが存在するかを、各システムについて判定していく。その結果、負荷分散が必要ない場合(ステップS17でNoの場合)にはステップS16へと戻り、負荷分散制御部23は、つぎに各システムから送信されるシステム状態情報の受信を待つ。
The system
一方、ステップS17で負荷分散が必要な場合(ステップS17でYesの場合)には、その負荷分散が必要なシステムを抽出するとともに、負荷が負荷判定条件を満たさないシステムのうち分担先システム決定条件に基づいて最も負荷が低いシステムを分担先システムとして抽出する(ステップS18)。ついで、負荷分散制御部23は、抽出した分担先システムに対して、負荷が過剰にかかっているシステムの処理の分担を実行するように処理分担要求を送信する(ステップS19)。その後、負荷分散制御部23は、管理下にあるシステム10−1〜10−Nへの処理要求を監視し、負荷が過剰にかかっていると判定されたシステムへの処理要求を、分担先システムへと送信する(ステップS20)。
On the other hand, when load distribution is necessary in step S17 (Yes in step S17), a system that requires load distribution is extracted, and a sharing destination system determination condition among the systems in which the load does not satisfy the load determination condition. Based on the above, the system with the lowest load is extracted as the sharing destination system (step S18). Next, the load
システム分散処理装置20から処理分担要求を受信した分担先システムは、負荷が過剰にかかっているシステムの処理要求の受付をシステム実行制御部11を通じて開始する(ステップS21)。ついで、その分担先システムのシステム機能実行部12は、システム分散処理装置20から受信した処理要求に対応する機能を実行し、システム実行制御部11を介して、その結果を処理要求を出したクライアント端末に返送し、分散処理を実行する(ステップS22)。その後、ステップS13へと戻り、上述した処理が繰り返し実行される。なお、ステップS15でシステム状態情報を送信した後、分担先システムとして選択されなかった他のシステムは、通常通りに、自システム宛ての処理要求の処理を実行し(ステップS23)、ステップS13へと戻り上述した処理が繰り返し実行される。以上が、システム分散処理システムにおける負荷分散処理時の動作手順である。
The sharing destination system that has received the processing sharing request from the system distributed
上述した説明では、システム分散処理装置20の負荷分散制御部23によって負荷分散が必要とされた場合に、負荷分散制御部23が、ネットワーク30上の管理対象のシステム10−1〜10−Nに対する処理要求を監視し、上記の負荷判定によって負荷分散が必要なシステムへの処理要求の一部を、分担先システムへ直接送信する場合を例に挙げたが、負荷分散制御部23が、負荷分散が必要なシステムに対して、処理の分担を行う分担先システムを分担先システム情報として通知し、負荷分散が必要なシステムのシステム実行制御部11が、その分担先システム情報で指示された分担先システムのシステム実行制御部11に対して処理要求を受け渡すようにしてもよい。
In the above description, when load distribution is required by the load
この実施の形態1によれば、同一の処理を行う複数のシステムをまとめてシステム分散処理装置20で管理し、このシステム分散処理装置20によって管理されるシステム10−1〜10−N内の負荷の低いシステムのコンピュータリソースを負荷の高いシステムのコンピュータへの処理要求に対して利用可能とすることで、それぞれのシステムの負荷状況のピークが異なることが予見され、負荷のピーク時に合わせたシステム設備を構築する必要がなくなる。その結果、信頼性のあるシステムを管理、運営する組織の設備投資を低減することができるという効果を有する。特に、同一の機能を実現する複数のシステムを多数管理することによって、1つのシステムにかかる負荷を分散させる確率を高めることが可能となる。また、管理対象内のシステムが停止した場合でも、他の残りのシステムで処理を引継ぎ、かつ同等の処理性能を維持できるという効果も有する。
According to the first embodiment, a plurality of systems that perform the same processing are collectively managed by the system distributed
実施の形態2.
実施の形態1では、異なる組織によって運営されるが同一の機能(処理)を実行する複数のシステムの負荷を監視し、あるシステムの負荷が所定の条件を超えた場合に、システムの負荷が低い分担先システムに過剰な負荷がかかっているシステムへの処理要求の一部を分担させるようにしたが、このような構成では、同一の機能(処理)を実行するシステム同士でしか負荷の分散を行うことができない。そこで、この実施の形態2では、異なる機能(処理)を実行するシステム間でも負荷の分散を行うことができるシステム分散処理システムおよびシステム分散処理装置について説明する。
Embodiment 2. FIG.
In the first embodiment, the loads on a plurality of systems that are operated by different organizations but execute the same function (process) are monitored, and when the load on a certain system exceeds a predetermined condition, the load on the system is low. A part of the processing request to the system where the excessive load is applied to the sharing destination system was shared, but with such a configuration, the load is distributed only between systems that execute the same function (processing). I can't do it. Therefore, in the second embodiment, a system distributed processing system and a system distributed processing apparatus capable of distributing a load even between systems that execute different functions (processes) will be described.
図3は、この発明にかかるシステム分散処理システムの実施の形態2の構成を模式的に示すブロック図である。このシステム分散処理システムは、1種類または種類の異なる処理(機能)を実行する1台または複数台のサーバ装置を有する複数のシステム10−1〜10−Nと、分散処理の管理対象となるシステム10−1〜10−Nの負荷の分散を行うシステム分散処理装置20と、がインタネットなどのネットワーク30を介して接続される。なお、図示していないが、ネットワーク30にはクライアント端末も接続され、クライアント端末は、各システム10−1〜10−Nの有するサーバ装置にアクセスして、必要な情報を入手したり、必要な処理を実行させたりする。なお、ここでは、システム分散処理装置20が管理するシステム10−1〜10−NはN台(Nは自然数)であるとする。
FIG. 3 is a block diagram schematically showing the configuration of the second embodiment of the system distributed processing system according to the present invention. The system distributed processing system includes a plurality of systems 10-1 to 10-N each having one or a plurality of server apparatuses that execute one type or different types of processing (functions), and a system that is a management target of the distributed processing. A system distributed
システム分散処理装置20によって管理されるそれぞれのシステム10−1〜10−Nは、みな同一の機能(処理)を実行するシステムである必要はなく、異なる機能(処理)を実行することができるシステムでよい。つまり、この実施の形態2では、システム10−1〜10−Nごとにシステム機能実行部12が異なる機能を実現するものであってもよい。また、システム機能実行部12は、実施の形態1のシステム機能実行部12において、システム分散処理装置20から負荷の分散処理を依頼された場合に、その処理を自システムで実行するためにプログラム導入機能121をさらに備える構成となっている。
Each of the systems 10-1 to 10-N managed by the system distributed
このプログラム導入機能121は、システム分散処理装置20によって、負荷が過剰なシステムが実行する処理を分担する分担先システムとして指定された場合であって、負荷が過剰なシステムが実行する処理プログラムが自システムに導入されていないときに、システム分散処理装置20のプログラム保持部24から該当する処理プログラムを取得し、自システム内に導入する処理を行う。これによって、負荷が過剰なシステムが実行する処理プログラムが自システム内(システム機能実行部12内)に存在しない場合でも、そのシステムの処理を分担して実行することが可能となる。
This
また、システム分散処理装置20は、実施の形態1のシステム分散処理装置20において、自装置が管理するシステム10−1〜10−Nが使用する処理プログラムを保持するプログラム保持部24をさらに備え、負荷分散制御部23は、負荷分散を行う際に分担先システムが分担する処理を実行する処理プログラムを有さない場合に必要な処理プログラムを導入(インストール)するように分担先システムに対して指示するプログラム導入指示機能231をさらに備える。なお、実施の形態1で説明したシステムとシステム分散処理装置20と同一の構成要素には、同一の符号を付して、その説明を省略している。
The system distributed
つぎに、このような構成を有するシステム分散処理システムの負荷分散処理の手順の一例について、図4のフローチャートを参照しながら説明する。実施の形態1の図2のステップS11〜S18と同様の処理を行って、システム分散処理装置20の負荷分散制御部23は、過剰な負荷がかかったシステムが存在する場合に、分担処理が必要なシステムと、その負荷を分担させる分担先システムを抽出する(ステップS51〜S58)。すなわち、システム分散処理装置20のシステム情報記憶部22に自装置で管理するシステム10−1〜10−Nのシステム情報の初期値が設定されると、負荷分散制御部23は負荷分散制御を開始する。負荷分散制御部23は、各システム10−1〜10−Nのシステム状態通知部13からシステム状態情報を受信すると、各システム情報について負荷判定情報を用いて負荷分散が必要か否かを判定する。負荷分散が必要である場合には、その負荷分散が必要なシステムを抽出するとともに、負荷が負荷判定条件を満たさないシステムのうち分担先システム決定条件に基づいて最も負荷の低いシステムを分担先システムとして抽出する。
Next, an example of the load distribution processing procedure of the system distributed processing system having such a configuration will be described with reference to the flowchart of FIG. The processing similar to steps S11 to S18 in FIG. 2 of the first embodiment is performed, and the load
ついで、負荷分散制御部23は、抽出した分担先システムに対して、負荷が過剰にかかっているシステムの処理の分担を実行するように処理分担要求を送信する(ステップS59)。この処理分担要求には、分担する処理プログラム名などの処理内容が含まれているものとする。処理分担要求を受信した分担先システムのシステム実行制御部11は、処理分担要求中の処理内容を自システムで実行できるか否かを判定する(ステップS60)。判定の結果、自システムで実行できない場合(ステップS60でNoの場合)には、システム実行制御部11は、システム分散処理装置20に対して、処理プログラムがないことを示す処理プログラム入手要求を送信する(ステップS61)。
Next, the load
システム分散処理装置20の負荷分散制御部23のプログラム導入指示機能231は、分担先システムから処理プログラム入手要求を受信すると(ステップS62)、その処理プログラムの存在場所を示す処理プログラム格納情報を分担先システムに通知する(ステップS63)。この処理プログラム格納情報は、たとえば、処理プログラムのプログラム保持部24内の格納場所を示すURL(Uniform Resource Locator)などである。分担先システムのシステム機能実行部12のプログラム導入機能121は、受信した処理プログラム格納情報に基づいて処理プログラムを取得(ダウンロード)し(ステップS64)、処理プログラムを自システムに導入して実行可能な状態にする(ステップS65)。その後またはステップS60で自システムで処理分担要求中の処理内容を実行できる場合(ステップS60でYesの場合)には、システム機能実行部12は、処理プログラムを実行可能な状態にしたことを示す処理プログラム導入完了通知をシステム分散処理装置20に対して送信する(ステップS66)。その後、分担先システムは、負荷が過剰にかかっているシステムの処理要求の受付をシステム実行制御部11を通じて開始する(ステップS67)。
When the program
一方、システム分散処理装置20の負荷分散制御部23は、分担先システムから処理プログラム完了通知を受信すると(ステップS68)、監視中の管理下にあるシステム10−1〜10−Nへの処理要求のうち負荷が過剰にかかっていると判定されたシステムへの処理要求の一部を、分担先システムへと送信する(ステップS69)。分担先システムのシステム機能実行部12は、システム分散処理装置20から受信した処理要求に対応する機能を実行し、システム実行制御部11を介してその結果を処理要求を出したクライアント端末に返送し、分散処理を実行する(ステップS70)。その後、ステップS53へと戻り、上述した処理が繰り返し実行される。なお、ステップS55でシステム状態情報を送信した後、分担先システムとして選択されなかった他のシステムは、通常通りに、自システム宛ての処理要求の処理を実行し(ステップS71)、ステップS53へと戻り上述した処理が繰り返し実行される。
On the other hand, when the load
なお、上述した説明では、ステップS60で分担先システムのシステム実行制御部11が分担する処理を実行可能か否かを判断するようにしているが、システム分散処理装置20の負荷分散制御部23が分担先システムがその判断を実行するようにしてもよい。この場合、システム情報記憶部22のシステム情報には、実施の形態1で説明した項目に加え、各システム10−1〜10−N内に導入されている処理プログラム名が含まれる必要があり、負荷分散制御部23が分担先システムの実行制御部が分担する処理を実行可能か否かを判断するようにすればよい。そして、判断の結果、分担先システムが処理を実行できない場合には、負荷分散制御部23のプログラム導入指示機能231が、負荷分散が必要なシステムの処理を行うために必要な処理プログラムをプログラム保持部24から検索し、その処理プログラムを分担先システムに通知すればよい。
In the above description, it is determined in step S60 whether or not the processing shared by the system
また、上述した説明では、ステップS64で分担先システムがシステム分散処理装置20から処理プログラム格納情報に基づいて処理プログラムをダウンロードするようにしているが、システム分散処理装置20が分担先システムに対して、処理プログラム格納情報に代えて処理プログラムを送信するようにしてもよい。
In the above description, the assignment destination system downloads the processing program from the system distributed
この実施の形態2によれば、異なる機能を実行する複数のシステムでシステム処理分散システムが構成されるでも、負荷の高いシステムで行っている処理と同じ処理プログラムを、負荷の低いシステムに導入して実行可能とすることで、負荷のピーク時に合わせたシステム設備を構築する必要がなくなり、そのためのシステムを管理、運営する組織の設備投資を低減することができるという効果を有する。これにより、汎用性の高い負荷分散を行うシステムを提供することができるという効果を有する。 According to the second embodiment, even if a system processing distributed system is configured by a plurality of systems that execute different functions, the same processing program as that performed in a system with a high load is introduced into a system with a low load. This makes it unnecessary to construct a system facility that matches the peak load, thereby reducing the capital investment of the organization that manages and operates the system. Thereby, it has the effect that the system which performs highly versatile load distribution can be provided.
実施の形態3.
実施の形態2では、分担先システムが分担する処理を実行できない場合に、その処理を行うための処理プログラムを自システム内に導入する場合を説明した。この実施の形態3では、さらに細かい単位で、処理プログラムを導入することができる場合について説明する。
Embodiment 3 FIG.
In the second embodiment, the case has been described in which the processing program for performing the processing is introduced into the own system when the processing shared by the sharing destination system cannot be executed. In the third embodiment, a case where a processing program can be introduced in a smaller unit will be described.
たとえば、複数種類の処理プログラムを比較すると、異なる種類の処理プログラム間で共通の機能を有するプログラム部分と、その処理プログラムで特有の機能を有するプログラム部分と、を有する場合がある。そのため、この実施の形態3では、処理プログラムを、機能別プログラムを管理する共通プログラムと、その共通プログラム上で動作する機能別プログラムと、に分離して作製するようにしている。 For example, when a plurality of types of processing programs are compared, there may be a program portion having a common function among different types of processing programs and a program portion having a function specific to the processing program. For this reason, in the third embodiment, the processing program is divided into a common program that manages the function-specific program and a function-specific program that operates on the common program.
図5は、各システムのシステム機能実行部の実施の形態3の機能構成を模式的に示すブロック図である。このシステム機能実行部12は、複数の機能を実行するための処理プログラムが共通に持つプログラム部分(共通プログラム)を実行するための機能実行制御機能122と、機能実行制御機能122上で各処理プログラムが個々に持つ機能を実行するプログラム部分(機能別プログラム)を実行するための機能実行機能123と、機能実行機能123に対応する各処理プログラムの導入処理を行うプログラム導入機能121と、から構成される。
FIG. 5 is a block diagram schematically showing a functional configuration of the system function execution unit according to the third embodiment of each system. The system
たとえば、機能実行制御機能122は、Webシステムのミドルウェアであるアプリケーションサーバとし、機能実行機能123はアプリケーションサーバ上に配備された個々のアプリケーションと考えることができる。
For example, the function
この実施の形態3による負荷分散処理における処理手順は、あるシステムが分担先システムとして他のシステムの処理を分担するように要求された場合に、その分担先システムのシステム機能実行部12中に、自システム内に要求された処理を実行する機能実行機能123が存在するか否かを判定し、存在しない場合には要求された処理を実行する機能実行機能123に対応する機能別プログラムをダウンロードして実行可能な状態とする点が実施の形態2と異なる部分である。なお、その他の部分は同一であるので、その説明を省略する。
The processing procedure in the load distribution processing according to the third embodiment is such that when a certain system is requested to share the processing of another system as a sharing destination system, in the system
この実施の形態3によれば、各システムで実行される処理プログラムをさらに細かな単位で管理するようにしたので、処理プログラム(機能別プログラム)のサイズを小さくすることができ、分担先システムが処理プログラムをシステム分散処理装置20のプログラム保持部24から取得する時間を短くするとともに、システムへの導入時間も短縮することができる。その結果、負荷が過剰にかかっているシステムに対する処理要求の分担処理を速やかに実施することができるという効果を有する。
According to the third embodiment, since the processing program executed in each system is managed in finer units, the size of the processing program (function-specific program) can be reduced, and The time for acquiring the processing program from the
なお、実施の形態2,3において、分担先システムのシステム機能実行部12を構成する処理プログラムは、そのシステム機能実行部12による処理が開始される前に、またはその処理が実行開始時に実行可能となるタイミングで導入されている必要がある。
In the second and third embodiments, the processing program constituting the system
以上のように、本発明にかかるシステム分散処理システムは、システムに対して負荷がかかった場合にその負荷を分散させる場合に有用である。 As described above, the system distributed processing system according to the present invention is useful for distributing the load when a load is applied to the system.
10−1〜10−N システム
11 システム実行制御部
12 システム機能実行部
13 システム状態通知部
20 システム分散処理装置
21 システム状態管理部
22 システム情報記憶部
23 負荷分散制御部
24 プログラム保持部
30 ネットワーク
121 プログラム導入機能
122 機能実行制御機能
123 機能実行機能
231 プログラム導入指示機能
10-1 to 10-
Claims (11)
管理対象となる前記システムから受信した該システムの処理状況を含むシステム状態情報を前記システムと対応付けたシステム情報として格納するシステム情報記憶手段と、
前記システム情報記憶手段中の各システムのシステム情報を用いて所定の基準よりも高い負荷のかかっているシステムが存在するかを判定し、前記所定の基準よりも負荷の高いシステムの処理要求の一部を負荷の低い他のシステムに分担させるように制御する負荷分散制御手段と、
を備えることを特徴とするシステム分散処理装置。 Connected to a plurality of systems having one or a plurality of server apparatuses that execute the same processing via a network, monitors the load of the system, and distributes the processing of a system with an excessive load to other systems. A system distributed processing device,
System information storage means for storing system state information including the processing status of the system received from the system to be managed as system information associated with the system;
The system information of each system in the system information storage means is used to determine whether there is a system with a load higher than a predetermined standard, and one of processing requests of a system with a higher load than the predetermined standard. Load balancing control means for controlling the system to share with other systems with low load,
A system distributed processing apparatus comprising:
管理対象となる前記システムから受信した該システムの処理状況を含むシステム状態情報を前記システムと対応付けたシステム情報として格納するシステム情報記憶手段と、
前記システム情報記憶手段中の各システムのシステム情報を用いて所定の基準よりも高い負荷のかかっているシステムが存在するかを判定し、前記所定の基準よりも負荷の高いシステムの処理要求の一部を負荷の低い他のシステムに分担させるように制御する負荷分散制御手段と、
を備え、
前記負荷分散制御手段は、前記負荷の低いシステムが前記負荷の高いシステムへの処理要求に対する処理手段を有さない場合に、前記負荷の高いシステムへの処理要求を実行する処理プログラムの導入指示を前記負荷の低いシステムに対して行うプログラム導入指示機能を有することを特徴とするシステム分散処理装置。 A system connected via a network to a plurality of systems having one or a plurality of server apparatuses that execute a certain process, and monitors the load of the system and distributes the processes of the system with an excessive load to other systems A distributed processing device,
System information storage means for storing system state information including the processing status of the system received from the system to be managed as system information associated with the system;
The system information of each system in the system information storage means is used to determine whether there is a system with a load higher than a predetermined standard, and one of processing requests of a system with a higher load than the predetermined standard. Load balancing control means for controlling the system to share with other systems with low load,
With
The load distribution control means instructs the introduction of a processing program for executing a processing request to the high-load system when the low-load system does not have a processing means for the processing request to the high-load system. A system distributed processing apparatus having a program introduction instruction function for the low-load system.
前記システムは、
自システムの処理状況を監視して、所定のタイミングで前記システム分散処理装置に前記処理状況を含むシステム状態情報を送信するシステム状態通知手段と、
自システムへ処理要求を行ったクライアント端末との間の応答処理を行うシステム実行制御手段と、
自システムへの前記処理要求に対する所定の処理を実行するとともに、前記システム分散処理装置による分担制御によって受け付けた他のシステムへの処理要求に対する所定の処理を実行するシステム機能実行手段と、
を備え、
前記システム分散処理装置は、
管理対象となる前記システムから受信した前記システム状態情報をそのシステムと対応付けたシステム情報として格納するシステム情報記憶手段と、
前記システム情報記憶手段中の各システムのシステム情報を用いて所定の基準よりも高い負荷のかかっているシステムが存在するかを判定し、前記所定の基準よりも負荷の高いシステムの処理要求の一部を負荷の低い他のシステムに分担させるように制御する負荷分散制御手段と、
を備えることを特徴とするシステム分散処理システム。 A plurality of systems having one or a plurality of server devices that execute the same processing; a system distributed processing device that monitors the load of the system and distributes the processing of a system with an excessive load to other systems; Is a system distributed processing system connected to the network,
The system
System status notification means for monitoring the processing status of the own system and transmitting system status information including the processing status to the system distributed processing device at a predetermined timing;
System execution control means for performing response processing with a client terminal that has made a processing request to the own system;
System function execution means for executing predetermined processing for the processing request to the own system and executing predetermined processing for the processing request to another system received by the sharing control by the system distributed processing device;
With
The system distributed processing apparatus includes:
System information storage means for storing the system state information received from the system to be managed as system information associated with the system;
The system information of each system in the system information storage means is used to determine whether there is a system with a load higher than a predetermined standard, and one of processing requests of a system with a higher load than the predetermined standard. Load balancing control means for controlling the system to share with other systems with low load,
A system distributed processing system comprising:
前記システムは、
自システムの処理状況を監視して、所定のタイミングで前記システム分散処理装置に前記処理状況を含むシステム状態情報を送信するシステム状態通知手段と、
自システムへ処理要求を行ったクライアント端末との間の応答処理を行うシステム実行制御手段と、
自システムへの前記処理要求に対する所定の処理を実行するとともに、前記システム分散処理装置による分担制御によって受け付けた他のシステムへの処理要求に対する所定の処理を実行するシステム機能実行手段と、
を備え、
前記システム分散処理装置は、
管理対象となる前記システムから受信した前記システム状態情報をそのシステムと対応付けたシステム情報として格納するシステム情報記憶手段と、
管理対象となる前記システムが行う処理を実行するための処理プログラムを格納するプログラム保持手段と、
前記システム情報記憶手段中の各システムのシステム情報を用いて所定の基準よりも高い負荷のかかっているシステムが存在するかを判定し、前記所定の基準よりも負荷の高いシステムの処理要求の一部を負荷の低い他のシステムに分担させるように制御する負荷分散制御手段と、
を備え、
前記システム分散処理装置の前記負荷分散制御手段は、前記負荷の低いシステムが、前記負荷の高いシステムへの処理要求に対応するシステム機能実行手段を有さない場合に、前記負荷の高いシステムへの処理要求を実行するための処理プログラムの保存場所を含む前記処理プログラムの導入指示を前記負荷の低いシステムに対して行うプログラム導入指示機能を有し、
前記システムの前記システム機能実行手段は、前記システム分散処理装置による分担制御によって前記負荷の高いシステムへの処理要求を受け付けると、前記負荷の高いシステムが実現する機能を実行するための処理プログラムを前記導入指示に基づいて前記システム分散処理装置の前記プログラム保持手段から取得し、実行可能なように導入するプログラム導入機能を有することを特徴とするシステム分散処理システム。 A plurality of systems having one or a plurality of server devices and a system distributed processing device that monitors the load of the system and distributes the processing of the overloaded system to other systems are connected to a network A system distributed processing system,
The system
System status notification means for monitoring the processing status of the own system and transmitting system status information including the processing status to the system distributed processing device at a predetermined timing;
System execution control means for performing response processing with a client terminal that has made a processing request to the own system;
System function execution means for executing predetermined processing for the processing request to the own system and executing predetermined processing for the processing request to another system received by the sharing control by the system distributed processing device;
With
The system distributed processing apparatus includes:
System information storage means for storing the system state information received from the system to be managed as system information associated with the system;
Program holding means for storing a processing program for executing processing performed by the system to be managed;
The system information of each system in the system information storage means is used to determine whether there is a system with a load higher than a predetermined standard, and one of processing requests of a system with a higher load than the predetermined standard. Load balancing control means for controlling the system to share with other systems with low load,
With
The load distribution control unit of the system distributed processing device is configured to transfer the system to the high load system when the low load system does not have a system function execution unit corresponding to a processing request to the high load system. A program introduction instruction function for instructing the system with a low load to introduce the processing program including a storage location of the processing program for executing the processing request;
When the system function execution unit of the system receives a processing request to the high-load system by sharing control by the system distributed processing device, the system function execution unit executes a processing program for executing a function realized by the high-load system A system distributed processing system having a program introduction function that is acquired from the program holding means of the system distributed processing apparatus based on an introduction instruction and is introduced so as to be executable.
前記処理プログラム中のある機能を実現するための機能別プログラムに基づいた処理を実行する機能実行機能と、
前記処理プログラム中の前記機能別プログラムを管理する共通プログラムに基づいた処理を実行する機能実行制御機能と、
前記システム分散処理装置による分担制御によって前記負荷の高いシステムへの処理要求を受け付けると、前記負荷の高いシステムへの処理要求を実行するための機能別プログラムを前記導入指示に基づいて取得し、実行可能なように導入するプログラム導入機能と、
を有することを特徴とする請求項6に記載のシステム分散処理システム。 The system function execution means of the system includes:
A function execution function for executing processing based on a function-specific program for realizing a function in the processing program;
A function execution control function for executing processing based on a common program for managing the function-specific program in the processing program;
Upon receiving a processing request to the high load system by sharing control by the system distributed processing device, a function-specific program for executing the processing request to the high load system is acquired based on the introduction instruction and executed. Program introduction function to introduce as possible,
The system distributed processing system according to claim 6, further comprising:
前記システムの前記システム実行制御手段は、受信した処理要求の一部を前記システム分散処理装置から通知された前記負荷の低い他のシステムへ送信する機能をさらに備えることを特徴とする請求項5〜9のいずれか1つに記載のシステム分散処理システム。 The load distribution control means of the system distributed processing device, when there is a high load system, notifies the low load other system that causes the high load system to execute processing request sharing,
The system execution control means of the system further comprises a function of transmitting a part of the received processing request to another system with a low load notified from the system distributed processing device. The system distributed processing system according to any one of 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006154800A JP2007323499A (en) | 2006-06-02 | 2006-06-02 | System-distributed processor and system-distributed processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006154800A JP2007323499A (en) | 2006-06-02 | 2006-06-02 | System-distributed processor and system-distributed processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007323499A true JP2007323499A (en) | 2007-12-13 |
Family
ID=38856237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006154800A Pending JP2007323499A (en) | 2006-06-02 | 2006-06-02 | System-distributed processor and system-distributed processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007323499A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009282848A (en) * | 2008-05-23 | 2009-12-03 | Fujitsu Ltd | Abnormality determining apparatus |
-
2006
- 2006-06-02 JP JP2006154800A patent/JP2007323499A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009282848A (en) * | 2008-05-23 | 2009-12-03 | Fujitsu Ltd | Abnormality determining apparatus |
JP4627327B2 (en) * | 2008-05-23 | 2011-02-09 | 富士通株式会社 | Abnormality judgment device |
US8089712B2 (en) | 2008-05-23 | 2012-01-03 | Fujitsu Limited | Abnormality determining apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3522013B1 (en) | Method and system for migration of containers in a container orchestration platform between compute nodes | |
US8239868B2 (en) | Computer system, servers constituting the same, and job execution control method and program | |
Abad et al. | Package-aware scheduling of faas functions | |
CN100375093C (en) | Processing of multiroute processing element data | |
CN108900626B (en) | Data storage method, device and system in cloud environment | |
US8856286B2 (en) | Optimized peer-to-peer file transfers on a multi-node computer system | |
US20050021511A1 (en) | System and method for load balancing in database queries | |
US20110173319A1 (en) | Apparatus and method for operating server using virtualization technique | |
US7181574B1 (en) | Server cluster using informed prefetching | |
US9736235B2 (en) | Computer system, computer, and load balancing method | |
US20080148272A1 (en) | Job allocation program, method and apparatus | |
US11438271B2 (en) | Method, electronic device and computer program product of load balancing | |
US20170220385A1 (en) | Cross-platform workload processing | |
CN110309229A (en) | The data processing method and distributed system of distributed system | |
CN112039963B (en) | Processor binding method and device, computer equipment and storage medium | |
JP2013182509A (en) | Virtualization system, load distribution device, load distribution method and load distribution program | |
EP1611523B1 (en) | Controlling usage of system resources by a network manager | |
JP2007323499A (en) | System-distributed processor and system-distributed processing system | |
CN116302534A (en) | Method, device, equipment and medium for optimizing performance of server storage equipment | |
US8850440B2 (en) | Managing the processing of processing requests in a data processing system comprising a plurality of processing environments | |
CN112532754B (en) | Method and system for rapidly serving school network files | |
Byun et al. | DynaGrid: A dynamic service deployment and resource migration framework for WSRF-compliant applications | |
US20150263958A1 (en) | Load balancing apparatus and method | |
JP2002342193A (en) | Method, device and program for selecting data transfer destination server and storage medium with data transfer destination server selection program stored therein | |
Berwal et al. | Load Balancing in cloud computing |