JP2008084030A - 識別情報割当装置及びその情報処理方法並びにそのプログラム - Google Patents
識別情報割当装置及びその情報処理方法並びにそのプログラム Download PDFInfo
- Publication number
- JP2008084030A JP2008084030A JP2006263560A JP2006263560A JP2008084030A JP 2008084030 A JP2008084030 A JP 2008084030A JP 2006263560 A JP2006263560 A JP 2006263560A JP 2006263560 A JP2006263560 A JP 2006263560A JP 2008084030 A JP2008084030 A JP 2008084030A
- Authority
- JP
- Japan
- Prior art keywords
- content
- identification information
- node device
- content data
- node
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
【課題】複数のコンテンツデータを管理することに伴い、コンテンツ識別情報の決定によりノード装置へのアクセスの集中を軽減することができる識別情報割当装置及びその情報処理方法並びにそのプログラムを提供する。
【解決手段】ノード装置を対象とするノード識別情報、コンテンツ識別情報として割当可能な複数の割当識別情報が所定の規則に従って配列された割当識別情報領域の中から、コンテンツデータを対象としてコンテンツ識別情報を割り当てる際に、コンテンツデータを公開するための公開情報に基づいて予測されるコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する。
【選択図】図19
【解決手段】ノード装置を対象とするノード識別情報、コンテンツ識別情報として割当可能な複数の割当識別情報が所定の規則に従って配列された割当識別情報領域の中から、コンテンツデータを対象としてコンテンツ識別情報を割り当てる際に、コンテンツデータを公開するための公開情報に基づいて予測されるコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する。
【選択図】図19
Description
本発明は、識別情報割当装置及びその情報処理方法並びにそのプログラムの技術分野に属し、より詳細には、ネットワーク上に分散配置された複数のノード装置から構成され、これらノード装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおけるコンテンツデータのコンテンツ識別情報を割り当てる識別情報割当装置及びその情報処理方法並びにそのプログラムの技術分野に属する。
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツデータ(以下、「コンテンツ」ともいう。)を配信する、いわゆるコンテンツ配信システムの研究が盛んである。
従来のコンテンツ配信システムの基本的構成として、特許文献1に示すように、分散ハッシュテーブル(DHT(Distributed Hash Table))を利用して論理的にオーバーレイネットワークを構築することにより、情報を効率的に分散配置して負荷分散を図る技術が提案されている。
このシステムにおいては、端末装置である各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
特許文献1のピアツーピア型のコンテンツ配信システムにおいては、各ノード装置がコンテンツデータを保持するコンテンツ配信サーバとなり、また、各ノード装置がコンテンツ配信要求クライアントにもなる。
また、このようなコンテンツ配信システムにおいて、コンテンツ配信サーバであるノード装置がコンテンツデータを保持しているだけでなく、ネットワーク上の他のノード装置もコンテンツデータの複製を保持しているものが知られている。以下、コンテンツデータの複製を保持しているノード装置をコンテンツ保持ノード装置ともいう。コンテンツ配信要求クライアントであるノード装置は、要求するコンテンツをこのようなコンテンツ保持ノード装置から入手することもできる。したがって、あるコンテンツに対する配信要求が増加した場合に、コンテンツ配信サーバであるノード装置だけでなく、その複製を保持しているコンテンツ保持ノード装置からもコンテンツを配信できるため、コンテンツ配信サーバであるノード装置へのアクセスの集中を回避できるものである。以下、コンテンツ配信サーバを含めてコンテンツ保持ノード装置と呼ぶ。
上述のようにピアツーピア型のコンテンツ配信システムにおいては、複数のコンテンツ保持ノード装置の位置情報を管理するノード装置(以下、「ルートノード装置」と呼ぶ。)が決められており、リクエストノード装置は要求するコンテンツを保持するコンテンツ保持ノード装置の位置情報(以下、「インデックス情報」と呼ぶ。)をルートノード装置に対して要求することによって、インデックス情報を取得し、このインデックス情報に基づいてコンテンツ保持ノード装置へコンテンツデータの配信要求を行う構成をとる。
また、ノード装置を対象としたノードID(ノード識別情報)やコンテンツデータを対象としたコンテンツID(コンテンツ識別情報)として割当可能なように割当可能識別情報が設定されており、その割当可能識別情報の中から、ノード装置固有のノードIDや、コンテンツデータ固有のコンテンツIDが割り当てられる。また、ノード装置は、その装置のノードIDがコンテンツIDに近いことを条件として、そのコンテンツデータのルートノード装置として決定されることとなる。これによって、コンテンツIDから、ルートノード装置のノードIDを検索し易くなり、ルートノード装置の所在、コンテンツデータの所在をより効率良く管理することができる。
特開2006−197400号公報
このようなネットワークにおいて、コンテンツデータを公開する公開時間が決定されており、その公開時間となる前においては、そのコンテンツデータを視聴できず、公開時間となることによってコンテンツデータを視聴可能となるように制御される。
しかしながら、例えば、人気のある複数のコンテンツデータの公開時間が近い場合において、それらコンテンツデータのコンテンツIDが相互に近いIDとして決定されたときには、複数のコンテンツデータのルートノード装置が同じになる、又は、複数のコンテンツデータのルートノード装置が、ノードIDの近いノード装置となることがあり、複数のコンテンツデータの所在情報を得るためのインデックス情報の要求や、コンテンツデータが複製された旨の情報などで、ルートノード装置をはじめとするノード装置へのアクセスの集中を招くおそれがあった。
本発明は、上述したような課題に鑑みてなされたものであり、複数のコンテンツデータを管理することに伴い、コンテンツ識別情報の決定によりノード装置へのアクセスの集中を軽減することができる識別情報割当装置及びその情報処理方法並びにそのプログラムを提供することを目的とする。
以上のような目的を達成するために、本発明は、以下のようなものを提供する。
すなわち、請求項1記載の本発明では、ネットワークを介してそれぞれ接続された複数のノード装置間で、各ノード装置が保持しているコンテンツデータを互いに送受信することにより、前記ノード装置へ前記コンテンツデータの配信を可能とし、各コンテンツデータには、コンテンツデータを識別するコンテンツ識別情報が付され、各ノード装置には、当該ノード装置を識別するノード識別情報が付され、コンテンツ識別情報との差が小さいノード識別情報が割り当てられたノード装置がコンテンツデータを管理対象とするコンテンツ管理ノード装置となるコンテンツ配信システムにおける前記コンテンツデータを対象としてコンテンツデータ識別情報を割り当てる識別情報割当装置において、前記コンテンツデータを公開するための公開情報が記憶された公開情報記憶手段と、前記ノード装置を対象とするノード識別情報、前記コンテンツ識別情報として割当可能な複数の割当可能識別情報の中から、前記コンテンツデータを対象としてコンテンツ識別情報を割り当てる際に、前記公開情報記憶手段に記憶された公開情報に基づいて予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定するコンテンツ識別情報割当手段と、を備えたことを特徴とするものである。
また、請求項2記載の本発明では、請求項1に記載の発明において、前記公開情報記憶手段には、前記コンテンツデータの公開時間と、当該コンテンツデータの公開時間からのコンテンツ予測アクセス度合いと、が公開情報として記憶されており、前記コンテンツ識別情報割当手段は、前記コンテンツデータの公開時間からのコンテンツ予測アクセス度合いに基づいて予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する機能を有することを特徴とするものである。
また、請求項3記載の本発明では、請求項2に記載の発明において、前記コンテンツ管理ノード装置のアクセス数を計数するアクセス計数手段と、前記アクセス計数手段によって計数された前記コンテンツ管理ノード装置のアクセス数を記憶するアクセス数記憶手段と、前記コンテンツデータのそれぞれにおける関連の有無を検索するコンテンツデータ関連検索手段と、前記アクセス数記憶手段に記憶され、前記コンテンツデータ関連検索手段によってコンテンツデータにおける関連があると検索された関連コンテンツデータに対応するアクセス数に基づいて、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを決定するコンテンツ予測アクセス度合い決定手段と、を備え、前記コンテンツ識別情報割当手段は、前記コンテンツ予測アクセス度合い決定手段によって決定された前記コンテンツデータの公開時間からのコンテンツ予測アクセス度合いから予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する機能を有することを特徴とするものである。
また、請求項4記載の本発明では、請求項3に記載の発明において、前記コンテンツ予測アクセス度合い決定手段は、前記コンテンツデータ関連検索手段によってコンテンツデータにおける関連があると検索されなかった場合には、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを所定のアクセス度合いとして決定する機能を有することを特徴とするものである。
また、請求項5記載の本発明では、請求項1から4のいずれかに記載の発明において、前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段を備え、前記コンテンツ識別情報仮決定手段によって決定された前記コンテンツ識別情報に対応する前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えるか否かを判定するコンテンツ識別情報判定手段を備え、前記コンテンツ識別情報仮決定手段は、前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えると前記コンテンツ識別情報判定手段によって判定された場合には、再度、前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定する機能を有し、前記コンテンツ識別情報割当手段は、前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないと前記コンテンツ識別情報判定手段によって判定された場合には、前記コンテンツ識別情報仮決定手段によって仮に決定されたコンテンツ識別情報を割り当てる機能を有することを特徴とするものである。
また、請求項6記載の本発明では、請求項1に記載の発明において、前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段と、前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置が、他のコンテンツデータを対象とするコンテンツ識別情報との重複を判定するコンテンツ識別情報判定手段と、を備え、前記コンテンツ識別情報割当手段は、前記コンテンツ識別情報判定手段によってコンテンツ管理ノード装置が重複しないと判定されるコンテンツ識別情報を決定する機能を有することを特徴とするものである。
また、請求項7記載の本発明では、請求項6に記載の発明において、前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置に、他のコンテンツデータのコンテンツ管理ノード装置であるか否かのコンテンツ管理情報を要求するコンテンツ管理情報要求手段を備え、前記コンテンツ識別情報判定手段は、前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置からのコンテンツ管理情報に基づいて、他のコンテンツデータを対象とするコンテンツ識別情報の重複を判定する機能を有することを特徴とするものである。
また、請求項8記載の本発明では、請求項1に記載の発明において、前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段と、前記識別情報仮決定手段によって決定されたコンテンツ識別情報と、他のコンテンツデータを対象とするコンテンツ識別情報との差が所定値以上であるか否かを判定するコンテンツ識別情報判定手段と、を備え、前記コンテンツ識別情報仮決定手段は、前記コンテンツ識別情報判定手段によって前記コンテンツ識別情報と他のコンテンツ識別情報との差が所定値未満となると判定された場合には、再度、前記コンテンツ識別情報を仮に決定する機能を有し、前記コンテンツ識別情報割当手段は、前記コンテンツ識別情報判定手段によって前記コンテンツ識別情報と他のコンテンツ識別情報との差が所定値以上となると判定された場合には、当該コンテンツ識別情報を割り当てる機能を有することを特徴とするものである。
また、請求項9記載の本発明では、請求項1に記載の発明において、前記公開情報記憶手段には、前記コンテンツデータの公開時間が公開情報として記憶されており、前記公開情報記憶手段に記憶された公開時間が所定範囲内であるコンテンツデータの数を判定するコンテンツデータ数判定手段と、前記コンテンツデータ数判定手段によって判定されたコンテンツデータの数に基づいて、前記割当可能識別情報を当該コンテンツデータの数に分けて、複数の領域として決定する領域決定手段と、を備え、前記コンテンツ識別情報割当手段は、前記領域決定手段によって決定された複数の領域毎に、公開時間が所定範囲内であるコンテンツデータを対象とするコンテンツ識別情報を割り当てる機能を有することを特徴とするものである。
また、請求項10記載の本発明では、請求項1から4のいずれかに記載の発明において、前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段と、前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するコンテンツ保持情報の記憶度合いが所定の記憶度合いを超えるか否かを判定するコンテンツ保持情報判定手段と、を備え、前記コンテンツ識別情報割当手段は、前記コンテンツ管理ノード装置におけるコンテンツ保持情報の記憶度合いが所定の記憶度合いを超えないと前記コンテンツ保持情報判定手段によって判定された場合には、前記コンテンツ識別情報仮決定手段によって仮に決定されたコンテンツ識別情報を割り当てる機能を有することを特徴とするものである。
また、請求項11記載の本発明では、ネットワークを介してそれぞれ接続された複数のノード装置間で、各ノード装置が保持しているコンテンツデータを互いに送受信することにより、前記ノード装置へ前記コンテンツデータの配信を可能とし、各コンテンツデータには、コンテンツデータを識別するコンテンツ識別情報が付され、各ノード装置には、当該ノード装置を識別するノード識別情報が付され、コンテンツ識別情報との差が小さいノード識別情報が割り当てられたノード装置がコンテンツデータを管理対象とするコンテンツ管理ノード装置となるコンテンツ配信システムにおける前記コンテンツデータを対象としてコンテンツデータ識別情報を割り当てる識別情報割当装置において、の情報処理方法において、前記識別情報割当装置は、前記ノード装置を対象とするノード識別情報、前記コンテンツ識別情報として割当可能な複数の割当可能識別情報の中から、前記コンテンツデータを対象としてコンテンツ識別情報を割り当てる際に、前記コンテンツデータを公開するための公開情報に基づいて予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定するコンテンツ識別情報割当ステップを有することを特徴とするものである。
また、請求項12記載の本発明では、コンピュータに、請求項1から10のいずれかに記載の識別情報割当装置の各手段として機能させるためのものである。
請求項1、11又は12に記載の発明によれば、ノード装置を対象とするノード識別情報、コンテンツ識別情報として割当可能な複数の割当可能識別情報の中から、コンテンツデータを対象としてコンテンツ識別情報を割り当てる際に、コンテンツデータを公開するための公開情報に基づいて予測されるコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する。従って、コンテンツデータを管理対象とするコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定するため、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
請求項2に記載の発明によれば、コンテンツデータの公開時間と、そのコンテンツデータの公開時間からのコンテンツ予測アクセス度合いと、が公開情報として記憶されており、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いに基づいて予測されるコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する。従って、コンテンツデータのコンテンツ予測アクセス度合いに基づいてコンテンツ識別情報を決定するため、コンテンツの人気度などを尺度として、コンテンツ予測アクセス度合いが設定されることによって、コンテンツ管理ノード装置のノード予測アクセス度合いの精度を高めることとなり、より一層、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
請求項3に記載の発明によれば、コンテンツ管理ノード装置のアクセス数を計数し、コンテンツデータにおける関連があると検索された関連コンテンツデータに対応するコンテンツ管理ノード装置のアクセス数に基づいて、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを決定する。そして、そのコンテンツデータの公開時間からのコンテンツ予測アクセス度合いから予測されるコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する。従って、コンテンツデータにおける関連があると検索された関連コンテンツデータに対応する実際のコンテンツ管理ノード装置のアクセス数に基づいてコンテンツ識別情報を決定するため、以前に公開されたコンテンツのアクセス数によって、コンテンツ管理ノード装置のノード予測アクセス度合いの精度を高めることとなり、より一層、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
請求項4に記載の発明によれば、コンテンツデータにおける関連があると検索されなかった場合には、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを所定のアクセス度合いとして決定する。従って、コンテンツデータにおける関連があると検索された関連コンテンツデータがない場合であっても、コンテンツ予測アクセス度合いを例えば、標準的な所定のアクセス度合いとして決定することができる。
請求項5に記載の発明によれば、割当可能識別情報の中から仮に決定されたコンテンツ識別情報に対応するコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えるか否かを判定し、コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えると判定された場合には、再度、割当可能識別情報の中からコンテンツ識別情報を仮に決定し、コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないと判定された場合には、仮に決定されたコンテンツ識別情報を割り当てる。従って、コンテンツ識別情報に対応するコンテンツ管理ノード装置のノード予測アクセス度合いが所定値を超えないと判定されるまで、割当可能識別情報の中からコンテンツ識別情報を仮に決定するため、コンテンツ識別情報に対応するコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いとなることはなく、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
請求項6に記載の発明によれば、割当可能識別情報の中から仮に決定されたコンテンツ識別情報のコンテンツ管理ノード装置が、他のコンテンツデータを対象とするコンテンツ識別情報との重複を判定し、コンテンツ管理ノード装置が重複しないと判定されるコンテンツ識別情報を決定する。従って、コンテンツ管理ノード装置の重複を防止することができ、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
請求項7に記載の発明によれば、仮に決定されたコンテンツ識別情報のコンテンツ管理ノード装置に、他のコンテンツデータのコンテンツ管理ノード装置であるか否かのコンテンツ管理情報を要求し、そのコンテンツ管理ノード装置からのコンテンツ管理情報に基づいて、他のコンテンツデータを対象とするコンテンツ識別情報の重複を判定する。従って、仮に決定されたコンテンツ識別情報のコンテンツ管理ノード装置からのコンテンツ管理情報に基づいて、他のコンテンツデータを対象とするコンテンツ識別情報の重複を判定するため、コンテンツ識別情報の重複判定を確実に行うことができる。
請求項8に記載の発明によれば、割当可能識別情報の中から仮に決定されたコンテンツ識別情報と、他のコンテンツデータを対象とするコンテンツ識別情報との差が所定値以上であるか否かを判定し、コンテンツ識別情報と他のコンテンツ識別情報との差が所定値未満となると判定された場合には、再度、コンテンツ識別情報を仮に決定し、コンテンツ識別情報と他のコンテンツ識別情報との差が所定値以上となると判定された場合には、そのコンテンツ識別情報を割り当てる。従って、コンテンツ識別情報と、他のコンテンツデータを対象とするコンテンツ識別情報との差が所定値以上となると判定されるまで、割当可能識別情報の中からコンテンツ識別情報を仮に決定するため、コンテンツ識別情報と、他のコンテンツデータを対象とするコンテンツ識別情報との差が所定値以上となり、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
請求項9に記載の発明によれば、コンテンツデータの公開時間が所定範囲内であるコンテンツデータの数を判定し、判定されたコンテンツデータの数に基づいて、割当可能識別情報をそのコンテンツデータの数に分けて、複数の領域として決定する。そして、決定された複数の領域毎に、公開時間が所定範囲内であるコンテンツデータを対象とするコンテンツ識別情報を割り当てる。従って、公開時間が所定範囲内であるコンテンツデータの数に割当可能識別情報を複数の領域として分けて、それぞれの領域にコンテンツデータを割り当てるため、コンテンツ識別情報の差を小さくすることを防止し、コンテンツデータの管理対象となるノード装置へのアクセス集中や、そのノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
請求項10に記載の発明によれば、割当可能識別情報の中から仮に決定されたコンテンツ識別情報のコンテンツ管理ノード装置によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するコンテンツ保持情報の記憶度合いが所定の記憶度合いを超えないと判定された場合には、仮に決定されたコンテンツ識別情報を割り当てる。従って、コンテンツ保持情報の記憶度合いが所定の記憶度合いを超えない場合に、コンテンツ識別情報を割り当てるため、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとしたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
まず始めに、図1を参照して、情報配信システムとしてのコンテンツ配信システムの概要構成等について説明する。図1は、本実施形態に係るコンテンツ配信システムにおける端末装置である各ノード装置の接続態様の一例を示す図である。このコンテンツ配信システムは、ネットワーク上に分散配置された複数のノード装置などから構成され、ノード装置間でコンテンツデータの送受信を行うものである。また、詳しく後述するが、本実施形態におけるコンテンツ配信システムは、複数のノード装置やコンテンツデータに対応する識別情報を割り当て、コンテンツデータを投入するコンテンツデータ管理装置10やコンテンツの閲覧に対する認証を行うコンテンツキー管理装置20(ともに図2参照)などから構成されている。
まず始めに、図1を参照して、情報配信システムとしてのコンテンツ配信システムの概要構成等について説明する。図1は、本実施形態に係るコンテンツ配信システムにおける端末装置である各ノード装置の接続態様の一例を示す図である。このコンテンツ配信システムは、ネットワーク上に分散配置された複数のノード装置などから構成され、ノード装置間でコンテンツデータの送受信を行うものである。また、詳しく後述するが、本実施形態におけるコンテンツ配信システムは、複数のノード装置やコンテンツデータに対応する識別情報を割り当て、コンテンツデータを投入するコンテンツデータ管理装置10やコンテンツの閲覧に対する認証を行うコンテンツキー管理装置20(ともに図2参照)などから構成されている。
図1の下部枠内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、および通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。なお、DSL回線業者の装置には、RADSL(Rate adaptive Asymmetric Digital Subscriber Line)回線の装置も含まれる。
コンテンツ配信システムSは、図1の上部枠内に示すように、ネットワーク8を介して相互に接続された端末装置としての複数のノード装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成され、ピアツーピア(P2P)方式のネットワークシステムとなっている。各ノード装置1a,1b,1c・・・1x,1y,1z・・には、ノード装置を示す情報としての固有の製造番号(たとえば、MACアドレス)およびIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号およびIPアドレスは、複数のノード装置1間で重複しないものである。また、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。
[1.1.DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用したアルゴリズムについて説明する。
以下に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用したアルゴリズムについて説明する。
上述したコンテンツ配信システムSにおいて、それらノード装置1同士が、互いに情報をやり取りする際には、お互いの位置情報としてのIPアドレスを認識可能な状態でなければならない。
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各ノード装置1が互いにネットワーク8に参加している全てのノード装置1のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万などと多数になると、その全てのノード装置1のIPアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源が頻繁にON或いはOFFとすると、各ノード装置1において記憶している当該任意のノード装置のIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台のノード装置1では、ネットワーク8に参加している全てのノード装置1のうち、必要最低限の一部のノード装置1のIPアドレスだけを記憶しておき、IPアドレスを記憶していないノード装置1については、各ノード装置1間で互いに情報を転送し合うことによりコンテンツを供給するシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9上に配置されたノード装置1を、コンテンツ配信システムSに参加(言い換えれば、オーバーレイネットワーク9に参加)しているノード装置1という。
コンテンツ配信システムSに参加している各ノード装置1の識別番号であるノードIDとして、それぞれのノード装置1毎にユニークな番号(固有番号)を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128=340×1036台のノード装置を運用できる。
より具体的には、各ノード装置1のノードIDは、それぞれのノード装置1のIPアドレスあるいは製造番号等のノード装置1毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められたノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。
また、コンテンツ配信システムSに参加している複数のノード装置1には、一のノード装置1から他のノード装置1に配信される共用情報としてのコンテンツデータ(例えば、音楽データ、映画データ、文書データ等)が分散して記憶されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別番号(以下、「コンテンツID」と呼ぶ。)が付与される。また、このコンテンツIDは、後述するコンテンツデータ管理装置10によって、コンテンツ配信システムSにおけるコンテンツデータを対象として割り当てられる。
そして、このコンテンツIDは、ノードIDと同様の長さ(例えば、128bit等)とし、例えば、コンテンツの名称(コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキーワードが、ノードIDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、ノード装置1のIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノード装置1が、コンテンツデータを保持するノード装置1(以下、「コンテンツ保持ノード装置」と呼ぶ。)へのリンク情報、すなわちコンテンツ保持ノード装置の位置情報であるIPアドレスを保持する。つまり、このコンテンツ配信システムSにおいては、コンテンツIDとの差が小さいノードIDが割り当てられたノード装置1がコンテンツデータを管理対象とするルートノード装置(コンテンツ管理ノード装置)となる。このコンテンツ保持ノード装置は、一定の規則の下(例えば、ルートノード装置がランダムに選択する規則の下)で決定される。これにより、コンテンツデータが偏りなくコンテンツ配信システムS上に分散して配置される。
このように、各ノード装置1および各コンテンツデータに付与されたノードIDおよびコンテンツIDは、共通のハッシュ関数によって生成するため、図2に示すように、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitでノードIDおよびコンテンツIDを付与し、図示したものである。図中丸点はノードIDを、四角形はコンテンツIDを示し、反時計回りでIDが増加するものとする。
次に、どのノード装置1に、どのコンテンツデータが保持されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツIDを有するコンテンツデータを管理するノード装置1は、そのコンテンツIDに近いノードIDを有するノード装置1である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDとノードIDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各ノード装置1に割り振る際に、一貫していればよく、例えば、当該コンテンツIDを超えるか否かは関することなく、コンテンツIDとノードIDとの差が一番少ないものとしてもよい。図2に示す例では、この定義に基づいて、コンテンツIDaは、当該コンテンツIDaに近いノードID(以下、「ノードIDa」と呼ぶ。)を有するノード装置1に管理され、コンテンツIDbは、当該コンテンツIDbに近いノードID(以下、「ノードIDb」と呼ぶ。)を有するノード装置1に管理され、コンテンツIDcは、当該コンテンツIDcに近いノードID(以下、「ノードIDc」と呼ぶ。)を有するノード装置1に管理される。
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れのノード装置1に保持されているかを認識している」ことを意味する。すなわち、図2において、ノードIDaを有するノード装置1は、コンテンツIDaを有するコンテンツデータが何れのノード装置1に保持されているかを認識しており、ノードIDbを有するノード装置1およびノードIDcを有するノード装置1も同様にそれぞれコンテンツIDbを有するコンテンツデータおよびコンテンツIDcを有するコンテンツデータが何れのノード装置1に保持されているかを認識している、ということになる。このように、あるコンテンツデータが何れのノード装置1に保持されているかを認識しているノード装置1を、そのコンテンツデータのルートノード装置(コンテンツ管理ノード装置の一例)と呼ぶ。つまり、ノードIDaを有するノード装置1は、コンテンツIDaを有するコンテンツデータのルートノード装置であって、ノードIDbを有するノード装置1は、コンテンツIDbを有するコンテンツデータのルートノード装置であって、ノードIDcを有するノード装置1は、コンテンツIDcを有するコンテンツデータのルートノード装置である。
また、コンテンツ配信システムSには、コンテンツ配信システムS内のノード装置をコンテンツ保持ノード装置とするためにコンテンツデータをルートノード装置へ配布する機能と、カタログリストを生成してノード装置へ提供する機能を有するコンテンツデータ管理装置10が設けられている。
このように、このコンテンツ配信システムSは、複数のノード装置間で、各ノード装置が保持しているコンテンツデータを互いに送受信することにより、ノード装置へコンテンツデータの配信を可能とするシステムである。
[1.2.ルーティングテーブルの作成]
ここで、図3を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図3は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
ここで、図3を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図3は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
まず、図3(a)に示すように、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8bitの4進数で表すことにする。そして、ノード装置1NのノードIDを「1133」とし、このノード装置1Nのルーティングテーブルを作る例について説明する。
(レベル1のルーティング)
まず、ID空間を4分割とした場合、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の自然数、以下同様。)で分けられる。ノード装置1Nは、当該ノード装置1N自身のノードIDが「1133」であるため、図3(a)中左下「1XXX」のエリアに存在することになる。そして、ノード装置1Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在するノード装置1を適当に選択し、当該ノードIDの位置情報、すなわち、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図4がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアのノードIDとして「0100」、「2XXX」のエリアのノードIDとして「2133」、「3XXX」のエリアのノードIDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
まず、ID空間を4分割とした場合、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の自然数、以下同様。)で分けられる。ノード装置1Nは、当該ノード装置1N自身のノードIDが「1133」であるため、図3(a)中左下「1XXX」のエリアに存在することになる。そして、ノード装置1Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在するノード装置1を適当に選択し、当該ノードIDの位置情報、すなわち、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図4がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアのノードIDとして「0100」、「2XXX」のエリアのノードIDとして「2133」、「3XXX」のエリアのノードIDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(レベル2のルーティング)
次に、図3(b)に示すように、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「11XX」を更に4分割し、更に4つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11XX」以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDの位置情報であるIPアドレスをレベル2のテーブルに記憶する。図4がレベル2のテーブルの一例である。このテーブルでは、「10XX」のエリアのノードIDとして「1003」、「12XX」のエリアのノードIDとして「1221」が、「13XX」のエリアのノードIDとして「1313」がそれぞれ選択されている状態を示している。なお、レベル2の2列目はノード装置1Nが存在するエリア「11XX」であり、後述するレベル3にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノードID及びIPアドレスの欄は空白となる。
次に、図3(b)に示すように、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「11XX」を更に4分割し、更に4つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11XX」以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDの位置情報であるIPアドレスをレベル2のテーブルに記憶する。図4がレベル2のテーブルの一例である。このテーブルでは、「10XX」のエリアのノードIDとして「1003」、「12XX」のエリアのノードIDとして「1221」が、「13XX」のエリアのノードIDとして「1313」がそれぞれ選択されている状態を示している。なお、レベル2の2列目はノード装置1Nが存在するエリア「11XX」であり、後述するレベル3にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノードID及びIPアドレスの欄は空白となる。
(レベル3のルーティング)
さらに、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「113X」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDの位置情報であるIPアドレスをレベル3のテーブルに記憶する。図4がレベル3のテーブルの一例である。レベル3の4列目はノード装置1Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノードID及びIPアドレスの欄は空白となる。
さらに、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「113X」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDの位置情報であるIPアドレスをレベル3のテーブルに記憶する。図4がレベル3のテーブルの一例である。レベル3の4列目はノード装置1Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノードID及びIPアドレスの欄は空白となる。
このようにして、レベル4まで同様にルーティングテーブルを図4に示すように作成することにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置1が夫々作成して所有することになる。このように、各ノード装置1は、コンテンツ配信システムSにおける複数のノード装置1のうち一部のノード装置1のノードID(識別情報)とIPアドレス(位置情報)とを関連付けたルーティングテーブルを有しており、このルーティングテーブルは後述のルーティングテーブル記憶手段に記憶される。
[1.3.コンテンツデータの検索方法]
次に、図5を参照して、コンテンツデータを保持しているノード装置1の検索方法の一例について説明する。図5は、DHTによりコンテンツデータを保持しているノード装置1が検索される様子の一例を示す図である。
次に、図5を参照して、コンテンツデータを保持しているノード装置1の検索方法の一例について説明する。図5は、DHTによりコンテンツデータを保持しているノード装置1が検索される様子の一例を示す図である。
ここでは、ノードID「1133」のノード装置1Nが、コンテンツID「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの受信を要求するノード装置を「リクエストノード装置」と呼ぶ。
リクエストノード装置1Nは、自己が保持しているルーティングテーブルのレベル1のテーブルを参照して、コンテンツID「3020」と同じエリアのノードIDを持つノード装置のノードIDを宛先識別情報としてコンテンツデータ配信元情報(コンテンツ保持ノード装置の位置情報を含む情報)の送信要求(以下、「コンテンツ検索メッセージ」と呼ぶ。)を送信する。すなわち、コンテンツID「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属すノード装置1のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)ノード装置1A(ノードID「3213」)に対してコンテンツ検索メッセージを送信する。このように、コンテンツ検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツIDを含むものであり、このコンテンツIDはコンテンツ検索メッセージにおいて宛先識別情報として用いられる。
図5に示す例によれば、ノードIDが「3213」であるノード装置1AのIPアドレスがリクエストノード装置1Nのルーティングテーブル(図4参照。)に記憶されているので、リクエストノード装置1Nは、ノードIDが「3213」であるノード装置1Aに対してコンテンツ検索メッセージを送信する。
次に、コンテンツ検索メッセージを受信したノード装置1Aは、このコンテンツ検索メッセージが自ノード装置1A宛のメッセージであるか否かを判定する。自ノード装置1A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自ノード装置1Aの識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、ノード装置1A自身が保持しているルーティングテーブルに記憶されているノード装置の識別情報から、一番近いノード装置の識別情報が、自身であるか他のノード装置であるかを判定する。ここでは、自ノード装置1Aの識別情報よりも他のノード装置の識別情報の方が、宛先識別情報に近いため、ノード装置1Aは、当該ノード装置1A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属すノード装置1のうち、IPアドレスを知っているノード装置1B(ノードID「3031」)に対してコンテンツ検索メッセージを転送する。
このように、コンテンツIDの桁を上から順に適合していく要領でコンテンツ検索メッセージの転送が進み、最終的に当該コンテンツデータを管理するノード装置1C、すなわちルートノード装置に辿り着くと、当該ルートノード装置は、コンテンツ検索メッセージに含まれるコンテンツID「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持ノード装置1のIPアドレス等をリクエストノード装置1Nに返信するようになっている。なお、コンテンツ検索メッセージなどのメッセージを目的のノード装置へ辿り着くまでに、上述のように転送する仕組みをDHTルーティングと呼ぶ。
こうして、リクエストノード装置1Nは、上記ルートノード装置1Cから、コンテンツID「3020」のコンテンツデータの位置情報、即ち、コンテンツID「3020」のコンテンツデータを保持するコンテンツ保持ノード装置1のIPアドレスを受信して知ることになり、当該コンテンツ保持ノード装置1から、そのコンテンツデータをダウンロードして取得することになる。
[1.4.インデックステーブルへの登録方法]
このような構成のコンテンツ配信システムSの中で、例えば、あるノード装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他のノード装置1から検索可能となるように公開する際の手法について述べる。このノード装置1がコンテンツデータを記憶し、保持するコンテンツ保持ノード装置となる。
このような構成のコンテンツ配信システムSの中で、例えば、あるノード装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他のノード装置1から検索可能となるように公開する際の手法について述べる。このノード装置1がコンテンツデータを記憶し、保持するコンテンツ保持ノード装置となる。
コンテンツデータ管理装置10から配布されたコンテンツデータを記憶するコンテンツ保持ノード装置は、記憶したコンテンツデータのコンテンツIDと同じノードIDを持つノード装置に向けて(このノード装置が実在するか否かはこの時点ではわからない。)登録メッセージを送信する。そして、この登録メッセージも、上記コンテンツ検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該登録メッセージに含まれるコンテンツIDに最も近いノードIDを有するノード装置1まで転送されたところで、そのノード装置1はもはや転送先のノード装置1が他にないと判断すると、当該ノード装置1自身がそのコンテンツのルートノード装置となるべきだと判断し、当該登録メッセージに含まれる当該コンテンツID及びコンテンツ保持ノードのノードIDやIPアドレス(以下、これらを「インデックス情報」と呼ぶ。)をインデックス情報として記憶する。
更にまた、本実施形態では、登録メッセージがルートノード装置へ転送される経路の途中のノード装置1でも、登録メッセージに含まれるインデックス情報をキャッシュとして保持するように構成されており、このようなノード装置をキャッシュノード装置という。これにより、ルートノード装置がコンテンツを検索するためのコンテンツ検索メッセージを受信するより前に、キャッシュノード装置にコンテンツ検索メッセージが転送された時点でキャッシュノード装置がコンテンツ保持ノード装置のIPアドレスやノードIDを、コンテンツの所在を検索したリクエストノード装置に返信することが可能になる。なお、本実施形態においては、コンテンツ検索メッセージに対して少なくともコンテンツ保持ノード装置のIPアドレスを返信することとするが、ノードIDをコンテンツ保持ノード装置のIPアドレスと共に返信するようにしてもよい。
登録メッセージを転送していく際には、通常、上述のようにキャッシュノード装置が登録メッセージに基づいたインデックス情報を保持していく。
ここで、図6(a)に示すように、ノードIDが「1301」であるノード装置1MをコンテンツID「3020」であるコンテンツを保持するコンテンツ保持ノード装置とし、ノードIDが「3011」であるノード装置1CをコンテンツID「3020」であるコンテンツのルートノード装置とした場合におけるインデックス情報の保持について図6(a)、(b)を参照して説明する。
図6(a)、(b)に示すように、コンテンツ保持ノード装置であるノード装置1Mがインデックス情報を含む登録メッセージを送信すると、これを受け取ったノード装置1Aは、当該インデックス情報を保持することによりキャッシュノード装置(1)として機能する。キャッシュノード装置(1)は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置1Bは、当該インデックス情報を保持することによりキャッシュノード装置(2)として機能する。キャッシュノード装置(2)は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置1Cは、当該インデックス情報を保持することによりルートノード装置として機能する。このようにノード装置1A,1B,1Cは登録メッセージに含まれるインデックス情報を保持することになる。
ところで、ルートノード装置やキャッシュノード装置におけるインデックス情報の保持は、図7に示すようなインデックステーブルにより行われる。図7はルートノード装置1Cにおけるインデックステーブルの例を示したものであり、自ノード装置が管理対象であるコンテンツID「3020」のコンテンツに関するコンテンツ保持ノード装置のノードIDやIPアドレスなどを記憶する他、キャッシュノード装置としてコンテンツID「2021」のコンテンツに関するコンテンツ保持ノード装置の識別情報を記憶している。なお、インデックステーブルには、コンテンツID、コンテンツ保持ノード装置のノードIDやIPアドレスの他、著作権情報なども記憶することができる。
このような構成で、従来においては、コンテンツデータが公開される前においては、図8(a)に示すように、投入されたコンテンツデータが保持される。また、保持されるコンテンツデータのコンテンツIDに基づいて、コンテンツデータを保持するコンテンツ保持ノード装置から、そのコンテンツ保持ノード装置のノードIDなどの登録メッセージ等が、ルートノード装置に向かって転送される。このため、公開日時が近いコンテンツデータのルートノード装置がID空間上で近い場合、即ち、公開日時が近いコンテンツデータのコンテンツIDが近い場合には、ルートノード装置、又は、ルートノード装置の近くのノード装置へのアクセスの集中を招くおそれがあった。また、公開日時が近いコンテンツデータのルートノード装置がID空間上で近い場合、即ち、公開日時が近いコンテンツデータのコンテンツIDが近い場合には、公開日時となったときにも、図8(b)に示すように、ルートノード装置に向かって、コンテンツ保持ノード装置を検索するための検索メッセージなどが転送されるため、ルートノード装置、又は、ルートノード装置の近くのノード装置へのアクセスの集中を招くおそれがあった。このような課題を解決するために、本実施形態において、コンテンツIDの決定が行われている。
[2.コンテンツデータ管理装置10の構成等の説明]
次に、図面を参照して、コンテンツデータ管理装置10の構成及び動作について説明する。図9は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツデータ管理装置10の概略構成を示す図である。
次に、図面を参照して、コンテンツデータ管理装置10の構成及び動作について説明する。図9は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツデータ管理装置10の概略構成を示す図である。
コンテンツデータ管理装置10は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図9に示すように、CPU(Central Processing Unit)102と、各種プログラム等を記憶(記憶)する書き換え可能な主記憶装置としての第1記憶部103と、各種データ等を記憶するHDD等から構成された第2記憶部104と、ルータ120を介してネットワーク8に参加している他のノード装置1との間で通信を行うためのネットワークインターフェイス105と、コンテンツ配信システムSの管理者によってコンテンツデータ管理装置10の制御を行うために情報を入力する入力手段であるマウス107aやキーボード107bと、入力手段から入力された情報を処理するための周辺機器制御チップ106と、CPU102の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ109に表示するビデオチップ108等を備えて構成され、これらの各種構成要素はシステムバス101を介して相互に接続されている。なお、本実施形態においては、CPU102と第1記憶部103とで制御手段114を構成している。
(第1記憶部103について)
また、第1記憶部103には、コンテンツデータ管理装置10のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム110、ディスプレイ109の制御等を行うための画面制御プログラム111、コンテンツ配信システムSにコンテンツを投入する毎にコンテンツの一覧表であるカタログリストを更新するためのカタログ更新プログラム112と、コンテンツ配信システムSにコンテンツを新規に投入するための新規投入コンテンツプログラム113等を記憶しており、これらはCPU102によって読み出され、CPU102によってこれらのプログラムに従った機能が実行される。なお、「コンテンツ配信システムSにコンテンツを投入」とは、コンテンツデータ管理装置10が、あるコンテンツに関してコンテンツ保持ノード装置となるノード装置1を決定し、当該決定したノード装置1にコンテンツデータを配布することを意味する。
また、第1記憶部103には、コンテンツデータ管理装置10のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム110、ディスプレイ109の制御等を行うための画面制御プログラム111、コンテンツ配信システムSにコンテンツを投入する毎にコンテンツの一覧表であるカタログリストを更新するためのカタログ更新プログラム112と、コンテンツ配信システムSにコンテンツを新規に投入するための新規投入コンテンツプログラム113等を記憶しており、これらはCPU102によって読み出され、CPU102によってこれらのプログラムに従った機能が実行される。なお、「コンテンツ配信システムSにコンテンツを投入」とは、コンテンツデータ管理装置10が、あるコンテンツに関してコンテンツ保持ノード装置となるノード装置1を決定し、当該決定したノード装置1にコンテンツデータを配布することを意味する。
ここで、OSプログラム110は、CPU102によって読み出されて実行されることにより、マウス107aやキーボード107bに関する機能や、第1記憶部103や第2記憶部104などのメモリ管理等のコンテンツデータ管理装置10であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム110がCPU102によって実行された状態で、上述の画面制御プログラム111、カタログ更新プログラム112、新規投入コンテンツプログラム113等が第1記憶部103から読み出されて実行される。
なお、OSプログラム110、画面制御プログラム111、カタログ更新プログラム112、新規投入コンテンツプログラム113等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス105を介して、第1記憶部103にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第1記憶部103に読み込まれるようにしてもよい。
(第2記憶部104について)
第2記憶部104には、カタログ更新プログラムによって生成され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域115と、コンテンツ配信システムSにおいて提供されているコンテンツのデータを記憶する投入済コンテンツデータ記憶領域116と、コンテンツ配信システムSにおいて新規に提供されるコンテンツのデータを記憶するコンテンツデータ記憶手段としての新規コンテンツデータ記憶領域117とを有している。
第2記憶部104には、カタログ更新プログラムによって生成され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域115と、コンテンツ配信システムSにおいて提供されているコンテンツのデータを記憶する投入済コンテンツデータ記憶領域116と、コンテンツ配信システムSにおいて新規に提供されるコンテンツのデータを記憶するコンテンツデータ記憶手段としての新規コンテンツデータ記憶領域117とを有している。
(制御手段114について)
制御手段114は、上述のようにCPU102と第1記憶部103とから構成され、CPU102が第1記憶部103に記憶された各種プログラム110〜113を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ関連検索手段、コンテンツ予測アクセス度合い決定手段、コンテンツ識別情報仮決定手段、コンテンツ識別情報判定手段、コンテンツ保持情報判定手段、コンテンツ識別情報割当手段等として機能するようになっている。
制御手段114は、上述のようにCPU102と第1記憶部103とから構成され、CPU102が第1記憶部103に記憶された各種プログラム110〜113を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ関連検索手段、コンテンツ予測アクセス度合い決定手段、コンテンツ識別情報仮決定手段、コンテンツ識別情報判定手段、コンテンツ保持情報判定手段、コンテンツ識別情報割当手段等として機能するようになっている。
なお、CPU102が画面制御プログラム111を実行することによって表示制御手段等として、またCPU102がカタログ更新プログラム112を実行することによってカタログ更新手段等として、またCPU102が新規投入コンテンツプログラム113を実行することによって、コンテンツデータ関連検索手段、コンテンツ予測アクセス度合い決定手段、コンテンツ識別情報仮決定手段、コンテンツ識別情報判定手段、コンテンツ保持情報判定手段、コンテンツ識別情報割当手段等として、それぞれ機能するようになっている。
(表示制御手段について)
表示制御手段は、ビデオチップ108及びディスプレイ109を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ109にどのように映像を表示させるかを制御する。
表示制御手段は、ビデオチップ108及びディスプレイ109を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ109にどのように映像を表示させるかを制御する。
(コンテンツデータ関連検索手段について)
コンテンツデータ関連検索手段は、新規にコンテンツ配信システムSに投入するコンテンツデータのそれぞれにおける関連の有無を検索する機能を有する。
コンテンツデータ関連検索手段は、新規にコンテンツ配信システムSに投入するコンテンツデータのそれぞれにおける関連の有無を検索する機能を有する。
(コンテンツ予測アクセス度合い決定手段について)
コンテンツ予測アクセス度合い決定手段は、コンテンツデータにおける関連があると検索された場合には、コンテンツデータにおける関連があると検索された関連コンテンツデータに対応するアクセス数に基づいて、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを決定する機能を有する。また、コンテンツ予測アクセス度合い決定手段は、コンテンツデータにおける関連があると検索されなかった場合には、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを所定のアクセス度合いとして決定する機能を有する。
コンテンツ予測アクセス度合い決定手段は、コンテンツデータにおける関連があると検索された場合には、コンテンツデータにおける関連があると検索された関連コンテンツデータに対応するアクセス数に基づいて、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを決定する機能を有する。また、コンテンツ予測アクセス度合い決定手段は、コンテンツデータにおける関連があると検索されなかった場合には、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを所定のアクセス度合いとして決定する機能を有する。
(コンテンツ識別情報判定手段について)
コンテンツ識別情報判定手段は、決定されたコンテンツID(コンテンツ識別情報)に対応するルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えるか否かを判定する機能を有する。
コンテンツ識別情報判定手段は、決定されたコンテンツID(コンテンツ識別情報)に対応するルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えるか否かを判定する機能を有する。
(コンテンツ識別情報仮決定手段について)
コンテンツ識別情報仮決定手段は、ID空間(割当可能識別情報)の中からコンテンツID(コンテンツ識別情報)を仮に決定する機能を有し、その結果、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えると判定された場合には、再度、ID空間の中からコンテンツIDを仮に決定する機能を有する。
コンテンツ識別情報仮決定手段は、ID空間(割当可能識別情報)の中からコンテンツID(コンテンツ識別情報)を仮に決定する機能を有し、その結果、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えると判定された場合には、再度、ID空間の中からコンテンツIDを仮に決定する機能を有する。
(コンテンツ保持情報判定手段について)
コンテンツ保持情報判定手段は、仮に決定されたコンテンツID(コンテンツ識別情報)のルートノード装置(コンテンツ管理ノード装置)によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するキャッシュ(コンテンツ保持情報)の記憶度合いが所定の記憶度合いを超えるか否かを判定する機能を有する。
コンテンツ保持情報判定手段は、仮に決定されたコンテンツID(コンテンツ識別情報)のルートノード装置(コンテンツ管理ノード装置)によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するキャッシュ(コンテンツ保持情報)の記憶度合いが所定の記憶度合いを超えるか否かを判定する機能を有する。
(コンテンツ識別情報割当手段について)
コンテンツ識別情報割当手段は、ID空間の中から、コンテンツデータを対象としてコンテンツID(コンテンツ識別情報)を割り当てる際に、決定されたコンテンツデータの公開時間からのコンテンツ予測アクセス度合いから予測されるコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する機能を有する。具体的には、コンテンツ識別情報割当手段は、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えないと判定された場合には、仮に決定されたコンテンツID(コンテンツ識別情報)を割り当てる機能を有する。
コンテンツ識別情報割当手段は、ID空間の中から、コンテンツデータを対象としてコンテンツID(コンテンツ識別情報)を割り当てる際に、決定されたコンテンツデータの公開時間からのコンテンツ予測アクセス度合いから予測されるコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する機能を有する。具体的には、コンテンツ識別情報割当手段は、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えないと判定された場合には、仮に決定されたコンテンツID(コンテンツ識別情報)を割り当てる機能を有する。
[3.ノード装置1の構成等の説明]
次に、図面を参照して、ノード装置1の構成及び動作について説明する。図10は、本実施形態に係るコンテンツ配信システムSにおけるノード装置1の概略構成を示す図である。
次に、図面を参照して、ノード装置1の構成及び動作について説明する。図10は、本実施形態に係るコンテンツ配信システムSにおけるノード装置1の概略構成を示す図である。
ノード装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図10に示すように、CPU(Central Processing Unit)202と、各種プログラム等を記憶(記憶)する書き換え可能な主記憶装置としての第1記憶部203と、各種データ等を記憶するHDD等から構成された第2記憶部204と、ルータ224を介してネットワーク8に参加している他のノード装置1との間で通信を行うためのネットワークインターフェイス205と、ユーザによってノード装置1を遠隔操作するために所定の赤外線信号を送信及び受信するリモコン206と、このリモコン206と赤外線により通信を行うための赤外線ポート207と、赤外線ポート207を制御する周辺機器制御チップ208と、CPU202の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ210に表示するビデオチップ209と、FM音源やWave Table音源などの音源を有し、オーディオ信号をスピーカ212に出力することによってスピーカ212から音波を出力させる音源チップ211と、を備えて構成され、これらの各種構成要素はシステムバス201を介して相互に接続されている。なお、本実施形態においては、CPU202と第1記憶部203とで制御手段213を構成している。
(第1記憶部203について)
また、第1記憶部203には、ノード装置1のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム214、ディスプレイ210の制御等を行うための画面制御プログラム215、コンテンツ保持ノード装置として機能する他のノード装置から送信されるコンテンツデータをストリーミング受信し、また自ノード装置がコンテンツ保持ノード装置として機能するときには第2記憶部204に記憶したコンテンツデータをストリーミング配信するためのストリーム制御プログラム216、他のノード装置とメッセージの送受信を行うためのメッセージ監視プログラム217、配信されたコンテンツデータの再生等を行うためのプレイヤプログラム218、ノード装置1におけるアクセスやキャッシュ量を推測するアクセス推測プログラム221等を記憶しており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。また、第1記憶部203には、更にインデックステーブル(図7参照)を記憶するためのインデックステーブル記憶領域219やルーティングテーブル(図4参照)を記憶するためのルーティングテーブル記憶領域220が設けられている。
また、第1記憶部203には、ノード装置1のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム214、ディスプレイ210の制御等を行うための画面制御プログラム215、コンテンツ保持ノード装置として機能する他のノード装置から送信されるコンテンツデータをストリーミング受信し、また自ノード装置がコンテンツ保持ノード装置として機能するときには第2記憶部204に記憶したコンテンツデータをストリーミング配信するためのストリーム制御プログラム216、他のノード装置とメッセージの送受信を行うためのメッセージ監視プログラム217、配信されたコンテンツデータの再生等を行うためのプレイヤプログラム218、ノード装置1におけるアクセスやキャッシュ量を推測するアクセス推測プログラム221等を記憶しており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。また、第1記憶部203には、更にインデックステーブル(図7参照)を記憶するためのインデックステーブル記憶領域219やルーティングテーブル(図4参照)を記憶するためのルーティングテーブル記憶領域220が設けられている。
ここで、OSプログラム214は、CPU202によって読み出されて実行されることにより、リモコン206の入出力に関する機能や、第1記憶部203や第2記憶部204などのメモリ管理等のノード装置1であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム214がCPU202によって実行された状態で、上述の画面制御プログラム215、ストリーム制御プログラム216、メッセージ監視プログラム217、プレイヤプログラム218、アクセス推測プログラム221等が第1記憶部203から読み出されて実行される。
なお、OSプログラム214、画面制御プログラム215、ストリーム制御プログラム216、メッセージ監視プログラム217、プレイヤプログラム218、アクセス推測プログラム221等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス205を介して、第1記憶部203にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第1記憶部203に読み込まれるようにしてもよい。
(第2記憶部204について)
第2記憶部204には、コンテンツデータ管理装置10から投入され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域222と、コンテンツデータ管理装置10等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域223等を有している。
第2記憶部204には、コンテンツデータ管理装置10から投入され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域222と、コンテンツデータ管理装置10等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域223等を有している。
(制御手段213について)
制御手段213は、上述のようにCPU202と第1記憶部203とから構成され、CPU202が第1記憶部203に記憶された各種プログラム214〜218を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、ストリーム制御手段、メッセージ宛先判定手段、メッセージ転送手段、コンテンツデータ取得手段、登録メッセージ生成手段、登録メッセージ送信手段、削除メッセージ生成手段、削除メッセージ送信手段、コンテンツ保持ノード情報取得手段、コンテンツ保持ノード要求情報生成手段、コンテンツ保持ノード要求情報送信手段、判断手段、ノード識別情報送信手段、デコード手段、コンテンツ再生手段、アクセス数推測手段、キャッシュ推測手段等として機能するようになっている。
制御手段213は、上述のようにCPU202と第1記憶部203とから構成され、CPU202が第1記憶部203に記憶された各種プログラム214〜218を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、ストリーム制御手段、メッセージ宛先判定手段、メッセージ転送手段、コンテンツデータ取得手段、登録メッセージ生成手段、登録メッセージ送信手段、削除メッセージ生成手段、削除メッセージ送信手段、コンテンツ保持ノード情報取得手段、コンテンツ保持ノード要求情報生成手段、コンテンツ保持ノード要求情報送信手段、判断手段、ノード識別情報送信手段、デコード手段、コンテンツ再生手段、アクセス数推測手段、キャッシュ推測手段等として機能するようになっている。
なお、CPU202が画面制御プログラム215を実行することによって、表示制御手段等として、またCPU202がストリーム制御プログラム216を実行することによって、ストリーム制御手段等として、またCPU202がメッセージ監視プログラム217を実行することによって、メッセージ宛先判定手段、メッセージ転送手段、コンテンツデータ取得手段、登録メッセージ生成手段、登録メッセージ送信手段、削除メッセージ生成手段、削除メッセージ送信手段、コンテンツ保持ノード情報取得手段、コンテンツ保持ノード要求情報生成手段、コンテンツ保持ノード要求情報送信手段、判断手段、ノード識別情報送信手段等として、またCPU202がプレイヤプログラム218を実行することによって、デコード手段及びコンテンツ再生制御手段等として、またCPU202がアクセス推測プログラム221を実行することによって、アクセス数推測手段、キャッシュ推測手段等として、それぞれ機能するようになっている。
(表示制御手段について)
表示制御手段は、ビデオチップ209及びディスプレイ210を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ210にどのように映像を表示させるかを制御する。
表示制御手段は、ビデオチップ209及びディスプレイ210を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ210にどのように映像を表示させるかを制御する。
(ストリーム制御手段)
ストリーム制御手段は、他のノード装置1からストリーミング配信されるコンテンツデータを受信するコンテンツデータ受信手段、及び第2記憶部204に記憶したコンテンツデータを他のノード装置1へストリーミング配信するコンテンツデータ配信手段等としての機能を有している。
ストリーム制御手段は、他のノード装置1からストリーミング配信されるコンテンツデータを受信するコンテンツデータ受信手段、及び第2記憶部204に記憶したコンテンツデータを他のノード装置1へストリーミング配信するコンテンツデータ配信手段等としての機能を有している。
コンテンツデータ受信手段は、他のノード装置1から配信されるパケットがコンテンツパケットであると判定されたときに、そのコンテンツパケットを1パケットずつ受信し、図示しない第1記憶部203のリングバッファに一時的に記憶し、その後第2記憶部204に記憶する。また、コンテンツ配信手段は、第2記憶部204に記憶したコンテンツデータをコンテンツパケットに変換し、1パケットずつネットワークインターフェイス205を介して他のノード装置1へ送信する。なお、コンテンツデータ受信手段やコンテンツデータ配信手段は、公知のストリーミング配信用プロトコルを用いることができる他、独自の専用プロトコルを用いるようにすることもできる。
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク8を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自ノード装置1宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持ノード装置の識別情報をルートノード装置に要求するためのコンテンツ検索メッセージ、ルートノード装置にコンテンツ保持ノード装置の識別情報を登録するための登録メッセージなどである。
メッセージ宛先判定手段は、ネットワーク8を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自ノード装置1宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持ノード装置の識別情報をルートノード装置に要求するためのコンテンツ検索メッセージ、ルートノード装置にコンテンツ保持ノード装置の識別情報を登録するための登録メッセージなどである。
受信したメッセージが自ノード装置1宛であるか否かの判定は、メッセージに含まれる宛先ノードID(宛先識別情報)を取り出し、第1記憶部203に記憶したルーティングテーブルに基づいて後述の制御手段213が判定する。すなわち、各種のメッセージをネットワークインターフェイス205を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶したノードIDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上のノードIDが自ノード装置1のノードIDであると判定すると、自ノード装置1宛のメッセージであると判定する。
(メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク8を介して受信したメッセージが自ノード装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、前記ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して、受信したメッセージを送信先ノード装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶されたノード装置のノードIDのうち、宛先識別情報に近いノードIDを選択し、このように選択したノードIDに対応するノード装置のIPアドレスを知り、そのIPアドレスをIPパケットの宛先として、メッセージを転送する。
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク8を介して受信したメッセージが自ノード装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、前記ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して、受信したメッセージを送信先ノード装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶されたノード装置のノードIDのうち、宛先識別情報に近いノードIDを選択し、このように選択したノードIDに対応するノード装置のIPアドレスを知り、そのIPアドレスをIPパケットの宛先として、メッセージを転送する。
(コンテンツデータ取得手段について)
コンテンツデータ取得手段は、ネットワークインターフェイス205を介して受信したメッセージがコンテンツデータ管理装置10からのコンテンツデータの保持要求であるときに、このコンテンツデータの保持要求に対応するコンテンツデータをコンテンツデータ管理装置10から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶する。なお、上述のように、コンテンツデータの保持要求はDHTルーティングによって送受信され、コンテンツデータの送受信は1対1通信で行われる。
コンテンツデータ取得手段は、ネットワークインターフェイス205を介して受信したメッセージがコンテンツデータ管理装置10からのコンテンツデータの保持要求であるときに、このコンテンツデータの保持要求に対応するコンテンツデータをコンテンツデータ管理装置10から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶する。なお、上述のように、コンテンツデータの保持要求はDHTルーティングによって送受信され、コンテンツデータの送受信は1対1通信で行われる。
(登録メッセージ生成手段について)
登録メッセージ生成手段は、コンテンツデータ管理装置10から受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶したとき、当該コンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自ノード装置1の識別情報であるノードID及びIPアドレスとを含む登録メッセージを生成する。また、他のコンテンツ保持ノード装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶し、登録メッセージを生成する。
登録メッセージ生成手段は、コンテンツデータ管理装置10から受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶したとき、当該コンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自ノード装置1の識別情報であるノードID及びIPアドレスとを含む登録メッセージを生成する。また、他のコンテンツ保持ノード装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶し、登録メッセージを生成する。
(登録メッセージ送信手段について)
登録メッセージ送信手段は、登録メッセージ生成手段によって生成した登録メッセージを、第2記憶部204に記憶したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して送信する。
登録メッセージ送信手段は、登録メッセージ生成手段によって生成した登録メッセージを、第2記憶部204に記憶したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して送信する。
(削除メッセージ生成手段について)
削除メッセージ生成手段は、コンテンツデータ記憶手段である第2記憶部204に記憶したコンテンツデータを削除したとき、当該コンテンツデータの識別情報であるコンテンツIDと、自ノード装置1の識別情報であるノードID及びIPアドレスとを含む削除メッセージを生成する。
削除メッセージ生成手段は、コンテンツデータ記憶手段である第2記憶部204に記憶したコンテンツデータを削除したとき、当該コンテンツデータの識別情報であるコンテンツIDと、自ノード装置1の識別情報であるノードID及びIPアドレスとを含む削除メッセージを生成する。
(削除メッセージ送信手段について)
削除メッセージ送信手段は、削除メッセージ生成手段によって生成した削除メッセージを、第2記憶部204から削除したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して送信する。
削除メッセージ送信手段は、削除メッセージ生成手段によって生成した削除メッセージを、第2記憶部204から削除したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して送信する。
(コンテンツ保持ノード情報取得手段について)
コンテンツ保持ノード情報取得手段は、自ノード装置1において、受信したメッセージが登録メッセージであるとき、登録メッセージに含まれるコンテンツ保持ノード装置の識別情報であるノードIDやIPアドレスなどと、同じく登録メッセージに含まれるコンテンツIDの組からなるインデックス情報を取得する。そして、このように取得したインデックス情報をコンテンツ保持ノード情報記憶手段であるインデックステーブル記憶領域219に記憶する。
コンテンツ保持ノード情報取得手段は、自ノード装置1において、受信したメッセージが登録メッセージであるとき、登録メッセージに含まれるコンテンツ保持ノード装置の識別情報であるノードIDやIPアドレスなどと、同じく登録メッセージに含まれるコンテンツIDの組からなるインデックス情報を取得する。そして、このように取得したインデックス情報をコンテンツ保持ノード情報記憶手段であるインデックステーブル記憶領域219に記憶する。
(コンテンツ保持ノード要求情報生成手段について)
コンテンツ保持ノード要求情報生成手段は、コンテンツ検索メッセージを生成する。例えば、コンテンツデータ管理装置10から受信したカタログリストをディスプレイ210に表示した後、ノード装置1のユーザによるリモコン206の操作によって、カタログリストの中から所望のコンテンツが選択されると、コンテンツ保持ノード要求情報生成手段は、当該選択されたコンテンツを保持するコンテンツ保持ノード装置の所在情報を検索するためのコンテンツ保持ノード要求情報であるコンテンツ検索メッセージを生成する。コンテンツ検索メッセージは、要求するコンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自ノード装置1の識別情報であるノードIDを要求元識別情報としたメッセージである。
コンテンツ保持ノード要求情報生成手段は、コンテンツ検索メッセージを生成する。例えば、コンテンツデータ管理装置10から受信したカタログリストをディスプレイ210に表示した後、ノード装置1のユーザによるリモコン206の操作によって、カタログリストの中から所望のコンテンツが選択されると、コンテンツ保持ノード要求情報生成手段は、当該選択されたコンテンツを保持するコンテンツ保持ノード装置の所在情報を検索するためのコンテンツ保持ノード要求情報であるコンテンツ検索メッセージを生成する。コンテンツ検索メッセージは、要求するコンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自ノード装置1の識別情報であるノードIDを要求元識別情報としたメッセージである。
(コンテンツ保持ノード要求情報送信手段について)
コンテンツ保持ノード要求情報送信手段は、コンテンツ検索メッセージの宛先識別情報であるコンテンツデータの識別情報と所定条件とによってルーティングテーブルに記憶されたノード装置の識別情報であるノードIDから送信先ノード装置を選択して、コンテンツ保持ノード要求情報であるコンテンツ検索メッセージを送信する。ここで、「所定条件」とは、ルーティングテーブルに記憶されたノードIDのうち、コンテンツ検索メッセージの宛先識別情報であるコンテンツIDと上位桁がより多く一致するノードIDを選択するという条件である。
コンテンツ保持ノード要求情報送信手段は、コンテンツ検索メッセージの宛先識別情報であるコンテンツデータの識別情報と所定条件とによってルーティングテーブルに記憶されたノード装置の識別情報であるノードIDから送信先ノード装置を選択して、コンテンツ保持ノード要求情報であるコンテンツ検索メッセージを送信する。ここで、「所定条件」とは、ルーティングテーブルに記憶されたノードIDのうち、コンテンツ検索メッセージの宛先識別情報であるコンテンツIDと上位桁がより多く一致するノードIDを選択するという条件である。
(判断手段について)
判断手段は、ノード装置1がネットワークインターフェイス205を介して、コンテンツ保持ノード要求情報であるコンテンツ検索メッセージを受信した際に、コンテンツ保持ノード情報記憶手段であるインデックステーブルに記憶されたインデックス情報、すなわちコンテンツ保持ノード装置のノードIDの中に、要求されたコンテンツに対するコンテンツ保持ノード装置のノードIDと一致する情報があるか否かを判断する。
判断手段は、ノード装置1がネットワークインターフェイス205を介して、コンテンツ保持ノード要求情報であるコンテンツ検索メッセージを受信した際に、コンテンツ保持ノード情報記憶手段であるインデックステーブルに記憶されたインデックス情報、すなわちコンテンツ保持ノード装置のノードIDの中に、要求されたコンテンツに対するコンテンツ保持ノード装置のノードIDと一致する情報があるか否かを判断する。
(ノード識別情報送信手段について)
ノード識別情報送信手段は、コンテンツ検索メッセージによって要求されたコンテンツに対するコンテンツ保持ノード装置のノードIDが記憶されている場合、当該コンテンツ保持ノード装置のノードIDを、当該コンテンツ検索メッセージを送信したリクエストノード装置へ向けて送信する。このときの送信先ノード装置は、コンテンツ検索メッセージに含まれる送信元識別情報、すなわちリクエストノード装置の識別情報に基づいて、他のメッセージと同様にルーティングテーブルから選択したノード装置である。このように送信することによって、コンテンツ保持ノード装置のノードIDを当該コンテンツ検索メッセージの送信元ノード装置へ届ける。
ノード識別情報送信手段は、コンテンツ検索メッセージによって要求されたコンテンツに対するコンテンツ保持ノード装置のノードIDが記憶されている場合、当該コンテンツ保持ノード装置のノードIDを、当該コンテンツ検索メッセージを送信したリクエストノード装置へ向けて送信する。このときの送信先ノード装置は、コンテンツ検索メッセージに含まれる送信元識別情報、すなわちリクエストノード装置の識別情報に基づいて、他のメッセージと同様にルーティングテーブルから選択したノード装置である。このように送信することによって、コンテンツ保持ノード装置のノードIDを当該コンテンツ検索メッセージの送信元ノード装置へ届ける。
(デコード手段について)
デコード手段は、他のノード装置1から送信されるコンテンツデータ等をディスプレイ210に表示し、スピーカ212から出力するためにデコードする。すなわち、他のノード装置1から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばASF、WMA、WMV等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータをディスプレイ210やスピーカ212から出力できるようにデコードする。
デコード手段は、他のノード装置1から送信されるコンテンツデータ等をディスプレイ210に表示し、スピーカ212から出力するためにデコードする。すなわち、他のノード装置1から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばASF、WMA、WMV等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータをディスプレイ210やスピーカ212から出力できるようにデコードする。
(コンテンツ再生手段について)
コンテンツ再生手段は、第1記憶部203のリングバッファから成るバッファ領域に順次記憶されたコンテンツデータを、順次コンテンツ再生手段により再生するものであり、このとき制御手段213は、ストリーム制御プログラム216に基づいてビデオチップ209及び音源チップ211を動作させることによりコンテンツデータが再生される。
コンテンツ再生手段は、第1記憶部203のリングバッファから成るバッファ領域に順次記憶されたコンテンツデータを、順次コンテンツ再生手段により再生するものであり、このとき制御手段213は、ストリーム制御プログラム216に基づいてビデオチップ209及び音源チップ211を動作させることによりコンテンツデータが再生される。
(アクセス数推測手段について)
アクセス数推測手段は、仮に決定されたコンテンツID(コンテンツ識別情報)に対応するコンテンツデータの公開時間からのコンテンツ予測アクセス度合いに基づいて、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いを推測する機能を有する。
アクセス数推測手段は、仮に決定されたコンテンツID(コンテンツ識別情報)に対応するコンテンツデータの公開時間からのコンテンツ予測アクセス度合いに基づいて、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いを推測する機能を有する。
(キャッシュ推測手段について)
キャッシュ推測手段は、仮に決定されたコンテンツID(コンテンツ識別情報)に対応するコンテンツデータの公開時間からのコンテンツ予測アクセス度合いに基づいて、ルートノード装置(コンテンツ管理ノード装置)におけるキャッシュ量(コンテンツ保持情報の記憶度合い)を推測する機能を有する。
キャッシュ推測手段は、仮に決定されたコンテンツID(コンテンツ識別情報)に対応するコンテンツデータの公開時間からのコンテンツ予測アクセス度合いに基づいて、ルートノード装置(コンテンツ管理ノード装置)におけるキャッシュ量(コンテンツ保持情報の記憶度合い)を推測する機能を有する。
[4.コンテンツキー管理装置20の構成等の説明]
次に、図面を参照して、コンテンツキー管理装置20の構成及び動作について説明する。図11は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツキー管理装置20の概略構成を示す図である。
次に、図面を参照して、コンテンツキー管理装置20の構成及び動作について説明する。図11は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツキー管理装置20の概略構成を示す図である。
コンテンツキー管理装置20は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図11に示すように、CPU(Central Processing Unit)302と、各種プログラム等を記憶(記憶)する書き換え可能な主記憶装置としての第1記憶部303と、各種データ等を記憶するHDD等から構成された第2記憶部304と、ルータ320を介してネットワーク8に参加している他のノード装置1やコンテンツデータ管理装置10との間で通信を行うためのネットワークインターフェイス305と、コンテンツ配信システムSの管理者によってコンテンツキー管理装置20の制御を行うために情報を入力する入力手段であるマウス307aやキーボード307bと、入力手段から入力された情報を処理するための周辺機器制御チップ306と、CPU302の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ309に表示するビデオチップ308等を備えて構成され、これらの各種構成要素はシステムバス301を介して相互に接続されている。なお、本実施形態においては、CPU302と第1記憶部303とで制御手段314を構成している。
(第1記憶部303について)
また、第1記憶部303には、コンテンツキー管理装置20のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム310、ディスプレイ309の制御等を行うための画面制御プログラム311、コンテンツデータを閲覧するために必要なコンテンツキーを管理するためのコンテンツキー管理プログラム312、コンテンツキーを提供することによって、コンテンツデータへのアクセス数をカウントするカウントプログラム313等を記憶しており、これらはCPU302によって読み出され、CPU302によってこれらのプログラムに従った機能が実行される。
また、第1記憶部303には、コンテンツキー管理装置20のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム310、ディスプレイ309の制御等を行うための画面制御プログラム311、コンテンツデータを閲覧するために必要なコンテンツキーを管理するためのコンテンツキー管理プログラム312、コンテンツキーを提供することによって、コンテンツデータへのアクセス数をカウントするカウントプログラム313等を記憶しており、これらはCPU302によって読み出され、CPU302によってこれらのプログラムに従った機能が実行される。
ここで、OSプログラム310は、CPU302によって読み出されて実行されることにより、マウス307aやキーボード307bに関する機能や、第1記憶部303や第2記憶部304などのメモリ管理等のコンテンツキー管理装置20であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム310がCPU302によって実行された状態で、上述の画面制御プログラム311、コンテンツキー管理プログラム312、カウントプログラム313等が第1記憶部303から読み出されて実行される。
なお、OSプログラム310、画面制御プログラム311、コンテンツキー管理プログラム312、カウントプログラム313等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス305を介して、第1記憶部303にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第1記憶部303に読み込まれるようにしてもよい。
(第2記憶部304について)
第2記憶部304には、カタログ更新プログラムによって生成され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域315と、コンテンツデータにアクセスした回数をカウントするためのカウントテーブル記憶領域316とを有している。
第2記憶部304には、カタログ更新プログラムによって生成され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域315と、コンテンツデータにアクセスした回数をカウントするためのカウントテーブル記憶領域316とを有している。
(制御手段314について)
制御手段314は、上述のようにCPU302と第1記憶部303とから構成され、CPU302が第1記憶部303に記憶された各種プログラム310〜313を読み出して実行することにより、コンテンツキー管理装置20全体を統括制御し、かつ、後述する表示制御手段、コンテンツ閲覧認証手段、アクセス計数手段、アクセス数記憶手段等として機能するようになっている。
制御手段314は、上述のようにCPU302と第1記憶部303とから構成され、CPU302が第1記憶部303に記憶された各種プログラム310〜313を読み出して実行することにより、コンテンツキー管理装置20全体を統括制御し、かつ、後述する表示制御手段、コンテンツ閲覧認証手段、アクセス計数手段、アクセス数記憶手段等として機能するようになっている。
なお、CPU302が画面制御プログラム311を実行することによって表示制御手段等として、またCPU302がコンテンツキー管理プログラム312を実行することによってコンテンツ閲覧認証手段等として、またCPU302がカウントプログラム313を実行することによって、アクセス計数手段、アクセス数記憶手段等として、それぞれ機能するようになっている。
(表示制御手段について)
表示制御手段は、ビデオチップ308及びディスプレイ309を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ309にどのように映像を表示させるかを制御する。
表示制御手段は、ビデオチップ308及びディスプレイ309を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ309にどのように映像を表示させるかを制御する。
(コンテンツ閲覧認証手段について)
コンテンツ閲覧認証手段は、公開日時となったか否か等各種の条件に基づいて、コンテンツの閲覧を認証する機能を有する。
コンテンツ閲覧認証手段は、公開日時となったか否か等各種の条件に基づいて、コンテンツの閲覧を認証する機能を有する。
(アクセス計数手段について)
アクセス計数手段は、ルートノード装置(コンテンツ管理ノード装置)のアクセス数を計数する機能を有する。
アクセス計数手段は、ルートノード装置(コンテンツ管理ノード装置)のアクセス数を計数する機能を有する。
(アクセス数記憶手段について)
アクセス数記憶手段は、ルートノード装置(コンテンツ管理ノード装置)のアクセス数を記憶する機能を有する。
アクセス数記憶手段は、ルートノード装置(コンテンツ管理ノード装置)のアクセス数を記憶する機能を有する。
このように構成されたコンテンツ配信システムSにおいて、公開日時が設定されたコンテンツデータを新規に投入する場合には、図12に示すように、コンテンツデータを投入する以前には、予測アクセス数の推測が行われ、ルートノード装置の予測アクセス数確認処理とコンテンツIDの決定処理が実行される。また、ルートノード装置以外にも、コンテンツデータを保持するコンテンツ保持ノード装置が決定されている。そして、コンテンツの投入日に、コンテンツデータがコンテンツ保持ノード装置に投入され、その後コンテンツデータが公開されるまでに、コンテンツデータのレプリカの作成が行われる。そして、コンテンツの公開日以降、コンテンツキー管理装置20による閲覧の認証が可能となり、視聴可能となる。
(カタログリストについて)
コンテンツデータ管理装置10におけるカタログリストについて図13を用いて以下に説明する。
コンテンツデータ管理装置10におけるカタログリストについて図13を用いて以下に説明する。
コンテンツデータ管理装置10における第2記憶部104には、コンテンツデータに関するカタログリストが記憶されている。このカタログリストには、コンテンツリストにおけるコンテンツIDと、公開日時と、各種コンテンツ情報と、が対応付けられている。この各種コンテンツ情報には、例えば、題名、作者、出演者、ジャンルなどが含まれ、それらの情報によって、新規に投入されるコンテンツデータとの関連の有無が検索される。
(アクセス数カウントテーブルについて)
コンテンツキー管理装置20におけるアクセス数カウントテーブルについて図14を用いて以下に説明する。
コンテンツキー管理装置20におけるアクセス数カウントテーブルについて図14を用いて以下に説明する。
コンテンツキー管理装置20における第2記憶部304には、ルートノード装置における実際のアクセス数が計数されるアクセス数カウントテーブルが記憶されている。このアクセス数カウントテーブルには、コンテンツリストのコンテンツID、公開1日目から3日目のアクセス数、公開4日目から6日目のアクセス数等が対応付けられている。コンテンツキー管理装置20においては、コンテンツを閲覧する場合に必要なコンテンツの複合鍵が送信され、その度に、実際のアクセス数がカウントされることとなる。そして、このようにカウントされたアクセス数は、以前に公開したコンテンツの実際のアクセス数としてコンテンツデータ管理装置10に提供されることとなる。これによって、コンテンツデータ管理装置10は、コンテンツデータの実際のアクセス数を時系列で認識可能となる。
(予測アクセスランクテーブルについて)
コンテンツデータ管理装置10における予測アクセスランクテーブルについて図15を用いて以下に説明する。
コンテンツデータ管理装置10における予測アクセスランクテーブルについて図15を用いて以下に説明する。
コンテンツデータ管理装置10における第2記憶部104には、予測アクセスランクを決定するための予測アクセスランクテーブルが記憶されている。この予測アクセスランクテーブルには、先回投入されたコンテンツのピーク値と、予測アクセスランクとが対応付けられている。コンテンツデータ管理装置10においては、コンテンツキー管理装置20からのアクセス数が受信され、そのアクセス数に基づく先回投入されたコンテンツのピーク値から、予測アクセスランクが算出される。この予測アクセスランクは、ルートノード装置に送信されることによって、予測アクセス数が算出されることとなる。また、ルートノード装置においては、図18に示すように、予測アクセスランクに対応する予測アクセス数を示す推移表が設定されており、公開日時からの予測アクセス数が推測可能となる。また、同じように、後述する予測人気期間ランクに対応する予測人気期間を示す推移表が設定されており、公開日時からの予測アクセス数が推測可能となる。また、詳しく後述するが、この予測アクセスランクによって、管理しているキャッシュのキャッシュ量も予測されることとなる。
(予測人気期間テーブルについて)
コンテンツデータ管理装置10における予測人気期間テーブルについて図16を用いて以下に説明する。
コンテンツデータ管理装置10における予測人気期間テーブルについて図16を用いて以下に説明する。
コンテンツデータ管理装置10における第2記憶部104には、新規に投入されるコンテンツデータの予測人気期間ランクを決定するための予測人気期間テーブルが記憶されている。この予測人気期間テーブルには、先回投入されたコンテンツの人気の続いた期間と、予測人気期間ランクとが対応付けられている。コンテンツデータ管理装置10においては、コンテンツキー管理装置20からのアクセス数が受信され、そのアクセス数に基づく先回投入されたコンテンツの人気の続いた期間から、予測人気期間ランクが算出される。この予測人気期間ランクは、ルートノード装置に送信されることによって、予測アクセス数が算出されることとなる。
このように、コンテンツデータ管理装置10における第2記憶部104に各種のテーブル等が記憶されている。つまり、これらのような各種のテーブル等が記憶された第2記憶部104には、コンテンツデータを公開するための公開情報として、コンテンツデータの公開時間や、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いなどが対応付けられて記憶されることとなる。尚、このようなコンテンツリストが記憶された第2記憶部104は、公開情報記憶手段に相当する。
(キャッシュ量テーブルについて)
ノード装置1におけるキャッシュ量テーブルについて図17を用いて以下に説明する。
ノード装置1におけるキャッシュ量テーブルについて図17を用いて以下に説明する。
ノード装置1における第2記憶部203には、ノード装置1にキャッシュされる量を予測するためのキャッシュ量テーブルが記憶されている。このキャッシュ量テーブルには、各ノード装置1にキャッシュされているインデックス情報に対応するコンテンツデータの予測アクセスランクのピーク値と、予測される予測キャッシュ量とが対応付けられている。このため、ノード装置1では、今現在キャッシュされているコンテンツデータの予測アクセスランクのピーク値が以前に決定されているため、そのピーク値から、キャッシュ量が推測可能となる。これによって、ノード装置1におけるキャッシュ量を考慮して、コンテンツIDが決定されることとなる。
詳しくは後述するが、新規にコンテンツデータを投入する際に、仮に決定したコンテンツIDによってルートノード装置が決定されることとなるが、そのルートノード装置におけるコンテンツデータの予測アクセス数、予測人気期間、予測キャッシュ量によって、アクセス集中などが予測可能である。
具体的には、図19(a)に示すように、あるルートノード装置において、予測アクセス数が多いコンテンツA、コンテンツB、コンテンツCが管理される場合において、コンテンツAとコンテンツBとの公開日時が近く設定されたときには、それらのコンテンツに対応する予測アクセス数の合計が所定値を超えることが推測されるため、アクセス集中を引き起こすおそれがある。このように、予測アクセス数が所定値を超える場合には、仮に決定したコンテンツIDを再度決定し直すこととなる。
一方、図19(b)に示すように、あるルートノード装置において、予測アクセス数が多いコンテンツA、コンテンツC、コンテンツDが管理される場合において、コンテンツAとコンテンツDとの公開日時がある程度離れているときには、それらのコンテンツに対応する予測アクセス数の合計が所定値を超えないことが推測されるため、アクセス集中を引き起こすおそれがない。このように、仮に決定したコンテンツIDに対応するルートノード装置の予測アクセス数が推測されることによって、仮に決定したコンテンツIDが確定されることとなる。
また、図19(c)に示すように、あるルートノード装置において、予測アクセス数が多いコンテンツAと、予測アクセス数が少ないコンテンツEが管理される場合において、コンテンツAとコンテンツEとの公開日時が同じ(又は近い)ときであっても、それらのコンテンツに対応する予測アクセス数の合計が所定値を超えないことが推測されるため、アクセス集中を引き起こすおそれがない。このように、仮に決定したコンテンツIDに対応するルートノード装置の予測アクセス数が推測されることによって、仮に決定したコンテンツIDが確定されることとなる。
[5.ノード装置1の処理の説明]
以下、ノード装置1の詳細動作について、図20のフローチャートを用いて更に具体的に説明する。図20はノード装置1におけるメイン処理を示すフローチャートである。
以下、ノード装置1の詳細動作について、図20のフローチャートを用いて更に具体的に説明する。図20はノード装置1におけるメイン処理を示すフローチャートである。
まず、制御手段213は、図20に示すように、電源がオフであるか否かを判定する(ステップS11)。制御手段213は、電源がオフであると判定した場合には(ステップS11:YES)、本メイン処理を終了する。一方、制御手段213は、電源がオフではないと判定した場合には(ステップS11:NO)、ステップS12に処理を移す。
ステップS12において、制御手段213は、コンテンツデータ管理装置10から、指定された時間の予測アクセス数の問い合わせを受信したか否かを判定する。この処理において、制御手段213は、コンテンツデータ管理装置10から、指定された時間の予測アクセス数の問い合わせを受信したと判定した場合には(ステップS12:YES)、ステップS13に処理を移す。一方、制御手段213は、コンテンツデータ管理装置10から、指定された時間の予測アクセス数の問い合わせを受信していないと判定した場合には(ステップS12:NO)、ステップS21に処理を移す。
ステップS13において、制御手段213は、予測アクセス数の推移表から、指定された時刻の予測アクセスを計数する。この処理において、制御手段213は、受信した問い合わせに含まれる予測アクセスランク、予測人気期間ランクに対応する推移表を読み出す。そして、制御手段213は、今現在管理しているコンテンツデータの予測アクセスランク、予測人気期間ランクに対応する推移表と、読み出した推移表とに基づいて、指定された時刻、例えば公開日から所定期間、具体的な一例として、公開日から1週間における予測アクセス数を計数する。この処理が終了した場合には、ステップS14に処理を移す。
ステップS14において、制御手段213は、ステップS13において計数された予測アクセス数が所定値を超えるか否かを判定する。この処理において、制御手段213は、計数された予測アクセス数が所定値を超えると判定した場合には(ステップS14:YES)、ステップS18に処理を移す。一方、制御手段213は、計数された予測アクセス数が所定値を超えないと判定した場合には(ステップS14:NO)、ステップS15に処理を移す。
ステップS15において、制御手段213は、予測アクセスランクから、所持することとなるコンテンツのキャッシュ量を計数する。この処理において、制御手段213は、今現在インデックス情報をキャッシュしているコンテンツデータの予測アクセスランクを読み出す。尚、本実施形態において、今現在インデックス情報をキャッシュしているコンテンツデータとは、ノード装置1自体が、ルートノード装置としてのコンテンツデータのみならず、キャッシュノード装置としてのコンテンツデータをも含み、もちろん、コンテンツデータ管理装置10において仮に決定されたコンテンツIDに対応するコンテンツデータも含む。そして、制御手段213は、キャッシュ量テーブル(図17参照)を参照し、キャッシュしているコンテンツデータの予測アクセスランクに対応する予測キャッシュ量を計数することとなる。この処理が終了した場合には、ステップS16に処理を移す。
ステップS16において、制御手段213は、ステップS15において算出したキャッシュ量が所定値を超えるか否かを判定する。この処理において、制御手段213は、キャッシュ量が所定値を超えると判定した場合には、ステップS18に処理を移す。一方、制御手段213は、キャッシュ量が所定値を超えないと判定した場合には、ステップS17に処理を移す。
ステップS17において、制御手段213は、コンテンツデータ管理装置10に、公開日時以降にアクセスが集中せず、キャッシュ量も多くならないコンテンツIDとして決定された旨の「YES」情報を送信し、再度、ステップS11に処理を移す。これによって、コンテンツデータ管理装置10において、仮に決定されたコンテンツIDが確定されることとなる。
一方、ステップS18において、制御手段213は、公開日時以降にアクセスが集中する、又は、キャッシュ量も多くなるコンテンツIDとして決定された旨の「NO」情報を送信し、再度、ステップS11に処理を移す。これによって、コンテンツデータ管理装置10において、仮に決定されたコンテンツIDが再度決定しなおされることとなる。
一方、ステップS21において、制御手段213は、キャッシュ操作ありか否かを判定する。この処理において、制御手段213は、他のノード装置1から、キャッシュを登録するか、キャッシュを削除するかなど、キャッシュ操作情報を受信した場合には、キャッシュ操作ありと判定することとなる。制御手段213は、キャッシュ操作ありと判定した場合には、そのキャッシュ操作の種類に応じて、キャッシュを登録又は削除するキャッシュ操作処理を実行し(ステップS22)、再度、ステップS11に処理を移す。一方、制御手段213は、キャッシュ操作なしと判定した場合には、その他の処理を実行し(ステップS23)、再度、ステップS11に処理を移す。
[6.コンテンツデータ管理装置10の処理の説明]
以下、コンテンツデータ管理装置10の詳細動作について、図21及び図22のフローチャートを用いて更に具体的に説明する。図21はコンテンツデータ管理装置10におけるメイン処理を示すフローチャート、図22はメイン処理で呼び出される予測アクセス数推測処理を示すフローチャートである。
以下、コンテンツデータ管理装置10の詳細動作について、図21及び図22のフローチャートを用いて更に具体的に説明する。図21はコンテンツデータ管理装置10におけるメイン処理を示すフローチャート、図22はメイン処理で呼び出される予測アクセス数推測処理を示すフローチャートである。
まず、制御手段114は、図21に示すように、電源がオフであるか否かを判定する(ステップS51)。制御手段114は、電源がオフであると判定した場合には(ステップS51:YES)、本メイン処理を終了する。一方、制御手段114は、電源がオフではないと判定した場合には(ステップS51:NO)、ステップS52に処理を移す。
ステップS52において、制御手段114は、新規コンテンツの投入依頼があったか否かを判定する。この処理において、制御手段114は、マウス107aやキーボード107bなどの入力手段が操作されることによって、新規コンテンツデータ記憶領域117に記憶した新規コンテンツデータをコンテンツ配信システムS内に投入するために、新規コンテンツデータを指定し、その指定したコンテンツデータを保持させるコンテンツ保持ノード装置の配置数を指定したとき、コンテンツデータ管理装置10の管理者の操作等によって、コンテンツデータを投入する処理が選択されたと判定し、新規コンテンツの投入依頼があったと判定することとなる。制御手段114は、新規コンテンツの投入依頼があったと判定した場合には(ステップS52:YES)、ステップS53に処理を移す。一方、制御手段114は、新規コンテンツの投入依頼がなかったと判定した場合には(ステップS52:NO)、その他の処理を実行し(ステップS56)、ステップS51に処理を移す。
ステップS53において、制御手段114は、予測アクセス数推測処理を実行する。詳しくは図22を用いて後述するが、この処理において、制御手段114は、新規に投入されるコンテンツデータに関する情報に基づいて、そのコンテンツデータの予測アクセス数を推測する。この処理が終了した場合には、ステップS54に処理を移す。
ステップS54において、制御手段114は、コンテンツID決定処理を実行する。この処理において、制御手段114は、ID空間(割当可能識別情報)の中から、ランダムにコンテンツID(コンテンツ識別情報)を仮に決定する。また、詳しく後述するが、制御手段114は、ステップS56においてルートノード装置からの返信が「NO」であった場合には、再度、この処理を実行することとなる。このように、制御手段114は、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えると判定された場合、又は、ルートノード装置におけるキャッシュ量(コンテンツ保持情報)の記憶度合いが所定の記憶度合いを超えると判定された場合には、再度、ID空間の中から、ランダムにコンテンツIDを仮に決定することとなる。尚、このような処理を実行する制御手段114は、コンテンツ識別情報仮決定手段に相当する。この処理が終了した場合には、ステップS55に処理を移す。
ステップS55において、制御手段114は、コンテンツのルートノード装置へ公開日の予測アクセス数を送信する。この処理において、制御手段114は、ステップS54において仮に決定したコンテンツIDに対応するコンテンツのルートノード装置へ、ステップS53において推測された予測アクセスランク、予測人気期間ランクを送信することによって、コンテンツを公開する場合におけるルートノード装置の予測アクセス数の推測要求を行うこととなる。即ち、制御手段114は、ステップS54において仮に決定されたコンテンツID(コンテンツ識別情報)のルートノード装置(コンテンツ管理ノード装置)に、そのルートノード装置のノード予測アクセス度合いが、公開日から所定期間、例えば、公開日から1週間において所定の度合いを超えないか否かのコンテンツ管理情報を要求することとなる。尚、このような処理を実行する制御手段114は、コンテンツ管理情報要求手段に相当する。この処理が終了した場合には、ステップS56に処理を移す。
ステップS56において、制御手段114は、ルートノード装置からの返信が「YES」であるか否かを判定する。この処理において、制御手段114は、仮に決定されたコンテンツID(コンテンツ識別情報)に対応するルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えるか否かを判定することとなる。尚、このような処理を実行する制御手段114は、コンテンツ識別情報判定手段に相当する。また、制御手段114は、仮に決定されたコンテンツIDのルートノード装置によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するキャッシュ(コンテンツ保持情報)の記憶度合いが所定の記憶度合いを超えるか否かを判定することとなる。尚、このような処理を実行する制御手段114は、コンテンツ保持情報判定手段に相当する。この処理において、制御手段114は、ルートノード装置から返信された情報が、公開日時以降にアクセスが集中せず、キャッシュ量も多くならないコンテンツIDとして決定された旨の「YES」であった場合には、コンテンツIDを確定させ、決定したノード装置1にコンテンツを投入し(ステップS57)、再度、ステップS51に処理を移す。具体的には、制御手段114は、ステップS54において決定したコンテンツデータを対象として決定されたコンテンツIDを、第2記憶部104におけるその使用リストに追加する。そして、制御手段114は、決定したコンテンツIDに基づいて、コンテンツデータを分散ストレージシステムに投入する。つまり、制御手段114は、ルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えないと判定された場合であり、かつ、仮に決定されたコンテンツIDのルートノード装置によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するキャッシュ(コンテンツ保持情報)の記憶度合いが所定の記憶度合いを超えない場合には、ステップS54において仮に決定されたコンテンツID(コンテンツ識別情報)を割り当てることとなる。これによって、制御手段114は、ノードID(ノード識別情報)、コンテンツID(コンテンツ識別情報)として割当可能なID空間(複数の割当可能識別情報)の中から、コンテンツデータを対象としてコンテンツIDを割り当てる際に、公開日時や予測アクセス数などの公開情報に基づいて予測されるルートノード装置(コンテンツ管理ノード装置)のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツIDを決定することとなる。尚、このような処理を実行する制御手段114は、コンテンツ識別情報割当手段に相当する。一方、制御手段114は、ルートノード装置から返信された情報が、公開日時以降にアクセスが集中する、又は、キャッシュ量も多くなるコンテンツIDとして決定された旨の「NO」であった場合には、再度、ステップS54に処理を移す。これによって、制御手段114は、ステップS54によって再度コンテンツIDを決定し直すこととなる。この処理が終了した場合には、ステップS56に処理を移す。
従って、コンテンツデータを管理対象とするコンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定するため、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
また、コンテンツデータのコンテンツ予測アクセス度合いに基づいてコンテンツ識別情報を決定するため、コンテンツの人気度などを尺度として、コンテンツ予測アクセス度合いが設定されることによって、コンテンツ管理ノード装置のノード予測アクセス度合いの精度を高めることとなり、より一層、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
更にまた、コンテンツ識別情報に対応するコンテンツ管理ノード装置のノード予測アクセス度合いが所定値を超えないと判定されるまで、割当可能識別情報の中からコンテンツ識別情報を仮に決定するため、コンテンツ識別情報に対応するコンテンツ管理ノード装置のノード予測アクセス度合いが所定値以上となることはなく、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
更にまた、コンテンツ保持情報の記憶度合いが所定の記憶度合いを超えない場合に、コンテンツ識別情報を割り当てるため、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
また、ステップS56において、制御手段114は、上述したような判定基準ではなく、例えば、所定数のノード装置からの返信が「NO」である場合に、ステップS57に処理を移し、ステップS54においてランダムに決定されたコンテンツIDを確定させてもよい。また、例えば、制御手段114は、全てのノード装置からの返信が「NO」である場合に、ステップS57に処理を移し、ステップS54においてランダムに決定されたコンテンツIDを確定させてもよい。更にまた、例えば、制御手段114は、所定数のノード装置からの返信が「NO」である場合や、全てのノード装置からの返信が「NO」である場合に、設定されている公開日時を前後に変更させ、再度、ノード装置からの返信を確認するように制御してもよい。これによって、コンテンツ配信システムSに参加しているノード装置1の数が少ない場合や、ある一定期間内に大量のコンテンツを投入した場合などにおいても、コンテンツIDを決定することができる。
(予測アクセス数推測処理について)
次に、ステップS53における予測アクセス数推測処理について図22を参照して具体的に説明する。
次に、ステップS53における予測アクセス数推測処理について図22を参照して具体的に説明する。
まず、制御手段114は、図22に示すように、以前に公開したコンテンツがあるか否かを判定する(ステップS61)。この処理において、制御手段114は、カタログリスト(図13参照)を参照し、新規に投入されるコンテンツと関連があり、以前に投入されたコンテンツがあるか否かを検索することとなる。具体的には、制御手段114は、新規に投入されるコンテンツと同じ又は似たコンテンツ情報(例えば、題名、作者、出演者、ジャンルなど)を検索する。つまり、制御手段114は、コンテンツデータのそれぞれにおける関連の有無を検索することとなる。尚、このような処理を実行する制御手段114は、コンテンツデータ関連検索手段に相当する。制御手段114は、以前に公開したコンテンツがあると判定した場合には、ステップS62に処理を移す。一方、制御手段114は、以前に公開したコンテンツがないと判定した場合には、ステップS64に処理を移す。
ステップS62において、制御手段114は、コンテンツキー管理装置20の人気表から、人気ピークと持続期間を算出する。制御手段114は、コンテンツキー管理装置20に対して、ステップS61において関連があると検索されたコンテンツデータの人気表を要求する。そして、制御手段114は、要求に応じてコンテンツキー管理装置20から送信されたコンテンツデータの人気表を受信し、参照する。そして、制御手段114は、そのコンテンツデータの人気表から、実際のルートノード装置へのアクセス数を読み出し、ルートノード装置へのアクセス数に基づいて、予測アクセスランク、予測人気期間ランクを算出する。つまり、制御手段114は、コンテンツデータにおける関連があると検索された場合には、コンテンツデータにおける関連があると検索された関連コンテンツデータに対応するアクセス数に基づいて、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを決定することとなる。尚、このような処理を実行する制御手段114は、コンテンツ予測アクセス度合い決定手段に相当する。この処理が終了した場合には、本サブルーチンを終了する。
従って、コンテンツデータにおける関連があると検索された関連コンテンツデータに対応する実際のコンテンツ管理ノード装置のアクセス数に基づいてコンテンツ識別情報を決定するため、以前に公開されたコンテンツのアクセス数によって、コンテンツ管理ノード装置のノード予測アクセス度合いの精度を高めることとなり、より一層、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
一方、ステップS64において、制御手段114は、人気ピーク(予測アクセスランク)として「C」、持続期間(予測人気期間ランク)として「C」を設定する。つまり、制御手段114は、コンテンツデータにおける関連があると検索されなかった場合には、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを所定のアクセス度合いとして決定することとなる。尚、このような処理を実行する制御手段114は、コンテンツ予測アクセス度合い決定手段に相当する。この処理が終了した場合には、本サブルーチンを終了する。
従って、コンテンツデータにおける関連があると検索された関連コンテンツデータがない場合であっても、コンテンツ予測アクセス度合いを例えば、標準的な所定のアクセス度合いとして決定することができる。
[7.コンテンツキー管理装置20の処理の説明]
以下、コンテンツキー管理装置20の詳細動作について、図23のフローチャートを用いて更に具体的に説明する。図23はコンテンツキー管理装置20におけるメイン処理を示すフローチャートである。
以下、コンテンツキー管理装置20の詳細動作について、図23のフローチャートを用いて更に具体的に説明する。図23はコンテンツキー管理装置20におけるメイン処理を示すフローチャートである。
まず、制御手段314は、図23に示すように、電源がオフであるか否かを判定する(ステップS81)。制御手段314は、電源がオフであると判定した場合には(ステップS81:YES)、本メイン処理を終了する。一方、制御手段314は、電源がオフではないと判定した場合には(ステップS81:NO)、ステップS82に処理を移す。
ステップS82において、制御手段314は、コンテンツの複合鍵の取得依頼を受信したか否かを判定する。この処理において、制御手段314は、コンテンツ配信システムSに参加しているノード装置1からコンテンツデータを閲覧するためのコンテンツの複合鍵の取得依頼を受信したと判定した場合には、ステップS83に処理を移す。一方、制御手段314は、コンテンツの複合鍵の取得依頼を受信していないと判定した場合には、ステップS85に処理を移す。
ステップS83において、制御手段314は、コンテンツ複合鍵を送信する。この処理において、制御手段314は、取得依頼が、コンテンツの公開日時以降であるなどの各種の条件を満たしているか否かを判定し、満たしていると判定した場合には、コンテンツの複合鍵の取得依頼を送信したノード装置1に対して、そのコンテンツの複合鍵を送信する。この処理が終了した場合には、ステップS84に処理を移す。
ステップS84において、制御手段314は、コンテンツの人気表を更新する。この処理において、制御手段314は、複合鍵を送信したコンテンツの種類に対応するコンテンツの人気表を更新する。つまり、制御手段314は、コンテンツデータが閲覧された数を計数する、即ち、ルートノード装置(コンテンツ管理ノード装置)のアクセス数を計数し、そのアクセス数を記憶することとなる。尚、本実施形態において、このような処理を実行する制御手段314は、アクセス計数手段、アクセス数記憶手段に相当する。この処理が終了した場合には、再度、ステップS81に処理を移す。
ステップS85において、制御手段314は、人気表取得依頼を受信したか否かを判定する。この処理において、制御手段314は、コンテンツデータ管理装置10から、コンテンツの予測アクセス数を推測するための人気表取得依頼を受信したと判定した場合には、アクセス数カウントテーブル(図14参照)を参照し、コンテンツデータに対応する人気表を送信し(ステップS86)、再度、ステップS81に処理を移す。一方、制御手段314は、コンテンツデータ管理装置10から人気表取得依頼を受信してりないと判定した場合には、ステップS86を実行することなく、再度、ステップS81に処理を移す。
(その他の実施形態)
尚、上述した実施形態において、コンテンツデータに対応するコンテンツIDをランダムに決定させたが、これに限らず、例えば、コンテンツデータに対応するコンテンツIDに基づくルートノード装置が重複するか否かを判定してもよい。
尚、上述した実施形態において、コンテンツデータに対応するコンテンツIDをランダムに決定させたが、これに限らず、例えば、コンテンツデータに対応するコンテンツIDに基づくルートノード装置が重複するか否かを判定してもよい。
具体的には、コンテンツデータ管理装置10における制御手段114は、ステップS54のコンテンツID決定処理において、ランダムに仮に決定したコンテンツIDのルートノード装置に、他のコンテンツデータのルートノード装置であるか否かのコンテンツ管理情報を要求する。尚、このような処理を実行する制御手段114は、コンテンツ管理情報要求手段に相当する。そして、制御手段114は、仮に決定されたコンテンツIDのルートノード装置からのコンテンツ管理情報に基づいて、他のコンテンツデータを対象とするコンテンツ識別情報の重複を判定する。尚、このような処理を実行する制御手段114は、コンテンツ識別情報判定手段に相当する。そして、制御手段114は、ルートノード装置が重複しないと判定されるコンテンツIDを決定することとなる。
これによって、コンテンツ管理ノード装置の重複を防止することができ、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。また、仮に決定されたコンテンツ識別情報のコンテンツ管理ノード装置からのコンテンツ管理情報に基づいて、他のコンテンツデータを対象とするコンテンツ識別情報の重複を判定するため、コンテンツ識別情報の重複判定を確実に行うことができる。
また、例えば、コンテンツデータに対応するコンテンツIDの差が、所定値以上であるか否かを判定してもよい。
具体的には、コンテンツデータ管理装置10における制御手段114は、ステップS54のコンテンツID決定処理において、仮に決定されたコンテンツIDと、他のコンテンツデータを対象とするコンテンツIDとの差が所定値以上であるか否かを判定する。尚、このような処理を実行する制御手段114は、コンテンツ識別情報判定手段に相当する。そして、制御手段114は、仮に決定されたコンテンツIDと他のコンテンツIDとの差が所定値未満となると判定された場合には、再度、コンテンツIDを仮に決定し、仮に決定されたコンテンツIDと他のコンテンツIDとの差が所定値以上となると判定された場合には、そのコンテンツIDを割り当てることとなる。
これによって、コンテンツ識別情報と、他のコンテンツデータを対象とするコンテンツ識別情報との差が所定値以上となると判定されるまで、割当可能識別情報の中からコンテンツ識別情報を仮に決定するため、コンテンツ識別情報と、他のコンテンツデータを対象とするコンテンツ識別情報との差が所定値以上となり、コンテンツ管理ノード装置へのアクセス集中や、そのコンテンツ管理ノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
また、例えば、新規に投入されるコンテンツデータの数を計数し、その数によってID空間を複数の領域に区分し、それら区分された複数の領域毎に、コンテンツIDを割り当てるようにしてもよい。
具体的には、コンテンツデータ管理装置10における制御手段114は、ステップS54のコンテンツID決定処理において、新規に投入され、公開時間が所定範囲内であるコンテンツデータの数を判定する。尚、このような処理を実行する制御手段114は、コンテンツデータ数判定手段に相当する。そして、制御手段114は、判定されたコンテンツデータの数に基づいて、ID空間(割当可能識別情報)をそのコンテンツデータの数に分けて、複数の領域として決定する。尚、このような処理を実行する制御手段114は、領域決定手段に相当する。そして、制御手段114は、決定された複数の領域毎に、公開時間が所定範囲内であるコンテンツデータを対象とするコンテンツIDを割り当てる。
これによって、公開時間が所定範囲内であるコンテンツデータの数に割当可能識別情報を複数の領域として分けて、それぞれの領域にコンテンツデータを割り当てるため、コンテンツ識別情報の差を小さくすることを防止し、コンテンツデータの管理対象となるノード装置へのアクセス集中や、そのノード装置のノード識別情報に相対的に近いノード装置へのアクセス集中を軽減することができる。
更にまた、上述した実施形態において、コンテンツデータ管理装置10とコンテンツキー管理装置20とを別体としたが、これに限らず、例えば、コンテンツデータ管理装置10とコンテンツキー管理装置20とを一体としてもよい。
更にまた、上述した実施形態において、ルートノード装置において、予測アクセスランク、予測人気期間ランクが受信され、それに応じて、予測アクセス数が推測されたが、これに限らず、例えば、このような推測がコンテンツデータ管理装置10などの別の装置で行われてもよい。
更にまた、上述した実施形態において、仮に決定されたコンテンツIDに対応するルートノード装置によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するキャッシュ量が、所定量を超えないと判定された場合には、仮に決定されたコンテンツIDを割り当て、所定量を超えると判定された場合には、再度、コンテンツIDを仮に決定したが、これに限らず、例えば、キャッシュ量が所定量を超えるか否かに関わらず、コンテンツIDの割当、再決定を行ってもよい。
以上、本発明の実施の形態のうちのいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の開示]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
S コンテンツ配信システム
1 ノード装置
10 コンテンツデータ管理装置
20 コンテンツキー管理装置
114,213,314 制御部
1 ノード装置
10 コンテンツデータ管理装置
20 コンテンツキー管理装置
114,213,314 制御部
Claims (12)
- ネットワークを介してそれぞれ接続された複数のノード装置間で、各ノード装置が保持しているコンテンツデータを互いに送受信することにより、前記ノード装置へ前記コンテンツデータの配信を可能とし、各コンテンツデータには、コンテンツデータを識別するコンテンツ識別情報が付され、各ノード装置には、当該ノード装置を識別するノード識別情報が付され、コンテンツ識別情報との差が小さいノード識別情報が割り当てられたノード装置がコンテンツデータを管理対象とするコンテンツ管理ノード装置となるコンテンツ配信システムにおける前記コンテンツデータを対象としてコンテンツデータ識別情報を割り当てる識別情報割当装置において、
前記コンテンツデータを公開するための公開情報が記憶された公開情報記憶手段と、
前記ノード装置を対象とするノード識別情報、前記コンテンツ識別情報として割当可能な複数の割当可能識別情報の中から、前記コンテンツデータを対象としてコンテンツ識別情報を割り当てる際に、前記公開情報記憶手段に記憶された公開情報に基づいて予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定するコンテンツ識別情報割当手段と、を備えたことを特徴とする識別情報割当装置。 - 前記公開情報記憶手段には、前記コンテンツデータの公開時間と、当該コンテンツデータの公開時間からのコンテンツ予測アクセス度合いと、が公開情報として記憶されており、
前記コンテンツ識別情報割当手段は、前記コンテンツデータの公開時間からのコンテンツ予測アクセス度合いに基づいて予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する機能を有することを特徴とする請求項1に記載の識別情報割当装置。 - 前記コンテンツ管理ノード装置のアクセス数を計数するアクセス計数手段と、
前記アクセス計数手段によって計数された前記コンテンツ管理ノード装置のアクセス数を記憶するアクセス数記憶手段と、
前記コンテンツデータのそれぞれにおける関連の有無を検索するコンテンツデータ関連検索手段と、
前記アクセス数記憶手段に記憶され、前記コンテンツデータ関連検索手段によってコンテンツデータにおける関連があると検索された関連コンテンツデータに対応するアクセス数に基づいて、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを決定するコンテンツ予測アクセス度合い決定手段と、を備え、
前記コンテンツ識別情報割当手段は、前記コンテンツ予測アクセス度合い決定手段によって決定された前記コンテンツデータの公開時間からのコンテンツ予測アクセス度合いから予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定する機能を有することを特徴とする請求項2に記載の識別情報割当装置。 - 前記コンテンツ予測アクセス度合い決定手段は、前記コンテンツデータ関連検索手段によってコンテンツデータにおける関連があると検索されなかった場合には、コンテンツデータの公開時間からのコンテンツ予測アクセス度合いを所定のアクセス度合いとして決定する機能を有することを特徴とする請求項3に記載の識別情報割当装置。
- 前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段を備え、
前記コンテンツ識別情報仮決定手段によって決定された前記コンテンツ識別情報に対応する前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えるか否かを判定するコンテンツ識別情報判定手段を備え、
前記コンテンツ識別情報仮決定手段は、前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えると前記コンテンツ識別情報判定手段によって判定された場合には、再度、前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定する機能を有し、
前記コンテンツ識別情報割当手段は、前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないと前記コンテンツ識別情報判定手段によって判定された場合には、前記コンテンツ識別情報仮決定手段によって仮に決定されたコンテンツ識別情報を割り当てる機能を有することを特徴とする請求項1から4のいずれかに記載の識別情報割当装置。 - 前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段と、
前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置が、他のコンテンツデータを対象とするコンテンツ識別情報との重複を判定するコンテンツ識別情報判定手段と、を備え、
前記コンテンツ識別情報割当手段は、前記コンテンツ識別情報判定手段によってコンテンツ管理ノード装置が重複しないと判定されるコンテンツ識別情報を決定する機能を有することを特徴とする請求項1に記載の識別情報割当装置。 - 前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置に、他のコンテンツデータのコンテンツ管理ノード装置であるか否かのコンテンツ管理情報を要求するコンテンツ管理情報要求手段を備え、
前記コンテンツ識別情報判定手段は、前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置からのコンテンツ管理情報に基づいて、他のコンテンツデータを対象とするコンテンツ識別情報の重複を判定する機能を有することを特徴とする請求項6に記載の識別情報割当装置。 - 前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段と、
前記識別情報仮決定手段によって決定されたコンテンツ識別情報と、他のコンテンツデータを対象とするコンテンツ識別情報との差が所定値以上であるか否かを判定するコンテンツ識別情報判定手段と、を備え、
前記コンテンツ識別情報仮決定手段は、前記コンテンツ識別情報判定手段によって前記コンテンツ識別情報と他のコンテンツ識別情報との差が所定値未満となると判定された場合には、再度、前記コンテンツ識別情報を仮に決定する機能を有し、
前記コンテンツ識別情報割当手段は、前記コンテンツ識別情報判定手段によって前記コンテンツ識別情報と他のコンテンツ識別情報との差が所定値以上となると判定された場合には、当該コンテンツ識別情報を割り当てる機能を有することを特徴とする請求項1に記載の識別情報割当装置。 - 前記公開情報記憶手段には、前記コンテンツデータの公開時間が公開情報として記憶されており、
前記公開情報記憶手段に記憶された公開時間が所定範囲内であるコンテンツデータの数を判定するコンテンツデータ数判定手段と、
前記コンテンツデータ数判定手段によって判定されたコンテンツデータの数に基づいて、前記割当可能識別情報を当該コンテンツデータの数に分けて、複数の領域として決定する領域決定手段と、を備え、
前記コンテンツ識別情報割当手段は、前記領域決定手段によって決定された複数の領域毎に、公開時間が所定範囲内であるコンテンツデータを対象とするコンテンツ識別情報を割り当てる機能を有することを特徴とする請求項1に記載の識別情報割当装置。 - 前記割当可能識別情報の中から前記コンテンツ識別情報を仮に決定するコンテンツ識別情報仮決定手段と、
前記識別情報仮決定手段によって決定されたコンテンツ識別情報のコンテンツ管理ノード装置によって管理され、コンテンツデータを保持するコンテンツ保持ノード装置に関するコンテンツ保持情報の記憶度合いが所定の記憶度合いを超えるか否かを判定するコンテンツ保持情報判定手段と、を備え、
前記コンテンツ識別情報割当手段は、前記コンテンツ管理ノード装置におけるコンテンツ保持情報の記憶度合いが所定の記憶度合いを超えないと前記コンテンツ保持情報判定手段によって判定された場合には、前記コンテンツ識別情報仮決定手段によって仮に決定されたコンテンツ識別情報を割り当てる機能を有することを特徴とする請求項1から4のいずれかに記載の識別情報割当装置。 - ネットワークを介してそれぞれ接続された複数のノード装置間で、各ノード装置が保持しているコンテンツデータを互いに送受信することにより、前記ノード装置へ前記コンテンツデータの配信を可能とし、各コンテンツデータには、コンテンツデータを識別するコンテンツ識別情報が付され、各ノード装置には、当該ノード装置を識別するノード識別情報が付され、コンテンツ識別情報との差が小さいノード識別情報が割り当てられたノード装置がコンテンツデータを管理対象とするコンテンツ管理ノード装置となるコンテンツ配信システムにおける前記コンテンツデータを対象としてコンテンツデータ識別情報を割り当てる識別情報割当装置において、の情報処理方法において、
前記識別情報割当装置は、
前記ノード装置を対象とするノード識別情報、前記コンテンツ識別情報として割当可能な複数の割当可能識別情報の中から、前記コンテンツデータを対象としてコンテンツ識別情報を割り当てる際に、前記コンテンツデータを公開するための公開情報に基づいて予測される前記コンテンツ管理ノード装置のノード予測アクセス度合いが所定の度合いを超えないようにコンテンツ識別情報を決定するコンテンツ識別情報割当ステップを有することを特徴とするコンテンツ配信システムにおける識別情報割当装置の情報処理方法。 - コンピュータに、請求項1から10のいずれかに記載の識別情報割当装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006263560A JP2008084030A (ja) | 2006-09-27 | 2006-09-27 | 識別情報割当装置及びその情報処理方法並びにそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006263560A JP2008084030A (ja) | 2006-09-27 | 2006-09-27 | 識別情報割当装置及びその情報処理方法並びにそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008084030A true JP2008084030A (ja) | 2008-04-10 |
Family
ID=39354843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006263560A Pending JP2008084030A (ja) | 2006-09-27 | 2006-09-27 | 識別情報割当装置及びその情報処理方法並びにそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008084030A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079738A (ja) * | 2008-09-26 | 2010-04-08 | Brother Ind Ltd | 通信システム、端末装置及びコンテンツ情報取得方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000259592A (ja) * | 1999-03-08 | 2000-09-22 | Toshiba Corp | ネットワーク資源管理装置及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2006195744A (ja) * | 2005-01-13 | 2006-07-27 | Brother Ind Ltd | 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 |
-
2006
- 2006-09-27 JP JP2006263560A patent/JP2008084030A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000259592A (ja) * | 1999-03-08 | 2000-09-22 | Toshiba Corp | ネットワーク資源管理装置及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2006195744A (ja) * | 2005-01-13 | 2006-07-27 | Brother Ind Ltd | 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079738A (ja) * | 2008-09-26 | 2010-04-08 | Brother Ind Ltd | 通信システム、端末装置及びコンテンツ情報取得方法 |
US8335849B2 (en) | 2008-09-26 | 2012-12-18 | Brother Kogyo Kabushiki Kaisha | Communication system, terminal apparatus, recording medium which records program of terminal apparatus and content information acquiring method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7882168B2 (en) | Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded | |
US8190779B2 (en) | Information processing apparatus and storing apparatus, information processing method and storing method, and recording medium that promptly and efficiently distributes content | |
JP2008059399A (ja) | コンテンツ配信システム、コンテンツ配信システムにおける情報処理方法、端末装置及びそのプログラム | |
JP2008250569A (ja) | コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム | |
JP2010134630A (ja) | 情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システム | |
WO2007023636A1 (ja) | 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体 | |
JP4765876B2 (ja) | コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム | |
JP5370269B2 (ja) | 分散保存システム、分散保存システムの接続情報通知方法及びプログラム | |
JP4877107B2 (ja) | 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法 | |
WO2007074873A1 (ja) | コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラムを記録した記録媒体 | |
JP2008059398A (ja) | 識別情報割当装置及びその情報処理方法並びにそのプログラム | |
JP4797679B2 (ja) | コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム | |
JP2008084030A (ja) | 識別情報割当装置及びその情報処理方法並びにそのプログラム | |
US8312068B2 (en) | Node device, information communication system, method for managing content data, and computer readable medium | |
JP2009230686A (ja) | コンテンツ管理サーバ及びコンテンツ管理プログラム | |
US20110246628A1 (en) | Information communication system, information processing apparatus, information communication method and computer readable storage medium | |
JP5434268B2 (ja) | 分散保存システム、データファイル分散保存方法及びプログラム | |
JP2008242990A (ja) | 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム | |
JP5157770B2 (ja) | ノード装置、プログラム及び保存指示方法 | |
JP2011008657A (ja) | コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム | |
JP5287059B2 (ja) | ノード装置、ノード処理プログラム及び保存指示方法 | |
JP2010238143A (ja) | ノード装置、ノード処理プログラム及び検索方法 | |
JP4983183B2 (ja) | ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法 | |
JP5347876B2 (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: 20110427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110614 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |