JP2006099503A - ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム - Google Patents

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

Info

Publication number
JP2006099503A
JP2006099503A JP2004285895A JP2004285895A JP2006099503A JP 2006099503 A JP2006099503 A JP 2006099503A JP 2004285895 A JP2004285895 A JP 2004285895A JP 2004285895 A JP2004285895 A JP 2004285895A JP 2006099503 A JP2006099503 A JP 2006099503A
Authority
JP
Japan
Prior art keywords
shared information
information
node device
update
shared
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004285895A
Other languages
English (en)
Other versions
JP4561283B2 (ja
Inventor
Kentaro Ushiyama
建太郎 牛山
Yoshihiko Hibino
義彦 日比野
Yuji Kiyohara
裕二 清原
Hiroaki Suzuki
博明 鈴木
Koichi Iijima
康一 飯島
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
Xing Inc
Original Assignee
Brother Industries Ltd
Xing Inc
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, Xing Inc filed Critical Brother Industries Ltd
Priority to JP2004285895A priority Critical patent/JP4561283B2/ja
Priority to PCT/JP2005/016740 priority patent/WO2006038433A1/ja
Priority to EP20050782392 priority patent/EP1811402B1/en
Priority to CN2005800330674A priority patent/CN101031918B/zh
Publication of JP2006099503A publication Critical patent/JP2006099503A/ja
Priority to US11/727,832 priority patent/US20070195796A1/en
Application granted granted Critical
Publication of JP4561283B2 publication Critical patent/JP4561283B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract


【課題】 管理サーバを設けなくても、最新の状態である共用情報をいつでも効率良く取得することを可能としたノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム等を提供する。
【解決手段】 本発明は、ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置であって、前記複数のノード装置において共通に使用されるべき第1共用情報を記憶する共用情報報記憶手段と、前記第1共用情報に基づいて、当該第1共用情報に対応する固有の識別情報を生成する識別情報生成手段と、前記生成された第1識別情報に基づいて、前記第1共用情報の管理元であるノード装置を特定するノード装置特定手段と、前記特定されたノード装置から前記第1共用情報に対応する更新情報を取得する更新情報取得手段と、前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている第1共用情報を第2共用情報に更新する共用情報更新手段と、を備える。
【選択図】 図9

Description

本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型のコンテンツ配信システムに関し、特に、1のノード装置から他のノード装置に配信されるべきコンテンツデータが複数のノード装置に分散して保存されたコンテンツ配信システム及び方法等の技術分野に関する。
この種のコンテンツ配信システムにおいては、各ノード装置は、複数のノード装置に分散保存されているコンテンツデータに関する情報(例えば、コンテンツデータの属性情報(コンテンツの名称等)や、コンテンツデータを保存しているノード装置のIPアドレス)が記述されたリストを有しており、当該リストに記述された情報に基づき、ユーザが所望するコンテンツデータをダウンロードすることが可能になっている。このようなリストは、複数のノード装置において共通に使用されるべき共用情報であり、一般に、コンテンツ配信システム上に保存されている全てのコンテンツデータを管理する管理サーバにより管理され、当該管理サーバから各ノード装置に対して上記リストが配信されることになる。
例えば、特許文献1には、この種の管理サーバとして、最上位に存在し、コンテンツ配信管理システム内の全てのコンテンツ情報を管理するインデックスサーバが開示されている。
特開2002−318720号公報
ところで、ピアツーピア型のコンテンツ配信システムにおいては、ノード装置の脱退(ノード装置の電源断や故障、或いはネットワークの部分的な切断等による)及び参加が行なわれる頻度が高く、しかも、コンテンツデータのノード装置への新たな保存又は消去が行なわれる頻度が高くなるため、上述したようなリストの更新を頻繁に行わなくてはならず、従って、当該リストを常に最新の状態に保つために、上述したような管理サーバは必要であると考えられる。
しかしながら、管理サーバが上記リストの管理を行うコンテンツ配信システムにおいては、ノード装置の数が増せば増すほど、例えば当該リストの更新時にサーバ負荷が増大すると共に、ネットワーク負荷が一箇所に集中し配信可能なリストも制限されてしまうという問題が生じ好ましくない。また、管理サーバがダウン(例えば、故障等により)すると、当該リストの更新ができなくなってしまうという問題もある。更に、管理サーバによるリスト管理のための管理コストもかかってしまうという問題もある。
管理サーバを用いない方法として、Gnutella, Freenet, Winnyなどの、ピュアP2P型の配信システムも考案されているが、それらのシステムでは、コンテンツのタイトルやコンテンツに関するキーワードを指定してコンテンツを検索し、場所を特定し、それにアクセスするという仕組みになっている。この方法では、コンテンツのタイトルの全リストを取得する方法がないため、ユーザがタイトルリストを眺めてその中から所望のコンテンツを選んでアクセスする、という使い方ができなかった。タイトルリストやキーワードリストといった共有情報を効率よく管理・更新する方法が望まれていた。
本発明は、以上の問題等に鑑みてなされたものであり、上記のような管理サーバを設けなくても、最新の状態である共用情報をいつでも効率良く取得することを可能としたノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラムを提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置であって、前記複数のノード装置において共通に使用されるべき第1共用情報を記憶する共用情報報記憶手段と、前記第1共用情報に基づいて、当該第1共用情報に対応する固有の識別情報を生成する識別情報生成手段と、前記生成された第1識別情報に基づいて、前記第1共用情報の管理元であるノード装置を特定するノード装置特定手段と、前記特定されたノード装置から前記第1共用情報に対応する更新情報を取得する更新情報取得手段と、前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている第1共用情報を第2共用情報に更新する共用情報更新手段と、を備えることを特徴とする。
請求項1に記載の発明によれば、各ノード装置は、第1共用情報に対応する固有の識別情報に基づいて、第1共用情報の管理元を特定して、その管理元から第1共用情報に対応する更新情報を取得して、第1共用情報を第2共用情報に更新するように構成したので、管理サーバを設けなくても、自己が保持する共用情報を効率良く更新することができ、これにより、最新の状態である共用情報を効率良く取得することができる。従って、管理サーバによる管理コストを削減することができる。
請求項2に記載の発明は、請求項1に記載のノード装置において、前記共用情報更新手段は、前記取得された更新情報に基づいて、前記第1共用情報の管理元であるノード装置において前記第1共用情報が更新されているか否かを判別し、更新されている場合に、前記共用情報報記憶手段に記憶されている第1共用情報を第2共用情報に更新することを特徴とする。
請求項2に記載の発明によれば、各ノード装置において、第1共用情報が更新されているか否かが判り、更新されている場合には、自己が保持する共用情報を効率良く更新することができる。
請求項3に記載の発明は、請求項2に記載のノード装置において、前記第1共用情報が第2共用情報に更新された場合には、前記識別情報生成手段は、当該第2共用情報に基づいて、当該第2共用情報に対応する固有の第2識別情報を生成し、前記ノード装置特定手段は、前記生成された第2識別情報に基づいて、前記第2共用情報の管理元であるノード装置を特定し、前記更新情報取得手段は、前記特定されたノード装置から前記第2共用情報に対応する更新情報を取得し、前記共用情報更新手段は、前記取得された更新情報に基づいて、前記第2共用情報の管理元であるノード装置において前記第2共用情報が更新されているか否かを判別し、更新されている場合に、前記共用情報記憶手段に記憶された第2共用情報を第3共用情報に更新することを特徴とする。
請求項3に記載の発明によれば、第1共用情報に対応する更新情報を第1共用情報の管理元であるノード装置にて管理し、第2共用情報に対応する更新情報を第2共用情報の管理元であるノード装置にて管理するように構成して各更新段階の共用情報の管理元を分散させるように構成したので、各ノード装置が共用情報を更新する際に、ネットワーク負荷が一箇所に集中することを回避することができる。また、各ノード装置は、自己が保持している共用情報を次第に新しくなるように構成したので、自己が保持する共用情報をより効率良く更新することができ、これにより、最新の状態である共用情報を効率良く取得することができる。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、前記更新情報は、前記第1共用情報の管理元であるノード装置において更新された第2共用情報であることを特徴とする。
請求項5に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、前記更新情報は、前記第1共用情報の管理元であるノード装置において更新された第1共用情報の更新部分に係る部分情報であることを特徴とする。
請求項5に記載の発明によれば、更新情報は、第1共用情報の更新部分に係る部分情報であるので、データ量を少なくすることができ、従って、ネットワーク負荷を少なくすることができる。
請求項6に記載の発明は、ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置であって、前記複数のノード装置において共通に使用されるべき共用情報を記憶する共用情報記憶手段と、前記共用情報が更新された場合に、更新前の前記共用情報に基づいて、当該共用情報に対応する固有の識別情報を生成する識別情報生成手段と、前記生成された識別情報に基づいて、前記共用情報の管理元であるノード装置を特定するノード装置特定手段と、前記特定されたノード装置に対して更新前の前記共用情報に対応する更新情報を保存させる共用情報保存手段と、を備えることを特徴とする。
請求項6に記載の発明によれば、共用情報の管理元であるノード装置に更新前の共用情報に対応する更新情報を保存させることで、管理サーバを設けなくても、各ノード装置が、自己が保持する共用情報を効率良く更新することができ、これにより、最新の状態である共用情報を効率良く取得することができる。従って、管理サーバによる管理コストを削減することができる。
請求項7に記載の発明は、請求項6に記載のノード装置において、前記更新情報は、更新後の共用情報であることを特徴とする。
請求項8に記載の発明は、請求項6に記載のノード装置において、前記更新情報は、更新前の共用情報の更新部分に係る部分情報であることを特徴とする。
請求項9に記載の発明は、請求項1乃至8の何れか一項に記載のノード装置において、前記識別情報生成手段は、前記共用情報を所定のハッシュ関数にかけてハッシュ値である前記識別情報を生成することを特徴とする。
請求項10に記載の発明は、請求項1乃至9の何れか一項に記載のノード装置において、前記ノード装置特定手段は、前記識別情報を、前記複数のノード装置のうち何れかのノード装置に送信し、前記複数のノード装置のうち何れかのノード装置から返信されてきた、前記管理元であるノード装置を示す情報に基づき当該ノード装置を特定することを特徴とする。
請求項11に記載の発明は、請求項1乃至10の何れか一項に記載のノード装置において、1の前記ノード装置から他のノード装置に配信されるべき配信情報が前記複数のノード装置に分散して保存されており、前記共用情報は、前記分散して保存された配信情報に関する情報が記述されたリスト情報であることを特徴とする。
請求項12に記載の発明は、ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置における共用情報更新方法であって、前記複数のノード装置において共通に使用されるべき第1共用情報に基づいて、当該第1共用情報に対応する固有の識別情報を生成する工程と、前記生成された第1識別情報に基づいて、前記第1共用情報の管理元であるノード装置を特定する工程と、前記特定されたノード装置から前記第1共用情報に対応する更新情報を取得する工程と、前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている第1共用情報を第2共用情報に更新する工程と、を備えることを特徴とする。
請求項13に記載の発明は、ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置における共用情報保存方法であって、前記複数のノード装置において共通に使用されるべき共用情報が更新された場合に、更新前の前記共用情報に基づいて、当該共用情報に対応する固有の識別情報を生成する工程と、前記生成された識別情報に基づいて、前記共用情報の管理元であるノード装置を特定する工程と、前記特定されたノード装置に対して更新前の前記共用情報に対応する更新情報を保存させる工程と、を備えることを特徴とする。
請求項14に記載の発明は、ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置に含まれるコンピュータを、前記複数のノード装置において共通に使用されるべき第1共用情報を記憶する共用情報報記憶手段、前記第1共用情報に基づいて、当該第1共用情報に対応する固有の識別情報を生成する識別情報生成手段、前記生成された第1識別情報に基づいて、前記第1共用情報の管理元であるノード装置を特定するノード装置特定手段、前記特定されたノード装置から前記第1共用情報に対応する更新情報を取得する更新情報取得手段、及び、前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている第1共用情報を第2共用情報に更新する共用情報更新手段として機能させることを特徴とする。
請求項15に記載の発明は、ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置に含まれるコンピュータを、前記複数のノード装置において共通に使用されるべき共用情報を記憶する共用情報記憶手段、前記共用情報が更新された場合に、更新前の前記共用情報に基づいて、当該共用情報に対応する固有の識別情報を生成する識別情報生成手段、前記生成された識別情報に基づいて、前記共用情報の管理元であるノード装置を特定するノード装置特定手段、及び、前記特定されたノード装置に対して更新前の前記共用情報に対応する更新情報を保存させる共用情報保存手段として機能させることを特徴とする。
請求項16に記載の発明は、請求項14に記載の共用情報更新処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
請求項17に記載の発明は、請求項15に記載の共用情報保存処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
請求項18に記載の発明は、ネットワークを介して互いに接続された複数のノード装置を備え、前記複数のノード装置には、当該複数のノード装置において共通に使用されるべき共用情報であって各更新段階にある互いに異なる複数の共用情報の夫々の管理元であるノード装置が含まれる情報配信システムにおける何れかの1の前記ノード装置であって、何れかの前記更新段階にある共用情報を記憶する共用情報報記憶手段と、前記共用情報報記憶手段に記憶されている共用情報の管理元であるノード装置を特定する特定処理を行うノード装置特定手段と、前記特定されたノード装置から前記共用情報報記憶手段に記憶されている共用情報に対応する更新情報を取得する取得処理を行う更新情報取得手段と、前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている共用情報を更新する更新処理を行う共用情報更新手段と、を備えることを特徴とする。
請求項19に記載の発明は、請求項18に記載のノード装置において、前記共用情報記憶手段に記憶されている共用情報が最新の状態になるまで、前記ノード装置特定手段による前記特定処理、前記更新情報取得手段による前記取得処理、及び前記共用情報更新手段による前記更新処理が繰り返し行われることを特徴とする。
請求項19に記載の発明によれば、管理サーバを設けなくても、最新の状態である共用情報をいつでも効率良く取得することができる。
本発明によれば、各ノード装置は、第1共用情報に対応する固有の識別情報に基づいて、第1共用情報の管理元を特定して、その管理元から第1共用情報に対応する更新情報を取得して、第1共用情報を第2共用情報に更新するように構成したので、管理サーバを設けなくても、自己が保持する共用情報を効率良く更新することができ、これにより、最新の状態である共用情報を効率良く取得することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
始めに、図1を参照して、情報配信システムとしてのコンテンツ配信システムの概要構成等について説明する。
図1は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
コンテンツ配信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノード装置1a,1b,1c・・・1x,1y,1z・・には、ノード装置を示す情報としての固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数のノード装置1間で重複しないものである。なお、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。
そして、このコンテンツ配信システムSにおいては、特定のアルゴリズム、例えば、後述する分散ハッシュテーブル(以下、DHT(Distribute Hash Table)という)を利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9上に配置されたノード装置1を、コンテンツ配信システムSに参加(言い換えれば、オーバーレイネットワーク9に参加)しているノード装置1という。コンテンツ配信システムSへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置1に対して参加要求を送ることによって行われる。
コンテンツ配信システムSに参加している各ノード装置1のノードIDは、例えば、IPアドレスあるいは製造番号を共通のハッシュ関数によりハッシュ化した値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。
また、コンテンツ配信システムSに参加している複数のノード装置1には、1のノード装置1から他のノード装置1に配信されるべき配信情報としてのコンテンツ(例えば、映画や音楽等)データが分散して保存(格納)されている。例えば、ノード装置1aには、タイトルがXXXの映画のコンテンツデータが保存されており、一方、ノード装置1bには、タイトルがYYYの映画のコンテンツデータが保存されるというように、互いに異なるコンテンツデータが、複数のノード装置1に分散されて保存される(ただし、同じコンテンツデータが複数のノード装置1に分散されて保存される場合もある)。
どのノード装置1に、どのコンテンツデータが保存されるようにしてもよいが、例えば、コンテンツデータに関する情報の一例としてのキーワード(例えば、コンテンツの名称(コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキーワード)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、ノード装置1のIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノード装置1に、当該コンテンツデータが保存される。これにより、コンテンツデータを偏りなくコンテンツ配信システムS上に分散させることが可能となる。なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報(例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等)の組合せとすればよい。
このように分散保存されているコンテンツデータの所在は、各ノード装置1が、DHTにより少しずつ分担して保持しており、これらのDHTが用いられてコンテンツデータの所在、即ち、保存元であるノード装置1を検索(発見)できるようになっている。このDHTには、例えば、他のノード装置への経路情報、すなわち、ノードID空間内で適度に離れた他のノード装置のノードID(ハッシュ値)とそのIPアドレスが、複数登録されている。
ここで、図2を参照して、コンテンツデータの保存元であるノード装置1の検索方法の一例について説明する。
図2は、DHTによりコンテンツデータの保存元であるノード装置1が検索される様子の一例を示す図である。
例えば、図2に示すように、ノード装置1aが、後述するリスト情報としてのキーワードリストLに記述されたキーワード「XXX」のコンテンツデータXを検索する場合、当該ノード装置1aは、そのキーワード「XXX」を上記ノードIDを得るときと共通のハッシュ関数にかけてそのハッシュ値(以下、当該ハッシュ値を「123」と仮定する)を求める(図2の(i))。なお、当該キーワードリストLに、キーワード「XXX」に対応付けられて、当該キーワード「XXX」のハッシュ値が記述されているようにしてもよい。
次に、ノード装置1aは、自己が保持しているDHT(言い換えれば、ネットワークの経路テーブル)51を参照して、キーワードのハッシュ値「123」の最上位の桁の数値「1」に関連付けられたノード装置1bのIPアドレスを取得して(図2の(ii))、当該ノード装置1bに対してハッシュ値「123」及びノード装置1aのIPアドレスを含む問い合わせ情報を送信し、問い合わせ(図2の(iii))を行う。
なお、ノード装置1aが保持しているDHT51において、キーワードのハッシュ値「123」にノード装置1aのIPアドレスが対応付けられていれば、自己が当該コンテンツデータの保存元となる。
これに対し、ノード装置1bは、上記問い合わせ情報を受信し、自己が保持しているDHT52を参照して、キーワードのハッシュ値「123」の最上位から2番目の桁の数値「2」に関連付けられたノード装置1fのIPアドレスを取得して(図2の(iv))、当該ノード装置1fに対してハッシュ値「123」及びノード装置1aのIPアドレスを含む問い合わせ情報を送信し、問い合わせ(図2の(v))を行う。
これに対し、ノード装置1fは、上記問い合わせ情報を受信し、自己が保持しているDHT53を参照して、キーワードのハッシュ値「123」の最上位から3番目の桁の数値「3」に関連付けられたノード装置1jのIPアドレスを、上記キーワード「XXX」のコンテンツデータXを保存しているノード装置1のIPアドレスとして取得し(図2の(vi))、これを、ノード装置1aに対して返信する(図2の(vii))。
こうして、ノード装置1aは、上記ノード装置1jのIPアドレスを受信することにより、キーワード「XXX」のコンテンツデータXの所在、即ち、保存元であるノード装置1jを検索することになり、当該ノード装置1jから、そのコンテンツデータXを取得(ダウンロード)することになる。
ところで、上記キーワードリストLには、コンテンツ配信システムS上に分散保存されている複数のコンテンツデータのキーワードが記述されており、これにより、各ノード装置1のユーザは、どのようなコンテンツデータが保存されているか、言い換えれば、視聴することができるかを把握することができる。
従って、上記キーワードリストLは、全てのノード装置1において共通に使用されるべき共用情報であるともいうことができ、常に最新の状態であることが必要である。
本実施形態においては、更新前のキーワードリストLを用いて当該キーワードリストLの更新情報を検索することにより、キーワードリストLを一括管理するサーバを設けることなく、各ノード装置1が、最新の状態であるキーワードリストLをいつでも効率良く取得することを可能としている。これについての詳細は後述する。
[2.ノード装置の構成等]
次に、図3を参照して、ノード装置1の構成及び機能について説明する。
図3は、ノード装置1の概要構成例を示す図である。
各ノード装置1は、図3に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、上記コンテンツデータ、上記キーワードリストL、上記DHT及びプログラム等を記憶保存(格納)するためのHDD等から構成された共用情報報記憶手段としての記憶部12(上記コンテンツデータは、保存されていないノード装置1もある)と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、コンテンツデータに含まれるビデオデータ及びオーディオデータ等をエンコード(データ圧縮や暗号化等)するエンコーダ部19と、ネットワーク8を通じて他のノード装置1との間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、エンコーダ部19、及び通信部20はバス22を介して相互に接続されている。
そして、制御部11におけるCPUが記憶部12等に記憶された各種プログラムを実行することにより、ノード装置1全体を統括制御するようになっており、また、入力部21からの指示信号に応じて、キーワードリスト保存(登録)処理、及びキーワードリスト更新処理等を行うようになっている。これらのキーワードリスト保存(登録)処理、及びキーワードリスト更新処理及びについては後述する。
[3.コンテンツ配信システムの動作]
次に、コンテンツ配信システムSの動作について説明する。
(キーワードリスト保存処理)
先ず、図4乃至図7等を参照して、キーワードリスト保存処理について説明する。
図4は、ノード装置1の制御部11におけるキーワードリスト保存処理のメインルーチンを、図5及び図6は、当該キーワードリスト保存処理のサブルーチンを、夫々示すフローチャートである。また、図7は、キーワードリスト保存処理において行われるコンテンツデータの保存、及びキーワードリストの保存等の様子を示す概念図である。
なお、図4乃至図6に示す処理は、記憶部12等に記憶された共用情報保存処理プログラムが制御部11により実行されることにより行われる。
図4に示す処理では、コンテンツデータ登録用のノード装置1(例えば、図7に示すノード装置1aとする)においてユーザにより取得された(例えば、着脱可能な情報記録媒体から読み込まれ)コンテンツデータXの保存要求がなされると(例えば、ユーザが入力部21を操作することによる)、制御部11は、その新たに保存すべきコンテンツデータXのキーワード(例えば、コンテンツの名称(コンテンツタイトル))を取得する(ステップS1)。なお、すべてのノード装置1は、初期値としてキーワードリストL1を記憶部12に記憶しているものとする。
かかる取得処理においては、例えば、制御部11が、当該コンテンツデータXに付加されたデータから、キーワードを取得するようにしてもよいし、或いは、ユーザによる入力部21の操作により入力されたキーワードを制御部11が取得するようにしてもよい。
次いで、制御部11は、当該コンテンツデータXの保存元となるべきノード装置1の検索処理を行う(ステップS2)。
具体的には、制御部11は、先ず、図5に示すように、取得したキーワードを上記ノードIDを得るときと共通のハッシュ関数にかけてハッシュ値を生成する(ステップS21)。
次いで、制御部11は、DHTを参照し(ステップS22)、自己がコンテンツデータXの保存元となるべきノード装置1であるか否かを判別し(ステップS23)、自己が保存元のノード装置1でないと判別した場合(例えば、当該DHTにおいて、キーワードのハッシュ値に自己のIPアドレスが対応付けられていない場合)には(ステップS23:N)、当該キーワードのハッシュ値及び自己のIPアドレスを含む問い合わせ情報を他のノード装置1へ送信する(ステップS24)。そして、制御部11は、これに応じて返信されてきた保存元となるべきノード装置1jのIPアドレスを受信した場合には(ステップS25:Y)、そのIPアドレスにより保存元となるべきノード装置1jを特定する(ステップS26)。
なお、ステップS24において、問い合わせ情報が他のノード装置1に送信されると、図2を用いて説明した検索方法と同じ流れ(図2の(iv)〜図2の(vii))で処理が行われ、最終的に、保存元となるべきノード装置1jのIPアドレスが返信されてくることになる。
一方、ステップS23において、自己が保存元となるべきノード装置であると判別した場合(ステップS23:Y)、保存元となるべきノード装置として自己のノード装置1aを特定する(ステップS26)。
次に、図4に示す処理に戻り、制御部11は、保存元となるべきノード装置1へのコンテンツデータXの保存処理を行う(ステップS3)。より具体的には、上記ステップS26で特定されたノード装置1が自己でない場合には、制御部11は、ステップS25にて受信したIPアドレスに基づき、図7の(i)に示すように、保存元となるべきノード装置1jに対して上記ステップS1で取得したコンテンツデータXを、通信部20及びネットワーク8を介して送信して保存させる。一方、制御部11は、上記ステップS26で特定されたノード装置1が自己である場合には、上記ステップS1で取得したコンテンツデータXを、保存元となるべきノード装置1aである自己の記憶部12に記憶保存する。
次いで、制御部11は、キーワードリストL1の管理元であるノード装置1の検索処理を行う(ステップS4)。
具体的には、制御部11は、識別情報生成手段として、先ず、図6に示すように、更新前のキーワードリストL1(例えば、キーワードリストに記述された文字列)を上記ノードIDを得るときと共通のハッシュ関数にかけてハッシュ値(キーワードリストL1に対応する固有の識別情報の一例)を生成する(ステップS51)。
次いで、制御部11は、ノード装置特定手段として、上記生成されたハッシュ値に基づいて、キーワードリストL1の管理元であるノード装置1を特定する。例えば、制御部11は、DHTを参照し(ステップS52)、自己がキーワードリストL1の管理元であるノード装置1であるか否かを判別し(ステップS53)、自己が管理元であるノード装置1でないと判別した場合(例えば、当該DHTにおいて、キーワードリストL1のハッシュ値に自己のIPアドレスが対応付けられていない場合)には(ステップS53:N)、当該キーワードリストL1のハッシュ値及び自己のIPアドレスを含む問い合わせ情報を他のノード装置1へ送信する(ステップS54)。そして、制御部11は、これに応じて返信されてきたキーワードリストL1の管理元であるノード装置1xのIPアドレスを受信した場合には(ステップS55:Y)、そのIPアドレスにより管理元であるノード装置1xを特定する(ステップS56)。
なお、ステップS54においても、上記ステップS24と同様、問い合わせ情報が他のノード装置1に送信されると、図2を用いて説明した検索方法と同じ流れ(図2の(iv)〜図2の(vii))で処理が行われ、最終的に、管理元であるノード装置1xのIPアドレスが返信されてくることになる。
一方、ステップS53において、自己がキーワードリストL1の管理元であるノード装置1であると判別した場合(ステップS53:Y)、管理元であるノード装置1として自己のノード装置1aを特定する(ステップS56)。
次に、図4に示す処理に戻り、制御部11は、他のノード装置1からの更新処理を禁止する更新処理禁止命令を、上記特定されたキーワードリストL1の管理元であるノード装置1へ通信部20及びネットワーク8を介して送信する(ステップS5)。かかる更新処理禁止命令を受信した管理元であるノード装置1では、既に他のノード装置1からの更新処理を行っている場合(例えば、書き込み禁止フラグが立っている場合)には、上記ノード装置1aに対し、既に他のノード装置1により書き込み中であるので当該ノード装置1aの更新処理禁止命令を受けられない旨の情報を返信し、一方、他のノード装置1からの更新処理を行っていない場合(例えば、書き込み禁止フラグが立っていない場合)には、書き込み禁止フラグを立て、上記ノード装置1aに対し、当該ノード装置1aの更新処理禁止命令を受ける旨の情報を返信する。
これに対し、ノード装置1aの制御部11は、管理元であるノード装置1から返信されてきた上記情報(更新処理禁止命令を受ける旨、又は受けない旨の情報)を受信し、書き込み禁止できたか否かを判別し(ステップS6)、書き込み禁止できない(つまり、更新処理禁止命令を受けない旨の情報を受信した)場合には(ステップS6:N)、当該処理を終了する。一方、書き込み禁止できた(つまり、更新処理禁止命令を受ける旨の情報を受信した)場合には(ステップS6:Y)、ステップS7へ移行する。
ステップS7では、制御部11は、記憶部12に記憶されているキーワードリストL1をキーワードリストL2に更新する更新処理を行う。より具体的には、制御部11は、当該キーワードリストL1を記憶部12から読み込み、図7の(ii)に示すように、上記取得したコンテンツデータXのキーワード「XXX」を、当該キーワードリストL1に追加記述して新たなキーワードリストL2を作成し、そのキーワードリストL2を記憶部12に記憶する。
次に、制御部11は、共用情報保存手段として、上記特定されたキーワードリストL1の管理元であるノード装置1に対して更新前のキーワードリストL1に対応する更新情報を保存させる保存処理を行う(ステップS8)。
より具体的には、上記ステップS56で特定されたノード装置1が自己でない場合には、制御部11は、ステップS55にて受信したIPアドレスに基づき、図7の(iii)に示すように、管理元であるノード装置1xに対して上記ステップS1でキーワードリストL2に対応する更新情報を、通信部20及びネットワーク8を介して送信して保存させ、当該処理を終了する。一方、制御部11は、上記ステップS56で特定されたノード装置1が自己である場合には、上記キーワードリストL2に対応する更新情報を、管理元であるノード装置1aである自己の記憶部12に保存する。
ここで、上記キーワードリストL2に対応する更新情報は、キーワードリストL2全部であってもよいし、更新前のキーワードリストL1の更新部分に係る部分情報(例えば、キーワードリストL1に対して追加記述されたキーワード)であっても良い。なお、上記キーワードリストL2に対応する更新情報が、キーワードリストL2全部である場合において、キーワードリストL1がキーワードリストL2に書き換えられる(上書きされる)ようにしてもよい。
なお、上記キーワードリスト保存処理が行われ、キーワードリストL1がキーワードリストL2に更新された後、コンテンツデータ登録用のノード装置1aにおいて、再び、新たなコンテンツデータの保存要求がなされた場合も、上記と同様の処理が行われ、この場合、キーワードリストL2に新たなコンテンツデータのキーワードが追加記述されることにより、キーワードリストL3に更新され、キーワードリストL2の管理元であるノード装置1yに対してキーワードリストL3に対応する更新情報が保存されることになる。
こうして、キーワードリストは、古いバージョンのものから新しいバージョンのものに更新されていくことになるが、これに伴い、各更新段階の例えばキーワードリストL1、L2、L3夫々の管理元であるノード装置1x、1y、1zに更新情報が保存されていくことになる。なお、各更新段階の例えばキーワードリストL1、L2、L3のハッシュ値は、互いに異なる(キーワードリストに記述された文字列が異なるため)ため、これらの管理元であるノード装置1x、1y、1zも異なるものとなる。
各更新段階のキーワードリストの管理元を、どのノード装置1にするかは任意であるが、例えば、ノードIDとキーワードリストとのハッシュ値との関係から定めるようにすればより望ましい。具体的には、キーワードリストのハッシュ値と最も近い(例えば、上位桁がより多く一致する)ハッシュ値のノードIDを有するノード装置1を当該キーワードリストの管理元にするように構成する方法が挙げられる。
また、キーワードリストL1、L2、L3に関してハッシュ化される対象は、キーワードリストに記述された文字列に限定されるものではなく、キーワードリストL1、L2、L3を互いに区別可能な情報(例えば、夫々に付加されたリスト名(更新日時等を含めた名称にすれば望ましい))であれば如何なるものであってもよい。
以上のように、上記更新情報の保存処理が終了すると、ノード装置1aの制御部11は、管理元であるノード装置1xに対し通信部20及びネットワーク8を介して更新処理禁止解除指令を送信し(ステップS9)、当該処理を終了する。これにより、管理元であるノード装置1xにおいては、書き込み禁止フラグをおろすことになる。
(キーワードリスト更新処理)
次に、図8及び図9等を参照して、キーワードリスト更新処理について説明する。
図8は、ノード装置1の制御部11におけるキーワードリスト更新処理を示すフローチャートである。また、図9は、キーワードリスト更新処理において行われるキーワードリストの更新等の様子を示す概念図である。なお、図8に示す処理は、記憶部12等に記憶された共用情報更新処理プログラムが制御部11により実行されることにより行われる。なお、この共用情報更新処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい(上記共用情報保存処理プログラムも同様)。
また、以下の説明では、上記図4乃至図6の処理にて、キーワードリストL1、L2、及びL3の管理元が、夫々、ノード装置1x、1y、1zとなっている場合を想定する。
図8に示す処理では、ノード装置1(例えば、図9に示すノード装置1bとする)において、キーワードリストの更新要求がなされると(例えば、ユーザが入力部21を操作することによる)、制御部11は、記憶部12に記憶している、例えば、キーワードリストL1を読み出し、当該キーワードリストL1の管理元であるノード装置1の検索処理を行う(ステップS11)。このキーワードリストの管理元であるノード装置1の検索処理は、上述した図6に示す処理と同様の処理であるので、説明を省略する。
このステップS11の検索処理を経て、例えば、キーワードリストL1の管理元であるノード装置1xが特定されると、制御部11は、更新情報取得手段として、当該特定されたノード装置1xからキーワードリストL1に対応する更新情報を取得する取得処理を行う(ステップS12)。
より具体的には、制御部11は、図6に示す処理において受信したIPアドレスに基づき、図9の(i)に示すように、キーワードリストL1の管理元であるノード装置1xに対して、キーワードリストL1の更新情報を問い合わせ、図9の(i)に示すように、ノード装置1xからネットワーク8を介して送信されてきた更新情報を取得する。かかる更新情報には、キーワードリストL1の更新の有無と、更新がある場合にはその更新履歴及び更新前のキーワードリストL1の更新部分に係る部分(差分)情報(又は、更新後のキーワードリストL2全部)が含まれている。なお、更新情報を、更新後のキーワードリストL2全部とするよりも、更新部分に係る部分(差分)とした方が、データ量を減らすことができるので、ネットワーク負荷を軽減することができる。
次いで、制御部11は、共用情報更新手段として、上記取得された更新情報に基づいて、キーワードリストL1の管理元であるノード装置1xにおいて当該キーワードリストL1が更新されているか否かを判別し(ステップS13)、更新されている場合には(ステップS13:Y)、記憶部12に記憶されているキーワードリストL1(第1共用情報の一例)をキーワードリストL1(第2共用情報の一例)に更新する更新処理を行う(ステップS14)。より具体的には、更新情報に、更新前のキーワードリストL1の更新部分に係る部分情報(例えば、追加記述されるべきキーワード「XXX」)が含まれている場合には、図9の(ii)に示すように、記憶部12に記憶されているキーワードリストL1に当該キーワード「XXX」を追加記述して新たなキーワードリストL2を作成し、記憶部12に記憶されているキーワードリストL1をキーワードリストL2で上書保存する。一方、更新情報に、更新後のキーワードリストL2が含まれている場合には、記憶部12に記憶されているキーワードリストL1をキーワードリストL2で上書保存する。
こうして、キーワードリストの更新処理が行われると、ステップS11に戻り、今度は、更新後のキーワードリストL2が記憶部12から読み出され、当該キーワードリストL2の管理元であるノード装置1の検索が行われ、例えば、キーワードリストL2の管理元であるノード装置1yが特定される。そして、図9の(iii)に示すように、当該特定されたノード装置1yからキーワードリストL2に対応する更新情報が取得され、キーワードリストL2の管理元であるノード装置1yにおいて当該キーワードリストL2が更新されているか否かが判別され、更新されている場合には、上記と同じように、記憶部12に記憶されているキーワードリストL2(第2共用情報の一例)をキーワードリストL3(第3共用情報の一例)に更新(例えば、図9の(iv)に示すように、キーワード「YYY」が追加記述)する更新処理が行われる。
このような更新処理は、上記ステップS13において、キーワードリストが更新されていないと判別されるまで行なわれ、例えば、図9の(v)に示すように、キーワードリストL3の管理元であるノード装置1zからネットワーク8を介して送信されてきた更新情報にキーワードリストL3の更新無が示されている場合には、当該キーワードリストL3が最新の状態であるとしてキーワードリストを確定する(ステップS15)。
このように最新の状態であるキーワードリストが確定されると、制御部11は、当該キーワードリストを映像処理部15を介して表示部16に表示させる。このような表示状態で、ユーザは、表示されたキーワードリストに記述されているキーワードのうち、例えば所望のキーワード「YYY」を、入力部21を操作して選択すると、選択されたキーワード「YYY」に対応するコンテンツデータYの所在の検索が、図2を用いて説明したように行なわれ、その結果、当該コンテンツデータYの保存元のノード装置1iのIPアドレスが取得され、図9の(vi)に示すように、当該ノード装置1iから、コンテンツデータYが取得(ダウンロード)されることになる。こうして、取得されたコンテンツデータYは、バッファメモリ13に一旦蓄えられ、当該コンテンツデータYに含まれるビデオデータ等は、デコーダ部14及び映像処理部15を介して表示部16に出力、表示され、当該コンテンツデータYに含まれるオーディオデータは、デコーダ部14及び音声処理部17を介してスピーカ18に出力されることになる。
以上説明したように上記実施形態によれば、各更新段階の例えばキーワードリストL1、L2、L3夫々の管理元であるノード装置を分散させ、夫々のノード装置1に夫々のキーワードリストに対応する更新情報を保存させるようにしておき、各ノード装置1は、自己が保持しているキーワードリストに応じた管理元のノード装置にアクセスして更新情報を取得してキーワードリストを更新するので、管理サーバを設けなくても、自己が保持しているキーワードリストを効率良く更新することができ、キーワードリストの更新時にネットワーク負荷が一箇所に集中することを回避することができる。また、管理サーバを設ける必要がないので、管理サーバによる管理コストを削減することができる。
また、各ノード装置において、キーワードリストL1、キーワードリストL2、キーワードリストL3、というように古いものから最新の状態になるまで順次更新されていくので、管理サーバを設けなくても、最新の状態であるキーワードリストをいつでも効率良く取得することができる。
また、キーワードリストのハッシュ値及びDHTを用いることで、各更新段階のキーワードリストの管理元である夫々のノード装置をより効率良く特定することができる。
なお、上記実施形態においては、図7に示す処理にて、キーワードリストL1から、キーワードリストL2を経て、最新の状態であるキーワードリストL3が取得されるように構成したが、別の例として、例えば、キーワードリストL1を保持しているノード装置1が、最新の状態であるキーワードリストL3を直接取得できるように構成してもよい。例えば、キーワードリストL1を保持しているノード装置1は、コンテンツ配信システムSに参加している何れかのノード装置1から最新の状態であるキーワードリストL3のリスト名を取得し、これをハッシュ化して他のノード装置1に送信し、返信されてきたキーワードリストL3の管理元であるノード装置1のIPアドレスに基づき、当該ノード装置1からキーワードリストL3の更新情報を取得するように構成される。より具体的には、キーワードリストの問い合わせ情報の中に、更新前キーワードリストL1の更新日を入れておく。この問い合わせ情報は、その管理元であるノード装置1にたどり着く間にその他のいくつかのノード装置1を経由することになるが、ここで、キーワードリストL1がかなり古いものであった場合、その間に経由した(通りかかった)ノード装置1が、キーワードリストL1よりも新しいキーワードリストを持っている可能性は高くなる。そして、経由したノード装置1がキーワードリストL1より新しいキーワードリストL3を持っていた場合には、ここで、問い合わせ情報の中にあるキーワードリストL1の情報(ハッシュ値、更新日等)をキーワードリストL3のもので書き換えて、改めて問い合わせを行えば、より早く最終的な管理元であるノード装置1にたどり着くことができる。但し、この場合、キーワードリストL1の管理元であるノード装置1とキーワードリストL2の管理元であるノード装置1への問い合わせを省略することになるので、キーワードリストL3の管理元であるノード装置1がもつ更新情報はキーワードリストL4そのもの、或いは部分情報(例えば、キーワードリストL1からキーワードリストL4に追加された部分(差分情報(L4−L1)))でなければならない。
また、上記実施形態において、図2に、各ノード装置1におけるDHTを用いた検索方法の一例を示したが、これに限定されるものではなく、別の例として、上記実施形態における図6に示す管理元であるノード装置の検索処理では、ステップS53において、自己のノードIDが、キーワードリストのハッシュ値と最も近い(例えば、上位桁がより多く一致する)か否かが判別され、最も近い場合には、自己が管理元であるノード装置1となり、そうでない場合には、DHTに登録されているノードIDのうちで、キーワードリストのハッシュ値と最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノード装置1に対して、当該キーワードリストのハッシュ値及び自己のIPアドレスが送信される(ステップS54)ことになる。そして、これを受けたノード装置1においても同様の処理(ステップS51乃至S54)が行われ、上記キーワードリストのハッシュ値と最も近いノードIDを有するノード装置1が検索されるまで、キーワードリストのハッシュ値及び自己のIPアドレスが他のノード装置1に送信(転送)され、最終的に、上記キーワードリストのハッシュ値と最も近いノードIDを有するノード装置1、即ち、管理元であるノード装置1からIPアドレスが送信されてくることになる。なお、このような処理は、図2に示すコンテンツデータの保存元であるノード装置1が検索される場合においても、同様に適用可能である。
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提とし、キーワード、或いはキーワードリストをハッシュ化して、かかるハッシュ値及びDHTに基づいて、コンテンツデータの保存元であるノード装置、或いは、キーワードリストの管理元であるノード装置を特定(発見)するように構成したが、これの代わりに、例えば、キーワード、或いはキーワードリスト(或いは、これに付随する情報)を用いて所定の演算を行うアルゴリズムや関数(関数find(例えば、キーワードリストに対応する数値に変換したもの)=キーワードリストの管理元であるノード装置1のIPアドレス)により、コンテンツデータの保存元であるノード装置、或いは、キーワードリストの管理元であるノード装置を特定(発見)するように構成してもよい。
また、上記実施形態においては、制御部11が、所定のハッシュ関数によりキーワードリストのハッシュ値を生成するように構成したが、これに限定されるものではなく、キーワードリストに基づいて、当該キーワードリストに対応するキーワードリストID(他と識別可能な)を生成して、これに基づいて、キーワードリストの管理元であるノード装置1を特定するように構成してもよい。
また、上記実施形態においては、複数のノード装置1において共通に使用されるべき共用情報としてキーワードリストを例にとって説明したが、これに限定されるものではなく、例えば複数のノード装置1において共通に使用されるべきソースプログラム等、複数のユーザが共通して持つ必要のある共用データに対して適用してもよい。この場合も、各更新段階(バージョン)の共用データの管理元であるノード装置1が複数存在することになり、図6に示す処理(キーワードリストが共用データに置き換える)により、各ノード装置1は、更新前の共用データから更新後の共用データの管理元であるノード装置1を検索(特定)可能となる。
本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。 DHTによりコンテンツデータの保存元であるノード装置1が検索される様子の一例を示す図である。 ノード装置1の概要構成例を示す図である。 ノード装置1の制御部11におけるキーワードリスト保存処理のメインルーチンを示すフローチャートである。 ノード装置1の制御部11におけるキーワードリスト保存処理のサブルーチンを示すフローチャートである。 ノード装置1の制御部11におけるキーワードリスト保存処理のサブルーチンを示すフローチャートである。 キーワードリスト保存処理において行われるコンテンツデータの保存、及びキーワードリストの保存等の様子を示す概念図である。 ノード装置1の制御部11におけるキーワードリスト更新処理を示すフローチャートである。 キーワードリスト更新処理において行われるキーワードリストの更新等の様子を示す概念図である。
符号の説明
1 ノード装置
8 ネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 エンコーダ部
20 通信部
21 入力部
22 バス
S コンテンツ配信システム

Claims (19)

  1. ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置であって、
    前記複数のノード装置において共通に使用されるべき第1共用情報を記憶する共用情報報記憶手段と、
    前記第1共用情報に基づいて、当該第1共用情報に対応する固有の識別情報を生成する識別情報生成手段と、
    前記生成された第1識別情報に基づいて、前記第1共用情報の管理元であるノード装置を特定するノード装置特定手段と、
    前記特定されたノード装置から前記第1共用情報に対応する更新情報を取得する更新情報取得手段と、
    前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている第1共用情報を第2共用情報に更新する共用情報更新手段と、
    を備えることを特徴とするノード装置。
  2. 請求項1に記載のノード装置において、
    前記共用情報更新手段は、前記取得された更新情報に基づいて、前記第1共用情報の管理元であるノード装置において前記第1共用情報が更新されているか否かを判別し、更新されている場合に、前記共用情報報記憶手段に記憶されている第1共用情報を第2共用情報に更新することを特徴とするノード装置。
  3. 請求項2に記載のノード装置において、
    前記第1共用情報が第2共用情報に更新された場合には、前記識別情報生成手段は、当該第2共用情報に基づいて、当該第2共用情報に対応する固有の第2識別情報を生成し、
    前記ノード装置特定手段は、前記生成された第2識別情報に基づいて、前記第2共用情報の管理元であるノード装置を特定し、
    前記更新情報取得手段は、前記特定されたノード装置から前記第2共用情報に対応する更新情報を取得し、
    前記共用情報更新手段は、前記取得された更新情報に基づいて、前記第2共用情報の管理元であるノード装置において前記第2共用情報が更新されているか否かを判別し、更新されている場合に、前記共用情報記憶手段に記憶された第2共用情報を第3共用情報に更新することを特徴とするノード装置。
  4. 請求項1乃至3の何れか一項に記載のノード装置において、
    前記更新情報は、前記第1共用情報の管理元であるノード装置において更新された第2共用情報であることを特徴とするノード装置。
  5. 請求項1乃至3の何れか一項に記載のノード装置において、
    前記更新情報は、前記第1共用情報の管理元であるノード装置において更新された第1共用情報の更新部分に係る部分情報であることを特徴とするノード装置。
  6. ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置であって、
    前記複数のノード装置において共通に使用されるべき共用情報を記憶する共用情報記憶手段と、
    前記共用情報が更新された場合に、更新前の前記共用情報に基づいて、当該共用情報に対応する固有の識別情報を生成する識別情報生成手段と、
    前記生成された識別情報に基づいて、前記共用情報の管理元であるノード装置を特定するノード装置特定手段と、
    前記特定されたノード装置に対して更新前の前記共用情報に対応する更新情報を保存させる共用情報保存手段と、を備えることを特徴とするノード装置。
  7. 請求項6に記載のノード装置において、
    前記更新情報は、更新後の共用情報であることを特徴とするノード装置。
  8. 請求項6に記載のノード装置において、
    前記更新情報は、更新前の共用情報の更新部分に係る部分情報であることを特徴とするノード装置。
  9. 請求項1乃至8の何れか一項に記載のノード装置において、
    前記識別情報生成手段は、前記共用情報を所定のハッシュ関数にかけてハッシュ値である前記識別情報を生成することを特徴とするノード装置。
  10. 請求項1乃至9の何れか一項に記載のノード装置において、
    前記ノード装置特定手段は、前記識別情報を、前記複数のノード装置のうち何れかのノード装置に送信し、前記複数のノード装置のうち何れかのノード装置から返信されてきた、前記管理元であるノード装置を示す情報に基づき当該ノード装置を特定することを特徴とするノード装置。
  11. 請求項1乃至10の何れか一項に記載のノード装置において、
    1の前記ノード装置から他のノード装置に配信されるべき配信情報が前記複数のノード装置に分散して保存されており、
    前記共用情報は、前記分散して保存された配信情報に関する情報が記述されたリスト情報であることを特徴とするノード装置。
  12. ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置における共用情報更新方法であって、
    前記複数のノード装置において共通に使用されるべき第1共用情報に基づいて、当該第1共用情報に対応する固有の識別情報を生成する工程と、
    前記生成された第1識別情報に基づいて、前記第1共用情報の管理元であるノード装置を特定する工程と、
    前記特定されたノード装置から前記第1共用情報に対応する更新情報を取得する工程と、
    前記取得された更新情報に基づいて、前記第1共用情報を第2共用情報に更新する工程と、
    を備えることを特徴とする共用情報更新方法。
  13. ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置における共用情報保存方法であって、
    前記複数のノード装置において共通に使用されるべき共用情報が更新された場合に、更新前の前記共用情報に基づいて、当該共用情報に対応する固有の識別情報を生成する工程と、
    前記生成された識別情報に基づいて、前記共用情報の管理元であるノード装置を特定する工程と、
    前記特定されたノード装置に対して更新前の前記共用情報に対応する更新情報を保存させる工程と、
    を備えることを特徴とする共用情報保存方法。
  14. ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置に含まれるコンピュータを、
    前記複数のノード装置において共通に使用されるべき第1共用情報を記憶する共用情報報記憶手段、
    前記第1共用情報に基づいて、当該第1共用情報に対応する固有の識別情報を生成する識別情報生成手段、
    前記生成された第1識別情報に基づいて、前記第1共用情報の管理元であるノード装置を特定するノード装置特定手段、
    前記特定されたノード装置から前記第1共用情報に対応する更新情報を取得する更新情報取得手段、及び、
    前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている第1共用情報を第2共用情報に更新する共用情報更新手段として機能させることを特徴とする共用情報更新処理プログラム。
  15. ネットワークを介して互いに接続された複数のノード装置を備えた情報配信システムにおける前記ノード装置に含まれるコンピュータを、
    前記複数のノード装置において共通に使用されるべき共用情報を記憶する共用情報記憶手段、
    前記共用情報が更新された場合に、更新前の前記共用情報に基づいて、当該共用情報に対応する固有の識別情報を生成する識別情報生成手段、
    前記生成された識別情報に基づいて、前記共用情報の管理元であるノード装置を特定するノード装置特定手段、及び、
    前記特定されたノード装置に対して更新前の前記共用情報に対応する更新情報を保存させる共用情報保存手段として機能させることを特徴とする共用情報保存処理プログラム。
  16. 請求項14に記載の共用情報更新処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
  17. 請求項15に記載の共用情報保存処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
  18. ネットワークを介して互いに接続された複数のノード装置を備え、前記複数のノード装置には、当該複数のノード装置において共通に使用されるべき共用情報であって各更新段階にある互いに異なる複数の共用情報の夫々の管理元であるノード装置が含まれる情報配信システムにおける何れかの1の前記ノード装置であって、
    何れかの前記更新段階にある共用情報を記憶する共用情報報記憶手段と、
    前記共用情報報記憶手段に記憶されている共用情報の管理元であるノード装置を特定する特定処理を行うノード装置特定手段と、
    前記特定されたノード装置から前記共用情報報記憶手段に記憶されている共用情報に対応する更新情報を取得する取得処理を行う更新情報取得手段と、
    前記取得された更新情報に基づいて、前記共用情報記憶手段に記憶されている共用情報を更新する更新処理を行う共用情報更新手段と、
    を備えることを特徴とするノード装置。
  19. 請求項18に記載のノード装置において、
    前記共用情報記憶手段に記憶されている共用情報が最新の状態になるまで、前記ノード装置特定手段による前記特定処理、前記更新情報取得手段による前記取得処理、及び前記共用情報更新手段による前記更新処理が繰り返し行われることを特徴とするノード装置。
JP2004285895A 2004-09-30 2004-09-30 ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム Expired - Fee Related JP4561283B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004285895A JP4561283B2 (ja) 2004-09-30 2004-09-30 ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム
PCT/JP2005/016740 WO2006038433A1 (ja) 2004-09-30 2005-09-12 ノード装置、共用情報更新方法、共用情報保存方法、プログラム
EP20050782392 EP1811402B1 (en) 2004-09-30 2005-09-12 Node device, common information update method, common information storage method, and program
CN2005800330674A CN101031918B (zh) 2004-09-30 2005-09-12 节点设备、共享信息更新方法、共享信息存储方法以及程序
US11/727,832 US20070195796A1 (en) 2004-09-30 2007-03-28 Node apparatus, shared information updating method, shared information storing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004285895A JP4561283B2 (ja) 2004-09-30 2004-09-30 ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム

Publications (2)

Publication Number Publication Date
JP2006099503A true JP2006099503A (ja) 2006-04-13
JP4561283B2 JP4561283B2 (ja) 2010-10-13

Family

ID=36142514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004285895A Expired - Fee Related JP4561283B2 (ja) 2004-09-30 2004-09-30 ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム

Country Status (5)

Country Link
US (1) US20070195796A1 (ja)
EP (1) EP1811402B1 (ja)
JP (1) JP4561283B2 (ja)
CN (1) CN101031918B (ja)
WO (1) WO2006038433A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334638A (ja) * 2006-06-15 2007-12-27 Kddi Corp データ管理装置
WO2008041421A1 (fr) * 2006-09-29 2008-04-10 Brother Kogyo Kabushiki Kaisha Système et procédé de distribution de contenu, terminal dans le système et support d'enregistrement contenant son programme
JP2008192074A (ja) * 2007-02-07 2008-08-21 Canon Inc 識別子管理装置及びその制御方法
CN101061946B (zh) * 2006-04-26 2011-02-16 霍夫曼-拉罗奇有限公司 操纵和管理手持医疗装置的智能基座单元的设备和方法
KR101232601B1 (ko) 2009-12-18 2013-02-12 한국전자통신연구원 통합 노드 시스템의 통신 노드 및 그 통신 방법
JP2013541086A (ja) * 2010-09-13 2013-11-07 マーベル ワールド トレード リミテッド 分散型メタデータキャッシュ

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4017161B2 (ja) * 2004-01-22 2007-12-05 日本アイ・ビー・エム株式会社 区間特定システム、配電系統モニタリングシステム、その方法及びプログラム
US20080276091A1 (en) * 2007-05-04 2008-11-06 Annikki Welin Mobile Device File Sharing Method and Apparatus
EP2169559A4 (en) * 2007-06-22 2011-11-09 Pioneer Corp CONTENT DISTRIBUTION DEVICE, CONTENT DISTRIBUTION METHOD, AND CONTENT DISTRIBUTION PROGRAM
US7979419B2 (en) * 2007-11-01 2011-07-12 Sharp Laboratories Of America, Inc. Distributed search methods for time-shifted and live peer-to-peer video streaming
KR101559580B1 (ko) * 2008-03-06 2015-10-12 삼성전자주식회사 공간 다중화 시스템에서 단일 입력 다중 출력 모드 또는 협력적 공간 다중화 모드의 버스트를 프레임에 추가하는 방법
US8738801B2 (en) * 2009-07-14 2014-05-27 Qualcomm Incorporated Methods and apparatus for updating index information while adding and updating documents in a distributed network
EP2457975B1 (en) * 2010-11-29 2014-06-25 Merck Patent GmbH Liquid-crystalline mixtures
CN102360299B (zh) * 2011-09-30 2015-08-26 奇智软件(北京)有限公司 软件系统重装方法、服务器以及客户端
JP5863615B2 (ja) * 2012-09-28 2016-02-16 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー 画像表示システム及び画像表示装置
CN103578073A (zh) * 2013-11-25 2014-02-12 方正国际软件有限公司 信息引用装置和信息引用方法
CN104391654B (zh) * 2014-11-06 2018-02-06 浪潮(北京)电子信息产业有限公司 一种共享磁盘管理方法及系统
CN104579765B (zh) * 2014-12-27 2019-02-26 北京奇虎科技有限公司 一种集群系统的容灾方法和装置
CN104778222B (zh) * 2015-03-23 2017-12-05 四川长虹电器股份有限公司 基于usb存储设备的媒体库建立及更新方法
WO2017002789A1 (ja) * 2015-07-02 2017-01-05 Dic株式会社 液晶組成物及びこれを用いた液晶表示素子
WO2017072887A1 (ja) * 2015-10-28 2017-05-04 富士機械製造株式会社 ユニット固有情報管理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044727A1 (en) * 2002-08-30 2004-03-04 Abdelaziz Mohamed M. Decentralized peer-to-peer advertisement
WO2004027581A2 (en) * 2002-09-18 2004-04-01 Skyris Networks, Inc. Systems, methods and programming for routing and indexing globally addressable objects and associated business models
JP2004258994A (ja) * 2003-02-26 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> P2pネットワークにおける動的なファイル検索方法、端末、プログラム、および記録媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044727A1 (en) * 2002-08-30 2004-03-04 Abdelaziz Mohamed M. Decentralized peer-to-peer advertisement
WO2004027581A2 (en) * 2002-09-18 2004-04-01 Skyris Networks, Inc. Systems, methods and programming for routing and indexing globally addressable objects and associated business models
JP2004258994A (ja) * 2003-02-26 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> P2pネットワークにおける動的なファイル検索方法、端末、プログラム、および記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061946B (zh) * 2006-04-26 2011-02-16 霍夫曼-拉罗奇有限公司 操纵和管理手持医疗装置的智能基座单元的设备和方法
JP2007334638A (ja) * 2006-06-15 2007-12-27 Kddi Corp データ管理装置
WO2008041421A1 (fr) * 2006-09-29 2008-04-10 Brother Kogyo Kabushiki Kaisha Système et procédé de distribution de contenu, terminal dans le système et support d'enregistrement contenant son programme
JP2008092235A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
US7894471B2 (en) 2006-09-29 2011-02-22 Brother Kogyo Kabushiki Kaisha Content distribution system, content distribution method, terminal apparatus in content distribution system, and recording medium on which program is recorded
JP4640307B2 (ja) * 2006-09-29 2011-03-02 ブラザー工業株式会社 コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP2008192074A (ja) * 2007-02-07 2008-08-21 Canon Inc 識別子管理装置及びその制御方法
KR101232601B1 (ko) 2009-12-18 2013-02-12 한국전자통신연구원 통합 노드 시스템의 통신 노드 및 그 통신 방법
JP2013541086A (ja) * 2010-09-13 2013-11-07 マーベル ワールド トレード リミテッド 分散型メタデータキャッシュ

Also Published As

Publication number Publication date
US20070195796A1 (en) 2007-08-23
EP1811402A4 (en) 2010-07-14
EP1811402A1 (en) 2007-07-25
EP1811402B1 (en) 2013-05-01
JP4561283B2 (ja) 2010-10-13
WO2006038433A1 (ja) 2006-04-13
CN101031918B (zh) 2010-05-26
CN101031918A (zh) 2007-09-05

Similar Documents

Publication Publication Date Title
JP4561283B2 (ja) ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム
JP4418897B2 (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
JP4599581B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
JP4862463B2 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP2007280303A (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP4696498B2 (ja) 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
JP4655986B2 (ja) ノード装置、記憶制御プログラム及び情報記憶方法
JP2006195744A (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
US8244688B2 (en) Managing apparatus, recording medium in which managing program is recorded, and expiration date determining method
JP5136208B2 (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP5375272B2 (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP5458629B2 (ja) ノード装置、ノード処理プログラム及び検索方法
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2010108082A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP4674504B2 (ja) 管理装置、ノード装置、コンテンツ情報管理処理プログラム、確認要求処理プログラム、情報配信システム、及び情報配信方法
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP4983183B2 (ja) ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
JP5240009B2 (ja) コンテンツ分散保存システム、Webページ生成方法、サーバ装置、及びサーバ処理プログラム
JP2010238160A (ja) ノード装置、ノード処理プログラム及びコンテンツデータ保存方法
JP5278151B2 (ja) 分散保存システム、ノード装置、ノードプログラム、及びページ情報取得方法
JP5278152B2 (ja) 管理装置、ノード装置、ノードプログラム、ページ情報送信プログラム、及びページ情報送信方法
JP2009187056A (ja) コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
JP2010102573A (ja) ノード装置、ノード処理プログラム及びデータファイル改変方法
JP2010067072A (ja) 保存指示装置、ノード装置、及び保存指示処理プログラム、ノード処理プログラム及び保存指示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070622

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: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100706

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100719

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees