(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムをそれぞれ有した複数の計算機と、
上記それぞれの計算機に接続される資源管理計算機と、
を備えた情報処理システムであって、
上記計算機は、
上記アプリケーションプログラムと他の上記計算機の有する他の上記アプリケーションプログラムとの間でデータを送信もしくは受信する通信管理部と、
上記通信管理部における上記アプリケーションプログラム間のデータの送信もしくは受信回数を計数する通信カウント部と、
上記通信カウント部にて計数された上記アプリケーションプログラム間のデータの送信もしくは受信回数に応じた通信量の情報を送信する通信カウント送信部
をそれぞれ有し、
上記資源管理計算機は、
上記それぞれの計算機からの上記通信量の情報を受信する通信カウント情報受信部と、
上記通信カウント情報受信部の受信した通信量の情報に基づき、上記各アプリケーションプログラム間のデータの送信回数と受信回数の差に異常が発生している計算機が存在しているか否かを判定し、異常が発生している計算機が存在する場合、異常がある計算機に配置された上記アプリケーションプログラムについて、アプリケーションの異常がある計算機を使用せずに、アプリケーションプログラムが使用するＣＰＵ数に対してＣＰＵ数が足りるアプリケーションの組合せを選択し、組み合わせが複数存在する場合は同一計算機内の通信量が多い組合せを選択して計算機を跨ぐ通信を少なくし、データのロストを防ぐ配置で、アプリケーションを起動するアプリケーションプログラム起動計算機決定部を有した
ことを特徴とする情報処理システム。
【請求項２】
資源管理計算機は計算機に設けられた請求項１記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の計算機から構成される情報処理システムにおいて、各計算機上でいずれのアプリケーションを動作させるかの割当てを、システムの運用条件に応じて変更する動的リソースマネジメント処理を備えた情報処理システムに関する。
【背景技術】
【０００２】
近年、セキュリティ関連の技術分野において、基本仕様、機能仕様、技術仕様等のプログラム仕様が各種公開されている。これらの公開されたプログラム仕様に基づいて計算機上にプログラムを実装し、利用するＯＡ化の流れがある。この種のＯＡ化においては、情報処理システムを標準的な複数計算機で構成し、各計算機間が通信経路及び通信ミドルウェアを介してデータを共有する方式が主流となりつつある。
【０００３】
このような情報処理システム構成において、システムの耐障害性を確保するため、各計算機上でいずれのアプリケーションを動作させるかの割当てを、システムの運用条件に応じて変更する動的リソースマネジメントが注目されている。動的リソースマネジメントにおいて、各アプリケーションはシステムを構成するどの計算機でも動作することが必要となる。従来、一部の計算機が故障した場合の縮退動作時、故障した計算機のアプリケーションをＣＰＵ負荷の低い計算機に対して割当て動作させていた（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２７４４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アプリケーションを割当てた計算機間を接続する通信経路のネットワーク帯域が、システム設計時の想定に反して狭い場合、当該計算機のＣＰＵ負荷が低くても、通信系路上でデータをロストしてしまう。これにより、システムとして想定どおりの性能が発揮できない場合があった。
【０００６】
この発明は係る課題を解決するためになされたものであり、計算機間の通信経路のネットワーク帯域がシステム設計時の想定に反して狭く、アプリケーションに通信異常が発生している場合でも、通信系路上でデータをロストすることを抑制する情報処理システムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明による情報処理システムは、アプリケーションプログラムと、上記アプリケーションプログラムとの間でデータを送信もしくは受信する通信管理部と、上記通信管理部におけるデータの送信もしくは受信回数を計数する通信カウント部と、上記通信カウント部にて計数されたデータの送信もしくは受信回数に応じた通信量の情報を送信する通信カウント送信部と、をそれぞれ有した複数の計算機と、上記それぞれの計算機からの通信量の情報を受信する通信カウント情報受信部と、上記通信カウント情報受信部の受信した通信量の情報に基づき、上記それぞれの計算機の処理異常を判定し、処理異常があった計算機を除くそれぞれの計算機に対して、所望のアプリケーションプログラムの配置を決定した後、当該決定されたアプリケーションプログラムを起動させる、資源管理計算機と、を備えたものである。
【発明の効果】
【０００８】
情報処理システムを構成する計算機間の通信路がシステム設計時の想定に反して帯域が狭く、アプリケーションに通信異常が発生している場合であっても、システムを一時停止し、その後のシステム起動時に当該アプリケーションを通信異常が発生しづらい配置で起動することにより、通信データのロストが少なくなり、システム設計時の想定に近い性能を発揮することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１によるプログラム起動配置分散装置の構成を示す図である。
【図２】実施の形態１によるアプリケーションプログラム起動計算機決定部の動作を示すフローチャートである。
【図３】実施の形態１による複数のアプリケーション実行計算機の間を接続する通信経路を示す図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１は、この発明に係る実施の形態１による情報処理システムとしてのプログラム起動配置分散装置１０００の構成を示す図である。図２は、プログラム起動配置分散装置１０００のアプリケーションプログラム起動計算機決定部２０２の動作を示すフローチャートである。プログラム起動配置分散装置１０００は、複数（ｎ台）のアプリケーション実行計算機１００（計算機）と、１台の資源管理計算機２００から構成される。プログラム起動配置分散装置１０００は、複数計算機を用いたネットワーク負荷を考慮した情報処理システムを構成する。
【００１１】
各アプリケーション実行計算機１００は、アプリケーションプログラム１０１、通信管理部１０２、通信カウント部１０３、通信カウント送信部１０４、データ送信部１０５、データ受信部１０６で構成される。資源管理計算機２００は、通信カウント情報受信部２０１、アプリケーションプログラム起動計算機決定部２０２、資源管理部２０３、アプリケーションプログラム起動部２０４、通信カウント情報３０１、資源情報３０２、アプリケーション起動テーブル３０３から構成される。アプリケーション実行計算機１００は複数のアプリケーションプログラム１０１から構成され、各アプリケーション実行計算機１００は同じアプリケーションプログラム１０１を搭載している。
【００１２】
プログラム起動配置分散装置１０００は、実行時及び起動時の動作に大別される。
まず、実行時の動作について説明する。
アプリケーションプログラム１０１は、通信する際に、通信管理部１０２を経由するようにしておく。通信管理部１０２は、アプリケーションプログラム１０１から受けた送信データをデータ送信部１０５に送付し、データ受信部１０６から受信したデータを受領してアプリケーションプログラム１０１に送信する。データ送信部１０５は、通信経路を介して、他のアプリケーション実行計算機１００のアプリケーションプログラム１０１に対して通信管理部１０２からの送信データを送信する。データ受信部１０６は、通信経路を介して、他のアプリケーション実行計算機１００のアプリケーションプログラム１０１から受信したデータを通信管理部１０２に送信する。
【００１３】
通信管理部１０２は、送信データ、受信データを通信カウント部１０３に送信する。通信カウント部１０３は、通信管理部１０２を経由したアプリケーションプログラム１０１が送信したデータの種別と回数、受信したデータの種別と回数を通信カウント情報として通信カウント送信部１０４へ送付する。通信カウント送信部１０４は通信カウント情報を資源管理計算機２００に送信する。資源管理計算機２００の通信カウント情報受信部２０１は、通信カウント送信部１０４からの通信カウント情報を受信し、通信カウント情報３０１として保存する。
【００１４】
次に、起動時の動作について説明する。
資源管理計算機２００内の資源管理部２０３はアプリケーションプログラム起動計算機決定部２０２を呼び出す。資源管理部２０３は各アプリケーション実行計算機１００の資源をモニタし、モニタ結果を資源情報３０２に格納する。アプリケーションプログラム起動計算機決定部２０２は実行時に予め保存された通信カウント情報３０１と、プログラム起動配置分散装置１０００を構成するアプリケーション実行計算機１００におけるＣＰＵ数および各アプリケーション実行計算機１００のアプリケーションプログラム１０１が使用するＣＰＵ数が予め記載された資源情報３０２と、前回のアプリケーション起動情報が保存されたアプリケーション起動テーブル３０３に基づいて、今回起動時に通信のロストが発生しづらいアプリケーションプログラム１０１の配置を決定する。アプリケーションプログラム起動計算機決定部２０２は決定したアプリケーションプログラム１０１の配置をアプリケーションプログラム起動部２０４に通知する。アプリケーションプログラム起動部２０４は、アプリケーション起動テーブル３０３の情報を元に、各アプリケーション実行計算機１００上で、アプリケーションプログラム１０１の決定された配置に基づき、当該配置に対応するアプリケーションプログラム１０１を起動する。
【００１５】
続いて、アプリケーションプログラム起動計算機決定部２０２の動作について、図２のフローチャートを用いて説明する。図２（ａ）はアプリケーションプログラム起動計算機決定部２０２の動作を示し、図２（ｂ）は通信異常がある場合の処理動作の詳細を示す図である。
【００１６】
まず、図２（ａ）において、通信カウント情報異常判定処理（ＳＴ１０１）は、実行時に保存された通信カウント情報３０１から、各アプリケーションプログラム１０１間の送信回数と受信回数の差に異常が発生している計算機が存在するか否かを判定する。
【００１７】
次に、図２（ｂ）において、ＳＴ１０１の判定の結果、通信経路に異常が発生している計算機が存在しない場合（異常なしの場合）は、アプリケーションプログラム起動処理（ＳＴ１０２）において、アプリケーション起動テーブル３０３に従い、各計算機上でアプリケーションプログラム１０１を起動する。
【００１８】
ＳＴ１０１の判定の結果、通信経路に異常が発生している計算機が存在する場合（異常ありの場合）は、アプリケーション組合せ表作成処理（ＳＴ１０３）において、通信カウント情報３０１および資源情報３０２から、アプリケーションプログラム１０１の組合せによる通信量と、ＣＰＵ数を考慮したアプリケーション組合せ表を作成する。
【００１９】
新アプリケーション起動テーブル作成処理（ＳＴ１０４）は、アプリケーション起動テーブル３０３に記載されたアプリケーションプログラムのうち、異常がある計算機に配置されたアプリケーションプログラムが記載された部分をアプリケーション組合せ表から抽出し、異常がある計算機を使用せずにＣＰＵ数が足りる組合せを選択する。
【００２０】
組合せが複数存在する場合には同一計算機内の通信量が最も多いものを選択し、アプリケーション起動テーブル３０３に保存する。即ち計算機を跨ぐ通信が最も少ないものを選択、保存する。これによって新しいアプリケーション起動テーブルを生成する。
新しいアプリケーション起動テーブルの生成後は、アプリケーションプログラム起動部２０４により各計算機上で、データのロストを防ぐ配置でアプリケーションプログラム１０１を起動する。
【００２１】
図３は、複数のアプリケーション実行計算機１００の間を接続する通信経路１３において、データのロストを防ぐ配置を例示する図である。図３において、アプリケーション実行計算機（１）１００とアプリケーション実行計算機（２）１００の間は、通信経路１３の経路１３１、１３２を介して接続される。アプリケーション実行計算機（１）１００とアプリケーション実行計算機（３）１００の間は、通信経路１３の経路１３１、１３３を介して接続されている。また、アプリケーションプログラム３はＣＰＵ負荷が他のアプリケーションプログラム１０１よりも低く、また処理時間も他のアプリケーションプログラム１０１より短いものとする。
【００２２】
ここで、アプリケーション実行計算機（１）１００とアプリケーション実行計算機（３）１００を接続する経路１３３もしくはアプリケーション実行計算機（３）１００において、何等かの通信異常が発生した場合、経路１３３を使用することができず、アプリケーションプログラム４を実行することができない。このとき、アプリケーションプログラム４を実行するために、アプリケーション実行計算機（１）１００を通信経路に異常のないアプリケーション実行計算機（２）１００に接続し、アプリケーション実行計算機（２）１００上でアプリケーションプログラム４を実行するように、アプリケーションプログラム起動部２０４にてアプリケーションプログラム１０１の配置を再構築し、アプリケーションプログラム１０１の一部もしくは全てを更新するアプリケーション起動テーブル３０３を生成する。その後、各アプリケーション実行計算機１００上でアプリケーションプログラム１０１を起動する。このとき、アプリケーションプログラム１０１の配置されるアプリケーション実行計算機１００は、複数のアプリケーションプログラム１０１を実行してもいい。
【００２３】
かくして、プログラム起動配置分散装置１０００は、データのロストを防いで、アプリケーションプログラム４を実行することができる。
【００２４】
この実施の形態１による情報処理システムは、アプリケーションプログラム１０１と、上記アプリケーションプログラム１０１との間でデータを送信もしくは受信する通信管理部１０２と、上記通信管理部１０２におけるデータの送信もしくは受信回数を計数する通信カウント部１０３と、上記通信カウント部１０３にて計数されたデータの送信もしくは受信回数に応じた通信量の情報を送信する通信カウント送信部１０４と、をそれぞれ有した複数のアプリケーション実行計算機１００と、上記それぞれのアプリケーション実行計算機１００からの通信量の情報を受信する通信カウント情報受信部２０１と、上記通信カウント情報受信部２０１の受信した通信量の情報に基づき、上記それぞれのアプリケーション実行計算機１００の処理異常を判定し、処理異常があったアプリケーション実行計算機１００を除くそれぞれのアプリケーション実行計算機１００に対して、所望のアプリケーションプログラム１０１の配置を決定した後、当該決定されたアプリケーションプログラム１０１を起動させる、資源管理計算機２００と、を備えたことを特徴とする。
【００２５】
また、通信管理部１０２は、各アプリケーションプログラム１０１の処理時間を上記資源管理計算機２００に送信し、上記資源管理計算機２００は、上記通信カウント情報受信部２０１の受信した通信量の情報及び処理時間に基づいて、上記アプリケーションプログラム１０１の配置を決定する。資源管理計算機２００はシステムを構成するアプリケーション実行計算機１００に設けられても良い。
【００２６】
これにより、プログラム起動配置分散装置１０００のシステムを構成するアプリケーション実行計算機１００に接続された通信経路に異常が発生した場合、アプリケーションプログラム１０１の配置を、次回起動時にデータのロストを防ぐ配置とするため、周期処理で動作するシステムにおいて、データロストによる再送により周期処理がシステムの設計どおりに動作しない状況を回避することができる。また、データが揃わないことによりシステムが動作するものの、精度が低下するシステムにおいては、精度低下を抑制することができる。
【００２７】
特に、システムを構成するアプリケーション実行計算機１００間の通信経路がシステム設計時の想定に反して帯域が狭く、アプリケーションプログラム１０１に通信異常が発生している場合であっても、システムを停止すれば、その後のシステム起動時には当該アプリケーションプログラム１０１を通信異常が発生しづらい配置で起動することによって、通信データのロストが少なくなり、システム設計時の想定に近い性能を発揮できる。
【００２８】
また、この実施の形態１によれば、アプリケーションプログラム１０１の処理時間を考慮することにより、通信経路異常時のアプリケーションプログラム１０１の計算機への配分時にＣＰＵ数が足りないケースでも処理時間が間に合う可能性の高い組合せを選択することが可能となり、通信経路に複数異常が発生した場合でも、システムが設計に近い性能で動作し、システムの抗たん性がより向上する。
【００２９】
なお、この実施の形態１によれば、システムを構成するアプリケーション実行計算機１００に資源管理計算機２００の機能をソフトウェアとして実装することで、アプリケーション実行計算機１００の外部に別体の資源管理計算機２００を配置することが不要となり、別体の資源管理計算機２００自体に異常が発生した場合の抗たん性が向上する。このとき、それぞれのアプリケーション実行計算機１００に資源管理計算機２００の機能をソフトウェアとして実装してもよい。
【００３０】
以上説明した通りこの実施の形態１によるプログラム起動配置分散装置１０００は、標準的なアプリケーション実行計算機１００から構成されるシステムにおいて、システムを構成する一部の通信経路やアプリケーション実行計算機１００に異常が発生した場合であっても、アプリケーション実行計算機１００におけるアプリケーションプログラム１０１の配置を更新して、更新後のアプリケーションプログラム１０１を起動しなおすだけで、設計時に近い性能で動作可能となる。このため、ソフトウェアのうち特に、標準的な計算機から構成されるシステムにおいて耐障害性を確保するため、各アプリケーション実行計算機１００上でいずれのアプリケーションプログラム１０１を動作させるかの割当てを、システムの運用条件に応じて変更する動的リソースマネジメントの分野において、長時間停止が許容されないシステムに有用である。
【符号の説明】
【００３１】
１００  アプリケーション実行計算機、１０１  アプリケーションプログラム、１０２  通信管理部、１０３  通信カウント部、１０４  通信カウント送信部、１０５  データ送信部、１０６  データ受信部、２００  資源管理計算機、２０１  通信カウント情報受信部、２０２  アプリケーションプログラム起動計算機決定部、２０３  資源管理部、２０４  アプリケーションプログラム起動部、３０１  通信カウント情報、３０２  資源情報、３０３  アプリケーション起動テーブル、１０００  プログラム起動配置分散装置。
【図１】
0006365320.tif 000002
【図２】
0006365320.tif 000003
【図３】
0006365320.tif 000004