(57)【特許請求の範囲】
【請求項１】
サービスを提供するサーバ装置と、上記サーバ装置と通信網を介して接続されるクライアント装置とを備える処理要求復旧システムにおいて、
上記クライアント装置は、
上記サーバ装置から提供されたサービスに対して所定の処理を行う処理要求部と、
上記処理要求部が行った処理の操作ログを記憶する操作ログ部と、
上記処理要求部がサービスに対して行った処理の操作ログを上記操作ログ部に記憶する情報保持部と
を備え、
上記サーバ装置は、
上記サービスの中断をサービスの提供中に選択させる処理中断選択画面を有するサービスを上記クライアント装置に提供するサービス提供部と、
上記操作ログを記憶する操作ログ格納部と、
上記操作ログを上記操作ログ格納部に記憶するサスペンド機能部と、
上記操作ログ格納部に記憶された操作ログを読み出し、読み出した操作ログを用いてサービスを再現するサスペンド復旧部と
を備え、
上記クライアント装置の処理要求部は、
上記サービス提供部によりサービスが提供されている間、当該サービスが有する処理中断選択画面を表示してサービスの中断をユーザに選択させ、サービスが提供されている間にサービスを中断することを表す処理中断指示を入力し、
上記サーバ装置のサービス提供部は、
上記クライアント装置の上記処理要求部により入力された上記処理中断指示を上記クライアント装置から上記通信網を介して入力し、上記処理中断指示を入力したことにより上記クライアント装置に対するサービスの提供を中断し、上記クライアント装置へ上記操作ログの送信を指示し、
上記クライアント装置の処理要求部は、
上記サービス提供部により上記操作ログの送信を指示された場合、上記操作ログ部に記憶された操作ログを読み出して、読み出した操作ログを上記サーバ装置へ送信し、
上記サーバ装置のサスペンド機能部は、
上記処理要求部により送信された操作ログを上記操作ログ格納部に記憶し、
上記クライアント装置の処理要求部は、
中断したサービスを再開することを要求する処理復旧要求を上記サーバ装置へ送信し、
上記サーバ装置のサスペンド復旧部は、
上記処理要求部により上記処理復旧要求が送信された場合、上記操作ログ格納部に記憶された操作ログを読み出し、読み出した操作ログを用いて中断するまでのサービスを再現し、
上記サーバ装置のサービス提供部は、
上記サスペンド復旧部により上記中断するまでのサービスが再現された場合、中断されたサービス以降のサービスを上記クライアント装置に提供する
ことを特徴とする処理要求復旧システム。
【請求項２】
上記クライアント装置の処理要求部は、上記所定の処理として、上記サーバ装置から提供されたサービスに対してパラメータの入力を行い、
上記クライアント装置の情報保持部は、上記処理要求部が入力したパラメータを上記操作ログとして上記操作ログ部に記憶する
ことを特徴とする請求項１記載の処理要求復旧システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
データベースサーバや、Ｗｅｂサーバに障害が発生し、処理の継続が困難になった際に処理中の状態を保存することにより、早期に処理を継続するための処理要求復旧方式及び方法に関する。
【０００２】
【従来の技術】
図１２は、従来例１として、特開２０００−２０３６９「データベース管理システム及びデータベース管理方法」に表されているデータベース管理システムの一例を示す図である。
このデータベース管理システムは、データベースの障害が発生した際に、１日単位などでバックアップされたバックアップデータに対し、バックアップ以降にサーバ上で実行された確定したトランザクションをＳＱＬ文に変換して保持しているサーバトランザクションログと、クライアントが実行し確定したトランザクションをＳＱＬ文に変換してクライアントが保持するクライアントトランザクションログを収集し、反映させることによりデータベースを復旧する方式である。
【０００３】
図１３は、従来例２として、特開平６−１９５２５０「データベースを更新するための方法、システム及び装置」に表されているデータベースを更新するためのシステムの一例を示す図である。
バックアップデータベースを連続的に維持するために、主データベースに対し発生した処理に対するｒｅｄｏレコードを生成し、複製データベースに対し順次適用することにより、複製データベースと主データベースの同期をとり、主データベースに障害が発生した際にもバックアップデータベースを利用してサービスを続行する方式である。
【０００４】
【発明が解決しようとする課題】
従来例１では、インターネットなどの広域網に接続された不特定他数の機器が接続された状況では、クライアントからログを収集することは非常に困難であるという問題があった。
また、新たなトランザクションの発生を止めて復旧処理を行なうため、その間はサービスを停止することになるという問題があった。
従来例２では、複製データベースにｒｅｄｏログを転送し、複製側がｒｅｄｏログを完全に受信するまで、新たなトランザクションのコミット処理を行なわない同期型の場合には回線の容量により、サービスが一定時間に処理可能なトランザクション数に制限を受けてしまうという問題があり、ｒｅｄｏログを完全に受信するまで待たない非同期型の場合には、主データベースシステムに異常が発生した際に、本来なら主データベース側でコミットされているトランザクションが複製側に反映されない可能性があるという問題がある。
また、従来例１及び２ともに、確定されたトランザクションの保証を行なうのみで、ユーザが未確定で処理中の操作は保全されないし、確定したトランザクションもデータベースサーバ側が確定を受領したものに限られ、データベースサーバに障害が発生した際に、ユーザが自らのトランザクションが確定しているかどうかを再度確認する必要があると言う問題がある。
【０００５】
この発明は、インターネット等の広域網で発生した障害からの復旧を容易にすることを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係る処理要求復旧方式は、サービスを提供するサーバ装置と、通信網を介して上記サーバ装置に処理を要求するクライアント装置とを備える処理要求復旧方式において、
上記クライアント装置は、
上記サーバ装置へ処理要求を発生させる処理要求部と、
上記処理要求部が発生させた処理要求を保持することを指示する情報保持部と、
上記情報保持部が保持することを指示した処理要求を保持する操作ログ部と
を備え、
上記サーバ装置は、
上記処理要求部から要求された処理を実行して上記クライアント装置へサービスを提供するサービス提供部と、
上記クライアント装置が操作ログ部に保持された処理要求を読み込み、読み込んだ処理要求に従い上記サービス提供部に処理要求を実行させる処理継続機能部と
を備えることを特徴とする。
【０００７】
上記通信網は、複数のサーバ装置を接続し、
上記クライアント装置の処理要求部は、一のサーバ装置と通信中に、上記一のサーバ装置に障害が発生した場合、他のサーバ装置と接続し、接続したサーバ装置の処理継続機能部へ操作ログ部に保持する処理要求を読み出すことを指示することを特徴とする。
【０００８】
上記処理要求部は、上記サーバ装置へ上記情報を特定する情報識別子を指定して処理を要求し、
上記操作ログ部は、上記情報識別子と対応づけて、処理要求部が操作した処理要求を格納することを特徴とする。
【０００９】
上記サーバ装置のサービス提供部は、上記クライアント装置の処理要求部が操作中の処理の中断を選択する処理中断選択画面を有し、上記処理中断選択画面を上記クライアント装置へ表示して、クライアント装置の上記処理要求部へ処理中断指示の入力を促し、上記処理中断指示の入力を受け付け、
上記サーバ装置は、さらに、
上記処理中断指示を入力し、入力した処理中断指示に基づいて、上記クライアント装置の操作ログ部に保持されている処理要求を読み出すサスペンド機能部と、
上記サスペンド機能部が読み出した処理要求を、上記クライアント装置を識別するクライアント識別子と対応づけて格納する操作ログ格納部と、
処理の復旧を要求する処理復旧要求を入力し、入力した処理復旧要求に基づいて、上記操作ログ格納部から処理要求を読み出し、読み出した処理要求を実行して、処理を中断した時点の処理要求までを再現するサスペンド復旧部とを備え、
上記クライアント装置の処理要求部は、上記処理復旧要求を上記サーバ装置へ送信することを特徴とする。
【００１０】
上記サービス提供部は、障害の発生を検出した場合に、上記処理中断選択画面を上記クライアント装置へ表示して、クライアント装置の上記処理要求部へ処理中断指示の入力を促し、上記処理中断指示の入力を受け付け、上記障害が復旧した後、上記クライアント装置の接続を検出し、上記クライアント装置へ中断した処理を再開するかを問合せ、中断した処理を再開する場合は、上記サスペンド復旧部へ処理の再現を指示することを特徴とする。
【００１１】
上記通信網は、さらに、上記サーバ装置がサービスを提供するための情報を格納するデータベースを備え、
上記サービス提供部は、障害が発生した場合に、上記クライアント装置へ、障害が復旧した場合に、実行中の処理の実行結果を上記データベースへ格納するかを問合せ、実行中の処理の実行結果をデータベースへ格納する場合は、上記クライアント装置の操作ログ部の処理要求を読み出すことを、上記サスペンド機能部へ指示し、
上記サスペンド機能部は、上記クライアント装置の操作ログ部から処理要求を読み出し、読み出した処理要求を上記操作ログ格納部へ格納し、
上記サーバ装置は、さらに、障害が復旧した場合に、上記操作ログ格納部から格納された処理要求を読み出し、読み出した処理要求を上記サービス提供部に実行させ、実行結果をデータベースへ格納する処理継続復旧部を備えることを特徴とする。
【００１２】
上記処理継続復旧部は、上記クライアント装置が上記サーバ装置と接続していない場合は、処理要求の実行結果をデータベースへ格納したことを通知することを特徴とする。
【００１３】
上記通信網は、さらに、上記サーバ装置がサービスを提供するための情報を格納する第一のデータベースと、
上記第一のデータベースに障害が発生した場合に用いる第二のデータベースとを備え、
上記サーバ装置は、さらに、上記第一のデータベースに障害が発生した場合に、上記第二のデータベースに切り替えるとともに、上記クライアント装置の操作ログ部から処理要求を読み出し、読み出した処理要求の実行結果が第二のデータベースに格納されているかを確認し、確認した結果に基づいて、上記処理要求の実行結果を上記第二のデータベースに格納するデータベースチェック部を備えることを特徴とする。
【００１４】
上記サーバ装置は、クライアント装置が接続する第一のサーバ装置と、上記第一のサーバ装置に障害が発生した場合にクライアント装置が接続する第二のサーバ装置とを有し、
上記処理要求復旧方式は、さらに、上記第一のサーバ装置がサービスを提供するための情報を格納する第一のデータベースと、
上記第一のデータベースに格納される情報を所定のタイミングで複製して格納するとともに、上記第二のサーバ装置がサービスを提供するための情報を格納する第二のデータベースとを備え、
上記第二のサーバ装置は、クライアント装置と接続した場合に、上記クライアント装置の操作ログ部から処理要求を読み出し、読み出した処理要求の実行結果が第二のデータベースに格納されているかを確認し、確認した結果に基づいて、上記処理要求の実行結果を上記第二のデータベースに格納するデータベースチェック部を備えることを特徴とする。
【００１５】
上記通信網は、インターネットであり、
上記クライアント装置は、インターネットにアクセスする機器であり、
上記サーバ装置は、ワールド・ワイド・ウェブサーバであることを特徴とする。
【００１６】
この発明に係る処理要求復旧方法は、サービスを提供するサーバ装置と、通信網を介して上記サーバ装置に処理を要求するクライアント装置とを備える処理要求復旧方法において、
上記クライアント装置は、
上記サーバ装置へ処理を要求し、
要求した処理要求を保持し、
上記サーバ装置は、
上記クライアント装置からの要求を処理してサービスを提供し、
サービスを提供中に処理が中断した場合に、上記クライアント装置が保持する処理要求を読み込み、読み込んだ処理要求に従い処理要求を実行すて処理を継続することを特徴とする。
【００１７】
この発明に係るクライアント装置は、通信網を介してサービスを提供するサーバ装置に処理を要求するクライアント装置において、
上記サーバ装置へ処理要求発生させる処理要求部と、
上記処理要求部が発生させた処理要求を保持することを指示する情報保持部と、
上記情報保持部が保持することを指示した処理要求を保持する操作ログ部と
を備え、
上記処理要求部は、サーバ装置に障害が発生し、サービスの提供が中断した場合、サーバ装置に対して、上記操作ログ部に保持する処理要求を用いて操作した処理要求を復旧することを指示することを特徴とする。
【００１８】
この発明に係るサーバ装置は、クライアント装置から通信網を介して接続されるサーバ装置において、
サービスを提供するサービス提供部と、
上記クライアント装置へサービスの提供中にサービスの提供が中断した場合、サービスを中断する前に要求した処理要求をクライアント装置から入力し、入力した処理要求に従い処理要求を実行して中断したサービスの提供を復旧する処理継続機能部とを備えることを特徴とする。
【００１９】
【発明の実施の形態】
実施の形態１．
以下の説明では、通信網としてインターネットを一例として説明するが、インターネットに限られるわけではなく、その他の通信プロトコルを用いてもよい。
図１は、この発明の基本構成の一例を示す処理要求復旧方式の構成図である。
図において、１−１〜１−ｎはネットワークに接続されたインターネットアクセス機器（クライアント装置）である。２はインターネット網やイントラネット網等の通信網である。３−１〜３−ｍはサービスを提供するＷｅｂサーバ（サーバ装置）である。４はデータベースサーバである。インターネットアクセス機器１−１〜１−ｎは、Ｗｅｂサーバ３−１〜３−ｍへサービス（処理）を要求するクライアント装置であり、Ｗｅｂサーバ３−１〜３−ｍは、クライアント装置へ要求されたサービスを提供するサーバ装置であるといえる。
１−１−１〜１−ｎ−１は、インターネットアクセス機器がサービスを受けるためのブラウザ（「Ｗｅｂブラウザ」ともいう）（処理要求部）であり、１−１−２〜１−ｎ−２は、処理内容を保持する情報保持部であり、１−１−３〜１−ｎ−３は、情報保持部が保持する操作ログ（操作ログ部）である。
【００２０】
ブラウザ（Ｗｅｂブラウザ）は、処理要求部の一例である。
情報保持部は、操作ログとして保持する情報を選択し、選択した情報を操作ログとして操作ログ部（図示していない）に保持する。操作ログ部は、情報保持部がアクセスする記憶領域である。操作ログ部が格納する操作ログは、Ｗｅｂサーバに届いているか否かは問わない。処理要求部が処理要求を送信し、情報保持部が送信された処理要求を操作ログとして保持すると判断した場合に、操作ログは、操作ログ部へ格納される。
【００２１】
３−１−１〜３−ｍ−１は、データベースを操作しながらサービスを提供するサービス提供プログラム（サービス提供部）であり、３−１−２〜３−ｍ−２は、処理の復旧を行なう処理継続機能部であり、４−１は、データベースサーバ上のデータベースマネージメントプログラム（ＤＢＭＳ）である。
【００２２】
図２は、この発明においてインターネットアクセス機器内の情報処理保持部が保持する処理内容の保持の１構成例を示したものである。
この例では、ブラウザで情報保持を行なうために広く用いられているＣｏｋｉｅを用いており、Ｃｏｋｉｅ処理部が、情報保持部（１−１−２〜１−ｎ−２）に相当する。Ｃｏｋｉｅ保存ファイルが操作ログ（１−１−３〜１−ｎ−３）に相当する。
【００２３】
図３は、この発明においてインターネットアクセス機器内の情報処理保持部が保持するログを読み出して処理を復旧させる構成例を示したものである。
【００２４】
次に、動作について説明する。
図１において、ブラウザ（１−１−１）より、Ｗｅｂサーバのサービス提供プログラム（３−１−１）に対し、処理要求が行なわれ、サービス提供プログラム（３−１−１）は、処理要求内容に従い、データベースサーバ上のＤＢＭＳ（４−１）に対して操作を行なう。この間、処理内容（処理要求）を情報保持部（１−１−２）が操作ログに保存する。
この流れを図２で説明すると、ユーザ指示によりインターネットアクセス機器（１−１）上のＷｅｂブラウザ（１−１−１）からＷｅｂサーバに対し、認証用の操作を行ない（ａ）、処理メニューの選択を行ない（ｂ）、例えば、処理Ａを選択すると、処理Ａ用のページにアクセスを行ない（ｃ）、ここで処理Ａに必要な入力パラメータをユーザがＷｅｂブラウザ上で行なう。
【００２５】
この入力パラメータと処理要求時刻をＣｏｋｉｅ処理部がＣｏｋｉｅ保存ファイルに保持するようＷｅｂサーバ上のサービス提供プログラムが指示し、保存される（ｄ）。以降、同様に処理Ａに必要な入力を順次行ない、最終的に処理Ａを完了させる（ｅ〜ｈ）。サービス提供プログラムは、確定した内容をデータベースに反映したことをブラウザに伝える画面を表示する（ｉ）とともに、Ｃｏｋｉｅに処理Ａが確定した旨のログを記録指示し、ログに処理Ａが確定したことを示す確定確認コード、時刻、データベースへの反映時のトランザクションＩＤが保存される（ｊ）。
【００２６】
次に、処理Ｂを開始し（ｋ〜ｌ）、パラメータの入力処理を行なっている（ｍ〜ｎ）所で、Ｗｅｂサーバ（３−１）に障害が発生し、接続先のサーバが別のＷｅｂサーバ（３−ｍ）に切り替わった時の処理復旧を説明する。
この流れを図３で説明すると、Ｗｅｂサーバが切り替わるため、Ｗｅｂブラウザが再接続を要求し認証を行なう（ａ）と、Ｗｅｂサーバ上のサービス提供プログラム（３−ｎ−１）は、新たなセッションが開始されたと認識し、Ｗｅｂブラウザに対して、保存されているＣｏｋｉｅの読み出しを要求し（ｂ）、これを受けたＣｏｋｉｅ処理部は、要求されたＣｏｋｉｅをサービス提供プログラム（３−ｎ−１）に送信し（ｃ〜ｄ）、サービス提供プログラム（３−ｎ−１）は、処理継続機能部（３−ｎ−２）に受信したＣｏｋｉｅデータを渡す。
【００２７】
処理継続機能部（３−ｎ−２）は、受けとったＣｏｋｉｅデータの各レコードの時刻の新しいものから順に、処理の確定確認コードを検索し、この例では、処理Ａの確定確認コードを持つレコードを見つける。そのレコード内のトランザクションＩＤを読み出し、データベースにそのトランザクションＩＤが処理済みかを問い合わせる（ｅ）。この例では、データベースに異常がなかったので、トランザクションＩＤは処理済みになっており、その旨が回答される。これを受けて次に、読み出したレコード以降のＣｏｋｉｅレコードを順に読み出し、処理Ｂの開始コードを読んで、サービス提供プログラムに対して、処理Ｂの開始を伝える。サービス提供プログラム（３−ｎ−１）は、Ｗｅｂブラウザに対して、処理復旧中の表示があるページを送信し（ｆ）、Ｗｅｂブラウザが表示する。
【００２８】
処理継続機能部（３−ｎ−２）は、次のＣｏｋｉｅレコードを読み、処理Ｂに対する入力パラメータ（１）をサービス提供プログラム（３−ｎ−１）に渡し、サービス提供プログラム（３−ｎ−１）は、データベースアクセスを含む対応する処理を行なう。処理継続機能部（３−ｎ−２）は、次のＣｏｋｉｅレコードを読もうとするが、レコードがないため、サービス提供プログラム（３−ｎ−１）に対して、復旧処理が終了した旨を伝える。サービス提供プログラム（３−ｎ−１）は、処理Ｂの以降の処理表示ページをＷｅｂブラウザに送信する。Ｗｅｂブラウザは、処理が中断した直後の状態から入力を再開することが可能となる。
【００２９】
このようにして、ユーザが操作するインターネットアクセス機器上に処理内容を保存することにより、Ｗｅｂサーバの障害が発生したり、インターネットアクセス機器が異常停止した場合でも、中断された処理を再開可能としている。
【００３０】
以上のように、この実施の形態では、インターネットやイントラネットなどの広域網に接続されたパソコンなどのインターネットアクセス機器より利用可能な電子商取り引きシステムなどにおいて、取り引きデータ等を保持するデータベースサーバを持ち、インターネットアクセス機器と通信を行なう複数のＷｅｂサーバを持ち、Ｗｅｂサーバに対して要求した処理内容を保持する情報保持部を持つインターネットアクセス機器からＷｅｂサーバに処理要求を行なっている最中にＷｅｂサーバに障害が発生した際に、代替のＷｅｂサーバ上でインターネットアクセス機器が保持する処理内容を読み出す処理継続機能部を持ち、読み出した処理内容に従い再度処理を行ない、障害が発生した時点まで自動的に再処理を行なえることを特徴とした処理要求復旧方式を説明した。
【００３１】
また、この処理要求復旧方式は、Ｗｅｂサーバ側での処理が判るようにＵＲＬと対応付けて、処理の際に入力したパラメータなどと、処理中の表示／入力ページのＵＲＬの移動情報などをまとめて保持し、処理を継続する際に実際にインターネットアクセス機器から行なわれた手順をなぞって再処理することを特徴とする。
【００３２】
実施の形態２．
図４において、３−１−３は、操作ログをＷｅｂサーバに保存するサスペンド機能部であり、３−１−４−１〜３−１−４−ｏは、接続ユーザＩＤ別の操作ログである。接続ユーザＩＤ別の操作ログは、記憶領域である操作ログ格納部（図示していない）に格納されている。３−１−５は、中断された処理を再開するサスペンド復旧部であり、他は、図１と同様である。
【００３３】
次に、動作について説明する。
サービス提供プログラム（３−１−１）は、Ｗｅｂブラウザから処理要求をされた際に、常にサスペンドのメニューを入れたページ（処理中断選択画面）を送信する（ａ）。ユーザがサスペンドのメニューを選ぶと、サービス提供プログラム（３−１−１）は、操作ログの読み出しを指示し、Ｗｅｂブラウザは操作ログをサービス提供プログラム（３−１−１）に送信し（ｂ）、処理を中断する。サービス提供プログラム（３−１−１）は、ユーザＩＤと受信した操作ログをサスペンド機能部（３−１−３）に渡し、サスペンド機能部（３−１−３）は、ユーザＩＤ別の操作ログに保存する（ｃ）。
【００３４】
次に、ユーザが処理を再開しようとした時には、Ｗｅｂブラウザでサービス提供プログラム（３−１−１）にアクセスする。サービス提供プログラム（３−１−１）は、新しいセッションと認識し、認証を行ない、次に認証に使用されたユーザＩＤをサスペンド復旧部（３−１−５）に渡す。サスペンド復旧部（３−１−５）は、ユーザＩＤに対応する操作ログが保存してあるかをチェックし、保存されていた場合には、サービス提供プログラム（３−１−１）に保存ログが存在することを伝える。サービス提供プログラム（３−１−１）は、中断されている処理を再開するかの問い合わせをＷｅｂブラウザに対して行なう（ｄ）。ユーザが再開しないを選択した場合には、サービス提供プログラム（３−１−１）は、サスペンド復旧部（３−１−５）に対して、再開しない旨を伝え、サスペンド復旧部は、ユーザＩＤに対応する操作ログを削除する。ユーザが再開するを選択した場合には、サービス提供プログラムは、再開する旨をサスペンド復旧部に対して再開する旨を伝え、Ｗｅｂブラウザに対して、中断処理の復旧中の表示があるページを送信し、Ｗｅｂブラウザが表示する。サスペンド復旧部（３−１−５）は、対応する操作ログを読み出し（ｅ）、実施の形態１と同様に、中断されたところまで再処理を行ない、処理が終るとその旨を伝え、サービス提供プログラム（３−１−１）は、中断時点以降の処理表示ページをブラウザに送信し、Ｗｅｂブラウザは、処理が中断した直後の状態から入力を再開することが可能となる。
【００３５】
このようにして、ユーザの要望により、入力処理の中断と再開が任意に行なえ、ユーザは処理の手順を最初からやり直す必要がなく、時間を節約できる。
【００３６】
以上のように、この実施の形態の処理要求復旧方式は、インターネットアクセス機器を利用するユーザが任意の時点で処理を中断するためのメニューを常に表示し、中断のメニューが選択された場合に、インターネットアクセス機器が保持する処理内容を読み出してＷｅｂサーバに保存するサスペンド機能部を持ち、インターネットアクセス機器からの再接続があった際に、以前の処理を再開するかをユーザに問い合わせ、再開する場合に保存してあった処理内容に従い、再度処理を実施し、中断した時点まで自動的に再処理を行なうサスペンド復旧部を備えることを特徴とする。
【００３７】
実施の形態３．
図５において、各番号の構成要素は、実施の形態２と同様である。
【００３８】
次に、動作について説明するが、基本的な動作は実施の形態２と同様であり、異なる部分を説明する。
Ｗｅｂブラウザからの処理要求に対してサービス提供プログラム（３−１−１）が処理中にデータベースの異常を検知（ａ）した際に、サービス提供プログラム（３−１−１）は、Ｗｅｂブラウザに対して、処理をサスペンドして保存するかを問い合わる（ｂ）。保存しない場合は、直ちに処理を中断し、保存する場合には、サービス提供プログラム（３−１−１）の指示によりインターネットアクセス機器（１−１）に保持してある操作ログ（１−１−３）をサービス提供プログラムが読み出し（ｃ）、これをサスペンド機能部にユーザＩＤとともに渡し、サスペンド機能部（３−１−３）は、ユーザＩＤ別の操作ログに保存し（ｄ）、サービス提供プログラムは処理を中断し、セッションを終了する。
次に、ユーザが処理を再開しようとした時には、実施の形態２と同様に処理される。
【００３９】
このようにして、サービス継続に必要なデータベースシステムに異常が発生した際に、中断処理を行なえ、ユーザは処理の手順を最初からやり直す必要がなく、時間を節約できる。
【００４０】
以上のように、この実施の形態の処理要求復旧方式は、データベースサーバに障害が発生した際に、インターネットアクセス機器に対し、処理をサスペンドして保存するかを問い合わせ、ユーザが保存を選択した場合に、インターネットアクセス機器が保持する処理内容を読み出してＷｅｂサーバに保存する処理中断機能部を持ち、データベースサーバが復旧した後に、インターネットアクセス機器からの再接続があった際に、以前の処理を再開するかを問い合わせて、ユーザが再開を選択した場合に、Ｗｅｂサーバに保存されていた処理内容に従い、再度処理を実施し、中断した時点まで自動的に再処理を行なうサスペンド復旧部を備えることを特徴とする。
【００４１】
実施の形態４．
図６において、３−１−６−１は、自動復旧に使用する操作ログである。３−１−７は、自動復旧処理を行なう処理継続復旧部である。他は、実施の形態２と同様である。
【００４２】
次に、動作について説明するが、基本的な動作は実施の形態２と同様であり、異なる部分を説明する。
Ｗｅｂブラウザからの処理要求に対してサービス提供プログラム（３−１−１）が処理中にデータベースの異常を検知（ａ）した際に、サービス提供プログラム（３−１−１）は、Ｗｅｂブラウザに対して、処理をサスペンドするか保存するかを問い合わせる（ｂ）。サスペンドするか保存しない場合は、直ちに処理を中断し、保存する場合には、実施の形態３と同様に処理を行ない、サスペンドしない場合には、処理を継続する。ただし、データベースアクセスが行なえない状態のため、サービス提供プログラム（３−１−１）は、処理条件を無視するフラグを設定する。サービス提供プログラム（３−１−１）は、処理条件無視の場合、例えば、在庫引当で在庫量をデータベースで確認する必要がある場合に、無条件に引当を行なえるようにして処理を進める。処理を進めて、ユーザが最後に処理の確定を指示した際に、サービス提供プログラム（３−１−１）は、Ｗｅｂブラウザに操作ログの読み出しを指示し、操作ログを受信し（ｃ）、これをユーザＩＤとともにサスペンド機能部（３−１−３）に渡し、サスペンド機能部（３−１−３）は、自動復旧用のユーザＩＤ別操作ログにこれを保持する（ｄ）。
【００４３】
サービス提供プログラム（３−１−１）が、データベースの復旧を検知する（ａ）と、サスペンド復旧部（３−１−５）に対して、自動復旧の指示を出し、サスペンド復旧部（３−１−５）は、自動復旧用のユーザＩＤ別操作ログを順次読み出し（ｆ）、サービス提供プログラム（３−１−１）に処理内容を通知し、サービス提供プログラム（３−１−１）は、データベースにアクセスしながら処理を進め、確定させる。先ほどの例のような条件付きの処理のチェックも行ない、チェックに引っかかった場合には、処理条件違反として、対応するユーザＩＤの復旧処理を停止し、これを記録しておき、対応するユーザが再接続した際に、復旧処理に失敗した旨を通知する。
【００４４】
このようにして、サービス継続に必要なデータベースシステムに異常が発生した際にも、ユーザ処理を進めることができ、ベストエフォート型のサービスを提供することができ、ユーザビリティが向上する。
【００４５】
以上のように、この実施の形態の処理要求復旧方式は、データベースサーバに障害が発生した際に、インターネットアクセス機器に対し、システムに障害が発生した旨を伝え、データベース復旧後に反映予定という条件で処理を続けるかを問い合わせ、ユーザが処理継続を選択した場合に、インターネットアクセス機器が保持する未確定の処理内容を読み出してＷｅｂサーバに保存し、継続された処理内容を全て保存する処理継続機能部を持ち、データベースサーバが復旧した後に、Ｗｅｂサーバに保存されていた処理内容に従い、再度処理を実施し、保存されていた処理を全てデータベースに自動的に反映させる再処理を行なう処理継続復旧部を備えることを特徴とする。
【００４６】
実施の形態５．
図７において、５はメールサーバであり、他は、実施の形態４と同様である。
【００４７】
次に、動作について説明する。基本的に実施の形態４と同様であるので、異なる部分のみ説明する。
サービス提供プログラム（３−１−１）が、データベースの復旧を検知する（ａ）と、サスペンド復旧部（３−１−５）に対して、自動復旧の指示を出し、サスペンド復旧部（３−１−５）は、自動復旧用のユーザＩＤ別操作ログを順次読み出し（ｆ）、サービス提供プログラムに処理内容を通知する。サービス提供プログラム（３−１−１）は、データベースにアクセスしながら処理を進め、確定させ、処理条件違反があった場合には、対応するユーザＩＤの復旧処理を停止し、直ちに対応するユーザに対し、自動復旧内容と処理条件違反が発生した旨をメールする（ｈ）。処理条件違反がなかった場合にも、自動復旧内容と正常終了した旨をメールする（ｈ）。
【００４８】
このようにして、自動復旧の結果をユーザにメールなどの手段を用いて即座に通知することにより、ユーザビリティが向上する。
【００４９】
以上のように、この実施の形態の処理要求復旧方式は、インターネットアクセス機器に対し、システムに障害が発生した旨を伝え、データベース復旧後に反映予定という条件で処理を続けるかを問い合わせ、ユーザが処理継続を選択した場合に、インターネットアクセス機器が保持する未確定の処理内容を読み出してＷｅｂサーバに保存し、継続された処理内容を全て保存する処理継続機能部を持ち、データベースが復旧した際に、該当するインターネットアクセス機器がＷｅｂサーバに接続されていなかった際に、保存されていた処理を全てデータベースに自動的に反映させる再処理を行なうとともに、メールなどのメッセージ手段を用いて再処理結果をインターネットアクセス機器に送信を行なう処理継続復旧部を備えることを特徴とする。
【００５０】
実施の形態６．
図８において、６は、バックアップ用データベースサーバであり、６−１は複製データベース（第２のデータベース）であり、３−１−８は、複製データベースへの処理状況をチェックする複製データベースチェック機能部（データベースチェック部）である。他は、実施の形態１と同様である。
【００５１】
以下の説明では、通常使用するデータベースを主データベース（第１のデータベース）として説明する。
図９は、Ｃｏｋｉｅを利用して操作ログを保持して行なう複製データベースの復旧手順を示す構成例である。
【００５２】
次に、動作について説明する。
基本的な動作は、実施の形態１と同様であるので異なる部分を説明する。
主データベースから複製データベースへは非同期型で複製を行なうように設定しておく。Ｗｅｂブラウザからの処理要求中にデータベースサーバに異常が発生したことをサービス提供プログラムが検知し（ａ）、バックアップデータベースに接続を切替え、Ｗｅｂブラウザに対して、保存されているＣｏｋｉｅの読み出しを要求する（ｂ）。これを受けたＣｏｋｉｅ処理部は、要求されたＣｏｋｉｅをサービス提供プログラム（３−１−１）に送信し（ｃ〜ｄ）、サービス提供プログラム（３−１−１）は、複製データベースチェック機能部（３−１−８）に受信したＣｏｋｉｅデータを渡す。
【００５３】
複製データベースチェック機能部（３−１−８）は、複製データベースにアクセスし（ｅ）、最後に確定されたトランザクションＩＤを読み出し最終トランザクションＩＤとして保持する。受けとったＣｏｋｉｅデータの各レコードの時刻の新しいものから順に、処理の確定確認コードを検索し、この例では、処理Ａの確定確認コードを持つレコードを見つける。そのレコード内のトランザクションＩＤを読み出し、最終トランザクションＩＤより新しいか比較する。新しい場合には、更に操作ログの読み出しを続け、確定確認コードを持つレコードで、トランザクションＩＤが最終トランザクションＩＤより古いものを見つけるか、処理ログの先頭に至るまで続ける。処理ログの先頭に至った場合には、これを復旧用ログの先頭とし、最終トランザクションＩＤより古いトランザクションＩＤを見つけた場合には、対応する処理の開始コードを検索し、これを復旧用ログの先頭とする。
【００５４】
次に、復旧用ログの先頭レコード以降のＣｏｋｉｅレコードを順に読み出し、開始コードを読んで、サービス提供プログラム（３−１−１）に対して、処理の開始を伝え、サービス提供プログラム（３−１−１）は、Ｗｅｂブラウザに対して、処理復旧中の表示があるページを送信し（ｆ）、Ｗｅｂブラウザが表示する。複製データベースチェック機能部（３−１−８）は、次のＣｏｋｉｅレコードを読み、処理に対する入力パラメータをサービス提供プログラムに渡す。サービス提供プログラム（３−１−１）は、複製データベースへのアクセスを含む対応する処理を行ない、以降全ての操作をサービス提供プログラムを通して複製データベースに反映し終ると、サービス提供プログラムに対して、復旧処理が終了した旨を伝える。サービス提供プログラムは、途中の処理の以降の処理表示ページをブラウザに送信し、Ｗｅｂブラウザは、処理が一旦中断した直後の状態から入力を再開することが可能となる。
【００５５】
このようにして、同期型での複製ではなく、非同期型での複製を行なうことにより、同期処理による通常処理の性能遅延が発生しない。
また、非同期なため、主データベースに異常が発生した際に、複製側に確定済みトランザクションが反映されていない場合にも、インターネットアクセス機器が保持する操作ログを用いて、データベースを正しい状態に復旧でき、そのまま処理を継続することが出来る。
【００５６】
以上のように、この実施の形態の処理要求復旧方式は、複製データベースサーバを持ち、インターネットアクセス機器と通信を行なう複数のＷｅｂサーバを持ち、Ｗｅｂサーバに対して要求した処理内容を保持する情報保持部を持つインターネットアクセス機器からＷｅｂサーバに処理要求を行なっている最中に、データベースサーバに障害が発生した際に、Ｗｅｂサーバが複製データベースサーバに接続を切替え、インターネットアクセス機器が保持する処理内容がどこまで複製データベースに反映されているかをチェックする複製データベースチェック機能部を備え、インターネットアクセス機器が保持する処理内容のどこまで複製データベースに反映されているかをチェックし、反映されていない場合、複製データベースに対し自動的に処理を反映させ、処理を継続することを特徴とする。
【００５７】
実施の形態７．
図１０において、７は、代替Ｗｅｂサーバである。７−１は代替Ｗｅｂサーバ上のサービス提供プログラムであり、７−２は代替Ｗｅｂサーバ上の複製データベースチェック機能部（データベースチェック部）であり、１−１−４は、インターネットアクセス機器に保持される代替接続先のアドレス情報である。他に関しては、他の実施の形態と同様である。
図１１は、Ｃｏｋｉｅを利用して操作ログを保持して行なう複製データベースの復旧手順を示す構成例である。
【００５８】
次に、動作について説明する。
主データベースから遠隔の複製データベースへは非同期型で複製を行なうように設定しておく。Ｗｅｂブラウザは、Ｗｅｂサーバに接続し認証を行なった際に、サービス提供プログラムより代替の接続先アドレスを受け取り、これを代替接続アドレスとして記憶領域へ保持しておく。ＷｅｂブラウザとＷｅｂサーバ間で処理を行なっている間に、火災、地震などの災害により、Ｗｅｂサーバもデータベースサーバも異常となった際には、Ｗｅｂブラウザは、ユーザ指示により代替接続アドレスへ接続を試みる。
【００５９】
以降を図１１で説明すると、ユーザ指示によりインターネットアクセス機器上のＷｅｂブラウザから代替Ｗｅｂサーバに対し、認証用の操作を行なう（ａ）。サービス提供プログラムは、Ｗｅｂブラウザに対して、保存されているＣｏｋｉｅの読み出しを要求し（ｂ）、これを受けたＣｏｋｉｅ処理部は、要求されたＣｏｋｉｅをサービス提供プログラムに送信する（ｃ〜ｄ）。サービス提供プログラムは、複製データベースチェック機能部へ受信したＣｏｋｉｅを渡す。複製データベースチェック機能部は、以降、実施の形態６と同様に複製データベースを復旧させ、処理を再開させる。
【００６０】
このようにして、サービスを行なっていた場所が災害によりサービス不能となっても代替サービスを行なうことが可能であり、また、処理の一時的な中断のみで、中断直後の状態から処理を再開できる。
また、非同期型のデータベース複製を行なうため、ＬＡＮと広域ネットワークの回線速度の差の影響が少なく遠隔地に複製データベースを設置することが可能となっている。
【００６１】
以上のように、インターネットやイントラネットなどの広域網に接続されたパソコンなどのインターネットアクセス機器より利用可能な電子商取り引きシステムになどにおいて、取り引きデータ等を保持するデータベースサーバを持ち、障害対策用に遠隔地に複製データベースサーバを持ち、インターネットアクセス機器と通信を行なう複数のＷｅｂサーバを持ち、Ｗｅｂサーバに対して要求した処理内容を保持する情報保持部を持つインターネットアクセス機器からＷｅｂサーバに処理要求を行なっている最中に、災害などによりデータベースサーバ及びＷｅｂサーバに障害が発生した際に、常に代替Ｗｅｂサーバの接続先情報を保持する機構を備え、現在接続中のＷｅｂサーバとの通信が途絶えた際に代替Ｗｅｂサーバの接続先に対して再接続を行なえ、代替サイトのＷｅｂサーバ上にインターネットアクセス機器が保持する処理内容がどこまで複製データベースに反映されているかをチェックする複製データベースチェック機能部を備え、インターネットアクセス機器が保持する処理内容のどこまで複製データベースに反映されているかをチェックし、反映されていない場合、複製データベースに対し自動的に処理を反映させ、処理を継続することを特徴とした処理要求復旧方式を説明した。
【００６２】
【発明の効果】
実施の形態１の処理要求復旧方式及び方法によれば、ユーザが操作するインターネットアクセス機器上に処理内容を保存することにより、Ｗｅｂサーバの障害が発生したり、インターネットアクセス機器が異常停止した場合でも、中断された処理を再開可能とする効果がある。
【００６３】
また、実施の形態２の処理要求復旧方式及び方法によれば、ユーザの要望により、入力処理の中断と再開が任意に行なえ、ユーザは処理の手順を最初からやり直す必要がなく、時間を節約できるという効果がある。
【００６４】
また、実施の形態３の処理要求復旧方式及び方法によれば、サービス継続に必要なデータベースシステムに異常が発生した際に中断処理を行なえ、ユーザは処理の手順を最初からやり直す必要がなく、時間を節約できるという効果がある。
【００６５】
実施の形態４の処理要求復旧方式及び方法によれば、サービス継続に必要なデータベースシステムに異常が発生した際にも、ユーザ処理を進めることができ、ベストエフォート型のサービスを提供することができ、ユーザビリティが向上するという効果がある。
【００６６】
実施の形態５の処理要求復旧方式及び方法によれば、自動復旧の結果をユーザにメールなどの手段を用いて即座に通知することにより、ユーザビリティが向上するという効果がある。
【００６７】
また、実施の形態６の処理要求復旧方式及び方法によれば、同期型での複製ではなく、非同期型での複製を行なうことにより、同期処理による通常処理の性能遅延が発生しないという効果と非同期なため、主データベースに異常が発生した際に、複製側に確定済みトランザクションが反映されていない場合にも、インターネットアクセス機器が保持する操作ログを用いて、データベースを正しい状態に復旧でき、そのまま処理を継続することが出来るという効果がある。
【００６８】
さらに、実施の形態７の処理要求復旧方式及び方法によれば、サービスを行なっていた場所が災害によりサービス不能となっても代替サービスを行なうことが可能であり、処理の一時的な中断のみで、中断直後の状態から処理を再開できるという効果がある。
また、非同期型のデータベース複製を行なうため、ＬＡＮと広域ネットワークの回線速度の差の影響が少なく遠隔地に複製データベースを設置することを可能にする効果がある。
【図面の簡単な説明】
【図１】  この発明の基本構成の一例を示す処理要求復旧方式の構成図である。
【図２】  インターネットアクセス機器内の情報処理保持部が保持する処理内容の保持の１構成例を示した図である。
【図３】  インターネットアクセス機器内の情報処理保持部が保持するログを読み出して処理を復旧させる構成例を示した図である。
【図４】  実施の形態２の処理要求復旧方式の構成の一例を示した図である。
【図５】  実施の形態３の処理要求復旧方式の構成の一例を示した図である。
【図６】  実施の形態４の処理要求復旧方式の構成の一例を示した図である。
【図７】  実施の形態５の処理要求復旧方式の構成の一例を示した図である。
【図８】  実施の形態６の処理要求復旧方式の構成の一例を示した図である。
【図９】  Ｃｏｋｉｅを利用して操作ログを保持して行なう複製データベースの復旧手順を示す構成例を表す図である。
【図１０】  実施の形態７の処理要求復旧方式の構成の一例を示した図である。
【図１１】  Ｃｏｋｉｅを利用して操作ログを保持して行なう複製データベースの復旧手順を示す構成例を表す図である。
【図１２】  従来のデータベース管理システムの一例を示す図である。
【図１３】  従来のデータベースを更新するためのシステムの一例を表す図である。
【符号の説明】
１−１〜１−ｎ  インターネットアクセス機器、１−１−１〜１−ｎ−１  ブラウザ、又は、Ｗｅｂブラウザ、１−１−２〜１−ｎ−２  情報保持部、又は、Ｃｏｋｉｅ処理部、１−１−３〜１−ｎ−３  操作ログ、又は、Ｃｏｋｉｅ保存ファイル、２  インターネットなどの広域網、３−１〜３−ｎ  Ｗｅｂサーバ、３−１−１〜３−ｎ−１  サービス提供プログラム、３−１−２〜３−ｎ−２  処理継続機能部、３−１−３  サスペンド機能部、３−１−４−１〜３−１−４−ｏ  ユーザＩＤ別操作ログ、３−１−５  サスペンド復旧部、３−１−６−１自動復旧用のユーザＩＤ別操作ログ、３−１−７  処理継続復旧部、３−１−８  複製データベースチェック機能部、４  データベースサーバ、４−１  データベースマネージメントシステム、５  メールサーバ、６  バックアップ用データベースサーバ、６−１  複製データを保持するデータベースマネージメントシステム、７  代替Ｗｅｂサーバ、７−１  サービス提供プログラム、７−２  複製データベースチェック機能部。
【図１】
0004804653.tif 000002
【図２】
0004804653.tif 000003
【図３】
0004804653.tif 000004
【図４】
0004804653.tif 000005
【図５】
0004804653.tif 000006
【図６】
0004804653.tif 000007
【図７】
0004804653.tif 000008
【図８】
0004804653.tif 000009
【図９】
0004804653.tif 000010
【図１０】
0004804653.tif 000011
【図１１】
0004804653.tif 000012
【図１２】
0004804653.tif 000013
【図１３】
0004804653.tif 000014