(57)【特許請求の範囲】
【請求項１】
主記憶部と通信部とデータ処理部とで構成され、前記データ処理部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバから前記初期取得イメージを前記通信部によりネットワーク経由で取得して前記主記憶部に展開すると共に、前記初期取得イメージ以外の残りの部分の主記憶イメージへのプログラムからのアクセスが発生した際に保護モード違反による例外が所定幅の主記憶イメージ毎に発生するよう初期設定を行った後、前記展開した初期取得イメージからシステムの起動を行い、システムの運用開始後、所定幅の主記憶イメージ毎に、前記初期取得イメージ以外の残りの部分の主記憶イメージについて前記保護モード違反による例外が発生した際に、前記例外が発生した前記所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開すると共に前記保護モード違反による例外が発生しないように設定を変更することを特徴とする計算機。
【請求項２】
主記憶部と通信部とデータ処理部とで構成され、前記通信部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され、前記データ処理部は、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開する手段と、前記初期取得イメージ以外の残りの部分の主記憶イメージへのプログラムからのアクセスが発生した際に保護モード違反による例外が所定幅の主記憶イメージ毎に発生するよう初期設定を行った後、前記展開した初期取得イメージからシステムの起動を行う手段と、システムの運用開始後、所定幅の主記憶イメージ毎に、前記初期取得イメージ以外の残りの部分の主記憶イメージについて前記保護モード違反による例外が発生した際に、前記例外が発生した前記所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開すると共に前記保護モード違反による例外が発生しないように設定を変更する手段とを備えることを特徴とする計算機。
【請求項３】
主記憶部と通信部とデータ処理部とで構成され、前記通信部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され、前記データ処理部は、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開する手段と、該展開した初期取得イメージからシステムの起動を行う手段と、前記初期取得イメージに含まれるテーブルであって、システムの論理ブロックアドレスと物理ブロックアドレスのマッピング情報および保護モードを記憶し且つ前記初期取得イメージ以外の主記憶イメージ部分に属するブロックについては本来の保護属性とは無関係な所定の保護モードが初期設定されているマッピングテーブル部と、前記初期取得イメージに含まれる情報であって、システムの各論理ブロックの本来の保護属性とその論理ブロックに対応する物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性とを保持する保護情報部と、前記マッピングテーブル部を参照してメモリアクセス要求に含まれる論理アドレスを物理アドレスに変換する手段であって、アクセス先の保護モードが前記所定の保護モードであったときに例外を発生させる手段と、前記例外が発生した前記論理アドレスのブロックの位置属性を前記保護情報部から判定し、位置属性が前記物理ブロックが前記サーバ上にあることを示す場合に当該物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開し、前記マッピングテーブル部における前記例外が発生した前記論理アドレスのブロックに対応する保護モードを前記保護情報部に設定された本来の保護属性に変更する手段とを備えることを特徴とする計算機。
【請求項４】
主記憶部と通信部とデータ処理部とで構成され、前記通信部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され、前記データ処理部は、システムの物理ブロックとその物理ブロックが取得済みかどうかを示すステータスとの組を保持し、システム起動時に前記ステータスが未取得状態に初期化されるステータステーブル部と、システムの各物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性を保持する保護情報部と、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、前記ステータステーブル上の前記展開した初期取得イメージに属する物理ブロックの前記ステータスを取得済状態に更新した後、前記展開した初期取得イメージからシステムの起動を行う手段と、プログラムからのメモリアクセス要求に従って前記主記憶部をアクセスするメモリアクセス部であって、アクセス先の物理ブロックの位置属性が前記ステータステーブル部で未取得状態に設定されており、且つ、その物理ブロックの位置属性が前記保護情報部で管理サーバ上にあることが示されているとき、その物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開し、前記ステータステーブル部の前記ステータスを取得済に変更するメモリアクセス部とを備えることを特徴とする計算機。
【請求項５】
前記初期取得イメージには、システムの起動に最小限必要なオペレーティングシステムのテキスト及びデータと前記初期取得イメージ以外の主記憶イメージ部分に属するブロックを前記管理サーバから動的に取得するために必要なプログラム及びデータとが少なくとも含まれることを特徴とする請求項１乃至４の何れか１項に記載の計算機。
【請求項６】
主記憶部と通信部とデータ処理部とで構成される計算機が実行する起動方法であって、前記データ処理部が、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバから前記初期取得イメージを前記通信部によりネットワーク経由で取得して前記主記憶部に展開すると共に、前記初期取得イメージ以外の残りの部分の主記憶イメージへのプログラムからのアクセスが発生した際に保護モード違反による例外が所定幅の主記憶イメージ毎に発生するよう初期設定を行った後、前記展開した初期取得イメージからシステムの起動を行い、システムの運用開始後、所定幅の主記憶イメージ毎に、前記初期取得イメージ以外の残りの部分の主記憶イメージについて前記保護モード違反による例外が発生した際に、前記例外が発生した前記所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開すると共に前記保護モード違反による例外が発生しないように設定を変更することを特徴とする計算機起動方法。
【請求項７】
主記憶部と、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続される通信部と、データ処理部とで構成される計算機が実行する起動方法であって、
前記データ処理部が、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、前記初期取得イメージ以外の残りの部分の主記憶イメージへのプログラムからのアクセスが発生した際に保護モード違反による例外が所定幅の主記憶イメージ毎に発生するよう初期設定を行った後、前記展開した初期取得イメージからシステムの起動を行い、システムの運用開始後、所定幅の主記憶イメージ毎に、前記初期取得イメージ以外の残りの部分の主記憶イメージについて前記保護モード違反による例外が発生した際に、前記例外が発生した前記所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開すると共に前記保護モード違反による例外が発生しないように設定を変更する
ことを特徴とする計算機起動方法。
【請求項８】
主記憶部と通信部とデータ処理部とで構成される計算機の前記通信部を、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続し、前記データ処理部が、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、該展開した初期取得イメージからシステムの起動を行い、システムの論理ブロックアドレスと物理ブロックアドレスのマッピング情報および保護モードを記憶し且つ前記初期取得イメージ以外の主記憶イメージ部分に属するブロックについては本来の保護属性とは無関係な所定の保護モードが初期設定されているマッピングテーブル部を参照してメモリアクセス要求に含まれる論理アドレスを物理アドレスに変換する手段であって、アクセス先の保護モードが前記所定の保護モードであったときに例外を発生させ、システムの各論理ブロックの本来の保護属性とその論理ブロックに対応する物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性とを保持する保護情報部から、前記例外が発生した前記論理アドレスのブロックの位置属性を判定し、位置属性が前記物理ブロックが前記管理サーバ上にあることを示す場合に当該物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記計算機の前記主記憶部に展開し、前記マッピングテーブル部における前記例外が発生した前記論理アドレスのブロックに対応する保護モードを、前記保護情報部に設定された本来の保護属性に変更することを特徴とする計算機起動方法。
【請求項９】
主記憶部と、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続される通信部と、システムの物理ブロックとその物理ブロックが取得済みかどうかを示すステータスとの組を保持するステータステーブル部、システムの各物理ブロックが管理サーバ上にあるかどうかを示す位置属性を保持する保護情報部、およびプログラムからのメモリアクセス要求に従って前記主記憶部をアクセスするメモリアクセス部を有するデータ処理部とで構成される計算機が実行する起動方法であって、
前記データ処理部が、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、前記ステータステーブル上の前記展開した初期取得イメージに属する物理ブロックの前記ステータスを取得済状態に更新した後、前記展開した初期取得イメージからシステムの起動を行い、
前記メモリアクセス部が、アクセス先の物理ブロックの位置属性が前記ステータステーブル部で未取得状態に設定されており、且つ、その物理ブロックの位置属性が前記保護情報部で管理サーバ上にあることが示されているとき、その物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開し、前記ステータステーブル部の前記ステータスを取得済に変更する
ことを特徴とする計算機起動方法。
【請求項１０】
前記初期取得イメージには、システムの起動に最小限必要なオペレーティングシステムのテキスト及びデータと前記初期取得イメージ以外の主記憶イメージ部分に属するブロックを前記管理サーバから動的に取得するために必要なプログラム及びデータとが少なくとも含まれることを特徴とする請求項６乃至９の何れか１項に記載の計算機起動方法。
【請求項１１】
主記憶部と、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され通信部と、データ処理部とを備えるコンピュータを、
前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開する手段と、前記初期取得イメージ以外の残りの部分の主記憶イメージへのプログラムからのアクセスが発生した際に保護モード違反による例外が所定幅の主記憶イメージ毎に発生するよう初期設定を行った後、前記展開した初期取得イメージからシステムの起動を行う手段と、システムの運用開始後、所定幅の主記憶イメージ毎に、前記初期取得イメージ以外の残りの部分の主記憶イメージについて前記保護モード違反による例外が発生した際に、前記例外が発生した前記所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開すると共に前記保護モード違反による例外が発生しないように設定を変更する手段として機能させることを特徴とする計算機用プログラム。
【請求項１２】
主記憶部と、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続される通信部と、システムの物理ブロックとその物理ブロックが取得済みかどうかを示すステータスとの組を保持するステータステーブル部、およびシステムの各物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性を保持する保護情報部を有するデータ処理部とを備えるコンピュータを、
前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、前記ステータステーブル部上の前記展開した初期取得イメージに属する物理ブロックの前記ステータスを取得済状態に更新した後、前記展開した初期取得イメージからシステムの起動を行う手段と、プログラムからのメモリアクセス要求に従って前記主記憶部をアクセスするメモリアクセス手段であって、アクセス先の物理ブロックの位置属性が前記ステータステーブル部で未取得状態に設定されており、且つ、その物理ブロックの位置属性が前記保護情報部で管理サーバ上にあることが示されているとき、その物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開し、前記ステータステーブル部の前記ステータスを取得済に変更するメモリアクセス手段として機能させることを特徴とする計算機用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機及びその起動方法に関し、特にネットワークを介して取得したプログラムを用いて計算機を起動する方法に関する。
【背景技術】
【０００２】
一般に計算機を起動するときには、最初にハードウェアの初期化を行い、次にオペレーティングシステム（以下、ＯＳと呼ぶ）を起動し、最後に、必要となるアプリケーションプログラムを起動するという処理が順に実行される。
【０００３】
ここでのハードウェアの初期化を除くソフトウェア処理部分、つまり、ＯＳとアプリケーションプログラムの起動の際には、まず、これらのプログラムを読み込む処理を行い、次に、プログラムに記述されている初期化処理を行う。この初期化処理を行った後にそのプログラムの本来の目的の機能である運用処理を行うことが可能となる。
【０００４】
ＯＳを読み込む処理は、具体的には、ＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）がＯＳのプログラムを記憶装置から取得するという作業を行う。アプリケーションプログラムを取得する際も、取得する主体がＯＳになるだけで記憶装置から取得することに変わりは無い。このとき、プログラムを計算機が有するローカルのハードディスクドライブ（ＨＤＤ）から取得する方法の他に、ネットワークを経由して取得する方法がある。ネットワーク経由でＯＳのプログラムを取得して計算機システムの起動を行うことをネットワークブートという（例えば、非特許文献１参照）。
【０００５】
このネットワークブートを用いると、ローカルにＨＤＤを持たない計算機でも、プログラムを提供する管理サーバからＯＳのプログラムを取得することでシステムを起動させることが可能となる。したがって、個々の計算機のローカルＨＤＤにインストールされていたＯＳやアプリケーションなどのプログラムが、管理サーバ上で一括管理できるようになり、常に最新のプログラムに更新しておくことによって、セキュリティホールやウィルスの侵入を防ぐことが可能となる。このとき計算機が増えてもプログラムの管理の手間は変わらない。また、複数のシステム用のプログラムを管理サーバ上で用意すれば、個々の計算機でどのシステムを立ち上げるかを管理サーバ側で設定することも可能である。このような特徴を有するため、ネットワークブートは、多くのサーバ計算機を地理的に集約化してサービスを行っているようなシステムにおいて、突発的なリクエストの増加によって各サーバに対する負荷が高まったときに、新たにサーバを追加してリクエストの応答性を向上させる、いわゆるデプロイメントに好適な手法としても考えられている。
【０００６】
しかし、ネットワークブートにはこのような利点がある反面、プログラムをネットワーク経由で管理サーバから取得するためにプログラムの読み取りに時間がかかり、ローカルのＨＤＤから取得する通常の起動方法に比べると、起動に要する時間が長くなるという課題がある。このため、ネットワークブートによる計算機システムの起動を高速化する技術が重要である。
【０００７】
ネットワークブートによらない通常の計算機の高速起動方法としては、起動直後の主記憶イメージを用いる手法が知られている。これは、使用するハードウェア、ＯＳ及びアプリケーションプログラムの設定及び構成を変更しない限り、システムの初期化処理の際には毎回同じ動作を行うので、起動直後の主記憶の内容は毎回、ほぼ同じ状態になることを利用したものであり、起動直後の主記憶イメージをローカルな記憶手段に保存しておき、起動時に前記起動直後の主記憶イメージを主記憶にそのままの形で読み込んで起動する方法である。
【０００８】
この種の高速起動方法の一例が、特許文献１に記載されている。この文献に記載されている方法は、バックアップメモリ手段又はバックアップ用のディスクファイル手段を持ち、前記メモリ手段又は前記ディスクファイル手段に起動直後の主記憶イメージが保存されている。起動時および再起動時に、前記メモリ手段又は前記ディスクファイル手段から主記憶へのメモリコピーを連続的に行い、主記憶上に起動直後の主記憶イメージがコピーし終った時点でシステムが運用可能となる。また、特許文献１には、起動直後の主記憶イメージの作成方法についても記載されている。
【非特許文献１】Hal Stern著「ＮＦＳ  ＆  ＮＩＳ」株式会社アスキー、１９９２年１２月１日、ｐ．２１９−２３２
【特許文献１】特許第２７７２１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したようにネットワークブートには種々の利点があるものの、ネットワークブートを用いる従来の計算機では、高速な起動が行えないという課題がある。その理由は、ネットワークブートによる従来の計算機の起動時間は、ａ）ハードウェアの初期化に要する時間、ｂ）ネットワーク経由でプログラムを取得するための時間、ｃ）プログラムに記述されている初期化処理に要する時間、の総和で与えられるためである。
【００１０】
前述した特許文献１に記載された起動直後の主記憶イメージを用いる手法をネットワークブートによる計算機の起動に適用すれば、前記ｃの時間だけ起動時間を短縮することが可能になる。しかし、ネットワークの通信速度が遅い場合、起動時間に占める前記ｂの時間の割合が大きくなるため、起動直後の主記憶イメージを用いる手法を適用して前記ｃの時間だけ短縮しても、起動時間の短縮率はそれ程は向上しない。
【００１１】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、ネットワークブート方法による計算機の起動時間を十分に短縮し得るようにすることにある。
【課題を解決するための手段】
【００１２】
本発明の第１の計算機は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶に展開し、該展開した初期取得イメージからシステムの起動を行い、システムの運用開始後、前記初期取得イメージ以外の残りの部分の主記憶イメージについて最初のアクセスが発生した際に、所定幅の領域毎に、前記管理サーバから主記憶イメージを取得して前記主記憶に展開することを特徴とする。
【００１３】
本発明の第２の計算機は、主記憶部と通信部とデータ処理部とで構成され、前記通信部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され、前記データ処理部は、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開する手段と、該展開した初期取得イメージからシステムの起動を行う手段と、システムの運用開始後、前記初期取得イメージ以外の残りの部分の主記憶イメージについて最初のアクセスが発生したことを所定幅の主記憶イメージ毎に検出する手段と、前記最初のアクセスが検出された所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開する手段とを備えることを特徴とする。
【００１４】
本発明の第３の計算機は、主記憶部と通信部とデータ処理部とで構成され、前記通信部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され、前記データ処理部は、前記通信部により前記管理サーバから前記主記憶イメージの一部である初期取得イメージをネットワーク経由で取得して主記憶部に展開する手段と、該展開した初期取得イメージからシステムの起動を行う手段と、所定幅の主記憶イメージ毎に、システムの運用開始後、前記初期取得イメージ以外の残りの部分の主記憶イメージについて最初のアクセスが発生したことを検出したときに例外を発生させる手段と、前記例外が発生した前記所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開する手段とを備えることを特徴とする。
【００１５】
本発明の第４の計算機は、主記憶部と通信部とデータ処理部とで構成され、前記通信部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され、前記データ処理部は、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開する手段と、該展開した初期取得イメージからシステムの起動を行う手段と、前記初期取得イメージに含まれるテーブルであって、システムの論理ブロックアドレスと物理ブロックアドレスのマッピング情報および保護モードを記憶し且つ前記初期取得イメージ以外の主記憶イメージ部分に属するブロックについては本来の保護属性とは無関係な所定の保護モードが初期設定されているマッピングテーブル部と、前記初期取得イメージに含まれる情報であって、システムの各論理ブロックの本来の保護属性とその論理ブロックに対応する物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性とを保持する保護情報部と、前記マッピングテーブル部を参照してメモリアクセス要求に含まれる論理アドレスを物理アドレスに変換する手段であって、アクセス先の保護モードが前記所定の保護モードであったときに例外を発生させる手段と、前記例外が発生した前記論理アドレスのブロックの位置属性を前記保護情報部から判定し、位置属性が前記物理ブロックが前記サーバ上にあることを示す場合に当該物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開し、前記マッピングテーブル部における前記例外が発生した前記論理アドレスのブロックに対応する保護モードを前記保護情報部に設定された本来の保護属性に変更する手段とを備えることを特徴とする。
【００１６】
本発明の第５の計算機は、主記憶部と通信部とデータ処理部とで構成され、前記通信部は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続され、前記データ処理部は、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開する手段と、該展開した初期取得イメージからシステムの起動を行う手段と、システムの物理ブロックとその物理ブロックが取得済みかどうかを示すステータスとの組を保持し、システム起動時に前記ステータスが未取得状態に初期化されるステータステーブル部と、システムの各物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性を保持する保護情報部と、メモリアクセス要求に従って前記主記憶部をアクセスするメモリアクセス部であって、アクセス先の物理ブロックの位置属性が前記ステータステーブル部で未取得状態に設定されており、且つ、その物理ブロックの位置属性が前記保護情報部で管理サーバ上にあることが示されているとき、その物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開し、前記ステータステーブル部の前記ステータスを取得済に変更するメモリアクセス部とを備えることを特徴とする。
【００１７】
本発明の第１の計算機起動方法は、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバから前記初期取得イメージをネットワーク経由で取得して計算機の主記憶に展開し、該展開した初期取得イメージから前記計算機のシステムの起動を行い、システムの運用開始後、前記初期取得イメージ以外の残りの部分の主記憶イメージについて最初のアクセスが発生した際に、所定幅の領域毎に、前記管理サーバから主記憶イメージを取得して前記計算機の前記主記憶に展開することを特徴とする。
【００１８】
本発明の第２の計算機起動方法は、主記憶部と通信部とデータ処理部とで構成される計算機の前記通信部を、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続し、前記データ処理部が、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、該展開した初期取得イメージからシステムの起動を行い、システムの運用開始後、前記初期取得イメージ以外の残りの部分の主記憶イメージについて最初のアクセスが発生したことを所定幅の主記憶イメージ毎に検出し、前記最初のアクセスが検出された所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開することを特徴とする。
【００１９】
本発明の第３の計算機起動方法は、主記憶部と通信部とデータ処理部とで構成される計算機の前記通信部を、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続し、前記データ処理部が、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、該展開した初期取得イメージからシステムの起動を行い、所定幅の主記憶イメージ毎に、システムの運用開始後、前記初期取得イメージ以外の残りの部分の主記憶イメージについて最初のアクセスが発生したことを検出したときに例外を発生させ、前記例外が発生した前記所定幅の主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記計算機の主記憶部に展開することを特徴とする。
【００２０】
本発明の第４の計算機起動方法は、主記憶部と通信部とデータ処理部とで構成される計算機の前記通信部を、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続し、前記データ処理部が、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、該展開した初期取得イメージからシステムの起動を行い、システムの論理ブロックアドレスと物理ブロックアドレスのマッピング情報および保護モードを記憶し且つ前記初期取得イメージ以外の主記憶イメージ部分に属するブロックについては本来の保護属性とは無関係な所定の保護モードが初期設定されているマッピングテーブル部を参照してメモリアクセス要求に含まれる論理アドレスを物理アドレスに変換する手段であって、アクセス先の保護モードが前記所定の保護モードであったときに例外を発生させ、システムの各論理ブロックの本来の保護属性とその論理ブロックに対応する物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性とを保持する保護情報部から、前記例外が発生した前記論理アドレスのブロックの位置属性を判定し、位置属性が前記物理ブロックが前記管理サーバ上にあることを示す場合に当該物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記計算機の前記主記憶部に展開し、前記マッピングテーブル部における前記例外が発生した前記論理アドレスのブロックに対応する保護モードを、前記保護情報部に設定された本来の保護属性に変更することを特徴とする。
【００２１】
本発明の第５の計算機起動方法は、主記憶部と通信部とデータ処理部とで構成される計算機の前記通信部を、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを管理している管理サーバにネットワークを通じて接続し、前記データ処理部が、前記通信部により前記管理サーバから前記初期取得イメージをネットワーク経由で取得して主記憶部に展開し、該展開した初期取得イメージからシステムの起動を行い、システムの物理ブロックとその物理ブロックが取得済みかどうかを示すステータスとの組を保持し、システム起動時に前記ステータスが未取得状態に初期化されるステータステーブル部およびシステムの各物理ブロックが前記管理サーバ上にあるかどうかを示す位置属性を保持する保護情報部を使用して、メモリアクセス要求に従って前記主記憶部をアクセスするメモリアクセス部が、アクセス先の物理ブロックの位置属性が前記ステータステーブル部で未取得状態に設定されており、且つ、その物理ブロックの位置属性が前記保護情報部で管理サーバ上にあることが示されているとき、その物理ブロックの主記憶イメージを前記通信部により前記管理サーバからネットワーク経由で取得して前記主記憶部に展開し、前記ステータステーブル部の前記ステータスを取得済に変更することを特徴とする。
【００２２】
本発明の第１の管理サーバ装置は、計算機のＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージ及び該主記憶イメージの一部である初期取得イメージを記憶する記憶装置と、前記計算機とネットワーク経由で通信する通信部と、前記初期取得イメージの取得要求を前記計算機から受信したときに前記記憶装置から前記初期取得イメージを読み出して前記通信部によりネットワーク経由で要求元の前記計算機へ送信し、前記初期取得イメージ以外の残りの部分の主記憶イメージの取得要求を前記計算機から受信したときに前記記憶装置から要求された所定サイズの主記憶イメージを読み出して前記通信部によりネットワーク経由で要求元の前記計算機へ送信する制御手段とを備えることを特徴とする。
【００２３】
本発明の第２の管理サーバ装置は、第１の管理サーバ装置において、前記起動直後の主記憶イメージの所定幅の領域毎に、その領域が前記初期取得イメージに属するかどうかを示すフラグを持つ管理テーブルを備え、前記制御手段は、前記管理テーブルを参照して初期取得イメージを決定するものであることを特徴とする。
【００２４】
ここで、前記初期取得イメージには、システムの起動に最小限必要なオペレーティングシステムのテキスト及びデータと前記初期取得イメージ以外の主記憶イメージ部分に属するブロックを前記計算機が前記管理サーバから動的に取得するために必要なプログラム及びデータとが少なくとも含まれている。
【発明の効果】
【００２５】
本発明によれば、ネットワークブート方法による計算機の起動時間を大幅に短縮することができる。その理由は、本発明にあっては、ＯＳ及びアプリケーションプログラムの起動直後の主記憶イメージを管理サーバから取得して主記憶に展開するため、プログラムに記述されている初期化処理に要する時間だけ起動時間が短縮でき、且つ、起動直後の主記憶イメージすべてを一括して取得せず、その一部である初期取得イメージだけを起動時に取得し、残りはシステム運用後に適宜取得するため、起動時における管理サーバとの通信時間を短縮できるからである。
【発明を実施するための最良の形態】
【００２６】
［第１の実施の形態］
図１を参照すると、本発明の第１の実施の形態にかかる計算機システム１００は、計算機１０１と管理サーバ１０２とを含んで構成され、計算機１０１と管理サーバ１０２はネットワーク１０３を通じて相互に通信可能になっている。本実施の形態では管理サーバ１０２と計算機１０１がそれぞれ１台ずつの構成を示しているが、いずれも１台に限られるわけではなく、複数台の構成も可能である。
【００２７】
ネットワーク１０３は、管理サーバ１０２と計算機１０１が１対１で繋がれる場合にはシリアル回線、パラレル回線或いはイーサネット(登録商標)などの通信用回線が使用できる。また、管理サーバ１０２または計算機１０１のいずれか、もしくは両方が複数台になった場合には、イーサネットが使用できる。また、通信用プロトコルにはＴＣＰ／ＩＰが使用できる。ただし、これらに限らず、任意の通信用回線及び通信用プロトコルが使用可能である。
【００２８】
管理サーバ１０２は、計算機１０１との通信のための通信部１１１、記憶装置１１２、制御装置１１３および管理テーブル１１４を有している。
【００２９】
管理サーバ１０２の記憶装置１１２には、計算機１０１上で動作するＯＳ及びアプリケーションプログラムの初期化処理後の主記憶イメージ（以下、起動直後イメージと言う）１１５が記憶されている。起動直後イメージ１１５の生成方法は任意であるが、例えば、計算機１０１を通常のシステム起動方法で起動した直後の主記憶イメージをダンプすることにより生成することができる。主記憶イメージ１１５中、斜線を施した部分は、計算機１０１のネットワークブート時に計算機１０１に対して一括して送られる初期取得イメージ１１６である。初期取得イメージ１１６には、計算機１０１のシステムの起動に最小限必要なＯＳのテキスト及びデータと初期取得イメージ１１６以外の主記憶イメージ１１５に属するブロックを管理サーバ１０２から動的に取得するために必要なプログラム及びデータとが少なくとも含まれる。この記憶装置１１２は、例えばＨＤＤや半導体メモリ（ＤＲＡＭやＳＲＡＭなど）などの読み書き可能な記憶媒体で構成される。主記憶イメージを書き換える必要がなければ、ＲＯＭなどを使っても良い。
【００３０】
管理サーバ１０２の管理テーブル１１４は、起動直後イメージ１１５を管理するテーブルである。図２に管理テーブル１１４のエントリの構成例を示す。管理テーブル１１４は、このようなエントリの集合から構成される。１つのエントリは、起動直後イメージ１１５の１つのブロックに対応する。１つのブロックは、計算機１０１の物理アドレス空間における１物理ブロックに相当する。図２を参照すると、１つのエントリには、当該ブロックの物理ブロックアドレス１２１と、そのブロックが記憶されている記憶装置１１２の格納アドレス１２２と、そのブロックが初期取得イメージ１１５に属する場合には値１、そうでない場合には値０となる属性フラグ１２３とが保持される。
【００３１】
管理サーバ１０２の制御装置１１３は、計算機１０１から受信した要求に応じて、起動直後イメージ１１５中の初期取得イメージ１１６および初期取得イメージ１１６以外の起動直後イメージ部分を要求元の計算機１０１に送信する手段である。
【００３２】
図３に計算機１０１からの要求形式と管理サーバ１０２からの応答形式の一例を示す。図３（ａ）を参照すると、計算機１０１から管理サーバ１０２に送信される要求１３１には、識別ＩＤ１３２および要求種別１３３が含まれる。識別ＩＤ１３２は、計算機１０１で立ち上げるシステムを一意に識別する識別子、もしくは、計算機１０１を一意に識別する識別子である。後者の場合、計算機１０１に割り当てられたＩＰアドレスや、通信部１５２のＭＡＣアドレスなどを識別ＩＤ１３２として使用することができる。要求種別１３３は、初期取得イメージ１１６を要求するのか、初期取得イメージ１１６以外の起動直後イメージ１１５を要求するのかを指定する項目である。初期取得イメージ１１６以外の起動直後イメージ１１５の要求は１物理ブロック単位で行われ、その要求種別１３３に続けて、要求する物理ブロックのアドレス１３４を指定する。
【００３３】
図３（ｂ）を参照すると、管理サーバ１０２から計算機１０１に送信される応答１３６には、識別ＩＤ１３７、応答種別１３８および応答データ１３９が含まれる。識別ＩＤ１３７は、要求１３１における識別ＩＤ１３２と同じである。応答種別１３８は、初期取得イメージ１１６の要求に対する応答なのか、それ以外の起動直後イメージ１１５の要求に対する応答なのかを指定する項目である。応答データ１３９は、初期取得イメージ１１６の要求に対する応答の場合、初期取得イメージ１１６に属する全ての物理ブロック毎に、その物理ブロックアドレス１４１および当該物理ブロックのデータ１４３が含まれ、最後にその旨を示す所定の終了マーク１４４が含まれる。初期取得イメージ１１６以外の起動直後イメージ１１５の要求に対する応答の場合、要求された１つの物理ブロックについて、その物理ブロックアドレス１４１および当該物理ブロックのデータ１４３が含まれる。
【００３４】
図４に管理サーバ１０２の制御装置１１３の処理例を示す。制御装置１１３は、計算機１０１から送信されてきた要求１３１を通信部１１１で受信すると（Ｓ１０１）、要求１３１中の要求種別１３３を解析し、初期取得イメージ１１６の要求か、それ以外の起動直後イメージ１１５の要求かを判別する（Ｓ１０２）。初期取得イメージ１１６の要求であった場合、制御装置１１３は、属性フラグ１２３の値が１になっている全てのエントリを管理テーブル１１４から検索する（Ｓ１０３）。そして、検索したエントリのうちの１つのエントリに注目し（Ｓ１０４）、注目中エントリの格納アドレス１２２から１ブロックサイズ分のデータを１物理ブロックのデータとして記憶装置１１２から読み出し（Ｓ１０５）、注目中エントリの物理ブロックアドレス１２１および上記読み出した物理ブロックのデータを図示しない応答データバッファに蓄積する（Ｓ１０６）。そして、次の１つのエントリに注目を移し（Ｓ１０７）、ステップＳ１０５、Ｓ１０６の処理を繰り返す。全てのエントリについての処理を終えると（Ｓ１０８でＹＥＳ）、応答データバッファの最後に終了マーク１４４を付加し、この応答データバッファに蓄積された応答データ１３９に、識別ＩＤ１３７と応答種別１３８を付加した応答１３６を生成し、通信部１１１を通じて要求元の計算機１０１へ送信する（Ｓ１０９）。
【００３５】
他方、要求１３１の要求種別１３３が、物理ブロックアドレス１３４の付随する要求、つまり初期取得イメージ１１６以外の起動直後イメージ１１５を１物理ブロック単位で取得する要求であった場合、制御装置１１３は、要求１３１の物理ブロックアドレス１３４と同じ物理ブロックアドレス１２１を持つエントリを管理テーブル１１４から検索する（Ｓ１１０）。次に、検索したエントリの格納アドレス１２２から１ブロックサイズ分のデータを１物理ブロックのデータとして記憶装置１１２から読み出し（Ｓ１１１）、検索したエントリの物理ブロックアドレス１２１および上記読み出した物理ブロックのデータを図示しない応答データバッファに蓄積する（Ｓ１１２）。そして、応答データバッファに蓄積された応答データ１３９に、識別ＩＤ１３７と応答種別１３８を付加した応答１３６を生成し、通信部１１１を通じて要求元の計算機１０１へ送信する（Ｓ１０９）。
【００３６】
計算機１０１は、主記憶部１５１、通信部１５２、ハードウェア初期化部１５３、マッピングテーブル変更部１５４、動的取得部１５５、アドレス変換部１５６、マッピングテーブル部１５７および保護情報部１５８を有している。ここで、主記憶部１５１及び通信部１５２以外の要素はデータ処理装置を構成している。
【００３７】
主記憶部１５１は、読み書き可能な半導体メモリならば任意の種類のメモリで良く、一般的にはＤＲＡＭやＳＲＡＭ等が使用される。
【００３８】
マッピングテーブル部１５７は、計算機１０１上で動作するＯＳやアプリケーションプログラム（両者を総称してプログラムと言う）が仮想的に指定するメモリアドレス（論理アドレス）を、主記憶部１５１に実際に割り当てられているメモリアドレス（物理アドレス）に変換するための情報、および保護モードを記憶する制御テーブルである。ここで、論理アドレスは論理ブロックアドレスとブロック内アドレスとで構成され、物理アドレスは物理ブロックアドレスと前記ブロック内アドレスとで構成される。
【００３９】
図５にマッピングテーブル部１５７のエントリの構成例を示す。マッピングテーブル部１５７は、このようなエントリの集合から構成される。図５を参照すると、１つのエントリには、論理ブロックアドレス１６１と物理ブロックアドレス１６２と保護モード１６３の組が保持される。論理ブロックアドレス１６１は、論理アドレス空間を所定の大きさのブロックに分割したときにできる個々の論理ブロックを一意に識別するアドレスである。物理ブロックアドレス１６２は、物理アドレス空間を論理アドレス空間と同じ大きさのブロックに分割したときにできる個々の物理ブロックを一意に識別するアドレスである。ブロックとしては、ページと呼ばれるアーキテクチャ固有の単位を用いることで効率良く処理することが可能となるが、本発明はその単位に制限されるわけではない。保護モード１６３は、読み込み専用の保護モード、読み書き可能の保護モード、ＮＵＬＬの保護モードの何れかの値をとる。保護モード１６３がＮＵＬＬの場合、そのエントリの論理ブロックアドレス１６１で定まる論理ブロックに対して、そのエントリの物理ブロックアドレス１６２で定まる物理ブロックが未だ割り当てられていないことを示す。保護モード１６３が読み込み専用あるいは読み書き可能の場合、そのエントリの論理ブロックアドレス１６１で定まる論理ブロックに対して、そのエントリの物理ブロックアドレス１６２で定まる物理ブロックが割り当て済であり、かつ、そのブロックの保護モードが読み込み専用あるいは読み書き可能であることを示す。
【００４０】
保護情報部１５８は、計算機１０１で実行されるプログラムの保護属性を保持する制御テーブルである。図６に保護情報部１５８のエントリの構成例を示す。保護属性部１５８は、このようなエントリの集合で構成される。図６を参照すると、１つのエントリには、論理ブロックアドレス１７１と保護属性１７２と位置属性１７３の組が保持される。保護属性１７２には、読み込み専用の保護属性と、読み書き可能の保護属性とがあり、何れの保護属性が設定されるかは、論理ブロックアドレス１７１で特定されるブロックの本来の保護属性によって決定される。位置属性１７３には、「サーバ」か「ローカル」のいずれかの位置属性が設定される。位置属性１７３が「サーバ」の場合、当該ブロックが管理サーバ１０２から取得されるべきデータであることを示し、「ローカル」の場合、当該ブロックのデータが管理サーバ１０２上にはなく、計算機１０１が任意の物理ブロックを割り当てることができることを示す。
【００４１】
ハードウェア初期化部１５３は、計算機１０１の起動時にシステム各部のハードウェアの初期化を行う部分である。このハードウェア初期化部１５３は、初期イメージ取得部１５９を備える。
【００４２】
初期イメージ取得部１５９および動的取得部１５５は、通信部１５２を通じて管理サーバ１０２に対して図３（ａ）の形式の要求を送信することにより、起動直後イメージ１１５を取得する部分である。このうち初期イメージ取得部１５９は、ハードウェア初期化部１５３によるシステム各部のハードウェア初期化後に、起動直後イメージ１１５中の初期取得イメージ１１６を一括して取得する役割を担い、動的取得部１５５は、システムの運用開始後、初期取得イメージ１１６以外の起動直後イメージ１１５を１物理ブロック単位に動的に取得する役割を担っている。管理サーバ１０２から取得した起動直後イメージ１１５の各物理ブロックは、図３（ｂ）の形式の物理ブロックアドレス１４１に基づいて、主記憶部１５１に書き込まれる。具体的には、応答種別１３８が初期取得イメージ１１６の要求に対する応答を示す場合、初期イメージ取得部１５９は、終了マーク１４４を受信するまで、物理ブロックアドレス１４１とデータ１４３の組を受信する毎に、そのデータ１４３を主記憶部１５１の物理ブロックアドレス１４１から１ブロックサイズの領域に書き込んでいく。応答種別１３８が初期取得イメージ１１６以外の起動直後イメージ１１５の要求に対する応答を示す場合、動的取得部１５５は、物理ブロックアドレス１４１とデータ１４３の組を１組だけ受信するので、そのデータ１４３を主記憶部１５１の物理ブロックアドレス１４１から１ブロックサイズの領域に書き込む。
【００４３】
アドレス変換部１５６は、計算機１０１上で動作するプログラムがメモリ操作の際に指定する論理アドレスを物理アドレスに変換する機能と、保護モード違反による例外を検出し例外処理を起動する機能とを有する。論理アドレスから物理アドレスへの変換および保護モード違反による例外検出は、マッピングテーブル部１５７を参照して行う。マッピングテーブル変更部１５４は、アドレス変換部１５６で起動された例外処理を実行する機能を有する。例外処理では、保護情報部１５８の参照による本来の保護属性の判定、動的取得部１５５による通信部１５２を介しての管理サーバ１０２からの未取得ブロックの取得と主記憶部１５１への書き出し、及び、マッピングテーブル部１５７の更新などの処理が行われる。
【００４４】
図７にアドレス変換部１５６およびマッピングテーブル変更部１５４の処理の一例を示す。アドレス変換部１５６は、プログラムから指定されたメモリアクセスにかかる論理アドレス中のブロックアドレスでマッピングテーブル部１５７を検索し、図５に示した論理ブロックアドレス１６１が一致するエントリを取得する（ステップＳ１２１）。アドレス変換部１５６は、ステップＳ１２１で取得したエントリ中の保護モード１６３がＮＵＬＬか、読み込み専用か、読み書き可能かを判別する（ステップＳ１２２）。読み込み専用もしくは読み書き可能な保護モードであれば（ステップＳ１２２でＮＯ）、アクセスのモードを保護モードとチェックして正当なアクセスか否かを確認し（ステップＳ１２３及びＳ１２４）、不正なアクセスの場合は、メモリアクセスを拒否する等のエラー処理１を行う（ステップＳ１３２）。正当なアクセスの場合、アドレス変換部１５６は、ステップＳ１２１で取得したエントリ中の物理ブロックアドレス１６２を用いて、プログラムから指定された論理アドレスを物理アドレスに変換し（ステップＳ１２５）、その物理アドレスで特定される主記憶部１５１の個所をアクセスする（ステップＳ１２６）。
【００４５】
保護モード１６３がＮＵＬＬの場合（ステップＳ１２２でＹＥＳ）、アドレス変換部１５６は、当該メモリアクセスの処理を一時保留し、例外イベントをマッピングテーブル変更部１５４に通知して例外処理を起動する（ステップＳ１２７）。この例外イベントでは、ステップＳ１２１で取得したエントリ中の論理ブロックアドレス１６１と物理ブロックアドレス１６２をマッピングテーブル変更部１５４に通知する。
【００４６】
マッピングテーブル変更部１５４は、通知された論理ブロックアドレス１６１で保護情報部１５８を検索し、図６の論理ブロックアドレス１７１が一致するエントリの保護属性１７２および位置属性１７３を取得する（ステップＳ１２８）。次に、マッピングテーブル変更部１５４は、位置属性１７３が「ローカル」か、「サーバ」かを判別する（ステップＳ１２９）。位置属性１７３が「ローカル」であれば（ステップＳ１２９でＮＯ）、マッピングテーブル変更部１５４はアドレス変換部１５６に対してエラーを通知し、アドレス変換部１５６は保留中のメモリアクセスを拒否する等のエラー処理２を行う（ステップＳ１３３）。通常この場合は、オン・デマンドのメモリ割り当てを行うＯＳで使用されることが多く、エラー処理２の後のＯＳ処理では物理メモリを割り当てるなどの処理が行われる。
【００４７】
他方、位置属性１７３が「サーバ」であれば（ステップＳ１２９でＹＥＳ）、動的取得部１５５により、アドレス変換部１５６から通知された物理ブロックアドレス１６２で特定される未取得のブロックを管理サーバ１０２から取得し、主記憶部１５１に書き出す（ステップＳ１３０）。取得したブロックを書き出す主記憶部１５１の書き出し先アドレスは、アドレス変換部１５６から通知された物理ブロックアドレス１６２である。
【００４８】
次にマッピングテーブル変更部１５４は、図５の論理ブロックアドレス１６１がアドレス変換部１５６から通知された論理ブロックアドレスに一致するエントリをマッピングテーブル部１５７から検索し、そのエントリ中の保護モード１６３をステップＳ１２８で検索した保護属性１７２の値に書き換える（ステップＳ１３１）。そして、例外処理の完了をアドレス変換部１５６に通知する。
【００４９】
アドレス変換部１５６は、マッピングテーブル変更部１５４から例外処理の完了通知を受けると、一時保留していたメモリアクセスの処理をステップＳ１２１から再度開始する。
【００５０】
図８は計算機１０１の概略動作を示すフローチャートである。以下、各図を参照して本実施の形態の動作を説明する。
【００５１】
計算機１０１は起動されると、図８に示されるように、先ず、ハードウェア初期化部１５３によってハードウェアの初期化を行う（ステップＳ１４１）。次に計算機１０１は、初期イメージ取得部１５９により、図３（ａ）の識別ＩＤ１３２と初期取得イメージの取得を要求する要求種別１３３とを含む要求１３１を通信部１５２を通じて管理サーバ１０２に送信することにより、管理サーバ１０２から初期取得イメージ１１６を取得し、主記憶部１５１に展開する（ステップＳ１４２）。本実施の形態の場合、マッピングテーブル部１５７および保護情報部１５８は、初期化済の状態で初期取得イメージ１１６に含まれている。
【００５２】
初期化済みのマッピングテーブル部１５７では、図５のエントリ全てにおいて、論理ブロックアドレス１６１と物理ブロックアドレス１６２は設定済であり、保護モード１６３は、初期取得イメージ１１６に属するブロックのエントリではそのブロック本来の保護属性（読み込み専用あるいは読み書き可能）に設定され、初期取得イメージ１１６以外の起動直後イメージ１１５に属するブロックのエントリではＮＵＬＬに設定されている。
【００５３】
初期化済みの保護情報部１５８では、図６のエントリ全てにおいて、論理ブロックアドレス１７１と保護属性１７２は設定済みであり、位置属性１７３は、起動直後イメージ１１５に属するブロックのエントリでは「サーバ」に設定され、計算機１０１側で動的に割り当てるブロックのエントリでは「ローカル」に設定されている。
【００５４】
次に計算機１０１は、管理サーバ１０２から取得し主記憶部１５１に展開した初期取得イメージ１１６からシステムを起動する（ステップＳ１４３）。この初期取得イメージ１１６は、ＯＳやアプリケーションプログラムの起動直後と同じ状態であるため、システムは立ち上げ直後の環境に復帰することになる。このとき、初期取得イメージ１１６から起動してより、システム運用（ステップＳ１４４）が可能になるまでの運用中断状態は存在しない。
【００５５】
システム運用（ステップＳ１４４）の段階において、未取得のとあるブロックに対してプログラムから初めてのアクセスが発生したときには、そこはＮＵＬＬの保護モードでマッピングされているので、アドレス変換部１５６が例外イベントを通知し、当該アクセスを一時保留する（図７のＳ１２７）。例外イベントを受け取ったマッピングテーブル変更部１５４は、保護情報部１５８を参照してそのアクセスされた論理アドレスのブロックの位置属性を判断し（図７のステップＳ１２８）、位置属性が「サーバ」であれば、管理サーバ１０２から当該ブロックのデータを取得してその内容を主記憶部１５１に書き出す（図７のステップＳ１３０）。更に、マッピングテーブル変更部１５４は、当該物理ブロックをアクセスが発生した論理ブロックアドレスに本来の保護属性の保護モードでマッピングするようマッピングテーブル部１５７に設定して、一時保留されたアクセスの処理を再開させる（図７のステップＳ１３１）。この結果、一時保留されたアクセスおよびその後の当該ブロックへのアクセスは、割り当てられた主記憶ブロックに対して実行される。このとき、ブロックの単位を小さくすることで管理サーバ１０２からの取得時間が短くなり、システム運用が中断される時間を短くすることができる。
【００５６】
次に、初期取得イメージ１１６について更に詳しく説明する。
【００５７】
本実施の形態においては、初期取得イメージ１１６だけを使って計算機１０１のシステムを起動している。従って、初期取得イメージ１１６には、計算機１０１のシステムの起動に最小限必要なＯＳのテキスト及びデータが含まれていなければならない。反対に、無くてもシステムの起動が支障なく行えるＯＳの付加的な機能を実現するためのテキスト及びデータや、アプリケーションプログラムは、初期取得イメージ１１１に含まれていなくて良い。
【００５８】
また、これまでの説明から明らかなように、図７の処理を実現するためのプログラム及びデータが計算機１０１上に存在しないと、システムの起動後、処理が立ち行かなくなってしまう。従って、マッピングテーブル変更部１５４をはじめとするＯＳの例外処理ハンドラ、動的取得部１５５を実現するプログラム、通信部１５２の制御ドライバ、マッピングテーブル部１５７及び保護情報部１５８は、少なくとも初期取得イメージ１１６に含まれている必要がある。なお、初期イメージ取得部１５９が通信部１５２を通じて初期取得イメージ１１６を管理サーバ１０２から取得する際に使用する通信部１５２の制御ドライバが、そのまま利用可能であれば、初期イメージ取得部１５９に含める必要はない。
【００５９】
初期取得イメージ１１６として上述した最小構成を採用すれば、システム起動時間を最小にすることができる。しかし、最小構成の初期取得イメージ１１６でなくても、起動直後イメージ１１５よりサイズの小さな初期取得イメージ１１６であれば、ある程度の効果は奏される。従って、最小構成の初期取得イメージのブロックに加えて更に、ＯＳの残り全部のブロックを加えたもの、または、ＯＳの残りの一部のブロックを加えたもの、または、ＯＳのすべてのデーモン（常駐プログラム）を加えたものなどであっても良いし、さらに、それらに加えてさらに、最初に起動するアプリケーションプログラムのブロックを加えたものであったも良い。
【００６０】
次に、本実施の形態について、一実施例を挙げてより詳細に説明する。
【００６１】
図９の計算機システム２００は、本実施の形態を適用した計算機システムの一例であり、コンピュータ２０１と、管理サーバ２０２と、両者を通信可能に接続するネットワーク２０３とで構成される。
【００６２】
管理サーバ２０２の記憶装置２１２には、ＯＳ２２１及びアプリケーションプログラム２２２の初期化処理後の起動直後イメージ２２３が予め記憶されており、その一部分が初期取得イメージ２２４となっている。初期取得イメージ２２４には、図１のマッピングテーブル部１５７及び保護情報部１５８が初期状態で含まれ、またマッピングテーブル変更部１５４及び動的取得部１５５がＯＳの一機能として含まれている。ＣＰＵ及びこのＣＰＵ上で動作するプログラムを記憶するメモリを含んで構成される制御装置２１３は、記憶装置２１２、管理テーブル２１４および通信部２１０に接続されている。通信部２１０には、コンピュータ２０１と通信するためのＮＩＣ（ネットワーク・インタフェース・カード）２１１が設けられている。
【００６３】
コンピュータ２０１においては、主記憶部１５１が、ＣＰＵ２３１にメモリバス２３２を通じて接続されており、アドレス変換部１５６はＣＰＵ２３１に内蔵されている。ＣＰＵ２３１には、他のハードウェアとして通信部２３３と記憶装置２３４とが接続されており、通信部２３３に、ＢＩＯＳ２３５を含むＮＩＣ２３６が設けられている。本実施例では、ＢＩＯＳ２３５の機能を用いて、管理サーバ２０２から初期取得イメージ２２４を取得する。つまり、ＢＩＯＳ２３５が図１の初期イメージ取得部１５９の役割を兼ねている。ＮＩＣ２３６に載っているＢＩＯＳ２３５の例としては、ｉｎｔｅｌ社のＰＸＥ（Ｐｒｅｂｏｏｔ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ）などがある。また、記憶装置２３４には、ＩＰＬ２３７が記憶されている。なお、本実施例では初期イメージ取得手段（ＢＩＯＳ２３５）の機能は、ＮＩＣ２３６上に載っているが、ＢＩＯＳ２３５に単純なＮＩＣの制御ドライバしか載っていない場合には、その制御ドライバを用いてまず初期イメージ取得手段をネットワーク経由で外部のサーバから取得し、これを実行することで初期取得イメージを取得するという方法も可能である。
【００６４】
図１０に管理サーバ２０２の管理テーブル２１４の内容例を示す。図示した例は本発明の理解を容易にするためにブロック数を極めて小さくしてあり、実際には数多くのブロックが存在する。図１０を参照すると、起動直後イメージ２２３は６つの物理ブロックから構成されている。なお、それぞれの物理ブロックのサイズは４０９６バイトを想定している。それぞれの物理ブロックの物理ブロックアドレスは１〜６であり、それぞれ記憶装置２１２の０ｘ１０００、０ｘ２０００、…、０ｘ６０００以降の領域に記憶されている。また、６つの物理ブロックのうち、物理ブロックアドレス１、２、６の３つのブロックの属性フラグが値１に設定されており、それら３つのブロックが初期取得イメージ２２４であることが示されている。
【００６５】
図１１にＯＳ２２１が有する保護情報部１５８の内容例を示す。図示した例は本発明の理解を容易にするためにブロック数を極めて小さくしてあり、実際には数多くのブロックが存在する。図１１を参照すると、論理ブロックアドレス０〜２の各ブロックの保護属性は読み込み専用（Ｒ）、論理ブロックアドレス３〜６の各ブロックの保護属性は読み書き可能（ＲＷ）となっている。また、論理ブロックアドレス０〜５の各ブロックの位置属性は「サーバ」、論理ブロックアドレス６の位置属性は「ローカル」になっている。
【００６６】
図１２（ａ）にＯＳ２２１が有する初期状態のマッピングテーブル部１５７の例を示す。図示した例は本発明の理解を容易にするためにブロック数を極めて小さくしてあり、実際には数多くのブロックが存在する。図１２（ａ）を参照すると、マッピングテーブル部１５７の初期状態は、０〜６の論理ブロックアドレスに対して、物理ブロックアドレス１〜７が予約済として対応付けられている。図１０をあわせて参照すると、物理ブロックアドレス１〜７の７つの物理ブロックのうち、物理ブロックアドレス１〜６の６つの物理ブロックが起動直後イメージ２２３に相当し、更にそのうちの物理ブロックアドレス１、２、６の３つの物理ブロックが初期取得イメージ２２４である。従って、物理ブロックアドレス１、２、６の各物理ブロックの保護モードには、本来の保護属性が初期設定されている。これに対し、初期取得イメージ２２４以外の起動直後イメージ２２３に属する物理ブロックアドレス３〜５は、図１１を参照すると本来の保護属性はＲ、ＲＷ、ＲＷであるが、運用開始後に初めてアクセスがあった際に保護属性違反をわざと起こして例外処理を起動するため、ＮＵＬＬの保護モードが初期設定されている。なお、論理ブロックアドレス５のブロックは、マッピングテーブル部１５７を含むブロックであるため、その保護モードは読み書き可能（ＲＷ）とされている。
【００６７】
以下、本実施例の計算機システム２００の動作を説明する。
【００６８】
コンピュータ２０１は起動されると、図８のステップＳ１４１において、主記憶部１５１のクリア、通信部２３３などのハードウェアの初期化を行う。
【００６９】
次に、図８のステップＳ１４２において、ＮＩＣ２３６に載っているＢＩＯＳ２３５の機能を用いて、初期取得イメージ２２４を管理サーバ２０２から取得し、主記憶部１５１に展開する。具体的には、以下のような動作を行う。
【００７０】
まず、図３（ａ）の識別ＩＤ１３２にＮＩＣ２３６のＭＡＣアドレスを設定し、要求種別１３３に初期取得イメージ２２４を取得する旨の種別を設定した要求１３１を通信部２３３からネットワーク２０３を通じて管理サーバ２０２へ送信する。管理サーバ２０２の通信アドレス（ＭＡＣアドレス）は例えばＢＩＯＳ２３５に事前に埋め込んでおくことが考えられる。要求１３１を通信部２１０を通じて受信した管理サーバ２０２の制御装置２１３は、図１０の管理テーブル２１４を参照し、属性フラグが値１になっている３つの物理ブロックを、記憶装置２１２の開始アドレス０ｘ１０００、０ｘ２０００、０ｘ６０００から順に読み出し、図３（ｂ）に示したような形式の応答１３６を作成し、通信部２１０によりネットワーク２０３経由でコンピュータ２０１に送信する。応答１３６の識別ＩＤ１３７にはＮＩＣ２３６のＭＡＣアドレスを設定し、応答種別１３８には初期取得イメージ２２４の要求に対する応答である旨を設定し、物理ブロックアドレス１４１には、開始アドレス０ｘ１０００から読み出した物理ブロックには１を、開始アドレス０ｘ２０００から読み出した物理ブロックには２を、開始アドレス０ｘ６０００から読み出した物理ブロックには６をそれぞれ設定する。コンピュータ２０１のＢＩＯＳ２３５は、受信した応答１３６に含まれる物理ブロックアドレス１４１およびデータ１４３の組毎に、その組のデータ１４３をその組の物理ブロックアドレス１４１で特定される主記憶部１５１の開始アドレスからブロックサイズ分のアドレス範囲に格納する。
【００７１】
このとき、初期取得イメージ２２４には、初期設定済のマッピングテーブル部１５７及び保護情報部１５８が含まれているため、コンピュータ２０１上において自動的にマッピングテーブル部１５７の状態が図１２（ａ）のように設定され、また図１１に示したような状態の保護情報部１５８が設定されることになる。さらに、初期取得イメージ２２４には、マッピングテーブル変更部１５４および動的取得部１５５の機能が含まれているため、それらの機能の利用が可能となる。
【００７２】
続いて図８のステップＳ１４３において、ＣＰＵ２３１が、主記憶部１５１に展開された初期取得イメージ２２４からシステムを起動する。具体的には、ＩＰＬ２３７がＣＰＵ２３１内のプログラムカウンタにシステムの運用を開始する際に最初に実行する命令の論理アドレスを設定し、その命令から実行を開始させることにより、システムの運用を開始させる。
【００７３】
次に、システム運用（ステップＳ１４４）の段階において、ＣＰＵ２３１上で実行されるプログラムが主記憶部１５１をアクセスした際の動作を説明する。例として以下のようなアクセスを想定する。
（１）論理ブロックアドレス「３」を持つ論理アドレスへの最初の書き込みアクセス
（２）論理ブロックアドレス「３」を持つ論理アドレスへの２回目以降の書き込みアクセス
（３）論理ブロックアドレス「１」を持つ論理アドレスへの読み出しアクセス
【００７４】
先ず、論理ブロックアドレス「３」を持つ論理アドレスへの最初の書き込みアクセスが発生した際の動作を説明する。この場合、アドレス変換部１５６は、論理ブロックアドレス「３」でマッピングテーブル部１５７を検索し、図１２（ａ）中の「論理ブロックアドレス３、物理ブロックアドレス４、保護モードＮＵＬＬ」のエントリを取得する（図７のステップＳ１２１）。このとき、保護モードがＮＵＬＬであるので（ステップＳ１２２でＹＥＳ）、当該メモリアクセスの処理を一時保留し、例外イベントをマッピングテーブル変更部１５４に通知して例外処理を起動する（ステップＳ１２７）。
【００７５】
マッピングテーブル変更部１５４は、論理ブロックアドレス「３」で保護情報部１５８を検索し、図１１の論理ブロックアドレス３を持つエントリの位置属性「サーバ」と保護属性ＲＷを取得する（ステップＳ１２８）。
【００７６】
位置属性が「サーバ」であるので（ステップＳ１２９でＹＥＳ）、動的取得部１５５は、ＮＩＣ２３６を通じて管理サーバ２０２上に存在する物理ブロックアドレス「４」で特定される当該ブロックのデータを取得して主記憶部１５１上の物理ブロックアドレス４に書き出す（ステップＳ１３０）。次にマッピングテーブル変更部１５４は、図１２（ｂ）に示されるように、論理ブロックアドレス「３」を持つエントリの保護モードをＮＵＬＬからＲＷに書き換える（ステップＳ１３１）。そして、例外処理の完了をアドレス変換部１５６に通知する。
【００７７】
アドレス変換部１５６は、マッピングテーブル変更部１５４から例外処理の完了通知を受けると、一時保留していたメモリアクセスの処理をステップＳ１２１から再開する。アドレス変換部１５６は、論理ブロックアドレス「３」でマッピングテーブル部１５７を検索すると、マッピングテーブル部１５７は図１２（ａ）の状態から図１２（ｂ）の状態に更新されているので、今度は「論理ブロックアドレス３、物理ブロックアドレス４、保護モードＲＷ」のエントリを取得する（ステップＳ１２１）。アドレス変換部１５６は、プログラムから指定されたメモリアクセスが、書き込みアクセスであり（ステップＳ１２３でＹＥＳ）、保護モードがＲＷなので（ステップＳ１２４でＹＥＳ）、保護違反なしと判断し、取得したエントリ中の物理ブロックアドレス「４」を用いて、プログラムから指定された論理アドレスを物理アドレスに変換し（ステップＳ１２５）、その物理アドレスで特定される主記憶部１５１の個所をアクセスし、プログラムから渡されたデータを書き込む（ステップＳ１２６）。
【００７８】
このように、システムの運用開始後、保護属性がＮＵＬＬの或るブロックに対して最初のアクセスが発生した場合、そのブロックのデータが管理サーバ２０２から取得されて主記憶部１５１に書き出され、その上で更新が行われる。ここでは、更新を例にしたが、読み込みアクセスの場合も同様である。
【００７９】
次に、論理ブロックアドレス「３」を持つ論理アドレスへの２回目以降の書き込みアクセスが発生した場合の動作を説明する。アドレス変換部１５６は、論理ブロックアドレス「３」でマッピングテーブル部１５７を検索すると、マッピングテーブル部１５７は図１２（ａ）の状態から図１２（ｂ）の状態に更新されているので、「論理ブロックアドレス３、物理ブロックアドレス４、保護モードＲＷ」のエントリを取得する（ステップＳ１２１）。次にアドレス変換部１５６は、プログラムから指定されたメモリアクセスが、書き込みアクセスであり（ステップＳ１２３でＹＥＳ）、保護モードがＲＷなので（ステップＳ１２４でＹＥＳ）、取得したエントリ中の物理ブロックアドレス「４」を用いて、プログラムから指定された論理アドレスを物理アドレスに変換し（ステップＳ１２５）、その物理アドレスで特定される主記憶部１５１の個所をアクセスし、プログラムから渡されたデータを書き込む（ステップＳ１２６）。
【００８０】
このように、システムの運用開始後、初期取得イメージ２２４以外の起動直後イメージ２２３に属するブロックに対して２回目以降のアクセスが発生した場合、初回のような管理サーバ２０２からの取得動作は最早必要ないため、主記憶部１５１上に存在するデータが直ちに更新される。ここでは、更新を例にしたが、読み込みアクセスの場合も同様である。
【００８１】
次に、論理ブロックアドレス「１」を持つ論理アドレスへの読み出しアクセスが発生した場合の動作を説明する。アドレス変換部１５６は、プログラムから指定された論理ブロックアドレス「１」でマッピングテーブル部１５７を検索し、図１２（ｂ）の「論理ブロックアドレス１、物理ブロックアドレス２、保護モードＲのエントリを取得する（ステップＳ１２１）。
【００８２】
次に、アドレス変換部１５６は、プログラムから指定されたメモリアクセスが読み出しアクセスであるため（ステップＳ１２３でＮＯ）、取得したエントリ中の物理ブロックアドレス「２」を用いて、プログラムから指定された論理アドレスを物理アドレスに変換し（ステップＳ１２５）、その物理アドレスで特定される主記憶部１５１の個所をアクセスし、読み出したデータをプログラムに返却する（ステップＳ１２６）。
【００８３】
このように、初期取得イメージ２２４として取得したブロックに対する読み込みアクセスは、再度管理サーバ２０２から取得することなく主記憶アクセスが実行される。ここでは、読み込みを例にしたが、更新アクセスの場合も同様である。
【００８４】
［第１の実施の形態の変形例１］  
第１の実施の形態では、管理サーバ１０２で１種類の起動直後イメージ１１５を管理しているが、それぞれ内容の異なる複数の起動直後イメージ１１５を記憶装置１１２に記憶して管理することも可能である。この場合の管理サーバ１０２の構成例を図１３に示す。
【００８５】
図１３を参照すると、管理サーバ１０２の記憶装置１１２には、それぞれ内容の異なる複数の起動直後イメージ１１５−１〜１１５−ｎが記憶されており、制御装置１１３に各起動直後イメージ１１５−１〜１１５−ｎに１対１に対応する管理テーブル１１４−１〜１１４−ｎが接続されている。それぞれの管理テーブル１１４−１〜１１４−ｎは、図２に示したエントリと同様のエントリにより、対応する起動直後イメージ１１５−１〜１１５−ｎの物理ブロックアドレス１２１、格納アドレス１２２および属性フラグ１２３を保持する。複数の起動直後イメージ１１５−１〜１１５−ｎの内容がそれぞれ異なるので、その一部を構成する初期取得イメージ１１６−１〜１１６−ｎも一般的にそれぞれ相違する。
【００８６】
また、各管理テーブル１１４−１〜１１４−ｎには、図３（ａ）の要求１３１に含まれる識別ＩＤ１３２がインデックス１３５−１〜１３５−ｎとして付与されている。制御装置１１３は、図３（ａ）の要求１３１に含まれる識別ＩＤ１３２と同じ識別ＩＤをインデックス１３５−１〜１３５−ｎとして持つ管理テーブル１１４−１〜１１４−ｎを検索し、この検索した管理テーブル１１４−１〜１１４−ｎを使って図４に示した処理を実行する。
【００８７】
［第１の実施の形態の変形例２］
本実施の形態では、初期設定時にＮＵＬＬ（未取得）のブロックにも物理アドレスが設定されており、主記憶部１５１のブロックが割り当てられている。しかし、起動直後イメージの中で物理アドレスが直接使用されていないＯＳの場合は、初期設定時にＮＵＬＬのブロックには主記憶部１５１を割り当てず（つまり、物理ブロックアドレスを明示的に設定せず）、動的に主記憶部１５１の空いているブロックを割り当てる方式も可能である。
【００８８】
この変形例２においては、管理サーバ１０２の管理テーブル１１４では図２のエントリにおける物理ブロックアドレス１２１が論理ブロックアドレスに置き換えられ、図３の要求１３１および応答１３６に含まれる物理ブロックアドレス１３４、１４１が論理ブロックアドレスに置き換えられる。そして、マッピングテーブル変更部１５４における図７のステップＳ１３０の処理において、管理サーバ１０２から取得したブロックデータを主記憶部１５１の空ブロックに書き出し、次のステップＳ１３１の処理において、図５の論理ブロックアドレス１６１がアドレス変換部１５６から通知された論理ブロックアドレスに一致するエントリをマッピングテーブル部１５７から検索し、そのエントリの物理ブロックアドレス１６２をステップＳ１３０における書き出し先の主記憶部１５１のブロックの物理ブロックアドレスに書き換え、かつ保護モード１６３をステップＳ１２８で検索した保護属性１７２の値に書き換える。
【００８９】
［第２の実施の形態］
第１の実施の形態では、論理アドレスを物理アドレスに変換するアドレス変換部において、システム運用中にプログラムから未取得のサーバ位置属性のブロックへのアクセスが発生すると、そのアクセスが発生した物理アドレスを含む所定幅のアドレス範囲内のデータをサーバから取得して主記憶部に書き出した。本実施の形態では、メモリアクセスにかかる物理アドレスを受けてメモリのアクセスをコントロールするメモリアクセス部において、システム運用中にプログラムから未取得のサーバ位置属性のブロックへのアクセスが発生すると、そのアクセスが発生した物理アドレスを含む所定幅のアドレス範囲内のデータをサーバから取得して主記憶部に書き出す。
【００９０】
図１４を参照すると、本発明の第２の実施の形態にかかる計算機システム３００は、計算機３０１と管理サーバ１０２とを含んで構成され、計算機３０１と管理サーバ１０２はネットワーク１０３を通じて相互に通信可能になっている。本実施の形態では管理サーバ１０２と計算機３０１がそれぞれ１台ずつの構成を示しているが、いずれも１台に限られるわけではなく、複数台の構成も可能である。
【００９１】
本実施の形態が図１の第１の実施の形態と相違するところは、計算機３０１側にあり、管理サーバ１０２は第１の実施の形態におけるものと同じである。
【００９２】
計算機３０１は、主記憶部１５１、通信部１５２、ハードウェア初期化部１５３、メモリアクセス部３１１、動的取得部１５５、ステータステーブル部３１２および保護情報部３１４を有し、ハードウェア初期化部１５３は、初期イメージ取得部１５９およびステータステーブル初期化部３１３を有している。ここで、主記憶部１５１、通信部１５２、動的取得部１５５および初期イメージ取得部１５９は、第１の実施の形態におけるものとほぼ同じである。また、主記憶部１５１及び通信部１５２以外の要素は、データ処理装置を構成している。
【００９３】
ステータステーブル部３１２は、物理ブロックの各ブロック毎に、そのブロックが管理サーバ１０２から取得済か否かを示すステータスを保持するテーブルである。図１５にステータステーブル部３１２のエントリの構成例を示す。ステータステーブル部３１２は、このようなエントリの集合から構成される。図１５を参照すると、１つのエントリには、物理ブロックアドレス３２１とステータス３２２の組が保持される。ステータス３２２は、物理ブロックアドレス３２１のブロックが主記憶部１５１に取得済みであれば論理値１に、そうでなければ論理値０に設定される。
【００９４】
保護情報部３１４は、物理ブロックの各ブロック毎に、そのブロックの保護属性を保持するテーブルである。図１６に保護情報部３１４のエントリの構成例を示す。保護情報部３１４は、このようなエントリの集合から構成される。図１６を参照すると、１つのエントリには、物理ブロックアドレス３３１と保護属性３３２と位置属性３３３の組が保持される。保護属性３３２には、読み込み専用の保護属性と、読み書き可能の保護属性とがあり、何れの保護属性が設定されるかは、物理ブロックアドレス３３１で特定されるブロックの本来の保護属性によって決定される。位置属性３３３は、第１の実施の形態における位置属性（図６の１７３）と同様の属性であり、「ローカル」または「サーバ」の値をとる。
【００９５】
計算機３０１の起動時にシステム各部のハードウェアの初期化を行うハードウェア初期化部１５３は、本実施の形態では初期イメージ取得部１５９に加えてステータステーブル初期化部３１３を備えている。このステータステーブル初期化部３１３は、主記憶部１５１への物理アドレスの割り当て機能と、ステータステーブル部３１２の初期設定機能とを有する。但し、本発明において物理アドレスの動的な割り当ては必須の事項でなく、物理アドレスが静的に割り当てられている計算機システムに対しても適用可能である。ステータステーブル部３１２の初期設定では、ブロックに割り当てられた各物理ブロックに対して、未取得を示す論理値０のステータスを設定する。
【００９６】
メモリアクセス部３１１は、計算機３０１上で動作するプログラムからのメモリアクセス要求に従って、主記憶部１５１をアクセスする部分である。図１４に破線で示したように、プログラムがメモリ操作の際に指定する論理アドレスを物理アドレスに変換する機能３４１を計算機３０１が備えている場合、メモリアクセス部３１１は物理アドレスに変換されたアドレス情報を含むメモリアクセス要求を入力する。他方、計算機３０１がそのような機能３４１を備えず、論理アドレスと物理アドレスとが同じ場合には、プログラムから出されたアドレス情報を含むメモリアクセスをそのまま入力する。
【００９７】
メモリアクセス部３１１は、管理サーバ１０２上の未取得ブロックに対するメモリアクセス要求については、ステータステーブル部３１２および保護情報部３１４を参照して、アクセス先ブロックの取得が必要ならば取得して主記憶部１５１への書き出しを行う機能を備えている。
【００９８】
図１７にメモリアクセス部３１１の処理の一例を示す。メモリアクセス部３１１は、メモリアクセスにかかる物理アドレス中のブロックアドレスでステータステーブル部３１２および保護情報部３１４を検索し、図１５に示した物理ブロックアドレス３２１が一致するエントリおよび図１６に示した物理ブロックアドレス３３１が一致するエントリを取得する（ステップＳ２０１、Ｓ２０２）。次にメモリアクセス部３１１は、ステップＳ２０１で取得したエントリ中のステータス３２２が０（未取得）か、１（取得済み）かを判別する（ステップＳ２０３）。ステータス３２２が１（取得済み）であれば（ステップＳ２０３でＮＯ）、アクセスのモード（書き込み操作、読み出し操作）をステップＳ２０２で検索したエントリの保護属性３３２と比較して正当なアクセスか否かを確認し（ステップＳ２０４、Ｓ２０５）、不正なアクセスの場合は今回のメモリアクセスを保護属性違反として拒否する等のエラー処理１を行う（ステップＳ２０７）。正当なアクセスの場合は、メモリアクセスにかかる物理アドレスの主記憶部１５１にアクセスを行う（ステップＳ２０６）。
【００９９】
他方、ステップＳ２０１で取得したエントリ中のステータス３２２が０（未取得）であれば（ステップＳ２０３でＹＥＳ）、メモリアクセス部３１１は、ステップＳ２０２で検索したエントリの位置属性３３３が「サーバ」か、「ローカル」かを判別する（ステップＳ２０８）。「ローカル」であれば、メモリアクセスを拒否する等のエラー処理２を行う（ステップＳ２１３）。通常この場合は、オン・デマンドのメモリ割り当てを行うＯＳで使用されることが多く、エラー処理２の後のＯＳ処理では物理メモリを割り当てるなどの処理が行われる。また、位置属性３３３が「サーバ」であれば、アクセスのモード（書き込み操作、読み出し操作）をステップＳ２０２で検索したエントリの保護属性３３２と比較して正当なアクセスか否かを確認し（ステップＳ２０９、Ｓ２１０）、不正なアクセスの場合は今回のメモリアクセスを保護属性違反として拒否する等のエラー処理１を行う（ステップＳ２０７）。
【０１００】
正当なアクセスの場合（ステップＳ２１０でＹＥＳ）、メモリアクセス部３１１は、メモリアクセスの物理ブロックアドレスで特定されるブロックを、動的取得部１５５により第１の実施の形態と同様にして管理サーバ１０２から取得し、主記憶部１５１のブロックに書き出す（ステップＳ２１１）。次にメモリアクセス部３１１は、図１５の物理ブロックアドレス３２１が入力の物理ブロックアドレスに一致するエントリをステータステーブル部３１２から検索し、そのエントリのステータス３２２を取得済みを示す１に書き換え（ステップＳ２１２）、当該物理アドレスの主記憶部１５１にアクセスを行う（ステップＳ２０６）。
【０１０１】
図１８は計算機３０１の概略動作を示すフローチャートである。以下、各図を参照して本実施の形態の動作を説明する。
【０１０２】
計算機３０１は起動されると、図１８に示されるように、先ず、ハードウェア初期化部１５３によってハードウェアの初期化を行った後（ステップＳ２２１）、ステータステーブル初期化部３１３によって、主記憶部１５１に物理アドレスを割り当て、ステータステーブル部３１２を初期設定する（ステップＳ２２２）。ステータステーブル部３１２の初期設定では、全てのブロックの物理ブロックアドレス３２１と論理値０のステータス３２２とをステータステーブル部３１２に登録する。
【０１０３】
次に計算機３０１は、初期イメージ取得部１５９により第１の実施の形態と同様に初期取得イメージ１１６を管理サーバ１０２から取得して主記憶部１５１に展開し（ステップＳ２２３）、その初期取得イメージ１１６からシステムを起動する（ステップＳ２２４）。この初期取得イメージ１１６は、ＯＳやアプリケーションの起動直後と同じ状態であるため、システムは立ち上げ直後の環境に復帰することになる。このとき、初期取得イメージ１１６から起動してより、システム運用（ステップＳ２２５）が可能になるまでの運用中断状態は存在しない。
【０１０４】
システム運用（ステップＳ２２５）の段階において、プログラムから、初期取得イメージ１１６以外の起動直後イメージ１１５中のとあるブロックに対して初めてのアクセスが発生したときには、ステータステーブル部３１２におけるそのブロックのステータス３２２は０（未取得）に初期化されているので、メモリアクセス部３１１は、保護情報部３１４を参照してそのアクセス発生物理アドレスを含むブロックの位置属性を判断し（図１７のステップＳ２０８）、管理サーバ１０２から当該ブロックの内容を取得して主記憶部１５１に書き出し（ステップＳ２１１）、ステータステーブル部３１２の当該ブロックのステータス３２２を取得済みを示す論理値１に書き換え（ステップＳ２１２）、主記憶部１５１をアクセスする。この結果、今回のアクセスおよびその後の当該ブロックへのアクセスは、主記憶部１５１上の内容が直ちにアクセスされる（ステップＳ２０６）。
【０１０５】
次に、本実施の形態について、一実施例を挙げてより詳細に説明する。
【０１０６】
図１９の計算機システム４００は、本実施の形態を適用した計算機システムの一例であり、コンピュータ４０１と、管理サーバ４０２と、両者を通信可能に接続するネットワーク４０３とで構成される。
【０１０７】
管理サーバ４０２の記憶装置４１２には、ＯＳ４２１及びアプリケーションプログラム４２２の初期化処理後の起動直後イメージ４２３が予め記憶されており、その一部分が初期取得イメージ４２４となっている。初期取得イメージ４２４には、図１４の保護情報部３１４が含まれる。ＣＰＵ及びこのＣＰＵ上で動作するプログラムを記憶するメモリを含んで構成される制御装置４１３は、記憶装置４１２、管理テーブル４１４および通信部４１０に接続されている。通信部４１０には、コンピュータ４０１と通信するためのＮＩＣ４１１が設けられている。
【０１０８】
コンピュータ４０１においては、主記憶部１５１がメモリコントローラ４３１を通じてＣＰＵ４３２に接続されており、図１４のメモリアクセス部３１１、動的取得部１５５およびステータステーブル部３１２はメモリコントローラ４３１に内蔵されている。ＣＰＵ４３２には、他のハードウェアとして通信部２３３と記憶装置４３３とが接続されており、通信部２３３に、ＢＩＯＳ２３５を含むＮＩＣ２３６が設けられている。本実施例では、ＢＩＯＳ２３５の機能を用いて、管理サーバ４０２から初期取得イメージ４２４を取得する。つまり、ＢＩＯＳ２３５が図１４の初期イメージ取得部１５９の機能を備えている。また、記憶装置４３３には、ステータステーブル初期化部３１３を有するＩＰＬ４３４が記憶されている。
【０１０９】
図２０に管理サーバ４０２の管理テーブル４１４の内容例を示す。図２０を参照すると、起動直後イメージ４２３は物理ブロックアドレス２５６〜４００のブロックで構成され、それぞれの物理ブロックのサイズは４０９６バイトである。それぞれの物理ブロックは、記憶装置４１２の０ｘ２５６０００、０ｘ２５７０００、…、０ｘ４０００００以降の領域に記憶されている。また、これらの物理ブロックのうち、ブロックアドレス２５６、３０１の２つのブロックの属性フラグが値１に設定されており、それら２つのブロックが初期取得イメージ４２４であることが示されている。
【０１１０】
図２１はＯＳ４２１が有する保護情報部３１４の内容例を示す。図２１を参照すると、保護情報部３１４には、物理ブロックアドレス２５６〜５１１の複数のブロックのうち、ブロックアドレス２５６〜３００のブロックに対しては読み込み専用（Ｒ）の保護属性が、残りのブロックアドレス３０１〜５１１のブロックに対しては読み書き可能（ＲＷ）の保護属性がそれぞれ割り当てられている。また、物理ブロックアドレス２５６〜４００の各ブロックの位置属性はデータがサーバ上にあることを示し、物理ブロックアドレス４０１〜５１１の各ブロックの位置属性はデータがサーバ上には無く、コンピュータ４０１が自由に使えることを示している。
【０１１１】
以下、本実施例の計算機システム４００の動作を説明する。
【０１１２】
コンピュータ４０１は起動されると、図１８のステップＳ２２１において、主記憶部１５１のクリア、メモリコントローラ４３１や通信部２３３などのハードウェアの初期化を行った後、次のステップＳ２２２において、ＩＰＬ４３４に実装されたステータステーブル初期化部３１３によってメモリコントローラ４３１内のステータステーブル部３１２を初期設定する。この初期設定により、物理ブロックアドレス２５６〜５１１に対して、全て未取得を示す論理値０のステータスが設定される。
【０１１３】
次に、初期イメージ取得部（ＢＩＯＳ２３５）１５９によって、第１の実施の形態の実施例と同様に初期取得イメージ４２４が取得されて主記憶部１５１に展開される（ステップＳ２２３）。本実施例は、この展開後に初期イメージ取得部１５９が、ステータステーブル部３１２を更新し、図２２（ａ）に示すように、初期取得イメージ４２４に属するブロックに対してそのステータスを１（取得済）に更新する。
【０１１４】
次に、図１８のステップＳ２２４においては、ＣＰＵ４３２が管理サーバ４０２から取得された初期取得イメージ４２４からシステムを起動する。具体的には、ＩＰＬ４３４がＣＰＵ４３２内のプログラムカウンタにシステムの運用を開始する際に最初に実行する命令の論理アドレスを設定し、その命令から実行を開始させることにより、システムの運用を開始させる。
【０１１５】
次に、システム運用（ステップＳ２２５）の段階において、ＣＰＵ４３２上で実行されるプログラムが主記憶部１５１をアクセスした際の動作を説明する。例として以下のようなアクセスを想定する。
（１）物理ブロックアドレス「４００」を持つ物理アドレスへの最初の書き込みアクセス
（２）物理ブロックアドレス「４００」を持つ物理アドレスへの２回目以降の書き込みアクセス
（３）物理ブロックアドレス「２５６」を持つ物理アドレスへの読み出しアクセス
【０１１６】
先ず、物理ブロックアドレス「４００」を持つ物理アドレスへの最初の書き込みアクセスが発生した際の動作を説明する。この場合、メモリコントローラ４３１は、物理ブロックアドレス「４００」でステータステーブル部３１２を検索し、図２２（ａ）中の「ブロックアドレス４００、ステータス０」のエントリを取得する（図１７のステップＳ２０１）。また、メモリコントローラ４３１は、物理ブロックアドレス「４００」で保護情報部３１４を検索し、図２１中の「ブロックアドレス４００、保護属性ＲＷ、位置属性サーバ」のエントリを取得する（ステップＳ２０２）。メモリコントローラ４３１は、ステータスが０（未取得）であることを判別し（ステップＳ２０３でＹＥＳ）、位置属性がサーバであることを判別する（ステップＳ２０８でＹＥＳ）。
【０１１７】
次に、メモリコントローラ４３１は、メモリアクセスが書き込みアクセスであることを判別し（ステップＳ２０９でＹＥＳ）、取得した保護属性が読み書き可能であることを確認する（ステップＳ２１０でＹＥＳ）。そして、管理サーバ４０２から当該ブロックの内容を取得し、物理ブロックアドレス「４００」のブロックを主記憶部１５１の物理ブロックアドレス「４００」のブロックに書き出す（ステップＳ２１１）。次に、図２２（ｂ）に示すように、ステータステーブル部３１２中の物理ブロックアドレス「４００」のステータスを０から１（取得済み）に更新する（ステップＳ２１２）。そして、メモリコントローラ４３１は、主記憶部１５１の物理ブロックアドレス「４００」のデータを、プログラムから渡されたデータで書き換える（ステップＳ２０６）。
【０１１８】
このように、システムの運用開始後、初期取得イメージ４２４に属するブロック以外の起動直後イメージ４２３のブロックに対して最初の書き込みアクセスが発生した場合、そのブロックの内容がサーバから取得されて主記憶部１１５に書き出され、その上で更新が行われる。この例では、更新アクセスがあった場合であるが、読み出しアクセスがあった場合も同様である。
【０１１９】
次に、物理ブロックアドレス「４００」を持つ物理アドレスへの２回目以降の書き込みアクセスが発生した場合の動作を説明する。メモリコントローラ４３１は、物理ブロックアドレス「４００」でステータステーブル部３１２を検索すると、ステータステーブル部３１２は図２２（ａ）の状態から図２２（ｂ）の状態に更新されているので、「ブロックアドレス４００、ステータス１」のエントリを取得する（ステップＳ２０１）。また、メモリコントローラ４３１は、物理ブロックアドレス「４００」で保護情報部３１４を検索し、図２１中の「ブロックアドレス４００、保護属性ＲＷ、位置属性サーバ」のエントリを取得する（ステップＳ２０２）。次に、メモリコントローラ４３１は、ステータスが１（取得済み）であることを判別する（ステップＳ２０３でＮＯ）。次に、メモリコントローラ４３１は、メモリアクセスが書き込みアクセスであることを判別し（ステップＳ２０４でＹＥＳ）、取得した保護属性が読み書き可能であることを確認し（ステップＳ２０５でＹＥＳ）、主記憶部１５１の物理ブロックアドレス「４００」のデータを、プログラムから渡されたデータで書き換える（ステップＳ２０６）。
【０１２０】
このように、システムの運用開始後、初期取得イメージ４２４に属するブロック以外の起動直後イメージ４２３のブロックに対して２回目以降の書き込みアクセスが発生した場合、初回のような管理サーバ４０２からの取得動作は最早必要ないため、主記憶部１５１上に存在するデータが直ちに更新される。これは、保護属性がＲの或るブロックに対する２回目以降の読み込みアクセスでも同様である。
【０１２１】
次に、論理ブロックアドレス「２５６」を持つ論理アドレスへの読み出しアクセスが発生した場合の動作を説明する。メモリコントローラ４３１は、物理ブロックアドレス「２５６」でステータステーブル部３１２を検索し、図２２（ｂ）中の「ブロックアドレス２５６、ステータス１」のエントリを取得する（ステップＳ２０１）。また、メモリコントローラ４３１は、物理ブロックアドレス「２５６」で保護情報部３１４を検索し、図２１中の「ブロックアドレス２５６、保護属性Ｒ、位置属性サーバ」のエントリを取得する（ステップＳ２０２）。次に、メモリコントローラ４３１は、ステータスが１（取得済）であることを判別する（ステップＳ２０３でＮＯ）。次に、メモリコントローラ４３１は、メモリアクセスが読み出しアクセスであることを判別し（ステップＳ２０４でＮＯ）、主記憶部１５１の物理ブロックアドレス「２５６」のデータを読み出し、プログラムに通知する（ステップＳ２０６）。
【０１２２】
このように、初期取得イメージ４２４に属するブロックに対する主記憶アクセスは、１回目のアクセスから主記憶部１５１に直ちにアクセス操作が実行される。
【０１２３】
［第２の実施の形態の変形例１］
第２の実施の形態においては、メモリアクセス部３１１が保護情報部３１４を参照して保護属性違反チェックを行っている。しかし、図１４中に破線で示したように、プログラムがメモリ操作の際に指定する論理アドレスを物理アドレスに変換する機能３４１を備える場合、機能３４１の段階で保護属性違反チェックを行うことが考えられる。また、保護属性違反チェック自体を省略することも考えられる。このような場合、保護属性部３１４のエントリは図１６と異なり、図２３に示されるように保護属性３３２が省略され、物理ブロックアドレス３３１と位置属性３３３とを記憶する。また、メモリアクセス部３１１の図１７の処理は、図２４のように変形される。
【０１２４】
［第２の実施の形態の変形例２］
第２の実施の形態およびその変形例１においては、保護情報部３１４をＯＳの一部として初期取得イメージ４２４に含め、主記憶部１５１上に展開した。しかし、保護情報部３１４をＯＳでなく図１９の実施例におけるメモリコントローラ４３１に設定するテーブルとして初期取得イメージ４２４に含め、初期取得イメージ４２４を取得した際に初期イメージ取得部１５９が保護情報部３１４をメモリコントローラ４３１内に展開するようにしても良い。
【図面の簡単な説明】
【０１２５】
【図１】本発明の第１の実施の形態にかかる計算機システムのブロック図である。
【図２】本発明の第１の実施の形態における管理サーバが備える管理テーブルのエントリの構成例を示す図である。
【図３】本発明の第１の実施の形態における計算機と管理サーバ間で授受される要求と応答の形式を示す図である。
【図４】本発明の第１の実施の形態における管理サーバの制御装置の処理例を示すフローチャートである。
【図５】本発明の第１の実施の形態における計算機が備えるマッピングテーブル部のエントリの構成例を示す図である。
【図６】本発明の第１の実施の形態における計算機が備える保護情報部のエントリの構成例を示す図である。
【図７】本発明の第１の実施の形態における計算機のアドレス変換部およびマッピングテーブル変更部の処理例を示すフローチャートである。
【図８】本発明の第１の実施の形態の動作の概略を示すフローチャートである。
【図９】本発明の第１の実施の形態の一実施例のブロック図である。
【図１０】本発明の第１の実施の形態の一実施例における管理サーバが備える管理テーブルの内容例を示す図である。
【図１１】本発明の第１の実施の形態の一実施例における保護情報部の内容例を示す図である。
【図１２】本発明の第１の実施の形態の一実施例におけるマッピングテーブル部の初期状態および変更後の状態を示す図である。
【図１３】本発明の第１の実施の形態の変形例１における管理サーバの構成例を示すブロック図である。
【図１４】本発明の第２の実施の形態にかかる計算機システムのブロック図である。
【図１５】本発明の第２の実施の形態におけるステータステーブル部のエントリの構成例を示す図である。
【図１６】本発明の第２の実施の形態における保護情報部のエントリの構成例を示す図である。
【図１７】本発明の第２の実施の形態におけるメモリアクセス部の処理例を示すフローチャートである。
【図１８】本発明の第２の実施の形態の概略動作を示すフローチャートである。
【図１９】本発明の第２の実施の形態の一実施例のブロック図である。
【図２０】本発明の第２の実施の形態における管理サーバが備える管理テーブルの内容例を示す図である。
【図２１】本発明の第２の実施の形態の一実施例における保護情報部の内容例を示す図である。
【図２２】本発明の第２の実施の形態の一実施例におけるステータステーブル部の初期状態および変更後の状態を示す図である。
【図２３】本発明の第２の実施の形態の変形例１における保護情報部のエントリの構成例を示す図である。
【図２４】本発明の第２の実施の形態の変形例１におけるメモリアクセス部の処理例を示すフローチャートである。
【符号の説明】
【０１２６】
１００…計算機システム
１０１…計算機
１０２…管理サーバ
１０３…ネットワーク
１１１…通信部
１１２…記憶装置
１１３…制御装置
１１４…管理テーブル
１１５…起動直後イメージ
１１６…初期取得イメージ
１２１…物理ブロックアドレス
１２２…格納アドレス
１２３…属性フラグ
１３１…要求
１３２…識別ＩＤ
１３３…要求種別
１３４…物理ブロックアドレス
１３５−１〜１３５−ｎ…インデックス
１３６…応答
１３７…識別ＩＤ
１３８…応答種別
１３９…応答データ
１４１…物理ブロックアドレス
１４３…データ
１４４…終了マーク
１５１…主記憶部
１５２…通信部
１５３…ハードウェア初期化部
１５４…マッピングテーブル変更部
１５５…動的取得部
１５６…アドレス変換部
１５７…マッピングテーブル部
１５８…保護情報部
１５９…初期イメージ取得部
１６１…論理ブロックアドレス
１６２…物理ブロックアドレス
１６３…保護モード
１７１…論理ブロックアドレス
１７２…保護属性
１７３…位置属性
２００…計算機システム
２０１…コンピュータ
２０２…管理サーバ
２０３…ネットワーク
２１０…通信部
２１１…ＮＩＣ
２１２…記憶装置
２１３…制御装置
２１４…管理テーブル
２２１…ＯＳ
２２２…アプリケーションプログラム
２２３…起動直後イメージ
２２４…初期取得イメージ
２３１…ＣＰＵ
２３２…メモリバス
２３３…通信部
２３４…記憶装置
２３５…ＢＩＯＳ
２３６…ＮＩＣ
２３７…ＩＰＬ
３００…計算機システム
３０１…計算機
３１１…メモリアクセス部
３１２…ステータステーブル部
３１３…ステータステーブル初期化部
３１４…保護情報部
３２１…物理ブロックアドレス
３２２…ステータス
３３１…物理ブロックアドレス
３３２…保護属性
３３３…位置属性
４００…計算機システム
４０１…コンピュータ
４０２…管理サーバ
４０３…ネットワーク
４１０…通信部
４１１…ＮＩＣ
４１２…記憶装置
４１３…制御装置
４１４…管理テーブル
４２１…ＯＳ
４２２…アプリケーションプログラム
４２３…起動直後イメージ
４２４…初期取得イメージ
４３１…メモリコントローラ
４３２…ＣＰＵ
４３３…記憶装置
４３４…ＩＰＬ
【図１】
0004604543.tif 000002
【図２】
0004604543.tif 000003
【図３】
0004604543.tif 000004
【図４】
0004604543.tif 000005
【図５】
0004604543.tif 000006
【図６】
0004604543.tif 000007
【図７】
0004604543.tif 000008
【図８】
0004604543.tif 000009
【図９】
0004604543.tif 000010
【図１０】
0004604543.tif 000011
【図１１】
0004604543.tif 000012
【図１２】
0004604543.tif 000013
【図１３】
0004604543.tif 000014
【図１４】
0004604543.tif 000015
【図１５】
0004604543.tif 000016
【図１６】
0004604543.tif 000017
【図１７】
0004604543.tif 000018
【図１８】
0004604543.tif 000019
【図１９】
0004604543.tif 000020
【図２０】
0004604543.tif 000021
【図２１】
0004604543.tif 000022
【図２２】
0004604543.tif 000023
【図２３】
0004604543.tif 000024
【図２４】
0004604543.tif 000025