説明

TCP接続方法、呼制御装置及び通信システム

【課題】TCPコネクションの確立と切断とにともなう処理負担を軽減でき、かつ、異常を検出した場合に代替手段をとることによって呼の中断を防ぐことができるようにする。
【解決手段】呼制御装置2aが、対向する呼制御装置2bごとに、呼とは独立して制御可能である第1のTCPコネクションを能動的に設定し、呼制御装置2bが能動的に設定した第2のTCPコネクションを受動的に設定する。呼制御装置2aは、第1のTCPコネクションが正常であるか否かを常時監視し、異常を検出した場合にそのTCPコネクションを閉塞するともに異常が発生した旨を上位アプリケーションに通知し、既に設定されている上位アプリケーションの信号を第2のTCPコネクションを介して送受信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IP(Internet Protocol;インターネット・プロトコル)ネットワークにおけるTCP(Transport Control Protocol;伝送制御プロトコル)を用いた接続技術に関し、特にTCP接続方法と、このTCP接続方法を実行する呼制御装置及び通信システムに関する。
【背景技術】
【0002】
例えばインターネットのようなネットワークにおいてTCPは、IPを下位プロトコルとして、各種のアプリケーションのデータを伝送するために用いられている。TCPによるデータ伝送では、相手側からの確認応答のパケットを受信しない限り、ウィンドウサイズと呼ばれるデータ量を超えて連続して相手側にデータを送信できないので、データ伝送のスループットのさらなる向上のために、従来から、送信側と受信側との間で複数のTCPコネクションを設定してこれらのTCPコネクションを用いてデータを並列に伝送することも行われている。
【0003】
複数のTCPコネクションを設定してデータ送信を行うことの適用例としては、実時間での動画像伝送が挙げられる。例えば特許文献1には、このような実時間での動画像伝送において、送信装置は、動画像データにおいて画像データの1フレーム分または複数フレーム分を単位として単位画像データとし、このような単位画像データを複数に分割して分割画像データを生成し、分割数に応じた数のTCPコネクションを確立することによって、これらの分割画像データを並列に送信し、受信装置は、これらのTCPコネクションにより受信した分割画像データに基づいて、元の単位画像データに戻す処理を実行することが記載されている。このとき、1つのTCPコネクションあたり1つの分割画像データが割り当てられる。このような構成を採用することにより、特許文献1に記載されているように、実時間での動画像伝送を安定的に行うことが可能になる。
【0004】
しかしながら、複数のTCPコネクションを設定して動画像データの伝送を行う場合、TCP接続処理としては、動画像伝送のつどすなわち呼ごとにTCPコネクションを確立し切断を行うため、この確立及び切断のための負荷処理が大きくなる、という課題が生じる。また上位のアプリケーションには、TCPコネクションが確立されるまで、データ転送を待ち合わせる必要が生じる。
【0005】
また、TCP接続に関連する別の技術としては、例えば非特許文献1には、再送を特定の回数にわたってデータの再送を繰り返しても相手側から確認応答のパケットを得られない場合に、ネットワークや相手装置に異常が発生していると判断し、強制的にTCPコネクションを切断し、上位のアプリケーションに異常終了したことを通知することが開示されている。このような構成によれば、上位のアプリケーションは、障害などの発生により相手装置に対してデータが伝送されなかったことを知ることができ、そのようなデータ伝送上の障害に対応する処置をとることが可能になる。
【0006】
しかしながら、非特許文献1に記載のものは、TCP接続が異常終了したことを上位のアプリケーションに通知するものの、TCP接続処理自体としては障害を回避する代替手段をとるまでには至っていないものである。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−260668号公報
【非特許文献】
【0008】
【非特許文献1】Henry Sinnreich,Alan B.Johnston著、株式会社ソフトフロント 阪口克彦 監訳、「マスタリングTCP/IP SIP編」、オーム社、88〜89頁
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述したように従来のTCP接続技術には、呼ごとにTCPコネクションの確立と切断とを行うため、確立および切断のための処理負荷が大きくなり、また再送を繰り返しても確認応答が得られない場合には上位アプリケーションに対して異常終了したことを通知するものの、障害を回避する代替手段をとるまでに至っていないという課題がある。
【0010】
本発明の目的は、TCPコネクションの確立と切断とにともなう処理負担を軽減でき、かつ、異常を検出した場合に代替手段をとることによって呼の中断を防ぐことができるTCP接続方法と、このようなTCP接続方法を実行する呼制御装置及び通信システムを提供することにある。
【課題を解決するための手段】
【0011】
本発明のTCP接続方法は、ネットワークを介して接続した第1の呼制御手段と第2の呼制御手段との間でTCPコネクションを確立し、上位アプリケーションによる呼を疎通させるTCP接続方法であって、第1の呼制御手段が、対向する第2の呼制御手段ごとに、呼とは独立して制御可能である第1のTCPコネクションを能動的に設定し、呼とは独立して制御可能であって対応する第2の呼制御手段が能動的に設定した第2のTCPコネクションを受動的に設定するステップと、第1の呼制御手段が、第1のTCPコネクションが正常であるか否かを常時監視し、第1のTCPコネクションにおける異常を検出した場合に当該第1のTCPコネクションを閉塞するともに異常が発生した旨を上位アプリケーションに通知するステップと、第1のTCPコネクションが異常であるときに、第1の呼制御手段が、既に設定されている上位アプリケーションの信号を第2のTCPコネクションを介して送受信するステップと、を有する。
【0012】
本発明の呼制御装置は、ネットワークに接続し、対向する装置との間で上位アプリケーションによる呼を疎通させる呼制御装置であって、対向する装置ごとに、呼とは独立して制御可能である第1のTCPコネクションを能動的に設定する第1のTCP機能手段と、対向する装置が能動的に設定した第2のTCPコネクションを受動的に設定する第2のTCP機能手段と、第1のTCP機能手段に設けられて第1のTCPコネクションが正常であるか否かを常時監視する監視手段と、監視手段において第1のTCPコネクションにおける異常を検出した場合に、第1の機能手段によって当該第1のTCPコネクションを閉塞するともに異常が発生した旨を上位アプリケーションに通知し、既に設定されている上位アプリケーションの信号を第2のTCPコネクションを介して送受信させる管理手段と、を有する。
【0013】
本発明の通信システムは、ネットワークと、ネットワークに接続された複数台の本発明に基づく呼制御装置と、を備える。
【発明の効果】
【0014】
本発明のTCP接続技術では、TCPコネクションを呼ごとに確立するのではなく、呼とは独立して長期に確立できるようにして処理負担を軽減し、その反面、TCPコネクションの確立が呼とは独立しかつ長期にわたることから、TCPコネクションの正常性を常時監視するようにする。異常を検出した場合は、当該TCPコネクションが新しい呼の設定のために使われ呼損になることがないようにし、また既に設定に入っている呼の継続信号は、代替手段をとることにより呼が中断されることを防ぐようにする。その結果、本発明によれば、TCP処理負担の軽減が達成されるとともに、信頼性の向上、障害耐性の向上がもたらされる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の一形態のTCP接続方法が適用されるネットワークシステムの全体的な接続構成の一例を示す図である。
【図2】図1に示すシステムの構成を説明するブロック図である。
【図3】呼制御装置の構成の詳細を示すブロック図である。
【図4】呼制御装置の動作を示すフローチャートである。
【図5】図1に示すシステムの動作を示すシーケンス図である。
【発明を実施するための形態】
【0016】
次に、本発明の実施の形態について、図面を参照して説明する。
【0017】
図1は、本発明に基づくTCP接続方法が適用されるネットワークシステムの一例の構成を示している。このネットワークシステムは、IP(インターネットプロトコル)をベースとしたネットワークであるIPネットワーク1を含んでおり、IPネットワーク1に対して呼制御装置2a,2b(以下、どの呼制御装置であるかを特定しない場合には呼制御装置2と称する)が接続している。ここではIPネットワーク1では、IPv4(IPバージョン4)に基づくIPv4ネットワーク1aとIPv6(IPバージョン6)に基づくIPv6ネットワーク1bとが独立して設けられている。各呼制御装置2は、加入者系あるいは中継系の呼制御機能を有するサーバであってIPv4ネットワーク1aとIPv6ネットワーク1bの双方に対してTCP/IPによって通信可能なものであり、本発明に基づいてTCP接続を実行する。呼制御装置2の構成及び機能の詳細については後述する。図ではIPネットワーク1に対して2台の呼制御装置2が接続しているが、IPネットワーク1に対してより多くの呼制御装置2を接続することができ、任意の2台の呼制御装置2の間でTCP/IPに基づくデータ伝送が実行可能である。
【0018】
呼制御装置2a,2bには、それぞれ保守管理装置3a、3b(以下、どの保守管理装置であるかを特定しない場合は保守管理装置3と称する)が接続している。保守管理装置3は、対応する呼制御装置2やIPネットワーク1の管理に用いられるものであり、保守者が操作するコマンドを呼制御装置2に伝え、あるいは呼制御装置2の稼動状態等を保守者に知らせる機能を有する。さらに呼制御装置2a,2bには、それぞれ端末装置4a,4b(以下、どの端末装置であるかを特定しない場合は端末装置4と称する)が接続している。端末装置4は、ユーザが操作する端末装置である。なお図では、1台の呼制御装置2あたり1台の端末装置4が接続しているが、呼制御装置2あたりの端末装置4の数はこれに限られるものではなく、多数の端末装置4が呼制御装置2に接続していてもよい。
【0019】
ここで、本明細書において使用される「出側」、「入側」の用語について説明する。一般に、1対の呼制御装置2a,2bの間でTCPコネクションを確立する場合には、3方向ハンドシェイクにより、まず、一方の呼制御装置2aが他方の呼制御装置2bに対してSYNパケットを送信し、これを受けて他方の呼制御装置2bはACK+SYNパケットを一方の呼制御装置2aに送信し、ACK+SYNパケットを受信した一方の呼制御装置2aはACKパケットを他方の呼制御装置2bに送信し、これによりTCPコネクションの確立が完了する。ここで最初にSYNパケットを送信する側を「出側」と呼び、そのようなSYNパケットを受信する側を「入側」と呼ぶ。したがって、「出側TCPコネクション」とは、自装置である呼制御装置が、対向する呼制御装置に向かって能動的に確立するTCPコネクションのことを指し、「入側TCPコネクション」とは、対向する呼制御装置が自装置に向かって能動的に確立したTCPコネクションを指すものとする。
【0020】
本実施形態におけるTCP接続方法の概要は、
(1)呼制御装置2が、保守管理装置3からの制御に基づき、対向する呼制御装置ごとに、IPバージョン4/IPバージョン6ごとかつ出側/入側別に、すなわち4つのTCPコネクションを、呼とは独立して確立し、
(2)出側TCPコネクションの正常性を、例えば10秒間隔によるキープアライブ(Keep Alive)パケットの送出により常時監視し、
(3)キープアライブの失敗およびTCPデータ送達確認のタイムアウトにより異常を検出した場合は、呼制御装置2が、即座に当該出側TCPコネクションを閉塞することにより当該出側TCPコネクションが新しい呼の設定のために使われないようにし、
(4)出側TCPコネクションを閉塞した場合に、既に設定に入っている呼の継続信号については、呼制御装置2が入側TCPコネクションの利用の可否を判断し、入側TCPコネクションが利用可であれば、その入側TCPコネクションを利用することにより継続信号を送信し、
(5)閉塞した出側TCPコネクションについて、呼制御装置2が、自動的に、周期的に再確立を実施するようにする、
というものである。なお、閉塞した出側TCPコネクションの再確立の実施に際しては、出側TCPコネクションの閉塞後、一定時間の間は、出側TCPコネクションの再確立の実施を抑止するようにする。
【0021】
ここで呼とは、TCPよりも上位のプロトコルレイヤに属するアプリケーション(上位アプリケーション)によってエンド・ツー・エンドに設定されるべき呼のことであり、当該上位アプリケーションは、設定された呼を用いてそのアプリケーションのトランザクションの起動や処理を行いデータを送信する。呼の継続信号とは、呼の設定やトランザクションの起動や処理、データの送信のために、上位アプリケーションによってTCPコネクションを介して伝送される信号のことをいう。
【0022】
本実施形態では、呼とは独立してTCPコネクションを確立している。「呼とは独立」とは、呼の確立および切断とは無関係に、半ば永続的にTCPコネクションを確立して維持することを意味している。本実施形態では、呼ごとにTCPコネクションを確立するのではなく、呼とは独立して長期にわたってTCPコネクションが確立できるすることによって、TCPコネクションの確立と切断とに必要な処理負担を軽減している。また、TCPコネクションの確立が呼とは独立しかつ長期にわたることから、本実施形態では、TCPコネクションの正常性を例えばキープアライブを用いて常時監視するようにし、異常を検出した場合は、当該TCPコネクションが新しい呼の設定のために使われ呼損になることがないようにする。また異常が検出されたTCPコネクションがある場合には、既に設定に入っている呼の継続信号については代替手段をとることにより、具体的には他のTCPコネクションを利用するようにすることにより、呼が中断されることを防ぎ、信頼性を高めている。
【0023】
図2は、図1に示したシステムの機能を説明するための図であり、呼制御装置2a,2bを構成する機能ブロックを示している。ここでは、上位アプリケーションのプロトコルがSIP(session initiation protocol;セッション確立プロトコル)であって、端末装置4aと端末装置4bとの間でやり取りされるSIP信号が、呼制御装置2aと呼制御装置2bの間ではTCPコネクションを介して伝送されるものとする。呼制御装置2aと呼制御装置2bは実際には同一構成のものとすることができるが、ここでは説明のため、これらの呼制御装置2a,2bを構成する各要素に別々の参照符号を割り当てている。
【0024】
呼制御装置2aは、SIP信号制御部21aと、TCPマネージャ22aと、V4出側TCP機能部23aと、V4入側TCP機能部24aと、V6出側TCP機能部25aと、V6入側TCP機能部26aとにより構成されている。ここでSIP信号制御部21aには、保守管理装置3aや端末装置4aが接続する。同様に呼制御装置2bは、保守管理装置3bや端末装置4bが接続するSIP信号制御部21bと、TCPマネージャ22bと、V4出側TCP機能部23bと、V4入側TCP機能部24bと、V6出側TCP機能部25bと、V6入側TCP機能部26bとにより構成されている。
【0025】
SIP信号制御部21a,21b(以下、どのSIP信号制御部であるかを特定しない場合はSIP信号制御部21と称する)は、端末装置4からのあるいは端末装置4へのSIP信号を処理してSIPに基づく制御を行うものであって、SIP信号におけるセッション確立要求信号や切断信号を受信してこれらの信号を処理し、さらに端末装置4とTCPマネージャ間でこれらの信号を転送する機能を有する。
【0026】
V4出側TCP機能部23a,23b(以下、どのV4出側TCP機能部であるかを特定しない場合はV4出側TCP機能部23と称する)は、IPv4ネットワーク1a上で出側TCPコネクションを確立する機能を有する。
【0027】
V4入側TCP機能部24a,24b(以下、どのV4入側TCP機能部であるかを特定しない場合はV4入側TCP機能部24と称する)は、IPv4ネットワーク1aを介して対向する呼制御装置内のV4出側TCP機能部23からの起動により、IPv4ネットワーク1a上において入側TCPコネクションを確立する機能を有する。
【0028】
V6出側TCP機能部25a,25b(以下、どのV6出側TCP機能部であるかを特定しない場合はV6出側TCP機能部25と称する)は、IPv6ネットワーク1b上で出側TCPコネクションを確立する機能を有する。
【0029】
V6入側TCP機能部26a,26b(以下、どのV6入側TCP機能部であるかを特定しない場合はV6入側TCP機能部26と称する)は、IPv6ネットワーク1bを介して対向する呼制御装置内のV6出側TCP機能部25からの起動により、IPv6ネットワーク1b上において入側TCPコネクションを確立する機能を有する。
【0030】
TCPマネージャ22a,22b(以下、どのTCPマネージャであるかを特定しない場合はTCPマネージャ22と称する)は、そのTCPマネージャ23を備える呼制御装置2内において、SIP信号制御部21と、V4出側TCP機能部23、V4入側TCP機能部24、V6出側TCP機能部25およびV6入側TCP機能部26との間で各種情報を伝達する機能を有する。
【0031】
上述のように構成された本実施形態のシステムでは、保守管理者がIPv4のTCPコネクションを確立するコマンドおよびIPv6のTCPコネクションを確立するコマンドを保守管理装置3aに投入すると、保守管理装置3aは、保守管理者から投入されたそれらのコマンドを呼制御装置2aに伝えるようになっている。呼制御装置2aでは、これらのコマンドは、SIP信号制御部21aにまず伝えられ、SIP信号制御部21aは、TCPマネージャ22aを通してそれらのコマンドをV4出側TCP機能部23aおよびV6出側TCP機能部25aに伝え、V4出側TCP機能部23aおよびV6出側TCP機能部25aは、それぞれ、IPネットワーク1を介して対向する相手側の呼制御装置2bのV4入側TCP機能部24bおよびV6入側TCP機能部26bの間で出側TCPコネクションを確立する。同様に保守管理装置3bは、保守管理者から投入されたIPv4のTCPコネクションを確立するコマンドおよびIPv6のTCPコネクションを確立するコマンドをSIP信号制御部21bに伝え、SIP信号制御部21bは、それらのコマンドをTCPマネージャ22bを通してV4出側TCP機能部23bおよびV6出側TCP機能部25bに伝え、V4出側TCP機能部23bおよびV6出側TCP機能部25bは、相手側となる呼制御装置2aのV4入側TCP機能部24aおよびV6入側TCP機能部26aの間で出側TCPコネクションを確立する。
【0032】
このように本実施形態のシステムにおいては、呼制御装置2は、対向する呼制御装置ごとに、IPv4/IPv6ごとかつ出側/入側別に、呼とは独立して長期にわたって継続するTCPコネクションを確立する。
【0033】
このように呼制御装置2が呼とは独立して永続的なTCPコネクションを確立している場合に、端末装置4aが、例えば端末装置4bとの間にセッションを設定するセッション確立要求信号を呼制御装置2aに送信すると、送信されたセッション確立要求信号は、それがIPv4のものであれば、図2において(1)と記載されているように、呼制御装置2aのV4出側TCP機能部23aと呼制御装置2bのV4入側TCP機能部24bとの間に確立されているTCPコネクションを通して、端末装置4bに伝えられる。そして呼の状態において、終話に伴って端末装置4bが呼制御装置2bに対してセッションを切断する切断信号を送信すると、送信された切断信号は、図2において(2)と記載されているように、呼制御装置2bのV4出側TCP機能部23bと呼制御装置2aのV4入側TCP機能部24aとの間に確立されているTCPコネクションを通して、端末装置4aに伝えられる。
【0034】
これにより本実施形態では、TCPコネクションを呼ごとに確立しなくてすみ、また、呼が終話した際にTCPコネクションを切断しなくて済むため、処理負担を軽減することが可能になる。
【0035】
また本実施形態では、V4出側TCP機能部23およびV6出側TCP機能部25は、それぞれの出側TCPコネクションの正常性を、例えば10秒間隔によるキープアライブ処理により常時監視し、キープアライブの失敗およびTCPデータ送達確認のタイムアウトにより異常を検出した場合には、即座に当該出側TCPコネクションを閉塞し、異常状態にあることをSIP信号制御部21に通知し、これにより、呼制御装置2は、当該出側TCPコネクションが新しい呼の設定のために使われないようにし、閉塞した出側TCPコネクションについて再確立を実施する。TCPマネージャ22は、V4出側TCP機能部23あるいはV6出側TCP機能部25が異常状態にある場合は、既に設定に入っている呼の継続信号をV4入側TCP機能部24あるいはV6入側TCP機能部26に伝え、これにより、異常状態にあるTCPコネクションを回避して信号が入側TCPコネクションを利用して送信されるようにする。
【0036】
以下、上記に述べたシステムの機能を実現するために係わる構成装置のうち、呼制御装置2についてさらに詳しく説明する。
【0037】
(呼制御装置の構成)
まず、呼制御装置2の構成について説明する。図3は、図2に示したシステムにおける呼制御装置2の構成の一例を示すものであり、呼制御装置2の機能のうち本発明に関係する部分のみを概念的に示している。
【0038】
上述したように呼制御装置2は、SIP信号制御部21とTCPマネージャ22とV4出側TCP機能部23とV4入側TCP機能部24とV6出側TCP機能部25とV6入側TCP機能部26とによって構成される。ここでTCPマネージャ22は、出側TCP確立通知部221と出側TCP解放通知部222とSIP信号管理通知部223と状態管理通知部224とを備えている。
【0039】
出側TCP確立通知部221は、SIP信号制御部21から。TCPコネクションを確立するコマンド情報を受信し、V4出側TCP機能部23およびV6出側TCP機能部25にそれらのコマンド情報を伝える機能を有する。
【0040】
出側TCP解放通知部222は、SIP信号制御部21から、TCPコネクションを解放するコマンド情報を受信し、V4出側TCP機能部23およびV6出側TCP機能部25にそれらのコマンド情報を伝える機能を有する。
【0041】
SIP信号管理通知部223は、SIP信号制御部21から送られてくる、対向する呼制御装置2に送信するSIP信号を受信し、受信したSIP信号をいずれかのTCP機能部23〜26に伝える機能を有する。具体的には、トランザクションを起動する場合には、SIP信号管理通知部223はCIP信号をV4出側TCP機能部23あるいはV6出側TCP機能部25に伝え、SIP信号が対向する呼制御装置2のリクエストに対するレスポンスである場合には、V4入側TCP機能部24およびV6入側TCP機能部26にそのSIP信号を伝える、状態管理通知部224からV4出側TCP機能部23あるいはV6出側TCP機能部25が異常状態にあることが知らされている場合は、既に設定に入っている呼の継続信号については、SIP信号管理通知部223は、トランザクションを起動する場合であってもSIP信号をV4入側TCP機能部24あるいはV6入側TCP機能部26に伝える。さらにSIP信号管理通知部223は、V4出側TCP機能部23およびV6出側TCP機能部25、あるいはV4入側TCP機能部24およびV6入側TCP機能部26が受信した対向する呼制御装置2から送信されてきたSIP信号を受信し、そのSIP信号をSIP信号制御部21に伝える機能も有する。
【0042】
状態管理通知部224は、V4出側TCP機能部23、V6出側TCP機能部25、V4入側TCP機能部24およびV6入側TCP機能部26から伝えられる状態情報を管理し、SIP信号制御部21に伝える機能を有する。これによりSIP信号制御部21は、出側TCPコネクションあるいは入側TCPコネクションのいずれかが正常である場合は、継続信号をこれまでどおりSIP信号管理通知部223に伝えるが、新規呼については異常が発生していない他の対向する呼制御装置(図示を省略)に伝えるようにする。
【0043】
このようにSIP信号制御部21及びTCPマネージャ22が構成されていることにより、既に設定に入っている呼の継続制御が可能になり、また新規呼が呼損になることを防ぐことができる。
【0044】
次に、V4出側TCP機能部23およびV6出側TCP機能部25について説明する。V4出側TCP機能部23およびV6出側TCP機能部25は、対象とするネットワークがIPv4ネットワーク1aなのかIPv6ネットワーク1bなのかが異なるが内部構成は同様のものであるにあるので、ここでは、V4出側TCP機能部23を説明する。
【0045】
V4出側TCP機能部23は、出側TCP確立部231と出側TCP解放部232とSIP信号部233とタイムアウト検出部234とキープアライブ(KeepALive)実施部235と状態管理部236と再確立部237と設定抑止部238とを備えている。
【0046】
出側TCP確立部231は、TCPマネージャ22から伝えられた、TCPコネクションを確立するコマンド情報により、また再確立部237から起動されることにより、IPネットワーク上に出側TCPコネクションを確立する機能を有する。
【0047】
出側TCP解放部232は、TCPマネージャ22から伝えられた、TCPコネクションを解放するコマンド情報により、また状態管理部236から起動されることにより、IPネットワーク上の出側TCPコネクションを解放する機能を有する。
【0048】
SIP信号部233は、TCPマネージャ22から伝えられたSIP信号を対向する呼制御装置2に送信し、また対向する呼制御装置2から送信されるSIP信号を受信し、TCPマネージャ22に伝える機能を有する。
【0049】
タイムアウト検出部234は、TCPデータ送達確認のタイムアウトにより異常を検出する機能を有する。
【0050】
キープアライブ実施部235は、SIP信号部233が一定時間にわたってSIP信号を送信していない場合に、キープアライパケットを送出してキープアライブ動作を実施し、出側TCPコネクションの異常を検出する機能を有する。
【0051】
状態管理部236は、出側TCP確立部231による出側TCPコネクションの確立、出側TCP解放部232によるが出側TCPコネクションの解放、タイムアウト検出部234による異常の検出、キープアライブ実施部235による異常の検出を受け、出側TCP解放部232を起動し出側TCPコネクションを解放し、状態をTCPマネージャ22に伝える機能を有する。また、状態管理部236は、再確立部237の起動を行う機能も有する。
【0052】
再確立部237は、起動された場合に、設定抑止部238に抑止条件が解除されているかの問合せを行い、抑止条件が解除されると出側TCP確立部231を起動し、出側TCPコネクションの確立を行う機能を有する。
【0053】
設定抑止部238は、異常検出などによって出側TCPコネクションを解放したのちにその出側TCPコネクションの確立の実施を見合わせる時間を規定する機能を有する。これは、出側TCPコネクションの解放と同時にその出側TCPコネクションの再確立を実施しても、依然として出側TCPコネクションが異常となる確率が高いからである。
【0054】
次に、V4入側TCP機能部24およびV6入側TCP機能部26について説明する。V4入側TCP機能部24およびV6入側TCP機能部26は、対象とするネットワークがIPv4ネットワーク1aなのかIPv6ネットワーク1bなのかが異なるが内部構成は同様のものであるにあるので、ここでは、V4入側TCP機能部24を説明する。
【0055】
V4入側TCP機能部24は、SIP信号部241とタイムアウト検出部242と状態管理部243とを備えている。
【0056】
SIP信号部241は、TCPマネージャ22から伝えられたSIP信号を対向する呼制御装置2に送信し、また対向する呼制御装置2から送信されるSIP信号を受信し、TCPマネージャ22に伝える機能を有する。
【0057】
タイムアウト検出部242は、TCPデータ送達確認のタイムアウトにより異常を検出する機能を有する。
【0058】
状態管理部243は、タイムアウト検出部242による異常の検出を受け、状態をTCPマネージャ22に伝える機能を有する。
【0059】
上述のように各TCP機能部23〜26を構成することにより、出側TCPコネクションを常時監視できるようになり、異常を検出した場合には、その異常が起きている出側TCPコネクションが新しい呼の設定のために使われて呼損になることが防止される。さらにこの構成によれば、異常が検出された場合には、既に設定に入っている呼の信号は他のTCPコネクションを介して継続されるので、呼が中断されることがぐことができる。
【0060】
(呼制御装置の動作)
次に、呼制御装置2の動作の詳細について説明する。図4は、図3に示す呼制御装置2の動作例を示すフローチャートである。ここでは、IPv4ネットワーク1a上にTCPコネクションを確立する場合を説明するが、IPv6ネットワーク1b上にTCPコネクションを確立する場合であっても同様の処理が実行される。
【0061】
呼制御装置2において、TCPマネージャ22の出側TCP確立通知部221が、出側TCPコネクションを確立することを指示するコマンド情報を受信すると(ステップA1)、その旨がV4出側TCP機能部23内の出側TCP確立部231に伝えられ、出側TCP確立部231がIPv4ネットワーク1a上に出側TCPコネクションを確立する(ステップA2)。
【0062】
出側TCPコネクションが確立すると、キープアライブ実施部235は、SIP信号がそのTCPコネクション上で送信されていない時間を計測し(ステップA3)、送信がない時間が一定時間、例えば10秒以上になると(ステップA4)、キープアライブ動作を実施し(ステップA5)、キープアライブが正常かどうかを判定する(ステップA6)。キープアライブにおける正常が確認された場合には、処理はステップA3に戻る。また、ステップA4において、SIP信号が存在しない時間が前述した一定時間に満たない場合にも、処理はステップA3に戻る。これらにより、SIP信号が存在しない期間中、キープアライブ動作が周期的に実施されることになる。
【0063】
キープアライブ実施部235は、ステップA6において異常を検出すると、その旨を状態管理部236に伝え、状態管理部236は、出側TCPコネクションに異常が発生している旨を状態情報として蓄積するとともに(ステップA7)、その旨を出側TCP解放部232及び再確立部237に通知するとともに、TCPマネージャ22内の状態管理通知部224にも通知する(ステップA8)。
【0064】
出側TCPコネクションでの異常発生を通知された出側TCP解放部232は、対応する出側TCPコネクションを解放し(ステップA9)、再確立部237は、設定抑止部238を起動して一定時間経過したことにより(ステップA10)、出側TCP確立部231を起動して再確立を実施し(ステップA11)、出側TCPコネクションが再確立できたかを判断する(ステップA12)。出側TCPコネクションを再確立できた場合には、状態管理部236が、一旦蓄積した出側TCPコネクションの異常を取り消し(ステップA13)、状態管理通知部224に対して出側TCPコネクションの異常の取り消しを伝える(ステップA14)。その後、処理はステップA3に戻る。一方、ステップA12において再確立できなかった場合には、再確立を試みた回数が規定回数に達したかどうかを判断し(ステップA15)、規定回数に達していない場合にはステップA10に戻ることによって、規定回数まで再確立を試みる。ステップA15において規定回数に達しても出側TCPコネクションを確立できなかった場合には、状態管理部236は、確立できなかったことを蓄積し(ステップA16)、TCPマネージャ22の状態管理通知部224に状態を通知する(ステップA17)。状態管理通知部224では、ステップA19に示すように、出側TCPコネクションおよび入側TCPコネクションの状態を管理する。
【0065】
TCPマネージャ22のSIP信号管理通知部223は、SIP信号制御部21からSIP信号が送られてくると(ステップA18)、出側TCPコネクションおよび入側TCPコネクションに障害が発生しているという情報が状態管理通知部224から届いてない場合(すなわち「出側TCP正常」かつ「入側TCP正常」)には(ステップA191)、SIP信号がトランザクションを起動する信号であれば(ステップA20)、そのSIP信号をV4出側TCP機能部23に伝える(ステップA21)。V4出側TCP機能部23では、SIP信号部233が状態管理通知部224からSIP信号を受信し、そのSIP信号をIPv4ネットワーク1aにおいて既に確立している出側TCPコネクションを介して送信する(ステップA22)。これと同時にタイムアウト検出部234がタイムをカウントし(ステップA23)、時間内に処理が終わったかどうかを判断する(ステップA24)。時間内であった場合、すなわちタイムアウトでなかった場合には、処理はステップA18に戻る。これに対し、ステップA24において時間内でなかった場合、すなわち、タイムアウトとなった場合には、前述のステップA7の先頭に移行する。
【0066】
また、ステップA18においてSIP信号を受信し、かつ、ステップA19において状態管理通知部224から出側TCPコネクションおよび入側TCPコネクションに障害が発生しているという情報が届いてない場合であって(ステップA191)、そのSIP信号が、対向の呼制御装置のリクエストの受信に対するレスポンスである場合(ステップA25)には、TCPマネージャ22のSIP信号管理通知部223は、そのSIP信号をV4入側TCP機能部24に伝える(ステップA26)。V4入側TCP機能部24では、SIP信号部241が状態管理通知部224からSIP信号を受信し、そのSIP信号をIPv4ネットワーク1aにおいて既に確立している入側TCPコネクションを介して送信する(ステップA27)。これと同時にタイムアウト検出部242がタイムをカウントし(ステップA28)、時間内に処理が終わったかどうかを判断する(ステップA29)。時間内であった場合、すなわちタイムアウトでなかった場合には、処理はステップA18に戻る。これに対し、ステップA29において時間内でなかった場合、すなわち、タイムアウトとなった場合には、タイムアウト検出部242はその旨を状態管理部243に伝え、状態管理部243は、入側TCPコネクションに異常が発生していることを状態情報として蓄積するとともに(ステップA30)、その旨をTCPマネージャ22の状態管理通知部224に通知し(ステップA31)、ステップA19に戻る。
【0067】
ステップA18でSIP信号を受信したがステップA19において出側TCPコネクションに異常が発生している場合(入側TCPコネクションは正常)(ステップA192)には、TCPマネージャ22のSIP信号管理通知部223は、継続信号であるSIP信号をV4入側TCP機能部24に伝える(ステップA32)。その後は、上述したステップA26からの処理が実行される。
【0068】
ステップA18でSIP信号を受信したがステップA19において入側TCPコネクションに異常が発生している場合(出側TCPコネクションは正常)(ステップA193)には、TCPマネージャ22のSIP信号管理通知部223は、継続信号であるSIP信号をV4出側TCP機能部23に伝える(ステップA33)。その後は、上述したステップA21からの処理が実行される。
【0069】
TCPマネージャ22の出側TCP解放通知部222が、IPv4ネットワーク1a上の出側TCPコネクションを解放することを指示するコマンド情報を受信した場合には(ステップA34)、その旨がV4出側TCP機能部23の出側TCP解放部232に伝えられ、出側TCP解放部232がその出側TCPコネクションを解放する(ステップA35)。
【0070】
(システムの動作)
次に、上述の図4のように動作する呼制御装置2を有するシステム全体としての動作を説明する。図5は、システム全体の動作の一例を示すシーケンスチャートであり、ここでは、図1に示すシステムにおける保守管理装置3a、呼制御装置2a、呼制御装置2bおよび保守管理装置3bの相互間の信号やデータのやり取りを示している。なお、図5の左半分は呼制御装置2aが確立する出側TCPコネクション(呼制御装置2bから見れば入側TCPコネクション)に関する動作を示し、右半分は呼制御装置2bが確立する出側TCPコネクションに関する動作を示している。実際には、呼制御装置2a,2bは同時期に出側TCPコネクションを確立するものであり、各呼制御装置の動作は、図5の左半分のシーケンスと右半分のシーケンスとを重ね合わせたものとなる。以下では、上位アプリケーションとして、IP電話のためのSIPが用いられるものとする。
【0071】
保守管理装置3aが、出側TCPコネクションを確立するコマンドを送出すると(ステップB1)、呼制御装置2aがそのコマンドを受信し、IPネットワーク1において3方向ハンドシェイクによってTCPコネクションを確立するために、まず、呼制御装置2bにSYNパケットを送信する(ステップB2)。呼制御装置2bはそのSYNパケットを受信すると、ACK+SYNパケットを呼制御装置2a返送し(ステップB3)、呼制御装置2aはACK+SYNを受信すると、次にACKを呼制御装置2bに送信する(ステップB4)。呼制御装置2bがACKを受信することによって、出側TCPコネクションが確立される(ステップB5)。
【0072】
呼制御装置2aが出側TCPコネクションが確立した状態で、このTCPコネクション上で10秒以上SIP信号がないと、呼制御装置2aはキープアライブ(KeepAlive)パケットを呼制御装置に送信し(ステップB6)、呼制御装置2bがACKを返送することにより(ステップB7)、TCPコネクションが正常であることが確認される。
【0073】
同様に保守管理装置3bが、出側TCPコネクションを確立するコマンドを送出すると(ステップB8)、呼制御装置2bがそのコマンドを受信し、呼制御装置2aにSYNを送信する(ステップB9)。SYNを受信した呼制御装置2aが呼制御装置2bにACK+SYNを返送し(ステップB10)、ACK+SYNを受信した呼制御装置2bが呼制御装置2aにACKを返送して(ステップB11)呼制御装置2aが受信することにより、出側TCPコネクションが確立される(ステップB12)。
【0074】
呼制御装置2bが出側TCPコネクションを確立した状態で、このTCPコネクション上で10秒以上SIP信号がないと、呼制御装置2bがキープアライブパケットを送信し(ステップB13)、呼制御装置2aがACKを返送することにより(ステップB14)、TCPコネクションが正常であることが確認される。
【0075】
端末装置4bに対して電話による通信をするために端末装置4aがセッション確立要求信号(1)(INVITE(1))を送信すると(ステップB15)、呼制御装置2aがINVITE(1)を受信して呼制御装置2bにINVITE(2)を送信し(ステップB16)、呼制御装置2bはINVITE(2)を受信して端末装置4bにINVITE(3)を送信する(ステップB17)。INVITE(3)を受信した端末装置4bは、180Ringing(1)を送信し(ステップB18)、180Ringing(1)を受信した呼制御装置2bは180Ringing(2)を呼制御装置2aに送出し(ステップB19)、180Ringing(2)を受信した呼制御装置2aは180Ringing(3)を端末装置4aに送信する(ステップB20)。続いて端末装置4bが200OK(1)を呼制御装置2bに送信すると(ステップB21)、200OK(1)を受信した呼制御装置2bが200OK(2)を呼制御装置2aに送信し(ステップB22)、200OK(2)を受信した呼制御装置2aが端末装置4aに200OK(3)を送信する(ステップB23)。200OK(3)を受信した端末装置4aがACK(1)を呼制御装置2aに返送すると(ステップB24)、ACK(1)を受信した呼制御装置2aはACK(2)を呼制御装置2bに送信し(ステップB25)、ACK(2)を受信した呼制御装置2bが端末装置4bにACK(3)を送信し(ステップB26)、端末装置4bがACK(3)受信する。
【0076】
以上の動作により、端末装置4aと端末装置4bとは通話できる状態になり、端末装置4aのユーザと端末装置4bのユーザとの間での通話が開始する。なお図では、スペースの関係で、180Ringing(1)、200OK(1)などは、それぞれ180(1),200(1)のように記載されている。
【0077】
端末装置4aと端末装置4bとの通話が終了すると、この終話に伴って、端末装置4aがBYE(1)を呼制御装置2aに送信する(ステップB27)。BYE(1)を受信した呼制御装置2aは、呼制御装置2bにBYE(2)を送信する。呼制御装置2aと呼制御装置2bとの間では、IPネットワーク1上のTCPコネクションを介してBYE(2)が送信されるが、ここでBYE(2)の送信がタイムアウトになり送信が完了しないとする(ステップB28)。その結果、図4に示した手順により、呼制御装置2aは、呼制御装置2bに向けた出側TCPコネクションを閉塞し、障害が出ていることを上位アプリケーションに通知する(ステップB29)。そして呼制御装置2aは、入側TCPコネクション(すなわち呼制御装置2bから見た出側TCPコネクション)を選択し、その入側TCPコネクションを使って呼制御装置2bにBYE(3)を送信する(ステップB30)。このBYE(3)を受信した呼制御装置2bは、端末装置4bにBYE(4)を送信する(ステップB31)。BYE(4)を受信したことに基づいて端末装置4bが、200OK(4)を呼制御装置2bに送信すると(ステップB32)、200OK(4)を受信した呼制御装置2bが200OK(5)を呼制御装置2aに送信し(ステップB33)、200OK(5)を受信した呼制御装置2aが端末装置4aに200OK(6)を送信する(ステップB34)。200OK(6)を端末装置4aが受信することで、終話処理が完了する。すなわち、呼制御装置2aから見た出側TCPコネクションに異常が発生していたことにより、継続信号であるSIP信号の伝送が、それまでの出側TCPコネクションから、呼制御装置2aから見た入側TCPコネクションに移って継続したことになる。
【0078】
ステップB29での出側TCPコネクションの閉塞に引き続いて、呼制御装置2aは、この出側TCPコネクションの再確立を行うが(ステップB35)、再確立できなかった場合には、その旨が保守管理装置3aに通知される(ステップB36)。
【0079】
保守管理装置3bが、呼制御装置2bからの出側TCPコネクションを解放するコマンドを送出すると(ステップB37)、呼制御装置2bは、そのコマンドを受信し、3方向ハンドシェークによってTCPコネクションを解放するために、呼制御装置2aにFINを送信する(ステップB38)。FINを受信した呼制御装置2aが、呼制御装置2bに対してACKを返信し(ステップB39)、FINを送信する(ステップB40)。FINとACKとを受信した呼制御装置2bが呼制御装置2aに対してACKを返信することにより(ステップB41)、出側TCPコネクションが解放される(ステップB42)。
【符号の説明】
【0080】
1 IPネットワーク
1a IPv4ネットワーク
1b IPv6ネットワーク
2a,2b 呼制御装置
3a,3b 保守管理装置
4a,4b 端末装置
21,21a,21b SIP信号制御部
22,22a,22b TCPマネージャ
23,23a,23b V4出側機能部
24,24a,24b V4入側機能部
25,25a,25b V6出側機能部
26,26a,26b V6入側機能部
221 出側TCP確立通知部
222 出側TCP解放通知部
223 SIP信号管理通知部
224 状態管理通知部
231 出側TCP確立部
232 出側TCP解放部
233,241 SIP信号部
234,242 タイムアウト検出部
235 キープアライブ実施部
236,243 状態管理部
237 再確立部
238 設定抑止部

【特許請求の範囲】
【請求項1】
ネットワークを介して接続した第1の呼制御手段と第2の呼制御手段との間でTCPコネクションを確立し、上位アプリケーションによる呼を疎通させるTCP接続方法であって、
前記第1の呼制御手段が、対向する前記第2の呼制御手段ごとに、前記呼とは独立して制御可能である第1のTCPコネクションを能動的に設定し、前記呼とは独立して制御可能であって対応する第2の呼制御手段が能動的に設定した第2のTCPコネクションを受動的に設定するステップと、
前記第1の呼制御手段が、前記第1のTCPコネクションが正常であるか否かを常時監視し、前記第1のTCPコネクションにおける異常を検出した場合に当該第1のTCPコネクションを閉塞するともに異常が発生した旨を前記上位アプリケーションに通知するステップと、
前記第1のTCPコネクションが異常であるときに、前記第1の呼制御手段が、既に設定されている前記上位アプリケーションの信号を前記第2のTCPコネクションを介して送受信するステップと、
を有する、TCP接続方法。
【請求項2】
前記第1のTCPコネクションが異常であるときに、前記第1の呼制御手段が、前記第1のTCPコネクションを再確立する処理を実行する、請求項1に記載のTCP接続方法。
【請求項3】
前記第1の呼制御手段は、キープアライブ動作での異常及びTCPデータ送達確認のタイムアウトによって、前記第1のTCPコネクションの異常を検出する、請求項1または2に記載のTCP接続方法。
【請求項4】
前記第1及び第2のTCPコネクションが正常である場合に、前記第1の呼制御手段側からの前記上位アプリケーションによる信号がトランザクションの起動に関するものである場合に前記第1の呼制御手段が前記第1のTCPコネクションを選択し、前記第1の呼制御手段側からの前記上位アプリケーションによる信号が前記第2の呼制御手段からのリクエスト受信に対するレスポンスである場合に前記第2のTCPコネクションを選択する、請求項1乃至3のいずれか1項に記載のTCP接続方法。
【請求項5】
前記ネットワークはIPネットワークであって、IPv4ネットワークとIPv6ネットワークのそれぞれごとに前記第1及び第2のTCPコネクションを確立する、請求項1乃至4のいずれか1項に記載のTCP接続方法。
【請求項6】
ネットワークに接続し、対向する装置との間で上位アプリケーションによる呼を疎通させる呼制御装置であって、
前記対向する装置ごとに、前記呼とは独立して制御可能である第1のTCPコネクションを能動的に設定する第1のTCP機能手段と、
前記対向する装置が能動的に設定した第2のTCPコネクションを受動的に設定する第2のTCP機能手段と、
前記第1のTCP機能手段に設けられて前記第1のTCPコネクションが正常であるか否かを常時監視する監視手段と、
前記監視手段において前記第1のTCPコネクションにおける異常を検出した場合に、前記第1の機能手段によって当該第1のTCPコネクションを閉塞するともに異常が発生した旨を前記上位アプリケーションに通知し、既に設定されている前記上位アプリケーションの信号を前記第2のTCPコネクションを介して送受信させる管理手段と、
を有する、呼制御装置。
【請求項7】
前記第1のTCPコネクションが異常であるときに前記第1のTCPコネクションを再確立する処理を実行する再確立手段をさらに備える、請求項6に記載の呼制御装置。
【請求項8】
前記管理手段は、前記第1及び第2のTCPコネクションが正常である場合に、前記上位アプリケーションによる信号がトランザクションの起動に関するものである場合に前記第1のTCPコネクションを選択し、前記上位アプリケーションによる信号が前記対向する装置からのリクエスト受信に対するレスポンスである場合に前記第2のTCPコネクションを選択する、請求項6または7に記載の呼制御装置。
【請求項9】
前記ネットワークはIPネットワークであって、IPv4ネットワークとIPv6ネットワークのそれぞれごとに前記第1及び第2のTCP機能手段を備える、請求項6乃至8のいずれか1項に記載の呼制御装置。
【請求項10】
ネットワークと、前記ネットワークに接続された請求項6乃至9のいずれか1項に記載の複数台の呼制御装置と、を備える、通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate