(57)【要約】【課題】既存のSIPサーブレットエンジンに異なるネットワークアドレスを収容し、このエンジンの空きリソースを効率に使用できるサーバ装置および通信接続方法を提供。【解決手段】SIPアプリケーションサーバ20は、たとえばSIPサーブレットエンジン28に含まれるアドレスポート情報管理部38でメモリ40に含まれるSIPトランスポート情報およびSIPロードバランサ情報に対しこれらの情報の両方を関連付けるLB識別子を基にSIPロードバランサ情報の識別子を参照し、識別子の有無や該当する識別子の起動状態の可否を判断し、リクエストに対するレスポンスの供給が判明することから、異なるサブネットワークが扱う情報をSIP情報処理機能ブロックに収容することでこれまで以上に効率のよい通信接続を可能にする。【選択図】図１
2006338066.tif 000002
【特許請求の範囲】
【請求項１】
情報を提供するデータベースを有し、所定のプロトコルで動作する情報装置に接続される情報処理機能ブロックが分散して配されるサーバ装置において、前記情報処理機能ブロックは、該情報処理機能ブロックが接続する複数のサブネットワークに関する第１の情報を管理し、該管理に基づき供給されるリクエストと該リクエストに対するレスポンスを管理する情報管理手段と、
第１の情報に含まれる第２の情報および第３の情報に対し第２および第３の情報の両方を関連付ける識別子が設けられた記憶手段とを含み、
前記情報処理機能のそれぞれは、前記識別子の有無を基に負荷分散手段の配設の可否と、第３の情報の識別子を参照し、該当する識別子の有無や該当する識別子の起動状態の可否を判断し、前記リクエストに対する前記レスポンスの供給を管理することを特徴とするサーバ装置。
【請求項２】
請求項１に記載のサーバ装置において、前記所定のプロトコルは、SIP（Session Initiation Protocol）であることを特徴とするサーバ装置。
【請求項３】
請求項１または２に記載のサーバ装置において、該サーバ装置は、装置外部と装置内部とに存在するサブネットワークそれぞれを接続し、前記情報処理機能ブロックの負荷を分散する負荷分散手段が配されることを特徴とするサーバ装置。
【請求項４】
請求項１または２に記載の装置において、第１の情報は、アドレスポート情報であり、第２の情報がトランスポート情報、第３の情報がロードバランサ情報であることを特徴とするサーバ装置。
【請求項５】
複数のサブネットワークが接続された所定のプロトコルで動作する情報処理機能ブロックと該情報処理機能ブロックの負荷を分散させる負荷分散手段とを用いて、前記情報処理機能ブロックが管理する第１の情報に基づき供給されるリクエストと該リクエストに対するレスポンスを前記負荷分散手段の該当するアドレス情報を有する位置に返して、通信接続を確立する通信接続方法において、該方法は、
第１の情報に含まれる第２の情報および第３の情報に対し第２および第３の情報の両方を関連付ける識別子を設定し、
該識別子が有るか否かを判断する第１の工程と、
前記識別子が有る場合、前記識別子を介して第２の情報に対応する第３の情報を関連させ、第３の情報が有するアドレス情報を求める第２の工程と、
第３の情報が有する前記負荷分散手段が起動状態にあるか否かを判断する第３の工程と、
前記負荷分散手段が起動状態にある場合、前記レスポンスを第３の情報が有するアドレス情報の前記負荷分散手段に向けて出力する第４の工程とを含むことを特徴とする通信接続方法。
【請求項６】
請求項５に記載の方法において、前記所定のプロトコルは、SIP（Session Initiation Protocol）であることを特徴とする通信接続方法。
【請求項７】
請求項５または６に記載の方法において、第１の情報は、アドレスポート情報であり、第２の情報がトランスポート情報、第３の情報がロードバランサ情報であることを特徴とする通信接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置および通信接続方法に関するものである。本発明のサーバ装置は、とくに、SIP（Session Initiation Protocol）サーブレットエンジンの分散システムに関するものである。また、本発明の通信接続方法は、とくに、SIPサーブレットエンジンにおけるマルチホームネットワークアドレスの設定方法に関するものである。
【背景技術】
【０００２】
SIPサーブレットエンジンは、１つまたは２つのサブネットワークを収容する。SIPサーブレットエンジンには、SIPロケーションサーバが接続される。各サブネットワークには、ユーザ端末装置が複数台接続されている。接続されたユーザ端末装置のうち、ログイン中にあるユーザ端末装置間で通話を開始する手順について簡単に説明する。送信元のユーザ端末装置は、通信相手、すなわち着信先のユーザ端末装置に対して該当する宛先情報としてSIP-URI（Uniform Resource Identifiers）を設定して発信し、サブネットワーク、一つのSIPサーブレットエンジンおよびサブネットワークを経由して着信先のユーザ端末装置に送る。このとき、SIPサーブレットエンジンは、SIPロケーションサーバに対して自身に設定されるIP（Internet Protocol）アドレスを送信し、このIPアドレスをSIPロケーションサーバに設定する。
【０００３】
SIPサーブレットエンジンは、供給される宛先情報であるSIP-URIから実際の宛先をSIPロケーションサーバにSIPリクエスト処理として要求する。SIPロケーションサーバでは、要求に応じたSIP-URIに対応する宛先情報が何かを参照により求める。SIPロケーションサーバは、SIPリクエストに応じて参照結果の宛先情報だけでなく、宛先のログイン状態やログイン中のIPアドレス等のユーザ情報をSIPサーブレットエンジンに出力する。
【０００４】
SIPサーブレットエンジンは、宛先のSIP-URIに対応して得られたユーザ情報を基に着信先のユーザ端末装置を呼び出す。SIPサーブレットエンジンは、着信先のユーザ端末装置が未登録またはログイン状態にない場合、送信元のユーザ端末装置にエラーを出力する。着信先のユーザ端末装置は送信元のユーザ端末装置からの呼出しに応じて接続し、通話を開始する。
【０００５】
また、SIPサーブレットエンジンを複数有する分散システムとしてもよい。この場合、サブネットワークにはSIPアプリケーションサーバが接続される。SIPアプリケーションサーバは、SIPロードバランサおよび複数のサブネットを含む。SIPロードバランサは、複数の論理IPアドレスを有し、ロードバランシングの処理規則に応じてサブネットそれぞれに含まれるSIPサーブレットエンジンにSIPリクエストを振り分ける機能を有する。各サブネットには、複数のSIPサーブレットエンジンが接続され、各SIPサーブレットエンジンにはSIPロケーションサーバが接続される。SIPサーブレットエンジンは、アドレスポート管理情報を扱う。
【０００６】
アドレスポート管理情報には複数のトランスポート情報およびロードバランサ情報が含まれる。トランスポート情報は、IPアドレス、ポート番号、プロトコルの種別および起動状態を含む。IPアドレスはSIPサーブレットエンジンのネットワークインタフェースカードのIPアドレスである。ポート番号は、オープンする番号である。プロトコルの種別は、プロトコルがTCP（Transmission Control Protocol）/UDP（User Datagram Protocol）のいずれかを示す。起動状態は「有効」および「無効」のいずれかで表しそれぞれ使用中状態および未使用状態を示す。
【０００７】
また、ロードバランサ情報は、ロードバランサアドレス、各プロトコルのポート番号および起動状態を含む。ロードバランサアドレスには、ロードバランサの論理IPアドレスが設定される。各プロトコルのポート番号は、たとえばTCPでオープンするポート番号とUDPオープンするポート番号である。また、起動状態はトランスポート情報と同様に「有効」、「無効」で状態を表す。
【０００８】
サブネット内にSIPサーブレットエンジンを複数台設置する場合、SIPロードバランサがほとんどの場合設置される。この設置により障害発生時におけるサービス停止時間を短縮化する。
【０００９】
この分散システムにおける動作も簡単に説明する。この場合も送信元のユーザ端末装置は、着信先のユーザ端末装置にSIP-URIを指定し、発信する。発信されたSIP-URIは、SIPアプリケーションサーバの間にあるサブネットを介してSIPロードバランサに供給される。SIPロードバランサはSIPロケーションサーバにSIPロードバランサの論理IPアドレスを指定し、この指定に対応するSIPサーブレットエンジンにSIPリクエスト処理を発信する。SIPリクエスト処理は、対応するSIPサーブレットそれぞれに振り分けて、実施する。
【００１０】
指定されたSIPサーブレットは、宛先のSIP-URIから実際の宛先情報を求めて、サブネット内のSIPロケーションサーバにアクセスする。このSIPロケーションサーバは、宛先情報を参照して、SIPリクエストを処理する。このSIPロケーションサーバは、このSIPロケーションサーバは、SIPリクエストに対する応答情報を要求された論理IPアドレスに向けて返す。
【００１１】
応答を受けたSIPサーブレットエンジンは、応答情報の中から着信先のユーザ情報を取り出す。SIPサーブレットエンジンは、得られたユーザ情報を基に着信先のユーザ端末装置を呼び出す。SIPサーブレットエンジンは、着信先のユーザ端末装置が未登録またはログイン状態にない場合、送信元のユーザ端末装置にエラーを出力する。着信先のユーザ端末装置は送信元のユーザ端末装置からの呼出しに応じて接続し、通話を開始する。これにより、SIPサーブレットエンジンは、負荷の分散およびSIPアプリケーションサーバの障害時のサービス継続を可能にする。
【００１２】
ネットワークのアドレス設定としては特許文献１や特許文献２が挙げられる。特許文献１のネットワークアドレス設定方式には、ルーティングノードとその配下のサブネットワークとが一括して移動した場合やマルチホーム形式におけるアドレス管理の場合に対する構成が開示されている。ネットワークアドレス設定方式では、アドレスサーバおよびルーティングノードを含み、アドレスサーバはルーティングノードに対してネットワーク内の物理アドレスとサブネットワークのアドレスとを割り付ける。ルーティングノードはアドレスサーバから割り当てられたアドレスをサブネットワークに設定する。サブネットワークの移動にともないアドレスサーバは、移動したルーティングノードに移動先の物理アドレスを付与する。
【００１３】
特許文献２のマルチホームサービスシステムは、制御部にアプリケーション処理部、ネットワーク処理部およびメイン処理部を備え、情報漏洩のおそれを無くし、他のホームネットワークに連結された装置に対してもアクセスできるように拡張可能にする。
【００１４】
【特許文献１】特開2000−32028号公報
【特許文献２】特開2004−320766号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ところで、分散システムにおいて、ネットワークアドレスが異なるユーザ情報を収容する場合、既存のSIPサーブレットエンジンに収容できない。異なるユーザ情報の収容には、新たにSIPサーブレットエンジンを設けるとよい。これにより、収容することが可能になる。しかしながら、このように新たなSIPサーブレットエンジンの構築は、既存のSIPサーブレットエンジンにメモリやCPU（Central Processing Unit）等のリソースに空きがあると、有効に空きリソースを利用できない。
【００１６】
本発明はこのような従来技術の欠点を解消し、既存のSIPサーブレットエンジンに異なるネットワークアドレスを収容し、このエンジンの空きリソースを効率に使用できるサーバ装置および通信接続方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は上述の課題を解決するために、情報を提供するデータベースを有し、所定のプロトコルで動作する情報装置に接続される情報処理機能ブロックが分散して配されるサーバ装置において、情報処理機能ブロックは、この情報処理機能ブロックが接続する複数のサブネットワークに関する第１の情報を管理し、この管理に基づき供給されるリクエストとこのリクエストに対するレスポンスを管理する情報管理手段と、第１の情報に含まれる第２の情報および第３の情報に対し第２および第３の情報の両方を関連付ける識別子が設けられた記憶手段とを含み、情報処理機能のそれぞれは、識別子の有無を基に負荷分散手段の配設の可否と、第３の情報の識別子を参照し、該当する識別子の有無や該当する識別子の起動状態の可否を判断し、リクエストに対する前記レスポンスの供給を管理することを特徴とする。
【００１８】
本発明のサーバ装置は、情報管理手段で記憶手段に含まれる第２の情報および第３の情報に対し第２および第３の情報の両方を関連付ける識別子を基に第３の情報の識別子を参照し、該当する識別子の起動状態の可否を判断し、リクエストに対するレスポンスの供給が判明することから、異なるサブネットワークが扱う情報を情報処理機能ブロックに収容することで効率のよいこれまで以上の通信接続が可能にし、サブネットワークの追加に際し、既存の情報処理機能ブロックに第２および第３の情報、ならびに識別子を追加し設定することで新たなユーザを収容し、既存のリソースを有効に活用することができる。
【００１９】
また、本発明は上述の課題を解決するために、複数のサブネットワークが接続された所定のプロトコルで動作する情報処理機能ブロックとこの情報処理機能ブロックの負荷を分散させる負荷分散手段とを用いて、情報処理機能ブロックが管理する第１の情報に基づき供給されるリクエストとこのリクエストに対するレスポンスを負荷分散手段の該当するアドレス情報を有する位置に返して、通信接続を確立する通信接続方法において、この方法は、第１の情報に含まれる第２の情報および第３の情報に対し第２および第３の情報の両方を関連付ける識別子を設定し、この識別子が有るか否かを判断する第１の工程と、識別子が有る場合、識別子を介して第２の情報に対応する第３の情報を関連させ、第３の情報が有するアドレス情報を求める第２の工程と、第３の情報が有する負荷分散手段が起動状態にあるか否かを判断する第３の工程と、負荷分散手段が起動状態にある場合、レスポンスを第３の情報が有するアドレス情報の前記負荷分散手段に向けて出力する第４の工程とを含むことを特徴とする。
【００２０】
本発明の通信接続方法は、識別子を設定し、この識別子が有るか否かを判断し、識別子が有る場合、識別子を介して第２の情報に対応する第３の情報を関連させ、第３の情報が有するアドレス情報を求め、第３の情報が有する負荷分散手段が起動状態にあるか否かを判断し、負荷分散手段が起動状態にある場合、レスポンスを第３の情報が有するアドレス情報の前記負荷分散手段に向けて出力することにより異なるサブネットワークのユーザに対するリクエスト-レスポンスを可能にして、情報処理機能ブロックの資源、すなわち空きリソースを効率よく利用でき、サブネットワークの追加に際し、既存の情報処理機能ブロックに第２および第３の情報、ならびに識別子を追加し設定することで新たなユーザを収容することができる。
【発明を実施するための最良の形態】
【００２１】
次に添付図面を参照して本発明によるサーバ装置の一実施例を詳細に説明する。
【００２２】
本実施例は、本発明のサーバ装置をマルチホームのネットワークシステム10のSIPアプリケーションサーバ12に適用した場合である。本発明と直接関係のない部分について図示および説明を省略する。以下の説明で、信号はその現れる接続線の参照番号で指示する。
【００２３】
ネットワークシステム10は、図１に示すように、ユーザ端末装置12、14、16、18およびSIPアプリケーションサーバ20を含む。図１のマルチホームのネットワークシステム10は、分散ネットワークシステムである。ユーザ端末装置12および14はサブネットワーク22を介してSIPアプリケーションサーバ20と接続される。また、ユーザ端末装置16および18はサブネットワーク24を介してSIPアプリケーションサーバ20と接続される。
【００２４】
SIPアプリケーションサーバ20は、SIPロードバランサ26、SIPサーブレットエンジン28および30、ならびにSIPロケーションサーバ32を含む。SIPアプリケーションサーバ20は、SIPロードバランサ26とSIPサーブレットエンジン28および30との間にサブネットワーク34および36が形成される。SIPアプリケーションサーバ20において従来との相違は、サブネットワーク34の接続がSIPサーブレットエンジン28だけでなく、SIPサーブレットエンジン30とも接続が可能な点にある。同様に、サブネットワーク36の接続がSIPサーブレットエンジン30だけでなく、SIPサーブレットエンジン28と接続が可能な点である。このようなサブネットワーク34および36とSIPサーブレットエンジン28および30の相互接続は、後述するSIPサーブレットエンジン28および30の機能に基づく。
【００２５】
SIPロードバランサ26は、たとえばサブネットワーク22とサブネットワーク34、サブネットワーク24とサブネットワーク36をそれぞれ対応付けて管理し、SIPサーブレットエンジンの負荷を分散する機能を有する。すなわち、SIPロードバランサ26は、サブネットワーク22および24が対応するネットワークインタフェースカードのそれぞれに異なる論理IPアドレスを割り当て、サブネットワーク34および36が接続するネットワークインタフェースカードのそれぞれに対し、サブネットワーク22および24において設定した論理IPアドレスと同じ論理IPアドレスを割り当てる。
【００２６】
SIPサーブレットエンジン28および30には、それぞれ、呼処理等の機能を有し、とくに、アドレスポート情報を基にインタフェースカードに対する情報を設定し処理を振り分け処理結果の応答を受ける機能およびアドレスポート情報の記憶機能が含まれる。これらの機能を有する構成要素が、図１のアドレスポート管理部38およびメモリ40、アドレスポート管理部42およびメモリ44で表される。SIPサーブレットエンジン28は、接続するサブネットワーク34および36に対応して割り当てられるIPアドレスをインタフェースカードに設定する。また、SIPサーブレットエンジン30も接続するサブネットワーク34および36に対応して割り当てられるIPアドレスをインタフェースカードに設定する。このようにSIPサーブレットエンジン28および30は、同じ機能を有する。メモリ40および44は、ハードディスクのようなストレージを用いデータベース化して記憶するようにしてもよい。SIPサーブレットエンジン28および30は、SIPロケーションサーバ32と接続する。
【００２７】
SIPサーブレットエンジン28において図２に示すアドレスポート情報、すなわちSIPトランスポート情報およびSIPロードバランサ情報をメモリ40に記憶する。本実施例でSIPトランスポート情報は、IPアドレス、ポート番号、プロトコルの種別および起動状態だけでなく、LB（Load Balancer）識別子48を記憶する。また、SIPロードバランサ情報は、ロードバランサアドレス、TCP/UDPにおけるポート番号、起動状態だけでなく、LB識別子50を設け記憶する。SIPトランスポート情報およびSIPロードバランサ情報にLB識別子を持たせることにより、アドレスポート管理部はSIPトランスポート情報とSIPロードバランサ情報とを対応付けることが可能になる。SIPサーブレットエンジン28としては、対応付けによりたとえ複数のサブネットワークを収容していても、応答返却先のSIPロードバランサ26の論理IPアドレスがわかる。SIPアプリケーションサーバ20は、複数のサブネットワーク34および36のユーザ情報をSIPサーブレットエンジン20および30にそれぞれ収容して空きリソースを効率よく利用できる。サブネットワークを新たに追加する場合、SIPサーブレットエンジンを追加することなく、新たなサブネットワークのユーザ情報を既存のSIPサーブレットエンジンに収容できる。これにより、既存のリソースを有効に活用することができる。
【００２８】
図１に戻って、SIPロケーションサーバ32は、サブネットワーク22/24に収容される利用者である加入者情報等を管理する機能を有する。この管理機能に基づき宛先のSIP-URIから実際の宛先情報を参照し、該当する宛先情報を求め、SIPリクエストを処理する。また、SIPロケーションサーバ32は、宛先のSIP-URIおよび実際の宛先情報、すなわちユーザ情報を対応付け記憶するストレージを有する。SIPロケーションサーバ32は、得られた宛先情報を接続されるSIPリクエストのあったSIPサーブレットエンジン28および30のいずれかに返す。
【００２９】
次にマルチホームのネットワークシステム10におけるSIPロードバランサ26に着目したSIPサーブレットエンジン28の動作について簡単に説明する。この動作はSIPサーブレットエンジン28に限定されるものでなく、SIPサーブレットエンジン30でも同様に動作できることは言うまでもない。
【００３０】
SIPサーブレットエンジン28には、このエンジンのトランスポートを経由してSIPリクエストが入力される。SIPリクエストの受信に応じてSIPリクエスト処理に進む（ステップS10へ）。
【００３１】
SIPサーブレットエンジン28は、SIPリクエストを処理する。SIPリクエストは、たとえばSIPロケーションサーバ32に宛先のSIP-URIを供給し宛先のSIP-URIを参照して、宛先のユーザ情報を求める。
【００３２】
次にSIPロケーションサーバ32は、求めた宛先のユーザ情報を応答としてSIPサーブレットエンジン28に返す（ステップS12）。SIPサーブレットエンジン28は、この応答を受けてSIPロードバランサ26の有無の判断処理に進む（ステップS14へ）。
【００３３】
次にSIPサーブレットエンジン28は、アドレスポート管理部38で受信したSIPリクエストのSIPトランスポート情報を参照し、SIPロードバランサ26の有無を判断する（ステップS14）。判断はSIPロードバランサ情報としてLB識別子および起動状態を基にロードバランサアドレスを知ることができる。LB識別子の有無がSIPロードバランサ26の有無を反映することから、この段階では少なくとも、LB識別子の有無を用いれば判断できる。この条件を用いて、SIPロードバランサ26がSIPアプリケーションサーバ20に無いと判断した場合（YES）、SIPレスポンスの返却処理に進む（ステップS16へ）。また、SIPロードバランサ26がSIPアプリケーションサーバ20に有ると判断した場合（NO）、SIPロードバランサ情報の取得処理に進む（ステップS18へ）。
【００３４】
SIPレスポンスの返却処理は、得られたSIPレスポンスをOS（Operating System）のルーティング情報に従って返却する（ステップS16）。
【００３５】
また、SIPロードバランサ情報の取得処理は、アドレスポート管理部38でメモリ40の該当するSIPトランスポート情報にアクセスする。このアクセスでは、この情報が有するLB識別子48を基にSIPロードバランサ情報を参照することにある。この参照は、LB識別子48とLB識別子50とを比較し対応するロードバランサアドレス、すなわち論理IPアドレスを求めることを意味する。
【００３６】
次にアドレスポート管理部38は、SIPロードバランサ情報が有する起動状態を基にSIPロードバランサ26の起動の有無を判断する（ステップS20）。起動状態の場合（YES）、SIPロードバランサ情報を用いたSIPレスポンスの返却処理に進む（ステップS22へ）。未起動状態の場合（NO）、SIPレスポンスの返却処理に進む（ステップS16へ）。起動状態でのSIPレスポンスの返却処理は、得られたSIPロードバランサ26の論理IPアドレスに向けてSIPレスポンスを返却する（ステップS22）。これらSIPレスポンスの返却後、SIPリクエストに対するSIPレスポンスが完了としたとする。
【００３７】
このようにSIPサーブレットエンジンにおいて、異なる複数のサブネットワークのユーザまたは加入者を一つのシステム上に収容させることが可能になる。これにより、収容にともない新たな設備を敷設させることなく、現有の設備におけるリソースを有効に活用することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明のサーバ装置をマルチホームのネットワークシステムにおけるSIPアプリケーションサーバに適用した概略的な構成を示すブロック図である。
【図２】図１のSIPアプリケーションサーバにおけるSIPサーブレットエンジンが記憶するアドレスポート管理情報を説明する図である。
【図３】図１のSIPサーブレットエンジンの動作を説明するフローチャートである。
【符号の説明】
【００３９】
10  マルチホームのネットワークシステム
12〜18  ユーザ端末装置
20  SIPアプリケーションサーバ
22、24、34、36  サブネットワーク
26  SIPロードバランサ
28、30  SIPサーブレットエンジン
32  SIPロケーションサーバ
38、42  アドレスポート管理部
40、44  メモリ
【図１】
2006338066.tif 000003
【図２】
2006338066.tif 000004
【図３】
2006338066.tif 000005