IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 中興通訊股▲ふん▼有限公司の特許一覧

特許7488379プロキシ方法、装置及びコンピュータ可読記憶媒体
<>
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図1
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図2
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図3
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図4
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図5
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図6
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図7
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図8
  • 特許-プロキシ方法、装置及びコンピュータ可読記憶媒体 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】プロキシ方法、装置及びコンピュータ可読記憶媒体
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240514BHJP
   H04L 9/32 20060101ALI20240514BHJP
   G06F 21/64 20130101ALI20240514BHJP
   G06F 21/60 20130101ALI20240514BHJP
【FI】
G06F21/62 345
H04L9/32 200Z
H04L9/32 200B
G06F21/64
G06F21/60 320
【請求項の数】 13
(21)【出願番号】P 2022581656
(86)(22)【出願日】2021-06-28
(65)【公表番号】
(43)【公表日】2023-07-27
(86)【国際出願番号】 CN2021102766
(87)【国際公開番号】W WO2022001960
(87)【国際公開日】2022-01-06
【審査請求日】2022-12-28
(31)【優先権主張番号】202010599762.3
(32)【優先日】2020-06-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】100112656
【弁理士】
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】曽鳴
(72)【発明者】
【氏名】王徳政
(72)【発明者】
【氏名】郭海生
(72)【発明者】
【氏名】屠要峰
(72)【発明者】
【氏名】張強
(72)【発明者】
【氏名】周治中
【審査官】岸野 徹
(56)【参考文献】
【文献】特表2018-516030(JP,A)
【文献】特開2020-025232(JP,A)
【文献】米国特許出願公開第2020/0167346(US,A1)
【文献】中国特許出願公開第109377221(CN,A)
【文献】国際公開第2008/099739(WO,A1)
【文献】国際公開第2019/190872(WO,A1)
【文献】特開2016-134133(JP,A)
【文献】米国特許出願公開第2020/0204524(US,A1)
【文献】国際公開第2019/116250(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
H04L 9/32
G06F 21/64
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
第1のプロキシサーバーよって実行されるプロキシ方法であって、
ユーザの、取引要求とプライベートデータを含む取引データを取得することと、
前記第1のプロキシサーバーの記憶層を利用して前記プライベートデータを記憶し、且つブロックチェーンプラットフォームに前記取引要求を送信することであって前記取引要求は、前記ブロックチェーンプラットフォーム前記取引要求に応じて取引を完成するために用いられることと、
取引を完成した後、前記プライベートデータを、相手プロキシサーバーに送信することであって、前記プライベートデータは、前記相手プロキシサーバーが取引検証を行うために用いられることとを含むプロキシ方法。
【請求項2】
前記の、ユーザの取引データを取得することの前に、
前記プライベートデータに基づいてダイジェストを生成し、且つ前記プライベートデータを暗号化して、且つ暗号化された前記プライベートデータに署名することと、
前記ダイジェスト及び前記署名に基づいて前記取引要求を生成することとをさらに含む請求項1に記載のプロキシ方法。
【請求項3】
前記の、取引を完成した後に前記プライベートデータを相手プロキシサーバーに送信することは、
前記相手プロキシサーバーにプッシュ要求を送信することと、
前記相手プロキシサーバーによって前記プッシュ要求に応じて送信された応答情報を受信することと、
前記応答情報に基づいて前記相手プロキシサーバーに前記プライベートデータを送信することであって前記プライベートデータは、前記相手プロキシサーバーが前記プライベートデータに基づいて前記取引検証を行うために用いられることとを含む請求項1に記載のプロキシ方法。
【請求項4】
前記の、前記応答情報に基づいて前記相手プロキシサーバーに前記プライベートデータを送信することは、
前記応答情報に基づいてGossipプロトコルによって前記相手プロキシサーバーに前記プライベートデータを送信することを含む請求項3に記載のプロキシ方法。
【請求項5】
前記プライベートデータの記憶時間が予め設定された保存時間を超えた場合、前記プライベートデータを削除することをさらに含む請求項1から4のいずれか一項に記載のプロキシ方法。
【請求項6】
前記相手プロキシサーバーの同期要求を受信し、且つ前記同期要求に応じて前記プライベートデータのダイジェストリストを返信することであって前記ダイジェストリストは、前記相手プロキシサーバーが前記ダイジェストリストに従って自身に記憶された前記プライベートデータと比較し、且つ前記相手プロキシサーバーがプライベートデータ欠落していると確定した場合、要求リストを返信するために用いられることと、
前記要求リストに従って、前記プライベートデータを前記相手プロキシサーバーに送信することとをさらに含む請求項1に記載のプロキシ方法。
【請求項7】
前記の、前記相手プロキシサーバーの同期要求を受信することは、
前記相手プロキシサーバーの同期要求の受信を定期的に実行することを含む請求項6に記載のプロキシ方法。
【請求項8】
第2のプロキシサーバーよって実行されるプロキシ方法であって、
相手プロキシサーバーによって送信されたプライベートデータを取得し、前記プライベートデータは前記相手プロキシサーバーに保存され、且つ前記相手プロキシサーバーからブロックチェーンプラットフォームに取引要求を送信することによって行われる取引を検証するために用いられることと、
前記プライベートデータに対する取引検証を行うこととを含むプロキシ方法。
【請求項9】
前記の、前記プライベートデータに対する取引検証を行うことは、
前記プライベートデータに対して署名検証を行い、前記プライベートデータを提供するユーザを確認することと、
前記プライベートデータを復号し、且つ復号された前記プライベートデータを比較ダイジェストに生成して、前記比較ダイジェストを前記相手プロキシサーバーのプライベートデータのダイジェストと比較し、前記プライベートデータが有効であるか否かを確認することとを含む請求項8に記載のプロキシ方法。
【請求項10】
前記相手プロキシサーバーに同期要求を送信することと、
前記プライベートデータのダイジェストリストを受信し、且つ前記ダイジェストリストに従って自身に記憶された前記プライベートデータと比較することであって、前記プライベートデータのダイジェストリストは、前記相手プロキシサーバーが同期要求に応じて返信するものであることと、
プライベートデータが欠落していると確定した場合、要求リストを前記相手プロキシサーバーに返信することであって前記要求リストは、前記相手プロキシサーバーが前記要求リストに従って前記プライベートデータを送信するために用いられることとをさらに含む請求項8に記載のプロキシ方法。
【請求項11】
前記の、前記相手プロキシサーバーに同期要求を送信することは、
前記相手プロキシサーバーへの同期要求の送信を定期的に実行することを含む請求項10に記載のプロキシ方法。
【請求項12】
メモリと、プロセッサと、メモリに記憶され且つプロセッサ上で実行可能なコンピュータプログラムとを備える装置であって、前記プロセッサが前記コンピュータプログラムを実行する際に、請求項1~11のいずれか一項に記載のプロキシ方法を実現する装置。
【請求項13】
請求項1~11のいずれか一項に記載のプロキシ方法を実行するためのコンピュータ実行可能命令が記憶されたコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、出願番号が202010599762.3で、出願日が2020年6月28日の中国特許出願に基づいて提出され、当該中国特許出願の優先権を主張し、当該中国特許出願の全内容はここに参考として本出願に組み込まれる。
【0002】
本出願はコンピュータ技術分野に関し、特にプロキシ方法、装置及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
現在の社会は情報が急速に成長する時代にあり、データは新しい商品として、その共有と取引は現在の技術と業務の新しいホットスポットになっている。従来の取引は、取引を達成するために第三者の取引センターに頼ることが多く、これらの取引センターの背後には、監督と裏書きを行う信頼できる機関があるため、取引過程全体が面倒で、長い時間がかかる。データは伝統的な商品と比べて大きな違いがあり、伝播と複製が容易で、個人と企業に関するプライバシーは秘密にする必要があるため、データ取引の過程のトレーサビリティとデータの完全性、信頼性に対してより高い要求があり、信頼でき、改ざん不可であり、トレーサビリティを有する取引手段が必要で、データ取引の安全な進行を保証する。
【0004】
ブロックチェーンは多方で共有される分散型記帳のデータベース技術であり、その技術の核心はブロックデータチェーン式ストレージとスマートコントラクトであり、読み取りと書き込みしかできず、変更と削除はできない。しかし、ブロックチェーンはデセンターのアーキテクチャであり、すべてのノードが共同で記帳に参加し、共同で帳簿を維持し、チェーンにアップロードされるデータはすべてのユーザに公開される。このような設計はデータのプライバシー保護に不利であり、プライバシーデータを直接チェーンにアップロードすれば、データ漏洩の問題がある。現在、ほとんどのブロックチェーンプラットフォームはプライバシーデータを効果的に保護できず、プライバシー漏洩のリスクがあり、特にクロスブロックチェーンプラットフォームの技術分野では、統一的で有効な解決方法がない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
以下は、本明細書に詳細に記載される主題の概要である。この概要は、特許請求の範囲を限定することを意図するものではない。
【0006】
本出願の実施例はプロキシ方法、装置及びコンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【0007】
第1の態様では、本出願の実施例が提供するプロキシ方法は、第1のプロキシに用いられるプロキシ方法であって、ユーザの、取引要求とプライベートデータを含む取引データを取得することと、前記プライベートデータをローカルに記憶し、且つブロックチェーンプラットフォームに前記取引要求を送信することにより、ブロックチェーンプラットフォームが前記取引要求に応じて取引を完成させることと、取引を完成した後、前記プライベートデータを、相手プロキシに送信して取引検証を行うこととを含む。
【0008】
第2の態様では、本出願の実施例が提供するプロキシ方法は、第2のプロキシに用いられるプロキシ方法であって、相手プロキシから送信されたプライベートデータを取得し、前記プライベートデータは、相手プロキシに保存され、且つ、相手プロキシからブロックチェーンプラットフォームに取引要求を送信することによって行われる取引を検証するために用いられることと、前記プライベートデータに取引検証を行うこととを含む。
【0009】
第3の態様では、本出願の実施例が提供する装置は、メモリと、プロセッサと、メモリに記憶され且つプロセッサ上で実行可能なコンピュータプログラムとを備え、前記プロセッサが前記コンピュータプログラムを実行する際に、上記第1の態様の実施例又は第2の態様の実施例に記載のプロキシ方法を実現する。
【0010】
第4の態様では、本出願の実施例が提供するコンピュータ可読記憶媒体は、上記第1の態様の実施例又は第2の態様の実施例に記載のプロキシ方法を実行するためのコンピュータ実行可能命令を記憶する。
【0011】
本発明の他の特徴及び利点は、以下の明細書において説明され、一部は、本明細書から明らかになるか、又は本出願の実施によって理解される。本出願の目的及び他の利点は、明細書、特許請求の範囲、及び図面において特に指摘される構造によって実現され、達成される。
【0012】
図面は、本出願の技術的解決手段を更に理解するためのものであり、本明細書の一部を構成するものであり、本出願の実施例と共に、本出願の技術的解決手段を説明するためのものであり、本出願の技術的解決手段を制限するものではない。
【図面の簡単な説明】
【0013】
図1】本出願の一実施例によるシステムアーキテクチャプラットフォームの概略図である。
図2】本出願の一実施例によるプロキシ方法のフローチャートである。
図3】本出願の他の実施例によるプロキシ方法のフローチャートである。
図4】本出願の他の実施例によるプロキシ方法のフローチャートである。
図5】本出願の他の実施例によるプロキシ方法のフローチャートである。
図6】本出願の他の実施例によるプロキシ方法のフローチャートである。
図7】本出願の実施例1の配置過程のフローチャートである。
図8】本出願の実施例1の取引過程のフローチャートである。
図9】本出願の実施例1のデータ取得過程を示すフローチャートである。
【発明を実施するための形態】
【0014】
本出願の目的、技術的解決手段、及び利点をより明確にするために、以下では、図面及び実施例を参照しながら、本出願を更に詳細に説明する。ここで説明する具体的な実施例は、本出願を解釈するためのものに過ぎず、本出願を限定するものではない。
【0015】
なお、装置概略図において機能ブロック分割が実施され、フローチャートに論理的順序が示されているが、いくつかの場合によって、装置におけるモジュール分割又はフローチャートにおける順序と異なって、示されるステップ又は説明されるステップを実行してもよい。明細書、特許請求の範囲、又は前述の図面における用語「第1の」、「第2の」などは、類似する対象を区別するために用いられ、必ずしも特定の順序又は前後順序を記述するために用いられるものではない。
【0016】
ブロックチェーンは多方で共有される分散型記帳のデータベース技術であり、その技術の核心はブロックデータチェーン式ストレージとスマートコントラクトであり、読み取りと書き込みしかできず、変更と削除はできない。ブロックチェーンは、信頼できないネットワークにおける価値伝達の問題に重点を置いている。ブロックチェーン技術によるデータ取引は、取引の信頼性とトレーサビリティを保証するだけでなく、第三者介入の段階を減らし、取引効率を高めることもできる。ブロックチェーンはデセンターのアーキテクチャであり、すべてのノードが共同で記帳に参加し、共同で帳簿を維持し、チェーンにアップロードされるデータはすべてのユーザに公開される。このような設計はデータのプライバシー保護に不利であり、プライバシーデータを直接チェーンにアップロードすれば、データ漏洩の問題がある。
【0017】
現在、ブロックチェーンプラットフォームはプライバシーデータを効果的に保護できず、プライバシー漏洩のリスクが依然としてあり、特にクロスブロックチェーンプラットフォームの技術分野では、統一的で有効な解決方法がない。これに対して、本出願はプロキシ方法、プロキシノード、装置及びコンピュータ可読記憶媒体を提供し、ユーザの、取引要求とプライベートデータを含む取引データを取得し、続いてブロックチェーンプラットフォームに取引要求を送信し、ブロックチェーンプラットフォームは取引要求に応じて取引を完成し、且つプライベートデータをローカルに記憶し、取引を完成した後にプライベートデータを相手プロキシに送信して取引検証を行う。このように、ブロックチェーン技術の改ざん不可という特性を利用して、取引の信頼性とトレーサビリティを保証する。また、プライベートデータは取引双方のローカルプロキシ間でのみ取引を行い、且つプライベートデータはローカルに記憶され、すなわちプライベートデータはブロックチェーンプラットフォームを通じてチェーンにアップロードしない。ブロックチェーンプラットフォームのプライベートデータが漏洩しやすいという問題を効果的に解決し、取引の安全性が高く、プライベートデータを効果的に保護する役割を果たし、クロスブロックチェーンプラットフォームに適し、且つプライベートデータをチェーンにアップロードする必要がなく、それによって大量の記憶空間の占有を減らすことができる。
【0018】
以下、図面を参照して本出願の技術的解決手段を明確且つ完全に説明するが、以下に述べる実施例は本出願の一部の実施例であり、全ての実施例ではない。
【0019】
図1を参照すると、図1は、本出願の一実施例によるプロキシ方法を実行するためのシステムアーキテクチャプラットフォーム100の概略図である。
【0020】
図1に示す実施例では、システムアーキテクチャプラットフォーム100は、サービス層120と、通信層150と、記憶層160とを含む。ここで、サービス層120は、ブロックチェーンプラットフォームに取引要求を提出し、プライベートデータの記憶を通知するために用いられる。通信層150はプロキシモジュールの間に通信接続を確立するために用いられる。データベースは、ユーザのプライベートデータを記憶するために用いられる。ブロックチェーンプラットフォームに基づいて取引する時、ユーザの、取引要求及びプライベートデータを含む取引データを取得することによって、サービス層120を利用してブロックチェーンプラットフォームに取引要求を送信する。ブロックチェーンプラットフォームは、取引要求に応じて取引を完成し、且つ記憶層160によってプライベートデータをローカルに記憶し、取引を完成した後、通信層150を利用して相手プロキシと通信接続を確立し、且つプライベートデータを相手プロキシに送信して取引検証を行い、それにより取引を完成する。
【0021】
該システムアーキテクチャプラットフォーム100はプロキシ方法を実行するプロキシモジュールとして理解されてもよい。該プロキシモジュールはブロックチェーンプラットフォームの記帳ノードに配置され、すなわち取引双方はプロキシモジュールによってブロックチェーンプラットフォームに接続されて取引を行う。このように、ブロックチェーン技術の改ざん不可という特性を利用して、取引の信頼性とトレーサビリティを保証する。また、プライベートデータは取引双方のローカルプロキシ間でのみ取引を行い、且つプライベートデータがプロキシモジュールに記憶され、ローカルに記憶される。取引過程において、プライベートデータはブロックチェーンプラットフォームを通じてチェーンにアップロードせず、プライベートデータは取引双方のプロキシモジュールの間でのみ完成する。このように、ブロックチェーンプラットフォームのプライベートデータが漏洩しやすいという問題を効果的に解決し、取引の安全性が高く、プライベートデータを効果的に保護する役割を果たし、且つプライベートデータをチェーンにアップロードする必要がなく、それによって大量の記憶空間の占有を減らすことができる。
【0022】
図1に示すように、具体的なプロキシモジュール構造を例に説明する。プロキシモジュールは、ユーザのためにブロックチェーンプラットフォームとローカルデータベースを接続し、ユーザがプライベートデータの取引を安全に完成するのを助ける。
【0023】
具体的には、プロキシモジュールは、適合層110、サービス層120、モデル層130、アクセス層140、通信層150及び記憶層160を含む。ここで、適合層110は、パッケージされた統一のインタフェースによって異なるブロックチェーンプラットフォームインタフェースに対応するように構成され、Hyperledger Fabric、Fisco Bcos、イーサリアムなどの異なる連盟チェーン、公私ブロックチェーンプラットフォームをサポートする。サービス層120は、主に、ブロックチェーンプラットフォームに取引を提出し、データ管理モジュールにプライベートデータの記憶及び同期機能を通知する役割を果たす。モデル層130は、スマートコントラクト、取引、プライベートデータ、構成を統一的にモデル化して、記憶及び取引のサポートを提供するために用いられる。アクセス層140は、Cliコマンドライン方式によって取引ユーザに対して、人間とコンピュータとのインタラクションを行って取引プロキシとデータ同期の機能を完成させるために用いられる。通信層150は、gossipプロトコルを使用して他のノードのプロキシモジュールと通信し、メッセージキューを使用して、他のプロキシモジュールから送信されたメッセージをキャッシュする。記憶層160はプロキシモジュールの構成情報とプライベートデータを記憶するために用いられる。ここで、構成初期化情報は、接続する必要があるブロックチェーンプラットフォームの種類、アドレス、ポート、チャネル情報及びアクセス採用の証明書などを設定するために用いられる。プライベートデータは、ローカルデータベースを用いて暗号化して記憶され、couchDB、RocksDBなどの常用データベースをサポートする。
【0024】
なお、ブロックチェーンプラットフォーム上で取引が行われる場合、取引の実行、取引の記録、及び取引ユーザのポイントアカウント振替操作の完成を担当するスマートコントラクトを介して取引を実行する。スマートコントラクトは、情報化された方法でコントラクトを伝播、検証、又は実行するためのコンピュータプロトコルであり、ブロックチェーンは、デセンターの信頼できる環境を提供する。そのため、スマートコントラクトはブロックチェーンと連携し、すなわち、スマートコントラクトはブロックチェーン技術に基づいて実現することができる。さらに、プロキシモジュールは、適合層110を介して統一されたインタフェースを提供することができる。これにより、異なるブロックチェーンプラットフォームをサポートすることができ、システムアーキテクチャプラットフォーム100をクロスブロックチェーンプラットフォームに適用し、現在のほとんどのブロックチェーンプラットフォームにプライバシー漏洩のリスクが存在する問題を解決することができる。
【0025】
本出願の実施例で説明されるシステムアーキテクチャプラットフォーム100及び応用シーンは、本出願実施例の技術案をより明確に説明するためであり、本出願実施例が提供する技術案に対する限定を構成するものではない。当業者であれば、システムアーキテクチャプラットフォーム100の進化と新しい応用シーンの出現に伴い、本出願の実施例が提供する技術案は類似の技術問題に対して同様に適用できることが分かるであろう。
【0026】
当業者は、図1に示すシステムアーキテクチャプラットフォーム100が、本出願の実施形態を限定するものではなく、図示したものよりも多いもしくは少ない要素、又は幾つかの要素の組み合わせ、又は異なる要素配置を含んでもよいことを理解するであろう。
【0027】
図1に示すシステムアーキテクチャプラットフォーム100において、適合層110、サービス層120、モデル層130、アクセス層140、通信層150、及び記憶層160は、協働してプロキシ方法を実行することができる。
【0028】
上述のシステムアーキテクチャプラットフォーム100に基づいて、本出願のプロキシ方法の様々な実施例を以下に示す。
【0029】
図2を参照すると、図2は、本出願の一実施例によるプロキシ方法のフローチャートであり、該プロキシ方法はステップS100、ステップS200、及びステップS300を含むが、これらに限定されない。
【0030】
ステップS100:ユーザの、取引要求及びプライベートデータを含む取引データを取得する。
【0031】
一実施例では、取引過程は、ブロックチェーン技術に基づいて実現される。取引の前に、ユーザの取引内容に基づいて取引データを生成し、その後、オンラインで取引データを送信する必要がある。ここで、取引内容は、取引双方のオフラインで合意された取引の詳細として理解されてもよい。取引双方は、取引データの生成及び符号化や復号化のために、アカウント及び公開鍵を相互に交換することができる。
【0032】
取引双方はプロキシモジュールによってブロックチェーンプラットフォームに接続されて取引を行う。具体的には、取引双方はブロックチェーンプラットフォームの記帳ノードに対応するプロキシモジュールを配置し、ローカルプロキシモジュールによって取引作業を完成する。一実施例では、ユーザの取引データを取得するステップは、プロキシモジュールによって実行され、取得された取引データは、取引要求とプライベートデータを含む。ここで、取引要求は、取引双方のアカウント、取引時間などを含んでもよく、プライベートデータは、個人識別情報などのプライバシー情報のデータを含んでもよい。
【0033】
ステップS200:プライベートデータをローカルに記憶し、ブロックチェーンプラットフォームに取引要求を送信することにより、ブロックチェーンプラットフォームは取引要求に従って取引を完成する。
【0034】
一実施例において、プライベートデータをローカルに記憶することは、ローカルプロキシモジュールを利用してプライベートデータを記憶することと理解されてもよい。具体的にはローカルプロキシモジュールの記憶層を利用してプライベートデータを記憶することである。同時に取引要求をブロックチェーンプラットフォームに送信する。プライベートデータをブロックチェーンプラットフォームに送信する必要がなく、すなわちプライベートデータをチェーンにアップロードせずに、取引要求のみをブロックチェーンプラットフォームに送信する。ブロックチェーンプラットフォームは、取引要求を受信した後、対応する取引を実行する。
【0035】
なお、取引要求にはブロックチェーンプラットフォームが取引を完成できるためのデータが含まれている。ブロックチェーンプラットフォームは取引要求に基づいて取引双方を識別できる前提で取引を完成し、プライベートデータはブロックチェーンプラットフォームに送信されないため、プライベートデータの漏洩を効果的に回避することができ、取引の安全性を高めるのに有利である。
【0036】
ステップS300:取引を完成した後、プライベートデータを相手プロキシに送信して取引検証を行う。
【0037】
一実施例では、ステップS200において、プライベートデータをローカルプロキシモジュールに記憶し、ブロックチェーンプラットフォームで取引を完成した後プライベートデータを相手プロキシに送信する。相手プロキシは取引相手に対応するプロキシとして理解されてもよい。例えば、買い手はデータプロバイダとして、買い手のプロキシは第1のプロキシであり、売り手はデータ需要側として、売り手のプロキシは第2のプロキシである。取引する時第1のプロキシはブロックチェーンプラットフォームに取引要求を送信して且つプライベートデータをローカルに記憶し、取引が完成した後、第1のプロキシは第2のプロキシにプライベートデータを送信して取引検証を行う。ここで、第2のプロキシは、第1のプロキシの相手プロキシとして理解されてもよい。
【0038】
従来の取引方法に対して、本実施例の取引過程においてプライベートデータはブロックチェーンプラットフォームによってチェーンにアップロードされることはなく、プライベートデータは直接プロキシの間で取引を行い、ブロックチェーンプラットフォームのプライベートデータが漏洩しやすいという問題を効果的に解決し、取引の安全性が高く、プライベートデータに対して有効な保護作用を果たす。また、プライベートデータはチェーンにアップロッドする必要がなく、すなわちチェーンにアップロードされるデータとプライベートデータを隔離し、取引のトレーサビリティを保証することができるだけでなく、プライベートデータのアップロードによる大量の記憶空間の占有とプライバシーの漏洩の問題を解決し、クロスブロックチェーンプラットフォームのデータプライバシーに対する保護性が悪いという問題を効果的に解決する。
【0039】
一実施例では、ステップS100、ステップS200及びステップS300は、第1のプロキシの実行フローであり、取引主体におけるデータプロバイダ側の実行ステップに属し、ステップS300における取引検証ステップは、相手プロキシで実行される。
【0040】
図3を参照すると、一実施例では、ステップS100において、ユーザの取引データを取得する前に、以下のステップが含まれるが、これらに限定されない。
【0041】
ステップS110:プライベートデータに基づいてダイジェストを生成し、プライベートデータを暗号化し、且つ暗号化されたプライベートデータに署名する。
【0042】
ステップS120:ダイジェスト及び署名に基づいて取引要求を生成する。
【0043】
具体的に、取引データを取得する前に、プライベートデータからダイジェストを生成し、該ダイジェストは、プライベートデータのコンテンツサマリーとして理解されてもよい。取引双方の公開鍵を利用してプライベートデータを暗号化し、且つ秘密鍵を利用して暗号化されたプライベートデータに署名する。ここで、公開鍵は取引双方が保有する公共の鍵として理解されてもよく、秘密鍵は取引双方が各自で保有する鍵として理解されてもよい。取引データのプロバイダは自己の秘密鍵を利用してプライベートデータに署名し、署名を利用してデータプロバイダの身元を確認することを容易にする。
【0044】
ローカルに記憶されたプライベートデータは、暗号化され署名されたデータであり、プライベートデータの安全性を保証する。ダイジェストと署名に基づいて取引要求を生成し、すなわち取引要求はダイジェストと署名を含むが、ダイジェストと署名のみに限定されず、例えば取引要求は取引双方のアカウントなどを含んでもよい。ローカルプロキシは、ダイジェストと署名を含む取引要求をブロックチェーンプラットフォームに送信する。ブロックチェーンプラットフォームは、取引を開始し、且つスマートコントラクトによって、2つのプロキシの間の取引記帳を完成し、取引記帳にプライベートデータのダイジェストと署名の情報を含む。このように、取引が遡及できることを確保し、安全性が高い。
【0045】
図4を参照すると、一実施例では、ステップS300において、取引を完成した後、プライベートデータを相手プロキシに送信して取引検証を行うことは、以下のステップを含むが、これらに限定されない。
【0046】
ステップS310:相手プロキシにプッシュ要求を送信する。
【0047】
ステップS320:相手プロキシがプッシュ要求によって送信した応答情報を受信する。
【0048】
ステップS330:応答情報に基づいて相手プロキシにプライベートデータを送信することにより、相手プロキシはプライベートデータに基づいて取引検証を行う。
【0049】
ローカルプロキシモジュールがブロックチェーンプラットフォームによって取引のチェーンへのアップロッドを完成した後、データプロバイダのプロキシモジュールによってデータ需要者のプロキシモジュールにプライベートデータのプッシュフローを開始する。
【0050】
具体的には、第1のプロキシはプライベートデータの送信側として、エージェンデータプロバイダを代理する。第2のプロキシは、プライベートデータの受信側として、データ需要者を代理する。これを例として説明し、以下のステップを含むがこれらに限定されない。
【0051】
ステップS311:第1のプロキシは、第2のプロキシにセキュアトランスポート層プロトコル(TLS)リンクを確立し、且つプッシュ要求を開始することにより、第2のプロキシは、プッシュ要求に応じて同意応答を返信し、且つ要求乱数を返信する。
【0052】
ステップS321:第1のプロキシは第2のプロキシの応答情報を受信し、且つ第2のプロキシにプライベートデータをプッシュして且つプッシュ履歴、ダイジェスト情報を含む。
【0053】
ステップS331:プライベートデータプッシュを完成した後、第1のプロキシは第2のプロキシに終了メッセージを送信する。
【0054】
ここで、プッシュ要求のパラメータは、第1のプロキシのID、チャネル番号、受信者のアカウント、取引ID及び乱数を含む。プッシュされたプライベートデータが大きい場合は、パケット送信が可能である。また、プライベートデータプッシュが完成すると、第2のプロキシはプライベートデータを検証してローカルに記憶し、これによってプライベートデータの送信を完成する。
【0055】
なお、第1のプロキシは、Gossipプロトコルによって第2のプロキシにプライベートデータを送信する。Gossipプロトコルは、分散式システムにおいて広く使用されるプロトコルであり、主に分散式ノード又はプロセス間の情報交換を実現するために用いられる。Gossipプロトコルは、同時に応用層マルチキャストプロトコルが要求する低負荷、高信頼性と拡張性の要求を満たす。
【0056】
図5を参照すると、一実施例では、プロキシ方法は、以下のステップを含むが、これらに限定されない。
【0057】
ステップS400:相手プロキシの同期要求を受信し、且つ同期要求に応じてプライベートデータのダイジェストリストを返信することにより、相手プロキシは、ダイジェストリストに従って自身に記憶されたプライベートデータと比較し、且つプライベートデータが欠落していると確定した場合、要求リストを返信する。
【0058】
ステップS500:要求リストに従って、プライベートデータを相手プロキシに送信する。
【0059】
ここで、同期要求はプライベートデータの同期要求として理解されてもよい。プライベートデータの送信過程にデータの紛失又は送信失敗の状況が存在するため、プライベートデータが取引双方のプロキシ記憶における一致性を保証し、取引検証の要求を満たすために、プライベートデータ送信が完成した後、相手プロキシに対して同期要求を開始する。
【0060】
具体的なプライベートデータの同期過程は以下のとおりである。
【0061】
ステップS410:第1のプロキシは第2のプロキシからの同期要求を受信する。
【0062】
ステップS420:第1のプロキシは同期要求に応じて条件を満たすプライベートデータのダイジェストリスト及び要求乱数を返信することにより、第2のプロキシは自身に記憶されたプライベートデータのダイジェストと比較した後、欠落したプライベートデータを決定し、且つ第2のプロキシは第1のプロキシに要求リストを送信する。
【0063】
ステップS510:第1のプロキシは要求リストに従って順に第2のプロキシにプライベートデータをプッシュする。
【0064】
ステップS520:すべてのプライベートデータプッシュが完成した後、第1のプロキシは第2のプロキシにプッシュ終了メッセージを送信する。
【0065】
ここで、同期要求の情報は、プロキシID、同期データの範囲フィルタパラメータ(例えば、時間、アカウント、取引IDなど)及び乱数(今回要求を表記する)を含む。第2のプロキシは、TLSリンクを介してプライベートデータの同期要求を第1のプロキシに送信する。また、プライベートデータプッシュが完成すると、第2のプロキシはプライベートデータを検証し、ローカルに記憶する。
【0066】
なお、プライベートデータの同期フローは、すべてのプロキシが定期的に実行され、すなわち、一実施例では、第1のプロキシが定期的に第2のプロキシの同期要求を受信し、これにより、プライベートデータ紛失の問題を効果的に解決する。
【0067】
一実施例では、プロキシ方法は、以下のステップを含むがこれらに限定されない。
【0068】
ステップS600:プライベートデータの記憶時間が予め設定された保存時間を超えた場合、プライベートデータを削除する。
【0069】
プライベートデータは、ローカルのプロキシモジュールに記憶される。例えば、第1のプロキシのプライベートデータは、第1のプロキシのエージェンモジュール上に記憶され、第2のプロキシのプライベートデータは、第2のプロキシのエージェンモジュール上に記憶される。エージェンモジュールは、十分な記憶空間を有することを保証するために、ローカルに記憶されたプライベートデータを定期的にクリアする。
【0070】
図6を参照すると、本出願の別の実施例によるプロキシ方法であって、該プロキシ方法は取引主体においてデータ需要者側で実行されるステップであり、このプロキシ方法ステップを実行する主体は、実施例のステップS300における相手プロキシである。
【0071】
具体的には、該プロキシ方法は、以下のステップを含むが、これらに限定されない。
【0072】
ステップS101:相手プロキシによって送信されたプライベートデータを取得し、プライベートデータは相手プロキシに保存され、且つ相手プロキシからブロックチェーンプラットフォームに取引要求を送信することによって行われる取引を検証するために用いられる。
【0073】
ステップS201:プライベートデータに対する取引検証を行う。
【0074】
第1のプロキシがデータプロバイダを代理し、第2のプロキシがデータ需要者を代理することを例に説明すると、本実施例における相手プロキシは第1のプロキシであり、第2のプロキシは第1のプロキシによって送信されたプライベートデータを取得し、プライベートデータに対して取引検証を行う。第1のプロキシが第2のプロキシにプライベートデータを送信するフローは、図2に示す実施例のフローを参照してよく、ここでは繰り返さない。
【0075】
一実施例では、ステップS201において、プライベートデータに対する取引検証は、以下のステップを含むが、これらに限定されない。
【0076】
ステップS211:プライベートデータに対して署名検証を行い、プライベートデータを提供するユーザを確認する。
【0077】
ステップS212:プライベートデータを復号し、且つ復号されたプライベートデータを比較ダイジェストに生成して、比較ダイジェストを相手プロキシのプライベートデータのダイジェストと比較し、プライベートデータが有効であるか否かを確認する。
【0078】
具体的には、第2のプロキシは受信したプライベートデータをローカルに記憶し、データ需要者は第2のプロキシによってプライベートデータを取得し、且つ公開鍵を利用してプライベートデータに署名検証を行い、該プライベートデータを提供するユーザの身元を確認する。例えば、検証された署名が一致すれば、該プライベートデータのデータプロバイダが取引の対象であることを確認する。
【0079】
署名検証された後、第2のプロキシは秘密鍵を利用してプライベートデータを復号し、且つ復号されたプライベートデータを比較ダイジェストに生成する。該比較ダイジェストを利用して第1のプロキシによって送信されたプライベートデータのダイジェストと比較し、該プライベートデータが改ざんされたか否かを判断することができる。比較ダイジェストと送信されたダイジェストが一致しなければ、プライベートデータが改ざんされたと見なすことができ、取引過程を遡ることができ、それによりデータ取引の安全性を保証する。
【0080】
一実施例では、プロキシ方法は、以下のステップを含むがこれらに限定されない。
【0081】
ステップS301:相手プロキシに同期要求を送信する。
【0082】
ステップS302:受信相手プロキシが同期要求に応じてプライベートデータのダイジェストリストを返信し、且つダイジェストリストに従って自身に記憶されたプライベートデータと比較する。
【0083】
ステップS303:プライベートデータが欠落していると確定した場合、要求リストを相手プロキシに返信することにより、相手プロキシは要求リストに従ってプライベートデータを送信する。
【0084】
本実施例における相手プロキシは第1のプロキシである。第2のプロキシは相手プロキシに同期要求を送信する。第1のプロキシは該同期要求に応じてプライベートデータのダイジェストリストを返信する。第2のプロキシはダイジェストリストに従って自身に記憶されたプライベートデータと比較し、プライベートデータに欠落が存在するか否かを確認する。第2のプロキシは、欠落したプライベートデータを確定した場合、第1のプロキシに要求リストを返信する。第1のプロキシは、該要求リストに従ってプライベートデータを送信する。これにより、プライベートデータの同期動作を完成する。ここで、同期フローにおいて、第1のプロキシが第2のプロキシにプライベートデータを送信するステップは、上述の実施例のステップS410からステップS520までのフローを参照することができ、ここでは繰り返さない。
【0085】
なお、プライベートデータの同期フローは、すべてのプロキシが定期的に実行される。第2のプロキシが定期的に第1のプロキシに同期要求することにより、第1のプロキシと第2のプロキシに記憶されたプライベートデータとの一致性を保証する。
【0086】
上述した各実施例におけるプロキシ方法の具体的なステップフローをより明確に説明するために、以下、2つの実施例によって説明する。
【0087】
実施例1:
Fabricプラットフォームのプライバシーデータ取引実施過程を例にとり、配置、取引、及びデータ取得過程が含まれる。
【0088】
図7に示すように、配置過程は以下のステップを含む。
【0089】
ステップS701:プロキシプログラムをローカルブロックチェーンノードが位置する環境に配置し、且つ証明書をcert証明書ディレクトリに配置し、且つインストールする必要があるスマートコントラクトをcontractsディレクトリに対応する言語に置く。
【0090】
ステップS702:config/config.yamlプロファイルを修正し、対応するブロックチェーンプラットフォームタイプを設定し、ローカルストレージDBアドレスを置き換え、相手プロキシアドレスを設定する。
【0091】
ステップS703:config/config.yamlプロファイルを修正し、ローカル対応のブロックチェーンプラットフォームの関連設定を完成する。
【0092】
ステップS704:プロキシ開始コマンドを実行し、プロキシサービスプログラムを起動する。
【0093】
ステップS705:配置過程を終了する。
【0094】
ここで、fabricプラットフォームは、組織名、peer及びordererアドレス、及び証明書構成を含む。
【0095】
図8に示すように、配置過程は以下のステップを含む。
【0096】
ステップS706:ユーザAは第1のプロキシによって取引を提出し、暗号化されたプライベートデータ、ダイジェスト、署名、ユーザBの所属組織とアカウントを含む。
【0097】
ステップS707:第1のプロキシはブロックチェーンプラットフォームに取引を開始し、スマートコントラクトによって取引記帳を完成する。
【0098】
ステップS708:第1のプロキシは暗号化されたプライベートデータをローカル記帳ノードにアップロードしてローカルデータベースに記憶する。
【0099】
ステップS709:第1のプロキシはユーザBが位置する記帳ノードの第2のプロキシにプライベートデータをプッシュし、第2のプロキシはプライベートデータを受信してローカルデータベースに記憶し、プライベートデータ取引を完成する。
【0100】
ここで、取引記帳はプライベートデータのダイジェスト情報を含み、取引が遡及できることを保証すると同時に、スマートコントラクトはユーザBのポイント控除とユーザAのポイント増加操作を自動的に完成することができる。
【0101】
図9に示すように、データ取得過程は以下のステップを含む。
【0102】
ステップS710:ユーザBは第2のプロキシにプライベートデータを取得し、取引アカウント、取引IDを提供する。
【0103】
ステップS711:第2のプロキシは取引アカウントと取引IDに基づいて該プライベートデータがユーザBに属することを確認し、且つユーザBにプライベートデータを取得するアドレスを返信する。
【0104】
ステップS712:ユーザBはアドレスによってプライベートデータを取得し、且つユーザAの公開鍵を利用してプライベートデータに署名検証を行い、該データがユーザAによって提供されるデータであることを確認する。
【0105】
ステップS713:ユーザBは秘密鍵を利用してプライベートデータを復号すると同時にプライベートデータに比較ダイジェストを生成し、ユーザAが提供するダイジェストと比較を行い、データが改ざんされていないことを確認する。
【0106】
ステップS714:プライベートデータ取得過程を終了する。
【0107】
実施例2:
クロスプラットフォーム(Fabric-Fscio)のプライバシーデータ取引実施過程を例にとり、配置、取引、及びデータ取得過程が含まれる。
【0108】
配置過程は以下のステップを含む。
【0109】
ステップS801:プロキシプログラムをローカルブロックチェーンノードが位置する環境に配置し、且つ証明書をcert証明書ディレクトリに配置し、且つインストールする必要があるスマートコントラクトをcontractsディレクトリに対応する言語に置く。
【0110】
ステップS802:config/config.yamlプロファイルを修正し、対応するブロックチェーンプラットフォームタイプを設定し、ローカルストレージDBアドレスを置き換え、相手プロキシアドレスを設定する。
【0111】
ステップS803:config/config.yamlプロファイルを修正し、ローカル対応のブロックチェーンプラットフォームの関連設定を完成する。
【0112】
ステップS804:プロキシ開始コマンドを実行し、プロキシサービスプログラムを起動する。
【0113】
ステップS805:配置過程を終了する。
【0114】
ここで、Fabricプラットフォームは、組織名、peer、ordererアドレス、暗号化アルゴリズム、及び証明書構成を含む。
【0115】
取引過程は以下のステップを含む。
【0116】
ステップS806:ユーザAは第1のプロキシによって取引を提出し、暗号化されたプライベートデータ、ダイジェスト、署名、取引者Bの所属組織とアカウントを含む。
【0117】
ステップS807:第1のプロキシはブロックチェーンプラットフォームに取引を開始し、スマートコントラクトによって取引記帳を完成する。
【0118】
ステップS808:第1のプロキシは暗号化データをローカルブロックチェーン記帳ノードにアップロードして且つローカルデータベースに記憶する。
【0119】
ステップS809:第1のプロキシはユーザBが位置する記帳ノードの第2のプロキシにプライベートデータをプッシュし、第2のプロキシはデータを受信して且つローカルデータベースに記憶し、プライベートデータ取引を完成する。
【0120】
ここで、取引記帳はプライベートデータのダイジェスト情報を含み、取引が遡及できることを保証すると同時に、スマートコントラクトはユーザBのポイント控除とユーザAのポイント増加操作を自動的に完成することができる。
【0121】
データ取得過程は以下のステップを含む。
【0122】
ステップS810:ユーザBは第2のプロキシにプライベートデータを取得し、取引アカウント、取引IDを提供する。
【0123】
ステップS811:第2のプロキシは取引アカウントと取引IDに基づいて該プライベートデータがユーザBに属することを確認し、且つユーザBにプライベートデータを取得するアドレスを返信する。
【0124】
ステップS812:ユーザBはアドレスによってプライベートデータを取得し、且つユーザAの公開鍵を利用してプライベートデータに署名検証を行い、該データがユーザAによって提供されるデータであることを確認する。
【0125】
ステップS813:ユーザBは秘密鍵を利用してプライベートデータを復号すると同時にプライベートデータに比較ダイジェストを生成し、ユーザAが提供するダイジェストと比較を行い、データが改ざんされていないことを確認する。
【0126】
ステップS814:プライベートデータ取得過程を終了する。
【0127】
さらに、本出願の一実施例は、メモリと、プロセッサと、メモリに記憶され且つプロセッサ上で実行可能なコンピュータプログラムとを備える装置をさらに提供する。プロセッサ及びメモリは、バス又は他の手段によって接続してもよい。
【0128】
メモリは非一時的なコンピュータ可読記憶媒体として、非一時的なソフトウェアプログラム及び非一時的なコンピュータ実行可能プログラムを記憶するために用いられる。さらに、メモリは、高速ランダムアクセスメモリを含んでもよく、少なくとも1つのディスクメモリ装置、フラッシュメモリ装置、又は他の非一時的ソリッドステートメモリ装置などの非一時的メモリを含んでもよい。いくつかの実施形態では、メモリは、プロセッサに対して遠隔に設けられるメモリを含んでもようく、これらの遠隔メモリは、ネットワークを介して該プロセッサに接続してもよい。このようなネットワークの例には、インターネット、企業イントラネット、ローカルエリアネットワーク、移動通信ネットワーク、及びそれらの組み合わせが含まれるが、これらに限定されない。
【0129】
なお、本実施例における端末は、図1に示す実施例におけるシステムアーキテクチャプラットフォーム100を含んでもよい。本実施例における端末は、図1に示す実施例におけるシステムアーキテクチャプラットフォーム100と同じ発明概念に属するので、これらの実施例は、同一の実現原理及び技術的効果を有し、ここでは詳述しない。
【0130】
上記実施例のプロキシ方法を実現するには必要な非一時的なソフトウェアプログラム及び命令は、メモリに記憶され、プロセッサによって実行されると、上記実施例におけるプロキシ方法を実行し、例えば、上述した図2の方法ステップS100~S300、図3の方法ステップS110~S120、図4の方法ステップS310~S330、図5の方法ステップS400~ステップS500、図6の方法ステップS100~ステップS102、図7の方法ステップS701~ステップS705、図8の方法ステップS706~ステップS709、図9の方法ステップS710~ステップS714を実行する。
【0131】
上述した装置実施例は、単に例示的なものに過ぎず、分離される要素として示されるユニットは、物理的に分離されていてもいなくてもよい、すなわち、1つの場所に配置されてもよく、又は複数のネットワークユニットに分散されてもよい。実際の要求に応じて、モジュールの一部又は全部を、本実施例の解決策の目的を達成するように選択することができる。
【0132】
さらに、本出願の一実施例はコンピュータ可読記憶媒体をさらに提供し、該コンピュータ可読記憶媒体には、プロセッサ又はコントローラによって実行されるコンピュータ実行可能命令が記憶されている。該コンピュータ可読記憶媒体は、例えば、上記端末の実施例におけるプロセッサによって、前記プロセッサに、前記実施例におけるプロキシ方法を実行させる。例えば、上述した図2の方法ステップS100~S300、図3の方法ステップS110~S120、図4の方法ステップS310~S330、図5の方法ステップS400~ステップS500、図6の方法ステップS100~ステップS102、図7の方法ステップS701~ステップS705、図8の方法ステップS706~ステップS709、図9の方法ステップS710~ステップS714を実行させる。
【0133】
本出願の実施例は、ユーザの、取引要求とプライベートデータを含む取引データを取得し、続いてブロックチェーンプラットフォームに取引要求を送信し、ブロックチェーンプラットフォームは取引要求に応じて取引を完成し、且つプライベートデータをローカルに記憶し、取引を完成した後にプライベートデータを相手プロキシに送信して取引検証を行う。このように、ブロックチェーン技術の改ざん不可という特性を利用して、取引の信頼性とトレーサビリティを保証する。また、プライベートデータは取引双方のローカルプロキシ間でのみ取引を行い、且つプライベートデータはローカルに記憶され、すなわちプライベートデータはブロックチェーンプラットフォームを通じてチェーンにアップロードしない。ブロックチェーンプラットフォームのプライベートデータが漏洩しやすいという問題を効果的に解決し、取引の安全性が高く、プライベートデータを効果的に保護する役割を果たし、クロスブロックチェーンプラットフォームに適し、且つプライベートデータをチェーンにアップロードする必要がなく、それによって大量の記憶空間の占有を減らすことができる。
【0134】
当業者であれば、上記に開示した方法におけるステップ、システムの全て又は一部を、ソフトウェア、ファームウェア、ハードウェア、及びそれらの適切な組み合わせとして実装できることを理解するであろう。いくつかの又は全ての物理コンポーネントは、中央プロセッサ、デジタル信号プロセッサ、又はマイクロプロセッサのようなプロセッサによって実行されるソフトウェアとして、又はハードウェアとして、又は特定用途向け集積回路のような集積回路として実装してもよい。そのようなソフトウェアは、コンピュータ記憶媒体(又は非一時的媒体)及び通信媒体(又は一時的媒体)を含むことができるコンピュータ可読媒体上に分散してもよい。当業者に知られているように、コンピュータ記憶媒体という用語は、情報(コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなど)を記憶するための任意の方法又は技術において実施される、揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、又は所望の情報を記憶するために用いられ、コンピュータによってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。さらに、通信媒体が通常、コンピュータ可読命令、データ構造、プログラムモジュール、又は搬送波又は他の伝送機構などの変調データ信号中の他のデータを含み、任意の情報配信媒体を含んでもよいことは、当業者に周知である。
【0135】
以上、本出願のいくつかの実施ついて具体的に説明したが、本出願は上記実施の形態に限定されるものではなく、当業者が本出願の範囲を逸脱することなく、種々の均等な変形や置換を行うことが可能であり、これらの均等な変形や置換は、本出願の特許請求の範囲に限定される範囲内に含まれるものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9