JP4539598B2 - コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラム - Google Patents

コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラム Download PDF

Info

Publication number
JP4539598B2
JP4539598B2 JP2006096097A JP2006096097A JP4539598B2 JP 4539598 B2 JP4539598 B2 JP 4539598B2 JP 2006096097 A JP2006096097 A JP 2006096097A JP 2006096097 A JP2006096097 A JP 2006096097A JP 4539598 B2 JP4539598 B2 JP 4539598B2
Authority
JP
Japan
Prior art keywords
terminal device
channel
content data
connection
terminal
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
JP2006096097A
Other languages
English (en)
Other versions
JP2007274243A (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 JP2006096097A priority Critical patent/JP4539598B2/ja
Publication of JP2007274243A publication Critical patent/JP2007274243A/ja
Application granted granted Critical
Publication of JP4539598B2 publication Critical patent/JP4539598B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラムに関するものである。
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツのデータ(以下、「コンテンツデータ」と呼ぶ。)のストリーミング配信を行うコンテンツ配信サービスが開始され始めている。ここで、ストリーミング配信とは、クライアント端末装置(以下、単に「端末装置」と呼ぶ。)がストリーミング受信できるストリーミング形式でコンテンツデータを配信する配信方法であり、端末装置はストリーミング配信されるコンテンツデータを受信しながら再生することができる。また、ストリーミング配信形態としては、コンテンツデータの配信時間が決められた放送形式のものと、端末装置からの要求に応じて個々の端末装置にストリーミング配信するオンデマンド形式のものがある。
放送形式のコンテンツ配信サービスは、従来、一つのコンテンツ配信装置から複数の端末装置に対して直接コンテンツの配信を行うものが主流であった。
ところが、コンテンツ配信サービスの充実やネットワークへ接続する端末装置の増加に伴い、コンテンツ配信装置に対してコンテンツデータの配信を要求する端末装置が増加し、コンテンツ配信装置の負荷が増大していくのに加え、ネットワークにおけるトラフィックの集中が深刻な影響を及ぼすようになってきた。
このようなコンテンツ配信装置への負荷やトラフィックの増大を回避するため、オリジナルの配信サーバに加え、ミラーサーバやキャッシュなどのサーバをネットワーク内に複数配置することにより負荷分散する技術が実用化されているが、コンテンツを配信するサーバが複数必要となり設備のコストが増大する。
そのため、端末装置間でのコンテンツデータの中継、すなわちP2P通信形態を用いることによりコンテンツ配信装置を増加することなく負荷やトラフィックの集中を低減することができるコンテンツデータ配信システムが提案されている。
このコンテンツデータ配信システムは、コンテンツ配信装置を頂点としたツリー構造で多層に複数の端末装置を論理接続し、コンテンツ配信装置からコンテンツデータを下流の端末装置へ順次配信していくものである。
すなわち、コンテンツ配信装置から配信されたコンテンツデータは、最上位層(第1階層)に位置する端末装置へ配信され、この最上位層に位置する端末装置はコンテンツ配信装置から配信されたコンテンツデータを第2階層に位置する端末装置へ中継し、このコンテンツデータの中継を最下層に位置する端末装置へ配信するまで行うものである。
通常、このようなコンテンツデータ配信システムにおいては、複数の端末装置をツリー構造で論理接続するための接続管理装置がネットワーク上に配置されている。
接続管理装置は、コンテンツ配信システムの階層構造における端末装置の接続状態を管理する機能を有しており、この階層構造に参加していない端末装置からの参加要求を受信すると、階層構造を構成する複数の端末装置のいずれかを選択し、参加要求を行った端末装置に通知する。
この通知を受けた端末装置は、接続管理装置から紹介を受けた接続先候補に対して接続要求することにより、コンテンツ配信システムに参加することができ、これにより、コンテンツ配信装置からのコンテンツデータを上流の端末装置を介して受信できる。
ところで、放送形式のコンテンツデータ配信システムにおいて、複数のチャンネルによりコンテンツデータをストリーミング配信する場合、コンテンツ配信装置を頂点としたツリー型階層構造は、チャンネル毎に構成されることになる。
したがって、端末装置のユーザが、視聴しているチャンネルとは異なるチャンネルのコンテンツデータを視聴するために操作を行った場合、視聴しているチャンネルに対応するツリー型階層構造とは異なるツリー型階層構造に参加することになる。
しかしながら、端末装置のユーザが視聴するチャンネルを切替えたとき、切替先のチャンネルのツリー型階層構造に参加するためには多くの時間を要する。
すなわち、ユーザがチャンネルを切替える操作を行った場合、端末装置は、接続管理装置に対して新たな階層構造における接続先となる他の端末装置を紹介してもらう処理や、NAT(Network Address Translation)を越える処理を行う必要があり、これらの処理が終了するまで新たな階層構造に参加することができず、ユーザがチャンネルを切替える操作を行っても、即座に接続先を切替えることができないのである。
このような問題に対処する方法として、コンテンツデータに他のチャンネルに関する要約データ(ザッピング対策用のコンテンツデータ)を重畳して配信しておくことにより、ユーザによるチャンネル切替操作から端末装置が新たな他の端末装置に接続するまでの時間を短縮させる情報閲覧方法を用いたコンテンツ配信システムが提案されている(たとえば、特許文献1参照。)。
特開2003−324711号公報
チャンネル切替えの時間を短縮するために、コンテンツデータにザッピング対策用のコンテンツデータを重畳すると、その分インターネットのネットワーク上でやり取りするデータ量が増大することとなるため、ネットワークに大きな負荷がかかり、インターネットを利用する他のユーザの迷惑となる。
そこで、本発明は、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間をより短縮することができるコンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラムを提供することを目的とする。
そこで、請求項1に係る本発明では、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する1以上のコンテンツ配信装置と、コンテンツデータをネットワークを介して受信及び再生する複数の端末装置と、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置がネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流への中継を行うコンテンツデータ配信システムにおいて、コンテンツ配信装置は、コンテンツデータをストリーミング配信する配信手段を備え、接続管理装置は、チャンネル毎に階層構造を構成する端末装置の接続状態情報を記憶する接続状態情報記憶手段と、端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択し、当該接続先候補を、接続先紹介要求を送信した端末装置へ通知する接続先候補通知手段とを備え、端末装置は、チャンネルを選択するためのチャンネル選択手段と、ネットワーク上の配信装置、接続管理装置及び他の端末装置と通信するための第1通信手段と、無線信号を送受信することによってネットワークとは異なる経路で隣接する他の端末装置と通信するための第2通信手段とを有する通信手段と、第1通信手段を介して、チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求を接続管理装置へ送信し、その後、接続管理装置から通知された接続先候補に接続する接続手段と、第1通信手段を介して、接続した接続先候補からコンテンツデータを受信する第1受信手段と、第2通信手段を介して、隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、チャンネル選択手段によってチャンネルが選択されたときに、隣接端末情報取得手段により取得したチャンネル番号がチャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、判定手段によりチャンネル番号が一致すると判定されたとき、第2通信手段を介して、チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を他の端末装置に要求し、他の端末装置からコンテンツデータを受信する第2受信手段と、チャンネル選択手段によってチャンネルが選択された後、第1受信手段で受信したコンテンツデータを再生するまでの間、第2受信手段で受信したコンテンツデータを再生する再生手段と、第1通信手段を介して、他の端末装置からコンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ第1通信手段を介して受信したコンテンツデータを転送する中継手段とを備えたことを特徴とする。
また、請求項2に係る本発明では、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する1以上のコンテンツ配信装置と、コンテンツデータをネットワークを介して受信及び再生する複数の端末装置と、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置がネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、コンテンツ配信装置からストリーミング配信されるコンテンツデータがチャンネル毎に端末装置の中継機能により順次階層構造の下流への中継を行うコンテンツデータ配信システムにおけるコンテンツデータ配信方法において、コンテンツ配信装置は、コンテンツデータをストリーミング配信するステップを有し、接続管理装置は、チャンネル毎に階層構造を構成する端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、端末装置から接続先紹介要求を受信したとき、接続状態情報記憶手段に記憶された接続状態情報から接続先候補を選択し、当該接続先候補を、接続先紹介要求を送信した端末装置へ通知するステップとを有し、端末装置は、チャンネルの選択を検出するステップと、ネットワーク上の配信装置、接続管理装置及び他の端末装置と通信するための第1通信手段を介して、チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求を接続管理装置へ送信し、その後、接続管理装置から通知された接続先候補に接続するステップと、第1通信手段を介して、接続した接続先候補からコンテンツデータを受信するステップと、ネットワークとは異なる経路で無線信号を送受信することによって通信するための第2通信手段を介して、隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得するステップと、チャンネルが選択されたときに、取得したチャンネル番号が選択されたチャンネル番号と一致するか否かを判定するステップと、チャンネル番号が一致すると判定されたとき、第2通信手段を介して、選択されたチャンネルのコンテンツデータのストリーミング配信を他の端末装置に要求し、他の端末装置からコンテンツデータを受信するステップと、チャンネルが選択された後、接続先候補から受信した前記コンテンツデータを再生するまでの間、他の端末装置から受信したコンテンツデータを再生するステップと、第1通信手段を介して、他の端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ第1通信手段を介して受信したコンテンツデータを転送するステップとを有することを特徴とする。
また、請求項3に係る本発明では、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する1以上のコンテンツ配信装置と、コンテンツデータをネットワークを介して受信及び再生する複数の端末装置と、チャンネル毎にコンテンツ配信装置を頂点として複数の端末装置がネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、コンテンツ配信装置からストリーミング配信されるコンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおける端末装置において、チャンネルを選択するためのチャンネル選択手段と、ネットワーク上の配信装置、接続管理装置及び他の端末装置と通信するための第1通信手段と、無線信号を送受信することによってネットワークとは異なる経路で隣接する他の端末装置と通信するための第2通信手段とを有する通信手段と、第1通信手段を介して、チャンネル選択手段によって選択されたチャンネルに関する接続先紹介要求を接続管理装置へ送信し、その後、接続管理装置から通知された接続先候補に接続する接続手段と、第1通信手段を介して、接続した接続先候補からコンテンツデータを受信する第1受信手段と、第2通信手段を介して、隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、チャンネル選択手段によってチャンネルが選択されたときに、隣接端末情報取得手段により取得したチャンネル番号がチャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、判定手段によりチャンネル番号が一致すると判定されたとき、第2通信手段を介して、チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を他の端末装置に要求し、他の端末装置から前記コンテンツデータを受信する第2受信手段と、チャンネル選択手段によってチャンネルが選択された後、第1受信手段で受信したコンテンツデータを再生するまでの間、第2受信手段で受信したコンテンツデータを再生する再生手段と、第1通信手段を介して、他の端末装置からコンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ第1通信手段を介して受信したコンテンツデータを転送する中継手段とを有することを特徴とする。
また、請求項4に係る本発明では、請求項3に記載の端末装置において、判定手段によりチャンネル番号が一致すると判定されたとき、端末装置の接続手段は、チャンネル選択手段によってチャンネルが選択されてから所定期間待って接続先候補に接続することを特徴とする。
また、請求項5に係る本発明では、請求項4に記載の端末装置において、端末装置は、チャンネル毎のコンテンツデータに関する、再生手段による平均再生期間を検出する平均再生時間検出手段を備え、端末装置の接続手段は、平均再生期間を所定期間として前記接続先候補に接続することを特徴とする。
また、請求項6に係る本発明では、請求項4又は請求項5に記載の端末装置において、端末装置の前記接続手段は、隣接端末情報取得手段によって端末情報の取得ができないとき、又は判定手段によりチャンネル番号が一致しないと判定されたとき、チャンネル選択手段によってチャンネルが選択されてから所定期間を待たずに接続先候補に接続することを特徴とする。
また、請求項7に係る本発明では、請求項4から6のいずれか1項に記載の端末装置において、端末装置の前記接続手段は、チャンネル選択手段によってチャンネルが選択されてから所定期間内にさらにチャンネル選択手段によって別のチャンネルが選択されると、チャンネルに対する接続先候補への接続を行わないことを特徴とする。
また、請求項8に係る本発明では、請求項4から7のいずれか1項に記載の端末装置において、端末装置は、端末装置の隣接端末情報取得手段によって取得した端末情報から他の端末装置がNAT(ネットワークアドレス置換)ルータに接続されていると判定すると、接続手段による接続動作の前に、他の端末装置と自端末装置との通信接続を行うために必要な、NATルータのNAT(ネットワークアドレス置換)テーブルの設定を行うNATテーブル設定手段を有することを特徴とする。
また、請求項9に係る本発明では、請求項4から8のいずれか1項に記載の端末装置において、端末情報は、他の端末装置にネットワークを介して接続することができるか否かの情報を含み、端末装置は、隣接端末情報取得手段により取得した端末情報に基づいて、第2受信手段によりコンテンツデータを受信している他の端末装置にネットワークを介して接続することができるか否かを判定する接続可否判定手段を備え、端末装置の接続手段は、接続可否判定手段により他の端末装置に接続できると判定されると、第1通信手段を介して、当該他の端末装置に接続することを特徴とする。
また、請求項10に係る本発明では、請求項9に記載の端末装置において、接続可否判定手段により接続できると判定された他の端末装置と自端末装置との間のルータ数を検出するルータ数検出手段を備え、端末装置の接続手段は、接続可否判定手段により接続できると判定された他の端末装置のうち、ルータ数検出手段により検出されたルータ数が所定値以下の端末装置があるとき、当該他の端末装置に第1通信手段を介して接続し、ルータ数が所定値よりも大きいとき、第1通信手段を介して前記接続先候補に接続することを特徴とする。
また、請求項11に係る本発明では、請求項9に記載の端末装置において、接続可否判定手段により接続できると判定された他の端末装置と自端末装置との間の通信時間を検出する通信時間検出手段を備え、端末装置の接続手段は、接続可否判定手段により接続できると判定された他の端末装置のうち、通信時間検出手段により検出された通信時間が所定値以下の端末装置があるとき、当該端末装置に第1通信手段を介して接続し、通信時間が所定値よりも大きいとき、第1通信手段を介して前記接続先候補に接続することを特徴とする。
また、請求項12に係る本発明では、請求項4から10のいずれか1項に記載の端末装置において、第2通信手段と、チャンネル選択手段と、隣接端末情報取得手段と、判定手段と、再生手段とを少なくとも第1ユニットに収納し、第1通信手段と、接続手段と、第1受信手段と、中継手段と、第1ユニットと無線通信を行う第3通信手段とを少なくとも第2ユニットに収納し、第2通信手段は、第3通信手段と無線通信可能に構成されていることを特徴とする。
また、請求項13に係る本発明では、コンピュータに、請求項4〜12のいずれか1項に記載の端末装置の各手段として機能させるためのプログラムを提供することとした。
本発明によれば、以下に記載するような効果を奏する。すなわち、請求項1に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおいて、ユーザによるチャンネル切替え操作が行われてから、端末装置とコンテンツデータを配信する装置との有線通信による接続が完了するまでの間、無線通信によりコンテンツデータを受信できるように構成したため、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間を可及的に短縮してチャンネルの切替えをスムーズに行うことができるコンテンツデータ配信システムを提供することができる。
また、請求項2に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおけるコンテンツデータ配信方法において、ユーザによるチャンネル切替え操作が行われてから、端末装置とコンテンツデータを配信する装置との有線通信による接続が完了するまでの間、無線通信によりコンテンツデータを受信できるように構成したため、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間を可及的に短縮してチャンネルの切替えをスムーズに行うことができるコンテンツデータ配信方法を提供することができる。
また、請求項3に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおいてユーザが使用する端末装置において、ユーザによるチャンネルを切替え操作が行われてから、端末装置とコンテンツデータを配信する装置との有線通信による接続が完了するまでの間、無線通信によりコンテンツデータを受信できるように構成したため、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間を可及的に短縮してチャンネルの切替えをスムーズに行うことができる端末装置を提供することができる。
また、請求項4に係る本発明によれば、ユーザがチャンネル選択によって指定したチャンネルを第2通信手段によって検出された隣接端末装置が視聴中であるという状態を踏まえ、所定期間待ってから第1通信手段を介して取得した接続先候補へ接続するので、コンテンツ配信システムにおけるコンテンツデータの配信経路を構成する階層構造の論理接続関係への外乱を少なくすることができる。
また、請求項5に係る本発明によれば、ユーザによる過去の視聴状態を考慮して請求項4に示す所定時間を決定するため、第1通信手段によるコンテンツのストリーミング受信が行われる前に実施される第2通信手段によるコンテンツのストリーミング受信の所定時間を適切に決めることができる。
また、請求項6に係る本発明によれば、ユーザにより選択されたコンテンツデータを受信している他の端末が地理的に近接する位置に存在しない場合であっても確実にユーザが所望するコンテンツデータを受信することができる。
また、請求項7に係る本発明によれば、短時間のうちに頻繁にチャンネル切替えを行うザッピング状態が検出されたときに、第1通信手段によるコンテンツのストリーミング受信の開始を留保するので、コンテンツ配信システムにおけるコンテンツデータの配信経路を構成する階層構造の論理接続関係への外乱を少なくすることができる。
また、請求項8に係る本発明によれば、無線通信によりユーザが所望するチャンネルのコンテンツデータを受信している間に、隣接端末情報取得手段によって取得した端末情報を用いて有線通信による接続のために必要なNATテーブルの設定処理を行うことができるので、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間をより一層短縮することができる。
また、請求項9に係る本発明によれば、第2通信手段により得られた隣接端末情報から、隣接する端末装置に対して第1通信手段を介して直接接続できると判定された場合には、接続管理装置へ接続先紹介要求を発行して接続先を取得すること無く、直接隣接する端末装置へ接続するので、接続先紹介装置に対する接続先紹介要求の発行が集中しない。
また、請求項10、11に係る本発明によれば、第2通信手段により得られた隣接端末情報から、隣接する端末装置がネットワーク的に近いと判定された場合に限って第1通信手段を介して直接接続するので、第1通信手段を介して該端末装置へ接続した後にネットワークへ与える負荷を軽減できる。また、通信の速度や安定性にも寄与することができる。
また、請求項12に係る本発明によれば、請求項4乃至請求項12に示す発明を実施するに当たって、ネットワーク機器等に接続して有線通信を行う端末装置のユニット1と、ユーザがリモコン等を介して送った指示を受けるユニット2の筐体を分離することができるので、ユーザに対する端末装置の機器使用上の利便性を向上させることができる。
また、請求項13に係る本発明によれば、複数のチャンネルでそれぞれコンテンツデータをネットワークを介してユーザにストリーミング配信する放送型のコンテンツデータ配信システムにおいて、ネットワークに負荷をかけることなく、ユーザによるチャンネル切替え操作が行われてからコンテンツデータを再生するまでの時間をより一層短縮することができる端末装置の動作プログラムを提供することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施形態は、P2Pを用いたツリー構造によるコンテンツ配信システムであって、放送形式でコンテンツ配信装置から配信されるコンテンツデータを、ツリー状階層構造を構成する端末装置がP2Pを用いて受信する放送形式のコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
まず、図1を参照して、コンテンツ配信システムSの概要構成等について説明する。
図1は、本実施形態に係るコンテンツ配信システムSの概要構成例を示す図である。図1に示すように、本実施形態に係るコンテンツ配信システムSは、放送形式のコンテンツ配信システムであり、複数のコンテンツデータをそれぞれ別個にストリーミング配信するための複数の配信チャンネル(以下、単に「チャンネル」と呼ぶ、)を有している。たとえば、1チャンネルは、コンテンツ配信装置1を頂点として複数の端末装置2a1,2a2,2b1〜2b4,2c1〜2c8が論理的にツリー状階層構造で接続されており、コンテンツ配信装置1からコンテンツデータが当該ツリー構造の上層から下層にかけてストリーミング配信されるように構成される。他のチャンネル(2チャンネル〜nチャンネル)においても、同様な構成をとる。
また、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8(図4では、端末装置2d1、2d2、2e1〜2e4、2f1)のいずれかの端末装置又はすべての端末装置を示す場合には、便宜上、端末装置2という場合がある。
また、コンテンツ配信システムSには、接続管理装置3を有しており、この接続管理装置3が各チャンネルのツリー状階層構造を管理している。
コンテンツ配信装置1、端末装置2a1,2a2,2b1〜2b4,2c1〜2c8、接続管理装置3には、各々IPアドレスが割り当てられており、これら装置は、ネットワークの一例としてのインターネット4にルータ10等を介して接続されている。すなわち、目的の接続先端末装置のIPアドレスを宛先IPアドレス、自装置のIPアドレスを送信元IPアドレスとしたヘッダを含むパケットを送信することによって通信接続が可能となっている。
なお、接続管理装置3をコンテンツ配信装置1の内部に有することとしてもよい。この場合には接続管理装置3にはIPアドレスは割り当てなくてもよく、コンテンツ配信装置1のIPアドレスと共用するようにしてもよい。また、コンテンツ配信装置1は、コンテンツ配信システムSを構成する複数のチャンネル(ここでは、1チャンネル〜nチャンネルとする。)のコンテンツデータを配信するものとしてもよく、一方でそれぞれのチャンネル毎にコンテンツ配信装置1が設けられるようにしてもよい。本実施形態においては、それぞれのチャンネル毎にコンテンツ配信装置1を設けるようにしており、第1コンテンツ配信装置1a1が1チャンネルのコンテンツデータをストリーミング配信し、第2コンテンツ配信装置1a2が2チャンネルのコンテンツデータをストリーミング配信するものとして説明する(図4参照)。
また、第1階層の端末装置2a1,2a2と2d1,2d2は便宜上それぞれ端末装置2a、2dと、第2階層の端末装置2b1〜2b4と2e1〜2e4は便宜上それぞれ端末装置2b、2eと、第3階層の端末装置2c1〜2c8、2f1は便宜上それぞれ端末装置2c、2fという場合がある。
このコンテンツ配信システムSは、第1及び第2コンテンツ配信装置1a1、1a2を頂点(ここでは、便宜上第0階層とする。)として複数の端末装置2がツリー状階層構造で多層に論理接続されるように接続管理装置3によって管理される。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限られず、複数の端末装置2がチェーン状の階層構造で多層に論理接続されるようにしてもよい。
接続管理装置3は、コンテンツ配信システムSに参加していない端末装置2、言い換えればツリー状階層構造を構成していない端末装置2から接続先紹介要求を受信すると、コンテンツ配信システムSのツリー状階層構造の状態等に基づいて、その端末装置2がストリーミング配信を受けるための上流の端末装置として接続する接続先候補(コンテンツ配信装置1又は端末装置2)を選択する。そして、このように選択した接続先候補の所在情報(接続先候補のIPアドレスやポート番号など)及び通信プロトコル等を通知する。
なお、コンテンツ配信システムSにおいて、すでに通信プロトコルやポート番号が固定されているときには、端末装置2へのポート番号及び通信プロトコルは通知しなくてもよい。ここで、通信プロトコルとして、MMS(Microsoft Media Server)プロトコル、RTSP(Real Time Streaming Protocol)等が用いられる。また、コンテンツデータの形式として、ASF(Advanced Streaming Format)、WMA(Windows(登録商標) Media Audio)、WMV(Windows(登録商標) Media Video)等が用いられる。
端末装置2は、接続管理装置3から接続先候補の所在情報を受信すると、そのIPアドレスの接続先候補に対して、コンテンツ配信システムSへの参加(接続)を要求し、これにより端末装置2がコンテンツ配信システムSにおける階層構造へ組み込まれる。すなわち、端末装置2はコンテンツ配信装置1から配信されるコンテンツデータを受信可能となる。
コンテンツ配信システムSは、このように端末装置2が次々と参加することによって、コンテンツ配信装置1を頂点として複数の端末装置2がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置1から配信されるコンテンツデータは、端末装置2の中継機能により順次下層の端末装置2へ中継されて複数の端末装置2にストリーミング配信される。
すなわち、図1に示すように、1チャンネルにおいては、コンテンツ配信装置1から端末装置2a1,2a2(第1層の端末装置)へコンテンツデータが送信され、端末装置2a1,2a2はコンテンツデータを受信すると、下層の端末装置2b1〜2b4(第2階層の端末装置)へ受信したコンテンツデータを順次中継する。端末装置2b1〜2b4はコンテンツデータを受信すると、下層の端末装置,2c1〜2c8(第3階層の端末装置)へ受信したコンテンツデータを順次中継する。
なお、端末装置2は、組み込まれた階層構造の位置の上層の端末装置2又はコンテンツ配信装置1の所在情報と、その位置の下層の端末装置2の所在情報とを後述の主記憶装置207に記憶しており、このように記憶した所在情報に基づいて、コンテンツデータの中継を行なうようにしている。また、配信されるコンテンツデータは、複数のパケットに分割されて順次配信されるものであり、このようにパケットに分割されて配信されるデータをコンテンツパケットという。
このように端末装置2へ配信されるコンテンツデータは、コンテンツ配信システムSに参加しているすべての端末装置2へ配信される。配信されるコンテンツデータには、音楽や映画などコンテンツのデータのほか、再生時刻の情報(以下、「再生時刻データ」という。)が含まれている。そして、コンテンツデータを受信した複数の端末装置2は、順次送信されるコンテンツデータの再生を再生時刻データに基づいて行なう。
このようにして、コンテンツ配信システムSは、コンテンツ配信装置1から送信されたコンテンツデータが複数の端末装置2にストリーミング配信され、複数の端末装置2において同時刻にコンテンツを再生することができる。すなわち、P2Pを用いて複数の端末装置2への放送形式のストリーミング配信を実現している。
上述のように本実施形態におけるコンテンツ配信システムSは、複数のコンテンツデータをそれぞれストリーミング配信する複数のチャンネルを有している。端末装置2のユーザは、所望のチャンネルを選択し、選択したチャンネルにおける自端末装置2の接続先装置(以下、「接続先候補」とする。)を接続管理装置3から取得する。そして、その接続先候補に接続することによって所望のチャンネルの階層構造に参加し、この階層構造における自端末装置2の上層に位置する装置からコンテンツデータを受信し、再生(以下、「視聴」ともいう。)する。
このように端末装置2があるチャンネルの階層構造に参加した後、この端末装置2のユーザがチャンネルを切替える場合がある。ユーザが現在視聴中のチャンネルとは異なるチャンネルを選択してチャンネル切替え(以下、「ザッピング」ともいう。)を行った場合、従来のコンテンツ配信システムSにおける端末装置2は、参加しているチャンネルの階層構造から脱退し、ユーザにより選択されたチャンネルの階層構造への参加を上述の手順で行っていた。
従来では、参加しているあるチャンネルの階層構造から別のチャンネル階層構造へ参加する際に、接続管理装置3から接続先候補の情報を受け取るための処理、及びその接続先候補へ接続するためのNAT(network Address Translation)越え等の処理を行うといった一連の接続処理を行っていた。そのため、従来のコンテンツ配信システムSにおける端末装置2では、切替え先のチャンネルのコンテンツデータを受信して再生するまでの時間、コンテンツデータが再生されない状態が発生していた。このようなコンテンツデータが再生されない期間(空白期間)は端末装置2のユーザに不快感を与える要因となる。
そこで、本実施形態における端末装置2においては、地理的に近い場所に設置されている複数の他の端末装置(以下、「隣接端末装置」という。)2との間で定期的に無線通信を行うことにより、複数の隣接端末装置2のネットワーク上における所在情報を含む、当該隣接端末装置2に関する様々な情報(以下、「端末情報」という。)を取得すると共に、ユーザがザッピングを行う場合には、この端末情報を参照して、ユーザが選択したチャンネルで配信されているコンテンツデータを受信中の隣接端末装置2を検索し、該当した隣接端末装置2から無線通信により所定期間コンテンツデータを受信するようにしている。
[2.チャンネル切り替え方式の説明]
そして、この端末装置2では、上記隣接端末装置2から無線通信によりコンテンツデータを受信している間に、そのコンテンツデータを送信している隣接端末装置2の下流側に接続可能であるか否かを判断すると共に、接続可能であると判断した場合には、ザッピングのための処理を行い、その処理が終了した後に、コンテンツデータを送信している隣接端末装置2下流側に接続して、有線通信によりコンテンツデータの受信を行うようにしている。
図2は、本実施形態における各端末装置2の有線、及び、無線通信による通信形態を示す説明図である。図2に示すように、各端末装置2は、それぞれ有線の電話回線ケーブル等に接続されており、この電話回線ケーブル等を介してユーザが所望するチャンネルのコンテンツデータを配信しているコンテンツ配信装置1又は他の端末装置2と接続することにより、接続したコンテンツ配信装置1又は他の端末装置2から配信される所望のコンテンツデータを受信して視聴できるように構成している。
さらに、各端末装置2は、定期的に(例えば、1分おきに)無線LAN等の電波を用いて近隣の端末装置2同士間で相互に無線通信を行うことにより、自端末装置2に関する情報を端末情報として隣接端末装置2へ送信すると共に、複数の隣接端末装置2から端末情報を受信するようにしている。
そして、複数の隣接端末装置2から送信されてくる隣接端末情報は、各端末装置2内部に順次記憶され、新たな端末情報が送信されてくるたびに更新される。
図3は、端末装置2に記憶された隣接端末情報の一例を示す説明図であり、ここでは、7つの隣接端末装置2に関する端末情報を示している。
図3に示すように、端末情報は、装置番号と、所在情報と、接続中チャンネルと、下流接続可否と、ポップ数と、RTT(Round Trip Time)という6つの項目に別れており、各端末装置では、この6つの項目を各隣接端末装置2毎にそれぞれ対応させて記憶、管理するようにしている。
ここで、端末番号とは、各端末装置2のそれぞれ割り当てられたユニークな番号である。
また、所在情報とは、各隣接端末装置2のネットワーク上における所在地を示す情報であり、隣接端末装置2が優先通信で使用しているローカルアドレスに割り当てられているNATルータにおける外側(インターネット側)のアドアレス(グローバルアドレス)である。
また、接続中チャンネルは、隣接端末装置が現在接続しているチャンネルのチャンネル番号を示す情報である。
また、下流接続可否は、各隣接端末装置2が、新たな他の端末装置2を自端末装置2の階層構造における下流側に接続可能な状態であるか否かを示すフラグである。
また、ポップ数は、自端末装置2がネットワーク上において隣接端末装置2との間で情報を送受信する場合に経由するルータ10の数を示す情報である。
また、RTTは、自端末装置2から隣接端末装置へパケットを送信してから、再び自端末装置2に戻ってくるまでの時間を示す情報である。
ここで、ポップ数とRTTに関しては、端末装置2が隣接端末情報として得た所在情報を使って、隣接端末装置2との間で有線通信を介して計測用パケットを送受信することで測定する。
そして、各端末装置2では、ユーザによるチャンネル切替え操作があったとき、のこの端末情報に基づいて、ユーザが選択したチャンネルに接続している隣接端末装置2を検索し、この検索にヒットした隣接端末装置2との間で有線通信による接続が確立するまでの間、当該検索にヒットした隣接端末装置2から無線通信によりコンテンツデータを受信することによって、ユーザがザッピングのための操作を行ってからユーザが選択したチャンネルで配信されているコンテンツデータを再生するまでの時間を可及的に短くするようにしている。
ここで、図4及び図5を参照して、本実施形態におけるチャンネル切り替え(ザッピング)について、さらに具体的に説明する。
図4は、1チャンネルのコンテンツデータがストリーミング配信されている階層構造と、2チャンネルのコンテンツデータがストリーミング配信されている階層構造とを示す説明図であり、図5は、端末装置2で行われるザッピングを時間の流れでみた説明図である。
図4に示すように、1チャンネル側では、第1コンテンツ配信装置1a1(0階層)を頂点とした階層構造が構築されており、この第1コンテンツ配信装置1a1に1階層を構成する端末装置2a1、2a2が接続されている。また、端末装置2a1には2階層を構成する端末装置2b1、2b2が接続され、端末装置2a2には2階層を構成する端末装置2b3、2b4が接続されている。
そして、2階層の端末装置2b4の下流側には、3階層を構成する端末装置2c1が接続されており、ここでは、この端末装置2c1をザッピング前の自端末装置2として説明する。
また、2チャンネル側では、第2コンテンツ配信装置1a2(0階層)を頂点とした階層構造が構築されており、この第2コンテンツ配信装置1a2に1階層を構成する端末装置2d1、2d2が接続されている。また、端末装置2d1には2階層を構成する端末装置2e1、2e2が接続され、端末装置2d2には2階層を構成する端末装置2e3、2e4が接続されている。なお、2チャンネル側において2階層の端末装置2e1の下流に接続されている端末装置2f1は、ザッピング前の自端末装置2c1がザッピングを行うことにより、2チャンネル側の階層構造に参加した状態を示すものであり、ここではザッピング後の自端末装置2f1と呼ぶ。
いま、1チャンネルの階層構造に参加して第1コンテンツ配信装置1a1から配信されているコンテンツデータを視聴しているザッピング前の自端末装置2c1のユーザが、2チャンネルを選択する操作を行ったとする。
ここで、ザッピング前の自端末装置2c1は、現在2チャンネルの第2コンテンツ配信装置1a2から配信されているコンテンツデータを受信中の隣接端末措置2が存在するか否かを判定する。
このとき、2チャンネルのコンテンツデータを受信している近接端末措置2が存在するか否かは、図3に示した端末情報を判断基準として用いることにより判断することができる。
すなわち、ザッピング前の自端末装置2c1は、まず、端末情報における接続中チャンネルの項目を参照して、現在2チャンネルのコンテンツデータを受信中の隣接端末装置2が存在するか否かの判断を行う。
図4では、2チャンネル側の階層構造における2階層の端末装置2e1が、ザッピング前の自端末装置2c1の隣接端末装置2であって、現在2チャンネルのコンテンツデータを受信中の端末装置2であるものとする。
そして図4に示すように、2チャンネルのコンテンツデータを受信中の隣接端末装置2e1が存在した場合には、その隣接端末装置2e1との間で無線通信を開始して、その隣接端末装置2e1から2チャンネルのコンテンツデータを、無線通信を用いて受信して再生するようにしている。
すなわち、ザッピング前の自端末装置2c1は、隣接端末装置2e1に対して、2チャンネルのコンテンツデータの無線通信によるストリーム送信依頼を要求する。このストリーム送信依頼を受信した隣接端末装置2e1は、無線通信の空きチャンネルをストリーム送信用にアサイン(割り当て)してストリーム送信要求を送信してきた端末装置2c1との間で無線通信による接続を確立する。
そして、ストリーム送信要求を送信してきた端末装置2c1へ、現在上流に接続している端末装置2d1から有線通信を介して受信している2チャンネルのコンテンツデータの送信を開始する。
そして、隣接端末装置2e1から2チャンネルのコンテンツデータを無線通信により受信した自端末装置2c1は、そのコンテンツデータをデコーダによりデコードして再生する。
なお、この自端末装置2c1は、ユーザにより選択されたチャンネル(ここでは、2チャンネル)のコンテンツデータを受信中の隣接端末装置2e1が存在すると判断した時点で、その隣接端末装置2eとの間で有線通信による接続を行うために必要なNAT越えの処理を事前に行うようにしている。
ここで、NAT越えの処理とは、隣接端末装置2e1が接続しているルータ10の外部を宛先として自端末装置2c1が隣接端末装置2e1へIPパケットを送信できる状態にすると共に、自端末装置2c1が接続しているルータ10の外部を宛先として隣接端末装置2e1が自端末装置2c1へIPパケットを送信できる状態にするための処理である。すなわち、この処理は、NATルータのNATテーブルにこれから有線通信で通信を行う2つの端末装置2間(ここでは、自端末装置2c1と隣接端末装置2e1との間)の通信コネクションを記憶させる処理であり、たとえば、UDP(User Datagram Protocol)を用いて通信する場合には、自端末装置2c1と隣接端末装置2e1が同時に相手側の端末装置2へIPパケットを送信することで上記目的を達するUDPHolePunchingと呼ばれる技術を用いる。
その後、図5に示すように、自端末装置2c1は、無線通信によるコンテンツデータの受信が所定(固定)時間継続されている間にユーザによるザッピングの操作が行われなかった場合には、現在受信しているコンテンツデータの送信元である近隣端末装置2e1との間で有線通信を行うための接続処理を開始する。
このように、本実施形態の端末装置2では、無線通信によるコンテンツデータの受信が所定時間継続した後に、近隣端末装置2e1との間で有線通信を行うための接続処理を開始することにより、頻繁にザッピングが行われることに起因して階層構造の論理接続関係が不安定になることを防止するようにしている。
ここで、自端末装置2c1は、再度、図3に示す端末情報を参照して、現在無線通信によりコンテンツデータのストリーム配信を受けている隣接端末装置2e1が、階層構造における下流側に接続可能な状態であるか否かの判断を行う。
すなわち、自端末装置2c1は、隣接端末装置2e1に関する下流接続可否の項目を参照し、当該隣接端末装置2e1の下流接続可否を示すフラグがOKを示すものであるか否かを判断する。
このとき、下流接続可否を示すフラグがOKを示していると判断した場合には、さらに、その隣接端末装置2に関するポップ数とRTTとを参照して自端末装置2c1とのネットワーク上における近接度が高いか否かの判断を行う。
ここでは、ポップ数が所定の閾値以下であり、且つ、RTTが所定の閾値以下であった場合に、ネットワーク上における近接度が高いと判断する。
その結果、ポップ数が所定の閾値以下であり、且つ、RTTが所定の閾値以下であると判断した場合に、その隣接端末装置2が、現在2チャンネルの第2コンテンツ配信装置1a2から配信されているコンテンツデータを受信中で、その下流側に接続可能な隣接端末措置2であると判断して、隣接端末装置2e1との有線通信による接続を確立するための処理を開始する。
そして、この有線通信による接続を確立するための処理が終了すると、ザッピング前の自端末装置2c1は、図4に示すように、ザッピング後の自端末装置2f1として隣接端末装置2e1との有線通信による接続が確立する。その後、ザッピング後の端末装置2f1は、隣接端末装置2e1に対して、有線通信によるコンテンツデータのストリーム送信依頼を送信する。
隣接端末装置2e1は、このストリーム送信依頼を受信すると、ストリーム送信依頼を送信してきた端末装置2f1を下流に接続した端末装置2として登録し、図5に示すように、その端末装置2f1へ現在上流に接続している端末装置2d1から受信している2チャンネルのコンテンツデータを有線通信により送信する。
そして、有線通信によりこのコンテンツデータを受信し始めると、ザッピング後の自端末装置2f1は、受信したコンテンツデータをデコードして再生する。
このように、本実施形態の端末装置2によれば、ユーザによるザッピングの操作が行われてから、ユーザが選択したチャンネルの階層構造に参加して有線通信によりコンテンツデータを受信して再生するまでの間、そのコンテンツデータを上流の端末装置2から受信中の隣接端末装置2から無線通信により受信して再生するように構成しているため、ユーザがザッピングの操作をしてから、そのユーザが選択したチャンネルのコンテンツデータを再生するまでの時間を可及的に短縮することができ、スムーズなザッピングを行うことができる。
しかも、この端末装置2では、従来の端末技術で見られるように、コンテンツデータに他のチャンネルに関する要約データ(ザッピング対策用のコンテンツデータ)を重畳して配信することがないのでP2P通信によるインターネットへ負荷をかけることがない。
また、ここでは、ザッピングの操作をしたユーザが選択したチャンネルのコンテンツデータを受信中の隣接端末装置2e1が存在し、且つ、その隣接端末装置2e1が下流側にザッピングをする自端末装置2c1を接続可能な状態であった場合について説明したが、自端末装置2c1の地理的近隣にユーザが選択したチャンネルのコンテンツデータを受信中の隣接端末装置2e1が存在しない場合や、仮に存在しても、その隣接端末装置2e1が下流側に端末装置2を接続できない場合、もしくは、端末装置2を接続可能な状態であるが、接続する接続する端末装置2とのネットワーク上における近接度が低い場合には、以下に説明する通常接続を行う。
すなわち、通常接続を行う場合に端末装置2は、まず、接続管理装置3に接続して、接続管理装置から、ユーザが選択したチャンネルのコンテンツデータを配信可能な他の端末装置2、又は、コンテンツ配信装置1の候補を取得する。
次に、端末装置2は、取得した候補の中から選択した装置(他の端末装置2、又は、コンテンツ配信装置1)との間で有線通信による接続を確立すべく上記したNAT越えのための処理を行い、有線通信による接続を確立した装置とのネットワーク上における近接度を計測する。
すなわち、有線通信による接続を確立した装置に関するポップ数及びRTTを取得して、ポップ数及びRTTがそれぞれに対して設定された所定の閾値以下である場合に、その装置へストリーム送信依頼を送信し、ポップ数又はRTTが所定の閾値よりも大きい場合には、他の候補に対して、上記したNAT越えの処理、及び、ネットワーク上における近接度の計測を繰り返し行う。
ストリーム送信依頼を受信した装置は、当該ストリーム送信依頼を送信してきた端末装置2を下流側に接続した装置であるとして登録し、その端末装置2へコンテンツデータの送信を開始する。
このコンテンツデータを受信し始めると、端末装置2は、受信したコンテンツデータをデコードして再生する。
また、上記自端末装置2c1では、図5に示したように、隣接端末装置2e1から無線通信によりコンテンツデータの受信を開始してから所定時間が経過した後に、隣接端末装置2e1と有線通信による接続を行うようにしているが、本発明は、これに限定されるものではなく、例えば、図6に示すように、自端末装置2c1が隣接端末装置2e1から無線通信によりコンテンツデータの受信を開始したら、即座に隣接端末装置2e1との有線通信による通信を行うための接続処理を開始し、この接続処理が完了した時点で速やかに隣接端末装置2e1によるストリーム送信を停止するようにしてもよい。
この場合は、有線通信によって形成されている配信経路への参加時間を短縮するかたちとなる。
また、予め各端末装置2のザッピング間隔を端末情報と共に管理しておき、ザッピング間隔の平均時間に応じて、無線通信によるコンテンツデータのストリーム送信の開始から、有線通信による通信を行うための接続処理を開始するまでの時間を可変に設定するようにしてもよい、
こうすることにより、図7に示すように、無線通信によるコンテンツデータのストリーム送信の開始から、有線通信による通信を行うための接続処理を開始するまでの時間を可変に設定することができ、これにより、ユーザのチャンネル切替えに関する行動特性に応じた切替え処理を実現することができる。。
以下、コンテンツ配信システムSを構成するコンテンツ配信装置1、端末装置2及び接続管理装置3についてそれらの具体的な構成及び動作について図面を参照して説明する。
[3.コンテンツ配信装置1の構成等の説明]
次に、図8を参照して、コンテンツ配信装置1の構成及び動作について説明する。
図8は、本実施形態におけるコンテンツ配信装置1の概略構成例を示す図である。コンテンツ配信装置1は、一般のサーバコンピュータを適用可能であり、図8に示すように、CPU(Central Processing Unit)302と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置としての主記憶装置305と、各種データ等を記憶するハードディスク装置303と、インターネット4を介して端末装置2や接続管理装置3との間で通信を行うネットワークインタフェース304と、所定の情報を入力可能なキーボード307やマウス308等の入力手段を制御する周辺機器制御チップ306と、CPU302からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ310に表示するビデオチップ309と、ビデオチップ309から送信される信号に応じた表示を行うディスプレイ310と、FM音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ311と、音源チップ311から出力されるオーディオ信号を音波に変換する内蔵スピーカ312とを備えて構成され、これらの各種構成要素はシステムバス301を介して相互に接続されている。
なお、ネットワークインタフェース304は、ルータ320を介してインターネット4に接続される。このルータ320は、図1に示すルータ10に相当するものである。
なお、本実施形態においては、CPU302と主記憶装置305とで制御部330を構成している。また、コンテンツ配信装置1には、上述のようにディスプレイ(液晶ディスプレイ等)310等が接続されるようになっており、例えば、コンテンツ配信システムSを運用する放送運営者は、このディスプレイ310を見ながら入力手段から所定の情報を入力することができる。
(主記憶装置305ついて)
また、主記憶装置305には、コンテンツ配信装置1のコンピュータとしての基本的な機能を提供するためのOS(オペレーティングシステム)プログラム317と、ハードディスク装置303に記憶されたコンテンツデータを取り出して端末装置2へストリーミング配信するためのストリーム制御プログラム315と、チャンネル毎に各階構造の各端末装置2の所在情報(IPアドレスやポート番号など)の管理等を行なうためのトポロジー管理プログラム316と、ディスプレイ310を制御するための画面制御プログラム318と、エンコードされたコンテンツデータをデコードしたり、放送用コンテンツ313のコンテンツデータをデコードするためのデコーダプログラム319と、ハードディスク装置303から読み出した放送用コンテンツ313を端末装置2へ送信する前に一時的に記憶するリングバッファ314等を記憶しており、これらはCPU302によって読み出され、CPU302によってこれらのプログラムに従った機能が実行される。
ここで、OSプログラム317は、CPU302によって読み出されて実行されることにより、キーボード307やマウス308の入出力に関する機能や、主記憶装置305やハードディスク装置303どのメモリ管理などのコンテンツ配信装置1であるコンピュータの基本的な機能を実行可能にするものである。
そして、このOSプログラム317がCPU302によって実行された状態で、上述のストリーム制御プログラム315、トポロジー管理プログラム316、画面制御プログラム318、デコーダプログラム319とが主記憶装置305から読み出されて実行される。
なお、OSプログラム317、ストリーム制御プログラム315、トポロジー管理プログラム316、画面制御プログラム318、デコーダプログラム319等は、例えば、インターネット4に接続されたサーバ等から主記憶装置305にダウンロードされるようにしてもよく、また、CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、主記憶装置305に読み込まれるようにしてもよい。
(制御部330について)
制御部330は、上述のようにCPU302と主記憶装置305とから構成され、CPU302が主記憶装置305に記憶された各種プログラム315〜319を読み出して実行することにより、コンテンツ配信装置1全体を統括制御し、かつ、後述する配信手段等として機能するようになっている。なお、CPU302がストリーム制御プログラム315を実行することによって、配信手段等として、またCPU302がトポロジー管理プログラム316を実行することによって、トポロジー管理手段として、また、CPU302が画面制御プログラム318を実行することによって、表示制御手段等として、CPU302がデコーダプログラム319を実行することによって、再生手段としてそれぞれ機能するようになっている。
(配信手段について)
配信手段は、キーボード307などの入力手段によって、指定されたコンテンツデータを放送用コンテンツ313から取り出し、ネットワークインタフェース304を介して、第1階層の端末装置2a等にストリーミング配信する。
この配信手段による端末装置2a等へのストリーミング配信は、以下の手順で実行される。
配信手段は、予め設定されたコンテンツに対応するコンテンツデータを放送用コンテンツ313から順次取り出してリングバッファ314に記憶させる。
次に、配信手段は、リングバッファ314から取り出したコンテンツデータを、ストリーミング配信用のデータ形式、たとえばASF、WMA、WMV等のデータ形式にエンコードする。
その後、配信手段は、第1階層の端末装置2a等に対して、それぞれ対応するコンテンツデータを所定容量毎に分割しながらコンテンツパケットに格納し、ネットワークインタフェース304を介して、このコンテンツパケットへ送信する。
(トポロジー管理手段)
コンテンツ配信装置1は、1つのコンテンツ配信装置1に1つのチャンネルを割り振られており、トポロジー管理手段は、割り振られたチャンネルに構成されるツリー状階層構造の第1階層に参加している端末装置2の所在情報(IPアドレスやポート番号など)を管理している。そして、上述の配信手段はトポロジー管理手段が管理する端末装置2のIPアドレスを宛先アドレスとし、配信用IPアドレスを送信元として端末装置2へコンテンツデータの配信を行なう。
(表示制御手段について)
表示制御手段は、ビデオチップ309及びディスプレイ310を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、ディスプレイ310にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
(再生手段について)
再生手段は、放送用コンテンツ313の中からコンテンツデータをディスプレイ310に表示したり、内蔵スピーカ312から出力したりする機能を有している。
[3.端末装置2の構成等の説明]
次に、図9を参照して、端末装置2の構成及び動作について説明する。
図9は、本実施形態における端末装置2の概略構成例を示す図である。端末装置2は、一般のパーソナルコンピュータあるいは専用端末を適用可能であり、図9に示すように、CPU(Central Processing Unit)202と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置207と、各種データ等を記憶するハードディスク装置203と、インターネット4を介してネットワーク上のコンテンツ配信装置1や接続管理装置3及び他の端末装置2との間で有線通信による通信を行うための第1通信手段として機能するネットワークインタフェース206と、ユーザが端末装置2を遠隔操作するために所定の赤外線信号を送信及び受信するユーザ入力用リモコン210と、このユーザ入力用リモコン210と赤外線により通信を行なうための赤外線ポート209と、赤外線ポート209を制御する周辺機器制御チップ208と、CPU202からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ212に表示するビデオチップ211と、ビデオチップ211から送信される信号に応じた表示を行う内蔵ディスプレイ212と、FM音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ213と、音源チップ213から出力されるオーディオ信号を音波に変換する内蔵スピーカ214とを備えて構成され、これらの各種構成要素はシステムバス201を介して相互に接続されている。
また、この端末装置2のシステムバス201には、この端末装置2と地理的に近接した場所に設置されている他の端末装置(隣接端末装置)2との間で、無線信号を送受信することによってインターネット4のネットワークとは異なる経路で通信するための第2通信手段として機能する無線通信インタフェース204が接続されており、この無線通信インタフェース204には、無線信号を送受信するアンテナ205が接続されている。
そして、この端末装置2では、この無線通信インタフェース204と上記ネットワークインタフェース206とにより通信手段を構成している。
なお、本実施形態においては、CPU202と主記憶装置207とで制御部230を構成している。また、ネットワークインタフェース206は、ルータ223を介して、インターネット4に接続されている。このルータ223は、図1に示すルータ10に相当するものである。
ここで、ユーザ入力用リモコン210は、コンテンツ配信システムSのチャンネルを選択するためのチャンネル選択手段としてチャンネル選択ボタン(図示せず)を有しており、端末装置2のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。
(主記憶装置207について)
また、主記憶装置207には、端末装置2のコンピュータとしての基本的な機能を提供するためのOSプログラム219と、コンテンツ配信装置1から直接又は他の端末装置2に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下流の端末装置2へストリーミング送信するためのストリーム制御プログラム216と、ツリー接続された一層上流の端末装置2(或いはコンテンツ配信装置1)の所在情報(IPアドレスやポート番号)とツリー接続された一層下流の端末装置2の所在情報の管理等を行なうためのトポロジー制御プログラム217と、内蔵ディスプレイ212を制御するための画面制御プログラム220と、上流の装置からストリーミング受信したコンテンツデータをデコードして再生するためのデコーダプログラム221と、上記した隣接端末装置2の端末情報の記憶及び管理を行う端末情報管理プログラム222と、隣接端末装置2及び有線通信で接続している他の端末装置2とのネットワーク上における近接度や、端末情報の更新情報等を監視する端末装置監視プログラム218等を記憶しており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。
また、主記憶装置207には、ストリーミング受信したコンテンツデータを順次記憶すると共に、記憶したコンテンツデータのうち再生が終了したコンテンツデータ、及び、下流に接続している他の端末装置2が存在する場合にはその端末装置2への配信が終了したコンテンツデータを順次消去するリングバッファ215が設けられている。
ここで、OSプログラム219は、CPU202によって読み出されて実行されることにより、ユーザ入力用リモコン210の入出力に関する機能や、主記憶装置207やハードディスク装置203などのメモリ管理などの端末装置2であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム219がCPU202によって実行された状態で、上述のストリーム制御プログラム216、トポロジー制御プログラム217、画面制御プログラム220、デコーダプログラム221、端末情報管理プログラム222、端末装置監視プログラム218等が主記憶装置207から読み出されて実行される。
なお、OSプログラム219、ストリーム制御プログラム216、トポロジー制御プログラム217、画面制御プログラム220、デコーダプログラム221、端末情報管理プログラム222、端末装置監視プログラム218等は、例えば、インターネット4に接続されたサーバ等から主記憶装置207にダウンロードされるようにしてもよく、また、CD−ROM等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、主記憶装置207に読み込まれるようにしてもよい。
(制御部230について)
制御部230は、上述のようにCPU202と主記憶装置207とから構成され、CPU202が主記憶装置207に記憶された各種プログラム216〜222を読み出して実行することにより、端末装置2全体を統括制御し、かつ、後述する接続手段、第1受信手段、第2受信手段、隣接端末情報取得手段、判定手段、再生手段、中継手段、平均再生時間検出手段、NATテーブル設定手段、接続可否判断手段、ルータ数検出手段、通信時間検出手段等として機能するようになっている。
なお、CPU202がストリーム制御プログラム216を実行することによって第1受信手段、第2受信手段、中継手段等として、またCPU202がトポロジー制御プログラム217を実行することによって、接続手段、トポロジー管理手段、NATテーブル設定手段、中継依頼受信手段等として、またCPU202が画面制御プログラム220を実行することによって表示制御手段等として、さらにCPU202がデコーダプログラム221を実行することによって再生手段等として、さらにCPU202が端末情報管理プログラム222及び端末装置監視プログラム218を実行することによって、隣接端末情報取得手段、判定手段、平均再生時間検出手段、接続可否判定手段、ルータ数検出手段、通信時間検出手段等として、それぞれ機能するようになっている。
(接続手段について)
接続手段は、端末装置2をコンテンツ配信システムSへ参加させるために、チャンネル選択手段であるユーザ入力用リモコン210のチャンネル選択ボタンのユーザによる操作によって選択されたチャンネルに関する接続先紹介要求を接続管理装置3へ送信し、その後、接続管理装置3から通知された接続先候補に接続する。
より具体的には、接続手段は、端末装置2をコンテンツ配信システムSへ参加させるために、接続管理装置3へ接続先紹介要求を送信して接続管理装置3へ登録すると共に、接続管理装置3へ接続先候補を要求する機能を有している。この接続先紹介要求には、端末装置2のユーザがユーザ入力用リモコン210のチャンネル選択ボタン等を操作することによって選択されるチャンネルを指定した情報及び自端末装置2の所在情報等を含む。
また、接続手段は、自端末装置2があるチャンネルに接続している状態で、端末装置2のユーザがユーザ入力用リモコン210等を操作することによってチャンネルの切替え操作を行ったときには、その切替え操作によって新たに接続すべきチャンネルの階層構造に参加している上記隣接端末装置2のうち、所定の条件を満たす隣接端末装置2に接続する。
これにより端末装置2は一のチャンネルから新たなチャンネルへの接続の切替えを行うことができる。なお、ユーザ入力用リモコン210のチャンネル切替えボタンを設けずに、後述の表示制御手段を動作させてディスプレイにチャンネルの選択画面を表示させ、ユーザ入力用リモコン210操作によって選択させるようにしてもよい。
また、接続手段は、接続管理装置3へ送信した接続先紹介要求に対して、接続管理装置3から通知される接続先候補の情報、すなわち接続先候補の端末装置の所在情報であるIPアドレスやポート番号などの情報(以下、接続先候補の情報を含めて、「接続先候補」と略することがある。)を受信する機能を有する。
さらに、接続手段は、受信した接続先候補の情報に基づいて、その接続先候補への接続を行う機能を有する。すなわち、接続手段は、接続先候補の情報に基づいて、接続先候補のIPアドレス及びポート番号等をあて先とした接続要求を行い、接続先候補との論理接続を行う。このように接続先候補と接続することによって自端末装置2をツリー状階層構造の一部に組み込むことが可能となる。
(第1受信手段について、)
第1受信手段は、ネットワークインタフェース206を介して接続した接続先候補である他の端末装置2又はコンテンツ配信装置1からコンテンツデータを受信するものであり、具体的には、階層構造における一層上流の端末装置2或いはコンテンツ配信装置1からストリーミング配信されるコンテンツパケットを受信する。
(隣接端末情報取得手段について)
隣接端末情報取得手段は、無線通信インタフェース204を介して、複数の隣接端末装置2が選択しているチャンネル番号を含む端末情報を取得する。具体的には、図3に示すように、隣接端末装置の装置番号、所在情報、接続中チャンネル、下流接続可否、ポップ数、RTT等に関する情報を取得する。
(判定手段について)
判定手段は、ユーザによるユーザ入力用リモコン210の操作によってチャンネルが選択されたときに、隣接端末情報手段により取得したチャンネル番号が、ユーザ入力用リモコン210により選択されたチャンネル番号と一致するか否かを判定する。
すなわち、判定手段は、上記端末情報を参照することにより、ユーザがユーザ入力用リモコン210を操作することにより選択したチャンネルのコンテンツデータを現在受信中である隣接端末装置2が存在するか否かを判定するものである。
そして、この判定手段により、チャンネル番号が一致すると判定されときに、上記接続手段は、ユーザによるユーザ入力用リモコン210の操作によってチャンネルが選択された後、チャンネル番号が一致した隣接端末装置2から後述の第2受信手段により無線通信インタフェース204を介してコンテンツデータが受信される所定期間を待って、接続候補である隣接端末装置2にネットワークインタフェース206を介して接続するようにしている。
(第2受信手段について)
第2受信手段は、判定手段によりチャンネル番号が一致すると判定されたときに、無線通信インタフェース204を介して、ユーザによるユーザ入力用リモコン210の操作によって選択されたチャンネルのコンテンツデータのストリーミング配信を、当該チャンネル番号が一致すると判定された隣接端末装置2に要求し、その隣接端末装置2からコンテンツデータを受信する。
(再生手段について)
再生手段は、無線通信インタフェース204又はネットワークインタフェース206によってストリーミング受信したコンテンツデータをリングバッファ215に順次記憶すると共に順次再生する機能を有している。
そして、この再生手段は、ユーザによるユーザ入力用リモコン210の操作によってチャンネルが選択された後、ネットワークインタフェース206で受信したコンテンツデータを再生するまでの間、無線通信インタフェース204を介して受信したコンテンツデータを再生する。
この再生手段は、音源チップ213やビデオチップ211を動作させることによってこの機能を実現しており、リングバッファ215に格納したコンテンツデータを順次取り出して、所定のコンテンツデータ形式(たとえば、Wave形式)に変換して音源チップ213やビデオチップ211へ入力し、コンテンツの再生を行う。
再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディオ情報が音源チップ213によってオーディオ信号へ変換された後、内蔵スピーカ214から出力される。
また、再生手段によって所定のコンテンツデータ形式に変換されたコンテンツデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表示制御手段による制御によってこの映像情報が内蔵ディスプレイ212に表示される。
また、再生手段は、リングバッファ215に格納されたコンテンツデータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタイミングを決定する。すなわち、再生手段は、リングバッファ215に格納されたコンテンツデータをその再生開始時刻で内蔵スピーカ214や内蔵ディスプレイ212に出力するように構成されている。
(中継手段について)
中継手段は、ネットワークインタフェース206を介して、他の端末装置2からコンテンツデータの中継依頼を受信し、当該中継依頼を行った他の端末装置2へネットワークインタフェース206を介して受信したコンテンツデータを転送する。
また、この中継手段は、隣接端末装置2から無線通信インタフェース204を介して中継依頼を受信した場合には、まず、無線通信インタフェース204を介して、中継依頼を行った隣接端末装置2へコンテンツデータを転送し、その後、接続手段により、自端末装置2と中継依頼を行った隣接端末装置2との間で有線通信による接続が確立したときに、無線通信インタフェース204を介した無線通信によるコンテンツデータの転送を停止し、ネットワークインタフェース206を介した有線通信によるコンテンツデータの転送を開始するようにしている。
(平均再生時間検出手段について)
平均再生時間検出手段は、チャンネル毎のコンテンツデータに関する、上記再生手段による平均再生期間を検出する。
すなわち、この平均再生時間検出手段は、各隣接端末装置2毎に、その隣接端末装置2が1つのチャンネルのコンテンツデータを継続して受信している平均時間を、各チャンネル毎に検出する。
そして、上記接続手段は、この平均再生時間検出手段により検出した平均再生期間の間、第2受信手段により無線通信インタフェース204を介して隣接端末装置2からコンテンツデータが受信されるのを待って、その隣接端末装置2とネットワークインタフェース206を介して有線通信により接続するようにしている。
ただし、接続手段は、隣接端末情報取得手段によって、接続候補である隣接端末装置2の端末情報が取得できないとき、又は、判定手段によりチャンネル番号が一致しないと判断されたときには、この平均再生時間検出手段により検出した平均再生期間を待たずに、接続管理装置3から通知された接続先候補である他の端末装置2にネットワークインタフェース206を介して接続するようにしている。
また、接続手段は、ユーザによるユーザ入力用リモコン210の操作によりチャンネルが選択されてから、この平均再生時間検出手段により検出した平均再生期間内に、さらにユーザ入力用リモコン210の操作が操作されることによって、別のチャンネルが選択された場合には、当該別のチャンネルに対する接続先候補である他の端末装置2には接続しないようにしている。
(NATテーブル設定手段について)
NATテーブル設定手段は、隣接端末情報取得手段によって取得した端末情報における所在情報から他の端末装置2がNAT(ネットワークアドレス置換)ルータに接続されていると判定すると、接続手段による接続動作の前に、他の端末装置2と自端末装置2との通信接続を行うために必要な、NATルータのNATテーブルの設定を行う。
すなわち、NATテーブル設定手段は、NATルータのNATテーブルに有線通信で通信を行う2つの端末装置2間(ここでは、自端末装置2と隣接端末装置2との間)の通信コネクションを記憶させる処理であり、UDP(User Datagram Protocol)を用いて通信する場合には、自端末装置2と隣接端末装置2が同時に相手側の端末装置2へIPパケットを送信することでNATテーブルの設定を行う。
また、このNATテーブル設定手段が行うNAT越えの処理はこれに限らず、たとえば、UPnP規格に規定されているようにNATルータのNATテーブルを設定しておく方法、RFC3489:Simple Traversal of UDP through NATなどに規定されたUDPを用いる方法、或いはSTUNサーバやTeredeサーバなどを利用する方法などを用いても良い。
具体的には、UPnPを用いたNAT越え処理を行う場合、NATテーブル設定手段は、NATルータに対してポート番号のマッピングの生成リクエストを送信することによって行う。
NATルータは、端末装置2からポート番号のマッピングの生成リクエストを受信すると、端末装置2におけるローカルIPアドレスと、NATルータのインターネット側の所定ポート番号とを関連付けてNATテーブルに登録する。
このようにNATテーブルを設定することによって、NATルータのIPアドレスとその所定ポート番号とを含む通信パケットがNATルータによって受信されると、NATテーブルを参照し、この所定ポート番号に対応する当該端末装置2へその通信パケットをポートフォワードすることになる。
このようにUPnP規格によるNAT越えを行った後、端末装置はNATテーブルに設定したポート番号をお互いに知らせあうようにして、端末装置同士のP2P接続をすぐに行うことができるようにしておく。
(接続可否判定手段について)
接続可否判定手段は、隣接端末情報取得手段により取得した端末情報に基づいて、第2受信手段によりコンテンツデータを受信している隣接する他の端末装置2にネットワークを介して有線通信により接続することができるか否かを判定する。
すなわち、接続可否判断手段は、端末情報に含まれる他の端末装置2にネットワークを介して接続することができるか否かの情報である下流側接続可否のフラグがOKを示すものであった場合に接続可能であると判断し、下流側接続可否のフラグがNGを示すものであった場合に接続不可能であると判断する。
そして、この接続可否判断手段により他の端末装置2にネットワークを介して接続できると判定されると、接続手段は、第1通信手段を介して、当該他の端末装置に接続する。
(ルータ数検出手段について)
ルータ数検出手段は、接続可否判定手段により接続できると判定された他の端末装置2と自端末装置2との間で有線通信による通信を行う際に経由するルータ数を、端末情報におけるポップ数を参照することにより検出する。
そして、接続手段は、接続可否判定手段により接続できると判定された他の端末装置2のうち、このルータ数検出手段により検出されたルータ数が所定値以下の端末装置2があるとき、当該他の端末装置2が自端末装置2とネットワーク上において近接していると判断して第1通信手段を介して接続し、ルータ数が所定値よりも大きいとき、第1通信手段を介して接続管理装置3から通知される接続先候補の端末装置2に接続する。
(通信時間検出手段について)
通信手段検出手段は、接続可否判定手段により接続できると判定された他の端末装置2と自端末装置2との間の通信時間を、端末情報のRTTを参照することによって検出する。
そして、接続手段は、接続可否判定手段により接続できると判定された他の端末装置2のうち、通信時間検出手段により検出された通信時間が所定値以下の端末装置2があるとき、当該他の端末装置2が自端末装置2とネットワーク上において近接していると判断して第1通信手段を介して接続し、通信時間が所定値よりも大きいとき、第1通信手段を介して接続管理装置3から通知される接続先候補に接続する。
(表示制御手段について)
表示制御手段は、ビデオチップ211及び内蔵ディスプレイ212を制御して、コンテンツデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ212にどのようにコンテンツの映像や各種情報を表示するかを制御することができる。
また、ここでは、本実施形態の端末装置2として、チャンネル選択手段、第1通信手段、第2通信手段、接続手段、第1受信手段、第2受信手段、隣接端末情報取得手段、判定手段、再生手段、中継手段、平均再生時間検出手段、NATテーブル設定手段、接続可否判定手段、ルータ数検出手段、通信時間検出手段という各種手段を1つのユニットに収納した端末装置2を例に挙げて説明を行ったが、本発明はこれに限定されるものではなく、上記各種手段の機能を端末装置2の使用形態に応じて複数のユニットに分割して収納させることもできる。
(端末装置の変形例について)
ここでは、端末装置2の変形例として、上記した第1通信手段と、接続手段と、第1受信手段と、中継手段と、後述する第2ユニットとの間で無線通信を行う第3通信手段とを少なくとも第1ユニットに収納し、
上記した第2通信手段と、チャンネル選択手段と、隣接端末情報取得手段と、判定手段と、再生手段と、第1ユニットとの間で無線通信を行う第3通信手段とを少なくとも第2ユニットに収納した端末装置2について説明する。
この端末装置2は、図10に示すように、第1ユニットとしてのストリーム中継制御モジュール500と、第2ユニットとしてのユーザインターフェースモジュール513とにより構成されている。
そして、ストリーム中継制御モジュール500は、主に、インターネット等のネットワークと有線通信により接続して、ネットワークに接続している他の端末装置2やコンテンツ配信装置1等の配信経路上流側の装置からコンテンツデータをストリーム受信して記憶すると共に、記憶したコンテンツデータを順次下流側に接続している他の端末装置2へコンテンツデータをストリーム送信するストリーム中継機能を担うものである。
また、ユーザインターフェースモジュール513は、主に、ストリーム中継制御モジュール500が受信したコンテンツデータを無縁通信により受信して再生する機能、及び、地理的に近い場所に設置されている他の端末装置(隣接端末装置)2との間で無線通信を行うことにより、隣接端末装置2の端末情報を受信・管理して、ユーザによるザッピングを円滑に行えるようにする機能を担うものである。
(ストリーム中継制御モジュールの構成について)
以下、図10を参照してストリーム中継制御モジュール500の構成について、具体的に説明する。
図10に示すように、ストリーム中継制御モジュール500は、一般のパーソナルコンピュータあるいは専用端末を適用可能であり、第1CPU(Central Processing Unit)502と、各種プログラム等を記憶(格納)する書き換え可能な第1主記憶装置504と、インターネット4を介してネットワーク上のコンテンツ配信装置1や接続管理装置3及び他の端末装置2との間で有線通信による通信を行うための第1通信手段として機能するネットワークインタフェース503とを備えて構成され、これらの各種構成要素は第1システムバス501を介して相互に接続されている。
また、このストリーム中継制御モジュール500の第1システムバス501には、このストリーム中継制御モジュール500とユーザインターフェースモジュール513との間で無線信号を送受信することによって、ユーザインターフェースモジュール513へのコンテンツデータの送信、及び、ユーザインターフェースモジュール513からの各種制御信号の受信するための第3通信手段として機能する無線通信インタフェース505が接続されており、この無線通信インタフェース505には、無線信号を送受信するアンテナ506が接続されている。
そして、このストリーム中継制御モジュール500では、この無線通信インタフェース505と上記ネットワークインタフェース503とにより通信手段を構成している。
なお、本実施形態においては、第1CPU502と第1主記憶装置504とで第1制御部560を構成している。また、ネットワークインタフェース503は、ルータ507を介して、インターネット4に接続されている。このルータ507は、図1に示すルータ10に相当するものである。
(第1主記憶装置について)
また、第1主記憶装置504には、ストリーム中継制御モジュール500のコンピュータとしての基本的な機能を提供するためのOSプログラム510と、コンテンツ配信装置1から直接又は他の端末装置2に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下流の端末装置2へストリーミング送信するためのストリーム制御プログラム509と、ツリー接続された一層上流の端末装置2(或いはコンテンツ配信装置1)の所在情報(IPアドレスやポート番号)とツリー接続された一層下流の端末装置2の所在情報の管理等を行なうためのトポロジー制御プログラム511等を記憶しており、これらは第1CPU502によって読み出され、第1CPU502によってこれらのプログラムに従った機能が実行される。
また、第1主記憶装置504には、ストリーミング受信したコンテンツデータを順次記憶すると共に、記憶したコンテンツデータのうちユーザインターフェースモジュール513への転送が終了したコンテンツデータ、及び、下流に接続している他の端末装置2が存在する場合にはその端末装置2への配信が終了したコンテンツデータを順次消去するリングバッファ508が設けられている。
ここで、OSプログラム510は、第1CPU502によって読み出されて実行されることにより、第1主記憶装置504などのメモリ管理などのストリーム中継制御モジュール500であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム510が第1CPU502によって実行された状態で、上述のストリーム制御プログラム509、トポロジー制御プログラム511等が第1主記憶装置504から読み出されて実行される。
なお、OSプログラム510、ストリーム制御プログラム509、トポロジー制御プログラム511等は、例えば、インターネット4に接続されたサーバ等から主記憶装置207にダウンロードされるようにしてもよく、また、CD−ROM等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第1主記憶装置504に読み込まれるようにしてもよい。
(第1制御部について)
第1制御部560は、上述のように第1CPU502と第1主記憶装置504とから構成され、第1CPU502が第1主記憶装置504に記憶された各種プログラム509〜511を読み出して実行することにより、ストリーム中継制御モジュール500全体を統括制御し、かつ、図9に示す端末装置2の接続手段、第1受信手段、中継手段と同様に機能するようになっている。
(ユーザインターフェースモジュールの構成について)
図10に示すように、ユーザインターフェースモジュール513は、一般のパーソナルコンピュータあるいは専用端末を適用可能であり、図10に示すように、第2CPU(Central Processing Unit)515と、各種プログラム等を記憶(格納)する書き換え可能な第2主記憶装置519と、各種データ等を記憶するハードディスク装置516と、ユーザがユーザインターフェースモジュール513を遠隔操作するために所定の赤外線信号を送信及び受信するユーザ入力用リモコン522と、このユーザ入力用リモコン522と赤外線により通信を行なうための赤外線ポート512と、赤外線ポート512を制御する周辺機器制御チップ520と、第2CPU515からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ524に表示するビデオチップ523と、ビデオチップ523から送信される信号に応じた表示を行う内蔵ディスプレイ524と、FM音源(Frequency Modulation)やWave Table音源などの音源を有する音源チップ525と、音源チップ525から出力されるオーディオ信号を音波に変換する内蔵スピーカ526とを備えて構成され、これらの各種構成要素は第2システムバス514を介して相互に接続されている。
また、このユーザインターフェースモジュール513の第2システムバス514には、このユーザインターフェースモジュール513とストリーム中継制御モジュール500との間で、無線信号を送受信することによってストリーム中継制御モジュール500からのコンテンツデータの受信、及び、ストリーム中継制御モジュール500への各種制御信号の送信を行うための無線通信インタフェース517が接続されており、この無線通信インタフェース517には、無線信号を送受信するアンテナ518が接続されている。
そして、このユーザインターフェースモジュール513では、この無線通信インタフェース517により通信手段を構成している。なお、本実施形態においては、第2CPU515と第2主記憶装置519とで第2制御部570を構成している。
ここで、ユーザ入力用リモコン522は、コンテンツ配信システムSのチャンネルを選択するためのチャンネル選択手段としてチャンネル選択ボタン(図示せず)を有しており、端末装置2のユーザはこのチャンネル選択ボタンによって所望のチャンネルに接続することができる。
(第2主記憶装置519について)
また、第2主記憶装置519には、ユーザインターフェースモジュール513のコンピュータとしての基本的な機能を提供するためのOSプログラム530と、コンテンツ配信装置1から直接又は他の端末装置2に中継されてストリーミング配信されるコンテンツデータをストリーム受信及び下流の端末装置2へストリーミング送信するためのストリーム制御プログラム527と、内蔵ディスプレイ524を制御するための画面制御プログラム531と、上流の装置からストリーミング受信したコンテンツデータをデコードして再生するためのデコーダプログラム532と、隣接端末装置2及び有線通信で接続している他の端末装置2とのネットワーク上における近接度や、端末情報の更新情報等を監視する端末装置監視プログラム258等を記憶しており、これらは第2CPU515によって読み出され、第2CPU515によってこれらのプログラムに従った機能が実行される。
また、第2主記憶装置519には、複数の隣接端末装置2から取得する端末情報を記憶して管理するための端末装置管理情報529が記憶されている。
ここで、OSプログラム530は、第2CPU515によって読み出されて実行されることにより、ユーザ入力用リモコン522の入出力に関する機能や、第2主記憶装置519やハードディスク装置516などのメモリ管理などのユーザインターフェースモジュール513であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム530が第2CPU515によって実行された状態で、上述のストリーム制御プログラム527、画面制御プログラム531、デコーダプログラム532、端末装置監視プログラム528等が第2主記憶装置514から読み出されて実行される。
なお、OSプログラム530、ストリーム制御プログラム527、画面制御プログラム531、デコーダプログラム532、端末装置監視プログラム528等は、例えば、インターネット4に接続されたサーバ等から第2主記憶装置519にダウンロードされるようにしてもよく、また、CD−ROM等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、第2主記憶装置519に読み込まれるようにしてもよい。
(第2制御部について)
第2制御部570は、上述のように第2CPU515と第2主記憶装置519とから構成され、第2CPU515が第2主記憶装置519に記憶された各種プログラム527、528、530〜532を読み出して実行することにより、ユーザインターフェースモジュール513全体を統括制御し、かつ、図9に示す端末装置2の第2受信手段、隣接端末情報取得手段、判定手段、再生手段、平均再生時間検出手段、NATテーブル設定手段、接続可否判断手段、ルータ数検出手段、通信時間検出手段等と同様に機能するようになっている。
このように、端末装置2が備える機能を、その使用形態に応じて2つのユニットに分割して担わせることにより、端末装置2の使い勝手をより向上させることができる。
たとえば、インターネットルータの設置場所の近くにストリーム中継制御モジュール500を設け、ユーザの居室にユーザインターフェースモジュール513を設けることができ、この場合、ユーザインターフェースモジュール513は、その機能を縮小させている分、図9に示す端末装置2より小型に構成できるため、ユーザの居室において端末装置2が占めるスペースを可及的に縮小することができる。
しかも、ユーザインターフェースモジュール513は、無線通信によりストリーム中継制御モジュール500からコンテンツデータを受信して再生することができるので、無線通信に使用するチャンネル数を増設して、1つのストリーム中継制御モジュール500を設けると共に、複数のユーザにユーザインターフェースモジュール513を所持させれば、各ユーザが自身の居室でそれぞれコンテンツデータを視聴することができる。
[4.接続管理装置3の構成等の説明]
次に、図11を参照して、接続管理装置3の構成及び動作について説明する。
図11は、本実施形態における接続管理装置3の概略構成例を示す図である。接続管理装置3は、一般のサーバコンピュータを適用可能であり、図11に示すように、CPU(Central Processing Unit)402と、各種プログラム等を記憶(格納)する書き換え可能な主記憶装置405と、各種データ等を記憶するハードディスク装置403と、インターネット4を介してコンテンツ配信装置1や端末装置2との間で通信を行うネットワークインタフェース404と、所定の情報を入力可能なキーボード407やマウス408等の入力手段を制御する周辺機器制御チップ406と、CPU402からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述のディスプレイ410に表示するビデオチップ409とを備えて構成され、これらの各種構成要素はシステムバス401を介して相互に接続されている。
なお、本実施形態においては、CPU402と主記憶装置405とで制御部430を構成している。なお、ネットワークインタフェース404は、ルータ418を介して、インターネット4に接続されている。このルータ418は、図1に示すルータ10に相当するものである。
(主記憶装置405について)
また、主記憶装置405には、接続管理装置3のコンピュータとしての基本的な機能を提供するためのOSプログラム416と、チャンネルに接続される複数の端末装置2の所在情報(IPアドレスやポート番号など)などを管理するための端末管理プログラム413と、各チャンネルのツリー状階層構造を構築及び管理等するためのトポロジー管理プログラム414と、端末装置2から送信される接続先紹介要求に対応するチャンネルの接続先候補を選択し、端末装置2へ接続先候補の情報を送信等するための接続先紹介プログラム417と、コンテンツ配信システムSの運用を管理等するための運用管理プログラム415等を記憶しており、これらはCPU402によって読み出され、CPU402によってこれらのプログラムに従った機能が実行される。
ここで、OSプログラム416は、CPU402によって読み出されて実行されることにより、キーボード407やマウス408の入出力に関する機能や、主記憶装置405やハードディスク装置403などのメモリ管理などの接続管理装置3であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム416がCPU402によって実行された状態で、上述の端末管理プログラム413、トポロジー管理プログラム414、接続先紹介プログラム417、運用管理プログラム415等が実行される。
なお、OSプログラム416、端末管理プログラム413、トポロジー管理プログラム414、接続先紹介プログラム417、運用管理プログラム415等は、例えば、インターネット4に接続されたサーバ等から主記憶装置405にダウンロードされるようにしてもよく、また、CD−ROM等の記憶媒体に記録されてから当該記憶媒体のドライブを介して、主記憶装置405に読み込まれるようにしてもよい。
(制御部430について)
制御部430は、上述のようにCPU402と主記憶装置405とから構成され、CPU402が主記憶装置405に記憶された各種プログラム413〜417を読み出して実行することにより、接続管理装置3全体を統括制御し、かつ、後述する接続先候補選択手段、通知手段、トポロジー管理手段、端末管理手段等として機能させ、さらにハードディスク装置403を接続状態情報記憶手段として使用する。
なお、CPU402が端末管理プログラム413を実行することによって、端末管理手段等として、またCPU402がトポロジー管理プログラム414を実行することによってトポロジー管理手段等として、さらにCPU402が接続先紹介プログラム417を実行することによって接続先候補選択手段、通知手段等として、それぞれ機能し、本実施形態では、これら接続先候補選択手段と通知手段とにより接続先候補通知手段を構成するようになっている。
(端末管理手段について)
端末管理手段は、端末装置2からの登録要求を受信すると、端末管理データベース412へこの端末装置2の所在情報であるIPアドレスなどをチャンネル毎に登録する。また、コンテンツ配信装置1からの登録要求を受信した場合も、このコンテンツ配信装置1の所在情報であるIPアドレスなどを各チャンネル毎に端末管理データベース412に登録する。なお、これらの端末装置2の所在情報は端末装置2からの登録要求に含まれ、この登録要求から所在情報を取得する。
(トポロジー管理手段について)
トポロジー管理手段は、コンテンツ配信装置1から送信される新規チャンネル生成要求に基づいて、新規チャンネルのツリー状階層構造を生成するための新規トポロジー生成手段と、端末装置2の接続先紹介要求や接続切断通知などのトポロジー変動通知によってチャンネルにおける端末装置2の接続情報を変更するトポロジー変更手段としての機能を有している。また、トポロジー管理手段は、チャンネル毎に階層構造を構成する端末装置2の接続状態情報を接続状態情報記憶手段としてのトポロジーデータベース411へ記憶する。
新規トポロジー生成手段は、コンテンツ配信装置1から新規チャンネル生成要求を受信すると、新規チャンネルのトポロジーテーブルを生成してトポロジーデータベース411へ登録する。ここで、トポロジーテーブルは、チャンネル毎に階層構造を構成する端末装置2の接続状態情報などを格納するためのテーブルであり、チャンネルごとに生成されてトポロジーデータベース411に登録される。
トポロジー変更手段は、トポロジーデータベース411に記憶される複数のトポロジーテーブルに端末装置2の情報を追加又は削除する機能を実行するものであり、端末装置2からの接続先紹介要求トポロジー参加報告に基づいて、トポロジーテーブルへの追加又は変更を行うものである。
(接続先候補選択手段について)
接続先候補選択手段は、チャンネルに新規に参加しようとする端末装置2から接続先紹介要求を受信したとき、接続先紹介要求に対応するチャンネルの階層構造において、当該階層構造を構成する端末装置2の接続先紹介要求に対する接続先候補を、トポロジーデータベース411に記憶された接続状態情報から選択する。
(通知手段について)
通知手段は、接続先候補選択手段によって選択された接続先候補を、接続先紹介要求を送信した端末装置2へ通知する機能を有する。この接続先候補の通知は、接続先候補の情報、すなわち接続先候補の端末装置2の通信プロトコル、IPアドレスやポート番号などの情報を含む。
[5.コンテンツ配信システムSの動作]
以下、端末装置2及び接続管理装置3の詳細動作について、フローチャートを用いて更に具体的に説明する。
(端末装置2の処理フローの説明)
まず、端末装置2の更に具体的な動作について、図12〜図17を参照して説明する。図12は端末装置2における処理全体を示すフローチャート、図13は端末装置2におけるチャンネル切替え処理を示すフローチャート、図14は端末装置2における接続変更処理を示すフローチャート、図15は端末装置2における接続前処理を示すフローチャート、図16は端末装置2における接続確立処理を示すフローチャート、図17は端末装置2におけるコンテンツデータ送信開始/停止処理を示すフローチャートである。
まず、図12を参照して、端末装置2における処理全体の概要を説明する。
まず、端末装置2の電源がONされると、端末装置2では各プログラム216〜222の初期化が行われ(ステップS101)、各プログラム216〜222をCPU202による実行状態とし、制御部230としての機能を動作させた後、処理をステップS102へ移す。
ステップS102において制御部230は、ユーザによる210の操作により、チャンネル切替え要求が行われたか否かを判断する。このステップS102において、チャンネル切替え要求が行われたと判定する(ステップS102:YES)と、制御部230は、ステップS103において図13に示すチャンネル切替え処理を行う。
また、ステップS102において、チャンネル切替え要求が行われていないと判定すると(ステップS102:NO)、制御部230は、接続管理装置3から上流端末の候補を受信したか否かの判定を行う(ステップS105)。
すなわち、制御部230は、接続管理装置3からユーザが選択した階層構造において、自端末装置2の上流に接続可能な他の端末装置2の候補を受信したか否かの判断を行う。
ステップS105において制御部230は、上流端末の候補を受信したと判断した場合(ステップS105:YES)に、ステップS106において図14に示す接続処理を行う。
また、ステップS105において制御部230は、上流端末の候補を受信していないと判断した場合(ステップS105:NO)に処理をステップS107に移す。
ステップS107において制御部230は、隣接端末装置2より状態報告通知を受信したか否かの判断を行う。すなわち、制御部230は、自端末装置2と地理的に近接した場所に設置されている他の端末装置2から、当該他の端末装置2に関する装置番号、所在情報、接続中チャンネル、下流接続可否、ポップ数、RTT等の端末情報を受信したか否かの判断を行う。
このステップS107において制御部230は、状態報告通知を受信したと判断した場合(ステップ107:YES)に、ステップS108において図15に示す接続前処理を行い、状態報告通知を受信していないと判断した場合(ステップS107:NO)に処理をステップS109へ移す。
ステップS109において制御部230は、上流端末装置2からコンテンツデータパケットを受信したか否かの判断を行う。すなわち、制御部230は、階層構造において自端末装置2の常駐に接続されている端末装置から、コンテンツデータを受信中であるか否かの判断を行う。
このステップS109において制御部230は、上流端末装置2からコンテンツデータパケットを受信したと判断した場合(ステップS109:YES)に、処理をステップS110に移し、下流側の端末装置2へパケットを転送する。
すなわち、ここで制御部230は、階層構造の上流側に接続している他の端末装置2から受信したコンテンツデータを複数のコンテンツデータパケットに分割して、階層構造における下流側に接続している他の端末装置2へ中継して配信し、その後、処理をステップS111へ移す。
ステップS111において制御部230は、リングバッファ215から再生時刻に達したパケットを取得して再生する。すなわち、ここで制御部230は、階層構造における上流側に接続している他の端末装置2から受信して順次リングバッファ215に記憶した複数のコンテンツパケットに含まれる再生時刻情報を参照し、その再生時刻に達したコンテンツパケットから順にデコードして順次再生する。
また、ステップS109において制御部230は、上流端末装置2からコンテンツデータパケットを受信していないと判断した場合(ステップS109:NO)に、処理をステップS112へ移す。
ステップS112において制御部230は、隣接端末装置2からコンテンツデータパケットを受信したか否かの判断を行う。すなわち、ここで制御部230は、隣接端末装置2から無線通信インタフェース204を介して無線通信により複数のパケットに分割されたコンテンツデータを受信したか否かの判断を行う。
このステップS112において制御部230は、隣接端末装置2からコンテンツデータパケットを受信したと判断した場合に(ステップS112:YES)に、処理をステップS113へ移し、図16に示す接続確立処理を行う。
また、ステップS112において制御部230は、隣接端末装置2からコンテンツデータパケットを受信していないと判断した場合(ステップS112:NO)に、処理をステップS114へ移す。
ステップS114において制御部230は、ストリームの送信開始/停止要求があるか否かの判断を行う。すなわち、ここで制御部230は、無線通信インタフェース204又はネットワークインタフェース206を介して他の端末装置2からコンテンツデータのストリーム送信開始の要求とストリーム送信停止の要求のうち、いずれか一方の要求を受信したか否かの判断を行う。
このステップS114において制御部230は、ストリームの送信開始/停止要求があると判断した場合(ステップS114:YES)に、処理をステップS115へ移し図17に示すコンテンツデータ送信開始/停止処理を行う。
また、ステップS114において制御部230は、ストリームの送信開始/停止要求がないと判断した場合(ステップS114:NO)に、処理をステップS116へ移す。
このステップS116において制御部230は、隣接端末装置2への状態報告契機であるか否かの判断を行う。すなわち、ここで制御部230は、前回自端末装置2の端末情報を複数の隣接端末装置2へ送信してから所定期間(ここでは、1分間)が経過したか否かを判断することにより、状態報告契機であるか否かを判断する。
このステップS116において制御部230は、状態報告契機であると判断した場合、すなわち、前回自端末装置2の端末情報を複数の隣接端末装置2へ送信してから所定期間が経過したと判断した場合(ステップS116:YES)に、処理をステップS117へ移し、無線通信インタフェース204を介して、自端末装置2の現時点での端末情報を複数の隣接端末装置2へ一斉に送信する。
また、ステップS116において制御部230は、状態報告契機でないと判断した場合、及び、ステップS103、S106、108、S111、S113、S115、S117の処理が終了した場合に処理をステップS104へ移す。
ステップS104において制御部230は、ユーザの操作により端末装置2の電源がOFFされたか否かの判断を行い、OFFされたと判断した場合(S104:YES)に全ての処理を終了し、OFFされていないと判断した場合(ステップS104:NO)に、処理をステップS102に戻す。
(チャンネル切替え処理)
次に、図12に示すS103で行うチャンネル切替え処理について、図13を参照して具体的に説明する。
チャンネル切替え処理において制御部230は、まず、現在のコンテンツデータ供給元端末装置2へコンテンツストリームの停止要求を行う(ステップS118)。
すなわち、ここで制御部230は、前回のユーザによるユーザ入力用リモコン210の操作によって選択されていたチャンネルのコンテンツデータを、現在自端末装置2へストリーム送信している他の端末装置2に対して、その送信停止を要求する処理を行い、その後、処理をステップS119へ移す。
ステップS119において制御部230は、要求チャンネルを視聴中の隣接端末装置2が存在するか否かの判断を行う。すなわち、ここで制御部230は、端末情報の接続中チャンネルを参照することにより、接続中チャンネルの番号が、今回のユーザによるユーザ入力用リモコン210の操作によって選択されたチャンネル番号と同一の隣接端末装置2が存在するか否かの判断を行う。
このステップS119において制御部230は、要求チャンネルを視聴中の隣接端末装置が存在すると判断した場合(ステップS119:YES)に、処理をステップS120へ移し、無線通信インタフェース204を介して、接続中チャンネルのチャンネル番号がユーザにより選択されたチャンネル番号と同一の隣接端末装置2へ、コンテンツデータのストリーム配信を要求する処理を行い、その後、このチャンネル切替え処理を終了して処理を図12に示すステップS104へ移す。
また、ステップ119において制御部230は、要求チャンネルを視聴中の隣接端末装置が存在しないと判断した場合(ステップS119:NO)に、接続管理装置3へ上流端末の候補を要求し、その後、このチャンネル切替え処理を終了して処理を図12に示すステップS104へ移す。
(接続処理)
次に、図12に示すS106で行う接続処理について、図14を参照して具体的に説明する。
接続処理において制御部230は、まず、取得した候補の中から上流端末装置2を一つ選択する(ステップS122)。すなわち、ここで制御部230は、接続管理装置3から通知される自端末装置2の上流に接続する複数の他の端末装置2の候補(上流端末装置2)の中から1つの端末装置2を任意に選択する処理を行い、その後、処理をステップS123に移す。
ステップS123において制御部230は、該上流端末装置2に対してNAT越え処理を行う。すなわち、制御部230は、ステップS122の処理で選択した上流端末装置2が接続しているルータ10の外部から自端末装置2が、その上流端末装置2へIPパケットを送信できる状態にすると共に、自端末装置2が接続しているルータ10の外部から、上流端末装置2が自端末装置2へIPパケットを送信できる状態にするために、上流端末装置2へIPパケットを送信し、このとき同時に上流端末装置2から自端末装置2へ送信されるIPパケットを受信する。
そして、このとき制御部230は、上流端末装置2から受信したIPパケットを用いてNATルータのNATテーブルの設定を行い、その後、処理をステップS124へ移す。
ステップS124において制御部230は、上流端末装置2がネットワーク的に近いか否かの判断を行う。すなわち、ここで制御部230は、端末情報のポップ数とRTTを参照することにより、自端末装置2と上流端末装置2とのネットワーク上における近接度を計測し、その計測結果に基づいて、上流端末装置2と自端末装置2とがネットワーク的に近いか否かの判断を行う。
このとき、制御部230は、ポップ数から自端末装置2と上流端末装置2との間のネットワーク上に存在するルータ数を取得し、そのルータ数が予め定めた所定の値以下であり、且つ、RTTから自端末装置2と上流端末装置2との間の通信時間を取得し、その通信時間が予め定めた所定の値以下であった場合に、上流端末装置2と自端末装置2とがネットワーク的に近いと判断する。
一方、制御部230は、上記取得したルータ数が所定の値よりも多い場合、又は、上記取得した通信時間が所定の値よりも長いと判断した場合に、上流端末装置2と自端末装置2とがネットワーク的に遠いと判断する。
そして、このステップS124において制御部230は、上流端末装置2と自端末装置2とがネットワーク的に遠いと判断した場合(ステップS124:NO)に、処理をステップS122へ戻し、ネットワーク的に自端末装置2と近い他の上流端末装置2を検出するまでの間、ステップS122〜S124の処理を繰り返し行う。
またステップS124において制御部230は、上流端末装置2と自端末装置2とがネットワーク的に近いと判断した場合(ステップS124:YES)に、該上流端末装置2の下流端末装置として接続し、その後、処理をステップS125へ移す。
また、ステップS125において制御部230は、該上流端末装置2の下流端末として接続し、その後、処理をステップS126へ移す。
ステップS126において制御部230は、ネットワークインタフェース206を介して接続管理装置3へトポロジー参加報告を送信し、その後、処理を図12に示すステップS104へ移す。
(接続前処理)
次に、図12に示すS108で行う接続前処理について、図15を参照して具体的に説明する。
接続前処理において制御部230は、まず、受信した情報を端末情報へ登録する(ステップS127)。すなわち、ここで制御部230は、ステップS107で受信した各状態報告通知から、各隣接端末装置2の装置番号、所在情報、接続中チャンネル、下流接続可否、ポップ数、RTTを端末情報として取得することにより、既に取得している状態情報を更新して登録し、その後、処理をステップS128へ移す。
ステップS128において制御部230は、ステップS127で登録した端末情報から、当該端末情報を送信してきた隣接端末装置2のポップ数とRTTとを取得し、これらポップ数とRTTとを用いて、その隣接端末装置2に対するネットワークにおける近接度を計測し、その後、処理をステップS129へ移す。
ステップS129において制御部230は、ステップS128においてネットワークにおける近接度を計測した結果に基づいてNAT越えをすべき隣接端末装置2が存在するか否かの判断を行う。
すなわち、このステップS129において制御部230は、S128において計測したネットワークにおける近接度が、所定の値よりも高い隣接端末装置2が存在しないと判断した場合(ステップS129:NO)に、この接続前処理を終了して処理を図12に示すステップS104へ移し、近接度が所定の値よりも高い隣接端末装置2が存在すると判断した場合(ステップS129:YES)に、処理をステップS130に移す。なお、このステップS129における判断基準としては、図14のステップS124の処理における判断基準と同様の判断基準を用いる。
ステップS130において制御部230は、ステップS129においてNAT越えすべきと判断された隣接端末装置2に対して、図14に示すステップS123と同様にして、NAT越え処理を実施し、その後、この接続前処理を終了して処理を図12に示すステップS104へ移す。
(接続確立処理)
次に、図12に示すS113で行う接続確立処理について、図16を参照して具体的に説明する。
接続確立処理において制御部230は、まず、ステップS131において、階層構造の上流に接続している端装置2から受信した複数のパケットに分割されたコンテンツデータをデコードして即時再生し、その後、処理をステップS132へ移す。
ステップS132において制御部230は、ステップS112において無線通信によるパケット受信を開始してから一定時間が経過したか否かの判断を行い、一定時間が経過したと判断した場合(ステップS132:YES)に処理をステップS133へ移し、一定時間が経過していないと判断した場合(ステップS132:NO)にこの接続確立処理を終了して、処理を図12に示すステップS104へ移す。
ステップS133において制御部230は、無線通信により一定時間継続してパケットを送信してきた隣接端末装置2の端末情報を参照して、その後、処理をステップS134へ移す。
ステップS134において制御部230は、ステップS133において参照した端末情報に基づいて、その隣接端末装置2がネットワーク的に近いか否かの判断を行い、ネットワーク的に近いと判断した場合(ステップS134:YES)に処理をステップS135へ移し、ネットワーク的に遠いと判断した場合(ステップS134:NO)に処理をステップS137へ移す。なお、ここでの判断基準に関しては、図14のステップS124の処理における判断基準と同様の判断基準を用いる。
ステップS135において制御部230は、ステップS134において自端末装置2にネットワーク的に近いと判断された隣接端末装置2の下流側に下流端末装置として接続する処理を行い(ステップS135)、その後、接続した上流側の隣接端末装置2へコンテンツストリームの送信要求を行い(ステップS136)、この接続確立処理を終了して処理を図12に示すステップS104へ移す。
ステップS137において制御部230は、ステップS134において自端末装置2からネットワーク的に遠いと判断された隣接端末装置2とは別の接続先候補を通知してもらうために、接続管理装置3へ上流端末装置の候補を要求し、その後、この接続確立処理を終了して処理を図12に示すステップS104へ移す。
(コンテンツデータ送信開始/停止処理)
次に、図12に示すステップS115で行うコンテンツデータ送信開始/停止処理について、図17を参照して具体的に説明する。
コンテンツデータ送信開始/停止処理において制御部230は、まず、ステップS114において受信した要求が無線通信インタフェース204を介した要求であるか否かの判断を行い(ステップS138)、無線通信インタフェース204を介した要求であると判断した場合(ステップS138:YES)に処理をステップS139へ移し、無線通信インタフェース204を介した要求でない、すなわち、ネットワークインタフェース206を介した要求であると判断した場合(ステップS138:NO)に、処理をステップS140へ移す。
ステップS139において制御部230は、無線通信インタフェース204を介して受信した要求を送信してきた隣接端末装置2に対し、その要求に応じてコンテンツデータの送信開始、又は、コンテンツデータの送信停止を行う。
ステップS140において制御部230は、ネットワークインタフェース206を介して受信した要求を送信してきた他の端末装置2に対し、その要求に応じてコンテンツデータの送信開始、又は、コンテンツデータの送信停止を行う。
(接続管理装置3の処理フローの説明)
次に、接続管理装置3の更に具体的な動作について、図18を参照して説明する。図18は接続管理装置3における処理全体を示すフローチャートである。
接続管理装置3の電源がONになると、接続管理装置3は、各プログラム413〜417の初期化を行い、各プログラム413〜417をCPU402による実行状態とし、制御部430としての機能を動作させる(ステップS201)。
制御部430は、まず、端末装置2からチャンネルへの参加要求を受信したか否かを判定する(ステップS202)。
ステップS202において、端末装置2からチャンネルへの参加要求を受信したと判定すると(ステップS202:YES)、制御部430は、受信した参加要求に含まれる端末装置2の所在情報を端末管理データベース412へ登録する(ステップS203)。
一方、ステップS202において、端末装置2からチャンネルへの参加要求を受信していないと判定すると(ステップS202:NO)、制御部430は、コンテンツ配信装置1からの登録要求を受信したか否かを判定する(ステップS205)。
ステップS205において、コンテンツ配信装置1からの登録要求を受信したと判定すると(ステップS205:YES)、制御部430は、受信した登録要求に含まれるコンテンツ配信装置1の所在情報を端末管理データベース412へ登録する(ステップS206)。
次に、制御部430は、新しいチャンネルの情報をトポロジーデータベース411に登録する。すなわち、トポロジーデータベース411に新しいチャンネルのトポロジーテーブルを生成するのである(ステップS207)。
ステップS205において、コンテンツ配信装置1からの登録要求を受信していないと判定すると(ステップS205:NO)、制御部430は、端末装置2から接続先紹介要求を受信したか否かを判定する(ステップS208)。
ステップS208において、端末装置2から接続先紹介要求を受信したと判定すると(ステップS208:YES)、制御部430は、トポロジーデータベース411から接続先候補となる端末装置2を選択する(ステップS209)。
接続管理装置3の制御部430は、このように選択した接続先候補を、接続先紹介要求を行った端末装置2へ返信して通知する(ステップS210)。
ステップS208において、端末装置2から接続先紹介要求を受信していないと判定すると(ステップS208:NO)、制御部430は、端末装置2からトポロジー参加報告があったか否かを判定する(ステップS211)。
ステップS211において、端末装置2からトポロジー参加報告があったと判定すると(ステップS211:YES)、制御部430は、このトポロジー参加報告に含まれる端末装置の所在情報を取り出し、トポロジーデータベース411の更新処理を行う(ステップS212)。すなわち、制御部430は、トポロジーの変動をトポロジーデータベース411へ登録する。
ステップS211において端末装置2からトポロジー参加報告がないと判定したとき(ステップS211:NO)、及び、ステップS203、S207、S210、S212の処理が終了したとき、制御部430は、接続管理装置3のサービス終了の操作が行われたか否かを判定する(ステップS204)。サービスの終了操作が行われていないと判定すると(ステップS204:NO)、処理をステップS202へ戻し、接続管理装置3のサービス終了の操作が行われたと判定すると(ステップS204:YES)、処理を終了する。
(無線通信の実施形態)
本発明では、近接する端末装置との第2通信手段(無線通信手段)として、無線LANによる通信方法を例示しているが、無線通信可能なものであれば任意の方法を用いてよい。例えば、無線LANよりも通信範囲が広いWiMAX(Worldwide Interoperability for Microwave Access)のような通信方法を選択してもよい。
以上、本発明の実施の形態のうちのいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の開示]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
本実施形態に係るコンテンツ配信システムSの概要構成例を示す図である。 本実施形態における各端末装置2の有線通信、及び、無線通信による通信形態を示す説明図である。 端末装置2に記憶された隣接端末情報の一例を示す説明図である。 1チャンネルのコンテンツデータがストリーミング配信されている階層構造と、2チャンネルのコンテンツデータがストリーミング配信されている階層構造とを示す説明図である。 ザッピングを時間の流れでみた説明図である。 ザッピングを時間の流れでみた説明図である。 ザッピングを時間の流れでみた説明図である。 コンテンツ配信装置を示す機能ブロック図である。 端末装置を示す機能ブロック図である。 端末装置の変形例を示す機能ブロック図である。 接続管理装置を示す機能ブロック図である。 端末装置の制御部が行う処理を示すフローチャートである。 端末装置の制御部が行う処理を示すフローチャートである。 端末装置の制御部が行う処理を示すフローチャートである。 端末装置の制御部が行う処理を示すフローチャートである。 端末装置の制御部が行う処理を示すフローチャートである。 端末装置の制御部が行う処理を示すフローチャートである。 接続管理装置の制御部が行う処理を示すフローチャートである。
符号の説明
S コンテンツ配信システム
1 コンテンツ配信装置
2 端末装置
3 接続管理装置
230 制御部
202 CPU
207 主記憶装置
204 無線通信インタフェース
206 ネットワークインタフェース
233 ルータ

Claims (13)

  1. 複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する1以上のコンテンツ配信装置と、前記コンテンツデータを前記ネットワークを介して受信及び再生する複数の端末装置と、前記チャンネル毎に前記コンテンツ配信装置を頂点として前記複数の端末装置が前記ネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおいて、
    前記コンテンツ配信装置は、
    前記コンテンツデータをストリーミング配信する配信手段を備え、
    前記接続管理装置は、
    前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報記憶手段と、
    前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択し、当該接続先候補を、前記接続先紹介要求を送信した前記端末装置へ通知する接続先候補通知手段と、を備え、
    前記端末装置は、
    前記チャンネルを選択するためのチャンネル選択手段と、
    前記ネットワーク上の前記配信装置、前記接続管理装置及び他の前記端末装置と通信するための第1通信手段と、無線信号を送受信することによって前記ネットワークとは異なる経路で隣接する他の前記端末装置と通信するための第2通信手段とを有する通信手段と、
    前記第1通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に接続する接続手段と、
    前記第1通信手段を介して、接続した前記接続先候補からコンテンツデータを受信する第1受信手段と、
    前記第2通信手段を介して、前記隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、
    前記チャンネル選択手段によって前記チャンネルが選択されたときに、前記隣接端末情報取得手段により取得したチャンネル番号が前記チャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、
    前記判定手段により前記チャンネル番号が一致すると判定されたとき、前記第2通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を前記他の端末装置に要求し、前記他の端末装置から前記コンテンツデータを受信する第2受信手段と、
    前記チャンネル選択手段によって前記チャンネルが選択された後、前記第1受信手段で受信した前記コンテンツデータを再生するまでの間、前記第2受信手段で受信した前記コンテンツデータを再生する再生手段と、
    前記第1通信手段を介して、他の前記端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ前記第1通信手段を介して受信したコンテンツデータを転送する中継手段と、を備えた
    ことを特徴とするコンテンツデータ配信システム。
  2. 複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する1以上のコンテンツ配信装置と、前記コンテンツデータを前記ネットワークを介して受信及び再生する複数の端末装置と、前記チャンネル毎に前記コンテンツ配信装置を頂点として前記複数の端末装置が前記ネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおけるコンテンツデータ配信方法において、
    前記コンテンツ配信装置は、
    前記コンテンツデータをストリーミング配信するステップを有し、
    前記接続管理装置は、
    前記チャンネル毎に前記階層構造を構成する前記端末装置の接続状態情報を接続状態情報記憶手段に記憶するステップと、
    前記端末装置から接続先紹介要求を受信したとき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択し、当該接続先候補を、前記接続先紹介要求を送信した前記端末装置へ通知するステップと、を有し、
    前記端末装置は、
    前記チャンネルの選択を検出するステップと、
    前記ネットワーク上の前記配信装置、前記接続管理装置及び他の前記端末装置と通信するための第1通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された前記接続先候補に接続するステップと、
    前記第1通信手段を介して、接続した前記接続先候補からコンテンツデータを受信するステップと、
    前記ネットワークとは異なる経路で無線信号を送受信することによって通信するための第2通信手段を介して、前記隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得するステップと、
    前記チャンネルが選択されたときに、前記取得したチャンネル番号が前記選択されたチャンネル番号と一致するか否かを判定するステップと、
    前記チャンネル番号が一致すると判定されたとき、前記第2通信手段を介して、前記選択されたチャンネルのコンテンツデータのストリーミング配信を前記他の端末装置に要求し、前記他の端末装置から前記コンテンツデータを受信するステップと、
    前記チャンネルが選択された後、前記接続先候補から受信した前記コンテンツデータを再生するまでの間、前記他の端末装置から受信した前記コンテンツデータを再生するステップと、
    前記第1通信手段を介して、他の前記端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ前記第1通信手段を介して受信したコンテンツデータを転送するステップと、を有する
    ことを特徴とするコンテンツデータ配信方法。
  3. 複数のチャンネルでそれぞれコンテンツデータをネットワークを介してストリーミング配信する1以上のコンテンツ配信装置と、前記コンテンツデータを前記ネットワークを介して受信及び再生する複数の端末装置と、前記チャンネル毎に前記コンテンツ配信装置を頂点として前記複数の端末装置が前記ネットワーク上において階層構造で多層に論理接続されるように管理する接続管理装置とを有し、前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータが前記チャンネル毎に前記端末装置の中継機能により順次前記階層構造の下流への中継を行うコンテンツデータ配信システムにおける前記端末装置において、
    前記チャンネルを選択するためのチャンネル選択手段と、
    前記ネットワーク上の前記配信装置、前記接続管理装置及び他の前記端末装置と通信するための第1通信手段と、無線信号を送受信することによって前記ネットワークとは異なる経路で隣接する他の前記端末装置と通信するための第2通信手段とを有する通信手段と、
    前記第1通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルに関する前記接続先紹介要求を前記接続管理装置へ送信し、その後、前記接続管理装置から通知された接続先候補に接続する接続手段と、
    前記第1通信手段を介して、接続した前記接続先候補からコンテンツデータを受信する第1受信手段と、
    前記第2通信手段を介して、前記隣接する他の端末装置が選択しているチャンネル番号を含む端末情報を取得する隣接端末情報取得手段と、
    前記チャンネル選択手段によって前記チャンネルが選択されたときに、前記隣接端末情報取得手段により取得したチャンネル番号が前記チャンネル選択手段によって選択されたチャンネル番号と一致するか否かを判定する判定手段と、
    前記判定手段により前記チャンネル番号が一致すると判定されたとき、前記第2通信手段を介して、前記チャンネル選択手段によって選択されたチャンネルのコンテンツデータのストリーミング配信を前記他の端末装置に要求し、前記他の端末装置から前記コンテンツデータを受信する第2受信手段と、
    前記チャンネル選択手段によって前記チャンネルが選択された後、前記第1受信手段で受信した前記コンテンツデータを再生するまでの間、前記第2受信手段で受信した前記コンテンツデータを再生する再生手段と、
    前記第1通信手段を介して、他の前記端末装置から前記コンテンツデータの中継依頼を受信し、当該中継依頼を行った端末装置へ前記第1通信手段を介して受信したコンテンツデータを転送する中継手段と、を備えた
    ことを特徴とする端末装置。
  4. 前記端末装置の前記接続手段は、
    前記判定手段により前記チャンネル番号が一致すると判定されたとき、前記チャンネル選択手段によって前記チャンネルが選択されてから所定期間待って前記接続先候補に接続する
    ことを特徴とする請求項3に記載の端末装置。
  5. 前記端末装置は、
    前記チャンネル毎のコンテンツデータに関する、前記再生手段による平均再生期間を検出する平均再生時間検出手段を備え、
    前記端末装置の接続手段は、
    前記平均再生期間を前記所定期間として前記接続先候補に接続する
    ことを特徴とする請求項4に記載の端末装置。
  6. 前記端末装置の前記接続手段は、
    前記隣接端末情報取得手段によって前記端末情報の取得ができないとき、又は前記判定手段により前記チャンネル番号が一致しないと判定されたとき、前記チャンネル選択手段によって前記チャンネルが選択されてから前記所定期間を待たずに前記接続先候補に接続する
    ことを特徴とする請求項4又は請求項5に記載の端末装置。
  7. 前記端末装置の前記接続手段は、
    前記チャンネル選択手段によって前記チャンネルが選択されてから前記所定期間内にさらに前記チャンネル選択手段によって別のチャンネルが選択されると、前記チャンネルに対する前記接続先候補への接続を行わないことを特徴とする請求項4から6のいずれか1項に記載の端末装置。
  8. 前記端末装置は、
    前記端末装置の前記隣接端末情報取得手段によって取得した端末情報から前記他の端末装置がNAT(ネットワークアドレス置換)ルータに接続されていると判定すると、前記接続手段による接続動作の前に、前記他の端末装置と自端末装置との通信接続を行うために必要な、前記NATルータのNAT(ネットワークアドレス置換)テーブルの設定を行うNATテーブル設定手段を有する
    ことを特徴とする請求項4から7のいずれか1項に記載の端末装置。
  9. 前記端末情報は、前記他の端末装置に前記ネットワークを介して接続することができるか否かの情報を含み、
    前記端末装置は、
    前記隣接端末情報取得手段により取得した端末情報に基づいて、前記第2受信手段により前記コンテンツデータを受信している前記他の端末装置に前記ネットワークを介して接続することができるか否かを判定する接続可否判定手段を備え、
    前記端末装置の前記接続手段は、
    前記接続可否判定手段により前記他の端末装置に接続できると判定されると、前記第1通信手段を介して、当該他の端末装置に接続する
    ことを特徴とする請求項4から8のいずれか1項に記載の端末装置。
  10. 前記接続可否判定手段により接続できると判定された前記他の端末装置と自端末装置との間のルータ数を検出するルータ数検出手段を備え、
    前記端末装置の前記接続手段は、
    前記接続可否判定手段により接続できると判定された前記他の端末装置のうち、前記ルータ数検出手段により検出された前記ルータ数が所定値以下の端末装置があるとき、当該他の端末装置に前記第1通信手段を介して接続し、前記ルータ数が所定値よりも大きいとき、前記第1通信手段を介して前記接続先候補に接続する
    ことを特徴とする請求項9に記載の端末装置。
  11. 前記接続可否判定手段により接続できると判定された前記他の端末装置と自端末装置との間の通信時間を検出する通信時間検出手段を備え、
    前記端末装置の前記接続手段は、
    前記接続可否判定手段により接続できると判定された前記他の端末装置のうち、前記通信時間検出手段により検出された前記通信時間が所定値以下の端末装置があるとき、当該端末装置に前記第1通信手段を介して接続し、前記通信時間が所定値よりも大きいとき、前記第1通信手段を介して前記接続先候補に接続する
    ことを特徴とする請求項9に記載の端末装置。
  12. 前記第2通信手段と、前記チャンネル選択手段と、前記隣接端末情報取得手段と、前記判定手段と、前記再生手段とを少なくとも第1ユニットに収納し、
    前記第1通信手段と、前記接続手段と、前記第1受信手段と、前記中継手段と、前記第1ユニットと無線通信を行う第3通信手段とを少なくとも第2ユニットに収納し、
    前記第2通信手段は、前記第3通信手段と無線通信可能に構成されていることを特徴とする請求項4から10のいずれか1項に記載の端末装置。
  13. コンピュータに、請求項4〜12のいずれか1項に記載の端末装置の各手段として機能させるためのプログラム。
JP2006096097A 2006-03-30 2006-03-30 コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラム Expired - Fee Related JP4539598B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006096097A JP4539598B2 (ja) 2006-03-30 2006-03-30 コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006096097A JP4539598B2 (ja) 2006-03-30 2006-03-30 コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラム

Publications (2)

Publication Number Publication Date
JP2007274243A JP2007274243A (ja) 2007-10-18
JP4539598B2 true JP4539598B2 (ja) 2010-09-08

Family

ID=38676595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006096097A Expired - Fee Related JP4539598B2 (ja) 2006-03-30 2006-03-30 コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラム

Country Status (1)

Country Link
JP (1) JP4539598B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4780732B2 (ja) * 2008-10-01 2011-09-28 Necアクセステクニカ株式会社 ユーザ端末、リモートメンテナンス方法およびリモートメンテナンス制御プログラム
KR101804516B1 (ko) * 2011-08-31 2017-12-07 삼성전자주식회사 방송 수신 장치 및 방법
GB201301452D0 (en) * 2013-01-28 2013-03-13 Microsoft Corp Providing notifications of call-related services
JP6307925B2 (ja) 2014-02-24 2018-04-11 日本電気株式会社 クライアント端末装置、データ配信制御システム、データ配信制御方法、及び、データ配信制御プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005043783A1 (ja) * 2003-10-30 2005-05-12 Matsushita Electric Industrial Co., Ltd. 携帯端末向け伝送方法及び装置
JP2005130087A (ja) * 2003-10-22 2005-05-19 Canon Inc マルチメディア情報機器
JP2006033515A (ja) * 2004-07-16 2006-02-02 Brother Ind Ltd 接続状態制御装置、接続状態制御方法及び接続状態制御用プログラム
JP2006080659A (ja) * 2004-09-07 2006-03-23 Brother Ind Ltd 情報配信システム、処理装置、処理方法及び処理プログラム等

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130087A (ja) * 2003-10-22 2005-05-19 Canon Inc マルチメディア情報機器
WO2005043783A1 (ja) * 2003-10-30 2005-05-12 Matsushita Electric Industrial Co., Ltd. 携帯端末向け伝送方法及び装置
JP2006033515A (ja) * 2004-07-16 2006-02-02 Brother Ind Ltd 接続状態制御装置、接続状態制御方法及び接続状態制御用プログラム
JP2006080659A (ja) * 2004-09-07 2006-03-23 Brother Ind Ltd 情報配信システム、処理装置、処理方法及び処理プログラム等

Also Published As

Publication number Publication date
JP2007274243A (ja) 2007-10-18

Similar Documents

Publication Publication Date Title
JP4640307B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP4661751B2 (ja) 離脱可否制御装置、ツリー型配信システム、ノード装置離脱制御方法、離脱可否制御プログラム及び情報処理プログラム
US7836210B2 (en) Information distribution system, terminal apparatus used in such system, recording medium on which program is recorded, and loop connection avoidance method
US20060098668A1 (en) Managing membership within a multicast group
JP2009169732A (ja) 通信端末装置及び通信機器接続制御方法
JP4539598B2 (ja) コンテンツデータ配信システム、及び、コンテンツデータ配信方法、及び、端末装置、及び、同端末装置の動作プログラム
JP4696972B2 (ja) コンテンツ配信システム、コンテンツ配信システムの情報処理方法および端末装置
JP4623026B2 (ja) コンテンツ配信システム、端末装置及びコンテンツ配信方法並びにそれに用いるプログラム
JP4604919B2 (ja) コンテンツ配信システム、コンテンツ配信方法、接続管理装置、配信装置、端末装置、及びそのプログラム
JP4493443B2 (ja) ネットワークシステム、管理サーバ、及び端末装置
JP2007086484A (ja) コンテンツ配信システム及びコンテンツ配信方法並びにそれに用いる配信装置、端末装置及びそのプログラム
JP2006033515A (ja) 接続状態制御装置、接続状態制御方法及び接続状態制御用プログラム
JP2008085678A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP4605071B2 (ja) コンテンツデータ配信システム、コンテンツデータ配信方法、端末装置、及びそのプログラム
JP2007336396A (ja) コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログラム
JP4924389B2 (ja) 情報配信システムに用いる端末装置及び情報処理プログラム、並びに情報処理方法
JP4586723B2 (ja) コンテンツ配信システム及びコンテンツ配信方法並びにそれに用いる端末装置及びそのプログラム
JP2018050317A (ja) 有用な有線接続の特定
JP4798146B2 (ja) 情報配信システムにおける端末装置及びプログラム、並びに再接続処理方法
US20120282967A1 (en) Systems and methods for flexible wireless connectivity of devices
JP2008293197A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
JP2010041711A (ja) 電子機器とそれを用いた電子機器活用システム
JP4635966B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP2007265172A (ja) コンテンツデータ配信システム、コンテンツデータ配信方法、接続管理装置、端末装置、及びそのプログラム
JP2009130732A (ja) 情報配信システムにおける端末装置、その情報処理プログラム及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100517

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees