(57)【要約】【課題】複数の情報処理装置が有するデータを用いて所定の演算を実行することを効率化することが可能な情報処理装置を提供する。【解決手段】情報処理装置は、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行する機能を有する演算実行部と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、を備える。【選択図】図１
2019128645.tif 000002
【特許請求の範囲】
【請求項１】
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、
前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行する機能を有する演算実行部と、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、
を備える情報処理装置。
【請求項２】
前記データ送信部は、初期的な第３のアルゴリズムが記述されたデータである第３のアルゴリズムデータを次の情報処理装置に送信する機能を有する、
請求項１に記載の情報処理装置。
【請求項３】
前記演算実行部は、第４のアルゴリズムに基づいて演算を実行する機能を有し、
前記データ送信部は、前記第４のアルゴリズムに応じたアルゴリズムを前記第３のアルゴリズムとして、前記第３のアルゴリズムデータを前記次の情報処理装置に送信する機能を有する、
請求項２に記載の情報処理装置。
【請求項４】
前記第３のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置および伝送の順序を決定する機能を有する第１の経路決定部を備える、
請求項２または請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項４に記載の情報処理装置。
【請求項６】
前記第２のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる前記第２の情報処理装置を含む１以上の情報処理装置および伝送の順序を決定する機能を有する第２の経路決定部を備える、
請求項１から請求項５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第２の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項６に記載の情報処理装置。
【請求項８】
前記第２のアルゴリズムは、前記第１のアルゴリズムと同じである、
請求項１から請求項７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第２のアルゴリズムは、前記第１のアルゴリズムとは異なる、
請求項１から請求項７のいずれか１項に記載の情報処理装置。
【請求項１０】
前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータを前記第１の情報処理装置から受信する機能を有する、
請求項１から請求項９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータと、前記第１のアルゴリズムデータとを同時に前記第１の情報処理装置から受信する機能を有する、
請求項１０に記載の情報処理装置。
【請求項１２】
前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第２の情報処理装置に送信する機能を有する、
請求項１から請求項１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第２のアルゴリズムデータとを同時に前記第２の情報処理装置に送信する機能を有する、
請求項１２に記載の情報処理装置。
【請求項１４】
データを記憶する第１の記憶部を備え、
前記演算実行部は、前記第１の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、
請求項１から請求項１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる１以上の所定の情報処理装置に送信する機能を有する、
請求項１から請求項１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、
請求項１５に記載の情報処理装置。
【請求項１７】
前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第１の演算結果判定部を備える、
請求項１から請求項１６のいずれか１項に記載の情報処理装置。
【請求項１８】
前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信する、
請求項１から請求項１７のいずれか１項に記載の情報処理装置。
【請求項１９】
前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備える、
請求項１８に記載の情報処理装置。
【請求項２０】
前記データ受信部は、他の装置から送信されるデータを受信し、
前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、
請求項１から請求項１９のいずれか１項に記載の情報処理装置。
【請求項２１】
前記他の装置は、アルゴリズムが伝送される対象以外の装置である、
請求項２０に記載の情報処理装置。
【請求項２２】
前記データ受信部により受信された前記データのうちの一部または全部を記憶する第２の記憶部を備える、
請求項１から請求項２１のいずれか１項に記載の情報処理装置。
【請求項２３】
前記データ送信部により送信した前記データのうちの一部または全部を記憶する第３の記憶部を備える、
請求項１から請求項２２のいずれか１項に記載の情報処理装置。
【請求項２４】
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信し、
受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行し、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する、
情報処理方法。
【請求項２５】
情報処理装置を構成するコンピュータに、
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能と、
受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行する機能と、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能と、
を実現させるためのプログラム。
【請求項２６】
複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、
少なくとも一つの前記情報処理装置が、前記アルゴリズムに基づく演算を実行する、
情報処理システム。
【請求項２７】
複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、
少なくとも一つの前記情報処理装置が、前記アルゴリズムに基づく演算を実行する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
ネットワークに多数の情報処理装置が備えられた情報処理システムにおいて、サーバの機能を有する情報処理装置が、他の情報処理装置のそれぞれに記憶されたデータを収集し、収集されたデータについて所定の演算を実行することがあった。つまり、サーバと多数のクライアントとが、１対多の関係でデータの配信および収集を行っていた。
【０００３】
しかしながら、上記のような情報処理システムでは、例えば、多数の情報処理装置により膨大な量のデータが記憶される場合に、１個のサーバ装置がすべての情報処理装置に記憶されたデータを収集して所定の演算を実行するために、多大な負荷となり、膨大な時間および膨大なリソースを費やしてしまうことがあった。
また、上記のような情報処理システムでは、サーバの機能を担った情報処理装置以外の情報処理装置では、前記した演算を行うことができなかった。
【０００４】
なお、従来技術の一例として、非特許文献１に記載されるように、Ｅｔｈｅｒｅｕｍと呼ばれている技術があった（非特許文献１参照。）。この技術は、ブロックチェーンを利用して分散アプリケーションを実行するためのプラットフォームに関する技術である。
しかしながら、非特許文献１に記載された技術においても、上記のような従来の問題は解消されていなかった。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＤＲ．ＧＡＶＩＮ  ＷＯＯＤ、ＦＯＵＮＤＥＲ、ＥＴＨＥＲＥＵＭ  ＆  ＥＴＨＣＯＲＥ、“ＥＴＨＥＲＥＵＭ：  Ａ  ＳＥＣＵＲＥ  ＤＥＣＥＮＴＲＡＬＩＳＥＤ  ＧＥＮＥＲＡＬＩＳＥＤ  ＴＲＡＮＳＡＣＴＩＯＮ  ＬＥＤＧＥＲ”  ＥＩＰ−１５０  ＲＥＶＩＳＩＯＮ（７５９ｄｃｃｄ−２０１７−０８−０７）、［ｏｎｌｉｎｅ］、２０１７−０８−０７、［平成２９年１２月６日検索］、インターネット＜ＵＲＬ：ｈｔｔｐｓ：／／ｅｔｈｅｒｅｕｍ．ｇｉｔｈｕｂ．ｉｏ／ｙｅｌｌｏｗｐａｐｅｒ／ｐａｐｅｒ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように、従来では、複数の情報処理装置が有するデータを用いた処理を効率化することが十分ではない場合があった。
【０００７】
本発明の実施形態は、このような事情に鑑み、複数の情報処理装置が有するデータを用いて所定の演算を実行することを効率化することが可能な情報処理装置、情報処理方法、プログラムおよび情報処理システムを提供する。
【課題を解決するための手段】
【０００８】
本発明の実施形態に係る情報処理装置は、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行する機能を有する演算実行部と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、を備える。
【０００９】
本発明の一態様に係る情報処理装置において、前記データ送信部は、初期的な第３のアルゴリズムが記述されたデータである第３のアルゴリズムデータを次の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記演算実行部は、第４のアルゴリズムに基づいて演算を実行する機能を有し、前記データ送信部は、前記第４のアルゴリズムに応じたアルゴリズムを前記第３のアルゴリズムとして、前記第３のアルゴリズムデータを前記次の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第３のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置および伝送の順序を決定する機能を有する第１の経路決定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第１の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる前記第２の情報処理装置を含む１以上の情報処理装置および伝送の順序を決定する機能を有する第２の経路決定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムは、前記第１のアルゴリズムと同じである、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムは、前記第１のアルゴリズムとは異なる、構成とされてもよい。
【００１０】
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータを前記第１の情報処理装置から受信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータと、前記第１のアルゴリズムデータとを同時に前記第１の情報処理装置から受信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第２の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第２のアルゴリズムデータとを同時に前記第２の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、データを記憶する第１の記憶部を備え、前記演算実行部は、前記第１の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる１以上の所定の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、構成とされてもよい。
【００１１】
本発明の一態様に係る情報処理装置において、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第１の演算結果判定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、他の装置から送信されるデータを受信し、前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記他の装置は、アルゴリズムが伝送される対象以外の装置である、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部により受信された前記データのうちの一部または全部を記憶する第２の記憶部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部により送信した前記データのうちの一部または全部を記憶する第３の記憶部を備える、構成とされてもよい。
【００１２】
本発明の一態様に係る情報処理方法において、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信し、受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行し、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する。
【００１３】
本発明の一態様に係るプログラムにおいて、情報処理装置を構成するコンピュータに、
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能と、受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行する機能と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能と、を実現させるためのプログラムである。
【００１４】
本発明の一態様に係る情報処理システムにおいて、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの前記情報処理装置が、前記アルゴリズムに基づく演算を実行する。
【００１５】
本発明の一態様に係る情報処理方法において、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの前記情報処理装置が、前記アルゴリズムに基づく演算を実行する。
【発明の効果】
【００１６】
上記した情報処理装置、情報処理方法、プログラムおよび情報処理システムによれば、複数の情報処理装置が有するデータを用いて所定の演算を実行することを効率化することが可能である。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態（第１実施形態）に係る情報処理システムの概略的な構成例を示す図である。
【図２】本発明の一実施形態に係る１番目の情報処理装置の概略的な構成例を示す図である。
【図３】本発明の一実施形態に係るｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置の概略的な構成例を示す図である。
【図４】本発明の一実施形態に係るＮ番目の情報処理装置の概略的な構成例を示す図である。
【図５】本発明の一実施形態に係る情報処理装置テーブルの一例を示す図である。
【図６】本発明の一実施形態に係る１番目の情報処理装置から送信されるデータの概略的な一例を示す図である。
【図７】本発明の一実施形態に係るｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置から送信されるデータの概略的な一例を示す図である。
【図８】本発明の一実施形態に係るＮ番目の情報処理装置から送信されるデータの概略的な一例を示す図である。
【図９】本発明の一実施形態（第１実施形態）に係る情報処理システムにおける全体的な動作の概略を示す図である。
【図１０】本発明の一実施形態に係る１番目の情報処理装置において行われる処理の手順の一例を示す図である。
【図１１】本発明の一実施形態に係るｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置において行われる処理の手順の一例を示す図である。
【図１２】本発明の一実施形態に係るＮ番目の情報処理装置において行われる処理の手順の一例を示す図である。
【図１３】本発明の一実施形態（第２実施形態）に係る情報処理システムにおける全体的な動作の概略を示す図である。
【図１４】本発明の一実施形態（第３実施形態）に係るｚ（ｚ＝２〜Ｎ）番目の情報処理装置の概略的な構成例を示す図である。
【図１５】本発明の一実施形態（第３実施形態）に係るｚ（ｚ＝２〜Ｎ）番目の情報処理装置において行われる処理の手順の一例を示す図である。
【図１６】本発明の一実施形態（第４実施形態）に係る階層化部分の概略的な構成例を示す図である。
【図１７】本発明の一実施形態（第４実施形態）に係る情報処理装置における制御部の概略的な構成例を示す図である。
【図１８】本発明の一実施形態（第４実施形態）に係る情報処理装置において行われる処理の手順の一例を示す図である。
【図１９】本発明の一実施形態（第５実施形態）に係る情報処理装置において行われるデータ集約の概略を示す図である。
【図２０】本発明の一実施形態（第５実施形態）に係る情報処理装置において行われるデータ集約の概略を示す図である。
【図２１】本発明の一実施形態（第５実施形態）に係る情報処理装置において行われるデータ集約の概略を示す図である。
【図２２】本発明の一実施形態（第５実施形態）に係る情報処理システムの概略的な構成例を示す図である。
【図２３】本発明の一実施形態（第５実施形態）に係る情報処理システムにおいて行われる処理の手順の一例を示す図である。
【図２４】通信システムの一例を示す図である。
【図２５】サーバレスの通信システムの一例を示す図である。
【図２６】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図２７】本発明の一実施形態（第６実施形態）に係る情報処理装置の概略的な構成例を示す図である。
【図２８】本発明の一実施形態（第６実施形態）に係る２個の情報処理装置において行われる処理の一例を示す図である。
【図２９】本発明の一実施形態（第６実施形態）に係る２個の情報処理装置において行われる処理の一例を示す図である。
【図３０】本発明の一実施形態（第６実施形態）に係る２個の情報処理装置において行われる処理の一例を示す図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態について図面を参照して詳細に説明する。
【００１９】
（第１実施形態）
［情報処理システムの概要］
図１は、本発明の一実施形態（第１実施形態）に係る情報処理システム１の概略的な構成例を示す図である。
本実施形態に係る情報処理システム１は、Ｎ（本実施形態において、Ｎは３以上の整数であるとする。）個の情報処理装置Ａ（１）〜Ａ（Ｎ）を備える。
なお、図１では、説明の便宜上、５個以上の情報処理装置Ａ（１）〜Ａ（Ｎ）を例示してあるが、Ｎ＝３あるいはＮ＝４であってもよい。
【００２０】
それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、通信相手となる他の情報処理装置Ａ（１）〜Ａ（Ｎ）との間で、通信を行う機能を有する。当該通信は、例えば、有線の通信であってもよく、無線の通信であってもよく、あるいは、有線と無線の両方の通信であってもよい。
また、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）により行われる通信は、例えば、１対１（Ｐ２Ｐ）の通信であってもよく、また、サーバクライアントの通信であってもよく、また、他の方式の通信であってもよい。また、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）により行われる通信は、例えば、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）接続を用いた通信であってもよい。
【００２１】
それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、様々な装置であってもよい。それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、サーバの機能を有していない装置であってもよく、あるいは、サーバの機能を有する装置であってもよい。それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、ノート型のコンピュータであってもよく、デスクトップ型のコンピュータであってもよく、タブレット型のコンピュータであってもよく、スマートフォンのようなコンピュータであってもよく、あるいは、他のコンピュータであってもよい。当該他のコンピュータとしては、例えば、自動車などの乗り物に備えられたコンピュータであってもよい。それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、物理端末として構成されてもよく、あるいは、仮想端末として構成されてもよい。それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、社内ネットワーク上にあってもよく、あるいは、インターネット上にあってもよい。
このような装置の種類に関し、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、同じ種類の装置であってもよく、あるいは、異なる種類の装置であってもよい。
また、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、いわゆるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）あるいはＩＣＴ（Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）の装置であってもよい。
【００２２】
また、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、任意の者によって管理されてもよい。それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、個人（例えば、所有者）によって管理されてもよく、あるいは、組織（例えば、所有などする組織）によって管理されてもよい。このような管理者の種類に関し、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、例えば、同じ種類の者によって管理されてもよく、あるいは、異なる種類の者によって管理されてもよい。
【００２３】
［情報処理システムの動作の概要］
図１を参照して、本実施形態に係る情報処理システム１において行われる動作の概要を示す。
本実施形態では、１個の情報処理装置Ａ（１）（説明の便宜上、「１番目の情報処理装置Ａ（１）」という。）は、主導となり、２番目からＮ番目までの他の情報処理装置Ａ（２）〜Ａ（Ｎ）を設定する。
なお、図１では図示していないが、情報処理システム１には、Ｎ個の情報処理装置Ａ（１）〜Ａ（Ｎ）以外の情報処理装置が備えられていてもよい。この場合、１番目の情報処理装置Ａ（１）は、Ｎ個より多い情報処理装置のうちから、２番目からＮ番目までの他の情報処理装置Ａ（２）〜Ａ（Ｎ）を選択して設定する。
【００２４】
ここで、本実施形態では、１番目の情報処理装置Ａ（１）は、例えば、あらかじめ定められていてもよく、あるいは、任意のタイミングで定められてもよい。具体例として、１番目の情報処理装置Ａ（１）は、任意のタイミングで、ユーザ（人）により行われる操作に応じて定められてもよい。具体例として、１番目の情報処理装置Ａ（１）は、任意のタイミングで、所定の条件が満たされたことが任意の装置によって自動的に判定されたことに応じて定められてもよい。
【００２５】
また、本実施形態では、２番目〜Ｎ番目の情報処理装置Ａ（２）〜Ａ（Ｎ）は、例えば、あらかじめ定められてもよく、あるいは、任意のタイミングで定められてもよい。具体例として、２番目〜Ｎ番目の情報処理装置Ａ（２）〜Ａ（Ｎ）は、任意のタイミングで、ユーザ（人）により行われる操作に応じて定められてもよい。具体例として、２番目〜Ｎ番目の情報処理装置Ａ（２）〜Ａ（Ｎ）は、１番目の情報処理装置Ａ（１）からの発信が行われる前における任意のタイミングで、所定の条件に基づいて、１番目の情報処理装置Ａ（１）によって定められてもよい。
また、具体例として、２番目〜Ｎ番目の情報処理装置Ａ（２）〜Ａ（Ｎ）は、自装置よりも順番が前である別の情報処理装置からの発信（図１の例では、アルゴリズムデータａ（１）の送信）が行われる前における任意のタイミングで、所定の条件に基づいて、当該別の情報処理装置によって定められてもよい。このような一例として、ｉ（ここでは、ｉ＝２〜Ｎ）番目の情報処理装置Ａ（ｉ）は、自装置よりも順番が１つ前である情報処理装置Ａ（ｉ−１）によって定められてもよい。
【００２６】
１番目の情報処理装置Ａ（１）は、所定のアルゴリズムデータａ（１）を２番目の情報処理装置Ａ（２）に送信する。
ここで、アルゴリズムデータａ（１）は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。なお、このようなデータは、例えば、プログラム（あるいは、プログラムのデータ）などと呼ばれてもよい。また、アルゴリズムは、例えば、ロジックなどと呼ばれてもよい。
当該所定のアルゴリズムは、例えば、あらかじめ定められてもよく、あるいは、任意のタイミングで定められてもよい。具体例として、当該所定のアルゴリズムは、任意のタイミングで、ユーザ（人）により行われる操作に応じて定められてもよい。具体例として、当該所定のアルゴリズムは、１番目の情報処理装置Ａ（１）からの発信（図１の例では、アルゴリズムデータａ（１）の送信）が行われる前における任意のタイミングで、所定の条件に基づいて、１番目の情報処理装置Ａ（１）によって定められてもよい。
【００２７】
２番目の情報処理装置Ａ（２）は、１番目の情報処理装置Ａ（１）から送信されたアルゴリズムデータａ（１）を受信する。また、２番目の情報処理装置Ａ（２）は、受信されたアルゴリズムデータａ（１）に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。２番目の情報処理装置Ａ（２）は、当該演算を実行した結果のデータ（演算結果データｂ（１））を取得する。
そして、２番目の情報処理装置Ａ（２）は、所定のアルゴリズムデータａ（２）および演算結果データｂ（１）を３番目の情報処理装置Ａ（３）に送信する。
ここで、アルゴリズムデータａ（２）は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。
【００２８】
３番目の情報処理装置Ａ（３）は、２番目の情報処理装置Ａ（２）から送信されたアルゴリズムデータａ（２）および演算結果データｂ（１）を受信する。また、３番目の情報処理装置Ａ（３）は、受信されたアルゴリズムデータａ（２）に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。３番目の情報処理装置Ａ（３）は、当該演算を実行した結果のデータ（演算結果データｂ（２））を取得する。
ここで、本実施形態では、演算結果データｂ（２）には、それよりも前における演算結果データｂ（１）が反映されている。一例として、演算結果データｂ（２）には、それよりも前における演算結果データｂ（１）が含まれてもよい。他の例として、演算結果データｂ（２）が演算されるときに、それよりも前における演算結果データｂ（１）がその演算に用いられてもよい。
そして、３番目の情報処理装置Ａ（３）は、所定のアルゴリズムデータａ（３）および演算結果データｂ（２）を４番目の情報処理装置Ａ（４）に送信する。
ここで、アルゴリズムデータａ（３）は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。
【００２９】
４番目の情報処理装置Ａ（４）〜（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）においても、３番目の情報処理装置Ａ（３）と同様な動作を行う。
すなわち、ｉ（ここでは、ｉ＝４〜Ｎ−１）番目の情報処理装置Ａ（ｉ）は、（ｉ−１）番目の情報処理装置Ａ（ｉ−１）から送信されたアルゴリズムデータａ（ｉ−１）および演算結果データｂ（ｉ−２）を受信する。また、ｉ番目の情報処理装置Ａ（ｉ）は、受信されたアルゴリズムデータａ（ｉ−１）に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。ｉ番目の情報処理装置Ａ（ｉ）は、当該演算を実行した結果のデータ（演算結果データｂ（ｉ−１））を取得する。
ここで、本実施形態では、演算結果データｂ（ｉ−１）には、それよりも前における演算結果データｂ（ｉ−２）が反映されている。一例として、演算結果データｂ（ｉ−１）には、それよりも前における演算結果データｂ（ｉ−２）が含まれてもよい。他の例として、演算結果データｂ（ｉ−１）が演算されるときに、それよりも前における演算結果データｂ（ｉ−２）がその演算に用いられてもよい。
そして、ｉ番目の情報処理装置Ａ（ｉ）は、所定のアルゴリズムデータａ（ｉ）および演算結果データｂ（ｉ−１）を（ｉ＋１）番目の情報処理装置Ａ（ｉ＋１）に送信する。
ここで、アルゴリズムデータａ（ｉ）は、所定のアルゴリズムが記述されたデータであり、当該アルゴリズムを示す情報を含むデータである。
【００３０】
Ｎ番目の情報処理装置は、（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）から送信されたアルゴリズムデータａ（Ｎ−１）を受信する。また、Ｎ番目の情報処理装置Ａ（Ｎ）は、受信されたアルゴリズムデータａ（Ｎ−１）に含まれる情報によって示されるアルゴリズムに応じた演算を、自装置において記憶されているデータを用いて、実行する。Ｎ番目の情報処理装置Ａ（Ｎ）は、当該演算を実行した結果のデータ（演算結果データｂ（Ｎ−１））を取得する。
ここで、本実施形態では、演算結果データｂ（Ｎ−１）には、それよりも前における演算結果データｂ（Ｎ−２）が反映されている。一例として、演算結果データｂ（Ｎ−１）には、それよりも前における演算結果データｂ（Ｎ−２）が含まれてもよい。他の例として、演算結果データｂ（Ｎ−１）が演算されるときに、それよりも前における演算結果データｂ（Ｎ−２）がその演算に用いられてもよい。
そして、Ｎ番目の情報処理装置Ａ（Ｎ）は、演算結果データｂ（Ｎ−１）を１番目の情報処理装置Ａ（１）に送信する。
【００３１】
［情報処理装置の概要］
図２は、本発明の一実施形態に係る１番目の情報処理装置Ａ（１）の概略的な構成例を示す図である。
図３は、本発明の一実施形態に係るｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置Ａ（ｊ）の概略的な構成例を示す図である。
図４は、本発明の一実施形態に係るＮ番目の情報処理装置Ａ（Ｎ）の概略的な構成例を示す図である。
【００３２】
ここで、本実施形態では、説明の便宜上、１番目の情報処理装置Ａ（１）、ｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置Ａ（ｊ）、Ｎ番目の情報処理装置Ａ（Ｎ）に分けて説明するが、これらのうちの任意の２つの各々として機能することが可能な情報処理装置が用いられてもよく、あるいは、これらのうちの任意の３つの各々として機能することが可能な情報処理装置が用いられてもよい。
一例として、図１に示されるそれぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、任意の順番にある情報処理装置になり得る機能（つまり、図２、図３、図４に示されるすべての機能を包含する機能）を有してもよい。
【００３３】
＜１番目の情報処理装置の概要＞
図２を参照して説明する。
１番目の情報処理装置Ａ（１）は、入力部１１１と、出力部１１２と、記憶部１１３と、通信部１１４と、制御部１１５を備える。
入力部１１１は、外部から情報を入力する。
一例として、入力部１１１は、ユーザ（人）により操作される操作部を備え、当該ユーザにより当該操作部に対して行われた操作に応じた情報を入力する。当該操作部は、例えば、キーボード、あるいは、マウスなどであってもよい。
他の例として、入力部１１１は、外部の装置から出力される情報を入力してもよい。当該外部の装置は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のメモリなどのような可搬型の記憶媒体であってもよい。
【００３４】
出力部１１２は、外部に情報を出力する。
一例として、出力部１１２は、ユーザに対して情報を表示出力する表示部を備えてもよい。当該表示部は、例えば、液晶パネルなどであってもよい。他の一例として、出力部１１２は、ユーザに対して情報を音出力する音出力部を備えてもよい。当該音出力部は、例えば、スピーカなどであってもよい。
他の例として、出力部１１２は、外部の装置に対して情報を出力してもよい。当該外部の装置は、例えば、可搬型の記憶媒体であってもよい。
【００３５】
なお、例えば、入力部１１１に備えられる操作部と、出力部１１２に備えられる表示部とが、タッチパネルとして、共通化されてもよい。この場合、タッチパネルにおいてユーザによりタッチされた状態に応じて操作に応じた情報を入力する機能により操作部の機能が構成され、また、タッチパネルにおいてユーザに対して情報を表示する機能により表示部の機能が構成される。
【００３６】
記憶部１１３は、各種のデータを記憶する。図２の例では、記憶部１１３は、データ１５１を記憶している。
記憶部１１３は、例えば、自装置から送信されたアルゴリズムデータａ（１）、あるいは、受信された演算結果データｂ（Ｎ−１）のうちの１以上を記憶してもよい。なお、記憶部１１３に記憶されたデータは、例えば、再利用されてもよい。
【００３７】
通信部１１４は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）との間で通信を行う。
本実施形態では、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）には、それぞれの装置を識別する情報が設定されている。通信部１１４は、例えば、それぞれの装置を識別する情報を送信元情報あるいは送信先情報として用いて、他の情報処理装置Ａ（２）〜Ａ（Ｎ）との間で通信を行う。
本実施形態では、通信部１１４は、他の装置からデータを受信するデータ受信部の機能と、他の装置にデータを送信するデータ送信部の機能を有する。
なお、通信部１１４の受信機能は、例えば、入力部１１１の機能と一体化されてもよいが、本実施形態では、説明の便宜上、区別している。
同様に、通信部１１４の送信機能は、例えば、出力部１１２の機能と一体化されてもよいが、本実施形態では、説明の便宜上、区別している。
【００３８】
制御部１１５は、アルゴリズム生成部１３１と、情報処理装置検索部１３２と、経路決定部１３３と、アルゴリズム送信制御部１３４と、演算結果取得部１３５を備える。
アルゴリズム生成部１３１は、所定のアルゴリズムを生成する。
ここで、本実施形態では、１番目の情報処理装置Ａ（１）によって２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）まで同一のアルゴリズムが伝達される場合を示す。当該アルゴリズムは、任意の内容を有するアルゴリズムであってもよく、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）までの情報処理装置によって実行されるべきアルゴリズムが設定される。
【００３９】
情報処理装置検索部１３２は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）のうちの少なくとも２番目の情報処理装置Ａ（２）を検索する。ここで、他の情報処理装置Ａ（２）〜Ａ（Ｎ）を検索する手法としては、任意の手法が用いられてもよい。
経路決定部１３３は、情報処理装置検索部１３２により検索された他の情報処理装置Ａ（２）〜Ａ（Ｎ）（少なくとも２番目の情報処理装置Ａ（２））が含まれる経路を決定する。
【００４０】
一例として、情報処理装置検索部１３２は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）のすべてを検索してもよい。この場合、経路決定部１３３は、情報処理装置検索部１３２により検索された他の情報処理装置Ａ（２）〜Ａ（Ｎ）のすべてが含まれる経路を決定する。この場合、１番目の情報処理装置Ａ（１）において、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）までのすべての順番にある情報処理装置が決定される。
なお、１番目の情報処理装置Ａ（１）において、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）までのすべての順番にある情報処理装置として、一定の情報処理装置があらかじめ設定されていてもよく、この場合には、情報処理装置検索部１３２の機能および経路決定部１３３の機能は１番目の情報処理装置Ａ（１）に備えられなくてもよい。
【００４１】
他の例として、情報処理装置検索部１３２は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）のうち２番目の情報処理装置Ａ（２）だけを検索してもよい。この場合、経路決定部１３３は、情報処理装置検索部１３２により検索された２番目の情報処理装置Ａ（２）が含まれる経路を決定する。この場合、１番目の情報処理装置Ａ（１）において決定された経路では、３番目以降の情報処理装置は未定である。この場合、２番目以降の情報処理装置において、３番目以降の情報処理装置を決定する構成とする。
【００４２】
他の例として、情報処理装置検索部１３２は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）のうち２番目の情報処理装置Ａ（２）と、他の一部の任意の数（ここでは、（Ｎ−３）以下の数）の情報処理装置だけを検索してもよい。この場合、経路決定部１３３は、情報処理装置検索部１３２により検索された２番目の情報処理装置Ａ（２）および他の一部の情報処理装置が含まれる経路を決定する。この場合、１番目の情報処理装置Ａ（１）において決定された経路では、検索されていない順番にある情報処理装置は未定である。この場合、２番目以降の情報処理装置において、未定である情報処理装置を決定する構成とする。
【００４３】
アルゴリズム送信制御部１３４は、アルゴリズム生成部１３１により生成されたアルゴリズムが記述されたデータ（アルゴリズムデータａ（１））を２番目の情報処理装置Ａ（２）に対して通信部１１４により送信するように制御する。
ここで、本実施形態では、アルゴリズムデータａ（１）には、経路決定部１３３により決定された経路を示す情報（説明の便宜上、「経路情報」ともいう。）が付加される。当該経路情報は、例えば、アルゴリズムデータａ（１）の内部に含められるように付加されてもよく、あるいは、アルゴリズムデータａ（１）の外部に付加されてもよい。なお、経路情報はアルゴリズムの一部であると捉えられてもよく、この場合、例えば、アルゴリズムは経路情報を含んでいると捉えられる。
【００４４】
演算結果取得部１３５は、Ｎ番目の情報処理装置Ａ（Ｎ）から送信されて通信部１１４により受信される演算結果データｂ（Ｎ−１）を取得する。
ここで、本実施形態では、１番目の情報処理装置Ａ（１）が、最初に、アルゴリズムデータａ（１）を発信する。そして、当該アルゴリズムデータａ（１）に関するデータが２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）に順次伝達されて所定の演算が実行され、Ｎ番目の情報処理装置Ａ（Ｎ）により取得された演算結果データｂ（Ｎ−１）が元の１番目の情報処理装置Ａ（１）に返されてくる。これにより、１番目の情報処理装置Ａ（１）は、アルゴリズムデータａ（１）の送信と、当該アルゴリズムデータａ（１）に応じた演算結果データｂ（Ｎ−１）の受信を行うことができる。
【００４５】
＜ｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置Ａ（ｊ）の概要＞
図３を参照して説明する。なお、説明の便宜上、ｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置Ａ（ｊ）についてまとめて説明し、共通の符号（図に示される符号）を用いて説明する。
ｊ番目の情報処理装置Ａ（ｊ）は、入力部２１１と、出力部２１２と、記憶部２１３と、通信部２１４と、制御部２１５を備える。
ここで、入力部２１１、出力部２１２、記憶部２１３、通信部２１４のそれぞれの機能は、概略的には、１番目の情報処理装置Ａ（１）における入力部１１１、出力部１１２、記憶部１１３、通信部１１４のそれぞれの機能と同様であり、ここでは詳しい説明を省略する。
図３の例では、記憶部２１３は、データ２５１を記憶している。
記憶部２１３は、例えば、受信されたアルゴリズムデータａ（ｊ−１）、ｊが３以上である場合に受信された演算結果データｂ（ｊ−２）、自装置から送信されたアルゴリズムデータａ（ｊ）、あるいは、自装置から送信された演算結果データｂ（ｊ−１）のうちの１以上を記憶してもよい。なお、記憶部２１３に記憶されたデータは、例えば、再利用されてもよい。
【００４６】
制御部２１５は、アルゴリズム取得部２３１と、演算実行部２３２と、アルゴリズム生成部２３３と、経路決定部２３４と、アルゴリズム送信制御部２３５を備える。
アルゴリズム取得部２３１は、１つ前の順番の情報処理装置である（ｊ−１）番目の情報処理装置Ａ（ｊ−１）から送信されて通信部２１４により受信されたアルゴリズムデータａ（ｊ−１）を取得する。また、（ｊ−１）番目の情報処理装置Ａ（ｊ−１）から演算結果データｂ（ｊ−２）も送信されてくる場合には、当該演算結果データｂ（ｊ−２）も通信部２１４により受信される。
【００４７】
演算実行部２３２は、記憶部２１３に記憶されたデータ２５１を用いて、アルゴリズム取得部２３１により取得されたアルゴリズムに応じた演算を実行する。この場合に、演算実行部２３２は、当該アルゴリズムにしたがって、必要であれば、（ｊ−１）番目の情報処理装置Ａ（ｊ−１）から受信された演算結果データｂ（ｊ−２）も用いて、当該演算を実行する。
これにより、演算実行部２３２は、演算結果データｂ（ｊ−１）を取得する。ここで、演算実行部２３２は、演算結果データｂ（ｊ−１）に、例えば、それよりも前の順番にある情報処理装置において取得された演算結果データのうちの一部または全部を含めてもよい。
【００４８】
アルゴリズム生成部２３３は、（ｊ−１）番目の情報処理装置Ａ（ｊ−１）から受信されたアルゴリズムデータａ（ｊ−１）に基づいて、１つ後の順番の情報処理装置である（ｊ＋１）番目の情報処理装置Ａ（ｊ＋１）に送信するアルゴリズムデータａ（ｊ）のアルゴリズムを生成する。
ここで、本実施形態では、アルゴリズム生成部２３３は、（ｊ−１）番目の情報処理装置Ａ（ｊ−１）から受信されたアルゴリズムデータａ（ｊ−１）に記述されるアルゴリズムと同一のアルゴリズムを採用し、採用されたアルゴリズムが記述されたアルゴリズムデータａ（ｊ）を生成する。
【００４９】
経路決定部２３４は、少なくとも１つ後の順番の情報処理装置である（ｊ＋１）番目の情報処理装置Ａ（ｊ＋１）が含まれる経路を決定する。
ここで、１番目の情報処理装置Ａ（１）において２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）までのすべての経路（すべての順番にある情報処理装置）が決定されている場合には、経路決定部２３４は、当該経路にしたがった経路を決定する。
また、自装置よりも前の順番にある情報処理装置Ａ（１）〜Ａ（ｊ−１）において既に決定された経路（全体の経路のうちの一部または全部）については、経路決定部２３４は、例えば、そのままの経路を採用して、当該経路にしたがった経路を決定する。
【００５０】
また、経路決定部２３４は、自装置よりも前の順番にある情報処理装置Ａ（１）〜Ａ（ｊ−１）において未定である経路（全体の経路のうちの一部）のうちの一部または全部を決定してもよい。この場合、経路決定部２３４は、例えば、情報処理装置検索部１３２と同様な機能を有してもよく、当該機能により情報処理装置が探索された結果に基づいて、経路を決定してもよい。
一例として、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ−１）が、１つ後の順番にある情報処理装置Ａ（２）〜Ａ（Ｎ）（次の通信相手）を決定する構成が用いられてもよい。
【００５１】
アルゴリズム送信制御部２３５は、アルゴリズム生成部２３３により生成されたアルゴリズムが記述されたデータ（アルゴリズムデータａ（ｊ））を（ｊ＋１）番目の情報処理装置Ａ（ｊ＋１）に対して通信部２１４により送信するように制御する。
ここで、本実施形態では、アルゴリズムデータａ（ｊ）には、経路決定部２３４により決定された経路を示す情報（経路情報）が付加される。
【００５２】
＜Ｎ番目の情報処理装置Ａ（Ｎ）の概要＞
図４を参照して説明する。
Ｎ番目の情報処理装置Ａ（Ｎ）は、入力部３１１と、出力部３１２と、記憶部３１３と、通信部３１４と、制御部３１５を備える。
ここで、入力部３１１、出力部３１２、記憶部３１３、通信部３１４のそれぞれの機能は、概略的には、１番目の情報処理装置Ａ（１）における入力部１１１、出力部１１２、記憶部１１３、通信部１１４のそれぞれの機能と同様であり、ここでは詳しい説明を省略する。
図４の例では、記憶部３１３は、データ３５１を記憶している。
記憶部３１３は、例えば、受信されたアルゴリズムデータａ（Ｎ−１）、受信された演算結果データｂ（Ｎ−２）、あるいは、自装置から送信された演算結果データｂ（Ｎ−１）のうちの１以上を記憶してもよい。なお、記憶部３１３に記憶されたデータは、例えば、再利用されてもよい。
【００５３】
制御部３１５は、アルゴリズム取得部３３１と、演算実行部３３２と、通知先決定部３３３と、演算結果通知制御部３３４を備える。
アルゴリズム取得部３３１は、１つ前の順番の情報処理装置である（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）から送信されて通信部３１４により受信されたアルゴリズムデータａ（Ｎ−１）を取得する。また、（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）から演算結果データｂ（Ｎ−２）も送信されてくる場合には、当該演算結果データｂ（Ｎ−２）も通信部３１４により受信される。
【００５４】
演算実行部３３２は、記憶部３１３に記憶されたデータ３５１を用いて、アルゴリズム取得部３３１により取得されたアルゴリズムに応じた演算を実行する。この場合に、演算実行部３３２は、当該アルゴリズムにしたがって、必要であれば、（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）から受信された演算結果データｂ（Ｎ−２）も用いて、当該演算を実行する。
これにより、演算実行部３３２は、演算結果データｂ（Ｎ−１）を取得する。ここで、演算実行部３３２は、演算結果データｂ（Ｎ−１）に、例えば、それよりも前の順番にある情報処理装置において取得された演算結果データのうちの一部または全部を含めてもよい。
【００５５】
通知先決定部３３３は、演算結果データｂ（Ｎ−１）の通知先となる他の情報処理装置を決定する。
本実施形態では、通知先決定部３３３は、１番目の情報処理装置Ａ（１）を通知先として決定する。本実施形態では、１番目の情報処理装置Ａ（１）から２番目以降の情報処理装置Ａ（２）〜Ａ（Ｎ−１）を経由してＮ番目の情報処理装置Ａ（Ｎ）により取得される経路情報に、１番目の情報処理装置Ａ（１）を識別する情報が含まれているとする。
【００５６】
他の例として、通知先決定部３３３は、１番目の情報処理装置Ａ（１）以外の装置を通知先として決定してもよい。当該通知先となる装置は、例えば、あらかじめ設定されてもよく、あるいは、通知先決定部３３３によりリアルタイムに決定されてもよい。
一例として、あらかじめ設定された通知先となる装置を識別する情報が、１番目の情報処理装置Ａ（１）から２番目以降の情報処理装置Ａ（２）〜Ａ（Ｎ−１）を経由してＮ番目の情報処理装置Ａ（Ｎ）により取得されてもよい。他の例として、通知先となる装置を識別する情報が、あらかじめ、Ｎ番目の情報処理装置Ａ（Ｎ）に設定されてもよい。
他の例として、通知先決定部３３３は、情報処理装置検索部１３２と同様な機能を有してもよく、当該機能により情報処理装置が探索された結果に基づいて、通知先を決定してもよい。
【００５７】
演算結果通知制御部３３４は、演算結果データｂ（Ｎ−１）を、通知先決定部３３３により決定された通知先（本実施形態では、１番目の情報処理装置Ａ（１））に対して通信部３１４により送信するように制御する。
【００５８】
［情報処理装置テーブルの概要］
図５は、本発明の一実施形態に係る情報処理装置テーブル３０１１の一例を示す図である。
１番目の情報処理装置Ａ（１）における情報処理装置検索部１３２（あるいは、同様な機能を有する他の装置の当該機能）は、情報処理装置に関するテーブル（情報処理装置テーブル）３０１１を使用してもよい。
【００５９】
情報処理装置テーブル３０１１は、例えば、記憶部１１３に記憶される。
情報処理装置テーブル３０１１は、それぞれの情報処理装置について、識別情報と、電源のオン／オフの状態と、他の属性（図５の例では、属性α、属性βなど）とを対応付けて格納する。
属性としては、任意の属性が用いられてもよく、例えば、情報処理装置が属するグループ、情報処理装置が存在する地域、情報処理装置を使用するユーザの年齢あるいは性別、情報処理装置の過去における協力度（例えば、図１に示されるようなアルゴリズムの伝達に加わった回数等）、などが用いられてもよい。当該協力度としては、具体例として、質問などに対する回答の数または頻度に基づく値であってもよい。
【００６０】
図５の例では、識別情報として、「０００１」あるいは「０００２」などの数字の情報が用いられている。
図５の例では、電源のオン／オフの状態として、「オン」は情報処理装置の電源がオンの状態であることを示しており、「オフ」は情報処理装置の電源がオフの状態であることを示している。
【００６１】
本実施形態では、情報処理装置検索部１３２は、情報処理装置が検索された結果に基づいて、情報処理装置テーブル３０１１を生成して、更新する。
なお、情報処理装置テーブル３０１１の情報のうちの一部があらかじめ設定されてもよい。
また、情報処理装置テーブル３０１１の情報のうちの一部がユーザにより書き込まれてもよい。
また、情報処理装置テーブル３０１１を記憶する情報処理装置では、自装置（当該情報処理装置）に関する情報については、当該情報処理装置テーブル３０１１に格納されてもよく、あるいは、格納されなくてもよい。
【００６２】
本実施形態では、１番目の情報処理装置Ａ（１）における経路決定部１３３（あるいは、同様な機能を有する他の装置の当該機能）は、電源がオンの状態である情報処理装置については経路に含ませ得るが、電源がオフの状態である情報処理装置については経路に含ませないようにする。つまり、本実施形態では、電源がオンの状態である情報処理装置のうちから、経路に含ませる情報処理装置を決定（選択）する手法が用いられてもよい。
また、例えば、１番目の情報処理装置Ａ（１）における経路決定部１３３（あるいは、同様な機能を有する他の装置の当該機能）は、所定のグループ（例えば、同一のグループ）に属する情報処理装置については経路に含ませ得るが、当該グループに属しない情報処理装置については経路に含ませないようにしてもよい。つまり、本実施形態では、所定のグループに属する情報処理装置のうちから、経路に含ませる情報処理装置を決定（選択）する手法が用いられてもよい。
なお、同様に、他の属性についても、所定の属性が所定の状態である情報処理装置のうちから、経路に含ませる情報処理装置を決定（選択）する手法が用いられてもよい。
【００６３】
また、例えば、１個以上の所定の属性の状態に基づいて、２個以上の異なる情報処理装置の候補のうちから、最も優先される一部である１個（または、所定数個）の情報処理装置を決定（選択）する手法が用いられてもよい。
【００６４】
［送信データの概要］
図６は、本発明の一実施形態に係る１番目の情報処理装置Ａ（１）から送信されるデータ（送信データ４０１１）の概略的な一例を示す図である。
送信データ４０１１は、アルゴリズム４０３１（ここでは、アルゴリズムが記述されたデータのことを表す。）と、パラメーター４０３２を含む。
図６の例では、アルゴリズム４０３１の実行に際して利用されるパラメーター４０３２が、当該アルゴリズム４０３１に付加されている。なお、パラメーター４０３２はアルゴリズム４０３１に含まれると捉えられてもよい。
また、本実施形態では、送信データ４０１１には、経路情報が含まれる。
【００６５】
図７は、本発明の一実施形態に係るｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置Ａ（ｊ）から送信されるデータ（送信データ４１１１）の概略的な一例を示す図である。
送信データ４１１１は、アルゴリズム４１３１（ここでは、アルゴリズムが記述されたデータのことを表す。）と、パラメーター４１３２と、演算結果４１３３を含む。
また、本実施形態では、送信データ４１１１には、経路情報が含まれる。
ここで、図７に示される送信データ４１１１は、概略的には、図６に示される送信データ４０１１に対して、演算結果４１３３が加えられている。
本実施形態では、演算結果４１３３は、演算結果データｂ（ｊ−１）に相当する。
【００６６】
図８は、本発明の一実施形態に係るＮ番目の情報処理装置Ａ（Ｎ）から送信されるデータ（送信データ４２１１）の概略的な一例を示す図である。
送信データ４２１１は、演算結果４２３１を含む。
本実施形態では、演算結果４２３１は、演算結果データｂ（Ｎ−１）に相当する。
【００６７】
［情報処理システムにおける全体的な動作の概要］
図９は、本発明の一実施形態（第１実施形態）に係る情報処理システム１における全体的な動作の概略を示す図である。
図９の例では、１番目の情報処理装置Ａ（１）からＮ番目の情報処理装置Ａ（Ｎ）まで、アルゴリズムデータａ（１）〜ａ（Ｎ−１）として、同一のアルゴリズムＣが記述されたデータが伝達されていく。なお、それぞれのアルゴリズムデータａ（１）〜ａ（Ｎ−１）におけるパラメーターは、例えば、同一であってもよく、あるいは、異なってもよい。
また、図９の例では、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）まで、それぞれの演算結果ｄ（１）〜ｄ（Ｎ−１）が伝達されていく。
【００６８】
これにより、本例では、同一のアルゴリズムＣに応じた演算が、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）までのそれぞれにおいて、それぞれに記憶されたデータを用いて実行され、これらの実行結果（演算結果ｄ（１）〜ｄ（Ｎ−１））が最終的には１番目の情報処理装置Ａ（１）に通知される。
なお、演算結果ｄ（１）〜ｄ（Ｎ−１）は、例えば、それぞれ独立に並べられてもよく、あるいは、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）まで伝達されるにしたがって、それぞれの情報処理装置Ａ（３）〜Ａ（Ｎ）において過去の演算結果が演算に使用されることで、次の演算結果のなかに実質的に含まれてもよい。
【００６９】
ここで、同一のアルゴリズムＣが所定の変数ｘを用いた所定の関数Ｆ（ｘ）によって表されるとすると、アルゴリズムデータａ（１）、アルゴリズムデータａ（２）、アルゴリズムデータａ（３）・・・は、例えば、Ｆ（ｘ）、Ｆ（Ｆ（ｘ））、Ｆ（Ｆ（Ｆ（ｘ）））・・・となる。
【００７０】
＜具体的な適用の例＞
図９を参照して、具体的な適用の例を示す。
一例として、１番目の情報処理装置Ａ（１）は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）へ試験の内容を複製するためのアルゴリズムＣの内容を配布し、当該試験の内容を受け取った情報処理装置Ａ（２）〜Ａ（Ｎ）の一覧情報を取得することができる。この場合、アルゴリズムＣは、所定の試験の内容の情報を複製して保存する処理を規定する。当該試験の内容の情報は、例えば、１番目の情報処理装置Ａ（１）が２番目の情報処理装置Ａ（２）に送信するデータに含まれてもよく、あるいは、２番目の情報処理装置Ａ（２）に記憶されたデータに含まれていて当該データから抽出されてもよい。また、アルゴリズムＣは、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）が試験の内容を複製したことを通知するために、自装置（情報処理装置Ａ（２）〜Ａ（Ｎ））の識別情報をそれぞれの演算結果データｄ（１）〜ｄ（Ｎ−１）に含める処理を規定する。これにより、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）のそれぞれにおいて試験の内容が複製され、また、試験の内容が複製された（つまり、試験の内容を受け取った）すべての情報処理装置Ａ（２）〜Ａ（Ｎ）の識別情報の一覧（演算結果データｄ（Ｎ−１））が１番目の情報処理装置Ａ（１）により取得される。
ここで、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）の識別情報は、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）に記憶されたデータに含まれている。
なお、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）の識別情報の代わりに、例えば、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）を操作するユーザ（例えば、試験を受ける者）などの識別情報が用いられてもよい。
【００７１】
他の例として、１番目の情報処理装置Ａ（１）は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）へ試験の合否を判定するためのアルゴリズムＣの内容を配布し、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）について当該試験の合否の判定結果の一覧情報を取得することができる。この場合、アルゴリズムＣは、所定の試験の解答の情報を参照して合否を判定する処理を規定する。それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）における当該試験の解答の情報は、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）に記憶されたデータに含まれている。また、アルゴリズムＣは、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）について合否の判定結果を通知するために、自装置（情報処理装置Ａ（２）〜Ａ（Ｎ））における合否の判定結果を示す情報をそれぞれの演算結果データｄ（１）〜ｄ（Ｎ−１）に含める処理を規定する。これにより、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）のそれぞれにおいて試験の解答に基づいて合否が判定され、また、すべての情報処理装置Ａ（２）〜Ａ（Ｎ）についてそれぞれの合否の判定結果を示す情報の一覧（演算結果データｄ（Ｎ−１））が１番目の情報処理装置Ａ（１）により取得される。
なお、当該一覧（演算結果データｄ（Ｎ−１））では、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）について、合否の判定結果を示す情報に、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）あるいは対応するユーザなどの識別情報が対応付けられる。
１番目の情報処理装置Ａ（１）では、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）における解答（答案）のデータを回収せずに、合否の判定結果のデータを取得することができる。
合否の判定結果のデータとしては、例えば、合格したものだけに関するデータが用いられてもよく、合格しなかったものだけに関するデータが用いられてもよく、あるいは、これらの両方に関するデータが用いられてもよい。
【００７２】
［情報処理装置において行われる処理の概要］
＜１番目の情報処理装置において行われる処理＞
図１０は、本発明の一実施形態に係る１番目の情報処理装置Ａ（１）において行われる処理の手順の一例を示す図である。
【００７３】
（ステップＳ１）
アルゴリズム生成部１３１は、アルゴリズム（図９の例では、アルゴリズムＣ）を生成し、ステップＳ２の処理へ移行する。
（ステップＳ２）
情報処理装置検索部１３２は、少なくとも次の通信相手である情報処理装置Ａ（２）を検索し、ステップＳ３の処理へ移行する。なお、１番目の情報処理装置Ａ（１）がすべての情報処理装置Ａ（２）〜Ａ（Ｎ）を決定する場合には、情報処理装置検索部１３２はすべての情報処理装置Ａ（２）〜Ａ（Ｎ）を検索する。
【００７４】
（ステップＳ３）
経路決定部１３３は、情報処理装置検索部１３２による検索結果に基づいて、少なくとも次の通信相手を含む経路を決定し、ステップＳ４の処理へ移行する。なお、１番目の情報処理装置Ａ（１）がすべての情報処理装置Ａ（２）〜Ａ（Ｎ）を決定する場合には、経路決定部１３３はすべての経路を決定する。
（ステップＳ４）
アルゴリズム送信制御部１３４は、アルゴリズム生成部１３１により生成されたアルゴリズムが記述されたデータ（アルゴリズムデータａ（１））を、経路決定部１３３により決定された経路にしたがって、次の通信相手（２番目の情報処理装置Ａ（２））に送信し、ステップＳ５の処理へ移行する。
【００７５】
（ステップＳ５）
演算結果取得部１３５は、Ｎ番目の情報処理装置Ａ（Ｎ）から、最終的な演算結果の情報（演算結果データｂ（Ｎ−１））を取得（回収）し、本フローの処理を終了する。
【００７６】
＜ｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置において行われる処理＞
図１１は、本発明の一実施形態に係るｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置Ａ（ｊ）において行われる処理の手順の一例を示す図である。
【００７７】
（ステップＳ２１）
アルゴリズム取得部２３１は、１つ前の順番にある情報処理装置Ａ（ｊ−１）から送信されてきたアルゴリズムデータａ（ｊ−１）に基づいて、当該アルゴリズムデータａ（ｊ−１）に記述されたアルゴリズムを取得し、ステップＳ２２の処理へ移行する。
（ステップＳ２２）
演算実行部２３２は、記憶部２１３に記憶されたデータ２５１を用いて、アルゴリズム取得部２３１により取得されたアルゴリズムに基づいて、当該アルゴリズムに応じた演算を実行し、ステップＳ２３の処理へ移行する。
【００７８】
（ステップＳ２３）
アルゴリズム生成部２３３は、１つ次の順番にある情報処理装置Ａ（ｊ＋１）に送信するアルゴリズム（図９の例では、同一のアルゴリズムＣ）を生成（本例では、例えば、複製）し、ステップＳ２４の処理へ移行する。
（ステップＳ２４）
経路決定部２３４は、少なくとも次の通信相手を含む経路を決定し、ステップＳ２５の処理へ移行する。なお、１番目の情報処理装置Ａ（１）がすべての経路を決定する場合には、経路決定部２３４は、既に決定されている経路と同一の経路となるように経路を決定（例えば、複製でもよい。）する。
【００７９】
（ステップＳ２５）
アルゴリズム送信制御部２３５は、アルゴリズム生成部２３３により生成されたアルゴリズムが記述されたデータ（アルゴリズムデータａ（ｊ））を、経路決定部２３４により決定された経路にしたがって、次の通信相手（（ｊ＋１）番目の情報処理装置Ａ（ｊ＋１））に送信し、本フローの処理を終了する。このとき、アルゴリズム送信制御部２３５は、演算実行部２３２により演算が実行された結果に基づく演算結果データｂ（ｊ−１）も、次の通信相手（（ｊ＋１）番目の情報処理装置Ａ（ｊ＋１））に送信する。
【００８０】
＜Ｎ番目の情報処理装置において行われる処理＞
図１２は、本発明の一実施形態に係るＮ番目の情報処理装置Ａ（Ｎ）において行われる処理の手順の一例を示す図である。
【００８１】
（ステップＳ４１）
アルゴリズム取得部３３１は、１つ前の順番にある情報処理装置Ａ（Ｎ−１）から送信されてきたアルゴリズムデータａ（Ｎ−１）に基づいて、当該アルゴリズムデータａ（Ｎ−１）に記述されたアルゴリズムを取得し、ステップＳ４２の処理へ移行する。
（ステップＳ４２）
演算実行部３３２は、記憶部３１３に記憶されたデータ３５１を用いて、アルゴリズム取得部３３１により取得されたアルゴリズムに基づいて、当該アルゴリズムに応じた演算を実行し、ステップＳ４３の処理へ移行する。
【００８２】
（ステップＳ４３）
通知先決定部３３３は、演算結果の通知先を決定し、ステップＳ４４の処理へ移行する。なお、１番目の情報処理装置Ａ（１）が通知先（例えば、１番目の情報処理装置Ａ（１））を指定している場合には、通知先決定部３３３は、指定された通知先となるように通知先を決定する。この場合、通知先を指定する情報は、１番目の情報処理装置Ａ（１）からＮ番目の情報処理装置Ａ（Ｎ）まで伝達される。
（ステップＳ４４）
演算結果通知制御部３３４は、演算実行部３３２により演算が実行された結果に基づく演算結果データｂ（Ｎ−１）を、通知先に対して送信することで、当該通知先に通知し、本フローの処理を終了する。
【００８３】
ここで、図１の例では、最後の順番にあるＮ番目の情報処理装置Ａ（Ｎ）により得られた演算結果データｂ（Ｎ−１）を１番目の情報処理装置Ａ（１）に送信する構成としたが、他の例として、最後の順番にあるＮ番目の情報処理装置Ａ（Ｎ）により得られた演算結果データｂ（Ｎ−１）を他の装置に送信する構成が用いられてもよい。当該他の装置としては、例えば、２番目の情報処理装置Ａ（２）から（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）のうちの任意の１個以上の情報処理装置であってもよく、あるいは、別の情報処理装置（図示せず）であってもよい。当該別の情報処理装置は、例えば、あらかじめ定められてもよく、当該別の情報処理装置を指定する情報がアルゴリズムデータａ（１）〜ａ（Ｎ−１）に付加されてもよい。
【００８４】
また、本実施形態では、最後の順番にあるＮ番目の情報処理装置Ａ（Ｎ）により得られた演算結果データｂ（Ｎ−１）を通知先となる任意の装置に送信する場合を示したが、途中の順番にある２番目の情報処理装置Ａ（２）から（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）のうちの一部または全部の演算結果データｂ（ｊ）を通知先となる任意の装置に送信する構成が用いられてもよい。
また、それぞれの演算結果データｂ（１）〜ｂ（Ｎ―１）の通知先としては、任意の装置が用いられてもよい。また、それぞれの演算結果データｂ（１）〜ｂ（Ｎ―１）の通知先としては、例えば、同一の装置であってもよく、あるいは、異なる装置であってもよい。
一例として、Ｎ番目の情報処理装置Ａ（Ｎ）が、Ｎ番目の演算結果データｂ（Ｎ−１）を、１番目の情報処理装置Ａ（１）から（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）のそれぞれに通知してもよい。この場合、最終的な演算結果データｂ（Ｎ−１）が、すべての情報処理装置Ａ（１）〜Ａ（Ｎ）により共有される。
【００８５】
また、本実施形態では、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）は、受信されたデータ（例えば、アルゴリズムデータ、演算結果データ）を使用した後に、当該データを消去してもよく、あるいは、当該データの一部または全部を記憶して保存してもよい。
また、本実施形態では、それぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、送信したデータ（例えば、アルゴリズムデータ、演算結果データ）について、送信の後に、消去してもよく、あるいは、当該データの一部または全部を記憶して保存してもよい。
【００８６】
また、本実施形態では、１個の経路に含まれるそれぞれの情報処理装置Ａ（１）〜Ａ（Ｎ）は、１回だけ当該経路に含まれるが、他の例として、１個の経路に同一の情報処理装置が２回以上含まれる場合があってもよい。
また、本実施形態では、複数の情報処理装置Ａ（１）〜Ａ（Ｎ）が順番に通信を行っていくことを、例えば、ブロックチェーンの技術を用いて、実現してもよい。
【００８７】
［第１実施形態について］
以上のように、本実施形態に係る情報処理システム１では、複数の情報処理装置Ａ（１）〜Ａ（Ｎ）が有するデータを用いて所定の演算を実行することを効率化することが可能である。本実施形態に係る情報処理システム１では、特に、ビッグデータの処理に有効である。
本実施形態に係る情報処理システム１では、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）において記憶されたデータを送信（転送）するのではなく、アルゴリズムが記述されたデータ（アルゴリズムデータａ（２）〜ａ（Ｎ−１））を順番に通信していき、演算結果に関するデータ（演算結果データｂ（１）〜ｂ（Ｎ−２））を順番に渡していくため、例えば、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）において記憶されたデータが膨大であるような場合に、特に効率的である。
【００８８】
本実施形態に係る情報処理システム１では、全体的な処理の効率化により、例えば、高速なレスポンス、高速なデータ共有、高速な大規模演算処理が可能である。
また、本実施形態に係る情報処理システム１では、例えば、サーバの機能を備えない構成を採用した場合、サーバの設置および維持に要する費用を省略することができる。
また、本実施形態に係る情報処理システム１では、例えば、情報処理装置Ａ（１）〜Ａ（Ｎ）の間の通信を採用することで、通信費用を低減することも可能である。
また、本実施形態に係る情報処理システム１では、例えば、暗号化あるいは所定の権限の設定などを行うことにより、セキュア性を確保することも可能である。
【００８９】
ここで、本実施形態に係る情報処理システム１では、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）において、アルゴリズムが記述されたデータ（アルゴリズムデータａ（２）〜ａ（Ｎ−１））と演算結果に関するデータ（演算結果データｂ（１）〜ｂ（Ｎ−２））を順番に通信していく場合を示したが、他の構成例として、演算結果データｂ（１）〜ｂ（Ｎ−２）については通信されない構成、または、演算結果データｂ（１）〜ｂ（Ｎ−２）については通信されるがアルゴリズムデータａ（２）〜ａ（Ｎ−１）と一緒には通信されない構成が用いられてもよい。すなわち、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）において、アルゴリズムが記述されたデータ（アルゴリズムデータａ（２）〜ａ（Ｎ−１））を順番に通信していく構成であると捉えることも可能であり、それ以外の付加的な構成が必要に応じて備えられてもよい。
【００９０】
（第２実施形態）
図１３を参照して説明する。
本実施形態では、第１実施形態と比べて、１番目の情報処理装置Ａ（１）からＮ番目の情報処理装置Ａ（Ｎ）までアルゴリズムが伝達されるときに、当該アルゴリズムの内容が変化し得る点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図１３に示される符号を除いて、第１実施形態の場合と同じ符号（図に示される符号）を用いて説明する。
【００９１】
［情報処理システムにおける全体的な動作の概要］
図１３は、本発明の一実施形態（第２実施形態）に係る情報処理システム１における全体的な動作の概略を示す図である。
図１３の例では、１番目の情報処理装置Ａ（１）からＮ番目の情報処理装置Ａ（Ｎ）まで、アルゴリズムデータｅ（１）〜ｅ（Ｎ−１）として、それぞれの内容が異なり得るアルゴリズムが記述されたデータが伝達されていく。なお、それぞれのアルゴリズムデータｅ（１）〜ｅ（Ｎ−１）におけるパラメーターは、例えば、同一であってもよく、あるいは、異なってもよい。
また、図１３の例では、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）まで、それぞれの演算結果ｄ（１）〜ｄ（Ｎ−１）が伝達されていく。
【００９２】
ここで、本実施形態では、ｊ（ｊ＝２〜Ｎ−１）番目の情報処理装置Ａ（ｊ）において、アルゴリズム生成部２３３は、アルゴリズム取得部２３１により取得されたアルゴリズムに対して、同一のアルゴリズムまたは異なるアルゴリズムを、次のアルゴリズムとして生成する。
一例として、１番目の情報処理装置Ａ（１）からＮ番目の情報処理装置Ａ（Ｎ）までのアルゴリズムのすべてが、１番目の情報処理装置Ａ（１）によって、あらかじめ定められていてもよい。この場合、これらすべてのアルゴリズムのそれぞれを指定（特定）する情報は、例えば、１番目の情報処理装置Ａ（１）から送信されるアルゴリズムデータｅ（１）に含められていてもよい。
【００９３】
他の例として、２番目の情報処理装置Ａ（２）から（Ｎ−１）番目の情報処理装置Ａ（Ｎ−１）のうちの一部または全部は、アルゴリズム取得部２３１により取得されたアルゴリズムに基づいて次のアルゴリズムを生成する規則を記憶部２１３に記憶していてもよい。当該規則は、例えば、あらかじめ記憶部２１３に記憶されてもよく、あるいは、任意のタイミングで外部から入力されて記憶部２１３に記憶されてもよい。また、ｊが３以上である場合、当該規則は、例えば、アルゴリズム取得部２３１により取得されたアルゴリズムと、受信された演算結果データに基づいて次のアルゴリズムを生成する規則であってもよい。
なお、次のアルゴリズムを生成する手法としては、例えば、新たにアルゴリズムを生成する手法が用いられてもよく、あるいは、前のアルゴリズム（例えば、１つ前のアルゴリズム）の一部を変更することで次のアルゴリズムを生成する手法が用いられてもよい。
【００９４】
また、本実施形態では、ｊが２以上である場合に、ｊ番目の情報処理装置Ａ（ｊ）において、アルゴリズム生成部２３３は、当該ｊ番目の情報処理装置Ａ（ｊ）に記憶されたデータの一部または全部（さらに、必要に応じて、他のデータ）に基づいて、次のアルゴリズムを生成してもよい。
また、本実施形態では、ｊが３以上である場合に、ｊ番目の情報処理装置Ａ（ｊ）において、アルゴリズム生成部２３３は、（ｊ−１）番目の情報処理装置Ａ（ｊ−１）から受信された演算結果データの一部または全部（さらに、必要に応じて、他のデータ）に基づいて、次のアルゴリズムを生成してもよい。
【００９５】
これにより、本例では、異なり得るアルゴリズムｅ（１）〜ｅ（Ｎ−１）に応じた演算が、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）までのそれぞれにおいて、それぞれに記憶されたデータを用いて実行され、これらの実行結果（演算結果ｆ（１）〜ｆ（Ｎ−１））が最終的には１番目の情報処理装置Ａ（１）に通知される。
なお、演算結果ｆ（１）〜ｆ（Ｎ−１）は、例えば、それぞれ独立に並べられてもよく、あるいは、２番目の情報処理装置Ａ（２）からＮ番目の情報処理装置Ａ（Ｎ）まで伝達されるにしたがって、それぞれの情報処理装置Ａ（３）〜Ａ（Ｎ）において過去の演算結果が演算に使用されることで、次の演算結果のなかに実質的に含まれてもよい。
【００９６】
ここで、複数の異なるアルゴリズムデータａ（１）〜ａ（Ｎ−１）が所定の変数ｘを用いた所定の関数Ｆ＜１＞（ｘ）〜Ｆ＜Ｎ−１＞（ｘ）によって表されるとすると、アルゴリズムデータａ（１）、アルゴリズムデータａ（２）、アルゴリズムデータａ（３）・・・は、例えば、Ｆ＜１＞（ｘ）、Ｆ＜２＞（Ｆ＜１＞（ｘ））、Ｆ＜３＞（Ｆ＜２＞（Ｆ＜１＞（ｘ）））・・・となる。
【００９７】
＜具体的な適用の例＞
図１３を参照して、具体的な適用の例を示す。
一例として、１番目の情報処理装置Ａ（１）は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）へ試験の内容を複製するためのアルゴリズムｅ（１）の内容を配布し、試験の内容を受け取った情報処理装置Ａ（２）〜Ａ（Ｎ）の一覧情報を取得することができる。この場合、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、所定の試験の内容の情報を生成して保存する処理を規定する。この場合に、本例では、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、少なくとも一部が異なっている。例えば、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、選択問題における複数の選択肢の並び順序を決める手順の部分が異なってもよい。また、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）が試験の内容を生成したことを通知するために、自装置（情報処理装置Ａ（２）〜Ａ（Ｎ））の識別情報をそれぞれの演算結果データｆ（１）〜ｆ（Ｎ−１）に含める処理を規定する。
なお、図１３の例では、図９の例と比べて、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）が異なり得る点で相違しており、他の点では同様であってもよい。
【００９８】
他の例として、１番目の情報処理装置Ａ（１）は、他の情報処理装置Ａ（２）〜Ａ（Ｎ）へ試験の合否を判定するためのアルゴリズムｅ（１）の内容を配布し、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）について当該試験の合否の判定結果の一覧情報を取得することができる。この場合、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、所定の試験の解答の情報を参照して合否を判定する処理を規定する。この場合に、本例では、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、少なくとも一部が異なっている。例えば、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、多数の問題のなかで解答されるべき問題と解答不要な問題とが混合していて情報処理装置Ａ（２）〜Ａ（Ｎ）ごとに異なり得るときに、採点すべき問題（つまり、解答すべき問題）を決める手順の部分が異なってもよい。また、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）は、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）について合否の判定結果を通知するために、自装置（情報処理装置Ａ（２）〜Ａ（Ｎ））における合否の判定結果を示す情報をそれぞれの演算結果データｆ（１）〜ｆ（Ｎ−１）に含める処理を規定する。
なお、図１３の例では、図９の例と比べて、それぞれのアルゴリズムｅ（１）〜ｅ（Ｎ−１）が異なり得る点で相違しており、他の点では同様であってもよい。
【００９９】
［第２実施形態について］
以上のように、本実施形態に係る情報処理システム１では、複数の情報処理装置Ａ（１）〜Ａ（Ｎ）が有するデータを用いて所定の演算を実行することを効率化することが可能である。この場合に、本実施形態に係る情報処理システム１では、それぞれの情報処理装置Ａ（２）〜Ａ（Ｎ）において、アルゴリズムが記述されたデータ（アルゴリズムデータ）を順番に通信していくに際して、アルゴリズムを変更することが可能である。これにより、本実施形態に係る情報処理システム１では、例えば、経路の全体における処理を適切にするように、アルゴリズムを変更することが可能である。
【０１００】
（第３実施形態）
図１４および図１５を参照して説明する。
本実施形態では、上記の実施形態（第１実施形態〜第２実施形態）と比べて、それぞれの情報処理装置がアルゴリズムに応じた演算の実行結果が十分な結果であるか否かを判定する点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図１４および図１５に示される符号を除いて、上記の実施形態（第１実施形態〜第２実施形態）の場合と同じ符号（図に示される符号）を用いて説明する。
【０１０１】
［情報処理装置の概要］
図１４は、本発明の一実施形態（第３実施形態）に係るｚ（一例としてｚ＝３〜Ｎであるが、本実施形態では、ｚ＝２である場合も含めて説明する。）番目の情報処理装置Ｂ（ｚ）の概略的な構成例を示す図である。なお、本実施形態では、経路に含まれる情報処理装置の総数（Ｎ個）は、変動し得るが、説明の便宜上、Ｎ個（本実施形態において、Ｎは変動し得る。）であるとして説明する。
ｚ番目の情報処理装置Ｂ（ｚ）は、入力部４１１と、出力部４１２と、記憶部４１３と、通信部４１４と、制御部４１５を備える。
ここで、入力部４１１、出力部４１２、記憶部４１３、通信部４１４のそれぞれの機能は、概略的には、第１実施形態に係る１番目の情報処理装置Ａ（１）における入力部１１１、出力部１１２、記憶部１１３、通信部１１４のそれぞれの機能と同様であり、ここでは詳しい説明を省略する。
図１４の例では、記憶部４１３は、データ４５１を記憶している。
【０１０２】
制御部４１５は、アルゴリズム取得部４３１と、演算実行部４３２と、演算結果判定部４３３と、アルゴリズム生成部４３４と、経路決定部４３５と、アルゴリズム送信制御部４３６と、通知先決定部４３７と、演算結果通知制御部４３８を備える。
アルゴリズム取得部４３１は、１つ前の順番の情報処理装置である（ｚ−１）番目の情報処理装置Ｂ（ｚ−１）から送信されて通信部４１４により受信されたアルゴリズムデータａ（ｚ−１）を取得する。また、（ｚ−１）番目の情報処理装置Ｂ（ｚ−１）から演算結果データｂ（ｚ−２）も送信されてくる場合には、当該演算結果データｂ（ｚ−２）も通信部４１４により受信される。
【０１０３】
演算実行部４３２は、記憶部４１３に記憶されたデータ４５１を用いて、アルゴリズム取得部４３１により取得されたアルゴリズムに応じた演算を実行する。この場合に、演算実行部４３２は、当該アルゴリズムにしたがって、必要であれば、（ｚ−１）番目の情報処理装置Ｂ（ｚ−１）から受信された演算結果データｂ（ｚ−２）も用いて、当該演算を実行する。
これにより、演算実行部４３２は、演算結果データｂ（ｚ−１）を取得する。ここで、演算実行部４３２は、演算結果データｂ（ｚ−１）に、例えば、それよりも前の順番にある情報処理装置において取得された演算結果データのうちの一部または全部を含めてもよい。
【０１０４】
演算結果判定部４３３は、演算実行部４３２により演算が実行された結果として得られた演算結果データｂ（ｚ−１）について、最終的な演算結果とするか否かを判定する。
ここで、判定対象の演算結果を最終的な演算結果とするか否かは、例えば、所定の判定基準を用いて判定される。
所定の判定基準としては、任意の基準が用いられてもよい。
一例として、所定の判定基準として、既にアルゴリズムに応じた演算を実行した情報処理装置の数（（ｚ−１）個）が所定の閾値以上である場合に最終的な演算結果とし、他の場合に最終的な演算結果としない基準が用いられてもよい。
他の例として、所定の判定基準として、得られた演算結果に含まれる情報の量が所定の閾値以上である場合に最終的な演算結果とし、他の場合に最終的な演算結果としない基準が用いられてもよい。
他の例として、所定の判定基準として、１番目の情報処理装置Ｂ（１）から１番目のアルゴリズムデータａ（１）が送信された時刻から経過した時間が所定の閾値以上である場合に最終的な演算結果とし、他の場合に最終的な演算結果としない基準が用いられてもよい。この場合、当該時刻あるいは当該時間の情報が、１番目の情報処理装置Ｂ（１）から以降の情報処理装置Ｂ（ｊ）へ順次伝達されていく。
【０１０５】
なお、このような判定基準としては、例えば、すべての情報処理装置Ｂ（ｚ）において同一の判定基準が用いられてもよく、あるいは、それぞれの情報処理装置Ｂ（ｚ）ごとに異なり得る判定基準が用いられてもよい。
また、このような判定基準は、例えば、１番目の情報処理装置Ｂ（１）により指定されてもよく、あるいは、それぞれの情報処理装置Ｂ（ｚ）によって生成することが可能であってもよい。
【０１０６】
一例として、２番目の情報処理装置Ｂ（２）およびそれ以降の情報処理装置（本例では、Ｎ番目の情報処理装置Ｂ（Ｎ）までの情報処理装置）の判定基準のすべてが、１番目の情報処理装置Ｂ（１）によって、あらかじめ定められていてもよい。この場合、これらすべての判定基準のそれぞれを指定（特定）する情報は、例えば、１番目の情報処理装置Ｂ（１）から送信されるアルゴリズムデータａ（１）に含められていてもよい。
他の例として、２番目の情報処理装置Ｂ（２）およびそれ以降の情報処理装置（本例では、Ｎ番目の情報処理装置Ｂ（Ｎ）までの情報処理装置）のうちの一部または全部は、独自に判定基準を生成してもよい。当該判定基準を生成する手法としては、任意の手法が用いられてもよい。
【０１０７】
アルゴリズム生成部４３４は、（ｚ−１）番目の情報処理装置Ｂ（ｚ−１）から受信されたアルゴリズムデータａ（ｚ−１）に基づいて、１つ後の順番の情報処理装置である（ｚ＋１）番目の情報処理装置Ｂ（ｚ＋１）に送信するアルゴリズムデータａ（ｚ）のアルゴリズムを生成する。
経路決定部４３５は、少なくとも１つ後の順番の情報処理装置である（ｚ＋１）番目の情報処理装置Ｂ（ｚ＋１）が含まれる経路を決定する。一例として、それぞれの情報処理装置Ｂ（１）〜Ｂ（Ｎ−１）が、１つ後の順番にある情報処理装置Ｂ（２）〜Ｂ（Ｎ）（次の通信相手）を決定する構成が用いられてもよい。
【０１０８】
アルゴリズム送信制御部４３６は、アルゴリズム生成部４３４により生成されたアルゴリズムが記述されたデータ（アルゴリズムデータａ（ｚ））を（ｚ＋１）番目の情報処理装置Ｂ（ｚ＋１）に対して通信部４１４により送信するように制御する。
ここで、本実施形態では、アルゴリズムデータａ（ｚ）には、経路決定部４３５により決定された経路を示す情報（経路情報）が付加される。
【０１０９】
通知先決定部４３７は、演算結果データｂ（ｚ−１）の通知先となる他の情報処理装置を決定する。
本実施形態では、通知先決定部４３７は、１番目の情報処理装置Ｂ（１）を通知先として決定する。本実施形態では、１番目の情報処理装置Ｂ（１）から２番目以降の情報処理装置Ｂ（２）〜Ｂ（Ｎ−１）を経由してＮ番目の情報処理装置Ｂ（Ｎ）により取得される経路情報に、１番目の情報処理装置Ｂ（１）を識別する情報が含まれているとする。
【０１１０】
他の例として、通知先決定部４３７は、１番目の情報処理装置Ｂ（１）以外の装置を通知先として決定してもよい。当該通知先となる装置は、例えば、あらかじめ設定されてもよく、あるいは、通知先決定部４３７によりリアルタイムに決定されてもよい。
一例として、あらかじめ設定された通知先となる装置を識別する情報が、１番目の情報処理装置Ｂ（１）から２番目以降の情報処理装置Ｂ（２）〜Ｂ（Ｎ−１）を経由してＮ番目の情報処理装置Ｂ（Ｎ）により取得されてもよい。他の例として、通知先となる装置を識別する情報が、あらかじめ、任意の情報処理装置（本例では、少なくとも、Ｎ番目の情報処理装置Ｂ（Ｎ）となり得る情報処理装置）に設定されてもよい。
他の例として、通知先決定部４３７は、情報処理装置検索部１３２と同様な機能を有してもよく、当該機能により情報処理装置が探索された結果に基づいて、通知先を決定してもよい。
【０１１１】
演算結果通知制御部４３８は、演算結果データｂ（ｚ−１）を、通知先決定部４３７により決定された通知先（本実施形態では、１番目の情報処理装置Ｂ（１））に対して通信部４１４により送信するように制御する。
【０１１２】
［情報処理装置において行われる処理の概要］
図１５は、本発明の一実施形態（第３実施形態）に係るｚ（ｚ＝２〜Ｎ）番目の情報処理装置Ｂ（ｚ）において行われる処理の手順の一例を示す図である。
【０１１３】
（ステップＳ１１１）
アルゴリズム取得部４３１は、１つ前の順番にある情報処理装置Ｂ（ｚ−１）から送信されてきたアルゴリズムデータａ（ｚ−１）に基づいて、当該アルゴリズムデータａ（ｚ−１）に記述されたアルゴリズムを取得し、ステップＳ１１２の処理へ移行する。
（ステップＳ１１２）
演算実行部４３２は、記憶部４１３に記憶されたデータ４５１を用いて、アルゴリズム取得部４３１により取得されたアルゴリズムに基づいて、当該アルゴリズムに応じた演算を実行し、ステップＳ１１３の処理へ移行する。
【０１１４】
（ステップＳ１１３）
演算結果判定部４３３は、演算実行部４３２により演算が実行された結果（演算結果）について、最終的な演算結果とするか否かを判定する。
この判定の結果、演算結果判定部４３３は、演算実行部４３２により演算が実行された結果（演算結果）について、最終的な演算結果とすることを判定した場合、ステップＳ１１４の処理へ移行する。
一方、この判定の結果、演算結果判定部４３３は、演算実行部４３２により演算が実行された結果（演算結果）について、最終的な演算結果とはしないことを判定した場合、ステップＳ１１６の処理へ移行する。
【０１１５】
（ステップＳ１１４）
演算結果判定部４３３が演算結果を最終的な演算結果とすることを判定した場合、通知先決定部４３７は、演算結果の通知先を決定し、ステップＳ１１５の処理へ移行する。なお、１番目の情報処理装置Ｂ（１）が通知先（例えば、１番目の情報処理装置Ｂ（１））を指定している場合には、通知先決定部４３７は、指定された通知先となるように通知先を決定する。この場合、通知先を指定する情報は、１番目の情報処理装置Ｂ（１）からＮ番目の情報処理装置Ｂ（Ｎ）まで伝達される。
（ステップＳ１１５）
演算結果通知制御部４３８は、演算実行部４３２により演算が実行された結果に基づく演算結果データｂ（ｚ−１）を、通知先に対して送信することで、当該通知先に通知し、本フローの処理を終了する。
【０１１６】
（ステップＳ１１６）
演算結果判定部４３３が演算結果を最終的な演算結果とはしないことを判定した場合、  アルゴリズム生成部４３４は、１つ後の順番にある情報処理装置Ｂ（ｚ＋１）に送信するアルゴリズムを生成し、ステップＳ１１７の処理へ移行する。
（ステップＳ１１７）
経路決定部４３５は、少なくとも次の通信相手を含む経路を決定し、ステップＳ１１８の処理へ移行する。なお、１番目の情報処理装置Ｂ（１）がすべての経路を決定する場合には、経路決定部４３５は、既に決定されている経路と同一の経路となるように経路を決定する。
【０１１７】
（ステップＳ１１８）
アルゴリズム送信制御部４３６は、アルゴリズム生成部４３４により生成されたアルゴリズムが記述されたデータ（アルゴリズムデータａ（ｚ））を、経路決定部４３５により決定された経路にしたがって、次の通信相手（（ｚ＋１）番目の情報処理装置Ｂ（ｚ＋１））に送信し、本フローの処理を終了する。このとき、アルゴリズム送信制御部４３６は、演算実行部４３２により演算が実行された結果に基づく演算結果データｂ（ｚ−１）も、次の通信相手（（ｚ＋１）番目の情報処理装置Ｂ（ｚ＋１））に送信する。
【０１１８】
ここで、本実施形態では、Ｎ番目の情報処理装置Ｂ（Ｎ）において、得られた演算結果を最終的な演算結果とすることが判定されて、得られた演算結果が１番目の情報処理装置Ｂ（１）に通知される、場合を示してある。
なお、本実施形態では、例えば、２番目の情報処理装置Ｂ（２）から（Ｎ−１）番目の情報処理装置Ｂ（Ｎ−１）までのうちのいずれかの情報処理装置において、得られた演算結果を最終的な演算結果とすることが判定された場合には、当該情報処理装置により得られた演算結果が１番目の情報処理装置Ｂ（１）に通知される。
【０１１９】
また、情報処理装置において得られた演算結果を最終的な演算結果とするか否かを判定するための判定基準は、例えば、それぞれの情報処理装置Ｂ（ｚ）ごとに、更新されていってもよい。
また、情報処理装置において得られた演算結果を最終的な演算結果とするか否かを判定するための判定基準は、例えば、複数の情報処理装置Ｂ（ｚ）により得られた演算結果が比較されることで、その比較の結果に基づいて、更新されていってもよい。一例として、所定個以上の数の演算結果が同一の値であるまたは所定の範囲にある値である場合に、これらの演算結果を妥当とする判定基準が生成されてもよい。他の例として、同一の値でないまたは所定の範囲にない値である演算結果を、妥当でないとする判定基準が生成されてもよい。
【０１２０】
［第３実施形態について］
以上のように、本実施形態に係る情報処理装置Ｂ（ｚ）では、演算が実行された結果として得られた演算結果データｂ（ｚ−１）について、最終的な演算結果とするか否かを判定する。これにより、本実施形態に係る情報処理装置Ｂ（ｚ）では、例えば、最終的な演算結果として不十分な演算結果データである場合には経路を延長すること（つまり、次の情報処理装置Ｂ（ｚ＋１）にアルゴリズムを送信すること）ができ、一方、最終的な演算結果として十分な演算結果データである場合には経路を閉じる（つまり、他の情報処理装置にアルゴリズムを送信することを停止する）ことができる。
【０１２１】
（第４実施形態）
第１実施形態に係る図１の例では、１番目の情報処理装置Ａ（１）からＮ番目の情報処理装置Ａ（Ｎ）までが直列の関係にある経路を示したが、他の例として、並列な部分を含む経路が用いられてもよい。
本実施形態では、並列な部分（説明の便宜上、「階層化部分」ともいう。）を含む経路が用いられる場合について説明する。
【０１２２】
図１６〜図１８を参照して説明する。
本実施形態では、上記の実施形態（第１実施形態〜第３実施形態）と比べて、階層化部分を含む経路が用いられる点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図１６〜図１８に示される符号を除いて、上記の実施形態（第１実施形態〜第３実施形態）の場合と同じ符号（図に示される符号）を用いて説明する。
【０１２３】
［経路に含まれる階層化部分の概要］
図１６は、本発明の一実施形態（第４実施形態）に係る階層化部分５０１の概略的な構成例を示す図である。
図１６には、図１に示されるような全体的な経路のうち、階層化部分５０１だけを示してある。
図１６の例では、７個の情報処理装置Ｃ（１）〜Ｃ（７）を示してある。なお、本実施形態では、複数の情報処理装置Ｃ（１）〜Ｃ（７）の番号（１〜７）と順番（経路における順番）とは、必ずしも一致していない。
情報処理装置Ｃ（１）と情報処理装置Ｃ（５）との間に、２個に分岐された経路部分が並列に存在する。すなわち、情報処理装置Ｃ（１）、情報処理装置Ｃ（２）、情報処理装置Ｃ（３）、情報処理装置Ｃ（４）、情報処理装置Ｃ（５）が直列にある経路部分と、情報処理装置Ｃ（１）、情報処理装置Ｃ（６）、情報処理装置Ｃ（７）、情報処理装置Ｃ（５）が直列にある経路部分が存在する。
【０１２４】
ここで、全体的な経路の例では、情報処理装置Ｃ（１）よりも前の順番に１個以上の情報処理装置（図示せず）が存在し、また、情報処理装置Ｃ（５）よりも後の順番に１個以上の情報処理装置（図示せず）が存在する。
なお、他の例として、情報処理装置Ｃ（１）が１番目の情報処理装置であってもよく、また、情報処理装置Ｃ（５）がＮ番目の情報処理装置であってもよい。また、他の例として、情報処理装置Ｃ（５）が、演算結果の通知を受ける１番目の情報処理装置であってもよく、図１６の例では、２個の異なる情報処理装置Ｃ（４）、Ｃ（７）から演算結果の通知を受ける。
また、本実施形態では、２個に分岐された経路部分が並列に存在する経路を示すが、３個以上に分岐された経路部分が並列に存在する経路が用いられてもよい。また、経路部分が並列に存在する箇所（分岐の箇所）が２箇所以上ある経路が用いられてもよい。
【０１２５】
図１６の例では、情報処理装置Ｃ（１）よりも１つ前の順番の情報処理装置（図示せず）から情報処理装置Ｃ（１）に、アルゴリズムデータｇおよび演算結果データｈが送信される。
また、ｙ＝１〜７として、情報処理装置Ｃ（ｙ）からアルゴリズムデータｇ（ｙ）および演算結果データｈ（ｙ）が送信される。
情報処理装置Ｃ（１）は、アルゴリズムデータｇ（１）および演算結果データｈ（１）を、２個の異なる情報処理装置Ｃ（２）、Ｃ（６）に対して送信する。
【０１２６】
［情報処理装置の概要］
図１７は、本発明の一実施形態（第４実施形態）に係る情報処理装置Ｃ（５）における制御部５１１の概略的な構成例を示す図である。
情報処理装置Ｃ（５）は、２個の異なる情報処理装置Ｃ（４）、Ｃ（７）からアルゴリズムデータｇ（４）、ｇ（７）および演算結果データｈ（４）、ｇ（７）を受信する。
情報処理装置Ｃ（５）における制御部５１１は、処理部群５３１と、演算結果判定部５３２を備える。
処理部群５３１は、上記の実施形態（第１実施形態〜第３実施形態）に示される各種の処理部を含んでおり、詳しい説明を省略する。
【０１２７】
演算結果判定部５３２は、複数の演算結果データについて、所定の判定を行い、必要に応じて、判定の結果に応じた所定の処理を行う。
ここで、所定の判定としては、様々な判定が行われてもよく、例えば、整合性に関する判定、あるいは、経由された情報処理装置の数などに関する判定などが用いられてもよい。
また、所定の処理としては、様々な処理が用いられてもよく、例えば、１つ以上を選択する処理、あるいは、２つ以上を結合する処理などが用いられてもよい。
また、所定の判定において、例えば、当該判定の結果に応じて行われる所定の処理に関する基準を用いた判定が行われてもよい。具体例として、１つ以上を選択する処理について、選択を行うための基準に基づいた判定が行われてもよく、あるいは、２つ以上を結合する処理について、結合を行うための基準に基づいた判定が行われてもよい。選択を行うための基準としては、例えば、選択するか否かを判定するための基準が用いられてもよい。結合を行うための基準としては、例えば、結合する対象とするか否かを判定する基準、あるいは、結合の割合を判定（決定）するための基準などが用いられてもよい。
【０１２８】
一例として、演算結果判定部５３２は、複数の演算結果データの整合性を判定し、必要に応じて、判定の結果に応じた処理を行う。例えば、演算結果判定部５３２は、整合性があることを判定した複数の演算結果データを組み合わせる処理を行う。なお、演算結果判定部５３２は、整合性がないことを判定した複数の演算結果データのうちの一部を選択（採用）する（または、一部を不採用とする）処理を行ってもよい。
図１６の例では、演算結果判定部５３２は、演算結果データｈ（４）が３個の情報処理装置Ｃ（２）、Ｃ（３）、Ｃ（４）を経由してきたものであり、演算結果データｈ（７）が２個の情報処理装置Ｃ（６）、Ｃ（７）を経由してきたものであることを確認したことにより、これらの演算結果データｈ（４）、ｈ（７）に整合性があると判定する。この判定の結果、演算結果判定部５３２は、これらの演算結果データｈ（４）、ｈ（７）を結合する処理を行い、その結合の結果を１個の演算結果データとして扱う。
このように、演算結果判定部５３２は、複数の演算結果データの整合性を判定し、判定の結果に基づいて、演算結果データの取捨選択、あるいは、結合などを行う構成とされてもよい。また、演算結果判定部５３２は、結合の割合を決定して、決定された結合の割合にしたがった結合を行ってもよい。
【０１２９】
他の例として、演算結果判定部５３２は、複数の演算結果データについて、経由された情報処理装置の数を判定し、必要に応じて、判定の結果に応じた処理を行う。例えば、演算結果判定部５３２は、分岐後により多くの情報処理装置を経由してきた演算結果データを選択（採用）し、それ以外の演算結果データを破棄する（採用しない）処理を行う。
図１６の例では、演算結果判定部５３２は、演算結果データｈ（４）が３個の情報処理装置Ｃ（２）、Ｃ（３）、Ｃ（４）を経由してきたものであり、演算結果データｈ（７）が２個の情報処理装置Ｃ（６）、Ｃ（７）を経由してきたものであることを確認したことにより、より多くの情報処理装置を経由してきた演算結果データｈ（４）を選択することを判定する。この判定の結果、演算結果判定部５３２は、演算結果データｈ（４）を選択する処理を行う。
【０１３０】
ここで、演算結果判定部５３２は、分岐後の演算結果データが３つ以上ある場合には、例えば、１つの演算結果データを選択してもよく、あるいは、２つ以上の所定数の演算結果データを選択してもよい。
演算結果判定部５３２は、２つ以上の所定数の演算結果データを選択する場合、例えば、経由された情報処理装置の数が多い方から所定数の演算結果データを選択してもよい。この場合、演算結果判定部５３２は、選択された２つ以上の演算結果データを結合してもよい。
このように、演算結果判定部５３２は、複数の演算結果データについて経由された情報処理装置の数を判定し、判定の結果に基づいて、演算結果データの取捨選択、あるいは、結合などを行う構成とされてもよい。また、演算結果判定部５３２は、結合の割合を決定して、決定された結合の割合にしたがった結合を行ってもよい。
【０１３１】
ここで、演算結果データの取捨選択を行うための基準としては、例示した以外の任意の基準が用いられてもよく、例えば、演算結果データを受信した時刻が早い（または、遅い）ものを優先的に選択する基準、あるいは、特定の情報処理装置を経由した演算結果データを優先的に選択する基準などが用いられてもよい。
また、演算結果判定部５３２は、１つの演算結果データを選択してもよく、あるいは、２つ以上の所定数の演算結果データを選択してもよく、あるいは、所定の基準を満たす任意の数の演算結果データを選択してもよい。例えば、演算結果判定部５３２は、所定の基準を満たす演算結果データをすべて選択してもよく、この構成では、候補となる演算結果データのうちのすべての演算結果データを選択する場合と、候補となる演算結果データのうちの一部の演算結果データを選択する場合と、いずれの演算結果データも選択しない場合が考えられる。なお、例えば、演算結果判定部５３２は、所定の基準に基づいて、少なくとも１つの演算結果データを選択する構成が用いられてもよい。
また、所定の基準は、例えば、閾値を用いて設定されてもよく、この場合、演算結果データに関する所定の値が所定の閾値以上（あるいは、所定の閾値未満など）であるときに所定の基準を満たすと判定する構成を用いることができる。当該所定の値としては、例えば、経由された情報処理装置の数などの値が用いられてもよい。
【０１３２】
［情報処理装置において行われる処理の概要］
図１８は、本発明の一実施形態（第４実施形態）に係る情報処理装置Ｃ（５）において行われる処理の手順の一例を示す図である。
（ステップＳ２１１）
演算結果判定部５３２は、複数の並列な経路部分について受信された複数の演算結果を取得する。
（ステップＳ２１２）
演算結果判定部５３２は、取得された複数の演算結果について整合性の有無、あるいは、経由された情報処理装置の数などを判定する。なお、判定の内容としては、これらに限られず、他の様々な判定の内容が用いられてもよい。
（ステップＳ２１３）
演算結果判定部５３２は、取得された複数の演算結果について、判定の結果に基づいて処理を実行する。
【０１３３】
ここで、一例として、演算結果判定部５３２は、整合性の有無の判定に関し、整合性があることが判定された場合に、複数の演算結果を結合する処理を実行してもよい。複数の演算結果を結合する処理としては、例えば、これら複数の演算結果のすべての情報を含む情報を、結合結果として、生成する処理が用いられてもよい。
他の例として、演算結果判定部５３２は、整合性の有無の判定に関し、整合性がないことが判定された場合に、複数の演算結果のうちの一部である１以上を選択して採用する処理を実行してもよい。複数の演算結果のうちの１以上を選択する規則としては、例えば、様々な規則が用いられてもよく、あらかじめ設定されてもよい。
【０１３４】
ここで、図１６の例では、情報処理装置Ｃ（５）は、２個のアルゴリズムデータｇ（４）、ｇ（７）を受信する。
２個のアルゴリズムデータｇ（４）、ｇ（７）のそれぞれにより記述されるアルゴリズムが同一である場合、情報処理装置Ｃ（５）において、アルゴリズム取得部（例えば、図３に示されるアルゴリズム取得部２３１）の機能は、任意の一方のアルゴリズムデータｇ（４）、ｇ（７）により記述されるアルゴリズムを取得すればよい。
【０１３５】
一方、２個のアルゴリズムデータｇ（４）、ｇ（７）のそれぞれにより記述されるアルゴリズムが異なる場合、情報処理装置Ｃ（５）において、アルゴリズム取得部（例えば、図３に示されるアルゴリズム取得部２３１）の機能は、例えば、任意の一方のアルゴリズムデータｇ（４）、ｇ（７）により記述されるアルゴリズムを取得してもよく、あるいは、両方のアルゴリズムデータｇ（４）、ｇ（７）のそれぞれにより記述されるアルゴリズムを取得してもよい。また、情報処理装置Ｃ（５）において、アルゴリズム生成部（例えば、図３に示されるアルゴリズム生成部２３３）の機能は、例えば、このような複数のアルゴリズムデータのそれぞれにより記述されるアルゴリズムを結合したアルゴリズムを生成してもよい。
【０１３６】
なお、複数の演算結果データの整合性あるいは経由された情報処理装置の数などが判定された結果は、例えば、将来における経路の決定に利用されてもよい。例えば、複数の演算結果データの整合性を表す数値あるいは経由された情報処理装置の数を表す数値などの情報（説明の便宜上、「判定値情報」ともいう。）を計算して、複数の情報処理装置について得られた演算結果データの判定値（判定値情報）が所定の閾値以上であった（ここでは、良かったとする）場合に、これら複数の情報処理装置の組み合わせを将来における経路に含めるようにし、一方、複数の情報処理装置について得られた演算結果データの判定値（判定値情報）が所定の閾値よりも低かった（ここでは、悪かったとする）場合に、これら複数の情報処理装置の組み合わせを将来における経路に含めないようにする、手法が用いられてもよい。
【０１３７】
［第４実施形態について］
以上のように、本実施形態に係る情報処理装置Ｃ（５）では、複数の演算結果について整合性の有無あるいは経由された情報処理装置の数などを判定する。これにより、本実施形態に係る情報処理装置Ｃ（５）では、複数の演算結果について判定結果を利用することができ、例えば、それぞれの演算結果の選択あるいは２つ以上の演算結果の結合などに役立てることが可能である。
ここで、演算結果判定部５３２により判定を行う処理をオンとするかあるいはオフとするかを切り替えることが可能な構成が用いられてもよい。このような切り替えは、例えば、情報処理装置Ｃ（５）などのユーザにより行われる操作に応じて行われてもよく、あるいは、情報処理装置Ｃ（５）により所定の規則にしたがって自動的に行われてもよい。演算結果判定部５３２により判定を行う処理がオンとされた状態では、演算結果判定部５３２は所定の判定を行い、必要に応じて、所定の処理を行う。一方、演算結果判定部５３２により判定を行う処理がオフとされた状態では、演算結果判定部５３２は、例えば、所定の判定を行わずに、あらかじめ定められた態様で、演算結果データの取捨選択あるいは結合などの所定の処理を行う。
【０１３８】
（第５実施形態）
本実施形態では、経路に含まれない１個以上の情報処理装置から、当該経路に含まれる１個以上の情報処理装置に、データを集約する場合について説明する。
【０１３９】
図１９〜図２３を参照して説明する。
本実施形態では、上記の実施形態（第１実施形態〜第４実施形態）と比べて、データの集約が行われる点で異なっており、他の点で同様である。このため、本実施形態では、説明の便宜上、図１９〜図２３に示される符号を除いて、上記の実施形態（第１実施形態〜第４実施形態）の場合と同じ符号（図に示される符号）を用いて説明する。
【０１４０】
［データの集約］
まず、データの集約について説明する。
図１９、図２０、図２１は、それぞれ、本発明の一実施形態（第５実施形態）に係る情報処理装置Ｄ（１）〜Ｄ（４）において行われるデータ集約の概略を示す図である。
図１９には、４個の情報処理装置Ｄ（１）〜Ｄ（４）を示してある。なお、本実施形態では、複数の情報処理装置Ｄ（１）〜Ｄ（４）の番号（１〜４）と順番（経路における順番）とは、必ずしも一致していない。
【０１４１】
情報処理装置Ｄ（１）は、自装置の記憶部（図示せず）に、３個のデータｋ１〜ｋ３を記憶している。本例では、これらのデータｋ１〜ｋ３を他の情報処理装置Ｄ（２）〜Ｄ（４）に記憶させる手法の一例を示す。
図１９の例では、情報処理装置Ｄ（１）は、１個のデータｋ１を情報処理装置Ｄ（２）に送信し、他の１個のデータｋ２を情報処理装置Ｄ（３）に送信し、他の１個のデータｋ３を情報処理装置Ｄ（４）に送信する。これにより、情報処理装置Ｄ（２）〜Ｄ（４）は、それぞれ、３個のデータｋ１〜ｋ３のうちで、１個ずつのデータを記憶する。
なお、情報処理装置Ｄ（１）と３個の情報処理装置Ｄ（２）〜Ｄ（３）とは、例えば、サーバとクライアントの関係を有してもよい。
【０１４２】
図２０の例では、情報処理装置Ｄ（２）は、１個のデータｋ１を情報処理装置Ｄ（３）に送信する。情報処理装置Ｄ（３）は、１個のデータｋ２を情報処理装置Ｄ（４）に送信する。情報処理装置Ｄ（４）は、１個のデータｋ３を情報処理装置Ｄ（２）に送信する。これにより、情報処理装置Ｄ（２）〜Ｄ（４）は、それぞれ、３個のデータｋ１〜ｋ３のうちで、２個ずつのデータを記憶する。
【０１４３】
図２１の例では、情報処理装置Ｄ（２）は、１個のデータｋ３を情報処理装置Ｄ（３）に送信する。情報処理装置Ｄ（３）は、１個のデータｋ１を情報処理装置Ｄ（４）に送信する。情報処理装置Ｄ（４）は、１個のデータｋ２を情報処理装置Ｄ（２）に送信する。これにより、情報処理装置Ｄ（２）〜Ｄ（４）は、それぞれ、３個のデータｋ１〜ｋ３のすべてを記憶する。
【０１４４】
図１９〜図２１の例では、複数の情報処理装置Ｄ（２）〜Ｄ（３）は、情報処理装置Ｄ（１）から受信されたデータを、他の情報処理装置Ｄ（２）〜Ｄ（３）との間で、例えば自動的に、補完して共有する。
【０１４５】
図１９〜図２１に示されるように、複数の情報処理装置Ｄ（２）〜Ｄ（４）に共通のデータｋ１〜ｋ３を記憶させるとき、例えば、１個の情報処理装置Ｄ（１）がそれぞれの情報処理装置Ｄ（２）〜Ｄ（４）にデータｋ１〜ｋ３を送信する処理よりも、情報処理装置Ｄ（２）〜Ｄ（４）どうしでデータｋ１〜ｋ３をやり取りする処理の方が、効率的な場合が多い。
本実施形態に係る情報処理システムでは、このようなデータの集約の処理を利用する。
【０１４６】
ここで、図１９〜図２１に示される技術では、例えば、複数の情報処理装置Ｄ（２）〜Ｄ（３）に、データｋ１〜ｋ３を分散して配信することが可能である。
例えば、複数の情報処理装置Ｄ（２）〜Ｄ（４）において、データｋ１〜ｋ３の分散暗号化が行われてもよく、具体例として、秘密分散法が用いられてもよい。
また、データの配布元である情報処理装置Ｄ（１）あるいは他の所定の装置（図示せず）において、複数の情報処理装置Ｄ（２）〜Ｄ（４）へのデータｋ１〜ｋ３の配信が完了した後に、当該データｋ１〜ｋ３の利用権限（「利用条件」などと呼ばれてもよい。）が管理されてもよい。この場合、複数の情報処理装置Ｄ（２）〜Ｄ（４）でデータｋ１〜ｋ３が共有されても、権限がある装置だけが当該データｋ１〜ｋ３を利用することができる。
【０１４７】
［情報処理システムの概要］
図２２は、本発明の一実施形態（第５実施形態）に係る情報処理システム６０１の概略的な構成例を示す図である。
本実施形態に係る情報処理システム６０１は、Ｍ（本実施形態において、Ｍは３以上の整数であるとする。）個の情報処理装置Ｅ（１）〜Ｅ（Ｍ）を備える。
また、本実施形態に係る情報処理システム６０１は、Ｐ（本実施形態において、Ｐは１以上の整数であるとする。）個の情報処理装置Ｆ（１）〜Ｆ（Ｐ）を備える。
また、本実施形態に係る情報処理システム６０１は、Ｑ（本実施形態において、Ｑは１以上の整数であるとする。）個の情報処理装置Ｇ（１）〜Ｇ（Ｑ）を備える。
【０１４８】
図２２の例では、それぞれの情報処理装置Ｅ（１）〜Ｅ（Ｍ−１）から送信されるアルゴリズムデータｍ（１）〜ｍ（Ｍ−１）と、それぞれの情報処理装置Ｅ（２）〜Ｅ（Ｍ）から送信される演算結果データｎ（１）〜ｎ（Ｍ−１）を示してある。
また、それぞれの情報処理装置Ｆ（１）〜Ｆ（Ｐ）は、データｐ（１）〜ｐ（Ｐ）を記憶する。
また、それぞれの情報処理装置Ｇ（１）〜Ｇ（Ｑ）は、データｑ（１）〜ｑ（Ｑ）を記憶する。
【０１４９】
［情報処理システムの動作の概要］
本実施形態に係る情報処理システム６０１では、まず、情報処理装置どうしが通信を行うことで、特定の情報処理装置（図２２の例では、情報処理装置Ｅ（２）、Ｅ（Ｍ））にデータを集約する。
図２２の例では、それぞれの情報処理装置Ｆ（１）〜Ｆ（Ｐ）は、自装置において記憶されているデータｐ（１）〜ｐ（Ｐ）を情報処理装置Ｅ（２）に送信する。情報処理装置Ｅ（２）は、これらのデータｐ（１）〜ｐ（Ｐ）を受信して、自装置の記憶部に記憶する。
また、図２２の例では、それぞれの情報処理装置Ｇ（１）〜Ｇ（Ｑ）は、自装置において記憶されているデータｑ（１）〜ｑ（Ｑ）を情報処理装置Ｅ（Ｍ）に送信する。情報処理装置Ｅ（Ｍ）は、これらのデータｑ（１）〜ｑ（Ｑ）を受信して、自装置の記憶部に記憶する。
【０１５０】
ここで、情報処理装置Ｅ（２）および情報処理装置Ｅ（Ｍ）は、アルゴリズムが伝達されていく経路に含まれる。
経路の流れにしたがって、情報処理装置Ｅ（２）は、他の情報処理装置Ｆ（１）〜Ｆ（Ｐ）から収集されたデータｐ（１）〜ｐ（Ｐ）のまとまり、あるいは、これらのデータｐ（１）〜ｐ（Ｐ）に自装置に記憶されていたデータ（図示せず）を含めたまとまりを用いて、アルゴリズムに応じた演算を実行する。
同様に、経路の流れにしたがって、情報処理装置Ｅ（Ｍ）は、他の情報処理装置Ｇ（１）〜Ｇ（Ｑ）から収集されたデータｑ（１）〜ｑ（Ｑ）のまとまり、あるいは、これらのデータｑ（１）〜ｑ（Ｑ）に自装置に記憶されていたデータ（図示せず）を含めたまとまりを用いて、アルゴリズムに応じた演算を実行する。
【０１５１】
［情報処理システムにおいて行われる処理の概要］
図２３は、本発明の一実施形態（第５実施形態）に係る情報処理システム６０１において行われる処理の手順の一例を示す図である。
【０１５２】
（ステップＳ３１１）
情報処理システム６０１では、まず、データの集約を行い、ステップＳ３１２の処理へ移行する。これにより、特定の情報処理装置（図２２の例では、情報処理装置Ｅ（２）、Ｅ（Ｍ））に、アルゴリズムに応じた演算で用いられるデータが集められる。
（ステップＳ３１２）
情報処理システム６０１では、経路の流れにしたがって、１番目の情報処理装置Ｅ（１）からＭ番目の情報処理装置Ｅ（Ｍ）への順番に、アルゴリズムに基づいて、当該アルゴリズムに応じた演算の実行など（例えば、図１の例の場合と同様な処理）を行っていく。
【０１５３】
［第５実施形態について］
以上のように、本実施形態に係る情報処理システム６０１では、複数の異なる情報処理装置（図２２の例では、複数の異なる情報処理装置Ｆ（１）〜Ｆ（Ｐ）、Ｅ（２）、あるいは、複数の異なる情報処理装置Ｇ（１）〜Ｇ（Ｑ）、Ｅ（Ｍ））の間で、それぞれの情報処理装置が記憶しているデータ（ここでは、アルゴリズムデータではないデータ）の受け渡しが行われ、その後に、経路の流れにしたがって、アルゴリズムに応じた演算の実行が行われる。
【０１５４】
このような構成により、本実施形態に係る情報処理システム６０１では、データの集約およびアルゴリズムに応じた演算の実行の全体として、効率化を図ることが可能である。
具体例として、１０個の異なる情報処理装置に記憶されたデータのすべてをそのうちの１個の情報処理装置（ここでは、説明の便宜上、「情報処理装置Ｒ１」と呼ぶ。）に送信して集約し、他の１０個の異なる情報処理装置に記憶されたデータのすべてをそのうちの１個の情報処理装置（ここでは、説明の便宜上、「情報処理装置Ｒ２」と呼ぶ。）に送信して集約し、これら２個の情報処理装置Ｒ１、Ｒ２を含む経路を形成（決定）することが行われてもよい。
【０１５５】
以上のように、本実施形態に係る情報処理システム６０１では、経路に含められない１個以上の情報処理装置Ｆ（１）〜Ｆ（Ｐ）、Ｇ（１）〜Ｇ（Ｑ）から経路に含められる１個以上の情報処理装置Ｅ（２）、Ｅ（Ｍ）にデータｐ（１）〜ｐ（Ｐ）、ｑ（１）〜ｑ（Ｑ）を渡し、経路に含められる情報処理装置Ｅ（２）、Ｅ（Ｍ）において当該データｐ（１）〜ｐ（Ｐ）、ｑ（１）〜ｑ（Ｑ）を用いてアルゴリズムに基づいて演算を実行する。これにより、本実施形態に係る情報処理システム６０１では、全体として効率的な処理を実現することができる。
【０１５６】
（情報処理装置について）
上記の実施形態（第１実施形態〜第５実施形態）において、経路に含まれる情報処理装置としては、様々な情報処理装置が用いられてもよい。
【０１５７】
［複数の異なるネットワークにおける情報処理装置］
図２４は、通信システム２００１の一例を示す図である。
通信システム２００１は、複数（図２４の例では、２個）のネットワーク２０１１、２０１２を有する。
ネットワーク２０１１は、複数の情報処理装置２０３１〜２０３５を含む。
ネットワーク２０１２は、複数の情報処理装置２０５１〜２０５５を含む。
図２４の例では、複数の異なるネットワーク２０１１、２０１２における２個の情報処理装置２０３５、２０５５どうしが互いに通信を行う場合を示してある。
【０１５８】
上記の実施形態（第１実施形態〜第５実施形態）において、１個の経路に含められる情報処理装置は、例えば、同一のネットワーク（図２４の例では、ネットワーク２０１１あるいはネットワーク２０１２）に含まれる情報処理装置であってもよく、あるいは、異なるネットワークに含まれる情報処理装置であってもよい。
また、図１９〜図２２に示されるようなデータの集約において、互いに通信を行う情報処理装置としては、例えば、同一のネットワーク（図２４の例では、ネットワーク２０１１あるいはネットワーク２０１２）に含まれる情報処理装置であってもよく、あるいは、異なるネットワークに含まれる情報処理装置であってもよい。
【０１５９】
［サーバレスのネットワークにおける情報処理装置］
図２５は、サーバレスの通信システム２１０１の一例を示す図である。
通信システム２１０１は、複数の端末装置２１１１〜２１１８を備える。本例では、それぞれの端末装置２１１１〜２１１８は、情報処理装置に相当する。
通信システム２１０１では、サーバが存在せず、端末装置２１１１〜２１１８どうしで通信を行う。図２５の例では、それぞれの端末装置２１１１〜２１１８が、総当たりで、他の端末装置２１１１〜２１１８との間で通信を行うことが可能な場合を示してある。
【０１６０】
通信システム２１０１では、端末装置２１１１〜２１１８が連携することにより、サーバを不要とするインフラを構築することが可能である。
通信システム２１０１では、例えば、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）で構成されるネットワークを超えて、Ｐ２Ｐの通信が行われてもよい。
【０１６１】
上記の実施形態（第１実施形態〜第５実施形態）において、１個の経路に含められる情報処理装置のうちの一部または全部は、例えば、サーバレスの通信システム２１０１に含まれる端末装置であってもよい。
また、図１９〜図２２に示されるようなデータの集約において、互いに通信を行う情報処理装置のうちの一部または全部は、例えば、サーバレスの通信システム２１０１に含まれる端末装置であってもよい。
【０１６２】
［情報処理装置のハードウェア構成の概要］
図２６は、本発明の一実施形態に係る情報処理装置２２１１のハードウェア構成の一例を示す図である。
上記の実施形態（第１実施形態〜第５実施形態）における情報処理装置として、図２６に示されるようなハードウェア構成を有する情報処理装置２２１１が使用されてもよい。
なお、図２６の例に係る情報処理装置２２１１のような構成は、例えば、一部変更されて、様々な装置に適用されてもよい。
【０１６３】
図２６の例では、情報処理装置２２１１は、プロセッサ２２３１と、操作部２２３２と、表示部２２３３と、記憶装置２２３４と、メモリ２２３５と、入出力インターフェイス２２３６と、ネットワークインターフェイス２２３７と、これらを接続するバス２３１１を備える。
【０１６４】
プロセッサ２２３１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などから構成されており、プログラムを実行することで、当該プログラムに規定された処理を実行する。
操作部２２３２は、キーボード、マウスなどのうちの１以上の入力装置を備え、ユーザ（人）により行われる操作を受け付ける。
表示部２２３３は、画面を有しており、情報を当該画面に表示出力する。
【０１６５】
記憶装置２２３４は、不揮発性の記憶部であり、例えば、ハードディスクなどから構成されており、データを記憶する。記憶装置２２３４（あるいは、メモリ２２３５）は、例えば、プロセッサ２２３１により実行されるプログラムを記憶してもよい。
メモリ２２３５は、揮発性の記憶部であり、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成されており、データを一時的に記憶する。ＲＡＭとしては、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられてもよい。
【０１６６】
入出力インターフェイス２２３６は、外部の記録媒体などと接続するインターフェイスである。
ネットワークインターフェイス２２３７は、外部のネットワークと接続するインターフェイスである。
【０１６７】
ここで、情報処理装置２２１１は、プロセッサ２２３１として、１個のプロセッサを備えてもよく、または、２個以上のプロセッサを備えてもよい。一例として、情報処理装置２２１１は、複数個のＣＰＵを備えて、それぞれのＣＰＵによりそれぞれの処理を実行するとともに、これら複数個のＣＰＵにより連携して全体の処理を実現してもよい。
【０１６８】
（第６実施形態）
本実施形態では、第１実施形態〜第５実施形態における情報処理システム（例えば、情報処理システム１、６０１）を含む様々な情報処理システムにおいて使用されることが可能な情報処理装置について説明する。なお、本実施形態に係る情報処理装置は、第１実施形態〜第５実施形態において説明された情報処理装置のうちのいずれかの態様と同じであってもよい。
【０１６９】
第１実施形態〜第５実施形態に係る情報処理システムでは、複数の情報処理装置がアルゴリズムデータを所定の順序で伝送していく。この場合、一構成例として、すべての情報処理装置に同じプログラムをインストールするなどして、すべての情報処理装置が同じ機能を有する構成とすることが可能である。本実施形態では、このような構成における情報処理装置について説明する。
【０１７０】
図２７は、本発明の一実施形態（第６実施形態）に係る情報処理装置Ｈ（１）の概略的な構成例を示す図である。
ここでは、情報処理装置Ｈ（１）の機能の概要を説明する。なお、情報処理装置Ｈ（１）のそれぞれの機能について、例えば、第１実施形態〜第５実施形態において説明された機能と同様な機能が使用されてもよい。
【０１７１】
情報処理装置Ｈ（１）は、処理実行機能７１１と、ストレージ７１２を備える。
処理実行機能７１１は、プロセッサ７３１と、ソフトウェア７３２を備える。プロセッサ７３１は、ＣＰＵなどである。ソフトウェア７３２は、プログラムを含む。当該プログラムは、本実施形態に係るアルゴリズムデータを伝送していく処理を実行する機能を実現する。
処理実行機能７１１は、プロセッサ７３１が当該プログラムを読み出して実行することで、各種の処理を実行する。
なお、ソフトウェア７３２は、任意の記憶部に記憶されてもよく、例えば、ストレージ７１２に記憶されてもよく、あるいは、ストレージ７１２とは別の記憶部に記憶されてもよい。
【０１７２】
ストレージ７１２は、データ７５１を記憶する。
なお、ストレージ７１２は、記憶部の一例であり、ストレージ７１２としては任意のものが用いられてもよい。
【０１７３】
情報処理装置Ｈ（１）において、処理実行機能７１１は、受信処理ＳＴ１、演算処理ＳＴ２、送信処理ＳＴ３を実行する。
受信処理ＳＴ１は、他の情報処理装置から、アルゴリズムデータ７７１を受信する処理である。受信処理ＳＴ１は、当該他の情報処理装置から、データ７７２（本実施形態では、アルゴリズムデータ７７１以外のデータ）を受信する処理を含んでもよい。受信処理ＳＴ１において、他の情報処理装置から、アルゴリズムデータ７７１と同時にデータ７７２を受信してもよく、あるいは、アルゴリズムデータ７７１とは別のタイミングでデータ７７２を受信してもよい。ここで、異なるデータを同時に受信する処理は、例えば、異なるデータを同一の時刻（あるいは、一部重複する時刻）に受信する処理であってもよいが、本実施形態では、異なるデータを時間的に連続的に前後して受信する処理を含んでもよい。
【０１７４】
演算処理ＳＴ２は、受信処理ＳＴ１により受信されたアルゴリズムデータ７７１に記述されたアルゴリズムに基づく演算を、ストレージ７１２に記憶されたデータ７５１を用いて、実行する処理である。
一例として、演算処理ＳＴ２は、受信処理ＳＴ１により受信されたアルゴリズムデータ７７１に記述されたアルゴリズムを、情報処理装置Ｈ（１）において保有されたデータ７５１に適用して、その演算の結果を取得する。
【０１７５】
送信処理ＳＴ３は、他の情報処理装置に、アルゴリズムデータ７９１を送信する処理である。送信処理ＳＴ３は、当該他の情報処理装置に、データ７９２（本実施形態では、アルゴリズムデータ７９１以外のデータ）を送信する処理を含んでもよい。送信処理ＳＴ３において、他の情報処理装置に、アルゴリズムデータ７９１と同時にデータ７９２を送信してもよく、あるいは、アルゴリズムデータ７９１とは別のタイミングでデータ７９２を送信してもよい。ここで、異なるデータを同時に送信する処理は、例えば、異なるデータを同一の時刻（あるいは、一部重複する時刻）に送信する処理であってもよいが、本実施形態では、異なるデータを時間的に連続的に前後して送信する処理を含んでもよい。
【０１７６】
ここで、受信処理ＳＴ１におけるデータ７７２は、任意のデータであってもよく、例えば、他の情報処理装置において実行された演算の結果に関するデータを含んでもよい。
また、送信処理ＳＴ３におけるデータ７９２は、任意のデータであってもよく、例えば、演算処理ＳＴ２において実行された演算の結果に関するデータを含んでもよい。
【０１７７】
本実施形態では、情報処理装置Ｈ（１）と同じ機能を有するＵ（本実施形態において、Ｕは２以上の整数であるとする。）個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）を備える情報処理システムを構築する。当該機能は、例えば、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）に、共通のソフトウェア７３２がインストールされることで実現される。
なお、本実施形態では、Ｕ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、同様な機能を有している。このため、本実施形態では、説明の便宜上から、Ｕ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）について、図２７に示されるものと同じ符号を付して説明する。
【０１７８】
それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、共通のソフトウェア７３２によって、受信処理ＳＴ１を実行する機能、演算処理ＳＴ２を実行する機能、送信処理ＳＴ３を実行する機能を有する。
一例として、Ｕ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）が直列の順序でアルゴリズムを伝送していくことが可能である。この場合、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、前（つまり、順序が１つ前である前段）の情報処理装置からアルゴリズムデータ７７１を受信する受信処理ＳＴ１と、受信されたアルゴリズムデータ７７１に記述されたアルゴリズムに基づく演算を実行する演算処理ＳＴ２と、次（つまり、順序が１つ後の後段）の情報処理装置にアルゴリズムデータ７９１を送信する送信処理ＳＴ３を実行する。なお、受信処理ＳＴ１は、前段の情報処理装置からデータ７７２を受信する処理を含んでもよい。また、送信処理ＳＴ３は、次段の情報処理装置にデータ７９２を送信する処理を含んでもよい。
【０１７９】
なお、本実施形態では、説明を簡易にするために、Ｕ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）が、その順番で、直列の順序でアルゴリズムを伝送していく場合を例として説明するが、Ｕ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）は任意の順番で直列に配置されてもよい。
さらに、他の例として、Ｕ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、直列と並列の両方が用いられた任意の経路によって、その経路における順序でアルゴリズムを伝送していってもよい。
【０１８０】
一例として、１番目の情報処理装置Ｈ（１）における演算処理ＳＴ２を最初の処理として考えると、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）が演算処理ＳＴ２および送信処理ＳＴ３を実行することが、所定の順序で連続的に行われていくと捉えることが可能である。なお、この場合、送信側の情報処理装置による送信処理ＳＴ３に対応して、受信側の情報処理装置による受信処理ＳＴ１も行われる。
【０１８１】
他の例として、１番目の情報処理装置Ｈ（１）における送信処理ＳＴ３を最初の処理として考えると、２番目の情報処理装置Ｈ（１）〜Ｕ番目の情報処理装置Ｈ（Ｕ）が受信処理ＳＴ１および演算処理ＳＴ２を実行することが、所定の順序で連続的に行われていくと捉えることが可能である。なお、この場合、受信側の情報処理装置による受信処理ＳＴ１に対応する送信側の情報処理装置による送信処理ＳＴ３も行われる。また、この場合、例えば、Ｕ番目の情報処理装置Ｈ（Ｕ）から１番目の情報処理装置Ｈ（１）にアルゴリズムデータ７９１を送信し、１番目の情報処理装置Ｈ（１）が当該アルゴリズムデータ７９１を受信対象のアルゴリズムデータ７７１として受信する受信処理ＳＴ１と、受信されたアルゴリズムデータ７７１に記述されたアルゴリズムに基づく演算を実行する演算処理ＳＴ２を行ってもよい。
【０１８２】
ここで、例えば、最終番目（最終段）の情報処理装置Ｈ（Ｕ）に対する次段の情報処理装置として、１番目の情報処理装置Ｈ（１）が用いられてもよい。
この場合、一例として、１番目（最初）の情報処理装置Ｈ（１）において、最終番目の情報処理装置Ｈ（Ｕ）から送信されたアルゴリズムデータ７９１を受信対象のアルゴリズムデータ７７１として受信する受信処理ＳＴ１が行われる構成では、Ｕ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）が環状になり、ループした経路にアルゴリズムを伝送する構成となる。
【０１８３】
また、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、受信処理ＳＴ１と、演算処理ＳＴ２と、送信処理ＳＴ３を実行する機能を有するが、それぞれの処理を必ずしも実行しなくてもよい。
一例として、１番目の情報処理装置Ｈ（１）は、初期的なアルゴリズムを２番目の情報処理装置Ｈ（２）に送信する場合、受信処理ＳＴ１を実行しなくてもよい。１番目の情報処理装置Ｈ（１）は、例えば、初期的なアルゴリズムを生成してもよく、あるいは、初期的なアルゴリズムを他の装置から受信してもよい。
【０１８４】
また、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、演算処理ＳＴ２を実行しなくてもよい。
一例として、１番目の情報処理装置Ｈ（１）は、初期的なアルゴリズムに基づく演算処理ＳＴ２を実行しなくてもよい。
一例として、任意の情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、前段の情報処理装置からアルゴリズムデータ７７１を受信する受信処理ＳＴ１を実行し、当該アルゴリズムデータ７７１に記述されたアルゴリズムに基づく演算処理ＳＴ２を実行せずに、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータ７９１を次段の情報処理装置に送信する送信処理ＳＴ３を実行してもよい。
【０１８５】
また、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、送信処理ＳＴ３を実行しなくてもよい。
一例として、最終番目の情報処理装置Ｈ（Ｕ）は、前段の情報処理装置から受信されたアルゴリズムデータ７７１に記述されたアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータ７９１を他の情報処理装置に送信しなくてもよい。
【０１８６】
このように、本実施形態では、共通のソフトウェア７３２がインストールされたＵ個の情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、それぞれ原則的には、機能的に対等の関係にあって同じ機能を保有するが、経路における順序あるいは他の条件によって、一部の機能を実行しない場合、あるいは、一部の機能を実行するにあたって処理の内容を変更する場合があり得る。処理の内容を変更する態様としては、例えば、送信処理ＳＴ３において送信対象の内容を省略、追加あるいは変更などする態様、受信処理ＳＴ１において受信対象の内容を省略、追加あるいは変更などする態様、演算処理ＳＴ２において演算対象を省略、追加あるいは変更などする態様などがある。
【０１８７】
一例として、任意の情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、前段の情報処理装置からアルゴリズムデータ７７１を受信し、受信されたアルゴリズムデータ７７１に記述されたアルゴリズムに基づく演算を実行し、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータ７９１を次段の情報処理装置に送信する場合に、当該演算の結果に関するデータを（同時あるいは他のタイミングにおいても）次段の情報処理装置に送信しなくてもよい。このような構成が採用される理由の一例としては、当該演算の結果に関するデータの送信を行わない情報処理装置においては、当該情報処理装置において保有されるデータにアルゴリズムによる作用（演算）を及ぼすことが必要であるが、その演算の結果を外部に通知する必要がない、という理由があり得る。
なお、このような理由がある場合においても、当該情報処理装置は、当該演算の結果に関するデータを次段の情報処理装置に送信する構成が採用されてもよい。この構成において、当該演算の結果に関するデータとして、当該演算に係る処理の成否を表すデータが用いられてもよい。
【０１８８】
なお、本実施形態では、すべての情報処理装置Ｈ（１）〜Ｈ（Ｕ）が同じ機能を備える場合を説明しているが、例外的に、一部の情報処理装置が異なる機能を備えてもよい。
一例として、初期的なアルゴリズムの発信元となる１番目の情報処理装置になるための権限が設けられてもよく、この場合、情報処理装置Ｈ（１）〜Ｈ（Ｕ）のうちで当該権限が与えられた１以上の情報処理装置だけが１番目の情報処理装置となり得る。当該権限は、任意の手法で設定されてもよく、例えば、当該権限を表す情報が、該当する情報処理装置に記憶されるなどして、設定されてもよい。
【０１８９】
［２個の情報処理装置を備える情報処理システムにおける処理の例］
図２８〜図３０を参照して、２個の情報処理装置Ｈ（１）、Ｈ（２）を備える情報処理システムにおける処理の例を示す。
【０１９０】
図２８は、本発明の一実施形態（第６実施形態）に係る２個の情報処理装置（本例では、１番目の情報処理装置Ｈ（１）、２番目の情報処理装置Ｈ（２））において行われる処理の一例を示す図である。本例は、最小構成の例であり、１番目の情報処理装置Ｈ（１）においてアルゴリズムに基づく演算を実行する場合の一例である。
【０１９１】
図２８の例では、情報処理装置Ｈ（１）は、演算処理ＳＴ１１において、初期的なアルゴリズムに基づく演算を実行する。
次に、情報処理装置Ｈ（１）は、送信処理ＳＴ１２において、初期的なアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置Ｈ（２）に送信する。これに応じて、情報処理装置Ｈ（２）は、受信処理（図示せず）において、情報処理装置Ｈ（１）から送信されたアルゴリズムデータを受信する。この場合、情報処理装置Ｈ（１）から情報処理装置Ｈ（２）へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ＳＴ１１における演算の結果に関するデータなどを伝送してもよい。
【０１９２】
情報処理装置Ｈ（２）は、演算処理ＳＴ１３において、情報処理装置Ｈ（１）から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
次に、情報処理装置Ｈ（２）は、送信処理ＳＴ１４において、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置Ｈ（１）に送信する。これに応じて、情報処理装置Ｈ（１）は、受信処理（図示せず）において、情報処理装置Ｈ（２）から送信されたアルゴリズムデータを受信する。この場合、情報処理装置Ｈ（２）から情報処理装置Ｈ（１）へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ＳＴ１３における演算の結果に関するデータなどを伝送してもよい。
なお、情報処理装置Ｈ（２）から情報処理装置Ｈ（１）へ、アルゴリズムデータを送信する処理が行われなくてもよく、例えば、演算処理ＳＴ１３における演算の結果に関するデータなどを送信する処理が行われてもよい。
【０１９３】
ここで、本例では、１番目の情報処理装置Ｈ（１）は、アルゴリズムを伝送するための最初の処理として、受信処理ではなく、演算処理を採用している。
また、本例では、１番目の情報処理装置Ｈ（１）は、最終番目である２番目の情報処理装置Ｈ（２）から送信されるデータ（例えば、アルゴリズムデータあるいは他のデータ）を受信する。
また、図２８の例では、例えば、１番目の情報処理装置Ｈ（１）は、アルゴリズムの伝送に係る指令（ここでは、アルゴリズムの伝送の開始を指示する指令）を発する役割を有している。
また、図２８の例では、例えば、１番目の情報処理装置Ｈ（１）は、アルゴリズムの伝送に係る結果に関するデータの通知を受けて当該データに関する集計などを行う役割を有してもよい。
【０１９４】
図２９は、本発明の一実施形態（第６実施形態）に係る２個の情報処理装置（本例では、１番目の情報処理装置Ｈ（１）、２番目の情報処理装置Ｈ（２））において行われる処理の一例を示す図である。本例は、最小構成の例であり、１番目の情報処理装置Ｈ（１）においてアルゴリズムに基づく演算を実行する場合の他の一例である。
【０１９５】
図２９の例では、情報処理装置Ｈ（１）は、送信処理ＳＴ２１において、初期的なアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置Ｈ（２）に送信する。これに応じて、情報処理装置Ｈ（２）は、受信処理（図示せず）において、情報処理装置Ｈ（１）から送信されたアルゴリズムデータを受信する。この場合、情報処理装置Ｈ（１）から情報処理装置Ｈ（２）へ、アルゴリズムデータと同時にあるいは他のタイミングで、他のデータを伝送してもよい。
【０１９６】
情報処理装置Ｈ（２）は、演算処理ＳＴ２２において、情報処理装置Ｈ（１）から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
次に、情報処理装置Ｈ（２）は、送信処理ＳＴ２３において、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置Ｈ（１）に送信する。これに応じて、情報処理装置Ｈ（１）は、受信処理（図示せず）において、情報処理装置Ｈ（２）から送信されたアルゴリズムデータを受信する。この場合、情報処理装置Ｈ（２）から情報処理装置Ｈ（１）へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ＳＴ２２における演算の結果に関するデータなどを伝送してもよい。
情報処理装置Ｈ（１）は、演算処理ＳＴ２４において、情報処理装置Ｈ（２）から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
【０１９７】
ここで、本例では、１番目の情報処理装置Ｈ（１）は、アルゴリズムを伝送するための最初の処理として、受信処理あるいは演算処理ではなく、送信処理を採用している。
また、本例では、１番目の情報処理装置Ｈ（１）は、最終番目である２番目の情報処理装置Ｈ（２）から送信されるデータ（例えば、アルゴリズムデータあるいは他のデータ）を受信する。
また、図２９の例では、例えば、１番目の情報処理装置Ｈ（１）は、アルゴリズムの伝送に係る指令（ここでは、アルゴリズムの伝送の開始を指示する指令）を発する役割を有している。
また、図２９の例では、例えば、１番目の情報処理装置Ｈ（１）は、アルゴリズムの伝送に係る結果に関するデータの通知を受けて当該データに関する集計などを行う役割を有してもよい。
【０１９８】
図３０は、本発明の一実施形態（第６実施形態）に係る２個の情報処理装置（本例では、１番目の情報処理装置Ｈ（１）、２番目の情報処理装置Ｈ（２））において行われる処理の一例を示す図である。本例は、最小構成の例であり、１番目の情報処理装置Ｈ（１）においてアルゴリズムに基づく演算を実行しない場合の一例である。
【０１９９】
図３０の例では、情報処理装置Ｈ（１）は、送信処理ＳＴ３１において、初期的なアルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置Ｈ（２）に送信する。これに応じて、情報処理装置Ｈ（２）は、受信処理（図示せず）において、情報処理装置Ｈ（１）から送信されたアルゴリズムデータを受信する。この場合、情報処理装置Ｈ（１）から情報処理装置Ｈ（２）へ、アルゴリズムデータと同時にあるいは他のタイミングで、他のデータを伝送してもよい。
【０２００】
情報処理装置Ｈ（２）は、演算処理ＳＴ３２において、情報処理装置Ｈ（１）から受信されたアルゴリズムデータに記述されたアルゴリズムに基づく演算を実行する。
次に、情報処理装置Ｈ（２）は、送信処理ＳＴ３３において、当該アルゴリズムに応じたアルゴリズムが記述されたアルゴリズムデータを情報処理装置Ｈ（１）に送信する。これに応じて、情報処理装置Ｈ（１）は、受信処理（図示せず）において、情報処理装置Ｈ（２）から送信されたアルゴリズムデータを受信する。この場合、情報処理装置Ｈ（２）から情報処理装置Ｈ（１）へ、アルゴリズムデータと同時にあるいは他のタイミングで、演算処理ＳＴ３２における演算の結果に関するデータなどを伝送してもよい。
なお、情報処理装置Ｈ（２）から情報処理装置Ｈ（１）へ、アルゴリズムデータを送信する処理が行われなくてもよく、例えば、演算処理ＳＴ３２における演算の結果に関するデータなどを送信する処理が行われてもよい。
【０２０１】
ここで、本例では、１番目の情報処理装置Ｈ（１）は、アルゴリズムを伝送するための最初の処理として、受信処理あるいは演算処理ではなく、送信処理を採用している。
また、本例では、１番目の情報処理装置Ｈ（１）は、最終番目である２番目の情報処理装置Ｈ（２）から送信されるデータ（例えば、アルゴリズムデータあるいは他のデータ）を受信する。
また、図３０の例では、例えば、１番目の情報処理装置Ｈ（１）は、アルゴリズムの伝送に係る指令（ここでは、アルゴリズムの伝送の開始を指示する指令）を発する役割を有している。
また、図３０の例では、例えば、１番目の情報処理装置Ｈ（１）は、アルゴリズムの伝送に係る結果に関するデータの通知を受けて当該データに関する集計などを行う役割を有してもよい。
【０２０２】
［本実施形態に係る情報処理装置の適用の例］
本実施形態に係る情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、第１実施形態〜第５実施形態に示される任意の態様の情報処理装置に適用されてもよく、また、他の態様の情報処理装置に適用されてもよい。このような場合、図２７に示される共通のソフトウェア７３２は、本実施形態に係る情報処理装置Ｈ（１）〜Ｈ（Ｕ）が適用される情報処理装置が持つべき機能を実現するプログラムあるいはパラメーターなどを含む。
【０２０３】
それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）に共通のソフトウェア７３２がインストールされる場合、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、例えば、アルゴリズムデータが伝送される経路における自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））の順番などに基づいて動作を変更する機能を有してもよい。
【０２０４】
一例として、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、自装置の順番に応じて動作を変更してもよい。例えば、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、アルゴリズムデータを伝送していく場合に、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）によって自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））の順番を把握することが可能な情報を、伝送していく。ある情報処理装置にとって、当該情報は、例えば、前段の情報処理装置の順番を表す情報であってもよく、あるいは、当該ある情報処理装置（自体）の順番を表す情報であってもよい。それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、例えば、前段の情報処理装置から受信された情報に基づいて、自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））の順番を判定（決定）する。
【０２０５】
ここで、経路における順番に応じて動作が異なる態様としては、例えば、１番目の動作と、２番目〜最終番目の動作と、が異なる態様が用いられてもよく、あるいは、１番目の動作と、２番目〜最終番目よりも１つ前段の動作と、最終番目の動作と、が異なる態様が用いられてもよく、あるいは、他の態様が用いられてもよい。
【０２０６】
一例として、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））の順番以外の要素に応じて動作を変更してもよい。当該要素としては、例えば、日にち、時刻、自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））の属性、自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））において行われた所定の判定の結果、自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））に記憶されたデータのうちの少なくとも一部が用いられてもよく、あるいは、前段の情報処理装置から受信されたデータのうちの少なくとも一部が用いられてもよい。
また、それぞれの情報処理装置Ｈ（１）〜Ｈ（Ｕ）は、自装置（当該情報処理装置Ｈ（１）〜Ｈ（Ｕ））の順番および他の要素の両方に応じて動作を変更してもよい。
また、１番目の情報処理装置Ｈ（１）は、例えば、ユーザにより所定の操作が行われたことに応じて１番目としての動作を開始してもよく、あるいは、共通のソフトウェア７３２にあらかじめ定められた所定の条件が満たされたことに応じて１番目としての動作を開始してもよい。
【０２０７】
（以上の実施形態について）
［一例に係る構成例］
ここで、（構成例１−１）〜（構成例１−２７）を示す。
（構成例１−１）情報処理装置（図２７の例では、情報処理装置Ｈ（１））は、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータ（図２７の例では、アルゴリズムデータ７７１）を第１の情報処理装置（図２７の例では、前段の情報処理装置）から受信する機能を有するデータ受信部（データを受信する機能部であり、例えば、通信部）と、データ受信部により受信された第１のアルゴリズムデータおよび第１の記憶部（図２７の例では、ストレージ７１２）に記憶されたデータ（図２７の例では、データ７５１）に基づいて演算を実行する機能を有する演算実行部（演算を実行する機能部）と、第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータ（図２７の例では、アルゴリズムデータ７９１）を第２の情報処理装置（図２７の例では、後段の情報処理装置）に送信する機能を有するデータ送信部（データを送信する機能部であり、例えば、通信部）と、を備える。
【０２０８】
（構成例１−２）データ送信部は、初期的な第３のアルゴリズムが記述されたデータである第３のアルゴリズムデータを次の情報処理装置に送信する機能を有する、（構成例１−１）に記載の情報処理装置（例えば、１番目の情報処理装置）である。
（構成例１−３）演算実行部は、第４のアルゴリズムに基づいて演算を実行する機能を有し、データ送信部は、第４のアルゴリズムに応じたアルゴリズムを第３のアルゴリズムとして、第３のアルゴリズムデータを次の情報処理装置に送信する機能を有する、（構成例１−２）に記載の情報処理装置である。
（構成例１−４）第３のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置（図２７の例では、情報処理装置Ｈ（１）〜Ｈ（Ｕ））および伝送の順序を決定する機能を有する第１の経路決定部（経路のすべてを決定する機能部）を備える、（構成例１−２）または（構成例１−３）のいずれか１項に記載の情報処理装置である。
（構成例１−５）第１の経路決定部は、情報処理装置の属性に基づいて、情報処理装置および順序を決定する機能を有する、（構成例１−４）に記載の情報処理装置である。
【０２０９】
（構成例１−６）第２のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる第２の情報処理装置を含む１以上の情報処理装置および伝送の順序を決定する機能を有する第２の経路決定部（経路の少なくとも一部を決定する機能部）を備える、（構成例１−１）から（構成例１−５）のいずれか１項に記載の情報処理装置である。
（構成例１−７）第２の経路決定部は、情報処理装置の属性に基づいて、情報処理装置および順序を決定する機能を有する、（構成例１−６）に記載の情報処理装置である。
（構成例１−８）第２のアルゴリズムは、第１のアルゴリズムと同じである、（構成例１−１）から（構成例１−７）のいずれか１項に記載の情報処理装置である。
（構成例１−９）第２のアルゴリズムは、第１のアルゴリズムとは異なる、（構成例１−１）から（構成例１−７）のいずれか１項に記載の情報処理装置である。
【０２１０】
（構成例１−１０）データ受信部は、第１の情報処理装置における演算の結果に関するデータを第１の情報処理装置から受信する機能を有する、（構成例１−１）から（構成例１−９）のいずれか１項に記載の情報処理装置である。
（構成例１−１１）データ受信部は、第１の情報処理装置における演算の結果に関するデータと、第１のアルゴリズムデータとを同時に第１の情報処理装置から受信する機能を有する、（請求項１−１０）に記載の情報処理装置である。
（請求項１−１２）データ送信部は、演算実行部による演算の結果に関するデータを第２の情報処理装置に送信する機能を有する、（構成例１−１）から（構成例１−１１）のいずれか１項に記載の情報処理装置である。
（構成例１−１３）データ送信部は、演算実行部による演算の結果に関するデータと、第２のアルゴリズムデータとを同時に第２の情報処理装置に送信する機能を有する、（構成例１−１２）に記載の情報処理装置である。
【０２１１】
（構成例１−１４）データを記憶する第１の記憶部を備え、演算実行部は、第１の記憶部に記憶されたデータを用いて、演算を実行する機能を有する、（構成例１−１）から（構成例１−１３）のいずれか１項に記載の情報処理装置である。
（構成例１−１５）データ送信部は、演算実行部による演算の結果に関するデータを通知対象となる１以上の所定の情報処理装置に送信する機能を有する、（構成例１−１）から（構成例１−１４）のいずれか１項に記載の情報処理装置である。
（構成例１−１６）所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置（図２７の例では、１番目の情報処理装置）を含む、（構成例１−１５）に記載の情報処理装置である。
【０２１２】
（構成例１−１７）演算実行部による演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第１の演算結果判定部（このような判定を行う機能部）を備える、（構成例１−１）から（構成例１−１６）のいずれか１項に記載の情報処理装置である。
（構成例１−１８）第２のアルゴリズムデータを第２の情報処理装置と少なくとも一つの他の情報処理装置に送信する、（構成例１−１）から（構成例１−１７）のいずれか１項に記載の情報処理装置である。
（構成例１−１９）第２のアルゴリズムデータが送信された２以上の情報処理装置について、演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部（このような判定を行う機能部）を備える、（構成例１−１８）に記載の情報処理装置である。
（構成例１−２０）データ受信部は、他の装置から送信されるデータを受信し、演算実行部は、データ受信部により他の装置から受信されたデータに基づいて演算を実行する、（構成例１−１）から（構成例１−１９）のいずれか１項に記載の情報処理装置である。
（構成例１−２１）他の装置は、アルゴリズムが伝送される対象以外の装置（経路に含まれない装置）である、（構成例１−２０）に記載の情報処理装置である。
【０２１３】
（構成例１−２２）データ受信部により受信されたデータのうちの一部または全部を記憶する第２の記憶部を備える、（構成例１−１）から（構成例１−２１）のいずれか１項に記載の情報処理装置である。
（構成例１−２３）データ送信部により送信したデータのうちの一部または全部を記憶する第３の記憶部を備える、（構成例１−１）から（構成例１−２２）のいずれか１項に記載の情報処理装置である。
【０２１４】
（構成例１−２４）情報処理方法では、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信し、受信された第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行し、第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する。
（構成例１−２５）情報処理装置を構成するコンピュータに、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能と、受信された第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて演算を実行する機能と、第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能と、を実現させるためのプログラムである。
【０２１５】
（構成例１−２６）情報処理システムでは、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの情報処理装置が、アルゴリズムに基づく演算を実行する。
（構成例１−２７）情報処理方法では、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの情報処理装置が、アルゴリズムに基づく演算を実行する。
【０２１６】
［他の例に係る構成例］
ここで、（構成例２−１）〜（構成例２−１６）を示す。ここでは、説明の便宜上、第γ１の情報処理装置、第γ２の情報処理装置、第γ３の情報処理装置といった、３種類を区別して説明するが、例えば、これら３種類のうちの任意の１種類の機能を有する情報処理装置が実施されてもよく、あるいは、これら３種類のうちの任意の２種類の機能を有する情報処理装置が実施されてもよく、あるいは、これら３種類のすべての機能を有する情報処理装置が実施されてもよい。
【０２１７】
（構成例２−１）第γ１の情報処理装置（図１の例では、情報処理装置Ａ（１））と、第γ１の情報処理装置に対して１つ後段となる第γ２の情報処理装置（図１の例では、情報処理装置Ａ（２））と、第γ２の情報処理装置よりも１つ以上後段となる１個以上の第γ３の情報処理装置（図１の例では、情報処理装置Ａ（３）〜Ａ（Ｎ））を含む複数の情報処理装置を備えた情報処理システム（図１の例では、情報処理システム１）である。第γ１の情報処理装置は、所定のアルゴリズムが記述されたデータであるアルゴリズムデータ（図１の例では、アルゴリズムデータａ（１））を第γ２の情報処理装置に送信する。第γ２の情報処理装置は、第γ１の情報処理装置から受信されたアルゴリズムデータおよび第γ２の情報処理装置において記憶されたデータ（図３の例では、データ２５１）に基づいて演算を実行し、前記アルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータ（図１の例では、アルゴリズムデータａ（２））および演算の結果に関するデータ（図１の例では、演算結果データｂ（１））を第γ３の情報処理装置のうちの初段の情報処理装置（図１の例では、情報処理装置Ａ（３））に送信する。
【０２１８】
（構成例２−２）第γ３の情報処理装置は、２個以上存在する。それぞれの第γ３の情報処理装置は、１つ前段の情報処理装置から受信されたアルゴリズムデータおよび第γ３の情報処理装置において記憶されたデータに基づいて演算を実行し、演算の結果に関するデータを取得する。このような（構成例２−１）に記載の情報処理システムである。
（構成例２−３）最終段以外のそれぞれの第γ３の情報処理装置は、１つ前段の情報処理装置から受信されたアルゴリズムデータに記述されたアルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータおよび演算の結果に関するデータを１つ後段の情報処理装置に送信する、（構成例２−２）に記載の情報処理システムである。
（構成例２−４）第γ１の情報処理装置は、第γ２の情報処理装置と第γ３の情報処理装置を含む経路に含まれるすべての情報処理装置（図１の例では、自装置である情報処理装置Ａ（１）および他の情報処理装置Ａ（２）〜Ａ（Ｎ））を決定する、（構成例２−１）から（構成例２−３）のいずれか１項に記載の情報処理システムである。
（構成例２−５）第γ２の情報処理装置と第γ３の情報処理装置を含む経路に関し、第γ２の情報処理装置および第γ３の情報処理装置のうちの少なくとも１個の情報処理装置は、１つ後段の情報処理装置を決定する（例えば、図１の例）、（構成例２−１）から（構成例２−３）のいずれか１項に記載の情報処理システムである。
（構成例２−６）第γ３の情報処理装置のうちの少なくとも１個の情報処理装置（例えば、図１４に示される情報処理装置Ｂ（ｚ））は、得られた演算の結果が所定の基準を満たすか否かを判定し、演算の結果が前記基準を満たすと判定したことに応じて、演算の結果を最終的な演算の結果とする、（構成例２−５）に記載の情報処理システムである。
（構成例２−７）情報処理装置を決定する手法として、情報処理装置の属性の情報（例えば、図５に示される属性の情報）に基づいて情報処理装置を決定する手法が用いられる、（構成例２−４）から（構成例２−６）のいずれか１項に記載の情報処理システムである。
【０２１９】
（構成例２−８）経路において、２個以上に分岐された経路部分が存在する。第γ３の情報処理装置のうちの少なくとも１個の情報処理装置（例えば、図１６に示される情報処理装置Ｃ（５））は、異なる分岐における情報処理装置において得られた演算の結果について所定の判定を行う。このような、（構成例２−４）から（構成例２−７）のいずれか１項に記載の情報処理システム。
（構成例２−９）経路に含まれない装置（図２２の例では、情報処理装置Ｆ（１）〜Ｆ（Ｐ）、Ｇ（１）〜Ｇ（Ｑ））に記憶されたデータ（図２２の例では、データｐ（１）〜ｐ（Ｐ）、ｑ（１）〜ｑ（Ｑ））が経路に含まれる第γ２の情報処理装置および第γ３の情報処理装置のうちの少なくとも１個の情報処理装置（図２２の例では、情報処理装置Ｅ（２）、Ｅ（Ｍ））に送信され、前記データが前記少なくとも１個の情報処理装置に記憶され、前記データが前記少なくとも１個の情報処理装置における演算で用いられる、（構成例２−４）から（構成例２−８）のいずれか１項に記載の情報処理システムである。
（構成例２−１０）第γ３の情報処理装置のうちの最終段の情報処理装置（図１の例では、情報処理装置Ａ（Ｎ））は、取得された演算の結果に関するデータを第γ１の情報処理装置または他の装置に送信する、（構成例２−２）から（構成例２−９）のいずれか１項に記載の情報処理システムである。
（構成例２−１１）第γ２の情報処理装置および第γ３の情報処理装置のうちの少なくとも１個の情報処理装置は、１つ前段の情報処理装置から受信されたデータあるいは１つ後段の情報処理装置に送信したデータのうちの一部または全部を記憶する（例えば、図１の例）、（構成例２−２）から（構成例２−１０）のいずれか１項に記載の情報処理システムである。
（構成例２−１２）第γ２の情報処理装置および第γ３の情報処理装置のすべての情報処理装置は、同一のアルゴリズム（図９の例では、アルゴリズムｃ）が記述されたアルゴリズムデータに基づいて演算を実行する、（構成例２−２）から（構成例２−１１）のいずれか１項に記載の情報処理システムである。
（構成例２−１３）第γ２の情報処理装置および第γ３の情報処理装置のうちの少なくとも１個の情報処理装置は、異なるアルゴリズム（図１３の例では、アルゴリズムｅ（１）〜ｅ（Ｎ−１））が記述されたアルゴリズムデータに基づいて演算を実行する、（構成例２−２）から（構成例２−１１）のいずれか１項に記載の情報処理システムである。
（構成例２−１４）前記少なくとも１個の情報処理装置より１つ前段の情報処理装置は、前記異なるアルゴリズムが記述されたアルゴリズムデータを生成する（例えば、図１３の例）、（構成例２−１３）に記載の情報処理システムである。
【０２２０】
（構成例２−１５）第γ１の情報処理装置と、第γ１の情報処理装置に対して１つ後段となる第γ２の情報処理装置と、第γ２の情報処理装置よりも１つ以上後段となる１個以上の第γ３の情報処理装置を含む複数の情報処理装置により行われる情報処理方法であって、第γ１の情報処理装置は、所定のアルゴリズムが記述されたデータであるアルゴリズムデータを第γ２の情報処理装置に送信し、第γ２の情報処理装置は、第γ１の情報処理装置から受信されたアルゴリズムデータおよび第γ２の情報処理装置において記憶されたデータに基づいて演算を実行し、前記アルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータおよび演算の結果に関するデータを第γ３の情報処理装置のうちの初段の情報処理装置に送信する。
（構成例２−１６）情報処理装置を構成するコンピュータに、１つ前段の情報処理装置から受信された所定のアルゴリズムが記述されたアルゴリズムデータおよび記憶部（図２６の例では、例えば、記憶装置２２３４またはメモリ２２３５）に記憶されたデータに基づいて演算を実行する機能と、前記アルゴリズムに応じたアルゴリズムが記述されたデータであるアルゴリズムデータおよび演算の結果に関するデータを１つ後段の情報処理装置に送信する機能と、を実現させるためのプログラムである。
【０２２１】
［他の例に係る構成例］
ここで、（構成例３−１）〜（構成例３−１４）を示す。
（構成例３−１）第１番目の情報処理装置と第２番目の情報処理装置と第３番目の情報処理装置を含む複数の情報処理装置を備えた情報処理システムであって、前記第１番目の情報処理装置は、第１番目のアルゴリズムが記述されたデータである第１番目のアルゴリズムデータを前記第２番目の情報処理装置に送信し、前記第２番目の情報処理装置は、前記第１番目の情報処理装置から受信された前記第１番目のアルゴリズムデータおよび前記第２番目の情報処理装置において記憶されたデータに基づいて演算を実行し、前記第１番目のアルゴリズムに応じた第２番目のアルゴリズムが記述されたデータである第２番目のアルゴリズムデータおよび前記演算の結果に関するデータを前記第３番目の情報処理装置に送信する、情報処理システムである。
（構成例３−２）Ｗを３以上の整数とし、ｗを１からＷまでの整数とし、Ｗ個の情報処理装置のそれぞれを第ｗ番目の情報処理装置と表した場合に、前記第１番目の情報処理装置から第Ｗ番目の情報処理装置までを含む経路においてアルゴリズムの伝達が行われる、（構成例３−１）に記載の情報処理システムである。
（構成例３−３）前記第１番目の情報処理装置は、前記経路に含まれるすべての前記情報処理装置を決定する、（構成例３−２）に記載の情報処理システムである。
（構成例３−４）ｗが２から（Ｗ−１）までについて、少なくとも１つの前記第ｗ番目の情報処理装置は、前記アルゴリズムの伝達が行われる次の前記情報処理装置である第（ｗ＋１）番目の情報処理装置を決定する、（構成例３−２）に記載の情報処理システムである。
（構成例３−５）第Ｗ番目の情報処理装置は、得られた演算の結果が所定の基準を満たすか否かを判定し、前記演算の結果が前記基準を満たすと判定したことに応じて、前記演算の結果を最終的な演算の結果とした、（構成例３−４）に記載の情報処理システムである。
（構成例３−６）前記情報処理装置を決定する手法として、前記情報処理装置の属性の情報に基づいて前記情報処理装置を決定する手法が用いられる、（構成例３−３）から（構成例３−５）のいずれか１項に記載の情報処理システムである。
（構成例３−７）第Ｗ番目の情報処理装置は、第（Ｗ−１）番目の情報処理装置から受信された第（Ｗ−１）番目のアルゴリズムデータおよび前記第Ｗ番目の情報処理装置において記憶されたデータに基づいて演算を実行し、前記演算の結果に関するデータを前記第１番目の情報処理装置または他の装置に送信する、（構成例３−２）から（構成例３−６）のいずれか１項に記載の情報処理システムである。
（構成例３−８）Ｗが４以上である場合、ｗが３から（Ｗ−１）までについて、第ｗ番目の情報処理装置は、第（ｗ−１）番目の情報処理装置から受信された第（ｗ−１）番目のアルゴリズムデータおよび前記第ｗ番目の情報処理装置において記憶されたデータに基づいて演算を実行し、前記第（ｗ−１）番目のアルゴリズムデータに記述された第（ｗ−１）番目のアルゴリズムに応じた第ｗ番目のアルゴリズムが記述されたデータである第ｗ番目のアルゴリズムデータおよび前記演算の結果に関するデータを第（ｗ＋１）番目の情報処理装置に送信する、（構成例３−２）から（構成例３−６）のいずれか１項に記載の情報処理システムである。
（構成例３−９）ｗが２からＷまでについて、少なくとも１つの第ｗ番目の情報処理装置は、受信されたデータあるいは送信したデータのうちの一部または全部を記憶する、（構成例３−２）から（構成例３−８）のいずれか１項に記載の情報処理システムである。
（構成例３−１０）ｗが２からＷまでについて、すべての第ｗ番目の情報処理装置は、同一のアルゴリズムが記述されたアルゴリズムデータに基づいて演算を実行する、（構成例３−２）から（構成例３−９）のいずれか１項に記載の情報処理システムである。
（構成例３−１１）ｗが２からＷまでについて、少なくとも１つの第ｗ番目の情報処理装置は、異なるアルゴリズムが記述されたアルゴリズムデータに基づいて演算を実行する、（構成例３−２）から（構成例３−１０）のいずれか１項に記載の情報処理システムである。
（構成例３−１２）ｗが３からＷまでについて、前記少なくとも１つの第ｗ番目の情報処理装置より１つ前の第（ｗ−１）番目の情報処理装置は、次の第ｗ番目の情報処理装置に送信する前記異なるアルゴリズムが記述されたアルゴリズムデータを生成する、（構成例３−１１）に記載の情報処理システムである。
（構成例３−１３）前記経路において、２個以上に分岐された経路部分が存在し、異なる分岐における前記情報処理装置において得られた演算の結果について所定の判定が行われる、（構成例３−２）から（構成例３−１２）のいずれか１項に記載の情報処理システムである。
（構成例３−１４）前記経路に含まれない装置に記憶されたデータが前記経路に含まれる前記情報処理装置に送信され、前記データが前記情報処理装置に記憶され、前記データが前記情報処理装置における演算で用いられる、（構成例３−２）から（構成例３−１３）のいずれか１項に記載の情報処理システムである。
【０２２２】
なお、ここでは、wの値が前後する２個の情報処理装置が互いに前段と後段の関係にあるとして説明したが、これは説明の便宜上であり、必ずしも当該関係になくてもよい。特に、Ｗ個の情報処理装置を直列の順番とする場合にはw＝1〜Ｗの順番に並んでいる経路を説明することが簡易な説明の一例であるが、２個以上の情報処理装置に分岐された経路部分がある場合には、wの値が前後であっても２個の情報処理装置が前段と後段の関係にならない箇所が発生し得る。
【０２２３】
以上のように、実施形態に係る装置（例えば、情報処理装置２０３１〜２０３５、２０５１〜２０５５、２２１１、Ａ（１）〜Ａ（Ｎ）、Ｂ（ｚ）、Ｃ（１）〜Ｃ（７）、Ｄ（１）〜Ｄ（４）、Ｅ（１）〜Ｅ（ｍ）、Ｆ（１）〜Ｆ（Ｐ）、Ｇ（１）〜Ｇ（Ｑ）、Ｈ（１）〜Ｈ（Ｕ）端末装置２１１１〜２１１８など）の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体（記憶媒体）に記録（記憶）して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行うことができる。
なお、ここでいう「コンピュータシステム」とは、オペレーティングシステムあるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えば、ＤＲＡＭ）のように、一定時間プログラムを保持しているものも含む。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）あるいは電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０２２４】
なお、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【０２２５】
１、６０１…情報処理システム、１１１、２１１、３１１、４１１…入力部、１１２、２１２、３１２、４１２…出力部、１１３、２１３、３１３、４１３…記憶部、１１４、２１４、３１４、４１４…通信部、１１５、２１５、３１５、４１５、５１１…制御部、１３１、２３３、４３４…アルゴリズム生成部、１３２…情報処理装置検索部、１３３、２３４、４３５…経路決定部、１３４、２３５、４３６…アルゴリズム送信制御部、１３５…演算結果取得部、１５１、２５１、３５１、４５１、ｋ１〜ｋ３、ｐ（１）〜ｐ（Ｐ）、ｑ（１）〜ｑ（Ｑ）…データ、２３１、３３１、４３１…アルゴリズム取得部、２３２、３３２、４３２…演算実行部、３３３、４３７…通知先決定部、３３４、４３８…演算結果通知制御部、４３３、５３２…演算結果判定部、５０１…階層化部分、５３１…処理部群、７１１…処理実行機能、７１２…ストレージ、７３１、２２３１…プロセッサ、７３２…ソフトウェア、７５１、７７２、７９２…データ、７７１、７９１、ａ（１）〜ａ（Ｎ−１）、ｇ、ｇ（１）〜ｇ（７）、ｍ（１）〜ｍ（Ｍ−１）…アルゴリズムデータ、２００１、２１０１…通信システム、２０１１、２０１２…ネットワーク、２１１１〜２１１８…端末装置、２０３１〜２０３５、２０５１〜２０５５、２２１１、Ａ（１）〜Ａ（Ｎ）、Ｂ（ｚ）、Ｃ（１）〜Ｃ（７）、Ｄ（１）〜Ｄ（４）、Ｅ（１）〜Ｅ（ｍ）、Ｆ（１）〜Ｆ（Ｐ）、Ｇ（１）〜Ｇ（Ｑ）、Ｈ（１）、Ｈ（２）…情報処理装置、２２３２…操作部、２２３３…表示部、２２３４…記憶装置、２２３５…メモリ、２２３６…入出力インターフェイス、２２３７…ネットワークインターフェイス、３０１１…情報処理装置テーブル、４０１１、４１１１、４２１１…送信データ、４０３１、４１３１、ｃ、ｅ（１）〜ｅ（Ｎ−１）…アルゴリズム、４０３２、４１３２…パラメーター、４１３３、４２３１、ｄ（１）〜ｄ（Ｎ−１）、ｆ（１）〜ｆ（Ｎ−１）…演算結果、ｂ（１）〜ｂ（Ｎ−１）、ｈ、ｈ（１）〜ｈ（７）、ｎ（１）〜ｎ（Ｍ−１）…演算結果データ
【図１】
2019128645.tif 000003
【図２】
2019128645.tif 000004
【図３】
2019128645.tif 000005
【図４】
2019128645.tif 000006
【図５】
2019128645.tif 000007
【図６】
2019128645.tif 000008
【図７】
2019128645.tif 000009
【図８】
2019128645.tif 000010
【図９】
2019128645.tif 000011
【図１０】
2019128645.tif 000012
【図１１】
2019128645.tif 000013
【図１２】
2019128645.tif 000014
【図１３】
2019128645.tif 000015
【図１４】
2019128645.tif 000016
【図１５】
2019128645.tif 000017
【図１６】
2019128645.tif 000018
【図１７】
2019128645.tif 000019
【図１８】
2019128645.tif 000020
【図１９】
2019128645.tif 000021
【図２０】
2019128645.tif 000022
【図２１】
2019128645.tif 000023
【図２２】
2019128645.tif 000024
【図２３】
2019128645.tif 000025
【図２４】
2019128645.tif 000026
【図２５】
2019128645.tif 000027
【図２６】
2019128645.tif 000028
【図２７】
2019128645.tif 000029
【図２８】
2019128645.tif 000030
【図２９】
2019128645.tif 000031
【図３０】
2019128645.tif 000032
【手続補正書】
【提出日】平成30年7月12日(2018.7.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、
前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能を有する演算実行部と、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、
を備える情報処理装置。
【請求項２】
前記データ送信部は、初期的な第３のアルゴリズムが記述されたデータである第３のアルゴリズムデータを次の情報処理装置に送信する機能を有する、
請求項１に記載の情報処理装置。
【請求項３】
前記演算実行部は、第４のアルゴリズムに基づいて演算を実行する機能を有し、
前記データ送信部は、前記第４のアルゴリズムに応じたアルゴリズムを前記第３のアルゴリズムとして、前記第３のアルゴリズムデータを前記次の情報処理装置に送信する機能を有する、
請求項２に記載の情報処理装置。
【請求項４】
前記第３のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置および伝送の順序を決定する機能を有する第１の経路決定部を備える、
請求項２または請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項４に記載の情報処理装置。
【請求項６】
前記第１の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項５に記載の情報処理装置。
【請求項７】
前記第２のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる前記第２の情報処理装置を含む１以上の情報処理装置および伝送の順序を決定する機能を有する第２の経路決定部を備える、
請求項１から請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第２の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項７に記載の情報処理装置。
【請求項９】
前記第２の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項８に記載の情報処理装置。
【請求項１０】
前記第２のアルゴリズムは、前記第１のアルゴリズムと同じである、
請求項１から請求項９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記第２のアルゴリズムは、前記第１のアルゴリズムとは異なる、
請求項１から請求項９のいずれか１項に記載の情報処理装置。
【請求項１２】
前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータを前記第１の情報処理装置から受信する機能を有する、
請求項１から請求項１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータと、前記第１のアルゴリズムデータとを同時に前記第１の情報処理装置から受信する機能を有する、
請求項１２に記載の情報処理装置。
【請求項１４】
前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第２の情報処理装置に送信する機能を有する、
請求項１から請求項１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第２のアルゴリズムデータとを同時に前記第２の情報処理装置に送信する機能を有する、
請求項１４に記載の情報処理装置。
【請求項１６】
データを記憶する第１の記憶部を備え、
前記演算実行部は、前記第１の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、
請求項１から請求項１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる１以上の所定の情報処理装置に送信する機能を有する、
請求項１から請求項１６のいずれか１項に記載の情報処理装置。
【請求項１８】
前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、
請求項１７に記載の情報処理装置。
【請求項１９】
前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第１の演算結果判定部を備える、
請求項１から請求項１８のいずれか１項に記載の情報処理装置。
【請求項２０】
前記第１の演算結果判定部は、既に前記アルゴリズムに応じた前記演算を実行した前記情報処理装置の数が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準、または、得られた前記演算の結果に含まれる情報の量が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準を用いて、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する、
請求項１９に記載の情報処理装置。
【請求項２１】
前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信する、
請求項１から請求項２０のいずれか１項に記載の情報処理装置。
【請求項２２】
前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備える、
請求項２１に記載の情報処理装置。
【請求項２３】
前記第２の演算結果判定部は、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する、
請求項２２に記載の情報処理装置。
【請求項２４】
前記データ受信部は、他の装置から送信されるデータを受信し、
前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、
請求項１から請求項２３のいずれか１項に記載の情報処理装置。
【請求項２５】
前記他の装置は、アルゴリズムが伝送される対象以外の装置である、
請求項２４に記載の情報処理装置。
【請求項２６】
前記データ受信部により受信された前記データのうちの一部または全部を記憶する第２の記憶部を備える、
請求項１から請求項２５のいずれか１項に記載の情報処理装置。
【請求項２７】
前記データ送信部により送信した前記データのうちの一部または全部を記憶する第３の記憶部を備える、
請求項１から請求項２６のいずれか１項に記載の情報処理装置。
【請求項２８】
前記演算実行部は、前記データ受信部により前記第１のアルゴリズムデータを受信したことに応じて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、
前記データ送信部は、前記演算実行部により前記演算が実行されたことに応じて、前記第２のアルゴリズムデータを前記第２の情報処理装置に送信する、
請求項１から請求項２７のいずれか１項に記載の情報処理装置。
【請求項２９】
前記データ受信部は、前記第１のアルゴリズムデータとともに第１のパラメーターを前記第１の情報処理装置から受信し、
前記演算実行部は、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算において前記データ受信部により受信された前記第１のパラメーターを使用し、
前記データ送信部は、前記第２のアルゴリズムデータとともに第２のパラメーターを前記第２の情報処理装置に送信する、
請求項１から請求項２８のいずれか１項に記載の情報処理装置。
【請求項３０】
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信し、
受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用し、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する、
情報処理方法。
【請求項３１】
情報処理装置を構成するコンピュータに、
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能と、
受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能と、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能と、
を実現させるためのプログラム。
【請求項３２】
複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、
少なくとも一つの前記情報処理装置が、他の前記情報処理装置から受信された前記アルゴリズムデータに記述された前記アルゴリズムに基づく演算を実行する、
情報処理システム。
【請求項３３】
３つ以上の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、
少なくとも一つの前記情報処理装置が、前記アルゴリズムに基づく演算を実行し、
前記所定の順序において前記演算を実行した前記情報処理装置以降の前記情報処理装置は、前記演算の結果に関するデータを次の順序の前記情報処理装置に伝送し、
前記所定の順序における最後の前記情報処理装置は、前記演算の結果に関するデータを、次の順序の前記情報処理装置として前記所定の順序における最初の前記情報処理装置に伝送する、
請求項３２に記載の情報処理システム。
【請求項３４】
複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、
少なくとも一つの前記情報処理装置が、他の前記情報処理装置から受信された前記アルゴリズムデータに記述された前記アルゴリズムに基づく演算を実行する、
情報処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の実施形態に係る情報処理装置は、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能を有する演算実行部と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、を備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の一態様に係る情報処理装置において、前記データ送信部は、初期的な第３のアルゴリズムが記述されたデータである第３のアルゴリズムデータを次の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記演算実行部は、第４のアルゴリズムに基づいて演算を実行する機能を有し、前記データ送信部は、前記第４のアルゴリズムに応じたアルゴリズムを前記第３のアルゴリズムとして、前記第３のアルゴリズムデータを前記次の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第３のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置および伝送の順序を決定する機能を有する第１の経路決定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第１の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第１の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる前記第２の情報処理装置を含む１以上の情報処理装置および伝送の順序を決定する機能を有する第２の経路決定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムは、前記第１のアルゴリズムと同じである、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムは、前記第１のアルゴリズムとは異なる、構成とされてもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータを前記第１の情報処理装置から受信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータと、前記第１のアルゴリズムデータとを同時に前記第１の情報処理装置から受信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第２の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第２のアルゴリズムデータとを同時に前記第２の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、データを記憶する第１の記憶部を備え、前記演算実行部は、前記第１の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる１以上の所定の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、構成とされてもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の一態様に係る情報処理装置において、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第１の演算結果判定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第１の演算結果判定部は、既に前記アルゴリズムに応じた前記演算を実行した前記情報処理装置の数が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準、または、得られた前記演算の結果に含まれる情報の量が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準を用いて、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第２の演算結果判定部は、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、他の装置から送信されるデータを受信し、前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記他の装置は、アルゴリズムが伝送される対象以外の装置である、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部により受信された前記データのうちの一部または全部を記憶する第２の記憶部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部により送信した前記データのうちの一部または全部を記憶する第３の記憶部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記演算実行部は、前記データ受信部により前記第１のアルゴリズムデータを受信したことに応じて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、前記データ送信部は、前記演算実行部により前記演算が実行されたことに応じて、前記第２のアルゴリズムデータを前記第２の情報処理装置に送信する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１のアルゴリズムデータとともに第１のパラメーターを前記第１の情報処理装置から受信し、前記演算実行部は、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算において前記データ受信部により受信された前記第１のパラメーターを使用し、前記データ送信部は、前記第２のアルゴリズムデータとともに第２のパラメーターを前記第２の情報処理装置に送信する、構成とされてもよい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の一態様に係る情報処理方法において、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信し、受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用し、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明の一態様に係るプログラムにおいて、情報処理装置を構成するコンピュータに、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能と、受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能と、を実現させるためのプログラムである。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明の一態様に係る情報処理システムにおいて、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの前記情報処理装置が、他の前記情報処理装置から受信された前記アルゴリズムデータに記述された前記アルゴリズムに基づく演算を実行する。
本発明の一態様に係る情報処理システムにおいて、３つ以上の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの前記情報処理装置が、前記アルゴリズムに基づく演算を実行し、前記所定の順序において前記演算を実行した前記情報処理装置以降の前記情報処理装置は、前記演算の結果に関するデータを次の順序の前記情報処理装置に伝送し、前記所定の順序における最後の前記情報処理装置は、前記演算の結果に関するデータを、次の順序の前記情報処理装置として前記所定の順序における最初の前記情報処理装置に伝送する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明の一態様に係る情報処理方法において、複数の情報処理装置が、所定の順序で、アルゴリズムが記述されたデータであるアルゴリズムデータを伝送していき、少なくとも一つの前記情報処理装置が、他の前記情報処理装置から受信された前記アルゴリズムデータに記述された前記アルゴリズムに基づく演算を実行する。
【手続補正書】
【提出日】平成30年9月27日(2018.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、
前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能を有する演算実行部と、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、
を備え、
前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信し、
前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備え、
前記第２の演算結果判定部は、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する、
情報処理装置。
【請求項２】
前記データ送信部は、初期的な第３のアルゴリズムが記述されたデータである第３のアルゴリズムデータを次の情報処理装置に送信する機能を有する、
請求項１に記載の情報処理装置。
【請求項３】
前記演算実行部は、第４のアルゴリズムに基づいて演算を実行する機能を有し、
前記データ送信部は、前記第４のアルゴリズムに応じたアルゴリズムを前記第３のアルゴリズムとして、前記第３のアルゴリズムデータを前記次の情報処理装置に送信する機能を有する、
請求項２に記載の情報処理装置。
【請求項４】
前記第３のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれるすべての情報処理装置および伝送の順序を決定する機能を有する第１の経路決定部を備える、
請求項２または請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項４に記載の情報処理装置。
【請求項６】
前記第１の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項５に記載の情報処理装置。
【請求項７】
前記第２のアルゴリズムに応じたアルゴリズムを伝送する経路に含まれる前記第２の情報処理装置を含む１以上の情報処理装置および伝送の順序を決定する機能を有する第２の経路決定部を備える、
請求項１から請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第２の経路決定部は、前記情報処理装置の属性に基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項７に記載の情報処理装置。
【請求項９】
前記第２の経路決定部は、前記情報処理装置の属性として、過去に前記アルゴリズムの伝送に加わった回数、過去における質問に対する回答の数、または、過去における質問に対する回答の頻度のうちのいずれかに基づいて、前記情報処理装置および前記順序を決定する機能を有する、
請求項８に記載の情報処理装置。
【請求項１０】
前記第２のアルゴリズムは、前記第１のアルゴリズムと同じである、
請求項１から請求項９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記第２のアルゴリズムは、前記第１のアルゴリズムとは異なる、
請求項１から請求項９のいずれか１項に記載の情報処理装置。
【請求項１２】
前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータを前記第１の情報処理装置から受信する機能を有する、
請求項１から請求項１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータと、前記第１のアルゴリズムデータとを同時に前記第１の情報処理装置から受信する機能を有する、
請求項１２に記載の情報処理装置。
【請求項１４】
前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第２の情報処理装置に送信する機能を有する、
請求項１から請求項１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第２のアルゴリズムデータとを同時に前記第２の情報処理装置に送信する機能を有する、
請求項１４に記載の情報処理装置。
【請求項１６】
データを記憶する前記第１の記憶部を備え、
前記演算実行部は、前記第１の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、
請求項１から請求項１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる１以上の所定の情報処理装置に送信する機能を有する、
請求項１から請求項１６のいずれか１項に記載の情報処理装置。
【請求項１８】
前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、
請求項１７に記載の情報処理装置。
【請求項１９】
前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第１の演算結果判定部を備える、
請求項１から請求項１８のいずれか１項に記載の情報処理装置。
【請求項２０】
前記第１の演算結果判定部は、既に前記アルゴリズムに応じた前記演算を実行した前記情報処理装置の数が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準、または、得られた前記演算の結果に含まれる情報の量が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準を用いて、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する、
請求項１９に記載の情報処理装置。
【請求項２１】
前記データ受信部は、他の装置から送信されるデータを受信し、
前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、
請求項１から請求項２０のいずれか１項に記載の情報処理装置。
【請求項２２】
前記他の装置は、アルゴリズムが伝送される対象以外の装置である、
請求項２１に記載の情報処理装置。
【請求項２３】
前記データ受信部により受信された前記データのうちの一部または全部を記憶する第２の記憶部を備える、
請求項１から請求項２２のいずれか１項に記載の情報処理装置。
【請求項２４】
前記データ送信部により送信した前記データのうちの一部または全部を記憶する第３の記憶部を備える、
請求項１から請求項２３のいずれか１項に記載の情報処理装置。
【請求項２５】
前記演算実行部は、前記データ受信部により前記第１のアルゴリズムデータを受信したことに応じて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、
前記データ送信部は、前記演算実行部により前記演算が実行されたことに応じて、前記第２のアルゴリズムデータを前記第２の情報処理装置に送信する、
請求項１から請求項２４のいずれか１項に記載の情報処理装置。
【請求項２６】
前記データ受信部は、前記第１のアルゴリズムデータとともに第１のパラメーターを前記第１の情報処理装置から受信し、
前記演算実行部は、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算において前記データ受信部により受信された前記第１のパラメーターを使用し、
前記データ送信部は、前記第２のアルゴリズムデータとともに第２のパラメーターを前記第２の情報処理装置に送信する、
請求項１から請求項２５のいずれか１項に記載の情報処理装置。
【請求項２７】
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信し、
受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用し、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置と少なくとも一つの他の情報処理装置に送信し、
前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う、
情報処理方法。
【請求項２８】
情報処理装置を構成するコンピュータに、
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能と、
受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能と、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置と少なくとも一つの他の情報処理装置に送信する機能と、
前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能と、
を実現させるためのプログラム。
【請求項２９】
情報処理装置を含む情報処理システムにおいて、
前記情報処理装置は、
第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、
前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能を有する演算実行部と、
前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、
を備え、
前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信し、
前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備え、
前記第２の演算結果判定部は、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する、
情報処理システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の実施形態に係る情報処理装置は、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能を有する演算実行部と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、を備え、前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信し、前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備え、前記第２の演算結果判定部は、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータを前記第１の情報処理装置から受信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１の情報処理装置における演算の結果に関するデータと、前記第１のアルゴリズムデータとを同時に前記第１の情報処理装置から受信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを前記第２の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータと、前記第２のアルゴリズムデータとを同時に前記第２の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、データを記憶する前記第１の記憶部を備え、前記演算実行部は、前記第１の記憶部に記憶された前記データを用いて、前記演算を実行する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部は、前記演算実行部による演算の結果に関するデータを通知対象となる１以上の所定の情報処理装置に送信する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記所定の情報処理装置は、少なくとも、アルゴリズムデータの発信元の情報処理装置を含む、構成とされてもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の一態様に係る情報処理装置において、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する第１の演算結果判定部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記第１の演算結果判定部は、既に前記アルゴリズムに応じた前記演算を実行した前記情報処理装置の数が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準、または、得られた前記演算の結果に含まれる情報の量が所定の閾値以上である場合に前記演算の結果に関するデータを最終的なデータとするという判定基準を用いて、前記演算実行部による前記演算の結果に関するデータを最終的なデータとするか否かを判定する機能を有する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、他の装置から送信されるデータを受信し、前記演算実行部は、前記データ受信部により前記他の装置から受信された前記データに基づいて前記演算を実行する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記他の装置は、アルゴリズムが伝送される対象以外の装置である、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部により受信された前記データのうちの一部または全部を記憶する第２の記憶部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ送信部により送信した前記データのうちの一部または全部を記憶する第３の記憶部を備える、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記演算実行部は、前記データ受信部により前記第１のアルゴリズムデータを受信したことに応じて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、前記データ送信部は、前記演算実行部により前記演算が実行されたことに応じて、前記第２のアルゴリズムデータを前記第２の情報処理装置に送信する、構成とされてもよい。
本発明の一態様に係る情報処理装置において、前記データ受信部は、前記第１のアルゴリズムデータとともに第１のパラメーターを前記第１の情報処理装置から受信し、前記演算実行部は、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算において前記データ受信部により受信された前記第１のパラメーターを使用し、前記データ送信部は、前記第２のアルゴリズムデータとともに第２のパラメーターを前記第２の情報処理装置に送信する、構成とされてもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の実施形態に係る情報処理方法は、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信し、受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用し、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置と少なくとも一つの他の情報処理装置に送信し、前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明の実施形態に係るプログラムは、情報処理装置を構成するコンピュータに、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能と、受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置と少なくとも一つの他の情報処理装置に送信する機能と、前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能と、を実現させるためのプログラムである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明の実施形態に係る情報処理システムは、情報処理装置を含む情報処理システムにおいて、前記情報処理装置は、第１のアルゴリズムが記述されたデータである第１のアルゴリズムデータを第１の情報処理装置から受信する機能を有するデータ受信部と、前記データ受信部により受信された前記第１のアルゴリズムデータおよび第１の記憶部に記憶されたデータに基づいて、前記第１のアルゴリズムデータに記述された前記第１のアルゴリズムに基づく演算を実行し、当該演算において前記第１の記憶部に記憶されたデータを使用する機能を有する演算実行部と、前記第１のアルゴリズムに応じた第２のアルゴリズムが記述されたデータである第２のアルゴリズムデータを第２の情報処理装置に送信する機能を有するデータ送信部と、を備え、前記第２のアルゴリズムデータを前記第２の情報処理装置と少なくとも一つの他の情報処理装置に送信し、前記第２のアルゴリズムデータが送信された２以上の前記情報処理装置について、前記演算の結果に関するデータについて所定の判定を行う機能を有する第２の演算結果判定部を備え、前記第２の演算結果判定部は、自装置とは別の前記情報処理装置から前記第２のアルゴリズムデータが分岐させられて送信された２以上の前記情報処理装置から受信された前記演算の結果に関するデータについて、分岐後に経由した前記情報処理装置の数の判定を行って当該数がより多い方から所定数の前記演算の結果に関するデータを採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が早い前記演算の結果に関するデータを優先的に採用することを実現させる処理、前記演算の結果に関するデータを受信した時刻の判定を行って当該時刻が遅い前記演算の結果に関するデータを優先的に採用することを実現させる処理、または、分岐後に特定の前記情報処理装置を経由したかどうかの判定を行って前記特定の前記情報処理装置を経由した前記演算の結果に関するデータを優先的に採用することを実現させる処理のうちのいずれかを行う機能を有する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】