(57)【特許請求の範囲】
【請求項１】
加入者データを格納している加入者データ部と、この加入者データ部を加入者データの参照要求又は更新要求に応じてアクセスするデータベースサーバとを含む加入者データベースシステムを複数有すると共に、上記加入者データの参照要求又は更新要求を発行する複数のデータベースクライアントを有し、上記各加入者データベースシステムの加入者データ部の格納内容を一致させておく加入者データベースネットワークのデータ一致化方法において、
上記各加入者データベースシステムにはそれぞれ、他の加入者データベースシステムの停止により加入者データ部の格納内容が異なってしまう加入者差分データを格納し得る加入者差分データ部を備え、
いずれかの上記加入者データベースシステムの停止時には、他の全ての上記加入者データベースシステムは加入者データの参照要求又は更新要求を受け付けると共に、加入者データ部の格納内容を一致させる処理を行い、少なくとも１個の上記加入者データベースシステムは、上記加入者差分データ部に、停止中の上記加入者データベースシステムの再起動時に送信するために加入者差分データを格納し、
停止していたいずれかの上記加入者データベースシステムの再起動時には、上記加入者差分データ部に加入者差分データを格納している上記加入者データベースシステムは、加入者差分データを再起動した上記加入者データベースシステムに送信すると共に、再起動した上記加入者データベースシステムを除き、全ての上記加入者データベースシステムは加入者データの参照要求又は更新要求を受け付け、かつ、加入者データ部の格納内容を一致させる処理を行い、少なくとも１個の上記加入者データベースシステムは、上記加入者差分データ部への格納を継続し、
加入者差分データの再起動した上記加入者データベースシステムへの残り送信時間がネットワーク停止で許容される時間以下になると判断される状況になると、再起動した上記加入者データベースシステムを含めて全ての上記加入者データベースシステムが加入者データの参照要求又は更新要求を拒否し、
全ての加入者差分データを上記加入者データベースシステムへ送信したときに、全ての上記加入者データベースシステムを通常状態に復帰させる
ことを特徴とする加入者データベースネットワークのデータ一致化方法。
【請求項２】
上記各加入者データベースシステムはそれぞれ、共通な加入者データ部と複数のデータベースサーバとを有することを特徴とする請求項１に記載の加入者データベースネットワークのデータ一致化方法。
【請求項３】
上記各データベースクライアントは、加入者データの参照要求を送信する相手となるデータベースサーバについて、順序を設定していることを特徴とする請求項１又は２に記載の加入者データベースネットワークのデータ一致化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は加入者データベースネットワークのデータ一致化方法に関し、例えば、加入者データを記憶している加入者データベースを複数備え、全ての加入者データベースの格納内容を一致させるデータレプリケーション方法の改良に関する。
【背景技術】
【０００２】
例えば、電話通信システムにおいては、加入者によってサービスの提供についての契約内容などが異なる（例えば、留守録機能の有無、着信転送の有無など）。そのため、加入者端末を収容している呼処理サーバは、加入者端末からの発呼や加入者端末への所定サービスの提供要求などに応じて、加入者データベースをアクセスして加入者データを確認するようなこと（データ参照）を行う。また例えば、着信転送や留守録機能をオンオフ制御したり転送先電話番号を切り替えたりする加入者端末からの要求に応じ、呼処理サーバは、加入者データベースの該当する加入者データを更新する。
【０００３】
ここで、電話通信システムの場合、システムダウンを極力回避したいため、同一内容を格納している加入者データベースを複数用意しておくことがなされている。例えば、アクト・スタンバイ系として複数の加入者データベースを用意しておく場合もあるが、複数の加入者データベースを基本的な管轄領域を変えてアクト・アクト系として設け、ある加入者データベースの停止状態では、他の加入者データベースがその加入者データベースに代えて機能するようにしている場合もある。
【０００４】
いずれにせよ、複数の加入者データベースで格納内容を一致化させるデータレプリケーションを適宜行う。データレプリケーション方法としては、複数の加入者データベースがデータを同期してほぼ同時に更新する同期データレプリケーション方法（例えば特許文献１参照）と、複数の加入者データベースが非同期にデータを更新する非同期データレプリケーション方法とがある。
【特許文献１】特開平１１−１６８５５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、同期データレプリケーション方法では、故障や保守のために、一方の加入者データベースが停止中においては、言い換えると、全ての加入者データベースの更新ができない状態では、運用中の加入者データベースに対する加入者データの更新も拒否するようになされている。そのため、電話通信サービスの加入者からの変更を受け付けないことが生じるという課題があり、サービス停止をできるだけ回避したい電話通信サービスとしては問題が大きい。
【０００６】
また、非同期データレプリケーション方法では、各加入者データベースで加入者データが異なることもあり、異なっている状態では、呼処理サーバがアクセスする加入者データベースによって、処理が異なることも生じてしまう。例えば、転送先電話番号を切り換えた場合において、その更新が一方の加入者データベースだけなされた場合には、呼処理サーバがアクセスする加入者データベースによって転送先が変化してしまう。このような不都合を解決するため、所定周期ごとに、全ての加入者データベースを整合させる処理を実行させ、その整合期間では全ての加入者データベースの参照も更新も禁止することも考えられる。システム停止がほとんど問題とならないシステムであれば、このような整合方法は適切なものであるが、サービス停止をできるだけ回避したい電話通信サービスとしては問題が大きい。
【０００７】
そのため、システム停止期間を、サービス停止を認識させない程度にしながら、全ての加入者データベースの格納内容の一致性を達成することができる加入者データベースネットワークのデータ一致化方法が求められている。
【課題を解決するための手段】
【０００８】
本発明は、加入者データを格納している加入者データ部と、この加入者データ部を加入者データの参照要求又は更新要求に応じてアクセスするデータベースサーバとを含む加入者データベースシステムを複数有すると共に、上記加入者データの参照要求又は更新要求を発行する複数のデータベースクライアントを有し、上記各加入者データベースシステムの加入者データ部の格納内容を一致させておく加入者データベースネットワークのデータ一致化方法において、（１）上記各加入者データベースシステムにはそれぞれ、他の加入者データベースシステムの停止により加入者データ部の格納内容が異なってしまう加入者差分データを格納し得る加入者差分データ部を備え、（２）いずれかの上記加入者データベースシステムの停止時には、他の全ての上記加入者データベースシステムは加入者データの参照要求又は更新要求を受け付けると共に、加入者データ部の格納内容を一致させる処理を行い、少なくとも１個の上記加入者データベースシステムは、上記加入者差分データ部に、停止中の上記加入者データベースシステムの再起動時に送信するために加入者差分データを格納し、（３）停止していたいずれかの上記加入者データベースシステムの再起動時には、上記加入者差分データ部に加入者差分データを格納している上記加入者データベースシステムは、加入者差分データを再起動した上記加入者データベースシステムに送信すると共に、再起動した上記加入者データベースシステムを除き、全ての上記加入者データベースシステムは加入者データの参照要求又は更新要求を受け付け、かつ、加入者データ部の格納内容を一致させる処理を行い、少なくとも１個の上記加入者データベースシステムは、上記加入者差分データ部への格納を継続し、（４）加入者差分データの再起動した上記加入者データベースシステムへの残り送信時間がネットワーク停止で許容される時間以下になると判断される状況になると、再起動した上記加入者データベースシステムを含めて全ての上記加入者データベースシステムが加入者データの参照要求又は更新要求を拒否し、（５）全ての加入者差分データを上記加入者データベースシステムへ送信したときに、全ての上記加入者データベースシステムを通常状態に復帰させることを特徴とする。
【発明の効果】
【０００９】
本発明の加入者データベースネットワークのデータ一致化方法によれば、システム停止期間を、サービス停止を認識させない程度にしながら、全ての加入者データ部の格納内容の一致性を達成することができる。
【発明を実施するための最良の形態】
【００１０】
（Ａ）実施形態
以下、本発明による加入者データベースネットワークのデータ一致化方法の一実施形態を、図面を参照しながら説明する。
【００１１】
（Ａ−１）実施形態の構成
図１は、この実施形態のデータ一致化方法が適用されている加入者データベースネットワークの全体構成を示すブロック図である。
【００１２】
図１において、この実施形態の加入者データベースネットワーク１は、複数（図１は２個の例を示している；以下、２個として説明する）の加入者データベースシステム２−１、２−２と、複数（図１は４個の例を示している；以下、４個として説明する）の呼処理サーバ３−１〜３−４とがネットワーク（Ｎ１〜Ｎ３）を介して接続可能なものである。
【００１３】
例えば、加入者データベースシステム２−１が関東地方、加入者データベースシステム２−２が関西地方に設置されているものである。
【００１４】
各加入者データベースシステム２−１、２−２は、同様な構成を有し、基本的には並列動作するものであり、負荷分散や、片系停止時でのシステムの全体停止を避けるために複数設けられている。各加入者データベースシステム２−１、２−２はそれぞれ、複数（図１は２個の例を示している；以下、２個として説明する）のデータベースサーバ４−１１、４−１２、４−２１、４−２２と、当該加入者データベースシステムの複数のデータベースサーバ４−１１及び４−１２、若しくは、４−２１及び４−２２に共通な共通ディスク５−１、５−２とを有する。
【００１５】
各共通ディスク５−１、５−２は、基本的には、加入者データベースとしての記憶部が該当し、機能的には、加入者データ部１０−１、１０−２と、加入者差分データ部１１−１、１１−２と、片ロケーション状態部１２−１、１２−２とに格納領域が分かれている。なお、共通ディスク５−１、５−２は、ハードウェア的には、例えば、市販されている一般的な１又は複数のストレージ装置によって構成される。
【００１６】
各加入者データ部１０−１、１０−２は加入者データを格納している部分である。この実施形態の場合、同期データレプリケーション方法を採用しており、両加入者データ部１０−１及び１０−２は、２系共に運用状態の場合には同一の加入者データを格納している。
【００１７】
各加入者差分データ部１１−１、１１−２は、他系のシステム停止中に到来したような両加入者データ部１０−１及び１０−２のデータ一致を妨げる加入者差分データを一時的に格納している部分である。各加入者差分データ部１１−１、１１−２に格納されている加入者差分データは、他系システムが停止中から復帰した際に、他系システムに転送される。
【００１８】
各片ロケーション状態部１２−１、１２−２は、自系の加入者データベースシステム２−１、２−２における現在の状態がどのような状態であるかを格納しているものである。
現在状態によって、加入者データの参照や更新を認めるか、加入者データなどの更新処理の具体的内容、他系の加入者データベースシステムとの加入者データの一致処理などが異なる。状態としては、「運用中」、「片ロケーション更新中」、「データ整合中」、「片ロケーション閉塞中」の４状態があり、これら状態間の遷移は、後述する図４に示す状態遷移表に記載の通りなされる。なお、送信側での「データ整合中」状態と、受信側での「データ整合中」状態とでは処理は異なっている。
【００１９】
データベースサーバ４−１１及び４−１２は、共通ディスク５−１をアクセスするために設けられており、データベースサーバ４−２１及び４−２２は、共通ディスク５−２をアクセスするために設けられており、各加入者データベースシステム２−１、２−２における負荷分散や、片方の停止時での当該システムの全体停止を避けるために複数設けられている。
【００２０】
各データベースサーバ４−１１、４−１２、４−２１、４−２２はそれぞれ、データベースクライアントである呼処理サーバ３（３−１〜３−４）からの要求などに応じて、自己が属する共通ディスク５−１、５−２がアクセスしたり、必要に応じて呼処理サーバ３に返信したりするものである。また、各データベースサーバ４−１１、４−１２、４−２１、４−２２はそれぞれ、直結された保守端末（図示せず）又はネットワークを介して接続された保守端末からの指示に応じた処理を実行するものである。このような処理としては、両加入者データベースシステム２−１及び２−２のデータを一致させるデータ整合処理がある。
【００２１】
各データベースサーバ４−１１、４−１２、４−２１、４−２２は、例えば、ハードウェア的には市販されている通信機能を有するサーバ（例えば、インテル社のＤＬ５８０）でなっているが、そのサーバに搭載されたプログラムなどを機能的に整理し、各データベースサーバ４−１１、４−１２、４−２１、４−２２を機能的に表すと、図２に示す機能ブロック図に示す構成を有する。
【００２２】
図２において、各データベースサーバ４（４−１１、４−１２、４−２１、４−２２）は、受信信号解析部２０、ヘルスチェック対応部２１、運用中処理部２２、片ロケーション更新中処理部２３、データ整合送信部２４、データ整合受信部２５、片ロケーション閉塞中処理部２６などを有する。
【００２３】
受信信号解析部２０は、外部（呼処理サーバや保守端末）から到来した信号を解析し、そのときの当該加入者データベースシステム２（２−１、２−２）の状態や、その受信信号に応じて定まる処理部を起動し、必要ならば受信信号を引き渡すものである。
【００２４】
また、受信信号解析部２０は、受信信号が当該加入者データベースシステム２の状態遷移を指示するものである場合には、片ロケーション状態部１２（１２−１、１２−２）の格納状態を書き換えるものである。受信信号解析部２０は、図４に示すように、「運用中」状態において図示しない保守端末からの「片ロケーション更新」指示コマンドを受信したときには「片ロケーション更新中」に状態遷移させ、他の状態で「片ロケーション更新」指示コマンドを受信した場合であれば「エラー」を返信させる。受信信号解析部２０は、「片ロケーション更新中」状態において保守端末からの「片ロケーション更新解除」指示コマンドを受信したときにはデータ整合送信処理を起動した上で「データ整合中」に状態遷移させ、他の状態で「片ロケーション更新解除」指示コマンドを受信した場合であれば「エラー」を返信させる。受信信号解析部２０は、「データ整合中」状態において、対向する加入者データベースシステムから「データ整合」のエラーが通知された場合には、「片ロケーション更新中」状態に遷移させる。
【００２５】
ヘルスチェック対応部２１は、いずれかの呼処理サーバ３（３−１〜３−４）からヘルスチェック信号が与えられたときに、受信応答信号を返信するものである。
【００２６】
運用中処理部２２は、当該加入者データベースシステム２が「運用中」状態で機能するものである。運用中処理部２２は、図４に示すように、いずれかの呼処理サーバ３から参照要求が与えられた場合には、該当する加入者データ（又は該当する加入者データの該当する項目データ）を加入者データ部１０（１０−１、１０−２）から取り出して、要求元の呼処理サーバ３に返信するものである。また、運用中処理部２２は、いずれかの呼処理サーバ３から更新要求が与えられた場合には、加入者データ部１０の該当する加入者データ（又は該当する加入者データの該当する項目データ）を更新し、更新応答を要求元の呼処理サーバ３に返信するものである。
【００２７】
なお、当該加入者データベースシステム（例えば２−１）が「運用中状態」のときには他方の加入者データベースシステム（例えば２−２）も「運用中状態」であって加入者データの更新は並行して実行される。
【００２８】
片ロケーション更新中処理部２３は、当該加入者データベースシステム２が「片ロケーション更新中」状態で機能するものである。片ロケーション更新中処理部２３にいずれかの呼処理サーバ３から参照要求が与えられた場合の処理は、運用中処理部２２と同様である。片ロケーション更新中処理部２３は、いずれかの呼処理サーバ３から更新要求が与えられた場合には、加入者データ部１０の該当する加入者データ（又は該当する加入者データの該当する項目データ）を更新し、更新応答を要求元の呼処理サーバ３に返信すると共に、その更新加入者データを加入者差分データ部１１（１１−１、１１−２）に格納するものである。「片ロケーション更新中」状態のときは、他方の加入者データベースシステムはシステム停止中であるので、更新は当該加入者データベースシステムだけでなされたことになる。
【００２９】
データ整合送信部２４は、「片ロケーション更新解除」指示コマンドの発行によって起動されるものであり、加入者差分データ部１１（１１−１、１１−２）に格納されている加入者差分データ（加入者データ）を、他方の加入者データベースシステムに送信するものである。データ整合送信部２４は、送信動作中に、いずれかの呼処理サーバ３から与えられた加入者データに対する参照要求や更新要求に対しては、片ロケーション更新中処理部２３と同様に動作する。すなわち、参照も更新も実行すると共に、更新時には、加入者差分データ部１１への書込みも行う。
【００３０】
データ整合送信部２４は、データ整合のために他方の加入者データベースシステムに送出しなければならない加入者差分データの残り件数が所定の閾値件数になったときには、状態を、「片ロケーション閉塞中」に遷移させると共に、片ロケーション閉塞中処理部２６を起動するものである。ここで、所定の閾値件数は、その件数分の加入者差分データの転送に要する時間（閉塞時間）が１秒程度である件数であり、呼処理サーバ３からの要求などを、両加入者データベースシステム２−１及び２−２が受け受けなくても、電話通信システムのダウンとは見なせない程度の閉塞時間に対応した件数である。
【００３１】
データ整合送信部２４は、加入者差分データ（加入者データ）の他方の加入者データベースシステムへの送信に対し、他方の加入者データベースシステムから「データ整合」エラーが返信された場合には、状態を「片ロケーション更新中」に復帰させるものである。
【００３２】
データ整合受信部２５は、他方の加入者データベースシステムからデータ整合のために与えられた加入者差分データ（加入者データ）を、加入者データ部１０（１０−２、１０−１）に格納するものである。なお、受信応答を送信側に返信するが、例えば、加入者データ部に格納し得ないような加入者差分データ（加入者データ）の受信時などには、「データ整合」エラーを返信する。また、データ整合受信部２５は、全ての加入者差分データ（加入者データ）を受信したときには、当該加入者データベースシステムを「運用中」状態に遷移させる。
【００３３】
システム停止し、その後、復旧した加入者データベースシステムにおいては、復旧後、データ整合受信部２５だけが機能し、データ整合処理が完了したときに、運用中処理部２２が機能するようになるものである。
【００３４】
片ロケーション閉塞中処理部２６において、加入者差分データ部１１に格納されている加入者差分データ（加入者データ）を、他方の加入者データベースシステムに送信する機能は、データ整合送信部２４と同様である。但し、片ロケーション閉塞中処理部２６は、いずれかの呼処理サーバ３から与えられた加入者データに対する参照要求や更新要求を受け付けないようになされている。すなわち、片ロケーション閉塞中処理部２６が機能しているごくごく短時間である閉塞時間では、両方の加入者データベースシステム２−１及び２−２共に、加入者データに対する参照要求や更新要求を受け付けない。
【００３５】
片ロケーション閉塞中処理部２６は、全ての加入者差分データ（加入者データ）の送信（転送）が完了したときに、「運用中」状態に復帰させる。
【００３６】
各呼処理サーバ３−１〜３−４はそれぞれ、収容している電話端末に係る呼処理などを実行するものである。呼処理サーバ３−１〜３−４は、多くの地点に分散配置されているものであり、各配置地点でも、例えば、複数の呼処理サーバが設置されている。
【００３７】
各呼処理サーバ３−１〜３−４は、呼処理で加入者データの参照が必要な場合には、データベースサーバ４（４−１１、４−１２、４−２１、４−２２）を介して加入者データ部１０（１０−１、１０−２）をアクセスして所望する加入者データを参照する。また、各呼処理サーバ３−１〜３−４は、電話端末から、加入者データの更新指示が与えられた場合には、データベースサーバ４（４−１１、４−１２、４−２１、４−２２）を介して加入者データ部１０（１０−１、１０−２）をアクセスして該当する加入者データを更新させるものである。
【００３８】
このような機能から言えば、各呼処理サーバ３−１〜３−４は、加入者データベースクライアントになっている。
【００３９】
図３は、実施形態の呼処理サーバ３（３−１〜３−４）について、加入者データベースクライアント機能面から示す機能ブロック図である。
【００４０】
図３において、呼処理サーバ３（３−１〜３−４）は、加入者データベースクライアントの機能面からは、ヘルスチェック部３０、加入者データベース状態管理部３１、サーバアクセス順序設定部３２、加入者データ参照部３３、加入者データ更新部３４を有する。
【００４１】
ヘルスチェック部３０は、全てのデータベースサーバ４−１１、４−１２、４−２１、４−２２に対し、所定周期（例えば１秒）で、ヘルスチェック（接続確認とデータベース動作確認；生死チェック）を行うものである。なお、１回ではなく、所定回数（例えば３回）連続してヘルスチェックの結果が「死」判定の場合に初めて、そのデータベースサーバを「死」と判定し、加入者データベース状態管理部３１にその旨を書き込むようになされている。
【００４２】
なお、ヘルスチェック部３０は、いずれかのデータベースサーバ４−１１、４−１２、４−２１、４−２２を死判定した場合、又は、ある加入者データベースシステムに属する全てのデータベースサーバ共に死判定した場合には、保守、管理者などが待機している図示しない管理装置にその旨を通知するようになされている。
【００４３】
加入者データベース状態管理部３１は、ヘルスチェック部３０によるデータベースサーバ４−１１、４−１２、４−２１、４−２２のヘルスチェックの結果に基づく状態や、保守装置（図示せず）や加入者データベースシステム２−１、２−２から与えられた加入者データベースシステム２−１、２−２の状態を管理するものである。
【００４４】
サーバアクセス順序設定部３２は、当該呼処理サーバ３がいずれのデータベースサーバ４−１１、４−１２、４−２１、４−２２のアクセスを許容されているため、当該呼処理サーバ３が参照するデータベースサーバの順序が設定されているものである。高順位のものが、死状態など参照し得ない状態のときに、次の順位のデータベースサーバを参照しようとするものである。参照順序の設定内容は、図示しない保守装置が決定してこのサーバアクセス順序設定部３２に記憶させるようにしても良く、保守者が決定して保守装置を介してサーバアクセス順序設定部３２に記憶させるようにしても良く、更新が可能なものである。
【００４５】
例えば、各呼処理サーバ３−１〜３−４について、以下のように、参照順序を設定する。呼処理サーバ３−１については、４−１１→４−１２→４−２１→４−２２の順序を設定する。呼処理サーバ３−２については、４−１２→４−１１→４−２２→４−２１の順序を設定する。呼処理サーバ３−３については、４−２１→４−２２→４−１１→４−１２の順序を設定する。呼処理サーバ３−４については、４−２２→４−２１→４−１２→４−１１の順序を設定する。このような設定により、多くの呼処理サーバ３−１〜３−４からの参照要求が１つのデータベースサーバに偏らないように均等に負荷分散することが可能になる。
【００４６】
サーバアクセス順序設定部３２に設定されている参照順序は、後述するように、加入者データの更新時に利用されるデータベースサーバの決定にも利用される。
【００４７】
加入者データ参照部３３は、図示しない呼処理部等が、そのときの呼処理に加入者データの参照が必要と判定したときに（例えば、着信転送がオンかオフかの確認を要するときに）、加入者データベース状態管理部３１の格納内容やサーバアクセス順序設定部３２の設定順序を参照し、仲介するデータベースサーバ４を決定した上で、そのデータベースサーバ４が接続されている共通ディスク５の加入者データ部１０をアクセスして参照する所望の加入者データ（全体又は一部項目）を取り出すものである。
【００４８】
加入者データ更新部３４は、図示しない呼処理部等が加入者データの更新が必要と判定したときに（例えば、着信転送をオンからオフへ切り替えるときに）、加入者データベース状態管理部３１の格納内容やサーバアクセス順序設定部３２の設定順序を参照し、それぞれの加入者データベースシステム２−１、２−２で、仲介するデータベースサーバ４−１（４−１１又は４−１２）、４−２（４−２１又は４−２２）を決定した上で、共通ディスク３−１、３−２の加入者データ部１０−１、１０−２をアクセスして所望の加入者データ（全体又は一部項目）を更新するものである。
【００４９】
この実施形態の場合、基本的には、同期データレプリケーション方法を採用しているので、加入者データ更新部３４は、全ての加入者データベースシステム２−１、２−２における加入者データをほぼ同時に更新する。
【００５０】
なお、加入者データ更新部３４は、例えば、加入者データベースシステム２−１に属する２個のデータベースサーバ４−１１及び４−１２が共に正常である場合には、そのうちの参照順序が高いものを介して加入者データの更新を実行させ、加入者データベースシステム２−２に属する２個のデータベースサーバ４−２１及び４−２２が共に正常である場合には、そのうちの参照順序が高いものを介して加入者データの更新を実行させる。
【００５１】
また、加入者データ更新部３４は、システム停止中であることなど、加入者データの更新がなされない状態が加入者データベース状態管理部３１に記述されている一方の加入者データベースシステム２−１、２−２については加入者データの更新を要求しないようにしても良く、また、要求を送出するようにしても良い。後者の場合、加入者データベースシステム２−１、２−２が対応しないことで、加入者データの更新はなされない。
【００５２】
（Ａ−２）実施形態の動作
以下、実施形態の加入者データベースネットワーク１の動作を説明する。
【００５３】
まず、加入者データベースシステム２−１及び２−２が共に正常に運用できる状態での動作を説明する。
【００５４】
呼処理サーバ３−１は、加入者データの参照が必要になったときは、自己に定まっている順序で１位のデータベースサーバ４−１１を介して加入者データ部１０−１をアクセスし、所望する加入者データを読み出して参照する。
【００５５】
また、呼処理サーバ３−１は、加入者データの更新が必要になったときは、一方の加入者データベースシステム２−１に対しては、そのシステム２−１に所属する順位が高い側のデータベースサーバ４−１１を介して加入者データ部１０−１をアクセスし、該当する加入者データを更新し、他方の加入者データベースシステム２−２に対しては、そのシステム２−２に所属する順位が高い側のデータベースサーバ４−２１を介して加入者データ部１０−２をアクセスし、該当する加入者データを更新する。すなわち、該当する加入者データを、常時、２重に保管する。
【００５６】
呼処理サーバ３−１は、所定周期（例えば１秒）で、全てのデータベースサーバ４−１１、４−１２、４−２１、４−２２に対するヘルスチェックを行い、所定回数（例えば３回）連続してヘルスチェックで異常となったデータベースサーバを死状態と判定する。但し、例えば、データベースサーバ４−１１が死状態と判定しても、アクセスする共通ディスク５−１が同じデータベースサーバ４−１２が死状態でない場合には、データベースサーバ４−１１が仲介していた加入者データの参照や更新を、データベースサーバ４−１２を介して実行するように切り替える（優先順序による）。
【００５７】
なお、データベースサーバ単体の異常（死状態）、又は、加入者データベースシステムに属する全てのデータベースサーバの異常（死状態）を、呼処理サーバ３−１は、図示しない保守装置や管理装置などに通知する。
【００５８】
次に、加入者データベースシステム２−２がシステム停止になった際の動作及び復旧した際の動作を説明する。
【００５９】
例えば、加入者データベースシステム２−２が保守のためにシステムが停止されることがある。また例えば、データベースサーバ４−２１及び４−２２に共に障害が発生した場合のように、加入者データベースシステム２−２の故障のためにシステムが停止することがある。
【００６０】
このような加入者データベースシステム２−２がシステム停止になると、そのことを認識した保守者は、図示しない保守装置などを用いて、他方の加入者データベースシステム２−１に対して、「片ロケーション更新」指示コマンドを与える。「片ロケーション更新」指示コマンドを受信したデータベースサーバ４−１１又は４−１２は、これにより、状態を「運用中」から「片ロケーション更新中」に変更する（図４参照）。
【００６１】
また、保守者は、保守装置を用いて、全ての呼処理サーバ３−１〜３−４に対して、加入者データベースシステム２−２がシステム停止したことをブロードキャストする。なお、呼処理サーバ３−１〜３−４のヘルスチェック機能によって、呼処理サーバ３−１〜３−４が、加入者データベースシステム２−２のシステム停止を自律的に認識することに任せて、ブロードキャストしないようにしても良い。
【００６２】
このような一方の加入者データベースシステム２−２のシステム停止状態においては、例えば、呼処理サーバ３−１は、加入者データの参照が必要になったときは、他方の加入者データベースシステム２−１について自己に定まっている順序で１位のデータベースサーバ４−１１を介して加入者データ部１０−１をアクセスし、所望する加入者データを読み出して参照し、また、加入者データの更新が必要になったときは、他方の加入者データベースシステム２−１について自己に定まっている順序が高い側のデータベースサーバ４−１１を介して加入者データ部１０−１をアクセスし、該当する加入者データを更新する。
【００６３】
データベースサーバ４−１１は、「片ロケーション更新中」状態での加入者データの更新要求に対しては、加入者データ部１０−１の加入者データを更新するだけでなく、加入者差分データ部１１−１に対して、その更新要求に係る加入者データを格納する。
【００６４】
加入者データベースシステム２−１だけがアクセス可能になっても、２個のデータベースサーバ４−１１及び４−１２を備え、呼処理サーバ３−１及び３−４によって優先順位が高い方が異なるので、それぞれのデータベースサーバ４−１１及び４−１２の負荷を均等に分散することが可能であり、各呼処理サーバ３−１〜３−４からの参照要求や更新要求に迅速に対応することができる。
【００６５】
なお、一方の加入者データベースシステム２−２のシステム停止状態において、呼処理サーバ３−１は、加入者データベースシステム２−１に対して更新要求する際に、加入者データベースシステム２−２に対して更新要求をすることはない。仮に、加入者データベースシステム２−２に対して更新要求しても、システム停止中であるので、その更新要求は無意味なものとなる。
【００６６】
停止中の加入者データベースシステム２−２を再起動させる際には、保守者は、保守装置などを用いて、他方の加入者データベースシステム２−１に対して、「片ロケーション更新解除」指示コマンドを与える。「片ロケーション更新解除」指示コマンドを受信した加入者データベースシステム２−１のデータベースサーバ４−１１又は４−１２は、状態をから「片ロケーション更新中」から「データ整合中」に変更する（図４参照）。なお、再起動された加入者データベースシステム２−２は、再起動直後は、「運用中」状態にはならず、図４には記載していないが、「整合データ受信中」状態となり、整合のための加入者差分データ（加入者データ）の受信処理だけを許容する状態になる。
【００６７】
状態が「データ整合中」に変化すると、データベースサーバ４−１１又は４−１２は、加入者差分データ部１１−１に格納されている加入者差分データ（加入者データ）を、停止中から再起動された加入者データベースシステム２−２に送信させる。このような加入者差分データの送信は、データベースサーバ４−１１及び４−１２の一方が担当しても良く、また、所定データ数ずつ又は所定期間ごと交互に送信を担当するようにしても良い。
【００６８】
なお、データベースサーバ４−１１又は４−１２は、「データ整合中」状態において、呼処理サーバ３−１〜３−４から到来した加入者データの参照要求や加入者データの更新要求にも対応した処理を行う。加入者データの更新要求に対しては、加入者差分データ部１１−１への格納動作をも行う。
【００６９】
加入者差分データ（加入者データ）が到来した加入者データベースシステム２−２のデータベースサーバ４−２１又は４−２２は、受信した加入者差分データ（加入者データ）に応じて、加入者データ部１０−２に対する更新処理を行う。データベースサーバ４−２１又は４−２２は、このようなデータ整合のための加入者差分データ（加入者データ）の受信状態では、呼処理サーバ３−１〜３−４から加入者データの参照要求や加入者データの更新要求が到来してもその要求を拒否する。
【００７０】
データベースサーバ４−１１又は４−１２は、データ整合のために他方の加入者データベースシステム２−２に送出しなければならない加入者差分データ（加入者データ）の残り件数が所定の閾値件数になったときには、状態を、「データ整合中」から「片ロケーション閉塞中」に遷移させる。
【００７１】
この「片ロケーション閉塞中」状態においても、データベースサーバ４−１１又は４−１２は、加入者差分データ（加入者データ）の加入者データベースシステム２−２への送信を継続する。しかし、「片ロケーション閉塞中」状態においては、データベースサーバ４−１１又は４−１２は、呼処理サーバ３−１〜３−４から加入者データの参照要求や加入者データの更新要求が到来してもその要求を拒否する。
【００７２】
加入者データベースシステム２−１のデータベースサーバ４−１１又は４−１２は、加入者差分データ（加入者データ）の送信が完了すると、状態を「片ロケーション閉塞中」から「運用中」に復帰させる。他方の加入者データベースシステム２−２のデータベースサーバ４−２１又は４−２２は、加入者差分データ（加入者データ）の受信が完了すると、状態を「整合データ受信中」から「運用中」に変更する。
【００７３】
これにより、両方の加入者データベースシステム２−１および２−２が「運用中」となり、同期データレプリケーションが実行される通常状態に復帰する。
【００７４】
ここで、ネットワークＮ３が停止した場合には、一方の加入者データベースシステム２−１は呼処理サーバ３−１及び３−２からの加入者データの参照要求及び更新要求を受け付ける「片ロケーション更新中」状態となり、他方の加入者データベースシステム２−２は呼処理サーバ３−３及び３−４からの加入者データの参照要求及び更新要求を受け付ける「片ロケーション更新中」状態となる。ネットワークＮ３が復旧したときには、加入者データベースシステム２−１から加入者データベースシステム２−２への上述と同様なデータ整合送信と、加入者データベースシステム２−２から加入者データベースシステム２−１への上述と同様なデータ整合送信とが実行される。
【００７５】
すなわち、ネットワークが分断された場合でも、加入者データベースシステム２−１、２−２に対する個別の加入者データの参照、更新が可能となっており、ネットワークの回復時にはごく短時間の要求拒否時間（閉塞時間）だけでデータを整合させることができる。
【００７６】
ネットワークＮ３が停止した場合には、加入者データベースシステム２−１から見れば加入者データベースシステム２−２が停止しているように見え、逆に、加入者データベースシステム２−２から見れば加入者データベースシステム２−１が停止しているように見える。そのため、特許請求の範囲では、一部の加入者データベースシステムの停止時の場合で表現しているが、この表現には、ネットワークの分断による場合も含むものとする。
【００７７】
（Ａ−３）実施形態の効果
上記実施形態によれば、全ての加入者データベースシステムが正常の場合には、同期データレプリケーション方法に従って、加入者データの更新を行っており、加入者データの多重化を達成することができる。
【００７８】
また、上記実施形態によれば、同期データレプリケーション方法を採用しながら一方の加入者データベースシステムの停止中であっても、他方の加入者データベースシステムに対する加入者データの参照や更新をごく短い閉塞時間を除きて許容しているので、呼処理サービス（電話通信サービス）の常時提供を達成することができる。
【００７９】
さらに、このような他方の加入者データベースシステムによって加入者データの参照や更新を行っている期間において、加入者データの更新要求に対しては、後ほどでのシステム間のデータ整合を考慮して、更新だけでなく、加入者差分データとして格納しておき、停止時の加入者データベースシステムの再起動時に格納しておいた加入者差分データを再起動のシステムに送信して加入者データを更新させるようにしたので、両加入者データベースシステムの加入者データを整合させることができる。
【００８０】
データ整合のための送信時においても、送信元側の加入者データベースシステムでは、加入者データの参照や更新をごく短い閉塞時間を除きて許容しているので、呼処理サービス（電話通信サービス）の常時提供を達成することができる。
【００８１】
また、両方の加入者データベースシステムが加入者データの参照や更新を禁止しているごく短い閉塞時間を設けて、データ整合を締めくくっているので、データ整合を確実なものとすることができる。
【００８２】
（Ｂ）他の実施形態
上記実施形態の説明では、加入者データベースシステムが２個の場合を示したが、３個以上あっても良い。この場合でも、全ての加入者データベースシステムの並列運用を行うと共にデータを同一にしておく。ある加入者データベースシステムが停止した場合には、上記実施形態と同様な処理を行う。この場合でも、正常な複数の加入者データベースシステムでのデータの一致を行うと共に、少なくとも１個のシステムが加入者差分データの格納を行い、停止システムの再起動時に上記と同様な方法によりデータの整合を行う。
【００８３】
また、上記実施形態では、本発明の加入者データベースネットワークを、電話通信システムに適用したものを示したが、他のシステムの加入者データベースネットワークにも、本発明を適用することができる。例えば、クレジットカードに係る加入者データベースネットワークに本発明を適用することができる。「加入者」という用語は、「顧客」、「契約者」という概念を含むものとする。
【００８４】
さらに、上記実施形態においては、全ての加入者データベースシステムの正常時において、呼処理サーバが全ての加入者データベースシステムに対して加入者データの更新要求を与えることで、格納している加入者データを一致させるものを示したが、呼処理サーバはある加入者データベースシステムに対して加入者データの更新要求を与え、それを受信した加入者データベースシステムが直ちに他の加入者データベースシステムに複製送信することで加入者データを一致させるものであっても良い。
【００８５】
さらにまた、上記実施形態においては、データ整合の最終段階である「片ロケーション閉塞中」状態への移行判断を加入者差分データの残り件数に基づいて行うものを示したが、残りデータ容量などの他のパラメータであっても良い。要は、全ての加入者データベースシステムが参照要求及び更新要求を受け付けない閉塞時間をごく短時間とするものであれば良い。
【図面の簡単な説明】
【００８６】
【図１】実施形態の加入者データベースネットワークの全体構成を示すブロック図である。
【図２】実施形態のデータベースサーバの機能的構成を示すブロック図である。
【図３】実施形態の呼処理サーバ（加入者データベースクライアント）の機能的構成を示すブロック図である。
【図４】実施形態の加入者データベースシステムの状態遷移を示す説明図である。
【符号の説明】
【００８７】
１…加入者データベースネットワーク、２−１、２−２…加入者データベースシステム、３−１〜３−４…呼処理サーバ、４、４−１１、４−１２、４−２１、４−２２…データベースサーバ、５−１、５−２…共通ディスク、１０−１、１０−２…加入者データ部、１１−１、１１−２…加入者差分データ部、１２−１、１２−２…片ロケーション状態部、２０…受信信号解析部、２１…ヘルスチェック対応部、２２…運用中処理部、２３…片ロケーション更新中処理部、２４…データ整合送信部、２５…データ整合受信部、２６…片ロケーション閉塞中処理部、３０…ヘルスチェック部、３１…加入者データベース状態管理部、３２…加入者データ参照部、３３…加入者データ更新部。
【図１】
0004770358.tif 000002
【図２】
0004770358.tif 000003
【図３】
0004770358.tif 000004
【図４】
0004770358.tif 000005