(57)【要約】【課題】未設定コンポーネントに応じて、依存関係からユーザが設定すべきコンポーネントを順（並べて）に設定画面上に表示することで、設定を容易にする仕組みを提供すること【解決手段】コンポーネントの設定をする情報処理装置であって、前記コンポーネントの依存関係と、前記コンポーネントの設定状態を記憶する記憶手段と、前記コンポーネントの設定状態が未設定状態か否かを判定する設定状態判定手段と、前記設定状態判定手段で、未設定状態であると判定された場合には、前記依存関係に従って、前記コンポーネントと依存する未設定状態のコンポーネントを特定する特定手段と、未設定状態のコンポーネントの設定に応じて設定が必要なコンポーネントを識別可能にするべく、前記特定手段で特定されたコンポーネントと、前記設定状態判定手段で未設定状態であると判定されたコンポーネントとを並べて表示する表示手段とを備えることを特徴とする。【選択図】図８
2014222450.tif 000002
【特許請求の範囲】
【請求項１】
コンポーネントの設定をする情報処理装置であって、
前記コンポーネントの依存関係と、前記コンポーネントの設定状態を記憶する記憶手段と、
前記コンポーネントの設定状態が未設定状態か否かを判定する設定状態判定手段と、
前記設定状態判定手段で、未設定状態であると判定された場合には、前記依存関係に従って、前記コンポーネントと依存する未設定状態のコンポーネントを特定する特定手段と、
未設定状態のコンポーネントの設定に応じて設定が必要なコンポーネントを識別可能にするべく、前記特定手段で特定されたコンポーネントと、前記設定状態判定手段で未設定状態であると判定されたコンポーネントとを並べて表示する表示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記コンポーネントの追加または設定変更に従って、当該コンポーネントと依存するコンポーネントの設定を未設定状態にする状態変更手段と、
前記特定手段は、前記コンポーネントの追加または設定変更に従って、当該追加または設定変更されたコンポーネントと依存する未設定状態のコンポーネントを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記コンポーネントを選択する選択手段をさらに備え、
前記表示手段は、前記選択されたコンポーネントが未設定状態のコンポーネントである場合、選択されたコンポーネントを拡大表示することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記表示手段は、前記選択されたコンポーネントが未設定状態のコンポーネントが依存する未設定のコンポーネントを設定の必要であることを識別表示することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記表示手段は、コンポーネントの一覧を表示し、前記一覧表示したコンポーネントのうち、未設定のコンポーネントを依存関係に従って、並べて表示することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
コンポーネントの設定を行うための情報処理装置とその処理方法及びプログラム
【背景技術】
【０００２】
従来、多数のコンポーネント（機器）を組み合わせて構成するシステム（仮想マシンやサーバーサイドアプリケーション、ＭＲ、ＶＲシステムなど）の環境設定をＧＵＩで行う場合、全体の設定を俯瞰するために、図１５のようにコンポーネントリスト１５０１と、詳細な設定を行うための設定画面１５０２を用いてユーザが設定変更を行っている。
このコンポーネントは、リスト状またはツリー状に分類され、ユーザはノードをクリックすると詳細な設定画面１５０２にアクセスできる。
こうした環境設定アプリケーションでは、設定する対象のシステムにプラグインや周辺機器を追加した場合などに、コンポーネントの追加や削除が発生する。
【０００３】
このような場合、カテゴリリスト（システム、ディスプレイ・・・）の上の方から順番に設定すると最適な手順になるようにＧＵＩが設計されるのが通常で、ユーザも経験則にしたがいそのように設定を行うが、厳密な手順はなく、ユーザは任意の順番で各設定を行うことができる。
【０００４】
設定すべき項目の順序が分かりにくいという課題への一般的な解決方法として、ウィザード形式のＧＵＩを用意し、あらかじめ用意された質問に準じ答えていくことで設定が完了するという手法が多く用いられるが、前述のような設定パターンが多岐に渡るシステムには適用しづらい。また熟練ユーザは最低限設定が必要な項目を知っているので、そのような場合ウィザード形式のＧＵＩはかえって作業ステップが増えるので使いづらいという問題が発生する。
【０００５】
そのため、図１５のような設定画面で、ユーザが自由に設定を行うことになるが、この場合、設定した内容にコンフリクトが起こることが考えられる。そこで、コンフリクトが起きないようにするために、様々な分野でコンフリクトが起きないようにする技術が開示されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１６３９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の仕組みにおいては、設定変更した際に、コンフリクトする項目を提示することは可能となるが、設定するべき順序がわからないという課題が存在する。
【０００８】
また、コンポーネントを追加可能なシステムの場合には、コンポーネントを追加した場合に、システム全体を動作するためには、他のコンポーネントの設定を変更する必要があるため、変更が必要な他のコンポーネントの設定を変更する必要があるが、追加したコンポーネントをテスト実行したい場合には、他のコンポーネントの設定を変更する必要がない場合もあり、一般的な順を追ったウィザード形式の設定画面は、ユーザにとって使い勝手が悪いという課題が存在する。
【０００９】
そこで、本発明の目的は、未設定コンポーネントに応じて、依存関係からユーザが設定すべきコンポーネントを順（並べて）に設定画面上に表示することで、設定を容易にする仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するためのコンポーネントの設定をする情報処理装置であって、前記コンポーネントの依存関係と、前記コンポーネントの設定状態を記憶する記憶手段と、前記コンポーネントの設定状態が未設定状態か否かを判定する設定状態判定手段と、前記設定状態判定手段で、未設定状態であると判定された場合には、前記依存関係に従って、前記コンポーネントと依存する未設定状態のコンポーネントを特定する特定手段と、未設定状態のコンポーネントの設定に応じて設定が必要なコンポーネントを識別可能にするべく、前記特定手段で特定されたコンポーネントと、前記設定状態判定手段で未設定状態であると判定されたコンポーネントとを並べて表示する表示手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、未設定コンポーネントに応じて、依存関係からユーザが設定すべきコンポーネントを順（並べて）に設定画面上に表示することで、ユーザによる設定を容易にすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明における情報処理装置１００のハードウェア構成の一例を示す図である
【図２】本発明における機能ブロック構成の一例を示す図である
【図３】本発明におけるコンポーネントの状態（設定済み、未設定）とコンポーネント間の依存関係を示す図である
【図４】依存関係のグラフを直列化する処理を表すフローチャートである
【図５】未設定のコンポーネントを直列化した結果のイメージ図である
【図６】データ遷移図を示す図である
【図７】画面遷移ボタン表示方法を決定するフローチャートである
【図８】コンポーネントの設定画面の一例を示す図である
【図９】依存関係テーブルの一例を示す図である
【図１０】ＨＤＤ２追加時のコンポーネント間の依存関係を示す図である
【図１１】ＨＤＤ２追加時のコンポーネントの設定画面の一例を示す図である
【図１２】ＶＲＡＭ未設定時のコンポーネント間の依存関係を示す図である
【図１３】ＶＲＡＭ未設定時のコンポーネント間の依存関係を示す図である
【図１４】ＶＲＡＭ未設定時のコンポーネントの設定画面の一例を示す図である
【図１５】従来の設定画面の一例を示す図
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１４】
図１は、本発明における情報処理装置１００のハードウェア構成の一例を示すハードウェア構成図である。ここでは仮想マシンの環境設定アプリケーションを実施例とするが、図１で示すのは、環境設定アプリケーションを実行するホストとなるハードウェアの構成の例である。
【００１５】
図１において、１０１はＣＰＵで、システムバス１０５に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ１０２あるいは補助記憶装置１１２には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００１６】
１０３はＲＡＭで、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＣＰＵ１０１は、処理の実行に際して必要なプログラム等をＲＯＭ１０２あるいは補助記憶装置１１２からＲＡＭ１０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００１７】
また、１０５は入力コントローラで、キーボード（ＫＢ）１０９やマウス１１０等のポインティングデバイス等からの入力を制御する。１０６はビデオコントローラで、ディスプレイ１１１等の表示器への表示を制御する。なお、ディスプレイの種類はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００１８】
１０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の補助記憶装置１１２へのアクセスを制御する。
【００１９】
１０８はネットワークコントローラで、ネットワーク（例えば、図１に示したネットワーク１１３）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２０】
なお、ＣＰＵ１０１は、例えばＲＡＭ１０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ１１１上での表示を可能としている。また、ＣＰＵ１０１は、ディスプレイ１１１上のマウスカーソル等でのユーザ指示を可能とする。
【００２１】
本発明を実現するための後述する各種プログラムは、補助記憶装置１１２に記録されており、必要に応じてＲＡＭ１０３にロードされることによりＣＰＵ１０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、補助記憶装置１１２に格納されており、これらについての詳細な説明も後述する。
【００２２】
また、Ｍｉｘｅｄ  Ｒｅａｌｉｔｙのシステムの環境設定アプリケーションなど、他のシステムの環境設定アプリケーションとして動作する構成であってもよい。
次に図２を用いて本発明における機能ブロック図について説明する。図２は、本発明における機能ブロック構成の一例を示す図である。
【００２３】
依存関係管理部２０１は、各コンポーネントの設定状態とコンポーネント間の依存関係を管理する機能、およびコンポーネント間の依存関係に基づいて、適切な設定順序を導出する機能を持つ。
設定状態は、各コンポーネントごとに「未設定（未）」または「設定済み（済）」を持たせて管理する。
【００２４】
仮想マシンを新規作成した状態、またはコンポーネントが新たに追加された場合、当該コンポーネントは未設定の状態から開始する。ユーザが環境設定アプリケーションを操作して明示的に設定を入力した場合、当該コンポーネントは設定済み状態になる。
【００２５】
コンポーネントはユーザが明示的に設定、確認を行い、設定済み状態にすることが望ましいが、デフォルトで設定されている値のまま使用できる場合、熟練ユーザが必要最小限の項目だけ設定して動作させたい場合はこの限りではない。
【００２６】
コンポーネント間の依存関係とは、コンポーネント１を設定する前にコンポーネント２を設定することが推奨される場合、コンポーネント１はコンポーネント２に依存していると定義する。依存関係の定義については、図９の依存関係テーブルから導きだせるものとする。また、この依存関係は図３のようにグラフ構造であらわされる。
【００２７】
依存関係管理部２０１は、この依存関係を維持したままコンポーネントを一列に順序づけ、ユーザにとって適切な設定順序を導出する。設定順序の導出と表示については後述する。
画面遷移管理部２０２は、コンポーネントと該コンポーネントを設定するための画面との対応を管理する機能である。
【００２８】
依存関係管理部２０１はコンポーネントの依存関係を導出するが、ユーザはＧＵＩを介して設定の変更を行うため、ユーザに対しては該コンポーネントを設定するための画面を提示する必要がある。画面遷移管理部２０２はコンポーネントと画面の関連を記憶しており、設定画面ＧＵＩ２０６を制御する。
【００２９】
コンポーネント診断部２０３は、コンポーネントにエラーがあるかどうか検証する機能を持つ。また、システムの実行中に発生したエラーからその原因となるコンポーネントを特定する機能を持つ。例えば、エラーコードを見て、メインメモリのエラーコードであると判定された場合には、メインメモリ設定を未設定に変更し、メインメモリに依存するＶＲＡＭ設定も未設定にする。
【００３０】
設定ファイル入出力部２０４は、前記環境設定アプリケーションによって設定された設定値（コンポーネントの設定）を設定ファイル２０５に永続化する機能である。設定ファイル２０５はテキストファイルやＸＭＬのような形式、またはリレーショナルデータベースなどの形式をとっても良い。図９の依存関係テーブルも設定ファイル２０５で管理される。すなわち、コンポーネントの依存関係と、コンポーネントの設定状態を記憶する記憶制御部である。
【００３１】
設定画面ＧＵＩ２０６はユーザにコンポーネントを提示し、設定変更の入力を受け付け、設定ファイル入出力部２０４を制御して設定ファイル２０５を更新する機能を持つ。ユーザは入力デバイス（１０９、１１０）とディスプレイ１１１を用いて設定画面ＧＵＩ２０６と対話的に設定操作を行う。
【００３２】
設定画面ＧＵＩ２０６は画面遷移管理部２０２から受け取った、最適な設定順序を反映させた設定画面のリストを画面に表示し、ユーザに画面遷移の手段を提供する。なお、設定画面ＧＵＩ２０６の体裁は、一般的なオペレーティングシステム上やターミナルサービス上のアプリケーションでも、ＷＥＢブラウザ上のアプリケーションの形態であってもよい。
【００３３】
次に図３を用いて、本発明におけるコンポーネントの状態（設定済み、未設定）とコンポーネント間の依存関係について説明する。図３は、本発明におけるコンポーネントの状態（設定済み、未設定）とコンポーネント間の依存関係を示す図である。
矢印は依存関係を表し、あるコンポーネントを設定するには、矢印の先にあるコンポーネントを先に設定しておく必要があることを表している。
【００３４】
たとえば、コンピュータを構成するチップセットは、仮想マシンでは実在のチップセットを模して動作するものがあるが、この挙動を定義するチップセット設定３０１は、この設定内容によってＣＰＵ設定３０２、メインメモリの容量を決定するメインメモリ設定３０３、ハードディスクのインターフェースや要領を決定するＨＤＤ設定３０５で設定できる値の範囲に影響する。このような場合、ＣＰＵ設定３０２、メインメモリ設定３０３、ＨＤＤ１設定３０５はチップセット設定３０１に依存していると定義される。
【００３５】
このように、コンポーネント間の方向を持つ矢印で結ばれたデータ構造を一般に有向グラフ構造という。コンポーネントによっては、依存関係がなく、他のコンポーネントと独立して設定できるものもある。例えば、サウンド設定３０７、ネットワーク設定３０８がある。
【００３６】
仮想マシンにおいては、コンピュータの構成は多岐にわたり、たとえばハードディスクなどのストレージは１台に限らず複数台接続する場合があり、プリンタやシリアルポートなどの周辺機器を追加した場合もそれぞれの周辺機器について必要な設定の依存関係が存在するものとする。
【００３７】
このようにコンポーネント間の依存関係はコンポーネントの追加、削除により動的に変化するものであり、ユーザが常にその依存関係を把握し、最適な設定順序を決定するのは困難である。
【００３８】
本発明では、前述のグラフ構造をとる依存関係の中から、設定状態が未設定のコンポーネントを抽出して一列に直列化し、これから設定すべき項目をユーザに提示する。ユーザはここで提示される順序に従って環境設定を行うことで、手戻りを最小限にして設定作業を行うことができる。
なお、各コンポーネントの依存関係は、図９の依存関係テーブルで管理されている。
【００３９】
図４は、依存関係のグラフを直列化する処理を表すフローチャートである。各処理はＣＰＵ１０１が実行するものとして説明する。
【００４０】
ステップＳ４００では、環境設定アプリケーションを起動する。各コンポーネントの設定状態を読みだして、ステップＳ４０１へ処理を移す。なお、図３の例をもとに、図６を参照して以下説明する。また、ステップＳ４００以降の処理は、設定が未設定になった場合に処理が実行される。例えば、ユーザにより設定が変更され、コンポーネントを実行した場合にエラーになり設定が初期化される、あるいは、ユーザが初期化して未設定状態にした場合、コンポーネントを追加した場合に、ステップＳ４０１からの処理が実行されることは言うまでもない。
ステップＳ４０１では、空の結果リストを作成する。これが最終的に設定すべきコンポーネントの順序を格納するリストになる。
【００４１】
ステップＳ４０２では、コンポーネント未設定状態で、かつ自身が依存している未設定のコンポーネントがないコンポーネントのリストＳを作成する。すなわち、リストＳに記憶するコンポーネントは、自分自身が未設定状態で、依存先のコンポーネントがないか、依存先のコンポーネントが設定済みとなるコンポーネントがリストＳに記憶される。言い換えると、コンポーネントの設定状態が未設定状態か否かを判定する処理である（設定状態判定）。
図３の例では、図４の（１）のように、リストＳには、メインメモリ、ＨＤＤ１、サウンド、ネットワークが記憶される。
【００４２】
ステップＳ４０３では、リストＳが空リストであるかどうか判定する。ここでリストＳが空であればステップＳ７０１（図７）に遷移する。この時点の結果リストの内容が最終結果となる。
【００４３】
ステップＳ４０４では、リストＳから任意のコンポーネントを取り出し、結果リストの末尾に追加する。例えば、図６の（２）のリストＳのメインメモリを取り出し、結果リストにメインメモリを追加する。言い換えると、依存関係に従って、コンポーネントと依存する未設定状態のコンポーネントを特定する処理である。また、コンポーネントの追加または設定変更に従って、当該追加または設定変更されたコンポーネントと依存する未設定状態のコンポーネントを特定する処理である。
【００４４】
ステップＳ４０５では、追加したコンポーネントに依存しているコンポーネントを抽出し、リストＴを作成する。例えば、メインメモリに依存しているＶＲＡＭを、図６の（２）のリストＴに記憶する。
【００４５】
ステップＳ４０６では、リストＴが空リストであるかどうか判定する。ここでリストＴが空であればステップＳ４０３に遷移し、リストＳの次の項目を処理する。図６の（２）の例では、リストＴにＶＲＡＭがあるため、ステップＳ４０７へ処理を移す。
ステップＳ４０７では、リストＴから任意のコンポーネントを取り出す。図６の（３）の場合、ＶＲＡＭを取り出したため、リストＴはここで空となる。
【００４６】
ステップＳ４０８では、取り出したコンポーネントが結果リストにないコンポーネントに依存しているかどうか判定する。コンポーネントが結果リストにないコンポーネントに依存している場合、ステップＳ４０６に遷移し、コンポーネントの処理を延期する。また、結果リストにあるコンポーネントに依存している場合、ステップＳ４０９へ処理を移す。図６の（３）の例では、結果リストにはメインメモリのみで、ＶＲＡＭがメインメモリに依存しているため、ステップＳ４０９へ処理を移す。
【００４７】
ステップＳ４０９では、取得したコンポーネントをリストＳに追加する。リストＳが空になるまで、ステップＳ４０４〜ステップＳ４０９の処理を繰り返すこととなる。リストＳにＶＲＡＭを追加した例が図６の（３）のリストＳである。
ステップＳ４０４〜ステップＳ４０９の処理を繰り返した場合、図６の（４）〜（８）のようになる。
【００４８】
例えば、（３）の後、ステップＳ４０４でリストＳからコンポーネント（ＶＲＡＭ）を取得して、結果リストに追加すると（４）の状態となる。ステップＳ４０５でＶＲＡＭに依存しているコンポーネントを抽出するが、依存しているコンポーネントがないためリストＴは空となり、再度、ステップＳ４０３へ処理を移す。
【００４９】
その後、（４）の後、ステップＳ４０４でリストＳからコンポーネント（ＨＤＤ１）を取得して、結果リストに追加し、ステップＳ４０５でＨＤＤ１に依存しているコンポーネント（起動順序）をリストＴに追加する。この状態が（５）である。
【００５０】
この処理を繰り返すことで、（６）のように起動順序が追加され、起動順序が取り出され（７）の結果リストに追加される（起動順序に依存しているコンポーネントがないのでリストＴは空となる）。また、サウンド、ネットワークは依存関係がないので、（８）のように結果リストに追加される。
この結果リストに基づいて、未設定のコンポーネントを直列化した結果のイメージが図５となる。
【００５１】
次に図７を用いて、画面遷移管理部２０２が画面遷移ボタンの表示する際の処理について説明する。図７は、画面遷移管理部が画面遷移ボタン表示方法を決定するフローチャートである。各処理はＣＰＵ１０１が実行するものとして説明する。
ステップＳ７０１では、結果リストを取得する。
ステップＳ７０２では、結果リストが空である場合に処理を終了する。
【００５２】
ステップＳ７０３では、結果リストのコンポーネントに対応するボタンをメモリから取得し、設定順をユーザに認識させるように、結果リストの順に直列的に表示する。言い換えると、例えばコンポーネントの追加によって、未設定状態の追加コンポーネントを設定する際に設定が必要なコンポーネントを識別可能にするべく、未設定状態であるコンポーネントとを並べて表示する
【００５３】
ステップＳ７０４では、図８の画面８００又は８０３でコンポーネントの選択があったか否かを判定する。コンポーネントの選択があった場合には、ステップＳ７０５へ処理を移し、コンポーネントの選択がない場合には、ステップＳ７０９へ処理を移す。ユーザからの操作がない場合には操作指示待ち状態となる。なお、図８の８０１でＶＲＡＭのボタンが、８０２で起動順序のボタンが押下された場合も、ステップＳ７０５へ処理を移す。すなわち、コンポーネントを選択する処理である。
【００５４】
ステップＳ７０５では、選択されたコンポーネントが結果リスト内にあるコンポーネント（直列表示したコンポーネントのボタンのコンポーネント）かを判定する。結果リスト内のコンポーネントである場合には、ステップＳ７０６へ処理を移す。また結果リスト内のコンポーネントでない場合には、ステップＳ７０９へ処理を移す。結果リスト内のコンポーネントでない場合には、選択されたコンポーネントの設定情報をメモリから読み出し、８０２又は８０５に表示するものとする。ここで変更があった場合には、ステップＳ７１０へ処理を移す。図８は、コンポーネントの一覧を表示し（８００）、一覧表示したコンポーネントのうち、未設定のコンポーネントを依存関係に従って、並べて表示する（８０１）処理により表示される画面である。
【００５５】
ステップＳ７０６では、選択されたコンポーネントに対応するボタンを拡大表示する。例えば、８０１のように、ＶＲＡＭが選択された場合には、ＶＲＡＭに対応するボタンが拡大表示される。すなわち、選択されたコンポーネントが未設定状態のコンポーネントである場合、選択されたコンポーネントを拡大表示する処理である。
【００５６】
ステップＳ７０７では、選択されたコンポーネントが依存するコンポーネントを抽出する。ステップＳ７０８では、抽出したコンポーネントのボタンの色を変更する。８０１のようにＶＲＡＭの場合、依存しているコンポーネントはメモリであり、メモリは未設定状態であるので、メモリに対応するボタンの色を変更する。また、８０４のように、起動順序の場合、依存しているコンポーネントはＨＤＤ１であり、ＨＤＤ１は未設定の状態であるので、ＨＤＤ１に対応するボタンの色を変更する。すなわち、選択されたコンポーネントが未設定状態のコンポーネントが依存する未設定のコンポーネントを設定の必要であることを識別表示する処理である。
これにより、現在選択されたコンポーネントの設定の際に、合わせて設定が必要な項目が認識可能となる。
【００５７】
ステップ７０９では、ユーザの操作によって、新たにコンポーネントが追加された／コンポーネントの設定の値が変更されたか否かを判定する。コンポーネントが追加された場合、すなわち、図１０のように、ＨＤＤ２（３０９）が追加された場合には、ＨＤＤ２は未設定となるため、ステップＳ７１０へ処理を移す。図１０の例では、ＨＤＤ２が追加されたため、起動順序（３０６−１）が未設定状態に変更される（ステップＳ７１０）。この場合、ステップＳ４０１へ処理を移し、再度ボタンが表示された場合の例（起動順序が選択された場合）が、図１１の１１０１である。なお、ＨＤＤ２が追加された場合、ＨＤＤ２が選択された状態になるため、まずは、ＨＤＤ２に対応するボタンが拡大表示され、起動順序が小さいボタンになる。なお、ＨＤＤ２に依存する起動順序が未設定になるため、起動順序に対応するボタンの色が変わるようにする。ＶＲＡＭとＨＤＤ２は依存関係がないので、ＨＤＤ２の設定に伴って設定の変更を促すような色（識別）表示は実行されない。
【００５８】
ステップＳ７１０は、言い換えると、コンポーネントの追加または設定変更に従って、当該コンポーネントと依存するコンポーネントの設定を未設定状態にする処理である（状態変更）。
【００５９】
また、コンポーネントの設定の値が変更された場合、他のコンポーネントの値がコンフリクトを起こすことがあり、初期化が必要になるためステップＳ７１０へ処理を移す。また、これ以外に、図１２のように、ＶＲＡＭ（３０４）を設定済みにして、実行したもののエラーが発生した場合に、メインメモリ（３０３−２）と、ＶＲＡＭ（３０４−２）のように設定を未設定にするため、ステップＳ７１０へ処理を移すこともある。
【００６０】
ステップＳ７１０では、追加したコンポーネント／変更したコンポーネントが依存するコンポーネント、あるいは、追加したコンポーネント／変更したコンポーネントに依存するコンポーネントの再設定が必要になるため、コンポーネントを未設定状態に変更する。その後、設定が未設定状態となったため、再度ボタンを再表示するために、図４のステップＳ４０１へ処理を移す。
【００６１】
なお、未設定状態のコンポーネントが選択され、ユーザによって設定がなされ、また依存するコンポーネントも設定された場合には、コンポーネントが設定済みとなり、ステップＳ７１０の処理をスキップして、再度図４のステップＳ４０１へ処理を移す。これにより、設定済みのコンポーネントのボタンが表示されない状態でボタンが表示される。
【００６２】
以上、本実施形態について説明したが、図１２の形態のほか、図１３のように、ＶＲＡＭ（３０４−１）を初期化した場合に、メインメモリ（３０３−１）は設定済みのままとするような形態も本発明で想定している。すなわち、図１３の形態でシステムを実行して、エラーが発生した場合に、図１２の状態となるようにしてもよい。図１２の状態での環境設定アプリケーションの画面例は、図１４である。また、図１３の状態である場合、ＶＲＡＭ（３０４−１）は、メインメモリ（３０３−１）に依存しているが、メインメモリ（３０３−１）は設定済みのため、１４０１でメインメモリのボタンは表示されないこととなる。
【００６３】
以上、本実施形態について説明したが、本実施形態によれば、未設定コンポーネントに応じて、依存関係からユーザが設定すべきコンポーネントを順（並べて）に設定画面上に表示することで、設定が容易になる。
また、熟練者による設定の自由度を確保しつつ、最適な設定順序をユーザに提示でき、ミスなく設定効率を上げることが可能となる。
【００６４】
さらに、設定構成の組み合わせが膨大なシステムの場合、すべての組み合わせにおける設定順序をマニュアルやウィザードで定義することなく、設定すべき順序を容易に決定でき、ユーザに提示できる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００６５】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６６】
また、本発明におけるプログラムは、図４と図７に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図４と図７の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図４と図７の各装置の処理方法ごとのプログラムであってもよい。
【００６７】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００６８】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【００６９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【００７０】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７２】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００７３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００７４】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  システムバス
１０５  入力コントローラ
１０６  ビデオコントローラ
１０７  メモリコントローラ
１０８  ネットワークコントローラ
１０９  キーボード
１１０  マウス
１１１  ディスプレイ
１１２  補助記憶装置
１１３  ネットワーク
【図１】
2014222450.tif 000003
【図２】
2014222450.tif 000004
【図３】
2014222450.tif 000005
【図４】
2014222450.tif 000006
【図５】
2014222450.tif 000007
【図６】
2014222450.tif 000008
【図７】
2014222450.tif 000009
【図８】
2014222450.tif 000010
【図９】
2014222450.tif 000011
【図１０】
2014222450.tif 000012
【図１１】
2014222450.tif 000013
【図１２】
2014222450.tif 000014
【図１３】
2014222450.tif 000015
【図１４】
2014222450.tif 000016
【図１５】
2014222450.tif 000017