(57)【要約】【課題】複数の装置の間で一致したデータを保持する必要がある場合、障害発生により装置間でデータの不一致が生じた際に速やかにデータを一致させる。【解決手段】加入者管理装置１Ａが、保守装置２から受信した加入者データを仮登録面１４Ａに保存しておき、加入者データをサービス提供装置３へ送信してサービス提供装置３の加入者データが更新されたときに、加入者データを仮登録面１４Ａから本登録面１４Ｂに反映し、障害発生後に、仮登録面１４Ａに加入者データが存在する場合は、その加入者データをサービス提供装置３へ送信して更新させる。これにより、保守装置２からの加入者データの再投入を待つことなく、加入者管理装置１Ａ，１Ｂとサービス提供装置３の加入者データを一致させることができる。【選択図】図２
2015041308.tif 000002
【特許請求の範囲】
【請求項１】
データを使用してサービスを提供するサービス提供装置との間で前記データを一致させてデータを管理するデータ管理装置であって、
仮登録面と本登録面を備えたデータ蓄積手段と、
データを受信し、受信したデータを前記仮登録面に保存するデータ受信手段と、
前記仮登録面に保存されたデータが存在する場合、当該データを前記サービス提供装置へ送信するデータ送信手段と、
前記サービス提供装置からデータ受信成功を示す応答を受信したときには当該データを前記仮登録面から前記本登録面へ移動するデータ反映手段と、
を有することを特徴とするデータ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害発生後にデータを復旧する技術に関する。
【背景技術】
【０００２】
利用者の端末に通信サービスを提供するシステムは、利用者の契約情報などを記載した加入者データの原本を管理する加入者管理装置、加入者データのキャッシュを保持して端末に通信サービスを提供するサービス提供装置、および加入者データを投入する保守装置で構成される。加入者データをサービス提供装置が保持することで、サービス提供装置がサービスを提供する際に、加入者データを加入者管理装置へ問い合わせる必要がなくなる。加入者管理装置とサービス提供装置が保持する加入者データは一致している必要がある。加入者データが一致していない場合は、契約上はサービスを提供できるにも関わらず、実際はサービスを提供をしていない状況が発生してしまう。
【０００３】
図５を用いて、保守装置が加入者データを投入したときの処理の流れについて説明する。
【０００４】
図５の例では、加入者管理装置５Ａ，５Ｂを複数台用いて、一方の加入者管理装置５ＡをＭａｓｔｅｒ、もう一方の加入者管理装置５ＢをＳｌａｖｅとして加入者管理システムを構成した。
【０００５】
まず、保守装置２が加入者データを送信してデータの更新をサービス提供装置３に要求する（ステップＳ５０１）。このとき、加入者管理装置５Ａ，５Ｂは、加入者データを受信するが、サービス提供装置３でデータ更新が失敗したときに、ロールバック処理が必要となるため、加入者データの更新を実施しない。
【０００６】
サービス提供装置３が加入者データを更新し（ステップＳ５０２）、データ更新成功応答を加入者管理装置５Ａへ送信すると（ステップＳ５０３）、加入者管理装置５Ａは加入者データを更新し（ステップＳ５０４）、Ｓｌａｖｅである加入者管理装置５Ｂに対して加入者データを更新するように同期を要求する（ステップＳ５０５）。
【０００７】
加入者管理装置５Ｂが加入者データを更新し（ステップＳ５０６）、同期が完了した旨を通知する同期応答を加入者管理装置５Ａが受信すると（ステップＳ５０７）、加入者管理装置５Ａは加入者データの更新が成功した旨を示すデータ更新成功応答を保守装置２へ返却する（ステップＳ５０８）。以上の処理により、加入者管理装置５Ａ，５Ｂ、サービス提供装置３の加入者データが更新される。
【０００８】
また、加入者データの投入時の障害発生に、どのようにデータを復旧するのかが問題となる。一般的なデータベースの技術では、データ更新中の障害に対応する場合、予め取得しておいたジャーナルを用いてロールフォワードを実施する方法がある。ジャーナルは、ディスクに障害が発生したときに、すぐ復旧できるように、ファイル更新履歴のバックアップをとっておく機能を持ったファイルシステムである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−２４１３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記で説明した従来の加入者管理システムではＭａｓｔｅｒに障害が発生したときに、加入者管理システムとサービス提供装置との間で加入者データが一致しない場合がある。以下、図６を参照して加入者データの不一致が発生するケースについて説明する。
【００１１】
保守装置２から加入者データが投入されて、サービス提供装置３で加入者データが更新された後（ステップＳ６０１〜Ｓ６０３）、加入者管理装置５Ａで加入者データが更新される前に加入者管理装置５Ａで障害が発生すると（ステップＳ６０４）、Ｍａｓｔｅｒ／Ｓｌａｖｅ交代を行い、加入者管理装置５ＢがＭａｓｔｅｒとなる（ステップＳ６０５）。このとき、加入者管理装置５Ｂの加入者データは更新されていない。
【００１２】
その後、保守装置２から加入者データが再投入されて、サービス提供装置３で加入者データが更新され（ステップＳ６０６〜Ｓ６０８）、加入者管理装置５Ｂの加入者データが更新されて（ステップＳ６０９，Ｓ６１０）、加入者管理システムとサービス提供装置との間で加入者データが一致する。
【００１３】
保守装置２からの加入者データの再投入で加入者データの不一致は解消されるが、図６の区間Ａでは、加入者管理システムとサービス提供装置との間で加入者データが一致していないという問題があった。保守装置２からの加入者データの再投入が来ない場合も考えられる。
【００１４】
また、ジャーナルを用いて復旧する場合は、復旧作業に必要なジャーナルを常に管理しておかなければならない。
【００１５】
本発明は、上記に鑑みてなされたものであり、複数の装置の間で一致したデータを保持する必要がある場合、障害発生により装置間でデータの不一致が生じた際に速やかにデータを一致させることを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係るデータ管理装置は、データを使用してサービスを提供するサービス提供装置との間で前記データを一致させてデータを管理するデータ管理装置であって、仮登録面と本登録面を備えたデータ蓄積手段と、データを受信し、受信したデータを前記仮登録面に保存するデータ受信手段と、前記仮登録面に保存されたデータが存在する場合、当該データを前記サービス提供装置へ送信するデータ送信手段と、前記サービス提供装置からデータ受信成功を示す応答を受信したときには当該データを前記仮登録面から前記本登録面へ移動するデータ反映手段と、を有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、仮登録面にデータを保存しておき、サービス提供装置においてデータの更新が確認されたときに仮登録面から本登録面へデータを移動し、障害発生後に、仮登録面にデータが存在する場合には、そのデータをサービス提供装置へ送信することで、複数の装置の間で一致したデータを保持する必要がある場合、障害発生により装置間でデータの不一致が生じた際に速やかにデータを一致させることができる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態における加入者管理装置の構成を示す機能ブロック図である。
【図２】保守装置から加入者データが投入されたときの処理の流れを示すシーケンス図である。
【図３】保守装置から投入された加入者データが加入者管理システムに反映されていないうちに障害が発生したときの処理の流れを示すシーケンス図である。
【図４】障害が発生した後、サービス提供装置が加入者データの更新に失敗したときの処理の流れを示すシーケンス図である。
【図５】従来の加入者データを投入されたときの処理の流れを示すシーケンス図である。
【図６】加入者データを投入されたときにデータの不一致が発生する場合を説明するシーケンス図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について図面を用いて説明する。
【００２０】
図１は、本実施の形態における加入者管理装置の構成を示す機能ブロック図である。
【００２１】
本実施の形態における加入者管理システムは、複数の加入者管理装置１Ａ，１Ｂを備える。一方の加入者管理装置１Ａは加入者データのアクセス処理を実施する現用機（Ｍａｓｔｅｒ）、もう一方の加入者管理装置１Ｂは加入者管理装置１Ａと同一のデータを保持する予備機（Ｓｌａｖｅ）である。Ｓｌａｖｅを複数台備えてもよい。加入者管理システムは、Ｍａｓｔｅｒ／Ｓｌａｖｅ間で加入者データを同期しておき、Ｍａｓｔｅｒで障害が発生すると、Ｍａｓｔｅｒ／Ｓｌａｖｅ交代を行い、Ｓｌａｖｅの中から新Ｍａｓｔｅｒを自律的に決定し、新Ｍａｓｔｅｒで加入者データのアクセス処理を再開する。
【００２２】
加入者管理システムは、加入者データを投入する保守装置２と加入者データのキャッシュを保持して端末に通信サービスを提供するサービス提供装置３と、ネットワークを介して接続されている。加入者管理システムは、保守装置２から投入された加入者データを原本管理し、サービス提供装置３も同一の加入者データを保持する。
【００２３】
図１に示す加入者管理装置１Ａは、保守装置２から加入者データの更新要求を受け付ける要求受信部１１、他の加入者管理装置１Ｂとの間で加入者データを同期する同期部１２、サービス提供装置３に加入者データの更新を要求する更新要求部１３、および加入者データを蓄積する加入者データ蓄積部１４を備える。加入者データ蓄積部１４は、保守装置２から受信した加入者データを一時的に保持する仮登録面１４Ａとサービスの提供に用いる加入者データを保持する本登録面１４Ｂを有する。仮登録面１４Ａにある加入者データではサービスを提供せず、本登録面１４Ｂにある加入者データを使ってサービスを提供する。加入者管理システムが保持する加入者データと本登録面１４Ｂが保持する加入者データは一致している必要がある。加入者管理装置１Ｂも同様の構成である。
【００２４】
要求受信部１１は、保守装置２から加入者データの更新要求を受け付けると、受信した加入者データを仮登録面１４Ａに保存する。
【００２５】
同期部１２は、加入者データ蓄積部１４の状態を他の加入者管理装置１Ｂと同期する。仮登録面１４Ａに加入者データが保存された場合は、加入者データを加入者管理装置１Ｂへ送信して仮登録面１４Ａに保存させる。また、加入者データが仮登録面１４Ａから本登録面１４Ｂへ反映された場合は、加入者管理装置１Ｂに対して仮登録面１４Ａの加入者データを本登録面１４Ｂへ反映させる同期信号を送信する。
【００２６】
更新要求部１３は、仮登録面１４Ａに保存された加入者データをサービス提供装置３へ送信してデータの更新を要求する。また、サービス提供装置３からデータの更新の成功を示す応答を受信したときには、仮登録面１４Ａに保存された加入者データを本登録面１４Ｂへ移動する。また、障害発生後、仮登録面１４Ａに加入者データが存在する場合、その加入者データをサービス提供装置３へ送信してデータの更新を要求する。この場合も成功の応答が返却された場合は、加入者データを仮登録面１４Ａから本登録面１４Ｂへ移動する。
【００２７】
次に、保守装置２から加入者データが投入されたときの処理について説明する。
【００２８】
図２は、保守装置２から加入者データが投入されたときの処理の流れを示すシーケンス図である。図２では、加入者管理装置１ＡをＭａｓｔｅｒ、加入者管理装置１ＢをＳｌａｖｅとする。
【００２９】
まず、保守装置２からデータ更新要求が送信されて、加入者管理装置１Ａが加入者データを受信すると（ステップＳ１０１）、受信した加入者データを仮登録面１４Ａに保存する（ステップＳ１０２）。
【００３０】
そして、受信した加入者データをＳｌａｖｅである加入者管理装置１Ｂへ送信して加入者データの同期を要求する（ステップＳ１０３）。加入者管理装置１Ｂは、受信した加入者データを仮登録面１４Ａに保存し（ステップＳ１０４）、同期が完了した旨を通知する同期応答を加入者管理装置１Ａへ返す（ステップＳ１０５）。
【００３１】
また、加入者管理装置１Ａは、受信した加入者データをサービス提供装置３へ送信して加入者データの更新を要求する（ステップＳ１０６）。サービス提供装置３は、加入者データを受信して加入者データを更新し（ステップＳ１０７）、加入者データの更新が成功した旨を通知するデータ更新成功応答を加入者管理装置１Ａへ返す（ステップＳ１０８）。
【００３２】
加入者管理装置１Ａは、データ更新成功応答を受信して、受信した加入者データがサービス提供装置３に反映されたことを確認すると、仮登録面１４Ａの加入者データを本登録面１４Ｂへコピーして、仮登録面１４Ａの加入者データを削除する（ステップＳ１０９）。
【００３３】
そして、仮登録面１４Ａの加入者データを本登録面１４Ｂへ移動するように、加入者管理装置１Ｂへ同期を要求し（ステップＳ１１０）、加入者管理装置１Ｂは、仮登録面１４Ａの加入者データを本登録面１４Ｂへコピーして、仮登録面１４Ａの加入者データを削除し（ステップＳ１１１）、同期が完了した旨を通知する同期応答を加入者管理装置１Ａへ返す（ステップＳ１１２）。
【００３４】
加入者管理装置１Ａが保守装置２へデータの更新が成功した旨を示すデータ更新成功応答を送信する（ステップＳ１１３）。
【００３５】
以上の処理により、加入者管理装置１Ａ，１Ｂの本登録面１４Ｂおよびサービス提供装置３の加入者データが更新される。上記のように、加入者データの投入が正常に行われた場合、加入者管理装置１Ａ，１Ｂの仮登録面１４Ａには加入者データは存在していない。
【００３６】
次に、保守装置２から投入された加入者データが加入者管理システムに反映されていないうちに障害が発生したときの処理について説明する。
【００３７】
図３は、保守装置２から投入された加入者データが加入者管理システムに反映されていないうちに障害が発生したときの処理の流れを示すシーケンス図である。図３では、加入者管理装置１ＡをＭａｓｔｅｒ、加入者管理装置１ＢをＳｌａｖｅとし、障害発生後に、加入者管理装置１ＢがＭａｓｔｅｒとして動作する。
【００３８】
加入者管理装置１Ａは、保守装置２から投入された加入者データを受信して、受信した加入者データを仮登録面１４Ａに保存し、受信した加入者データを加入者管理装置１Ｂへ送信して同期する（ステップＳ２０１〜Ｓ２０５）。この時点で、加入者管理装置１Ａ，１Ｂともに、仮登録面１４Ａに加入者データを保持している。
【００３９】
加入者管理装置１Ａは、サービス提供装置３に加入者データの更新を要求し、サービス提供装置３は加入者データを更新する（ステップＳ２０６，Ｓ２０７）。
【００４０】
ここで、Ｍａｓｔｅｒである加入者管理装置１Ａに障害が発生すると（ステップＳ２０８）、加入者管理装置１Ａに代わって加入者管理装置１ＢがＭａｓｔｅｒになる（ステップＳ２０９）。
【００４１】
新たにＭａｓｔｅｒとなった加入者管理装置１Ｂは、仮登録面１４Ａに加入者データが存在するか否かを確認する（ステップＳ２１０）。このとき、仮登録面１４Ａに加入者データがない場合は、加入者管理システムとサービス提供装置３の加入者データは一致しているので、ステップＳ２１１以降の処理は実施しない。
【００４２】
図３の例では、加入者管理装置１Ｂの仮登録面１４Ａに加入者データが存在するので、仮登録面１４Ａの加入者データをサービス提供装置３へ送信して加入者データの更新を要求する（ステップＳ２１１）。サービス提供装置３は、加入者データを受信して加入者データを更新し（ステップＳ２１２）、加入者データの更新が成功した旨を通知するデータ更新成功応答を加入者管理装置１Ｂへ返す（ステップＳ２１３）。ステップＳ２１２において、既に同じ加入者データを保持している場合、受信した加入者データで上書きする。
【００４３】
加入者管理装置１Ｂは、データ更新成功応答を受信して、仮登録面１４Ａの加入者データがサービス提供装置３に反映されたことを確認すると、仮登録面１４Ａの加入者データを本登録面１４Ｂへコピーして、仮登録面１４Ａの加入者データを削除する（ステップＳ２１４）。
【００４４】
そして、保守装置２へデータの更新が成功した旨を示すデータ更新成功応答を送信する（ステップＳ２１５）。
【００４５】
以上の処理により、Ｍａｓｔｅｒ／Ｓｌａｖｅ交代後に、保守装置２からの再送を待つことなく、加入者管理装置１Ｂの仮登録面１４Ａの加入者データにより、サービス提供装置３と加入者管理装置１Ｂの本登録面１４Ｂの加入者データに反映される。
【００４６】
次に、障害が発生した後、サービス提供装置３が加入者データの更新に失敗したときの処理について説明する。
【００４７】
図４は、障害が発生した後、サービス提供装置３が加入者データの更新に失敗したときの処理の流れを示すシーケンス図である。図４でも、加入者管理装置１ＡをＭａｓｔｅｒ、加入者管理装置１ＢをＳｌａｖｅとし、障害発生後に、加入者管理装置１ＢがＭａｓｔｅｒとして動作する。
【００４８】
加入者管理装置１Ａは、保守装置２から投入された加入者データを受信して、受信した加入者データを仮登録面１４Ａに保存し、受信した加入者データを加入者管理装置１Ｂへ送信して同期する（ステップＳ３０１〜Ｓ３０５）。この時点で、加入者管理装置１Ａ，１Ｂともに、仮登録面１４Ａに加入者データを保持している。
【００４９】
ここで、Ｍａｓｔｅｒである加入者管理装置１Ａに障害が発生すると（ステップＳ３０６）、加入者管理装置１Ａに代わって加入者管理装置１ＢがＭａｓｔｅｒになる（ステップＳ３０７）。
【００５０】
新たにＭａｓｔｅｒとなった加入者管理装置１Ｂは、仮登録面１４Ａに加入者データが存在するか否かを確認する（ステップＳ３０８）。
【００５１】
加入者管理装置１Ｂの仮登録面１４Ａに加入者データが存在するので、仮登録面１４Ａの加入者データをサービス提供装置３へ送信して加入者データの更新を要求する（ステップＳ３０９）。
【００５２】
図４の例では、サービス提供装置３は、加入者データの更新を失敗する（ステップＳ３１０）。
【００５３】
サービス提供装置３は、加入者データの更新が失敗した旨を通知するデータ更新失敗応答を加入者管理装置１Ｂへ返す（ステップＳ３１１）。
【００５４】
加入者管理装置１Ｂは、データ更新失敗応答を受信して、仮登録面１４Ａの加入者データがサービス提供装置３に反映されなかったことが分かると、仮登録面１４Ａの加入者データを保持したまま（ステップＳ３１２）、保守装置２へデータの更新が失敗した旨を示すデータ更新失敗応答を送信する（ステップＳ３１３）。仮登録面１４Ａの加入者データはサービス提供装置３に反映されていないのでロールバックする必要がない。
【００５５】
この後、サービス提供装置３が復旧すると、保守装置２から加入者データを再投入する（ステップＳ３１４）。加入者管理装置１Ｂの仮登録面１４Ａの加入者データは、再投入された加入者データで上書きされる。
【００５６】
以上の処理により、サービス提供装置３の加入者データ更新の成功／失敗に関わらず、加入者管理システムとサービス提供装置３との間で加入者データを一致させることができる。
【００５７】
以上説明したように、本実施の形態によれば、加入者管理装置１Ａが、保守装置２から受信した加入者データを仮登録面１４Ａに保存しておき、加入者データをサービス提供装置３へ送信してサービス提供装置３の加入者データが更新されたときに、加入者データを仮登録面１４Ａから本登録面１４Ｂに反映し、障害発生後に、仮登録面１４Ａに加入者データが存在する場合は、その加入者データをサービス提供装置３へ送信して更新させることにより、保守装置２からの加入者データの再投入を待つことなく、加入者管理装置１Ａ，１Ｂとサービス提供装置３の加入者データを一致させることができる。
【００５８】
本実施の形態によれば、仮登録面１４Ａの加入者データを復旧に必要なデータとして用いることができるので、従来のジャーナルで必要であったデータの更新履歴の管理を不要にすることができる。
【符号の説明】
【００５９】
１Ａ，１Ｂ…加入者管理装置
１１…要求受信部
１２…同期部
１３…更新要求部
１４…加入者データ蓄積部
１４Ａ…仮登録面
１４Ｂ…本登録面
２…保守装置
３…サービス提供装置
５Ａ，５Ｂ…加入者管理装置
【図１】
2015041308.tif 000003
【図２】
2015041308.tif 000004
【図３】
2015041308.tif 000005
【図４】
2015041308.tif 000006
【図５】
2015041308.tif 000007
【図６】
2015041308.tif 000008