JP4266786B2 - 情報処理システム及び情報処理装置 - Google Patents

情報処理システム及び情報処理装置 Download PDF

Info

Publication number
JP4266786B2
JP4266786B2 JP2003389929A JP2003389929A JP4266786B2 JP 4266786 B2 JP4266786 B2 JP 4266786B2 JP 2003389929 A JP2003389929 A JP 2003389929A JP 2003389929 A JP2003389929 A JP 2003389929A JP 4266786 B2 JP4266786 B2 JP 4266786B2
Authority
JP
Japan
Prior art keywords
proxy
information
load
processing
information 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.)
Expired - Fee Related
Application number
JP2003389929A
Other languages
English (en)
Other versions
JP2005149423A (ja
Inventor
曜児 砂田
穂高 古屋
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2003389929A priority Critical patent/JP4266786B2/ja
Priority to US10/793,961 priority patent/US20050120354A1/en
Publication of JP2005149423A publication Critical patent/JP2005149423A/ja
Priority to US12/144,799 priority patent/US20080263128A1/en
Application granted granted Critical
Publication of JP4266786B2 publication Critical patent/JP4266786B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management

Description

本発明は、例えば、ファイルサーバやNAS(Network Attached Storage)等としても機能させることができる情報処理システム及び情報処理装置に関する。
ネットワーク上に分散された複数のコンピュータ端末間でデータを共有するために、ファイルサーバが用いられている。初期型のファイルサーバとしては、例えば、汎用OS(Operating System)に、CIFS(Common Internet File System)やNFS(Network File System:NFSは米国Sun Microsystems社の商標)等のファイル共有プロトコルを実装したものが知られている。改良されたファイルサーバとしては、ファイル共有サービスに特化した専用のOSを用い、複数のファイル共有プロトコル(CIFS、NFS、DAFS(Direct Access File System)等)をサポートしたNASが知られている。
また、情報処理システムの信頼性を高めたり、負荷分散等を行うために、クラスタシステムが構築されている。クラスタシステムとは、複数のNASを粗結合させて1つのまとまりを構成したものである。クラスタシステムは、少なくとも2つのNASを含んで構成される。一方のNASと他方のNASとは、定期的にハートビート通信を行うことにより、相互にシステムダウンを監視している。NASのシステムダウンは、ハートビート通信の途絶により検出される。いずれか一方のNASがシステムダウンした場合には、他方のNASがサービスを引き継ぐようになっている。従って、このような冗長構造を採用することによっても、情報処理システムを構成するNASの数は増大する。
ところで、クラスタ内のノードに障害が発生した場合に、障害発生時のメモリダンプを共有ディスクに格納させる技術が知られている(特許文献1)。
特開2003−30011号公報
システム管理者は、情報処理システムを構成する全てのNASの稼働状況を常に把握していることが望ましい。しかし、各NASの稼働状況は、各NAS毎にそれぞれ独立して管理され保存されている。従って、システム管理者が手動操作によって全てのNASを巡回しながら各NASの稼働状況を確認する際に要する時間については考慮されていなかった。また、過負荷状態になっているNASの稼働状況を確認するために当該NASで実行される処理の負荷についても考慮されていなかった。
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的の一つは、各情報処理装置の負荷状態を一元的に管理できるようにした情報処理システム及び情報処理装置を提供することにある。本発明の目的の一つは、情報処理装置の負荷が増大した場合でも、各情報処理装置の負荷状態を安定的に一元管理することができる情報処理システム及び情報処理装置を提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従う情報処理システムは、複数の情報処理装置と該各情報処理装置により共有される共有記憶装置とを通信ネットワークを介して双方向通信可能に接続してなる情報処理システムであって、各情報処理装置は、自機の負荷状態に関する負荷情報を生成して共有記憶装置に記憶させる負荷情報格納部と、負荷情報閲覧要求に応じて、共有記憶装置に記憶されている各情報処理装置の負荷情報をそれぞれ読出し、負荷情報閲覧要求の発行元に各負荷情報を提供する負荷情報提供部と、共有記憶装置に記憶されている各負荷情報に基づいて、各情報処理装置のうち、処理代行元の情報処理装置及び処理代行先の情報処理装置をそれぞれ決定する処理代行装置決定部と、自機が処理代行先として決定された場合に、処理代行元として決定された情報処理装置における特定の処理を代行する処理代行部と、自機が処理代行元として決定された場合に、処理代行先として決定された情報処理装置に処理代行を依頼する特定の処理を予め登録しておく代行対象処理登録部と、を備えていることを特徴とする。
情報処理装置は、CPU(Central Processing Unit)やメモリ等を備えたコンピュータ装置である。情報処理装置は、ファイル共有機能を備えることも可能であり、例えば、ファイルサーバやNASとして構成することもできる。共有記憶装置は、例えば、半導体記憶装置やディスク記憶装置等が提供する物理的な記憶領域上に設定される論理的な記憶領域(論理ボリューム)である。各情報処理装置及び共有記憶装置は、例えば、LAN(Local Area Network)やインターネット等の通信ネットワークを介して相互に接続されている。なお、各情報処理装置の全部または一部は、一つまたは複数のクラスタにまとめることもできる。各情報処理装置は、負荷情報格納部と、負荷情報提供部と、処理代行装置決定部と、処理代行部と、代行対象処理登録部とを、それぞれ備えている。
負荷情報格納部は、自機の負荷状態に関する負荷情報を生成し、共有記憶装置に記憶させる。例えば、負荷情報格納部は、負荷状態に関する基礎情報を収集し、この基礎情報をさらに統計処理することにより、負荷情報を生成することができる。基礎情報としては、例えば、CPU利用率、ファイルアクセス数、記憶装置との間のデータ入出力速度等を挙げることができる。統計処理としては、例えば、最大値、最小値、平均値等を挙げることができる。統計処理された負荷情報を用いることにより、基礎情報をそのまま使用する場合よりも、データサイズを低減できる。
負荷情報提供部は、負荷情報閲覧要求に応じて、共有記憶装置に記憶されている全ての情報処理装置に関する負荷情報を読出し、これら読み出した各負荷情報を負荷情報閲覧要求の発行元に提供する。ここで負荷情報閲覧要求の発行元としては、例えば、システム管理者により操作される管理端末等を挙げることができる。このように、各情報処理装置の負荷情報を共有記憶装置に集中して記憶させ、さらに、各情報処理装置のいずれか1つが有する負荷情報提供部を介して、全ての情報処理装置の負荷情報を閲覧可能とする。これにより、システム管理者は、任意の1つの情報処理装置にアクセスするだけで、全ての情報処理装置の負荷状態を把握することができる。ここで、例えば、負荷情報提供部は、各負荷情報をウェブヴラウザで閲覧可能な形態で提供することもできる。ウェブヴラウザで閲覧可能な形態としては、例えば、HTML(HyperText Markup Language)、XML(eXtensible Markup Language)、SGML( Standard Generalized Markup Language)等を挙げることができる。これにより、ウェブヴラウザが実装されているだけの管理端末を用いて、全ての情報処理装置の負荷状態を監視することができる。このような管理端末としては、例えば、パーソナルコンピュータや携帯情報端末、携帯電話等を挙げることができる。
処理代行装置決定部は、共有記憶装置に記憶されている各負荷情報に基づいて、各情報処理装置のうち、処理代行元の情報処理装置及び処理代行先の情報処理装置をそれぞれ決定する。処理代行元に決定された情報処理装置で行われている処理の少なくとも一部は、処理代行先に決定された情報処理装置の処理代行部により代行される。このような自立的な負荷分散作用により、ある情報処理装置に発生した高負荷状態を低減し、情報処理システムの安定性を図ることができる。
ここで、例えば、処理代行装置決定部は、最も高負荷の情報処理装置を処理代行元として決定し、最も低負荷の情報処理装置を処理代行先として決定できる。また、処理代行装置決定部は、最も高負荷の情報処理装置が所定の上限値を上回っている場合に処理代行元の情報処理装置として決定し、最も低負荷の情報処理装置が所定の下限値を以下である場合に処理代行先の情報処理装置として決定することもできる。さらに、処理代行装置決定部は、所定時間毎に、処理代行元の情報処理装置及び処理代行先の情報処理装置をそれぞれ決定することもできる。ここで、留意すべきは、各情報処理装置の処理代行装置決定部は、自機のみに注目して処理代行元及び処理代行先を決定するのではなく、情報処理システム全体の中で自立的で公平に処理代行元及び処理代行先を決定する点にある。処理代行装置決定部は、クラスタを超えて、処理代行元及び処理代行先を決定できる。
処理代行元の情報処理装置及び処理代行先の情報処理装置の対応関係を管理するための代行関係管理テーブルを共有記憶装置に格納しておけば、処理代行装置決定部は、各負荷情報及び代行関係管理テーブルに基づいて、処理代行元の情報処理装置及び処理代行先の情報処理装置をそれぞれ決定することもできる。
処理代行部により代行される特定の処理は、負荷情報格納部により実行される処理の全部または一部とすることができる。これにより、情報処理装置の負荷が増大した場合でも、処理代行先の情報処理装置によって、処理代行元の情報処理装置の負荷状態を監視することができる。
代行対処理処理登録部は、処理代行先の情報処理装置に処理の代行を依頼する特定の処理について予め登録しておく。処理代行先の情報処理装置は、予め登録された特定の処理のみを代行すればよい。ここで、例えば、代行対象処理登録部は、特定の処理をスケジューリングテーブルに予め登録しておくことができる。そして、処理代行先の情報処理装置の処理代行部は、スケジューリングテーブルの読み込み権限を専有することにより、スケジューリングテーブルに基づいて特定の処理を行う。処理代行装置決定部により処理代行先の決定が解除された場合には、処理代行先の処理代行部は、スケジューリングテーブルの読み込み権限を放棄することができる。
以下、図1〜図11に基づき、本発明の実施形態を説明する。
本発明に係る情報処理システムは、複数のサーバと、これら各サーバにより共有される共有記憶装置と、各サーバを管理するための管理端末とを通信ネットワークを介して双方向通信可能に接続して構成される。
そして、各サーバは、負荷情報格納部と、負荷情報提供部と、処理代行サーバ決定部と、処理代行部と、代行対象処理登録部とを、それぞれ備えている。これら各部は、例えば、エージェントプログラムのような形態で各サーバに常駐する。
ここで、詳細はさらに後述するが、負荷情報格納部は、自機の負荷状態に関する基礎情報を収集し、この基礎情報を統計処理することにより負荷情報を生成し、この負荷情報を共有記憶装置に記憶させる機能を実現する。負荷情報提供部は、管理端末からの負荷情報閲覧要求に応じて、共有記憶装置に記憶されている各サーバの負荷情報をそれぞれ読出し、管理端末に各負荷情報を提供する機能を実現する。また、処理代行サーバ決定部は、所定時間毎に共有記憶装置に記憶されている各負荷情報に基づいて、各サーバのうち、最も高負荷のサーバを処理代行元として、最も低負荷のサーバを処理代行先として、それぞれ決定する機能を実現する。処理代行部は、自機が処理代行先として決定された場合に、処理代行元として決定されたサーバの負荷情報格納部の処理を代行する機能を実現する。代行対象処理登録部は、自機が処理代行元として決定された場合に、処理代行先として決定されたサーバに処理代行を依頼する負荷情報格納部の処理を予め登録しておく機能を実現する。
図1は、本実施例による情報処理システムの全体概要を示すブロック図である。この情報処理システムは、それぞれ後述するように、「負荷情報閲覧要求の発行元」に該当する管理端末10と、「サーバ」または「情報処理装置」に該当する複数のサーバ20(1)〜20(n)と(特定のサーバを示さない場合は、「サーバ20」と呼ぶ)、「共有記憶装置」に該当する共有LU(Logical Unit)40とを備えて構成されている。これら管理端末10,各サーバ20,共有LU40は、例えば、LAN、WAN(Wide Area Netwrok)、インターネット等の通信ネットワークCNを介して、相互に接続されている。この場合、管理端末10と各サーバ20との間のデータ通信は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)に従う。なお、管理端末10から共有LU40に直接アクセス可能な構成とする必要はない。
管理端末10は、例えば、情報処理システムのシステム管理者により操作されるコンピュータ装置である。管理端末10は、例えば、パーソナルコンピュータ、ワークステーション、携帯情報端末、携帯電話等のようなデータ通信可能なコンピュータ装置として構成される。管理端末10には、少なくともウェブヴラウザ11が実装されている。このウェブヴラウザ11は、例えば、HTML、XML、SGML等のマークアップ言語で記述されたファイルを閲覧することができる。
各サーバ20は、例えば、SAN(Storage Area Network)や専用回線等を介して、ローカルLU30とそれぞれ接続されている。各ローカルLU30は、例えば、ハードディスク装置、光ディスク装置、半導体メモリ装置等の物理的な記憶装置上に構成された論理的な記憶領域(論理ボリューム)である。各サーバ20は、それぞれのローカルLU30を用いて、ファイル共有サービスを提供することができる。各サーバ20には、それぞれ同一構成の処理部21〜26が実装されている。これらの処理部21〜26は、それぞれ所定のプログラムが実行されることにより、それぞれの機能を実現する。なお、各処理部21〜26の全部または一部、あるいは処理部の一部分は、ハードウェア回路として実現可能な場合がある。
負荷情報格納部21は、負荷情報格納機能を実現する。負荷情報格納プログラムがサーバ20上で実行されることにより、サーバ20は負荷情報格納部21として機能する。詳細はさらに後述するが、負荷情報格納部21は、定期的に、自身が実装されているサーバ20の負荷に関する情報を収集して編集し、この情報を共有LU40の所定ディレクトリに格納させる。
負荷情報採集部22は、負荷情報採集機能を実現する。負荷情報採集プログラムがサーバ20上で実行されることにより、サーバ20は負荷情報採集部22として機能する。負荷情報採集機能とは、管理端末10のウェブヴラウザ11からアクセス要求を受け付けた場合に、共有LU40に格納されている全ての負荷情報を読み出す機能である。また、負荷情報ファイル作成部23は、負荷情報ファイル作成機能を実現する。負荷情報ファイル作成プログラムがサーバ20上で実行されることにより、サーバ20は負荷情報ファイル作成部23として機能する。負荷情報ファイル作成機能とは、負荷情報採集部22により採集された各負荷情報を、ウェブヴラウザ11で閲覧可能な形態に編集して、ウェブヴラウザ11に提供する機能である。負荷情報ファイル作成部23は、例えば、ウェブページを自動生成するためのCGI(Common Gateway Interface)プログラムをサーバ20上で実行させることにより、実現することができる。負荷情報採集部22及び負荷情報ファイル作成部23は、「負荷情報提供部」に該当する。
処理代行サーバ決定部(以下、代行決定部)24は、処理代行元サーバ及び処理代行先サーバをそれぞれ決定する機能を実現する。代行決定部24は、「処理代行ファイルサーバ決定部」または「処理代行装置決定部」に該当する。代行決定プログラムがサーバ20上で実行されることにより、サーバ20は代行決定部24として機能する。詳細はさらに後述するが、代行決定部24は、各サーバ20のそれぞれ負荷状態に基づいて、高負荷のサーバ20を処理代行元として、低負荷のサーバ20を処理代行先として、それぞれ決定する機能を実現する。
処理代行部25は、処理代行機能を実現するもので、「処理代行部」に該当する。処理代行プログラムがサーバ20上で実行されることにより、サーバ20は処理代行部25として機能する。処理代行機能とは、自身が実装されているサーバ20が処理代行先として決定された場合に、処理代行元サーバ20の特定の処理を肩代わりして実行する機能である。
代行対象処理スケジューリング部(以下、スケジューリング部)26は、「代行対象処理登録部」または「代行対象処理登録部」に該当する。代行対象処理スケジューリングプログラムがサーバ20上で実行されることにより、サーバ20はスケジューリング部26として機能する。スケジューリング部26は、代行先サーバ20に代行を依頼する処理を、代行対象処理スケジューリングテーブル(以下、スケジューリングテーブル)27に予め登録する。スケジューリング部26は、負荷情報格納部21の処理を代行対処理処理として、スケジューリングテーブル27に予め登録する。これ以外に、通常の業務アプリケーションサービス(例えば、電子メールサービス、ビデオ配信サービス、ドキュメント管理サービス等)の一部を代行対象処理として、スケジューリングテーブル27に登録することもできる。通常時において、スケジューリングテーブル27に登録された処理は、そのサーバ20により実行される。高負荷時においては、スケジューリングテーブル27に登録された処理は、代行先のサーバ20により実行される。
共有LU40は、例えば、ハードディスク装置、光ディスク装置、半導体メモリ装置等の物理的な記憶装置上に構成された論理的な記憶領域(論理ボリューム)である。共有LU40には、例えば、負荷情報管理テーブル41と、代行関係管理テーブル42とが記憶されている。負荷情報管理テーブル41には、各サーバ20からの負荷情報がそれぞれ登録される。また、代行関係管理テーブル42には、代行元サーバ20及び代行先サーバ20に関する情報が登録されている。
なお、負荷情報管理テーブル41は、必ずしもテーブル形式で存在する必要はない。例えば、共有LU40に各サーバ20の専用ディレクトリをそれぞれ設けておき、各サーバ20は、それぞれの負荷情報を専用ディレクトリに格納していく構成でもよい。また、代行関係管理テーブル42は、必ずしも必要ではない。
共有LU40及び各ローカルLU30は、それぞれ物理的に離れた場所に設置することもできるし、あるいは同一のストレージサブシステム内に設けることもできる。即ち、ストレージサブシステム内に設定された1つの論理ボリュームを共有LU40として用い、他の幾つかの論理ボリュームをそれぞれのサーバ20にネットワークマウントすることにより、ローカルLU30としてもよい。
図2(a)は、負荷情報管理テーブル41の記憶内容を、ウェブヴラウザ11で閲覧する様子を示す模式図である。ウェブヴラウザ11には、情報処理システムに参加する各サーバ20の負荷情報が、一覧形式で表示される。負荷情報は、CPU利用率やアクセス数等の基礎情報を統計処理することにより、生成される。統計処理の方法としては、例えば、最大値、最小値、平均値等を挙げることができる。
図2(a)に示す例では、各サーバ20の負荷情報が、最大値、最小値及び平均値として表示されている。ここで、負荷情報は、基礎情報を統計的に処理して得られる数値であり、本実施例では、値「100」が正常稼働時の上限値となるように調整されている。なお、「100」は一例であって、本発明はこれに限定されない。また、数値表示ではなく、例えば、負荷情報を棒グラフ等のように視覚化、図形化して表示してもよい。さらに、例えば、高負荷状態の場合は赤色、適正状態の場合は緑色、低負荷状態の場合は青色等のように、負荷のレベルに応じてグラフや数値の色彩を変化させてもよい。
図2(b)に示す代行関係管理テーブル42は、情報処理システム内における代行関係を管理している。この代行関係管理テーブル42は、例えば、代行先サーバ(処理を肩代わりするサーバ)を特定するための情報(例えば、IPアドレス等)と、代行元サーバ(処理の肩代わりを依頼するサーバ)を特定するための情報と、代行される処理内容と、代行期間とを対応付けることにより構成される。
図中では、1組の代行関係についてのみ示されているが、複数組の代行関係を管理することもできる。さらに、過去に実施された代行関係を、履歴として所定期間保存することも可能である。代行関係の履歴ファイルを保存することにより、情報処理システムのメンテナンス計画や設備改善計画に活かすことができる。また、図2(b)に示す以外の他の情報を合わせて管理してもよい。
代行関係管理テーブル42の「代行内容」の欄には、代行先サーバにより代行されている処理内容が記録される。本実施例では、負荷情報に関する処理が代行される。これにより、代行元サーバが高負荷状態になった場合でも、この高負荷状態のサーバの負荷情報を共有LU40に集約して一元的に管理することができる。代行関係管理テーブル42の「代行期間」の欄には、代行先サーバによる代行処理の期間が記録される。本実施例では、後述のように、所定サイクルで代行関係の見直しが行われる。
図3は、スケジューリングテーブル27の一例を示す説明図である。図3に示すスケジューリングテーブル27は、第2のサーバ(図中、「サーバ2」と表示)20(2)に登録されているものである。以下の説明では、第2のサーバ20(2)に所定値以上の高負荷状態が発生し、サーバ20(2)の処理の一部を第1のサーバ(図中、「サーバ1」と表示)20(1)に代行させる場合を例に挙げて説明する。図3に示すスケジューリングテーブル27は、サーバ20(2)の処理が代行される前の状態を示している。
スケジューリングテーブル27には、例えば、各処理(図中、「JOB」と表示)をそれぞれ識別するための処理識別番号(図中、「ID」と表示)と、代行可能な各処理の内容(図中、「JOB」と表示)と、各処理の実行ステータスを示すフラグ情報(図中、「STAT」と表示)と、各処理を実行した装置名(図中、「EXECUTOR」と表示)とが、それぞれ対応付けられている。
処理識別情報(ID)には、例えば、連続した番号が用いられる。図3に示す例では、スケジューリングテーブル27の一部が抜き出されて表示されているため、「1010」番目の処理から始まっている。代行可能な処理内容(JOB)として、本実施例では、7種類の処理を例示する。そして、これら7種類の処理は、大きく2種類の処理群に分けることができる。第1の種類の処理群は、基礎情報の収集格納を行うもので、第1の処理〜第4の処理から構成される。第1の処理は、CPU利用率の採集処理である(処理識別番号1010,1016等)。CPU利用率の採集処理とは、サーバ20(2)のメインプロセッサの稼働率を収集する処理である。なお、サーバ20(2)が複数のマイクロプロセッサを搭載する場合、メインプロセッサの利用率だけではなく、他のマイクロプロセッサの全部または一部の利用率をそれぞれ採集するようにしてもよい。第2の処理は、アクセス数の採集処理である(処理識別番号1012,1018等)。アクセス数の採集処理とは、サーバ20(2)に対するファイルアクセス要求の数を収集する処理である。第3の処理は、I/O速度の測定処理である(処理識別番号1014,1020等)。I/O速度の測定処理とは、ファイルアクセス要求に応答するためのデータ入出力処理の速度を収集する処理である。第4の処理は、ローカルLU30への格納である(処理識別番号1011,1013等)。ローカルLU30への格納処理とは、収集したCPU利用率、アクセス数及びI/O速度を、ローカルLU30の所定領域に格納させる処理である。
CPU利用率の採集処理、アクセス数の採集処理及びI/O速度の測定処理は、負荷情報を生成するための基礎的な情報(以下、基礎情報とも呼ぶ)である。これら各基礎情報を採取するたびに、ローカルLU30への格納処理が実行される。CPU利用率の採集及びローカルLU30への格納と、アクセス数の採集及びローカルLU30への格納と、I/O速度の測定及びローカルLU30への格納とが、1セットの基礎情報収集格納処理を構成する。この1セットの基礎情報収集格納処理が、繰り返し行われる。なお、基礎情報としては、この他に、例えば、キャッシュメモリの空き容量、ネットワークトラフィック等を採用してもよい。
基礎情報の収集及び格納が所定量行われると、第2の種類の処理群が実行される。この第2の種類の処理群は、負荷情報の生成及び格納を行うもので、第5の処理〜第7の処理から構成される。第5の処理は、ローカルLU30に格納された基礎情報(CPU利用率、アクセス数、I/O速度)を読み出す処理である(処理識別番号1028)。第6の処理は、ローカルLU30から読み出された基礎情報に基づいて予め定められた所定の統計処理を行うことにより、負荷情報を生成する処理である(処理識別番号1029)。第7の処理は、生成された負荷情報を共有LU40の所定領域に格納させる処理である(処理識別番号1030)。
このように、複数回の基礎情報収集格納処理が実行されて、負荷情報を生成するのに必要なだけの基礎情報がローカルLU30内に蓄積されると、負荷情報生成格納処理が開始される。そして、負荷情報生成格納処理により、負荷情報が共有LU40に格納されると、一連の処理が完了する。一連の処理とは、基礎情報収集格納処理及び負荷情報生成格納処理である。そして、この一連の処理が何度も繰り返される。ここで、注目すべき点は、基礎情報それ自体は、各サーバ20のローカルLU30に格納され、基礎情報から生成された負荷情報のみが共有LU40に格納される点である。これにより、生データである基礎情報をそのまま共有LU40に格納する場合に比べて、記憶領域の消費量を低減することができ、また、負荷情報ファイル作成部23により、負荷情報をウェブヴラウザ11に提供する場合の処理負荷を少なくすることができる。
実行ステータスフラグ(STAT)は、各処理の実行状況を示すもので、本実施例では、例えば、4種類のステータスを識別できるようになっている。例えば、実行ステータスフラグに「0」がセットされている処理は、「未実行」であることを示す。実行ステータスフラグに「1」がセットされている処理は、「実行済」であることを示す。実行ステータスフラグに「2」がセットされている処理は、「自機(図3に示す例ではサーバ20(2))で実行中」であることを示す。実行ステータスフラグに「3」がセットされている処理は、「代行先サーバにより実行中」であることを示す。
実行元装置名(EXECUTOR)には、その処理を実行したサーバ20の装置名や装置番号等が記録される。本実施例の場合は、サーバ20(2)の処理をサーバ20(1)が代行する場合を説明するので、実行元装置名には、サーバ20(2)またはサーバ20(1)のいずれかの装置名が登録される。
図4には、ある時点で代行処理が開始された場合のスケジューリングテーブル27が示されている。図4に示す例では、図中黒矢印で示すように、処理識別番号1030の実行を完了した時点で、サーバ20(2)に高負荷状態が発生し、処理識別番号1031の時点で、サーバ20(2)の処理をサーバ20(1)が代行する様子が示されている。
従って、処理識別番号1031のCPU利用率の採集処理は、サーバ20(1)により代行され、「実行済」を示すフラグ(「1」)がセットされている。そして、続く処理識別番号1032のローカルLU30への格納処理には、サーバ20(1)によって実行されている旨を示すフラグ(「3」)がセットされている。さらに続く処理識別番号1033及び1034には、それぞれ未実行を示すフラグ(「0」)がセットされている。詳細は後述するが、スケジューリングテーブル27に登録されているサーバ20(2)の処理をサーバ20(1)が代行する場合、スケジューリングテーブル27へのアクセス権は、代行先であるサーバ20(1)が取得する。従って、サーバ20(2)は、スケジューリングテーブル27を読み込んで、そこに登録された処理を行うことができなくなる。サーバ20(2)の負荷が低下して代行関係が解除されると、スケジューリングテーブル27のアクセス権は、サーバ20(1)からサーバ20(2)に返還される。
次に、本実施例の作用について説明する。図5は、負荷情報の生成から負荷情報の一元管理までの全体動作を示す説明図である。図5では、第1のサーバ20(1)を例に挙げて説明するが、いずれのサーバ20でも同様である。
図1には示されていないが、各サーバ20は、それぞれOS28及びファイル共有プログラム29を備えている。OS28は、例えば、ファイル共有サービスに特化した専用OSとして構成可能である。ファイル共有部29は、図外のクライアント端末に対して、所定のファイル共有プロトコルに従ったファイル共有サービスを提供する。
負荷情報格納部21は、定期的に、OS28やファイル共有プログラム29から、CPU利用率やアクセス数等の基礎情報を収集している(S1)。なお、例えば、図示を省略するが、負荷情報格納部21は、例えば、入出力専門プロセッサ(I/Oプロセッサ)やメモリコントローラ等の他の回路または部から、基礎情報を収集することもできる。
負荷情報格納部21は、収集した基礎情報をローカルLU30の所定領域に格納する(S2)。ローカルLU30内には、基礎情報ファイル31が保存される。負荷情報格納部21は、所定量の基礎情報が収集されると、ローカルLU30から基礎情報を読み出す(S3)。負荷情報格納部21は、基礎情報を統計処理することにより、負荷情報を生成する(S4)。このように基礎情報を加工して得られた負荷情報のデータサイズは、負荷情報を生成するために用いられた全基礎情報の合計データサイズよりも小さくなる。負荷情報格納部21は、生成された負荷情報を共有LU40に格納させる(S5)。
システム管理者は、定期的または不定期に、情報処理システムを構成する各サーバ20の負荷状況を把握し、システムの維持に努めている。システム管理者は、管理端末10のウェブヴラウザ11を介して、任意の時点で、任意のサーバ20(図5の例では、サーバ20(1))にアクセスし、負荷情報ファイルの転送を要求する(S6)。なお、管理端末10からサーバ20にログインする際には、例えば、ユーザ名やパスワード等の照合による所定の認証処理を行うことができる。この認証処理は、例えば、指紋、声紋、虹彩等の生体情報の照合を加えても良い。
負荷情報採集部22は、ウェブヴラウザ11からの転送要求を受け付けると、共有LU40に蓄積された全ての負荷情報を読み出す(S7,S8)。負荷情報採集部22は、ウェブヴラウザ11からの転送要求を受け付けたサーバ20(1)以外のその他のサーバ20を含めて、全てのサーバ20に関する負荷情報を読み出す。共有LU40から読み出された全てのサーバ20に関する負荷情報は、負荷情報採集部22から負荷情報ファイル作成部23に引き渡される(S9)。
負荷情報ファイル作成部23は、入力された全ての負荷情報に基づいて、ウェブヴラウザ11により閲覧可能な形態の負荷情報ファイルを生成し、ウェブヴラウザ11に送信する(S10)。ウェブヴラウザ11により閲覧可能な形態のファイルとしては、例えば、HTMLやXML等を挙げることができる。ウェブヴラウザ11に表示される負荷情報の一覧は、図2に示すような構成である。これにより、システム管理者は、各サーバ20にそれぞれ個別にアクセスすることなく、全てのサーバ20の負荷状況を把握することができる。
図6は、高負荷のサーバ20の処理を低負荷のサーバ20が代行する場合の全体動作を示す説明図である。図6では、第2のサーバ20(2)が高負荷状態に、第1のサーバ20(1)が低負荷状態になっている。そして、図6では、第3のサーバ20(3)が各サーバ20(1),20(2)の負荷状態に基づいて、代行元サーバ及び代行先サーバを決定する場合が示されている。但し、代行関係を決定するサーバは、代行元サーバまたは代行先サーバが兼任することもできる。本実施例では、情報処理システムに参加する全てのサーバ20の負荷状態に基づいて、システム全体として最も効果的に代行関係が成立するように、代行元サーバ及び代行先サーバを公正に決定する。従って、代行当事者のサーバが代行関係を決定しても特に不都合は生じない。
サーバ20(3)は、定期的に、共有LU40の負荷情報管理テーブル41にアクセスすることにより、高負荷状態のサーバ20が出現していないかを監視している(S11,S12)。サーバ20(3)の代行決定部24は、負荷情報管理テーブル41の最新内容に基づいて、所定の上限値以上の高負荷状態となっているサーバ(サーバ20(2))を検出する(S13)。また、代行決定部24は、負荷情報管理テーブル41の最新内容に基づいて、所定の下限値以下の低負荷状態となっているサーバ(サーバ20(1))を検出する(S14)。上限値以上の高負荷状態のサーバ20(2)と、下限値以下の低負荷状態のサーバ20(1)との両方が検出された場合、代行決定部24は、高負荷のサーバ20(2)を代行元サーバに決定し、低負荷のサーバ20(1)を代行先サーバに決定する(S15)。
サーバ20(3)の代行決定部24は、代行先として決定されたサーバ20(1)に対し、この決定(代行先決定通知)を通知する(S16)。この通知は、例えば、サーバ20(3)からサーバ20(1)への直接的なメッセージで実現できる。あるいは、共有LU40の所定領域を介して、サーバ20(3)からサーバ20(1)に対し、決定を通知する構成でもよい。この代行先決定通知には、例えば、代行先サーバ20(1)を特定するための情報と、代行元サーバ20(2)を特定するための情報とが含まれている。
代行先として選択されたサーバ20(1)は、サーバ20(3)からの代行先決定通知に基づいて、代行元サーバ20(2)の処理を一部肩代わりする(S19)。具体的には、代行先サーバ20(1)の処理代行部25は、代行元サーバ20(2)のスケジューリングテーブル27の読み込みロックを取得し、代行元サーバ20(2)が自身のスケジューリングテーブル27を参照できないようにする(S17)。このように、テーブルロックを設定した後で、処理代行部25は、代行元サーバ20(2)のスケジューリングテーブル27を参照し(S18)、未処理のタスク(JOB)を順番に実行していく(S19)。処理代行部25は、自身が実行する処理のステータスフラグ(STAT)を更新する(S20)。これにより、サーバ20(1)の処理代行部25により実行された処理の実行ステータスフラグは、「0」→「3」→「1」へと変化する。
より詳しくは、代行先サーバ20(1)が、代行元サーバ20(2)のスケジューリングテーブル27に従って処理を代行する場合、代行元サーバ20(2)のローカルLU30は、代行元サーバ20(2)からアンマウントされる。そして、代行元サーバ20(2)のローカルLU30は、代行先サーバ20(1)にマウントされる。これにより、代行先サーバ20(1)は、代行元サーバ20(2)のローカルLU30を用いて、代行元サーバ20(2)の処理を肩代わりすることができる。代行先サーバ20(1)により代行される処理は、図3及び図4と共に述べたように、基礎情報の収集格納処理と、負荷情報の生成格納処理である。
次に、個別の処理内容について詳細を説明する。図7は、負荷情報格納部21により実行される基礎情報収集格納処理を示す。この基礎情報の採集及びローカルLU30への格納は、全てのサーバ20においてそれぞれ実行されるものである。なお、後述する各処理も、原則として全てのサーバ20において実行され得る。
まず、負荷情報格納部21は、予め設定された所定時間t1が経過したか否かを監視している(S31)。この所定時間t1は、基礎情報の採集サイクルを規定する時間である。所定時間t1は、例えば、サーバ20に大きな負荷をかけないように、そして、必要なだけの基礎情報を収集できるように、設定される。
所定時間t1が経過すると(S31:YES)、負荷情報格納部21は、CPU利用率やアクセス数等の最新の基礎情報を収集する(S32)。負荷情報格納部21は、ローカルLU30にアクセスし(S33)、最新の基礎情報をローカルLU30の所定の場所に格納する(S34)。負荷情報格納部21がアクセスするローカルLU30は、収集した基礎情報に対応するサーバ20のローカルLU30である。即ち、代行先サーバ20によって負荷情報の収集及び格納処理が代行されている場合、代行先サーバに固有のローカルLU30ではなく、代行元サーバ20のローカルLU30に基礎情報が格納される。なお、例えば、再びS34に戻る時に、所定時間t1を刻むタイマをリスタートさせる。
図8は、負荷情報格納部21により実行される負荷情報生成格納処理を示す。まず、負荷情報格納部21は、予め設定された所定時間t2が経過したか否かを監視している(S41)。この所定時間t2は、負荷情報の生成サイクルを規定する時間である。この所定時間t2は、例えば、所定時間t1と同様に、サーバ20に大きな負担とならず、かつ、情報処理システムの管理上必要な周期で負荷情報が収集されるように、設定される。
所定時間t2が経過すると(S41:YES)、負荷情報格納部21は、ローカルLU30にアクセスして(S42)、ローカルLU30に格納されている基礎情報を読み出す(S43)。負荷情報格納部21は、読み出された基礎情報を加工処理することにより、負荷情報を生成する(S44)。即ち、負荷情報格納部21は、例えば、多種類かつ複数の基礎情報を統計的に処理することにより、サーバ20の負荷状態を示す負荷値を生成する。この統計処理された負荷情報(負荷値)は、例えば、最大値、最小値、平均値等のように生成される。負荷情報格納部21は、負荷情報を生成すると、共有LU40にアクセスし(S45)、負荷情報管理テーブル41に負荷情報を登録する(S46)。なお、例えば、再びS41に戻る時に、所定時間t2をカウントするタイマをリスタートさせる。
図9は、代行決定部24により実行される代行元サーバ及び代行先サーバの決定処理を示す。代行決定部24は、予め設定された所定時間t3が経過したか否かを監視している(S51)。この所定時間t3は、代行関係を決定するサイクル、即ち、代行関係を見直すサイクルを規定する時間である。所定時間t3は、例えば、サーバ20に大きな負担をかけず、かつ、代行先サーバ20に長期間の代行を強いることがないように、設定される。なお、上述した各所定時間t1〜t3は、固定値である必要はなく、状況に応じて適宜調節するようにしてもよい。また、各所定時間t1〜t3は、それぞれ異なる値である必要もない。
所定時間t3が経過すると(S51:YES)、代行決定部24は、代行元サーバ20及び代行先サーバ20をそれぞれ決定するための判定初期値をセットする(S52)。代行決定部24は、例えば、2種類の判定初期値をセットする。1つは、代行元となる高負荷のサーバ20を決定するために用いる高負荷閾値LHである。他の1つは、代行先となる低負荷のサーバ20を決定するために用いる低負荷閾値LLである。
代行決定部24は、共有LU53にアクセスし(S53)、負荷情報管理テーブル41を参照する(S54)。代行決定部24は、負荷情報管理テーブル41に基づいて、情報処理システム内で最も高負荷状態となっているサーバ20を検出し、この最も高負荷状態のサーバ20の負荷が高負荷閾値LH以上であるか否かを判定する(S55)。この高負荷閾値LHは、例えば、負荷値「100」に設定される。
最も高負荷状態のサーバ20の負荷が高負荷閾値LH未満の場合(S55:NO)、代行決定部24は、処理の一部を代行させるほどの高負荷状態ではないと判定し、再びS51に戻る。なお、S51,S55,S56でそれぞれ「NO」と判定された場合やS58を終了してS51に戻る時に、所定時間t3をカウントするタイマがリセットされ、改めて時間をカウントする。
最も高負荷状態のサーバ20の負荷が高負荷閾値LH以上である場合(S55:YES)、代行決定部24は、負荷情報管理テーブル41に基づいて、情報処理システム内で最も低負荷状態となっているサーバ20を検出する。そして、代行決定部24は、最も低負荷状態のサーバ20の負荷が低負荷閾値LL以下であるか否かを判定する(S56)。この低負荷閾値LLは、例えば、負荷値「30」に設定される。最も低負荷状態のサーバ20の負荷が低負荷閾値LLを上回っている場合(S56:NO)、代行決定部24は、他のサーバ20の処理を代行できるほどの余力がないものと判定し、再びS51に戻る。
最も低負荷状態のサーバ20の負荷が低負荷閾値LL以下の場合(S56:YES)、代行決定部24は、代行関係を設定する(S57)。即ち、代行決定部24は、最も高負荷であって、かつ、高負荷閾値LH以上の負荷を有するサーバ20を代行元サーバとして決定する。また、代行決定部24は、最も低負荷であって、かつ、低負荷閾値LL以下の負荷を有するサーバ20を代行先サーバとして決定する。そして、代行決定部24は、代行先サーバとして決定されたサーバ20に対し、代行先として決定された事を示す情報と、代行元として決定されたサーバを特定するための情報とを送信する(S57)。
図2(a)に示したように、本実施例では、第2のサーバ20(2)は、他の全てのサーバ20よりも負荷が高く、その負荷平均値(Ave)は高負荷閾値LHを上回る「105」となっている。一方、第1のサーバ(1)は、他の全てのサーバ20よりも負荷が低く、その負荷平均値は低負荷閾値LLと等しい「30」になっている。従って、代行決定部24は、高負荷閾値LH以上の負荷を有する第2のサーバ20(2)を代行元サーバとして選択し、低負荷閾値LL以下の負荷を有する第1のサーバ20(1)を代行先サーバとして選択する。
ここで、注意すべき点は、代行決定部24は、単純に、最も高負荷のサーバ20と最も低負荷のサーバ20とを抽出して代行ペアを生成するものではない点である。このような単純なペアリングを行った場合は、例えば、ほんの僅かに負荷値が他のサーバ20を上回るサーバ20が代行元サーバとして決定され、ほんの僅かに負荷値が他のサーバ20を下回るサーバ20が代行先サーバとして決定される可能性がある。全てのサーバ20が高負荷状態に置かれている場合は、既に高負荷状態のサーバ20が代行先サーバとして選択される結果、代行先として決定されたサーバ20の負荷状態がさらに上がり、応答性の低下等を招くおそれもある。従って、最高負荷のサーバ20と最低負荷のサーバ20とを単純にペアリングする方法では、情報処理システム全体として最適な負荷分散を行うことができない。そこで、代行決定部24は、上述の通り、最も高負荷であり、かつ、高負荷閾値LH以上のサーバ20を代行元サーバとして決定し、最も低負荷であり、かつ、低負荷閾値LL以下のサーバ20を代行先サーバとして決定する。これにより、代行されるべきサーバ20が代行元サーバとして決定され、代行するだけの余力のあるサーバ20が代行先サーバとして決定される。また、代行元あるいは代行先の候補となる全てのサーバ20の負荷情報が負荷情報管理テーブル41のように一括して管理されているので、より代行されることが必要なサーバ20が代行元サーバとして選択され、より代行する余力のあるサーバ20が代行先サーバ20として選択されることが可能となる。
図10は、代行先サーバとして決定されたサーバ20の処理代行部25による代行処理を示す。処理代行部25は、代行決定部24から代行先サーバとして決定された旨の通知を受け取ると起動する(S61:YES)。ここで、処理代行部25に通知する代行決定部24は、処理代行部25と同一のサーバ20に実装されていてもよいし、処理代行部25と異なるサーバ20に実装されていてもよい。
処理代行部25は、代行元サーバとして決定されたサーバ20にアクセスし、まず最初に、代行元サーバの有するスケジューリングテーブル27の読み込みロックを取得する(S62)。代行先サーバの処理代行部25は、代行元サーバのスケジューリングテーブル27の読み込みをロックする(S63)。これにより、代行元サーバは、スケジューリングテーブル27に登録されたジョブを読み出して実行することができなくなる。代行元サーバのスケジューリングテーブル27の読み込みは、代行先サーバの処理代行部25により支配される。
処理代行部25は、代行元サーバのローカルLU30を代行元サーバからアンマウントさせて、代行先サーバにマウントさせる(S64)。処理代行部25は、代行元サーバのローカルLU30を支配下に置いた後、代行元サーバのスケジューリングテーブル27に基づいて(S65)、処理を実行する(S66)。処理代行部25は、スケジューリングテーブル27に登録された処理を実行すると、実行ステータスフラグを書き換えて、スケジューリングテーブル27を更新させる(S67)。
処理代行部25は、予め設定されている代行期間が経過したか否かを判定する(S68)。代行期間は、例えば、代行決定部24による代行関係の見直し時期に合わせて設定することができる。代行期間が経過するまでの間は、即ち、代行先サーバとして指定されている期間中は(S68:NO)、代行先サーバの処理代行部25は、S65〜S67を繰り返し、移行元サーバのスケジューリングテーブル27に基づいて処理を実行する。
代行期間が経過すると(S68:YES)、スケジューリングテーブル27の読み込みロックを解除し、代行元サーバのローカルLU30をアンマウントする(S69)。そして、再びS61に戻る。このように、予め設定された所定の代行期間毎に、処理代行部25による代行処理は解除される。代行決定部24によって別のサーバ20が代行先サーバとして選択された場合は、その新たなサーバ20の処理代行部25によって代行元サーバの処理の一部が代行される。もっとも、代行関係の見直しにより、代行元サーバ及び代行先サーバの双方がそれぞれ別のサーバ20に入れ替わる場合もあるし、代行ペアが設定されない場合もある。
図11は、本実施例によって各サーバ間で処理の代行が行われる様子を模式的に示す説明図である。図11では、サーバ20(1)(サーバ1と表示)〜サーバ20(3)(サーバ3と表示)の3台を例に挙げて説明する。図中の左端に示すT1〜T5は、代行の単位期間を示す。
各代行期間T1〜T5において、各サーバ20(1)〜サーバ20(3)は、上述した通り、基礎情報の収集と(P1)、基礎情報に基づく負荷情報の生成と(P2)、負荷情報の共有LU40への格納と(P3)、代行元サーバ及び代行先サーバの決定と(P4)を、それぞれ独立して実施している。基礎情報の収集(P1)と、負荷情報の生成(P2)と、負荷情報の格納(P3)とは、負荷情報格納部21により実行される。代行対象の決定(代行関係の決定とも言う)(P4)は、代行決定部24により実行される。
代行期間T1では、高負荷のサーバ20は発生していない。従って、代行期間T1の最後で実行される代行関係決定処理P4では、代行元サーバ及び代行先サーバのいずれも決定されない。
そこで、次の代行期間T2に移行する。この代行期間T2において、第2のサーバ20(2)に高負荷状態が発生したとする。例えば、第2のサーバ20(2)にクライアント端末からのファイルアクセス要求が集中したような場合に、第2のサーバ20(2)の負荷が増大する。一方、第1のサーバ20(1)の負荷は、低負荷閾値LL以下であるとする。そこで、代行期間T2の最後に行われる代行関係決定処理(逆に言えば、次の代行期間T3の開始直前に実行される代行関係決定処理)では、サーバ20(2)が代行元サーバとして決定され、サーバ20(1)が代行先サーバとして決定される。
代行期間T3において、サーバ20(1)の負荷情報格納部21等が自機に関する「基礎情報の採集(P1)」〜「負荷情報の格納(P3)」の各処理を行う。また、サーバ20(1)の処理代行部25は、代行元のサーバ20(2)に関するP1〜P3の処理を行う。従って、代行先サーバとして選択されたサーバ20(1)の負荷情報格納部21は、自機及び代行元サーバに関する基礎情報をそれぞれ個別に収集し(P1)、それぞれの負荷情報を個別に生成し(P2)、各負荷情報を共有LU40に格納させる(P3)。なお、代行関係の決定処理(P4)は、代行元サーバ及び代行先サーバのそれぞれで重複して実行する必要はない。従って、代行先であるサーバ20(1)の代行決定部24と、代行と無関係のサーバ20(3)の代行決定部24との2つの部だけが、次の代行期間T4における代行関係を決定する。
サーバ20(2)の負荷情報に関する特定の処理を、サーバ20(1)が肩代わりして実行することにより、この分だけサーバ20(2)の負荷は軽減される。また、高負荷状態のサーバ20(2)の負荷情報は、サーバ20(1)により生成されて共有LU40に格納される。従って、管理者は、ウェブヴラウザ11を介して負荷情報を参照することにより、高負荷状態のサーバ20(2)に関する負荷情報も含めて、全てのサーバ20の負荷情報を一括して確認することができる。
代行期間T4において、サーバ20(2)の負荷が高負荷閾値LH未満まで低下したとする。代行期間T4における代行関係は、代行期間T3の終期で決定済である。従って、代行期間T4の途中で、サーバ20(2)の負荷が低下した場合でも、サーバ20(1)によるサーバ20(2)の代行は解消されない。なお、予め設定された代行期間中に、負荷状態が増大または減少した場合には、既に設定されている代行関係を解消し、新たな代行関係を設定するようにしてもよい。
代行期間T4の終わりに、代行関係の見直しが行われる。この時点で、サーバ20(2)の負荷は高負荷閾値LH未満に低下しているので、代行関係の設定は行われない。従って、代行期間T5では、代行期間T1と同様に、各サーバ20(1)〜20(3)のそれぞれが、自機に関する基礎情報の収集(P1)、負荷情報の生成(P2)、負荷情報の格納(P3)、代行関係の決定(P4)を実行する。
以上詳述した通り、本実施例によれば、以下の効果を奏する。
まず、各サーバ20の負荷情報は、共有LU40に集約される。システム管理者は、ウェブヴラウザ11を介して、いずれか1台のサーバ20の負荷情報採集部22にアクセスするだけで、全てのサーバ20の負荷状態を簡単に確認できる。従って、システム管理者は、各サーバ20の稼働状況を一元的に管理することができ、保守作業の作業性が向上する。
また、いずれかのサーバ20が高負荷状態になった場合は、この高負荷のサーバ20の負荷情報に関する処理を、低負荷のサーバ20が代行する。従って、いずれかのサーバ20に高負荷状態が生じても、この高負荷状態のサーバ20に関する負荷情報の生成及び格納は、途切れることなく続行される。このため、負荷変動に拘わらず、各サーバ20の負荷状況を一元的に管理し続けることができる。
さらに、負荷情報格納部21は、まず基礎情報を収集してローカルLU30に格納し、ローカルLU30に格納された基礎情報を統計処理することにより負荷情報を生成する。従って、生データである基礎情報をそのまま共有LU40に蓄積する場合に比較して、データサイズを低減することができる。また、処理済みのデータである負荷情報を共有LU40に格納しておくので、ウェブヴラウザ11に表示する負荷情報一覧画面を簡単に生成することができる。
また、負荷情報の一覧をウェブヴラウザ11によって閲覧できる。従って、負荷状況を一元的に確認するための管理端末10は、少なくともウェブヴラウザ11のみを備えていればよく、特別な閲覧部を実装している必要はない。
さらに、最高負荷のサーバ20が高負荷閾値LH以上の負荷を有する場合に代行元サーバとして選択し、最低負荷のサーバ20が低負荷閾値LL以下の負荷を有する場合に代行先サーバとして選択する。従って、処理の肩代わりを必要とするサーバ20を代行元サーバとして選択し、処理を肩代わりするだけの余裕のあるサーバ20を代行先サーバとして選択することができる。
また、代行決定部24は、全てのサーバ20の負荷情報に基づいて、代行元サーバ及び代行先サーバをそれぞれ決定する。従って、システム全体の状況に基づいて、公平に代行関係を決定することができ、公正な負荷分散を行うことができる。
さらに、代行決定部24は、代行期間が経過する毎に、代行関係を見直すようになっている。従って、所定サイクル毎に代行処理を行わせることができ、簡単な制御構造で、負荷情報の一元的な監視と負荷変動への対応とを実現することができる。
また、本実施例は、フェイルオーバクラスタの内部で、あるいはクラスタを超えて実現可能である。即ち、例えば、代行元サーバと代行先サーバとが1つのクラスタを構成する場合、代行元サーバがシステムダウンしてフェイルオーバが発動されるか否かとは別に、負荷情報に関する特定の処理は、独立して代行される。また、代行元サーバと代行先サーバとがそれぞれ別のクラスタに属する場合も、負荷情報に関する特定の処理の代行が実行される。
なお、本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
例えば、図11では、各サーバ20の動作がほぼ同期しているかのように示しているが、実際には、各サーバ20は、それぞれ独立して動作している。この場合、各サーバ20の代行決定部24は、代行関係決定時に代行関係管理テーブル42をそれぞれ参照することにより、不要な決定を省くことができる。即ち、あるサーバ20の代行決定部24によって代行関係が既に決定されている場合、この決定直後に起動した別のサーバ20の代行決定部24は、代行関係管理テーブル42を参照することにより、代行関係の決定処理が不要であることを知ることができる。
また、図9に示す処理では、最高負荷のサーバが高負荷閾値LH以上の負荷を有する場合に代行元サーバとして選択し、最低負荷のサーバが低負荷閾値LL以下の負荷を有する場合に代行先サーバとして選択しているが(S55〜S57)、本発明はこれに限定されない。例えば、S55では、「高負荷閾値LH以上のサーバが存在するか否かを判定し、高負荷閾値LH以上の負荷を有するサーバが存在する場合は、このサーバを代行元サーバとして選択する。高負荷閾値LH以上の負荷を有するサーバが複数存在する場合は、より負荷の高い方のサーバを代行元サーバとして選択する。」ことができる。S56では、「負荷が低負荷閾値LL以下のサーバが存在するか否かを判定し、低負荷閾値LL以下の負荷を有するサーバが存在する場合は、このサーバを代行先サーバとして選択する。低負荷閾値LL以下のサーバが複数存在する場合は、より負荷の低い方のサーバを代行先サーバとして選択する。」ことができる。
本発明の実施例に係わる情報処理システムの全体概要を示すブロック図である。 共有LUに格納される情報の構造例を示し、(a)は、負荷情報管理テーブルに基づく情報をウェブヴラウザで閲覧した場合を示す模式図、(b)は、代行関係管理テーブルの一例を示す説明図、をそれぞれ示す。 代行が行われる前におけるスケジューリングテーブルの説明図である。 途中で代行が行われた場合におけるスケジューリングテーブルの説明図である。 負荷情報の生成から格納までの処理の流れを示す説明図である。 代行関係の決定から処理代行までの流れを示す説明図である。 基礎情報格納処理を示すフローチャートである。 負荷情報格納処理を示すフローチャートである。 代行元サーバ及び代行先サーバをそれぞれ決定するための代行関係決定処理を示すフローチャートである。 代行先サーバにより実行される代行処理を示すフローチャートである。 負荷情報に関連する処理が代行される様子を模式的に示す説明図である。
符号の説明
10…管理端末、11…ウェブヴラウザ、20…サーバ、21…負荷情報格納部、22…負荷情報採集部、23…負荷情報ファイル作成部、24…代行決定部、25…処理代行部、26…スケジューリング部、27…スケジューリングテーブル、28…OS、29…ファイル共有プログラム、31…基礎情報ファイル、41…負荷情報管理テーブル、42…代行関係管理テーブル、CN…通信ネットワーク

Claims (8)

  1. 複数の情報処理装置と、該各情報処理装置により共有される共有記憶装置と、前記各情報処理装置を管理するための管理端末とを通信ネットワークを介して双方向通信可能に接続してなる情報処理システムにおいて、
    前記各情報処理装置は、
    自機の負荷状態に関する基礎情報を収集し、この基礎情報を統計処理することにより負荷情報を生成し、この負荷情報を前記共有記憶装置に記憶させる負荷情報格納部と、
    前記管理端末からの負荷情報閲覧要求に応じて、前記共有記憶装置に記憶されている前記各情報処理装置の負荷情報をそれぞれ読出し、前記管理端末に前記各負荷情報を提供する負荷情報提供部と、
    所定時間毎に前記共有記憶装置に記憶されている前記各負荷情報に基づいて、前記各情報処理装置のうち、最も高負荷の情報処理装置を処理代行元として、最も低負荷の情報処理装置を処理代行先として、それぞれ決定する処理代行情報処理装置決定部と、
    自機が処理代行先として決定された場合に、前記処理代行元として決定された前記情報処理装置の前記負荷情報格納部の処理を代行する処理代行部と、
    自機が処理代行元として決定された場合に、前記処理代行先として決定された前記情報処理装置に処理代行を依頼する前記負荷情報格納部の処理を予め登録しておく代行対象処理登録部と、を備え、
    前記処理代行装置決定部は、前記最も高負荷の情報処理装置の負荷が所定の上限値を上回っている場合に、この情報処理装置を前記処理代行元の情報処理装置として決定し、前記最も低負荷の情報処理装置の負荷が所定の下限値を下回る場合に、この情報処理装置を前記処理代行先の情報処理装置として決定するものである、
    ことを特徴とする情報処理システム。
  2. 複数の情報処理装置と該各情報処理装置により共有される共有記憶装置とを通信ネットワークを介して双方向通信可能に接続してなる情報処理システムにおいて、
    前記各情報処理装置は、
    自機の負荷状態に関する負荷情報を生成して前記共有記憶装置に記憶させる負荷情報格納部と、
    負荷情報閲覧要求に応じて、前記共有記憶装置に記憶されている前記各情報処理装置の負荷情報をそれぞれ読出し、前記負荷情報閲覧要求の発行元に前記各負荷情報を提供する負荷情報提供部と、
    前記共有記憶装置に記憶されている前記各負荷情報に基づいて、前記各情報処理装置のうち、処理代行元の情報処理装置及び処理代行先の情報処理装置をそれぞれ決定する処理代行装置決定部と、
    自機が処理代行先として決定された場合に、前記処理代行元として決定された前記情報処理装置における特定の処理を代行する処理代行部と、
    自機が処理代行元として決定された場合に、前記処理代行先として決定された前記情報処理装置に処理代行を依頼する特定の処理を予め登録しておく代行対象処理登録部と、を備え、
    前記処理代行装置決定部は、前記各情報処理装置のうち最も高負荷の情報処理装置の負荷が所定の上限値を上回っている場合に、この情報処理装置を前記処理代行元の情報処理装置として決定し、前記各情報処理装置のうち最も低負荷の情報処理装置の負荷が所定の下限値を下回る場合に、この情報処理装置を前記処理代行先の情報処理装置として決定するものである、
    ことを特徴とする情報処理システム。
  3. 前記負荷情報格納部は、自機の負荷状態に関する基礎情報を収集し、この基礎情報を統計処理することにより負荷情報を生成し、この負荷情報を前記共有記憶装置に記憶させるものである請求項2に記載の情報処理システム。
  4. 前記負荷情報提供部は、前記各負荷情報をウェブヴラウザで閲覧可能な形態で提供するものである請求項3に記載の情報処理システム。
  5. 前記処理代行元の情報処理装置及び前記処理代行先の情報処理装置の対応関係を管理するための代行関係管理テーブルを、前記共有記憶装置に格納し、前記処理代行装置決定部は、前記各負荷情報及び前記代行関係管理テーブルに基づいて、前記処理代行元の情報処理装置及び前記処理代行先の情報処理装置をそれぞれ決定する請求項4に記載の情報処理システム。
  6. 前記特定の処理は、前記負荷情報格納部により実行される処理の全部または一部である請求項5に記載の情報処理システム。
  7. 他の情報処理装置及び該他の情報処理装置と共有する共有記憶装置と通信ネットワークを介して双方向通信可能に接続される情報処理装置において、
    負荷状態に関する負荷情報を生成して前記共有記憶装置に記憶させる負荷情報格納部と、
    負荷情報閲覧要求に応じて、前記共有記憶装置に記憶されている前記各情報処理装置の負荷情報をそれぞれ読出し、前記負荷情報閲覧要求の発行元に前記各負荷情報を提供する負荷情報提供部と、
    前記共有記憶装置に記憶されている前記各負荷情報に基づいて、前記各情報処理装置のうち、処理代行元の情報処理装置及び処理代行先の情報処理装置をそれぞれ決定する処理代行装置決定部と、
    自機が処理代行先として決定された場合に、前記処理代行元として決定された前記情報処理装置における特定の処理を代行する処理代行部と、
    自機が処理代行元として決定された場合に、前記処理代行先として決定された前記情報処理装置に処理代行を依頼する特定の処理を予め登録しておく代行対象処理登録部と、を備え、
    前記処理代行装置決定部は、前記各情報処理装置のうち最も高負荷の情報処理装置の負荷が所定の上限値を上回っている場合に、この情報処理装置を前記処理代行元の情報処理装置として決定し、前記各情報処理装置のうち最も低負荷の情報処理装置の負荷が所定の下限値を下回る場合に、この情報処理装置を前記処理代行先の情報処理装置として決定するものである、
    ことを特徴とする情報処理装置。
  8. 他の情報処理装置及び該他の情報処理装置と共有する共有記憶装置と通信ネットワークを介して双方向通信可能に接続される情報処理装置に所定の管理方法を実行させるためのコンピュータプログラムであって、
    前記所定の管理方法は、
    負荷状態に関する負荷情報を生成して前記共有記憶装置に記憶させるステップと、
    負荷情報閲覧要求を受け付けるステップと、
    前記負荷情報閲覧要求に応じて、前記共有記憶装置に記憶されている前記各情報処理装置の負荷情報をそれぞれ読出すステップと、
    前記読出された各負荷情報を前記負荷情報閲覧要求の発行元に提供するステップと、
    前記共有記憶装置に記憶されている前記各負荷情報を参照するステップと、
    前記各負荷情報に基づいて、前記各情報処理装置のうち最も高負荷の情報処理装置の負荷が所定の上限値を上回っている場合に、この情報処理装置を処理代行元の情報処理装置として決定するステップと、
    前記各負荷情報に基づいて、前記各情報処理装置のうち最も低負荷の情報処理装置の負荷が所定の下限値を下回る場合に、この情報処理装置を処理代行先の情報処理装置として決定するステップと、
    自機が処理代行先として決定された場合に、前記処理代行元として決定された前記情報処理装置における特定の処理を代行するステップと、
    を含むことを特徴とするコンピュータプログラム。
JP2003389929A 2003-11-19 2003-11-19 情報処理システム及び情報処理装置 Expired - Fee Related JP4266786B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003389929A JP4266786B2 (ja) 2003-11-19 2003-11-19 情報処理システム及び情報処理装置
US10/793,961 US20050120354A1 (en) 2003-11-19 2004-03-04 Information processing system and information processing device
US12/144,799 US20080263128A1 (en) 2003-11-19 2008-06-24 Information Processing System and Information Processing Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003389929A JP4266786B2 (ja) 2003-11-19 2003-11-19 情報処理システム及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2005149423A JP2005149423A (ja) 2005-06-09
JP4266786B2 true JP4266786B2 (ja) 2009-05-20

Family

ID=34616278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003389929A Expired - Fee Related JP4266786B2 (ja) 2003-11-19 2003-11-19 情報処理システム及び情報処理装置

Country Status (2)

Country Link
US (2) US20050120354A1 (ja)
JP (1) JP4266786B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349805B1 (ko) 2006-01-25 2014-01-10 엘지전자 주식회사 트랩 메커니즘을 이용한 장치관리 스케줄링 방법 및 그단말
JP4340733B2 (ja) * 2006-09-14 2009-10-07 日本電気株式会社 負荷分散システム、方法、及び、プログラム
JP4245055B2 (ja) * 2007-01-29 2009-03-25 コニカミノルタビジネステクノロジーズ株式会社 画像処理システム、画像処理装置、ジョブ処理方法およびプログラム
JP4777285B2 (ja) * 2007-03-27 2011-09-21 株式会社野村総合研究所 プロセス制御システム
JP5551967B2 (ja) * 2010-05-25 2014-07-16 日本電信電話株式会社 クラスタシステム、クラスタシステムのスケールアウト方法、リソースマネージャ装置、サーバ装置
JP5491972B2 (ja) * 2010-06-04 2014-05-14 日本電信電話株式会社 2重化サーバシステム、ファイル操作方法、およびファイル操作プログラム
JP5815975B2 (ja) * 2011-04-15 2015-11-17 株式会社東芝 データベース装置およびデータベース再編成方法
JP5702232B2 (ja) * 2011-06-14 2015-04-15 Kddi株式会社 サーバ連携互助システムならびにそのサーバおよびサーバ連携互助プログラム
EP2581831A1 (en) * 2011-10-14 2013-04-17 Alcatel Lucent Method and apparatus for dynamically assigning resources of a distributed server infrastructure
US9191977B2 (en) * 2011-10-28 2015-11-17 Qualcomm Incorporated Systems and methods for fast initial network link setup
US9402243B2 (en) 2011-10-28 2016-07-26 Qualcomm Incorporated Systems and methods for fast initial network link setup
US9814085B2 (en) 2011-10-28 2017-11-07 Qualcomm, Incorporated Systems and methods for fast initial network link setup
US9271317B2 (en) 2011-10-28 2016-02-23 Qualcomm Incorporated Systems and methods for fast initial network link setup
US9445438B2 (en) 2011-10-28 2016-09-13 Qualcomm Incorporated Systems and methods for fast initial network link setup
US8873494B2 (en) 2011-10-28 2014-10-28 Qualcomm Incorporated Systems and methods for fast initial network link setup
US9338732B2 (en) 2011-10-28 2016-05-10 Qualcomm Incorporated Systems and methods for fast initial network link setup
JP2014002716A (ja) * 2012-05-24 2014-01-09 Buffalo Inc 情報処理装置、ネットワークシステム、データ共有方法、および、データ共有を可能とするコンピュータプログラム
JP5786913B2 (ja) * 2013-09-20 2015-09-30 コニカミノルタ株式会社 情報通信システム、中間サーバおよびプログラム
EP3271820B1 (en) * 2015-09-24 2020-06-24 Hewlett-Packard Enterprise Development LP Failure indication in shared memory
CN110719586B (zh) * 2018-07-13 2022-06-03 成都鼎桥通信技术有限公司 业务建立方法、装置及服务器
JP6708239B2 (ja) * 2018-09-21 2020-06-10 富士ゼロックス株式会社 ドキュメント管理システム
US20230106327A1 (en) * 2021-10-01 2023-04-06 EMC IP Holding Company LLC Systems and methods for data mover selection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US19758A (en) * 1858-03-30 davis
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
FR2722591B1 (fr) * 1994-07-13 1996-08-30 Bull Sa Systeme informatique ouvert a serveurs multiples
US6167427A (en) * 1997-11-28 2000-12-26 Lucent Technologies Inc. Replication service system and method for directing the replication of information servers based on selected plurality of servers load
US6374297B1 (en) * 1999-08-16 2002-04-16 International Business Machines Corporation Method and apparatus for load balancing of web cluster farms
WO2002013119A2 (en) * 2000-08-08 2002-02-14 Retx.Com, Inc. Load management dispatch system and methods

Also Published As

Publication number Publication date
US20080263128A1 (en) 2008-10-23
JP2005149423A (ja) 2005-06-09
US20050120354A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
JP4266786B2 (ja) 情報処理システム及び情報処理装置
US11789925B2 (en) System and method for conditionally updating an item with attribute granularity
US11709600B2 (en) System and method for performing live partitioning in a data store
US20210103604A1 (en) System and method for implementing a scalable data storage service
KR101221205B1 (ko) Http 세션 작업부하를 특성화하기 위한 데이터를수집하는 방법 및 장치
US11609697B2 (en) System and method for providing a committed throughput level in a data store
US9372911B2 (en) System and method for performing replica copying using a physical copy mechanism
US8572091B1 (en) System and method for partitioning and indexing table data using a composite primary key
CN104335137B (zh) 管理计算系统的功耗和性能
US8046458B2 (en) Method and system for balancing the load and computer resources among computers
CN106953758A (zh) 一种基于Nginx服务器的动态配置管理方法及系统
CN111352592B (zh) 磁盘读写控制方法、装置、设备及计算机可读存储介质
JP2010152818A (ja) サーバシステム
US10348596B1 (en) Data integrity monitoring for a usage analysis system
US10706073B1 (en) Partitioned batch processing for a usage analysis system
JP7006077B2 (ja) 管理システム、管理方法、及び管理プログラム
EP1145496A2 (en) A method to monitor and control server applications using low cost covert channels
Eiceman et al. AIX system performance experiences and basic tuning.
JP2006244015A (ja) 共有リソース管理プログラム、方法、装置、アプリケーションサービスシステム
JP2009175828A (ja) ログ取込システム、ログ取込方法、プログラム、及び、記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061023

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090217

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090217

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees