(57)【要約】      （修正有）【課題】サーバの環境設定作業において、この環境設定作業を行うユーザが任意にロールバックを行えることが容易に実現できるようにする。【解決手段】コマンドごとに、コマンド実行前の処理を生成する元となる第１のデータと、ロールバック時の処理を生成する元となる第２のデータとを保管する手段を備えるサーバと、ネットワークを介して接続されるクライアントであって、  要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を生成してサーバに行わせる手段と、  要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を生成して保管する手段と、  ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を読み出して、各コマンドの実行順とは逆順に、サーバに行わせる手段とを備える。【選択図】図１
2007122538.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、クライアントとからなり、これらサーバとクライアントとがネットワークを介して接続されるシステムであって、
前記サーバは、
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備え、
前記クライアントは、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける手段と、要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる手段と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する手段と、
処理のロールバックの要求を受付ける手段と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる手段とを備えることを特徴とするサーバ環境設定支援システム。
【請求項２】
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバであって、
このサーバへネットワークを介して接続されるクライアントが、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける手段と、要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる手段と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する手段と、
処理のロールバックの要求を受付ける手段と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる手段とを備えることを特徴とするサーバ。
【請求項３】
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバへ、ネットワークを介して接続されるクライアントであって、
このクライアントが、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける手段と、要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる手段と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する手段と、
処理のロールバックの要求を受付ける手段と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる手段とを備えることを特徴とするクライアント。
【請求項４】
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバへ、ネットワークを介して接続されるクライアントが実行する方法であって、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける工程と、
要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる工程と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する工程と、
処理のロールバックの要求を受付ける工程と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる工程を含むことを特徴とするサーバ環境設定支援方法。
【請求項５】
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバへ、ネットワークを介して接続されるクライアントに、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける工程と、
要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる工程と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する工程と、
処理のロールバックの要求を受付ける工程と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる工程とを実行させることを特徴とするサーバ環境設定支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバの環境設定を支援する技術に関する。
【背景技術】
【０００２】
一般に、コンソールとは、サーバの環境設定などをユーザがＣＵＩ（Ｃｈａｒａｃｔｅｒ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：文字列を打ち込むことでコマンドやスクリプトなどを実行するためのユーザインターフェースのこと）で行なうためのインターフェースである。しかしながら、このコンソールで、スクリプトなどを使いサーバで処理を行うと、その処理内容を把握し難く、ロールバックを行うことは困難である。
【０００３】
ここで、コマンドとは、コンピュータを利用したシステム（以後、単にシステムとも云う）に何らかの処理を実行するように導く命令である。また、スクリプトとは、一連のコマンドの並びからなり、システムに何らかの処理を実行させるプログラムである。また、ロールバックとは、システムで何らかの処理が行われたとき、システム内のファイルやディレクトリ、またはシステムで起動しているプログラムなどの状態で、この処理により変更されたものを、処理実行前の状態に戻すことを云う。
【０００４】
また一般に、スナップショットとは、その時点の設定を保存し、いつでもその時点の設定に戻れるようにするものである。しかしながら、コマンドごとにスナップショットを毎回行なうのは面倒だし、時間がかかりすぎる。
【０００５】
ところで、従来のロールバックでは、一般のデータベースサーバのように、サーバにロールバック機能があり、何らかの障害などがあったときにサーバが自動的にロールバックするようになっているものがある。
【０００６】
また特許文献１又は２には、クライアントからのロールバック命令をサーバで受け取り、サーバに保存されているログファイルを元にしてロールバックを行う技術が開示されている。しかしながら、この技術では、サーバにおいてロールバックを行うための機構やロールバック命令を受付けるためのインターフェースなどを用意する必要があり、サーバ側にロールバックのための実装が必要となる。また、クライアントにおいても、ロールバックが行われたかどうかを感知する機構やロールバック命令を発行する仕組が必要となる。
【０００７】
また、特許文献３には、ファイル操作に対するエラーがあったときに自動的にロールバックを行う技術が開示されている。しかしながら、この技術では、システム的なエラー、もしくは定義したエラーを検知した場合以外ロールバックできなく、ロールバックするかどうかをユーザが選ぶことができない。
【０００８】
また特許文献４には、クライアントに格納されているローカルデータと、当該ローカルデータに対応するサーバのデータとに同一のデータ操作を行なったとき、このデータ操作が正常終了しない場合に、このデータ操作を自動的にロールバックする技術が開示されている。しかしながら、この技術でも、このデータ操作が正常に終了しない場合以外ロールバックできなく、ロールバックするかどうかをユーザが選ぶことができない。
【特許文献１】特開２００１−３１２４２４号公報
【特許文献２】特開平１１−２５９３４６号公報
【特許文献３】特公平０５−１５８７７５号公報
【特許文献４】特開２００３−２６３３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は斯かる背景技術に鑑みてなされたもので、サーバの環境設定作業において、この環境設定作業を行うユーザが任意にロールバックを行えることが容易に実現できるようにすることを課題とする。
【課題を解決するための手段】
【００１０】
本発明において上記課題を達成するために、まず請求項１の発明では、
サーバと、クライアントとからなり、これらサーバとクライアントとがネットワークを介して接続されるシステムであって、
前記サーバは、
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備え、
前記クライアントは、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける手段と、要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる手段と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する手段と、
処理のロールバックの要求を受付ける手段と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる手段とを備えることを特徴とするサーバ環境設定支援システムとしたものである。
【００１１】
また請求項２の発明では、
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバであって、
このサーバへネットワークを介して接続されるクライアントが、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける手段と、要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる手段と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する手段と、
処理のロールバックの要求を受付ける手段と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる手段とを備えることを特徴とするサーバとしたものである。
【００１２】
また請求項３の発明では、
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバへ、ネットワークを介して接続されるクライアントであって、
このクライアントが、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける手段と、要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる手段と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する手段と、
処理のロールバックの要求を受付ける手段と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる手段とを備えることを特徴とするクライアントとしたものである。
【００１３】
また請求項４の発明では、
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバへ、ネットワークを介して接続されるクライアントが実行する方法であって、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける工程と、
要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる工程と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する工程と、
処理のロールバックの要求を受付ける工程と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる工程とを含むことを特徴とするサーバ環境設定支援方法としたものである。
【００１４】
また請求項５の発明では、
コマンドごとに、コマンド実行前の処理を定めるデータを生成する元となる第１のデータと、ロールバック時の処理を定めるデータを生成する元となる第２のデータとを保管する手段を備えるサーバへ、ネットワークを介して接続されるクライアントに、
一つ又は複数のコマンドにより導かれるサーバに対する処理の要求を受付ける工程と、
要求された処理を導く各コマンドをサーバに実行させる前に、第１のデータから、コマンド実行前の処理を定めるデータを生成して、このコマンド実行前の処理をサーバに行わせる工程と、
要求された処理を導く各コマンドをサーバに実行させる際に、第２のデータから、ロールバック時の処理を定めるデータを生成して保管する工程と、
処理のロールバックの要求を受付ける工程と、
ロールバックが要求された処理を導く各コマンドについて、保管しているロールバック時の処理を定めるデータを読み出して、各コマンドの実行順とは逆順に、このロールバック時の処理をサーバに行わせる工程とを実行させることを特徴とするサーバ環境設定支援プログラムとしたものである。
【発明の効果】
【００１５】
本発明は、サーバの環境設定作業において、この環境設定作業を行うユーザが任意にロールバックを行えることが容易に実現できるという効果がある。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明の最良の一実施形態を説明する。
【００１７】
１．構成
本実施形態に係るシステムは、図１に示すように、サーバと、クライアントとを備え、サーバと、クライアントとが、ネットワークを介して接続されるものである。
【００１８】
サーバは、環境設定を受けるコンピュータであって、図１に示すように、テンポラリ領域と、ロールバック設定ファイルとを有する。テンポラリ領域は、サーバにおける作業用のディスクスペースであって、バックアップファイル等が置かれる。ロールバック設定ファイルは、サーバのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の初期インストール後に手動で一つ用意するものである。
【００１９】
ロールバック設定ファイルは、ロールバック可能な各コマンドに関する一般的なデータが、「コマンド」、「コマンド実行前の処理」、「ロールバック実行時の処理」という３つの項目に分けて記録されたファイルである。項目「コマンド」は、ロールバック可能なコマンドの一般的な形式を定めるデータである。項目「コマンド実行前処理」は、このコマンドを実行するとき、事前に、この実行により変更されるファイルやディレクトリなどをテンポラリ領域にバックアップしておくために行う処理を一般的に定めるデータであって、この処理を具体的に生成する元となるものである。項目「ロールバック実行時の処理」は、このコマンドのロールバック作業を行うための処理を一般的に定めるデータであって、この処理を具体的に生成する元となるものである。
【００２０】
ロールバック設定ファイルの例を、図２に示す。図２のロールバック設定ファイルでは、一つの行に、一つのコマンドに関する一般的なデータが、「コマンド」、「コマンド実行前の処理」、「ロールバック実行時の処理」という項目の順に，カンマ，で区切って並んでいる。ロールバック設定ファイルにおいて、［］に囲まれているデータは、個々のコマンドが実行される際に、個々のコマンドの解釈に基づいて、具体的に定まるものである。図２のロールバック設定ファイルにおいて、各コマンドは、ＵＮＩＸ（登録商標）のコマンドである。図２のロールバック設定ファイルにおいて、各コマンドに関する情報の内、どの情報が、どの項目に属するのかを明示したものを、図３に示す。図２又は３の２〜３行目のように、項目「コマンド実行前の処理」のデータが空白である場合には、コマンドを実行するとき、事前に何もしないことを意味する。
【００２１】
クライアントは、ユーザがサーバの環境設定作業を行うのに利用するコンピュータであって、図１に示すように、表示装置と、入力装置と、ローカル作業領域と、実行内容保存ファイルとを有する。表示装置は、データを表示する装置であって、ディスプレイとも呼ばれる。入力装置は、データを入力する装置であって、例えば、キーボード、マウスなどがある。ローカル作業領域は、クライアントにおける作業用のディスクスペースであって、実行内容保存ファイルを格納するのにも用いられる。実行内容保存ファイルは、サーバとの接続時に作成され、終了時に消される。
【００２２】
実行内容保存ファイルは、実行された処理に関するデータが、「ＩＤ」、「実行したコマンド」、「ロールバック時の処理」という３つの項目に分けて記録されたファイルである。項目「ＩＤ」は、実行された処理の識別番号である。項目「実行したコマンド」は、この処理の一部又は全部を実行するために、実行したコマンドである。スクリプトのように、一つの処理を実行するのに、複数のコマンドを実行する場合には、異なる実行したコ
マンドに対して、同一の識別番号が振られる。項目「ロールバック時の処理」は、この実行したコマンドを、ロールバックするときに行う処理を具体的に定めるものである。項目「ロールバック時の処理」のデータは、ロールバック設定ファイルの項目「ロールバック実行時の処理」のデータから生成される。
【００２３】
実行内容保存ファイルの例を、図４に示す。図４の実行内容保存ファイルでは、一つの行に、一つの実行された処理に関するデータが、「ＩＤ」、「実行されたコマンド」、「ロールバック時の処理」という項目の順に，カンマ，で区切って並んでいる。図４の実行内容保存ファイルにおいて、各コマンドは、ＵＮＩＸ（登録商標）のコマンドである。図４の実行内容保存ファイルにおいて、各実行された処理情報の内、どの情報が、どの項目に属するのかを明示したものを、図５に示す。
【００２４】
ここで、クライアントにてコンソールを起動したときに、表示装置が表示するコンソール画面は、図６に示すように、戻るボタン１と、入力文字列表示部２とを有する。入力文字列表示部２は、一般のコンソール画面と同様に、キーボードで打ち込んだ文字列を表示する部分である。戻るボタン１は、このボタンをマウスで押して、実行したコマンドやスクリプトなどのロールバックを命じるためのボタンである。
【００２５】
２．処理
以下に、本実施形態に係るシステムで、サーバの環境設定作業を行うために実行される処理の流れの例を、図７のフローチャートに従って説明する。
【００２６】
Ｓ（ＳＴＥＰ）１；コンソールを起動
ユーザは、クライアントにて、コンソールを起動する。
【００２７】
Ｓ（ＳＴＥＰ）２；サーバとの接続開始
クライアントは、サーバとの接続を開始し、ローカル作業領域に実行内容保存ファイルを作成する。尚、作成当時の実行内容保存ファイルの中身は空である。
【００２８】
Ｓ（ＳＴＥＰ）３；ロールバック設定ファイルをローカル作業領域に保存
クライアントは、ロールバック設定ファイルを、ネットワークを介して、サーバから読み出し、ローカル作業領域に保存する。
【００２９】
Ｓ（ＳＴＥＰ）４；コンソールに入力
ユーザは、コンソールに対する入力を行う。
【００３０】
Ｓ（ＳＴＥＰ）５；何を入力？
クライアントは、コンソールに対する入力が、サーバ環境設定のための処理を表す文字列の入力か、又は、ロールバックを表す戻るボタンの押下か、或は、終了コマンド（コンソールを終了させるための処理を表す文字列）の入力かを判断し、
サーバ環境設定のための処理を表す文字列の入力の場合、ＳＴＥＰ６に進み、
ロールバックを表す戻るボタンの押下の場合、ＳＴＥＰ２０に進み、
終了コマンドの入力の場合、ＳＴＥＰ２５に進む。
【００３１】
Ｓ（ＳＴＥＰ）６；コマンド／スクリプト？
クライアントは、コンソールに入力された文字列が、コマンドを表すものであるか、或は、スクリプトを表すものであるかを、判断し、
コマンドを表すものである場合、ＳＴＥＰ７に進み、
スクリプトを表すものである場合、ＳＴＥＰ１３に進む。
【００３２】
Ｓ（ＳＴＥＰ）７；コマンドを解釈
クライアントは、入力されたコマンドを解釈する。
【００３３】
Ｓ（ＳＴＥＰ）８；ロールバック設定ファイルから行抽出
クライアントは、入力されたコマンドと、ローカル作業領域に保存されているロールバック設定ファイルの項目「コマンド」のデータとを比較し、入力されたコマンドに対応するする行を抽出する。但し、対応するものがない場合、クライアントは、入力されたコマンドを、ロールバックできないものとして扱う。
【００３４】
Ｓ（ＳＴＥＰ）９；コマンド実行前の処理とロールバック時の処理とを生成
クライアントは、入力されたコマンドの解釈に基づいて、入力されたコマンドに対応する行の項目「コマンド実行前の処理」のデータから、コマンド実行前の処理を具体的に生成し、また、入力されたコマンドに対応する行の項目「ロールバック実行時の処理」のデータから、ロールバック時の処理を生成する。但し、項目「コマンド実行前の処理」のデータが空白の場合、クライアントは、コマンド実行前の処理は不必要であると判断して、コマンド実行前の処理を生成しない。
【００３５】
Ｓ（ＳＴＥＰ）１０；コマンド実行前の処理実行
クライアントは、コマンド実行前の処理をサーバに実行させ、その結果を受ける。但し、抽出した項目「コマンド実行前の処理」のデータが空白の場合、クライアントは、サーバに何もさせない。
【００３６】
Ｓ（ＳＴＥＰ）１１；実行内容保存ファイルの最後に行追加
クライアントは、ローカル作業領域に保存されている実行内容保存ファイルの最後に、以下のデータを有する行を追加する。
【００３７】
・項目「ＩＤ」の識別番号として、追加前の最終行にある項目「ＩＤ」の識別番号に１を加えたもの。
【００３８】
・項目「実行したコマンド」のデータとして、入力されたコマンド。
【００３９】
・項目「ロールバック時の処理」のデータとして、入力されたコマンドに対応する行の項目「コマンド実行前の処理」のデータから生成したロールバック時の処理。
【００４０】
Ｓ（ＳＴＥＰ）１２；コマンド実行
クライアントは、入力されたコマンドをサーバに実行させ、その結果を受けて、ＳＴＥＰ４に戻る。
【００４１】
Ｓ（ＳＴＥＰ）１３；スクリプトのソースファイル保存
クライアントは、スクリプトのソースファイルをサーバから送ってもらい、このソースファイルをローカル作業領域に保存する。
【００４２】
Ｓ（ＳＴＥＰ）１４；ソースファイルからコマンドを抽出して解釈
クライアントは、ローカル作業領域に保存したソースファイルから、実行されるコマンドを抽出して解釈する。
【００４３】
Ｓ（ＳＴＥＰ）１５；ロールバック設定ファイルから行抽出
クライアントは、抽出した各コマンドと、ローカル作業領域に保存されているロールバック設定ファイルの項目「コマンド」のデータとを比較し、各コマンドに対応する各行を抽出する。但し、クライアントは、抽出したコマンドの内一致するものがないものを、ロ
ールバックできないものとして扱う。
【００４４】
Ｓ（ＳＴＥＰ）１６；コマンド実行前の処理とロールバック時の処理とを生成
クライアントは、抽出したコマンドごとに、各コマンドの解釈に基づいて、各コマンドに対応する行の項目「コマンド実行前の処理」のデータから、コマンド実行前の処理を具体的に生成し、また、各コマンドに対応する行の項目「ロールバック実行時の処理」のデータから、ロールバック時の処理を生成する。但し、項目「コマンド実行前の処理」のデータが空白の場合、クライアントは、コマンド実行前の処理は不必要であると判断して、コマンド実行前の処理を生成しない。
【００４５】
Ｓ（ＳＴＥＰ）１７；コマンド実行前の処理実行
クライアントは、抽出したコマンドごとに、コマンド実行前の処理をサーバに実行させ、その結果を受ける。但し、項目「コマンド実行前の処理」のデータが空白の場合、クライアントは、サーバに何もさせない。
【００４６】
Ｓ（ＳＴＥＰ）１８；実行内容保存ファイルの最終に行追加
クライアントは、ローカル作業領域に保存されている実行内容保存ファイルの最後に、抽出したコマンドごとに、これらコマンドをサーバに実行させる順に、以下のデータを有する行を追加する。
【００４７】
・項目「ＩＤ」の識別番号として、最初の行を追加する前の最終行にある項目「ＩＤ」の識別番号に１を加えたもの（追加する行全てに同一の識別番号）。
【００４８】
・項目「実行したコマンド」のデータとして、抽出したコマンド。
【００４９】
・項目「ロールバック時の処理」のデータとして、抽出したコマンドに対応する行の項目「コマンド実行前の処理」のデータから生成したロールバック時の処理。
【００５０】
Ｓ（ＳＴＥＰ）１９；スクリプト実行
クライアントは、スクリプトのソースファイルに含まれるコマンドを、順次、サーバに実行させ、その結果を受けて、ＳＴＥＰ４に戻る。
【００５１】
Ｓ（ＳＴＥＰ）２０；実行内容保存ファイルからデータ抽出
クライアントは、ローカル作業領域に保存されている実行内容保存ファイルを参照して、項目「ＩＤ」の識別番号の一番大きい行（最後に実行された処理に対応する行）を抽出する。尚、項目「ＩＤ」の識別番号の一番大きい行が複数ある場合、それぞれの行を抽出する。
【００５２】
Ｓ（ＳＴＥＰ）２１；ロールバックするか否かを問う
クライアントは、抽出した行に基づいて、実行したコマンドの内容と、そのコマンドのロールバックを行う場合にはＹを入力し、他方、そのコマンドのロールバックを行わない場合にはＮを入力することをユーザに促す指示とを、コンソール画面に表示する。
【００５３】
Ｓ（ＳＴＥＰ）２２；Ｙ／Ｎ？
ユーザは、Ｙ又はＮの入力を行い、
Ｙを入力した場合、ＳＴＥＰ２３に進み、
Ｎを入力した場合、ＳＴＥＰ４に戻る。
【００５４】
Ｓ（ＳＴＥＰ）２３；ロールバックを実行
クライアントは、抽出した行の項目「ロールバック時の処理」のデータに基づいて、コ
マンドをロールバックするための処理をサーバに実行させる。尚、項目「ＩＤ」の識別番号の一番大きい行が複数ある場合、最終行から初めて順に前の行へ、それぞれの行の項目「ロールバック時の処理」のデータに基づいて、コマンドをロールバックするための処理をサーバに実行させる。
【００５５】
Ｓ（ＳＴＥＰ）２４；実行内容保存ファイルから行削除
クライアントは、実行内容保存ファイルから、ロールバックしたコマンドに対応する行を削除し、ＳＴＥＰ４に戻る。
【００５６】
Ｓ（ＳＴＥＰ）２５；テンポラリ領域をクリア
クライアントは、テンポラリ領域にあるファイルやディレクトリを全てサーバに消去させる。
【００５７】
Ｓ（ＳＴＥＰ）２６；ローカル作業領域をクリア
クライアントは、ローカル作業領域にあるファイルやディレクトリを全て削除する。
【００５８】
Ｓ（ＳＴＥＰ）２７；サーバとの接続切断
クライアントは、サーバとの接続を切断する。
【００５９】
Ｓ（ＳＴＥＰ）２８；コンソール終了
クライアントは、コンソールを終了する。
【００６０】
以下に、コマンド（ｒｍ  ｈｏｇｅ）を実行させ、このコマンドをロールバックする場合に、本実施形態のシステムで実行される処理の流れの例を、図８のシーケンス図に従って説明する。尚、ロールバック設定ファイルは、図２に示すものであるとし、また、実行内容保存ファイルの最終行にある項目「ＩＤ」の識別番号が、５１であるとする。
【００６１】
（１）コマンドの入力
ユーザは、コンソールに、コマンドとして、ｒｍ  ｈｏｇｅ  と入力する。この入力がなされたときのコンソール画面を、図９に示す。
【００６２】
（２）コマンドの解釈
クライアントは、コンソールに入力された  ｒｍ  ｈｏｇｅ  を、ｈｏｇｅという名称のファイルの削除をサーバに行わせるｒｍコマンドであると解釈する。
【００６３】
（３）ロールバック設定ファイルから行抽出
クライアントは、ロールバック設定ファイルから、ｒｍコマンドの行、
ｒｍ［ｎａｍｅ］，ｃｐ［ｏｒｉｇｉｎａｌ＿ｓａｐｃｅ］／［ｎａｍｅ］  ／ｔｍｐ／［ＩＤ］＿［ｎａｍｅ］，ｍｖ  ／ｔｍｐ／［ＩＤ］＿［ｎａｍｅ］  ［ｏｒｉｇｉｎａｌ＿ｓｐａｃｅ］／［ｎａｍｅ］
を抽出する。
【００６４】
（４）コマンド実行前の処理とロールバック時の処理とを生成
クライアントは、抽出した行において、［ｎａｍｅ］＝ｈｏｇｅ、［ｏｒｉｇｉｎａｌ＿ｓａｐｃｅ］＝／ｖａｒ／（ｈｏｇｅという名称のファイルが置かれることになるディレクトリ）、［ＩＤ］＝５２（実行内容保存ファイルの最終行にある項目「ＩＤ」の識別番号＋１）として、抽出した行の項目「コマンド実行前の処理」のデータから、コマンド実行前の処理（ｃｐ  ／ｖａｒ／ｈｏｇｅ  ／ｔｍｐ／５２＿ｈｏｇｅ）を生成し、また、抽出した行の項目「ロールバック実行時の処理」のデータから、ロールバック時の処理（ｍｖ  ／ｔｍｐ／５２＿ｈｏｇｅ  ／ｖａｒ／ｈｏｇｅ）を生成する。
【００６５】
（５）コマンド実行前の処理の実行
クライアントは、コマンド実行前の処理（ｃｐ  ／ｖａｒ／ｈｏｇｅ  ／ｔｍｐ／５２＿ｈｏｇｅ）を、サーバに実行させる。この実行によって、ｈｏｇｅという名称のファイルが、テンポラリ領域に、５２＿ｈｏｇｅという名称でコピーされる。
【００６６】
（６）結果の送信
サーバは、コマンド実行前の処理を実行した結果を、クライアントに送信する。
【００６７】
（７）実行内容保存ファイルの末尾に行追加
クライアントは、実行内容保存ファイルの末尾に、項目「ＩＤ」、項目「実行したコマンド」、項目「ロールバック時の処理」の順に，カンマ，で区切って、
５２，ｒｍ  ｈｏｇｅ，ｍｖ  ／ｔｍｐ／５２＿ｈｏｇｅ  ｖａｒ／ｈｏｇｅ
という行を追加する。ここで、５２は、この追加前の実行内容保存ファイルの最終行にある項目「ＩＤ」の識別番号（５１）に、１を加えたものである。
【００６８】
（８）コマンドの実行
クライアントは、コマンド（ｒｍ  ｈｏｇｅ）を、サーバに実行させる。この実行によって、ｈｏｇｅという名称のファイルが、削除される。
【００６９】
（９）結果の送信
サーバは、コマンドを実行した結果を、クライアントに送信する。
【００７０】
（１０）ロールバックの入力
ユーザは、戻るボタンをマウスで押す。
【００７１】
（１１）実行内容保存ファイルから行抽出
クライアントは、実行内容保存ファイルから、項目「ＩＤ」の識別番号が最大の行、
５２，ｒｍ  ｈｏｇｅ，ｍｖ  ／ｔｍｐ／５２＿ｈｏｇｅ  ｖａｒ／ｈｏｇｅ
を抽出する。
【００７２】
（１２）ロールバックすることを確認
クライアントは、図１０に示すように、ｒｍ  ｈｏｇｅ  をロールバックする場合にはＹを入力し、他方、ロールバックしない場合にはＮを入力することをユーザに促す指示をコンソール画面に表示して、Ｙが入力されたことを確認する。
【００７３】
（１３）ロールバックを実行
クライアントは、ロールバック時の処理（ｍｖ  ／ｔｍｐ／５２＿ｈｏｇｅ  ｖａｒ／ｈｏｇｅ）を、サーバに実行させる。この実行によって、テンポラリ領域に５２＿ｈｏｇｅという名称で保存されているファイルが、ｈｏｇｅという名称のファイルが置かれていたディレクトリに、ｈｏｇｅという名称で移動する。
【００７４】
（１４）結果の送信
サーバは、ロールバック時の処理を実行した結果を、クライアントに送信する。
【００７５】
（１５）実行内容保存ファイルから行削除
クライアントは、実行内容保存ファイルからロールバックしたｒｍコマンドに係る、識別番号５２の行、
５２，ｒｍ  ｈｏｇｅ，ｍｖ  ／ｔｍｐ／５２＿ｈｏｇｅ  ｖａｒ／ｈｏｇｅ
を削除する。
【００７６】
以下に、図１１に示すソースファイルに相当するスクリプトを実行させ、このスクリプトをロールバックする場合に、本実施形態のシステムで実行される処理の流れの例を、図１２のシーケンス図に従って説明する。尚、ロールバック設定ファイルは、図２に示すものであるとし、また、実行内容保存ファイルの最終行にある項目「ＩＤ」の識別番号が、５１であるとする。
【００７７】
（１）スクリプトを表す文字列の入力
ユーザは、コンソールに、図１１に示すソースファイルに相当するスクリプトを表す文字列を入力する。
【００７８】
（２）スクリプトのソースファイルの送信依頼
クライアントは、サーバに対して、コンソールに入力された文字列が表すスクリプトのソースファイルを、送信するよう依頼する。
【００７９】
（３）スクリプトのソースファイルの送信
サーバは、依頼されたスクリプトのソースファイルを、クライアントに送信する。
【００８０】
（４）コマンドを抽出して解釈
クライアントは、スクリプトのソースファイルから、コマンドとして、順に、ｍｋｄｉｒ  ｄｉｒ１  と、ｔｏｕｃｈ  ｄｉｒ１／ｔｘｔ１  と、ｍｖ  ｄｉｒ１  ｄｉｒ２とを抽出し、
ｍｋｄｉｒ  ｄｉｒ１  は、ｄｉｒ１という名称のディレクトリの作成をサーバに行わせるｍｋｄｉｒコマンドであり、
ｔｏｕｃｈ  ｄｉｒ１／ｔｘｔ１  は、ｄｉｒ１という名称のディレクトリに、ｔｘｔ１という名称のファイルの作成をサーバに行わせるｔｏｕｃｈコマンドであり、
ｍｖ  ｄｉｒ１  ｄｉｒ２  は、ｄｉｒ１という名称のディレクトリを、ｄｉｒ２という名称のディレクトリに変更するｍｖコマンドであると解釈する。
【００８１】
（５）ロールバック設定ファイルから行抽出
クライアントは、ロールバック設定ファイルから、ｍｋｄｉｒコマンドの行、
ｍｋｄｉｒ  ［ｄｉｒ］，，ｒｍｄｉｒ  ［ｏｒｉｇｉｎａｌ＿ｓｐａｃｅ］／［ｄｉｒ］
と、ｔｏｕｃｈコマンドの行、
ｔｏｕｃｈ  ［ｎａｍｅ］，，ｒｍ  ［ｏｒｉｇｉｎａｌ＿ｓｐａｃｅ］／［ｎａｍｅ］
と、ｍｖコマンドの行、
ｍｖ  ［ｎａｍｅ１］  ［ｎａｍｅ２］，，ｍｖ  ［ｏｒｉｇｉｎａｌ＿ｓｐａｃｅ］／［ｎａｍｅ２］  ［ｏｒｉｇｉｎａｌ＿ｓｐａｃｅ］／［ｎａｍｅ１］
とを抽出する。
【００８２】
（６）ロールバック時の処理を生成
クライアントは、抽出した各行の項目「コマンド実行前の処理」のデータが空白なので、ｍｋｄｉｒコマンド、ｔｏｕｃｈコマンド、ｍｖコマンド、それぞれについて、コマンド実行前の処理は必要ないと判断し、また、抽出した各行において、［ｄｉｒ］＝ｄｉｒ１、［ｏｒｉｇｉｎａｌ＿ｓｐａｃｅ］＝／ｖａｒ／（ｄｉｒ１という名称のディレクトリが置かれることになるディレクトリ）、［ｎａｍｅ］＝ｄｉｒ１／ｔｘｔ１、［ｎａｍｅ１］＝ｄｉｒ１、［ｎａｍｅ２］＝ｄｉｒ２として、抽出した各行の項目「ロールバック実行時の処理」のデータから、ｍｋｄｉｒコマンド、ｔｏｕｃｈコマンド、ｍｖコマンド、それぞれについて、ロールバック時の処理として、ｒｍｄｉｒ  ／ｖａｒ／ｄｉｒ１
、ｒｍ  ／ｖａｒ／ｄｉｒ１／ｔｘｔ１、ｍｖ  ／ｖａｒ／ｄｉｒ２  ／ｖａｒ／ｄｉｒ１  を生成する。
【００８３】
（７）実行内容保存ファイルの末尾に行を追加
クライアントは、実行内容保存ファイルの末尾に、項目「ＩＤ」、項目「実行したコマンド」、項目「ロールバック時の処理」の順に、カンマ，で区切って、
５２，ｍｋｄｉｒ  ｄｉｒ１，ｒｍｄｉｒ  ／ｖａｒ／ｄｉｒ１
５２，ｔｏｕｃｈ  ｄｉｒ１／ｔｘｔ１，ｒｍ  ／ｖａｒ／ｄｉｒ１／ｔｘｔ１
５２，ｍｖ  ｄｉｒ１  ｄｉｒ２，ｍｖ  ／ｖａｒ／ｄｉｒ２  ／ｖａｒ／ｄｉｒ１
という、それぞれ、ｍｋｄｉｒコマンド、ｔｏｕｃｈコマンド、ｍｖコマンドに対応する３つの行を、実行順に追加する。ここで、５２は、この追加前の実行内容保存ファイルの最終行にある項目「ＩＤ」の識別番号（５１）に、１を加えたものである。
【００８４】
（８）スクリプトの実行
クライアントは、スクリプトの処理として、ｍｋｄｉｒ  ｄｉｒ１、ｔｏｕｃｈ  ｄｉｒ１／ｔｘｔ１、ｍｖ  ｄｉｒ１  ｄｉｒ２を順にサーバに実行させる。
【００８５】
（９）結果の送信
サーバは、スクリプトを実行した結果を、クライアントに送信する。
【００８６】
（１０）ロールバックの入力
ユーザは、戻るボタンをマウスで押す。
【００８７】
（１１）実行内容保存ファイルから行抽出
クライアントは、実行内容保存ファイルから、項目「ＩＤ」の識別番号が最大の行、
５２，ｍｋｄｉｒ  ｄｉｒ１，ｒｍｄｉｒ  ／ｖａｒ／ｄｉｒ１
５２，ｔｏｕｃｈ  ｄｉｒ１／ｔｘｔ１，ｒｍ  ／ｖａｒ／ｄｉｒ１／ｔｘｔ１
５２，ｍｖ  ｄｉｒ１  ｄｉｒ２，ｍｖ  ／ｖａｒ／ｄｉｒ２  ／ｖａｒ／ｄｉｒ１
を抽出する。
【００８８】
（１２）ロールバックすることを確認
クライアントは、図１３に示すように、スクリプトをロールバックする場合にはＹを入力し、他方、ロールバックしない場合にはＮを入力することをユーザに促す指示をコンソール画面に表示して、Ｙが入力されたことを確認する。
【００８９】
（１３）ロールバックを実行
クライアントは、ロールバック時の処理として、
ｍｖ  ／ｖａｒ／ｄｉｒ２  ／ｖａｒ／ｄｉｒ１、
ｒｍ  ／ｖａｒ／ｄｉｒ１／ｔｘｔ１、
ｒｍｄｉｒ  ／ｖａｒ／ｄｉｒ１
を、この順にサーバに実行させる。
【００９０】
（１４）結果の送信
サーバは、ロールバック時の処理を実行した結果を、クライアントに送信する。
【００９１】
（１５）実行内容保存ファイルから行削除
クライアントは、実行内容保存ファイルからロールバックしたスクリプトに係る、識別番号５２の各行、
５２，ｍｋｄｉｒ  ｄｉｒ１，ｒｍｄｉｒ  ／ｖａｒ／ｄｉｒ１
５２，ｔｏｕｃｈ  ｄｉｒ１／ｔｘｔ１，ｒｍ  ／ｖａｒ／ｄｉｒ１／ｔｘｔ１
５２，ｍｖ  ｄｉｒ１  ｄｉｒ２，ｍｖ  ／ｖａｒ／ｄｉｒ２  ／ｖａｒ／ｄｉｒ１
を削除する。
【図面の簡単な説明】
【００９２】
【図１】本実施形態に係るシステムの構成例を示すブロック図。
【図２】ロールバック設定ファイルの例を示す図。
【図３】図２のロールバック設定ファイルにおいて、各コマンドに関する情報の内、どの情報が、どの項目に属するのかを明示した図。
【図４】実行内容保存ファイルの例を示す図。
【図５】図４の実行内容保存ファイルにおいて、各実行された処理に関する情報の内、どの情報が、どの項目に属するのかを明示した図。
【図６】コンソール画面を例示する図。
【図７】本実施形態に係るシステムで、サーバの環境設定作業を行うために実行される処理の流れの例を示すフローチャート。
【図８】コマンド（ｒｍ  ｈｏｇｅ）を実行させ、このコマンドをロールバックする場合に、本実施形態のシステムで実行される処理の流れの例を示すシーケンス図。
【図９】コマンドを入力したコンソール画面の例を示す図。
【図１０】コマンドのロールバックをユーザに確認するコンソール画面の例を示す図。
【図１１】スクリプトのソースファイルの例を示す図。
【図１２】図１１に示すソースファイルに相当するスクリプトを実行させ、このスクリプトをロールバックする場合に、本実施形態のシステムで実行される処理の流れの例を示すシーケンス図。
【図１３】スクリプトのロールバックをユーザに確認するコンソール画面の例を示す図。
【符号の説明】
【００９３】
１…戻るボタン
２…入力文字列表示部
【図１】
2007122538.tif 000003
【図２】
2007122538.tif 000004
【図３】
2007122538.tif 000005
【図４】
2007122538.tif 000006
【図５】
2007122538.tif 000007
【図６】
2007122538.tif 000008
【図７】
2007122538.tif 000009
【図８】
2007122538.tif 000010
【図９】
2007122538.tif 000011
【図１０】
2007122538.tif 000012
【図１１】
2007122538.tif 000013
【図１２】
2007122538.tif 000014
【図１３】
2007122538.tif 000015