(57)【特許請求の範囲】
【請求項１】
複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、
前記メイン装置には、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部が備えられる一方、
前記各サブ装置には、前記要求記憶部に記憶された処理要求を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定し、該処理すべき処理要求を、この処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段が備えられ、該要求分割手段により分割された処理要求を前記処理手段が実行することを特徴とする情報処理システム。
【請求項２】
複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、
前記メイン装置には、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部と、前記要求記憶部に記憶された処理要求を処理すべきサブ装置を当該処理要求に対して識別子を書き込んだサブ装置の中から選択する候補者選択手段が備えられる一方、
前記各サブ装置には、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込む手段と、前記メイン装置の候補者選択手段によって処理要求を処理すべきサブ装置として選択された際に、処理すべき処理要求を、該処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段が備えられ、該要求分割手段により分割された処理要求を前記処理手段が実行することを特徴とする情報処理システム。
【請求項３】
選択基準情報を記憶する選択基準情報記憶部を備え、
前記要求分割手段は、前記処理すべき処理要求とされた処理要求に記述された処理内容を前記処理手段によって同時に処理可能な台数の被処理装置の記述を、前記選択基準情報を参照して選択することを特徴とする請求項１または請求項２記載の情報処理システム。
【請求項４】
処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を有するメイン装置と、処理要求を分担して実行する処理手段と前記要求記憶部に記憶された処理要求を分割する要求分割手段を有する複数のサブ装置とを備えた情報処理システムにおける負荷分散方法であって、
前記各サブ装置の要求分割手段が、前記メイン装置の要求記憶部に記憶された処理要求を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定し、処理すべき処理要求を、前記決定された処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する第１のステップと、
前記分割された処理要求を前記処理手段が実行する第２のステップとを含むことを特徴とする負荷分散方法。
【請求項５】
処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続され、処理要求を実行する処理手段と、
前記メイン装置の要求記憶部に記憶された処理要求を定期的に検索して前記処理手段で処理すべき処理要求を自ら決定し、該処理すべき処理要求を、この処理要求に記述された処理内容を前記処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段とを備えることを特徴とする情報処理装置。
【請求項６】
処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続され、処理要求を実行する処理手段と、
前記メイン装置の要求記憶部を定期的に検索して自らが備える処理手段での処理を望む処理要求に自らの識別子を書き込み、前記メイン装置から自らが当該処理要求を実行する装置として選択されるのを待ち合わせ、前記メイン装置によって処理要求を処理すべき装置として選択されると、この処理要求を、該処理要求に記述された処理内容を自らの処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割することを特徴とする情報処理装置。
【請求項７】
処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続されたコンピュータを、
前記要求記憶部に記憶された処理要求を定期的に検索して、この処理要求を、該処理要求に記述された処理内容を自らが同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段と、該要求分割手段により分割された処理要求を実行する処理手段として機能させるためのプログラム。
【請求項８】
処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続されたコンピュータを、
前記メイン装置の要求記憶部を定期的に検索して自らが処理を望む処理要求に自らの識別子を書き込み、前記メイン装置から自らが当該処理要求を実行する装置として選択されるのを待ち合わせ、前記メイン装置によって処理要求を処理すべき装置として選択されると、この処理要求を、該処理要求に記述された処理内容を自らが同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段と、該要求分割手段により分割された処理要求を実行する処理手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の被処理装置に対する処理を複数の情報処理装置で分担して実行する情報処理システムに関する。
【背景技術】
【０００２】
Ｗｅｂサーバ等の被処理装置に対してアプリケーションプログラムの配付等の処理を行う情報処理システムにおいては、被処理装置の数が増えてくると、全ての被処理装置に対する処理が完了するまでに多くの時間がかかるようになる。このような問題を解決するために有効な技術が非特許文献１に記載されている。【０００３】
非特許文献１に記載されるシステムでは、処理を実行する複数の処理装置と、複数の処理要求を蓄積するキューとを備え、キューに蓄積された複数の処理要求を各処理装置に分配して並列に実行させることにより、処理時間の短縮と複数の処理装置の負荷分散とを図っている。この技術を用いれば、例えば、１０台の処理装置を使って１００台のＷｅｂサーバに同じアプリケーションプログラムを配付する場合、１００台のＷｅｂサーバへのアプリケーションプログラムの配付を要求する合計１００個の処理要求をキューに蓄積し、それら１００個の処理要求を１０個ずつ各処理装置に割り当てて実行させれば、１台の処理装置で配付を行う場合に比べて約１／１０の時間で済む。この例では、処理要求を各処理装置に均等に分配したが、性能の高い処理装置には性能の低い処理装置よりも多くの処理要求を分配することで、負荷を調整することも可能になる。【０００４】
【非特許文献１】Robert  H．  Halstead,  Jr.,“MULTILISP:  a  language  for  concurrent  symbolic  computation”,  ACM  Transactions  on  Programming  Languages  and  Systems(TOPLAS),1985
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したように関連する技術は、処理要求単位での負荷分散であるため、１つの処理要求で処理する被処理装置の数を１台にしておかなければ、きめ細かな負荷分散が行えない。このため、被処理装置の数が膨大になるに従って、作成しなければならない処理要求の数も膨大になるという課題があった。【０００６】
反対に、作成する処理要求数を削減するために１つの処理要求で処理する被処理装置の数を増やすと、性能の高い処理装置では支障はないが、性能の低い処理装置では負荷が異常に高まって処理の遅延が発生するという問題が生じる。【０００７】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、作成された処理要求単位よりも小さな単位で負荷分散が行える情報処理システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の情報処理システムは、複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、
前記メイン装置には、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部が備えられる一方、
前記各サブ装置には、前記要求記憶部に記憶された処理要求を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定し、該処理すべき処理要求を、この処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段が備えられ、該要求分割手段により分割された処理要求を前記処理手段が実行することを特徴とする。
【０００９】
『作用』
本発明にあっては、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を、処理手段が同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割することによって、作成された処理要求単位よりも小さな単位での負荷分散を実現する。処理要求の分割は、処理手段を備える各サブ装置側で実施する。また、処理手段が同時に処理可能な台数の被処理装置の記述の選択を、各サブ装置と各被処理装置との間のネットワーク帯域や遅延などの情報を参照して行うようにしても良い。
【発明の効果】
【００１０】
本発明によれば、システム管理者が作成した処理要求単位よりも小さな単位で負荷分散が可能になる。その理由は、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を、処理手段が同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割するためである。
【００１１】
また本発明によれば、１つの処理要求で処理する被処理装置の数を１台にしておく必要がないため、処理要求を作成するシステム管理者の負担が軽減される。
【発明を実施するための最良の形態】
【００１２】
『第１の実施の形態』
図１を参照すると、本発明の第１の実施の形態にかかる情報処理システムは、複数のサブ装置１０００と、これら複数のサブ装置１０００に通信可能に接続されたメイン装置１００とから構成されている。また、各サブ装置１０００は、ネットワーク３０００を通じて複数の被処理装置２０００と接続されている。【００１３】
メイン装置１００は、被処理装置２０００に対して実行すべき処理を記述した処理要求を記憶し管理するコンピュータであり、記憶装置１１０とデータ処理装置１２０とを備えている。【００１４】
記憶装置１１０は、ハードディスク装置などで構成され、１以上の処理要求を記憶する要求記憶部１１１を有する。要求記憶部１１１に記憶される個々の処理要求は、処理対象となる複数の被処理装置２０００の記述とそれらに対する処理内容の記述とを含む。被処理装置２０００の記述としては、ＩＰアドレスなど、処理対象となる被処理装置２０００を一意に識別できる文字列が使用される。処理内容の記述とは、アプリケーションプログラムの配付など、被処理装置２０００に対して実行すべき処理の内容を定義したものである。【００１５】
データ処理装置１２０は、コンピュータのＣＰＵなどで構成され、要求記憶部１１１への処理要求の入出力を管理する要求管理手段１２１を有する。この要求管理手段１２１と要求記憶部１１１とは、例えば市販のデータベースプログラムにより実現することができる。【００１６】
各々のサブ装置１０００は、被処理装置２０００に対する処理を互いに分担して実行するコンピュータであり、入力装置１０１０、データ処理装置１０２０、出力装置１０３０および記憶装置１０４０を備えている。【００１７】
入力装置１０１０は、キーボード等で構成され、利用者が各種のデータをサブ装置１０００に入力するのに利用される。また、本実施の形態の場合、入力装置１０１０から入力された処理要求は、メイン装置１００の要求管理手段１２１に送信されて要求記憶部１１１に記憶されるようになっている。【００１８】
出力装置１０３０は、ディスプレイ装置や印刷装置等で構成され、各種のデータを利用者に提示するために利用される。また、本実施の形態の場合、メイン装置１００の要求管理手段１２１を通じて要求記憶部１１１から読み出した処理結果を出力装置１０３０から出力できるようになっている。【００１９】
データ処理装置１０２０は、コンピュータのＣＰＵなどで構成され、要求分割手段１０２１と処理手段１０２２とを有する。【００２０】
処理手段１０２２は、要求分割手段１０２１から要求された処理を被処理装置２０００に対して実行する手段である。【００２１】
要求分割手段１０２１は、メイン装置１００の要求記憶部１１１から要求管理手段１２１を通じて処理要求を読み出して処理手段１０２２に処理させる手段である。要求分割手段１０２１は、処理要求に含まれる処理対象装置数（被処理装置２０００の数）が処理手段１０２２の処理性能により定まる被処理装置の処理可能数を超える場合には、処理要求を分割する。具体的には、未実行の処理要求を、処理手段１０２２に処理させる１以上の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する。【００２２】
記憶装置１０４０は、ハードディスク等で構成され、処理手段１０２２の性能情報を記憶する性能記憶部１０４１を有する。性能記憶部１０４１に記憶される性能情報としては、データ処理装置１０２０を構成するＣＰＵのクロック周波数など静的な性能情報でも良いし、その時点のＣＰＵ使用率や空きメモリ量など負荷状態を示す情報であっても良い。また、同時に処理可能な被処理装置の台数そのものでも良い。
【００２３】
被処理装置２０００は、Ｗｅｂサーバなど、処理の対象となるコンピュータである。【００２４】
ネットワーク３０００は、イーサネット（登録商標）などで構成されるＬＡＮや、インターネットなどである。図１では、各サブ装置１０００と被処理装置２０００とがネットワーク３０００により接続されているが、各サブ装置１０００とメイン装置１００との間もネットワーク３０００により接続される構成であっても良い。【００２５】
次に本実施の形態の動作を説明する。【００２６】
１）処理要求の登録
被処理装置２０００に対して何らかの処理を実行する場合、システム管理者は、任意のサブ装置１０００の入力装置１０１０から処理要求を入力する（図２のステップＳ１０１）。入力する処理要求は、処理対象となる全ての被処理装置２０００の記述とそれらに対する処理内容の記述とを含む。関連する技術のように個々の被処理装置２０００毎の処理要求を作成する必要はない。但し、処理対象となる全ての被処理装置２０００の記述を１つの処理要求に記述する必要性は必ずしもなく、幾つかの処理要求に分けて記述することも勿論可能である。【００２７】
サブ装置１０００の入力装置１０１０から入力された処理要求は、メイン装置１００の要求管理手段１２１を通じて要求記憶部１１１に記憶される（ステップＳ１０２）。【００２８】
２）処理要求の処理
各サブ装置１０００のデータ処理装置１０２０における要求分割手段１０２１は、メイン装置１００の要求記憶部１１１に未実行の処理要求が存在するかどうかを定期的に検索している（図３のステップＳ１１１）。未実行の処理要求が検索されなかった場合（ステップＳ１１２でＮＯ）、一定時間待機し（ステップＳ１１３）、ステップＳ１１１に戻って検索を再び実行する。【００２９】
未実行の処理要求が検索された場合（ステップＳ１１２でＹＥＳ）、当該処理要求を解析して処理対象となっている被処理装置２０００の台数（処理対象装置数）を抽出する（ステップＳ１１４）。次に、性能記憶部１０４１から処理手段１０２２の性能情報を読み出し、前記抽出した処理対象装置数を処理手段１０２２が処理可能かどうかを判定する（ステップＳ１１５）。処理可能であれば、当該未実行の処理要求に対して自サブ装置１０００が処理することをコミットする（ステップＳ１１７）。しかし、前記抽出した処理対象装置数が処理手段１０２２の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合（ステップＳ１１５でＮＯ）、当該未実行の処理要求を、処理手段１０２２に処理させる１以上の被処理装置２０００の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置２０００の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する（ステップＳ１１６）。そして、前者の処理要求に対して自サブ装置１０００が処理を実行することをコミットする（ステップＳ１１７）。【００３０】
ステップＳ１１６の詳細を図４に示す。要求分割手段１０２１は、まず、要求記憶部１１１に存在した未実行の処理要求中から処理手段１０２２の処理可能台数分の被処理装置の記述を抽出する（ステップＳ１１６１）。これは、記述の並びの先頭から順に抽出しても良いし、ランダムに抽出しても良い。次に、抽出した被処理装置の記述を元の未実行の処理要求中から削除する（ステップＳ１１６２）。最後に、抽出した被処理装置の記述を含む新たな未実行の処理要求を作成し、要求記憶部１１１に追加する（ステップＳ１１６３）。【００３１】
次に要求分割手段１０２１は、処理要求のコミットに成功したかどうかを判定する（ステップＳ１１８）。コミットに成功した場合はステップＳ１１９の処理へ進み、失敗した場合にはステップＳ１１１に戻って新たな未実行の処理要求の検索を繰り返す。処理要求のコミットは、ステップＳ１１１で検索した未実行の処理要求に対して他のサブ装置１０００が実行することをコミットしていた場合、失敗する。このとき、ステップＳ１１６の処理要求の分割も無効化される。すなわち、要求記憶部１１１に存在する或る１つの未実行の処理要求に対する分割処理や未実行の処理要求の引き受けは複数のサブ装置２０００間で排他的に行われる。【００３２】
処理要求のコミットに成功した場合、要求分割手段１０２１は、コミットした処理要求を処理手段１０２２に通知し、処理手段１０２２は通知された処理要求を実行する（ステップＳ１１９）。これにより、処理手段１０２２からネットワーク３０００経由で該当する被処理装置２０００がアクセスされ、処理要求中で記述された処理が実行される。処理手段１０２２は、処理要求の処理を終えると、その処理結果をメイン装置１００の要求管理手段１２１を通じて要求記憶部１１１に書き込む（ステップＳ１２０）。その後、制御が要求分割手段１０２１に戻され、ステップＳ１１１から再び処理が繰り返される。【００３３】
３）処理結果の参照
メイン装置１００の要求記憶部１１１に記憶された処理要求の処理結果を参照する場合、システム管理者は、任意のサブ装置１０００の入力装置１０１０から参照要求を入力する（図５のステップＳ１３１）。入力された参照要求は、サブ装置１０００からメイン装置１００の要求管理手段１２１に送られ、要求管理手段１２１により要求記憶部１１１から処理要求の処理結果が取り出された要求元のサブ装置１０００に返却される（ステップＳ１３２）。サブ装置１０００は、返却された処理結果を出力装置１０３０から出力する（ステップＳ１３３）。【００３４】
次に簡単な例を挙げて、本実施の形態の動作をより具体的に説明する。例としては、被処理装置２０００がＷｅｂサーバ、サブ装置１０００がＷｅｂサーバに対してアプリケーションプログラムの配付を行う配付サーバとする。また、ＷｅｂサーバはＷｅｂサーバ１〜４の合計４台、配付サーバは配付サーバＡ、Ｂの合計２台とし、各配付サーバＡ、Ｂは最大で２台のＷｅｂサーバに対して同時にアプリケーションプログラムの配付が行える性能を有するものとする。【００３５】
図６（ａ）は要求記憶部１１１に１つの未実行の処理要求ＲＱ１が記憶されている状態を示している。処理要求ＲＱ１は、処理対象となるＷｅｂサーバの記述部とそれらに対する処理内容の記述部とを含む。Ｗｅｂサーバの記述部には、各ＷｅｂサーバのＩＰアドレスが列挙されている。処理内容の記述部には、処理種別を表す「内容」があり、ここでは「配付」が設定されている。処理内容の記述部にはさらに、処理の状態が未実行、実行中、実行済の何れかを表す「状態」、処理を実行する配付サーバの識別子を示す「処理装置」、配付するアプリケーションプログラムが存在する場所を示す「アプリ」の各項目がある。【００３６】
２台の配付サーバＡ、Ｂのうち、配付サーバＡが図６（ａ）に示した状態の処理要求ＲＱ１を検索したとすると、この処理要求ＲＱ１には４台の処理対象装置が記述されており、処理手段１０２２の処理可能台数を超えるため、要求分割手段１０２１により図６（ｂ）に示すような処理対象装置が２台の２つの処理要求ＲＱ１１、ＲＱ１２に分割し、その一方の処理要求ＲＱ１１の「状態」に「実行中」、「処理装置」に「配付サーバＡ」を設定し、処理手段１０２２に処理要求ＲＱ１１の処理を行わせる。これにより、配付サーバＡの処理手段１０２２は、Ｗｅｂサーバ１、２へアプリケーションプログラムの配付を開始する。【００３７】
他方の配付サーバＢが図６（ｂ）の状態にある要求記憶部１１１を検索すると、未実行の処理要求ＲＱ１２が検索される。この処理要求ＲＱ１２には２台の処理対象装置が記述されており、処理手段１０２２の処理可能台数を超えないため、要求分割手段１０２１により図６（ｃ）に示すように、処理要求ＲＱ１２の「状態」に「実行中」、「処理装置」に「配付サーバＢ」を設定し、処理手段１０２２に処理要求ＲＱ１２の処理を行わせる。これにより、配付サーバＢの処理手段１０２２は、Ｗｅｂサーバ３、４へアプリケーションプログラムの配付を開始する。【００３８】
配付サーバＡ、Ｂの処理手段１０２２によるアプリケーションプログラムの配付処理が完了すると、その処理結果が要求記憶部１１１の処理要求ＲＱ１１、ＲＱ１２の「状態」に反映され、図６（ｄ）に示すように「実行済」が設定される。【００３９】
次に本実施の形態の効果を説明する。【００４０】
本実施の形態によれば、作成された処理要求単位よりも小さな単位での負荷分散が可能になる。その理由は、要求記憶部１１１に記憶された未実行の処理要求を必要に応じて２つの処理要求に分割する要求分割手段１０２１を各サブ装置１０００に備えているからである。この結果、各被処理装置毎の処理要求を作成する場合に比べて、処理要求を作成するシステム管理者の負担を大幅に削減することが可能になる。また、各被処理装置毎の処理要求を作成する場合に比べて、各サブ装置１０００は何度も処理要求を取りにいく必要がないという効果もある。【００４１】
また本実施の形態によれば、各サブ装置１０００で処理可能な未実行の処理要求の検索や処理要求の分割を複数のサブ装置１０００が並列的に実行するため、負荷分散のための処理が特定の装置に集中することがない。【００４２】
『第２の実施の形態』
図７を参照すると、本発明の第２の実施の形態は、図１に示した第１の実施の形態と比較して、各サブ装置１０００の記憶装置１０４０に選択基準情報記憶部１０４２を備え、要求分割手段１０２１が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１０４２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。【００４３】
選択基準情報記憶部１０４２に記憶される選択基準情報としては、自サブ装置１０００と各被処理装置２０００との間のネットワーク帯域、通信遅延時間、各被処理装置２０００の優先順位などがある。【００４４】
選択基準情報として、自サブ装置１０００と各被処理装置２０００との間のネットワーク帯域を使用する場合、要求分割手段１０２１は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置１０００との間のネットワーク帯域の大きい上位Ｎ個（Ｎは自サブ装置１０００の処理手段１０２２の処理可能台数。以下同じ）を抽出する。【００４５】
選択基準情報として、自サブ装置１０００と各被処理装置２０００との間のネットワーク遅延時間を使用する場合、要求分割手段１０２１は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置１０００との間のネットワーク遅延時間の小さい上位Ｎ個を抽出する。【００４６】
選択基準情報として、各被処理装置２０００の優先順位を使用する場合、要求分割手段１０２１は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位Ｎ個を抽出する。【００４７】
次に、第１の実施の形態の説明で用いた例と同じ簡単な例を用いて、本実施の形態の動作をより具体的に説明する。【００４８】
２台の配付サーバＡ、Ｂのうち、配付サーバＡが図８（ａ）に示した状態の処理要求ＲＱ１を検索したとすると、この処理要求ＲＱ１には４台の処理対象装置が記述されており、処理手段１０２２の処理可能台数を超えるため、要求分割手段１０２１により図８（ｂ）に示すような処理対象装置が２台の２つの処理要求ＲＱ１１、ＲＱ１２に分割し、その一方の処理要求ＲＱ１１の「状態」に「実行中」、「処理装置」に「配付サーバＡ」を設定し、処理手段１０２２に処理要求ＲＱ１１の処理を行わせる。ここで、図８（ｂ）と図６（ｂ）とを比較すると、図６（ｂ）の処理要求ＲＱ１１がＷｅｂサーバ１、２を処理対象としているのに対し、図８（ｂ）の処理要求ＲＱ１１ではＷｅｂサーバ１、３を処理対象としている点が相違する。これは、aaa.aaa.aaa.xxxのサブネットワークに属するＷｅｂサーバ１、３の方が、bbb.bbb.bbb.xxxのサブネットワークに属するＷｅｂサーバ２、４より配付サーバＡからのネットワーク遅延が小さいという選択基準情報によって選択が行われたためである。これにより、配付サーバＡの処理手段１０２２は、少ないネットワーク遅延でもってＷｅｂサーバ１、３へアプリケーションプログラムの配付を行うことが可能となる。【００４９】
他方の配付サーバＢが図８（ｂ）の状態にある要求記憶部１１１を検索すると、未実行の処理要求ＲＱ１２が検索される。この処理要求ＲＱ１２には２台の処理対象装置が記述されており、処理手段１０２２の処理可能台数を超えないため、要求分割手段１０２１により図８（ｃ）に示すように、処理要求ＲＱ１２の「状態」に「実行中」、「処理装置」に「配付サーバＢ」を設定し、処理手段１０２２に処理要求ＲＱ１２の処理を行わせる。これにより、配付サーバＢの処理手段１０２２は、Ｗｅｂサーバ２、４へアプリケーションプログラムの配付を開始する。配付サーバＡ、Ｂの処理手段１０２２によるアプリケーションプログラムの配付処理が完了すると、その処理結果が要求記憶部１１１の処理要求ＲＱ１１、ＲＱ１２の「状態」に反映され、図８（ｄ）に示すように「実行済」が設定される。【００５０】
次に本実施の形態の効果を説明する。【００５１】
本実施の形態によれば、第１の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１０４２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。【００５２】
『第３の実施の形態』
図９を参照すると、本発明に関連する第３の実施の形態にかかる情報処理システムは、複数のサブ装置１１００と、これら複数のサブ装置１１００に通信可能に接続されたメイン装置２００とから構成されている。また、各サブ装置１１００は、ネットワーク３０００を通じて複数の被処理装置２０００と接続されている。
【００５３】
メイン装置２００は、被処理装置２０００に対して実行すべき処理を記述した処理要求を記憶し管理するコンピュータであり、記憶装置１１０、１３０とデータ処理装置１２０とを備えている。【００５４】
記憶装置１１０は、第１の実施の形態におけるものと同じであり、１以上の処理要求を記憶する。【００５５】
データ処理装置１２０は、コンピュータのＣＰＵなどで構成され、要求管理手段１２１と要求分割手段１２２とを有する。【００５６】
要求管理手段１２１は、第１の実施の形態におけるものと同じであり、要求記憶部１１１への処理要求の入出力を管理する。【００５７】
要求分割手段１２２は、要求記憶部１１１に記憶された処理要求を要求管理手段１２１を通じて読み出し、必要に応じて分割して各サブ装置１１００に分配する手段である。要求分割手段１２２は、未実行の処理要求に含まれる処理対象装置数（被処理装置２０００の数）が、要求分配先のサブ装置１１００における処理手段１０２２の処理性能により定まる被処理装置の処理可能数を超える場合には、処理要求を分割する。具体的には、未実行の処理要求を、サブ装置１１００の処理手段１０２２に処理させる１以上の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する。【００５８】
記憶装置１３０は、ハードディスクなどで構成され、各サブ装置１１００における処理手段１０２２の性能情報を記憶する性能記憶部１３１を有する。性能記憶部１３１に記憶される性能情報としては、各サブ装置１１００のデータ処理装置１０２０を構成するＣＰＵのクロック周波数など静的な性能情報でも良いし、その時点のＣＰＵ使用率や空きメモリ量など負荷状態を示す情報であっても良い。また、同時に処理可能な被処理装置の台数そのものでも良い。
【００５９】
各々のサブ装置１１００は、被処理装置２０００に対する処理を互いに分担して実行するコンピュータであり、入力装置１０１０、データ処理装置１０２０および出力装置１０３０を備えている。【００６０】
入力装置１０１０および出力装置１０３０は、第１の実施の形態におけるものと同じである。【００６１】
データ処理装置１０２０は、コンピュータのＣＰＵなどで構成され、処理手段１０２２を有する。処理手段１０２２は、メイン装置２００の要求分割手段１０２１から要求された処理を被処理装置２０００に対して実行する手段である。【００６２】
被処理装置２０００およびネットワーク３０００は、第１の実施の形態におけるものと同じである。図９では、各サブ装置１１００と被処理装置２０００とがネットワーク３０００により接続されているが、各サブ装置１１００とメイン装置２００との間もネットワーク３０００により接続される構成であっても良い。【００６３】
次に本実施の形態の動作を説明する。【００６４】
１）処理要求の登録
メイン装置２００の要求記憶部１１１への処理要求の登録は、第１の実施の形態と同様に任意のサブ装置１１００の入力装置１０１０から行える（図２のステップＳ１０１、Ｓ１０２）。【００６５】
２）処理要求の処理
メイン装置２００のデータ処理装置１２０における要求分割手段１２２は、要求記憶部１１１に未実行の処理要求が存在するかどうかを定期的に検索している（図１０のステップＳ２０１）。未実行の処理要求が検索されなかった場合（ステップＳ２０２でＮＯ）、一定時間待機し（ステップＳ２０３）、ステップＳ２０１の処理に戻って検索を再び実行する。【００６６】
未実行の処理要求が検索された場合（ステップＳ２０２でＹＥＳ）、当該未実行の処理要求を処理させるサブ装置１１００を選択する（ステップＳ２０４）。この選択には、処理要求の処理が可能な複数のサブ装置１１００をラウンドロビン方式で選択するなど、任意の方法を使用することができる。次に、当該処理要求を解析して処理対象となっている被処理装置２０００の台数を抽出する（ステップＳ２０５）。次に、性能記憶部１３１から前記選択したサブ装置１１００の処理手段１０２２の性能情報を読み出し、前記抽出した処理対象装置数を当該処理手段１０２２が処理可能かどうかを判定する（ステップＳ２０６）。【００６７】
処理可能であれば、当該未実行の処理要求を処理させるべく当該サブ装置１１００へ送信する（ステップＳ２０８）。しかし、前記抽出した処理対象装置数が当該サブ装置１１００の処理手段１０２２の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合（ステップＳ２０６でＮＯ）、当該未実行の処理要求を、当該サブ装置１１００の処理手段１０２２に処理させる１以上の被処理装置２０００の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置２０００の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する（ステップＳ２０７および図４）。そして、前者の処理要求を処理させるべく当該サブ装置１１００へ送信する（ステップＳ２０８）。その後、ステップＳ２０１の処理に戻って前述した処理を繰り返す。【００６８】
サブ装置１１００の処理手段１０２２は、メイン装置２００から処理要求を受信すると（図１１のステップＳ２１１）、その処理要求を実行する（ステップＳ２１２）。これにより、処理手段１０２２からネットワーク３０００経由で該当する被処理装置２０００がアクセスされ、処理要求中で記述された処理が実行される。処理手段１０２２は、処理要求の処理を終えると、その処理結果をメイン装置２００の要求管理手段１２１を通じて要求記憶部１１１に書き込む（ステップＳ２１３）。【００６９】
３）処理結果の参照
メイン装置２００の要求記憶部１１１に記憶された処理要求の処理結果の参照は、第１の実施の形態と同様に、任意のサブ装置１１００の入力装置１０１０および出力装置１０３０を用いて行うことができる（図５のステップＳ１３１〜Ｓ１３３）。【００７０】
次に、第１の実施の形態の説明で用いた例と同じ簡単な例（図６）を用いて、本実施の形態の動作をより具体的に説明する。【００７１】
メイン装置２００の要求分割手段１２２が、図６（ａ）に示した状態の処理要求ＲＱ１を検索し、それを処理する配付サーバとして配付サーバＡを選択したとすると、この処理要求ＲＱ１には４台の処理対象装置が記述されており、配付サーバＡの処理手段１０２２の処理可能台数を超えるため、図６（ｂ）に示すような処理対象装置が２台の２つの処理要求ＲＱ１１、ＲＱ１２に分割し、その一方の処理要求ＲＱ１１を配付サーバＡに送信して処理させる。このとき要求分割手段１２２は、処理要求ＲＱ１１の「状態」に「実行中」、「処理装置」に「配付サーバＡ」を設定する。【００７２】
続いてメイン装置２００の要求分割手段１２２が、図６（ｂ）の状態の処理要求ＲＱ１２を検索し、それを処理する配付サーバとして配付サーバＢを選択したとすると、この処理要求ＲＱ１２には２台の処理対象装置が記述されており、配付サーバＢの処理手段１０２２の処理可能台数を超えないため、処理要求ＲＱ１２を配付サーバＢに送信して処理させる。このとき要求分割手段１２２は、図６（ｃ）に示すように、処理要求ＲＱ１２の「状態」に「実行中」、「処理装置」に「配付サーバＢ」を設定する。【００７３】
配付サーバＡおよび配付サーバＢは、処理手段１０２２によるアプリケーションプログラムの配付処理が完了すると、その処理結果を要求記憶部１１１の処理要求ＲＱ１１、ＲＱ１２の「状態」に反映する。これにより、図６（ｄ）に示すように「実行済」が設定される。【００７４】
次に本実施の形態の効果を説明する。【００７５】
本実施の形態によれば、作成された処理要求単位よりも小さな単位での負荷分散が可能になる。その理由は、要求記憶部１１１に記憶された未実行の処理要求を必要に応じて２つの処理要求に分割する要求分割手段１２２をメイン装置２００に備えているからである。この結果、各被処理装置毎の処理要求を作成する場合に比べて、処理要求を作成するシステム管理者の負担を大幅に削減することが可能になる。【００７６】
また本実施の形態によれば、各サブ装置１１００に処理させる未実行の処理要求の検索や処理要求の分割をメイン装置２００側で実施するため、各サブ装置１１００の負荷を軽減することができる。【００７７】
『第４の実施の形態』
図１２を参照すると、本発明に関連する第４の実施の形態は、図９に示した第３の実施の形態と比較して、メイン装置２００の記憶装置１３０に選択基準情報記憶部１３２を備え、要求分割手段１２２が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１３２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。
【００７８】
選択基準情報記憶部１３２に記憶される選択基準情報としては、各サブ装置１１００と各被処理装置２０００との間のネットワーク帯域、通信遅延時間、各被処理装置２０００の優先順位などがある。【００７９】
選択基準情報として、各サブ装置１１００と各被処理装置２０００との間のネットワーク帯域を使用する場合、要求分割手段１２２は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置１１００との間のネットワーク帯域の大きい上位Ｎ個（Ｎは当該サブ装置１１００の処理手段１０２２の処理可能台数。以下同じ）を抽出する。【００８０】
選択基準情報として、各サブ装置１１００と各被処理装置２０００との間のネットワーク遅延時間を使用する場合、要求分割手段１２２は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置１１００との間のネットワーク遅延時間の小さい上位Ｎ個を抽出する。【００８１】
選択基準情報として、各被処理装置２０００の優先順位を使用する場合、要求分割手段１２２は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位Ｎ個を抽出する。【００８２】
次に、第３の実施の形態の説明で用いた例と同じ簡単な例（図８）を用いて、本実施の形態の動作をより具体的に説明する。【００８３】
メイン装置２００の要求分割手段１２２が、図８（ａ）に示した状態の処理要求ＲＱ１を検索し、それを処理する配付サーバとして配付サーバＡを選択したとすると、この処理要求ＲＱ１には４台の処理対象装置が記述されており、配付サーバＡの処理手段１０２２の処理可能台数を超えるため、図８（ｂ）に示すような処理対象装置が２台の２つの処理要求ＲＱ１１、ＲＱ１２に分割し、その一方の処理要求ＲＱ１１を配付サーバＡに送信して処理させる。ここで、図８（ｂ）と図６（ｂ）とを比較すると、図６（ｂ）の処理要求ＲＱ１１がＷｅｂサーバ１、２を処理対象としているのに対し、図８（ｂ）の処理要求ＲＱ１１ではＷｅｂサーバ１、３を処理対象としている点が相違する。これは、aaa.aaa.aaa.xxxのサブネットワークに属するＷｅｂサーバ１、３の方が、bbb.bbb.bbb.xxxのサブネットワークに属するＷｅｂサーバ２、４より配付サーバＡからのネットワーク遅延が小さいという選択基準情報によって選択が行われたためである。これにより、配付サーバＡの処理手段１０２２は、少ないネットワーク遅延でもってＷｅｂサーバ１、３へアプリケーションプログラムの配付を行うことが可能となる。【００８４】
続いてメイン装置２００の要求分割手段１２２が、図８（ｂ）の状態の処理要求ＲＱ１２を検索し、それを処理する配付サーバとして配付サーバＢを選択したとすると、この処理要求ＲＱ１２には２台の処理対象装置が記述されており、配付サーバＢの処理手段１０２２の処理可能台数を超えないため、処理要求ＲＱ１２を配付サーバＢに送信して処理させる。その後、配付サーバＡおよび配付サーバＢにおいて、アプリケーションプログラムの配付処理が完了すると、その処理結果が要求記憶部１１１の処理要求ＲＱ１１、ＲＱ１２の「状態」に反映され、図８（ｄ）に示すように「実行済」が設定される。【００８５】
次に本実施の形態の効果を説明する。【００８６】
本実施の形態によれば、第３の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１３２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。【００８７】
『第５の実施の形態』
図１３を参照すると、本発明に関連する第５の実施の形態は、図９に示した第３の実施の形態と比較して、メイン装置２００のデータ処理装置１２０が要求分割手段１２２の代わりに要求分割手段１２３を備えている点と、各サブ装置１１００のデータ処理装置１０２０が新たに立候補手段１０２３を備えている点で相違する。
【００８８】
各サブ装置１１００の立候補手段１０２３は、自装置の処理手段１０２２が処理要求の処理を行える状態にある場合、メイン装置２００の要求記憶部１１１を定期的に検索し、未実行の処理要求に対して該要求を処理する処理手段の候補として自装置の識別子を書き込む機能を有する。【００８９】
メイン装置２００の要求分割手段１２３は、要求記憶部１１１中の未実行の処理要求を処理させるサブ装置１１００をその処理要求に対して立候補しているサブ装置１１００の中から選択する点が、第３の実施の形態における要求分割手段１２２と相違する。【００９０】
次に本実施の形態の動作を説明する。【００９１】
１）処理要求の登録
13  メイン装置２００の要求記憶部１１１への処理要求の登録は、第３の実施の形態と同様に任意のサブ装置１１００の入力装置１０１０から行える（図２のステップＳ１０１、Ｓ１０２）。【００９２】
２）処理要求の処理
各サブ装置１１００のデータ処理装置１０２０における立候補手段１０２３は、自装置の処理手段１０２２が処理要求の処理を行える場合、図１４に示した処理を実行する。まず、メイン装置２００の要求記憶部１１１に未実行の処理要求が存在するかどうかを検索する（図１４のステップＳ３０１）。未実行の処理要求が検索されなかった場合（ステップＳ３０２でＮＯ）、一定時間待機し（ステップＳ３０３）、ステップＳ３０１に戻って検索を再び実行する。【００９３】
未実行の処理要求が検索された場合（ステップＳ３０２でＹＥＳ）、当該処理要求中に当該処理要求を処理する候補装置として自装置の識別子を書き込む（ステップＳ３０４）。そして、メイン装置２００から結果が返されるのを待つ。若し、自装置が選ばれなかった場合は（ステップＳ３０５でＮＯ）、ステップＳ３０１に戻って検索を再び実行する。自装置が選ばれた結果、メイン装置２００から処理要求が送信されてきた場合には、受信した処理要求を処理手段１０２２に実行させる（ステップＳ３０６）。そして、その実行完了後に処理結果を要求記憶部１１１へ反映する（ステップＳ３０７）。【００９４】
他方、メイン装置２００のデータ処理装置１２０における要求分割手段１２３は、要求記憶部１１１に未実行かつ候補者の設定がある処理要求が存在するかどうかを定期的に検索している（図１５のステップＳ３１１）。未実行かつ候補者ありの処理要求が検索されなかった場合（ステップＳ３１２でＮＯ）、一定時間待機し（ステップＳ３１３）、ステップＳ３１１の処理に戻って検索を再び実行する。【００９５】
未実行かつ候補者ありの処理要求が検索された場合（ステップＳ３１２でＹＥＳ）、立候補者の中から当該未実行の処理要求を処理させるサブ装置１１００を選択する（ステップＳ３１４）。次に、落選者がいた場合にはそのサブ装置１１００へその旨を通知した後（ステップＳ３１５）、当選したサブ装置１１００に関して以下の処理を実行する。【００９６】
まず、当該処理要求を解析して処理対象となっている被処理装置２０００の台数を抽出する（ステップＳ３１６）。次に、性能記憶部１３１から当選したサブ装置１１００の処理手段１０２２の性能情報を読み出し、前記抽出した処理対象装置数を当該処理手段１０２２が処理可能かどうかを判定する（ステップＳ３１７）。処理可能であれば、当該未実行の処理要求を処理させるべく当該サブ装置１１００へ送信する（ステップＳ３１９）。他方、前記抽出した処理対象装置数が当該サブ装置１１００の処理手段１０２２の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合（ステップＳ３１７でＮＯ）、当該未実行の処理要求を、当該サブ装置１１００の処理手段１０２２に処理させる１以上の被処理装置２０００の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置２０００の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する（ステップＳ３１８および図４）。そして、前者の処理要求を処理させるべく当該サブ装置１１００へ送信する（ステップＳ３１９）。その後、ステップＳ３１１の処理に戻って前述した処理を繰り返す。【００９７】
３）処理結果の参照
メイン装置２００の要求記憶部１１１に記憶された処理要求の処理結果の参照は、第３の実施の形態と同様に、任意のサブ装置１１００の入力装置１０１０および出力装置１０３０を用いて行うことができる（図５のステップＳ１３１〜Ｓ１３３）。【００９８】
次に、第１の実施の形態の説明で用いた例と同じ簡単な例を用いて、本実施の形態の動作をより具体的に説明する。【００９９】
図１６（ａ）に示される未実行の処理要求ＲＱ１がメイン装置２００の要求記憶部１１１に記憶されている状態において、配付サーバＡと配付サーバＢの２台のサーバが図１４の処理を実行したとする。この場合、配付サーバＡおよび配付サーバＢは、未実行の処理要求ＲＱ１を検索し、図１６（ｂ）に示すように、処理要求ＲＱ１の「処理装置」に自装置の識別子を書き込む（図１４のステップＳ３０４）。【０１００】
その後、メイン装置２００の要求分割手段１２３が、図１６（ｂ）に示した状態の処理要求ＲＱ１を検索したとする。この場合、配付サーバＡと配付サーバＢの２台のサーバが候補者として記載されているので、要求分割手段１２３は、性能記憶部１３１を参照して例えばより高性能な方の配付サーバを選択する（図１５のステップＳ３１４）。今の場合、配付サーバＡを選択したとする。次に、要求分割手段１２３は、処理要求ＲＱ１には４台の処理対象装置が記述されており、配付サーバＡの処理手段１０２２の処理可能台数を超えるため、図１６（ｃ）に示すような処理対象装置が２台の２つの処理要求ＲＱ１１、ＲＱ１２に分割し、その一方の処理要求ＲＱ１１を配付サーバＡに送信して処理させる。このとき要求分割手段１２３は、処理要求ＲＱ１１の「状態」に「実行中」、「処理装置」に「配付サーバＡ」を設定する。他方、配付サーバＢには選ばれなかった旨を通知する。【０１０１】
落選した配付サーバＢは、再び未実行の処理要求を検索すると、処理要求ＲＱ１２が見つかるので、それに対して立候補を行う。メイン装置２００の要求分割手段１２３が、次回検索するまでに他の立候補者が出てこなかったとすると、処理要求ＲＱ１２の処理は配付サーバＢに決定され、図１６（ｄ）に示すように処理要求ＲＱ１２の「状態」に「実行中」、「処理装置」に「配付サーバＢ」が設定される。【０１０２】
配付サーバＡおよび配付サーバＢは、処理手段１０２２によるアプリケーションプログラムの配付処理が完了すると、その処理結果を要求記憶部１１１の処理要求ＲＱ１１、ＲＱ１２の「状態」に反映する。これにより、図１６（ｅ）に示すように「実行済」が設定される。【０１０３】
次に本実施の形態の効果を説明する。【０１０４】
本実施の形態によれば、第３の実施の形態と同様の効果が得られるとともに、処理要求を適切なサブ装置１１００に処理させることができる。その理由は、未実行の処理要求に対してその処理を望むサブ装置の中から実行装置を選択しているためである。【０１０５】
なお、本実施の形態では、メイン装置２００の要求分割手段１２３は、サブ装置１１００の処理手段１０２２が処理可能な被処理装置の台数および当選者の決定に際して、性能記憶部１３１に記憶された性能情報を参照した。しかし、立候補したサブ装置１１００が処理要求の「処理装置」の箇所に自装置の識別子と自装置の性能情報を書き込み、要求分配手段１２３がこの書き込まれた性能情報に基づいて、処理可能台数および当選者を決定するようにしても良い。【０１０６】
『第６の実施の形態』
図１７を参照すると、本発明に関連する第６の実施の形態は、図１３に示した第５の実施の形態と比較して、メイン装置２００の記憶装置１３０に選択基準情報記憶部１３２を備え、要求分割手段１２３が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１３２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。
【０１０７】
選択基準情報記憶部１３２に記憶される選択基準情報としては、各サブ装置１１００と各被処理装置２０００との間のネットワーク帯域、通信遅延時間、各被処理装置２０００の優先順位などがある。【０１０８】
選択基準情報として、各サブ装置１１００と各被処理装置２０００との間のネットワーク帯域を使用する場合、要求分割手段１２３は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置１１００との間のネットワーク帯域の大きい上位Ｎ個（Ｎは当該サブ装置１１００の処理手段１０２２の処理可能台数。以下同じ）を抽出する。【０１０９】
選択基準情報として、各サブ装置１１００と各被処理装置２０００との間のネットワーク遅延時間を使用する場合、要求分割手段１２３は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置１１００との間のネットワーク遅延時間の小さい上位Ｎ個を抽出する。【０１１０】
選択基準情報として、各被処理装置２０００の優先順位を使用する場合、要求分割手段１２３は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位Ｎ個を抽出する。【０１１１】
次に本実施の形態の効果を説明する。【０１１２】
本実施の形態によれば、第５の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１３２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。【０１１３】
『第７の実施の形態』
図１８を参照すると、本発明を適用した第７の実施の形態は、図９に示した第３の実施の形態と比較して、メイン装置２００のデータ処理装置１２０が要求分割手段１２２の代わりに候補者選択手段１２４を備えている点と、各サブ装置１１００が、データ処理装置１０２０に新たに要求分割手段１０２４を備え、性能記憶部１０４１を有する記憶装置１０４０を備えている点で相違する。
【０１１４】
各サブ装置１１００の要求分割手段１０２４は、自装置の処理手段１０２２が処理要求の処理を行える状態にある場合、メイン装置２００の要求記憶部１１１を定期的に検索し、未実行の処理要求に対して該要求を処理する処理手段の候補として自装置の識別子を書き込む機能を有する。また、要求分割手段１０２４は、自装置が処理装置として選択された場合に、処理要求を必要に応じて分割する機能を有する。【０１１５】
各サブ装置１１００の性能記憶部１０４１には、第１の実施の形態と同様な処理手段１０２２の性能情報が記憶されている。【０１１６】
メイン装置２００の立候補選択手段１２４は、要求記憶部１１１中の未実行の処理要求を処理させるサブ装置１１００をその処理要求に対して立候補しているサブ装置１１００の中から選択する手段である。【０１１７】
次に本実施の形態の動作を説明する。【０１１８】
１）処理要求の登録
メイン装置２００の要求記憶部１１１への処理要求の登録は、第３の実施の形態と同様に任意のサブ装置１１００の入力装置１０１０から行える（図２のステップＳ１０１、Ｓ１０２）。【０１１９】
２）処理要求の処理
各サブ装置１１００のデータ処理装置１０２０における要求分割手段１０２４は、自装置の処理手段１０２２が処理要求の処理を行える場合、図１９に示した処理を実行する。まず、メイン装置２００の要求記憶部１１１に未実行の処理要求が存在するかどうかを検索する（ステップＳ４０１）。未実行の処理要求が検索されなかった場合（ステップＳ４０２でＮＯ）、一定時間待機し（ステップＳ４０３）、ステップＳ４０１に戻って検索を再び実行する。【０１２０】
未実行の処理要求が検索された場合（ステップＳ４０２でＹＥＳ）、当該処理要求中に当該処理要求を処理する候補装置として自装置の識別子を書き込む（ステップＳ４０４）。そして、メイン装置２００から結果が返されるのを待つ。若し、自装置が選ばれなかった場合は（ステップＳ４０５でＮＯ）、ステップＳ４０１に戻って検索を再び実行する。自装置が選ばれた場合、以下のような処理を実行する。【０１２１】
まず、自装置が実行装置として選ばれた未実行の処理要求を要求管理手段１２１を通じて要求記憶部１１１から参照し、それを解析することで処理対象となっている被処理装置２０００の台数を抽出する（ステップＳ４０６）。次に、性能記憶部１０４１から処理手段１０２２の性能情報を読み出し、前記抽出した処理対象装置数を処理手段１０２２が処理可能かどうか判定する（ステップＳ４０７）。処理可能であれば、当該未実行の処理要求を処理手段１０２２により実行する（ステップＳ４０９）。しかし、前記抽出した処理対象装置数が処理手段１０２２の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合（ステップＳ４０７でＮＯ）、当該未実行の処理要求を、処理手段１０２２に処理させる１以上の被処理装置２０００の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置２０００の記述とそれらに対する処理内容の記述とを含む未実行の処理要求とに分割する（ステップＳ４０８）。そして、前者の処理要求を処理手段１０２２により実行する（ステップＳ４０９）。次に、処理手段１０２２は、処理要求の処理を終えると、その処理結果をメイン装置２００の要求管理手段１２１を通じて要求記憶部１１１に書き込む（ステップＳ４１０）。【０１２２】
他方、メイン装置２００のデータ処理装置１２０における候補者選択手段１２４は、要求記憶部１１１に未実行かつ候補者ありの処理要求が存在するかどうかを定期的に検索している（図２０のステップＳ４２１）。未実行かつ候補者ありの処理要求が検索されなかった場合（ステップＳ４２２でＮＯ）、一定時間待機し（ステップＳ４２３）、ステップＳ４２１の処理に戻って検索を再び実行する。【０１２３】
未実行かつ候補者ありの処理要求が検索された場合（ステップＳ４２２でＹＥＳ）、性能記憶部１３１に記憶された性能情報を参照して、立候補者の中から当該未実行の処理要求を処理させるサブ装置１１００を選択する（ステップＳ４２４）。そして、各立候補者に当落の結果を通知する（ステップＳ４２５）。その後、ステップＳ４２１の処理に戻って前述した処理を繰り返す。【０１２４】
３）処理結果の参照
メイン装置２００の要求記憶部１１１に記憶された処理要求の処理結果の参照は、第３の実施の形態と同様に、任意のサブ装置１１００の入力装置１０１０および出力装置１０３０を用いて行うことができる（図５のステップＳ１３１〜Ｓ１３３）。【０１２５】
次に、第５の実施の形態の説明で用いた例と同じ簡単な例（図１６）を用いて、本実施の形態の動作をより具体的に説明する。【０１２６】
図１６（ａ）に示される未実行の処理要求ＲＱ１がメイン装置２００の要求記憶部１１１に記憶されている状態において、配付サーバＡと配付サーバＢの２台のサーバが図１９の処理を実行したとする。この場合、配付サーバＡおよび配付サーバＢは、未実行の処理要求ＲＱ１を検索し、図１６（ｂ）に示すように、処理要求ＲＱ１の「処理装置」に自装置の識別子を書き込む（図１９のステップＳ４０４）。【０１２７】
その後、メイン装置２００の候補者選択手段１２４が、図１６（ｂ）に示した状態の処理要求ＲＱ１を検索したとする。この場合、配付サーバＡと配付サーバＢの２台のサーバが候補者として記載されているので、候補者選択手段１２４は、性能記憶部１３１を参照して例えばより高性能な方の配付サーバを選択する（図２０のステップＳ４２４）。今の場合、配付サーバＡを選択したとする。次に、候補者選択手段１２４は、配付サーバＡに対しては当選を、配付サーバＢに対しては落選をそれぞれ通知する（ステップＳ４２５）。【０１２８】
当選の通知を受けた配付サーバＡの要求分割手段１０２４は、処理要求ＲＱ１に４台の処理対象装置が記述されているため、自サーバＡの処理手段１０２２の処理可能台数を超えると判断し、図１６（ｃ）に示すような処理対象装置が２台の２つの処理要求ＲＱ１１、ＲＱ１２に分割し、その一方の処理要求ＲＱ１１を自サーバＡの処理手段１０２２に処理させる。このとき要求分割手段１０２４は、処理要求ＲＱ１１の「状態」に「実行中」、「処理装置」に「配付サーバＡ」を設定する。【０１２９】
他方、落選の通知を受けた配付サーバＢは、再び未実行の処理要求を検索する。そして処理要求ＲＱ１２を見つけると、それに対して立候補を行う。メイン装置２００の立候補選択手段１２４が、次回検索するまでに他の立候補者が出てこなかったとすると、処理要求ＲＱ１２の処理は配付サーバＢに決定され、図１６（ｄ）に示すように処理要求ＲＱ１２の「状態」に「実行中」、「処理装置」に「配付サーバＢ」が設定される。【０１３０】
配付サーバＡおよび配付サーバＢは、処理手段１０２２によるアプリケーションプログラムの配付処理が完了すると、その処理結果を要求記憶部１１１の処理要求ＲＱ１１、ＲＱ１２の「状態」に反映する。これにより、図１６（ｅ）に示すように「実行済」が設定される。【０１３１】
次に本実施の形態の効果を説明する。【０１３２】
本実施の形態によれば、第３の実施の形態と同様の効果が得られるとともに、処理要求を適切なサブ装置１１００に処理させることができる。その理由は、未実行の処理要求に対してその処理を望むサブ装置の中から実行装置を選択しているためである。【０１３３】
また本実施の形態によれば、処理要求の分割を各サブ装置１１００側で行うため、メイン装置２００の負荷集中を防止することができる。【０１３４】
なお、本実施の形態では、メイン装置２００の候補者選択手段１２４は当選者の決定に際して、性能記憶部１３１に記憶された性能情報を参照した。しかし、立候補したサブ装置１１００が処理要求の「処理装置」の箇所に自装置の識別子と自装置の性能情報を書き込み、候補者選択手段１２４がこの書き込まれた性能情報に基づいて、当選者を決定するようにしても良い。【０１３５】
『第８の実施の形態』
図２１を参照すると、本発明を適用した第８の実施の形態は、図１８に示した第７の実施の形態と比較して、各サブ装置１１００の記憶装置１０４０に選択基準情報記憶部１０４２を備え、要求分割手段１０２４が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１０４２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。
【０１３６】
選択基準情報記憶部１０４２に記憶される選択基準情報としては、自サブ装置１１００と各被処理装置２０００との間のネットワーク帯域、通信遅延時間、各被処理装置２０００の優先順位などがある。【０１３７】
選択基準情報として、自サブ装置１１００と各被処理装置２０００との間のネットワーク帯域を使用する場合、要求分割手段１０２４は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置１１００との間のネットワーク帯域の大きい上位Ｎ個（Ｎは当該サブ装置１１００の処理手段１０２２の処理可能台数。以下同じ）を抽出する。【０１３８】
選択基準情報として、自サブ装置１１００と各被処理装置２０００との間のネットワーク遅延時間を使用する場合、要求分割手段１０２４は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置１１００との間のネットワーク遅延時間の小さい上位Ｎ個を抽出する。【０１３９】
選択基準情報として、各被処理装置２０００の優先順位を使用する場合、要求分割手段１０２４は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位Ｎ個を抽出する。【０１４０】
次に本実施の形態の効果を説明する。【０１４１】
本実施の形態によれば、第７の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部１０４２に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。【０１４２】
次に、本発明の他の実施形態について説明する。【０１４３】
前記要求分割手段を各処理手段毎に備えてもよいものである。【０１４４】
複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、前記メイン装置に前記要求記憶部を備え、前記各サブ装置に前記処理手段と前記要求分割手段とを備えてもよいものである。【０１４５】
前記各サブ装置の要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定するようにしてもよいものである。【０１４６】
前記各サブ装置の要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込むものであり、且つ、前記メイン装置に、前記要求記憶部に記憶された処理要求を処理すべきサブ装置を当該処理要求に対して識別子を書き込んだサブ装置の中から選択する候補者選択手段を備えるようにしてもよいものである。【０１４７】
前記要求分割手段を複数の処理手段に共通に備えるようにしてもよいものである。【０１４８】
複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、前記メイン装置に前記要求記憶部と前記要求分割手段とを備え、前記各サブ装置に前記処理手段を備えるようにしてもよいものである。【０１４９】
前記メイン装置の要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求と該処理要求を処理させるサブ装置を決定するようにしてもよいものである。【０１５０】
前記各サブ装置に、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込む立候補手段を備え、前記メイン装置の要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求を決定し、且つ該処理要求に対して識別子を書き込んだサブ装置の中から当該処理要求を処理させるサブ装置を決定するようにしてもよいものである。【０１５１】
選択基準情報を記憶する選択基準情報記憶部を備え、前記要求分割手段は、前記処理手段の処理能力に見合った数の被処理装置の記述を前記選択基準情報を参照して選択するようにしてもよいものである。【０１５２】
本発明の実施形態に係る負荷分散方法は、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部と、処理要求を分担して実行する複数の処理手段とを備えた情報処理システムにおける負荷分散方法であって、要求分割手段が、前記要求記憶部に記憶された処理要求を、前記処理手段の処理能力に見合った数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する第１のステップと、前記分割された処理要求を前記処理手段が実行する第２のステップとを含む構成として構築してもよいものである。【０１５３】
本発明の実施形態に係る情報処理装置は、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続され、処理要求を実行する処理手段と、前記要求記憶部に記憶された処理要求を、前記処理手段の処理能力に見合った数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段とを備える構成として構築してもよいものである。【０１５４】
前記要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定するようにしてもよいものである。【０１５５】
前記要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込み、前記メイン装置から自サブ装置が当該処理要求を実行する装置として選択されるのを待ち合わせるようにしてもよいものである。【０１５６】
処理要求を実行する処理手段を備えた複数のサブ装置と通信可能に接続され、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部と、該要求記憶部に記憶された処理要求を、前記処理手段の処理能力に見合った数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段とを備えるようにしてもよいものである。【０１５７】
前記要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求と該処理要求を処理させるサブ装置を決定するようにしてもよいものである。【０１５８】
前記要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求を決定し、且つ該処理要求に対して識別子を書き込んだサブ装置の中から当該処理要求を処理させるサブ装置を決定するようにしてもよいものである。【０１５９】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、本発明のメイン装置およびサブ装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。メイン装置用のプログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるメイン装置として機能させる。また、サブ装置用のプログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるサブ装置として機能させる。また、メイン装置とサブ装置とは物理的に別々のコンピュータである必要はなく、サブ装置として使用するコンピュータをメイン装置として稼動させることも可能である。
【産業上の利用可能性】
【０１６０】
以上のように、本発明は、複数の被処理装置を複数の処理装置で分散して処理するシステムに有用であり、特にアプリケーションプログラムの配信などネットワークを通じて複数の被処理装置を管理するシステムに用いるのに適している。
【図面の簡単な説明】
【０１６１】
【図１】本発明の第１の実施の形態のブロック図である。
【図２】本発明の第１の実施の形態における処理要求の登録処理の一例を示すフローチャートである。
【図３】本発明の第１の実施の形態におけるサブ装置のデータ処理装置の処理例を示すフローチャートである。
【図４】本発明の第１の実施の形態における処理要求の分割処理の一例を示すフローチャートである。
【図５】本発明の第１の実施の形態における処理要求の処理結果の参照処理の一例を示すフローチャートである。
【図６】本発明の第１の実施の形態における要求記憶部に記憶された処理要求の状態遷移の一例を示す図である。
【図７】本発明の第２の実施の形態のブロック図である。
【図８】本発明の第２の実施の形態における要求記憶部に記憶された処理要求の状態遷移の一例を示す図である。
【図９】本発明に関連する第３の実施の形態のブロック図である。
【図１０】本発明に関連する第３の実施の形態におけるメイン装置の要求分割手段の処理例を示すフローチャートである。
【図１１】本発明に関連する第３の実施の形態におけるサブ装置の処理手段の処理例を示すフローチャートである。
【図１２】本発明に関連する第４の実施の形態のブロック図である。
【図１３】本発明に関連する第５の実施の形態のブロック図である。
【図１４】本発明に関連する第５の実施の形態におけるサブ装置のデータ処理装置の処理例を示すフローチャートである。
【図１５】本発明に関連する第５の実施の形態におけるメイン装置の要求分割手段の処理例を示すフローチャートである。
【図１６】本発明に関連する第５の実施の形態における要求記憶部に記憶された処理要求の状態遷移の一例を示す図である。
【図１７】本発明に関連する第６の実施の形態のブロック図である。
【図１８】本発明を適用した第７の実施の形態のブロック図である。
【図１９】本発明を適用した第７の実施の形態におけるサブ装置のデータ処理装置の処理例を示すフローチャートである。
【図２０】本発明を適用した第７の実施の形態におけるメイン装置の候補者選択手段の処理例を示すフローチャートである。
【図２１】本発明を適用した第８の実施の形態のブロック図である。
【符号の説明】
【０１６２】
１００、２００…メイン装置
１１０…記憶装置
１１１…要求記憶部
１２０…データ処理装置
１２１…要求管理手段
１２２、１２３…要求分割手段
１２４…候補者選択手段
１３０…記憶装置
１３１…性能記憶部
１３２…選択基準情報記憶部
１０００…サブ装置
１０１０…入力装置
１０２０…データ処理装置
１０２１、１０２４…要求分割手段
１０２２…処理手段
１０２３…立候補手段
１０３０…出力装置
１０４０…記憶装置
１０４１…性能記憶部
１０４２…選択基準情報記憶部
２０００…被処理装置
３０００…ネットワーク
【図１】
0005630800.tif 000002
【図２】
0005630800.tif 000003
【図３】
0005630800.tif 000004
【図４】
0005630800.tif 000005
【図５】
0005630800.tif 000006
【図６】
0005630800.tif 000007
【図７】
0005630800.tif 000008
【図８】
0005630800.tif 000009
【図９】
0005630800.tif 000010
【図１０】
0005630800.tif 000011
【図１１】
0005630800.tif 000012
【図１２】
0005630800.tif 000013
【図１３】
0005630800.tif 000014
【図１４】
0005630800.tif 000015
【図１５】
0005630800.tif 000016
【図１６】
0005630800.tif 000017
【図１７】
0005630800.tif 000018
【図１８】
0005630800.tif 000019
【図１９】
0005630800.tif 000020
【図２０】
0005630800.tif 000021
【図２１】
0005630800.tif 000022