(57)【要約】【課題】計算機リソース利用に関するジョブをネットワーク経由で依頼して実行するサービスに関して、ジョブの依頼から実行に対する報酬の支払いまでを一貫してネットワーク上で安全に管理する仕組みを提供する。【解決手段】ネットワーク上で連携して互いに情報を共有するようになされた複数のノード装置１００と、複数のノード１００の何れかと接続されたユーザ端末２００とを備え、複数のノード装置１００は、ジョブの依頼から報酬の支払いまでの一連のプロセスに関して、依頼側のユーザ端末および請負側のユーザ端末のそれぞれから何れかのノード装置に送信される通知を履歴情報として分散保存することにより、改ざんが困難な履歴情報の共有をベースとして、計算機リソース利用に関するジョブの依頼から実行に対する報酬の支払いまでを一貫してネットワーク上で安全に管理することができるようにする。【選択図】図１
2019036218.tif 000002
【特許請求の範囲】
【請求項１】
計算機リソース利用に関するジョブをネットワーク経由で依頼して実行するサービスの管理を行うシステムであって、
ネットワーク上で連携して互いに情報を共有するようになされた複数のノード装置と、
それぞれが上記計算機リソースを持ち、上記複数のノード装置の何れかと接続されて、上記ジョブの依頼または上記ジョブの実行を行い得る複数のユーザ端末とを備え、
上記複数のノード装置は、一のユーザ端末において行われる上記ジョブの依頼から、他のユーザ端末において上記計算機リソースを利用して行われる上記ジョブの実行を経て、上記ジョブの実行に対する報酬の支払いまでの一連のプロセスに関して、上記一のユーザ端末および上記他のユーザ端末のそれぞれから何れかのノード装置に送信される通知を履歴情報として分散保存することを特徴とするジョブ管理システム。
【請求項２】
上記複数のノード装置は、上記一のユーザ端末から何れかのノード装置に送信される上記ジョブ依頼通知、上記他のユーザ端末から何れかのノード装置に送信される上記ジョブ請負通知、上記他のユーザ端末から何れかのノード装置に送信される上記ジョブの実行結果通知、および、上記一のユーザ端末から何れかのノード装置に送信される上記報酬支払通知を、所定の識別情報に関連付けて上記履歴情報として分散保存することを特徴とする請求項１に記載のジョブ管理システム。
【請求項３】
上記一のユーザ端末から何れかのノード装置に送信される上記ジョブ依頼通知は公開鍵を含み、
上記他のユーザ端末から何れかのノード装置に送信される通知の少なくとも一部は、上記公開鍵によって暗号化されることを特徴とする請求項２に記載のジョブ管理システム。
【請求項４】
上記他のユーザ端末から何れかのノード装置に送信される上記ジョブ請負通知は、上記ジョブの実行結果を提供するためのサーバに対する接続先情報を含み、
上記他のユーザ端末は、上記ジョブの実行結果を上記サーバに提供し、
上記一のユーザ端末は、上記ジョブ請負通知に含まれる上記接続先情報をもとに上記サーバにアクセスし、上記ジョブの実行結果を取得する
ことを特徴とする請求項２に記載のジョブ管理システム。
【請求項５】
上記一のユーザ端末から何れかのノード装置に送信される上記ジョブ依頼通知は公開鍵を含み、
上記ジョブ請負通知に含まれる上記接続先情報は、上記公開鍵によって暗号化されることを特徴とする請求項４に記載のジョブ管理システム。
【請求項６】
上記複数のノード装置は、
上記一のユーザ端末または上記他のユーザ端末から何れかのノード装置に送信される通知について、上記複数のノード装置の全体で上記通知を共有するための合意形成処理を行うコンセンサス処理部と、
上記コンセンサス処理部により合意形成された通知のみを上記履歴情報として記憶するように制御する記憶制御部とを備えたことを特徴とする請求項１〜５の何れか１項に記載のジョブ管理システム。
【請求項７】
上記複数のノード装置は、連携している各ノード装置のインスタンス情報をリストとして保持することによって互いの連携を管理する管理制御部を備え、当該複数のノード装置の何れか１つが有する管理制御部は、各ノード装置の管理制御部を統括する機能を持つマスター管理制御部であり、
上記マスター管理制御部は、新たに追加されるノード装置の管理制御部からインスタンス情報を取得して上記リストに追加し、追加後のリストを全ノード装置の管理制御部に配信することにより、連携を更新する処理を実行することを特徴とする請求項１〜３の何れか１項に記載のジョブ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ管理システムに関し、特に、計算機リソース利用に関するジョブをネットワーク経由で依頼して実行するサービスの管理を行うシステムに用いて好適なものである。
【背景技術】
【０００２】
近年、企業における必要経費の削減等を目的として、業務のアウトソーシング化が進んでいる。コンピュータを使って行う業務に関しては、必要な計算機リソース（ＣＰＵ、ＧＰＵ、メモリ、ストレージ等）を必要なときに使用し、使用量に応じて料金を支払うといった、計算機リソース利用の「オンデマンド型のアウトソーシング」が進みつつある。また、不特定多数の人の寄与を募り、必要とするサービスを取得する「クラウドソーシング」も浸透しつつある。
【０００３】
従来、計算機リソースの割り当てを管理するシステムが知られている（例えば、特許文献１〜３参照）。特許文献１に記載のジョブ管理装置では、複数のバッチシステムをＰ２Ｐにおけるピアとして分散し、それらバッチシステムを連携させて情報を共有化する。そして、各バッチシステムにおけるジョブの情報を相互のバッチシステムで伝播させることにより、ジョブを実行させる暇なバッチシステムの計算機リソースを決定し、多忙なバッチシステムのジョブを暇なバッチシステムに投入する。
【０００４】
特許文献２に記載の計算機リソース分配システムは、複数のサービス間で余剰のリソースを融通でき、余剰リソースの維持コストを低減できるようにしたものである。具体的には、待機系計算機リソースは、少なくともアプリケーションがインストールされていないデッドスタンバイ状態を持ち、このデッドスタンバイ状態の計算機リソースを複数サービスや複数ユーザで共有することで、遊休計算機リソースの使用率の向上やサーバ統合を実現する。また、個々のサービスに関し過去の稼動履歴を用いて負荷予測を行い、余剰のでるサービスから確保して、維持している遊休計算機リソースを予測結果に応じて投入する。
【０００５】
特許文献３に記載の計算機リソース管理システムは、処理の実行の際に用いられる計算機リソースを専有プールと共有プールとに分けて管理する。具体的には、処理の実行のために予約される計算機リソースの台数として最低限必要な台数および最大で必要な台数の入力を受け付けてメモリに格納するとともに、計算機リソースの性能の下限値や支払い可能な金額の上限値等の入力を受け付けてメモリに格納し、最低限必要な台数および最大で必要な台数に応じて専有プールと共有プールに計算機リソースの予約を割り振るものである。
【０００６】
しかしながら、上記特許文献１，２に記載のシステムは、一定の条件を満たす計算機リソースにジョブを自動的に割り当てるものであり、計算機リソース利用のオンデマンド型アウトソーシングやクラウドソーシングに活用するには不適である。一方、上記特許文献３に記載システムでは、支払い可能な金額の上限値を条件の１つとして計算機リソースの予約を割り振るものであるが、実際の支払いのプロセスについては何ら記載されていない。
【０００７】
これに対し、特許文献４には、ＳＮＳを介してジョブを依頼することが記載され、特許文献５には、ＳＮＳを介して報酬の支払いを行うことが記載されている。特許文献４に記載のマッチングシステムでは、登録可能な目的別のカテゴリの１つとして、仕事を探しているユーザのカテゴリおよび仕事を提供するユーザのカテゴリを含み、ユーザから登録されたユーザプロファイルの情報をもとにマッチングを行う。
【０００８】
特許文献５に記載のソーシャル支払装置は、ＳＮＳを通して、電子支払を促進するように構成されたシステムである。具体的には、ネットワークインターフェースを介してユーザから支払命令を受信すると、支払を受領するフレンド、支払の資金源および支払の額を指定するようにユーザに指示するとともに、支払に関する償還コードを生成し、ネットワークインターフェースを介して支払および償還コードをフレンドに通知する。
【０００９】
しかしながら、計算機リソース利用に関するジョブをネットワーク経由で依頼して実行する場合に、ジョブの依頼から実行に対する報酬の支払いまでを一貫してネットワーク上で管理する仕組みは提供されていない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−２７７６１７号公報
【特許文献２】特開２００５−１４１６０５号公報
【特許文献３】特開２００５−２３４６３７号公報
【特許文献４】特開２０１７−４１８６２号公報
【特許文献５】特表２０１５−５３２４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、このような問題を解決するために成されたものであり、計算機リソース利用に関するジョブをネットワーク経由で依頼して実行するサービスに関して、ジョブの依頼から実行に対する報酬の支払いまでを一貫してネットワーク上で安全に管理する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記した課題を解決するために、本発明のジョブ管理システムは、ネットワーク上で連携して互いに情報を共有するようになされた複数のノード装置と、それぞれが計算機リソースを持ち、複数のノード装置の何れかと接続されて、ジョブの依頼またはジョブの実行を行い得る複数のユーザ端末とを備える。複数のノード装置は、一のユーザ端末において行われるジョブの依頼から、他のユーザ端末において計算機リソースを利用して行われるジョブの実行を経て、ジョブの実行に対する報酬の支払いまでの一連のプロセスに関して、一のユーザ端末および他のユーザ端末のそれぞれから何れかのノード装置に送信される通知を履歴情報として分散保存する。
【発明の効果】
【００１３】
上記のように構成した本発明によれば、計算機リソース利用に関するジョブをネットワーク経由で依頼して実行するサービスに関して、ジョブの依頼から実行に対する報酬の支払いまでの一連のプロセスにおいて、依頼側と請負側との間で行われる双方向の通知が履歴情報として、複数のノード装置に分散して保存される。この履歴情報は複数のノード装置で共有されるので、１つのノード装置に保存されている履歴情報が改ざんされても、他のノード装置に保存されている履歴情報との違いから、改ざんが行われたことを容易に検証することができる。よって、本発明によれば、改ざんが困難な履歴情報の共有をベースとして、計算機リソース利用に関するジョブの依頼から実行に対する報酬の支払いまでを一貫してネットワーク上で安全に管理することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態によるジョブ管理システムの全体構成例を示す図である。
【図２】本実施形態によるノード装置およびユーザ端末の機能構成例を示すブロック図である。
【図３】本実施形態によるジョブ管理システムを利用して行われる一連のプロセスの流れを示す図である。
【図４】図３に示したステップＳ１の部分の処理の流れを詳細に示すフローチャートである。
【図５】図３に示したステップＳ２の部分の処理の流れを詳細に示すフローチャートである。
【図６】図３に示したステップＳ３の部分の処理の流れを詳細に示すフローチャートである。
【図７】図３に示したステップＳ４の部分の処理の流れを詳細に示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるジョブ管理システムの全体構成例を示す図である。本実施形態のジョブ管理システムは、計算機リソース利用に関するジョブをネットワーク経由で依頼して実行するサービスの管理を行うシステムである。
【００１６】
図１に示すように、本実施形態のジョブ管理システムは、複数のノード装置１００Ａ，１００Ｂ，１００Ｃ・・・と、複数のユーザ端末２００Ａ-1，２００Ａ-2，２００Ａ-3・・・，２００Ｂ-1，２００Ｂ-2，２００Ｂ-3・・・，２００Ｃ-1，２００Ｃ-2，２００Ｃ-3・・・とを備えている。なお、以下の説明において、複数のノード装置の中の何れかを特に区別しないときは、単にノード装置１００と記す。また、複数のユーザ端末の中の何れかを特に区別しないときは、単にユーザ端末２００Ａ，２００Ｂ，２００Ｃまたはユーザ端末２００と記す。
【００１７】
複数のノード装置１００は、ネットワーク上で連携して互いに情報を共有するようになされている。各ノード装置１００は、互いの連携を管理する機能構成として管理制御部（プログラムにより実装される）を有している。各ノード装置１００の管理制御部はそれぞれ、連携している各ノード装置１００のインスタンス情報をリストをとして保持しており、このリストによって、どのノード装置１００が連携されているのかを把握可能になっている。
【００１８】
複数のノード装置１００のうち、何れか１つが有する管理制御部は、各ノード装置１００の管理制御部を統括する機能を持つ。以下、この統括機能を有する管理制御部を「マスター管理制御部」と呼ぶ。マスター管理制御部は、連携の中に新たに追加されるノード装置があると、当該追加されたノード装置からインスタンスの情報を取得してリストに追加し、追加後のリストを全ノード装置１００（既存のノード装置１００および新たに追加されたノード装置１００）に配信することにより、連携を更新する。
【００１９】
すなわち、新しいインスタンスを立ててノード装置１００が追加されると、当該追加されたノード装置１００の管理制御部は、自身のインスタンス情報をマスター管理制御部に送信する。マスター管理制御部は、このインスタンス情報を受けると、自身が管理しているリストに新規のインスタンス情報を追加することにより、リストを更新する。そして、マスター管理制御部は、更新したリストを、新たに追加されたノード装置１００の管理制御部に送信することより、当該ノード装置１００を新たに連携に加える。また、マスター管理制御部は、更新したリストを既存のノード装置１００の管理制御部にも配信することにより、新たなノード装置１００が連携に加わったことを知らせる。
【００２０】
以上により、新たに連携に参加したノード装置１００（新規のインスタンス）をいち早く全てのノード装置１００に伝搬させ、追加されたノード装置１００から送信される通知（詳細は後述する）を漏れなく処理することができるようになる。
【００２１】
また、複数のユーザ端末２００は、それぞれが計算機リソースを持ち、複数のノード１００の何れかと接続されて、ジョブの依頼またはジョブの実行を行い得るものである。図１の例において、複数のユーザ端末２００Ａ-1，２００Ａ-2，２００Ａ-3は、ノード装置１００Ａに接続されている。複数のユーザ端末２００Ｂ-1，２００Ｂ-2，２００Ｂ-3は、ノード装置１００Ｂに接続されている。複数のユーザ端末２００Ｃ-1，２００Ｃ-2，２００Ｃ-3は、ノード装置１００Ｃに接続されている。
【００２２】
以下では、説明の便宜上、ノード装置１００Ａおよびこれに接続された複数のユーザ端末２００Ａ-1，２００Ａ-2，２００Ａ-3をグループＡと称する。同様に、ノード装置１００Ｂおよびこれに接続された複数のユーザ端末２００Ｂ-1，２００Ｂ-2，２００Ｂ-3をグループＢ、ノード装置１００Ｃおよびこれに接続された複数のユーザ端末２００Ｃ-1，２００Ｃ-2，２００Ｃ-3をグループＣと称するものとする。
【００２３】
ノード装置１００は、例えばＳＮＳ（ソーシャル・ネットワーク・サービス）を提供するサーバである。すなわち、グループＡのノード装置１００Ａは、グループＡのユーザ端末２００Ａに対してＳＮＳを提供する。これにより、グループＡに属する複数のユーザ端末２００Ａは、それぞれからノード装置１００Ａに提供される投稿情報やコメント情報などを閲覧および取得することが可能となっている。
【００２４】
同様に、グループＢのノード装置１００Ｂは、グループＢのユーザ端末２００Ｂに対してＳＮＳを提供する。これにより、グループＢに属する複数のユーザ端末２００Ｂは、それぞれからノード装置１００Ｂに提供される投稿情報やコメント情報などを閲覧および取得することが可能となっている。また、グループＣのノード装置１００Ｃは、グループＣのユーザ端末２００Ｃに対してＳＮＳを提供する。これにより、グループＣに属する複数のユーザ端末２００Ｃは、それぞれからノード装置１００Ｃに提供される投稿情報やコメント情報などを閲覧および取得することが可能となっている。
【００２５】
各ユーザ端末２００Ａ，２００Ｂ，２００Ｃから各ノード装置１００Ａ，１００Ｂ，１００Ｃに提供される投稿情報やコメント情報は、上述したように、互いに連携している複数のノード装置１００Ａ，１００Ｂ，１００Ｃで共有される。これにより、あるグループのユーザ端末２００から提供された投稿情報やコメント情報は、他のグループのユーザ端末２００からも閲覧および取得すること可能である。なお、ユーザ端末２００からノード装置１００に投稿情報やコメント情報を投稿する際に、それが複数のノード装置１００Ａ，１００Ｂ，１００Ｃで共有されることを許可するか否かを指定できるようにしてもよい。
【００２６】
本実施形態のジョブ管理システムは、ジョブの依頼を受けたユーザ端末２００からジョブの依頼を行ったユーザ端末２００に対してジョブの実行結果を提供するためのサーバ３００を更に備えている。このサーバ３００は、ネットワーク上で複数のノード装置１００と連携して互いに情報を共有するようには構成されていない。
【００２７】
図１では、グループＢのユーザ端末２００Ｂ-3とグループＣのユーザ端末２００Ｃ-3との間で、ノード装置１００Ｂ，１００Ｃを介してジョブに関する通知を相互に行い、ジョブの実行結果をサーバ３００を介して提供するケースを図示している。ジョブに関する通知は、ジョブの依頼から報酬の支払いまでの一連のプロセスに関連する通知である。本実施形態では、一連の通知については複数のノード装置１００で共有することによって改ざん不能性を高め、ジョブの実行結果そのものは当事者どうしのみで授受できるようにしている。
【００２８】
すなわち、複数のノード装置１００Ａ，１００Ｂ，１００Ｃは、一のユーザ端末（例えば、グループＢのユーザ端末２００Ｂ-3）において行われるジョブの依頼から、他のユーザ端末（例えば、グループＣのユーザ端末２００Ｃ-3）において計算機リソースを利用して行われるジョブの実行を経て、ジョブの実行に対する報酬の支払いまでの一連のプロセスに関して、一のユーザ端末および他のユーザ端末のそれぞれからノード装置１００Ｂ，１００Ｃに送信される通知を履歴情報として分散保存する。ここで、通知をＳＮＳの投稿情報と同様にユーザ端末２００からノード装置１００に提供することにより、通知が複数のノード装置１００Ａ，１００Ｂ，１００Ｃで共有され、複数のユーザ端末２００Ａ，２００Ｂ，２００Ｃから閲覧および取得可能な状態となる。
【００２９】
複数のノード装置１００において分散保存する通知は、具体的には以下の通りである。複数のノード装置１００は、これらの各通知を、所定の識別情報（例えば、依頼時に生成する依頼ＩＤ）に関連付けて履歴情報として分散保存する。
１．一のユーザ端末から何れかのノード装置に送信されるジョブの依頼の通知（図１の例では、グループＢのユーザ端末２００Ｂ-3からノード装置１００Ｂに送信されるジョブ依頼通知）
２．他のユーザ端末から何れかのノード装置に送信されるジョブの請負の通知（図１の例では、グループＣのユーザ端末２００Ｃ-3からノード装置１００Ｃに送信されるジョブ請負通知）
３．他のユーザ端末から何れかのノード装置に送信されるジョブの実行結果の通知（図１の例では、グループＣのユーザ端末２００Ｃ-3からノード装置１００Ｃに送信される実行結果通知）
４．一のユーザ端末から何れかのノード装置に送信される報酬の支払いに関する通知（図１の例では、グループＢのユーザ端末２００Ｂ-3からノード装置１００Ｂに送信される報酬支払通知）
【００３０】
すなわち、まず、ユーザ端末２００Ｂ-3からノード装置１００Ｂにジョブ依頼通知が送信されると、これが複数のノード装置１００Ａ，１００Ｂ，１００Ｃに分散保存される。これにより、そのジョブ依頼通知を複数のユーザ端末２００Ａ，２００Ｂ，２００Ｃから閲覧および取得可能な状態となる。図１の例では、ノード装置１００Ｃにアクセスしてジョブ依頼通知を閲覧および取得したユーザ端末２００Ｃ-3のユーザが、そのジョブを実行することを決め、ユーザ端末２００Ｃ-3からノード装置１００Ｃにジョブ請負通知を送信している。
【００３１】
ユーザ端末２００Ｃ-3からノード装置１００Ｃにジョブ請負通知が送信されると、これが複数のノード装置１００Ａ，１００Ｂ，１００Ｃに分散保存される。これにより、そのジョブ請負通知を複数のユーザ端末２００Ａ，２００Ｂ，２００Ｃから閲覧および取得可能な状態となる。ユーザ端末２００Ｂ-3のユーザは、ノード装置１００Ｂにアクセスしてジョブ請負通知を閲覧および取得することにより、依頼したジョブの実行を請け負ってくれるユーザがいることを把握することができる。
【００３２】
ユーザ端末２００Ｃ-3では、自身の計算機リソースを使用して、請け負ったジョブを実行する。ユーザ端末２００Ｃ-3でジョブの実行が完了すると、その実行結果がユーザ端末２００Ｃ-3からサーバ３００に提供されるとともに、ユーザ端末２００Ｃ-3からノード装置１００Ｃに実行結果通知が送信される。ノード装置１００Ｃに送信された実行結果通知は、複数のノード装置１００Ａ，１００Ｂ，１００Ｃに分散保存される。これにより、その実行結果通知を複数のユーザ端末２００Ａ，２００Ｂ，２００Ｃから閲覧および取得可能な状態となる。
【００３３】
ユーザ端末２００Ｂ-3のユーザは、ノード装置１００Ｂにアクセスして実行結果通知を閲覧および取得することにより、依頼したジョブの実行が完了したことを把握することができる。これに応じて、ユーザ端末２００Ｂ-3からサーバ３００にアクセスしてジョブの実行結果を受領する。また、ユーザ端末２００Ｂ-3からノード装置１００Ｂに報酬支払通知を送信する。
【００３４】
ノード装置１００Ｂに送信された報酬支払通知は、複数のノード装置１００Ａ，１００Ｂ，１００Ｃに分散保存される。これにより、その報酬支払通知を複数のユーザ端末２００Ａ，２００Ｂ，２００Ｃから閲覧および取得可能な状態となる。ユーザ端末２００Ｃ-3のユーザは、ノード装置１００Ｃにアクセスして報酬支払通知を閲覧および取得することにより、報酬の支払いを確認することができる。
【００３５】
図２は、本実施形態によるノード装置１００およびユーザ端末２００の機能構成例を示すブロック図である。ここでは、ユーザ端末に関しては、ジョブの依頼を行うユーザ端末２００Ｂ-3と、ジョブを実行するユーザ端末２００Ｃ-3の機能構成を代表して示している。また、ノード装置に関しては、ユーザ端末２００Ｂ-3，２００Ｃ-3が接続されるノード装置１００Ｂ，Ｃの機能構成を代表して示しているが、ノード装置１００Ａも同様に構成されている。
【００３６】
なお、ユーザ端末２００Ｂ-3については、ジョブの依頼側となる場合に関連する機能構成のみを図示しているが、ユーザ端末２００Ｂ-3がジョブの請負側になる場合もある。よって、ユーザ端末２００Ｂ-3は、ユーザ端末２００Ｃ-3について図示する機能構成も実際には備えている。同様に、ユーザ端末２００Ｃ-3については、ジョブの請負側となる場合に関連する機能構成のみを図示しているが、ユーザ端末２００Ｃ-3がジョブの依頼側になる場合もある。よって、ユーザ端末２００Ｃ-3は、ユーザ端末２００Ｂ-3について図示する機能構成も実際には備えている。
【００３７】
図２に示すように、ノード装置１００Ｂ，１００Ｃは、その機能構成として、ノード通信部１１、コンセンサス処理部１２、記憶制御部１３および読出制御部１４を備えている。また、ノード装置１００Ｂ，１００Ｃは、記憶媒体として、データ記憶部１５を備えている。上記各機能ブロック１１〜１４は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１１〜１４は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００３８】
また、ジョブの依頼側となるグループＢのユーザ端末２００Ｂ-3は、その機能構成として、端末通信部２１、鍵生成部２２、ジョブ依頼通知生成部２３、ジョブ請負通知復号部２４、実行結果通知取得部２５、報酬支払通知生成部２６および実行結果受領部２７を備えている。これらの各機能ブロック２１〜２７は、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック２１〜２７は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００３９】
また、ジョブの請負側となるグループＣのユーザ端末２００Ｃ-3は、その機能構成として、端末通信部３１、ジョブ請負通知生成部３２、ジョブ請負通知暗号化部３３、ジョブ実行部３４、実行結果通知生成部３５、実行結果提供部３６および報酬支払通知取得部３７を備えている。これらの各機能ブロック３１〜３７は、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック３１〜３７は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００４０】
グループＢに属するノード装置１００Ｂのノード通信部１１は、同じグループＢに属するユーザ端末２００Ｂ-3の端末通信部２１と相互に通信を行う。グループＣに属するノード装置１００Ｃのノード通信部１１は、同じグループＣに属するユーザ端末２００Ｃ-3の端末通信部３１と相互に通信を行う。ノード通信部１１および端末通信部２１，３１は、インターネット等の通信ネットワークを介してデータのやり取りを行う機能を有するものである。
【００４１】
ユーザ端末２００Ｂ-3の鍵生成部２２は、公開鍵および秘密鍵を生成する。なお、鍵の生成には公知の技術を適用することが可能である。鍵生成部２２により生成された公開鍵および秘密鍵は、図示しない記憶部に記憶される。
【００４２】
ユーザ端末２００Ｂ-3のジョブ依頼通知生成部２３は、ユーザ端末２００Ｂ-3のユーザによる端末操作を通じて、上述したジョブ依頼通知を生成する。ジョブ依頼通知は、依頼ＩＤ、依頼するジョブの内容、ジョブの実行に関して要求される条件、鍵生成部２２により生成された公開鍵などの情報を含んでいる。ジョブ依頼通知生成部２３により生成されたジョブ依頼通知は、端末通信部２１によりノード装置１００Ｂに送信される。ノード装置１００Ｂに送信されたジョブ依頼通知は、ノード装置１００Ｃにも分散保存される。ノード装置１００Ｃに保存されたジョブ依頼通知は、ユーザ端末２００Ｃ-3からノード装置１００Ｃへのアクセスを通じて、ユーザ端末２００Ｃ-3の端末通信部３１へ送信される。
【００４３】
ユーザ端末２００Ｃ-3のジョブ請負通知生成部３２は、ユーザ端末２００Ｃ-3のユーザによる端末操作を通じて、上述したジョブ請負通知を生成する。ジョブ請負通知は、端末通信部３１が受信したジョブ依頼通知に含まれている依頼ＩＤ、ジョブの実行結果を提供するために使用するサーバ３００の接続先情報（ＵＲＬ情報）などを含む。ジョブ請負通知暗号化部３３は、ジョブ請負通知生成部３２により生成されたジョブ請負通知に含まれる情報のうち、サーバ３００の接続先情報を、端末通信部３１が受信したジョブ依頼通知に含まれている公開鍵で暗号化する。
【００４４】
接続先情報が暗号化されたジョブ請負通知は、端末通信部３１によりノード装置１００Ｃに送信される。ノード装置１００Ｃに送信されたジョブ請負通知は、ノード装置１００Ｂにも分散保存される。ノード装置１００Ｂに保存されたジョブ請負通知は、ユーザ端末２００Ｂ-3からノード装置１００Ｂへのアクセスを通じて、ユーザ端末２００Ｂ-3の端末通信部２１へ送信される。なお、ユーザ端末２００Ｂ-3から送信したジョブ依頼通知に対するジョブ請負通知であることは、依頼ＩＤにより識別することが可能である。
【００４５】
ユーザ端末２００Ｂ-3のジョブ請負通知復号部２４は、端末通信部２１で受信したジョブ請負通知に含まれている暗号化済みの接続先情報を、鍵生成部２２により生成された秘密鍵で復号化する。復号化した接続先情報は、ユーザ端末２００Ｃ-3からサーバ３００に提供されるジョブの実行結果を受け取るために、ユーザ端末２００Ｂ-3からサーバ３００へアクセスする際に利用される。
【００４６】
ユーザ端末２００Ｃ-3のジョブ実行部３４は、自身の計算機リソースを使用して、請け負ったジョブを実行する。実行結果通知生成部３５は、ユーザ端末２００Ｃ-3のユーザによる端末操作を通じて、上述した実行結果通知を生成する。実行結果通知は、上述の依頼ＩＤ、ジョブの実行結果をハッシュ化したハッシュ値などの情報を含む。なお、ジョブの実行結果はサーバ３００に提供されるので、実行結果のハッシュ値は必須の情報ではない。実行結果通知に実行結果のハッシュ値を含めるのは、情報が共有されるノード装置１００に対して公的に証拠を記録するためである。
【００４７】
実行結果通知生成部３５により生成された実行結果通知は、端末通信部３１によりノード装置１００Ｃに送信される。ノード装置１００Ｃに送信された実行結果通知は、ノード装置１００Ｂにも分散保存される。ノード装置１００Ｂに保存された実行結果通知は、ユーザ端末２００Ｂ-3からノード装置１００Ｂへのアクセスを通じて、ユーザ端末２００Ｂ-3の端末通信部２１へ送信される。なお、ユーザ端末２００Ｂ-3から送信したジョブ依頼通知に対する実行結果通知であることは、依頼ＩＤにより識別することが可能である。実行結果通知取得部２５は、端末通信部２１にて受信した実行結果通知を取得する。
【００４８】
ユーザ端末２００Ｃ-3の実行結果提供部３６は、ジョブ実行部３４によるジョブの実行結果をサーバ３００に提供する。また、ユーザ端末２００Ｂ-3の実行結果受領部２７は、ジョブ請負通知復号部２４により復号化された接続際情報を使用してサーバ３００にアクセスし、ジョブの実行結果をサーバ３００から受領する。
【００４９】
ユーザ端末２００Ｂ-3の報酬支払通知生成部２６は、ユーザ端末２００Ｂ-3のユーザによる端末操作を通じて、上述した報酬支払通知を生成する。報酬支払通知は、上述の依頼ＩＤ、報酬の送金先、報酬金額などの情報を含んでいる。報酬の送金先とは、例えば、仮想通貨の送金先を示す情報である。
【００５０】
報酬支払通知生成部２６により生成された報酬支払通知は、端末通信部２１によりノード装置１００Ｂに送信される。ノード装置１００Ｂに送信された報酬支払通知は、ノード装置１００Ｃにも分散保存される。ノード装置１００Ｃに保存された報酬支払通知は、ユーザ端末２００Ｃ-3からノード装置１００Ｃへのアクセスを通じて、ユーザ端末２００Ｃ-3の端末通信部３１へ送信される。なお、ユーザ端末２００Ｂ-3から送信したジョブ依頼通知に対する報酬支払通知であることは、依頼ＩＤにより識別することが可能である。報酬支払通知取得部３７は、端末通信部３１にて受信した報酬支払通知を取得する。
【００５１】
ノード装置１００Ｂ，１００Ｃのコンセンサス処理部１２は、ユーザ端末２００Ｂ-3，２００Ｃ-3から送信される各通知を複数のノード装置１００Ａ，１００Ｂ，１００Ｃの全体で共有するための合意形成処理を行う。すなわち、ノード装置１００Ｂのコンセンサス処理部１２は、ユーザ端末２００Ｂ-3から送信されるジョブ依頼通知を他のノード装置１００Ａ，１００Ｃに送信し、所定の合意形成処理を行う。また、ノード装置１００Ｂのコンセンサス処理部１２は、ユーザ端末２００Ｂ-3から送信される報酬支払通知を他のノード装置１００Ａ，１００Ｃに送信し、所定の合意形成処理を行う。
【００５２】
同様に、ノード装置１００Ｃコンセンサス処理部１２は、ユーザ端末２００Ｃ-3から送信されるジョブ請負通知を他のノード装置１００Ａ，１００Ｂに送信し、所定の合意形成処理を行う。また、ノード装置１００Ｃのコンセンサス処理部１２は、ユーザ端末２００Ｃ-3から送信される実行結果通知を他のノード装置１００Ａ，１００Ｂに送信し、所定の合意形成処理を行う。
【００５３】
コンセンサス処理部１２が行う合意形成処理として、公知のコンセンサスアルゴリズムを用いることが可能である。例えば、コンセンサス処理部１２は、ＰＢＦＴ（Practical Byzantine Fault Tolerance）のコンセンサスアルゴリズムを用いて合意形成処理を行うことにより、ユーザ端末２００Ｂ-3，２００Ｃ-3から送信される各通知の正当性を検証する。なお、コンセンサス処理部１２で用いるコンセンサスアルゴリズムは、ＰＢＦＴに限らない。例えば、Proof of Work、Proof of Stake、Paxos、Raft、Sieveなどの他のコンセンサスアルゴリズムを用いてもよい。
【００５４】
記憶制御部１３は、コンセンサス処理部１２により合意形成された場合にのみ、複数のノード装置１００Ａ，１００Ｂ，１００Ｃがそれぞれ備えるデータ記憶部１５に各通知を記憶させる。これにより、複数のノード装置１００Ａ，１００Ｂ，１００Ｃにおいて合意形成された各通知のみが、ジョブ実行の依頼から報酬の支払いまでの一連のプロセスの履歴情報として分散して保存される。
【００５５】
読出制御部１４は、ユーザ端末２００から送られてくる通知の取得要求に応じて、該当する通知をデータ記憶部１５から読み出して、ノード通信部１１に供給する。ノード通信部１１は、読出制御部１４によりデータ記憶部１５から読み出された通知を、要求元のユーザ端末２００に送信する。
【００５６】
図３は、上記のように構成した本実施形態によるジョブ管理システムを利用して行われる一連のプロセスの流れを示す図である。なお、図３では、依頼側であるユーザ端末２００Ｂ-3と請負側であるユーザ端末２００Ｃ-3との間で行われるやり取りの全体の大きな流れを示しており、ノード装置１００において実行されるコンセンサス処理や記憶制御処理、請負側であるユーザ端末２００Ｃ-3におけるジョブの実行などについては図示を省略している。
【００５７】
まず、依頼側のユーザ端末２００Ｂ-3から請負側のユーザ端末２００Ｃ-3にジョブ依頼通知を送信する（ステップＳ１）。このジョブ依頼通知の送信は、実際には、上述したように、ユーザ端末２００Ｂ-3からノード装置１００Ｂへの送信、ノード装置１００Ｂ，１００Ｃ間での分散保存、ノード装置１００Ｃからユーザ端末２００Ｃ-3への送信によって行われる。このジョブ依頼通知の中には、公開鍵が含まれている。
【００５８】
次に、請負側のユーザ端末２００Ｃ-3から依頼側のユーザ端末２００Ｂ-3にジョブ請負通知を送信する（ステップＳ２）。このジョブ請負通知の送信は、実際には、上述したように、ユーザ端末２００Ｃ-3からノード装置１００Ｃへの送信、ノード装置１００Ｂ，１００Ｃ間での分散保存、ノード装置１００Ｂからユーザ端末２００Ｂ-3への送信によって行われる。このジョブ請負通知の中には、公開鍵によって暗号化された接続先情報が含まれている。
【００５９】
なお、ユーザ端末２００Ｂ-3がジョブ請負通知を受信して接続先情報を復号化した後は、ユーザ端末２００Ｂ-3からサーバ３００にアクセスして接続を確立させ、ユーザ端末２００Ｃ-3からもサーバ３００にアクセスして接続を確立させることにより、ユーザ端末２００Ｃ-3でのジョブの実行結果を、サーバ３００を介して授受できる状態となる。図３では、ステップＳ２の後にサーバ３００との通信を確立させているが、ステップＳ３の後でもよい。
【００６０】
その後、請負側のユーザ端末２００Ｃ-3から依頼側のユーザ端末２００Ｂ-3に実行結果通知を送信する（ステップＳ３）。この実行結果通知の送信は、実際には、上述したように、ユーザ端末２００Ｃ-3からノード装置１００Ｃへの送信、ノード装置１００Ｂ，１００Ｃ間での分散保存、ノード装置１００Ｂからユーザ端末２００Ｂ-3への送信によって行われる。
【００６１】
実行結果通知を確認した依頼側のユーザ端末２００Ｂ-3は、請負側のユーザ端末２００Ｃ-3に報酬支払通知を送信する（ステップＳ４）。この報酬支払通知の送信は、実際には、上述したように、ユーザ端末２００Ｂ-3からノード装置１００Ｂへの送信、ノード装置１００Ｂ，１００Ｃ間での分散保存、ノード装置１００Ｃからユーザ端末２００Ｃ-3への送信によって行われる。
【００６２】
図４は、図３に示したステップＳ１の部分の処理の流れを詳細に示すフローチャートである。まず、ユーザによる端末操作を通じて、ユーザ端末２００Ｂ-3の鍵生成部２２が公開鍵および秘密鍵を生成する（ステップＳ１−１）。次いで、ジョブ依頼通知生成部２３が、鍵生成部２２により生成された公開鍵を含むジョブ依頼通知を生成し（ステップＳ１−２）、生成されたジョブ依頼通知を端末通信部２１がノード装置１００Ｂに送信する（ステップＳ１−３）。
【００６３】
ノード装置１００Ｂでは、ユーザ端末２００Ｂ-3から送信されてきたジョブ依頼通知をノード通信部１１が受信すると（ステップＳ１−４）、コンセンサス処理部１２が、当該受信されたジョブ依頼通知を複数のノード装置１００Ａ〜１００Ｃの全体で共有するための合意形成処理を行う（ステップＳ１−５）。
【００６４】
次いで、記憶制御部１３は、コンセンサス処理部１２による合意形成が成功したか否かを判定し（ステップＳ１−６）、合意形成された場合にのみ、データ記憶部１５にジョブ依頼通知を記憶させる（ステップＳ１−７）。このとき、ジョブ依頼通知は、他のノード装置１００Ａ，１００Ｃのデータ記憶部１５にも記憶される。
【００６５】
一方、ユーザ端末２００Ｃ-3のユーザは、ノード装置１００Ｃにアクセスしてジョブ依頼通知の内容を閲覧し、そのジョブの実行を請け負うことを決める。この場合、端末通信部３１は、ユーザによる端末操作を通じて、ジョブ依頼通知の取得要求をノード装置１００Ｃに送信する（ステップＳ１−８）。
【００６６】
ノード装置１００Ｃでは、ジョブ依頼通知の取得要求をユーザ端末２００Ｃ-3から受信すると（ステップＳ１−９）、読出制御部１４がジョブ依頼通知をデータ記憶部１５から読み出し、これをノード通信部１１がユーザ端末２００Ｃ-3に送信する（ステップＳ１−１０）。これに応じて、ユーザ端末２００Ｃ-3の端末通信部３１は、ノード装置１００Ｃから送信されてきたジョブ依頼通知を受信する（ステップＳ１−１１）。以上により、ユーザ端末２００Ｂ-3からユーザ端末２００Ｃ-3へのジョブ依頼通知の送信が完了する。
【００６７】
図５は、図３に示したステップＳ２の部分の処理の流れを詳細に示すフローチャートである。まず、ユーザによる端末操作を通じて、ユーザ端末２００Ｃ-3のジョブ請負通知生成部３２が、サーバ３００への接続先情報を含むジョブ請負通知を生成する（ステップＳ２−１）。次いで、ジョブ請負通知暗号化部３３が、接続先情報を暗号化する（ステップＳ２−２）。そして、以上のようにして生成されたジョブ請負通知を、端末通信部３１がノード装置１００Ｃに送信する（ステップＳ２−３）。
【００６８】
ノード装置１００Ｃでは、ユーザ端末２００Ｃ-3から送信されてきたジョブ請負通知をノード通信部１１が受信すると（ステップＳ２−４）、コンセンサス処理部１２が、当該受信されたジョブ請負通知を複数のノード装置１００Ａ〜１００Ｃの全体で共有するための合意形成処理を行う（ステップＳ２−５）。
【００６９】
次いで、記憶制御部１３は、コンセンサス処理部１２による合意形成が成功したか否かを判定し（ステップＳ２−６）、合意形成された場合にのみ、データ記憶部１５にジョブ請負通知を記憶させる（ステップＳ２−７）。このとき、ジョブ請負通知は、他のノード装置１００Ａ，１００Ｂのデータ記憶部１５にも記憶される。
【００７０】
一方、ユーザ端末２００Ｂ-3のユーザは、ノード装置１００Ｂにアクセスしてジョブ請負通知の依頼ＩＤを確認する。そして、ユーザによる端末操作を通じて、端末通信部２１がジョブ請負通知の取得要求をノード装置１００Ｂに送信する（ステップＳ２−８）。
【００７１】
ノード装置１００Ｂでは、ジョブ請負通知の取得要求をユーザ端末２００Ｂ-3から受信すると（ステップＳ２−９）、読出制御部１４がジョブ請負通知をデータ記憶部１５から読み出し、これをノード通信部１１がユーザ端末２００Ｂ-3に送信する（ステップＳ２−１０）。
【００７２】
これに応じて、ユーザ端末２００Ｂ-3の端末通信部２１は、ノード装置１００Ｂから送信されてきたジョブ請負通知を受信する（ステップＳ２−１１）。そして、ジョブ請負通知復号部２４がジョブ請負通知に含まれる接続先情報を復号化する（ステップＳ２−１２）。以上により、ユーザ端末２００Ｃ-3からユーザ端末２００Ｂ-3へのジョブ請負通知の送信が完了する。
【００７３】
図６は、図３に示したステップＳ３の部分の処理の流れを詳細に示すフローチャートである。まず、ユーザによる端末操作を通じて、ユーザ端末２００Ｃ-3の実行結果通知生成部３５が、実行結果通知を生成する（ステップＳ３−１）。そして、実行結果通知生成部３５により生成された実行結果通知を、端末通信部３１がノード装置１００Ｃに送信する（ステップＳ３−２）。
【００７４】
ノード装置１００Ｃでは、ユーザ端末２００Ｃ-3から送信されてきた実行結果通知をノード通信部１１が受信すると（ステップＳ３−３）、コンセンサス処理部１２が、当該受信された実行結果通知を複数のノード装置１００Ａ〜１００Ｃの全体で共有するための合意形成処理を行う（ステップＳ３−４）。
【００７５】
次いで、記憶制御部１３は、コンセンサス処理部１２による合意形成が成功したか否かを判定し（ステップＳ３−５）、合意形成された場合にのみ、データ記憶部１５に実行結果通知を記憶させる（ステップＳ３−６）。このとき、実行結果通知は、他のノード装置１００Ａ，１００Ｂのデータ記憶部１５にも記憶される。
【００７６】
一方、ユーザ端末２００Ｂ-3のユーザは、ノード装置１００Ｂにアクセスして実行結果通知の依頼ＩＤを確認する。そして、ユーザによる端末操作を通じて、端末通信部２１が実行結果通知の取得要求をノード装置１００Ｂに送信する（ステップＳ３−７）。
【００７７】
ノード装置１００Ｂでは、実行結果通知の取得要求をユーザ端末２００Ｂ-3から受信すると（ステップＳ３−８）、読出制御部１４が実行結果通知をデータ記憶部１５から読み出し、これをノード通信部１１がユーザ端末２００Ｂ-3に送信する（ステップＳ３−９）。これに応じて、ユーザ端末２００Ｂ-3の端末通信部２１は、ノード装置１００Ｂから送信されてきた実行結果通知を受信し、これを実行結果通知取得部２５が取得する（ステップＳ３−１０）。以上により、ユーザ端末２００Ｃ-3からユーザ端末２００Ｂ-3への実行結果通知の送信が完了する。
【００７８】
図７は、図３に示したステップＳ４の部分の処理の流れを詳細に示すフローチャートである。まず、ユーザ端末２００Ｂ-3のユーザが、図６のように受信した実行結果通知の確認によってジョブの実行完了を把握した場合、ユーザによる端末操作を通じて、報酬支払通知生成部２６が報酬支払通知を生成する（ステップＳ４−１）。そして、報酬支払通知生成部２６により生成された報酬支払通知を、端末通信部２１がノード装置１００Ｂに送信する（ステップＳ４−２）。
【００７９】
なお、ユーザ端末２００Ｂ-3のユーザが報酬支払通知を生成する際、実行結果通知に加えて、ジョブ依頼通知およびジョブ請負通知を含めた一連の通信の履歴を確認するようにしてもよい。すなわち、一連の通信の履歴に改ざん等の不正がないことを確認した上で、ユーザによる端末操作を通じて、報酬支払通知生成部２６により報酬支払通知を生成するようにすることが可能である。
【００８０】
ノード装置１００Ｂでは、ユーザ端末２００Ｂ-3から送信されてきた報酬支払通知をノード通信部１１が受信すると（ステップＳ４−３）、コンセンサス処理部１２が、当該受信された報酬支払通知を複数のノード装置１００Ａ〜１００Ｃの全体で共有するための合意形成処理を行う（ステップＳ４−４）。
【００８１】
次いで、記憶制御部１３は、コンセンサス処理部１２による合意形成が成功したか否かを判定し（ステップＳ４−５）、合意形成された場合にのみ、データ記憶部１５に報酬支払通知を記憶させる（ステップＳ４−６）。このとき、報酬支払通知は、他のノード装置１００Ａ，１００Ｃのデータ記憶部１５にも記憶される。
【００８２】
一方、ユーザ端末２００Ｃ-3のユーザは、ノード装置１００Ｃにアクセスして報酬支払通知の内容を閲覧する。そして、ユーザによる端末操作を通じて、端末通信部３１が報酬支払通知の取得要求をノード装置１００Ｃに送信する（ステップＳ４−７）。
【００８３】
ノード装置１００Ｃでは、報酬支払通知の取得要求をユーザ端末２００Ｃ-3から受信すると（ステップＳ４−８）、読出制御部１４が報酬支払通知をデータ記憶部１５から読み出し、これをノード通信部１１がユーザ端末２００Ｃ-3に送信する（ステップＳ４−９）。これに応じて、ユーザ端末２００Ｃ-3の端末通信部３１は、ノード装置１００Ｃから送信されてきた報酬支払通知を受信し、これを報酬支払通知取得部３７が取得する（ステップＳ４−１０）。以上により、ユーザ端末２００Ｂ-3からユーザ端末２００Ｃ-3への報酬支払通知の送信が完了する。
【００８４】
以上詳しく説明したように、本実施形態のジョブ管理システムは、ネットワーク上で連携して互いに情報を共有するようになされた複数のノード装置１００と、複数のノード１００の何れかと接続された複数のユーザ端末２００とを備え、ジョブの依頼から報酬の支払いまでの一連のプロセスに関して、依頼側のユーザ端末２００および請負側のユーザ端末２００のそれぞれからノード装置１００に送信される通知を複数のノード装置１００に履歴情報として分散保存するようにしている。
【００８５】
このように構成した本実施形態によれば、計算機リソース利用に関するジョブをネットワーク経由で依頼して実行するサービスに関して、ジョブの依頼から実行に対する報酬の支払いまでの一連のプロセスにおいて、依頼側と請負側との間で行われる双方向の通知が履歴情報として、複数のノード装置１００に分散して保存される。この履歴情報は複数のノード装置１００で共有されるので、１つのノード装置に保存されている履歴情報が改ざんされても、他のノード装置に保存されている履歴情報との違いから、改ざんが行われたことを容易に検証することができる。よって、本実施形態によれば、改ざんが困難な履歴情報の共有をベースとして、計算機リソース利用に関するジョブの依頼から実行に対する報酬の支払いまでを一貫してネットワーク上で安全に管理することができる。
【００８６】
また、上記実施形態では、ノード装置１００におけるコンセンサス処理部１２によって合意形成がとれた通知のみをデータ記憶部１５に記憶させているので、各通知の改ざん不能性をより高めることができる。なお、このようにコンセンサス処理を行うことがより好ましいが、本発明においてコンセンサス処理部１２は必須の構成ではない。
【００８７】
なお、ブロックチェーン技術を用いてコンセンサス処理を行うとともに、ブロック内に各通知を保存するようにすることにより、各通知の改ざん不能性を更に向上させることが可能である。
【００８８】
上記実施形態では、ジョブの実行結果を、互いに連携している複数のノード装置１００以外のサーバ３００を介して授受する例について説明したが、ノード装置１００を介して授受するようにしてもよい。この場合、計算結果は、ジョブ依頼通知に含まれている公開鍵によって暗号化するのが好ましい。
【００８９】
また、上記実施形態では、ノード装置１００がＳＮＳを提供するサーバである例について説明したが、本発明はこれに限定されない。配下に複数のユーザ端末２００を接続するとともに、ノード装置１００間で互いに連携して情報を共有する機能を有するものであれば、何れも本実施形態のノード装置１００として用いることが可能である。
【００９０】
また、上記実施形態では、報酬の支払いを仮想通貨によって行う例について説明したが、本発明はこれに限定されない。例えば、電子マネーあるいは通常の通貨による報酬の支払いとしてもよい。通常の通貨による報酬の支払いとする場合、銀行振込口座等の支払先情報をジョブ請負通知または実行結果通知に含めるようにしてよい。
【００９１】
また、上記実施形態では、グループ内に属する各ユーザ端末２００は、同じグループのノード装置１００のみから各通知を取得する例について説明したが、本発明はこれに限定されない。すなわち、各ユーザ端末２００が、同じグループのノード装置１００だけでなく、他のグループのノード装置１００からも通知を取得できるようにしてもよい。
【００９２】
例えば、グループＢのユーザ端末２００Ｂ-3が実行結果通知をノード装置１００から取得する際に、グループＢのノード装置１００Ｂから実行結果通知を取得することに加えて、グループＡのノード装置１００ＡおよびグループＣのノード装置１００Ｃの少なくとも一方からも実行結果通知を取得する。各グループのノード装置１００Ａ，１００Ｂ，１００Ｃは互いに連携しているので、グループＢのユーザ端末２００Ｂ-3から実行結果通知の取得要求がノード装置１００Ｂに送信されたときに、その取得要求をグループＡ，Ｃのノード装置１００Ａ，１００Ｃに転送し、ノード装置１００Ａ，１００Ｃからノード装置１００Ｂを介してユーザ端末２００Ｂ-3に実行結果通知を送信することが可能である。
【００９３】
このようにすれば、ユーザ端末２００Ｂ-3のユーザは、各ノード装置１００Ａ，１００Ｂ，１００Ｃに分散保存されている実行結果通知が一致していること、つまり改ざんされていないことを確認した上で、報酬支払通知の生成を行うことができる。実行結果通知以外の他の通知についても同様である。
【００９４】
また、一のノード装置１００が一のユーザ端末２００から通知取得要求を取得したときに、その通知取得要求を他のノード装置１００に転送することにより、一のノード装置１００が自身も含めて各ノード装置１００から通知を取得し、それらが一致しているか否かを自動的に検証するようにしてもよい。そして、検証の結果を、通知取得要求の送信元のユーザ端末２００に送信するようにしてもよい。
【００９５】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９６】
１２  コンセンサス処理部
１３  記憶制御部
１４  読出制御部
１５  データ記憶部
２２  鍵生成部
２３  ジョブ依頼通知生成部
２４  ジョブ請負通知復号部
２５  実行結果通知取得部
２６  報酬支払通知生成部
２７  実行結果受領部
３２  ジョブ請負通知生成部
３３  ジョブ請負通知暗号化部
３４  ジョブ実行部
３５  実行結果通知生成部
３６  実行結果提供部
３７  報酬支払通知取得部
１００  ノード装置
２００  ユーザ端末
３００  サーバ
【図１】
2019036218.tif 000003
【図２】
2019036218.tif 000004
【図３】
2019036218.tif 000005
【図４】
2019036218.tif 000006
【図５】
2019036218.tif 000007
【図６】
2019036218.tif 000008
【図７】
2019036218.tif 000009