(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理システムにおいて、前記ｎ台の情報処理装置の中の１つとして使用される情報処理装置であって、
前記ネットワークとの間で通信を行う通信インタフェース部と、
前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を記憶する管理情報記憶部と、
前記管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択する要求先選択部と、
前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記通信インタフェース部を介して、前記ｍ台の情報処理装置に送る要求処理部と、
前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記通信インタフェース部を介して、前記第１の処理分散要求の応答として受け取り、前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼する依頼先選択部と、を備え、
前記要求先選択部は、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かにより、前記ｍ台の情報処理装置を選択すること
を特徴とする情報処理装置。
【請求項２】
前記ｍ台の情報処理装置は、自装置を除いた前記ｎ台の情報処理装置であること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ｎ台の情報処理装置の何れかとの間における分散処理の実績に関する依頼処理実績情報を記憶する依頼処理実績情報記憶部と、
前記依頼処理実績情報を参照して、前記ｎ台の情報処理装置の中から、前記第１の処理の実行に好適な一又は複数の情報処理装置を、前記ｍ台の情報処理装置として選択する要求先選択部と、をさらに備えること
を特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記依頼先選択部は、最も短い前記第１の回答見込時間が予め定められた閾値時間以下である場合には、前記ｍ台の情報処理装置の中で、最も短い前記第１の回答見込時間を応答した情報処理装置を、前記依頼先として選択すること
を特徴とする請求項１から３の何れか一項に記載の情報処理装置。
【請求項５】
前記依頼先選択部は、最も短い前記第１の回答見込時間が予め定められた閾値時間よりも長い場合には、自装置を前記依頼先として選択すること
を特徴とする請求項１から４の何れか一項に記載の情報処理装置。
【請求項６】
前記依頼先選択部は、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼してから、予め定められた期間、前記第１の処理結果の回答がない場合には、前記通信インタフェース部を介して、前記ｎ台の情報処理装置の中の別の情報処理装置に、前記第１のデータに対する前記第１の処理の実行を依頼すること
を特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記依頼先選択部は、前記ｍ台の情報処理装置の中で、予め定められた依頼先条件を満たす前記第１の回答見込時間を最初に応答した情報処理装置を、前記依頼先として選択すること
を特徴とする請求項１から３の何れか一項に記載の情報処理装置。
【請求項８】
前記依頼先選択部は、前記ｍ台の情報処理装置の中で、予め定められた依頼先条件を満たす前記第１の回答見込時間を応答した情報処理装置がない場合には、自装置を前記依頼先として選択すること
を特徴とする請求項７に記載の情報処理装置。
【請求項９】
データの処理を実行する処理実行部と、
前記処理実行部における処理負荷を管理する処理負荷管理部と、をさらに備え、
前記要求処理部は、前記処理負荷が予め定められた閾値以上となった場合に、前記第１の処理分散要求を前記ｍ台の情報処理装置に送ること
を特徴とする請求項１から８の何れか一項に記載の情報処理装置。
【請求項１０】
前記ｎ台の情報処理装置の中の１つの情報処理装置から、第２のデータに対する第２の処理の実行を依頼するための第２の処理分散要求を受けた場合に、前記処理実行部が、前記第２のデータの転送時間を含み、前記第２のデータに対して前記第２の処理を実行することで得られる第２の処理結果を回答するまでの時間を、第２の回答見込時間として算出する回答見込時間算出部をさらに備え、
前記要求処理部は、前記通信インタフェース部を介して、前記第２の回答見込時間を、前記１つの情報処理装置に送ること
を特徴とする請求項９に記載の情報処理装置。
【請求項１１】
対象となる処理に割り当てられた優先度に従って、対応するデータに対して前記対象となる処理を実行する処理実行部をさらに備え、
前記処理実行部は、前記ｎ台の情報処理装置の中の１つの情報処理装置から、第２のデータに対する第２の処理の実行を依頼された場合に、前記第２の処理に優先度を割り当てて、前記第２の処理に割り当てられた前記優先度に従って、前記第２のデータに対して前記第２の処理を実行すること
を特徴とする請求項１から８の何れか一項に記載の情報処理装置。
【請求項１２】
ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理システムであって、
前記ｎ台の情報処理装置の各々は、
前記ネットワークとの間で通信を行う通信インタフェース部と、
前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を記憶する管理情報記憶部と、
前記管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択する要求先選択部と、
前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記通信インタフェース部を介して、前記ｍ台の情報処理装置に送る要求処理部と、
前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記通信インタフェース部を介して、前記第１の処理分散要求の応答として受け取り、前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼する依頼先選択部と、を備え、
前記要求先選択部は、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かにより、前記ｍ台の情報処理装置を選択すること
を特徴とする情報処理システム。
【請求項１３】
ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理システムにおいて、コンピュータを、前記ｎ台の情報処理装置の各々として機能させるためのプログラムであって、
前記コンピュータを、
前記ネットワークとの間で通信を行う通信インタフェース部、
前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を記憶する管理情報記憶部、
前記管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択する要求先選択部、
前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記通信インタフェース部を介して、前記ｍ台の情報処理装置に送る要求処理部、及び、
前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記通信インタフェース部を介して、前記第１の処理分散要求の応答として受け取り、前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼する依頼先選択部、として機能させ、
前記要求先選択部は、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かにより、前記ｍ台の情報処理装置を選択すること
を特徴とするプログラム。
【請求項１４】
ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理方法であって、
前記ｎ台の情報処理装置の各々が、
前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択し、
前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記ｍ台の情報処理装置に送り、
前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記第１の処理分散要求の応答として受け取り、
前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、
前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼し、
前記ｍ台の情報処理装置を選択する際に、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かを判断すること
を特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
従来、カメラで撮像された映像の解析処理等の高度な情報処理は、クラウドにある強力な情報処理装置で行われていた。近年、ネットワークトラフィックの削減及び通信遅延による性能低下を回避するため、カメラ等の信号入力デバイスの近くに軽微な情報処理装置を配置し、入力信号等の情報処理を迅速に行うエッジコンピューティングによる分散情報処理システムが構築されている。【０００３】
しかし、分散情報処理システム内の複数の情報処理装置の各々に入力されるデータの量及び内容は異なるため、特定の情報処理装置の負荷が高くなると、システム全体の性能が低下する。例えば、ビル内監視システムにおいてビル内に設置された複数のカメラで撮像された映像から、特定の人物がどのエリアにいるかを検出するサービスを提供する場合には、各カメラで撮像された映像から人物を検出し、検出された各人物の検出領域についての映像分析処理が必要となる。このため、人が多く映る建物の出入り口付近のカメラに接続された情報処理装置は、負荷が高くなり、システム全体としての応答性能が低下する。一方、非常階段等の人通りの少ない場所に設置されたカメラに接続された情報処理装置は、人物検出領域の映像分析処理を実行することが少ないため、処理負荷が低く、遊休状態が続き演算資源が無駄になる。【０００４】
特許文献１には、複数プロセッサを搭載した情報処理装置において、各プロセッサを効率的に使用して能力を最大限利用するために、どのプロセッサに処理を割当てるかを決める分散処理装置を設けて、処理を分散して割り当てる技術が記載されている。この分散処理装置は、分散処理の割り当てを実行する前に、予め決められた演算処理を実行して各処理に対する処理時間を見積る。そして、その分散処理装置は、その見積結果と、どのプロセッサにどの程度の規模の処理を割当てたかを記録した管理テーブルとに基づいて、処理負荷が最小のプロセッサに新たな処理を割り当てることで各プロセッサの処理負荷の平均化を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２７４６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では、予め決められた演算処理に対する処理時間の見積値と、どの程度の処理をどの情報処理装置に割当てたかを記録した管理テーブルとに基づいて、処理負荷の低い装置に処理の割り当てが決定される。【０００７】
しかしながら、従来の技術では、実際に分散して行われた処理の結果が得られるまでの時間については、考慮されていない。例えば、従来の技術では、処理対象となるデータの転送時間が考慮されていないため、処理負荷の低い情報処理装置に処理を割り当てたとしても、転送時間が長くなると、システム全体としての応答性能が低下する。【０００８】
そこで、本発明の１又は複数の態様は、分散処理において、処理対象となるデータの転送時間を考慮することで、処理結果を回答するまでの時間を正確に算出し、最適な分散処理の依頼先を決定できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の１態様に係る情報処理装置は、ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理システムにおいて、前記ｎ台の情報処理装置の中の１つとして使用される情報処理装置であって、前記ネットワークとの間で通信を行う通信インタフェース部と、前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を記憶する管理情報記憶部と、前記管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択する要求先選択部と、前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記通信インタフェース部を介して、前記ｍ台の情報処理装置に送る要求処理部と、前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記通信インタフェース部を介して、前記第１の処理分散要求の応答として受け取り、前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼する依頼先選択部と、を備え、前記要求先選択部は、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かにより、前記ｍ台の情報処理装置を選択することを特徴とする。
【００１０】
本発明の１態様に係る情報処理システムは、ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理システムであって、前記ｎ台の情報処理装置の各々は、前記ネットワークとの間で通信を行う通信インタフェース部と、前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を記憶する管理情報記憶部と、前記管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択する要求先選択部と、前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記通信インタフェース部を介して、前記ｍ台の情報処理装置に送る要求処理部と、前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記通信インタフェース部を介して、前記第１の処理分散要求の応答として受け取り、前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼する依頼先選択部と、を備え、前記要求先選択部は、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かにより、前記ｍ台の情報処理装置を選択することを特徴とする。
【００１１】
本発明の１態様に係るプログラムは、ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理システムにおいて、コンピュータを、前記ｎ台の情報処理装置の各々として機能させるためのプログラムであって、前記コンピュータを、前記ネットワークとの間で通信を行う通信インタフェース部、前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を記憶する管理情報記憶部、前記管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択する要求先選択部、前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記通信インタフェース部を介して、前記ｍ台の情報処理装置に送る要求処理部、及び、前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記通信インタフェース部を介して、前記第１の処理分散要求の応答として受け取り、前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼する依頼先選択部、として機能させ、前記要求先選択部は、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かにより、前記ｍ台の情報処理装置を選択することを特徴とする。
【００１２】
本発明の１態様に係る情報処理方法は、ネットワークに接続されたｎ台の情報処理装置（ｎは、２以上の整数）で分散して処理を実行する情報処理方法であって、前記ｎ台の情報処理装置の各々が、前記ｎ台の情報処理装置の各々が処理を実行するために備える演算資源の種類、数又は性能の属性を示す情報、及び、前記ｎ台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す情報を含む管理情報を参照して、前記ｎ台の情報処理装置の中から、第１のデータに対する第１の処理の実行に好適なｍ台の情報処理装置（ｍは、１≦ｍ≦ｎ−１を満たす整数）を選択し、前記第１のデータに対する前記第１の処理の実行を依頼するための第１の処理分散要求を、前記ｍ台の情報処理装置に送り、前記第１のデータの転送時間を含み、前記第１のデータに対して前記第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、前記第１の処理分散要求の応答として受け取り、前記第１の回答見込時間を用いて、前記ｎ台の情報処理装置の中から、前記第１の処理の実行を依頼する依頼先を選択し、前記依頼先に、前記第１のデータに対する前記第１の処理の実行を依頼し、前記ｍ台の情報処理装置を選択する際に、前記管理情報を参照することで、前記ｎ台の情報処理装置の各々が、処理毎に定められた、処理実行に必要とされる演算資源の種類、数又は性能の条件を満たすか否か、及び、前記ｎ台の情報処理装置の各々が、処理の実行依頼を受け付けることができるか否かを判断することを特徴とする。
【発明の効果】
【００１３】
本発明の１又は複数の態様によれば、分散処理において、処理対象となるデータの転送時間を考慮することで、処理結果を回答するまでの時間を正確に算出し、最適な分散処理の依頼先を決定することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１〜５に係る分散情報処理システムの構成を概略的に示すブロック図である。
【図２】実施の形態１、３及び４に係る情報処理装置の構成を概略的に示すブロック図である。
【図３】（Ａ）及び（Ｂ）は、ハードウェア構成例を示すブロック図である。
【図４】実施の形態１における情報処理装置が処理を分散して行う際の動作を示すフローチャートである。
【図５】実施の形態１における分散処理の依頼先を選択する処理を示すフローチャートである。
【図６】処理分散要求及び分散処理実行依頼を受け取った場合における情報処理装置での動作を示すフローチャートである。
【図７】実施の形態１において、他の情報処理装置から依頼された処理を実行する際の動作を示すフローチャートである。
【図８】実施の形態２における情報処理装置の構成を概略的に示すブロック図である。
【図９】実施の形態２における情報処理装置が処理を分散して行う際の動作を示すフローチャートである。
【図１０】実施の形態２における分散処理の依頼先を選択する処理を示すフローチャートである。
【図１１】実施の形態３における分散処理の依頼先を選択する処理を示すフローチャートである。
【図１２】実施の形態４における情報処理装置が処理を分散して行う際の動作を示すフローチャートである。
【図１３】実施の形態５において、他の情報処理装置から依頼された処理を実行する際の動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
実施の形態１．
図１は、実施の形態１に係る情報処理システムとしての分散情報処理システム１００の構成を概略的に示すブロック図である。
分散情報処理システム１００は、複数の情報処理装置１１０Ａ、１１０Ｂ、１１０Ｃ、１１０Ｄを備える。複数の情報処理装置１１０Ａ、１１０Ｂ、１１０Ｃ、１１０Ｄは、ネットワーク１０１に接続されている。
ここで、複数の情報処理装置１１０Ａ、１１０Ｂ、１１０Ｃ、１１０Ｄの各々を特に区別する必要がない場合には、情報処理装置１１０という。
【００１６】
分散情報処理システム１００は、複数の情報処理装置１１０Ａ、１１０Ｂ、１１０Ｃ、１１０Ｄの各々で処理を分担し、その処理結果を必要に応じて相互に送受信することで、連携してサービスを提供するシステムである。
なお、図１では、分散情報処理システム１００は、４台の情報処理装置１１０Ａ、１１０Ｂ、１１０Ｃ、１１０Ｄを備えているが、２台以上の情報処理装置１１０を備えていればよい。言い換えると、分散情報処理システム１００は、ｎ台の情報処理装置１１０（ｎは、２以上の整数）を備えている。
【００１７】
図２は、情報処理装置１１０の構成を概略的に示すブロック図である。
情報処理装置１１０は、デバイスインタフェース部（以下、デバイスＩ／Ｆ部という）１１１と、通信インタフェース部（以下、通信Ｉ／Ｆ部という）１１２と、処理実行部１２０と、処理負荷管理部１３０と、依頼処理部１４０とを備える。
【００１８】
デバイスＩ／Ｆ部１１１は、処理実行部１２０での処理対象となる信号を入力する。例えば、デバイスＩ／Ｆ部１１１には、デバイス１６０Ａ、デバイス１６０Ｂ、・・・、といった他のデバイス１６０が接続されている。デバイスＩ／Ｆ部１１１に接続されるデバイス１６０Ａ、デバイス１６０Ｂ、・・・の数については、特に制限はない。デバイスＩ／Ｆ部１１１に接続されるデバイス１６０Ａ、デバイス１６０Ｂ、・・・、の各々を特に区別する必要がない場合には、デバイス１６０という。デバイスＩ／Ｆ部１１１は、デバイス１６０から信号の入力を受ける。デバイス１６０は、例えば、カメラ、照度計、又は、その他のセンサ等である。
通信Ｉ／Ｆ部１１２は、ネットワーク１０１との間で通信を行う。
【００１９】
処理実行部１２０は、処理を実行する。例えば、処理実行部１２０は、デバイスＩ／Ｆ部１１１に入力された信号で示されるデータに対する処理を実行する。また、処理実行部１２０は、依頼処理部１４０からの分散処理実行命令に基づき、他の情報処理装置１１０から依頼された処理を実行する。
【００２０】
処理実行部１２０は、演算資源１２１Ａ、１２１Ｂ、・・・と、演算部１２２とを備える。
処理実行部１２０が備える演算資源１２１Ａ、１２１Ｂ、・・・の数については、１以上であればよい。なお、演算資源１２１Ａ、１２１Ｂ、・・・の各々を特に区別する必要がない場合には、演算資源１２１という。
【００２１】
演算資源１２１は、演算処理を実行する。例えば、演算資源１２１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）又はＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の集積回路により実現することができる。
【００２２】
演算部１２２は、処理実行部１２０が実行する演算処理の内容に応じて、１又は複数の演算資源１２１に演算処理を割り振る。
また、演算部１２２は、演算処理の実行時に演算資源１２１の使用率又は処理待ちタスク数等の処理実行状態を示す処理実行状態情報を処理負荷管理部１３０に通知する。処理実行状態は、処理負荷を示す。
【００２３】
処理負荷管理部１３０は、処理実行部１２０の処理負荷を管理する。
処理負荷管理部１３０は、実行状態記憶部１３１と、処理依頼発行判断部１３２と、回答見込時間算出部１３３とを備える。
【００２４】
実行状態記憶部１３１は、処理実行部１２０から通知される処理実行状態情報を記憶する。
処理依頼発行判断部１３２は、処理実行部１２０の処理負荷が予め定められた閾値以上となった場合に、処理を分散して実行すると判断する。例えば、処理依頼発行判断部１３２は、実行状態記憶部１３１に記憶されている処理実行状態情報で示される処理実行状態に基づいて、他の情報処理装置１１０に、処理を分散して実行する要求である処理分散要求を発行するか否かを判断する。他の情報処理装置１１０への処理分散要求の発行が必要と判断した場合、処理依頼発行判断部１３２は、処理分散要求の発行を指示する要求指示を依頼処理部１４０に与える。
【００２５】
回答見込時間算出部１３３は、他の情報処理装置１１０からの処理分散要求を、依頼処理部１４０から受け取ると、実行状態記憶部１３１に記憶されている処理実行状態情報に基づいて、処理分散要求の要求元から通信Ｉ／Ｆ部１１２を介して処理対象となるデータの転送を受けて、そのデータに対して依頼された処理を実行し、その処理結果を回答するまでにかかる時間を、回答見込時間として算出して、算出された回答見込時間を示す回答見込時間情報を依頼処理部１４０に与える。言い換えると、回答見込時間算出部１３３は、データの転送時間も考慮した回答見込時間を算出する。なお、データの転送時間については、データ量に応じて、予め定められてもよく、例えば、事前に、情報処理装置１１０間で予め定められたデータの転送を行い、その結果から、データ量に応じて転送時間が求められてもよい。また、送信側の情報処理装置１１０が処理分散要求に送信時間を追加しておくことで、その処理分散要求を受信した受信時間との差分から、データ量に応じて、転送時間が求められてもよい。
【００２６】
依頼処理部１４０は、処理負荷管理部１３０からの要求指示、他の情報処理装置１１０への分散処理実行依頼、並びに、他の情報処理装置１１０からの処理分散要求及び分散処理実行依頼を処理する。
依頼処理部１４０は、要求処理部１４１と、依頼先選択部１４２とを備える。
【００２７】
要求処理部１４１は、処理負荷管理部１３０から要求指示を受けると、通信Ｉ／Ｆ部１１２に、他の情報処理装置１１０へ処理分散要求を送信させる。処理分散要求には、例えば、他の情報処理装置１１０に依頼する処理であるタスクの種類及び数等に加えて、処理対象となるデータのデータ量である処理対象データ量を示す情報が付与される。ここで、自装置から、他の情報処理装置１１０に送る処理分散要求を、第１の処理分散要求ともいい、第１の処理分散要求は、第１のデータに対する第１の処理の実行を依頼するための要求であるものとする。また、後述のように、処理依頼発行判断部１３２が、他の情報処理装置１１０へ処理を分散しない方がよいと判断する場合は、自装置で処理を行うが、自装置で実行する処理も第１のデータに対する第１の処理に含まれる。
なお、実施の形態１において、要求処理部１４１は、通信Ｉ／Ｆ部１１２に、処理分散要求を、他の全ての情報処理装置１１０へ送信させるものとする。例えば、分散情報処理システム１００がｎ台の情報処理装置１１０（ｎは、２以上の整数）を備えている場合、要求処理部１４１は、自装置以外のｍ台の情報処理装置１１０（ｍは、ｍ＝ｎ−１を満たす整数）に処理分散要求を送る。
【００２８】
また、要求処理部１４１は、他の情報処理装置１１０からの処理分散要求を、通信Ｉ／Ｆ部１１２から受け取った場合には、回答見込時間算出部１３３に、その処理分散要求を与える。そして、要求処理部１４１は、回答見込時間算出部１３３から、回答見込時間情報を受け取ると、通信Ｉ／Ｆ部１１２に、処理分散要求の要求元へ、その回答見込時間情報を送信させることで、その応答を行う。ここで、他の情報処理装置１１０からの処理分散要求を、第２の処理分散要求ともいい、第２の処理分散要求は、第２のデータに対する第２の処理の実行を依頼するための要求であるものとする。
なお、第２の処理分散要求に応じて、回答見込時間算出部１３３で算出された回答見込時間を、第２の回答見込時間ともいい、第２の回答見込時間を示す回答見込時間情報を、第２の回答見込時間情報ともいう。
【００２９】
さらに、要求処理部１４１は、他の情報処理装置１１０からの回答見込時間情報を、通信Ｉ／Ｆ部１１２から受け取った場合には、その回答見込時間情報を、依頼先選択部１４２に与える。なお、他の情報処理装置１１０からの回答見込時間情報を、第１の回答見込時間情報ともいい、第１の回答見込時間情報で示されている回答見込時間を、第１の回答見込時間ともいう。
【００３０】
要求処理部１４１は、他の情報処理装置１１０からの分散処理実行依頼を、通信Ｉ／Ｆ部１１２から受け取った場合には、その分散処理実行依頼に基づいて、対応する分散処理実行命令を、演算部１２２に与える。そして、要求処理部１４１は、演算部１２２による処理結果を、通信Ｉ／Ｆ部１１２に分散処理実行依頼の送信元の情報処理装置１１０に送信させる。ここで、他の情報処理装置１１０からの分散処理実行依頼を、第２の分散処理実行依頼ともいい、第２の分散処理実行依頼は、第２のデータに対して第２の処理の実行を依頼するものとする。また、第２のデータに対して第２の処理を実行することで得られる処理結果を第２の処理結果ともいう。
【００３１】
依頼先選択部１４２は、他の情報処理装置１１０からの回答見込時間情報で示されている回答見込時間を用いて、処理の実行を依頼する情報処理装置１１０を選択する。そして、依頼先選択部１４２は、通信Ｉ／Ｆ部１１２に、選択された情報処理装置１１０へ分散処理実行依頼を送信させる。ここで、自装置から他の情報処理装置１１０に送る分散処理実行依頼を、第１の分散処理実行依頼ともいい、第１の分散処理実行依頼は、第１のデータに対して第１の処理の実行を依頼するものとする。また、第１のデータに対して第１の処理を実行することで得られる処理結果を第１の処理結果ともいう。また、後述のように、処理依頼発行判断部１３２が、他の情報処理装置１１０へ処理を分散しない方がよいと判断する場合は、自装置で処理を行うが、自装置で実行する処理も第１のデータに対する第１の処理に含まれる。
【００３２】
分散情報処理システム１００で他の情報処理装置１１０に処理を分散させる場合、分散処理実行依頼とともに、処理の対象となるデータも併せて送信する必要がある。このため、処理の実行時間が短くても、処理の対象となるデータの転送に時間を要すると、分散処理依頼を受けてから処理結果を返信するまでの時間は長くなる。そのような場合、他の情報処理装置１１０に処理を分散させるよりも自装置で実行中の処理が終わってから処理するほうが速く回答を得ることができる。言い換えると、そのような場合には、無駄な分散処理によるシステム性能の低下、及び、分散処理のためのデータ転送によりネットワークトラフィックの圧迫を引き起こしエッジコンピューティングの利点を阻害するおそれがあった。
【００３３】
しかし、実施の形態１のように、情報処理装置１１０に回答見込時間算出部１３３を設け、処理分散要求に対して、処理対象データの転送にかかる時間も考慮した回答までの見込時間を算出し、各情報処理装置１１０からの回答見込時間情報に基づき、分散処理依頼先を選択することで、無駄な分散処理を抑止するとともに、最も速く分散処理依頼に対する回答が得られる情報処理装置１１０を選択することができる。このため、分散情報処理システム１００の全体の応答性能を向上させることができる。また、特定の情報処理装置１１０が故障しても適切な分散処理依頼先を選定することが可能になる。
【００３４】
以上に記載された情報処理装置１１０は、例えば、図３（Ａ）に示されているように、メモリ１０と、メモリ１０に格納されているプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ１１とを備えるコンピュータにより実現することができる。
例えば、処理実行部１２０、処理負荷管理部１３０の処理依頼発行判断部１３２及び回答見込時間算出部１３３、並びに、依頼処理部１４０は、プロセッサ１１で実現することができ、処理負荷管理部１３０の実行状態記憶部１３１は、メモリ１０で実現することができる。なお、複数のプロセッサ１１が備えられていてもよい。
【００３５】
このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
【００３６】
また、情報処理装置１１０の一部又は全部は、例えば、図３（Ｂ）に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）又はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の処理回路１２で構成することもできる。
【００３７】
なお、デバイスＩ／Ｆ部１１１は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の接続インタフェースで実現することができる。
また、通信Ｉ／Ｆ部１１２は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等の通信インタフェースで実現することができる。
【００３８】
次に、実施の形態１における情報処理装置１１０が行う動作について説明する。
図４は、実施の形態１における情報処理装置１１０が処理を分散して行う際の動作を示すフローチャートである。
情報処理装置１１０の処理依頼発行判断部１３２は、自装置の処理負荷を監視し、他の情報処理装置１１０に処理を分散して行うか否かを判断する（Ｓ１０）。処理依頼発行判断部１３２は、例えば、自装置の演算資源１２１の使用率又は処理待ちタスク数が一定以上になる、自装置の応答速度が一定以下になる、又は、自装置の応答速度が当初よりも一定以上の割合で遅くなる等の条件から、処理を分散して行うか否かを判断することができる。なお、応答速度は、例えば、カメラ映像に対する映像解析処理の場合であれば、１秒間に何枚分のキャプチャ画像に対して分析処理できたかを示すフレームレートが該当する。
【００３９】
なお、処理依頼発行判断部１３２は、処理の内容又は処理の対象となるデータ量により、分散処理の対象とするか否かを判断する。処理依頼発行判断部１３２は、他の情報処理装置１１０へ処理を分散しないほうがよい処理については、自装置で処理するものとする。例えば、分散処理を行わない処理については、処理の種別毎に予め定められていてもよい。
処理を分散して行うと判断された場合には、処理はステップＳ１１に進む。
【００４０】
ステップＳ１１では、処理依頼発行判断部１３２は、要求処理部１４１へ処理分散要求を発行するように指示する要求指示を与える。
このような要求指示を受けた要求処理部１４１は、通信Ｉ／Ｆ部１１２を介して、分散情報処理システム１００に含まれる他の全ての情報処理装置１１０へ処理分散要求を発行する（Ｓ１２）。
【００４１】
次に、依頼先選択部１４２は、各情報処理装置１１０からの回答見込時間情報の返信を待ち、分散処理の依頼先を選択する処理を行う（Ｓ１３）。ここでの処理については、図５を用いて説明する。
ステップＳ１３において分散処理の依頼先が決定すると、依頼先選択部１４２は、通信Ｉ／Ｆ部１１２を介して、依頼先として選択された情報処理装置１１０へ分散処理実行依頼を発行する（Ｓ１４）。
【００４２】
分散処理実行依頼の発行後は、発行元の情報処理装置１１０は、発行先の情報処理装置１１０からの処理結果の受信を待機する（Ｓ１５）。処理結果が受信されると、受信された処理結果は、要求処理部１４１に与えられる。
【００４３】
図５は、実施の形態１における分散処理の依頼先を選択する処理を示すフローチャートである。
依頼先選択部１４２は、通信Ｉ／Ｆ部１１２を介して、他の情報処理装置１１０からの回答見込時間情報を受け取る（Ｓ２０）。受け取られた回答見込時間情報は、例えば、図示されていない記憶部に一時的に記憶される。
【００４４】
そして、依頼先選択部１４２は、応答受信完了判定の条件が成立するまで、他の情報処理装置１１０からの応答を待つ（Ｓ２１）。応答受信完了判定の条件は、例えば、一定数以上の情報処理装置１１０から応答を受け取ったか否か、又は、処理分散要求を発行してから一定時間以上が経過したか、等である。応答受信完了判定を設けることで、特定の情報処理装置１１０が故障等により応答できない場合に発生する無駄な応答受信待機時間をなくすことができる。
そして、応答受信完了判定の条件が成立すると（Ｓ２１でＹｅｓ）、処理はステップＳ２２に進む。
【００４５】
ステップＳ２２では、依頼先選択部１４２は、他の情報処理装置１１０から受け取った回答見込時間情報で示されている回答見込時間を比較して、分散処理の依頼先を選択する。例えば、依頼先選択部１４２は、最も短い回答見込時間を応答してきた情報処理装置１１０を依頼先として選択する。但し、最も短い回答見込時間が、予め定められた閾値時間よりも長い場合には、依頼先選択部１４２は、自装置を依頼先として選択する。
【００４６】
図６は、処理分散要求及び分散処理実行依頼を受け取った場合における情報処理装置１１０での動作を示すフローチャートである。
要求処理部１４１は、通信Ｉ／Ｆ部１１２を介して、他の情報処理装置１１０から分散処理要求を受け取ったか否かを判断する（Ｓ３０）。分散処理要求を受け取った場合（Ｓ３０でＹｅｓ）には、処理はステップＳ３１に進む。
【００４７】
ステップＳ３１では、回答見込時間算出部１３３は、受け取った処理分散要求で要求された処理に対して、処理結果を回答するまでにかかる回答見込時間を算出する。回答見込時間は、処理分散要求で示されている、タスクの種類、タスクの数及び処理対象のデータ量、並びに、自装置の負荷状況から、処理対象となるデータを受信し、そのデータを処理してその処理結果を返信するまでに必要な時間である。以上のように、回答見込時間の算出にあたり処理対象となるデータの転送時間も考慮することで、各情報処理装置１１０で分散処理を実行した場合に必要な時間を正確に算出することができるため、システム全体の応答性能を向上する情報処理装置１１０を分散処理の依頼先として適切に選択することができる。
【００４８】
また、処理対象データが大きく、回答見込時間が長くなる場合には、分散処理の依頼元が自装置で処理することも選択できるようになるため、不要な分散処理とそれに伴うデータの転送によるネットワークトラフィックの圧迫を抑止することができる。
【００４９】
そして、要求処理部１４１は、通信Ｉ／Ｆ部１１２を介して、回答見込時間算出部１３３が算出した回答見込時間を示す回答見込時間情報を、処理分散要求の送信元に送る（Ｓ３２）。
なお、自装置の負荷が高い等の理由で他の情報処理装置１１０からの分散処理実行依頼を受けられない場合は、要求処理部１４１は、余計な回答見込時間算出処理の手間を省くため、処理分散要求に対する応答として要求受付不可情報を送ることもできる。
【００５０】
処理分散要求に対し回答見込時間を応答した後に、要求処理部１４１が、通信Ｉ／Ｆ部１１２を介して、分散処理実行依頼を受け取った場合（Ｓ３３でＹｅｓ）には、処理はステップＳ３４に進む。
【００５１】
ステップＳ３４では、要求処理部１４１は、演算部１２２に対し分散処理実行命令を送る。
分散処理実行命令を受け取った演算部１２２は、分散処理実行命令に基づき他の情報処理装置１１０から依頼された処理を実行する（Ｓ３５）。ここでの処理については、図７を用いて説明する。
【００５２】
要求処理部１４１は、演算部１２２から分散処理実行命令に対する処理結果を受け取ると、通信Ｉ／Ｆ部１１２を介して、その処理結果を、分散処理実行依頼の依頼元に送る（Ｓ３６）。
【００５３】
図７は、他の情報処理装置１１０から依頼された処理を実行する際の動作を示すフローチャートである。
演算部１２２は、要求処理部１４１からの分散処理実行命令を受け取る（Ｓ４０）。
演算部１２２は、演算待ちタスクキューに、分散処理実行命令で示されているタスクを追加する（Ｓ４１）。
【００５４】
演算部１２２は、タスクキューに含まれているタスクに対して、演算資源１２１を割り当てて、順次実行させる（Ｓ４２）。
そして、演算部１２２は、分散処理実行命令に対する処理結果が取得できたか否かを判断する（Ｓ４３）。分散処理実行命令に対する処理結果が取得された場合（Ｓ４３でＹｅｓ）には、処理はステップＳ４４に進む。
【００５５】
ステップＳ４４では、演算部１２２は、取得された処理結果を要求処理部１４１に与える。なお、演算部１２２は、他の情報処理装置１１０からの分散処理の実行時も、通常時と同様に、その処理実行状態を示す処理実行状態情報を、随時、処理負荷管理部１３０に与える。
【００５６】
以上のように、実施の形態１によれば、分散情報処理システム１００において不要な処理分散を抑止し、システム内の通信負荷を無駄に高くすることなく、かつ、システム内の情報処理装置１１０の演算資源を有効活用することで、システム全体の応答処理性能を向上させることができる。
【００５７】
なお、以上の説明では処理分散要求及び分散処理実行依頼の送信側と受信側とで処理を分けて説明したが、システム内のどの情報処理装置１１０も他の情報処理装置１１０に分散処理を要求する送信側になることができ、また、他の情報処理装置１１０からの分散処理を受ける受信側になることもできる。
【００５８】
実施の形態２．
図１に示されているように、実施の形態２に係る情報処理システムとしての分散情報処理システム２００は、複数の情報処理装置２１０Ａ、２１０Ｂ、２１０Ｃ、２１０Ｄを備える。複数の情報処理装置２１０Ａ、２１０Ｂ、２１０Ｃ、２１０Ｄは、ネットワーク１０１に接続されている。
ここで、複数の情報処理装置２１０Ａ、２１０Ｂ、２１０Ｃ、２１０Ｄの各々を特に区別する必要がない場合には、情報処理装置２１０という。
【００５９】
図８は、実施の形態２における情報処理装置２１０の構成を概略的に示すブロック図である。
実施の形態２における情報処理装置２１０は、デバイスＩ／Ｆ部１１１と、通信Ｉ／Ｆ部１１２と、処理実行部１２０と、処理負荷管理部１３０と、依頼処理部２４０とを備える。
実施の形態２における情報処理装置２１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理実行部１２０及び処理負荷管理部１３０は、実施の形態１における情報処理装置１１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理実行部１２０及び処理負荷管理部１３０と同様である。
【００６０】
依頼処理部２４０は、処理負荷管理部１３０からの要求指示、他の情報処理装置２１０への分散処理実行依頼、並びに、他の情報処理装置２１０からの処理分散要求及び分散処理実行依頼を処理する。
依頼処理部２４０は、要求処理部２４１と、依頼先選択部２４２と、依頼処理実績情報記憶部２４３と、管理情報記憶部２４４と、要求先選択部２４５とを備える。
【００６１】
要求処理部２４１は、処理負荷管理部１３０から要求指示を受けると、要求先選択部２４５に、処理分散要求の送信先を選択させる処理分散要求選択指令を発行する。
そして、要求処理部２４１は、要求先選択部２４５が情報処理装置２１０を選択すると、通信Ｉ／Ｆ部１１２に、選択された情報処理装置２１０へ処理分散要求を送信させる。
なお、実施の形態２における要求処理部２４１のその他の処理については、実施の形態１における要求処理部１４１の処理と同様である。
【００６２】
依頼処理実績情報記憶部２４３は、他の情報処理装置１１０との間の分散処理の実績に関する依頼処理実績情報を格納する。例えば、依頼処理実績情報は、過去の処理分散要求に対して、情報処理装置２１０毎に、回答見込時間、要求受付不可情報の受信の有無、及び、返信があったか否かを示す情報、並びに、過去の分散処理実行依頼に対して、情報処理装置２１０毎に、処理結果の回答時間及び処理結果の回答の有無を示す情報を含む。
【００６３】
このように、依頼処理実績情報を記憶しておくことで、事前に各情報処理装置２１０の仕様を知らなくても適切な候補を選択できるほか、特定の情報処理装置２１０が故障した場合、又は、分散情報処理システム２００を構成する情報処理装置２１０の数又は種類が変わった場合にも、無駄な分散処理要求を発行することなく、適切な情報処理装置２１０から分散処理依頼先を選択することができるようになる。
【００６４】
管理情報記憶部２４４は、各情報処理装置２１０が保有する演算資源１２１の種類、数又は性能等の属性を示す情報、並びに、他の情報処理装置２１０から処理の実行依頼を受付可能か否かの情報等を含む管理情報を記憶する。
管理情報については、予め各情報処理装置２１０の仕様をまとめて格納するほか、定期的に情報処理装置２１０間で通信を行い、情報をやり取りして更新することも可能である。
【００６５】
要求先選択部２４５は、処理分散要求先選択指令を受けると、管理情報記憶部２４４に記憶されている管理情報及び依頼処理実績情報記憶部２４３に記憶されている依頼処理実績情報を参照して、処理分散要求を送信する情報処理装置２１０、言い換えると、依頼する処理の実行に好適な情報処理装置２１０を選択する。選択結果は、要求処理部２４１に与えられ、上述のように、要求処理部２４１は、選択された情報処理装置２１０にのみ処理分散要求を発行する。例えば、分散情報処理システム２００がｎ台の情報処理装置２１０（ｎは、２以上の整数）を備えている場合、要求処理部２４１は、好適と判断されたｍ台の情報処理装置２１０（ｍは、１≦ｍ≦ｎ−１を満たす整数）に処理分散要求を送る。
【００６６】
例えば、要求先選択部２４５は、処理毎に定められた、処理実行に必要とされる演算資源１２１の種類、数又は性能といった条件と、管理情報とを参照することで、処理実行に必要な条件を満たさない情報処理装置２１０を選択しない。
また、要求先選択部２４５は、管理情報を参照することで、他の情報処理装置２１０からの分散処理を受付可能ではない情報処理装置２１０を選択しない。
【００６７】
さらに、要求先選択部２４５は、依頼処理実績情報を参照することで、情報処理装置２１０毎に、回答見込時間の平均値を算出し、その平均値が予め定められた閾値よりも長い情報処理装置２１０を選択しない。
また、要求先選択部２４５は、依頼処理実績情報を参照することで、直近の回答見込時間が長い情報処理装置２１０は負荷が高くなっていると見込んで、そのような情報処理装置２１０を選択しない。
さらに、要求先選択部２４５は、依頼処理実績情報を参照することで、一定期間又は直近で、処理分散要求又は分散処理実行依頼に対して回答がない情報処理装置２１０は故障又はネットワーク１０１から外されたとみなして、そのような情報処理装置２１０を選択しない。
要求先選択部２４５は、以上のようにして選択しないと判断された情報処理装置２１０以外の情報処理装置２１０を選択すればよい。
【００６８】
依頼先選択部２４２は、他の情報処理装置２１０からの回答見込時間情報で示されている回答見込時間を用いて、処理の実行を依頼する情報処理装置２１０を選択する。そして、依頼先選択部２４２は、通信Ｉ／Ｆ部１１２に、選択された情報処理装置２１０へ分散処理実行依頼を送信させる。
なお、依頼先選択部２４２は、処理分散要求に対する他の情報処理装置２１０からの応答状況に応じて、必要な情報を、依頼処理実績情報記憶部２４３に記憶されている依頼処理実績情報に格納する。
さらに、依頼先選択部２４２は、分散処理実行依頼に対する他の情報処理装置２１０からの回答状況に応じて、必要な情報を、依頼処理実績情報記憶部２４３に記憶されている、後述する依頼処理実績情報に格納する。
以上に記載された依頼処理部２４０の要求処理部２４１、依頼先選択部２４２及び要求先選択部２４５も、例えば、図３（Ａ）に示されているプロセッサ１１で実現することができ、依頼処理部２４０の依頼処理実績情報記憶部２４３及び管理情報記憶部２４４は、メモリ１０で実現することができる。
【００６９】
また、依頼処理部２４０の要求処理部２４１、依頼先選択部２４２及び要求先選択部２４５の一部又は全部も、例えば、図３（Ｂ）に示されている処理回路１２で構成することもできる。
【００７０】
図９は、実施の形態２における情報処理装置２１０が処理を分散して行う際の動作を示すフローチャートである。
なお、図９に示されているフローチャートに含まれているステップのうち、図４に示されているフローチャートに含まれているステップと同様のステップについては、図４と同じ符号を付し、その説明を省略する。
【００７１】
図９のステップＳ１０及びＳ１１は、図４のステップＳ１０及びＳ１１と同様である。但し、図９のステップＳ１１の後、処理はステップＳ５０に進む。
【００７２】
ステップＳ５０では、要求処理部２４１は、処理依頼発行判断部１３２から処理分散要求を発行するように要求指示を受けると、要求先選択部２４５に処理分散要求先選択指令を発行する。
【００７３】
処理分散要求選択指令を受けた要求先選択部２４５は、管理情報記憶部２４４に記憶されている管理情報及び依頼処理実績情報記憶部２４３に記憶されている依頼処理実績情報を参照することで、処理分散要求を送信する情報処理装置２１０を選択する（Ｓ５１）。そして、要求先選択部２４５は、選択された情報処理装置２１０を要求処理部２４１に通知する。
【００７４】
要求処理部２４１は、通信Ｉ／Ｆ部１１２を介して、選択された情報処理装置２１０へ処理分散要求を発行する（Ｓ５２）。
【００７５】
次に、依頼先選択部２４２は、選択された情報処理装置２１０からの回答見込時間情報の返信を待ち、分散処理の依頼先を選択する処理を行う（Ｓ５３）。ここでの処理については、図１０を用いて説明する。そして、処理はステップＳ１４に進む。
【００７６】
図９のステップＳ１４及びＳ１５は、図４のステップＳ１４及びＳ１５と同様である。なお、図９のステップＳ１５で、処理結果が受信された場合（Ｓ１５でＹｅｓ）には、処理はステップＳ５４に進む。
【００７７】
ステップＳ５４では、依頼先選択部２４２は、分散処理実行依頼に対する情報処理装置２１０からの回答状況に基づいて、依頼処理実績情報記憶部２４３に記憶されている依頼処理実績情報を更新する。例えば、依頼先選択部２４２は、情報処理装置２１０から受け取った処理結果の回答時間及び回答の有無を示す情報を依頼処理実績情報に格納する。
【００７８】
図１０は、実施の形態２における分散処理の依頼先を選択する処理を示すフローチャートである。
なお、図１０に示されているフローチャートに含まれているステップのうち、図５に示されているフローチャートに含まれているステップと同様のステップについては、図５と同じ符号を付し、その説明を省略する。
【００７９】
図１０に示されているステップＳ２０は、図５に示されているステップＳ２０と同様である。但し、ステップＳ２０の後、処理はステップＳ６０に進む。
【００８０】
ステップＳ６０では、依頼先選択部２４２は、依頼分散要求に対する情報処理装置２１０からの応答状況に基づいて、依頼処理実績情報記憶部２４３に記憶されている依頼処理実績情報を更新する。ここでは、例えば、依頼先選択部２４２は、処理分散要求に対して、情報処理装置２１０から受け取った回答見込時間及び応答があった旨を示す情報を、依頼処理実績情報に格納する。
そして、処理はステップＳ２１に進む。
【００８１】
図１０のステップＳ２１及びＳ２２は、図５のステップＳ２１及びＳ２２と同様である。
但し、ステップＳ２２での処理の後、処理はステップＳ６１に進む。
【００８２】
ステップＳ６１では、依頼先選択部２４２は、依頼分散要求に対する情報処理装置２１０からの応答状況に基づいて、必要に応じて、依頼処理実績情報記憶部２４３に記憶されている依頼処理実績情報を更新する。例えば、依頼先選択部２４２は、処理分散要求に対して、情報処理装置２１０から要求受付不可情報を受け取った場合には、その旨を依頼処理実績情報に格納する。また、依頼先選択部２４２は、処理分散要求に対して、応答しない情報処理装置２１０がある場合には、応答がなかった旨を示す情報を、依頼処理実績情報に格納する。
【００８３】
以上のように、実施の形態２によれば、要求先選択部２４５が、処理分散要求を発行する情報処理装置２１０を適切なものに制限することで、無駄な通信、各情報処理装置２１０における無駄な回答見込時間算出処理、及び、処理分散要求に対する無駄な応答待ち時間を削減することができる。
【００８４】
なお、上述した実施の形態２では、要求先選択部２４５は、管理情報記憶部２４４に記憶されている管理情報及び依頼処理実績情報記憶部２４３に記憶されている依頼処理実績情報の両方を用いて、処理分散要求を発行する情報処理装置２１０を選択しているが、実施の形態２は、このような例に限定されない。
例えば、要求先選択部２４５は、管理情報及び依頼処理実績情報の何れか一方のみを参照して、処理分散要求を発行する情報処理装置２１０を選択してもよい。
【００８５】
また、図１０のステップＳ６０では、回答見込時間情報が受信されるたびに、依頼処理実績情報を更新しているが、実施の形態２は、このような例に限定されない。例えば、依頼先選択部２４２は、回答見込時間情報を一時的に図示しない記憶部に記憶しておき、例えば、ステップＳ６１において、依頼情報実績情報をまとめて更新してもよい。この場合、分散要求処理のタスク種毎にまとめて、同じタスクの分散要求処理毎に、依頼情報実績情報を更新してもよい。
【００８６】
さらに、図１０のステップＳ２２では、実施の形態１と同様に、最も短い回答見込時間を返信してきた情報処理装置２２０が依頼先として選択されているが、実施の形態２は、このような例に限定されない。
例えば、依頼先選択部２４２は、管理情報及び依頼処理実績情報の少なくとも何れか一方を参照して、依頼先を選択してもよい。
【００８７】
具体的には、最も短い回答見込時間から予め定められた時間内にある回答見込時間を示す回答見込時間情報を送信してきた情報処理装置がある場合には、依頼先選択部２４２は、依頼処理実績情報を参照して、最も短い回答見込時間を示す回答見込時間情報を送信してきた情報処理装置、及び、最も短い回答見込時間から予め定められた時間内にある回答見込時間を示す回答見込時間情報を送信してきた情報処理装置の中で、分散処理実行依頼に対して回答した回数の多い情報処理装置２１０を、依頼先として選択する。このようにすることで、回答見込時間がある程度同じであれば誤差の範囲とみなし、分散処理に対する回答が得られないリスクを低減することができる。例えば、演算に必要な資源は保有しているが、ネットワーク１０１への接続が不安定なため回答が得られないことが多い情報処理装置２１０を除外することができる。
【００８８】
また、最も短い回答見込時間から予め定められた時間内にある回答見込時間を示す回答見込時間情報を送信してきた情報処理装置がある場合には、依頼先選択部２４２は、管理情報を参照して、依頼する処理に適合した演算資源１２１の保有数が最も多い情報処理装置２１０を、依頼先として選択する。このようにすることで、速く処理結果が得られる確度がより高い情報処理装置２１０を選択することができる。
【００８９】
実施の形態３．
図１に示されているように、実施の形態３に係る情報処理システムとしての分散情報処理システム３００は、複数の情報処理装置３１０Ａ、３１０Ｂ、３１０Ｃ、３１０Ｄを備える。複数の情報処理装置３１０Ａ、３１０Ｂ、３１０Ｃ、３１０Ｄは、ネットワーク１０１に接続されている。
ここで、複数の情報処理装置３１０Ａ、３１０Ｂ、３１０Ｃ、３１０Ｄの各々を特に区別する必要がない場合には、情報処理装置３１０という。
【００９０】
図２に示されているように、実施の形態３における情報処理装置３１０は、デバイスＩ／Ｆ部１１１と、通信Ｉ／Ｆ部１１２と、処理実行部１２０と、処理負荷管理部１３０と、依頼処理部３４０とを備える。
実施の形態３における情報処理装置３１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理実行部１２０及び処理負荷管理部１３０は、実施の形態１における情報処理装置１１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理実行部１２０及び処理負荷管理部１３０と同様である。
【００９１】
依頼処理部３４０は、処理負荷管理部１３０からの要求指示、他の情報処理装置３１０への分散処理実行依頼、並びに、他の情報処理装置３１０からの処理分散要求及び分散処理実行依頼を処理する。
依頼処理部３４０は、要求処理部１４１と、依頼先選択部３４２とを備える。
実施の形態３における依頼処理部３４０の要求処理部１４１は、実施の形態１における依頼処理部１４０の要求処理部１４１と同様である。
【００９２】
実施の形態３における依頼先選択部３４２は、応答受信完了判定の条件において、実施の形態１における依頼先選択部１４２と異なっているが、その他の処理については、実施の形態１における依頼先選択部１４２と同様である。以下、図１１を用いて説明する。
【００９３】
図１１は、実施の形態３における分散処理の依頼先を選択する処理を示すフローチャートである。
なお、図１１に示されているフローチャートに含まれているステップのうち、図５に示されているフローチャートに含まれているステップと同様のステップについては、図５と同じ符号を付し、その説明を省略する。
【００９４】
図１１に示されているステップＳ２０は、図５に示されているステップＳ２０と同様である。但し、ステップＳ２０の後、処理はステップＳ７０に進む。
【００９５】
ステップＳ７０では、依頼先選択部３４２は、応答受信完了判定の条件が成立するまで、他の情報処理装置３１０からの応答を待つ。応答受信完了判定の条件は、例えば、情報処理装置３１０からの回答見込時間情報で示される回答見込時間が、予め定められた閾値である依頼先条件を満たしていることである。言い換えると、予め定められている時間よりも短い回答見込時間が得られた場合には、応答受信完了判定の条件が満たされたと判断される。そして、応答受信完了判定の条件が満たされた場合（Ｓ７０でＹｅｓ）には、処理はステップＳ２２に進む。
【００９６】
図１１に示されているステップＳ２２は、図５に示されているステップＳ２２と同様である。
なお、ステップＳ７０において、依頼先選択部３４２は、処理分散要求を送った全ての情報処理装置３１０からの回答見込時間が、依頼先条件を満たさない場合には、応答受信完了判定のための依頼先条件が満たされたとみなし、ステップＳ２２ヘ進む。そして、依頼先選択部３４２は、ステップＳ２２において、自装置を依頼先として選択すればよい。
【００９７】
以上のように、実施の形態３によれば、応答受信完了判定の条件を、依頼先条件を満たす回答見込時間を取得するまでとすることで、余計な応答待ち時間を削減し、かつ、適切な情報処理装置３１０を分散処理依頼先として選択することができる。言い換えると、実施の形態３では、依頼先条件を満たす回答見込時間を、最初に応答してきた情報処理装置３１０が依頼先とされるため、迅速かつ適切に依頼先を選択することができる。
【００９８】
なお、依頼先条件としての閾値は、予め定められた時間に限られず、例えば、依頼先選択部３４２がシステム応答性能要求を満たす時間を、予め定められた関数等を用いて算出し、算出された時間が依頼先条件として用いられてもよい。
また、依頼先選択部３４２は、自装置における回答見込時間を依頼先条件として設定してもよい。これにより、自装置で処理するよりも速く処理結果が得られる情報処理装置３１０を分散処理の依頼先として選択することができる。
さらに、依頼先選択部３４２は、予め定められた受付待ち時間において、各情報処理装置３１０からの応答を受け付け、その中で受け取られた回答見込時間が依頼先条件を満たさない場合に、さらに延長して応答を受け付けてもよい。
【００９９】
実施の形態４．
図１に示されているように、実施の形態４に係る情報処理システムとしての分散情報処理システム４００は、複数の情報処理装置４１０Ａ、４１０Ｂ、４１０Ｃ、４１０Ｄを備える。複数の情報処理装置４１０Ａ、４１０Ｂ、４１０Ｃ、４１０Ｄは、ネットワーク１０１に接続されている。
ここで、複数の情報処理装置４１０Ａ、４１０Ｂ、４１０Ｃ、４１０Ｄの各々を特に区別する必要がない場合には、情報処理装置４１０という。
【０１００】
図２に示されているように、実施の形態４における情報処理装置４１０は、デバイスＩ／Ｆ部１１１と、通信Ｉ／Ｆ部１１２と、処理実行部１２０と、処理負荷管理部１３０と、依頼処理部４４０とを備える。
実施の形態４における情報処理装置４１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理実行部１２０及び処理負荷管理部１３０は、実施の形態１における情報処理装置１１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理実行部１２０及び処理負荷管理部１３０と同様である。
【０１０１】
依頼処理部４４０は、処理負荷管理部１３０からの要求指示、他の情報処理装置４１０への分散処理実行依頼、並びに、他の情報処理装置４１０からの処理分散要求及び分散処理実行依頼を処理する。
依頼処理部４４０は、要求処理部１４１と、依頼先選択部４４２とを備える。
実施の形態４における依頼処理部４４０の要求処理部１４１は、実施の形態１における依頼処理部１４０の要求処理部１４１と同様である。
【０１０２】
実施の形態４における依頼先選択部４４２は、他の情報処理装置４１０からの回答見込時間情報で示されている回答見込時間を用いて、処理の実行を依頼する情報処理装置４１０を選択する。そして、依頼先選択部４４２は、通信Ｉ／Ｆ部１１２に、選択された情報処理装置４１０へ分散処理実行依頼を送信させる。
なお、実施の形態４における依頼先選択部４４２は、分散処理の依頼先を選択して、その依頼先から処理結果を取得する処理において、実施の形態１における依頼先選択部１４２と異なっている。以下、図１２を用いて説明する。
【０１０３】
図１２は、実施の形態４における情報処理装置４１０が処理を分散して行う際の動作を示すフローチャートである。
なお、図１２に示されているフローチャートに含まれているステップのうち、図４又は図５に示されているフローチャートに含まれているステップと同様のステップについては、図４又は図５と同じ符号を付し、その説明を省略する。
【０１０４】
図１２に示されているステップＳ１０〜Ｓ１２は、図４に示されているステップＳ１０〜Ｓ１２と同様である。但し、図１２においては、ステップＳ１２の後、処理はステップＳ２０に進む。
また、図１２に示されているステップＳ２０及びＳ２１は、図５に示されているステップＳ２０及びＳ２１と同様である。但し、図１２においては、ステップＳ２１の後、処理はステップＳ８０に進む。
【０１０５】
ステップＳ８０では、依頼先選択部４４２は、受け取った回答見込時間情報で示されている回答見込時間を、図示しない記憶部に一時的に記憶する。
【０１０６】
次に、依頼先選択部４４２は、図示されていない記憶部に記憶されている回答見込時間を比較して、未だ選択されていない情報処理装置４１０の中から、最も短い回答見込時間を応答してきた情報処理装置４１０を依頼先として選択する（Ｓ８１）。そして、処理はステップＳ１４に進む。
【０１０７】
図１２に示されているステップＳ１４は、図４に示されているステップＳ１４と同様である。但し、図１２においては、ステップＳ１４の後、処理はステップＳ８２に進む。
【０１０８】
ステップＳ８２では、依頼先選択部４４２は、分散処理実行依頼の発行先の情報処理装置４１０からの処理結果を受信したか否かを判断する。処理結果が受信された場合（Ｓ８２でＹｅｓ）には、処理は終了し、処理結果が受信されていない場合（Ｓ８２でＮｏ）には、処理はステップＳ８３に進む。
【０１０９】
ステップＳ８３では、依頼先選択部４４２は、分散処理実行依頼を発行してから、予め定められた期間が経過したか否かを判断する。予め定められた期間が経過していない場合（Ｓ８３でＮｏ）には、処理はステップＳ８２に戻り、予め定められた期間が経過した場合（Ｓ８３でＹｅｓ）には、処理はステップＳ８１に戻る。なお、ステップＳ８１では、現在選択されている情報処理装置４１０とは別の情報処理装置４１０、ここでは、現在選択されている情報処理装置４１０の次に回答見込時間の短い情報処理装置４１０が改めて選択される。ここで選択される別の情報処理装置４１０は、自装置であってもよい。例えば、現在選択されている情報処理装置４１０の回答見込時間の次に短い回答見込時間が、予め定められた閾値時間よりも長い場合には、依頼先選択部４４２は、自装置を選択する。
【０１１０】
以上のように、実施の形態４によれば、分散処理の依頼先からの処理結果の受け付けに期限を設定し、設定時間内に処理結果が送られてこなければ、次の情報処理装置４１０に分散処理を依頼するようにすることで、例えば、分散処理を依頼した後に依頼先の情報処理装置４１０が故障してしまうことで、処理結果が得られずに処理が停止してしまうことを防止することができる。
【０１１１】
図１２のステップＳ２１では、実施の形態３と同様に、応答受信完了判定の条件として、回答見込時間が、予め定められた閾値である依頼先条件を満たしていることとされてもよい。
【０１１２】
実施の形態５．
図１に示されているように、実施の形態５に係る情報処理システムとしての分散情報処理システム５００は、複数の情報処理装置５１０Ａ、５１０Ｂ、５１０Ｃ、５１０Ｄを備える。複数の情報処理装置５１０Ａ、５１０Ｂ、５１０Ｃ、５１０Ｄは、ネットワーク１０１に接続されている。
ここで、複数の情報処理装置５１０Ａ、５１０Ｂ、５１０Ｃ、５１０Ｄの各々を特に区別する必要がない場合には、情報処理装置５１０という。
【０１１３】
図２に示されているように、実施の形態５における情報処理装置５１０は、デバイスＩ／Ｆ部１１１と、通信Ｉ／Ｆ部１１２と、処理実行部５２０と、処理負荷管理部１３０と、依頼処理部１４０とを備える。
実施の形態５における情報処理装置５１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理負荷管理部１３０及び依頼処理部１４０は、実施の形態１における情報処理装置１１０の、デバイスＩ／Ｆ部１１１、通信Ｉ／Ｆ部１１２、処理負荷管理部１３０及び依頼処理部１４０と同様である。
【０１１４】
処理実行部５２０は、演算資源１２１と、演算部５２２とを備える。
実施の形態５における処理実行部５２０の演算資源１２１は、実施の形態１における処理実行部１２０の演算資源１２１と同様である。
【０１１５】
演算部５２２は、処理を実行する方法が、実施の形態１における演算部１２２と異なっている。以下、図１３を用いて説明する。
【０１１６】
図１３は、他の情報処理装置５１０から依頼された処理を実行する際の動作を示すフローチャートである。
なお、図１３に示されているフローチャートに含まれているステップのうち、図７に示されているフローチャートに含まれているステップと同様のステップについては、図７と同じ符号を付し、その説明を省略する。
【０１１７】
図１３に示されているステップＳ４０は、図７に示されているステップＳ４０と同様である。但し、図１３においては、ステップＳ４０の後、処理はステップＳ９０に進む。
【０１１８】
ステップＳ９０では、演算部５２２は、分散処理実行命令で示されているタスクに優先度を割り当て、優先度が設定されたタスクを、優先度付き演算待ちタスクキューに追加する。
【０１１９】
ここで、タスクに割り当てられる優先度は、情報処理装置５１０毎に設定されているものとする。例えば、ビル内のカメラ監視システムで建物出入り口等の重要な箇所に設置されているカメラに接続されている情報処理装置５１０については、高い優先度が設定されていることで、そのような重要な情報処理装置５１０の処理を優先して実行できるようになる。
【０１２０】
また、処理対象となるデータの生成時間が古いほど、高い優先度が割り当てられてもよい。それにより処理遅延が大きいものほど優先して処理することができるようになる。
さらに、依頼先の情報処理装置５１０の処理負荷状況に応じで、割り当てられる優先度が変わってもよい。例えば、処理負荷が高い時は自装置のタスクの優先度を高くすることで、他の情報処理装置５１０からの分散処理の依頼による処理割込みを防止し、自装置に接続されたデバイス１６０の入力信号に対応した処理を遅延なく行えるようになる。一方、処理負荷が低く余裕がある場合には、自装置のタスクの優先度を下げ、他の情報処理装置５１０の分散処理におけるタスクの優先度を上げることで、他の情報処理装置５１０の処理を優先して実行することができる。
【０１２１】
演算部５２２は、優先度付き演算待ちタスクキューに含まれているタスクに対して、優先度順に演算資源１２１を割り当てて、順次実行させる（Ｓ９１）。そして、処理はステップＳ４３に進む。
【０１２２】
図１３に示されているステップＳ４３及びＳ４４は、図７に示されているステップＳ４３及びＳ４４と同様である。
【０１２３】
以上のように、実施の形態５によれば、演算部５２２は、対象となる処理に割り当てられた優先度に従って、対応するデータに対して、対象となる処理を実行するようにされており、他の情報処理装置５１０から処理の実行を依頼された場合にも、依頼された処理に優先度を割り当てて、割り当てられた優先度に従って、処理を実行する。これにより、情報処理装置５１０毎に、実行する処理の優先度を柔軟に変更して、実行することができるようになる。具体的には、タスク優先度を設定することで、処理の重要度又は遅延状況に応じて処理を実行できるようになる。このため、分散処理の実行による割込み処理を防止することができる。
【符号の説明】
【０１２４】
１００，２００，３００，４００，５００  分散情報処理システム、  １０１  ネットワーク、  １１０，２１０，３１０，４１０，５１０  情報処理装置、  １１１  デバイスＩ／Ｆ部、  １１２  通信Ｉ／Ｆ部、  １２０，５２０  処理実行部、  １２１  演算資源、  １２２，５２２  演算部、  １３０  処理負荷管理部、  １３１  実行状態記憶部、  １３２  処理依頼発行判断部、  １３３  回答見込時間算出部、  １４０，２４０，３４０，４４０  依頼処理部、  １４１，２４１  要求処理部、  １４２，２４２，３４２，４４２  依頼先選択部、  ２４３  依頼処理実績情報記憶部、  ２４４  管理情報記憶部、  ２４５  要求先選択部。
【要約】
第１のデータに対する第１の処理の実行を依頼するための第１の処理分散要求を、通信Ｉ／Ｆ部（１１２）を介して、他の情報処理装置（１１０）に送る要求処理部（１４１）と、第１のデータの転送を受けて、第１のデータに対して第１の処理を実行することで得られる第１の処理結果を回答するまでの時間として算出された第１の回答見込時間を、通信Ｉ／Ｆ部（１１２）を介して、第１の処理分散要求の応答として受け取り、第１の回答見込時間を用いて、複数の情報処理装置（１１０）の中から、第１の処理の実行を依頼する依頼先を選択し、通信Ｉ／Ｆ部（１１２）を介して、選択された依頼先に、第１のデータに対する第１の処理の実行を依頼する依頼先選択部（１４２）とを備える。【図１】
0006679201.tif 000002
【図２】
0006679201.tif 000003
【図３】
0006679201.tif 000004
【図４】
0006679201.tif 000005
【図５】
0006679201.tif 000006
【図６】
0006679201.tif 000007
【図７】
0006679201.tif 000008
【図８】
0006679201.tif 000009
【図９】
0006679201.tif 000010
【図１０】
0006679201.tif 000011
【図１１】
0006679201.tif 000012
【図１２】
0006679201.tif 000013
【図１３】
0006679201.tif 000014