(57)【特許請求の範囲】
【請求項１】
１以上のデバイスを備えた第１の計算機と、前記第１の計算機のデバイスの設定情報を生成する第２の計算機と、を備えて前記第１の計算機のデバイスの設定を、前記第２の計算機で生成した前記第１の計算機のデバイスの設定情報で実行する計算機のデバイス設定方法であって、
前記第２の計算機が、前記デバイス毎に予め定義された項目名と当該定義された項目名に対応するデバイス毎のコマンドとを対応付けたパラメータ情報から、前記第１の計算機のデバイスの設定情報として、前記定義された項目名と前記定義された項目名に対応する設定値とをデバイス毎に受け付ける第１のステップと、
前記第２の計算機が、前記デバイス毎に受け付けた前記項目名と前記設定値とを前記パラメータ情報で変換して、前記第１の計算機の前記デバイス毎の設定用コマンドを生成する第２のステップと、
前記第２の計算機が、前記生成された第１の計算機のデバイス毎の設定用コマンドを結合して、前記第１の計算機のデバイスの設定情報として出力する第３のステップと、
を含むことを特徴とする計算機のデバイス設定方法。
【請求項２】
請求項１に記載の計算機のデバイス設定方法であって、
前記第１の計算機が、前記第２の計算機が出力した前記デバイスの設定情報を受け付ける第４のステップと、
前記第１の計算機が、前記受け付けたデバイスの設定情報からデバイス毎の設定用コマンドを実行して当該デバイスの設定を行う第５のステップと、
を含むことを特徴とする計算機のデバイス設定方法。
【請求項３】
請求項２に記載の計算機のデバイス設定方法であって、
前記第１のステップは、
前記第１の計算機の複数のデバイスについて、複数のデバイス名と、前記デバイス毎の項目名と、前記項目名に対する設定値とを受け付けて、
前記第２のステップは、
前記受け付けたデバイス名と、前記デバイス毎に受け付けた項目名と前記項目名に対する設定値とを前記パラメータ情報で変換して、前記第１の計算機の前記デバイス毎に設定用コマンドを生成することを特徴とする計算機のデバイス設定方法。
【請求項４】
請求項３に記載の計算機のデバイス設定方法であって、
前記第２のステップは、
前記デバイス毎に受け付けた前記項目名を、前記パラメータ情報に設定された前記デバイスのベンダーの仕様に応じたコマンドに変換することを特徴とする計算機のデバイス設定方法。
【請求項５】
請求項４に記載の計算機のデバイス設定方法であって、
前記第２のステップは、
前記設定値を、前記パラメータ情報に設定された前記デバイスのベンダーの仕様に応じた設定値に変換することを特徴とする計算機のデバイス設定方法。
【請求項６】
請求項５に記載の計算機のデバイス設定方法であって、
前記第２の計算機は、前記第１の計算機がオフラインの期間に前記第１及び第２のステップを実行することを特徴とする計算機のデバイス設定方法。
【請求項７】
１以上のデバイスを備えた設定対象計算機における、設定対象計算機のデバイスの設定情報を生成する計算機であって、
前記計算機は、
前記設定対象計算機のデバイスの設定情報を生成する設定マネージャを備え、
前記設定マネージャは、
前記デバイス毎に予め定義された項目名と当該定義された項目名に対応するデバイス毎のコマンドとを対応付けたパラメータ情報と、
前記設定対象計算機のデバイスの設定情報として、前記デバイス毎に前記パラメータ情報で定義された項目名と、前記定義された項目名に対応する設定値をデバイス毎に受け付ける設定入力部と、
前記デバイス毎に受け付けた前記項目名と前記設定値とを、前記パラメータ情報で変換して前記設定対象計算機の前記デバイス毎の設定用コマンドを生成する設定定義生成部と、
前記生成されたデバイス毎の設定用コマンドを結合して、設定対象計算機のデバイスの設定情報として出力する設定情報生成部と、
を有することを特徴とする計算機。
【請求項８】
請求項７に記載の計算機であって、
前記設定入力部は、
前記設定対象計算機の複数のデバイスについて、複数のデバイス名と、前記デバイス毎の項目名と、前記項目名に対する設定値とを受け付けるインターフェースを提供し、
前記設定定義生成部は、
前記受け付けたデバイス名と前記デバイス毎に受付けた項目名と前記項目名に対する設定値とを前記パラメータ情報で変換して、前記デバイス毎に設定用コマンドを生成することを特徴とする計算機。
【請求項９】
請求項８に記載の計算機であって、
前記設定定義生成部は、
前記デバイス毎に受け付けた前記項目名を、前記パラメータ情報に設定された前記デバイスのベンダーの仕様に応じたコマンドに変換することを特徴とする計算機。
【請求項１０】
請求項９に記載の計算機であって、
前記設定定義生成部は、
前記設定値を、前記パラメータ情報に設定された前記デバイスのベンダーの仕様に応じた設定値に変換することを特徴とする計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープン系計算機システムにおけるデバイスの設定方法に関する。
【背景技術】
【０００２】
コンピュータの分野で、国際標準あるいは業界標準の規格に準拠したソフトウェアやハードウェアで構成される計算機システムを、オープン系計算機システムという。オープン系の計算機システムの一例としてはＩＡ（Intel Architecture）サーバなどが広く採用されている。オープン系計算機システムには、前記規格または標準に準拠していれば、複数のベンダーが各々製造しているデバイスの搭載が可能である。前記デバイスとしては、ネットワークカードやＲＡＩＤカードまたはホストバスアダプタなどがある。一般的に、前記デバイスを使用するためには、通信速度やフロー制御の設定など、前記デバイスを制御するデバイスドライバの設定を行う必要がある（例えば、特許文献1）。現状、複数のベンダーが各々製造しているデバイスが搭載されたオープン系計算機システムにおいて、上述の各種設定を行うためには、前記ベンダーが提供する専用のツールが用いられている（例えば、特許文献２、３）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１６９６４６号公報
【特許文献２】特開２００７−３２３６２０号公報
【特許文献３】特表２００９−５１４１２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、オープン系計算機システムにおいて、上述の設定を行う際、以下に述べる問題が生じている。
【０００５】
第１の問題は、複数ベンダーのデバイスが搭載されることによる、オープン系計算機システム特有の課題である。それは、前記業界標準の規格では、デバイスの設定を行うＵＩ（ユーザーインターフェース）については定義されていないため、前記ＵＩは現状としてデバイスを製造するベンダー毎に設計されている。そのため、ベンダー毎に、デバイスの設定を行うツール（以下ベンダーツールとする）のＵＩが異なるため、ツール利用者の作業負荷が大きいことである。即ち、各ＵＩの、操作方法の違い、設定項目の表示名の違い、設定値の表示名の違いを理解する、という作業負荷をユーザーに強いるという課題があった。
【０００６】
ＵＩの操作方法の違いとは、ＵＩ画面のレイアウトや画面遷移、作業手順の違いなどである。ユーザーは、異なるベンダーの同種デバイスの設定を行うために、ベンダー毎に設計された複数の操作方法を理解しなければならない。
【０００７】
設定項目の表示名の違いとは、同種デバイスの同一設定項目に対して各ＵＩで表示される名称の違いのことである。例えば、データ通信の速度を設定する項目に対し、あるベンダーツールでは”通信速度”として表示され、別のベンダーツールでは”リンクスピード”と表示される場合がある。したがって、ユーザーはデータ通信の速度を設定する場合に、どの表示名の設定項目が前記設定項目に該当するのか、ベンダーツール毎に理解していなければならない。
【０００８】
設定値の表示名の違いとは、設定値として特定の文字列を選択するタイプの設定項目の場合に、同一設定項目に対する設定値の、選択枝の表示名の違いである。例えば、ある機能の有効／無効を設定する項目の設定値が、あるベンダーツールでは”ｏｎ／ｏｆｆ”あり、別のベンダーツールでは”０／１”である場合がある。したがって、ユーザーはある機能の有効／無効を設定するために、どの文字列の設定値が前記機能の有効／無効に対応しているのか、ベンダーツール毎に理解していなければならない。
【０００９】
第２の問題は、ユーザーがデバイスの設定を、オフラインではできない点である。デバイスの設定とは、各デバイスを制御するためのデバイスドライバの設定である。デバイスドライバはＯＳ上で動作するため、デバイスドライバの設定は、ＯＳ上で動作するベンダーツールから行う必要がある。したがって、上記従来例では、ユーザーは、ＯＳをインストール後にならないとデバイスの設定作業を行えず、ＯＳのインストールの完了までの時間がボトルネックとなり、計算機システム導入後の初期設定完了までにかかる時間の短縮を困難にしていた。
【００１０】
そこで、本発明は上記問題点に鑑みてなされたもので、ベンダー毎のＵＩの違いを吸収して容易にデバイスを設定可能な計算機を提供することを目的とする。さらに、計算機システム導入後の初期設定完了までの時間を短縮することを第２の目的とする。
【課題を解決するための手段】
【００１１】
本発明は、１以上のデバイスを備えた第１の計算機と、前記第１の計算機のデバイスの設定情報を生成する第２の計算機と、を備えて前記第１の計算機のデバイスの設定を、前記第２の計算機で生成した前記デバイスの設定情報で実行する計算機のデバイス設定方法であって、前記第２の計算機が、前記デバイス毎に予め定義された項目名と、当該定義された項目名に対応するデバイス毎のコマンドを対応付けたパラメータ情報から、前記第１の計算機のデバイスの設定情報として、前記定義された項目名と、前記定義された項目名に対応する設定値をデバイス毎に受け付ける第１のステップと、前記第２の計算機が、前記デバイス毎に受け付けた前記項目名と設定値を前記パラメータ情報で変換して前記第１の計算機の前記デバイスの設定用コマンドを生成する第２のステップと、前記第２の計算機が、前記生成された第１の計算機のデバイス毎の設定用コマンドを結合してデバイスの設定情報として出力する第３のステップと、を含む。
【発明の効果】
【００１２】
したがって、本発明は、ベンダー毎に異なるデバイス設定用のユーザーインターフェースの違いを吸収して容易にデバイスを設定可能な計算機を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例を示し、計算機システムの一例を示すブロック図である。
【図２Ａ】本発明の実施例を示し、ベンダーＸのデバイスＡのパラメータリストの一例を示す図である。
【図２Ｂ】本発明の実施例を示し、ベンダーＹのデバイスＢのパラメータリストの一例を示す図である。
【図２Ｃ】本発明の実施例を示し、ベンダーＺのデバイスＣのパラメータリストの一例を示す図である。
【図３Ａ】本発明の実施例を示し、設定定義中間ファイルの一例を示す図である。
【図３Ｂ】本発明の実施例を示し、設定定義ファイルの一例を示す図である。
【図４Ａ】本発明の実施例を示し、デバイス搭載情報入力画面の一例を示す画面イメージである。
【図４Ｂ】本発明の実施例を示し、デバイス選択画面の一例を示す画面イメージである。
【図４Ｃ】本発明の実施例を示し、設定入力画面の一例を示す画面イメージである。
【図５】本発明の実施例を示し、デバイス搭載情報入力画面、デバイス選択画面及び設定入力画面を生成するためのデータ構造体の一例を示す図である。
【図６】本発明の実施例を示し、計算機システムで行われる処理の一例を示すフローチャートである。
【図７】本発明の実施例を示し、設定入力画面処理部で行われる処理の一例を示すフローチャートである。
【図８】本発明の実施例を示し、設定定義中間ファイル作成部で行われる処理の一例を示すフローチャートである。
【図９】本発明の実施例を示し、設定定義ファイル作成部で行われる処理の一例を示すフローチャートである。
【図１０】本発明の実施例を示し、設定エージェントで行われる処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【実施例１】
【００１５】
図１は、本発明の実施例を示し、異なるベンダーが製造したＩ／Ｏデバイス（以下、単にデバイスとする）の設定を、共通のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）からオフラインで実行する設定マネージャを備えた計算機システムの一例を示すブロック図である。
【００１６】
図１において、計算機システムは、異なるベンダーが提供するデバイスＡ〜Ｃを装着したオープン系の計算機１１０と、オープン系の計算機１１０のデバイスの設定情報を生成する計算機１０１と、計算機１０１で生成したデバイスの設定情報を転送するネットワーク９３を主体に構成される。本実施例では、デバイス情報の設定を実行するオープン系の計算機１１０がオフラインの状態で、計算機１０１の設定マネージャ１０６が計算機１１０のデバイスの設定情報を生成する。そして、設定対象の計算機１１０がオンラインとなってから計算機１０１はデバイスの設定情報を転送し、設定対象の計算機１１０で稼働する設定エージェント１１４がデバイスの設定をＯＳ（Operating  System）８５のデバイスドライバに対して実行する例を示す。このため、計算機１０１と設定対象の計算機１１０は常時ネットワーク９３に接続される必要は無く、計算機１０１がデバイスの設定情報を設定対象の計算機１１０に送信するときにネットワーク９３を利用するようにしても良い。あるいは、計算機１０１はデバイスの設定情報を不揮発性の記憶媒体に書き込んで、設定対象の計算機１１０で不揮発性の記憶媒体を読み込むようにしてもよい。なお、異なる計算機で実行される設定マネージャ１０６と設定エージェント１１４がデバイス設定ツールを構成する。
【００１７】
図１において、デバイスの設定対象であるオープン系の計算機１１０は、演算処理を行うＣＰＵ１１１と、情報の入出力を行う入出力部１１５と、データやプログラムを格納するストレージ１１２と、実行するプログラムやデータを保持するメモリ１１３と、拡張スロットとしてデバイス搭載スロット０〜３（１２０〜１２３）と、ネットワークインターフェース９２を備える。なお、入出力部１１５はキーボードやポインティングデバイスの入力装置とディスプレイ等の出力装置で構成される。
【００１８】
デバイス搭載スロット０〜３（１２０〜１２３）は、標準規格（例えば、ＰＣＩやＰＣＩ express）に準拠して設計されており、複数のベンダーが各々製造しているデバイスを搭載することが可能である。実施例１では、デバイス搭載スロット０〜３（１２０〜１２３）に搭載されるデバイスを、設定エージェント１１４の設定対象のデバイスとする。なお、設定エージェント１１４は、メモリ１１３にロードされてＣＰＵ１１１で実行され、計算機１０１から受け付けたデバイスの設定情報である設定定義ファイル１０７に従ってデバイスの設定をＯＳ８５のデバイスドライバに対して実行する。また、設定対象の計算機１１０では、デバイスの設定を行うときに設定エージェント１１４が実行されれば良い。なお、デバイスドライバは、ＯＳ８５に含まれても良いし、ＯＳ８５に付加したものであっても良い。
【００１９】
オープン系の計算機１１０では、デバイス搭載スロット０（１２０）にベンダーＸのデバイスＡ（１１６）が装着され、デバイス搭載スロット１（１２１）にベンダーＹのデバイスＢ（１１７）が装着され、デバイス搭載スロット２（１２２）にベンダーＺのデバイスＣ（１１８）が搭載されており、デバイス搭載スロット３（１２３）には何も搭載されていない。なお、以下では、デバイス１１６〜１１８を、デバイスＡ、デバイスＢ、デバイスＣとする。
【００２０】
各デバイスＡ〜Ｃは設定の最小単位となる設定対象（例えば、ポート）を１つまたは複数備える。図１ではデバイスＡ（１１６）は設定対象１２４を１つのみ備え、デバイスＢ（１１７）は設定対象１２５〜１２７の３つを備え、デバイスＣ（１１８）は設定対象１２８〜１２９の２つを備える例を示す。
【００２１】
図１において、オープン系の計算機１１０のデバイスの設定情報を生成する計算機１０１は、演算処理を行うＣＰＵ１０２と、情報の入出力を行う入出力部１０３と、データやプログラムを格納するストレージ１０４と、実行するプログラムやデータを保持するメモリ１０５と、ネットワークインターフェース９１を備える。なお、入出力部１０３はキーボードやポインティングデバイス及びディスプレイ等で構成される。
【００２２】
計算機１０１のメモリ１０６には、デバイス設定ツールを構成する設定マネージャ１０６と、設定マネージャ１０６が使用するファイルであるパラメータリスト１０９と、設定マネージャ１０６が作成する一時ファイルである設定定義中間ファイル１０８と、設定定義中間ファイル１０８をまとめた（結合した）ファイルである設定定義ファイル１０７が格納される。  設定定義中間ファイル１０８は、設定対象１２４〜１２９毎に作成される。設定マネージャ１０６は、デバイス搭載情報入力画面（図４Ａ参照）の表示処理を行うデバイス搭載情報入力画面処理部１３０と、設定対象選択画面（図４Ｂ参照）の表示処理を行う設定対象選択画面処理部１３１と、設定入力画面（図４Ｃ参照）の表示処理を行う設定入力画面処理部１３４と、設定定義中間ファイル１０８の作成処理を行う設定定義中間ファイル作成部１３５と、設定定義ファイル１０７の作成処理を行う設定定義ファイル作成部１３３から構成される。
【００２３】
設定マネージャ１０６の各機能部はプログラムとしてメモリ１０５にロードされる。そして、ＣＰＵ１０２は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、ＣＰＵ１０２は、設定入力画面処理プログラムに従って動作することで設定入力画面処理部１３４として機能する。他のプログラムについても同様である。さらに、ＣＰＵ１０２は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００２４】
設定マネージャ１０６の各機能を実現するプログラム、テーブル等の情報は、ストレージ１０４や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００２５】
なお、計算機１１０の設定エージェント１１４についても、ＣＰＵ１１１が、設定エージェント１１４のプログラムに従って動作することによって、所定の機能を実現する機能部として動作するものである。
【００２６】
図２Ａ〜図２Ｃは、各ベンダーのデバイス毎に予め設定されたパラメータリスト１０９の一例である。パラメータリスト１０９は、前記オープン系計算機１１０に特有の課題を解決するため、ベンダー毎に異なるデバイスドライバのＵＩを、本発明のデバイス設定ツールの設定マネージャ１０６が提供する共通のＵＩに変換するためのリストである。図２Ａは、デバイスＡのパラメータリスト１０９−Ａを示し、図２Ｂは、デバイスＢのパラメータリスト１０９−Ｂを示し、図２Ｃは、デバイスＣのパラメータリスト１０９−Ｃを示し、パラメータリストの総称を符号１０９で示す。
【００２７】
以下にパラメータリストの詳細を述べ、図７において、パラメータリストを用いて、操作方法の違い、設定項目の表示名の違い、設定値の表示名の違いを無くした共通のＵＩを表示する方法を述べる。また、図８においてパラメータリストの情報を用いた、オフラインでの設定入力の処理方法を述べる。
【００２８】
図２Ａにおいて、パラメータリスト１０９−Ａは、図４Ｃの項目（ＰＡＲＡＭ１〜ＰＡＲＡＭ３）として表示する文字列を格納する項目表示名１０９１と、デバイスドライバに設定するデータの種類を格納する設定値タイプ１０９２と、デバイスドライバに送信するコマンドを格納する設定コマンド１０９３と、設定する値の条件を格納する設定可能範囲１０９４からひとつのエントリ構成される。
【００２９】
項目表示名１０９１は、ベンダーが異なる同種のデバイスＢ、Ｃのパラメータリスト１０９−Ｂ、１０９−Ｃと共通であり、設定マネージャ１０６は、計算機１０１のディスプレイ等に項目表示名１０９１の内容を表示する。これにより、ベンダー毎に表現の異なるデバイスの項目名を、設定マネージャ１０６が予め定めた名称に統一することができする。項目表示名１０９１の一例としては、デバイスの種類が通信デバイスの場合、デバイスＡでは「速度」、デバイスＢでは「リンク速度」、デバイスＣでは「通信帯域」となっていた場合、設定マネージャ１０６では項目表示名１０９１を「通信速度」とすることで、ベンダー毎に異なる項目名を「通信速度」に変換することができる。
【００３０】
次に、設定値タイプ１０９２は、デバイスドライバに設定する値の種類が格納され、数値を示す「ｎｕｍｂｅｒ」と、文字または文字列を示す「ｓｔｒｉｎｇ」と、文字または値の一覧から何れかを選択する「ｌｉｓｔ」等が設定される。
【００３１】
次に、設定コマンド１０９３は、デバイス毎に設定するコマンドが設定される。当該デバイスのベンダーが提供するコマンドが格納される。設定コマンドは、コマンドとパラメータをセットにしたものである。各ベンダーはコマンド、パラメータ、設定値、設定対象の４つから成る文字列（以降コマンド文）を発行することで設定を行うＣＬＩを提供している。設定コマンドは、コマンド文からコマンドとパラメータの部分を抜き出したものである。
【００３２】
例えば、図２Ａに示されるデバイスＡのパラメータリスト１０９−Ａの場合、１つ目の項目の設定コマンド”Ａｔｏｏｌ  Ｐａｒａｍ１”では”Ａｔｏｏｌ”がコマンド、”Ｐａｒａｍ１”がパラメータである。
【００３３】
次に、設定可能範囲１０９４は、設定値タイプ１０９２で設定されたデータの種類で、設定可能な値が格納される。設定可能範囲１０９４は、設定値の入力可能範囲を示し、設定値タイプ毎にフォーマットが異なる。設定値タイプがｎｕｍｂｅｒの場合は、”＜最小値＞−＜最大値＞”とする。設定値タイプがｓｔｒｉｎｇの場合は、”＜最小文字数＞−＜最大文字数＞，＜禁止文字列＞，＜禁止文字列＞，・・・“とする。設定値タイプがｌｉｓｔの場合は、”＜設定値表示名＞−＜設定値コマンド名＞，＜設定値表示名＞−＜設定値コマンド名＞，・・・“とする。
【００３４】
設定値表示名とは、共通ＵＩに表示する設定値の文字列で、異なるベンダーのデバイスであっても同一種のデバイスかつ同意味の設定項目で、同意味の設定値であれば、同一とする。設定値コマンド名とは、コマンドを発行する際に実際に使用する設定値の文字列で、ベンダー毎に異なる。
【００３５】
例えば、ＰＡＲＭ１は設定値タイプ１０９２が数値で、「１−１２８」が設定可能であることを示す。同様に、ＰＡＲＭ２は設定値タイプ１０９２が文字で、「０−１０」が設定可能であることを示す。ただし、””内の「＿」と「−」は入力禁止の文字を示す。同様にＰＡＲＭ３は設定値タイプ１０９２がリストで、他のデバイスと共通の項目と、デバイスドライバに設定する値が「−」を介して接続される。ＰＡＲＭ３は、図４Ｃのプルダウンメニュー４ｃ０８に「Ｅｎａｂｌｅ」と「Ｄｉｓａｂｌｅ」が表示され、「Ｅｎａｂｌｅ」はデバイスＡに設定する「ｙｅｓ」の値を示し、「Ｄｉｓａｂｌｅ」はデバイスＡに設定する「ｎｏ」の値を示す。すなわち、リストの場合では、設定マネージャ１０６が表示するプルダウンメニュー４ｃ０８の項目名に対応するデバイスドライバへの設定値が格納される。設定マネージャ１０６は、図４Ｃのプルダウンメニュー４ｃ０８で「Ｅｎａｂｌｅ」が選択されると、デバイスドライバに「ｙｅｓ」に変換した値を設定する。
【００３６】
図２Ｂ、図２Ｃも、図２Ａと同様の構成であり、設定可能範囲１０９４の内容がベンダー毎の仕様の違いによって異なる。
【００３７】
パラメータリスト１０９には、上述のようにデバイスの設定項目に関する情報が１項目につき１行ずつ列挙されており、デバイス毎に用意される。パラメータリスト１０９は、デバイスのサポート時に、本発明のデバイス設定ツールの開発者がサポート対象のデバイスの調査を行うことにより作成する。また、パラメータリスト１０９は、本発明のデバイス設定ツールの設定マネージャ１０６のインストール時に、ストレージ１０４に保存される。  
【００３８】
図３Ａは、設定定義中間ファイル１０８の一例である。設定定義中間ファイル１０８には、１つの設定対象のデバイスに関して、全ての設定項目（１０９１）を設定するためのコマンド文が、列挙されている。図３Ａの一行目では、”Ａｔｏｏｌ”がコマンド、”Ｐａｒａｍ１”がパラメータ、”１０”が設定値、”ｔａｒｇｅｔ１”が設定対象である。本実施例では、デバイスＡの設定項目は、図２Ａで示したようにＰＡＲＭ１〜ＰＡＲＡＭ３の３項目の場合、設定定義中間ファイル１０８は、３行のエントリで構成される。
【００３９】
図３Ｂは、設定定義ファイル１０７の一例である。設定定義ファイル１０７は、設定を行うデバイスの全ての設定定義中間ファイル１０８の内容をまとめ、ファイルの先頭にデバイス搭載情報を記載したものである。
【００４０】
デバイス搭載情報とは、設定対象の計算機１１０のデバイス搭載スロット１２０〜１２３と、各スロット１２０〜１２３に搭載されたデバイス名の組を列挙したものである。ｓｌｏｔ０〜３は、それぞれデバイス搭載スロット０〜３（１２０〜１２３）を表しており、ｓｌｏｔ０〜３の隣に記載されているのが、それぞれデバイス搭載スロット０〜３（１２０〜１２３）に搭載されるデバイスＡ〜Ｃを示すデバイス名である。なお、設定マネージャ１０６には、設定対象の計算機１１０のデバイス搭載スロット０〜３（１２０〜１２３）が予め設定されており、デバイス搭載スロット０〜３（１２０〜１２３）に装着されるデバイスＡ〜Ｃは、設定マネージャ１０６の利用者（ユーザ）が決定するものである。
【００４１】
図３Ｂは、デバイス搭載スロット０（１２０）にデバイスＡ（１１６）が搭載されており、デバイス搭載スロット１（１２１）にデバイスＢ（１１７）が搭載されており、デバイス搭載スロット２（１２２）にデバイスＣ（１１８）が搭載されており、デバイス搭載スロット３（１２３）には何も搭載されていない状態、を示している。
【００４２】
図４Ａ、図４Ｂ、図４Ｃは、設定マネージャ１０６が入出力部１０３のディスプレイ等の出力装置に表示する共通ＵＩの例である。
【００４３】
図４Ａは、デバイス搭載情報入力画面の一例である。設定対象の計算機１１０のペイン４ａ０１は、設定対象計算機システム１１０のデバイス搭載スロットを表示したものである。デバイス搭載スロット位置４a１１〜４a１４は、それぞれデバイス搭載スロット０〜３（１２０〜１２３）に対応し、設定対象の計算機システム１１０における物理的な位置を図示したものである。搭載デバイス名表示欄４a０２〜４a０５には、それぞれデバイス搭載スロット０〜３（１２０〜１２３）に搭載されるデバイス名表示される。
【００４４】
各デバイス名は、プルダウンボタン４a０６〜４a０９を押すと表示されるプルダウンメニュー４a１０からユーザーが選択する。確定ボタン４a１５を押すと、搭載デバイス表示欄４a０２〜４a０５に表示されているデバイス名のデバイスが、それぞれデバイス搭載スロット０〜３（１２０〜１２３）に搭載されているものとしてデバイス搭載情報を確定する。以降、確定されたデバイス搭載情報の設定定義ファイル１０７を作成する。
【００４５】
図４Ｂは、設定対象選択画面の一例である。基本的な画面構成は、デバイス搭載情報入力画面（図４Ａ）と同様であり、ペイン４ｂ０１は設定対象の計算機システム１１０のデバイス搭載スロットを表示したものである。デバイス搭載スロット欄４ｂ１２〜４ｂ１５は、それぞれデバイス搭載スロット（ｓｌｏｔ０〜ｓｌｏｔ３）１２０〜１２３の設定対象（ポート）を図示したものである。搭載デバイス名表示欄４ｂ０２〜４ｂ０５には、図４Ａで確定したデバイス名が表示されている。
【００４６】
設定対象４ｂ０６〜４ｂ１１は設定対象の物理位置を表す。設定対象４ｂ０６〜４ｂ１１のいずれかがユーザーに選択されると、当該設定対象の設定入力画面（図４Ｃ）が表示される。ユーザーにより設定定義ファイル作成ボタン４ｂ１６が選択されると、後述するように、設定定義ファイル１０７の作成処理が行われる。
【００４７】
図４Ｃは、設定入力画面の一例である。項目表示名１０９１を表示する項目名表示欄４ｃ０１〜４ｃ０３と、設定入力欄４ｃ０４〜４ｃ０６とが、並べて表示されている。設定値が特定文字列の場合、設定入力欄４ｃ０６の入力値は、プルダウンボタン４ｃ０７を押して表示されるプルダウンメニュー４ｃ０８に表示される設定値から、選択される。確定ボタン４ｃ０９が選択されると、設定定義中間ファイル１０８の作成処理が行われる。この時、入力内容に不備があれば、不備があった項目の隣にその内容が表示される。不備が無ければ、設定定義中間ファイル１０８が作成され、設定対象選択画面（図４Ｂ）に戻る。戻るボタン４ｃ１０が選択された場合は、設定対象選択画面（図４Ａ）にもどる。
【００４８】
図５は、デバイス搭載情報入力画面、デバイス選択画面及び設定入力画面を生成するためのデータ構造体の一例を示す図である。具体的には、設定マネージャ１０６が使用する変数及びデータ構造体５００の一例である。このデータ構造体５００は、設定マネージャ１０６がメモリ１０５に格納するものである。
【００４９】
整数型変数ｉ（５０１）は配列等を処理する際にインデックスとして用いる一時変数である。ｓｅｔｔｉｎｇ構造体（５０２）はパラメータリスト１０９の内容を格納するための構造体で、文字列型変数ｎａｍｅ（５０３）、整数型変数ｔｙｐｅ（５０４）、文字列型変数ｃｏｍｍａｎｄ（５０５）、整数型変数ｍａｘ（５０６）、整数型変数ｍｉｎ（５０７）、文字列型変数配列ｎｇ＿ｗｏｒｄ［１００］（５０８）、文字列型変数配列ｄｉｓｐ＿ｌｉｓｔ［１００］（５０９）、文字列型変数配列ｒｅａｌ＿ｌｉｓｔ［１００］（５１０）によって構成される。
【００５０】
ｎａｍｅ（５０３）には、項目表示名１０９１を格納する。ｔｙｐｅ（５０４）には、設定値タイプが数値１０５２の場合は０を、任意文字列の場合は１を、特定文字列の場合は２を格納する。ｃｏｍｍａｎｄ（５０５）には設定コマンド１０９３を格納する。ｍａｘ（５０６）には、設定値が数値または任意文字列の場合に最大値または最大文字数を格納する。ｍｉｎ（５０７）には、設定値が数値または任意文字列の場合に最小値または最小文字数を格納する。
【００５１】
ｎｇ＿ｗｏｒｄ［１００］（５０８）には、設定値が任意文字列の場合に禁止文字列を格納する。なお、本実施例では禁止文字列の個数は１００以下とする。
【００５２】
ｄｉｓｐ＿ｌｉｓｔ［１００］には、設定値が特定文字列の場合に設定値表示名を格納する。なお、本実施例では設定値表示名の個数は１００以下とする。
【００５３】
ｒｅａｌ＿ｌｉｓｔ［１００］（５１０）には、設定値が特定文字列の場合に設定値コマンド名を格納する。ｄｉｓｐ＿ｌｉｓｔ［ｉ］に格納された設定値表示名は、ｒｅａｌ＿ｌｉｓｔ［ｉ］に格納された設定値コマンド名に対応する。なお、本実施例では設定値コマンド名の個数は１００以下とする。
【００５４】
ｐａｒａｍ［１００］（５１０）は、実際にパラメータリスト１０９から読み込んだ情報を格納するｓｅｔｔｉｎｇ構造体（５０２）配列である。なお、本実施例では設定項目数は１００以下とする。
【００５５】
ｔａｒｇｅｔ（５１２）は、設定対象の名称を格納する文字列型変数である。ｉｎｐｕｔ構造体（５１３）は、入力内容を格納するための構造体である。ｉｎｐｕｔ構造体（５１３）は、整数型変数ｎｕｍ（５１４）と、文字列型変数ｓｔｒ（５１５）によって構成される。ｎｕｍ（５１４）には、設定値タイプが数値の場合には入力値を、特定文字列の場合には選択された項目値表示名の番号を格納する。ｓｔｒ（５１５）には、設定値タイプが任意文字列の場合に入力値を格納する。
【００５６】
ｖａｌｕｅ［１００］（５１６）は、実際に入力値を格納するｉｎｐｕｔ構造体（５１３）配列である。
【００５７】
ｔｅｍｐ［１００］（５１７）は、設定定義中間ファイルに書き込むコマンド文を格納する文字列型配列である。１つの変数に１つのコマンド文を格納する。
【００５８】
図６は、本発明のデバイス設定ツールを用いた設定作業の全体的な処理の一例を示すフローチャートである。
【００５９】
設定マネージャ１０６は、入出力部１０３の入力装置から起動入力を受信すると（６０１）と、デバイス搭載情報入力画面処理部１３０がデバイス搭載情報入力画面（図４Ａ）を入出力部１０３のディスプレイなどに出力する（６０２）。
【００６０】
設定マネージャ１０６は、デバイス搭載情報入力画面（図４Ａ）から、設定対象の計算機１１０の各デバイス搭載スロット１２０〜１２３に搭載されるデバイス名の情報を入出力部１０３の入力装置から受信する（６０３）と、設定対象選択画面処理部１３１が設定対象選択画面（図４Ｂ）を表示する（６０４）。
【００６１】
設定対象選択画面処理部１３１は設定対象選択画面（図４Ｂ）から、設定対象選択の受信および、設定定義ファイル作成ボタン選択の受信を行う。
【００６２】
設定対象選択画面（図４Ｂ）で設定定義ファイル作成ボタン４ｂ１６が選択されると（６０５）、設定定義ファイル作成部１３３は、後述する図９のフローチャートを実行して、設定定義ファイル１０７作成処理を実施する（６１０）。全設定対象分の設定定義中間ファイル１０８が存在せず、設定定義ファイル１０７の作成が完了しなかった場合（６１１）には、再度、設定対象選択画面（図４Ｂ）を表示し、６０４からの処理を繰り返す。
【００６３】
設定対象選択画面（図４Ｂ）から、設定対象４ｂ０６〜４ｂ１１の選択情報を受信する（６０６）と、設定入力画面処理部１３４は後述する図７のフローチャートを実行して、選択されたデバイスの設定入力画面（図４Ｃ）を表示する（６０７）。設定入力画面処理部１３４は設定入力画面（図４Ｃ）から設定値入力情報を受信する（６０８）と、設定定義中間ファイル作成部１３５は、後述する図８のフローを実施して、当該デバイスの設定定義中間ファイル１０８を作成し（６０９）、設定対象選択画面処理部１３１に制御を渡す。設定対象選択画面処理部１３１は、設定対象選択画面（図４Ｂ）を再度表示し（６０４）、上記ステップ６０４からの処理を繰り返す。
【００６４】
設定定義ファイル１０７を作成した計算機１０１と設定対象の計算機１１０がネットワーク９３を介して接続されている場合、設定マネージャ１０６は、設定対象の計算機１１０がオンラインであることを検知した場合、設定定義ファイル１０７を設定対象の計算機１１０に転送する。
【００６５】
計算機１０１と設定対象の計算機１１０が接続されていない場合は、作成された設定定義ファイル１０７をＵＳＢメモリ等の不揮発性記憶媒体を用いて設定対象計算機システム上に転送することも可能である。
【００６６】
計算機１１０の設定エージェント１１４は設定定義ファイル１０７が転送されたことを検知すると（６１２）、後述する図１０のフローチャートを実施して、設定定義ファイル１０７の内容に基づいてデバイス設定の適用を行う（６１３）。
【００６７】
図７は、設定入力画面処理部１３４で行われる処理の一例を示すフローチャートである。
【００６８】
設定対象選択画面（図４Ｂ）で、設定対象４ｂ０６〜４ｂ１１のいずれかがユーザーによって選択されると、設定入力画面処理部１３４は、選択された設定対象が何れのデバイスのものか判断し、該当するパラメータリスト１０９を選択する（７００）。
【００６９】
続いて、設定入力画面処理部１３４は、一時変数ｉ（５０１）に０をセットし（７０１）、パラメータリスト１０９の１つ目の項目を読み込む（７０２）。本実施例では１項目を１行で記載してあるため、１行読み込む。
【００７０】
設定入力画面処理部１３４は、読み込んだデータを上述のｓｅｔｔｉｎｇ構造体配列ｐａｒａｍ［１００］（５１１）のｐａｒａｍ［ｉ］に格納する（７０３）。
【００７１】
ｎａｍｅ（５０３）には項目表示名１０９１が格納される。ｔｙｐｅ（５０４）には、設定値タイプが数値ならば０が、任意文字列ならば１が、特定文字列なら２が格納される。ｃｏｍｍａｎｄ（５０５）には設定コマンド１０９３が格納される。ｍａｘ（５０６）には、設定値タイプが数値の場合は設定可能値の最大値が、設定値タイプが任意文字列なら設定可能な文字数の最大値が格納される。ｍｉｎ（５０７）には、設定値タイプが数値の場合は設定可能値の最小値が、設定値タイプが任意文字列なら設定可能な文字数の最小値を格納される。設定値タイプが任意文字列の場合、使用できない文字あるいは文字列がｎｇ＿ｗｏｒｄ（５０８）に格納される。設定値タイプが特定文字列の場合、設定値表示名がｄｉｓｐ＿ｌｉｓｔ（５０９）に順に格納され、設定値コマンド名がｒｅａｌ＿ｌｉｓｔ（５１０）に順に格納される。
【００７２】
設定入力画面処理部１３４は、設定項目の情報をｐａｒａｍに格納した後、ｐａｒａｍ［ｉ］．ｔｙｐｅの値が０または１の場合は、ｐａｒａｍｉ［ｉ］．ｎａｍｅに格納された項目表示名と設定値入力欄を並べて設定入力画面（図４Ｃ）の上からｉ番目に表示する（７０４、７０６）。
【００７３】
設定入力画面処理部１３４は、ｐａｒａｍ［ｉ］．ｔｙｐｅの値が０でも１でも無い場合はｐａｒａｍ［ｉ］．ｎａｍｅに格納された項目表示名とプルダウンを並べて設定入力画面（図４Ｃ）の上からｉ番目に表示する（７０４、７０５）。プルダウンにはｐａｒａｍ［ｉ］．ｄｉｓｐ＿ｌｉｓｔに格納された設定値表示名を選択枝として表示する。
【００７４】
設定入力画面処理部１３４は、１項目の表示が終わった後、パラメータリスト１０９に他の項目があれば（７０７）、一時変数ｉ（５０１）にｉ＋１の値をセットして（７０８）、パラメータリスト１０９からｉ個目の設定項目の情報の読み込みを行い（７０９）、７０３〜７０６の処理を繰り返す。他に設定項目が無ければ設定入力画面（図４Ｃ）の表示処理は完了となる。
【００７５】
図８は、設定定義中間ファイル作成部１３５で行われる処理の一例を示すフローチャートである。ユーザーにより設定入力画面（図４Ｃ）で確定ボタン４ｃ０９が選択されると、設定定義中間ファイル作成部１３５は、現在選択されている設定対象の名称をｔａｒｇｅｔ（５１２）に格納する（８００）。
【００７６】
続いて、設定定義中間ファイル作成部１３５は、一時変数ｉ（５０１）に０をセットし（８０１）、設定入力画面（図４Ｃ）の上からｉ番目の設定項目の入力値をｉｎｐｕｔ構造体配列ｖａｌｕｅ［１００］（５１６）のｖａｌｕｅ［ｉ］に格納する（８０２）。ここで、ｐａｒａｍ［ｉ］に対応する設定項目の入力がｖａｌｕｅ［ｉ］に保存される。この時、ｐａｒａｍ［ｉ］．ｔｙｐｅの値が０の場合はｖａｌｕｅ［ｉ］．ｎｕｍに、ユーザーによって設定入力画面（図４Ｃ）で入力された数値が格納される。設定定義中間ファイル作成部１３５は、ｐａｒａｍ［ｉ］．ｔｙｐｅの値が１の場合は、ｖａｌｕｅ［ｉ］．ｓｔｒに、ユーザーによって設定入力画面（図４Ｃ）で入力された文字列が格納される。ｐａｒａｍ［ｉ］．ｔｙｐｅの値が２の場合は、設定値プルダウンメニュー４ｃ０８の何番目の値が選択されているかがｖａｌｕｅ［ｉ］．ｎｕｍに格納される。つまり、選択されている設定値がｐａｒａｍ［ｉ］．ｄｉｓｐ＿ｌｉｓｔ［ｊ］であるとするとｊの値が、ｖａｌｕｅ［ｉ］．ｎｕｍに格納される。
【００７７】
設定定義中間ファイル作成部１３５は、入力値をｖａｌｕｅ［ｉ］に格納した後、設定値タイプがｌｉｓｔ以外の場合（８０３）は、入力値のチェックを行う。設定値タイプがｎｕｍｂｅｒの場合、設定定義中間ファイル作成部１３３は、入力値が設定可能値の範囲内に収まっているか否かを判定する。具体的には、ｖａｌｕｅ［ｉ］．ｎｕｍが、ｐａｒａｍ［ｉ］．ｍｉｎ以上ｐａｒａｍ［ｉ］．ｍａｘ以下であるかが、判定される。
【００７８】
設定定義中間ファイル作成部１３５は、設定値タイプが任意文字列の場合は、入力値の文字数が設定可能値の範囲内に収まっていることと、禁止文字列が含まれていないことが判定される。具体的には、ｖａｌｕｅ［ｉ］．ｓｔｒの文字数が、ｐａｒａｍ［ｉ］．ｍｉｎ以上ｐａｒａｍ［ｉ］．ｍａｘ以下であり、なおかつ、ｖａｌｕｅ［ｉ］．ｓｔｒの中にｐａｒａｍ［ｉ］．ｎｇ＿ｗｏｒｄのいずれの文字列も含まれないことが判定される。
【００７９】
入力値に問題があれば、設定定義中間ファイル作成部１３５は、ｉ番目の設定項目の入力値に不備があることを記録する（８０７）。
【００８０】
入力値に問題が無ければ（８０５）、設定定義中間ファイル作成部１３５は、コマンド文をｔｅｍｐ［１００］（５１７）に格納する（８０６）。この時、設定値タイプが数値の場合、設定定義中間ファイル作成部１３５はｐａｒａｍ［ｉ］．ｃｏｍｍａｎｄに格納された設定コマンド、ｖａｌｕｅ［ｉ］．ｎｕｍに格納された設定値、ｔａｒｇｅｔ（５１２）に格納された設定対象の名称をスペースで区切って連結し、一つの文字列としてｔｅｍｐ［１００］（５１７）のｔｅｍｐ［ｉ］に格納する。設定値タイプが任意文字列の場合、設定定義中間ファイル作成部１３５は、ｐａｒａｍ［ｉ］．ｃｏｍｍａｎｄに格納された設定コマンド、ｖａｌｕｅ［ｉ］．ｓｔｒに格納された設定値、ｔａｒｇｅｔ（５１２）に格納された設定対象の名称をスペースで区切って連結し、一つの文字列としてｔｅｍｐ［１００］（５１７）のｔｅｍｐ［ｉ］に格納する。
【００８１】
入力値に問題があれば、設定定義中間ファイル作成部１３５は、ｉ番目の設定項目の入力値に不備があることを記録する。設定値タイプが特定文字列の場合、設定定義中間ファイル作成部１３３は、ｐａｒａｍ［ｉ］．ｃｏｍｍａｎｄに格納された設定コマンド、ｐａｒａｍ［ｉ］．ｒｅａｌ＿ｌｉｓｔ［ｖａｌｕｅ［ｉ］．ｎｕｍ］に格納された設定値コマンド名、ｔａｒｇｅｔ（５１２）に格納された設定対象の名称をスペースで区切って連結し、一つの文字列としてｔｅｍｐ［１００］（５１７）のｔｅｍｐ［ｉ］に格納する。
【００８２】
ここで、設定定義中間ファイル作成部１３５は、ｊ番目の設定値表示名ｐａｒａｍ［ｉ］．ｄｉｓｐ＿ｌｉｓｔ［ｊ］とｊ番目の設定値コマンド名ｐａｒａｍ［ｉ］．ｒｅａｌ＿ｌｉｓｔ［ｊ］は対応しており、何番目の設定値表示名が選択されているかはｖａｌｕｅ［ｉ］．ｎｕｍに格納されているため、ｐａｒａｍ［ｉ］．ｒｅａｌ＿ｌｉｓｔ［ｖａｌｕｅ［ｉ］．ｎｕｍ］の値をコマンド分に含むべき値として設定する。例えば、１番目の設定値表示名が”Ｅｎａｂｌｅ”で設定値コマンド名が”ｏｎ”（ｐａｒａ］．ｄｉｓｐ＿ｌｉｓｔ［０］＝”Ｅｎａｂｌｅ”、ｐａｒａｍ［ｉ］．ｒｅａｌ＿ｌｉｓｔ［０］＝”ｏｎ”）、２番目の設定値表示名が”Ｄｉｓａｂｌｅ”で設定値コマンド名が”ｏｆｆ”（ｐａｒａｍ［ｉ］．ｄｉｓｐ＿ｌｉｓｔ［１］＝”Ｄｉｓａｂｌｅ”、ｐａｒａｍ［ｉ］．ｒｅａｌ＿ｌｉｓｔ［１］＝”ｏｆｆ”）のとき、ユーザーがＧＵＩ上で”Ｄｉｓｂｌｅ”を選択した場合、ｖａｌｕｅ［ｉ］．ｎｕｍには”１”が格納される。そのため、コマンド文では設定値として”ｏｆｆ”が使用される。
【００８３】
設定定義中間ファイル作成部１３５は、ｉ番目の設定項目の処理が完了した後、次の設定項目が存在する場合は（８０８）、一時変数ｉ（５０１）にｉ＋１の値をセットして（８０９）、８０２から処理を繰り返す。
【００８４】
設定定義中間ファイル作成部１３５は、次の設定項目が存在しない場合（８０８）、入力内容の不備が一つもなければ（８１０）、設定対象の設定定義中間ファイル１０８をｔｅｍｐ［１００］（５１７）の内容で上書きする（８１１）。現在選択されている設定対象の、設定定義中間ファイル１０８が無ければ新規作成する。入力内容に不備があった場合（８１０）は、設定定義中間ファイル１０８の作成は行わず、不備があった旨を表示する（８１２）。
【００８５】
図９は、設定定義ファイル作成部１３３の処理フローの一例である。設定定義ファイル作成部１３３は、まず、一時変数ｉ（５０１）に０をセット（９００）する。
【００８６】
続いてスロットｉのデバイス搭載情報があれば（９０１）、設定定義ファイル作成部１３３は、スロットｉの搭載デバイスの設定定義中間ファイル１０８が全て存在するか否かを判定（９０２）する。
【００８７】
設定定義中間ファイル１０８が１つでも存在しなければ（９０３）、設定定義中間ファイルが存在しない旨を表示して（９０４）、設定処理を終了する。
【００８８】
全設定定義中間ファイル１０８が存在した場合（９０３）、あるいはスロットｉのデバイス搭載情報が無い場合（９０１）、全てのデバイス搭載スロットの設定定義中間ファイル１０８の確認（検証）が終了していれば（９０５）、設定定義ファイル作成部１３３は、空のファイルを設定定義ファイル１０７として作成（９０７）する。
【００８９】
全てのデバイス搭載スロットの設定定義中間ファイル１０８の確認が終了していなければ（９０５）、設定定義ファイル作成部１３３は、一時変数ｉ（５０１）にｉ＋１の値をセットし（９０６）、上記ステップ９０１からの処理を繰り返す。
【００９０】
設定定義ファイル作成部１３３は、空の設定定義ファイル作成した後、一時変数ｉ（５０１）に０をセットし（９０８）、スロットｉのデバイス搭載情報を設定定義ファイルに書き込む（９０９）。
【００９１】
全てのデバイス搭載スロット分の書き込みが終了していなければ（９１０）、設定定義ファイル作成部１３３は、一時変数ｉ（５０１）にｉ＋１の値をセットし（９１１）、上記ステップ９０９からの処理を繰り返す。
【００９２】
全てのデバイス搭載スロット分について書き込みが終了していれば（９１０）、設定定義ファイル作成部１３３は、一時変数ｉ（５０１）に０をセットし（９１２）、スロットｉの設定定義中間ファイル１０８の内容を設定定義ファイル１０７に書き込む（９１３）。
【００９３】
全てのデバイス搭載スロット分の設定定義中間ファイル１０８の内容の書き込みが完了すれば、設定定義ファイル作成部１３３の処理は終了する。一方、全てのデバイス搭載スロット分について書き込みが完了していなければ（９１４）、設定定義ファイル作成部１３３は、一時変数ｉ（５０１）にｉ＋１の値をセットし（９１５）、上記ステップ９１３からの処理を繰り返す。
【００９４】
以上の処理により、設定マネージャ１０６では、デバイス毎に予め設定したパラメータリストを用いて、入力された設定情報を、当該デバイスのコマンドに変換した設定定義中間ファイル１０８を生成し、設定対象の計算機１１０に搭載されたデバイスの設定定義中間ファイル１０８をまとめて設定定義ファイル１０７を生成する。
【００９５】
設定マネージャ１０６では、ベンダーの違いにかかわらず、デバイスの種類毎に予め設定した項目表示名１０９１や設定可能範囲１０９４のリストでデバイスの設定情報（設定コマンド）を生成することができる。これにより、ユーザは設定マネージャ１０６で定義された項目表示名１０９１やリストを理解していれば、複数のベンダーの各種デバイスの設定を行うことが可能となる。よって、計算機１１０を管理するユーザは、ベンダー毎の項目名の違いなど、仕様の差異を習得する必要が無くなって、デバイスの設定に要する労力を大幅に低減することができる。さらに、項目表示名１０９１やリストの用語は、ベンダーにかかわらず設定マネージャ１０６で統一されているので、前記従来例のようにベンダー毎に用語の違いがある場合とは異なり、ユーザが誤った設定を行うのを防ぐことができる。
【００９６】
図１０は、計算機１１０で稼働する設定エージェント１１４で行われる処理の一例を示すフローチャートである。設定エージェント１１４は、ストレージ１１２から設定定義ファイル１０７の読み込みを行い（１０００）、一時変数ｉ（５０１）に０をセットし（１００１）、設定定義ファイル１０７に書かれたスロットｉ搭載デバイス名と、実際にスロットｉに搭載されているデバイス名とが一致するか否かを判定する（１００２）。
【００９７】
設定エージェント１１４は、デバイス名が一致しなければ（１００３）、設定定義ファイル１０７に書かれたデバイス搭載情報と実際の搭載デバイス情報が一致しない旨を入出力部１１５のディスプレイなどに表示し（１００４）、処理を終了する。
【００９８】
デバイス名が一致する場合（１００３）、設定エージェント１１４は、全てのデバイス搭載スロットの確認が完了していなければ（１００５）、一時変数ｉ（５０１）にｉ＋１の値をセットし、１００２からの処理を繰り返す。
【００９９】
一方、全てのデバイス搭載スロットの確認が完了していれば（１００５）、設定エージェント１１４は、一時変数ｉ（５０１）に０をセットし（１００７）、設定定義ファイル１０７にかかれたｉ番目のコマンドを実行する（１００８）。
【０１００】
設定エージェント１１４は、コマンドが成功しなければ（１００９）、コマンド実行に失敗した旨と、何れのコマンドまで実行したかを入出力部１１５のディスプレイなどに表示する（１０１０）。
【０１０１】
コマンド実行に成功した場合（１００９）、設定エージェント１１４は、全てのデバイス搭載コマンドの実行が完了していなければ（１０１１）、一時変数ｉにｉ＋１の値をセットし（１０１２）、１００８からの処理を繰り返す。
【０１０２】
全てのデバイス搭載コマンドの実行が完了していれば（１０１１）、設定エージェント１１４の処理は終了する。
【０１０３】
以上の処理により、デバイスＡ〜Ｃのデバイスドライバを設定する計算機１１０では、設定エージェント１１４がストレージ１１２に格納された設定定義ファイル１０７を読み込んで、ＯＳ８５のデバイスドライバにデバイスＡ〜Ｃの設定を自動的に行うことができる。
【０１０４】
つまり、ＯＳ８５のインストール前に、ストレージ１１２へデバイスＡ〜Ｃの設定定義ファイル１０７を格納しておき、計算機１１０にＯＳ８５をインストールした後に設定エージェント１１４を実行するだけで、迅速かつ容易にデバイスＡ〜Ｃの設定をＯＳ８５のデバイスドライバに対して実施することができる。これにより、計算機導入後の初期設定完了までの時間を短縮することが実現できる。
【０１０５】
また、設定定義ファイル１０７の生成は、設定対象の計算機１１０に接続されていない設定用の計算機１０１で行うことができるので、複数の計算機１１０を交換する際などでは、予め設定定義ファイル１０７を生成しておくことで、デバイスの設定作業を極めて短時間で行うことが可能となる。
【符号の説明】
【０１０６】
１０１  計算機
１０２  ＣＰＵ
１０４  ストレージ
１０５  メモリ
１０６  設定マネージャ
１０７  設定定義ファイル
１０８  設定定義中間ファイル
１０９  パラメータリスト
１１０  計算機
１１１  ＣＰＵ
１１２  ストレージ
１１３  メモリ
１１４  設定エージェント
【図１】
0005729768.tif 000002
【図２Ａ】
0005729768.tif 000003
【図２Ｂ】
0005729768.tif 000004
【図２Ｃ】
0005729768.tif 000005
【図３Ａ】
0005729768.tif 000006
【図３Ｂ】
0005729768.tif 000007
【図４Ａ】
0005729768.tif 000008
【図４Ｂ】
0005729768.tif 000009
【図４Ｃ】
0005729768.tif 000010
【図５】
0005729768.tif 000011
【図６】
0005729768.tif 000012
【図７】
0005729768.tif 000013
【図８】
0005729768.tif 000014
【図９】
0005729768.tif 000015
【図１０】
0005729768.tif 000016