JP4747733B2 - ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム - Google Patents

ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム Download PDF

Info

Publication number
JP4747733B2
JP4747733B2 JP2005239532A JP2005239532A JP4747733B2 JP 4747733 B2 JP4747733 B2 JP 4747733B2 JP 2005239532 A JP2005239532 A JP 2005239532A JP 2005239532 A JP2005239532 A JP 2005239532A JP 4747733 B2 JP4747733 B2 JP 4747733B2
Authority
JP
Japan
Prior art keywords
version
shared information
node
information
data
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.)
Expired - Fee Related
Application number
JP2005239532A
Other languages
English (en)
Other versions
JP2007058275A (ja
Inventor
裕二 清原
康一 飯島
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2005239532A priority Critical patent/JP4747733B2/ja
Priority to PCT/JP2006/310350 priority patent/WO2007023600A1/ja
Publication of JP2007058275A publication Critical patent/JP2007058275A/ja
Priority to US12/068,331 priority patent/US8015269B2/en
Application granted granted Critical
Publication of JP4747733B2 publication Critical patent/JP4747733B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Description

本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の情報共有システム等に関し、特に、各ノード装置に記憶されている共用情報を更新するための技術分野に関する。
この種のピアツーピア型の情報共有システムにおいては、非特許文献1に開示されるように、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用してオーバーレイネットワークが構築されており、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス及びポート番号)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報
ところで、このようなピアツーピア型の情報共有システムにおいて各ノード装置に記憶されているファームウェア、アプリケーションソフトウェアや各種設定ファイル等の共通に使用される共用情報を更新(バージョンアップやアップデート)するに当たって、例えば所定のサーバから、更新を促す専用のメッセージを各ノード装置に対して配信して更新があった旨を各ノード装置に伝えることで、各ノード装置が、当該共用情報を管理している管理サーバから最新の共用情報をダウンロードすることが信頼性を確保できる方法といえる。
しかしながら、上記更新を促す専用のメッセージの送信時に何らかの理由(例えば、ユーザによる電源OFFやログアウト、停電、故障、ネットワーク不調等の理由)で、ノード装置がオーバーレイネットワークに参加していなかった(つまり、脱退(離脱))場合、当該ノード装置は、改めて更新を促す専用のメッセージが配信されるまで共用情報の更新の必要性に気づかないという問題がある。
また、各ノード装置が、上記管理サーバに接続して共用情報のダウンロードを行うため、管理サーバに対してアクセス集中により過大な負担を与えるという問題がある。
本発明は、以上の問題等に鑑みてなされたものであり、サーバ等の特定の装置に過大な負荷を与えることなく、速やかにかつ確実に、各ノード装置における共用情報を更新することが可能なノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システムを提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムにおける前記ノード装置であって、前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段と、前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信するデータ受信手段と、を備え、前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、前記ノード装置は、さらに、前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別するバージョン判別手段と、前記バージョン判別手段により、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別された場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する共用情報更新手段と、を備えることを特徴とする。
この発明によれば、夫々のノード装置が接続相手のノード装置に対して所定のデータを送信する場合には、当該データ中に自己が記憶する共用情報のバージョンを示すバージョン情報を記述して送信するものであり、当該送信されてきたバージョン情報が記述されたデータを受信し、そのデータに記述されたバージョン情報と、自己が記憶する共用情報のバージョン情報とを比較し、自己が記憶する共用情報のバージョンが、他のノード装置に記憶されている共用情報のバージョンより古いか否かを少なくとも判別し、自己が記憶する共用情報のバージョンが古いと判別された場合には、前記自己が記憶する共用情報のバージョンよりも新しいバージョンの共用情報を記憶する前記他のノード装置から当該共用情報を取得し、自己が記憶する共用情報を更新するようにしたので、ピアツーピア型の情報共有システムであっても、サーバ等の特定の装置に過大な負荷を与えることなく、より速やかにかつ確実に、各ノード装置における共用情報を更新することができる。
また、請求項に記載の発明は、請求項1記載のノード装置において、前記バージョン判別手段により、自己が記憶する共用情報のバージョンが古いと判別された場合には、前記複数のノード装置のうちから特別に選定された特定ノード装置に対して前記共用情報の最新バージョンを照会する照会手段を更に備え、前記共用情報更新手段は、自己が記憶する共用情報のバージョンが最新バージョンより古い場合に、前記最新のバージョンの共用情報を記憶する前記他のノード装置から当該共用情報を取得し、自己が記憶する共用情報を更新することを特徴とする。
この発明によれば、自己が記憶する共用情報のバージョンが古いと判別された場合には、前記複数のノード装置のうちから特別に選定された特定ノード装置に対して前記共用情報の最新バージョンを照会するようにしたので、サーバ等の特定の装置に過大な負荷を与えることなく、より速やかにかつ確実に、各ノード装置における共用情報を更新することができると共に、容易に、クラッキング等の防止ができ信頼性を確保することができる。
また、請求項に記載の共用情報更新処理プログラムは、ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムにおける前記ノード装置に含まれるコンピュータを、前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段、前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信するデータ受信手段、を備え、前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、さらに、前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別するバージョン判別手段、及び前記バージョン判別手段により、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別された場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する共用情報更新手段として機能させることを特徴とする。
また、請求項に記載の発明は、ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムにおける共用情報更新方法であって、前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段を備える前記ノード装置が、前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信する工程と、を備え、前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、さらに、前記記憶手段を備える前記ノード装置が、前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別する工程と、前記記憶手段を備える前記ノード装置が、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別した場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する工程と、を含むことを特徴とする。
また、請求項に記載の発明は、ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムであって、前記ノード装置は、前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段と、前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信するデータ受信手段と、を備え、前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、前記ノード装置は、さらに、前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別するバージョン判別手段と、前記バージョン判別手段により、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別された場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する共用情報更新手段と、を備えることを特徴とする。
本発明によれば、夫々のノード装置が接続相手のノード装置に対して所定のデータを送信する場合には、当該データ中に自己が記憶する共用情報のバージョンを示すバージョン情報を記述して送信するものであり、当該送信されてきたバージョン情報が記述されたデータを受信し、そのデータに記述されたバージョン情報と、自己が記憶する共用情報のバージョン情報とを比較し、自己が記憶する共用情報のバージョンが、他のノード装置に記憶されている共用情報のバージョンより古いか否かを少なくとも判別し、自己が記憶する共用情報のバージョンが古いと判別された場合には、前記自己が記憶する共用情報のバージョンよりも新しいバージョンの共用情報を記憶する前記他のノード装置から当該共用情報を取得し、自己が記憶する共用情報を更新するようにしたので、ピアツーピア型の情報共有システムであっても、サーバ等の特定の装置に過大な負荷を与えることなく、より速やかにかつ確実に、各ノード装置における共用情報を更新することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
始めに、図1を参照して、情報共有システムの一例としてのコンテンツ配信システムの概要構成等について説明する。
図1は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワーク)8が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
コンテンツ配信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置n1,n2・・・n21を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている(なお、実際には、これ以上のノード装置が存在することになる)。また、各ノード装置n1〜n21には、固有の製造番号及びIP(Internet Protocol)アドレス(グローバルIPアドレス)が割り当てられている。なお、製造番号及びIPアドレスは、複数のノード装置間で重複しないものである。
そして、このコンテンツ配信システムSにおいては、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワーク(論理的なネットワーク)を意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9(図1の上部枠100内)に配置されたノード装置n1〜n15を、オーバーレイネットワーク9に参加しているノード装置(以下、このようなノード装置n1〜n15を「参加ノードnn」と総称する)という。言い換えれば、オーバーレイネットワーク9は、参加ノードnnの参加により形成されている。このようなオーバーレイネットワーク9への参加は、参加していないノード装置n16〜n21(以下、「未参加ノードnm」と総称する)が、任意の参加ノードnnに対して参加要求を示す参加要求情報としての参加メッセージを送信することによって行われる。
また、各参加ノードnnは、固有の識別情報としてのノードIDを有しており、当該ノードIDは、例えば、IPアドレスあるいは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、一つのID空間に偏りなく分散して配置されることになる。
このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
また、各参加ノードnnは、夫々、DHTを保持している。このDHTは、オーバーレイネットワーク9上における各種メッセージの転送先を規定しており、具体的には、ノードID空間内で適度に離れた参加ノードnnのノードIDとそのIPアドレス及びポート番号等の組が複数登録されたルーティングテーブル(転送先テーブル)が含まれている。
図2は、参加ノードn1が保持するDHTのルーティングテーブルの一例を示す図であり、図3は、DHTのノードID空間の一例を示す概念図である。
なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜3の整数)で表している(実際には、もっと長いbit長を用い、各桁も例えば4bitに区切って0〜fの16進数で表現する)。
図2の例において、DHTのルーティングテーブルは、レベル1〜レベル3のテーブルからなり(複数のレベルに区分されており)、各レベルのテーブルエントリーには、エリア毎に、ノードIDとこれに対応する参加ノードnnのIPアドレス及びポート番号が対応付けられて登録されている。各レベルのテーブルにおける各エリアは、DHTのノードID空間を分割することにより得られるエリアである。例えば、図3に示すように、レベル1では、DHTのノードID空間全体が4分割され、“000”〜“033”のノードIDが存在するエリアを0XXのエリア、“100”〜“133” のノードIDが存在するエリアを1XXのエリア、“200”〜“233” のノードIDが存在するエリアを2XXのエリア、“300”〜“333” のノードIDが存在するエリアを3XXのエリアとする。また、レベル2では、レベル1のエリア(つまり、0XX〜3XXのエリア)が更に4分割、例えば1XXのエリアが4分割され、“100”〜“103” のノードIDが存在するエリアを10Xのエリア、“110”〜“113” のノードIDが存在するエリアを11Xのエリア、“120”〜“123” のノードIDが存在するエリアを12Xのエリア、“130”〜“133” のノードIDが存在するエリアを13Xのエリアとする。
そして、例えば、参加ノードn1のノードIDが“122”とすると、図2に示すように、かかる参加ノードn1のレベル1における1XXのエリア(自己(つまり、自ノード装置)が存在するエリア)のテーブルには、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意の参加ノードnnのノードID及びIPアドレス等が登録されている。
また、かかる参加ノードn1のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図2に示すように、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)等には、夫々、他の任意の参加ノードnnのノードID及びIPアドレス等が登録されている。
更に、かかる参加ノードn1のレベル3には、図2に示すように、ノードIDが“120”〜“122”のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録されている。
なお、図2及び図3の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。
このように、本実施形態におけるDHTのルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっている。
このようなDHTは、未参加ノードnmがオーバーレイネットワーク9に参加する際に与えられることになる。
図4は、未参加ノードがオーバーレイネットワーク9に参加する際のDHTのノードID空間における参加要求メッセージの流れの一例を示す概念図である。
図4に示す例において、例えば、未参加ノードn16は、例えば自己のIPアドレスを上記ハッシュ関数によりハッシュ化してノードID(例えば、“123”とする)、を生成し、当該ノードID、自己のIPアドレス及びポート番号が記述された参加要求メッセージを参加ノードn15に送信すると、参加ノードn15は、当該参加要求メッセージを受信し、自己のDHTのレベル1のテーブルを参照して、参加要求メッセージに記述されたノードIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えば参加ノードn13のIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに(参加ノードn13宛てに)、上記参加要求メッセージを転送する。また、自己のDHTのレベル1のテーブルに未参加ノードn16のノードIDが登録可能であれば、IPアドレス及びポート番号を対応付けて登録する。
これに対して、参加ノードn13は、当該参加要求メッセージを受信し、自己のDHTのレベル2のテーブルを参照して、当該参加要求メッセージに記述された未参加ノードn16のノードIDと最も近いノードIDを有する参加ノードn1のIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに(参加ノードn1宛てに)、上記参加要求メッセージを転送する。また、自己のDHTのレベル2のテーブルに未参加ノードn16のノードIDが登録可能であれば、IPアドレス及びポート番号を対応付けて登録する。
これに対して、参加ノードn1は、当該参加要求メッセージを受信し、自己のDHTのレベル3のテーブルを参照して、当該参加要求メッセージに記述された未参加ノードn16のノードIDと最も近いノードIDが自分であることを認識するので、もうメッセージ転送をしなくなる。また、自己のDHTのレベル3のテーブルに未参加ノードn16のノードID、IPアドレス及びポート番号を対応付けて登録(例えば、図2の“未登録”の部分)する。
以上の流れの過程において、当該参加要求メッセージを受信した参加ノードn15、参加ノードn13、及び参加ノードn1は、未参加ノードn16に対して、DHTのルーティングテーブルの一部を(参加ノードn15はレベル1のテーブルを、参加ノードn13はレベル2のテーブルを、参加ノードn1はレベル3のテーブルを)含む参加応答メッセージ(図示せず)を、夫々送信する。
これに対して、未参加ノードn16は、送信されてきた各DHTのルーティングテーブルを含む参加応答メッセージを受信して、当該参加応答メッセージに含まれる各ルーティングテーブルに基づいて、自己が使用するべきDHTのルーティングテーブルを生成する(例えば、参加ノードn15のレベル1のテーブルを自己のレベル1のテーブルとし、参加ノードn13のレベル2のテーブルを自己のレベル2のテーブルとし、参加ノードn1のレベル3のテーブルを自己のレベル3のテーブルとする)。
なお、各参加ノードnnが別々のレベルのテーブルを返すのではなく、どの参加ノードnnからも全レベルのテーブル(すなわちルーティングテーブル全体)を返すようにして、未参加ノードnmがそれぞれのテーブルからテーブルエントリーを適宜、取捨選択して自己の新たなテーブルを作り上げても良い。
こうして生成されたDHTのルーティングテーブルを得た未参加ノードn16は、参加ノードn16としてオーバーレイネットワーク9に参加することになり、参加ノードn16は、自己が保存するコンテンツデータを公告するため、そのコンテンツID(後述する)が記述されたパブリッシュメッセージをDHTのルーティングテーブルにしたがって送信することになる。
なお、上記流れは、未参加ノードn16が、新たにオーバーレイネットワーク9に参加する場合ばかりでなく、一度脱退(例えば、脱退メッセージを管理元の参加ノードn1に送信することによる)した後、再度参加する場合にも適用することができる。
また、コンテンツ配信システムSにおいては、未参加ノードnmによるオーバーレイネットワーク9への参加、若しくは参加ノードnnによるオーバーレイネットワーク9からの脱退が頻繁に行われるため、定期的に(例えば数十分から数時間間隔で)DHTの更新が必要かどうかが確認される(例えば、生存確認メッセージ)と共に、その更新情報がDHTのルーティングテーブルに従って他の参加ノードnnに伝達されるようになっている。これにより、DHTを最新の状態に保つことが可能となる。
ところで、オーバーレイネットワーク9においては、様々なコンテンツ(例えば、映画や音楽等)データが複数の参加ノードnnに分散して保存(格納)されている。例えば、参加ノードn1には、タイトルがXXXの映画のコンテンツデータが保存されており、一方、参加ノードn2には、タイトルがYYYの映画のコンテンツデータが保存されるというように、互いに異なるコンテンツデータが、複数の参加ノードnnに分散されて保存される。
また、あるコンテンツデータは、1つの参加ノードnnにだけ保存されているとは限らず、複数の参加ノードnnに同じコンテンツデータが保存されうる。これらのコンテンツデータには、夫々、コンテンツ名(タイトル)等が付与されている。
そして、このように分散保存されているコンテンツデータの所在を示す所在情報(例えば、コンテンツデータが保存されている参加ノードnnのIPアドレス等)もまた、複数の参加ノードnnに分散して保存されている。例えば、あるコンテンツデータのコンテンツ名(或いは、当該コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、参加ノードnnのIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値(当該ハッシュ値がコンテンツIDとなる)と最も近い(例えば、上位桁がより多く一致する)ノードIDを有する参加ノードnn(当該コンテンツIDの管理元となる)に、当該コンテンツデータの所在情報が保存されることになる。つまり、同一のコンテンツデータ(コンテンツIDが同一)が、夫々、複数の参加ノードnnに保存されている場合であっても、かかるコンテンツデータの所在を示す所在情報(複数の参加ノードnnのIPアドレス等)は、1つの参加ノードnnで管理することができる(このようにコンテンツデータの所在を管理する参加ノードを、以下、「ルートノード」という)。なお、本実施形態においては、1のルートノードでは、1のコンテンツIDに対応するコンテンツデータの所在情報が保存される(つまり、ルートノードと上記所在情報とは1対1の関係にある)が、これに限定されるものではない)。
各参加ノードnnは、上記DHTによって、所望するコンテンツデータを発見することができる。
図5は、参加ノードがコンテンツデータの所在を問い合わせる際のDHTのノードID空間における各種メッセージの流れの一例を示す概念図である。
図5に示す例において、あるコンテンツデータを取得(ダウンロード)したいユーザが使用する例えば参加ノードn4は、当該コンテンツデータのコンテンツIDが記述されたコンテンツ所在問合せ(検索)メッセージを他の参加ノードnnに対して送出することにより、当該コンテンツIDが記述されたコンテンツ所在問合せ(検索)メッセージは、いくつかの参加ノードnn(以下、「中継ノード」という)を経由されて(各中継ノードにおいて、上記DHTのルーティングテーブルが参照されてコンテンツIDが転送される)そのコンテンツデータの所在を示す所在情報を保存しているルートノードに辿り着き、当該ルートノードから当該所在情報を含むコンテンツ所在返答メッセージを取得(受信)することが可能となり、取得した所在情報に基づいて上記コンテンツデータを保存している例えば参加ノードnn(以下、「コンテンツ保持ノード」という)に接続し、そこから当該コンテンツデータを取得(ダウンロード)することが可能になる。各中継ノードは、受信したコンテンツ所在問合せ(検索)メッセージに記述されたコンテンツIDと、自己のDHTのルーティングテーブルに登録されているノードIDとを比較して、次に転送すべき参加ノードnnを特定(例えば、上記のように、コンテンツIDの上位数桁がより多く一致するノードIDに対応する参加ノードnnのIPアドレス等を特定)し、そこにコンテンツ所在問合せ(検索)メッセージを転送することになる。
なお、参加ノードn4は、コンテンツ所在問合せ(検索)メッセージがルートノードに辿り着くまでの間に当該ルートノードと同じ所在情報をキャッシュしている参加ノードnnからコンテンツ所在返答メッセージを取得(受信)するようにしてもよい。
このようにオーバーレイネットワーク9に参加している各参加ノードnnには、ファームウェア、上述したDHTを利用したメッセージの送受信等の各種処理を実行するためのソフトウェア(実行モジュール等のプログラム)や各種設定ファイル等の共通に使用される共用情報が記憶されており、かかる共用情報は、適宜、例えばシステム運営者等により更新(バージョンアップやアップデート)され、当該システム運営者により選定された常にオーバーレイネットワーク9に参加している信頼性の高い参加ノードnn(以下、「スーパーノード」(複数の参加ノードnnのうちから特別に選定された特定ノード装置の一例)という)に記憶される。
本実施形態においては、コンテンツ配信システムS全体で(つまり、オーバーレイネットワーク9に参加している全ての参加ノードnnで)バージョンを揃える必要のある共用情報を、オーバーレイネットワーク9に参加している全ての参加ノードnnに迅速かつ効率良く行き渡らせるために、各参加ノードnnが接続相手の参加ノードnnに対して上述した任意のメッセージを送信する場合には、自己が記憶する共用情報のバージョンを示すバージョン情報としてのバージョン番号を当該メッセージ中(例えば、ヘッダ部)に記述するようになっている。
ここで、バージョンとは、共用情報の新しさを意味するものであり、共用情報が更新される度にバージョン番号が上がっていく(つまり、バージョンアップ、アップデート)ものである。
バージョン番号が記述されたメッセージを受信した参加ノードnnは、記述されたバージョン番号と、自己(自ノード)が記憶する共用情報のバージョン番号とを比較し、自己が記憶する共用情報のバージョンが、他の参加ノードnnに記憶されている共用情報のバージョンより古い場合には、自己が記憶する共用情報のバージョンよりも新しいバージョンの共用情報を記憶している参加ノードnn(例えば、スーパーノード)から当該共用情報を取得し、自己が記憶する共用情報を更新する。これにより、バージョンを揃えるための専用のメッセージを送信することなく、速やかにかつ確実に、さらに、空気感染的に各参加ノードnnの共有情報を更新していくことができる。
図6は、コンテンツ所在問合せメッセージの内容の一例を示す図である。
図6に示すコンテンツ所在問合せメッセージ51は、メッセージヘッダ52と、メッセージ本体53から構成されている。メッセージヘッダ52には、当該メッセージの送信元の情報52b、当該メッセージの転送元の情報52c乃至52f、転送回数52g、及びメッセージ種別52hが記述されている。このメッセージヘッダ52から、当該コンテンツ所在問合せメッセージ51は、参加ノードnnを4回転送されていることがわかる。
また、図6に示すように、メッセージの送信元の情報52b及びメッセージの転送元の情報52c乃至52fには、夫々のIPアドレス及びポート番号、ノードID、バージョン番号、及びネット環境評価値が記述されている。ネット環境評価値とは、ネットワーク接続環境を示すネット環境情報であり、ここでは、A〜Eの5段階の評価で示されている。例えば、評価値Aは有効帯域(データの転送速度)が20Mbps以上であり、評価値Bは有効帯域(データの転送速度)が10Mbps以上であり、評価値Cは有効帯域(データの転送速度)が5Mbps以上であり、評価値Dは有効帯域(データの転送速度)が数Kbps以上であり、評価値Eはダイヤル回線である。つまり、評価値EからAにいくにしたがってネットワーク環境が良く(ダウンロード時間が速い)なっている。なお、本実施形態においては、ネット環境評価値の一例として、有効帯域(データの転送速度)を例にとったが、これに限定されるものではなく、例えば、定点位置からのHOP数、或いはIPアドレスのセグメント情報であってもよい。
また、メッセージ本体53には、コンテンツ所在問合せメッセージ51にて問合せ対象となるコンテンツデータのコンテンツID、及び返答要求数が記述されている。
次に、図7を参照して、参加ノードnn及び未参加ノードnmの構成及び機能について説明する。
図7は、参加ノードnn及び未参加ノードnmの概要構成例を示す図である。
参加ノードnn及び未参加ノードnmは、夫々、図7に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、所在情報、DHT)及びプログラム等の共用情報、当該共用情報のバージョン番号等を記憶保存(格納)するためのHDD等から構成された自ノードバージョン情報記憶手段、他ノードバージョン情報記憶手段、及び特定ノード記憶手段としての記憶部12と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他の参加ノードnn又は未参加ノードnmとの間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、及び通信部20は、バス22を介して相互に接続されている。
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明の共用情報更新処理プログラムを含む)を読み出して実行することにより、全体を統括制御すると共に、本発明のデータ送信手段、データ転送手段、データ受信手段、バージョン判別手段、共用情報更新手段、照会手段、及び特定識別情報判断手段等として機能し、後述する各種処理を行うようになっている。
なお、上記共用情報更新処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
[2.コンテンツ配信システムの動作]
次に、図8乃至図10を参照して、共用情報の更新が行われるに当たってのコンテンツ配信システムSの動作について説明する。
図8は、メッセージの送信元の参加ノードnnにおける制御部11の処理を示すフローチャートであり、図9は、メッセージ受信した参加ノードnnにおける制御部11の処理を示すフローチャートであり、図10は、図9に示すステップS15における共用情報更新処理の詳細を示すフローチャートである。
図8に示す処理は、例えば、ユーザによる入力部21からのコンテンツ要求操作(例えば、コンテンツリストから所望のコンテンツのタイトルを指定)により開始され、ステップS1では、参加ノードnnの制御部11は、自己のDHTのルーティングテーブルを参照して、指定されたコンテンツデータのコンテンツIDと最も近い(例えば、コンテンツIDの上位数桁がより多く一致する)ノードIDに対応する参加ノードnnを、上記コンテンツ所在問合せメッセージの送信先として特定し、そのIPアドレス及びポート番号を取得する。
次いで、ステップS2では、制御部11は、上記コンテンツ所在問合せメッセージのヘッダに、自己(自ノード)のIPアドレス及びポート番号、ノードID、共用情報のバージョン番号、及びネット環境評価値(例えば、記憶部12に予め記憶しておく)を記述し、メッセージの本体にコンテンツID等を記述して、データ送信手段として、当該コンテンツ所在問合せメッセージを、上記取得したIPアドレス及びポート番号の参加ノードnnに対してネットワーク8等を介して送信し、当該処理を終了する。
ここで、当該ヘッダには、各種プログラム、設定ファイル等の複数種類の共用情報の夫々のバージョン番号を記述されるようにしてもよい。例えば、ファームウェアの場合のバージョン番号は、“FW−VX(バージョンを示す変数)”とし、アプリケーションソフトウェアの場合のバージョン番号は、“AP−VX(バージョンを示す変数)”とし、設定ファイルの場合のバージョン番号は、“ST−VX(バージョンを示す変数)”とし、バージョンアップやアップデートする毎に、種別ごとに独立に、VXが、1,2,3・・・と増加するようにしておく(例えば、FW-1024→FW-1025→FW-1026、AP-501→AP-502→AP-503、ST-7→ST-8といったように)。
なお、何の共用情報のバージョン番号をヘッダ中に記述するかは、任意であり、複数の共用情報のバージョン番号を列記しても良い。どう記述するかはシステムで予め定義しておく。
次に、図9に示す処理は、参加ノードnnの制御部11が、データ受信手段として、メッセージを他の参加ノードnnから受信した場合に開始され、ステップS11では、受信されたメッセージに応じた処理が行われる。
例えば、当該メッセージがコンテンツ所在問合せメッセージである場合には、制御部11は、自己のDHTのルーティングテーブルを参照して、メッセージの転送先があるか否かを判別し、メッセージの転送先がない場合、例えば、当該メッセージの本体に記述されたコンテンツIDと最も近い(例えば、コンテンツIDの上位数桁がより多く一致する)ノードIDが自己である場合(つまり、自己が当該コンテンツデータのルートノードである場合)には、コンテンツ所在返答メッセージのヘッダに、自己のIPアドレス及びポート番号、ノードID、共用情報のバージョン番号、及びネット環境評価値を記述し、メッセージの本体にコンテンツデータの所在情報等を記述して、これを、コンテンツ所在問合せメッセージの送信元である参加ノードnnに対して送信する。
一方、メッセージの転送先がある場合、例えば、当該メッセージの本体に記述されたコンテンツIDと最も近い(例えば、コンテンツIDの上位数桁がより多く一致する)ノードIDが他の参加ノードnnである場合には、制御部11は、当該他の参加ノードnnを、上記コンテンツ所在問合せメッセージの転送先として特定し、そのIPアドレス及びポート番号をDHTのルーティングテーブルを取得する。次いで、制御部11は、上記コンテンツ所在問合せメッセージのヘッダに、自己のIPアドレス及びポート番号、ノードID、共用情報のバージョン番号、及びネット環境評価値を記述し、データ転送手段として、当該コンテンツ所在問合せメッセージを、上記取得したIPアドレス及びポート番号の参加ノードnnに対してネットワーク8等を介して送信する。
なお、当該メッセージが参加要求メッセージであり、他の参加ノードnnに転送される場合にも、同様に、参加要求メッセージのヘッダに、自己のIPアドレス及びポート番号、ノードID、共用情報のバージョン番号、及びネット環境評価値等が記述されることになる。
次いで、ステップS12では、制御部11は、受信した上記メッセージのヘッダに記述された全てのバージョン番号(例えば、図6に示す、当該メッセージの送信元の情報52b、及びメッセージの転送元の情報52c乃至52f中に含まれる全てのバージョン番号)と、自己が記憶する共用情報のバージョン番号とを比較(例えば、共用情報の種類毎に、バージョンを示す変数VXの数値の大小を比較し、数値が大きい方をバージョンが新しいと認識)する。
そして、制御部11は、バージョン判別手段として、自己が記憶する共用情報のバージョンが、他の参加ノードnnに記憶されている共用情報のバージョンより古いか否かを判別し(ステップS13)、自己が記憶する共用情報のバージョンが古い場合(ステップS13:Y)、つまり、自己が記憶する共用情報中に、古いバージョンの共用情報がある場合には、ステップS14に移行する。なお、ヘッダに複数種類の共用情報の夫々のバージョン番号が記述されていた場合には、全ての共用情報毎に、上記バージョン番号の比較が行われ、1つでも古いバージョンの共用情報がある場合には、ステップS14に移行することになる。
一方、自己が記憶する共用情報のバージョンが古くない場合(ステップS13:N)、つまり、自己が記憶する共用情報中に、古いバージョンの共用情報がない場合には、当該処理を終了する。
次いで、ステップS14では、受信されたメッセージのヘッダから、自己が記憶する共用情報のバージョンよりも新しいバージョンの共用情報を記憶する参加ノードnnの情報(例えば、IPアドレス及びポート番号、ノードID、共用情報のバージョン番号、及びネット環境評価値)を抽出し、これを、当該メッセージを受信した時間と対応付けて更新リストに登録(記憶部12に記憶)する。なお、更新リストには、過去所定時間(例えば、24時間)以内に受信したメッセージから抽出された参加ノードnnの情報のみを登録するようにしても良い(例えば、このステップS14にて24時間より前の参加ノードnnの情報を更新リストから削除する)。
なお、ヘッダに複数種類の共用情報の夫々のバージョン番号が記述されていた場合には、夫々の共用情報毎に、そのバージョン番号(自己が記憶する共用情報のバージョン番号より新しいバージョン番号に限る)に対応する共用情報を記憶する参加ノードnnの情報が更新リストに登録される。
次いで、制御部11は、共用情報更新処理を行う(ステップS15)。
この共用情報更新処理においては、図10に示すように、制御部11は、先ず、スーパーノードリストを記憶部12から読み込む(ステップS151)。かかるスーパーノードリストは、例えばオーバーレイネットワーク9に参加する際に他の任意の参加ノードnnから取得されるものであり、ここには、上述したスーパーノードのIPアドレス及びポート番号、ノードID、共用情報のバージョン番号、及びネット環境評価値等が記述されている。
次いで、制御部11は、更新リストを参照して、所定時間(例えば、過去24時間)内に、更新リストに登録された参加ノードnnの数が所定数(例えば、15)以上であるか否かを判別(複数種類の共用情報がある場合、共用情報毎に判別)し、所定数以上でない場合には(ステップS152:N)、ステップS153に移行する。
ここで、「所定数」をある数以上にすることで、悪意のあるユーザによりシステムの破壊を目的としたウイルスのようなファイルを感染させられることを防ぎセキュリティを向上させることができる。一方、更新リストに登録された参加ノードnnの数が所定数以上である場合には(ステップS152:Y)、共用情報更新手段としての制御部11は、更新リストを参照し、ネット環境評価値に基づいて共用情報を取得すべき他の参加ノードnn(ここでは、スーパーノード以外の参加ノードnn)を決定(これにより、スーパーノードへのアクセス集中を防止できる)、例えば環境評価値の高い(より“A”に近い)参加ノードnnを選定し(なお、有効帯域(データの転送速度)ばかりでなく、定点位置からのHOP数、IPアドレスのセグメント情報の夫々、或いはその組合せによって共用情報を取得すべき装置そして最適な参加ノードnnが選定されてもよい)、当該選定した参加ノードnnのIPアドレス等を取得して当該参加ノードnnに接続し、最新のバージョンを取得(ダウンロード)し(ステップS159)、ステップS156に移行する。
ステップS153では、制御部11は、上記更新リストに登録された参加ノードnn中にスーパーノードが含まれているか否かを判別する。つまり、更新リストに登録された識別情報としてのノードID(受信されたメッセージに記述されたノードID)が、スーパーノードリストに登録(記憶)された特定識別情報としてのノードIDと一致するか否かが特定識別情報判断手段としての制御部11により判断される。
なお、更新リストに複数種類の共用情報の夫々のバージョン番号が記述されていた場合には、夫々の共用情報毎に、スーパーノードが含まれているか否かが判別される。
そして、スーパーノードが含まれている場合には(ステップS153:Y)、ステップS154に移行し、スーパーノードが含まれていない場合には(ステップS153:N)、当該処理を終了する。
ステップS154では、制御部11は、スーパーノードが複数であるか否かを判別(複数種類の共用情報がある場合、共用情報毎に判別)し、スーパーノードが複数である場合には(ステップS154:Y)、ステップS155に移行し、スーパーノードが複数でない場合には(ステップS154:N)、ステップS157に移行する。
ステップS155では、共用情報更新手段としての制御部11は、更新リスト又はスーパーノードリストを参照し、ネット環境評価値に基づいて共用情報を取得すべき参加ノードnnを決定、例えば環境評価値の高い(より“A”に近い)スーパーノードを選定し(なお、有効帯域(データの転送速度)ばかりでなく、定点位置からのHOP数、IPアドレスのセグメント情報の夫々、或いはその組合せによって共用情報を取得すべき装置そして最適な参加ノードnnが選定されてもよい)、当該選定したスーパーノードのIPアドレス等を取得して当該スーパーノードに接続し、最新のバージョンを取得(ダウンロード)し、ステップS156に移行する。なお、ステップS155において、スーパーノードを選定するようにしたが、スーパーノード以外の通常の参加ノードnnを選定するようにしても良い。ただし、スーパーノードが選定される方が新しい共用情報が増え始めの段階で、偽の共用情報が出回ることを極力防ぐことができる。
ステップS157では、制御部11は、上記スーパーノードリストから任意の他のスーパーノード(更新リストに登録されていないスーパーノード)を選定し、当該選定したスーパーノードのIPアドレス等を取得して当該スーパーノードに接続し、照会手段として、最新のバージョンを照会する。
そして、制御部11は、自己が記憶する共用情報を更新するか否かを判別し(ステップS158)、例えば、上記更新リストに登録されているスーパーノードに対応するバージョン番号と、ステップS157で照会された他のスーパーノードに対応するバージョン番号とを比較し、同一であるか否かを判別し、同一であれば更新すると判別し(ステップS158:Y)、つまり、上記更新リストに登録されたスーパーノードが記憶している共用情報のバージョンと上記照会した最新のバージョンとが同一である場合には、ステップS155に移行して上記と同様の処理を行い、更新しない場合には(ステップS158:N)、当該処理を終了する。
なお、更新リストに複数種類の共用情報の夫々のバージョン番号が記述されていた場合には、夫々の共用情報毎に、更新するか否かが判別される。
そして、ステップS156では、制御部11は、記憶している共用情報を、取得した共用情報により更新した後、更新リストをリセットし、当該処理を終了する。
以上説明したように上記実施形態によれば、各参加ノードnnが接続相手の参加ノードnnに対して各種メッセージを送信する場合には、自己が記憶する共用情報のバージョンを示すバージョン情報としてのバージョン番号を当該メッセージ中(例えば、ヘッダ)に記述するようにし、バージョン番号が記述されたメッセージを受信した参加ノードnnは、記述されたバージョン番号と、自己(自ノード)が記憶する共用情報のバージョン番号とを比較し、自己が記憶する共用情報のバージョンが、他の参加ノードnnに記憶されている共用情報のバージョンより古い場合には、自己が記憶する共用情報のバージョンよりも新しいバージョンの共用情報を記憶している参加ノードnn(例えば、スーパーノード)から当該共用情報を取得し、自己が記憶する共用情報を更新するようにしたので、サーバ等の特定の装置に過大な負荷を与えることなく、より速やかにかつ確実に、各参加ノードnnにおける共用情報を更新することができる。
また、自己が記憶する共用情報のバージョンが、複数の他の参加ノードnnのうち所定数以上のノード装置が記憶する共用情報のバージョンより古いと判別された場合にはじめて、自己が記憶する共用情報を更新するようにしたので、容易に、クラッキング等の防止ができ信頼性を確保(セキュリティの向上)することができる。更に、参加ノードnnが直接的に通信セッションを張っている接続相手の参加ノードnnとそこから指定されたバージョン番号を全面的に信用して良いかを容易に確認でき、したがって、システムのクラッキングを防ぎ、情報流出等を防止することができる。
更に、自己が記憶する共用情報のバージョンが古いと判別された場合には、複数の参加ノードnnのうちから特別に選定されたスーパーノードに対して共用情報の最新バージョンを照会するようにしたので、より一層、セキュリティの向上を期待できる。
更にまた、上記図10に示す処理により、新しい共有情報の増え始めの段階では、スーパーノードしか新しいバージョンの共用情報を持っていなく、たまたまスーパーノードとメッセージのやりとりをした参加ノードnnから順に新しい共用情報を取得していき,この段階の新しい共有情報の増え方はゆっくりであるが、新しいバージョンの共用情報を持つ参加ノードnnが一定数を超えた段階から、ネズミ算式に一気に新しいバージョンの共有情報が広まっていくという効果を得ることができる。
なお、上記実施形態においては、ステップS154にてスーパーノードが複数か否かを判断していたが、所定数としても良い。例えば、所定数としては、1であっても良いし、3以上の数値であっても良い。
また、上記実施形態において、ステップS13にて自己が記憶する共用情報のバージョンが古いと判別された場合(ステップS13:Y)、ステップS14にて新しいバージョンの共用情報を記憶する参加ノードnnの情報が更新リストに登録されるようにしたが、更新リストに登録されるのではなく、今受信したメッセージヘッダ中に、新しいバージョンの共用情報を記憶する参加ノードnnが所定数(1であっても良いし、2以上の数値であっても良い)以上であるか否かを制御部11が判断し、所定数以上の場合には、共有情報を更新するようにしても良い。
また、上記実施形態において、複数のスーパーノードが新しいバージョンの共有情報を当初から持つように構成したが、別の例として、当該システム運営者が任意の所定数の参加ノードnnを選んで、その参加ノードnnに対して新しい共有情報をPUSHする(強制的に送り付ける)ように構成してもよい(この場合は、スーパーノード及び図10におけるスーパーノードに関する処理は不要となる)。
また、上記実施形態においては、メッセージのヘッダに共用情報のバージョン番号を記述するようにしたが、これに限定されるものではなく、メッセージの本体中やフッダに記述するようにしてもよい。
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提として説明したが、本発明はこれに限定されるものではない。
本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。 参加ノードn1が保持するDHTのルーティングテーブルの一例を示す図である。 DHTのノードID空間の一例を示す概念図である。 未参加ノードがオーバーレイネットワーク9に参加する際のDHTのノードID空間における参加要求メッセージの流れの一例を示す概念図である。 参加ノードがコンテンツデータの所在を問い合わせる際のDHTのノードID空間における各種メッセージの流れの一例を示す概念図である。 コンテンツ所在問合せメッセージの内容の一例を示す図である。 参加ノードnn及び未参加ノードnmの概要構成例を示す図である。 メッセージの送信元の参加ノードnnにおける制御部11の処理を示すフローチャートである。 メッセージ受信した参加ノードnnにおける制御部11の処理を示すフローチャートである。 図9に示すステップS15における共用情報更新処理の詳細を示すフローチャートである。
符号の説明
nn ノード装置
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S コンテンツ配信システム

Claims (5)

  1. ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムにおける前記ノード装置であって、
    前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段と、
    前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信するデータ受信手段と、を備え、
    前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、
    前記ノード装置は、さらに、
    前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別するバージョン判別手段と、
    前記バージョン判別手段により、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別された場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する共用情報更新手段と、
    を備えることを特徴とするノード装置。
  2. 請求項1記載のノード装置において、
    前記バージョン判別手段により、前記記憶手段が記憶する前記共用情報のバージョンが古いと判別された場合には、複数の前記ノード装置のうちから特別に選定された特定ノード装置に対して前記共用情報の最新バージョンを照会する照会手段を更に備え、
    前記共用情報更新手段は、前記記憶手段が記憶する前記共用情報のバージョンが前記最新バージョンより古い場合に、前記最新バージョンを示す共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新することを特徴とするノード装置。
  3. ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムにおける前記ノード装置に含まれるコンピュータを、
    前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段、
    前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信するデータ受信手段、を備え、
    前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、
    さらに、
    前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別するバージョン判別手段、及び
    前記バージョン判別手段により、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別された場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する共用情報更新手段として機能させることを特徴とする共用情報更新処理プログラム。
  4. ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムにおける共用情報更新方法であって、
    前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段を備える前記ノード装置が、前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信する工程と、を備え、
    前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、
    さらに、
    前記記憶手段を備える前記ノード装置が、前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別する工程と、
    前記記憶手段を備える前記ノード装置が、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別した場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する工程と、
    を含むことを特徴とする共用情報更新方法。
  5. ネットワークを介して互いに接続可能な複数のノード装置により形成されたオーバーレイネットワークを有し、夫々の前記ノード装置が共通に使用する共用情報を、前記オーバーレイネットワークを介して送受信する情報共有システムであって、
    前記ノード装置は、
    前記共用情報と、前記共用情報のバージョンを示すバージョン情報とを記憶する記憶手段と、
    前記共用情報と、前記共用情報のバージョンを示すバージョン情報と、前記オーバーレイネットワークで送受信される前記共用情報のバージョンを示すバージョン情報を含むデータの転送先を規定するルーティングテーブルとを記憶し、前記ルーティングテーブルに従って送信先を定める他の前記ノード装置から、前記バージョン情報を含む前記データを受信するデータ受信手段と、を備え、
    前記データには、前記データの送信元の前記ノード装置が記憶する前記共用情報の前記バージョン情報が含まれ、前記データが1以上の前記ノード装置を中継されていく際に、前記データを中継する前記ノード装置が記憶する前記共用情報の前記バージョン情報が前記データに付加されることで前記データには複数の他の前記ノード装置に記憶されている前記共用情報の前記バージョン情報が含まれるものであって、
    前記ノード装置は、さらに、
    前記受信された1つの前記データに含まれる複数の前記バージョン情報と、前記記憶手段が記憶する前記共用情報の前記バージョン情報とを比較し、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置に記憶されている前記共用情報のバージョンより古いかを少なくとも判別するバージョン判別手段と、
    前記バージョン判別手段により、前記記憶手段が記憶する前記共用情報のバージョンが、複数の他の前記ノード装置のうち所定数以上の前記ノード装置に記憶されている前記共用情報のバージョンより古いと判別された場合には、前記記憶手段が記憶する前記共用情報のバージョンよりも新しいバージョンの前記共用情報を記憶する他の前記ノード装置から前記共用情報を取得し、前記記憶手段が記憶する前記共用情報を更新する共用情報更新手段と、
    を備えることを特徴とする情報共有システム。
JP2005239532A 2005-08-22 2005-08-22 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム Expired - Fee Related JP4747733B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005239532A JP4747733B2 (ja) 2005-08-22 2005-08-22 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
PCT/JP2006/310350 WO2007023600A1 (ja) 2005-08-22 2006-05-24 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US12/068,331 US8015269B2 (en) 2005-08-22 2008-02-05 Node device, shared information update processing program, shared information update method, and information sharing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005239532A JP4747733B2 (ja) 2005-08-22 2005-08-22 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム

Publications (2)

Publication Number Publication Date
JP2007058275A JP2007058275A (ja) 2007-03-08
JP4747733B2 true JP4747733B2 (ja) 2011-08-17

Family

ID=37771353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005239532A Expired - Fee Related JP4747733B2 (ja) 2005-08-22 2005-08-22 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム

Country Status (3)

Country Link
US (1) US8015269B2 (ja)
JP (1) JP4747733B2 (ja)
WO (1) WO2007023600A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8233489B2 (en) * 2006-11-27 2012-07-31 Telefonaktiebolaget Lm Ericsson (Publ) System, method, and router for routing data packets in an overlay network
JP4958692B2 (ja) * 2007-08-31 2012-06-20 キヤノン株式会社 配信装置、配信方法、及びコンピュータプログラム
JP4863973B2 (ja) * 2007-11-26 2012-01-25 日本電信電話株式会社 オーバーレイマルチキャスト配信ネットワーク構成方法とシステムおよびプログラム
US8185495B2 (en) * 2008-02-01 2012-05-22 Microsoft Corporation Representation of qualitative object changes in a knowledge based framework for a multi-master synchronization environment
JP5543918B2 (ja) * 2008-06-04 2014-07-09 株式会社アテナテレコムラボ データベース並行編集の競合解消方式
JP5543901B2 (ja) * 2008-06-04 2014-07-09 株式会社アテナテレコムラボ データベース並行編集方式
JP5543899B2 (ja) * 2008-06-04 2014-07-09 株式会社アテナテレコムラボ データベースのデータ項目の平行編集方式
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
JP5359201B2 (ja) 2008-11-06 2013-12-04 富士通株式会社 コンテンツの削除更新プログラム
US9015283B2 (en) 2009-12-18 2015-04-21 Microsoft Technology Roaming profiles and application compatibility in multi-user systems
CN105956176B (zh) * 2010-03-18 2020-07-03 诺宝公司 数据库管理系统
WO2011121671A1 (ja) * 2010-03-31 2011-10-06 富士通株式会社 ファームウェア更新方法、通信ユニット、およびプログラム
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US8667057B1 (en) 2010-10-01 2014-03-04 Google Inc. Method and system for delivering object update messages including payloads
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
JP5438140B2 (ja) * 2012-01-20 2014-03-12 株式会社日立システムズ 修正プログラム提供システム及びプログラム
TW201333864A (zh) * 2012-02-04 2013-08-16 Jian-Cheng Li 即時性資訊傳輸系統
US9014717B1 (en) * 2012-04-16 2015-04-21 Foster J. Provost Methods, systems, and media for determining location information from real-time bid requests
US20140032714A1 (en) * 2012-07-27 2014-01-30 Interdigital Patent Holdings, Inc. Method and apparatus for publishing location information for a content object
US9552590B2 (en) 2012-10-01 2017-01-24 Dstillery, Inc. Systems, methods, and media for mobile advertising conversion attribution
US11176111B2 (en) 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US9501363B1 (en) 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
US10037348B2 (en) 2013-04-08 2018-07-31 Nuodb, Inc. Database management system with database hibernation and bursting
CN105337904B (zh) * 2014-08-05 2018-11-27 新华三技术有限公司 控制器集群的升级方法及装置
JP6280236B2 (ja) * 2014-11-10 2018-02-14 日本電信電話株式会社 最適化装置、最適化方法および最適化プログラム
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US10469379B2 (en) * 2017-02-17 2019-11-05 Cisco Technology, Inc. System and method to facilitate content delivery to multiple recipients in a network environment
JP2018142129A (ja) * 2017-02-27 2018-09-13 富士通株式会社 情報処理システム、情報処理方法、及び情報処理装置
US10404592B2 (en) 2017-03-24 2019-09-03 Cisco Technology, Inc. System and method to facilitate content forwarding using bit index explicit replication (BIER) in an information-centric networking (ICN) environment
AU2018316601B2 (en) 2017-08-15 2023-02-02 Nuodb, Inc. Index splitting in distributed databases

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259284A (ja) * 1998-03-12 1999-09-24 Fujitsu Ltd オンラインプログラム更新システム及びプログラム更新用プログラムを記録したコンピュータ読み取り可能な記録媒体
US6317754B1 (en) 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
US6516327B1 (en) * 1998-12-24 2003-02-04 International Business Machines Corporation System and method for synchronizing data in multiple databases
US6421671B1 (en) * 1999-04-30 2002-07-16 Dell Products L.P. Method and system for automated distribution of software
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US20020062336A1 (en) * 2000-11-22 2002-05-23 Dan Teodosiu Resource coherency among resources cached in a peer to peer environment
US7055036B2 (en) * 2001-04-06 2006-05-30 Mcafee, Inc. System and method to verify trusted status of peer in a peer-to-peer network environment
US7721110B2 (en) * 2001-04-06 2010-05-18 Mcafee, Inc. System and method for secure and verified sharing of resources in a peer-to-peer network environment
US7127477B2 (en) * 2001-11-06 2006-10-24 Everyware Solutions Inc. Method and system for access to automatically synchronized remote files
JP4179788B2 (ja) 2002-03-27 2008-11-12 株式会社野村総合研究所 情報処理装置、ピア・ツー・ピア通信の支援方法、およびコンピュータプログラム
US20030221190A1 (en) * 2002-05-22 2003-11-27 Sun Microsystems, Inc. System and method for performing patch installation on multiple devices
US6970698B2 (en) * 2002-07-23 2005-11-29 Sbc Technology Resources, Inc. System and method for updating data in remote devices
US20040107242A1 (en) * 2002-12-02 2004-06-03 Microsoft Corporation Peer-to-peer content broadcast transfer mechanism
US7480907B1 (en) * 2003-01-09 2009-01-20 Hewlett-Packard Development Company, L.P. Mobile services network for update of firmware/software in mobile handsets
JP2004310906A (ja) * 2003-04-07 2004-11-04 Yamaha Corp 光ディスク記録方法、及び光ディスク記録装置
JP4256218B2 (ja) * 2003-07-30 2009-04-22 株式会社東芝 通信システム、通信装置、プログラム並びに通信方法
US7467190B2 (en) * 2003-10-06 2008-12-16 Hitachi, Ltd. Method and apparatus for alert distribution and archive sharing
US7203708B2 (en) * 2003-11-06 2007-04-10 Microsoft Corporation Optimizing file replication using binary comparisons
US7383289B2 (en) * 2003-12-02 2008-06-03 Sap Aktiengesellschaft Updating and maintaining data in a multi-system network using asynchronous message transfer
US7478381B2 (en) * 2003-12-15 2009-01-13 Microsoft Corporation Managing software updates and a software distribution service
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7360208B2 (en) * 2004-05-17 2008-04-15 Oracle International Corp. Rolling upgrade of distributed software with automatic completion
US7546595B1 (en) * 2004-10-14 2009-06-09 Microsoft Corporation System and method of installing software updates in a computer networking environment
CN1798322B (zh) * 2004-12-20 2010-09-08 松下电器产业株式会社 数据传输系统及方法
WO2006113238A2 (en) * 2005-04-15 2006-10-26 Esprida Corporation Apparatus and method for managing a network of intelligent devices
US7996442B2 (en) * 2005-10-17 2011-08-09 Oracle International Corporation Method and system for comparing and re-comparing data item definitions
KR20070092376A (ko) * 2006-03-09 2007-09-13 엘지전자 주식회사 디지털 방송 신호와 상기 방송 신호를 처리하는 방법 및장치

Also Published As

Publication number Publication date
US8015269B2 (en) 2011-09-06
US20080172478A1 (en) 2008-07-17
WO2007023600A1 (ja) 2007-03-01
JP2007058275A (ja) 2007-03-08

Similar Documents

Publication Publication Date Title
JP4747733B2 (ja) ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US7782867B2 (en) Node device, memory medium saving computer program, information delivery system, and network participation method
JP4371056B2 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
JP2007148545A (ja) 情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム
JP4755683B2 (ja) ピア・ツー・ピア(p2p)・ネットワークを効率的に拡張するための方法、装置、およびプログラム
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
US8099506B2 (en) Communication system, node device, node process program and a message transmitting and receiving method
JP2007200203A (ja) 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
JP4702314B2 (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びコンテンツデータ取得方法
US8819295B2 (en) Information communication system, first information processing device, method for processing information, and computer readable storage medium
US8655981B2 (en) Information communication system, information communication method, and recording medium having information communication program stored thereon
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP2010271933A (ja) 分散保存システム、ノード装置、ノード処理プログラム及びデータファイル保存方法
JP4631531B2 (ja) ネットワークシステム、接続確立方法、及びノード装置等
JP5272991B2 (ja) 情報通信システム、情報通信方法及びプログラム
JP2007074490A (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
US8312068B2 (en) Node device, information communication system, method for managing content data, and computer readable medium
JP5212292B2 (ja) 情報通信システム、ノード装置、ノード装置確認方法及びプログラム
JP4548271B2 (ja) 情報通信システム、情報通信方法、ノード装置、及びコンピュータプログラム
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP2008020938A (ja) 保存指示装置、ノード装置、保存指示プログラム及び制御プログラム
JP2012050019A (ja) ノード装置、情報通信システム、情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110322

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110329

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees