(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-12-28
(45)【発行日】2023-01-12
(54)【発明の名称】ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステム
(51)【国際特許分類】
H04L 45/48 20220101AFI20230104BHJP
H04L 45/7459 20220101ALI20230104BHJP
H04L 67/104 20220101ALI20230104BHJP
【FI】
H04L45/48
H04L45/7459
H04L67/104
(21)【出願番号】P 2022108716
(22)【出願日】2022-07-05
【審査請求日】2022-07-06
(31)【優先権主張番号】202111194110.2
(32)【優先日】2021-10-13
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】507232478
【氏名又は名称】北京大学
【氏名又は名称原語表記】PEKING UNIVERSITY
【住所又は居所原語表記】No.5, Yiheyuan Road, Haidian District, Beijing 100871, China
(74)【代理人】
【識別番号】100146374
【氏名又は名称】有馬 百子
(72)【発明者】
【氏名】黄 ▲こう▼
(72)【発明者】
【氏名】羅 超然
(72)【発明者】
【氏名】馬 ▲うん▼
(72)【発明者】
【氏名】張 穎
【審査官】鈴木 香苗
(56)【参考文献】
【文献】特開2011-175448(JP,A)
【文献】特開2011-070607(JP,A)
【文献】中国特許出願公開第101242365(CN,A)
【文献】中国特許出願公開第112039775(CN,A)
【文献】国際公開第96/005704(WO,A2)
【文献】由利 誠 ほか,P2P環境下におけるBSP探索手法,FIT2008 第7回情報科学技術フォーラム 講演論文集 第4分冊 査読付き論文・一般論文 ネットワーク・セキュリティ ユビキタス・モバイルコンピューティング 教育・人文科学 情報システム Forum on Information Technology 2008,日本,2008年08月20日,pp.241-242
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/48
H04L 45/7459
H04L 67/104
(57)【特許請求の範囲】
【請求項1】
ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法であって、
分散ハッシュテーブルDHTに基づいて、各ノードが前記ノードに対応するノード識別子を含むP2Pネットワークを構築し、前記ノード識別子に応じて、Kademliaアルゴリズムを利用して各ノードに対応するKadルーティングテーブルを構築するステップと、
前記P2Pネットワークにおける任意のノードをターゲットノードとし、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算し、前記各ノードと前記ターゲットノードとの論理距離に応じて、インデックス二分木を構築するステップと、
前記インデックス二分木における任意のノードがデジタルオブジェクトのデータエンティティを取得する場合、
当該任意のノードを近傍リポジトリノードとして決定するステップと、
前記近傍リポジトリノードは前記データエンティティに対して第1データ識別子を生成し、前記第1データ識別子が前記インデックス二分木のルートノードに到達するまで、前記第1データ識別子を前記近傍リポジトリノードの上位の親ノードに順に伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップと、
前記インデックス二分木における任意のノードが前記データエンティティに対するクエリ要求を取得する場合、
当該任意のノードをクエリ開始ノードとして決定するステップと、
前記クエリ開始ノードは前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送するステップと、
前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードは前記リバースルーティングテーブルに応じて、前記クエリ要求を前記近傍リポジトリノードに転送するステップと、
前記近傍リポジトリノードは前記クエリ要求に応じて、前記データエンティティの現在状態情報を前記クエリ開始ノードに返すステップと、を含む、ことを特徴とするヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法。
【請求項2】
前記P2Pネットワークにおける任意のノードをターゲットノードとし、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算する前記ステップは、
以下の排他的論理和計算式を用いて、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算するステップを含む、ことを特徴とする請求項1に記載の方法。
式中、node1はターゲットノード、ID
node1はターゲットノードのノード識別子、node2はKadルーティングテーブルにおける任意のノード、ID
node2はKadルーティングテーブルにおける任意のノードのノード識別子、d(node1,node2)はターゲットノードとKadルーティングテーブルにおける任意のノードとの論理距離である。
【請求項3】
前記各ノードと前記ターゲットノードとの論理距離に応じて、インデックス二分木を構築する前記ステップは、
前記各ノードと前記ターゲットノードとの論理距離に応じて、前記インデックス二分木の第i層のツリーノード
の前記ノード識別子を昇順又は降順で前記ターゲットノードとの論理距離が[2
i-1,2
i)(iは正の整数)の範囲にあるノード
の前記Kadルーティングテーブルに順に保存するステップを含む、ことを特徴とする請求項1に記載の方法。
【請求項4】
前記近傍リポジトリノードは前記データエンティティに対して第1データ識別子を生成し、前記第1データ識別子が前記インデックス二分木のルートノードに到達するまで、前記第1データ識別子を前記近傍リポジトリノードの上位の親ノードに順に伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップは、
前記近傍リポジトリノードはブルームフィルターに基づいてリバースルーティングテーブルを生成し、前記リバースルーティングテーブルはルーティングトリプレット<ID
node,Address,Set[BF Vector]>(ID
nodeは前記近傍リポジトリノードのノード識別子、Addressは前記近傍リポジトリノードのネットワークアドレス、Set[BF Vector]は前記近傍リポジトリノードに含まれるデータ識別子セットである)を含むステップと、
前記近傍リポジトリノードは前記データエンティティの第1データ識別子を生成し、第1データ識別子を前記近傍リポジトリノードのSet[BF Vector]に書き込み、上位の親ノードに前記第1データ識別子を伝達するステップと、
前記親ノードは前記第1データ識別子を取得する場合、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれるか否かを判断するステップと、
含まれると、前記親ノードは前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで前記親ノードの次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップと、
含まれていないと、前記親ノードはブルームフィルターに基づいて前記親ノードのルーティングトリプレットを生成し、前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで前記親ノードの次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項5】
前記クエリ開始ノードは前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送するステップは、
前記クエリ開始ノードは前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送し、前記クエリ要求は前記第1データ識別子及び前記クエリ開始ノードのノード識別子を含むステップと、
前記上位の親ノードにおけるSet[BF Vector]に前記第1データ識別子が含まれていない場合、前記上位の親ノードは、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記クエリ要求を次の親ノードに伝達するステップと、を含む、ことを特徴とする請求項4に記載の方法。
【請求項6】
ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセスシステムであって、
分散ハッシュテーブルDHTに基づいて、各ノードが前記ノードに対応するノード識別子を含むP2Pネットワークを構築し、前記ノード識別子に応じて、Kademliaアルゴリズムを利用して各ノードに対応するKadルーティングテーブルを構築するように構成されるP2Pネットワーク構築モジュールと、
前記P2Pネットワークにおける任意のノードをターゲットノードとし、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算し、前記各ノードと前記ターゲットノードとの論理距離に応じて、インデックス二分木を構築するように構成されるインデックス二分木構築モジュールと、
前記インデックス二分木における任意のノードがデジタルオブジェクトのデータエンティティを取得する場合、
当該任意のノードを近傍リポジトリノードとして決定するように構成される第1決定モジュールと、
前記近傍リポジトリノード
の前記データエンティティに対して第1データ識別子を生成し、前記第1データ識別子が前記インデックス二分木のルートノードに到達するまで前記第1データ識別子を前記近傍リポジトリノードの上位の親ノードに順に伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるように構成されるリバースルーティングテーブル構築モジュールと、
前記インデックス二分木における任意のノードが前記データエンティティに対するクエリ要求を取得する場合、
当該任意のノードをクエリ開始ノードとして決定するように構成される第2決定モジュールと、
前記クエリ開始ノード
に前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送するフォワードクエリモジュールと、
前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに配置され、前記リバースルーティングテーブルに応じて、前記クエリ要求を前記近傍リポジトリノードに転送するように構成されるリバースクエリモジュールと、
前記近傍リポジトリノードに配置され、前記近傍リポジトリノードが前記クエリ要求に対して返すデジタルオブジェクト状態情報を前記クエリ開始ノードに返すように構成される情報返しバックモジュールと、を備える、ことを特徴とするヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセスシステム。
【請求項7】
前記インデックス二分木構築モジュールは、
以下の排他的論理和計算式を用いて、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算する距離計算サブモジュールを備える、ことを特徴とする請求項6に記載のシステム。
式中、node1はターゲットノード、ID
node1はターゲットノードのノード識別子、node2はKadルーティングテーブルにおける任意のノード、ID
node2はKadルーティングテーブルにおける任意のノードのノード識別子、d(node1,node2)はターゲットノードとKadルーティングテーブルにおける任意のノードとの論理距離である。
【請求項8】
前記インデックス二分木構築モジュールは、
前記各ノードと前記ターゲットノードとの論理距離に応じて、前記インデックス二分木の第i層のツリーノード
の前記ノード識別子を昇順又は降順で前記ターゲットノードとの論理距離が[2
i-1,2
i)(iは正の整数)の範囲にあるノード
の前記Kadルーティングテーブルに順に保存するように構成されるツリー構築サブモジュールをさらに備える、ことを特徴とする請求項6に記載のシステム。
【請求項9】
前記リバースルーティングテーブル構築モジュールは、
前記近傍リポジトリノードに配置され、ブルームフィルターに基づいてリバースルーティングテーブルを生成するように構成され、前記リバースルーティングテーブルはルーティングトリプレット<ID
node,Address,Set[BF Vector]>(ID
nodeは前記近傍リポジトリノードのノード識別子、Addressは前記近傍リポジトリノードのネットワークアドレス、Set[BF Vector]は前記近傍リポジトリノードに含まれるデータ識別子セットである)を含むリバースルーティングテーブル生成サブモジュールと、
前記近傍リポジトリノードに配置され、前記データエンティティの第1データ識別子を生成し、第1データ識別子を前記近傍リポジトリノードのSet[BF Vector]に書き込み、上位の親ノードに前記第1データ識別子を伝達するように構成される第1伝達サブモジュールと、
前記親ノードが前記第1データ識別子を取得する場合、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれるか否かを判断するように構成される判断サブモジュールと、
前記親ノードに配置され、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれる場合、前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるように構成される第2伝達サブモジュールと、
前記親ノードに配置され、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれていない場合、ブルームフィルターに基づいて前記親ノードのルーティングトリプレットを生成し、前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるように構成される第3伝達サブモジュールと、を備える、ことを特徴とする請求項6に記載のシステム。
【請求項10】
前記フォワードクエリモジュールは、
前記クエリ開始ノードに配置され、前記クエリ開始ノードに前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って上位の親ノードに前記クエリ要求を順に転送するように構成され、前記クエリ要求は前記第1データ識別子及び前記クエリ開始ノードのノード識別子を含む第4伝達サブモジュールと、
前記上位の親ノードに配置され、前記上位の親ノードにおけるSet[BF Vector]に前記第1データ識別子が含まれていない場合、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記クエリ要求を次の親ノードに伝達するように構成される第5伝達サブモジュールと、を備える、ことを特徴とする請求項9に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は通信の技術分野に関し、特にヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステムに関する。
【背景技術】
【0002】
デジタルオブジェクトアーキテクチャDOA(Digital Object Architecture)は、チューリング賞を受賞し、インターネットの父であるロバート・カーン教授によって提案されたソフトウェアアーキテクチャであり、デジタルオブジェクトを中心としてオープン環境における情報システムリソース間の相互運用性を解決する。DOAは、リソースをデジタルオブジェクトとして抽象化し記述情報、状態情報及びデータエンティティの3つの部分にモデリングしてリソースの不均一性をシールドし、リソースとの対話挙動を検索、解析、アクセスの3つのステップにモデリングして対話の複雑さを低減させる。デジタルオブジェクトは、本質的にリソースエンティティのデータ抽象化であり、インターネット環境におけるリソースエンティティは情報システムにおけるファイル、テーブルなどのデータリソースを主とし、従来のDOAはインターネット環境におけるデータリソースエンティティのアクセスサービスを実現する。
【0003】
ヒューマンサイバーフィジカル融合環境とは、人間社会、物理世界及び情報システム間の境界が徐々に曖昧になって融合される新しい環境である。ヒューマンサイバーフィジカル融合環境におけるリソースはヒューマン、フィジカルエンティティを主とし、ヒューマンサイバーフィジカルデジタルオブジェクトを使用してヒューマンサイバーフィジカルリソースを抽象化することで、ヒューマン、フィジカルエンティティの多様さ、不均一さの特徴をシールドすることができる。
【0004】
インターネット環境におけるクラウドサーバは、物理的位置が完全に集中していないが、その豊かな計算、ネットワークリソースにより情報空間において安定したデジタルオブジェクトアクセスサービスを提供して物理的位置の分散をシールドすることができる。しかしながら、ヒューマンサイバーフィジカル融合環境におけるヒューマン、フィジカルエンティティは、空間属性があり、複製不能であり、移動性が現実の世界によって制限される。ヒューマン、フィジカルエンティティは主に端末装置で生成、記憶、消費されるが、端末装置は物理的及びネットワーク空間に非常に分散しており、どのように分散空間におけるヒューマンサイバーフィジカルデジタルオブジェクトにアクセスするかはヒューマンサイバーフィジカル環境においてDOAにとって解決を急ぐべき問題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願は、ヒューマンサイバーフィジカル融合環境において分散空間におけるヒューマンサイバーフィジカルデジタルオブジェクトにリアルタイムにアクセスできないという問題を解決するために、ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステムを提供する。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本願は以下の技術案を採用する。
【0007】
第1態様によれば、本願の実施例は、
分散ハッシュテーブルDHTに基づいて、各ノードが前記ノードに対応するノード識別子を含むP2Pネットワークを構築し、前記ノード識別子に応じて、Kademliaアルゴリズムを利用して各ノードに対応するKadルーティングテーブルを構築するステップと、
前記P2Pネットワークにおける任意のノードをターゲットノードとし、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算し、前記各ノードと前記ターゲットノードとの論理距離に応じて、インデックス二分木を構築するステップと、
前記インデックス二分木における任意のノードがデジタルオブジェクトのデータエンティティを取得する場合、前記ノードを近傍リポジトリノードとして決定するステップと、
前記近傍リポジトリノードは前記データエンティティに対して第1データ識別子を生成し、前記第1データ識別子が前記インデックス二分木のルートノードに到達するまで、前記第1データ識別子を前記近傍リポジトリノードの上位の親ノードに順に伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップと、
前記インデックス二分木における任意のノードが前記データエンティティに対するクエリ要求を取得する場合、前記ノードをクエリ開始ノードとして決定するステップと、
前記クエリ開始ノードは前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送するステップと、
前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードは前記リバースルーティングテーブルに応じて、前記クエリ要求を前記近傍リポジトリノードに転送するステップと、
前記近傍リポジトリノードは前記クエリ要求に応じて、前記データエンティティの現在状態情報を前記クエリ開始ノードに返すステップと、を含む、ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法を提供する。
【0008】
本願の一実施例では、前記P2Pネットワークにおける任意のノードをターゲットノードとし、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算する前記ステップは、
以下の排他的論理和計算式を用いて、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算するステップを含む。
式中、node1はターゲットノード、ID
node1はターゲットノードのノード識別子、node2はKadルーティングテーブルにおける任意のノード、ID
node2はKadルーティングテーブルにおける任意のノードのノード識別子、d(node1,node2)はターゲットノードとKadルーティングテーブルにおける任意のノードとの論理距離である。
【0009】
本願の一実施例では、前記各ノードと前記ターゲットノードとの論理距離に応じて、インデックス二分木を構築する前記ステップは、
前記各ノードと前記ターゲットノードとの論理距離に応じて、前記インデックス二分木の第i層のツリーノードを昇順又は降順で前記ターゲットノードとの論理距離が[2i-1,2i)(iは正の整数)の範囲にあるノードに順に保存するステップを含む。
【0010】
本願の一実施例では、前記近傍リポジトリノードは前記データエンティティに対して第1データ識別子を生成し、前記第1データ識別子が前記インデックス二分木のルートノードに到達するまで、前記第1データ識別子を前記近傍リポジトリノードの上位の親ノードに順に伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップは、
前記近傍リポジトリノードはブルームフィルターに基づいてリバースルーティングテーブルを生成し、前記リバースルーティングテーブルはルーティングトリプレット<IDnode,Address,Set[BF Vector]>(IDnodeは前記近傍リポジトリノードのノード識別子、Addressは前記近傍リポジトリノードのネットワークアドレス、Set[BF Vector]は前記近傍リポジトリノードに含まれるデータ識別子セットである)を含むステップと、
前記近傍リポジトリノードは前記データエンティティの第1データ識別子を生成し、第1データ識別子を前記近傍リポジトリノードのSet[BF Vector]に書き込み、上位の親ノードに前記第1データ識別子を伝達するステップと、
前記親ノードは前記第1データ識別子を取得する場合、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれるか否かを判断するステップと、
含まれると、前記親ノードは前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで前記親ノードの次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップと、
含まれていないと、前記親ノードはブルームフィルターに基づいて前記親ノードのルーティングトリプレットを生成し、前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで前記親ノードの次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるステップと、を含む。
【0011】
本願の一実施例では、前記クエリ開始ノードは前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送するステップは、
前記クエリ開始ノードは前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送し、前記クエリ要求は前記第1データ識別子及び前記クエリ開始ノードのノード識別子を含むステップと、
前記上位の親ノードにおけるSet[BF Vector]に前記第1データ識別子が含まれていない場合、前記上位の親ノードは、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記クエリ要求を次の親ノードに伝達するステップと、を含む。
【0012】
第2態様によれば、同じ発明アイディアに基づいて、本願の実施例は、
分散ハッシュテーブルDHTに基づいて、各ノードが前記ノードに対応するノード識別子を含むP2Pネットワークを構築し、前記ノード識別子に応じて、Kademliaアルゴリズムを利用して各ノードに対応するKadルーティングテーブルを構築するように構成されるP2Pネットワーク構築モジュールと、
前記P2Pネットワークにおける任意のノードをターゲットノードとし、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算し、前記各ノードと前記ターゲットノードとの論理距離に応じて、インデックス二分木を構築するように構成されるインデックス二分木構築モジュールと、
前記インデックス二分木における任意のノードがデジタルオブジェクトのデータエンティティを取得する場合、前記ノードを近傍リポジトリノードとして決定するように構成される第1決定モジュールと、
前記近傍リポジトリノードに配置され、前記データエンティティに対して第1データ識別子を生成し、前記第1データ識別子が前記インデックス二分木のルートノードに到達するまで前記第1データ識別子を前記近傍リポジトリノードの上位の親ノードに順に伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるように構成されるリバースルーティングテーブル構築モジュールと、
前記インデックス二分木における任意のノードが前記データエンティティに対するクエリ要求を取得する場合、前記ノードをクエリ開始ノードとして決定するように構成される第2決定モジュールと、
前記クエリ開始ノードに配置され、前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記インデックス二分木においてその上位の親ノードに前記クエリ要求を順に転送するフォワードクエリモジュールと、
前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに配置され、前記リバースルーティングテーブルに応じて、前記クエリ要求を前記近傍リポジトリノードに転送するように構成されるリバースクエリモジュールと、
前記近傍リポジトリノードに配置され、前記近傍リポジトリノードが前記クエリ要求に対して返すデジタルオブジェクト状態情報を前記クエリ開始ノードに返すように構成される情報返しバックモジュールと、を備える、ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセスシステムを提供する。
【0013】
本願の一実施例では、前記インデックス二分木構築モジュールは、
以下の排他的論理和計算式を用いて、前記ターゲットノードに対応するKadルーティングテーブルにおける各ノードと前記ターゲットノードとの論理距離を計算する距離計算サブモジュールを備える。
式中、node1はターゲットノード、ID
node1はターゲットノードのノード識別子、node2はKadルーティングテーブルにおける任意のノード、ID
node2はKadルーティングテーブルにおける任意のノードのノード識別子、d(node1,node2)はターゲットノードとKadルーティングテーブルにおける任意のノードとの論理距離である。
【0014】
本願の一実施例では、前記インデックス二分木構築モジュールは、
前記各ノードと前記ターゲットノードとの論理距離に応じて、前記インデックス二分木の第i層のツリーノードを昇順又は降順で前記ターゲットノードとの論理距離が[2i-1,2i)(iは正の整数)の範囲にあるノードに順に保存するように構成されるツリー構築サブモジュールをさらに備える。
【0015】
本願の一実施例では、前記リバースルーティングテーブル構築モジュールは、
前記近傍リポジトリノードに配置され、ブルームフィルターに基づいてリバースルーティングテーブルを生成するように構成され、前記リバースルーティングテーブルはルーティングトリプレット<IDnode,Address,Set[BF Vector]>(IDnodeは前記近傍リポジトリノードのノード識別子、Addressは前記近傍リポジトリノードのネットワークアドレス、Set[BF Vector]は前記近傍リポジトリノードに含まれるデータ識別子セットである)を含むリバースルーティングテーブル生成サブモジュールと、
前記近傍リポジトリノードに配置され、前記データエンティティの第1データ識別子を生成し、第1データ識別子を前記近傍リポジトリノードのSet[BF Vector]に書き込み、上位の親ノードに前記第1データ識別子を伝達するように構成される第1伝達サブモジュールと、
前記親ノードが前記第1データ識別子を取得する場合、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれるか否かを判断するように構成される判断サブモジュールと、
前記親ノードに配置され、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれる場合、前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるように構成される第2伝達サブモジュールと、
前記親ノードに配置され、前記親ノードに前記近傍リポジトリノードを指すリバースルーティングテーブルが含まれていない場合、ブルームフィルターに基づいて前記親ノードのルーティングトリプレットを生成し、前記第1データ識別子を前記親ノードのSet[BF Vector]に書き込み、前記第1データ識別子を前記インデックス二分木のルートノードに到達するまで次の親ノードに伝達し、前記親ノードと前記ルートノードに、前記第1データ識別子を含むリバースルーティングテーブルを構築させるように構成される第3伝達サブモジュールと、を備える。
【0016】
本願の一実施例では、前記フォワードクエリモジュールは、
前記クエリ開始ノードに配置され、前記クエリ開始ノードに前記リバースルーティングテーブルが記憶されていない場合、前記Kadルーティングテーブルに従って上位の親ノードに前記クエリ要求を順に転送するように構成され、前記クエリ要求は前記第1データ識別子及び前記クエリ開始ノードのノード識別子を含む第4伝達サブモジュールと、
前記上位の親ノードに配置され、前記上位の親ノードにおけるSet[BF Vector]に前記第1データ識別子が含まれていない場合、前記クエリ要求が前記第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、前記クエリ要求を次の親ノードに伝達するように構成される第5伝達サブモジュールと、を備える。
【発明の効果】
【0017】
従来技術に比べて、本願は以下の利点を含む。
【0018】
本願の実施例は、分散ハッシュテーブルDHTに基づいてP2Pネットワークを構築し、Kademliaアルゴリズムを利用してP2Pネットワークにおける各ノードに対応するKadルーティングテーブルを構築し、P2Pネットワークにおけるいずれのノードをターゲットノードとしても、Kadルーティングテーブルにおける各ノードとターゲットノードとの論理距離に応じてインデックス二分木を構築することができ、それによりデジタルオブジェクトのデータエンティティがインデックス二分木における任意のノードに記憶されている場合、データエンティティに対応する第1データ識別子をルートノードに到達するまで該ノードから該ノードの上位の親ノードに順に伝達することができ、それにより第1データ識別子が通過するルートノードとすべての親ノードはいずれも第1データ識別子を含むリバースルーティングテーブルを構築する。インデックス二分木における任意のノードがデータエンティティに対するクエリ要求を取得する場合、即ち、状態クエリ段階にある場合、まず、Kadルーティングテーブルに基づいて、第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードをクエリしたまでフォワードアドレッシングを行い、このようにして、第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードはさらにリバースルーティングテーブルに従って、該データエンティティが見つかるまでリバースアドレッシングを直接行うことができ、最終的にデータエンティティの現在状態情報をクエリ開始ノードに返す。本願の実施例は、Kadルーティングテーブル及びリバースルーティングテーブルを構築して双方向ルーティングアドレッシングを行うことで、データアドレッシングの複雑さを増やすことなく、DHTに基づくP2Pネットワークにおけるデータエンティティのデータ識別子とその記憶位置との分離を実現し、デジタルオブジェクトのデータエンティティをP2Pネットワークにおける任意のノードに記憶することを可能にし、ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトの空間的制約を満たすとともにデジタルオブジェクトのアクセス効率を向上させることができる。
【図面の簡単な説明】
【0019】
【
図1】本願の実施例におけるデジタルオブジェクトアーキテクチャの全体的なアーキテクチャの模式図である。
【
図2】本願の実施例におけるヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法のステップのフローチャートである。
【
図3】本願の実施例における双方向ルーティングに基づくデジタルオブジェクトインデックスの模式図である。
【
図4】本願の実施例におけるヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセスシステムの接続関係の模式図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施例の図面を参照しながら本発明の実施例の技術案を明確かつ完全に説明し、明らかなように、説明される実施例は単に本発明の一部実施例であり、すべての実施例ではない。本発明の実施例に基づいて、当業者が創造的な労働をせずに想到し得るほかの実施例はすべて本発明の保護範囲に属する。
【0021】
なお、本実施例では、
図1に示すように、デジタルオブジェクトアーキテクチャの全体的なアーキテクチャの模式図であり、DOAの全体的なアーキテクチャはデータモデル及び対話モデルの2つの部分に分けられる。
【0022】
データモデルについて、DOAはデジタルオブジェクトをそのアーキテクチャの基本的な要素とし、デジタルオブジェクトはリソースの抽象的な表現形式である。識別子は、デジタルオブジェクトの一意な識別マークであり、デジタルオブジェクトの記憶環境、アクセス環境、コンテンツの変化に伴って変化しない。1つの完全なデジタルオブジェクトは、記述情報、データエンティティ及び状態情報の3つの部分に分けられてもよく、それらはデジタルオブジェクトの識別子によって関連付けられ、同一の論理デジタルオブジェクトを指す。記述情報は、デジタルオブジェクトのアプリケーション、ビジネスに関連するメタデータを表し、アプリケーションのニーズに応じて所要のデジタルオブジェクトを検索することに用いられ、例えば、デジタルオブジェクトの用途、デジタルオブジェクトの分類などが挙げられる。エンティティは、デジタルオブジェクトの実際のコンテンツを表し、相互運用性の実際のターゲットである。状態情報は、デジタルオブジェクトの現在状態を表し、デジタルオブジェクトを検索、及び検証することに用いられ、デジタルオブジェクトの記憶位置、所有権情報、デジタルオブジェクトHashなどを含む。1つの音楽ファイルのデジタルオブジェクトを例とする場合、その記述情報は音楽名、作者、収録アルバム、音楽スタイルなどの情報を含み、エンティティは実際のオーディオファイルであり、例えば、xxx.mp3が挙げられ、状態情報はオーディオファイルの実際の記憶位置、オーディオファイルの実際の所有者及びオーディオファイルのコンテンツのHash値などの情報を含む。ヒューマンサイバーフィジカル融合環境において、デジタルオブジェクトを使用してヒューマンサイバーフィジカルリソースを抽象化し、統一されたリソースモデルを提供して、ヒューマンサイバーフィジカルリソースの不均一性をシールドすることができる。
【0023】
対話モデルについて、デジタルオブジェクトモデルの3つの構成部分に対して、DOAは、それぞれ記述情報、エンティティ及び状態情報を管理するためのデジタルオブジェクトレジストリ(DO Registry)、デジタルオブジェクトリポジトリ(DO Repository)及び識別子解析システム(Identifier/Resolution System)の3つのコンポーネントを提案している。デジタルオブジェクトレジストリは、デジタルオブジェクトの記述情報を管理し、外部にデジタルオブジェクトのインデックス、検索サービスを提供することに用いられ、インデックスサービスはデジタルオブジェクトの記述情報及び識別子を入力とし、レジストリは入力情報に応じて該デジタルオブジェクトのインデックスを作成し、検索サービスは入力されたクエリキーワードに応じて、デジタルオブジェクトインデックスを検索し、マッチングするデジタルオブジェクト識別子を返す。デジタルオブジェクトリポジトリは実際にデジタルオブジェクトを記憶し、外部にデジタルオブジェクトのアクセスサービスを提供し、デジタルオブジェクトの追加、削除、変更、検索などの挙動を含む。識別子/解析システムは、デジタルオブジェクトの状態情報を管理し、識別子解析サービスを提供し、ターゲットデジタルオブジェクトの識別子に応じてデジタルオブジェクトの状態情報を返すことに用いられ、また、識別子解析システムはさらにデジタルオブジェクトの識別子割り当て作業を行うことに用いられる。DOAはさらに、これら3つのコンポーネントとの対話挙動を規範化するように2つの標準プロトコルを制定し、それぞれ、デジタルオブジェクトレジストリ、デジタルオブジェクトリポジトリと対話するデジタルオブジェクトインターフェースプロトコルDOIP(Digital Object Interface Protocol)、及び識別子/解析システムと対話する識別子解析プロトコル(Identifier Resolution Protocol)である。DOIPプロトコルは、デジタルオブジェクトに対するアクセス挙動を規範化し、相互運用性挙動の複雑さを軽減させるように、ヒューマンサイバーフィジカル環境においてヒューマンサイバーフィジカルリソースの相互運用性挙動の抽象化及び規範とすることができる。
【0024】
インターネット環境において、デジタルオブジェクトは主に情報システムで生成され、テーブル、ドキュメント、ピクチャなど情報システムに存在しているデータから変換されてなり、例えば、現在、最も広く使用されているデジタルオブジェクトアプリケーションDOIは、発表された論文に一意な識別子を割り当てデジタルオブジェクトとみなす。デジタルオブジェクトの表現について、従来のDOAの実現では、デジタルオブジェクトを標準的なデータシリアル化フォーマット及び最小データ単位とみなし、データは属性、及び要素の2つの部分にフォーマット化され、属性はメタデータを表現し、実際のデータコンテンツは要素フィールドに格納され、その後、デジタルオブジェクトは一意な識別子が割り当てられて特定のデジタルオブジェクトリポジトリに一意に記憶される。デジタルオブジェクトのアクセスについて、デジタルオブジェクトリポジトリは一般的にクラウドサーバを主とし、外部に一意なネットワークポータルを介してデジタルオブジェクトのアクセスサービスを提供し、デジタルオブジェクトの識別子解析器の状態情報に応じてデジタルオブジェクトが現在位置しているリポジトリのサービスアドレスを取得し、さらにDOIPプロトコルによってデジタルオブジェクトの追加、削除、変更、検索を実現することができ、デジタルオブジェクトリポジトリへのアクセス方式は従来のオブジェクトデータベースへのアクセス方式と基本的に間違いがない。アクセス権限の管理について、デジタルオブジェクトリポジトリの管理者はローカルに記憶されているすべてのデジタルオブジェクトの所有者でもあり、すべてのデジタルオブジェクトに対する変更権限を持つ。
【0025】
以上からわかるように、インターネット環境において、デジタルオブジェクトはインターネット情報システムにおけるエンティティ、例えば、テーブル、ドキュメント、ピクチャなどのデータの抽象的な表現であり、データは本質的にビットシーケンスであり、移動しやすく、複製が可能で、静的で変化が少ないという特徴を持つ。従って、DOAに基づいてインターネット環境におけるデータリソースエンティティのアクセスを効果的に実現することができる。
【0026】
しかしながら、ヒューマンサイバーフィジカル融合環境において、ヒューマンサイバーフィジカルデジタルオブジェクトは空間的に分散する端末装置で生成、記憶、消費され、ヒューマンサイバーフィジカルデジタルオブジェクトへのアクセスには、最も重要なのは、分散しているターゲットデジタルオブジェクトを効率的に特定することである。インターネット環境におけるクラウドサーバは、その物理的位置が完全に集中していないが、その豊かな計算、ネットワークリソースにより情報空間において安定したデジタルオブジェクトアクセスサービスを提供して物理的位置の分散をシールドすることができる。しかしながら、端末装置は、その物理的空間がより分散しており、リソース制限により安定したアクセスポータルを提供することができない。ヒューマンサイバーフィジカルデジタルオブジェクトの主な動作環境として、端末装置は安定したヒューマンサイバーフィジカルデジタルオブジェクトアクセスサービスを提供することができない。
【0027】
また、分散ハッシュテーブルDHT(Distributed Hash Table)に基づくP2P(Peer to Peer)ネットワークは、効率的なデータアドレッシング方式により分散ストレージに広く使用されている。DHTでは、各関与ノードは1つの一意な識別子が割り当てられ、ローカルルーティングテーブルにほかの部分ノードの情報を記録し、ノードはローカルルーティングテーブルに応じてメッセージ転送のネクストホップノードを決定する。このようにして、DHTは完全分散化の方式によりメッセージをネットワーク全体における任意のターゲットノードに効率的に伝達することができる。一般的に言えば、DHTに基づくP2Pストレージは対数レベルのノード、データアドレッシングの複雑さに達することができ、logN回のメッセージルーティングだけで、任意のノードからターゲットデータが位置するノードを見つかることができ、ここでは、Nはネットワークにおけるノードの数である。DHTにおけるデータ検索は本質的にデータが位置するノードの検索でもあり、従って、従来のDHTにおいて、一般的にデータとノードとの距離を定義し、且つデータをそのアルゴリズムで指定されるノード、一般的に距離が最も近いノードに格納する必要があり、こうしてこそO(logN)レベルのデータアクセスを実現することができる。
【0028】
しかしながら、ヒューマンサイバーフィジカルデジタルオブジェクトは物理的空間において該デジタルオブジェクトを生成する端末装置から遠く離れることができない。一方では、端末装置はインターネットのP2Pノードのように任意のノードとルーティング関係を直接作成することができず、端末装置は一般的にWIFI、ブルートゥース(登録商標)、ZigBeeなどのモノのインターネットプロトコルによってその近くの携帯電話、ゲートウェイなどの装置としか接続を作成できず、他方では、ヒューマンサイバーフィジカルデジタルオブジェクトの適時性及びプライバシーのため、ヒューマンサイバーフィジカルデジタルオブジェクトを端末から遠く離れたノードに強制的に格納すると、アクセスされるデジタルオブジェクトが最新のものであることを確保できないだけでなく、プライバシー漏洩のリスクもある。
【0029】
上記従来技術の欠陥に基づいて、従来のDOAはヒューマンサイバーフィジカル融合環境において分散空間における任意のヒューマンサイバーフィジカルデジタルオブジェクトにリアルタイムかつ効果的にアクセスすることが困難であり、このため、本願の実施例は、双方向ルーティングに基づくヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法を提供することを目的とし、DHTに基づくP2Pネットワークにおけるデータエンティティのデータ識別子とその記憶位置との分離を実現し、さらにデジタルオブジェクトのデータエンティティをネットワーク全体における任意のノードに格納することを可能にし、ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトの空間的制約を満たすとともに、O(logN)レベルのアクセス効率を実現することができる。
【0030】
図2に示すように、本願のヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法であり、前記方法は以下のステップを含んでもよい。
【0031】
ステップS101:分散ハッシュテーブルDHTに基づいて、各ノードがノードに対応するノード識別子を含むP2Pネットワークを構築し、ノード識別子に応じて、Kademliaアルゴリズムを利用して各ノードに対応するKadルーティングテーブルを構築する。
なお、本実施例では、DHTに基づくP2Pネットワークにおいて、各関与ノードにはネットワーク全体における1つの一意な識別子が割り当てられ、一般的に固定長さのハッシュ値(Hash)である。Kademliaアルゴリズムでは、各ノードに1つの長さが160bitのノード識別子IDnodeを割り当てるとともに、ノード間の距離dを2つのノードのハッシュ値の排他的論理和と定義する。
【0032】
Kademliaアルゴリズムでは、各ノードはいずれもローカルで1つのKadルーティングテーブルを維持し、Kadルーティングテーブルは160個のK-バケット(K-bucket)からなり、各K-バケットにはk個のほかのノードのルーティングアイテムが格納され、ルーティングアイテムは<IDnode,Address>の形式で表され、新しいノードを発見すると、ローカルノードnodelocalは該ノードとの距離に従って該ノードを異なるK-バケットに配置し、第i個のK-バケットには距離が[2i,2i+1)の範囲にあるノードが保存され、K-バケットにおけるルーティングアイテム数がkを超えると、ノードに最も長い時間応答していないルーティングアイテムを置換する。ノード識別子がIDtargetのターゲットノードnodetargetの検索メッセージを受信すると、nodelocalはIDtargetとの距離d(nodelocal,nodetarget)を計算し、メッセージを対応するK-バケットにおけるターゲットとの距離が最も近いα個のノードに転送し、αはメッセージ転送ノードの数であり、メッセージ並行性とも呼ばれる。K-バケットの構築ルールに従って、ネクストホップノードnodenextとnodetargetとの距離はd(nodenext,nodetarget)≦d(nodelocal,nodetarget)/2を満たし、即ち、メッセージをネクストホップノードnodenextに転送するたびに、ネクストホップノードnodenextとターゲットノードnodetargetとの距離は少なくとも半分短縮し、それによりlogNホップ内でメッセージを任意のノードからターゲットノードに転送できることを確保することができる。なお、メッセージ並行性αを向上させることでノードがメッセージを伝達する時に選択する隣接ノードの数を増やし、それによりクエリの成功率及び効率を向上させるようにしてもよい。
【0033】
Kadルーティングテーブルでは、メッセージはターゲットノードとの距離が遠いノードからターゲットノードとの距離が近いノードへ伝達され、従って、本明細書では、Kademliaに基づくアドレッシングは「フォワードアドレッシング」と呼ばれ、ノードのKademliaルーティングテーブルは「フォワードルーティングテーブル」と呼ばれる。
【0034】
ステップS102:P2Pネットワークにおける任意のノードをターゲットノードとし、ターゲットノードに対応するKadルーティングテーブルにおける各ノードとターゲットノードとの論理距離を計算し、各ノードとターゲットノードとの論理距離に応じて、インデックス二分木を構築する。
【0035】
なお、本実施例では、デジタルオブジェクトのデータエンティティがKademliaアルゴリズムに基づくP2Pにおけるノードに記憶されると、データエンティティdataにも1つのデータ識別子IDdataが割り当てられる。DHTはデータエンティティdataのデータ識別子IDdataに応じてネットワーク全体におけるデータエンティティとの距離が最も近いK個のノードを選択し、K個のデータのコピーをそれぞれこれらK個のノードに記憶し、データクエリを行う際に、ネットワーク全体d(data,node)における最も小さいノードを見つけるだけでターゲットデータを見つけることができる。このようにして、DHTによるデータエンティティdataのクエリ要求は識別子がIDdataのノードに対する検索とみなすことができ、任意のノードから最大でlogN回のメッセージルーティングだけでターゲットデータを見つけることができる。P2Pストレージでは、ノード間のメッセージ伝達遅延はデータアドレッシングの主なオーバーヘッドであり、従って、DHTに基づくP2Pストレージはデータアドレッシングの効率を大幅に向上させることができる。しかしながら、DHTのこの特性によって、データはその識別子に従ってネットワーク全体における距離が最も近いノードに格納する必要があり、従って、ノードの記憶空間、帯域幅及び可用性の不均一性に応じてデータエンティティを適切なノードに格納することは不可能であり、その結果、データアクセスの効率は多くの場合、記憶ネットワークにおける弱いノードに依存する。従って、DHTに基づくP2Pストレージネットワークでは、データアクセス効率の向上には、まず、データエンティティのデータ識別子とその記憶位置との分離を実現する必要がある。
【0036】
DHTに基づくP2Pネットワークにおけるデータエンティティのデータ識別子とその記憶位置との分離を実現するために、本実施形態では、ターゲットノードとKadルーティングテーブルにおける各ノードとの距離に基づいて、Kadルーティングテーブルのノード間のルーティング関係をインデックス二分木の形式に変換する。具体的には、ステップS102は以下の具体的なサブステップを含んでもよい。
【0037】
サブステップS102-1:P2Pネットワークにおける任意のノードをターゲットノードとし、以下の排他的論理和計算式を用いて、ターゲットノードに対応するKadルーティングテーブルにおける各ノードとターゲットノードとの論理距離を計算する。
式中、node1はターゲットノード、ID
node1はターゲットノードのノード識別子、node2はKadルーティングテーブルにおける任意のノード、ID
node2はKadルーティングテーブルにおける任意のノードのノード識別子、d(node1,node2)はターゲットノードとKadルーティングテーブルにおける任意のノードとの論理距離である。
【0038】
一例では、IDnode1が00110、IDnode2が00111である場合、式(1)でd(node1,node2)=001を算出し、即ち、node1とnode2との論理距離は1である。
【0039】
サブステップS102-2:各ノードとターゲットノードとの論理距離に応じて、インデックス二分木の第i層のツリーノードを昇順又は降順でターゲットノードとの論理距離が[2i-1,2i)(iは正の整数)の範囲にあるノードに順に保存する。
【0040】
図3に示すように、本願の実施例における双方向ルーティングに基づくデジタルオブジェクトインデックスの模式図であり、
図3に示すノードネットワークのスケールはN=15である。
【0041】
図3の
図3(a)に示すように、インデックス二分木のルートノードはネットワーク全体におけるターゲットノードとの距離が最も近いノードであり、該ルートノードのインデックス二分木での階層は第1層であり、第2層はターゲットノードとの論理距離が[2
1,2
2)の範囲にあるノードであり、即ち、ターゲットノードとの距離が2、3のノードであり、第3層はターゲットノードとの論理距離が[2
2,2
3)の範囲にあるノードであり、即ち、ターゲットノードとの距離が4、5、6、7のノードであり、以下同様であり、各階層のノードを取得した後、これらのノードを昇順又は降順で配列し、距離が大きいノードから距離が小さいノードに向ける方向で、インデックス二分木を構築する。
【0042】
なお、実際の応用では、一部のノードが無効であるなどの場合があり得るため、インデックス二分木は必ずしもフルツリーではなく、
図3におけるターゲットノードとの距離が5のノードが無効であると、データアドレッシング過程では、ターゲットノードとの距離が10のノードはターゲットノードとの距離が2のノードに直接ジャンプすることができ、この場合、データアドレッシングの効率が向上し、又は、ターゲットノードの距離が1のノードが無効であると、ターゲットノードとの距離が最も近いノードとターゲットノードとの距離は2、3又はほかの距離などであり得る。
【0043】
従って、インデックス二分木がフルツリーであると、「最悪の場合」に属し、即ち、ターゲットノードにジャンプするには、理論上の最大ジャンプ数が必要である場合である。ゆえに、理解できるように、
図3におけるインデックス二分木は単なる一例であり、本実施形態ではツリーの具体的な構造を特に限定しない。
【0044】
ステップS103:インデックス二分木における任意のノードがデジタルオブジェクトのデータエンティティを取得する場合、ノードを近傍リポジトリノードとして決定する。
【0045】
本実施形態では、DHTはデータエンティティdataのデータ識別子IDdataに応じてネットワーク全体におけるデータエンティティとの距離が最も近いk個のノードを選択し、k個のデータコピーをそれぞれこれらk個のノードに記憶し、従って、インデックス二分木における任意のノードはいずれもデータエンティティを記憶する近傍リポジトリノードとして機能できる。
【0046】
ステップS104:近傍リポジトリノードはデータエンティティに対して第1データ識別子を生成し、第1データ識別子がインデックス二分木のルートノードに到達するまで、第1データ識別子を近傍リポジトリノードの上位の親ノードに順に伝達し、親ノードとルートノードに、第1データ識別子を含むリバースルーティングテーブルを構築させる。
【0047】
本実施形態では、引き続き
図3の
図3(a)に示すように、ターゲットノードとの距離が10のノード(以下、10号ノードと略称)を例とし、データエンティティを記憶する近傍リポジトリノードとし、近傍リポジトリノードはデータ記憶段階では、データエンティティに対応する第1データ識別子を生成し、第1データ識別子を上位の親ノードに伝達し、即ち、ターゲットノードとの距離が5(以下、5号ノードと略称)のノードに伝達し、続いて、5号ノードは、第1データ識別子がインデックス二分木のルートノードに到達するまで、第1データ識別子をターゲットノードとの距離が2のノード(以下、2号ノードと略称)に伝達し、即ち、ターゲットノードとの距離が1のノード(以下、ルートノードと略称)に到達するまで、ターゲットノードとの距離が2のノードに伝達する。
【0048】
このように、ルートノードが第1データ識別子に対応するデータエンティティに対するクエリ要求を受信すると、ルートノードはデータエンティティが2号ノードのルーティングテーブルに存在することをわかり、2号ノードはデータエンティティが5号ノードのルーティングテーブルに存在することをわかり、5号ノードはデータエンティティが10号ノードのルーティングテーブルに存在することをわかり、10号ノードまでリバースクエリし、最終的に、10号ノードで所要のデータエンティティが見つかる。従って、リバースルーティングテーブルのアドレッシング過程は「リバースアドレッシング」と呼ばれてもよい。
【0049】
ステップS105:インデックス二分木における任意のノードがデータエンティティに対するクエリ要求を取得する場合、ノードをクエリ開始ノードとして決定する。
なお、本実施形態では、任意のインデックス二分木における任意のノードはいずれもクエリ要求の開始ノードとして機能できる。
【0050】
ステップS106:クエリ開始ノードはリバースルーティングテーブルが記憶されていない場合、Kadルーティングテーブルに従って、クエリ要求が第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、インデックス二分木においてその上位の親ノードにクエリ要求を順に転送する。
【0051】
本実施形態では、Kadルーティングテーブルのアドレッシングルールに従ってアドレッシングを行うことは、フォワードアドレッシング過程であり、具体的には、メッセージをネクストホップノードnode
nextに転送するたびに、ネクストホップノードnode
nextとターゲットノードnode
targetとの距離は少なくとも半分短縮する。
図3の
図3(b)に示すように、ターゲットノードとの距離が7のノード(以下、7号ノードと略称)をクエリ開始ノードとし、Kadルーティングテーブルのアドレッシングルールに従って、7号ノードはターゲットノードとの距離が3のノード(以下、3号ノードと略称)にクエリ要求を転送し、3号ノードはルートノードにクエリ要求を転送する。
【0052】
なお、本実施形態では、フォワードアドレッシング過程では、ルートノードが「最悪の場合」、即ち、ルートノードに到達するには最大ジャンプ数が必要である場合であることをクエリした。クエリ開始ノードが4号ノードである場合、1回ジャンプするだけで第1データ識別子を含むリバースルーティングテーブルの2号ノードを見つけ、2号ノードでリバースアドレッシングを開始することができ、それによりルートノードにジャンプする必要がない。
【0053】
さらになお、本実施形態では、クエリ開始ノードがちょうどリバースルーティングテーブルを記憶しているもの、例えば、ルートノード、2号ノード又は5号ノードである場合、直接リバースルーティングテーブルに応じて第1データ識別子に対応するデータエンティティを見つけることができる。
【0054】
ステップS107:第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードはリバースルーティングテーブルに応じて、クエリ要求を近傍リポジトリノードに転送する。
【0055】
本実施形態では、クエリ要求が第1データ識別子に対するリバースルーティングテーブルを含む親ノード又はルートノードに転送されると、対応する親ノード又はルートノードはリバースルーティングテーブルに応じて第1データ識別子に対応するデータエンティティを直接見つけることができる。
【0056】
ステップS108:近傍リポジトリノードはクエリ要求に応じて、データエンティティの現在状態情報をクエリ開始ノードに返す。
【0057】
本実施形態では、インデックス二分木に基づいて、クエリ要求はフォワードルーティングテーブル及びリバースルーティングテーブルによって必ずlogNホップ内に近傍リポジトリノードに到達することができ、O(logN)レベルのアクセス効率を実現し、近傍リポジトリノードはクエリ要求に応じて、データエンティティの現在状態情報をクエリ開始ノードに返し、デジタルオブジェクトに対するデータエンティティの状態クエリを完了する。
【0058】
本願の実施例に係る双方向ルーティングに基づくヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法は、ピアツーピアネットワークアーキテクチャを用いたP2Pネットワークに基づいて、デジタルオブジェクトのデータエンティティを記憶し、さらに空間的に分散する対応する端末装置間の接続を実現し、ヒューマンサイバーフィジカルデジタルオブジェクトアクセス環境を構築し、また、k個のデータコピーをそれぞれこれらk個のノードに記憶する定数レベルのマルチバックアップの方式によってヒューマンサイバーフィジカルデジタルオブジェクトのデータエンティティを定数個のノードにバックアップし、それによりデジタルオブジェクトアクセスの高可用性を保証し、最後に、分散ハッシュテーブルDHT技術を用いて端末装置に対応するノード間の接続関係を最適化し、双方向ルーティング技術によってデジタルオブジェクトインデックスアルゴリズムを作成し、DHTに基づくP2Pネットワークにおけるデータエンティティのデータ識別子とその記憶位置との分離を実現し、デジタルオブジェクトのデータエンティティをP2Pネットワークにおける任意のノードに記憶することを可能にし、ヒューマンサイバーフィジカルデジタルオブジェクトを生成端末から遠く離れたノードに格納することによるプライバシー漏洩のリスクを回避し、ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトの空間的制約を満たすとともに、デジタルオブジェクトのアクセス効率を向上させ、また、アクセスされたデジタルオブジェクトが最新のものであることを確保する。
【0059】
実行可能な実施形態では、ステップS104は具体的には以下のサブステップを含んでもよい。
【0060】
サブステップS104-1:近傍リポジトリノードはブルームフィルターに基づいてリバースルーティングテーブルを生成し、リバースルーティングテーブルはルーティングトリプレット<IDnode,Address,Set[BF Vector]>(IDnodeは近傍リポジトリノードのノード識別子、Addressは近傍リポジトリノードのネットワークアドレス、Set[BF Vector]は近傍リポジトリノードに含まれるデータ識別子セットである)を含む。
【0061】
なお、本実施形態では、ブルームフィルター(Bloom Filter)はバイナリベクトルデータ構造であり、構造が単純で空間の複雑さが小さいランダムデータ構造でもあり、空間及び時間効率に優れ、セットを正確に表し、「要素xがセットAにあるか否か」のような判定を回答することができる。
【0062】
なお、Bloom Filterに基づいて生成されるリバースルーティングテーブルにおけるSet[BF Vector]はベクトルセットの形式でルーティングアイテムにおけるデータ識別子セットを記憶し、つまり、Bloom Filterを用いて複数のデータエンティティにそれぞれ対応するデータ識別子をすべてノードのSet[BF Vector]に記憶するとともに、複数のデータエンティティの記憶及びクエリの要件を満たすことができる。
【0063】
サブステップS104-2:近傍リポジトリノードはデータエンティティの第1データ識別子を生成し、第1データ識別子を近傍リポジトリノードのSet[BF Vector]に書き込み、上位の親ノードに第1データ識別子を伝達する。
【0064】
サブステップS104-3:親ノードは第1データ識別子を取得する場合、親ノードに近傍リポジトリノードを指すリバースルーティングテーブルが含まれるか否かを判断する。
【0065】
サブステップS104-4:含まれると、親ノードは第1データ識別子を親ノードのSet[BF Vector]に書き込み、第1データ識別子をインデックス二分木のルートノードに到達するまで親ノードの次の親ノードに伝達し、親ノードとルートノードに、第1データ識別子を含むリバースルーティングテーブルを構築させる。
【0066】
サブステップS104-5:含まれていないと、親ノードはブルームフィルターに基づいて親ノードのルーティングトリプレットを生成し、第1データ識別子を親ノードのSet[BF Vector]に書き込み、第1データ識別子をインデックス二分木のルートノードに到達するまで親ノードの次の親ノードに伝達し、親ノードとルートノードに、第1データ識別子を含むリバースルーティングテーブルを構築させる。
【0067】
本実施形態では、第1データ識別子が通過する各ノードはいずれもBloom Filterに基づいて1つのリバースルーティングテーブルを生成し、リバースルーティングテーブルはルーティングトリプレット<IDnode,Address,Set[BF Vector]>を含む。
【0068】
一例では、
図3(a)に示すように、10号ノードを近傍リポジトリノードとし、10号ノードは、まず、Bloom Filterに基づいてリバースルーティングテーブルを生成し、第1データ識別子を10号ノードのSet[BF Vector]に書き込み、第1データ識別子を5号ノードに伝達する。5号ノードは10号ノードに対するルーティングアイテムが含まれるか否かを判断する。含まれると、新しいルーティングトリプレットを再構築する必要がなく、第1データ識別子を5号ノードのSet[BF Vector]に直接書き込み、第1データ識別子を2号ノードに伝達し、含まれていないと、新しいルーティングトリプレットを生成した後、第1データ識別子を5号ノードのSet[BF Vector]に書き込み、第1データ識別子を2号ノードに伝達する。さらにリバースルーティングテーブルによって必ず第1データ識別子に対応するデータエンティティが位置する近傍リポジトリノードをリバースクエリすることができることを確保する。
本実施形態では、ブルームフィルターの記憶オーバーヘッド、記憶複雑さ及び判定複雑さが定数レベルであるため、リバースルーティングテーブルの構築要件を満たすとともに、リバースルーティングテーブルの記憶オーバーヘッドを減少させることができる。
【0069】
なお、Bloom Filterは一定の偽陽性の確率があり、即ち、セットに属さない要素に対して該要素がこのセットに属すると判定する確率があるが、Bloom Filterの偽陽性は本実施形態におけるデータアドレッシングの正確率に影響を及ぼすことがない。その理由として、リバースアドレッシング過程では、ターゲットデータがリバースルーティングテーブルにあると、必ずアドレッシングメッセージをデータ記憶ノードに近い隣接ノードに伝達することができ、従って、Bloom Filterの偽陽性は正確なリバースアドレッシングパスに影響を及ぼすことがない。Bloom Filterの偽陽性によってメッセージが誤ったノードに転送される確率があるが、リバースアドレッシングの複雑さにのみ影響を及ぼし、且つ最大で2logNホップ後に停止し、従って、Bloom Filterに基づくリバースルーティングテーブルは最悪の場合であってもO(logN)レベルのアクセス効率を実現することができる。
【0070】
実行可能な実施形態では、ステップS106は以下の具体的なサブステップを含んでもよい。
【0071】
サブステップS106-1:クエリ開始ノードはリバースルーティングテーブルが記憶されていない場合、Kadルーティングテーブルに従って、インデックス二分木においてその上位の親ノードにクエリ要求を順に転送し、クエリ要求は第1データ識別子及びクエリ開始ノードのノード識別子を含む。
【0072】
本実施形態では、クエリ開始ノードのノード識別子をクエリ要求に書き込むことで、ターゲットデータである第1データ識別子に対応するデータエンティティを検索した場合、データエンティティの状態情報をクエリ開始ノードに直接返すことができる。
【0073】
サブステップS106-2:上位の親ノードにおけるSet[BF Vector]に第1データ識別子が含まれていない場合、クエリ要求が第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで上位の親ノードはクエリ要求を次の親ノードに伝達する。
【0074】
本実施形態では、フォワードルーティングを行う過程では、同様にBloom Filterに基づいて第1データ識別子が上位の親ノードのSet[BF Vector]に存在するか否かを判断し、存在すると、上位の親ノードに第1データ識別子に対するリバースルーティングテーブルが存在することを示し、この場合、リバースルーティングテーブルに応じて直接リバースアドレッシングを行い、存在しないと、ルートノードへのクエリ要求の伝達を継続する。
【0075】
ルートノードには必ず第1データ識別子のリバースルーティングテーブルが含まれるため、クエリ開始ノードがどのノードであるかにかかわらず、最終的に必ず限られた回数のジャンプで第1データ識別子に対するリバースルーティングテーブルをクエリしてリバースルーティングを行うことができ、それによりデータエンティティのアクセスを実現する。
【0076】
本実施形態では、本願の実施例に係るヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法に対してアルゴリズムオーバーヘッドの分析を行うことで、本実施形態はいずれのノードから出発してもターゲットデータを見つけることができるとともに、時間、記憶、ネットワークのオーバーヘッドがいずれも低いことを証明する。
【0077】
アドレッシング複雑さの分析について、Kademliaアルゴリズムに基づいて構築された構造化P2Pネットワークにおいて、あるデータに対して有向非循環グラフを得ることができ、本実施形態におけるリバースルーティングテーブルの構築プロセスは任意のノードからルートノードへのルーティング過程とみなされてもよく、長さが最大logNであり、従って、リバースルーティングテーブル構築アルゴリズムの複雑さはO(logN)である。デジタルエンティティに対するアドレッシングプロセスはフォワード及びリバースの2つの段階に分けられてもよく、フォワード段階は任意のノードからルートノードへのルーティングであるが、リバース段階はルートノードから有向非循環グラフの辺に沿って逆方向ルーティングする過程であり、長さも最大logNであり、従って、本実施形態のアドレッシング複雑さはO(logN)である。
【0078】
アドレッシング効率に対する偽陽性の影響:Bloom Filterの偽陽性はアドレッシングの正確性及び複雑さに影響を及ぼすことがなく、一定の冗長メッセージ(同一メッセージは複数回伝達される場合、複数のメッセージとみなされる)を増やすだけである。偽陽性の確率を適切に設定することで、偽陽性による冗長メッセージ量が大きなネットワークオーバーヘッドを引き起こさないことを確保できる。
【0079】
ノードスケールがNのネットワークの場合、ノード識別子は少なくともlogN個のビットを含み、即ち、各ノードはローカルでlogN個のK-バケットを有する必要があり、各K-バケットは最大でk個の隣接ノードを有し、kはノードルーティングテーブルの容量であり、それにより各ノードフォワードルーティングテーブルにおけるルーティングアイテムの数が最大でk×logNであることを得る。ノード間の接続関係の構築がランダムであり、フォワードルーティングテーブルにおけるルーティング関係の分布が均一であると仮定すると、対称性のルールに従って、ノードリバースルーティングテーブルに含まれる隣接ノードの数もk×logNである。また、偽陽性の確率pがあるため、リバースアドレッシング過程における各ホップによって発生する可能性のある偽陽性アドレッシングメッセージの分岐数はkp×logNであることが望ましい。すべてのリバースアドレッシングはlogNホップ内に停止し、第1ホップで生成される偽陽性メッセージは最大でlogNホップを通過し、第2ホップで生成される偽陽性メッセージは最大でlogN-1ホップを通過し、以下同様である。ゆえに、偽陽性による冗長メッセージ量は最大で以下の通りである。
式中、Rは冗長メッセージ量、kはノードルーティングテーブルの容量、pは偽陽性の確率、Nはノードスケールである。
【0080】
ノードスケールが1000、K-バケットの容量が20のKademlia記憶ネットワークの場合、偽陽性の確率を0.001とすると、1回のクエリではリバースルーティングテーブルの偽陽性によって生成される冗長メッセージ量は最大で約10個である。また、偽陽性による冗長アドレッシングは正確なアドレッシングパスと並行し、従って、クエリの応答時間に影響を及ぼすことがない。
【0081】
本実施形態における記憶オーバーヘッドは主にリバースルーティングテーブルにおけるBloom Filterが占める空間に反映され、本実施形態は、異なるネットワークスケールN、データ量M及びメッセージ並行性αの場合に平均してノードごとにリバースルーティングテーブルに含まれるBloom Filterベクトルの数を評価することで、本実施形態の記憶オーバーヘッドを評価する。シミュレーション実験を行ったところ、平均してノードごとにリバースルーティングテーブルに含まれるBloom Filterベクトルの数はα及びMの増加に伴って増加し、且つ最終的に安定する傾向があることがわかった。例として、N=1000、α=3の記憶ネットワークにおいて、Mが10000に達すると、平均してノードごとに含まれるBloom Filterベクトルの数が約60である。仮に、各Bloom Filterに含まれる要素の数が1000であることが望ましく、偽陽性の確率p=0.001であると仮定すると、Bloom Filterベクトルが占める記憶空間は、
である。
【0082】
従って、平均してノードごとのリバースルーティングテーブルの総オーバーヘッドは約60*S=864Kbitsだけである。
【0083】
以上のように、本実施形態に係る双方向ルーティング技術に基づくヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法は、データアドレッシングの複雑さを増やすことなく、データエンティティのデータ識別子とその記憶位置との分離を実現し、デジタルオブジェクトのデータエンティティをP2Pネットワークにおける任意のノードに記憶することを可能にし、いずれのノードから出発してもターゲットデータを見つけることができるだけでなく、本実施形態における時間、記憶、ネットワークオーバーヘッドはいずれも低い。
【0084】
第2態様によれば、
図4に示すように、同じ発明アイディアに基づいて、本願の実施例はヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセスシステム600を提供し、
分散ハッシュテーブルDHTに基づいて、各ノードがノードに対応するノード識別子を含むP2Pネットワークを構築し、ノード識別子に応じて、Kademliaアルゴリズムを利用して各ノードに対応するKadルーティングテーブルを構築するように構成されるP2Pネットワーク構築モジュール601と、
P2Pネットワークにおける任意のノードをターゲットノードとし、ターゲットノードに対応するKadルーティングテーブルにおける各ノードとターゲットノードとの論理距離を計算し、各ノードとターゲットノードとの論理距離に応じて、インデックス二分木を構築するように構成されるインデックス二分木構築モジュール602と、
インデックス二分木における任意のノードがデジタルオブジェクトのデータエンティティを取得する場合、ノードを近傍リポジトリノードとして決定するように構成される第1決定モジュール603と、
近傍リポジトリノードに配置され、データエンティティに対して第1データ識別子を生成し、第1データ識別子がインデックス二分木のルートノードに到達するまで第1データ識別子を近傍リポジトリノードの上位の親ノードに順に伝達し、親ノードとルートノードに、第1データ識別子を含むリバースルーティングテーブルを構築させるように構成されるリバースルーティングテーブル構築モジュール604と、
インデックス二分木における任意のノードがデータエンティティに対するクエリ要求を取得する場合、ノードをクエリ開始ノードとして決定するように構成される第2決定モジュール605と、
クエリ開始ノードに配置され、リバースルーティングテーブルが記憶されていない場合、Kadルーティングテーブルに従って、クエリ要求が第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、インデックス二分木においてその上位の親ノードにクエリ要求を順に転送するフォワードクエリモジュール606と、
第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに配置され、リバースルーティングテーブルに応じてクエリ要求を近傍リポジトリノードに転送するように構成されるリバースクエリモジュール607と、
近傍リポジトリノードに配置され、近傍リポジトリノードがクエリ要求に対して返すデジタルオブジェクト状態情報をクエリ開始ノードに返すように構成される情報返しバックモジュール608と、を備える。
【0085】
本願の一実施例では、インデックス二分木構築モジュール602は、
以下の排他的論理和計算式を用いて、ターゲットノードに対応するKadルーティングテーブルにおける各ノードとターゲットノードとの論理距離を計算する距離計算サブモジュールを備える。
式中、node1はターゲットノード、ID
node1はターゲットノードのノード識別子、node2はKadルーティングテーブルにおける任意のノード、ID
node2はKadルーティングテーブルにおける任意のノードのノード識別子、d(node1,node2)はターゲットノードとKadルーティングテーブルにおける任意のノードとの論理距離である。
【0086】
本願の一実施例では、インデックス二分木構築モジュール602は、
各ノードとターゲットノードとの論理距離に応じて、インデックス二分木の第i層のツリーノードを昇順又は降順でターゲットノードとの論理距離が[2i-1,2i)(iは正の整数)の範囲にあるノードに順に保存するように構成されるツリー構築サブモジュールをさらに備える。
【0087】
本願の一実施例では、リバースルーティングテーブル構築モジュール604は、
近傍リポジトリノードに配置され、ブルームフィルターに基づいてリバースルーティングテーブルを生成するように構成され、リバースルーティングテーブルはルーティングトリプレット<IDnode,Address,Set[BF Vector]>(IDnodeは近傍リポジトリノードのノード識別子、Addressは近傍リポジトリノードのネットワークアドレス、Set[BF Vector]は近傍リポジトリノードに含まれるデータ識別子セットである)を含むリバースルーティングテーブル生成サブモジュールと、
近傍リポジトリノードに配置され、データエンティティの第1データ識別子を生成し、第1データ識別子を近傍リポジトリノードのSet[BF Vector]に書き込み、上位の親ノードに第1データ識別子を伝達するように構成される第1伝達サブモジュールと、
親ノードが第1データ識別子を取得する場合、親ノードに近傍リポジトリノードを指すリバースルーティングテーブルが含まれるか否かを判断するように構成される判断サブモジュールと、
親ノードに配置され、親ノードに近傍リポジトリノードを指すリバースルーティングテーブルが含まれる場合、第1データ識別子を親ノードのSet[BF Vector]に書き込み、第1データ識別子をインデックス二分木のルートノードに到達するまで次の親ノードに伝達し、親ノードとルートノードに、第1データ識別子を含むリバースルーティングテーブルを構築させるように構成される第2伝達サブモジュールと、
親ノードに配置され、親ノードに近傍リポジトリノードを指すリバースルーティングテーブルが含まれていない場合、ブルームフィルターに基づいて親ノードのルーティングトリプレットを生成し、第1データ識別子を親ノードのSet[BF Vector]に書き込み、第1データ識別子をインデックス二分木のルートノードに到達するまで次の親ノードに伝達し、親ノードとルートノードに、第1データ識別子を含むリバースルーティングテーブルを構築させるように構成される第3伝達サブモジュールと、を備える。
【0088】
本願の一実施例では、フォワードクエリモジュール606は、
クエリ開始ノードに配置され、クエリ開始ノードにリバースルーティングテーブルが記憶されていない場合、Kadルーティングテーブルに従って、上位の親ノードにクエリ要求を順に転送するように構成され、クエリ要求は第1データ識別子及びクエリ要求開始ノードのノード識別子を含む第4伝達サブモジュールと、
上位の親ノードにおけるSet[BF Vector]に第1データ識別子が含まれるか否かを判断するように構成される第2判断サブモジュールと、
上位の親ノードに配置され、上位の親ノードにおけるSet[BF Vector]に第1データ識別子が含まれる場合、第1データ識別子に対応するデジタルオブジェクト状態情報をクエリ開始ノードに返すように構成される第5伝達サブモジュールと、
上位の親ノードに配置され、上位の親ノードにおけるSet[BF Vector]に第1データ識別子が含まれていない場合、クエリ要求が第1データ識別子を含むリバースルーティングテーブルの親ノード又はルートノードに到達するまで、クエリ要求を上位の親ノードの次の親ノードに伝達するように構成される第6伝達サブモジュールと、を備える。
【0089】
なお、本願の実施例のヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセスシステム600の特定の実施形態について、上記本願の実施例のヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法の特定の実施形態を参照すればよく、ここでは重複説明を省略する。
【0090】
当業者は、本発明の実施例が方法、装置、又はコンピュータープログラム製品として提供され得ることを理解すべきである。従って、本発明の実施例は、完全にハードウェアの実施例、完全にソフトウェアの実施例、またはソフトウェアとハードウェアの態様を組み合わせた実施例の形をとることができる。さらに、本発明の実施例は、コンピュータで使用可能なプログラムコードを含むコンピュータで使用可能な記憶媒体(ディスク記憶装置、CD-ROM、光学記憶装置などを含むがこれらに限定されない)上に実施できる1つまたは複数のコンピュータプログラム製品の形態をとることができる。
【0091】
本発明の実施例は、本願の実施例に係る方法、端末装置(システム)、及びコンピュータープログラム製品のフローチャートおよび/またはブロック図を参照して説明される。コンピュータープログラム命令でフローチャートおよび/またはブロック図における各フローおよび/またはブロック、及びフローチャートおよび/またはブロック図におけるフローおよび/またはブロックの組み合わせを実現することができる。これらのコンピュータープログラム命令を汎用コンピューター、専用コンピューター、組み込みプロセッサ又は他のプログラム可能なデータ処理端末装置のプロセッサに提供して機械を生成することができ、これにより、コンピューター又は他のプログラム可能なデータ処理端末装置のプロセッサによって実行される命令は、フローチャートの1つのフロー又は複数のフローおよび/またはブロック図の1つのブロック又は複数のブロックに指定される機能を実現するための装置を生成する。
【0092】
これらのコンピュータープログラム命令は、コンピューター又は他のプログラム可能なデータ処理端末装置が特定の方法で動作するように指示することができるコンピュータ可読メモリに記憶されてもよく、これにより、当該コンピューター可読メモリに記憶される命令は命令装置を含む製品を生成し、当該命令装置は、フローチャートの1つのフロー又は複数のフローおよび/またはブロック図の1つのブロック又は複数のブロックに指定される機能を実現する。
【0093】
これらのコンピュータプログラム命令は、コンピューターまたは他のプログラム可能なデータ処理端末装置にロードすることもでき、その結果、一連の操作ステップがコンピューター又は他のプログラム可能な処理端末装置で実行されて、コンピュータで実現される処理を生成することもできる。これにより、コンピューター又は他のプログラム可能な処理端末装置上で実行される命令は、フローチャートの1つのフロー又は複数のフローおよび/またはブロック図の1つのブロック又は複数のブロックに指定される機能を実現するためのステップを提供する。
【0094】
本発明の実施例の好ましい実施例が説明されてきたが、当業者は、基本的な発明の概念が知ると、これらの実施例に他の変更および修正を加えることができる。したがって、添付の特許請求の範囲は、好ましい実施例と、本発明の実施例の範囲内にあるすべての変更および修正を含むと解釈されることを意図している。
【0095】
ただし、明細書では、第1および第2などの関係用語は、あるエンティティまたは操作を別のエンティティまたは操作と区別するためにのみ使用され、必ずしもこれらのエンティティまたは操作間にそのような実際の関係または順序が存在することを要求または暗示することない。さらに、「備える」、「含む」またはそれらの任意の他の変形は、非排他的な包含をカバーすることを意図している。そのため、一連の要素を含む過程、方法、物品、または端末デバイスには、それらの要素だけでなく、明示的にリストされていない他の要素、またはそのような過程、方法、物品、または端末デバイスに固有の要素も含まれる。さらなる制限なしに、「1つの...を含む」という句によって定義される要素は、前記要素を含む過程、方法、物品、または端末デバイスにおける他の同じ要素の存在を排除するものではない。
【0096】
以上、本発明に係るヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステムが詳細に説明され、本明細書では、特定の例により、本発明の原理および実施形態が説明されたが、上記の実施例の説明は、本発明の方法とそのコアアイデアを理解するためにのみ使用され、また、当業者にとって、本発明の思想に基づいて、具体的な実施形態及び適用範囲は変更が可能である。要約すると、本明細書の内容は、本発明の限定として解釈されるべきではない。
【符号の説明】
【0097】
600-ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセスシステム;601-P2Pネットワーク構築モジュール;602-インデックス二分木構築モジュール;603-第1決定モジュール;604-リバースルーティングテーブル構築モジュール;605-第2決定モジュール;606-フォワードクエリモジュール;607-リバースクエリモジュール;608-情報返しバックモジュール。
【要約】 (修正有)
【課題】ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステムを提供する。
【解決手段】方法は、分散ハッシュテーブルDHTに基づいてP2Pネットワークを構築し、Kademliaアルゴリズムを利用して各ノードに対応するKadルーティングテーブルを構築し、Kadルーティングテーブルにおける各ノードとターゲットノードとの論理距離に応じて、インデックス二分木を構築し、デジタルオブジェクトを記憶するノードがルートノードにメッセージを伝達する過程では、メッセージが通過するノードは該デジタルオブジェクトに対するリバースルーティングテーブルを構築する。それによりデータクエリ段階では、いずれのノードから出発してもKadルーティングテーブルとリバースルーティングテーブルによってターゲットデータを見つけることができる。
【選択図】
図1