JP2008250569A - コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム - Google Patents

コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム Download PDF

Info

Publication number
JP2008250569A
JP2008250569A JP2007089814A JP2007089814A JP2008250569A JP 2008250569 A JP2008250569 A JP 2008250569A JP 2007089814 A JP2007089814 A JP 2007089814A JP 2007089814 A JP2007089814 A JP 2007089814A JP 2008250569 A JP2008250569 A JP 2008250569A
Authority
JP
Japan
Prior art keywords
content
terminal device
content data
terminal devices
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007089814A
Other languages
English (en)
Inventor
Kentaro Ushiyama
建太郎 牛山
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 JP2007089814A priority Critical patent/JP2008250569A/ja
Priority to US12/073,785 priority patent/US20080244067A1/en
Publication of JP2008250569A publication Critical patent/JP2008250569A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • 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/56Provisioning of proxy services
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ネットワークを介して互いに接続された複数の端末装置を備えたピアツーピア型のコンテンツ配信システムにおいて、端末装置間で送受信されるコンテンツデータの数を適切に調整すること。
【解決手段】ネットワーク上に配置された複数の端末装置から構成され、端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおいて、当該コンテンツ配信システムを構成する端末装置の数を検出する端末装置数検出手段と、端末装置数検出手段によって検出した端末装置の数に基づいて、端末装置間で送受信可能なコンテンツデータの数を決定するコンテンツ数決定手段と、コンテンツ数決定手段により決定したコンテンツデータの数に応じて、端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ数調整手段とを備えることとした。
【選択図】図8

Description

本発明は、ネットワークを介して互いに接続された複数の端末装置を備えたピアツーピア(Peer to Peer(P2P))型のコンテンツ配信システムの技術分野に関する。
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などのコンテンツデータを配信する、いわゆるコンテンツ配信システムの研究が盛んである。
そして、分散ハッシュテーブル(DHT(Distributed Hash Table))を利用して論理的にオーバーレイネットワークを構築することにより、コンテンデータなどの情報を効率的に分散配置して負荷分散を図る技術が提案されている。
この種のコンテンツ配信システムにおいては、各端末装置が当該オーバーレイネットワークに参加している全ての端末装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部の端末装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、コンテンツデータの検索等を行うようになっている(特許文献1参照)。
特開2006−197400号公報
ところで、このようなコンテンツ配信システムにおいては、端末装置間で送受信するコンテンツデータが増加したとき、端末装置全体でコンテンツデータを保持する記憶容量を増加させる必要がある。
しかしながら、これらの端末装置の記憶容量に制限がある場合、コンテンツ配信システムにおけるコンテンツデータの需要量に対して、供給量が不足してしまうことになる。このように供給量が不足すると、端末装置間でコンテンツデータの送受信ができない事態が発生する。
そこで、需要量に対する供給量を満たすために、コンテンツ供給装置を設ける方法がある。すなわち、所望のコンテンツデータを端末装置間の送受信によっては取得できない端末装置からの要求に応じて、コンテンツデータをその要求を行った端末装置へ送信するコンテンツ供給装置を設けるのである。
ところが、このようにコンテンツ供給装置を配置した場合に、コンテンツ配信システムにおいてさらに供給能力が不足しまうと、コンテンツ供給装置への負荷集中が発生してしまう。このように、上述のコンテンツ配信システムにおいては、供給できるコンテンツデータの数が制限されることになる。すなわち、コンテンツデータの数に対して端末装置の数が少なくなった場合、コンテンツデータの需要量に対して供給量が少なくなり、コンテンツ供給装置を配置した場合であってもコンテンツデータを供給できない可能性がある。
本発明は、以上の不都合に鑑みてなされたものであり、ネットワークを介して互いに接続された複数の端末装置を備えたピアツーピア型のコンテンツ配信システムにおいて、端末装置間で送受信されるコンテンツデータの数を適切に調整することができるコンテンツ配信システム及び方法等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおけるコンテンツを管理するコンテンツ管理装置において、当該コンテンツ配信システムを構成する端末装置の数を検出する端末装置数検出手段と、前記端末装置数検出手段によって検出した前記端末装置の数に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定するコンテンツ数決定手段と、前記コンテンツ数決定手段により決定した前記コンテンツデータの数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ数調整手段とを備えることを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の発明において、単位時間当たりに予測される前記コンテンツデータの送受信率を設定する記憶手段を備え、前記コンテンツ数決定手段は、前記端末装置数検出手段によって検出した前記端末装置の数と前記記憶手段に設定した前記送受信率に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定することを特徴とする。
また、請求項3に記載の発明は、請求項1又は請求項2に記載の発明において、前記端末装置数検出手段は、当該コンテンツ配信システムを構成する端末装置の数の変化を所定期間毎に検出し、前記コンテンツ数決定手段は、前記端末装置数検出手段によって検出された前記端末装置の数の変化に応じて、前記端末装置間で送受信可能なコンテンツデータの増減数を決定し、前記コンテンツ数調整手段は、前記コンテンツ数決定手段により決定した前記コンテンツデータの数の増減数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更することを特徴とする。
また、請求項4に記載の発明は、請求項3に記載の発明において、前記端末装置の数と前記コンテンツの数とを関連付けたテーブルを有し、前記コンテンツ数決定手段は、前記テーブルに基づいて、前記端末装置間で送受信可能なコンテンツデータの数の増減数を決定することを特徴とする。
また、請求項5に記載の発明は、請求項1から4のいずれか一項に記載の発明において、前記端末装置間でコンテンツデータの送受信可能なコンテンツデータのリストであって、前記端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、前記コンテンツ数調整手段は、前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数を変更することを特徴とする。
また、請求項6に記載の発明は、請求項1から4のいずれか一項に記載の発明において、前記コンテンツデータを前記端末装置で再生するためのキー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、前記コンテンツ数調整手段は、前記キー情報提供手段を制御して前記キー情報の送信を制限することによって、前記当該コンテンツ配信システムで送受信可能なコンテンツデータの数を変更することを特徴とする。
また、請求項7に記載の発明は、コンピュータを、請求項1から6のいずれか一項に記載の各手段として機能させるためのプログラムである。
また、請求項8に記載の発明は、ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおいて、所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給手段を備えるコンテンツ供給装置と、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ管理装置と、を備え、前記コンテンツ管理装置は、当該コンテンツ配信システムを構成する端末装置の数を検出する端末装置数検出手段と、前記端末装置数検出手段によって検出した前記端末装置の数に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定するコンテンツ数決定手段と、前記コンテンツ数決定手段により決定した前記コンテンツデータの数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ数調整手段とを備えることを特徴とする。
また、請求項9に記載の発明は、請求項8に記載の発明において、前記コンテンツ管理装置は、前記端末装置間でコンテンツデータの送受信可能なコンテンツデータのリストであって、端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行うことを特徴とする。
また、請求項10に記載の発明は、請求項8に記載の発明において、前記コンテンツ管理装置は、前記コンテンツデータを前記端末装置で再生するための再生キー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、前記キー情報の送信を制限することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行うことを特徴とする。
また、請求項11に記載の発明は、ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける情報処理方法であって、当該コンテンツ配信システムを構成する端末装置の数を検出するステップと、前記検出した端末装置の数に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定するステップと、前記決定したコンテンツデータの数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更するステップとを有することを特徴とする。
請求項1,7,8,11に記載の発明によれば、コンテンツ配信システムを構成する端末装置の数から、端末装置間で送受信可能なコンテンツデータの数を変更するので、コンテンツ供給装置の負荷を検出することなく、容易にコンテンツ供給装置のサーバ負荷状態を低減させることができる。
また、請求項2に記載の発明によれば、予めコンテンツデータの送受信率を記憶しておくようにしているため、この送受信率と参加端末数とに基づいて、端末装置間で送受信可能なコンテンツデータの決定をより適切に行うことができる。
また、請求項3に記載の発明によれば、コンテンツ供給装置における負荷状態の細かい変動に追従することなく、従って、端末装置間で送受信可能なコンテンツデータの数の変更処理が煩雑になることを防止することができる。
また、請求項4に記載の発明によれば、コンテンツ配信システムを構成する端末装置の数と公開すべきコンテンツ数とを関連づけたテーブルを用いて、端末装置間で送受信可能なコンテンツデータの数の増減を行うため、処理を簡易なものとすることができる。
また、請求項5,9に記載の発明によれば、コンテンツリストに掲載するコンテンツデータの数を増減させることによって、端末装置間で送受信可能なコンテンツデータを増減させるため、処理が複雑にならずに済む。
また、請求項6,10に記載の発明によれば、コンテンツキーの送信を拒否する割合を増減させることによって、端末装置間で送受信するコンテンツデータの数を増減させるため、処理が複雑にならずに済む。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとするコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.第1実施形態]
[1.1.コンテンツ配信システムSの構成等]
まず始めに、図1を参照して、本実施形態に係るコンテンツ配信システムSの概要構成等について説明する。図1は、本実施形態に係るコンテンツ配信システムSにおける各端末装置の接続態様の一例を示す図である。このコンテンツ配信システムSは、ネットワーク上に分散配置された複数の端末装置から構成され、端末装置間でコンテンツデータの送受信を行うものである。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
コンテンツ配信システムSは、図1の上部枠100内に示すように、ネットワーク8を介して相互に接続された複数の端末装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成され、ピアツーピア(P2P)方式のネットワークシステムとなっている。各端末装置1a,1b,1c・・・1x,1y,1z・・には、端末装置を示す情報としての固有の製造番号(例えば、MACアドレス)及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数の端末装置間で重複しないものである。また、以下の説明において、端末装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置1という場合がある。
[1.1.1.DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用したアルゴリズムについて説明する。
上述したコンテンツ配信システムSにおいて、当該端末装置1同士が、互いに情報をやり取りする際には、お互いの所在情報であるIPアドレスを知っていなければならない。
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各端末装置1が互いにネットワーク8に参加している全ての端末装置1のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全ての端末装置1のIPアドレスを覚えておくのは現実的ではない。また、任意の端末装置1の電源が頻繁にON或いはOFFとすると、各端末装置1において記憶している当該任意の端末装置1のIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台の端末装置1では、ネットワーク8に参加している全ての端末装置1のうち、必要最低限の一部の端末装置1のIPアドレスだけを記憶しておき、IPアドレスを記憶していない端末装置1については、各端末装置1間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9上に配置された端末装置1を、コンテンツ配信システムSに参加(言い換えれば、オーバーレイネットワーク9に参加)している端末装置という。
コンテンツ配信システムSに参加している各端末装置1の識別番号である端末IDとして、それぞれの端末装置1毎にユニークな番号(固有番号)を付与する。この番号は、端末装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128(2の128乗)≒340×1036(10の36乗)台の端末装置を運用できる。
より具体的には、各端末装置1の端末IDは、それぞれの端末装置1のIPアドレス或いは製造番号等の端末装置1毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。
このように共通のハッシュ関数によりハッシュ化されて求められた端末IDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値を端末IDとする。
また、コンテンツ配信システムSに参加している複数の端末装置1には、一の端末装置1から他の端末装置1に配信される共用情報としてのコンテンツデータ(例えば、音楽データ、映画データ、文書データ等)が分散して記憶されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別番号(以下、「コンテンツID」と呼ぶ。)を付与する。
そして、当該コンテンツIDは、端末IDと同様の長さ(例えば、128bit等)とし、コンテンツの名称(例えば、データファイル名)などが、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化される(つまり、端末装置1のIPアドレスのハッシュ値と同一のID空間に配置される)。
このように、各端末装置1及び各コンテンツデータに付与された端末ID及びコンテンツIDは、共通のハッシュ関数によって生成したため、図2に示すように、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ID及びコンテンツIDを付与し、図示したものである。図中丸点は端末IDを、四角形はコンテンツIDを示し、反時計回りでIDが増加するものとする。
本実施形態においては、上述のように「あるコンテンツIDを有するコンテンツデータを管理する端末装置は、そのコンテンツIDに近い端末IDを有する端末装置である」という規則を適用しており、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDと端末IDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置1に割り振る際に、一貫していれば他の定義でもよい。
図2に示す例では、この定義に基づいて、コンテンツIDaは、当該コンテンツIDaに近い端末ID(以下、「端末IDa」と呼ぶ。)を有する端末装置1に管理され、コンテンツIDbは、当該コンテンツIDbに近い端末ID(以下、「端末IDb」と呼ぶ。)を有する端末装置1に管理され、コンテンツIDcは、当該コンテンツIDcに近い端末ID(以下、「端末IDc」と呼ぶ。)を有する端末装置1に管理される。
ここで、「管理」とは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れの端末装置1に保持されているかを知っている」ことを意味する。すなわち、コンテンツ配信システムS内で送受信するコンテンツデータを保持する端末装置1(以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク情報(コンテンツ保持端末装置の所在情報であるIPアドレス)を保持することを意味する。例えば、図2においては、端末IDaを有する端末装置1は、コンテンツIDaを有するコンテンツデータが何れの端末装置1に保持されているかを知っており、端末IDbを有する端末装置1及び端末IDcを有する端末装置1も同様にそれぞれコンテンツIDbを有するコンテンツデータ及びコンテンツIDcを有するコンテンツデータが何れの端末装置1に保持されているかを知っている、ということになる。
このように、あるコンテンツデータが何れの端末装置1に保持されているかを知っている端末装置1を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末IDaを有する端末装置1は、コンテンツIDaを有するコンテンツデータのルート端末装置であって、端末IDbを有する端末装置1は、コンテンツIDbを有するコンテンツデータのルート端末装置であって、端末IDcを有する端末装置1は、コンテンツIDcを有するコンテンツデータのルート端末装置である。
また、コンテンツ配信システムSには、図1及び図2に示すように、コンテンツ配信システムS内にコンテンツデータを投入する機能、すなわちコンテンツ配信システムS内の端末装置1をコンテンツ保持端末装置とするためにコンテンツデータを端末装置1へ配布する機能や、端末装置1からの要求に応じてコンテンツデータを送信する機能を有するコンテンツ供給手段としてコンテンツ供給装置10と、コンテンツ配信システムSにおいて端末装置間で送受信可能なコンテンツデータのリストであるコンテンツリスト(カタログ)を生成して端末装置1へ提供する機能と、端末装置1からの要求に応じてコンテンツデータを再生又は取得するためのコンテンツキー(キー情報の一例に相当)を送信する機能などを有し、コンテンツを管理するコンテンツ管理装置20とが設けられている。なお、「コンテンツ配信システムSにコンテンツを投入」とは、コンテンツ供給装置10が、あるコンテンツデータに関して最初にコンテンツ保持端末装置となる端末装置1を決定し、当該決定した端末装置1にコンテンツデータを配布することを意味する。「コンテンツデータ数」とは、コンテンツリストに掲載されている全でのコンテンツの数であって、公開されているコンテンツ数である。
[1.1.2.ルーティングテーブルの作成]
ここで、図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は、参加要求を受信した他の端末装置1などから送信された情報等から、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在する端末装置1を選択し、当該端末装置1の端末ID及びIPアドレスをレベル1のテーブルに記憶する。図4がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末IDとして「0100」、「2XXX」のエリアの端末IDとして「2133」、「3XXX」のエリアの端末IDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目は端末装置1N自身を示しているため、IPアドレスを記憶する必要はない。
(レベル2のルーティング)
次に、図3(b)に示すように、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「1xxx」を更に4分割し、更に4つのエリア「10XX」、「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11XX」以外のエリアに存在する端末装置1を適当に選択し、当該端末装置1の端末ID及びIPアドレスをレベル2のテーブルに記憶する。図4がレベル2のテーブルの一例である。このテーブルでは、「10XX」のエリアの端末IDとして「1003」、「12XX」のエリアの端末IDとして「1221」が、「13XX」のエリアの端末IDとして「1313」がそれぞれ選択されている状態を示している。なお、レベル2の2列目は端末装置1Nが存在するエリア「11XX」であり、後述するレベル3にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアに端末装置1が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
(レベル3のルーティング)
更に、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「11XX」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置1を適当に選択し、当該端末装置1の端末ID及びIPアドレスをレベル3のテーブルに記憶する。図4がレベル3のテーブルの一例である。レベル3の4列目は端末装置1Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアに端末装置1が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
このようにして、レベル4まで同様にルーティングテーブルを図4に示すように作成することにより、8bitのID全てを網羅することができる。なお、レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置1が夫々作成して所有することになる。このように、各端末装置1は、コンテンツ配信システムSにおける複数の端末装置1のうち一部の端末装置1の識別情報である端末ID及びIPアドレスを関連付けたルーティングテーブルを有している。
[1.1.3.コンテンツデータの検索方法]
次に、図5を参照して、コンテンツデータを保持している端末装置1の検索方法の一例について説明する。図5は、DHTによりコンテンツデータを保持している端末装置1が検索される様子の一例を示す図である。
ここでは、端末ID「1133」の端末装置1Nが、コンテンツID「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの送信を要求する端末装置1をリクエスト端末装置と呼ぶ。
リクエスト端末装置1Nは、コンテンツID「3020」を宛先識別情報とし、自己が保持しているルーティングテーブルを参照して、コンテンツ保持端末装置の識別情報の送信要求(以下、「検索メッセージ」と呼ぶ。)を送信する。リクエスト端末装置1Nが、図4の例と同じ値のルーティングテーブルを持っていたとすると、コンテンツID「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置1のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)端末装置1A(端末ID「3213」)に対して検索メッセージを送信する。このように、検索メッセージはコンテンツデータに対応する固有の識別情報であるコンテンツIDを含むものであり、このコンテンツIDは検索メッセージにおいて宛先識別情報として用いられる。
次に、検索メッセージを受信した端末装置1Aは、この検索メッセージが自端末装置1A宛のメッセージであるか否かを判定する。自端末装置1A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置1Aの識別情報である端末IDと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置1A自身が保持しているルーティングテーブル(テーブルの値は図示しない)に記憶されている端末装置1の端末IDから、一番近い端末装置1の端末IDが、自身であるか他の端末装置1であるかを判定する。
そして、自端末装置1Aの端末IDよりも他の端末装置1の端末IDの方が、宛先識別情報に近いため、端末装置1Aは、当該端末装置1A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属す端末装置1のうち、IPアドレスを知っている端末装置1B(端末ID「3031」)に対して検索メッセージを転送する。
このように、コンテンツIDの桁を上から順に適合していく要領で検索メッセージの転送が進み、最終的に当該コンテンツデータを管理する端末装置1C、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、検索メッセージに含まれるコンテンツID「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持端末装置に関する情報(端末IDやIPアドレス等)をリクエスト端末装置1Nに返信するようになっている。なお、検索メッセージなどのメッセージを目的の端末装置1へ辿り着くまでに、上述のように転送する仕組みをDHTルーティングと呼ぶ。
こうして、リクエスト端末装置1Nは、上記ルート端末装置1Cから、コンテンツID「3020」のコンテンツデータを保持するコンテンツ保持端末装置に関する所在情報であるIPアドレスを受信して知ることになり、当該コンテンツ保持端末装置から、そのコンテンツデータを取得することになる。
[1.1.4.インデックステーブルへの登録方法]
このような構成のコンテンツ配信システムSの中で、例えば、ある端末装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他の端末装置1から検索可能とする際の手法について図面を参照して説明する。ここでは、コンテンツデータを保持することになった端末装置を端末ID「1301」の端末装置1M、コンテンツデータのコンテンツIDを「3020」、コンテンツID「3020」のルート端末装置を端末ID「3011」の端末装置ICとして説明する。
図6に示すように、コンテンツ供給装置10から配布されたコンテンツデータを記憶してコンテンツ保持端末装置となった端末装置1Mは、記憶したコンテンツデータのコンテンツID「3020」と同じ端末IDを持つ端末装置1に向けて(この端末装置1が実在するか否かはこの時点ではわからない。)登録メッセージ(端末装置1Mの端末ID及びそのIPアドレス、コンテンツID「3020」を含む)を送信する。そして、この登録メッセージも、上記検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該登録メッセージに含まれるコンテンツIDに最も近い端末IDを有する端末装置1Cまで転送されたところで、その端末装置1Cはもはや転送先の端末装置1が他にないと判断すると、当該端末装置1自身がそのコンテンツのルート端末装置となるべきだと判断し、当該登録メッセージに含まれる当該コンテンツID及びコンテンツ保持端末装置1Mの端末IDやIPアドレス(以下、これらを「インデックス情報」と呼ぶ。)を記憶する。
ルート端末装置におけるインデックス情報の保持は、図7に示すようなインデックステーブルにより行われる。図7はルート端末装置1Cにおけるインデックステーブルの例を示したものであり、自端末装置1が管理対象であるコンテンツID「3020」のコンテンツに関するコンテンツ保持端末装置の端末IDやIPアドレスなどを記憶している。
[1.1.5.端末装置1におけるコンテンツデータの取得・再生動作の概略]
次に、コンテンツ配信システムSの端末装置1におけるコンテンツデータの取得・再生動作の概略について図面を参照して具体的に説明する。図8は、端末装置1におけるコンテンツデータの取得・再生動作の概略についての説明図である。ここでは、あるコンテンツXのコンテンツデータ(以下、「コンテンツXのデータ」と呼ぶ。)がコンテンツ配信システムSに投入され、端末装置1によってコンテンツXのデータが取得され再生される場合を例に挙げ説明する。また、図8においては、説明を簡易にするためDHTルーティングの流れを省略している。
通常、リクエスト端末装置がコンテンツ保持端末装置からコンテンツXのデータを取得して再生することになるが(以下、「コンテンツ保持端末装置からの取得・再生動作」とする。)、コンテンツ保持端末装置が過負荷状態にある等によりコンテンツXのデータをリクエスト端末装置に送信できないときには、リクエスト端末装置はコンテンツ管理装置20からコンテンツXのデータを取得して再生することになる((以下、「コンテンツ管理装置からの取得・再生動作」とする。)。以下、それぞれの取得動作について順に説明する。
(コンテンツ保持端末装置からの取得・再生動作)
まず、リクエスト端末装置がコンテンツ保持端末装置からコンテンツデータを取得する動作について図8を参照して説明する。図8に示すように、コンテンツXのデータをコンテンツ配信システムSに投入するために、コンテンツ供給装置10は、コンテンツXのデータを配布する端末装置1をランダムに決定する。ここでは、コンテンツ供給装置10がコンテンツXのデータを配布する端末装置1の数を1としているが、これに限られない。例えば投入するコンテンツXが人気のコンテンツと推測できるものであれば、その数を増やすようにしてもよい。
次に、コンテンツ供給装置10は、上記のように決定した端末装置1(ここでは、端末装置1rとする。)に対して、コンテンツXのデータを配布する(図8中(1)参照。)。このようにコンテンツXのデータが端末装置1pに配布されると、端末装置1間でのコンテンツXのデータの送受信が可能となる。すなわち、コンテンツXのデータが配布された端末装置1pは、コンテンツ保持端末装置として機能する。なお、図示しないが、コンテンツXのデータが配布された端末装置1pは、コンテンツXのルート端末装置(ここでは、端末装置1qとする。)へ向けて登録メッセージを送信するようにしており、これにより端末装置1pは自端末装置の所在情報であるIPアドレス等を含むインデックス情報をコンテンツXのルート端末装置1qに登録する。
その後、コンテンツ保持端末装置でない端末装置1(ここでは、端末装置1rとする。)の利用者がコンテンツ配信システムSに投入されたコンテンツXのデータの取得するための操作(以下、「取得要求操作」とする。)を行うと、当該端末装置1rはリクエスト端末装置として、コンテンツXのデータの取得動作を開始する。
コンテンツXのデータを取得するために、リクエスト端末装置1rは、まず、コンテンツ管理装置20に対して、取得要求操作に応じたコンテンツXのコンテンツキーの送信を要求する(図8中(2)参照。)。
コンテンツ管理装置20には、正当な利用者か否かを判定するための利用者リストが記憶されており、コンテンツXのコンテンツキーの送信を要求したリクエスト端末装置が正当な利用者か否かを確認する(図8中(3)参照。)。
コンテンツ管理装置20には、コンテンツ配信システムS内で配信可能なコンテンツデータに対応するコンテンツキーが記憶されており、リクエスト端末装置1rが正当な利用者であると判定すると、記憶しているコンテンツXのコンテンツキーを取り出して、リクエスト端末装置1rへ送信する(図8中(4)参照。)。
リクエスト端末装置1rは、コンテンツ管理装置20から送信されるコンテンツXのコンテンツキーを受信すると、コンテンツXのコンテンツ保持端末装置を検索するために検索メッセージをルーティングテーブルに基づいて送信する(図8(5)参照。)。
検索メッセージを受信したコンテンツXのルート端末装置1qは、自装置のインデックステーブルから、コンテンツXのデータを保持するコンテンツ保持端末装置の所在情報であるIPアドレスを検索し、リクエスト端末装置に対して、検索したコンテンツ保持端末装置のIPアドレスをいくつか送信する(図8中(6)参照。)。
リクエスト端末装置は、ルート端末装置からコンテンツ保持端末装置のIPアドレスをいくつか受信すると、これらのIPアドレスのうち一つのIPアドレスを宛先としてコンテンツXのコンテンツ保持端末装置(ここでは、端末装置1pとする。)に対して、コンテンツXのデータの送信要求を行う(図8中(7)参照。)。
コンテンツXのコンテンツ保持端末装置1pは、リクエスト端末装置の要求に対して、記憶しているコンテンツXのデータをストリーミング形式でリクエスト端末装置1rへ送信する(図8中(8)参照。)。
リクエスト端末装置1rは、コンテンツ保持端末装置1pからストリーミング形式で送信されるコンテンツXのデータを受信する。コンテンツXのデータは所定の暗号化方式で暗号化されており、リクエスト端末装置1rは、コンテンツ供給装置10から受信したコンテンツキーを復号キーとして用いることによりコンテンツXのデータ復号化してストリーム再生する。また、リクエスト端末装置1rは、受信したコンテンツデータを順次内部の記憶部に記憶していき、コンテンツデータを全て記憶したときに、自端末装置1をコンテンツ保持端末装置として動作させ登録メッセージを送信する。
(コンテンツ管理装置からの取得・再生動作)
次に、リクエスト端末装置がコンテンツ管理装置20からコンテンツデータを取得する動作について図9を参照して説明する。図9には、コンテンツ保持端末装置1pにおける処理能力等の関係(例えば、コンテンツ保持端末装置1pにおいて他の端末装置へコンテンツXのデータを複数送信しているために、リクエスト端末装置へのコンテンツXのデータを供給する処理能力がないときなど)で、コンテンツ保持端末装置1pがリクエスト端末装置1rにコンテンツXのデータを送信できない場合に、端末装置1によってコンテンツXのデータが取得され再生される例が示されている。なお、図9における(1)〜(7)までの処理は、図8における(1)〜(7)までの処理と同様であるため、以下、図9における(8)〜(10)の処理について説明する。
図9に示すように、コンテンツ保持端末装置1pの処理能力などの関係で、コンテンツ保持端末装置1pがリクエスト端末装置1rにコンテンツXのデータを送信できないとき、コンテンツ保持端末装置1pからは、コンテンツXのデータを送信することができない旨の通知(送信不可通知)がリクエスト端末装置1rに送信される(図9(8)参照)。
リクエスト端末装置1rは、コンテンツ保持端末装置1pから送信不可通知を受信すると、コンテンツ供給装置10に対して、コンテンツXのデータの送信要求を行う(図9中(9)参照。)。
コンテンツ供給装置10は、リクエスト端末装置1rの要求に対して、記憶しているコンテンツXのデータをストリーミング形式でリクエスト端末装置1rへ送信する(図9中(10)参照。)。
リクエスト端末装置1rは、コンテンツ供給装置10からストリーミング形式で送信されるコンテンツXのデータを受信する。以降、コンテンツ保持端末装置1pからコンテンツXのデータを受信した時と同様に、コンテンツ管理装置20から受信したコンテンツキーを復号キーとして用いることによりコンテンツXのデータ復号化してストリーム再生する。また、リクエスト端末装置1rは、受信したコンテンツデータを順次内部の記憶部に記憶していき、コンテンツデータを全て記憶したときに、自端末装置1をコンテンツ保持端末装置として動作させ登録メッセージを送信する。
[1.1.6.コンテンツ配信システムS内の端末装置1の数に応じた処理について]
本実施形態におけるコンテンツ配信システムSにおいては、コンテンツデータの送受信を端末装置間で行うことを基本とするが、上述のように、コンテンツ保持端末装置からコンテンツデータを供給できない場合には、コンテンツ供給装置10からコンテンツデータを供給することになる。
ところで、コンテンツ配信システムS内のコンテンツデータの数(以下、単に「コンテンツ数」とも呼ぶ。)とコンテンツ配信システムSの端末装置1の数(以下、「参加端末数」とも呼ぶ。)との関係で、コンテンツ供給装置10にアクセスが集中してしまう恐れがある。このようにコンテンツ供給装置10にアクセスが集中すると、コンテンツ供給装置10の処理負荷(以下、「サーバ負荷」と呼ぶ。)が増大し、その限界(以下、「サーバ性能限界」とする。)に達してしまう事態になるおそれがある。
図10は、上記サーバ負荷と参加端末数との関係を、コンテンツ数毎にグラフ化した例を示した図である。この図に示すように、コンテンツ配信システムS内のコンテンツ数が多ければ多いほど、サーバ負荷が増加する。また、コンテンツ配信システムS内のコンテンツ数の増減がない状態で、参加端末数が多くなるに従いサーバ負荷が増加するが、参加端末数がある程度の数になるとそれを境にサーバ負荷が減少していく。このカーブの形状は、P2P型のコンテンツ配信システムに特有のものである。参加端末数が多くなればなるほど、端末装置間でコンテンツの融通が利くため、コンテンツ供給装置10へのアクセスは少なくなる。逆に、参加端末数が非常に少ないうちは、コンテンツのリクエスト数自体が少ないため、コンテンツ供給装置10へのアクセスも少なくなる。参加端末数が中間的な値のときに、コンテンツ供給装置10へのアクセスが比較的多くなり、このような形状になる。例えば、図10においてコンテンツ数が3万のときでは、参加端末数がN1とN4との間の略中央にあるときに、コンテンツ供給装置10のサーバ負荷がピークとなっている。
このようにコンテンツ配信システムS内のコンテンツ数が端末装置1の数に比べて適正でない場合には、コンテンツ供給装置10のサーバ負荷が図10に示すようにサーバ性能限界を超えてしまうおそれがある。このような状態の時、コンテンツ配信システムSにおいて利用可能なコンテンツ数(端末装置間で送受信可能なコンテンツデータの数であり、以下、「公開コンテンツ数」とも呼ぶ。)を増減させることにより、コンテンツ供給装置10のサーバ負荷を低減することができる。
このコンテンツ供給装置10のサーバ負荷は、コンテンツ配信システムSに参加している端末装置1によるコンテンツデータの送信要求数(以下、「コンテンツ需要数」とする。)と、コンテンツ配信システムSに参加している端末装置1によってコンテンツデータを送信できる送信可能数(以下、「コンテンツ供給数」とする。)との関係で決まる。
ここで、コンテンツ需要数は、参加端末数に推定視聴率を積算したものとして概ね捉えることができる。また、コンテンツ供給数は、参加端末数に各端末装置の配信能力(例えば、演算能力、ネットワーク速度、コンテンツデータの記憶数など)を積算したものとして概ね捉えることができる。
このように、コンテンツ供給装置10のサーバ負荷は、公開コンテンツ数と参加端末数に依存して変化する。従って、参加端末数の変化に対して公開コンテンツ数を増減させることで、コンテンツ供給装置10のサーバ負荷を調整することができる。本実施形態においては、参加端末数に応じて、公開コンテンツ数を変更するようにして、コンテンツ供給装置10のサーバ負荷状態がサーバ性能限界を超えないようにしている。
コンテンツ管理装置20による調整は、参加端末数と公開コンテンツ数との関係で参加端末数が少ないときには、公開コンテンツ数を減少させ、参加端末数と公開コンテンツ数との関係で参加端末数が多いときには、公開コンテンツ数を増加させることによって行われる。
コンテンツ管理装置20による公開コンテンツ数の減少は、コンテンツ配信システムS内にて提供されているコンテンツ(すなわち、端末装置1間でコンテンツデータの送受信可能なコンテンツデータ)の名称がリスト化されたコンテンツリストの内容を変更することによって行う。例えば、コンテンツ配信システムS内に存在するコンテンツデータの数(以下、「全コンテンツ数」とする。)を1万としたときに、コンテンツリストに掲載するコンテンツデータの数(以下、「掲載コンテンツ数」とする。)を4000ほど減少させることによって、公開コンテンツ数を実質的に2/5減少させることができる。
また、コンテンツ管理装置20による公開コンテンツ数の増加は、コンテンツリストに掲載するコンテンツデータの制限を緩和或いは解除することによって行われる。例えば、全コンテンツ数を1万としたときの掲載コンテンツ数が6000である状態で、掲載コンテンツ数を2000ほど増加させることによって、公開コンテンツ数を実質的に4/3だけ増加させることができる。
なお、コンテンツリストに掲載するコンテンツデータの制限が行われていない状態(つまり、全コンテンツ数=掲載コンテンツ数のとき)では、上述の方法では公開コンテンツ数の増加を行うことができない。そこで、本実施形態におけるコンテンツ管理装置20では、コンテンツデータをコンテンツ供給装置10に対して、所要の公開コンテンツ数の増加に応じた数のコンテンツデータを新たに投入するように要求するように設定することができるようにしている。この要求に応じてコンテンツ供給装置10は、コンテンツデータを複数の端末装置1へ投入し、コンテンツ管理装置20はこれに応じてコンテンツリストの掲載コンテンツ数を増加させる。なお、コンテンツデータを新たに投入するのに代えて、すでに投入しているコンテンツデータを端末装置へ送信するようにして、コンテンツ保持端末装置を増加させるようにすることもできる。
ところで、コンテンツ管理装置20は、参加端末数を端末装置1のルーティングテーブルの状態から推測することができる。つまり、ルーティングテーブルに含まれる端末装置1の情報の数が多いときには参加端末数が多く、ルーティングテーブルに含まれる端末装置1の情報の数が少ないときには参加端末数が少ない。従って、コンテンツ管理装置20は、ルーティングテーブルに含まれる端末装置の情報(例えば、端末ID)の数に所定の係数を積算することによって参加端末数を演算する。なお、端末装置1のルーティングテーブルは、端末装置1がコンテンツリストやコンテンツキーを要求するときに同時に端末装置1から送信させたり、所定の端末装置1に定期的にルーティングテーブルを送信させるように要求するようにしてもよい。また、コンテンツ配信システムSへの参加又は脱退を行う端末装置1がコンテンツ管理装置20にその参加・脱退を通知するようにしたり、コンテンツ配信システムSに参加している端末装置1から定期的にコンテンツ管理装置20に参加していることを通知するようにして、これらの通知に基づいてコンテンツ管理装置20が参加端末数を検出するようにしてもよい。
以下、コンテンツ配信システムSにおける各装置の構成及び動作について図面を参照して更に具体的に説明する。
[1.2.端末装置1の構成等の説明]
次に、図面を参照して、端末装置1の構成及び動作について説明する。図11は、本実施形態に係るコンテンツ配信システムSにおける端末装置1の概略構成を示す図である。
端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図11に示すように、CPU(Central Processing Unit)102と、各種プログラム等を記憶する書き換え可能な主記憶装置としての第1記憶部103と、各種データ等を記憶するHDD(Hard Disk Drive)等から構成された第2記憶部104と、ルータ30aを介してネットワーク8に参加している他の端末装置1との間で通信を行うためのネットワークインターフェイス105と、ユーザによって端末装置1を遠隔操作するために所定の赤外線信号を送信及び受信するリモコン106と、このリモコン106と赤外線により通信を行うための赤外線ポート107と、赤外線ポート107を制御する周辺機器制御チップ108と、CPU102の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述の内蔵ディスプレイ110に表示するビデオチップ109と、内蔵ディスプレイ110と、FM音源やWave Table音源などの音源を有し、オーディオ信号を内蔵スピーカ112に出力することによって内蔵スピーカ112から音波を出力させる音源チップ111と、内蔵スピーカ112とを備えて構成され、これらの各種構成要素はシステムバス101を介して相互に接続されている。なお、本実施形態においては、CPU102と第1記憶部103とで制御部113を構成している。
(第1記憶部103について)
また、第1記憶部103には、端末装置1のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム114、内蔵ディスプレイ110の制御等を行うための画面制御プログラム115、コンテンツ保持端末装置として機能する他の端末装置1から送信されるコンテンツデータを受信し、また自端末装置がコンテンツ保持端末装置として機能するときには第2記憶部104に記憶したコンテンツデータを配信するためのコンテンツ処理プログラム116、他の端末装置とメッセージの送受信を行うためのメッセージ処理プログラム117、配信されたコンテンツデータの再生等を行うための音楽デコーダプログラム118等を記憶しており、これらはCPU102によって読み出され、CPU102によってこれらのプログラムに従った機能が実行される。また、第1記憶部103には、更にインデックステーブル(図7参照。)を記憶するためのインデックステーブル記憶領域119やルーティングテーブル(図4参照。)を記憶するためのルーティングテーブル記憶領域120が設けられている。
ここで、OSプログラム114は、CPU102によって読み出されて実行されることにより、リモコン106の入出力に関する機能や、第1記憶部103や第2記憶部104などのメモリ管理等の端末装置1であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム114がCPU102によって実行された状態で、上述の画面制御プログラム115、コンテンツ処理プログラム116、メッセージ処理プログラム117、音楽デコーダプログラム118等が第1記憶部103から読み出されて実行される。なお、ここでは説明の便宜上各プログラムを分けたが、これらを一つのプログラムとしてもよく、或いは二つのプログラムとしても当然かまわない。
なお、OSプログラム114、画面制御プログラム115、コンテンツ処理プログラム116、メッセージ処理プログラム117、音楽デコーダプログラム118等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス105を介して、第1記憶部103にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第1記憶部103に読み込まれるようにしてもよい。
(第2記憶部104について)
第2記憶部104には、コンテンツ供給装置10から投入され、コンテンツ配信システムS内にて提供されているコンテンツの名称がリスト化されたコンテンツリストを記憶するコンテンツリスト記憶領域と、コンテンツ供給装置10等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域と、コンテンツ管理装置20から受信したコンテンツキーを記憶するコンテンツキー記憶手段として機能するコンテンツキー記憶領域等を有している。
(制御部113について)
制御部113は、上述のようにCPU102と第1記憶部103とから構成され、CPU102が第1記憶部103に記憶された各種プログラム114〜118を読み出して実行することにより、端末装置1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツキー取得手段、デコード手段、コンテンツデータ再生手段、メッセージ宛先判定手段、メッセージ転送手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、端末識別情報送信手段等として機能するようになっている。
なお、CPU102が画面制御プログラム115を実行することによって、表示制御手段等として、またCPU102がコンテンツ処理プログラム116を実行することによって、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツキー取得手段、コンテンツデータ再生手段等として、またCPU102がメッセージ処理プログラム117を実行することによって、メッセージ宛先判定手段、メッセージ転送手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、端末識別情報送信手段等として、またCPU102が音楽デコーダプログラム118を実行することによって、デコード手段等として、それぞれ機能するようになっている。
(表示制御手段について)
表示制御手段は、ビデオチップ109及び内蔵ディスプレイ110を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ110にどのように映像を表示させるかを制御する。
(コンテンツデータ取得要求検出手段について)
コンテンツデータ取得要求検出手段は、利用者によるコンテンツデータの取得要求操作を検出する。例えば、コンテンツ管理装置20から端末装置1が取得したコンテンツリストが表示制御手段によって内蔵ディスプレイ110に表示されているときに、端末装置1の利用者がリモコン106を操作することによって、所望のコンテンツ名称を利用者が選択することによってコンテンツデータの取得要求操作がなされ、この操作をコンテンツデータ取得要求検出手段によって検出する。
なお、コンテンツリストにはコンテンツ配信システムSにおいて配信可能なコンテンツの名称などコンテンツデータを特定するための情報が含まれており、表示制御手段は、内蔵ディスプレイ110にコンテンツリストに含まれるコンテンツ名称の一覧を表示するようにしている。このコンテンツリストは、コンテンツデータ取得要求検出手段が定期的にコンテンツ管理装置20に対して要求を行うことによって、端末装置1は最新のコンテンツリストを取得し、表示する。
(コンテンツキー取得手段について)
コンテンツキー取得手段は、コンテンツデータ取得要求検出手段により取得要求操作が検出されたとき、取得要求操作に応じたコンテンツデータのコンテンツキーの送信を前記ネットワークを介してコンテンツ管理装置20に要求する。また、コンテンツキー取得手段は、この要求に応じてコンテンツ管理装置20から送信されるコンテンツキーを受信し、第2記憶部104のコンテンツキー記憶領域に記憶する。なお、コンテンツキー取得手段によるコンテンツキーの送信要求は、コンテンツキーに対応するコンテンツデータのコンテンツ名称又はコンテンツIDなどを特定して行う。
(コンテンツデータ取得手段について)
コンテンツデータ取得手段は、ネットワークインターフェイス105を介して受信したメッセージがコンテンツ供給装置10からのコンテンツデータの保持要求であるときに、このコンテンツデータをコンテンツ供給装置10から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶する。
また、コンテンツデータ取得手段は、コンテンツデータ取得要求検出手段により利用者による取得要求操作が検出されたときにコンテンツキー取得手段によってコンテンツキーが取得されると、この取得要求操作に応じたコンテンツデータをネットワーク8を介して他の端末装置1から取得する。
ここで、他の端末装置1からコンテンツデータを取得するときには、取得しようとするコンテンツデータを保持するコンテンツ保持端末装置の所在情報であるIPアドレスを検索するための検索メッセージを生成する。検索メッセージは、要求するコンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自端末装置の識別情報である端末IDを要求元識別情報としたメッセージである。コンテンツデータ取得手段は、取得しようとするコンテンツデータのコンテンツ名称をコンテンツリストから取り出し、取り出したコンテンツ名称を端末IDを得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツIDを決定する。なお、コンテンツ管理装置20において予めコンテンツリストにコンテンツデータに対応するコンテンツIDを含ませることにしてもよい。
コンテンツデータ取得手段は、生成した検索メッセージの宛先識別情報であるコンテンツIDに基づいて所定条件を満たす送信先端末装置を選択して、検索メッセージを送信する。ここで、「所定条件」とは、ルーティングテーブルに記憶された端末IDのうち、検索メッセージの宛先識別情報であるコンテンツIDと上位桁がより多く一致する端末IDを選択するという条件である。
コンテンツデータ取得手段は、送信した検索メッセージに対してルート端末装置から送信されるコンテンツ保持端末装置の所在情報であるIPアドレスを受信し、この情報に基づいてコンテンツ保持端末装置に対して取得要求操作に応じたコンテンツデータを要求する。この要求に応じてコンテンツ保持端末装置からコンテンツデータがストリーミング配信される。コンテンツデータ取得手段は、ストリーミング配信されるコンテンツデータを順次受信し、第2記憶部104に記憶していく。
また、コンテンツデータ取得手段は、利用者による取得要求操作に対応するコンテンツデータがリクエスト端末装置から取得することができないとき、コンテンツ供給装置10から取得要求操作に対応するコンテンツデータを取得する。
(コンテンツデータ再生手段について)
コンテンツデータ再生手段は、取得要求操作に応じたコンテンツデータをコンテンツ保持端末装置から取得するときには、コンテンツ保持端末装置からストリーミング配信されるコンテンツデータを第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコード手段によってデコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータを再生する。
また、コンテンツデータ再生手段は、第2記憶部104に記憶されたコンテンツデータを再生するときにも、同様に、コンテンツデータを第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコード手段によってデコードし、再生する。
(コンテンツデータ送信手段について)
コンテンツデータ送信手段は、コンテンツデータ記憶手段としての第2記憶部104に記憶したコンテンツデータの送信要求が他の端末装置1からあったとき、この送信要求に対応するコンテンツデータを第2記憶部104から取り出して送信要求をした他の端末装置1へ送信する。
(デコード手段について)
デコード手段は、第2記憶部104に記憶したコンテンツデータ或いはコンテンツ保持端末装置からストリーミング送信されるコンテンツデータを内蔵ディスプレイ110に表示し、内蔵スピーカ112から出力するためにデコードする。すなわち、再生対象のコンテンツデータは、所定の形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ110や内蔵スピーカ112から出力できるようにデコードする。
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク8を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持端末装置の識別情報をルート端末装置に要求するための検索メッセージ、ルート端末装置にコンテンツ保持端末装置の識別情報を登録するための登録メッセージなどである。
受信したメッセージが自端末装置宛であるか否かの判定は、メッセージに含まれる宛先識別情報を取り出し、第1記憶部103に記憶したルーティングテーブルに基づいて行われる。すなわち、各種のメッセージをネットワークインターフェイス105を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶した端末IDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上の端末IDが自端末装置の端末IDであると判定すると、自端末装置宛のメッセージであると判定する。
(メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク8を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、ルーティングテーブルに記憶された端末装置1の識別情報から送信先端末装置を選択して、受信したメッセージを送信先端末装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶された端末装置1の端末IDのうち、宛先識別情報に近い端末IDを選択し、このように選択した端末IDに対応する端末装置1のIPアドレスを知り、そのIPアドレスをIPパケットの宛先として、メッセージを転送する。
(登録メッセージ送信手段について)
登録メッセージ送信手段は、コンテンツ供給装置10から受信したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶したとき、当該コンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自端末装置の識別情報である端末ID及びIPアドレスとを含む登録メッセージを生成して、ルーティングテーブルに基づいて選択した送信先端末装置へ送信する。また、他のコンテンツ保持端末装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶し、登録メッセージを生成して、ルーティングテーブルに基づいて選択した送信先端末装置へ送信する。
(コンテンツ保持端末情報取得手段について)
コンテンツ保持端末情報取得手段は、自端末装置において、受信したメッセージが自端末装置宛の登録メッセージであるとき、登録メッセージに含まれるコンテンツ保持端末装置の識別情報である端末IDやIPアドレスなどを取得する。そして、このように取得したインデックス情報をインデックステーブルに記憶する。
(端末識別情報送信手段について)
端末識別情報送信手段は、検索メッセージによって要求されたコンテンツに対するコンテンツ保持端末装置の端末IDが記憶されている場合、当該コンテンツ保持端末装置の所在情報であるIPアドレスを、当該検索メッセージを送信したリクエスト端末装置へ向けて送信する。
[1.3.コンテンツ供給装置10の構成等の説明]
次に、図面を参照して、コンテンツ供給装置10の構成及び動作について説明する。図12は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツ供給装置10の概略構成を示す図である。
コンテンツ供給装置10は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図12に示すように、CPU(Central Processing Unit)202と、各種プログラム等を記憶する書き換え可能な主記憶装置としての第1記憶部203と、各種データ等を記憶するHDD等から構成された第2記憶部204と、ルータ30bを介してネットワーク8に参加している他の端末装置1やコンテンツ管理装置20との間で通信を行うためのネットワークインターフェイス205と、コンテンツ配信システムSの管理者によってコンテンツ供給装置10の制御を行うために情報を入力する入力手段であるキーボード207やマウス208と、入力手段から入力された情報を処理するための周辺機器制御チップ206と、CPU202の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ210に表示するビデオチップ209と、ディスプレイ210等を備えて構成され、これらの各種構成要素はシステムバス201を介して相互に接続されている。なお、本実施形態においては、CPU202と第1記憶部203とで制御部213を構成している。
(第1記憶部203について)
また、第1記憶部203には、コンテンツ供給装置10のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム214、ディスプレイ210の制御等を行うための画面制御プログラム215、コンテンツ配信システムSにコンテンツデータを新規に投入したり、端末装置1からの要求に応じてコンテンツデータを送信したりするためのコンテンツ供給プログラム216等を記憶しており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。
ここで、OSプログラム214は、CPU202によって読み出されて実行されることにより、キーボード207やマウス208に関する機能や、第1記憶部203や第2記憶部204などのメモリ管理等のコンテンツ供給装置10であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム214がCPU202によって実行された状態で、上述の画面制御プログラム215、コンテンツ供給プログラム216等が第1記憶部203から読み出されて実行される。なお、ここでは説明の便宜上各プログラムを分けたが、これらを一つのプログラムとしてもよく、或いは二つのプログラムとしても当然かまわない。
(第2記憶部204について)
第2記憶部204には、コンテンツ配信システムSにおいて提供しているコンテンツデータや提供予定のコンテンツデータを記憶するコンテンツデータ記憶領域217を有している。
(制御部213について)
制御部213は、上述のようにCPU202と第1記憶部203とから構成され、CPU202が第1記憶部203に記憶された各種プログラム214〜216を読み出して実行することにより、コンテンツ供給装置10全体を統括制御し、かつ、後述する表示制御手段、コンテンツ投入手段、コンテンツ送信手段等として機能するようになっている。
なお、CPU202が画面制御プログラム215を実行することによって表示制御手段等として、またCPU202がコンテンツ供給プログラム216を実行することによって、コンテンツ投入手段、コンテンツ送信手段等として、それぞれ機能するようになっている。
(表示制御手段について)
表示制御手段は、ビデオチップ209及びディスプレイ210を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ210にどのように映像を表示させるかを制御する。
(コンテンツ投入手段について)
コンテンツ投入手段は、コンテンツデータ記憶領域217に記憶したコンテンツデータを保持させる端末装置1、すなわちコンテンツ保持端末装置をランダムに決定し、決定したコンテンツ保持端末装置にコンテンツデータを送信する。なお、コンテンツ投入手段がランダムに決定するコンテンツ保持端末装置の数は、例えば、上述のよう1台とするようにしてもよく、また、投入するコンテンツの人気度が推測できるものであれば、上述のように推測した人気度に応じて増減させることができる。
(コンテンツ送信手段について)
コンテンツ送信手段は、ネットワークを介して端末装置1からコンテンツデータの送信要求があると、コンテンツ記憶手段としての第2記憶部204から送信要求に対応するコンテンツデータを取り出して、要求元の端末装置1へ送信する。
[1.4.コンテンツ管理装置20の構成等の説明]
次に、図面を参照して、コンテンツ管理装置20の構成及び動作について説明する。図13は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツ管理装置20の概略構成を示す図である。
コンテンツ管理装置20は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図13に示すように、CPU(Central Processing Unit)302と、各種プログラム等を記憶する書き換え可能な主記憶装置としての第1記憶部303と、各種データ等を記憶するHDD等から構成された第2記憶部304と、ルータ30cを介してネットワーク8に参加している他の端末装置1との間で通信を行うためのネットワークインターフェイス305と、コンテンツ配信システムSの管理者によってコンテンツ管理装置20の制御を行うために情報を入力する入力手段であるキーボード307やマウス308と、入力手段から入力された情報を処理するための周辺機器制御チップ306と、CPU302の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ310に表示するビデオチップ309と、ディスプレイ310等を備えて構成され、これらの各種構成要素はシステムバス301を介して相互に接続されている。なお、本実施形態においては、CPU302と第1記憶部303とで制御部313を構成している。
(第1記憶部303について)
また、第1記憶部303には、コンテンツ管理装置20のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム314、ディスプレイ310の制御等を行うための画面制御プログラム315、コンテンツ供給装置10のサーバ負荷状態に基づいて、端末装置1間で送受信可能なコンテンツデータの数を変更するためのコンテンツ調整プログラム316等を記憶しており、これらはCPU302によって読み出され、CPU302によってこれらのプログラムに従った機能が実行される。
ここで、OSプログラム314は、CPU302によって読み出されて実行されることにより、キーボード307やマウス308に関する機能や、第1記憶部303や第2記憶部304などのメモリ管理等のコンテンツ管理装置20であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム314がCPU302によって実行された状態で、上述の画面制御プログラム315、コンテンツ調整プログラム316等が第1記憶部303から読み出されて実行される。なお、ここでは説明の便宜上各プログラムを分けたが、これらを一つのプログラムとしてもよく、或いは二つのプログラムとしても当然かまわない。
なお、OSプログラム314、画面制御プログラム315、コンテンツ調整プログラム316等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス305を介して、第1記憶部303にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第1記憶部303に読み込まれるようにしてもよい。
(第2記憶部304について)
第2記憶部304には、コンテンツ供給装置10から投入され、コンテンツ配信システムSにおいて提供されるコンテンツデータを復号するためのコンテンツキーがコンテンツデータ毎にそのコンテンツIDに対応してそれぞれ記憶されるコンテンツキー記憶手段としてのコンテンツキーデータベース領域320、コンテンツ配信システムS内にて提供されているコンテンツデータの名称がリスト化されたコンテンツリストを記憶するコンテンツリスト記憶手段としてのコンテンツリスト記憶領域321を有している。
(制御部313について)
制御部313は、上述のようにCPU302と第1記憶部303とから構成され、CPU302が第1記憶部303に記憶された各種プログラム314〜316を読み出して実行することにより、コンテンツ管理装置20全体を統括制御し、かつ、後述する表示制御手段、端末装置数検出手段、コンテンツ数決定手段、コンテンツ数調整手段、コンテンツリスト提供手段、キー情報提供手段等として機能するようになっている。
なお、CPU302が画面制御プログラム315を実行することによって表示制御手段等として、またCPU302がコンテンツ調整プログラム316を実行することによって端末装置数検出手段、コンテンツ数決定手段、コンテンツ数調整手段、コンテンツリスト提供手段、キー情報提供手段等として、それぞれ機能するようになっている。
(表示制御手段について)
表示制御手段は、ビデオチップ309及びディスプレイ310を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ310にどのように映像を表示させるかを制御する。
(端末装置数検出手段について)
端末装置数検出手段は、当該コンテンツ配信システムSを構成する端末装置1の数(参加端末数)を所定期間毎(例えば、3分毎)に検出する。
この端末装置数検出手段による参加端末数の検出は、端末装置1のルーティングテーブルの状態から推測することによって行われる。すなわち、端末装置数検出手段は、ルーティングテーブルに含まれる端末装置の情報(端末IDなど)の数に所定の係数を積算することによって参加端末数を演算するようにしている。なお、ID空間上の位置がそれぞれ大きく異なる複数の端末装置のルーティングテーブルを用いて演算することによって、ID空間上で端末IDに偏りがあったときでも、精度よく参加端末数を検出することができる。
このルーティングテーブルは、端末装置1がコンテンツリストやコンテンツキーを要求するときに同時に端末装置1から送信させたり、所定の端末装置1に定期的にルーティングテーブルを送信させるように要求することによって取得する。
また、参加端末数をルーティングテーブルの状態からではなく、コンテンツリストの配布状態に応じて検出するようにしてもよい。このコンテンツリストは、コンテンツ配信システムSに参加している端末装置1が定期的にコンテンツ管理装置20から取得するものであり、端末装置数検出手段は所定期間内にどのくらいの数の端末装置1からコンテンツリストの要求があったかにより参加端末数の推定値を演算し、この値を参加端末数として検出するようにする。例えば、各端末装置1が1時間毎にコンテンツリストをコンテンツ管理装置20から取得するように設定されている場合に、端末装置数検出手段は、10分間でコンテンツリストの送信要求が2000であったとき、2000×6を演算して、その演算結果である1万2000を参加端末数として検出する。
また、コンテンツリストの要求数やルーティングテーブルの状態ではなく、コンテンツキーの要求数と時間帯に基づいて、参加端末数の推定値を演算し、この値を参加端末数として検出するようにしてもよい。例えば、参加端末数1万台当たりのコンテンツキーの要求率を、8時〜10時の時間帯は500、20時〜22時までの時間帯は700と推定して設定しておく。そして、8時〜10時までの時間帯に、コンテンツキーの要求が200であったとき、端末装置数検出手段は、1万×200/500を演算し、その演算結果である6000を参加端末数として検出する。
また、ルーティングテーブルの状態、コンテンツリストやコンテンツキーの要求数ではなく、コンテンツ配信システムSに参加する資格のある全端末装置の数と時間帯とに基づいて、参加端末数の推定値を演算し、この値を参加端末数として検出するようにしてもよい。例えば、コンテンツ配信システムSに参加資格のある全端末装置の数を10万とし、8時〜10時の時間帯は15%の参加率、20時〜22時までの時間帯は25%の参加率と推定して設定しておき、端末装置数検出手段は、8時〜10時までの時間帯では、10万×0.15を演算し、その演算結果である1万5000を参加端末数として検出する。なお、コンテンツ配信システムSに参加する資格のある端末装置の数は、コンテンツ配信システムSの管理者などがキーボード307やマウス308などの入力手段を用いて入力することによって、第1記憶部303に設定されるものである。
また、上述以外の方法として、コンテンツ配信システムSに参加している端末装置1から定期的に参加している旨の情報をコンテンツ管理装置20へ送信させ、端末装置数検出手段は、このように送信された情報に基づいて、参加端末数を検出するようにしてもよい。
(コンテンツ数決定手段について)
コンテンツ数決定手段は、端末装置数検出手段によって検出した参加端末数に基づいて、端末装置1間で送受信可能なコンテンツデータの適正な数(以下、「適正コンテンツ数」とも呼ぶ。)を決定する。
例えば、コンテンツ配信システムSが図10に示す特性を有しているとき、図14に示すようなテーブルに基づいて、適正コンテンツ数を決定する。すなわち、コンテンツ管理装置20は、このテーブルを参照し、参加端末数≦N1のとき又はN4<参加端末数のとき適正コンテンツ数を3万に、N1<参加端末数≦N2のとき又はN3<参加端末数≦N4のとき適正コンテンツ数を2万に、N2<参加端末数≦N3のとき適正コンテンツ数を1万にそれぞれ決定する。
また、記憶手段である第1記憶部303に単位時間当たりに予測されるコンテンツデータの送受信率を設定しておき、コンテンツ数決定手段は、端末装置数検出手段によって検出した参加端末数と第1記憶部303に設定した送受信率に基づいて、適正コンテンツ数を決定するようにしてもよい。ここで、コンテンツデータの送受信率は、コンテンツ配信システムSの管理者などがキーボード307やマウス308などの入力手段を用いて入力することによって、第1記憶部303に設定されるものである。
(コンテンツ数調整手段について)
コンテンツ数調整手段は、コンテンツ数決定手段により決定したコンテンツデータの数(適正コンテンツ数)に応じて、端末装置1間で送受信可能なコンテンツデータの数(公開コンテンツ数)を変更する。
コンテンツ数調整手段は、現時点においてコンテンツ配信システムSの端末装置間で送受信可能なコンテンツデータの数(以下、「現コンテンツ数」とも呼ぶ。)が適正コンテンツ数よりも所定数以上多いと判定すると、公開コンテンツ数を所定数減少させる。例えば、図10に示すような特性をコンテンツ配信システムSが有しているときに、現コンテンツ数が2万5000であり、かつN1<参加端末数≦N2のとき、コンテンツ数調整手段は、公開コンテンツ数を5000ほど減少させる。ここで、「現コンテンツ数」は、コンテンツ供給装置10によってコンテンツ配信システムSに投入された全コンテンツデータの数、時期及び視聴率(コンテンツデータの送受信率の予測値)からコンテンツ数調整手段が演算して求めることとするが、その他のパラメータを用いて演算するようにしてもよい。また、コンテンツデータを保持している端末装置1から定期的に保持内容を通知させるようにし、コンテンツ数調整手段がこれらを集計して現コンテンツ数として算出するようにしてもよい。
また、コンテンツ数調整手段は、現コンテンツ数が適正コンテンツ数よりも所定以上少ないと判定すると、公開コンテンツ数を所定数増加させる。例えば、図10に示すような特性をコンテンツ配信システムSが有しているときに、コンテンツ数が1万8000であり、かつN1<参加端末数≦N2のとき、コンテンツ数調整手段は、公開コンテンツ数を2000ほど増加させる。
ここで、このコンテンツ数調整手段には、コンテンツリスト生成手段としての機能が含まれており、コンテンツ数調整手段による公開コンテンツ数の調整は、コンテンツリストのリスト内容を変更することによって行われる。
コンテンツリスト生成手段は、現コンテンツ数と適正コンテンツ数に基づいて、公開コンテンツ数を増減させる。具体的には、現コンテンツ数が適正コンテンツ数よりも所定以上多いとき、コンテンツリスト生成手段は、掲載コンテンツ数を所定の割合で減少させたコンテンツリストを生成してコンテンツリストの更新を行う。また、現コンテンツ数が適正コンテンツ数よりも所定以上少ないとき、コンテンツリスト生成手段は、掲載コンテンツ数を所定の割合で増加させたコンテンツリストを生成してコンテンツリストの更新を行う。一方、現コンテンツ数が適正コンテンツ数の所定範囲内にあるとき、コンテンツリスト生成手段は、コンテンツリストの更新を行わない。
このように、本実施形態におけるコンテンツ管理装置20は、現コンテンツ数と適正コンテンツ数に基づいて、所定期間毎に端末装置間で送受信可能なコンテンツデータの数(公開コンテンツ数)を増減させるようにしている。従って、コンテンツ供給装置10が過負荷によりダウンするなどの問題を事前に対応することができる。特に、公開コンテンツ数の増減は、コンテンツリストに掲載するコンテンツデータの数を増減させることによって行うものであるため、処理が複雑にならずに済む。また、上述のように参加端末数と適正コンテンツ数とを関連付けたテーブルを第2記憶部304に記憶しておき、このテーブルに基づいて、公開コンテンツ数を変更するようにしているので、公開コンテンツ数の変更を容易に行うことができる。
ここで、公開コンテンツ数を増加させる所定数と、公開コンテンツ数を低減させる所定数とは異なるものであることが好ましい。すなわち、現コンテンツ数が適正コンテンツ数よりもかなり多い上限値を超えた場合は、緊急事態なので、多くのコンテンツデータを送受信されないように公開停止にする一方、公開コンテンツ数を増加させる、いわゆる再公開は少しずつ行い、サーバ負荷の微調整をすることで、効果的にサーバ負荷に対応することができる。
なお、コンテンツリストから削除するコンテンツは、例えば、古いコンテンツ順、人気のないコンテンツ順など優先順位をつけるようにしてもよい。
また、コンテンツリスト生成手段は、コンテンツ供給装置10により新規にコンテンツデータがコンテンツ配信システムSに投入される毎に第2記憶部304に記憶したコンテンツリストを更新する。このコンテンツリストへの更新は、新規に投入したコンテンツの名称などコンテンツデータを特定するための情報をコンテンツリストに追加することによって行われる。
また、上述においては、コンテンツ数調整手段が現コンテンツ数と適正コンテンツ数との比較により公開コンテンツ数の増減数を決定するようにしたが、所定期間毎の参加端末数の変化に応じて、コンテンツ数決定手段が所定期間毎に公開コンテンツ数の増減数(例えば、参加端末数が1%増加したときには、1%公開コンテンツ数を減少)を判定し、この増減数に応じてコンテンツ数調整手段が公開コンテンツ数を増減してもよい。このようにすれば、コンテンツ供給装置10のサーバ負荷状態を一定範囲に収めることができる。
(コンテンツリスト提供手段について)
コンテンツリスト提供手段は、端末装置1からのコンテンツリスト配布要求に応じて、第2記憶部304に記憶したコンテンツリストを取り出し、配布要求を行った端末装置1へ配布する。
(キー情報提供手段について)
キー情報提供手段は、端末装置1からコンテンツキーの要求があると、第2記憶部304から要求に応じたコンテンツキーを取り出して要求元の端末装置1へ送信する。なお、端末装置1からのコンテンツキーの要求には、要求に応じたコンテンツの名称やコンテンツIDなどを含んでおり、キー情報提供手段は、このコンテンツの名称やコンテンツIDに対応するコンテンツキーを第2記憶部304のコンテンツキーデータベースから取り出して、要求元の端末装置1へ送信する。
[1.5.コンテンツ配信システムSの動作]
以下、端末装置1、コンテンツ供給装置10及びコンテンツ管理装置20の詳細動作について、フローチャートを用いて更に具体的に説明する。
(端末装置1の処理フローの説明)
まず、端末装置1の更に具体的な動作の一例について、図15から図17のフローチャートを参照して説明する。図15から図17は端末装置1における処理を示すフローチャートである。なお、以下の各処理は、端末装置1の制御部113が上述した手段等として機能することによって実行されるものである。
図15に示すように、端末装置1の電源がONになると、端末装置1のCPU102は、第1記憶部103や第2記憶部104のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム115〜118をCPU102による実行状態とし、制御部113としての機能を動作させた後(ステップS100)、ステップS101に処理を移す。
ステップS101において、制御部113は、コンテンツ管理装置20からコンテンツリストを取得する。このコンテンツリストの取得は、制御部113がコンテンツ管理装置20に対して、コンテンツリストを要求し、当該要求に対して送信されるコンテンツリストを受信することによって行う。また、制御部113は、以後定期的にコンテンツ管理装置20からコンテンツリストを取得する。なお、制御部113は、コンテンツリストを取得するときに、自端末装置のルーティングテーブルをコンテンツ管理装置20へ送信する。
このコンテンツリストには、上述のようにコンテンツ配信システムSにおいて取得可能な複数のコンテンツデータの名称等が含まれている。制御部113は、コンテンツ管理装置20からこのコンテンツリストを取得し、コンテンツリストの内容を内蔵ディスプレイ110に表示する。端末装置1の利用者は内蔵ディスプレイ110に表示されているコンテンツリストの内容を見ながら、リモコン106等の操作を行って、コンテンツ配信システムSで提供されているコンテンツデータを選択することができる。そして、リモコン106等の操作によって利用者からコンテンツデータの選択されたとき、制御部113は、利用者からのコンテンツの取得要求操作があったと判定する。
制御部113は、ステップS102において、利用者からのあるコンテンツ(ここでは、コンテンツXとする。)の取得要求操作があったか否かを判定する。
この処理において、制御部113は、利用者からのコンテンツXの取得要求操作があったと判定した場合には(ステップS102:YES)、コンテンツX取得再生処理に移行する(ステップS103)。このステップS103の処理は、図16におけるS150〜S154,S156,S157,S160〜S163の処理であり、後で詳説する。
一方、ステップS102において、利用者からのコンテンツXの取得要求操作がなかったと判定すると(ステップS102:NO)、制御部113は、登録メッセージを受信したか否かを判定する(ステップS110)。登録メッセージを受信したか否かは、コンテンツ保持端末装置からネットワーク8を介して送信される登録メッセージが自端末装置で受信されたか否かによって判断される。
この処理において、登録メッセージを受信したと判定すると(ステップS110:YES)、制御部113は、自端末装置がルート端末装置であるか否かを判定する(ステップS111)。端末装置1がルート端末装置であるか否かは、受信した登録メッセージの宛先識別情報と第1記憶部103に記憶したルーティングテーブルとに基づいて判断される。
この処理において、制御部113は、自端末装置がルート端末装置であると判定すると(ステップS111:YES)、制御部113は、受信した登録メッセージに含まれるコンテンツ保持端末装置のIPアドレス及びコンテンツ保持端末装置が保持するコンテンツデータのコンテンツID等を関連付けて第1記憶部103のインデックステーブルに追加する(ステップS112)。一方、端末装置がルート端末装置でないと判定すると(ステップS111:NO)、第1記憶部103に記憶したルーティングテーブルに基づいて、登録メッセージを他の端末装置1へ転送する(ステップS113)。
ステップS110において、登録メッセージを受信しなかったと判定すると(ステップS110:NO)、制御部113は、コンテンツ供給装置10から投入されるコンテンツデータを受信したか否かを判定する(ステップS120)。
この処理において、制御部113は、コンテンツ供給装置10から投入されるコンテンツデータを受信したと判定すると(ステップS120:YES)、投入コンテンツ受信処理を行う(ステップS121)。この投入コンテンツ受信処理は、コンテンツ供給装置10から投入されたコンテンツデータを第2記憶部104に記憶して保存するとともに、ルート端末装置のインデックステーブルに登録するものである。すなわち、制御部113は、ステップS120において受信した投入コンテンツデータを第2記憶部104のコンテンツデータ記憶領域に記憶し、保存する。また、制御部113は、自端末装置がルート端末装置ではないと判定したときに、ルーティングテーブルに基づいて、ネットワーク8を介して登録メッセージを他の端末装置1へ送信し、一方自端末装置がルート端末装置であると判定したときにはインデックステーブルにコンテンツIDと自端末装置のIPアドレスを追加して登録する。
ステップS120において、投入されるコンテンツデータを受信しなかったと判定すると(ステップS120:NO)、制御部113は、他の端末装置1からコンテンツデータの送信要求があるか否かを判定する(ステップS130)。
この処理において、制御部113は、他の端末装置1からコンテンツデータの送信要求があったと判定すると(ステップS130:YES)、ステップS131のコンテンツ送信処理に移行する。このステップS131のコンテンツ送信処理は、図17におけるS170〜S172の処理であり、後で詳述する。
また、ステップS130において、制御部113は、他の端末装置1からコンテンツデータの送信要求がなかったと判定すると(ステップS130:NO)、検索メッセージを受信したか否かを判定する(ステップS140)。検索メッセージを受信したか否かは、ネットワーク8を介してリクエスト端末装置から送信される検索メッセージが受信されたか否かによって判断される。
この処理において、制御部113は、検索メッセージを受信したと判定すると(ステップS140:YES)、ステップS141においてコンテンツ検索処理を行う。このコンテンツ検索処理においては、まずステップS140において受信した検索メッセージからコンテンツIDを取得し、自端末装置1がこのコンテンツIDのコンテンツデータのルート端末装置であるときに、このコンテンツIDがインデックステーブルに存在するか否かを判定する。そして、検索メッセージから取得したコンテンツIDがインデックステーブルに存在すると判定すると、インデックステーブルからコンテンツ保持端末装置の所在情報であるIPアドレスを取得し、このコンテンツ保持端末装置のIPアドレスをネットワーク8を介してリクエスト端末装置へ送信する。一方、自端末装置1がこのコンテンツIDのコンテンツデータのルート端末装置ではないときには、ルーティングテーブルに基づいて検索メッセージを他の端末装置へ転送する。
ステップS140において、検索メッセージを受信しなかったと判定されたとき(ステップS140:NO)、ステップS103、ステップS112、ステップS113、ステップS121、ステップS131、ステップS141の処理が終了したとき、制御部113は、自端末装置の電源がOFF状態へ移行したか否かを判定する(ステップS145)。
ステップS145において、自端末装置の電源がOFF状態へ移行したと判定すると(ステップS145:YES)、制御部113は、メイン処理を終了し、一方、自端末装置の電源がOFF状態へ移行していないと判定すると(ステップS145:NO)、制御部113は、ステップS102からの処理を繰り返す。
次に、S103におけるコンテンツX取得再生処理について図16のフローチャートを参照して具体的に説明する。
図16に示すように、コンテンツX取得再生処理が開始されると、制御部113は、利用者の取得要求操作に応じたコンテンツXのコンテンツキーをネットワーク8を介してコンテンツ管理装置20に要求(ステップS150)し、処理をステップS151に移行する。
ステップS151において、制御部113は、コンテンツXのコンテンツキーの受信に成功したか否かを判定する。コンテンツキーの受信に成功したか否かは、制御部113が、コンテンツ管理装置20からコンテンツXのコンテンツキーを受信できたか否かによって行う。
このステップS151の処理において、コンテンツXのコンテンツキーの受信に成功したと判定すると(ステップS151:YES)、制御部113は、処理をステップS152に移行する。
ステップS152において、制御部113は、第2記憶部104にコンテンツXのデータを既に保持しているか否かを判定する。
この処理において、第2記憶部104にコンテンツXのデータを保持していないと判定すると(ステップS152:NO)、制御部113はコンテンツXのデータを保持しているコンテンツ保持端末装置の所在情報であるIPアドレスを取得するために、コンテンツXのコンテンツIDを宛先識別情報とした検索メッセージを、第1記憶部103に記憶したルーティングテーブルに基づいて送信する。この検索メッセージはコンテンツ配信システムSのDHTルーティングによってコンテンツXのルート端末装置に到達する。ルート端末装置はこの検索メッセージに対して、コンテンツXのデータを保持するコンテンツ保持端末装置の所在情報であるIPアドレスを送信し、制御部113は、ルート端末装置から送信されるコンテンツ保持端末装置の所在情報であるIPアドレスを取得し(ステップS153)、このコンテンツ保持端末装置がコンテンツXのデータが送信可能であるか否かを判定する(ステップS154)。
この処理において、制御部113は、コンテンツXのデータを保持するコンテンツ保持端末装置に対して、コンテンツXのデータの送信要求を行って、当該コンテンツ保持端末装置がコンテンツXのデータが送信可能であるか否かを判定する。
ステップS154において、コンテンツ保持端末装置がコンテンツXのデータの送信可能であると判定すると(ステップS154:YES)、制御部113は、その処理をステップS156に移行する。
ステップS156において、制御部113は、コンテンツ保持端末装置からストリーミング形式で送信されるコンテンツXのデータを順次受信しつつ、第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータをストリーム再生する。また、受信したコンテンツXのデータを順次第2記憶部104に記憶していく。
コンテンツデータのストリーム再生が終了し、受信したコンテンツXのデータの第2記憶部104への記憶が終了してコンテンツXの保存が完了すると、その旨をコンテンツ配信システムSに通知する(ステップS157)。すなわち、コンテンツXのコンテンツ保持端末装置として登録メッセージをコンテンツXのルート端末装置へ送信する。
また、ステップS154において、コンテンツ保持端末装置がコンテンツXのデータの送信を行うことができないと判定すると(ステップS154:NO)、制御部113は、その処理をステップS160に移行する。
ステップS160において、制御部113は、コンテンツ供給装置10に対して、コンテンツXのデータを送信するように要求し、この要求に応じてコンテンツ供給装置10からストリーミング形式で送信されるコンテンツXのデータを順次受信しつつ、第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータをストリーム再生する(ステップS161)。また、受信したコンテンツXのデータを順次第2記憶部104に記憶していく。その後、処理をステップS157に移行する。
また、ステップS152において、第2記憶部104にコンテンツXのデータを保持していると判定すると(ステップS152:YES)、制御部113は、第2記憶部104からコンテンツXのデータを取り出し、第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータを再生する(ステップS163)。
従って、利用者の取得要求操作に応じたコンテンツXのデータがコンテンツ供給装置10から投入され自端末装置がコンテンツ保持端末装置として機能されているようなときには、他のコンテンツ保持端末装置へコンテンツXのデータを取得する操作を行うことなく、コンテンツデータの再生を行うことができるので、端末装置1における処理負担を軽減することができる。また、ネットワークへの負荷も軽減することができる。
また、ステップS151において、コンテンツXのコンテンツキーの受信に成功しなかったと判定すると(ステップS151:NO)、制御部113は、コンテンツ管理装置20からの通知を内蔵ディスプレイ110に表示する(ステップS162)。
コンテンツXのコンテンツキーの受信に成功しない場合としては、例えば、不正なリクエストなどがある。この不正なリクエストとは、コンテンツ管理装置20へのアクセスに関して正当な権限がないことを意味するものであり、例えば、端末装置1がコンテンツ配信システムSに参加する権限がなく不正に参加したときや、端末装置1がコンテンツXを取得する権限がないときに通知される。
ステップS157,S162,S163の処理が終了したとき、制御部113は、コンテンツX取得再生処理を終了する。
次に、S131におけるコンテンツ送信処理について図17のフローチャートを参照して具体的に説明する。
図17に示すように、コンテンツ送信処理が開始されると、制御部113は、コンテンツ送信要求に対応するコンテンツデータを送信可能か否かを判定する(ステップS170)。
この処理において、制御部113は、ステップS130において受信したコンテンツデータの送信要求に対し、対応するコンテンツデータが送信可能であるか否かを判定する(ステップS170)。
ここで、制御部113は、対応するコンテンツデータが送信可能であるか否かを、自端末装置のCPUの処理負荷、ネットワークの帯域状態などから判定する。
ステップS170において、対応するコンテンツデータが送信可能であると判定すると(ステップS170:YES)、制御部113は、送信要求にかかるコンテンツデータを第2記憶部104から取り出して、要求元の端末装置1に対して送信する(ステップS171)。
一方、対応するコンテンツデータが送信可能ではないと判定すると(ステップS170:NO)、制御部113は、問い合わせに対応するコンテンツデータが送信可能ではない旨を送信元の端末装置1に送信負荷通知を行う(ステップS172)。
ステップS171,S172の処理が終了したとき、制御部113は、コンテンツ送信処理を終了する。
以上のように、本実施形態における端末装置1は、利用者による取得要求操作が検出されたとき、取得要求操作に応じたコンテンツデータのコンテンツキーをネットワークを介してコンテンツ管理装置20から取得した後、コンテンツデータを取得し、再生するようにしている。
(コンテンツ供給装置10の処理フローの説明)
次に、コンテンツ供給装置10の更に具体的な動作について、図18を参照して説明する。図18はコンテンツ供給装置10における処理全体を示すフローチャートである。なお、以下の各処理は、コンテンツ供給装置10の制御部213が上述した手段等として機能することによって実行されるものである。
図18に示すように、コンテンツ供給装置10の電源がONになると、コンテンツ供給装置10のCPU202は、第1記憶部203や第2記憶部204のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム214〜216をCPU202による実行状態とし、制御部213としての機能を動作させた後(ステップS200)、ステップS201に処理を移す。
ステップS201において、制御部213は、コンテンツ投入指示があるか否かを判定する。ここで、制御部213は、コンテンツ投入指示があるか否かを、コンテンツ配信システムSの運営者によるキーボード207やマウス208等の入力手段の操作によってコンテンツ投入の操作がなされたか否かにより判断する。このコンテンツ投入指示は、例えば、コンテンツの名称によってコンテンツデータを特定して行われるものである。
この処理において、コンテンツ投入指示があると判定されると(ステップS201:YES)、制御部213は、コンテンツ管理装置20にコンテンツ投入通知を行う。すなわち、コンテンツ投入指示によって特定されたコンテンツデータに対応するコンテンツの名称やコンテンツIDなどをコンテンツ管理装置20に通知する(ステップS202)。
その後、制御部213は、コンテンツ投入指示によって特定されたコンテンツデータをコンテンツ配信システムSによって配信可能とするために、コンテンツ投入指示によって特定されたコンテンツデータのコンテンツ保持端末装置となる端末装置1をランダムに1以上決定する。このように決定した端末装置1に対して、制御部213は、コンテンツ投入指示によって特定されたコンテンツデータをネットワーク8を介して送信する(ステップS203)。
一方、ステップS201において、コンテンツ投入指示がないと判定されると(ステップS201:NO)、制御部213は、端末装置1からコンテンツデータの送信要求があるか否かを判定する(ステップS210)。コンテンツデータの送信要求は、コンテンツの名称やコンテンツIDなどによってコンテンツデータを特定して行われるものである。
この処理において、端末装置1からコンテンツデータの送信要求があったと判定されると(ステップS210:YES)、制御部213は、コンテンツデータの送信要求に対応するコンテンツデータを第2記憶部204から取り出し、ネットワーク8を介して端末装置1へ送信する(ステップS211)。
ステップS203,S211の処理が終了したとき、或いはステップS210において端末装置1からコンテンツデータの送信要求がないと判定したとき(ステップS210:NO)、制御部213は、コンテンツ供給装置10のサービス終了の操作が行われたか否かを判定する(ステップS220)。サービスの終了操作が行われていないと判定すると(ステップS220:NO)、ステップS201からの処理を繰り返し、コンテンツ供給装置10のサービス終了の操作が行われたと判定すると(ステップS220:YES)、処理を終了する。
以上のように、コンテンツ供給装置10は、コンテンツ配信システムSを構成する端末装置1に対してコンテンツデータを送信して投入した情報をコンテンツ管理装置20に通知するようにしており、これによりコンテンツ管理装置20は、コンテンツリストを生成及び更新し、端末装置1からの要求に応じて送信する。
また、コンテンツ供給装置10では、端末装置1の要求に応じてコンテンツデータを送信するようにしているため、端末装置1の利用者の取得要求操作に対応するコンテンツデータがネットワークを介して他の端末装置1から取得することができないときでも、コンテンツ供給装置10から取得要求操作に対応するコンテンツデータを取得することができ、コンテンツデータの取得可能性を向上させることができる。
(コンテンツ管理装置20の処理フローの説明)
次に、コンテンツ管理装置20の更に具体的な動作について、図19及び図20を参照して説明する。図19はコンテンツ管理装置20における処理全体を示すフローチャート、図20はコンテンツリスト更新処理を示すフローチャートである。なお、以下の各処理は、コンテンツ管理装置20の制御部313が上述した手段等として機能することによって実行されるものである。
図19に示すように、コンテンツ管理装置20の電源がONになると、コンテンツ管理装置20のCPU302は、第1記憶部303や第2記憶部304のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム314〜316をCPU302による実行状態とし、制御部313としての機能を動作させた後(ステップS300)、ステップS301に処理を移す。
ステップS301において、制御部313は、端末装置1からコンテンツに関するコンテンツキーの送信要求が受信されたか否かを判定する。この処理において、コンテンツXに関するコンテンツキーの送信要求を受信したと判定すると(ステップS301:YES)、制御部313は、コンテンツキーの送信処理を行う(ステップS302)。すなわち、制御部313は、コンテンツキーを要求した端末装置が正当な(すなわち、コンテンツ配信システムSに参加する正当な資格を有する)端末装置であるか否かを判定し、正当な端末装置であるとき、コンテンツXのコンテンツキーを送信する。
また、ステップS301において、コンテンツに関するコンテンツキーの送信要求が受信されていないと判定すると(ステップS301:NO)、制御部313は、コンテンツ供給装置10からコンテンツ投入通知があるか否かを判定する(ステップS310)。この処理において、コンテンツ投入通知があったと判定すると(ステップS310:YES)、制御部313は、第2記憶部204に記憶したコンテンツリストを更新する(ステップS311)。このコンテンツリストへの更新は、コンテンツ投入通知に含まれる情報、すなわち新規に投入したコンテンツの名称などコンテンツデータを特定するための情報をコンテンツリストに追加することによって行われる。
ステップS310において、コンテンツ投入通知がないと判定すると(ステップS310:NO)、制御部313は、端末装置1からコンテンツリストの送信要求があるか否かを判定する(ステップS320)。この処理において、端末装置1からコンテンツリストの送信要求があったと判定すると(ステップS320:YES)、制御部313は、第2記憶部からコンテンツリストを取り出し、要求元の端末装置1へコンテンツリストを送信する(ステップS321)。
一方、ステップS320において、端末装置1からコンテンツリストの送信要求がないと判定すると(ステップS320:NO)、制御部313は、コンテンツリストの更新契機になったか否かを判定する(ステップS330)。この処理において、コンテンツリストの更新契機になったと判定すると(ステップS330:YES)、制御部313は、コンテンツリスト更新処理を行う(ステップS331)。このステップS331の処理は、図20におけるS350,S352〜S357の処理であり、後で詳説する。なお、コンテンツリストの更新契機は、所定期間毎(例えば、3分毎)のタイミングに設定されており、制御部313がタイマーカウントを行い、所定のカウンタ値になったときに、コンテンツリストの更新契機になったと判定する。
ステップS302,S311,S321,S331の処理が終了したとき、或いはコンテンツリストの更新契機になっていないと判定したとき(ステップS330:NO)、制御部313は、コンテンツ管理装置20のサービス終了の操作が行われたか否かを判定する(ステップS340)。サービスの終了操作が行われていないと判定すると(ステップS340:NO)、ステップS301からの処理を繰り返し、コンテンツ供給装置10のサービス終了の操作が行われたと判定すると(ステップS340:YES)、処理を終了する。
次に、S331におけるコンテンツリストの更新処理について図20のフローチャートを参照して具体的に説明する。
図20に示すように、コンテンツリストの更新処理が開始されると、制御部313は、参加端末数を検出する(ステップS350)。この参加端末数の検出は、上述したようにコンテンツ配信システムSに参加している端末装置1のルーティングテーブルの状態からの推定値を演算することによって行う。
次に、制御部313は、参加端末数から適正な公開コンテンツ数(適正コンテンツ数)を演算し(ステップS352)、処理をステップS353に移行する。また、現時点においてコンテンツ配信システムSの端末装置間で送受信可能なコンテンツデータの数(現コンテンツ数)を演算する。なお、これらの演算は、上述したため説明を省略する。
ステップS353において、制御部313は、現コンテンツ数が適正コンテンツ数よりも所定数以上多いか否かを判定する。この処理において、現コンテンツ数が適正コンテンツ数よりも所定数以上多いと判定すると(ステップS353:YES)、制御部313は、コンテンツリストに掲載するコンテンツデータの数(掲載コンテンツ数)を所定数だけ減少して、端末装置間で送受信可能なコンテンツデータの数である公開コンテンツ数を減少させる(ステップS354)。
このように、現コンテンツ数が適正コンテンツ数よりも所定数以上多いとき、コンテンツリストに掲載するコンテンツデータの所定数減少させているため、端末装置1からコンテンツ管理装置20へのコンテンツデータの送信要求を低減することができる。
ステップS353において、現コンテンツ数が適正コンテンツ数よりも所定数以上多くはないと判定すると(ステップS353:NO)、制御部313は、現コンテンツ数が適正コンテンツ数よりも所定数以上少ないか否かを判定する(ステップS355)。この処理において、現コンテンツ数が適正コンテンツ数よりも所定数以上少ないと判定すると(ステップS355:YES)、制御部313は、さらに、コンテンツリストから情報を減少させている状態か否かを判定する(ステップS356)。ここで、「コンテンツリストから情報を減少させている状態」とは、コンテンツ配信システムS内のコンテンツデータのうち、コンテンツリストに掲載していないコンテンツデータがあることを意味する。
ステップS356において、コンテンツリストから情報を減少させている状態であると判定すると(ステップS356:YES)、制御部313は、コンテンツリストに掲載するコンテンツデータの数(掲載コンテンツ数)を所定数だけ増加して、端末装置間で送受信可能なコンテンツデータの数を増加させる(ステップS357)。言い換えれば、ステップS355において減少させた掲載コンテンツ数を所定数だけ元に戻すのである。
このように、現コンテンツ数が適正コンテンツ数よりも所定数以上少ないとき、コンテンツリストに掲載するコンテンツデータの所定数増加させているため、現コンテンツ数が適正コンテンツ数よりも所定数以上多くなったときに減少させた掲載コンテンツ数を所定数元に戻すことができる。従って、現コンテンツ数が適正コンテンツ数よりも所定数以上多くなった後に、コンテンツ配信システムSに参加する端末装置1の数が増加してコンテンツ配信システムS内のコンテンツデータの数との関係で適切な数になったときなどにおいて、コンテンツ配信システムS内のコンテンツデータをすべて掲載したコンテンツリストを提供することができる。
ステップS354,S357の処理が終了したとき、現コンテンツ数が適正コンテンツ数よりも所定数以上少なくはないと判定したとき(ステップS355:NO)、コンテンツリストから情報を減少させている状態でないと判定したとき(ステップS356:NO)、コンテンツリストの更新処理を終了する。
以上のように、本実施形態におけるコンテンツ管理装置20は、参加端末数に基づいて、端末装置間で送受信可能なコンテンツデータの数である公開コンテンツ数を変更して、コンテンツ供給装置10のサーバ負荷状態を低減させるようにしており、コンテンツ供給装置10が過負荷によりダウンするなどの問題を事前に対応することができる。
[2.第2実施形態]
次に、本発明に係る第2実施形態について説明する。この第2実施形態のコンテンツ配信システムは、第1実施形態と同様に端末装置1とコンテンツ供給装置10とコンテンツ管理装置20とから構成されるものであるが、端末装置間で送受信可能なコンテンツデータの数(公開コンテンツ数)の調整方法が第1実施形態と異なる。すなわち、第1実施形態においては、端末装置間で送受信可能なコンテンツデータの数の変更を、コンテンツリストに掲載するコンテンツデータの数を調整することによって行うものであったが、第2実施形態においては、コンテンツキーの送信を制限することによって公開コンテンツ数を変更するものである。
コンテンツ管理装置20による公開コンテンツ数の減少は、コンテンツキーの送信を所定割合で制限することによって行われる。例えば、コンテンツキーの要求に対して3回に1回の割合でコンテンツキーの送信を行わないようにする。これにより、公開コンテンツ数を実質的に1/3減少させることができる。また、コンテンツキーの要求に対してコンテンツキーの送信を行わない期間を調整することにより、公開コンテンツ数を実質的に減少させるようにしてもよい。
また、コンテンツ管理装置20による公開コンテンツ数の増加は、コンテンツキーの送信制限を緩和或いは解除することによって行われる。例えば、コンテンツキーの要求に対して3回に1回の割合でコンテンツキーの送信を行わないようにしている(送信制限)状態から、6回に1回の割合での送信制限状態とすることによって、公開コンテンツ数を実質的に1/6だけ増加させることができる。
なお、コンテンツキーの送信制限が行われていない状態では、このコンテンツキーの送信制限での公開コンテンツ数の増加を行うことができない。そこで、第1実施形態と同様に、コンテンツ管理装置20は、コンテンツデータをコンテンツ供給装置10に対して、所要の公開コンテンツ数の増加に応じた数のコンテンツデータを送信或いは追加投入するように要求するように設定することができるようにしている。この要求に応じてコンテンツ供給装置10は、コンテンツデータを複数の端末装置へ送信或いは投入する。
この第2実施形態のコンテンツ配信システムにおいては、端末装置1とコンテンツ供給装置10の構成及び動作は第1実施形態で説明したものと同一であるため、ここではその説明を省略する。なお、説明の便宜上、ここでは、第1実施形態において各装置に付した符号と同一符号を用いるものとする。
[2.1.コンテンツ管理装置20の構成等の説明]
まず、第2実施形態のコンテンツ管理装置20の構成について説明する。この第2実施形態のコンテンツ管理装置20は、コンテンツ調整プログラム316の内容が一部異なる以外は、第1実施形態のものと異なるところがないため、ここでは、特に異なる部分のみを説明する。
第1実施形態と同様に、CPU302はコンテンツ調整プログラム316を実行することによって端末装置数検出手段、コンテンツ数決定手段、コンテンツ数調整手段等として、それぞれ機能するようになっている。なお、この端末装置数検出手段及びコンテンツ数決定手段については第1実施形態で説明した機能と同様であるため、ここでは、コンテンツ数調整手段について説明する。
(コンテンツ数調整手段について)
コンテンツ数調整手段は、コンテンツ数決定手段により決定したコンテンツデータの数(適正コンテンツ数)に応じて、端末装置1間で送受信可能なコンテンツデータの数(公開コンテンツ数)を変更する。例えば、コンテンツ数調整手段は、コンテンツ配信システムSにおける現時点において端末装置間で送受信可能なコンテンツデータの数(現コンテンツ数)が適正コンテンツ数よりも所定数以上多いと判定すると、公開コンテンツ数を所定数減少させる。また、現コンテンツ数が適正コンテンツ数よりも所定数以上少ないと判定すると公開コンテンツ数を所定数増加させる。
ここで、公開コンテンツ数の変更は、キー情報提供手段によるコンテンツキーの送信規制による調整によって行う。
まず、キー情報提供手段は、端末装置1からコンテンツキーの要求を受け付ける。このとき、キー情報提供手段は、参加端末数に応じて、コンテンツキーの送信を行うか否かを判定する。具体的には、現コンテンツ数が適正コンテンツ数よりも所定数以上少ないか否か、或いは多いか否かを判定する。ここで、「現コンテンツ数」は、コンテンツ供給装置10によってコンテンツ配信システムSに投入された全コンテンツデータの数、時期及び視聴率(コンテンツデータの送受信率の予測値)及び、後述するコンテンツキーの送信制限値に基づいてコンテンツ数調整手段が演算して求めることとするが、その他のパラメータを用いて演算するようにしてもよい。また、コンテンツデータを保持している端末装置1から定期的に保持内容を通知させるようにし、コンテンツ数調整手段がこれらを集計して現コンテンツ数として算出するようにしてもよい。
次に、キー情報提供手段は、現コンテンツ数が適正コンテンツ数を基準として所定範囲内に入っているとき、第2記憶部304から要求に応じたコンテンツキーを取り出して要求元の端末装置1へ送信する。なお、端末装置1からのコンテンツキーの要求には、要求に応じたコンテンツIDが含まれており、キー情報提供手段はこのコンテンツIDに対応するコンテンツキーを第2記憶部304のコンテンツキーデータベースから取り出すことになる。
一方、現コンテンツ数が適正コンテンツ数よりも所定数以上多いとき、キー情報提供手段は、コンテンツキーの要求に対して、所定の割合でコンテンツキーの送信を行わずに拒否する。これにより、公開コンテンツ数を前記所定の割合で減少させることができる。例えば、5つのコンテンツキーの要求のうち、1つのコンテンツキーの要求に対しては、コンテンツキーの送信を拒否するメッセージを送信し、4つのコンテンツキーの要求に対しては、第2記憶部304から要求に応じたコンテンツキーを取り出して要求元の端末装置1へ送信する。これにより、公開コンテンツ数の数を4/5に減少させることができる。
また、このように所定の割合でコンテンツキーの送信を拒否している状態で、現コンテンツ数が適正コンテンツ数よりも所定数以上多いとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合を増加させる。例えば、公開コンテンツ数を上述のように4/5に減少させても、まだ現コンテンツ数が適正コンテンツ数よりも所定数以上多いとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合をさらに増加させる。例えば、5つのコンテンツキーの要求のうち、2つのコンテンツキーの要求に対しては、コンテンツキーの送信を拒否するメッセージを送信する。
また、所定の割合でコンテンツキーの送信を拒否している状態で、現コンテンツ数が適正コンテンツ数よりも所定数以上少ないとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合を減少させる。例えば、公開コンテンツ数を上述のように3/5に減少させたときに、コンテンツ供給装置10のサーバ負荷状態が所定の下限値を下回ったとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合を、5つのコンテンツキーの要求のうち1つのコンテンツキーの要求に対してのみ、コンテンツキーの送信を拒否するメッセージを送信する。
このように本実施形態におけるコンテンツ管理装置20は、コンテンツキーの送信を拒否する割合を増減させることによって、公開コンテンツ数を増減させるため、処理が複雑にならずに済む。
また、上記のようにコンテンツキーの送信を拒否する割合を増減させるのではなく、コンテンツ供給装置10のサーバ負荷状態が所定の上限値を超えているときには、コンテンツキーの送信を全て拒否するようにしてもよい。
また、コンテンツキーの送信を拒否するのではなく、コンテンツキーの送信要求をストックしておき、コンテンツキーの送信のタイミングを遅延させるようにしてもよい。
[2.2.コンテンツ管理装置20の処理フローの説明]
次に、コンテンツ管理装置20の更に具体的な動作について、図21及び図22を参照して説明する。図21は第2実施形態のコンテンツ管理装置20における処理全体を示すフローチャート、図22は第2実施形態のコンテンツリスト更新の処理を示すフローチャートである。なお、以下の各処理は、コンテンツ管理装置20の制御部313が上述した手段等として機能することによって実行されるものである。
まず、コンテンツ管理装置20におけるメイン処理について図21を参照して説明する。この図21に示すフローチャートと図19に示すフローチャートとは、ステップS202及びステップS402の処理、ステップS230及びステップS430の処理、ステップS231及びステップS431の処理が異なり、その他の処理は同じであるため、ここではステップS402,ステップS430及びステップS431の処理についてのみ説明する。
図21に示すように、ステップS401において、コンテンツ投入指示があると判定される(ステップS401:YES)と、制御部313は、第1記憶部303に記憶した後述のコンテンツキー制限値に応じてコンテンツキーの送信の可否を決定し、コンテンツキーを送信する場合には、要求元の端末装置1へコンテンツキーを送信する。一方、コンテンツキーの送信を行わずに拒否する場合には、要求元の端末装置へその旨を通知する(ステップS402)。このように、コンテンツキー制限値に応じてコンテンツキーの送信制限を行なうことにより、公開コンテンツ数を変更するようにしている。
また、ステップS430において、コンテンツキー制限値の更新契機になったか否かを判定する。この処理において、コンテンツキー制限値の更新契機になったと判定すると(ステップ430:YES)、制御部313は、コンテンツキー制限値設定処理を行う(ステップS431)。
この処理は、図22におけるS450,S452〜S458に具体的に示す処理であり、以下に図22を参照して説明する。この図22に示すフローチャートと図20に示すフローチャートとは、ステップS354及びステップS454の処理、ステップS356及びステップS456の処理、ステップS357及びステップS457の処理が異なり、その他の処理は同じであるため、ここでは説明を省略し、ステップS454、ステップS456及びステップS457の処理を説明する。
図22に示すように、ステップS453において、現コンテンツ数が適正コンテンツ数よりも所定数以上多いと判定すると(ステップS453:YES)、制御部313は、上述したようにコンテンツキーの送信を所定の割合で制限するコンテンツキー制限値を設定する(ステップS454)。
また、ステップS455において、現コンテンツ数が適正コンテンツ数よりも所定数以上少ないと判定すると(ステップS455:YES)、制御部313は、コンテンツ管理装置20がコンテンツキーの送信を制限している状態であるか否かを判定する(ステップS456)。この処理において、コンテンツキーの送信制限が行われていると判定すると(ステップS456:YES)、制御部313は、上述したようにコンテンツキーの送信の制限を所定の割合で解除したコンテンツキー制限値を設定する(ステップS457)。
ステップS454,S457の処理が終了したとき、コンテンツキーの送信制限が行われていないと判定したとき(ステップS456:NO)、或いは現コンテンツ数が適正コンテンツ数よりも所定数以上少なくはないと判定したとき(ステップS455:NO)、制御部313は、コンテンツリストの更新処理を終了する。
以上のように、本実施形態におけるコンテンツ管理装置20は、参加端末数に基づいて、コンテンツキーの送信制限を行うことで、端末装置間で送受信可能なコンテンツデーの数である公開コンテンツ数を変更し、コンテンツ供給装置10のサーバ負荷を低減させるようにしており、コンテンツ供給装置10が過負荷によりダウンするなどの問題を事前に対応することができる。
また、上記第1及び第2実施形態においては、コンテンツ管理装置20から端末装置1に対してコンテンツキーを送信する態様について説明したが、端末装置間で送受信可能なコンテンツデーの数である公開コンテンツ数の変更をコンテンツリストにより行う場合には、コンテンツキーを用いないコンテンツ配信システムとすることもできる。この場合、図8(2)〜図8(4)の処理は行う必要がないため、コンテンツデータの取得・再生処理が簡易になる。
また、第1及び第2実施形態においては、コンテンツ供給装置10とコンテンツ管理装置20とを別体の装置として説明したがこれに限られるものではなく、これらを一体としたサーバ装置でもあってもよい。つまり、コンテンツ供給装置10の機能とコンテンツ管理装置20の機能とを実行できるのであればどのような形態であってもよい。
また、第1及び第2本実施形態においては、端末装置1間でのコンテンツデータの送受信の形式をストリーミング形式として説明したがこれに限られるものではなく、ダウンロード形式であってもよい。
また、第1及び第2実施形態においては、コンテンツキーをコンテンツデータを復号するための復号キーとした例を説明したが、これに限られるものではなく、例えば、リクエスト端末装置がコンテンツ保持端末装置からコンテンツデータを取得する際に用いるようにしてもよい。例えば、コンテンツ保持端末装置は正しいコンテンツキーが送信されてきたときに、リクエスト端末装置にコンテンツデータを送信するのである。この場合、コンテンツデータにはコンテンツキーに対応する情報が格納され、リクエスト端末装置はこの情報とリクエスト端末装置から送信されるコンテンツキーとが一致するときに、リクエスト端末装置へコンテンツデータを送信する。
本実施形態に係るコンテンツ配信システムにおける各端末装置の接続態様の一例を示す図である。 ID空間の説明図である。 DHTによってルーティングテーブルが作成される様子の一例を示す図である。 ルーティングテーブルの一例である。 DHTによりコンテンツデータの保持元である端末装置が検索される様子の一例を示す図である。 コンテンツ保持端末の登録メッセージが転送される様子をスパニングツリー状に表した図である。 端末装置のインデックステーブルの一例である。 端末装置におけるコンテンツデータの取得・再生動作の概略を説明するための図である。 端末装置におけるコンテンツデータの取得・再生動作の概略を説明するための図である。 サーバ負荷と参加端末数との関係をコンテンツ数毎にグラフ化した例を示した図である。 端末装置の概略構成例を示す図である。 コンテンツ供給装置の概略構成例を示す図である。 コンテンツ管理装置の概略構成例を示す図である。 参加端末数と公開コンテンツ数とを関連付けたテーブルである。 端末装置におけるメイン処理を示すフローチャートである。 端末装置におけるコンテンツ取得再生処理を示すフローチャートである。 端末装置におけるコンテンツ送信処理を示すフローチャートである。 コンテンツ供給装置におけるメイン処理を示すフローチャートである。 コンテンツ管理装置におけるメイン処理を示すフローチャートである。 コンテンツ管理装置におけるコンテンツリスト更新処理を示すフローチャートである。 コンテンツ管理装置におけるメイン処理を示すフローチャートである。 コンテンツ管理装置におけるコンテンツリスト更新処理を示すフローチャートである。
符号の説明
S コンテンツ配信システム
1 端末装置
2 コンテンツ供給装置
3 コンテンツキー管理装置
8 ネットワーク
102 端末装置のCPU
103 端末装置の第1記憶部
104 端末装置の第2記憶部
113 端末装置の制御部
202 コンテンツ供給装置のCPU
203 コンテンツ供給装置の第1記憶部
204 コンテンツ供給装置の第2記憶部
213 コンテンツ供給装置の制御部
302 コンテンツ管理装置のCPU
303 コンテンツ管理装置の第1記憶部
304 コンテンツ管理装置の第2記憶部

Claims (11)

  1. ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおけるコンテンツを管理するコンテンツ管理装置において、
    当該コンテンツ配信システムを構成する端末装置の数を検出する端末装置数検出手段と、
    前記端末装置数検出手段によって検出した前記端末装置の数に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定するコンテンツ数決定手段と、
    前記コンテンツ数決定手段により決定した前記コンテンツデータの数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ数調整手段と、を備える
    ことを特徴とするコンテンツ管理装置。
  2. 単位時間当たりに予測される前記コンテンツデータの送受信率を設定する記憶手段を備え、
    前記コンテンツ数決定手段は、
    前記端末装置数検出手段によって検出した前記端末装置の数と前記記憶手段に設定した前記送受信率に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定する
    ことを特徴とする請求項1に記載のコンテンツ管理装置。
  3. 前記端末装置数検出手段は、
    当該コンテンツ配信システムを構成する端末装置の数の変化を所定期間毎に検出し、
    前記コンテンツ数決定手段は、
    前記端末装置数検出手段によって検出された前記端末装置の数の変化に応じて、前記端末装置間で送受信可能なコンテンツデータの増減数を決定し、
    前記コンテンツ数調整手段は、
    前記コンテンツ数決定手段により決定した前記コンテンツデータの数の増減数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更する
    ことを特徴とする請求項1又は請求項2に記載のコンテンツ管理装置。
  4. 前記端末装置の数と前記コンテンツの数とを関連付けたテーブルを有し、
    前記コンテンツ数決定手段は、
    前記テーブルに基づいて、前記端末装置間で送受信可能なコンテンツデータの数の増減数を決定する
    ことを特徴とする請求項3に記載のコンテンツ管理装置。
  5. 前記端末装置間でコンテンツデータの送受信可能なコンテンツデータのリストであって、前記端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、
    前記コンテンツ数調整手段は、前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数を変更する
    ことを特徴とする請求項1から4のいずれか一項に記載のコンテンツ管理装置。
  6. 前記コンテンツデータを前記端末装置で再生するためのキー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、
    前記コンテンツ数調整手段は、前記キー情報提供手段を制御して前記キー情報の送信を制限することによって、前記当該コンテンツ配信システムで送受信可能なコンテンツデータの数を変更する
    ことを特徴とする請求項1から4のいずれか一項に記載のコンテンツ管理装置。
  7. コンピュータを、請求項1から6のいずれか一項に記載の各手段として機能させるためのプログラム。
  8. ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおいて、
    所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給手段を備えるコンテンツ供給装置と、
    前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ管理装置と、を備え、
    前記コンテンツ管理装置は、
    当該コンテンツ配信システムを構成する端末装置の数を検出する端末装置数検出手段と、
    前記端末装置数検出手段によって検出した前記端末装置の数に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定するコンテンツ数決定手段と、
    前記コンテンツ数決定手段により決定した前記コンテンツデータの数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ数調整手段と、を備える
    ことを特徴とするコンテンツ配信システム。
  9. 前記コンテンツ管理装置は、
    前記端末装置間でコンテンツデータの送受信可能なコンテンツデータのリストであって、端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、
    前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行う
    ことを特徴とする請求項8に記載のコンテンツ配信システム。
  10. 前記コンテンツ管理装置は、
    前記コンテンツデータを前記端末装置で再生するための再生キー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、
    前記キー情報の送信を制限することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行う
    ことを特徴とする請求項8に記載のコンテンツ配信システム。
  11. ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける情報処理方法であって、
    当該コンテンツ配信システムを構成する端末装置の数を検出するステップと、
    前記検出した端末装置の数に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を決定するステップと、
    前記決定したコンテンツデータの数に応じて、前記端末装置間で送受信可能なコンテンツデータの数を変更するステップと、を有する
    ことを特徴とするコンテンツ配信システムにおける情報処理方法。
JP2007089814A 2007-03-29 2007-03-29 コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム Pending JP2008250569A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007089814A JP2008250569A (ja) 2007-03-29 2007-03-29 コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
US12/073,785 US20080244067A1 (en) 2007-03-29 2008-03-10 Contents distribution system and information processing method thereof, as well as contents management apparatus and recording medium on which program thereof is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007089814A JP2008250569A (ja) 2007-03-29 2007-03-29 コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム

Publications (1)

Publication Number Publication Date
JP2008250569A true JP2008250569A (ja) 2008-10-16

Family

ID=39796229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007089814A Pending JP2008250569A (ja) 2007-03-29 2007-03-29 コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム

Country Status (2)

Country Link
US (1) US20080244067A1 (ja)
JP (1) JP2008250569A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008707A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd 分散保存システム、ノード装置、並びにその処理方法及びプログラム
JP2017054184A (ja) * 2015-09-07 2017-03-16 日本電信電話株式会社 サーバ、データ一覧作成方法、および、データ一覧作成プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2486671C (en) 2002-05-31 2011-11-15 Onkyo Corporation Network type content reproducing system
US9100223B2 (en) * 2008-12-01 2015-08-04 Google Inc. Selecting format for content distribution
US9325787B2 (en) * 2009-05-18 2016-04-26 Cisco Technology, Inc. Limited broadcast, peering among DHTs, broadcast put of limited content only
US20100293223A1 (en) * 2009-05-18 2010-11-18 Cisco Technology, Inc. Limiting storage messages in peer to peer network
US8996607B1 (en) * 2010-06-04 2015-03-31 Amazon Technologies, Inc. Identity-based casting of network addresses
US10381869B2 (en) 2010-10-29 2019-08-13 Verizon Patent And Licensing Inc. Remote power outage and restoration notification
US20130138367A1 (en) * 2010-10-29 2013-05-30 Verizon Patent And Licensing, Inc. Remote power outage notification
KR20160114724A (ko) * 2014-03-11 2016-10-05 가부시끼가이샤 리서치 앤드 이노베이션 구매 정보 활용 시스템 및 구매 정보 활용 방법 및 프로그램
US11228635B2 (en) * 2016-03-30 2022-01-18 Nec Corporation Information sharing method
CN108616337A (zh) * 2018-04-26 2018-10-02 新华三信息安全技术有限公司 一种链路表项同步方法、装置及设备
WO2021087865A1 (zh) * 2019-11-07 2021-05-14 华为技术有限公司 寻址方法、寻址系统以及寻址装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US20050237949A1 (en) * 2000-12-21 2005-10-27 Addessi Vincent M Dynamic connection structure for file transfer
US8122145B2 (en) * 2004-05-17 2012-02-21 Nokia Corporation System, method and computer program product for grouping clients and transferring content in accordance with the same
US7500010B2 (en) * 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
WO2007044621A2 (en) * 2005-10-07 2007-04-19 Roe River Corporation Systems and methods for uploading and downloading files in a distributed network
KR101434568B1 (ko) * 2007-02-02 2014-08-27 삼성전자 주식회사 컨텐츠 공유 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008707A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd 分散保存システム、ノード装置、並びにその処理方法及びプログラム
JP2017054184A (ja) * 2015-09-07 2017-03-16 日本電信電話株式会社 サーバ、データ一覧作成方法、および、データ一覧作成プログラム

Also Published As

Publication number Publication date
US20080244067A1 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
JP2008250569A (ja) コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
JP4640307B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
JP2008059399A (ja) コンテンツ配信システム、コンテンツ配信システムにおける情報処理方法、端末装置及びそのプログラム
JP4830889B2 (ja) 情報配信システム、情報配信方法及びノード装置等
US20110099372A1 (en) Method and system for providing peer-to-peer video on demand
JP2010103942A (ja) コンテンツ分散保存システム、特殊コンテンツ取得方法、ノード装置、及びノード処理プログラム
US8175267B2 (en) Communication apparatus, communication system, transmission method, and computer program product
WO2015154720A1 (en) Method of delivering and protecting media content
JP2009272927A (ja) 通信装置、サーバ、及びプログラム
JP2008092236A (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
JP7397082B2 (ja) ネットワークゲームシステムにおける安全なデータチャネル
JP2008210295A (ja) コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
JP5168055B2 (ja) 通信システム、端末装置及びコンテンツ情報取得方法
JP2007184669A (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラム
JP2009211158A (ja) コンテンツ再生装置及びそのプログラム、コンテンツ配信システム、コンテンツ配信方法
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2008294648A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
JP2007336396A (ja) コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログラム
JP2008061046A (ja) コンテンツ配信システム、コンテンツ配信システムにおける情報処理方法、端末装置及びそのプログラム
JP2008085678A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP2008242990A (ja) 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP5293457B2 (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: 20110531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111108