(57)【要約】【課題】各機器に対する処理を、複数の情報処理装置の間で当該処理に関する情報の伝達を直接行うことなく、複数の情報処理装置において当該処理を分散して行う技術を提供する。【解決手段】ノードは、ロードバランサーからの指示に応じた仮想処理情報を生成し、仮想処理情報の処理の種類と仮想処理情報の生成時刻とを含む管理情報を生成する。ノードは、現在時刻から仮想処理情報の処理の種類に対して定められた実行間隔の時間内に、仮想処理情報と同種の管理情報が管理テーブルに登録されていなければ、生成した管理情報と仮想処理情報とを管理テーブルと処理情報テーブルに登録する。ノードは処理情報テーブルから取得した仮想処理情報をノード数に応じて分割して分割処理情報を生成し、処理情報テーブルに登録する。ノードは、処理の種類毎の実行間隔に従い、処理情報テーブルから分割処理情報を取得して機器に対して実行する。【選択図】図６
2012256296.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器に対する処理の指示を受付ける受付手段と、
前記受付手段が受付けた前記指示に対する処理を示す第１処理情報を生成すると共に、当該第１処理情報の処理の種類と前記第１処理情報を生成した時刻情報とを含む管理情報を生成する第１生成手段と、
現在時刻から前記第１処理情報の処理の種類に対して予め定められた実行間隔の時間内において、他の情報処理装置によって生成された当該処理の種類に対する前記管理情報が管理装置の第１記憶部に登録されていない場合に、前記生成手段が生成した前記管理情報を前記第１記憶部に登録すると共に、前記生成手段が生成した前記第１処理情報と当該第１処理情報を識別する識別情報とを前記管理装置の第２記憶部に登録する第１登録手段と、
前記第２記憶部から一の前記第１処理情報を取得し、自装置と前記他の情報処理装置とを合わせた数に応じて当該第１処理情報の処理を分割し、分割した各処理を示す第２処理情報を生成する第２生成手段と、
前記第２生成手段が生成した第２処理情報と当該第２処理情報を識別する識別情報とを前記第２記憶部に登録する第２登録手段と、
前記第２記憶部から一の前記第２処理情報を取得し、当該第２処理情報の前記処理の種類に対して予め定められた前記実行間隔に基づいて、当該第２処理情報の処理を実行する実行手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２生成手段は、前記各機器が属するグループの情報を記憶手段から取得し、前記グループが１つの場合には、自装置と他の情報処理装置とを合わせた数及び前記機器の数に基づいて前記第１処理情報の処理を分割して前記第２処理情報を生成し、前記グループが複数の場合には、自装置と他の情報処理装置とを合わせた数及び前記グループの数に基づいて前記第１処理情報の処理を分割して前記第２処理情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
複数の情報処理装置と管理装置とからなる分散処理システムであって、
前記管理装置は、
第１記憶部と第２記憶部とを備え、
前記情報処理装置は、それぞれ、
複数の機器に対する処理の指示を受付ける受付手段と、
前記受付手段が受付けた前記指示に対する第１処理情報を生成し、当該第１処理情報の処理の種類と前記第１処理情報を生成した時刻情報とを含む管理情報とを生成する第１生成手段と、
現在時刻から前記第１処理情報の処理の種類に対して予め定められた実行間隔の時間内において、他の情報処理装置によって生成された当該処理の種類に対する前記管理情報が前記第１記憶部に登録されていない場合に、前記生成手段が生成した前記管理情報を前記第１記憶部に登録すると共に、前記生成手段が生成した前記第１処理情報と当該第１処理情報を識別する識別情報とを前記第２記憶部に登録する第１登録手段と、
前記第２記憶部から一の前記第１処理情報を取得し、自装置と前記他の情報処理装置とを合わせた数に当該第１処理情報の処理を分割し、分割した各処理を示す第２処理情報を生成する第２生成手段と、
前記第２生成手段が生成した第２処理情報と当該第２処理情報を識別する識別情報とを前記第２記憶部に登録する第２登録手段と、
前記第２記憶部から一の前記第２処理情報を取得し、当該第２処理情報の前記処理の種類に対する前記実行間隔に基づいて、当該第２処理情報の処理を実行する実行手段と
を備えることを特徴とする分散処理システム。
【請求項４】
情報処理装置のコンピュータを、
複数の機器に対する処理の指示を受付ける受付手段と、
前記受付手段が受付けた前記指示に対する第１処理情報を生成し、当該第１処理情報の処理の種類と前記第１処理情報を生成した時刻情報とを含む管理情報とを生成する第１生成手段と、
現在時刻から前記第１処理情報の処理の種類に対して予め定められた実行間隔の時間内において、他の情報処理装置によって生成された当該処理の種類に対する前記管理情報が管理装置の第１記憶部に登録されていない場合に、前記生成手段が生成した前記管理情報を前記第１記憶部に登録すると共に、前記生成手段が生成した前記第１処理情報と当該第１処理情報を識別する識別情報とを前記管理装置の第２記憶部に登録する第１登録手段と、
前記第２記憶部から一の前記第１処理情報を取得し、前記情報処理装置と前記他の情報処理装置とを合わせた数に当該第１処理情報の処理を分割し、分割した各処理を示す第２処理情報を生成する第２生成手段と、
前記第２生成手段が生成した第２処理情報と当該第２処理情報を識別する識別情報とを前記第２記憶部に登録する第２登録手段と、
前記第２記憶部から一の前記第２処理情報を取得し、当該第２処理情報の前記処理の種類に対する前記実行間隔に基づいて、当該第２処理情報の処理を実行する実行手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、分散処理システム及びプログラムに関する。
【背景技術】
【０００２】
分散処理の効率を向上させるべく様々な分散処理技術が提案されている。下記特許文献１には、ネットワークに接続された複数のノードにサービス処理要素プログラムが分散して配置され、ノード間でノードの処理負荷情報をやりとりし、自ノードの処理負荷の上限値及び現在値に応じて他ノードへサービス処理要素プログラムを移動して実行させる技術が開示されている。また、下記特許文献２には、あるノードが、他のノードに依頼すべきジョブをジョブの手続きを実行するための補助情報を付加して生成すると共に、他のノードにこのジョブを依頼し、他のノードがこのジョブを補助情報に基づいて実行し、実行結果を依頼元に送信する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−４６７６号公報
【特許文献２】特開平８−１８００１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、各機器に対する処理を、複数の情報処理装置の間で当該処理に関する情報の伝達を直接行うことなく、複数の情報処理装置において当該処理を分散して行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る情報処理装置は、複数の機器に対する処理の指示を受付ける受付手段と、前記受付手段が受付けた前記指示に対する処理を示す第１処理情報を生成すると共に、当該第１処理情報の処理の種類と前記第１処理情報を生成した時刻情報とを含む管理情報を生成する第１生成手段と、現在時刻から前記第１処理情報の処理の種類に対して予め定められた実行間隔の時間内において、他の情報処理装置によって生成された当該処理の種類に対する前記管理情報が管理装置の第１記憶部に登録されていない場合に、前記生成手段が生成した前記管理情報を前記第１記憶部に登録すると共に、前記生成手段が生成した前記第１処理情報と当該第１処理情報を識別する識別情報とを前記管理装置の第２記憶部に登録する第１登録手段と、前記第２記憶部から一の前記第１処理情報を取得し、自装置と前記他の情報処理装置とを合わせた数に応じて当該第１処理情報の処理を分割し、分割した各処理を示す第２処理情報を生成する第２生成手段と、前記第２生成手段が生成した第２処理情報と当該第２処理情報を識別する識別情報とを前記第２記憶部に登録する第２登録手段と、前記第２記憶部から一の前記第２処理情報を取得し、当該第２処理情報の前記処理の種類に対して予め定められた前記実行間隔に基づいて、当該第２処理情報の処理を実行する実行手段とを備えることを特徴とする。
【０００６】
本発明の請求項２に係る情報処理装置は、上記情報処理装置において、前記第２生成手段は、前記各機器が属するグループの情報を記憶手段から取得し、前記グループが１つの場合には、自装置と他の情報処理装置とを合わせた数及び前記機器の数に基づいて前記第１処理情報の処理を分割して前記第２処理情報を生成し、前記グループが複数の場合には、自装置と他の情報処理装置とを合わせた数及び前記グループの数に基づいて前記第１処理情報の処理を分割して前記第２処理情報を生成することを特徴とする。
【０００７】
本発明の請求項３に係る分散処理システムは、複数の情報処理装置と管理装置とからなる分散処理システムであって、前記管理装置は、第１記憶部と第２記憶部とを備え、前記情報処理装置は、それぞれ、複数の機器に対する処理の指示を受付ける受付手段と、前記受付手段が受付けた前記指示に対する第１処理情報を生成し、当該第１処理情報の処理の種類と前記第１処理情報を生成した時刻情報とを含む管理情報とを生成する第１生成手段と、現在時刻から前記第１処理情報の処理の種類に対して予め定められた実行間隔の時間内において、他の情報処理装置によって生成された当該処理の種類に対する前記管理情報が前記第１記憶部に登録されていない場合に、前記生成手段が生成した前記管理情報を前記第１記憶部に登録すると共に、前記生成手段が生成した前記第１処理情報と当該第１処理情報を識別する識別情報とを前記第２記憶部に登録する第１登録手段と、前記第２記憶部から一の前記第１処理情報を取得し、自装置と前記他の情報処理装置とを合わせた数に当該第１処理情報の処理を分割し、分割した各処理を示す第２処理情報を生成する第２生成手段と、前記第２生成手段が生成した第２処理情報と当該第２処理情報を識別する識別情報とを前記第２記憶部に登録する第２登録手段と、前記第２記憶部から一の前記第２処理情報を取得し、当該第２処理情報の前記処理の種類に対する前記実行間隔に基づいて、当該第２処理情報の処理を実行する実行手段とを備えることを特徴とする。
【０００８】
本発明の請求項４に係るプログラムは、情報処理装置のコンピュータを、複数の機器に対する処理の指示を受付ける受付手段と、前記受付手段が受付けた前記指示に対する第１処理情報を生成し、当該第１処理情報の処理の種類と前記第１処理情報を生成した時刻情報とを含む管理情報とを生成する第１生成手段と、現在時刻から前記第１処理情報の処理の種類に対して予め定められた実行間隔の時間内において、他の情報処理装置によって生成された当該処理の種類に対する前記管理情報が管理装置の第１記憶部に登録されていない場合に、前記生成手段が生成した前記管理情報を前記第１記憶部に登録すると共に、前記生成手段が生成した前記第１処理情報と当該第１処理情報を識別する識別情報とを前記管理装置の第２記憶部に登録する第１登録手段と、前記第２記憶部から一の前記第１処理情報を取得し、前記情報処理装置と前記他の情報処理装置とを合わせた数に当該第１処理情報の処理を分割し、分割した各処理を示す第２処理情報を生成する第２生成手段と、前記第２生成手段が生成した第２処理情報と当該第２処理情報を識別する識別情報とを前記第２記憶部に登録する第２登録手段と、前記第２記憶部から一の前記第２処理情報を取得し、当該第２処理情報の前記処理の種類に対する前記実行間隔に基づいて、当該第２処理情報の処理を実行する実行手段として機能させるプログラムである。
【発明の効果】
【０００９】
請求項１、３、４に係る発明によれば、各機器に対する処理を、複数の情報処理装置の間で当該処理に関する情報の伝達を直接行うことなく、複数の情報処理装置において当該処理を分散して行うことができる。
【００１０】
請求項２に係る発明によれば、グループ数に応じて処理を分割することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る分散処理システムの構成例を示す図である。
【図２】実施形態に係るロードバランサーの構成例を示す図である。
【図３】実施形態に係るノードの構成例を示す図である。
【図４】（ａ）は処理タイプ情報を例示した図である。（ｂ）は接続情報を例示した図である。（ｃ）は実行情報を例示した図である。
【図５】実施形態に係る管理装置の構成例を示す図である。
【図６】実施形態に係るノードの制御部の機能ブロック図である。
【図７】（ａ）は管理テーブルを例示した図である。（ｂ）（ｃ）は処理情報テーブルを例示した図である。
【図８】実施形態における仮想処理情報及び管理情報の生成・登録処理を示す動作フロー図である。
【図９】実施形態における仮想処理情報の分割処理を示す動作フロー図である。
【図１０】実施形態における実行処理を示す動作フロー図である。
【発明を実施するための形態】
【００１２】
＜実施形態＞
（概要）
図１は、本実施形態に係る分散処理システムの構成例を示す図である。分散処理システム１は、通信網２を介して接続された機器ａ、ｂ・・・ｎに対し、クライアント（図示略）からの指示に応じた処理を各ノード（Ａ、Ｂ・・・Ｎ）が分散して実行する。機器ａ〜ｎは、例えば画像形成装置である。また、処理は、機器ａ〜ｎに共通して行う処理、例えば、機器ａ〜ｎに対して予め定められたユーザの属性情報を登録する属性登録処理や、機器ａ〜ｎの状態（例えば用紙切れなどの消耗品の状態）の情報を収集する状態収集処理などである。以下、分散処理システム１の詳細を説明する。なお、以下の説明においてノードＡ〜Ｎを特に区別しない場合は単にノードと称し、機器ａ〜ｎを特に区別しない場合は単に機器と称する。
【００１３】
（構成）
図１に示すように、分散処理システム１は、ロードバランサー１０、複数のノード２０、管理装置３０が通信接続されて構成されている。これら各装置の構成について以下説明する。図２は、ロードバランサー１０の構成例を示す図である。ロードバランサー１０は、制御部１１、記憶部１２、及び通信部１３を有する。制御部１１は、ＣＰＵ（Central Processing Unit）１１ａとＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含むメモリ１１ｂとを有する。ＣＰＵ１１ａは、ＲＯＭ又は記憶部１２に記憶されている制御プログラムを実行することにより各部を制御する。具体的には、制御部１１は、通信部１３を介して受付けたクライアント（図示略）からの指示を通信部１３から各ノード２０に対して送信する。記憶部１２は、ハードディスクなどの記憶媒体で構成され、各ノード２０のアドレス情報などのデータを記憶する。通信部１３は、有線又は無線ＬＡＮ等の通信プロトコルに準拠した通信インタフェースであり、制御部１１の制御の下、各ノード２０とデータのやりとりを行う。
【００１４】
次に、ノード２０の構成について説明する。図３は、ノード２０の構成例を示す図である。ノード２０は、本発明に係る情報処理装置の一例である。ノード２０は、制御部２１、記憶部２２、通信部２３、及び計時部２４を有する。制御部１１は、ＣＰＵ２１ａとＲＯＭ及びＲＡＭを含むメモリ２１ｂとを有する。ＣＰＵ２１ａは、ＲＯＭ又は記憶部２２に記憶されている制御プログラムを実行することにより各部を制御して、クライアントの指示に応じた処理を分散して処理する。この分散処理には、クライアントの指示に応じた処理を示す仮想処理情報と、仮想処理情報に対応する管理情報を生成したり、ノード数及び機器数とに基づいて仮想処理情報を分割して分割処理情報を生成するほか、分割処理情報に従って実行する処理が含まれる。なお、上記仮想処理情報は、本発明に係る第１処理情報の一例であり、上記分割処理情報は、本発明に係る第２処理情報の一例である。仮想処理情報、管理情報、分割処理情報の詳細については後述する。
【００１５】
記憶部２２は、ハードディスクなどの記憶媒体で構成され、処理タイプ情報、接続情報、実行情報などの各種データを記憶する。ここで、処理タイプ情報、接続情報、実行情報について説明する。図４（ａ）は、処理タイプ情報の構成例及びデータ例を示している。処理タイプ情報２２１には、処理タイプと処理内容と実行間隔が記憶されている。処理タイプには処理の種類を識別する情報が記憶され、処理内容には機器４０に対して行う処理内容が記憶される。また、実行間隔には、処理を実行する時間間隔が記憶される。この例では、各機器に対する属性登録処理の処理タイプは「１」、実行間隔は「２０分」が設定されており、属性登録処理を２０分間隔で行うこととしている。また、状態収集処理の処理タイプは「０」、実行間隔は「１０分」が設定されており、状態収集処理を１０分間隔で行うこととしている。この実行間隔は、予め設定されていてもよいし、クライアントからユーザが設定できるようにしてもよい。
【００１６】
図４（ｂ）は、接続情報の構成例及びデータ例を示している。接続情報２２２には、各ノード２０を識別する識別名とアドレス情報とが記憶されると共に、各機器４０を識別する識別名とアドレス情報と各機器４０が属するグループ名とが記憶されている。グループは、例えば部署や事業所などの単位であり、本実施形態では、全ての機器４０が１つの“グループ１”に属している例を説明する。
【００１７】
図４（ｃ）は、実行情報の構成例及びデータ例を示している。実行情報２２３には、上述した処理タイプと、処理番号及び実行時間が記憶されている。処理番号にはノード２０において実行した分割処理情報を識別する番号が記憶され、実行時間にはその分割処理情報を実行した時間が記憶される。
【００１８】
図３に戻り、説明を続ける。通信部２３は、有線又は無線ＬＡＮ等の通信プロトコルに準拠した通信インタフェースと、ＴＣＰ／ＩＰ等の通信プロトコルに準拠した通信インタフェースとを有し、制御部２１の制御の下、通信インタフェースを切り換えてロードバランサー１０、管理装置３０、機器４０とでデータのやりとりを行う。計時部２４は、図示しないクロック発生部が発生させたクロックをカウントすることにより時刻を計時する。
【００１９】
次に、管理装置３０の構成について説明する。図５は、管理装置３０の構成例を示す図である。管理装置３０は、制御部３１、記憶部３２、及び通信部３３を有する。制御部３１は、ＣＰＵ３１ａとＲＯＭ及びＲＡＭを含むメモリ３１ｂとを有する。ＣＰＵ３１ａは、ＲＯＭ又は記憶部３２に記憶されている制御プログラムを実行することにより各部を制御する。具体的には、制御部３１は、通信部３３を介したノード２０からのアクセスに応じて、後述する記憶部３２に記憶されている管理テーブルや処理情報テーブルに対してデータの書き込みまたは読み出しを行う。記憶部３２は、ハードディスクなどの記憶媒体であり、属性登録処理で用いられるユーザの属性情報、管理テーブル、処理情報テーブルを記憶する。通信部３３は、有線又は無線ＬＡＮ等の通信プロトコルに準拠した通信インタフェースであり、制御部３１の制御の下、各ノード２０とデータのやりとりを行う。なお、上記管理テーブルは本発明に係る第１記憶部の一例であり、上記処理情報テーブルは本発明に係る第２記憶部の一例である。
【００２０】
次に、ノード２０の制御部２１の分散処理に係る機能について説明する。図６は、制御部２１の機能ブロック図である。図６に示すように、制御部２１は、受付部２１１、第１生成部２１２、第１登録部２１３、第２生成部２１４、第２登録部２１５、及び実行部２１６を有する。受付部２１１は、本発明に係る受付手段の一例である。受付部２１１は、ロードバランサー１０からの指示を通信部２３を介して受付け、第１生成部２１２に送出する。
【００２１】
第１生成部２１２は、本発明に係る第１生成手段の一例である。第１生成部２１２は、受付部２１２から送出された指示に対応する処理を特定し、記憶部１２内の処理タイプ情報２２１に基づいて、特定した処理に対する管理情報を生成すると共に、特定した処理を識別する処理番号、その処理内容、仮想処理情報の種別を示すフラグを含む仮想処理情報を生成する。
【００２２】
第１登録部２１３は、本発明に係る第１登録手段の一例である。第１登録部２１３は、記憶部１２内の処理タイプ情報を参照し、管理テーブル３１０において、現在時刻から特定した処理に対応する実行間隔の時間内に当該処理に対応する管理情報が他のノード２０によって登録されていなければ、生成された管理情報を管理テーブル３１０に登録すると共に、生成された仮想処理情報を処理情報テーブル３２０に登録する。
【００２３】
ここで、管理テーブル３１０と処理情報テーブル３２０に登録される管理情報及び仮想処理情報について説明する。図７（ａ）は、管理テーブル３１０の構造を例示している。図７（ａ）に示すように、管理テーブル３１０は、処理番号、処理タイプ、作成時刻、及び実行間隔の各データを含む管理情報を保持する。処理番号には、仮想処理情報の処理を識別する番号が記憶され、処理タイプには上述した処理の種類が記憶される。また、実行間隔には仮想処理情報の処理を実行する時間間隔が記憶され、作成時刻は仮想処理情報が作成された時刻が記憶される。
【００２４】
図７（ｂ）は、処理情報テーブル３２０の構造を例示している。処理情報テーブル３２０は、処理番号、フラグ、及び処理内容の各データを含む仮想処理情報及び分割処理情報を先入れ先出し方式で保持する。処理番号には、仮想処理情報及び分割処理情報の各々の処理を識別する番号が記憶される。本実施形態では、分割処理情報の処理番号は、分割元の仮想処理情報の処理番号を含む番号となっている。例えば、仮想処理情報“ＪＯＢ１”が３つに分割された場合、各分割処理情報の番号は、仮想処理情報の番号と各分割処理情報に連続して割当てられた番号とを組み合わせた“ＪＯＢ１−１”、“ＪＯＢ１−２”、“ＪＯＢ１−３”となる。フラグは、仮想処理情報と分割処理情報とを識別する情報が記憶され、この例では仮想処理情報は「１」、分割処理情報は「０」が記憶される。また、処理内容には、処理対象となる機器と処理（属性登録処理又は状態収集処理）とを含む情報が記憶される。
【００２５】
図６に戻り説明を続ける。第２生成部２１４は、本発明に係る第２生成手段の一例である。第２生成部２１４は、処理情報テーブル３２０に登録されている一の仮想処理情報を取り出し、記憶部１２における接続情報２２２に基づくノード数及び機器数に基づいてその仮想処理情報を分割して分割処理情報を生成し、第２登録部２１５へ送出する。具体的には、ノード数「Ｘ」、機器数「Ｙ」の場合において、Ｙ＞Ｘのときは、ＹをＸで除した商の数が処理対象となる機器数となるように仮想処理情報の処理を分割し、Ｙ≦Ｘのときは、Ｙの数が分割処理情報の数となるように分割する。例えば、ノード数「３」、機器数「３」の場合、処理対象の機器を各々１台とする３つの分割処理情報が生成される。また、ノード数「３」、機器数「６」の場合には、処理対象の機器を各々２台とする３つの分割処理情報が生成される。なお、ノード数「３」、機器数「４」の場合には、処理対象の機器を各々１台とする２つの分割処理情報と、処理対象の機器を２台とする１つの分割処理情報が生成される。つまり、一の仮想処理情報からノード数分の分割処理情報が生成され、分割処理情報の処理単位は機器の総数に応じて定まる。
【００２６】
第２登録部２１５は、本発明に係る第２登録手段の一例である。第２登録部２１５は、第２生成部２１４から送出された分割処理情報を処理情報テーブル３２０に登録する。
【００２７】
実行部２１６は、本発明に係る実行手段の一例である。実行部２１６は、通信部２３を介して管理装置３０の処理情報テーブル３２０に記憶されている分割処理情報を取り出し、分割処理情報の処理に対応する実行間隔に従ってその分割処理情報の処理を実行する。また、実行部２１６は、分割処理情報を実行する毎に、実行した分割処理情報の処理タイプ、その分割処理情報を実行した実行時間、その分割処理情報の処理番号を含む実行情報２２３を記憶部１２に記憶する。
【００２８】
本実施形態では、各ノード２０は、ロードバランサー１０から送信された指示を受付け、受付けた指示に応じた処理を特定して管理情報及び仮想処理情報を生成するが、管理情報の管理テーブル３１０への登録及び及び仮想処理情報の処理情報テーブル３２０への登録は、複数のノード２０のうちいずれか１つのノード２０が行う。つまり、一の指示に対する仮想処理情報及び管理情報が処理情報テーブル３２０及び管理テーブル３１０に重複して登録されることを避けるため、各処理について設定された実行間隔内にいずれかのノード２０によって管理情報及び仮想処理情報が登録されていれば、他のノード２０は管理情報及び仮想処理情報を登録しない。また、仮想処理情報を処理情報テーブル３２０から取り出して分割処理情報を生成し、分割処理情報を処理情報テーブル３２０へ登録する処理についても、仮想処理情報を取り出したノード２０が行う。このように、各ノード２０は、クライアントからの指示に応じた処理を他のノード２０と連携することなく分割して実行する。
【００２９】
（動作例）
図８は、本実施形態に係る分散処理システム１における仮想処理情報及び管理情報の生成・登録処理の動作フローを示している。ロードバランサー１０の制御部１１は、クライアントから各機器４０に対する指示を受付け（ステップＳ１１）、受付けた指示を通信部１３を介して各ノード２０へ送信する（ステップＳ１２）。
【００３０】
各ノード２０の制御部２１は、通信部２３を介してロードバランサー１０から送信された指示を受付ける（ステップ２１）。制御部２１は、受付けた指示に対応する処理を特定する（ステップＳ２２）。制御部２１は、特定した処理の実行間隔を記憶部２２の処理タイプ情報２２１から読み出し、現在時刻からその実行間隔の時間内に、特定した処理の処理タイプと共通する管理情報が管理テーブル３１０に登録されているか否かを通信部２３を介して管理装置３０に問い合わせる（ステップＳ２３）。
【００３１】
制御部２１は、特定した処理の処理タイプと共通する管理情報が登録されていない旨の結果を通信部２３を介して管理装置３０の制御部３１から受付けると（ステップＳ２４：ＮＯ）、制御部２１は、特定した処理を示す仮想処理情報を生成すると共に、記憶部１２に記憶されている処理タイプ情報２２１を参照し、その仮想処理情報に対応する管理情報を生成する（ステップＳ２５）。具体的には、例えば、受付けた指示に対応する処理が機器ａ〜ｅに対する属性登録処理である場合、制御部２１は、管理装置３０を介して管理テーブル３１０の処理番号を参照し、特定した処理に対する処理番号「ＪＯＢ１」を設定し、仮想処理情報を示すフラグ「１」を設定すると共に、「機器ａ,ｂ，ｃ，ｄ，ｅに対して属性登録処理を行う」ことを示す処理内容を設定した仮想処理情報を生成する。また、制御部２１は、記憶部１２に記憶されている処理タイプ情報２２１を参照し、仮想処理情報の処理に対応する処理タイプ「１」、実行間隔「２０分」、仮想処理情報を生成したときに計時部２４で計時された時刻「２０１０／０６／０６  １０：１２：１４」を作成時刻とし、仮想処理情報の処理番号「ＪＯＢ１」と対応づけて管理情報を作成する。
【００３２】
そして、制御部２１は、計時部２４で計時された現在時刻から仮想処理情報の処理の実行間隔の時間内に、その処理の管理情報が管理テーブル３１０に登録されているか否かを通信部２３を介して管理装置３０に再度問い合わせる（ステップＳ２６）。ノード２０の制御部２１は、管理装置３０の制御部３１により管理テーブル３１０に管理情報が登録されていない旨の結果を受付けると（ステップＳ２７：ＮＯ）、ステップＳ２５で作成した管理情報と仮想処理情報とを管理テーブル３１０（図７（ａ））と処理情報テーブル３２０（図７（ｂ））の各々に管理装置３０により登録させる（ステップＳ２８）。
【００３３】
なお、ステップＳ２４又はステップＳ２７において、制御部２１は、管理装置３０から管理情報が管理テーブル３１０に登録されている旨の結果を受付けた場合（ステップＳ２４：ＹＥＳ，ステップＳ２７：ＹＥＳ）、生成した管理情報及び仮想処理情報を破棄して処理を終了する。
【００３４】
次に、分散処理システム１における仮想処理情報の分割処理の動作について説明する。図９は、仮想処理情報の分割処理の動作フローを示している。各ノード２０の制御部２１は、通信部２３を介して管理装置３０にアクセスし、記憶部３２内の処理情報テーブル３２０に仮想処理情報が登録されているか否かを問い合わせる（ステップＳ３１）。制御部２１は、管理装置３０の制御部３１から仮想処理情報が処理情報テーブル３２０に登録されている旨の結果を受付けると（ステップＳ３２：ＹＥＳ）、制御部２１は、管理装置３０に処理情報テーブル３２０から仮想処理情報を読み出させ、記憶部１２に記憶されている接続情報２２２におけるノード及び機器の数に基づいてその仮想処理情報を分割する（ステップＳ３３）。例えば、図７（ｂ）に示すように処理情報テーブル３２０において仮想処理情報「ＪＯＢ１」が記憶されている場合、制御部２１は、仮想処理情報の処理の対象を、（１）機器ａ、（２）機器ｂ，ｃ、（３）機器ｄ，ｅの３つに分割し、分割した各機器を処理単位とする３つの分割処理情報を生成する。
【００３５】
制御部２１は、通信部２３を介して管理装置３０にアクセスし、各分割処理情報に対して設定した処理番号、処理内容（処理対象と処理（属性登録処理又は状態収集処理））、フラグを記憶部３２内の処理情報テーブル３２０に登録させる（ステップＳ３４）。図７（ｃ）は、図７（ｂ）の例において分割処理情報が登録された後の処理情報テーブル３２０を例示した図である。この図に示すように、処理情報テーブル３２０から仮想処理情報“ＪＯＢ１”が消去され、仮想処理情報“ＪＯＢ１”を分割した３つの分割処理情報（処理番号：ＪＯＢ１−１、ＪＯＢ１−２、ＪＯＢ１−３）が記憶される。
【００３６】
図９に戻り、ステップＳ３２において、制御部２１は、処理情報テーブル３２０に仮想処理情報が登録されていない旨の結果を受付けた場合（ステップＳ３２：ＮＯ）、分割処理を終了する。各ノード２０は、記憶部１２内の処理タイプ情報２２１における実行間隔に基づき、仮想処理情報及び管理情報と分割処理情報とを生成・登録する処理を上述した図８及び図９の手順で繰り返し行う。
【００３７】
次に、分散処理システム１における分割処理情報の実行処理の動作について説明する。図１０は、分割処理情報の実行処理の動作フローを示している。各ノード２０の制御部２１は、通信部２３を介して管理装置３０にアクセスし、分割処理情報が処理情報テーブル３２０に記憶されているか否かを管理装置３０に問い合わせる（ステップＳ４１）。制御部２１は、管理装置３０の制御部３１から分割処理情報が記憶されている旨の結果を受付けると（ステップＳ４２：ＹＥＳ）、計時部２４で計時された現在時刻と記憶部１２内の実行情報２２３と処理タイプ情報２２１とに基づいて、その分割処理情報が実行対象であるか否か判断する（ステップＳ４３）。即ち、制御部２１は、その分割処理情報の処理タイプと実行間隔とを処理タイプ情報２２１から読み出すと共に、実行情報２２３においてその分割処理情報の処理タイプの処理を最後に行った実行時間を読み出す。そして、制御部２１は、その処理タイプの処理を最後に行った実行時間から実行間隔の時間が経過した時刻が現在時刻である場合には、その分割処理情報が実行対象であると判断する（ステップＳ４３：ＹＥＳ）。
【００３８】
制御部２１は、通信部２３を介して管理装置３０の制御部３１により記憶部３２内の処理情報テーブル３２０からその分割処理情報を読み出させて実行する（ステップＳ４４）。例えば、その分割処理情報の処理タイプが「１」である場合、つまり属性登録処理である場合には、制御部２１は、通信部２３を介して管理装置３０の制御部３１により記憶部３２から属性情報を読み出させ、分割処理情報の処理内容に含まれる処理対象の機器４０に対し、通信部２３を介してその属性情報を登録する。また、その分割処理情報の処理タイプが「０」である場合、つまり状態収集処理である場合には、制御部２１は、分割処理情報の処理内容に含まれる処理対象の機器４０から予め定められた消耗品などの状態を示す情報を通信部２３を介して取得する。そして、制御部２１は、分割処理情報を実行したときの計時部２４で計時された時刻を実行時間とし、その分割処理情報の処理タイプと処理番号とを記憶部１２の実行情報２２３に記憶する（ステップＳ４５）。
【００３９】
なお、ステップＳ４２において、処理情報テーブル３２０に分割処理情報が記憶されていない旨の結果を受付けた場合（ステップＳ４２：ＮＯ）、ステップＳ４３において、分割処理情報が実行対象でないと判断した場合（ステップＳ４３：ＮＯ）、制御部２１は実行処理を終了する。このようにして、各ノード２０は、予め定められた時間毎に上述した実行処理を繰り返し行う。
【００４０】
上述した実施形態では、クライアントから指示された処理に対する仮想処理情報と管理情報とをいずれかのノード２０が生成して処理情報テーブル３２０及び管理テーブル３１０に登録し、いずれかのノード２０が仮想処理情報を分割した分割処理情報を処理情報テーブル３２０に登録するので、クライアントからの指示に対する処理が各ノード２０において重複して実行されることがない。また、上述した実施形態では、ノード数及び機器数に応じた分割処理情報が各ノード２０で実行される。そのため、一又は複数のノード２０に障害が発生して一又は複数の分割処理情報が実行されず、その分割処理情報を他のノード２０で再実行する場合であっても、各々の分割処理情報の処理対象が重複していないので、この構成を備えていない場合と比べて再実行の処理負荷が軽減され、処理時間が短縮される。
【００４１】
＜変形例＞
本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよく、各変形例を組み合わせて実施してもよい。以下、本発明の変形例について説明する。
【００４２】
（１）上述した実施形態では、複数の機器４０が属するグループが１つの例を説明したが、複数の機器４０が複数のグループに分類されていてもよい。この場合には、同じグループ内の機器４０に対しては共通の属性情報を登録するなど、各グループに共通した処理を行うことがあるため、グループを考慮して仮想処理情報の分割を行うと効率的な分散処理を行える可能性がある。また、この場合には、管理装置３０の記憶部３２において、グループ毎に属性情報を記憶するように構成する。以下、本変形例における仮想処理情報の分割例を説明する。グループ数（Ｚ）がノード数（Ｘ）以下である場合には（Ｚ≦Ｘ）、グループ数が分割処理情報の数となるように仮想処理情報を分割してもよい。例えばノード数「３」、グループ数「３」であれば、処理対象のグループを各々１グループとする３つの分割処理情報が生成される。また、グループ数（Ｚ）がノード数（Ｘ）より多い場合には（Ｚ＞Ｘ）、ＺをＸで除した商の数が分割処理情報の処理対象のグループ数となるように仮想処理情報を分割してもよい。例えばノード数「３」、グループ数「４」であれば、処理対象のグループを各々１グループとする２つの分割処理情報と、処理対象のグループを２グループとする１つの分割処理情報が生成される。
【００４３】
（２）上述した実施形態において、ノード２０における処理負荷の大きさが予め定められた値以下のノード２０が処理情報テーブル３２０に記憶されている分割処理情報を実行するようにしてもよい。この場合には、例えば、各ノード２０においてノード２０におけるＣＰＵ２１ａの使用率を検出する検出手段を設け、ＣＰＵ２１ａの使用率が閾値以下である場合には、処理情報テーブル３２０から分割処理情報を取得して実行し、ＣＰＵ２１ａの使用率が閾値より大きい場合には処理情報テーブル３２０から分割処理情報を取得しないように構成する。この構成により、システム全体がより安定した状態で稼動される。
【００４４】
（３）上述した実施形態では、管理情報として、処理番号、処理タイプ、仮想処理情報の作成時刻、及び処理タイプに対応する実行間隔を記憶する例を説明したが、少なくとも作成時刻と処理タイプとを管理情報として記憶するようにしてもよい。
【００４５】
（４）実施形態及び変形例におけるＣＰＵ２１ａによって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いてノード２０にダウンロードさせてもよい。
【符号の説明】
【００４６】
１・・・分散処理システム、２・・・通信網、１０・・・ロードバランサー、１１，２１，３１・・・制御部、１２，２２，３２・・・記憶部、１３，２３，３３・・・通信部、２０・・・ノード、２４・・・計時部、３０・・・管理装置、４０・・・機器、２１１・・・受付部、２１２・・・第１生成部、２１３・・・第１登録部、２１４・・・第２生成部、２１５・・・第２登録部、２１６・・・実行部
【図１】
2012256296.tif 000003
【図２】
2012256296.tif 000004
【図３】
2012256296.tif 000005
【図４】
2012256296.tif 000006
【図５】
2012256296.tif 000007
【図６】
2012256296.tif 000008
【図７】
2012256296.tif 000009
【図８】
2012256296.tif 000010
【図９】
2012256296.tif 000011
【図１０】
2012256296.tif 000012