(57)【特許請求の範囲】
【請求項１】
複数のＩＰ電話回線に対して共通の代表番号が設定されているＩＰ電話ネットワークにおいていずれかの代表番号に対して接続要求があった場合に接続先となるＩＰ電話回線を選択する回線選択処理方法であって、
各代表番号ごとに、当該代表番号に係る各ＩＰ電話回線ごとのロケーションデータの登録状況をＩＰ電話回線ごとに１ビットのデータとしてロケーションデータ状態管理テーブルに登録し更新する段階と、
各代表番号ごとに、当該代表番号に係る各ＩＰ電話回線ごとの接続可能数を接続数管理テーブルに登録し更新する段階と、
接続要求があった代表番号を着信先代表番号として、前記ロケーションデータ状態管理テーブルから前記着信先代表番号に係るデータを抽出して登録状態データとし、前記接続数管理テーブルから前記着信先代表番号に係るデータを抽出して接続可能数データとし、前記登録状態データにおけるビットごとに前記接続可能数データの対応する要素を乗算する段階と、
前記乗算の結果、０でない結果を得たものに対応するＩＰ電話回線の中から接続先となるＩＰ電話回線を選択する段階と、
を有する、回線選択処理方法。
【請求項２】
前記ロケーションデータ状態管理テーブル及び接続数管理テーブルにおいて代表番号ごとに当該代表番号に係るＩＰ電話回線に一連の順位番号が付与され、
前記乗算する段階は、前記接続可能数データにおいて接続可能数が１以上か０であるかに応じて「１」または「０」のビット値に変換する段階と、開始ポインタ値で表わされる前記順位番号に対応するビットを開始位置として該開始位置から所定のビット数単位で、前記変換された接続可能数データと前記登録状態データとのビット積を求める段階と、を有し、前記ビット積の演算を行った結果においてすべてのビットが「０」である場合には、前記開始位置を進めて前記ビット積を求める段階を、前記代表番号に係るすべてのＩＰ電話回線に対応するビットが処理されるかまたは前記結果に「１」のビットが含まれるまで繰り返し、
前記選択する段階は、前記ビット積の演算を行った結果において「１」であるビットのうち前記順位番号が最も若いものに対応するＩＰ電話回線を接続先とする段階を有し、
前記代表番号への着信があるたびに当該代表番号に対する開始ポインタ値の値を変更する、請求項１に記載の回線選択処理方法。
【請求項３】
前記接続先となるＩＰ電話回線に対して接続判定を行い、前記接続判定で異常を検出した場合あるいは接続判定は正常であるが無反応である場合に、当該ＩＰ電話回線について前記ロケーションデータの登録がないものとみなして前記ロケーション状態管理テーブルを更新する、請求項１または２に記載の回線選択処理方法。
【請求項４】
事前にＩＰ電話回線ごとの最大接続可能数を定め、その後は呼接続、呼切断の処理があるたびにＩＰ電話回線に問い合わせることなく前記接続数管理テーブルにおける当該ＩＰ電話回線での接続可能数を更新する、請求項１乃至３のいずれか１項に記載の回線選択処理方法。
【請求項５】
複数のＩＰ電話回線に対して共通の代表番号が設定されているＩＰ電話ネットワークにおいて用いられ、各ＩＰ電話回線に対する接続制御を行うＳＩＰサーバであって、
各代表番号ごとに、当該代表番号に係る各ＩＰ電話回線ごとのロケーションデータの登録状況をＩＰ電話回線ごとに１ビットのデータとして格納するロケーションデータ状態管理テーブルと、
各代表番号ごとに、当該代表番号に係る各ＩＰ電話回線ごとの接続可能数を接続数管理テーブルと、
接続要求があった代表番号を着信先代表番号として、前記ロケーションデータ状態管理テーブルから前記着信先代表番号に係るデータを抽出して登録状態データとし、前記接続数管理テーブルから前記着信先代表番号に係るデータを抽出して接続可能数データとし、前記登録状態データにおけるビットごとに前記接続可能数データの対応する要素を乗算する演算手段と、
前記ロケーションデータ状態管理テーブル及び前記接続数管理テーブルを更新し、前記演算手段での乗算の結果、０でない結果を得たものに対応するＩＰ電話回線の中から接続先となるＩＰ電話回線を選択し、選択されたＩＰ電話回線に対して前記接続要求に対する接続を試みる接続制御手段と、
を有する、ＳＩＰサーバ。
【請求項６】
前記代表番号ごとに開始ポインタ値を保持する代表群情報管理テーブルをさらに備え、
前記ロケーションデータ状態管理テーブル及び接続数管理テーブルにおいて代表番号ごとに当該代表番号に係るＩＰ電話回線に一連の順位番号が付与され、
前記演算手段は、所定のビット数のビット演算幅で２つのビット列間のビット積演算を行うように構成され、前記接続可能数データにおいて接続可能数が１以上か０であるかに応じて「１」または「０」のビット値に変換し、前記開始ポインタ値で表わされる前記順位番号に対応するビットを開始位置として該開始位置から前記所定のビット数で、前記変換された接続可能数データと前記登録状態データとのビット積を求め、前記ビット積の演算を行った結果においてすべてのビットが「０」である場合には、前記代表番号に係るすべてのＩＰ電話回線に対応するビットが処理されるかまた前記結果に「１」のビットが含まれるまで、前記開始位置を前記所定のビット数だけ進めて前記ビット積を求める演算を繰り返し、
前記接続制御手段は、前記演算手段での前記ビット積の演算を行った結果において「１」であるビットのうち前記順位番号が最も若いものに対応するＩＰ電話回線を前記接続先とし、前記代表番号への着信があるたびに当該代表番号に対する開始ポインタ値の値を変更する、請求項５に記載のＳＩＰサーバ。
【請求項７】
前記接続制御手段は、前記接続先となるＩＰ電話回線に対して接続判定を行い、前記接続判定で異常を検出した場合あるいは接続判定は正常であるが無反応である場合に、当該ＩＰ電話回線について前記ロケーションデータの登録がないものとみなして前記ロケーション状態管理テーブルを更新する、請求項５または６に記載のＳＩＰサーバ。
【請求項８】
前記接続制御手段は、事前にＩＰ電話回線ごとの最大接続可能数を定め、その後は呼接続、呼切断の処理があるたびにＩＰ電話回線に問い合わせることなく前記接続数管理テーブルにおける当該ＩＰ電話回線での接続可能数を更新する、請求項５乃至７のいずれか１項に記載のＳＩＰサーバ。
【請求項９】
コンピュータを、請求項５乃至８のいずれか１項に記載のＳＩＰサーバとして機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ(Internet Protocol)電話サービスにおける代表着信サービス技術に関し、特に、複数のＩＰ電話回線に対して一つの共通の番号（代表番号）に設定されているときにこの代表番号に対して接続要求があった場合における回線選択処理の処理負荷を軽減できる回線選択処理方法と、このような回線選択処理方法を実行するＳＩＰサーバとに関する。
【背景技術】
【０００２】
近年、通信プロトコルとしてＩＰを用いるＩＰネットワークを介して電話サービスを提供するＩＰ電話サービスが関心を集めており、既存の公衆交換電話ネットワーク（ＰＳＴＮ）とＩＰ電話ネットワークとの相互接続も実現されている。ＩＰ電話サービスを実現するものとして、ＳＩＰ(Session Initiation Protocol)を用いたＶｏＩＰ(Voice over Internet Protocol)システムがある。ＳＩＰを用いたＶｏＩＰシステムでは、既存のＰＳＴＮにおける電話交換機に代わるものとして、複数のＩＰ電話端末間での交換処理を行うＳＩＰサーバが用いられる。ＳＩＰサーバは、ＩＰ電話を接続するために用いられるサーバである。
【０００３】
ＩＰ電話サービスにおいても、既存のＰＳＴＮにおけるものと同様に、複数のＩＰ電話回線に対して一つの共通の番号（代表番号）を対応させ、この代表番号あてに接続要求（着信）があった場合にはこれら複数のＩＰ電話回線のいずれかにおいて着信することによってその接続要求に対して応答できるようにする代表着信サービスを提供することが好ましい。例えば、特開２００４−２３５７７８号公報（引用文献１）には、電話番号計画に基づく電話番号が付与されないＩＰ電話システムに関するものであるが、ＳＩＰサーバにおいて一斉呼び出し処理機能を設けることにより、代表着信サービスを提供することが開示されている。なお、複数のＩＰ電話回線に対して一つの代表番号を対応させる場合、個別のＩＰ電話回線あるいはＩＰ電話機は、代表番号とは別の、それぞれ独立したＩＰ電話番号（子番号）が付与されていてもよいし、付与されていなくてもよい。
【特許文献１】特開２００４−２３５７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、電話番号が付与されるＩＰ電話ネットワークにおいて代表着信サービスを提供するために、代表番号に対応するすべての子番号（あるいは端末）をＳＩＰサーバによって個別に管理すると、接続先選定に係るＳＩＰサーバの負荷が増大する、という問題を生じる。例えば、瞬間的に大量の着信（接続要求）が代表番号に発生した場合、同一の代表番号に対応する回線のグループである着信番号共有グループ内の複数のＩＰ電話回線の中から接続先となるＩＰ電話回線を選択する処理をＳＩＰサーバで早急に行わなければならない。
【０００５】
ＳＩＰサーバは、一般にＣＰＵ（中央処理ユニット；Central Processing Unit）により呼制御が行われるが、代表番号に対する大量の呼接続要求があった場合には、代表番号グループを構成するＩＰ電話回線の数が多ければ多いほど、着信させるＩＰ電話回線を選択するためのＣＰＵにおけるサーチ処理負荷が膨大なものとなり、処理遅延、処理中断による呼接続中断が発生する懸念がある。
【０００６】
ＩＰ電話システムにおける現在の代表着信機能では、接続先を決定するために、ＳＩＰサーバにより、着信番号共有グループ内の全回線に対して、順次、複数存在し得る接続可否条件を１条件ずつ用いて接続可否判定を行う必要がある。また、接続先を決定した後も、ＳＩＰサーバは、代表スリップ機能として、決定した接続先端末へ接続要求（ＳＩＰではＩＮＶＩＴＥの送信）を行ったのちに接続先端末から着信拒否の応答がされた場合には、再度、接続可能回線をサーチする処理を実行している。したがって、現在の代表番号着信時の回線選択処理方法によれば、代表番号に対する大量の接続要求に対して、その処理負荷のために、ＳＩＰサーバが接続処理を完了できない可能性がある。
【０００７】
そこで本発明の目的は、接続可能なＩＰ電話回線を高速にサーチすることが可能であって、代表番号に対して大量の接続要求があった場合にも対応できる、代表番号着信時の回線選択処理方法を提供することにある。
【０００８】
本発明の別の目的は、このような回線選択処理方法を実行できるＳＩＰサーバを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の回線選択処理方法は、複数のＩＰ電話回線に対して共通の代表番号が設定されているＩＰ電話ネットワークにおいていずれかの代表番号に対して接続要求があった場合に接続先となるＩＰ電話回線を選択する回線選択処理方法であって、各代表番号ごとに、その代表番号に係る各ＩＰ電話回線ごとのロケーションデータの登録状況をＩＰ電話回線ごとに１ビットのデータとしてロケーションデータ状態管理テーブルに登録し更新する段階と、各代表番号ごとに、その代表番号に係る各ＩＰ電話回線ごとの接続可能数を接続数管理テーブルに登録し更新する段階と、接続要求があった代表番号を着信先代表番号として、ロケーションデータ状態管理テーブルから着信先代表番号に係るデータを抽出して登録状態データとし、接続数管理テーブルから着信先代表番号に係るデータを抽出して接続可能数データとし、登録状態データにおけるビットごとに接続可能数データの対応する要素を乗算する段階と、乗算の結果、０でない結果を得たものに対応するＩＰ電話回線の中から接続先となるＩＰ電話回線を選択する段階と、を有する。
【００１０】
この回線選択処理方法においては、ロケーションデータ状態管理テーブル及び接続数管理テーブルにおいて代表番号ごとにその代表番号に係るＩＰ電話回線に一連の順位番号を付与し、乗算する段階が、接続可能数データにおいて接続可能数が１以上か０であるかに応じて「１」または「０」のビット値に変換する段階と、開始ポインタ値で表わされる順位番号に対応するビットを開始位置としてその開始位置から所定のビット数（例えば８ビット）単位で、変換された接続可能数データと登録状態データとのビット積を求める段階と、を備え、ビット積の演算を行った結果においてすべてのビットが「０」である場合には、ビット積を求める段階が、開始位置を進めて、代表番号に係るすべてのＩＰ電話回線に対応するビットが処理されるかまたは結果に「１」のビットが含まれるまで繰り返され、選択する段階が、ビット積の演算を行った結果において「１」であるビットのうち順位番号が最も若いものに対応するＩＰ電話回線を接続先とする段階を備え、代表番号への着信があるたびにその代表番号に対する開始ポインタ値の値を変更するようにすることが好ましい。
【００１１】
本発明のＳＩＰサーバは、複数のＩＰ電話回線に対して共通の代表番号が設定されているＩＰ電話ネットワークにおいて用いられ、各ＩＰ電話回線に対する接続制御を行うＳＩＰサーバであって、各代表番号ごとに、その代表番号に係る各ＩＰ電話回線ごとのロケーションデータの登録状況をＩＰ電話回線ごとに１ビットのデータとして格納するロケーションデータ状態管理テーブルと、各代表番号ごとに、その代表番号に係る各ＩＰ電話回線ごとの接続可能数を接続数管理テーブルと、接続要求があった代表番号を着信先代表番号として、ロケーションデータ状態管理テーブルから着信先代表番号に係るデータを抽出して登録状態データとし、接続数管理テーブルから着信先代表番号に係るデータを抽出して接続可能数データとし、登録状態データにおけるビットごとに接続可能数データの対応する要素を乗算する演算手段と、ロケーションデータ状態管理テーブル及び接続数管理テーブルを更新し、演算手段での乗算の結果、０でない結果を得たものに対応するＩＰ電話回線の中から接続先となるＩＰ電話回線を選択し、選択されたＩＰ電話回線に対して接続要求に対する接続を試みる接続制御手段と、を有する。
【００１２】
本発明のＳＩＰサーバでは、代表番号ごとに開始ポインタ値を保持する代表群情報管理テーブルをさらに備え、ロケーションデータ状態管理テーブル及び接続数管理テーブルにおいて代表番号ごとにその代表番号に係るＩＰ電話回線に一連の順位番号が付与されるようにしてもよい。その場合、演算手段は、所定のビット数のビット演算幅で２つのビット列間のビット積演算を行うように構成され、接続可能数データにおいて接続可能数が１以上か０であるかに応じて「１」または「０」のビット値に変換し、開始ポインタ値で表わされる順位番号に対応するビットを開始位置としてその開始位置から所定のビット数で、変換された接続可能数データと登録状態データとのビット積を求める。また演算手段は、ビット積の演算を行った結果においてすべてのビットが「０」である場合には、代表番号に係るすべてのＩＰ電話回線に対応するビットが処理されるかまた結果に「１」のビットが含まれるまで、開始位置を所定のビット数だけ進めてビット積を求める演算を繰り返す。そして接続制御手段は、演算手段でのビット積の演算を行った結果において「１」であるビットのうち順位番号が最も若いものに対応するＩＰ電話回線を接続先とし、代表番号への着信があるたびにその代表番号に対する開始ポインタ値の値を変更する。
【００１３】
本発明においては、接続先の決定後、接続先となるＩＰ電話回線に対して接続判定を行い、接続判定で異常を検出した場合あるいは接続判定は正常であるが無反応である場合に、そのＩＰ電話回線についてロケーションデータの登録がないものとみなしてロケーション状態管理テーブルを更新するようにしてもよい。さらに、事前にＩＰ電話回線ごとの最大接続可能数を定めておき、その後は、呼接続、呼切断の処理があるたびにＩＰ電話回線に問い合わせることなく接続数管理テーブルにおけるそのＩＰ電話回線での接続可能数を更新するようにしてもよい。
【発明の効果】
【００１４】
本発明では、各ＩＰ電話回線の状態を保持して着信ＩＰ電話回線を選択するための処理において、呼接続を制御するＳＩＰサーバに保持される状態を実際の着信端末の状態と同期化することにより、実際に端末への着信接続処理を行った際にその端末が接続拒否応答を返すことによる他端末への再着信接続動作をなくし、また、端末に対して状態を問い合わせることなく着信接続動作を行えるようにする。さらに本発明では、接続可否判定を行うためにＳＩＰサーバなどで用いられるデータを簡略化し、各条件ごとの接続可否状態を、否を「０」、可を「１」というように２状態で管理することによって、各回線ごとの各条件を示す管理テーブルにおけるビット演算による掛け合わせ（ビット乗算）を行って「０」または「１」に結果を取得し、この回線ごとに１ビットで表わされる結果に基づいて接続可否判定を行うことにより、回線選択処理の負荷軽減を図ることができる。
【００１５】
その結果、本発明によれば、代表番号への接続要求後の着信処理において、着信番号選択処理を行うＩＰ電話交換機（ＳＩＰサーバ）の処理負荷を軽減することができ、大量の接続要求を処理することが可能になる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の好ましい実施形態について、図面を参照して説明する。
【００１７】
本実施形態では、代表番号への大量の呼接続要求に対して、接続先回線選択の処理負荷を低減するために、以下の手法を用いる。
【００１８】
（１）  ＳＩＰサーバでの着信回線選択処理を実施する上での、接続可否判定条件となる着信端末の状態管理を、接続可能数（リソース数）が１以上か否か（すなわち空きリソースがあるか否か）と、ロケーションデータ（位置登録情報）登録の有無のみとし、極力、端末の状態をＳＩＰサーバと端末間で同期化することで、ＳＩＰサーバから端末への接続要求に対する着信拒否を減少させる。
【００１９】
接続可能数を常時、ＳＩＰサーバと着信端末間で同期させるために、呼接続とは非同期で事前にＳＩＰサーバと着信端末との間で最大接続可能数を決定して管理し、呼接続ごとに接続数管理（残リソース数管理）を行う。
【００２０】
また、位置登録情報を常時、ＳＩＰサーバと着信端末間で同期させるために、ロケーションデータの有効時間を短くし、ＳＩＰサーバへのロケーションデータ登録（ＳＩＰでのＲｅｇｉｓｔｅｒ登録）を短い時間間隔で実施する。選択されたＩＰ電話回線への着信時、ＳＩＰサーバからの接続要求に対して着信端末から応答がない場合には、ＳＩＰサーバは、その端末が存在しないかあるいは故障等により接続不可であると判断し、その端末についてのロケーションデータが登録されていない状態に移行させることによって、状態不一致の時間を短くする。また、端末からのＳＩＰサーバに対するロケーションデータ削除要求の送信も可能にし、端末状態の同期化を可能にする。
【００２１】
（２）  代表番号への着信要求をＳＩＰサーバが受け取った場合、ＳＩＰサーバは、着信回線選択処理として、まず、同一の代表番号が割り当てられているＩＰ電話回線のグループである着信番号共有グループ内のＩＰ電話回線ごとに、選択条件となる着信端末の状態である接続可能数を接続数管理テーブルに格納された残リソース数（接続可能数）で管理し、ロケーションデータ登録の有無はロケーションデータ状態管理テーブル（有の場合は「１」、無の場合は「０」）で管理する。着信回線選択の処理実施時に、接続数管理テーブルのデータを、リソース空きありを「１」、リソース空きなしを「０」に変換し、ロケーションデータ状態管理テーブルのデータと回線ごとのビット乗算を行い、結果として「１」のビットが得られた回線を選択する。これにより、ＳＩＰサーバでの着信回線選択処理の負荷が軽減される。
【００２２】
図１は、このような回線選択処理方法が適用されるＩＰ電話ネットワークの構成の一例を示している。
【００２３】
図１に示したものでは、ＩＰネットワーク１１とＰＳＴＮ（公衆交換電話ネットワーク）１２とがゲートウェイ１３を介して接続しており、ＩＰネットワーク１１内には、ＳＩＰサーバ１４が設けられている。ＩＰネットワーク１１は、それぞれＩＰ電話回線終端装置によって終端されている複数のＩＰ電話回線を含んでいる。これらの複数のＩＰ電話回線は、代表番号である着信番号を共有するグループであるいくつかの着信番号共有グループに分けられており、グループごとにそのグループ内のＩＰ電話回線に対してグループ内で同一の代表番号が設定されている。もちろん、代表番号が設定されないＩＰ電話回線が存在してもよい。図１に示した例では、１つの着信番号共有グループ１５が設けられており、この着信番号共有グループ１５には、ＩＰ電話回線Ｎ１〜Ｎ３が所属している。このようなネットワークにおける大量接続要求とは、ＩＰネットワーク１１上の電話（ＩＰ電話）からの、あるいはＰＳＴＮ１２を介した固定電話や携帯電話からの、代表番号への接続要求が多数発生した状態のことをいう。
【００２４】
ＩＰ電話回線Ｎ１〜Ｎ３は、いずれも、その状態を表す属性として、接続可能数とロケーションデータ（位置登録情報）とを有している。接続可能数は、ＩＰ電話回線が実際に同時に通話可能な数のことであり、ＩＰ電話回線はその接続可能数分の通信を行うことができる。ロケーションデータは、そのＩＰ電話回線のＩＰ電話回線終端装置の位置情報であり、通常、ＩＰネットワーク１１におけるＩＰアドレスに対応している。あらかじめロケーションデータをＳＩＰサーバ１４に登録することにより、ＳＩＰサーバ１４は、ＩＰ電話回線への接続要求用信号を送信する宛先としてそのロケーションデータを使用する。
【００２５】
ＳＩＰサーバ１４は、上述したようにＩＰ電話を接続するために用いられるサーバであり、各ＩＰ電話回線に対する呼接続・呼切断の制御を行う。特にこの実施形態では、ＳＩＰサーバ１４は、代表番号によって着呼先を指定する着信要求（接続要求）を受け付けて着信すべきＩＰ電話回線を選択し、選択したＩＰ電話回線にその着信要求に対応する呼を着信させる機能を有する。このようなＳＩＰサーバは、ＩＰ電話回線ごとにそれらのＩＰ電話回線のロケーションデータを保持するロケーションデータファイル１６と、ＩＰ電話回線ごとの接続可能数を保持する接続可能数ファイル１７とを管理し、呼接続・呼切断等の制御を実行する。接続可能数ファイル１７における接続可能数は、ＩＰ電話回線ごとに、そのＩＰ電話回線に対する呼接続が開始する際に、開始する呼接続の数だけ減算され、呼接続が終了した際に終了した呼接続の数だけ加算される。これにより、ＩＰ電話回線ごとにその接続可能数までの接続が可能とされる。
【００２６】
ＳＩＰサーバ１４は、後述するように、代表番号に対する接続要求があって着線回線を選択する際に、その着信番号共有グループ内の各ＩＰ電話回線における接続回線数の空き、ロケーションデータ登録の有無に基づいて、接続可能数が正であり（空きリソースがあり）、かつ、ロケーションデータが登録されているＩＰ電話回線を選択する。その際、ＩＰ電話回線の選択の処理を高速で実行できるようにするため、ＳＩＰサーバ１４は、ロケーションデータファイル１６から、着信番号共有グループ１５ごとにその着信番号共有グループに属する各ＩＰ電話回線についてそのＩＰ電話回線のロケーションデータが登録されているか否かだけを示すロケーションデータ状態管理テーブルを生成し、また、接続可能数ファイル１７から、着信番号共有グループごとにその着信番号共有グループに属する各ＩＰ電話回線の接続可能数を記載した接続数管理テーブルを生成する。ロケーションデータ状態管理テーブルおよび接続数管理テーブルは、各ＩＰ電話回線の状態を管理するための端末状態管理テーブルであり、それぞれ、ＳＩＰサーバ１４においてロケーションデータファイル１６および接続可能数ファイル１７の内容が更新されるたびに更新される。実際には、ロケーションデータ状態管理テーブルおよび接続数管理テーブルをロケーションデータファイル１６および接続可能数ファイル１７とはそれぞれ別個に管理するのではなく、ロケーションデータファイル１６および接続可能数ファイル１７の内容の一部をそれぞれそのままロケーションデータ状態管理テーブルおよび接続数管理テーブルとみなして、後述する着信回線選択処理において使用してもよい。
【００２７】
図２（ａ）は、ロケーションデータ状態管理テーブル２１の内容の一例を示している。ロケーションデータ状態管理テーブル２１は、代表番号と着信番号共有グループ内でのＩＮＤＸ番号とをキーとして構成されたテーブルである。ＩＮＤＸ番号は、着信番号共有グループごとにその着信番号共有グループに属する各ＩＰ電話回線に対して付与した番号であり、呼び出し順位を示す番号である。ロケーションデータ状態管理テーブル２１では、各着信番号共有グループの各ＩＰ電話回線に対し、そのＩＰ電話回線のロケーションデータがロケーションデータファイルに登録されていれば“１”が、登録されていなければ“０”が、１ビットの２進データとして記録されている。ロケーションデータ状態管理テーブル２１のそれぞれ内容は、後述するように、対応するＩＰ電話回線やそれにつながる端末の状態によって変化する。
【００２８】
図２（ｂ）は、接続数管理テーブルの内容の一例を示している。接続数管理テーブル２２も、ロケーションデータ状態管理テーブル２１と同様に、代表番号とＩＮＤＸ番号とをキーとして構成されたテーブルであり、接続数管理テーブル２１では、各着信番号共有グループの各ＩＰ電話回線に対し、そのＩＰ電話回線の接続可能数がそれぞれ記録されている。図示したものでは、代表番号がＡである着信番号共有グループのＩＮＤＸ番号が１であるＩＰ電話回線の接続可能数が７０であることが示されている。接続数管理テーブル２２に示される接続可能数は、対応するＩＰ電話回線での呼接続状態により変化する。
【００２９】
次に、本実施形態の動作について説明する。
【００３０】
本実施形態では、ＩＰ電話回線ごとの接続可能数とロケーションデータとを、ＳＩＰサーバ１４と端末側（ＩＰ電話回線終端装置）との間で、常時、同期させるようにする。そこで、まず、この同期の処理について説明する。
【００３１】
図３（ａ）は、接続可能数の同期の処理を示している。まず、ステップ１０１において、呼接続とは非同期で事前にＳＩＰサーバ１４とＩＰ電話回線終端装置との間でそのＩＰ電話回線についての最大接続可能数（リソース数）を決定する。次に、ステップ１０２において呼接続が開始すると、ＳＩＰサーバ１４は、ステップ１０３において、接続数管理テーブル２２における該当するＩＰ電話回線の接続可能数から、開始した呼接続の数を減算する。ステップ１０４において呼接続が終了すると（呼切断があると）、ＳＩＰサーバ１４は、ステップ１０５において、接続数管理テーブル２２における該当するＩＰ電話回線の接続可能数に、終了した呼接続の数を加算する。その後、処理はステップ１０２に戻る。この実施形態ではＳＩＰサーバ１４が呼接続を管理しているので、事前に最大接続可能数を設定した後は、ＳＩＰサーバ１４が呼接続ごとに接続数管理（残リソース数管理）を行うことによって、ＩＰ電話回線ごとの接続数を実際の状況と同期させることができる。
【００３２】
図３（ｂ）は、ロケーションデータの同期の処理を示している。まず、ステップ１１１において、ＩＰ電話回線終端装置からＳＩＰサーバ１４に対してロケーションデータの登録を行うとともに、両者間で、登録したロケーションデータの有効時間についてのネゴシエーションを行う。するとステップ１１２においてＳＩＰサーバ１４は、そのロケーションデータをロケーションデータファイル１６に記録し、ロケーションデータ状態管理テーブル２１における該当するＩＰ電話回線の値を“１”に設定する。その後、ロケーションデータについての有効時間が満了した場合には、ステップ１１３においてＳＩＰサーバ１４は、該当するロケーションデータをロケーションデータファイル１６から削除するとともに、ロケーションデータ状態管理テーブル２１における該当するＩＰ電話回線の値を“０”に設定する。
【００３３】
この実施形態では、ロケーションデータをＳＩＰサーバ１４と端末側とで、常時、同期させるために、ロケーションデータの有効時間を短くするとともに、端末側は、短い時間間隔でＳＩＰサーバ１４へのロケーションデータの再登録を実施する。そのため、ステップ１１４において、ＩＰ電話回線終端装置からのＳＩＰサーバ１４に対するロケーションデータの再登録とロケーションデータの有効時間についてのネゴシエーションが行われ、ステップ１１５において、ＳＩＰサーバ１４は、そのロケーションデータをロケーションデータファイル１６に記録し、ロケーションデータ状態管理テーブル２１における該当するＩＰ電話回線の値を“１”に設定し、その後、ステップ１１１に戻る。また、非同期イベントとして、ステップ１１６において、ＳＩＰサーバ１４から端末側に接続要求を送ったにも関わらず端末側から応答がなかった場合には、ＳＩＰサーバ１４は、該当するロケーションデータをロケーションデータファイル１６から削除するとともに、ロケーションデータ状態管理テーブル２１における該当するＩＰ電話回線の値を“０”に設定し、その後、ロケーションデータと登録要求を待つために、ステップ１１１に移行する。
【００３４】
次に、ＳＩＰサーバ１４において代表番号への着信（接続要求）を受け付けたときの処理について、特に、その代表番号に対応するＩＰ電話回線の中からその接続要求に応答すべきＩＰ電話回線を選択する処理（着信回線選択処理）について説明する。ここでは、代表番号として、Ａ，Ｂ，Ｃ，…がある場合に代表番号Ｂに対する着信があったものとして説明する。図４は、着信回線選択処理を説明するフローチャートを示すとともに、この着信回線選択処理での各テーブルなどに対する処理を図解したものであり、図５は、図４のステップ１５６に引き続く処理を示すフローチャートである。
【００３５】
代表番号Ｂに着信があったことをＳＩＰサーバ１４が検出すると、ＳＩＰサーバ１４は、ステップ１５１において、代表群情報管理テーブル３１を参照して代表番号Ｂについての開始ポインタ値を取得するとともに、代表群情報管理テーブル３１における代表番号Ｂの開始ポインタ値を１だけ大きくする。ここで代表群情報管理テーブル３１は、代表番号ごとに開始カウンタ値を格納している。開始ポインタ値は、接続先決定の処理をその代表番号に対応する着信番号共有グループにおけるどのＩＮＤＸ番号の回線から開始するかを示すものである。図示したものでは、代表番号Ｂに対して開始ポインタ値として３が取得され、この開始ポインタ値は、その後、４に更新される。このように開始ポインタを設定しさらに更新するのは、代表番号への接続要求が短時間に集中するような場合に、その代表番号に対応する複数のＩＰ電話回線に接続を分散させるためである。
【００３６】
次に、ＳＩＰサーバ１４は、ステップ１５２において、代表番号をキーとしてロケーションデータ状態管理テーブル２１を検索し、テーブルにおける代表番号Ｂに対応する行のデータを取得して登録状態データ３２とする。図４に示した登録状態データ３２は、ロケーションデータ状態管理テーブル２１が図２（ａ）に示す内容であるときのものである。
またステップ１５３において、ＳＩＰサーバ１４は、代表番号をキーとして接続可能数管理テーブル２２を検索し、テーブルにおける代表番号Ｂに対応する行のデータを取得して接続可能数データ３３とする。図４に示す接続可能数データ３３は、接続可能数管理テーブル２２が図２（ｂ）に示す内容であるときのものである。
【００３７】
次に、ＳＩＰサーバ１４は、接続可能数データ３３の内容について、値が１以上であれば「１」とし、値が０であれば「０」とすることによって、ＩＮＤＸ番号ごとに１ビットで表わされたデータ（ビット化後のデータ３４）に変換する。図示されるデータ３４は、ＩＮＤＸ番号が３〜１０までの８回線について、接続可能数が１以上すなわちリソースがある場合には「１」とし、接続可能数が０すなわちリソースがない場合には「０」とした８ビットのデータである。
【００３８】
そして、ステップ１５５においてＳＩＰサーバ１４は、登録状態データ３２から、開始ポインタ（この場合、「３」）から８ビット分のデータ（ＩＮＤＸ番号が３である回線から８回線分のロケーションデータ登録の有無を表わすデータ）と、ステップ１５４においてビット化後のデータ３４に変換された後の接続可能数データのうち同じく開始ポインタから８ビット分のデータ（ＩＮＤＸ番号が３である回線から８回線分のリソース（接続可能な回線）の有無を表わすデータ）とを取り出し、これらの２つの８ビットデータ間で各ビットごとに積を求めることによって、８ビットの結果３５を得る。この結果は、ＩＮＤＸ番号が３から１０までの８回線について、各回線ごとに、ロケーションデータが登録されていてかつリソースがある（接続可能数が１以上）であれば「１」であり、そうでなければ「０」となるデータである。そこでステップ１５６において、ビット積が「１」であるＩＮＤＸ番号のうち最も若い番号に対応するＩＰ電話回線を接続先と決定する。
【００３９】
このとき、ステップ１５５で得られる結果３５が“００００００００”となる場合、すなわち着信できる回線が１つもないことがあり得る。そこで、ステップ１５５Ａにおいて、結果３５のビットがすべて「０」かどうかを判断し、「１」であるビットが存在する場合にステップ１５６を実行する。結果３５のビットがすべて「０」の場合には、次の８ビット（８回線）の中に接続可能な回線があるかどうかを確かめるために、ステップ１５７において、まずすべてのＩＮＤＸ番号（すなわちＩＰ電話回線）について調べた（ビット積演算を行った）かを調べ、まだビット積演算の対象となっていないものが残っている場合には、次の８回線について、その中に接続できるものがあるかどうかを調べるために、ステップ１５７Ａにおいてビット積演算の開始位置を８ビット進めてステップ１５５に戻り、ビット積演算を実行する。図示した例において、ＩＮＤＸ番号が３から１０までの８ビットでのビット積が“０００００００”となったとすると、次に、ＩＮＤＸ番号が１１から１８までの８ビットについてビット積演算が行われることになる。
【００４０】
ステップ１５７において、すべてのＩＮＤＸ番号を調べたと判断された場合は、いずれのＩＰ電話番号の中からも接続先が見つからない場合であるので、ステップ１５８において呼切断として処理を終了する。か、
ステップ１５６によって接続先を決定した場合には、図５のフローチャートのステップ１５９において、接続先として決定されたＩＰ電話回線に対して呼接続処理を行う。この呼接続処理では、該当するＩＰ電話回線についての接続可能数を減算する処理も行う。その後、ステップ１６０において、この呼接続処理が正常に行われたかどうかの接続判定を行う。本実施形態の場合、大量の接続要求を処理することを最優先とするので、ステップ１５２においてロケーションデータ状態管理ファイル２１から登録状態データ３２を抽出したら一連の処理においてその登録状態データをそのまま使用するので、上述したステップ１５１からの処理を実行している間にロケーションデータの登録が削除されることもあり得る。そこで接続判定では、ロケーションデータがロケーションデータファイル１６に登録されているかを確認する。
【００４１】
接続判定で正常と判定された場合には、ステップ１６１において接続先のＩＰ電話回線にＩｎｖｉｔｅを送信し、ステップ１６２において、ＳＩＰプロトコルで規定するＩｎｖｉｔｅに対する反応があるかどうかを判定する。反応がある場合には、最終的に正常に接続した場合なので、ステップ１６３に示すように通話が行われ、その後、ステップ１６４において呼切断となり、該当するＩＰ電話回線の接続可能数に１を加算し、すべての処理を終了する。
【００４２】
ステップ１６０の接続判定において異常となった場合は、該当するロケーションデータが既に削除されている場合なので、ステップ１６５において、ロケーションデータ状態管理テーブルの対応する項目に「０」を設定し、ステップ１６６において、該当するＩＰ電話回線の接続可能数に１を加算する。その後、呼損として、呼接続要求処理を中断してもよいが、別のＩＰ電話回線での接続を試みるために、図示されるように、ステップ１５３に戻ってもよい。
【００４３】
ステップ１６２において無反応（所定の時間内に応答がない）であった場合は、ロケーションデータは登録されているが正常に応答しない場合であり、何らかの障害等が疑われる場合であるので、ステップ１６７において、ロケーションデータ状態管理テーブルの対応する項目に「０」を設定し、その後、ステップ１６４に移行して呼切断とし、該当するＩＰ電話回線の接続可能数に１を加算する。この場合には、次のＩＰ電話回線への接続を試みることなく、処理を終了させる。
【００４４】
以上、本実施形態における着信回線選択処理を説明したが、この処理では、ＩＰ電話回線ごとのロケーションデータ登録の有無を１ビットのデータで表わし、また、ＩＰ電話回線ごとに空きリソースがあるか（接続可能数が１以上か）を１ビットのデータで表わし、８ビットデータごとにおけるデータ積を求めることで８回線分まとめて代表着信を行えるかどうかを判定を繰り返している。これらの処理は、複雑な条件を満たすものの「検索」といった重い処理ではなく、ＳＩＰサーバ１４において単なるレジスタ間演算、あるいはアドレス指定によるメモリ間演算で実行できるものである。したがって、これらの処理を高速に実行することができるようになり、代表番号への大量接続要求があっても正常に処理を行えるようになる。。ここでは、８ビット単位でビット積を求めて接続先を決定するものとして説明したが、ＳＩＰサーバ１４の演算部におけるアーキテクチャや着信番号共有グループに含まれるＩＰ電話回線の数などに応じて、例えば、１６ビットや３２ビットとすることも可能である。
【００４５】
また、本実施形態では、ＳＩＰサーバ１４では、ＩＰ電話回線ごとに、すなわちロケーションごとに接続先を決めており、ロケーションにおけるどのＩＰ電話端末（ＩＰ電話機）に着信させるかは決めていない。ロケーションごとにどのＩＰ電話端末に着信させるかは、各ロケーションのＩＰ電話回線終端装置が決定する。したがって、個々の端末レベルで接続先を決定しなくてよいため、その分、ＳＩＰサーバの処理負荷がさらに軽減されている。
【００４６】
なお上述した処理では、処理中に接続可能数が変化すると誤った接続先を選択する可能性があるので、ステップ１５３からステップ１５８またはステップ１５９までの区間においては、接続数管理テーブル２２（および接続可能数データ３３）はロックしておくものとする。
【００４７】
また、ＳＩＰサーバ１４に処理余力があるような場合には、接続可能数データ３３の「０」または「１」へのビット化を行うステップ１５４を省略することも可能で、その場合には、登録状態データ３２の各ビットを接続可能数データ３３の各値に乗算し、結果が０でないＩＮＤＸ番号の回線を接続先として選択すればよい。
【００４８】
図６（ａ）は、以上説明した本実施形態の着信回線選択処理を実行するのに適したＳＩＰサーバ１４の論理構成の一例を示すブロック図であり。図６（ｂ）はこのＳＩＰサーバにおけるテーブル格納部５４の構成を示すブロック図である。
【００４９】
ＳＩＰサーバ１４は、ＩＰネットワーク１１とのインタフェースとなるネットワークインタフェース５０と、ロケーションデータファイル１６を格納するロケーションデータファイル格納部５１と、接続可能数ファイル１７を格納する接続可能数ファイル格納部５２と、ロケーションデータファイル格納部５１内のロケーションデータファイル１６と接続可能数ファイル格納部５２内の接続可能数ファイル１７からデータを読み出すとともにこれらのファイルのデータの更新を行うファイルアクセス部５３と、ロケーションデータ状態管理テーブル２１、接続数管理テーブル２２及び代表群情報管理テーブル３１を格納するテーブル格納部５４と、上述したステップ１５３，１５４に示した処理を実行するビット演算部５５と、ネットワークインタフェース５０に接続してＳＩＰサーバ１４としての接続処理を実行する接続制御部５６と、を備えている。
【００５０】
接続制御部５６は、ロケーションデータファイル１６および接続可能数ファイル１７の内容を参照しまたこれらの内容を更新する必要があるときには、ファイルアクセス部５３を介してロケーションデータファイル格納部５１及び接続可能数ファイル格納部５２内のこれらのファイルにアクセスする。またファイルアクセス部５３は、ロケーションデータファイル格納部５１及び接続可能数ファイル格納部５２から抽出したデータによって、テーブル格納部５４内のロケーションデータ状態管理テーブル２１及び接続数管理テーブル２２の内容を随時更新する。テーブル格納部５４からは、ビット演算部５５に対し、開始ポインタ値、登録状態データ３２及び接続数可能数データ３３が送られる。ビット演算値５５は、送られてきた開始ポインタ値、登録状態データ３２及び接続数可能数データ３３に基づいて上述のステップ１５３，１５４に示した処理を実行し、接続先として選択されたＩＰ電話回線のＩＮＤＸ番号を接続制御部５６に送る。
【００５１】
このようなＳＩＰサーバ１４は、典型的には、サーバコンピュータなどのコンピュータに、上述した処理を実行するためのプログラムを読み込ませて実行させるようにすることによっても実現できるものである。そのようなコンピュータは、一般には、ＣＰＵ（中央処理装置）と、プログラムやデータを格納するためのハードディスク装置と、半導体メモリで構成される主メモリ２３と、キーボードなどの入力装置と、液晶表示装置などの表示装置と、ＣＤ−ＲＯＭ等の記録媒体を読み取る読み取り装置と、ネットワークなどへのインタフェースによって構成されている。特に本実施形態では、ロケーションデータファイル格納部５１及び接続可能数ファイル５２は典型的にはハードディスク装置内に設定され、テーブル格納部５４は、テーブルに対する検索処理等の高速化のために、主メモリ上に設定される。ファイルアクセス部５３、ビット演算部５５及び接続制御部５６は、ＣＰＵにおけるソフトウェア実行によって実現されるものであるが、特にビット演算部５５は、バイト（８ビット）単位あるいはワード単位でビット積演算を行うことができる、ＣＰＵ内の演算ユニットによって実現される。ＩＰネットワーク１１に対するネットワークインタフェース５０としては、ＳＩＰサーバ１４として用いられるコンピュータのネットワークインタフェースが用いられる。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の一形態の回線選択処理方法が適用されるＩＰ電話ネットワークの構成の一例を示す図である。
【図２】（ａ），（ｂ）は、それぞれ、ロケーションデータ状態管理デーブル及び接続数管理テーブルの内容の一例を示す図である。
【図３】（ａ）は接続可能数の同期の処理を示すフローチャートであり、（ｂ）はロケーションデータの同期の処理を示すフローチャートである。
【図４】着線回線選択処理を説明する図である。
【図５】着線回線選択処理の後半部分を説明するフローチャートである。
【図６】（ａ）はＳＩＰサーバの構成の一例を示すブロック図であり、（ｂ）はテーブル格納部の構成を示すブロック図である。
【符号の説明】
【００５３】
１１    ＩＰネットワーク
１２    公衆交換電話ネットワーク（ＰＳＴＮ）
１３    ゲートウェイ
１４    ＳＩＰサーバ
１５    着信番号共有グループ
１６    ロケーションデータファイル
１７    接続可能数ファイル
２１    ロケーションデータ状態管理テーブル
２２    接続数管理テーブル
３１    代表群情報管理テーブル
３２    登録状態データ
３３    接続可能数データ
３４    ビット化後のデータ３４
３５    結果
５０    ネットワークインタフェース
５１    ロケーションデータファイル格納部
５２    接続可能数ファイル格納部
５３    ファイルアクセス部
５４    テーブル格納部
５５    ビット演算部
５６    接続制御部
【図１】
0004881906.tif 000002
【図２】
0004881906.tif 000003
【図３】
0004881906.tif 000004
【図４】
0004881906.tif 000005
【図５】
0004881906.tif 000006
【図６】
0004881906.tif 000007