(57)【要約】【課題】分散オブジェクトを使用したシステムにおいて、オブジェクトごとにホットスタンバイを実現し、継続的に業務サービスを提供すること。【解決手段】システム内のすべてのオブジェクトの状態を監視するオブジェクト監視装置を設け、障害の発生したオブジェクトへのリクエストを禁止し、それらへのリクエストが発生した際に、代替のオブジェクトへリクエストを振り分けることにより、一意のステータス情報を持つようなオブジェクトのホットスタンバイを実現し、障害復旧時間の短縮を図る。【選択図】　図３
2004038518.tif 000002
【特許請求の範囲】
【請求項１】
分散オブジェクト環境のプログラムを使用したシステムにおけるオブジェクト障害回復方法において、上記オブジェクトの状態を監視し、一意のステータス情報を持つようなシステムでも、ホットスタンバイで待機すること可能として障害発生時に速やかに系切り替えを行うことを特徴とするオブジェクト障害回復方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分散オブジェクト環境のプログラムを使用したシステムでオブジェクト単位に障害を復旧する方法に関するもので、トランザクション制御処理など、一意のステータス情報もつプロセスあるいはオブジェクトで構成されるシステムに利用できる障害復旧方法である。
【０００２】
【従来の技術】
分散オブジェクト環境のプログラムを使用したシステムでは従来、高可用性を実現するため、プロセスの二重化及びオブジェクトの二重化を行う方法をとっているが、トランザクション制御処理など、プロセスあるいはオブジェクトが一意のステータス情報を持つようなシステムでは、そのステータス情報を引き継ぐ必要があるため、プロセス監視装置を使用して監視対象プロセスの状態を監視し、障害発生時には、プロセス監視装置に該当プロセスを自動的に再開始させる方法をとっている。
【０００３】
図１は従来技術による障害復旧方法の一実施例である。プロセス監視装置１０１は、監視対象プロセス１０２を監視しており、障害が起こっていないか定期的に監視している。監視対象プロセス１０２でプロセスダウンなどの障害が発生した場合、プロセス監視装置１０１はその障害を検知し、自動的に監視対象プロセス’１０３を再起動させる。
【０００４】
【発明が解決しようとする課題】
上記従来技術であるプロセスを自動再開始させる方法は、システムの初期化処理および業務処理に時間を要する点に配慮されておらず、リクエストを受け付け可能なオンライン状態になるまでに時間がかかるため、リクエストが受け付けられない空白の時間が少なからず生まれる問題があった。
【０００５】
本発明は、システムの障害復旧時間の短縮を目的としており、オブジェクト単位に障害を復旧する手段を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、上記目的を達成するために、分散オブジェクト環境のプログラムを使用したシステム上におけるすべてのオブジェクトの状態を監視するオブジェクト監視装置を設け、一意のステータス情報を持つようなシステムでも、ホットスタンバイで待機すること可能とし、障害発生時に速やかに系切り替えを行い、業務サービスを継続敵に提供する方法を提案する。
【０００７】
【発明の実施の形態】
以下、本発明の一実施例について図面で説明する。
図２はオブジェクト監視装置を使用したシステムの一実施例である。クライアント２０５がオブジェクト１（２０８）へのリクエストを発行すると、リクエストを振り分けるネームサービス２０１に、オブジェクト１（２０８）の位置を確認する。ネームサービス２０１は、オブジェクト監視装置２０２にオブジェクト１（２０８）の状態を確認する。ここで、オブジェクト監視装置２０２はネームサービス２０１に含まれていても良いし、別プロセスであっても構わない。オブジェクト監視装置２０２は、オブジェクト状態管理テーブル２０４を検索し、オブジェクト１（２０８）の状態がａｃｔｉｖｅかどうか確認し、ａｃｔｉｖｅ状態ならばそのオブジェクト識別子を返す。ネームサービス２０１はオブジェクト監視装置２０２から返されたオブジェクト識別子を用いて、クライアントにオブジェクトの位置情報を返す。クライアントはその情報を用いて、該当オブジェクトにリクエストを行う。
【０００８】
図３はオブジェクト監視装置を使用した障害復旧方法を示す図である。オブジェクト監視装置３０３は、ネームサービス３０１のオブジェクト位置情報３０２を使用して、定期的にａｃｔｉｖｅ状態のオブジェクトの生存確認を行う。ここで、オブジェクト１（３０８）の障害を検知した場合、オブジェクト監視装置３０３のオブジェクト管理テーブル３０４を検索して、ｈｏｌｄ状態の代替オブジェクト１’（３１２）を活性化し、オブジェクト状態管理テーブル３０４内の状態をａｃｔｉｖｅ状態に変更する。また、オブジェクト状態管理テーブル３０４内で障害のあったオブジェクト１（３０８）の状態をｄｅａｄに変更しておく。
【０００９】
図２と同様に、クライアント３０５がオブジェクト１（３０８）へのリクエストを発行すると、リクエストを振り分けるネームサービス３０１に、オブジェクト１（３０８）の位置を確認する。ネームサービス３０１は、オブジェクト監視装置３０３にオブジェクト１（３０８）の状態を確認する。オブジェクト監視装置３０３は、オブジェクト状態管理テーブル３０４を検索し、オブジェクト１（３０８）の状態を確認したところ、ｄｅａｄ状態であったため、オブジェクト状態管理テーブル３０４内の代替オブジェクトを検索する。オブジェクト状態管理テーブル３０４には、ａｃｔｉｖｅ状態のオブジェクト１’（３１２）が存在するため、そのオブジェクト識別子をネームサービス３０１に返す。ネームサービス３０１はオブジェクト監視装置３０３から返されたオブジェクト識別子を用いて、クライアント３０５にオブジェクト１’（３１２）の位置情報を返す。クライアント３０５はその情報を用いて、該当オブジェクト３１２にリクエストを行う。
【００１０】
図４は、オブジェクト監視装置が持つオブジェクト状態管理テーブルを示す図である。このテーブルは、ユーザがオブジェクトの名前として指定したオブジェクト名、すべてのオブジェクトの中から一意に識別可能なオブジェクト識別子、オブジェクトの状態から構成される。
【００１１】
図５は、オブジェクト監視装置が、オブジェクト状態確認リクエストを、ネームサービスから受け取った際の手順を示すフローチャートである。
【００１２】
図６は、オブジェクト監視装置が、オブジェクトの状態を監視する手順を示すフローチャートである。
【００１３】
図７は、分散オブジェクト環境で、ユーザが作成するプログラムの処理手順を示す図である。ユーザがオブジェクトの活性化を行うと、その延長でネームサービスにそのオブジェクトが登録される。その際に一意のオブジェクト識別子が割り当てられる。そして、そのオブジェクトがホットスタンバイ状態で待つオブジェクトかどうかを、ユーザが定義する定義ファイルを検索し、その定義に従って、オブジェクト状態監視装置内のオブジェクト状態管理テーブルにそのオブジェクトが登録される。
【００１４】
図８は、ユーザがオブジェクトをホットスタンバイで待たせるかどうかを定義する定義ファイルの一実施例を示す図である。定義ファイルでは起動するオブジェクト名とオブジェクトの起動状態を定義する。
【００１５】
以上説明したように、本発明によれば、オブジェクト監視装置を設けオブジェクトの状態を監視することにより、一意のステータス情報を持つプロセス、オブジェクトで構成されるシステムでも、時間のかかることが多いシステムの初期化終了後、リクエストの受け付けを開始する直前で待機することが可能となり、障害発生時の復旧時間の短縮を計ることができ、業務サービスの継続的な提供が可能となる効果がある。
【００１６】
【発明の効果】
本発明によれば、業務サービスの継続的な提供が可能となる効果がある。
【図面の簡単な説明】
【図１】従来技術による分散オブジェクト環境のプログラムで構成されるシステムの障害復旧手段の一実施例を示す図である。
【図２】本発明によるオブジェクト単位でホットスタンバイを行うシステムの一実施例を示す図である。
【図３】本発明による障害復旧方法の一実施例を示す図である。
【図４】オブジェクト監視装置が持つオブジェクト状態管理テーブルを示す図である。
【図５】オブジェクト監視装置がオブジェクトの状態確認リクエストを受け取った際の手順を示すフローチャートである。
【図６】オブジェクト監視装置が、オブジェクトの状態を監視する手順を示すフローチャートである。
【図７】ユーザがオブジェクト監視装置にホットスタンバイ状態でオブジェクトを登録する方法を示す図である。
【図８】ユーザがオブジェクト起動後の状態を定義する定義ファイルの一実施例を示す図である。
【符号の説明】
１０１…従来技術のプロセス監視装置
１０２…プロセス監視装置により監視される監視対象プロセス
１０３…プロセス監視装置により再起動された監視対象プロセス
２０１…分散オブジェクト環境において、クライアントからのリクエストを振り分けるネームサービス
２０２…本発明によるオブジェクト監視装置
２０３…ネームサービスが持っているオブジェクト位置情報
２０４…オブジェクト監視装置が管理しているオブジェクトの状態を格納するオブジェクト状態管理テーブル
２０５…分散オブジェクト環境でのクライアントプログラム
２０６…分散オブジェクト環境でのサーバプログラム
２１０…分散オブジェクト環境でのサーバプログラム
３０１…分散オブジェクト環境において、クライアントからのリクエストを振り分けるネームサービス
３０２…ネームサービスが持っているオブジェクト位置情報
３０３…本発明によるオブジェクト監視装置
３０４…オブジェクト監視装置が管理しているオブジェクトの状態を格納するオブジェクト状態管理テーブル
３０５…分散オブジェクト環境でのクライアントプログラム
３０６…分散オブジェクト環境でのサーバプログラム
３０８…分散オブジェクト環境での障害の発生したオブジェクト
３１１…分散オブジェクト環境でのサーバプログラム
【図１】
2004038518.tif 000003
【図２】
2004038518.tif 000004
【図３】
2004038518.tif 000005
【図４】
2004038518.tif 000006
【図５】
2004038518.tif 000007
【図６】
2004038518.tif 000008
【図７】
2004038518.tif 000009
【図８】
2004038518.tif 000010