JP2006031096A - 分散処理システムおよびその再起動制御方法および再起動制御プログラム - Google Patents
分散処理システムおよびその再起動制御方法および再起動制御プログラム Download PDFInfo
- Publication number
- JP2006031096A JP2006031096A JP2004204731A JP2004204731A JP2006031096A JP 2006031096 A JP2006031096 A JP 2006031096A JP 2004204731 A JP2004204731 A JP 2004204731A JP 2004204731 A JP2004204731 A JP 2004204731A JP 2006031096 A JP2006031096 A JP 2006031096A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- server
- servers
- management
- restart
- 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
【課題】
サービス自体を停止させることなく、再起動を行う処理サーバを選択できるようにした分散処理システムおよびその再起動制御方法および再起動制御プログラムを提供する。
【解決手段】
クライアントからの処理要求に基づいて処理を行う処理サーバが現在処理している処理要求を実行中情報管理部204により管理し、実行中の処理要求と選択項目指定部201により指定された選択項目または、複数の選択項目ごとに重み付けを行った評価式に基づいて、複数の処理サーバのうち再起動を行う処理サーバを決定部202で決定する。
【選択図】図2
サービス自体を停止させることなく、再起動を行う処理サーバを選択できるようにした分散処理システムおよびその再起動制御方法および再起動制御プログラムを提供する。
【解決手段】
クライアントからの処理要求に基づいて処理を行う処理サーバが現在処理している処理要求を実行中情報管理部204により管理し、実行中の処理要求と選択項目指定部201により指定された選択項目または、複数の選択項目ごとに重み付けを行った評価式に基づいて、複数の処理サーバのうち再起動を行う処理サーバを決定部202で決定する。
【選択図】図2
Description
本発明は、複数の処理サーバを有する分散処理システムおよびその再起動制御方法および再起動制御プログラムに関し、特に、複数の処理サーバの再起動を最適に行うことができるようにした分散処理システムおよびその再起動制御方法および再起動制御プログラムに関する。
一般に、同一の機能を複数の処理サーバによって提供してシステムの安定性を向上させる負荷分散システムや複数の機能により構成される処理に対して各機能を複数の処理サーバで同時に処理することでシステムを高速化、または信頼性を向上させるコンポーネント分散システムなどの複数の処理サーバにより処理が行われているシステムでは、サービスが停止する時間を減じるため、異常発生時においてサービスや装置自体を再起動させるような構成で作成されている。
この場合、アプリケーションなどによるメモリが解放されないメモリリーク状態を異常発生として検出することが困難であり、異常発生の検知によるシステム全体の安定のための再起動を効率的に実現することが難しい。
そこで、長時間の安定稼動を要求するサービスにおいてはあらかじめ指定されたスケジュールに基づいてシステムの安定を向上させる従来技術として特許文献1、特許文献2に示す技術が開示されている。
この特許文献1に開示された従来技術においては、複数のコンピュータ間相互に相手の異常停止を検出するための通信を行い、当該コンピュータ全てが正常動作を行っている間にコンピュータごとの運転スケジュール情報にしたがって、無人で起動および停止を行うことができ、コンピュータが異常停止すると他の正常なコンピュータが異常停止したコンピュータの業務を引き継ぐことが可能である。
また、この特許文献2に開示された従来技術においては、一定時間経過後、定期的にオペレーティングシステムに再起動の要求を行うコンピュータプログラムを備えて、コンピュータプログラムが動作するPCが1台の場合、そのPCを定期的に再起動することができメモリリークなどを回避することが可能である。
特開平3−009462
特開2003−186563
しかしながら、特許文献1に示された従来技術においては、正常動作を行っているコンピュータの再起動をスケジュール情報に基づいて行うことにより、処理中のリクエストが強制的に終了させられてしまい、他の正常なコンピュータに再起動したコンピュータの業務を引き継ぐようにしているため引き継いだコンピュータは一時的であっても過負荷状態に陥り、処理能力の低下を招くという問題がある。
加えて、再起動するコンピュータの選択が最適なものとは限らず、メモリリークなどの問題を起こしているコンピュータではなく正常なコンピュータが再起動されてしまうことがある。その結果、不安定なコンピュータのみで業務が行われる状態に陥り、システムとしての信頼性が低下する可能性が生じてしまう。
また、特許文献2に示された従来技術では、再起動を行うコンピュータの再起動を行うための情報を他のコンピュータに記録のみを行ってオペレーティングシステムの再起動を行うので、当該コンピュータが提供するプログラムが停止し、その間、処理を実行することが出来なくなるという問題がある。
そこで、本発明は、サービスの負荷の最も少ない時間にあらかじめ設定した項目または、評価式に基づいて複数の処理装置のうち再起動を行う処理装置を選択するようにすることで、サービス自体を停止させることなく、再起動を行う処理装置を選択できるようにした分散処理システムおよびその再起動制御方法および再起動制御プログラムを提供することを目的とする。
上記目的を達成するため、請求項1の発明は、複数の処理サーバと前記複数の処理サーバの処理を管理する管理サーバとを有し、前記管理サーバは、クライアント装置から要求された処理を前記複数の処理サーバのいずれかに振り分けることにより該処理を実行する分散処理システムにおいて、前記管理サーバは、前記複数の処理サーバで実行中の処理をそれぞれ管理する第1の管理手段と、前記複数の処理サーバの状態をそれぞれ管理する第2の管理手段と、前記複数の処理サーバの再起動の条件情報を管理する第3の管理手段と、前記第1の管理手段および前記第2の管理手段の管理情報を参照して前記第3の管理手段の管理情報に基づき前記複数の処理サーバの中の再起動を行う処理サーバを選択する選択手段と、前記選択手段で選択された処理サーバに対して再起動を指示する再起動指示手段とを具備することを特徴とする。
また、請求項2の発明は、請求項1の発明において、前記選択手段は、一定の時間毎若しくは前記クライアント装置から処理の要求がある毎若しくは前記クライアント装置から要求された処理が終了する毎に、前記第1の管理手段で管理する実行中の処理の数を調べ、該実行中の処理の数が予め設定された数より小さいことを条件に前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項3の発明は、請求項1または2の発明において、前記第3の管理手段は、前記複数の処理サーバの再起動の順番情報を管理し、前記選択手段は、前記順番情報に基づき前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項4の発明は、請求項1または2の発明において、前記第3の管理手段は、前記複数の処理サーバの起動開始時刻を管理し、前記選択手段は、前記起動開始時刻に基づき起動されている時間が長い処理サーバを優先して前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項5の発明は、請求項1または2の発明において、前記第3の管理手段は、前記複数の処理サーバの実行した処理の数を計数管理し、前記選択手段は、前記実行した処理の数が多い処理サーバを優先して前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項6の発明は、請求項1または2の発明において、前記第3の管理手段は、前記複数の処理サーバの実行した処理の延べ処理時間を計数管理し、前記選択手段は、前記実行した処理の延べ処理時間が長い処理サーバを優先して前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項7の発明は、請求項1または2の発明において、前記第3の管理手段は、前記複数の処理サーバの平均処理時間を算出管理し、前記選択手段は、前記平均処理時間の増加率が大きい処理サーバを優先して前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項8の発明は、請求項1または2の発明において、前記第3の管理手段は、前記複数の処理サーバの同一の処理に対する処理時間を算出管理し、前記選択手段は、前記処理時間の大きい処理サーバを優先して前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項9の発明は、請求項1または2の発明において、前記第3の管理手段は、前記複数の処理サーバの再起動の順番情報、前記複数の処理サーバの起動開始時刻、前記複数の処理サーバの実行した処理の数、前記複数の処理サーバの実行した処理の延べ処理時間、前記複数の処理サーバの平均処理時間、前記複数の処理サーバの同一の処理に対する処理時間の内の少なくとも2つの情報を管理し、前記選択手段は、前記少なくとも2つの情報の基づき前記再起動を行う処理サーバを選択することを特徴とする。
また、請求項10の発明は、複数の処理サーバと前記複数の処理サーバの処理を管理する管理サーバとを有し、前記管理サーバは、クライアント装置から要求された処理を前記複数の処理サーバのいずれかに振り分けることにより該処理を実行する分散処理システムの再起動制御方法であって、前記複数の処理サーバで実行中の処理をそれぞれ第1の管理手段で管理し、前記複数の処理サーバの状態をそれぞれ第2の管理手段で管理し、前記複数の処理サーバの再起動の条件情報を第3の管理手段で管理し、前記第1の管理手段および前記第2の管理手段の管理情報を参照して前記第3の管理手段の管理情報に基づき前記複数の処理サーバの中の再起動を行う処理サーバを選択手段で選択し、前記選択手段で選択された処理サーバに対して前記管理サーバから再起動を指示することを特徴とする。
また、請求項11の発明は、複数の処理サーバと前記複数の処理サーバの処理を管理する管理サーバとを有し、前記管理サーバは、クライアント装置から要求された処理を前記複数の処理サーバのいずれかに振り分けることにより該処理を実行する分散処理システムの再起動制御をコンピュータにより実行させる再起動制御プログラムであって、前記複数の処理サーバで実行中の処理をそれぞれ管理する第1のステップと、前記複数の処理サーバの状態をそれぞれ管理する第2のステップと、前記複数の処理サーバの再起動の条件情報を管理する第3のステップと、前記第1のステップおよび前記第2のステップの管理情報を参照して前記第3のステップの管理情報に基づき前記複数の処理サーバの中の再起動を行う処理サーバを選択する第4のステップと、前記第4のステップで選択された処理サーバに対して再起動を指示する第5のステップとを含むことを特徴とする。
本発明によれば、同一の機能を提供する複数の処理装置のうち再起動を行う処理装置をあらかじめ設定された項目ないしは該設定された項目を組み合わせた評価式により再起動を行う処理装置を選択するように構成したので、機能を提供する処理装置が過負荷状態または不安定になるのを未然に防ぐことができ、機能の停止によるサービス提供不可能状態を回避することが可能になるという効果を奏する。
以下、本発明に係わる分散処理システムおよび方法およびプログラムの一実施例を添付図面を参照して詳細に説明する。
図1は、この発明に係わる分散処理システムおよび方法およびプログラムを適用して構成した分散処理のネットワーク構成図である。
図1において、処理要求を送出するクライアント(101−1,101−2,・・・,101−N)、処理要求に対して分散処理の管理を行う管理サーバ102、管理サーバ102により管理された分散処理を行う処理サーバ(103−1,103−2,・・・,103−N)を具備して構成される。
クライアント(101−1,101−2,・・・,101−N)は、ネットワーク回線を介して管理サーバ102に処理要求を送出する。
管理サーバ102は、クライアントからの処理要求を受け付けて予め設定された情報に基づいて処理サーバ(103−1,103−2,・・・,103−N)に処理を分散する。
このとき、管理サーバにより分散される処理内容は、1つの処理要求における複数の処理内容を処理内容ごとに各処理サーバで処理するような構成や1つの処理要求における複数の処理内容のうち同一の処理内容を複数の処理サーバで処理するような構成にしてもよい。これにより、NLB(Network Load Balancing:ネットワーク負荷分散)やCLB(Component Load Balancing:コンポーネント負荷分散)によって負荷分散が行え、処理の高速化や信頼性の向上を図ることができるようになり、また同一処理内容を複数の処理サーバで実行することによるシステムの二重化などを行うことができる。
例えば、クライアント101−1から管理サーバ102に対して処理要求Aを送出し、クライアント101−2から管理サーバ102に対して処理要求Bを送出した場合にNLBを実現するには、管理サーバ102に予め設定された処理を行う処理サーバを選択する情報である処理サーバ選択情報にしたがって処理要求Aを処理サーバ103−1に、処理要求Bを処理サーバ103−2に振り分けを行う。これによって、1つの処理サーバで集中的に処理を行わずに分散処理を行うことができ、負荷分散を実現できる。
また、クライアント101−1から管理サーバ102に対して処理要求Cを送出した場合にCLBを実現するには、管理サーバ102は処理サーバ選択情報に基づいて処理要求Cを処理サーバ103−1と処理サーバ103−3にコンポーネント単位で処理を分散し、同期をとることで処理要求Cを処理できる。
処理サーバ(103−1,103−2,・・・,103−N)は、管理サーバ102により分散された個々の処理をそれぞれ行う。処理サーバはすくなくとも二台以上からなり、一方を再起動している場合にはもう一方の処理サーバで処理を行う。
このとき、処理サーバの台数を三台四台と増やすことにより再起動を行っている間の他の処理処理サーバに処理が集中することなく、効率よく負荷を分散することができるようになる。
なお、主系のサーバに障害が発生した場合に待機系として待機状態になっている待機サーバを再起動時にのみ使用することで、処理サーバを安易に増やすのではなく、既存のシステム構成を用いて処理サーバの再起動を行うことような構成にすることも可能である。
図2は、この発明に係わる管理サーバのシステム構成を示す図である。
図2には、選択項目指定部201、決定部202、管理部203、実行中情報管理部204、選択項目管理部205、処理状態管理部206、通知部207を具備して構成される。
選択項目指定部201は、再起動を行う処理サーバを選択する条件である選択項目を指定し、その選択項目は選択項目管理部205で管理された項目のうち1つを図6に示す画面を用いて指定する。
決定部202は、選択項目指定部201により指定された項目に該当する処理サーバを「再起動を行う処理サーバ」として決定する。また、決定部202は処理サーバの決定を行うにあたり、管理部203内の実行中情報管理部204、選択項目管理部205、処理状態管理部206とのやりとりを行い、項目の削除または更新を行う。
さらには、処理サーバの再起動を行うタイミングを考慮して再起動を行うこともできる。
なお、再起動を行う処理サーバの決定は、選択項目管理部205により管理された選択項目ごとに重み付けを行った評価式(図7参照)によっても行うことができる。
管理部203は、実行中情報管理部204、選択項目管理部205、処理状態管理部206を具備し、決定部202からの管理状態の確認や更新をこれら3つの管理部に行う。
実行中情報管理部204は、各処理サーバにおける現在実行中の処理要求を管理する。これによりクライアントからの処理要求内容がどの処理サーバにより処理されているか容易に確認することができる。
選択項目管理部205は、再起動を行う処理サーバを選択する項目として以下の項目を管理している。
(1)処理サーバ名称
(2)連続起動時間
(3)処理したリクエスト数
(4)単位リクエスト当りの処理時間
(5)同一リクエストに対する処理時間の差
(6)テスト用リクエストの処理時間
処理状態管理部206は、各処理サーバのサーバ状態を管理している。つまり、各処理サーバが再起動を行うための待ち状態である[再起動待ち状態]であるのか、再起動を行っている最中である[再起動実行中]であるのか、クライアントからの処理要求を処理できる状態である[リクエスト受付可能状態]にあるのかを管理する。
(2)連続起動時間
(3)処理したリクエスト数
(4)単位リクエスト当りの処理時間
(5)同一リクエストに対する処理時間の差
(6)テスト用リクエストの処理時間
処理状態管理部206は、各処理サーバのサーバ状態を管理している。つまり、各処理サーバが再起動を行うための待ち状態である[再起動待ち状態]であるのか、再起動を行っている最中である[再起動実行中]であるのか、クライアントからの処理要求を処理できる状態である[リクエスト受付可能状態]にあるのかを管理する。
例えば、[再起動待ち状態]である場合には、その処理サーバは再起動を行う処理サーバとして決定されており、処理サーバで実行されている処理要求が終了するのを待っている状態を示している。
それに対して[再起動実行中]である場合には、まさに今、再起動を行っている状態を示している。
そして、[リクエスト受付可能状態]である場合には、再起動を行う処理サーバとして決定されてなく、通常の処理を行うことができる状態を示している。
通知部207は、決定部202により再起動を行う処理サーバと決定された処理サーバに対して再起動の通知を行う。
このような構成によれば、指定された選択項目または評価式に基づいて、再起動を行う処理サーバを選択することができる。また、処理サーバにより実行されている処理要求を容易に確認することができる。
次に管理サーバの管理部205に保存された情報について説明する。
図3は、管理サーバで管理する実行中の処理要求の情報を示す図である。
図3は、図2に示す実行中情報管理部204で管理されるテーブルであって[処理ID]を主キーとし、処理要求を送出した[クライアントID]、処理要求に応じて処理を行っている処理サーバの[処理サーバID]、処理要求を受け付けて処理を開始してから経過した[経過時間](単位:秒)の各項目を具備した処理状態テーブル301を示している。
処理要求を送出してきたクライアントの[クライアントID]に対してその処理要求が実行中の[処理サーバID]を示している。このときの[クライアントID]と[処理サーバID]を外部キーとして、別途設けられたテーブルにリンクするような構成にしてもよいし、単に処理要求を行ってきたクライアントを識別するクライアント名称やIP(Internet Protocol)アドレスを表示するような構成にしても良い。
これにより管理サーバがクライアントから受けた処理要求をどの処理サーバにより処理されているか容易に判別することが出来るだけでなく、反対に、処理サーバが行っている処理要求を判別することができる。つまり、処理サーバの稼動状態を見極めることが出来る。
なお、複数の処理サーバに同一の処理要求を行った場合に、[処理開始経過時間]から処理効率などを算出することができるようになる。
図4は、管理サーバで再起動を行う処理サーバを選択するための選択方法定義テーブル401を示す図である。
図4は、図2に示す選択項目管理部205で管理されるテーブルであって、図6に示す再起動を行う処理サーバの選択方法を指定する処理サーバ選択手段指定画面により指定される項目を定義している。
図4は、図6の画面により選択される項目の名称である[項目名称]とその[項目名称]ごとに設定が定義されている位置を示す[保存位置]を定義している。なお、図4ではOS(Operating System:基本システム)ファイルシステム上のディレクトリに設定の定義を保存するような例を示しているが、設定の定義の保存先としてメモリ中のアドレスやデータベースにおけるテーブル名といった値を保存することによっても、同様の効果を実現できる。
図5は、管理サーバにより管理された各処理サーバの状態を示す図である。
図5において、図5(a)は、図2に示す処理状態管理部206で管理されるテーブルであって、各処理サーバに割り当てられた[処理サーバID]、[処理サーバの名称]、処理サーバの状態を示す[サーバ状態ID]を具備した処理サーバ状態テーブル501であり、図5(b)は、図5(a)の[サーバ状態ID]を主キーとしてサーバの状態を定義したサーバ状態定義テーブル502である。
図5(a)の処理サーバ状態テーブル501に示した[サーバ状態ID]を外部キーとして図5(b)のサーバ状態定義テーブル502を参照している。
上記に示すテーブルを用いてクライアントからの処理要求を受け付けて処理が行われ、再起動を行う処理サーバの決定までの流れを以下に示す。
クライアントから処理要求を管理サーバで受け付け、管理サーバは分散処理を行う処理サーバをサーバ状態定義テーブル502で定義したサーバの稼動状態に基づき決定し、処理要求に対する処理サーバの情報を処理状態テーブル301に更新する。このとき処理要求に対する処理が終了した場合には処理状態テーブル301から処理状態を消去する。
管理サーバは一定の時間毎またはリクエストの受付や終了時などに設定された再起動の要求を受け付けると、処理サーバ状態テーブル501で管理された再起動する処理サーバを選択するための情報から再起動の要求時に指定した選択情報に基づいて再起動を行う処理サーバを選択する。選択された処理サーバの処理状態を確認するために処理状態テーブル301を参照し、予め定められた処理数以下である場合に再起動を行う処理サーバとする。このようにすることにより処理の負荷が高くない場合に処理サーバの再起動を行うことができるようになり、サービスのレスポンス劣化を回避できる。
再起動を行う処理サーバとして選択されると、処理サーバ状態テーブル501の[サーバ状態ID]をリクエスト受付可能状態「2」から再起動待ち状態「0」に更新する。当該処理サーバがクライアントからの処理要求を1つも実行していない状態になるのを確認して再起動を実行する。このとき処理サーバ状態テーブル501の[サーバ状態ID]の項目を再起動待ち状態「0」から再起動実行中「1」に更新する。
処理サーバの再起動を完了すると、処理サーバ状態テーブル501の[サーバ状態ID]を再起動実行中「1」からリクエスト受付可能状態「2」に更新する。
図6は、本発明に係わる分散処理システムおよび方法およびプログラムの処理サーバの選択方法を指定する処理サーバ選択手段指定画面600を示す図である。
図6には、選択方法として図2に示す選択項目管理部205に管理された6つの項目が示されている。これら6つのうちいずれか一つを選択することにより再起動を行う処理サーバを選択することができるようになり、再起動処理が実行される。ただし、請求項9に示したように複数の情報を元にして再起動する処理サーバを選択する方式では、図6で選択できる項目は複数個となる。また、予め選択方法を決めておくことで、図6のような選択画面を表示させないようにシステムを構成することも可能である。
図7は、管理サーバにより再起動を行う処理サーバを複数の情報を元に選択する際に用いられる評価式を示す図である。
図7において、評価式は図2の選択項目管理部205により管理された選択項目それぞれに対して重み付けを行い、この重み付けの総スコア数が最も高い処理サーバを再起動を行う処理サーバとして選択する。このとき、優先する項目についてはより高い重み付けを行い、優先順位の低い項目については低い重み付けを行う。
図7に示す例では、図2の管理部205における選択項目のうち「(2)連続起動時間」「(3)処理したリクエスト数」「(6)テスト用リクエストの処理時間」の3つの項目について重み付けを行い、このうち「(2)連続起動時間」を最も高い優先順位に設定して重み付けを行う。そして、各処理サーバにつけられた重み付けの総スコア数のうち最も高いスコア数を持つ処理サーバを再起動を行う処理サーバとして選択する。
今、管理サーバによって6台の処理サーバが管理されている場合において重み付けを行うとする。この場合、「(2)連続起動時間」の選択項目については、起動時間の短い処理サーバから順に2点、4点、6点・・・のように2点間隔で重み付けを行うとすると、最も起動時間の短い処理サーバについて「2点」の重み付けを行い、最も起動時間の長い処理サーバについて「12点」の重み付けを行うことができる。
また、「(3)処理したリクエスト数」の選択項目については、処理したリクエスト数の少ない処理サーバから順に1点、2点、3点・・・のように1点間隔で重み付けを行うとすると、最も処理リクエスト数が少ない処理サーバには「1点」、最も多くの処理リクエストを処理した処理サーバについては「6点」の重み付けを行うことができる。
さらに、「(6)テスト用リクエストの処理時間」の選択項目については、テスト用リクエストの処理時間が最も短い処理サーバから順に1点、2点、3点・・・のように1点間隔で重み付けを行うとすると、最も処理時間の短い処理サーバには「1点」、最も処理時間の長い処理サーバには「6点」の重み付けを行うことができる。
これらの重み付けを加算した総スコア数が最も高い処理サーバを再起動を行う処理サーバとして選択できる。図7に示す例では、処理サーバ[6]が総スコア数「20点」で最も高いスコアとなっているので、処理サーバ6が再起動を行う処理サーバとして選択される。
なお、評価式による再起動を行う処理サーバの選択では総スコア数による選択だけでなく、少なくとも2つの選択項目における合計スコア数が予め設けられた閾値を超過したものについては、総スコア数によらず再起動を行う処理サーバとして選択するような構成にしてもよい。
例えば、「(2)連続起動時間」と「(6)テスト用リクエストの処理時間」との合計スコア数に設けられた閾値が「25点」である場合に、この閾値を超過した処理サーバについては総スコア数では、最も高いスコアでないにもかかわらず再起動を行う処理サーバとして選択される。
図8は、処理サーバの再起動処理動作を示すフローチャートである。
図8において、クライアントから処理サーバの再起動要求を受け付けると処理が開始され、図4に示す選択方法定義テーブル401を参照し(S801)、図6の処理サーバ選択手段指定画面により指定された再起動を行う処理サーバの選択方法を取得する(S802)。次に、取得した選択方法に基づいて再起動を行う処理サーバを決定し(S803)、その決定した処理サーバに対して図5(a)に示す処理サーバ状態テーブル501の[サーバ状態ID]の項目を再起動待ち状態を示す「0」に更新する(S804)。
決定した処理サーバが再起動できる状態であるか否かの判定処理を行う(S805)。ここでは、その処理サーバが実行している処理要求数が一定値以下であるのかの判定が行われる(図9に示すフローチャート参照)。
フラグが「1」であるか、つまり判定結果がある一定値以下である場合かを判断し、フラグが「1」でない場合(S806でNO)には一定値以上の処理要求が処理中であるため再起動処理を行うことができないということで処理を終了する。
それに対して、フラグが「1」である場合(S806でYES)には、次に図3に示す処理依頼テーブル301にその処理サーバが実行中の処理要求が存在する(実行中処理要求:1以上、一定値以下)か判断し(S807)、実行中の処理要求が存在する場合(S807でYES)には、予め設定した一定時間待機し(S808)、再度、実行中の処理要求が存在するか判定する。
それに対して、実行中の処理要求が存在しない場合(S807でNO)には、処理サーバの再起動を実行する(S809)。再起動の実行と同時に図5(a)に示す処理サーバ状態テーブル501の[サーバ状態ID]を再起動待ち状態を示す「0」から再起動の実行中状態を示す「1」に更新する(S810)。
再起動が完了したかどうかを判定し(S811)、再起動が終了している場合(S811でYES)には、図5(a)に示す処理サーバテーブル501の[サーバ状態ID]を再起動実行中状態を示す「1」からリクエスト受付可能状態を示す「2」に更新する(S812)。
それに対して、再起動が完了していない場合(S811でNO)には一定時間待機し(S813)、再度、再起動完了したか判定を行う。
図9は、処理サーバの再起動を行うか否かの判定を行うフローチャートである。図9は、図8に示す判定処理(S805)の内容における詳細なフローチャートを示している。
図9において、再起動のリクエストを受け付けると、図3(a)に示す処理依頼テーブル301を参照し(S901)、選択された処理サーバによって実行されている処理要求の数(A)を算出し(S902)、そして、あらかじめ設定された処理要求における閾値(N)を取得する(S903)。
実行中の処理要求の数(A)が閾値(N)以上であるか判断し(S904)、閾値(N)以上である場合(S904でYES)には、フラグに「1」をセットする。閾値(N)未満である場合(S904でNO)には、フラグに「0」をセットする。
これによって、実行中の処理要求数に応じて再起動を行うことができるか否かを決定することができる。
以上の処理によって、指定された選択項目に基づく最適な処理サーバの再起動が行うことができる。
これによって、機能を提供する処理装置が過負荷状態または不安定になるのを未然に防ぐことが可能になる。
したがって、本発明を適用することにより、機能の停止によるサービス提供不可能状態を回避することが可能になるという効果を期待できる。
なお、上記フローチャートに示す処理は、コンピュータにより実行可能な再起動制御プログラムによっても実現できる。
本発明は、上記し、且つ図面に示す実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
本発明は、処理要求を分散して処理する分散処理システムの処理サーバにおける再起動制御方法およびプログラムに適用可能であり、特に、指定された選択項目または選択項目の組み合わせにより作成される評価式に基づいて処理サーバを選択して再起動を制御するのに有用である。
101−A、101−B クライアント
102 管理サーバ
103−1、103−2、103−3、・・・、103−N 処理サーバ
201 要求受付部
202 処理サーバ決定部
203 要求解析部
204 項目選択部
205 管理部
206 選択項目管理部
207 実行中処理情報管理部
208 処理サーバ処理状態管理部
209 再起動処理サーバ決定部
210 再起動時刻算出部
211 再起動通知部
102 管理サーバ
103−1、103−2、103−3、・・・、103−N 処理サーバ
201 要求受付部
202 処理サーバ決定部
203 要求解析部
204 項目選択部
205 管理部
206 選択項目管理部
207 実行中処理情報管理部
208 処理サーバ処理状態管理部
209 再起動処理サーバ決定部
210 再起動時刻算出部
211 再起動通知部
Claims (11)
- 複数の処理サーバと前記複数の処理サーバの処理を管理する管理サーバとを有し、前記管理サーバは、クライアント装置から要求された処理を前記複数の処理サーバのいずれかに振り分けることにより該処理を実行する分散処理システムにおいて、
前記管理サーバは、
前記複数の処理サーバで実行中の処理をそれぞれ管理する第1の管理手段と、
前記複数の処理サーバの状態をそれぞれ管理する第2の管理手段と、
前記複数の処理サーバの再起動の条件情報を管理する第3の管理手段と、
前記第1の管理手段および前記第2の管理手段の管理情報を参照して前記第3の管理手段の管理情報に基づき前記複数の処理サーバの中の再起動を行う処理サーバを選択する選択手段と、
前記選択手段で選択された処理サーバに対して再起動を指示する再起動指示手段と
を具備することを特徴とする分散処理システム。 - 前記選択手段は、
一定の時間毎若しくは前記クライアント装置から処理の要求がある毎若しくは前記クライアント装置から要求された処理が終了する毎に、前記第1の管理手段で管理する実行中の処理の数を調べ、該実行中の処理の数が予め設定された数より小さいことを条件に前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1記載の分散処理システム。 - 前記第3の管理手段は、
前記複数の処理サーバの再起動の順番情報を管理し、
前記選択手段は、
前記順番情報に基づき前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1または2記載の分散処理システム。 - 前記第3の管理手段は、
前記複数の処理サーバの起動開始時刻を管理し、
前記選択手段は、
前記起動開始時刻に基づき起動されている時間が長い処理サーバを優先して前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1または2記載の分散処理システム。 - 前記第3の管理手段は、
前記複数の処理サーバの実行した処理の数を計数管理し、
前記選択手段は、
前記実行した処理の数が多い処理サーバを優先して前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1または2記載の分散処理システム。 - 前記第3の管理手段は、
前記複数の処理サーバの実行した処理の延べ処理時間を計数管理し、
前記選択手段は、
前記実行した処理の延べ処理時間が長い処理サーバを優先して前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1または2記載の分散処理システム。 - 前記第3の管理手段は、
前記複数の処理サーバの平均処理時間を算出管理し、
前記選択手段は、
前記平均処理時間の増加率が大きい処理サーバを優先して前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1または2記載の分散処理システム。 - 前記第3の管理手段は、
前記複数の処理サーバの同一の処理に対する処理時間を算出管理し、
前記選択手段は、
前記処理時間の大きい処理サーバを優先して前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1または2記載の分散処理システム。 - 前記第3の管理手段は、
前記複数の処理サーバの再起動の順番情報、前記複数の処理サーバの起動開始時刻、前記複数の処理サーバの実行した処理の数、前記複数の処理サーバの実行した処理の延べ処理時間、前記複数の処理サーバの平均処理時間、前記複数の処理サーバの同一の処理に対する処理時間の内の少なくとも2つの情報を管理し、
前記選択手段は、
前記少なくとも2つの情報の基づき前記再起動を行う処理サーバを選択する
ことを特徴とする請求項1または2記載の分散処理システム。 - 複数の処理サーバと前記複数の処理サーバの処理を管理する管理サーバとを有し、前記管理サーバは、クライアント装置から要求された処理を前記複数の処理サーバのいずれかに振り分けることにより該処理を実行する分散処理システムの再起動制御方法であって、
前記複数の処理サーバで実行中の処理をそれぞれ第1の管理手段で管理し、
前記複数の処理サーバの状態をそれぞれ第2の管理手段で管理し、
前記複数の処理サーバの再起動の条件情報を第3の管理手段で管理し、
前記第1の管理手段および前記第2の管理手段の管理情報を参照して前記第3の管理手段の管理情報に基づき前記複数の処理サーバの中の再起動を行う処理サーバを選択手段で選択し、
前記選択手段で選択された処理サーバに対して前記管理サーバから再起動を指示する
ことを特徴とする再起動方法。 - 複数の処理サーバと前記複数の処理サーバの処理を管理する管理サーバとを有し、前記管理サーバは、クライアント装置から要求された処理を前記複数の処理サーバのいずれかに振り分けることにより該処理を実行する分散処理システムの再起動制御をコンピュータにより実行させる再起動制御プログラムであって、
前記複数の処理サーバで実行中の処理をそれぞれ管理する第1のステップと、
前記複数の処理サーバの状態をそれぞれ管理する第2のステップと、
前記複数の処理サーバの再起動の条件情報を管理する第3のステップと、
前記第1のステップおよび前記第2のステップの管理情報を参照して前記第3のステップの管理情報に基づき前記複数の処理サーバの中の再起動を行う処理サーバを選択する第4のステップと、
前記第4のステップで選択された処理サーバに対して再起動を指示する第5のステップと
を含むことを特徴とする再起動制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004204731A JP2006031096A (ja) | 2004-07-12 | 2004-07-12 | 分散処理システムおよびその再起動制御方法および再起動制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004204731A JP2006031096A (ja) | 2004-07-12 | 2004-07-12 | 分散処理システムおよびその再起動制御方法および再起動制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006031096A true JP2006031096A (ja) | 2006-02-02 |
Family
ID=35897412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004204731A Pending JP2006031096A (ja) | 2004-07-12 | 2004-07-12 | 分散処理システムおよびその再起動制御方法および再起動制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006031096A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171427A (ja) * | 2007-01-11 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | データセンタにおける複数個のサーバーを再起動するための最適の順序を決定する方法 |
JP2009223519A (ja) * | 2008-03-14 | 2009-10-01 | Toshiba Corp | クラスタシステム及び同システムにおいてマスタノードを選択する方法 |
JP2013161344A (ja) * | 2012-02-07 | 2013-08-19 | Ntt Facilities Inc | 再起動制御システム、再起動制御方法及びプログラム |
JP2018148477A (ja) * | 2017-03-08 | 2018-09-20 | 日本電気株式会社 | 選択装置、装置選択方法、プログラム |
JP2018147339A (ja) * | 2017-03-08 | 2018-09-20 | 日本電気株式会社 | システム管理装置、システム管理方法、プログラム、情報処理システム |
-
2004
- 2004-07-12 JP JP2004204731A patent/JP2006031096A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171427A (ja) * | 2007-01-11 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | データセンタにおける複数個のサーバーを再起動するための最適の順序を決定する方法 |
JP2009223519A (ja) * | 2008-03-14 | 2009-10-01 | Toshiba Corp | クラスタシステム及び同システムにおいてマスタノードを選択する方法 |
JP2013161344A (ja) * | 2012-02-07 | 2013-08-19 | Ntt Facilities Inc | 再起動制御システム、再起動制御方法及びプログラム |
JP2018148477A (ja) * | 2017-03-08 | 2018-09-20 | 日本電気株式会社 | 選択装置、装置選択方法、プログラム |
JP2018147339A (ja) * | 2017-03-08 | 2018-09-20 | 日本電気株式会社 | システム管理装置、システム管理方法、プログラム、情報処理システム |
US10951707B2 (en) | 2017-03-08 | 2021-03-16 | Nec Corporation | Selection device, device selection method, and program |
US11362890B2 (en) | 2017-03-08 | 2022-06-14 | Nec Corporation | System management device, system management method, program, and information processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609159B2 (en) | Providing higher workload resiliency in clustered systems based on health heuristics | |
JP5359295B2 (ja) | 負荷分散装置、負荷分散方法および負荷分散プログラム | |
US7257731B2 (en) | System and method for managing protocol network failures in a cluster system | |
WO2010100859A1 (ja) | 分散システム | |
US20100274885A1 (en) | Proactive load balancing | |
US8479038B1 (en) | Method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter | |
JP2019008417A (ja) | 情報処理装置、メモリ制御方法およびメモリ制御プログラム | |
JP6615761B2 (ja) | 分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法 | |
CN113391944A (zh) | 计算系统中延期的服务器恢复方法和设备 | |
US10389652B2 (en) | Connection pool management | |
CN111064781A (zh) | 多容器集群监控数据的采集方法、装置及电子设备 | |
JP6272190B2 (ja) | 計算機システム、計算機、負荷分散方法及びそのプログラム | |
JP5050878B2 (ja) | 監視装置、監視システム、監視方法およびプログラム | |
JP2020115330A (ja) | ソフトウエアアプリケーションプロセスを監視するシステムと方法 | |
JP2007164264A (ja) | 負荷分散プログラム、負荷分散装置、サービスシステム | |
WO2018003031A1 (ja) | 仮想化管理プログラム、仮想化管理装置および仮想化管理方法 | |
JP2018063672A (ja) | メッセージ実行サーバー、制御方法、およびプログラム | |
JP2010231293A (ja) | 監視装置 | |
JP2006031096A (ja) | 分散処理システムおよびその再起動制御方法および再起動制御プログラム | |
JP7283572B2 (ja) | エッジ切替システム、エッジ切替装置、エッジ切替方法およびプログラム | |
EP3912036B1 (en) | Technique for connection handling in a distributed system | |
JP2009223519A (ja) | クラスタシステム及び同システムにおいてマスタノードを選択する方法 | |
US10635997B1 (en) | Finite life instances | |
JP5632403B2 (ja) | タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム | |
US9880855B2 (en) | Start-up control program, device, and method |