説明

ストリーム配信システム及び障害検知方法

【課題】ストリーム配信における品質低下の原因を容易に特定することのできるストリーム配信サーバ装置及び障害検知方法を提供する。
【解決手段】ルータ2を介してクライアント端末4と通信してストリームデータを送信するサーバ1aと、サーバ1aに対して冗長化されたサーバであって、サーバ1aに接続されるサーバ1bとを備え、サーバ1aは、クライアント端末4との通信に関するコネクション管理表11をサーバ1bに送信する通信状態通知部14を有し、サーバ1bは、サーバ1aに送信されるパケットのコピーであるミラーパケットを、ルータ2から取得するパケット記録部18と、コネクション管理表11とパケットバッファ20とに基づいて、サーバ1aとクライアント端末4との間のネットワーク5における障害を検知するネットワーク障害監視部17とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーム配信における障害を検知するストリーム配信システム及び障害検知方法に関する。
【背景技術】
【0002】
従来、ネットワークにおける障害の解析方法として、クライアント端末からネットワーク経路の障害をポーリングで監視することで、ネットワーク経路のどこで障害が発生しているかを監視するようにしたものが知られている(例えば、特許文献1参照)。
【特許文献1】特開2002-152203号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の方法では、クライアント端末、サーバ及びネットワーク経路が固定である場合には利用できるが、ストリーム配信などのように、クライアント端末が不特定多数の場合には利用できない。また、ネットワーク経路が複雑な場合には、ポーリングによるトラフィックが増大するため、監視の頻度と監視のためのトラフィック増とのバランスを取るのが困難である。
【0004】
一方、インターネットストリーム配信サービスのますますの増加が予想され、ストリーム配信サーバの配信帯域増大や、広域なネットワークでの活用が期待されている。同時に、サーバ設置面積の削減や、消費電力の低減からサーバ単体の処理性能の向上が要求されている。
【0005】
ストリーム配信サーバが複雑なネットワークを介してストリームデータを送信するストリーム配信では、単体の配信帯域が大きいストリームデータを取り扱うため、ネットワークにおける障害が発生した場合、その障害解析には高性能な障害解析機器が必要であった。また、障害解析機器は、障害が発生しているかを調べるだけでも、ストリーム配信サーバの複雑な挙動を理解する必要があるため、ストリーム配信におけるネットワーク障害の解析は非常に困難であった。
【0006】
さらに、ストリーム配信は配信帯域を保証する必要があるため、配信帯域が必要帯域を下回るなど、ストリーム配信の品質低下が発生した際に、品質低下を検知してその原因を解析する必要がある。しかし、ストリーム配信の品質低下の原因として、ネットワークにおける障害の他に、ストリーム配信サーバにおける障害やクライアント端末における障害など、複数の原因が考えられ、品質低下の原因の特定は困難であった。
【0007】
本発明はかかる問題点に鑑みてなされたものであり、その目的とするところは、ストリーム配信における品質低下の原因を容易に特定することのできるストリーム配信システム及び障害検知方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明は前述の目的を達成するために、ネットワーク装置を介してクライアント端末と通信してストリームデータを送信する第1ストリーム配信サーバと、前記第1ストリーム配信サーバに対して冗長化されたサーバであって、前記第1ストリームサーバに接続される第2ストリーム配信サーバとを備え、前記第1ストリーム配信サーバは、前記クライアント端末との通信に関する通信情報を第2ストリーム配信サーバに送信する送信部を有し、前記第2ストリーム配信サーバは、前記第1ストリーム配信サーバに送信されるデータのコピーであるミラーデータを、前記ネットワーク装置から取得する取得部と、前記通信情報と前記ミラーデータとに基づいて、前記第1ストリーム配信サーバと前記クライアント端末との間のネットワークにおける障害を検知するネットワーク障害検知部とを有するストリーム配信システムを提案する。
【0009】
また、本発明は前述の目的を達成するために、ネットワーク装置を介してクライアント端末と通信してストリームデータを送信する第1ストリーム配信サーバと、前記第1ストリーム配信サーバに対して冗長化されたサーバであって、前記第1ストリームサーバに接続される第2ストリーム配信サーバとを有するシステムに用いられる障害検知方法であって、前記第1ストリーム配信サーバが、前記クライアント端末との通信に関する通信情報を第2ストリーム配信サーバに送信する送信ステップと、前記第2ストリーム配信サーバが、前記第1ストリーム配信サーバに送信されるデータのコピーであるミラーデータを、前記ネットワーク装置から取得する取得ステップと、前記第2ストリーム配信サーバが、前記通信情報と前記ミラーデータとに基づいて、前記第1ストリーム配信サーバと前記クライアント端末との間のネットワークにおける障害を検知するネットワーク障害検知ステップとを備える障害検知方法を提案する。
【0010】
本発明によれば、第1ストリーム配信サーバ及びクライアント端末間の通信に関する通信情報と、第1ストリーム配信サーバに送信されるデータのコピーであるミラーデータとに基づいて、第1ストリーム配信サーバ及びクライアント端末間のネットワークにおける障害が検知される。これにより、第2ストリーム配信サーバが、通信情報及びミラーデータによって、ネットワーク障害による品質低下を検知することができ、ネットワーク障害とその他の障害とを切り分けることができる。
【発明の効果】
【0011】
本発明によれば、第2ストリーム配信サーバが、通信情報及びミラーデータによって、ネットワーク障害による品質低下を検知することができ、ネットワーク障害とその他の障害とを切り分けることができる。これにより、品質低下の原因となっている範囲を絞り込むことができ、ストリーム配信における品質低下の原因を容易に特定することができる。また、第1ストリーム配信サーバと同程度の性能を有する第2ストリーム配信サーバがネットワーク障害を検知するので、従来のように高性能な障害解析機器を必要とすることなく、ネットワーク障害を解析することが可能となる。
【発明を実施するための最良の形態】
【0012】
以下、図面について本発明の一実施の形態を詳述する。
【0013】
まず、図1乃至図5を参照してストリーム配信システムの構成を説明する。図1は、ストリーム配信システムの全体構成を説明する概略構成図である。
【0014】
ストリーム配信サーバ9は、ストリーム配信サーバ(以下、単にサーバという)1aと、サーバ1bと、外部記憶装置3とから構成されている。サーバ1a及びサーバ1bは、それぞれルータ2及びネットワーク5を介して接続されるクライアント端末4と通信し、クライアント端末4が指定したストリームのストリームデータを送信する。
【0015】
クライアント端末4は、サーバ1a又はサーバ1bが送信するストリームデータを受信し、ストリームを閲覧するサービスをクライアント端末4の利用者に提供する端末である。クライアント端末4は、サーバ1a又はサーバ1bにネットワーク5を介してストリームの配信要求を送信し、サーバ1a又はサーバ1bからストリームデータを受信し、クライアント端末4の利用者にストリームを再生して提供するストリーム再生部34を有する。また、クライアント端末4は、利用者からの操作を受付ける入力デバイス(図示せず)と、映像を表示するデバイス(図示せず)とを有する。なお、図1では、クライアント端末4は1つだけしか示されていないが、これに限定されず、複数のクライアント端末であってもよい。
【0016】
クライアント端末4は、ストリームの配信要求をする前に、サーバ1a及びサーバ1bが配信可能なストリームの一覧と、ストリームを配信するサーバ1a及びサーバ1bのネットワーク5上のアドレス、例えばIPアドレスとを、Webサーバ(図示せず)などから取得する。また、クライアント端末4は、ストリームデータを受信中に予め一定時間分のストリームデータを先読みする。サーバ1aからストリームデータを受信中に受信障害が発生し、先読みした一定時間内に続きのストリームデータをサーバ1aから受信できなかった場合に、クライアント端末4は、取得したサーバ1bのアドレスに基づいて、サーバ1bに続きのストリームの配信要求をする。
【0017】
ネットワーク5は、WAN(Wide Area Network)又はインターネットで構成されている。
【0018】
ルータ2は、サーバ1aやサーバ1bなどの他のネットワーク機器と接続するためのネットワークポート34a及びネットワークポート34bを備えている。また、ルータ2は、ネットワークポートに送信されるパケットをコピーし、コピーしたミラーパケットを他のネットワークポートにも送信するミラーリング部32と、外部からの設定変更を受付けてルータ2の動作の設定を変更する設定変更受付部33とを有する。
【0019】
本実施形態では、ルータ2は、ネットワークポート34aとサーバ1aとがネットワークケーブル6aで接続され、ネットワークポート34bとサーバ1bとがネットワークケーブル6bで接続されている。ストリーム配信サービスを提供するサービス提供業者は、ネットワーク5に接続するルータ2と、ルータ2に接続するサーバ1a及びサーバ1bとを所有し、管理している。
【0020】
サーバ1a及びサーバ1b間には、互いに相手の動作状態に関する情報を取得できるインタフェースケーブル7が設けられている。また、サーバ1a及びサーバ1bは、配信すべきストリームのストリームデータを格納した外部記憶装置3を共有し、インタフェースケーブル8a及びインタフェースケーブル8bで外部記憶装置3に接続している。インタフェースケーブル8a及びインタフェースケーブル8bとしては、例えばファイバチャンネルケーブルなどを用いることが好ましい。
【0021】
外部記憶装置3は、サーバ1a及びサーバ1bが配信すべきストリームのストリームデータを格納したディスクであるストリームディスク30と、後述するパケット記録部18によって取得され、ルータ2からサーバ1aに送信されたパケットのコピーであるミラーパケットを格納したディスクであるパケットディスク31とから構成されている。
【0022】
図2は、図1に示したサーバの物理構成を説明する概略構成図である。サーバ1a及びサーバ1bは、それぞれプロセッサ100、主記憶装置101、内部インタフェース105、通信回路インタフェース106、外部記憶装置インタフェース107及び入出力装置108を有する。主記憶装置101は、RAM(Random Access Memory)などにより構成され、演算処理を行う際に用いられる記憶手段として、プログラムメモリ102及びデータメモリ103を備える。なお、演算処理は、CPU(Central Processing Unit)によって構成されるプロセッサ100が、プログラムメモリ102上のプログラムを実行することで実現される。また、入出力装置108は、例えばキーボードとマウスとディスプレイである。
【0023】
サーバ1a及びサーバ1bは、アクティブ・スタンバイ構成をとっている。すなわち、サーバ1a及びサーバ1bは、アクティブ又はスタンバイの動作モードの一方の状態にある。動作モードがアクティブであるサーバはストリーム配信のサービスを提供し、動作モードがスタンバイであるサーバは、動作モードがアクティブであるサーバに障害が発生していないかを監視し、動作モードがアクティブであるサーバに障害が発生したときに、動作モードをスタンバイからアクティブに変更してストリーム配信のサービスを継続する。なお、以下において、特に記載がない限り、サーバ1aは動作モードがアクティブであり、サーバ1bは動作モードがスタンバイであるとして説明する。
【0024】
図1に示すように、サーバ1aは、動作モードがアクティブであるサーバで動作する、ストリーム配信部10と、コネクション管理表11と、通信状態通知部14とを有する。また、サーバ1bは、動作モードがスタンバイであるサーバで動作する、障害監視部15と、ネットワーク障害監視部17と、パケット記録部18と、コネクション解析19と、パケットバッファ20とを有する。なお、図1では、サーバ1aに動作モードがアクティブであるサーバで動作するものを、サーバ1bに動作モードがスタンバイであるサーバで動作するものを、それぞれ図示しているが、サーバに障害が発生したときに、アクティブ・スタンバイを入れ替える必要があるため、実際には、サーバ1a及びサーバ1bは、動作モードがアクティブであるサーバで動作するものと、動作モードがスタンバイであるサーバで動作するものとの両方を有する。
【0025】
ストリーム配信部10は、ネットワーク5を介してストリームデータをクライアント端末4に配信するためのものである。ストリーム配信部10は、クライアント端末4からのストリームの配信要求に従い、ストリームデータを外部記憶装置3から取得し、ストリームを途切れなく再生するために必要な送信帯域を守るように、取得したストリームデータをクライアント端末4に送信する。
【0026】
コネクション管理表11は、クライアント端末4との通信に関する通信情報を、クライアント端末4とのコネクションごとに管理するための表である。
【0027】
図3は、図1に示したコネクション管理表を説明する構成図である。コネクション管理表11は、ストリーム配信部10によって記録又は更新される表である。コネクション管理表11は、配信情報欄201と、必要帯域欄202と、クライアント端末識別情報欄203と、受信パケット欄204と、通信状態欄205とから構成されている。
【0028】
配信情報201欄には、例えばファイル名などのストリームディスク30に格納された配信すべきストリームデータを識別する情報が格納される。必要帯域欄202には、ストリームをクライアント端末4で途切れなく再生するために必要な送信帯域が格納される。クライアント端末識別情報欄203には、例えばネットワークアドレスなどの送信すべきクライアント端末4を識別するための識別情報が格納される。
【0029】
受信パケット204欄には、サーバ1aに送信されたパケットの受信状態を示す受信情報、例えばサーバ1aがクライアント端末4から受信した受信パケットの数と、最後の受信パケットのサーバ1aにおける時刻と、当該受信パケットの内容を示すパケット情報とが格納される。なお、受信パケット欄204に格納されるパケット情報は、最後の受信パケットに限定されず、サーバ1aが受信したパケットのうちの一部、例えば格納可能なデータ量の範囲内で複数の受信パケットであってもよい。
【0030】
通信状態205欄には、クライアント端末4との通信状態を示す通信状態情報、例えばクライアント端末4が受信可能なデータサイズを示すTCP(Transmission Control Protocol)のウィンドウサイズと、サーバ1aがストリームデータを送信してからクライアント端末4が受信したことを示すACK(ACKnowledgement)信号を受信するまでの遅延時間のうち、所定時間内に複数の遅延時間を測定した場合における最大の遅延時間と、直近の通信における通信帯域と、パケットの再送を行った回数とが格納される。
【0031】
ストリーム配信部10は、クライアント端末4とコネクションを確立したときに行を追加し、配信情報201欄、必要帯域202欄及びクライアント端末識別情報203欄に情報を格納して記録する。また、ストリーム配信中は、所定時間ごとに受信パケット204欄及び通信状態欄205の内容を更新し、クライアント端末4からストリームの配信停止要求を受信するなど、クライアント端末4との通信が正常に終了した場合に、通信状態205欄を“正常終了”に更新する。
【0032】
通信状態通知部14は、動作モードがスタンバイであるサーバ1bに、クライアント端末4に配信しているストリームの通信状態を知らせるためのものである。具体的には、通信状態通知部14は、所定時間ごとにコネクション管理表11をサーバ1bに送信する。なお、通信状態通知部14がコネクション管理表11をサーバ1bに送信する周期(所定時間)は、ストリーム配信部10が受信パケット欄204及び通信状態欄205の内容を更新する周期(所定時間)と同じか同程度であることが好ましい。
【0033】
障害監視部15は、サーバ1aに障害が発生していないかを監視するためのものである。障害監視部15は、障害を検知したときに、サーバ1aの動作モードをアクティブからスタンバイに変更し、サーバ1bの動作モードをスタンバイからアクティブに変更する。なお、動作モードを変更する方法として、例えばアクティブフラグをプログラムメモリ102又はデータメモリ103に有し、動作モードをアクティブにする場合はアクティブフラグに「1」を、スタンバイにする場合はアクティブフラグに「0」を格納する。
【0034】
ネットワーク障害監視部17は、障害監視部15によって起動され、ネットワーク5にネットワーク的な障害、すなわちクライアント端末4における障害も含めたネットワーク障害が発生していないかを監視するためのものである。ネットワーク障害監視部17は、ネットワーク障害を検知したときに、検知したネットワーク障害の障害解析を行う。
【0035】
パケット記録部18は、障害監視部15又はネットワーク障害監視部17によって起動され、クライアント端末4からサーバ1aに送信されるパケットのコピーであるミラーパケットをルータ2から取得し、取得したミラーパケットを記録するためのものである。パケット記録部18は、ルータ2から取得したミラーパケットを、送信元であるクライアント端末4を識別することでコネクションごとに分類し、後述するコネクション解析表19に記録又は更新する。さらに、パケット記録部18は、ルータ2から取得したミラーパケットを、主記憶装置101にある後述のパケットバッファ20にバッファリングし、後述するタイミングで外部記憶装置3のパケットディスク31に記録する。バッファリングするデータ量は、ネットワーク障害監視部17によって行われる、後述のネットワーク障害の障害解析に過不足のないデータ量を設定しており、これを超えるミラーパケットは、パケット記録部18が削除する。なお、バッファリングするデータ量は、ネットワーク障害の障害解析に過不足のないデータ量で、かつ、クライアント端末4がネットワーク障害を検知するためのタイムアウト時間に受信するミラーパケットのデータ量以上であることが好ましい。
【0036】
図4は、図1に示したコネクション解析表を説明する構成図である。コネクション解析表19は、ルータ2でコピーされサーバ1bに送信されたミラーパケットを、パケット記録部18が受信し、解析した結果が記録される表である。コネクション解析表19は、後述するパケットバッファ20にバッファリングされたミラーパケットの内容を更新する際に、パケット記録部18によって更新される。
【0037】
コネクション解析表19は、クライアント端末識別情報欄211と、バッファリングパケット情報212欄とから構成されている。クライアント端末識別情報欄211には、コネクション管理表11のクライアント端末識別情報欄203と同様に、クライアント端末4を識別するための識別情報が格納される。バッファリングパケット情報欄212には、主記憶装置101にバッファリングした一番古いミラーパケットがクライアント端末4との通信開始から何番目に受信したものか管理するために、受信パケット数が格納される。
【0038】
図5は、図1に示したパケットバッファを説明する構成図である。パケットバッファ20は、受信時刻欄221と、クライアント端末識別情報欄222と、受信パケット番号欄223と、パケットデータ欄224とから構成されている。受信時刻欄221には、ミラーパケットを受信したサーバ1bにおける時刻が格納される。クライアント端末識別情報欄222には、ミラーパケットにおける送信元の情報が格納される。受信パケット番号欄223には、クライアント端末識別情報欄222に格納される送信元ごとのミラーパケットの通し番号が格納される。パケットデータ欄224には、サーバ1bが受信したミラーパケットの内容が格納される。
【0039】
次に、図6乃至図8を参照してストリーム配信システムの動作を説明する。
【0040】
図6は、図1に示した障害監視部の動作を説明するフローチャートである。障害監視部15は、例えば前述のアクティブフラグに基づいて、サーバ1bの動作モードがスタンバイであるか否かを判定し(S301)、スタンバイである場合には障害監視を続行してS302へ進み、スタンバイでない場合には動作モードがスタンバイになるまでS301を繰り返す。
【0041】
次に、障害監視部15はパケット記録部18を起動し、パケット記録部18は、ルータ2に設定変更を要求し、ルータ2がサーバ1aに送信するパケットをコピーしてサーバ1bに送信するように、ルータ2を設定する(S304)。なお、後述するS303の処理後に再度S304を実行する場合など、既にルータ2に設定済みである場合に、障害監視部15はS304をスキップする。
【0042】
次に、障害監視部15は、他方のサーバであるサーバ1aに障害が発生しているか否かを判定する(S302)。サーバに障害が発生しているか否かを判定する方法として、例えば以下の処理を実行する。
【0043】
図7は、サーバにおける障害の検知に係る動作を説明するフローチャートである。まず、障害監視部15は、サーバ1aのソフトウェアと一定間隔で通信して応答があるかなどに基づいて、サーバ1aのソフトウェアが正常に動作しないなど、ソフトウェアに障害が発生しているか否かを判定する(S321)。サーバ1aのソフトウェアに障害が発生していない場合、障害監視部15は、サーバ1aとサーバ1bとの内部インタフェースを接続し、サーバ1bから内部インタフェースを経由してサーバ1aにおけるCPUの自己チェックの結果を監視し、CPUに障害が発生しているか否かを判定する(S322)。サーバ1aのCPUに障害が発生していない場合、障害監視部15は、サーバ1bから内部インタフェースを経由してサーバ1aの電源が正常な電圧になってないなど、電源に障害が発生しているか否かを判定する(S323)。サーバ1aの電源に障害が発生していない場合、障害監視部15は、サーバ1aのソフトウェアに問い合わせ、ストリーム配信システム9の内部ネットワークの障害、例えばネットワークケーブル6bの断線などが発生しているか否かを判定する(S324)。内部ネットワークに障害が発生していない場合、障害監視部15は、サーバ1aのソフトウェアに問い合わせ、冷却ファンの回転数が低下するなど、冷却装置に障害が発生しているか否かを判定する(S325)。S321〜S325において、1つでも障害が発生している場合に、障害監視部15はサーバaにおける障害の発生を検知して終了し、全てに障害が発生していない場合に、障害監視部15はサーバ1aにおける障害の発生を検知せず、サーバ1aは正常であるとして終了する。
【0044】
S302の判定の結果、サーバ1aに障害が発生している場合、障害監視部15は、サーバ1bがクライアント端末4と通信できるように、ルータ2に設定変更を要求してS304で変更したルータ2の設定を元に戻し、パケット記録部18を停止する(S305)。パケット記録部18を停止後、障害監視部15は、サーバ1aの動作モードをアクティブからスタンバイに変更し、サーバ1bの動作モードをスタンバイからアクティブに変更する、いわゆるフェールオーバー処理を行い(S306)、障害監視部15は障害の発生を監視する処理を終了して停止する。これにより、サーバ1aの障害監視部15が起動され、動作モードがアクティブであるサーバ1bにおける障害を監視することができる。
【0045】
なお、ルータ2とサーバ1a及びサーバ1bとを接続するネットワークケーブル6a及びネットワークケーブル6bが複数存在するなど、ルータ2がコピーしたミラーパケットの送信とストリームデータの送信とを同時に実行できる場合、障害監視部15はS304及びS305のルータ2の設定変更は省略してもよい。
【0046】
S302の判定の結果、サーバ1aに障害が発生していない場合に、障害監視部15はネットワーク障害監視部17を起動し、ネットワーク障害監視部17はネットワーク障害の発生を監視する。
【0047】
図8は、図1に示したネットワーク障害監視部の動作を説明するフローチャートである。まず、ネットワーク障害監視部17は、クライアント端末4との通信に関する通信情報をサーバ1aから取得する(S310)。具体的には、サーバ1aの通信状態通知部14がコネクション管理表11の内容を送信し、サーバ1bのネットワーク障害監視部17が通信状態通知部14によって送信されたコネクション管理表11の内容を受信する。
【0048】
次に、ネットワーク障害監視部17は、取得したコネクション管理表11の各行について、行ごとに以下のS311〜S314を実行する。
【0049】
まず、ネットワーク障害監視部17は、コネクション管理表11の通信状態欄205が“正常終了”か否かに基づいて、サーバ1aとクライアント端末4との通信が正常に終了したか否かを判定し(S311)、サーバ1aとクライアント端末4との通信が正常に終了した場合にはS315に進み、正常に終了していない場合にはS312に進む。
【0050】
次に、ネットワーク障害監視部17は、通信状態欄205に格納された、サーバ1aとクライアント端末4との通信状態を示す通信状態情報の各指標について、それぞれに予め設定された閾値に達したか否か判定する(S312)。ネットワークの通信状態を示す指標がその指標に設定された閾値に達した場合としては、例えばネットワークプロトコルにTCPを利用しているときに、TCPのウィンドウサイズが0になった場合、サーバ1aのIP(Internet Protocol)パケットの送信時刻と当該IPパケットに対応するAck信号の到着時刻との差が1秒以上になった場合、過去10秒間の通信帯域が必要帯域欄202の帯域を下回る場合、再送パケット数が1を超える場合などが挙げられる。このように、通信状態欄205に基づいて、クライアント端末4との通信状態の変化を検知するので、通信状態の変化による品質低下を検知することができる。
【0051】
S312の判定の結果、ネットワーク障害監視部17は、通信状態情報の各指標に設定された閾値に達した場合にS316に進み、閾値に達していない場合にS313に進む。
【0052】
次に、ネットワーク障害監視部17はパケット記録部18を起動し、パケット記録部18は、受信パケット欄204の内容がパケットバッファ20に含まれるか検索する。すなわち、クライアント端末識別情報欄203の情報とクライアント端末識別情報欄222の情報とが一致し、かつ、受信パケット欄204の受信数と受信パケット番号欄223のミラーパケットの通し番号とが一致する行を、パケットバッファ20から検索する。そして、パケット記録部18は、検索された行におけるパケットデータ欄224のミラーパケットの内容を取得し、取得したパケットデータ欄224のミラーパケットの内容と、受信パケット欄204のパケット情報とが異なるか否かを判定する(S313)。このように、受信パケット欄204の受信数及びパケット情報に基づいて、所定時点より前にサーバ1aに送信されたパケットの受信状態の変化を検知するので、所定時点より前の、サーバ1aにおけるパケットの受信漏れ(パケットドロップ)を検知することができる。
【0053】
S313の判定の結果、ネットワーク障害監視部17は、検索された行におけるパケットデータ欄224のミラーパケットの内容と受信パケット欄204に格納されるパケット情報とが異なる場合にS316に進み、一致する場合にS314に進む。なお、ネットワーク障害監視部17は、パケットバッファ20を検索した結果、パケットバッファ20に該当する行がない場合もS314に進む。
【0054】
次に、パケット記録部18は、クライアント端末識別情報欄203の情報とクライアント端末識別情報欄222の情報とが一致し、かつ、受信パケット番号欄223のミラーパケットの通し番号が受信パケット欄204の受信数より大きい行を、パケットバッファ20から検索し、検索された行における受信時刻欄221の時刻と受信パケット欄204の受信時刻との差が、一定時間以上であるか否か判定する(S314)。このように、受信パケット欄204の受信数及び受信時刻に基づいて、所定時点以降にサーバ1aに送信されたパケットの受信状態の変化を検知するので、所定時点以降の、サーバ1aにおけるパケットの受信漏れ(パケットドロップ)を検知することができる。
【0055】
S314の判定の結果、ネットワーク障害監視部17は、検索された行における受信時刻欄221の時刻と受信パケット欄204の受信時刻との差が一定時間以上である場合に、S316に進む。なお、一定時間は、後述するS315で待機する時間である。また、ネットワーク障害監視部17は、パケットバッファ20を検索した結果、パケットバッファ20に該当する行がない場合もS316に進む。
【0056】
前述のS311〜S314を、コネクション管理表11の各行について実行した後、ネットワーク障害監視部17は一定時間待機する(S315)。なお、一定時間は数秒程度が好ましい。
【0057】
ここで、S312の判定が真(Yes)の場合、サーバ1a及びクライアント端末4間のネットワーク5又はクライアント端末4自身になんらかの障害が発生し、サーバ1aには問題がない可能性がある。また、S313又はS314の判定が真(Yes)の場合、サーバ1aはパケットを受信しきれなかった可能性がある。このように、サーバ1aとクライアント端末4との通信に関する通信情報であるコネクション管理表11と、サーバ1aに送信されるパケットのコピーであるミラーパケットをバッファリングしたパケットバッファ20とに基づいて、サーバ1a及びクライアント端末4間のネットワーク5における障害が検知されるので、サーバ1bが、コネクション管理表11及びパケットバッファ20によって、ネットワーク障害による品質低下を検知することができ、ネットワーク障害とその他の障害とを切り分けることができる。
【0058】
次に、パケット記録部18は、パケットバッファ20にバッファリングしたミラーパケットをパケットディスク31に記憶する(S316)。これにより、ネットワーク障害とその他の障害との切り分け情報を記録することができる。
【0059】
次に、ネットワーク障害監視部17は、コネクション解析表19のクライアント端末識別情報欄211を利用し、ネットワーク5の障害解析を行う(S317)。ネットワーク5の障害解析方法としては、例えばICMP(Internet Control Message Protocol)パケットを利用した障害解析方法が考えられる。この方法は、IPパケットの最大ホップ数を1、2、3と順次増加させ、クライアント端末識別情報欄211に格納されたクライアント端末のネットワークアドレスに対してICMPパケットを複数送信し、応答数を統計的に計測することで、何ホップ先のルータまで通信可能かと、パケットロス率とを取得でき、ネットワークの障害解析ができる。このように、ネットワーク障害を検知したときにネットワーク障害を解析し、ネットワーク障害を解析するときに、例えばICMPパケットをネットワーク5に送信しているので、ネットワーク障害の解析によるネットワーク5のトラフィック増加を最小限度に抑えることができる。
【0060】
ネットワーク障害監視部17はS317の次にS315に進み、一定時間経過後、ネットワーク障害監視部17はネットワーク障害の発生を監視する処理を終了し、図6に示したフローチャートに戻り、障害監視部15は再度S301〜S306を繰り返す。
【0061】
このように、本発明によれば、サーバ1aとクライアント端末4との通信に関する通信情報であるコネクション管理表11と、サーバ1aに送信されるパケットのコピーであるミラーパケットをバッファリングしたパケットバッファ20とに基づいて、サーバ1a及びクライアント端末4間のネットワーク5における障害が検知されるので、サーバ1bが、コネクション管理表11及びパケットバッファ20によって、ネットワーク障害による品質低下を検知することができ、ネットワーク障害とその他の障害とを切り分けることができる。これにより、品質低下の原因となっている範囲を絞り込むことができ、ストリーム配信における品質低下の原因を容易に特定することができる。また、サーバ1aと同程度の性能を有するサーバ1bがネットワーク障害を検知するので、従来のように高性能な障害解析機器を必要とすることなく、ネットワーク障害を解析することが可能となる。
【0062】
また、ネットワーク障害を検知したときに、ミラーパケットをパケットディスク31に記憶するので、ネットワーク障害とその他の障害との切り分け情報を記録することができる。これにより、従来の障害解析機器が行っていたように、配信帯域が大きく膨大な量のパケットをパケットキャプチャして調べたり、あるいはパケットキャプチャの量を一定期間や一定条件に制限して調べたりする必要がなく、障害解析に必要なパケットだけを記録することができる。
【0063】
また、サーバ1bの動作モードをスタンバイからアクティブに変更し、クライアント端末4にストリームデータを配信するときに、サーバ1bは障害監視部15を停止するので、サーバ1aの動作モードをアクティブからスタンバイに変更することで、サーバ1aの障害監視部15が起動され、動作モードがアクティブであるサーバ1bにおける障害を監視することができる。
【0064】
また、コネクション管理表11はクライアント端末4との通信状態を示す通信状態情報が格納される通信状態欄205を含み、通信状態欄205に基づいて、クライアント端末4との通信状態の変化を検知することができる。これにより、通信状態の変化による品質低下を検知することができ、ネットワーク障害を更に切り分けることができる。
【0065】
また、コネクション管理表11はサーバ1aに送信されたデータの受信状態を示す受信情報が格納される受信パケット欄204を含み、受信パケット欄204に基づいて、サーバ1aに送信されたパケットの受信状態の変化を検知するので、サーバ1aにおけるパケットの受信漏れ(パケットドロップ)を検知することができる。これにより、パケットの受信漏れとその他の障害とを切り分けることができる。
【0066】
また、ネットワーク障害を検知したときにネットワーク障害を解析し、ネットワーク障害を解析するときに、例えばICMPパケットをネットワーク5に送信しているので、ネットワーク障害の解析によるネットワーク5のトラフィック増加を最小限度に抑えることができる。
【0067】
なお、本発明の構成及び動作は、前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
【図面の簡単な説明】
【0068】
【図1】ストリーム配信システムの全体構成を説明する概略構成図である。
【図2】図1に示したサーバの物理構成を説明する概略構成図である。
【図3】図1に示したコネクション管理表を説明する構成図である。
【図4】図1に示したコネクション解析表を説明する構成図である。
【図5】図1に示したパケットバッファを説明する構成図である。
【図6】図1に示した障害監視部の動作を説明するフローチャートである。
【図7】サーバにおける障害の検知に係る動作を説明するフローチャートである。
【図8】図1に示したネットワーク障害監視部の動作を説明するフローチャートである。
【符号の説明】
【0069】
1a,1b…サーバ、2…ルータ、3…外部記憶装置、4…クライアント端末、5…ネットワーク、10…ストリーム配信部、11…コネクション管理表、14…通信状態通知部、15…障害監視部、17…ネットワーク障害監視部、18…パケット記録部、20…パケットバッファ。

【特許請求の範囲】
【請求項1】
ネットワーク装置を介してクライアント端末と通信してストリームデータを送信する第1ストリーム配信サーバと、
前記第1ストリーム配信サーバに対して冗長化されたサーバであって、前記第1ストリームサーバに接続される第2ストリーム配信サーバとを備え、
前記第1ストリーム配信サーバは、
前記クライアント端末との通信に関する通信情報を第2ストリーム配信サーバに送信する送信部を有し、
前記第2ストリーム配信サーバは、
前記第1ストリーム配信サーバに送信されるデータのコピーであるミラーデータを、前記ネットワーク装置から取得する取得部と、
前記通信情報と前記ミラーデータとに基づいて、前記第1ストリーム配信サーバと前記クライアント端末との間のネットワークにおける障害を検知するネットワーク障害検知部とを有する
ことを特徴とするストリーム配信システム。
【請求項2】
前記第2ストリーム配信サーバは、
前記ネットワークにおける障害を検知したときに、前記ミラーデータを記憶する記憶部を有する
ことを特徴とする請求項1に記載のストリーム配信システム。
【請求項3】
前記第2ストリーム配信サーバは、
前記第1ストリーム配信サーバにおける障害を検知するサーバ障害検知部と、
前記第1ストリーム配信サーバにおける障害を検知したときに、前記クライアント端末に前記ストリームデータを送信するストリーム配信部と、
前記クライアント端末に前記ストリームデータを送信するときに、前記サーバ障害検知部を停止する停止部とを有する
ことを特徴とする請求項1に記載のストリーム配信システム。
【請求項4】
前記通信情報は、前記クライアント端末との通信状態を示す通信状態情報を含む
ことを特徴とする請求項1に記載のストリーム配信システム。
【請求項5】
前記通信情報は、前記第1ストリーム配信サーバに送信された前記データの受信状態を示す受信情報を含み、
前記第2ストリーム配信サーバは、
前記通信情報と前記ミラーデータとに基づいて、前記第1ストリーム配信サーバに送信される前記データの受信漏れを検知する受信漏れ検知部を有する
ことを特徴とする請求項1に記載のストリーム配信システム。
【請求項6】
前記第2ストリーム配信サーバは、
前記ネットワークにおける障害を検知したときに、前記ネットワークにおける障害を解析する解析部を有する
ことを特徴とする請求項1に記載のストリーム配信システム。
【請求項7】
ネットワーク装置を介してクライアント端末と通信してストリームデータを送信する第1ストリーム配信サーバと、前記第1ストリーム配信サーバに対して冗長化されたサーバであって、前記第1ストリームサーバに接続される第2ストリーム配信サーバとを有するシステムに用いられる障害検知方法であって、
前記第1ストリーム配信サーバが、前記クライアント端末との通信に関する通信情報を第2ストリーム配信サーバに送信する送信ステップと、
前記第2ストリーム配信サーバが、前記第1ストリーム配信サーバに送信されるデータのコピーであるミラーデータを、前記ネットワーク装置から取得する取得ステップと、
前記第2ストリーム配信サーバが、前記通信情報と前記ミラーデータとに基づいて、前記第1ストリーム配信サーバと前記クライアント端末との間のネットワークにおける障害を検知するネットワーク障害検知ステップとを備える
ことを特徴とする障害検知方法。
【請求項8】
前記ネットワーク障害検知ステップは、
前記第2ストリーム配信サーバが、前記ネットワークにおける障害を検知したときに、前記ミラーデータを記憶する記憶ステップを含む
ことを特徴とする請求項7に記載の障害検知方法。
【請求項9】
前記取得ステップは、
前記第2ストリーム配信サーバが、前記第1ストリーム配信サーバにおける障害を検知するサーバ障害検知ステップと、
前記第2ストリーム配信サーバが、前記第1ストリーム配信サーバにおける障害を検知したときに、前記クライアント端末に前記ストリームデータを送信するストリーム配信ステップと、
前記第2ストリーム配信サーバが、前記クライアント端末に前記ストリームデータを送信するときに、前記サーバ障害検知部を停止する停止ステップとを含む
ことを特徴とする請求項7に記載の障害検知方法。
【請求項10】
前記通信情報は、前記クライアント端末との通信状態を示す通信状態情報を含む
ことを特徴とする請求項7に記載の障害検知方法。
【請求項11】
前記通信情報は、前記第1ストリーム配信サーバに送信された前記データの受信状態を示す受信情報を含み、
前記ネットワーク障害検知ステップは、
前記第2ストリーム配信サーバが、前記通信情報と前記ミラーデータとに基づいて、前記第1ストリーム配信サーバに送信される前記データの受信漏れを検知する受信漏れ検知ステップを含む
ことを特徴とする請求項7に記載の障害検知方法。
【請求項12】
前記ネットワーク障害検知ステップは、
前記第2ストリーム配信サーバが、前記ネットワークにおける障害を検知したときに、前記ネットワークにおける障害を解析する解析ステップを含む
ことを特徴とする請求項7に記載の障害検知方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−265959(P2009−265959A)
【公開日】平成21年11月12日(2009.11.12)
【国際特許分類】
【出願番号】特願2008−115001(P2008−115001)
【出願日】平成20年4月25日(2008.4.25)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】