(57)【特許請求の範囲】
【請求項１】
地図サービスプロバイダによって、データコレクタとブロックチェーン上の第1のスマートコントラクトを実行するステップであって、
前記地図サービスプロバイダおよび前記データコレクタは、前記ブロックチェーンに参加しているコンピューティングデバイスである、ステップと、
前記地図サービスプロバイダにおいて、地図データを前記データコレクタから受信するステップと、
前記地図サービスプロバイダによって、データサービスプロバイダと前記ブロックチェーン上の第2のスマートコントラクトを実行するステップであって、
前記データサービスプロバイダは、前記ブロックチェーンに参加しているコンピューティングデバイスである、ステップと、
処理するために前記地図データを前記データサービスプロバイダに送信するステップと、
前記地図サービスプロバイダによって、データプロバイダと前記ブロックチェーン上の第3のスマートコントラクトを実行するステップであって、
前記データプロバイダは、前記ブロックチェーンに参加しているコンピューティングデバイスである、ステップと、
前記地図サービスプロバイダにおいて、非クラウドソーシングデータを前記データプロバイダから受信するステップと、
前記地図データと共に処理するために前記非クラウドソーシングデータを前記データサービスプロバイダに送信するステップと、
処理された地図データに対する要求をサービスユーザから受信するステップと、
前記データサービスプロバイダから、前記地図データおよび前記非クラウドソーシングデータから生成された、前記処理された地図データを検索するステップと、
前記地図サービスプロバイダによって、前記サービスユーザと前記ブロックチェーン上の第4のスマートコントラクトを実行するステップと、
前記要求に応答して前記処理された地図データを前記サービスユーザに送信するステップと
を含む、コンピュータによって実施される方法。
【請求項２】
前記地図サービスプロバイダが、前記サービスユーザのために自動化されたデータ消費またはデータ承認を提供する、請求項1に記載の方法。
【請求項３】
処理するために前記地図データを前記データサービスプロバイダに送信するステップが、前記地図データを正規化するため、または通常ではないデータを前記地図データから破棄するために、前記地図データを前記データサービスプロバイダに送信するステップを含む、請求項1に記載の方法。
【請求項４】
前記ブロックチェーンがコンソーシアム型ブロックチェーンである、請求項1に記載の方法。
【請求項５】
前記地図データが前記データコレクタによってクラウドソーシングを使用して収集される、請求項1に記載の方法。
【請求項６】
コンピュータシステムによって実行可能な1つまたは複数の命令を記憶したコンピュータ可読記録媒体であって、前記1つまたは複数の命令は、前記コンピュータシステムに、
地図サービスプロバイダによって、データコレクタとブロックチェーン上の第1のスマートコントラクトを実行することであって、
前記地図サービスプロバイダおよび前記データコレクタは、前記ブロックチェーンに参加しているコンピューティングデバイスである、実行することと、
前記地図サービスプロバイダにおいて、地図データを前記データコレクタから受信することと、
前記地図サービスプロバイダによって、データサービスプロバイダと前記ブロックチェーン上の第2のスマートコントラクトを実行することであって、
前記データサービスプロバイダは、前記ブロックチェーンに参加しているコンピューティングデバイスである、実行することと、
処理するために前記地図データを前記データサービスプロバイダに送信することと、
前記地図サービスプロバイダによって、データプロバイダと前記ブロックチェーン上の第3のスマートコントラクトを実行することであって、
前記データプロバイダは、前記ブロックチェーンに参加しているコンピューティングデバイスである、実行することと、
前記地図サービスプロバイダにおいて、非クラウドソーシングデータを前記データプロバイダから受信することと、
前記地図データと共に処理するために前記非クラウドソーシングデータを前記データサービスプロバイダに送信することと、
処理された地図データに対する要求をサービスユーザから受信することと、
前記データサービスプロバイダから、前記地図データおよび前記非クラウドソーシングデータから生成された、前記処理された地図データを検索することと、
前記地図サービスプロバイダによって、前記サービスユーザと前記ブロックチェーン上の第4のスマートコントラクトを実行することと、
前記要求に応答して前記処理された地図データを前記サービスユーザに送信することと
を行わせる、コンピュータ可読記憶媒体。
【請求項７】
前記地図サービスプロバイダが、前記サービスユーザのために自動化されたデータ消費またはデータ承認を提供する、請求項6に記載のコンピュータ可読記憶媒体。
【請求項８】
処理するために前記地図データを前記データサービスプロバイダに送信することが、前記地図データを正規化するため、または通常ではないデータを前記地図データから破棄するために、前記地図データを前記データサービスプロバイダに送信することを含む、請求項6に記載のコンピュータ可読記憶媒体。
【請求項９】
前記ブロックチェーンがコンソーシアム型ブロックチェーンである、請求項6に記載のコンピュータ可読記憶媒体。
【請求項１０】
前記地図データが前記データコレクタによってクラウドソーシングを使用して収集される、請求項6に記載のコンピュータ可読記憶媒体。
【請求項１１】
コンピュータにより実施されるシステムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに動作可能に接続され、かつ1つまたは複数の命令を記憶したコンピュータ可読記録媒体を備えた1つまたは複数のコンピュータメモリデバイスと
を備え、
前記1つまたは複数の命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
地図サービスプロバイダによって、データコレクタとブロックチェーン上の第1のスマートコントラクトを実行することであって、
前記地図サービスプロバイダおよび前記データコレクタは、前記ブロックチェーンに参加しているコンピューティングデバイスである、実行することと、
前記地図サービスプロバイダにおいて、地図データを前記データコレクタから受信することと、
前記地図サービスプロバイダによって、データサービスプロバイダと前記ブロックチェーン上の第2のスマートコントラクトを実行することであって、
前記データサービスプロバイダは、前記ブロックチェーンに参加しているコンピューティングデバイスである、実行することと、
処理するために前記地図データを前記データサービスプロバイダに送信することと、
前記地図サービスプロバイダによって、データプロバイダと前記ブロックチェーン上の第3のスマートコントラクトを実行することであって、
前記データプロバイダは、前記ブロックチェーンに参加しているコンピューティングデバイスである、実行することと、
前記地図サービスプロバイダにおいて、非クラウドソーシングデータを前記データプロバイダから受信することと、
前記地図データと共に処理するために前記非クラウドソーシングデータを前記データサービスプロバイダに送信することと、
処理された地図データに対する要求をサービスユーザから受信することと、
前記データサービスプロバイダから、前記地図データおよび前記非クラウドソーシングデータから生成された、前記処理された地図データを検索することと、
前記地図サービスプロバイダによって、前記サービスユーザと前記ブロックチェーン上の第4のスマートコントラクトを実行することと、
前記要求に応答して前記処理された地図データを前記サービスユーザに送信することと
を行わせる、システム。
【請求項１２】
前記地図サービスプロバイダが、前記サービスユーザのために自動化されたデータ消費またはデータ承認を提供する、請求項11に記載のシステム。
【請求項１３】
処理するために前記地図データを前記データサービスプロバイダに送信することが、前記地図データを正規化するため、または通常ではないデータを前記地図データから破棄するために、前記地図データを前記データサービスプロバイダに送信することを含む、請求項11に記載のシステム。
【請求項１４】
前記ブロックチェーンがコンソーシアム型ブロックチェーンである、請求項11に記載のシステム。
【請求項１５】
前記地図データが前記データコレクタによってクラウドソーシングを使用して収集される、請求項11に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
分散台帳システム(DLS)は、コンセンサスネットワーク、および/またはブロックチェーンネットワークとも称されることがあり、参加するエンティティがデータを安全かつ不変に記憶することを可能にする。DLSはいかなる特定のユーザケースを指すことなく一般的にブロックチェーンネットワークと称される。ブロックチェーンネットワークの例示的なタイプとして、パブリック型ブロックチェーンネットワーク、プライベート型ブロックチェーンネットワーク、およびコンソーシアム型ブロックチェーンネットワークを挙げることができる。パブリック型ブロックチェーンネットワークは、DLSを使用するために、またコンセンサスプロセスに参加するために、すべてのエンティティにオープンである。プライベート型ブロックチェーンネットワークは特定のエンティティのために提供され、特定のエンティティは読み取りおよび書き取り許可を中央集権的に制御している。コンソーシアム型ブロックチェーンネットワークはエンティティの選択グループのために提供され、選択グループはコンセンサスプロセスを制御し、またアクセス制御レイヤを含む。
【０００２】
地図データの収集は地図アプリケーションプロバイダにとっては極めてリソース集約的であり、ユーザはしばしば収集された地図データが現在は自身のニーズにとって十分ではないと不満を訴える。従来の地図データ収集はこれらの問題に対処するために使用され得るが、地図データ収集に対処するためのより効率的な解決策が有利となるであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本明細書の実装形態は、ブロックチェーンベースのデータのクラウドソーシングのためのコンピュータによって実施される方法を含む。より具体的には、本明細書の実装形態は、地図データを収集および提供することができるブロックチェーンベースのクラウドソーシングプラットフォームを提供することを対象としている。
【課題を解決するための手段】
【０００４】
いくつかの実装形態において、アクションはブロックチェーンに関連付けられる地図サービスプロバイダにおいて、地図データをデータコレクタから受信するステップと、処理するために地図データをデータサービスプロバイダに送信するステップと、地図サービスプロバイダにおいて、非クラウドソーシングデータをデータプロバイダから受信するステップと、地図データと共に処理するために非クラウドソーシングデータをデータサービスプロバイダに送信するステップと、処理された地図データに対する要求をサービスプロバイダから受信するステップと、データサービスプロバイダから、地図データおよび非クラウドソーシングデータから生成された、処理された地図データを検索するステップと、要求に応答して処理された地図データをサービスユーザに送信するステップとを含む。他の実装形態は、方法のアクションを実施するように構成され、コンピュータ記憶デバイスにエンコードされる、対応するシステム、装置、およびコンピュータプログラムを含む。
【０００５】
これらのおよび他の実装形態はそれぞれ任意選択で以下の特徴のうちの1つまたは複数を含む。
【０００６】
以下の特徴のいずれかと組み合わせ可能である、地図サービスプロバイダがサービスユーザのために自動化されたデータ消費またはデータ承認を提供する、第1の特徴。
【０００７】
以下の特徴のいずれかと組み合わせ可能である、地図サービスプロバイダ、データサービスプロバイダ、およびデータプロバイダがブロックチェーンに参加しているコンピューティングデバイスである、第2の特徴。
【０００８】
以下の特徴のいずれかと組み合わせ可能である、地図データをデータコレクタから受信するステップに先立って、地図サービスプロバイダによってデータコレクタとスマートコントラクトを実行するステップをさらに含む、第3の特徴。
【０００９】
以下の特徴のいずれかと組み合わせ可能である、地図データをデータサービスプロバイダに送信するステップに先立って、サービスプロバイダによってデータサービスプロバイダとスマートコントラクトを実行するステップをさらに含む、第4の特徴。
【００１０】
以下の特徴のいずれかと組み合わせ可能である、処理するために地図データをデータサービスプロバイダに送信するステップが、地図データを正規化するため、または通常ではないデータを地図データから破棄するために、地図データをデータサービスプロバイダに送信するステップを含む、第5の特徴。
【００１１】
以下の特徴のいずれかと組み合わせ可能である、ブロックチェーンがコンソーシアム型ブロックチェーンである、第6の特徴。
【００１２】
以下の特徴のいずれかと組み合わせ可能である、地図データがクラウドソーシングを使用してデータコレクタによって収集される、第7の特徴。
【００１３】
本明細書で提供される方法の実装形態による動作を実施するために、本明細書は、1つまたは複数のコンピュータに連結され、そこに記憶されて1つまたは複数のコンピュータによって実行可能である命令を有する非一時的なコンピュータ可読記憶媒体も提供する。
【００１４】
本明細書は本明細書で提供される方法を実装するためのシステムをさらに提供する。本明細書で提供される方法の実装形態による動作を実施するために、システムは、1つまたは複数のコンピュータ、および、1つまたは複数のコンピュータに連結され、そこに記憶されて1つまたは複数のコンピュータによって実行可能である命令を有する1つまたは複数のコンピュータ可読メモリを含む。
【００１５】
本明細書による方法は本明細書で説明される態様および特徴のあらゆる組み合わせを含むことができることを諒解されたい。すなわち、本明細書による方法は本明細書で具体的に説明される態様および特徴の組み合わせに限定されず、提供される態様および特徴の任意の組み合わせをも含む。
【００１６】
本明細書の1つまたは複数の実装形態の詳細が、添付の図面および以下の発明を実施するための形態において説明される。本明細書の他の特徴、および利点は、発明を実施するための形態、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】本明細書の実装形態を実行するために使用され得る環境の一例を描写している。
【図２】本明細書の実装形態による概念的なアーキテクチャの一例を描写している。
【図３】本明細書の実装形態によるブロックチェーンベースのクラウドソーシング地図アプリケーションのシステム環境の一例を描写している。
【図４】本明細書の実装形態にしたがって実行することができる処理の一例を描写している。
【図５】本明細書の実装形態による装置500のモジュールの一例を描写している。
【発明を実施するための形態】
【００１８】
様々な図面において同一の符号は同一の要素を指す。
【００１９】
本明細書の実装形態は、ブロックチェーン技術に基づくクラウドソーシングサービスアプリケーションためのコンピュータによって実施される方法を含む。より具体的には、本明細書の実装形態は、地図データを収集および提供することができるブロックチェーンベースのクラウドソーシングプラットフォームを提供することを対象としている。
【００２０】
本明細書の実装形態についてのさらなるコンテキストを提供するために、また上で紹介したように、分散台帳システム(DLS)は、コンセンサスネットワーク(例えば、ピアツーピアノードから成る)、およびブロックチェーンネットワークとも称され得、参加するエンティティが安全かつ不変にトランザクションを行い、データを記憶することを可能にする。ブロックチェーンという用語は一般的には通貨ネットワークを連想させるが、本明細書ではブロックチェーンはあらゆる特定のユースケースを指すことなくDLSを一般的に指すために使用される。
【００２１】
ブロックチェーンはトランザクションが不変であるようなやり方でトランザクションを記憶するデータ構造である。したがってブロックチェーンに記録されるトランザクションは信頼でき、信用性が高い。ブロックチェーンは1つまたは複数のブロックを含む。チェーンのそれぞれのブロックは、チェーン内でそのすぐ手前にある前ブロックに、その前ブロックの暗号的ハッシュを含むことによりリンクされる。それぞれのブロックはタイムスタンプ、それ自身の暗号的ハッシュ、および1つまたは複数のトランザクションも含む。トランザクションは、ブロックチェーンネットワークのノードによって既に検証されており、ハッシュ化されてマークルツリーにエンコードされる。マークルツリーは、ツリーの葉ノードにあるデータがハッシュ化され、ツリーのそれぞれの枝のすべてのハッシュが枝の根元で連結されるデータ構造である。この処理はツリー全体の根元までツリーを辿りながら続き、ツリー全体の根元はツリーのすべてのデータを表現するハッシュを記憶する。ツリーに記憶されるトランザクションであることを意図するハッシュは、ツリーの構造と一貫性があるかどうかを判断することにより素早く検証され得る。
【００２２】
ブロックチェーンはトランザクションを記憶するための非中央集権的な、または少なくとも部分的に非中央集権的なデータ構造であるが、ブロックチェーンネットワークはトランザクション等をブロードキャスト、検証および有効化することによって、1つまたは複数のブロックチェーンを管理、更新、および維持するコンピューティングノードのネットワークである。上で紹介したように、ブロックチェーンネットワークはパブリック型ブロックチェーンネットワーク、プライベート型ブロックチェーンネットワーク、またはコンソーシアム型ブロックチェーンネットワークとして提供され得る。
【００２３】
パブリック型ブロックチェーンネットワークにおいて、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。例えば、数百、数千、さらには数百万のエンティティがパブリック型ブロックチェーンネットワークに協力することができ、そのそれぞれはパブリック型ブロックチェーンネットワーク内の少なくとも1つのノードを動作させる。したがって、パブリック型ブロックチェーンネットワークは参加するエンティティに関してパブリックなネットワークと考えられ得る。いくつかの例において、エンティティ(ノード)の大部分はブロックを有効にし、ブロックチェーンネットワークのブロックチェーン(分散台帳)に追加するためにすべてのブロックに署名しなければならない。パブリック型ブロックチェーンネットワークの例としては、ブロックチェーンと称される分散台帳を活用する特定のピアツーピア支払いネットワークが挙げられる。しかしながら、上述のように、ブロックチェーンという用語は、あらゆる特定のブロックチェーンネットワークを特に指すことなく、分散台帳を一般的に指すために使用される。
【００２４】
一般的に、パブリック型ブロックチェーンネットワークはパブリックなトランザクションをサポートする。パブリックなトランザクションはパブリック型ブロックチェーンネットワーク内のノードのすべてと共有され、グローバルなブロックチェーンに記憶される。グローバルなブロックチェーンはすべてのノードにわたって複製されるブロックチェーンである。つまり、すべてのノードはグローバルなブロックチェーンに関しては完全状態のコンセンサスにある。コンセンサスを達成するために(例えば、ブロックをブロックチェーンに追加することへの同意)、コンセンサスプロトコルはパブリック型ブロックチェーンネットワーク内に実装される。コンセンサスプロトコルの例としては、限定せず、proof-of-work (POW)(例えば、一部の通貨ネットワークに実装される)、proof-of-stake (POS)、およびproof-of-authority (POA)が挙げられる。POWは非限定的な例として本明細書でさらに参照される。
【００２５】
一般的に、プライベート型ブロックチェーンネットワークは特定のエンティティのために提供され、特定のエンティティは読み取りおよび書き取り許可を中央集権的に制御している。エンティティは、どのノードがブロックチェーンネットワークに参加することができるか制御を行う。結果的にプライベート型ブロックチェーンネットワークは、ネットワークに参加することを許された者に対して、およびそれらの参加のレベルに対して(例えば、特定のトランザクションのみ)、制限を設ける、許可されるネットワークと一般的に称される。様々なタイプのアクセス制御メカニズムを使用することができる(例えば、既存の参加者は新しいエンティティを追加することの採決を取り、監督当局は入会を制御することができる)。
【００２６】
一般的に、コンソーシアム型ブロックチェーンネットワークは参加するエンティティの中でもプライベートである。コンソーシアム型ブロックチェーンネットワークにおいて、コンセンサスプロセスは権限を与えられたノードのセットによって制御され、1つまたは複数のノードはそれぞれのエンティティ(例えば、金融機関、保険会社)によって動作させられている。例えば、10のエンティティ(例えば、金融機関、保険会社)のコンソーシアムはコンソーシアム型ブロックチェーンネットワークを動作させることができ、そのそれぞれはコンソーシアム型ブロックチェーンネットワーク内の少なくとも1つのノードを動作させる。したがって、コンソーシアム型ブロックチェーンネットワークは参加するエンティティに関してプライベートなネットワークと考えられ得る。いくつかの例において、それぞれのエンティティ(ノード)はブロックを有効にし、ブロックチェーンに追加するためにすべてのブロックに署名しなければならない。いくつかの例において、少なくともエンティティ(ノード)のサブセット(例えば、少なくとも7エンティティ)はブロックを有効にし、ブロックチェーンに追加するためにすべてのブロックに署名しなければならない。
【００２７】
本明細書の実装形態を、1つのコンソーシアム型ブロックチェーンネットワーク、またはコンソーシアム型ブロックチェーンネットワークと、パブリック型もしくはプライベート型ブロックチェーンネットワーク(以降で「ブロックチェーンネットワーク」)の2つ以上の組み合わせを参照して本明細書でさらに詳細に説明する。しかしながら、本明細書の実装形態はあらゆる適当なタイプのブロックチェーンネットワークにおいて実現され得ることが企図される。
【００２８】
本明細書の実装形態を、上のコンテキストの観点から本明細書でさらに詳細に説明する。より具体的には、また上で紹介したように、本明細書の実装形態は、地図データを収集および提供することができるブロックチェーンベースのクラウドソーシングプラットフォームを提供することを対象としている。
【００２９】
図1は本明細書の実装形態を実行するために使用され得る環境100の一例を描写している。いくつかの例において、例示的な環境100はエンティティがブロックチェーンネットワーク102に参加することを可能としている。例示的な環境100はコンピューティングデバイス106、108、およびネットワーク110を含む。いくつかの例において、ネットワーク110はローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはその組み合わせを含み、ウェブサイト、ユーザデバイス(例えば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例において、ネットワーク110は有線および/または無線の通信リンクを介してアクセスされ得る。いくつかの例において、ネットワーク110はブロックチェーンネットワーク102との通信、およびブロックチェーンネットワーク102内の通信を可能としている。一般的に、ネットワーク110は1つまたは複数の通信ネットワークを表している。
【００３０】
描写される例において、コンピューティングシステム106、108は、ブロックチェーンネットワーク102においてノードとして参加を可能とするあらゆる適当なコンピューティングシステムを、それぞれ含むことができる。コンピューティングデバイスの例としては、限定せず、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンが挙げられる。いくつかの例において、コンピューティングシステム106、108はブロックチェーンネットワーク102と対話するために、1つまたは複数のコンピュータ実装サービスをホストする。例えば、コンピューティングシステム106は、第1のエンティティがその1つまたは複数の他のエンティティ(例えば、他の参加者)とのトランザクションを管理するために使用するトランザクション管理システムなど、第1のエンティティ(例えば、参加者A)のコンピュータ実装サービスをホストすることができる。コンピューティングシステム108は、第2のエンティティがその1つまたは複数の他のエンティティ(例えば、他の参加者)とのトランザクションを管理するために使用するトランザクション管理システムなど、第2のエンティティ(例えば、参加者B)のコンピュータ実装サービスをホストすることができる。図1の例において、ブロックチェーンネットワーク102はピアツーピアのノードのネットワークとして表されており、コンピューティングシステム106、108は第1のエンティティのノード、および第2のエンティティをそれぞれ提供し、それらのエンティティはブロックチェーンネットワーク102に参加している。
【００３１】
図2は本明細書の実装形態による概念的なアーキテクチャ200の一例を描写している。例示的な概念的なアーキテクチャ200は、参加者A、参加者B、および参加者Cにそれぞれ対応する参加者システム202、204、206を含む。それぞれの参加者(例えば、ユーザ、企業)は、少なくともその一部がブロックチェーン216に情報を不変的に記録する複数のノード214を含むピアツーピアネットワークとして提供されるブロックチェーンネットワーク212に参加する。本明細書においてさらに詳細に説明されるように、単一のブロックチェーン216はブロックチェーンネットワーク212内に概略的に描写されるが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーンネットワーク212にわたって維持される。
【００３２】
描写される例において、それぞれの参加者システム202、204、206は参加者A、参加者B、および参加者Cによって、または参加者A、参加者B、および参加者Cの代わりにそれぞれ提供され、ブロックチェーンネットワーク内のそれぞれのノード214として機能する。本明細書において使用されるように、ノードは一般的に、ブロックチェーンネットワーク212に接続され、それぞれの参加者をブロックチェーンネットワークに参加させることを可能とする個別のシステム(例えば、コンピュータ、サーバ)を指す。図2の例において、参加者はそれぞれのノード214に対応する。しかしながら、参加者はブロックチェーンネットワーク212内で複数のノード214を動作させ得ること、および/または複数の参加者はノード214を共有し得ること、が企図される。いくつかの例において、参加者システム202、204、206は、プロトコル(例えば、ハイパーテキストトランスファープロトコルセキュア(HTTPS))を使用して、および/またはリモートプロシージャコール(RPC)を使用してブロックチェーンネットワーク212と通信する、またはブロックチェーンネットワーク212を介して通信する。
【００３３】
ノード214はブロックチェーンネットワーク212内に様々な度合いの参加を有することができる。例えば、一部のノード214はコンセンサスプロセス(例えば、ブロックチェーン216にブロックを追加する、マインダノード)に参加することができる一方で、他のノード214はコンセンサスプロセスに参加しない。別の例として、一部のノード214はブロックチェーン216の完全なコピーを記憶する一方で、他のノード214はブロックチェーン216の部分的なコピーのみを記憶する。例えば、データアクセス特権は、それぞれの参加者がそのそれぞれのシステム内に記憶するブロックチェーンデータを限定することができる。図2の例において、参加者システム202、204、206は、ブロックチェーン216のそれぞれの完全なコピー216'、216''、216'''を記憶する。
【００３４】
ブロックチェーン(例えば、図2のブロックチェーン216)はブロックのチェーンから成り、それぞれのブロックはデータを記憶している。データの例としては、2つ以上の参加者同士のトランザクションを表すトランザクションデータが挙げられる。本明細書においてトランザクションが非限定的な例として使用される一方で、あらゆる適当なデータがブロックチェーン内に記憶され得ることが企図される(例えば、文書、画像、動画、音声)。トランザクションの例としては、限定せず、何かしら価値のあるものの交換(例えば、資産、製品、サービス、通貨)を挙げることができる。トランザクションデータはブロックチェーン内に不変的に記憶される。すなわち、トランザクションデータは変更することができない。
【００３５】
ブロックに記憶する前に、トランザクションデータはハッシュ化される。ハッシュ化はトランザクションデータ(文字列データとして与えられる)を固定長のハッシュ値(やはり文字列データとして与えられる)に変換する処理である。トランザクションデータを得るためにハッシュ値をアンハッシュ(un-hash)することはできない。ハッシュ化はトランザクションデータ内のわずかな変化ですら完全に異なるハッシュ値を生ずることを確実にする。さらには、また上述のように、ハッシュ値は固定長のものである。すなわち、トランザクションデータがどのようなサイズであっても、ハッシュ値の長さは固定されている。ハッシュ化はトランザクションデータを、ハッシュ値を生成するためのハッシュ関数を通して処理することを含む。ハッシュ関数の例としては、限定せず、セキュアハッシュアルゴリズム(SHA)-256が挙げられ、これは256ビットのハッシュ値を出力する。
【００３６】
複数のトランザクションのトランザクションデータがハッシュ化され、ブロックに記憶される。例えば、2つのトランザクションのハッシュ値が与えられ、それら自身が別のハッシュを提供するためにハッシュ化される。この処理はブロックに記憶されるすべてのトランザクションについて、単一のハッシュ値が提供されるまで繰り返される。このハッシュ値をマークルルートハッシュと称し、ブロックのヘッダに記憶される。トランザクションのあらゆる変化はそのハッシュ値に変化として現れ、最終的にマークルルートハッシュにおける変化となる。
【００３７】
ブロックはコンセンサスプロトコルを通じてブロックチェーンに追加される。ブロックチェーンネットワーク内の複数のノードはコンセンサスプロトコルに参加し、競い合ってブロックをブロックチェーンに追加させる。そのようなノードはマイナと称される(またはマインダノード)。上で紹介したPOWは非限定的な例として使用される。
【００３８】
マイナノードはコンセンサスプロセスを実行してトランザクションをブロックチェーンに追加する。複数のマイナノードがコンセンサスプロセスに参加するが、1つのマイナノードだけがブロックチェーンにブロックを書き込むことができる。つまり、マイナノードはコンセンサスプロセスで競い合ってそれらのブロックをブロックチェーンに追加させる。さらなる詳細において、マイナノードは定期的に待ち状態にあるトランザクションをトランザクションプールから収集する(例えば、もしあればブロック中に含まれ得るトランザクションの数についての所定の限界まで)。トランザクションプールはブロックチェーンネットワーク内の参加者からのトランザクションメッセージを含む。マイナノードはブロックを構築し、トランザクションをそのブロックに追加する。トランザクションをブロックに追加する前に、マイナノードはトランザクションのいずれかがブロックチェーンのブロックに既に含まれているかどうかをチェックする。トランザクションが既に別のブロックに含まれている場合、トランザクションは破棄される。
【００３９】
マイナノードはブロックヘッダを生成し、ブロック内のトランザクションのすべてをハッシュ化し、ハッシュ値を対に結合して、ブロック内のすべてのトランザクションに対して単一のハッシュ値が与えられるまでさらなるハッシュ値を生成する(マークルルートハッシュ)。このハッシュがブロックヘッダに追加される。マイナはまたブロックチェーン内の一番最近のブロックのハッシュ値を決定する(つまり、ブロックチェーンに追加された最後のブロック)。マイナノードはまたノンス値、およびタイムスタンプをブロックヘッダに追加する。マイニング処理において、マイナノードは要求されるパラメータを満たすハッシュ値を発見しようと試みる。マイナノードは、要求されるパラメータを満たすハッシュ値の発見まで、ノンス値を変更し続ける。
【００４０】
ブロックチェーンネットワーク内のすべてのマイナが、要求されるパラメータを満たすハッシュ値を発見しようと試み、このやり方で互いに競い合う。最終的に、マイナノードのうち1つが要求されるパラメータを満たすハッシュ値を発見し、このことをブロックチェーンネットワーク内のすべての他のマイナノードに知らせる。他のマイナノードはハッシュ値を検証し、正確であると判断されると、ブロック内のそれぞれのトランザクションを検証し、そのブロックを受け入れ、ブロックチェーンのそれらのコピーにそのブロックを付加する。このようにすると、ブロックチェーンの全体的な状態は、そのブロックチェーンネットワーク内のすべてのマイナノードにわたって一貫性がある。上述の処理はPOWコンセンサスプロトコルである。
【００４１】
図2を参照して非限定的な例を提供する。この例において、参加者Aはある量の通貨を参加者Bに送信したい。参加者Aはトランザクションメッセージ(例えば、From、To、およびValueフィールドを含む)を生成し、トランザクションメッセージをブロックチェーンネットワークに送信し、ブロックチェーンネットワークはトランザクションメッセージをトランザクションプールに追加する。ブロックチェーンネットワーク内のそれぞれのマイナノードはブロックを作成し、トランザクションプール(例えば、もしあればブロックに追加され得るトランザクションの数についての所定の限界まで)からすべてのトランザクションを取り、トランザクションをブロックに追加する。このやり方で、参加者Aによって発行されたトランザクションはマイナノードのブロックに追加される。
【００４２】
一部のブロックチェーンネットワークにおいて、トランザクションのプライバシーを維持するために暗号が実装される。例えば、ブロックチェーンネットワーク内の他のノードがトランザクションの詳細を判別できないように、2つのノードがトランザクションをプライベートに保ちたい場合、ノードはトランザクションデータを暗号化することができる。暗号化の例としては、限定せず、対称暗号化、および非対称暗号化が挙げられる。対称暗号化は、暗号化(平文から暗号文を生成すること)と復号化(暗号文から平文を生成すること)の両方に単一の鍵を使用する暗号化処理を指す。対称暗号化では、複数のノードに対して同一の鍵を利用可能であるため、それぞれのノードがトランザクションデータを暗号化/復号化することができる。
【００４３】
非対称暗号化は、秘密鍵と公開鍵のそれぞれを含む鍵の対を使用し、秘密鍵はそれぞれのノードだけに知られており、公開鍵はブロックチェーンネットワーク内のあらゆる、またはすべての他のノードに知られている。ノードは別のノードの公開鍵を使用してデータを暗号化することができ、暗号化されたデータは他のノードの秘密鍵を使用して復号化することができる。例えば、再度図2を参照すると、参加者Aは参加者Bの公開鍵を使用してデータを暗号化し、暗号化されたデータを参加者Bに送信することができる。参加者Bはその秘密鍵を使用して暗号化されたデータ(暗号文)を復号化し、元のデータ(平文)を抽出することができる。あるノードの公開鍵で暗号化されたメッセージは、そのノードの秘密鍵を使用してのみ復号化することができる。
【００４４】
デジタル署名を提供するために非対称暗号が使用され、デジタル署名はトランザクション中の参加者がトランザクション中の他の参加者、ならびにそのトランザクションの有効性を確認できるようにしている。例えば、ノードはメッセージにデジタル署名することができ、別のノードは参加者Aのデジタル署名に基づいて、メッセージがそのノードによって送信されたことを確認することができる。デジタル署名を使用してメッセージが伝送中に改ざんされていないことを確実にすることもできる。例えば、再度図2を参照すると、参加者Aは参加者Bにメッセージを送信しようとしている。参加者Aはメッセージのハッシュを生成し、次いで、その秘密鍵を使用して、そのハッシュを暗号化して暗号化ハッシュとしてデジタル署名を提供する。参加者Aはメッセージにデジタル署名を付加し、参加者Bにデジタル署名付きのメッセージを送信する。参加者Bは参加者Aの公開鍵を使用してデジタル署名を復号化し、ハッシュを抽出する。参加者Bはメッセージをハッシュ化し、そのハッシュと比較する。それらのハッシュが同一である場合、参加者Bはそのメッセージは間違いなく参加者Aからのものであり、改ざんされていないことを確認することができる。
【００４５】
本明細書の実装形態を、上のコンテキストの観点から本明細書でさらに詳細に説明する。より具体的には、また上で紹介したように、本明細書の実装形態は、ブロックチェーンベースのクラウドソーシングサービスアプリケーションを対象としている。説明を容易にするため、本明細書は例示のための例として地図サービスを使用する。しかしながら、説明される主題は他のタイプのサービス、例えば、気象サービス、またはスーパーマーケット製品価格問い合わせサービスに適用することもできる。
【００４６】
従来の地図アプリケーションは、人々の日常生活に関連付けられる多くの態様において使用されてきており、また使用されている。例えば、地図アプリケーションを使用して、旅行の計画を立てる、交通状況をチェックする、および興味の対象の場所を特定する(レストラン、または病院など)ことができる。しかしながら、地図データ収集は地図アプリケーションプロバイダが直面する大きな課題のうちの1つであり、地図データプロバイダおよび地図サービスのユーザの両方にとって困難をもたらす。例えば、中央集権的なやり方でデータを収集する昔ながらの地図サービスプロバイダは、地図データを収集し、更新するために、リソース(例えば、人的なリソース、およびコンピューティングリソース)の膨大な量を費やすことを要求される。一方、地図サービスユーザは、自身の特定の地理的領域における地図データが最新ではない、または完全でないため、常に不満を訴える。例えば、地図データは通例、特に自動車事故、道路補修、または他の道路関連の事情もしくは緊急事態がある時などには、リアルタイムな道路状況を反映することはできない。加えて、最新/完全な収集能力が欠如しているため、地図データプロバイダは、詳細な区分を伴う閉鎖エリア(屋内モールなど)に関する地図データを提供することが通例できない。
【００４７】
クラウドソーシングは、それを通じて商品およびサービスを、例えば、インターネット、ソーシャルメディア、またはスマートフォンアプリケーションを使用して、データを送信する人の大きなグループから入手することができるソーシングモデルである。クラウドソーシングによって、会社は世界中のどこにいる人にでも仕事を出すことができる。アウトソーシングと比較して、クラウドソーシングの仕事に携わる人は、特異性が低く、よりパブリックである。クラウドソーシングは、タスク、通例は大きなタスクを、人の群(crowd)が別個に取り掛かることができる多くの小さなサブタスクに分解する。そのようにして、クラウドソーシングモデルを使用する会社は人、モノ、および資金的なリソースにかかるコストを節約し、その一方で仕事の効率および品質を改善することができる。
【００４８】
クラウドソーシングの機能性の実装形態が、いくつか存在する。例えば、GOOGLE MAP MAKERは、GOOGLE MAPS内の既存のコンテンツを補完するためにユーザの地理的な寄与を利用するGOOGLE MAPSのアドオン製品である。今では世界中のすべてからの人がより高い精度を達成するためにGOOGLE MAPSアプリケーションで情報を編集することができる。同様に、地理的情報システム(GIS)クラウドのクラウドソーシングアプリケーションは、対話的な地図としてパブリックに提示されたプロジェクトであり、それを通じてユーザは問題や観察したことを報告することができる。ユーザがモバイルまたはウェブアプリケーションを使用して、場所または資産について写真およびコメントを含む報告を送信した後、プロジェクトのコーディネータは送信を承認または却下することができる。
【００４９】
しかしながら、データを編成する、進行中のプロジェクトの処理を追跡する、ならびにパブリックおよびステークホルダーにプロジェクトの状況を報告することができることはもちろんのこと、大人数のユーザまたはある組織のメンバからデータを集めること、およびすべての集めたデータを一か所に集中させておくことは、しばしば困難である。例えば、昔ながらのクラウドソーシング手法で金融街の地図データを収集するためには、地図サービスプロバイダはまずパブリックに知らせ、収集されるデータを送信する利用可能な個人を大人数募る必要がある。そのような手法は、トランザクションの参加者間(サービスプロバイダ、データコレクタ、データベンダ、およびデータユーザなど)の信用のある関係を形成することの困難に起因するいくつかの潜在的な問題を有し、トランザクション時間が長引き、処理全体が長期化することにつながりかねない。例えば、昔ながらの手法では、サービスプロバイダは、データを収集することができる人を見つけ、事業取引をセキュアにするためにデータベンダおよびデータサービスユーザのうち1つまたは複数と個別の契約をエントリするのに膨大な時間を費やす必要がある。このことは、それぞれ契約に関する当事者に膨大な時間およびリソースを消費する必要性をもたらす。さらには、それぞれの当事者が規定された契約の約定を受け入れたとしても、紛争が生じた場合は(例えば、サービスプロバイダがデータコレクタから受信したデータに満足せず、データへの支払いを拒否する)、いかなる時でもそれぞれの紛争がその特定の紛争に固有の特定の取り扱いを必要とする。そのような紛争のシナリオでは、それぞれの当事者は1つまたは複数の紛争を解決するために相当な時間とリソースを費やす必要がある。
【００５０】
したがって、クラウドソーシングデータ収集の既存の解決策は、大人数(例えば、数千)のデータコレクタ、ならびにセキュアで単純なデータ交換および事業取引処理において、同一のプロジェクトまたは目的のために同一の単純なアプリケーションを使用している、データベンダおよびサービスプロバイダには不十分である。したがって、データ収集について、このタイプのクラウドソーシングモデルを使用するための重要な課題は、データコレクタとデータサービスユーザ(ならびに他の参加者)との間で協力を容易にする効率的な方法を見つけ、タスクの優先順位付けを行い、応答時間を削減し、進捗を監視し、および実施されたトランザクションの詳細を追跡することである。
【００５１】
本開示はブロックチェーン技術に基づいてクラウドソーシングサービスアプリケーションを説明する。トランザクションに参加しているエンティティ(データコレクタ、データサービスユーザ、データプロバイダ、およびサービスプロバイダ)は、情報伝達のやり方で契約を普及させ、検証または行使するために設計されたコンピュータ同意である、1つまたは複数のスマートコントラクトによって結び付けられる。スマートコントラクトはパブリックにオープンであり、いったんエントリすると自動的に実行され得、信用されるトランザクションを第三者の関与なく実施することを可能にする。いくつかの実装形態において、スマートコントラクトのトランザクションは追跡可能であり、また不可逆である。例えば、サービスプロバイダはスマートコントラクトに必要なデータについての要求事項を説明し、それをパブリックに発行することができる。パブリックからの誰もがスマートコントラクトを受け入れることができる。いったんデータコレクタがスマートコントラクトで詳細にされるすべての要求事項を満たすと(例えば、サービスプロバイダに有効なデータを送信する)、データコレクタはそのスマートコントラクトで約束された報酬を自動的に受け取ることができ、サービスプロバイダがスマートコントラクトに違反する可能性は残されない。そのようにして、契約に関する当事者同士の間で自動的に、かつ安全に、処理時間を削減し、それぞれのエンティティにとってのコンピューティングリソースを節約して、事業取引が行われ得る。
【００５２】
一例として、地図サービスプロバイダが金融街に関連付けられるデータを収集する必要がある時、パブリックからデータコレクタを募ってそれぞれのデータコレクタと個別の契約にエントリする代わりに、地図サービスプロバイダはブロックチェーンを形成してブロックチェーン上にスマートコントラクトを設け、金融街の近くに住む個人に依頼してデータを送信してもらうことができる。そのスマートコントラクトに気付いたあらゆる個人(ブロックチェーンに加入しなくてもよい)が、スマートコントラクトの約定を受け入れることによって地図サービスプロバイダとのトランザクションにエントリし、データが地図サービスプロバイダに成功裏に送信されてしまうと自動的に支払いを受け取ることができる。そのようにして、トランザクション処理全体が、トランザクションのそれぞれのステップを監視するために必要とされる人間の介入が最低限のレベルに単純化される。
【００５３】
図3は本明細書の実装形態によるブロックチェーンベースのクラウドソーシング地図アプリケーションのシステム環境300の一例を描写している。地図サービスプロバイダ302は、ブロックチェーンを形成し、個人およびデータベンダ(例えば、データコレクタおよびデータプロバイダ)とスマートコントラクトを実行することができるあらゆる地図サービスプロバイダであることができる。形成されたブロックチェーンはデータサービスプロバイダ304およびデータプロバイダ306を含むことができる。データサービスプロバイダ304は地図サービスプロバイダ302に、地図サービスプロバイダ302から受信した地図データを検証する、または記憶するなどのデータサービスを提供する。データプロバイダ306は、クラウドソーシングを介して収集することができないさらなる情報を、地図サービスプロバイダ302に提供することができる。そのようなデータは例えば、特定の地理学的領域の衛星画像を含んでもよい。地図サービスプロバイダ302は、処理のはじめに、データサービスプロバイダ304およびデータプロバイダ306のそれぞれとのスマートコントラクトに、それぞれエントリする。スマートコントラクトの存在のため、地図サービスプロバイダ302は、データサービスプロバイダ304およびデータプロバイダ306と共に自動的にデータ消費およびデータ承認などの一連のトランザクションを実行することができ、それぞれのエンティティにとってのトランザクションコストを削減する。
【００５４】
特定の地理学的領域の交通状況など、クラウドソーシング収集を通じて収集することができるデータについて、地図サービスプロバイダ302はデータ収集タスクを1つまたは複数のデータコレクタ308にクラウドソーシングすることができる。データコレクタ308は報酬と引き換えにブロックチェーン上の地図サービスプロバイダ302のためにデータを収集する。例えば、データコレクタ308は、特定の地理学的領域について地図データを収集する能力を有するあらゆる個人であることができる。地図サービスプロバイダ302によって提案されたスマートコントラクトをデータコレクタ308がいったん受け入れると、データコレクタ308は、例えば、全地球測位システム(GPS)、車のダッシュボードカメラ、モバイルコンピューティングデバイス、またはドローンを使用して地図データを収集し、地図サービスプロバイダ302に収集されたデータを販売する。データサービスプロバイダ304によって、送信されたデータが処理された後(検証され、整えられるなど(例えば、正規化し、通常ではないデータを除去するなど)、地図サービスプロバイダ302は処理されたデータを、特定の目的のために対応する地図データを購入または借りる必要があるサービスユーザ310に販売することができる。
【００５５】
図4は本明細書の実装形態にしたがって実行することができるコンピュータによって実施される方法400の一例を描写している。いくつかの実装形態において、方法400は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実施することができる。明確な提示のため、以下の説明は全体的には本説明の他の図面のコンテキストにおける方法400を説明している。しかしながら、方法400は例えば、適宜、あらゆる適切なシステム、環境、ソフトウェア、ハードウェア、またはシステム、環境、ソフトウェア、もしくはハードウェアの組み合わせにより実施できることが理解される。いくつかの実装形態において、方法400の様々なステップは並列、組み合わせ、ループ、またはあらゆる順序で実行され得る。
【００５６】
402において、ブロックチェーンに関連付けられる地図サービスプロバイダは複数のデータコレクタから地図データを受信する。いくつかの実装形態において、ブロックチェーンはコンソーシアム型ブロックチェーンであることができる。いくつかの実装形態において、地図サービスプロバイダは、モバイルおよび非モバイルコンピューティングデバイス上で実行するソフトウェアアプリケーションを通じて顧客にサービスを提供する企業(例えば、Alibaba)である。いくつかの実装形態において、提供されるサービスは地図サービスまたは気象サービスを含むことができる。いくつかの実装形態において、地図データはデータコレクタによってクラウドソーシングを使用して収集される。
【００５７】
いくつかの実装形態において、地図サービスプロバイダは1つまたは複数のデータコレクタからクラウドソーシングを通じてデータを受信する。いくつかの実装形態において、それぞれのデータコレクタはパブリックなメンバまたはグループのメンバである。いくつかの実装形態において、データコレクタはデータを収集するために、GPS、車のダッシュボードカメラ、モバイルコンピューティングデバイス、またはドローンを使用することができる。
【００５８】
いくつかの実装形態において、データコレクタから地図データを受信するのに先立って、地図サービスプロバイダは、データコレクタのうちの1つまたは複数とスマートコントラクトを実行する。スマートコントラクトはインセンティブメカニズムを説明しており、それによって1つまたは複数のデータコレクタは、いったん関連するデータを収集して地図サービスプロバイダに送信すれば、報酬を受け取ることができる。いくつかの実装形態において、データは有効化され、データが地図サービスプロバイダの予め設定された要求事項を満たすことを確実にすることができる。例えば、データが実際のデータコレクタから収集されたかどうか、有用か、最新か、またはあらゆる他の基準にしたがうか、である。いくつかの実装形態において、予め設定された要求事項はスマートコントラクトに含まれていてもよい。方法400は、402から404へ進む。
【００５９】
404において、地図データは処理するためにデータサービスプロバイダに送信される。いくつかの実装形態において、地図データをデータサービスプロバイダに送信するのに先立って、地図サービスプロバイダはデータサービスプロバイダとスマートコントラクトを実行して、地図サービスプロバイダとデータサービスプロバイダとのトランザクションが自動的に実施され得ることを確実にする。
【００６０】
いくつかの実装形態において、処理するために地図データをデータサービスプロバイダに送信することは、地図データを正規化するため、または通常ではないデータを地図データから破棄するために、地図データをデータサービスプロバイダに送信することを含む。例えば、地図サービスプロバイダが1つまたは複数のデータコレクタから特定の地理学的領域のデータのまとまりを受信した後、地図サービスプロバイダはデータのまとまりをデータサービスプロバイダに送信することができ、データサービスプロバイダはデータのまとまりを正規化するか、またはそれぞれのデータのまとまりを比較して、通常ではない態様を含むあらゆるデータ(例えば、壊れている、不完全である、または古い)のまとまりを除去することができる。いくつかの実装形態において、データサービスプロバイダは地図サービスプロバイダのためのデータを記憶することもできる。方法400は、404から406へ進む。
【００６１】
406において、地図サービスプロバイダはブロックチェーンに関連付けられるデータプロバイダから非クラウドソーシングデータを受信する。受信される非クラウドソーシングデータは、クラウドソーシングを通じて収集することができない(または、収集することが困難な)データである。例えば、地図サービスプロバイダは、非データコレクタからの、対象の地理学的領域の衛星画像または航空画像などの情報を必要とすることがある。いくつかの実装形態において、データプロバイダから非クラウドソーシングデータを受信するのに先立って、地図サービスプロバイダはデータプロバイダとスマートコントラクトを実行してトランザクションが自動的に実施され得ることを確実にする。方法400は、406から408へ進む。
【００６２】
408において、非クラウドソーシングデータは地図データと共に処理するためにデータサービスプロバイダに送信される。方法400は、408から410へ進む。
【００６３】
410において、処理された地図データに対する要求がサービスユーザから受信される。いくつかの実装形態において、サービスユーザは特定の目的のためにデータを購入または借りること、例えば、あるルートについて交通状況の更新を受信すること、またはある建物の内部もしくは外部の詳細な地図を要求することが必要な顧客であってもよい。方法400は、410から412へ進む。
【００６４】
412において、地図データおよび非クラウドソーシングデータから生成された処理された地図データは、データサービスプロバイダから検索される。いくつかの実装形態において、処理されたデータをサービスユーザに送信するのに先立って、地図サービスプロバイダはサービスユーザとスマートコントラクトを実行してそれらの間のトランザクションが自動的に実施され得ることを確実にする。412の後、方法400は、414へ進む。
【００６５】
414において、処理された地図データは、要求に応答して、サービスユーザに送信される。414の後、方法400は停止することができる。
【００６６】
図5は本明細書の実装形態による装置500のモジュールの一例を描写している。装置500は、ブロックチェーンベースのデータのクラウドソーシング(コンソーシアム型または他のブロックチェーンタイプのネットワークなど)を可能とするように構成される装置の例示的な実装形態であることができる。装置500は前述の実装形態に対応することができ、装置500は以下を含む。ブロックチェーンに関連付けられる地図サービスプロバイダにおいて、地図データをデータコレクタから受信する、第1の受信機、または第1の受信ユニット502と、処理するために地図データをデータサービスプロバイダに送信する、第1の送信機、または第1の送信ユニット504と、地図サービスプロバイダにおいて、非クラウドソーシングデータをデータプロバイダから受信する、第2の受信機、または第2の受信ユニット506と、地図データと共に処理するために非クラウドソーシングデータをデータサービスプロバイダに送信する、第2の送信機、または第2の送信ユニット508と、処理された地図データに対する要求をサービスユーザから受信する、第3の受信機、または第3の受信ユニット510と、データサービスプロバイダから、地図データおよび非クラウドソーシングデータから生成された、処理された地図データを検索する、検索器、または検索ユニット512と、要求に応答して処理された地図データをサービスユーザに送信する、第3の送信機、または第3の送信ユニット514。
【００６７】
前述の実装形態に例示したシステム、装置、モジュール、またはユニットはコンピュータのチップもしくはエンティティを使用することによって実装することができ、または特定の機能を有する製品を使用することによって実装することができる。典型的な実装デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスのあらゆる組み合わせであることができる。
【００６８】
装置内のそれぞれのユニットの機能および役割の実装形態処理については、前述の方法の対応するステップの実装形態処理を参照することができる。簡略化のため、ここでは詳細は省略する。
【００６９】
装置実装形態は基本的には方法実装形態に対応するため、関連する部分について、方法実装形態における関連する説明に参照がなされ得る。先に説明した装置実装形態は例に過ぎない。別個の部分として説明したユニットは、物理的に別個であっても、別個でなくてもよく、ユニットとして表示した部品は物理的なユニットであっても、物理的なユニットでなくてもよく、一か所に配置されてもよく、または複数のネットワークユニットに分散されてもよい。モジュールの一部またはすべては、本明細書の解決策の目的を達成するために、実際の需要に基づいて選択され得る。当業者であれば、創作的な努力せずに本出願の実装形態を理解して実装することができる。
【００７０】
再度図5を参照すると、ブロックチェーンベースのデータのクラウドソーシングを可能とするための内部的な機能モジュールおよび装置の構造を図示しているものとして解釈され得る。実行装置は、ブロックチェーンベースのデータのクラウドソーシングを可能とするように構成される装置の一例であり得る。
【００７１】
本明細書において説明される主題の実装形態ならびにアクションおよび動作は、本明細書において開示される構造およびその構造的な等価物を含む、デジタル電子回路、有形に具体化されているコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらの1つもしくは複数の組み合わせにおいて実装することができる。本明細書において説明される主題の実装形態は、データ処理装置による実行のため、またはデータ処理の動作を制御するために、1つまたは複数のコンピュータプログラム、例えばコンピュータキャリア上にエンコードされたコンピュータプログラム命令の1つまたは複数のモジュール、として実装することができる。キャリアは有形の非一時的なコンピュータ記憶媒体であってもよい。代替で、または追加で、キャリアは人工的に生成された伝搬信号、例えばデータ処理装置による実行のために適切な受信機装置に送信するために情報をエンコードするために生成された、機械生成の電気的、光学的、または電磁気的な信号、であってもよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組み合わせであってもよいか、あるいはその部分であってもよい。コンピュータ記憶媒体は伝搬信号ではない。
【００７２】
用語「データ処理装置」はデータを処理するためのすべての種類の装置、デバイス、および機械を包含し、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む。データ処理装置は特殊目的論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、またはGPU(画像処理ユニット)を含むことができる。装置はまた、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組み合わせを構成するコードを含んでもよい。
【００７３】
本明細書においてプログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプト、またはコード、と称され得るまたは説明され得るコンピュータプログラムは、コンパイラ型もしくはインタプリタ型言語、または宣言型もしくは手続き型言語を含むあらゆる形態のプログラム言語で記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、エンジン、サブルーチン、もしくはコンピューティング環境での実行に適切な他の単位として、を含むあらゆる形態として展開することができ、コンピューティング環境は1つまたは複数の場所においてデータ通信ネットワークによって内部接続される、1つまたは複数のコンピュータを含むことができる。
【００７４】
コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、必ずしもそうである必要はない。コンピュータプログラムは、他のプログラムもしくはデータを保有するファイルの一部、例えば、マークアップ言語文書に記憶された1つもしくは複数のスクリプトに、対象のプログラム専用の単一のファイルに、あるいは複数のコーディネートされたファイル、例えば、1つもしくは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルに、記憶することができる。
【００７５】
本明細書に説明される処理および論理フローは、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のコンピュータによって実施し、入力データを演算することおよび出力を生成することによって動作を実施することができる。処理および論理フローはまた、特殊目的論理回路、例えばFPGA、ASICもしくはGPUによって、または特殊目的論理回路と1つもしくは複数のプログラムされたコンピュータの組み合わせによって、実施することができる。
【００７６】
コンピュータプログラムの実行に適切なコンピュータは、汎用もしくは特殊目的のマイクロプロセッサ、またはその両方、あるいはあらゆる他の種類の中央処理装置に基づくことができる。一般的に、中央処理装置は読み取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信する。コンピュータの要素は、命令を実行するための中央処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスを含むことができる。中央処理装置およびメモリは、特殊目的論理回路によって補うことができ、または特殊目的論理回路に組み込むことができる。
【００７７】
一般的に、コンピュータはまた、1つもしくは複数の大容量記憶デバイスを含み、または1つもしくは複数の大容量記憶デバイスからデータを受信するため、または1つもしくは複数の大容量記憶デバイスにデータを送信するために、動作可能に接続される。大容量記憶デバイスは、例えば、磁気的、磁気光学的、もしくは光学的なディスク、またはソリッドステートドライブであることができる。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、いくつかの例を挙げると、例えば携帯電話、携帯情報端末(PDA)、モバイル型の音声もしくは動画プレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、例えばユニバーサルシリアルバス(USB)フラッシュドライブ、などの別のデバイスに埋め込むことができる。
【００７８】
ユーザとの対話を提供するために、本明細書で説明される主題の実装形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、LCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができる入力デバイス、例えば、キーボードおよびポインティングデバイス、例えば、マウス、トラックボール、もしくはタッチパッドを有するコンピュータに実装すること、またはそのようなコンピュータと通信するように構成することができる。同様に他の種類のデバイスを、ユーザとの対話を提供するために使用することができる。例えば、ユーザに提供されるフィードバックはあらゆる形態の感覚的なフィードバック、例えば視覚的なフィードバック、聴覚的なフィードバック、または触覚的なフィードバックであってよく、ユーザからの入力は、音響、発話または触覚的な入力を含む、あらゆる形態で受信することができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信すること、およびユーザによって使用されるデバイスから文書を受信することによって、ユーザと対話することができ、例えばウェブブラウザから受信した要求に応答して、ユーザのデバイスのウェブブラウザにウェブページを送信することによって、またはユーザデバイス、例えば、スマートフォンもしくは電子的タブレットで実行しているアプリと対話することによって、などである。また、コンピュータはテキストメッセージまたは他の形態のメッセージを、個人のデバイス、例えばメッセージングアプリケーションを実行中のスマートフォン、に送信することによって、および返信としてユーザから応答的なメッセージを受信することによって、ユーザと対話することができる。
【００７９】
本明細書では用語「するように構成される」をシステム、装置、およびコンピュータプログラムの構成要素との関連で使用する。1つまたは複数のコンピュータのシステムについて、特定の動作またはアクションを実施するように構成されるということは、システムにはソフトウェア、ファームウェア、ハードウェアまたはその組み合わせがインストールされており、動作時にはそれらがシステムに動作またはアクションを実施させることを意味する。1つまたは複数のコンピュータプログラムについて、特定の動作またはアクションを実施するように構成されるということは、1つまたは複数のプログラムはデータ処理装置によって実行される時、装置に動作またはアクションを実施させる命令を含むことを意味する。特殊目的論理回路が特定の動作またはアクションを実施するように構成されるということは、回路が動作またはアクションを実施する電子的ロジックを有することを意味する。
【００８０】
本明細書は多くの具体的な実装形態の詳細を含む一方で、これらは特許請求されるものの範囲に対する限定と解釈されるべきではなく、特許請求されるものは特許請求の範囲そのものによって定義され、特定の実装形態に特異的であり得る特徴の説明と解釈されるべきである。別個の実装形態のコンテキストにおいて本明細書で説明される特定の特徴は、やはり単一の実装形態において組み合わせとして実現されてもよい。逆に、単一の実装形態のコンテキストにおいて説明される様々な特徴は、やはり複数の実装形態として別個に、またはあらゆる適切なサブ組み合わせとして実現されてもよい。さらに、特徴はある組み合わせにおいて振る舞うとして上述され得、また初めにそのようなものとして特許請求されさえもするが、特許請求される組み合わせからの1つまたは複数の特徴は、いくつかの場合、その組み合わせから切り出すことができ、特許請求項はサブ組み合わせまたはサブ組み合わせの変形を対象とすることができる。
【００８１】
同様に、動作は特定の順序で図面に描写され、また特許請求の範囲で列挙されるが、これは所望の結果を達成するために、そのような動作が示される特定の順序もしくは順次に実施されること、またはすべての例示される動作が実施されること、を要求するものとして理解されるべきではない。ある状況においては、マルチタスクおよび並列処理が有利であり得る。さらに、上述の実装形態における様々なシステムのモジュールとコンポーネントの分離は、すべての実装形態においてそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは全体的に単一のソフトウェア製品に一体化すること、または複数のソフトウェア製品にパッケージングすることができることが理解されるべきである。
【００８２】
主題の特定の実装形態が説明されてきた。他の実装形態が以下の特許請求の範囲の範囲内にある。例えば、特許請求の範囲に列挙されるアクションを異なる順で実施することができるが、なお所望の結果を達成することができる。一例として、添付の図面において描写される処理は、所望の結果を達成するために、必ずしも示される特定の順序、または順次を要求しない。いくつかの場合においては、マルチタスクおよび並列処理が有利であり得る。
【符号の説明】
【００８３】
100  環境
102  ブロックチェーンネットワーク
106  コンピューティングデバイス、コンピューティングシステム
108  コンピューティングデバイス、コンピューティングシステム
110  ネットワーク
200  アーキテクチャ
202  参加者システム
204  参加者システム
206  参加者システム
212  ブロックチェーンネットワーク
214  ノード
216ブロックチェーン
216'  ブロックチェーンの完全なコピー
216''  ブロックチェーンの完全なコピー
216'''  ブロックチェーンの完全なコピー
300  システム環境
302  地図サービスプロバイダ
304  データサービスプロバイダ
306  データプロバイダ
308  データコレクタ
310  サービスユーザ
400  コンピュータによって実施される方法
500  装置
502  第1の受信機、または第1の受信ユニット
504  第1の送信機、または第1の送信ユニット
506  第2の受信機、または第2の受信ユニット
508  第2の送信機、または第2の送信ユニット
510  第3の受信機、または第3の受信ユニット
512  検索器、または検索ユニット
514  第3の送信機、または第3の送信ユニット
A  参加者
B  参加者
C  参加者
【図１】
0006763094.tif 000002
【図２】
0006763094.tif 000003
【図３】
0006763094.tif 000004
【図４】
0006763094.tif 000005
【図５】
0006763094.tif 000006