JP5115509B2 - コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム - Google Patents

コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム Download PDF

Info

Publication number
JP5115509B2
JP5115509B2 JP2009075776A JP2009075776A JP5115509B2 JP 5115509 B2 JP5115509 B2 JP 5115509B2 JP 2009075776 A JP2009075776 A JP 2009075776A JP 2009075776 A JP2009075776 A JP 2009075776A JP 5115509 B2 JP5115509 B2 JP 5115509B2
Authority
JP
Japan
Prior art keywords
node
delay time
node device
distribution system
leaving
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
JP2009075776A
Other languages
English (en)
Other versions
JP2010232781A (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 JP2009075776A priority Critical patent/JP5115509B2/ja
Priority to US12/659,302 priority patent/US20100250723A1/en
Publication of JP2010232781A publication Critical patent/JP2010232781A/ja
Application granted granted Critical
Publication of JP5115509B2 publication Critical patent/JP5115509B2/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/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/023Delayed use of routing table updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
この種のシステムに関し、特許文献1には、複数の端末装置がツリー型に構成された配信システムが開示されている。特許文献1に記載のツリー型の配信システムは、ピアツーピア方式の配信システムである。かかるツリー型の配信システムにおいては、放送局(例えば、放送装置)が、最上位として、複数のノード装置が複数の階層を形成する。階層を形成する複数のノード装置は、通信手段を介してツリー状に接続される。そして、放送局から配信されたコンテンツ(例えば、映像データ及び音声データ等)が、上位階層のノード装置から下位階層のノード装置に順次転送される。また、特許文献1には、ユーザ端末としてのノード装置が現在参加している階層構造から離脱する際、離脱するノード装置が蓄積しているコンテンツを下位階層のノード装置への転送が終了するまでは、離脱するノード装置と接続不可ノード装置として他のノード装置とを接続させない技術が開示されている。
特開2006−325107号公報
しかしながら、特許文献1に記載の技術では、上述の階層構造からノード装置が離脱する場合、ノード装置のコンテンツ中継能力(転送能力)については考慮されていなかった。例えば、階層構造からの離脱を遅延させると、その間、コンテンツの中継に不適格なノード装置も階層構造に接続されたままとなる。不適格なノード装置が多数存在すると、新規に参加するノード装置や再接続するノード装置の接続処理が阻害される。そのため、中継能力が低いノードがコンテンツ配信システムに残るため、コンテンツ配信システムの配信効率が低下してしまう。また、ツリー型放送システム以外のピアツーピア型のコンテンツ配信システムにおいても、同様の問題が生じる可能性がある。例えば、コンテンツの配信に不適格なノード装置が残存していると、上記と同様に接続処理が阻害されて配信効率が低下する可能性もある。
このように、本来はコンテンツ配信システムを安定させるためにノード装置の離脱を遅延させるようにしたにもかかわらず、その目的に反して、システムが不安定になる問題があった。
そこで、本発明は、以上の点に鑑みてなされたものであり、コンテンツ配信システムからのノード装置の離脱を遅延させるとともに、遅延によりシステムが不安定な状態になることを解消する可能とするコンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置の参加により構成されるコンテンツ配信システムであり、前記複数のノード装置間でコンテンツが送受信されるコンテンツ配信システムにおけるノード装置であって、前記コンテンツ配信システムから離脱する離脱指示を検出する検出手段と、前記検出手段により離脱指示が検出されたノード装置である離脱ノード装置の送信能力に関する送信能力情報を取得する送信能力情報取得手段と、前記取得された送信能力情報に基づいて、前記送信能力が高いほど、前記コンテンツ配信システムからの離脱を遅延させるための遅延時間が長くなるように当該遅延時間を決定する遅延時間決定手段と、前記離脱指示が検出されてから前記決定された遅延時間が経過したときに、前記コンテンツ配信システムからの離脱処理を行う離脱手段と、を備える。
この発明によれば、離脱指示が検出された後、コンテンツの送信能力が相対的に低いノード装置は相対的に早く離脱し、コンテンツの送信能力が相対的に高いノード装置は相対的に長くコンテンツ配信システムに残存することとなるので、コンテンツ配信システムからのノード装置の離脱を遅延させることによりシステムが不安定な状態になることを解消することができる。
請求項2に記載の発明は、前記送信能力取得手段は、前記離脱ノード装置が送信したコンテンツを、前記離脱ノード装置とは異なる他のノード装置が受信した際の受信品質を示す受信品質情報を、前記送信能力情報として取得し、前記遅延時間決定手段は、前記取得された受信品質情報が示す受信品質が高いほど、前記遅延時間が長くなるように当該遅延時間を決定することを特徴とする。
この発明によれば、離脱ノード装置がコンテンツを転送した結果が送信能力とされるので、より実際的な送信能力に基づいて遅延時間を決定することができる。
請求項3に記載の発明は、請求項1又は請求項2に記載のノード装置において、前記送信能力取得手段は、前記ノード装置の上り帯域幅を示す帯域情報を前記送信能力情報として取得し、前記遅延時間決定手段は、前記取得された帯域情報が示す上り帯域幅が広いほど、前記遅延時間が長くなるように当該遅延時間を決定することを特徴とする。
この発明によれば、送信能力として離脱ノード装置の上り帯域幅を用いるので、他のノード装置の接続状況等に影響されることなく、ツリー型の放送システム以外でも送信能力を取得することができる。また、上り帯域幅が広いノード装置ほど長くコンテンツ配信システムに残存することとなるので、その分コンテンツを多量に送信することができる。
請求項4に記載の発明は、請求項1乃至3の何れか1項に記載のノード装置において、前記コンテンツ配信システムは、前記コンテンツ配信システムに参加している参加ノード装置が放送装置を最上位として複数の階層を形成しつつ前記放送装置から放送されたコンテンツが上位階層の上位ノード装置から下位階層の下位ノード装置に順次転送されるようにしたものであり、前記参加ノード装置は、前記参加ノード装置の前記送信能力情報に基づいて、前記送信能力が高いほど前記上位階層に配置され、前記コンテンツ配信システムに参加するとき、前記参加ノード装置のうち、前記参加ノード装置の下位階層の下位ノード装置と接続している接続数が予め定められた接続許容数に満たないノード装置にその下位階層の下位ノード装置として接続する接続手段と、前記離脱ノード装置が位置する階層から最下位層までの階層数を示す階層数情報を取得する階層数取得手段を更に備え、前記遅延時間決定手段は、前記取得された階層数情報が示す階層数が多いほど、前記遅延時間が長くなるように当該遅延時間を決定することを特徴とする。
この発明によれば、新規にシステムに参加することによって既に参加しているノード装置に接続されたノード装置は、その時点では下位階層のノード装置との接続数がゼロであるので、接続先のノード装置の候補となり得る。しかし、このようなノード装置でも、中継能力が低いノード装置は接続先のノード装置としては適格ではない。ここで、送信能力が低いノード装置ほど下位の階層に位置させるようにした場合には、離脱ノード装置が位置する階層から最下位層までの階層数から送信能力を判断することができる。そして、この階層数が少ない下位の階層に位置するノード装置、つまり、コンテンツの送信能力が低いノード装置から早くシステムから離脱するので、システムに新規に参加するノード装置や再接続するノード装置の接続処理が阻害されず、コンテンツの転送をより安定して行うことができる。
請求項5に記載の発明は、コンピュータを、請求項1乃至4の何れか1項に記載のノード装置として機能させることを特徴とする。
請求項6に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置の参加により構成されるコンテンツ配信システムであり、前記複数のノード装置間でコンテンツが送受信されるコンテンツ配信システムであって、前記ノード装置は、前記コンテンツ配信システムから離脱する離脱指示を検出する検出手段と、前記検出手段により離脱指示が検出されたノード装置である離脱ノード装置の送信能力に関する送信能力情報を取得する送信能力情報取得手段と、前記取得された送信能力情報に基づいて、前記送信能力が高いほど、前記コンテンツ配信システムからの離脱を遅延させるための遅延時間が長くなるように当該遅延時間を決定する遅延時間決定手段と、前記離脱指示が検出されてから前記決定された遅延時間が経過したときに、前記コンテンツ配信システムからの離脱処理を行う離脱手段と、を備えることを特徴とする。
請求項7に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置の参加により構成されるコンテンツ配信システムであり、前記複数のノード装置間でコンテンツが送受信されるコンテンツ配信システムにおけるノード装置における離脱処理遅延方法であって、前記コンテンツ配信システムから離脱する離脱指示を検出する検出工程と、前記検出工程において離脱指示が検出されたノード装置である離脱ノード装置の送信能力に関する送信能力情報を取得する送信能力情報取得工程と、前記取得された送信能力情報に基づいて、前記送信能力が高いほど、前記コンテンツ配信システムからの離脱を遅延させるための遅延時間が長くなるように当該遅延時間を決定する遅延時間決定工程と、前記離脱指示が検出されてから前記決定された遅延時間が経過したときに、前記コンテンツ配信システムからの離脱処理を行う離脱工程と、を有することを特徴とする。
本発明によれば、離脱指示が検出された後、コンテンツの送信能力が相対的に低いノード装置は相対的に早く離脱し、コンテンツの送信能力が相対的に高いノード装置は相対的に長くコンテンツ配信システムに残存することとなるので、コンテンツ配信システムからのノード装置の離脱を遅延させることによりシステムが不安定な状態になることを解消することができる。
一実施形態に係るツリー型放送システムSにおける各ノード装置の接続態様の一例を示す図である。 一実施形態に係る放送局10の概要構成例を示す図である。 一実施形態に係る接続先紹介サーバ20の概要構成例を示す図である。 一実施形態に係るノードNnの概要構成例を示す図である。 一実施形態に係るノードNnにおけるCPU304の離脱指示検出時における処理例を示すフローチャートである。 一実施形態に係るノードNnにおけるCPU304の離脱遅延時間決定処理における処理例を示すフローチャートである。 一実施形態に係る離脱遅延時間決定テーブルに設定される内容の一例を示す図である。 一実施形態に係るノードNnにおけるCPU304のストリーム受信開始後における処理例を示すフローチャートである。
以下、本発明の最良の実施形態を図面に基づいて説明する。
[1.ツリー型放送システムの構成等]
始めに、図1を参照して、本発明の一実施形態に係るツリー型放送システム全体の概要構成及び機能について説明する。
図1は、本実施形態に係るツリー型放送システムSにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線7等によって、インターネット等のネットワーク8が構築されている。ネットワーク8は、現実世界の通信ネットワークである。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが適宜挿入されているが、図1では図示を省略している。なお、通信回線7としては、例えば、電話回線や光ケーブル等が用いられる。
このようなネットワーク8には、複数のノード装置(以下、「ノード」という)Nn(n=1,2,3・・・の何れか)が接続されている。また、各ノードNnには、固有のノードIDが割り当てられている。
そして、本実施形態に係るツリー型放送システムSは、ピアツーピア方式のネットワークシステムとなっている。ツリー型放送システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成(構成)される。なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9である。オーバーレイネットワーク9は、論理的なネットワークである。
このようなツリー型放送システムSにおいては、該システムSに参加(トポロジーに参加)している複数のノードNnが放送局10(放送装置の一例)を最上位として複数の階層を形成しつつネットワーク8を介してツリー状に接続されている。そして、当該放送局10から放送されたコンテンツ(ストリーム)が、上位階層のノードNnから下位階層のノードNnに順次転送(ALM(Application Layer Multicast))されるようになっている。動画データは、例えばストリームミング配信方式で放送される。
このトポロジーは、放送チャンネル毎に形成されるようになっている。各ノードNnは、ユーザにより指定されたチャンネルに対応するトポロジーに参加し、当該トポロジーにおいてコンテンツを受信し転送しつつ、当該コンテンツを再生する。例えば、各ノードNnは、動画再生し画面に表示したり、音声再生しスピーカにより出力する。これによりユーザは、自身が選択したチャンネルのコンテンツを視聴することができる。
また、ツリー型放送システムSにおいて形成されたトポロジーは、接続先紹介サーバ20により管理されている。そして、接続先紹介サーバ20は、ノードNnからの接続先紹介要求に応じて当該ノードNnに対してツリー型放送システムSにおける接続先となる上流のノードNnを紹介するようになっている。
更に、ツリー型放送システムSにおいては、コンテンツの中継(転送)に適している(中継能力が高い)ノードNnが優先的にコンテンツを中継するノード(以下、「中継ノード」という)として接続されるようになっている。そして、中継に適していないノードNnが中継ノードとならないように、つまり、他のノードNnが自ノードの下位階層として当該自ノードと接続されないように、トポロジーが形成される。これにより、中継能力が低いノードNnは、トポロジーの下位階層に位置するようになる。中継に適していないノードNnとは、中継能力が低いノードNnである。
つまり、中継能力が高いノードNnほど上位階層に配置され、中継能力が低いノードNnほど下位階層に配置されるようにトポロジーが形成される。このポロジーの形成は、接続先紹介サーバ20による管理制御に基づいて行われる。こうしたトポロジーの形成方法については、特開2003−169089号公報等で公知であるので、詳しい説明を省略する。特開2003−169089号公報に記載の技術を用いて、トポロジーを形成するとき、トポロジーに新たに参加するノード装置の接続先として、上位階層に位置するノード装置であり、且つ、中継能力が高いノード装置が紹介される。上述したノード装置が紹介されることで、中継能力が高いノードNnほど上位階層に配置され、中継能力が低いノードNnほど下位階層に配置される。
また更に、ツリー型放送システムSにおいては、ノードNnがトポロジーから離脱(脱退)する際、ユーザによりコンテンツの視聴終了指示(トポロジーからの離脱の指示)がされた後、所定時間(以下、「離脱遅延時間」という)が経過したときに、実際に離脱を行うようになっている。コンテンツの視聴終了指示は、トポロジーからの離脱の指示をも意味する。
また、トポロジーからの離脱は、視聴終了指示があった場合のほか、チャンネル切り替え時や放送終了時にも行われる。チャンネル切り替え時には、ユーザが切り替え先のチャンネルを指定することにより、ノードNnは、現在参加しているトポロジーから離脱し、これとは別のトポロジーに参加する。また、放送終了時には、トポロジーからの離脱が自動で行われる。
離脱指示があった場合でも、すぐには離脱処理が行われないようにすることにより、トポロジーの変動を抑制することができる。つまり、離脱指示があった後、離脱遅延時間が経過する前に、トポロジーへの再参加がユーザにより指示された場合には、離脱処理も参加処理も行う必要がないからである。トポロジーへの再参加は、コンテンツの再視聴及びザッピング等によるチャンネルの切り戻しを含む。しかし、上述したように、コンテンツの中継能力が低いノードNnが下位階層に位置するようにトポロジーが形成される。従って、全てのノードNnが一律に同じ時間離脱を遅延させるようにすると、タイミングによっては、リーフノードが、離脱遅延中の中継能力の低いノードNnにより占められてしまう場合がある。リーフノードは、自身の下位階層に他のノードNnが接続されていないノードNnである。よって、リーフノードは、トポロジーに参加するノードNnや再接続を行うノードNnの接続先の候補となるノードNnである。そうすると、トポロジーに参加するノードNnや再接続を行うノードNnによる接続処理の妨げになる。そこで、ツリー型放送システムSにおいては、コンテンツの中継能力が高いほど離脱遅延時間が長く、中継能力が低いほど離脱遅延時間は短くなるようにしている。また、こうすることにより、中継能力が高いノードNnほど、離脱指示があった後も長くトポロジーに残ることとなる。そして、その間は、中継能力が高いノードNnよるコンテンツの中継処理を継続させることができるので、コンテンツを安定して放送することができる。
なお、ノードNnがトポロジーから離脱した後のトポロジーの再構築方法については、特開2006−33514号公報及び特開2008−92004号公報等で公知であるので、詳しい説明を省略する。
次に、ノードNnがトポロジーに参加してから離脱するまでの動作概要を説明する。
例えば、ノードN13が、ユーザによる指示により或るトポロジーに参加する場合、ノード13は、接続先紹介サーバ20へ上流ノード紹介要求メッセージを送信する。接続先紹介サーバ20は、内部で管理しているトポロジー管理情報の中から下流側に接続が可能な(下流側に直接接続されたノード数が接続許容数に達していない)ノードNnを検索し、1以上の上流ノード候補のネットワークアドレス情報等を含む上流ノード候補紹介メッセージをノードN13へ返信(接続可能なノードNnを紹介)する。下流側に接続が可能なノードNnは、下流側に直接接続されたノード数が接続許容数に達していないノードNnである。次に、ノードN13は、接続先紹介サーバ20から取得した上流ノード候補の中から一つの例えばノードN6を選択し、当該ノードN6へ接続要求メッセージを送信する。次に、ノードN6は、内部で保存している自己の上り帯域の測定結果に基づいて、自ノードがコンテンツの中継に適していると判定した場合には、内部で管理しているノード管理テーブルにノードN13の情報を追加し、ノードN13へ接続許可応答メッセージを返信する。次に、ノードN13は、ノードN6へストリーム開始要求メッセージを送信する。最後に、ノードN6は、装置内部にストリーム中継用のオブジェクトを準備し、ノードN13に対してストリーミングを開始する。こうして、ツリー型放送システムSへのノードN13の参加が完了する。
ここで、例えば、ノードN6がコンテンツの中継に適していない場合(ノードN6の中継能力が中継ノードとなるための水準に達していない場合)や、ノードN6よりもノードN13の方の中継能力が高い場合等には接続替えが行われる。例えば、接続要求メッセージを受信したノードN6は、自己の上流に(上位階層として)接続されている、例えばノードN2との接続を切断する。次に、ノードN6は、ノードN2のネットワークアドレス情報等を含む上流ノード接続指示メッセージをノードN13へ送信する。次に、ノードN6は、接続先紹介サーバ20から紹介された上流ノード候補の中から例えばノードN12を選択し、当該ノードN12へ接続要求メッセージを送信する。一方、上流ノード接続指示メッセージを受信したノードN13は、ノードN2へ接続要求メッセージを送信する。こうして、ノードN6はノードN12と接続し、ノードN13はノードN2と接続して、接続替えが完了する。
その後、離脱指示に基づいてノードN13がトポロジーから離脱する場合、離脱するノードの中継能力に基づいて離脱遅延時間を決定し、この遅延時間が経過した後、離脱処理を行う。具体的に、当該ノードN13は、ストリーム供給元である上流のノードN6に対してストリーム停止要求メッセージと接続解除要求メッセージを送信する。これに応じて、ノードN6は、ストリーム中継用オブジェクトを破棄することでノードN13に対するストリーミングを停止する。同時にノード管理テーブルからノードN13の情報を削除することでノードN6との接続関係を断ち切る。
[1−2.放送局10の構成等]
次に、図2を参照して、放送局10の構成及び機能について説明する。
図2は、放送局10の概要構成例を示す図である。
放送局10は、図2に示すように、主電源101、主記憶装置102、ハードディスク装置103、CPU104、ネットワークインタフェース105、周辺機器制御チップ106、ビデオチップ107、音源チップ108、キーボード109、マウス110、ディスプレイ111、及び内蔵スピーカ112等を備えて構成されている。また、主電源101、主記憶装置102、ハードディスク装置103、CPU104、ネットワークインタフェース105、周辺機器制御チップ106、ビデオチップ107、及び音源チップ108は、システムバス113を介して相互に接続されている。また、放送局10は、ルータ114を介してネットワーク8に接続される。
主記憶装置102は、RAM及びROM等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、及びデコーダ(プログラム)等が記憶されている。また、主記憶装置102は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、放送局10に接続されたノードNnの情報(例えば、IPアドレス及びポート番号等)が登録される。また、主記憶装置102は、バッファメモリを有する。バッファメモリは、例えば、リングバッファである。
また、ハードディスク装置103には、放送用のコンテンツが記録されている。
CPU104は、主記憶装置102に記憶された各種プログラムに従って(つまり、プログラムの実行により)、例えばハードディスク装置103に記録されたコンテンツをパケット化し、ノード管理テーブルに登録されたノードNnに対して放送(ストリーム配信)する放送処理を行う。
なお、このような放送局10として、専用の放送サーバのほか、何れかのノードNnが適用されても良い。
[1−3.接続先紹介サーバ20の構成等]
次に、図3を参照して、接続先紹介サーバ20の構成及び機能について説明する。
図3は、接続先紹介サーバ20の概要構成例を示す図である。
接続先紹介サーバ20は、図3に示すように、主電源201、主記憶装置202、ハードディスク装置203、CPU204、ネットワークインタフェース205、周辺機器制御チップ206、ビデオチップ207、キーボード208、マウス209、及びディスプレイ210等を備えて構成されている。また、主電源201、主記憶装置202、ハードディスク装置203、CPU204、ネットワークインタフェース205、周辺機器制御チップ206、及びビデオチップ207は、システムバス211を介して相互に接続されている。また、接続先紹介サーバ20は、ルータ212を介してネットワーク8に接続される。
主記憶装置202は、RAM及びROM等を備えて構成されており、オペレーティングシステム、放送局管理プログラム、トポロジー管理プログラム、接続先紹介プログラム、及び運用管理プログラム等のサーバ処理プログラムが記憶されている。
また、ハードディスク装置203には、放送局管理データベース及びトポロジーデータベースが構築されている。放送局管理データベースには、各放送局10の所在情報(例えば、IPアドレス及びポート番号等)が放送チャンネル情報(例えばチャンネル番号)に対応付けられて登録される。また、トポロジーデータベースには、トポロジー管理情報が登録されている。トポロジー管理情報は、放送チャンネル毎に存在し、放送チャンネル情報に対応付けられている。そして、トポロジー管理情報には、トポロジーに参加している各ノードNn毎に、ネットワークアドレス情報、現在接続されている下流のノードNnを示す情報、現在接続されている下流のノードNnの接続数、下流のノードNnの接続許容数等の情報が対応付けられて含まれている。ネットワークアドレス情報は、例えばIPアドレス及びポート番号である。また、現在接続されている下流のノードNnを示す情報は、例えば、ノードIDである。また、下流のノードNnの接続許容数は、例えば、2が設定されても良いし、これより多い値が設定されても良い。
CPU204は、主記憶装置202に記憶された各種プログラムに従って、例えば新たにトポロジーへ参加希望するノードNnからの接続先紹介要求に応じて上記トポロジー管理情報から下流に接続可能なノードNnを検索し、検索された1以上のノードNnの候補を接続先として紹介する紹介処理を行う。ここで、下流に接続可能なノードNnは、現在接続されている下流のノードNnの接続数が接続許容数未満であるノードNnに限定される。
[1−4.ノードNnの構成等]
次に、図4を参照して、ノードNnの構成及び機能について説明する。
図4は、ノードNnの概要構成例を示す図である。
ノードNnは、図4に示すように、主電源301、主記憶装置302、ハードディスク装置303、CPU304、ネットワークインタフェース305、周辺機器制御チップ306、ビデオチップ307、音源チップ308、キーボード309、マウス310、ディスプレイ311、及び内蔵スピーカ312等を備えて構成されている。また、補助電源301b、主記憶装置302、ハードディスク装置303、CPU304、ネットワークインタフェース305、周辺機器制御チップ306、ビデオチップ307、及び音源チップ308は、システムバス313を介して相互に接続されている。また、ノードNnは、ルータ314を介してネットワーク8に接続される。本実施形態に係るコンピュータは、CPU304及び主記憶装置302により構成される。
なお、ノードNnとしては、PC、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
主記憶装置302は、RAM及びROM等を備えて構成されており、オペレーティングシステム、画面制御プログラム、ストリーム制御プログラム、トポロジー制御プログラム、及びデコーダ等が記憶されている。これら各種プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしても良いし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
また、主記憶装置302には、受信したコンテンツを一時的に蓄積するためのバッファメモリ(例えば、リングバッファ)を有する。また、主記憶装置302は、ノード管理テーブルを記憶している。ノード管理テーブルには、自ノード(自己)に接続されている下流のノードNnのネットワークアドレス情報(IPアドレス及びポート番号等)が登録される。ネットワークアドレス情報は、例えばIPアドレス及びポート番号である。また、下流のノードNnの接続許容数は、例えば、2が設定されても良いし、これより多い値が設定されても良い。
また、主記憶装置302には、自ノードの中継能力を判定するため、つまり、離脱遅延時間を算出するための中継能力判定情報が記憶される。この中継能力判定情報としては、種々の情報を適用することができる。
第1の例では、自ノードの上り帯域が用いられる。この場合においては、上り帯域が広いほど(上り回線速度が速いほど)、中継能力が高い。上り帯域の測定は、例えば、ノードNnが、上り帯域測定用のサーバに対してデータ送信することにより行われる。当該サーバでは、データ受信した際の転送効率(転送速度)を算出し、これをノードNnに返信する。ノード装置は、受信した転送効率を中継能力判定情報として記録する。ここで、接続先紹介サーバ20等の所定のサーバ装置を上り帯域測定用のサーバとしても良いし、接続先紹介サーバ20が、既にトポロジーに参加しているノードNnの中から適当なノードNnを上り帯域測定用のサーバとして紹介するようにしても良い。なお、中継能力判定情報として、上り帯域に代えて下り帯域が用いられるようにしても良い。
第2の例では、参加しているトポロジーにおける最下位層から自ノードの位置する階層までの距離(階層数)が用いられる。ツリー型放送システムSにおいては、中継能力が低いノードNnほど、下層に追いやられる傾向にあるので、最下位層からの距離でノードNnのおおよその中継能力を判断することができる。この場合においては、最下位層からの距離が長いほど、中継能力が高い。この最下位層からの距離は、ノードNnから紹介サーバ20に対して問い合わせることにより取得される。
第3の例では、自ノードからコンテンツの転送を受けている下流側のノードNnによる当該コンテンツ受信の際のパケット損失率を用いる。この場合、パケット損失率が低いほど、つまり、コンテンツの受信品質が高いほど、中継能力が高い。この場合においては、コンテンツを受信しているノードNnが、受信パケットの損失を検出し、これを損失パケットのシーケンス番号として、定期的の上流側のノードNnに報告する。当該報告を受けたノードNnは、報告内容に基づいてパケット損失率を算出する。
CPU304は、主記憶装置302に記憶された各種プログラム(本発明の離脱処理遅延制御プログラムを含む)を読み出し実行することにより、本発明における検出手段、送信能力情報取得手段、遅延時間決定手段、離脱手段、接続手段及び階層数取得手段等として機能する。また、CPU304は、各種プログラムにしたがって、ツリー型放送システムS(或る放送チャンネルに係るトポロジー)に参加するための参加処理を実行する。参加後に放送局10又は上流ノードNnから放送されネットワークインタフェース305を介して受信されたコンテンツのパケット(コンテンツストリーム)をバッファリングさせつつ再生処理を行う。
ここで、上記参加処理では、接続先紹介サーバ20に対して接続先紹介要求がなされ、接続先紹介サーバ20から紹介された上流のノードNnに接続(セッション確立)してストリーム開始要求がなされる。
また、上記再生処理では、受信されバッファメモリに蓄積されたコンテンツが読み出されデコーダによりデコードされる。動画データは、例えば、ビデオデータ及びオーディオデータである。そして、デコードされたビデオデータ(映像情報)がビデオチップ307を通じてディスプレイ311に出力され、デコードされたオーディオデータ(音声情報)が音源チップ308を通じて内蔵スピーカ312(又は図示しない外部スピーカ)から出力される。
また、自ノードの下流に他のノードNnが接続されている場合、CPU304は、バッファメモリに蓄積されたコンテンツの各パケットを当該下流のノードNnに転送(コンテンツストリームの中継)する転送処理を行う。
更に、CPU304は、下流のノードNnからストリーム停止要求メッセージと接続解除要求メッセージを受信した場合、当該ノードNnに対するストリーミングを停止する。ノード管理テーブルから当該ノードNnの情報を削除することで当該ノードNnとの接続を解除する。
また更に、CPU304は、検出手段として、トポロジーからの離脱の指示を検出する。具体的に、CPU304は、キーボード109やマウス110をユーザが操作することによってコンテンツの視聴の終了が指示されたとき、視聴終了指示を検出する。また、CPU304は、キーボード109やマウス110をユーザが操作することによってチャンネル切り替えが指示されたとき、チャンネル切り替え指示を検出する。また、CPU304は、コンテンツの放送終了を検出する。
更にまた、CPU304は、送信能力情報取得手段として、中継能力判定情報を取得する。例えば、CPU304は、自己の上り帯域を中継能力判定情報として取得する場合には、トポロジーに参加する際、帯域測定サーバに対してデータ送信したことに応じて当該帯域測定サーバから送信されてきた上り帯域応答メッセージを受信する。CPU304は、受信した上り帯域応答メッセージが示す上り帯域を中継能力判定情報として主記憶装置302に記憶させる。また、CPU304は、離脱遅延時間を決定する際、最下位層からの距離を中継能力判定情報として取得する場合には、距離問い合わせメッセージを送信したことに応じて接続先紹介サーバ20から送信されてきた距離応答メッセージを受信する。CPU304は、受信した距離応答メッセージが示す距離を中継能力判定情報として用いる。また、CPU304は、パケット損失率を中継能力判定情報として取得する場合には、自ノードに接続されている下流側のノードNnから送信されてきたパケット損失報告メッセージを受信する。当該メッセージにより得られるパケット損失の個数に基づいて、パケット損失率を算出する。そして、CP304は、算出したパケット損失率を中継能力判定情報として、主記憶装置302に記憶されている中継能力判定情報を更新する。
また更に、CPU304は、遅延時間決定手段として、トポロジーから離脱する際、中継能力判定情報に基づいて離脱遅延時間を決定する。具体的には、離脱遅延時間をTとすると、
T=α+β
により離脱遅延時間が算出される。ここで、αは、基本遅延時間であり、ゼロ以上の値をとる定数である。つまり、どんなに中継能力が低くても、少なくともα以上は離脱が遅延される。一方、βは、ノードNnの中継能力に応じて変化する値であり、中継能力判定情報が示す中継能力が高いほど大きい値が設定される。なお、離脱遅延時間の決定方法としては、上記式を用いる方法以外にも、例えば、テーブルを用いることができる。例えば、中継能力を複数に区分してその区分毎に離脱遅延時間が設定されたテーブルを主記憶装置302に記憶させておく。テーブルには、中継能力が高い区分であるほど、値の大きい(長い)離脱遅延時間が設定されるようにする。CPU304は、このようなテーブルを用いて離脱遅延時間を決定する。
更にまた、CPU304は、遅延手段として、視聴終了指示が検出されてから離脱遅延時間が経過した後、トポロジーからの離脱処理を実行する。具体的に、CPU304は、自己のノードが接続している上流側のノードNnにストリーム停止要求メッセージ及び接続解除要求メッセージを送信する。上流側のノードNnとの接続を切断する。また、CPU304は、自ノードが下流側のノードNnと接続している場合には、当該ノードNnに接続解除要求メッセージを送信し、下流側のノードNnとの接続を切断する。更に、CPU304は、接続先紹介サーバ20に離脱メッセージを送信し、これにより、接続先紹介サーバ20管理するトポロジーから自ノードを削除させる。
[2.ツリー型放送システムSの動作]
次に、図5乃至図8を参照して、本実施形態に係るツリー型放送システムSの動作について説明する。
図5は、本実施形態に係るノードNnにおけるCPU304の離脱指示検出時における処理例を示すフローチャートである。また、図6は、本実施形態に係るノードNnにおけるCPU304の離脱遅延時間決定処理における処理例を示すフローチャートである。
図5の処理は、ノードNnがトポロジーに参加中に、CPU304が、ユーザにより入力された視聴終了指示を検出したとき、チャンネル切り替えを検出したとき、又は、放送終了を検出したときに開始される。
先ず、CPU304は、タイマーのカウントを開始させて、離脱遅延時間決定処理を実行する(ステップS1)。この離脱遅延時間決定処理において、CPU304は、図6に示すように、中継能力判定情報を取得する(ステップS11)。このとき、CPU304は、自己のノード装置の上り帯域又はパケット損失率を中継能力判定情報としている場合には、主記憶装備302に記憶されている中継能力判定情報を読み出す。また、CPU304は、最下位層からの距離を中継能力判定情報としている場合には、接続先紹介サーバ20に距離問い合わせメッセージを送信することにより、当該接続先紹介サーバ20から送信されてきた距離応答メッセージを中継能力判定情報として受信する。
次いで、CPU304は、取得した中継能力判定情報に基づいて、離脱遅延時間を決定する(ステップS12)。例えば、CPU304は、中継能力判定情報を変数とする所定関数によりβを算出し、これに定数αを加算して離脱遅延時間を算出する。
また、離脱遅延時間を決定する他の例として、テーブルを用いた場合について説明する。図7は、離脱遅延時間決定テーブルに設定される内容の一例を示す図である。この離脱遅延時間決定テーブルは、主記憶装置302に記憶されている。図7に示す離脱遅延時間決定テーブルは、上り帯域を中継能力判定情報として使用する場合の例である。この場合の離脱遅延時間決定テーブルには、上り帯域の閾値とこれに対応する離脱遅延時間との組が複数設定されている。例えば、上り帯域の閾値U=1Mbpsに対して離脱遅延時間T=10秒が設定されている。また、上り帯域の閾値U=2Mbpsに対して離脱遅延時間T=20秒が設定されている。また、上り帯域の閾値0に対して離脱遅延時間T=30秒が設定されている。なお、閾値の0は、無効な値となっている。CPU304は、中継能力判定情報として取得した上り帯域Uが、閾値U未満である場合には、離脱遅延時間はT=10と決定する。また、CPU304は、上り帯域Uが、閾値U以上且つ閾値U未満である場合には、離脱遅延時間はT=20と決定する。また、CPU304は、上り帯域Uが、閾値U2以上である場合には、離脱遅延時間はT=30と決定する。このようにして離脱遅延時間が決定される。
なお、パケット損失率を中継能力判定情報として用いる場合には、パケット損失率が大きいほど、送信能力が低いと推定される。また、パケット損失率が小さいほど、送信能力が高いと推定される。そのため、図7に示すテーブルの上り帯域の閾値の代わりにパケット損失率の閾値を用いる場合には、パケット損失率が大きいほど、小さい値の離脱遅延時間を離脱遅延時間決定テーブルに設定し、パケットの損失率が小さいほど、大きい値の離脱遅延時間を離脱遅延時間決定テーブルに設定する。
CPU304は、離脱遅延時間を決定すると、離脱遅延時間決定処理を終了させる。
次いで、CPU304は、から、離脱遅延時間決定処理において決定された離脱遅延時間が経過したか否かを判定する(ステップS2)。具体的に、CPU304は、タイマーの値が離脱遅延時間の値以上となっているか否かを判定する。このとき、CPU304は、離脱遅延時間が経過していない場合には(ステップS2:NO)、ユーザにより、現在離脱しようとしているトポロジーへの再参加指示が入力されたか否かを判定する(ステップS3)。このとき、CPU304は、再参加指示が入力されていない場合には(ステップS3:NO)、ステップS2に移行する。一方、CPU304は、再参加指示が入力された場合には(ステップS3:YES)、トポロジーからの離脱(ステップS4、S5)を取り止めて、タイマーのカウントを停止させて、本処理を終了させる。
CPU304は、ステップS2において離脱遅延時間が経過した場合には(ステップS2:YES)、タイマーのカウントを停止させて、自ノードに接続しているノードに離脱を通知する(ステップS4)。具体的に、CPU304は、上流側のノードNnにストリーム停止要求メッセージ及び接続解除要求メッセージを送信し、上流側のノードNnに接続解除要求メッセージを送信する。
次いで、CPU304は、自ノードに接続しているノードとの接続を切断し(ステップS5)、本処理を終了させる。
なお、上記説明では、上り帯域を中継能力判定情報として使用する場合には、CPU304は、主記憶装置302に記憶させておいた上り帯域の情報を読み出して離脱遅延時間を決定していたが、この方法だけに限られるものでhない。例えば、上り帯域を測定した際、上り帯域測定用のサーバ装置が、測定した上り帯域に基づいて離脱遅延時間を決定しても良い。この場合、ノードNnは、決定された離脱遅延時間を、上り帯域測定用のサーバ装置から受信する。ノードNnは、受信した離脱遅延時間を主記憶装置302に記憶させる。そして、ノードNnは、トポロジーから離脱する際に、主記憶装置302に記憶された離脱遅延時間を用いて、離脱を遅延させる。
図8は、本実施形態に係るノードNnにおけるCPU304のストリーム受信開始後における処理例を示すフローチャートである。
図8の処理は、中継能力判定情報としてパケット損失率を用いる場合に、ノードNnが、上流側に接続されているノードNnからのストリームの受信を開始したときに開始される。
先ず、CPU304は、トポロジーからの離脱指示が検出されたか否かを判定する(ステップS21)。このとき、CPU304は、離脱指示が検出されなかった場合には(ステップS21:NO)、一定時間が経過したか否かを判定する(ステップS22)。
このとき、CPU304は、一定時間が経過した場合には(ステップS22:YES)、主記憶装置302に記録しておいた損失パケット情報を取得する(ステップS23)。次いで、CPU304は、自ノードに接続されている上流側のノードNnに、パケット損失を報告する(ステップS24)。具体的に、CPU304は、記録した損失パケット情報を含むパケット損失報告メッセージを上流側のノードNnに送信する。CPU304は、この処理を終えると、ステップS21に移行する。
CPU304は、ステップS22において一定時間が経過していない場合には(ステップS22:NO)、ストリーム受信によるパケット損失を検出したか否かを判定する(ステップS25)。このとき、CPU304は、パケット損失を検出した場合には(ステップS25:YES)、損失パケットのシーケンス番号を損失パケット情報として主記憶装置302に記録する(ステップS26)。CPU304は、この処理を終えると、ステップS21に移行する。
CPU304は、ステップS25においてパケット損失を検出しなかった場合には(ステップS25:NO)、自己のノードに接続されている下流側のノードNnからパケット損失の報告を受けたか否かを判定する(ステップS27)。この判定は、下流側のノードNnからパケット損失報告メッセージを受信したか否かを判定することにより行われる。このとき、CPU304は、パケット損失の報告を受けた(パケット損失報告メッセージを受信した)場合には(ステップS27:YES)、パケット損失報告メッセージに含まれるシーケンス番号に対応する補完パケットを下流側のノードNnに送信する(ステップS28)。次いで、CPU304は、パケット損失報告メッセージに含まれるシーケンス番号の個数に基づいて、パケット損失率を計算する(ステップS29)。次いで、CPU304は、主記憶装置302に記録している中継能力判定情報としてのパケット損失率を、計算したパケット損失率で更新する(ステップ30)。この処理を終えると、ステップS21に移行する。
CPU304は、ステップS27においてパケット損失の報告を受けていない場合には(ステップS27:NO)、ステップS21に移行する。
ステップS21において、CPU304は、離脱指示が検出された場合には(ステップS21:YES)、本処理を終了させ、図5に示す処理を開始させる。
以上説明したように、本実施形態によれば、ノードNnのCPU304が、トポロジーからの離脱指示を検出する。また、ノードNnのCPU304は、中継能力判定情報を取得する。ノードNnのCPU304は、中継能力判定情報に基づいて、自ノードの中継能力が高いほど離脱遅延時間が長くなるように当該離脱遅延時間を決定する。そして、ノードNnのCPU304は、離脱指示が検出されてから決定された離脱遅延時間が経過したときに離脱処理を実行する。
従って、離脱指示が検出された後、コンテンツの送信能力が相対的に低いノードNnは相対的に早く離脱する。コンテンツの送信能力が相対的に高いノードNnは相対的に長くツリー型放送システムSに残存することとなる。よってツリー型放送システムSからのノードNnの離脱を遅延させることによりシステムが不安定な状態になることを解消することができる。
また、ノードNnのCPU304が、自ノードからコンテンツの転送を受けている下流側のノードNnによる当該コンテンツ受信の際のパケット損失率を中継能力判定情報として取得する場合には、パケット損失率が低いほど離脱遅延時間が長くなるように当該離脱遅延時間を決定する。
従って、自ノードがコンテンツを転送した結果が中継能力とされるので、より実際的な中継能力に基づいて離脱遅延時間を決定することができる。
また、ノードNnのCPU304が、自ノードの上り帯域幅を中継能力判定情報として取得する場合には、上り帯域幅が広いほど離脱遅延時間が長くなるように当該離脱遅延時間を決定する。
従って、上り帯域幅が広いノードNnほど長くコンテンツ配信システムに残存することとなるので、その分コンテンツ多量に送信することができる。
また、ノードNnのCPU304が、トポロジーに参加するとき、既に参加しているノードNnのうちその下位階層のノードNnと接続している接続数が接続許容数に満たないノードNnにその下位階層のノードNnとして接続する。そして、ノードNnのCPU304は、最下位層から自ノードの位置する階層までの距離(階層数)を中継能力判定情報として紹介サーバ20から取得する場合には、当該距離が長い(階層数が多い)ほど離脱遅延時間が長くなるように当該離脱遅延時間を決定する。
従って、ツリー型放送システムSにおいては、中継能力が低いノードNnほど下位の階層に位置するようになっているので、最下位層から自ノードの位置する階層までの距離から中継能力を判断することができる。そして、この距離が短い下位の階層に位置するノードNn、つまり、コンテンツの中継能力が低いノードNnから早くシステムから離脱するので、システムに新規に参加するノードNnや再接続するノードNnの接続処理が阻害されず、コンテンツの転送をより安定して行うことができる。
[3.コンテンツ分散保存システムへの適用例]
上記実施形態においては、本発明をツリー型放送システムに適用していたが、当該システム以外のピアツーピア方式のネットワークシステム、例えば、コンテンツ分散保存システムに適用することができる。
コンテンツ分散保存システムにおいては、内容の異なる様々なコンテンツが複数のノードNnに分散して保存(格納)されており(コンテンツを保存しているノードNnを、以下、「コンテンツ保持ノード」という)、各ノードNn間で当該コンテンツを利用可能になっている。
各ノードNnは、必要なコンテンツを利用する際(この場合のノードNnを、「ユーザノード」という)、先ず、当該コンテンツを保存しているコンテンツ保持ノードを検索する。例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したコンテンツ分散保存システムであれば、コンテンツの所在を問い合わせるコンテンツ所在問合せメッセージを任意のノードNnに送出する。このメッセージは、DHTルーティングによって、コンテンツの所在(コンテンツ保持ノード)を管理するノードNn(以下、「ルートノード」という)に最終的に転送される。ルートノードは、コンテンツ所在問合せメッセージに対応するコンテンツ保持ノードのリストをユーザノードに送信する。そして、コンテンツ保持ノードのリストを受信したユーザノードは、リストに記載されているノードNnのうち任意のノードNnに対してコンテンツを要求する。コンテンツを取得したユーザノードは、当該コンテンツを保存すると、登録通知(パブリッシュ)を行う。この登録通知のメッセージもルートノードまで転送され、ルートノードにより新しい所在としてユーザノードが登録される。
なお、DHTを利用したコンテンツ分散保存システムに関する詳細は、例えば、特開2006−197400号公報等で公知である。
また、所謂ハイブリッド式のコンテンツ分散保存システムであれば、コンテンツの所在は所定のサーバ装置が管理している。この場合、各ノードNnは、コンテンツの所在の問い合わせを直接サーバ装置に対して行う。
このようなコンテンツ分散保存システムにおいては、現に参加しているノードNnの数が多いほど、コンテンツ配信の負荷がより分散されるようになっているのが一般的である。従って、ユーザによりシステムからの離脱が指示された際にも、実際の離脱処理を遅延させることがのぞましい。なぜならば、離脱が遅延されている間はその分システムに参加しているノードNnの数が減らないからである。しかしながら、コンテンツの送信能力が極端に低いノードNnがコンテンツを送信する場合は別である。この場合、ユーザノードによる受信時間が長くなり、コンテンツの配信効率が低下する。その一方で、コンテンツの送信能力が高いノードNnが残っていれば、当該ノードNnによってコンテンツが送信される(当該ノードNnがコンテンツ保持ノードとしてユーザノードにより選択される)可能性があるので、当該ノードNnがコンテンツを送信することにより、コンテンツの配信効率が高くなる。
そこで、コンテンツ分散保存システムにおいても、システムからの離脱が指示されてから実際に離脱処理を行うまでの離脱遅延時間を、コンテンツの送信能力が高いほど長くすることで、コンテンツを効率的に配信することができる。
なお、コンテンツ分散保存システムにおいては、例えば、自ノードの上り帯域、パケット損失率等をコンテンツの送信能力を判定するための情報として用いることができる。
以上説明したように、ツリー型の放送システム以外のピアツーピア型のコンテンツ配信システムにおいても、本発明を適用することができる。
8 ネットワーク
9 オーバーレイネットワーク
10 放送局
20 接続先紹介サーバ
101,201,301 主電源
102,202,302 主記憶装置
103,203,303 ハードディスク装置
104,204,304 CPU
105,205,305 ネットワークインタフェース
106,206,306 周辺機器制御チップ
107,207,307 ビデオチップ
108,308 音源チップ
109,208,309 キーボード
110,209,310 マウス
111,210,311 ディスプレイ
112,312 内蔵スピーカ
113,211,313 システムバス
114,212,314 ルータ
Nn ノード
S ツリー型放送システム

Claims (7)

  1. ネットワークを介して互いに通信可能な複数のノード装置により構成されるコンテンツ配信システムであり、前記複数のノード装置間でコンテンツが送受信されるコンテンツ配信システムにおけるノード装置であって、
    前記コンテンツ配信システムから離脱する離脱指示を検出する検出手段と、
    前記検出手段により離脱指示が検出されたノード装置である離脱ノード装置の送信能力に関する送信能力情報を取得する送信能力情報取得手段と、
    前記取得された送信能力情報に基づいて、前記送信能力が高いほど、前記コンテンツ配信システムからの離脱を遅延させるための遅延時間が長くなるように当該遅延時間を決定する遅延時間決定手段と、
    前記離脱指示が検出されてから前記決定された遅延時間が経過したときに、前記コンテンツ配信システムからの離脱処理を行う離脱手段と、
    を備えることを特徴とするノード装置。
  2. 請求項1に記載のノード装置において、
    前記送信能力取得手段は、前記離脱ノード装置が送信したコンテンツを、前記離脱ノード装置とは異なる他のノード装置が受信した際の受信品質を示す受信品質情報を、前記送信能力情報として取得し、
    前記遅延時間決定手段は、前記取得された受信品質情報が示す受信品質が高いほど、前記遅延時間が長くなるように当該遅延時間を決定することを特徴とするノード装置。
  3. 請求項1又は請求項2に記載のノード装置において、
    前記送信能力取得手段は、前記ノード装置の上り帯域幅を示す帯域情報を前記送信能力情報として取得し、
    前記遅延時間決定手段は、前記取得された帯域情報が示す上り帯域幅が広いほど、前記遅延時間が長くなるように当該遅延時間を決定することを特徴とするノード装置。
  4. 請求項1乃至3の何れか1項に記載のノード装置において、
    前記コンテンツ配信システムは、前記コンテンツ配信システムに参加している参加ノード装置が放送装置を最上位として複数の階層を形成しつつ前記放送装置から放送されたコンテンツが上位階層の上位ノード装置から下位階層の下位ノード装置に順次転送されるようにしたものであり、前記参加ノード装置は、前記参加ノード装置の前記送信能力情報に基づいて、前記送信能力が高いほど前記上位階層に配置され、
    前記コンテンツ配信システムに参加するとき、前記参加ノード装置のうち、前記参加ノード装置の下位階層の下位ノード装置と接続している接続数が予め定められた接続許容数に満たないノード装置にその下位階層の下位ノード装置として接続する接続手段と、
    前記離脱ノード装置が位置する階層から最下位層までの階層数を示す階層数情報を取得する階層数取得手段を更に備え、
    前記遅延時間決定手段は、前記取得された階層数情報が示す階層数が多いほど、前記遅延時間が長くなるように当該遅延時間を決定することを特徴とするノード装置。
  5. コンピュータを、
    請求項1乃至4の何れか1項に記載のノード装置として機能させることを特徴とする離脱処理遅延制御プログラム。
  6. ネットワークを介して互いに通信可能な複数のノード装置より構成されるコンテンツ配信システムであり、前記複数のノード装置間でコンテンツが送受信されるコンテンツ配信システムであって、
    前記コンテンツ配信システムから離脱する離脱指示を検出する検出手段と、
    前記検出手段により離脱指示が検出されたノード装置である離脱ノード装置の送信能力に関する送信能力情報を取得する送信能力情報取得手段と、
    前記取得された送信能力情報に基づいて、前記送信能力が高いほど、前記コンテンツ配信システムからの離脱を遅延させるための遅延時間が長くなるように当該遅延時間を決定する遅延時間決定手段と、
    前記離脱指示が検出されてから前記決定された遅延時間が経過したときに、前記コンテンツ配信システムからの離脱処理を行う離脱手段と、
    を備えることを特徴とするコンテンツ配信システム。
  7. ネットワークを介して互いに通信可能な複数のノード装置により構成されるコンテンツ配信システムであり、前記複数のノード装置間でコンテンツが送受信されるコンテンツ配信システムにおけるノード装置における離脱処理遅延方法であって、
    前記コンテンツ配信システムから離脱する離脱指示を検出する検出工程と、
    前記検出工程において離脱指示が検出されたノード装置である離脱ノード装置の送信能力に関する送信能力情報を取得する送信能力情報取得工程と、
    前記取得された送信能力情報に基づいて、前記送信能力が高いほど、前記コンテンツ配信システムからの離脱を遅延させるための遅延時間が長くなるように当該遅延時間を決定する遅延時間決定工程と、
    前記離脱指示が検出されてから前記決定された遅延時間が経過したときに、前記コンテンツ配信システムからの離脱処理を行う離脱工程と、
    を有することを特徴とする離脱処理遅延方法。
JP2009075776A 2009-03-26 2009-03-26 コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム Expired - Fee Related JP5115509B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009075776A JP5115509B2 (ja) 2009-03-26 2009-03-26 コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム
US12/659,302 US20100250723A1 (en) 2009-03-26 2010-03-03 Contents distribution system, node device, leaving process delay method, and computer-readable recording medium in which leaving process delay control program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009075776A JP5115509B2 (ja) 2009-03-26 2009-03-26 コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム

Publications (2)

Publication Number Publication Date
JP2010232781A JP2010232781A (ja) 2010-10-14
JP5115509B2 true JP5115509B2 (ja) 2013-01-09

Family

ID=42785615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009075776A Expired - Fee Related JP5115509B2 (ja) 2009-03-26 2009-03-26 コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム

Country Status (2)

Country Link
US (1) US20100250723A1 (ja)
JP (1) JP5115509B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990585B2 (en) * 2009-12-29 2015-03-24 Cleversafe, Inc. Time based dispersed storage access
US20130144994A1 (en) * 2010-08-16 2013-06-06 Zte Corporation Content Delivery Network and Method for Content Delivery
US8937886B2 (en) * 2010-12-17 2015-01-20 Cisco Technology, Inc. Dynamic reroute scheduling in a directed acyclic graph (DAG)
JP5653295B2 (ja) * 2011-05-30 2015-01-14 三菱電機株式会社 機器監視システムおよび監視機器
US9959522B2 (en) * 2012-01-17 2018-05-01 The Marlin Company System and method for controlling the distribution of electronic media
JP5967159B2 (ja) * 2014-09-10 2016-08-10 日本電気株式会社 表示装置、表示方法、及び、表示プログラム
GB2548356B (en) * 2016-03-14 2020-01-15 Toshiba Res Europe Limited Multi-stream spectral representation for statistical parametric speech synthesis

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871396B2 (en) * 2000-02-09 2005-03-29 Matsushita Electric Industrial Co., Ltd. Transfer material for wiring substrate
EP1770920A4 (en) * 2004-07-16 2011-10-12 Brother Ind Ltd CONNECTING MODE CONTROL DEVICE, CONNECTION MODE CONTROL METHOD AND CONNECTION MODE CONTROL PROGRAM
WO2006075424A1 (ja) * 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP4604835B2 (ja) * 2005-05-20 2011-01-05 ブラザー工業株式会社 ノード装置、及び、接続方法、接続プログラム、ストリームデータ配信システム、並びに、接続切り替え方法
JP4661751B2 (ja) * 2006-09-29 2011-03-30 ブラザー工業株式会社 離脱可否制御装置、ツリー型配信システム、ノード装置離脱制御方法、離脱可否制御プログラム及び情報処理プログラム
JP2008258682A (ja) * 2007-03-30 2008-10-23 Kenwood Corp ネットワーク離脱対処装置及び方法

Also Published As

Publication number Publication date
JP2010232781A (ja) 2010-10-14
US20100250723A1 (en) 2010-09-30

Similar Documents

Publication Publication Date Title
JP5115509B2 (ja) コンテンツ配信システム、ノード装置、離脱処理遅延方法及び離脱処理遅延制御プログラム
JP4518169B2 (ja) ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム
WO2008080343A1 (fr) Procédé et appareil pour réduire un retard de lecture multimédia
US8059669B2 (en) Tree-type broadcast system, reconnection process method, node device, node process program, server device, and server process program
JP5092877B2 (ja) ツリー型放送システム、パケット送信方法、ノード装置、及びノード処理プログラム
US8134937B2 (en) Distributed content storage system, content storage method, node device, and node processing program
CN102075338B (zh) 基于分布式网络的直播方法和装置
JP2010093576A (ja) 受信装置、受信方法およびコンピュータプログラム
EP2022209B1 (en) Multicast control
CN101755261A (zh) 辅助对等媒体流传送
WO2006011309A1 (ja) 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等
JP2008278337A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法
JP5127062B2 (ja) ネットワーク障害検出装置、データ中継装置、ネットワーク障害検出方法、ネットワーク障害検出システム及びネットワーク障害検出プログラム
JP4770790B2 (ja) ツリー型放送システム、ツリー型放送システムへの参加及び脱退方法、ノード装置、及びノード処理プログラム
WO2017128902A1 (zh) 一种基于most的多环网流媒体多播系统和方法
CN107659853B (zh) 一种自适应流媒体直播控制系统
WO2010075742A1 (zh) 一种p2p网络中获取媒体内容的方法、装置及系统
KR101429032B1 (ko) 스트리밍 데이터 전달 방법
JP5182016B2 (ja) ノード紹介装置、ノード紹介処理プログラム、ツリー型放送システム、及びノード紹介処理方法
Ha et al. Topology and architecture design for peer to peer video live streaming system on mobile broadcasting social media
JP5067259B2 (ja) ツリー型放送システム、ノード接続方法、ノード装置、及びノード処理プログラム
JP2008294625A (ja) 通信システム、特定情報配信方法、ノード装置、特定情報配信装置、ノード処理プログラム、及び特定情報配信処理プログラム
JP2009177811A (ja) 分割後のp2pモードでの繰延回復を目的としたコンテンツのライブ送信のための方法、並びに制御装置及び関連する設備
JP5327078B2 (ja) 情報通信システム、情報通信方法、ノード装置及びプログラム
JP2009124662A (ja) ツリー型放送システム、接続処理方法、ノード装置、及びノード処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120803

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees