JP4765876B2 - コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム - Google Patents

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

Info

Publication number
JP4765876B2
JP4765876B2 JP2006270136A JP2006270136A JP4765876B2 JP 4765876 B2 JP4765876 B2 JP 4765876B2 JP 2006270136 A JP2006270136 A JP 2006270136A JP 2006270136 A JP2006270136 A JP 2006270136A JP 4765876 B2 JP4765876 B2 JP 4765876B2
Authority
JP
Japan
Prior art keywords
terminal device
message
content
search message
content data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006270136A
Other languages
English (en)
Other versions
JP2008092236A (ja
Inventor
建太郎 牛山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006270136A priority Critical patent/JP4765876B2/ja
Priority to PCT/JP2007/065725 priority patent/WO2008041422A1/ja
Publication of JP2008092236A publication Critical patent/JP2008092236A/ja
Application granted granted Critical
Publication of JP4765876B2 publication Critical patent/JP4765876B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ネットワークを介したコンテンツ配信の技術分野に関し、更に詳細には、ネットワーク上に配置された複数の端末装置を備え、端末装置間でP2P(Peer to Peer)によりコンテンツデータの送受信を行うコンテンツ配信システムに関する。
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などのコンテンツデータを配信する、いわゆるコンテンツ配信システムの研究が盛んである。
そこで、分散ハッシュテーブル(DHT(Distributed Hash Table))を利用して論理的にオーバーレイネットワークを構築することにより、コンテンツデータを効率的に分散配置して負荷分散を図る技術が提案されている。
このシステムにおいては、各端末装置が当該オーバーレイネットワークに参加している全ての端末装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部の端末装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、コンテンデータの検索等を行うようになっている(特許文献1参照)。
特開2006−197400号公報
ところで、上述のコンテンツ配信システムでは、このシステム内の端末装置にコンテンツデータが投入されて公開されたコンテンツデータを、端末装置間で送受信を行うことによってコンテンツデータを配信できる端末装置を順次増加させていくことになる。
一方で、人気のコンテンツデータは公開時から時間が経つにつれその人気がなくなっていくのが一般的である。すなわち、コンテンツデータがコンテンツ配信システムで公開されたときに最も人気が高い状態になることが多い。
しかしながら、このコンテンツ配信システムでの公開時には、コンテンツデータを保持する端末装置が少ないために、コンテンツデータを保持する特定の端末装置にアクセスが集中してしまう不都合がある。このようにアクセスが集中すると、ネットワークの混雑を来たしてしまう恐れがある。
本発明は、以上の不都合に鑑みてなされたものであり、ネットワーク上に配置された複数の端末装置を有するP2P型のコンテンツ配信システムにおいて、特に、コンテンツデータを公開したときにコンテンツデータを保持する端末装置へのアクセスを有効に制限することができる端末装置及びその情報処理方法等を提供することを目的とする。
以上のような目的を達成するために、本発明は、以下のようなものを提供する。
すなわち、請求項1に記載の発明は、ネットワークに接続された複数の端末装置により構成されたオーバーレイネットワークにより、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置であって、前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶する配信元情報記憶手段と、前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定する応答処理可否判定手段と、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行う検索メッセージ応答処理手段と、を備えたことを特徴とするものである。
また、請求項2に記載の発明は、請求項1に記載の発明において、前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記配信元情報記憶手段から取り出したコンテンツ保持端末装置の所在情報を、前記検索メッセージを送信した端末装置へ前記ネットワークを介して送信することを特徴とするものである。
また、請求項3に記載の発明は、請求項1に記載の発明において、前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージを送信した端末装置へ前記コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデータ配信要求メッセージを生成し、前記コンテンツデータ配信要求メッセージを前記コンテンツ保持端末装置へ送信することを特徴とするものである。
また、請求項4に記載の発明は、請求項1から3のいずれか1項に記載の発明において、前記複数の端末装置のうち一部の端末装置の識別情報と所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが、メッセージを受信した端末装置宛であるかを判定するメッセージ宛先判定手段と、前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されているか否かを判断する所在情報判断手段と、を備え、前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、前記配信元情報記憶手段は、前記メッセージ宛先判定手段の判定結果にかかわらず、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶し、要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていると前記所在情報判断手段が判断したとき、前記応答処理可否判定手段が前記検索メッセージ応答処理を行うか否かを判定することを特徴とするものである。
また、請求項5に記載の発明は、請求項4に記載の発明において、前記検索メッセージ応答処理手段により前記検索メッセージ応答処理が行われたとき、前記ルーティングテーブルに基づいて前記送信要求の宛先識別情報に応じた端末装置の所在情報を取り出し、当該所在情報を有する端末装置へ前記検索メッセージ応答処理を行った旨の情報を送信する報知手段を備えたことを特徴とするものである。
また、請求項6に記載の発明は、請求項1から5のいずれか1項に記載の発明において、前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが、メッセージを受信した端末装置宛ではないと判定されると、前記受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報を前記ルーティングテーブルから取り出し、前記転送先の端末装置へ前記受信したメッセージを転送するメッセージ転送手段を備え、前記検索メッセージにて要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていないと前記所在情報判断手段が判断したとき、前記メッセージ宛先判定手段が、前記受信したメッセージが、メッセージを受信した端末装置宛であるか否かを判定し、メッセージを受信した端末装置宛でないとき、前記メッセージ転送手段がメッセージを転送することを特徴とするものである。
また、請求項7に記載の発明は、請求項1から6のいずれか1項に記載の発明において、前記応答処理可否判定手段は、前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行うことを特徴とするものである。
また、請求項8に記載の発明は、請求項1から6のいずれか1項に記載の発明において、前記応答処理可否判定手段は、前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置において同時に前記コンテンツデータを供給することができる数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行うことを特徴とするものである。
また、請求項9に記載の発明は、請求項7又は請求項8に記載の発明において、前記所定期間は、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間であることを特徴とするものである。
また、請求項10に記載の発明は、ネットワークに接続された複数の端末装置により構成されたオーバーレイネットワークにより、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおけるプログラムであって、前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステップと、前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定するステップと、前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行うステップと、をコンピュータに実行させるためのプログラムとするものである。
また、請求項11に記載の発明は、ネットワークに接続された複数の端末装置により構成されたオーバーレイネットワークにより、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置の情報処理方法であって、前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステップと、前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定するステップと、前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行うステップと、を有することを特徴とするものである。
また、請求項12に記載の発明は、請求項1に記載の発明において、前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行わないと判定されると、前記検索メッセージが、前記検索メッセージを受信した端末装置宛であるか否かを判定し、前記検索メッセージが、前記検索メッセージを受信した端末装置宛であると判定すると、前記検索メッセージを送信した端末装置へアクセス不許可メッセージを送信し、前記検索メッセージが、前記検索メッセージを受信した端末装置宛でないと判定すると、前記検索メッセージにより検索されたコンテンツデータを管理する端末装置へ前記検索メッセージを送信することを特徴とするものである。
請求項1,10,11に記載の発明によれば、ネットワークを介して受信したメッセージがコンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、この登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶し、その後、ネットワークを介して受信したメッセージがコンテンツデータを取得するための検索メッセージであるとき、このメッセージを送信した端末装置がコンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定し、検索メッセージ応答処理を行うと判定されると、この検索メッセージ応答処理を行うにしたので、コンテンツ保持端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセスを制限して、ネットワークの混雑を抑制することが可能となる。
また、請求項2に記載の発明によれば、検索メッセージ応答処理を行うときには、配信元情報記憶手段から取り出したコンテンツ保持端末装置の所在情報を、検索メッセージを送信した端末装置へネットワークを介して送信するので、検索メッセージを送信した端末装置は、送信されるコンテンツ保持端末装置の所在情報に基づいて、コンテンツ保持端末装置へアクセスしてコンテンツデータを取得することが可能となる。
また、請求項3に記載の発明によれば、検索メッセージ応答処理を行うときには、検索メッセージを送信した端末装置へコンテンツ保持端末装置からコンテンツデータの配信を行わせるので、検索メッセージを送信した端末装置は、効率的にコンテンツデータの取得が可能となる。
また、請求項4に記載の発明によれば、受信したメッセージが登録メッセージであるとき、当該登録メッセージが自端末装置宛であるか否かにかかわらず、登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するので、コンテンツ保持端末装置の所在情報を記憶する端末装置を増加させ、コンテンツ保持端末装置へのアクセス制限を行なう端末装置を分散させることが可能となり、更にネットワークの混雑を抑制することができる。
また、請求項5に記載の発明によれば、検索メッセージの応答処理を行ったとき、ルーティングテーブルに基づいて所在情報を有する端末装置へ検索メッセージ応答処理を行った旨の情報を送信するので、コンテンツ保持端末装置の所在情報を記憶する他の端末装置にその旨を知らせることができ、コンテンツ保持端末装置へのアクセス制限をより効果的に行うことができる。
また、請求項6に記載の発明によれば、検索メッセージの応答処理を行わず、かつこの検索メッセージが自端末装置宛でないときには通知要求のメッセージを転送するので、コンテンツ保持端末装置の所在情報を保持する他の端末装置と協力して、コンテンツ保持端末装置へのアクセス制限をより効果的に行うことができる。
また、請求項7に記載の発明によれば、所在情報を記憶したコンテンツ保持端末装置の数と、所定期間内に検索メッセージ応答処理を行った数とに基づいて、検索メッセージ応答処理を行うかどうかを判定するので、検索メッセージ応答処理を行うかどうかの判定を極めて容易に行うことができる。
また、請求項8に記載の発明によれば、所在情報を記憶したコンテンツ保持端末装置において同時にコンテンツデータの供給することができる数と、所定期間内に検索メッセージ応答処理を行った数とに基づいて、検索メッセージ応答を行うかどうかを判定するので、所在情報を記憶しているコンテンツ保持端末装置コンテンツデータの供給能力に応じてコンテンツ保持端末装置へのアクセス制限を行うことができ、より適切なアクセス制限を行うことができる。
また、請求項9に記載の発明によれば、所定期間を、所在情報を記憶したコンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間としたので、コンテンツデータのデータサイズが異なる場合でも、より適切なアクセス制限を行うことができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとするPastry型のコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[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.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に参加)している端末装置1という。
コンテンツ配信システムSに参加している各端末装置1の識別番号である端末IDとして、それぞれの端末装置1毎にユニークな番号(固有番号)を付与する。この番号は、端末装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128(2の128乗)台の端末装置を運用できる。
より具体的には、各端末装置1の端末IDは、それぞれの端末装置1のIPアドレス或いは製造番号等の端末装置1毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。
このように共通のハッシュ関数によりハッシュ化されて求められた端末IDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値を端末IDとする。
また、コンテンツ配信システムSに参加している複数の端末装置1には、一の端末装置1から他の端末装置1に配信される共用情報としてのコンテンツデータ(例えば、音楽データ、映画データ、文書データ等)が分散して記憶されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別番号(以下、「コンテンツID」と呼ぶ。)を付与する。
そして、当該コンテンツIDは、端末IDと同様の長さ(例えば、128bit等)とし、コンテンツの名称(コンテンツタイトル)が、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、端末装置1のIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)端末IDを有する端末装置1が、後述するルート端末装置として、コンテンツデータを保持する端末装置1(以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク情報、すなわちコンテンツ保持端末装置の所在情報であるIPアドレスを保持する。
なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの概要情報(あらすじ)、コンテンツの名称と著作権情報(例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等)の組み合わせとすればよい。
このように、各端末装置1及び各コンテンツデータに付与された端末ID及びコンテンツIDは、共通のハッシュ関数によって生成したため、図2に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ID及びコンテンツIDを付与し、図示したものである。図中丸点は端末IDを、四角形はコンテンツIDを示し、反時計回りでIDが増加するものとする。
次に、どの端末装置1に、どのコンテンツデータが管理されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツIDを有するコンテンツデータを管理する端末装置1は、そのコンテンツIDに近い端末IDを有する端末装置1である」という規則とする。
ここで、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDと端末IDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置1に割り振る際に、一貫していれば他の定義でもよい。
図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を有するコンテンツデータのルート端末装置である。
また、本実施形態においては、コンテンツデータの管理をルート端末装置が主として行うが、その他の端末装置1においても後述するキャッシュ端末装置としてコンテンツデータの管理を行うようにしており、この点後述する。
また、コンテンツ配信システムSには、図1に示すように、コンテンツ配信システムSにコンテンツデータを投入する機能、すなわちコンテンツ配信システムS内の端末装置1をコンテンツ保持端末装置とするためにコンテンツデータを端末装置1へ配布する機能と、カタログリストを生成して端末装置1へ提供する機能とを有するコンテンツ投入装置10が配置されている。
[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.3.インデックステーブルへの登録方法]
このような構成のコンテンツ配信システムSの中で、例えば、ある端末装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他の端末装置1から検索可能となるように公開する際の手法について述べる。
コンテンツ投入装置10から配布されたコンテンツデータを記憶してコンテンツ保持端末装置となった端末装置1は、記憶したコンテンツデータのコンテンツIDと同じ端末IDを持つ端末装置1に向けて(この端末装置1が実在するか否かはこの時点ではわからない。)、コンテンツデータを保持するコンテンツ保持端末装置の所在情報等の登録を要求するメッセージ(以下、「登録メッセージ」とする。)を送信する。
具体的には、図5(a),(b)に示すように、例えば、端末装置1MがコンテンツID「3020」のコンテンツ保持端末装置となったとき、端末装置1Mは、コンテンツID「3020」を宛先識別情報とした登録メッセージを生成し、この登録メッセージを自己が保持しているルーティングテーブルを参照して送信する。端末装置1Mが、図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、すなわちルート端末装置に辿り着くと、当該端末装置1自身がそのコンテンツのルート端末装置となるべきだと判断し、当該登録メッセージに含まれる当該コンテンツID及びコンテンツ保持端末の端末IDやIPアドレス等(以下、これらを「インデックス情報」と呼ぶ。)をインデックス情報として記憶する。そして、後述するように、他の端末装置から検索メッセージを受信すると、検索メッセージ応答処理を行う。この検索メッセージ応答処理は、検索メッセージを送信した端末装置1へコンテンツ保持端末装置の所在情報を後述するインデックステーブルから選択して通知することによって行うものである。
また、本実施形態では、登録メッセージがルート端末装置へ転送される経路の途中の端末装置1でも、登録メッセージに含まれるインデックス情報をキャッシュとして保持するように構成されており、このような端末装置1をキャッシュ端末装置という。これにより、ルート端末装置がコンテンツを検索するための検索メッセージを受信するより前に、キャッシュ端末装置に検索メッセージが転送された時点でキャッシュ端末装置によって、検索メッセージ応答処理を行うことが可能となる。
登録メッセージを転送していく際には、通常、上述のようにキャッシュ端末装置が登録メッセージに基づいたインデックス情報を保持していく。
すなわち、コンテンツ保持端末装置である端末装置1Mがインデックス情報を含む登録メッセージを送信すると、これを受け取った端末装置1Aは、当該インデックス情報を保持することによりキャッシュ端末装置(1)として機能する。キャッシュ端末装置(1)は、当該登録メッセージを転送する。当該登録メッセージを受け取った端末装置1Bは、当該インデックス情報を保持することによりキャッシュ端末装置(2)として機能する。キャッシュ端末装置(2)は、当該登録メッセージを転送する。当該登録メッセージを受け取った端末装置1Cは、当該インデックス情報を保持することによりルート端末装置として機能する。このように端末装置1A,1B,1Cは登録メッセージに含まれるインデックス情報を保持することになる。
ところで、ルート端末装置やキャッシュ端末装置におけるインデックス情報の保持は、図6に示すようなインデックステーブルにより行われる。図6はルート端末装置1Cにおけるインデックステーブルの例を示したものであり、自端末装置1が管理対象であるコンテンツID「3020」のコンテンツに関するコンテンツ保持端末装置の端末ID、IPアドレス、紹介時間などを記憶する他、キャッシュ端末装置としてコンテンツID「3021」のコンテンツに関するコンテンツ保持端末装置の端末ID、IPアドレス、紹介時間などを記憶している。なお、インデックステーブルには、コンテンツID、コンテンツ保持端末装置の端末IDやIPアドレスの他、コンテンツデータのサイズや著作権情報なども記憶することができる。また、紹介時間とは、後述する検索メッセージを受信したときに、コンテンツ保持端末装置に所在情報を送信したときの時間であり、この送信を行うたびに更新されるものである。
[1.4.コンテンツデータの取得方法]
次に、図7及び図8を参照して、コンテンツデータを保持している端末装置1の検索方法の一例について説明する。図7は、DHTによりコンテンツデータを保持している端末装置1が検索される様子の一例を示す図である。
ここでは、端末ID「1133」の端末装置1Nが、コンテンツID「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの送信を要求する端末装置1をリクエスト端末装置と呼ぶ。また、端末装置1A,1Bは、コンテンツID「3020」のキャッシュ端末装置であるとし、端末装置1Cは、コンテンツID「3020」のルート端末装置であるとする。
リクエスト端末装置1Nは、コンテンツID「3020」を宛先識別情報とし、自己が保持しているルーティングテーブルを参照して、コンテンツ保持端末装置の識別情報の送信要求(以下、「検索メッセージ」と呼ぶ。)を送信する。リクエスト端末装置1Nが、図4の例と同じ値のルーティングテーブルを持っていたとすると、コンテンツID「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置1のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)端末装置1A(端末ID「3213」)に対して検索メッセージを送信する。このように、検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツIDを含むものであり、このコンテンツIDは検索メッセージにおいて宛先識別情報として用いられる。
図7に示す例によれば、端末IDが「3213」である端末装置1AのIPアドレスがリクエスト端末装置1Nのルーティングテーブル(図4参照。)に記憶されているので、リクエスト端末装置1Nは、端末IDが「3213」である端末装置1Aに対して検索メッセージを送信する。
次に、検索メッセージを受信した端末装置1Aは、この検索メッセージによる検索対象のコンテンツ保持端末装置の所在情報インデックステーブルに記憶されているか否かを判断する。すなわち、端末装置1Aは、検索メッセージに含まれるコンテンツIDに基づいて、このコンテンツID対応するコンテンツデータを保持するコンテンツ保持端末装置の所在情報が記憶されているか否かを判断する。
端末装置1Aは、コンテンツID「3020」のキャッシュ端末装置であることから、検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報を記憶していると判断し、検索メッセージ応答処理を行うか否かを判定する。
ここで、端末装置1Aは、検索メッセージ応答処理を行うか否かを、ルーティングテーブルに記憶された情報に基づいて行う。具体的には、ルーティングテーブルに所在情報を記憶したコンテンツ保持端末装置の数に応じてその判定を行う。すなわち、ルーティングテーブルに所在情報を記憶したコンテンツ保持端末装置の数に応じて検索メッセージ応答処理数の上限値(以下、単に「上限値」と呼ぶ場合がある)を決定し、所定時間前から現在までの間に行った検索メッセージ応答処理の数(以下、「最近の検索メッセージ応答処理数」と呼ぶ。)が上限値以上となっていないときに検索メッセージ応答処理を行うと判定し、上限値以上となっているときに検索メッセージ応答処理を行わないと判定する。
ここで、端末装置1Aにおいては、図7に示すように、検索メッセージ応答処理数の上限値が「2」であり、最近の検索メッセージ応答処理数が「2」となっていることから、検索メッセージ応答処理を行わずに、端末装置1Aは、この検索メッセージが自端末装置1A宛のメッセージであるか否かを判定する。自端末装置1A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置1Aの識別情報である端末IDと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置1A自身が保持しているルーティングテーブル(テーブルの値は図示しない)に記憶されている端末装置1の端末IDから、一番近い端末装置1の端末IDが、自身であるか他の端末装置1であるかを判定する。
そして、自端末装置1Aの端末IDよりも他の端末装置1の端末IDの方が、宛先識別情報に近いため、端末装置1Aは、当該端末装置1A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属す端末装置1のうち、IPアドレスを知っている端末装置1B(端末ID「3031」)に対して検索メッセージを転送する。
その後、検索メッセージを受信した端末装置1Bは、この検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されているか否かを判断する。
端末装置1Bは、コンテンツID「3020」のキャッシュ端末装置であるため、検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報を記憶していると判断し、検索メッセージ応答処理を行うか否かを判定する。
ここで、端末装置1Bにおいては、検索メッセージ応答処理数の上限値が「8」であり、最近の検索メッセージ応答処理数が「6」となっていることから、端末装置1Bは、検索メッセージ応答処理が可能であると判定し、インデックステーブルから検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報を複数(一つしかない場合には一つだけ)取り出す。そして、端末装置1Bは、このように取り出したコンテンツ保持端末装置の所在情報をリクエスト端末装置1Nへ通知する。コンテンツ保持端末装置の所在情報の通知を受けるとリクエスト端末装置1Nは、これらのコンテンツ保持端末装置のうち任意の一つのコンテンツ保持端末装置を選択してコンテンツデータの送信を要求する。
このように、本実施形態における端末装置1では、ネットワーク8を介して受信したメッセージが検索メッセージであるとき、所在情報を記憶したコンテンツ保持端末装置の数に応じて、検索メッセージ応答処理を行うか否かを判定し、検索メッセージ応答処理を行うと判定すると、検索メッセージ応答処理を行うようにしたので、コンテンツ保持端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセス制限をすることで、ネットワークの混雑を抑制することが可能となる。すなわち、コンテンツ配信システムSにおけるコンテンツ配信能力に応じたアクセス制限が可能となる。
また、端末装置1Bは、検索メッセージに対し、検索メッセージ応答処理を行ったとき、ルーティングテーブルに基づいて、コンテンツID「3020」に端末IDが近い所在情報を有する端末装置1Cへ検索メッセージ応答処理を行った旨のメッセージ(以下、「応答処理済メッセージ」とする。)を送信する。この応答処理済メッセージは、コンテンツID「3020」を宛先識別情報として、DHTルーティングにより送信されるものである。端末装置1Cは、この応答処理済メッセージを受信すると、自端末装置1における最近の検索メッセージ応答処理数を1つだけインクリメントする。
このように、リクエスト端末装置の検索メッセージに対して、検索メッセージ応答処理を行った端末装置1Bからルート端末装置までのDHTルーティング経路に検索メッセージ応答処理済メッセージを送信することにより、他のキャッシュ端末装置やルート端末装置は、検索メッセージに対して検索メッセージ応答処理が行われたことを把握することができるので、コンテンツ保持端末装置へのアクセス制限をより効果的に行うことができる。
図8は、端末装置1A,1B,1Cのいずれもが、最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値以上となっている状態で、リクエスト端末装置1Nが検索メッセージを送信した場合の例を示している。
この例では、リクエスト端末装置1Nから送信された検索メッセージに対して、キャッシュ端末装置である端末装置1A,1Bは、自端末装置における最近の検索メッセージ応答処理数が上限値以上となっているため、検索メッセージ応答処理を行わずにこの検索メッセージをルート端末装置である端末装置1Cへ転送する。端末装置1Cにおいては、同様に最近の検索メッセージ応答処理数が上限値以上となっているため、検索メッセージ応答処理を行わず、リクエスト端末装置1Nに対して、アクセス不許可メッセージを送信する。リクエスト端末装置1Nでは、アクセス不許可メッセージするとコンテンツデータの取得処理を中止する。
このように、各端末装置において最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値以上となると、検索メッセージ応答処理の制限を行なうようにしてるため、ネットワークの混雑を抑制することが可能となる。
[2.端末装置1の構成等の説明]
次に、図面を参照して、端末装置1の構成及び動作について説明する。図9は、本実施形態に係るコンテンツ配信システムSにおける端末装置1の概略構成を示す図である。
端末装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図9に示すように、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には、更にインデックステーブル(図6参照)の情報を記憶するためのインデックステーブル記憶領域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等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域等を有している。
(制御部113について)
制御部113は、上述のようにCPU102と第1記憶部103とから構成され、CPU102が第1記憶部103に記憶された各種プログラム114〜118を読み出して実行することにより、端末装置1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツデータ再生手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、所在情報判断手段、応答処理可否判定手段、検索メッセージ応答処理手段、報知手段、メッセージ宛先判定手段、メッセージ転送手段、デコード手段等として機能するようになっている。
なお、CPU102が画面制御プログラム115を実行することによって、表示制御手段等として、またCPU102がコンテンツ処理プログラム116を実行することによって、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツデータ再生手段等として、またCPU102がメッセージ処理プログラム117を実行することによって、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、所在情報判断手段、応答処理可否判定手段、検索メッセージ応答処理手段、報知手段、メッセージ宛先判定手段、メッセージ転送手段等として、またCPU102が音楽デコーダプログラム118を実行することによって、デコード手段等として、それぞれ機能するようになっている。
(表示制御手段について)
表示制御手段は、ビデオチップ109及び内蔵ディスプレイ110を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ110にどのように映像を表示させるかを制御する。
(コンテンツデータ取得要求検出手段について)
コンテンツデータ取得要求検出手段は、ユーザによるコンテンツデータの取得要求操作を検出する。例えば、コンテンツ投入装置10から端末装置1が取得したカタログリストが表示制御手段によって内蔵ディスプレイ110に表示されているときに、端末装置1のユーザがリモコン106を操作し、所望のコンテンツ名称をユーザが選択することによってコンテンツデータの取得要求操作がなされ、この操作をコンテンツデータ取得要求検出手段によって検出する。
(コンテンツデータ取得手段について)
コンテンツデータ取得手段は、ネットワークインターフェイス105を介して受信したメッセージがコンテンツ投入装置10からのコンテンツデータの保持要求であるときに、このコンテンツデータをコンテンツ投入装置10から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶する。
また、コンテンツデータ取得手段は、コンテンツデータ取得要求検出手段によってユーザによるコンテンツデータの取得要求操作を検出し、他の端末装置1からコンテンツデータを取得するときには、取得しようとするコンテンツデータを保持するコンテンツ保持端末装置の所在情報を検索するための検索メッセージを生成する。検索メッセージは、上述のように要求するコンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自端末装置の識別情報である端末IDを要求元識別情報としたメッセージである。コンテンツデータ取得手段は、取得しようとするコンテンツデータのコンテンツ名称をカタログリストから取り出し、取り出したコンテンツ名称を端末IDを得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツIDを決定する。なお、コンテンツ投入装置10において予めカタログリストにコンテンツデータに対応するコンテンツIDを含ませることにしてもよい。
このようにコンテンツデータ取得手段は、決定したコンテンツID或いはカタログリストに含まれるコンテンツ名称に基づいて生成したコンテンツIDを宛先識別情報とした検索メッセージを生成する。その後、ルーティングテーブルに記憶された端末装置1の識別情報から送信先端末装置を選択して、生成した検索メッセージを送信先端末装置へ転送する。すなわち、ルーティングテーブルに記憶された端末装置1の端末IDのうち、宛先識別情報に近い端末IDを選択し、このように選択した端末IDに対応する端末装置1のIPアドレスを知り、そのIPアドレスの端末装置1に検索メッセージを送信する。
コンテンツデータ取得手段は、送信した検索メッセージに対してコンテンツ保持端末装置から送信される当該コンテンツ保持端末装置の所在情報を受信し、この情報に基づいてコンテンツ保持端末装置に対して取得要求操作に応じたコンテンツデータを要求する。この要求に応じてコンテンツ保持端末装置からコンテンツデータが配信される。コンテンツデータ取得手段は、配信されるコンテンツデータを受信し、第2記憶部104に記憶する。
(登録メッセージ送信手段について)
登録メッセージ送信手段は、コンテンツ投入装置10から受信したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶したとき、或いは検索メッセージによって他の端末装置1からコンテンツデータを取得したとき、当該コンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自端末装置の識別情報である端末ID及びIPアドレスとを含む登録メッセージを生成する。また、他のコンテンツ保持端末装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶し、登録メッセージを生成する。なお、端末装置1は、このようにコンテンツデータを取得したときにコンテンツ保持端末装置として機能することになる。
登録メッセージ送信手段は、このように生成した登録メッセージを、ルーティングテーブルに基づいて選択した送信先端末装置へ送信する。すなわち、ルーティングテーブルに記憶された端末装置1の端末IDのうち、宛先識別情報に近い端末IDを選択し、このように選択した端末IDに対応する端末装置1のIPアドレスを知り、そのIPアドレスの端末装置1に登録メッセージを送信する。
(コンテンツ保持端末情報取得手段について)
コンテンツ保持端末情報取得手段は、インデックス情報の記憶処理を行うものであり、自端末装置において、受信したメッセージが登録メッセージであるとき、この登録メッセージが自端末装置宛であるか否かにかかわらず、登録メッセージに含まれるコンテンツID、コンテンツ保持端末装置の識別情報である端末IDや所在情報であるIPアドレスなどを取得する。そして、このように取得したインデックス情報をインデックステーブルに記憶する。
(所在情報判断手段について)
所在情報判断手段は、ネットワーク8を介して受信したメッセージがコンテンツ保持端末装置の所在情報の通知要求である検索メッセージであるとき、要求されたコンテンツを保持するコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されているか否かを判断する。例えば、図6に示すようなインデックステーブルを記憶している場合に、検索メッセージに含まれる検索対象のコンテンツIDが「3020」又は「3021」の時に、要求されたコンテンツを保持するコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されていると判断し、コンテンツIDが「3020」及び「3021」以外のコンテンツを検索する検索メッセージであるとき、インデックステーブルには要求に応じたコンテンツ保持端末装置の所在情報は記憶されていないと判断する。
(応答処理可否判定手段について)
応答処理可否判定手段は、検索メッセージに対応するコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されていると所在情報判断手段が判断したとき、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置の数に応じて、このメッセージを送信した端末装置がコンテンツデータを取得するための検索メッセージ応答処理を行うか否かを判定する。
具体的には、応答処理可否判定手段は、インデックステーブルに記憶された情報に基づいて所在情報を記憶したコンテンツ保持端末装置の数を検出し、この数に応じた検索メッセージ応答処理の上限値を設定する。応答処理可否判定手段は、この上限値と後述の検索メッセージ応答処理手段による検索メッセージ応答処理の状況に応じて、メッセージを送信した端末装置がコンテンツデータを取得するための検索メッセージ応答処理を行うか否かを判定する。
この「検索メッセージ応答処理数の上限値」として、以下のものがあり、端末装置1の制御部113は、ユーザによるリモコン106等の操作によって、いずれかを選択可能となっている。また、ユーザによる選択ではなく、コンテンツID毎にそれぞれ異なる上限値を採用するようにしてもよい。
(a)インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象となるコンテンツ保持端末装置の数
(b)インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象となるコンテンツ保持端末装置において同時にコンテンツデータの供給することができる数
(c)インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象となるコンテンツ保持端末装置において所定の条件を満たすコンテンツ保持端末装置の数
ここで、上記(a)における「コンテンツ保持端末装置の数」とは、例えば、図6に示すようなインデックステーブルを保持している場合に、コンテンツID「3020」に関しては「8」となり、コンテンツID「3020」に関しては「2」となる。
また、上記(b)における「コンテンツ保持端末装置において同時にコンテンツデータの供給することができる数」は、コンテンツ保持端末装置から送信される登録メッセージに含まれる情報であり、各コンテンツ保持端末装置におけるコンテンツデータの供給能力の総和を意味する。コンテンツ保持端末装置から通知されるコンテンツデータ供給能力は、図10に示すように、インデックステーブルに記憶されることになる。各コンテンツ保持端末装置は、自装置がコンテンツデータを同時に供給することができる数を自装置のCPUの処理能力や通信帯域などに基づいて算出し、登録メッセージにその情報を含める。また、定期的にその情報を、登録メッセージと同様にDHTルーティングを用いて送信しており、これによりルーティングテーブルの情報の更新が行われる。
インデックステーブルが図10に示すように記憶されている場合、コンテンツID「3020」に関して「コンテンツ保持端末装置において同時にコンテンツデータの供給することができる数」は「12」となり、「3021」に関しては「4」となる。
コンテンツデータ供給能力は、CPUの処理能力等から演算するのではなく、コンテンツ保持端末装置のユーザがリモコン106等から設定することもでき、この設定情報は第1記憶部103に記憶される。
また、上記(c)において、「所定の条件を満たすコンテンツ保持端末装置の数」は、例えば、検索メッセージの検索対象となるコンテンツ保持端末装置の総数の60%を「コンテンツ保持端末装置の数」とすることができる。また、近接するコンテンツ保持端末装置の総数を「コンテンツ保持端末装置の数」とすることもできる。ここで、「近接する」とはネットワーク的に近接するという意味であり、例えば、メッセージ等が到達するまでに中継されるルータ装置の数などが少ないことをいう。
応答処理可否判定手段は、上記上限値と後述の検索メッセージ応答処理手段による検索メッセージ応答処理の状況に応じて、検索メッセージ応答処理の可否の判定を行うものであり、「検索メッセージ応答処理手段による検索メッセージ応答処理の状況」として、最近の検索メッセージ応答処理の数、すなわち所定期間内における検索メッセージ応答処理手段による検索メッセージ応答処理の数を検出する。
ここで、検索メッセージ応答処理の数の検出の基準となる「所定期間」は、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間とする。すなわち、コンテンツデータがコンテンツ保持端末装置から送信される速度の予測値である推測送信速度を設定しておき、コンテンツデータのデータサイズをこの推測送信速度で除算することにより、上記所定期間を導く。例えば、推測送信速度が10Mbit/分に設定されている場合、データサイズが40Mbitのコンテンツデータに関する上記「所定時間」は、4分間となる。従って、インデックステーブルが図6に示すような状態であり、現日時が11月4日の11時41分00秒である場合、NO.4〜NO.8までが最近の検索メッセージ応答処理の数となる。
(検索メッセージ応答処理手段について)
検索メッセージ応答処理手段は、応答処理可否判定手段の判定結果に応じて、メッセージを送信した端末装置がコンテンツデータを取得するための検索メッセージ応答処理を行う。すなわち、検索メッセージ応答処理手段は、応答処理可否判定手段によって検索メッセージ応答処理を行うと判定されると、インデックステーブルからコンテンツ保持端末装置の所在情報の情報を取り出し、検索メッセージを送信したリクエスト端末装置へ通知する。一方、応答処理可否判定手段により検索メッセージ応答処理を行わないと判定されると、検索メッセージをメッセージ転送手段により転送する。
ここで、所在情報通知要求メッセージを送信するコンテンツ保持端末装置として、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置のうち、所定の数のコンテンツ保持端末装置を選択する。この所定の数として、例えば5台のコンテンツ保持端末装置を選択することができるが、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置の総数は当然ながら超えることができない。
リクエスト端末装置は、このように送信されたコンテンツ保持端末装置の所在情報のうち一のコンテンツ保持端末装置を選択し、このように選択したコンテンツ保持端末装置へ接続要求を行って接続し、コンテンツデータを受信する。なお、送信されるコンテンツ保持端末装置の所在情報が複数ある場合には、その一つを選択し、コンテンツデータの送信を要求することになる。
(報知手段について)
報知手段は、検索メッセージ応答処理手段により検索メッセージ応答処理が行われたとき、検索メッセージ応答処理を行った検索メッセージの宛先識別情報に応じた端末装置の所在情報をルーティングテーブルから取り出し、当該所在情報を有する端末装置1へ検索メッセージ応答処理を行った旨のメッセージである応答処理済メッセージをDHTルーティングを用いて送信する。すなわち、応答処理済メッセージの宛先識別情報を検索メッセージ応答処理に対応するコンテンツIDとし、送信先の端末装置1をルーティングテーブルに基づいて決定し、この応答処理済メッセージを送信する。
この応答処理済メッセージを受信した端末装置1は、自端末装置1の第1記憶部103に記憶したアクセス許可数を一つインクリメントする。
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク8を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持端末装置を検索するための検索メッセージ、ルート端末装置にコンテンツ保持端末装置の識別情報を登録するための登録メッセージなどである。
受信したメッセージが自端末装置宛であるか否かの判定は、メッセージに含まれる宛先識別情報を取り出し、第1記憶部103に記憶したルーティングテーブルに基づいて行われる。すなわち、各種のメッセージをネットワークインターフェイス105を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶した端末IDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上の端末IDが自端末装置の端末IDであると判定すると、自端末装置宛のメッセージであると判定する。
(メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク8を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、ルーティングテーブルに記憶された端末装置1の識別情報から送信先端末装置を選択して、受信したメッセージを送信先端末装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶された端末装置1の端末IDのうち、宛先識別情報に近い端末IDを選択し、このように選択した端末IDに対応する端末装置1のIPアドレスを知り、そのIPアドレスをIPパケットの宛先として、メッセージを転送する。
また、検索メッセージによって要求されたコンテンツのコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されていないと所在情報判断手段が判断したとき、メッセージ宛先判定手段が受信した検索メッセージが自端末装置1宛であるか否かを判定し、自端末装置1宛でないときに受信した検索メッセージを転送する。
(コンテンツデータ再生手段について)
コンテンツデータ再生手段は、第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコード手段によってデコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータを再生する。
(コンテンツデータ送信手段について)
コンテンツデータ送信手段は、コンテンツデータ記憶手段としての第2記憶部104に記憶したコンテンツデータの送信要求が他の端末装置1からあったとき、この送信要求に対応するコンテンツデータを第2記憶部104から取り出して送信要求をした他の端末装置1へ送信する。
(デコード手段について)
デコード手段は、第2記憶部104に記憶したコンテンツデータを内蔵ディスプレイ110に表示し、内蔵スピーカ112から出力するためにデコードする。すなわち、再生対象のコンテンツデータは、所定の形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ110や内蔵スピーカ112から出力できるようにデコードする。
[5.コンテンツ配信システムSの動作]
以下、コンテンツ配信システムSにおける端末装置1の詳細動作について、フローチャートを用いて更に具体的に説明する。
まず、端末装置1の更に具体的な動作の一例について、図11及び図12のフローチャートを参照して説明する。図11及び図12は端末装置1における処理を示すフローチャートである。なお、以下の各処理は、端末装置1の制御部113が上述した手段等として機能することによって実行されるものである。
まず、端末装置1の電源がONになると、端末装置1のCPU102は、第1記憶部103や第2記憶部104のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム114〜118をCPU102による実行状態とし、制御部113としての機能を動作させる。
次に、図11に示すように、制御部113は、ユーザによるコンテンツの取得要求があったか否かを判定する(ステップS100)。この処理は、ユーザによるコンテンツデータの取得要求操作が行われたか否かによって判定するものである。
ここで、ユーザによるコンテンツの取得要求があったと判定すると(ステップS100:YES)、制御部113は、コンテンツ取得要求処理を行う(ステップS101)。このステップS101の処理は、図12におけるS120〜S128の処理であり、後述する。
一方、ユーザによるコンテンツの取得要求がないと判定すると(ステップS100:NO)、制御部113は、他の端末装置1から検索メッセージを受信したか否かを判定する(ステップS102)。
ステップS102において、検索メッセージを受信したと判定すると(ステップS102:YES)、制御部113は、コンテンツ保持端末装置を知っているか否かを判定する(ステップS103)。コンテンツ保持端末装置を知っているか否かは、自端末装置1のインデックステーブルの中に、検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報が存在するか否かで判定される。すなわち、インデックステーブルに、検索メッセージに含まれるコンテンツIDに関するコンテンツ保持端末装置の所在情報があるときに、コンテンツ保持端末装置を知っていると判定し、所在情報がないときにコンテンツ保持端末装置を知らないと判定する。
ステップS103において、コンテンツ保持端末装置を知っていると判定すると(ステップS103:YES)、制御部113は、最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値よりも小さいか否かを判定する。
この処理において、最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値よりも小さいと判定すると(ステップS104:YES)、制御部113は、検索メッセージによるアクセスを許可するものとし、検索メッセージ応答処理を行う(ステップS105)。すなわち、制御部113は、インデックステーブルからコンテンツ保持端末装置の所在情報の情報を取り出し、検索メッセージを送信した端末装置へ通知する。なお、検索メッセージを送信した端末装置は、このように送信されたコンテンツ保持端末装置へ接続要求を行って接続し、コンテンツデータを受信する。
ステップS103においてコンテンツ保持端末装置を知らないと判定したとき(ステップS103:NO)、又はステップS104において最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値以上であると判定すると(ステップS104:NO)、制御部113は処理をステップS106に移行する。
ステップS106において、制御部113は、検索メッセージのルート端末装置であるか否かを判定する。すなわち、検索メッセージが自端末装置宛であるか否かを判定する。検索メッセージが自端末装置宛であるとき(ステップS106:YES)、制御部113は、検索メッセージを送信した端末装置である送信要求元端末装置に対してアクセス不許可メッセージを送信する(ステップS107)。
一方、ステップS106において、検索メッセージが自端末装置宛ではないと判定すると(ステップS106:NO)、制御部113は、検索メッセージをルート端末装置へ向けてDHTルーティングを用いて転送する(ステップS108)。
また、ステップS102において、検索メッセージを受信していないと判定すると(ステップS102:NO)、制御部113は、他の端末装置1からコンテンツデータの送信要求を受信したか否かを判定する(ステップS109)。
この処理において、他の端末装置1からコンテンツデータの送信要求を受信したと判定すると(ステップS109:YES)、制御部113は、送信元要求の端末装置、すなわちコンテンツデータの送信要求を行った端末装置に対して要求されたコンテンツデータを送信する(ステップS110)。
ステップS105,S107,S108,S110の処理が終了したとき、或いはステップS109において、他の端末装置1からコンテンツデータの送信要求を受信しなかったと判定されたとき(ステップS109:NO)、制御部113は、自端末装置の電源がOFF(シャットダウン)状態へ移行したか否かを判定する(ステップS111)。
ステップS111において、自端末装置の電源がOFF状態へ移行したと判定すると(ステップS111:YES)、制御部113は、メイン処理を終了し、一方、自端末装置の電源がOFF状態へ移行していないと判定すると(ステップS111:NO)、制御部113は、ステップS100からの処理を繰り返す。
次に、S101におけるコンテンツ取得要求処理について図12のフローチャートを参照して具体的に説明する。図12は、端末装置1におけるコンテンツ取得要求処理を示すフローチャートである。
図12に示すように、コンテンツ取得要求処理が開始されると、制御部113は、ステップS100における取得要求操作に応じたコンテンツデータが第2記憶部104に記憶されているか否かを判定する(ステップS120)。
この処理において、取得要求操作に応じたコンテンツデータを記憶していないと判定すると(ステップS120:NO)、制御部113は、取得要求操作に応じたコンテンツデータを取得するために、このコンテンツデータに対応するコンテンツIDを宛先識別情報とした検索メッセージをルーティングテーブルに基づいて送信する(ステップS121)。
このように送信した検索メッセージに対して、ステップS100における取得要求操作に応じたコンテンツデータのルート端末装置からアクセス不許可メッセージが送信されたか否かを判定する(ステップS122)。
この処理において、アクセス不許可メッセージを受信するのは、ステップS100における取得要求操作に応じたコンテンツデータの全てのキャッシュ端末装置及びルート端末装置において、例えば図8に示すように、検索メッセージ応答処理数がその上限値以上となっていることを意味しており、ステップS100における取得要求操作に応じたコンテンツデータを保持するコンテンツ保持端末装置の所在情報が通知されない状況を意味する。
アクセス不許可メッセージが受信されない、すなわち1以上のコンテンツ保持端末装置の所在情報が通知が通知されたと判定すると(ステップS122:NO)、制御部113は、通知されたコンテンツ保持端末装置の所在情報のうち、任意の一つを選択して、コンテンツデータの送信を要求する(ステップS123)。その後、制御部113は、コンテンツ保持端末装置から送信されるコンテンツデータを受信し(ステップS124)、第2記憶部104におけるコンテンツデータ記憶領域に記憶することにより保存する(ステップS125)。
このようにコンテンツデータを取得すると、制御部113は、コンテンツ保持端末装置として機能し、他の端末装置から検索可能とするために、このコンテンツデータのコンテンツIDを宛先識別情報とした登録メッセージをルーティングテーブルに基づいて送信する(ステップS126)。
このステップS126の処理が終了したとき、又はステップS120において取得要求操作に応じたコンテンツデータが記憶していると判定(ステップS120:YES)したとき、制御部113は、第2記憶部104のコンテンツデータ記憶領域から取得要求操作に応じたコンテンツデータを取り出して、再生する(ステップS127)。
また、ステップS122において、アクセス不許可メッセージを受信したと判定すると(ステップS122:YES)、制御部113は、コンテンツデータの受信失敗の旨をユーザに通知する(ステップS128)。例えば、内蔵ディスプレイ110に「コンテンツデータの受信失敗」の文字を映像として表示させる。このステップS127,S128の処理が終了すると、本コンテンツ取得要求処理を終了する。
以上のように、本実施形態における端末装置1は、ネットワークを介して受信したメッセージが検索メッセージであるとき、所在情報を記憶したコンテンツ保持端末装置の数に応じて、検索メッセージ応答処理を行うか否かを判定し、この判定結果に応じて、検索メッセージ応答処理を行うようにしたので、コンテンツ保持端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセスを制限して、ネットワークの混雑を抑制することが可能となる。また、検索メッセージによってコンテンツデータを取得できたときにコンテンツ保持端末装置として機能するので、検索メッセージに制限をかけつつ、検索メッセージの量に応じて、コンテンツ配信システムSにおけるコンテンツ端末装置を効果的に増加させることができる。
また、上記実施形態においては、コンテンツ保持端末装置の所在情報を記憶している端末装置がリクエスト端末装置に対してコンテンツ保持端末装置の所在情報を通知させるようにしたが、図13に示すように、リクエスト端末装置へコンテンツ保持端末装置からコンテンツデータを配信させるためのコンテンツデータ配信要求メッセージを、コンテンツ保持端末装置の所在情報を記憶している端末装置が生成して、そのコンテンツデータ配信要求メッセージをコンテンツ保持端末装置へ送信するようにしてもよい。この場合、端末装置のフローチャートは、S105は「コンテンツデータ配信要求メッセージを生成し、コンテンツ保持端末装置へ送信」となり、S123が削除されることとなる。
すなわち、制御部113は、検索メッセージ応答処理手段として機能するときに、検索メッセージ応答処理を行うと判定されると、インデックステーブルに記憶したコンテンツ保持端末装置に対して、検索メッセージを送信したリクエスト端末装置に接続してコンテンツデータを配信するように要求し、一方で、検索メッセージ応答処理を行わないと判定すると、受信した検索メッセージをルーティングテーブルに基づいて転送させる。
コンテンツ保持端末装置は、コンテンツデータ配信要求メッセージを受信したとき、コンテンツデータの供給が可能か否かを判定し、コンテンツデータの供給が可能であれば、検索メッセージを送信したリクエスト端末装置へ当該コンテンツ保持端末装置の所在情報を通知する。
また、コンテンツ配信システムSの形態を、Pastry型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるkademlia型、chord型、Viceroy型、CAN型などのコンテンツ配信システムにも本発明を適用可能である。
また、本実施形態においては、端末装置1間でのコンテンツデータの送受信の形式をダウンロード形式として説明したがこれに限られるものではなく、ストリーミング形式であってもよい。このように端末装置1間でのコンテンツデータの送受信がストリーミング形式で行われるコンテンツ配信システムにおいても、コンテンツ配信システムSにおけるコンテンツデータの供給能力を超えてコンテンツデータ取得のためのアクセスの集中が発生することを抑制することができる。
本実施形態に係るコンテンツ配信システムにおける各端末装置の接続態様の一例を示す図である。 ID空間の説明図である。 DHTによってルーティングテーブルが作成される様子の一例を示す図である。 本実施形態に係る端末装置のルーティングテーブルの一例である。 コンテンツ保持端末の登録メッセージが転送される様子をスパニングツリー状に表した図である。 本実施形態に係る端末装置のインデックステーブルの一例である。 DHTによりコンテンツデータの保持元である端末装置が検索される様子の一例を示す図である。 DHTによりコンテンツデータの保持元である端末装置が検索される様子の一例を示す図である。 本実施形態における端末装置の概略構成例を示す図である。 端末装置におけるメイン処理を示すフローチャートである。 端末装置におけるコンテンツ取得再生処理を示すフローチャートである。 端末装置におけるコンテンツ取得要求処理を示すフローチャートである。 DHTによりコンテンツデータの保持元である端末装置が検索される様子の他の例を示す図である。
S コンテンツ配信システム
1 端末装置
8 ネットワーク
10 コンテンツ投入装置
102 端末装置のCPU
103 端末装置の第1記憶部
104 端末装置の第2記憶部
113 端末装置の制御部

Claims (12)

  1. ネットワークに接続された複数の端末装置により構成されたオーバーレイネットワークにより、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置であって、
    前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶する配信元情報記憶手段と、
    前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定する応答処理可否判定手段と、
    前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行う検索メッセージ応答処理手段と、
    を備えたことを特徴とする端末装置。
  2. 前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記配信元情報記憶手段から取り出したコンテンツ保持端末装置の所在情報を、前記検索メッセージを送信した端末装置へ前記ネットワークを介して送信することを特徴とする請求項1に記載の端末装置。
  3. 前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージを送信した端末装置へ前記コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデータ配信要求メッセージを生成し、前記コンテンツデータ配信要求メッセージを前記コンテンツ保持端末装置へ送信することを特徴とする請求項1に記載の端末装置。
  4. 前記複数の端末装置のうち一部の端末装置の識別情報と所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
    前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが、メッセージを受信した端末装置宛であるかを判定するメッセージ宛先判定手段と、
    前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されているか否かを判断する所在情報判断手段と、を備え、
    前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、前記配信元情報記憶手段は、前記メッセージ宛先判定手段の判定結果にかかわらず、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶し、
    要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていると前記所在情報判断手段が判断したとき、前記応答処理可否判定手段が前記検索メッセージ応答処理を行うか否かを判定する
    ことを特徴とする請求項1から3のいずれか1項に記載の端末装置。
  5. 前記検索メッセージ応答処理手段により前記検索メッセージ応答処理が行われたとき、前記ルーティングテーブルに基づいて前記送信要求の宛先識別情報に応じた端末装置の所在情報を取り出し、当該所在情報を有する端末装置へ前記検索メッセージ応答処理を行った旨の情報を送信する報知手段を備えた
    ことを特徴とする請求項4に記載の端末装置。
  6. 前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが、メッセージを受信した端末装置宛ではないと判定されると、前記受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報を前記ルーティングテーブルから取り出し、前記転送先の端末装置へ前記受信したメッセージを転送するメッセージ転送手段を備え、
    前記検索メッセージにて要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていないと前記所在情報判断手段が判断したとき、前記メッセージ宛先判定手段が、前記受信したメッセージが、メッセージを受信した端末装置宛であるか否かを判定し、メッセージを受信した端末装置宛でないとき、前記メッセージ転送手段がメッセージを転送する
    ことを特徴とする請求項1から5のいずれか1項に記載の端末装置。
  7. 前記応答処理可否判定手段は、
    前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行う
    ことを特徴とする請求項1から6のいずれか1項に記載の端末装置。
  8. 前記応答処理可否判定手段は、
    前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置において同時に前記コンテンツデータを供給することができる数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行う
    ことを特徴とする請求項1から7のいずれか1項に記載の端末装置。
  9. 前記所定期間は、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間である
    ことを特徴とする請求項7又は請求項8に記載の端末装置。
  10. ネットワークに接続された複数の端末装置により構成されたオーバーレイネットワークにより、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおけるプログラムであって、
    前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステップと、
    前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定するステップと、
    前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行うステップと、
    をコンピュータに実行させるためのプログラム。
  11. ネットワークに接続された複数の端末装置により構成されたオーバーレイネットワークにより、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置の情報処理方法であって、
    前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステップと、
    前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定するステップと、
    前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行うステップと、
    を有することを特徴とする端末装置の情報処理方法。
  12. 前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行わないと判定されると、前記検索メッセージが、前記検索メッセージを受信した端末装置宛であるか否かを判定し、
    前記検索メッセージが、前記検索メッセージを受信した端末装置宛であると判定すると、前記検索メッセージを送信した端末装置へアクセス不許可メッセージを送信し、
    前記検索メッセージが、前記検索メッセージを受信した端末装置宛でないと判定すると、前記検索メッセージにより検索されたコンテンツデータを管理する端末装置へ前記検索メッセージを送信することを特徴とする請求項1に記載の端末装置。
JP2006270136A 2006-09-29 2006-09-29 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム Expired - Fee Related JP4765876B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006270136A JP4765876B2 (ja) 2006-09-29 2006-09-29 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
PCT/JP2007/065725 WO2008041422A1 (fr) 2006-09-29 2007-08-10 Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006270136A JP4765876B2 (ja) 2006-09-29 2006-09-29 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2008092236A JP2008092236A (ja) 2008-04-17
JP4765876B2 true JP4765876B2 (ja) 2011-09-07

Family

ID=39268287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006270136A Expired - Fee Related JP4765876B2 (ja) 2006-09-29 2006-09-29 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム

Country Status (2)

Country Link
JP (1) JP4765876B2 (ja)
WO (1) WO2008041422A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4765876B2 (ja) * 2006-09-29 2011-09-07 ブラザー工業株式会社 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP5195794B2 (ja) * 2010-03-16 2013-05-15 ブラザー工業株式会社 情報通信システム、情報処理装置、及び情報通信方法
US8903906B2 (en) 2010-03-16 2014-12-02 Brother Kogyo Kabushiki Kaisha Information communications system, node device, method of communicating contents, computer readable recording medium storing a program
JP2015046828A (ja) * 2013-08-29 2015-03-12 ブラザー工業株式会社 ノード装置及びプログラム
EP3080709A4 (en) 2013-09-09 2017-07-05 Unitedlex Corp. Interactive case management system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3806072B2 (ja) * 2002-07-26 2006-08-09 日本電信電話株式会社 P2pネットワークのトラヒック制御方法及び装置並びにプログラム及び記録媒体
JP2005346424A (ja) * 2004-06-03 2005-12-15 Fujitsu Ltd コンテンツ通信方法、コンテンツ通信可否判断プログラムおよびコンテンツ通信システム。
JP2006260430A (ja) * 2005-03-18 2006-09-28 Brother Ind Ltd ノード装置、ノード情報複製プログラム、複製用ノード情報記憶プログラム及びノード情報複製方法
JP4692414B2 (ja) * 2006-06-29 2011-06-01 ブラザー工業株式会社 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
JP4765876B2 (ja) * 2006-09-29 2011-09-07 ブラザー工業株式会社 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム

Also Published As

Publication number Publication date
WO2008041422A1 (fr) 2008-04-10
JP2008092236A (ja) 2008-04-17

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
WO2008026400A1 (fr) Système de distribution de contenu, procédé de traitement d'information dans un système de distribution de contenu, dispositif terminal et support d'enregistrement incorporant son programme enregistré
US20080244067A1 (en) Contents distribution system and information processing method thereof, as well as contents management apparatus and recording medium on which program thereof is recorded
JP4715388B2 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
JP4765876B2 (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP2006059133A (ja) 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
JP4692278B2 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラム
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
JP2008294648A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP5168055B2 (ja) 通信システム、端末装置及びコンテンツ情報取得方法
JP2008059398A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP2008085678A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP2008067089A (ja) コンテンツ配信システム及び同システムにおける端末装置及び同端末装置のプログラム及び同端末装置による情報管理方法
US20090319612A1 (en) Information distribution system, terminal apparatus, distribution server and introduction server in the information distribution system, and recording medium on which program thereof is recorded
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP2008210295A (ja) コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
JP2008242990A (ja) 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム
JP4983183B2 (ja) ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP2008084030A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP5347876B2 (ja) 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム
JP2010067073A (ja) 保存指示装置、ノード装置、及び保存指示処理プログラム、ノード処理プログラム及び保存指示方法
JP5195794B2 (ja) 情報通信システム、情報処理装置、及び情報通信方法
JP2008181408A (ja) 通信システム、稼動制御方法、ノード装置及びノード処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110318

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110530

R150 Certificate of patent or registration of utility model

Ref document number: 4765876

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees