(57)【要約】【課題】呼処理の割当てを効率的に変更すること。【解決手段】情報処理装置２は、情報処理装置２に割当てられた呼処理を情報処理装置３に再割当てする際に、情報処理装置２が記憶する呼情報ＤＡ，ＤＢを情報処理装置３に順次送信する。情報処理装置２は、１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の振分先の変更指示を送信する。管理装置１は、変更指示を受信すると、送信が完了した呼情報を用いた呼処理の要求の振分先を、情報処理装置２から、情報処理装置３に変更する。【選択図】図１
2014165705.tif 000002
【特許請求の範囲】
【請求項１】
呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置と呼処理の割当てを行う管理装置とを含むシステムが実行する呼処理割当方法であって、
第１の情報処理装置に割当てられた呼処理を第２の情報処理装置に再割当てする際に、前記第１の情報処理装置に記憶された複数の呼情報を前記第２の情報処理装置に順次送信し、
１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の前記管理装置による振分先を、前記第１の情報処理装置から、前記第２の情報処理装置に変更する、
呼処理割当方法。
【請求項２】
前記第２の情報処理装置へ送信中である呼情報を用いた呼処理の要求を前記第１の情報処理装置により受信すると、前記第１の情報処理装置を用いて当該要求を保持し、当該呼情報の送信の完了後に当該要求を前記第２の情報処理装置に転送し、
前記第２の情報処理装置を用いて当該要求に応じた呼処理を実行する、
請求項１記載の呼処理割当方法。
【請求項３】
前記第２の情報処理装置へ送信されていない呼情報を用いた呼処理の要求を前記第１の情報処理装置により受信すると、前記第１の情報処理装置を用いて当該要求に応じた呼処理を実行する、請求項１または２記載の呼処理割当方法。
【請求項４】
前記第２の情報処理装置への送信が完了している呼情報を用いた呼処理の要求を前記第１の情報処理装置により受信すると、前記第１の情報処理装置を用いて当該要求の再送制御を行う、請求項１乃至３の何れか１項に記載の呼処理割当方法。
【請求項５】
前記複数の情報処理装置の何れにも割当てられていない呼処理に関する要求の前記管理装置による振分先の候補から前記第１の情報処理装置を外す、請求項１乃至４の何れか１項に記載の呼処理割当方法。
【請求項６】
呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置を含む呼処理システムであって、
自身に割当てられた呼処理を他の情報処理装置に再割当てする際に、自身が記憶する複数の呼情報を前記他の情報処理装置順次送信し、１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の振分先の変更指示を送信する情報処理装置と、
前記変更指示を受信すると、送信が完了した呼情報を用いた呼処理の要求の振分先を、前記情報処理装置から、前記他の情報処理装置に変更する管理装置と、
を有する呼処理システム。
【請求項７】
呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置に対する呼処理の割当てを行うためのプログラムであって、コンピュータに、
第１の情報処理装置に割当てられた呼処理を第２の情報処理装置に再割当てする際に、前記第１の情報処理装置に記憶された複数の呼情報が前記第２の情報処理装置に順次送信され、１つの呼情報の送信が完了されるたびに、前記第１の情報処理装置から送信が完了した呼情報を用いた呼処理の要求の振分先の変更指示を受信し、
前記変更指示を受信すると、送信が完了した呼情報を用いた呼処理の要求の振分先を前記第１の情報処理装置から、前記第２の情報処理装置に変更する、
処理を実行させるプログラム。
【請求項８】
呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置と呼処理の割当てを行う管理装置とを含むシステムに用いられるプログラムであって、情報処理装置に、
自身に割当てられた呼処理を他の情報処理装置に再割当てする際に、自身が記憶する複数の呼情報を前記他の情報処理装置に順次送信し、
１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の振分先を自身から前記他の情報処理装置に変更する旨の指示を前記管理装置に送信する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は呼処理割当方法、呼処理システムおよびプログラムに関する。
【背景技術】
【０００２】
現在、ＩＰ（Internet Protocol）電話が利用されている。ＩＰ電話を実現する情報処理システムは、ユーザが利用するクライアント装置および呼制御を行うサーバ装置を含む。例えば、クライアント装置はクライアントコンピュータやＩＰ電話機などである。サーバ装置はサーバコンピュータやＩＰ−ＰＢＸ（Private Branch eXchange）などである。
【０００３】
サーバ装置は、クライアント装置の要求に応じて、相手先のクライアント装置に対する着信、通信管理および通話の切断などの呼処理を行う。サーバ装置は、呼を管理するための呼情報を記憶し、呼情報を用いて呼処理を行う。例えば、呼処理にはＳＩＰ（Session Initiation Protocol）やＨ．３２３などのシグナリングプロトコルが用いられる。例えば、シグナリングプロトコルを用いてクライアント装置間で通話用のセッションが確立される。すると、各クライアント装置は所定のプロトコル（例えば、ＲＴＰ（Real-time Transport Protocol））を用いて映像や音声などを送受信し得る。
【０００４】
サーバ装置を複数設けることもある。例えば、複数のサーバ装置で複数の呼を分散処理することがある。個々のサーバ装置の負荷を軽減できるからである。この場合に、あるサーバ装置に割当て済の呼処理を、増設された別のサーバ装置に移設する提案がある。
【０００５】
この提案では、分割元のサーバシステムが分割対象である通話中の呼の番号を含む転送呼情報リストを作成して分割先のサーバシステムに送信する。分割先のサーバシステムは、転送呼情報リスト内の全ての呼について、分割先のサーバへの振分変更を信号振分サーバに指示する。分割先のサーバシステムは、転送呼情報リストに設定された呼に対する要求を受信すると、転送待ちリストに登録して当該呼の処理を中断し、分割元のサーバシステムに当該呼の呼情報の取得を依頼する。そして、分割先のサーバシステムは、分割元のサーバシステムから当該呼情報を取得した後に中断された処理を再開する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１６７３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記の提案では転送呼情報リストに含まれる全ての呼に関する要求の振分先が、移設元のサーバ装置から移設先のサーバ装置へと一度に切替えられることになる。したがって、移設先のサーバ装置に対して大量の要求が集中する可能性が高まる。特に、移設先のサーバ装置で転送待ちの呼情報が増えると、呼処理の中断時間が増大する可能性も高まる。すると、呼処理のタイムアウトによる通話への影響（通話の途切れや中断など）が深刻になるおそれがあるという問題がある。また、上記の提案では未取得の呼情報を取得して呼処理を完了するまで、移設先のサーバ装置で呼処理の要求を蓄積することになる。このため、移設先のサーバ装置に呼処理の要求が集中すると、要求を蓄積するために、当該サーバ装置のメモリなどのリソースが不足するおそれもある。
【０００８】
１つの側面では、本発明は、呼処理の割当てを効率的に変更できる呼処理割当方法、呼処理システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置と呼処理の割当てを行う管理装置とを含むシステムが実行する呼処理割当方法が提供される。この呼処理割当方法では、第１の情報処理装置に割当てられた呼処理を第２の情報処理装置に再割当てする際に、第１の情報処理装置に記憶された複数の呼情報を第２の情報処理装置に順次送信し、１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の管理装置による振分先を、第１の情報処理装置から、第２の情報処理装置に変更する。
【００１０】
また、１つの態様では、呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置を含む呼処理システムが提供される。この呼処理システムは、情報処理装置と管理装置とを含む。情報処理装置は、自身に割当てられた呼処理を他の情報処理装置に再割当てする際に、自身が記憶する複数の呼情報を他の情報処理装置に順次送信し、１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の振分先の変更指示を送信する。管理装置は、変更指示を受信すると、送信が完了した呼情報を用いた呼処理の要求の振分先を、情報処理装置から、他の情報処理装置に変更する。
【００１１】
また、１つの態様では、コンピュータによって実行されるプログラムであって、呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置に対する呼処理の割当てを行うためのプログラムが提供される。このプログラムは、コンピュータに、第１の情報処理装置に割当てられた呼処理を第２の情報処理装置に再割当てする際に、第１の情報処理装置に記憶された複数の呼情報が第２の情報処理装置に順次送信され、１つの呼情報の送信が完了されるたびに、第１の情報処理装置から送信が完了した呼情報を用いた呼処理の要求の振分先の変更指示を受信し、変更指示を受信すると、送信が完了した呼情報を用いた呼処理の要求の振分先を第１の情報処理装置から、第２の情報処理装置に変更する、処理を実行させる。
【００１２】
また、１つの態様では、情報処理装置によって実行されるプログラムであって、呼処理の割当て対象であり呼処理に用いられる呼情報を記憶する複数の情報処理装置と呼処理の割当てを行う管理装置とを含むシステムに用いられるプログラムが提供される。このプログラムは、情報処理装置に、自身に割当てられた呼処理を他の情報処理装置に再割当てする際に、自身が記憶する複数の呼情報を他の情報処理装置に順次送信し、１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の振分先を自身から他の情報処理装置に変更する旨の指示を管理装置に送信する、処理を実行させる。
【発明の効果】
【００１３】
１つの側面では、呼処理の割当てを効率的に変更できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態の呼処理システムを示す図である。
【図２】第２の実施の形態の呼処理システムを示す図である。
【図３】第２の実施の形態のハードウェア例を示す図である。
【図４】第２の実施の形態のソフトウェア例を示す図である。
【図５】第２の実施の形態の振分テーブルの例を示す図である。
【図６】第２の実施の形態の移設元の呼情報テーブルの例を示す図である。
【図７】第２の実施の形態の移設管理テーブルの例を示す図である。
【図８】第２の実施の形態のＳＩＰリクエストテーブルの例を示す図である。
【図９】第２の実施の形態の移設先の呼情報テーブルの例を示す図である。
【図１０】第２の実施の形態の振分処理例（その１）を示すフローチャートである。
【図１１】第２の実施の形態の振分処理例（その２）を示すフローチャートである。
【図１２】第２の実施の形態の呼情報の送信例を示すフローチャートである。
【図１３】第２の実施の形態の移設元の呼処理の例を示すフローチャートである。
【図１４】第２の実施の形態の処理例（その１）を示すシーケンス図である。
【図１５】第２の実施の形態の処理例（その２）を示すシーケンス図である。
【図１６】第２の実施の形態の処理例（その３）を示すシーケンス図である。
【図１７】第２の実施の形態の処理におけるテーブル例（その１）を示す図である。
【図１８】第２の実施の形態の処理におけるテーブル例（その２）を示す図である。
【図１９】第２の実施の形態の処理におけるテーブル例（その３）を示す図である。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の呼処理システムを示す図である。第１の実施の形態の呼処理システムは管理装置１および情報処理装置２，３を含む。管理装置１および情報処理装置２，３はネットワークを介して接続される。第１の実施の形態の呼処理システムでは、情報処理装置２，３を用いて呼を分散処理する。管理装置１は、情報処理装置２，３に対する呼処理の割当てを管理する。管理装置１は、記憶部１ａおよび制御部１ｂを有する。
【００１６】
記憶部１ａは、呼と呼処理の要求の振分先との対応関係を示す情報を記憶する。例えば、情報処理装置２の識別情報を“ＩＤ１”、情報処理装置３の識別情報を“ＩＤ２”とする。例えば、記憶部１ａは情報４を記憶する。情報４は呼Ａと要求振分先ＩＤ１との対応関係を含む。これは、呼Ａの呼処理の要求を情報処理装置２に振分けることを示す。情報４は呼Ｂと要求振分先ＩＤ１との対応関係を含む。これは、呼Ｂの呼処理の要求を情報処理装置２に振分けることを示す。情報４は呼Ｃと要求振分先ＩＤ２との対応関係を含む。これは、呼Ｃの呼処理の要求を情報処理装置３に振分けることを示す。
【００１７】
制御部１ｂは、端末装置（図示を省略）から呼処理の要求を受信する。新規の呼であれば、制御部１ｂは、所定のルールに従って情報処理装置２，３から当該呼の振分先を決定し、当該振分先に呼処理の要求を送信する。所定のルールとしては、ラウンドロビンや接続数最小の情報処理装置を振分先とする方法などが考えられる。制御部１ｂは、呼と当該呼の振分先に決定された情報処理装置との対応関係を示す情報を記憶部１ａに登録する。一方、既存の呼であれば、制御部１ｂは、記憶部１ａに記憶された情報４に基づいて、決定済の振分先に呼処理の要求を送信する。
【００１８】
情報処理装置２は、記憶部２ａおよび制御部２ｂを有する。記憶部２ａは、呼情報を記憶する。呼情報は、制御部２ｂによる呼処理に用いられる情報である。例えば、呼情報は通話用のセッション（当該セッションを呼と称することもある）の状態や通話時間などを示す情報を含み得る。例えば、記憶部２ａは呼情報ＤＡ，ＤＢを記憶する。呼情報ＤＡは呼Ａに関する情報である。呼情報ＤＢは呼Ｂに関する情報である。
【００１９】
制御部２ｂは、呼処理の要求を受信し、呼処理を実行する。新規の呼であれば、制御部２ｂは、新たな呼情報を生成して記憶部２ａに格納し、呼処理（例えば、呼出先の端末装置への着信通知など）を行う。既存の呼であれば、制御部２ｂは、記憶部２ａに記憶された呼情報を用いて呼処理（例えば、セッションの管理や切断など）を行う。
【００２０】
情報処理装置３は、記憶部３ａおよび制御部３ｂを有する。記憶部３ａに記憶される情報は、記憶部２ａと同様である。例えば、記憶部３ａは呼情報ＤＣを記憶する。呼情報ＤＣは呼Ｃに関する情報である。
【００２１】
第１の実施の形態の呼処理システムでは、情報処理装置２に割当てられた呼処理を情報処理装置３に再割当することがある。例えば、情報処理装置２のメンテナンスを行う場合には、情報処理装置２が担当する呼処理を他の情報処理装置へ委譲して作業した方が、既存の呼に対する影響を軽減できる、作業を円滑に行える、などの利点があるからである。
【００２２】
呼処理の再割当てを行う場合、制御部２ｂは、記憶部２ａに記憶された呼情報を情報処理装置３へ送信する旨の指示を受信する。当該指示は、情報処理装置２に直接入力されてもよいし、所定の管理用端末からネットワークを介して入力されてもよい。すると、制御部２ｂは記憶部２ａに記憶された複数の呼情報を、情報処理装置３へ順次送信する。例えば、制御部２ｂは記憶部２ａに記憶された呼情報ＤＡ，ＤＢを情報処理装置３へ順次送信する。制御部２ｂは、１つの呼情報の送信が完了するたびに、当該呼情報を用いた呼処理の要求の振分先の変更指示を、管理装置１に送信する。例えば、制御部２ｂは呼情報ＤＡの送信が完了すると、呼Ａの呼処理の要求の振分先の変更指示を、管理装置１に送信する。当該変更指示は、次の呼情報ＤＢの送信前または呼情報ＤＢの送信と並列に行われてもよい。また、制御部２ｂは呼情報ＤＢの送信が完了した場合も、呼Ｂの呼処理の要求の振分先の変更指示を、管理装置１に送信する。
【００２３】
制御部１ｂは、当該変更指示を受信すると、指示された呼の要求の振分先を、元の情報処理装置から、呼情報の送信先である他の情報処理装置に変更する。例えば、制御部１ｂは、情報処理装置２から呼Ａに関する振分先の変更指示を受信する。すると、制御部１ｂは呼Ａの呼処理の要求の振分先を、情報処理装置２から呼情報ＤＡの送信先である情報処理装置３に変更する。すなわち、制御部１ｂは、情報４を情報４ａへ変更する。以後、管理装置１は情報４ａに基づいて、呼Ａの呼処理の要求を、情報処理装置２に代えて、情報処理装置３へ送信することになる。この段階では、呼Ｂの呼処理の要求の振分先は、情報処理装置２のままである。
【００２４】
続いて、制御部１ｂは情報処理装置２から呼Ｂに関する振分先の変更指示を受信する。すると、制御部１ｂは呼Ｂの呼処理の要求の振分先を、情報処理装置２から呼情報ＤＢの送信先である情報処理装置３に変更する（図１では変更後のテーブルの図示を省略）。以後、管理装置１は、呼Ｂの呼処理の要求を、情報処理装置２に代えて、情報処理装置３へ送信することになる。このようにして、情報処理装置２に割当てられた呼処理が、情報処理装置３へ再割当てされる。
【００２５】
第１の実施の形態の呼処理システムによれば、情報処理装置２に割当てられた呼処理を情報処理装置３に再割当てする際に、情報処理装置２により、情報処理装置２に記憶された呼情報ＤＡ，ＤＢが情報処理装置３に順次送信される。１つの呼情報（例えば、呼情報ＤＡ）の送信が完了するたびに、当該呼情報（例えば、呼情報ＤＡ）を用いた呼処理の要求の管理装置１による振分先が、情報処理装置２から、情報処理装置３に変更される。
【００２６】
これにより、呼処理の割当てを効率的に変更できる。具体的には次の通りである。例えば、第１の方法として、呼処理の割当てを変更する際、呼情報の送信を開始する前に、移設元の装置から移設先の装置へと呼処理の要求を一括して切替えることも考えられる。しかし、この場合、移設先の装置に対して、大量の要求が集中する可能性が高まる。特に、移設元の装置からの呼情報の転送待ち時間が増大すると、通話への影響（例えば、遅延や中断など）が深刻になるおそれがある。更に、移設先の装置に対して呼処理の要求が集中すると、呼処理の完了まで当該要求を蓄積するために、移設先の装置のメモリなどのリソースが不足するおそれもある。
【００２７】
また、第２の方法として、呼処理の割当てを変更する際、全ての呼情報の送信後に、呼処理の要求の振分先を移設元の装置から移設先の装置へと一括して切替えることも考えられる。しかし、この場合、呼情報の送信中、移設元の装置が送信対象の呼情報に関する要求を受信することになる。このとき、当該要求が移設元の装置で受信されても、当該要求に応じた呼処理を実行するのが難しい。なぜなら、ある呼情報が移設先の装置に送信済であるにも関わらず、移設元の装置で当該呼情報を更新してしまうと、移設先の装置に送った呼情報と整合が取れなくなるからである。よって、この場合には移設元の装置で、送信済の呼情報に対する呼処理の要求を一時的に保持し、全ての呼情報の送信後に、当該要求を移設先の装置に送り、送信先の装置に呼処理を実行させることが考えられる。しかし、この場合も、全ての呼情報の送信が完了するまでに時間がかかると、要求に対する呼処理がタイムアウトして通話が中断され得る。また、送信済の呼情報を用いた呼処理の要求を蓄積するために、移設元の装置のメモリなどのリソースが不足するおそれもある。
【００２８】
一方、第１の実施の形態の呼処理システムによれば、呼情報の送信が完了した呼ごとに、呼処理の要求の振分先が移設先の情報処理装置３に変更される。情報処理装置２から情報処理装置３に対して複数の呼情報が送信されている間は、未送信の呼情報を用いた呼処理を情報処理装置２により実行可能であり、送信済の呼情報を用いた呼処理を情報処理装置３により実行可能である。すなわち、呼情報の送信中も移設対象の複数の呼を分散処理できる。特に、情報処理装置３に再割当てする呼の振分先を情報処理装置３に一度に切替えるわけではないので、呼処理の要求が情報処理装置３に集中することの防止を図れる。また、呼ごとの振分先が呼情報の送信が完了するたびに変更されるので、上記第１，第２の方法のように、情報処理装置２，３の何れかで呼処理の要求を蓄積しなくてよい。このため、情報処理装置２，３のメモリなどのリソースに対する負荷を軽減できる。
【００２９】
なお、呼処理の移設先の装置を１つ（情報処理装置３）としたが、移設先の装置を複数設ける場合も同様である。例えば、記憶部２ａに記憶された複数の呼情報のうちの一部を情報処理装置３に送信し、当該複数の呼情報のうちの他の一部を情報処理装置２，３以外の他の情報処理装置に送信する場合が考えられる。この場合も、移設済の呼の要求の振分先を、管理装置１において、情報処理装置３および他の情報処理装置へと順次切替えていけばよい。１つの移設先の装置に対する移設元の装置および管理装置の処理は、第１の実施の形態の情報処理と同じである。
【００３０】
また、管理装置１および情報処理装置２，３で実行される情報処理は、各装置が備えるＣＰＵ（Central Processing Unit）などのプロセッサが、ＲＡＭ（Random Access Memory）などのメモリに格納されたプログラムを実行することで実現されてもよい。
【００３１】
［第２の実施の形態］
図２は、第２の実施の形態の呼処理システムを示す図である。第２の実施の形態の呼処理システムは、振分サーバ１００、呼処理サーバ２００，３００、端末装置４００およびＩＰ電話機５００，５００ａ，５００ｂを含む。振分サーバ１００は、ネットワーク１０，２０に接続されている。呼処理サーバ２００，３００および端末装置４００は、ネットワーク１０を介して接続されている。ＩＰ電話機５００，５００ａ，５００ｂは、ネットワーク２０を介して接続されている。ネットワーク１０，２０は、ＬＡＮ（Local Area Network）でもよいし、ＷＡＮ（Wide Area Network）やインターネットなどの広域ネットワークでもよい。
【００３２】
振分サーバ１００は、ＩＰ電話機５００，５００ａ，５００ｂから送信されたＳＩＰリクエストを呼処理サーバ２００，３００に振分けるサーバコンピュータである。例えば、振分サーバ１００はラウンドロビンによりＳＩＰリクエストを振分ける。振分サーバ１００は、振分け時点において最小接続数や最小応答時間である呼処理サーバにＳＩＰリクエストを振分けるなど、他の基準により振分け先を決定してもよい。
【００３３】
呼処理サーバ２００，３００は、振分サーバ１００により振分けられたＳＩＰリクエストを受信し、ＳＩＰリクエストに応じた呼処理を行うサーバコンピュータである。呼処理サーバ２００，３００は、ＩＰ電話機５００，５００ａ，５００ｂのＵＲＩ（Uniform Resource Identifier）とＩＰアドレスとの対応関係を管理する。例えば、呼処理サーバ２００，３００は、ＳＩＰリクエストで指定されたＵＲＩに対応するＩＰアドレスを解決し得る。呼処理サーバ２００，３００は、ＩＰ−ＰＢＸと呼ばれる装置でもよい。
【００３４】
ここで、ＩＰ電話機５００，５００ａ，５００ｂにより呼処理サーバ２００，３００に要求される呼処理の内容は、ＳＩＰリクエストのメソッドによって指定される。例えば、セッションの確立には“ＩＮＶＩＴＥ”メソッドが用いられる。また、セッションの終了には“ＢＹＥ”メソッドが用いられる。なお、各セッションは、ＳＩＰリクエストに含まれるＣａｌｌ−ＩＤ（IDentifier）と呼ばれる識別情報により識別される。
【００３５】
例えば、呼処理サーバ２００は、ＩＰ電話機５００からＩＰ電話機５００ａを指定した“ＩＮＶＩＴＥ”メソッドのＳＩＰリクエストを受信すると、ＩＰ電話機５００ａに対して当該ＳＩＰリクエストを転送することで、着信を通知する。ＩＰ電話機５００ａは、当該通知を受けると呼出音などを発することで、ＩＰ電話機５００ａのユーザに着信を知らせる。例えば、呼処理サーバ２００は、通話中にも、ＩＰ電話機５００，５００ａから定期的に送信される所定のＳＩＰリクエスト（例えば、“ＩＮＶＩＴＥ”メソッド）を受信することで、ＩＰ電話機５００，５００ａでセッションが維持されていることを管理できる。呼処理サーバ２００は、セッションが維持されていることを所定時間の間確認できないセッションがあれば、当該セッションを強制的に切断し得る。呼処理サーバ２００は、ＩＰ電話機５００またはＩＰ電話機５００ａから“ＢＹＥ”メソッドのＳＩＰリクエストを受信すると、当該ＳＩＰリクエストを相手側へ転送して、セッションを終了させる。例えば、呼処理サーバ２００は、セッションの確立時刻とセッションの終了時刻とに基づいて、通話時間を把握できる。
【００３６】
端末装置４００は、振分サーバ１００および呼処理サーバ２００，３００に対して制御用の命令を送信するコンピュータである。例えば、端末装置４００は、呼処理サーバ２００，３００に現在割当てられている呼処理の再割当てを行う旨の命令を振分サーバ１００および呼処理サーバ２００，３００に送信する。例えば、システム管理者は、呼処理サーバ２００でメンテナンス作業を行いたい場合、呼処理サーバ２００に現在割当てられている呼処理を呼処理サーバ３００に再割当てする旨を端末装置４００に入力する。すると、端末装置４００は、呼処理サーバ２００に現在割当てられている呼処理を呼処理サーバ３００に再割当てする旨の命令を振分サーバ１００および呼処理サーバ２００に送信する。
【００３７】
ＩＰ電話機５００，５００ａ，５００ｂは、ユーザ間の通話に利用されるＩＰ電話対応の端末装置である。図２では、３台のＩＰ電話機５００，５００ａ，５００ｂを例示しているが、第２の実施の形態の呼処理システムは更に複数のＩＰ電話機を含んでいる。なお、ＩＰ電話機５００，５００ａ，５００ｂに代えて、通話用のソフトウェア（ソフトフォンと呼ばれることもある）を実行するクライアントコンピュータでもよい。ＩＰ電話機５００，５００ａ，５００ｂはスマートフォンやタブレット端末などの電子装置でもよい。
【００３８】
図３は、第２の実施の形態のハードウェア例を示す図である。振分サーバ１００は、プロセッサ１０１、ＲＡＭ（Random Access Memory）１０２、ＨＤＤ（Hard Disk Drive）１０３、通信部１０４，１０５、画像信号処理部１０６、入力信号処理部１０７、ディスクドライブ１０８および機器接続部１０９を有する。各ユニットが振分サーバ１００のバスに接続されている。呼処理サーバ２００，３００および端末装置４００も振分サーバ１００と同様のハードウェア例で実現し得る。
【００３９】
プロセッサ１０１は、振分サーバ１００の情報処理を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）またはＰＬＤ（Programmable Logic Device）などである。プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００４０】
ＲＡＭ１０２は、振分サーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００４１】
ＨＤＤ１０３は、振分サーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。振分サーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４２】
通信部１０４，１０５は、ネットワーク１０，２０を介して他のコンピュータと通信を行えるインタフェースである。通信部１０４，１０５は、有線インタフェースでもよいし、無線インタフェースでもよい。
【００４３】
画像信号処理部１０６は、プロセッサ１０１からの命令に従って、振分サーバ１００に接続されたディスプレイ１１に画像を出力する。ディスプレイ１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４４】
入力信号処理部１０７は、振分サーバ１００に接続された入力デバイス１２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１２としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００４５】
ディスクドライブ１０８は、レーザ光などを利用して、光ディスク１３に記録されたプログラムやデータを読み取る駆動装置である。光ディスク１３として、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などを使用できる。ディスクドライブ１０８は、例えば、プロセッサ１０１からの命令に従って、光ディスク１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４６】
機器接続部１０９は、振分サーバ１００に周辺機器を接続するための通信インタフェースである。例えば、機器接続部１０９にはメモリ装置１４やリーダライタ装置１５を接続できる。メモリ装置１４は、機器接続部１０９との通信機能を搭載した記録媒体である。リーダライタ装置１５は、メモリカード１６へのデータの書き込み、またはメモリカード１６からのデータの読み出しを行う装置である。メモリカード１６は、カード型の記録媒体である。機器接続部１０９は、例えば、プロセッサ１０１からの命令に従って、メモリ装置１４またはメモリカード１６から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４７】
ここで、以下の説明では、呼処理サーバ２００に割当てられた呼処理を呼処理サーバ３００に再割当てする場合を想定する。そこで、呼処理サーバ２００を“移設元”、呼処理サーバ３００を“移設先”と称することがある。ただし、呼処理サーバ３００に割当てられた呼処理を呼処理サーバ２００に再割当てする場合も同様の処理である。
【００４８】
図４は、第２の実施の形態のソフトウェア例を示す図である。図４に示すユニットの一部または全部は、各装置が備えるプロセッサによって実行されるプログラムのモジュールであってもよい。また、図４に示すユニットの一部または全部は、ＦＰＧＡやＡＳＩＣなどの電子回路であってもよい。振分サーバ１００は、記憶部１１０および振分制御部１２０を有する。
【００４９】
記憶部１１０は、振分テーブルを記憶する。振分テーブルは、ＳＩＰリクエストに含まれるＣａｌｌ−ＩＤごとに、当該ＳＩＰリクエストの振分先を登録した情報である。ＳＩＰリクエストには、呼処理サーバ２００，３００および通話先のＩＰ電話機に要求する呼処理の内容を示すメソッドが含まれる。したがって、振分テーブルは、ＳＩＰリクエストに応じた呼処理の割当先を登録した情報であるということもできる。
【００５０】
振分制御部１２０は、記憶部１１０に記憶された振分テーブルに基づいてＳＩＰリクエストの振分先を決定し、決定された振分先に当該ＳＩＰリクエストを転送する。振分制御部１２０は、呼処理サーバ２００，３００からの振分先の変更指示に応じて、記憶部１１０に記憶された振分テーブルの登録内容を書き換えることもある。
【００５１】
呼処理サーバ２００は、記憶部２１０、移設元処理部２２０および呼処理部２３０を有する。記憶部２１０は、移設元処理部２２０および呼処理部２３０の処理に用いられる情報を記憶する。記憶部２１０が記憶する情報は、呼情報テーブル、移設管理テーブルおよびＳＩＰリクエストテーブルを含む。呼情報テーブルは、呼処理サーバ２００の呼処理に用いられる呼情報を登録したテーブルである。移設管理テーブルは、移設先への呼情報の送信状況を管理するためのテーブルである。ＳＩＰリクエストテーブルは、送信中の呼情報に対するＳＩＰリクエストを受け付けた場合に、当該ＳＩＰリクエストを一時的に記憶しておくためのテーブルである。
【００５２】
移設元処理部２２０は、呼処理サーバ３００への呼処理の再割当ての命令を受け付けると、呼情報テーブルに登録された呼情報を呼処理サーバ３００へ順次送信する。移設元処理部２２０は、記憶部２１０に記憶された移設管理テーブルに呼情報の送信状況を登録する。移設元処理部２２０は、１つの呼情報の送信が完了するたびに、振分先の変更指示を振分サーバ１００に送信する。移設元処理部２２０は、送信済みの呼情報を呼情報テーブルから削除する。
【００５３】
呼処理部２３０は、ＳＩＰリクエストを受け付けると、記憶部２１０に記憶された呼情報に基づいて呼処理を行う。ただし、呼処理部２３０は、該当の呼情報を移設先へ送信中の場合、当該ＳＩＰリクエストをＳＩＰリクエストテーブルに退避する。呼処理部２３０は、送信が完了した後で、当該ＳＩＰリクエストを移設先へ転送し、移設先に呼処理を実行させる。
【００５４】
呼処理サーバ３００は、記憶部３１０、移設先処理部３２０および呼処理部３３０を有する。記憶部３１０は、呼情報テーブルを記憶する。呼情報テーブルは、呼処理サーバ３００の呼処理に用いられる呼情報を登録したテーブルである。
【００５５】
移設先処理部３２０は、呼処理サーバ２００から呼情報を受信すると記憶部３１０に記憶された呼情報テーブルに登録する。移設先処理部３２０は、１つの呼情報の受信が完了すると、呼処理サーバ２００に受信完了通知を送信する。
【００５６】
呼処理部３３０は、ＳＩＰリクエストを受け付けると、記憶部３１０に記憶された呼情報に基づいて呼処理を行う。呼処理部３３０は、振分サーバ１００からＳＩＰリクエストを受け付けることもあるし、呼処理サーバ２００からＳＩＰリクエストを受け付けることもある。
【００５７】
図５は、第２の実施の形態の振分テーブルの例を示す図である。振分テーブル１１１は、記憶部１１０に格納される。振分テーブル１１１は、Ｃａｌｌ−ＩＤおよびＩＰアドレスの項目を含む。
【００５８】
Ｃａｌｌ−ＩＤの項目には、通話用のセッション（呼）を識別するためのＩＤ（Ｃａｌｌ−ＩＤ）が登録される。ＩＰアドレスの項目には、当該呼に関するＳＩＰリクエストの転送先のＩＰアドレスが登録される。ここで、ＩＰアドレス“Ａ１”は呼処理サーバ２００のＩＰアドレスである。ＩＰアドレス“Ａ２”は呼処理サーバ３００のＩＰアドレスである。
【００５９】
例えば、振分テーブル１１１には、Ｃａｌｌ−ＩＤが“Ｃ１”、ＩＰアドレスが“Ａ１”という情報が登録される。これは、Ｃａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストを呼処理サーバ２００に転送することを示す。すなわち、Ｃａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストの振分先は、呼処理サーバ２００である。
【００６０】
また、例えば振分テーブル１１１には、Ｃａｌｌ−ＩＤが“Ｃ３”、ＩＰアドレスが“Ａ２”という情報が登録される。これは、Ｃａｌｌ−ＩＤ“Ｃ３”を含むＳＩＰリクエストを呼処理サーバ３００に転送することを示す。すなわち、Ｃａｌｌ−ＩＤ“Ｃ３”を含むＳＩＰリクエストの振分先は、呼処理サーバ３００である。
【００６１】
図６は、第２の実施の形態の移設元の呼情報テーブルの例を示す図である。呼情報テーブル２１１は、記憶部２１０に格納される。呼情報テーブル２１１は、Ｃａｌｌ−ＩＤおよび呼情報の項目を含む。
【００６２】
Ｃａｌｌ−ＩＤの項目には、Ｃａｌｌ−ＩＤが登録される。呼情報の項目には、呼情報が登録される。例えば、呼情報テーブル２１１には、Ｃａｌｌ−ＩＤが“Ｃ１”、呼情報が“Ｘ１”という情報が登録される。すなわち、呼情報“Ｘ１”は、Ｃａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストに対する呼処理に用いられる。呼情報は、呼処理の実行に伴って更新され得る。
【００６３】
ここで、呼情報は呼処理を行うための次のような情報を含む。第１には、呼の状態である。例えば、呼の状態として、（１）セッション開始、（２）通話中および（３）セッション終了などを管理することが考えられる。第２には、タイマ情報である。例えば、呼処理サーバ２００は、セッションが維持されていることを所定時間の間確認できないセッションがあれば、当該セッションを強制的に切断し得る。タイマ情報は、当該所定時間（セッションタイマ）を定めるものである。例えば、セッションタイマを３０秒とすれば、３０秒間、セッション維持を確認できなければ当該セッションを強制的に切断する。セッションタイマは、呼ごとに設定され得る。第３には、呼の管理情報（例えば、各ＩＰ電話の識別情報、通話開始時間および通話終了時間など）である。
【００６４】
図７は、第２の実施の形態の移設管理テーブルの例を示す図である。移設管理テーブル２１２は、記憶部２１０に格納される。移設管理テーブル２１２は、Ｃａｌｌ−ＩＤおよび呼情報送信状態の項目を含む。
【００６５】
Ｃａｌｌ−ＩＤの項目には、Ｃａｌｌ−ＩＤが登録される。呼情報送信状態の項目には、呼情報送信状態を示す情報が登録される。呼情報送信状態は、“送信中”および“送信済”の何れかである。例えば、移設管理テーブル２１２には、Ｃａｌｌ−ＩＤが“Ｃ１”、呼情報送信状態が“送信中”という情報が登録される。これは、Ｃａｌｌ−ＩＤ“Ｃ１”に対応する呼情報“Ｘ１”が、現在、移設先へ送信中であることを示す。当該送信が完了すると、呼情報送信状態の項目は、“送信中”から“送信済”へ変更される。
【００６６】
図８は、第２の実施の形態のＳＩＰリクエストテーブルの例を示す図である。ＳＩＰリクエストテーブル２１３は、記憶部２１０に格納される。ＳＩＰリクエストテーブル２１３は、Ｃａｌｌ−ＩＤおよびＳＩＰリクエストの項目を含む。
【００６７】
Ｃａｌｌ−ＩＤの項目には、Ｃａｌｌ−ＩＤが登録される。ＳＩＰリクエストの項目には、ＳＩＰリクエストのデータが登録される。例えば、ＳＩＰリクエストテーブル２１３には、Ｃａｌｌ−ＩＤが“Ｃ１”、ＳＩＰリクエストが“Ｙ１”という情報が登録される。これは、Ｃａｌｌ−ＩＤ“Ｃ１”に対応する呼情報“Ｘ１”の移設先への送信中に、呼処理サーバ２００がＣａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエスト“Ｙ１”を受け付けたことを示す。なお、ＳＩＰリクエストテーブル２１３は、キューのデータ構造により実現され得る。そうすれば、１つのＣａｌｌ−ＩＤについて、複数のＳＩＰリクエストを続けて受信した場合でも複数のＳＩＰリクエストの到着順を保持できる。
【００６８】
図９は、第２の実施の形態の移設先の呼情報テーブルの例を示す図である。呼情報テーブル３１１は、記憶部３１０に格納される。呼情報テーブル３１１は、Ｃａｌｌ−ＩＤおよび呼情報の項目を含む。
【００６９】
Ｃａｌｌ−ＩＤの項目には、Ｃａｌｌ−ＩＤが登録される。呼情報の項目には、呼情報が登録される。例えば、呼情報テーブル３１１には、Ｃａｌｌ−ＩＤが“Ｃ３”、呼情報が“Ｘ３”という情報が登録される。すなわち、呼情報“Ｘ３”は、Ｃａｌｌ−ＩＤ“Ｃ３”を含むＳＩＰリクエストに対する呼処理に用いられる。
【００７０】
次に、第２の実施の形態の処理の手順を説明する。まず、振分サーバ１００の処理例を説明する。
図１０は、第２の実施の形態の振分処理例（その１）を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
【００７１】
（ステップＳ１１）振分制御部１２０は、呼処理サーバ２００に割当てられた呼処理を呼処理サーバ３００に再割当てする旨を示す移設要求を端末装置４００から受信する。なお、当該移設要求は呼処理サーバ２００にも入力される。すると、呼処理サーバ２００は、呼処理サーバ２００に格納された呼情報を呼処理サーバ３００に順次送信していく。
【００７２】
（ステップＳ１２）振分制御部１２０は、記憶部１１０に記憶された振分テーブル１１１に未登録のＣａｌｌ−ＩＤを含むＳＩＰリクエストの振分先の候補から、呼処理サーバ２００を除外する。ここで、振分テーブル１１１に未登録のＣａｌｌ−ＩＤに対応する呼を新規呼と称することがある。これに対し、振分テーブル１１１に登録済のＣａｌｌ−ＩＤに対応する呼を既存呼と称することがある。第２の実施の形態の例では、ステップＳ１２の後、新規呼の振分先は呼処理サーバ３００になる。振分サーバ１００のこのようなモードを、移設モードと称することがある。
【００７３】
（ステップＳ１３）振分制御部１２０は、呼処理サーバ２００により振分先の変更指示を受信したか否かを判定する。受信した場合、処理をステップＳ１４に進める。受信していない場合、処理をステップＳ１３に進める（受信待ち）。ここで、振分制御部１２０は、呼処理サーバ２００により１件分の呼情報の送信が完了するたびに、振分先の変更指示を受信する。
【００７４】
（ステップＳ１４）振分制御部１２０は、振分先の変更指示に応じて振分テーブル１１１を更新する。例えば、当該変更指示には、Ｃａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエストについて、呼処理サーバ２００から呼処理サーバ３００へ振分先を変更する旨の指示が含まれる。振分制御部１２０は、当該変更指示を受け付けた場合は、振分テーブル１１１のＣａｌｌ−ＩＤ“Ｃ１”に対応するＩＰアドレスを、“Ａ１”から“Ａ２”に変更する。
【００７５】
（ステップＳ１５）振分制御部１２０は、全ての呼について、呼処理サーバ２００から呼処理サーバ３００へ移設が完了したか否かを判定する。完了した場合、処理を終了する。完了していない場合、処理をステップＳ１３に進める。振分制御部１２０は、呼処理サーバ２００のＩＰアドレスが振分テーブル１１１に存在するか否かにより、ステップＳ１５の判定を行える。すなわち、移設元である呼処理サーバ２００のＩＰアドレスが振分テーブル１１１に存在する場合、全ての呼について移設が完了していない。また、移設元である呼処理サーバ２００のＩＰアドレスが振分テーブル１１１に存在していない場合、全ての呼について移設が完了している。
【００７６】
なお、ステップＳ１２の後、呼処理サーバ２００のメンテナンス作業などが完了すると、振分制御部１２０は移設モードを解除する。移設モードが解除されると、呼処理サーバ２００も新規呼の振分先の候補として利用可能になる。振分制御部１２０は、移設モードの解除要求を端末装置４００から受け付けてから移設モードを解除してもよい。
【００７７】
図１１は、第２の実施の形態の振分処理例（その２）を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
（ステップＳ２１）振分制御部１２０は、ＩＰ電話機５００からＳＩＰリクエストを受信する。
【００７８】
（ステップＳ２２）振分制御部１２０は、当該ＳＩＰリクエストが既存呼に関する要求であるか否かを判定する。既存呼の場合は、処理をステップＳ２４に進める。既存呼でない場合（すなわち、新規呼である場合）は、処理をステップＳ２３に進める。例えば、振分制御部１２０は、当該ＳＩＰリクエストに含まれるＣａｌｌ−ＩＤが、振分テーブル１１１に登録済であれば既存呼と判定し、未登録であれば新規呼と判定する。
【００７９】
（ステップＳ２３）振分制御部１２０は、当該ＳＩＰリクエストの振分先を決定する。第２の実施の形態の例では、振分制御部１２０は呼処理サーバ３００を振分先として決定する。振分制御部１２０は、振分テーブル１１１に当該振分内容を登録する。具体的には、振分制御部１２０は、当該ＳＩＰリクエストに含まれるＣａｌｌ−ＩＤと呼処理サーバ３００のＩＰアドレスとを振分テーブル１１１に登録する。そして、処理をステップＳ２６に進める。
【００８０】
（ステップＳ２４）振分制御部１２０は、振分テーブル１１１を参照して、当該ＳＩＰリクエストの転送先を判定する。転送先が移設元（第２の実施の形態では呼処理サーバ２００）である場合、処理をステップＳ２５に進める。転送先が移設元以外（第２の実施の形態では呼処理サーバ３００）である場合、処理をステップＳ２６に進める。
【００８１】
（ステップＳ２５）振分制御部１２０は、当該ＳＩＰリクエストを移設元である呼処理サーバ２００に転送する。そして、処理を終了する。
（ステップＳ２６）振分制御部１２０は、振分テーブル１１１に基づいて呼処理サーバ３００に当該ＳＩＰリクエストを転送する。そして、処理を終了する。
【００８２】
このように、振分制御部１２０は、移設元以外の呼処理サーバに新規呼のＳＩＰリクエストを振分ける。また、振分制御部１２０は、移設元の呼処理サーバまたは移設元以外の呼処理サーバの何れかに既存呼のＳＩＰリクエストを振分ける。具体的には、未移設の既存呼のＳＩＰリクエストを移設元の呼処理サーバに振分ける。一方、移設済の既存呼のＳＩＰリクエストを移設先の呼処理サーバに振分ける。次に、移設元である呼処理サーバ２００の処理例を説明する。
【００８３】
図１２は、第２の実施の形態の呼情報の送信例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
（ステップＳ３１）移設元処理部２２０は、呼処理サーバ２００に割当てられた呼処理を呼処理サーバ３００に再割当てする旨を示す移設要求を端末装置４００から受信する。
【００８４】
（ステップＳ３２）移設元処理部２２０は、記憶部２１０に記憶された呼情報テーブル２１１から呼情報（例えば、呼情報“Ｘ１”）を１件抽出する。
（ステップＳ３３）移設元処理部２２０は、当該呼情報に対応するＣａｌｌ−ＩＤについて、移設管理テーブル２１２に“送信中”を登録する。例えば、呼情報テーブル２１１から呼情報“Ｘ１”（Ｃａｌｌ−ＩＤ“Ｃ１”に対応）を抽出した場合、移設元処理部２２０は、移設管理テーブル２１２において、Ｃａｌｌ−ＩＤ“Ｃ１”、呼情報送信状態“送信中”の組を登録する。
【００８５】
（ステップＳ３４）移設元処理部２２０は、ステップＳ３２で抽出した呼情報を呼処理サーバ３００に送信する。
（ステップＳ３５）移設元処理部２２０は、呼処理サーバ３００から受信完了通知を受信する。
【００８６】
（ステップＳ３６）移設元処理部２２０は、ステップＳ３３で登録したＣａｌｌ−ＩＤに対して移設管理テーブル２１２に“送信済”を記録する。例えば、移設元処理部２２０は、呼処理サーバ３００から呼情報“Ｘ１”の受信完了通知を受信する。すると、移設元処理部２２０は、移設管理テーブル２１２に存在するＣａｌｌ−ＩＤ“Ｃ１”の呼情報送信状態に“送信済”を登録する。移設元処理部２２０は、当該Ｃａｌｌ−ＩＤについて、呼情報の送信が完了した旨を呼処理部２３０に通知する。
【００８７】
（ステップＳ３７）呼処理部２３０は、記憶部２１０に記憶されたＳＩＰリクエストテーブル２１３を参照して、ＳＩＰリクエストが格納されているか否か（すなわち、呼情報の送信中に、当該呼情報に対するＳＩＰリクエストを受付けたか否か）を判定する。格納されている場合、処理をステップＳ３８に進める。格納されていない場合、処理をステップＳ３９に進める。なお、ＳＩＰリクエストテーブル２１３にＳＩＰリクエストが格納されている状態は、呼情報を送信中であったために、呼処理サーバ２００がＳＩＰリクエストを受信したものの当該ＳＩＰリクエストが未だ処理されておらず保留状態にあることを意味する。
【００８８】
（ステップＳ３８）呼処理部２３０は、ＳＩＰリクエストテーブル２１３に格納されているＳＩＰリクエストを呼処理サーバ３００へ転送する。例えば、Ｃａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエスト“Ｙ１”がＳＩＰリクエストテーブル２１３に格納されている場合、呼処理部２３０はＳＩＰリクエスト“Ｙ２”を呼処理サーバ３００へ転送する。
【００８９】
（ステップＳ３９）移設元処理部２２０は、ＳＩＰリクエストの振分先の変更指示を振分サーバ１００に送信する。例えば、移設元処理部２２０は、呼情報“Ｘ１”の送信が完了した場合、Ｃａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエストの振分先を、呼処理サーバ２００から呼処理サーバ３００に変えるように振分サーバ１００に指示する。
【００９０】
（ステップＳ４０）移設元処理部２２０は、送信が完了した呼情報を呼情報テーブル２１１から削除する。例えば、呼情報“Ｘ１”の送信が完了した場合、移設元処理部２２０は、Ｃａｌｌ−ＩＤ“Ｃ１”と呼情報“Ｘ１”とのレコードを呼情報テーブル２１１から削除する。
【００９１】
（ステップＳ４１）移設元処理部２２０は、呼情報テーブル２１１に未送信の呼情報が存在するか否かを判定する。未送信の呼情報が存在する場合、処理をステップＳ３２に進める。未送信の呼情報が存在しない場合、処理を終了する。未送信の呼情報が存在する場合とは、呼情報テーブル２１１にレコードが残っている場合である。未送信の呼情報が存在しない場合とは、呼情報テーブル２１１にレコードが残っていない場合である。
【００９２】
ここで、ステップＳ３７では、呼処理部２３０が、ＳＩＰリクエストテーブル２１３にＳＩＰリクエストが格納されているか否かを判定するものとしたが、移設元処理部２２０が判定してもよい。ＳＩＰリクエストが格納されている場合は、移設元処理部２２０が当該ＳＩＰリクエストを呼処理サーバ３００に転送してもよい。
【００９３】
また、呼処理サーバ３００において、移設先処理部３２０は、１件の呼情報の受信を完了するたびに、呼処理サーバ２００に受信完了通知を送信する。移設先処理部３２０は、受信完了した呼情報に対応するＣａｌｌ−ＩＤを、当該受信完了通知に含めてもよい。呼処理サーバ２００において、何れのＣａｌｌ−ＩＤに対応する呼情報の送信が完了したかを、受信完了通知により判別できるからである。
【００９４】
図１３は、第２の実施の形態の移設元の呼処理の例を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
（ステップＳ５１）呼処理部２３０は、振分サーバ１００により転送されたＳＩＰリクエストを受信する。
【００９５】
（ステップＳ５２）呼処理部２３０は、移設管理テーブル２１２を参照して当該ＳＩＰリクエストのＣａｌｌ−ＩＤについて呼情報送信状態を確認する。移設管理テーブル２１２に呼情報送信状態の登録がない場合（未送信の場合）、処理をステップＳ５３に進める。呼情報送信状態が“送信中”の場合、処理をステップＳ５４に進める。呼情報送信状態が“送信済”の場合、処理をステップＳ５５に進める。
【００９６】
（ステップＳ５３）呼処理部２３０は、ＳＩＰリクエストに応じた呼処理を実行する。そして、処理を終了する。
（ステップＳ５４）呼処理部２３０は、ＳＩＰリクエストテーブル２１３にＳＩＰリクエストを格納することで、当該ＳＩＰリクエストを保持する。そして、処理を終了する。以後、ＳＩＰリクエストテーブル２１３に保持されたＳＩＰリクエストは、図１２で説明したステップＳ３７，Ｓ３８の処理により、呼処理サーバ３００に送信される。
【００９７】
（ステップＳ５５）呼処理部２３０は、ＳＩＰリクエストを破棄する。
（ステップＳ５６）呼処理部２３０は、ＳＩＰリクエストの再送制御を行う。すなわち、呼処理部２３０は、ＳＩＰリクエストの送信元にＳＩＰリクエストを再送するように指示する。ＳＩＰリクエストの再送が行われれば、当該ＳＩＰリクエストに対して振分サーバ１００による振分処理が再度行われる。そうすれば、当該ＳＩＰリクエストは振分サーバ１００により適切な呼処理サーバへ転送され得る。
【００９８】
ステップＳ５６の再送制御を行う理由は、呼情報送信状態が“送信済”にも関わらず、呼処理サーバ２００が、当該呼情報に対応するＳＩＰリクエストを受信してしまう場合が考えられるからである。その要因としては、振分サーバ１００の振分テーブル１１１で当該ＳＩＰリクエストの転送先が未更新であることが考えられる。この場合、再送されたＳＩＰリクエストを振分サーバ１００が受信した際に当該振分テーブル１１１が更新されていれば、ＳＩＰリクエストは適切な呼処理サーバへ転送されることになる。
【００９９】
次に、第２の実施の形態の呼処理システムの処理の流れの例を説明する。まず、呼処理サーバ２００の呼情報を呼処理サーバ３００に移設している際に、振分サーバ１００が当該呼情報に対するＳＩＰリクエストを受信しない場合を例示する。
【０１００】
図１４は、第２の実施の形態の処理例（その１）を示すシーケンス図である。以下、図１４に示す処理をステップ番号に沿って説明する。
（ステップＳＴ１０１）端末装置４００（図１４では図示を省略）は、振分サーバ１００および呼処理サーバ２００に呼情報の移設要求を送信する。振分サーバ１００および呼処理サーバ２００は、当該移設要求を受信する。
【０１０１】
（ステップＳＴ１０２）呼処理サーバ２００は、呼情報テーブル２１１から呼情報を１件抽出する。ここでは、呼処理サーバ２００は、呼情報“Ｘ１”を抽出する。
（ステップＳＴ１０３）呼処理サーバ２００は、呼情報“Ｘ１”に対するＣａｌｌ−ＩＤ“Ｃ１”について、移設管理テーブル２１２に“送信中”を登録する。
【０１０２】
（ステップＳＴ１０４）呼処理サーバ２００は、呼処理サーバ３００へ呼情報“Ｘ１”の送信を開始する。呼処理サーバ３００は、呼情報“Ｘ１”の受信を開始する。
（ステップＳＴ１０５）呼処理サーバ３００は、呼情報“Ｘ１”の受信を完了する。呼処理サーバ３００は、呼情報テーブル３１１に呼情報“Ｘ１”のレコードを登録する。呼処理サーバ３００は、呼情報“Ｘ１”の受信完了通知を呼処理サーバ２００に送信する。呼処理サーバ２００は、呼情報“Ｘ１”の受信完了通知を受信する。
【０１０３】
（ステップＳＴ１０６）呼処理サーバ２００は、呼情報“Ｘ１”に対するＣａｌｌ−ＩＤ“Ｃ１”について、移設管理テーブル２１２に“送信済”を登録する。
（ステップＳＴ１０７）呼処理サーバ２００は、Ｃａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエストの振分先を、呼処理サーバ２００から呼処理サーバ３００に変更する旨の変更指示を振分サーバ１００に送信する。振分サーバ１００は、当該変更指示を受信する。
【０１０４】
（ステップＳＴ１０８）振分サーバ１００は、当該変更指示に応じて振分テーブル１１１を変更する。具体的には、Ｃａｌｌ−ＩＤ“Ｃ１”に対するＩＰアドレスを“Ａ１”から“Ａ２”に変更する。以後、振分サーバ１００は、Ｃａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストを受信した場合、振分テーブル１１１に基づいて、呼処理サーバ３００に転送する。
【０１０５】
（ステップＳＴ１０９）呼処理サーバ２００は、呼情報テーブル２１１から呼情報“Ｘ１”のレコードを削除する。
呼処理サーバ２００から全ての呼情報が送信されるまで、上記ステップＳＴ１０２〜ＳＴ１０９の処理が繰り返し実行される。このとき、呼処理サーバ２００がＳＩＰリクエストを受信することがある。以下では、その場合の流れを例示する。第１の場合として、呼処理サーバ２００の呼情報を呼処理サーバ３００に移設している際に、振分サーバ１００が送信中の呼情報に対するＳＩＰリクエストを受信する場合を例示する。
【０１０６】
図１５は、第２の実施の形態の処理例（その２）を示すシーケンス図である。以下、図１５に示す処理をステップ番号に沿って説明する。
（ステップＳＴ１１１）端末装置４００（図１５では図示を省略）は、振分サーバ１００および呼処理サーバ２００に呼情報の移設要求を送信する。振分サーバ１００および呼処理サーバ２００は、当該移設要求を受信する。
【０１０７】
（ステップＳＴ１１２）呼処理サーバ２００は、呼情報テーブル２１１から呼情報を１件抽出する。ここでは、呼処理サーバ２００は、呼情報“Ｘ１”を抽出する。
（ステップＳＴ１１３）呼処理サーバ２００は、呼情報“Ｘ１”に対するＣａｌｌ−ＩＤ“Ｃ１”について、移設管理テーブル２１２に“送信中”を登録する。
【０１０８】
（ステップＳＴ１１４）呼処理サーバ２００は、呼処理サーバ３００へ呼情報“Ｘ１”の送信を開始する。呼処理サーバ３００は、呼情報“Ｘ１”の受信を開始する。
（ステップＳＴ１１５）振分サーバ１００は、ＩＰ電話機５００（図１５では図示を省略）からＣａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストを受信する。
【０１０９】
（ステップＳＴ１１６）振分サーバ１００は、振分テーブル１１１に基づいて、当該ＳＩＰリクエストを呼処理サーバ２００へ転送する。
（ステップＳＴ１１７）呼処理サーバ２００は、移設管理テーブル２１２を参照し、Ｃａｌｌ−ＩＤ“Ｃ１”の呼情報“Ｘ１”が現在“送信中”の状態にあると判断する。すると、呼処理サーバ２００は、ＳＩＰリクエストテーブル２１３に当該ＳＩＰリクエスト“Ｙ１”を登録する。
【０１１０】
（ステップＳＴ１１８）呼処理サーバ３００は、呼情報“Ｘ１”の受信を完了する。呼処理サーバ３００は、呼情報テーブル３１１に呼情報“Ｘ１”のレコードを登録する。呼処理サーバ３００は、呼情報“Ｘ１”の受信完了通知を呼処理サーバ２００に送信する。呼処理サーバ２００は、呼情報“Ｘ１”の受信完了通知を受信する。
【０１１１】
（ステップＳＴ１１９）呼処理サーバ２００は、呼情報“Ｘ１”に対するＣａｌｌ−ＩＤ“Ｃ１”について、移設管理テーブル２１２に“送信済”を登録する。
（ステップＳＴ１２０）呼処理サーバ２００は、ＳＩＰリクエストテーブル２１３に登録されたＣａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエスト“Ｙ１”を抽出する。呼処理サーバ２００は、Ｃａｌｌ−ＩＤ“Ｃ１”の処理を担う呼処理サーバ３００にＳＩＰリクエスト“Ｙ１”を転送する。呼処理サーバ３００は、ＳＩＰリクエスト“Ｙ１”を受信する。
【０１１２】
（ステップＳＴ１２１）呼処理サーバ３００は、呼情報テーブル３１１に登録された呼情報“Ｘ１”を用いてＳＩＰリクエスト“Ｙ１”に応じた呼処理を実行する。例えば、セッション維持の確認に用いられる“ＩＮＶＩＴＥ”メソッドのＳＩＰリクエストであれば、当該Ｃａｌｌ−ＩＤ“Ｃ１”について呼情報“Ｘ１”に含まれるセッションタイマのリセットなどを行う。あるいは、セッションの切断に用いられる“ＢＹＥ”メソッドであれば、通話の終了時刻を呼情報“Ｘ１”に登録したり、通話先とのセッションを切断するための処理（“ＢＹＥ”メソッドのＳＩＰリクエストの通話先への転送など）を行ったりする。
【０１１３】
（ステップＳＴ１２２）呼処理サーバ３００は、ＳＩＰリクエスト“Ｙ１”に対するＳＩＰレスポンスを、振分サーバ１００を介してＩＰ電話機５００に送信する。例えば、呼処理サーバ３００は、呼情報“Ｘ１”のセッション時間を更新したことによる処理結果について振分サーバ１００を介してＩＰ電話機５００に送信する。
【０１１４】
（ステップＳＴ１２３）呼処理サーバ２００は、Ｃａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエストの振分先を、呼処理サーバ２００から呼処理サーバ３００に変更する旨の変更指示を振分サーバ１００に送信する。振分サーバ１００は、当該変更指示を受信する。
【０１１５】
（ステップＳＴ１２４）振分サーバ１００は、当該変更指示に応じて振分テーブル１１１を変更する。具体的には、Ｃａｌｌ−ＩＤ“Ｃ１”に対するＩＰアドレスを“Ａ１”から“Ａ２”に変更する。以後、振分サーバ１００は、Ｃａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストを受信した場合、振分テーブル１１１に基づいて、呼処理サーバ３００に転送する。
【０１１６】
（ステップＳＴ１２５）呼処理サーバ２００は、呼情報テーブル２１１から呼情報“Ｘ１”のレコードを削除する。
なお、ステップＳＴ１２３〜ＳＴ１２５の処理は、ステップＳＴ１２０の前に実行されてもよい。また、ステップＳＴ１２０〜ＳＴ１２２の処理とステップＳＴ１２３〜ＳＴ１２５の処理は、並列に実行されてもよい。
【０１１７】
次に、第２の場合として、呼処理サーバ２００の呼情報を呼処理サーバ３００に移設している際に、振分サーバ１００が送信中でない呼情報に対するＳＩＰリクエストを受信する場合を例示する。
【０１１８】
図１６は、第２の実施の形態の処理例（その３）を示すシーケンス図である。以下、図１６に示す処理をステップ番号に沿って説明する。
（ステップＳＴ１３１）端末装置４００（図１６では図示を省略）は、振分サーバ１００および呼処理サーバ２００に呼情報の移設要求を送信する。振分サーバ１００および呼処理サーバ２００は、当該移設要求を受信する。
【０１１９】
（ステップＳＴ１３２）呼処理サーバ２００は、呼情報テーブル２１１から呼情報を１件抽出する。ここでは、呼処理サーバ２００は、呼情報“Ｘ１”を抽出する。
（ステップＳＴ１３３）呼処理サーバ２００は、呼情報“Ｘ１”に対するＣａｌｌ−ＩＤ“Ｃ１”について、移設管理テーブル２１２に“送信中”を登録する。
【０１２０】
（ステップＳＴ１３４）呼処理サーバ２００は、呼処理サーバ３００へ呼情報“Ｘ１”の送信を開始する。呼処理サーバ３００は、呼情報“Ｘ１”の受信を開始する。
（ステップＳＴ１３５）振分サーバ１００は、ＩＰ電話機５００（図１６では図示を省略）からＣａｌｌ−ＩＤ“Ｃ２”を含むＳＩＰリクエストを受信する。
【０１２１】
（ステップＳＴ１３６）振分サーバ１００は、振分テーブル１１１に基づいて、当該ＳＩＰリクエストを呼処理サーバ２００へ転送する。
（ステップＳＴ１３７）呼処理サーバ２００は、移設管理テーブル２１２を参照し、Ｃａｌｌ−ＩＤ“Ｃ２”の呼情報“Ｘ２”が未送信の状態（移設管理テーブル２１２に登録されていない状態）にあると判断する。すると、呼処理サーバ２００は、当該ＳＩＰリクエストに応じた呼処理を実行する。呼処理の具体例は図１５のステップＳＴ１２１と同様である。
【０１２２】
（ステップＳＴ１３８）呼処理サーバ２００は、当該ＳＩＰリクエストに対するＳＩＰレスポンスを、振分サーバ１００を介してＩＰ電話機５００に送信する。
（ステップＳＴ１３９）呼処理サーバ３００は、呼情報“Ｘ１”の受信を完了する。呼処理サーバ３００は、呼情報テーブル３１１に呼情報“Ｘ１”のレコードを登録する。呼処理サーバ３００は、呼情報“Ｘ１”の受信完了通知を呼処理サーバ２００に送信する。呼処理サーバ２００は、呼情報“Ｘ１”の受信完了通知を受信する。
【０１２３】
（ステップＳＴ１４０）呼処理サーバ２００は、呼情報“Ｘ１”に対するＣａｌｌ−ＩＤ“Ｃ１”について、移設管理テーブル２１２に“送信済”を登録する。
（ステップＳＴ１４１）呼処理サーバ２００は、Ｃａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエストの振分先を、呼処理サーバ２００から呼処理サーバ３００に変更する旨の変更指示を振分サーバ１００に送信する。振分サーバ１００は、当該変更指示を受信する。
【０１２４】
（ステップＳＴ１４２）振分サーバ１００は、当該変更指示に応じて振分テーブル１１１を変更する。具体的には、Ｃａｌｌ−ＩＤ“Ｃ１”に対するＩＰアドレスを“Ａ１”から“Ａ２”に変更する。以後、振分サーバ１００は、Ｃａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストを受信した場合、振分テーブル１１１に基づいて、呼処理サーバ３００に転送する。
【０１２５】
（ステップＳＴ１４３）呼処理サーバ２００は、呼情報テーブル２１１から呼情報“Ｘ１”のレコードを削除する。
このように、呼処理サーバ２００が呼情報の送信中に当該呼情報と異なる呼情報に関するＳＩＰリクエストを受信することもある。この場合、呼処理サーバ２００は、呼情報の送信処理と並行してＳＩＰリクエストに応じた呼処理を行える。
【０１２６】
次に、第２の実施の形態の処理における各テーブルの登録内容の変化を説明する。まず、送信中の呼情報に対応するＳＩＰリクエストが移設元の呼処理サーバ２００により受信される場合を例示する。
【０１２７】
図１７は、第２の実施の形態の処理におけるテーブル例（その１）を示す図である。以下、図１７に示す処理をステップ番号に沿って説明する。
（ステップＳＴ２０１）呼処理サーバ２００は、呼情報“Ｘ１”を、呼処理サーバ３００に送信中である。このとき、呼情報テーブル２１１は呼情報“Ｘ１”のレコードを含む。また、移設管理テーブル２１２は、Ｃａｌｌ−ＩＤ“Ｃ１”、呼情報送信状態“送信中”のレコードを含む。更に、ステップＳＴ２０１の時点ではＳＩＰリクエストテーブル２１３に登録されているレコードは存在しない。また、この時点で、呼処理サーバ３００は、呼情報テーブル３１１を保持している。
【０１２８】
（ステップＳＴ２０２）振分サーバ１００は、Ｃａｌｌ−ＩＤ“Ｃ１”を含むＳＩＰリクエストをＩＰ電話機５００から受信する。当該ＳＩＰリクエストをＳＩＰリクエスト“Ｙ１”と称する。
【０１２９】
（ステップＳＴ２０３）振分サーバ１００は、振分テーブル１１１に基づいて、ＳＩＰリクエスト“Ｙ１”を呼処理サーバ２００（ＩＰアドレス“Ａ１”）に転送する。呼処理サーバ２００は、ＳＩＰリクエスト“Ｙ１”を受信する。移設管理テーブル２１２によれば、Ｃａｌｌ−ＩＤ“Ｃ１”に対応する呼情報“Ｘ１”は、当該ステップＳＴ２０３の時点で呼情報送信状態が“送信中”である。したがって、呼処理サーバ２００は、ＳＩＰリクエスト“Ｙ１”をＳＩＰリクエストテーブル２１３に格納する。
【０１３０】
（ステップＳＴ２０４）呼処理サーバ３００は、呼情報“Ｘ１”の受信完了通知を呼処理サーバ２００に送信する。呼処理サーバ２００は、当該受信完了通知を受信する。呼処理サーバ２００は、移設管理テーブル２１２において、Ｃａｌｌ−ＩＤ“Ｃ１”の呼情報送信状態を“送信中”から“送信済”に変更する（図１７では図示を省略している）。このとき、呼処理サーバ３００は呼情報テーブル３１１ａを保持する。呼情報テーブル３１１ａは、Ｃａｌｌ−ＩＤ“Ｃ１”および呼情報“Ｘ１”のレコードを含んでいる点が呼情報テーブル３１１と異なる。
【０１３１】
（ステップＳＴ２０５）呼処理サーバ２００は、ＳＩＰリクエストテーブル２１３に登録されたＳＩＰリクエスト“Ｙ１”を呼処理サーバ３００に転送する。呼処理サーバ３００は、ＳＩＰリクエスト“Ｙ１”を受信する。
【０１３２】
（ステップＳＴ２０６）呼処理サーバ３００は、呼情報テーブル３１１ａに登録された呼情報“Ｘ１”を用いてＳＩＰリクエスト“Ｙ１”に応じた呼処理を実行する。呼処理の具体例は図１５のステップＳＴ１２１と同様である。呼処理サーバ３００は、振分サーバ１００を介してＩＰ電話機５００にＳＩＰレスポンスを送信する。
【０１３３】
（ステップＳＴ２０７）呼処理サーバ２００は、振分先の変更指示を振分サーバ１００に送信する。振分サーバ１００は、当該変更指示を受信する。
（ステップＳＴ２０８）振分サーバ１００は、当該変更指示に基づいて、振分テーブル１１１を更新する。具体的には、Ｃａｌｌ−ＩＤ“Ｃ１”のＳＩＰリクエストの振分先を、呼処理サーバ２００（ＩＰアドレス“Ａ１”）に代えて、呼処理サーバ３００（ＩＰアドレス“Ａ２”）とする。なお、呼処理サーバ２００は、Ｃａｌｌ−ＩＤ“Ｃ１”および呼情報“Ｘ１”のレコードを呼情報テーブル２１１から削除する。
【０１３４】
次に、未送信の呼情報に対応するＳＩＰリクエストが移設元の呼処理サーバ２００により受信される場合を例示する。
図１８は、第２の実施の形態の処理におけるテーブル例（その２）を示す図である。以下、図１８に示す処理をステップ番号に沿って説明する。
【０１３５】
（ステップＳＴ２１１）呼処理サーバ２００は、呼情報“Ｘ１”を、呼処理サーバ３００に送信中である。このとき、呼情報テーブル２１１は呼情報“Ｘ１”のレコードを含む。また、移設管理テーブル２１２は、Ｃａｌｌ−ＩＤ“Ｃ１”、呼情報送信状態“送信中”のレコードを含む。更に、ステップＳＴ２１１の時点ではＳＩＰリクエストテーブル２１３に登録されているレコードは存在しない。また、この時点で、呼処理サーバ３００は、呼情報テーブル３１１を保持している。
【０１３６】
（ステップＳＴ２１２）振分サーバ１００は、Ｃａｌｌ−ＩＤ“Ｃ２”を含むＳＩＰリクエストをＩＰ電話機５００から受信する。当該ＳＩＰリクエストをＳＩＰリクエスト“Ｙ２”と称する。
【０１３７】
（ステップＳＴ２１３）振分サーバ１００は、振分テーブル１１１に基づいて、ＳＩＰリクエスト“Ｙ２”を呼処理サーバ２００（ＩＰアドレス“Ａ１”）に転送する。呼処理サーバ２００は、ＳＩＰリクエスト“Ｙ２”を受信する。
【０１３８】
（ステップＳＴ２１４）呼処理サーバ２００は、移設管理テーブル２１２を参照して、Ｃａｌｌ−ＩＤ“Ｃ２”の呼情報送信状態を確認する。移設管理テーブル２１２によれば、Ｃａｌｌ−ＩＤ“Ｃ２”に対応する呼情報“Ｘ２”は、当該ステップＳＴ２１３の時点で未送信である（移設管理テーブル２１２にＣａｌｌ−ＩＤ“Ｃ２”のレコードが存在しない）。したがって、呼処理サーバ２００は、呼情報テーブル２１１に登録された呼情報“Ｘ２”を用いて、ＳＩＰリクエスト“Ｙ２”に応じた呼処理を実行する。呼処理サーバ２００は、ＳＩＰリクエスト“Ｙ２”に応じたＳＩＰレスポンスを、振分サーバ１００を介してＩＰ電話機５００に送信する。
【０１３９】
呼処理サーバ２００は、呼情報“Ｘ１”の送信が完了すると、呼処理サーバ３００に呼情報“Ｘ２”の送信を開始することになる。次に、振分サーバ１００が新規呼のＳＩＰリクエストを受信した場合を例示する。
【０１４０】
図１９は、第２の実施の形態の処理におけるテーブル例（その３）を示す図である。以下、図１９に示す処理をステップ番号に沿って説明する。
（ステップＳＴ２２１）呼処理サーバ２００は、呼情報“Ｘ２”を、呼処理サーバ３００に送信中である。このとき、呼処理サーバ２００は、呼情報テーブル２１１ａおよび移設管理テーブル２１２ａを有する。呼情報テーブル２１１ａは呼情報“Ｘ２”のレコードを含む。移設管理テーブル２１２ａは、Ｃａｌｌ−ＩＤ“Ｃ１”に対して呼情報送信状態“送信済”のレコードおよびＣａｌｌ−ＩＤ“Ｃ２”に対して呼情報送信状態“送信中”のレコードを含む。また、この時点で、呼処理サーバ３００は呼情報テーブル３１１ａを保持している。
【０１４１】
（ステップＳＴ２２２）振分サーバ１００は、Ｃａｌｌ−ＩＤ“Ｃ４”を含むＳＩＰリクエストをＩＰ電話機５００から受信する。当該ＳＩＰリクエストをＳＩＰリクエスト“Ｙ４”と称する。振分サーバ１００は、振分テーブル１１１にＣａｌｌ−ＩＤ“Ｃ４”のレコードが登録されていないため、ＳＩＰリクエスト“Ｙ４”の振分先を新たに決定する。第２の実施の形態では、呼処理サーバ３００が当該新規呼の振分先となる。そこで、振分サーバ１００は、Ｃａｌｌ−ＩＤ“Ｃ４”およびＩＰアドレス“Ａ２”のレコードを振分テーブル１１１に追加する。
【０１４２】
（ステップＳＴ２２３）振分サーバ１００は、振分テーブル１１１に基づいて、ＳＩＰリクエスト“Ｙ４”を呼処理サーバ３００（ＩＰアドレス“Ａ２”）に転送する。呼処理サーバ３００は、ＳＩＰリクエスト“Ｙ４”を受信する。例えば、ＳＩＰリクエスト“Ｙ４”のメソッドはＩＰ電話機５００ａに対する“ＩＮＶＩＴＥ”である。呼処理サーバ３００は、新規呼のＳＩＰリクエスト“Ｙ４”に対して呼情報“Ｘ４”を生成し、Ｃａｌｌ−ＩＤ“Ｃ４”に対応付けて呼情報テーブル３１１ａに登録する。その結果が呼情報テーブル３１１ｂである。例えば、呼処理サーバ３００は“ＩＮＶＩＴＥ”メソッドのＳＩＰリクエストをＩＰ電話機５００ａに送信する。
【０１４３】
（ステップＳＴ２２４）振分サーバ１００は、ＳＩＰリクエスト“Ｙ４”に応じたＳＩＰレスポンス（例えば、“Ｔｒｙｉｎｇ”）を生成し、振分サーバ１００を介してＩＰ電話機５００に送信する。
【０１４４】
第２の実施の形態の呼処理システムによれば、呼情報の送信が完了した呼ごとに、ＳＩＰリクエストの振分先が移設先の呼処理サーバ３００に変更される。呼処理サーバ２００から呼処理サーバ３００に対して複数の呼情報が送信されている間は、未送信の呼情報を用いた呼処理を呼処理サーバ２００により実行可能であり、送信済の呼情報を用いた呼処理を呼処理サーバ３００により実行可能である。すなわち、呼情報の送信中も移設対象の複数の呼を分散処理できる。
【０１４５】
特に、移設先に再割当てする呼の振分先を移設先に一度に切替えるわけではないので、呼処理の要求が移設先に集中することの防止を図れる。したがって、処理待ちにより呼処理がタイムアウトして、通話が途切れたり、通話が中断されたりする可能性を軽減できる。また、呼ごとの振分先が呼情報の送信が完了するたびに変更されるので、呼処理サーバ２００，３００の何れかで多量のＳＩＰリクエストが蓄積される事態を回避し得る。このため、呼処理サーバ２００，３００のメモリなどのリソースに対する負荷を軽減し得る。
【０１４６】
ここで、移設先の呼処理サーバを１つ（呼処理サーバ３００）としたが、移設先の呼処理サーバを複数設けてもよい。例えば、移設元の呼処理サーバ２００が保持する複数の呼情報のうちの一部を呼処理サーバ３００に送信し、当該複数の呼情報のうちの他の一部を呼処理サーバ２００，３００以外の他の呼処理サーバに送信する場合が考えられる。この場合も、移設済の呼情報に対するＳＩＰリクエストの振分先を、振分サーバ１００において、呼処理サーバ３００および他の呼処理サーバへと順次切替えていけばよい。呼処理サーバ３００に対する移設元の呼処理サーバ２００および振分サーバ１００の処理を、移設先の他の呼処理サーバにも適用できる。
【０１４７】
また、第２の実施の形態の呼処理システムでは、振分サーバ１００および呼処理サーバ２００，３００を例示したが、各装置の機能を複数の仮想マシンにより実現してもよい。例えば、サーバコンピュータ上で実行されるハイパーバイザとよばれるソフトウェアが、サーバコンピュータが備えるプロセッサやメモリなどのリソースを仮想マシンに割当てる。仮想マシンは個別にＯＳやアプリケーションを実行することができる。例えば、複数のサーバコンピュータ上で動作する複数の仮想マシンが、振分サーバ１００および呼処理サーバ２００，３００の処理を担うことができる。
【０１４８】
なお、前述のように、第１の実施の形態の情報処理は、制御部１ｂ，２ｂ，３ｂにプログラムを実行させることで実現できる。また、第２の実施の形態の情報処理は、振分サーバ１００および呼処理サーバ２００，３００が備えるプロセッサにプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体（例えば、光ディスク１３、メモリ装置１４およびメモリカード１６など）に記録できる。
【０１４９】
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
【０１５０】
また、上記の情報処理の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１５１】
１  管理装置
１ａ，２ａ，３ａ  記憶部
１ｂ，２ｂ，３ｂ  制御部
２，３  情報処理装置
４，４ａ  情報
【図１】
2014165705.tif 000003
【図２】
2014165705.tif 000004
【図３】
2014165705.tif 000005
【図４】
2014165705.tif 000006
【図５】
2014165705.tif 000007
【図６】
2014165705.tif 000008
【図７】
2014165705.tif 000009
【図８】
2014165705.tif 000010
【図９】
2014165705.tif 000011
【図１０】
2014165705.tif 000012
【図１１】
2014165705.tif 000013
【図１２】
2014165705.tif 000014
【図１３】
2014165705.tif 000015
【図１４】
2014165705.tif 000016
【図１５】
2014165705.tif 000017
【図１６】
2014165705.tif 000018
【図１７】
2014165705.tif 000019
【図１８】
2014165705.tif 000020
【図１９】
2014165705.tif 000021