JP2011175448A - ノード装置およびコンピュータプログラム - Google Patents

ノード装置およびコンピュータプログラム Download PDF

Info

Publication number
JP2011175448A
JP2011175448A JP2010038871A JP2010038871A JP2011175448A JP 2011175448 A JP2011175448 A JP 2011175448A JP 2010038871 A JP2010038871 A JP 2010038871A JP 2010038871 A JP2010038871 A JP 2010038871A JP 2011175448 A JP2011175448 A JP 2011175448A
Authority
JP
Japan
Prior art keywords
node
transfer destination
transfer
unit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010038871A
Other languages
English (en)
Other versions
JP5336403B2 (ja
Inventor
宏紀 ▲榊▼原
Hiroki Sakakibara
Toru Kamiwada
徹 上和田
Kiyohiko Ishikawa
清彦 石川
Toshiyuki Omata
寿之 大亦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Japan Broadcasting Corp
Original Assignee
Fujitsu Ltd
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Fujitsu Ltd
Priority to JP2010038871A priority Critical patent/JP5336403B2/ja
Priority to US13/032,141 priority patent/US20110208828A1/en
Publication of JP2011175448A publication Critical patent/JP2011175448A/ja
Application granted granted Critical
Publication of JP5336403B2 publication Critical patent/JP5336403B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】オーバーレイネットワークにおいて、一つのノードに負荷を集中させることなくオブジェクトの検索に必要な情報の消失を防ぐ。
【解決手段】ノード装置は、自ノードとしてオーバーレイネットワークに参加している状態において、オブジェクト位置との距離が自ノードとオブジェクト位置との距離よりも小さいノードをオブジェクトが保持されたノードを示すキャッシュ情報の転送先に選定する転送先選定部と、転送先選定部によって選定された転送先にキャッシュ情報を転送する情報転送部とを備える。さらに、オーバーレイネットワークから離脱させる指示を受けたときに、キャッシュ情報をこれまで保持していた空間の外に位置するノードにキャッシュ情報を拡散するようにキャッシュ情報の転送先に選定し、選定された転送先にキャッシュ情報を転送する。
【選択図】図11

Description

本願は、分散ハッシュテーブルを用いるネットワークに接続されるノード装置およびそれの機能を実現するコンピュータプログラムに関する。
ピアツーピア(以下、P2Pと記す)ネットワークにおいて、ルーティングの手法として分散ハッシュテーブル(DHT: Distributed Hash Table)が用いられている。分散ハッシュテーブルは、所定のハッシュ関数によって決まるハッシュ値の集合であるハッシュ空間にノードを写像し、それによってオーバーレイネットワークを構築する。例えば、映像、音声、ソフトウェアといった各種のコンテンツを複数のノードが共有するオーバーレイネットワークでは、コンテンツごとにそれの所在を管理するノードが定められる。あるコンテンツについては、ハッシュ空間において当該コンテンツに定まるハッシュ値に近いノードが所在管理を担当する。コンテンツの所在管理を担当するノードは、コンテンツそのものを保持するノードを示すキャッシュ情報をコンテンツ検索のためのインデックス情報として保持する。これにより、任意のノードは他のノードが保持するコンテンツを取得することができる。すなわち、任意のノードは、取得したいコンテンツに対してハッシュ値を求め、求めたハッシュ値に該当するノードにコンテンツの所在を問い合わせ、コンテンツを保持するノードと通信してコンテンツを受け取る。分散ハッシュテーブルによれば、ネットワークに参加している全てのノードがP2P通信によって相互にコンテンツを高速に検索することができる。
ノードが随時に離脱したり参加したりするネットワークでは、所在管理担当のノードの離脱によるキャッシュ情報の消失を防ぐため、各コンテンツのキャッシュ情報が定期的に再登録される、または、複数のノードによって冗長的に保持される。例えば、自ノードがキャッシュ情報を登録した相手先となる、所在管理担当のノードに対して、接続を監視し、切断を検知すると、新たなノードを定め直して、キャッシュ情報を再登録する手法が提案されている(特許文献1)。また、複数のノードに同じキャッシュ情報を冗長的に記憶させることに関して、ハッシュ空間での距離に基づいて複数のノードを選定する認証システムがある(特許文献2)。この認証システムは、被認証ノードの正当性を、認証ノードが他の複数のノードに記録されている被認証ノードの検証情報に基づいて認証するシステムであり、全ノードを管理する管理用ノードを備える。管理用ノードは、被認証ノードの検証情報のハッシュ値との距離が所定値以下であるノード、すなわち当該検証情報に近い複数ノードに当該検証情報(キャッシュ情報)を記録させる。管理用ノードが求める距離は、ハッシュ値どうしの排他的論理和である。
一方、ネットワーク管理の処理負担の軽減に関して、階層ツリー構造のネットワークにおけるツリーの途中にノード接続の態様を制御する手段を設けることが提案されている(特許文献3)。配信元装置を頂点として階層ツリー状に接続された情報処理装置が第1サブネットワークを構成する。第1サブネットワークの情報処理装置のいずれかが頂点情報処理装置とされ、頂点情報処理装置を頂点として階層ツリー状に接続された情報処理装置が第2サブネットワークを構成する。頂点情報処理装置が第2サブネットワークにおける接続の管理を受け持ち、ネットワーク全体の接続管理の負担が低減する。
特開2006−246225号公報 特開2009−169861号公報 特開2008−252498号公報
複数のノードがキャッシュ情報を冗長的に保持していたとしても、これらノードが全てネットワークから離脱すれば、キャッシュ情報は消失する。キャッシュ情報がコンテンツを保持するノードを示すコンテンツ所在管理リストであった場合は、コンテンツ検索要求を送信したが、コンテンツ取得先を得られない、また、キャッシュ情報がノードの検証情報で合った場合は、正規のノードであるにもかかわらず、正当に認証されない、などの問題が発生する。管理担当のノードが離脱したときに、キャッシュ情報に関わるコンテンツを保持するノードが管理担当のノードを定め直してキャッシュ情報を再登録することにすれば、キャッシュ情報の消失を防ぐことができる。また、特許文献2においては、キャッシュ情報となる検証情報を保持するノードが離脱したときに、全ノードを管理する管理用ノードが、検証情報を保持させるノードを定め直して再配信することにより、認証システムは機能することができる。しかし、そのようにすると、各ノードは、自己が保持するコンテンツごとに管理担当のノードを記憶し、かつ、離脱の有無を検知するための接続確認を頻繁に行わなければならない。ネットワーク内で共有されるコンテンツが増えるに従って、接続確認のためのトラフィックが増大する。特許文献2において、接続確認や検証情報の再配信など、特定の管理用ノードのトラフィックを増大させることは、P2Pのメリットが失わせる。
オーバーレイネットワークにおいて、検索対象となるコンテンツの所在を示す、コンテンツ所在管理リストや、他ノードの検証情報を、一つのノードに負荷を集中させることなく複製配置し、それらキャッシュ情報の消失を防ぐ手法を提案する。
オーバーレイネットワークのノードとして当該オーバーレイネットワークの他のノードと通信するノード装置は、通信相手の選択肢を示すルーティング情報を保持するルーティング情報保持部と、前記オーバーレイネットワークでの検索対象となるデータを保持したノードを示すキャッシュ情報を保持するキャッシュ情報保持部と、前記オーバーレイネットワークが構築される論理空間における、自ノードと前記キャッシュ情報の論理位置であるオブジェクト位置との距離を算出する第1演算部と、前記論理空間における前記自ノード以外のノードである注目ノードと前記オブジェクト位置との距離を算出する第2演算部と、前記第1演算部および第2演算部によってそれぞれ算出された距離に基づいて前記キャッシュ情報の転送先を選定する転送先選定部と、前記転送先選定部によって選定された転送先に前記キャッシュ情報を転送する情報転送部とを備える。当該ノード装置が前記自ノードとして前記オーバーレイネットワークに参加している状態において、前記第2演算部は、前記ルーティング情報が示すノードを前記注目ノードとして距離を算出し、前記転送先選定部は、前記第2演算部によって算出された距離が前記第1演算部によって算出された距離よりも小さいノードを転送先に選定する。さらに、ノード装置は、自ノードと前記論理空間における注目ノードとの距離を算出する第3演算部を備え、オーバーレイネットワークから離脱するノードは、第1、第2及び第3演算部によって算出された距離の比較によって、前記論理空間上、オブジェクト位置より、遠ざかる方向に存在するノードを転送先に選定する。
論理空間において自ノードよりもオブジェクト位置に近いノードにキャッシュ情報が転送されるので、新たにオーバーレイネットワークに参加したノードに対して、キャッシュ情報の登録元のノードが登録先に対して再登録を行わなくても、ネットワーク内でキャッシュ情報が冗長的に保持される。また、キャッシュ情報を保持するノードが離脱する際に、オブジェクト位置より、遠ざかる方向にキャッシュ情報を拡散することができるので、キャッシュ情報がネットワークから消失することなく、ネットワークに参加している複数のノード装置で冗長的に保持し続けることができる。
ネットワークの概略を示す図である。 ルーティングテーブルの例を示す図である。 ハッシュ値どうしの距離の例を示す図である。 一つのノードとその近傍のノードとの距離関係を模式的に示す図である。 ノード装置の構成の第1例を示す図である。 キャッシュ情報の例を示す図である。 ノード装置の動作の概略を示すフローチャートである。 参加時の動作の流れを示すフローチャートである。 通常時の転送動作の流れを示すフローチャートである。 離脱時の転送動作の流れを示すフローチャートである。 通常時におけるキャッシュ情報の転送の例を示す図である。 離脱時におけるキャッシュ情報の転送の第1例を示す図である。 離脱時におけるキャッシュ情報の転送の第2例を示す図である。 ノード装置の構成の第2例を示す図である。 転送管理部の動作の流れを示すフローチャートである。 第2例のノード装置による通常時におけるキャッシュ情報の転送の形態を示す図である。 第2例のノード装置による離脱時におけるキャッシュ情報の転送の形態を示す図である。
図1に示されるようなネットワーク1を想定する。ネットワーク1は、P2Pネットワークを構成する複数のノード装置をハッシュ空間に写像したオーバーレイネットワークである。ハッシュ空間は、n桁(nは自然数)の2進数で表わされるn次元の論理空間の一種であって、ノードの位置がハッシュ関数によって決まる空間である。
ネットワーク1は、図示された複数のノードNa,Nb,Nc,Nd,Ne,Nf,Ng,Nh,Ni,Nj、および図示されない複数のノードを有する。ネットワーク1内の全てのノードは、それぞれノード装置に対応する。ノード装置は、パーソナルコンピュータ、PDA(Personal Digital Assistant)またはネットワーク接続可能な他の情報機器である。ノードNa〜Njには、それぞれに固有のノードID(identification)にハッシュ関数を適用して得られるハッシュ値がハッシュ空間内での位置として対応づけられている。図では各ノードNa〜Njのハッシュ値が便宜的に十進数で表記されている。
ネットワーク1では、“オブジェクト”についての検索(探索ともいう)が、オブジェクトを保持していないノードによって行われる。検索の時点で、いずれかのノードにおいてオブジェクトが保持されている場合もあるし、いずれのノードにも保持されていない場合もあり得る。検索の対象となるオブジェクトの代表例は、映像や音楽といったいわゆるコンテンツである。他には、各ノードの認証情報を他のノードが検証する場合に当該他のノードが保持する検証情報が、オブジェクトとして挙げられる。
キャッシュ情報を次のように定義する。キャッシュ情報は、P2Pネットワークによって、分散保持されている情報であって、検索されるキー(ハッシュ値)に対して、キーを受信した場合に、何らかのバリューが応答可能か否かをノードが判断するための基となるデータ(例えば、コンテンツ所在管理リスト)や、検索応答を受信した後、検索応答に記述された接続先ノードに対して、処理を要求すると、情報提供される基となるデータ(例えば、コンテンツ、ノードの検証情報)を想定する。つまり、検索するオブジェクトがコンテンツ(コンテンツID=ID0)の場合には、ハッシュ関数Hash()を適用することによって得られたハッシュ値Hash(ID0)に近いノードが、コンテンツを保持するノードを示す情報(コンテンツ所在管理リスト)を管理担当することになり、このコンテンツ所在管理リストをキャッシュ情報と定義する。また、前記特許文献2のような認証システムにおいては、管理用ノードが、ノード(ノードID= ID0)の検証情報を、ハッシュ値Hash(ID0+α)に近いノードから、複数に配置することになり、この配置された、ノードが保持する他ノード検証情報をキャッシュ情報と定義する。ここでαは、適用システムにて設定される定数とする。認証システムにおいては、被認証ノード(ノードID= ID0)の認証を担当するノードは、ハッシュ値Hash(ID0+α)に近いノードを検索することによって、被認証ノード(ノードID= ID0)の検証情報を保持するノードを探し出し、検証依頼を要求、検証結果を受信できる。キャッシュ情報の保持を担当するノードは、オブジェクトの識別子(ID0、または、ID0+α)のハッシュ値と同一または近いハッシュ値に対応づけられているノードである。ハッシュ値はハッシュ空間における位置に相当するので、オブジェクトの論理的な位置(これをオブジェクト位置と呼称する)またはその近傍に写像されているノードによってキャッシュ情報が保持されることになる。すなわち、ネットワーク1では、オブジェクト位置をキー(Key)として、キャッシュ情報やキャッシュ情報から判断される値をValueとして取得する検索が行われる。
図1の例示では、ノードNbとノードNfとの間で、あるコンテンツAの授受が行われる。ここでは、コンテンツAを映像データとし、詳しくは放送局から放送や通信によって提供される番組または番組の一部とする。ただし、コンテンツAは映像データ以外であってもよい。コンテンツAの授受の基本的な手順は次のとおりである。
ノードNbは、放送を受信してコンテンツAを取得すると、コンテンツAについてのキャッシュ情報LAを保持すべきノードに保持を依頼する(段階[1])。このとき、コンテンツAを特定するコンテンツID(番組名等でもよい)のハッシュ値、すなわちコンテンツ位置が「60」であるとする。また、コンテンツ位置に最も近いノードがノードNiであるとする。ノードNbは、コンテンツ位置に近いノードを探索するルーティングによってノードNiを特定し、ノードNiに所定のメッセージを送信する。
メッセージを受けたノードNiは、コンテンツAがノードNbによって保持されていることを示すキャッシュ情報LAを作成して保持する。これにより、コンテンツAが検索対象のオブジェクトとして登録される(段階[2])。なお、この登録に関して、契機となったメッセージの送信元のノード(この例でのノードNb)を登録元と呼び、メッセージを受けて登録をしたノード(この例でのノードNi)を登録先と呼ぶ。
その後、例えばノードNfがコンテンツAを取得するために検索をする。ノードNfはコンテンツ位置(コンテンツIDのハッシュ値)を求め、コンテンツ位置に近いノードに向けてコンテンツAの所在を照会するクエリを送信する。クエリはコンテンツAに関するキャッシュ情報LAを有するノードNiに受信される。ノードNiは、コンテンツAの所在であるノードNbのアドレス情報を、クエリの送信元であるノードNfに通知する(段階[3])。
クエリに対する回答を得たノードNfは、ノードNbとの通信を試みる。ノードNbがネットワーク1から離脱しておらず、かつノードNbにおいてコンテンツAが削除されていなければ、ノードNbからノードNfへコンテンツAが転送される(段階[4])。
このような手順によって、ネットワーク1内に存在する他の任意のコンテンツについても、コンテンツAと同様に所定のノード間で授受が行われる。
ネットワーク1におけるルーティングには、例えばKademliaを用いることができる。KademliaはDHTアルゴリズムの一つである。Kademliaには、スケーラビリティの高い検索が可能であり、ノードの参加・離脱に伴う経路維持のための各ノードの負担が小さいという利点がある。
図2(A)はKademliaに係るルーティングテーブルT1の構成を示す。ルーティングテーブルT1は、K-bucketと呼ばれる接続先ノードのリストである。0からハッシュ値のビット数までの値をとるbucket番号iの値ごとに、規定個数(例えば8個)以下のノードが登録される。登録されるノードには、IP(Internet Protocol)アドレスおよびポート番号といったネットワーク通信のため情報が対応づけられる。例えばハッシュ関数がSHA−1(Secure Hash Algorithm 1)である場合、ハッシュ値のビット数は160であるので、bucket番号iのとる値の範囲は0〜160である。bucket番号iは、当該ルーティングテーブルT1を保持する自ノードと接続先ノードとの距離の区分を表わす。bucket番号iの各値には、2i以上2i+1未満の距離が対応する。図中の距離の値は十進数で表記されている。
図2(B)ではハッシュ値が二分木で図式化されている。そして、下位4ビットが1000であるハッシュ値を自ノードとして、bucket番号iが0〜4のノードが示されている。二分木における斜体の数字「0」「1」はビット値を表わす。図2(B)では、ノードがノード間の距離とは関係なくハッシュ値そのものの大きさ順に等間隔に並んでいる。
本実施形態のネットワーク1における“距離”とは、ネットワーク1が構築される論理空間上の位置に相当するハッシュ値どうしの排他的論理和(XOR)である。例えば、下位5ビットに差異がある値「11111B」と値「11000B」との距離は「111B」(十進表記で7)である。排他的論理和で定義される距離には、ユークリッド空間での距離と同様に、2点の一方からみた値と他方からみた値とが等しいという対称性がある。
ネットワーク1における距離には対称性があるものの、3以上のノードについての遠近関係は注目するノードによって異なる。図3において、例えばノード[25]([]内の数字は十進表記のハッシュ値を表わす)とノード[28]との距離は十進表記の5で、ノード[25]とノード[29]との距離は4である。すなわち、ノード[25]からみると、ノード[29]の方がノード[28]よりも近い。これに対して、ノード[26]とノード[28]との距離は6で、ノード[26]とノード[29]との距離は7である。すなわち、ノード[26]からみると、ノード[28]のの方がノード[29]よりも近い。
そこで、以下においては、図4の下半部に描かれた二分木のようにノード相互の遠近を表わす図を必要に応じて参照する。図4の下半部に描かれた二分木は、上半部に描かれたノードN1〜N8が等間隔に並ぶ二分木を変形させたものである。図4の下半部に描かれた二分木では、下位4ビットが1010の値をもつノードN3からみた他のノードN1,N2,N4〜N8との遠近関係が表わされている。
次に、上記ネットワーク1のノードの一つとして機能するノード装置の構成および動作を説明する。
〔ノード装置の第1例〕
図5に示されるノード装置10は、ノードとしての基本動作のためのソフトウェア構成要素として、ネットワーク送受信部12、応答処理部14、ルーティング情報保持部16、およびキャッシュ情報保持部18を備える。また、ノード装置10は、キャッシュ情報Lの転送に関係するソフトウェア構成要素として、論理距離演算部20、転送先選定部24、情報転送部26、隣接ノード検索部28、およびノード停止処理部30を備える。これらの要素は、図示しない所定のハードウェア要素によるコンピュータプログラムの実行によって実現される。
ネットワーク送受信部12は、ネットワーク1内の他のノード装置との間で、メッセージおよびクエリを送受信する。他のノード装置からの検索要求を受信すると、ネットワーク送受信部12は応答処理部14に要求を引き渡す。ルーティングのための検索が要求されたとき、応答処理部14は、ルーティング情報保持部16によって更新されるルーティングテーブルT1から検索要求に該当する情報を抽出する。応答処理部14によって抽出された情報は、ネットワーク送受信部12によって検索要求元のノードへ送信される。また、キャッシュ情報Lの保持が要求されたとき、応答処理部14はキャッシュ情報保持部18に処理を依頼する。依頼を受けて、キャッシュ情報保持部18は、所定のメモリにキャッシュ情報Lを格納する。その後、キャッシュ情報Lはノード装置10がネットワーク1を離脱するまで保持される。
検索要求の受信を含めて他のノード装置との間で何らかの通信が行われることは、他のノードがネットワーク1に参加していることを意味する。何らかの通信が行われたとき、ルーティング情報保持部16は、ルーディングテーブルT1の保守をする。通信相手がルーディングテーブルT1に登録されていない場合、通信相手がそれに該当するbucket番号iにおける末尾に登録され、ルーディングテーブルT1が更新される。このとき、bucket番号iにおける先頭のノードについて接続確認が行われ、先頭のノードが参加中(online)でなければ、この先頭のノードはルーディングテーブルT1から削除される。接続確認は、bucket番号iにおいて、規定個数(例えば8個)以上のノードが登録されている場合にのみ実施してもよい。Kademliaでは通常の通信に際してルーディングテーブルT1を逐次更新するので、経路維持のための専用の通信が不要である。
論理距離演算部20は、第1演算部21と、第2演算部22と、第3演算部23とを有する。第1演算部21は、ノード装置10自身に該当するノードである自ノードとコンテンツ位置との距離D1を算出する。すなわち、自ノードIDのハッシュ値とコンテンツIDのハッシュ値との排他的論理和が第1演算部21によって算出される。第2演算部22は、自ノード以外のノードの中の注目する一つのノード(注目ノード)とコンテンツ位置との距離D2を算出する。第3演算部23は、第2演算部22の演算対象と同じ注目ノードと自ノードとの距離D3を算出する。ハッシュ関数を「H(被変換ビット列)」と表し、排他的論理和を記号「 ^ 」で表わすと、距離D1,D2,D3は次の式で表わされる。
D1=H(自ノードID) ^ H(コンテンツID)
D2=H(注目ノードID) ^ H(コンテンツID)
D3=H(自ノードID) ^ H(注目ノードID)
転送先選定部24は、複数ノードによる冗長的な保持または離脱時の委譲のために行うキャッシュ情報Lの転送に際して、転送先のノードを選定する。転送先の選定は、論理距離演算部20によって算出される距離D1,D2,D3に基づいて行われる。選定の詳細は後述のとおりである。転送先選定部24は、選定した一つまたは複数の転送先を情報転送部26に伝える。
情報転送部26は、ネットワーク送受信部12と連携して、キャッシュ情報保持部18によって保持されているキャッシュ情報Lを転送先選定部24によって選定された転送先に転送する。
隣接ノード検索部28は、自ノードに隣接するノードである隣接ノードを検索する。ここでいう隣接ノードとは、自ノードIDのハッシュ値の最下位ビットを反転したハッシュ値をノードIDとするノードである。隣接ノード検索部28は、通常動作として、ルーティングテーブルT1に登録されているノードの中で自ノードに最も近いノードに対して、隣接ノードの検索を要求する。要求を受けたノードは、それが保持するルーティングテーブルを検索し、要求に該当するノードがあれば、該当するノードの情報を要求元に送る。このとき、該当するノードが無くても、該当するノードに近い所定数のノードの情報を要求元に送るようにしてもよい。このような隣接ノード検索部28による検索の実行は、上述の転送先選定部24が転送先を選定する契機となる。
ノード停止処理部30は、自ノードをネットワーク1から離脱させる指示の入力を監視する。指示が入力されると、ノード停止処理部30は転送先選定部24に指示を伝える。
指示を受けた転送先選定部24がキャッシュ情報Lの保持を委譲する転送先を選定し、情報転送部26がキャッシュ情報Lを転送する。ノード停止処理部30が入力を監視する指示は、ノード装置10のユーザが図示しないユーザインタフェースを用いて所定の操作をすることによってノード装置10に与えられる。自動離脱機能が設けられている場合には、ユーザ操作時の他に、予め設定された自動離脱時期にノード停止処理部30に指示が入力される。
図6にキャッシュ情報Lの例が示される。本実施形態のキャッシュ情報Lは、あるコンテンツAのコンテンツIDのハッシュ値と、当該コンテンツAの登録元であるノードのIPアドレスおよびポート番号とを有する。IPアドレスおよびポート番号はコンテンツIDのハッシュ値に対応づけられている。コンテンツIDにSHA−1を適合すると、コンテンツIDのハッシュ値は2160ビットの長さをもつ。同じコンテンツIDをもつ複数のコンテンツAがそれぞれ異なるノードに保持され、それに伴って一つのコンテンツIDに対して複数の登録元が存在する場合もある。この場合、一つのコンテンツIDに対して、IPアドレスおよびポート番号の組が複数登録される。また、コンテンツ数は1に限らず、コンテンツAのコンテンツIDのハッシュ値と近いハッシュ値を持つ複数のコンテンツについて、それぞれの登録元のIPアドレスおよびポート番号が登録される場合もある。この場合、コンテンツAについての問い合わせに際しては、キャッシュ情報LのうちのコンテンツAに関する部分LAの情報が問い合わせ元に送られる。いずれの場合であって、登録元のノードが離脱していたり、コンテンツを削除していたりすることがある。したがって、厳密には、キャッシュ情報Lはコンテンツの所在を示す情報ではなく、所在の候補を示す情報である。この意味において、キャッシュ情報Lは“コンテンツ所有候補リスト”と言える。
以上の構成のノード装置10の動作の流れが図7、8、9、10のフローチャートによって示される。
図7のように、ネットワーク1に参加したノード装置10は、まず参加処理を実行してルーティング情報を構築する(#1)。参加処理を終えた後、スリープ処理の実行によってノード装置10は待機状態(スリープ)に移行する(#2)。他のノード装置からのメッセージ入力や一定時間の経過を契機とするスリープ解除といったイベントが発生すると、ノード装置10は待機状態から通常動作状態に復帰し、他のノード装置と通信する応答処理を実行する(#3)。登録元のノードまたはノード装置10と同様の転送機能をもつ近傍のノードからキャッシュ情報Lの保持が要求された場合、応答処理においてキャッシュ情報保持部18によってキャッシュ情報Lが記憶される。続いて、ノード装置10は、キャッシュ情報Lの保持を冗長化するための通常時の転送処理を実行する(#4)。ノード装置10は、離脱指示があれば、キャッシュ情報Lの保持を委譲するための離脱時の転送処理を実行し(#5、#6)、離脱指示がなければステップ#2〜#4の処理を繰り返し実行する。
図8のように参加処理においては、隣接ノード検索部28が、予め定められた初期接続ノードに対して隣接ノードの検索を要求する(#11)。返答として隣接ノードを含みまたは含まない複数の近傍ノードの情報を受信すると、隣接ノード検索部28は、ルーティング情報保持部16と連携してルーディングテーブルT1に情報を登録する(#12)。
図9のように通常時の転送処理においては、隣接ノード検索部28が上述したとおり自ノードに最も近いノードに対して、隣接ノードの検索を要求する(#41)。これにより、ノード装置10は、ハッシュ空間上の自ノード付近について密にノードの存在を認識することができる。これを契機として、自ノード内でキャッシュ情報Lが保持されている場合のみにおいて(#42でYES)、転送先選定部24が転送先を選定し(#43)、情報転送部26がキャッシュ情報Lを転送する(#44)。転送先は次のようにして選定される。
論理距離演算部20はルーディングテーブルT1に存在するノードの中からbucket番号iの小さい順に所定数(例えば8)のノードを抽出する。抽出したノードを順に注目ノードとして、論理距離演算部20は距離D1,D2を算出する。転送先選定部24は、距離D1よりも距離D2が小さいという条件(D1>D2)を満たすノード、すなわち自ノードよりもコンテンツ位置に近いノードを転送先の候補とする。そして、転送先選定部24は、転送先の候補の中の一つをランダムに選んで転送先に定める。このような選定によって、キャッシュ情報Lはよりコンテンツ位置の近くで保持されることになる。
転送の契機となる隣接ノード検索部28による検索は定期的に繰り返し行われるので、転送先の候補からランダムに一つを転送先に選定したとしても、複数回の転送によってキャッシュ情報Lはコンテンツ位置の近くで冗長的に保持される。冗長化によって、キャッシュ情報Lを保持するノードの離脱でキャッシュ情報Lの消失する確率が低減される。ネットワーク1においては、コンテンツ位置の近くのノード間での転送で冗長的な保持が維持されるので、キャッシュ情報Lを保持するノードが離脱しても登録元が再登録をする必要も離脱の有無を監視する必要もない。また、キャッシュ情報Lをコンテンツ位置の近くに配置するように転送することによって、任意のノードがコンテンツ位置をキー(Key)としてキャッシュ情報Lを検索したときのキャッシュ情報Lを得ることのできるヒットの確率が大きくなる。
なお、転送先の候補からランダムに一つを選ぶ代わりに、ランダムに複数を選んでもよいし、条件(D1>D2)を満たすノードを全て転送先に選定してもよい。
図10のように離脱時の転送処理においては、自ノード内でキャッシュ情報Lが保持されている場合にのみ(#61でYES)、実質的な処理(ステップ#62〜#65)が実行される。キャッシュ情報Lが保持されていなければ、転送処理はスルーされる。
論理距離演算部20はルーディングテーブルT1に存在するノードの中からbucket番号iの小さい順に所定数のノードを抽出する。抽出したノードを順に注目ノードとして、論理距離演算部20は距離D1,D2、D3を算出する(#62)。転送先選定部24は、距離D1よりも距離D2が大きいという第1条件(D1<D2)、および距離D1よりも距離D3が小さいという第2条件(D1>D3)の両方が満たされるか否かをチェックする(#63)。第1条件および第2条件の両方を満たさすノードが転送先の候補とされる。
転送先選定部24は、第1条件および第2条件を満たす転送先の候補の中で、最も自ノードに近い(距離D3が最小)一つのノードを転送先に選定する。そして、情報転送部26が選定された一つのノードにキャッシュ情報Lを転送する(#64)。第1条件は、注目ノードが自ノードよりもコンテンツ位置から遠いときに満たされる。第2条件は、転送先がコンテンツ位置から離れすぎないようにする制限条件である。
所定数の注目ノードのいずれもが第1条件および第2条件を満たさないとき(#63でNO)、転送先選定部24はルーディングテーブルT1を検索して注目ノード以外のノードを転送先に選定する。その転送先に情報転送部26がキャッシュ情報Lを転送する(#65)。このときの転送先は、自ノードよりもコンテンツ位置から遠いノードの中で最もコンテンツ位置に近いノードであって、次のようにして選定される。
論理距離演算部20は距離D1における最も上位の有効ビットを認識する。例えば二進数の距離D1が「001...011」であったとき、最上位からみた有効ビット(3ビット目)が認識される。さらに、論理距離演算部20は、コンテンツ位置を示すビット列、つまり、コンテンツIDのハッシュ値=H(コンテンツID)における3ビット目の上位のビット(最上位からみた2ビット目)を反転したビット列Hxを算出する。この算出されたハッシュ値Hxに最も近いノードを転送先選定部24は転送先に選定する。例として、簡単に4ビットとして、ノード10装置のハッシュ値が1010、ハッシュ値H(コンテンツID)=1001とすると、
D1=1010^1001=0011
であり、D1の上位からの最初の有効ビットは3ビット目となる。ノード10は、自ノードのルーティングテーブルから、ハッシュ値H(コンテンツID)の3ビット目の一つ上位、2ビット目を反転したHx=1101に最も近いノードをルーディングテーブルT1から抽出し、転送先選定部24は転送先に選定する。
このように離脱時の転送処理においては、第1条件および第2条件が満たされる場合もそうでない場合も、自ノードと比べてコンテンツ位置から遠いノードにキャッシュ情報Lが転送される。つまり、論理空間内のキャッシュ情報Lの保持される範囲が拡大される。これにより、自ノードが離脱しても論理空間におけるキャッシュ情報Lの保持される範囲が縮小されず、ネットワーク1においてキャッシュ情報Lが消失してしまう確率が減少する。
図11は通常時におけるキャッシュ情報Lの転送の一例を示す。図11(A)において、下位5ビットより上位のビット値が等しい12個のノードN1〜N12が示されている。12個のうちの3個のノードN2,N6,N9はネットワーク1から離脱しており、その他のノードは参加しているものとする。図11(A)では、ノードN4を自ノードとし、自ノードN4からみた他のノードとの遠近関係が表わされている。
自ノードN4としてのノード装置10は、参加処理を終えた通常動作状態において、上述のとおり隣接ノードの検索を契機としてキャッシュ情報Lを転送する。自ノードN4は自ノードN4からみた隣接ノードであるノードN3に検索クエリを送信し、クエリに対する回答をルーティングテーブルT1に反映させる。今、ルーティングテーブルT1には自ノードN4および離脱状態のノードではない8個のノードN1,N3,N5,N7,N8,N10,N11,N12が登録されているものとする。また、自ノードN4および他の4個のノードN3,N5,N7,N8が、コンテンツAに関するキャッシュ情報Lを冗長的に保持すべき空間ALに該当するものとする。さらに、ここではコンテンツAのコンテンツIDのハッシュ値(H(CA))であるコンテンツ位置が、ノードN7に該当するものとする。
自ノードN4としてのノード装置10は、例えばハッシュ値が近い8個のノードN1,N3,N5,N7,N8,N10,N11,N12について距離D1,D2を算出し、転送先の候補を選ぶ。候補となるのは、上述のとおり、自ノードN4よりもコンテンツ位置に近いという条件(D1>D2)を満たすノードである。コンテンツ位置であるノードN7からみた他のノードとの遠近関係が図11(B)に表わされている。
図11(B)のように、本例ではノードN3,N5,N8,N7が条件(D1>D2)を満たす転送先の候補である。自ノードN4としてのノード装置10は、候補の中から選んだ一つのノードにキャッシュ情報Lを転送する。図ではノードN5にキャッシュ情報L転送されている。
図12および図13は離脱時におけるキャッシュ情報Lの転送の第1例および第2例を示す。上述の図11での想定と同様に、下位5ビットより上位のビット値が等しい図示された12個のノードN1〜N12のうち、3個のノードN2,N6,N9が離脱しており、その他のノードは参加している。図12の第1例では自ノードがノードN3であり、図13の第2例では自ノードがノードN1である。コンテンツ位置は第1例および第2例の両方においてノードN7に該当する。
図12(A)では自ノードN3からみた他のノードとの遠近関係が表わされ、図12(B)ではコンテンツ位置であるノードN7からみた他のノードとの遠近関係が表わされている。図12(C)には距離D1,D2の具体値が示されている。
図12の第1例において、自ノードN3としてのノード装置10は、例えばハッシュ値が近い5個のノードN1,N4,N5,N7,N8について距離D1,D2,D3を算出し、転送先の候補か否かを判断する。候補となるのは、上述のとおり自ノードN3よりもコンテンツ位置から遠いという第1条件(D1<D2)を満たし、かつコンテンツ位置から離れすぎないという第2条件(D1>D3)を満たすノードである。自ノードN3としてのノード装置10は、転送先の候補のうちで最も自ノードN3に近い一つのノードを転送先に選定する。本例では自ノードN3の隣接ノードであるノードN4が転送先に選定され、ノードN4にキャッシュ情報Lが転送される。
図13の第2例において、自ノードN1としてのノード装置10は、例えばハッシュ値が近い5個のノードN3,N4,N5,N7,N8について距離D1,D2,D3を算出し、転送先の候補か否かを判断する。本例では5個のノードN3,N4,N5,N7,N8のいずれもが第1条件(D1<D2)を満たさない。そこで、自ノードN1としてのノード装置10は、自ノードN1よりもコンテンツ位置から遠いノードの中で最もコンテンツ位置に近いノードN11にキャッシュ情報Lを転送する。
〔ノード装置の第2例〕
図14に示されるノード装置10bの構成は図5のノード装置10の構成とほぼ同様である。両者の間の差異は、ノード装置10bが転送管理部25を備えるとともに、ノード装置10の転送先選定部24に代えて転送先選定部24bを備える点である。ノード装置10bにおけるノード装置10と共通の構成要素についての説明を省略する。共通の構成要素には同一の参照符号が付されている。
転送管理部25は、通常時のキャッシュ情報Lの転送を間引く。詳しくは、転送管理部25は、転送先選定部24bから情報転送部26への転送先の伝達を後述のように自ノードの位置に応じて保留し、情報転送部26の動作頻度を低減する。転送を間引くことにより、自ノードを含めた同一のキャッシュ情報Lを保持する複数のノードが同等の頻度でキャッシュ情報Lを送受信し合うのが回避される。つまり、ネットワーク1におけるトラフィックに関わるメッセージ数が削減される。
転送先選定部24bは、基本的には図5のノード装置10の転送先選定部24と同様に、通常時および離脱時におけるキャッシュ情報Lの転送先を選定する。転送先選定部24bは、離脱時のキャッシュ情報Lの転送に際して、後述のように自ノードとコンテンツ位置との距離D1に応じて転送先の個数を変える。
図15は転送管理部25が実行するキャッシュ情報転送待機処理の流れを示す。
転送管理部25は、転送先選定部24bから転送先が通知されると、離脱時の転送か否かをチェックする(#71)。離脱時の転送であれば(#71でYES)、必ず転送しなければならないので、転送管理部25は流れをステップ#74に進めて、情報転送部26に転送先を伝達して転送を指示する。
離脱時の転送でなければ(#71でNO)、前回の転送の時刻からの経過時間が自ノード距離順位に応じた転送待機時間を超えたか否かがチェックされる(#72)。経過時間が転送待機時間を超えている場合は(#72でYES)、転送管理部25は転送の時刻を現在時刻に更新し(#73)、情報転送部26に転送を指示する(#74)。一方、経過時間が転送待機時間を超えていない場合は(#72でNO)、転送管理部25は情報転送部26に転送を指示することなくキャッシュ情報転送待機処理を終える。したがって、この場合には、転送先選定部24bからの転送先の通知が無効となり、転送が間引かれる。
転送待機時間(M)は、自ノード距離順位(R)と定数(m)と単位時間(例えば1秒)との積(M=R×m秒)である。そして、自ノード距離順位とは、現時点でキャッシュ情報Lを保持すべきノードをコンテンツ位置から遠い順に数えた自ノードの順位を意味し、キャッシュ情報Lを保持すべきノードの設定基準数と転送先の候補数との差と定義される。転送先の候補数が少ないほど自ノード距離順位は下位になる(つまり、順位の値が大きくなる)。自ノードがコンテンツ位置に近いほど、転送先の候補数は少ない。したがって、自ノードがコンテンツ位置に近いほど、自ノード距離順位の値が大きく、転送待機時間は長い。
図16に転送の間引きの例が示される。図16では5個のノードN90,N95,N105,N101,N100がコンテンツ位置の近くに存在する。ここで、キャッシュ情報Lを保持すべきノードの設定基準数を5とする。コンテンツ位置から最も遠いノードN90が自ノードである場合、転送先の候補はノードN95,N105,N101,N100の4個である。候補数が4であるので、自ノード距離順位は設定基準数の5から4を差し引いた値の1である。定数を30とすると、転送待機時間は30秒である。ノードN90は30秒ごとに4個の候補からランダムに選んだ一つのノードにキャッシュ情報Lを転送する。同様の手順で、コンテンツ位置から2番目に遠いノードN95は60秒ごとに、3番目に遠いノードN105は90秒ごとに、4番目に遠いノードN101は120秒ごとに、それぞれキャッシュ情報Lをコンテンツ位置に近いノードに転送する。
通常時の転送における転送先の選定は、定数に単位時間を乗じた時間より短い周期で繰り返される。転送先の候補は固定ではなく、新たに参加したノードも候補になる。候補は、定期的に隣接ノード検索部28が送信する検索クエリに対する他のノードからの応答結果に依存する。通常時の転送において、転送先の候補から選ぶ転送先の個数を1に限る必要はない。自ノードがコンテンツ位置から遠いときには多く、近いときには少ないというようにコンテンツ位置からの距離に応じて転送先の個数を変えることができる。
図17は離脱時におけるキャッシュ情報の転送の形態を示す。転送先選定部24bは、自ノードをネットワーク1から離脱させる指示が与えられたことを契機として転送先を選定する場合に、第1演算部によって算出された距離が小さいほど転送先を数多く選定する。
図17(A)の例示では、ノードN105が自ノードであり、ノードN105はノードN95,N90を含めて自ノードよりもコンテンツ位置から遠い3個のノードにキャッシュ情報Lを転送する。図17(B)の例示では、ノードN95が自ノードであり、ノードN95はノードN90を含めて自ノードよりもコンテンツ位置から遠い2個のノードにキャッシュ情報Lを転送する。図17(C)の例示では、ノードN90が自ノードであり、ノードN90は自ノードよりもコンテンツ位置から遠い1個のノードにのみキャッシュ情報Lを転送する。このように自ノードがコンテンツ位置から遠いほど転送先を減らすのは、コンテンツ位置から遠いほどコンテンツ位置をキーとする検索要求を受信する確率が小さいからである。コンテンツ位置から遠い位置でキャッシュ情報Lを保持しておくことの必要性は高くない。
以上の実施形態によれば、キャッシュ情報Lの登録先がその近傍のノードに転送してキャッシュ情報Lの保持を冗長化するので、キャッシュ情報Lの登録元が登録先を記憶したり、登録先が離脱したときに再登録したりする必要がない。ハッシュ値の近いノード間でキャッシュ情報を転送するので、再登録のためにキャッシュ情報Lが分散ハッシュテーブルに従って収束するまでバケツリレー形式で転送されて、メッセージ数が増える可能性もない。
オーバーレイネットワークのルーティング維持のために自ノードが隣接ノードを検索した際に、自ノードが自己の保持するキャッシュ情報Lについて転送先を選定するので、隣接ノード装置の存在を認識すると同時にキャッシュ情報Lを転送することができる。
離脱時に自ノードよりもオブジェクト位置から遠いノードにキャッシュ情報Lを転送してキャッシュ情報Lを拡散するので、キャッシュ情報Lを保持するノードが離脱したとしても、キャッシュ情報Lを冗長的に保持し続けることができる。
自ノードとオブジェクト位置との距離に応じてキャッシュ情報Lの転送先の数を変えることにより、オブジェクト位置に最も近い、最もキャッシュ情報Lを保持すべきノードがより確実にキャッシュ情報Lを保持することができる。
1 ネットワーク(オーバーレイネットワーク)
Na〜Nj ノード
N1〜N12 ノード
N90,N95,N100,N101,N105 ノード
10、10b ノード装置
T1 ルーティングテーブル(ルーティング情報)
16 ルーティング情報保持部
L キャッシュ情報
18 キャッシュ情報保持部
21 第1演算部
22 第2演算部
23 第3演算部
D1,D2,D3 距離
24、24b 転送先選定部
25 転送管理部
26 情報転送部
28 隣接ノード検索部

Claims (7)

  1. オーバーレイネットワークのノードとして当該オーバーレイネットワークの他のノードと通信するノード装置であって、
    前記オーバーレイネットワークでの検索対象となるオブジェクトを保持したノードを当該オブジェクトに対応付けて示すキャッシュ情報であり当該ノード装置に該当するノードである自ノードに保持される前記キャッシュ情報を参照し、そのキャッシュ情報に示されるノードに対応する前記オブジェクトについて、前記オブジェクトの論理位置であるオブジェクト位置と前記自ノード以外のノードである注目ノードとの、前記オーバーレイネットワークが構築される論理空間における距離を算出する第2演算部と、
    前記第2演算部によって算出された距離に基づいて前記キャッシュ情報の転送先を選定する転送先選定部と、
    前記転送先選定部によって選定された転送先に前記キャッシュ情報を転送する情報転送部とを備えるノード装置。
  2. 前記オーバーレイネットワークが構築される論理空間における、前記自ノードと前記オブジェクトの論理位置であるオブジェクト位置との距離を算出する第1演算部を更に備え、
    前記第2演算部は、通信相手の選択肢を示すルーティング情報であり当該ノード装置に保持される前記ルーティング情報を参照し、そのルーティング情報が示すノードを前記注目ノードとして距離を算出し、
    前記転送先選定部は、前記第2演算部によって算出された距離が前記第1演算部によって算出された距離よりも小さいノードを転送先に選定する
    ことを特徴とする請求項1記載のノード装置。
  3. 前記論理空間において、前記自ノードに隣接する隣接ノードを検索する隣接ノード検索部をさらに備え、
    前記隣接ノード検索部による検索の実行を契機として、前記転送先選定部が転送先を選定し、選定された転送先に前記キャッシュ情報を前記情報転送部が転送する
    請求項1または2記載のノード装置。
  4. 前記論理空間における自ノードと前記自ノード以外のノードである注目ノードとの距離を算出する第3演算部をさらに備え、
    当該ノード装置に対して、前記自ノードを前記オーバーレイネットワークから離脱させる指示が与えられたことを契機として、
    前記第2演算部、及び前記第3演算部は、前記ルーティング情報が示すノードを前記注目ノードとして距離を算出し、
    前記転送先選定部は、前記第2演算部によって算出された距離が前記第1演算部によって算出された距離よりも大きいノードの中から、第3演算部によって算出された距離に基づいて転送先のノードを選定し、
    前記情報転送部は、転送先に選定されたノードに前記キャッシュ情報を転送する
    請求項1ないし3のいずれかに記載のノード装置。
  5. 前記情報転送部による転送を間引く転送管理部をさらに備え、
    当該ノード装置が前記自ノードとして前記オーバーレイネットワークに参加している前記状態において、
    前記転送管理部は、前記自ノードと前記オブジェクト位置との間のノード数が少ないほど割合の大きい間引きをする
    請求項1ないし4のいずれかに記載のノード装置。
  6. 前記転送先選定部は、前記自ノードを前記オーバーレイネットワークから離脱させる指示が与えられたことを契機として転送先を選定する場合に、前記第1演算部によって算出された距離が小さいほど転送先を数多く選定する
    請求項4記載のノード装置。
  7. オーバーレイネットワークのノードとして当該オーバーレイネットワークの他のノードと通信するノード装置において実行されるコンピュータプログラムであって、
    前記オーバーレイネットワークでの検索対象となるオブジェクトを保持したノードを当該オブジェクトに対応付けて示すキャッシュ情報であり当該ノード装置に該当するノードである自ノードに保持される前記キャッシュ情報を参照し、そのキャッシュ情報に示されるノードが対応付けられた前記オブジェクトについて、前記オブジェクトの論理位置であるオブジェクト位置と前記自ノード以外のノードである注目ノードとの、前記オーバーレイネットワークが構築される論理空間における距離を算出する第2演算部と、
    前記第2演算部によって算出された距離に基づいて前記キャッシュ情報の転送先を選定する転送先選定部と、
    前記転送先選定部によって選定された転送先に前記キャッシュ情報を転送する情報転送部として、前記ノード装置を動作させる
    ことを特徴とするコンピュータプログラム。
JP2010038871A 2010-02-24 2010-02-24 ノード装置およびコンピュータプログラム Expired - Fee Related JP5336403B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010038871A JP5336403B2 (ja) 2010-02-24 2010-02-24 ノード装置およびコンピュータプログラム
US13/032,141 US20110208828A1 (en) 2010-02-24 2011-02-22 Node apparatus and computer-readable storage medium for computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010038871A JP5336403B2 (ja) 2010-02-24 2010-02-24 ノード装置およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2011175448A true JP2011175448A (ja) 2011-09-08
JP5336403B2 JP5336403B2 (ja) 2013-11-06

Family

ID=44477411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010038871A Expired - Fee Related JP5336403B2 (ja) 2010-02-24 2010-02-24 ノード装置およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US20110208828A1 (ja)
JP (1) JP5336403B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496562B1 (en) 2021-10-13 2022-11-08 Peking University Method and system for accessing digital object in human-cyber-physical environment

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250171B2 (en) * 2007-06-22 2012-08-21 Pioneer Corporation Content delivery apparatus, content delivery method, and content delivery program
KR101436049B1 (ko) * 2012-06-01 2014-09-01 에스케이텔레콤 주식회사 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR101330052B1 (ko) * 2012-06-01 2013-11-15 에스케이텔레콤 주식회사 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR20140011658A (ko) * 2012-07-18 2014-01-29 한국전자통신연구원 Icn 기반 컨텐츠 배송 시스템 및 방법
KR102346689B1 (ko) * 2015-08-28 2022-01-04 한국전자통신연구원 P2p 네트워크 관리 시스템의 동작 방법 및 p2p 네트워크 관리 시스템
US10303887B2 (en) * 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
KR101977109B1 (ko) * 2015-11-17 2019-08-28 (주)마크애니 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법
CN106681794B (zh) * 2016-12-07 2020-04-10 长春市三昧动漫设计有限公司 基于兴趣行为的分布式虚拟环境缓存管理方法
WO2019010228A1 (en) 2017-07-03 2019-01-10 Medici Ventures, Inc. DECENTRALIZED NEGOTIATION SYSTEM FOR FAIR ORDERING AND MATCHING OF TRANSACTIONS RECEIVED AT MULTIPLE NETWORK NODE AND CORRELATED BY MULTIPLE NETWORK NODES IN A DECENTRALIZED NEGOTIATION SYSTEM
CN108900618A (zh) * 2018-07-04 2018-11-27 重庆邮电大学 一种信息中心网络虚拟化中内容缓存方法
CN112688870B (zh) * 2020-12-28 2022-11-04 杭州趣链科技有限公司 一种路由方法、路由装置及节点设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249970A1 (en) * 2003-06-06 2004-12-09 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
JP2006277337A (ja) * 2005-03-29 2006-10-12 Brother Ind Ltd 情報処理装置、情報処理方法及び情報処理用プログラム
JP2007109062A (ja) * 2005-10-14 2007-04-26 Nippon Telegr & Teleph Corp <Ntt> リソース検索方法及びリソース検索システム
US20080275952A1 (en) * 2007-02-21 2008-11-06 Honggang Wang Overlay Network System and Service Providing Method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1000000A (en) * 1910-04-25 1911-08-08 Francis H Holton Vehicle-tire.
JP4894590B2 (ja) * 2007-03-30 2012-03-14 ブラザー工業株式会社 ネットワークシステム、情報処理装置及び情報処理用プログラム
US8930522B2 (en) * 2007-06-29 2015-01-06 Alcatel Lucent Replica/cache locator, an overlay network and a method to locate replication tables and caches therein
JP5188189B2 (ja) * 2008-01-18 2013-04-24 富士通株式会社 認証システム、認証装置及びコンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249970A1 (en) * 2003-06-06 2004-12-09 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
JP2006277337A (ja) * 2005-03-29 2006-10-12 Brother Ind Ltd 情報処理装置、情報処理方法及び情報処理用プログラム
JP2007109062A (ja) * 2005-10-14 2007-04-26 Nippon Telegr & Teleph Corp <Ntt> リソース検索方法及びリソース検索システム
US20080275952A1 (en) * 2007-02-21 2008-11-06 Honggang Wang Overlay Network System and Service Providing Method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200700718020; 倉沢央,他3名: 'P2P情報検索における索引とファイルの分散配置手法' 情報処理学会研究報告 第2007巻,第36号, 20070405, p.147-154, 社団法人情報処理学会 *
JPN6013026041; 倉沢央,他3名: 'P2P情報検索における索引とファイルの分散配置手法' 情報処理学会研究報告 第2007巻,第36号, 20070405, p.147-154, 社団法人情報処理学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496562B1 (en) 2021-10-13 2022-11-08 Peking University Method and system for accessing digital object in human-cyber-physical environment
JP7202558B1 (ja) 2021-10-13 2023-01-12 北京大学 ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステム
JP2023058423A (ja) * 2021-10-13 2023-04-25 北京大学 ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステム

Also Published As

Publication number Publication date
US20110208828A1 (en) 2011-08-25
JP5336403B2 (ja) 2013-11-06

Similar Documents

Publication Publication Date Title
JP5336403B2 (ja) ノード装置およびコンピュータプログラム
JP4599581B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
JP4418897B2 (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
JP4277918B2 (ja) データ検索装置、データ検索方法およびデータ検索用プログラム
JP5567683B2 (ja) ピアツーピア・ネットワーク内でサービスを突き止める方法および装置
WO2006075424A1 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP5684110B2 (ja) ルーティングテーブルを維持する方法およびオーバレイネットワーク内で使用するためのノード
JP2007066161A (ja) キャッシュシステム
CN108337170B (zh) 分布式资源查找方法和系统
JP2010028551A (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法
Woungang et al. MR-Chord: Improved chord lookup performance in structured mobile P2P networks
WO2007083531A1 (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
JP5541812B2 (ja) コンテンツを公表するための方法及びシステム、コンテンツを検索するための方法及びシステム
JP2007164523A (ja) 情報処理装置、分散同期型情報システム、情報同期方法、及び、プログラム
JP5845877B2 (ja) 情報処理装置、データ制御方法およびデータ制御プログラム
US8725807B2 (en) Decentralized data casting in an interest aware peer network
JP2008234563A (ja) オーバレイ管理装置、オーバレイ管理システム、オーバレイ管理方法およびオーバレイ管理用プログラム
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP2011211543A (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP6032199B2 (ja) 分散処理システム、分散処理装置、ルーティングテーブル作成方法及びプログラム記録媒体
US8392549B2 (en) Apparatus and method for registering node and searching for floating internet protocol address using distributed network
JP4554564B2 (ja) 分散データの管理方法および管理システム
WO2021087865A1 (zh) 寻址方法、寻址系统以及寻址装置
US20130227066A1 (en) Data transfer apparatus and data transfer method
WO2013027784A1 (ja) データ処理装置、データ分散処理システム、データ処理方法およびプログラム記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130801

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees