(57)【特許請求の範囲】
【請求項１】
コンピュータ内で呼処理のためのサービス制御アプリケーションを実行するサービス制御アプリケーション実行方法において、
所定のサーバが、対向装置からの受信信号ごとにアプリケーションを起動し、対向装置に信号を送信する呼処理を実施して、呼識別情報と呼識別子が対応して記憶された呼識別表、及び呼識別子と呼状態識別子が対応して記憶された呼状態表を有する共有データベースに呼状態識別子により呼状態を書き込み、対向装置からの次の信号を待っている状態で所定のサーバに障害が起きた場合に代替サーバ゛にて次の信号を受信し、アプリケーションを起動して共有データベースの呼状態識別子より呼状態を読み込み、呼処理を継続することを特徴とするサービス制御アプリケーション実行方法。
【請求項２】
呼処理のためのサービス制御アプリケーションが配備され、対向装置からの受信信号ごとにアプリケーションを起動し、対向装置に信号を送信する呼処理を実施する所定のサーバと、
前記所定のサーバを含む複数のサーバから読み書き可能に構成されると共に所定のサーバが動作している時には他のサーバからは読み書きされないように構成され、所定のサーバから呼状態識別子により呼状態が書き込まれる、呼識別情報と呼識別子が対応して記憶された呼識別表、及び呼識別子と呼状態識別子が対応して記憶された呼状態表を有する共有データベースと、
所定のサーバが障害により処理不可能になった場合に、対向装置からの受信信号を代わりに受信し、アプリケーションを起動して共有データベースの呼状態識別子より呼状態を読み込み、呼処理を継続する代替サーバと
を具備することを特徴とするサービス制御アプリケーション実行システム。
【請求項３】
呼処理のためのサービス制御アプリケーションが配備され、対向装置からの受信信号ごとにアプリケーションを起動し、対向装置に信号を送信する呼処理を実施する所定のサーバと、
前記所定のサーバを含む複数のサーバのうち利用可能なサーバを管理する負荷分散装置と、
前記所定のサーバを含む複数のサーバから読み書き可能に構成され、所定のサーバから呼状態識別子により呼状態が書き込まれる、呼識別情報と呼識別子が対応して記憶された呼識別表、及び呼識別子と呼状態識別子が対応して記憶された呼状態表を有する共有データベースと、
所定のサーバが障害により処理不可能になった場合に、対向装置からの受信信号を代わりに受信し、アプリケーションを起動して共有データベースの呼状態識別子より呼状態を読み込み、呼処理を継続する代替サーバと
を具備することを特徴とするサービス制御アプリケーション実行システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータ内で呼処理のためのサービス制御アプリケーションを実行するサービス制御アプリケーション実行方法及びシステムに関する。
【０００２】
【従来の技術】
通常、高度インテリジェントネットワークのサービス制御ポイント（Ｓｅｒｖｉｃｅ  Ｃｏｎｔｒｏｌ  Ｐｏｉｎｔ）等で呼処理を実施するサービス制御アプリケーションにおいては、呼の生起を契機としてアプリケーションが起動して、サービス制御を終了するまで長時間にわたり、揮発性のメモリ上にアプリケーションのコードおよび該呼に関する処理状態を保持していた。このような構成では、装置の故障やソフトウェアのバグにより障害が発生すると、コンピュータの再起動等の初期化処理が起こりメモリはクリアされる。その対策として従来は再起動してもクリアされないメモリ領域を設ける市中の一般的なサーバの機能にはない特殊な技術を用いていた。
【０００３】
【発明が解決しようとする課題】
市中の一般的なサーバにおいて障害時に呼処理を継続することを課題とする。
【０００４】
サービス制御アプリケーションの動作は、対向装置での呼の生起により開始され、以下の手順を踏む。
【０００５】
（１）呼処理を実施している対向装置からの信号受信を待つ状態となり、
（２）対向装置から信号を受信し、
（３）受信信号種別および該呼に関する状態、サービス固有の論理に基づき、対向装置へ信号を送信し状態を遷移させ、
（４）（１）に戻る、
ここで、（１）にて対向装置からの信号を待っている時間が比較的長いため、この間にシステム障害が起きる確率が高いため障害回避策が必要である。
【０００６】
システム障害を回避する為には、サーバを複数台設置して一つのサーバが故障しても別のサーバにて処理を実施することが一般的に行われているが、呼のサービス制御アプリケーションにおいて、特に既に生起している呼については（１）〜（３）のステップを１回以上、実施しており、第２の受信信号を継続して処理しなければならない。そのためには、単にサーバを複数台設置するだけでなく、処理中の呼については状態の引継ぎをサーバ間で行う必要がある。
【０００７】
本発明は上記の事情に鑑みてなされたもので、障害が起きたサーバにて処理中であった呼についても代替サーバでの処理を行えるようにするサービス制御アプリケーション実行方法及びシステムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために本発明は、コンピュータ内で呼処理のためのサービス制御アプリケーションを実行するサービス制御アプリケーション実行方法において、所定のサーバが、対向装置からの受信信号ごとにアプリケーションを起動し、対向装置に信号を送信する呼処理を実施して、呼識別情報と呼識別子が対応して記憶された呼識別表、及び呼識別子と呼状態識別子が対応して記憶された呼状態表を有する共有データベースに呼状態識別子により呼状態を書き込み、対向装置からの次の信号を待っている状態で所定のサーバに障害が起きた場合に代替サーバ゛にて次の信号を受信し、アプリケーションを起動して共有データベースの呼状態識別子より呼状態を読み込み、呼処理を継続することを特徴とする。
【００１１】
また本発明のサービス制御アプリケーション実行システムは、呼処理のためのサービス制御アプリケーションが配備され、対向装置からの受信信号ごとにアプリケーションを起動し、対向装置に信号を送信する呼処理を実施する所定のサーバと、前記所定のサーバを含む複数のサーバから読み書き可能に構成されると共に所定のサーバが動作している時には他のサーバからは読み書きされないように構成され、所定のサーバから呼状態識別子により呼状態が書き込まれる、呼識別情報と呼識別子が対応して記憶された呼識別表、及び呼識別子と呼状態識別子が対応して記憶された呼状態表を有する共有データベースと、所定のサーバが障害により処理不可能になった場合に、対向装置からの受信信号を代わりに受信し、アプリケーションを起動して共有データベースの呼状態識別子より呼状態を読み込み、呼処理を継続する代替サーバとを具備することを特徴とするものである。
【００１２】
また本発明のサービス制御アプリケーション実行システムは、呼処理のためのサービス制御アプリケーションが配備され、対向装置からの受信信号ごとにアプリケーションを起動し、対向装置に信号を送信する呼処理を実施する所定のサーバと、前記所定のサーバを含む複数のサーバのうち利用可能なサーバを管理する負荷分散装置と、前記所定のサーバを含む複数のサーバから読み書き可能に構成され、所定のサーバから呼状態識別子により呼状態が書き込まれる、呼識別情報と呼識別子が対応して記憶された呼識別表、及び呼識別子と呼状態識別子が対応して記憶された呼状態表を有する共有データベースと、所定のサーバが障害により処理不可能になった場合に、対向装置からの受信信号を代わりに受信し、アプリケーションを起動して共有データベースの呼状態識別子より呼状態を読み込み、呼処理を継続する代替サーバとを具備することを特徴とするものである。
【００１４】
本発明では、受信信号ごとにアプリケーションを起動し、信号を送信する処理を実施して、共有データベースに状態を書き込み、アプリケーションを終了する。そして、次の信号を待っている状態で障害が起きても代替サーバにて次の信号を受信し、アプリケーションを起動して共有データベースから状態を読み込み、処理を継続する。
【００１５】
サーバは次の受信信号までメモリ上に呼に対応したアプリケーションとその状態を保持しておく必要がないので、その間にサーバが障害で処理続行不可能となっても、別のサーバが代わって処理可能となる。
【００１６】
【発明の実施の形態】
以下図面を参照して本発明の実施形態例を詳細に説明する。
【００１７】
［網構成］
図１は、本発明の実施形態例として、対向装置をサーバから制御するシステムを示している。４のサーバＡ（現用）にはサービス制御アプリケーションが配備されており、１の対向装置Ｘおよび２の対向装置Ｙの動作を対向装置制御用のネットワーク３を介して制御することが可能である。
【００１８】
ここで、対向装置Ｘ，Ｙはネットワーク３に接続されたインタフェースを通じて動作が制御可能であり、その例としては、電話交換機、ソフトスイッチ等のボイスオーバーアイピー（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）制御装置、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）またはＨ．３２３端末等のボイスオーバーアイピー（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）端末が挙げられる。
【００１９】
対向装置は複数種類設置可能であり、図にはＸ，Ｙの２つを示している。
【００２０】
また、５のサーバＢは代替サーバであり、４のサーバＡが動作している最中は呼処理を実施しない状態になっている。共有データベース６は４のサーバＡおよび５のサーバＢの双方から読み書きが可能であるが、４のサーバＡが動作している時には５のサーバＢからは読み書きされない。障害や保守により４のサーバＡが動作していない時には５のサーバＢに配備されたサービス制御アプリケーションから共有データベース６の読み書きを行う。
【００２１】
［サーバ内の機能構成］
次に図１のサーバおよび共有データベースの詳細動作を図２の機能ブロック図および図３のシーケンスチャートにて説明する。
【００２２】
１００の対向装置Ｘにて呼が生起し、図３の２００の信号ｘｘが図２のネットワーク１０１を介して、１０２のサーバＡ（現用）に対して送信される。このとき、該呼を一意に識別するための情報である呼識別情報２０１が１００の対向装置Ｘによって２００の信号ｘｘに埋め込まれている。呼識別情報２０１はサーバ内の一意性を確保する必要があり、その一例として、呼の着信電話番号、呼の生起日時を組み合わせた文字列が挙げられる。図２の呼識別表１０８の呼識別情報にその符号化例が書かれている。
【００２３】
１０２のサーバＡでは通信ポート１０３で２００の信号ｘｘが受信され、信号受信機能１０４にて解析され１０２のサーバＡの内部で参照が可能な形式に変換される。以下、動作の説明上紛らわしくない為、この内部形式で表現された信号についても信号ｘｘと書く。信号受信機能１０４では２００の信号ｘｘが内部信号に変換されアプリケーション特定機能１０５に送られる。
【００２４】
アプリケーション特定機能１０５は、２００の信号ｘｘの信号名をキーとしてアプリケーション特定表１０６を検索し、結果として起動すべきアプリケーションはアプリケーションＡであることを判定する。また、呼識別子特定機能１０７に呼識別情報２０１を渡す。
【００２５】
呼識別子特定機能１０７は、呼識別情報２０１をキーとして共有データベース１５０の呼識別表１０８を検索し、結果として呼識別子２０２を得る。この呼識別子２０２は、サーバ内部で呼を識別する為に用いられる整数であり、呼識別情報２０１と等価であるが、表現が短いため処理の高速化が可能である。
【００２６】
アプリケーション特定機能１０５は、１０９のアプリケーションＡを起動する。その際、情報として呼識別子２０２および２００の信号ｘｘの内容を通知する。
【００２７】
１０９のアプリケーションＡは呼識別子２０２をキーに呼状態表１１０を検索し、結果として呼状態表１１０から処理しようとする呼の呼状態識別子（図３の２０３）を得る。これは該呼について状態あるいはこれまでの処理履歴に相当する情報であり、信号ｘｘを受信してもこの呼状態識別子によって以降の処理を変えることが可能である。
【００２８】
１０９のアプリケーションＡは２００の信号ｘｘの内容および呼状態に基づき、処理を行う。図３では、呼状態識別子２０３がＳ０という値であり、これはまだ何も処理していなかった空き状態を示す。そこで１０９のアプリケーションＡは信号送信機能１１１を介して１１２の対向装置Ｙに対して信号ａａを送信した後、信号ｘｘの処理結果として信号ｂｂを１００の対向装置Ｘに返送している。
【００２９】
その後、１０９のアプリケーションＡは呼状態表１１０の呼状態識別子２０４をＳ１に書き換え、結果として更新を完了してアプリケーションＡは終了する。
【００３０】
次に同じ呼について、対向装置Ｘから信号ｙｙが後続して受信された場合にも、１０２のサーバＡの動作は同様である。ただし、アプリケーション特定表１０６によれば信号ｙｙ受信時にはアプリケーションＢを起動することが指定されている。また、上記と同じ呼であるから、信号ｙｙには上記の信号ｘｘの呼識別情報２０１と同じ値の情報が埋め込まれている。したがって呼状態表１１０からは呼状態識別子Ｓ１が返され、アプリケーションＢは信号ｘｘの受信した後の信号ｙｙ受信と認識して、後続処理が可能である。
【００３１】
なお、アプリケーション特定機能１０５と呼識別子特定機能１０７の処理の順序には制約がなく、どちらが先でもよいし並列処理でもよい。
【００３２】
また、１０９のアプリケーションＡ，１１２のアプリケーションＢはそれぞれ信号ｘｘ，ｙｙの処理機能を搭載していたが、アプリケーションＡにて該サービスに関する処理を全て記述してもよい。その場合には、アプリケーション特定表１０６のアプリケーション欄が信号ｘｘ，ｙｙともにアプリケーションＡと書かれる。
【００３３】
［サーバＡ障害時の動作］
信号ｘｘの処理完了後に、１０２のサーバＡがハードウェア故障ないしメモリ容量不足等のソフトウェアの問題で処理が不可能になった場合には、サーバＡは後続信号ｙｙが送信されても処理できず、応答しなくなる。そのため、対向装置Ｘは信号ｙｙをサーバＢ（予備）に再送する。サーバＢでは、信号ｙｙを受信して、共有データベース１５０にアクセスして、サーバＡで継続して信号ｙｙを受信したときと同じ動作が可能となる。
【００３４】
［発明の他の実施の形態］
図４に負荷分散装置を加えた構成図を示す。図１では、対向装置ＸにてサーバＡからの応答がなければ代替のサーバＢに信号送信しなおす必要があるが、図４では、負荷分散装置１３が利用可能なサーバを管理することで、１０の対向装置Ｘ，１１の対向装置Ｙでは信号送信し直す必要が無い。本構成では１４のサーバＡおよび１５のサーバＢとも現用として利用でき、負荷の分散を図ることが可能である。図において、１２は対向装置制御用のネットワーク、１６は共有データベースである。
【００３５】
ただし図４の構成では、ある呼識別子について、複数の対向装置が同時に信号を送信してくることはあってはならないという制約条件がある。それは、１０の対向装置Ｘから１４のサーバＡ、１１の対向装置Ｙから１５のサーバＢに同時に同一の呼識別情報を持つ信号が送信されたとすると、単一の呼について同時に異なる処理が走り、状態を一意に確定することができないためである。
【００３６】
【発明の効果】
以上説明したように本発明によれば、障害が起きたサーバにて処理中であった呼についても代替サーバでの処理が可能である。
【００３７】
従来の対策用である再起動してもメモリをクリアされないメモリ領域を設ける特殊な技術を用いる必要がない。
【図面の簡単な説明】
【図１】本発明の一実施形態例を示す概略構成説明図である。
【図２】本発明の一実施形態例に係るサーバおよび共有データベースの内部機能を示した構成説明図である。
【図３】本発明の一実施形態例に係るサーバの動作を示すシーケンスチャートである。
【図４】本発明の他の実施形態例を示す概略構成説明図である。
【符号の説明】
１    対向装置Ｘ
２    対向装置Ｙ
３    対向装置制御用のネットワーク
４    サーバＡ
５    サーバＢ
６    共有データベース
１０    対向装置Ｘ
１１    対向装置Ｙ
１２    対向装置制御用のネットワーク
１３    負荷分散装置
１４    サーバＡ
１５    サーバＢ
１６    共有データベース
１００    対向装置Ｘ
１０１    対向装置制御用のネットワーク
１０２    サーバＡ
１０３    通信ポート
１０４    信号受信機能
１０５    アプリケーション特定機能
１０６    アプリケーション特定表
１０７    呼識別子特定機能
１０８    呼識別表
１０９    アプリケーションＡ
１１０    呼状態表
１１１    信号送信機能
１１２    対向装置Ｙ
２００    信号ｘｘ
２０１    呼識別情報
２０２    呼識別子
２０３    呼状態識別子（値Ｓ０）
２０４    呼状態識別子（値Ｓ１）
【図１】
0003730545.tif 000002
【図２】
0003730545.tif 000003
【図３】
0003730545.tif 000004
【図４】
0003730545.tif 000005