(57)【要約】【課題】  管理処理装置から複数の情報処理装置へプログラムの配布を行う際に、多数の情報処理装置へのプログラム配布における通信トラフィックを軽減し、プログラム配布時の処理負荷を管理することが可能な技術を提供する。【解決手段】  管理処理装置から複数の情報処理装置にプログラムを配布して管理するプログラム管理方法において、管理処理装置から複数の情報処理装置に対してプログラムの断片を同報型通信で通信手段により送信し、前記複数の情報処理装置中のリーダ処理装置からの肯定応答に対して次の断片を送信することにより前記プログラムに含まれる全断片の配布を行うステップと、管理処理装置から送信されたプログラムの断片を通信手段により受信し、管理処理装置からのプログラムの配布終了後に未受信の断片がある場合に、前記リーダ処理装置を含む他の情報処理装置から未受信の断片を通信手段により受信するステップとを有するものである。【選択図】        図１
2005222200.tif 000002
【特許請求の範囲】
【請求項１】
管理処理装置から複数の情報処理装置にプログラムを配布して管理するプログラム管理方法において、
管理処理装置から複数の情報処理装置に対してプログラムの断片を同報型通信で通信手段により送信し、前記複数の情報処理装置中のリーダ処理装置からの肯定応答に対して次の断片を送信することにより前記プログラムに含まれる全断片の配布を行うステップと、
管理処理装置から送信されたプログラムの断片を通信手段により受信し、管理処理装置からのプログラムの配布終了後に未受信の断片がある場合に、前記リーダ処理装置を含む他の情報処理装置から未受信の断片を通信手段により受信するステップとを有することを特徴とするプログラム管理方法。
【請求項２】
前記情報処理装置での処理負荷が所定の閾値よりも大きい場合に管理処理装置からの断片の受信をスキップし、管理処理装置からのプログラムの配布終了後に前記リーダ処理装置を含む他の情報処理装置から当該断片を通信手段により受信することを特徴とする請求項１に記載されたプログラム管理方法。
【請求項３】
管理処理装置からプログラムの断片を受信した場合に当該断片を受信したことを示す情報を記憶手段中の配布済プログラム管理テーブルに格納し、管理処理装置からのプログラムの配布終了後に前記記憶手段中の配布済プログラム管理テーブルを参照し、その配布済管理テーブル中に、未受信の断片があることを示す情報が格納されている場合に、前記リーダ処理装置を含む他の情報処理装置から未受信の断片を通信手段により受信する処理を行うことを特徴とする請求項１または請求項２のいずれかに記載されたプログラム管理方法。
【請求項４】
前記未受信の断片を受信する際に、前記リーダ処理装置を示す識別情報を先頭に格納したクラスタメンバテーブルを記憶手段から読み出し、そのクラスタメンバテーブルの先頭から順に読み出した識別情報で識別される情報処理装置を収集先として、未受信の断片を通信手段により受信する処理を行うことを特徴とする請求項１乃至請求項３のいずれか１項に記載されたプログラム管理方法。
【請求項５】
前記収集先の情報処理装置から、収集先の変更を指示する収集先変更応答を通信手段により受信した場合に、当該収集先変更応答中に指定された情報処理装置を新しい収集先として、未受信の断片を通信手段により受信する処理を行うことを特徴とする請求項１乃至請求項４のいずれか１項に記載されたプログラム管理方法。
【請求項６】
管理処理装置から送信されているプログラムが後処理の必要なプログラムである場合に管理処理装置からの断片の受信をスキップし、前記リーダ処理装置を含む他の情報処理装置から後処理済みの断片を通信手段により受信することを特徴とする請求項１乃至請求項５のいずれか１項に記載されたプログラム管理方法。
【請求項７】
プログラムの断片を受信するかどうかを示す判定ポリシーを前記情報処理装置に通信手段により送信し、前記判定ポリシーによりプログラムの断片を受信するとの判定が行われた場合に当該断片を通信手段により受信することを特徴とする請求項１乃至請求項６のいずれか１項に記載されたプログラム管理方法。
【請求項８】
所定のクラスタに属する情報処理装置に対して送信されたプログラムの断片を、前記所定クラスタの近傍に位置し、その所定クラスタとは異なるクラスタに属する情報処理装置で受信することを特徴とする請求項１乃至請求項７のいずれか１項に記載されたプログラム管理方法。
【請求項９】
管理処理装置から複数の情報処理装置にプログラムを配布して管理するプログラム管理システムにおいて、
複数の情報処理装置に対してプログラムの断片を同報型通信で通信手段により送信し、前記複数の情報処理装置中のリーダ処理装置からの肯定応答に対して次の断片を送信することにより前記プログラムに含まれる全断片の配布を行う配布制御部を備える管理処理装置と、
管理処理装置から送信されたプログラムの断片を通信手段により受信し、その断片を正しく受信した場合に肯定応答を管理処理装置へ通信手段により送信する第１の送受信制御部を備えるリーダ処理装置と、
管理処理装置から送信されたプログラムの断片を通信手段により受信し、管理処理装置からのプログラムの配布終了後に未受信の断片がある場合に、前記リーダ処理装置を含む他の情報処理装置から未受信の断片を通信手段により受信する第２の送受信制御部を備える情報処理装置とを具備することを特徴とするプログラム管理システム。
【請求項１０】
管理処理装置から複数の情報処理装置にプログラムを配布して管理するプログラム管理方法をコンピュータに実行させる為のプログラムにおいて、
管理処理装置から複数の情報処理装置に対してプログラムの断片を同報型通信で通信手段により送信し、前記複数の情報処理装置中のリーダ処理装置からの肯定応答に対して次の断片を送信することにより前記プログラムに含まれる全断片の配布を行うステップと、
管理処理装置から送信されたプログラムの断片を通信手段により受信し、管理処理装置からのプログラムの配布終了後に未受信の断片がある場合に、前記リーダ処理装置を含む他の情報処理装置から未受信の断片を通信手段により受信するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は多数の情報処理装置に対してプログラムの配布処理を効率的に行うプログラム管理技術に関するものである。
【背景技術】
【０００２】
近年、アプリケーションサーバ（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）と呼ばれる、様々なアプリケーションプログラムの実行環境及び、データベースへの接続機能や、トランザクション管理機能等、アプリケーションの構築及び実行に必要な機能を提供するミドルウェアが普及し始めている。なかでも、同一の言語システムを用いたプログラムをコンポーネントとして利用でき、企業の業務システムや電子商取引システムの構築に必要な機能セットを提供する統一標準仕様に準拠したアプリケーションサーバが広く使われる様になっている。
【０００３】
また、アプリケーションサーバの利用例として、最近グリッドシステムと呼ばれるネットワークを介して多数の計算機資源を結び付け、高性能の仮想的な計算機を実現するシステムが注目されている。しかし、大量の計算機で構成されるグリッドシステムに対して、必要に応じてアプリケーションを配布する為には相当のネットワーク帯域やコンピューティングパワーを要求される。
【０００４】
ところで、ネットワークを介して行われる通信の形態として、通常の１対１の通信であるユニキャストと、同一の物理ネットワーク内への同報型通信であるブロードキャストと、複数のネットワークにまたがった同報型通信であるマルチキャストとがある。広く普及しているネットワークプロトコルであるインターネットプロトコル（ＩＰ）ではＩＰマルチキャストとしてＲＦＣ１１１２でマルチキャストによる通信が定義されている。マルチキャストはストリーミングコンテンツの配信の効率化に用いられることが多い。
【０００５】
【特許文献１】特開２００３−６０８７号公報
【特許文献２】特開２００２−１５２１９７号公報
【非特許文献１】Sun Microsystems、Inc.著 7/27/2001 Java(TM)2 Platform Enterprise Edition Specification、v1.3
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記の様に多数のアプリケーションサーバから構成されるグリッドシステムにおいては、各アプリケーションサーバへのアプリケーション配布処理は、処理負荷の大きい処理であり、大量のネットワーク帯域を必要とするため、アプリケーションサーバへのアプリケーション配布処理がアプリケーションサーバでのアプリケーション処理の処理効率を低下させるという問題がある。
【０００７】
本発明の目的は上記問題を解決し、管理処理装置から複数の情報処理装置へプログラムの配布を行う際に、多数の情報処理装置へのプログラム配布における通信トラフィックを軽減し、プログラム配布時の処理負荷を管理することが可能な技術を提供することにある。
【０００８】
本発明の他の目的は、後処理の必要なプログラムの配布を行う場合に、同一の後処理を複数の情報処理装置で行うことによる無駄を省き、配布処理を効率化することが可能な技術、プログラムの配布を効率化する為の判定基準を柔軟に変更することが可能な技術や、クラスタ間の情報処理装置の配分変更により所定クラスタの近傍に位置する情報処理装置がそのクラスタに属する様になった際に、当該情報処理装置で速やかにプログラムの実行を開始することが可能な技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、管理処理装置から複数の情報処理装置にプログラムを配布して管理するプログラム管理システムにおいて、管理処理装置から複数の情報処理装置への同報型通信を用いたプログラムの配布と受信漏れ断片の他の情報処理装置からの収集とを組み合わせて、複数の情報処理装置へのプログラムの配布を行うものである。
【００１０】
本発明のプログラム管理システムでは、管理処理装置から複数の情報処理装置（これらの処理装置は、計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）にプログラムを配布して管理する際に、まず管理処理装置から複数の情報処理装置に対してプログラムの断片を同報型通信（ブロードキャストまたはマルチキャスト）で通信装置により送信する。
【００１１】
その際、管理処理装置は、前記複数の情報処理装置中の特定の情報処理装置であるリーダ処理装置からの肯定応答に対して次の断片を送信することにより、リーダ処理装置に対する全断片の配布が完了する様に通信制御を行う。また、前記複数の情報処理装置中のリーダ処理装置以外の情報処理装置では、負荷状態や後処理の有無または判定ポリシー等に応じて断片の受信または受信のスキップを行う。
【００１２】
前記複数の情報処理装置は、前記の様にして管理処理装置から送信されたプログラムの断片を通信装置により受信し、管理処理装置からのプログラムの配布が終了した後に、各情報処理装置は、記憶装置中の配布済プログラム管理テーブルを参照して、その配布済管理テーブル中に未受信の断片があることを示す情報が格納されているかどうかを調べ、未受信の断片がある場合には、前記リーダ処理装置を含む他の情報処理装置から未受信の断片を通信装置により受信する処理を行う。
【００１３】
また、所定のクラスタに属する情報処理装置に対して送信されたプログラムの断片を、当該クラスタの近傍に位置し、そのクラスタとは異なるクラスタに属する情報処理装置で受信する様にしても良い。
【００１４】
前記の様に本発明では、管理処理装置から複数の情報処理装置に対してプログラムの断片を同報型通信（ブロードキャストまたはマルチキャスト）で送信しているので、１対１の通信であるユニキャストでプログラムを配布した場合と比較して通信トラフィックを軽減することができる。
【００１５】
また本発明では、プログラムの断片を同報型通信（ブロードキャストまたはマルチキャスト）で送信する際に、リーダ処理装置への全断片の配布を完了する様に通信制御を行っているので、リーダ処理装置以外の情報処理装置では、アプリケーション処理等の処理負荷が大きい場合に断片の受信をスキップし、処理負荷が低下した後に、リーダ処理装置等から未受信の断片を受信することが可能であり、プログラム配布処理がアプリケーション処理等の他の処理の処理効率を低下させるのを防止することができる。
【発明の効果】
【００１６】
本発明によれば、管理処理装置から複数の情報処理装置へプログラムの配布を行う際に、多数の情報処理装置へのプログラム配布における通信トラフィックを軽減し、プログラム配布時の処理負荷を管理することが可能である。
【発明を実施するための最良の形態】
【００１７】
（実施形態１）
以下に同報型通信（ブロードキャスト）を用いてアプリケーションサーバへのアプリケーション配布を行う実施形態１のプログラム管理システムについて説明する。
【００１８】
図１は本実施形態のプログラム管理システムの全体構成を示す図である。図１に示す様に本実施形態では、アプリケーションプログラム（ＡＰ）の配布指令及び配布するＡＰの管理を行う管理ノード０００１と、ＡＰが配布される対象であるＡＰサーバノード０００５〜０００７と、その集合体であるクラスタ０００８、クラスタ０００８の中で主導的な役割を果たすリーダノード０００４とを有している。これらのノードは、計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良く、他の実施形態でも同様である。
【００１９】
管理ノード０００１と各ＡＰサーバノードの間はネットワーク０００２を通じて通信が可能になっている。また、各ＡＰサーバノード間の通信も可能であり、本実施形態においてはブロードキャストが到達可能な同一ネットワーク０００３に、クラスタ０００８に属するＡＰサーバノードが接続している。また、管理ノード０００１からクラスタ０００８の接続するネットワーク０００３に対してネットワーク０００２を通じてブロードキャスト０００９を送信可能である。
【００２０】
図２は本実施形態の管理処理装置である管理ノード０００１の内部構成例を示す図である。図２に示す様に本実施形態の管理ノード０００１はＡＰ配布制御部００１２を有している。ＡＰ配布制御部００１２は、複数の情報処理装置であるリーダノード０００４及びＡＰサーバノード０００５〜０００７に対してＡＰの断片を同報型通信で通信装置により送信し、リーダノード０００４からの肯定応答に対して次の断片を送信することにより前記ＡＰに含まれる全断片の配布を行う処理部である。
【００２１】
管理ノード０００１をＡＰ配布制御部００１２として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２２】
管理ノード０００１は、ＡＰ配布制御部００１２と、配布すべきＡＰを管理するＡＰレポジトリ００１３と、管理対象とするクラスタ毎にクラスタ管理テーブル００１１とを有している。クラスタ管理テーブル００１１は、クラスタ０００８の識別名と、クラスタ０００８を構成するリーダノード及びＡＰサーバノードの一覧、配布先アドレスの一覧、配布済ＡＰの一覧とを有している。
【００２３】
図３は本実施形態のリーダノード０００４の内部構成例を示す図である。図３に示す様に本実施形態のリーダノード０００４はＡＰ送受信制御部００２２を有している。ＡＰ送受信制御部００２２は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信し、その断片を正しく受信した場合に肯定応答を管理ノード０００１へ通信装置により送信する処理部である。
【００２４】
リーダノード０００４をＡＰ送受信制御部００２２として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２５】
リーダノード０００４は、ＡＰを実行するＡＰ実行コンテナ００２１と、同一クラスタに属するＡＰサーバノードの一覧を保持するクラスタメンバテーブル００２３と、ＡＰの配布に関する送受信を行うＡＰ送受信制御部００２２とを有している。
【００２６】
図４は本実施形態のＡＰサーバノードの内部構成例を示す図である。図４に示す様に本実施形態のＡＰサーバノードはＡＰ送受信制御部００２６を有している。ＡＰ送受信制御部００２６は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信する際に、自装置での処理負荷が所定の閾値よりも大きい場合に管理ノード０００１からの断片の受信をスキップし、管理ノード０００１からのＡＰの配布終了後に未受信の断片がある場合に、リーダノード０００４または他のＡＰサーバノードから未受信の断片を通信装置により受信する処理部である。
【００２７】
ＡＰサーバノードをＡＰ送受信制御部００２６として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２８】
ＡＰサーバノードは、ＡＰを実行するＡＰ実行コンテナ００２１と、ＡＰの配布に関する送受信を行うＡＰ送受信制御部００２２と、同一クラスタに属するＡＰサーバノードの一覧を保持するクラスタメンバテーブル００２３とを有しており、配布済のＡＰについての情報を管理する配布済ＡＰ管理テーブル００２４と、配布されたＡＰを保管する為の記憶装置００２５とを有している。
【００２９】
図６は本実施形態のアプリケーション（ＡＰ）の一例を示す図である。ＡＰ００３０は、１つまたは複数のＡＰ断片００３２と、含まれるＡＰ断片の一覧についての情報を保持するテーブル００３１とを有している。ＡＰ断片００３２にはＡＰの実行に用いられるプログラム若しくはデータと、ＡＰ断片に関する各種情報とを含んでいる。
【００３０】
次に、図１に示したシステムにおいて管理ノード０００１からクラスタ０００８に対してＡＰを配布する管理ノードにおける処理手順を図５のフローチャートを参照して説明する。
【００３１】
図５は本実施形態の管理ノード０００１でのＡＰ配布処理の処理手順を示すフローチャートである。図５に示す様に管理ノード０００１のＡＰ配布制御部００１２は、リーダノード０００４及びＡＰサーバノード０００５〜０００７に対してＡＰの断片を同報型通信で通信装置により送信し、リーダノード０００４からの肯定応答に対して次の断片を送信して全断片の配布を行う。
【００３２】
まずステップＳ００１において管理ノード０００１のＡＰ配布制御部００１２は、ＡＰ配布開始通知を図２のクラスタ管理テーブル００１１に登録された配布先アドレスに対して通信装置を用いて送信する。なお、この配布先アドレスは例えば図１のクラスタ０００８の接続するネットワーク０００３のブロードキャストアドレスである。また、配布するＡＰはＡＰレポジトリ００１３に既に格納されているものとする。
【００３３】
次にステップＳ００２でＡＰ配布制御部００１２は、ステップＳ００１にて送信したＡＰ配布開始通知に対するリーダノードからのＡＣＫ（肯定応答）を受信できたかどうかを調べ、受信できた場合には次のステップＳ００３に進み、受信できなかった場合にはエラー発生としてＡＰ配布を中止する。
【００３４】
次にＡＰの送信を行うステップについて説明する。ここでは、例えば図６の様にＡＰは適切な形態の断片に分割されているものとする。まずステップＳ００３では、ステップＳ００１と同様に配布先アドレスに対してＡＰの断片ｎを通信装置により送信する。ここでいうｎはＡＰのどの断片であるかを識別する為の番号である。
【００３５】
リーダノード０００４のＡＰ送受信制御部００２２は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信し、その断片を正しく受信した場合にＡＣＫを管理ノード０００１へ送信する。
【００３６】
次にステップＳ００４で管理ノード０００１のＡＰ配布制御部００１２は、ステップＳ００３において送信したＡＰ断片ｎをリーダノード０００４が正常に受信したことを示すＡＣＫをリーダノード０００４から受信できたかどうかを調べ、受信できた場合には次のステップＳ００５に進み、受信できなかった場合にはまたステップＳ００３に戻る。
【００３７】
次に、ステップＳ００５において全てのＡＰ断片の送信が完了しているかどうかを調べ、全てのＡＰ断片の送信が完了している場合には配布処理は終了し、まだ未送信のＡＰ断片がある場合にはステップＳ００６においてｎを未送信のＡＰ断片番号に変更する。ＡＰ配布が正常に終了した場合には、図２のクラスタ管理テーブル００１１にある配布済ＡＰ一覧にそのＡＰ名を追加する。
この一連の手順が終了すると、管理ノード０００１は確実にリーダノード０００４にＡＰを配布できていることになる。
【００３８】
図７は本実施形態のＡＰサーバノードへのＡＰ配布処理の処理手順を示すフローチャートである。次にＡＰサーバノードへのＡＰ配布に関する処理手順について図７を参照して説明する。
【００３９】
まずステップＳ０１１においてＡＰサーバノードのＡＰ送受信制御部００２６は、リーダノード０００４からクラスタメンバテーブルの内容を通信装置により受信する。但し、リーダノードについては受信する前から既知であるものとする。
【００４０】
次にステップＳ０１２において、管理ノード０００１からのＡＰ配布開始通知を受信する。次にステップＳ０１３では、ＡＰサーバノードでのＡＰ実行負荷が所定の閾値以下かどうかを判定し、ＡＰ実行負荷が所定の閾値よりも大きい場合にはＡＰ実行負荷が下がるまで待機状態となる。ここで、同報型通信により送信されるＡＰ断片を取りこぼすことなく受信可能な最大のＡＰ実行負荷を予め測定等により求めておき、ＡＰ実行負荷を判定する為の閾値として、前記求めた値を設定しておくことにより、受信エラーの発生を防ぎ、効率的に受信を行うことができる。
【００４１】
次にステップＳ０１４において管理ノード０００１から送信されるＡＰ断片を受信する処理を行う。次にステップＳ０１５においてＡＰ断片が正しく受信されたかを判定し、正しく受信されている場合にはステップＳ０１６において、その受信したＡＰ断片の番号を配布済ＡＰ管理テーブル００２４に追加し、記憶装置００２５に保管する処理を行う。このとき、受信したＡＰ断片の番号を未受信の断片番号から削除する。
【００４２】
次にステップＳ０１７において管理ノード０００１からのＡＰ配布が終了したかを確認する処理を行い、終了していない場合にはステップＳ０１３に戻って処理を繰り返す。管理ノード０００１からのＡＰ配布が終了した場合には、ステップＳ０１８において配布済ＡＰ管理テーブル００２４を参照して全てのＡＰ断片が受信されているかどうかを確認する処理を行い、全てのＡＰ断片が受信されていればＡＰサーバノードにおけるＡＰ配布処理を終了する。まだ受信していないＡＰ断片がある場合には、ステップＳ０１９において受信漏れＡＰ断片の収集処理を行う。
【００４３】
図８は本実施形態の受信漏れＡＰ断片の収集処理の処理手順を示すフローチャートである。次にステップＳ０１９の受信漏れＡＰ断片の収集処理の詳細について図８を用いて説明する。
【００４４】
ステップＳ０２０においてＡＰサーバノードのＡＰ送受信制御部００２６は、配布済ＡＰ管理テーブル００２４を参照して未受信のＡＰの断片番号を読み出し、収集するＡＰ断片＃を決定する。
【００４５】
次にステップＳ０２１では、ステップＳ０２０にて決定したＡＰ断片の収集先ノードを、クラスタメンバテーブルを参照することで決定する。通常はクラスタメンバテーブルの先頭にリーダノードが登録されているので、リーダノードを収集先ノードとする。なお、リーダノードにはＡＰ配布終了後に必ず全てのＡＰ断片が保管されている。
【００４６】
次にステップＳ０２２では、ステップＳ０２１において決定した収集先ノードに対してＡＰ断片要求を送信する。
【００４７】
次にステップＳ０２３では、前記ＡＰ断片要求を送信した収集先ノードからの応答があるかどうかを調べ、応答がなければステップＳ０２１に戻り、応答があれば次のステップＳ０２４に進む。
【００４８】
次にステップＳ０２４では、収集先ノードからの応答が収集先変更応答であるかどうかを調べ、収集先変更応答でなければ、次のステップＳ０２５においてＡＰ断片を受信する。また収集先変更応答であれば、ステップＳ０２１に戻って処理を継続する。ステップＳ０２１に戻る時にステップＳ０２４で得られた収集先変更応答に指定されたノードを新しい収集先ノードに変更する。ここで、収集先変更応答に指定されたノードとは、収集先変更応答を応答したノードが当該ＡＰ断片を受信したノードである。
【００４９】
次にステップＳ０２６では、ステップＳ０２５でＡＰ断片が正しく受信できたかどうかを調べ、正しく受信できなかった場合にはステップＳ０２２に戻って処理を継続する。また、配布ＡＰの全断片が正しく受信できた場合にはステップＳ０２７に進み、配布済ＡＰ管理テーブルを更新する。
【００５０】
次にステップＳ０２８では、配布ＡＰの全断片が収集されているかを確認し、全て収集されていれば処理を終了し、未収集のＡＰ断片があればステップＳ０２０に戻って処理を継続する。
【００５１】
この様に本実施形態では、管理ノードとリーダノードとの間での制御に基づく同報型通信（ブロードキャスト）を用いたＡＰの配布と、受信漏れＡＰ断片の他ノードからの収集を組み合わせることで、効率良く同一ネットワーク内の多数のノードにＡＰの配布を行うことができ、更に各ノードの負荷に応じた性能管理を行いながらＡＰを配布できる効果がある。
【００５２】
以上説明した様に本実施形態のプログラム管理システムによれば、管理処理装置から複数の情報処理装置への同報型通信を用いたプログラムの配布と受信漏れ断片の他の情報処理装置からの収集とを組み合わせて、複数の情報処理装置へのプログラムの配布を行うので、管理処理装置から複数の情報処理装置へプログラムの配布を行う際に、多数の情報処理装置へのプログラム配布における通信トラフィックを軽減し、プログラム配布時の処理負荷を管理することが可能である。
【００５３】
（実施形態２）
以下に同報型通信（マルチキャスト）を用いて異なる実装のアプリケーションサーバへのアプリケーション配布を行う実施形態２のプログラム管理システムについて説明する。
【００５４】
図９は本実施形態のプログラム管理システムの全体構成を示す図である。本実施形態では、アプリケーションの管理及び配布指令を行う管理ノード０００１と、アプリケーションが配布され実行されるＡＰサーバノード０１０６〜０１０８と、その集合体であるクラスタ０１０９、クラスタ０１０９の中で主導的な役割を果たすリーダノード０１０５とを有している。
【００５５】
管理ノード０００１と各ＡＰサーバノードの間はネットワーク０００２を通じて通信が可能になっている。また、各ＡＰサーバノードはそれぞれネットワーク０１０３若しくはネットワーク０１０４に接続していて、同一ネットワーク内での通信は勿論のこと、ルータ０１１０若しくはルータ０１１１若しくはルータ０１１２を経由することで異なるネットワークをまたがる通信も可能である。
【００５６】
本実施形態においては、ブロードキャストが到達可能な同一ネットワークだけでなく、複数のネットワークにまたがってクラスタ０１０９に属するＡＰサーバノードが接続していて、ＡＰサーバノード、リーダノード及び管理ノードは、マルチキャスト０１１３を使用する通信が可能となっている。
【００５７】
図１０は本実施形態のルータの内部構成例を示す図である。ルータ０１１０は、ルーティングの制御を行うルーティング制御部０２００と、マルチキャストのメンバを管理するマルチキャストメンバ管理部とを有している。ルーティング制御部０２００は、内部に保持するルーティングテーブルを参照してルーティングを行い、マルチキャストメンバ管理部０２０１は、内部に保持するマルチキャストメンバテーブルに対してメンバの追加削除を適宜行っている。
【００５８】
図１１は本実施形態のＡＰサーバノードの内部構成例を示す図である。図１１に示す様に本実施形態のＡＰサーバノードは、ＡＰ配布後処理制御部０２１１と、ＡＰ送受信制御部０２１６とを有している。
【００５９】
ＡＰ配布後処理制御部０２１１は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信し、そのＡＰが後処理の必要なプログラムである場合に前記受信したＡＰの断片に対して所定の後処理を実行して後処理済みのＡＰを生成する処理部である。
【００６０】
ＡＰ送受信制御部０２１６は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信する際に、そのＡＰが後処理の必要なプログラムである場合に管理ノード０００１からの断片の受信をスキップし、管理ノード０００１からのＡＰの配布終了後に未受信の断片がある場合に、リーダノード０１０５または他のＡＰサーバノードから未受信の断片を通信装置により受信する処理部である。
【００６１】
ＡＰサーバノードをＡＰ配布後処理制御部０２１１及びＡＰ送受信制御部０２１６として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００６２】
ＡＰサーバノード０１０６は、アプリケーションの実行を行うアプリケーション実行コンテナ０２１０と、同一クラスタに属するＡＰサーバノードの一覧を保持するクラスタメンバテーブル０２１３と、ＡＰの配布後に該アプリケーション実行コンテナで実行する為に必要な配布後処理を行うＡＰ配布後処理制御部０２１１と、ＡＰの配布に関する送受信を行うＡＰ送受信制御部０２１６とを有している。
【００６３】
本実施形態では、アプリケーション実行コンテナの実装は各ＡＰサーバノードで異なり、ＡＰそのものは各ＡＰサーバノードで共通に利用可能であるが、配布されたＡＰを実行する為には各ＡＰサーバノードにおいて、実装の違いに応じた配布後処理が必要になるものとする。
【００６４】
またＡＰサーバノード０１０６は、配布済みのＡＰについての情報を管理する配布済ＡＰ管理テーブル０２１４と、配布されたＡＰを保管する為の記憶装置００２５とを有している。配布済ＡＰ管理テーブル０２１４においては、実施形態１における図４の配布済ＡＰ管理テーブル００２４で管理している情報に加えて、保管しているＡＰ断片の内、配布後処理が済んでいるものを識別する為の情報が付加されている。
【００６５】
図１２は本実施形態のリーダノード０１０５の内部構成例を示す図である。図１２に示す様に本実施形態のリーダノード０１０５はＡＰ送受信制御部０２１２を有している。ＡＰ送受信制御部０２１２は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信し、その断片を正しく受信した場合に肯定応答を管理ノード０００１へ通信装置により送信する処理部である。
【００６６】
リーダノード０１０５をＡＰ送受信制御部０２１２として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００６７】
リーダノード０１０５は、アプリケーションの実行を行うアプリケーション実行コンテナ０２１０と、同一クラスタに属するＡＰサーバノードの一覧を保持するクラスタメンバテーブル０２１３と、ＡＰの配布後に該アプリケーション実行コンテナで実行する為に必要な配布後処理を行うＡＰ配布後処理制御部０２１１と、ＡＰの配布に関する送受信を行うＡＰ送受信制御部０２１２とを有している。
【００６８】
クラスタメンバテーブル０２１３には、実施形態１における図３のクラスタメンバテーブル００２３で管理している情報に加えて、各ノードに存在するアプリケーション実行コンテナのバージョン情報及びスコア情報が付加されている。
【００６９】
図１３は本実施形態のＡＰの内部構成例を示す図である。ＡＰ０２２０では、実施形態１における図６の場合に加えてＡＰ断片の保持する情報としてプログラム・データの配布後処理結果が追加されている。この情報は、ＡＰの配布後にＡＰ配布後処理制御部０２１１において追加された内容である。また、ＡＰ断片の中で配布後処理結果を持つものは配布後処理済ＡＰ断片の一覧テーブル０２２３に登録されている。
【００７０】
次に、図９に示したシステムにおいて管理ノード０００１からクラスタ０１０９に対してＡＰを配布する管理ノードにおける処理手順について説明する。
【００７１】
本実施形態においては、既にルータ０１１０〜０１１２のマルチキャストメンバテーブルにはクラスタ０１０９に対応するマルチキャストグループアドレスに対してメンバアドレス一覧が以下の内容で登録されているものとする。すなわち登録内容は、ルータ０１１０では管理ノード０００１のアドレス、ルータ０１１１ではＡＰサーバノード０１０７とＡＰサーバノード０１０８のアドレス、ルータ０１１２ではリーダノード０１０５とＡＰサーバノード０１０６のアドレスである。
【００７２】
ＡＰを配布する手順は図５のフローチャートに従って実施形態１とほぼ同様にして行われるが、ステップＳ００１におけるＡＰ配布開始通知の送信先はクラスタ０１０９に対応するマルチキャストグループアドレスとなる。またステップＳ００３におけるＡＰ断片ｎの送信先アドレスも同様にクラスタ０１０９に対応するマルチキャストグループアドレスである。図５の他のステップについては実施形態１と同様である。
【００７３】
次に、ＡＰサーバノードへのＡＰ配布に関する処理手順について説明する。処理手順については図７のフローチャートに従って実施形態１とほぼ同様に行うものとするが、ステップＳ０１２における管理ノードからのＡＰ配布開始通知及びステップＳ０１４にけるＡＰ断片の受信については、クラスタ０１０９に対応するマルチキャストグループアドレスに対して送信されたものを受信する。またステップＳ０１１の詳細については図１４を参照して説明する。
【００７４】
図１４は本実施形態のＡＰサーバノードでのクラスタメンバテーブル受信処理の処理手順を示すフローチャートである。まずステップＳ０４０においてＡＰサーバノードのＡＰ送受信制御部０２１６は、リーダノードからクラスタメンバテーブルを受信する。次にステップＳ０４１において、バージョン情報が自ノードのバージョンと互換性の高いＡＰサーバノードのスコアを増やす。これにより、ＡＰ断片に含まれる配布後処理結果を利用できる可能性が高まる。次にステップＳ０４２において、自ノードと同一のネットワークに接続するＡＰサーバノードのスコアを増やす。これによりＡＰ断片収集時の通信効率が向上する可能性が高まる。
【００７５】
図１５は本実施形態の受信漏れＡＰ断片の収集処理の処理手順を示すフローチャートである。次に受信漏れＡＰ断片の収集に関する処理手順について図１５のフローチャートを参照して説明する。
【００７６】
ステップＳ０３０においてＡＰサーバノードのＡＰ送受信制御部０２１６は、配布済ＡＰ管理テーブルを参照し、収集するＡＰ断片＃を決定する。次に、ステップＳ０３１では、ステップＳ０３０にて決定したＡＰ断片の収集先ノードを、クラスタメンバテーブルを参照することで決定し、ステップＳ０３２では、ステップＳ０３１で決定した収集先ノードに対してＡＰ断片要求を送信する。
【００７７】
次にステップＳ０３２では、収集先ノードからの応答を確認し、応答がなければステップＳ０３４に進み、応答があればステップＳ０３５に進む。ステップＳ０３４では、収集先ノードから応答がなかったので、クラスタメンバテーブルにある、そのノードのスコアを下げる。
【００７８】
ステップＳ０３５では、ステップＳ０３２での要求に対する応答が収集先変更応答あるかどうかを調べ、収集先変更応答でなければ、次のステップＳ０３６においてＡＰ断片を受信する。また収集先変更応答であれば、ステップＳ０３４を経てステップＳ０３１に戻る。そのとき、クラスタメンバテーブルにある、収集先変更応答を返したノードのスコアを下げる。また、ステップＳ０３１に戻る時にステップＳ０３５で得られた収集先変更応答に指定されたノードを新しい収集先ノードに設定する。
【００７９】
次にステップＳ０３６においてＡＰ断片を受信し、ステップＳ０３７では、ステップＳ０３６でＡＰ断片が正しく受信したかどうかを確認し、正しく受信できなかった場合にはステップＳ０３２に戻って処理を継続する。また正しく受信できた場合にはステップＳ０３８に進み、配布済ＡＰ管理テーブルを更新する。このとき、ＡＰ断片に含まれる配布後処理結果に関する情報を自ノードで利用できない場合にはその情報を抹消する。
【００８０】
次にステップＳ０３９では、クラスタメンバテーブルの中のＡＰ断片が正しく収集できたノードのスコアを増やす。
ステップＳ０４０では、配布ＡＰの全断片が収集されているかを確認し、全て収集されていれば処理を終了し、未収集のＡＰ断片があればステップＳ０３０に戻って処理を継続する。
【００８１】
図１６は本実施形態のＡＰサーバノードでのＡＰ配布後処理の処理手順を示すフローチャートである。次に配布処理が完了し、ＡＰの全てのＡＰ断片が収集された後にＡＰサーバで行われる配布後処理について図１６を参照して説明する。
【００８２】
まずステップＳ０５０でＡＰ送受信制御部０２１６は、配布済ＡＰ管理テーブル０２１４で処理済になっていないＡＰ断片＃を選択する。次にステップＳ０５１では、ステップＳ０５０で選択したＡＰ断片を図１１における記憶装置００２５から取り出し、ＡＰ配布後処理制御部０２１１に伝達する。
【００８３】
次にステップＳ０５２でＡＰ配布後処理制御部０２１１は、ＡＰ断片を分析し、ＡＰ断片に含まれるプログラム若しくはデータに応じた配布後処理を行う。次にステップＳ０５３でＡＰ配布後処理制御部０２１１は、配布後処理の結果をＡＰ断片に格納し、ＡＰ送受信制御部０２１６に返却する。
【００８４】
次にステップＳ０５４でＡＰ送受信制御部０２１６は、図１３のＡＰ０２２０に含まれる配布後処理済ＡＰ断片の一覧テーブルを更新し、配布済ＡＰ管理テーブル０２１４を更新し、ＡＰ０２２０に処理済ＡＰ断片を格納して記憶装置００２５に格納する。
【００８５】
次にステップＳ０５５では、全ての該ＡＰに含まれるＡＰ断片が配布後処理済かどうか配布済ＡＰ管理テーブル０２１４を参照して確認し、もし配布後処理が完了していないＡＰ断片があればステップＳ０５０に戻って処理を継続し、完了していればステップＳ０５６に進む。次にステップＳ０５６では、図１１のアプリケーション実行コンテナ０２１０にＡＰを転送し、処理を終了する。
【００８６】
この様に本実施形態では、マルチキャストを用いたアプリケーションの配布と、受信漏れＡＰ断片の他ノードからの収集と、配布後処理済のＡＰ断片の他ノードからの収集とを組み合わせることで、複数ネットワークにまたがる多数のＡＰサーバノードにおける配布後処理を効率化してＡＰの配布を行うことができる効果がある。
【００８７】
以上説明した様に本実施形態のプログラム管理システムによれば、管理処理装置から複数の情報処理装置への同報型通信を用いたプログラムの配布と受信漏れ断片の他の情報処理装置からの収集とを組み合わせて、複数の情報処理装置へのプログラムの配布を行うので、管理処理装置から複数の情報処理装置へプログラムの配布を行う際に、多数の情報処理装置へのプログラム配布における通信トラフィックを軽減し、プログラム配布時の処理負荷を管理することが可能である。
【００８８】
（実施形態３）
以下に同報型通信（マルチキャスト）を用いた異なる実装のアプリケーションサーバへのアプリケーション配布の際に、アプリケーション配布のポリシーによる制御及び近傍の他クラスタのアプリケーションサーバへのアプリケーション配布を行う実施形態３のプログラム管理システムについて説明する。
【００８９】
図１７は本実施形態のプログラム管理システムの全体構成を示す図である。本実施形態では、アプリケーションの管理及び配布指令を行う管理ノード０００１と、アプリケーションが配布され実行されるＡＰサーバノード０３０２及び０３０３と、その集合体であるクラスタ０３０４、クラスタ０３０４の中で主導的な役割を果たすリーダノード０３０１と、別のＡＰサーバノード０３０６と、その集合体であるクラスタ０３０７と、クラスタ０３０７の中で主導的な役割を果たすリーダノード０３０５とを有している。
【００９０】
管理ノード０００１と各ＡＰサーバノードの間はネットワーク０００２を通じて通信が可能になっている。また、各ＡＰサーバノードはそれぞれネットワーク０１０３若しくはネットワーク０１０４に接続していて、同一ネットワーク内での通信は勿論のこと、ルータ０１１０若しくはルータ０１１１若しくはルータ０１１２を経由することで異なるネットワークをまたがる通信も可能である。
【００９１】
本実施形態においては、ブロードキャストが到達可能な同一ネットワークだけでなく複数のネットワークにまたがってクラスタ０３０４及びクラスタ０３０７に属するＡＰサーバノードが接続していて、ＡＰサーバノード及びリーダノード及び管理ノードは、マルチキャスト０１１３を使用する通信が可能となっている。
【００９２】
本実施形態のルータ、ＡＰサーバノード、リーダノード、ＡＰは実施形態２の各図に示したものと同様である。また図１７に示したシステムにおいて、管理ノード０００１からクラスタ０３０７に対してＡＰを配布する管理ノードにおける処理手順については、実施形態１とほぼ同様であり図５のフローチャートに従って行う。但し、ステップＳ００１におけるＡＰ配布開始通知の送信先はクラスタ０３０７に対応するマルチキャストグループアドレスとなる。またステップＳ００３におけるＡＰ断片ｎの送信先アドレスも同様にクラスタ０３０７に対応するマルチキャストグループアドレスである。図５の他のステップについては実施形態１と同様である。
【００９３】
図１９は本実施形態のリーダノードの内部構成例を示す図である。図１９に示す様に本実施形態のリーダノードは、ＡＰ配布後処理制御部０４１１と、ＡＰ送受信制御部０４１２と、ポリシー配布処理制御部０４１７とを有している。
【００９４】
ＡＰ配布後処理制御部０４１１は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信し、そのＡＰが後処理の必要なプログラムである場合に前記受信したＡＰの断片に対して所定の後処理を実行して後処理済みのＡＰを生成する処理部である。
【００９５】
ＡＰ送受信制御部０４１２は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信し、その断片を正しく受信した場合に肯定応答を管理ノード０００１へ通信装置により送信する処理部である。
【００９６】
ポリシー配布処理制御部０４１７は、ＡＰサーバノードから要求されたポリシーの取得先アドレス（ＵＲＬ）に応じたポリシー０４１８を選択して通信装置によりＡＰサーバノードに配布する処理部である。
【００９７】
リーダノードをＡＰ配布後処理制御部０４１１、ＡＰ送受信制御部０４１２及びポリシー配布処理制御部０４１７として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００９８】
リーダノード０３０５の内部構成は、実施形態２における図１２と殆ど同一であり、図１２のアプリケーション実行コンテナ０２１０は図１９のアプリケーション実行コンテナ０４１０に、ＡＰ配布後処理制御部０２１１はＡＰ配布後処理制御部０４１１に、ＡＰ送受信制御部０２１２はＡＰ送受信制御部０４１２と同様である。
【００９９】
クラスタメンバテーブル０４１３においては、図１２のクラスタメンバテーブル０２１３に加えてＡＰ受信判定に用いるポリシーの取得先アドレス（ＵＲＬ）の情報が追加されている。ＡＰサーバノードは、このＡＰ受信ポリシーの取得先アドレスで示された、ＡＰの断片を受信するかどうかを示すＡＰ受信ポリシーを取得する。その際にリーダノード０３０５においてポリシーの配布処理を行うのがポリシー配布処理制御部０４１７である。ポリシー配布処理制御部０４１７は、ＡＰサーバノードから要求されたポリシーの取得先アドレス（ＵＲＬ）に応じたポリシー０４１８を選択し、ＡＰサーバノードに配布する。
【０１００】
図２０は本実施形態のＡＰサーバノードの内部構成例を示す図である。図２０に示す様に本実施形態のＡＰサーバノードは、ＡＰ送受信制御部０４１６と、ポリシー実行部０４１５とを有している。
【０１０１】
ＡＰ送受信制御部０４１６は、管理ノード０００１から送信されたＡＰの断片を通信装置により受信する際に、ポリシー０４１８によりＡＰの断片を受信するとの判定が行われた場合にＡＰの断片の受信を行い、管理ノード０００１からのＡＰの配布終了後に未受信の断片がある場合に、リーダノード０１０５または他のＡＰサーバノードから未受信の断片を通信装置により受信する処理部である。
【０１０２】
ポリシー実行部０４１５は、ＡＰの断片を受信するかどうかを示すポリシー０４１８を通信装置によりリーダノードから受信し、その受信したポリシー０４１８を実行してＡＰの断片を受信するかどうかを判定する処理部である。
【０１０３】
ＡＰサーバノードをＡＰ送受信制御部０４１６及びポリシー実行部０４１５として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【０１０４】
ＡＰサーバノード０３０６は実施形態２における図１１及び、本実施形態の図１９において示されるリーダノード０３０５と殆ど同様である。
【０１０５】
ＡＰ送受信制御部０４１６は、図１１のＡＰ送受信制御部０２１６と殆ど同様であるが、リーダノードから取得したＡＰ受信ポリシーを実行するポリシー実行部０４１５を有している。
【０１０６】
ＡＰ受信ポリシーはポリシー実行部０４１５において実行可能なプログラムであり、図１８に示すフローチャートのステップＳ０６４においてＡＰを受信するかどうかの決定や、ステップＳ０７０においてＡＰ断片を収集するノードの決定や変更という処理に用いられる。
【０１０７】
例えばステップＳ０６４においてＡＰを受信するかどうかを決定するポリシーの一例として、実施形態１及び２における図７のフローチャートのステップＳ０１３で行っている現在のノードの負荷が閾値以下かどうかによる判定を行うプログラムがあげられる。
【０１０８】
この様に、ＡＰの受信を決定するポリシーをプログラムとして配布することで、ＡＰの配布に関する処理について柔軟な動作を行うことが可能になるという効果がある。
【０１０９】
図１８は本実施形態のＡＰサーバノードへのＡＰ配布処理の処理手順を示すフローチャートである。次にＡＰサーバノードへのＡＰ配布に関する処理手順に関して図１８のフローチャートを参照して説明する。この処理手順は、実施形態２での処理手順とほぼ同様で、図７と図１４のフローチャートを一部変更したものである。
【０１１０】
まずステップＳ０６１でＡＰサーバノードのＡＰ送受信制御部０４１６は、図７におけるステップＳ０１１と同様の処理を行う。
【０１１１】
次にステップＳ０６２では、図１９に示されるクラスタメンバテーブルに記載されたＡＰ受信ポリシーの取得先アドレスからリーダノードのポリシー配布処理制御部０４１７によって配布されたＡＰ受信ポリシーを取得する。次のステップＳ０６３は図７のステップＳ０１２と同様の処理である。
【０１１２】
次にステップＳ０６４においてＡＰサーバノードのポリシー実行部０４１５は、ステップＳ０６２で取得したＡＰ受信ポリシーを実行し、その実行結果を参照してＡＰを受信するかどうかを判定し、ＡＰ受信を行うと判定した場合にはステップＳ０６５に進む。ステップＳ０６５は、図７におけるステップＳ０１４と同様で、以下、ステップＳ０６６はステップＳ０１５、ステップＳ０６７はステップＳ０１６、ステップＳ０６８はステップＳ０１７、ステップＳ０６９はステップＳ０１８、ステップＳ０７０はステップＳ０１９と同様である。
【０１１３】
図２１は本実施形態の他のクラスタ用ＡＰ受信処理の処理手順を示すフローチャートである。次に他のクラスタ用ＡＰをＡＰサーバノードで受信する処理を、管理ノード０００１からクラスタ０３０７へのＡＰ配布をクラスタ０３０４に属するＡＰサーバノード０３０３が受信する例に基づき、図２１のフローチャートを参照して説明する。
【０１１４】
まずステップＳ０８１においてＡＰサーバノード０３０３のＡＰ送受信制御部０４１６は、ルータ０１１１から図１０に示すマルチキャストメンバテーブル０２０２を取得する。
【０１１５】
次にステップＳ０８２では、ステップＳ０８１において取得したマルチキャストメンバテーブルからクラスタ０３０４以外のグループアドレスを検索する。
【０１１６】
ステップＳ０８３では、ステップＳ０８２における検索の結果を参照し、他のクラスタのグループアドレスがあるかどうかを調べ、他のクラスタのグループアドレスがなければ処理を終了し、他のクラスタのグループアドレスがある場合にはステップＳ０８４に進む。
【０１１７】
この例ではルータ０１１１のマルチキャストメンバテーブルにはクラスタ０３０７のグループアドレスが登録されているのでステップＳ０８３からステップＳ０８４に進み、ステップＳ０８４では、メンバアドレス一覧からＡＰサーバノード０３０３と同一のネットワーク０１０３に属するリーダノードを検索する。
【０１１８】
次にステップＳ０８５では、ステップＳ０８４の検索結果を参照してリーダノードが見つかったかどうかを調べ、リーダノードが見つからなければ処理を終了し、リーダノードが見つかった場合にはステップＳ０８６へ進む。
【０１１９】
この例ではネットワーク０１０３にはクラスタ０３０７のリーダノード０３０５が接続しているのでステップＳ０８５からステップＳ０８６に進み、ステップＳ０８６では、ルータ０１１１の保持するマルチキャストメンバテーブル０２０２に含まれるクラスタ０３０７のグループアドレスのメンバとして、ＡＰサーバノード０３０３のアドレスを追加する。
【０１２０】
次にステップＳ０８７においてＡＰサーバノード０３０３のＡＰ送受信制御部０４１６は、クラスタ０３０７に対するＡＰ配布開始通知を受信する。ステップＳ０８８以降は図１８に示すフローチャートのステップＳ０６４以下の手順と同様の処理を行うことで、近傍の他クラスタへのＡＰ配布をＡＰサーバノードで受信することが可能になる。よって、ＡＰサーバノード０３０３がクラスタ０３０４からクラスタ０３０７へ移行した際にも、必要なＡＰの配布は既に完了している為、ＡＰサーバノード０３０３はクラスタ０３０７でのＡＰ実行を速やかに開始できるという効果がある。
【０１２１】
以上説明した様に本実施形態のプログラム管理システムによれば、プログラムの断片を受信するかどうかを示す判定ポリシーを送信してプログラムの断片を受信するかどうかの判定を行うので、プログラムの配布を効率化する為の判定基準を柔軟に変更することが可能である。
【０１２２】
また本実施形態のプログラム管理システムによれば、所定のクラスタに属する情報処理装置に対して送信されたプログラムの断片を、前記所定クラスタの近傍に位置し、その所定クラスタとは異なるクラスタに属する情報処理装置で受信するので、クラスタ間の情報処理装置の配分変更により所定クラスタの近傍に位置する情報処理装置がそのクラスタに属する様になった際に、当該情報処理装置で速やかにプログラムの実行を開始することが可能である。
【図面の簡単な説明】
【０１２３】
【図１】実施形態１のプログラム管理システムの全体構成を示す図である。
【図２】実施形態１の管理処理装置である管理ノード０００１の内部構成例を示す図である。
【図３】実施形態１のリーダノード０００４の内部構成例を示す図である。
【図４】実施形態１のＡＰサーバノードの内部構成例を示す図である。
【図５】実施形態１の管理ノード０００１でのＡＰ配布処理の処理手順を示すフローチャートである。
【図６】実施形態１のアプリケーション（ＡＰ）の一例を示す図である。
【図７】実施形態１のＡＰサーバノードへのＡＰ配布処理の処理手順を示すフローチャートである。
【図８】実施形態１の受信漏れＡＰ断片の収集処理の処理手順を示すフローチャートである。
【図９】実施形態２のプログラム管理システムの全体構成を示す図である。
【図１０】実施形態２のルータの内部構成例を示す図である。
【図１１】実施形態２のＡＰサーバノードの内部構成例を示す図である。
【図１２】実施形態２のリーダノード０１０５の内部構成例を示す図である。
【図１３】実施形態２のＡＰの内部構成例を示す図である。
【図１４】実施形態２のＡＰサーバノードでのクラスタメンバテーブル受信処理の処理手順を示すフローチャートである。
【図１５】実施形態２の受信漏れＡＰ断片の収集処理の処理手順を示すフローチャートである。
【図１６】実施形態２のＡＰサーバノードでのＡＰ配布後処理の処理手順を示すフローチャートである。
【図１７】実施形態３のプログラム管理システムの全体構成を示す図である。
【図１８】実施形態３のＡＰサーバノードへのＡＰ配布処理の処理手順を示すフローチャートである。
【図１９】実施形態３のリーダノードの内部構成例を示す図である。
【図２０】実施形態３のＡＰサーバノードの内部構成例を示す図である。
【図２１】実施形態３の他のクラスタ用ＡＰ受信処理の処理手順を示すフローチャートである。
【符号の説明】
【０１２４】
０００１…管理ノード、０００２…ネットワーク、０００３…ネットワーク、０００４…リーダノード、０００５〜０００７…ＡＰサーバノード、０００８…クラスタ、０００９…ブロードキャスト、００１１…クラスタ管理テーブル、００１３…ＡＰレポジトリ、００１２…ＡＰ配布制御部、００２１…ＡＰ実行コンテナ、００２３…クラスタメンバテーブル、００２２…ＡＰ送受信制御部、００２４…配布済ＡＰ管理テーブル、００２５…記憶装置、００２６…ＡＰ送受信制御部、００３０…ＡＰ、００３１…含まれるＡＰ断片の一覧テーブル、００３２…ＡＰ断片、０１０３…ネットワーク、０１０４…ネットワーク、０１０５…リーダノード、０１０６〜０１０８…ＡＰサーバノード、０１０９…クラスタ、０１１０…ルータ、０１１１…ルータ、０１１２…ルータ、０１１３…マルチキャスト、０２００…ルーティング制御部、０２０１…マルチキャストメンバ管理部、０２０２…マルチキャストメンバテーブル、０２１０…アプリケーション実行コンテナ、０２１３…クラスタメンバテーブル、０２１４…配布済ＡＰ管理テーブル、０２１１…ＡＰ配布後処理制御部、０２１６…ＡＰ送受信制御部、０２１２…ＡＰ送受信制御部、０２２０…ＡＰ、０２２１…ＡＰ断片、０２２２…含まれるＡＰ断片の一覧テーブル、０２２３…配布後処理済ＡＰ断片の一覧テーブル、０３０１…リーダノード、０３０２及び０３０３…ＡＰサーバノード、０３０４…クラスタ、０３０５…リーダノード、０３０６…ＡＰサーバノード、０３０７…クラスタ、０４１０…アプリケーション実行コンテナ、０４１３…クラスタメンバテーブル、０４１８…ポリシー、０４１１…ＡＰ配布後処理制御部、０４１２…ＡＰ送受信制御部、０４１７…ポリシー配布処理制御部、０４１６…ＡＰ送受信制御部、０４１５…ポリシー実行部。
【図１】
2005222200.tif 000003
【図２】
2005222200.tif 000004
【図３】
2005222200.tif 000005
【図４】
2005222200.tif 000006
【図５】
2005222200.tif 000007
【図６】
2005222200.tif 000008
【図７】
2005222200.tif 000009
【図８】
2005222200.tif 000010
【図９】
2005222200.tif 000011
【図１０】
2005222200.tif 000012
【図１１】
2005222200.tif 000013
【図１２】
2005222200.tif 000014
【図１３】
2005222200.tif 000015
【図１４】
2005222200.tif 000016
【図１５】
2005222200.tif 000017
【図１６】
2005222200.tif 000018
【図１７】
2005222200.tif 000019
【図１８】
2005222200.tif 000020
【図１９】
2005222200.tif 000021
【図２０】
2005222200.tif 000022
【図２１】
2005222200.tif 000023