(57)【特許請求の範囲】
【請求項１】
呼制御信号を受信し、複数の呼制御サーバのうちから前記呼制御信号の振分先を決定し、前記呼制御信号のセッションの接続確認に用いられる呼情報の複製先を決定する信号振分複製先決定装置と、前記信号振分複製先決定装置により振り分けられた前記呼制御信号を受信し、送信先へ転送する呼処理を行う前記複数の呼制御サーバとを備える信号振分複製先決定システムであって、
前記信号振分複製先決定装置は、
前記複数の呼制御サーバそれぞれのＩＤを、所定の並び順の閉じたＩＤ空間上に配置し、自呼制御サーバの前記閉じたＩＤ空間上での配置位置から、所定回りに最初に配置された呼制御サーバを、前記呼情報の複製先として決定し、前記所定回りで前記自呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記自呼制御サーバのＩＤまでの値を、前記自呼制御サーバの担当領域に設定し、
前記呼制御信号を受信すると、前記呼制御信号に含まれるセッションに固有なＩＤを抽出して、前記閉じたＩＤ空間に配置し、前記セッションに固有なＩＤが配置された位置から、所定回りに最初に配置されている前記呼制御サーバを、当該呼制御信号の振分先に決定し、
前記決定した振分先の前記呼制御サーバに、当該呼制御信号を送信する振分処理部と、
前記振分処理部が決定した前記呼制御サーバごとの前記複製先を示す複製先情報を、前記呼制御サーバそれぞれに送信する複製先通知部と、を備え、
前記呼制御サーバは、
前記信号振分複製先決定装置から、前記呼制御信号を受信し、送信先へ転送する呼処理を行う呼接続処理部と、
前記複製先情報を受信して、記憶部に記憶し、
前記受信した呼制御信号に基づき、前記セッションに固有なＩＤを含む前記呼情報を生成して前記記憶部に記憶し、
前記生成した呼情報の複製である呼複製情報を生成し、前記受信した複製先情報に示される前記複製先の呼制御サーバに送信し、
前記呼制御サーバ自身が前記複製先情報に示される前記複製先に該当する場合に、前記呼複製情報を受信し、前記記憶部に記憶する呼情報管理部と、
前記複製先の呼制御サーバの故障を監視する複製先監視部と、を備え、
前記呼制御サーバの前記複製先監視部は、
前記複製先の呼制御サーバの故障を検出し、その故障情報を、前記信号振分複製先決定装置に送信し、
前記信号振分複製先決定装置の振分処理部は、
前記故障情報を受信すると、前記閉じたＩＤ空間に配置された前記故障した呼制御サーバを、前記閉じたＩＤ空間から取り除き、前記故障した呼制御サーバの前記担当領域を、前記故障した呼制御サーバの前記複製先の呼制御サーバに変更し、
前記故障した呼制御サーバを取り除いた前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信すること
を特徴とする信号振分複製先決定システム。
【請求項２】
前記信号振分複製先決定装置は、
新たに増設される前記呼制御サーバのＩＤを含む情報を、入力部を介して取得した場合に、
前記振分処理部は、前記増設される呼制御サーバのＩＤを、前記閉じたＩＤ空間上に配置し、前記増設される呼制御サーバの前記閉じたＩＤ空間での配置位置から、前記所定回りで前記増設される呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記増設される呼制御サーバまでの値を、前記増設される呼制御サーバの前記担当領域に変更し、
前記増設される呼制御サーバを配置した前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信すること
を特徴とする請求項１に記載の信号振分複製先決定システム。
【請求項３】
前記振分処理部は、コンシステントハッシュ法を用いて、前記呼制御サーバのＩＤおよび前記呼制御信号に含まれる前記セッションに固有なＩＤのハッシュ値を、所定のハッシュ関数により計算し、ハッシュ空間上に配置すること
を特徴とする請求項１または請求項２に記載の信号振分複製先決定システム。
【請求項４】
呼制御信号を受信し、複数の呼制御サーバのうちから前記呼制御信号の振分先を決定し、前記呼制御信号のセッションの接続確認に用いられる呼情報の複製先を決定する信号振分複製先決定装置と、前記信号振分複製先決定装置により振り分けられた前記呼制御信号を受信し、送信先へ転送する呼処理を行う前記複数の呼制御サーバとを備える信号振分複製先決定システムの信号振分複製先決定方法であって、
前記信号振分複製先決定装置は、
前記複数の呼制御サーバそれぞれのＩＤを、所定の並び順の閉じたＩＤ空間上に配置し、自呼制御サーバの前記閉じたＩＤ空間上での配置位置から、所定回りに最初に配置された呼制御サーバを、前記呼情報の複製先として決定し、前記所定回りで前記自呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記自呼制御サーバのＩＤまでの値を、前記自呼制御サーバの担当領域に設定するステップと、
前記呼制御信号を受信すると、前記呼制御信号に含まれるセッションに固有なＩＤを抽出して、前記閉じたＩＤ空間に配置し、前記セッションに固有なＩＤが配置された位置から、所定回りに最初に配置されている前記呼制御サーバを、当該呼制御信号の振分先に決定するステップと、
前記決定した振分先の前記呼制御サーバに、当該呼制御信号を送信するステップと、
前記決定した呼制御サーバごとの前記複製先を示す複製先情報を、前記呼制御サーバそれぞれに送信するステップと、を実行し、
前記呼制御サーバは、
前記信号振分複製先決定装置から、前記呼制御信号を受信し、送信先へ転送する呼処理を行うステップと、
前記複製先情報を受信して、記憶部に記憶するステップと、
前記受信した呼制御信号に基づき、前記セッションに固有なＩＤを含む前記呼情報を生成して前記記憶部に記憶するステップと、
前記生成した呼情報の複製である呼複製情報を生成し、前記受信した複製先情報に示される前記複製先の呼制御サーバに送信するステップと、
前記呼制御サーバ自身が前記複製先情報に示される前記複製先に該当する場合に、前記呼複製情報を受信し、前記記憶部に記憶するステップと、
前記複製先の呼制御サーバの故障を監視するステップと、を実行し、
前記呼制御サーバは、
前記複製先の呼制御サーバの故障を監視するステップにおいて、前記複製先の呼制御サーバの故障を検出した場合に、その故障情報を、前記信号振分複製先決定装置に送信するステップを実行し、
前記信号振分複製先決定装置は、
前記故障情報を受信すると、前記閉じたＩＤ空間に配置された前記故障した呼制御サーバを、前記閉じたＩＤ空間から取り除き、前記故障した呼制御サーバの前記担当領域を、前記故障した呼制御サーバの前記複製先の呼制御サーバに変更するステップと、
前記故障した呼制御サーバを取り除いた前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信するステップと、を実行すること
を特徴とする信号振分複製先決定方法。
【請求項５】
前記信号振分複製先決定装置は、
新たに増設される前記呼制御サーバのＩＤを含む情報を、入力部を介して取得した場合に、
前記増設される呼制御サーバのＩＤを、前記閉じたＩＤ空間上に配置し、前記増設される呼制御サーバの前記閉じたＩＤ空間での配置位置から、前記所定回りで前記増設される呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記増設される呼制御サーバまでの値を、前記増設される呼制御サーバの前記担当領域に変更するステップと、
前記増設される呼制御サーバを配置した前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信するステップと、を実行すること
を特徴とする請求項４に記載の信号振分複製先決定方法。
【請求項６】
請求項４または請求項５に記載の信号振分複製先決定方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、呼制御サーバを複数台用いたクラスタ構成での信号処理において、信号の振分先となる呼制御サーバを決定し、さらに、その振り分けた信号から抽出した呼情報の複製先となる呼制御サーバを決定する信号振分複製先決定システム、信号振分複製先決定方法およびプログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングの隆盛に伴い、分散並列処理技術が発展、普及している。また、設備維持コスト低減を目的として通信網のＩＰ（Internet Protocol）化が進んでおり、従来の交換機のような専用のハードウェアではなく、汎用サーバを用いて通信ネットワークによる通信サービスを実現することが一般化している。
【０００３】
呼制御サーバを複数台用いてクラスタ構成を実現する場合において、故障等が原因でクラスタを構成するノード（呼制御サーバ）を減設するときは、他のノードが減設ノードの保持する呼情報の複製を取得し、減設ノード分を肩代わりする必要がある。
【０００４】
呼制御サーバのクラスタ構成を実現する既存の技術として、ＭＳＳ（Mobicents Sip Servlet）が知られている（非特許文献１参照）。ＭＳＳでは、クラスタ内での各ノード（「メンバ」と呼ぶ）が保持する呼情報を、他のノード（「バディ」と呼ぶ）に複製して保持し合う構成としている。ここで、ノード（メンバ）が、自己の保持する呼情報の複製を生成し、他のノード（バディ）に記憶させることを、グラビテーションという。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“Mobicents Sip Servlets,”Red Hat Middleware, LLC., 2011/04/14, ［online］、［平成23年5月12日検索］、インターネット＜http://www.mobicents.org/products_sip_servlets.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＭＳＳでは、メンバが故障すると、ノードの減設を検出し、クラスタを構成する他のノードに呼処理を割り当てるが、故障したノードの複製情報をどのノードが保持しているかを意識することなく割り当てを行う。よって、複製を持っていないノードへの信号振分が発生し、振り分けられたノード（メンバ）は、クラスタ内のすべてのノードに問い合わせ、故障したノード（メンバ）のバディであるノードから、呼情報の複製情報を送信してもらうグラビテーションを行う必要がある。このように、ＭＳＳでは、複製情報を保持しているノードを意識せず、信号振分を行うため、呼情報の複製を取得するために余計なグラビテーションが発生し、処理時間がかかる。これにより、クラスタ全体の処理効率が低下し、ノードの台数の増加と共に性能が向上しないことが問題となる。
【０００７】
このような背景を鑑みて本発明がなされたのであり、本発明は、クラスタのノード数が増減した場合において、呼情報を複製する処理時間を低減させ、呼制御サーバのクラスタ全体として、スケーラブルに呼処理性能を向上させることができる、信号振分複製先決定システム、信号振分複製先決定方法およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、請求項１に記載の発明は、呼制御信号を受信し、複数の呼制御サーバのうちから前記呼制御信号の振分先を決定し、前記呼制御信号のセッションの接続確認に用いられる呼情報の複製先を決定する信号振分複製先決定装置と、前記信号振分複製先決定装置により振り分けられた前記呼制御信号を受信し、送信先へ転送する呼処理を行う前記複数の呼制御サーバとを備える信号振分複製先決定システムであって、前記信号振分複製先決定装置が、前記複数の呼制御サーバそれぞれのＩＤを、所定の並び順の閉じたＩＤ空間上に配置し、自呼制御サーバの前記閉じたＩＤ空間上での配置位置から、所定回りに最初に配置された呼制御サーバを、前記呼情報の複製先として決定し、前記所定回りで前記自呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記自呼制御サーバのＩＤまでの値を、前記自呼制御サーバの担当領域に設定し、前記呼制御信号を受信すると、前記呼制御信号に含まれるセッションに固有なＩＤを抽出して、前記閉じたＩＤ空間に配置し、前記セッションに固有なＩＤが配置された位置から、所定回りに最初に配置されている前記呼制御サーバを、当該呼制御信号の振分先に決定し、前記決定した振分先の前記呼制御サーバに、当該呼制御信号を送信する振分処理部と、前記振分処理部が決定した前記呼制御サーバごとの前記複製先を示す複製先情報を、前記呼制御サーバそれぞれに送信する複製先通知部と、を備え、前記呼制御サーバが、前記信号振分複製先決定装置から、前記呼制御信号を受信し、送信先へ転送する呼処理を行う呼接続処理部と、前記複製先情報を受信して、記憶部に記憶し、前記受信した呼制御信号に基づき、前記セッションに固有なＩＤを含む前記呼情報を生成して前記記憶部に記憶し、前記生成した呼情報の複製である呼複製情報を生成し、前記受信した複製先情報に示される前記複製先の呼制御サーバに送信し、前記呼制御サーバ自身が前記複製先情報に示される前記複製先に該当する場合に、前記呼複製情報を受信し、前記記憶部に記憶する呼情報管理部と、前記複製先の呼制御サーバの故障を監視する複製先監視部と、を備え、前記呼制御サーバの前記複製先監視部が、前記複製先の呼制御サーバの故障を検出し、その故障情報を、前記信号振分複製先決定装置に送信し、前記信号振分複製先決定装置の振分処理部が、前記故障情報を受信すると、前記閉じたＩＤ空間に配置された前記故障した呼制御サーバを、前記閉じたＩＤ空間から取り除き、前記故障した呼制御サーバの前記担当領域を、前記故障した呼制御サーバの前記複製先の呼制御サーバに変更し、前記故障した呼制御サーバを取り除いた前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信することを特徴とする信号振分複製先決定システムとした。
【０００９】
また、請求項４に記載の発明は、呼制御信号を受信し、複数の呼制御サーバのうちから前記呼制御信号の振分先を決定し、前記呼制御信号のセッションの接続確認に用いられる呼情報の複製先を決定する信号振分複製先決定装置と、前記信号振分複製先決定装置により振り分けられた前記呼制御信号を受信し、送信先へ転送する呼処理を行う前記複数の呼制御サーバとを備える信号振分複製先決定システムの信号振分複製先決定方法であって、前記信号振分複製先決定装置が、前記複数の呼制御サーバそれぞれのＩＤを、所定の並び順の閉じたＩＤ空間上に配置し、自呼制御サーバの前記閉じたＩＤ空間上での配置位置から、所定回りに最初に配置された呼制御サーバを、前記呼情報の複製先として決定し、前記所定回りで前記自呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記自呼制御サーバのＩＤまでの値を、前記自呼制御サーバの担当領域に設定するステップと、前記呼制御信号を受信すると、前記呼制御信号に含まれるセッションに固有なＩＤを抽出して、前記閉じたＩＤ空間に配置し、前記セッションに固有なＩＤが配置された位置から、所定回りに最初に配置されている前記呼制御サーバを、当該呼制御信号の振分先に決定するステップと、前記決定した振分先の前記呼制御サーバに、当該呼制御信号を送信するステップと、前記決定した呼制御サーバごとの前記複製先を示す複製先情報を、前記呼制御サーバそれぞれに送信するステップと、を実行し、前記呼制御サーバが、前記信号振分複製先決定装置から、前記呼制御信号を受信し、送信先へ転送する呼処理を行うステップと、前記複製先情報を受信して、記憶部に記憶するステップと、前記受信した呼制御信号に基づき、前記セッションに固有なＩＤを含む前記呼情報を生成して前記記憶部に記憶するステップと、前記生成した呼情報の複製である呼複製情報を生成し、前記受信した複製先情報に示される前記複製先の呼制御サーバに送信するステップと、前記呼制御サーバ自身が前記複製先情報に示される前記複製先に該当する場合に、前記呼複製情報を受信し、前記記憶部に記憶するステップと、前記複製先の呼制御サーバの故障を監視するステップと、を実行し、前記呼制御サーバが、前記複製先の呼制御サーバの故障を監視するステップにおいて、前記複製先の呼制御サーバの故障を検出した場合に、その故障情報を、前記信号振分複製先決定装置に送信するステップを実行し、前記信号振分複製先決定装置が、前記故障情報を受信すると、前記閉じたＩＤ空間に配置された前記故障した呼制御サーバを、前記閉じたＩＤ空間から取り除き、前記故障した呼制御サーバの前記担当領域を、前記故障した呼制御サーバの前記複製先の呼制御サーバに変更するステップと、前記故障した呼制御サーバを取り除いた前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信するステップと、を実行することを特徴とする信号振分複製先決定方法とした。
【００１０】
このようにすることで、信号振分複製先決定システムによれば、故障した呼制御サーバが担当していた呼制御信号のセッションを、その故障した呼制御サーバの呼複製情報を記憶している呼制御サーバに振り分けるため、他の呼制御サーバへの問い合わせや、余計なグラビテーションを発生させずに、呼処理を継続できる。よって、従来技術に比べ、呼情報を複製する処理時間を低減させ、呼制御サーバのクラスタ全体として、呼処理性能を向上させることができる。
【００１１】
請求項２に記載の発明は、前記信号振分複製先決定装置が、新たに増設される前記呼制御サーバのＩＤを含む情報を、入力部を介して取得した場合に、前記振分処理部は、前記増設される呼制御サーバのＩＤを、前記閉じたＩＤ空間上に配置し、前記増設される呼制御サーバの前記閉じたＩＤ空間での配置位置から、前記所定回りで前記増設される呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記増設される呼制御サーバまでの値を、前記増設される呼制御サーバの前記担当領域に変更し、前記増設される呼制御サーバを配置した前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信することを特徴とする請求項１に記載の信号振分複製先決定システムとした。
【００１２】
また、請求項５に記載の発明は、前記信号振分複製先決定装置が、新たに増設される前記呼制御サーバのＩＤを含む情報を、入力部を介して取得した場合に、前記増設される呼制御サーバのＩＤを、前記閉じたＩＤ空間上に配置し、前記増設される呼制御サーバの前記閉じたＩＤ空間での配置位置から、前記所定回りで前記増設される呼制御サーバから１つ前に配置された前記呼制御サーバのＩＤの次の値から、前記所定回りに前記増設される呼制御サーバまでの値を、前記増設される呼制御サーバの前記担当領域に変更するステップと、前記増設される呼制御サーバを配置した前記閉じたＩＤ空間上での各呼制御サーバの配置位置から、前記所定回りに最初に配置された呼制御サーバを、前記複製先として新たに設定し、前記新たな設定により前記複製先が変更となった前記呼制御サーバに、前記複製先情報を送信するステップと、を実行することを特徴とする請求項４に記載の信号振分複製先決定方法とした。
【００１３】
このようにすることで、呼制御サーバが増設された場合であっても、各呼制御サーバは、呼制御信号を受信した際に、自身の記憶部内の呼情報に基づき呼処理を行うことができるため、余計なグラビテーションを発生させず、呼処理を継続できる。したがって、呼制御サーバのクラスタ全体として、スケーラブルに呼処理性能を向上させることができる。
【００１４】
請求項３に記載の発明は、前記振分処理部が、コンシステントハッシュ法を用いて、前記呼制御サーバのＩＤおよび前記呼制御信号に含まれる前記セッションに固有なＩＤのハッシュ値を、所定のハッシュ関数により計算し、ハッシュ空間上に配置することを特徴とする請求項１または請求項２に記載の信号振分複製先決定システムとした。
【００１５】
このようにすることで、信号振分複製先決定装置は、既存のコンシステントハッシュ法を用いて、ハッシュ空間上に、呼制御サーバや呼制御信号のハッシュ値を配置し処理を行うことができる。
【００１６】
請求項６に記載の発明は、請求項４または請求項５に記載の信号振分複製先決定方法を、コンピュータに実行させるためのプログラムとした。
【００１７】
このようなプログラムによれば、請求項４または請求項５に記載の信号振分複製先決定方法を一般的なコンピュータで実現させることができる。
【発明の効果】
【００１８】
本発明によれば、クラスタのノード数が増減した場合において、呼情報を複製する処理時間を低減させ、呼制御サーバのクラスタ全体として、スケーラブルに呼処理性能を向上させる、信号振分複製先決定システム、信号振分複製先決定方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る信号振分複製先決定システムの構成例を示すブロック図である。
【図２】本実施形態に係る信号振分複製先決定装置による、閉じたＩＤ空間を用いた信号振分処理と複製先決定処理とを説明するための図である。
【図３】本実施形態に係る信号振分複製先決定システムの初期設定時および正常時の動作を示すシーケンス図である。
【図４】本実施形態に係る信号振分複製先決定装置による、閉じたＩＤ空間を用いたノード減設時の信号振分処理と複製先決定処理とを説明するための図である。
【図５】本実施形態に係る信号振分複製先決定システムのノード減設時の動作を示すシーケンス図である。
【図６】本実施形態に係る信号振分複製先決定システムのノード増設時の動作を示すシーケンス図である。
【図７】従来技術であるＭＳＳにおける信号振分処理と複製先決定処理とを説明するための図である。
【図８】従来技術であるＭＳＳにおける、ノード減設時の信号振分処理を説明するための図である。
【発明を実施するための形態】
【００２０】
次に、本発明を実施するための形態（以下、「実施形態」という）について、適宜図面を参照しながら詳細に説明する。なお、本実施形態として、複数の呼制御サーバ（ノード２０：図１参照）を備えるクラスタ構成での信号処理において、ＳＩＰ（Session Initiation Protocol）メッセージを各呼制御サーバに振り分け、振り分けられた呼制御サーバが、ＳＩＰメッセージ（呼制御信号）から呼情報２４２（図１参照）を生成し、その生成した呼情報２４２の複製先となる他の呼制御サーバを決定する方法について、以下説明する。
【００２１】
まず、比較例であるＭＳＳにおける信号振分処理と複製先決定処理とについて、図７を参照して、具体的に説明する。
図７（ａ）は、ＭＳＳにおける信号振分処理を説明するための図である。また、図７（ｂ）は、ＭＳＳにおける複製先決定処理を説明するための図である。
【００２２】
図７（ａ）に示すように、ＭＳＳでは、呼処理を行うＳＩＰサーバ（呼制御サーバ）６が複数台（メンバＡ，メンバＢ，メンバＣ，メンバＤ）と、各メンバ（ＳＩＰサーバ６）に対して、呼処理のためのＳＩＰメッセージを振り分けるＳＬＢ（Sip Load Balancer）５とで、クラスタを構成している。
【００２３】
ＳＬＢ５は、外部装置（不図示）から一括してＳＩＰメッセージを受信し、ＳＡＳ（Sip Application Session）をメンバに対して振り分ける。つまり、ＳＬＢ５は、ＳＩＰメッセージを受信すると、そのＳＩＰメッセージを、各メンバに対して振り分ける処理を行う。このＳＬＢ５の振分先を決定するロジックは、例えば、（１）ランダムに振分先を決定する、（２）ＳＡＳのＩＤ（IDentification）（ＳＡＳ-ＩＤ）に対し、メンバ数で割った余り（ＭＯＤ（Modulus））を求める。例えば、余りが「１」の場合、メンバＡに振り分け、余りが「２」の場合、メンバＢに振り分ける等の処理を行う。
【００２４】
また、ＭＳＳでは、ＳＡＳを振り分けられたメンバが、自身の次にクラスタに参加したメンバをバディとして、そのＳＩＰメッセージから生成した呼情報２４２の複製を記憶させる。例えば、図７（ｂ）に示すように、メンバＡのＳＩＰサーバ６は、ＳＩＰメッセージから生成した呼情報２４２（以下、図面において、メンバ（例えばメンバＡ）が生成した呼情報２４２を、「ＳＡＳ−Ａ」のように記載）を複製し、ＳＡＳ−Ａの複製情報を、次にクラスタに参加したメンバＢに記憶させる。同様に、メンバＢが生成したＳＡＳ−Ｂの複製情報を、クラスタへの参加順が次のメンバＣに記憶させる。
なお、呼情報２４２とは、ＳＡＳ-ＩＤ、送信元の識別番号、送信先の識別番号等を含むセッションを継続するために必要な情報である。
【００２５】
次に、図７（ａ）に示す状態で、メンバＡが故障したとすると、図８に示すように、ＳＬＢ５は、本来メンバＡに送信すべきＳＩＰメッセージを、故障したメンバＡに送信することができず、他のメンバに対してＳＡＳを振り分ける処理を行う。この際、メンバＢにＳＡＳを振り分け、そのＳＩＰメッセージを送信すれば、メンバＢは、ＳＡＳ-Ａの複製情報を記憶しているため、呼処理を継続して行えるが、ＳＬＢ５は、メンバＢがメンバＡのバディであることが分からないため、明示的な信号振分ができない。ＳＬＢ５は、振分先決定ロジックとして、上記のように、（１）ランダムか、（２）ＭＯＤを用いた振り分けを行うため、図８に示すように、例えば、ＳＡＳ−Ａの複製情報を持たないメンバＣに対して、そのＳＩＰメッセージを振り分ける。
【００２６】
この場合、メンバＣは、どのメンバが、ＳＡＳ−Ａの複製情報を記憶しているか分からないため、すべてのメンバに対して、ＳＡＳ−Ａの複製情報を記憶しているか否かの問い合わせを行う。そして、メンバＣは、この例では、メンバＢからの応答により、メンバＢがＳＡＳ−Ａの複製情報を記憶していることを知り、メンバＢに対して、ＳＡＳ−Ａの複製情報の送信要求することにより、ＳＡＳ−Ａの複製情報を取得する。
このように、ＳＬＢ５が、故障したメンバが生成した呼情報２４２の複製を記憶しているメンバに対して、明示的に信号振分ができないため、振り分けられたメンバが、故障したメンバの複製情報を記憶していない場合には、その複製情報を取得するための余計なグラビテーションが発生する。
【００２７】
また、クラスタにメンバを増設する場合でも、同様に、ＳＬＢ５が、（１）ランダムか、（２）ＳＡＳ-ＩＤに対し、メンバ数で割った余り（ＭＯＤ）を用いた振り分けを行う。（２）のＭＯＤを用いた振り分けでは、メンバ数の増加により、余りの値が変わるため、対応するメンバが変更となり、結果として、呼処理を継続して行うことができない。よって、（１）ランダムな振り分けでも、（２）のＭＯＤを用いた振り分けでも、従来技術のＭＳＳでは、メンバを増設する場合に、呼情報２４２の複製を取得するための余計なグラビテーションが発生する。
【００２８】
次に、本実施形態に係る信号振分複製先決定システム１について説明する。
なお、以下の説明において、本実施形態における信号振分複製先決定システム１を構成する呼制御サーバをノードと称して説明する。
【００２９】
図１は、本実施形態に係る信号振分複製先決定システム１の構成例を示すブロック図である。図１に示すように、本実施形態に係る信号振分複製先決定システム１は、呼処理を行う複数のノード（メンバ）２０と、ＳＩＰメッセージ（呼制御信号）を一括して受信し、振分先となるノード（メンバ）２０を決定するとともに、呼情報２４２の複製先となるバディを決定する信号振分複製先決定装置１０とを備える。
【００３０】
（信号振分複製先決定処理の概要）
まず、この信号振分複製先決定装置１０が行う、信号振分複製先決定処理の概要について説明する。
この信号振分複製先決定装置１０は、ＳＩＰメッセージの振分先を決定するロジックと、呼情報２４２の複製先を決定するロジックとを、図２、図４に示すような閉じたＩＤ空間を用いて実現する。この閉じたＩＤ空間として、本実施形態では、コンシステントハッシュ法（時計回り方式）を例として説明する。
【００３１】
信号振分複製先決定装置１０は、図２に示すように、各ノード（メンバ）２０のＩＤ（例えば、ＩＰアドレス）に対して、所定のハッシュ関数によりそのハッシュ値を計算し、閉じたＩＤ空間（ハッシュ空間）上に配置する。そして、各メンバは、自身より１つ前に配置されたメンバのハッシュ値の次の値から、時計回りに自身のハッシュ値までを担当領域とする。例えば、メンバＢは、１つ前のメンバＡのハッシュ値の次の値から時計回りにメンバＢ自身のハッシュ値の値までを担当領域とする。信号振分複製先決定装置１０は、ＳＩＰメッセージを受信すると、そのＳＡＳ-ＩＤに対して、所定のハッシュ関数によりそのハッシュ値を計算し、この閉じたＩＤ空間上に配置する。そして、閉じたＩＤ空間上で、そのＳＡＳ-ＩＤのハッシュ値について、時計回りで最初に配置されているメンバを、振分先のメンバに決定する。
【００３２】
また、信号振分複製先決定装置１０は、図２に示すように、閉じたＩＤ空間上に、各メンバを配置すると、その各メンバから時計回りに最初に位置するメンバをバディとして決定する。例えば、メンバＡは、時計回りに隣り合うメンバＢをバディとして、ＳＡＳ−Ａ（呼情報２４２）の複製（呼複製情報２４３）を、メンバＢに記憶させる。メンバＢは、時計回りに隣り合うメンバＣをバディとして、ＳＡＳ−Ｂ（呼情報２４２）の複製（呼複製情報２４３）を、メンバＣに記憶させる。
【００３３】
ここで、メンバＢが故障したとすると、図４に示すように、閉じたＩＤ空間（ハッシュ空間）上でメンバＢの担当領域を、メンバＢから時計回りに配置されたメンバＣが受け持つ。メンバＣは、ＳＡＳ−Ｂの複製（呼複製情報２４３）を記憶しているため、メンバＢが担当するＳＩＰメッセージを受信しても、グラビテーションをする必要はなく、呼処理を継続して行うことができる。また、このとき、メンバＤやメンバＡの担当領域を変更する必要がないため、メンバＢの故障が、従来技術のように、ＳＩＰメッセージの担当メンバのすべての変更になるのではなく、一部のメンバの変更だけで済むメリットがある。
【００３４】
（各装置の構成）
次に、本実施形態に係る信号振分複製先決定システム１を構成する各装置について、図１を参照して、具体的に説明する。
【００３５】
＜信号振分複製先決定装置＞
信号振分複製先決定装置１０は、外部装置（不図示）から一括してＳＩＰメッセージ（呼制御信号）を受信し、呼制御サーバである各ノード（メンバ）２０に振り分ける。また、信号振分複製先決定装置１０は、振分先のノード（メンバ）２０の呼情報２４２の複製先となるノード（バディ）を決定する。
【００３６】
この信号振分複製先決定装置１０は、図１に示すように、制御部１１と、入出力部１２と、メモリ部１３と、記憶部１４とを含んで構成される。
【００３７】
入出力部１２は、他の装置等との間の情報の入出力を行う。例えば、入出力部１２は、外部装置（不図示）から入力されたＳＩＰメッセージや、各ノード２０からバディの故障情報等を受信し、各ノード（メンバ）２０に対し、バディを通知する後記するバディ情報２４１（詳細は後記）等の送信を行う。また、この入出力部１２は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置等との間で入出力を行う入出力インタフェースとから構成される。
【００３８】
制御部１１は、信号振分複製先決定装置１０全体の制御を司り、情報受信部１１１と、振分処理部１１２と、バディ通知部（複製先通知部）１１４と、情報送信部１１５とを含んで構成される。なお、この制御部１１は、例えば、信号振分複製先決定装置１０の記憶部１４に格納されたプログラムをＣＰＵ（Central Processing Unit）がメモリ部１３であるＲＡＭ（Random Access Memory）に展開し実行することで実現される。
【００３９】
情報受信部１１１は、入出力部１２を介して、外部装置（不図示）からのＳＩＰメッセージや、各ノード２０からのバディの故障情報等を取得する。
【００４０】
振分処理部１１２は、情報受信部１１１からＳＩＰメッセージを受け取り、そのＳＩＰメッセージのＳＡＳ-ＩＤを、閉じたＩＤ空間上に配置することで、振分先となるノード（メンバ）２０を決定する。
具体的には、振分処理部１１２は、ハッシュ値計算部１１３を備えており、例えば、コンシステントハッシュ法（時計回り方式）を用いて、各ノード２０のＩＤ（ＩＰアドレス等）のハッシュ値を計算し、閉じたＩＤ空間（ハッシュ空間）上に各サーバ（メンバ）２０を配置する。そして、振分処理部１１２は、情報受信部１１１から、ＳＩＰメッセージを受け取ると、そのＳＩＰメッセージのＳＡＳ-ＩＤのハッシュ値を、ハッシュ値計算部１１３が計算し、閉じたＩＤ空間（ハッシュ空間）上に配置する。続いて、振分処理部１１２は、閉じたＩＤ空間（ハッシュ空間）上でのＳＡＳ-ＩＤのハッシュ値の配置から、時計回りに最初に配置されたノード（メンバ）２０を、振分先として決定する。
【００４１】
また、振分処理部１１２は、閉じたＩＤ空間のノード２０の配置に基づき、各ノード（メンバ）２０の呼情報２４２の複製先となるノード（バディ）２０を決定する。
具体的には、振分処理部１１２は、閉じたＩＤ空間（ハッシュ空間）上の各メンバの配置から、時計回りに次に位置するノード２０をバディとして決定する。
そして、振分処理部１１２は、決定したメンバのノード２０とバディのノード２０との組み合わせを示すメンバ-バディ情報１４１を生成し、記憶部１４に記憶する。
【００４２】
なお、信号振分複製先決定装置１０は、呼情報２４２の複製（呼複製情報２４３）を記憶するバディの保持台数を２台以上設定する場合は、自メンバとその時計回りに配置されバディに決定されたメンバを除いて、そのバディの時計回りに配置された次のメンバを２番目のバディとして決定する。３台目以降も、同様に、最後に決定されたバディに対して、時計回りに次に配置されたメンバをバディとする。
【００４３】
また、振分処理部１１２は、いずれかのノード（メンバ）２０からバディの故障情報を、情報受信部１１１を介して取得すると、閉じたＩＤ空間（ハッシュ空間）上から、故障したノード（バディ）２０を取り除く。このことにより、振分処理部１１２は、故障したノード２０が担当していた担当領域を、故障したノード２０のバディであるノード２０に変更する処理を行う。
【００４４】
振分処理部１１２は、新たなノード２０が信号振分複製先決定システム１に追加される場合には、その増設されるノード２０の情報を、システムの管理者等から入出力部１２を介して取得し、その増設されるノード２０のＩＤ（例えば、ＩＰアドレス）のハッシュ値を、ハッシュ値計算部１１３により、所定のハッシュ関数を用いて計算し、閉じたＩＤ空間（ハッシュ空間）上に配置する。
そして、振分処理部１１２は、閉じたＩＤ空間（ハッシュ空間）上の各メンバの配置から、時計回りに次に位置するノード２０をバディとして決定する。そして、振分処理部１１２は、増設されたノード２０が加わったメンバ-バディ情報１４１を新たに生成し、記憶部１４に記憶されているメンバ-バディ情報１４１を更新する。
【００４５】
バディ通知部（複製先通知部）１１４は、記憶部１４にメンバ-バディ情報１４１が生成されたことを契機に、各ノード（メンバ）２０ごとに、そのノード（メンバ）２０の呼情報２４２の複製先となるバディを通知する（バディ通知）。
また、バディ通知部１１４は、メンバ-バディ情報１４１が更新されると、新たに増設されたメンバ、および、バディが変更となったメンバに対して、バディを通知する（バディ通知）。
【００４６】
情報送信部１１５は、入出力部１２を介して、各ノード（メンバ）２０に対し、バディ通知や、ＳＩＰメッセージ等を送信する。
【００４７】
次に、記憶部１４は、ハードディスクやフラッシュメモリ等の記憶装置からなり、メンバ-バディ情報１４１を記憶している。
【００４８】
メモリ部１３は、ＲＡＭ等の一次記憶装置からなり、制御部１１によるデータ処理に必要な情報を一次的に記憶している。
【００４９】
＜ノード＞
次に、図１を参照して、本実施形態に係るノード２０について説明する。ノード２０は、信号振分複製先決定装置１０からＳＩＰメッセージ（呼制御信号）を受信し、送信元と送信先とのセッション接続を行う呼制御サーバであり、図１に示すように、制御部２１と、入出力部２２と、メモリ部２３と、記憶部２４とを含んで構成される。
【００５０】
入出力部２２は、他の装置等との間の情報の入出力を行う。例えば、入出力部２２は、信号振分複製先決定装置１０から振り分けられたＳＩＰメッセージや、バディ通知等を受信し、信号振分複製先決定装置１０に対して、バディの故障情報等の送信を行う。また、この入出力部２２は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置等との間で入出力を行う入出力インタフェースとから構成される。
【００５１】
制御部２１は、ノード２０全体の制御を司り、情報受信部２１１と、呼接続処理部２１２と、呼情報管理部２１３と、バディ監視部（複製先監視部）２１４と、情報送信部２１５とを含んで構成される。なお、この制御部２１は、例えば、ノード２０の記憶部２４に格納されたプログラムをＣＰＵがメモリ部２３であるＲＡＭに展開し実行することで実現される。
【００５２】
情報受信部２１１は、入出力部２２を介して、信号振分複製先決定装置１０からのＳＩＰメッセージや、バディ通知等を取得する。
【００５３】
呼接続処理部２１２は、ＳＩＰメッセージに基づき、ユーザ認証や、電話番号からＩＰアドレスへの変換、接続先へのルーティング等の処理を行う。
【００５４】
呼情報管理部２１３は、信号振分複製先決定装置１０から自ノード２０のバディを示すバディ通知を受信し、記憶部２４内にバディ情報２４１として記憶する。
呼情報管理部２１３は、受信したＳＩＰメッセージに基づき、ＳＡＳ-ＩＤ、送信元識別番号、送信先識別番号を含む呼情報２４２を生成し、記憶部２４に記憶する。そして、呼情報管理部２１３は、例えば、新たな呼情報２４２を記憶したことを契機として、その呼情報２４２の複製である呼複製情報２４３を生成し、バディ情報２４１に示されるバディへ送信する。
また、呼情報管理部２１３は、自身がバディであるとき、メンバから受信した呼複製情報２４３を記憶部２４に記憶する。
【００５５】
バディ監視部（複製先監視部）２１４は、自メンバのバディに向けて確認メッセージを送信し、バディから確認応答メッセージを受信することで、バディの存在を確認する。なお、ノード２０がバディに該当するとき、バディ監視部２１４は、メンバが送信した確認メッセージを受信すると、メンバに対して確認応答メッセージを返信する。
【００５６】
情報送信部２１５は、入出力部２２を介して、信号振分複製先決定装置１０にバディの故障情報を送信したり、自メンバのバディに呼複製情報２４３を送信したりする。
【００５７】
次に、記憶部２４は、ハードディスクやフラッシュメモリ等の記憶装置からなり、バディ情報２４１、呼情報２４２、呼複製情報２４３等を記憶している。
【００５８】
メモリ部２３は、ＲＡＭ等の一次記憶装置からなり、制御部２１によるデータ処理に必要な情報を一次的に記憶している。
【００５９】
（信号振分複製先決定処理）
次に、本実施形態に係る信号振分複製先決定システム１が行う信号振分複製先決定処理について詳細に説明する。まず、初期設定時および正常時の信号振分複製先決定処理について説明し、続いて、ノード減設（故障）時の信号振分複製先決定処理、ノード増設時の信号振分複製先決定処理について説明する。
【００６０】
＜初期設定時および正常時の信号振分複製先決定処理＞
次に、図３を参照して、信号振分複製先決定システム１が行う、初期設定時および正常時の信号振分複製先決定処理について説明する（適宜、図１および図２参照）。
初期設定時において、信号振分複製先決定装置１０の振分処理部１１２（ハッシュ値計算部１１３）は、図２に示すように、各ノード２０のＩＤ（ＩＰアドレス等）に対して、ハッシュ値を計算し、閉じたＩＤ空間（ハッシュ空間）上に配置する。そして、閉じたＩＤ空間上で時計回りに次のノード２０を自メンバのバディに決定する。また、振分処理部１１２は、ＳＩＰメッセージのＳＡＳ-ＩＤのハッシュ値を計算し、時計回りに最初に配置されたノード（メンバ）２０を、振分先として決定する。以下、図３を参照して詳細に説明する。
【００６１】
図３は、本実施形態に係る信号振分複製先決定システム１の初期設定時および正常時の動作を示すシーケンス図である。
【００６２】
まず、信号振分複製先決定装置１０の振分処理部１１２は、自身と接続する各ノード（メンバ）２０のＩＤ（例えば、ＩＰアドレス）のハッシュ値を、ハッシュ値計算部１１３が、所定のハッシュ関数により計算し、閉じたＩＤ空間（ハッシュ空間）上に配置する（ステップＳ１）。
【００６３】
次に、振分処理部１１２は、閉じたＩＤ空間（ハッシュ空間）上の各ノード（メンバ）２０の配置に基づき、そのノード（メンバ）２０について、時計回りで最初のノード２０をバディとし、記憶部１４内に、メンバ-バディ情報１４１を生成する。そして、振分処理部１１２は、そのノード（メンバ）２０ごとのバディとなるノード２０を示すバディ通知（複製先情報）を、各ノード（メンバ）２０に対し送信する（ステップＳ２）。ここでは、例えば、メンバＡに対しては、メンバＢをバディとして通知し、メンバＢに対しては、メンバＣをバディとして通知する（図２参照）。各ノード(メンバ)２０は、バディ通知を受信し、記憶部２４にバディ情報２４１として記憶する。
【００６４】
そして、信号振分複製先決定装置１０は、ＳＩＰメッセージを受信すると、振分処理部１１２（ハッシュ値計算部１１３）が、そのＳＩＰメッセージに付されたＳＡＳ-ＩＤのハッシュ値を、所定のハッシュ関数により計算し、閉じたＩＤ空間（ハッシュ空間）上に配置する。そして、振分処理部１１２は、そのＳＡＳ-ＩＤのハッシュ値のハッシュ空間上での配置から、時計回りに最初に配置されたノード（メンバ）２０を、振分先として決定する（ステップＳ３）。続いて、振分処理部１１２は、そのＳＩＰメッセージを振分先となるノード（メンバ）２０に送信する（ステップＳ４）。図３においては、振分処理部１１２が、メンバＡを振分先として決定し、ＳＩＰメッセージをメンバＡに送信したことを示している。
【００６５】
ノード２０（メンバＡ）は、信号振分複製先決定装置１０から、ＳＩＰメッセージを受信すると、ノード２０の呼接続処理部２１２が、そのＳＩＰメッセージを送信先に転送する呼処理を実行する（ステップＳ５）。
【００６６】
次に、ノード２０（メンバＡ）の呼情報管理部２１３は、そのＳＩＰメッセージから、ＳＡＳ-ＩＤ、送信元識別番号、送信先識別番号を含む呼情報２４２を生成し、記憶部２４に記憶する（ステップＳ６）。
【００６７】
続いて、呼情報管理部２１３は、呼情報２４２の複製である呼複製情報２４３を生成し、バディ情報２４１に示されるバディへ送信する（ステップＳ７）。ここでは、メンバＡからバディであるメンバＢへ、呼複製情報２４３が送信される。
【００６８】
呼複製情報２４３を受信したバディとなるメンバＢは、自身の記憶部２４にその呼複製情報２４３を記憶する（ステップＳ８）。
【００６９】
本実施形態に係る信号振分複製先決定処理（正常時）においては、信号振分複製先決定装置１０が、ＳＩＰメッセージを受信すると、上記説明したステップＳ３の振分先決定処理を行い、振分先に決定したノード（メンバ）２０へＳＩＰメッセージを送信し、そのバディに呼複製情報２４３を記憶させることができる。
【００７０】
＜減設時の信号振分複製先決定処理＞
次に、図５を参照して、信号振分複製先決定システム１が行う、ノード減設（故障）時の信号振分複製先決定処理について説明する（適宜、図１および図４参照）。
ノード（メンバ）２０が故障等により減設された場合、信号振分複製先決定装置１０は、閉じたＩＤ空間（ハッシュ空間）上で、その減設されたノード（メンバ）２０が担当していた領域を、時計回りで次のメンバに担当させるように処理する。図４に示す例では、メンバＢが故障により減設されたため、メンバＢの担当領域を、時計回りで次に位置するメンバＣが担当する。メンバＣは、ＳＡＳ−Ｂ（呼情報２４２）の複製（呼複製情報２４３）を記憶しているため、メンバＢが担当していたＳＩＰメッセージを受信しても、グラビテーションを発生することなく、処理を継続することができる。以下、図５を参照して詳細に説明する。
【００７１】
図５は、本実施形態に係る信号振分複製先決定システム１のノード減設時の動作を示すシーケンス図である。
【００７２】
まず、各ノード２０（メンバＡ，Ｂ，Ｃ，Ｄ）のバディ監視部２１４は、自身のバディに対して確認メッセージを送信し（ステップＳ１０）、バディとなるノード２０から、確認応答メッセージを受信することで（ステップＳ１１）、バディの存在を確認する。
【００７３】
そして、バディ監視部２１４は、バディに送信した確認メッセージの応答が、所定時間内にないことなどにより、バディに故障等が発生したことを検出し（ステップＳ１２）、ノード（バディ）２０の故障情報を、信号振分複製先決定装置１０へ送信する。ここでは、メンバＡのバディであるメンバＢに故障が発生し、メンバＢの故障情報を、メンバＡのバディ監視部２１４が、信号振分複製先決定装置１０へ送信するものとする。
【００７４】
信号振分複製先決定装置１０の振分処理部１１２は、閉じたＩＤ空間（ハッシュ空間）上から、故障したノード２０（ここでは、メンバＢ）を取り除き、メンバＢの担当領域を、閉じたＩＤ空間（ハッシュ空間）上で時計回りに次のノード２０（メンバＣ）が担当するように変更する（ステップＳ１３；担当領域の変更処理）。また、振分処理部１１２は、記憶部１４内のメンバ-バディ情報１４１において、メンバＡのバディを、メンバＢからメンバＣへ変更する。
【００７５】
そして、信号振分複製先決定装置１０のバディ通知部（複製先通知部）１１４は、バディの故障情報を送信したノード２０（メンバＡ）に対して、変更したメンバ-バディ情報１４１に基づき、そのメンバＡのバディとなるメンバＣを示す新たなバディ通知（複製先情報）を、そのメンバＡに対し送信する（ステップＳ１４）。
【００７６】
新たなバディ通知を受信したバディの故障情報を送信したノード２０（メンバＡ）は、呼情報２４２の複製である呼複製情報２４３を生成し、そのバディ（メンバＣ）に送信する（ステップＳ１５）。そして、メンバＣは、呼複製情報２４３を受信し、記憶部２４の呼複製情報２４３を更新して記憶する（ステップＳ１６）。なお、メンバＣは、呼複製情報２４３を受信することで、自身がバディである場合のメンバが、メンバＢから、呼複製情報２４３を送信してきたメンバＡに変更されたことを知ることができる。
【００７７】
ここで、信号振分複製先決定装置１０は、ＳＩＰメッセージを受信し、振分処理部１１２（ハッシュ値計算部１１３）が、そのＳＩＰメッセージのＳＡＳ-ＩＤのハッシュ値を、所定のハッシュ関数により計算する。その結果、故障したノード２０（メンバＢ）の担当領域の値として、閉じたＩＤ空間（ハッシュ空間）に配置された場合には、振分処理部１１２は、メンバＣを振分先として決定する（ステップＳ１７）。
そして、振分処理部１１２は、そのＳＩＰメッセージを決定した振分先となるメンバＣへ送信する（ステップＳ１８）。
【００７８】
次に、メンバＣは、信号振分複製先決定装置１０から、ＳＩＰメッセージを受信し、呼接続処理部２１２が、呼複製情報２４３を参照して呼処理を行う（ステップＳ１９）。
具体的には、メンバＣの呼接続処理部２１２は、まず、自身の記憶部２４内の呼情報２４２を検索し、受信したＳＩＰメッセージに含まれるＳＡＳ-ＩＤに該当するＳＡＳ-ＩＤの呼情報２４２を記憶しているか否かを判定する。ここでは、受信したＳＩＰメッセージは、故障したノード２０（メンバＢ）が担当していたため、呼情報２４２には記憶されていないと判定される。次に、呼接続処理部２１２は、呼複製情報２４３を検索し、受信したＳＩＰメッセージに含まれるＳＡＳ-ＩＤに該当するＳＡＳ-ＩＤの呼情報２４２を記憶しているか否かを判定する。ここでは、メンバＣは、メンバＢの呼情報２４２の複製である呼複製情報２４３を記憶しているため、該当するＳＡＳ-ＩＤの呼情報２４２が記憶されている。よって、呼接続処理部２１２は、この呼複製情報２４３に記憶されたＳＡＳ-ＩＤの呼情報２４２に基づき、ＳＩＰメッセージの転送等の呼処理を実行する。
【００７９】
次に、メンバＣの呼情報管理部２１３は、自身の呼情報２４２と、故障したノード２０であるメンバＢから取得した呼複製情報２４３とを統合し、新たな呼情報２４２を生成する（ステップＳ２０）。続いて、呼情報管理部２１３は、新たに生成した呼情報２４２の複製である新たな呼複製情報２４３を生成し、バディであるメンバＤに対して送信する（ステップＳ２１）。次に、バディであるメンバＤは、新たな呼複製情報２４３を受信し、記憶部２４の呼複製情報２４３を更新して記憶する（ステップＳ２２）。
【００８０】
このようにすることで、本実施形態に係る、信号振分複製先決定システム１、信号振分複製先決定方法およびプログラムによれば、減設されたメンバが担当していたＳＩＰメッセージを、その減設されたメンバのＳＩＰメッセージの呼複製情報２４３を記憶しているメンバに振り分けるため、他のメンバへの問い合わせや、余計なグラビテーションを発生させずに、そのＳＩＰメッセージの呼処理を継続できる。よって、従来技術に比べ、呼情報２４２を複製する処理時間を低減させ、呼制御サーバのクラスタ全体として、呼処理性能を向上させることができる。
【００８１】
＜増設時の信号振分複製先決定処理＞
次に、図６を参照して、信号振分複製先決定システム１が行う、ノード増設時の信号振分複製先決定処理について説明する（適宜、図１参照）。なお、ここでは、信号振分複製先決定システム１の管理者（不図示）等から、信号振分複製先決定装置１０の入出力部１２を介して、増設するノード２０（ここでは、メンバＥとする）の情報が入力されたものとして説明する。
図６は、本実施形態に係る信号振分複製先決定システム１のノード増設時の動作を示すシーケンス図である。
【００８２】
まず、信号振分複製先決定装置１０の振分処理部１１２（ハッシュ値計算部１１３）は、増設されたノード２０（メンバＥ）のＩＤ（例えば、ＩＰアドレス）のハッシュ値を、所定のハッシュ関数により計算し、閉じたＩＤ空間（ハッシュ空間）上に配置する（ステップＳ３０）。ここでは、ノード２０Ａとノード２０Ｂとの間のハッシュ値として、メンバＥが配置され、担当領域が変更されたものとする。
【００８３】
次に、振分処理部１１２は、閉じたＩＤ空間（ハッシュ空間）上の各ノード２０の配置に基づき、そのノード（メンバ）２０について、時計回りで最初のノード２０を、バディとし、新たなメンバ-バディ情報１４１を生成する。そして、振分処理部１１２は、記憶部１４内に記憶してあるメンバ-バディ情報１４１との変更部分について更新する処理を行う（ステップＳ３１）。
【００８４】
続いて、信号振分複製先決定装置１０のバディ通知部１１４は、新たに決定したバディを通知するため、増設したノード２０（メンバＥ）と、そのメンバＥとメンバ-バディ関係においてメンバとなるメンバＡに対して、更新したメンバ-バディ情報１４１に基づき、そのノード（メンバ）２０のバディ通知（複製先情報）を送信する（ステップＳ３２）。具体的には、バディ通知部１１４は、メンバＡに対しては、新たなバディとしてメンバＥを通知する。また、バディ通知部１１４は、メンバＥに対しては、バディとしてメンバＢを通知する。
【００８５】
新たなバディ通知（複製先情報）を受信した増設したノード２０（メンバＥ）のメンバとなるノード２０（メンバＡ）は、呼情報２４２の複製である呼複製情報２４３を生成し、そのバディ（メンバＥ）に送信する（ステップＳ３３）。そして、バディであるメンバＥは、呼複製情報２４３を受信し記憶部２４に記憶する（ステップＳ３４）。
【００８６】
ここで、信号振分複製先決定装置１０は、ＳＩＰメッセージを受信し、振分処理部１１２が、そのＳＩＰメッセージのＳＡＳ-ＩＤのハッシュ値を、ハッシュ値計算部１１３が計算し、増設したノード２０（メンバＥ）の担当領域の値として、閉じたＩＤ空間（ハッシュ空間）に配置した場合には、そのメンバＥを振分先として決定する（ステップＳ３５）。
そして、振分処理部１１２は、そのＳＩＰメッセージを決定した振分先のメンバＥへ送信する（ステップＳ３６）。
【００８７】
メンバＥは、信号振分複製先決定装置１０から、ＳＩＰメッセージを受信すると、メンバＥの呼接続処理部２１２が、そのＳＩＰメッセージを送信先に転送する呼処理を実行する（ステップＳ３７）。
【００８８】
次に、メンバＥの呼情報管理部２１３は、そのＳＩＰメッセージから、ＳＡＳ-ＩＤ、送信元識別番号、送信先識別番号を含む呼情報２４２を生成し、記憶部２４に記憶する（ステップＳ３８）。
【００８９】
続いて、メンバＥの呼情報管理部２１３は、呼情報２４２の複製である呼複製情報２４３を生成し、バディ情報２４１に示されるメンバＢへ送信する（ステップＳ３９）。
【００９０】
呼複製情報２４３を受信したバディとなるメンバＢは、自身の記憶部２４にその呼複製情報２４３を記憶する（ステップＳ４０）。なお、メンバＢは、呼複製情報２４３を受信することで、自身がバディである場合のメンバが、メンバＡから、呼複製情報２４３を送信してきたメンバＥに変更されたことを知ることができる。
【００９１】
ここで、信号振分複製先決定装置１０は、ＳＩＰメッセージを受信し、振分処理部１１２が、そのＳＩＰメッセージのＳＡＳ-ＩＤのハッシュ値を、ハッシュ値計算部１１３が計算し、増設したメンバＥのバディであるメンバＢの担当領域の値として、閉じたＩＤ空間（ハッシュ空間）に配置した場合には、そのメンバＢを振分先として決定する（ステップＳ４１）。
そして、振分処理部１１２は、そのＳＩＰメッセージを決定した振分先のメンバＢへ送信する（ステップＳ４２）。
【００９２】
メンバＢは、信号振分複製先決定装置１０から、ＳＩＰメッセージを受信すると、呼接続処理部２１２が、自己の呼情報２４２を参照し、そのＳＩＰメッセージを送信先に転送する呼処理を実行する（ステップＳ４３）。
【００９３】
次に、メンバＢの呼情報管理部２１３は、自身の呼情報２４２から、閉じたＩＤ空間（ハッシュ空間）上において、自身の担当領域外となったＳＩＰメッセージの呼情報２４２を削除して、新たな呼情報２４２を生成する（ステップＳ４４）。ここで、呼情報管理部２１３は、メンバＥから受信した呼複製情報２４３を参照し、重複するＳＡＳ-ＩＤの呼情報２４２を削除することで、新たな呼情報２４２を生成することができる。
【００９４】
続いて、メンバＢの呼情報管理部２１３は、新たに生成した呼情報２４２の複製である新たな呼複製情報２４３を生成し、バディであるメンバＣに対して送信する（ステップＳ４５）。次に、バディであるメンバＣは、新たな呼複製情報２４３を受信し、記憶部２４の呼複製情報２４３を更新して記憶する（ステップＳ４６）。
【００９５】
このようにすることで、本実施形態に係る、信号振分複製先決定システム１、信号振分複製先決定方法およびプログラムによれば、ノード２０が増設された場合であっても、各ノード（メンバ）２０は、ＳＩＰメッセージを受信した際に、自身の記憶部２４内の呼情報２４２に基づき呼処理を行うことができるため、余計なグラビテーションを発生させず、呼処理を継続できる。したがって、呼制御サーバのクラスタ全体として、スケーラブルに呼処理性能を向上させることができる。
【符号の説明】
【００９６】
１      信号振分複製先決定システム
１０    信号振分複製先決定装置
１１，２１  制御部
１２，２２  入出力部
１３，２３  メモリ部
１４，２４  記憶部
２０    ノード（呼制御サーバ）
１１１，２１１  情報受信部
１１２  振分処理部
１１３  ハッシュ値計算部
１１４  バディ通知部（複製先通知部）
１１５，２１５  情報送信部
１４１  メンバ-バディ情報
２１２  呼接続処理部
２１３  呼情報管理部
２１４  バディ監視部（複製先監視部）
２４１  バディ情報
２４２  呼情報
２４３  呼複製情報
【図１】
0005658621.tif 000002
【図２】
0005658621.tif 000003
【図３】
0005658621.tif 000004
【図４】
0005658621.tif 000005
【図５】
0005658621.tif 000006
【図６】
0005658621.tif 000007
【図７】
0005658621.tif 000008
【図８】
0005658621.tif 000009