(57)【要約】【課題】複数ＯＳのイメージの保持機能と容量効率性を両立するとともに、ＯＳのバージョンアップに要する時間の短縮や確実な従来ＯＳイメージの保持をも行うことができるＯＳイメージ切替方法等を提供すること【解決手段】コンピュータシステム１０は、最新ＯＳイメージ３を生成し外部記憶装置に書き込むＯＳイメージ更新手段１と、ＯＳイメージ更新手段の作動に先立ってスナップショットＯＳイメージ４を生成し外部記憶装置に書き込むスナップショット生成手段５と、最新ＯＳイメージとスナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択手段５と、ブートＯＳイメージを外部記憶装置から読み出して主記憶装置に書き込むブート手段６とを備えている。【選択図】図１
2008003815.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムのイメージであるＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新手段と、
前記ＯＳイメージ更新手段の作動に先立って更新前の前記ＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し前記外部記憶装置に書き込むスナップショット生成手段と、
前記最新ＯＳイメージと前記スナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択手段と、
前記ブートＯＳイメージを前記外部記憶装置から読み出して主記憶装置に書き込むブート手段と、を備えたことを特徴としたコンピュータシステム。
【請求項２】
前記スナップショット生成手段は、ファイル単位で前記スナップショットＯＳイメージを生成し、前記ブートイメージ選択手段は、前記ブートＯＳイメージの前記外部記憶装置における参照開始位置を前記ブート手段に通知することを特徴とした請求項１に記載のコンピュータシステム。
【請求項３】
前記スナップショット生成手段は、デバイス単位で前記スナップショットＯＳイメージを生成し、前記ブートイメージ選択手段は、前記ブートＯＳイメージが書き込まれている前記デバイスを特定する情報を前記ブート手段に通知することを特徴とした請求項１に記載のコンピュータシステム。
【請求項４】
ブートサーバに記憶されオペレーティングシステムのイメージであるＯＳイメージを使用して前記ブートサーバにネットワーク接続されたクライアントを起動するネットワークブートシステムにおいて、
前記ブートサーバは、
前記ＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新手段と、
前記ＯＳイメージ更新手段の作動に先立って更新前の前記ＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し前記外部記憶装置に書き込むスナップショット生成手段と、
前記クライアントにより指定された前記最新ＯＳイメージまたは前記スナップショットＯＳイメージであるブートＯＳイメージを前記クライアントに送信するブートＯＳイメージ送信手段とを備え、
前記クライアントは、
前記最新ＯＳイメージと前記スナップショットＯＳイメージの中から一つを前記ブートＯＳイメージとして選択し、前記ブートＯＳイメージを特定する情報を含むＯＳイメージ送信要求を前記ブートサーバに送信するブートイメージ選択手段と、
前記ＯＳイメージ送信要求に応じて前記ブートサーバから送信された前記ブートＯＳイメージを受信して主記憶装置に書き込むブート手段とを備えたことを特徴としたネットワークブートシステム。
【請求項５】
コンピュータの起動に用いるＯＳイメージを切り替える方法において、
オペレーティングシステムのイメージであるＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成工程と、
前記ＯＳイメージを更新して最新ＯＳイメージを生成し前記外部記憶装置に書き込むＯＳイメージ更新工程と、
前記最新ＯＳイメージと前記スナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択工程と、
前記ブートＯＳイメージを前記外部記憶装置から読み出して主記憶装置に書き込むブート工程と、を備えたことを特徴としたＯＳイメージ切替方法。
【請求項６】
前記スナップショット生成工程では、ファイル単位で前記スナップショットＯＳイメージを生成し、前記ブートイメージ選択工程では、前記ブートＯＳイメージの前記外部記憶装置における参照開始位置を取得し、前記ブート工程では前記参照開始位置に従って前記ブートＯＳイメージを読み出すことを特徴とした請求項５に記載のＯＳイメージ切替方法。
【請求項７】
前記スナップショット生成工程では、デバイス単位で前記スナップショットＯＳイメージを生成し、前記ブートイメージ選択工程では、前記ブートＯＳイメージが書き込まれている前記デバイスを特定する起動デバイス特定情報を取得し、前記ブート工程では前記起動デバイス特定情報に示されるデバイスから前記ブートＯＳイメージを読み出すことを特徴とした請求項５に記載のＯＳイメージ切替方法。
【請求項８】
ブートサーバに記憶されオペレーティングシステムのイメージであるＯＳイメージを使用して前記ブートサーバにネットワーク接続されたクライアントを起動するネットワークブート方法において、
前記ブートサーバが、オペレーティングシステムのイメージであるＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成工程と、
前記ブートサーバが、前記ＯＳイメージを更新して最新ＯＳイメージを生成し前記外部記憶装置に書き込むＯＳイメージ更新工程と、
前記クライアントが、前記最新ＯＳイメージと前記スナップショットＯＳイメージの中から一つを前記ブートＯＳイメージとして選択するブートイメージ選択工程と、
前記クライアントが、前記ブートＯＳイメージを特定する情報を含むＯＳイメージ送信要求を前記ブートサーバに送信する送信要求工程と、
前記ブートサーバが、前記ＯＳイメージ送信要求に応じて前記ブートＯＳイメージを前記クライアントに送信するブートＯＳイメージ送信工程と、
前記クライアントが、前記ブートサーバから送信された前記ブートＯＳイメージを受信して主記憶装置に書き込むブート工程とを備えたことを特徴としたネットワークブート方法。
【請求項９】
コンピュータに、
オペレーティングシステムのイメージであるＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成処理と、
前記ＯＳイメージを更新して最新ＯＳイメージを生成し前記記憶装置に書き込むＯＳイメージ更新処理と、
前記最新ＯＳイメージと前記スナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択処理と、
前記ブートＯＳイメージを前記外部記憶装置から読み出して主記憶装置に書き込むブート処理とを実行させることを特徴としたＯＳイメージ切替プログラム。
【請求項１０】
前記スナップショット生成処理では、ファイル単位で前記スナップショットＯＳイメージを生成し、前記ブートイメージ選択処理では、前記ブートＯＳイメージの前記外部記憶装置における参照開始位置を取得し、前記ブート処理では前記参照開始位置に従って前記ブートＯＳイメージを読み出すことを特徴とした請求項９に記載のＯＳイメージ切替プログラム。
【請求項１１】
前記スナップショット生成処理では、デバイス単位で前記スナップショットＯＳイメージを生成し、前記ブートイメージ選択処理では、前記ブートＯＳイメージが書き込まれている前記デバイスを特定する起動デバイス特定情報を取得し、前記ブート処理では前記起動デバイス特定情報に示されるデバイスから前記ブートＯＳイメージを読み出すことを特徴とした請求項９に記載のＯＳイメージ切替プログラム。
【請求項１２】
ブートサーバに記憶されオペレーティングシステムのイメージであるＯＳイメージを使用して前記ブートサーバにネットワーク接続されたクライアントを起動するネットワークブートプログラムにおいて、
前記ブートサーバに、
前記ＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成処理と、
前記ＯＳイメージを更新して最新ＯＳイメージを生成し前記外部記憶装置に書き込むＯＳイメージ更新処理と、
前記クライアントにより指定された前記最新ＯＳイメージまたは前記スナップショットＯＳイメージであるブートＯＳイメージを前記クライアントに送信するブートＯＳイメージ送信処理とを実行させ、
前記クライアントに、
前記最新ＯＳイメージと前記スナップショットＯＳイメージの中から一つを前記ブートＯＳイメージとして選択するブートイメージ選択処理と、
前記ブートＯＳイメージを特定する情報を含むＯＳイメージ送信要求を前記ブートサーバに送信し、このＯＳイメージ送信要求に応じて前記ブートサーバから送信された前記ブートＯＳイメージを受信して主記憶装置に書き込むブート処理とを実行させることを特徴としたネットワークブートプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバージョンのオペレーティングシステム（以下、「ＯＳ」という）を保持しその中から選択したものを用いコンピュータを起動する技術に関し、特に複数ＯＳのイメージの保持機能と容量効率性を両立するＯＳ切り替え技術に関する。
【背景技術】
【０００２】
従来、コンピュータシステムが起動に要するＯＳイメージを構成するファイル群等を複数バージョン備えるには大別して次の２つの方式がある。
ひとつは複数のファイル群のセットを抱える方法であり、この方法では相互に整合性を保ったファイル群が特定のディレクトリ化もしくは名前付けルールのもとに集められ、起動時の指定等によりファイル群を切り替えることにより、起動するＯＳイメージを変更することができる。
【０００３】
もうひとつの方式は通常起動するＯＳイメージを通常ファイルイメージとして持ち、そのほかのバージョンのＯＳイメージは現バージョンとの差分のあるファイルをアーカイブとして保持する方式である。主に、ＯＳの更新を行った際に不具合があった場合などに以前のバージョンのＯＳイメージに戻せるようにするなどの目的で用いられる。
この方式のもとでは通常起動するＯＳバージョン以外のＯＳイメージを起動するためには差分ファイルアーカイブからの復元を要する。
【０００４】
このような方式の一例が、特許文献１に記載されている。
この文献に記載のソフトウェアインストール方法では、次の手順で、コンピュータに格納された第１のソフトウェアを実行可能に保持しつつ、第１のソフトウェアをバージョンアップした第２のソフトウェアをコンピュータにインストールする。
まず、第２のソフトウェアを構成する各ファイルについて、第１のソフトウェアの各ファイルと同一か異なるかを判断する。そして同一である場合には、同一と判断された第１のソフトウェアのファイルを第２のソフトウェアのファイルとして利用できるようにリンク付けを行う。一方異なる場合には、異なると判断された第２のソフトウェアのファイルをインストールする。
【０００５】
【特許文献１】特開２００４−２０６３５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前者のファイル群を複数持つ方式は、切り替えが容易であるものの、容量効率の面において非常に悪い。特にＯＳの場合、部分的な修正・更新を行ってもその他の大部分の変更されていない部分について複数のコピーを持つのは無駄が大きい。
後者の方式は容量効率は改善されるものの、起動ＯＳイメージの切り替えにはアーカイブからの復旧を要するのに加え、複数バージョンのＯＳの保持を行うとアーカイブの内容の整合性保持が著しく困難になるという欠点もある。
【０００７】
本発明は上記のような状況に対して、複数ＯＳのイメージの保持機能と容量効率性を両立するとともに、ＯＳのバージョンアップに要する時間の短縮や確実な従来ＯＳイメージの保持をも行うことができるＯＳイメージ切替方法等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の、コンピュータシステムは、オペレーティングシステムのイメージであるＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新手段と、ＯＳイメージ更新手段の作動に先立って更新前のＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成手段と、最新ＯＳイメージとスナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択手段と、ブートＯＳイメージを外部記憶装置から読み出して主記憶装置に書き込むブート手段とを備えている（請求項１ないし請求項３）。
【０００９】
上記コンピュータシステムによれば、最新ＯＳイメージの更新に先立ってその時点の最新ＯＳイメージのスナップショットであるスナップショットＯＳを生成して、外部記憶装置に格納する。コンピュータシステムの起動時には、ブートＯＳイメージを選択して、ＯＳを起動する。
そのため、複数ＯＳのイメージの保持機能と容量効率性を両立するとともに、ＯＳのバージョンアップに要する時間を短縮し、更新前のＯＳイメージを確実に保持することができる。
【００１０】
上記コンピュータシステムにおいて、スナップショット生成手段は、ファイル単位でスナップショットＯＳイメージを生成し、ブートイメージ選択手段は、ブートＯＳイメージの外部記憶装置における参照開始位置をブート手段に通知するようにしてもよい（請求項２）。
【００１１】
上記コンピュータシステムにおいて、スナップショット生成手段は、デバイス単位でスナップショットＯＳイメージを生成し、ブートイメージ選択手段は、ブートＯＳイメージが書き込まれているデバイスを特定する情報をブート手段に通知するようにしてもよい（請求項３）。
【００１２】
本発明のネットワークブートシステムは、ブートサーバとクライアントにより構成される。
ブートサーバは、ＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新手段と、ＯＳイメージ更新手段の作動に先立って更新前のＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成手段と、クライアントにより指定された最新ＯＳイメージまたはスナップショットＯＳイメージであるブートＯＳイメージをクライアントに送信するブートＯＳイメージ送信手段とを備えている。
クライアントは、最新ＯＳイメージとスナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択し、ブートＯＳイメージを特定する情報を含むＯＳイメージ送信要求をブートサーバに送信するブートイメージ選択手段と、ＯＳイメージ送信要求に応じてブートサーバから送信されたブートＯＳイメージを受信して主記憶装置に書き込むブート手段とを備えている（請求項４）。
【００１３】
上記ネットワークブートシステムによれば、ブートイメージ選択手段は、クライアントで動作し、ＯＳイメージを保持するブートブートサーバは、クライアントのブートイメージ選択手段に対して複数のバージョンのＯＳイメージを提供することができる。
そのため、クライアントごとに異なる設定情報を含むＯＳイメージを生成する手間やそれらの格納コストなどを大きく削減することができる。
【００１４】
本発明の、ＯＳイメージ切替方法では、オペレーティングシステムのイメージであるＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成工程と、ＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新工程と、最新ＯＳイメージとスナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択工程と、ブートＯＳイメージを外部記憶装置から読み出して主記憶装置に書き込むブート工程とによりコンピュータの起動に使用するＯＳイメージを切り替える（請求項５ないし請求項７）。
【００１５】
上記ＯＳイメージ切替方法によれば、最新ＯＳイメージの更新に先立ってその時点の最新ＯＳイメージのスナップショットであるスナップショットＯＳを生成して、外部記憶装置に格納する。コンピュータシステムの起動時には、ブートＯＳイメージを選択して、ＯＳを起動する。
そのため、複数ＯＳのイメージの保持機能と容量効率性を両立するとともに、ＯＳのバージョンアップに要する時間を短縮し、更新前のＯＳイメージを確実に保持することができる。
【００１６】
上記ＯＳイメージ切替方法において、スナップショット生成工程では、ファイル単位でスナップショットＯＳイメージを生成し、ブートイメージ選択工程では、ブートＯＳイメージの外部記憶装置における参照開始位置を取得し、ブート工程では参照開始位置に従ってブートＯＳイメージを読み出すようにしても良い（請求項６）。
【００１７】
上記ＯＳイメージ切替方法において、スナップショット生成工程では、デバイス単位でスナップショットＯＳイメージを生成し、ブートイメージ選択工程では、ブートＯＳイメージが書き込まれているデバイスを特定する起動デバイス特定情報を取得し、ブート工程では起動デバイス特定情報に示されるデバイスからブートＯＳイメージを読み出すようにしても良い（請求項７）。
【００１８】
本発明の、ネットワークブート方法は、ブートサーバが、オペレーティングシステムのイメージであるＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成工程と、ブートサーバが、ＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新工程と、クライアントが、最新ＯＳイメージとスナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択工程と、クライアントが、ブートＯＳイメージを特定する情報を含むＯＳイメージ送信要求をブートサーバに送信する送信要求工程と、ブートサーバが、ＯＳイメージ送信要求に応じてブートＯＳイメージをクライアントに送信するブートＯＳイメージ送信工程と、クライアントが、ブートサーバから送信されたブートＯＳイメージを受信して主記憶装置に書き込むブート工程とによりクライアントの起動を行う（請求項８）。
【００１９】
上記ネットワークブート方法によれば、ブートイメージの選択はクライアントで行い、ＯＳイメージを保持するブートブートサーバは、クライアントに対して複数のバージョンのＯＳイメージを提供することができる。
そのため、クライアントごとに異なる設定情報を含むＯＳイメージを生成する手間やそれらの格納コストなどを大きく削減することができる。
【００２０】
本発明のＯＳイメージ切替プログラムは、コンピュータに、オペレーティングシステムのイメージであるＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成処理と、ＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新処理と、最新ＯＳイメージとスナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択処理と、ブートＯＳイメージを外部記憶装置から読み出して主記憶装置に書き込むブート処理とを実行させる（請求項９ないし請求項１１）。
【００２１】
上記ＯＳイメージ切替プログラムによれば、最新ＯＳイメージの更新に先立ってその時点の最新ＯＳイメージのスナップショットであるスナップショットＯＳを生成して、外部記憶装置に格納する。コンピュータの起動時には、ブートＯＳイメージを選択して、ＯＳを起動する。
そのため、複数ＯＳのイメージの保持機能と容量効率性を両立するとともに、ＯＳのバージョンアップに要する時間を短縮し、更新前のＯＳイメージを確実に保持することができる。
【００２２】
上記ＯＳイメージ切替プログラムにおいて、スナップショット生成処理では、ファイル単位でスナップショットＯＳイメージを生成し、ブートイメージ選択処理では、ブートＯＳイメージの外部記憶装置における参照開始位置を取得し、ブート処理では参照開始位置に従ってブートＯＳイメージを読み出すようにしても良い（請求項１０）。
【００２３】
上記ＯＳイメージ切替プログラムにおいて、スナップショット生成処理では、デバイス単位でスナップショットＯＳイメージを生成し、ブートイメージ選択処理では、ブートＯＳイメージが書き込まれているデバイスを特定する起動デバイス特定情報を取得し、ブート処理では起動デバイス特定情報に示されるデバイスからブートＯＳイメージを読み出すようにしても良い（請求項１１）。
【００２４】
本発明のネットワークブートプログラムは、ブートサーバに、ＯＳイメージのスナップショットであるスナップショットＯＳイメージを生成し外部記憶装置に書き込むスナップショット生成処理と、ＯＳイメージを更新して最新ＯＳイメージを生成し外部記憶装置に書き込むＯＳイメージ更新処理と、クライアントにより指定された最新ＯＳイメージまたはスナップショットＯＳイメージであるブートＯＳイメージをクライアントに送信するブートＯＳイメージ送信処理とを実行させ、クライアントに、最新ＯＳイメージとスナップショットＯＳイメージの中から一つをブートＯＳイメージとして選択するブートイメージ選択処理と、ブートＯＳイメージを特定する情報を含むＯＳイメージ送信要求をブートサーバに送信し、このＯＳイメージ送信要求に応じてブートサーバから送信されたブートＯＳイメージを受信して主記憶装置に書き込むブート処理とを実行させる（請求項１２）。
【００２５】
上記ネットワークブートプログラムによれば、ブートイメージの選択はクライアントで行い、ＯＳイメージを保持するブートブートサーバは、クライアントに対して複数のバージョンのＯＳイメージを提供することができる。
そのため、クライアントごとに異なる設定情報を含むＯＳイメージを生成する手間やそれらの格納コストなどを大きく削減することができる。
【発明の効果】
【００２６】
本発明によれば、最新ＯＳイメージの更新に先立ってその時点の最新ＯＳイメージのスナップショットであるスナップショットＯＳを生成して、外部記憶装置に格納する。コンピュータの起動時には、ブートＯＳイメージを選択して、ＯＳを起動する。
そのため、複数ＯＳのイメージの保持機能と容量効率性を両立するとともに、ＯＳのバージョンアップに要する時間を短縮し、更新前のＯＳイメージを確実に保持することができる。
【発明を実施するための最良の形態】
【００２７】
以下、図を参照しながら本発明の第１の実施形態であるコンピュータシステム１０の構成と動作について説明する。
図１は、コンピュータシステム１０の機能ブロック図である。
コンピュータ１０は、機能ブロックとして、ＯＳイメージ更新手段１と、ファイルシステム２と、ブート手段６と、ブートイメージ選択手段７とを備えている。ファイルシステム２は、スナップショット生成手段５、最新ＯＳイメージ３、スナップショットＯＳイメージ４とにより構成されている。
また、コンピュータシステム１０は、ハードウェアとして、ＣＰＵ(Central Processing Unit)、外部記憶装置、主記憶装置、入出力装置を備えている。
【００２８】
ＯＳイメージ更新手段１は、ハードディスク装置等の外部記憶装置に記憶されているＯＳイメージを更新して最新ＯＳイメージ３を生成し外部記憶装置に書き込む。ＯＳイメージ更新手段１は、不具合の修正や機能強化などの理由により、ＯＳイメージを更新する必要が生じた場合、コンピュータシステム１０の使用者の指示またはＯＳの自動更新プログラムにより起動され、一般的にはＯＳイメージを構成するファイルの置換などを行う。
【００２９】
ファイルシステム２はコンピュータシステム１０の起動に必要なファイル等から構成されるＯＳイメージを複数保持している。具体的には、ＯＳイメージ更新手段により生成された最新ＯＳイメージ３と、スナップショット生成手段５により生成された１または２以上のスナップショットＯＳイメージ４を保持している。
【００３０】
スナップショット生成手段５は、ＯＳイメージ更新手段１の作動に先立って、その時点の最新ＯＳイメージ３のスナップショットであるスナップショットＯＳイメージ４を生成し、ハードディスク装置等の外部記憶装置に書き込む。スナップショットの作成は、ＯＳイメージ更新手段１が作動する都度行われ、スナップショットＯＳイメージ４は、複数のバージョンが保持されている。
ファイルシステム２が提供するスナップショット機能を用いると、スナップショットを採取した時点以降に最新ＯＳイメージ３が更新されても、コンピュータシステム１０で動作するソフトウェアは、スナップショット採取時点の最新ＯＳイメージを参照することができる。
コンピュータシステム１０においては、ＯＳイメージを構成するファイルの置換に伴いシステムに不具合が発生した場合でも、後述するブートイメージ選択手段７により、置換前のスナップショットＯＳイメージ４を選択して起動することができる。
【００３１】
スナップショット機能の具体的な実装方式や参照方式は本発明においては本質的ではない。
しかし、以降の説明を簡明にするため、スナップショットはファイルシステム単位でとられ、最新部分（最新ＯＳイメージ３）とスナップショット部分（スナップショットＯＳイメージ４）との間で異なっている部分のみが個別に保持され、最新部分とスナップショットとで共通の部分については、同一の格納部分を共有する、コピーオンライト方式をとっており、また、参照においては、階層化ディレクトリシステムにおいてスナップショットを特定する名称のディレクトリの下に、スナップショット採取時のファイルシステムイメージが見える方式であるとする。
【００３２】
ブート手段６は、コンピュータシステム１０の電源が投入されたとき、または、リセット信号を受信したときに作動し、ＯＳイメージを外部記憶装置から読み出して、ＲＡＭ等の主記憶装置に書き込む（ロードする）。主記憶装置に書き込むＯＳイメージは、ブートイメージ選択手段７から通知される。
【００３３】
ブートイメージ選択手段７は、ブート手段６により呼び出されたときに作動し、外部記憶装置に格納されている最新ＯＳイメージ３とスナップショットＯＳイメージ４の中から起動に使用するもの（ブートＯＳイメージ）を選択する。
この選択は、例えば、選択可能なＯＳイメージの一覧と選択のためのインターフェースをディスプレイ装置に表示し、コンピュータシステム１０の使用者の入力に従って選択する。また、通常は最新ＯＳイメージ３を選択するようにし、例えば、キーボードの特定のキーを押しながら電源を投入する等の予め定めた特別な起動操作を使用者が行った場合に、選択を促す画面を出力するようにしてもよい。
先に例示したスナップショット参照方式を採用している場合、スナップショットＯＳイメージ４と最新ＯＳイメージ３は、ファイルシステム２内での参照開始ディレクトリ位置のみが異なるだけで論理的には同じ構造をしている。
したがって、ブートイメージ選択手段７はこの場合、ブートＯＳイメージの参照開始位置をブート手段６へ通知し、ブート手段６はこの通知にしたがって起動処理を開始する。
【００３４】
次に、コンピュータシステム１０の動作について説明する。
図２（ａ）は、コンピュータシステム１０の最新ＯＳイメージ３の更新動作を説明するフローチャートである。
まず、スナップショット生成手段５が、その時点の最新ＯＳイメージ３のスナップショットを作成し、スナップショットＯＳイメージ４として外部記憶装置に書き込む（Ｓ１０１）。
次に、ＯＳイメージ更新手段１が最新ＯＳイメージ３を構成するファイルを置き換える等して、最新ＯＳイメージ３を更新する。
【００３５】
図２（ｂ）は、コンピュータシステム１０の起動時の動作を説明するフローチャートである。
コンピュータシステム１０の電源が投入されると（Ｓ１１１）、ブート手段６はブートイメージ選択手段７を呼び出し、ブートイメージ選択手段７は、最新ＯＳイメージ３とスナップショットＯＳイメージ４の中からブートＯＳイメージを選択する（Ｓ１１２）。
ブートイメージ選択手段７は、選択したブートＯＳイメージの参照開始位置をブート手段６に通知する（Ｓ１１３）。
ブート手段６は、Ｓ１１３で通知された参照開始位置をベースとして、ブートＯＳイメージを外部記憶装置から読み出して主記憶装置に書き込む。コンピュータシステム１０のＣＰＵは、主記憶装置に書き込まれたＯＳイメージに含まれるプログラムを実行してＯＳを起動する（Ｓ１１４）。
【００３６】
ここまでの説明においてはスナップショット作成方式にファイルシステム単位などの前提をおいたが、スナップショットの参照が可能であれば、スナップショット実現方式は本発明において本質的ではなく、たとえば、デバイス単位のスナップショットを備えるストレージ装置においては、最新ＯＳイメージ３とスナップショットＯＳイメージ４が別デバイスに見えるような形態でも本発明は同様に適用可能である。この場合、ブートイメージ選択手段７は起動デバイスを選択することになる。
つまり、ファイルシステムレベルのスナップショットを備える環境でもブロックデバイスレベルでのスナップショットを備える環境でも本発明は同様に適用可能である。
【００３７】
次に、コンピュータシステム１０の効果について説明する。
第１の効果は、複数バージョンのＯＳイメージ等の保持に必要な実容量の効率化である。
その理由は、ファイルシステム２が備えるスナップショット機能の複数スナップショット保持に関する効率化機能をそのまま流用できるためである。
第２の効果は、複数のバージョンのＯＳイメージを、整合性をほぼ完全に保ったまま保持し、かつ高速なイメージ更新が可能であることである。
その理由は、ススナップショット生成手段５は、ナップショット機能により迅速にスナップショットＯＳイメージ４を生成し、また、ファイルシステム２は、複数のバージョンのスナップショットＯＳイメージを整合性を保ちながら維持することができるからである。
以上のようにコンピュータシステム１０によれば、既存のブートイメージ選択手段などの技術を流用しつつも、これまでの複数バージョンのＯＳイメージ保持手段の欠点を補い、かつ、容量効率、運用性の両面で向上を図ることができる。
【００３８】
また、本発明は単一コンピュータのブートイメージ保持方式にとどまらず、ブートサーバ上での複数バージョンのＯＳイメージを保持し、複数のコンピュータに対してネットワーク経由でブートするイメージを提供する方式にも適用できる。
図３に、このような実施形態の一例であるネットワークブートシステム２０の機能ブロック図を示す。
ネットワークブートシステム２０は、ＯＳイメージを保持するブートサーバ２１と、ブートサーバ２１にＬＡＮ(Local Area Network)等のネットワークにより接続された複数のクライアント２２により構成される。
クライアント２２は、起動時にブートサーバ２１にＯＳイメージの送信を要求し、この要求に応じて送信されたＯＳイメージを使用してＯＳを起動する。
【００３９】
ブートサーバ２１は、ＣＰＵ、主記憶装置、外部記憶装置、通信装置を備えたサーバコンピュータで、第１の実施形態で説明したものと同様の機能を持つＯＳイメージ更新手段１、ファイルシステム２、スナップショット生成手段４を備え、ファイルシステム２には、最新ＯＳイメージ３とスナップショットＯＳイメージ４が記憶されている。最新ＯＳイメージ３とスナップショットＯＳイメージ４は、クライアント毎またはクライアントのグループ毎に複数記憶されている。また、ブートサーバ２１は、これらの構成要素に加えて、ブートＯＳイメージ送信手段２３を備えている。
ブートＯＳイメージ送信手段２３は、クライアント２２により指定された最新ＯＳイメージまたはスナップショットＯＳイメージ（ブートＯＳイメージ）を、クライアント２２に送信する。
【００４０】
クライアント２２は、ＣＰＵ、主記憶装置、外部記憶装置、通信装置を備えたパーソナルコンピュータで、第１の実施形態で説明したものと同様の機能を持つブート手段６とブートイメージ選択手段７を備えている。ただし、ブートイメージ選択手段７は、選択したブートＯＳイメージをブート手段６に通知する代わりに、ブートＯＳイメージを特定する情報、例えばバージョン番号やスナップショット作成日付等を含むブートＯＳイメージ送信要求をブートサーバ２１に送信する。また、ブート手段６は、ブートサーバ２１から受信したブートＯＳイメージを主記憶装置に書き込む。
【００４１】
図４は、ネットワークブートシステム２０の起動時の動作を説明するフローチャートである。なお、ブートサーバ２１の最新ＯＳイメージ更新の動作は、図２（ａ）に示したものと同様である。
クライアント２２の電源が投入されると（Ｓ２０１）、ブート手段６はブートイメージ選択手段７を呼び出し、ブートイメージ選択手段７は、ブートサーバ２１が保持している最新ＯＳイメージ３とスナップショットＯＳイメージ４の中からブートＯＳイメージを選択する（Ｓ２０２）。
ブートイメージ選択手段７は、選択したブートＯＳイメージを特定する情報を含むブートＯＳイメージ送信要求をブートサーバ２１に送信する（Ｓ２０３）。
この要求を受信したブートサーバ２１のブートＯＳイメージ送信手段２３は、ブートＯＳイメージを外部記憶装置から読み出してクライアント２１に送信する（Ｓ２０４）。
クライアント２２のブート手段６は、受信したブートＯＳイメージを主記憶装置に書き込む。クライアント２２のＣＰＵは、主記憶装置に書き込まれたＯＳイメージに含まれるプログラムを実行してＯＳを起動する（Ｓ２０５）。
【００４２】
このように、ネットワークブートシステム２０によれば、ブートイメージ選択手段７は、クライアント２２で動作し、ファイルシステム２を抱えるブートサーバ２１は、本発明に基づく方式を用いて、クライアント２２のブートイメージ選択手段７に対して複数のバージョンのＯＳイメージを提供することができる。
この場合、クライアントごとに異なる設定情報を含むＯＳイメージを生成する手間やそれらの格納コストなどを大きく削減することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の第１の実施形態であるコンピュータシステムの機能ブロック図である。
【図２】図２（ａ）は、コンピュータシステムの最新ＯＳイメージの更新動作を説明するフローチャートである。図２（ｂ）は、コンピュータシステムの起動時の動作を説明するフローチャートである。
【図３】本発明の第２の実施形態であるネットワークブートシステムの機能ブロック図である。
【図４】図３のネットワークブートシステムの起動時の動作を説明するフローチャートである。
【符号の説明】
【００４４】
１  ＯＳイメージ更新手段
２  ファイルシステム
３  最新ＯＳイメージ
４  スナップショットＯＳイメージ
５  スナップショット生成手段
６  ブート手段
７  ブートイメージ選択手段
１０  コンピュータシステム
２０  ネットワークブートシステム
２１  ブートサーバ
２２  クライアント
２３  ブートＯＳイメージ送信手段
【図１】
2008003815.tif 000003
【図２】
2008003815.tif 000004
【図３】
2008003815.tif 000005
【図４】
2008003815.tif 000006