JP2008129694A - 情報配信システム、情報配信方法、配信装置及びノード装置等 - Google Patents

情報配信システム、情報配信方法、配信装置及びノード装置等 Download PDF

Info

Publication number
JP2008129694A
JP2008129694A JP2006311477A JP2006311477A JP2008129694A JP 2008129694 A JP2008129694 A JP 2008129694A JP 2006311477 A JP2006311477 A JP 2006311477A JP 2006311477 A JP2006311477 A JP 2006311477A JP 2008129694 A JP2008129694 A JP 2008129694A
Authority
JP
Japan
Prior art keywords
node
distribution
new content
information
node devices
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.)
Pending
Application number
JP2006311477A
Other languages
English (en)
Inventor
Atsushi Murakami
厚 村神
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 JP2006311477A priority Critical patent/JP2008129694A/ja
Priority to US11/979,611 priority patent/US20080120359A1/en
Publication of JP2008129694A publication Critical patent/JP2008129694A/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage 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/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • 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/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】新規コンテンツカタログ情報が配布された場合であっても、アクセスの集中による装置負荷及びネットワーク負荷を抑えること等が可能な情報配信システム、情報配信方法、配信装置及びノード装置等を提供する。
【解決手段】本発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置を備えた情報配信システムにおいて、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置であって、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備える。
【選択図】図13

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型のコンテンツ配信システムに関し、特に、複数のコンテンツデータが複数のノード装置に分散して保存されたコンテンツ配信システム等の技術分野に関する。
この種のコンテンツ配信システムにおいては、コンテンツデータを複数のノード装置に分散配置(分散保存)させておくシステムが知られており、これにより、対故障性やアクセスの分散性を高められている。このように分散保存されたコンテンツデータの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。当該DHTは、各ノード装置に記憶されており、当該DHTには、各種メッセージの転送先となるべき複数のノード装置を示すノード情報(例えば、IPアドレス及びポート番号を含む)が登録されている。
そして、各ノード装置は、分散保存されているコンテンツデータの属性情報(例えば、コンテンツ名、ジャンル、アーティスト名等)が記述されたコンテンツカタログ情報を有しており、当該コンテンツカタログ情報に記述された属性情報に基づき、所望のコンテンツデータの所在を検索(発見)するためのメッセージ(クエリ)を他のノード装置に送出することにより、当該メッセージは、上記DHTにしたがって、複数の中継のノード装置により当該コンテンツデータの所在の管理元のノード装置に向かって転送され、最終的に当該メッセージが辿り着く上記管理元のノード装置からノード情報を取得することになる。これにより、当該メッセージを送出したノード装置は、上記検索に係るコンテンツデータを保存しているノード装置に対して、当該コンテンツデータを要求し、当該コンテンツデータの提供を受けることができる。
ところで、上記システム内に新たなコンテンツデータが投入、保存された場合、そのコンテンツデータの属性情報が記述された新規コンテンツカタログ情報は、全てのノード装置に配布される必要がある。
特開2006−197400号公報
しかしながら、新規コンテンツカタログ情報が一時期に全てのノード装置に配布されると、多くのノード装置が、新規コンテンツカタログ情報に属性情報が記述されている新規コンテンツデータを取得(ダウンロード)するために、上記メッセージ(クエリ)が当該新規コンテンツデータの所在の管理元のノード装置に対して集中し、更には、新規コンテンツデータの要求(リクエスト)がこれを保存しているノード装置に集中し、装置負荷及びネットワーク負荷が増大することが懸念され、これによる待ち時間の発生はユーザの不満を生じさせる結果となる。特に、新規コンテンツカタログ情報が配布された当初は、そこに記述されている新規コンテンツデータが投入されたばかりであり、これを取得して保存しているノード装置の数が少なく、多くのノード装置からの要求に耐えうる保存数に達していない状況にあると考えられる。
本発明は、以上の点に鑑みてなされたものであり、新規コンテンツカタログ情報が配布された場合であっても、アクセスの集中による装置負荷及びネットワーク負荷を抑えること等が可能な情報配信システム、情報配信方法、配信装置及びノード装置等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置を備えた情報配信システムにおいて、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置であって、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備えることを特徴とする。
この発明によれば、グループ分け条件に応じて分けられるグループ毎に異なるタイミングで(タイミングをずらして)、夫々のグループに属するノード装置に対して新規コンテンツカタログ情報を配信するように構成したので、装置へのアクセスの集中による装置負荷及びネットワーク負荷を極力抑えることができ、ユーザによる待ち時間を少なくさせることができる。
請求項2に記載の発明は、請求項1に記載の配信装置において、前記配信手段は、前記新規コンテンツカタログ情報の配信対象となるグループに対応するグループ分け条件を示す条件情報を、前記新規コンテンツカタログ情報に付加して配信することを特徴とする。
この発明によれば、端末装置が受信した新規コンテンツカタログ情報の配信対象となるグループに属するか否かを判別することができ、グループに属する場合には、新規コンテンツカタログ情報を利用可能に保存することができる。
請求項3に記載の発明は、請求項1又は2に記載の配信装置において、前記夫々のノード装置には、夫々に固有の識別情報であって一定桁数からなるノード識別情報が割り当てられ、前記複数のノード装置は、前記ノード識別情報における所定桁目の値に応じて前記複数のグループに分けられ、前記配信手段は、前記所定桁目の値に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、ノード識別情報における所定桁目の値に応じて分けられた夫々のグループ毎に異なるタイミングで(タイミングをずらして)新規コンテンツカタログ情報を配信することができる。また、ノード識別情報における所定桁目の値に応じてグループ分けすることで効率良くグループ分けができる。
請求項4に記載の発明は、請求項1又は2に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置の設置地域に応じて前記複数のグループに分けられ、前記配信手段は、前記設置地域に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、夫々のノード装置の設置地域に応じて分けられた夫々のグループ毎に異なるタイミングで(タイミングをずらして)新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置の設置地域に応じてグループ分けすることで効率良くグループ分けができる。
請求項5に記載の発明は、請求項1又は2に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置の前記ネットワークへの接続サービス提供者に応じて前記複数のグループに分けられ、前記配信手段は、前記接続サービス提供者に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、夫々のノード装置のネットワークへの接続サービス提供者に応じて分けられた夫々のグループ毎に異なるタイミングで(タイミングをずらして)新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置のネットワークへの接続サービス提供者に応じてグループ分けすることで効率良くグループ分けができる。
請求項6に記載の発明は、請求項1又は2に記載の配信装置において、前記複数のノード装置は、前記配信装置から前記夫々のノード装置までのホップ数に応じて前記複数のグループに分けられ、前記配信手段は、前記ホップ数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、夫々のノード装置までのホップ数に応じて分けられた夫々のグループ毎に異なるタイミングで(タイミングをずらして)新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置までのホップ数に応じてグループ分けすることで効率良くグループ分けができる。
請求項7に記載の発明は、請求項1又は2に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、前記配信手段は、前記再生時間又は再生回数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、コンテンツデータの再生時間又は再生回数に応じて分けられた夫々のグループ毎に異なるタイミングで(タイミングをずらして)新規コンテンツカタログ情報を配信することができる。また、コンテンツデータの再生時間又は再生回数に応じてグループ分けすることで効率良くグループ分けができる。
請求項8に記載の発明は、請求項7に記載の配信装置において、前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、新規コンテンツカタログ情報を利用する可能性が高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
請求項9に記載の発明は、請求項7又は8に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、新規コンテンツカタログ情報を利用する可能性がより一層高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
請求項10に記載の発明は、請求項1又は2に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、前記配信手段は、前記通電時間に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、夫々のノード装置における通電時間に応じて分けられた夫々のグループ毎に異なるタイミングで(タイミングをずらして)新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置における通電時間に応じてグループ分けすることで効率良くグループ分けができる。
請求項11に記載の発明は、請求項10に記載の配信装置において、前記配信手段は、前記通電時間が最も長い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、新規コンテンツカタログ情報を利用する可能性が高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
請求項12に記載の発明は、請求項1又は2に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、且つ、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、新規コンテンツカタログ情報を利用する可能性がより一層高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
請求項13に記載の発明は、請求項12に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、新規コンテンツカタログ情報を利用する可能性がより一層高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
請求項14に記載の発明は、請求項1乃至13の何れか一項に記載の配信装置において、前記配信手段は、一の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信してから予め設定された時間経過後、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、新規コンテンツカタログ情報のグループ毎の配信間隔をより効率良く設定することができる。
請求項15に記載の発明は、請求項1乃至14の何れか一項に記載の配信装置において、一の前記グループに属するノード装置に対する前記新規コンテンツカタログ情報の配信後、前記ノード装置による前記新規コンテンツデータを取得するための要求の数を示す要求数情報を取得する取得手段を更に備え、前記配信手段は、前記要求数情報に示される要求の数が、予め設定された基準数以上となった場合に、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
この発明によれば、新規コンテンツカタログ情報のグループ毎の配信間隔を、上記要求数に応じてより効率良く設定することができる。
請求項16に記載の配信処理プログラムの発明は、コンピュータを、請求項1乃至15に記載の配信装置として機能させることを特徴とする。
請求項17に記載の発明は、請求項2乃至15に記載の配信装置から配信されてきた前記新規コンテンツカタログ情報を受信するノード装置であって、前記受信された新規コンテンツカタログ情報に付加される条件情報に示される前記グループ分け条件を満たすか否かを判別する判別手段と、前記グループ分け条件を満たすと判別された場合には、前記受信された新規コンテンツカタログ情報を利用可能に保存する保存手段と、を備えることを特徴とする。
この発明によれば、各端末装置は、受信した新規コンテンツカタログ情報の配信対象となるグループに属するか否かを判別することができ、グループに属する場合には、新規コンテンツカタログ情報を利用可能に保存することができる。
請求項18に記載のノード処理プログラムの発明は、コンピュータを、請求項17に記載のノード装置として機能させることを特徴とする。
請求項19に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムであって、前記配信装置は、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備え、前記ノード装置は、前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信する受信手段を備えることを特徴とする。
請求項20に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムにおける情報配信方法であって、前記配信装置が、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶し、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信し、前記ノード装置が、前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信することを特徴とする。
本発明によれば、グループ分け条件に応じて分けられるグループ毎に異なるタイミングで(タイミングをずらして)、夫々のグループに属するノード装置に対して新規コンテンツカタログ情報を配信するように構成したので、装置へのアクセスの集中による装置負荷及びネットワーク負荷を極力抑えることができ、ユーザによる待ち時間を少なくさせることができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、DHT(Distributed Hash Table)を利用したコンテンツ配信システムに本発明を適用した場合の実施形態である。
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が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、メッセージ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
コンテンツ配信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置(以下、「ノード」という)A,B,C・・・X,Y,Z・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノードA,B,C・・・X,Y,Z・・・には、固有の製造番号及び宛先情報としてのIP(Internet Protocol)アドレスが割り当てられている。このような製造番号およびIPアドレスは、複数のノード間で重複しないものである。
次に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」という)を利用したアルゴリズムについて説明する。
上述したコンテンツ配信システムSにおいて、当該ノード同士が、互いに情報をやり取りする際には、お互いのIPアドレス等を知っていなければならない。
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各ノードが互いにネットワーク8に参加している全てのノードのIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノードのIPアドレスを覚えておくのは現実的ではない。また、任意のノードの電源がON或いはOFFとすると、各ノードにて記憶している当該任意のノードのIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台のノードでは、ネットワーク8に参加している全てのノードのうち、必要最低限のノードのIPアドレスだけを覚えて(記憶して)おいて、IPアドレスを知らない(記憶していない)ノードについては、各ノード間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9上に配置されたノードを、オーバーレイネットワーク9に参加しているノードという。なお、オーバーレイネットワーク9への参加は、未だ参加していないノードが、既に参加している任意のノード(例えば、オーバーレイネットワーク9に常時参加しているコンタクトノード)に対して参加要求を送ることによって行われる。
また、各ノードは、固有のノード識別情報としてのノードIDを有しており、当該ノードIDは、例えば、IPアドレスあるいは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化して得た一定桁数からなるハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このノードIDは、ノードの最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128=340×10^36台のノードを運用できる。
このように共通のハッシュ関数により求められたノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
1.1 DHTのルーティングテーブルの作成手法
次に、図2及び図3を参照して、DHTの内容であるルーティングテーブルの作成手法の一例について説明する。
図2は、ルーティングテーブルが作成される様子の一例を示す図であり、図3は、ルーティングテーブルの一例を示す図である。
各ノードに付与されたノードIDは、共通のハッシュ関数によって生成したため、図2(A)乃至図2(C)に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は8bitでノードIDを付与し、図示したものである。図中黒点はノードIDを示し、反時計回りでIDが増加するものとする。
先ず、図2(A)に示す如く、ID空間が、所定の規則に従って幾つかのエリアに分割される(分けられる)。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8Bitの4進数で表すこととした。そして、ノードNのノードIDを「1023」とし、このノードNのルーティングテーブルを作る例について説明する。
(レベル1のルーティング)
ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」、「1XXX」、「2XXX」、「3XXX」(Xは0から3の整数、以下同様。)で分けられる。ノードNは、当該ノードN自身のノードIDが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。
そして、ノードNは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリアに存在する各ノードを代表のノードとして任意に選択し、当該ノードIDのIPアドレス等(実際には、ポート番号も含まれる、以下同様)をレベル1のテーブルにおける各欄(テーブルエントリー)に登録(記憶)する。図3(A)がレベル1のテーブルの一例である。なお、レベル1のテーブルにおける2列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無い。
(レベル2のルーティング)
次に、図2(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、4つのエリア「10XX」、「11XX」、「12XX」、「13XX」に分ける。
そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを代表のノードとして任意に選択し、当該ノードIDのIPアドレス等をレベル2のテーブルにおける各欄(テーブルエントリー)に登録する。図3(B)がレベル2のテーブルの一例である。なお、レベル2のテーブルにおける1列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無い。
(レベル3のルーティング)
更に、図2(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、4つのエリア「100X」、「101X」、「102X」、「103X」に分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを代表のノードとして任意に選択し、当該ノードIDのIPアドレス等をレベル3のテーブルにおける各欄(テーブルエントリー)に登録する。図3(C)がレベル3のテーブルの一例である。なお、レベル3のテーブルにおける3列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無く、2列目及び4列目の欄はそのエリアにノードが存在しないため空白となる。
このようにして、レベル4まで同様にルーティングテーブルが図3(D)に示す如く作成されることにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法(規則)に従って作成したルーティングテーブルを、全てのノードが夫々作成して所有することになる(かかるルーティングテーブルの作成は、例えば、未参加のノードがオーバーレイネットワーク9に参加する際に行われるが、本発明とは直接の関係がないので詳しい説明を省略する)。
つまり、各ノードは、複数に分けられた各エリアに属する一のノードのIPアドレス等を、夫々のエリアに対応付けて一の段階(レベル)として規定し、さらに自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属する一のノードのIPアドレス等を、夫々のエリアに対応付けて次の段階(レベル)として規定するルーティングテーブルを記憶している。
なお、ノードIDの桁数に応じてレベルの数が決まり、進数の数に応じて図3(D)における各レベルの注目桁の数が決まる。具体的に、16桁16進数である場合には、64bitのIDとなり、レベル16で注目桁の(英)数字は0〜Fとなる。後述するルーティングテーブルの説明においては、各レベルの注目桁の数を示す部分を単に「列」ともいう。
1.2 コンテンツデータの保存及び発見方法
次に、コンテンツ配信システムSにおいて取得可能なコンテンツデータの保存及び発見方法について説明する。
オーバーレイネットワーク9においては、様々なコンテンツ(例えば、映画や音楽等)データが複数のノードに分散して保存(格納)されている(言い換えれば、コンテンツデータが複製されその複製情報であるレプリカが分散保存されている)。
例えば、ノードA及びノードDには、タイトルがXXXの映画のコンテンツデータが保存されており、一方、ノードB及びノードCには、タイトルがYYYの映画のコンテンツデータが保存されるというように、複数のノード(以下、「コンテンツ保持ノード」という)に分散されて保存される。
また、これらのコンテンツデータには、夫々、コンテンツ名(タイトル)及びコンテンツID(コンテンツ毎に固有のコンテンツ識別情報)等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、当該コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム運営者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、後述するコンテンツカタログ情報に、コンテンツ名とそのコンテンツIDの対応が書かれた状態で、各ノードに配布される。
また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードのIPアドレス等と、当該コンテンツデータに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツデータの所在の管理元のノード(以下、「ルートノード」、又は「コンテンツ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。
例えば、タイトルがXXXの映画のコンテンツデータのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードMにより管理され、タイトルがYYYの映画のコンテンツデータのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードOにより管理される。
つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータ(コンテンツIDが同一)が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータのインデックス情報は、1つのルートノードで管理することができる。また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードであるように定められる。
このようにしてコンテンツデータを保存したノード(コンテンツ保持ノード)は、当該コンテンツデータを保存したことをそのルートノードに知らせるために、そのコンテンツデータのコンテンツID及び自己のIPアドレス等が含まれるパブリッシュ(登録通知)メッセージ(コンテンツデータを保存したので、IPアドレス等の登録の要求を示す登録メッセージ)を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出する。これにより、パブリッシュメッセージは、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。
図4は、コンテンツ保持ノードから送出されたパブリッシュメッセージの流れの一例をDHTのノードID空間にて示した概念図である。
図4の例において、例えば、コンテンツ保持ノードであるノードAは、自己のDHTのレベル1のテーブルを参照して、パブリッシュメッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードHのIPアドレス等を取得し、そのIPアドレス等宛てに、上記パブリッシュメッセージを送信する。
これに対して、ノードHは、当該パブリッシュメッセージを受信し、自己のDHTのレベル2のテーブルを参照して、当該パブリッシュメッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードIのIPアドレス等を取得し、そのIPアドレス等宛てに、上記パブリッシュメッセージを転送する。
これに対して、ノードIは、当該パブリッシュメッセージを受信し、自己のDHTのレベル3のテーブルを参照して、当該パブリッシュメッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードMの転送先ノード情報に含まれるIPアドレス等を取得し、そのIPアドレス等宛てに、上記パブリッシュメッセージを転送する。
これに対して、ノードMは、パブリッシュメッセージを受信し、自己のDHTのレベル4のテーブルを参照して、当該パブリッシュメッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDが自分である、つまり、自分がそのコンテンツIDのルートノードであることを認識し、当該パブリッシュメッセージに含まれるIPアドレス等及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュ領域に記憶)することになる。
なお、パブリッシュメッセージに含まれるIPアドレス等及びコンテンツIDの組を含むインデックス情報は、コンテンツ保持ノードからルートノードに至るまでの転送経路におけるノード(以下、「中継ノード」という。図4の例では、ノードH、及びノードI)においても登録(キャッシュ)される(このように、インデックス情報をキャッシュする中継ノードをキャッシュノードという)。
そして、あるノードのユーザが、所望するコンテンツデータを取得したい場合、当該コンテンツデータの取得を望むノード(以下、「ユーザノード」という)は、当該ユーザによりコンテンツカタログ情報から選択されたコンテンツデータのコンテンツIDを含むコンテンツ所在問合せメッセージを、自己のDHTのルーティングテーブルにしたがって他のノードに対して送出する。これにより、当該コンテンツ所在問合せメッセージは、上述したパブリッシュメッセージと同様に、コンテンツIDをキーとするDHTルーティングによって、いくつかの中継ノードを経由(転送)されて、そのコンテンツIDのルートノードに辿り着く。そして、上記ユーザノードは、当該ルートノードから、上述したそのコンテンツデータのインデックス情報を取得(受信)し、当該IPアドレス等に基づいて上記コンテンツデータを保存しているコンテンツ保持ノードに接続し、そこから当該コンテンツデータを取得(ダウンロード)することが可能になる。なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード(キャッシュノード)から当該IPアドレス等を取得(受信)することもできる。
1.3 コンテンツカタログ情報の内容
次に、コンテンツカタログ情報の内容等について説明する。
コンテンツカタログ情報(コンテンツリストともいう)には、コンテンツ配信システムSにおいて各ノードが取得可能なコンテンツデータの属性情報が、夫々のコンテンツIDに対応付けられて記述(登録ともいう)されている。
この属性情報としては、例えば、コンテンツ名(コンテンツが映画の場合、映画タイトル、コンテンツが楽曲の場合、楽曲タイトル、コンテンツが放送番組の場合、番組タイトル)、種別の一例としてのジャンル(コンテンツが映画の場合、アニメ、アクション、ホラー、コメディ、ラブストーリー等、コンテンツが音楽の場合、ロック、ジャズ、ポップス、クラシック等、コンテンツが放送番組の場合、ドラマ、スポーツ、ニュース、映画、音楽、アニメ、バラエティ等)、アーティスト名(コンテンツが音楽の場合の歌手、グループ等)、出演者(コンテンツが映画や放送番組の場合のキャスト)、監督名(コンテンツが映画の場合)等が挙げられる。
このような属性情報は、ユーザが所望のコンテンツデータを特定する場合の要素であり、多くのコンテンツデータの中から所望のコンテンツデータを検索するための検索条件としての検索キーワードとしても利用される。
例えば、ユーザが検索キーワードとして「ジャズ」を入力すると、属性情報に「ジャズ」に該当する全てのコンテンツデータが検索され、検索されたコンテンツデータの属性情報(例えば、コンテンツ名、ジャンル等)がユーザに選択可能に提示されることになる。
図5は、ノードにおけるミュージックカタログの表示形態遷移の一例を示す概念図である。このようなミュージックカタログ(映画カタログであっても良い)に対して、上述したコンテンツカタログ情報が組み込まれることになる。図5(A)に示す例では、表示されたジャンル一覧の中から、検索キーワードとして例えばジャズが入力され検索されることにより、図5(B)に示すように、当該ジャズに該当するアーティスト名一覧が表示され、そのアーティスト名一覧の中から、検索キーワードとして例えばアーティスト「AABBC」が入力され検索されることにより、図5(C)に示すように、当該アーティストに該当する(例えば、当該アーティストにより歌われる、又は演奏される)楽曲タイトル一覧が表示される。そして、かかる楽曲タイトル一覧の中から、ユーザが入力部を介して所望の楽曲タイトルを選択すると、その楽曲データ(コンテンツデータの一例)のコンテンツIDが取得され、上述したように、コンテンツIDを含むコンテンツ所在問合せメッセージが、そのルートノード向かって送出されることになる。なお、当該コンテンツIDは、コンテンツカタログ情報に記述されなくとも良く、この場合、各ノードは、例えば属性情報に含まれるコンテンツ名+任意の数値を、上述したノードIDをハッシュ化した共通のハッシュ関数によりハッシュ化してコンテンツIDを生成するものであっても良い。
このようなコンテンツカタログ情報は、例えばシステム管理者等により管理されるノード(以下、「カタログ管理ノード」(配信装置の一例)という)、或いは、カタログ管理サーバ(配信装置の一例)により管理されるようになっている。
そして、新規コンテンツデータ(つまり、各ノードにより新たに取得可能となるべき新規コンテンツデータ)が、コンテンツ配信システムS上における、あるノードに投入(初めて保存)される際に、当該新規コンテンツデータの属性情報が登録された新規コンテンツカタログ情報が作成され、オーバーレイネットワーク9に参加している全てのノードに配信(配布)されることになる。なお、一旦投入されたコンテンツデータは、上述したように、コンテンツ保持ノードから取得、その複製が保存されていくことになる。
1.4 コンテンツカタログ情報の配信方法
新たに作成された新規コンテンツカタログ情報は、1又は複数のカタログ管理サーバにより、オーバーレイネットワーク9に参加している全てのノードに対して配信されるように構成しても良い(この場合、カタログ管理サーバが配信対象のノードのIPアドレス等を記憶している)が、上記DHTを利用したマルチキャスト(以下、「DHTマルチキャスト」という)によれば、オーバーレイネットワーク9に参加している全てのノードに対してより効率良く新規コンテンツカタログ情報を配信することができる。
ここで、図6乃至図11を参照して、DHTマルチキャストによるコンテンツカタログ情報の配信方法について説明する。
図6は、カタログ管理ノードであるノードXが保持するルーティングテーブルの一例であり、図7は、カタログ配布メッセージを模式的に表した図であり、図8乃至図11は、DHTマルチキャストが行われる様子を示す図である。
なお、ノードXは、図6に示すようなルーティングテーブルを保持しているものとし、当該ルーティングテーブルのレベル1〜4の各エリアに対応する欄には、ノードA〜ノードIの何れかのノードのノードID(4桁4進数)及びIPアドレス等が記憶されているものとする。
カタログ配布メッセージは、図7(A)に示すように、ヘッダ部とペイロード部から構成されるパケットからなり、ヘッダ部には、ターゲットノードID、IDマスク、及びターゲットノードIDに対応するノードのIPアドレス等(図示せず)が含まれており、ペイロード部には、新規コンテンツカタログ情報等を有する主情報が含まれている。
ここで、ターゲットノードIDとIDマスクとの関係について詳しく説明する。
ターゲットノードIDは、ノードIDと同等の桁数であり(図6の例では、4桁4進数)、送信先ターゲットとなるノードを設定するものであり、IDマスクの値に応じて、例えば、カタログ配布メッセージの送信元又は転送元のノードのノードIDとしたり、送信先のノードのノードIDとする。
また、IDマスクは、ターゲットノードIDの有効桁数を指定するものであり、有効桁数により、ターゲットノードIDにおける上位から有効桁数分が共通するノードIDが示される。具体的には、IDマスク(IDマスクの値)は、0以上ノードIDの最大桁数以下の整数となり、例えば、ノードIDが4桁4進数の場合、0〜4までの整数となる。
例えば、図7(B)に示すように、ターゲットノードIDが「2132」であり、IDマスクの値が「4」の場合には、ターゲットノードIDの「4」桁全てが有効であり、ノードIDが「2132」であるノードのみがカタログ配布メッセージの送信先タッゲートとなる。
また、図7(C)に示すように、ターゲットノードIDが「3301」であり、IDマスクの値が「2」の場合には、ターゲットノードIDの上位「2」が有効であり(ノードIDが「33**」)上位二桁が「33」である(下位2桁はどのような値でも良い)ルーティングテーブル上の全てのノードがカタログ配布メッセージの送信先ターゲットとなる。
更に、図7(D)に示すように、ターゲットノードIDが「1220」であり、IDマスクの値が「0」の場合には、ターゲットノードIDの上位「0」桁が有効、すなわち、いずれの桁もどのような値であっても良く(そのため、このときのターゲットノードIDは、どのような値であってもよいことになる。)、ルーティングテーブル上の全てのノードがカタログ配布メッセージの送信先ターゲットとなる。
そして、ノードIDを4桁4進数とした場合、カタログ管理ノードであるノードXから送出されるカタログ配布メッセージのDHTマルチキャストは、図8乃至図11に示すように、第1段階から第4段階までのステップで行われる。
(第1段階)
先ず、ノードXは、ヘッダ部におけるターゲットノードIDを自己(自ノード)のノードID「3102」とし、IDマスクを「0」として、当該ヘッダ部及びペイロード部を含むカタログ配布メッセージを生成する。そして、図7(A)、(B)に示すように、ノードXは、図6に示すルーティングテーブルを参照し、IDマスク「0」に「1」を加算したレベル「1」のテーブルにおける各欄に登録された(つまり、各エリアに属する)代表のノード(ノードA,B,C)に対してカタログ配布メッセージを送信する。
(第2段階)
次に、ノードXは、上記カタログ配布メッセージのヘッダ部におけるIDマスク「0」を「1」に変換したカタログ配布メッセージを生成する。なお、ターゲットノードIDは自己のノードIDであるため、変更されない。そして、ノードXは、図6に示すルーティングテーブルを参照し、図9(A)のノードID空間の右上のエリア及び図9(B)に示すように、IDマスク「1」に「1」を加算したレベル「2」のテーブルにおける各欄に登録された各ノード(ノードD,E,F)に対して当該カタログ配布メッセージを送信する。
一方、第1段階において、ノードXからカタログ配布メッセージ(自己が属するエリアに対するカタログ配布メッセージ)を受信したノードAは、当該カタログ配布メッセージのヘッダ部におけるIDマスク「0」を「1」に変換し、且つ、ターゲットノードID「3102」を自己のノードID「0132」に変換したカタログ配布メッセージを生成する。
そして、ノードAは、図示しない自己のルーティングテーブルを参照し、図9(A)のノードID空間の左上のエリア及び図9(B)に示すように、IDマスク「1」に「1」を加算したレベル「2」のテーブルにおける各欄に登録された各ノード(ノードA1,A2,A3)に対して当該カタログ配布メッセージを送信する。
つまり、ノードAは、自己が属するエリア「0XXX」がさらに複数のエリア(「00XX」、「01XX」、「02XX」、「03XX」)に分けられている場合には、当該さらに分けられている各エリアに属する一の(代表の)ノード(ノードA1,A2,A3)を決定し、当該決定された全てのノード(ノードA1,A2,A3)に対して、上記受信したカタログ配布メッセージを送信する(以下、同様)。
同様にして、図9(A)のノードID空間の左下及び右下のエリア及び図9(B)に示すように、第1段階において、ノードXからカタログ配布メッセージを受信したノードB及びノードCも、夫々、自己のルーティングテーブルを参照し、レベル2のテーブルにおける各欄に登録された各ノード(ノードB1,B2,B3,C1,C2,C3)に対して、IDマスクを「1」とし、且つ、自己のノードIDをターゲットノードIDとしたカタログ配布メッセージを生成し、これを送信する。
(第3段階)
次に、ノードXは、上記カタログ配布メッセージのヘッダ部におけるIDマスク「1」を「2」に変換したカタログ配布メッセージを生成する。なお、上記と同様、ターゲットノードIDは変更されない。そして、ノードXは、図6に示すルーティングテーブルを参照し、図10(A)のノードID空間の右上のエリア及び図10(B)に示すように、IDマスク「2」に「1」を加算したレベル「3」のテーブルにおける各欄に登録された各ノード(ノードG,H)に対して当該カタログ配布メッセージを送信する。
一方、第2段階において、ノードXからカタログ配布メッセージを受信したノードDは、当該カタログ配布メッセージのヘッダ部におけるIDマスク「1」を「2」に変換し、且つ、ターゲットノードID「3102」を自己のノードID「3001」に変換したカタログ配布メッセージを生成する。そして、ノードDは、自己のルーティングテーブルを参照し、図10(B)に示すように、IDマスク「2」に「1」を加算したレベル「3」のテーブルにおける各欄に登録された各ノード(ノードD1,D2,D3)に対して当該カタログ配布メッセージを送信する。
同様にして、図示しないが、第2段階において、カタログ配布メッセージを受信したノードE,F,A1,A2,A3,B1,B2,B3,C1,C2,C3も、夫々、自己のルーティングテーブルを参照し、レベル3のテーブルにおける各欄に登録された各ノード(図示せず)に対して、IDマスクを「2」とし、且つ、自己のノードIDをターゲットノードIDとしたカタログ配布メッセージを生成し、これを送信する。
(第4段階)
次に、ノードXは、上記カタログ配布メッセージのヘッダ部におけるIDマスク「2」を「3」に変換したカタログ配布メッセージを生成する。なお、上記と同様、ターゲットノードIDは変更されない。そして、ノードXは、図6に示すルーティングテーブルを参照し、図11(A)のノードID空間の右上のエリア及び図11(B)に示すように、IDマスク「3」に「1」を加算したレベル「4」のテーブルにおける各欄に登録されたノードIに対して当該カタログ配布メッセージを送信する。
一方、第3段階において、ノードXからカタログ配布メッセージを受信したノードGは、当該カタログ配布メッセージのヘッダ部におけるIDマスク「2」を「3」に変換し、且つ、ターゲットノードID「3102」を自己のノードID「3123」に変換したカタログ配布メッセージを生成する。そして、ノードGは、自己のルーティングテーブルを参照し、図11(B)に示すように、IDマスク「3」に「1」を加算したレベル「4」のテーブルにおける各欄に登録されたノードG1に対して当該カタログ配布メッセージを送信する。
同様にして、図示しないが、第3段階において、カタログ配布メッセージを受信した各ノードも、自己のルーティングテーブルを参照し、レベル4のテーブルにおける各欄に登録された各ノードに対して、IDマスクを「3」とし、且つ、自己のノードIDをターゲットノードIDとしたカタログ配布メッセージを生成し、これを送信する。
(最終段階)
最後に、ノードXは、上記カタログ配布メッセージのヘッダ部におけるIDマスク「3」を「4」に変換したカタログ配布メッセージを生成する。そうすると、ターゲットノードIDとIDマスクから、当該カタログ配布メッセージが自己(自ノード)宛であることを認識し、送信処理を終了する。
一方、第4段階において、カタログ配布メッセージを受信した各ノードも、当該カタログ配布メッセージのヘッダ部におけるIDマスク「3」を「4」に変換したカタログ配布メッセージを生成する。そうすると、ターゲットノードIDとIDマスクから、当該カタログ配布メッセージが自己(自ノード)宛であることを認識し、送信処理を終了する。
以上のように、新規コンテンツカタログ情報は、カタログ管理ノードであるノードXから、DHTマルチキャストにより、オーバーレイネットワーク9に参加している全てのノードに配布され、各ノードは、コンテンツカタログ情報を保存することが可能となる。
1.5 コンテンツカタログ情報の時分割での配信
ところで、上述したように、新規コンテンツカタログ情報が一時期に全てのノードに配布されると、多くのノードが新規コンテンツカタログ情報に属性情報が登録されている新規コンテンツデータを取得(ダウンロード)するために、該新規コンテンツデータのインデックス情報の要求がそのルートノードに対して集中(つまり、新規コンテンツデータのコンテンツIDを含むコンテンツ所在問合せメッセージが集中)し、更には、新規コンテンツデータの要求がそのコンテンツ保持ノードに集中し、ノード負荷及びネットワーク負荷が増大することが懸念され、これによる待ち時間の発生はユーザの不満を生じさせる結果となる。特に、新規コンテンツカタログ情報が配布された当初は、そこに登録されている新規コンテンツデータが投入されたばかりであり、これを取得して保存しているノードの数が少なく、多くのノードからの要求に耐えうる保存数に達していない状況にあると考えられる。
そこで、本実施形態においては、所定のグループ分け条件に応じて(により)上記複数のノードを複数のグループに分け、グループ毎に異なるタイミングで(言い換えれば、グループ毎に時間をずらして)、夫々のグループに属するノードに対して新規コンテンツカタログ情報を配信するように構成した。
ここで、カタログ管理ノードからDHTマルチキャストにより新規コンテンツカタログ情報を配信する場合、上述したようにカタログ配布メッセージはオーバーレイネットワーク9に参加している全てのノードにより受信されるので、配信対象となる特定のグループに属するノードのみが当該新規コンテンツカタログ情報を利用可能とするために、新規コンテンツカタログ情報の配信対象となるグループに対応するグループ分け条件を示す条件情報を当該新規コンテンツカタログ情報に付加して上記カタログ配布メッセージを配信する。そして、新規コンテンツカタログ情報を受信した各ノードは、新規コンテンツカタログ情報に付加される条件情報に示されるグループ分け条件を満たすか否かを判別し、グループ分け条件を満たす場合には、受信された新規コンテンツカタログ情報を利用可能に保存し、該当しない場合には、当該新規コンテンツカタログ情報を破棄するようになっている。
一方、カタログ管理サーバにより新規コンテンツカタログ情報を配信する場合、カタログ管理サーバが、オーバーレイネットワーク9に参加している全てのノードに関する、グループ分けに必要な情報を認識しており(例えばコンタクトノード等から取得することによる)、当該認識している情報に基づき、各ノードをグループ分けし、配信対象となる特定のグループに属するノードに新規コンテンツカタログ情報を配信することとなり、この場合は、新規コンテンツカタログ情報に上記条件情報を付加する必要はない。
また、上記グループ分け条件となる要素としては、ノードIDにおける所定桁目の値、ノードの設置地域、ノードのネットワーク8への接続サービス提供者、ノードまでのホップ数、ノードにおけるコンテンツデータの再生時間(試聴時間)又は再生回数(試聴回数)、ノードにおける通電時間等が挙げられる。
ノードIDにおける所定桁目の値をグループ分け条件の要素とする場合、例えば、最下位桁目(最上位桁目等でも良い)が「1」であるノードのグループ、「2」であるノードのグループ・・・と、いうように分けることができる。また、ノードIDが16進数である場合、所定桁目の値は、0〜Fのうち何れかで表されるので、16のグループに分けることができる。そして、カタログ管理ノード又はカタログ管理サーバは、例えばノードIDの最下位桁目が「1」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信(DHTマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件(例えば、ノードIDの最下位桁目が「1」)を示す条件情報が付加される)し、当該配信してから予め設定された時間(例えば、24時間)経過後、次に、ノードIDの最下位桁目が「2」のグループに属するノードに対して新規コンテンツカタログ情報を配信(例えば、16のグループに分けられる場合には、16回時間をずらして配信)する。
また、ノードの設置地域をグループ分け条件の要素とする場合、例えば、設置地域が東京都港区であるノードのグループ、東京都渋谷区であるノードのグループ・・・と、いうように分けることができる。かかる設置地域は、例えば各ノードにおいて設定された郵便番号や電話番号から判断することができる。そして、カタログ管理ノード又はカタログ管理サーバは、例えば設置地域が東京都渋谷区のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信(DHTマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件(例えば、設置地域が東京都渋谷区)を示す条件情報が付加される)し、当該配信してから予め設定された時間(例えば、24時間)経過後、次に、設置地域が東京都港区のグループに属するノードに対して新規コンテンツカタログ情報を配信する。
また、ノードのネットワーク8への接続サービス提供者(例えば、インターネット接続サービスプロバイダ(以下、「ISP」という))をグループ分け条件の要素とする場合、例えば、AS(Autonomous System)番号の違いで分けることができる。ここで、ASとは、インターネットを構成する、一つ(共通)の運用ポリシーを持ったネットワークの塊をいい(自律システムともいう)、インターネットはこのASの集合体ととらえることができ、例えば各ISPにより構成されるネットワーク毎にASが区分され、互いに異なる一意のAS番号が、例えば、1〜65535の範囲から割り当てられるようになっている。また、各ノードは、自分が属するAS番号を取得するには、IRR(Internet Routing Registry)やJPNIC(社団法人日本ネットワークインフォメーションセンター)のWHOISデータベースにアクセスする方法(IPアドレスからAS番号が分かる)、或いはユーザがISPから契約している回線のAS番号を入手して、その値をユーザがノードに予め入力しておく方法、などが可能である。そして、カタログ管理ノード又はカタログ管理サーバは、例えばAS番号が「2345」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信(DHTマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件(例えば、AS番号が「2345」)を示す条件情報が付加される)し、当該配信してから予め設定された時間(例えば、24時間)経過後、次に、AS番号が「3456」のグループに属するノードに対して新規コンテンツカタログ情報を配信する。
また、ノードまでのホップ数をグループ分け条件の要素とする場合、例えばカタログ管理サーバからノードまでホップ(HOP)数(パケットがルータ等の中継機器を経由する回数)が「1〜10」であるノードのグループ、「11〜20」であるノードのグループ・・・と、いうように分けることができる。ここで、新規コンテンツカタログ情報を配信するためのパケットには、到達可能範囲を示すTTL(Time To Live)が含まれており、当該TTLは、最大“255”までの整数値で表され、カタログ配布メッセージ(パケット)がルータ等を1回経由する度に1減少し、TTLが“0”になった時点で当該メッセージが廃棄されるようになっている。従って、カタログ管理サーバはホップ数が「1〜10」のグループに対してコンテンツカタログ情報を配信する場合、TTL値を「10」にしてカタログ配布メッセージを配信すれば良く、次に、ホップ数が「11〜20」のグループに対してコンテンツカタログ情報を配信する場合、TTL値を「20」にしてカタログ配布メッセージを配信すれば良い(なお、重複して同じカタログ配布メッセージがノードにより受信された場合、一方のメッセージはノード側で破棄される)。
また、ノードにおけるコンテンツデータの再生時間(試聴時間)又は再生回数(試聴回数)をグループ分け条件の要素とする場合、例えば再生時間が「30時間以上」(又は再生回数が「30回以上」)であるノードのグループ、再生時間が「20時間以上30時間未満」(又は再生回数が「20回以上30回未満」)であるノードのグループ、・・・と、いうように分けることができる。ここで、再生時間とは、例えば、ノードにおいて所定期間(例えば1ヶ月)内にコンテンツデータが再生された累計時間を意味し、また、再生回数とは、ノードにおいて所定期間(例えば1ヶ月)内にコンテンツデータが再生された累計回数を意味し、これらは各ノードにおいて計測される。そして、カタログ管理ノード又はカタログ管理サーバは、例えば再生時間が「30時間以上」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信(DHTマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件(例えば、再生時間が30時間以上)を示す条件情報が付加される)し、当該配信してから予め設定された時間(例えば、24時間)経過後、次に、例えば再生時間が「20時間以上30時間未満」のグループに属するノードに対して新規コンテンツカタログ情報を配信(このように、例えば、再生時間が最も長い又は再生回数が最も多いグループを優先して、新規コンテンツカタログ情報を配信)する。なお、カタログ管理サーバが新規コンテンツカタログ情報を配信する場合、全てのノードから上記再生時間又は再生回数を示す情報を定期的に収集することになる。
また、かかる再生時間又は再生回数は、コンテンツデータのジャンル毎に計測されれば、ユーザの好みが分かるので望ましい。例えば、あるノードにおいて、ジャンルが「アニメ」のコンテンツデータが所定期間内に再生された累計時間(再生累積時間)が30時間で、ジャンルが「アクション」のコンテンツデータが所定期間内に再生された累計時間が13時間、であれば、当該ノードのユーザは「アニメ」が好きであるということが分かる。そして、この場合、新規コンテンツカタログに属性情報が登録される新規コンテンツデータと同一ジャンルにおいて再生時間が最も長い又は再生回数が最も多いグループを優先して当該新規コンテンツカタログ情報が配信される。
また、ノードにおける通電時間(通電継続時間)をグループ分け条件の要素とする場合、例えば通電時間が「200時間以上」であるノードのグループ、通電時間が「150時間以上200時間未満」であるノードのグループ、・・・と、いうように分けることができる。ここで、通電時間とは、例えば、ノードの電源がON状態になっている継続時間を意味し、これは各ノードにおいて計測される。また、各ノードは、通常、電源ONによりオーバーレイネットワーク9に参加するので、通電時間とはオーバーレイネットワーク9に参加継続している時間とも言える。そして、カタログ管理ノード又はカタログ管理サーバは、例えば通電時間が「200時間以上」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信(DHTマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件(例えば、通電時間が200時間以上)を示す条件情報が付加される)し、当該配信してから予め設定された時間(例えば、24時間)経過後、次に、例えば通電時間が「150時間以上200時間未満」のグループに属するノードに対して新規コンテンツカタログ情報を配信(このように、例えば、通電時間が最も長いグループを優先して、新規コンテンツカタログ情報を配信)する。
また、ノードIDにおける所定桁目の値、ノードの設置地域、ノードのネットワーク8への接続サービス提供者、ノードまでのホップ数、ノードにおけるコンテンツデータの再生時間(試聴時間)又は再生回数(試聴回数)、及びノードにおける通電時間等のうちの何れか二つ以上の組合せによりグループ分けを行うようにすれば、より効果的である。
ところで、グループ分け条件に応じて分けられるグループの数は、オーバーレイネットワーク9に参加しているノードの数と、当該システムSの処理能力と、コンテンツカタログ情報の配信間隔(つまり、一のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信してから次のグループに属するノードに対して配信するまでの配信間隔)により決まってくるが、当該配信間隔の最大値を1日(24時間)に設定した場合は、10グループ程度が妥当である、この場合、最初のグループに対する最終のグループへの配信遅れは最大10日になる。
また、ユーザの試聴可能時間は、1日のうちで変動が大きいが曜日による変動は1日よりは大きくないと想定されるので、上記配信間隔は、1日(24時間)程度とすることが望ましい。例えば、子供向けのコンテンツの場合、試聴頻度は曜日に関わらず17:00から20:00ぐらいに高くなると想定されるので、この間にはレプリカも多く作成されると期待できる。よって、短時間に次の配信順位のグループに対して新規コンテンツカタログ情報の配信が可能になる可能性があるが、夜中では試聴される可能性は殆どないので、レプリカの作成は翌日にならないと期待できない。そこで、最大配信間隔を1日(24時間)とすることでこのようなアクセス頻度の変動を吸収することができる。
また、カタログ管理ノード又はカタログ管理サーバは、一のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信してから予め設定された時間経過後、次のグループに属するノードに対して新規コンテンツカタログ情報を配信する方法の他にも、例えば、カタログ管理ノード又はカタログ管理サーバは、一のグループに属するノードに対する新規コンテンツカタログ情報の配信後、これらのノードによる新規コンテンツデータを取得するための要求(例えばコンテンツ所在問合せメッセージ)の数を示す要求数情報を、例えば当該新規コンテンツデータのルートノードやキャッシュノードから取得し、当該要求数情報に示される要求の数が、予め設定された基準数(規程数量)以上となった場合に、次のグループに属するノードに対して新規コンテンツカタログ情報を配信する方法もある。
2.ノードの構成等
次に、図12を参照して、ノードの構成及び機能について説明する。
図12は、ノードの概要構成例を示す図である。
各ノードは、図12に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、コンテンツデータ、コンテンツカタログ情報、ルーティングテーブル及び各種プログラム等を記憶保存(格納)するためのHD等から構成された記憶手段としての記憶部12と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードとの間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14および通信部20はバス22を介して相互に接続されている。なお、ノードとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
そして、このような構成において、制御部11は、CPUが記憶部12等に記憶された各種プログラム(本発明のノード処理プログラムを含む)を読み出して実行することにより、全体を統括制御し、コンテンツ配信システムSへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行い、特に、ユーザノードとして本発明における判別手段、受信手段及び保存手段等として機能するようになっている。
そして更に、カタログ管理ノードとなるノードの制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明の配信処理プログラムを含む)を読み出して実行することにより、本発明の配信手段等として機能するようになっている。
また、制御部11は、取得されたコンテンツデータが、デコーダ部14、映像処理部15、表示部16、音声処理部17及びスピーカ18を通じて再生出力される場合、当該コンテンツデータの再生時間(又は再生回数)を計測し、当該コンテンツデータのジャンルに対応する(つまり、ジャンル毎に区分されている)再生累積時間に加算(積算)し記憶部12に記憶するようになっている。なお、再生累積時間は、例えば1ヶ月毎にリセット(初期化)される。また、制御部11は、電源ONとなったときに通電時間の計測を開始し、電源OFF指令があったときに当該計測を終了し、計測した通電時間を記憶部12に記憶するようになっている。
また、各ノードの記憶部12には、ネットワーク8への接続時に割り当てられたAS番号、並びにユーザにより入力された郵便番号(又は電話番号)が記憶されるようになっている。また、各ノードの記憶12には、コンタクトノードのIPアドレス等が予め記憶される。
また、カタログ管理ノードの記憶部12には、上述したグループ分け条件及び配信順序を規定するグループ分け条件テーブルが記憶されている。
なお、上記ノード処理プログラム及び配信処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
なお、カタログ管理サーバのハードウェア構成としては、図示しないが、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部、コンテンツカタログ情報及び各種プログラム等を記憶保存(格納)するためのHD等から構成された記憶手段としての記憶部、及びネットワーク8を通じて他のノードとの間の情報の通信制御を行うための通信部等を備えるサーバコンピュータにより構成される。
3.コンテンツ配信システムの動作
次に、コンテンツ配信システムSの動作について説明する。
3.1 カタログ管理ノードによる配信
先ず、カタログ管理ノードにより新規コンテンツカタログ情報を配信する場合について、図13及び図14を用いて説明する。
図13は、カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートであり、図14は、新規コンテンツカタログ情報受信処理を示すフローチャートである。なお、オーバーレイネットワーク9に参加している各ノードは、稼働(すなわち、電源が入れられ、各種設定を初期化している)し、ユーザからの入力部21を介した指示待機、及び他のノードからのネットワーク8を介したメッセージの受信待機状態にあるものとする。
図13に示す処理は、カタログ管理ノードであるノードXにおいて、新規コンテンツデータがあるノードに投入されたことを示す情報(当該新規コンテンツデータの属性情報を含む)を、例えばコンテンツ投入サーバ(コンテンツ配信システムSにおいて新規コンテンツデータの投入許可をし、これを1又は複数のノードに投入するサーバ)から受信したときに開始される。なお、新規コンテンツカタログ情報には、1つずつ新規コンテンツデータの属性情報が記述されるものであっても良いし、同時期に投入される複数の新規コンテンツデータを纏めてそれら属性情報が記述されるものであっても良い。更に、同時期に投入される複数の新規コンテンツデータをジャンル毎に纏めてそれらの属性情報が記述されるものであっても良い。
先ず、ノードXの制御部11は、コンテンツ投入サーバから取得した新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報をペイロード部に含むカタログ配布メッセージを生成する(ステップS1)。生成されたカタログ配布メッセージは一時記憶される。
次いで、制御部11は、上記生成したカタログ配布メッセージのヘッダ部におけるターゲットノードIDとして自己のノードID例えば「3102」を設定し、IDマスクとして「0」を設定し、IPアドレスとして自己のIPアドレス等を設定する(ステップS2)。
次いで、制御部11は、例えば記憶部12に記憶されたグループ分け条件テーブルを参照して、配信対象となるグループを決定(選定)する(ステップS3)。
図15(A)〜(C)は、グループ分け条件テーブルの内容の一例を示す図である。
図15(A)に示すグループ分け条件テーブルを用いる場合には、コンテンツデータの再生時間をグループ分け条件の要素としており、「30時間以上」のグループa、「20時間以上30時間未満」のグループb、「10時間以上20時間未満」のグループc、及び「10時間未満」のグループdに区分されている。このように区分されたグループのうち、例えば配信順序が1位である、再生時間が最も長いグループ(「再生時間が30時間以上」のグループa)が始めに(最初のループで)選定される(次回以降のループで順次、再生時間が長い順(配信順序2位→3位→4位の順)に選定される)。
また、図15(B)に示すグループ分け条件テーブルを用いる場合には、例えば配信順序が1位である、通電時間が最も長いグループ(「通電時間が200時間以上」のグループe)が始めに(最初のループで)選定(配信順序が1位)される(次回以降のループで順次、再生時間が長い順に選定される)ことになる。
また、図15(C)に示すように、再生時間と通電時間の組合せによりグループ分けしたグループ分け条件テーブルを用いる場合、配信順序が1位である「再生時間が30時間以上、且つ、通電時間が200時間以上」のグループiが始めに(最初のループで)選定され(つまり、グループiに属するノードが優先(言い換えれば、図15(A)に示す再生時間が最も長いグループaに属し、且つ図15(B)に示す通電時間が最も長いグループe属するノードが優先)され)、配信順序が2位である「再生時間が30時間以上、且つ、通電時間が200時間未満」のグループjが次に(次のループで)選定される。なお、図15(C)に示すグループ分け条件テーブルからグループiを選定することに代えて、図15(A)に示すグループ分け条件テーブルからグループaを選定し、且つ、図15(B)に示すグループ分け条件テーブルからグループeを選定するように構成しても良い。これ以降は、再生時間のみによるグループk→グループl→グループmの順に選定される。このように、「再生時間が30時間以上、且つ、通電時間が200時間以上」のグループiを最優先とすることで、新規コンテンツデータの試聴可能性が高いユーザのノードに対して配信できるので、そのレプリカをオーバーレイネットワーク9上で増やす(つまり、当該新規コンテンツデータのレプリカを保存するノードを増やす)確率を高めることができ、更に、通電時間が長くオーバーレイネットワーク9から脱退する可能性が低いノードに対して配信できるので、当該新規コンテンツデータを他のノードが取得する(新規コンテンツデータの取得要求に応える)確率を高めることができる。このように、最初に効率良くレプリカが保存されるので、次からは新規コンテンツデータへのアクセスが分散される。
なお、図15(C)に示すグループ分け条件テーブルにおいて、グループjを「再生時間が30時間以上、且つ、通電時間が150時間以上200時間未満」とし、グループkを「再生時間が30時間以上、且つ、通電時間が100時間以上150時間未満」とし、グループlを「再生時間が30時間以上、且つ、通電時間が100時間未満」とし、グループmを「再生時間が20時間以上30時間未満、且つ、通電時間が200時間以上」・・・というように、組合せ条件を変えても良い。
なお、当該処理で一度選定されたグループは重複して選定されないように当該グループに対して例えばフラグ(“1”)が立てられる。
次いで、制御部11は、決定したグループに対応するグループ分け条件(例えば再生時間が30時間以上、或いは、例えば再生時間が30時間以上、且つ、通電時間が200時間以上)を示す条件情報を、上記カタログ配布メッセージにおけるペイロード部に含まれる新規コンテンツカタログ情報に付加する(ステップS4)。
ここで、例えば図15(A)に示すグループ分け条件テーブルを用いる場合には、「ジャンル(例えば配信する新規コンテンツカタログに属性情報が登録された新規コンテンツデータと同一ジャンル)がアニメであるコンテンツデータの再生時間が30時間以上」とのグループ分け条件を示す条件情報を新規コンテンツカタログ情報に付加するようにし、例えば図15(C)に示すグループ分け条件テーブルを用いる場合には、例えば「ジャンルがアニメであるコンテンツデータの再生時間が30時間以上、且つ、通電時間が200時間以上」とのグループ分け条件を示す条件情報を新規コンテンツカタログ情報に付加するように構成すれば、より当該新規コンテンツカタログ情報を欲し、利用される可能性が高いユーザに対して新規コンテンツカタログ情報を配信することができる。
次いで、制御部11は、上記設定したIDマスク(値)が、自己のルーティングテーブルの全レベル数(図6の例では、「4」)よりも小さいか否かを判別(判断)する(ステップS5)。IDマスクが「0」に設定されている場合は、ルーティングテーブルの全レベル数よりも小さいため、当該制御部11は、IDマスクがルーティングテーブルの全レベル数よりも小さいと判別し(ステップS5:YES)、自己のルーティングテーブルにおける「上記設定したIDマスク+1」のレベルに登録されている全てのノードを決定し、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し(ステップS6)、タイマにより、次のグループへの配信間隔である配信待機時間(例えば、24時間に設定)のカウントを開始する。
図6の例では、「IDマスク「0」+1」であるレベル1に登録されたノードA、ノードB、及びノードCに対してカタログ配布メッセージが送信されることになる。
次いで、制御部11は、上記カタログ配布メッセージのヘッダ部において設定されたIDマスクに「1」を加算して当該IDマスクを再設定し(ステップS7)、ステップS5に戻る。
その後、制御部11は、IDマスク「1」,「2」,「3」について同様にステップS5〜S7の処理を繰り返す。これにより、上記カタログ配布メッセージは、自己のルーティングテーブルに登録されている全てのノードに送信されることになる。
一方、上記ステップS5において、IDマスクが、自己のルーティングテーブルの全レベル数よりも小さくないと判別された場合(図6の例では、IDマスクが「4」の場合)には(ステップS5:NO)、ステップS8に移行する。
ステップS8においては、制御部11は、グループ分け条件テーブルに規定された全グループに対してカタログ配布メッセージを配信したか否かを判別し、全グループに対してカタログ配布メッセージを配信していない(例えば、図15(A)に示すグループ分け条件テーブルにおける4つのグループの全てが上記ステップS3において選定されていない)場合には(ステップS8:NO)、次のグループに対する配信条件を満たすか否か(例えば次のグループへの配信待機時間が経過(カウントアップ)したか否か)を判断する(ステップS9)。次のグループに対する配信条件を満たさない(例えば、上記配信待機時間が経過していない)場合には(ステップS9:NO)、制御部11は、その他の処理を行い(ステップS10)、ステップS9に戻る。ステップS10におけるその他の処理においては、例えば他のノードから受信した各種メッセージに応じた処理等が行われる。
一方、次のグループに対する配信条件を満たす(例えば、上記配信待機時間が経過した)場合には(ステップS9:YES)、ステップS3に戻り、カタログ配布メッセージの配信対象となる次のグループ(例えば、次に再生時間が長いグループ)が選定され、上記と同様にステップS4以降の処理が行われる。
そして、上記ステップS8において、全グループに対してカタログ配布メッセージが配信されたと判断された場合には(ステップS8:YES)、当該処理が終了する。
なお、上記ステップS3においては、コンテンツデータの再生時間をグループ分け条件の要素として配信対象となるグループが決定されるように構成したが、この他にも、コンテンツデータの再生回数、ノードIDにおける所定桁目(例えば、最下位桁)の値、ノードの設置地域、ノードのネットワーク8への接続サービス提供者、又はノードにおける通電時間、或いはこれらの組合せ等をグループ分け条件の要素として配信対象となるグループに属するノードが決定されるように構成しても良い。
また、上記ステップS9において、制御部11は、一のグループに属するノードに対する新規コンテンツカタログ情報の配信後、これらのノードによる新規コンテンツデータを取得するための要求(例えばコンテンツ所在問合せメッセージ)の数を示す要求数情報を、例えば当該新規コンテンツデータのルートノードやキャッシュノードから取得し、当該要求数情報に示される要求の数が、予め設定された基準数(例えば十分なレプリカが確保される数)以上となったか否かを判断し、当該基準数以上となった場合に、配信条件を満たすと判断して、ステップS3に戻り、カタログ配布メッセージの配信対象となる次のグループを選定するように構成しても良い。この構成によれば、人気のある新規コンテンツデータは、その要求の数が基準数以上となるのが比較的早いことが想定されるので、次のグループに属するノードに対して新規コンテンツカタログ情報を迅速に配信できる。
なお、新規コンテンツデータを取得するための要求(例えばコンテンツ所在問合せメッセージ)の数が、予め設定された基準数以上となったか否かの判断は、ルートノードやキャッシュノード、或いはルートノードやキャッシュノードを管理するライセンスサーバ等が行い、当該基準数以上となった場合に、基準数以上となったことを示す情報をカタログ管理ノードへ送信し、当該カタログ管理ノードは、基準数以上となったことを示す情報を受信した場合に、上記ステップS9において配信条件を満たすと判断するように構成しても良い。
更にまた、上記ステップS9において、上記新規コンテンツデータを取得するための要求の数が予め設定された基準数以上となったか否かを判断し、且つ、次のグループへの配信待機時間が経過(カウントアップ)したか否かを判断し、何れか一方を満たす場合に、配信条件を満たすと判断するように構成すればより効果的である。すなわち、人気のある新規コンテンツデータは、その要求の数が基準数以上となるのが比較的早いことが想定されるので、上記配信待機時間が経過するのを待たずに、上記要求の数が基準数以上となったことをもって、次のグループに属するノードに対して新規コンテンツカタログ情報を迅速に配信でき、一方、あまり人気のない新規コンテンツデータは、いつまでたってもその要求の数が基準数以上とならないことが想定されるので、上記要求の数が基準数以上にならなくても、上記配信待機時間(一定の時間制限)が経過したら、次のグループに属するノードに対して新規コンテンツカタログ情報を迅速に配信できるというメリットがある。
次に、上記のように送信されたカタログ配布メッセージを受信した各ノードは、当該カタログ配布メッセージを一時格納し、図14に示す処理を開始する。ここでは、ノードAを例にとって説明する。
図14に示す処理が開始されると、ノードAの制御部11は、自己のノードIDが、受信したカタログ配布メッセージのヘッダ部におけるターゲットノードID及びIDマスクにより特定されるターゲットに含まれるか否かを判別する(ステップS11)。
ここで、ターゲットとは、ターゲットノードIDにおいて、IDマスクの値に該当する上位桁が共通するノードIDを示し、例えば、IDマスクが「0」であれば、全てのノードIDがターゲットに含まれ、IDマスクが「2」でターゲットノードIDが「3102」であれば、上位 「2」桁が「31」となる「31**」(**はどのような値でも良い)のノードIDがターゲットに含まれることとなる。
ノードAが受信したカタログ配布メッセージのヘッダ部におけるIDマスクは「0」であり、有効桁数が指定されていないので、ノードAの制御部11は、自己のノードID「0132」がターゲットに含まれると判別し(ステップS11:YES)、当該カタログ配布メッセージのヘッダ部におけるターゲットノードIDを、自己のノードID「0132」に変換設定する(ステップS12)。
次いで、制御部11は、上記カタログ配布メッセージのヘッダ部におけるIDマスクに「1」を加算して当該IDマスクを再設定(ここでは、「0」から「1」に変換(一のレベルを示すIDマスクを次のレベルを示すIDマスクに変えて))する(ステップS13)。
次いで、制御部11は、上記再設定したIDマスクの値が、自己のルーティングテーブルの全レベル数よりも小さいか否かを判別する(ステップS14)。
このとき、IDマスクに「1」が設定されているので、ルーティングテーブルの全レベル数よりも小さいため、制御部11は、IDマスクがルーティングテーブルの全レベル数よりも小さいと判別し(ステップS14:YES)、自己のルーティングテーブルにおける「上記再設定したIDマスク+1」のレベルに登録されている全てのノードを決定し(つまり、ノードAが属するエリアがさらに複数のエリアに分けられているので、当該さらに分けられている各エリアに属する一のノードが決定される)、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し(ステップS15)、ステップS13に戻る。
例えば、「IDマスク「1」+1」であるレベル2に登録されたノードA1、ノードA2、及びノードA3に対してカタログ配布メッセージが送信されることになる。
その後、制御部11は、IDマスク「2」,「3」について同様にステップS14及びS15の処理を繰り返す。これにより、上記カタログ配布メッセージは、自己のルーティングテーブルに登録されている全てのノードに送信されることになる。
一方、上記ステップS11において、制御部11は、自己のノードIDが、受信したカタログ配布メッセージのヘッダ部におけるターゲットノードID及びIDマスクにより特定されるターゲットに含まれないと判別した場合には(ステップS11:NO)、ルーティングテーブル中で、当該ターゲットノードIDと上位桁から一致する桁数が最も多いノードに対して上記受信したカタログ配布メッセージを送信(転送)し(ステップS17)、当該処理を終了する。
例えば、IDマスクが「2」でターゲットノードIDが「3102」であったとすると、ノードAのノードID「0132」は、ターゲット「31**」に含まれないと判別される。なお、ステップS17の転送処理は、通常のDHTのルーティングテーブルを用いたメッセージの転送である。
一方、上記ステップS14において、制御部11は、IDマスクの値が、自己のルーティングテーブルの全レベル数よりも小さくないと判別した場合には(ステップS14:NO)、一時格納したカタログ配布メッセージのペイロード部における新規コンテンツカタログ情報に付加された条件情報を抽出し、その条件情報に示されるグループ分け条件を満たすか否かを判別する(ステップS16)。
例えば、当該条件情報にグループ分け条件として「再生時間が30時間以上」と示されている場合、制御部11は、記憶部12に記憶された再生累積時間が30時間以上であるか否かを判断(当該グループ分け条件に、ジャンルが指定されていない場合、各ジャンルに対応する再生累積時間の総和が30時間以上であるか否かが判断される、再生回数についても同様)し、再生累積時間が30時間以上でない場合、グループ分け条件を満たさないと判別し(ステップS16:NO)、上記一時格納したカタログ配布メッセージのペイロード部における新規コンテンツカタログ情報を破棄(削除)し(ステップS18)、当該処理を終了する。一方、制御部11は、再生累積時間が30時間以上である場合、グループ分け条件を満たすと判別し(ステップS16:YES)、上記一時格納したカタログ配布メッセージのペイロード部における新規コンテンツカタログ情報を利用可能に記憶部12に保存し(ステップS19)、当該処理を終了する。こうして、新規コンテンツカタログ情報は、実質的に、当該グループ分け条件を満たすノードに対してのみ配信され、利用(例えば、新規コンテンツカタログ情報における新規コンテンツデータのコンテンツIDを取得し、コンテンツIDを含むコンテンツ所在問合せメッセージを、上述したように、ルートノード向けて送出)される結果となる。
また、例えば、当該条件情報にグループ分け条件として「ジャンルがアニメであるコンテンツデータの再生時間が30時間以上」というように、ジャンルが指定されている場合、制御部11は、ジャンル「アニメ」に対応する再生累積時間が30時間以上であるか否かを判断(再生回数についても同様)し、30時間以上でない(つまり、グループ分け条件を満たさない)場合は、上記新規コンテンツカタログ情報を破棄(削除)し、30時間以上である(つまり、グループ分け条件を満たす)場合は、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。
また、例えば、当該条件情報にグループ分け条件として「通電時間が200時間以上」と示されている場合、制御部11は、記憶部12に記憶された通電時間が200時間以上であるか否かを判断し、通電時間が200時間以上でない(つまり、グループ分け条件を満たさない)場合は、上記新規コンテンツカタログ情報を破棄(削除)し、通電時間が200時間以上である(つまり、グループ分け条件を満たす)場合は、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。
また、例えば、当該条件情報にグループ分け条件としてノードIDにおける所定桁目(例えば、最下位桁)の値が示されている場合、制御部11は、当該示された値と、自ノードのノードIDにおける所定桁目(例えば、最下位桁)の値が一致するか否かを判断し、一致しない(つまり、グループ分け条件を満たさない)場合は、上記新規コンテンツカタログ情報を破棄(削除)し、一致する(つまり、グループ分け条件を満たす)場合は、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。
また、例えば、当該条件情報にグループ分け条件としてノードの設置地域(例えば、東京都港区)が示されている場合、制御部11は、記憶部12に記憶されている郵便番号や電話番号が当該設置地域に該当するか否かを判断し、該当しない(つまり、グループ分け条件を満たさない)場合は、上記新規コンテンツカタログ情報を破棄(削除)し、該当する(つまり、グループ分け条件を満たす)場合は、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。
また、例えば、当該条件情報にグループ分け条件としてネットワーク8への接続サービス提供者に対応するAS番号が示されている場合、制御部11は、当該示されたAS番号と、記憶部12に記憶されているAS番号が一致するか否かを判断し、一致しない(つまり、グループ分け条件を満たさない)場合は、上記新規コンテンツカタログ情報を破棄(削除)し、一致する(つまり、グループ分け条件を満たす)場合は、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。
また、例えば、当該条件情報にグループ分け条件として「再生時間が30時間以上、且つ、通電時間が200時間以上」というように再生時間と通電時間の組合せが示されている場合、制御部11は、記憶部12に記憶された再生累積時間が30時間以上であり、且つ、記憶部12に記憶された通電時間が200時間以上であるか否かを判断し、この条件を満たさない(つまり、グループ分け条件を満たさない)場合は、上記新規コンテンツカタログ情報を破棄(削除)し、この条件を満たす(つまり、グループ分け条件を満たす)場合は、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。
このように、カタログ管理ノードによる新規コンテンツカタログ情報の配信の場合は、当該新規コンテンツカタログ情報は、DHTマルチキャストによりオーバーレイネットワーク9に参加している全てのノードに順次転送されつつ配信され、各ノード側でグループ分け条件を満たすか否かを判別して新規コンテンツカタログ情報の取得可否(利用可否)を決定するので、カタログ管理サーバのような特定のサーバに与える負荷を大幅に低減することができる。
なお、ノードIDにおける最上位桁目の値をグループ分け条件の要素とする場合、DHTマルチキャストを利用して配信対象となるグループに属するノードのみに新規コンテンツカタログ情報を配信することができる。この場合の新規コンテンツカタログ情報配信処理について説明する。
図16は、ノードIDにおける最上位桁目の値をグループ分け条件の要素とした場合における、カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
図16におけるステップS21及びS22の処理は、図13におけるステップS1及びS2と同様である。そして、ステップS23では、カタログ管理ノードの制御部11は、上記生成したカタログ配布メッセージの配信対象となるグループγを決定する。なお、ノードIDが16進数である場合、γは0〜Fの何れかの値をとることになるが、ここでは説明の便宜上、ノードIDが4桁4進数であるとして説明する。
次いで、制御部11は、自己(自ノード)のノードID(例えば、「3102」とする)の最上位桁がγ(例えば、3)であるか否かを判別し(ステップS24)、γである場合には(ステップS24:YES)、上記カタログ配布メッセージのヘッダ部において設定されたIDマスクに「1」を加算して当該IDマスクを再設定する(ステップS25)。
次いで、制御部11は、上記IDマスクが、自己のルーティングテーブルの全レベル数(図6の例では、「4」)よりも小さいか否かを判別し(ステップS26)、IDマスクがルーティングテーブルの全レベル数よりも小さい場合には(ステップS26:YES)、自己のルーティングテーブルにおける「IDマスク+1」のレベル(このときは、「IDマスク「1」+1」=2となる)に登録されている全てのノードを決定し、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し(ステップS27)、タイマにより、次のグループへの配信待機時間のカウントを開始する。
図6の例では、「IDマスク「1」+1」であるレベル2に登録されたノードD、ノードE、及びノードFに対してカタログ配布メッセージが送信されることになるが、レベル1に登録されたノードA、ノードB、及びノードCに対しては配信されない。
次いで、制御部11は、上記カタログ配布メッセージのヘッダ部において設定されたIDマスクに「1」を加算して当該IDマスクを再設定し(ステップS28)、ステップS26に戻る。
その後、制御部11は、IDマスク「2」,「3」について同様にステップS26〜S28の処理を繰り返す。これにより、上記カタログ配布メッセージは、自己のルーティングテーブルに登録されているレベル2〜レベル4の全てのノードに送信されることになる。そして、当該送信されたカタログ配布メッセージを受信した各ノードにより、図14に示すステップS11〜ステップS15の処理が行われることによって、例えばグループγ(=3)に属するノード(例えば、図8(A)の右上の「3000」〜「3333」内のノードIDを有するノード)にカタログ配布メッセージが配信される。この場合、ステップS16及びS18の処理は行われず、当該カタログ配布メッセージを受信した各ノードは、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。
一方、上記ステップS26において、IDマスクが、自己のルーティングテーブルの全レベル数よりも小さくないと判別された場合(図6の例では、IDマスクが「4」の場合)には(ステップS26:NO)、ステップS30に移行する。
そして、制御部11は、全グループ(γ=0〜3)に対してカタログ配布メッセージを配信したか否かを判別し、全グループに対してカタログ配布メッセージを配信していない場合には(ステップS30:NO)、上述したステップS9と同様、次のグループに対する配信条件を満たすか否かを判断する(ステップS31)。次のグループに対する配信条件を満たさない場合には(ステップS31:NO)、制御部11は、上述したステップS10と同様、その他の処理を行い(ステップS32)、ステップS31に戻る。
一方、次のグループに対する配信条件を満たす場合には(ステップS31:YES)、ステップS23に戻り、カタログ配布メッセージの配信対象となる次のグループγ(例えば、0)が選定される。
そして、上記ステップS24において、自己のノードIDの最上位桁がγでない場合には(ステップS24:NO)、制御部11は、自己のルーティングテーブルの最上位のレベル1に登録されているノードのうち、ノードIDの最上位桁がγ(例えば、0)のノード(例えば、ノードIDが「0132」のノードA)を決定し、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し(ステップS29)た後、ステップS30に移行し、上記と同様の処理を行う。そして、当該送信されたカタログ配布メッセージを受信した各ノードにより、図14に示すステップS11〜ステップS15の処理が行われることによって、例えばグループγ(=0)に属するノード(例えば、図8(A)の左上の「0000」〜「0333」内のノードIDを有するノード)にカタログ配布メッセージが配信される。この場合も、ステップS16及びS18の処理は行われず、当該カタログ配布メッセージを受信した各ノードは、上記新規コンテンツカタログ情報を利用可能に記憶部12に保存することになる。こうして、順次、残りのグループγ(例えば1及び2)が選定され、当該グループに属するノードにカタログ配布メッセージが配信されることになる。
このように、ノードIDにおける最上位桁目の値をグループ分け条件の要素とする場合、配信対象となるグループに属するノードのみに新規コンテンツカタログ情報が配信されるので、各ノードは、上記ステップS16に示すようにグループ分け条件を満たすか否かを判別する処理を削減することができ、また、ネットワーク8の負荷を低減することができる。
3.2 カタログ管理サーバによる配信
次に、カタログ管理サーバにより新規コンテンツカタログ情報を配信する場合について、図17を用いて説明する。
図17は、カタログ管理サーバにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
図17に示す処理は、図13に示す処理と同様、カタログ管理サーバにおいて、新規コンテンツデータがあるノードに投入されたことを示す情報を、例えばコンテンツ投入サーバから受信したときに開始される。
なお、カタログ管理サーバは、カタログ管理ノードと同様、上述したグループ分け条件及び配信順序を規定するグループ分け条件テーブルを記憶しており、更に、各グループに属するノードのノードID及びIPアドレス等を記憶している。また、グループ分け条件に必要な各ノードの情報(例えば、ノードの設置地域(例えば、郵便番号や電話番号)、ノードのネットワーク8への接続サービス提供者(例えば、AS番号)、ノードにおけるコンテンツデータのジャンル毎の再生時間又は再生回数、ノードにおける通電時間等)を記憶しており、かかる情報は、例えば、各ノードがオーバーレイネットワーク9に参加する際にアクセスするコンタクトノード(通常、複数設置)から取得される。すなわち、各ノードは、自己に割り当てられたコンタクトノードにアクセスしたときに、そのとき記憶している上記グループ分け条件に必要なノードの情報をコンタクトノードに送信し、オーバーレイネットワーク9への参加後に変わる情報(例えば、上記コンテンツデータのジャンル毎の再生時間又は再生回数、ノードにおける通電時間等の情報)については、定期的に、コンタクトノードに送信するようになっている。カタログ管理サーバは、これらのコンタクトノードから定期的にグループ分け条件に必要な各ノードの情報を収集することにより、定期的に、上記グループ分けを再編することになる。カタログ管理サーバが、各ノードから、上記グループ分け条件に必要な各ノードの情報を取得することも可能であるが、コンタクトノードを介することで、カタログ管理サーバの負荷等を低減することができる。
図17に示す処理が開始されると、カタログ管理サーバの制御部は、コンテンツ投入サーバから取得した新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報をペイロード部に含むカタログ配布メッセージを生成する(ステップS41)。生成されたカタログ配布メッセージは一時記憶される。
次いで、カタログ管理サーバの制御部は、図13に示す処理と同様、記憶されたグループ分け条件テーブルを参照して、配信対象となるグループを決定(選定)する(ステップS42)。例えば、図15(A)に示すグループ分け条件テーブルを用いる場合、配信順序が1位である「30時間以上」のグループaが始めに(最初のループで)選定される。なお、当該ステップS42においてグループ分け条件テーブルを用いてグループを決定する方法については、図13に示すステップS3と同様であるが、コンテンツデータの再生時間(又は再生回数)に関してジャンルを考慮する場合、例えば図15(A)に示されるグループ分け条件テーブルをコンテンツデータのジャンル毎に記憶しておくことを要し、新規コンテンツデータのジャンル(例えば、アニメ)に対応するグループ分け条件テーブルが参照されて、配信対象となるグループは決定(選定)されることになる。
次いで、カタログ管理サーバの制御部は、上記選定されたグループに属するノードのIPアドレス等を特定し、当該特定したノードに対して上記生成したカタログ配布メッセージを配信し(ステップS43)、タイマにより、次のグループへの配信待機時間(例えば、24時間に設定)のカウントを開始する。
次いで、カタログ管理サーバの制御部は、ステップS8と同様、グループ分け条件テーブルに規定された全グループに対してカタログ配布メッセージを配信したか否かを判別し(ステップS44)、全グループに対してカタログ配布メッセージを配信していない場合には(ステップS44:NO)、次のグループに対する配信条件を満たすか否か(例えば次のグループへの配信待機時間が経過(カウントアップ)したか否か)を判断する(ステップS45)。
次のグループに対する配信条件を満たさない(例えば、上記配信待機時間が経過していない)場合には(ステップS45:NO)、当該制御部は、その他の処理を行い(ステップS46)、ステップS45に戻る。なお、ステップS46の処理は、ステップS10と同様である。一方、次のグループに対する配信条件を満たす(例えば、上記配信待機時間が経過した)場合には(ステップS45:YES)、ステップS42に戻り、カタログ配布メッセージの配信対象となる次のグループ(例えば、次に再生時間が長いグループ)が選定され、上記と同様にステップS43以降の処理が行われる。
そして、上記ステップS44において、全グループに対してカタログ配布メッセージが配信されたと判断された場合には(ステップS44:YES)、当該処理が終了する。
なお、かかるステップS45の場合も、上記ステップS9と同様、一のグループに属するノードに対する新規コンテンツカタログ情報の配信後、これらのノードによる新規コンテンツデータを取得するための要求(例えばコンテンツ所在問合せメッセージ)の数が、予め設定された基準数以上となったか否かを判断し、当該基準数以上となった場合に、配信条件を満たすと判断しても良い。また、上記新規コンテンツデータを取得するための要求の数が予め設定された基準数以上となったか否かを判断し、且つ、次のグループへの配信待機時間が経過(カウントアップ)したか否かを判断し、何れか一方を満たす場合に、配信条件を満たすと判断するように構成すればより効果的である。
こうして配信されたカタログ配布メッセージは、各ノードにより受信され、当該カタログ配布メッセージのペイロード部における新規コンテンツカタログ情報が利用可能に記憶部12に記憶保存されることになる。
このように、カタログ管理サーバによる新規コンテンツカタログ情報の配信の場合は、当該カタログ管理サーバ側で配信対象となるグループに属するノードが特定され、当該ノードにのみ新規コンテンツカタログ情報が配信されるので、各ノードは、上記ステップS16に示すようにグループ分け条件を満たすか否かを判別する処理を削減することができる。
以上説明したように、上記実施形態によれば、グループ分け条件に応じて分けられるグループ毎に異なるタイミングで(タイミングをずらして)、夫々のグループに属するノードに対して新規コンテンツカタログ情報を配信するように構成したので、装置へのアクセスの集中による装置負荷及びネットワーク負荷を極力抑えることができる。また、新規コンテンツデータを初期保存するための当該システムの増強等の設備費用を増やすことなく、ユーザによる待ち時間を少なくさせることができる。
また、新規コンテンツカタログ情報を利用する可能性がより高い(つまり、新規コンテンツデータを要求(リクエスト)する可能性が高い)グループ)、例えば、再生時間が最も長い(又は前記再生回数が最も多い)グループや、通電時間が最も長いグループ等を優先して、当該グループに属するノードに対して新規コンテンツカタログ情報を配信するように構成したので、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提として説明したが、本発明はこれに限定されるものではない。
本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。 ルーティングテーブルが作成される様子の一例を示す図である。 ルーティングテーブルの一例を示す図である。 コンテンツ保持ノードから送出されたパブリッシュメッセージの流れの一例をDHTのノードID空間にて示した概念図である。 ミユージックカタログの表示形態遷移の一例を示す概念図である。 カタログ管理ノードであるノードXが保持するルーティングテーブルの一例である。 カタログ配布メッセージを模式的に表した図である。 DHTマルチキャストが行われる様子を示す図である。 DHTマルチキャストが行われる様子を示す図である。 DHTマルチキャストが行われる様子を示す図である。 DHTマルチキャストが行われる様子を示す図である。 ノードの概要構成例を示す図である。 カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。 新規コンテンツカタログ情報受信処理を示すフローチャートである。 グループ分け条件テーブルの内容の一例を示す図である。 ノードIDにおける最上位桁目の値をグループ分け条件の要素とした場合における、カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。 カタログ管理サーバにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
符号の説明
A〜Z ノード
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S コンテンツ配信システム

Claims (20)

  1. ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置を備えた情報配信システムにおいて、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置であって、
    前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、
    前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、
    を備えることを特徴とする配信装置。
  2. 請求項1に記載の配信装置において、
    前記配信手段は、前記新規コンテンツカタログ情報の配信対象となるグループに対応するグループ分け条件を示す条件情報を、前記新規コンテンツカタログ情報に付加して配信することを特徴とする配信装置。
  3. 請求項1又は2に記載の配信装置において、
    前記夫々のノード装置には、夫々に固有の識別情報であって一定桁数からなるノード識別情報が割り当てられ、前記複数のノード装置は、前記ノード識別情報における所定桁目の値に応じて前記複数のグループに分けられ、
    前記配信手段は、前記所定桁目の値に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  4. 請求項1又は2に記載の配信装置において、
    前記複数のノード装置は、前記夫々のノード装置の設置地域に応じて前記複数のグループに分けられ、
    前記配信手段は、前記設置地域に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  5. 請求項1又は2に記載の配信装置において、
    前記複数のノード装置は、前記夫々のノード装置の前記ネットワークへの接続サービス提供者に応じて前記複数のグループに分けられ、
    前記配信手段は、前記接続サービス提供者に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  6. 請求項1又は2に記載の配信装置において、
    前記複数のノード装置は、前記配信装置から前記夫々のノード装置までのホップ数に応じて前記複数のグループに分けられ、
    前記配信手段は、前記ホップ数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  7. 請求項1又は2に記載の配信装置において、
    前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、
    前記配信手段は、前記再生時間又は再生回数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  8. 請求項7に記載の配信装置において、
    前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  9. 請求項7又は8に記載の配信装置において、
    前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、
    前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  10. 請求項1又は2に記載の配信装置において、
    前記複数のノード装置は、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、
    前記配信手段は、前記通電時間に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  11. 請求項10に記載の配信装置において、
    前記配信手段は、前記通電時間が最も長い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  12. 請求項1又は2に記載の配信装置において、
    前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、且つ、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、
    前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  13. 請求項12に記載の配信装置において、
    前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、
    前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  14. 請求項1乃至13の何れか一項に記載の配信装置において、
    前記配信手段は、一の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信してから予め設定された時間経過後、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  15. 請求項1乃至14の何れか一項に記載の配信装置において、
    一の前記グループに属するノード装置に対する前記新規コンテンツカタログ情報の配信後、前記ノード装置による前記新規コンテンツデータを取得するための要求の数を示す要求数情報を取得する取得手段を更に備え、
    前記配信手段は、前記要求数情報に示される要求の数が、予め設定された基準数以上となった場合に、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
  16. コンピュータを、請求項1乃至15に記載の配信装置として機能させることを特徴とする配信処理プログラム。
  17. 請求項2乃至15に記載の配信装置から配信されてきた前記新規コンテンツカタログ情報を受信するノード装置であって、
    前記受信された新規コンテンツカタログ情報に付加される条件情報に示される前記グループ分け条件を満たすか否かを判別する判別手段と、
    前記グループ分け条件を満たすと判別された場合には、前記受信された新規コンテンツカタログ情報を利用可能に保存する保存手段と、
    を備えることを特徴とするノード装置。
  18. コンピュータを、請求項17に記載のノード装置として機能させることを特徴とするノード処理プログラム。
  19. ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムであって、
    前記配信装置は、
    前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、
    前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備え、
    前記ノード装置は、
    前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信する受信手段を備えることを特徴とする情報配信システム。
  20. ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムにおける情報配信方法であって、
    前記配信装置が、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶し、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信し、
    前記ノード装置が、前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信することを特徴とする情報配信方法。
JP2006311477A 2006-11-17 2006-11-17 情報配信システム、情報配信方法、配信装置及びノード装置等 Pending JP2008129694A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006311477A JP2008129694A (ja) 2006-11-17 2006-11-17 情報配信システム、情報配信方法、配信装置及びノード装置等
US11/979,611 US20080120359A1 (en) 2006-11-17 2007-11-06 Information distribution method, distribution apparatus, and node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006311477A JP2008129694A (ja) 2006-11-17 2006-11-17 情報配信システム、情報配信方法、配信装置及びノード装置等

Publications (1)

Publication Number Publication Date
JP2008129694A true JP2008129694A (ja) 2008-06-05

Family

ID=39418183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006311477A Pending JP2008129694A (ja) 2006-11-17 2006-11-17 情報配信システム、情報配信方法、配信装置及びノード装置等

Country Status (2)

Country Link
US (1) US20080120359A1 (ja)
JP (1) JP2008129694A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010288A (ja) * 2009-05-27 2011-01-13 Brother Industries Ltd 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP2011008707A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd 分散保存システム、ノード装置、並びにその処理方法及びプログラム
JP2011053844A (ja) * 2009-08-31 2011-03-17 Brother Industries Ltd 情報処理システム、情報処理装置、ノード装置及びノード装置用プログラム並びに情報処理方法
JP2011070588A (ja) * 2009-09-28 2011-04-07 Brother Industries Ltd コンテンツ配信システム、ノード装置、ノードプログラム、及び公開メッセージ送信方法
JP2011166506A (ja) * 2010-02-10 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> セッション制御装置、ネットワークシステム、および論理網構築方法
JP2012178641A (ja) * 2011-02-25 2012-09-13 Brother Ind Ltd 情報通信システム、情報処理方法、ノード装置及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US7809833B2 (en) * 2008-07-15 2010-10-05 International Business Machines Corporation Asymmetric dynamic server clustering with inter-cluster workload balancing
FR2938997A1 (fr) * 2008-11-27 2010-05-28 Alcatel Lucent Mecanisme de tolerance aux fautes optimise pour reseau pair-a-pair
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
JP5776339B2 (ja) * 2011-06-03 2015-09-09 富士通株式会社 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203041A (ja) * 2002-01-07 2003-07-18 Dainippon Printing Co Ltd 配信システム、サーバ、プログラム、記録媒体
JP2006197400A (ja) * 2005-01-14 2006-07-27 Brother Ind Ltd 情報配信システム、情報更新プログラム、及び情報更新方法等

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001169268A (ja) * 1999-12-14 2001-06-22 Sony Corp 情報提供システム、送信サーバ、情報端末装置、オーサリング装置及び情報提供方法
US6976090B2 (en) * 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
JP2003281140A (ja) * 2002-03-20 2003-10-03 Hitachi Ltd コンテンツ配信方法および配信システム
US7529255B2 (en) * 2005-04-21 2009-05-05 Microsoft Corporation Peer-to-peer multicasting using multiple transport protocols
JP2007304849A (ja) * 2006-05-11 2007-11-22 Sony Corp 管理装置、情報処理装置、管理方法および情報処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203041A (ja) * 2002-01-07 2003-07-18 Dainippon Printing Co Ltd 配信システム、サーバ、プログラム、記録媒体
JP2006197400A (ja) * 2005-01-14 2006-07-27 Brother Ind Ltd 情報配信システム、情報更新プログラム、及び情報更新方法等

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010288A (ja) * 2009-05-27 2011-01-13 Brother Industries Ltd 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
US8332463B2 (en) 2009-05-27 2012-12-11 Brother Kogyo Kabushiki Kaisha Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP2011008707A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd 分散保存システム、ノード装置、並びにその処理方法及びプログラム
JP2011053844A (ja) * 2009-08-31 2011-03-17 Brother Industries Ltd 情報処理システム、情報処理装置、ノード装置及びノード装置用プログラム並びに情報処理方法
JP2011070588A (ja) * 2009-09-28 2011-04-07 Brother Industries Ltd コンテンツ配信システム、ノード装置、ノードプログラム、及び公開メッセージ送信方法
JP2011166506A (ja) * 2010-02-10 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> セッション制御装置、ネットワークシステム、および論理網構築方法
JP2012178641A (ja) * 2011-02-25 2012-09-13 Brother Ind Ltd 情報通信システム、情報処理方法、ノード装置及びプログラム

Also Published As

Publication number Publication date
US20080120359A1 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
JP4830889B2 (ja) 情報配信システム、情報配信方法及びノード装置等
JP2008129694A (ja) 情報配信システム、情報配信方法、配信装置及びノード装置等
JP4862463B2 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP2007280303A (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
JP2006059133A (ja) 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
JP2007213322A (ja) 情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム
US20100306303A1 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP2010113573A (ja) コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム
JP5136208B2 (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP5353567B2 (ja) 情報処理システム、情報処理装置、ノード装置及びプログラム並びに情報処理方法
JP5375272B2 (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP5458629B2 (ja) ノード装置、ノード処理プログラム及び検索方法
JP2010108082A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP4935734B2 (ja) コンテンツ分散保存システム、ノード装置及びノード処理プログラム並びにノード処理方法
JP2007219984A (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
US20110246628A1 (en) Information communication system, information processing apparatus, information communication method and computer readable storage medium
JP2008135952A (ja) ツリー型コンテンツ放送システム、コンテンツカタログ情報作成方法、ノード装置等
JP5412924B2 (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP2008181408A (ja) 通信システム、稼動制御方法、ノード装置及びノード処理プログラム
JP2009129161A (ja) コンテンツ分散保存システム、コンテンツ評価値決定方法、配信装置、及び配信処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111004