(57)【要約】【課題】インターネットやコンピュータが普及してきたが、コンピュータが稼動していのは一部の時間帯であり、有効に多数のコンピュータ資源を利用することができない。【解決手段】１以上の第一情報処理装置と第二情報処理装置とサーバ装置を具備する情報処理システムであって、第一情報処理装置は、プログラムを受信し、当該プログラムを実行し、当該プログラムの実行結果を送信し、第二情報処理装置は、プログラムの実行依頼を送信し、実行結果を受信して、当該実行結果を処理し、サーバ装置は、第二情報処理装置からプログラムの実行依頼を受け付けて、当該実行依頼に基づいて、プログラムを実行する第一情報処理装置を決定し、当該第一情報処理装置が第二情報処理装置のプログラムを実行することを仲介する情報処理システムにより、有効に多数のコンピュータ資源を利用するサービスを提供できる。【選択図】  図１
2004152235.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行が可能な第一情報処理装置を識別する情報である第一情報処理装置識別子を有する能力貸与計算機情報を格納している能力貸与計算機情報格納部と、
第二情報処理装置からプログラムを受信するプログラム受信部と、
前記能力貸与計算機情報格納部に格納されている能力貸与計算機情報が有する第一情報処理装置識別子で識別される第一情報処理装置に前記プログラムを送信し、当該プログラムの実行を指示するプログラム実行指示部と、
前記第一情報処理装置におけるプログラム実行結果を受信する実行結果受信部と、
前記プログラム実行結果を前記第二情報処理装置に送信する実行結果送信部を具備するサーバ装置。
【請求項２】
前記第二情報処理装置から前記プログラムの実行条件に関する情報である実行条件情報を受信する実行条件情報受信部をさらに具備し、
前記能力貸与計算機情報は、貸与できる計算機能力に関する情報である貸与能力情報を含み、
前記プログラム実行指示部は、前記実行条件情報に合致する第一情報処理装置を前記貸与能力情報に基づいて選択して、当該選択した第一情報処理装置に前記プログラムを送信し、当該プログラムの実行を指示する請求項１記載のサーバ装置。
【請求項３】
前記実行条件情報は、演算能力とプログラム実行完了時刻に関する情報を含む請求項２記載のサーバ装置。
【請求項４】
前記プログラム受信部で受信したプログラムが一定の条件を満たすか否かを判断するプログラム条件判断部をさらに具備し、
前記プログラム実行指示部は、前記プログラムが一定の条件を満たす場合のみ、前記第一情報処理装置に前記プログラムを送信し、当該プログラムの実行を指示する請求項１から請求項３いずれか記載のサーバ装置。
【請求項５】
前記が一定の条件は、ウィルスに感染していないことである請求項４記載のサーバ装置。
【請求項６】
前記プログラム実行指示部は、前記実行条件情報受信部で受信した実行条件情報に合致する第一情報処理装置の存在の有無を判断し、
前記実行条件情報に合致する第一情報処理装置の存在の有無に関する情報である条件合致情報を第二情報処理装置に送信する条件合致情報送信部をさらに具備する請求項２から請求項５いずれか記載のサーバ装置。
【請求項７】
前記第一情報処理装置の計算機能力貸与に対して支払われる対価または／および前記第二情報処理装置の計算機能力利用に対して課せられる対価を算出する対価算出部をさらに具備する請求項１から請求項６いずれか記載のサーバ装置。
【請求項８】
前記対価算出部は、貸与する計算機能力をパラメータとして前記第一情報処理装置の計算機能力貸与に対して支払われる対価または／および前記第二情報処理装置の計算機能力利用に対して課せられる対価を算出する請求項７記載のサーバ装置。
【請求項９】
前記第一情報処理装置から第一情報処理装置識別子と貸与能力情報を有する貸与条件情報を受信する貸与条件情報受信部と、
前記貸与条件情報を前記能力貸与計算機情報格納部に蓄積する貸与条件情報蓄積部をさらに具備する請求項１から請求項８いずれか記載のサーバ装置。
【請求項１０】
１以上の第一情報処理装置と第二情報処理装置とサーバ装置を具備する情報処理システムであって、
前記第一情報処理装置は、
前記第二情報処理装置からプログラムを受信する実行プログラム受信部と、
前記プログラムを実行するプログラム実行部と、
前記プログラム実行部におけるプログラムの実行結果を前記第二情報処理装置に送信する実行結果送信部を具備し、
前記第二情報処理装置は、
プログラムを格納しているプログラム格納部と、
前記プログラムの実行を依頼することを示す情報である依頼情報を前記サーバ装置に送信する依頼情報送信部と、
前記サーバ装置から前記第一情報処理装置を識別する情報である第一情報処理装置識別子を受信する第一情報処理装置識別子受信部と、
前記第一情報処理装置識別子で識別される第一情報処理装置に前記プログラム格納部のプログラムを送信するプログラム送信部と、
前記第一情報処理装置からプログラムの実行結果を受信する実行結果受信部と、前記実行結果を処理する実行結果処理部を具備し、
前記サーバ装置は、
プログラムの実行が可能な第一情報処理装置を識別する情報である第一情報処理装置識別子を有する能力貸与計算機情報を格納している能力貸与計算機情報格納部と、
第二情報処理装置から依頼情報を受信する依頼情報受信部と、
前記能力貸与計算機情報格納部に格納されている能力貸与計算機情報が有する第一情報処理装置識別子を前記第二情報処理装置に送信する第一情報処理装置識別子送信部を具備する情報処理システム。
【請求項１１】
前記第二情報処理装置は、
前記プログラムの実行条件に関する情報である実行条件情報を前記サーバ装置に送信する実行条件情報送信部をさらに具備し、
前記サーバ装置は、
前記実行条件情報を受信する実行条件情報受信部をさらに具備し、
前記能力貸与計算機情報は、貸与できる計算機能力に関する情報である貸与能力情報を含み、
前記第一情報処理装置識別子送信部は、前記実行条件情報に合致する第一情報処理装置を前記貸与能力情報に基づいて選択して、当該第一情報処理装置を識別する第一情報処理装置識別子を前記第二情報処理装置に送信する請求項１０記載の情報処理システム。
【請求項１２】
前記実行条件情報は、演算能力とプログラム実行完了時刻に関する情報を含む請求項１１記載の情報処理システム。
【請求項１３】
前記サーバ装置は、
前記第二情報処理装置からプログラムを受信するプログラム受信部と、
前記プログラムが一定の条件を満たすか否かを判断するプログラム条件判断部をさらに具備し、
前記第一情報処理装置識別子送信部は、前記プログラムが一定の条件を満たす場合のみ、第一情報処理装置識別子を前記第二情報処理装置に送信する請求項１０から請求項１２いずれか記載の情報処理システム。
【請求項１４】
前記が一定の条件は、ウィルスに感染していないことである請求項１３記載の情報処理システム。
【請求項１５】
前記サーバ装置において、
前記プログラム実行指示部は、前記実行条件情報受信部で受信した実行条件情報に合致する第一情報処理装置の存在の有無を判断し、
前記実行条件情報に合致する第一情報処理装置の存在の有無に関する情報である条件合致情報を第二情報処理装置に送信する条件合致情報送信部をさらに具備する請求項１１から請求項１４いずれか記載の情報処理システム。
【請求項１６】
前記サーバ装置は、
前記第一情報処理装置の計算機能力貸与に対して支払われる対価または／および前記第二情報処理装置の計算機能力利用に対して課せられる対価を算出する対価算出部をさらに具備する請求項１０から請求項１５いずれか記載の情報処理システム。
【請求項１７】
前記対価算出部は、貸与する計算機能力をパラメータとして前記第一情報処理装置の計算機能力貸与に対して支払われる対価または／および前記第二情報処理装置の計算機能力利用に対して課せられる対価を算出する請求項１６記載の情報処理システム。
【請求項１８】
前記サーバ装置は、
前記第一情報処理装置から第一情報処理装置識別子と貸与能力情報を有する貸与条件情報を受信する貸与条件情受信部と、
前記貸与条件情報を前記能力貸与計算機情報格納部に蓄積する貸与条件情報蓄積部をさらに具備する請求項１０から請求項１７いずれか記載の情報処理システム。
【請求項１９】
請求項１０から請求項１８いずれか記載の情報処理システムを構成する第一情報処理装置。
【請求項２０】
請求項１０から請求項１８いずれか記載の情報処理システムを構成する第二情報処理装置。
【請求項２１】
請求項１０から請求項１８いずれか記載の情報処理システムを構成するサーバ装置。
【請求項２２】
１以上の第一情報処理装置と第二情報処理装置とサーバ装置を具備する情報処理システムであって、
前記第一情報処理装置は、
プログラムを受信し、当該プログラムを実行し、当該プログラムの実行結果を送信し、
前記第二情報処理装置は、
プログラムの実行依頼を送信し、実行結果を受信して、当該実行結果を処理し、前記サーバ装置は、
前記第二情報処理装置からプログラムの実行依頼を受け付けて、当該実行依頼に基づいて、プログラムを実行する第一情報処理装置を決定し、当該第一情報処理装置が前記第二情報処理装置のプログラムを実行することを仲介する情報処理システム。
【請求項２３】
請求項２２記載の情報処理システムを構成するサーバ装置。
【請求項２４】
請求項２２記載の情報処理システムを構成する第一情報処理装置。
【請求項２５】
請求項２２記載の情報処理システムを構成する第二情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機能力を貸与し得る情報処理システムやサーバ装置等に関する。
【０００２】
【従来の技術】
従来、計算機自体を貸与するレンタル業があった。また、電子計算機用プログラムを貸し出すシステムはあった（特許文献１参照）。本システムは、電子計算機用プログラムを不正使用ができないようにして、その使用期間を限って貸し出しできるようにするシステムである。さらに、ストレージへのアクセス権を貸し出すシステムがあった（特許文献２参照）。本システムは、サーバとストレージを含む計算機ネットワークにおいて、ストレージが、自身の格納するファイルの書き込みアクセス権を管理し、このアクセス権を要求するサーバに対して期限付きでアクセス権を貸し出すシステムである。
【０００３】
【特許文献１】
特開平１１−１９４９３７号公報（第１頁、第１図等）
【特許文献２】
特開２００１−３０６４０３号公報（第１頁、第１図等）
【０００４】
【発明が解決しようとする課題】
昨今、インターネットやコンピュータが普及し、ネットワーク社会になってきた。しかし、コンピュータが稼動していのは、一部の時間帯である。特に、深夜時間帯には、多くのコンピュータが非稼動である。一方では、バイオ分野の情報処理や複雑な科学計算処理をはじめ、複雑な処理が必要なために計算能力を必要としている研究機関やコンピュータは多数存在する。
【０００５】
かかる状況の元、上記のいずれの従来技術を適用しても、有効に多数のコンピュータ資源を利用することができない。
【０００６】
【課題を解決するための手段】
そこで、１以上の第一情報処理装置と第二情報処理装置とサーバ装置を具備する情報処理システムであって、第一情報処理装置は、プログラムを受信し、当該プログラムを実行し、当該プログラムの実行結果を送信し、第二情報処理装置は、プログラムの実行依頼を送信し、実行結果を受信して、当該実行結果を処理し、サーバ装置は、第二情報処理装置からプログラムの実行依頼を受け付けて、当該実行依頼に基づいて、プログラムを実行する第一情報処理装置を決定し、当該第一情報処理装置が第二情報処理装置のプログラムを実行することを仲介する情報処理システムにより、有効に多数のコンピュータ資源を利用するサービスを提供できる。このシステムにより、具体的には、計算能力を借りたい大学や企業などの依頼者は、計算能力を貸してくれる相手を探し出し、貸し出しの交渉をする必要がなくなる。特に、複数の計算機の計算能力を必要とする場合には、多大な労力を要するので、本システムにより、かかる多大な労力を必要としない。
【０００７】
また、サーバ装置が、プログラムがウィルスに感染していないなどの一定の条件を満たすか否かを判断し、プログラムが一定の条件を満たす場合のみ、プログラムを実行することを仲介することにより、素性の知らないプログラムを第一情報処理装置で実行されてしまう危険も回避できる。
【０００８】
【発明の実施の形態】
以下、情報処理システムやサーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【０００９】
（実施の形態１）
図１は、本実施の形態における情報処理システムの概念図である。本情報処理システムは、１以上の第一情報処理装置１１と第二情報処理装置１２とサーバ装置１３を具備する。
【００１０】
第一情報処理装置１１は、計算機能力を貸す側の情報処理装置である。第二情報処理装置１２は、計算機能力を借りる側の情報処理装置である。サーバ装置１３は、第一情報処理装置１１と第二情報処理装置１２間における計算機能力の貸与の仲介を行う情報処理装置である。
【００１１】
図２は、本実施の形態における情報処理システムのブロック図である。なお、図２のブロック図において、簡単化のために、第一情報処理装置１１は一つだけ記載している。
【００１２】
第一情報処理装置１１は、貸与条件情報格納部１１０１、貸与条件情報送信部１１０２、実行プログラム受信部１１０３、プログラム実行部１１０４、実行結果送信部１１０５を具備する。
【００１３】
第二情報処理装置１２は、プログラム格納部１２０１、依頼情報送信部１２０２、条件合致情報受信部１２０３、条件合致情報出力部１２０４、プログラム条件情報受信部１２０５、プログラム条件情報出力部１２０６、プログラム実行結果受信部１２０７、実行結果処理部１２０８を具備する。
【００１４】
サーバ装置１３は、能力貸与計算機情報格納部１３０１、貸与条件情報受信部１３０２、貸与条件情報蓄積部１３０３、実行条件情報受信部１３０４、プログラム受信部１３０５、プログラム条件判断部１３０６、条件合致情報送信部１３０７、プログラム条件情報送信部１３０８、プログラム実行指示部１３０９、実行結果受信部１３１０、実行結果送信部１３１１、対価算出部１３１２を具備する。
【００１５】
貸与条件情報格納部１１０１は、第一情報処理装置１１を貸与する場合の条件に関する情報である貸与条件情報を格納している。貸与条件情報は、通常、第一情報処理装置１１を識別する情報である第一情報処理装置識別子と、第一情報処理装置１１の演算能力を示す貸与能力情報を有する。また、貸与条件情報は、貸与可能な時間帯や、実行可能なプログラムの種類等を含むことが考えられる。但し、貸与条件情報のデータ構造や内容等は問わない。また、第一情報処理装置識別子は、例えば、第一情報処理装置のＩＰアドレスやＭＡＣアドレスや電話番号などであり、通常、第一情報処理装置と通信するために利用される情報である。貸与条件情報は、図示しない手段により入力される。貸与条件情報格納部１１０１は、不揮発性の記録媒体でも揮発性の記録媒体でも良い。
【００１６】
貸与条件情報送信部１１０２は、貸与条件情報格納部１１０１に格納されている貸与条件情報をサーバ装置１３に送信する。貸与条件情報の送信タイミングは問わない。通常、ユーザの指示により貸与条件情報をサーバ装置１３に送信する。貸与条件情報送信部１１０２は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００１７】
実行プログラム受信部１１０３は、サーバ装置１３から実行するプログラムを受信する。なお、プログラムには、プログラムのパラメータとなるデータや、プログラムの実行環境等も含む場合がある。実行プログラム受信部１１０３は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００１８】
プログラム実行部１１０４は、実行プログラム受信部１１０３が受信したプログラムを実行する。そして、プログラム実行部１１０４は、プログラムの実行結果を保持する。プログラム実行部１１０４は、通常、ＭＰＵやメモリ等から実現され得る。プログラム実行部１１０４が、受信したプログラムを読み込んで実行するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００１９】
実行結果送信部１１０５は、プログラム実行部１１０４が出力した実行結果を第二情報処理装置１２に送信する。実行結果は、ファイルである場合や、ストリームである場合等がある。実行結果のデータ構造は問わない。実行結果送信部１１０５は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００２０】
プログラム格納部１２０１は、実行を依頼するプログラムを格納している。プログラムには、上述したようにデータ等を含む場合がある。プログラムはコンパイルされて実行形式になっているものやインタプリタにより実行されるもの等、種々の形式のものが考えられる。プログラム格納部１２０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも良い。
【００２１】
依頼情報送信部１２０２は、プログラムの実行の依頼を示す情報であり、かつプログラム格納部１２０１のプログラムを含む依頼情報をサーバ装置１３に送信する。また、依頼情報は、通常、以下に述べる実行条件情報を含む。なお、プログラムのサーバ装置１３への送信は、プログラムの実行の依頼を示す情報の送信後、プログラムを実行する第一情報処理装置１１が決定した後に送信しても良い。つまり、プログラムのサーバ装置１３への送信タイミングは問わない。依頼情報送信部１２０２は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００２２】
条件合致情報受信部１２０３は、実行条件情報に合致する第一情報処理装置１１の存在の有無に関する情報である条件合致情報を受信する。条件合致情報のデータ構造等は問わない。受信した条件合致情報が示す情報が、実行条件情報に合致する第一情報処理装置１１は存在しない、との情報であれば、条件を変えない限り、通常は、プログラムは実行されない。条件合致情報受信部１２０３は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００２３】
条件合致情報出力部１２０４は、条件合致情報受信部１２０３が受信した条件合致情報を出力する。なお、条件合致情報出力部１２０４は、実行条件情報に合致する第一情報処理装置１１が存在しない場合のみ、条件合致情報を出力しても良い。出力とは、ディスプレイへの表示、スピーカーへの音出力、プリンタへの印字、他の装置への送信等を含む概念である。以下、「出力」の概念は、通常、上記のような広い概念である。条件合致情報出力部１２０４は、ディスプレイ等の出力媒体を含むと考えても、含まないと考えても良い。条件合致情報出力部１２０４の情報出力の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００２４】
プログラム条件情報受信部１２０５は、実行を依頼するプログラムが一定の条件を満たすか否かを示す情報であるプログラム条件情報を受信する。一定の条件とは、例えば、ウィルス感染していないことである。また、一定の条件とは、例えば、許容範囲のプログラムサイズであることである。また、一定の条件とは、例えば、プログラムが実行されるプログラム環境（ＯＳなど）が、本情報処理システムで扱っているプログラム環境であることである。その他、一定の条件は、種々の条件が考えられる。なお、ウィルス感染の有無は、通常、ウィルスのパターンファイルを用いてチェックされた結果の判断である。かかるウィルス感染の有無を判断する技術は、既存技術であるので、詳細な説明は省略する。プログラム条件情報受信部１２０５は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００２５】
プログラム条件情報出力部１２０６は、プログラム条件情報受信部１２０５が受信したプログラム条件情報を出力する。プログラム条件情報出力部１２０６は、ディスプレイ等の出力媒体を含むと考えても、含まないと考えても良い。プログラム条件情報出力部１２０６の情報出力の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００２６】
プログラム実行結果受信部１２０７は、実行を依頼したプログラムの実行結果を、サーバ装置１３から受信する。なお、実行結果は、第一情報処理装置１１から、直接受信しても良い。プログラム実行結果受信部１２０７は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００２７】
実行結果処理部１２０８は、プログラム実行結果受信部１２０７が受信した実行結果を処理する。ここで言う「処理」とは、実行結果の蓄積や、実行結果の出力や、実行結果を他のプログラムに渡して当該プログラムを動作させること等、実行結果を利用する種々ことを含む。
【００２８】
能力貸与計算機情報格納部１３０１は、計算機能力を貸与する第一情報処理装置１１に関する情報である能力貸与計算機情報を格納している。能力貸与計算機情報は、通常、第一情報処理装置識別子を有する。能力貸与計算機情報は、例えば、計算機能力が貸与可能な時間帯の情報を有する。また、能力貸与計算機情報は、例えば、第一情報処理装置１１の計算能力（ＭＩＰＳ値やＭＯＰＳ値やＭＦＬＯＰＳ値など）やメモリやハードディスクの空き容量や信頼性の情報（ＭＴＢＦ等）などを有する。能力貸与計算機情報は、例えば、第一情報処理装置１１が計算機能力を貸与した実績に関する情報を含む。能力貸与計算機情報格納部１３０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも良い。
【００２９】
貸与条件情報受信部１３０２は、貸与条件情報を受信する。貸与条件情報は、第一情報処理装置識別子と貸与能力情報を有する。貸与能力情報は、貸与できる計算機能力に関する情報である。貸与能力情報は、例えば、計算機能力が貸与可能な時間帯の情報を有する。また、貸与能力情報は、例えば、第一情報処理装置１１の計算能力（ＭＩＰＳ値やＭＯＰＳ値やＭＦＬＯＰＳ値など）やメモリやハードディスクの空き容量や信頼性の情報（ＭＴＢＦ等）などを有する。貸与能力情報は、通常、能力貸与計算機情報に含まれる。貸与条件情報受信部１３０２は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００３０】
貸与条件情報蓄積部１３０３は、貸与条件情報受信部１３０２が受信した貸与条件情報を能力貸与計算機情報格納部１３０１に蓄積する。貸与条件情報蓄積部１３０３は、通常、ＭＰＵやメモリ等から実現され得る。貸与条件情報蓄積部１３０３が情報を蓄積するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３１】
実行条件情報受信部１３０４は、第二情報処理装置１２からプログラムの実行条件に関する情報である実行条件情報を受信する。実行条件情報は、例えば、第一情報処理装置１１（プログラム実行を依頼される装置側）の演算能力とプログラム実行完了時刻に関する情報を含む。実行条件情報は、プログラムの実行を依頼する側が付与する条件である。実行条件情報のデータ構造等は問わない。実行条件情報受信部１３０４は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００３２】
プログラム受信部１３０５は、第二情報処理装置１２からプログラムを受信する。なお、このプログラムは、上述したようにプログラムのパラメータであるデータ等を含む場合がある。プログラム受信部１３０５は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００３３】
プログラム条件判断部１３０６は、プログラム受信部１３０５で受信したプログラムが一定の条件を満たすか否かを判断する。一定の条件とは上述したとおりである。プログラム条件判断部１３０６は、通常、ＭＰＵやメモリ等から実現され得る。プログラム条件判断部１３０６が一定の条件を満たすか否かを判断するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３４】
条件合致情報送信部１３０７は、実行条件情報に合致する第一情報処理装置１１の存在の有無に関する情報である条件合致情報を第二情報処理装置１２に送信する。条件合致情報送信部１３０７は、実行条件情報に合致する第一情報処理装置１１が存在しない場合のみ、または存在する場合のみ、条件合致情報を第二情報処理装置１２に送信しても良い。条件合致情報は、プログラム実行指示部１３０９が構成する。条件合致情報送信部１３０７は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００３５】
プログラム条件情報送信部１３０８は、プログラム条件情報を送信する。プログラム条件情報は、プログラム条件判断部１３０６における判断結果を示す情報である。例えば、プログラム条件情報は、プログラムがウィルスに感染している旨を示す情報である。プログラム条件情報送信部１３０８は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００３６】
プログラム実行指示部１３０９は、能力貸与計算機情報格納部１３０１に格納されている能力貸与計算機情報が有する第一情報処理装置識別子で識別される第一情報処理装置１１に前記プログラムを送信し、当該プログラムの実行を指示する。なお、プログラム実行指示部１３０９は、通常、実行条件情報受信部１３０４が受信した実行条件情報に合致する第一情報処理装置１１を能力貸与計算機情報が含む貸与能力情報に基づいて選択する。また、プログラムの実行を指示する第一情報処理装置１１は２以上存在しても良い。
【００３７】
実行結果受信部１３１０は、プログラム実行指示部１３０９がプログラムの実行を指示した第一情報処理装置１１から実行結果を受信する。実行結果受信部１３１０は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００３８】
実行結果送信部１３１１は、実行結果受信部１３１０が受信した実行結果を第二情報処理装置１２に送信する。実行結果送信部１３１１は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。なお、２以上の第一情報処理装置１１から実行結果を受信した場合は、サーバ装置１３は、当該複数の実行結果を用いて、一の実行結果を構成し、当該一の実行結果を第二情報処理装置１２に送信する場合もある。
【００３９】
対価算出部１３１２は、第一情報処理装置１１の計算機能力貸与に対して支払われる対価または／および第二情報処理装置１２の計算機能力利用に対して課せられる対価を算出する。この対価は、金額でも良いし、ポイント等でも良い。また、対価算出部１３１２が算出した対価の情報は、通常、出力される。また、対価算出部１３１２が算出した対価の情報は、第一情報処理装置１１や第二情報処理装置１２に送信される。対価の情報の処理方法は問わない。対価算出部１３１２は、通常、貸与する計算機能力をパラメータとして第一情報処理装置１１の計算機能力貸与に対して支払われる対価または／および第二情報処理装置１２の計算機能力利用に対して課せられる対価を算出する。対価算出部１３１２は、通常、ＭＰＵやメモリ等から実現され得る。対価算出部１３１２が対価を算出するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４０】
以下、本情報処理システムの動作について説明する。まず、第一情報処理装置１１の動作について、図３のフローチャートを用いて説明する。
【００４１】
（ステップＳ３０１）実行プログラム受信部１１０３は、サーバ装置１３から実行するプログラムを受信したか否かを判断する。プログラムを受信すればステップＳ３０２に行き、プログラムを受信しなければステップＳ３０１に戻る。
【００４２】
（ステップＳ３０２）プログラム実行部１１０４は、ステップＳ３０１で受信したプログラムを実行する。
【００４３】
（ステップＳ３０３）実行結果送信部１１０５は、ステップＳ３０２のプログラムの実行結果を取得する。
【００４４】
（ステップＳ３０４）実行結果送信部１１０５は、ステップＳ３０３で取得した実行結果をサーバ装置１３に送信する。
【００４５】
なお、図３のフローチャートにおいて、情報処理装置１１が受信したプログラムを実行可能な状態であるかの判断をして、実行可能である場合のみ実行しても良い。受信したプログラムを実行可能な状態であるかの判断は、何らかのトラブルで実行できないことの判断や、実行できない時間帯であることの検知などを含む。
【００４６】
また、第一情報処理装置１１は、例えば、ユーザ指示により貸与条件情報をサーバ装置１３に送信する。貸与条件情報の送信により、第一情報処理装置１１が計算機能力を貸与できる情報処理装置として、サーバ装置１３に登録される。なお、第一情報処理装置１１が貸与条件情報をサーバ装置１３に送信するタイミングは問わない。
【００４７】
次に、第二情報処理装置１２の動作について、図４のフローチャートを用いて説明する。
【００４８】
（ステップＳ４０１）依頼情報送信部１２０２は、プログラムの実行依頼の必要があるか否かを判断する。プログラムの実行依頼の必要がある場合は、例えば、ユーザから実行依頼の入力を受け付けた場合である。また、プログラムの実行依頼の必要がある場合は、例えば、予め設定した実行依頼の時刻になった場合である。その他、プログラムの実行依頼の必要があるか否かを判断する方法は種々ある。プログラムの実行依頼の必要があると判断した場合はステップＳ４０２に行き、プログラムの実行依頼の必要がないと判断した場合はステップＳ４０１に戻る。
【００４９】
（ステップＳ４０２）依頼情報送信部１２０２は、プログラム格納部１２０１から実行依頼するプログラムを取得する。
【００５０】
（ステップＳ４０３）依頼情報送信部１２０２は、ステップＳ４０２で取得したプログラムを有する依頼情報を構成する。依頼情報は、通常、実行条件情報を含む。この実行条件情報は、例えば、別途、ユーザから入力された情報である。
【００５１】
（ステップＳ４０４）依頼情報送信部１２０２は、ステップＳ４０３で構成した依頼情報を送信する。
【００５２】
（ステップＳ４０５）プログラム実行結果受信部１２０７は、実行を依頼したプログラムの実行結果を、サーバ装置１３から受信したか否かを判断する。サーバ装置１３から実行結果を受信すればステップＳ４０６に行き、サーバ装置１３から実行結果を受信しなければステップＳ４０８に飛ぶ。
【００５３】
（ステップＳ４０６）実行結果処理部１２０８は、ステップＳ４０５で受信した実行結果を処理する。この処理とは、上述したように、出力やプログラム実行や蓄積等である。
【００５４】
（ステップＳ４０７）条件合致情報受信部１２０３は、実行条件情報に合致する第一情報処理装置１１の存在の有無に関する情報である条件合致情報を、サーバ装置１３から受信したか否かを判断する。サーバ装置１３から条件合致情報を受信すればステップＳ４０８に行き、サーバ装置１３から条件合致情報を受信しなければステップＳ４０９に飛ぶ。
【００５５】
（ステップＳ４０８）条件合致情報出力部１２０４は、ステップＳ４０７で受信した条件合致情報を出力する。
【００５６】
（ステップＳ４０９）プログラム条件情報受信部１２０５は、実行を依頼するプログラムが一定の条件を満たすか否かを示す情報であるプログラム条件情報を、サーバ装置１３から受信したか否かを判断する。サーバ装置１３からプログラム条件情報を受信すればステップＳ４１０に行き、サーバ装置１３からプログラム条件情報を受信しなければステップＳ４０５に戻る。
【００５７】
（ステップＳ４１０）プログラム条件情報出力部１２０６は、ステップＳ４０９で受信したプログラム条件情報を出力する。
【００５８】
なお、図４のフローチャートにおいて、実行結果、条件合致情報またはプログラム条件情報のいずれかを受信して、出力等すれば処理は終了しているが、実行結果、条件合致情報またはプログラム条件情報のうち２以上の情報を受信して、出力等しても良い。また、図４のフローチャートにおいて、条件合致情報およびプログラム条件情報は受信すれば必ず出力しているが、条件合致情報が条件に合致しなかったことを示す情報の場合、プログラム条件情報がプログラム条件に合致しなかったことを示す情報の場合のみ、出力するなどしても良い。
【００５９】
次に、サーバ装置１３の動作について、図５のフローチャートを用いて説明する。
【００６０】
（ステップＳ５０１）実行条件情報受信部１３０４は、第二情報処理装置１２からプログラムの実行条件に関する情報である実行条件情報を受信したか否かを判断する。実行条件情報を受信すればステップＳ５０２に行き、実行条件情報を受信しなければステップＳ５０１に戻る。なお、実行条件情報は、第二情報処理装置１２が送信する依頼情報に含まれる。
【００６１】
（ステップＳ５０２）プログラム受信部１３０５は、第二情報処理装置１２からプログラムを受信したか否かを判断する。プログラムを受信すればステップＳ５０３に行き、プログラムを受信しなければステップＳ５０２に戻る。なお、プログラムは、第二情報処理装置１２が送信する依頼情報に含まれる。
【００６２】
（ステップＳ５０３）プログラム条件判断部１３０６は、プログラム受信部１３０５で受信したプログラムが一定の条件を満たすか否かを判断する。
【００６３】
（ステップＳ５０４）プログラム条件判断部１３０６の判断が一定の条件を満たす（ＯＫ）との判断であればステップＳ５０５に行き、一定の条件を満さないとの判断であればステップＳ５１４に飛ぶ。
【００６４】
（ステップＳ５０５）プログラム実行指示部１３０９は、実行条件情報受信部１３０４が受信した実行条件情報に合致する第一情報処理装置１１を能力貸与計算機情報が含む貸与能力情報に基づいて選択する。かかる選択により、プログラム実行指示部１３０９は、１以上の第一情報処理装置識別子を取得する。但し、実行条件情報に合致する第一情報処理装置１１がない場合は、第一情報処理装置識別子は取得できない。
【００６５】
（ステップＳ５０６）プログラム実行指示部１３０９は、ステップＳ５０５で第一情報処理装置識別子を取得できたか否かを判断する。第一情報処理装置識別子を取得できていればステップＳ５０７に行き、第一情報処理装置識別子を取得できていなければステップＳ５１６に飛ぶ。
【００６６】
（ステップＳ５０７）プログラム実行指示部１３０９は、ステップＳ５０５で取得した第一情報処理装置識別子で識別される第一情報処理装置に、ステップＳ５０２で受信したプログラムの実行を指示する。かかる指示には、プログラムを含む指示命令を第一情報処理装置に送信することにより行う。なお、ステップＳ５０５で取得した第一情報処理装置識別子が２以上ある場合は、例えば、プログラム実行指示部１３０９は、プログラムの処理を２以上に分けて、２以上の第一情報処理装置識別子で識別される２以上の第一情報処理装置に並行処理するように指示する。このために、例えば、プログラム実行指示部１３０９は、受信したプログラムのプロセスを複数のプロセスに分けて、当該プロセスの実行を２以上の第一情報処理装置に促す。この並行処理した結果を統合する処理等は、サーバ装置１３で行っても良い。
【００６７】
（ステップＳ５０８）実行結果受信部１３１０は、プログラム実行指示部１３０９がプログラムの実行を指示した第一情報処理装置１１から実行結果を受信したか否かを判断する。実行結果を受信すればステップＳ５０９に行き、実行結果を受信しなければステップＳ５０８に戻る。
【００６８】
（ステップＳ５０９）実行結果送信部１３１１は、ステップＳ５０８で受信した実行結果を第二情報処理装置１２に送信する。
【００６９】
（ステップＳ５１０）対価算出部１３１２は、第一情報処理装置１１の計算機能力貸与に対して支払われる対価を算出する。この対価は、例えば、第一情報処理装置１１から送信された値であり、使用した計算機パワーの値に基づいて算出される。また、この対価は、例えば、プログラムのサイズの値に基づいて算出される。なお、第一情報処理装置１１が２以上である場合は、対価算出部１３１２は、２以上の第一情報処理装置１１の対価を算出する。
【００７０】
（ステップＳ５１１）図示しない手段により、ステップＳ５１０で算出した対価の値を第一情報処理装置１１に送信する。
【００７１】
（ステップＳ５１２）対価算出部１３１２は、第二情報処理装置１２の計算機能力利用に対して課せられる対価を算出する。この対価は、例えば、第一情報処理装置１１から送信された値であり、使用した計算機パワーの値に基づいて算出される。また、この対価は、例えば、プログラムのサイズの値に基づいて算出される。なお、ステップＳ５１０で算出された対価とステップＳ５１２で算出された対価は、通常、異なる。サーバ装置１３が仲介料を得るためである。但し、ステップＳ５１０で算出された対価とステップＳ５１２で算出された対価は、同じでも良い。
【００７２】
（ステップＳ５１３）図示しない手段により、ステップＳ５１２で算出した対価の値を第二情報処理装置１に送信する。処理を終了する。
【００７３】
（ステップＳ５１４）プログラム条件情報送信部１３０８は、プログラム条件情報を構成する。
【００７４】
（ステップＳ５１５）プログラム条件情報送信部１３０８は、ステップＳ５１４で構成したプログラム条件情報を第二情報処理装置１２に送信する。処理を終了する。
【００７５】
（ステップＳ５１６）条件合致情報送信部１３０７は、実行条件情報に合致する第一情報処理装置１１が存在しなかったことを示す情報である条件合致情報を構成する。
【００７６】
（ステップＳ５１７）条件合致情報送信部１３０７は、ステップＳ５１６で構成した条件合致情報を第二情報処理装置１２に送信する。処理を終了する。
【００７７】
なお、図５のフローチャートにおいて、プログラム条件情報は、プログラムが一定の条件に合致しない場合に送信したが、一定の条件に合致する旨を送信しても良い。また、図５のフローチャートにおいて、条件合致情報は、実行条件情報に合致する第一情報処理装置１１が存在しなかった場合に送信したが、実行条件情報に合致する第一情報処理装置１１が存在した場合にも存在することを示す情報等を送信しても良い。
【００７８】
また、図５のフローチャートにおいて、実行条件情報とプログラムの受信の順序は問わない。さらに、図５のフローチャートにおいて、ステップＳ５１０、ステップＳ５１２で算出した対価の情報を送信したが、蓄積等するだけでも良い。
【００７９】
以下、本実施の形態における情報処理システムの具体的な動作について説明する。今、計算機能力を貸す側の計算機である第一情報処理装置のユーザが、図６に示す登録フォームに情報を入力し、サーバ装置に送信する。この登録フォームは、例えば、サーバ装置が保持しているホームページの情報であり、第一情報処理装置のユーザは、当該登録フォームを用いて、第一情報処理装置を計算機能力の貸し手側の計算機として登録する。また、ユーザが入力した情報は、貸与条件情報の全部または一部である。また、送信ボタンの押下により、登録フォームを用いて入力した情報が送信される。
【００８０】
今、第一情報処理装置は、登録フォームを用いて入力した図６の情報を、図７に示す構造を有する貸与条件情報に変更する。つまり、第一情報処理装置は、自身のＩＰアドレスを取得し、貸与条件情報の第一情報処理装置識別子を構成する。なお、自身のＩＰアドレスは、予め第一情報処理装置が保持している、とする。
【００８１】
また、第一情報処理装置は、登録フォームを用いて入力されたＣＰＵの値とメモリの値から演算能力を算出する。この演算能力の値は、別途保持している情報から算出し、１から５の自然数の値を採り得る。なお、５が最も能力が高いランクの計算機であることを示す。
【００８２】
また、第一情報処理装置は、登録フォームを用いて入力されたＢＴＢＦの値から信頼性レベルを算出する。この信頼性レベルも、別途保持している情報から算出し、１から５の自然数の値を採り得る。なお、５が最も能力が高い信頼性を有する計算機であることを示す。
【００８３】
また、第一情報処理装置は、登録フォームを用いて入力された貸与可能日と貸与可能時間から貸与可能時間帯を構成する。さらに、第一情報処理装置は、登録フォームを用いて入力されたＯＳと実行可能なプログラムの種類の情報を貸与条件情報の一部とする。
【００８４】
以上の処理より、第一情報処理装置は貸与条件情報を構成し、サーバ装置に送信する。サーバ装置に情報を送信するためのサーバ装置のＩＰアドレス等は、第一情報処理装置が保持している。
【００８５】
今、具体的に、第一情報処理装置は、図８に示す貸与条件情報を構成し、サーバ装置に送信した、とする。
【００８６】
次に、サーバ装置は、図８に示す貸与条件情報や、他の第一情報処理装置から貸与条件情報を受信し、図９に示す能力貸与計算機情報を管理する表を構成する。図９は、能力貸与計算機情報管理表と言い、第一情報処理装置から送信された貸与条件情報と、「貸与実績」「エラー回数」「第二情報処理装置識別子」「実行フラグ」「結果」を有する。
【００８７】
「貸与実績」は、今までいくつのプログラム実行の依頼を受けたかを示す情報である。「エラー回数」は、プログラム実行の依頼を受けた回数の中で、エラーが発生した回数を示す情報である。「第二情報処理装置識別子」は、第一情報処理装置にプログラムを実行させている、または第一情報処理装置にプログラムを実行させた第二情報処理装置を識別する情報である。「実行フラグ」は、現在、第一情報処理装置でプログラムを実行中であるか否かを示す情報である。実行フラグが「１」の場合は、現在実行中で、「０」の場合は、現在実行中でないことを示す。「結果」は、プログラムの実行結果を保持するフィールドである。実行結果は、いつまで保持していても良い。例えば、プログラムの実行結果は、実行結果の第二情報処理装置への送信後、１週間保持する。
【００８８】
次に、第二情報処理装置から計算機能力の貸与の依頼があった後、第一情報処理装置にプログラム等を送信し、第一情報処理装置から実行結果を得て、図９の能力貸与計算機情報管理表を更新するまでのサーバ装置の動作について、図１０のフローチャートを用いて説明する。なお、図１０のフローチャートにおいて、プログラムが一定の条件を満たすか否か、および、第一情報処理装置が実行条件情報に合致するか否かは判断しない。
【００８９】
（ステップＳ１００１）サーバ装置は、能力貸与計算機情報管理表のカレントのレコード（最初のカレントのレコードは「ＩＤ＝１」のレコード）の貸与可能時間帯フィールドの値を読み込む。
【００９０】
（ステップＳ１００２）サーバ装置は、現在時刻を取得する。なお、サーバ装置は、時計を保持している。
【００９１】
（ステップＳ１００３）ステップＳ１００１で読み込んだ貸与可能時間帯フィールドの値とステップＳ１００２で取得した現在時刻から、能力貸与計算機情報管理表のカレントレコードの第一情報処理装置が貸与可能時間であるか否かを判断する。貸与可能時間であればステップＳ１００４に行き、貸与可能時間でなければステップＳ１００９に進む。
【００９２】
（ステップＳ１００４）サーバ装置は、能力貸与計算機情報管理表のカレントレコードの実行中フラグフィールドの値を読み込む。
【００９３】
（ステップＳ１００５）ステップＳ１００４で読み込んだ値が実行中を示す値であればステップＳ１００９に進み、実行中を示す値でなければステップＳ１００６に飛ぶ。
【００９４】
（ステップＳ１００６）サーバ装置は、プログラムとデータを能力貸与計算機情報管理表のカレントレコードが有する第一情報処理装置識別子で識別される第一情報処理装置に送信する。なお、このプログラムとデータは、第二情報処理装置から送信されたものである。
【００９５】
（ステップＳ１００７）サーバ装置は、第二情報処理装置から実行結果を受信する。
【００９６】
（ステップＳ１００８）サーバ装置は、能力貸与計算機情報管理表（データベース）を更新する。能力貸与計算機情報管理表の更新は、例えば、以下の処理である。カレントレコードの実行中フラグフィールドの値を「０」にする。また、サーバ装置は、カレントレコードの結果フィールドにステップＳ１００７で受信した実行結果を書き込む。また、サーバ装置は、カレントレコードの貸与実績フィールドの値を１インクリメントする。
【００９７】
（ステップＳ１００９）能力貸与計算機情報管理表のカレントレコードを次のレコードにする。なお、次のレコードがなければ、処理を終了する。
【００９８】
以上、能力貸与計算機情報管理表のデータの変更処理等について説明した。
【００９９】
次に、サーバ装置の対価の算出処理について説明する。サーバ装置は、例えば、「演算能力×貸与時間×１，０００円」の額を、第二情報処理装置が支払う対価である、とする。また、サーバ装置は仲介料として第二情報処理装置が支払う額の１割を得て、９割は第一情報処理装置に与えられる対価である、とする。
【０１００】
能力貸与計算機情報管理表の「ＩＤ＝１」のレコードが示す第一情報処理装置が２３：００から９：００までの１０時間に渡ってプログラムを実行した場合は、第二情報処理装置は、「５×１０×１，０００円＝５０，０００円」を対価として支払うこととなる。
【０１０１】
そして、能力貸与計算機情報管理表の「ＩＤ＝１」のレコードが示す第一情報処理装置は、「５０，０００円×０．９＝４５，０００円」を対価として受け取る。かかる場合、例えば、サーバ装置は、図１１に示す対価についての情報を第二情報処理装置に送信する。なお、サーバ装置は、第二情報処理装置のユーザに対する課金処理を、別途図示しない手段により行う。
【０１０２】
また、サーバ装置は、第二情報処理装置から受信したプログラムやデータがウィルスに感染していないか否かを判断する。ウィルスに感染しておれば、プログラム等を第一情報処理装置に送信せず、例えば、図１２に示すプログラム条件情報を第二情報処理装置に送信する。第二情報処理装置は、図１２に示すプログラム条件情報を受信し、出力する。その結果、第二情報処理装置のユーザは、他の装置に実行を依頼したプログラム等がウィルスに感染したことが分かる。
【０１０３】
さらに、サーバ装置は、第二情報処理装置から受信した実行条件情報を満たす第一情報処理装置が存在しない場合に、例えば、図１３に示す条件合致情報を第二情報処理装置に送信する。第二情報処理装置は、図１３に示す条件合致情報を受信し、出力する。その結果、第二情報処理装置のユーザは、他の装置に実行を依頼したプログラムを、依頼した条件に合致するように実行できる計算機がないことを知る。
【０１０４】
以上、本実施の形態によれば、インターネット等のネットワークに接続されている情報処理装置の能力を有効に、かつ適切に利用することができる。特に、時差のある国間で、ある国のユーザが眠っている間に、他国の情報処理装置の計算能力を利用すれば効率的にコンピュータ資源を利用できる。
【０１０５】
また、本実施の形態によれば、他の情報処理装置の計算能力を利用する仕組みを仲介するサーバ装置が、プログラム等のウィルスチェックを行うことにより、信頼性の高いプログラム実行等の仲介ができる。
【０１０６】
さらに、本実施の形態によれば、貸与した計算能力に応じた課金ができ、かかる課金料を計算能力の借り手側の装置、貸し手側の装置に通知できる。
【０１０７】
なお、本実施の形態において、プログラム等が一定の条件に合致するか否かの判断で、ウィルスチェックによりウィルスに感染しているか否かを判断したが、他の内容のチェックを行っても良い。他の内容とは、プログラムが実行されるプログラム環境（ＯＳなど）が、本情報処理システムで扱っているプログラム環境であることなどがある。
【０１０８】
また、本実施の形態によれば、実行依頼するプログラムは、第二情報処理装置からサーバ装置を経由して第一情報処理装置に送られたが、どのような経路で第一情報処理装置に送信されても良い。実行依頼するプログラムは、第二情報処理装置から直接、第一情報処理装置に送られても良い。また、本実施の形態によれば、実行結果は、第一情報処理装置からサーバ装置を経由して第二情報処理装置に送られたが、どのような経路で第二情報処理装置に送信されても良い。実行結果は、第一情報処理装置から直接、第二情報処理装置に送られても良い。つまり、本実施の形態における情報処理システムは、１以上の第一情報処理装置と第二情報処理装置とサーバ装置を具備する情報処理システムであって、第一情報処理装置は、プログラムを受信し、当該プログラムを実行し、当該プログラムの実行結果を送信し、第二情報処理装置は、プログラムの実行依頼を送信し、実行結果を受信して、当該実行結果を処理し、サーバ装置は、第二情報処理装置からプログラムの実行依頼を受け付けて、当該実行依頼に基づいて、プログラムを実行する第一情報処理装置を決定し、当該第一情報処理装置が第二情報処理装置のプログラムを実行することを仲介する情報処理システム、であれば良い。ここで、「仲介」とは、第一情報処理装置が第二情報処理装置のプログラムを実行するために、サーバ装置から第一情報処理装置または／および第二情報処理装置に、必要な情報が送信されることを言う。
【０１０９】
また、本実施の形態において、対価の算出アルゴリズムは問わない。例えば、１回のプログラム実行の依頼で、依頼する側に定額の１万円を課金し、依頼された側に定額の９０００円を支払っても良い。
【０１１０】
さらに、本実施の形態において説明した動作は、コンピュータ読み取り可能なプログラムで実現しても良い。当該プログラムは、ＣＤ−ＲＯＭなどの記録媒体に記録されて流布しても良いし、ネットワーク配信により流布しても良いし、放送で流布しても良い。かかることも、他の実施の形態においても同様である。なお、本実施の形態において説明した第一情報処理装置の動作を実現するプログラムは、コンピュータに、サーバ装置から実行するプログラムを受信するステップと、プログラムを実行するステップと、実行結果を取得し、サーバ装置に送信するステップを実行させるためのプログラムである。
【０１１１】
また、本実施の形態において説明した第二情報処理装置の動作を実現するプログラムは、コンピュータに、プログラムを含む依頼情報をサーバ装置に送信するステップと、サーバ装置から実行結果を受信するステップと、当該実行結果を処理するステップを実行させるためのプログラムである。
【０１１２】
さらに、本実施の形態において説明したサーバ装置の動作を実現するプログラムは、コンピュータに、第二情報処理装置からプログラムを受信するプログラム受信ステップと、格納されている能力貸与計算機情報が有する第一情報処理装置識別子で識別される第一情報処理装置にプログラムを送信し、当該プログラムの実行を指示するプログラム実行指示ステップと、第一情報処理装置からプログラム実行結果を受信する実行結果受信ステップと、プログラム実行結果を第二情報処理装置に送信する実行結果送信ステップを実行させるためのプログラムである。
【０１１３】
（実施の形態２）
図１４は、本実施の形態における情報処理システムの概念図である。本情報処理システムは、１以上の第一情報処理装置１４１と第二情報処理装置１４２とサーバ装置１４３を具備する。
【０１１４】
第一情報処理装置１４１は、計算機能力を貸す側の情報処理装置である。第二情報処理装置１４２は、計算機能力を借りる側の情報処理装置である。サーバ装置１４３は、第一情報処理装置１１と第二情報処理装置１２間における計算機能力の貸与の仲介を行う情報処理装置である。本実施の形態におけるサーバ装置の仲介は、計算機能力を貸す側の第一情報処理装置を第二情報処理装置に紹介し、実質的なプログラムやデータのやりとりは、第一情報処理装置１４１と第二情報処理装置１４２の間で行う。
【０１１５】
図１５は、本実施の形態における情報処理システムのブロック図である。第一情報処理装置１４１は、第二情報処理装置識別子受信部１４１０１、実行プログラム受信部１４１０３、プログラム実行部１４１０４、実行結果送信部１４１０５を具備する。
【０１１６】
第二情報処理装置１４２は、プログラム格納部１２０１、依頼情報送信部１４２０１、第一情報処理装置識別子受信部１４２０２、プログラム送信部１４２０３、プログラム実行結果受信部１４２０７、実行結果処理部１２０８を具備する。
【０１１７】
サーバ装置１４３は、能力貸与計算機情報格納部１３０１、依頼情報受信部１４３０１、第一情報処理装置識別子取得部１４３０２、第一情報処理装置識別子送信部１４３０３、第二情報処理装置識別子送信部１４３０４を具備する。
【０１１８】
第二情報処理装置識別子受信部１４１０１は、サーバ装置１４３からプログラムの実行を依頼する第二情報処理装置を識別する第二情報処理装置識別子を受信する。第二情報処理装置識別子受信部１４１０１は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１１９】
実行プログラム受信部１４１０３は、実行するプログラムを第二情報処理装置１４２から受信する。実行プログラム受信部１４１０３は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１２０】
プログラム実行部１４１０４は、第二情報処理装置識別子受信部１４１０１が受信した第二情報処理装置識別子で識別される第二情報処理装置から送信されたプログラムを実行プログラム受信部１４１０３が受信した場合に、当該プログラムを実行する。つまり、プログラム実行部１４１０４は、適正に依頼されたプログラムのみを実行するために、例えば、以下のような処理を行う。プログラム実行部１４１０４は、実行プログラム受信部１４１０３がプログラムを受信した場合に、当該プログラムの送信先に関する情報（第二情報処理装置識別子）を取得し、第二情報処理装置識別子受信部１４１０１が受信した第二情報処理装置識別子と比較する。比較の結果、２つの情報が一致していればプログラムを実行する。プログラム実行部１４１０４は、通常、ＭＰＵやメモリ等から実現され得る。プログラム実行部１４１０４が、受信したプログラムが適正なものであるか否かを判断したり、受信したプログラムを読み込んで実行するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１２１】
実行結果送信部１４１０５は、プログラム実行部１４１０４のプログラム実行結果を第二情報処理装置１４２に送信する。実行結果送信部１４１０５は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１２２】
依頼情報送信部１４２０１は、プログラムの実行の依頼を示す情報である依頼情報をサーバ装置１４３に送信する。依頼情報は、通常、第二情報処理装置識別子を含む。また、依頼情報は、実行条件（処理の完了時間など）を含んでも良い。依頼情報のデータ構造は問わない。通常、依頼情報は、プログラムを含まない。但し、依頼情報にプログラムを含んで、当該プログラムのウィルスチェックなどをサーバ装置１４３が行っても良い。依頼情報送信部１４２０１は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１２３】
第一情報処理装置識別子受信部１４２０２は、プログラムを実行してくれる第一情報処理装置を識別する第一情報処理装置識別子を受信する。第一情報処理装置識別子受信部１４２０２は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１２４】
プログラム送信部１４２０３は、プログラム格納部１２０１に格納されているプログラム（プログラムのパラメータであるデータ等も含む）を取り出し、第一情報処理装置識別子受信部１４２０２が受信した第一情報処理装置識別子で識別される第一情報処理装置に当該プログラムを送信する。プログラム送信部１４２０３は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１２５】
プログラム実行結果受信部１４２０７は、プログラムの実行結果を第一情報処理装置１４１から受信する。プログラム実行結果受信部１４２０７は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１２６】
依頼情報受信部１４３０１は、依頼情報を第二情報処理装置１４２から受信する。依頼情報受信部１４３０１は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０１２７】
第一情報処理装置識別子取得部１４３０２は、依頼情報受信部１４３０１が依頼情報を受信した場合に、プログラムを実行できる第一情報処理装置を識別する第一情報処理装置識別子を、能力貸与計算機情報格納部１３０１に格納されている能力貸与計算機情報に基づいて取得する。第一情報処理装置識別子を取得するアルゴリズムは、種々考えられ、詳細については、実施の形態１で述べた。第一情報処理装置識別子取得部１４３０２は、通常、ＭＰＵやメモリ等から実現され得る。第一情報処理装置識別子取得部１４３０２が、第一情報処理装置識別子を取得するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはハードディスク等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１２８】
第一情報処理装置識別子送信部１４３０３は、第一情報処理装置識別子取得部１４３０２が取得した第一情報処理装置識別子を第二情報処理装置１４２に送信する。第一情報処理装置識別子送信部１４３０３は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１２９】
第二情報処理装置識別子送信部１４３０４は、第一情報処理装置識別子取得部１４３０２が第一情報処理装置識別子が取得できた場合に、第二情報処理装置識別子を当該第一情報処理装置識別子で識別される第一情報処理装置に送信する。第二情報処理装置識別子送信部１４３０４は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０１３０】
以下、本情報処理システムの動作について説明する。まず、第一情報処理装置１４１の動作について、図１６のフローチャートを用いて説明する。
【０１３１】
（ステップＳ１６０１）第二情報処理装置識別子受信部１４１０１は、第二情報処理装置識別子を受信したか否かを判断する。第二情報処理装置識別子を受信すればステップＳ１６０２に行き、第二情報処理装置識別子を受信しなければステップＳ１６０１に戻る。
【０１３２】
（ステップＳ１６０２）実行プログラム受信部１４１０３は、第二情報処理装置１４２から実行するプログラムを受信したか否かを判断する。プログラムを受信すればステップＳ１６０３に行き、プログラムを受信しなければステップＳ１６０２に戻る。
【０１３３】
（ステップＳ１６０３）プログラム実行部１４１０４は、ステップＳ１６０１で受信した第二情報処理装置識別子に基づいて、ステップＳ１６０２で受信したプログラムが適正なものであるか否かをチェックする。通常、プログラムを送信した装置が、ステップＳ１６０１で受信した第二情報処理装置識別子で識別される第二情報処理装置であれば適正であると判断する。
【０１３４】
（ステップＳ１６０４）プログラム実行部１４１０４は、ステップＳ１６０２で受信したプログラムを実行する。
【０１３５】
（ステップＳ１６０５）実行結果送信部１４１０５は、ステップＳ１６０４のプログラムの実行結果を取得する。
【０１３６】
（ステップＳ１６０６）実行結果送信部１４１０５は、ステップＳ１６０５で取得した実行結果を第二情報処理装置１４２に送信する。
【０１３７】
次に、第二情報処理装置１４２の動作について、図１７のフローチャートを用いて説明する。
【０１３８】
（ステップＳ１７０１）依頼情報送信部１４２０１は、プログラムの実行依頼の必要があるか否かを判断する。プログラムの実行依頼の必要がある場合は、例えば、ユーザから実行依頼の入力を受け付けた場合である。また、プログラムの実行依頼の必要がある場合は、例えば、予め設定した実行依頼の時刻になった場合である。その他、プログラムの実行依頼の必要があるか否かを判断方法は種々ある。プログラムの実行依頼の必要があると判断した場合はステップＳ１７０２に行き、プログラムの実行依頼の必要がないと判断した場合はステップＳ１７０１に戻る。
【０１３９】
（ステップＳ１７０２）依頼情報送信部１４２０１は、依頼情報を構成する。ここでの依頼情報は、例えば、第二情報処理装置識別子を含む。なお、第二情報処理装置識別子は、第二情報処理装置１４２が予め保持している。
【０１４０】
（ステップＳ１７０３）依頼情報送信部１４２０１は、ステップＳ１７０２で構成した依頼情報を送信する。
【０１４１】
（ステップＳ１７０４）第一情報処理装置識別子受信部１４２０２は、サーバ装置１４３から第一情報処理装置識別子を受信したか否かを判断する。第一情報処理装置識別子を受信すればステップＳ１７０５に行き、第一情報処理装置識別子を受信しなければステップＳ１７０９に飛ぶ。
【０１４２】
（ステップＳ１７０５）プログラム送信部１４２０３は、プログラム格納部１２０１からプログラムを取得する。
【０１４３】
（ステップＳ１７０６）プログラム送信部１４２０３は、ステップＳ１７０５で取得したプログラムを、ステップＳ１７０４で取得した第一情報処理装置識別子が示す第一情報処理装置に送信する。
【０１４４】
（ステップＳ１７０７）プログラム実行結果受信部１４２０７は、プログラムの実行結果を受信したか否かを判断する。プログラムの実行結果を受信すればステップＳ１７０８に行き、プログラムの実行結果を受信しなければステップＳ１７０７に戻る。
【０１４５】
（ステップＳ１７０８）実行結果処理部１２０８は、ステップＳ１７０７で受信した実行結果を処理する。処理とは、上述したように、出力や蓄積や送信や、他のプログラムに渡すこと等である。処理を終了する。
【０１４６】
（ステップＳ１７０９）タイムアウトであるか否かを判断する。タイムアウトでなければステップＳ１７０４に戻り、タイムアウトであれば処理を終了する。なお、タイムアウトとは、予め決められた時間内に第一情報処理装置識別子を受信しなかったことである。従って、第二情報処理装置はタイマを有する。
【０１４７】
次に、サーバ装置１４３の動作について、図１８のフローチャートを用いて説明する。
【０１４８】
（ステップＳ１８０１）依頼情報受信部１４３０１は、依頼情報を受信したか否かを判断する。依頼情報を受信すればステップＳ１８０２に行き、依頼情報を受信しなければステップＳ１８０１に戻る。
【０１４９】
（ステップＳ１８０２）第一情報処理装置識別子取得部１４３０２は、ステップＳ１８０１で受信した依頼情報に基づき、能力貸与計算機情報格納部１３０１の能力貸与計算機情報から第一情報処理装置識別子を取得する。この第一情報処理装置識別子で識別される第一情報処理装置が計算能力を貸与する計算機である。なお、依頼情報に基づき第一情報処理装置識別子を取得するアルゴリズムは種々あり、具体的には、実施の形態１で説明したので、ここでの詳細な説明は省略する。
【０１５０】
（ステップＳ１８０３）ステップＳ１８０２で第一情報処理装置識別子が１以上取得できたか否かを判断する。第一情報処理装置識別子が１以上取得できればステップＳ１８０４に行き、第一情報処理装置識別子が取得できなければ処理を終了する。
【０１５１】
（ステップＳ１８０４）第二情報処理装置識別子送信部１４３０４は、第二情報処理装置識別子を取得する。第二情報処理装置識別子送信部１４３０４は、例えば、依頼情報に含まれる第二情報処理装置識別子を取得する。また、第二情報処理装置識別子送信部１４３０４は、例えば、ステップＳ１８０１における依頼情報の送信先を取得する。
【０１５２】
（ステップＳ１８０５）第二情報処理装置識別子送信部１４３０４は、ステップＳ１８０４で取得した第二情報処理装置識別子を第一情報処理装置１４１に送信する。
【０１５３】
（ステップＳ１８０６）第一情報処理装置識別子送信部１４３０３は、ステップＳ１８０２で取得した第一情報処理装置識別子を第二情報処理装置１４２に送信する。処理を終了する。
【０１５４】
なお、サーバ装置における能力貸与計算機情報は、例えば、実施の形態１で述べた処理で蓄積される。
【０１５５】
以下、本実施の形態における情報処理システムの具体的な動作について説明する。今、サーバ装置は図９に示す１以上の能力貸与計算機情報を有する能力貸与計算機情報管理表を保持している。
【０１５６】
そして、第二情報処理装置から、図１９に示す依頼情報がサーバ装置に送信された、とする。図１９に示す依頼情報は、「第二情報処理装置識別子」「必要演算能力」「ＯＳ」を有する。「必要演算能力」とは、第二情報処理装置が実行して欲しいプログラムの実行が完了するために必要な演算能力を示す情報である。「必要演算能力」が１２０であるとは、演算能力５の計算機で２４時間かかることを意味する。「ＯＳ」は、プログラムが動作するＯＳを示す。
【０１５７】
サーバ装置は、依頼情報を受信し、依頼情報に基づいて、図９の能力貸与計算機情報管理表を検索し、第一情報処理装置識別子を取得する。「必要演算能力＝１２０」と、「ＯＳ＝ＯＳ−Ｙ」を満たす計算機は、能力貸与計算機情報管理表の「ＩＤ＝３」の計算機である。従って、サーバ装置は、第一情報処理装置識別子「１０８．５７．０．１」を取得する。そして、第一情報処理装置識別子「１０８．５７．０．１」を第二情報処理装置に送信する。以上により、第二情報処理装置が実行して欲しいプログラムを実行できる第一情報処理装置を紹介したこととなる。また、サーバ装置は、第一情報処理装置に第二情報処理装置識別子「１１１．２５５．０．１」を送信する。
【０１５８】
次に、第二情報処理装置は、第一情報処理装置識別子「１０８．５７．０．１」を受信し、当該第一情報処理装置に実行して欲しいプログラムを送信する。
【０１５９】
次に、第一情報処理装置はプログラムを受信する。そして、プログラムを送信してきた装置の識別子が「１１１．２５５．０．１」であれば、当該プログラムを実行する。そして、実行結果を第二情報処理装置に送信する。
【０１６０】
以上の処理により、第二情報処理装置が実行して欲しいプログラムは、サーバ装置の仲介により実行できた。
【０１６１】
以上、本実施の形態によれば、インターネット等のネットワークに接続されている情報処理装置の能力を有効に、かつ適切に利用することができる。特に、時差のある国間で、ある国のユーザが眠っている間に、他国の情報処理装置の計算能力を利用すれば効率的にコンピュータ資源を利用できる。
【０１６２】
なお、本実施の形態において、サーバ装置が第二情報処理装置からプログラムを受信し、当該プログラムが一定の条件を満たしているか否かの判断（たとえ場、ウィルスチェック）を行っても良い。そして、プログラムが一定の条件を満たしている場合（例えば、ウィルスに感染していない場合）のみ、サーバ装置が第二情報処理装置に第一情報処理装置識別子を送信しても良い。
【０１６３】
また、本実施の形態において、プログラムが一定の条件を満たしていない場合（例えば、ウィルスに感染している場合）に、サーバ装置は、実施の形態１で述べたように、プログラム条件情報を第二情報処理装置に送信しても良い。
【０１６４】
また、本実施の形態において、サーバ装置は、第二情報処理装置の実行依頼に対して支払う対価、第一情報処理装置がプログラム実行に対して受け取る対価を算出しても良い。対価の算出方法については、実施の形態１で説明したので、ここでの説明は省略する。
【０１６５】
また、本実施の形態において、サーバ装置は、プログラムを実行できる第一情報処理装置が存在しない場合は、実施の形態１で述べたように、条件合致情報を第二情報処理装置に送信しても良い。
【０１６６】
また、本実施の形態において、プログラムは、第二情報処理装置から第一情報処理装置に直接送信されたが、第二情報処理装置からサーバ装置を経由して第一情報処理装置に送信されても良い。かかる場合、サーバ装置でプログラムが一定の条件を満たしているか否かの判断（たとえ場、ウィルスチェック）を行え、都合が良い。また、本実施の形態において、プログラム等の送信経路は問わない。つまり、本実施の形態における情報処理システムは、１以上の第一情報処理装置と第二情報処理装置とサーバ装置を具備する情報処理システムであって、第一情報処理装置は、プログラムを受信し、当該プログラムを実行し、当該プログラムの実行結果を送信し、第二情報処理装置は、プログラムの実行依頼を送信し、実行結果を受信して、当該実行結果を処理し、サーバ装置は、第二情報処理装置からプログラムの実行依頼を受け付けて、当該実行依頼に基づいて、プログラムを実行する第一情報処理装置を決定し、当該第一情報処理装置が第二情報処理装置のプログラムを実行することを仲介する情報処理システム、であれば良い。ここで、「仲介」とは、第一情報処理装置が第二情報処理装置のプログラムを実行するために、サーバ装置から第一情報処理装置または／および第二情報処理装置に、必要な情報が送信されることを言う。
【０１６７】
さらに、本実施の形態において説明した動作は、コンピュータ読み取り可能なプログラムで実現しても良い。本実施の形態において説明した第一情報処理装置の動作を実現するプログラムは、コンピュータに、第二情報処理装置からプログラムを受信する実行プログラム受信ステップと、プログラムを実行するプログラム実行ステップと、プログラム実行ステップにおけるプログラムの実行結果を第二情報処理装置に送信する実行結果送信ステップを実行させるためのプログラム、である。
【０１６８】
また、本実施の形態において説明した第二情報処理装置の動作を実現するプログラムは、コンピュータに、依頼情報をサーバ装置に送信する依頼情報送信ステップと、サーバ装置から第一情報処理装置識別子を受信する第一情報処理装置識別子受信ステップと、第一情報処理装置識別子で識別される第一情報処理装置にプログラムを送信するプログラム送信ステップと、第一情報処理装置からプログラムの実行結果を受信する実行結果受信ステップと、実行結果を処理する実行結果処理ステップを実行させるためのプログラム、である。
【０１６９】
さらに、本実施の形態において説明したサーバ装置の動作を実現するプログラムは、コンピュータに、第二情報処理装置から依頼情報を受信する依頼情報受信ステップと、能力貸与計算機情報が有する第一情報処理装置識別子を第二情報処理装置に送信する第一情報処理装置識別子送信ステップを実行させるためのプログラム、である。
【発明の効果】
以上のように、本発明によれば、インターネット等のネットワークに接続されている情報処理装置の能力を有効に、かつ適切に利用することができる。
【０１７０】
【図面の簡単な説明】
【図１】実施の形態１における情報処理システムの概念図
【図２】実施の形態１における情報処理システムのブロック図
【図３】実施の形態１における第一情報処理装置の動作を説明するフローチャート
【図４】実施の形態１における第二情報処理装置の動作を説明するフローチャート
【図５】実施の形態１におけるサーバ装置の動作を説明するフローチャート
【図６】実施の形態１における登録フォームを示す図
【図７】実施の形態１における貸与条件情報の構造を示す図
【図８】実施の形態１における貸与条件情報の例を示す図
【図９】実施の形態１における能力貸与計算機情報管理表を示す図
【図１０】実施の形態１におけるサーバ装置の動作を説明するフローチャート
【図１１】実施の形態１におけるかかる対価についての情報を示す図
【図１２】実施の形態１におけるプログラム条件情報を示す図
【図１３】実施の形態１における条件合致情報を示す図
【図１４】実施の形態２における情報処理システムの概念図
【図１５】実施の形態２における情報処理システムのブロック図
【図１６】実施の形態２における第二情報処理装置の動作を説明するフローチャート
【図１７】実施の形態２における第二情報処理装置の動作を説明するフローチャート
【図１８】実施の形態２におけるサーバ装置の動作を説明するフローチャート
【図１９】実施の形態２における依頼情報を示す図
【符号の説明】
１１、１４１  第一情報処理装置
１２、１４２  第二情報処理装置
１３、１４３  サーバ装置
１１０１  貸与条件情報格納部
１１０２  貸与条件情報送信部
１１０３、１４１０３  実行プログラム受信部
１１０４、１４１０４  プログラム実行部
１１０５、１４１０５  実行結果送信部
１２０１  プログラム格納部
１２０２、１４２０１  依頼情報送信部
１２０３  条件合致情報受信部
１２０４  条件合致情報出力部
１２０５  プログラム条件情報受信部
１２０６  プログラム条件情報出力部
１２０７、１４２０７  プログラム実行結果受信部
１２０８  実行結果処理部
１３０１  能力貸与計算機情報格納部
１３０２  貸与条件情報受信部
１３０３  貸与条件情報蓄積部
１３０４  実行条件情報受信部
１３０５  プログラム受信部
１３０６  プログラム条件判断部
１３０７  条件合致情報送信部
１３０８  プログラム条件情報送信部
１３０９  プログラム実行指示部
１３１０  実行結果受信部
１３１２  対価算出部
１４１０１  第二情報処理装置識別子受信部
１４２０２  第一情報処理装置識別子受信部
１４２０３  プログラム送信部
１４３０１  依頼情報受信部
１４３０２  第一情報処理装置識別子取得部
１４３０３  第一情報処理装置識別子送信部
１４３０４  第二情報処理装置識別子送信部
【図１】
2004152235.tif 000003
【図２】
2004152235.tif 000004
【図３】
2004152235.tif 000005
【図４】
2004152235.tif 000006
【図５】
2004152235.tif 000007
【図６】
2004152235.tif 000008
【図７】
2004152235.tif 000009
【図８】
2004152235.tif 000010
【図９】
2004152235.tif 000011
【図１０】
2004152235.tif 000012
【図１１】
2004152235.tif 000013
【図１２】
2004152235.tif 000014
【図１３】
2004152235.tif 000015
【図１４】
2004152235.tif 000016
【図１５】
2004152235.tif 000017
【図１６】
2004152235.tif 000018
【図１７】
2004152235.tif 000019
【図１８】
2004152235.tif 000020
【図１９】
2004152235.tif 000021