【文献】
小澤洋司 外3名,テナント構成パターンを用いたデータセンタネットワークプロビジョニング方式の検討,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2012年 3月 8日,第111巻,第488号,p.41−46
(58)【調査した分野】(Int.Cl.,DB名)
上記処理手段は、上記管理端末から上記操作対象装置に対する処理要求を受け付け、受け付けた処理要求を特定するジョブIDを発行し、このジョブIDと処理要求情報とを関連付けて上記操作要求実行履歴情報に記憶し、
上記通信手段は、上記ジョブIDを上記管理端末に送信し、上記管理端末から上記ジョブIDと処理状況照会情報とを受信すると、上記操作要求実行履歴情報に基づき、該当ジョブIDの実行状況を上記管理端末に送信する
ことを特徴とする請求項1〜2のいずれかに記載の環境構築装置。
【発明を実施するための形態】
【0017】
実施の形態1.
最初に、本実施の形態以降、各実施の形態の中で用いる用語について、説明する。
「テナント」とは、マルチアプリケーションシステムで該当のアプリケーションを利用する利用組織のことを示す。なお利用組織とは、1つの企業(団体)、1つの部門、または一人の利用者を表わし、利用組織の中には1人以上の利用者が含まれる。テナントの中に、システムが含まれ、システムの中に1台以上のサーバコンピュータが含まれる。
「テナントID」とは、アプリケーションの利用組織(テナント)を示すIDであり、テナント毎に異なるIDが付与される。テナントIDは、1以上のシステムIDと対応付けられ、システムIDは1以上のサーバーIDと対応付けられる。
ファイル名の拡張子「.bat」は、Windows(登録商標)上のバッチファイルであり、コマンドを1つのテキストファイルに記述することで、複数の処理をまとめて実行することができる。
ファイル名の拡張子「.ps1」は、PowerShellにおけるスクリプトファイルを示す。PowerShellとは、Windows(登録商標)上のコマントラインインターフェースシェルおよびスクリプト言語であり、シェルとは、OSのユーザのためにインタフェースを提供するソフトウェアである。
【0018】
図1は、本実施の形態におけるシステム構成図である。システム管理者からの入力を受け付ける管理端末100と環境構築を行う環境構築サーバー(環境構築装置)200と、環境構築サーバー200により環境が構築、更新される操作対象サーバー(操作対象装置)400とがネットワーク300を介して接続されている。操作対象サーバー400(400a、400b・・・)は、OS等のコンピュータ環境が異なるものを複数台設置することができる。
【0019】
管理端末100は、処理手段11、通信手段12、操作要求基準日情報13、操作要求仕掛情報14を備えている。処理手段11は、管理端末100における入出力、表示機能を制御するものであり、通信手段12は、ネットワーク300を介して環境構築サーバー200とデータの送受信を行うものである。操作要求基準日情報13、操作要求仕掛情報14は、ファイル形式で記憶装置に記憶されているものであり、操作要求基準日情報13は、管理端末100での選択により、システム管理者から処理が要求された日時が記憶される。詳細は、
図2を用いて後述する。操作要求仕掛情報14は、管理端末100での選択により、システム管理者から処理が要求されたとき、処理要求を識別するためのジョブIDが記憶される。詳細は、
図3を用いて後述する。
【0020】
環境構築サーバー200は、記憶手段20を備え、記憶手段20には、操作雛型情報27、操作カタログ情報28、操作対象コンピュータ接続情報29、操作順番制御情報30、操作要求実行履歴情報31、操作対象コンピュータ設定情報32、操作整形後情報33がファイル形式で記憶されている。
操作雛型情報27は、操作対象サーバー400に対する操作指示の雛型が操作雛型として記憶されているものである。操作雛型は、整形対象情報とそれに対応する変換情報との対応表も含む。詳細は、
図4を用いて後述する。
【0021】
操作カタログ情報28は、操作対象サーバー400に対する操作手順の雛型が操作カタログ情報として記憶されているものである。詳細は、
図5,6を用いて後述する。
操作対象コンピュータ接続情報29は、操作対象サーバー400をテナント毎にグループ分けし、さらにテナントの中でシステム毎にグループ分けしたグルーピング情報を記憶しているものである。詳細は、
図7を用いて後述する。
操作順番制御情報30は、同一の処理を複数の操作対象サーバー400に対して行うとき、操作の順番を指定した操作順番制御情報を記憶しているものである。詳細は、
図8を用いて後述する。
【0022】
操作要求実行履歴情報31は、操作対象サーバー400毎の処理実行結果を記憶している履歴情報であり、操作対象サーバー400の識別情報(サーバーID)、オペレーション名、処理実行日時、処理実行済みか処理実行不可かを示す処理実行状況情報を記憶している。詳細は、
図9を用いて後述する。
操作対象コンピュータ設定情報32は、操作要求実行履歴情報31に基づき操作対象サーバー400毎の最新の操作実行状況を、具体的には、操作対象サーバー400の識別情報(サーバーID)、処理実行日時、処理実行済みか処理実行不可かを示す処理実行状況情報を記憶している。詳細は、
図10を用いて後述する。
操作整形後情報33は、操作対象サーバー400に応じて操作雛型情報27を整形した、一連の操作手順情報(処理命令)を記憶している。詳細は、
図11を用いて後述する。
【0023】
また環境構築サーバー200は、処理手段21、操作整形手段22、操作順番制御手段23、通信手段24、個別情報収集手段25も備える。処理手段21は、通信手段24を用いて管理端末100に対して、処理対象とする操作対象サーバー400を選択させる選択画面500を送信し、その後、管理端末100の選択により、処理対象とする操作対象サーバー400を特定する処理を実行する。選択画面500は、例えばインターネットを用いてHTML(HyperText Markup Language)形式で構成される。選択画面500は、
図12,13を用いて後述する。
【0024】
処理手段21は、選択画面500を用いた管理端末100での選択により、操作対象サーバー400の指定をテナントまたはシステムの単位で指定されたとき、操作対象コンピュータ接続情報29を参照することにより、対象となる操作対象サーバー400を特定する。
【0025】
また処理手段21は、選択画面500への入力に基づき操作対象サーバー400に対する処理要求を受け付けたとき、受け付けた処理要求を特定するジョブIDを発行し、ジョブIDと操作要求情報とを関連付けて操作要求実行履歴情報31に記憶し、処理手段21の制御に基づき通信手段24は、ジョブIDを管理端末100に送信する。管理端末100では、ジョブIDを操作要求仕掛情報14として記憶する。管理端末100は、該当のジョブの進む具合を照会するために定期的にジョブIDと処理状況照会情報とを送信し、通信手段24は、ジョブIDと処理状況照会情報とを受信すると、操作要求実行履歴情報31に基づき、該当ジョブIDの実行状況を管理端末100に送信する。
【0026】
その後処理手段21は、操作カタログ情報28を参照し、特定した操作対象サーバー400に予め関連付けられている個別カタログ情報を特定する。個別カタログ情報は、操作カタログ情報28のレコード単位の情報を示す。
【0027】
操作整形手段22は、操作対象サーバー400の個別カタログ情報が指定する操作雛型情報27の整形対象情報を操作対象サーバー400に合った変換情報に変換し、操作対象サーバー400に応じた操作手順情報に整形し、操作整形後情報33として記憶する。操作整形後情報33の操作手順情報には、処理命令だけでなく、操作制御APPやデータ(データベースの一部)も含まれる。また操作整形手段22は、操作カタログ情報28に含まれる通信プロトコル指定情報を参照し、操作対象サーバー400に応じた通信プロトコルを選別する。通信プロトコル指定情報は、優先順位を有しているので、操作対象サーバー400への処理がエラー終了したときは、操作整形手段22は次に優先順位が高い通信プロトコルを選択し、処理手段21は、次に選択された通信プロトコルにて処理するように通信手段24を制御する。
【0028】
操作順番制御手段23は、操作整形手段22が整形した操作手順情報で同一操作を複数の操作対象サーバー400に対して行うとき、操作順番制御情報30に基づき、操作する順番を決定する。処理手段21は、操作順番制御手段23が決めた順番で操作対象サーバー400に対する処理を行うように、通信手段24を制御する。
【0029】
ここまで説明したように通信手段24は、管理端末100から処理要求を受け付け、実行状況を送信し、操作対象サーバー400に処理情報またはファイルを送信し、処理の実行状況を示す処理実行状況情報を受信する。
【0030】
個別情報収集手段25は、通信手段24が操作対象サーバー400から処理実行済みか処理実行不可かを含む実行状況を示す処理実行状況情報を受信すると、この処理実行状況情報を収集する。その後、操作対象サーバー400から受信したサーバーID及びオペレーション名が、操作要求実行履歴情報31に記憶されている操作対象サーバー400の識別情報(サーバーID)及びオペレーション名と一致するレコードに、実行日時及び処理状況を記憶する。その後処理手段21は、操作要求実行履歴情報31に基づき、操作対象サーバー400毎の操作実施状況を操作対象コンピュータ接続情報29に記憶する。
【0031】
操作対象サーバー400(400a、400b・・・)は、通信手段41、操作制御手段42、操作保存情報43を備える。通信手段41は、ネットワーク300を介して環境構築サーバー200と送受信を行うものである。操作制御手段42及び操作保存情報43は、操作整形後情報33として環境構築サーバー200より送信されたものを記憶装置に記憶しているものである。通信手段41は、受信した操作整形後情報33を操作保存情報43として保管する。なお操作整形後情報33が操作制御APPの形式のときは、操作保存情報43内で操作制御手段42として保管する。
図1では、操作制御手段42と操作保存情報43は、分離して図示しているが、通信手段41は特に処理を分けることなく、記憶装置に操作整形後情報33を記憶することにより、所定の操作整形後情報33は、操作制御手段42として動作し、それ以外の操作整形後情報33は、制御情報(処理命令)またはデータとして保管される。
【0032】
図2は、操作要求基準日情報13の構成を示す。選択画面500を用いて処理実行が要求された日時が記憶される。
図3は、操作要求仕掛情報14の構成を示す。操作要求仕掛情報は、選択画面500を用いて処理実行が要求されたとき、環境構築サーバー200にて発行される操作要求情報を識別するためのジョブIDである。
【0033】
図4は、操作雛型情報27の一例を示す図である。
図4に示す操作雛型情報27a1は、ファイル「aa.ps1」に記載された、操作対象サーバー400への接続指示を示す雛型である。操作雛型情報27a2は、ファイル「bb.ps1」に記載された、操作対象サーバー400にファイルをコピーする処理指示を示す雛型である。また操作雛型情報27bは、整形対象を示す変数名と、変換情報との対応付けを示す。整形対象を示す変数名は、一例として「!!」で始まる変数としている。例えば、操作雛型のうち、変数「!!Server」は、操作対象コンピュータ接続情報29の「サーバーID」に対応することが規定される。また変数「!!Password」は、操作対象コンピュータ接続情報29の「パスワード」に対応することが規定される。操作雛型情報27bに定義する変数名は、任意に設定することができ、対応する変換情報も操作対象コンピュータ接続情報29以外の任意のファイルに規定された項目名を設定することができる。
図4では、操作整形手段22が操作雛型情報27bの変換情報は操作対象コンピュータ接続情報29の項目であることを予め記憶しているとして、操作雛型情報27bの一例を示しているが、任意のファイルの項目名を変換情報にする場合は、操作雛型情報27b内にファイル名を指定する項目を設定してもよい。
【0034】
図5、6は、操作カタログ情報28の一例を示す。操作カタログ情報28aは、1つのテナント内のシステム毎の操作対象サーバー400に対する操作手順の雛型が記憶されている。システム毎にサーバーカタログIDとサーバーカタログ名とが指定されている。サーバーカタログIDに対応して、処理順序とオペレーションタイプ(生成オプション)、処理順番、EXECタイプ、ファイル名が指定されている。オペレーションタイプとは操作の種別を表すものであり、
図5では一例として、サーバーカタログID「C01」に、「Create」、「Start」が登録されている。処理順序により、「Create」、「Start」の順番で処理されることが指定されている。生成オプションとは、オペレーションタイプに「Create」(生成)が選択されたとき、何を生成するかを示すものであり、
図5では一例として、OS、MW(ミドルウェア)、コンテンツ、DB(データベース)が登録されている。処理順番は、1つの生成オプション内での処理の順番を示す。28a1で示すように、1レコードの個々の指示情報を「操作情報」と称し、28a2のようにオペレーションタイプ毎の指示情報のかたまりを「操作群」と称する。28a1は、EXECタイプに「RCOPY,REXEC」、ファイルに「B.bat」と指定されている。これらの操作情報により、「RCOPY B.bat」、「REXEC B.bat」の指示情報を作成する。
【0035】
なお操作情報のEXECタイプには、「RCOPY」、「REXEC」、「LEXEC」がある。「RCOPY」は、操作対象サーバー400へのリモートの操作手順情報のコピーであり、「REXEC」は、操作対象サーバー400へのリモートでの操作手順情報の実行であり、「LEXEC」は、環境構築サーバー200での操作手順情報の実行を示す。「RCOPY」、「REXEC」が連続している操作情報は、操作制御APPを操作制御手段42として操作対象サーバー400にコピーした後、操作制御手段42を実行させる。「RCOPY」による制御情報は、操作対象サーバー400にデータ等をコピーする。「REXEC」による制御情報は、操作対象サーバー400の操作制御手段42を実行させる。「LEXEC」による制御情報は、「RCOPY」または「REXEC」の前処理または後処理を実行させる。例えば前処理としては、「RCOPY」の前に該当のデータの圧縮処理を行う、また後処理としては、「REXEC」の後に操作対象サーバー400から処理実行状況情報を記憶装置に記憶する等がある。
【0036】
なお操作情報のファイル名には、ファイル名を指定するだけでなく、フォルダ名を指定することができる。フォルダ名が指定されたときは、該当のフォルダにあるファイルが対象となる。
【0037】
図6は、操作カタログ情報28に含まれる通信プロトコル指定情報の一例を示し、操作カタログ情報28b1は、システム名毎の通信プロトコルの優先順位を定めている。操作カタログ情報28b2は、ファイル種別毎の通信プロトコルの優先順位を定めている。操作カタログ情報28に含まれる通信プロトコル指定情報は、このように操作対象サーバー400固有の情報または、送信するファイル種別等に基づき、任意に定められる。
【0038】
図7は、操作対象コンピュータ接続情報29の一例を示す。
図7に示すように、テナントID、テナント名、テナントIDに含まれるシステムID、システム名、システムIDに対応するサーバーカタログID、サーバーID、サーバー名(仮想サーバ名を含む)、ユーザ名、パスワードが指定されている。図示していないが、個々の操作対象サーバー400へのログインのため、ユーザ名、パスワードだけでなく、サーバーIDに対応するIPアドレスを登録してもよい。
【0039】
図8は、操作順番制御情報30の一例を示す。操作順番制御情報30aの一例では、処理順番は全て「0」なので、どの操作対象サーバー400から処理してもよいことを示す。操作順番制御情報30bの一例では、処理順番「1」、「2」、「3」の順番に操作対象サーバー400に対する処理を行うことを示す。操作順番制御情報30cの一例では、処理順番「1」、「1」で指定された操作対象サーバー400に対する処理をまず行い、次に「2」の操作対象サーバー400に対する処理を行うことを示す。操作順番制御情報30は、全ての操作対象サーバー400について、1つのファイルに記憶するように構成してもよいし、システムID毎、またはテナントID毎に構成してもよい。
【0040】
図9は、操作要求実行履歴情報31の一例を示す。管理端末100からの処理要求に基づき、ジョブID、カタログID、サーバーID、オペレーション名(オペレーションが「生成」の場合は、生成オプションを含む)が登録され、操作対象サーバー400から受信した処理状況に基づき、実行日時と処理実行状況(処理実行済みの場合は「OK」または、処理実行不可の場合は「NG」)とが登録される。実行状況の詳細情報を受信するように構成し、合わせて操作要求実行履歴情報31に記憶するように構成してもよい。
図10は、操作対象コンピュータ設定情報32の一例を示す。サーバーID毎の最新の実行日時、実行状況が登録される。
【0041】
図11は、操作整形後情報33の一例を示す。
図11は、操作雛型情報27のファイル「aa.ps1」を操作対象サーバー400に対応して整形した操作手順情報である。操作整形後情報33aはSV111に、操作整形後情報33bはSV112に、操作整形後情報33cはSV113に対応して整形した操作手順情報である。該当の操作対象サーバー400を判別するために、それぞれの操作整形後情報33は記憶手段20内のサーバーIDに対応したフォルダに保管される。あるいは、操作整形後情報33のファイル名にて、該当の操作対象サーバー400を判別するように構成してもよい。
【0042】
図12、13は、管理端末100に表示する選択画面500a、500bの一例を示す選択画面500aには、サーバー情報表示欄501と、テナント選択欄502、システム選択欄503、サーバー選択欄504、オペレーション名「生成」、「削除」、「起動」、「停止」のいずれかを選択する機能選択ボタン505、処理状況表示欄506が配置されている。サーバー情報表示欄501には、テナントID、テナント名、システムID、システム名、サーバーID、サーバー名、DB生成日、コンテンツ生成日を表示する例を示しているが、これらの情報は任意に設定できる。サーバーやMWを生成した日時を参考情報として表示してもよい。システム管理者がテナント選択欄502、システム選択欄503、サーバー選択欄504のいずれかを選択することにより、対象とする操作対象サーバー400が決定される。
図12では、SV111と、SV112が選択された例を示す。機能選択ボタン505で、「生成」が選択されたときは、
図13で示す生成オプション選択画面507が表示される。システム管理者は、生成オプション選択画面507への入力により、SV111とSV112に対して、生成する対象を選択する。
図13では、サーバーとMWが生成オプションとして選択された例を示す。
なお選択画面500aに表示されている「生成」、「削除」、「起動」、「停止」の機能は、操作カタログ情報28のオペレーションタイプの「Create」、「delete」、「Start」、「Stop」に対応する。
【0043】
次に
図14〜17に示したフローチャートを用いて本実施の形態における処理の流れを説明する。
図14に示すように処理を開始し、管理端末100の処理手段11は、URL(Uniform Resource Locator)を指定する等の方法により、処理手段21が送信する情報に基づき、選択画面500aを表示する(ステップS1)。処理手段11は、選択画面500a、500bに指定された入力を受け付け(ステップS2)、受け付けたサーバーID(またはテナントID、またはシステムID)、オペレーション名、を処理要求情報として構成する。オペレーション名に「生成」が選択されたときは、選択画面500bで選択された生成オプションが処理要求情報に含まれる。通信手段12は、通信手段24に対して処理要求情報を送信する(ステップS4)。
【0044】
環境構築サーバー200の通信手段24は、処理要求情報を受け付け(ステップS5)、処理手段21は、ユニークなジョブIDを発行し、通信手段24を用いて管理端末100にジョブIDを送信する(ステップS6)。処理手段21は、テナントIDまたはシステムIDの指定を受け付けたときは、操作対象コンピュータ接続情報29を参照することにより、テナントIDまたはシステムIDに対応するサーバーIDを特定する。その後処理手段21は、ジョブID、カタログID、及び処理要求情報(サーバID、オペレーション名)を操作要求実行履歴情報31に記憶する(ステップS7)。
管理端末100の処理手段11は、受信したジョブIDを操作要求仕掛情報14として記憶する(ステップS8)。
【0045】
続いて
図15に移り、処理手段21は、ステップS7で操作要求実行履歴情報31に記憶した処理要求情報に含まれるサーバーIDをキーとして、操作対象コンピュータ接続情報29を参照し、処理対象のサーバーIDに対応するサーバーカタログIDを取得する(ステップS9)。またテナント毎、システム毎に指定されたときも、操作対象コンピュータ接続情報29を参照し、処理対象のサーバーIDに対応するサーバーカタログIDを取得する。
【0046】
続いて操作整形手段22は、処理手段21が特定したサーバーカタログIDに基づき、操作カタログ情報28aから処理の雛型を取得する(ステップS10)。次に、操作順番制御手段23は、操作順番制御情報30を参照し、ステップS2で受け付けたサーバーIDの中で制御する順序を決定する(ステップS11)。例えば、
図12、13で示すようにサーバーIDはSV111とSV112が指定されているとき、
図8で示した操作順番制御情報30bのように定められている場合は、処理順序は、SV111、SV112の順になる。操作順番制御情報30a、30cのように定められている場合は、順序は特に定めなくてもよいし、サーバーIDの番号順と定めてもよい。
【0047】
次に、操作整形手段22は操作雛型情報27の変換情報に基づき、操作対象コンピュータ接続情報29等の情報を参照しながら、処理の雛型を各々の処理に整形する。整形した処理情報を操作整形後情報33に保存する(ステップS12)。例えば、処理要求情報として、サーバーIDはSV111、SV112、SV113のとき、サーバーカタログIDは「CO1」と判定される。オペレーションタイプは「Start」(起動)が選択されたとき、操作整形手段22は操作カタログ情報28の処理順番が1の操作情報を参照し、指示情報は「LEXEC start.ps1」であるので、「start.ps1」を環境構築サーバー200にてローカル実行する。
次に操作整形手段22は操作カタログ情報28の処理順番が2の操作情報を参照し、指示情報は「REXEC aa.ps1」であり、ファイル「aa.ps1」を整形することを決定する。操作整形手段22は操作雛型情報27を参照することにより、「aa.ps1」は、整形対象「!!Server」を「サーバーID」に、「!!Username」を「ユーザ名」に、「!!Password」を「パスワード」に変換することを判定するので、操作対象コンピュータ接続情報29の情報に基づき整形し、操作順序に基づき、
図11に示すように操作整形後情報33を作成する。
【0048】
操作整形手段22は、それぞれの操作整形後情報33が対応するサーバーIDが判明できるように、例えばサーバーIDをフォルダ名として記憶手段20内にフォルダを作成し、該当のフォルダに保管する。なおファイルによっては、整形対象を含まない場合もある。その場合は、操作雛型情報27をそのまま操作整形後情報33に保存する。あるいは、後述するステップS14の処理で、処理手段21が該当のファイルが存在するフォルダを参照できるように構成する場合は、該当のファイルを所定のフォルダに保存しておくままでもよい。
操作整形手段22は、操作カタログ情報28の処理順番に基づき、指示情報を決定し、操作情報を整形して操作整形後情報33を作成する。操作整形手段22は、処理順番と指示情報と操作整形後情報33との対応付けを記憶装置に記憶する。
操作整形後情報33は、操作制御アプリケーション(操作制御APP)を含み、操作制御APPは操作対象サーバー400に配布された後は、操作制御手段42となる。
【0049】
続いて処理手段21は、操作カタログ情報28bの通信タイプに基づき、操作対象サーバー400に応じた通信方法を決定する(ステップS13)。例えばシステム名で通信方法を決定するとしたとき、SV111、SV112は操作対象コンピュータ接続情報29により、システム名は「経理」に定められているので、操作カタログ情報28b1を参照することにより、通信プロトコルはSSH、仮想マシン管理API、RSH順に選択する。処理手段21は、ステップS11で決定した順序で、ステップS13で決定した通信プロトコルで、ステップS12で保存した処理順番で、指示情報を実行する。指示情報が「RCOPY」のときは操作整形後情報33を配布する。操作対象サーバー400との間で通信エラーが発生したときは、処理手段21は次に選択されている通信プロトコルにより、指示情報を実行するために、指示情報と操作整形後情報33を送信する。通信エラーが継続する場合は、さらに次に選択された通信プロトコルで、順次送信処理を行う(ステップS14)。つまり処理手段21は、操作対象サーバー400に対して、指示情報またはファイル(操作制御APP、データファイル)のいずれか一方、または双方を送信する。また指示情報は、操作対象サーバー400に対する、生成、削除、起動または停止のいずれかのオペレーションタイプを含み、オペレーションタイプが生成のときは、操作対象サーバー400上に何を生成するかの対象物(例えば、サーバー、MW、コンテンツ、DB)情報が指示情報に含まれる。
ステップS13での通信方法の決定は、例えばシステム毎、ファイル種別毎と、任意の種別で決定することができる。
【0050】
なお、ステップS12の整形処理、ステップS13の通信方法決定処理、ステップS14の送信処理は、説明したように、操作群単位で実行するように構成してもよいし、操作情報単位で実行するように構成してもよい。操作群単位で実行する場合は、処理時間を短縮させることが期待できる。操作情報単位で実行する場合は、環境構築サーバー200にて、操作対象サーバー400での処理実行状況を把握した上で次の操作情報に移行させる対応ができる。
【0051】
次に、操作対象サーバー400では通信手段41は、受信した操作整形後情報33が操作制御APPである場合は、操作制御手段42として保存し、操作整形後情報33がデータである場合は、操作保存情報43として保存する。また指示情報も、操作保存情報として保存する(ステップS15)。操作制御手段42は、操作保存情報43に基づき、処理を実行する(ステップS16)。
【0052】
続いて
図16に移り、操作対象サーバー400での処理が完了したとき、通信手段41は処理実行状況とログファイルとを環境構築サーバー200に送信する(ステップS17)。環境構築サーバー200では、個別情報収集手段26は、処理状況を収集し、ステップS7で処理手段21が記憶した操作要求実行履歴情報31に追加する形式で、実行状況と実行状況詳細に、処理実行状況を記憶する(ステップS18)。具体的には、収集した処理実行状況が処理実行済みであるときは、実行状況に「OK」と記憶し、処理実行状況が処理実行不可であるときは、実行状況に「NG」と記憶する。
その後、処理手段21は、操作要求実行履歴情報31を参照して、操作対象サーバー400毎の最新の設定状況を操作対象コンピュータ設定情報32に更新する(ステップS19)。環境構築サーバー200での処理は、一旦停止する。
【0053】
処理手段11は、ジョブIDに基づき、処理状況照会情報を送信する(ステップS20)。環境構築サーバー200では、処理手段21が操作要求実行履歴情報31を参照し、該当のジョブIDが指定されたレコードの中で実施状況が記録されているのが何件あるかにより実行状況を判定または、算出し(ステップS21)、通信手段24を用いて、処理手段21は、実行状況を管理端末100に送信する(ステップS22)。処理手段11は、実行状況を例えば、
図12に示す処理完了数のように、選択画面500に表示する(ステップS23)。全ての処理が完了したと判定したときは、処理手段11は、選択画面500にその旨を表示し、操作要求仕掛情報14を消去し、処理を終了する。処理手段21がステップS22で送信する実行状況は、「処理完了数/同一ジョブIDで指定される処理数」でもよいし、%に換算した数値でもよい。
【0054】
ステップS20〜S23の処理と同様に、選択画面500に処理の進む具合を表示するために、定期的な管理端末100からの照会に基づき、環境構築サーバー200は、実行状況を通知する。
図17は、管理端末100からの定期的な照会処理を示す。処理手段11は、予め定められた間隔で、ジョブIDと処理状況照会情報とを環境構築サーバー200に送信する(ステップS31)。処理手段21は、操作要求実行履歴情報31を参照して、実行状況を判定し(ステップS32)、通信手段24を用いて、実行状況を送信する(ステップS33)。処理手段11は、実行状況を選択画面500に表示する(ステップS34)。これらの処理は、全てのジョブが完了するまで、定期的に実施される。
【0055】
以上説明したように本実施の形態によると、操作対象サーバー400に環境を構築する際、管理端末100において環境を構築する操作対象サーバー400を任意に選択した上で、操作制御手段42を動的に配置することができる。操作雛型情報27に雛型の情報を記憶しておき、操作対象サーバー400に応じた情報を組み込むことで、環境構築のためのプログラムやデータファイルを配布することができる。そのため、OSや通信プロトコルが操作対象サーバー400毎に異なる場合でも、操作対象サーバー400の一括または部分的に環境の構築または再構築を行うことができる。
また操作対象サーバー400側では特に処理を分けることなく、記憶装置に操作整形後情報33を記憶することにより、所定の操作整形後情報33は、操作制御手段42として動作し、それ以外の操作整形後情報33は、制御情報(処理命令)またはデータとして保管される。そのため操作整形後情報33には、任意の操作制御手段42、制御情報、及びデータを設定することができる。
【0056】
またシステム管理者は、管理端末100を用いて、操作対象サーバー400をテナントID、システムIDまたはサーバーIDで指定することができるため、複数台のコンピュータの環境構築または更新を効率的に行うことができる。
さらに操作雛型情報27は、環境構築サーバー200に存在し、操作対象サーバー400から直接アクセスを受けることはないため、セキュリティ上の問題を回避することができる。
さらに、操作順番制御手段23により、操作対象サーバー400に環境を構築または再構築する順序を任意に定めることができるため、操作対象サーバー400同士の関係に応じたシステム全体の環境構築が実現できる。
【0057】
実施の形態2.
実施の形態1では、管理端末100に選択画面500a、500bを表示し、システム管理者からの指定により、対象とする操作対象サーバー400とオペレーションタイプとを決定した。本実施の形態では、システム管理者からの指定を受け付けずに、緊急時等、一斉に操作指示(一連の操作群)を実行する方法について、説明する。
【0058】
本実施の形態における処理の流れを
図18、19に、管理端末100に表示する選択画面500cを
図20に示す。操作画面500cには、「失敗のみ」を選択する選択欄511と、実行ボタン512が配されている。選択欄511を選択すると、操作対象コンピュータ設定情報32の実行状況が「NG」の操作対象サーバー400のみが選択され、選択欄511が選択されないと、現在の日時を基準としてそれ以前に更新された全ての操作対象サーバー400が対象になる。本実施の形態のシステム構成図は、実施の形態1で用いた
図1のとおりである。
図18〜20を用いて、本実施の形態における処理の流れを説明する。
【0059】
図18に示すように、処理を開始し、処理手段11は
図20に示す操作画面500cを表示する(ステップS41)。選択欄511が選択されているかどうかを判定し(ステップS42)、処理手段11は、選択欄511が選択されていないと判定したとき、操作要求基準日情報13の基準日に現在の日時を上書きし、(ステップS43)、ステップS44に進む。ステップS42で選択欄511が選択されていると判定したとき、ステップS44に進み、処理手段11は、操作要求基準日情報13から基準日を取得する(ステップS44)。次に処理手段11は、選択欄511が選択されていないときは対象情報を「全て」とし、選択欄511が選択されているときは対象情報を「実行状況が処理実行不可(NG)のみ」として、通信手段12を用いて、基準日情報と、対象情報と共に処理要求を環境構築サーバー200に送信する(ステップS45)。
【0060】
環境構築サーバー200の通信手段24は、処理要求情報を受け付け、処理手段21は操作対象コンピュータ設定情報32を参照し、操作対象サーバー400を特定する。具体的には、対象情報と基準日とで特定されるが、対象情報が「全て」のときは操作対象コンピュータ設定情報32の実行日時が基準日より古い日時が指定されている操作対象サーバー400を操作対象と特定する。また対象情報が「実行状況がNGのみ」のときは操作対象コンピュータ設定情報32の実行日時に基準日より新しい日時(実行日時と基準日が同じものを含んでもよい)が記憶され、かつ実施状況が「NG」の操作対象サーバー400を操作対象と特定する(ステップS46)。それ以降、ステップS6からの処理は、実施の形態1で説明したとおりである。
【0061】
次に
図19を用いて、エラー回復処理について処理の流れを説明する。管理端末100から環境構築サーバー200に処理要求を実行しているとき、管理端末100でのエラーまたは、ネットワーク300でのネットワーク障害により、処理が完了しない場合がある。また処理が完了していても、管理端末100で処理の進み具合が確認できないため、再度同じ処理を実行させる必要があった。本実施の形態では、操作要求仕掛情報14を用いて、処理の進み具合を確認し、更に処理を継続させることができる。
【0062】
処理を開始し、処理手段11は管理端末100自体のシステムエラーまたはネットワークエラーから回復した状態であることを検知した上で、操作画面500aを表示する(ステップS51)。処理手段11は、操作要求仕掛情報14から操作要求仕掛情報を、取得する(ステップS52)。通信手段12は、操作要求仕掛情報と共に処理継続要求を環境構築サーバー200に送信する(ステップS53)。次に、通信手段24は、処理継続要求を受け付け、処理手段21は、操作要求実行履歴情報31を参照し、受信した操作要求仕掛情報と記憶されたジョブIDが同一で、実行日時、実施状況が指定されていない操作対象サーバー400を処理対象として特定する。(ステップS54)。
それ以降、ステップS9からの処理は、実施の形態1で説明したとおりであり、処理が途中で中断している場合は、
図15〜
図16に示した処理で継続される。また一連の処理が完了している場合は、
図17で示した処理で、操作画面500aに処理完了済みであることが通知される。
【0063】
このように、本実施の形態では、通信手段24は、管理端末100から操作基準日情報を受信し、処理手段21は、操作対象コンピュータ設定情報32を参照し、操作対象コンピュータ設定情報32に記憶された実行日時と、通信手段24が受信した操作基準日情報とを比較し、処理対象の操作対象サーバー400と定める。また対象情報として、操作対象サーバー400の「全て」または、「実行状況が処理実行不可(NG)のみ」のいずれかを受け付け、実行日時だけでなく、処理実行状況により処理対象の操作対象サーバー400を定めることができる。
対象情報として「全て」が指定されたとき、または対象情報を特に指定されないときは、操作対象コンピュータ設定情報32を参照し、操作対象コンピュータ設定情報32に記憶された実行日時と、操作基準日情報とを比較し、実行日時が操作基準日より古い日時が指定された操作対象装置を処理対象の操作対象装置とする。
対象情報として「実行状況が処理実行不可(NG)のみ」が指定されたときは、操作対象コンピュータ設定情報32を参照し、操作対象コンピュータ設定情報32に記憶された実行日時と、操作基準日情報とを比較し、実行日時が操作基準日より新しい日時が指定され、かつ実行状況が処理実行不可である操作対象装置を、処理対象の操作対象装置とする。
このように構成することにより、システム管理者による個別の指定を受け付けることなく、実行日時または実施状況の選択により、処理対象の操作対象サーバー400を一括して選択することができる。
【0064】
また処理手段11が何らかのエラーから回復した状態であることを検知したとき、管理端末100は環境構築サーバー200に対して、再実行指示情報(処理継続要求情報)を送信する。通信手段24は、再実行指示情報を受信し、処理手段21は、操作要求実行履歴情報31を参照し、操作要求実行履歴情報31に記憶されたジョブIDと管理端末100から受信したジョブID(操作要求仕掛情報)とが同一で、実行日時、実施状況が指定されていないサーバーIDを、処理対象の操作対象サーバー400と定める。このように構成することにより、何らかの原因で管理端末100がエラー終了したときも、再度正常に起動したときに、実行途中であった処理を継続できるだけでなく、処理が完了している場合でも実行状況を選択画面500にて表示することができる。なお管理端末100がエラー終了している間に、該当の処理が完了しているときは、別の表示画面を表示して、選択画面500a、500bで選択された処理が正常に実行されている旨を表示するように構成してもよい。
【0065】
また環境構築作業を行っている途中で、管理端末100がエラー終了したとき、操作要求仕掛情報14を用いることにより、環境構築作業の進み具合を確認した上で、作業を途中から再開することができる。
【0066】
図21は、各実施の形態で用いた管理端末100、環境構築サーバー200、操作対象サーバー400のハードウェア資源の一例を示す図である。
図21において、コンピュータは、システムユニット(図示せず)、CRT(Cathode・Ray・Tube)やLCD(液晶ディスプレイ)の表示画面を有する表示装置901、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニットは、コンピュータであり、LANに接続されている。
【0067】
各コンピュータは、プログラムを実行するCPU911(「演算装置」、「マイクロプロセッサ」、「マイクロコンピュータ」、「プロセッサ」ともいう)を備えている。CPU911は、
図1で示した各処理部(〜手段)でデータや情報の演算、加工、読み取り、書き込みなどを行うために利用される処理装置である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、スキャナ装置906、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【0068】
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、それぞれのコンピュータが用いる記憶装置(記憶部)929の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905、スキャナ906などは、入力装置(図示せず)の一例である。また、通信ボード915、表示装置901などは、出力装置(図示せず)の一例である。
【0069】
通信ボード915は、ネットワーク300に接続されている。ネットワーク300は、LANに限らず、インターネット、あるいは、WANなどで構成されていても構わない。
記憶装置(磁気ディスク装置)920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。また、ファイル群924には、各実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(IDentifier)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理(動作)に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0070】
また、各実施の形態の説明において説明するブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、RAM914などのメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク(MD)、DVD(Digital・Versatile・Disc)などの記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体により伝送される。
【0071】
また、各実施の形態の説明において「〜手段」として説明するものは、「〜部」、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜手段」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどの記録媒体に記憶される。このプログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、各実施の形態の説明で述べる「〜手段」としてコンピュータを機能させるものである。あるいは、各実施の形態の説明で述べる「〜手段」の手順や方法をコンピュータに実行させるものである。