(57)【要約】【課題】リフレッシュ用のメッセージが多発しても、サーバの過負荷状態を低減することができる。【解決手段】中央演算処理装置１ａは、セッションを確立するために端末２ａ〜２ｄから送信される最初のメッセージを受信する。中央演算処理装置１ａは、端末２ａ〜２ｄから最初のメッセージを受信すると、最初のメッセージを受信した以降に行う端末２ａ〜２ｄとのメッセージの送受信を、自分を含む他中央演算処理装置１ｂ，１ｃ，…に割り当てる。中央演算処理装置１ａは、端末２ａ〜２ｄとのメッセージの送受信を、例えば、ラウンドロビンによって、自分および他中央演算処理装置１ｂ，１ｃ，…に割り当てる。【選択図】図１
2007219680.tif 000002
【特許請求の範囲】
【請求項１】
端末間のセッションを確立および維持するサーバにおいて、
前記セッションを確立するために端末から送信される最初の初メッセージを受信し、前記初メッセージを受信した以降に行う前記端末と通信相手の端末とのメッセージの送受信を、自分を含む複数の他中央演算処理装置に割り当てる中央演算処理装置、
を有することを特徴とするサーバ。
【請求項２】
前記中央演算処理装置は、ラウンドロビンによって前記メッセージの送受信を割り当てることを特徴とする請求項１記載のサーバ。
【請求項３】
前記中央演算処理装置は、前記メッセージの単位時間あたりの受信量に基づいて前記メッセージの送受信を割り当てることを特徴とする請求項１記載のサーバ。
【請求項４】
前記中央演算処理装置は、自己の使用率に基づいて前記メッセージの送受信を割り当てることを特徴とする請求項１記載のサーバ。
【請求項５】
前記中央演算処理装置および前記複数の他中央演算処理装置には、１つのポート番号が割り当てられ、前記中央演算処理装置は、前記ポート番号によって、前記メッセージの送受信が前記中央演算処理装置および前記複数の他中央演算処理装置に割り当てられるようにすることを特徴とする請求項１記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサーバに関し、特に端末間のセッションを確立および維持するサーバに関する。
【背景技術】
【０００２】
ＳＩＰ（Session Initiation Protocol）を用いたＩＰ（Internet Protocol）ネットワークにおいて、発端末と着端末は、通信を行うためにＳＩＰサーバを介してセッションを確立する。発端末と着端末は、セッションを確立した後、ＲＦＣ４０２８で規定されるセッションタイマ機能を使用して、セッションの生存確認を行う。
【０００３】
図２６は、セッションの生存確認を説明するシーケンス図である。図には、発端末（User Agent Client：以下ＵＡＣ）とＳＩＰサーバと着端末（User Agent Server：以下ＵＡＳ）のシーケンスが示してある。
【０００４】
ＳＩＰのメッセージには、Session-Expiresヘッダが存在する。ＵＡＣとＵＡＳは、呼設定時に、ＩＮＶＩＴＥメッセージのSession-Expiresヘッダを用いて、セッションの生存時間（以下、セッションタイマ）をネゴシエートする。ＵＡＣとＵＡＳは、通信中となった以降、一方がセッションタイマ値の半分の時間周期でＩＮＶＩＴＥメッセージを送信し、相手からレスポンスを受け取って、セッションの正常性を確認する。
【０００５】
なお、セッションタイマ値の半分の時間周期で、ＩＮＶＩＴＥメッセージを送信するために用いるタイマをリフレッシュタイマと呼ぶ。セッションの正常を確認した端末は、セッションタイマを更新し、以降同様の動作を繰り返す。
【０００６】
以下、図の各ステップについて説明する。
［ステップＳ１０１］ＵＡＣは、ＵＡＳと通信を開始するために、ＩＮＶＩＴＥメッセージをＳＩＰサーバ（以下、サーバ）に送信する。ＵＡＣは、ＵＡＳとセッションタイマのネゴシエートを行うため、この最初のＩＮＶＩＴＥメッセージのSession-Expiresヘッダに、例えば、１８００秒のセッションタイマ値を含めて送信する。
【０００７】
［ステップＳ１０２］サーバは、ＵＡＣから受信したＩＮＶＩＴＥメッセージをＵＡＳに送信する。
［ステップＳ１０３］ＵＡＳは、サーバからＩＮＶＩＴＥメッセージを受信すると、２００ＯＫメッセージをサーバに送信する。なお、ＵＡＳは、２００ＯＫメッセージのSession-Expiresヘッダに、１８００秒のセッションタイマ値を含めて送信する。また、ＵＡＳは、２００ＯＫメッセージの初めての送信を契機に、１８００秒から１０秒を減算した１７９０秒をセッションタイマに設定する。
【０００８】
［ステップＳ１０４］サーバは、ＵＡＳから受信した２００ＯＫメッセージをＵＡＣに送信する。
ＵＡＣは、２００ＯＫメッセージの初めての受信を契機に、１８００秒から１０秒を減算した１７９０秒をセッションタイマに設定する。また、ＵＡＣは、１８００秒の半分である９００秒をリフレッシュタイマに設定する。
【０００９】
［ステップＳ１０５］ＵＡＣは、２００ＯＫメッセージの応答として、ＡＣＫメッセージをサーバに送信する。なお、ＵＡＣは、ＵＡＳから２００ＯＫメッセージを受信したことにより、セッションタイマのネゴシエートが完了したことを認識する。
【００１０】
［ステップＳ１０６］サーバは、ＵＡＣからのＡＣＫメッセージをＵＡＳに送信する。
［ステップＳ１０７］ＵＡＣとＵＡＳは、ＳＩＰセッションが確立し、以降通信中となる。
【００１１】
［ステップＳ１０８］ＵＡＣは、リフレッシュタイマの９００秒が満了すると、リフレッシュ用の（セッションタイマ、リフレッシュタイマを更新するための）ＩＮＶＩＴＥメッセージをサーバに送信する。
【００１２】
［ステップＳ１０９］サーバは、ＵＡＣから受信したＩＮＶＩＴＥメッセージをＵＡＳに送信する。
［ステップＳ１１０］ＵＡＳは、サーバからＩＮＶＩＴＥメッセージを受信すると、２００ＯＫメッセージをサーバに送信する。なお、ＵＡＳは、サーバからのＩＮＶＩＴＥメッセージの受信を契機に、セッションタイマを更新する。ＵＡＳは、サーバから１７９０秒以内に、リフレッシュ用のＩＮＶＩＴＥメッセージを受信しなかった場合にはセッションを中断する。
【００１３】
［ステップＳ１１１］サーバは、ＵＡＳから受信した２００ＯＫメッセージをＵＡＣに送信する。
ＵＡＣは、２００ＯＫメッセージの受信を契機に、セッションタイマとリフレッシュタイマを更新する。なお、ＵＡＣは、サーバから１７９０秒以内に、２００ＯＫメッセージを受信しなかった場合にはセッションを中断する。
【００１４】
［ステップＳ１１２］ＵＡＣは、２００ＯＫメッセージの返答として、ＡＣＫメッセージをサーバに送信する。
［ステップＳ１１３］サーバは、ＵＡＣからのＡＣＫメッセージをＵＡＳに送信する。以降、上記と同様のリフレッシュ動作を繰り返す。
【００１５】
なお、セッションタイマは、ＲＦＣ４０２８により、１８００秒が推奨値とされ、最低でも９０秒以上となるように規定されている。
ところで、例えば、電話セッション等において、セッションタイマを１８０秒に設定すると、セッションの生存確認は、１７０秒で行われる。従って、通話の課金単位時間が１８０秒であるとすると、ネットワーク障害などの何らかの要因により通話が中断されても、セッションの生存確認が１７０秒で失敗し、課金単位時間内にセッションを開放して、誤課金を防ぐことができる。
【００１６】
なお、従来、ポート番号に対応してプロトコル種別を予め決めた通信端末が提供されている（例えば、特許文献１参照）。
【特許文献１】特開２００４−３６３９９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかし、セッションタイマを短く設定すると、リフレッシュ用のメッセージが多発することになり、サーバに過剰トラフィックが発生して、過負荷状態になるという問題点があった。
【００１８】
また、特許文献１は、プロトコルごとに受信ポートが異なるようにしているが、１つのプロトコルのトラフィックが過剰になると、そのプロトコルに対応するポートも過負荷状態となってしまうという問題点があった。
【００１９】
本発明はこのような点に鑑みてなされたものであり、端末と行うメッセージの送受信を複数の中央演算処理装置に分散させることにより、メッセージが多発しても過負荷状態を低減することができるサーバを提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明では上記問題を解決するために、図１に示すような端末２ａ〜２ｄ間のセッションを確立および維持するサーバ１において、セッションを確立するために端末２ａ〜２ｄから送信される最初の初メッセージを受信し、初メッセージを受信した以降に行う端末２ａ〜２ｄと通信相手の端末２ａ〜２ｄとのメッセージの送受信を、自分を含む複数の他中央演算処理装置１ｂ，１ｃ，…に割り当てる中央演算処理装置１ａ、を有することを特徴とするサーバ１が提供される。
【００２１】
このようなサーバ１によれば、中央演算処理装置１ａは、セッションを確立するために端末２ａ〜２ｄから送信される最初の初メッセージを受信し、初メッセージを受信した以降に行う端末２ａ〜２ｄと通信相手の端末２ａ〜２ｄとのメッセージの送受信を、自分を含む複数の他中央演算処理装置１ｂ，１ｃ，…に割り当てる。これにより、端末２ａ〜２ｄ間でやり取りされるメッセージの送受信が中央演算処理装置１ａおよび他中央演算処理装置１ｂ，１ｃ…に分散される。
【発明の効果】
【００２２】
本発明のサーバでは、中央演算処理装置は、セッションを確立するために端末から送信される最初の初メッセージを受信し、初メッセージを受信した以降に行う端末と通信相手の端末とのメッセージの送受信を、自分を含む複数の他中央演算処理装置に割り当てるようにした。これによって、端末間でやり取りされるメッセージの送受信が中央演算処理装置および他中央演算処理装置に分散されるので、メッセージが多発しても過負荷状態を低減することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、サーバの概要を示した図である。サーバ１は、ネットワーク３を介して、端末２ａ〜２ｄと接続されている。サーバ１は、中央演算処理装置１ａおよび複数の他中央演算処理装置１ｂ，１ｃ，…を有している。サーバ１は、端末２ａ〜２ｄ間のセッションの確立および維持を行う。
【００２４】
中央演算処理装置１ａは、セッションを確立するために端末２ａ〜２ｄから送信される最初のメッセージを受信する。中央演算処理装置１ａは、端末２ａ〜２ｄから最初のメッセージを受信すると、最初のメッセージを受信した以降に行う端末２ａ〜２ｄとその通信相手の端末２ａ〜２ｄとのメッセージの送受信を、自分を含む他中央演算処理装置１ｂ，１ｃ，…に割り当てる。
【００２５】
例えば、端末２ａは、端末２ｂとセッションを確立するために、メッセージ（最初のメッセージ）を中央演算処理装置１ａに送信したとする。中央演算処理装置１ａは、端末２ａから最初のメッセージを受信すると、最初のメッセージを受信した以降に行う端末２ａ，２ｂとのメッセージの送受信を、中央演算処理装置１ａに割り当てる。
【００２６】
次いで、端末２ｃが、端末２ｄとセッションを確立するために、メッセージ（最初のメッセージ）を中央演算処理装置１ａに送信したとする。中央演算処理装置１ａは、端末２ｃから最初のメッセージを受信すると、最初のメッセージを受信した以降に行う端末２ｃ，２ｄとのメッセージの送受信を、他中央演算処理装置１ｂに割り当てる。
【００２７】
中央演算処理装置１ａが行うメッセージの送受信の割り当ては、例えば、ラウンドロビンによって行う。従って、中央演算処理装置１ａは、上述のように、端末２ａ，２ｂ間のメッセージの送受信を自分に割り当てると、次の端末２ｃ，２ｄ間のメッセージの送受信を、他中央演算処理装置１ｂに割り当てる。以降、順に他中央演算処理装置１ｃ，…に割り当て、全ての他中央演算処理装置１ｃ，…にメッセージの送受信を割り当てると、再び、中央演算処理装置１ａに割り当てる。
【００２８】
このように、中央演算処理装置１ａは、セッションを確立するために端末２ａ〜２ｄから送信される最初のメッセージを受信し、最初のメッセージを受信した以降に行う端末２ａ〜２ｄと通信相手の端末２ａ〜２ｄとのメッセージの送受信を、自分を含む複数の他中央演算処理装置１ｂ，１ｃ，…に割り当てるようにした。これによって、端末２ａ〜２ｄ間でやり取りされるメッセージの送受信が中央演算処理装置１ａおよび他中央演算処理装置１ｂ，１ｃ，…に分散されるので、メッセージが多発してもサーバ１の過負荷状態を低減することができる。
【００２９】
次に、本発明のサーバをＳＩＰサーバに適用した場合の第１の実施の形態を、図面を参照して詳細に説明する。
図２は、第１の実施の形態に係るＳＩＰサーバのシステム構成例を示した図である。図に示すようにＩＰネットワーク３０は、ＳＩＰサーバ１０およびルータ２１〜２３を有している。ＩＰネットワーク３０には、端末４１〜４４が接続されている。端末４１〜４４は、ＳＩＰサーバ１０を介してセッションを確立し、通信を行う。
【００３０】
端末４１〜４４は、セッションタイマを短く設定すると、リフレッシュ用のメッセージ（ＩＮＶＩＴＥ／２００ＯＫ／ＡＣＫのメッセージ）を多発する。そのため、ＳＩＰサーバ１０では、過剰トラフィックが発生し、過負荷状態になる場合がある。
【００３１】
例えば、端末４１〜４４がセッションタイマを１８０秒に設定したとする。これは、ＳＩＰの推奨値である１８００秒の１０分の１の値であり、リフレッシュ用のメッセージが多発する。そのため、ＳＩＰサーバ１０では、過剰トラフィックが発生し、過負荷状態になる場合がある。
【００３２】
そこで、ＳＩＰサーバ１０は、ＵＤＰ（User Datagram Protocol）のポートを複数オープンし、ポートごとにＣＰＵ（Central Processing Unit）を割り当てる。これによって、多発したメッセージは、各ＣＰＵに分散されるため、ＳＩＰサーバ１０は、過剰トラフィックを低減し、過負荷状態を低減することができる。ここで、ＳＩＰサーバ１０のポートについて説明する。
【００３３】
図３は、ＳＩＰサーバのポートを説明する図である。図に示すようにＳＩＰサーバ１０は、２つのＵＤＰのポートＰ１，Ｐ２をオープンしている。ポートＰ１のポート番号は、例えば、５０６０（ＳＩＰのwellknownポートは５０６０）であり、ポートＰ２のポート番号は、５０６２である。
【００３４】
ＳＩＰサーバ１０は、例えば、端末４１，４３の呼処理をポートＰ１で行うようにし、端末４２，４４の呼処理をポートＰ２で行うようにする。そして、ＳＩＰサーバ１０は、各ポートＰ１，Ｐ２に割り当てられたＣＰＵにおいて、メッセージの処理を行う。
【００３５】
ところで、１ポートでの受信可能な信号量（１信号サイズ×信号数）は、ＯＳ（Operating System）で確保される受信用メモリエリアにより制限される。例えば、Solarisの場合、受信用メモリエリアは６４ｋバイトと制限される。
【００３６】
従来のＳＩＰサーバは、ＳＩＰのwellknownポートである５０６０番の１ポートでメッセージの送受信を行っていた。そのため、ＯＳ上で呼処理などを実行するアプリケーションの、受信用メモリエリアからの信号の取り出し処理を超える信号が前述のポートに集中すると、受信用メモリエリアの容量を超える信号は、ＯＳにて破棄されてしまう。
【００３７】
これに対し、ＳＩＰサーバ１０は、ポートを複数オープンし、ポートごとにＣＰＵを割り当てる。従って、ＳＩＰサーバ１０は、リフレッシュ用のメッセージが多発しても、過剰トラフィックを低減し、過負荷状態を低減することができる。
【００３８】
なお、１つのＣＰＵに複数のポートをオープンしても、ＣＰＵの輻輳によってＳＩＰサーバ１０の過負荷状態は、低減することはできない。
次に、ＣＰＵのポートの割り当てについて説明する。
【００３９】
図４は、ＣＰＵのポートの割り当てを説明する図である。図に示すようにＳＩＰサーバ１０は、ＣＰＵ１０ａ，１０ｂを有している。図４には、端末４１〜４４も示してある。ＣＰＵ１０ａには、呼制御プロセスＡが割り当てられ、ＣＰＵ１０ｂには、呼制御プロセスＢが割り当てられている。呼制御プロセスＡ，Ｂは、セッションの確立や維持のためのＳＩＰに基づいた呼処理を行う
呼制御プロセスＡ，Ｂは、それぞれポートのソケットをオープンする。例えば、呼制御プロセスＡは、ポートＰ１（ポート番号５０６０）のソケットをオープンし、呼制御プロセスＢは、ポートＰ２（ポート番号５０６２）のソケットをオープンする。これによって、ＣＰＵ１０ａは１つのポートＰ１を有し、ＣＰＵ１０ｂは１つのポートＰ２を有することになる。
【００４０】
端末４１〜４４は、デフォルトで最初の呼をＳＩＰサーバ１０のポートＰ１に対して行うようになっている。すなわち、端末４１〜４４は、セッションを確立するために、呼設定メッセージ（最初のメッセージ、例えば、最初のＩＮＶＩＴＥメッセージ）をデフォルトでポートＰ１に送信するようになっている。
【００４１】
呼制御プロセスＡは、端末４１〜４４から呼設定メッセージを受信すると、呼設定メッセージを発した端末４１〜４４と、その通信相手となる端末４１〜４４との以降のメッセージのやり取りを、ラウンドロビンによってポートＰ１，Ｐ２に割り当てる。
【００４２】
例えば、端末４１から端末４３に対して呼が行われたとする。この場合、呼制御プロセスＡは、端末４１，４３との以降のメッセージのやり取りが、ポートＰ１で行われるように制御する。
【００４３】
次いで、端末４２から端末４４に対して呼が行われたとする。この場合、呼制御プロセスＡは、端末４２，４４との以降のメッセージのやり取りが、ポートＰ２で行われるように制御する。
【００４４】
さらに、図示しないある端末からある端末に対して呼が行われたとする。この場合、呼制御プロセスＡは、これらの端末との以降のメッセージのやり取りが、ポートＰ１で行われるように制御する。以降同様にして、呼制御プロセスＡは、端末４１〜４４のメッセージのやり取りが、ポートＰ１，Ｐ２に交互に割り当てられるようにする。
【００４５】
このように、端末４１〜４４間で行われるメッセージのやり取りを、交互にポートＰ１，Ｐ２に割り当てることによって、呼制御プロセスＡ，Ｂには、均等に呼処理が割り当てられる。よって、ＣＰＵ１０ａ，１０ｂは、過負荷状態を低減することができる。
【００４６】
なお、呼制御プロセスＢがポートＰ１，Ｐ２の割り当て制御を行うようにしてもよい。この場合、端末４１〜４４は、デフォルトで呼設定メッセージをポートＰ２に送信する必要がある。
【００４７】
また、図では、２つのＣＰＵによる分散構成を示しているが、ＣＰＵの数を２以上とすることもできる。
次に、ＳＩＰサーバ１０の機能について説明する。
【００４８】
図５は、ＳＩＰサーバの機能ブロック図である。図に示すようにＳＩＰサーバ１０は、呼処理系Ａと呼処理系Ｂの機能に分かれる。呼処理系Ａの機能は、図４で示したＣＰＵ１０ａによって実現され、呼処理系Ｂの機能は、ＣＰＵ１０ｂによって実現される。図５には、図２で示したＩＰネットワーク３０も示してある。
【００４９】
呼処理系Ａは、ＵＤＰ通信制御部１１ａ、メッセージ分散制御部１２ａ、呼制御部１３ａ、ヘッダ制御部１４ａ、割り当て制御部１５ａを有している。呼処理系Ｂは、ＵＤＰ通信制御部１１ｂ、メッセージ分散制御部１２ｂ、呼制御部１３ｂ、およびヘッダ制御部１４ｂを有している。
【００５０】
ＵＤＰ通信制御部１１ａ，１１ｂは、ポートＰ１，Ｐ２の管理およびＵＤＰ信号の送受信を制御する。
メッセージ分散制御部１２ａ，１２ｂは、受信されるＵＤＰ信号を分析し、自身が受信すべきＵＤＰ信号であるか判断する。メッセージ分散制御部１２ａ，１２ｂは、ＵＤＰ信号が受信すべきものである場合、呼制御部１３ａ，１３ｂに出力する。
【００５１】
呼制御部１３ａ，１３ｂは、ＳＩＰに基づいた呼処理を行う。また、呼制御部１３ａは、端末４１〜４４から呼設定メッセージを受信すると、呼設定メッセージを発した端末４１〜４４と、その通信相手となる端末４１〜４４との以降のメッセージのやり取りが、割り当て制御部１５ａの割り当て結果に基づいて、ポートＰ１，Ｐ２に割り当てられるよう、ヘッダ制御部１４ａに指示を出す。
【００５２】
ヘッダ制御部１４ａ，１４ｂは、呼制御部１３ａ，１３ｂからのヘッダ生成および編集指示により、ＳＩＰに対応したヘッダ制御を行う。
割り当て制御部１５ａは、端末４１〜４４から呼設定メッセージを受信すると、呼設定メッセージを発した端末４１〜４４と、その通信相手となる端末４１〜４４との以降のメッセージのやり取りを、ラウンドロビンによってポートＰ１，Ｐ２に割り当てる。
【００５３】
次に、端末４１〜４４のセッション確立の動作およびセッションの生存確認の動作について説明する。まず、端末４１〜４４のセッション確立の動作について説明する。
図６は、端末のセッション確立の動作を示したシーケンス図である。図において、１００Ｔｙｒｉｎｇメッセージおよび１８０Ｒｉｎｇｉｎｇメッセージに関しては、本機能と直接関係しないため省略している。
【００５４】
［ステップＳ１］端末４１は、端末４３と通信を開始するため、ＩＮＶＩＴＥメッセージをＳＩＰサーバ１０に送信する。なお、初めてＳＩＰサーバ１０に送信するＩＮＶＩＴＥメッセージ（呼設定メッセージ）をイニシャルＩＮＶＩＴＥメッセージと呼ぶ。
【００５５】
［ステップＳ２］ＳＩＰサーバ１０は、端末４１から送信されたイニシャルＩＮＶＩＴＥメッセージを、ポート番号５０６０のポートＰ１から受信する。イニシャルＩＮＶＩＴＥメッセージを受信するポートＰ１は、デフォルトで予め決まっている。
【００５６】
ＳＩＰサーバ１０は、以後、端末４１，４３と通信を行うポートとして、ポートＰ１を選択したとする。
［ステップＳ３］ＳＩＰサーバ１０は、端末４１から受信したイニシャルＩＮＶＩＴＥメッセージを端末４３に送信する。
【００５７】
［ステップＳ４］端末４３は、ＳＩＰサーバ１０からイニシャルＩＮＶＩＴＥメッセージを受信すると、このメッセージに対する２００ＯＫメッセージをＳＩＰサーバ１０に送信する。このとき、端末４３は、ＳＩＰサーバ１０のポートＰ１に２００ＯＫメッセージを送信する。
【００５８】
［ステップＳ５］ＳＩＰサーバ１０は、ポートＰ１から受信した２００ＯＫメッセージを端末４１に送信する。
［ステップＳ６］端末４１は、ＳＩＰサーバ１０を介して端末４３から２００ＯＫメッセージを受信すると、ＡＣＫメッセージをＳＩＰサーバ１０のポートＰ１に対して送信する。
【００５９】
［ステップＳ７］ＳＩＰサーバ１０は、ポートＰ１で受信したＡＣＫメッセージを端末４３に送信する。
［ステップＳ８］端末４１，４３は、セッションが確立し、以降通信を開始する。
【００６０】
［ステップＳ９］端末４２は、端末４４と通信を開始するため、ＩＮＶＩＴＥメッセージをＳＩＰサーバ１０に送信する。なお、端末４２がＳＩＰサーバ１０に送信するこのＩＮＶＩＴＥメッセージは、初めてＳＩＰサーバ１０に送信するメッセージであるので、イニシャルＩＮＶＩＴＥメッセージである。
【００６１】
［ステップＳ１０］ＳＩＰサーバ１０は、端末４２から送信されたイニシャルＩＮＶＩＴＥメッセージを、ポート番号５０６２のポートＰ２から受信する。イニシャルＩＮＶＩＴＥメッセージを受信するポートＰ２は、デフォルトで予め決まっている。
【００６２】
ＳＩＰサーバ１０は、以後、端末４２，４４と通信を行うポートとして、ポート番号５０６２のポートＰ２を選択する。このポートＰ２の選択は、前述したようにラウンドロビンによって選択される。ポートＰ１は、ステップＳ２において端末４１，４３間の通信が割り当てられたので、端末４２，４４間の通信は、ポートＰ２が選択されることになる。
【００６３】
［ステップＳ１１］ＳＩＰサーバ１０は、端末４２から受信したイニシャルＩＮＶＩＴＥメッセージを端末４４に送信する。
［ステップＳ１２］端末４４は、ＳＩＰサーバ１０からイニシャルＩＮＶＩＴＥメッセージを受信すると、このメッセージに対する２００ＯＫメッセージをＳＩＰサーバ１０に送信する。このとき、端末４４は、ＳＩＰサーバ１０のポートＰ２に２００ＯＫメッセージを送信するようにする。
【００６４】
［ステップＳ１３］ＳＩＰサーバ１０は、ポートＰ２から受信した２００ＯＫメッセージを端末４２に送信する。
［ステップＳ１４］端末４２は、ＳＩＰサーバ１０を介して端末４４から２００ＯＫメッセージを受信すると、ＡＣＫメッセージをＳＩＰサーバ１０のポートＰ２に対して送信する。
【００６５】
［ステップＳ１５］ＳＩＰサーバ１０は、ポートＰ２で受信したＡＣＫメッセージを端末４４に送信する。
［ステップＳ１６］端末４２，４４は、セッションが確立し、以降通信を開始する。
【００６６】
以下、上記ステップでやり取りされるメッセージについて説明する。
まず、ステップＳ１，Ｓ９の端末４１，４２からＳＩＰサーバ１０に送信されるイニシャルＩＮＶＩＴＥメッセージについて説明する。
【００６７】
図７は、端末からＳＩＰサーバに送信されるイニシャルＩＮＶＩＴＥメッセージの例を示した図である。図の下線５１ａのViaヘッダには、経路情報が設定され、イニシャルＩＮＶＩＴＥメッセージの発信元である端末のアドレスと、端末で使用するポート番号（５０６０）が設定される。
【００６８】
例えば、図のイニシャルＩＮＶＩＴＥメッセージが、端末４１の送信するメッセージである場合、下線５１ａには、端末４１のアドレスＡが設定される。端末４２の送信するメッセージである場合、下線５１ａには、端末４２のアドレスＣが設定される。
【００６９】
また、イニシャルＩＮＶＩＴＥメッセージには、セッションタイマが設定される。図の例では、下線５１ｂに示すように、Session-Expiresヘッダにセッションタイマ値として１８０秒が設定されている。
【００７０】
次に、ステップＳ３，Ｓ１１のＳＩＰサーバ１０から端末４３，４４に送信されるイニシャルＩＮＶＩＴＥメッセージについて説明する。
図８は、ＳＩＰサーバから端末に送信されるイニシャルＩＮＶＩＴＥメッセージの例を示した図である。図の下線５２ａ，５２ｂに示すように、ViaヘッダとRecord-Routeヘッダには、ＳＩＰサーバ１０のＩＰアドレスと、ＳＩＰサーバ１０がラウンドロビンによって選択したポート番号とが設定される。
【００７１】
例えば、ステップＳ３で送信されるイニシャルＩＮＶＩＴＥメッセージの場合、ＳＩＰサーバ１０はステップＳ２においてポートＰ１を選択したので、下線５２ａ，５２ｂのＸＸＸＸ部分には、ポート番号５０６０が設定される。ステップＳ１１で送信されるイニシャルＩＮＶＩＴＥメッセージの場合、ＳＩＰサーバ１０はステップＳ１０でポートＰ２を選択したので、下線５２ａ，５２ｂのＸＸＸＸ部分には、ポート番号５０６２が設定される。
【００７２】
これにより、イニシャルＩＮＶＩＴＥメッセージを受信する端末４３，４４は、以後、ＳＩＰサーバ１０のどのポートにメッセージを送信すればよいかわかる。例えば、端末４３は、ＳＩＰサーバ１０のポート番号５０６０のポートＰ１にメッセージを送信すればよいことがわかる。端末４４は、ＳＩＰサーバ１０のポート番号５０６２のポートＰ２にメッセージを送信すればよいことがわかる。
【００７３】
また、端末４３，４４は、下線５２ｃのSession-Expiresヘッダより、セッションタイマを１８０秒に設定すればよいことがわかる。
次に、ステップＳ４，Ｓ１２の端末４３，４４からＳＩＰサーバ１０に送信される２００ＯＫメッセージについて説明する。
【００７４】
図９は、端末からＳＩＰサーバに送信される２００ＯＫメッセージの例を示した図である。図の下線５３ａ，５３ｂに示すViaヘッダと、下線５３ｃに示すRecord-Routeヘッダには、端末４３，４４が受信したイニシャルＩＮＶＩＴＥメッセージのViaヘッダとRecord-Routeヘッダがコピーされる。
【００７５】
例えば、図に示す２００ＯＫメッセージが、端末４３の送信するメッセージである場合、下線５３ａ，５３ｃには、ＳＩＰサーバ１０のアドレスとポート番号５０６０がコピーされ、下線５３ｂには、端末４１のアドレスＡとポート番号５０６０がコピーされる。
【００７６】
また、図に示す２００ＯＫメッセージが、端末４４の送信するメッセージである場合、下線５３ａ，５３ｃには、ＳＩＰサーバ１０のアドレスとポート番号５０６２がコピーされ、下線５３ｂには、端末４２のアドレスＣとポート番号５０６２がコピーされる。
【００７７】
これによって、端末４３から送信される２００ＯＫメッセージは、ＳＩＰサーバ１０のポートＰ１で受信され、端末４４から送信される２００ＯＫメッセージは、ＳＩＰサーバ１０のポートＰ２で受信される。
【００７８】
図の下線５３ｄのSession-Expiresヘッダには、セッションタイマ値として１８０秒が設定される。
次に、ステップＳ５，Ｓ１３のＳＩＰサーバ１０から端末４１，４２に送信される２００ＯＫメッセージについて説明する。
【００７９】
図１０は、ＳＩＰサーバから端末に送信される２００ＯＫメッセージの例を示した図である。ＳＩＰサーバ１０は、端末４３，４４から受信した２００ＯＫメッセージの先頭のViaヘッダを削除して、端末４１，４２に送信する。
【００８０】
例えば、ＳＩＰサーバ１０は、図９で示した下線５３ａが付されているViaヘッダを削除して、２００ＯＫメッセージを端末４１，４２に送信する。これによって、ＳＩＰサーバ１０から端末４１，４２に送信される２００ＯＫメッセージには、図１０の下線５４ａに示すように、２００ＯＫメッセージの送信先である端末４１または端末４２のアドレスＡ，Ｃとポート番号とを示すViaヘッダのみが残る。
【００８１】
また、Record-Routeヘッダには、下線５４ｂに示すように、ＳＩＰサーバ１０のアドレスと使用しているポート番号が設定される。例えば、ＳＩＰサーバ１０が端末４３の２００ＯＫメッセージを受信して送信する場合には、下線５４ｂのＸＸＸＸ部分には、５０６０が設定される。ＳＩＰサーバ１０が端末４４の２００ＯＫメッセージを受信して送信する場合には、下線５４ｂのＸＸＸＸ部分には、ポート番号５０６２が設定される。
【００８２】
これにより、ＳＩＰサーバ１０から２００ＯＫメッセージを受信した端末４１，４２は、以後、ＳＩＰサーバ１０のどのポートＰ１，Ｐ２にメッセージを送信すればよいかわかる。例えば、端末４１は、受信した２００ＯＫメッセージのRecord-Routeヘッダより、ＳＩＰサーバ１０のポートＰ１にメッセージを送信すればよいことがわかる。端末４２は、受信した２００ＯＫメッセージのRecord-Routeヘッダより、ＳＩＰサーバ１０のポートＰ２にメッセージを送信すればよいことがわかる。
【００８３】
なお、端末４１，４２は、ＳＩＰサーバ１０を介して端末４３，４４から２００ＯＫメッセージを受信することにより、セッションタイマのネゴシエートが完了したことを認識し、端末４３，４４に対し、ＡＣＫメッセージを送信する。
【００８４】
次に、ステップＳ６，Ｓ１４の端末４１，４２からＳＩＰサーバ１０に送信されるＡＣＫメッセージについて説明する。
図１１は、端末からＳＩＰサーバに送信されるＡＣＫメッセージの例を示した図である。図の下線５５に示すRouteヘッダには、ＳＩＰサーバ１０から受信した２００ＯＫメッセージのRecord-Routeヘッダと同じ内容が設定される。すなわち、図１０の下線５４ｂで示したRecord-Routeヘッダの内容が設定される。
【００８５】
例えば、端末４１がＳＩＰサーバ１０にＡＣＫメッセージを送信する場合、下線５５のRouteヘッダのＸＸＸＸ部分には、ポート番号５０６０が設定される。端末４２がＳＩＰサーバ１０にＡＣＫメッセージを送信する場合、下線５５のRouteヘッダのＸＸＸＸ部分には、ポート番号５０６２が設定される。
【００８６】
これによって、端末４１，４２が送信するＡＣＫメッセージは、下線５５で示されるＳＩＰサーバ１０のポート番号で受信されることになる。
次に、ステップＳ７，Ｓ１５のＳＩＰサーバ１０から端末４３，４４に送信されるＡＣＫメッセージについて説明する。
【００８７】
図１２は、ＳＩＰサーバから端末に送信されるＡＣＫメッセージの例を示した図である。図の下線５６に示すViaヘッダには、ＡＣＫメッセージを送信するＳＩＰサーバ１０のアドレスとそのポート番号が設定される。
【００８８】
例えば、図に示すＡＣＫメッセージが、端末４１からのＡＣＫメッセージを転送するものである場合、下線５６のＸＸＸＸ部分には、ポート番号５０６０が設定される。図に示すＡＣＫメッセージが、端末４２からのＡＣＫメッセージを転送するものである場合、下線５６のＸＸＸＸ部分には、ポート番号５０６２が設定される。
【００８９】
端末４３，４４がＡＣＫメッセージを受信した時点で、端末４１，４３間、端末４２，４４間は通信中となる。
このようにして、ＳＩＰサーバ１０と端末４１〜４４のセッションが確立されるとともに、ＳＩＰサーバ１０のポートＰ１，Ｐ２に端末４１〜４４のメッセージの送受信が割り当てられる。
【００９０】
なお、端末４３，４４は、ステップＳ４，Ｓ１２の初めての２００ＯＫメッセージの送信を契機に、１８０秒から１０秒を減算した１７０秒をセッションタイマに設定する。そして、端末４３，４４は、次に説明する通信中のセッションの生存確認において、リフレッシュ用のリフレッシュＩＮＶＩＴＥメッセージを端末４１，４２から受信することによって、セッションタイマを更新する。
【００９１】
また、端末４１，４２は、ステップＳ５，Ｓ１３の初めての２００ＯＫメッセージの受信を契機に、１８０秒から１０秒を減算した１７０秒をセッションタイマに設定する。また、端末４１，４２は、１８０秒の半分である９０秒をリフレッシュタイマに設定する。端末４１，４２は、次に説明する通信中のセッションの生存確認において、リフレッシュタイマの満了により、端末４３，４４にリフレッシュＩＮＶＩＴＥメッセージを送信する。そして、セッションタイマが満了する前に（１７０秒が経過する前に）、端末４３，４４からリフレッシュＩＮＶＩＴＥメッセージに対する２００ＯＫメッセージを受信することにより、セッションタイマとリフレッシュタイマとを更新する。
【００９２】
次に、端末４１〜４４のセッションの生存確認の動作について説明する。
図１３は、端末のセッションの生存確認の動作を示したシーケンス図である。図において、１００Ｔｙｒｉｎｇメッセージ、１８０Ｒｉｎｇｉｎｇメッセージに関しては、本機能と直接関係しないため省略している。
【００９３】
［ステップＳ２１］端末４１，４３は、通信中であるとする。
［ステップＳ２２］端末４１は、通信中において、９０秒が設定されたリフレッシュタイマが満了すると、リフレッシュＩＮＶＩＴＥメッセージをＳＩＰサーバ１０に送信する。なお、端末４１は、ＳＩＰサーバ１０のポートＰ１に対し、リフレッシュＩＮＶＩＴＥメッセージを送信する。
【００９４】
［ステップＳ２３］ＳＩＰサーバ１０は、端末４１から受信したリフレッシュＩＮＶＩＴＥメッセージを端末４３に送信する。
［ステップＳ２４］端末４３は、ＳＩＰサーバ１０を介して端末４１からリフレッシュＩＮＶＩＴＥメッセージを受信すると、２００ＯＫメッセージをＳＩＰサーバ１０のポートＰ１に対し送信する。
【００９５】
なお、端末４３は、端末４１のリフレッシュＩＮＶＩＴＥメッセージに対する２００ＯＫメッセージの送信を契機に、セッションタイマ（１７０秒）を更新する。端末４３は、セッションタイマが満了するまでに、端末４１からリフレッシュＩＮＶＩＴＥメッセージを受信しなければ、セッションを中断するようにする。
【００９６】
［ステップＳ２５］ＳＩＰサーバ１０は、端末４３から受信した２００ＯＫメッセージを端末４１に送信する。
［ステップＳ２６］端末４１は、２００ＯＫメッセージを受信すると、ＡＣＫメッセージをＳＩＰサーバ１０のポートＰ１に対し送信する。
【００９７】
なお、端末４１は、端末４３からの２００ＯＫメッセージの受信を契機に、セッションタイマ（１７０秒）とリフレッシュタイマ（９０秒）とを更新する。端末４１は、セッションタイマが満了するまでに、端末４３から２００ＯＫメッセージを受信しなければ、セッションを中断するようにする。
【００９８】
［ステップＳ２７］ＳＩＰサーバ１０は、端末４１から受信したＡＣＫメッセージを端末４３に送信する。
以降同様にして、端末４１は、リフレッシュタイマ（９０秒）が満了すると、リフレッシュＩＮＶＩＴＥメッセージを端末４３に対し送信し、端末４３は、セッションタイマを更新する。端末４１は、端末４３からの２００ＯＫメッセージの受信を契機に、セッションタイマとリフレッシュタイマとを更新する。
【００９９】
［ステップＳ２８］端末４２，４４は、通信中であるとする。
［ステップＳ２９］端末４２は、通信中において、９０秒が設定されたリフレッシュタイマが満了すると、リフレッシュＩＮＶＩＴＥメッセージをＳＩＰサーバ１０に送信する。なお、端末４２は、ＳＩＰサーバ１０のポートＰ２に対し、リフレッシュＩＮＶＩＴＥメッセージを送信する。
【０１００】
［ステップＳ３０］ＳＩＰサーバ１０は、端末４２から受信したリフレッシュＩＮＶＩＴＥメッセージを端末４４に送信する。
［ステップＳ３１］端末４４は、ＳＩＰサーバ１０を介して端末４２からリフレッシュＩＮＶＩＴＥメッセージを受信すると、２００ＯＫメッセージをＳＩＰサーバ１０のポートＰ２に対し送信する。
【０１０１】
なお、端末４４は、端末４２のリフレッシュＩＮＶＩＴＥメッセージに対する２００ＯＫメッセージの送信を契機に、セッションタイマ（１７０秒）を更新する。端末４４は、セッションタイマが満了するまでに、端末４２からリフレッシュＩＮＶＩＴＥメッセージを受信しなければ、セッションを中断するようにする。
【０１０２】
［ステップＳ３２］ＳＩＰサーバ１０は、端末４４から受信した２００ＯＫメッセージを端末４２に送信する。
［ステップＳ３３］端末４２は、２００ＯＫメッセージを受信すると、ＡＣＫメッセージをＳＩＰサーバ１０のポートＰ２に対し送信する。
【０１０３】
なお、端末４２は、端末４４からの２００ＯＫメッセージの受信を契機に、セッションタイマ（１７０秒）とリフレッシュタイマ（９０秒）とを更新する。端末４２は、セッションタイマが満了するまでに、端末４４から２００ＯＫメッセージを受信しなければ、セッションを中断するようにする。
【０１０４】
［ステップＳ３４］ＳＩＰサーバ１０は、端末４２から受信したＡＣＫメッセージを端末４４に送信する。
以降同様にして、端末４２は、リフレッシュタイマ（９０秒）が満了すると、リフレッシュＩＮＶＩＴＥメッセージを端末４４に対し送信し、端末４４は、セッションタイマを更新する。端末４２は、端末４４からの２００ＯＫメッセージの受信を契機に、セッションタイマとリフレッシュタイマとを更新する。
【０１０５】
以下、上記ステップでやり取りされるメッセージについて説明する。
まず、ステップＳ２２，Ｓ２９の端末４１，４２からＳＩＰサーバ１０に送信されるリフレッシュＩＮＶＩＴＥメッセージについて説明する。
【０１０６】
図１４は、端末からＳＩＰサーバに送信されるリフレッシュＩＮＶＩＴＥメッセージの例を示した図である。図の下線６１ａのViaヘッダには、経路情報が設定され、リフレッシュＩＮＶＩＴＥメッセージの発信元である端末のアドレスと、端末で使用するポート番号（５０６０）が設定される。
【０１０７】
例えば、図のリフレッシュＩＮＶＩＴＥメッセージが、端末４１の送信するメッセージである場合、下線６１ａには、端末４１のアドレスＡが設定される。端末４２の送信するメッセージである場合、下線６１ａには、端末４２のアドレスＣが設定される。
【０１０８】
また、リフレッシュＩＮＶＩＴＥメッセージには、セッションタイマが設定される。図の例では、下線６１ｂに示すように、Session-Expiresヘッダにセッションタイマ値として１８０秒が設定されている。
【０１０９】
また、下線６１ｃに示すRouteヘッダには、図１１の下線５５のRouteヘッダと同じ内容が設定される。
従って、図のリフレッシュＩＮＶＩＴＥメッセージが、端末４１の送信するメッセージである場合、下線６１ｃのＸＸＸＸ部分には、ＳＩＰサーバ１０のポートＰ１のポート番号５０６０が設定される。端末４２の送信するメッセージである場合、下線６１ｃのＸＸＸＸ部分には、ＳＩＰサーバ１０のポートＰ２のポート番号５０６２が設定される。これによって、リフレッシュＩＮＶＩＴＥメッセージは、ＳＩＰサーバ１０の所定のポートＰ１，Ｐ２で受信される。
【０１１０】
次に、ステップＳ２３，Ｓ３０のＳＩＰサーバ１０から端末４３，４４に送信されるリフレッシュＩＮＶＩＴＥメッセージについて説明する。
図１５は、ＳＩＰサーバから端末に送信されるリフレッシュＩＮＶＩＴＥメッセージの例を示した図である。図の下線６２ａに示すViaヘッダには、ＳＩＰサーバ１０のＩＰアドレスと、端末４１，４２からのリフレッシュＩＮＶＩＴＥメッセージを受信したポート番号とが設定される。
【０１１１】
例えば、ＳＩＰサーバ１０が端末４１からリフレッシュＩＮＶＩＴＥメッセージを受信した場合、ＳＩＰサーバ１０は、このメッセージをポート番号５０６０で受信する。従って、この場合、下線６２ａのＸＸＸＸ部分には、ポート番号５０６０が設定される。また、ＳＩＰサーバ１０が端末４２からリフレッシュＩＮＶＩＴＥメッセージを受信した場合、ＳＩＰサーバ１０は、このメッセージをポート番号５０６２で受信する。従って、この場合、下線６２ａのＸＸＸＸ部分には、ポート番号５０６２が設定される。
【０１１２】
また、端末４３，４４は、下線６２ｂのSession-Expiresヘッダより、セッションタイマを１８０秒で更新すればよいことがわかる。
次に、ステップＳ２４，Ｓ３１の端末４３，４４からＳＩＰサーバ１０に送信される２００ＯＫメッセージについて説明する。
【０１１３】
図１６は、端末からＳＩＰサーバに送信される２００ＯＫメッセージの例を示した図である。図の下線６３ａ，６３ｂに示すViaヘッダには、端末４３，４４が受信したリフレッシュＩＮＶＩＴＥメッセージのViaヘッダがコピーされる。
【０１１４】
例えば、図に示す２００ＯＫメッセージが、端末４３の送信するメッセージである場合、下線６３ａには、ＳＩＰサーバ１０のアドレスとポート番号５０６０がコピーされ、下線６３ｂには、端末４１のアドレスＡとポート番号５０６０がコピーされる。図に示す２００ＯＫメッセージが、端末４４の送信するメッセージである場合、下線６３ａには、ＳＩＰサーバ１０のアドレスとポート番号５０６２がコピーされ、下線６３ｂには、端末４２のアドレスＣとポート番号５０６２がコピーされる。
【０１１５】
これによって、端末４３から送信される２００ＯＫメッセージは、ＳＩＰサーバ１０のポートＰ１で受信され、端末４４から送信される２００ＯＫメッセージは、ＳＩＰサーバ１０のポートＰ２で受信される。
【０１１６】
図の下線６３ｃのSession-Expiresヘッダには、セッションタイマ値として１８０秒が設定される。
次に、ステップＳ２５，Ｓ３２のＳＩＰサーバ１０から端末４１，４２に送信される２００ＯＫメッセージについて説明する。
【０１１７】
図１７は、ＳＩＰサーバから端末に送信される２００ＯＫメッセージの例を示した図である。ＳＩＰサーバ１０は、端末４３，４４から受信した２００ＯＫメッセージの先頭のViaヘッダを削除して、端末４１，４２に送信する。
【０１１８】
例えば、ＳＩＰサーバ１０は、図１６で示した下線６３ａが付されているViaヘッダを削除して、２００ＯＫメッセージを端末４１，４２に送信する。これによって、ＳＩＰサーバ１０から端末４１，４２に送信される２００ＯＫメッセージには、図１７の下線６４ａに示すように、２００ＯＫメッセージの送信先である端末４１または端末４２のアドレスＡ，Ｃとポート番号を示すViaヘッダのみが残る。
【０１１９】
これによって、ＳＩＰサーバ１０から送信される２００ＯＫメッセージは、端末４１または端末４２で受信される。
また、端末４１，４２は、２００ＯＫメッセージの受信を契機に、セッションタイマおよびリフレッシュタイマを更新する。例えば、下線６４ｂに示すSession-Expiresヘッダの１８０秒より、セッションタイマを１８０秒から１０秒を減算した１７０秒に設定し、リフレッシュタイマを１８０秒の半分である９０秒に設定する。
【０１２０】
次に、ステップＳ２６，Ｓ３３の端末４１，４２からＳＩＰサーバ１０に送信されるＡＣＫメッセージについて説明する。
図１８は、端末からＳＩＰサーバに送信されるＡＣＫメッセージの例を示した図である。図の下線６５に示すRouteヘッダには、図１１の下線５５のRouteヘッダと同じ内容が設定される。
【０１２１】
従って、図のＡＣＫメッセージが、端末４１の送信するメッセージである場合、下線６５のＸＸＸＸ部分には、ＳＩＰサーバ１０のポートＰ１のポート番号５０６０が設定される。端末４２の送信するメッセージである場合、下線６５のＸＸＸＸ部分には、ＳＩＰサーバ１０のポートＰ２のポート番号５０６２が設定される。
【０１２２】
これによって、端末４１，４２が送信するＡＣＫメッセージは、下線６５で示されるＳＩＰサーバ１０のポート番号で受信されることになる。
次に、ステップＳ２７，Ｓ３４のＳＩＰサーバ１０から端末４３，４４に送信されるＡＣＫメッセージについて説明する。
【０１２３】
図１９は、ＳＩＰサーバから端末に送信されるＡＣＫメッセージの例を示した図である。図の下線６６に示すViaヘッダには、ＡＣＫメッセージを送信するＳＩＰサーバ１０のアドレスとそのポート番号が設定される。
【０１２４】
例えば、図に示すＡＣＫメッセージが、端末４１からのＡＣＫメッセージを転送するものである場合、下線６６のＸＸＸＸ部分には、ポート番号５０６０が設定される。図に示すＡＣＫメッセージが、端末４２からのＡＣＫメッセージを転送するものである場合、下線６６のＸＸＸＸ部分には、ポート番号５０６２が設定される。
【０１２５】
端末４３，４４がＡＣＫメッセージを受信した時点で、端末４１，４３間、端末４２，４４間でのリフレッシュ動作が完了する。
このようにして、端末４１〜４４のセッションの生存確認が行われる。
【０１２６】
以上説明したように、ＣＰＵ１０ａ，１０ｂのそれぞれにポートＰ１，Ｐ２を設け、呼設定メッセージ以降の端末４１〜４４間で送受信されるメッセージを、ラウンドロビンによってポートＰ１，Ｐ２に割り当てるようにした。これによって、端末４１〜４４間でやり取りされるメッセージの送受信がＣＰＵ１０ａ，１０ｂに均等に分散され、ＳＩＰサーバ１０の過負荷状態を低減することができる。
【０１２７】
また、ＳＩＰサーバ１０の過負荷状態を低減することにより、リフレッシュ用のメッセージを受信できないという状況が抑制されるので、セッションを誤って開放するという状況が低減される。
【０１２８】
次に、本発明の第２の実施の形態を、図面を参照して詳細に説明する。第１の実施の形態では、ラウンドロビンによってポートを振り分けていたが、第２の実施の形態では、単位時間あたりに受信するメッセージ量により、ポートを振り分ける。すなわち、図６で示したステップＳ２，Ｓ１０におけるポートの選択を、ラウンドロビンではなく、単位時間あたりに受信するメッセージ量により決める。
【０１２９】
図２０は、第２の実施の形態に係るＳＩＰサーバのポート割り当てを説明する図である。図に示すようにＳＩＰサーバ７０は、ＣＰＵ７０ａ，７０ｂを有している。
ＣＰＵ７０ａ，７０ｂには、それぞれ呼制御プロセスＡ，Ｂが割り当てられている。呼制御プロセスＡ，Ｂは、それぞれポートのソケットをオープンする。
【０１３０】
例えば、呼制御プロセスＡは、ポートＰ１１（ポート番号５０６０）のソケットをオープンし、呼制御プロセスＢは、ポートＰ１２（ポート番号５０６２）のソケットをオープンする。これによって、ＣＰＵ７０ａ，７０ｂのそれぞれには、ポートＰ１１，Ｐ１２が１つずつ割り当てられる。
【０１３１】
ＣＰＵ７０ａは、メッセージ受信カウンタから、周期的に単位時間あたりに受信するメッセージ量を取得する。ＣＰＵ７０ａは、単位時間あたりに受信するメッセージ量がしきい値を超えると、呼を発した端末とその通信相手の端末とのメッセージのやり取りを、ＣＰＵ７０ｂ（ポートＰ１２）に割り当てるように制御する。すなわち、ＣＰＵ７０ａは、単位時間あたりに受信するメッセージ量がしきい値を超えると、呼処理をＣＰＵ７０ｂ（呼制御プロセスＢ）で行うようにする。
【０１３２】
一方、ＣＰＵ７０ａは、ポート分配（メッセージのＣＰＵ７０ｂへの振り分け）によって、単位時間あたりに受信するメッセージ量が減少していく。そこで、ＣＰＵ７０ａは、単位時間あたりに受信するメッセージ量がしきい値を下回ると、ポート分配を停止する。なお、ポート分配を開始するしきい値と、ポート分配を停止するしきい値は、異なっていてもよい。
【０１３３】
例えば、ＣＰＵ７０ａ，７０ｂのそれぞれの最大処理能力を１０万ＢＨＣ（ＢＨＣ：Busy Hour Call）とした場合、１秒間に処理可能な最大メッセージ数は、約２７ｍｓｇ／ｓｅｃとなる。そこで、ポート分配を開始するしきい値を、例えば、２７ｍｓｇ／ｓｅｃの７０％である２０ｍｓｇ／ｓｅｃとし、ポート分配を停止するしきい値を、例えば、２７ｍｓｇ／ｓｅｃの６０％である１６ｍｓｇ／ｓｅｃとする。
【０１３４】
ＣＰＵ７０ａは、周期的にメッセージ受信カウンタを監視し、受信するメッセージ量が２０ｍｓｇ／ｓｅｃを超えていない場合は、端末からの呼をポートＰ１１に割り当てる。受信するメッセージ量が２０ｍｓｇ／ｓｅｃを超えると、ＣＰＵ７０ａは、端末からの呼をポートＰ１２に割り当てるようにする。
【０１３５】
ポート分配が行われると、ポートＰ１１で受信するメッセージ量は減少していく。ＣＰＵ７０ａは、メッセージ受信カウンタの値がポート分配を停止する１６ｍｓｇ／ｓｅｃを下回ると、ポートＰ１２へのメッセージの振り分けを停止する。
【０１３６】
なお、図では、２つのＣＰＵによる分散構成を示しているが、ＣＰＵの数を２以上とすることもできる。
次に、ＳＩＰサーバ７０の機能について説明する。
【０１３７】
図２１は、ＳＩＰサーバの機能ブロック図である。図に示すようにＳＩＰサーバ７０は、呼処理系Ａと呼処理系Ｂの機能に分かれる。呼処理系Ａの機能は、図２０で示したＣＰＵ７０ａによって実現され、呼処理系Ｂの機能は、ＣＰＵ７０ｂによって実現される。図２１には、図２で示したＩＰネットワーク３０も示してある。
【０１３８】
呼処理系Ａは、ＵＤＰ通信制御部７１ａ、メッセージ分散制御部７２ａ、呼制御部７３ａ、ヘッダ制御部７４ａ、およびメッセージトラフィック監視部７５ａを有している。呼処理系Ｂは、ＵＤＰ通信制御部７１ｂ、メッセージ分散制御部７２ｂ、呼制御部７３ｂ、およびヘッダ制御部７４ｂを有している。
【０１３９】
ＵＤＰ通信制御部７１ａ，７１ｂは、ポートＰ１１，Ｐ１２の管理およびＵＤＰ信号の送受信を制御する。
メッセージ分散制御部７２ａ，７２ｂは、受信されるＵＤＰ信号を分析し、自身が受信すべきＵＤＰ信号であるか判断する。メッセージ分散制御部７２ａ，７２ｂは、ＵＤＰ信号が受信すべきものである場合、呼制御部７３ａ，７３ｂに出力する。
【０１４０】
呼制御部７３ａ，７３ｂは、ＳＩＰに基づいた呼処理を行う。また、呼制御部７３ａは、メッセージトラフィック監視部７５ａから単位時間あたりに受信するメッセージ量を周期的に取得し、取得したメッセージ量としきい値とを比較して、メッセージを別のＵＤＰのポートで受信するか判断する。別のポートで受信すると判断した場合、メッセージが別のポートで受信されるよう、ヘッダ制御部７４ａに指示を出す。
【０１４１】
ヘッダ制御部７４ａ，７４ｂは、呼制御部７３ａ，７３ｂからのヘッダ生成および編集指示により、ＳＩＰに対応したヘッダ制御を行う。
メッセージトラフィック監視部７５ａは、図２０で示したメッセージ受信カウンタを生成し、単位時間あたりに受信するメッセージ量を算出する。
【０１４２】
次に、ＳＩＰサーバ７０のポート分配について説明する。
図２２は、ＳＩＰサーバのポート分配の動作を示したフローチャートである。
［ステップＳ４１］ＳＩＰサーバ７０のＣＰＵ７０ａは、ポートＰ１１からイニシャルＩＮＶＩＴＥメッセージを受信する。
【０１４３】
［ステップＳ４２］ＳＩＰサーバ７０のＣＰＵ７０ａは、メッセージ受信カウンタから単位時間あたりのメッセージ量を取得する。
［ステップＳ４３］ＳＩＰサーバ７０のＣＰＵ７０ａは、単位時間あたりのメッセージ量がしきい値以上であるか否か判断する。しきい値以上であれば、ステップＳ４４に進む。しきい値より小さければ、ステップＳ４５へ進む。
【０１４４】
［ステップＳ４４］ＳＩＰサーバ７０のＣＰＵ７０ａは、ポート番号５０６２のポートＰ１２の使用を決定する。
［ステップＳ４５］ＳＩＰサーバ７０のＣＰＵ７０ａは、ポート番号５０６０のポートＰ１１の使用を決定する。
【０１４５】
［ステップＳ４６］ＳＩＰサーバ７０のＣＰＵ７０ａは、ステップＳ４４を経由した場合、以降端末間で行われるメッセージのやり取りがポートＰ１２で行われるようイニシャルＩＮＶＩＴＥメッセージの編集処理を行う。ステップＳ４５を経由した場合、以降端末間で行われるメッセージのやり取りがポートＰ１１で行われるようイニシャルＩＮＶＩＴＥメッセージの編集処理を行う。イニシャルＩＮＶＩＴＥメッセージの編集処理は、例えば、Viaヘッダ、Record-Routeヘッダを編集する。
【０１４６】
［ステップＳ４７］ＳＩＰサーバ７０のＣＰＵ７０ａは、編集処理したイニシャルＩＮＩＶＴＥメッセージを端末に送信する。
このように、単位時間あたりに受信するメッセージ量により、メッセージを送受信するＣＰＵ７０ａ，７０ｂを振り分けることによって、ＳＩＰサーバ７０の過負荷状態を低減することができる。
【０１４７】
次に、本発明の第３の実施の形態を、図面を参照して詳細に説明する。第１の実施の形態では、ラウンドロビンによってポートを振り分けていたが、第３の実施の形態では、ＣＰＵの使用率によって、ポートを振り分ける。すなわち、図６で示したステップＳ２，Ｓ１０におけるポートの選択を、ラウンドロビンではなく、ＣＰＵの使用率により決める。
【０１４８】
図２３は、第３の実施の形態に係るＳＩＰサーバのポート割り当てを説明する図である。図に示すようにＳＩＰサーバ８０は、ＣＰＵ８０ａ，８０ｂを有している。
ＣＰＵ８０ａ，８０ｂには、呼制御プロセスＡ，Ｂが割り当てられている。呼制御プロセスＡ，Ｂは、それぞれポートのソケットをオープンする。
【０１４９】
例えば、呼制御プロセスＡは、ポートＰ２１（ポート番号５０６０）のソケットをオープンし、呼制御プロセスＢは、ポートＰ２２（ポート番号５０６２）のソケットをオープンする。これによって、ＣＰＵ８０ａ，８０ｂのそれぞれには、ポートＰ２１，Ｐ２２が１つずつ割り当てられる。
【０１５０】
ＣＰＵ８０ａは、自己のＣＰＵ使用率を周期的に取得する。ＣＰＵ８０ａは、ＣＰＵ使用率がしきい値を超えると、呼を発した端末とその通信相手の端末とのメッセージのやり取りをＣＰＵ８０ｂ（ポートＰ２２）に割り当てるように制御する。すなわち、ＣＰＵ８０ａは、ＣＰＵ使用率がしきい値を超えると、呼処理をＣＰＵ８０ｂ（呼制御プロセスＢ）で行うようにする。
【０１５１】
一方、ＣＰＵ８０ａは、ポート分配（メッセージのＣＰＵ８０ｂへの振り分け）によって、ＣＰＵ使用率が低下していく。そこで、ＣＰＵ８０ａは、ＣＰＵ使用率がしきい値を下回ると、ポート分配を停止する。なお、ポート分配を開始するしきい値と、ポート分配を停止するしきい値は、異なっていてもよい。
【０１５２】
例えば、最大呼処理負荷におけるＣＰＵ８０ａ，８０ｂの使用率を１００％とし、ポート分配を開始するしきい値を、例えば、最大呼処理負荷の７０％とする。ポート分配を停止するしきい値を、例えば、最大呼処理負荷の５０％とする。
【０１５３】
ＣＰＵ８０ａは、周期的（例えば、５分ごと）にＣＰＵ使用率を取得し、使用率が７０％を超えていない場合は、端末からの呼をポートＰ２１に割り当てる。ＣＰＵの使用率が７０％を超えると、ＣＰＵ８０ａは、端末からの呼をポートＰ２２に割り当てるようにする。
【０１５４】
ポート分配が行われると、ポートＰ２１で受信するメッセージ量は減少していき、ＣＰＵ８０ａの使用率は低下していく。ＣＰＵ８０ａは、ＣＰＵ使用率が５０％を下回ると、ポートＰ２２へのメッセージの振り分けを停止する。
【０１５５】
なお、図では、２つのＣＰＵによる分散構成を示しているが、ＣＰＵの数を２以上とすることもできる。
次に、ＳＩＰサーバ８０の機能について説明する。
【０１５６】
図２４は、ＳＩＰサーバの機能ブロック図である。図に示すようにＳＩＰサーバ８０は、呼処理系Ａと呼処理系Ｂの機能に分かれる。呼処理系Ａの機能は、図２３で示したＣＰＵ８０ａによって実現され、呼処理系Ｂの機能は、ＣＰＵ８０ｂによって実現される。図２４には、図２で示したＩＰネットワーク３０も示してある。
【０１５７】
呼処理系Ａは、ＵＤＰ通信制御部８１ａ、メッセージ分散制御部８２ａ、呼制御部８３ａ、ヘッダ制御部８４ａ、およびＣＰＵ使用率監視部８５ａを有している。呼処理系Ｂは、ＵＤＰ通信制御部８１ｂ、メッセージ分散制御部８２ｂ、呼制御部８３ｂ、およびヘッダ制御部８４ｂを有している。
【０１５８】
ＵＤＰ通信制御部８１ａ，８１ｂは、ポートＰ２１，Ｐ２２の管理およびＵＤＰ信号の送受信を制御する。
メッセージ分散制御部８２ａ，８２ｂは、受信されるＵＤＰ信号を分析し、自身が受信すべきＵＤＰ信号であるか判断する。メッセージ分散制御部８２ａ，８２ｂは、ＵＤＰ信号が受信すべきものである場合、呼制御部８３ａ，８３ｂに出力する。
【０１５９】
呼制御部８３ａ，８３ｂは、ＳＩＰに基づいた呼処理を行う。また、呼制御部８３ａは、ＣＰＵ使用率監視部８５ａからＣＰＵ８０ａの使用率を周期的に取得し、取得した使用率としきい値とを比較して、メッセージを別のＵＤＰのポートで受信するか判断する。別のポートで受信すると判断した場合、メッセージが別のポートで受信されるよう、ヘッダ制御部８４ａに指示を出す。
【０１６０】
ヘッダ制御部８４ａ，８４ｂは、呼制御部８３ａ，８３ｂからのヘッダ生成および編集指示により、ＳＩＰに対応したヘッダ制御を行う。
ＣＰＵ使用率監視部８５ａは、ＣＰＵ８０ａの使用率を検出する。なお、ＣＰＵ使用率監視部８５ａは、図２３のＣＰＵ使用率に対応する。
【０１６１】
次に、ＳＩＰサーバ８０のポート分配について説明する。
図２５は、ＳＩＰサーバのポート分配の動作を示したフローチャートである。
［ステップＳ５１］ＳＩＰサーバ８０のＣＰＵ８０ａは、ポートＰ２１からイニシャルＩＮＶＩＴＥメッセージを受信する。
【０１６２】
［ステップＳ５２］ＳＩＰサーバ８０のＣＰＵ８０ａは、ＣＰＵ使用率を取得する。
［ステップＳ５３］ＳＩＰサーバ８０のＣＰＵ８０ａは、ＣＰＵ使用率がしきい値以上であるか否か判断する。しきい値以上であれば、ステップＳ５４に進む。しきい値より小さければ、ステップＳ５５へ進む。
【０１６３】
［ステップＳ５４］ＳＩＰサーバ８０のＣＰＵ８０ａは、ポート番号５０６２のポートＰ２２の使用を決定する。
［ステップＳ５５］ＳＩＰサーバ８０のＣＰＵ８０ａは、ポート番号５０６０のポートＰ２１の使用を決定する。
【０１６４】
［ステップＳ５６］ＳＩＰサーバ８０のＣＰＵ８０ａは、ステップＳ５４を経由した場合、以降端末間で行われるメッセージのやり取りがポートＰ２２で行われるようメッセージの編集処理を行う。ステップＳ５５を経由した場合、以降端末間で行われるメッセージのやり取りがポートＰ２１で行われるようメッセージの編集処理を行う。イニシャルＩＮＶＩＴＥメッセージの編集処理は、例えば、Viaヘッダ、Record-Routeヘッダを編集する。
【０１６５】
［ステップＳ５７］ＳＩＰサーバ８０のＣＰＵ８０ａは、編集処理したイニシャルＩＮＶＩＴＥメッセージを端末に送信する。
このように、ＣＰＵ８０ａの使用率により、メッセージを送受信するＣＰＵ８０ａ，８０ｂを振り分けることによって、ＳＩＰサーバ８０の過負荷状態を低減することができる。
【０１６６】
（付記１）  端末間のセッションを確立および維持するサーバにおいて、
前記セッションを確立するために端末から送信される最初の初メッセージを受信し、前記初メッセージを受信した以降に行う前記端末と通信相手の端末とのメッセージの送受信を、自分を含む複数の他中央演算処理装置に割り当てる中央演算処理装置、
を有することを特徴とするサーバ。
【０１６７】
（付記２）  前記中央演算処理装置は、ラウンドロビンによって前記メッセージの送受信を割り当てることを特徴とする付記１記載のサーバ。
（付記３）  前記中央演算処理装置は、前記メッセージの単位時間あたりの受信量に基づいて前記メッセージの送受信を割り当てることを特徴とする付記１記載のサーバ。
【０１６８】
（付記４）  前記中央演算処理装置は、前記受信量がしきい値を超えない場合、前記メッセージの送受信を自分に割り当てることを特徴とする付記３記載のサーバ。
（付記５）  前記中央演算処理装置は、前記受信量がしきい値を超えた場合、前記メッセージの送受信を前記複数の他中央演算処理装置に割り当てることを特徴とする付記３記載のサーバ。
【０１６９】
（付記６）  前記中央演算処理装置は、自己の使用率に基づいて前記メッセージの送受信を割り当てることを特徴とする付記１記載のサーバ。
（付記７）  前記中央演算処理装置は、前記使用率がしきい値を超えない場合、前記メッセージの送受信を自分に割り当てることを特徴とする付記６記載のサーバ。
【０１７０】
（付記８）  前記中央演算処理装置は、前記使用率がしきい値をえた場合、前記メッセージの送受信を前記複数の他中央演算処理装置に割り当てることを特徴とする付記６記載のサーバ。
【０１７１】
（付記９）  前記中央演算処理装置および前記複数の他中央演算処理装置には、１つのポート番号が割り当てられ、前記中央演算処理装置は、前記ポート番号によって、前記メッセージの送受信が前記中央演算処理装置および前記複数の他中央演算処理装置に割り当てられるようにすることを特徴とする付記１記載のサーバ。
【図面の簡単な説明】
【０１７２】
【図１】サーバの概要を示した図である。
【図２】第１の実施の形態に係るＳＩＰサーバのシステム構成例を示した図である。
【図３】ＳＩＰサーバのポートを説明する図である。
【図４】ＣＰＵのポートの割り当てを説明する図である。
【図５】ＳＩＰサーバの機能ブロック図である。
【図６】端末のセッション確立の動作を示したシーケンス図である。
【図７】端末からＳＩＰサーバに送信されるイニシャルＩＮＶＩＴＥメッセージの例を示した図である。
【図８】ＳＩＰサーバから端末に送信されるイニシャルＩＮＶＩＴＥメッセージの例を示した図である。
【図９】端末からＳＩＰサーバに送信される２００ＯＫメッセージの例を示した図である。
【図１０】ＳＩＰサーバから端末に送信される２００ＯＫメッセージの例を示した図である。
【図１１】端末からＳＩＰサーバに送信されるＡＣＫメッセージの例を示した図である。
【図１２】ＳＩＰサーバから端末に送信されるＡＣＫメッセージの例を示した図である。
【図１３】端末のセッションの生存確認の動作を示したシーケンス図である。
【図１４】端末からＳＩＰサーバに送信されるリフレッシュＩＮＶＩＴＥメッセージの例を示した図である。
【図１５】ＳＩＰサーバから端末に送信されるリフレッシュＩＮＶＩＴＥメッセージの例を示した図である。
【図１６】端末からＳＩＰサーバに送信される２００ＯＫメッセージの例を示した図である。
【図１７】ＳＩＰサーバから端末に送信される２００ＯＫメッセージの例を示した図である。
【図１８】端末からＳＩＰサーバに送信されるＡＣＫメッセージの例を示した図である。
【図１９】ＳＩＰサーバから端末に送信されるＡＣＫメッセージの例を示した図である。
【図２０】第２の実施の形態に係るＳＩＰサーバのポート割り当てを説明する図である。
【図２１】ＳＩＰサーバの機能ブロック図である。
【図２２】ＳＩＰサーバのポート分配の動作を示したフローチャートである。
【図２３】第３の実施の形態に係るＳＩＰサーバのポート割り当てを説明する図である。
【図２４】ＳＩＰサーバの機能ブロック図である。
【図２５】ＳＩＰサーバのポート分配の動作を示したフローチャートである。
【図２６】セッションの生存確認を説明するシーケンス図である。
【符号の説明】
【０１７３】
１  サーバ
１ａ  中央演算処理装置
１ｂ，１ｃ  他中央演算処理装置
２ａ〜２ｄ  端末
３  ネットワーク
【図１】
2007219680.tif 000003
【図２】
2007219680.tif 000004
【図３】
2007219680.tif 000005
【図４】
2007219680.tif 000006
【図５】
2007219680.tif 000007
【図６】
2007219680.tif 000008
【図７】
2007219680.tif 000009
【図８】
2007219680.tif 000010
【図９】
2007219680.tif 000011
【図１０】
2007219680.tif 000012
【図１１】
2007219680.tif 000013
【図１２】
2007219680.tif 000014
【図１３】
2007219680.tif 000015
【図１４】
2007219680.tif 000016
【図１５】
2007219680.tif 000017
【図１６】
2007219680.tif 000018
【図１７】
2007219680.tif 000019
【図１８】
2007219680.tif 000020
【図１９】
2007219680.tif 000021
【図２０】
2007219680.tif 000022
【図２１】
2007219680.tif 000023
【図２２】
2007219680.tif 000024
【図２３】
2007219680.tif 000025
【図２４】
2007219680.tif 000026
【図２５】
2007219680.tif 000027
【図２６】
2007219680.tif 000028