(57)【要約】【課題】仮想ホストとして複数のＳＩＰサーバが実現されているコンピュータ上で、何れかのＳＩＰサーバ宛に送られてきたＳＩＰメッセージを、一つの適切なＳＩＰサーバに引き渡せるようにできるＳＩＰメッセージ引渡プログラムを、提供する。【解決手段】ホスト装置１０のホスト判別モジュール１７は、インターフェースエンジン１６が受信したＳＩＰメッセージの「Route」ヘッダフィールド，スタートライン，「To」ヘッダフィールド，及び、「From」ヘッダフィールドに含まれるＵＲＩについて、この順に、各ＳＩＰサーバ１１〜１５がＳＩＰメッセージを受け取る条件として判別テーブル１８に定義されているＵＲＩに一致するかを判別する処理を行う（ステップＳ１０３〜Ｓ１１０）。そして、初めにＵＲＩ同士が一致した段階で、その条件に合致する一つのＳＩＰサーバの仮想ホスト識別情報が、適切な受け取り先としてインターフェースエンジン１６に通知される。【選択図】図３
2008033558.tif 000002
【特許請求の範囲】
【請求項１】
ＳＩＰサーバである複数の仮想ホストのうちの何れかの仮想ホスト宛に送られてきたＳＩＰメッセージを、適切な仮想ホストに引き渡すためのＳＩＰメッセージ引渡プログラムであって、
コンピュータを、
ＳＩＰメッセージの構成要素のうち、所在情報を含み得る幾つかの構成要素のそれぞれについて、その構成要素に所定の所在情報が含まれていることをＳＩＰメッセージを受け取る条件としている仮想ホストを識別するための仮想ホスト識別情報と、その受け取り条件の内容となる所定の所在情報とを対応付けたレコードを、記憶装置内のテーブルに記憶する記憶手段，
ネットワーク上のＳＩＰサーバからＳＩＰメッセージを受信する受信手段，
前記各構成要素について、所定の順に、その構成要素での受け取り条件が前記受信手段が受信したＳＩＰメッセージにおける対応する構成要素内の所在情報と一致するレコードを前記テーブルから検索する処理を、行う検索手段，及び、
前記検索手段が前記各構成要素について順に前記検索処理を行うことにより、何れかの検索処理でレコードが検出されると、その検出されたレコードに含まれる仮想ホスト識別情報により示される仮想ホストに、前記受信手段が受信したＳＩＰメッセージを引き渡す引渡手段
として機能させる
ことを特徴とするＳＩＰメッセージ引渡プログラム。
【請求項２】
前記受信手段は、前記何れかの仮想ホストからもＳＩＰメッセージを受信するものである
ことを特徴とする請求項１記載のＳＩＰメッセージ引渡プログラム。
【請求項３】
前記引渡手段は、前記検索手段が前記各構成要素について順に前記検索処理を行うことにより、何れの検索所においてもレコードが検出されなかった場合には、前記受信手段が受信したＳＩＰメッセージの受け取り先が無い旨を示す情報を、送信元のＳＩＰサーバに引き渡す
ことを特徴とする請求項１又は２記載のＳＩＰメッセージ引渡プログラム。
【請求項４】
前記記憶手段は、ＳＩＰメッセージの各構成要素のうち、スタートライン，中継装置の所在を特定する所在情報が格納されるフィールド，発信元の所在を特定する所在情報が格納されるフィールド，及び、着信先の所在を特定する所在情報が格納されるフィールドの各構成要素について、仮想ホスト識別情報と受け取り条件とを対応付けたレコードを、記憶装置内のテーブルに記憶する
ことを特徴とする請求項１，２又は３記載のＳＩＰメッセージ引渡プログラム。
【請求項５】
前記検索手段は、中継装置の所在を特定する所在情報が格納されるフィールド，スタートライン，着信先の所在を特定する所在情報が格納されるフィールド，及び、送信元の所在を特定する所在情報が格納されるフィールドの順に、前記検索処理を行う
ことを特徴とする請求項４記載のＳＩＰメッセージ引渡プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＩＰ［Session Initiation Protocol］サーバにＳＩＰメッセージを引き渡す装置としてコンピュータを動作させるためのＳＩＰメッセージ引渡プログラムに、関する。
【背景技術】
【０００２】
一般に、ホストとは、ネットワーク上の他のコンピュータにサービスや処理能力を提供する機能が導入されたコンピュータを言う。通常の運用形態では、そのような機能は、一台のコンピュータに対し、一つだけ導入されることが多い。しかし、近年では、そのような機能を一台のコンピュータ上で複数動作させる技術が、開発されつつある。この技術は、仮想ホスティングと称されている。この仮想ホスティングによれば、物理的にコンピュータの台数を増やすことなく、同種の機能を仮想ホストとして増やすことができるようになる。
【０００３】
この仮想ホスティングにより同一のコンピュータ上に実現された複数の仮想ホストは、何れも同種の機能を提供するものであり、互いに同一のＩＰ［Internet Protocol］アドレスを利用しつつ、互いに同一の通信プロトコルに従ってネットワーク上の他のコンピュータと通信を行う。このため、仮想ホスティングでは、ネットワーク上の他のコンピュータからデータが送られてきた際、そのデータが適切な仮想ホストに引き渡されるようにしておく必要がある。
【０００４】
ここで、各仮想ホストがＳＩＰサーバである場合、各仮想ホストは、ネットワーク上の他のＳＩＰサーバやＳＩＰクライアントからＳＩＰメッセージを受信する。ＳＩＰメッセージは、図４に示すように、スタートライン，ヘッダ，及び、ボディからなる。従来、複数のＳＩＰサーバが仮想ホストとして同一コンピュータ上に実現される場合、ＳＩＰメッセージを受信するインターフェースエンジンにその宛先を判別する機能が組み込まれた。すなわち、そのインターフェースエンジンは、ＳＩＰメッセージ内の所定の構成要素の内容から、そのＳＩＰメッセージの適切な受け取り先となる仮想ホストを判別し、判別した仮想ホストにＳＩＰメッセージを引き渡すようになっている。
【０００５】
例えば、コンピュータに四つのＳＩＰサーバが仮想ホストとして実現されている場合において、インターフェースエンジンは、ＳＩＰメッセージの「Route」ヘッダフィールドの値が例えば「sss.co.jp」というドメイン名だったときには、そのＳＩＰメッセージを一つ目のＳＩＰサーバに引き渡し、ＳＩＰメッセージのスタートライン内のＵＲＩ［Uniform Resource Identifier］が例えば「sip:bbb@ttt.co.jp」というＵＲＩだったときには、そのＳＩＰメッセージを二つ目のＳＩＰサーバに引き渡し、ＳＩＰメッセージの「From」ヘッダフィールドの値が「sip:ccc@uuu.co.jp」というＵＲＩだったときには、そのＳＩＰメッセージを三つ目のＳＩＰサーバに引き渡し、ＳＩＰメッセージの「To」ヘッダフィールドの値が例えば「sip:ddd@vvv.co.jp」というＵＲＩだったときには、そのＳＩＰメッセージを四つ目のＳＩＰサーバに引き渡す。
【０００６】
インターフェースエンジンは、各ＳＩＰサーバのＳＩＰメッセージの受け取り条件を、テーブル上にて管理しており、ＳＩＰメッセージを受け取るたびにそのテーブルを検索することにより、適切なＳＩＰサーバを判別する。
【０００７】
【特許文献１】特開２００６−０９９２０７号公報（段落００３８）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、何れかのＳＩＰサーバ宛のＳＩＰメッセージに、前述した従来のインターフェースエンジンがテーブルに規定している受け取り条件が、幾つか含まれていると、そのＳＩＰメッセージを引き渡すべき仮想ホストが、複数抽出され、複数の仮想ホストにＳＩＰメッセージが引き渡されてしまうという問題がある。
【０００９】
前述した例で言えば、ＳＩＰメッセージが、「Route」ヘッダフィールドに「sss.co.jp」を含むとともに、「From」ヘッダフィールドに「sip:ccc@uuu.co.jp」を含んでいるときには、従来のインターフェースエンジンは、そのＳＩＰメッセージを、一つ目のＳＩＰサーバに引き渡すべきか、三つ目のＳＩＰサーバに引き渡すべきか、判別つかなくなってしまう。
【００１０】
本発明は、前述した従来の事情に鑑みてなされたものであり、その課題は、仮想ホストとして複数のＳＩＰサーバが実現されているコンピュータ上において、何れかのＳＩＰサーバ宛に送られてきたＳＩＰメッセージを、一つの適切なＳＩＰサーバに引き渡せるようにすることにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために案出されたＳＩＰメッセージ引渡プログラムは、ＳＩＰサーバである複数の仮想ホストのうちの何れかの仮想ホスト宛に送られてきたＳＩＰメッセージを、適切な仮想ホストに引き渡すためのＳＩＰメッセージ引渡プログラムであって、コンピュータを、ＳＩＰメッセージの構成要素のうち、所在情報を含み得る幾つかの構成要素のそれぞれについて、その構成要素に所定の所在情報が含まれていることをＳＩＰメッセージを受け取る条件としている仮想ホストを識別するための仮想ホスト識別情報と、その受け取り条件の内容となる所定の所在情報とを対応付けたレコードを、記憶装置内のテーブルに記憶する記憶手段，ネットワーク上のＳＩＰサーバからＳＩＰメッセージを受信する受信手段，前記各構成要素について、所定の順に、その構成要素での受け取り条件が前記受信手段が受信したＳＩＰメッセージにおける対応する構成要素内の所在情報と一致するレコードを前記テーブルから検索する処理を、行う検索手段，及び、前記検索手段が前記各構成要素について順に前記検索処理を行うことにより、何れかの検索処理でレコードが検出されると、その検出されたレコードに含まれる仮想ホスト識別情報により示される仮想ホストに、前記受信手段が受信したＳＩＰメッセージを引き渡す引渡手段として機能させることを、特徴としている。
【００１２】
このような構成によれば、このＳＩＰメッセージ引渡プログラムが動作するコンピュータは、ネットワーク上の何れかのＳＩＰサーバから受信したＳＩＰメッセージに幾つかの仮想ホストの受け取り条件が含まれていたとしても、ＳＩＰメッセージにおける所在情報を含む幾つかの構成要素について一つずつ順に検索処理を行うことにより、何れか一つの受け取り条件が必ず先に検出されることとなる。従って、その検索処理が行われる構成要素の順番が、適宜設定されていれば、その優先順に従って、適切な仮想ホストが唯一決定され、その唯一の仮想ホストにＳＩＰメッセージを引き渡すことができることとなる。
【００１３】
なお、本発明のＳＩＰメッセージ引渡プログラムでは、ネットワーク上のＳＩＰサーバから通信装置を介して受信するＳＩＰメッセージに対し、各検索処理が行われるようになっているが、何れかの仮想ホストから発せられるＳＩＰメッセージに対しても、各検索処理が行われるようになっていてもよい。後者のようにすることで、或る仮想ホストから別の仮想ホストへＳＩＰメッセージが送信される際、そのＳＩＰメッセージが通信装置を介してネットワークへ流出することなく、コンピュータ内部で折り返すように転送されることとなる。
【００１４】
また、本発明のＳＩＰメッセージ引渡プログラムでは、検索処理が行われるＳＩＰメッセージの各構成要素は、所在情報が含まれるものであるなら何でもよく、例えば、メソッドの指定先の所在を特定する所在情報が含まれるスタートライン，中継装置の所在を特定する所在情報が格納される「Route」ヘッダフィールド，送信元の所在を特定する所在情報が格納される「From」ヘッダフィールド，及び、着信先の所在を特定する所在情報が格納される「To」ヘッダフィールドは、検索処理対象の構成要素として利用することができる。
【発明の効果】
【００１５】
以上に説明したように、本発明によれば、仮想ホストとして複数のＳＩＰサーバが実現されているコンピュータ上において、何れかのＳＩＰサーバ宛に送られてきたＳＩＰメッセージが、一つの適切なＳＩＰサーバに引き渡されるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
【００１７】
図１は、本実施形態のホスト装置１０の構成図である。
【００１８】
ホスト装置１０は、仮想ホストとしてＳＩＰ［Session Initiation Protocol］サーバが五つ実現されたコンピュータである。コンピュータは、周知のように、ストレージ１０ａ，ＣＰＵ［Central Processing Unit］１０ｂ，ＤＲＡＭ［Dynamic Random Access Memory］１０ｃ，及び、通信アダプタ１０ｄ等のハードウエアを、内蔵している。ストレージ１０ａは、各種のプログラムやデータが記録された記憶装置である。ＣＰＵ１０ｂは、ストレージ１０ａに記録されているプログラムに従って各種の処理を行う制御装置である。ＤＲＡＭ１０ｃは、ＣＰＵ１０ｂが各種の処理を行う際に作業領域が展開される記憶装置である。通信アダプタ１０ｄは、ネットワーク上のコンピュータや中継装置とデータの遣り取りを行うための通信装置である。
【００１９】
そして、このホスト装置１０のストレージ１０ａは、図示していないが、通信アダプタ１０ｄにおけるデータの入出力の管理，並びに、ストレージ１０ａやＤＲＡＭ１０ｃの記憶領域の管理といった基本的な機能を多くのアプリケーションソフトウエアに提供するための基本ソフトウエアを、記憶している。また、このストレージ１０ａは、五つのＳＩＰサーバ１１〜１５を実現するためのソフトウエア群を、記憶している。また、このストレージ１０ａは、後述のインターフェースエンジン１６を実現するためのソフトウエア群を、記憶している。さらに、このストレージ１０ａは、本発明に係るホスト判別モジュール１７を実現するためのソフトウエア群，及び、そのホスト判別モジュール１７が利用する判別テーブル１８を、記憶している。
【００２０】
ＳＩＰサーバ１１〜１５は、図示していないが、何れも、ＳＩＰサーバとしての機能を実現するためのプロキシサーバ，リダイレクトサーバ，レジスタサーバを少なくとも含んでいる。このうち、プロキシサーバは、ユーザエージェント（ＳＩＰクライアント）の代理としてセッション相手のユーザエージェントの場所を特定してそのセッション相手のユーザエージェントサーバを呼び出す機能である。リダイレクトサーバは、図示せぬロケーションサーバからセッション相手のアドレスを聞き出してセッションの要求元のユーザエージェントクライアントに通知する機能である。レジスタサーバは、ユーザエージェント（ＳＩＰクライアント）からの要求に基づいて、図示せぬロケーションサーバに対するそのユーザエージェントに係る情報の登録、変更、削除を行う機能である。これらプロキシサーバ，リダイレクトサーバ，レジスタサーバは、周知の技術であるので、ここではこれ以上説明しない。ＳＩＰサーバ１１〜１５は、何れも、ＳＩＰに従って、ユーザエージェント（ＳＩＰクライアント）とＳＩＰメッセージを遣り取りすることによって、ユーザエージェント間のシグナリングを行い、ユーザエージェント間のセッションの投入及び切断を管理する。
【００２１】
インターフェースエンジン１６は、ネットワーク上のＳＩＰサーバ又はユーザエージェントからのＳＩＰメッセージの受信，及び、ネットワーク上のＳＩＰサーバ又はユーザエージェントへのＳＩＰメッセージの送信を行うための機能である。このインターフェースエンジン１６は、ネットワーク上のＳＩＰサーバ若しくはユーザエージェント，又は、ＳＩＰサーバ１１〜１５の何れかから、ＳＩＰメッセージを受信すると、後述のホスト判別モジュール１７のプロセスを生成して、そのＳＩＰメッセージがＳＩＰサーバ１１〜１５の何れかを宛先とするものであるかをそのプロセスに判断させるようになっている。そして、このインターフェースエンジン１６は、その判断の結果、ＳＩＰサーバ１１〜１５の何れもＳＩＰメッセージの宛先でなかった場合、ＳＩＰに従い、そのＳＩＰメッセージを、ネットワーク上のＳＩＰサーバ若しくはユーザエージェントに送信する。逆に、その判断の結果、ＳＩＰサーバ１１〜１５の何れかがＳＩＰメッセージの宛先であった場合、このインターフェースエンジン１６は、その宛先となるＳＩＰサーバへＳＩＰメッセージを引き渡す機能のスレッドを立てて、そのスレッドに対し、該当するＳＩＰサーバへそのＳＩＰメッセージを引き渡させる。
【００２２】
従って、このインターフェースエンジン１６は、前述した受信手段に相当することになる。
【００２３】
ホスト判別モジュール１７は、インターフェースエンジン１６からの指示を受けて、インターフェースエンジン１６が受信したＳＩＰメッセージの宛先を判断する機能である。このホスト判別モジュール１７（に従ったＣＰＵ１０ｂ）が行う処理の内容については、後述する。
【００２４】
判別テーブル１８は、ホスト判別モジュール１７がＳＩＰメッセージの宛先を判別するときに利用するテーブルである。図２は、判別テーブル１８のデータ構造の一例を示す図である。図２に示すように、判別テーブル１８は、ＳＩＰサーバ１１〜１５と同数のレコードを、有している。各レコードは、「仮想ホスト」，「第一条件」，「第二条件」，「第三条件」及び「第四条件」のフィールドを、有している。このうち、「仮想ホスト」フィールドには、仮想ホストであるＳＩＰサーバ１１〜１５の中から各ＳＩＰサーバを個別に識別するための情報である仮想ホスト識別情報が、格納される。また、「第一条件」，「第二条件」，「第三条件」及び「第四条件」の各フィールドには、そのＳＩＰサーバ１１〜１５が受け取り先となるＳＩＰメッセージの条件として、ＵＲＩ［Uniform Resource Identifier］という所在情報が格納され、又は、何も格納されない。
【００２５】
後述するように、「第一条件」フィールドに定義されているＵＲＩが、インターフェースエンジン１６が受信したＳＩＰメッセージの「Route」ヘッダフィールド（図４参照）に含まれていた場合、そのＵＲＩを含むレコードに対応するＳＩＰサーバ１１〜１５は、そのＳＩＰメッセージの受け取り先とされる。「第一条件」フィールドが空欄である場合、ＳＩＰサーバ１１〜１５は、「Route」ヘッダフィールドの値がどんなものであっても、ＳＩＰメッセージの受け取り先とされることはない。この「第一条件」フィールドと同様に、「第二条件」フィールドに定義されているＵＲＩが、ＳＩＰメッセージのスタートライン（図４参照）に含まれていると、対応するＳＩＰサーバ１１〜１５は、ＳＩＰメッセージの受け取り先とされる。また、「第三条件」のフィールドに定義されているＵＲＩが、ＳＩＰメッセージの「To」ヘッダフィールド（図４参照）に含まれていると、対応するＳＩＰサーバ１１〜１５は、ＳＩＰメッセージの受け取り先とされる。また、「第四条件」のフィールドに定義されているＵＲＩが、ＳＩＰメッセージの「From」ヘッダフィールド（図４参照）に含まれていると、対応するＳＩＰサーバ１１〜１５は、ＳＩＰメッセージの受け取り先とされる。
【００２６】
従って、この判別テーブル１８をストレージ１０ａに記憶するホスト装置１０は、前述した記憶手段に相当することになる。
【００２７】
次に、以上のように構成されるホスト装置１０において、ホスト判別モジュール１７が行う処理の内容について、説明する。
【００２８】
前述したように、ホスト判別モジュール１７は、インターフェースエンジン１６が、ネットワーク上のＳＩＰサーバ若しくはユーザエージェント，又は、ＳＩＰサーバ１１〜１５の何れかから、ＳＩＰメッセージを受信すると、起動される。
【００２９】
図３は、このホスト判別処理の流れを示す図である。
【００３０】
ホスト判別処理の開始後、最初のステップＳ１０１では、ホスト判別モジュール１７（に従ったＣＰＵ１０ｂ）は、インターフェースエンジン１６から、そのインターフェースエンジン１６が受信したＳＩＰメッセージを、受け取る処理を行う。
【００３１】
次のステップＳ１０２では、ホスト判別モジュール１７は、ストレージ１０ａから図２の判別テーブル１８を読み出す処理を行う。
【００３２】
次のステップＳ１０３では、ホスト判別モジュール１７は、ステップＳ１０１でインターフェースエンジン１６から受け取ったＳＩＰメッセージの「Route」ヘッダフィールドからＵＲＩを読み、図２の判別テーブル１８において、そのＵＲＩと同じＵＲＩを「第一条件」フィールドに含むレコードを、検索する処理を行う。
【００３３】
次のステップＳ１０４では、ホスト判別モジュール１７は、ＳＩＰメッセージの「Route」ヘッダフィールド内のＵＲＩと同じＵＲＩを「第一条件」フィールドに含むレコードが検出できたか否かを、判別する。そして、ホスト判別モジュール１７は、当該レコードが検出できた場合、ステップＳ１０４からステップＳ１１２へ処理を分岐させ、当該レコードが検出できなかった場合、ステップＳ１０５へ処理を進める。
【００３４】
ステップＳ１０５では、ホスト判別モジュール１７は、ステップＳ１０１でインターフェースエンジン１６から受け取ったＳＩＰメッセージのスタートラインからＵＲＩを読み、図２の判別テーブル１８において、そのＵＲＩと同じＵＲＩを「第二条件」フィールドに含むレコードを、検索する処理を行う。
【００３５】
次のステップＳ１０６では、ホスト判別モジュール１７は、ＳＩＰメッセージのスタートライン内のＵＲＩと同じＵＲＩを「第二条件」フィールドに含むレコードが検出できたか否かを、判別する。そして、ホスト判別モジュール１７は、当該レコードが検出できた場合、ステップＳ１０６からステップＳ１１２へ処理を分岐させ、当該レコードが検出できなかった場合、ステップＳ１０７へ処理を進める。
【００３６】
次のステップＳ１０７では、ホスト判別モジュール１７は、ステップＳ１０１でインターフェースエンジン１６から受け取ったＳＩＰメッセージの「To」ヘッダフィールドからＵＲＩを読み、図２の判別テーブル１８において、そのＵＲＩと同じＵＲＩを「第三条件」フィールドに含むレコードを、検索する処理を行う。
【００３７】
次のステップＳ１０８では、ホスト判別モジュール１７は、ＳＩＰメッセージの「To」ヘッダフィールド内のＵＲＩと同じＵＲＩを「第三条件」フィールドに含むレコードが検出できたか否かを、判別する。そして、ホスト判別モジュール１７は、当該レコードが検出できた場合、ステップＳ１０８からステップＳ１１２へ処理を分岐させ、当該レコードが検出できなかった場合、ステップＳ１０９へ処理を進める。
【００３８】
次のステップＳ１０９では、ホスト判別モジュール１７は、ステップＳ１０１でインターフェースエンジン１６から受け取ったＳＩＰメッセージの「From」ヘッダフィールドからＵＲＩを読み、図２の判別テーブル１８において、そのＵＲＩと同じＵＲＩを「第四条件」フィールドに含むレコードを、検索する処理を行う。
【００３９】
次のステップＳ１１０では、ホスト判別モジュール１７は、ＳＩＰメッセージの「From」ヘッダフィールド内のＵＲＩと同じＵＲＩを「第四条件」フィールドに含むレコードが検出できたか否かを、判別する。そして、ホスト判別モジュール１７は、当該レコードが検出できた場合、ステップＳ１１０からステップＳ１１２へ処理を分岐させ、当該レコードが検出できなかった場合、ステップＳ１１１へ処理を進める。
【００４０】
ステップＳ１１１では、ホスト判別モジュール１７は、仮想ホスト識別情報を含むレコードが図２の判別テーブル１８から検出できなかったことから、仮想ホスト識別情報が検出できなかった旨を示す情報を、戻り値としてインターフェースエンジン１６に引き渡す処理を行う。その後、ホスト判別モジュール１７は、図３に係るホスト判別処理を終了する。
【００４１】
一方、ステップＳ１１２では、ホスト判別モジュール１７は、仮想ホスト識別情報を含むレコードが図２の判別テーブル１８から検出できたことから、そのレコードに含まれる仮想ホスト識別情報を、戻り値として、インターフェースエンジン１６に引き渡す処理を行う。その後、ホスト判別モジュール１７は、図３に係るホスト判別処理を終了する。
【００４２】
従って、ステップＳ１０３，Ｓ１０５，Ｓ１０７，Ｓ１０９を実行するＣＰＵ１０ｂは、前述した検索手段に相当することになり、ステップＳ１１１，Ｓ１１２を実行するＣＰＵ１０ｂは、前述した引渡手段に相当していることになる。
【００４３】
なお、インターフェースエンジン１６は、仮想ホスト識別情報が検出できなかった旨を示す情報をホスト判別モジュール１７から受け取ると、ＳＩＰに従って、ＳＩＰメッセージを、宛先が無い旨とともに、送信元に送り返す処理を行う。また、インターフェースエンジン１６は、仮想ホスト識別情報をホスト判別モジュール１７から受け取ると、前述したように、仮想ホスト（ＳＩＰサーバ）へＳＩＰメッセージを引き渡すモジュールのスレッドを立てて、そのスレッドに仮想ホスト識別情報とＳＩＰメッセージとを引き渡す。そのスレッドは、インターフェースエンジン１６から受け取った仮想ホスト識別情報により示される仮想ホスト（ＳＩＰサーバ）へ、ＳＩＰメッセージを引き渡す処理を行う。
【００４４】
次に、本実施形態のホスト装置１０の作用及び効果について説明する。
【００４５】
例えば、本実施形態のホスト装置１０のインターフェースエンジン１６が、図４に示すようなＳＩＰメッセージをネットワーク上のＳＩＰサーバから受信したとする。なお、図４に示すＳＩＰメッセージは、その「Route」ヘッダフィールドに、図２の判別テーブル１８におけるＳＩＰサーバ１１のレコードの「第一条件」フィールドの値と同じＵＲＩ（sip:fujitsu.com）を含むとともに、そのスタートラインに、図２の判別テーブル１８におけるＳＩＰサーバ１２のレコードの「第二条件」フィールドの値と同じＵＲＩ（sip:shingo@fujitsu.com）を含んでいる。
【００４６】
インターフェースエンジン１６は、このようなＳＩＰメッセージを受信すると、ホスト判別モジュール１７のプロセスを生成する。ホスト判別モジュール１７は、ＳＩＰメッセージの各構成要素のうち、「Route」ヘッダフィールド内のＵＲＩを検索キーに、そのＵＲＩと同じＵＲＩを「第一条件」フィールドに持つレコードを検索する（ステップＳ１０３）。その検索の結果、ＳＩＰサーバ１１のレコードが検出されるので、ホスト判別モジュール１７は、そのＳＩＰサーバ１１の仮想ホスト識別情報（0001）をインターフェースエンジン１６に引き渡す（ステップＳ１０４；ＹＥＳ，Ｓ１１２）。
【００４７】
このとき、前述したように、ＳＩＰメッセージは、そのスタートラインに、図２の判別テーブル１８におけるＳＩＰサーバ１２のレコードの「第二条件」フィールドの値と同じＵＲＩ（sip:shingo@fujitsu.com）を含んでいるものの、スタートライン内のＵＲＩを検索キーとした検索（ステップＳ１０５）は行われないので（ステップＳ１０４；ＹＥＳ）、そのＳＩＰサーバ１２の仮想ホスト識別情報（0002）が戻り値としてインターフェースエンジン１６に引き渡されることはない。従って、ＳＩＰメッセージは、必ず、一つの仮想ホスト（ＳＩＰサーバ）に引き渡されることになる。
【００４８】
このように、本実施形態のホスト装置１０によれば、仮想ホストであるＳＩＰサーバ１１〜１５のうちの何れか宛のＳＩＰメッセージに、各ＳＩＰサーバ１１〜１５がそれぞれＳＩＰメッセージの受け取り条件としているもののうちの幾つかが含まれていたとしても、そのＳＩＰメッセージを引き渡すべき仮想ホストが、必ず一つだけ抽出され、その抽出された一つの仮想ホストにＳＩＰメッセージが引き渡されるようになる。
【００４９】
また、本実施形態のホスト装置１０によれば、仮想ホストであるＳＩＰサーバ１１〜１５のうちの何れかがＳＩＰメッセージを発する際でも、インターフェースエンジン１６は、そのＳＩＰメッセージについて、ホスト判別モジュール１７のプロセスを生成して、図３のホスト判別処理を行わせる。
【００５０】
これにより、ホスト装置１０の内部でＳＩＰメッセージが転送される場合、すなわち、ＳＩＰサーバ１１〜１５の何れかから、ＳＩＰサーバ１１〜１５の何れかに、ＳＩＰメッセージが送信される場合には、インターフェースエンジン１６は、ホスト判別モジュール１７からそのＳＩＰメッセージの適切な受け取り先の仮想ホスト識別情報を一つ知らされるため、ＳＩＰメッセージは、コンピュータ内部で折り返されように、送信元とは別のＳＩＰサーバへ転送され、その結果として、通信装置を介してネットワークへ流出することがない。
【００５１】
（付記１）
ＳＩＰサーバである複数の仮想ホストのうちの何れかの仮想ホスト宛に送られてきたＳＩＰメッセージを、適切な仮想ホストに引き渡すためのＳＩＰメッセージ引渡プログラムであって、
コンピュータを、
ＳＩＰメッセージの構成要素のうち、所在情報を含み得る幾つかの構成要素のそれぞれについて、その構成要素に所定の所在情報が含まれていることをＳＩＰメッセージを受け取る条件としている仮想ホストを識別するための仮想ホスト識別情報と、その受け取り条件の内容となる所定の所在情報とを対応付けたレコードを、記憶装置内のテーブルに記憶する記憶手段，
ネットワーク上のＳＩＰサーバからＳＩＰメッセージを受信する受信手段，
前記各構成要素について、所定の順に、その構成要素での受け取り条件が前記受信手段が受信したＳＩＰメッセージにおける対応する構成要素内の所在情報と一致するレコードを前記テーブルから検索する処理を、行う検索手段，及び、
前記検索手段が前記各構成要素について順に前記検索処理を行うことにより、何れかの検索処理でレコードが検出されると、その検出されたレコードに含まれる仮想ホスト識別情報により示される仮想ホストに、前記受信手段が受信したＳＩＰメッセージを引き渡す引渡手段
として機能させる
ことを特徴とするＳＩＰメッセージ引渡プログラム。
【００５２】
（付記２）
前記受信手段は、前記何れかの仮想ホストからもＳＩＰメッセージを受信するものである
ことを特徴とする付記１記載のＳＩＰメッセージ引渡プログラム。
【００５３】
（付記３）
前記引渡手段は、前記検索手段が前記各構成要素について順に前記検索処理を行うことにより、何れの検索所においてもレコードが検出されなかった場合には、前記受信手段が受信したＳＩＰメッセージの受け取り先が無い旨を示す情報を、送信元のＳＩＰサーバに引き渡す
ことを特徴とする付記１又は２記載のＳＩＰメッセージ引渡プログラム。
【００５４】
（付記４）
前記記憶手段は、ＳＩＰメッセージの各構成要素のうち、スタートライン，中継装置の所在を特定する所在情報が格納されるフィールド，発信元の所在を特定する所在情報が格納されるフィールド，及び、着信先の所在を特定する所在情報が格納されるフィールドの各構成要素について、仮想ホスト識別情報と受け取り条件とを対応付けたレコードを、記憶装置内のテーブルに記憶する
ことを特徴とする付記１，２又は３記載のＳＩＰメッセージ引渡プログラム。
【００５５】
（付記５）
前記検索手段は、中継装置の所在を特定する所在情報が格納されるフィールド，スタートライン，着信先の所在を特定する所在情報が格納されるフィールド，及び、送信元の所在を特定する所在情報が格納されるフィールドの順に、前記検索処理を行う
ことを特徴とする付記４記載のＳＩＰメッセージ引渡プログラム。
【００５６】
（付記６）
ＳＩＰサーバである複数の仮想ホストのうちの何れかの仮想ホスト宛に送られてきたＳＩＰメッセージを、適切な仮想ホストに引き渡すためのＳＩＰメッセージ引渡プログラムであって、
コンピュータを、
ＳＩＰメッセージの構成要素のうち、所在情報を含み得る幾つかの構成要素のそれぞれについて、その構成要素に所定の所在情報が含まれていることをＳＩＰメッセージを受け取る条件としている仮想ホストを識別するための仮想ホスト識別情報と、その受け取り条件の内容となる所定の所在情報とを対応付けたレコードを、記憶装置内のテーブルに記憶する記憶手段，
ネットワーク上のＳＩＰサーバからＳＩＰメッセージを受信する受信手段，
前記各構成要素について、所定の順に、その構成要素での受け取り条件が前記受信手段が受信したＳＩＰメッセージにおける対応する構成要素内の所在情報と一致するレコードを前記テーブルから検索する処理を、行う検索手段，及び、
前記検索手段が前記各構成要素について順に前記検索処理を行うことにより、何れかの検索処理でレコードが検出されると、その検出されたレコードに含まれる仮想ホスト識別情報により示される仮想ホストに、前記受信手段が受信したＳＩＰメッセージを引き渡す引渡手段
として機能させるＳＩＰメッセージ引渡プログラム
を格納したことを特徴とするコンピュータ可読媒体。
【００５７】
（付記７）
前記受信手段は、前記何れかの仮想ホストからもＳＩＰメッセージを受信するものである
ことを特徴とする付記６記載のコンピュータ可読媒体。
【００５８】
（付記８）
前記引渡手段は、前記検索手段が前記各構成要素について順に前記検索処理を行うことにより、何れの検索所においてもレコードが検出されなかった場合には、前記受信手段が受信したＳＩＰメッセージの受け取り先が無い旨を示す情報を、送信元のＳＩＰサーバに引き渡す
ことを特徴とする付記６又は７記載のコンピュータ可読媒体。
【００５９】
（付記９）
前記記憶手段は、ＳＩＰメッセージの各構成要素のうち、スタートライン，中継装置の所在を特定する所在情報が格納されるフィールド，発信元の所在を特定する所在情報が格納されるフィールド，及び、着信先の所在を特定する所在情報が格納されるフィールドの各構成要素について、仮想ホスト識別情報と受け取り条件とを対応付けたレコードを、記憶装置内のテーブルに記憶する
ことを特徴とする付記６，７又は８記載のコンピュータ可読媒体。
【００６０】
（付記１０）
前記検索手段は、中継装置の所在を特定する所在情報が格納されるフィールド，スタートライン，着信先の所在を特定する所在情報が格納されるフィールド，及び、送信元の所在を特定する所在情報が格納されるフィールドの順に、前記検索処理を行う
ことを特徴とする付記９記載のコンピュータ可読媒体。
【００６１】
（付記１１）
ＳＩＰサーバである複数の仮想ホストのうちの何れかの仮想ホスト宛に送られてきたＳＩＰメッセージを、適切な仮想ホストに引き渡すためのＳＩＰメッセージ引渡装置であって、
ＳＩＰメッセージの構成要素のうち、所在情報を含み得る幾つかの構成要素のそれぞれについて、その構成要素に所定の所在情報が含まれていることをＳＩＰメッセージを受け取る条件としている仮想ホストを識別するための仮想ホスト識別情報と、その受け取り条件の内容となる所定の所在情報とを対応付けたレコードを、テーブルに記憶する記憶部，
ネットワーク上のＳＩＰサーバからＳＩＰメッセージを受信する受信部，
前記各構成要素について、所定の順に、その構成要素での受け取り条件が前記受信部が受信したＳＩＰメッセージにおける対応する構成要素内の所在情報と一致するレコードを前記テーブルから検索する処理を、行う検索部，及び、
前記検索部が前記各構成要素について順に前記検索処理を行うことにより、何れかの検索処理でレコードが検出されると、その検出されたレコードに含まれる仮想ホスト識別情報により示される仮想ホストに、前記受信部が受信したＳＩＰメッセージを引き渡す引渡部
を備えることを特徴とするＳＩＰメッセージ引渡装置。
【００６２】
（付記１２）
前記受信部は、前記何れかの仮想ホストからもＳＩＰメッセージを受信するものである
ことを特徴とする付記１１記載のＳＩＰメッセージ引渡装置。
【００６３】
（付記１３）
前記引渡部は、前記検索部が前記各構成要素について順に前記検索処理を行うことにより、何れの検索所においてもレコードが検出されなかった場合には、前記受信部が受信したＳＩＰメッセージの受け取り先が無い旨を示す情報を、送信元のＳＩＰサーバに引き渡す
ことを特徴とする付記１１又は１２記載のＳＩＰメッセージ引渡装置。
【００６４】
（付記１４）
前記記憶部は、ＳＩＰメッセージの各構成要素のうち、スタートライン，中継装置の所在を特定する所在情報が格納されるフィールド，発信元の所在を特定する所在情報が格納されるフィールド，及び、着信先の所在を特定する所在情報が格納されるフィールドの各構成要素について、仮想ホスト識別情報と受け取り条件とを対応付けたレコードを、テーブルに記憶する
ことを特徴とする付記１１，１２又は１３記載のＳＩＰメッセージ引渡装置。
【００６５】
（付記１５）
前記検索部は、中継装置の所在を特定する所在情報が格納されるフィールド，スタートライン，着信先の所在を特定する所在情報が格納されるフィールド，及び、送信元の所在を特定する所在情報が格納されるフィールドの順に、前記検索処理を行う
ことを特徴とする付記１４記載のＳＩＰメッセージ引渡装置。
【００６６】
（付記１６）
ＳＩＰサーバである複数の仮想ホストのうちの何れかの仮想ホスト宛に送られてきたＳＩＰメッセージを、適切な仮想ホストに引き渡すためのＳＩＰメッセージ引渡方法であって、
コンピュータが、
ＳＩＰメッセージの構成要素のうち、所在情報を含み得る幾つかの構成要素のそれぞれについて、その構成要素に所定の所在情報が含まれていることをＳＩＰメッセージを受け取る条件としている仮想ホストを識別するための仮想ホスト識別情報と、その受け取り条件の内容となる所定の所在情報とを対応付けたレコードを、記憶装置内のテーブルに記憶する記憶手順，
ネットワーク上のＳＩＰサーバからＳＩＰメッセージを受信する受信手順，
前記各構成要素について、所定の順に、その構成要素での受け取り条件が前記受信手順で受信したＳＩＰメッセージにおける対応する構成要素内の所在情報と一致するレコードを前記テーブルから検索する処理を、行う検索手順，及び、
前記検索手順において前記各構成要素について順に前記検索処理を行うことにより、何れかの検索処理でレコードが検出されると、その検出されたレコードに含まれる仮想ホスト識別情報により示される仮想ホストに、前記受信手順で受信したＳＩＰメッセージを引き渡す引渡手順
を実行する
ことを特徴とするＳＩＰメッセージ引渡方法。
【００６７】
（付記１７）
前記受信手順は、前記何れかの仮想ホストからもＳＩＰメッセージを受信するものである
ことを特徴とする付記１６記載のＳＩＰメッセージ引渡方法。
【００６８】
（付記１８）
前記引渡手順は、前記検索手順において前記各構成要素について順に前記検索処理を行うことにより、何れの検索所においてもレコードが検出されなかった場合には、前記受信手順で受信したＳＩＰメッセージの受け取り先が無い旨を示す情報を、送信元のＳＩＰサーバに引き渡す
ことを特徴とする付記１６又は１７記載のＳＩＰメッセージ引渡方法。
【００６９】
（付記１９）
前記記憶手順は、ＳＩＰメッセージの各構成要素のうち、スタートライン，中継装置の所在を特定する所在情報が格納されるフィールド，発信元の所在を特定する所在情報が格納されるフィールド，及び、着信先の所在を特定する所在情報が格納されるフィールドの各構成要素について、仮想ホスト識別情報と受け取り条件とを対応付けたレコードを、記憶装置内のテーブルに記憶する
ことを特徴とする付記１６，１７又は１８記載のＳＩＰメッセージ引渡方法。
【００７０】
（付記２０）
前記検索手順は、中継装置の所在を特定する所在情報が格納されるフィールド，スタートライン，着信先の所在を特定する所在情報が格納されるフィールド，及び、送信元の所在を特定する所在情報が格納されるフィールドの順に、前記検索処理を行う
ことを特徴とする付記１９記載のＳＩＰメッセージ引渡方法。
【図面の簡単な説明】
【００７１】
【図１】本実施形態のホスト装置の構成図
【図２】判別テーブルのデータ構造の一例を示す図
【図３】ホスト判別処理の流れを示す図
【図４】ＳＩＰメッセージの一例を示す図
【符号の説明】
【００７２】
１０        ホスト装置
１０ａ      ストレージ
１０ｂ      ＣＰＵ
１０ｃ      ＤＲＡＭ
１０ｄ      通信アダプタ
１１〜１５  ＳＩＰサーバ（仮想ホスト）
１６        インターフェースエンジン
１７        ホスト判別モジュール
１８        判別テーブル
【図１】
2008033558.tif 000003
【図２】
2008033558.tif 000004
【図３】
2008033558.tif 000005
【図４】
2008033558.tif 000006