JP3872410B2 - Stream relay control method, apparatus, and program - Google Patents
Stream relay control method, apparatus, and program Download PDFInfo
- Publication number
- JP3872410B2 JP3872410B2 JP2002305707A JP2002305707A JP3872410B2 JP 3872410 B2 JP3872410 B2 JP 3872410B2 JP 2002305707 A JP2002305707 A JP 2002305707A JP 2002305707 A JP2002305707 A JP 2002305707A JP 3872410 B2 JP3872410 B2 JP 3872410B2
- Authority
- JP
- Japan
- Prior art keywords
- content
- stream
- server
- upstream
- upstream stream
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、大規模なストリーム配信ネットワークサービスにおいて、上流ストリームサーバ、回線、もしくはネットワークの状態を監視して、上流故障時の配信制御を効率的に実現するためのストリーム中継制御方法および装置に関する。
【0002】
【従来の技術】
従来、インターネット上でのストリーム配信を行う場合、一般的には、ストリームコンテンツの要求および設定を行うストリーム設定プロトコル、設定に基づいて、ストリームコンテンツを配信するストリーム配信プロトコル、および、配信中のストリームコンテンツパケットの配信状況や配信品質の通知、サーバ−クライアント間の接続性状態の通知を行うストリーム制御プロトコルが用いられる。IETF(Internet Engineering Task Force)で規定されるプロトコルとしては、RTSP(Real Time Streaming Protocol:RFC2326)、RTP(Real−time Transport Protocol:RFC1889)、および、RTCP(RTP Control Protocol:RFC1889)があげられる。また、これら以外のプロトコルを用いてストリーム配信を行う際にも、上記機能を持ったプロトコルが利用されている。例として、Microsoft社のMMSプロトコル、Real Network社のRDT,PNAプロトコルなどがあげられる。
【0003】
一般的に、インターネット上のストリーム配信は、汎用のPCサーバ上のサーバアプリケーションにこれらのストリームプロトコルを実装することで実現されている。そのため、長時間配信を続けた際に、サーバアプリケーションがデッドロックを起こして停止してしまったり、当該アプリケーションからのパケットの送信が不安定になってしまい、クライアントユーザでのストリーム視聴が途絶えてしまうことが多かった。また、インターネットでの配信を行うため、ネットワークやネットワーク装置が故障してしまい、上流のストリームサーバからのストリームパケットが途絶えてしまい、同様にクライアントユーザのストリーム視聴が切断されてしまうことも多かった。
【0004】
上記の場合において、ストリーム視聴ユーザに対して、視聴不可時間をできる限り低減するために、これまでは、クラスタリング技術、あるいは、ロードバランス技術により、ストリーム配信可能なストリームサーバに接続する手法が取られていた(例えば非特許文献1参照)。図3に示した従来のストリーム中継網の構成を参照して説明する。
【0005】
ストリーム中継網はクライアント101,102とストリーム中継制御装置200,201と上流ストリームサーバ301,302と接続振り分け装置401,402から構成される。接続振り分け装置401,402は一般にはロードバランサーまたはL4/L7スイッチと呼ばれる。また、複数のサーバを仮想的に一つのサーバとして扱うようにするクラスタ装置も同様の機能を有している。このクラスタ装置をハードウェアでなく、ソフトウェアにて実現する手法もある。
【0006】
通常のストリーム配信では、クライアント101または102から視聴したいコンテンツに対する視聴要求情報が送信され、その情報は接続振り分け装置401にて、いずれかのストリーム中継制御装置200または201に転送される。当該中継制御装置は、該情報を処理し、当該コンテンツを配信している上流ストリームサーバに視聴要求情報を送信する。その情報を接続振り分け装置402にて、いずれかの上流ストリームサーバ301または302に転送する。当該上流ストリームサーバでは、該情報を処理し、ストリーム中継制御装置201または202へストリームパケットを送信し、該ストリーム中継制御装置で、視聴要求を行ったクライアントに該ストリームパケットを送信することで、ストリーム配信が行われる。
【0007】
ストリーム配信中に、当該コンテンツを配信中のストリームサーバアプリケーションが停止した場合、当該コンテンツの視聴が切断される。その後、クライアントから再度視聴要求が送信され、接続振り分け装置401、ストリーム中継制御装置200または201を経由して、接続振り分け装置402へ該要求が到着する。接続振り分け装置402は、ストリームサーバアプリケーションが停止していることを検知し、停止していない上流ストリームサーバへ該要求を転送する。該要求を受信した上流ストリームサーバは、該情報を処理し、ストリームパケットを送信することで、引き続きストリーム視聴が行われる。
【0008】
【非特許文献1】
Tony Bourke 「サーバ負荷分散技術」、オライリージャパン、2001
【0009】
【発明が解決しようとする課題】
上述した従来の技術では、接続振り分け装置にてクライアント、あるいは、ストリーム中継制御装置からの視聴要求情報を振り分ける必要があった。このような処理を行うためには装置で要求情報を解析する機能が必要であり、高価なシステムにより実現する必要があるという問題が生じていた。また、処理負荷が高く、かつ、上流ストリームサーバ等からのストリームパケットを多量に処理する必要もあるため、一つのストリームサーバからのストリーム送信可能能力が1Gbps程度の大規模なものである場合には、接続振り分け装置を適用するのは非常に困難であるという問題も生じていた。
【0010】
また、従来の技術では、接続振り分け装置もしくは振り分けソフトウェアにおいて、通信のためのIPアドレス、ポート番号を書き換えて、ストリーム中継制御装置あるいはストリームサーバに該要求情報を転送する必要があり、その処理負荷が大きいという問題とともに、アドレスを書き換えてしまうことによる通信の不整合が発生する可能性があるという問題も生じていた。
【0011】
さらに、従来の技術では、ストリームサーバのサービス停止、ネットワーク切断等が起きない限り、接続振り分け装置もしくは振り分けソフトウェアでは、当該サービスの故障を検知することがでできないため、該ストリームサーバからのパケット送出間隔が、長時間配信し続けることにより変動してしまい、クライアントでの視聴品質が劣化したとしても、当該技術では対応することができず、視聴品質が劣化したサービスを続けなければならないという問題も生じていた。
【0012】
本発明の目的は、大規模なストリーム配信ネットワークサービスにおいて、上流ストリームサーバの状態を監視して、上流ストリームサーバ故障時の配信制御を効率的に実現するストリーム中継制御方法、装置、およびプロ
グラムを提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1のストリーム中継制御方法では、クライアントからストリームコンテンツ視聴要求情報が送出されると、当該コンテンツを配信している上流ストリームサーバにコネクションを接続し、その後、前記上流ストリームサーバの故障を、前記上流ストリームサーバからのストリームパケットが単位時間当たりに許容されるパケット数よりも多く到着することを検知することで、検知すると、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知し、再度、該クライアントから当該コンテンツの視聴要求があった際に、故障が検知された上流ストリームサーバ以外の、当該コンテンツを配信している上流ストリームサーバへコネクションを切り替えて接続することで、当該コンテンツの配信を行う。
本発明の第2のストリーム中継制御方法では、コンテンツを配信している上流ストリームサーバが故障した際に、クライアントからの当該コンテンツの視聴要求があった場合に切り替える上流ストリームサーバをあらかじめ決定しておき、クライアントからストリームコンテンツ視聴要求情報が送出されると、当該コンテンツを配信している上流ストリームサーバにコネクションを接続し、その後、前記上流ストリームサーバの故障を検知すると、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知し、再度、該クライアントから当該コンテンツの視聴要求があった際に、故障が検知された上流ストリームサーバ以外の、前記のあらかじめ決定された上流ストリームサーバへコネクションを切り替えて接続することで、当該コンテンツの配信を行う。
本発明の第3のストリーム中継制御方法では、上流ストリームサーバと事前に通信して、各上流ストリームサーバが配信可能なコンテンツを知り、各コンテンツを配信可能な上流ストリームサーバのリストである候補サーバリストを作成しておき、クライアントからのコンテンツ視聴要求情報が送出されると、前記候補サーバリストから当該コンテンツを配信可能な上流ストリームサーバを選択して、該上流ストリームサーバにコネクションを接続し、その後、前記上流ストリームサーバの故障を検知すると、該上流ストリームサーバを前記候補サーバリストから除外し、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知し、再度、該クライアントから当該コンテンツの視聴要求があった際に、新たな候補サーバリストから上流ストリームサーバを選択し、該上流ストリームサーバへコネクションを切り替えて接続することで、当該コンテンツの配信を行う。
【0014】
したがって、ストリーム中継制御装置において、上流ストリームサーバの状態を監視して、上流ストリームサーバ故障時の配信制御を効率的に実現することが可能となる。
【0015】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は本発明の一実施形態のストリーム中継網の構成を示す図である。図1に示すように、ストリーム中継網はクライアント101,102とストリーム中継制御装置200と上流ストリームサーバ301,302と回線201a、201b、201cにより構成される。本実施形態では、ストリーム中継制御装置、上流ストリームサーバは1対しかないが、それぞれが多段に接続される場合も同様であることは言うまでもない。
【0016】
図2はストリーム中継制御装置200の構成例を示す図である。図2に示すように、ストリーム中継制御装置200は回線終端部202a、200bとパケット振り分け部203a、203bとリクエストパケット解析部204とコネクション制御処理部205とコネクション管理部206とパケット受信管理部207とコネクション切替処理部208と共通メモリ209から構成される。
【0017】
回線終端部202aはクライアント101または102から送信された、ストリームコンテンツの視聴要求情報を含むパケットを受信する。パケット振り分け部203aは回線終端部202aにて受信されたパケットを解析し、リクエストパケットの場合、視聴要求情報をリクエストパケット解析部204に通知する。リクエストパケット解析部204は視聴要求情報を解析して、視聴したいストリームコンテンツを同定し、コネクション制御処理部205に通知し、またコネクション切替処理部208から通知されたストリームサーバ情報をもとにして当該コンテンツの視聴要求を上流ストリームサーバ301または302に送信する。コネクション制御処理部205はリクエストパケット解析部204から通知されたストリームコンテンツを元に、上流ストリームサーバ301または302へコネクションを接続し、該コンテンツ視聴要求情報を送信し、その際、当該コンテンツを配信する上流ストリームサーバを同定するために、コネクション切替処理部208に問い合せを行う。回線終端部202bは上流ストリームサーバ301または302からパケットを受信する。パケット振分部203bは回線終端部202bで受信されたパケットを解析し、制御コネクション切断情報を含んでいた場合、その旨をコネクション管理部206に通知する。コネクション管理部206はパケット振分部203bからの通知により、コンテンツを配信していた上流ストリームサーバ301または302がコンテンツを配信することができなくなったと判断し、コネクションの切替を行う旨をコネクション切替処理部208に通知する。パケット受信管理部207は共通メモリ209から通知されたパケットが書きこまれた時刻を元にストリームパケットの受信間隔を算出し、該間隔をパケット不到着許容時間と比較し受信間隔の方が大きい場合、ストリーム配信故障と判断し、コネクション切替処理部208にその旨を通知する。コネクション切替処理部208はコネクション管理部206からの情報を元に、接続すべき上流ストリームサーバを決定し、コネクション制御処理部205に通知し、また、コネクション管理部206からの情報を元に、コンテンツを配信する際に接続する上流ストリームサーバの切替先をコネクション制御処理部205に通知する。共通メモリ209はクライアントからのパケットおよび上流ストリームサーバからのストリームパケットを格納する。
【0018】
本実施形態の処理の流れについて以下に説明する。
【0019】
(ストリーム配信処理)
クライアント101からストリームコンテンツの視聴要求情報を含むパケットがストリーム中継制御装置200に到着し、回線終端部202aで受信される。パケット振り分け部203aは回線終端部202aにて受信されたパケットを解析し、該パケットがリクエストパケットであると同定し、視聴要求をリクエストパケット解析部204に通知する。リクエストパケット解析部204は視聴要求情報を解析することにより、視聴したいストリームコンテンツを同定し、コネクション制御処理部205に当該情報を通知する。コネクション制御処理部205は、当該情報を元に、上流ストリームサーバへコネクションを接続し、当該コンテンツの視聴要求情報を送信する。その際、当該コンテンツを配信する上流ストリームサーバを同定するために、コネクション制御処理部205はコネクション切替処理部208に問い合わせを行う。コネクション切替処理部208は、当該情報を元に、接続すべき上流ストリームサーバを決定する。本実施形態では、当該コンテンツを配信する上流ストリームサーバが事前に定められているものとし、当該設定に従い、ストリームサーバ301が接続すべき上流ストリームサーバとして選択され、コネクション切替処理部208からコネクション制御処理部205に当該情報が通知される。コネクション制御処理部205は、当該サーバ情報を元にして、当該コンテンツの視聴要求を上流ストリームサーバ301に送信する。
【0020】
上流ストリームサーバ301は、該要求情報を元に、当該コンテンツのストリーム配信処理を行い、ストリーム配信を行う。具体的には、上流ストリームサーバ301とストリーム中継制御装置200との間にストリーム制御用のコネクションを接続し、その後、ストリームパケットをストリーム中継制御装置200に送信する。ストリーム中継制御装置200では、当該ストリームパケットを回線終端部202bで受信した後、共通メモリ209に格納し、回線終端部202aからクライアント101に対して送信する。
【0021】
(上流故障時の処理)
本説明では、上流ストリームサーバ301が故障したものとする。
【0022】
上流ストリームサーバ301のサーバアプリケーションが何らかの原因で停止し、上流ストリームサーバ301からのストリームパケットの送信がなくなり、上流ストリームサーバ301とストリーム中継制御装置200との制御コネクションも切断処理される。
【0023】
ストリーム中継制御装置200は、上流ストリームサーバ301からの制御コネクション切断情報を、回線201bを介して回線終端部202bにて受信し、パケット振り分け部203bにて、制御コネクションの切断情報であることが解析され、当該情報をコネクション管理部206に通知する。コネクション管理部206は、該情報を元にして、当該コンテンツを配信していた上流ストリームサーバ301が当該コンテンツを配信することができなくなったと判断し、コネクションの切替を行う旨をコネクション切替処理部208に通知する。コネクション切替処理部208は、当該情報を元にして、当該コンテンツを配信する際に接続する上流ストリームサーバを301から302に切り替えるようにコネクション制御処理部205に通知する。コネクション制御処理部205は、当該コンテンツを配信する上流ストリームサーバ301が配信できなくなった旨を当該コンテンツを視聴しているクライアント101に通知する。
【0024】
(クライアントからの再視聴要求時の処理)
クライアント101は、当該コンテンツの再視聴を試みるために、当該コンテンツの視聴要求をストリーム中継制御装置200に送信する。
【0025】
ストリーム中継制御装置200では、当該要求情報を元に、当該コンテンツを配信している上流ストリームサーバに接続を試みる。その際、接続する上流ストリームサーバがストリームサーバ302に切り替わっているため、上流ストリームサーバ302に視聴要求を送信する。
【0026】
上流ストリームサーバ302は、視聴要求を元にして、当該コンテンツのストリーム配信処理を行い、ストリーム配信を行う。
【0027】
このように、本実施形態では、ストリーム中継制御装置200にて上流ストリームサーバの状態を監視して、上流故障時に、新たな視聴要求に対して、故障サーバと異なる上流ストリームサーバに対して接続を切替、当該コンテンツの配信を行う。
【0028】
本実施形態では、ストリームを配信している上流ストリームサーバ301のサービスアプリケーションが停止した場合について説明したが、上流ストリームサーバ301とストリーム中継制御装置200とを接続している回線201bが切断した等の故障が起きた場合でも同様の処理の流れにて、上流ストリームサーバの切替処理を行うことができる。
[第2の実施の形態]
本発明の第2の実施の形態について説明する。第1の実施形態と同じ処理をする部分については、説明を省略する場合がある。
【0029】
(ストリーム配信処理)
第1の実施の形態と同様にストリーム配信処理が行われたものとする。
【0030】
(上流からのストリームパケット間欠受信時の処理)
本実施形態では、ストリームサーバ301でのサービスアプリケーションの停止、ネットワーク切断等はなく、上流ストリームサーバ301からのストリーム配信処理が不安定になり、ストリームパケットの送信が間欠的になった場合の処理について説明する。
【0031】
上流ストリームサーバ301では、長時間ストリーム配信を続けたことなどの理由により、当該ストリームの配信処理が不安定になり、ストリームパケットの送信が間欠的になる。具体的には、数秒間ストリームパケットの配信が停止し、その後、ストリームパケットを送信するという現象を繰り返す。
【0032】
ストリーム中継制御装置200では、間欠的になった当該ストリームパケットを回線201bを介して、回線終端部202bにて受信し、共通メモリ209に格納する。共通メモリ209では、当該パケットが書き込まれた時刻をパケット受信管理部207に対して通知する。
【0033】
パケット受信管理部207は、該情報を元にして、上流ストリームサーバ301から受信した当該ストリームパケットの受信間隔を算出する。さらに、算出結果と、予め定めておいたパケット不到着許容時間とを比較し、算出結果の方が大きい場合、上流ストリームサーバ301からのストリームパケット送出間隔が異常になり、ストリーム配信故障と判断し、その旨をコネクション切替処理部208に通知する。なお、以上では、ストリームパケットの受信間隔と、パケット不到着許容時間との比較を行ったが、共通メモリ209からの書き込み時刻情報から、パケット不到着許容時間経っても、新たな書き込み時刻情報が共通メモリ209から通知されないことをもって、ストリーム配信故障と判断してもかまわない。コネクション切替処理部208では、パケット受信管理部207からのストリーム配信故障の情報を元にして、第1の実施形態と同様に、上流ストリームサーバの切替処理を行う。
【0034】
このように、本実施形態では、ストリーム配信を行っている上流ストリームサーバのサービスが停止していない状態でも、当該上流ストリームサーバからのストリームパケットの配信が不安定になり、一定時間ストリームパケットがストリーム中継制御装置200に到着しない場合に、ストリーム配信故障と判断し、上流ストリームサーバを切り替える。
[第3の実施の形態]
本発明の第3の実施の形態について説明する。なお、第1、第2の実施形態と同じ処理をする部分については、説明を省略する場合がある。
【0035】
(ストリーム配信処理)
第1、第2の実施の形態と同様にストリーム配信処理が行われたものとする。
【0036】
(上流からのストリームパケットバースト受信時の処理)
本実施形態では、上流ストリームサーバ301からのストリームパケットが、長時間配信を続けたなどの理由で不安定になり、パケットの配信は続けているが、バースト的に送信をしている場合について説明する。
【0037】
上流ストリームサーバ301では、当該コンテンツの長時間配信を続けたなどの理由で送信間隔が不安定になり、送出すべきストリームパケットをあるタイミングに一気に送信し、その後瞬間的にパケットの送信を停止するという現象を繰り返す場合がある。この現象は一般的にはバースト送信と呼ばれている。
【0038】
ストリーム中継制御装置200では、当該状態になった上流ストリームサーバ301からのストリームパケットを、回線201bを介して、回線終端部202bにて受信し、共通メモリ209に格納する。共通メモリ209では、当該パケットが書き込まれた時刻をパケット受信管理部207に通知する。パケット受信管理部207は、当該情報を元にして、上流ストリームサーバ301から受信したストリームパケットが単位当たりの時間に到着した数を算出する。算出結果と、予め定められた単位時間当たりのパケット到着許容数とを比較し、算出結果の方が大きい場合、上流ストリームサーバ301からのストリームパケットがバースト送信されたものと判断し、上流ストリームサーバ301が故障と判断したとして、その旨をコネクション切替処理部208に対して通知する。
【0039】
コネクション切替処理部208では、第2の実施形態と同様に、当該上流ストリームサーバ301が故障と判断して、上流ストリームサーバの切替処理を行う。
【0040】
このように、本実施形態では、ストリーム配信を行っている上流ストリームサーバのサービスが停止していない状態でも、当該ストリームサーバからのストリームパケットの配信が不安定になり、許容される単位時間当たりのパケット到着許容数を上回るストリームパケットがストリーム中継制御装置に到着した場合に、ストリーム配信故障と判断し、上流ストリームサーバを切り替える。
[第4の実施の形態]
本実施形態では、ストリーム中継制御装置200のコネクション制御処理部205は上流ストリームサーバ301、302と事前に通信して、これら上流ストリームサーバが配信可能なコンテンツを知り、各コンテンツを配信可能な上流ストリームサーバのリストである候補サーバリストを作成しておく。
【0041】
(ストリーム配信処理)
第1、第2の実施の形態と同様にストリーム配信処理が行なわれたものとする。このとき、候補サーバリストから当該コンテンツを配信可能な上流ストリームサーバを選択し、該上流ストリームサーバにコネクションを接続する。
【0042】
(上流故障時の処理)
コネクションを接続した上流ストリームサーバもしくはネットワークの故障があった場合、コネクション制御処理部205は、該上流ストリームサーバを候補サーバリストから除外する。再度、コンテンツ視聴要求があった際には、新たな候補サーバリストから上流ストリームサーバを選択し、該上流ストリームサーバにコネクションを接続する。
【0043】
なお、ストリーム中継制御装置200内の処理は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、CD−ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【0044】
【発明の効果】
以上説明したように、本発明によれば、ストリーム中継制御装置において、上流ストリームサーバの状態を監視して、上流ストリームサーバ故障時の配信制御を効率的に実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態のストリーム中継網の構成図である。
【図2】図1中のストリーム中継制御装置の構成図である。
【図3】従来のストリーム中継網の構成図である。
【符号の説明】
101,102 クライアント
200 ストリーム中継制御装置
201a,201b,201c 回線
301,302 上流ストリームサーバ
202a,202b 回線終端部
203a,203b パケット振分部
204 リクエストパケット解析部
205 コネクション制御処理部
206 コネクション管理部
207 パケット受信管理部
208 コネクション切替処理部
209 共通メモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a stream relay control method and apparatus for efficiently realizing distribution control at the time of upstream failure by monitoring the state of an upstream stream server, line, or network in a large-scale stream distribution network service.
[0002]
[Prior art]
Conventionally, when performing stream distribution on the Internet, generally, a stream setting protocol for requesting and setting stream contents, a stream distribution protocol for distributing stream contents based on the settings, and stream contents being distributed A stream control protocol is used to notify a packet distribution status and distribution quality, and a server-client connectivity state. Protocols defined by IETF (Internet Engineering Task Force) include RTSP (Real Time Streaming Protocol: RFC2326), RTP (Real-time Transport Protocol: RFC1889), and RTCP (RTP Control: C89). A protocol having the above function is also used when stream delivery is performed using a protocol other than these. Examples include Microsoft's MMS protocol, Real Network's RDT, PNA protocol, and the like.
[0003]
Generally, stream distribution on the Internet is realized by implementing these stream protocols in a server application on a general-purpose PC server. For this reason, when the distribution is continued for a long time, the server application stops due to deadlock, or the packet transmission from the application becomes unstable, and the client user stops viewing the stream. There were many things. In addition, since delivery over the Internet is performed, a network or a network device breaks down, stream packets from an upstream stream server are interrupted, and client users are often disconnected from viewing the stream.
[0004]
In the above-mentioned case, in order to reduce the non-viewable time as much as possible for the stream viewing user, a method of connecting to a stream server capable of stream distribution by a clustering technique or a load balance technique has been used so far. (For example, refer nonpatent literature 1). This will be described with reference to the configuration of the conventional stream relay network shown in FIG.
[0005]
The stream relay network includes
[0006]
In normal stream distribution, viewing request information for content desired to be viewed is transmitted from the
[0007]
When the stream server application that is delivering the content stops during the stream delivery, the viewing of the content is disconnected. Thereafter, the viewing request is transmitted again from the client, and the request arrives at the connection distribution device 402 via the
[0008]
[Non-Patent Document 1]
Tony Bourke “Server Load Balancing Technology”, O'Reilly Japan, 2001
[0009]
[Problems to be solved by the invention]
In the above-described conventional technology, it is necessary to distribute viewing request information from the client or the stream relay control device in the connection distribution device. In order to perform such processing, a function of analyzing request information by the apparatus is necessary, and there has been a problem that it is necessary to realize it by an expensive system. In addition, since the processing load is high and it is necessary to process a large amount of stream packets from an upstream stream server or the like, the stream transmission capability from one stream server is a large scale of about 1 Gbps. There has also been a problem that it is very difficult to apply the connection distribution device.
[0010]
In the conventional technique, the connection distribution device or distribution software needs to rewrite the IP address and port number for communication and transfer the request information to the stream relay control device or the stream server. In addition to the large problem, there is a problem that communication inconsistency may occur due to rewriting of the address.
[0011]
Furthermore, in the prior art, unless the service of the stream server stops or the network is disconnected, the connection distribution device or distribution software cannot detect the failure of the service, so the packet transmission interval from the stream server However, even if the viewing quality at the client deteriorates due to continued distribution for a long time, the technology cannot cope with it, and there is a problem that the service with degraded viewing quality must be continued. It was.
[0012]
An object of the present invention, in a large-scale streaming network service monitors the status of the upstream stream server, stream relay control method for efficiently realizing the distribution control at the time of the upstream stream server failure, device, and program It is to provide.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, in the first stream relay control method of the present invention, when stream content viewing request information is sent from a client, a connection is connected to an upstream stream server that distributes the content, and then the failure of the upstream stream server, said that the stream packets from the upstream stream server detects a number arrival to than the number of packets allowed per unit time, when detecting, clients view the content the content is notified that a watchable respect, again, upstream when there is a viewing request for the content from the client, the failure is other than the upstream stream server sensed, it is delivering the content Switching connection to the stream server , Carry out the delivery of the content.
In the second stream relay control method of the present invention, when an upstream stream server that distributes content fails, an upstream stream server to be switched when a request for viewing the content is received from a client is determined in advance. When the stream content viewing request information is sent from the client, the client connects the connection to the upstream stream server that distributes the content, and then, when detecting the failure of the upstream stream server, the client viewing the content To the above-mentioned predetermined upstream stream other than the upstream stream server in which the failure is detected when the client requests to view the content again. Disconnect the connection to the server By Ete connecting, for distributing the content.
In the third stream relay control method of the present invention, a candidate server list that is a list of upstream stream servers that can communicate with upstream stream servers in advance, know the contents that can be distributed by each upstream stream server, and can distribute each content. When the content viewing request information is sent from the client, an upstream stream server that can deliver the content is selected from the candidate server list, and a connection is connected to the upstream stream server. When a failure of the upstream stream server is detected, the upstream stream server is excluded from the candidate server list, the client viewing the content is notified that the content cannot be viewed, and the client again When there is a request to view the content from Select upstream stream server from a new candidate server list, by connecting switches the connection to the upstream stream server, for distributing the content.
[0014]
Thus, the stream relay control device monitors the state of the upstream stream server, it is possible to control distribution of the time of the upstream stream server failure efficient implementation.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram showing a configuration of a stream relay network according to an embodiment of the present invention. As shown in FIG. 1, the stream relay network includes
[0016]
FIG. 2 is a diagram illustrating a configuration example of the stream
[0017]
The
[0018]
The process flow of this embodiment will be described below.
[0019]
(Stream delivery process)
A packet including stream content viewing request information arrives at the stream
[0020]
Based on the request information, the upstream stream server 301 performs stream distribution processing of the content and performs stream distribution. Specifically, a connection for stream control is connected between the upstream stream server 301 and the stream
[0021]
(Processing at upstream failure)
In this description, it is assumed that the upstream stream server 301 has failed.
[0022]
The server application of the upstream stream server 301 stops for some reason, the stream packet is not transmitted from the upstream stream server 301, and the control connection between the upstream stream server 301 and the stream
[0023]
The stream
[0024]
(Process when re-viewing request from client)
The client 101 transmits a viewing request for the content to the stream
[0025]
The stream
[0026]
The
[0027]
As described above, in this embodiment, the stream
[0028]
In the present embodiment, the case where the service application of the upstream stream server 301 that distributes the stream is stopped has been described. However, the line 201b that connects the upstream stream server 301 and the stream
[Second Embodiment]
A second embodiment of the present invention will be described. The description of the same processing as in the first embodiment may be omitted.
[0029]
(Stream delivery process)
It is assumed that stream distribution processing has been performed in the same manner as in the first embodiment.
[0030]
(Processing when receiving stream packets intermittently from upstream)
In the present embodiment, there is no service application stop or network disconnection in the stream server 301, and the stream distribution process from the upstream stream server 301 becomes unstable and the stream packet transmission is intermittent. explain.
[0031]
In the upstream stream server 301, the stream distribution process becomes unstable due to the fact that the stream distribution is continued for a long time, and the transmission of the stream packet becomes intermittent. Specifically, the phenomenon that the delivery of the stream packet is stopped for a few seconds and then the stream packet is transmitted is repeated.
[0032]
In the stream
[0033]
The packet
[0034]
As described above, in this embodiment, even when the service of the upstream stream server that performs the stream delivery is not stopped, the delivery of the stream packet from the upstream stream server becomes unstable, and the stream packet is streamed for a certain period of time. If it does not arrive at the
[Third Embodiment]
A third embodiment of the present invention will be described. Note that description of the same processing as in the first and second embodiments may be omitted.
[0035]
(Stream delivery process)
It is assumed that stream distribution processing has been performed in the same manner as in the first and second embodiments.
[0036]
(Processing when receiving stream packet burst from upstream)
In this embodiment, the stream packet from the upstream stream server 301 becomes unstable due to the fact that it has been delivered for a long time, and the delivery of the packet is continued, but the case where it is transmitted in bursts will be described. To do.
[0037]
In the upstream stream server 301, the transmission interval becomes unstable due to reasons such as continuing to distribute the content for a long time, and stream packets to be transmitted are transmitted at a certain timing, and then the packet transmission is stopped instantaneously. This phenomenon may be repeated. This phenomenon is generally called burst transmission.
[0038]
In the stream
[0039]
As in the second embodiment, the connection
[0040]
As described above, in this embodiment, even when the service of the upstream stream server that performs the stream delivery is not stopped, the delivery of the stream packet from the stream server becomes unstable, and the per unit time allowed. When stream packets exceeding the allowable number of packet arrivals arrive at the stream relay control device, it is determined that the stream delivery has failed, and the upstream stream server is switched.
[Fourth Embodiment]
In this embodiment, the connection
[0041]
(Stream delivery process)
It is assumed that stream distribution processing has been performed in the same manner as in the first and second embodiments. At this time, an upstream stream server capable of delivering the content is selected from the candidate server list, and a connection is connected to the upstream stream server.
[0042]
(Processing at upstream failure)
When there is a failure in the upstream stream server or network to which the connection is connected, the connection
[0043]
Note that the processing in the stream
[0044]
【The invention's effect】
As described above, according to the present invention, the stream relay control device monitors the state of the upstream stream server, it is possible to control distribution of the time of the upstream stream server failure efficient implementation.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a stream relay network according to an embodiment of the present invention.
FIG. 2 is a configuration diagram of the stream relay control device in FIG. 1;
FIG. 3 is a configuration diagram of a conventional stream relay network.
[Explanation of symbols]
101, 102
Claims (7)
クライアントからストリームコンテンツ視聴要求情報が送出されると、当該コンテンツを配信している上流ストリームサーバにコネクションを接続し、その後、前記上流ストリームサーバの故障を、前記上流ストリームサーバからのストリームパケットが単位時間当たりに許容されるパケット数よりも多く到着することを検知することで、検知すると、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知し、再度、該クライアントから当該コンテンツの視聴要求があった際に、故障が検知された前記上流ストリームサーバ以外の、当該コンテンツを配信している上流ストリームサーバへコネクションを切り替えて接続することで、当該コンテンツの配信を行うストリーム中継制御方法。In a streaming network,
When the stream content viewing request information from the client is sent to connect the connection to the upstream stream server that distributes the content, then a failure of the upstream stream server, stream packets from said upstream stream server unit By detecting the arrival of more packets than allowed per time, if detected, the client viewing the content is notified that the content cannot be viewed, and again the client performed when there is a viewing request for the content, the failure is other than the upstream stream server is detected, by connecting switches the connection to the upstream stream server that delivers the content, the distribution of the content from Stream relay control method.
コンテンツを配信している上流ストリームサーバが故障した際に、クライアントからの当該コンテンツの視聴要求があった場合に切り替える上流ストリームサーバをあらかじめ決定しておき、クライアントからストリームコンテンツ視聴要求情報が送出されると、当該コンテンツを配信している上流ストリームサーバにコネクションを接続し、その後、前記上流ストリームサーバの故障を検知すると、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知し、再度、該クライアントから当該コンテンツの視聴要求があった際に、故障が検知された前記上流ストリームサーバ以外の、前記のあらかじめ決定された上流ストリームサーバへコネクションを切り替えて接続することで、当該コンテンツの配信を行うストリーム中継制御方法。In a streaming network,
When an upstream stream server that distributes content fails, an upstream stream server to be switched when there is a request for viewing the content from a client is determined in advance, and stream content viewing request information is sent from the client If, to connect the connection to the upstream stream server that distributes the content, then, when detecting a failure of said upstream stream server, it the content to the client that is viewing the content is watchable notify, again, when there is a viewing request for the content from the client, the failure is other than the upstream stream server is detected, by connecting switch the connection to the predetermined upstream stream server , Stream relay control method of performing signal.
上流ストリームサーバと事前に通信して、各上流ストリームサーバが配信可能なコンテンツを知り、各コンテンツを配信可能な上流ストリームサーバのリストである候補サーバリストを作成しておき、クライアントからのコンテンツ視聴要求情報が送出されると、前記候補サーバリストから当該コンテンツを配信可能な上流ストリームサーバを選択して、該上流ストリームサーバにコネクションを接続し、その後、前記上流ストリームサーバの故障を検知すると、該上流ストリームサーバを前記候補サーバリストから除外し、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知し、再度、該クライアントから当該コンテンツの視聴要求があった際に、新たな候補サーバリストから上流ストリームサーバを選択し、該上流ストリームサーバへコネクションを切り替えて接続することで、当該コンテンツの配信を行うストリーム中継制御方法。In a streaming network,
Communicating with upstream stream servers in advance, knowing the content that each upstream stream server can deliver, creating a candidate server list that is a list of upstream stream servers that can deliver each content, and requesting content viewing from clients When information is sent, the candidate from the server list by selecting the distributable upstream stream server the content, connects the connection to the upstream stream server, then, upon detecting a failure of said upstream stream server, the exclude upstream stream server from the candidate server list, when the content to the client that is viewing the content notifies that it is not viewed, there is again viewing request for the content from the client , upstream stream from a new candidate server list Select over bar, by connecting by switching the connection to said upstream stream server, stream relay control method for distributing the content.
クライアントから送出されたストリームコンテンツ視聴要求情報に応じて、当該コンテンツを配信している上流ストリームサーバに接続後、前記上流ストリームサーバの故障を、前記上流ストリームサーバからのストリームパケットが単位時間当たりに許容されるパケット数よりも多く到着することを検知することで、検知する手段と、
該故障が検知されると、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知する手段と、
再度、該クライアントから当該コンテンツの視聴要求があった際に、故障が検知された前記上流ストリームサーバ以外の当該コンテンツを配信している上流ストリームサーバへ切り替えてコネクションを接続する手段と
を有することを特徴とするストリーム中継制御装置。In the stream relay control device,
Depending on the stream content viewing request information sent from the client after connection to the upstream stream server that delivers the content, the failure of the upstream stream server, per stream packet unit time from said upstream stream server Means for detecting by arriving more than the allowed number of packets ;
Means for notifying the client viewing the content that the content cannot be viewed when the failure is detected;
Again, in that it has means for connection when there is a viewing request for the content from the client, the connection is switched to the upstream stream server failure is delivering the content other than the upstream stream server sensed A stream relay control device.
コンテンツを配信している上流ストリームサーバが故障した際に、クライアントからの当該コンテンツ視聴要求があった場合に切り替える上流ストリームサーバをあらかじめ決定しておく手段と、
クライアントから送出されたストリームコンテンツ視聴要求情報に応じて、当該コンテンツを配信している上流ストリームサーバに接続後、前記上流ストリームサーバの故障を検知する手段と、
該故障が検知されると、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知する手段と、
再度、該クライアントから当該コンテンツの視聴要求があった際に、前記のあらかじめ決定された上流ストリームサーバへ切り替えてコネクションを接続する手段と
を有することを特徴とするストリーム中継制御装置。In the stream relay control device,
Means for predetermining an upstream stream server to be switched when there is a content viewing request from a client when the upstream stream server delivering the content fails;
Depending on the stream content viewing request information sent from the client after connection to the upstream stream server that distributes the content, and means for detecting a failure of said upstream stream server,
Means for notifying the client viewing the content that the content cannot be viewed when the failure is detected;
Again, when there is a viewing request for the content from the client, the stream relay control apparatus characterized by having a means for connecting the connection switches to the predetermined upstream stream server.
上流ストリームサーバと事前に通信して、各上流ストリームサーバが配信可能なコンテンツを知ることにより事前に作成された、各コンテンツを配信可能な上流ストリームサーバのリストである候補サーバリストと、
クライアントから送出されたストリームコンテンツ視聴要求情報に応じて、前記候補サーバリストから当該コンテンツを配信可能な上流ストリームサーバを選択して、該上流ストリームサーバに接続後、前記上流ストリームサーバの故障を検知する手段と、
該故障が検知されると、該上流ストリームサーバを前記候補サーバリストから除外し、当該コンテンツを視聴しているクライアントに対して当該コンテンツが視聴不可であることを通知する手段と、
再度、該クライアントから当該コンテンツの視聴要求があった際に、新たな候補サーバリストから上流ストリームサーバを選択し、該上流ストリームサーバへ切り替えてコネクションを接続する手段と
を有することを特徴とするストリーム中継制御装置。In the stream relay control device,
A candidate server list that is a list of upstream stream servers that can deliver each content, created in advance by communicating with upstream stream servers in advance and knowing the contents that each upstream stream server can deliver;
Depending on the stream content viewing request information sent from the client, the candidate select the distributable upstream stream server the content from the server list, after connecting to said upstream stream server, detecting a failure of said upstream stream server Means to
Means for excluding the upstream stream server from the candidate server list when the failure is detected, and notifying a client viewing the content that the content cannot be viewed;
Again, streams, characterized in that a means when there is a viewing request for the content from the client, which selects the upstream stream server from a new candidate server list, connects the connection switches to the upstream stream server Relay control device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002305707A JP3872410B2 (en) | 2002-10-21 | 2002-10-21 | Stream relay control method, apparatus, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002305707A JP3872410B2 (en) | 2002-10-21 | 2002-10-21 | Stream relay control method, apparatus, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004140745A JP2004140745A (en) | 2004-05-13 |
| JP3872410B2 true JP3872410B2 (en) | 2007-01-24 |
Family
ID=32452741
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002305707A Expired - Fee Related JP3872410B2 (en) | 2002-10-21 | 2002-10-21 | Stream relay control method, apparatus, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3872410B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101690136A (en) * | 2007-06-26 | 2010-03-31 | 汤姆逊许可证公司 | Real-time protocol stream migration |
| KR101535837B1 (en) * | 2013-05-15 | 2015-07-13 | 경북대학교 산학협력단 | Media server and method for transmitting contents |
-
2002
- 2002-10-21 JP JP2002305707A patent/JP3872410B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004140745A (en) | 2004-05-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7546355B2 (en) | Network architecture for data transmission | |
| US7953883B2 (en) | Failover mechanism for real-time packet streaming sessions | |
| US9332037B2 (en) | Method and apparatus for redundant signaling links | |
| CN101741832B (en) | Method and system for distributing received sessions among multiple instances of an application utilizing the same IP port | |
| US7159234B1 (en) | System and method for streaming media server single frame failover | |
| US8762535B2 (en) | Managing TCP anycast requests | |
| US8671163B2 (en) | Multi-output packet server with independent streams | |
| EP1427132B1 (en) | Method and device for multicast group management | |
| EP2787717B1 (en) | Call processing method, call control device, automatic call distribution device and agent terminal | |
| EP1047241A2 (en) | System and method for restarting of signaling entities in H.323-based realtime communication networks | |
| US8713351B2 (en) | Message processing method and apparatus based on the SIP protocol and an IP communication system | |
| KR20100027162A (en) | Real time protocol stream migration | |
| JP5116429B2 (en) | Method and apparatus for reducing retransmission requests in a network | |
| US20030023877A1 (en) | System and method of managing data transmission loads | |
| WO2010063186A1 (en) | Method and system for implementing a relay channel and edge nodes | |
| CN101150592A (en) | session control system | |
| CN106817267B (en) | A kind of fault detection method and equipment | |
| WO2012079374A1 (en) | Method, device, and system for binding virtual serial port and physical serial port | |
| JP3872410B2 (en) | Stream relay control method, apparatus, and program | |
| JP4798495B2 (en) | Video distribution quality measurement system, apparatus and method | |
| WO2013159492A1 (en) | Method and system for reporting and downloading information | |
| US7761577B2 (en) | Method and apparatus for detecting stuck calls in a communication session | |
| JP2007004361A (en) | Load balancer | |
| EP1480412A1 (en) | Method for sending multiple ephemeral terminations in a single ServiceChange message | |
| JP2013062678A (en) | Ip connection device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050124 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050124 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050124 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050614 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060712 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060905 |
|
| 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: 20061004 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061019 |
|
| 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: 20101027 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101027 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111027 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111027 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121027 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |