(57)【特許請求の範囲】
【請求項１】
第1のデータを第1の端末から第2の端末に直接送信するための方法であって、
データ交換プラットフォームが、第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込み記憶するステップであって、前記データ交換合意が、交換されたデータの特徴情報を含み、前記交換されたデータが、前記第1のユーザからの前記第1のデータと、前記第2のユーザからの交換されることになるデータとを含む、書き込み記憶するステップと、
前記データ交換プラットフォームが、前記第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信するステップであって、前記第1の端末が前記第1のユーザに対応する端末であり、前記第1の端末が、対称暗号化技術に従って、前記暗号化された第1のデータを取得するために前記第1のデータを暗号化し、前記第1の端末が前記第1の鍵を前記データ交換プラットフォームに送信し、前記第1の端末が、前記暗号化された第1のデータを前記第2の端末に直接送信する、受信するステップと、
前記データ交換プラットフォームによって、前記第2の端末から前記データ交換プラットフォームによって受信された第3のデータが前記データ交換合意に適合すると検証されたとき、前記第2の端末が、前記第1の端末によって送信された、前記暗号化された第1のデータを受信した後で、前記第1のデータを取得するために、前記第1の鍵に基づいて、前記受信された、暗号化された第1のデータを解読するように、前記データ交換プラットフォームが前記第1の鍵を前記第2の端末に送信するステップであって、前記第2の端末が前記第2のユーザに対応する端末であり、前記第3のデータが、前記第1のユーザから前記第1のデータを受信するために前記第2のユーザからの前記交換されることになるデータである、送信するステップと
を含み、
前記第1の鍵を前記第2の端末に前記送信するステップの前に、
前記データ交換プラットフォームが、前記第2の端末によって送信され、暗号化された第2のデータを解読するために使用される第2の鍵を受信するステップ
をさらに含み、
前記データ交換プラットフォームが前記第1の鍵を前記第2の端末に前記送信するステップの後で、前記第1の端末が、前記第2の端末によって送信された、前記暗号化された第2のデータを受信した後で、前記第2のデータを取得するために、前記第2の鍵に基づいて、前記受信された、暗号化された第2のデータを解読するように、前記データ交換プラットフォームが前記第2の鍵を前記第1の端末に送信するステップをさらに含む、方法。
【請求項２】
前記第2の端末によって送信されたデータ送信命令が前記データ交換プラットフォームによって受信されたとき、前記データ交換プラットフォームが前記第3のデータを前記第1の端末に送信するステップであって、前記第3のデータが、前記データ交換合意において言及される前記第2のユーザからの交換されることになるデータであり、前記第3のデータが、前記第1のユーザに対して前記データ交換プラットフォームを介して交換される、送信するステップ
をさらに含む、請求項1に記載の方法。
【請求項３】
前記第2の端末が、前記第1のデータを取得するために、前記第1の鍵を使用して、前記受信された、暗号化された第1のデータを解読するステップ
をさらに含む、請求項1に記載の方法。
【請求項４】
前記データ交換プラットフォームが、前記第1のユーザと前記第2のユーザとの間の前記データ交換合意を前記ブロックチェーン内に前記書き込み記憶するステップの前に、
前記データ交換プラットフォームにおいて、前記第1の端末によって発行されたデータ情報を受信し、前記データ情報を公開するステップと、
前記データ交換プラットフォームにおいて、前記第2の端末によって前記公開されたデータ情報に対する発注依頼を受信し、前記依頼を前記第1の端末に送信するステップと、
前記データ交換プラットフォームが、前記データ交換合意を達成するために、前記発注依頼に関する、前記第1の端末によって送信された確認情報を受信するステップと
をさらに含む、請求項3に記載の方法。
【請求項５】
前記データ交換プラットフォームが前記第1の鍵を前記第2の端末に前記送信するステップの後で、かつ前記第2の鍵を前記第1の端末に前記送信するステップの前に、前記データ交換プラットフォームが、前記第2の端末によって送信された前記第1のデータに関する確認情報を受信するステップであって、前記第1のデータに関する前記確認情報が、前記第1のデータが前記合意の記述に一致すると前記第2のユーザが判定することを示す、受信するステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記データ交換プラットフォームが、前記第1のデータに関する、前記第2の端末によって送信された確認情報を前記受信するステップの後で、前記データ交換プラットフォームが、前記第2のデータに関する、前記第1の端末によって送信された確認情報を受信するステップであって、前記第2のデータに関する前記確認情報が、前記第2のデータが前記合意の前記記述に一致すると前記第1のユーザが判定することを示す、受信するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記データ交換プラットフォームが、前記第2のデータに関して、前記第1の端末によって送信された確認情報を前記受信するステップの後で、前記データ交換プラットフォームが、前記交換が達成されているという記録を前記ブロックチェーン内の前記データ交換合意の結果の中に書き込み記憶するステップをさらに含む、請求項6に記載の方法。
【請求項８】
前記データ交換プラットフォームが前記第1の鍵を前記第2の端末に送信した後で、前記データ交換プラットフォームが、事前設定された条件が満たされていると判定されたとき、前記第3のデータを前記第1のユーザに送信するステップをさらに含む、請求項1に記載の方法。
【請求項９】
前記事前設定された条件が満たされていると判定するステップが、具体的には、前記データ交換プラットフォームが、前記第2の端末によって送信されたデータ送信命令を受信するステップであって、前記データ送信命令が、前記第3のデータを前記第1の端末に送信するように前記データ交換プラットフォームに命令するための命令である、受信するステップを含む、請求項8に記載の方法。
【請求項１０】
前記データ交換合意が、前記第1のデータの特徴情報を含み、
前記方法が、前記第2の端末が、前記特徴情報を取得し、前記特徴情報に従って、収集された第1のデータが前記合意内の記録に一致するかどうかを判定するステップをさらに含み、
前記第1のデータの前記特徴情報が、以下、すなわち、
前記第1のデータの完全性を検証するためのメッセージダイジェスト、および
前記第1のデータの特定の内容を要約するための基本情報
のうちの少なくとも1つを含む、請求項2から9のいずれか一項に記載の方法。
【請求項１１】
前記暗号化された第1のデータが標準送信インターフェースを実装する前記第1の端末によって前記第2の端末に送信され、前記標準送信インターフェースが、前記データ交換プラットフォームによって定義され、端末同士の間でデータを送信するために使用されるユニバーサルインターフェースを含む、請求項2から9のいずれか一項に記載の方法。
【請求項１２】
第1の暗号化されたデータの送信状態が、前記第1の暗号化されたデータが前記第2の端末に送信されているかまたは送信されていないかを含み、
前記方法は、
前記第1の端末および前記第2の端末によって報告された前記第1の暗号化されたデータの前記送信状態を前記データ交換プラットフォームが受信するステップ
を更に含む、請求項1から10のいずれか一項に記載の方法。
【請求項１３】
前記第3のデータが、通貨を表すデータであり、前記第1のユーザがデータ売主であり、前記第2のユーザがデータ買主である、請求項1から4のいずれか一項に記載の方法。
【請求項１４】
請求項1から12のいずれか一項に記載の前記方法を実行するように構成された複数のユニットを含む、データ送信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、その内容の全体が参照により本明細書に組み込まれている、2017年2月24日に出願した中国特許出願第201710102824.3号の優先権を主張するものである。
【０００２】
本出願は、コンピュータ技術の分野に関し、詳細には、データ送信の方法および装置に関する。
【背景技術】
【０００３】
情報技術の発展に伴い、情報技術は、人々の仕事および生活に大きな利便性をもたらした。情報技術の分野において、データをキャリアとして使用することによって、情報は記憶され送信され、データはコンピューティングデバイスの記憶媒体内に2進数として記憶され得る。ここで述べるデータは、テキスト、シンボル、ビデオ、または音声、およびコンピューティングデバイスによって識別され得るすべての他の要素であり得る。
【０００４】
データは、情報のキャリアとして、通常、一定の価値を有する。特にビッグデータの寿命の点で、各ユニットはその動作プロセスまたはサービスプロセスにおいて大量のデータを蓄積する傾向があり、データは、何らかの事業を行うための一定の使用価値を有し得る。データの価値を十分に活用するために、データを所有する2つの当事者は、データを互いと交換して、彼らが必要とするデータを受け取る。
【０００５】
データ交換の両当事者が適切なデータ交換目的を見出すのを便利にするために、データ交換プラットフォームが生み出された。データ交換プラットフォームは、データ要求者がその情報を容易に見出すことができるように、データ保有者によって発行されたデータ交換情報を示すことができる。同時に、データ交換プロセスでは、データ交換プラットフォームは、仲介者として、データをデータ保有者から受信し、次いで、データをデータ要求者に送信することができる。このようにして、データ交換プラットフォームは、両当事者間で交換されるデータを他の目的で使用すること、またはデータを受信者に送信する前に許可なしでデータを交換することが可能であり、データ交換の当事者の利益に損害をもたらす。すなわち、既存のデータ交換プロセスでは、データセキュリティは比較的低い。
【発明の概要】
【課題を解決するための手段】
【０００６】
本出願の実施形態は、既存のデータ交換プロセスにおける低いデータセキュリティの問題を解決するためのデータ送信方法を提供する。
【０００７】
本出願の実施形態は、以下の技術的解決策を採用する:
データ交換プラットフォームが、第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込み、その合意を記憶するステップと、
データ交換プラットフォームが、第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信するステップであって、第1の端末が第1のユーザに対応する端末である、受信するステップと、
第1の端末が暗号化された第1のデータを第2の端末に送信するステップであって、第2の端末が第2のユーザに対応する端末である、送信するステップと、
データ交換プラットフォームが第1の鍵を第2の端末に送信するステップと、
第2の端末が、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読するステップと
を含む、データ送信方法が提供される。
【０００８】
本出願の実施形態は、既存のデータ交換プロセスにおける低いデータセキュリティの問題を解決するためのデータ送信方法をさらに提供する。
【０００９】
本出願の実施形態は、以下の解決策を採用する:
データ交換プラットフォームが、第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込み、その合意を記憶するステップと、
データ交換プラットフォームが、第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信するステップであって、第1の端末が第1のユーザに対応する端末である、受信するステップと、
第2の端末が、第1の端末によって送信された第1のデータを受信した後で、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読するように、データ交換プラットフォームが第1の鍵を第2の端末に送信するステップであって、第2の端末が第2のユーザに対応する端末である、送信するステップと
を含む、データ送信方法が提供される。
【００１０】
本出願の実施形態は、既存のデータ交換プロセスにおける低いデータセキュリティの問題を解決するためのデータ送信方法をさらに提供する。
【００１１】
本出願の実施形態は、以下の解決策を採用する:
データ交換プラットフォームが、第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信するステップであって、第1の端末が第1のユーザに対応する端末である、受信するステップと、
第2の端末が、第1の端末によって送信された第1のデータを受信した後で、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読するように、データ交換プラットフォームが第1の鍵を第2の端末に送信するステップであって、第2の端末が第2のユーザに対応する端末である、送信するステップと、
を含む、データ送信方法が提供される。
【００１２】
本出願の実施形態は、既存のデータ交換プロセスにおける低いデータセキュリティの問題を解決するためのデータ送信装置をさらに提供する。
【００１３】
本出願の実施形態は、以下の解決策を採用する:
第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込み、その合意を記憶するように構成された書込みユニットと、
第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信するように構成された第1の受信ユニットであって、第1の端末が第1のユーザに対応する端末である、第1に受信ユニットと、
第2の端末が、第1の端末によって送信された第1のデータを受信した後で、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読するように、第1の鍵を第2の端末に送信するように構成された第1の送信ユニットであって、第2の端末が第2のユーザに対応する端末である、第1の送信ユニットと
を含む、データ送信装置が提供される。
【００１４】
本出願の実施形態によって採用される上記の技術的解決策のうちの少なくとも1つは、以下の有益な効果を達成し得る:
データ交換の間、データ交換プラットフォームは、データを交換する第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込む。データ交換プラットフォームは、次いで、暗号化された第1のデータを解読するために、第1のユーザに対応する第1の端末によって送信された第1の鍵を受信する。第1の端末は、暗号化された第1のデータを第2のユーザに対応する第2の端末に送信する。データ交換プラットフォームは第1の鍵を第2の端末に送信し、第2の端末は、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読する。データ交換プラットフォームがデータ交換プロセスにおいて交換された第1のデータを避け、それにより、第1のデータがデータ交換プラットフォームによって他の目的で使用され得るリスクを回避し、データ交換プロセスにおけるデータセキュリティを強化し、同時に、データ交換プラットフォームを強化することは明らかである。
【００１５】
本明細書で説明する添付の図面は、本出願のさらなる理解を実現するために使用され、本出願の一部を構成する。本出願の例示的な実施形態およびそれらの説明は、本出願を説明するために使用され、本出願に対する不適切な限定ではない。図面において:
【図面の簡単な説明】
【００１６】
【図１】本出願の一実施形態によるデータ送信方法を実装する概略的フローチャートである。
【図２】本出願の一実施形態によるデータ送信方法の1つの実装シナリオの概略図である。
【図３】本出願の一実施形態によるデータ取引方法を実装する概略フローチャートである。
【図４】本出願の一実施形態によるデータ送信装置の特定の概略構造図である。
【図５】本出願の一実施形態による、セキュアなデータ取引のためのコンピュータ実装方法の別の例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本出願の目的、技術的解決策、および利点をより分かりやすくするために、本出願の技術的解決策は、本出願の特定の実施形態および対応する添付図面を通して明瞭かつ十分に説明される。明らかに、説明する実施形態は、本出願のすべての実施形態ではなく、いくつかの実施形態に過ぎない。本出願の実施形態に基づいて、当業者が何の創造的な取組みも伴わずに導出するすべての他の実施形態は、本出願の保護範囲に入るものとする。
【００１８】
背景技術で説明したように、データは、情報のキャリアとして、通常、一定の価値を有する。特に、ビッグデータの寿命において、ビッグデータは、政府および企業が様々なタイプの作業を実行するために大きな価値がある。ビッグデータから抽出される情報は、政府および企業がより良好な決定を行うのに役立ち得る。たとえば、大きなソーシャルネットワーキングサイトは、通常、大量のユーザデータを蓄積し、これは、ユーザの個人的な識別情報を記録するだけではなく、ユーザの趣味、生活習慣、個人的な関係、および他の情報もやはりある程度反映する。データ内に含まれる情報は、その後の事業を実行するために大きな使用価値を有し、その使用価値は、たとえば、マーケティング会社が広告をユーザに正確にプッシュするのに役立ち得る。
【００１９】
データの価値を十分活用するために、データ保有者は、互いとデータを交換して、交換されたデータから貴重な情報を見つけ出し、それにより、その自らの事業の発展を促し得る。したがって、データ要求者が自らに有用なデータを追求するのを便利にするために、データ交換の両当事者は、データ交換プラットフォームを介してデータを交換することができる。
【００２０】
しかしながら、データは再生可能であるため、データの所有者は、実物体の所有者ほど明瞭ではない。実物体が当事者Aから当事者Bに移転されるとき、当事者Aは、実物体の所有権を失う。しかしながら、データが一方の当事者からもう一方の当事者に移転されるとき、そのデータがこのプロセスにおいて第三者を通過する場合、第三者はそのデータをコピーし、それにより、そのデータを所有する可能性がある。これは、データ交換の両当事者の利益に損害を与える可能性がある。
【００２１】
データ交換プラットフォームは、両当事者間の交換データをマッチさせる役割だけではく、保証人の役割を果たすこと、すなわち、データ交換プロセスにおける両当事者の利益を保証することもできる。既存のデータ交換プロセスでは、データ交換の一方の当事者がデータを送った後で、他方の当事者がその独自のデータを送らない状況を防ぐために、データ交換プラットフォームは、データ交換の両当事者のデータを初めに収集し、次いで、データ交換の両当事者にデータを別個に送信し、それにより、いずれかの当事者が約束を破るのを防ぐことができる。このように、データ交換プラットフォームは、データを他の目的で使用する機会を有し得る。これは、交換の間に低いデータセキュリティをもたらすことになる。この問題を解決するために、本出願はデータ送信方法を提供する。本出願で提供するデータ送信方法は、データ交換プラットフォームによって実行可能であり、データ交換プラットフォームは、この方法を実装するための、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せであってよい。
【００２２】
以下で、本出願の各実施形態で提供する技術的解決策は、添付の図面を参照して詳細に説明される。
【００２３】
実施形態1
既存のデータ交換プロセスにおける低いデータセキュリティの問題を解決するために、本出願の実施形態1は、データ送信方法を提供する。本出願の実施形態では、説明を容易にするために、データ交換の両当事者は、第1のユーザおよび第2のユーザと呼ばれる。第1のユーザおよび第2のユーザは、任意の組織または個人であってよい。第1のユーザおよび第2のユーザは、本明細書で、データ取引の両当事者を区別するために使用され、本出願におけるデータ取引の両当事者に対する限定と理解すべきではない。
【００２４】
データ交換の両当事者は、データ交換の間、端末デバイスを使用することによって何らかの動作を実行することができる。説明を容易にするために、第1のユーザによって実行される動作に対応する端末は、第1の端末と呼ばれ、第2のユーザによって実行される動作に対応する端末は、第2の端末と呼ばれる。データ交換プロセス全体において、同じユーザは、同じ端末を使用することができ、異なる端末を使用することもできることに留意されたい。すなわち、本出願の実施形態において各プロセスにおいて述べる第1の端末は、異なる端末であり得、第2の端末も異なる端末であり得る。端末は、ここで、たとえば、パーソナルコンピュータ、サーバ、モバイル端末、または他のコンピューティングデバイスであってよく、これは本出願において限定されない。
【００２５】
データ交換の間、データ交換の両当事者は、データを交換する前にデータ交換合意を達成することが多い。データ交換合意は、ここで、データが交換される前にデータ交換の両当事者によって達成されるデータ交換の詳細に関する合意を指す。データ交換合意は、そのそれぞれの権利および義務を判定するためにデータ交換の両当事者によって規定される条項を含み、条項は両当事者によって守られる。
【００２６】
データ交換合意が達成されるとき、第1のユーザは、第1の端末を介してデータ交換プラットフォームに関するデータ情報を発行することができる。第1の端末によって発行されたデータ情報を受信した後で、データ交換プラットフォームは、次いで、データ情報を公開することができる。したがって、データ情報に関心を有する第2のユーザは、データ情報を見た後で、第2の端末を介してデータ情報に対する注文依頼をデータ交換プラットフォームに送信することができる。データ交換プラットフォームは、公開されたデータ情報に関する、第2の端末の注文依頼を受信し、その依頼を第1の端末に送信する。第1の端末が確認を行った後で、データ交換プラットフォームは、注文依頼に関する、第1の端末によって送信された確認情報を受信し、それにより、データ交換合意を達成することができる。
【００２７】
上記は、合意の達成プロセスを手短に説明している。実際の適用例では、データ交換の両当事者は、折衝を繰り返すことによって合意の詳細を決定することができる。データ交換合意は、具体的には、データ交換の両当事者の識別情報、交換されるデータの特徴情報、データ使用仕様、および両当事者によって守られる合意の違反の際の罰則処置、ならびに他の情報を含み得る。このように、データを受信した後で、受信機は、データが合意の記載に一致しないことを見出した場合、合意に基づいて対応する処置を講じることができる。
【００２８】
合意では、両当事者間で交換されるデータの特徴情報は、以下:すなわち、データの完全性を検証するためのメッセージダイジェスト、およびデータの特定の内容を要約するための基本情報のうちの少なくとも1つを含み得る。第1のデータの場合、第1のデータの特徴情報は、その場合、以下、すなわち、第1のデータの完全性を検証するためのメッセージダイジェスト、および第1のデータの特定のコンテンツを要約するための基本情報のうちの少なくとも1つを含む。
【００２９】
メッセージダイジェストは、メッセージまたは文書に一意に対応する固定長値であり、この値は、一方向ハッシュアルゴリズムに基づいて判定される。したがって、交換されることになるデータが修正されるとき、データのメッセージダイジェストも変更され得る。一般的に使用される一方向ハッシュアルゴリズムは、メッセージダイジェストアルゴリズム5(MD5)、セキュアハッシュアルゴリズム(SHA)、メッセージ認証コード(MAC)などを含む。
【００３０】
合意内に含まれた第1のデータのメッセージダイジェストに基づいて、暗号化されたデータを受信した後で、第2のユーザは、暗号化されたデータに対して完全性検査を実行して、受信されたデータが修正されているかどうかを判断することができる。同時に、完全性検査値は、データ交換の両当事者間の将来の紛争の際に使用するための基礎にもなり得る。
【００３１】
第1のデータの特定の内容を要約するための基本情報は、たとえば、第1のデータ内に含まれるべきデータのタイプ、もしくは第1のデータ内のデータが満たすべき何らかの特定の条件、または本出願において第1のデータ内のデータによって達成され得る効果などであってよい。この情報に基づいて、第2の端末は、第1のデータの特定の内容を検査し、これにより、第2のユーザが欺かれるのを防ぎ、その独自の利益に対する損失を回避することができる。
【００３２】
上記は、データを送信する前にデータ交換の両当事者によるデータ交換合意を達成するプロセスについて説明している。次いで、本出願におけるデータ交換の両当事者によるデータ送信のプロセス、すなわち、本出願で提供するデータ送信方法が下記で詳細に紹介される。この方法を実装するための概略フローチャートが図1に示されている。この方法は、以下のステップを含む。
【００３３】
ステップ101:データ交換プラットフォームは、第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込み、その合意を記憶する。
【００３４】
情報技術の時代において、合意は、コンピューティングデバイスの記憶媒体内にデータ形式で記憶されることも可能であり、記憶媒体内に記憶されたデータは、修正されるリスクを有し得る。データ交換の両当事者が許可なしに合意を修正するのを防ぎ、合意データのセキュリティを強化するために、合意を保存するための第三者として、データ交換プラットフォームを使用することができる。
【００３５】
しかしながら、合意がデータ交換プラットフォームによって記憶される場合、データ交換プラットフォームが合意を修正し得るリスクが存在することになる。データ交換プラットフォームが合意を修正するためにデータ交換の一方の当事者と共謀する場合、他方の当事者の利益は損なわれることになる。合意データのセキュリティをさらに強化し、データ交換プラットフォームの信頼性を強化するために、合意を記憶する間、第1のユーザと第2のユーザとの間で達成されたデータ交換合意を記憶するために、ブロックチェーン技術を使用することができる。
【００３６】
ブロックチェーン技術は、分散化された、信頼される、改ざん防止分散化データ記憶技術である。ブロックチェーン技術を使用することによって記憶されるデータ構造は、連鎖型データ構造である。連鎖型データ構造内のデータは、増分様式でのみ変更され得る。すでに記録されたデータは、初期状態を維持することになり、対象にはならないことになる。
【００３７】
同時に、ブロックチェーンは、データを記録するときにコンセンサス機構に従う。ノードがデータを記録するとき、記録されたデータは、ブロックチェーン内の大部分のノードのコンセンサスを取得した後でのみ、ブロックチェーンの各ノード内に記録され得る。これは、記憶されたデータが不法データである可能性を大きく低減させ、したがって、合意が改ざんされる可能性を大きく低減させる。
【００３８】
ブロックチェーン技術において使用されるコンセンサス機構は、たとえば、プルーブオブワーク機構、プルーブオブステーク機構、デリゲーテッドプルーフオブステーク(delegated proof-of-stake)機構、検証プルーフ機構などであってよい。ブロックチェーン内で既存のデータを交換することが意図される場合、唯一のオプションは、サイドチェーンを偽造することによって元のデータを置換することである。技術的困難、時間消費、および労力使用の点で、改ざんコストは莫大である。ブロックチェーンのコンセンサス機構の下でこれを達成することはほぼ不可能である。
【００３９】
上記の分析を通して、本出願の実施形態は、ブロックチェーン技術によってデータ交換合意を記憶し、これは、合意が改ざんされる可能性を効果的に回避し、データ交換合意のセキュリティを大きく強化することができるという結論に達することができる。
【００４０】
ステップ102:データ交換プラットフォームは、第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信する。
【００４１】
ここで述べる第1のデータは、第1のユーザが第2のユーザに送信することを予想するデータである。したがって、ここで、第1のユーザは、第1のデータの送信者であり、第2のユーザは、第1のデータの受信者である。当然、コンピュータ分野において、実際の動作において、いわゆる、ユーザ同士の間でデータを送信することは、ユーザが別のユーザの端末に対してその端末を介してデータを送信することであり得ることは当業者に明らかであろう。
【００４２】
交換の両当事者以外の第三者によってデータが盗まれるのを防ぐために、第1のデータは、暗号化され、次いで、第2の端末に送信され得る。暗号法において、暗号化は、平文情報が解読鍵なしに可読でないように、その情報を隠すために使用され、それにより、データ送信におけるセキュリティを強化する。
【００４３】
データは、暗号化された後で、データ対話プラットフォームを介して送信されるが、これは、依然として、暗号化された第1のデータがデータ交換プラットフォームによって使用されることを完全に防ぐことができない。たとえば、データは、データ交換プラットフォームによって分解される可能性がある。暗号化された第1のデータは、その場合、第1の端末によって第2の端末に直接送信可能であり、データ交換プラットフォームは、交換されたデータを避け、したがって、データ送信におけるセキュリティをさらに強化する。
【００４４】
データは、様々な暗号化方法を使用して、第1の端末によって暗号化され得る。たとえば、第1のデータは、対称暗号化アルゴリズムを使用することによって暗号化され得る。この場合、ここで、第1の鍵は、第1のデータを暗号化するために使用される鍵である。このように、データ交換プラットフォームは、第1の端末によって送信され、第1のデータを暗号化するために使用される鍵を受信することによって、暗号化された第1のデータを解読するための鍵を判定する。または、第1の端末は、対称暗号化アルゴリズムを使用することによって、第1のデータを暗号化し、データ交換プラットフォームによって送信された公開鍵を用いて第1のデータを暗号化することもできる。このように、データ交換プラットフォームは、暗号化されたデータを解読するための秘密鍵を判定することのみを必要とする。
【００４５】
データ交換の両当事者を制限するために、第1の鍵は、第1の端末によって第2の端末に直接送信される代わりに、適切な時点でデータ交換プラットフォームによって送信されることが好ましい。すなわち、第1の端末が対称暗号化アルゴリズムを使用することによって第1のデータを暗号化した後で、暗号化の際に使用される第1の鍵がデータ交換プラットフォームに送信され得る。第1の端末によって送信された鍵を受信した後で、データ交換プラットフォームは、ステップ103を実行することによって、鍵を第2の端末に送信することができる。
【００４６】
ステップ103:データ交換プラットフォームは第1の鍵を第2の端末に送信する。
【００４７】
このように、第2の端末は、第1の端末によって送信された第1のデータを受信した後で、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読することができる。第2の端末は、第2のユーザに対応する端末である。
【００４８】
同様に、データを第1の端末に送信するとき、第2の端末は、鍵を使用することによってデータを暗号化することもできる。ここで、第2のユーザによって保有される、交換されることになるデータは、第2のデータと呼ばれる。第2のデータを暗号化した後で、第2の端末は、暗号化された第2のデータを第1の端末に送信し、次いで、暗号化されたデータを解読するための第2の鍵をデータ交換プラットフォームに送信する。プラットフォームは、次いで、第1の端末が、第2のデータを取得するためにその鍵を使用することによって、暗号化された第2のデータを解読することができるように、鍵を第1の端末に送信し、これにより、両当事者間のデータ交換を実装する。このプロセスでは、両当事者間で交換されるデータはデータ交換プラットフォームを通らず、それにより、交換されるデータのセキュリティを強化する。
【００４９】
本出願の実施形態では、説明を容易にするために、第1のユーザによって保有されるデータは第1のデータと呼ばれ、第2のユーザによって保有されるデータは第2のデータと呼ばれ、両当事者によるデータの交換プロセスは、互いとの第1のデータおよび第2のデータの交換プロセスであることに留意されたい。本出願の実施形態で使用する「第1の」および「第2の」という用語は、説明する異なる対象を区別するために使用され、特定の対象を指さないことが理解できる。
【００５０】
データセキュリティを強化し、両当事者の利益に対する損害を防ぐ目的で、暗号化されたデータのために両当事者によって送信された鍵が受信された後で、データを受信した後で、一方の当事者が鍵を送信せず、他方の当事者の利益を大きく損ねることになる事例を避けるために、データに関して両当事者によって送信された確認情報が受信された後で、その鍵を両当事者に送信することも可能である。たとえば、第1の鍵を第2の端末に送信した後で、データ交換プラットフォームは、第1のデータに関する、第2の端末によって送信された確認情報を受信した後で、第2の鍵を第1の端末に送信する。第1のデータに関する確認情報は、第1のデータが合意の記述に一致し、これにより、第2のユーザの利益を効果的に保護すると第2のユーザが判定することを示す。同様に、第1のデータに関する、第2のユーザによって送信された確認情報を受信した後で、データ交換プラットフォームは、第2のデータに関する、第1の端末によって送信された確認情報を受信することもできる。第2のデータに関する確認情報は、第2のデータが合意の記述に一致すると第1のユーザが判定することを示す。
【００５１】
いくつかのタイプのデータがプラットフォームを介して交換され得る。データは、たとえば、そのデータが第三者によって取得されるかどうかについてユーザが関心を持っていないデータ、またはそのデータ価値が複写を介して収集され得ないデータであり得る。これらのタイプのデータは、暗号化される必要がなく、したがって、コンピューティングリソースおよび記憶リソースを節約する。説明を容易にするために、プラットフォームを介して交換され得るデータは、第3のデータと呼ばれる。
【００５２】
以下で、本出願で提供するデータ交換方法は、第2のユーザの交換されることになるデータがデータ交換プラットフォームを介して交換され得る第3のデータである一例を使用して詳細に示され、交換されることになる第1のデータを暗号化するための技術は、対称暗号化技術である。この方法は、以下のステップを含む:
【００５３】
ステップ201:データ交換プラットフォームは、第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込み、その合意を記憶する。
【００５４】
ステップ202:データ交換プラットフォームは、第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信する。
【００５５】
ステップ203:第1の端末は暗号化された第1のデータを第2の端末に送信する。
【００５６】
ステップ204:第2の端末は、第3のデータをデータ交換プラットフォームに送信する。
【００５７】
本出願は、ステップ202、ステップ203、およびステップ204を実行する順序を限定しないことに留意されたい。
【００５８】
ステップ205:データ交換プラットフォームは、受信された第1の鍵を第2の端末に送信する。
【００５９】
第2のユーザは第3のデータをデータ交換プラットフォームに直接送信するため、データ交換プラットフォームは、第3のデータを検証することができ、第3のデータが両当事者によって達成された合意に一致しないと見出した場合、第1のユーザの利益に対する損害を防ぐために、第1の鍵を第2の端末に送信しなくてよい。したがって、このステップの特定の実装プロセスは、第3のデータが両当事者の合意に整合すると判定されたとき、受信された第1の鍵を第2の端末に送信するステップであり得る。
【００６０】
ステップ206:第2の端末は、第1のデータを取得するために、受信された第1の鍵に従って、受信された、暗号化された第1のデータを解読する。
【００６１】
ステップ207:データ交換プラットフォームは第3のデータを第1の端末に送信する。
【００６２】
第2のユーザによって取得された第1のデータの場合、プラットフォームは第1のデータを避けるため、プラットフォームは、その信頼性を検証することができないことになる。この場合、第1のデータは第2の端末によって検証される。検証の間、第2の端末は、取引合意において両当事者によって合意された第1のデータの特徴情報を収集することができる。具体的には、特徴情報は、ブロックチェーン内に記憶された合意から収集され得る。当然、両当事者が合意を折衝するとき、第2の端末は、通常、合意をやはり局所的に記憶する。したがって、第2の端末は、第2の端末によって記憶された合意から特徴情報を収集することもできる。合意内の第1のデータの特徴情報を収集した後で、第2の端末は、収集された特徴情報に従って、収集された第1のデータが合意内の記録に一致するかどうかを検査することができる。
【００６３】
このように、第1のデータが元の合意に一致しないことを第2のユーザが見出した場合、プラットフォームは、第2のユーザの利益に対する損害を回避するために、第3のデータを第1の端末に送信することができない。
【００６４】
したがって、第2の端末によって送信されたデータ送信命令が受信されたとき、第3のデータは第1の端末に送信され得る。ここで、データ送信命令は、第3のデータを第1のユーザに送信するようにデータ交換プラットフォームに命令するための命令である。たとえば、この命令は、第1のデータが合意内の記述に一致すると第2のユーザが判定した後でのみ、第3のデータが第1の端末に送信されることを示す、第1のデータに関する前述の確認情報であり得る。
【００６５】
しかしながら、ユーザがデータ送信命令をプラットフォームに送信しない場合、第1のユーザは第3のデータを受信することができない。第1のデータの利益に対する損害を回避するために、場合によっては、第3のデータは第1のユーザに送信されてもよい。たとえば、第1のユーザが、事前設定された時間期間の後で、第1のデータに関する確認情報を依然として送信しない場合、第1の鍵は第2のユーザに送信されているため、第3のデータはこの時点で第1のユーザに送信され得る。
【００６６】
上記に基づいて、ステップ207の特定の実装プロセスは、事前設定された条件が満たされていると判定されたとき、第3のデータを第1のユーザに送信するステップであり得る。ここで、事前設定された条件が満たされる時点は、第2の端末によって送信されたデータ送信命令が受信された後、または鍵が第2の端末に送信されてからの事前設定された時間期間の後であってよい。
【００６７】
これまで、ユーザ同士の間の第1のデータおよび第3のデータの交換が実装された。この方法は、他方の当事者によって送信されたデータを収集した後で、一方の当事者が他方の当事者にデータを送信しない状況を防ぎ、それにより、データ交換の両当事者の利益を保護することができる。
【００６８】
データ交換の完了後に、データ交換プラットフォームは、交換が達成されているという記録をブロックチェーン内のデータ変更合意の結果の中に書き込み、後で使用するために、その記録を記憶することもできる。
【００６９】
本出願の実施形態では、暗号化されたデータの送信状態は、第2のユーザは暗号化されたデータを受信しているが、暗号化されたデータが受信されていないと主張するのを防ぐために、かつ第1の端末はデータを第2の端末に送信していないが、第1のユーザがデータを第2の端末に送信したと主張するのを防ぐために、判定される場合もある。ここで、暗号化されたデータは、暗号化された、交換されたデータ、たとえば、前述の暗号化された第1のデータおよび暗号化された第2のデータである。送信状態は、以下、すなわち、暗号化されたデータが送信されていない状態、暗号化されたデータが送信されている状態、および暗号化されたデータが第2の端末に送信されている状態のうちの1つを含む。
【００７０】
暗号化されたデータの送信状態を判定する特定の方法は、以下の通りであり得る:すなわち、データ対話プラットフォームが、事前判定された監視プログラムを介して暗号化されたデータの送信状態を収集する。監視プログラムは、データ交換の両当事者間でデータを送信するために使用されるプログラムであり得る。または、暗号化されたデータの送信状態を判定するための特定の方法はまた、第1の端末および第2の端末によって積極的に報告された、暗号化されたデータの送信状態を受信するステップであり得る。
【００７１】
第1の端末によって送信された、暗号化されたデータは、データ交換プラットフォームを通らない。したがって、第1の端末が複数の異なる端末とデータ交換を実行する必要がある場合、異なる端末は異なるデータ送信モードをサポートし得るため、第1の端末は、異なる端末に対して異なるデータ送信インターフェースを開発する必要がある。これは、より多くの人材を消費することになるだけでなく、あまりにも多くの記憶リソースを占有することにもなる。その場合、データ送信プラットフォームは、データ送信の間に使用される仕様を作成し、データ送信の間に使用される標準送信インターフェースを定義することができる。標準送信インターフェースは、端末同士の間のデータ送信の間に使用されるユニバーサルインターフェースである。
【００７２】
データ送信プラットフォームを介してデータ交換を実行するユーザの端末が標準送信インターフェースを実装する限り、端末は、標準インターフェースを実装する任意の端末にデータを送信することができる。データ送信プラットフォームによって定義される標準送信インターフェースでは、たとえば、データ交換の両当事者間のデータ送信の間のデータ送信プロトコルなどの情報が定義され得る。詳細についてはここで説明しない。
【００７３】
定義される標準インターフェースの機能はまた、データ送信状態をデータ交換プラットフォームに送信する機能を含み得る。このように、暗号化されたデータの送信を終えた後で、データ対話プラットフォームは、暗号化されたデータが第2の端末に首尾よく送信されたと判定することができ、次いで、対応する動作が実行される。
【００７４】
本出願の実施形態に基づいて、図2は、データ送信方法の実装シナリオの概略図を示す。両当事者がデータ交換合意を達成した後で、第1の端末が第1のデータを第2の端末に送信する特定のプロセスは以下の通りである:
【００７５】
ステップ301:第1の端末は、暗号化されたデータを取得するために第1のデータを暗号化する。
【００７６】
ステップ302:第1の端末は、実装された標準送信インターフェースを介して、暗号化されたデータを第2の端末に送信する。
【００７７】
当然、第2の端末もまた、標準送信インターフェースを実装する。
【００７８】
ステップ303:第1の端末は鍵をデータ交換プラットフォームに送信する。
【００７９】
ステップ304:データ交換プラットフォームは、受信された鍵を第2の端末に送信する。
【００８０】
ステップ305:第2の端末は、第1のデータを取得するために、受信された鍵に従って、暗号化されたデータを解読する。
【００８１】
本出願の実装形態1で提供するデータ送信方法では、データ交換の間、データ交換プラットフォームは、データを交換する第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込む。データ交換プラットフォームは、次いで、暗号化された第1のデータを暗号化するために、第1のユーザに対応する第1の端末によって送信された第1の鍵を受信する。第1の端末は、暗号化された第1のデータを第2のユーザに対応する第2の端末に送信する。データ交換プラットフォームは第1の鍵を第2の端末に送信し、第2の端末は、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読する。データ交換プラットフォームは、データ交換プロセスで交換された第1のデータを避け、それにより、第1のデータがデータ交換プラットフォームによって他の目的で使用され得るリスクを回避し、データ交換プロセスにおけるデータセキュリティを強化し、同時に、データ交換プラットフォームを強化することは明らかである。
【００８２】
説明を容易にするために、データ方法がデータ交換プラットフォームによって実行される一例を使用することによって、データ送信方法の一実装形態が紹介されることに留意されたい。データ交換プラットフォームによって実行される方法は、例示的な説明であり、この方法に対する限定として理解されるべきではないことを理解されたい。次に、実施形態1で提供する方法のステップは、同じデバイスによって実行されてよく、またはこの方法は、異なるデバイスによって実行されてもよい。たとえば、ステップ101およびステップ102は、デバイス1によって実行されてよく、別の例では、ステップ101は、デバイス1によって実行されてよく、ステップ102は、デバイス2によって実行されてよい、等々である。
【００８３】
実施形態2
本出願の発明概念について、上記の実施形態1に基づいて詳細に説明する。本出願の技術的な特徴、手段、および効果をより良く理解するために、それにより本出願の別の実施形態を形成する、本出願のデータ送信方法が下記でさらに示される。
【００８４】
本出願の実施形態2のデータ交換プロセスは、実施形態1のデータ交換プロセスと同様であり、実施形態2で紹介されないいくつかのステップに関しては、実施形態1における関連説明が参照され得る。詳細については、本明細書において再度説明しない。
【００８５】
本解決策の実装形態を詳細に紹介する前に、本解決策の1つの実装シナリオについてまず手短に紹介する。
【００８６】
インターネットでは、通貨はデータの形式でも提示される。したがって、通貨を表すデータの値は、データによって表される通貨の値であり得る。インターネットでは、通貨を表すデータの転送は、通常、実際の動作において、通貨を識別する数値価を変更することによって実装され得る。たとえば、100元がアカウントAからアカウントBに転送される場合、データの転送は、実際には、アカウントAおよびアカウントBにおける通貨を表す数値価に対する変更に対応している。
【００８７】
実施形態1で説明したように、いくつかのタイプのデータのデータ値は、複写によって収集することはできず、プラットフォームを介してそのようなデータを送信することはできない。したがって、実施形態2では、本出願で提供するデータ送信方法の特定の実装プロセスは、第3のデータが通貨を表すデータである一例を使用することによって詳細に説明される。説明を容易にするために、通貨を表すための第3のデータは、以下において、略して通貨と呼ばれる。したがって、データ交換プロセスは、データ取引プロセスとして解釈可能であり、実施形態1の第1のユーザはデータ売主であり、第2のユーザはデータ買主であり、データ交換プラットフォームは、データ取引サービスをユーザに提供することができるデータ取引プラットフォームである。
【００８８】
上記のシナリオに基づいて、実施形態2においてデータ取引を実装するプロセスを、以下のステップを含む図3に示す。
【００８９】
ステップ401:データ売主は、データ取引プラットフォームを介して、販売されているデータの情報を公開する。
【００９０】
データ取引プラットフォームは、データ消費要求を有するユーザが必要とする情報をデータ取引プラットフォームにおいて見出すことができるように、データ販売要求を有するユーザが販売するデータの情報を発行することをサポートし得る。
【００９１】
ステップ402:データ消費者およびデータ売主は、データ取引合意を達成する。
【００９２】
データ消費者は、特定の取引詳細に関して通信し、次いで最終的に、データ取引合意を達成することができる。データ取引合意の機能は、実施形態1で説明したデータ取引合意の機能と同様であり、したがって、ここで再度詳細に説明しない。
【００９３】
403:データ取引プラットフォームは、両当事者によって達成されたデータ取引合意をブロックチェーン内に書き込む。
【００９４】
データ取引合意がブロックチェーン内に書き込まれると、合意を改ざんする可能性は大きく削減され得、したがって、合意のセキュリティが強化される。
【００９５】
ステップ404:データ消費者は、合意において合意された通貨額をプラットフォームに支払う。
【００９６】
インターネットでは、通貨の転送は、実際には、通貨を表すデータの転送である。実際の動作において、これは、通常、アカウント内の通貨を識別するデータの値を変更することによって実装される。
【００９７】
ステップ405:データ売主は、暗号化されたデータを取得するために、販売されているデータを暗号化し、次いで、暗号化のための鍵をデータ取引プラットフォームに送信する。
【００９８】
データは、暗号化のための鍵が解読のための鍵と同じであるように、対称暗号化技術を使用することによって暗号化され得る。
【００９９】
本出願の実施形態は、ステップ404およびステップ405を実行する順序を限定しないことに留意されたい。
【０１００】
ステップ406:データ売主は、標準送信インターフェースを実装する端末を介して、暗号化されたデータをデータ消費者の端末に送信する。
【０１０１】
実施形態1で説明したように、標準送信インターフェースは、ここで、データ交換プラットフォームによって定義され、端末同士の間のデータ送信の間に使用されるユニバーサルインターフェースである。データ消費者の端末も、データを受信するために、標準送信インターフェースを実装すべきである。このように、データ消費者およびデータ売主がプラットフォームの他のユーザとのデータ交換をさらに実行するとき、他の送信インターフェースを開発する必要はなく、これにより、人材および記憶リソースを節約する。
【０１０２】
ステップ407:データ取引プラットフォームは、暗号化されたデータがデータ消費者の端末に送信されていると判定する。
【０１０３】
暗号化されたデータがデータ消費者の端末に送信されていると判定するための特定の方法は、実施形態1の関連説明と同様であり、したがって、ここで再度詳細に説明しない。
【０１０４】
ステップ408:データ取引プラットフォームは、データ消費者が支払った通貨額が合意に記録された通貨額に一致すると判定した後で、鍵をデータ消費者に送信する。
【０１０５】
本出願の実施形態は、ステップ407およびステップ408を実行する順序を限定しないことに留意されたい。
【０１０６】
ステップ409:データ消費者は、受信された鍵を使用することによって、暗号化されたデータを解読し、解読されたデータが合意の記載に一致するかどうかを検証する。
【０１０７】
ステップ410:データ消費者は、受信されたデータが合意の記載に一致すると判定した後で、端末を介して受信確認命令をデータ取引プラットフォームに送信する。
【０１０８】
受信確認命令の機能は、実施形態1で説明した第2のデータ送信命令の機能と同様であり、したがって、ここで再度詳細に説明しない。
【０１０９】
ステップ411:データ取引プラットフォームは、受信確認命令を受信した後で、データ消費者が支払った通貨額をデータ売主のアカウントに転送する。
【０１１０】
データ売主およびデータ消費者が、その後、取引の際にデータに関して争う場合、彼らは、ブロックチェーンの合意に従って自らの権利を保護することができる。
【０１１１】
本出願の実施形態2で提供するデータ取引方法では、データ取引プラットフォームは、消費者によって送信され、販売されているデータを暗号化するために使用される鍵を受信し、次いで、端末を介してデータ消費者が支払った通貨を受信した後で、データ消費者の端末に鍵を送信する。このように、データ売主が送信した、暗号化されたデータを受信した後で、データ消費者は、データ売主が販売したデータを取得するために、その鍵を使用することによって、暗号化されたデータを解読することができる。したがって、データ取引プロセスにおいて、データ交換プラットフォームは、販売されたデータを避け、それにより、販売されたデータがデータ交換プラットフォームによって他の目的で使用され得るリスクを回避し、データ取引プロセスにおけるデータセキュリティを強化する。
【０１１２】
実施形態3
既存のデータ交換プロセスにおける低いデータセキュリティの問題を解決するために、本出願の実施形態1は、データ送信装置を提供する。図4に示すような、データ送信装置の概略構造図は、主に、以下の機能ユニットを含む:
第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込み、その合意を記憶するように構成された書込みユニット501、
第1の端末によって送信され、暗号化された第1のデータを解読するために使用される第1の鍵を受信するように構成された第1の受信ユニット502であって、第1の端末が第1のユーザに対応する端末である、第1の受信ユニット502、および
第2の端末が、第1の端末によって送信された第1のデータを受信した後で、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読するように、第1の鍵を第2の端末に送信するように構成された第1の送信ユニット503であって、第2の端末が第2のユーザに対応する端末である、第1の送信ユニット503。
【０１１３】
本出願の実施形態では、データを交換するための多くの他の特定の実装形態が存在する。一実装形態では、この装置はさらに、第1の送信ユニット503が第1の鍵を第2の端末に送信する前に、第2の端末によって送信され、暗号化された第2のデータを解読するために使用される第2の鍵を受信するように構成された第3の受信ユニット504と、
第1の端末が、第2の端末によって送信された、暗号化された第2のデータを受信した後で、第2のデータを取得するために、第2の鍵に基づいて、受信された、暗号化された第2のデータを解読するように、第1の送信ユニット503が第1の鍵を第2の端末に送信した後で、第2の鍵を第1の端末に送信するように構成された第3の送信ユニット505とを含む。
【０１１４】
第2のユーザの利益を保証するために、一実装形態では、この装置は、第1の送信ユニット503が第1の鍵を第2の端末に送信した後で、かつ第3の送信ユニット505が第2の鍵を第1の端末に送信する前に、第1のデータに関する、第2の端末によって送信された確認情報を受信するように構成された第4の受信ユニット506であって、第1のデータに関する確認情報が、第1のデータが合意の記述に一致すると第2のユーザが判定することを示す、第4の受信ユニット506をさらに含む。
【０１１５】
一実装形態では、この装置は、第4の受信ユニット506が、第1のデータに関する、第2の端末によって送信された確認情報を受信した後で、第2のデータに関する、第1の端末によって送信された確認情報を受信するように構成された第5の受信ユニット507であって、第2のデータに関する確認情報が、第2のデータが合意の記述に一致すると第1のユーザが判定することを示す、第5の受信ユニット507をさらに含む。
【０１１６】
一実装形態では、この装置は、第5の受信ユニット507が、第2のデータに関する、第1の端末によって送信された確認情報を受信した後で、交換が達成されているという記録をブロックチェーン内のデータ交換合意の結果の中に書き込み、その記録を記憶するように構成された書込みユニット508をさらに含む。
【０１１７】
データ交換における両当事者の利益を保証するために、一実装形態では、この装置は、第1の送信ユニット503が第1の鍵を第2の端末に送信する前に、第2の端末によって送信された第3のデータを受信するように構成された第2の受信ユニット509と、第1の送信ユニット503が第1の鍵を第2の端末に送信した後で、事前設定された条件が満たされていると判定されたとき、第3のデータを第1のユーザに送信するように構成された第2の送信ユニット510とをさらに含む。
【０１１８】
一実装形態では、事前設定された条件が満たされていると判定するステップは、具体的には、データ交換プラットフォームが、第2の端末によって送信されたデータ送信命令を受信するステップであって、データ送信命令が、第3のデータを第1の端末に送信するようにデータ交換プラットフォームに命令するための命令である、受信するステップを含む。
【０１１９】
一実装形態では、データ交換合意は、第1のデータの特徴情報を含む。
【０１２０】
第1のデータの特徴情報は、以下、すなわち、第1のデータの完全性を検証するためのメッセージダイジェスト、および第1のデータの特定の内容を要約するための基本情報のうちの少なくとも1つを含む。
【０１２１】
インターフェース開発においてより多くの人材を消費することを回避するために、一実装形態では、暗号化された第1のデータは、標準送信インターフェースを実装する第1の端末を介して第2の端末に送信される。標準送信インターフェースは、データ交換プラットフォームによって定義され、端末同士の間のデータ送信の間に使用されるユニバーサルインターフェースである。
【０１２２】
本出願の実施形態3で提供するデータ送信装置では、データ交換の間、データ交換プラットフォームは、データを交換する第1のユーザと第2のユーザとの間で達成されたデータ交換合意をブロックチェーン内に書き込む。データ交換プラットフォームは、次いで、暗号化された第1のデータを解読するために、第1のユーザに対応する第1の端末によって送信された第1の鍵を受信する。第1の端末は、暗号化された第1のデータを第2のユーザに対応する第2の端末に送信する。データ交換プラットフォームは第1の鍵を第2の端末に送信し、第2の端末は、第1のデータを取得するために、第1の鍵に基づいて、受信された、暗号化された第1のデータを解読する。データ交換プラットフォームは、データ交換プロセスにおいて交換された第1のデータを避け、それにより、第1のデータがデータ交換プラットフォームによって他の目的で使用され得るリスクを回避し、データ交換プロセスにおけるデータセキュリティを強化し、同時に、データ交換プラットフォームを強化することは明らかである。
【０１２３】
1990年代には、技術の改善は、ハードウェアに対する改善(たとえば、ダイオード、トランジスタ、およびスイッチなどの回路構造に対する改善)またはソフトウェアに対する改善(方法手順に対する改善)としてはっきりと区別することが可能であった。しかしながら、技術の発展に伴い、現在、多くの方法手順の改善は、ハードウェア回路構造の直接的な改善と見なされ得る。ほぼすべての設計者は、対応するハードウェア回路構造を取得するために、改善された方法手順をハードウェア回路内にプログラムする。したがって、ハードウェアエンティティモジュールを使用することによって、方法手順の改善を実装することはできないと見なすことは適切でない。たとえば、プログラマブル論理デバイス(PLD)(たとえば、フィールドプログラマブルゲートアレイ(FPGA))は、その論理機能がユーザによってプログラムされたデバイスによって判定される、そのような集積回路である。設計者は、専用の集積回路チップを設計および製造することをチップ製造会社に要求する必要なしに、デジタルシステムを単一のPLD内に「統合する」ために自らプログラミングを実行する。その上、現在、集積回路チップを手動で製造する代わりに、プログラミングはほとんど、論理コンパイラソフトウェアを使用することによって実装される。論理コンパイラソフトウェアは、プログラムを開発および書き込むために使用されるソフトウェアコンパイラと同様であり、コンパイル前の元のコードも、ハードウェア記述言語(HDL)と呼ばれる特定のプログラミング言語によって書き込まれる。Advanced Boolean Expression Language(ABEL)、Altera Hardware Description Language(AHDL)、Confluence、Cornell University Programming Language(CUPL)、HDCal、Java（登録商標） Hardware Description Language(JHDL)、Lava、Lola、MyHDL、PALASM、およびRuby Hardware Description Language(RHDL)など、多くのタイプのHDLが存在し、その中で、現在、Very-High-Speed Integrated Circuit
Hardware Description Language(VHDL)およびVerilogが最も一般的に使用されている。上記のいくつかのハードウェア記述言語を使用して方法手順を若干論理的にプログラムし、その方法手順を集積回路内にプログラムすることによって、論理方法手順を実装するためのハードウェア回路を容易に取得することができることを当業者はやはり理解されたい。
【０１２４】
コントローラは、任意の適切な方法で実装され得る。たとえば、コントローラは、たとえば、マイクロプロセッサもしくはプロセッサ、および(マイクロ)プロセッサ、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ、および埋込み型マイクロコントローラによって実行可能なコンピュータ可読プログラムコード(たとえば、ソフトウェアまたはファームウェア)を記憶するコンピュータ可読媒体の形式であってよい。コントローラの例は、限定はしないが、以下のマイクロコントローラ:すなわち、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicone Labs C8051F320を含む。メモリコントローラは、メモリの制御論理の一部として実装されてもよい。当業者はまた、コントローラは、純粋なコンピュータ可読プログラムコードを使用することによって実装可能であり、加えて、これらの方法ステップは、コントローラが、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブル論理コントローラ、埋込み型マイクロコントローラなどの形式で同じ機能を実装することを可能にするように論理的にプログラムされ得ることを理解している。したがって、このタイプのコントローラは、ハードウェア構成要素と見なされてよく、様々な機能を実装するためにその中に含まれる装置は、ハードウェア構成要素内の構造と見なされてもよい。または、様々な機能を実装するために使用される装置はさらに、この方法を実装するためのソフトウェアモジュールと、ハードウェア構成要素内の構造の両方と見なされてもよい。
【０１２５】
上記の実施形態に示したシステム、装置、モジュール、またはユニットは、具体的には、コンピュータチップもしくはエンティティ、または一定の機能を有する製品を使用することによって実装され得る。典型的な実装デバイスはコンピュータである。具体的には、コンピュータは、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤー、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、タブレットコンピュータ、装着可能デバイス、またはこれらのデバイスのうちのいずれかの組合せであってよい。
【０１２６】
説明を容易にするために、装置について説明するとき、装置は、それぞれの説明の機能の点で様々なユニットに分割される。当然、本出願が実装されるとき、ユニットの機能は、同じまたは複数のソフトウェアおよび/またはハードウェア内で実装され得る。
【０１２７】
本発明の実施形態は、方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本発明は、完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態として実装され得る。その上、本発明は、(限定はしないが、磁気ディスクメモリ、CD-ROM、光メモなどを含む)コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体上で実装されるコンピュータプログラム製品であってよい。
【０１２８】
本発明は、本発明の実施形態による、方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照しながら説明される。コンピュータプログラム命令は、フローチャートおよび/またはブロック図の各プロセスおよび/またはブロック、ならびにフローチャートおよび/またはブロック図のプロセスおよび/またはブロックの組合せを実装するために使用され得ることを理解されたい。これらのコンピュータプログラム命令は、コンピュータまたは任意の他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令が、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックの指定された機能を実装するための装置を生成するように、汎用コンピュータ、専用コンピュータ、埋込み型プロセッサ、または機械を生成するための任意の他のプログラマブルデータ処理デバイスのプロセッサに対して提供され得る。
【０１２９】
これらのコンピュータプログラム命令は、コンピュータ可読メモリ内に記憶された命令が命令装置を含むアーティファクトを生成するように、特定の方法で作業するようにコンピュータまたは任意の他のプログラマブルデータ処理デバイスに命令することができるコンピュータ可読メモリ内に記憶されてもよい。命令装置は、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックの指定された機能を実装する。
【０１３０】
これらのコンピュータプログラム命令は、一連の動作ステップがコンピュータまたは別のプログラマブルデバイス上で実行され、それにより、コンピュータ実装処理を生成するように、コンピュータまたは別のプログラマブルデータ処理デバイス上にロードされてもよい。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックの指定された機能を実装するためのステップを提供する。
【０１３１】
典型的な構成では、計算デバイスは、1つまたは複数の中央処理装置(CPU)と、入出力インターフェースと、ネットワークインターフェースと、メモリとを含む。
【０１３２】
メモリは、揮発性メモリ、ランダムアクセスメモリ(RAM)、および/または不揮発性メモリ、たとえば、読取り専用メモリ(ROM)またはフラッシュRAMなど、コンピュータ可読媒体を含み得る。メモリは、コンピュータ可読媒体の一例である。
【０１３３】
コンピュータ可読媒体は、不揮発性媒体および揮発性媒体、ならびにムーバブル媒体および非ムーバブル媒体を含み、任意の方法または技術によって情報記憶を実装することができる。情報は、コンピュータ可読命令、データ構造、およびプログラムまたは他のデータのモジュールであってよい。コンピュータの記憶媒体は、たとえば、限定はしないが、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのRAM、ROM、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)もしくは他の光記憶装置、カセットテープ、磁気テープ/磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または任意の他の非送信媒体を含み、コンピューティングデバイスによってアクセスされる情報を記憶するために使用され得る。このテキストの定義に従って、コンピュータ可読媒体は、変調データ信号およびキャリアなど、一時的媒体を含まない。
【０１３４】
「含む」、「備える」という用語、またはそれらの任意の他の変形は、非排他的な包含を対象とすることを意図し、その結果、一連の要素を含む、プロセス、方法、物品、またはデバイスは、これらの要素を含むのみならず、明示的に列挙されない他の要素をやはり含むか、またはそのプロセス、方法、物品、またはデバイスに固有の要素をさらに含むことにさらに留意されたい。それ以上の制約が存在しないとき、「を含む」によって定義される要素は、要素が他の同一要素をさらに有することを含めて、そのプロセス、方法、商品、またはデバイスを除外しない。
【０１３５】
本出願は、コンピュータ、たとえば、プログラムモジュールによって実行されるコンピュータ実行可能命令の一般的な文脈で説明されることがある。概して、プログラムモジュールは、特定のタスクを実行するため、または特定の抽象データタイプを実装するために使用される、ルーチン、プログラム、オブジェクト、アセンブリ、データ構造などを含む。本出願は、分散型コンピューティング環境で、かつ分散型コンピュータ環境で実装されてもよく、タスクは、通信ネットワークを介して接続された遠隔処理デバイスを使用することによって実行される。分散型コンピュータ環境において、プログラムモジュールは、記憶デバイスを含めて、ローカルコンピュータ記憶媒体およびリモートコンピュータ記憶媒体の中に配置され得る。
【０１３６】
本明細書における実施形態は、漸進的に説明され、本実施形態の同じまたは同様の部分は、互いに参照しながら取得され得、各実施形態は、他の実施形態と異なる部分を強調する。特に、システム実施形態は、方法実施形態と基本的に同様であり、したがって、簡単に説明され、関連する部分に関しては、方法実施形態の部分の説明を参照することがある。
【０１３７】
上記の説明は、本出願の単なる実施形態であり、本出願を限定することを意図しない。当業者にとっては、本出願は、様々な修正および変形を有し得る。本出願の趣旨および原理からの逸脱を伴わない、任意の修正、同等の置換、改善などはすべて、本出願の特許請求の範囲内に入るものとする。
【０１３８】
図5は、本出願の一実施形態による、セキュアなデータ取引のためのコンピュータ実装方法500の別の例を示すフローチャートである。提示を明瞭にするために、続く説明は、概して、本明細書の他の図面の文脈で方法500について説明する。しかしながら、方法500は、適宜に、たとえば、いずれのシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、ハードウェアの組合せによって実行され得ることを理解されよう。いくつかの実装形態では、方法500の様々なステップは、平行して、組み合わせて、ループで、または任意の順序で実行され得る。いくつかの実装形態では、方法500は、フローチャートに示されていない追加のもしくは異なる(または、両方の組合せの)ステップを含み得る。いくつかの実装形態では、ステップは、方法500から省かれてもよい。
【０１３９】
510において、データ交換プラットフォームは、第1のユーザと第2のユーザとの間のデータ交換合意をブロックチェーン内に書き込む。データ交換合意は、第1のデータに関連付けられる。たとえば、第1のデータは、データ交換合意に従って、第1のユーザから第2のユーザに転送されることになるデータである。いくつかの実装形態では、データ交換プラットフォームはデータ交換合意を記憶する。データ交換合意は、第1および第2のユーザの識別情報、交換されるデータの特性情報、第1および第2のユーザによって守られるデータ使用仕様、および合意の違反に対して第1および第2のユーザによって守られる罰のうちの1つまたは複数、ならびに交換されるデータに関連する他の情報を含む。
【０１４０】
いくつかの実装形態では、データ交換合意をブロックチェーン内に書き込む前に、データ交換プラットフォーム上で公開するために、第1のデータに関連するデータ情報がデータ交換プラットフォームによって第1のユーザに関連する第1のデバイスから受信される。次いで、第1のデータに関連するデータ情報がデータ交換プラットフォームによって公開される。第1のデータに関連する注文がデータ交換プラットフォームによって第2のユーザに関連する第2のデバイスから受信される。第1のデータに関連する注文がデータ交換プラットフォームによって第1のデバイスに送信される。第1のデータに関連する注文に対する確認情報がデータ交換プラットフォームによって第1のデバイスから受信される。注文と確認情報は両方とも、データ交換合意に関連付けられる。いくつかの実装形態では、データ交換合意は、他の適切な方法を使用して達成され得る。510から、方法500は520に進む。
【０１４１】
520において、データ交換プラットフォームは、第1のユーザに関連する第1のデバイスから第1の鍵を受信する。第1の鍵は、暗号化された第1のデータを解読するために使用される。たとえば、第1のデバイスは、暗号化された第1のデータを取得するために第1のデータを暗号化する。520から、方法500は530に進む。
【０１４２】
530において、データ交換プラットフォームは、受信された第1の鍵を第2のユーザに関連する第2のデバイスに送信する。いくつかの実装形態では、受信された第1の鍵を送信する前に、データ交換プラットフォームは、第2のユーザに関連する第2のデバイスから第2の鍵を受信する。第2の鍵は、暗号化された第2のデータを解読するために使用され、第2のデータは、データ交換合意に関連付けられる。たとえば、第2のデータは、データ交換合意に従って、第2のユーザから第1のユーザに転送されることになるデータである。受信された第1の鍵を送信した後で、受信された第2の鍵は、データ交換プラットフォームによって第1のユーザに関連する第1のデバイスに送信される。第1のデバイスは、第2のデータを取得するために、第2の鍵に基づいて、第2のデバイスから受信された、暗号化された第2のデータを解読する。530から、方法500は540に進む。
【０１４３】
540において、第1のデバイスは、データ交換プラットフォームを通過せずに、暗号化された第1のデータを第2のデバイスに送信する。いくつかの実装形態では、暗号化された第1のデータにデータ交換プラットフォームを通過させる代わりに、第1のデバイスは、データ交換プラットフォームが暗号化された第1のデータを他の目的(たとえば、第1のユーザと第2のユーザとの間のデータ交換合意に定義されていない行為)で使用すること、または第2のデバイスに送信する前に、暗号化された第1のデータに無許可の変更を行うことを回避するために、暗号化された第1のデータを第2のデバイスに直接送信する。いくつかの実装形態では、暗号化された第1のデータは、第1のデバイスの標準送信インターフェースを介して第2のデバイスに送信される。標準送信インターフェースは、データ交換プラットフォームによって定義され、異なるデバイス同士の間で送信するために使用されるユニバーサルインターフェースである。540から、方法500は550に進む。
【０１４４】
550において、第2のデバイスは、第1のデータを取得するために、第1の鍵に基づいて、暗号化された第1のデータを解読する。いくつかの実装形態では、受信された第1の鍵を送信した後で、かつ受信された第2の鍵を送信する前に、データ交換プラットフォームは、第1のデータに関する確認情報を第2のユーザに関連する第2のデバイスから受信する。第1のデータに関する確認情報は、取得された第1のデータがデータ交換合意に一致すると第2のユーザが判定することを示す。
【０１４５】
いくつかの実装形態では、第1のデータに関する確認情報を受信した後で、データ交換プラットフォームは、第2のデータに関する確認情報を第1のユーザに関連する第1のデバイスから受信する。第2のデータに関する確認情報は、取得された第2のデータがデータ交換合意に一致すると第1のユーザが判定することを示す。第1のユーザと第2のユーザとの間のデータ交換がデータ交換合意に従って達成されたことを示す記録は、データ交換プラットフォームによってブロックチェーン内に書き込まれる。記録は、データ交換プラットフォームによって記憶される。
【０１４６】
いくつかの実装形態では、受信された第1の鍵を送信する前に、第3のデータがデータ交換プラットフォームによって第2のユーザに関連する第2のデバイスから受信される。第3のデータは、データ交換合意に関連付けられる。たとえば、第3のデータは、データ交換プラットフォームを介して交換され得るデータである。受信された第1の鍵を送信した後で、事前定義された条件が満たされるとき、受信された第3のデータは、データ交換プラットフォームによって第1のユーザに関連する第1のデバイスに送信される。いくつかの実装形態では、事前判定された条件は、データ交換プラットフォームが第2のデバイスから命令を受信することを含む。命令は、受信された第3のデータを第1のデバイスに送信するようにデータ交換プラットフォームに命令する命令である。
【０１４７】
いくつかの実装形態では、データ交換合意は、第1のデータの特性情報を含む。第1のデータの特性情報は、第2のデバイスによって収集される。第1のデータの特性情報は、第1のデータの完全性を検証するためのメッセージダイジェスト、および第1のデータの特定の内容を要約するための基本情報のうちの少なくとも1つを含む。第1のデータの収集された特性情報に基づいて、取得された第1のデータがデータ交換合意に一致するかどうかに関する判定が第2のデバイスによって行われる。第1のデータの収集された特性情報に基づいて、取得された第1のデータがデータ交換合意に一致すると判定された場合、第2のデバイスは、第1のデータに関する確認情報をデータ交換プラットフォームに送信する。第1のデータの収集された特性情報に基づいて、取得された第1のデータがデータ交換合意に一致しないと判定された場合、第2のデバイスは、第1のデータに関する確認情報をデータ交換プラットフォームに送信しないことになる。550の後、方法500は停止する。
【０１４８】
本明細書で説明した主題の実装形態および機能的動作は、デジタル電子回路内で、有形に実施されるコンピュータソフトウェアまたはコンピュータファームウェア内で、本明細書で開示する構造およびその構造的均等物を含めてコンピュータハードウェア内で、またはそれらのうちの1つまたは複数の組合せの中で実装され得る。説明した主題のソフトウェア実装形態は、1つまたは複数のコンピュータプログラム、すなわち、コンピュータシステムまたはコンピュータ実装システムによって実行するための、またはその動作を制御するための、有形の、非一時的コンピュータ可読媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加で、プログラム命令は、人工的に生成された伝搬信号、たとえば、コンピュータシステムまたはコンピュータ実装システムによって実行するために受信装置に送信するための情報を符号化するように生成された、機械生成された電子信号、光信号、または電磁信号内/上で符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはコンピュータ記憶媒体の組合せであってよい。1つまたは複数のコンピュータを構成することは、ソフトウェアが1つまたは複数のコンピュータによって実行されるとき、特定のコンピューティング動作が実行されるように、1つまたは複数のコンピュータが、ハードウェア、ファームウェア、もしくはソフトウェア(または、ハードウェア、ファームウェア、およびソフトウェアの組合せ)をインストールしていることを意味する。
【０１４９】
「リアルタイム(real-time)」、「リアルタイム(real time)」、「リアルタイム(realtime)」、「リアル(ファスト)タイム(RFT:real (fast) time)」、「ほぼリアルタイム(NRT:near(ly)real-time)」、「準リアルタイム」、または(当業者が理解する)同様の用語は、個人が実質的に同時に生じる行為および応答を認知するように、行為および応答が時間的に近接していることを意味する。たとえば、データにアクセスするための個人の行為に続く、データを表示する応答のための(または、表示を開始するための)時差は、1ミリ秒(ms)未満、1秒(s)未満、または5s未満であり得る。依頼されたデータは瞬時に表示され(または、表示が開始され)なくてもよいが、説明したコンピューティングシステムの処理制限、および、たとえば、データを集め、正確に測定し、分析し、処理し、記憶し、または送信するために必要とされる時間を考慮に入れて、意図的な遅延を伴わずに表示される(または、表示が開始される)。
【０１５０】
「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」(または、当業者が理解するような同等の用語)という用語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含めて、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。コンピュータは、専用論理回路、たとえば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)であってもよく、またはそれらをさらに含んでもよい。いくつかの実装形態では、コンピュータもしくはコンピュータ実装システム、または専用論理回路(あるいは、コンピュータシステムもしくはコンピュータ実装システムと専用論理回路の組合せ)は、ハードウェアベースもしくはソフトウェアベース(または、ハードウェアベースとソフトウェアベースの両方の組合せ)であってよい。コンピュータは、任意で、コンピュータプログラムのための実行環境を作り出すコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組合せを構成するコードを含み得る。本開示は、何らかのタイプのオペレーティングシステム、たとえば、LINUX、UNIX（登録商標）、WINDOWS（登録商標）、MAC OS、ANDROID（登録商標）、IOS、別のオペレーティングシステム、またはオペレーティングシステムの組合せを備えた、コンピュータシステムまたはコンピュータ実装システムの使用を企図する。
【０１５１】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、または他の構成要素と呼ばれることがあるか、またはそれらとして説明されることもあるコンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含めて、任意の形式のプログラミング言語で書き込まれてよく、コンピュータプログラムは、コンピューティング環境で使用するために、たとえば、スタンドアロンプログラム、モジュール、構成要素、またはサブルーチンを含めて、任意の形式で展開されてよい。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、そうでなくてもよい。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語文書内、当該プログラム専用の単一ファイル内、または複数の協調ファイル、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル内に記憶された1つまたは複数のスクリプトを保有するファイルの部分の中に記憶され得る。コンピュータプログラムは、1つのコンピュータ上、または1つのサイト上に配置された、または複数のサイトにわたって分散され、通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開され得る。
【０１５２】
様々な図面で示したプログラムの部分は、様々なオブジェクト、方法、または他のプロセスを使用して、説明した特徴および機能性を実装する、ユニットまたはモジュールなど、個々の構成要素として示されることがあるが、プログラムは、代わりに、適宜に、いくつかのサブユニット、サブモジュール、第三者サーバ、構成要素、ライブラリ、および他の構成要素を含んでもよい。逆に、様々な構成要素の特徴および機能性は、適宜、単一の構成要素内に組み込まれてもよい。計算上の判定を行うために使用されるしきい値は、静的に、動的に、または静的と動的の両方で判定されてよい。
【０１５３】
説明した方法、プロセス、または論理フローは、本開示に整合する機能性の1つまたは複数の例を表し、本開示を説明したまたは示した実装形態に限定することを意図せず、説明した原理および特徴に整合する最大範囲が与えられるべきである。説明した方法、プロセス、または論理フローは、入力データに関して動作し、出力データを生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する、1つまたは複数のプログラマブルコンピュータによって実行され得る。これらの方法、プロセス、または論理フローは、専用論理回路、たとえば、CPU、FPGA、またはASICによって実行されてもよく、コンピュータはそれらとして実装されてもよい。
【０１５４】
コンピュータプログラムの実行のためのコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサ、両方、または別のタイプのCPUに基づいてよい。概して、CPUは、命令およびデータをメモリから受信し、命令およびデータをメモリに書き込むことになる。コンピュータの必須要素は、命令を実行(performing)または実行(executing)するためのCPU、および命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むことになるか、またはそれらからデータを受信し、もしくはそれらにデータを転送し、またはその両方をするように動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有さなくてもよい。その上、コンピュータは、別のデバイス、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオプレーヤーもしくはモバイルビデオプレーヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルメモリ記憶デバイス内に埋め込まれてもよい。
【０１５５】
コンピュータプログラム命令およびデータを記憶するための非一時的コンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、およびフラッシュメモリデバイス;磁気デバイス、たとえば、テープ、カートリッジ、カセット、内蔵/リムーバブルディスク;光磁気ディスク;および光メモリデバイス、たとえば、デジタル多用途/ビデオディスク(DVD)、コンパクトディスク(CD)ROM、DVD+/-R、DVD-RAM、DVD-ROM、高解像度/密度(HD)-DVD、およびBLU-RAY/BLU-RAY DISC(BD)、ならびに他の光メモリ技術を含めて、すべての形式の永続的/非永続的または揮発性/不揮発性のメモリ、媒体、およびメモリデバイスを含み得る。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベース表、動的情報を記憶するリポジトリ、または、任意のパラメータ、変数、アルゴリズム、命令、規則、制約、または基準を含む他の適切な情報を含めて、様々なオブジェクトまたはデータを記憶することができる。加えて、メモリは、ログ、ポリシー、セキュリティデータもしくはアクセスデータ、または報告ファイルなど、他の適切なデータを含み得る。プロセッサおよびメモリは、専用論理回路によって補強されてよいか、または専用論理回路内に組み込まれてよい。
【０１５６】
ユーザとの対話を提供するために、本明細書で説明した主題の実装形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、またはプラズマモニタ、ならびにキーボードおよびポインティングデバイス、たとえば、ユーザがコンピュータに入力を提供し得る、マウス、トラックボール、またはトラックパッドを有するコンピュータ上で実装され得る。入力は、感圧性を備えたタブレットコンピュータの表面、容量性感知または電気感知を使用したマルチタッチスクリーン、または別のタイプのタッチスクリーンなど、タッチスクリーンを使用してコンピュータに提供されてもよい。他のタイプのデバイスを使用して、ユーザと対話することもできる。たとえば、ユーザに提供されるフィードバックは、任意の形式の知覚フィードバック(視覚フィードバックタイプ、聴覚フィードバックタイプ、触覚フィードバックタイプ、またはフィードバックタイプの組合せなど)であってよい。ユーザからの入力は、音響入力、音声入力、または触覚入力を含めて、任意の形式で受信され得る。加えて、コンピュータは、ユーザによって使用されるクライアントコンピューティングデバイスに文書を送信すること、およびそこから文書を受信することによって(たとえば、ユーザのモバイルコンピューティングデバイス上のウェブブラウザから受信された依頼に応答して、ウェブページをそのウェブブラウザに送信することによって)ユーザと対話することができる。
【０１５７】
「グラフィカルユーザインターフェース」または「GUI」という用語は、1つまたは複数のグラフィカルユーザインターフェースおよび特定のグラフィカルユーザインターフェースのディスプレイの各々を説明するために単数形または複数形で使用されることがある。したがって、GUIは、限定はしないが、ウェブブラウザ、タッチスクリーン、または情報を処理し、情報結果をユーザに効率的に提示するコマンドラインインターフェース(CLI)を含めて、任意のグラフィカルユーザインターフェースを表し得る。概して、GUIは、双方向フィールド、プルダウンリスト、およびボタンなど、いくつかまたはすべてがウェブブラウザに関連する、いくつかのユーザインターフェース(UI)要素を含み得る。これらのおよび他のUI要素は、ウェブブラウザの機能に関係し得るか、またはそれらの機能を表し得る。
【０１５８】
本明細書で説明した主題の実装形態は、たとえば、データサーバなど、バックエンド構成要素を含む、もしくはミドルウェア構成要素、たとえば、アプリケーションサーバを含む、またはフロントエンド構成要素、たとえば、それを介してユーザが本明細書で説明した主題の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、あるいはそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素のうちの1つまたは複数の任意の組合せを含む、コンピューティングシステム内で実装され得る。システムの構成要素は、任意の形式のまたは任意の媒体のワイヤラインまたはワイヤレスのデジタルデータ通信(または、データ通信の組合せ)、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WIMAX)、たとえば、802.11a/b/g/nもしくは802.20(または、802.11xと802.20の組合せ、あるいは本開示に整合する他のプロトコル)  を使用するワイヤレスローカルエリアネットワーク(WLAN)、インターネットのすべてまたは一部、別の通信ネットワーク、または通信ネットワークの組合せを含む。通信ネットワークは、たとえば、インターネットプロトコル(IP)パケット、フレームリレーフレーム、非同期転送モード(ATM)セル、ボイス、ビデオ、データ、またはネットワークノード同士の間の他の情報を通信し得る。
【０１５９】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して、互いと遠隔にあり、典型的に、通信ネットワークを介して通信する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行し、互いとクライアント-サーバ関係を有するコンピュータプログラムにより生じる。
【０１６０】
本明細書は多くの特定の実装詳細を含むが、これらは、任意の発明的概念の範囲または特許請求され得る範囲に対する限定と解釈されるべきではなく、特定の発明的概念の特定の実装形態に特定であり得る特徴の説明と解釈されるべきである。別個の実装形態の文脈で本明細書において説明したいくつかの特徴は、単一の実装形態で、組み合わせて実装されてもよい。逆に、単一の実施形態の文脈で説明した様々な特徴は、別個に複数の実装形態で、または任意の部分的な組合せで実装されてもよい。その上、すでに説明した特徴は、いくつかの組合せで作用するとして説明され、当初、そのように特許請求されている場合すらあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除される場合があり、特許請求される組合せは、部分的な組合せまたは部分的な組合せの変形に関する場合もある。
【０１６１】
主題の特定の実装形態について説明してきた。説明した実装形態の他の実装形態、代替案、および置換は、当業者に明らかになるような、以下の特許請求の範囲内である。動作は図面または請求項において特定の順序で示されるが、これは、所望の結果を達成するために、そのような動作が、示した特定の順序で、または順番に実行される、またはすべての示した動作が実行されるべきである(いくつかの動作は、任意と見なされてよい)と理解するべきではない。状況によっては、マルチタスキングもしくは並行処理(または、マルチタスキングと並行処理の組合せ)は有利であり得、適切と見なされる場合、実行され得る。
【０１６２】
その上、すでに説明した実装形態内の様々なシステムモジュールおよび構成要素の分離または統合は、そのような分離または統合がすべての実装形態において要求されると理解されるべきではなく、説明したプログラム構成要素およびシステムは、概して、単一のソフトウェア製品内に一緒に統合されてよいか、または複数のソフトウェア製品内に梱包されてもよいことを理解されたい。
【０１６３】
したがって、すでに説明した例示的な実装形態は、本開示を定義または制約しない。本開示の趣旨および範囲から逸脱せずに、他の変更、置換、および代替案も可能である。
【０１６４】
さらに、任意の特許請求される実装形態は、少なくともコンピュータ実装方法;コンピュータ実装方法を実行するためのコンピュータ可読命令を記憶した、非一時的コンピュータ可読媒体;およびコンピュータ実装方法または非一時的コンピュータ可読媒体上に記憶された命令を実行するように構成されたハードウェアプロセッサに相互作用可能に結合されたコンピュータメモリを含むコンピュータシステムに適用可能と見なされる。
【符号の説明】
【０１６５】
501  書込みユニット
502  第1の受信ユニット
503  第1の送信ユニット
504  第3の受信ユニット
505  第3の送信ユニット
506  第4の受信ユニット
507  第5の受信ユニット
508  書込みユニット
509  第2の受信ユニット
510  第2の送信ユニット
【図１】
0006797308.tif 000002
【図２】
0006797308.tif 000003
【図３】
0006797308.tif 000004
【図４】
0006797308.tif 000005
【図５】
0006797308.tif 000006