WO2007125698A1 - ノード装置、情報処理方法及びノード装置用プログラムが記録された記録媒体 - Google Patents

ノード装置、情報処理方法及びノード装置用プログラムが記録された記録媒体 Download PDF

Info

Publication number
WO2007125698A1
WO2007125698A1 PCT/JP2007/055702 JP2007055702W WO2007125698A1 WO 2007125698 A1 WO2007125698 A1 WO 2007125698A1 JP 2007055702 W JP2007055702 W JP 2007055702W WO 2007125698 A1 WO2007125698 A1 WO 2007125698A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
identification information
information
node device
entry
Prior art date
Application number
PCT/JP2007/055702
Other languages
English (en)
French (fr)
Inventor
Hideki Matsuo
Kentaro Ushiyama
Original Assignee
Brother Kogyo Kabushiki Kaisha
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 Brother Kogyo Kabushiki Kaisha filed Critical Brother Kogyo Kabushiki Kaisha
Publication of WO2007125698A1 publication Critical patent/WO2007125698A1/ja
Priority to US12/232,599 priority Critical patent/US8514742B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/80Ingress point selection by the source endpoint, e.g. selection of ISP or POP

Abstract

 DHTによるルーティングシステムにおいて、メッセージ等を効率的且つ迅速に伝送することができ、ノードの脱落等の事態に対しても柔軟にルーティングテーブルを変更して伝送効率を向上させることが可能なノードを提供する。  ノード内のルーティングRTを、参照順が予め規定された複数のテーブルMR、R1、R2により構成し、メインテーブルMRにおいて無効なエントリME1が生じた場合に、対応するサブテーブルR1におけるエントリR1E1又はサブテーブルR2におけるエントリR2E1を用いて代替してメッセージ等の転送に供させる。

Description

明 細 書
ノード装置、情報処理方法及びノード装置用プログラムが記録された記録 媒体
技術分野
[0001] 本願は、ノード装置、情報処理方法及びノード装置用プログラムの技術分野に属し
、より詳細には、インターネット等のネットワークを介して映画等のコンテンツ (配信情 報)を配信する配信システムに含まれるノード装置及び当該ノード装置にぉ 、て実行 される情報処理方法並びに当該ノード装置における情報処理に供されるノード装置 用プログラムが記録された記録媒体の技術分野に属する。 背景技術
[0002] 近年、インターネット等のネットワークを介して上記コンテンツを蓄積しているサーバ 等に端末装置力もアクセスし、その端末装置にお 、て視聴が所望されて 、るコンテン ッを当該端末装置に配信して視聴する、 Vヽゎゆるコンテンツ配信につ ヽての研究開 発が盛んである。
[0003] ここで、従来の上記コンテンツ配信を行う配信システムの基本的構成は、例えば下 記特許文献 1に例示されるように、コンテンツの配信を所望する端末装置力 上記ネ ットワークを介してそのコンテンツを蓄積するサーバ等に接続し、その接続を確立した 上で所望するコンテンツの配信、即ち当該コンテンツに相当するコンテンツデータの 伝送をその端末装置にお 、て受ける構成となって 、る。
[0004] 一方、近年では、上記コンテンツ配信を行う配信システムの他の構成として、 ヽゎゅ る P2P (Peer to Peer)グリッド型の配信システム(以下、単に配信システムと称する)が ある。ここで、当該配信システムとは、上記ネットワークを用いて上記コンテンツの配 信を行う配信システムであって、当該ネットワークに属する端末装置間で、当該コンテ ンッに相当するコンテンツデータが相互に直接授受される (換言すれば、コンテンツ を複数の端末装置間で共有する)配信システムであり、その配信システムに加入して V、る全ての端末装置力 上記サーバとしての機能を有すると共に上記コンテンツの 配信を受ける配信先装置としての機能をも備える配信システムである(なお、以下の 説明では当該端末装置を単にノードと称する)。
[0005] そして、当該配信システムにおいては、あるノードにおいてコンテンツの配信を受け ようとする場合、そのノードにおいては、配信を所望するコンテンツに相当するコンテ ンッデータを蓄積している他のノードを上記ネットワーク上において識別するためのノ ード識別情報と、そのコンテンツを他のコンテンツから識別するためのコンテンツ識別 情報と、を対とした情報 (以下、当該情報をインデックス情報と称する)を参照し、この インデックス情報内のノード識別情報により示されるノードから所望のコンテンツの配 信を受ける必要がある。
[0006] そこで、一般の配信システムにお 、ては、例えば下記特許文献 1に例示されるよう に、一又は複数のコンテンツに関する上記インデックス情報を、纏めて複数のノード 内に夫々記憶 (分散記憶)させ、これをそのコンテンツの配信を受けるノードから参照 する構成とされている。より具体的には、例えば当該配信システムを構成するネットヮ 一タカインターネットである場合には、配信が所望されるコンテンツを特定できる検索 情報(例えば映画のタイトル名 )とそれを記憶して 、るノードの IP (Internet Protocol) アドレスとの組を認識し、その IPアドレスを手掛力りとして所望するコンテンツの授受 を行う必要がある。
[0007] 従って、上記配信システムの如き不特定多数のノードがコンテンツを共有し合うよう な配信システムにお 、ては、全てのコンテンツの検索情報とそれを記憶して 、るノー ドの IPアドレスとの組を各ノードが認識しておくことが必要となる。
[0008] し力しながら、ネットワークに接続されているノードの数が多くなつた場合、各ノード における物理的な記録可能量の制限等が理由となって、全てのコンテンツの検索情 報とそのコンテンツを記憶して 、るノードの IPアドレスを各ノードが夫々に記録してお くことは現実的ではない (例えば、ネットワークに百万台のノードが接続されている場 合、その百万台分の IPアドレスを各ノードが互いに全て記録しておくことは全く現実 的ではない)。
[0009] また、各ノードが全てのコンテンツの検索情報とそれを記憶するノードの IPアドレス を記録しておく場合、ネットワーク内の各ノードにおける電源スィッチのオン Zオフが 頻繁な場合 (例えば当該ノードをパーソナルコンピュータにより実現する場合は頻繁 に電源スィッチが操作され得ることになる)にも、各ノードに記録された IPアドレス等の 更新が頻繁になり、現実的にはネットワーク全体としての運用が困難となる。
[0010] そこで、上述したような問題点に対処すベぐ必要最低限のノードの IPアドレスを含 むインデックス情報のみを記録し、その IPアドレスを認識して 、な 、他のノードに対し ては、そのノードに配信すべきコンテンツやその配信のために必要なメッセージ等を 、他のノードを介して転送して届けるという仕組みの配信システムが研究されており、 その一つに、下記非特許文献 2に示されているように、いわゆる DHT (Distributed H ash Table;分散ハッシュテーブル)を用いた配信システムがある。
[0011] 次に、当該 DHTを用いた配信システムについて、概要を説明する。
上記 DHTを用いた配信システムでは、各ノードを相互に識別するためのノード ID ( Identification)を当該各ノードに付与する。このとき、当該ノード IDは、それらが参カロ している配信システム内において各ノード毎にユニークな、即ち他のノードとは異なる 番号を付与する。この番号は、そのネットワークにおけるノードの最大運用台数を収 容できるだけのビット数 (ビット長)を有するものとなる。より具体的には、例えば 128ビ ットのノード IDを用いれば、最大で、 2128 340 X 1036台のノードを一つのネットヮー ク内に接続することができる。そして、当該ノード IDとして一般的には、ノード自体に 付与されている IPアドレスやいわゆる MAC (Media Access Control)アドレス、或いは ノード自体の製造番号等の、当該ノード毎に固有の値に対してハッシュ関数を適用し て得られる値を用いる。
[0012] また、上記 DHTを用いた配信システムでは、その配信システムによって配信される コンテンツ自体にも、それに対応する上記コンテンツ識另 IJ†青報として、他のコンテンツ とは異なるユニークなコンテンツ IDを付与する。このコンテンツ IDのビット長も上記ノ ード IDのビット長と同一とされる。そして、当該コンテンツ IDとして一般的には、そのコ ンテンッのタイトルを示すタイトルデータ、コンテンツを構成するデータの属性を示す 属性データ、コンテンツを構成するデータのうち先頭力も数バイト分のデータ等に対 してハッシュ関数を適用して得られる値を用いる。
[0013] 次に、上述した如き「IPアドレスを認識していない他のノードに対しては、そのノード に配信すべきコンテンツを他のノードを介して転送して届けると 、う仕組み」を実現す るため、 DHTを用いた配信システムにおいては、「ルーティングテーブル」なるものを 用いる。
[0014] このルーティングテーブルについて詳細は後述する力 概括的には、当該ルーティ ングテーブルは、各ノード内に夫々記憶されているものであって、配信システム内の 全てのノードを所定の条件 (例えば各ノードを示すノード ID夫々の値により設定され る条件)に基づいて階層的に分類して得られるノードグループ毎に、転送可能なノー ドを示す上記ノード IDが記述されているものである。
[0015] そして、上記メッセージやコンテンツ等をある特定のノードに宛てて(或いは所望す るコンテンツを示すコンテンツ IDを付して)送信する場合、その送信元となるノードは 、 自己が記憶しているルーティングテーブル内に記述されているノード IDにより示さ れるあるノードに向けてそのメッセージ等を送信し、そのメッセージ等を受信した当該 あるノードは、更に自己が記憶しているルーティングテーブル内に記述されているノ ード IDにより示される他のノードに向けてそのメッセージ等を転送する。このような転 送処理が、上記階層状のノードグループ内で当該階層毎に繰り返されることで、最終 的に当該メッセージ等が目的のノードに到達する仕組みとなっている。
特許文献 1:特開 2004— 265273号公報
非特許文献 2 :岡敏生、森川博之、青山友紀、「分散ハッシュテーブルの軽量な負荷 分散手法の検討」、電子情報通信学会技術研究報告、(日本)、社団法人電子情報 通信学会、 2004年 2月 5日、第 103卷、第 650号、 p.7— 12
発明の開示
発明が解決しょうとする課題
[0016] し力しながら、上述した従来のルーティングテーブルの構成によると、例えば、現在 記述されているノード IDにより示されるノードが配信システム力 脱退する等の理由 により当該ノード IDが無効になった場合においては、その無効になったこと自体が、 実際にそのノード ID (無効になったノード ID)により示されるノードに向けてメッセージ 等を送信してみて初めて認識できるのであり、その場合には再度新たな (有効な)ノ ードを配信システム内において探索する等の処理が必要となり、結果として当該無効 なノード IDが記述されて 、た場合にぉ 、てはメッセージ等の転送効率が極端に悪く なると言う問題点があった。
[0017] そこで、本発明は上記の各問題点に鑑みて為されたもので、その目的の一例は、 上記配信システムにお 、て、メッセージ等を効率的且つ迅速に伝送することができる ノード装置及び当該ノード装置において実行される情報処理方法並びに当該ノード 装置における情報処理に供されるノード装置用プログラムが記録された記録媒体を 提供することにある。
課題を解決するための手段
[0018] 上記の課題を解決するために、請求項 1に記載の発明は、相互に情報の授受を行 うように接続された複数のノード装置により形成されているネットワークに含まれている 当該ノード装置であって、他の前記ノード装置力 識別するための固有のノード識別 情報を各々に有し且つ前記ネットワークを階層的に榭形図状に区分して得られるノ ードグループの ヽずれかに分類されて ヽるノード装置にお ヽて、前記授受に係る他 の前記ノード装置夫々に対応する複数の前記ノード識別情報を記憶する記憶部等 のノード識別情報記憶手段と、記憶されて!ヽる各前記ノード識別情報を参照して前 記授受に用いる参照手段と、を備え、前記ノード識別情報記憶手段においては、前 記榭形図における最上位階層に属する前記ノード装置に対応する前記ノード識別情 報の記憶可能数が、当該最上位階層以外の他のいずれか一の前記階層に属する 前記ノード装置に対応する前記ノード識別情報の記憶可能数以上されている。
[0019] よって、ノード識別情報記憶手段にお!、て、ノードグループの階層構成を示す榭形 図における最上位階層に属するノード装置に対応するノード識別情報の記憶可能数 力 当該最上位階層以外の他のいずれか一の階層に属するノード装置に対応するノ ード識別情報の記憶可能数以上されているので、代替として情報の授受に供するこ とが可能なノード識別情報のノード装置における記憶可能数を最上階層について多 くしておくことで、端末装置がネットワークから脱落する等の事態が発生した場合でも 、迅速に代替となるノード識別情報を発見して情報の授受を効率的且つ迅速に実行 することができる。
[0020] 上記の課題を解決するために、請求項 2に記載の発明は、請求項 1に記載のノード 装置において、前記ノード識別情報記憶手段においては、前記榭形図における前 記階層が下位になるに従って、当該階層に属する前記ノード装置に対応する前記ノ ード識別情報の記憶可能数が減少して 、るように構成される。
[0021] よって、ノードグループの階層構成を示す榭形図における階層が下位になるに従つ て、当該階層に属するノード装置に対応するノード識別情報の記憶可能数が減少し ているので、ノード識別情報記憶手段としての記憶量を節約しつつ、当該ノードダル ープにおける階層構造に対応して効率的に代替となるノード識別情報を取得するこ とがでさる。
[0022] 上記の課題を解決するために、請求項 3に記載の発明は、請求項 1又は 2に記載 のノード装置において、前記参照手段は、一つの前記ノードグループに分類されて いる各前記ノード装置に夫々対応する前記ノード識別情報を、予め設定された参照 順に従って順次参照して前記情報の授受に用いるように構成される。
[0023] よって、予め設定された参照順に沿ってノード識別情報を参照して情報の授受に 用いるので、効率的な代替ノード識別情報の取得とノード識別情報記憶手段として の記憶量の節約とを両立させることができる。
[0024] 上記の課題を解決するために、請求項 4に記載の発明は、請求項 3に記載のノード 装置において、各前記階層における前記記憶可能数は、前記参照順に指数関数的 に減少している。
[0025] よって、榭形図を構成する各階層において参照順に指数関数的に記憶可能数が 減少するように構成されて 、るので、ネットワークに参加して 、るノード装置の増減数 の実情に応じて必要最小限のノード識別情報を記憶することができる。
[0026] 上記の課題を解決するために、請求項 5に記載の発明は、請求項 3又は 4に記載 のノード装置において、前記記憶可能数が、予め設定された単位時間当たりに前記 ネットワーク力 前記ノード装置が脱退する数に対応して各階層毎に予め定められて いる。
[0027] よって、各階層における記憶可能数が、ネットワークからのノード装置の脱退数に応 じて定められているので、一つのノード装置内のノード識別情報の数を必要最小限と してノード識別情報記憶手段の記憶容量を節約することができる。
[0028] 上記の課題を解決するために、請求項 6に記載の発明は、請求項 3から 5のいずれ か一項に記載のノード装置において、前記参照手段は、一の前記ノードグループに 分類されている前記ノード識別情報を参照した場合において当該参照したノード識 別情報を前記授受に用いることが不能であるとき、前記参照順において前記一のノ ード識別情報の次に参照されるべき他の前記ノード識別情報を参照して前記授受に 用いるように構成されている。
[0029] よって、一のノード識別情報を参照した場合において当該参照したノード識別情報 を情報の授受に用いることが不能であるとき、参照順においてその一のノード識別情 報の次に参照されるべき他のノード識別情報を参照して情報の授受に用いるので、 次に参照すべきノード識別情報を迅速に発見して情報の授受に供させることができ る。
[0030] 上記の課題を解決するために、請求項 7に記載の発明は、請求項 3から 6のいずれ か一項に記載のノード装置において、前記授受に用いることが不能である前記ノード 識別情報である不能ノード識別情報があるとき、当該不能ノード識別情報を前記ノー ド識別情報記憶手段から削除する制御部等の削除手段と、一の前記ノードグループ における前記参照順において前記不能ノード識別情報の直近下位の順位にあった 前記ノード識別情報の当該順位を、削除された前記不能ノード識別情報に対応して V、た前記参照順における順位とする制御部等の順位変更手段と、を備える。
[0031] よって、不能ノード識別情報があった場合にこれをノード識別情報記憶手段から削 除し、参照順においてその下位にあったノード識別情報を繰り上げて補填するので、 不能ノード識別情報があつたとしてもこれを迅速に補填することで効率的な情報の授 受を維持することができる。
[0032] 上記の課題を解決するために、請求項 8に記載の発明は、請求項 3から 7のいずれ か一項に記載のノード装置にお 、て、一の前記ノードグループにおける前記参照順 内の 、ずれかの順位に対応すべき新たな前記ノード識別情報があるとき、当該新た なノード識別情報が対応すべき前記順位にそれまで対応していた前記ノード識別情 報が対応する新たな前記順位を、前記新たなノード識別情報が対応すべき前記順 位より下位の前記順位とする制御部等の順位変更手段を備える。
[0033] よって、一のノードグループにおける参照順内のいずれかの順位に対応すべき新 たなノード識別情報があるとき、そのノード識別情報を対応する参照順の順位に配置 し、当該新たな配置位置にあったノード識別情報を参照順にお 、て後の順位とする ので、新たなノード識別情報を配置して更に効率的に情報の授受を行うことができ、 それまで配置されていたノード識別情報をも引き続き活用することもできる。
[0034] 上記の課題を解決するために、請求項 9に記載の発明は、請求項 3から 8のいずれ か一項に記載のノード装置において、前記参照順は、参照されるべき前記ノード識 別情報により識別される前記ノード装置との間の前記授受の際に要する負荷が低い 当該ノード識別情報ほど先に参照される参照順であるように構成される。
[0035] よって、一のノードグループ内におけるノード識別情報の参照順力 情報の授受の 際に要する負荷に応じて定められているので、ネットワーク内の情報の授受をより効 率的且つ迅速に行うことができる。
[0036] 上記の課題を解決するために、請求項 10に記載の発明は、請求項 3から 8のいず れか一項に記載のノード装置において、前記参照順は、各前記ノード識別情報によ り識別される前記ノード装置力も前記ネットワークを介していずれかのメッセージを受 信した順番に対応している。
[0037] よって、一のノードグループ内におけるノード識別情報の参照順が、ノード識別情 報により識別されるノード装置力もいずれかのメッセージを受信した順に対応して定 められているので、ノード識別情報記憶手段内の構成変更を最小限に抑制できるこ とで、ネットワークにおけるメッセージの伝送経路の変更を最小限に抑制して効率的 に当該メッセージを伝送することができる。
[0038] 上記の課題を解決するために、請求項 11に記載の発明は、請求項 3から 8のいず れか一項に記載のノード装置において、前記参照順は、前記授受される情報を識別 する情報識別情報と、当該情報識別情報により識別される前記情報を蓄積して 、る 前記ノード装置の前記ネットワーク内の位置を示すアドレス情報と、の対により構成さ れる対情報 (インデックス情報)の記憶数に対応して 、る。
[0039] よって、一のノードグループ内におけるノード識別情報の参照順力 対情報の記憶 数に対応しているので、情報の授受に関わる可能性があるノード装置を示す対情報 の数に対応した順でノード識別情報が参照されるので、より迅速に必要な情報の授 受を開始することができる。
[0040] 上記の課題を解決するために、請求項 12に記載の発明は、相互に情報の授受を 行うように接続された複数のノード装置により形成されているネットワークに含まれて いる当該ノード装置であって、他の前記ノード装置から識別するための固有のノード 識別情報を各々に有し且つ前記ネットワークを階層的に榭形図状に区分して得られ るノードグループの ヽずれかに分類されて!ヽるノード装置にお!、て実行される情報処 理方法において、前記ノード装置は、前記授受に係る他の前記ノード装置夫々に対 応する複数の前記ノード識別情報を記憶する記憶部等のノード識別情報記憶手段 を備え、当該ノード識別情報記憶手段においては、前記榭形図における最上位階層 に属する前記ノード装置に対応する前記ノード識別情報の記憶可能数が、当該最上 位階層以外の他のいずれか一の前記階層に属する前記ノード装置に対応する前記 ノード識別情報の記憶可能数以上とされており、記憶されている各前記ノード識別情 報を参照して前記授受に用いる参照行程を含むように構成されて 、る。
[0041] よって、ノード識別情報記憶手段にお!、て、ノードグループの階層構成を示す榭形 図における最上位階層に属するノード装置に対応するノード識別情報の記憶可能数 力 当該最上位階層以外の他のいずれか一の階層に属するノード装置に対応するノ ード識別情報の記憶可能数以上されているので、代替として情報の授受に供するこ とが可能なノード識別情報のノード装置における記憶可能数を最上階層について多 くしておくことで、端末装置がネットワークから脱落する等の事態が発生した場合でも 、迅速に代替となるノード識別情報を発見して情報の授受を効率的且つ迅速に実行 することができる。
[0042] 上記の課題を解決するために、請求項 13に記載の発明は、コンピュータを、請求 項 1から 11のいずれか一項に記載のノード装置として機能させる。
[0043] よって、ノード識別情報記憶手段として機能するコンピュータにおいて、ノードダル ープの階層構成を示す榭形図における最上位階層に属するノード装置に対応する ノード識別情報の記憶可能数が、当該最上位階層以外の他のいずれか一の階層に 属するノード装置に対応するノード識別情報の記憶可能数以上されているので、代 替として情報の授受に供することが可能なノード識別情報のノード装置における記憶 可能数を最上階層について多くしておくことで、端末装置がネットワークから脱落する 等の事態が発生した場合でも、迅速に代替となるノード識別情報を発見して情報の 授受を効率的且つ迅速に実行することができる。
発明の効果
[0044] 本発明によれば、ノード識別情報記憶手段にお!ヽて、ノードグループの階層構成を 示す榭形図における最上位階層に属するノード装置に対応するノード識別情報の記 憶可能数が、当該最上位階層以外の他のいずれか一の階層に属するノード装置に 対応するノード識別情報の記憶可能数以上されて!、るので、代替として情報の授受 に供することが可能なノード識別情報のノード装置における記憶可能数を最上階層 につ 、て多くしておくことで、端末装置がネットワーク力 脱落する等の事態が発生し た場合でも、迅速に代替となるノード識別情報を発見して情報の授受を効率的且つ 迅速に実行することができる。
図面の簡単な説明
[0045] [図 1]実施形態に係る配信システムにおける各ノードの接続態様の一例を示す図で ある。
[図 2]実施形態に係る配信システムにおけるルーティングテーブルが作成される様子 の一例を示す図であり、(A)はその第一例を示す図であり、(B)はその第二例を示 す図であり、(C)はその第三例を示す図である。
[図 3]実施形態に係る配信システムにおいて実際に作成されたルーティングテーブル の一例を示す図であり、(A)はその第一例を示す図であり、(B)はその第二例を示 す図であり、(C)はその第三例を示す図であり、(D)はその第四例を示す図である。
[図 4]実施形態に係る配信システムにおけるパブリツシュメッセージの流れの一例を 示す概念図である。
[図 5]第 1実施形態に係るノードの概要構成を示すブロック図である。
[図 6]第 1実施形態に係るノードに記憶されているルーティングテーブルの概要構成 を示す模式図 (I)である。
[図 7]第 1実施形態に係るノードに記憶されているルーティングテーブルの概要構成 を示す模式図 (Π)である。 [図 8]第 1実施形態に係るノードに記憶されているルーティングテーブルに対する処 理を示すフローチャート(I)であり、 (a)は一般的な処理を示すフローチャートであり、 (b)はメッセージ転送処理を示すフローチャートである。
[図 9]第 1実施形態に係るノードに記憶されているルーティングテーブルに対する処 理を示すフローチャート(II)であり、 (a)はテーブルからの削除処理を示すフローチヤ ートであり、 (b)は非多重化ポイントからの削除処理を示すフローチャートである。
[図 10]第 1実施形態に係るノードに記憶されているルーティングテーブルに対する処 理を示すフローチャート等であり、 (a)は多重化ポイントからの削除処理を示すフロー チャートであり、(b)その概念図である。
[図 11]第 1実施形態に係るノードに記憶されているルーティングテーブルへの登録処 理を示すフローチャートである。
[図 12]第 1実施形態に係るノードに記憶されているルーティングテーブルに対する処 理を示すフローチャート (III)であり、 (a)は非多重化ポイントへの登録処理を示すフロ 一チャートであり、 (b)は多重化ポイントへの登録処理を示すフローチャートである。
[図 13]第 1実施形態に係るノードに記憶されているルーティングテーブルに置ける登 録位置の取得処理を示すフローチャートである。
[図 14]第 1実施形態に係るノードに記憶されているルーティングテーブルに対する処 理を示すフローチャート等であり、 (a)は登録座標の取得処理を示すフローチャート であり、(b)その概念図である。
[図 15]第 1実施形態に係るノードに記憶されているルーティングテーブルの更新処理 を示す模式図である。
[図 16]第 2実施形態に係るノードに記憶されているルーティングテーブルの概要構成 を示す模式図である。
[図 17]第 3実施形態に係るノードに記憶されているルーティングテーブルへの登録処 理を示すフローチャートである。
[図 18]第 3実施形態に係るメッセージ転送処理を示すフローチャートである。
符号の説明 13 ノ ッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 ノ ス
S 配信システム
N ノード
RT、 RRT ルーティングテーブル
MR メインテーブル
R1、R2、R3、RR1、RR2、RR3 サブテーブル
E、 ME1、 R1E1、 R2E1、 R3E1、 RR1E1、 RR2E1、 RR3E1 エントリ 発明を実施するための最良の形態
[0047] 次に、本発明を実施するための最良の形態について、図面に基づいて説明する。
なお、以下に説明する実施形態は、インターネット等のネットワークを用いて上記コン テンッの配信を行う上記配信システムに対して本発明を適用した場合の実施の形態 である。
[0048] (I)配信システムの全体構成等
始めに、図 1を参照して、実施形態に係る上記配信システム全体の概要構成等に ついて説明する。なお、図 1は、実施形態に係る配信システムにおける各ノードの接 続態様の一例を示す図である。
[0049] 図 1の下部枠 101内に示すように、 IX (Internet eXchange) 3、 ISP (Internet Service
Provider) 4、 DSL (Digital Subscriber Line)回線事業者(の装置) 5、 FTTH (Fiber To The Home)回線事業者 (の装置) 6、及び通信回線 (例えば、電話回線や光ケー ブル等) 7等によって、インターネット等のネットワーク(現実世界の物理的なネットヮ ーク) 8が構築されているとする。なお、図 1の例におけるネットワーク (通信ネットヮー ク) 8には、メッセージ (パケット)を転送するためのルータが適宜挿入されて 、るが、 図 1では、図示を省略している。
[0050] 実施形態に係る配信システム Sは、このようなネットワーク 8を介して相互に接続され た複数のノード A、 B、 C、 · ··、 X、 Υ、 Ζ、…を備えて構成されるネットワークシステムと なっている。そして、各ノード A、 B、 C"'X、 Υ、 Ζ、…には、固有の製造番号及び宛 先情報としての上記 IPアドレスが割り当てられて!/、る。このような製造番号及び IPアド レスは、複数のノード間で重複しないものである。
[0051] 上述した配信システム Sにおいては、上記 DHTを利用したアルゴリズムにより、図 1 の上部枠 100内に示すような、オーバーレイネットワーク 9が構築される。すなわち、 当該オーバーレイネットワーク 9は、上記した既存の(物理的な)ネットワーク 8を用い て形成された仮想的なリンクを構成するネットワークである。
[0052] そして、以下に説明する実施形態は、この DHTを利用したアルゴリズムによって構 築されたオーバーレイネットワーク 9を前提としており、このオーバーレイネットワーク 9 上に配置されたノードを、一般に、オーバーレイネットワーク 9に「参加」しているノード という。なお、オーバーレイネットワーク 9への参加は、未だ参加していないノードが、 既に参加している任意のノードに対して参加要求メッセージを送信することによって 行われる。
[0053] 一方、各ノードは、上述したように固有のノード識別情報としてのノード ID (上述した ように IPアドレス或いは製造番号を共通のハッシュ関数 (例えば、 SHA—1等)により ノ、ッシュ化して得た一定桁数力もなるハッシュ値を有するノード ID)を有しており、当 該ノード Iでは一つの ID空間(当該 ID空間については、後ほど詳述する)に偏りなく 分散して配置されることになる。そして、この共通のハッシュ関数により求められたノ ード IDは、当該 IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極め て低いものである。なお、ノ、ッシュ関数については公知であるので詳しい説明を省略 する。
[0054] (II) DHTにおけるルーティングテーブルの一般的運用方法等 次に、上記 DHTの具体的内容であるルーティングテーブルの作成手法並びにそ れを用いたコンテンツの検索方法の一般例について、図 2及び図 3を用いて説明す る。なお、図 2は、当該ルーティングテーブルが作成される様子の一例を示す図であ り、図 3は、実際に作成されたルーティングテーブルの一例を示す図である。
[0055] (ァ)ルーティングテーブルの作成手法
上述したように、各ノードに付与されたノード IDは、共通のノ、ッシュ関数によって生 成されたものであるため、図 2 (A)乃至図 2 (C)に示す如ぐ同一のリング状の上記 I D空間上にさほど偏ることなぐ散らばって存在するものとして考えることができる。な お同図は、 8bitでノード IDを付与し、図示したものであり、図中黒点はノード IDを示 し、反時計回りで IDが増加するものとする。
[0056] 上記ルーティングテーブルの作成を考える場合、最初に、 02 (A)に示す如ぐ上 記 ID空間が所定の規則に従って幾つかのグループ (ノードグループ)としてのエリア に分割される (分けられる)。実際には、 16分割程度が良く用いられるが、説明を簡 単にするためここでは 4分割とし、 IDをビット長 8bitの 4進数で表すこととした。そして 、あるノード Nのノード IDを「1023」とし、このノード Nのルーティングテーブルを作るも のとする。
[0057] (A)レベル 1のルーティング
図 2 (A)に例示するように ID空間を 4分割とすると、それぞれのエリアは 4進数で表 すと最大桁が異なる 4つのエリア「0XXX」、「1XXX」、「2XXX」、「3XXX」(Xは 0から 3 の整数、以下同様。)で分けられる。このとき、上記ノード Nは、当該ノード N自身のノ ード IDが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。
[0058] そして、当該ノード Nは、自身の存在するエリア(すなわち、「1XXX」のエリア)以外 のエリアに存在する(換言すれば、レベル 1において他のノードグループに属する)各 ノードを代表のノードとして任意に選択し、当該選択されたノード IDの IPアドレス等( 実際には、ポート番号等も含まれる、以下同様。)を、そのノード Nに記憶されるべき レベル 1のルーティングテーブルにおける各欄(当該ルーティングテーブルを構成す るマトリクスル状の各欄を、以下単にエントリと称する)に登録 (記憶)させる。このとき、 図 3 (A)がレベル 1のルーティングテーブルの一例である。なお、レベル 1のルーティ ングテーブルにおける 2列目のエントリは、ノード N自身を示しているため、 IPアドレス 等を登録する必要は無い。
[0059] (B)レベル 2のルーティング
次に、図 2 (B)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自身 の存在するエリアを更に 4分割し、 4つのエリア「10XX」、「11XX」、「12XX」、「13XX」 に分ける(つまり、ノード 自身が属するノードグループを更に複数の小ノードグルー プに分ける)。
[0060] そして、レベル 1の場合と同様に、自身が存在するエリア以外のエリア(図 2 (B)に おいて更に分割されたエリア)に存在する各ノードを代表のノードとして任意に選択し 、当該ノード IDの IPアドレス等をレベル 2のルーティングテーブルにおける各エントリ に登録する。このとき、図 3 (B)がレベル 2のルーティングテーブルの一例である。な お、レベル 2のルーティングテーブルにおける 1列目の欄は、ノード N自身を示してい るため、 IPアドレス等を登録する必要は無い。
[0061] (C)レベル 3のルーティング
更に、図 2 (C)に示す如ぐ上記レベル 2のルーティングによって 4分割したエリアの うち、 自身の存在するエリアを更に細力べ 4分割し、 4つのエリア「100X」、「101X」、「1 02X」、「103X」に分ける(つまり、ノード N自身が属する小ノードグループを更に複数 の小ノードグループに分ける)。
[0062] そして、上記レベル 1又は 2の場合と同様に、自身の存在するエリア以外のエリア( 図 2 (C)において更に分割されたエリア)に存在する各ノードを代表のノードとして任 意に選択し、当該ノード IDの IPアドレス等をレベル 3のルーティングテーブルにおけ る各エントリに登録する。このとき、図 3 (C)がレベル 3のルーティングテーブルの一例 である。なお、レベル 3のルーティングテーブルにおける 3列目の欄は、ノード N自身 を示しているため、 IPアドレス等を登録する必要は無ぐ 2列目及び 4列目の欄はそ のエリアにノードが存在しない(すなわち、図 2 (C)において更に分割されたエリアの うちノード N自身が属して 、るエリアには、ノード IDが「1000」であるノード以外には他 にノードが存在しない)ため、空白となる。
[0063] このようにして、最終的にレベル 4まで同様にルーティングテーブルが図 3 (D)に示 す如く作成されることにより、 8bitの ID全てを網羅したルーティングテーブル力 ノー ド N内に記憶されるべきものとして完成することになる。このとき、図 3に夫々示すよう に、出来上がったルーティングテーブルにおいては、レベルが上がる(例えばレベル 2からレベル 3に上がる)毎にルーティングテーブルの中に空白が目立つようになる。
[0064] 以上説明した手法 (規則)に従って作成したルーティングテーブルを、全てのノード が夫々作成して記憶することになる (係るルーティングテーブルの作成は、例えば、 未参加のノードがオーバーレイネットワーク 9に参加する際に行われる力 本発明とは 直接の関係がな 、ので詳し 、説明を省略する)。
[0065] このように、各ノードは、他のノードの宛先情報としての IPアドレス等と、各区分され たノードグループとしての、ノード ID空間のエリア(すなわち DHTの各レベル及び各 列)と、を相互に対応付けて記憶している。
[0066] つまり、各ノードは、複数に分けられた各エリア(ノードグループ)に属する一のノー ドの IPアドレス等を、夫々のエリアに対応付けて一の段階 (レベル)として規定し、更 に自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属する 一のノードの IPアドレス等を、夫々のエリアに対応付けて次の段階(レベル)として規 定するルーティングテーブルを記憶して 、る。
[0067] ここで、ノード IDの桁数に応じてレベルの数が決まり、進数の数に応じて図 3 (D)に おける各レベルの注目桁の数が決まる。より具体的には、例えば 16桁 16進数である 場合には、 64bitのノード IDとなり、レベル 16で注目桁の(英)数字は 0〜Fとなる。ま た、後述するルーティングテーブルの説明においては、各レベルの注目桁の数を示 す部分を単に「列」ともいう。
[0068] (ィ)コンテンッデータの保存及び検索方法
次に、配信システム Sにお 、て取得可能なコンテンツデータの保存及び上記ルー ティングテーブルを用いた検索方法にっ 、て説明する。
[0069] オーバーレイネットワーク 9においては、様々なコンテンツ (例えば、映画や音楽等) に相当するコンテンツデータ力 複数のノードに分散して保存 (格納)されている(言 い換えれば、コンテンツデータが複製されその複製情報であるレプリカが分散保存さ れている)。 [0070] より具体的には、例えば、あるノード A及びノード D〖こは、タイトルが「XXX」の映画 のコンテンツデータが保存され、一方、他のノード B及びノード Cには、タイトルが「Y ΥΥ」の他の映画のコンテンツデータが保存されるというように、複数のノード(以下、「 コンテンツホルダ」という)に分散されて保存される。そして、これらのコンテンツデータ には、夫々、コンテンツ名(タイトル)及び上述したコンテンツ ID等の情報が付加され ている。
[0071] 一方、このように分散保存されているコンテンツデータの所在、つまり、当該コンテ ンッデータを保存したノードの IPアドレス等と、当該コンテンツデータに対応するコン テンッ ID等と、の組が含まれるインデックス情報が、当該コンテンツデータの所在の 管理元のノード (以下、当該ノードを、「ルートノード」、又は「コンテンツ (コンテンツ ID )のルートノード」と称する)等により記憶 (インデックスキャッシュに記憶)、管理される ようになつている。すなわち、例えば、タイトルが「XXX」の映画のコンテンツデータの インデックス情報は、そのコンテンツ(コンテンツ ID)のルートノードであるノード Mによ り管理され、タイトルが「YYY」の映画のコンテンツデータのインデックス情報は、その コンテンツ(コンテンツ ID)のルートノードにより管理される。
[0072] つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、し力も 、同一のコンテンツデータ(コンテンツ IDが同一)力 夫々、複数のコンテンツホルダ に保存されている場合であっても、係るコンテンツデータのインデックス情報は、一つ のルートノードで管理することができる。また、このようなルートノードは、例えば、コン テンッ IDと最も近 、 (例えば、上位桁がより多く一致する)ノード IDを有するノードで あるように定められる。
[0073] このようにしてコンテンツデータを保存したノード(以下、当該ノードをコンテンツホル ダと称する)は、当該コンテンツデータを保存したことをそのルートノードに知らせるた めに、そのコンテンツデータのコンテンツ ID及び自己の IPアドレス等が含まれるパブ リツシュ(登録通知)メッセージ(コンテンツデータを保存したので、 IPアドレス等の登 録の要求を示す登録メッセージ)を生成し、当該パブリツシュメッセージを、そのルー トノードに向けて送出する。これにより、パブリツシュメッセージは、当該コンテンツ ID を手掛力りとする以下の DHTルーティング処理によってルートノードに到着すること になる。
[0074] 次に、当該 DHTルーティング処理について具体的に図 4を用いて説明する。なお 、図 4は、コンテンツホルダから送出されたパブリツシュメッセージの流れの一例を DH Tのノード ID空間にて示した概念図である。
[0075] 図 4の例において、例えば、コンテンツホルダであるノード Aは、自己の DHTのレべ ル 1のルーティングテーブルを参照して、パブリツシュメッセージに含まれるコンテンツ IDと最も近い(例えば、上位桁がより多く一致する)ノード IDを有する例えば図 4に示 すノード Hの IPアドレス等を取得し、その IPアドレス等宛てに、上記パブリツシュメッセ ージを送信する。
[0076] これに対して、図 4に示すノード Ήは、当該パブリツシュメッセージを受信し、 自己の DHTのレベル 2のルーティングテーブルを参照して、当該パブリツシュメッセージに 含まれるコンテンツ IDと最も近い (例えば、上位桁がより多く一致する)ノード IDを有 する例えば図 4に示すノード Iの IPアドレス等を取得し、その IPアドレス等宛てに、上 記パブリツシュメッセージを転送する。
[0077] これに対して、図 4に示すノード Iは、当該パブリツシュメッセージを受信し、 自己の D HTのレベル 3のルーティングテーブルを参照して、当該パブリツシュメッセージに含 まれるコンテンツ IDと最も近い (例えば、上位桁がより多く一致する)ノード IDを有す る例えば図 4に示すノード Mの転送先ノード情報に含まれる IPアドレス等を取得し、 その IPアドレス等宛てに、上記パブリツシュメッセージを転送する。
[0078] これに対して、当該ノード Mは、当該パブリツシュメッセージを受信し、自身の DHT のレベル 4のルーティングテーブルを参照して、当該パブリツシュメッセージに含まれ るコンテンツ IDと最も近い(例えば、上位桁がより多く一致する)ノード IDが自身であ る、つまり、自身がそのコンテンツ IDのルートノードであることを認識し、当該パブリツ シュメッセージに含まれる IPアドレス等及びコンテンツ IDの組を含むインデックス情報 を登録 (インデックスキャッシュ領域に記憶)することになる。
[0079] なお、パブリツシュメッセージに含まれる IPアドレス等及びコンテンツ IDの組を含む インデックス情報は、コンテンツホルダからルートノードに至るまでの転送経路におけ るノード(以下、「中継ノード」という。図 4の例では、ノード Ή及びノード I)においても登 録 (キャッシュ)される(このように、インデックス情報をキャッシュする中継ノードをキヤ ッシュノードという)。
[0080] そして、あるノードの使用者力 所望するコンテンツデータを取得したい場合、当該 コンテンツデータの取得を望むノード(以下、「リクエスタ」という)は、当該ユーザによ りコンテンツカタログ†青報から選択されたコンテンツデータのコンテンツ IDを含むコン テンッ所在問合せ (検索)メッセージを、自己の DHTのルーティングテーブルに従つ て他のノードに対して送出する。これ〖こより、当該コンテンツ所在問合せメッセージは 、上述したパブリツシュメッセージと同様に、コンテンツ IDを手掛力りとする DHTルー ティングによって、いくつかの中継ノードを経由(転送)されて、そのコンテンツ IDのル ートノードに迪り着く。
[0081] そして、上記リクエスタは、当該ルートノードから、上述したそのコンテンツデータの インデックス情報を取得 (受信)し、当該 IPアドレス等に基づ 、て上記コンテンツデー タを保存して ヽるコンテンツホノレダに接続し、そこから当該コンテンツデータを取得 ( ダウンロード)することが可會 になる。
[0082] なお、上記リクエスタは、コンテンツ所在問合せメッセージがルートノードに迪り着く までの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード (キャッシュノード)から当該 IPアドレス等を取得 (受信)することもできる。
[0083] ( ) i m
次に、上述した配信システム S内の各ノード Nに記憶されて ヽる本願のルーティング テーブルに係る第 1実施形態について、当該ノード N自体の構成と共に図 5乃至図 1 5を用いて説明する。
[0084] なお、図 5は第 1実施形態に係るノードの概要構成を示すブロック図であり、図 6及 び図 7は当該ノードに記憶されているルーティングテーブルの概要構成を示す模式 図であり、図 8乃至図 14は当該ルーティングテーブルに対する実施形態に係る処理 を夫々示すフローチャートであり、図 15は当該ルーティングテーブルの更新処理を 例示する図である。
[0085] 始めに、第 1実施形態に係るノードの概要構成及び全体動作について、図 5を用い て説明する。なお、以下の各実施形態においては、上記コンテンツホルダ、リクエスタ 、ルートノード及びその他のノード Nは、基本的に全て同一のハードウェア構成を有 するものであるので、それらを代表して一般のノード Nの構成について、図 5を用いて その概要を説明する。
[0086] 図 5に示すように、第 1実施形態に係る配信システム Sに含まれているノード Nは、 演算機能を有する CPU、作業用 RAM (Random Access Memory)、各種データ及び プログラムを記録する ROM (Read Only Memory)等カゝら構成された参照手段、削除 手段及び順位変更手段としての制御部 11と、上記コンテンツ自体としてのコンテンツ データ、上記ルーティングテーブル及びその他の必要なプログラム等を記録保存 (格 納)する HDD等から構成されたノード識別情報記憶手段としての記憶部 12と、受信 されたコンテンツデータを一時蓄積するバッファメモリ 13と、コンテンツデータに含ま れるエンコード (符号化)されたビデオデータ(映像情報)及びオーディオデータ (音 声情報)等をデコード (データ伸張や復号化等)するデコーダ部 14と、当該デコード されたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映 像処理部 15と、当該映像処理部 15から出力されたビデオ信号に基づき映像表示す る CRT(Cathode Ray Tube)又は液晶ディスプレイ等よりなる表示部 16と、上記デコ ードされたオーディオデータをアナログオーディオ信号に DZA (Digital/Analog)変 換した後これを増幅器等により増幅して出力する音声処理部 17と、当該音声処理部 17から出力されたオーディオ信号を音波として出力するスピーカ 18と、ネットワーク 8 を通じて他のノード Nとの間の情報の通信制御を行なうための通信部 20と、夫々の 使用者力 の指示を受け付け当該指示に応じた指示信号を制御部 11に出力する入 力部(例えば、キーボード、マウス或いは、操作パネル等) 21と、を備えて構成され、 制御部 11、記憶部 12、バッファメモリ 13、デコーダ部 14、及び通信部 20はバス 22を 介して相互にデータの授受が可能に接続されて 、る。
[0087] そして、制御部 11における CPUが記憶部 12等に記録された各種プログラムを実 行することにより、制御部 11が、リクエスタ、ルートノード、コンテンツホルダ又はそれ ら以外の一般のノード Nのいずれか一つとしての全体動作を統括制御する。
[0088] 次に、ノード一般 (ルートノード、コンテンツホルダ及びリクエスタを含む)としての基 本的な共通動作を含めて、第 1実施形態に係るルーティングテーブルの構成及びそ れに対する処理にっ 、て夫々説明する。
[0089] なお、以下の説明においては、ルーティングテーブルの規模は、レベルが 1乃至 4 まで (すなわち、図 3 (D)で示したものと同様の 8bit (4桁)対応のルーティングテープ ル)で、一レベル当たりの分割数が四つであるルーティングテーブルであるものとする
[0090] 図 6に示すように、上記記憶部 12内に記憶されている第 1実施形態に係るルーティ ングテーブル RTは、上記 DHTルーティング処理に主として用いられるメインテープ ル MRと、当該メインテーブル MRの代替として順次用いられるサブテーブル R1乃至 R3と、により構成されている。
[0091] この構成において、メインテーブル MRはレベル 1乃至 4までの四つのレベル分の エントリ Eを合計 16個(四つのレベル X四つのエリア)含んでいる。また、サブテープ ル R1は、レベル 1及び 2の二つのレベル分のエントリ Eを合計 8個(二つのレベル X 四つのエリア)含んでおり、更にサブテーブル R2及び R3は、各々、レベル 1のみの エントリ Eを 4個(一つのレベル X四つのエリア)夫々含んでいる。すなわち、ルーティ ングテーブル RTとしては、各テーブルにおけるレベル数を、メインテーブル MRから みて指数関数的に減少させて!/、る。
[0092] そして、各エントリ Eには、対応するレベルのルーティング先(転送先)のノード Nを 示すノード ID及び IPアドレス等にカ卩えて、当該ルーティング先のノードまでメッセージ 等が到達するまでに中継されるノードの数であるホップ数力 当該ルーティング先の ノードまでのネットワーク上の距離 (換言すれば、当該ルーティング先のノードまでメッ セージ等を到達させる際の容易性)を示す情報として記述されている。なお、上述し たように、一つのルーティングテーブル内では、レベルが上がるにつれて空白となる エントリ Eが増大していくことになる。なお、当該ノード ID、 IPアドレス等及びホップ数 を、纏めて以下「ノード情報」と称する。
[0093] なお、第 1実施形態に係る記憶部 12においては、図 6に示すメインテーブル MR乃 至サブテーブル R3を全て記憶可能な記憶領域が(各エントリ E内に実際にノード情 報が記憶されていると否とに拘わらず)、当該ルーティングテーブル RT用の記憶領 域として常に確保されて ヽる。 [0094] このとき、当該ルーティングテーブル RT用の記憶領域として具体的には、自信のノ ード IDと一致しているエントリ Eにはノード情報を記述する必要がないので、そのため の記憶領域を確保する必要はない。例えば、ルーティングテーブル RTにおいて、そ のレベル 1にエントリ Eを四個記憶できる場合、 一つのレベル X { (四つのエリア) - ( 自身のノード IDと一致しているエリア(1つ))} = 12 となるので、そのエントリ Eにノー ド情報が記憶されている力否かに拘わらず、合計 12個エントリ分の記憶領域が確保 されていればよい。すなわち図 7に例示するように、自身のノード IDが例えば「1203 」であった場合、 1行(レベル 1) 2列に登録されるノード情報は存在しない。よって、レ ベル 1として確保すべき記憶領域は、図 7において右下ハッチングで表示されるェン トリ 3個分の記憶領域である。これと同様に、図 7に例示する場合には、レベル 2として はエントリ Eを 2個所持できるので合計エントリ 6個分の記憶領域があればよぐまたレ ベル 3としてはエントリ Eを 1個所持できるので合計エントリ 3個の記憶領域があればよ ぐ更にレベル 4としてはエントリ Eを 1個所持できるので合計エントリ 3個の記憶領域 があればよい。
[0095] 次に、第 1実施形態に係るルーティングテーブル RTを構成するメインテーブル MR 、サブテーブル R1乃至 R3においては、各テープノレ内の同一レべノレ且つ同一エリア に相当するエントリ Eには、当該同一エリア(同一ノードグループ)に属する転送先と なり得るノードのノード情報力 ホップ数の少な ソードから順にメインテーブル MR、 サブテーブル R1乃至 R3に夫々一ノード分だけ記述されている。
[0096] より具体的には、例えば図 6に例示するメインテーブル MRのエントリ ME1に注目し た場合、当該エントリ ME1内に記述されているノード情報により示されるノードと同じ エリアに属する他の一つのノードを示すノード情報力 当該エントリ ME1と同一レべ ル同一エリアに相当するサブテーブル R1のエントリ R1E1、サブテーブル R2のェント リ R2E1及びサブテーブル R3のエントリ R3E1内に夫々記述されている。
[0097] そして、メインテーブル MRのエントリ ME 1内に記述されているノード IDにより示さ れるノードまでのホップ数は、サブテーブル R1のエントリ R1E1内に記述されているノ ード IDにより示されるノードまでのホップ数より少なぐ当該エントリ R1E1内に記述さ れているノード IDにより示されるノードまでのホップ数は、サブテーブル R2のエントリ R2E1内に記述されているノード IDにより示されるノードまでのホップ数より少なぐ更 に当該エントリ R2E1内に記述されているノード IDにより示されるノードまでのホップ 数は、サブテーブル R3のエントリ R3E1内に記述されているノード IDにより示されるノ ードまでのホップ数より少なくなつて 、る。
[0098] なお、図 6に示すルーティングテーブル RTにおいて、エントリ ME1、 R1E1、 R2E1 及び R3E1内に夫々記述されているノード IDにより示されるノードまでのホップ数を 相互に等しく構成することも可能である。この場合は、他のノードからメッセージを受 け取った時刻が最近のノードを示すノード IDがエントリ ME1内に記述されることにな る。
[0099] このような構成を備えるルーティングテーブル RTを用いて DHTルーティング処理 を実行する場合、例えばメインテーブル MRのエントリ ME1内に記述されているノー ド IDにより示されるノード力 例えば当該ノード自体が配信システム Sから脱退した等 の理由により当該配信システム S内に存在しなくなったことが認識された場合、他の ルーティング先のノード Nを新たに探索することなぐサブテーブル R1のエントリ R1E 1内に記述されて 、るノード情報により示される(同じエリア内の)他のノード Nを新た なルーティング先に直ちに切り換えて必要な DHTルーティング処理を継続する。
[0100] そして、当該他のノードをルーティング先とした DHTルーティング処理後において は、元々エントリ R1E1に記述されて!、たノード情報をエントリ ME1内に書き換えると 共に、元々エントリ R2E1に記述されて!、たノード情報をエントリ R1E1内に書き換え 、更に元々エントリ R3E1に記述されて!、たノード情報をエントリ R2E1内に書き換え るルーティングテーブル RTの更新処理を行 ヽ、新たな DHTルーティング処理に備 える。
[0101] 更に、例えば現在エントリ ME1内に記述されているノード IDにより示されるノードよ りもホップ数が少ない同一レベル同一エリア内の他のノードが発見された場合には、 その新たに発見されたノードを示すノード情報を新たにエントリ ME1内に記述し、元 々エントリ ME1に記述されて 、たノード情報をエントリ R1E1内に書き換えると共に、 元々エントリ R1E1に記述されて!、たノード情報をエントリ R2E1内に書き換え、更に 元々エントリ R2E1に記述されて!、たノード情報をエントリ R3E1内に書き換えるルー ティングテーブル RTの更新処理を行 ヽ、新たな DHTルーティング処理に備える。
[0102] なお、図 6に示す場合において、メインテーブル MRがレベル 4まで対応しているの に対し、サブテーブル R1はレベル 2にまでしか対応しておらず、更にサブテーブル R 2及び R3についてはレベル 1にまでしか対応していない。これは、図 3 (D)に例示し た如ぐルーティングテーブル RTに含まれるメインテーブル MRにおいて、その最下 行に記述されるべきノード情報は 1つしか存在しないためであり、従って、第 1実施形 態の場合では、サブテーブル R1乃至 R3におけるレベル 4に相当する行にノード情 報が記述されることはあり得な 、からである。
[0103] また、第 1実施形態に係るルーティングテーブル RTに含まれるテーブルの数自体( 図 6に示す場合は「4」)は、例えば実験的その他の手法により任意に決定し得るもの であるが、より具体的には、例えば配信システム Sにおける統計的なノードの脱退率 等を根拠として決定することが望ま U、。
[0104] 次に、第 1実施形態に係るルーティングテーブル RTに係る上記更新処理等につい て、具体的に図 8乃至図 15を用いて説明する。なお、当該図 8乃至図 15に夫々各フ ローチャートに対応する処理は各ノード N内の制御部 11が実行するものである。
[0105] 先ず、図 8 (a)を用いて第 1実施形態に係るノード Nにおける一般的な処理につい て説明する。なお図 8 (a)は、当該一般的な処理を示すフローチャートである。
[0106] 図 8 (a)に示すように、第 1実施形態に係るノード Nにおいては、配信システム Sに新 たに参加するに当たり、自身が記憶しているルーティングテーブル RT内の各エントリ E内に記述されている全てのノード ID等の情報を初期化し (ステップ S1)、更に上記 参加要求メッセージを送信して配信システム S内に参加する (ステップ S 2)。
[0107] 当該参加後は、自身の電源スィッチがオフとされた力否かを常に監視し (ステップ S 3)、オフとされたときは (ステップ S3 ; YES)そのまま処理を終了し、一方、オフとされ ていないときは(ステップ S3 ;NO)、次に、何らかのメッセージを他のノード Nから受 信したか否かを確認する (ステップ S4)。
[0108] そして、何らかのメッセージを他のノード Nから受信したときは(ステップ S4 ; YES)、 その受信したメッセージを転送する転送先をメインテーブル MR内にお 、て探索する 等の後述するメッセージ転送処理を実行し (ステップ S 5)、更に当該メッセージ転送 処理の結果を用いたルーティングテーブル RTへのノード情報の新たな登録処理を 実行し (ステップ S6)、上記ステップ S3に戻って上述した処理を繰り返す。なお、上 記ステップ S5及び S6の処理については、後ほど詳述する。
[0109] 一方、ステップ S4の判定にお!、て、何らメッセージを受信して ヽな 、ときは (ステツ プ S4 ;NO)、当該ノード Nとして予め設定されている他の処理を実行し (ステップ S 7)
、上記ステップ S3に戻戻って上述した処理を繰り返す。
[0110] 次に、上記ステップ S5としてのメッセージ転送処理について、具体的に図 8 (b)を 用いて説明する。なお、図 8 (b)は当該メッセージ転送処理を示すフローチャートであ る。
[0111] 図 8 (b)に示すように、当該メッセージ転送処理としては、何らかのメッセージを受信 した場合(図 8 (a)ステップ S4 ; YES参照)、先ず、自身が記憶しているメインテープ ル MR内にぉ 、て次の転送先となるエントリを探索する(ステップ S 10)。
[0112] そして、当該探索処理の過程において自身がルートノードであることが判明したか 否かを確認し (ステップ S 11)、自身がルートノードであるときは(ステップ SI 1; YES) 、もはや転送先のノード Nは存在しないこととなるので、そのメッセージに対応する処 理を実行して上記ステップ S6の処理に移行する。
[0113] 一方、ステップ S11の判定において、自身がルートノードではなぐ次に転送すべき ノード Nが探索できたときは (ステップ S 11 ;NO)、その探索結果を用いて当該受信し たメッセージを転送し (ステップ S 12)、その転送が成功した力否かを確認する (ステツ プ S13)。このステップ S13の処理として具体的には、例えば、転送先のノード Nから の返答メッセージの有無等により確認することができる。
[0114] ステップ S13の確認において、当該転送が成功したときは(ステップ S13 ; YES)、 そのまま上記ステップ S6に移行し、一方、例えば転送先のノード Nが配信システム S 力も脱退していた等の理由により当該転送が成功しな力つた場合は (ステップ S13; NO)、現在のメインテーブル MRから当該転送が成功しなかった転送先のノード Nを 示すノード情報を削除する処理を行い (ステップ S 14)、上記ステップ S10に戻って再 度上記削除処理 (ステップ S14)後のメインテーブル MR内において次の転送先のノ ードを探索する。 [0115] ここで、後述するように、上記ステップ S14の削除処理においては、メッセージの転 送が成功しな力つたノードのノード情報をメインテーブル MRから削除した後、その削 除されたノード情報が記述されて 、たメインテーブル MRのエントリ Eに、当該エントリ Eと同一レベル同一エリアに相当するサブテーブル R1のエントリ Eに記述されていた ノード情報を記述する処理を実行する。よって、上記ステップ S 14及び S 10の処理が 繰り返されることで、結果的に、図 6に示すメインテーブル MR→サブテーブル Rl→ サブテーブル R2→サブテーブル R3の順で、当該同一レベル同一エリアに相当する エントリ Eが順次参照されてメッセージの転送処理に供されることとなる。
[0116] 次に、上記ステップ S 14としてのメッセージ削除処理について、具体的に図 9 (a)を 用いて説明する。なお、図 9 (a)は当該メッセージ削除処理を示すフローチャートであ る。
[0117] 図 9 (a)に示すように、当該メッセージ削除処理としては、先ず、メッセージの転送が 成功しなかったノードのノード情報が記述されていたメインテーブル MRのエントリ E 力 当該エントリ Eと同一レベル同一エリアに相当するサブテーブル R1のエントリ Eを 有するものであるか否かを確認する (ステップ S30)。
[0118] なお、以下の説明では、同一レベル同一エリアに相当するエントリ Eが少なくともサ ブテーブル R1に存在するメインテーブル MRのエントリ Eを、「多重化されて!/、るェン トリ」と称する。より具体的に図 6を用いて説明すると、第 1実施形態に係るメインテー ブル MRにおいては、レベル 1及び 2が多重化されているエントリとなり、レベル 3及び 4は多重化されて!/ヽな 、エントリとなる。
[0119] そして、メッセージの転送が成功しな力つたノードのノード情報が記述されていたメ インテーブル MRのエントリ Eが多重化されたエントリであった場合は (ステップ S30; YES)、当該多重化されたメインテーブル MRのエントリ Eカゝらノード情報を削除する 処理を実行し (ステップ S32)、上記図 8 (b)ステップ S 10の処理に移行する。
[0120] 一方、ステップ S30の判定にお!、て、メッセージの転送が成功しなかったノードのノ ード情報が記述されて 、たメインテーブル MRのエントリ Eが多重化されて!/ヽな ヽェン トリであった場合は (ステップ S 30; NO)、当該多重化されて!/、な 、メインテーブル M Rのエントリ E力もノード情報を削除する処理を実行し (ステップ S31)、上記図 8 (b)ス テツプ SI 0の処理に移行する。
[0121] 次に、上記ステップ S31の処理について、具体的に図 9 (b)を用いて説明する。な お、図 9 (b)は当該ステップ S31の削除処理を示すフローチャートである。
[0122] 図 9 (b)に示すように、ステップ S31の削除処理としては、先ず、メッセージの転送が 成功しな力つたノードのノード情報と、当該ノード情報が記述されて 、るはずのメイン テーブル MRのエントリ Eに実際に記述されているノード情報と、を比較し (ステップ S 60)、両者が同一である場合は (ステップ S60 ;同一)、そのエントリ Eに実際に記述さ れているノード情報を削除して (ステップ S61)上記図 8 (b)ステップ S10の処理に移 行する。
[0123] 一方、ステップ S60の判定において、例えば転送成功の判定処理の際のエラー等 に起因して両者が異なっているときは、同じノード情報を用いた転送処理を再度実行 する必要があるとして (ステップ S60 ;相違)、当該エントリ E内に実際に記述されてい るノード情報を削除することなく上記図 8 (b)ステップ S10の処理に移行する。
[0124] 次に、上記ステップ S32の処理について、具体的に図 10を用いて説明する。なお、 図 10 (a)は当該ステップ S32の削除処理を示すフローチャートであり、図 10 (b)は当 該削除処理の状態を示す模式図である。
[0125] 図 10 (a)に示すように、ステップ S32の削除処理としては、先ず、ルーティングテー ブル RTにおける参照順の各テーブルの番号を示すパラメータ iを初期化する (ステツ プ S65)。このパラメータにっき、図 6に示す場合には、メインテーブル MRがパラメ 一タ1=「0」に相当し、サブテーブル R1がパラメータ i=「1」に相当し、更にサブテー ブル R2がパラメータ i=「2」に相当することになる。
[0126] パラメータ iが初期化されると、次に、現在の当該パラメータ iの値力 ルーティングテ 一ブル RTにおける多重化数を示すパラメータ MAX (図 6に示す場合、その値は「3」 である)未満である力否かを確認する (ステップ S66)。そして、現在の当該パラメータ iの値がパラメータ MAXの値未満でな!、ときは (ステップ S66 ;NO)、更に参照すベ き下位のサブテーブルが存在しないことになるので、上記図 8 (b)ステップ S10の処 理に移行する。
[0127] 一方、ステップ S66の判定において、現在の当該パラメータ iの値がパラメータ MA Xの値未満であるときは (ステップ S66 ; YES)、次に、ノード情報を削除すべきェント リ Eが現在のパラメータ iにより示されるテーブル内にあるエントリ Eであるカゝ否かを確 認し (ステップ S67)、ノード情報を削除すべきエントリ Eが現在のパラメータ iにより示 されるテーブル内にあるエントリ Eでないときは(ステップ S67 ; NO)、現在のパラメ一 タ iの値を「1」だけインクリメントして (ステップ S72)上記ステップ S66の処理に戻る。
[0128] ここで、メインテーブル MRのエントリ Eを一律に削除せずに削除対象となるエントリ Eを他のサブテーブル R1乃至 R3を含めてループ処理で検索する理由は、メッセ一 ジの転送処理を行っている間に新たなエントリ Eがメインテーブル MRに登録されるこ とがあるため、メインテーブル MRのエントリ Eが常に削除対象のエントリ Eとなるは限 らないからである。
[0129] 他方、ステップ S67の判定において、ノード情報を削除すべきエントリ Eが現在のパ ラメータ iにより示されるテーブル内にあるエントリ Eであるときは(ステップ S67 ; YES) 、次に、一つ下位にあるテーブルにおける同一レベル同一エリアのエントリ Eに記述 されて 、るノード情報を用いて、削除対象となって 、るノード情報 (現在のパラメータ i の値により示されるテーブルのエントリ E内に記述されている削除対象のノード情報) を書き換え (すなわち、テーブル間におけるノード情報の繰り上げ。ステップ S68)、 現在のパラメータ iの値を「1」だけインクリメントする(ステップ S 69)。
[0130] そして、当該インクリメント後のパラメータ iの値がパラメータ MAXの値から「1」を減 じた値になったか否かを確認し (ステップ S70)、当該値になっていないときは (ステツ プ S70 ;NO)、上記テーブル間におけるノード情報の繰り上げを下位のテーブルに ついて繰り返すべく上記ステップ S68の処理に戻り、一方、インクリメント後のパラメ一 タ iの値がパラメータ MAXの値から「1」を減じた値になったときは (ステップ S70; YE S)、そのときのパラメータ i ( = MAX—l)により示されるテーブルの該当するエントリ E内のノード情報を消去して (ステップ S71)上記図 8 (b)ステップ S 10の処理に移行 する。
[0131] 以上説明した図 10 (a)に示す処理が実行されることで、結果として、図 10 (b)に図
Figure imgf000030_0001
、て例示し、更に図 15において符号「 A」乃至「C」を用 、て例示 するように、メインテーブル MRのエントリ ME 1内に記述されて 、たノード情報が削除 された場合、サブテーブル R1のエントリ R1E1に記述されているノード情報が当該ェ ントリ ME1内に記述されると共に、サブテーブル R2のエントリ R2E1に記述されて!ヽ るノード情報がサブテーブル R1のエントリ R1E1内に記述され、サブテーブル R3の エントリ R3E1に記述されて!、るノード情報がサブテーブル R2のエントリ R2E1内に 記述され、更にサブテーブル R3のエントリ R3E1に記述されているノード情報が消去 されて当該エントリ R3E1が空の状態となる。
[0132] 次に、上記ステップ S6としてのテーブルへの登録処理について、具体的に図 11を 用いて説明する。なお、図 11は当該登録処理を示すフローチャートである。
[0133] 図 11に示すように、当該登録処理としては、先ず、図 8 (a)ステップ S4の処理にお V、て受信したメッセージの送信元のノードを示すノード情報を取得し (ステップ S20) 、その取得したノード情報に基づき、そのノード情報を記述すべきメインテーブル MR のエントリ Eが 、ずれであるかを確認する(ステップ S21)。
[0134] 次に、当該確認されたエントリ Eが多重化されたエントリであるか否かを確認し (ステ ップ S22)、多重化されているときは (ステップ S22 ;YES)、当該多重化されたメイン テーブル MRのエントリ Eに対する新たなノード情報の記述処理を実行し (ステップ S 24)、上記図 8 (a)ステップ S3の処理に移行する。
[0135] 一方、ステップ S22の判定にお!、て、確認されたエントリ Eが多重化されて!/、な!/ヽェ ントリであるときは(ステップ S22 ;NO)、当該多重化されていないメインテーブル MR のエントリ Eに対する新たなノード情報の記述処理を実行し (ステップ S23)、上記図 8 (a)ステップ S3の処理に移行する。
[0136] 次に、上記ステップ S23の登録処理について、具体的に図 12 (a)を用いて説明す る。なお、図 12 (a)は当該ステップ S23の登録処理を示すフローチャートである。
[0137] 図 12 (a)に示すように、ステップ S23の登録処理としては、先ず、対象となっている メインテーブル MRのエントリ E力 ノード情報が記述されて 、な 、空の状態であるか 否かを確認し (ステップ S35)、メインテーブル MRの当該エントリ Eが空の状態である ときは (ステップ S 35; YES)、そのまま当該エントリ Eに新 ゾード情報を記述して( ステップ S36)、上記図 8 (a)ステップ S3の処理に移行する。
[0138] 一方、ステップ S35の判定において、メインテーブル MRの当該エントリ Eに既にノ ード情報が記述されているときは (ステップ S35 ;NO)、次に、その記述されているノ ード情報内のホップ数と、新たに記述しょうとしているノード情報内のホップ数とを比 較し (ステップ S37、 S38)、新たに記述しょうとしているノード情報内のホップ数の方 力 既に記述されているノード情報内のホップ数より小さいか又は双方が等しいとき は (ステップ S38; YES)、当該新たなノード情報を用いて既に記述されて 、るノード 情報を書き換え (ステップ S36)、上記図 8 (a)ステップ S3の処理に移行する。
[0139] 他方、ステップ S38の判定において、新たに記述しょうとしているノード情報内のホ ップ数の方が、既に記述されて 、るノード情報内のホップ数より大き!/、ときは (ステツ プ S38 ;NO)、当該記述済みのノード情報を継続して使用するものとしてそのまま上 記図 8 (a)ステップ S3の処理に移行する。
[0140] 次に、上記ステップ S24の登録処理について、具体的に図 12 (b)を用いて説明す る。なお、図 12 (b)は当該ステップ S24の登録処理を示すフローチャートである。
[0141] 図 12 (b)に示すように、ステップ S24の登録処理としては、先ず、上記ステップ S35 の処理と同様に、対象となっているメインテーブル MRのエントリ Eが空の状態である か否かを確認し (ステップ S40)、メインテーブル MRの当該エントリ Eが空の状態であ るときは (ステップ S40 ; YES)、そのまま当該エントリ Eに新しいノード情報を記述して (ステップ S41)、上記図 8 (a)ステップ S3の処理に移行する。
[0142] 一方、ステップ S40の判定において、メインテーブル MRの当該エントリ Eに既にノ ード情報が記述されているときは (ステップ S40 ;NO)、次に、新たに記述しょうとして いるノード情報を記述すべきテーブルを取得する登録位置取得を実行して当該ノー ド情報を記述し (ステップ S42)、上記図 8 (a)ステップ S3の処理に移行する。
[0143] 次に、上記ステップ S42の取得処理について、具体的に図 13を用いて説明する。
なお、図 13は当該ステップ S42の取得処理を示すフローチャートである。
[0144] 図 13に示すように、ステップ S42の取得処理としては、先ず、上記パラメータ iを初 期化し (ステップ S45)、その後、現在の当該パラメータ iの値が上記パラメータ MAX 未満であるか否かを確認する (ステップ S46)。そして、現在の当該パラメータ iの値が パラメータ MAXの値未満でな 、ときは(ステップ S46 ;NO)、更に参照すべき下位の サブテーブルが存在しないことになるので、そのまま上記図 8 (a)ステップ S3の処理 に移行する。
[0145] 一方、ステップ S46の判定において、現在の当該パラメータ iの値がパラメータ MA Xの値未満であるときは(ステップ S46 ; YES)、次に、現在のパラメータ iにより示され るテーブル内にあるエントリ Eであって新たなノード情報が登録されるべきレベル及び エリアにあるエントリ E力 現在何らノード情報が記述されていない空の状態であるか 否かを確認する (ステップ S47)。
[0146] そして、当該エントリ Eが空の状態であるときは (ステップ S47 ; YES)、そのパラメ一 タ iにより示されるテーブル内にある当該エントリ E内に当該新たなノード情報を記述し (ステップ S51)、上記図 8 (a)ステップ S3の処理に移行する。
[0147] 他方、ステップ S47の判定において、当該エントリ Eが空の状態でないときは (ステツ プ S47 ;NO)、次に、その記述されているノード情報内のホップ数と、新たに記述しよ うとしているノード情報内のホップ数とを比較し (ステップ S48、 S49)、新たに記述し ようとしているノード情報内のホップ数の方力 既に記述されているノード情報内のホ ップ数より小さいか又は双方が等しいときは (ステップ S49 ; YES)、当該新たなノード 情報を記述するテーブル内のエントリ Eを取得する後述の取得処理を実行し (ステツ プ S50)、その取得したエントリ E内に当該新たなノード情報を記述して (ステップ S51 )上記図 8 (a)ステップ S3の処理に移行する。
[0148] また、ステップ S49の判定において、新たに記述しょうとしているノード情報内のホッ プ数の方が、既に記述されて 、るノード情報内のホップ数より大き!/、ときは (ステップ S49; NO)、現在のパラメータ iの値を「1」だけインクリメントして (ステップ S52)上記ス テツプ S46の処理に戻る。
[0149] 次に、上記ステップ S50の取得処理について、具体的に図 14を用いて説明する。
なお、図 14 (a)は当該ステップ S50の取得処理を示すフローチャートであり、図 14 (b )は当該取得処理の状態を示す模式図である。
[0150] 図 14 (a)に示すように、ステップ S50の取得処理としては、先ず、上記パラメータ iと 同様にルーティングテーブル RTにおける参照順の各テーブルの番号を示すパラメ ータ jを (パラメータ MAX— 1)の値に設定し (ステップ S55)、次に、現在のパラメータ iの値と現在のパラメータ jの値を比較する(ステップ S56)。 [0151] そして、現在のパラメータ iの値が現在のパラメータ jの値より小さいときは (ステップ S 56; YES)、現在のパラメータ jの値により示されるテーブルの一つ上位にあるテープ ル (j— 1番目のテーブル)における同一レベル同一エリアのエントリ Eに記述されて!ヽ るノード情報を用いて、当該現在のパラメータ jの値により示されるテーブルにおける 同一レベル同一エリアのエントリ Eの内容を書き換え(すなわち、テーブル間における ノード情報の繰り下げ。ステップ S57)、現在のパラメータ jの値を「1」だけデクリメント して(ステップ S58)上記ステップ S56の処理に戻る。
[0152] 一方、ステップ S56の判定において、現在のパラメータ iの値が現在のパラメータ jの 値より小さくないときは(ステップ S56 ;NO)、そのまま上記図 13ステップ S51の処理 に移行する。
[0153] 以上説明した図 13及び図 14 (a)に示す処理が実行されることで、結果として、図 1 4 (b)に図 6に示す場合にっ 、て例示し、更に図 15にお 、て「〇数字 1」矢印及び「 〇数字 2」矢印を用いて例示するように、サブテーブル R1のエントリ R1E1内に記述 されていたノード情報を新たなノード情報で書き換える場合、サブテーブル R1の当 該エントリ R1E1にそれまで記述されて 、たノード情報がサブテーブル R2のエントリ R 2E1に移され(当該エントリ R2E1の既存のノード情報が書き換えられ)、更にサブテ 一ブル R2の当該エントリ R2E1にそれまで記述されていたノード情報がサブテープ ル R3のエントリ R3E1に移され(当該エントリ R3E1の既存のノード情報が書き換えら れる)、上記空いたエントリ R1E1内に当該新たなノード情報が記述されることとなる。
[0154] 以上夫々説明したように、第 1実施形態に係るルーティングテーブル RTに係る処 理によれば、ルーティングテーブル RT内に複数のテーブルを記憶し、当該各テープ ル内のマトリクスにおける同一位置に夫々配置されているノード情報を、参照順に従 つて順次参照してメッセージ等の転送処理に用いるので、代替として当該転送処理 に供することが可能なノード情報を予め複数記憶しておくことで、例えば既存の転送 先であるノード Nが配信システム Sから脱落する等の事態が発生した場合でも、迅速 に代替となるノード情報を発見して当該転送処理を効率的且つ迅速に実行すること ができる。
[0155] 従って、当該転送処理を効率的且つ迅速に伝送することができると共に、ノード N の配信システム Sからの脱落等の事態に対しても柔軟にルーティングテーブル RTを 変更することで、配信システム Sとしての対故障性を向上させつつ伝送効率の向上に 資することができる。
[0156] また、当該各テーブルにおける各行力 ノード Nが属する配信システム S上のノード グループにおける各階層に各々対応付けられており、更に二番目以降に参照される べきサブテーブル R1又は R2の行数が最初に参照されるべきメインテーブル MRの 行数よりも少な 、ので、記憶部 12としての記憶量を節約しつつ各ノードグループの態 様に合わせて効率的にノード情報を参照することができる。
[0157] 更に、当該各テーブルにおける各行力 最上位の当該行力も順に、ノードグループ の最上位階層から各階層に順に対応付けられているので、配信システム S内のノード グループにおける階層構造に対応して効率的に代替となるノード情報を取得すること ができる。
[0158] 更にまた、当該各テーブルにおいては、参照順が下位になるのに従い、各テープ ルにおける下位の行力 順に少なくなつて 、るので、代替となるノード情報の効率的 な取得と記憶部 12としての記憶量の節約とを両立させることができる。
[0159] また、ルーティングテーブル RTを構成する各テーブルにお 、て、参照順に指数関 数的に行数が減少するように当該各テーブルを構成することで、配信システム Sに参 カロしているノード装置の増減数の実情に応じて必要最小限の構成を備えるルーティ ングテーブル RTを実現することができる。
[0160] 更に、ルーティングテーブル RT内に記憶されて 、るテーブルの数力 配信システ ム Sからのノード Nの脱退数に応じて定められているので、一つのノード N内のテープ ルの数を必要最小限として記憶部 12の記憶容量を節約することができる。
[0161] 更にまた、メインテーブル MRのノード情報を参照した場合において当該参照したノ ード情報を転送処理に用いることが不能であるとき、参照順にお 、てサブテーブル R 1内のマトリクスにおいて当該使用不能だったノード情報と同一位置に配置されてい る他のノード情報を参照して転送処理に用いるので、次に参照すべきノード情報を迅 速に発見して情報の授受に供させることができる。
[0162] また、転送処理に用いることができないノード情報があった場合に、これをメインテ 一ブル MRから削除すると共に、参照順においてその下位にあったノード情報を繰り 上げてメインテーブル MRを補填するので、転送処理に用いることができな ソード 情報があつたとしてもこれを迅速に補填することで効率的な転送処理を維持すること ができる。
[0163] 更に、新たにいずれかのテーブルに配置すべきノード情報があるとき、そのノード 情報を対応する参照順のテーブルに配置すると共に、当該新たな配置位置にあった ノード情報を参照順において後にある他のテーブルの対応する位置に再配置するの で、新たなノード情報を配置して更に効率的に情報の授受を行うことができると共に、 それまで配置されていたノード情報を再配置して活用することもできる。
Figure imgf000036_0001
次に、本発明に係るルーティングテーブルの他の実施形態である第 2実施形態に ついて、図 16を用いて説明する。なお、図 16は第 2実施形態に係るノードに記憶さ れているルーティングテーブルの概要構成を示す模式図である。
[0165] また、第 2実施形態に係るルーティングテーブルにお 、て、第 1実施形態に係るル 一ティングテーブル RTと同様の構成部材につ ヽては、同様の部材番号を付して細 部の説明は省略する。
[0166] 上述した第 1実施形態においては、メインテーブル MR以外のサブテーブル R1乃 至 R3のレベル数(当該サブテーブル自体の行数)については、当該サブテーブル R 1から R3に向けて指数関数的に減少させる構成としたが、以下に説明する第 2実施 形態の如ぐこれらサブテーブル間で同一のレベル数としてもよ!/、。
[0167] すなわち、図 16に示すように、第 2実施形態に係るルーティングテーブル RRTを、 記憶部 12におけるルーティングテーブル RT用として確保可能な記憶容量が多!、こ とを前提として、メインテーブル MRの他に、当該メインテーブル MRに対して第 1実 施形態に係るサブテーブル R1乃至 R3と同様の関係を有するサブテーブル RR1乃 至 RR3により構成するとき、メインテーブル MRにおけるレベル数を「4」とするとき、サ ブテーブル RR1乃至 RR3におけるレベル数を全て「3」としてもよい。この場合、レべ ル 1乃至 3が多重化されているエントリとなり、レベル 4が多重化されていないエントリ となる。 [0168] なお、図 16に示す場合において、メインテーブル MRがレベル 4まで対応している のに対し、サブテーブル RR1乃至 RR3はレベル 3にまでしか対応していないが、これ は、上記図 3 (D)に例示した如ぐルーティングテーブル RRTに含まれる各テーブル において、最下行には、各エントリ ME1に記述されるべきノード情報は 1つしか存在 しないためであり、従って、第 2実施形態の場合では、サブテーブル RR1乃至 RR3 におけるレベル 4に相当する行にノード情報が記述されることはあり得ないからである
[0169] (V)第 1実施形 又は第 2実施形 の栾形形
次に、上述してきた第 1実施形態又は第 2実施形態に係る変形形態について説明 する。
[0170] 上述した各実施形態においては、ルーティングテーブル RT又 RRTを構成する各 テーブルの参照順を、転送先となるノードまでのホップ数を用いてその少な 、順に規 定したが、これ以外に、例えば、
(i)メッセージ等の授受の際に要する負荷に応じて定める方法、
(ii)ノード情報により識別されるノード Nから 、ずれかのメッセージを受信した順に 対応して定める方法、
(iii)上記インデックス情報を記憶して 、る数に基づき、当該記憶数が多 、ほど先に 参照するように定める方法、
が可能である。
[0171] これらの場合については、上記 (i)の場合には配信システム S内の転送処理をより 効率的且つ迅速に行うことができると言う効果を奏し、上記 (ii)の場合には各テープ ルの構成変更を最小限に抑制できることで、配信システム Sにおけるメッセージの伝 送経路の変更を最小限に抑制して効率的に当該メッセージを伝送することができると 言う効果を奏し、更に上記 (iii)の場合には転送処理に関わる可能性があるノード Nを 示すインデックス情報の数に対応した順でテーブルが参照されるので、より迅速に必 要な情報の授受を開始することができると言う効果を奏することができる。
[0172] (VI)第 3実施形態
本発明に係る他の実施形態である第 3実施形態について、図 17及び図 18を用い て説明する。なお、図 17は第 3実施形態に係るテーブルへの登録処理を示すフロー チャートであり、図 18は第 3実施形態に係る転送先ノードの探索処理を示すフローチ ヤートである。そして、当該各フローチャートにおいて、上述した第 1実施形態に係る 処理と同様の処理については、同様のステップ番号を付して細部の説明は省略する
[0173] また、第 3実施形態に係る各ノードの構成は、基本的に上記第 1又は第 2実施形態 に係るノード Nの構成と同様であるので、当該第 1又は第 2実施形態に係るノード Nと 同様の構成部材については、同様の部材番号を用いて細部の説明は省略する。
[0174] 更に、以下の第 3実施形態に係るルーティングテーブルの構成としては、例えば図 6を用いて説明した第 1実施形態に係るルーティングテーブル RTの構成と同様とし てもよ 、し、或いは図 16を用いて説明した第 2実施形態に係るルーティングテーブル RRTの構成と同様としてもょ ヽが、当該第 3実施形態に係るルーティングテーブルに おいては、上記ルーティングテーブル RT又は RRTとは異なり、各テーブル内に参照 順は設けられていない。
[0175] 次に、第 3実施形態に係るルーティングテーブルに係る上記更新処理等について 、具体的に図 17及び図 18を用いて説明する。なお、当該図 17及び図 18に夫々各 フローチャートに対応する処理は各ノード N内の制御部 11が実行するものである。
[0176] 先ず、第 3実施形態に係るノード Nにおける一般的な処理については、上記図 8 (a )を用いて説明した処理と同様であるので、細部の説明は省略する。
[0177] 次に、上記ステップ S6としての第 3実施形態に係るテーブルへの登録処理につい て、具体的に図 17を用いて説明する。なお、図 17は当該登録処理を示すフローチヤ ートである。
[0178] 図 17に示すように、当該登録処理としては、先ず、図 8 (a)ステップ S4の処理にお V、て受信したメッセージの送信元のノードを示すノード情報を取得し (ステップ S20) 、その取得したノード情報に基づき、そのノード情報を記述すべきメインテーブル MR のエントリ Eが 、ずれであるかを確認する(ステップ S21)。
[0179] 次に、当該確認されたエントリ Eが多重化されたエントリである力否かを確認し (ステツ プ S22)、多重化されているときは (ステップ S22 ; YES)、第 3実施形態に係るルーテ イングテーブルに含まれて 、る 、ずれかのテーブル内に空!ヽて 、る(すなわち、ノー ド情報が記述されて 、な 、)エントリ Eが存在して 、る力否かを確認する (ステップ S9 2)。そして、当該空いているエントリ Eが存在していないときは (ステップ S92 ;NO)、 現在記憶されて 、るテーブルの中から 、ずれかのエントリ Eを例えばランダムに選択 してそれに記述されているノード情報を削除し (ステップ S93)、そのノード情報が削 除されたエントリ Eが含まれているテーブルを選び (ステップ S95)、その選んだテー ブルに含まれている(ノード情報が削除された)エントリ Eに対して新たなノード情報の 記述処理を実行し (ステップ S91)、上記図 8 (a)ステップ S3の処理に移行する。
[0180] 一方、上記ステップ S92の判定にお!、て、空!ヽて 、るエントリ Eが存在して!/、るとき は(ステップ S92; YES)、その空!ヽて 、るエントリ Eが 1個か否かを次に確認する(ス テツプ S 94)。
[0181] そして、当該空いているエントリ Eが 1個であるときは(ステップ S94 ; YES)、上記ス テツプ S95に移行して更にステップ S91の処理を実行し、一方、当該空いているェン トリ Eが複数個あるときは (ステップ S94 ;NO)、当該空 、て 、るエントリ Eを含んで ヽ るテーブルを例えばランダムに選択し (ステップ S96)、その選択したテーブルに含ま れて 、る空きエントリ Eに対して新たなノード情報の記述処理を実行し (ステップ S91) 、上記図 8 (a)ステップ S3の処理に移行する。
[0182] 一方、ステップ S22にて、多重化されているときは(ステップ S22 ;NO)、現在ェント リ Eに記述されているノード情報を削除 (ステップ S90)し、エントリ Eに対して新たなノ ード情報の記述処理を実行して (ステップ S91)、上記図 8 (a)ステップ S3の処理に移 行する。
[0183] 次に、上記ステップ S5としての第 3実施形態に係るメッセージ転送処理について、 具体的に図 18を用いて説明する。なお、図 18は当該メッセージ転送処理を示すフロ 一チャートである。
[0184] 図 18に示すように、当該メッセージ転送処理としては、何らかのメッセージを受信し た場合 (図 8 (a)ステップ S4 ;YES参照)、先ず、第 1又は第 2実施形態の場合と同様 に、自身が記憶して 、るメインテーブル MR内にお 、て次の転送先となるエントリを探 索する(ステップ S 10)。 [0185] そして、当該探索処理の過程において自身がルートノードであることが判明したか 否かを確認し (ステップ S 11)、自身がルートノードであるときは(ステップ SI 1; YES) 、もはや転送先のノード Nは存在しないこととなるので、そのメッセージに対応する処 理を実行して上記ステップ S6の処理に移行する。
[0186] 一方、ステップ S11の判定において、自身がルートノードではないときは (ステップ S 11 ;ΝΟ)、次に、当該探索処理の過程において指定されたノード IDに相当する転送 先が属するエントリ Eが多重化されているか否かを確認し (ステップ S70)、多重化さ れて 、な 、場合は (ステップ S70; NO)、当該転送先が属するエントリ Eが空 、て 、る か否かを確認する (ステップ S71)。そして、当該転送先が属するエントリ Eが空いて いる(ノード情報が記述されていない)ときは (ステップ S 71; YES)、次の転送先を探 索すべく上記ステップ S 10に戻る。
[0187] 他方、上記ステップ S71の判定において、当該エントリ Eが空ではなくノード情報が 記述されて 、るときは (ステップ S 71; NO)、そのエントリ Eを探索結果として選択し (ス テツプ S75)、その探索結果を用いて当該受信したメッセージを転送し (ステップ S 12 )、その転送が成功したか否かを確認する (ステップ S 13)。
[0188] ステップ S13の確認において、当該転送が成功したときは(ステップ S13 ; YES)、 そのまま上記図 8 (a)ステップ S6に移行し、一方、例えば転送先のノード Nが配信シ ステム Sから脱退していた等の理由により当該転送が成功しな力つた場合は (ステツ プ S13 ;NO)、その転送が成功しなかった転送先のノード Nを示すノード情報をルー ティングテーブルから削除する処理を行い (ステップ S 76)、上記ステップ S 10に戻つ て当該削除処理 (ステップ S76)後のルーティングテーブル内において次の転送先 のノードを再度探索する。
[0189] 一方、上記ステップ S70の確認において、指定されたノード IDに相当する転送先 が属するエントリ Eが多重化されている場合は (ステップ S70; YES)、次に当該多重 化されて!/、るエントリ Eの 、ずれかにノード情報が記述されて 、る力否かを確認する( ステップ S72)。そして、当該いずれのエントリ E内にもノード情報が記述されていない ときは (ステップ S72 ;NO)、再度上記ステップ S10に戻って次の転送先のノードを探 索する。 [0190] 他方、ステップ S72の確認において、いずれかのエントリ E内にノード情報が記述さ れているときは (ステップ S 72; YES)、そのノード情報が記述されているエントリ Eの 数が「 1」である力否かを確認し (ステップ S 73)、当該数が「 1」であるときは (ステップ S 73; YES)、その空のエントリ Eを選択して(ステップ S75)、上記ステップ S12以降の 処理に移行する。
[0191] また、ステップ S73の確認において、当該数が「1」でなく「2」以上であるときは (ステ ップ S73 ;NO)、その複数ある空のエントリ Eの中から一つを例えばランダムに選択し (ステップ S74)、上記ステップ S 12以降の処理に移行する。
[0192] 以上夫々説明したように、第 3実施形態に係るルーティングテーブルに係る処理に よれば、参照順が予め設定されていないルーティングテーブルを用いることで、上記 第 1実施形態又は第 2実施形態と同様の効果を簡易な処理で実現することができる。
[0193] なお、上述した図 8乃至図 14並びに図 17及び図 18に夫々示すフローチャートに 対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に 記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用の コンピュータで読み出して実行することにより、当該コンピュータを実施形態に係るノ ード N内の制御部 11として夫々機能させることも可能である。
産業上の利用可能性
[0194] 以上夫々説明したように、本発明はネットワークを介したコンテンツの配信の分野に 利用することが可能であり、特にダウンロード形式によるコンテンツの配信の分野に 適用すれば特に顕著な効果が得られる。

Claims

請求の範囲
[1] 相互に情報の授受を行うように接続された複数のノード装置により形成されている ネットワークに含まれている当該ノード装置であって、他の前記ノード装置から識別す るための固有のノード識別情報を各々に有し且つ前記ネットワークを階層的に榭形 図状に区分して得られるノードグループのいずれかに分類されているノード装置にお いて、
前記授受に係る他の前記ノード装置夫々に対応する複数の前記ノード識別情報を 記憶するノード識別情報記憶手段と、
記憶されている各前記ノード識別情報を参照して前記授受に用いる参照手段と、 を備え、
前記ノード識別情報記憶手段にお!ヽては、前記榭形図における最上位階層に属 する前記ノード装置に対応する前記ノード識別情報の記憶可能数が、当該最上位階 層以外の他の 、ずれか一の前記階層に属する前記ノード装置に対応する前記ノー ド識別情報の記憶可能数以上とされていることを特徴とするノード装置。
[2] 請求項 1に記載のノード装置において、
前記ノード識別情報記憶手段においては、前記榭形図における前記階層が下位 になるに従って、当該階層に属する前記ノード装置に対応する前記ノード識別情報 の記憶可能数が減少していることを特徴とするノード装置。
[3] 請求項 1又は 2に記載のノード装置において、
前記参照手段は、一つの前記ノードグループに分類されて!ヽる各前記ノード装置 に夫々対応する前記ノード識別情報を、予め設定された参照順に従って順次参照し て前記情報の授受に用いることを特徴とするノード装置。
[4] 請求項 3に記載のノード装置において、
各前記階層における前記記憶可能数は、前記参照順に指数関数的に減少してい ることを特徴とするノード装置。
[5] 請求項 3又は 4に記載のノード装置において、
前記記憶可能数が、予め設定された単位時間当たりに前記ネットワークから前記ノ ード装置が脱退する数に対応して各階層毎に予め定められていることを特徴とするノ ード装置。
[6] 請求項 3から 5のいずれか一項に記載のノード装置において、
前記参照手段は、一の前記ノードグループに分類されて!ヽる前記ノード識別情報 を参照した場合において当該参照したノード識別情報を前記授受に用いることが不 能であるとき、前記参照順において前記一のノード識別情報の次に参照されるべき 他の前記ノード識別情報を参照して前記授受に用いることを特徴とするノード装置。
[7] 請求項 3から 6のいずれか一項に記載のノード装置において、
前記授受に用いることが不能である前記ノード識別情報である不能ノード識別情報 があるとき、当該不能ノード識別情報を前記ノード識別情報記憶手段から削除する削 除手段と、
一の前記ノードグループにおける前記参照順において前記不能ノード識別情報の 直近下位の順位にあった前記ノード識別情報の当該順位を、削除された前記不能ノ ード識別情報に対応していた前記参照順における順位とする順位変更手段と、 を備えることを特徴とするノード装置。
[8] 請求項 3から 7のいずれか一項に記載のノード装置において、
一の前記ノードグループにおける前記参照順内のいずれかの順位に対応すべき 新たな前記ノード識別情報があるとき、当該新たなノード識別情報が対応すべき前記 順位にそれまで対応して ヽた前記ノード識別情報が対応する新たな前記順位を、前 記新たなノード識別情報が対応すべき前記順位より下位の前記順位とする順位変更 手段を備えることを特徴とするノード装置。
[9] 請求項 3から 8のいずれか一項に記載のノード装置において、
前記参照順は、参照されるべき前記ノード識別情報により識別される前記ノード装 置との間の前記授受の際に要する負荷が低い当該ノード識別情報ほど先に参照さ れる参照順であることを特徴とするノード装置。
[10] 請求項 3から 8のいずれか一項に記載のノード装置において、
前記参照順は、各前記ノード識別情報により識別される前記ノード装置から前記ネ ットワークを介して 、ずれかのメッセージを受信した順番に対応して ヽることを特徴と するノード装置。
[11] 請求項 3から 8のいずれか一項に記載のノード装置において、
前記参照順は、前記授受される情報を識別する情報識別情報と、当該情報識別情 報により識別される前記情報を蓄積している前記ノード装置の前記ネットワーク内の 位置を示すアドレス情報と、の対により構成される対情報の記憶数に対応して 、るこ とを特徴とするノード装置。
[12] 相互に情報の授受を行うように接続された複数のノード装置により形成されている ネットワークに含まれている当該ノード装置であって、他の前記ノード装置から識別す るための固有のノード識別情報を各々に有し且つ前記ネットワークを階層的に榭形 図状に区分して得られるノードグループのいずれかに分類されているノード装置にお V、て実行される情報処理方法にぉ 、て、
前記ノード装置は、前記授受に係る他の前記ノード装置夫々に対応する複数の前 記ノード識別情報を記憶するノード識別情報記憶手段を備え、
当該ノード識別情報記憶手段にお!ヽては、前記榭形図における最上位階層に属 する前記ノード装置に対応する前記ノード識別情報の記憶可能数が、当該最上位階 層以外の他の 、ずれか一の前記階層に属する前記ノード装置に対応する前記ノー ド識別情報の記憶可能数以上とされており、
記憶されている各前記ノード識別情報を参照して前記授受に用いる参照行程を含 むことを特徴とする情報処理方法。
[13] コンピュータを、請求項 1から 11のいずれか一項に記載のノード装置として機能さ せるノード装置用プログラム力 前記コンピュータにより読み取り可能に記録されてい ることを特徴とする記録媒体。
PCT/JP2007/055702 2006-04-28 2007-03-20 ノード装置、情報処理方法及びノード装置用プログラムが記録された記録媒体 WO2007125698A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/232,599 US8514742B2 (en) 2006-04-28 2008-09-19 Node device, information process method, and recording medium recording node device program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006125030A JP4670726B2 (ja) 2006-04-28 2006-04-28 ノード装置、情報処理方法及びノード装置用プログラム
JP2006-125030 2006-04-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/232,599 Continuation-In-Part US8514742B2 (en) 2006-04-28 2008-09-19 Node device, information process method, and recording medium recording node device program

Publications (1)

Publication Number Publication Date
WO2007125698A1 true WO2007125698A1 (ja) 2007-11-08

Family

ID=38655234

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/055702 WO2007125698A1 (ja) 2006-04-28 2007-03-20 ノード装置、情報処理方法及びノード装置用プログラムが記録された記録媒体

Country Status (3)

Country Link
US (1) US8514742B2 (ja)
JP (1) JP4670726B2 (ja)
WO (1) WO2007125698A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996726B2 (en) 2008-06-19 2015-03-31 Qualcomm Incorporated Methods and apparatus for event distribution and routing in peer-to-peer overlay networks
CN106030542A (zh) * 2014-02-19 2016-10-12 第三雷沃通讯有限责任公司 代理服务器故障转移和负载集群
RU2717909C2 (ru) * 2015-08-12 2020-03-26 Филипс Лайтинг Холдинг Б.В. Экологически чистый источник энергии для плотных больших сетей (масштабирование прокси-таблицы)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005353039A (ja) * 2004-04-16 2005-12-22 Microsoft Corp データオーバーレイ、自己編成メタデータオーバーレイおよびアプリケーションレベルマルチキャスティング
JP2006101277A (ja) * 2004-09-30 2006-04-13 Brother Ind Ltd 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
AU2001268411A1 (en) * 2000-06-14 2002-01-02 Core Express, Inc. Route selection within a network with peering connections
US6718326B2 (en) * 2000-08-17 2004-04-06 Nippon Telegraph And Telephone Corporation Packet classification search device and method
JP3696806B2 (ja) * 2001-06-19 2005-09-21 富士通株式会社 通信性能測定装置
US20030101253A1 (en) * 2001-11-29 2003-05-29 Takayuki Saito Method and system for distributing data in a network
JP3925188B2 (ja) * 2001-12-20 2007-06-06 日本電気株式会社 アプリケーションレイヤ・マルチキャスト方法及び中継ノードシステム
US7194002B2 (en) * 2002-02-01 2007-03-20 Microsoft Corporation Peer-to-peer based network performance measurement and analysis system and method for large scale networks
JP2004265273A (ja) 2003-03-04 2004-09-24 Yokogawa Electric Corp 情報共有システム
US7558875B2 (en) * 2003-09-15 2009-07-07 Microsoft Corporation Measurement-based construction of locality-aware overlay networks
US7324824B2 (en) * 2003-12-09 2008-01-29 Awarepoint Corporation Wireless network monitoring system
KR100703726B1 (ko) * 2004-12-11 2007-04-05 삼성전자주식회사 모바일 애드 혹 네트워크 환경에서 이웃 노드 관리 및라우팅 경로 설정 방법 및 이를 이용한 네트워크 장치
JP4622546B2 (ja) * 2005-01-31 2011-02-02 パナソニック株式会社 通信方法及び無線通信装置
US7881223B2 (en) * 2006-03-31 2011-02-01 Panasonic Corporation Method for on demand distributed hash table update
US20070230468A1 (en) * 2006-03-31 2007-10-04 Matsushita Electric Industrial Co., Ltd. Method to support mobile devices in a peer-to-peer network
US8041942B2 (en) * 2006-09-05 2011-10-18 Panasonic Corporation Robust peer-to-peer networks and methods of use thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005353039A (ja) * 2004-04-16 2005-12-22 Microsoft Corp データオーバーレイ、自己編成メタデータオーバーレイおよびアプリケーションレベルマルチキャスティング
JP2006101277A (ja) * 2004-09-30 2006-04-13 Brother Ind Ltd 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HABA Y. ET AL.: "Butsuri Network no Jokyo o Koryo Shita Kaisogata Bunsan Hash Ho no Teian (Hierarchical Distributed Hashing in consideration of physical network)", INFORMATION PROCESSING SOCIETY OF JAPAN KENKYU HOKOKU, MOBILE COMPUTING AND UBIQUITOUS COMMUNICATIONS, March 2006 (2006-03-01), pages 43 - 48, XP003018923 *
NAKAMURA M. ET AL.: "Network Bunkatsu ni Taisuru DHT no Kayosei Kojo (High Availability of DHT Lookup in Partitioned Networks)", 2005 NEN THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS ZENKOKU TAIKAI, 7 March 2005 (2005-03-07), XP003018925 *
SHIRAISHI T. ET AL.: "Chord o Mochiita Koritsuteki na Message Tenso Shuho (An Efficient Message Forwarding Method using Chord in P2P Networks)", TECHNICAL REPORT OF IEICE, 23 February 2006 (2006-02-23), pages 121 - 124, XP003018924 *

Also Published As

Publication number Publication date
JP4670726B2 (ja) 2011-04-13
US8514742B2 (en) 2013-08-20
JP2007300271A (ja) 2007-11-15
US20090028070A1 (en) 2009-01-29

Similar Documents

Publication Publication Date Title
JP4862463B2 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP4375303B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
US8713145B2 (en) Information distribution system, information distributing method, node, and recording medium
US20070283043A1 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP2007280303A (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
US20080270421A1 (en) Information distribution system, information processing device and memory medium
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
JP2006191489A (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP2008129694A (ja) 情報配信システム、情報配信方法、配信装置及びノード装置等
JP2007058597A (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
CN101741869B (zh) 提供内容的方法和系统
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP4604824B2 (ja) 情報配信システム、処理プログラム、管理プログラム及び情報配信方法等
JP4670726B2 (ja) ノード装置、情報処理方法及びノード装置用プログラム
JP2007288286A (ja) ノード装置、記憶制御プログラム及び情報記憶方法
JP4539603B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP4779733B2 (ja) 配信システム及び配信システム制御方法、蓄積装置及び蓄積装置用プログラム並びにノード装置及びノード装置用プログラム
JP4622755B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
US7844685B2 (en) Apparatus and method for performing contents distribution process
JP4735371B2 (ja) 配信システム、制御装置及び制御装置用プログラム、管理装置及び管理装置用プログラム、補助装置及び補助装置用プログラム並びに配信システム制御方法
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2008059398A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP4947106B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07739145

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07739145

Country of ref document: EP

Kind code of ref document: A1