説明

中継装置、ネットワークシステム及び中継処理プログラム

【課題】余分な課金の発生を未然に防止することを可能にする中継装置、ネットワークシステム及び中継処理プログラムを提供する。
【解決手段】ユーザエージェント間の通信を中継する中継装置であって、SIPメッセージの送受信を制御するSIPトランスポート502と、トランザクションを管理するSIPトランザクション管理部501と、ユーザエージェントの情報を管理するユーザエージェント登録管理部503と、セッション状態を管理するセッション管理部504と、セッションの継続性が失われている場合に該当セッションの解放処理を行うセッション継続性識別部505とを備え、セッション継続性識別部505はユーザエージェントに対しSIPトランザクションメッセージを送信し、その応答が得られない場合に、ユーザエージェントが生存しておらずセッションの継続性が失われていると判断し、該当セッションの解放処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SIPによるセッション管理を行うネットワーク通信において、クライアント端末等の異常が発生した場合に、セッションの継続性を判断し、必要に応じてセッションを切断するための中継装置、ネットワークシステム及び中継処理プログラムに関する。
【背景技術】
【0002】
ネットワーク上で、音声通話や映像配信を行うためのプロトコルとして、SIP(Session Initiation Protocol)を通じたセッション管理技術の利用が進められている。例えば、音声通話を行うアプリケーションにおいては図17に示すような構成で通信が行われる。
【0003】
図17に示すネットワークシステムは、ネットワーク101、プロキシサーバ102、103、104、クライアント端末であるユーザ端末(以下、UAと記述する場合がある)105、106で構成される。ユーザ端末105は、ユーザ端末106と音声通話を行う際、最初にSIPを通じて、ユーザ端末106との間にセッションを確立する。この時、アドレスの解決や音声通話中の通信状態管理、課金情報の収集等を行うために、ネットワーク101中に分散的に配置されているプロキシサーバ(102、103、104)と呼ばれるサーバを中継してセッションを形成する形態が多く採用されている。
【0004】
プロキシサーバ102〜104がセッションを中継する場合、プロキシサーバは音声通話のようなアプリケーションのセッション情報を把握するために自身のリソースを消費する。ユーザ端末105、106間の音声通話が正常に終了した場合、プロキシサーバはその状態を把握することが出来るため、音声通話の終了と同時に自身のリソースを解放することが可能である。
【0005】
しかし、ユーザ端末105、106の故障や動作不良による再起動等が発生した場合、プロキシサーバはその音声通話のセッションが終了したことを認識することが出来ないため、自身のリソースを解放することが出来ない。また、VoIP(Voice over IP)のようなサービスにおいて、プロキシサーバが課金情報を収集していた場合、音声通話の終了を知ることが出来ないため、無駄な課金が発生してしまうという可能性がある。
【0006】
この問題を解決するため、プロキシサーバがアプリケーションのセッションの継続性を把握するための仕組みが必要となる。
【0007】
非特許文献1においては、セッションタイマと呼ばれる機能が規定されている。図18に、従来のセッションタイマ機能を備えるプロキシサーバの構成図を示す。プロキシサーバ200は、SIPのトランザクションを管理するSIPトランザクション管理部201と、SIPの送受信管理を行うSIPトランスポート202と、ユーザエージェント(以下、UA)と呼ばれるクライアント端末管理を行うUA登録管理部203と、中継するセッション状態を管理するセッション管理部204から構成される。また、セッション管理部204は、図19に示すようなセッション管理情報を保持する(実際に管理する情報には、図19に掲載した情報以外の情報も含まれるが、図19では、本明細書に関係する部分のみを抜粋して示している)。
【0008】
以下、セッションタイマ機能の管理について説明する。プロキシサーバ200は、UA間のセッションを中継する際に、図19に示すように、セッションを一意に特定するセッション番号とリフレッシュメッセージの送信間隔及びリフレッシュメッセージを最後に受信した時刻情報を保持する。リフレッシュメッセージは、片方のUAから残り片方のUAに向けて送信されるメッセージであり、そのメッセージには、次のリフレッシュメッセージの送信間隔に関する情報も含まれる。
【0009】
プロキシサーバ200は、SIPトランスポート202を介して、リフレッシュメッセージを受信し、SIPトランザクション管理部201において、リフレッシュメッセージに含まれるセッション番号及びリフレッシュメッセージの送信間隔を抽出し、セッション管理部204で管理するセッション管理情報について、該当するセッション番号のリフレッシュメッセージの送信間隔及びリフレッシュメッセージの受信時刻情報を更新する。
【0010】
プロキシサーバ200は、セッションリフレッシュメッセージが受信されている間は該当するセッションが生存していると判断することが可能となる。また、UAに障害等が発生し、セッションリフレッシュメッセージを送信できなくなった場合、プロキシサーバ200は、事前に決定されたリフレッシュメッセージ送信時間の送信期限、つまり、セッション管理部204のセッション管理情報に含まれるセッションリフレッシュメッセージ受信時刻(最後に受信した時刻情報)からセッションリフレッシュメッセージの送信間隔が経過するまでの間に、セッションリフレッシュメッセージが送受信されない場合、そのセッションは終了したと判断し、そのセッションに関連する自身のリソースを解放する。
【0011】
このようなセッションタイマ機能によって、セッションが終了したことを認識することが出来ず、自身のリソースを解放することが出来ないという先の問題を解決することができる。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】RFC4028 S.Donovan, J. Rosenberg, “Session Timers in the SessionInitiation Protocol (SIP)”, April 2005
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、プロキシサーバは、その管理下に非常に多くのUA(ユーザエージェント)を抱えるため、リソースの制約上、セッションリフレッシュメッセージの送信時間間隔を一定以上に短くすることが難しいという問題がある。例えば、非特許文献1において、セッションリフレッシュメッセージの送信間隔として、30分以上を指定することが推奨されている。そのため、VoIP等のような課金サービスにおいて、ユーザエージェントの異常等が発生した場合、セッションリフレッシュメッセージの送信時間間隔が大きいと、最大でその送信時間間隔だけ余分に課金が発生してしまう可能性がある。
【0014】
(発明の目的)
本発明の目的は、上記のような課題を解決するためになされたもので、ユーザエージェントの異常等が発生した場合にセッションの継続性が失われたことを検出し、セッションが終了したことをプロキシサーバに伝達し、余分な課金の発生を未然に防止することを可能にする中継装置、ネットワークシステム及び中継処理プログラムを提供することにある。
【課題を解決するための手段】
【0015】
本発明の第1の中継装置は、SIPによるセッション管理を行うネットワークシステムでユーザエージェント間の通信を中継する中継装置であって、SIPメッセージの送受信を制御するSIPトランスポートと、SIPメッセージのトランザクションを管理するSIPトランザクション管理部と、ユーザエージェントの情報を管理するユーザエージェント登録管理部と、ユーザエージェントが形成するセッション状態を管理するセッション管理部と、ユーザエージェントによるセッションの継続性を判断し、セッションの継続性が失われている場合に該当セッションの解放処理を行うセッション継続性識別部とを備え、セッション継続性識別部は、ユーザエージェントに対し、ユーザエージェントが生存している場合にエラーが返されるSIPトランザクションメッセージを送信し、その応答が得られない場合に、ユーザエージェントが生存しておらず、セッションの継続性が失われていると判断し、該当セッションの解放処理を行う。
【0016】
本発明の第1のネットワークシステムは、SIPによるセッション管理を行うネットワークシステムにおいて、ユーザエージェント間の通信を中継する中継装置が、SIPメッセージの送受信を制御するSIPトランスポートと、SIPメッセージのトランザクションを管理するSIPトランザクション管理部と、ユーザエージェントの情報を管理するユーザエージェント登録管理部と、ユーザエージェントが形成するセッション状態を管理するセッション管理部と、ユーザエージェントによるセッションの継続性を判断し、セッションの継続性が失われている場合に該当セッションの解放処理を行うセッション継続性識別部とを備え、中継装置のセッション継続性識別部は、ユーザエージェントに対し、ユーザエージェントが生存している場合にエラーが返されるSIPトランザクションメッセージを送信し、その応答が得られない場合に、ユーザエージェントが生存しておらず、セッションの継続性が失われていると判断し、該当セッションの解放処理を行う。
【0017】
本発明の第1の中継処理プログラムは、SIPによるセッション管理を行うネットワークシステムでユーザエージェント間の通信を中継する中継装置上で動作し、中継装置に、SIPメッセージの送受信を制御するSIPトランスポート機能と、SIPメッセージのトランザクションを管理するSIPトランザクション管理機能と、ユーザエージェントの情報を管理するユーザエージェント登録管理機能と、ユーザエージェントが形成するセッション状態を管理するセッション管理機能と、ユーザエージェントによるセッションの継続性を判断し、セッションの継続性が失われている場合に該当セッションの解放処理を行うセッション継続性識別機能を実行させ、セッション継続性識別機能は、ユーザエージェントに対し、ユーザエージェントが生存している場合にエラーが返されるSIPトランザクションメッセージを送信し、その応答が得られない場合に、ユーザエージェントが生存しておらず、セッションの継続性が失われていると判断し、該当セッションの解放処理を行う。
【発明の効果】
【0018】
本発明の第1の効果は、SIPによるセッション管理を行う通信において、ユーザエージェントに異常が発生した場合に、セッションの継続性を判断し、必要に応じてセッションを切断することで、余分な課金を防止することが可能となることである。その理由は、セッションを形成するアプリケーションもしくはユーザエージェントの生存状態を監視することで、セッションが終了していることをより短い時間で検出し、セッションの解放処理を実行できるためである。
【0019】
本発明の第2の効果は、中継装置が何らかの事情で再起動したとしても、第1の効果を継続して提供できることである。その理由は、従来、メモリ上に置かれていたUA登録管理及びセッション管理に関する情報を永続的に記憶可能な外部記憶に保存しておくことで、障害等により再起動した場合でも、再起動前の状態を復旧させることが可能なためである。
【図面の簡単な説明】
【0020】
【図1】本発明の第1の実施の形態による中継装置を適用したネットワークシステム全体の接続関係を示す構成図である。
【図2】本発明の第1の実施の形態による中継装置の構成を示すブロック図である。
【図3】本発明の第1の実施の形態における全体の動作を説明するフローチャートである。
【図4】本発明の第1の実施の形態においてユーザエージェントが自身が生存していることをプロキシサーバに通知する処理シーケンスである。
【図5】本発明の第1の実施の形態における中継装置のUA登録管理部で管理されるユーザエージェントに関する情報テーブルの構成例を示す図である。
【図6】本発明の第1の実施の形態においてユーザエージェントに何らかの異常が発生し、再起動した場合の処理シーケンスである。
【図7】本発明の第1の実施の形態におけるユーザエージェント間のSIPトランザクションの処理シーケンスである。
【図8】本発明の第1の実施の形態におけるユーザエージェントと中継装置のSIPトランザクションの処理シーケンスである。
【図9】本発明の第1の実施の形態におけるユーザエージェントが発信するSIPメッセージのシーケンス番号の増加を示す図である。
【図10】本発明の第1の実施の形態におけるユーザエージェント障害時に、ユーザエージェントが発信するSIPメッセージのシーケンス番号の変化を示す図である。
【図11】本発明の第1の実施の形態における音声配信実施時の開始から終了までのシーケンス図である。
【図12】本発明の第1の実施の形態におけるユーザエージェントが音声配信を開始し、その途中で障害が発生した場合のシーケンス図である。
【図13】本発明の第2の実施の形態による中継装置の構成を示すブロック図である。
【図14】映像配信システムに本発明による中継装置を適用した実施例を示す図である。
【図15】図14の実施例におけるセットトップボックスとホームゲートウェイとの処理シーケンス図である。
【図16】本発明の第1の実施の形態による中継装置のハードウェア構成を示す図である。
【図17】従来の音声通信を行うアプリケーションにおけるネットワークシステムの構成例を示す図である。
【図18】従来のプロキシサーバの構成例を示す図である。
【図19】従来のプロキシサーバのセッション管理部が管理する情報テーブルの構成例を示す図である。
【発明を実施するための形態】
【0021】
以下、本発明の好適な実施の形態について図面を参照して詳細に説明する。
【0022】
(第1の実施の形態)
図1は、本発明の第1の実施の形態による中継装置を適用したネットワークシステム全体の接続関係を示す構成図である。クライアント端末であるユーザエージェント406、407、408、409は、ネットワーク401を介して互いにアプリケーション通信を行う。
【0023】
中継装置404は、ユーザエージェント406及び407を管理下に置くホームゲートウェイ機能を提供する。中継装置405は、同様にユーザエージェント408及び409を管理下に置くホームゲートウェイ機能を提供する。プロキシサーバ402及び403は、ユーザエージェント406、407、408、409間でやりとりされるセッション状態の管理を行う。
【0024】
図2は、本発明の第1の実施の形態による中継装置の構成を示すブロック図である。図2を参照すると、中継装置404は、SIPトランザクション管理部501、SIPトランスポート502、UA登録管理部503、セッション管理部504、セッション継続性識別部505を備えている。ここでは、中継装置404の構成を示しているが、中継装置405についても図2と同様の構成である。
【0025】
これらの手段は次のように動作する。SIPトランザクション管理部501は、プロキシサーバ402、ユーザエージェント406、407間で送受信するSIPメッセージの状態管理を行う。SIPトランスポート502は、ネットワーク401を介して、ユーザエージェント406、407もしくはプロキシサーバ402に対して、SIPメッセージの送受信を行う。UA登録管理部503は、中継装置500が管理するUA、図1においては、ユーザエージェント406及び407の情報を管理する。
【0026】
セッション管理部504は、ユーザエージェント406、407が他のユーザエージェントと形成するセッション状態を管理する。セッション継続性識別部505は、セッション管理部504で形成されるセッションの継続性を識別し、セッションが終了していると判断した場合、その旨をプロキシサーバ402に通知する機能を提供する。
【0027】
ここで、中継装置404,405のハードウェア構成について簡単に説明する。
【0028】
図16は、本実施の形態による中継装置404(中継装置405も同様)のハードウェア構成例を示すブロック図である。
【0029】
図16を参照すると、本発明による中継装置404は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、CPU(Central Processing Unit)901、RAM(Random Access Memory)等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部902、インターネット等の通信網を介してデータの送受信を行う通信制御部903、液晶ディスプレイ、プリンタやスピーカ等の出力部904、キーボードやマウス等の入力部905、周辺機器と接続してデータの送受信を行うインタフェース部906、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部907、本情報処理装置の上記各構成要素を相互に接続するシステムバス908等を備えている。
【0030】
本発明による中継装置404は、その動作を、中継装置404内部にそのような機能を実現する中継処理プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供する中継処理プログラムを、上記CPU901で実行することにより、ソフトウェア的に実現することができる。
【0031】
すなわち、CPU901は、補助記憶部907に格納されている中継処理プログラムを、主記憶部902にロードして実行し、中継装置404のSIPトランザクション管理部501、SIPトランスポート502、UA登録管理部503、セッション管理部504、セッション継続性識別部505の各機能をソフトウェア的に実現することが可能である。
【0032】
次に、図2の構成図及び図3のフローチャートを参照して、本実施の形態の全体の動作について説明する。
【0033】
ユーザエージェントからのメッセージを中継することで、中継装置404、405は、ユーザエージェントの状態及びユーザエージェントが形成するセッションの状態を管理する(ステップS101)。中継装置404、405において、ユーザエージェントの状態は、UA登録管理部503で、ユーザエージェントが形成するセッションの状態は、セッション管理部504で管理される。
【0034】
セッション継続性識別部505は、中継装置404、405が中継するユーザエージェントから発信されたSIPメッセージによって、またはセッション継続性識別部505が積極的にユーザエージェントの生存を確認するといった方法によって、ユーザエージェントの生存状態もしくはユーザエージェントが形成したセッションの継続性を監視する(ステップS102)。
【0035】
セッション継続性識別部505において、定期的に送信されるはずのユーザエージェントの登録メッセージが想定されていない時間に到着した等の現象から、ユーザエージェントの障害や状態管理しているセッションの継続性が途切れていることを判断する(ステップ103)。
【0036】
セッション継続性識別部505は、障害発生と判断したユーザエージェントが関与するセッションもしくは継続性が途切れていると判断したセッションの解放処理をプロキシサーバに通知し、セッションの解放処理を行う(ステップS104)。
【0037】
以下、ステップS102及びS103におけるセッション継続性識別部505の詳細な動作について説明する。セッション継続性識別部505は、ユーザエージェントが形成するセッションが継続しているかを識別するために以下に説明する複数の機能を提供し、これらの機能は、単独でもしくは幾つかを組み合わせて使用することが可能である。
【0038】
ここで、セッション継続性識別部505がユーザエージェントの生存を確認して、セッションの継続性を判断するための方法について詳細に説明する。
【0039】
図4にユーザエージェント406が、自身が生存していることをプロキシサーバ402に通知する処理シーケンスを示す。また、ユーザエージェントの情報を管理するため、中継装置404のUA登録管理部503には、図5に示すような情報テーブル800が保持されている。
【0040】
情報テーブル800は、ユーザエージェントを識別するUA識別情報801、ユーザエージェントのIPアドレス802、ユーザエージェントから次回送信されるREGISTERメッセージ(登録メッセージ)の受信時刻を記録する登録処理受信時刻803、メッセージ送信に要する処理遅延等を考慮した障害判定許容期間804を情報として保持する。障害判定許容期間804は、メッセージ送信に要する時間の誤差等を許容するために設けられ、事前設定、端末からの申請に基づき設定する等の方法により決定される。
【0041】
図4にあるように、ユーザエージェント406は、自身が起動した際に、自分がシステムに参加したことを示すために、REGISTERメッセージ(登録メッセージ)を発行して、ユーザエージェント406自身の情報をプロキシサーバ402に対して登録する。
【0042】
ユーザエージェント406が発行したREGISTERメッセージは、中継装置404を介してプロキシサーバ402に届くため、その際に、中継装置404は、REGISTERメッセージからユーザエージェント406の情報を抽出し、その情報をUA登録管理部503に追加登録する。
【0043】
また、ユーザエージェント406は自身が生存していることを示すため、定期的にREGISTERメッセージをプロキシサーバ402に発行する。中継装置404は、REGISTERメッセージを中継する際に、ユーザエージェント406の情報を抽出する。
【0044】
セッション継続性識別部505は、UA登録管理部503に格納されている情報テーブル800の登録処理受信時刻803とユーザエージェント406からREGISTERメッセージを受信した時刻を比較し、その時刻の差が障害判定許容期間804内である場合、ユーザエージェント406に異常は発生していないと判断し、UA登録管理部503が管理する情報テーブル800における該当ユーザエージェントの登録処理受信時刻803を更新する。
【0045】
図6にユーザエージェント406に何らかの異常が発生し、再起動した場合の処理シーケンスを示す。
【0046】
ユーザエージェント406は、再起動した際に、上述した場合と同様に、REGISTERメッセージを発行する。中継装置404は、REGISTERメッセージを中継する際に、ユーザエージェント406の情報を抽出する。セッション継続性識別部505は、UA登録管理部503に格納されている情報テーブル800の登録処理受信時刻803とユーザエージェント406からREGISTERメッセージを受信した時刻を比較する。
【0047】
このとき、図6に示すように本来受信が想定されていた登録処理受信時刻803よりもREGISTERメッセージを早く受信し、その差が障害判定許容期間804を外れている場合、セッション継続性識別部505は、ユーザエージェント406が何らかの原因により再起動したと判断する。セッション継続性識別部505は、ユーザエージェント406が形成しているセッション情報をセッション管理部504から抽出し、セッションの解放処理を行う。
【0048】
また、中継装置404からセッションを形成するアプリケーションが確実にエラーを返すようなメッセージやサービスの継続性に影響を与えないメッセージをユーザエージェントに送信し、アプリケーションの生存確認を行う方法がある。その方法について詳細に説明する。
【0049】
SIPにおけるユーザエージェントは、SIPメッセージを受信した際に、何らかの応答を返すことが期待されている。図7は、ユーザエージェント406とユーザエージェント408がユーザエージェント408からの要請によりセッションを形成する処理シーケンスである。
【0050】
セッションを形成するために、ユーザエージェント408は、ユーザエージェント406を示すURI(Uniform Resource Identifier)を付与したINVITEメッセージを発信する。ユーザエージェント406は自身のURIが含まれているため、自分宛のメッセージであると解釈し、正常応答(“200 OK”)を返す。
【0051】
この特性を利用し、中継装置404のセッション継続性識別部505は、ユーザエージェント406の生存を確認するため、ユーザエージェント406が確実にエラーメッセージを返すと期待されるメッセージを発信する。
【0052】
図8では、ユーザエージェント406とセッションを形成するためのINVITEメッセージを送信する際に、ユーザエージェント406以外を示すランダムに生成されたURIを含める場合を示している。ユーザエージェント406は、受信したINVITEメッセージに自身を示すURIが含まれていないため、エラー応答(“404 Not Found”)を返す。
【0053】
セッション継続性識別部505は、エラー応答を受信することで、ユーザエージェント406の生存を確認することが出来る。もし、中継装置404が発行したINVITEメッセージに対して、ユーザエージェント406から一定時間、応答が得られない場合、セッション継続性識別部505はユーザエージェント406に障害が発生したと判断し、ユーザエージェント406が形成しているセッション情報をセッション管理部504から抽出し、セッションの解放処理を行う。
【0054】
上記のような処理を中継装置404のセッション継続性識別部505が定期的に実行することで、ユーザエージェントの生存を識別する。
【0055】
また、ユーザエージェントの生存を確認するメッセージとして、SIPメッセージを利用する以外にも、「ping」のようなユーザエージェント端末そのものの生存確認を可能とするメッセージを利用する方法、ARPのようなネットワークレベルでの生存確認を可能とするメッセージを利用する方法がある。
【0056】
また、中継装置404、405が、セッションを形成するユーザエージェントから送信されるSIPメッセージに含まれるシーケンス番号の連続性及び単調増加性を監視し、シーケンス番号の増加性に大きな変化が見られた場合、ユーザエージェントが再起動したと判断する方法がある。その方法について詳細に説明する。
【0057】
ユーザエージェント間でやりとりされるSIPメッセージにはトランザクションを識別するためにシーケンス番号が付与される。図9に示すように、同一のユーザエージェント(図9におけるユーザエージェント406)から発信されるSIPメッセージに含まれるシーケンス番号を、トランザクション毎に連続的に増加させる(例えば、前回のシーケンス番号に「1」を加算する)。
【0058】
図9及び図10では説明を分かり易くするために、「SIP/CSeq=XXX」という表記を行っており、実際のSIPメッセージとフォーマットが異なっている。CSeqはシーケンス番号を示しており、「SIP/CSeq=XXX」でシーケンス番号が「XXX」のSIPメッセージであることを意味する。また、図9及び図10において中継装置404は、ユーザエージェント406から他ユーザエージェントやプロキシサーバに送信されるメッセージを中継しているが、その処理について記載していない。
【0059】
ユーザエージェントが再起動した場合、シーケンス番号の初期値がランダムに選択され、そこからSIPメッセージを送信するたびに連続的に増加していく。
【0060】
図10では、ユーザエージェント406が発信するメッセージのシーケンス番号は「101」、「102」と増加する。ユーザエージェント406が、障害の発生により再起動を行い、シーケンス番号の初期値として「1000」を選択し、シーケンス番号「1000」のSIPメッセージを発信した場合、次に送信するSIPメッセージは「1001」となる。
【0061】
中継装置404のセッション継続性識別部505は、ユーザエージェント406が発信するSIPメッセージに含まれるシーケンス番号を記憶する。図9のように、ユーザエージェント406から発信されるSIPメッセージのシーケンス番号が連続的に単調増加する場合、セッション継続性識別部505はユーザエージェント406に異常は発生していないと判断する。
【0062】
図10にあるように、ユーザエージェント406が発信するSIPメッセージのシーケンス番号に大きな変化があった場合、セッション継続性識別部505は、ユーザエージェント406が何らかの障害により再起動したと判断し、セッション継続性識別部505は、ユーザエージェント406が形成しているセッション情報をセッション管理部504から抽出し、セッションの解放処理を行う。
【0063】
さらに、中継装置404、405が、VoIPのように定期的にデータの送受信が行われるアプリケーションにおいて、データの送受信が一定時間行われなくなったことを検出した場合、ユーザエージェントに問題が発生したと判断する方法がある。その方法について詳細に説明する。
【0064】
ユーザエージェント間でVoIPやVoDのようなアプリケーションセッションを形成する場合、図11に示すシーケンス図に従って処理を行う。図11は、ユーザエージェント406とユーザエージェント408が音声通信を行う際のシーケンス図である。図11では、通信先であるユーザエージェント408の動作については記載していないがユーザエージェント406と対称的に動作する。
【0065】
ユーザエージェント406は、通信先のユーザエージェント408にセッション形成を依頼する“INVITE”メッセージを、中継装置404を通じて送信する。
【0066】
“INVITE”メッセージにはSDP(Session Description Protocol)と呼ばれる情報が付与されており、通信に利用する映像や音声のコーデックや通信時のポート番号等の情報をユーザエージェント間で決定するための情報が付与される。ユーザエージェント406とユーザエージェント408間でSDPの交換が完了すると、音声通信のセッションが形成されたことになる。
【0067】
ユーザエージェント406はSDPに記載された音声コーデックでデータを符号化し、SDPに記載されたユーザエージェント408の通信ポート番号にRTP(Real−time Transport Protocol)パケットの送信を行う。
【0068】
一般的には、音声データを送信するRTPパケットは、一定間隔、例えば、20ミリ秒間隔で送信される。音声通話終了時には、ユーザエージェント406は“BYE”メッセージをユーザエージェント408に送信し、音声通話セッションの終了処理を行う。
【0069】
中継装置404は、定期的にデータが送信される音声通話のようなアプリケーションにおいて、“BYE”メッセージの送受信が行われる前に、本来送受信されるべきデータのやりとりが途切れた場合、ユーザエージェントの障害を判定することが可能となる。
【0070】
中継装置404の具体的な動作について、図12を用いて説明する。セッション継続性識別部505は、ユーザエージェント406が送信する“INVITE”メッセージに含まれるSDPの内容を確認することで、アプリケーション種別を確認する。
【0071】
SDPから推測されるアプリケーション種別が音声通話のような連続的にデータの送受信が行われるアプリケーションだと判定した場合、中継装置404のセッション継続性識別部505は、その後、ユーザエージェント406とユーザエージェント408の間で送受信されるデータパケットの継続性を確認する。
【0072】
ユーザエージェント406に障害が発生した場合、それまで定期的に発信されていたRTPパケットの送受信が行われなくなる。セッション継続性識別部505は、“BYE”メッセージによりセッション終了が明示的に示される前に、RTPパケットの送受信が停止したことから、ユーザエージェント406の障害の可能性を検知する。
【0073】
セッション継続性識別部505は、ユーザエージェント406の生存を確認するため、ユーザエージェント406に対し、先に説明したような生存確認メッセージ(例えば、ping)を送信する。応答が得られない場合、セッション継続性識別部505はユーザエージェント406に障害が発生したと判断し、セッション継続性識別部505は、ユーザエージェント406が形成しているセッション情報をセッション管理部504から抽出し、セッションの解放処理を行う。
【0074】
(第1の実施の形態の効果)
次に、本実施の形態の発明の効果について説明する。本実施の形態の第一の効果は、余分な課金発生を防止することが可能となることである。その理由は、セッションを形成するアプリケーションもしくはユーザエージェントの生存状態を監視することで、セッションが終了していることをより短い時間で検出し、セッションの解放処理を実行できるためである。
【0075】
(第2の実施の形態)
図13は、本発明の第2の実施の形態による中継装置の構成図である。図13を参照すると、第2の実施の形態による中継装置600は、SIPトランザクション管理部601、SIPトランスポート602、UA登録管理部603、セッション管理部604、セッション継続性識別部605、外部記憶部606を備えている。
【0076】
外部記憶部606を除く、SIPトランザクション管理部601、SIPトランスポート602、UA登録管理部603、セッション管理部604、セッション継続性識別部605については、図2に示す第1の実施の形態による中継装置の構成要素と同一であるため、それらの説明は省略し、外部記憶部606の動作のみ説明する。
【0077】
外部記憶部606は、UA登録管理部603、セッション管理部604、セッション継続性識別部606がメモリ上に管理・記録している情報を格納し、永続性を付与する装置である。UA登録管理部603、セッション管理部604、セッション継続性識別部606は、自身が管理・記録する情報に何らかの変更があった場合、外部記憶部606にその変更を反映させる。
【0078】
上記のような外部記憶部606にUA登録管理及びセッション管理に関する情報を保存することにより、中継装置が障害等の事情で再起動したとしても、メモリ上に置かれていたUA登録管理及びセッション管理に関する情報を、再起動前の状態に復旧させることができる。
【0079】
(第2の実施の形態の効果)
次に、本実施の形態の効果について説明する。第1の実施の形態で得られる効果に加え、中継装置が何らかの事情で再起動したとしても、上述した第1の実施の形態による効果を継続して提供できることである。その理由は、従来、メモリ上に置かれていたUA登録管理及びセッション管理に関する情報を永続的に記憶可能な外部記憶部606に保存しておくことで、障害等により再起動した場合でも、再起動前の状態を復旧させることが可能なためである。
【実施例】
【0080】
次に、本発明の具体的な実施例について説明する。図14は、映像配信システムに本発明による中継装置を適用した実施例の構成を示す図である。この実施例では、本発明による中継装置を、ホームゲートウェイ1003として適用している。
【0081】
図14に示す映像配信システムは、品質制御を可能とするネットワーク1001、映像を視聴する装置であるセットトップボックス1002、セットトップボックス1002とネットワーク1001の間に存在するホームゲートウェイ1003、ネットワーク1001を通じて、映像配信サービスを提供するストリームサーバ1004、ネットワーク1001の品質制御機能を活用し、映像配信セッションへの高い配信品質を提供するために映像配信セッションの状態管理及び課金情報を管理するプロキシサーバ1005、1006で構成される。
【0082】
セットトップボックス1002は、その起動時に自身の情報を登録するため、プロキシサーバ1005にREGISTERメッセージを送信する。ホームゲートウェイ1003は、送信されたREGISTERメッセージを中継する際、セットトップボックス1002の存在を検出し、その情報を登録する。
【0083】
本実施例によるSIPトランザクションの処理シーケンス例である図15に示すように、セットトップボックス1002は、その後、定期的に、例えば、1時間毎にREGISTERメッセージをプロキシサーバ1005に送信し、自身の情報を更新する。
【0084】
ホームゲートウェイ1003は、REGISTERメッセージを中継する際に、今回発行されたREGISTERメッセージの受信時刻と、前回のREGISTERメッセージの受信時刻から想定される次回のREGISTERメッセージの受信時刻とを比較し、セットトップボックス1002に障害等が発生していないことを確認する。
【0085】
映像配信サービスを開始する際、セットトップボックス1002は、ストリームサーバ1004に視聴要求を発行する。視聴要求が発行されると、プロキシサーバ1005及びプロキシサーバ1006は、セットトップボックス1002とストリームサーバ1004を結ぶ高品質な映像配信を実現するためのネットワーク経路をネットワーク1001に形成し、その映像配信セッションの状態管理を開始する。ホームゲートウェイ1003も同様に視聴要求を中継する際に、形成される映像配信セッション情報を抽出し、記憶する。
【0086】
映像配信セッションが形成されると、ストリームサーバ1004からセットトップボックス1002に映像データの配信が開始され、セットトップボックス1002を通じて、ユーザは映像視聴を行う。
【0087】
このとき、何らかの事故、例えば、セットトップボックス1002のコンセントを抜いてしまった等により、セットトップボックス1002が再起動したと仮定する。
【0088】
セットトップボックス1002は、再起動時に、プロキシサーバ1002にREGISTERメッセージを発行する。ホームゲートウェイ1003は、REGISTERメッセージを中継した際、今回発行されたREGISTERメッセージの受信時刻と、前回のREGISTERメッセージの受信時刻から想定される次回のREGISTERメッセージの受信時刻とを比較し、今回発行されたREGISTERメッセージが許容範囲(障害判定許容区間)を超えたタイミングで受信されているため、セットトップボックス1002が何らかの異常により再起動を行ったと判断する。
【0089】
ホームゲートウェイ1003は、セットトップボックス1002が形成しているセッション、本実施例では、ストリームサーバ1004との映像配信セッションは既に終了していると判断し、セットトップボックス1002が形成しているセッションの解放処理をプロキシサーバ1005及びプロキシサーバ1006に指示する。
【0090】
プロキシサーバ1005及びプロキシサーバ1006は、ホームゲートウェイ1003の指示に基づき、ネットワーク1001上で確保したネットワーク経路のリソースを解放し、また、管理していた映像配信セッションを破棄する。
【0091】
また、セットトップボックス1002が再起動したタイミングが、ホームゲートウェイ1003が管理する次回受信するREGISTERメッセージの受信時刻と重なってしまう場合がある。
【0092】
この場合、ホームゲートウェイ1003は、セットトップボックス1002からの定期的なREGISTERメッセージの受信による生存確認に加え、例えば、ホームゲートウェイ1003がセットトップボックス1002に対し、想定される次回のREGISTERメッセージの受信時刻の期間(障害判定許容区間)において、例えば、1分毎に、セットトップボックス1002を識別するURI以外のURIを付与したINVITEメッセージを発信することで、セットトップボックス1002の生存確認を行う。
【0093】
ホームゲートウェイ1003が発信したINVITEメッセージに対し、セットトップボックス1002からエラーメッセージが得られた場合はセットトップボックス1002の生存を確認できる。セットトップボックス1002から一定時間応答がない場合、ホームゲートウェイ1003は、セットトップボックス1002に何らかの障害が発生したと判断し、セットトップボックス1002が形成しているセッションの解放処理をプロキシサーバ1005及びプロキシサーバ1006に指示する。
【0094】
プロキシサーバ1005及びプロキシサーバ1006は、ホームゲートウェイ1003の指示に基づき、ネットワーク1001上で確保したネットワーク経路のリソースを解放し、また、管理していた映像配信セッションを破棄する。
【0095】
本実施例によれば、セットトップボックス等に異常が発生した場合に、映像配信セッションの継続性を判断し、必要に応じてセッションを切断することで、余分な課金を防止することが可能となる。
【0096】
以上好ましい実施の形態と実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【符号の説明】
【0097】
401:ネットワーク
402、403:プロキシサーバ
404、405、600:中継装置
406、407、408、409:ユーザエージェント
501、601:SIPトランザクション管理部
502、602:SIPトランスポート
503、603:UA登録管理部
504、604:セッション管理部
505、605:セッション継続性識別部
606:外部記憶部
800:情報テーブル
1001:ネットワーク
1002:セットトップボックス
1003:ホームゲートウェイ
1004:ストリームサーバ
1005、1006:プロキシサーバ

【特許請求の範囲】
【請求項1】
SIPによるセッション管理を行うネットワークシステムでユーザエージェント間の通信を中継する中継装置であって、
SIPメッセージの送受信を制御するSIPトランスポートと、
SIPメッセージのトランザクションを管理するSIPトランザクション管理部と、
前記ユーザエージェントの情報を管理するユーザエージェント登録管理部と、
前記ユーザエージェントが形成するセッション状態を管理するセッション管理部と、
前記ユーザエージェントによるセッションの継続性を判断し、セッションの継続性が失われている場合に該当セッションの解放処理を行うセッション継続性識別部とを備え、
前記セッション継続性識別部は、
前記ユーザエージェントに対し、前記ユーザエージェントが生存している場合にエラーが返されるSIPトランザクションメッセージを送信し、その応答が得られない場合に、前記ユーザエージェントが生存しておらず、前記セッションの継続性が失われていると判断し、該当セッションの解放処理を行う
ことを特徴とする中継装置。
【請求項2】
前記ユーザエージェント登録管理部、前記セッション管理部、前記セッション継続性識別部が保持する情報を永続的に保存する外部記憶部を備えることを特徴とする請求項1に記載の中継装置。
【請求項3】
SIPによるセッション管理を行うネットワークシステムにおいて、
前記ユーザエージェント間の通信を中継する中継装置が、
SIPメッセージの送受信を制御するSIPトランスポートと、
SIPメッセージのトランザクションを管理するSIPトランザクション管理部と、
前記ユーザエージェントの情報を管理するユーザエージェント登録管理部と、
前記ユーザエージェントが形成するセッション状態を管理するセッション管理部と、
前記ユーザエージェントによるセッションの継続性を判断し、セッションの継続性が失われている場合に該当セッションの解放処理を行うセッション継続性識別部とを備え、
前記中継装置の前記セッション継続性識別部は、
前記ユーザエージェントに対し、前記ユーザエージェントが生存している場合にエラーが返されるSIPトランザクションメッセージを送信し、その応答が得られない場合に、前記ユーザエージェントが生存しておらず、前記セッションの継続性が失われていると判断し、該当セッションの解放処理を行う
ことを特徴とするネットワークシステム。
【請求項4】
前記中継装置が、前記ユーザエージェント登録管理部、前記セッション管理部、前記セッション継続性識別部が保持する情報を永続的に保存する外部記憶部を備えることを特徴とする請求項3に記載のネットワークシステム。
【請求項5】
SIPによるセッション管理を行うネットワークシステムでユーザエージェント間の通信を中継する中継装置上で動作し、
前記中継装置に、
SIPメッセージの送受信を制御するSIPトランスポート機能と、
SIPメッセージのトランザクションを管理するSIPトランザクション管理機能と、
前記ユーザエージェントの情報を管理するユーザエージェント登録管理機能と、
前記ユーザエージェントが形成するセッション状態を管理するセッション管理機能と、
前記ユーザエージェントによるセッションの継続性を判断し、セッションの継続性が失われている場合に該当セッションの解放処理を行うセッション継続性識別機能を実行させ、
前記セッション継続性識別機能は、
前記ユーザエージェントに対し、前記ユーザエージェントが生存している場合にエラーが返されるSIPトランザクションメッセージを送信し、その応答が得られない場合に、前記ユーザエージェントが生存しておらず、前記セッションの継続性が失われていると判断し、該当セッションの解放処理を行う
ことを特徴とする中継処理プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−54997(P2012−54997A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2011−234906(P2011−234906)
【出願日】平成23年10月26日(2011.10.26)
【分割の表示】特願2007−82475(P2007−82475)の分割
【原出願日】平成19年3月27日(2007.3.27)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】