JP4640307B2 - コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム - Google Patents

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

Info

Publication number
JP4640307B2
JP4640307B2 JP2006270135A JP2006270135A JP4640307B2 JP 4640307 B2 JP4640307 B2 JP 4640307B2 JP 2006270135 A JP2006270135 A JP 2006270135A JP 2006270135 A JP2006270135 A JP 2006270135A JP 4640307 B2 JP4640307 B2 JP 4640307B2
Authority
JP
Japan
Prior art keywords
terminal device
content
message
information
connection
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
JP2006270135A
Other languages
English (en)
Other versions
JP2008092235A (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 JP2006270135A priority Critical patent/JP4640307B2/ja
Priority to PCT/JP2007/065724 priority patent/WO2008041421A1/ja
Publication of JP2008092235A publication Critical patent/JP2008092235A/ja
Priority to US12/382,414 priority patent/US7894471B2/en
Application granted granted Critical
Publication of JP4640307B2 publication Critical patent/JP4640307B2/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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2221Secondary servers, e.g. proxy server, cable television Head-end being a cable television head-end

Landscapes

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

Description

本発明は、コンテンツ配信技術に関する。詳細には、コンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接続され、コンテンツ配信装置から送信されるコンテンツデータが階層構造の上流の端末装置から下流の端末装置にかけて順次端末装置の中継機能によってストリーミング配信されるコンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラムに関する。
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ(以下、「コンテンツデータ」と呼ぶ。)のストリーミング配信を行うコンテンツ配信サービスが開始されてきている。ここで、ストリーミング配信とは、クライアント端末装置(以下、単に「端末装置」と呼ぶ。)がストリーミング受信できるストリーミング形式でコンテンツデータを配信する配信方法であり、端末装置はストリーミング配信されるコンテンツデータを受信しながら再生することができる。また、ストリーミング配信形態としては、コンテンツデータの配信時間が決められた放送形式のものと、端末装置からの要求に応じて個々の端末装置にストリーミング配信するオンデマンド形式のものがある。
放送形式のコンテンツ配信サービスは、従来、一つのコンテンツ配信装置から複数の端末装置に対して直接コンテンツの配信を行うものが主流であったが、近年、端末装置間でのコンテンツデータの中継、すなわちP2P通信形態を用いることによりコンテンツ配信装置を増加することなく負荷やトラフィックの集中を低減することができるコンテンツ配信システムが提案されている(例えば、特許文献1参照)。
このコンテンツ配信システムは、コンテンツ配信装置を頂点としたツリー状階層構造で多層に複数の端末装置を論理接続し、コンテンツ配信装置からコンテンツデータを下流の端末装置へ順次配信していくものである。
すなわち、コンテンツ配信装置から配信されたコンテンツデータは、最上位層(第1階層)に位置する端末装置へ配信され、この最上位層に位置する端末装置はコンテンツ配信装置から配信されたコンテンツデータを第2階層に位置する端末装置へ中継し、このコンテンツデータの中継を最下流に位置する端末装置へ配信するまで行うものである。
特開2006−41784号公報
ところで、端末装置は、ツリー状階層構造に新規に参加するときや、接続していた上流の端末装置(接続先装置)の階層構造からの脱退に伴い新たな接続先装置に接続するときに、階層構造を構成する端末装置のうちどの端末装置に接続すればよいかわからない。
そこで、従来のツリー状階層構造を有するコンテンツ配信システムにおいては、階層構造の接続状態をトポロジー情報として管理し、階層構造の状態が変わるたびにトポロジー情報を更新する接続先管理サーバが設けられており、この接続先管理サーバは、端末装置からの要求に応じて接続先候補を通知するようにしている。
しかしながら、従来のツリー状階層構造を有するコンテンツ配信システムにおいては、別途専用の接続先管理サーバを設けなければならない。しかも、端末装置において予め接続先管理サーバの所在情報を知っておく必要があった。
本発明は、以上の不都合に鑑みてなされたものであり、専用の接続先管理サーバを別途設ける必要がないコンテンツ配信システム及び方法等を提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、コンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接続され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信されるコンテンツ配信システムにおいて、前記コンテンツデータがストリーミング配信されるチャンネル毎にチャンネル識別情報が割り当てられ、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられており、前記端末装置は、当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、前記階層構造へ参加するとき、前記チャンネル識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段の情報に基づいて、前記階層構造への接続先候補に接続するための接続先紹介要求メッセージを送信して接続先装置と接続する接続処理手段と、前記ネットワークを介してメッセージを受信したとき、前記受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記コンテンツ配信装置又は前記端末装置の接続状態の情報を含む接続状態情報メッセージであるとき、前記接続状態情報を記憶する接続状態情報記憶手段と、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記接続先紹介要求メッセージであると判定されると、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段とを備えることとした。
また、請求項2に記載の発明は、請求項1に記載の発明において、前記コンテンツ配信装置は、当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、自コンテンツ配信装置がコンテンツデータをストリーミング配信するチャンネルを示す前記チャンネル識別情報を宛先識別情報とし、自コンテンツ配信装置の所在情報及び/又は装置識別情報を含むチャンネル登録メッセージを前記ルーティングテーブル記憶手段に基づいて送信するチャンネル登録メッセージ送信処理手段とを有することを特徴とする。
また、請求項3に記載の発明は、請求項2に記載の発明において、前記コンテンツ配信装置の前記チャンネル登録メッセージ送信処理手段は、前記チャンネル登録メッセージを定期的に送信することを特徴とする。
また、請求項4に記載の発明は、コンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接続され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される配信形態であり、前記コンテンツデータがストリーミング配信されるチャンネル毎にチャンネル識別情報が割り当てられ、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられるコンテンツ配信システムにおける前記端末装置であって、当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、前記階層構造へ参加するとき、前記チャンネル識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段の情報に基づいて、前記階層構造への接続先候補に接続するための接続先紹介要求メッセージを送信して接続先装置に接続する接続処理手段と、前記ネットワークを介してメッセージを受信したとき、前記受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記コンテンツ配信装置又は前記端末装置の接続状態の情報を含む接続状態情報メッセージであるとき、前記接続状態情報を記憶する接続状態情報記憶手段と、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記接続先紹介要求メッセージであるとき、前記接続態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段とを備えることとした。
また、請求項5に記載の発明は、請求項4に記載の発明において、前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求メッセージを送信した前記端末装置へ前記ネットワークを介して送信する接続先候補送信処理手段を備え、前記接続処理手段は、受信した接続先候補に接続する。
また、請求項6に記載の発明は、請求項4に記載の発明において、前記接続先候補選択手段によって選択された前記接続先候補に対して、前記接続先紹介要求メッセージを送信した前記端末装置と接続させる接続依頼メッセージを送信する接続依頼メッセージ送信処理手段と、前記接続依頼メッセージを受信した後、当該接続依頼メッセージに記載された接続先端末装置に接続する接続依頼処理手段とを備えることを特徴とする。
また、請求項7に記載の発明は、請求項4〜6のいずれか1項に記載の発明において、前記接続先候補に接続したとき、前記チャンネル識別情報を宛先識別情報とし、前記接続状態情報メッセージを前記ルーティングテーブルに基づいて送信する接続情報通知手段を有することを特徴とする。
また、請求項8に記載の発明は、請求項7に記載の発明において、前記接続情報送信通知手段は、前記接続先候補に接続した後、前記チャンネル識別情報を宛先識別情報として、前記接続状態情報メッセージを定期的に前記ルーティングテーブルに基づいて送信することを特徴とする。
また、請求項9に記載の発明は、請求項4〜8のいずれか1項に記載の発明において、前記メッセージ宛先判定手段は、前記メッセージの宛先識別情報との差が最も小さい前記装置識別情報が自端末装置に割り当てられているときに、前記受信したメッセージが自端末装置宛であると判定することを特徴とする。
また、請求項10に記載の発明は、請求項4〜9のいずれか1項に記載の発明において、コンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段にコンテンツデータを記憶したとき、コンテンツ保持端末装置として機能し、当該記憶したコンテンツデータのコンテンツ識別情報と自端末装置の装置識別情報及び/又は所在情報を含むコンテンツ保持端末装置登録メッセージを生成するコンテンツ保持端末装置登録メッセージ生成手段と、前記コンテンツ保持端末装置登録メッセージを、前記記憶したコンテンツデータの識別情報を宛先識別情報として、前記ルーティングテーブルから送信先端末装置を選択して送信するコンテンツ保持端末装置登録メッセージ送信処理手段と、受信したメッセージが前記コンテンツ保持端末装置登録メッセージであるとき、前記コンテンツ保持端末装置登録メッセージに含まれる前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を記憶するコンテンツ保持端末情報記憶手段と、受信したメッセージが前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を検索するコンテンツ保持端末装置検索メッセージであるとき、前記配信元情報記憶手段に前記コンテンツ保持端末装置検索メッセージのコンテンツデータを保持する前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報の有無を判定する配信元情報判定手段と、前記配信元情報判定手段が有りと判定すると、前記配信元情報記憶手段から前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を取り出して配信元情報メッセージを生成し、前記コンテンツ保持端末装置検索メッセージを送信した端末装置へ前記配信元情報メッセージを送信する配信元情報メッセージ送信処理手段と、前記配信元情報メッセージを受信した後、当該配信元情報メッセージに記載されているコンテンツ保持端末装置に、コンテンツデータを要求するコンテンツデータ要求メッセージを送信するコンテンツデータ要求メッセージ送信処理手段とを備えることとした。
また、請求項11に記載の発明は、請求項4〜9のいずれか1項に記載の発明において、コンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段にコンテンツデータを記憶したとき、コンテンツ保持端末装置として機能し、当該記憶したコンテンツデータのコンテンツ識別情報と自端末装置の装置識別情報及び/又は所在情報を含むコンテンツ保持端末装置登録メッセージを生成するコンテンツ保持端末装置登録メッセージ生成手段と、前記コンテンツ保持端末装置登録メッセージを、前記記憶したコンテンツデータの識別情報を宛先識別情報として、前記ルーティングテーブルから送信先端末装置を選択して送信するコンテンツ保持端末装置登録メッセージ送信処理手段と、受信したメッセージが前記コンテンツ保持端末装置登録メッセージであるとき、前記コンテンツ保持端末装置登録メッセージに含まれる前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を記憶するコンテンツ保持端末情報記憶手段と、受信したメッセージが前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を検索するコンテンツ保持端末装置検索メッセージであるとき、前記配信元情報記憶手段に前記コンテンツ保持端末装置検索メッセージのコンテンツデータを保持する前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報の有無を判定する配信元情報判定手段と、前記配信元情報判定手段が有りと判定すると、前記配信元情報記憶手段に記憶した情報に基づいて、前記コンテンツ保持端末装置検索メッセージを送信した端末装置へ前記コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデータ配信要求メッセージを生成し、前記コンテンツデータ配信要求メッセージを前記コンテンツ保持端末装置へ送信するコンテンツデータ配信要求メッセージ送信処理手段と、前記コンテンツデータ配信要求メッセージを受信した後、当該コンテンツデータ配信要求メッセージに記載されているコンテンツデータを、送信先端末装置に送信するコンテンツデータ送信処理手段とを備えたことを特徴とする。
また、請求項12に記載の発明は、コンピュータを、請求項4〜11のいずれか1項に記載の端末装置の各手段として機能させるためのプログラムとした。
また、請求項13に記載の発明は、コンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接続され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信されるコンテンツ配信システムにおけるコンテンツ配信方法において、前記コンテンツデータがストリーミング配信されるチャンネル毎にチャンネル識別情報が割り当てられ、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられており、前記端末装置が、当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するステップと、前記端末装置が、前記階層構造へ参加するとき、前記チャンネル識別情報を宛先識別情報とし、前記ルーティングテーブルに基づいて、前記階層構造への接続先候補に接続するための接続先紹介要求メッセージを送信するステップと、前記端末装置が、前記ネットワークを介してメッセージを受信したとき、前記受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するステップと、前記端末装置が、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記コンテンツ配信装置又は前記端末装置の接続状態の情報を含む接続状態情報メッセージであるとき、前記接続状態情報を記憶するステップと、前記端末装置が、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記接続先紹介要求メッセージであるときに、前記記憶された前記接続状態情報から接続先候補を選択するステップとを有することとした。
請求項1,4,12,13に記載の発明によれば、チャンネル識別情報と所定の関係を有する装置識別情報が割り当てられる端末装置が、チャンネル識別情報に対応するチャンネルの階層構造の状態を管理する装置としても動作することになる。コンテンツ配信装置又は端末装置の接続状態の情報をこれらの装置から受信して記憶し、自端末装置宛のメッセージが接続先紹介要求メッセージであると判定されると、記憶している接続状態情報から接続先候補を選択するので、コンテンツ配信装置や端末装置の他に別途専用の接続先管理サーバを設けることなく、ツリー状やチェーン状の階層構造を有するコンテンツ配信システムを提供することができる。
また、請求項2に記載の発明によれば、コンテンツ配信装置は、自コンテンツ配信装置のチャンネル識別情報を宛先識別情報とし、自コンテンツ配信装置の所在情報や装置識別情報を含むチャンネル登録メッセージを送信するので、チャンネル識別情報と所定の関係を有する装置識別情報が割り当てられる端末装置に対して、コンテンツ配信装置の所在情報や装置識別情報を登録することができ、コンテンツ配信装置は、コンテンツデータをストリーミング配信されるチャンネルの階層構造におけるコンテンツ配信装置及び端末装置の接続状態を管理する端末装置の所在情報や装置識別情報を予め設定しておく必要がない。
また、請求項3に記載の発明によれば、チャンネル登録メッセージを定期的に送信するので、コンテンツ配信装置において所在情報や装置識別情報の変更が生じた場合であっても、チャンネルの接続状態を管理する端末装置において、その変更処理を容易に行うことができる。
また、請求項5に記載の発明によれば、チャンネルの接続状態を管理する端末装置において、当該チャンネルの接続先候補を、接続先紹介要求メッセージを送信した端末装置へネットワークを介して直接送信するので、接続先紹介要求メッセージを送信した端末装置はこの接続先候補に対して接続を要求することにより、所望のチャンネルに接続することができる。
また、請求項6に記載の発明によれば、チャンネルの接続状態を管理する端末装置において、接続先紹介要求メッセージに応じて選択した接続先候補が接続先紹介要求メッセージを送信した端末装置に接続するようにしているため、接続先紹介要求メッセージを送信した端末装置は、接続先紹介要求メッセージを送信することにより所望のチャンネルに接続することが可能となる。
また、請求項7に記載の発明によれば、端末装置において、接続先候補に接続したとき、チャンネル識別情報を宛先識別情報とし、接続状態情報メッセージを送信するので、チャンネルの接続状態を管理する端末装置において、接続状態の変更管理が容易になる。
また、請求項8に記載の発明によれば、端末装置において、接続先候補に接続した後、チャンネル識別情報を宛先識別情報として、接続状態情報メッセージを定期的に前記ルーティングテーブルに基づいて送信するので、階層構造を構成する端末装置において所在情報や装置識別情報の変更が生じた場合であっても、チャンネルの接続状態を管理する端末装置において、その変更処理を容易に行うことができる。
また、請求項9に記載の発明によれば、端末装置において、メッセージの宛先識別情報との差が最も小さい装置識別情報が自端末装置に割り当てられているときに、受信したメッセージが自端末装置宛であると判定するので、受信したメッセージが自端末装置宛であるか否かをルーティングテーブルを用いることによって容易に行うことができる。
また、請求項10に記載の発明によれば、コンテンツデータを保持する端末装置の所在情報等を記憶し、他の端末装置からの要求に応じたコンテンツデータを保持する端末装置に対して、コンテンツデータを送信させるようにしているので、コンテンツ配信装置からのストリーミング配信するコンテンツデータ以外に他の端末装置が保持するコンテンツデータをも取得することができるコンテンツ配信システムを提供することができる。
また、請求項11に記載の発明によれば、コンテンツデータを保持する端末装置の所在情報等を記憶し、他の端末装置からの要求に応じたコンテンツデータを保持する端末装置の所在情報等を通知するようにしているので、コンテンツ配信装置からのストリーミング配信するコンテンツデータ以外に他の端末装置が保持するコンテンツデータをも取得することができるコンテンツ配信システムを提供することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとしたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
図1は、本実施形態に係るコンテンツ配信システムSの概要構成例を示す図である。図1に示す物理接続形態のように、コンテンツ配信システムSを構成するコンテンツ配信装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8,2e、コンテンツ投入装置3、コンタクト先紹介装置4は、インターネットに代表されるネットワーク6上に分散配置されている。なお、コンテンツ配信システムSに直接関係ない装置もネットワーク6に接続されるが、ここでは省略している。また、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8,2eのいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置2という場合がある。
コンテンツ配信装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8,2e、コンテンツ投入装置3、コンタクト先紹介装置4には、各装置を識別する情報としての固有の製造番号(たとえば、MACアドレス)及びIP(Internet Protocol)アドレス(所在情報)が割り当てられており、これら装置は、ネットワークの一例としてのネットワーク6にルータ10等を介して接続されている。ここでは、目的の接続先装置のIPアドレスを宛先IPアドレス、自装置のIPアドレスを送信元IPアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
本実施形態におけるコンテンツ配信システムにおいては、分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用することによりネットワーク上に分散配置されたコンテンツ配信装置と端末装置2との間及び端末装置2間でデータを送受信し、階層構造でのコンテンツデータの配信形態とダウンロード要求でのコンテンツデータの配信形態のいずれをも実施可能とする。
ここでは、階層構造でのコンテンツデータの配信形態として、各放送チャンネル(以下、単に「チャンネル」と呼ぶ。)ごとに、コンテンツデータをストリーミング配信するコンテンツ配信装置1を頂点として複数の端末装置2がネットワーク上に階層構造で多層に論理接続されるように所定の端末装置2によって管理され、コンテンツ配信装置1から送信されるコンテンツデータがチャンネル毎に階層構造の上流の端末装置2から下流の端末装置2にかけて順次端末装置2の中継機能によってストリーミング配信される配信形態を例に挙げ説明する。なお、コンテンツ配信装置1は、一つのチャンネルのコンテンツデータを配信する機能を有することとして以下説明するが、コンテンツ配信装置1で複数のチャンネルのコンテンツデータを配信するようにしてもよい。
また、ダウンロード要求でのコンテンツデータの配信形態として、複数の端末装置2間において、一つの端末装置2からのコンテンツデータのダウンロード要求に基づいてコンテンツデータを保持する他の端末装置2がコンテンツデータを配信する配信形態を例に挙げて説明する。
[1.1 DHTの概要]
まず、本実施形態に係るDHTを利用したアルゴリズムについて説明する。
コンテンツ配信システムSにおいて、当該端末装置2同士或いはコンテンツ配信装置1と端末装置2との間で、互いに情報をやり取りする際には、お互いの所在情報としてのIPアドレスを知っていなければならない。
コンテンツ配信装置1や各端末装置2が互いにコンテンツ配信システムSに参加している全ての装置の所在情報を知っておくのが単純な手法であるが、装置数が何万何十万と多数になると、コンテンツ配信システムSに参加している全ての装置の所在情報を覚えておくのは現実的ではない。また、任意の端末装置2の電源が頻繁にON或いはOFFとすると、各端末装置2において記憶している当該任意の端末装置2の所在情報の更新が頻繁になり、運用上困難となる。
そこで、各装置において、コンテンツ配信システムSに参加している全ての装置のうち、必要最低限の一部の装置の所在情報だけを記憶しておき、所在情報を記憶していない装置については、各装置間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図2に示すような、オーバーレイネットワークが構築されることになる。つまり、このオーバーレイネットワークは、既存のネットワーク6を用いて形成された仮想的なリンク(論理接続)を構成するネットワークであり、P2Pグリッド型配信形態である。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワークを前提としており、このオーバーレイネットワーク上に配置されたコンテンツ配信装置1及び端末装置2を、コンテンツ配信システムSに参加しているコンテンツ配信装置1及び端末装置2という。なお、コンテンツ配信システムSへの参加は、未だ参加していない装置が、すでに参加している装置に対して参加要求を送ることによって行われる。
(端末IDについて)
コンテンツ配信システムSに参加しているコンテンツ配信装置1及び端末装置2の識別番号である端末IDとして、それぞれの装置毎にユニークな番号(固有番号)を付与する。この番号は、コンテンツ配信システムSに参加する装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128≒340×1036台の装置を運用できる。
より具体的には、各装置の端末IDは、それぞれの装置のIPアドレス或いは製造番号等の装置毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められた端末IDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値を端末IDとする。
(チャンネルIDについて)
階層構造でのコンテンツデータの配信形態は、上述のように各チャンネル毎に形成される。これらのチャンネルにも、それぞれのチャンネル毎の固有の識別情報であるチャンネル識別情報(以下、「チャンネルID」と呼ぶ。)を付与する。
ここで、当該チャンネルIDは、端末IDと同様の長さ(例えば、128bit等)とし、例えば、チャンネルの名称(チャンネルのタイトル名)やチャンネルの概要情報(ジャンル)等のキーワードが、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化されることによって生成される(つまり、端末装置2のIPアドレスのハッシュ値と同一のID空間に配置される)。ここでは、そのハッシュ値と最も近い(例えば、上位桁がより多く一致し、端末IDがチャンネルIDを越えない)端末IDを有する端末装置2が、チャンネルの階層構造を管理する端末装置2(以下、「接続管理端末装置」と呼ぶ。)となる。
なお、ここで「チャンネルの階層構造の管理」というのは、コンテンツ配信装置1が配信するコンテンツデータをストリーミング受信するためにツリー状階層構造に論理接続されたコンテンツ配信装置1及び端末装置の接続状態情報を管理することを意味する。また、「接続状態情報」には、ツリー状階層構造を構成するコンテンツ配信装置1及び端末装置2のIPアドレス、各装置がどの装置と接続されているかを示す接続情報などが含まれる。この接続状態情報の例を図7に示す。この図7については後述で詳説する。
そして、接続管理端末装置は、コンテンツ配信システムSにおいて、コンテンツ配信装置1を頂点として複数の端末装置2がツリー状階層構造で多層に論理接続されるように管理する。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限られず、複数の端末装置2がチェーン状の階層構造で多層に論理接続されるようにしてもよい。
(コンテンツIDについて)
また、ダウンロード要求での配信形態で配信されるコンテンツデータは、コンテンツ投入装置3によって端末装置2に投入されるが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別情報(以下、「コンテンツID」と呼ぶ。)を付与する。
そして、当該コンテンツIDは、端末IDと同様の長さ(例えば、128bit等)とし、例えば、コンテンツの名称(コンテンツのタイトル名)やコンテンツの概要情報(あらすじ)等のキーワードが、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(つまり、端末装置2のIPアドレスのハッシュ値と同一のID空間に配置される)。ここでは、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)端末IDを有する端末装置2が、ダウンロード要求での配信形態で配信されるコンテンツデータを保持する端末装置2(以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク情報、すなわちコンテンツ保持端末装置の所在情報であるIPアドレスを保持する。
なお、コンテンツ保持端末装置は、コンテンツ投入装置3によってランダムに決定される。すなわち、コンテンツ投入装置3は、コンテンツデータを保持すべき1以上の端末装置2をランダムに決定し、このように決定した端末装置2にコンテンツデータを送信する。コンテンツ投入装置3からコンテンツデータを受信した端末装置2は、コンテンツデータを記憶部に保持することによってコンテンツ保持端末装置として機能する。これにより、コンテンツデータが偏りなくコンテンツ配信システムS上に分散して配置される。
このように、コンテンツ配信装置1、端末装置2及び各コンテンツデータに付与された端末ID、チャンネルID及びコンテンツIDは、共通のハッシュ関数によって生成するため、図2に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ID及びコンテンツIDを付与し、図示したものである。図中丸点は端末IDを、四角形はチャンネルIDを、菱形はコンテンツIDを示し、反時計回りでIDが増加するものとする。
[1.2 ルーティングテーブルの作成]
ここで、図3を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図3は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
まず、図3(a)に示す如く、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8bitの4進数で表すことにする。そして、端末装置2Nの端末IDを「1133」とし、この端末装置2Nのルーティングテーブルを作る一例について説明する。ここでは、端末装置2のルーティングテーブルを作成する例を示しているが、コンテンツ配信装置1のルーティングテーブルに関しても同様である。
(レベル1のルーティング)
まず、ID空間を4分割とした場合、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の自然数、以下同様。)で分けられる。端末装置2Nは、当該端末装置2N自身の端末IDが「1133」であるため、図3(a)中左下「1XXX」のエリアに存在することになる。そして、端末装置2Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在する端末装置2を適当に選択し、当該端末IDの所在情報、すなわち、当該端末IDのIPアドレスをレベル1のテーブルに記憶する。図4がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末IDとして「0100」、「2XXX」のエリアの端末IDとして「2213」、「3XXX」のエリアの端末IDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目は端末装置2N自身を示しているため、所在情報を記憶する必要はない。
(レベル2のルーティング)
次に、図3(b)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「1XXX」を更に4分割し、更に4つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11xx」以外のエリアに存在する端末装置2を適当に選択し、当該端末IDの所在情報であるIPアドレスをレベル2のテーブルに記憶する。図4がレベル2のテーブルの一例である。このテーブルでは、「10XX」のエリアの端末IDとして「1003」、「12XX」のエリアの端末IDとして「1221」が、「13XX」のエリアの端末IDとして「1313」がそれぞれ選択されている状態を示している。なお、レベル2の2列目は端末装置2Nが存在するエリア「11XX」であり、後述するレベル3にてテーブル化されるため所在情報を記憶していない。また、上記エリアに端末装置2が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
(レベル3のルーティング)
更に、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「11XX」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置2を適当に選択し、当該端末IDの所在情報であるIPアドレスをレベル3のテーブルに記憶する。図4がレベル3のテーブルの一例である。レベル3の4列目は端末装置2Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアに端末装置が存在しない場合には、端末ID及びIPアドレスの欄は空白となる。
このようにして、レベル4まで同様にルーティングテーブルを図4に示す如く作成することにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法に従って作成したルーティングテーブルを、全てのコンテンツ配信装置1及び端末装置2が夫々作成して所有することになる。このように、各コンテンツ配信装置1及び各端末装置2は、コンテンツ配信システムSにおける全てのコンテンツ配信装置1及び端末装置2のうち一部の端末装置2やコンテンツ配信装置1の端末ID(識別情報)とIPアドレス(所在情報)とを関連付けたルーティングテーブルを有しており、このルーティングテーブルは後述のルーティングテーブル記憶手段に記憶される。
ところで、コンテンツ配信装置1や端末装置2は、コンテンツ配信システムSに未参加のときには、コンテンツ配信システムSに参加している他の装置の所在情報などを知らない。そのため、コンテンツ配信装置1や端末装置2は、コンテンツ配信システムSに参加するときには、以下に説明するように、ルーティングテーブルを生成する。
図5は、コンテンツ配信システムSに未参加の端末装置2H(以下、「新規参加端末装置2H」と呼ぶ。)が当該コンテンツ配信システムSへ参加する様子の一例を示す図である。なお、コンテンツ配信装置1に関しても同様であるため、ここでは端末装置に関してのみ説明する。
まず、コンテンツ配信システムSに未参加である新規参加端末装置2Hは、コンテンツ配信システムSに参加するために、コンタクト先紹介装置4に対して、参加メッセージを送信すべき端末装置2(以下、「コンタクト先端末装置」と呼ぶ。)の所在情報を要求する。
新規参加端末装置2Hは、コンタクト先紹介装置4から参加メッセージを送信すべきコンタクト先端末装置の所在情報が送られてくると、コンタクト先端末装置に対して参加メッセージを送信する。ここで、参加メッセージの宛先識別情報は、新規参加端末装置2Hの端末IDとなっている。すなわち、新規参加端末装置2Hは、コンテンツ配信システムSに参加する際に、自装置2のIPアドレスのハッシュ値「2213」を宛先識別情報とした参加メッセージを生成する。
コンタクト先端末装置は、新規参加端末装置2Hから送信された参加メッセージを受信すると、コンタクト先端末装置は、この参加メッセージがコンタクト先端末装置宛のメッセージであるか否かを判定する。コンタクト先端末装置宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報がコンタクト先端末装置宛の識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、コンタクト先端末装置自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。そして、コンタクト先端末装置の識別情報よりも他の端末装置の識別情報の方が宛先識別情報に近いとき、参加メッセージを受信したコンタクト先端末装置は、コンタクト先端末装置自身が保持しているルーティングテーブルのレベル2を参照して、「2XXX」のエリアに属す端末装置2のうち、所在情報を知っている端末装置2Bに対して参加メッセージを転送するとともに、自端末装置のルーティングテーブル記憶手段に記憶されたルーティングテーブルのレベル1のテーブルの情報を、新規参加端末装置2Hへ送信する。
このように、コンテンツIDの桁を上から順に適合していく要領で参加メッセージの転送を行い、順次ルーティングテーブルの各レベルの情報を送信する。最終的に宛先識別情報に最も近い端末装置2に辿り着いたところで参加メッセージの転送は終了する。なお、参加メッセージなどのメッセージを目的の端末装置へ辿り着くまでに、上述のように転送する仕組みをDHTルーティングと呼ぶ。
こうして、新規参加端末装置2Hは、参加メッセージを受信した端末装置2からルーティングテーブルの各レベルの情報を上位レベルの情報から順に取得するようにしている。新規参加端末2はこのようにして、コンテンツ配信システムSに参加するために必要なルーティングテーブルを生成する。
[1.3 階層構造でのコンテンツデータの配信形態について]
次に、コンテンツ配信システムSにおける階層構造でのコンテンツデータの配信形態について説明する。この階層構造は、コンテンツ配信装置1が接続管理端末装置にチャンネルの登録を行い、そのチャンネルに参加しようとする端末装置が接続管理端末装置に接続先候補を要求し、この接続先候補に接続することによって形成されるものである。以下、コンテンツ配信装置1の登録処理、端末装置2の階層構造への参加処理について、順に説明する。
(コンテンツ配信装置1の登録処理について)
まず、コンテンツ配信装置1がコンテンツデータをストリーミング配信するチャンネルをDHTルーティングにより接続管理端末装置に登録を行う手順について説明する。
コンテンツ配信装置1は、IPアドレスを所定のハッシュ関数によりハッシュ化して端末IDを生成する。また、コンテンツデータをストリーミング配信するチャンネルの名称等のキーワードを、端末IDを生成するハッシュ関数と同一のハッシュ関数によってハッシュ化することにより、チャンネルIDを生成する。ここでは、コンテンツ配信装置1の端末IDは「0211」、チャンネルIDは「2202」であるとする。
コンテンツ配信装置1は、自己が保持しているルーティングテーブルのレベル1のテーブルを参照して、チャンネルID「2202」と同じエリアの端末IDを持つ端末装置の端末IDを送信先の装置とし、チャンネルID「2202」を宛先識別情報として、自コンテンツ配信装置1の所在情報を示すチャンネル登録メッセージを送信する。すなわち、コンテンツID「2202」は「2XXX」のエリアであるため、当該「2XXX」のエリアに属す端末装置2のうち、所在情報を知っている(すなわち、自己が保持しているルーティングテーブルに所在情報が記憶されている)端末装置2A(端末ID「2311」)に対してチャンネル登録メッセージを送信する。チャンネル登録メッセージに含まれる(記載された)情報として、登録を要求するチャンネルに対応するチャンネルID、コンテンツ配信装置1の所在情報及びコンテンツ配信装置1が下流に接続できる端末装置2の数(以下、「許容下流数」とする。)などがある。
次に、チャンネル登録メッセージを受信した端末装置2Aは、このチャンネル登録メッセージが自端末装置2A宛のメッセージであるか否かを判定する。自端末装置2A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置2Aの識別情報と近いか否かが判定される。即ち、宛先識別情報に対して、端末装置2A自身が保持しているルーティングテーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情報が、自身であるか他の端末装置であるかを判定する。ここでは、自端末装置2Aの識別情報よりも他の端末装置の識別情報の方が、宛先識別情報に近いため、端末装置2Aは、当該端末装置2A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「22XX」のエリアに属す端末装置2のうち、所在情報を知っている端末装置2B(端末ID「2213」)に対してチャンネル登録メッセージを転送する。
このように、チャンネルIDの桁を上から順に適合していく要領でチャンネル登録メッセージの転送が進み、最終的に当該チャンネルIDに対応するチャンネルの階層構造を管理する端末装置2C(端末ID「2201」)、すなわちチャンネルID「2202」の接続管理端末装置に辿り着くと、当該接続管理端末装置は、チャンネル登録メッセージに含まれるチャンネルID「2202」に対応するツリー状階層構造の接続状態情報のテーブル(以下、「接続状態情報テーブル」とする。)を新規に生成し、後述の接続状態情報記憶手段に記憶するようにしている。例えば、チャンネル登録メッセージに含まれるチャンネルIDが「2202」であるとき、図7に示すチャンネルID「2202」の接続状態情報テーブルが新規に接続状態情報記憶手段に生成され、コンテンツ配信装置1の所在情報であるIPアドレスが「92.111.223.76」であり、許容下流数が「2」であるとき、これらがチャンネルID「2202」の接続状態情報としてチャンネルID「2202」の接続状態情報テーブルに記憶される。
(端末装置2の階層構造への参加処理について)
次に、図8を参照して、端末装置がチャンネルの階層構造へ参加する方法の一例について説明する。図8は、DHTルーティングにより端末装置2が、あるチャンネルの階層構造を管理する接続管理端末装置を検索し、チャンネルの階層構造へ参加する様子の一例を示す図である。ここでは、端末ID「1133」の端末装置2Mが、チャンネルID「2202」の階層構造に参加する際の手順について説明する。なお、以下このように接続管理装置を探し、あるチャンネルの階層構造における接続先候補の情報(以下、接続先候補の情報を含めて、「接続先候補」と略すことがある。)を要求する端末装置を「接続要求端末装置」と呼ぶ。
接続要求端末装置2Mは、図8に示すように、自端末装置1が保持するルーティングテーブルに基づいて、チャンネルID「2202」と同じエリアの端末IDを持つ端末装置の端末IDを宛先とし、チャンネルID「2202」を宛先識別情報として、チャンネルID「2202」の階層構造への接続先候補に接続するための接続先紹介要求メッセージを送信する。この接続先紹介要求メッセージは、チャンネルID「2202」の階層構造を構成する装置のうち、接続可能な端末装置である接続先候補の紹介要求である。そして、この接続先紹介要求メッセージも、上記チャンネル登録メッセージと同様にルーティングテーブルに従って、次々と転送されていき、最終的に当該チャンネルIDに対応するチャンネルの階層構造を管理する端末装置2C(端末ID「2001」)、すなわちチャンネルID「2202」の接続管理端末装置2Cに辿り着くと、当該接続管理端末装置は、接続先紹介要求メッセージに含まれるチャンネルID「2202」に対応する接続状態情報テーブルから接続先候補となる装置(コンテンツ配信装置1又は端末装置2)の所在情報等を接続要求端末装置2Mに返信するようになっている。具体的には、接続管理端末装置2Cは、接続先候補として、下流に接続することが可能な端末装置の数(以下、「下流未接続数」とする。)が1以上のものからいくつかの装置の所在情報を取り出して、接続要求端末装置2Mへ通知する。例えば、チャンネルID「2201」に対応する接続状態情報が図7に示すような状態である場合、接続管理端末装置は、接続状態情報テーブルの登録番号NO.2に記憶された端末装置2Dの所在情報であるIPアドレス「31.120.10.23」を取り出して、接続要求端末装置2Mに返信する。
接続要求端末装置2Mは、接続管理端末装置2Cから接続先候補(端末装置2D)の所在情報を受信すると、その所在情報を宛先として接続先候補の装置(以下、「接続先装置」とする。)に対し、接続要求メッセージを送信して接続を要求し、これにより接続要求端末装置2Mが参加を欲するチャンネルの階層構造へ組み込まれる。そして、接続要求端末装置2Mでは、コンテンツ配信装置1から配信されるコンテンツデータを直接又は他の端末装置2を介して受信可能となる。
また、チャンネルID「2201」に対応するチャンネルの階層構造に参加した接続要求端末装置2Mは、接続状態情報メッセージを送信する。接続管理端末装置2Cは、接続状態情報メッセージを受信すると、この接続状態情報メッセージに基づいて、チャンネルID「2201」に対応する接続状態情報を更新する。ここで、接続要求端末装置2Mから送信される接続状態情報メッセージには、接続要求端末装置2Mの所在情報であるIPアドレス、接続要求端末装置2Mが接続した接続先候補の所在情報であるIPアドレス、接続要求端末装置2Mの下流に接続することができる装置の数などが含まれており、接続管理端末装置2Cは、新規な登録番号を接続状態情報テーブルに追加し、その登録番号に対応させて、接続要求端末装置2MのIPアドレスと許容下流数とを登録する。また、接続要求端末装置2Mが接続した接続先候補のIPアドレスに対応する登録番号を接続状態情報テーブルから抽出し、この登録番号を下流装置の番号として、接続要求端末装置2Mの登録番号に対応付けて接続状態情報テーブルに記憶する。
このようにコンテンツ配信システムSは、このように端末装置2が次々と各チャンネルに参加することによって、コンテンツ配信装置1を頂点として複数の端末装置2がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置1から配信されるコンテンツデータは、端末装置2の中継機能により順次下流の端末装置2へ中継されて複数の端末装置2にストリーミング配信される。
すなわち、コンテンツ配信装置1には、ネットワーク6を介してコンテンツデータをストリーミング配信する配信手段が設けられており、図1に示すように、コンテンツ配信装置1から端末装置2a1,2a2(第1層の端末装置)へコンテンツデータが送信され、端末装置2a1,2a2はコンテンツデータを受信すると、下流の端末装置2b1〜2b4(第2階層の端末装置)へ受信したコンテンツデータを順次中継する。端末装置2b1〜2b4はコンテンツデータを受信すると、下流の端末装置2c1〜2c8(第3階層の端末装置)へ受信したコンテンツデータを順次中継する。なお、図1においては、理解を容易にするため、複数のチャンネルのうち一つのチャンネルの階層構造のみを表している。
端末装置2は、組み込まれた階層構造の位置の上流の端末装置2又はコンテンツ配信装置1の所在情報と、組み込まれた階層構造の位置の下流の端末装置2の所在情報とを後述のハードディスク装置203に記憶しており、このように記憶した所在情報に基づいて、コンテンツデータの中継を行うようにしている。また、配信されるコンテンツデータは、複数のパケットに分割されて順次配信されるものであり、このようにパケットに分割されて配信されるデータをコンテンツパケットという。
端末装置2へ配信されるコンテンツデータは、チャンネル毎にその階層構造を構成する端末装置2へ配信される。配信されるコンテンツデータには、音楽や映画などコンテンツのデータのほか、再生時刻情報が含まれている。そして、コンテンツデータを受信した複数の端末装置2は、順次送信されるコンテンツデータの再生を再生時刻情報に基づいて行う。
[1.4 ダウンロード要求でのコンテンツデータの配信形態について]
次に、コンテンツ配信システムSにおけるダウンロード要求でのコンテンツデータの配信形態について説明する。ダウンロード要求での配信形態で配信されるコンテンツデータは、上述したようにコンテンツ投入装置3によって端末装置2に投入されるものであり、コンテンツデータが投入された端末装置2がコンテンツ保持端末装置となり、新しいコンテンツデータをコンテンツ配信システムS上の他の端末装置2に見えるように公開する。このように公開されたコンテンツデータは、コンテンツ配信システムS上の端末装置2からDHTルーティングよって検索され、ダウンロードされる。以下、具体的に説明する。
(インデックステーブルへの登録方法)
まず、コンテンツ配信システムSの中で、ダウンロード可能な新しいコンテンツデータをコンテンツ配信システムS上の他の端末装置2に見えるように公開する際の手法について述べる。
コンテンツ投入装置3からコンテンツデータを配布されたコンテンツ保持端末装置は、図9に示すように、当該コンテンツ保持端末装置の所在情報及び識別情報を含むコンテンツ保持端末装置情報の登録要求メッセージ(以下、「コンテンツ保持端末装置登録メッセージ」と呼ぶ。)を、コンテンツの名称等から求めたコンテンツIDと同じ端末IDを持つ端末装置に向けて(この端末装置が実在するか否かはこの時点ではわからない。)送信する。そして、このコンテンツ保持端末装置登録メッセージも、上記チャンネル登録メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該コンテンツ保持端末装置登録メッセージに含まれるコンテンツIDに最も近い端末IDを有する端末装置2まで転送されたところで、その端末装置2がもはや送信先の端末装置が他にないと判断すると、当該端末装置2自身がそのコンテンツのルート端末装置となるべきだと判断し、図9に示すように、当該コンテンツ保持端末装置登録メッセージに含まれるコンテンツ保持端末装置情報である当該コンテンツID、コンテンツ保持端末装置の所在情報などをインデックス情報として後述のインデックステーブル222に記憶する。ここで、「コンテンツのルート端末装置」とは、自端末装置の端末IDに最も近いコンテンツIDのコンテンツデータを保持するコンテンツ保持端末装置登録の所在情報を管理する端末装置である。
このようにルート端末装置のインデックステーブル222にコンテンツ保持端末装置の所在情報であるIPアドレスが登録されると、端末装置2からコンテンツデータを探し、コンテンツデータの受信を要求することが可能となる。このように、コンテンツデータを探し、コンテンツデータの受信を要求する端末装置を「リクエスト端末装置」と呼ぶ。このようにして本実施形態では、コンテンツ投入装置3から配布されたコンテンツをコンテンツ保持端末装置に登録し、ルート端末装置を介して検索できるようにすることで、他の端末装置にコンテンツを公開する。なお、ルート端末装置でない端末装置もコンテンツ保持端末装置登録メッセージを受信すると、コンテンツ保持端末装置登録メッセージに含まれる情報をインデックステーブル222に記憶する。
インデックステーブル222は、図10に示すように、コンテンツ保持端末装置の所在情報であるIPアドレスなどを含むコンテンツ保持端末装置情報を記憶するためのテーブルである。このインデックステーブル222には、コンテンツ保持端末装置の所在情報のほか、コンテンツ保持端末装置を紹介した時刻等がコンテンツ保持端末装置情報として1行(所定記憶エリア)毎に記憶される。
(コンテンツデータの検索方法について)
次に、図11を参照して、コンテンツデータを保持しているコンテンツ保持端末装置の検索方法の一例について説明する。図11は、DHTルーティングによりコンテンツ保持端末装置が検索される様子の一例を示す図である。

ここでは、端末ID「1133」の端末装置2Nがリクエスト端末装置として、コンテンツID「3020」を有するコンテンツデータを探す際の手順について説明する。
リクエスト端末装置2Nは、図11に示すように、コンテンツID「3020」と同じエリアの端末IDを持つ端末装置の端末IDを宛先とし、コンテンツID「3020」を宛先識別情報として、コンテンツ保持端末装置情報(コンテンツ保持端末装置の所在情報を含む情報)の送信要求(以下、「コンテンツ保持端末装置検索メッセージ」と呼ぶ。)を送信する。そして、このコンテンツ保持端末装置検索メッセージも、上記チャンネル登録メッセージと同様にルーティングテーブルに従って、次々と転送されていき、最終的に当該コンテンツデータを管理する端末装置2F(端末ID「3011」)、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、コンテンツ保持端末装置検索メッセージに含まれるコンテンツID「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持端末装置(ここでは、端末装置2Gとする。)の所在情報等をリクエスト端末装置2Nに返信するようになっている。
リクエスト端末装置2Nは、上記ルート端末装置2Fから、コンテンツID「3020」のコンテンツデータの所在情報、即ち、コンテンツID「3020」のコンテンツデータを保持するコンテンツ保持端末装置2GのIPアドレスを受信して知ることになり、コンテンツID「3020」のコンテンツ保持端末装置2Gに、コンテンツデータを要求するコンテンツデータ要求メッセージを送信することにより、当該コンテンツ保持端末装置2Gから、そのコンテンツデータをダウンロードして取得することになる。
[2.コンテンツ配信装置1の構成等の説明]
次に、図12を参照して、コンテンツ配信装置1の構成及び動作について更に詳説する。なお、コンテンツ配信装置1は、以下の示す構成及び動作に加え、端末装置2における動作と同様の動作も行うことができるが、その構成及び動作については、後述で詳説する端末装置2の構成及び動作と同様であるため、端末装置2と同様の部分については省略する。
図12は、本実施形態におけるコンテンツ配信装置1の概略構成例を示す図である。コンテンツ配信装置1は、一般のサーバコンピュータを適用可能であり、図12に示すように、CPU(Central Processing Unit)102と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置としての主記憶装置105と、各種データ等を記憶するハードディスク装置103と、ネットワーク6を介して端末装置2、コンテンツ投入装置3との間で通信を行うネットワークインタフェース104と、所定の情報を入力可能なキーボード107やマウス108等の入力手段を制御する周辺機器制御チップ106と、CPU102からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ110に表示するビデオチップ109と、ビデオチップ109から送信される信号に応じた表示を行う内蔵ディスプレイ110と、FM音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ111と、音源チップ111から出力されるオーディオ信号を音波に変換する内蔵スピーカ112と、を備えて構成され、これらの各種構成要素はシステムバス101を介して相互に接続されている。なお、ネットワークインタフェース104は、ルータ10aを介してネットワーク6に接続される。このルータ10aは、図1に示すルータ10に相当するものである。
なお、本実施形態においては、CPU102と主記憶装置105とで制御部130を構成している。また、コンテンツ配信装置1には、上述のように内蔵ディスプレイ(液晶ディスプレイ等)110等が内蔵されており、例えば、コンテンツ配信システムSを運用する放送運営者は、この内蔵ディスプレイ110を見ながら入力手段から所定の情報を入力することができる。なお、本実施形態においては、これら内蔵ディスプレイ110や内蔵スピーカ112などがコンテンツ配信装置1に内蔵されているが、これに限らず、例えば、別に接続されるものであってもよい。
(主記憶装置105ついて)
主記憶装置105には、コンテンツ配信装置1のコンピュータとしての基本的な機能を提供するためのOS(オペレーティングシステム)プログラム117と、ハードディスク装置103の放送コンテンツ記憶領域に記憶されたコンテンツデータを取り出して端末装置2へストリーミング配信するためのストリーム制御プログラム115と、自コンテンツ配信装置1の下流に接続された各端末装置2の所在情報(IPアドレス)の管理等を行うためのトポロジー管理プログラム116と、内蔵ディスプレイ110を制御するための画面制御プログラム118と、エンコードされた音楽コンテンツデータをデコードするための音楽デコーダプログラム119と、自コンテンツ配信装置1のチャンネルを当該チャンネルの接続管理端末装置となる端末装置2に登録し、後述のルーティングテーブルに基いて、メッセージの送受信を行うためのコンテンツ配信管理プログラム121等が記憶されており、これらはCPU102によって読み出され、CPU102によってこれらのプログラムに従った機能が実行される。また、主記憶装置105には、ハードディスク装置103に記憶されている放送コンテンツデータ113から読み出したコンテンツデータを端末装置2へ送信する前に一時的に記憶するリングバッファ領域120と、DHTルーティングを行うためのルーティングテーブル122(図4参照)を記憶するルーティングテーブル記憶領域(ルーティングテーブル記憶手段の一例に対応)とが設けられている。
ここで、OSプログラム117は、CPU102によって読み出されて実行されることにより、キーボード107やマウス108の入出力に関する機能や、主記憶装置105やハードディスク装置103などのメモリ管理などのコンテンツ配信装置1であるコンピュータの基本的な機能を実行可能にするものである。
そして、このOSプログラム117がCPU102によって実行された状態で、上述のストリーム制御プログラム115、トポロジー管理プログラム116、画面制御プログラム118、音楽デコーダプログラム119、コンテンツ配信管理プログラム121が主記憶装置105から読み出されて実行される。
なお、OSプログラム117、ストリーム制御プログラム115、トポロジー管理プログラム116、画面制御プログラム118、音楽デコーダプログラム119、コンテンツ配信管理プログラム121等は、例えば、ネットワーク6に接続されたサーバ等から主記憶装置105にダウンロードされるようにしてもよく、また、CD−ROM等の記録媒体に記録されてから当該記録媒体を介して、主記憶装置105に読み込まれるようにしてもよい。
(制御部130について)
制御部130は、上述のようにCPU102と主記憶装置105とから構成され、CPU102が主記憶装置105に記憶された各種プログラム115〜119,121を読み出して実行することにより、コンテンツ配信装置1全体を統括制御し、かつ、後述するコンテンツデータ配信手段、トポロジー管理手段、表示制御手段等、再生手段、ルーティングテーブル生成手段、チャンネル登録メッセージ送信処理手段、接続依頼メッセージ受信手段、メッセージ宛先判定手段、メッセージ転送手段、表示制御手段、チャンネル情報送信手段
等として機能するようになっている。なお、CPU102がストリーム制御プログラム115を実行することによって、コンテンツデータ配信手段等として、またCPU102がトポロジー管理プログラム116を実行することによって、トポロジー管理手段として、また、CPU102が画面制御プログラム118を実行することによって、表示制御手段等として、CPU102が音楽デコーダプログラム119を実行することによって、再生手段として、CPU102がコンテンツ配信管理プログラム121を実行することによって、ルーティングテーブル生成手段、チャンネル登録メッセージ送信処理手段、接続依頼メッセージ受信手段、メッセージ宛先判定手段、メッセージ転送手段、表示制御手段、チャンネル情報送信手段等として、それぞれ機能するようになっている。更に、ハードディスク装置103は、コンテンツデータが記憶されるコンテンツデータ記憶手段として使用される。
(ルーティングテーブル生成手段について)
ルーティングテーブル生成手段は、コンタクト先紹介装置4に対して、参加メッセージを送信すべきコンタクト先端末装置の所在情報を要求し、取得する。そして、コンタクト先端末装置に対して、参加メッセージを送信し、この参加メッセージに対してコンタクト先端末装置から送信される他の端末装置の所在情報及び識別情報とに基いて、ルーティングテーブルを生成する(図5参照)。
(チャンネル登録メッセージ送信処理手段について)
チャンネル登録メッセージ送信手段は、自コンテンツ配信装置1がコンテンツデータをストリーミング配信するチャンネルを示すチャンネルIDを宛先識別情報とし、自コンテンツ配信装置1の所在情報を含むチャンネル登録メッセージをルーティングテーブル122に基づいて送信する。
その後、チャンネル登録メッセージ送信手段は、チャンネル登録メッセージを定期的に送信するようにしている。そのため、コンテンツ配信装置において所在情報の変更が生じた場合であっても、チャンネルの接続状態を管理する端末装置において、その変更処理を容易に行うことができることになる。
(接続依頼メッセージ受信手段について)
接続依頼メッセージ受信手段は、端末装置2から自コンテンツ配信装置1のチャンネルの階層構造への接続を要求する接続依頼メッセージを受信すると、当該メッセージを送信した端末装置2との論理接続を行い、以降コンテンツ配信手段によって、当該論理接続した端末装置へコンテンツデータの配信が行われる。
(コンテンツデータ配信手段について)
コンテンツデータ配信手段は、ネットワーク6を介してコンテンツデータをストリーミング配信する。すなわち、ハードディスク装置103において記憶されている放送用コンテンツデータを取り出し、ネットワーク6を介して論理接続された端末装置2(例えば、ツリー型に接続された場合には最上階層端末装置)等にストリーミング配信する。
このコンテンツデータ配信手段による端末装置2等へのストリーミング配信は、以下の手順で実行される。
コンテンツデータ配信手段は、ハードディスク装置103に予め記憶されている放送コンテンツデータ113から、放送番組情報に基づいてコンテンツデータを順次取り出してリングバッファ領域120に記憶させる。
その後、コンテンツデータ配信手段は、接続された端末装置2等に対して、リングバッファ領域120に記憶したコンテンツデータを所定容量毎に分割しながらコンテンツパケットに格納し、ネットワーク6を介して、このコンテンツパケットへ送信する。
(トポロジー管理手段について)
コンテンツ配信装置1が放送するチャンネルにはチャンネルIDが割り振られており、トポロジー管理手段は、割り振られたチャンネルIDに構成されるツリー状階層構造の第1階層に参加している端末装置2の所在情報(IPアドレス)を管理している。そして、上述の配信手段はトポロジー管理手段が管理する端末装置2のIPアドレスを宛先アドレスとし、配信用IPアドレスを送信元として端末装置2へコンテンツデータの配信を行う。
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク6を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自コンテンツ配信装置1宛であるか否かを判定する。
受信したメッセージが自コンテンツ配信装置1宛であるか否かの判定は、メッセージに含まれる宛先端末ID(宛先識別情報)を取り出し、主記憶装置105に記憶したルーティングテーブルに基づいて判定する。すなわち、各種のメッセージをネットワークインタフェース104を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブル122に記憶した端末IDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル122上の端末IDが自コンテンツ配信装置1の端末IDであると判定すると、自コンテンツ配信装置1宛のメッセージであると判定する。
(メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク6を介して受信したメッセージが自コンテンツ配信装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報をルーティングテーブル122から取り出し、転送先の端末装置へ受信したメッセージを転送する。
(表示制御手段について)
表示制御手段は、ビデオチップ109及び内蔵ディスプレイ110を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ110にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
(再生手段について)
再生手段は、放送コンテンツデータ113の中からコンテンツデータを内蔵ディスプレイ110に表示したり、内蔵スピーカ112から出力したりする機能を有している。
(チャンネル情報送信手段について)
チャンネル情報送信手段は、自コンテンツ配信装置1からストリーミング配信する所定期間(例えば、1日間や1週間)のコンテンツの内容(以下、「チャンネル情報」と呼ぶ。)をコンタクト先紹介装置4に送信するようにしている。このチャンネル情報には、自コンテンツ配信装置1からストリーミング配信するチャンネルのチャンネルIDとコンテンツデータの内容を含む。コンタクト先紹介装置4は、コンテンツ配信装置は、このチャンネル情報に基づいて電子番組ガイド(EPG)を生成し、端末装置2へ送信可能としている。
[3.端末装置2の構成等の説明]
次に、図13を参照して、端末装置2の構成及び動作について更に詳説する。図13は、本実施形態における端末装置2の概略構成例を示す図である。
端末装置2は、一般のパーソナルコンピュータ或いは専用端末を適用可能であり、図13に示すように、CPU(Central Processing Unit)202と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置205と、各種データ等を記憶するハードディスク装置203と、ネットワーク6を介してネットワーク上のコンテンツ配信装置1、他の端末装置2、コンテンツ投入装置3及びコンタクト先紹介装置4との間で有線通信による通信を行うためのネットワークインタフェース204と、ユーザによる端末装置2の遠隔操作が可能な所定の赤外線信号を送信及び受信するユーザ入力用リモコン208と、このユーザ入力用リモコン208と赤外線により通信を行うための赤外線ポート207と、赤外線ポート207を制御する周辺機器制御チップ206と、CPU202からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ210に表示するビデオチップ209と、ビデオチップ209から送信される信号に応じた表示を行う内蔵ディスプレイ210と、FM音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ211と、音源チップ211から出力されるオーディオ信号を音波に変換する内蔵スピーカ212とを備えて構成され、これらの各種構成要素はシステムバス201を介して相互に接続されている。なお、本実施形態においては、CPU202と主記憶装置205とで制御部230を構成している。また、ネットワークインタフェース204は、ルータ10bを介して、ネットワーク6に接続されている。このルータ10bは、図1に示すルータ10に相当するものである。
(主記憶装置205について)
主記憶装置205には、端末装置2のコンピュータとしての基本的な機能を提供するためのOSプログラム214と、コンテンツ配信システムSに参加し、各種メッセージを処理するDHT処理プログラム215と、階層構造でのコンテンツデータの配信形態に参加し、コンテンツ配信装置1から直接又は他の端末装置2に中継されてストリーミング配信されるコンテンツデータをストリーミング受信及び下流の端末装置2へストリーミング送信(中継)するためのストリーミング制御プログラム216と、階層構造でのコンテンツデータの配信形態において、ツリー接続された一層上流の端末装置2(或いはコンテンツ配信装置1)の所在情報(IPアドレス)とツリー接続された一層下流の端末装置2の所在情報の管理等を行うためのトポロジー管理プログラム217と、ダウンロード要求でのコンテンツデータの配信形態において、コンテンツデータをダウンロードしたり、アップロードしたりするためのコンテンツダウンロード・アップロードプログラム218(以下、「コンテンツDL/ULプログラム」とする。)と、内蔵ディスプレイ210を制御するための画面制御プログラム219と、階層構造でのコンテンツデータの配信形態において、上流の装置からストリーミング受信したコンテンツデータをデコードしてストリーミング再生したり、ダウンロード要求でのコンテンツデータの配信形態において、ダウンロードしてハードディスク装置203に記憶したコンテンツデータを再生したりするための音楽デコーダプログラム220等が記憶されており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。
また、主記憶装置205には、更に、所定の記憶容量を有し、ストリーミング受信したコンテンツデータを順次一時的に記憶するリングバッファ領域221、インデックステーブル222(図10参照)を記憶するためのインデックステーブル記憶領域(コンテンツ保持端末情報記憶手段の一例に相当)、ルーティングテーブル223(図4参照)を記憶するためのルーティングテーブル記憶領域(ルーティングテーブル記憶手段の一例に相当)、自端末装置2が接続管理装置となったときに、チャンネルの接続状態情報を記憶する接続状態情報テーブルを格納する接続状態情報記憶領域224(接続状態情報記憶手段の一例に相当)などが設けられている。
ここで、OSプログラム214は、CPU202によって読み出されて実行されることにより、ユーザ入力用リモコン208の入出力に関する機能や、主記憶装置205やハードディスク装置203などのメモリ管理などの端末装置2であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム214がCPU202によって実行された状態で、上述のDHT処理プログラム215、ストリーミング制御プログラム216、トポロジー管理プログラム217、コンテンツDL/ULプログラム218、画面制御プログラム219、音楽デコーダプログラム220等が主記憶装置205から読み出されて実行される。
なお、OSプログラム214、ストリーミング制御プログラム216、DHT処理プログラム215、ストリーミング制御プログラム216、トポロジー管理プログラム217、コンテンツDL/ULプログラム218、画面制御プログラム219、音楽デコーダプログラム220等は、例えば、ネットワーク6に接続されたサーバ等から主記憶装置205にダウンロードされるようにしてもよく、また、CD−ROM等の記録媒体に記録されてから記録媒体のドライブを介して、主記憶装置205に読み込まれるようにしてもよい。
(ハードディスク装置203について)
ハードディスク装置203には、コンテンツ投入装置3から投入されたコンテンツデータやダウンロード要求でのコンテンツデータの配信形態において取得したコンテンツデータを記憶するコンテンツデータ記憶領域228(コンテンツデータ記憶手段の一例に相当)が設けられている。
(制御部230について)
制御部230は、上述のようにCPU202と主記憶装置205とから構成され、CPU202が主記憶装置205に記憶された各種プログラム214〜220を読み出して実行することにより、端末装置2全体を統括制御し、かつ、後述する参加処理手段、メッセージ宛先判定手段、メッセージ転送手段、ストリーミング受信処理手段、ストリーミング中継手段、接続処理手段、接続先候補選択手段、接続先候補送信処理手段、接続情報通知手段、コンテンツ保持端末装置登録メッセージ生成手段、コンテンツ保持端末装置登録メッセージ送信処理手段、配信元情報判定手段、EPG取得手段、配信元情報メッセージ送信処理手段、カタログリスト取得手段、ダウンロード処理手段、アップロード処理手段、表示制御手段、デコード手段、ストリーミング再生手段、ダウンロード操作検出手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ再生手段等として機能するようになっている。
なお、また、CPU202がDHT処理プログラム215を実行することによって、参加処理手段、メッセージ宛先判定手段、メッセージ転送手段として、CPU202がストリーミング制御プログラム216を実行することによって、ストリーミング受信処理手段、ストリーミング中継手段等として、また、CPU202がトポロジー管理プログラム217を実行することによって、接続処理手段、接続先候補選択手段、接続先候補送信処理手段、接続情報通知手段、コンテンツ保持端末装置登録メッセージ生成手段、コンテンツ保持端末装置登録メッセージ送信処理手段、配信元情報判定手段、EPG取得手段、また、CPU202がコンテンツDL/ULプログラム218を実行することによって、配信元情報メッセージ送信処理手段、カタログリスト取得手段、ダウンロード処理手段、アップロード処理手段、ダウンロード操作検出手段、コンテンツ保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段等として、また、CPU202が画面制御プログラム219を実行することによって表示制御手段等として、更にCPU202が音楽デコーダプログラム220を実行することによってデコード手段、 ストリーミング再生手段、コンテンツ再生手段等として、それぞれ機能するようになっている。
(参加処理手段について)
参加処理手段は、コンタクト先紹介装置4に対して、参加メッセージを送信すべきコンタクト先端末装置の所在情報を要求し、取得する。そして、コンタクト先端末装置に対して、参加メッセージを送信し、この参加メッセージに対してコンタクト先端末装置から送信される他の端末装置の所在情報及び識別情報とに基いて、ルーティングテーブル223を生成する(図5参照)。
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク6を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置2宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、上述の接続状態情報メッセージ、接続先紹介要求メッセージ、チャンネル登録メッセージ、接続依頼メッセージ、コンテンツ保持端末装置登録メッセージ、コンテンツ保持端末装置検索メッセージ、コンテンツデータ要求メッセージなどである。
受信したメッセージが自端末装置2宛であるか否かの判定は、メッセージに含まれる宛先端末ID(宛先識別情報)を取り出し、主記憶装置205に記憶したルーティングテーブルに基づいて判定する。すなわち、各種のメッセージをネットワークインタフェース204を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブル223に記憶した端末IDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル223上の端末IDが自端末装置2の端末IDであると判定すると、自端末装置2宛のメッセージであると判定する。
(メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク6を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報をルーティングテーブル223から取り出し、転送先の端末装置へ受信したメッセージを転送する。
(ストリーミング受信処理手段について)
ストリーミング受信処理手段は、ネットワークインタフェース204を介して階層構造でのコンテンツデータの配信形態によって上流装置、すなわち上流に論理接続したコンテンツ配信装置1又は上流に接続された端末装置2からコンテンツパケットとして送信されるコンテンツデータをチャンネル(視聴用チャンネル及びザッピング対策チャンネル)毎にストリーミング受信し、このようにストリーミング受信したコンテンツデータをチャンネル毎にリングバッファ領域221に順次記憶する。なお、コンテンツデータ受信処理手段や後述のコンテンツデータ中継手段は、公知のストリーミング配信用プロトコルを用いることができるほか、独自の専用プロトコルを用いるようにすることもできる。
(ストリーミング再生手段について)
ストリーミング再生手段は、ネットワークインタフェース204を介して参加しているチャンネルの階層構造における上流の接続先装置からストリーミング受信してリングバッファ領域221に順次記憶されたコンテンツデータを順次再生する機能を有している。
このストリーミング再生手段は、リングバッファ領域221に格納したコンテンツデータを順次取り出して、音源チップ211やビデオチップ209を動作させることによってこの機能を実現しており、所定のコンテンツデータ形式(たとえば、Wave形式)に変換して音源チップ211やビデオチップ209へ入力し、コンテンツデータの再生を行う。
また、ストリーミング再生手段は、リングバッファ領域221に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ領域221に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ212や内蔵ディスプレイ210に出力するように構成されている。
(ストリーミング中継手段について)
ストリーミング中継手段は、階層構造でのコンテンツデータの配信形態における上流の接続先装置、すなわちコンテンツ配信装置1又は上流に接続された端末装置2からネットワーク6を介してストリーミング受信され、リングバッファ領域221に一時記憶されたコンテンツデータを順次取り出して、下流に接続された他の端末装置2へネットワーク6を介して転送する。
(接続処理手段について)
接続処理手段は、端末装置2をコンテンツ配信システムSの所望のチャンネルの階層構造へ参加させるために、チャンネル選択手段であるリモコン208のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求をDHTルーティングを用いて接続管理端末装置へ送信し、その後、接続管理端末装置から通知された接続先候補に接続する。より具体的には、接続処理手段は、参加するチャンネルのチャンネルIDをEPG(電子番組ガイド)から取得し、このチャンネルIDを宛先識別情報として、ルーティングテーブル223に記憶された情報に基いて、参加するチャンネルの階層構造への接続先候補に接続するための接続先紹介要求メッセージを送信する。この接続先紹介要求メッセージには、端末装置2のユーザがリモコン208のチャンネル選択ボタン等を操作することによって選択されるチャンネルのチャンネルID及び自端末装置2の所在情報等を含む。
また、接続処理手段は、送信した接続先紹介要求メッセージに対して、接続管理端末装置からネットワーク6を介して通知されるチャンネルの接続先候補の情報、すなわち接続先候補の端末装置の所在情報であるIPアドレスなどの情報を受信する接続先候補を得る接続先候補取得手段としての機能を有する。
更に、接続処理手段は、受信した接続先候補の情報に基づいて、その接続先候補へ接続要求メッセージを送信して接続先候補装置との論理接続を行う接続処理手段機能を有する。すなわち、接続処理手段は、接続先候補の情報に基づいて、接続先候補のIPアドレスを宛先とした接続要求を行い、接続先候補との論理接続を行う。このように接続先候補と接続することによって、所望のチャンネル階層構造に参加することになる。なお、このように接続した接続先候補を、上述のように接続先装置ということとする。
(接続先候補選択手段について)
接続先候補選択手段は、メッセージ宛先判定手段により受信したメッセージが自端末装置2宛であり、かつ、受信したメッセージが接続先紹介要求メッセージであるとき、主記憶装置205の接続状態情報記憶領域に記憶された接続状態情報テーブルの接続状態情報から接続先候補を1以上選択する。
(接続先候補送信処理手段について)
接続先候補送信処理手段は、接続先候補選択手段によって選択された1以上の接続先候補を、接続先紹介要求メッセージを送信した端末装置2へネットワーク6を介して送信する。
(接続情報通知手段について)
接続情報通知手段は、接続先候補に接続したとき、DHTルーティングを用い接続管理端末装置に対して、自端末装置2及び自端末装置2が接続した接続先候補の所在情報、自端末装置2の下流に接続することができる端末装置2の数である許容下流数を通知するために接続状態情報メッセージを送信する。この接続状態情報メッセージは、DHTルーティングを用い接続管理端末装置へ送信するため、接続した階層構造のチャンネルに対応するチャンネルIDを宛先識別情報とし、ルーティングテーブル223に基づいて送信することになる。
また、接続情報通知処理手段は、接続先候補に接続した後、DHTルーティングを用い接続管理端末装置に対して、接続状態情報メッセージを定期的に送信するようにしている。
(コンテンツ保持端末装置登録メッセージ生成手段について)
コンテンツ保持端末装置登録メッセージ生成手段は、コンテンツ投入装置3からコンテンツデータを受信したとき、受信したコンテンツデータをハードディスク装置203のコンテンツデータ記憶領域に記憶する。又、コンテンツデータのコンテンツの名称を所定のハッシュ関数によって演算したコンテンツIDを宛先識別情報とし、自端末装置の端末ID及びIPアドレスを含むコンテンツ保持端末装置登録メッセージを生成する。
(コンテンツ保持端末装置登録メッセージ送信処理手段について)
コンテンツ保持端末装置登録メッセージ送信処理手段は、自端末装置2がコンテンツデータを保持することになりコンテンツ保持端末装置となったことを当該コンテンツデータのルート端末装置となる端末装置に知らせるためにコンテンツ保持端末装置登録メッセージをDHTルーティングを用いて送信する。このコンテンツ保持端末装置登録メッセージには、コンテンツ投入装置3から投入されて保持することになったコンテンツデータに対応するコンテンツID、さらに自端末装置2の所在情報を含むメッセージである。コンテンツ保持端末装置登録メッセージ送信処理手段は、DHTルーティングを用いてルート端末装置へ送信するために、保持することになったコンテンツデータに対応するコンテンツIDを宛先識別情報とし、ルーティングテーブル223に基づいて送信することになる。
(配信元情報判定手段について)
配信元情報判定手段は、受信したメッセージがコンテンツ保持端末装置の所在情報を検索するコンテンツ保持端末装置検索メッセージであるとき、主記憶装置205に記憶されたインデックステーブル222の中に、コンテンツ保持端末装置検索メッセージに含まれるコンテンツIDと一致するコンテンツIDがあるか否かを判定する。すなわち、配信元情報判定手段は、インデックステーブル222にコンテンツ保持端末装置検索メッセージの検索対象のコンテンツ保持端末装置の所在情報があるか否かを判定する。
(配信元情報メッセージ送信処理手段について)
配信元情報メッセージ送信処理手段は、配信元情報判定手段によりインデックステーブル222にコンテンツ保持端末装置検索メッセージの検索対象のコンテンツ保持端末装置の所在情報があると判定されると、インデックステーブル222から検索対象のコンテンツ保持端末装置の所在情報を取り出して配信元情報メッセージを生成し、コンテンツ保持端末装置検索メッセージを送信した端末装置へこの配信元情報メッセージを送信する。この配信元情報メッセージには、1以上のコンテンツ保持端末装置の所在情報が含まれており、これによりコンテンツ保持端末装置検索メッセージを送信した端末装置は、コンテンツ保持端末装置から所望のコンテンツデータを取得することが可能になる。
(コンテンツデータ要求メッセージ送信処理手段について)
コンテンツデータ要求メッセージ送信処理手段は、配信元情報メッセージを受信した後、当該配信元情報メッセージに記載されている(含まれている)コンテンツ保持端末装置に、コンテンツデータを要求するコンテンツデータ要求メッセージを送信する。
(EPG取得手段について)
EPG取得手段は、コンタクト先紹介装置4から送信される電子番組ガイド(EPG)を受信する機能を有している。コンタクト先紹介装置4から送信される電子番組ガイドは、ストリーミング配信要求をすることができるチャンネルの番組内容とチャンネルIDとが関連付けられた情報であり、自端末装置2がコンタクト先紹介装置4へ電子番組ガイドの送信要求を行うことによって、コンタクト先紹介装置4から送信されるものである。
(カタログリスト取得手段について)
カタログリスト取得手段は、コンテンツ投入装置3から送信されるカタログリストを受信する機能を有している。コンテンツ投入装置3から送信される識別情報リストであるカタログリストは、ダウンロード要求をすることができるコンテンツデータの名称とコンテンツIDとが関連付けられた情報であり、自端末装置2がコンテンツ投入装置3へカタログリストの送信要求を行うことによって、コンテンツ投入装置3から送信されるものである。
(ダウンロード操作検出手段について)
ダウンロード操作検出手段は、コンテンツデータのダウンロード要求の操作を検出する機能を有する。例えば、図20に示すようにダウンロード要求によるコンテンツデータの配信形態においてダウンロード可能なコンテンツデータが内蔵ディスプレイ210の所定領域24に一覧表示されている状態で、ユーザがリモコン208を操作して、ダウンロードするコンテンツデータを指定枠25により指定してダウンロードボタン26を選択したことを検出することによって、コンテンツデータのダウンロード要求の操作を検出する。なお、内蔵ディスプレイ210の所定領域24に一覧表示される情報は、カタログリスト取得手段により取得された情報である。
(ダウンロード処理手段について)
ダウンロード処理手段は、識別情報取得手段によって取得されたコンテンツデータの識別情報に基づいて、ダウンロード要求されたコンテンツデータをコンテンツ配信システムSを構成する端末装置2からダウンロードする機能を有しており、ダウンロード先検索手段、ダウンロード送信要求手段、ダウンロードデータ受信処理手段などから構成されている。
ダウンロード先検索手段は、カタログリスト取得手段によって取得されたコンテンツデータのコンテンツIDに基づいて、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。コンテンツ保持端末装置の検索は、カタログリスト取得手段によって取得されたカタログリストに含まれるコンテンツIDのうち、ダウンロード操作検出手段により検出したダウンロード対象のコンテンツデータに対応するコンテンツIDを宛先識別情報としたコンテンツ検索メッセージを生成し、そのコンテンツIDと同じエリアの端末IDを持つ端末装置の所在情報をルーティングテーブル223から取り出して、その端末装置へコンテンツ保持端末装置検索メッセージを送信することによって行う。このコンテンツ保持端末装置検索メッセージに対して、当該コンテンツ保持端末装置検索メッセージで指定したコンテンツIDのコンテンツデータを保持するコンテンツ保持端末装置の所在情報がルート端末装置から送信される。このようにして、ダウンロード先検索手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置を検索する。
また、ダウンロード送信要求手段は、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置に、ダウンロード要求されたコンテンツデータの送信をネットワーク6を介して要求(以下、「ダウンロード送信要求」と呼ぶ。)する。このダウンロード送信要求は、コンテンツ保持端末装置の所在情報を宛先として、ダウンロード要求に対応するコンテンツデータのコンテンツIDを設定するものである。なお、ダウンロード先検索手段によって検索されたコンテンツ保持端末装置が複数ある場合には、コンテンツ保持端末装置の一つに対してダウンロード送信要求が行われる。
また、ダウンロードデータ受信処理手段は、ダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置からダウンロード要求されたコンテンツデータをネットワーク6を介して受信する。コンテンツ保持端末装置から送信されるコンテンツデータは、階層構造でのコンテンツデータの配信形態のようなストリーミング形式ではなく、ダウンロード形式のデータであるが、ストリーミング形式とすることも可能である。
ダウンロード受信処理手段により受信したコンテンツデータは、制御部230によって、ハードディスク装置203のコンテンツデータ記憶領域に記憶される。
(アップロード処理手段について)
アップロード処理手段は、コンテンツ配信システムSに参加している他の端末装置2からダウンロード要求があると、このダウンロード要求に対応するコンテンツデータをコンテンツデータ記憶手段から取り出して、ダウンロード要求を行った他の端末装置2へ送信する機能を有する。
(表示制御手段について)
表示制御手段は、ビデオチップ209及び内蔵ディスプレイ210を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ210にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
(デコード手段について)
デコード手段は、他の端末装置2から送信されるコンテンツデータ等を内蔵ディスプレイ210に表示し、内蔵スピーカ212から出力するためにデコードする。すなわち、他の端末装置2から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばASF、WMA、WMV等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ210や内蔵スピーカ212から出力できるようにデコードする。
(コンテンツ保持端末装置情報選択手段について)
コンテンツ保持端末装置情報選択手段は、メッセージ宛先判定手段によりネットワーク6を介して受信したメッセージが自端末装置2宛であり、かつコンテンツ検索メッセージであると判定すると、インデックステーブル222からコンテンツ検索メッセージが対象とするコンテンツIDのコンテンツデータを保持するコンテンツ保持端末装置の所在情報を選択する。なお、インデックステーブル222にコンテンツ保持端末装置の所在情報が複数ある場合には、それらを全部或いはいくつか選択する。
(コンテンツ保持端末装置情報返信手段について)
コンテンツ保持端末装置情報返信手段は、コンテンツ保持端末装置情報選択手段によって選択されたコンテンツ保持端末装置の所在情報を、リクエスト端末装置へネットワーク6を介して返信する。
(コンテンツ再生手段について)
コンテンツ再生手段は、ハードディスク装置203に記憶したコンテンツデータを取り出して再生するものであり、このとき制御部230は、ストリーミング制御プログラム216に基づいてビデオチップ209及び音源チップ211を動作させることによりコンテンツデータが再生される。
[4.コンテンツ配信システムSの動作]
以下、コンテンツ配信装置1及び端末装置2の詳細動作について、フローチャートを用いて更に具体的に説明する。
(コンテンツ配信装置1の処理フローの説明)
まず、コンテンツ配信装置1の更に具体的な動作について、図14を参照して説明する。図14は、コンテンツ配信装置1における処理全体を示すフローチャートである。なお、以下の各処理は、コンテンツ配信装置1の制御部130が上述した各手段として機能することによって実行されるものである。また、コンテンツ配信装置1は、端末装置2における後述の動作処理と同様の動作処理も行うことができるが、その構成及び動作については、後述で詳説する端末装置2の動作と同様であるため、端末装置2と同様の部分については重複説明を避けるため省略している。
まず、図14に示すように、コンテンツ配信装置1の電源がONされると、コンテンツ配信装置1において、CPU102は、主記憶装置105やハードディスク装置103のアクセス許可、作業領域を初期化等の初期設定処理を実行し(ステップS100)、各プログラム115〜119,121をCPU102による実行状態とし、制御部130としての機能を動作させた後、ステップS101に処理を移す。
ステップS101において、コンテンツ配信装置1の制御部130は、コンタクト先紹介装置4へネットワーク6を介して、コンタクト先情報を要求する。このコンタクト先情報の要求に対して、コンタクト先紹介装置4からネットワーク6を介して送信されてくるコンタクト先情報をネットワークインタフェース104を介して受信する(ステップS102)。
受信したコンタクト先情報には、コンタクト先の端末装置の所在情報が含まれており、制御部130は、受信したコンタクト先情報に含まれるコンタクト先の端末装置に対して参加メッセージをネットワーク6を介して送信する(ステップS103)。この参加メッセージは、自端末装置の識別情報を宛先識別情報としている。
このように送信した参加メッセージは、コンタクト先の端末装置2から順次転送され、転送できない位置の端末装置2まで辿り着く。そして、参加メッセージを受信した複数の端末装置から各レベル毎のテーブル情報を受信する(ステップS104)。制御部130は、このように受信した複数のテーブル情報に基づいて、ルーティングテーブルを生成し(ステップS105)、処理をステップS106に移行する。
ステップS106において、制御部130は、自コンテンツ配信装置1がコンテンツデータをストリーミング配信するチャンネルを示すチャンネルIDを宛先識別情報とし、自コンテンツ配信装置1の所在情報を含むチャンネル登録メッセージをルーティングテーブル記憶領域に記憶したルーティングテーブル122に基づいて送信して、処理をステップS107に移行する。
ステップS107において、制御部130は、端末装置2から自コンテンツ配信装置1のチャンネルの階層構造への接続を要求する接続依頼メッセージを受信したか否かを判定する。この処理において、接続依頼メッセージを受信したと判定すると(ステップS107:YES)、制御部130は、接続先紹介要求メッセージを送信した端末装置2を下流の装置としてこの端末装置2と論理接続を行い(ステップS108)、以降制御部130は、当該論理接続した端末装置へコンテンツデータの配信を行い(ステップS109)、処理をステップS110に移行する。一方、接続依頼メッセージを受信していないと判定すると(ステップS107:NO)、制御部130は、処理をステップS110に移行する。
ステップS110の処理において、制御部130は、図示しないタイマにより、一定時間経過しているか否かを判定する。この処理において、一定時間経過していると判定すると(ステップS110:YES)、上述のタイマをリセットして再度計時を開始し、処理をステップS106へ移行し、一定時間経過していないと判定すると(ステップS110:NO)、処理をステップS111に移行する。
ステップS111において、制御部130は、電源がオフ(OFF)であるか否かを判断し、電源がオフであると判定した場合には(ステップS111:YES)、本処理を終了する一方、電源がオフではないと判定した場合には(ステップS111:NO)、ステップS107から繰り返し処理を実行することとなる。
以上のように、本実施形態におけるコンテンツ配信装置1においては、コンテンツ配信システムSに参加している端末装置2のうち、コンテンツ配信装置1が配信するチャンネルの階層構造を管理する管理端末装置となる端末装置2に、コンテンツ配信装置1が配信するチャンネルID及びコンテンツ配信装置1の所在情報等を登録し、その後管理端末装置からコンテンツ配信装置1が接続先候補であるとして通知された端末装置から接続依頼があると、下流の装置として接続するようにしており、コンテンツ配信システムSを端末装置にコンテンツ配信装置1が配信するチャンネルの階層構造を管理させることができるため、従来であれば別途必要であった接続先管理サーバを設ける必要がない。
(端末装置2の処理フローの説明)
次に、端末装置2の更に具体的な動作について、図15〜図19を参照して説明する。図15〜図19は端末装置2における処理全体を示すフローチャートである。なお、以下の各処理は、端末装置2の制御部230が上述した各手段として機能することによって実行されるものである。
図15に示すように、端末装置2の電源がONになると、端末装置2のCPU202は、主記憶装置205やハードディスク装置203のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム214〜220をCPU202による実行状態とし、制御部230としての機能を動作させた後(ステップS200)、ステップS201に処理を移す。
ステップS201において、制御部230は、コンテンツ配信システムSへの参加処理を行った後、ステップS202に処理を移す。このステップS201の処理は、図16におけるS220〜S226の処理であり、後述で詳説する。
ステップS202において、制御部230は、コンタクト先紹介装置4に対し、ネットワーク6を介して、コンテンツ配信装置1が配信するチャンネルを選択するための電子番組ガイドを要求する。その後、この要求に対してコンテンツ投入装置3が送信する電子番組ガイドを内蔵ディスプレイ210に表示する(例えば、図20参照)。
内蔵ディスプレイ210に電子番組ガイドを表示した後、制御部230は、ユーザからチャンネル選択指示があったか否かを判定する(ステップS203)。この処理において、ユーザからチャンネル選択指示があったとは、例えば、端末装置2のユーザがリモコン208のチャンネル選択ボタン等を操作することによって視聴を要求するチャンネルが選択されたことをいう。
この処理において、ユーザからのチャンネル選択指示があったと判定すると(ステップS203:YES)、制御部230は、ユーザによって選択されたチャンネルの階層構造への参加処理を行なう(ステップS204)。このステップS204の処理は、図17におけるS230〜S236の処理であり、後述で詳説する。
一方、ユーザからのチャンネル選択指示がないと判定すると(ステップS203:NO)、制御部230は、ユーザからのダウンロード要求があるか否かを判定する(ステップS205)。この処理において、ユーザからのダウンロード要求とは、例えば、図20に示すように、一覧表示されている状態で、ユーザが一覧表の中から特定のコンテンツデータをリモコン208を操作して指定することを意味する。
この処理において、ユーザからのダウンロード要求があると判定すると(ステップS205:YES)、制御部230は、ユーザからのダウンロード要求のあったコンテンツデータを他の端末装置2からダウンロードする処理を行なう(ステップS206)。このステップS205の処理は、図18におけるS240〜S243の処理であり、後述で詳説する。
一方、ユーザからのダウンロード要求がないと判定すると(ステップS205:NO)、制御部230は、投入コンテンツデータを受信したか否かを判定する(ステップS207)。ここで、投入コンテンツデータとは、コンテンツ投入装置3から投入されるコンテンツデータである。
この処理において、投入コンテンツデータを受信したと判定すると(ステップS207:YES)、制御部230は、投入コンテンツデータをハードディスク装置203のコンテンツデータ記憶領域に記憶する(ステップS208)。その後、制御部230は、ハードディスク装置203に記憶したコンテンツデータをコンテンツ配信システムSに参加している端末装置2からダウンロードすることができるように、コンテンツ保持端末装置登録メッセージを送信する(ステップS209)。
ステップS207において、投入コンテンツデータを受信していないと判定すると(ステップS207:NO)、制御部230は、コンテンツ保持端末装置として自端末装置2が保持するコンテンツデータのダウンロード要求を他の端末装置2から受信したか否かを判定する(ステップS210)。
この処理において、他の端末装置2からダウンロード要求を受信したと判定すると(ステップS210:YES)、制御部230は、ダウンロード要求に応じたコンテンツデータをハードディスク装置203から取り出し、ダウンロード要求を行なった他の端末装置2へ送信する(ステップS211)。一方、他の端末装置2からダウンロード要求を受信していないと判定すると(ステップS210:NO)、制御部230は、上流装置として接続要求を受信したか否かを判定する(ステップS212)。ここで、上流装置として接続要求とは、自端末装置2が接続先候補として選ばれ、他の端末装置2が自端末装置2の下流に接続することを要求するものである。
この処理において、上流装置として接続要求を受信したと判定すると(ステップS212:YES)、制御部230は、接続を要求した端末装置を自端末装置2の下流装置として接続する(ステップS213)。一方、上流装置として接続要求を受信していないと判定すると(ステップS212:NO)、制御部230は、DHTメッセージを受信したか否かを判定する(ステップS214)。ここで、DHTメッセージとは、コンテンツID、チャンネルID,或いは端末IDなどを宛先識別情報としてDHTルーティングされるメッセージを意味する。
この処理において、制御部230は、DHTメッセージを受信したと判定すると(ステップS214:YES)、制御部230は、受信したメッセージの処理を行なう(ステップS215)。このステップS215の処理は、図19におけるS250〜S263の処理であり、後述で詳説する。
ステップS214においてDHTメッセージを受信していないと判定したとき(ステップS214:NO)、或いはS204、S206、S209、S211、S213、S215の処理が終了したとき、制御部230は、チャンネルの階層構造へ参加中であるか否かを判定する(ステップS216)。
この処理において、制御部230は、チャンネルの階層構造へ参加中であると判定すると(ステップS216:YES)、図示しないタイマにより、一定時間経過しているか否かを判定する(ステップS217)。この処理において、一定時間経過していると判定すると(ステップS217:YES)、上述のタイマをリセットして再度計時を開始し、接続状態情報メッセージをDHTルーティングを用いて接続管理端末装置へ送信する(ステップS218)。
ステップS216においてチャンネルの階層構造へ参加中ではないと判定したとき(ステップS216:NO)、S217において一定時間経過していないと判定したとき(ステップS217:NO)、或いはステップS218の処理が終了したとき、制御部230は、電源がオフであるか否かを判断する(ステップS219)。制御部230は、電源がオフであると判定した場合には(ステップS219:YES)、本処理を終了する一方、電源がオフではないと判定した場合には(ステップS219:NO)、ステップS203から繰り返し処理を実行することとなる。
次に、S204におけるコンテンツ配信システムSへの参加処理について図16を参照して具体的に説明する。
まず、端末装置2の制御部230は、コンタクト先紹介装置4へネットワーク6を介して、コンタクト先情報を要求する(ステップS220)。このコンタクト先情報の要求に対して、コンタクト先紹介装置4からネットワーク6を介して送信されてくるコンタクト先情報をネットワークインタフェース204を介して受信する(ステップS221)。
受信したコンタクト先情報には、コンタクト先の端末装置の所在情報が含まれており、制御部230は、受信したコンタクト先情報に含まれるコンタクト先の端末装置に対して参加メッセージをネットワーク6を介して送信する(ステップS222)。この参加メッセージは、自端末装置の識別情報を宛先識別情報としている。
このように送信した参加メッセージは、コンタクト先の端末装置2から順次転送され、転送できない位置の端末装置2まで辿り着く。制御部230は、参加メッセージを受信した複数の端末装置から各レベル毎のテーブル情報を受信し(ステップS223)、このように受信した複数のテーブル情報に基づいて、ルーティングテーブル223を生成する(ステップS224)。
その後、制御部230は、コンテンツ投入装置3へネットワーク6を介して、カタログリストを要求する(ステップS225)。この要求に対して、カタログリストがコンテンツ投入装置3から送信されると、制御部230は、それを受信し、ハードディスク装置203に記憶して(ステップS226)、コンテンツ配信システムSへの参加処理を終了する。
次に、S204における階層構造への接続処理について図17を参照して具体的に説明する。
まず、制御部230は、ステップS203においてユーザにより選択指示されたチャンネルに対する接続先紹介要求メッセージを送信する(ステップS230)。この接続先紹介要求メッセージは、ユーザにより選択指示されたチャンネルのチャンネルIDが宛先識別情報として設定されるものであり、設定されたチャンネルIDを有するチャンネルの接続管理端末装置へDHTルーティングにより送信される。そして、制御部230は、この接続先紹介要求メッセージに対して、選択されたチャンネルの接続管理端末装置から接続先候補の情報を受信する(ステップS231)。なお、このチャンネルIDは、電子番組ガイドにその情報が含まれており、ユーザにより選択指示の際に電子番組ガイドから取り出されるものである。
次に、制御部230は、接続管理端末装置から取得した接続先候補への接続要求を行ない、この接続先候補に接続する(ステップS232)。このように上流装置と接続すると、上流装置からコンテンツデータがストリーミング配信されるので、制御部230は、上流装置からのコンテンツデータをストリーミング受信及びストリーミング再生を行なう(ステップS233)。また、自端末装置2の下流に装置が接続されているときには、制御部230は、ストリーミング受信したコンテンツデータを下流の装置にストリーミング中継する。
さらに、制御部230は、接続した接続先候補の所在情報、自端末装置の所在情報及び接続した階層構造のチャンネルIDなどを含む接続状態情報メッセージをルーティングテーブル223に基づいて接続管理端末装置へ送信し(ステップS234)、チャンネルの階層構造への参加処理を終了する。
このように、制御部230は、所望のチャンネルの接続先候補に接続した後、チャンネルIDを宛先識別情報として、接続状態情報メッセージを定期的にルーティングテーブル223に基づいて送信するようにしている。
次に、S206におけるダウンロード処理について図18を参照して具体的に説明する。
まず、制御部230は、ユーザからのダウンロード要求があったコンテンツデータを保持する端末装置2の所在情報を検索するために、コンテンツ保持端末装置検索メッセージを生成して送信する(ステップS240)。このコンテンツ保持端末装置検索メッセージには、自端末装置の所在情報が含まれる。また、ユーザからのダウンロード要求があったコンテンツデータのコンテンツIDをカタログリストから取り出して、このコンテンツIDをコンテンツ保持端末装置検索メッセージの宛先識別情報とし、ルーティングテーブル223に基づいて、当該メッセージを送信する。
ステップS240において送信したコンテンツ保持端末装置検索メッセージは、DHTルーティングにより当該メッセージに含まれるコンテンツIDのルート端末装置に辿り着く。このルート端末装置は、このメッセージを受信すると、このコンテンツIDに対応するコンテンツデータを保持するコンテンツ保持端末装置の所在情報をインデックステーブル222から取り出して、コンテンツ保持端末装置検索メッセージを送信した端末装置に返信する。制御部230は、ルート端末装置からネットワーク6を介してコンテンツ保持端末装置の所在情報を取得する(ステップS241)。
次に、取得したコンテンツ保持端末装置の所在情報に基づいて、制御部230は、このコンテンツ保持端末装置に対して、直接ダウンロードを送信するように要求する(ステップS242)。ダウンロード要求を受けたコンテンツ保持端末装置は、コンテンツデータ記憶領域から対応するコンテンツデータを取り出して、ダウンロード要求を行なった端末装置へ送信する。制御部230は、ネットワークインタフェース204を介して、コンテンツ保持端末装置から送信されるコンテンツデータをダウンロードして(ステップS243)、ダウンロード処理を終了する。
次に、S215における受信メッセージ処理について図19を参照して具体的に説明する。
受信メッセージ処理が開始されると、制御部230は、受信したメッセージがコンテンツ保持端末装置登録メッセージであるか否かを判定する(ステップS250)。コンテンツ保持端末装置登録メッセージであると判定すると(ステップS250:YES)、制御部230は、このメッセージに含まれるコンテンツID及びコンテンツ保持端末装置の所在情報を取り出して、インデックステーブル222に登録して(ステップS251)、処理をステップS252に移行する。
ステップS252において、制御部230は、自端末装置2がルート端末装置であるか否かを判定する。端末装置2がルート端末装置であるか否かは、受信したメッセージの宛先識別情報とルーティングテーブル223とに基づいて判断される。
この処理において、自端末装置2がルート端末装置でないと判定すると(ステップS252:NO)、制御部230は、ルーティングテーブル223に基づいてコンテンツ保持端末装置登録メッセージを他の端末装置2へ転送する(ステップS253)。一方、自端末装置2がルート端末装置であると判定すると(ステップS252:YES)、制御部230は、ステップS253の処理は行わない。
ステップS250において、受信したメッセージがコンテンツ保持端末装置登録メッセージではないと判定すると(ステップS250:NO)、制御部230は、受信したメッセージがコンテンツ保持端末装置検索メッセージであるか否かを判定する(ステップS254)。
この処理において、受信したメッセージがコンテンツ保持端末装置検索メッセージであると判定すると(ステップS254:YES)、制御部230は、インデックステーブル222にこのメッセージの検索対象であるコンテンツデータを保持するコンテンツ保持端末装置の所在情報があるか否かを判定する。この判定の結果、コンテンツ保持端末装置の所在情報がインデックステーブル222にあるときには、制御部230は、インデックステーブル222からコンテンツ保持端末装置の所在情報を取り出して、メッセージの送信元の端末装置2へ通知して(ステップS255)、処理をステップS252へ移行する。一方で、コンテンツ保持端末装置の所在情報がインデックステーブル222にないときには、制御部230は、コンテンツ保持端末装置の所在情報の通知を行なわずに、処理をステップS252へ移行する。
ステップS254において、受信したメッセージがコンテンツ保持端末装置検索メッセージではないと判定すると(ステップS254:NO)、制御部230は、受信したメッセージの宛先識別情報に対して、自端末装置2がルート端末装置であるか否かを判定する(ステップS256)。すなわち、受信したメッセージの送信目的先の端末装置2が自端末装置2であるか否かを判定するものであり、受信したメッセージの宛先識別情報とルーティングテーブル223とに基づいて判定する。具体的には、メッセージの宛先識別情報との差が最も小さい装置IDが自端末装置2に割り当てられているときに、受信したメッセージの送信目的先の端末装置2が自端末装置2であると判定する。
この処理において、受信したメッセージの宛先識別情報が自端末装置に最も近いわけではないと判定すると(ステップS256:NO)、制御部230は、処理をステップS253へ移行する。一方、受信したメッセージの宛先識別情報が自端末装置に最も近いと判定すると(ステップS256:YES)、制御部230は、処理をステップS257へ移行する。
ステップS257において、制御部230は、受信したメッセージがチャンネル登録メッセージであるか否かを判定する(ステップS257)。この処理において、受信したメッセージがチャンネル登録メッセージであると判定すると(ステップS257:YES)、制御部230は、チャンネル登録メッセージに含まれるチャンネルIDに対する接続状態情報テーブルを新規に生成して主記憶装置205の接続状態情報記憶領域に記憶する(ステップS258)。一方、受信したメッセージがチャンネル登録メッセージではないと判定すると(ステップS257:NO)、制御部230は、受信したメッセージが接続先紹介要求メッセージであるか否かを判定する(ステップS259)。
この処理において、受信したメッセージが接続先紹介要求メッセージであると判定すると(ステップS259:YES)、制御部230は、主記憶装置105に記憶した接続状態情報テーブルから選択した接続先候補を、このメッセージを送信した端末装置2に対して返信する(ステップS260)。ここで、接続先候補を選択する接続状態情報テーブルは、接続先紹介要求メッセージに含まれるチャンネルIDに対応する接続状態情報テーブルを選択することになる。このようにして、自端末装置2が接続管理端末装置であるときに、管理対象のチャンネルの階層構造の状態に基づいて、その接続先をチャンネルの階層構造に参加しようとする端末装置2へ通知することができる。
一方、受信したメッセージが接続先紹介要求メッセージでないと判定すると(ステップS259:NO)、制御部230は、受信したメッセージが接続状態情報メッセージであるか否かを判定する(ステップS262)。この処理において、受信したメッセージが接続状態情報メッセージであると判定すると(ステップS262:YES)、制御部230は、接続状態情報メッセージに含まれるチャンネルIDに対応する接続状態情報テーブルを取り出し、この接続状態情報メッセージに含まれる情報を取り出した接続状態情報テーブルに追加又は更新する(ステップS263)。このようにして、自端末装置2が接続管理端末装置であるときに、管理対象のチャンネルの階層構造の状態を管理することができるようにしている。
自端末装置がルート端末装置であるとき(ステップS252:YES)、ステップS253,S258,S260,S263の処理が終了したとき、或いは受信したメッセージが接続状態情報メッセージではないと判定したとき(ステップS262:NO)、制御部230は、受信メッセージの処理を終了する。
以上のように、本実施形態の端末装置2によれば、チャンネル識別情報と所定の関係を有する装置識別情報が割り当てられる端末装置が、チャンネル識別情報に対応するチャンネルの階層構造の状態を管理する装置としても動作することになる。コンテンツ配信装置及び端末装置の接続状態の情報をこれらの装置から受信して記憶し、自端末装置宛のメッセージが接続先紹介要求メッセージであると判定されると、記憶している接続状態情報から接続先候補を選択するので、コンテンツ配信装置及び端末装置の他に別途接続先管理サーバを設けることなく、ツリー状やチェーン状の階層構造を有するコンテンツ配信システムを提供することができる。
なお、上記実施形態においては、コンテンツ配信装置1や端末装置2の所在情報として、IPアドレスを例に挙げて説明したがこれに限られず、例えば、IPアドレスとポート番号の組み合わせを所在情報としてもよく、ネットワーク6上のコンテンツ配信装置1や端末装置2にアクセスすることができる情報であればよい。
また、チャンネル登録メッセージにはチャンネルIDとコンテンツ配信装置の所在情報とを含めるようにしたが、コンテンツ配信装置の所在情報に代えて、コンテンツ配信装置の装置IDを含むようにしてもよい。さらに、階層構造に参加した接続状態情報の通知には、参加しているチャンネルのチャンネルIDと端末装置の所在情報を含めることとしたが、端末装置の所在情報に代えて、端末装置の装置IDを含むようにしてもよい。この場合、接続管理端末装置は、接続状態情報として端末装置やコンテンツ配信装置の装置IDを接続状態情報テーブルに登録する。そして、接続要求端末装置からの接続先紹介要求メッセージに対して、接続先候補の装置IDを接続要求端末装置へ通知する。接続要求端末装置は接続先候補の装置IDに基づいて接続先候補へ接続を要求することになる。このように、チャンネルの階層構造へ参加する際、装置IDによりDHTルーティングにより接続先候補に接続を要求することができることから、IPアドレスが変更となった場合でもDHTルーティングにより接続先候補に接続することが可能性が高くなる。なお、チャンネル登録メッセージや接続状態情報の通知にチャンネルID、コンテンツ配信装置の端末ID及び所在情報が含まれるようにしてもよく、この場合、接続管理端末装置は、接続要求端末装置に対してコンテンツ配信装置の端末ID及び所在情報を通知し、接続要求端末装置は端末ID及び所在情報のいずれかに基づいて接続先候補との接続を行なうことができる。
また、コンテンツ保持端末装置登録メッセージやインデックステーブルには、コンテンツ保持端末装置の所在情報に代えて、コンテンツ保持端末装置の端末IDをコンテンツ保持端末装置を特定する情報とするようにしてもよい。この場合、ルート端末装置は、コンテンツ保持端末装置登録メッセージに基づいて、インデックステーブルにコンテンツ保持端末装置の装置IDを登録する。そして、リクエスト端末装置からのコンテンツ保持端末装置検索メッセージに対して、コンテンツ保持端末装置の装置IDを通知する。リクエスト端末装置はコンテンツ保持端末装置の装置IDに基づいてコンテンツデータのダウンロードを要求することになる。このように、ダウンロードを要求する際、装置IDによりDHTルーティングによりコンテンツ保持端末装置に対して要求することができることから、IPアドレスが変更となった場合でもDHTルーティングにより接続先候補に接続することが可能性が高くなる。なお、コンテンツ保持端末装置登録メッセージやインデックステーブルにコンテンツ保持端末装置の端末ID及び所在情報が含まれるようにしてもよく、この場合、ルート端末装置は、リクエスト端末装置に対してコンテンツ保持端末装置の端末ID及び所在情報を通知し、リクエスト端末装置は端末ID及び所在情報のいずれかに基づいてコンテンツ保持端末装置に対してコンテンツデータを要求することができる。
なお、上記ステップS260において接続管理端末装置が接続要求端末装置に対して送信する接続先候補は、接続先候補を複数含むリスト形式のものとしてもよい。このとき接続管理端末装置は、接続状態情報テーブルから所定数選択してリスト形式で接続要求端末装置に接続先候補を送信する。接続要求端末装置の制御部は、このように送信される複数の接続先候補から任意の一つの接続先候補を選択し、この接続先候補に接続を要求することができる。したがって、接続要求端末装置の制御部は、接続先候補に接続できないときに、受信した複数の接続先候補から他の接続先候補を選択して接続を要求することができるので、続管理端末装置に対して再度接続先紹介要求メッセージを送信する必要がなくなる。また、接続管理端末装置が接続要求端末装置に対して送信する接続先候補として、接続状態情報テーブルの全ての情報とすることもでき、この場合、接続管理端末装置は接続先候補を選択する必要がなく処理が簡単になる。
[5.変形例1]
上記実施形態においては、接続管理端末装置が接続要求端末装置に対して接続先紹介要求メッセージに対応するチャンネルの階層構造への接続先候補を送信し、接続要求端末装置が接続先候補に接続を要求するものであったが、接続管理端末装置が接続先候補に対して、接続要求端末装置への接続を依頼するようにしてもよい。
この場合、図21に示すように、接続管理端末装置2Cは、接続要求端末装置2Mから要求されたチャンネルの階層構造への接続先候補をそのチャンネルに対応する接続状態情報テーブルから取り出す。そして、取り出した接続先候補(の所在情報)に基づいて、接続先紹介要求メッセージを送信した接続要求端末装置2Mと接続させる接続依頼メッセージを送信する。この接続依頼メッセージには、接続要求端末装置2Mの所在情報を含む。接続先候補2Dは、接続管理端末装置2Cから接続依頼メッセージを受信すると、この接続依頼メッセージに記載された接続先端末装置である接続要求端末装置2Mに接続する。
すなわち、端末装置2の制御部230は、接続先候補選択手段によって選択された接続先候補に対して接続依頼メッセージ送信処理手段、他の端末装置2から接続依頼メッセージを受信すると、この接続依頼メッセージに記載された接続先端末装置(接続先紹介要求メッセージを送信した端末装置)に接続する接続依頼処理手段等として機能する。
このように接続管理端末装置が接続先候補に対して、接続要求端末装置へ接続するように要求する方法で階層構造を形成することも可能である。
[6.変形例2]
上記実施形態においては、ルート端末装置がリクエスト端末装置に対してコンテンツデータの所在情報を送信し、リクエスト端末装置がコンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得するものであったが、ルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するようにしてもよい。
この場合、図22に示すように、ルート端末装置2Fは、リクエスト端末装置2Nから要求されたコンテンツデータを保持するコンテンツ保持端末装置2Gの所在情報をインデックステーブル222から取り出す。そして、当該コンテンツ保持端末装置2Gの所在情報に基づいて、リクエスト端末装置2Nの所在情報を含めたコンテンツデータを要求するコンテンツデータ要求メッセージをコンテンツ保持端末装置2Gへ送信する。コンテンツ保持端末装置2Gは、コンテンツデータの送信要求を受信すると、このコンテンツデータの送信要求に含まれるリクエスト端末装置2Nの所在情報に対して、コンテンツデータの送信要求に対応するコンテンツデータを送信することになる。
すなわち、端末装置2の制御部230は、リクエスト端末装置2Nからコンテンツ保持端末装置検索メッセージをルート端末装置2Fとして受信したとき、コンテンツ保持端末装置情報返信手段の機能に代えて、配信元情報記憶手段であるインデックステーブル222にコンテンツ保持端末装置検索メッセージのコンテンツデータを保持するコンテンツ保持端末装置の所在情報の有無を判定する配信元情報判定手段、配信元情報判定手段が有りと判定すると、インデックステーブルに記憶した情報に基づいて、コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデータ配信要求メッセージを生成し、コンテンツ保持端末装置検索メッセージを送信した端末装置へコンテンツデータ配信要求メッセージ記コンテンツ保持端末装置へ送信するコンテンツデータ配信要求メッセージ送信処理手段、コンテンツデータ配信要求メッセージを受信した後、当該コンテンツデータ配信要求メッセージに記載されているコンテンツデータを、送信先端末装置に送信するコンテンツデータ送信処理手段として機能する。
リクエスト端末装置2Nは、ダウンロード先検索手段によってコンテンツ保持端末装置検索メッセージを送信し、ダウンロードデータ受信処理手段は、このコンテンツ保持端末装置検索メッセージに応じたコンテンツデータをコンテンツ保持端末装置2Gから受信する。
このようにルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求することも可能である。
[7.その他の変形例]
また、コンテンツ配信システムSにおけるDHTルーティング形式として、Pastry型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるkademlia型、chord型、Viceroy型、CAN型などのコンテンツ配信システムにも本発明を適用可能である。
本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。 本実施形態に係るコンテンツ配信システムの概要動作例を示す図である。 DHTによってルーティングテーブルが作成される様子の一例を示す図である。 図1の端末装置におけるルーティングテーブルの一例を示す図である。 端末装置が第2配信形態へ参加する様子の一例を示す図である。 DHTルーティングによりコンテンツ配信装置が配信するチャンネルが接続管理端末装置に登録される様子の一例を示す図である。 図1の端末装置における接続状態情報テーブルの一例を示す図である。 DHTルーティングによりコンテンツ配信装置が配信するチャンネルの階層構造に端末装置が参加する様子の一例を示す図である。 DHTルーティングによりコンテンツデータが端末装置に保持される様子の一例を示す図である。 図1の端末装置におけるインデックステーブルの一例を示す図である。 DHTルーティングにより端末装置がダウンロードする様子の一例を示す図である。 図1のコンテンツ配信装置の概略構成例を示す図である。 図1の端末装置の概略構成例を示す図である。 図1のコンテンツ配信装置におけるメイン処理を示すフローチャートである。 図1の端末装置におけるメイン処理を示すフローチャートである。 端末装置におけるコンテンツ配信システムへの参加処理を示すフローチャートである。 端末装置におけるチャンネルの階層構造への接続処理を示すフローチャートである。 端末装置におけるダウンロード処理を示すフローチャートである。 端末装置における受信メッセージの処理を示すフローチャートである。 図1の端末装置における表示画面の一例を示す図である。 変形例1におけるコンテンツ配信システムの概要動作例を示す図である。 変形例2におけるコンテンツ配信システムの概要動作例を示す図である。
符号の説明
S コンテンツ配信システム
1 コンテンツ配信装置
2 端末装置
3 コンテンツ投入装置
4 コンタクト先紹介装置
6 ネットワーク
130 コンテンツ配信装置の制御部
230 端末装置の制御部

Claims (13)

  1. コンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接続され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信されるコンテンツ配信システムにおいて、
    前記コンテンツデータがストリーミング配信されるチャンネル毎にチャンネル識別情報が割り当てられ、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられており、
    前記端末装置は、
    当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
    前記階層構造へ参加するとき、前記チャンネル識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段の情報に基づいて、前記階層構造への接続先候補に接続するための接続先紹介要求メッセージを送信して接続先装置と接続する接続処理手段と、
    前記ネットワークを介してメッセージを受信したとき、前記受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、
    前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記コンテンツ配信装置又は前記端末装置の接続状態の情報を含む接続状態情報メッセージであるとき、前記接続状態情報を記憶する接続状態情報記憶手段と、
    前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記接続先紹介要求メッセージであると判定されると、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と、
    を備えるコンテンツ配信システム。
  2. 前記コンテンツ配信装置は、
    当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
    自コンテンツ配信装置がコンテンツデータをストリーミング配信するチャンネルを示す前記チャンネル識別情報を宛先識別情報とし、自コンテンツ配信装置の所在情報及び/又は装置識別情報を含むチャンネル登録メッセージを前記ルーティングテーブル記憶手段に基づいて送信するチャンネル登録メッセージ送信処理手段と、
    を有することを特徴とする請求項1に記載のコンテンツ配信システム。
  3. 前記コンテンツ配信装置の前記チャンネル登録メッセージ送信処理手段は、
    前記チャンネル登録メッセージを定期的に送信する
    ことを特徴とする請求項2に記載のコンテンツ配信システム。
  4. コンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接続され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信される配信形態であり、前記コンテンツデータがストリーミング配信されるチャンネル毎にチャンネル識別情報が割り当てられ、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられるコンテンツ配信システムにおける前記端末装置であって、
    当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
    前記階層構造へ参加するとき、前記チャンネル識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段の情報に基づいて、前記階層構造への接続先候補に接続するための接続要求メッセージを送信して接続先装置に接続する接続処理手段と、
    前記ネットワークを介してメッセージを受信したとき、前記受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、
    前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記コンテンツ配信装置又は前記端末装置の接続状態の情報を含む接続状態情報メッセージであるとき、前記接続状態情報を記憶する接続状態情報記憶手段と、
    前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記接続先紹介要求メッセージであるとき、前記接続態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する接続先候補選択手段と、
    を備える端末装置。
  5. 前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹介要求メッセージを送信した前記端末装置へ前記ネットワークを介して送信する接続先候補送信処理手段を備え、
    前記接続処理手段は、受信した接続先候補に接続する
    ことを特徴とする請求項4に記載の端末装置。
  6. 前記接続先候補選択手段によって選択された前記接続先候補に対して、前記接続先紹介要求メッセージを送信した前記端末装置と接続させる接続依頼メッセージを送信する接続依頼メッセージ送信処理手段と、
    前記接続依頼メッセージを受信した後、当該接続依頼メッセージに記載された接続先端末装置に接続する接続依頼処理手段と、
    を備えることを特徴とする請求項4に記載の端末装置。
  7. 前記接続先候補に接続したとき、前記チャンネル識別情報を宛先識別情報とし、前記接続状態情報メッセージを前記ルーティングテーブルに基づいて送信する接続情報通知手段を有する
    ことを特徴とする請求項4〜6のいずれかに記載の端末装置。
  8. 前記接続情報通知処理手段は、
    前記接続先候補に接続した後、前記チャンネル識別情報を宛先識別情報として、前記接続状態情報メッセージを定期的に前記ルーティングテーブルに基づいて送信する
    ことを特徴とする請求項7に記載の端末装置。
  9. 前記メッセージ宛先判定手段は、前記メッセージの宛先識別情報との差が最も小さい前記装置識別情報が自端末装置に割り当てられているときに、前記受信したメッセージが自端末装置宛であると判定する
    ことを特徴とする請求項4〜8のいずれか1項に記載の端末装置。
  10. コンテンツデータを記憶するコンテンツデータ記憶手段と、
    前記コンテンツデータ記憶手段にコンテンツデータを記憶したとき、コンテンツ保持端末装置として機能し、当該記憶したコンテンツデータのコンテンツ識別情報と自端末装置の装置識別情報及び/又は所在情報を含むコンテンツ保持端末装置登録メッセージを生成するコンテンツ保持端末装置登録メッセージ生成手段と、
    前記コンテンツ保持端末装置登録メッセージを、前記記憶したコンテンツデータの識別情報を宛先識別情報として、前記ルーティングテーブルから送信先端末装置を選択して送信するコンテンツ保持端末装置登録メッセージ送信処理手段と、
    受信したメッセージが前記コンテンツ保持端末装置登録メッセージであるとき、前記コンテンツ保持端末装置登録メッセージに含まれる前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を記憶するコンテンツ保持端末情報記憶手段と、
    受信したメッセージが前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を検索するコンテンツ保持端末装置検索メッセージであるとき、前記配信元情報記憶手段に前記コンテンツ保持端末装置検索メッセージのコンテンツデータを保持する前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報の有無を判定する配信元情報判定手段と、
    前記配信元情報判定手段が有りと判定すると、前記配信元情報記憶手段から前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を取り出して配信元情報メッセージを生成し、前記コンテンツ保持端末装置検索メッセージを送信した端末装置へ前記配信元情報メッセージを送信する配信元情報メッセージ送信処理手段と、
    前記配信元情報メッセージを受信した後、当該配信元情報メッセージに記載されているコンテンツ保持端末装置に、コンテンツデータを要求するコンテンツデータ要求メッセージを送信するコンテンツデータ要求メッセージ送信処理手段と、
    を備えたことを特徴とする請求項4〜9いずれか1項に記載の端末装置。
  11. コンテンツデータを記憶するコンテンツデータ記憶手段と、
    前記コンテンツデータ記憶手段にコンテンツデータを記憶したとき、コンテンツ保持端末装置として機能し、当該記憶したコンテンツデータのコンテンツ識別情報と自端末装置の装置識別情報及び/又は所在情報を含むコンテンツ保持端末装置登録メッセージを生成するコンテンツ保持端末装置登録メッセージ生成手段と、
    前記コンテンツ保持端末装置登録メッセージを、前記記憶したコンテンツデータの識別情報を宛先識別情報として、前記ルーティングテーブルから送信先端末装置を選択して送信するコンテンツ保持端末装置登録メッセージ送信処理手段と、
    受信したメッセージが前記コンテンツ保持端末装置登録メッセージであるとき、前記コンテンツ保持端末装置登録メッセージに含まれる前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を記憶するコンテンツ保持端末情報記憶手段と、
    受信したメッセージが前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報を検索するコンテンツ保持端末装置検索メッセージであるとき、前記配信元情報記憶手段に前記コンテンツ保持端末装置検索メッセージのコンテンツデータを保持する前記コンテンツ保持端末装置の装置識別情報及び/又は所在情報の有無を判定する配信元情報判定手段と、
    前記配信元情報判定手段が有りと判定すると、前記配信元情報記憶手段に記憶した情報に基づいて、前記コンテンツ保持端末装置検索メッセージを送信した端末装置へ前記コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデータ配信要求メッセージを生成し、前記コンテンツデータ配信要求メッセージを前記コンテンツ保持端末装置へ送信するコンテンツデータ配信要求メッセージ送信処理手段と、
    前記コンテンツデータ配信要求メッセージを受信した後、当該コンテンツデータ配信要求メッセージに記載されているコンテンツデータを、送信先端末装置に送信するコンテンツデータ送信処理手段と、
    を備えたことを特徴とする請求項4〜9のいずれか1項に記載の端末装置。
  12. コンピュータに、請求項4〜11のいずれか1項に記載の端末装置の各手段として機能させるためのプログラム。
  13. コンテンツデータをストリーミング配信するコンテンツ配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接続され、前記コンテンツ配信装置から送信される前記コンテンツデータが前記階層構造の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によってストリーミング配信されるコンテンツ配信システムにおけるコンテンツ配信方法において、
    前記コンテンツデータがストリーミング配信されるチャンネル毎にチャンネル識別情報が割り当てられ、前記複数の端末装置にはそれぞれ固有の装置識別情報が割り当てられており、
    前記端末装置が、当該コンテンツ配信システムにおける前記装置識別情報のうち一部の装置識別情報と、当該装置識別情報に対応する装置の所在情報とを関連付けたルーティングテーブルを記憶するステップと、
    前記端末装置が、前記階層構造へ参加するとき、前記チャンネル識別情報を宛先識別情報とし、前記ルーティングテーブルに基づいて、前記階層構造への接続先候補に接続するための接続先紹介要求メッセージを送信するステップと、
    前記端末装置が、前記ネットワークを介してメッセージを受信したとき、前記受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するステップと、
    前記端末装置が、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記コンテンツ配信装置又は前記端末装置の接続状態の情報を含む接続状態情報メッセージであるとき、前記接続状態情報を記憶するステップと、
    前記端末装置が、前記メッセージ宛先判定手段により前記受信したメッセージが自端末装置宛であり、かつ、前記受信したメッセージが前記接続先紹介要求メッセージであるときに、前記記憶された前記接続状態情報から接続先候補を選択するステップと、
    を有するコンテンツ配信方法。
JP2006270135A 2006-09-29 2006-09-29 コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム Expired - Fee Related JP4640307B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006270135A JP4640307B2 (ja) 2006-09-29 2006-09-29 コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
PCT/JP2007/065724 WO2008041421A1 (fr) 2006-09-29 2007-08-10 Système et procédé de distribution de contenu, terminal dans le système et support d'enregistrement contenant son programme
US12/382,414 US7894471B2 (en) 2006-09-29 2009-03-16 Content distribution system, content distribution method, terminal apparatus in content distribution system, and recording medium on which program is recorded

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2008092235A JP2008092235A (ja) 2008-04-17
JP4640307B2 true JP4640307B2 (ja) 2011-03-02

Family

ID=39268286

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US7894471B2 (ja)
JP (1) JP4640307B2 (ja)
WO (1) WO2008041421A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4623026B2 (ja) * 2007-03-02 2011-02-02 ブラザー工業株式会社 コンテンツ配信システム、端末装置及びコンテンツ配信方法並びにそれに用いるプログラム
US8250171B2 (en) * 2007-06-22 2012-08-21 Pioneer Corporation Content delivery apparatus, content delivery method, and content delivery program
JP4518169B2 (ja) * 2008-03-24 2010-08-04 ブラザー工業株式会社 ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム
CN101656618B (zh) * 2009-09-11 2012-09-05 中兴通讯股份有限公司 一种基于结构化对等网络的多媒体消息广播方法及***
US8370510B2 (en) * 2009-12-18 2013-02-05 Microsoft Corporation Remote application presentation over a public network connection
KR101631618B1 (ko) * 2010-07-06 2016-06-27 삼성전자주식회사 가상 개인화 그룹 생성 방법 및 가상 개인화 그룹을 이용하는 통신 기기와 허브를 포함하는 네트워크
JP5387596B2 (ja) 2011-02-28 2014-01-15 ブラザー工業株式会社 情報通信システム、情報通信方法、情報処理装置およびプログラム
JP5863615B2 (ja) * 2012-09-28 2016-02-16 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー 画像表示システム及び画像表示装置
TWI540869B (zh) * 2012-10-26 2016-07-01 緯創資通股份有限公司 用於網路系統的點對點傳輸訊息方法及網路系統
JP2014175736A (ja) * 2013-03-06 2014-09-22 Panasonic Corp 中継装置および中継方法
WO2015056601A1 (ja) * 2013-10-16 2015-04-23 日本電信電話株式会社 鍵装置、鍵クラウドシステム、復号方法、およびプログラム
JP6193155B2 (ja) * 2014-03-05 2017-09-06 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
US9866602B2 (en) * 2014-10-16 2018-01-09 Kollective Technology, Inc. Adaptive bit rates during broadcast transmission in distributed content delivery networks
US10230589B2 (en) 2014-12-12 2019-03-12 Oracle International Corporation Methods, systems, and computer readable media for configuring service networks
US9866408B2 (en) 2014-12-12 2018-01-09 Oracle International Corporation Methods, systems, and computer readable media for configuring a flow interface on a network routing element
US9674045B2 (en) * 2014-12-12 2017-06-06 Oracle International Corporation Methods, systems, and computer readable media for modeling packet technology services using a packet virtual network (PVN)
CN105760384A (zh) * 2014-12-18 2016-07-13 Tcl集团股份有限公司 一种基于p2p网络的epg信息检索方法及装置
JP7437722B2 (ja) * 2019-01-31 2024-02-26 コネクトフリー株式会社 データ送信方法、通信処理方法、装置、および通信処理プログラム
CN113127220B (zh) * 2019-12-31 2023-03-14 深圳云天励飞技术有限公司 一种数据下发方法、装置及电子设备
US11785086B1 (en) * 2022-10-05 2023-10-10 Netapp, Inc. Cross-site high-availability distributed cloud storage system to monitor virtual channels between storage nodes and prevent channel sharing of a receive queue

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246790A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法、トポロジ制御装置、クライアント装置、並びにそのプログラム及び記録媒体
JP2006099503A (ja) * 2004-09-30 2006-04-13 Brother Ind Ltd ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4370995B2 (ja) 2004-07-26 2009-11-25 ブラザー工業株式会社 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246790A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法、トポロジ制御装置、クライアント装置、並びにそのプログラム及び記録媒体
JP2006099503A (ja) * 2004-09-30 2006-04-13 Brother Ind Ltd ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム

Also Published As

Publication number Publication date
WO2008041421A1 (fr) 2008-04-10
US20090180493A1 (en) 2009-07-16
JP2008092235A (ja) 2008-04-17
US7894471B2 (en) 2011-02-22

Similar Documents

Publication Publication Date Title
JP4640307B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP4830889B2 (ja) 情報配信システム、情報配信方法及びノード装置等
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
WO2007119413A1 (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP2008059399A (ja) コンテンツ配信システム、コンテンツ配信システムにおける情報処理方法、端末装置及びそのプログラム
WO2007119418A1 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP2008294626A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
US20080120359A1 (en) Information distribution method, distribution apparatus, and node
WO2006059476A1 (ja) データ共有システム、及び複製コンテンツデータ保存制御装置等
WO2006103800A1 (ja) 情報処理装置及び蓄積装置、情報処理方法及び蓄積方法並びに情報処理用プログラム及び蓄積装置用プログラム
WO2008013036A1 (fr) Dispositif de nœud, support d&#39;enregistrement contenant un programme de traitement d&#39;informations, procédé de distribution de contenu et système de distribution de contenu
JP4696972B2 (ja) コンテンツ配信システム、コンテンツ配信システムの情報処理方法および端末装置
JP2006101277A (ja) 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
JP4692278B2 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラム
JP4765876B2 (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP2007336396A (ja) コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログラム
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2008067089A (ja) コンテンツ配信システム及び同システムにおける端末装置及び同端末装置のプログラム及び同端末装置による情報管理方法
JP2008085678A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP4635966B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP2008219431A (ja) データ配信システム及び端末装置及び情報処理方法及びプログラム。
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2008242990A (ja) 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101115

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees