負荷分散システム及びコンピュータープログラム
【課題】負荷分散装置における処理負荷を軽減することを可能とすること。
【解決手段】複数の通信端末装置と、通信要求を複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、通信端末装置は、負荷分散装置から通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には負荷分散装置を介さずに送信元と切断処理を行う通信路制御部を備え、負荷分散装置は、通信要求を受信し、当該通信要求を複数の通信端末装置のいずれかに転送する負荷分散処理部と、通信要求先毎に、接続数を記憶する記憶部と、備え、負荷分散処理部は、記憶部に記憶される接続数に基づいて転送先となる通信端末装置を選択する、ことを特徴とする。
【解決手段】複数の通信端末装置と、通信要求を複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、通信端末装置は、負荷分散装置から通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には負荷分散装置を介さずに送信元と切断処理を行う通信路制御部を備え、負荷分散装置は、通信要求を受信し、当該通信要求を複数の通信端末装置のいずれかに転送する負荷分散処理部と、通信要求先毎に、接続数を記憶する記憶部と、備え、負荷分散処理部は、記憶部に記憶される接続数に基づいて転送先となる通信端末装置を選択する、ことを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信要求元との通信を複数の通信端末装置に分散させる負荷分散システム及びそのコンピュータープログラムに関する。
【背景技術】
【0002】
SIP(Session Initiation Protocol)は、音声通信などを行うためのセッションを構築するプロトコルとして注目されている。例えば、特許文献1のように、全体のパフォーマンスを低下させることなくSIPサーバの同時接続数を増加させるための技術などが提案されている。
【0003】
ところで、コールセンター等のアプリケーションでは、サービス(テナント)毎に受け入れ可能なチャネル数の上限が設定される場合がある。このとき、複数のSIP−UA(SIP-User Agent)に対しSIP負荷分散装置で通信の割り振りを行うシステムでは、SIP負荷分散装置においてサービス毎のチャネル数上限及びサービス毎の使用チャネル数を管理する必要がある。また、商用システムでは、単一故障点が無くなるような信頼性対策が要求されるため、SIP負荷分散装置をホットスタンバイ構成で二重化することが一般的である。
【0004】
従来は、上記要件を実現するために、全てのSIPパケットがSIP負荷分散装置を経由して転送されるようにし、SIP負荷分散装置でSIPセッションを管理する方式が採用されている。SIP負荷分散装置は、SIPのリクエスト、レスポンスを受信するたびに、データベースで管理しているSIPセッション状態を更新する。リクエスト受信時には、SIP負荷分散装置はアクティブなチャネル数を参照し、上限チャネル数に達していないSIP−UAにリクエストを転送する。なお、ホットスタンバイ構成で構築するために、SIPセッション情報はデータベースに格納して管理される必要がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−269217号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来の技術では、全てのSIPパケットがSIP負荷分散装置を経由して転送されるため、SIP負荷分散装置は全てのSIPリクエストやレスポンスを処理する必要があり、SIP負荷分散装置の処理負荷が高くなってしまうという問題があった。
【0007】
上記事情に鑑み、本発明は、負荷分散装置における処理負荷を軽減することを可能とする負荷分散システム及びコンピュータープログラムを提供することを目的する。
【課題を解決するための手段】
【0008】
本発明の一態様は、複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、前記通信端末装置は、前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部を備え、前記負荷分散装置は、通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、前記通信要求先毎に、接続数を記憶する記憶部と、を備え、前記負荷分散処理部は、前記記憶部に記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、ことを特徴とする。
【0009】
本発明の一態様は、複数の通信端末装置と、管理装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、前記通信端末装置は、前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部と、前記通信要求の通信要求先毎に、前記通信路が切断された回数を記憶する切断数記憶部と、前記切断数記憶部が記憶する通信要求先毎に前記通信路が切断された回数を前記管理装置に通知する切断回数通知部と、を備え、前記管理装置は、前記複数の通信端末装置それぞれから前記切断された回数の通知を受信する切断回数通知受信部と、前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数を前記負荷分散装置に通知する合計値通知部と、を備え、前記負荷分散装置は、通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、前記通信要求先毎に、前記通信要求を転送した回数を記憶する記憶部と、前記管理装置から前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数の通知を受信する通知受信部と、前記通信路が切断された回数の通知に基づいて、前記通信要求先毎に前記通信路が切断された回数の合計値を算出する算出部と、前記算出部によって算出された合計値に基づいて、前記記憶部に記憶される前記通信要求を転送した回数を前記通信路が切断された回数の合計値分減じる管理部と、を備えることを特徴とする負荷分散システム。
【0010】
本発明の一態様は、上記の負荷分散システムであって、前記負荷分散装置は、前記通信要求先毎に上限値を記憶する上限値記憶部をさらに備え、前記負荷分散装置の前記負荷分散処理部は、受信された前記通信要求の通信要求先に前記通信要求を転送した回数が当該通信要求先の上限値を超えていない場合には、当該通信要求を転送し、上限値を超えている場合には当該通信要求を転送しない、ことを特徴とする。
【0011】
本発明の一態様は、上記の負荷分散システムであって、前記負荷分散装置と同様の各構成と、前記負荷分散装置が正常に動作しているか否か監視する監視部と、前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、を備える待機系負荷分散装置をさらに備えることを特徴とする。
【0012】
本発明の一態様は、上記の負荷分散システムであって、待機系負荷分散装置をさらに備え、前記待機系負荷分散装置は、前記負荷分散装置と同様の各構成と、前記負荷分散装置が正常に動作しているか否か監視する監視部と、前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、を備え、前記管理装置は、前記負荷分散装置が動作するために必要な情報を記憶する必須情報記憶部と、前記負荷分散装置に異常が生じた場合に、前記待機系負荷分散装置に前記必須情報記憶部に記憶される情報を通知する異常時通知部と、を備え、前記異常発生時制御部は、前記異常時通知部によって通知された情報に基づいて動作することを特徴とする。
【0013】
本発明の一態様は、複数の第一情報処理装置と第二情報処理装置とを、それぞれ複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置として動作させるためのコンピュータープログラムであって前記第一情報処理装置に対し、前記第二情報処理装置からから前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記第二情報処理装置を介さずに前記送信元と切断処理を行うステップを実行させ、前記第二情報処理装置に対し、通信要求を受信し、当該通信要求を前記複数の第一情報処理装置のいずれかに転送するステップと、前記通信要求先毎に、接続数を記憶するステップと、を実行させ、前記転送するステップにおいて、記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、ことを特徴とする。
【発明の効果】
【0014】
本発明により、負荷分散装置を介して通信路の切断処理を行わなくとも負荷分散装置において通信要求先毎に通信路が確立されている数を取得することが可能となる。そのため、通信路が切断される際に負荷分散装置を介さずに切断処理を行うことが可能となり、負荷分散装置における処理負荷を軽減することが可能となる。
【図面の簡単な説明】
【0015】
【図1】SIP負荷分散ステムのシステム構成を表すシステム構成図である。
【図2】SIP−UAの機能構成を表す概略ブロック図である。
【図3】UA用アクティブチャネル数テーブル及びUA用チャネル数テーブルの概要を表す概要図である。
【図4】SIP負荷分散装置の機能構成を表す概略ブロック図である。
【図5】上限値テーブルの概要を表す概要図である。
【図6】負荷分散装置用アクティブチャネル数テーブルの概要を表す概要図である。
【図7】チャネル管理装置の機能構成を表す概略ブロック図である。
【図8】管理装置用アクティブチャネル数テーブルの概要を表す概要図である。
【図9】管理装置用チャネル切断数テーブルの概要を表す概要図である。
【図10】待機系SIP負荷分散装置の機能構成を表す概略ブロック図である。
【図11】SIP負荷分散システムのセッション確立時及びセッション終了時の動作を表すシーケンス図である。
【図12】SIP負荷分散システムのチャネル情報通知処理の動作を表すシーケンス図である。
【図13】SIP負荷分散システムのチャネル切断情報通知処理の動作を表すシーケンス図である。
【図14】SIP負荷分散システムのフェールオーバー処理の動作を表すシーケンス図である。
【図15】管理装置用アクティブチャネル数テーブルの変形例の概要を表す概要図である。
【発明を実施するための形態】
【0016】
図1は、SIP負荷分散ステム1のシステム構成を表すシステム構成図である。SIP負荷分散システム1は、SIP(Session Initiation Protocol)ネットワークに接続され、SIPに従って動作する。SIP負荷分散システム1は、複数台のSIP−UA(SIP-User Agent)10、SIP負荷分散装置20、チャネル管理装置30、待機系SIP負荷分散装置40を備える。以下、SIP負荷分散システム1に含まれる各装置について説明する。
【0017】
図2は、SIP−UA10の機能構成を表す概略ブロック図である。SIP−UA10は、バスで接続されたCPU(Central Processing Unit)やメインメモリや補助記憶装置や通信制御装置などを備え、SIPユーザーエージェントプログラムを実行することによってSIP制御部11、通信制御部12、アクティブチャネル数記憶部13、アクティブチャネル数管理部14、チャネル切断数記憶部15、チャネル切断数管理部16、通知部17を備える装置として機能する。
【0018】
SIP制御部11は、SIPに従ってセッションに関する処理を行い同時に複数のセッションを確立する。具体的には、SIP制御部11は、SIP負荷分散装置20から転送されるセッション開始リクエスト(INVITEメッセージ:通信要求)を受信し、セッション開始リクエストの送信元のSIP端末装置との間でセッションを確立する処理を行う。このとき、SIP制御部11がセッションを確立させるSIP端末装置は、SIPネットワークに接続されたSIP端末装置である。また、SIP制御部11は、セッションが確立されているSIP端末装置との間で、SIP負荷分散装置20を介さずにセッションを終了する処理を行う。セッションを確立する処理及びセッションを終了する処理は、SIPに基づいた信号の送受信により実行される。
【0019】
通信制御部12は、SIP制御部11によってセッションが確立された複数のSIP端末装置との間で音声通話処理を行う。例えば、通信制御部12はIVR(Interactive Voice Response)を用いて構成され、複数のSIP端末装置それぞれに対して独立に並行して音声による自動応答を行う。通信制御部12は、SIP通信装置と双方向通信を行っても良いし、一方向通信を行っても良い。
【0020】
アクティブチャネル数記憶部13は、ハードディスクや半導体記憶装置を用いて構成され、UA用アクティブチャネル数テーブルを記憶する。UA用アクティブチャネル数テーブルについては後述する。
アクティブチャネル数管理部14は、SIP制御部11がセッションを確立する度にアクティブチャネル数記憶部13に記憶されるUA用アクティブチャネル数テーブルの内容を更新する。
【0021】
チャネル切断数記憶部15は、ハードディスクや半導体記憶装置を用いて構成され、UA用チャネル切断数テーブルを記憶する。UA用チャネル切断数テーブルについては後述する。
チャネル切断数管理部16は、SIP制御部11がセッションを終了する度にチャネル切断数記憶部15に記憶されるUA用チャネル切断数テーブルの内容を更新する。
【0022】
通知部17は、所定のタイミングでアクティブチャネル数記憶部13及びチャネル切断数記憶部15からそれぞれUA用アクティブチャネル数テーブル及びUA用チャネル切断数テーブルを読み出し、二つのテーブルの内容を含むチャネル情報を生成しチャネル管理装置30へ送信する。
【0023】
図3は、UA用アクティブチャネル数テーブル及びUA用チャネル切断数テーブルの概要を表す概要図である。図3AはUA用アクティブチャネル数テーブルの概要を表す。UA用アクティブチャネル数テーブルは、接続先電話番号毎にアクティブチャネル数を対応付けて有する。接続先電話番号とは、SIP負荷分散システム1で対応する電話番号であり、言い換えればこれらの電話番号宛のセッション開始リクエストがSIP負荷分散システム1にSIPネットワークから転送される。アクティブチャネル数は、各SIP−UA10において各接続先電話番号宛で確立されているSIPセッションの数である。
【0024】
図3Bは、UA用チャネル切断数テーブルの概要を表す。UA用チャネル切断数テーブルは、接続先電話番号毎にチャネル切断数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。チャネル切断数は、各SIP−UA10において各接続先電話番号宛のSIPセッションが切断された回数である。
【0025】
図4は、SIP負荷分散装置20の機能構成を表す概略ブロック図である。SIP負荷分散装置20は、バスで接続されたCPUやメインメモリや補助記憶装置や通信制御装置などを備え、SIP負荷分散プログラムを実行することによって上限値記憶部21、アクティブチャネル数記憶部22、SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25を備える装置として機能する。
【0026】
上限値記憶部21は、ハードディスクや半導体記憶装置を用いて構成され、上限値テーブルを記憶する。上限値テーブルについては後述する。
アクティブチャネル数記憶部22は、ハードディスクや半導体記憶装置を用いて構成され、負荷分散装置用アクティブチャネル数テーブルを記憶する。負荷分散装置用アクティブチャネル数テーブルについては後述する。
【0027】
SIP負荷分散処理部23は、SIP負荷分散システム1が管理する接続先電話番号宛のセッション開始リクエストをSIPネットワークから受信し、上限値記憶部21やアクティブチャネル数記憶部22に記憶される各テーブルの内容に応じてセッション開始リクエストの転送先となるSIP−UA10を決定し転送する。
【0028】
アクティブチャネル数管理部24は、SIP負荷分散処理部23がセッション開始リクエストをSIP−UA10に転送する度に、アクティブチャネル数記憶部22に記憶される負荷分散装置用アクティブチャネル数テーブルの内容を更新する。また、アクティブチャネル数管理部24は、通知受信部25がチャネル切断情報を受信する度に、アクティブチャネル数記憶部22に記憶される負荷分散装置用アクティブチャネル数テーブルの内容をチャネル切断情報に応じて更新する。
通知受信部25は、チャネル管理装置30から送信されるチャネル切断情報を受信し、チャネル切断情報をアクティブチャネル数管理部24に送る。
【0029】
図5は、上限値テーブルの概要を表す概要図である。上限値テーブルは、接続先電話番号毎に上限値を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。上限値は、同時に確立可能なSIPセッションの数の上限値を表す。
【0030】
図6は、負荷分散装置用アクティブチャネル数テーブルの概要を表す概要図である。負荷分散装置用アクティブチャネル数テーブルは、負荷分散装置用第一アクティブチャネル数テーブル及び負荷分散装置用第二アクティブチャネル数テーブルを有する。
【0031】
図6Aは負荷分散装置用第一アクティブチャネル数テーブルの概要を表す。負荷分散装置用第一アクティブチャネル数テーブルは、接続先電話番号毎にアクティブチャネル数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。アクティブチャネル数は、SIP負荷分散システム1において各接続先電話番号宛で確立されているSIPセッションの数である。
【0032】
図6Bは負荷分散装置用第二アクティブチャネル数テーブルの概要を表す。負荷分散装置用第二アクティブチャネル数テーブルは、SIP−UA識別情報毎にアクティブチャネル数を対応付けて有する。SIP−UA識別情報は、SIP負荷分散システム1に備えられる各SIP−UA10に予め付与されている重複しない識別情報である。アクティブチャネル数は、各SIP−UA10において確立されているSIPセッションの数である。
【0033】
図7は、チャネル管理装置30の機能構成を表す概略ブロック図である。チャネル管理装置30は、バスで接続されたCPUやメインメモリや補助記憶装置や通信制御装置などを備え、チャネル管理プログラムを実行することによって通知受信部31、アクティブチャネル数記憶部32、アクティブチャネル数管理部33、チャネル切断数記憶部34、チャネル切断数管理部35、上限値記憶部36、通知部37を備える装置として機能する。
【0034】
通知受信部31は、各SIP−UA10から送信されるチャネル情報を受信し、チャネル情報をアクティブチャネル数管理部33及びチャネル切断数管理部35に送る。
アクティブチャネル数記憶部32は、ハードディスクや半導体記憶装置を用いて構成され、管理装置用アクティブチャネル数テーブルを記憶する。管理装置用アクティブチャネル数テーブルについては後述する。
【0035】
アクティブチャネル数管理部33は、通知受信部31がチャネル情報を受信する度に、アクティブチャネル数記憶部32に記憶される管理装置用アクティブチャネル数テーブルの内容をチャネル情報に応じて更新する。
【0036】
チャネル切断数記憶部34は、ハードディスクや半導体記憶装置を用いて構成され、管理装置用チャネル切断数テーブルを記憶する。管理装置用チャネル切断数テーブルについては後述する。
【0037】
チャネル切断数管理部35は、通知受信部31がチャネル情報を受信する度に、チャネル切断数記憶部34に記憶される管理装置用チャネル切断数テーブルの内容をチャネル情報に応じて更新する。
【0038】
上限値記憶部36は、ハードディスクや半導体記憶装置を用いて構成され、上限値テーブルを記憶する。上限値記憶部36が記憶する上限値テーブルは、SIP負荷分散装置20の上限値記憶部21が記憶する上限値テーブルと同じであり、図5に示される通りである。
【0039】
通知部37は、所定のタイミングでチャネル切断数記憶部34から管理装置用チャネル切断数テーブルを読み出し、このテーブルの内容を含むチャネル切断情報を生成しSIP負荷分散装置20へ送信する。また、通知部37は待機系SIP負荷分散装置40からアクティブチャネル情報の要求を受けると、アクティブチャネル数記憶部32から管理装置用アクティブチャネル数テーブルを読み出し、このテーブルの内容を含むアクティブチャネル情報を生成し待機系SIP負荷分散装置40へ送信する。
【0040】
図8は、管理装置用アクティブチャネル数テーブルの概要を表す概要図である。管理装置用アクティブチャネル数テーブルは、管理装置用第一アクティブチャネル数テーブル及び管理装置用第二アクティブチャネル数テーブルを有する。
【0041】
図8Aは管理装置用第一アクティブチャネル数テーブルの概要を表す。管理装置用第一アクティブチャネル数テーブルは、接続先電話番号毎にアクティブチャネル数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。アクティブチャネル数は、SIP負荷分散システム1において各接続先電話番号宛で確立されているSIPセッションの数である。
【0042】
図8Bは管理装置用第二アクティブチャネル数テーブルの概要を表す。管理装置用第二アクティブチャネル数テーブルは、SIP−UA識別情報毎にアクティブチャネル数を対応付けて有する。SIP−UA識別情報は、SIP負荷分散システム1に備えられる各SIP−UA10に予め付与されている重複しない識別情報である。アクティブチャネル数は、各SIP−UA10において確立されているSIPセッションの数である。
【0043】
図9は、管理装置用チャネル切断数テーブルの概要を表す概要図である。管理装置用チャネル切断数テーブルは、管理装置用第一チャネル切断数テーブル及び管理装置用第二チャネル切断数テーブルを有する。
【0044】
図9Aは管理装置用第一チャネル切断数テーブルの概要を表す。管理装置用第一チャネル切断数テーブルは、接続先電話番号毎にチャネル切断数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。チャネル切断数は、SIP負荷分散システム1において各接続先電話番号宛のSIPセッションが切断された回数である。
【0045】
図9Bは管理装置用第二チャネル切断数テーブルの概要を表す。管理装置用第二チャネル切断数テーブルは、SIP−UA識別情報毎にチャネル切断数を対応付けて有する。SIP−UA識別情報は、SIP負荷分散システム1に備えられる各SIP−UA10に予め付与されている重複しない識別情報である。チャネル切断数は、各SIP−UA10においてSIPセッションが切断された回数である。
【0046】
図10は、待機系SIP負荷分散装置40の機能構成を表す概略ブロック図である。待機系SIP負荷分散装置40は、バスで接続されたCPUやメインメモリや補助記憶装置や通信制御装置などを備え、待機系SIP負荷分散プログラムを実行することによって上限値記憶部21、アクティブチャネル数記憶部22、SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25、現用系監視部41、フェールオーバー処理部42を備える装置として機能する。なお、上限値記憶部21、アクティブチャネル数記憶部22、SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25は、SIP負荷分散装置20の同名の各機能部と同じであるため説明を省略する。
【0047】
現用系監視部41は、SIP負荷分散装置20を、現用系の装置として正常に動作しているか否か監視し、SIP負荷分散装置20に異常が発生したことを検知した場合にはフェールオーバー処理部42にフェールオーバー処理の実行を指示する。
【0048】
フェールオーバー処理部42は、SIP負荷分散装置20に異常が発生すると、フェールオーバー処理を実行し、それまで現用系として動作していたSIP負荷分散装置20に代わって待機系SIP負荷分散装置40が現用系のSIP負荷分散装置20として動作するように自装置を制御する。
【0049】
図11は、SIP負荷分散システム1のセッション確立時及びセッション終了時の動作を表すシーケンス図である。まず、セッション確立時の動作について説明する。SIP負荷分散処理部23は、SIP負荷分散システム1が対応する接続先電話番号宛のセッション開始リクエストをSIPネットワークから受信すると(ステップS101)、セッション開始リクエストの転送先となるSIP−UA10を選択する(ステップS102)。
【0050】
具体的には、SIP負荷分散処理部23は、セッション開始リクエストの宛先となっている接続先電話番号について、上限値テーブル及び負荷分散装置用第一アクティブチャネル数テーブルを参照し、この接続先電話番号に対応するアクティブチャネル数が上限値に達しているか否か判断する。上限値に達している場合には、SIP負荷分散処理部23はセッション開始リクエストを一時的に保持し、セッション開始リクエストの送信元に対して通話中レスポンス(BUSY)を返信する。一方、上限値に達していない場合、SIP負荷分散処理部23は、負荷分散装置用第二アクティブチャネル数テーブルを参照し、アクティブチャネル数が上限値に達していないSIP−UA10の中から一つのSIP−UA10を転送先として選択する。アクティブチャネル数が上限値に達していないSIP−UA10が複数ある場合、SIP負荷分散処理部23は、ラウンドロビンに基づいて一つのSIP−UA10を選択しても良いし、アクティブチャネル数が最小のSIP−UA10を選択しても良いし、その他の方法によって一つのSIP−UA10を選択しても良い。なお、SIP負荷分散処理部23は各SIP−UA10のアクティブチャネル数の上限値を既定値として予め記憶している。
【0051】
次に、SIP負荷分散処理部23は、選択されたSIP−UA10のSIP−UA識別情報及びセッション開始リクエストに含まれる接続先電話番号をアクティブチャネル数管理部24に通知する。次に、アクティブチャネル数管理部24は、負荷分散装置用第一アクティブチャネル数テーブル及び負荷分散装置用第二アクティブチャネル数テーブルにおいて、それぞれ接続先電話番号及びSIP−UA識別情報に対応するアクティブチャネル数をインクリメントする(ステップS103)。そして、SIP負荷分散処理部23が、選択されたSIP−UA10に対してセッション開始リクエストを転送する(ステップS104)。
【0052】
SIP−UA10のSIP制御部11は、セッション開始リクエストを受信すると、セッション開始リクエストの送信元とSIP負荷分散装置20を介して通信を行うことによってセッションを確立する処理を行う(ステップS105)。セッションが確立すると、通信制御部12はセッションが確立された相手先の通信装置と、セッション開始リクエストの接続先電話番号に応じて通信を開始する。例えば、通信制御部12は、接続先電話番号毎に対応した音声メッセージを予め記憶しており、セッション開始リクエストの接続先電話番号に対応付けられた音声メッセージを再生することによって通信を行う。このとき、SIP制御部11は、セッション開始リクエストの送信元の接続先電話番号をアクティブチャネル数管理部14に通知する。アクティブチャネル数管理部14は、UA用アクティブチャネル数テーブルにおいて、接続先電話番号に対応するアクティブチャネル数をインクリメントする(ステップS106)。
【0053】
通信制御部12による通信を終了させる場合、SIP制御部11はセッション終了リクエストを、SIP負荷分散装置20を介さずにSIPネットワークの通信先に送信し(ステップS107)、セッションを切断する。なお、SIP−UA10の相手先の通信装置からセッション終了リクエストが送信され、SIP−UA10がこのセッション終了リクエストを受信した場合にも、SIP制御部11はセッションを切断し通信制御部12による通信が終了する。セッションが切断されると、SIP制御部11は、切断されたセッションの接続先電話番号をアクティブチャネル数管理部14及びチャネル切断数管理部16に通知する。そして、アクティブチャネル数管理部14はUA用アクティブチャネル数テーブルにおいて接続先電話番号に対応するアクティブチャネル数をデクリメントし(ステップS108)、チャネル切断数管理部16はUA用チャネル切断数テーブルにおいて接続先電話番号に対応するチャネル切断数をインクリメントし(ステップS109)、図11に表される全ての処理が終了する。
【0054】
図12は、SIP負荷分散システム1のチャネル情報通知処理の動作を表すシーケンス図である。SIP−U10の通知部17は、所定のタイミング毎に(ステップS201)UA用アクティブチャネル数テーブル及びUA用チャネル切断数テーブルの内容を読み出し、チャネル情報を生成してチャネル管理装置30へ送信する(ステップS202)。所定のタイミング毎とは、例えば予め設定された時間間隔毎であっても良いし、チャネル管理装置30から通知指示が受信される毎であっても良いし、他の条件が満たされる毎であっても良い。
【0055】
チャネル管理装置30の通知受信部31は、全てのSIP−UA10からチャネル情報を受信すると、各チャネル情報に含まれるUA用アクティブチャネルテーブルの内容をアクティブチャネル数管理部33に渡し、UA用チャネル切断数テーブルの内容をチャネル切断数管理部35に渡す。そして、アクティブチャネル数管理部33及びチャネル切断数管理部35はそれぞれ管理装置用アクティブチャネル数テーブル及び管理装置用チャネル切断数テーブルの内容を更新する(ステップS203、ステップS204)。
【0056】
具体的には、アクティブチャネル数管理部33は、全チャネル情報に基づいて接続先電話番号毎にアクティブチャネル数の合計値を算出し、管理装置用第一アクティブチャネル数テーブルの各アクティブチャネル数を合計値に置き換えて更新する。また、アクティブチャネル数管理部33は、各SIP−UA10のチャネル情報に基づいてSIP−UA10毎のアクティブチャネル数の合計値を算出し、管理装置用第二アクティブチャネル数テーブルの各アクティブチャネル数を合計値に置き換えて更新する。また、チャネル切断数管理部35は、全チャネル情報に基づいて接続先電話番号毎にチャネル切断数の合計値を算出し、管理装置用第一チャネル切断数テーブルの各チャネル切断数に合計値を加算することによって更新する。また、チャネル切断数管理部35は、各SIP−UA10のチャネル情報に基づいてSIP−UA10毎のチャネル切断数の合計値を算出し、管理装置用第二チャネル切断数テーブルの各チャネル切断数に合計値を加算することによって更新する。
【0057】
各テーブルの更新が完了すると、通知受信部31は各SIP−UA10に対して更新完了通知を送信する。各SIP−UA10の通知部17は更新完了通知を受信するとチャネル切断数管理部16にリセット指示を通知する。そして、チャネル切断数管理部16は、UA用チャネル切断数テーブルの内容をリセットし(ステップS205)、図12に表される全ての処理が終了する。具体的には、チャネル切断数管理部16はUA用チャネル切断数テーブルにおいて全てのチャネル切断数の値をゼロにする。
【0058】
図13は、SIP負荷分散システム1のチャネル切断情報通知処理の動作を表すシーケンス図である。チャネル管理装置30の通知部37は、所定のタイミング毎に(ステップS301)管理装置用チャネル切断数テーブルの内容を読み出し、チャネル切断情報を生成してSIP負荷分散装置20へ送信する(ステップS302)。所定のタイミング毎とは、例えば予め設定された時間間隔毎であっても良いし、SIP負荷分散装置20から通知指示が受信される毎であっても良いし、他の条件が満たされる毎であっても良い。
【0059】
SIP負荷分散装置20の通知受信部26は、チャネル切断情報を受信するとチャネル切断情報に含まれる管理装置用チャネル切断数テーブルの内容をアクティブチャネル数管理部24に渡す。そして、アクティブチャネル数管理部24は負荷分散装置用アクティブチャネル数テーブルの内容を更新する(ステップS303)。
【0060】
具体的には、アクティブチャネル数管理部24は、チャネル切断情報から接続先電話番号毎にチャネル切断数を読み出し、負荷分散装置用第一アクティブチャネル数テーブルの各アクティブチャネル数からチャネル切断数を減算することによって更新する。また、アクティブチャネル数管理部24は、チャネル切断情報からSIP−UA識別情報毎にチャネル切断数を読み出し、負荷分散装置用第二アクティブチャネル数テーブルの各アクティブチャネル数からチャネル切断数を減算することによって更新する。
【0061】
各テーブルの更新が完了すると、通知受信部25はチャネル管理装置30に対して更新完了通知を送信する。チャネル管理装置30の通知部37は更新完了通知を受信するとチャネル切断数管理部35にリセット指示を通知する。そして、チャネル切断数管理部35は、管理装置用チャネル切断数テーブルの内容をリセットし(ステップS304)、図13に表される全ての処理が終了する。具体的には、管理装置用チャネル切断数テーブルにおいて全てのチャネル切断数の値をゼロにする。
【0062】
図14は、SIP負荷分散システム1のフェールオーバー処理の動作を表すシーケンス図である。待機系SIP負荷分散装置40の現用系監視部41は、現用系の負荷分散装置20が正常に動作しているか否か監視を行い(ステップS401−NO)、現用系に異常が発生した場合には(ステップS401−YES)、フェールオーバー処理部42に異常発生を通知する。
【0063】
フェールオーバー処理部42は、異常発生の通知を受けると、待機系SIP負荷分散装置40の他の機能部(SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25等)を起動させ(ステップS402)、アクティブチャネル情報をチャネル管理装置30に要求する(ステップS403)。チャネル管理装置30の通知部37は、アクティブチャネル情報を生成し、待機系SIP負荷分散装置40に対しアクティブチャネル情報を通知する(ステップS404)。
【0064】
待機系SIP負荷分散装置40のフェールオーバー処理部42は、アクティブチャネル情報を受けると、アクティブチャネル情報に含まれる管理装置用アクティブチャネル数テーブルをアクティブチャネル数記憶部22に上書きすることによってアクティブチャネル数の更新を行う(ステップS405)。そして、フェールオーバー処理部42はSIP負荷分散処理部23に対して処理開始指示を送り、待機系SIP負荷分散装置40は現用系の負荷分散装置20としての処理を開始する(ステップS406)。
【0065】
このように構成された負荷分散システム1では、図11のステップS107に図示されるように、SIP−UA10は、SIP負荷分散装置20を介さずにセッション終了リクエストをSIPネットワークへ送信する。そのため、SIP負荷分散装置20においてSIP負荷分散処理に要する処理負荷を軽減させることが可能となる。
【0066】
また、このように構成された負荷分散システム1では、SIP負荷分散装置20を介さずにセッション終了リクエストが行われるためSIP負荷分散装置20はセッションの終了を検知することができない。しかし、チャネル管理装置30からチャネル切断情報が通知され、アクティブチャネル数更新が行われるため、SIP負荷分散処理部23は適切なアクティブチャネル数テーブルの内容に基づいて負荷分散処理を行うことが可能となる。
【0067】
また、このように構成された負荷分散システム1では、SIP負荷分散処理部23は、SIPセッション情報が登録されたデータベースの内容を読み出すのではなく、アクティブチャネル数テーブルに登録された数値(アクティブチャネル数)を読み出して負荷分散処理を行う。そのため、処理に用いるデータを読み出すのに要していた時間を削減することが可能となる。
【0068】
<変形例>
通信制御部12は、複数のSIP端末装置それぞれに対して独立に並行して通信可能に構成されればどのように構成されても良い。例えば、上述したような音声通話に限られず、インスタントメッセンジャーや、SIP端末装置からの入力に応じた映像の送信を行う機能部として構成されても良い。
【0069】
アクティブチャネル数テーブル、チャネル切断数テーブル、上限値テーブルは、それぞれ接続先電話番号に代えてSIPURIや、電話番号とは異なるユーザー識別子(アルファベットを含む文字列など)を有しても良い。また、各テーブルは、接続先電話番号とSIPURIとユーザー識別子とを混合して有し、それぞれに対応付けてアクティブチャネル数、チャネル切断数、上限数を有しても良い。
【0070】
負荷分散装置20は、ハードディスク等の補助記憶装置ではなく、メインメモリの記憶領域に負荷分散装置用アクティブチャネル数テーブルを記憶するように構成されても良い。このように構成されることによって、負荷分散装置20は、負荷分散装置用アクティブチャネル数テーブルの読み出し処理や書き込み処理を高速に実行することが可能となり、SIP負荷分散装置20の処理を高速化させることが可能となる。また、このように構成されると、現用系の負荷分散装置20に異常が発生した場合に、負荷分散装置用アクティブチャネルテーブルを読み出して待機系SIP負荷分散装置40に転送することが困難となってしまう。しかしながら、チャネル管理装置30が管理装置用アクティブチャネル数テーブルを記憶しているため、待機系SIP負荷分散装置40はチャネル管理装置30から最新のアクティブチャネル数テーブルを取得することが可能となる。以上のように、負荷分散処理の高速化と、待機系負荷分散装置40によるフェールオーバー処理と共に実現させることが可能となる。
【0071】
通知部37は、アクティブチャネル情報に対しさらに上限値テーブルの内容を含めるように構成されても良い。この場合、待機系SIP負荷分散装置40のフェールオーバー処理部42は、アクティブチャネル情報に含まれる上限値テーブルを上限値記憶部21に上書きする。
【0072】
SIP−UA10の通知部17における所定のタイミングの時間間隔は、待機系SIP負荷分散装置40のフェールオーバー処理部42の処理に要する時間よりも短くなるように設定されても良い。このように構成されることにより、待機系SIP負荷分散装置40が現用系として動作する際の負荷分散装置用アクティブチャネル数テーブルの内容が最新の情報となる。
【0073】
上限値テーブルは、図5に表されるテーブルに加えて、さらにSIP−UA識別情報毎に上限値が対応付けられたSIP−UA上限値テーブルを有するように構成されても良い。SIP−UA上限値テーブルにおいて、各上限値は、各SIP−UAにおいて同時に確立可能なSIPセッションの数の上限値を表す。上限値テーブルがこのようなSIP−UA上限値テーブルを有する場合、図11のステップS102の処理において、SIP負荷分散処理部23はSIP−UA上限値テーブルを参照することによって、各SIP−UA10のアクティブチャネル数が上限値に達しているか否か判定する。
【0074】
図15は、管理装置用チャネル切断数テーブルの変形例の概要を表す概要図である。図15に示されるように、管理装置用チャネル切断数テーブルは、接続先電話番号とSIP−UA識別情報との二次元マトリックス状に一つのテーブルとして構成されても良い。管理装置用チャネル切断数テーブルは、各SIP−UA10において各接続先電話番号宛で切断されたチャネルの数を有する。この場合、チャネル切断数管理部35は、ステップS204の処理において、各SIP−UA10のチャネル情報に基づいて接続先電話番号毎やSIP−UA10毎のチャネル切断数の合計値を算出するのではなく、各SIP−UA10のチャネル情報に基づいて二次元マトリックス状に構成された管理装置用チャネル切断数テーブルの各値を更新する。具体的には、チャネル切断数管理部35は、二次元マトリックス状に構成された管理装置用チャネル切断数テーブルの各値に、チャネル情報に含まれるチャネル切断数を加算する。そして、SIP負荷分散装置20のアクティブチャネル数管理部24は、ステップS303の処理において、二次元マトリックス状に構成された管理装置用チャネル切断数テーブルの内容を受けて、接続先電話番号毎及びSIP−UA10毎のチャネル切断数の合計値を算出し、負荷分散装置用第一アクティブチャネル数テーブル及び負荷分散装置用第二アクティブチャネル数テーブルの各アクティブチャネル数からチャネル切断数の合計値を減算することによって更新する。
また、管理装置用アクティブチャネル数テーブルも、図15に示されるように、接続先電話番号とSIP−UA識別情報との二次元マトリックス状に一つのテーブルとして構成されても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0075】
1…負荷分散システム, 10…SIP−UA(通信端末装置), 11…SIP制御部, 12…通信制御部, 13…アクティブチャネル数記憶部, 14…アクティブチャネル数管理部, 15…チャネル切断数記憶部, 16…チャネル切断数管理部, 17…通知部, 20…SIP負荷分散装置(負荷分散装置), 21…上限値記憶部, 22…アクティブチャネル数記憶部, 23…SIP負荷分散処理部, 24…アクティブチャネル数管理部, 25…通知受信部, 30…チャネル管理装置(管理装置), 31…通知受信部, 32…アクティブチャネル数記憶部, 33…アクティブチャネル数管理部, 34…チャネル切断数記憶部, 35…チャネル切断数管理部, 36…上限値記憶部, 37…通知部, 40…待機系SIP負荷分散装置, 41…現用系監視部, 42…フェールオーバー処理部
【技術分野】
【0001】
本発明は、通信要求元との通信を複数の通信端末装置に分散させる負荷分散システム及びそのコンピュータープログラムに関する。
【背景技術】
【0002】
SIP(Session Initiation Protocol)は、音声通信などを行うためのセッションを構築するプロトコルとして注目されている。例えば、特許文献1のように、全体のパフォーマンスを低下させることなくSIPサーバの同時接続数を増加させるための技術などが提案されている。
【0003】
ところで、コールセンター等のアプリケーションでは、サービス(テナント)毎に受け入れ可能なチャネル数の上限が設定される場合がある。このとき、複数のSIP−UA(SIP-User Agent)に対しSIP負荷分散装置で通信の割り振りを行うシステムでは、SIP負荷分散装置においてサービス毎のチャネル数上限及びサービス毎の使用チャネル数を管理する必要がある。また、商用システムでは、単一故障点が無くなるような信頼性対策が要求されるため、SIP負荷分散装置をホットスタンバイ構成で二重化することが一般的である。
【0004】
従来は、上記要件を実現するために、全てのSIPパケットがSIP負荷分散装置を経由して転送されるようにし、SIP負荷分散装置でSIPセッションを管理する方式が採用されている。SIP負荷分散装置は、SIPのリクエスト、レスポンスを受信するたびに、データベースで管理しているSIPセッション状態を更新する。リクエスト受信時には、SIP負荷分散装置はアクティブなチャネル数を参照し、上限チャネル数に達していないSIP−UAにリクエストを転送する。なお、ホットスタンバイ構成で構築するために、SIPセッション情報はデータベースに格納して管理される必要がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−269217号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来の技術では、全てのSIPパケットがSIP負荷分散装置を経由して転送されるため、SIP負荷分散装置は全てのSIPリクエストやレスポンスを処理する必要があり、SIP負荷分散装置の処理負荷が高くなってしまうという問題があった。
【0007】
上記事情に鑑み、本発明は、負荷分散装置における処理負荷を軽減することを可能とする負荷分散システム及びコンピュータープログラムを提供することを目的する。
【課題を解決するための手段】
【0008】
本発明の一態様は、複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、前記通信端末装置は、前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部を備え、前記負荷分散装置は、通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、前記通信要求先毎に、接続数を記憶する記憶部と、を備え、前記負荷分散処理部は、前記記憶部に記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、ことを特徴とする。
【0009】
本発明の一態様は、複数の通信端末装置と、管理装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、前記通信端末装置は、前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部と、前記通信要求の通信要求先毎に、前記通信路が切断された回数を記憶する切断数記憶部と、前記切断数記憶部が記憶する通信要求先毎に前記通信路が切断された回数を前記管理装置に通知する切断回数通知部と、を備え、前記管理装置は、前記複数の通信端末装置それぞれから前記切断された回数の通知を受信する切断回数通知受信部と、前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数を前記負荷分散装置に通知する合計値通知部と、を備え、前記負荷分散装置は、通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、前記通信要求先毎に、前記通信要求を転送した回数を記憶する記憶部と、前記管理装置から前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数の通知を受信する通知受信部と、前記通信路が切断された回数の通知に基づいて、前記通信要求先毎に前記通信路が切断された回数の合計値を算出する算出部と、前記算出部によって算出された合計値に基づいて、前記記憶部に記憶される前記通信要求を転送した回数を前記通信路が切断された回数の合計値分減じる管理部と、を備えることを特徴とする負荷分散システム。
【0010】
本発明の一態様は、上記の負荷分散システムであって、前記負荷分散装置は、前記通信要求先毎に上限値を記憶する上限値記憶部をさらに備え、前記負荷分散装置の前記負荷分散処理部は、受信された前記通信要求の通信要求先に前記通信要求を転送した回数が当該通信要求先の上限値を超えていない場合には、当該通信要求を転送し、上限値を超えている場合には当該通信要求を転送しない、ことを特徴とする。
【0011】
本発明の一態様は、上記の負荷分散システムであって、前記負荷分散装置と同様の各構成と、前記負荷分散装置が正常に動作しているか否か監視する監視部と、前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、を備える待機系負荷分散装置をさらに備えることを特徴とする。
【0012】
本発明の一態様は、上記の負荷分散システムであって、待機系負荷分散装置をさらに備え、前記待機系負荷分散装置は、前記負荷分散装置と同様の各構成と、前記負荷分散装置が正常に動作しているか否か監視する監視部と、前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、を備え、前記管理装置は、前記負荷分散装置が動作するために必要な情報を記憶する必須情報記憶部と、前記負荷分散装置に異常が生じた場合に、前記待機系負荷分散装置に前記必須情報記憶部に記憶される情報を通知する異常時通知部と、を備え、前記異常発生時制御部は、前記異常時通知部によって通知された情報に基づいて動作することを特徴とする。
【0013】
本発明の一態様は、複数の第一情報処理装置と第二情報処理装置とを、それぞれ複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置として動作させるためのコンピュータープログラムであって前記第一情報処理装置に対し、前記第二情報処理装置からから前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記第二情報処理装置を介さずに前記送信元と切断処理を行うステップを実行させ、前記第二情報処理装置に対し、通信要求を受信し、当該通信要求を前記複数の第一情報処理装置のいずれかに転送するステップと、前記通信要求先毎に、接続数を記憶するステップと、を実行させ、前記転送するステップにおいて、記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、ことを特徴とする。
【発明の効果】
【0014】
本発明により、負荷分散装置を介して通信路の切断処理を行わなくとも負荷分散装置において通信要求先毎に通信路が確立されている数を取得することが可能となる。そのため、通信路が切断される際に負荷分散装置を介さずに切断処理を行うことが可能となり、負荷分散装置における処理負荷を軽減することが可能となる。
【図面の簡単な説明】
【0015】
【図1】SIP負荷分散ステムのシステム構成を表すシステム構成図である。
【図2】SIP−UAの機能構成を表す概略ブロック図である。
【図3】UA用アクティブチャネル数テーブル及びUA用チャネル数テーブルの概要を表す概要図である。
【図4】SIP負荷分散装置の機能構成を表す概略ブロック図である。
【図5】上限値テーブルの概要を表す概要図である。
【図6】負荷分散装置用アクティブチャネル数テーブルの概要を表す概要図である。
【図7】チャネル管理装置の機能構成を表す概略ブロック図である。
【図8】管理装置用アクティブチャネル数テーブルの概要を表す概要図である。
【図9】管理装置用チャネル切断数テーブルの概要を表す概要図である。
【図10】待機系SIP負荷分散装置の機能構成を表す概略ブロック図である。
【図11】SIP負荷分散システムのセッション確立時及びセッション終了時の動作を表すシーケンス図である。
【図12】SIP負荷分散システムのチャネル情報通知処理の動作を表すシーケンス図である。
【図13】SIP負荷分散システムのチャネル切断情報通知処理の動作を表すシーケンス図である。
【図14】SIP負荷分散システムのフェールオーバー処理の動作を表すシーケンス図である。
【図15】管理装置用アクティブチャネル数テーブルの変形例の概要を表す概要図である。
【発明を実施するための形態】
【0016】
図1は、SIP負荷分散ステム1のシステム構成を表すシステム構成図である。SIP負荷分散システム1は、SIP(Session Initiation Protocol)ネットワークに接続され、SIPに従って動作する。SIP負荷分散システム1は、複数台のSIP−UA(SIP-User Agent)10、SIP負荷分散装置20、チャネル管理装置30、待機系SIP負荷分散装置40を備える。以下、SIP負荷分散システム1に含まれる各装置について説明する。
【0017】
図2は、SIP−UA10の機能構成を表す概略ブロック図である。SIP−UA10は、バスで接続されたCPU(Central Processing Unit)やメインメモリや補助記憶装置や通信制御装置などを備え、SIPユーザーエージェントプログラムを実行することによってSIP制御部11、通信制御部12、アクティブチャネル数記憶部13、アクティブチャネル数管理部14、チャネル切断数記憶部15、チャネル切断数管理部16、通知部17を備える装置として機能する。
【0018】
SIP制御部11は、SIPに従ってセッションに関する処理を行い同時に複数のセッションを確立する。具体的には、SIP制御部11は、SIP負荷分散装置20から転送されるセッション開始リクエスト(INVITEメッセージ:通信要求)を受信し、セッション開始リクエストの送信元のSIP端末装置との間でセッションを確立する処理を行う。このとき、SIP制御部11がセッションを確立させるSIP端末装置は、SIPネットワークに接続されたSIP端末装置である。また、SIP制御部11は、セッションが確立されているSIP端末装置との間で、SIP負荷分散装置20を介さずにセッションを終了する処理を行う。セッションを確立する処理及びセッションを終了する処理は、SIPに基づいた信号の送受信により実行される。
【0019】
通信制御部12は、SIP制御部11によってセッションが確立された複数のSIP端末装置との間で音声通話処理を行う。例えば、通信制御部12はIVR(Interactive Voice Response)を用いて構成され、複数のSIP端末装置それぞれに対して独立に並行して音声による自動応答を行う。通信制御部12は、SIP通信装置と双方向通信を行っても良いし、一方向通信を行っても良い。
【0020】
アクティブチャネル数記憶部13は、ハードディスクや半導体記憶装置を用いて構成され、UA用アクティブチャネル数テーブルを記憶する。UA用アクティブチャネル数テーブルについては後述する。
アクティブチャネル数管理部14は、SIP制御部11がセッションを確立する度にアクティブチャネル数記憶部13に記憶されるUA用アクティブチャネル数テーブルの内容を更新する。
【0021】
チャネル切断数記憶部15は、ハードディスクや半導体記憶装置を用いて構成され、UA用チャネル切断数テーブルを記憶する。UA用チャネル切断数テーブルについては後述する。
チャネル切断数管理部16は、SIP制御部11がセッションを終了する度にチャネル切断数記憶部15に記憶されるUA用チャネル切断数テーブルの内容を更新する。
【0022】
通知部17は、所定のタイミングでアクティブチャネル数記憶部13及びチャネル切断数記憶部15からそれぞれUA用アクティブチャネル数テーブル及びUA用チャネル切断数テーブルを読み出し、二つのテーブルの内容を含むチャネル情報を生成しチャネル管理装置30へ送信する。
【0023】
図3は、UA用アクティブチャネル数テーブル及びUA用チャネル切断数テーブルの概要を表す概要図である。図3AはUA用アクティブチャネル数テーブルの概要を表す。UA用アクティブチャネル数テーブルは、接続先電話番号毎にアクティブチャネル数を対応付けて有する。接続先電話番号とは、SIP負荷分散システム1で対応する電話番号であり、言い換えればこれらの電話番号宛のセッション開始リクエストがSIP負荷分散システム1にSIPネットワークから転送される。アクティブチャネル数は、各SIP−UA10において各接続先電話番号宛で確立されているSIPセッションの数である。
【0024】
図3Bは、UA用チャネル切断数テーブルの概要を表す。UA用チャネル切断数テーブルは、接続先電話番号毎にチャネル切断数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。チャネル切断数は、各SIP−UA10において各接続先電話番号宛のSIPセッションが切断された回数である。
【0025】
図4は、SIP負荷分散装置20の機能構成を表す概略ブロック図である。SIP負荷分散装置20は、バスで接続されたCPUやメインメモリや補助記憶装置や通信制御装置などを備え、SIP負荷分散プログラムを実行することによって上限値記憶部21、アクティブチャネル数記憶部22、SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25を備える装置として機能する。
【0026】
上限値記憶部21は、ハードディスクや半導体記憶装置を用いて構成され、上限値テーブルを記憶する。上限値テーブルについては後述する。
アクティブチャネル数記憶部22は、ハードディスクや半導体記憶装置を用いて構成され、負荷分散装置用アクティブチャネル数テーブルを記憶する。負荷分散装置用アクティブチャネル数テーブルについては後述する。
【0027】
SIP負荷分散処理部23は、SIP負荷分散システム1が管理する接続先電話番号宛のセッション開始リクエストをSIPネットワークから受信し、上限値記憶部21やアクティブチャネル数記憶部22に記憶される各テーブルの内容に応じてセッション開始リクエストの転送先となるSIP−UA10を決定し転送する。
【0028】
アクティブチャネル数管理部24は、SIP負荷分散処理部23がセッション開始リクエストをSIP−UA10に転送する度に、アクティブチャネル数記憶部22に記憶される負荷分散装置用アクティブチャネル数テーブルの内容を更新する。また、アクティブチャネル数管理部24は、通知受信部25がチャネル切断情報を受信する度に、アクティブチャネル数記憶部22に記憶される負荷分散装置用アクティブチャネル数テーブルの内容をチャネル切断情報に応じて更新する。
通知受信部25は、チャネル管理装置30から送信されるチャネル切断情報を受信し、チャネル切断情報をアクティブチャネル数管理部24に送る。
【0029】
図5は、上限値テーブルの概要を表す概要図である。上限値テーブルは、接続先電話番号毎に上限値を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。上限値は、同時に確立可能なSIPセッションの数の上限値を表す。
【0030】
図6は、負荷分散装置用アクティブチャネル数テーブルの概要を表す概要図である。負荷分散装置用アクティブチャネル数テーブルは、負荷分散装置用第一アクティブチャネル数テーブル及び負荷分散装置用第二アクティブチャネル数テーブルを有する。
【0031】
図6Aは負荷分散装置用第一アクティブチャネル数テーブルの概要を表す。負荷分散装置用第一アクティブチャネル数テーブルは、接続先電話番号毎にアクティブチャネル数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。アクティブチャネル数は、SIP負荷分散システム1において各接続先電話番号宛で確立されているSIPセッションの数である。
【0032】
図6Bは負荷分散装置用第二アクティブチャネル数テーブルの概要を表す。負荷分散装置用第二アクティブチャネル数テーブルは、SIP−UA識別情報毎にアクティブチャネル数を対応付けて有する。SIP−UA識別情報は、SIP負荷分散システム1に備えられる各SIP−UA10に予め付与されている重複しない識別情報である。アクティブチャネル数は、各SIP−UA10において確立されているSIPセッションの数である。
【0033】
図7は、チャネル管理装置30の機能構成を表す概略ブロック図である。チャネル管理装置30は、バスで接続されたCPUやメインメモリや補助記憶装置や通信制御装置などを備え、チャネル管理プログラムを実行することによって通知受信部31、アクティブチャネル数記憶部32、アクティブチャネル数管理部33、チャネル切断数記憶部34、チャネル切断数管理部35、上限値記憶部36、通知部37を備える装置として機能する。
【0034】
通知受信部31は、各SIP−UA10から送信されるチャネル情報を受信し、チャネル情報をアクティブチャネル数管理部33及びチャネル切断数管理部35に送る。
アクティブチャネル数記憶部32は、ハードディスクや半導体記憶装置を用いて構成され、管理装置用アクティブチャネル数テーブルを記憶する。管理装置用アクティブチャネル数テーブルについては後述する。
【0035】
アクティブチャネル数管理部33は、通知受信部31がチャネル情報を受信する度に、アクティブチャネル数記憶部32に記憶される管理装置用アクティブチャネル数テーブルの内容をチャネル情報に応じて更新する。
【0036】
チャネル切断数記憶部34は、ハードディスクや半導体記憶装置を用いて構成され、管理装置用チャネル切断数テーブルを記憶する。管理装置用チャネル切断数テーブルについては後述する。
【0037】
チャネル切断数管理部35は、通知受信部31がチャネル情報を受信する度に、チャネル切断数記憶部34に記憶される管理装置用チャネル切断数テーブルの内容をチャネル情報に応じて更新する。
【0038】
上限値記憶部36は、ハードディスクや半導体記憶装置を用いて構成され、上限値テーブルを記憶する。上限値記憶部36が記憶する上限値テーブルは、SIP負荷分散装置20の上限値記憶部21が記憶する上限値テーブルと同じであり、図5に示される通りである。
【0039】
通知部37は、所定のタイミングでチャネル切断数記憶部34から管理装置用チャネル切断数テーブルを読み出し、このテーブルの内容を含むチャネル切断情報を生成しSIP負荷分散装置20へ送信する。また、通知部37は待機系SIP負荷分散装置40からアクティブチャネル情報の要求を受けると、アクティブチャネル数記憶部32から管理装置用アクティブチャネル数テーブルを読み出し、このテーブルの内容を含むアクティブチャネル情報を生成し待機系SIP負荷分散装置40へ送信する。
【0040】
図8は、管理装置用アクティブチャネル数テーブルの概要を表す概要図である。管理装置用アクティブチャネル数テーブルは、管理装置用第一アクティブチャネル数テーブル及び管理装置用第二アクティブチャネル数テーブルを有する。
【0041】
図8Aは管理装置用第一アクティブチャネル数テーブルの概要を表す。管理装置用第一アクティブチャネル数テーブルは、接続先電話番号毎にアクティブチャネル数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。アクティブチャネル数は、SIP負荷分散システム1において各接続先電話番号宛で確立されているSIPセッションの数である。
【0042】
図8Bは管理装置用第二アクティブチャネル数テーブルの概要を表す。管理装置用第二アクティブチャネル数テーブルは、SIP−UA識別情報毎にアクティブチャネル数を対応付けて有する。SIP−UA識別情報は、SIP負荷分散システム1に備えられる各SIP−UA10に予め付与されている重複しない識別情報である。アクティブチャネル数は、各SIP−UA10において確立されているSIPセッションの数である。
【0043】
図9は、管理装置用チャネル切断数テーブルの概要を表す概要図である。管理装置用チャネル切断数テーブルは、管理装置用第一チャネル切断数テーブル及び管理装置用第二チャネル切断数テーブルを有する。
【0044】
図9Aは管理装置用第一チャネル切断数テーブルの概要を表す。管理装置用第一チャネル切断数テーブルは、接続先電話番号毎にチャネル切断数を対応付けて有する。接続先電話番号は、UA用アクティブチャネル数テーブルにおける接続先電話番号と同じである。チャネル切断数は、SIP負荷分散システム1において各接続先電話番号宛のSIPセッションが切断された回数である。
【0045】
図9Bは管理装置用第二チャネル切断数テーブルの概要を表す。管理装置用第二チャネル切断数テーブルは、SIP−UA識別情報毎にチャネル切断数を対応付けて有する。SIP−UA識別情報は、SIP負荷分散システム1に備えられる各SIP−UA10に予め付与されている重複しない識別情報である。チャネル切断数は、各SIP−UA10においてSIPセッションが切断された回数である。
【0046】
図10は、待機系SIP負荷分散装置40の機能構成を表す概略ブロック図である。待機系SIP負荷分散装置40は、バスで接続されたCPUやメインメモリや補助記憶装置や通信制御装置などを備え、待機系SIP負荷分散プログラムを実行することによって上限値記憶部21、アクティブチャネル数記憶部22、SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25、現用系監視部41、フェールオーバー処理部42を備える装置として機能する。なお、上限値記憶部21、アクティブチャネル数記憶部22、SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25は、SIP負荷分散装置20の同名の各機能部と同じであるため説明を省略する。
【0047】
現用系監視部41は、SIP負荷分散装置20を、現用系の装置として正常に動作しているか否か監視し、SIP負荷分散装置20に異常が発生したことを検知した場合にはフェールオーバー処理部42にフェールオーバー処理の実行を指示する。
【0048】
フェールオーバー処理部42は、SIP負荷分散装置20に異常が発生すると、フェールオーバー処理を実行し、それまで現用系として動作していたSIP負荷分散装置20に代わって待機系SIP負荷分散装置40が現用系のSIP負荷分散装置20として動作するように自装置を制御する。
【0049】
図11は、SIP負荷分散システム1のセッション確立時及びセッション終了時の動作を表すシーケンス図である。まず、セッション確立時の動作について説明する。SIP負荷分散処理部23は、SIP負荷分散システム1が対応する接続先電話番号宛のセッション開始リクエストをSIPネットワークから受信すると(ステップS101)、セッション開始リクエストの転送先となるSIP−UA10を選択する(ステップS102)。
【0050】
具体的には、SIP負荷分散処理部23は、セッション開始リクエストの宛先となっている接続先電話番号について、上限値テーブル及び負荷分散装置用第一アクティブチャネル数テーブルを参照し、この接続先電話番号に対応するアクティブチャネル数が上限値に達しているか否か判断する。上限値に達している場合には、SIP負荷分散処理部23はセッション開始リクエストを一時的に保持し、セッション開始リクエストの送信元に対して通話中レスポンス(BUSY)を返信する。一方、上限値に達していない場合、SIP負荷分散処理部23は、負荷分散装置用第二アクティブチャネル数テーブルを参照し、アクティブチャネル数が上限値に達していないSIP−UA10の中から一つのSIP−UA10を転送先として選択する。アクティブチャネル数が上限値に達していないSIP−UA10が複数ある場合、SIP負荷分散処理部23は、ラウンドロビンに基づいて一つのSIP−UA10を選択しても良いし、アクティブチャネル数が最小のSIP−UA10を選択しても良いし、その他の方法によって一つのSIP−UA10を選択しても良い。なお、SIP負荷分散処理部23は各SIP−UA10のアクティブチャネル数の上限値を既定値として予め記憶している。
【0051】
次に、SIP負荷分散処理部23は、選択されたSIP−UA10のSIP−UA識別情報及びセッション開始リクエストに含まれる接続先電話番号をアクティブチャネル数管理部24に通知する。次に、アクティブチャネル数管理部24は、負荷分散装置用第一アクティブチャネル数テーブル及び負荷分散装置用第二アクティブチャネル数テーブルにおいて、それぞれ接続先電話番号及びSIP−UA識別情報に対応するアクティブチャネル数をインクリメントする(ステップS103)。そして、SIP負荷分散処理部23が、選択されたSIP−UA10に対してセッション開始リクエストを転送する(ステップS104)。
【0052】
SIP−UA10のSIP制御部11は、セッション開始リクエストを受信すると、セッション開始リクエストの送信元とSIP負荷分散装置20を介して通信を行うことによってセッションを確立する処理を行う(ステップS105)。セッションが確立すると、通信制御部12はセッションが確立された相手先の通信装置と、セッション開始リクエストの接続先電話番号に応じて通信を開始する。例えば、通信制御部12は、接続先電話番号毎に対応した音声メッセージを予め記憶しており、セッション開始リクエストの接続先電話番号に対応付けられた音声メッセージを再生することによって通信を行う。このとき、SIP制御部11は、セッション開始リクエストの送信元の接続先電話番号をアクティブチャネル数管理部14に通知する。アクティブチャネル数管理部14は、UA用アクティブチャネル数テーブルにおいて、接続先電話番号に対応するアクティブチャネル数をインクリメントする(ステップS106)。
【0053】
通信制御部12による通信を終了させる場合、SIP制御部11はセッション終了リクエストを、SIP負荷分散装置20を介さずにSIPネットワークの通信先に送信し(ステップS107)、セッションを切断する。なお、SIP−UA10の相手先の通信装置からセッション終了リクエストが送信され、SIP−UA10がこのセッション終了リクエストを受信した場合にも、SIP制御部11はセッションを切断し通信制御部12による通信が終了する。セッションが切断されると、SIP制御部11は、切断されたセッションの接続先電話番号をアクティブチャネル数管理部14及びチャネル切断数管理部16に通知する。そして、アクティブチャネル数管理部14はUA用アクティブチャネル数テーブルにおいて接続先電話番号に対応するアクティブチャネル数をデクリメントし(ステップS108)、チャネル切断数管理部16はUA用チャネル切断数テーブルにおいて接続先電話番号に対応するチャネル切断数をインクリメントし(ステップS109)、図11に表される全ての処理が終了する。
【0054】
図12は、SIP負荷分散システム1のチャネル情報通知処理の動作を表すシーケンス図である。SIP−U10の通知部17は、所定のタイミング毎に(ステップS201)UA用アクティブチャネル数テーブル及びUA用チャネル切断数テーブルの内容を読み出し、チャネル情報を生成してチャネル管理装置30へ送信する(ステップS202)。所定のタイミング毎とは、例えば予め設定された時間間隔毎であっても良いし、チャネル管理装置30から通知指示が受信される毎であっても良いし、他の条件が満たされる毎であっても良い。
【0055】
チャネル管理装置30の通知受信部31は、全てのSIP−UA10からチャネル情報を受信すると、各チャネル情報に含まれるUA用アクティブチャネルテーブルの内容をアクティブチャネル数管理部33に渡し、UA用チャネル切断数テーブルの内容をチャネル切断数管理部35に渡す。そして、アクティブチャネル数管理部33及びチャネル切断数管理部35はそれぞれ管理装置用アクティブチャネル数テーブル及び管理装置用チャネル切断数テーブルの内容を更新する(ステップS203、ステップS204)。
【0056】
具体的には、アクティブチャネル数管理部33は、全チャネル情報に基づいて接続先電話番号毎にアクティブチャネル数の合計値を算出し、管理装置用第一アクティブチャネル数テーブルの各アクティブチャネル数を合計値に置き換えて更新する。また、アクティブチャネル数管理部33は、各SIP−UA10のチャネル情報に基づいてSIP−UA10毎のアクティブチャネル数の合計値を算出し、管理装置用第二アクティブチャネル数テーブルの各アクティブチャネル数を合計値に置き換えて更新する。また、チャネル切断数管理部35は、全チャネル情報に基づいて接続先電話番号毎にチャネル切断数の合計値を算出し、管理装置用第一チャネル切断数テーブルの各チャネル切断数に合計値を加算することによって更新する。また、チャネル切断数管理部35は、各SIP−UA10のチャネル情報に基づいてSIP−UA10毎のチャネル切断数の合計値を算出し、管理装置用第二チャネル切断数テーブルの各チャネル切断数に合計値を加算することによって更新する。
【0057】
各テーブルの更新が完了すると、通知受信部31は各SIP−UA10に対して更新完了通知を送信する。各SIP−UA10の通知部17は更新完了通知を受信するとチャネル切断数管理部16にリセット指示を通知する。そして、チャネル切断数管理部16は、UA用チャネル切断数テーブルの内容をリセットし(ステップS205)、図12に表される全ての処理が終了する。具体的には、チャネル切断数管理部16はUA用チャネル切断数テーブルにおいて全てのチャネル切断数の値をゼロにする。
【0058】
図13は、SIP負荷分散システム1のチャネル切断情報通知処理の動作を表すシーケンス図である。チャネル管理装置30の通知部37は、所定のタイミング毎に(ステップS301)管理装置用チャネル切断数テーブルの内容を読み出し、チャネル切断情報を生成してSIP負荷分散装置20へ送信する(ステップS302)。所定のタイミング毎とは、例えば予め設定された時間間隔毎であっても良いし、SIP負荷分散装置20から通知指示が受信される毎であっても良いし、他の条件が満たされる毎であっても良い。
【0059】
SIP負荷分散装置20の通知受信部26は、チャネル切断情報を受信するとチャネル切断情報に含まれる管理装置用チャネル切断数テーブルの内容をアクティブチャネル数管理部24に渡す。そして、アクティブチャネル数管理部24は負荷分散装置用アクティブチャネル数テーブルの内容を更新する(ステップS303)。
【0060】
具体的には、アクティブチャネル数管理部24は、チャネル切断情報から接続先電話番号毎にチャネル切断数を読み出し、負荷分散装置用第一アクティブチャネル数テーブルの各アクティブチャネル数からチャネル切断数を減算することによって更新する。また、アクティブチャネル数管理部24は、チャネル切断情報からSIP−UA識別情報毎にチャネル切断数を読み出し、負荷分散装置用第二アクティブチャネル数テーブルの各アクティブチャネル数からチャネル切断数を減算することによって更新する。
【0061】
各テーブルの更新が完了すると、通知受信部25はチャネル管理装置30に対して更新完了通知を送信する。チャネル管理装置30の通知部37は更新完了通知を受信するとチャネル切断数管理部35にリセット指示を通知する。そして、チャネル切断数管理部35は、管理装置用チャネル切断数テーブルの内容をリセットし(ステップS304)、図13に表される全ての処理が終了する。具体的には、管理装置用チャネル切断数テーブルにおいて全てのチャネル切断数の値をゼロにする。
【0062】
図14は、SIP負荷分散システム1のフェールオーバー処理の動作を表すシーケンス図である。待機系SIP負荷分散装置40の現用系監視部41は、現用系の負荷分散装置20が正常に動作しているか否か監視を行い(ステップS401−NO)、現用系に異常が発生した場合には(ステップS401−YES)、フェールオーバー処理部42に異常発生を通知する。
【0063】
フェールオーバー処理部42は、異常発生の通知を受けると、待機系SIP負荷分散装置40の他の機能部(SIP負荷分散処理部23、アクティブチャネル数管理部24、通知受信部25等)を起動させ(ステップS402)、アクティブチャネル情報をチャネル管理装置30に要求する(ステップS403)。チャネル管理装置30の通知部37は、アクティブチャネル情報を生成し、待機系SIP負荷分散装置40に対しアクティブチャネル情報を通知する(ステップS404)。
【0064】
待機系SIP負荷分散装置40のフェールオーバー処理部42は、アクティブチャネル情報を受けると、アクティブチャネル情報に含まれる管理装置用アクティブチャネル数テーブルをアクティブチャネル数記憶部22に上書きすることによってアクティブチャネル数の更新を行う(ステップS405)。そして、フェールオーバー処理部42はSIP負荷分散処理部23に対して処理開始指示を送り、待機系SIP負荷分散装置40は現用系の負荷分散装置20としての処理を開始する(ステップS406)。
【0065】
このように構成された負荷分散システム1では、図11のステップS107に図示されるように、SIP−UA10は、SIP負荷分散装置20を介さずにセッション終了リクエストをSIPネットワークへ送信する。そのため、SIP負荷分散装置20においてSIP負荷分散処理に要する処理負荷を軽減させることが可能となる。
【0066】
また、このように構成された負荷分散システム1では、SIP負荷分散装置20を介さずにセッション終了リクエストが行われるためSIP負荷分散装置20はセッションの終了を検知することができない。しかし、チャネル管理装置30からチャネル切断情報が通知され、アクティブチャネル数更新が行われるため、SIP負荷分散処理部23は適切なアクティブチャネル数テーブルの内容に基づいて負荷分散処理を行うことが可能となる。
【0067】
また、このように構成された負荷分散システム1では、SIP負荷分散処理部23は、SIPセッション情報が登録されたデータベースの内容を読み出すのではなく、アクティブチャネル数テーブルに登録された数値(アクティブチャネル数)を読み出して負荷分散処理を行う。そのため、処理に用いるデータを読み出すのに要していた時間を削減することが可能となる。
【0068】
<変形例>
通信制御部12は、複数のSIP端末装置それぞれに対して独立に並行して通信可能に構成されればどのように構成されても良い。例えば、上述したような音声通話に限られず、インスタントメッセンジャーや、SIP端末装置からの入力に応じた映像の送信を行う機能部として構成されても良い。
【0069】
アクティブチャネル数テーブル、チャネル切断数テーブル、上限値テーブルは、それぞれ接続先電話番号に代えてSIPURIや、電話番号とは異なるユーザー識別子(アルファベットを含む文字列など)を有しても良い。また、各テーブルは、接続先電話番号とSIPURIとユーザー識別子とを混合して有し、それぞれに対応付けてアクティブチャネル数、チャネル切断数、上限数を有しても良い。
【0070】
負荷分散装置20は、ハードディスク等の補助記憶装置ではなく、メインメモリの記憶領域に負荷分散装置用アクティブチャネル数テーブルを記憶するように構成されても良い。このように構成されることによって、負荷分散装置20は、負荷分散装置用アクティブチャネル数テーブルの読み出し処理や書き込み処理を高速に実行することが可能となり、SIP負荷分散装置20の処理を高速化させることが可能となる。また、このように構成されると、現用系の負荷分散装置20に異常が発生した場合に、負荷分散装置用アクティブチャネルテーブルを読み出して待機系SIP負荷分散装置40に転送することが困難となってしまう。しかしながら、チャネル管理装置30が管理装置用アクティブチャネル数テーブルを記憶しているため、待機系SIP負荷分散装置40はチャネル管理装置30から最新のアクティブチャネル数テーブルを取得することが可能となる。以上のように、負荷分散処理の高速化と、待機系負荷分散装置40によるフェールオーバー処理と共に実現させることが可能となる。
【0071】
通知部37は、アクティブチャネル情報に対しさらに上限値テーブルの内容を含めるように構成されても良い。この場合、待機系SIP負荷分散装置40のフェールオーバー処理部42は、アクティブチャネル情報に含まれる上限値テーブルを上限値記憶部21に上書きする。
【0072】
SIP−UA10の通知部17における所定のタイミングの時間間隔は、待機系SIP負荷分散装置40のフェールオーバー処理部42の処理に要する時間よりも短くなるように設定されても良い。このように構成されることにより、待機系SIP負荷分散装置40が現用系として動作する際の負荷分散装置用アクティブチャネル数テーブルの内容が最新の情報となる。
【0073】
上限値テーブルは、図5に表されるテーブルに加えて、さらにSIP−UA識別情報毎に上限値が対応付けられたSIP−UA上限値テーブルを有するように構成されても良い。SIP−UA上限値テーブルにおいて、各上限値は、各SIP−UAにおいて同時に確立可能なSIPセッションの数の上限値を表す。上限値テーブルがこのようなSIP−UA上限値テーブルを有する場合、図11のステップS102の処理において、SIP負荷分散処理部23はSIP−UA上限値テーブルを参照することによって、各SIP−UA10のアクティブチャネル数が上限値に達しているか否か判定する。
【0074】
図15は、管理装置用チャネル切断数テーブルの変形例の概要を表す概要図である。図15に示されるように、管理装置用チャネル切断数テーブルは、接続先電話番号とSIP−UA識別情報との二次元マトリックス状に一つのテーブルとして構成されても良い。管理装置用チャネル切断数テーブルは、各SIP−UA10において各接続先電話番号宛で切断されたチャネルの数を有する。この場合、チャネル切断数管理部35は、ステップS204の処理において、各SIP−UA10のチャネル情報に基づいて接続先電話番号毎やSIP−UA10毎のチャネル切断数の合計値を算出するのではなく、各SIP−UA10のチャネル情報に基づいて二次元マトリックス状に構成された管理装置用チャネル切断数テーブルの各値を更新する。具体的には、チャネル切断数管理部35は、二次元マトリックス状に構成された管理装置用チャネル切断数テーブルの各値に、チャネル情報に含まれるチャネル切断数を加算する。そして、SIP負荷分散装置20のアクティブチャネル数管理部24は、ステップS303の処理において、二次元マトリックス状に構成された管理装置用チャネル切断数テーブルの内容を受けて、接続先電話番号毎及びSIP−UA10毎のチャネル切断数の合計値を算出し、負荷分散装置用第一アクティブチャネル数テーブル及び負荷分散装置用第二アクティブチャネル数テーブルの各アクティブチャネル数からチャネル切断数の合計値を減算することによって更新する。
また、管理装置用アクティブチャネル数テーブルも、図15に示されるように、接続先電話番号とSIP−UA識別情報との二次元マトリックス状に一つのテーブルとして構成されても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0075】
1…負荷分散システム, 10…SIP−UA(通信端末装置), 11…SIP制御部, 12…通信制御部, 13…アクティブチャネル数記憶部, 14…アクティブチャネル数管理部, 15…チャネル切断数記憶部, 16…チャネル切断数管理部, 17…通知部, 20…SIP負荷分散装置(負荷分散装置), 21…上限値記憶部, 22…アクティブチャネル数記憶部, 23…SIP負荷分散処理部, 24…アクティブチャネル数管理部, 25…通知受信部, 30…チャネル管理装置(管理装置), 31…通知受信部, 32…アクティブチャネル数記憶部, 33…アクティブチャネル数管理部, 34…チャネル切断数記憶部, 35…チャネル切断数管理部, 36…上限値記憶部, 37…通知部, 40…待機系SIP負荷分散装置, 41…現用系監視部, 42…フェールオーバー処理部
【特許請求の範囲】
【請求項1】
複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、
前記通信端末装置は、
前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部を備え、
前記負荷分散装置は、
通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、
前記通信要求先毎に、接続数を記憶する記憶部と、
を備え、
前記負荷分散処理部は、前記記憶部に記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、
ことを特徴とする負荷分散システム。
【請求項2】
複数の通信端末装置と、管理装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、
前記通信端末装置は、
前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部と、
前記通信要求の通信要求先毎に、前記通信路が切断された回数を記憶する切断数記憶部と、
前記切断数記憶部が記憶する通信要求先毎に前記通信路が切断された回数を前記管理装置に通知する切断回数通知部と、
を備え、
前記管理装置は、
前記複数の通信端末装置それぞれから前記切断された回数の通知を受信する切断回数通知受信部と、
前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数を前記負荷分散装置に通知する合計値通知部と、
を備え、
前記負荷分散装置は、
通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、
前記通信要求先毎に、前記通信要求を転送した回数を記憶する記憶部と、
前記管理装置から前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数の通知を受信する通知受信部と、
前記通信路が切断された回数の通知に基づいて、前記通信要求先毎に前記通信路が切断された回数の合計値を算出する算出部と、
前記算出部によって算出された合計値に基づいて、前記記憶部に記憶される前記通信要求を転送した回数を前記通信路が切断された回数の合計値分減じる管理部と、
を備えることを特徴とする負荷分散システム。
【請求項3】
前記負荷分散装置は、前記通信要求先毎に上限値を記憶する上限値記憶部をさらに備え、
前記負荷分散装置の前記負荷分散処理部は、受信された前記通信要求の通信要求先に前記通信要求を転送した回数が当該通信要求先の上限値を超えていない場合には、当該通信要求を転送し、上限値を超えている場合には当該通信要求を転送しない、
ことを特徴とする請求項2に記載の負荷分散システム。
【請求項4】
前記負荷分散装置と同様の各構成と、
前記負荷分散装置が正常に動作しているか否か監視する監視部と、
前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、
を備える待機系負荷分散装置をさらに備えることを特徴とする請求項1に記載の負荷分散システム。
【請求項5】
待機系負荷分散装置をさらに備え、
前記待機系負荷分散装置は、
前記負荷分散装置と同様の各構成と、
前記負荷分散装置が正常に動作しているか否か監視する監視部と、
前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、
を備え、
前記管理装置は、
前記負荷分散装置が動作するために必要な情報を記憶する必須情報記憶部と、
前記負荷分散装置に異常が生じた場合に、前記待機系負荷分散装置に前記必須情報記憶部に記憶される情報を通知する異常時通知部と、
を備え、
前記異常発生時制御部は、前記異常時通知部によって通知された情報に基づいて動作する
ことを特徴とする請求項2又は3に記載の負荷分散システム。
【請求項6】
複数の第一情報処理装置と第二情報処理装置とを、それぞれ複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置として動作させるためのコンピュータープログラムであって
前記第一情報処理装置に対し、
前記第二情報処理装置からから前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記第二情報処理装置を介さずに前記送信元と切断処理を行うステップを実行させ、
前記第二情報処理装置に対し、
通信要求を受信し、当該通信要求を前記複数の第一情報処理装置のいずれかに転送するステップと、
前記通信要求先毎に、接続数を記憶するステップと、を実行させ、
前記転送するステップにおいて、記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、
ことを特徴とするコンピュータープログラム。
【請求項1】
複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、
前記通信端末装置は、
前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部を備え、
前記負荷分散装置は、
通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、
前記通信要求先毎に、接続数を記憶する記憶部と、
を備え、
前記負荷分散処理部は、前記記憶部に記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、
ことを特徴とする負荷分散システム。
【請求項2】
複数の通信端末装置と、管理装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置と、を備える負荷分散システムであって、
前記通信端末装置は、
前記負荷分散装置から前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記負荷分散装置を介さずに前記送信元と切断処理を行う通信路制御部と、
前記通信要求の通信要求先毎に、前記通信路が切断された回数を記憶する切断数記憶部と、
前記切断数記憶部が記憶する通信要求先毎に前記通信路が切断された回数を前記管理装置に通知する切断回数通知部と、
を備え、
前記管理装置は、
前記複数の通信端末装置それぞれから前記切断された回数の通知を受信する切断回数通知受信部と、
前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数を前記負荷分散装置に通知する合計値通知部と、
を備え、
前記負荷分散装置は、
通信要求を受信し、当該通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散処理部と、
前記通信要求先毎に、前記通信要求を転送した回数を記憶する記憶部と、
前記管理装置から前記通信端末装置毎及び前記通信要求先毎の前記通信路が切断された回数の通知を受信する通知受信部と、
前記通信路が切断された回数の通知に基づいて、前記通信要求先毎に前記通信路が切断された回数の合計値を算出する算出部と、
前記算出部によって算出された合計値に基づいて、前記記憶部に記憶される前記通信要求を転送した回数を前記通信路が切断された回数の合計値分減じる管理部と、
を備えることを特徴とする負荷分散システム。
【請求項3】
前記負荷分散装置は、前記通信要求先毎に上限値を記憶する上限値記憶部をさらに備え、
前記負荷分散装置の前記負荷分散処理部は、受信された前記通信要求の通信要求先に前記通信要求を転送した回数が当該通信要求先の上限値を超えていない場合には、当該通信要求を転送し、上限値を超えている場合には当該通信要求を転送しない、
ことを特徴とする請求項2に記載の負荷分散システム。
【請求項4】
前記負荷分散装置と同様の各構成と、
前記負荷分散装置が正常に動作しているか否か監視する監視部と、
前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、
を備える待機系負荷分散装置をさらに備えることを特徴とする請求項1に記載の負荷分散システム。
【請求項5】
待機系負荷分散装置をさらに備え、
前記待機系負荷分散装置は、
前記負荷分散装置と同様の各構成と、
前記負荷分散装置が正常に動作しているか否か監視する監視部と、
前記負荷分散装置に異常が生じた場合に、自装置を現用系負荷分散装置として制御する異常発生時制御部と、
を備え、
前記管理装置は、
前記負荷分散装置が動作するために必要な情報を記憶する必須情報記憶部と、
前記負荷分散装置に異常が生じた場合に、前記待機系負荷分散装置に前記必須情報記憶部に記憶される情報を通知する異常時通知部と、
を備え、
前記異常発生時制御部は、前記異常時通知部によって通知された情報に基づいて動作する
ことを特徴とする請求項2又は3に記載の負荷分散システム。
【請求項6】
複数の第一情報処理装置と第二情報処理装置とを、それぞれ複数の通信端末装置と、通信要求を前記複数の通信端末装置のいずれかに転送する負荷分散装置として動作させるためのコンピュータープログラムであって
前記第一情報処理装置に対し、
前記第二情報処理装置からから前記通信要求を受信し、当該通信要求の送信元との間で、当該通信要求の通信要求先の装置として通信路を確立し、通信路を切断する際には前記第二情報処理装置を介さずに前記送信元と切断処理を行うステップを実行させ、
前記第二情報処理装置に対し、
通信要求を受信し、当該通信要求を前記複数の第一情報処理装置のいずれかに転送するステップと、
前記通信要求先毎に、接続数を記憶するステップと、を実行させ、
前記転送するステップにおいて、記憶される前記接続数に基づいて転送先となる通信端末装置を選択する、
ことを特徴とするコンピュータープログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−239529(P2010−239529A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−87123(P2009−87123)
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
[ Back to top ]