(57)【要約】【課題】ストレージ装置を持たないディスクレスパーソナルコンピュータ（ＰＣ）を起動する時間を短縮することのできるネットワークブートシステムを提供する。【解決手段】キャッシュ装置２は，ディスクレスＰＣ１から送信要求されたデータが規定の論理ブロック，例えば論理ブロック０番地の読み出し要求であると，ストレージルータ７に論理ブロック０番地の読み出し要求を送信するとともに，予め設定されたＯＳイメージ分のデータの読み出し要求をストレージルータ７に送信する。ストレージルータ７からＯＳイメージ分のデータの読み出し応答を受信すると，キャッシュ装置２は，受信したＯＳイメージを内蔵の記憶媒体に記憶し，その後，ディスクレスＰＣ１からの論理ブロック１番地以降の読み出し要求に対しては，ストレージ装置６に要求を行わず，自装置内に記憶しているＯＳイメージから該当するデータをディスクレスＰＣ１に転送する。【選択図】図１
2005149334.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムを予め格納したストレージ装置を持たないコンピュータに，ネットワークを介してオペレーティングシステムを取得させて該コンピュータを起動させるネットワークブートシステムにおいて，
前記ネットワークを介して他の装置からアクセス可能な，少なくとも前記コンピュータの起動に必要なオペレーティングシステムを格納したストレージ装置と，
前記コンピュータを使用するユーザの認証を行うとともにユーザに対応した前記ストレージ装置の情報を管理し，認証正常のユーザに対応する前記ストレージ装置の情報を，前記コンピュータまたは他の装置に通知する認証サーバと，
前記コンピュータと前記ストレージ装置との間の通信を仲介し，前記ストレージ装置から取得したデータを一時的に記憶し，前記コンピュータから読み出し要求されたデータが一時的に記憶しているデータ内にあれば前記ストレージ装置にアクセスせずに該データを前記コンピュータに転送するキャッシュ装置とを備える
ことを特徴とするネットワークブートシステム。
【請求項２】
前記コンピュータは，前記ストレージ装置に格納されているオペレーティングシステムまたはオペレーティングシステムとアプリケーションプログラムとを，前記キャッシュ装置から取得する
ことを特徴とする請求項１に記載のネットワークブートシステム。
【請求項３】
前記キャッシュ装置は，前記ストレージ装置への規定の論理番地に対する読み出し要求を受信すると，前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部を前記ストレージ装置から取得し記憶する
ことを特徴とする請求項１または請求項２に記載のネットワークブートシステム。
【請求項４】
前記認証サーバは，ユーザの認証が正常となり，該ユーザに対応するストレージ装置が判明したとき，前記キャッシュ装置に前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部を取得することを指示し，
前記キャッシュ装置は，前記認証サーバの指示により前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部を前記ストレージ装置から取得し記憶する
ことを特徴とする請求項１または請求項２に記載のネットワークブートシステム。
【請求項５】
オペレーティングシステムを予め格納したストレージ装置を持たないコンピュータと，ネットワークを介して他の装置からアクセス可能な，少なくとも前記コンピュータの起動に必要なオペレーティングシステムを格納したストレージ装置と，前記コンピュータを使用するユーザの認証機能を持ちユーザに対応した前記ストレージ装置の情報を管理する認証サーバと，前記コンピュータと前記ストレージ装置との間の通信を仲介し，前記ストレージ装置から取得したデータを一時的に記憶するキャッシュ装置とを備えたネットワークブートシステムにおいて前記コンピュータを起動させるネットワークブート方法であって，
前記コンピュータが，該コンピュータを使用するユーザの認証要求を前記認証サーバへ送信する過程と，
前記認証サーバが，前記コンピュータからのユーザの認証要求に対しユーザの認証を行うとともに，認証正常のユーザに対応する前記ストレージ装置の情報を前記コンピュータに通知する過程と，
前記コンピュータが，前記キャッシュ装置に対して前記ストレージ装置への規定の論理番地に対する読み出し要求を送信する過程と，
前記キャッシュ装置が，前記ストレージ装置への規定の論理番地に対する読み出し要求を受信すると，前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部を，ネットワークを介して前記ストレージ装置から取得して記憶する過程と，
前記キャッシュ装置が，前記ストレージ装置から取得して記憶しているデータの中から，前記コンピュータから読み出し要求されたデータを取り出し，前記コンピュータに転送する過程とを有する
ことを特徴とするネットワークブート方法。
【請求項６】
オペレーティングシステムを予め格納したストレージ装置を持たないコンピュータと，ネットワークを介して他の装置からアクセス可能な，少なくとも前記コンピュータの起動に必要なオペレーティングシステムを格納したストレージ装置と，前記コンピュータを使用するユーザの認証機能を持ちユーザに対応した前記ストレージ装置の情報を管理する認証サーバと，前記コンピュータと前記ストレージ装置との間の通信を仲介し，前記ストレージ装置から取得したデータを一時的に記憶するキャッシュ装置とを備えたネットワークブートシステムにおいて前記コンピュータを起動させるネットワークブート方法であって，
前記コンピュータが，該コンピュータを使用するユーザの認証要求を前記認証サーバへ送信する過程と，
前記認証サーバが，前記コンピュータからのユーザの認証要求に対しユーザの認証を行うとともに，ユーザの認証が正常となり，該ユーザに対応するストレージ装置が判明したとき，前記キャッシュ装置に前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部を取得することを指示する過程と，
前記キャッシュ装置が，前記認証サーバの指示により前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部を，ネットワークを介して前記ストレージ装置から取得して記憶する過程と，
前記キャッシュ装置が，前記ストレージ装置から取得して記憶しているデータの中から，前記コンピュータから読み出し要求されたデータを取り出し，前記コンピュータに転送する過程とを有する
ことを特徴とするネットワークブート方法。
【請求項７】
オペレーティングシステムを予め格納したストレージ装置を持たないコンピュータと，ネットワークを介して他の装置からアクセス可能な，少なくとも前記コンピュータの起動に必要なオペレーティングシステムを格納したストレージ装置とを備えたネットワークブートシステムにおける，前記コンピュータと前記ストレージ装置との間の通信を仲介するキャッシュ装置であって，
前記ストレージ装置から取得したデータを，そのストレージ装置における当該データが格納されていた論理番地の情報に対応させて一時的に記憶するキャッシュテーブルと，
前記コンピュータから，要求するデータが格納された論理番地の範囲の情報を含む前記ストレージ装置の情報を指定した読み出し要求を受信する手段と，
前記受信した読み出し要求を解析し，読み出し要求で指定された論理番地の範囲の開始番地が規定の論理番地である場合に，前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部に関する所定の先読み対象のデータの読み出し要求を生成し，ネットワークを介して前記ストレージ装置へ送信する手段と，
前記読み出し要求によって前記ストレージ装置から取得したデータを前記キャッシュテーブルに格納する手段と，
前記ストレージ装置から取得して前記キャッシュテーブルに記憶しているデータの中から，前記コンピュータから読み出し要求されたデータを取り出し，前記コンピュータに転送する手段とを備える
ことを特徴とするネットワークブート用キャッシュ装置。
【請求項８】
オペレーティングシステムを予め格納したストレージ装置を持たないコンピュータと，ネットワークを介して他の装置からアクセス可能な，少なくとも前記コンピュータの起動に必要なオペレーティングシステムを格納したストレージ装置と，ユーザの認証機能を持ちユーザに対応した前記ストレージ装置の情報を管理する認証サーバとを備えたネットワークブートシステムにおける，前記コンピュータと前記ストレージ装置との間の通信を仲介するキャッシュ装置であって，
前記ストレージ装置から取得したデータを，そのストレージ装置における当該データが格納されていた論理番地の情報に対応させて一時的に記憶するキャッシュテーブルと，
前記認証サーバから，前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部に関するデータの，前記ストレージ装置に対する読み出し指示を受信する手段と，
前記受信した読み出し指示を解析し，前記コンピュータの起動に必要なオペレーティングシステムの全部もしくは一部，またはさらにそれに付随するアプリケーションプログラムの全部もしくは一部に関するデータの読み出し要求を生成し，ネットワークを介して前記ストレージ装置へ送信する手段と，
前記読み出し要求によって前記ストレージ装置から取得したデータを前記キャッシュテーブルに格納する手段と，
前記コンピュータから，要求するデータが格納された論理番地の範囲の情報を含む前記ストレージ装置の情報を指定した読み出し要求を受信する手段と，
前記ストレージ装置から取得して前記キャッシュテーブルに記憶しているデータの中から，前記コンピュータから読み出し要求されたデータを取り出し，前記コンピュータに転送する手段とを備える
ことを特徴とするネットワークブート用キャッシュ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ネットワークを介してオペレーティングシステムなどを取得してパーソナルコンピュータを起動させるネットワークブートシステム，ネットワークブート方法およびネットワークブート用キャッシュ装置に関するものである。
【背景技術】
【０００２】
従来，ネットワークを介してブートストラップやオペレーティングシステム（ＯＳ）イメージを取得してストレージを持たないパーソナルコンピュータを起動させるネットワークブートシステムが知られている（例えば特許文献１参照）。下記の特許文献１に記載されている方法では，ブートストラップがクライアントのコンピュータ上にロードされると，リモート・ファイル・サーバから，ネットワークのサブネットおよびそれらの対応するローカル・ファイル・サーバのマップを含む構成ファイルを獲得し，その構成ファイルを用いて，クライアントのコンピュータが存在するサブネットをサービスするローカル・ファイル・サーバを決定し，そのローカル・ファイル・サーバからＯＳイメージを獲得することにより，効率的なファイル転送を可能にしている。
【特許文献１】特開２００２−１２３４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら，従来のネットワークブートシステムにおいては，ネットワークが広域ネットワークになった場合，ブートストラップやＯＳイメージを取得するのに時間がかかり，パーソナルコンピュータが起動するまでに時間がかかるという問題があった。
【０００４】
本発明は，従来の問題を解決するためになされたもので，ＯＳイメージを取得する時間を短縮して，ストレージを持たないパーソナルコンピュータを起動する時間を短縮することのできるネットワークブートシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決する第１の発明は，ストレージ装置を持たないディスクレスパーソナルコンピュータにネットワークを介してブートストラップおよびオペレーティングシステムを取得させて該ディスクレスパーソナルコンピュータ（以下，ディスクレスＰＣという）を起動させるネットワークブートシステムにおいて，前記ネットワークを介してアクセス可能なストレージ装置と，ユーザの認証を行うとともにユーザに対応した前記ストレージ装置の情報を管理し，認証正常のユーザに対応する前記ストレージ装置の情報を通知する認証サーバと，前記ディスクレスＰＣと前記ストレージ装置との間の通信を仲介し，前記ストレージ装置から取得したデータを一時的に記憶し，前記ディスクレスＰＣから読み出し要求されたデータが一時的に記憶しているデータ内にあれば前記ストレージ装置にアクセスせずに該データを前記ディスクレスＰＣに転送するキャッシュ装置とを備えることを特徴とするものである。
【０００６】
この発明では，読み出し要求されたデータがキャッシュ装置に記憶されていれば，記憶されているデータが転送される。したがって，ストレージ装置へのアクセス回数が削減される。
【０００７】
上記課題を解決する第２の発明は，上記第１の発明の構成に加え，前記ディスクレスＰＣは，前記ストレージ装置からオペレーティングシステム，またはオペレーティングシステムとそれに付随するアプリケーションプログラムとを取得することを特徴とするものである。
【０００８】
この発明では，ユーザに対応したストレージ装置からオペレーティングシステムが取得される。したがって，ユーザに対応したオペレーティングシステム（必要に応じてアプリケーションプログラムを含む）が取得される。
【０００９】
上記課題を解決する第３の発明は，上記第１の発明または第２の発明の構成に加え，前記キャッシュ装置は，前記ストレージ装置への規定の論理番地（例えば，論理０番地）に対する読み出し要求を受信すると，該ディスクレスＰＣの起動に必要なオペレーティングシステムの全部または一部（アプリケーションプログラムを含んでもよい。以下同様）を取得し記憶することを特徴とするものである。
【００１０】
この発明では，ストレージ装置への規定の論理番地に対する読み出し要求により，該ディスクレスＰＣの起動に必要なオペレーティングシステムがキャッシュ装置に取得され記憶される。したがって，ディスクレスＰＣのオペレーティングシステムがキャッシュ装置から取得される。
【００１１】
上記課題を解決する第４の発明は，上記第１の発明または第２の発明の構成に加え，前記認証サーバは，ユーザの認証が正常となり，該ユーザに対応するストレージ装置が判明したとき，前記キャッシュ装置に該ディスクレスＰＣの起動に必要なオペレーティングシステムの全部または一部を取得することを指示し，前記キャッシュ装置は，前記認証サーバの指示により該ディスクレスＰＣの起動に必要なオペレーティングシステムの全部または一部を取得し記憶することを特徴とするものである。
【００１２】
この発明では，ユーザの認証正常時に該ディスクレスＰＣの起動に必要なオペレーティングシステムがキャッシュ装置に取得され記憶される。したがって，ディスクレスＰＣのオペレーティングシステムがキャッシュ装置から取得される。
【００１３】
上記課題を解決する第５の発明は，ストレージ装置を持たないディスクレスＰＣにネットワークを介してブートストラップおよびオペレーティングシステムを取得させて該ディスクレスＰＣを起動させるネットワークブート方法において，前記ディスクレスＰＣが，ユーザの認証機能を持つ認証サーバへ認証要求を送信する過程と，前記認証サーバが，ユーザの認証要求に対しユーザの認証を行うとともに，認証正常のユーザに対応するオペレーティングシステムを格納したストレージ装置の情報を前記ディスクレスＰＣに通知する過程と，前記ディスクレスＰＣが，前記ディスクレスＰＣと前記ストレージ装置との間の通信を仲介するキャッシュ装置に対して前記ストレージ装置への規定の論理番地に対する読み出し要求を送信する過程と，前記キャッシュ装置が，前記ストレージ装置への規定の論理番地に対する読み出し要求を受信すると，前記ディスクレスＰＣの起動に必要なオペレーティングシステムの全部または一部を，ネットワークを介して前記ストレージ装置から取得して記憶する過程と，前記キャッシュ装置が，前記ストレージ装置から取得して記憶しているデータの中から，前記コンピュータから読み出し要求されたデータを前記コンピュータに転送する過程とを有することを特徴とするものである。
【００１４】
この発明では，ストレージ装置への規定の論理番地に対する読み出し要求により，該ディスクレスＰＣの起動に必要なオペレーティングシステムがキャッシュ装置に取得され記憶される。したがって，ディスクレスＰＣのオペレーティングシステムがキャッシュ装置から取得される。
【００１５】
上記課題を解決する第６の発明は，ストレージ装置を持たないディスクレスＰＣにネットワークを介してブートストラップおよびオペレーティングシステムを取得させて該ディスクレスＰＣを起動させるネットワークブート方法において，前記ディスクレスＰＣが，ユーザの認証機能を持つ認証サーバへ認証要求を送信する過程と，前記認証サーバが，ユーザの認証要求に対しユーザの認証を行うとともに，ユーザの認証が正常となり，該ユーザに対応するオペレーティングシステムを格納したストレージ装置が判明したとき，前記ディスクレスＰＣと前記ストレージ装置との間の通信を仲介するキャッシュ装置に，該ディスクレスＰＣの起動に必要なオペレーティングシステムの全部または一部を取得することを指示する過程と，前記キャッシュ装置が，前記認証サーバの指示により前記コンピュータの起動に必要なオペレーティングシステムの全部または一部を，ネットワークを介して前記ストレージ装置から取得して記憶する過程と，前記キャッシュ装置が，前記ストレージ装置から取得して記憶しているデータの中から，読み出し要求されたデータを前記ディスクレスＰＣに転送する過程とを有することを特徴とするものである。
【００１６】
この発明では，ユーザの認証正常時に起動に該ディスクレスＰＣの必要なオペレーティングシステムがキャッシュ装置に取得され記憶される。したがって，ディスクレスＰＣのオペレーティングシステムがキャッシュ装置から取得される。
【発明の効果】
【００１７】
本発明によれば，ストレージ装置から取得したデータを一時的に記憶しておくキャッシュ装置を設け，キャッシュ装置が，ディスクレスＰＣのオペレーティングシステム，またはオペレーティングシステムとそれに付随するアプリケーションプログラムとを，少ない回数の読み出し要求によってストレージ装置からまとめて取得することにより，ディスクレスＰＣの起動時間を短縮することができる。
【００１８】
１台のキャッシュ装置に１台のディスクレスＰＣだけが接続されるシステムでも，ストレージ装置からキャッシュ装置へのデータの先読みによって，ディスクレスＰＣの起動時間を短縮することができる効果があるが，１台のキャッシュ装置に複数のディスクレスＰＣが接続され，複数のディスクレスＰＣが共通のオペレーティングシステムを使用するようなシステムでは，特にキャッシュ装置とストレージ装置との間のデータ転送量を少なくすることができるので，さらに大きな効果が得られる。
【００１９】
また，特にディスクレスＰＣとストレージ装置とが，非常に遠距離の場所に設置されているような場合に，キャッシュ装置をディスクレスＰＣの近くに設置することにより，全体のデータ転送時間の短縮が可能になり効果が大きい。
【００２０】
ディスクレスＰＣは，認証サーバのユーザ認証を受けるだけで，オペレーティングシステムや付随するアプリケーションプログラムを取得することができ，ストレージ装置の存在場所などを意識する必要はなく，また認証サーバの管理情報を変更するだけで，ユーザ毎にオペレーティングシステムやアプリケーションプログラムを容易に変えることができるので，柔軟性のあるネットワークブートシステムの構築が可能である。
【発明を実施するための最良の形態】
【００２１】
以下，本発明の実施の形態のネットワークブートシステムについて，図面を用いて説明する。図１は本発明の一実施の形態のネットワークブートシステムを示す図である。
【００２２】
図１において，本実施の形態のネットワークブートシステムは，ハードディスクなどのストレージ装置を持たないパーソナルコンピュータ（ＰＣ:Personal Computer）であるディスクレスＰＣ１ａ，１ｂ，１ｃ，…（以下，単にディスクレスＰＣ１と記す）と，ディスクレスＰＣ１からの要求によりネットワーク８を介してネットワーク８上に接続された装置との通信を行うとともにネットワーク８を介して受信したデータを一時的に記憶しておくキャッシュ装置２と，アドレス取得要求に応答して付与するＩＰアドレスなどを返信するＤＨＣＰ（Dynamic Host Configuration Protocol ）サーバ３と，ＴＦＴＰ（Trivial File Transfer Protocol）によりファイルを転送するＴＦＴＰサーバ４と，認証要求に応答して認証を行い結果を返信する認証サーバ５と，ディスクレスＰＣ１で動作するオペレーティングシステム（ＯＳ）のイメージや収容する各ユーザのディスクイメージなどを格納するハードディスクなどのストレージ装置６と，ストレージ装置６とファイバチャネル（Fibre Channel ）などを介して接続され，ｉＳＣＳＩ（Internet Small Computer System Interface）などによりネットワーク８を介して送信されてくるストレージ装置６への要求をファイバチャネルを介してストレージ装置６に送信するとともにストレージ装置６からの応答をネットワーク８を介して要求元へ返信するストレージルータ７と，ＩＰ（Internet Protocol ）などによるネットワーク８とを備えている。
【００２３】
上述のように，ストレージルータ７は，ｉＳＣＳＩなどによる要求や応答を，ファイバチャネルなどによる要求や応答に変換し，あるいはその逆の変換を行う機能を持つ。一方でストレージ装置の中には，ｉＳＣＳＩなどによる要求や応答を直接送受信する機能を持ったものがあり，当該ストレージ装置を図１のストレージ装置６とすれば，ストレージ装置６とネットワーク８は直接接続することができ，ストレージルータ７を使用することなく，本発明に係るネットワークブートシステムを構成することができる。ただし，以下の記述では，ストレージルータ７を使用する場合を例にとって，発明の実施の形態を説明する。
【００２４】
図１に示すようなネットワークブートシステムにおいて，ストレージ装置６は，複数の論理ユニット（Logical Unit）を持っており，各論理ユニットの規定の論理ブロックの番地からＯＳイメージが格納されている。なお，以下では論理ブロック０番地からＯＳイメージが格納されているものとして説明するが，必ずしも０番地でなくてもよい。キャッシュ装置２は，ディスクレスＰＣ１からのストレージ装置６の論理ブロック０番地に対する読み出し要求があると，ＯＳイメージを読み出そうとしていると判断し，起動に必要なＯＳイメージの全部または一部をストレージ装置６からコピーするようになっている。
【００２５】
以下，図２に示すシーケンス図に従って，図１に示すネットワークブートシステムの動作を説明する。図２のシーケンス図に示すように，ディスクレスＰＣ１は，電源を投入されるなどして起動されると，キャッシュ装置２を介してＤＨＣＰサーバ３にＤＨＣＰ要求を送信してＩＰアドレスの取得を行う。ＤＨＣＰサーバ３は，ＤＨＣＰ要求を受信すると，予め設定されたアドレス範囲から使用されていないＩＰアドレスを選択し，選択したＩＰアドレスと，予め設定されたブートストラップ名，ＴＦＴＰサーバ４のＩＰアドレスなどを含んだＤＨＣＰ応答を，要求元のディスクレスＰＣ１へ返送する。
【００２６】
ディスクレスＰＣ１は，ＤＨＣＰ応答を受信すると，ＤＨＣＰ応答に設定されているＴＦＴＰサーバ４にＤＨＣＰ応答に設定されているブートストラップ名のファイルの転送を要求するＴＦＴＰ要求をキャッシュ装置２を介して送信する。ＴＦＴＰサーバ４は，ＴＦＴＰ要求を受信すると，設定されているファイル名（この場合，ブートストラップ名）のファイルの転送を行う。
【００２７】
ディスクレスＰＣ１は，ＴＦＴＰ要求に対する応答として転送されてきたデータを，内蔵のＲＡＭ（Random Access Memory）内に蓄積し，転送が終了すると，ＲＡＭ内に蓄積したブートストラップを起動する。ブートストラップが起動されると，ディスクレスＰＣ１は，付属のディスプレイによりユーザに認証情報の入力を要求する。付属のキーボードやマウスなどによりユーザ名およびパスワードが入力されると，その入力されたユーザ名およびパスワードを設定した認証要求を，認証サーバ５へキャッシュ装置２を介して送信する。
【００２８】
認証サーバ５は，認証要求を受信すると，受信した認証要求に設定されているユーザ名およびパスワードが登録されている情報と一致するかを判定し，一致するものがあれば，そのユーザ用に設定されているストレージルータ７のＩＰアドレスと，ポート番号と，ストレージ装置６のターゲットＩＤと，ストレージ装置６の論理ユニット番号（ＬＵＮ）情報を含んだ認証応答を返信する。
【００２９】
ディスクレスＰＣ１は，認証応答を受信すると，認証応答に設定されたストレージルータ７に対し，認証応答に設定されているストレージルータ７のＩＰアドレス，ポート番号，ストレージ装置６のターゲットＩＤ，ストレージ装置６のＬＵＮ情報をもとに，ＯＳイメージの読み込みを開始する。
【００３０】
まず，ディスクレスＰＣ１は，認証応答に設定されているＬＵＮ情報におけるＬＵＮの論理ブロック０番地の読み出し要求を（例えば，ｉＳＣＳＩにより）キャッシュ装置２を介してストレージルータ７に送信する。キャッシュ装置２は，ディスクレスＰＣ１からの送信要求を示すデータの内容をチェックしており，送信要求されたデータが論理ブロック０番地の読み出し要求であると，ストレージルータ７に論理ブロック０番地の読み出し要求を送信するとともに，予め設定されたＯＳイメージ分のデータの読み出し要求をストレージルータ７に送信する。
【００３１】
ストレージルータ７は，ネットワーク８側から論理ブロック０番地の読み出し要求を受信すると，ファイバチャネルを介してストレージ装置６に論理ブロック０番地の読み出し要求を送信する。その後，ストレージ装置６からファイバチャネルを介して論理ブロック０番地の読み出し応答を受信すると，ネットワーク８を介して要求元に論理ブロック０番地の読み出し応答を転送する。同様に，ネットワーク８側からＯＳイメージ分のデータの読み出し要求を受信すると，ファイバチャネルを介してストレージ装置６にＯＳイメージ分のデータの読み出し要求を送信し，ストレージ装置６からファイバチャネルを介してＯＳイメージ分のデータの読み出し応答を受信する。その受信したＯＳイメージ分のデータの読み出し応答をネットワーク８を介して要求元のキャッシュ装置２に転送する。
【００３２】
キャッシュ装置２は，ストレージルータ７から論理ブロック０番地の読み出し応答を受信すると，要求元のディスクレスＰＣ１に転送する。また，自身が要求したＯＳイメージ分のデータの読み出し応答を受信すると，受信したＯＳイメージを内蔵の記憶媒体（後述するキャッシュテーブル２７０）に記憶する。
【００３３】
その後，キャッシュ装置２は，ディスクレスＰＣ１からの論理ブロック１番地以降の読み出し要求に対しては，ストレージ装置６に要求を行わず，自装置内に記憶しているＯＳイメージから該当するデータを読み出してディスクレスＰＣ１に転送する。
【００３４】
このように本実施の形態においては，キャッシュ装置２がディスクレスＰＣ１からの送信データを監視し，送信データが論理ブロック０番地の読み出し要求であると，ＯＳイメージをストレージ装置６から一括して読み出して記憶しておき，ディスクレスＰＣ１からのＯＳイメージの読み込み要求に対して，記憶しているＯＳイメージからデータを転送しているので，論理ブロック毎にストレージ装置６から読み出す必要がなくなり，ＯＳイメージの転送時間を短縮することができる。
【００３５】
また，認証サーバ５により，ユーザ毎に対応するストレージ装置６およびＬＵＮ情報を管理し，この情報に基づいてディスクレスＰＣ１がＯＳイメージを取得し起動するので，ユーザ毎に起動するＯＳを変えることができる。
【００３６】
キャッシュ装置２の構成および処理内容について，さらに詳しく説明する。図３は，キャッシュ装置２の構成例を示すブロック図である。
【００３７】
キャッシュ装置２は，ディスクレスＰＣ１と通信を行う送受信部２０，ネットワーク８との通信インタフェースを持つ送受信部２１，受信したＴＣＰ／ＩＰパケットを解析するＴＣＰ／ＩＰパケット解析部２２，送信するＴＣＰ／ＩＰパケットを生成するＴＣＰ／ＩＰパケット生成部２３，ＴＣＰ／ＩＰパケット中のｉＳＣＳＩデータを解析するｉＳＣＳＩデータ解析部２４，送信するｉＳＣＳＩデータを生成するｉＳＣＳＩデータ生成部２５，受信したデータの一時的な記憶およびそのデータの読み出しを処理するキャッシュ処理実行制御部２６，キャッシュテーブル（図４により後述）を内蔵の記憶媒体に格納するキャッシュデータ管理部２７，ストレージ装置６からの先読み対象を決定するデータを管理する先読み対象管理部２８を備える。
【００３８】
ｉＳＣＳＩデータ解析部２４は，受信した「読み出し要求」から，ストレージルータ７のＩＰアドレス，ターゲットＩＤ，論理ユニット番号（ＬＵＮ）情報，読み出し番地の範囲，データを抽出し，キャッシュ処理実行制御部２６に送信する。また，ｉＳＣＳＩデータ生成部２５は，ストレージルータ７のＩＰアドレス，ターゲットＩＤ，ＬＵＮ情報，読み出し番地の範囲，データから「読み出し応答」パケットを再生成し，ＴＣＰ／ＩＰパケット生成部２３へ送信する。
【００３９】
先読み対象管理部２８は，ストレージルータ７のＩＰアドレス，ターゲットＩＤ，ＬＵＮ情報ごとに，ＯＳ（アプリケーションプログラムを含む場合もある）の起動に必要なデータを格納している論理番地一覧を管理している。
【００４０】
キャッシュデータ管理部２７には，図４に示すキャッシュテーブル２７０が格納されている。キャッシュテーブル２７０は，エントリ番号（Ｎｏ．），ストレージルータ７のＩＰアドレス（固定長），ポート番号（固定長），ターゲットＩＤ（固定長），ＬＵＮ情報（固定長），論理番地（固定長），当該論理番地に格納されたデータ（固定長）からなるキャッシュデータを記憶するテーブルである。ターゲットＩＤは，「読み出し要求」を出したディスクレスＰＣ１のオペレーティングシステム等を格納しているストレージ装置６を識別する情報である。各論理番地に格納されたデータは，通常は５１２バイトの大きさである。
【００４１】
例えば，ＩＰアドレスが「１９２．１６８．１．１」のストレージルータ７，ターゲットＩＤ＝０，ＬＵＮ＝１，論理番地０のデータ（１ブロック分）がストレージ装置６から読み出されると，キャッシュ処理実行制御部２６によって，エントリＮｏ．＝１のようなキャッシュデータがキャッシュテーブル２７０に格納される。次に，これを契機として，同じＬＵＮの論理番地＝１００〜１０２のデータ（３ブロック分）がストレージ装置６から先読みされると，エントリＮｏ．＝２〜４のように，キャッシュデータがキャッシュテーブル２７０に格納される。
【００４２】
この状態で，ディスクレスＰＣ１から同ＬＵＮの論理番地＝１００〜１０１のデータ（２ブロック分）の「読み出し要求」があると，キャッシュ装置２は，キャッシュテーブル２７０から「００  ００  １Ｆ  …  ５Ｃ」のデータを読み出して，ディスクレスＰＣ１に対し「読み出し応答」として返送する。
【００４３】
次に，キャッシュテーブル２７０中のエントリＮｏ．＝９９９までエントリが存在する場合において，ＩＰアドレス「１９２．１６８．１２８．１」のストレージルータ７，ターゲットＩＤ＝０，ＬＵＮ＝２，論理番地＝０のデータ（１ブロック分）が，ストレージ装置６から読み出されると，エントリＮｏ．＝１０００のようにキャッシュテーブル２７０にキャッシュデータが格納される。以下，同様にキャッシュデータの書き込み，読み出しが行われる。
【００４４】
キャッシュテーブル２７０中のＩＰアドレスは，この例ではストレージルータ７のＩＰアドレスであるが，前述のようにネットワーク８に直接接続することができるストレージ装置６の場合には，ストレージルータ７を使用する必要はなく，キャッシュテーブル２７０中のＩＰアドレスは，ストレージ装置６のＩＰアドレスである。
【００４５】
ディスクレスＰＣ１から発せられた「読み出し要求」が，ネットワークを介してストレージルータ７に到達するには，ＩＰアドレスとポート番号が必要である。そのため，キャッシュテーブル２７０には，ＩＰアドレス，ポート番号が格納されるが，一旦，ストレージルータ７の内部に到達した場合には，ＩＰアドレス，ポート番号，ターゲットＩＤの組み合わせを，「ターゲット名」（テキスト文字列）のみで識別することができる。そのため，ＩＰアドレス，ポート番号，ターゲットＩＤの組み合わせの代わりに，「ターゲット名」でキャッシュデータを管理することもできる。
【００４６】
図５に，本実施の形態のキャッシュ装置２の内部処理フローを示す。キャッシュ装置２は，ディスクレスＰＣ１から「読み出し要求」を受信する毎に，図５に示す処理を実行する。
【００４７】
キャッシュ装置２の送受信部２０が，ディスクレスＰＣ１から「読み出し要求」のＴＣＰ／ＩＰパケットを受信すると（ステップＳ１０），ＴＣＰ／ＩＰパケット解析部２２はそのＴＣＰ／ＩＰパケットを解析し，解析したデータをｉＳＣＳＩデータ解析部２４へ送る。ｉＳＣＳＩデータ解析部１１は，「読み出し要求」のデータの中から「読み出し要求」の論理番地の範囲（開始番地から終了番地）を読み取る（ステップＳ１１）。なお，実際の「読み出し要求」のデータには，開始論理番地と読み出しブロック数とが記載されている。よって，終了番地は，以下の式によって算出する。
【００４８】
終了番地＝開始番地＋読み出しブロック数−１
ｉＳＣＳＩデータ解析部２４は，解析結果をキャッシュ処理実行制御部２６に通知する。キャッシュ処理実行制御部２６は，キャッシュテーブル２７０に「読み出し要求」のあった論理番地の範囲のエントリがあるか否かを調べる（ステップＳ１２）。「読み出し要求」のあった論理番地の範囲の中に，エントリがない論理番地が一つでもあった場合には，ここでは「エントリなし」と判断する。例えば，論理番地＝５，６，７，１０がエントリにあり，論理番地＝８，９がエントリにないときに，論理番地＝５〜１０の範囲の「読み出し要求」があった場合には，「エントリなし」と判断する。
【００４９】
「エントリあり」の場合，キャッシュ装置２がディスクレスＰＣ１からの「読み出し要求」を中継することなく，キャッシュテーブル２７０の該当エントリ（以下，単にキャッシュという）からデータを取り出し，ｉＳＣＳＩデータ生成部２５，ＴＣＰ／ＩＰパケット生成部２３，送受信部２０を介して，ディスクレスＰＣ１に「読み出し応答」を返送する（ステップＳ１３）。
【００５０】
一方，「エントリなし」の場合，ディスクレスＰＣ１からの「読み出し要求」を，送受信部２１およびネットワーク８を介して，そのままストレージルータ７に中継する（ステップＳ１４）。ストレージルータ７から「読み出し応答」を受信すると（ステップＳ１５），キャッシュ処理実行制御部２６は，その「読み出し応答」に含まれる読み出しデータをキャッシュに記録（キャッシュテーブル２７０にエントリを追加）するとともに，送受信部２０を介して「読み出し応答」をディスクレスＰＣ１に中継する（ステップＳ１６）。なお，このとき既にキャッシュテーブル２７０にエントリが存在している場合には，「読み出し応答」を上書きして追加する。
【００５１】
次に，ディスクレスＰＣ１からの「読み出し要求」の論理番地の範囲の先頭（開始番地）は，０番地かを判定する（ステップＳ１７）。０番地でない場合には，読み出し要求に対する処理を終了する。
【００５２】
先頭が０番地の場合，先読み対象の論理番地一覧のデータを先読み対象管理部２８から取得する（ステップＳ１８）。先読み対象管理部２８には，予めディスクレスＰＣ１の起動に必要なオペレーティングシステムやアプリケーションプログラムのサイズに応じて，ディスクレスＰＣ１から続いて要求される可能性のある論理番地の一覧情報が格納されている。
【００５３】
次に取得した論理番地の全部について，キャッシュテーブル２７０にエントリがあるかどうかを調べる（ステップＳ１９）。全部についてエントリがあれば，処理を終了する。エントリが存在しない論理番地が一つでもあれば，既にキャッシュテーブル２７０にエントリが存在しているデータについては先読み対象から除外し，エントリが存在しない論理番地のみを対象とする「読み出し要求」をｉＳＣＳＩデータ生成部２５により生成し，ＴＣＰ／ＩＰパケット生成部２３および送受信部２１を介してストレージルータ７に送信する（ステップＳ２０）。ストレージルータ７から，その「読み出し要求」に対する「読み出し応答」を受信したならば（ステップＳ２１），受信した「読み出し応答」に含まれる読み出しデータをキャッシュに記録（キャッシュテーブル２７０にエントリを追加）し（ステップＳ２２），処理を終了する。
【００５４】
次に，本発明の他の実施の形態について，図６に示すシーケンス図に従って説明する。この第２の実施の形態では，図２で説明した第１の実施の形態と，ＯＳイメージの「読み出し要求」をストレージルータ７へ送る契機が異なる。第２の実施の形態の場合，ディスクレスＰＣ１から認証サーバ５へ認証要求が送られたときに，認証正常であれば，認証サーバ５からキャッシュ装置２へＯＳイメージの読み出し指示が出され，キャッシュ装置２は，ディスクレスＰＣ１からの最初の「読み出し要求」を受信する前に，ストレージルータ７に対してＯＳイメージの「読み出し要求」を送信する。
【００５５】
図６に示すように，ディスクレスＰＣ１は，電源を投入されるなどして起動されると，キャッシュ装置２を介してＤＨＣＰサーバ３にＤＨＣＰ要求を送信してＩＰアドレスの取得を行う。ＤＨＣＰサーバ３は，ＤＨＣＰ要求を受信すると，予め設定されたアドレス範囲から使用されていないＩＰアドレスを選択し，選択したＩＰアドレスと，予め設定されたブートストラップ名，ＴＦＴＰサーバ４のＩＰアドレスなどを含んだＤＨＣＰ応答を，要求元のディスクレスＰＣ１へ返送する。
【００５６】
ディスクレスＰＣ１は，ＤＨＣＰ応答を受信すると，ＤＨＣＰ応答に設定されているＴＦＴＰサーバ４にＤＨＣＰ応答に設定されているブートストラップ名のファイルの転送を要求するＴＦＴＰ要求をキャッシュ装置２を介して送信する。ＴＦＴＰサーバ４は，ＴＦＴＰ要求を受信すると，設定されているファイル名（この場合，ブートストラップ名）のファイルの転送を行う。
【００５７】
ディスクレスＰＣ１は，ＴＦＴＰ要求に対する応答として転送されてきたデータを，内蔵のＲＡＭ（Random Access Memory）内に蓄積し，転送が終了すると，ＲＡＭ内に蓄積したブートストラップを起動する。ブートストラップが起動されると，ディスクレスＰＣ１は，付属のディスプレイによりユーザに認証情報の入力を要求する。付属のキーボードやマウスなどによりユーザ名およびパスワードが入力されると，その入力されたユーザ名およびパスワードを設定した認証要求を，認証サーバ５へキャッシュ装置２を介して送信する。以上の処理は，図２で説明した第１の実施の形態と同様である。
【００５８】
認証サーバ５は，認証要求を受信して，受信した認証要求に設定されているユーザ名およびパスワードが登録されている情報と一致したとき，そのユーザ用に設定されているストレージルータ７のＩＰアドレスとストレージ装置６のＬＵＮ情報を含んだ認証応答を返信するとともに，キャッシュ装置２にそのユーザ用に設定されているストレージルータ７のＩＰアドレスとストレージ装置６のＬＵＮ情報を含んだＯＳイメージ分のデータの「読み出し指示」を送信する。
【００５９】
キャッシュ装置２は，ＯＳイメージ分のデータの「読み出し指示」を受信すると，ＯＳイメージ分のデータの「読み出し指示」に設定されたストレージルータ７に対し，ＯＳイメージ分のデータの「読み出し指示」に設定されているＬＵＮ情報をもとに，ＯＳイメージ分のデータの「読み出し要求」を送信する。
【００６０】
ストレージルータ７は，ネットワーク８側からＯＳイメージ分のデータの「読み出し要求」を受信すると，ファイバチャネルを介してストレージ装置６にＯＳイメージ分のデータの「読み出し要求」を送信する。その後，ストレージ装置６からファイバチャネルを介してＯＳイメージ分のデータの「読み出し応答」を受信すると，ネットワーク８を介して要求元にＯＳイメージ分のデータの「読み出し応答」を転送する。
【００６１】
キャッシュ装置２は，ストレージルータ７からＯＳイメージ分のデータの「読み出し応答」を受信すると，受信したＯＳイメージを内蔵の記憶媒体に記憶する。その後，ディスクレスＰＣ１からの論理ブロック０番地からの「読み出し要求」に対して，ストレージ装置６に要求を行わず，自装置内に記憶しているＯＳイメージから該当するデータをディスクレスＰＣ１に転送する。
【００６２】
このように構成することによって，認証正常時に認証サーバ５によりキャッシュ装置２にＯＳイメージをストレージ装置６から一括して読み出して記憶させ，キャッシュ装置２は，ディスクレスＰＣ１からのＯＳイメージの読み込み要求に対して，記憶しているＯＳイメージからデータを転送しているので，論理ブロック毎にストレージ装置６から読み出す必要がなくなり，ＯＳイメージの転送時間を短縮することができるようになる。
【００６３】
第２の実施の形態におけるキャッシュ装置２の構成例を，図７に示す。第２の実施の形態のキャッシュ装置２が，図３で説明した第１の実施の形態と異なるのは，認証サーバ５からの「読み出し指示」を解析する読み出し指示解析部２９を持つことである。他の部分は，前述した第１の実施の形態とほぼ同様である。
【００６４】
読み出し指示解析部２９は，認証サーバ５から受信したＯＳイメージ分のデータの「読み出し指示」を解析すると，その解析結果をキャッシュ処理実行制御部２６に通知し，キャッシュ処理実行制御部２６は，「読み出し指示」に設定されたストレージルータ７に対し，その「読み出し指示」に設定されているＬＵＮ情報をもとに，ＯＳイメージ分のデータの「読み出し要求」を生成することをｉＳＣＳＩデータ生成部２５に指示し，ｉＳＣＳＩデータ生成部２３が生成した「読み出し要求」を，ＴＣＰ／ＩＰパケット生成部２５，送受信部２１を介してストレージルータ７に送信する。
【００６５】
図８および図９に，第２の実施の形態におけるキャッシュ装置２の処理フローを示す。キャッシュ装置２は，ディスクレスＰＣ１からの「読み出し要求」の受信とは関係なく，認証サーバ５から「読み出し指示」を受信する毎に，図８に示す処理を実行する。
【００６６】
キャッシュ装置２の送受信部２０が，認証サーバ５からＯＳイメージデータの「読み出し指示」を受信すると（ステップＳ３０），ＴＣＰ／ＩＰパケット解析部２２および読み出し指示解析部２９はその指示内容を解析し，「読み出し指示」の内容をキャッシュ処理実行制御部２６に通知する。
【００６７】
キャッシュ処理実行制御部２６は，キャッシュテーブル２７０に，ディスクレスＰＣ１の起動に必要なオペレーティングシステムの全部または一部のエントリがあるか否かを調べる（ステップＳ３１）。該当するすべてのエントリがある場合には，処理を終了する。「読み出し指示」があった範囲の中に，キャッシュテーブル２７０にエントリがない論理番地が一つでもあった場合には，「エントリなし」と判断し，ステップＳ３２へ進む。
【００６８】
ステップＳ３２では，ストレージルータ７へのＯＳイメージデータの「読み出し要求」を生成して，ストレージルータ７に送信し，ディスクレスＰＣ１の起動に必要なオペレーティングシステムの全部または一部を先読みして取得する。キャッシュ処理実行制御部２６は，その先読みしたデータをキャッシュに記録（キャッシュテーブル２７０にエントリを追加）し，処理を終了する（ステップＳ３３）。なお，このとき既にキャッシュテーブル２７０にエントリが存在している場合には，先読みデータをそのエントリに上書きして追加する。
【００６９】
キャッシュ装置２は，ディスクレスＰＣ１から「読み出し要求」を受信した場合には，図９に示すキャッシュ処理を実行する。
【００７０】
キャッシュ装置２の送受信部２０が，ディスクレスＰＣ１から「読み出し要求」のＴＣＰ／ＩＰパケットを受信すると（ステップＳ４０），ＴＣＰ／ＩＰパケット解析部２２およびｉＳＣＳＩデータ解析部２４は，受信したデータの解析を行い，「読み出し要求」のデータの中から「読み出し要求」の論理番地の範囲（開始番地から終了番地）を読み取る（ステップＳ４１）。その解析結果をキャッシュ処理実行制御部２６に通知する。
【００７１】
キャッシュ処理実行制御部２６は，キャッシュテーブル２７０に「読み出し要求」のあった論理番地の範囲のエントリがあるか否かを調べる（ステップＳ４２）。「読み出し要求」のあった論理番地の範囲の中に，エントリがない論理番地が一つでもあった場合には，ここでは「エントリなし」と判断し，ステップＳ４４へ進む。「エントリあり」の場合，キャッシュ装置２は，ディスクレスＰＣ１からの「読み出し要求」をストレージルータ７に中継することなく，キャッシュからデータを取り出し，ｉＳＣＳＩデータ生成部２５，ＴＣＰ／ＩＰパケット生成部２３，送受信部２０を介して，ディスクレスＰＣ１に「読み出し応答」を返送する（ステップＳ４３）。
【００７２】
一方，「エントリなし」の場合，ディスクレスＰＣ１からの「読み出し要求」を，送受信部２１およびネットワーク８を介して，そのままストレージルータ７に中継する（ステップＳ４４）。ストレージルータ７から「読み出し応答」を受信すると（ステップＳ４５），キャッシュ処理実行制御部２６は，その「読み出し応答」に含まれる読み出しデータをキャッシュに記録（キャッシュテーブル２７０にエントリを追加）するとともに，送受信部２０を介して「読み出し応答」をディスクレスＰＣ１に中継し，処理を終了する（ステップＳ４６）。
【００７３】
以上の実施の形態において，ストレージ装置６から最終的にディスクレスＰＣ１へ送るデータは，オペレーティングシステムだけでもよく，またそのオペレーティングシステムの下で動作するアプリケーションプログラムを含んでいてもよい。このとき，オペレーティングシステムとアプリケーションプログラムのファイルが，１つのファイルとして構成されてもよく，また複数のファイルで構成されてもよく，どちらの形態でも本発明を実施することが可能である。
【００７４】
また，以上の実施の形態において，ストレージ装置６として，複数の読み出し要求を並列に処理するための機能（コマンドキューイング）を有するストレージ装置を利用することもでき，そのような機能を持つストレージ装置を利用すると，あらかじめ設定されたＯＳイメージ分またはそれに付随するアプリケーションプログラムの読み出し要求の処理時間を，全体としてさらに短縮することができる。
【図面の簡単な説明】
【００７５】
【図１】ネットワークブートシステムの構成例を示すブロック図である。
【図２】ネットワークブートシステムの動作説明のためのシーケンス図である。
【図３】キャッシュ装置の構成例を示すブロック図である。
【図４】キャッシュテーブルの構成例を示す図である。
【図５】キャッシュ装置の内部処理フローを示す図である。
【図６】他の実施の形態のネットワークブートシステムの動作説明のためのシーケンス図である。
【図７】他の実施の形態のキャッシュ装置の構成例を示すブロック図である。
【図８】他の実施の形態のキャッシュ装置の内部処理フローを示す図である。
【図９】他の実施の形態のキャッシュ装置の内部処理フローを示す図である。
【符号の説明】
【００７６】
１  ディスクレスＰＣ
２  キャッシュ装置
３  ＤＨＣＰサーバ
４  ＴＦＴＰサーバ
５  認証サーバ
６  ストレージ装置
７  ストレージルータ
８  ネットワーク
２０，２１  送受信部
２２  ＴＣＰ／ＩＰパケット解析部
２３  ＴＣＰ／ＩＰパケット生成部
２４  ｉＳＣＳＩデータ解析部
２５  ｉＳＣＳＩデータ生成部
２６  キャッシュ処理実行制御部
２７  キャッシュデータ管理部
２８  先読み対象管理部
２９  読み出し指示解析部
２７０  キャッシュテーブル
【図１】
2005149334.tif 000003
【図２】
2005149334.tif 000004
【図３】
2005149334.tif 000005
【図４】
2005149334.tif 000006
【図５】
2005149334.tif 000007
【図６】
2005149334.tif 000008
【図７】
2005149334.tif 000009
【図８】
2005149334.tif 000010
【図９】
2005149334.tif 000011