(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散装置であって、
負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更し、
前記ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求を検出するメッセージ解析部と、
前記検出した呼接続要求を処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求を転送するサーバ振分部と、
前記呼接続要求の着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定部と、
前記複数のサーバの負荷情報から、所定のアルゴリズムに従って、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替部と、
を備える、ことを特徴とする負荷分散装置。
【請求項２】
ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置において、
ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析部と、
前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、
前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定部と、
ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替部と、
を備える、ことを特徴とする負荷分散装置。
【請求項３】
前記サーバの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定部に通知し、前記登録情報振替部に、負荷情報に基づくエントリ振替を実行する候補となるサーバの情報を通知する負荷状態分析部をさらに備えている、ことを特徴とする請求項１又は２記載の負荷分散装置。
【請求項４】
前記メッセージ解析部は、
メッセージ送受信部でユーザ端末またはサーバから送信されたメッセージを受信すると、受信したメッセージの種類を検査し、
前記メッセージが要求の場合には、前記受信したメッセージを前記振分先決定部に転送し、
前記メッセージが応答の場合には、前記応答が、前記負荷分散装置から発行した要求に対する応答か否かを判定し、その際、
前記メッセージ送受信部から受信したメッセージに含まれる呼識別子を調査し、前記位置情報登録部から通知されていた呼識別情報と一致する場合には、発行した要求に対する応答と判断し、受信した応答が、前記負荷分散装置から発行した要求に対する応答であると判定した場合には、前記メッセージ解析部は、受信メッセージを、前記位置情報登録部に転送し、
前記受信した応答が、前記負荷分散装置から発行した要求に対する応答でないと判定した場合には、前記メッセージ解析部は、受信メッセージを、前記メッセージ送受信部に転送する、ことを特徴とする請求項１乃至３のいずれか１項に記載の負荷分散装置。
【請求項５】
前記振分先決定部は、
前記メッセージ解析部から要求を受信し要求の種別を検査し、
前記要求が、登録要求の場合には、登録要求の振り分け先となるサーバを決定し、
前記要求が、呼接続要求の場合には、前記呼接続要求の振分先サーバを決定し、前記振分先のサーバに着信側ユーザ端末の登録情報が格納されるように前記位置情報登録部に依頼して振分情報を更新し、
前記要求の種別が、登録及び呼接続要求以外の場合には、前記要求に格納されている呼識別子を抽出し、呼識別子と振分先サーバの識別子の組が格納された表を検索して振分先サーバを決定し、前記要求が終了要求の場合には振分情報を更新し、
前記振分先サーバに、受信メッセージを転送するように、前記メッセージ送受信部に指示する、ことを特徴とする請求項１乃至４のいずれか１項に記載の負荷分散装置。
【請求項６】
前記位置情報登録部は、
指定されたサーバに送信する登録要求を生成し、前記振分先決定部で指定されたサーバに送信するよう、前記メッセージ送受信部に通知し、振分先サーバに着信側ユーザ端末の登録情報が存在するかを問い合わせ、前記振分先サーバに、前記着信側ユーザ端末の登録情報が存在しない場合、前記位置情報登録部は、着信側ユーザ端末の登録情報を格納するサーバを算出し、前記着信側ユーザ端末の登録情報を格納するサーバから前記着信側ユーザ端末の登録情報を取得し、
着信側ユーザ端末の登録情報を、振分先サーバに登録する、ことを特徴とする請求項１乃至５のいずれか１項に記載の負荷分散装置。
【請求項７】
前記メッセージ送受信部は、
メッセージの送信元を調査し、前記負荷分散装置内からのメッセージ受信と判断した場合には、指定された宛先に、受信したメッセージを送付し、
前記負荷分散装置外からのメッセージ受信と判断した場合には、前記メッセージ解析部に、受信したメッセージを送付する、ことを特徴とする請求項１乃至６のいずれか１項に記載の負荷分散装置。
【請求項８】
前記登録情報振替部は、
前記負荷状態分析部からのサーバの情報より、サーバ負荷が設定可能な第１の閾値以下のサーバが存在するか調査し、該当サーバが存在する場合には、該当サーバを低負荷サーバ振替候補リストとしてリストアップし、
前記登録情報振替部は、さらに、
サーバ負荷が設定可能な第２の閾値以上のサーバが存在するか調査し、該当サーバが存在する場合は、前記振分先決定部からのセッション維持情報に基づき、該当サーバにおいて呼処理がされていないユーザ端末が登録されているか調査し、前記ユーザ端末が登録されている場合、該当サーバとユーザ端末の登録情報を組として、高負荷サーバ振替登録リストにリストアップし、
前記高負荷サーバ振替登録リスト内の高負荷サーバとユーザ端末の登録情報の組と、低負荷サーバ振替候補リスト内のサーバから、登録情報振替処理対象の高負荷サーバと、ユーザ端末の登録情報、低負荷サーバを選択して、振替処理を、前記振分先決定部に指示する、ことを特徴とする請求項１乃至７のいずれか１項に記載の負荷分散装置。
【請求項９】
前記位置情報登録部と、前記メッセージ送受信部と、前記負荷状態分析部と、をさらに備え、
前記振分先決定部は、
ユーザ端末またはサーバから送信されてきたパケットの種別を解析し、要求を振り分けてサーバを選定し、
着信側ユーザ端末の登録情報を振り分け対象となるサーバに格納するよう、前記位置情報登録部に依頼し、
要求を振り分け対象となるサーバに転送するように前記メッセージ送受信部に依頼し、
要求の振り分け対象となるサーバを選定する場合に参照する振分情報を管理し、
前記登録情報振替部から提示されたサーバに対するユーザ端末の登録情報振替処理を行う、ことを特徴とする請求項１乃至８のいずれか１項に記載の負荷分散装置。
【請求項１０】
前記位置情報登録部は、
前記振分先決定部が選定したサーバに対して、着信側ユーザ端末の登録情報を格納しているか否かを問い合わせ、
着信側ユーザ端末の登録情報を格納するサーバを特定し、
着信側ユーザ端末の登録情報を取得し、前記振分先決定部が選定したサーバに、前記登録情報を格納し、
前記メッセージ解析部は、
前記メッセージ送受信部から転送されたパケットの種別を解析し、要求または応答が格納されたメッセージの種類を解析し、
要求を前記振分先決定部に送信し、
前記負荷分散装置から送信された要求に対する応答を前記位置情報登録部に送信し、
前記要求に対する応答であるが、前記負荷分散装置が発行した要求以外の要求に対する応答を、前記メッセージ送受信部に送信し、
サーバから通知されるサーバの負荷情報を前記負荷状態分析部に通知し、
前記メッセージ送受信部は、
前記ユーザ端末またはサーバから送信された要求または応答であるメッセージを受信し、
前記振分先決定部により指定されたユーザ端末またはサーバに要求または応答であるメッセージを送信し、
ユーザ端末またはサーバから送信されてきた要求または応答であるメッセージを受信し、前記メッセージ解析部に送信し、
前記負荷状態分析部は、
前記メッセージ解析部から通知される、サーバからの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定部に通知し、
前記登録情報振替部に、負荷情報に基づく登録振替を実行する候補となるサーバの情報を通知し、
前記登録情報振替部は、
前記負荷状態分析部からの登録振替を行うサーバ情報と、前記振分先決定部から取得する登録振替サーバ情報に含まれるサーバで現在呼処理のされていない、登録情報のあるユーザ端末の情報から、前記振分先決定部に対して、登録情報振替対象となるサーバを通知する、ことを特徴とする請求項１乃至９のいずれか１項に記載の負荷分散装置。
【請求項１１】
前記サーバは、ＳＩＰ（ｓｅｓｓｉｏｎ  ｉｎｉｔｉａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）サーバである、ことを特徴とする請求項１乃至１０のいずれか１項に記載の負荷分散装置。
【請求項１２】
請求項１乃至１１のいずれか１項に記載の前記負荷分散装置を備え、複数のサーバ間での負荷分散が行われる、ネットワーク・システム。
【請求項１３】
ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置による負荷分散方法であって、
ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析工程と、
前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、
前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定工程と、
ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替工程と、
を含む、ことを特徴とする負荷分散方法。
【請求項１４】
前記サーバの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定工程に通知し、前記登録情報振替工程に、負荷情報に基づくエントリ振替を実行する候補となるサーバの情報を通知する負荷状態分析工程をさらに含む、ことを特徴とする請求項１３記載の負荷分散方法。
【請求項１５】
前記メッセージ解析工程が、
メッセージ送受信部でユーザ端末またはサーバから送信されたメッセージを受信すると、受信したメッセージの種類を検査し、
要求の場合には、前記受信したメッセージを前記振分先決定工程に転送し、
応答の場合には、前記応答が、前記負荷分散装置から発行した要求に対する応答か否かを判定し、
前記メッセージ送受信工程から受信したメッセージに含まれる呼識別子を調査し、前記位置情報登録部から通知されていた呼識別情報と一致する場合には、発行した要求に対する応答と判断し、
受信した応答が、前記負荷分散装置から発行した要求に対する応答であると判定した場合には、前記メッセージ解析工程は、受信メッセージを前記位置情報登録部に転送し、
前記受信した応答が、前記負荷分散装置から発行した要求に対する応答でないと判定した場合には、前記メッセージ解析工程は、受信メッセージを前記メッセージ送受信工程に転送する、ことを特徴とする請求項１３又は１４記載の負荷分散方法。
【請求項１６】
前記振分先決定工程は、
前記メッセージ解析工程から要求を受信し要求の種別を検査し、
前記要求が、登録要求の場合には、登録要求の振り分け先となるサーバを決定し、
前記要求が、呼接続要求の場合には、前記呼接続要求の振分先サーバを決定し、振分先のサーバに着信側ユーザ端末の登録情報が格納されるよう、前記位置情報登録部に依頼し、振分情報を更新し、
前記要求の種別が、登録及び呼接続要求以外の場合には、前記要求に格納されている呼識別子を抽出し、呼識別子と振分先サーバの識別子の組が格納された表を検索して振分先サーバを決定し、前記要求が終了要求の場合には振分情報を更新し、
前記振分先サーバに受信メッセージを転送するように前記メッセージ送受信工程に指示する、ことを特徴とする請求項１３乃至１５のいずれか１項に記載の負荷分散方法。
【請求項１７】
前記位置情報登録部では、
指定されたサーバに送信する登録要求を生成し、前記振分先決定工程で指定されたサーバに送信するよう、前記メッセージ送受信工程に通知し、振分先サーバに着信側ユーザ端末の登録情報が存在するかを問い合わせ、
前記振分先サーバに着信側ユーザ端末の登録情報が存在しない場合、前記位置情報登録工程は、着信側ユーザ端末の登録情報を格納するサーバを算出し、着信側ユーザ端末の登録情報を格納するサーバから着信側ユーザ端末の登録情報を取得し、
着信側ユーザ端末の登録情報を、振分先サーバに登録する、ことを特徴とする請求項１３乃至１６のいずれか１項に記載の負荷分散方法。
【請求項１８】
前記メッセージ送受信工程は、メッセージの送信元を調査し、負荷分散装置内からのメッセージ受信と判断した場合には、指定された宛先に、受信したメッセージを送付し、
負荷分散装置外からのメッセージ受信と判断した場合には、前記メッセージ解析工程に、受信したメッセージを送付する、ことを特徴とする請求項１３乃至１７のいずれか１項に記載の負荷分散方法。
【請求項１９】
前記登録情報振替工程は、
前記負荷状態分析工程からのサーバの情報より、サーバ負荷が設定可能な第１の閾値以下のサーバがあるか調査し、
該当サーバがある場合には、当該サーバを低負荷サーバ振替候補リストにリストアップし、
サーバ負荷が設定可能な第２の閾値以上のサーバがあるか調査し、
該当サーバがある場合は、前記振分先決定工程からのセッション維持情報に基づき、該当サーバに現在呼処理がされていないユーザ端末が登録されているか調査し、
前記ユーザ端末が登録されている場合、該当するサーバとユーザ端末の登録情報を組として、高負荷サーバ振替登録リストにリストアップし、
前記高負荷サーバ振替登録リスト内の高負荷サーバとユーザ端末の登録情報の組と、低負荷サーバ振替候補リスト内のサーバから、
登録情報振替処理対象の高負荷サーバ、ユーザ端末の登録情報、低負荷サーバを選択して、振替処理を、前記振分先決定工程に指示する、ことを特徴とする請求項１３乃至１８のいずれか１項に記載の負荷分散方法。
【請求項２０】
ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置を構成するコンピュータに、
ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析処理と、
前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、
前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定処理と、
ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替処理と、
を実行させるプログラム。
【請求項２１】
前記サーバの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定処理に通知し、前記登録情報振替処理に、負荷情報に基づくエントリ振替を実行する候補となるサーバの情報を通知する負荷状態分析処理を前記コンピュータに実行させる、ことを特徴とする請求項２０記載のプログラム。
【請求項２２】
前記メッセージ解析処理が、
メッセージ送受信部でユーザ端末またはサーバから送信されたメッセージを受信すると、受信したメッセージの種類を検査し、
要求の場合には、前記受信したメッセージを前記振分先決定処理に転送し、
応答の場合には、前記応答が、前記負荷分散装置から発行した要求に対する応答か否かを判定し、
前記メッセージ送受信処理から受信したメッセージに含まれる呼識別子を調査し、位置情報登録処理から通知されていた呼識別情報と一致する場合には、発行した要求に対する応答と判断し、
受信した応答が、負荷分散装置から発行した要求に対する応答であると判定した場合には、前記メッセージ解析処理は、受信メッセージを位置情報登録処理に転送し、
前記受信した応答が、負荷分散装置から発行した要求に対する応答でないと判定した場合には、前記メッセージ解析処理は、受信メッセージを前記メッセージ送受信処理に転送する、ことを特徴とする請求項２０又は２１記載のプログラム。
【請求項２３】
前記振分先決定処理は、
前記メッセージ解析処理から要求を受信し要求の種別を検査し、
前記要求が、登録要求の場合には、登録要求の振り分け先となるサーバを決定し、
前記要求が、呼接続要求の場合には、前記呼接続要求の振分先サーバを決定し、振分先のサーバに着信側ユーザ端末の登録情報が格納されるよう、位置情報登録処理に依頼し、振分情報を更新し、
前記要求の種別が、登録及び呼接続要求以外の場合には、前記要求に格納されている呼識別子を抽出し、呼識別子と振分先サーバの識別子の組が格納された表を検索して振分先サーバを決定し、前記要求が終了要求の場合には振分情報を更新し、
前記振分先サーバに受信メッセージを転送するように前記メッセージ送受信処理に指示する、ことを特徴とする請求項２０乃至２２のいずれか１項に記載のプログラム。
【請求項２４】
位置情報登録処理は、
指定されたサーバに送信する登録要求を生成し、前記振分先決定処理で指定されたサーバに送信するよう、前記メッセージ送受信処理に通知し、振分先サーバに着信側ユーザ端末の登録情報が存在するかを問い合わせ、
前記振分先サーバに着信側ユーザ端末の登録情報が存在しない場合、前記位置情報登録処理は、着信側ユーザ端末の登録情報を格納するサーバを算出し、着信側ユーザ端末の登録情報を格納するサーバから着信側ユーザ端末の登録情報を取得し、
位置情報登録処理は、着信側ユーザ端末の登録情報を、振分先サーバに登録する、ことを特徴とする請求項２０乃至２３のいずれか１項に記載のプログラム。
【請求項２５】
前記メッセージ送受信処理は、
メッセージの送信元を調査し、負荷分散装置内からのメッセージ受信と判断した場合には、指定された宛先に、受信したメッセージを送付し、
負荷分散装置外からのメッセージ受信と判断した場合には、前記メッセージ解析処理に、受信したメッセージを送付する、ことを特徴とする請求項２０乃至２４のいずれか１項に記載のプログラム。
【請求項２６】
前記登録情報振替処理は、
前記負荷状態分析処理からのサーバの情報より、サーバ負荷が設定可能な第１の閾値以下のサーバがあるか調査し、該当サーバがある場合には、登録情報振替処理は、当該サーバを低負荷サーバ振替候補リストにリストアップし、
サーバ負荷が設定可能な第２の閾値以上のサーバがあるか調査し、該当サーバがある場合は、前記振分先決定処理からのセッション維持情報に基づき、該当サーバに現在呼処理がされていないユーザ端末が登録されているか調査し、前記ユーザ端末が登録されている場合、該当するサーバとユーザ端末の登録情報を組として、高負荷サーバ振替登録リストにリストアップし、
前記高負荷サーバ振替登録リスト内の高負荷サーバとユーザ端末の登録情報の組と、低負荷サーバ振替候補リスト内のサーバから、登録情報振替処理対象の高負荷サーバ、ユーザ端末の登録情報、低負荷サーバを選択して、振替処理を前記振分先決定処理に指示する、ことを特徴とする請求項２０乃至２５のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散装置、方法、及び、プログラムに関し、更に詳しくは、ＳＩＰ（ｓｅｓｓｉｏｎ  ｉｎｉｔｉａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）を使用してシグナリングを行う通信網に好適に利用され、サーバの負荷を分散させる負荷分散装置、負荷分散方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、ＶｏＩＰ（ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）に見られるように、ＩＰ網を使用したリアルタイム・コミュニケーションが普及している。例えば、電話端末やパソコンなどの、リアルタイム・コミュニケーションを行う両端の端末間接続を確立する国際標準プロトコルとしてＳＩＰ（ｓｅｓｓｉｏｎ  ｉｎｉｔｉａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）を採用する状況が多くなっている。なお、本書では、ＳＩＰを使用してシグナリングを行う通信網を「ＳＩＰネットワーク」と呼ぶ。
【０００３】
ＳＩＰネットワークの一般的な構成については、例えば特許文献１および非特許文献１の記載が参照される。
【０００４】
ＳＩＰネットワークは、ロケーション・サーバと、ＳＩＰサーバと、ユーザ・エージェント（ＵＡ：  ｕｓｅｒ  ａｇｅｎｔ）とから構成されている。
【０００５】
ＵＡは、非特許文献１のＰ．７６に、「ＳＩＰは、エンド・システム間のクライアント−サーバ・モデルに基づいています。このエンド・システムに相当するのが、ユーザ・エージェント（ＵＡ：  Ｕｓｅｒ  Ａｇｅｎｔ）です。ユーザ・エージェントとは、具体的には電話機やパソコンなどのエンド・システムのことですが、これらのエンド・システム間でリクエスト（要求）とレスポンス（応答）をやり取りすることによって、サービスを実現します」と説明されている。
【０００６】
本書では、上記説明文記載のリクエストを「ＳＩＰ要求」、レスポンスを「ＳＩＰ応答」と呼ぶ。
【０００７】
ＳＩＰサーバは、非特許文献１のＰ．７７に記載されているように、
（ａ）ＳＩＰ要求やＳＩＰ応答を中継するプロキシ・サーバ機能と、
（ｂ）ＳＩＰ要求の宛先の問合せに利用するリダイレクト・サーバ機能と、
（ｃ）ＳＩＰネットワーク上のＵＡの位置情報の登録を受け付ける登録サーバ機能と、
を有する。
【０００８】
ロケーション・サーバは、非特許文献１のＰ．８１に、「登録サーバで維持されるＵＡの情報を蓄積し、プロキシ・サーバ機能やリダイレクト・サーバ機能によって利用される、データベース・サービスを提供します」と記載されている。具体的には、非特許文献１のＰ．１１２に記載されているように、ＳＩＰ要求のＲＥＧＩＳＴＧＥＲリクエストを使用して、ＵＡの位置情報を蓄積する。なお、本書では、このＲＥＧＩＳＴＥＲリクエストにより、ロケーション・サービスに登録されるＵＡの位置情報を「ＲＥＧＩＳＴＥＲエントリ」と呼ぶ。
【０００９】
更に、非特許文献１のＰ．８１に、「ＳＩＰではロケーション・サーバへのアクセスの方法を規定していません」との記述があるように、ＳＩＰサーバとロケーション・サーバの対応は規定されていない。従って、特許文献１に記載のように、ＳＩＰサーバとロケーションサーバの組み合わせに関しては複数の構成が存在する。１つは、１つのロケーション・サーバを複数のプロキシ・サーバ機能で共有するモデルである。このモデルを「共有モデル」と呼ぶ。
【００１０】
他方は、１つのＳＩＰサーバにロケーション・サーバ機能を配備させるモデルである。
このモデルを「専有モデル」と呼ぶ。
【００１１】
上記のような特徴を持つＳＩＰサーバ（特に、プロキシ・サーバ機能）を負荷分散する関連技術としては、一般的に、特許文献１、特許文献２、特許文献３等に記載された方式が知られている。
【００１２】
負荷分散装置は、ＳＩＰ要求に格納されているＣａｌｌ−ＩＤヘッダの値（呼識別子、「Ｃａｌｌ−ＩＤ」とも略記される）と、ＳＩＰ要求の振分先となるＳＩＰサーバ（特に、プロキシ・サーバ機能）との対応表を備えている。
【００１３】
負荷分散装置は、ＳＳＩＰ要求に格納されているＣａｌｌ−ＩＤを抽出し、このＣａｌｌ−ＩＤを検索キーとして上述した対応表を検索する。
【００１４】
この検索の結果、検出されたＳＩＰサーバ（特に、プロキシ・サーバ機能）にＳＩＰ要求を転送する（特許文献１、特許文献２、特許文献３等参照）。
【００１５】
また、ＳＩＰサーバを負荷分散する関連技術として、特許文献１には、専有モデルのＳＩＰサーバにおいて、ユーザ端末の位置情報を示すＲＥＧＩＳＴＥＲエントリが分散配置された環境においても、ユーザ端末のＲＥＧＩＳＴＥＲエントリの存在するサーバを迅速に特定し、該当するサーバからＲＥＧＩＳＴＥＲエントリを取得し、振分先サーバに格納することで、呼接続要求の転送先サーバにおいて呼接続要求の処理を可能にさせる、負荷分散装置が開示されている。
【００１６】
また、ＳＩＰサーバを負荷分散する関連技術として、特許文献２には、専有モデルのＳＩＰサーバにおいて、同一ユーザ端末の位置情報を示すＲＥＧＩＳＴＥＲエントリを全ＳＩＰサーバに登録することを特徴とした負荷分散装置が開示されている。複数のＳＩＰ端末及び複数のＳＩＰサーバとネットワークを介して接続された負荷分散装置は、ＳＩＰサーバへの登録要求を識別する登録要求識別部と、識別されたＳＩＰ端末からの登録要求を複製する登録要求複製部と、複製された登録要求を全てのＳＩＰサーバに送信する振り分け制御部と、ＳＩＰ端末の優先接続サーバ情報を管理する振り分け情報管理部と、各ＳＩＰサーバの負荷を監視するＳＩＰサーバ負荷監視部とを備え、振り分け制御部は、発呼したＳＩＰ端末に対応する優先接続サーバが低負荷であるとき、優先接続サーバにＳＩＰ端末からのセッションを転送する。
【００１７】
また、特許文献３には、第３世代移動体通信システムの標準化団体である３ＧＰＰ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）において標準化が進められているＩＭＳ（ＩＰ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｕｂｓｙｓｔｅｍ）での、Ｐ−ＣＳＣＦ（Ｐｒｏｘｙ  Ｃａｌｌ  Ｓｅｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｆｕｎｃｔｉｏｎ）、Ｉ−ＣＳＣＦ（Ｉｎｔｅｒｒｏｇａｔｉｎｇ  Ｃａｌｌ  Ｓｅｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｆｕｎｃｔｉｏｎ）、Ｓ−ＣＳＣＦ（Ｓｅｒｖｉｎｇ  Ｃａｌｌ  Ｓｅｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｆｕｎｃｔｉｏｎ）の３つのＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバを介したセッション管理のシステムにおける負荷分散装置が開示されている。このシステムにおいては、ＲＥＧＩＳＴＥＲエントリが個別にＳ−ＣＳＣＦに分散配置される専有モデルの構成となっている。
【００１８】
【特許文献１】特開２００７−６０２１０号公報
【特許文献２】特開２００７−４３６１号公報
【特許文献３】特開２００７−２２１２６５号公報
【非特許文献１】「改訂版  ＳＩＰ教科書」Ｐ．７８の図３−２「ユーザ・エージェントとＳＩＰサーバの関係」
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上記特許文献１、２、３、非特許文献１の各開示は、引用をもって本書に組み込まれる。以下に、本発明による関連技術の分析を与える。
【００２０】
第１の問題点は、専有モデル型ＳＩＰサーバの構成の場合、ＳＩＰ  ＵＡと、処理を実行するＳＩＰサーバとの対応が、ＲＥＧＩＳＴＥＲ登録時に固定的に確定するため、当該ＳＩＰサーバの負荷が変動して高負荷状態となっても、当該ＳＩＰサーバ以外のＳＩＰサーバに処理を移譲することができない、ということである。
【００２１】
専有モデル型ＳＩＰサーバの構成の場合、ＳＩＰ  ＵＡがＲＥＧＩＳＴＥＲ要求を出した際に、ＲＥＧＩＳＴＥＲエントリの登録されるサーバが決定する。
【００２２】
ＳＩＰサーバの処理は、ＲＥＧＩＳＴＥＲに対する処理だけでなく、ＩＮＶＩＴＥで開始され（すなわち発信処理）、ＢＹＥで完了するＳｅｓｓｉｏｎ開設・維持・終了処理が存在する。このとき、当該ＳＩＰサーバの処理に着目すると、当該ＳＩＰサーバにＲＥＧＩＳＴＥＲ登録されている１個のＳＩＰ  ＵＡからは複数のＳｅｓｓｉｏｎ処理が発生しうる。従って、ＲＥＧＩＳＴＥＲ登録されているＳＩＰ  ＵＡの個数の整数倍に比例した数のＳｅｓｓｉｏｎ処理を実行する必要が発生し得る。
【００２３】
またＩＮＶＩＴＥ応答（すなわち着信処理）の場合、ＲＥＧＩＳＴＥＲエントリの存在しないＳＩＰ  ＵＡからのＩＮＶＩＴＥが他ＳＩＰサーバからの中継で当該ＳＩＰサーバに到着し、当該ＳＩＰサーバは、自サーバ管理下のＳＩＰ  ＵＡへのＩＮＶＩＴＥ応答中継処理を実行しなければならない。
【００２４】
ＳＩＰ  ＵＡからは、どのＳＩＰサーバにＲＥＧＩＳＴＥＲ登録されたかは負荷分散装置によって隠蔽されており判別がつかず、当該ＳＩＰ  ＵＡが所属しているＳＩＰサーバが高負荷状態になっていても、当該ＳＩＰ  ＵＡが新規ＩＮＶＩＴＥを発行する場合、当該高負荷状態のＳＩＰサーバに対して処理を実行させることとなる。
【００２５】
その際、同一の負荷分散装置に接続している他のＳＩＰサーバの負荷が低い状態であっても、当該ＳＩＰ  ＵＡのＲＥＧＩＳＴＥＲ登録情報が無いため、負荷が低い他のＳＩＰサーバへ処理を移譲することができない。
【００２６】
したがって、本発明の目的は、ユーザ端末より負荷分散装置を経由して接続される複数のサーバ間で、負荷分散を目的としてＲｅｇｉｓｔｏｒｙ登録を動的に移設することを可能とする負荷分散装置および負荷分散制御方法を提供することにある。
【課題を解決するための手段】
【００２７】
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
【００２８】
本発明の１つの側面によれば、ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散装置であって、負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更する負荷分散装置が提供される。
【００２９】
本発明においては、ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置が、ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析部と、前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとを対応付けて記憶する記憶装置を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する登録情報取得部と、ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を判断、実行する登録情報振替部と、を備える。
【００３０】
本発明によれば、ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散方法であって、
負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更する負荷分散方法が提供される。
【００３１】
本発明によれば、ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散装置を構成するコンピュータに、
負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更する処理を実行させるプログラムが提供される。
【発明の効果】
【００３２】
本発明によれば、ユーザ端末より負荷分散装置を経由して接続される複数のサーバ間で、負荷分散を目的として、Ｒｅｇｉｓｔｏｒｙ登録を動的に移設することを可能とする負荷分散装置および負荷分散制御方法が提供される。
【発明を実施するための最良の形態】
【００３３】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して以下に説明する。本発明においては、例えば定期的に取得するサーバの負荷情報に基づいて、転送すべき呼接続要求メッセージの転送先が記録されている記憶装置を変更し、サーバに対して登録情報の更新（追加ないし削除）を実行することで、サーバの負荷が変動した際に、登録情報によって特定サーバに束縛されている呼接続処理を、他の低負荷なサーバに事前に処理移設することで、複数サーバ間の処理不均衡を事前に是正し、サーバ群全体の性能向上を実現するようにしたものである。
【００３４】
本発明においては、ネットワークに接続された複数のサーバの負荷を監視し負荷分散を行う負荷分散装置が、負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さいサーバに変更する。本発明の実施の形態について詳細に説明する。
【００３５】
図１は、本発明の一実施の形態の構成を示す図である。図１には、負荷分散装置１を有するＳＩＰネットワークが示されている。
【００３６】
負荷分散装置１は、ネットワークを介して複数のＵＡ（ユーザ端末）１０−１、１０−２と、複数のＳＩＰサーバ２０−１、２０−２とに接続されている。なお、図１では、ＵＡおよびＳＩＰサーバを共に２台ずつ示しているが、３台以上のＵＡおよびＳＩＰサーバでも良い。
【００３７】
負荷分散装置１は、ＳＩＰサーバ振分先決定部（請求の範囲の振分決定部）１０１と、ＲＥＧＩＳＴＥＲエントリ格納部（請求の範囲の位置情報登録部）１０２と、メッセージ解析部１０３と、メッセージ送受信部（通信インターフェイス）１０４と、負荷状態分析部１０５と、ＲＥＧＩＳＴＥＲエントリ振替指示部（請求の範囲の登録情報振替部）１０６とを備えている。
【００３８】
振分先決定部１０１は、
（ａ１）ＵＡ１０−１、１０−２またはＳＩＰサーバ２０−１、２０−２から送信されてきたＳＩＰパケットの種別を解析し、例えばＲＥＧＩＳＴＥＲリクエストやＩＮＶＩＴＥリクエストなどのＳＩＰ要求を振り分けてＳＩＰサーバを選定する機能と、
（ａ２）着信側ＵＡのＲＥＧＩＳＴＥＲエントリを振り分け対象となるＳＩＰサーバに格納するよう、ＲＥＧＩＳＴＥＲエントリ格納部１０２に依頼する機能と、
（ａ３）ＳＩＰ要求を振り分け対象となるＳＩＰサーバに転送するようにメッセージ送受信部１０４に依頼する機能と、
（ａ４）ＳＩＰ要求の振り分け対象となるＳＩＰサーバを選定する場合に参照する情報（「振分情報」と呼ぶ）を管理する機能と、
（ａ５）ＲＥＧＩＳＴＥＲエントリ振替指示部１０６から提示されたＳＩＰサーバに対するＵＡのＲＥＧＩＳＴＥＲエントリ振替処理を行う機能と、
を有する。
【００３９】
なお、振分情報の例については、後に、動作の説明で詳述する。
【００４０】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、
（ｂ１）振分先決定部１０１が選定したＳＩＰサーバに対して、着信側ＵＡのＲＥＧＩＳＴＥＲエントリ（位置情報登録）を格納しているか否かを問い合わせる機能と、
（ｂ２）着信側ＵＡのＲＥＧＩＳＴＥＲエントリを格納するＳＩＰサーバを特定する機能と、
（ｂ３）着信側ＵＡのＲＥＧＩＳＴＥＲエントリを取得し、振分先決定部１０１が選定したＳＩＰサーバに、該当ＲＥＧＩＳＴＥＲエントリを格納する機能と、
を有する。
【００４１】
メッセージ解析部１０３は、
（ｃ１）メッセージ送受信部１０４から転送されたＳＩＰパケットの種別を解析し、ＳＩＰ要求、または、例えば、”１８０  Ｒｉｎｇｉｎｇ”や”２００  ＯＫ”などのＳＩＰ応答が格納されたメッセージの種類を解析する機能と、
（ｃ２）ＳＩＰ要求を振分先決定部１０１に送信する機能と、
（ｃ３）負荷分散装置１から送信されたＳＩＰ要求に対するＳＩＰ応答をＲＥＧＩＳＴＥＲエントリ格納部１０２に送信する機能と、
（ｃ４）ＳＩＰ要求に対するＳＩＰ応答であるが、負荷分散装置１が発行したＳＩＰ要求以外のＳＩＰ要求に対するＳＩＰ応答を、メッセージ送受信部１０４に送信する機能と、
（ｃ５）ＳＩＰサーバから通知されるサーバの負荷情報を負荷状態分析部に通知する機能と、
を有する。
【００４２】
メッセージ送受信部１０４は、
（ｄ１）ＵＡまたはＳＩＰサーバから送信されたＳＩＰ要求またはＳＩＰ応答であるメッセージを受信する機能と、
（ｄ２）振分先決定部１０１により指定されたＵＡまたはＳＩＰサーバに、ＳＩＰ要求またはＳＩＰ応答であるメッセージを送信する機能と、
（ｄ３）ＵＡまたはＳＩＰサーバから送信されてきた、ＳＩＰ要求またはＳＩＰ応答であるメッセージを受信し、ＳＩＰメッセージ解析部１０３に送信する機能と、
を有する。
【００４３】
負荷状態分析部１０５は、
（ｅ１）メッセージ解析部１０３から通知される、各ＳＩＰサーバからの負荷情報を管理し、負荷情報に基づく振分情報を、振分先決定部１０１に通知する機能と、
（ｅ２）ＲＥＧＩＳＴＥＲエントリ振替指示部１０６に、負荷情報に基づくエントリ振替を実行する候補となるＳＩＰサーバの情報（この情報を「エントリ振替ＳＩＰサーバ情報」と呼ぶ）を通知する機能と、
を有する。
【００４４】
ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、
（ｆ）負荷状態分析部１０５からのエントリ振替ＳＩＰサーバ情報と、振分先決定部１０１から取得するエントリ振替ＳＩＰサーバ情報に含まれるＳＩＰサーバにて現在呼処理のされていない、ＲＥＧＩＳＴＥＲエントリのあるＵＡの情報から、振分先決定部１０１に対して、ＲＥＧＩＳＴＥＲエントリ振替対象となるＳＩＰサーバを通知する機能を有する。
【００４５】
なお、負荷分散装置１における、ＳＩＰサーバ振分先決定部１０１と、ＲＥＧＩＳＴＥＲエントリ格納部１０２と、メッセージ解析部１０３と、メッセージ送受信部１０４と、負荷状態分析部１０５と、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６の各機能・処理は、負荷分散装置１を構成するコンピュータ上で動作するプログラムにより実現するようにしてもよいことは勿論である。
【００４６】
次に、本実施例の負荷分散装置１の動作を説明する。図２は、負荷分散装置１における、メッセージ解析部１０３の処理を示すフローチャートである。
【００４７】
いま、メッセージ解析部１０３が、メッセージ送受信部１０４から、ＵＡまたはＳＩＰサーバから送信されたメッセージを受信したとする。
【００４８】
この時、メッセージ解析部１０３は、受信したメッセージの種類を検査する（ステップＳ２０１）。
【００４９】
ステップＳ２０１の検査で、受信したメッセージが、例えば、ＩＮＶＩＴＥリクエスト（呼接続要求）やＲＥＧＩＳＴＥＲリクエスト（位置情報登録要求）などのＳＩＰ要求であると判定した場合には、メッセージ解析部１０３は、受信メッセージを振分先決定部１０１に転送する（ステップＳ２０５）。
【００５０】
一方、ステップＳ２０１の検査で、受信したメッセージが、例えば、”１８０  Ｒｉｎｇｉｎｇ”や”２００  ＯＫ”などの、ＳＩＰ応答であると判定した場合には、メッセージ解析部１０３は、更に、そのＳＩＰ応答が、負荷分散装置１から発行したＳＩＰ要求に対するＳＩＰ応答か否かを判定する（ステップＳ２０２）。この判定処理の一例を以下に説明する。
【００５１】
例えばＲＥＧＩＳＴＥＲエントリ格納部１０２が、ＲＥＧＩＳＴＥＲリクエストを発行する場合に付加する識別子（Ｃａｌｌ−ＩＤ）を、メッセージ解析部１０３に、予め転送しておく。なお、この識別子は、任意の文字列でよい。例えば、ＩＮＶＩＴＥリクエストの識別子と同じ、あるいは、これに何らかの符号を付加したものであってもよい。
【００５２】
メッセージ解析部１０３は、メッセージ送受信部１０４から受信したメッセージに含まれるＣａｌｌ−ＩＤを調査し、それが予めＲＥＧＩＳＴＥＲエントリ格納部１０２から通知されていたＣａｌｌ−ＩＤと一致する場合には、負荷分散装置１から発行したＳＩＰ要求に対するＳＩＰ応答と判断する。
【００５３】
ステップＳ２０２で、受信したＳＩＰ応答が、負荷分散装置１から発行したＳＩＰ要求に対するＳＩＰ応答であると判定した場合には、メッセージ解析部１０３は、受信メッセージをＲＥＧＩＳＴＥＲエントリ格納部１０２に転送する（ステップＳ２０４）。
【００５４】
ステップＳ２０２で、受信したＳＩＰ応答が、負荷分散装置１から発行したＳＩＰ要求に対するＳＩＰ応答でないと判定した場合には、メッセージ解析部１０３は、受信メッセージをメッセージ送受信部１０４に転送する（ステップＳ２０３）。
【００５５】
図３は、負荷分散装置１における、振分先決定部１０１の処理を示すフローチャートである。いま、振分先決定部１０１がメッセージ解析部１０３からＳＩＰ要求を受信したとする。
【００５６】
この時、振分先決定部１０１は、ＳＩＰ要求の種別を検査する（ステップＳ３０１）。
【００５７】
ステップＳ３０１の検査で、振分先決定部１０１が取得したＳＩＰ要求がＲＥＧＩＳＴＥＲリクエストであると判定した場合には、振分先決定部１０１は、ＲＥＧＩＳＴＥＲリクエストの振り分け先となるＳＩＰサーバを決定する（ステップＳ３０２）。
【００５８】
なお、負荷分散装置１からＳＩＰ要求を転送する先となるＳＩＰサーバを「振分先ＳＩＰサーバ」と呼ぶ。
【００５９】
ステップＳ３０２の処理の一例を以下に説明する。
【００６０】
例えば、ＲＥＧＩＳＴＥＲリクエストのＴｏヘッダに含まれるＡｏＲ（ａｄｄｒｅｓｓ  ｏｆ  ｒｅｃｏｒｄ）や、ｃｏｎｔａｃｔヘッダに含まれるＳＩＰ  ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）中の電話番号（電話番号を含むＳＩＰ  ＵＲＩは、一般的に「ｓｉｐ：電話番号＠ドメイン名」として表現される）などの、検索キーを取り出す。振り分け対象となるＳＩＰサーバの識別子を、振り分け対象となるＳＩＰサーバの数未満の正の整数とする場合には、検索キーを正の整数に変換し、振り分け対象となるＳＩＰサーバの数で除した余りで表現されるＳＩＰサーバを振り分け対象とする。
【００６１】
振分先決定部１０１は、ステップＳ３０１の検査で、ＳＩＰ要求がＩＮＶＩＴＥリクエストであると判定した場合には、ＩＮＶＩＴＥリクエストの振分先ＳＩＰサーバを決定する（ステップＳ３０３）。この処理の一例は以下のようにして行われる。
【００６２】
例えばＩＮＶＩＴＥリクエストのＦｒｏｍヘッダに含まれるＡｏＲや、Ｃａｌｌ−ＩＤなどを、検索キーとして取り出す。この後の処理は、前述したＲＥＧＩＳＴＥＲリクエストでの振分先ＳＩＰサーバの決定処理と同様である。
【００６３】
また、ステップＳ３０３の処理は、例えば以下の処理により、最少負荷量のＳＩＰサーバを検出し、そのＳＩＰサーバを振分先ＳＩＰサーバとすることも可能である。
【００６４】
振分先決定部１０１は、ステップＳ３０３の結果として取得した振分先ＳＩＰサーバの識別子と、受信したＩＮＶＩＴＥリクエストのＴｏヘッダのＡｏＲとを、ＲＥＧＩＳＴＥＲエントリ格納部１０２に通知し、着信側ＵＡのＲＥＧＩＳＴＥＲエントリが振分先ＳＩＰサーバに格納されるよう、ＲＥＧＩＳＴＥＲエントリ格納部１０２に依頼する（ステップＳ３０４）。
【００６５】
振分先決定部１０１は、ステップＳ３０１の検査で、メッセージ解析部１０３から受信したＳＩＰ要求の種別が、例えば、ＡＣＫリクエストやＢＹＥリクエストなどであって、ＲＥＧＩＳＴＥＲリクエストおよびＩＮＶＩＴＥリクエスト以外の場合には、ＳＩＰ要求に格納されているＣａｌｌ−ＩＤを抽出する（ステップＳ３０７）。
【００６６】
振分先決定部１０１は、ステップＳ３０７の結果として取得されたＣａｌｌ−ＩＤを検索キーとして、Ｃａｌｌ−ＩＤと振分先ＳＩＰサーバの識別子の組が格納されたハッシュ表を検索する（ステップＳ３０８）。
【００６７】
その後、振分先決定部１０１は、ステップＳ３０１で検査したＳＩＰ要求の種別がＢＹＥリクエストであるか否かを判定し（ステップＳ３０９）、ＳＩＰ要求がＢＹＥリクエストである場合には、又は、ステップＳ３０４の結果ＲＥＧＩＳＴＥＲエントリの格納依頼が完了した場合には、振分先決定部１０１は、振分情報を更新する（ステップＳ３０５）。
【００６８】
この振分情報は、ステップＳ３０８で使用した、Ｃａｌｌ−ＩＤと振分先ＳＩＰサーバとの組を格納したハッシュ表と、ステップＳ３０３での振分先ＳＩＰサーバの決定に負荷状態分析部１０５からのＳＩＰサーバ負荷情報を使用している場合、ＳＩＰサーバ負荷情報とからなる。
【００６９】
振分先決定部１０１において、Ｃａｌｌ−ＩＤと振分先ＳＩＰサーバとの組を格納したハッシュ表の更新は、以下のようにして行われる。
【００７０】
ステップＳ３０１の結果、受信したＳＩＰ要求がＩＮＶＩＴＥリクエストと判明した場合には、振分先決定部１０１は、ＩＮＶＩＴＥリクエストに格納されているＣａｌｌ−ＩＤとステップＳ３０３の結果決定した振分先ＳＩＰサーバとを組としてハッシュ表に格納する。
【００７１】
ステップＳ３０９で、ＳＩＰ要求がＢＹＥリクエストであった場合には、振分先決定部１０１は、ＢＹＥリクエストに格納されているＣａｌｌ−ＩＤをキーとする組をハッシュ表から削除する。
【００７２】
振分先決定部１０１は、
ステップＳ３０２の結果として振分先ＳＩＰサーバを決定した場合、または、
ステップＳ３０５の結果として振分情報の更新が完了した場合、または、
ステップＳ３０９の判定でＳＩＰ要求がＢＹＥリクエスト以外であった場合には、
ステップＳ３０２またはステップＳ３０３またはステップＳ３０８の結果として取得した振分先ＳＩＰサーバに受信メッセージを転送するよう、メッセージ送受信部１０４に通知する（ステップＳ３０６）。
【００７３】
図４は、ＲＥＧＩＳＴＥＲエントリ格納部１０２の処理を示すフローチャートである。いま、ＲＥＧＩＳＴＥＲエントリ格納部１０２が、振分先決定部１０１から、振分先ＳＩＰサーバの識別子と、ＩＮＶＩＴＥリクエストのＴｏヘッダに格納された、着信側ＵＡを示すＡｏＲを受け取ったとする。
【００７４】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、指定されたＳＩＰサーバに送信するＲＥＧＩＳＴＥＲリクエストを生成する（ステップＳ４０１）。例えば、この処理は、ＦｒｏｍヘッダとＴｏヘッダには、振分先決定部１０１から送信されたＡｏＲを挿入し、Ｃａｌｌ−ＩＤは「ランダムとなる文字列＠負荷分散装置１のＩＰアドレス」とし、ＣＳｅｑヘッダは「１  ＲＥＧＩＳＴＥＲ」とすることで実現できる。
【００７５】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、ステップＳ４０１で生成されたＲＥＧＩＳＴＥＲリクエストを、振分先決定部１０１から指定されたＳＩＰサーバに送信するよう、メッセージ送受信部１０４に通知することで、振分先ＳＩＰサーバに着信側ＵＡのＲＥＧＩＳＴＥＲエントリが存在するか否かを問い合わせる（ステップＳ４０２）。
【００７６】
この時、ＲＥＧＩＳＴＥＲエントリ格納部１０２は、更にメッセージ解析部１０３にステップＳ４０１で生成したＣａｌｌ−ＩＤを通知する。
【００７７】
ステップＳ４０２で、振分先ＳＩＰサーバに着信側ＵＡのＲＥＧＩＳＴＥＲエントリが存在しないと判断した場合には、ＲＥＧＩＳＴＥＲエントリ格納部１０２は、着信側ＵＡのＲＥＧＩＳＴＥＲエントリを格納するＳＩＰサーバを算出する（ステップＳ４０３）。
【００７８】
なお、ＲＥＧＩＳＴＥＲエントリ格納部１０２において、振分先ＳＩＰサーバに着信側ＵＡのＲＥＧＩＳＴＥＲエントリが存在するか否かの判断は、例えば以下のようにして行われる。
【００７９】
ステップＳ４０２においてメッセージ解析部１０３に送信したＣａｌｌ−ＩＤを持つ、メッセージ解析部１０３から送信されてきたＳＩＰ応答が”２００  ＯＫ”である場合には、ＲＥＧＩＳＴＥＲエントリ格納部１０２は、該当ＳＩＰサーバでのＲＥＧＩＳＴＥＲエントリの検索が成功しているため、振分先ＳＩＰサーバに着信側ＵＡのＲＥＧＩＳＴＥＲエントリが存在すると判断できる。
【００８０】
逆に、ＳＩＰ応答が”２００  ＯＫ”以外の場合には、ＲＥＧＩＳＴＥＲエントリ格納部１０２は、振分先ＳＩＰサーバにＲＥＧＩＳＴＥＲエントリが存在しないと判断できる。
【００８１】
更に、着信側ＵＡのＲＥＧＩＳＴＥＲエントリを格納したＳＩＰサーバの算出は、前述したＲＥＧＩＳＴＥＲリクエストの振分先ＳＩＰサーバの算出と同様の処理を実行し、この手段への入力を、振分先決定部１０１から渡されたＡｏＲとすることで実現できる。
【００８２】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、ステップＳ４０３で算出された、着信側ＵＡのＲＥＧＩＳＴＥＲエントリを格納するＳＩＰサーバから着信側ＵＡのＲＥＧＩＳＴＥＲエントリを取得する（ステップＳ４０４）。なお、この処理は、例えば、以下にようにして行われる。
【００８３】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、着信側ＵＡを格納するＳＩＰサーバに送信するＲＥＧＩＳＴＥＲリクエストについては、ステップＳ４０１におけるＲＥＧＩＳＴＥＲリクエスト生成と同様の処理で作成する。
【００８４】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、生成したＲＥＧＩＳＴＥＲリクエストと、ステップＳ４０３で算出した着信側ＵＡのＲＥＧＩＳＴＥＲエントリを保持するＳＩＰサーバの識別子を、メッセージ送受信部１０４に転送する。
【００８５】
なお、このステップＳ４０４の場合においても、ステップＳ４０２と同様に、ＲＥＧＩＳＴＥＲエントリ格納部１０２は、メッセージ解析部１０３に対して、ステップＳ４０４で生成したＣａｌｌ−ＩＤを通知しておく。
【００８６】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、ステップＳ４０４で取得した、着信側ＵＡのＲＥＧＩＳＴＥＲエントリを、振分先ＳＩＰサーバに登録する（ステップＳ４０５）。この処理は、例えば、以下のようにして行われる。
【００８７】
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、ステップＳ４０１と同様に、ＲＥＧＩＳＴＥＲリクエストにおける、ＦｒｏｍヘッダとＴｏヘッダには、振分先決定部１０１から送信されたＡｏＲを挿入し、Ｃａｌｌ−ＩＤは「ランダムとなる文字列＠負荷分散装置１のＩＰアドレス」とし、ＣＳｅｑヘッダは「１  ＲＥＧＩＳＴＥＲ」とする。
【００８８】
更に、ＲＥＧＩＳＴＥＲエントリ格納部１０２は、ｃｏｎｔａｃｔヘッダには、ステップＳ４０４で取得したＲＥＧＩＳＴＥＲエントリのｃｏｎｔａｃｔヘッダを挿入する。
【００８９】
その後、ＲＥＧＩＳＴＥＲエントリ格納部１０２は、このＲＥＧＩＳＴＥＲリクエストを、振分先ＳＩＰサーバを送信先として、メッセージ送受信部１０４に送信する。
【００９０】
ＲＥＧＩＳＴＥＲエントリ格納部１０２がステップＳ４０２で、着信側ＵＡのＲＥＧＩＳＴＥＲエントリを問い合わせた結果、振分先決定部１０１から送信されたＳＩＰサーバに、着信側ＵＡのＲＥＧＩＳＴＥＲエントリが存在する場合、
または、ステップＳ４０５の結果、着信側ＳＩＰサーバにＲＥＧＩＳＴＥＲエントリを格納した場合には、
ＲＥＧＩＳＴＥＲエントリ格納部１０２は、処理を終了する。
【００９１】
図５は、メッセージ送受信部１０４の処理を示すフローチャートである。いま、メッセージ送受信部１０４がメッセージを受信したとする。
【００９２】
メッセージ送受信部１０４は、メッセージの送信元を調査する（ステップＳ５０１）。この処理は、例えば、関数呼び出しでメッセージ送受信部１０４が呼び出された場合には、負荷分散装置内からのメッセージと判断し、ＳＩＰネットワークを介してメッセージ送受信部１０４が呼び出された場合には、負荷分散装置外からのメッセージとして判断することで実現できる。
【００９３】
ステップＳ５０１の調査で、負荷分散装置内からのメッセージ受信と判断した場合には、メッセージ送受信部１０４は、指定されたあて先に、受信したメッセージを送付する（ステップＳ５０２）。
【００９４】
ステップＳ５０１の調査で、負荷分散装置外からのメッセージ受信と判断した場合には、メッセージ送受信部１０４は、メッセージ解析部１０３に、受信したメッセージを送付する（ステップＳ５０３）。
【００９５】
図６は、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６の処理を示すフローチャートである。
【００９６】
ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、負荷状態分析部１０５からの各ＳＩＰサーバの情報より、サーバ負荷が設定可能な低位閾値（ｔｈ−ｌ）より大きいＳＩＰサーバがあるか調査する（ステップＳ６０１）。該当ＳＩＰサーバがなければ、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、処理を終了する。
【００９７】
該当サーバがある場合には、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、当該サーバを低負荷サーバ振替候補リスト（Ｌｏｗ）にリストアップする（ステップＳ６０２）。
【００９８】
次に、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、サーバ負荷が設定可能な高位閾値（ｔｈ−ｈ）より大きいＳＩＰサーバがあるか調査する（ステップＳ６０３）。該当ＳＩＰサーバがなければ、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、処理を終了する。
【００９９】
該当サーバがある場合は、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、振分先決定部１０１からのセッション維持情報に基づき、該当ＳＩＰサーバに現在呼処理がされていないＵＡのＲＥＧＩＳＴＥＲが存在するか調査する（ステップＳ６０４）。該当するＵＡのＲＥＧＩＳＴＥＲが無ければ、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、処理を終了する。
【０１００】
該当するＵＡのＲＥＧＩＳＴＥＲが存在する場合、ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、該当するＳＩＰサーバとＵＡのＲＥＧＩＳＴＥＲエントリを組として高負荷サーバ振替ＲＥＧＩＳＴＥＲリスト（Ｈｉｇｈ）にリストアップする（ステップＳ６０５）。
【０１０１】
ＲＥＧＩＳＴＥＲエントリ振替指示部１０６は、高負荷サーバ振替ＲＥＧＩＳＴＥＲリスト（Ｈｉｇｈ）内の高負荷ＳＩＰサーバとＵＡのＲＥＧＩＳＴＥＲエントリの組と、低負荷サーバ振替候補リスト（Ｌｏｗ）内のＳＩＰサーバから、ＲＥＧＩＳＴＥＲ振替処理対象の高負荷ＳＩＰサーバ、ＵＡのＲＥＧＩＳＴＥＲエントリ、低負荷ＳＩＰサーバを選択して、ＲＥＧＩＳＴＥＲ振替処理を振分先決定部１０１に指示する。
【０１０２】
図７は、図１の構成のＳＩＰネットワークにおけるＵＡのＲＥＧＩＳＴＥＲ登録ＲＥＧＩＳＴＥＲ振替処理と、ＳＩＰサーバ負荷に基づいてＲＥＧＩＳＴＥＲ情報の切替のシーケンスを示した図である。
【０１０３】
図７において、
ＵＡ  １０−１のＳＩＰ  ＵＲＩを、”ｓｉｐ＿ｕａ１＠ｅｘａｍｐｌｅ．ｃｏｍ”，  ＵＡ  １０−２のＳＩＰ  ＵＲＩを、”ｓｉｐ＿ｕａ２＠ｅｘａｍｐｌｅ．ｃｏｍ”，  負荷分散装置にて付け替えを実行しているｓｉｐサーバの仮想ＩＰアドレスを、”ｖｉｐ．ｅｘａｍｐｌｅ．ｃｏｍ”，
ＳＩＰサーバ＃１  ２０−１の実ＩＰアドレスを、”ｓｖｒ１．ｅｘａｍｐｌｅ．ｃｏｍ”，
ＳＩＰサーバ＃２  ２０−２の実ＩＰアドレスを、”ｓｖｒ２．ｅｘａｍｐｌｅ．ｃｏｍ”
としている。
【０１０４】
ステップＳ７０１はＵＡ＃１  １０−１のＲＥＧＩＳＴＥＲ登録であり、負荷分散装置１にてＳＩＰサーバ＃１２０−１に登録されるシーケンスを示している。
【０１０５】
ステップＳ７０２はＵＡ＃２  １０−２のＲＥＧＩＳＴＥＲ登録であり、負荷分散装置１にてＳＩＰサーバ＃２２０−２に登録されるシーケンスを示している。
【０１０６】
ステップＳ７０３以降は、ＳＩＰサーバの負荷に基づいたＲＥＧＩＳＴＥＲ情報の振替処理のシーケンスを示している。
【０１０７】
ＳＩＰサーバ＃１  ２０−１より負荷分散装置１に負荷情報として負荷８０％が通知される（Ｓ７０３）。
【０１０８】
ＳＩＰサーバ＃２  ２０−２より負荷分散装置１に負荷情報として負荷５％が通知される（ステップＳ７０４）。
【０１０９】
負荷分散装置１では、例として高位閾値（ｔｈ−ｈ）を７０％、低位閾値（ｔｈ−ｌ）を３０％と設定している。
【０１１０】
その結果、ＳＩＰサーバ＃１  ２０−１は高負荷サーバ、ＳＩＰサーバ＃２  １０−２は低負荷サーバと判定される（ステップＳ７０５）。
【０１１１】
このとき、ＵＡ＃１  １０−１ではＳＩＰサーバ＃１内にてセッション処理登録が無く、移設可能セッションである場合、ＳＩＰサーバ＃１  ２０−１内のＵＡ＃１  １０−１をＳＩＰサーバ＃２  ２０−２に移設することとする（ステップＳ７０６）。
【０１１２】
ステップＳ７０７では、ＵＡ＃１  １０−１のＲＥＧＩＳＴＥＲをＳＩＰサーバ＃１  ２０−１に登録するシーケンスを実行している。
【０１１３】
ステップＳ７０８では、負荷分散装置１内でのＵＡ＃１  １０−１に関する仮想ＩＰアドレスと実ＩＰアドレス付け替えを、ＳＩＰサーバ＃１からＳＩＰサーバ＃２に変更している。
【０１１４】
ステップＳ７０９では、ＵＡ＃１  １０−１のＲＥＧＩＳＴＥＲをＳＩＰサーバ＃２  ２０−２から削除するシーケンスを実行している。
【０１１５】
以上の処理にて、ＵＡ＃１  １０−１のＲＥＧＩＳＴＥＲのＳＩＰサーバ＃１  ２０−１からＳＩＰサーバ＃２  ２０−２への振替処理が完了する。
【０１１６】
以上のように、本発明の第１の実行形態に係る負荷分散装置１では、負荷分散装置１に接続されるＳＩＰサーバの負荷に応じてＵＡのＲＥＧＩＳＴＥＲ登録を行ったＳＩＰサーバを更新する事ができるようになり、当該ＳＩＰサーバが高負荷状態となった際に新規のＳＩＰセッションを別のＳＩＰサーバで処理できるようになる。
【０１１７】
本実施形態の作用効果を説明する。
【０１１８】
ＳＩＰ  ＵＡより負荷分散装置を経由して接続される複数のＳＩＰサーバ間で、ＲＥＧＩＳＴＥＲ登録を動的に移設する事ができることにより、特定のＳＩＰサーバの負荷が変動して高負荷状態になった際に、当該ＳＩＰサーバにＲＥＧＩＳＴＥＲ登録されているＵＡのセッション処理を別のＳＩＰサーバに振り替えることで、ＳＩＰシステム内部の処理負荷を均一化でき、全体の処理能力を向上させることができる。
【０１１９】
特許文献２においては、ＳＩＰサーバの負荷に基づきユーザ端末を登録（ＲＥＧＩＳＴＥＲ）しているが、該登録がユーザ端末起動時にのみ行われ、負荷分散されるＳＩＰサーバ全てに登録要求フレームを複製して登録している。共通なユーザ端末の登録内容を各ＳＩＰサーバで重複して保持しており、ＳＩＰサーバ全体でみた場合、登録保持すべきデータ量が増大する。
【０１２０】
本実施例では、最初に登録するサーバは１台であり、登録後保しておくデータ量は特許文献２よりも少ない。また特許文献２においては、セッション開始フレーム（ＩＮＶＩＴＥ）が検知された際に、接続すべきＳＩＰサーバをラウンドロビン又は接続中のセッション数の少ないサーバから選択している。これに対して、本実施例では、ネットワークに接続された複数のサーバの負荷を監視し負荷分散を行い、負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバから、前記サーバに登録済みであるがセッション接続がないユーザ端末の登録を、負荷が前記閾値よりも小さいサーバに変更する。
【産業上の利用可能性】
【０１２１】
本発明の負荷分散装置は、複数のユーザ端末及び複数のＳＩＰサーバを有するＳＩＰネットワークに利用できる。
【０１２２】
なお、本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０１２３】
【図１】本発明の一実施の形態の構成を示す図である。
【図２】本発明の一実施の形態におけるメッセージ解析部の処理の一例を示すフローチャートである。
【図３】本発明の一実施の形態における振分先決定部の処理の一例を示すフローチャートである。
【図４】本発明の一実施の形態におけるＲＥＧＩＳＴＥＲエントリ格納部の処理の一例を示すフローチャートである。
【図５】本発明の一実施の形態におけるメッセージ送受信部の処理の一例を示すフローチャートである。
【図６】本発明の一実施の形態におけるＲＥＧＩＳＴＥＲエントリ振替指示部の処理の一例を示すフローチャートである。
【図７】本発明の一実施の形態におけるＵＡのＲＥＧＩＳＴＥＲ登録及びＲＥＧＩＳＴＥＲ振替処理のシーケンスの一例を示す図である。
【符号の説明】
【０１２４】
１  負荷分散装置
１０  ＵＡ（ユーザ・エージェント）
２０  ＳＩＰサーバ
１０１  振分先決定部
１０２  ＲＥＧＩＳＴＥＲエントリ格納部
１０３  メッセージ解析部
１０４  メッセージ送受信部
１０５  負荷状態分析部
１０６  ＲＥＧＩＳＴＥＲエントリ振替指示部
【図１】
0005125679.tif 000002
【図２】
0005125679.tif 000003
【図３】
0005125679.tif 000004
【図４】
0005125679.tif 000005
【図５】
0005125679.tif 000006
【図６】
0005125679.tif 000007
【図７】
0005125679.tif 000008