(57)【要約】【課題】レガシーストレージデバイスのエミュレート機能を備えるコンピュータシステムにおいて、多様なレガシーストレージデバイスを汎用的にエミュレーションできるようにする。【解決手段】本発明のコンピュータシステムにおいては、レガシーストレージデバイスのエミュレーションに使用する起動イメージ７を格納する不揮発性の組み込みストレージ４５と、組み込みストレージ４５に格納された起動イメージ７を使用して、レガシーストレージデバイスのエミュレーション動作を行うレガシーストレージエミュレータ４４とを備える。そして、組み込みストレージ４５に格納された起動イメージ７を用いてレガシーストレージエミュレータ４４を起動し、エミュレーション動作を開始した後に、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させる。【選択図】図２
2010079821.tif 000002
【特許請求の範囲】
【請求項１】
レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を有するコンピュータシステムであって、
前記レガシーストレージデバイスをエミュレートする際に使用されるレガシーストレージデバイスのストレージイメージを格納する不揮発性の組み込みストレージと、
前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスのエミュレーション動作を行うレガシーストレージエミュレータと、
を備え、
前記レガシーストレージエミュレータによる前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させるように構成されたこと、
を特徴とするコンピュータシステム。
【請求項２】
前記レガシーストレージデバイスは同じ種類または異なる種類を含む複数のストレージデバイスであり、
前記レガシーストレージエミュレータは、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレータを含み、
前記組み込みストレージには、前記レガシーストレージデバイスごとのストレージイメージが、領域を分割して配置されること、
を特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記コンピュータシステムは、
実機として実装される物理レガシーストレージデバイスを備えており、
前記物理レガシーストレージデバイスによる起動と、前記レガシーストレージエミュレータ及び組み込みストレージによるレガシーストレージデバイスの起動とのいずれかを選択して制御するためのデバイス制御スイッチを備えること、
を特徴とする請求項１または請求項２に記載のコンピュータシステム。
【請求項４】
前記組み込みストレージ内には、前記レガシーストレージデバイスの起動イメージが配置され、
前記起動イメージには、
前記レガシーストレージデバイスからの起動を前提とするレガシーアプリケーションと、
前記レガシーアプリケーションを実行するためのレガシーＯＳ（Operating System）と、
が含まれ、
前記レガシーストレージエミュレータによるエミュレーション動作が開始された場合に、前記レガシーＯＳをロードした後に、前記レガシーアプリケーションを実行するように構成されたこと、
を特徴とする請求項１から請求項３のいずれかに記載のコンピュータシステム。
【請求項５】
前記複数のレガシーストレージデバイスの連続した起動を実行させるために、
起動するレガシーストレージデバイスの種類の情報と、起動の順番の情報とを記録するシナリオを設定する手段を備えること、
を特徴とする請求項２から請求項４のいずれかに記載のコンピュータシステム。
【請求項６】
前記レガシーストレージデバイスには、
ＦＤＤ（フレキシブルディスクドライブ）と、ＣＤ−ＲＯＭ（コンパクトディスクＲＯＭ）のいずれか、または両方のストレージデバイスが含まれ、
前記組み込みストレージには、前記ＦＤＤと、前記ＣＤ−ＲＯＭのいずれか、または両方をエミュレートする使用されるレガシーストレージデバイスのストレージイメージが格納されて構成されること、
を特徴とする請求項１から請求項５のいずれかに記載のコンピュータシステム。
【請求項７】
レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータにより、
前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスのストレージイメージを、不揮発性の組み込みストレージに格納する手順と、
前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、
前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、
が行なわれることを特徴とするレガシーアプリケーション実行方法。
【請求項８】
レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータに、
前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスのストレージイメージを、不揮発性の組み込みストレージに格納する手順と、
前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、
前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を有するコンピュータシステムに関し、特に、多様なレガシーストレージデバイスを汎用的にエミュレーションできる、コンピュータシステム、レガシーアプリケーション実行方法、およびプログラムに関する。
【背景技術】
【０００２】
近年のコンピュータシステムにおいて、旧来から使用されてきたいわゆるレガシーデバイス（legacy device）はシステムから削除される傾向にある。この一因に、例えば、フロッピー（登録商標）ディスクと呼ばれるフレキシブルディスクを駆動するフレキシブルディスクドライブ等のレガシーデバイスそのものの入手が難しくなりつつあるということが上げられる。（なお、以下の説明では、フレキシブルディスクドライブを、単に「ＦＤＤ」、フレキシブルディスクを、単に、「ＦＤ」と呼ぶことがある。）
【０００３】
一方で、コンピュータシステムのメンテナンスツールにおいては、いまだにレガシーデバイスからブートを行うツールが多数存在している。このようなツールは、その製品寿命の長さや開発コスト等の理由により、レガシーデバイスを前提としない新しいツールの開発が難しいものが存在する。
【０００４】
これらのツールを実行するために、ネットワークカードを利用してレガシーデバイスをエミュレーションする方法、例えば、ＰＸＥ（Preboot eXecution Environment）が広く使用されている。しかし、この方法ではネットワーク上にネットワークブートに対応したサーバの設置や設定が必要であり、またエミュレーションできるデバイスが限られるという問題があった。
【０００５】
なお、従来技術のコンピュータ装置がある（特許文献１を参照）。
この特許文献１のコンピュータ装置は、フロッピー（登録商標）ディスクドライブを搭載しないコンピュータ装置における、ＢＩＯＳ（Basic Input/Output System）や各種デバイスのファームウェアのＲＯＭアップデートにおいて、ハードディスクドライブ内の仮想フロッピー（登録商標）ディスクドライブ（仮想ＦＤＤ）による起動および各種ドライバを常駐させない環境でのＲＯＭアップデートツールの実行を可能とすることを目的としている。
【０００６】
このために、コンピュータ装置の仮想フロッピー（登録商標）ディスク搭載設定を保存しておくためのメニューと仮想フロッピー（登録商標）ディスクの領域確保や搭載有無の判別やアクセスを可能とするＢＩＯＳＰＯＳＴ処理およびＢＩＯＳ処理とＯＳ（Operating System）上の仮想フロッピー（登録商標）ディスク領域のアクセスを可能とするドライバ処理を有することにより、ハードディスク内の仮想フロッピー（登録商標）ディスクドライブの制御を行うように構成されている。
【特許文献１】特開２００２−３７３０８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述の特許文献１のコンピュータ装置は、ＨＤＤの一部のパーティションに仮想ＦＤＤの機能を割り当て、この仮想ＦＤＤにＢＩＯＳのＩＮＴ（割り込み）ファンクションによりアクセスする限定的な方式であり、多様（例えば、ＦＤＤやＣＤ等）なレガシーストレージをエミュレートする汎用的な手法としては使用できないという問題がある。
【０００８】
一般的に、レガシーストレージのエミュレーション動作を行うためには、次の、３点が必要である。第１に、「ＯＳからにレガシーストレージがアクセス可能である」ことが必要である。第２に、「仮想ＦＤＤ等から起動可能である」ことが必要である。第３に、「仮想ＦＤＤ等からレガシーアプリケーションが実行可能である」ことが必要である。
【０００９】
しかしながら、第１の「ＯＳからレガシーストレージがアクセス可能であること」という点については、特許文献１のコンピュータ装置では、ＯＳが仮想ＦＤＤを認識する場合に、ＢＩＯＳにおけるＩＮＴ（割り込み）ファンクションを使用してＯＳに認識させるが（段落番号００１８を参照）、これは、いわゆる「レガシーＯＳ」の手法であり、近年の「ＡＣＰＩ（Advanced Configuration and Power Interface）  ＯＳ」においてはこのような手法は採用できず、また、今後主流になる「ＥＦＩ（Extensible Firmware Interface）対応ＯＳ」においてはそもそも、「ＩＮＴｘｘファンクション」という概念が存在しないため、特許文献１の手法では、広く汎用的な手法としては使用できない。
【００１０】
また、「仮想ＦＤＤ等から起動可能であることが必要であること」という点については、特許文献１のコンピュータ装置では、ＩＤＥ（Integrated Drive Electronics）等のシステムＢＩＯＳが直接制御可能なストレージコントローラ配下のＨＤＤ（Hard disk drive）を搭載したコンピュータシステムにおいてのみ起動が可能となる。現実的にはストレージＢＩＯＳについてはストレージコントローラベンダから提供される場合も多く、特許文献１のコンピュータ装置の方法では起動できない。
【００１１】
また、「仮想ＦＤＤ等からレガシーアプリケーションが実行可能であること」という点については。特許文献１のコンピュータ装置では、ＢＩＯＳというソフトウェアによるエミュレーション方式である。したがってレガシーアプリケーションがハードウェアにアクセスする際にＢＩＯＳの機能（ＩＮＴｘｘファンクション）を使用してアクセスする限りにおいて、コエミュレーションが可能である。一方、レガシーアプリケーションの中にはＢＩＯＳの機能を使用せず、直接ハードウェアを制御するものが存在する。したがって、本発明が解決しようとする課題、すなわち多様なレガシーストレージに対するレガシーアプリケーションを動作させるためには、特許文献１の方式では、不十分である。
【００１２】
本発明は、上記問題点に鑑みなされたものであり、本発明の第１の目的は、レガシーストレージデバイスのエミュレート機能を備えるコンピュータシステムにおいて、多様なレガシーストレージデバイスを汎用的にエミュレーションできる、コンピュータシステム、レガシーアプリケーション実行方法、およびプログラムを提供することにある。
【００１３】
また、本発明の第２の目的は、複数のレガシーストレージデバイスからの連続起動をシナリオとして管理することにより、実行後に再起動が必要となるレガシーアプリケーションに対して、レガシーストレージデバイスのメディアを入れ替えながらレガシーアプリケーションを実行し再起動を行うという動作の繰り返しを、人手の介入なく行うことができる、コンピュータシステム、レガシーアプリケーション実行方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を解決するためになされたものであり、本発明のコンピュータシステムは、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を有するコンピュータシステムであって、前記レガシーストレージデバイスをエミュレートする際に使用されるレガシーストレージデバイスのストレージイメージを格納する不揮発性の組み込みストレージと、前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスのエミュレーション動作を行うレガシーストレージエミュレータと、を備え、前記レガシーストレージエミュレータによる前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させるように構成されたこと、を特徴とする。
上記構成のコンピュータシステムにおいては、組み込みストレージに格納されたレガシーストレージデバイスのストレージイメージを用いてレガシーストレージエミュレータを起動した後に、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させる。
これにより、多様なレガシーストレージデバイスを対象とした汎用的な方式によるレガシーストレージのエミュレーション動作を実行し、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させることができる。このため、物理レガシーデバイスを不要とすることができるので、例えば、ＦＤＤ等のレガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することが出来る。
【００１５】
また、本発明のコンピュータシステムは、前記レガシーストレージデバイスは同じ種類または異なる種類を含む複数のストレージデバイスであり、前記レガシーストレージエミュレータは、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレータを含み、前記組み込みストレージには、前記レガシーストレージデバイスごとのストレージイメージが、領域を分割して配置されること、を特徴とする。
上記構成のコンピュータシステムにおいては、レガシーストレージエミュレータは、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレータを備え、組み込みストレージには、レガシーストレージデバイスごとのストレージイメージが、領域を分割して配置される。
これにより、複数のレガシーストレージデバイス、または、複数種類のレガシーストレージデバイスのエミュレーションが可能となる。
【００１６】
また、本発明のコンピュータシステムは、前記コンピュータシステムは、実機として実装される物理レガシーストレージデバイスを備えており、前記物理レガシーストレージデバイスによる起動と、前記レガシーストレージエミュレータ及び組み込みストレージによるレガシーストレージデバイスの起動とのいずれかを選択して制御するためのデバイス制御スイッチを備えること、を特徴とする。
上記構成のコンピュータシステムにおいては、レガシーストレージデバイスによる起動と、レガシーストレージエミュレータ及び組み込みストレージによる起動とを選択して制御するためのデバイス制御スイッチを備えるようにしたので、これにより、物理レガシーストレージデバイス（例えば、物理ＦＤＤ）による起動と、レガシーストレージエミュレータによるレガシーストレージデバイス（例えば、仮想ＦＤＤ）の起動とを選択できる。
【００１７】
また、本発明のコンピュータシステムは、前記組み込みストレージ内には、前記レガシーストレージデバイスの起動イメージが配置され、前記起動イメージには、前記レガシーストレージデバイスからの起動を前提とするレガシーアプリケーションと、前記レガシーアプリケーションを実行するためのレガシーＯＳ（Operating System）と、が含まれ、前記レガシーストレージエミュレータによるエミュレーション動作が開始された場合に、前記レガシーＯＳをロードした後に、前記レガシーアプリケーションを実行するように構成されたこと、を特徴とする。
上記構成のコンピュータシステムにおいては、組み込みストレージ内の起動イメージには、レガシーアプリケーションと、レガシーアプリケーションを実行するためのレガシーＯＳと、が含まれるようにしたので、レガシーストレージエミュレータによる実行が選択された場合に、レガシーＯＳをロードした後に、レガシーアプリケーションを実行することができる。
【００１８】
本発明のコンピュータシステムは、前記複数のレガシーストレージデバイスの連続した起動を実行させるために、起動するレガシーストレージデバイスの種類の情報と、起動の順番の情報とを記録するシナリオを設定する手段を備えること、を特徴とする。
上記構成のコンピュータシステムにおいては、複数種類のレガシーストレージデバイスからの連続した起動をシナリオとして管理するようにしたので、これにより、実行後に再起動が必要となるレガシーアプリケーションに対して、レガシーストレージデバイスのメディアを入れ替えながらレガシーアプリケーションを実行し再起動を行うという動作の繰り返しを、人手の介入なく行うことができる。
【００１９】
また、本発明のコンピュータシステムは、前記レガシーストレージデバイスには、ＦＤＤ（フレキシブルディスクドライブ）と、ＣＤ−ＲＯＭ（コンパクトディスクＲＯＭ）のいずれか、または両方のストレージデバイスが含まれ、前記組み込みストレージには、前記ＦＤＤと、前記ＣＤ−ＲＯＭのいずれか、または両方をエミュレートする使用されるレガシーストレージデバイスのストレージイメージが格納されて構成されること、を特徴とする。
上記構成のコンピュータシステムにおいては、レガシーストレージデバイスとして、ＦＤＤ（フレキシブルディスクドライブ）や、ＣＤ−ＲＯＭ（コンパクトディスクＲＯＭ）等を対象とするので、これにより、ＦＤＤや、ＣＤ−ＲＯＭがなくとも、これらをエミュレーとし、ＦＤＤや、ＣＤ−ＲＯＭの起動を前提とした上位アプリケーションソフトウェアを動作させることができる。
【００２０】
また、本発明のレガシーアプリケーション実行方法は、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータにより、前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスのストレージイメージを、不揮発性の組み込みストレージに格納する手順と、前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、が行なわれることを特徴とする。
上記手順を含むレガシーアプリケーションの実行方法においては、組み込みストレージに格納されたレガシーストレージデバイスのストレージイメージを用いてレガシーストレージエミュレータを起動した後に、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させる。
これにより、多様なレガシーストレージデバイスを対象とした汎用的な方式によるレガシーストレージのエミュレーション動作を実行し、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させることができる。このため、物理レガシーデバイスを不要とすることができるので、例えば、ＦＤＤ等のレガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することが出来る。
【００２１】
また、本発明のコンピュータプログラムは、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータに、前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスのストレージイメージを、不揮発性の組み込みストレージに格納する手順と、前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、を実行させるためのプログラムである。
【発明の効果】
【００２２】
本発明における第１の効果は、既存のレガシーアプリケーションを動作させるために、多様なレガシーストレージデバイスを対象とした汎用的な方式によるレガシーストレージのエミュレート動作を実行できる。このため、物理レガシーデバイスを不要とすることができ、例えば、ＦＤＤ等のレガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することが出来る。
【００２３】
第２の効果は、シナリオにより複数種のデバイス組み合わせた起動を自動で行えることである。従来であれば、人手によりメディアを入れ替えて行っていた作業と同じことが、レガシーアプリケーションを作成しなおすことなく自動で実行できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を添付図面を参照して説明する。
なお、以下の説明においては、エミュレートされる仮想的なデバイスに対しては、仮想的なデバイスであることを明示するために接頭語として「仮想」の語を付して呼ぶことがあり（例えば、仮想ＦＤＤ）、実際に実装されるデバイスには実機であることを明示するために接頭語として「物理」の語を付して呼ぶことがある（例えば、物理ＦＤＤ）。
【００２５】
［第１の実施の形態］
（本発明によるコンピュータシステムの構成例の説明）
図１に示す例は、本発明の実施の形態に係わるコンピュータシステムの構成を示す図である。図１に示すコンピュータシステムは、ＣＰＵ（Central Processing Unit）１、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリ２、ＣＰＵの周辺回路等が搭載されるチップセット（Chipset）３、レガシーデバイス統合コントローラ４、物理ＦＤＤ等の物理レガシーストレージデバイス５、及びＨＤＤ等の非レガシーストレージデバイス６らなるコンピュータシステムである。
【００２６】
チップセット３は、ＣＰＵ（中央処理装置）１、メモリ２、非レガシーストレージデバイス６及びレガシーデバイス統合コントローラ４に接続され、レガシーデバイス統合コントローラ４は物理レガシーストレージデバイス５へ接続されている。
【００２７】
図２は、レガシーデバイス統合コントローラ４の構成を示す図である。レガシーデバイス統合コントローラ４は、レガシーストレージコントローラ４１、デバイス制御スイッチ４２、物理デバイスインターフェース４３、レガシーストレージエミュレータ４４、及び組み込みストレージ４５から構成される。
【００２８】
レガシーデバイス統合コントローラ４においては、ＣＰＵ１から発行されたレガシーストレージ（物理デバイスまたは仮想デバイス）へのコマンド発行要求をレガシーストレージコントローラ４１が受け取る。
【００２９】
レガシーストレージコントローラ４１は、デバイス制御スイッチ４２の設定により、物理レガシーストレージデバイス５またはレガシーストレージエミュレータ４４へコマンドを発行する。また、レガシーストレージコントローラ４１は、物理レガシーストレージデバイス５やレガシーストレージエミュレータ４４からの応答信号をＣＰＵ１へチップセット３を介して返信する処理を行う。
【００３０】
物理デバイスインターフェース４３は、レガシーデバイス統合コントローラ４と物理レガシーストレージデバイス５とのインターフェースであり、デバイス制御スイッチ４２に接続されている。
【００３１】
組み込みストレージ４５は、複数のレガシーストレージデバイスのストレージデバイスイメージを格納するために使用される、複数のパーティション（Partition)に分割可能な不揮発性ストレージである。この組み込みストレージ４５は、レガシーストレージエミュレータ４４及びデバイス制御スイッチ４２に接続されており、デバイス制御スイッチ４２により、レガシーストレージエミュレータ４４におけるエミュレート対象となるレガシーストレージデバイス（仮想デバイス）毎に複数のパーティションの有効・無効を切り替えることが可能に構成されている。
【００３２】
なお、仮想デバイスをエミュレートするデバイスエミュレータの技術は、上位アプリケーションから仮想デバイスへのアクセスを、物理デバイスの代わりに仮想的にエミュレーションする公知の技術であり、その説明は省略する。
【００３３】
レガシーストレージエミュレータ４４は、デバイスエミュレータのサブセットであり、本発明においては、レガシーストレージエミュレータ４４が組み込みストレージ４５を仮想レガシーストレージと見立ててレガシーストレージデバイス動作をエミュレーションし、上位アプリケーションから見て、あたかもレガシーストレージデバイスへアクセスしたかのような動作を行う。
【００３４】
設定ツール４６は、各処理部における「設定値」を設定するためのツールであり、この設定ツールで設定される設定値には、デバイス制御スイッチ４２における設定値と、レガシーストレージエミュレータ４４を制御するための設定値と、組み込みストレージ４５を制御するための設定値とが含まれる。また、設定ツール４６では、後述する「シナリオ」を設定する手段としても使用される。なお、この設定ツール４６としては、ＯＳ上で動作するアプリケーション等のユーティリティを、設定ツールとして使用することができる。
【００３５】
また、レガシーストレージエミュレータ４４は、固定アドレスポートをもつ複数種のストレージデバイスのエミュレーションが可能であり、どのストレージデバイスのエミュレーションを行うかは、設定値及び上位アプリケーションからアクセスされた固定アドレスポートにより判断される。
【００３６】
例えば、レガシーＦＤＤ（仮想ＦＤＤ）からの起動をエミュレーションする場合にはレガシーＦＤエミュレータ４４Ａが、仮想ＣＤからの起動をエミュレーションする場合にはレガシーＣＤエミュレータ４４Ｂというように、設定値によりアプリケーション毎に起動するエミュレータを切り替えることが可能であり、また同時に実行することが可能である。レガシーストレージエミュレータ４４が使用するレガシーストレージは、組み込みストレージ４５内において任意のパーティションに割り当てることが可能であり、設定値により動的に配置できるように構成されている。
【００３７】
デバイス制御スイッチ４２は、レガシーストレージコントローラ４１からストレージデバイスへのアクセスをコントロールする制御部であり、ストレージデバイスへのアクセスを物理デバイスインターフェース４３へ送信するか、レガシーストレージエミュレータ４４へ送信するかを設定により制御できるものである。
【００３８】
図３は、組み込みストレージ４５に格納される起動イメージの例を示す図である。図３に示すように、組み込みストレージ４５中には、ストレージイメージとして、複数のレガシーストレージの起動イメージ７を保持することができる。ここで、レガシーストレージデバイスからの起動を前提としたアプリケーションをレガシーアプリケーションと定義する。なお、レガシーストレージの起動イメージ７は、例えば、図４に例示するように、複数の起動イメージ１、２、３が、パーティション１、２、３で領域が区切られて配置される。
【００３９】
レガシーアプリケーションは、図３に示すように、レガシーストレージの起動イメージ７中に存在する。起動イメージ７はロードされると、イメージ中のレガシーＯＳ７１をロードし、レガシーアプリケーション７２を実行する。ここで、レガシーＯＳとは、システムの通常運用時に使用するＯＳではなく、レガシーアプリケーションを実行するためのＯＳのことである。
【００４０】
また、レガシーデバイス統合コントローラ４の設定には、前述のシナリオを含めることができる。予め複数種の仮想デバイス設定を作成しておき、シナリオにより、次回リセット時にどのストレージデバイスを組み合わせるかの設定値を含ませることができる。なお、シナリオの詳細については、後述する。
【００４１】
上記構成により、本発明のコンピュータシステムにおいては、組み込みストレージ４５に格納したストレージイメージと、レガシーストレージエミュレータ４４とにより、多様なレガシーストレージデバイスをエミュレートできる。このため、既存のレガシーアプリケーションを動作させるための物理レガシーデバイスを不要とすることができる。これにより、例えば、レガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することができる。
【００４２】
（図１に示すシステムの動作の説明：物理レガシーストレージデバイス５がある場合）
レガシーアプリケーション７２の動作例として、レガシーストレージデバイス（物理ＦＤD）からレガシーＯＳを起動してその上でアプリケーションを動作させる例について説明する。
【００４３】
図５は、物理レガシーストレージデバイス（物理ＦＤＤ）５がある場合のＦＤメディアの読み取り処理の流れを示す図であり、以下、図５を参照して、その処理の流れについて説明する。
【００４４】
物理レガシーストレージデバイス（物理ＦＤＤ）５から起動してアプリケーションを実行する場合には、ユーザは設定ツール４６により予めデバイス制御スイッチ４２の設定を、物理レガシーストレージデバイス（物理ＦＤＤ）５へアクセスが行われるようにしておく（ステップＳ１１）。このときの設定値の例を図７に示す。
【００４５】
図７に示す例では、物理レガシーストレージデバイス５のデバイス設定として、デバイス１が設定されており、このデバイス１では、タイプが「ＦＤＤ」、種類が「物理」、パーティション（Ｐａｒｔ）が「Ｎ／Ａ（利用できない）」に設定されている。また、パーティション設定においては、パーティション（Ｐａｒｔ１）のスタートアドレス（Ｓｔａｒｔ）、長さ（Ｌｅｎｇｔｈ）、サイズ（Ｓｉｚｅ）のそれぞれが「Ｎ／Ａ（利用できない）」に設定されている。
【００４６】
上記設定において、システムが起動され（ステップＳ１２）、物理レガシーストレージデバイス５からの起動が選択されると（ステップＳ１３）、ＣＰＵ１からレガシーストレージコントローラ４１へ対してレガシーＦＤＤ（物理ＦＤＤ）中のＦＤメディアの先頭セクタ読み出し指示が行われる（ステップＳ１４）。
【００４７】
アクセス要求を受けたレガシーストレージコントローラ４１はデバイス制御スイッチ４２にアクセス要求を発行するが（ステップＳ１５）、スイッチの設定によりこの要求は物理デバイスインターフェース４３へと転送され（ステップＳ１６）、物理レガシーストレージデバイス（物理ＦＤD）５へのアクセス要求が発行される（ステップＳ１７）。そして、物理デバイスインターフェース４３を介して、レガシーＦＤメディア（物理ＦＤ）の先頭セクタが読み出される（ステップＳ１８）。
【００４８】
レガシーアプリケーション７２からの物理レガシーストレージデバイス５へのアクセス要求も同様に処理されるため、結果としてレガシーアプリケーション７２は既存のシステムと同じ動作を行うことが出来る。
【００４９】
（図１に示すシステムの動作説明：物理レガシーストレージデバイス５がない場合）
次に、物理レガシーストレージデバイス５がない場合の例について説明する。図６は、物理レガシーストレージデバイス５がない場合の仮想ＦＤメディアの読み取り処理の流れを示す図であり、以下、図６を参照して、その処理の流れについて説明する。
【００５０】
物理レガシーストレージデバイス５の存在しないシステムにおいては、ユーザは設定ツール４６により予めデバイス制御スイッチ４２をレガシーストレージエミュレータ４４へアクセスが行われるよう設定する（ステップＳ２１）。
【００５１】
このレガシーストレージエミュレータ４４は、レガシーストレージの起動イメージ７がブート可能な仮想デバイス（仮想ＦＤＤ）をエミュレートする。仮想ＦＤＤの起動イメージのデータは、物理ＦＤＤからの起動時に使用したＦＤメディアのデータと同じものである。このときの設定値の例を図８に示す。
【００５２】
図８に示す例では、組み込みストレージ４５のデバイス設定として、デバイス１が設定されており、このデバイス１では、タイプ「ＦＤＤ」、種類「仮想」、パーティション（Ｐａｒｔ）として「パーティション１（Ｐａｒｔ１）」が設定されている。このパーティション設定においては、パーティション１（Ｐａｒｔ１）のスタートアドレス（Ｓｔａｒｔ）が「０」、長さ（Ｌｅｎｇｔｈ）が「０ｘｂ４０」・、サイズ（Ｓｉｚｅ）が「０ｘ２００」に設定されている。
【００５３】
上記設定の後、システムを起動する（ステップＳ２２）。このとき、設定値によりレガシーエミュレータ（レガシーＦＤエミュレータ）４４が起動される（ステップＳ２３）。レガシーＦＤＤ（仮想ＦＤＤ）からの起動が選択されると、レガシーストレージコントローラ４１へ対してレガシーＦＤＤへのアクセス要求が行われる（ステップＳ２４）。
【００５４】
アクセス要求を受けたレガシーストレージコントローラ４１は、デバイス制御スイッチ４２にアクセス要求を発行するが（ステップＳ２５）、スイッチの設定によりこの要求はレガシーストレージエミュレータ４４へ転送され（ステップＳ２６）、アクセス要求がレガシーＦＤへ対するものであるため、レガシーストレージエミュレータ４４が実行される（ステップＳ２７）。
【００５５】
レガシーストレージエミュレータ４４は、コマンド及び設定値を解釈し、要求を組み込みストレージ４５のパーティション１の先頭セクタの読み出し命令と解釈し、データの読み出し、及び必要な応答をレガシーストレージコントローラ４１に返す（ステップＳ２８）。
【００５６】
レガシーアプリケーション７２からのレガシーＦＤＤへのアクセス要求も同様に処理されるため、結果としてレガシーアプリケーション７２は、既存のシステムと同じ動作を行うことが出来る。なお、この動作は、デバイス制御スイッチ４２をレガシーストレージエミュレータ４４へアクセスが行われるよう設定した場合には、物理レガシーストレージデバイス５の存在するシステムにおいても同様となる。
【００５７】
上述した手順により、組み込みストレージ４５とレガシーストレージエミュレータ４４により、ＦＤＤを含む多様なレガシーストレージデバイスをエミュレートし、上位のレガシーアプリケーションを実行することができる。
【００５８】
［第２の実施の形態］
次に、本発明のコンピュータシステムの第２の実施の形態として、シナリオによる複数種のレガシーストレージの起動と、レガシーアプリケーションの自動実行の例について説明する。
【００５９】
自動実行の例として、システムのメンテナンスを行うために、最初に、「仮想ＦＤから起動しＢＩＯＳアップデート」を行い、次に、「仮想ＦＤから起動しシステムマネージメントファームウェアをアップデート」し、最後に、「仮想ＣＤから起動しシステムメンテナンスツールを実行する例」を示す。なお、メンテナンスツールを実行する際、使用済みのＢＩＯＳアップデートイメージ領域をテンポラリ領域として使用するものとする。
【００６０】
ここで、デバイス設定の設定値は、複数個のデバイス組み合わせ設定が可能であるものとする。
【００６１】
本例では、図９（Ａ）のデバイス設定に示すように、「デバイス１」に「パーティション１（Ｐａｒｔ１）を使用する仮想ＦＤＤ」、「デバイス２」に「パーティション２（Ｐａｒｔ２）を使用する仮想ＦＤＤ」、「デバイス３」に「パーティション３（Ｐａｒｔ３）を使用する仮想ＣＤ−ＲＯＭデバイス」を定義する。
【００６２】
また、図９（Ｂ）のパーティション設定に示すように、パーティション１（Ｐａｒｔ１）として、スタートアドレス（Ｓｔａｒｔ）が「０」、長さ（Ｌｅｎｇｔｈ）が「０ｘｂ４０」、サイズ（Ｓｉｚｅ）が「０ｘ２００」に設定される。
【００６３】
また、パーティション２（Ｐａｒｔ２）として、スタートアドレス（Ｓｔａｒｔ）が「０ｘ１０００」、長さ（Ｌｅｎｇｔｈ）が「０ｘｂ４０」・、サイズ（Ｓｉｚｅ）が「０ｘ２００」に設定される。
【００６４】
また、パーティション３（Ｐａｒｔ３）として、スタートアドレス（Ｓｔａｒｔ）が「０ｘ２０００」、長さ（Ｌｅｎｇｔｈ）が「０ｘｂ４０」、サイズ（Ｓｉｚｅ）が「０ｘａ００」に設定される。
【００６５】
また、図９（Ｃ）のシナリオ設定に示すように、シナリオにはこれら定義したデバイスをうち、どのような組み合わせを有効にするかを指定する。この例では、シナリオ設定１として「デバイス１」が設定され、シナリオ設定２として「デバイス２」が設定され、シナリオ設定３として「デバイス１及びデバイス３」が設定される。
【００６６】
シナリオの設定はシーケンシャルに実行され、レガシーアプリケーションによりシステムがリセットされた場合にインクリメントされ、次の設定が有効になる。
【００６７】
実際の動作では、まずユーザが図7に示すとおりに設定を行い、組み込みストレージのパーティション１〜３に必要なデータを配置する。
【００６８】
次にシステムの電源を投入すると、まず、図９（Ｃ）に示すシナリオ設定中の「設定１のシナリオ」が有効になり、図７（Ａ）に示す「デバイス１」の設定が有効化される。ＢＩＯＳの初期化が完了すると、仮想ＦＤＤ１からブートが行われ、ＢＩＯＳアップデートツールが実行される。
【００６９】
ＢＩＯＳのアップデートが完了し、ＢＩＯＳアップデートツールによりシステムがリセットされると、図９（Ｃ）に示すシナリオ設定中の「設定２のシナリオ」が有効になり、図９（Ａ）に示す「デバイス２」の設定が有効になる。
【００７０】
ＢＩＯＳの初期化が完了すると、仮想ＦＤＤ２からブートが行われ、システムマネージメントファームウェア・アップデートツールが実行される。システムマネージメントファームウェアのアップデートが完了すると、ツールによりシステムがリセットされる。
【００７１】
ここで、図９（Ｃ）に示すシナリオ設定中の「設定３のシナリオ」が有効になるため、図９（Ａ）に示す「デバイス１」及び「デバイス３」の設定が有効化され、今度はパーティション３からブートされ、パーティション３の仮想ＣＤ−ＲＯＭに含まれるメンテナンスツールが実行きれる。メンテナンスツールでは、テンポラリ領域として仮想ＦＤＤへの読み書きが行われる。メンテナンスツールが終了し、ツールによりシステムが再起動されると、今度は有効なシナリオが存在しないため、デバイス１〜３はすべて無効となり、ＢＩＯＳ初期化完了後は非レガシーストレージデバイスであるＨＤＤに格納されたＯＳがブートする。
【００７２】
このように、本発明の第２の実施の形態に係わるコンピュータシステムにおいては、連続したレガシーストレージデバイスからの起動をシナリオとして管理することにより、実行後に再起動が必要となるレガシーアプリケーションに対して、レガシーストレージデバイスのメディアを入れ替えながらレガシーアプリケーションを実行し再起動を行うという動作の繰り返しを、人手の介入なく行うことができる。
【００７３】
以上、本発明のコンピュータシステムの構成と動作について説明したが、本発明のコンピュータシステムにおいては、組み込みストレージ４５に格納したストレージイメージと、レガシーストレージエミュレータ４４とにより、多様なレガシーストレージデバイスをエミュレーションできるという優れた効果がある。
【００７４】
すなわち、前述した特許文献１のコンピュータ装置では、ＨＤＤの一部に仮想ＦＤＤの機能を割り当て、ＢＩＯＳのＩＮＴ（割り込み）ファンクションによりアクセスする限定的な方式を用いており、多様なレガシーストレージ（例えば、ＦＤＤやＣＤ等）をエミュレートする汎用的な手法としては使用できないという問題があったが、本発明のコンピュータシステムにより、この問題を解決できる。
【００７５】
また、特許文献１のコンピュータ装置では、ＩＤＥ（Integrated Drive Electronics）等のシステムＢＩＯＳが直接制御可能なストレージコントローラ配下のＨＤＤ（Hard disk drive）を搭載したコンピュータシステムにおいてのみ起動が可能となるが、本発明のコンピュータシステムではこれに限定されない。
【００７６】
また、特許文献１のコンピュータ装置では、ＢＩＯＳというソフトウェアによるエミュレーション方式である。したがってレガシーアプリケーションがハードウェアにアクセスする際にＢＩＯＳの機能（ＩＮＴｘｘファンクション）を使用してアクセスする限りにおいて、コエミュレーションが可能であるが、本発明のコンピュータシステムではこれに限定されず、汎用的に用いることができる。
【００７７】
また、レガシーアプリケーションの中にはＢＩＯＳの機能を使用せず、直接ハードウェアを制御するものが存在し、この場合には特許文献１の方式では、対応できず不十分であるが、本発明のコンピュータシステムは、この場合にも適用可能である。
【００７８】
以上、本発明の実施の形態について説明したが、本発明のコンピュータシステムにおける、上述した処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
【００７９】
すなわち、レガシーストレージコントローラ４１、デバイス制御スイッチ４２、レガシーストレージエミュレータ４４等における、各処理は、ＣＰＵ等の中央演算処理装置がＲＯＭやＲＡＭ等の主記憶装置に上記プログラムを読み出して、情報の加工、演算処理を実行することにより、実現されるものである。
【００８０】
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００８１】
また、上述のコンピュータシステムには、周辺機器として入力装置、表示装置等（いずれも表示せず）が接続されているものとする。ここで、入力装置としては、キーボード、マウス等の入力デバイスのことをいう。表示装置とは、ＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
【００８２】
以上、本発明の実施の形態について説明したが、本発明のコンピュータシステムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００８３】
【図１】本発明によるコンピュータシステムの構成を示す図である。
【図２】レガシーデバイス統合コントローラの構成を示す図である。
【図３】起動イメージの例を示す図である。
【図４】パーティションと起動イメージの例を示す図である。
【図５】物理レガシーストレージデバイスがある場合のレガシーＦＤメディアの読み取り処理の流れを示す図である。
【図６】物理レガシーストレージデバイスがない場合のレガシーＦＤメディアの読み取り処理の流れを示す図である。
【図７】物理レガシーストレージデバイスを起動する場合のデバイス設定の例を示す図である。
【図８】レガシーストレージエミュレータを起動する場合のデバイス設定の例を示す図である。
【図９】シナリオにより複数種のレガシーストレージの起動を自動で行う場合のデバイス設定の例を示す図である。
【符号の説明】
【００８４】
１・・・ＣＰＵ、２・・・メモリ、３・・・チップセット、４・・・レガシーデバイス統合コントローラ、５・・・物理レガシーストレージデバイス、６・・・非レガシーストレージデバイス、７・・・起動イメージ、４１・・・レガシーストレージコントローラ、４２・・・デバイス制御スイッチ、４３・・・物理デバイスインターフェース、４４・・・レガシーストレージエミュレータ、４４Ａ・・・レガシーＦＤエミュレータ、４４Ｂ・・・レガシーＣＤエミュレータ、４５・・・組み込みストレージ、４６・・・設定値、７１・・・レガシーＯＳ、７２・・・レガシーアプリケーション
【図１】
2010079821.tif 000003
【図２】
2010079821.tif 000004
【図３】
2010079821.tif 000005
【図４】
2010079821.tif 000006
【図５】
2010079821.tif 000007
【図６】
2010079821.tif 000008
【図７】
2010079821.tif 000009
【図８】
2010079821.tif 000010
【図９】
2010079821.tif 000011