(57)【要約】【課題】ストレージ装置やストレージ装置側のネットワークに影響されることなく、ディスクレス計算機がライト要求を終了できるようにする。【解決手段】ライトキャッシュ機能付ルータ１０４は、ディスクレス計算機１０１とストレージ装置１０２との間の情報送受を中継する。ディスクレス計算機１０１から送信された情報がストレージ装置１０２に対するライト要求である場合に、当該ライト要求の対象データをキャッシュすると共に、当該ライト要求に対する応答を、当該ライト要求の送信元のディスクレス計算機に送信する。また、キャッシュされたデータのライト要求を、当該データをライトするストレージ装置に送信し、当該ストレージ装置から当該ライト要求に対する応答を受信する。【選択図】図１
2005284497.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのディスクレス計算機と少なくとも１つのストレージ装置との間の情報送受を中継する中継装置であって、
ディスクレス計算機から送信された情報がストレージ装置に対するライト要求である場合に、当該ライト要求の対象データをキャッシュすると共に、当該ライト要求に対する応答を、当該ライト要求の送信元のディスクレス計算機に送信するキャッシュ手段と、
前記キャッシュ手段にキャッシュされたデータのライト要求を、当該データをライトするストレージ装置に送信し、当該ストレージ装置から当該ライト要求に対する応答を受信するフラッシュ手段と、を有すること
を特徴とする中継装置。
【請求項２】
請求項１に記載の中継装置であって、
各ディスクレス計算機と各ストレージ装置との間のセッションを管理する管理手段をさらに有し、
前記フラッシュ手段は、前記キャッシュ手段によりキャッシュされたデータのライト要求を、当該データの送信元とのセッションを持つストレージ装置に送信すること
を特徴とする中継装置。
【請求項３】
請求項２に記載の中継装置であって、
前記管理手段は、ストレージ装置毎に、当該ストレージ装置にライトするデータのキャッシュ量を管理し、
前記フラッシュ手段は、キャッシュ量が所定値を超えたストレージ装置に対して、前記キャッシュ手段によりキャッシュされた、当該ストレージ装置にライトするデータのライト要求を送信すること
を特徴とする中継装置。
【請求項４】
請求項３記載の中継装置であって、
前記キャッシュ手段は、ディスクレス計算機から受信したライト要求の宛先ストレージ装置に対するデータのキャッシュ量が所定値を超えている場合、当該ライト要求に対する応答を一定時間保留すること
を特徴とする中継装置。
【請求項５】
請求項２乃至４のいずれか一項に記載の中継装置であって、
前記管理手段は、ストレージ装置毎に、当該ストレージ装置に対するライト要求の最新の送信時刻を管理し、
前記フラッシュ手段は、最新の送信時刻から所定時間を経過しているストレージ装置に対して、前記キャッシュ手段によりキャッシュされた、当該ストレージ装置にライトするデータのライト要求を送信すること
を特徴とする中継装置。
【請求項６】
請求項２乃至５のいずれか一項に記載の中継装置であって、
前記管理手段は、セッション毎に、当該セッションの接続状態を管理し、
前記フラッシュ手段は、接続状態が「切断」であるセッションを持つストレージ装置に対するライト要求の送信を抑止すること
を特徴とする中継装置。
【請求項７】
請求項２乃至６のいずれか一項に記載の中継装置であって、
前記管理手段は、セッション毎に、当該セッションを持つストレージ装置と本中継装置との間のネットワーク、および、当該ストレージ装置の負荷状態を管理し、
前記フラッシュ手段は、負荷状態が所定値を超えたストレージ装置に対するライト要求の送信を抑止すること
を特徴とする中継装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の中継装置であって、
前記キャッシュ手段は、ディスクレス計算機から送信されたライト要求を、当該ライト要求の宛先ストレージ装置に対応付けて記憶媒体にログレコードとして記録し、
前記フラッシュ手段は、ストレージ装置に対するライト要求を、当該ストレージ装置に対応付けられて前記記憶媒体に記憶されているログレコードに基づいて作成すること
を特徴とする中継装置。
【請求項９】
請求項１乃至７のいずれか一項に記載の中継装置であって、
前記キャッシュ手段は、ディスクレス計算機上で稼動しているファイルシステムのデータ更新内容を、データが更新されるべきストレージ装置に対応付けて記憶媒体に記録し、
前記フラッシュ手段は、ストレージ装置に対するライト要求を、当該ストレージ装置に対応付けられて前記記憶媒体に記憶されているデータ更新内容に基づいて作成すること
を特徴とする中継装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載の中継装置を経由して、ディスクレス計算機のユーザがストレージ装置を利用することの可否を判断する管理サーバであって、
ユーザ毎に、当該ユーザの認証情報、当該ユーザが利用可能なストレージ装置の識別情報、および、ディスクレス計算機のユーザがストレージ装置を利用した際に用いた中継装置の識別情報を含むユーザ管理情報を記憶する管理情報記憶手段と、
前記中継装置を介してディスクレス計算機より受信したユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報を前記管理情報記憶手段から検索することで、当該ディスクレス計算機のユーザのユーザ認証を行うユーザ認証手段と、を有し、
前記ユーザ認証手段は、前記ユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報が前記管理情報記憶手段に記憶されている場合、当該ユーザ管理情報に中継装置識別情報が含まれているならば、当該中継装置識別情報により特定される中継装置に、当該中継装置にキャッシュされている、当該ユーザ管理情報のストレージ装置識別情報により特定されるストレージ装置にライトするデータについて、当該データのライト要求を当該ストレージ装置に送信させると共に、当該ユーザ管理情報の中継装置識別情報を、前記ユーザ認証要求を中継した中継装置の識別情報に更新すること
を特徴とするユーザ管理装置。
【請求項１１】
少なくとも１つのディスクレス計算機と少なくとも１つのストレージ装置との間の情報送受を中継するためのコンピュータ読取り可能なプログラムであって、
前記プログラムは、コンピュータを、
ディスクレス計算機から送信された情報がストレージ装置に対するライト要求である場合に、当該ライト要求の対象データをキャッシュすると共に、当該ライト要求に対する応答を当該ライト要求の送信元のディスクレス計算機に送信するキャッシュ手段、および、
前記キャッシュ手段にキャッシュされたデータのライト要求を、当該データをライトするストレージ装置に送信し、当該ストレージ装置から当該ライト要求に対する応答を受信するフラッシュ手段として、機能させること
を特徴とするコンピュータ読取り可能なプログラム。
【請求項１２】
ディスクレス計算機から送信された情報がストレージ装置に対するライト要求である場合に、当該ライト要求の対象データをキャッシュすると共に、当該ライト要求に対する応答を当該ライト要求の送信元のディスクレス計算機に送信するキャッシュ手段と、前記キャッシュ手段にキャッシュされたデータのライト要求を、当該データをライトするストレージ装置に送信し、当該ストレージ装置から当該ライト要求に対する応答を受信するフラッシュ手段と、を有する中継装置を経由して、前記ディスクレス計算機のユーザが前記ストレージ装置を利用することの可否を判断するためのコンピュータ読取り可能なプログラムであって、
前記プログラムは、コンピュータを、
ユーザ毎に、当該ユーザの認証情報、当該ユーザが利用可能なストレージ装置の識別情報、および、ディスクレス計算機のユーザがストレージ装置を利用した際に用いた中継装置の識別情報を含むユーザ管理情報を記憶する管理情報記憶手段、および、
前記中継装置を介してディスクレス計算機より受信したユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報を前記管理情報記憶手段から検索することで、当該ディスクレス計算機のユーザのユーザ認証を行うユーザ認証手段として機能させ、
前記ユーザ認証手段は、前記ユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報が前記管理情報記憶手段に記憶されている場合、当該ユーザ管理情報に中継装置識別情報が含まれているならば、当該中継装置識別情報により特定される中継装置に、当該中継装置にキャッシュされている、当該ユーザ管理情報のストレージ装置識別情報により特定されるストレージ装置にライトするデータについて、当該データのライト要求を当該ストレージ装置に送信させると共に、当該ユーザ管理情報の中継装置識別情報を、前記ユーザ認証要求を中継した中継装置の識別情報に更新すること
を特徴とするコンピュータ読取り可能なプログラム。
【請求項１３】
少なくとも１つのディスクレス計算機と少なくとも１つのストレージ装置との間の情報送受を中継する中継方法であって、
ディスクレス計算機から送信された情報がストレージ装置に対するライト要求である場合に、当該ライト要求の対象データをキャッシュすると共に、当該ライト要求に対する応答を、当該ライト要求の送信元のディスクレス計算機に送信するステップと、
キャッシュされたデータのライト要求を、当該データをライトするストレージ装置に送信し、当該ストレージ装置から当該ライト要求に対する応答を受信するステップと、を有すること
を特徴とする中継方法。
【請求項１４】
ディスクレス計算機から送信された情報がストレージ装置に対するライト要求である場合に、当該ライト要求の対象データをキャッシュすると共に、当該ライト要求に対する応答を当該ライト要求の送信元のディスクレス計算機に送信するキャッシュ手段と、前記キャッシュ手段にキャッシュされたデータのライト要求を、当該データをライトするストレージ装置に送信し、当該ストレージ装置から当該ライト要求に対する応答を受信するフラッシュ手段と、を有する中継装置を経由して、前記ディスクレス計算機のユーザが前記ストレージ装置を利用することの可否を判断するための認証方法であって、
ユーザ毎に、当該ユーザの認証情報、当該ユーザが利用可能なストレージ装置の識別情報、および、ディスクレス計算機のユーザがストレージ装置を利用した際に用いた中継装置の識別情報を含むユーザ管理情報を記憶する管理情報記憶手段から、前記中継装置を介してディスクレス計算機より受信したユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報を検索することで、当該ディスクレス計算機のユーザのユーザ認証を行うステップと、
前記ユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報が前記管理情報記憶手段に記憶されている場合、当該ユーザ管理情報に中継装置識別情報が含まれているならば、当該中継装置識別情報により特定される中継装置に、当該中継装置にキャッシュされている、当該ユーザ管理情報のストレージ装置識別情報により特定されるストレージ装置にライトするデータについて、当該データのライト要求を当該ストレージ装置に送信させると共に、当該ユーザ管理情報の中継装置識別情報を、前記ユーザ認証要求を中継した中継装置の識別情報に更新するステップと、を有すること
を特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置に関し、特に、ディスクレス計算機からストレージ装置へ送信されたライト要求を中継する技術に関する。
【背景技術】
【０００２】
ＩＰ-ＳＡＮ（Internet Protocol-Storage Area Network）とは、ｉＳＣＳＩ（Small Computer Systems Interface protocol over the Internet）等のプロトコルを用いて、ブロックレベルのデータ転送をＩＰネットワークで実現する技術である。また、ディスクレス計算機とは、ディスク装置が接続されていない計算機、あるいは、ローカル接続されたディスク装置を使用しない計算機である。ＩＰ-ＳＡＮを用いたディスクレス計算機システムとして、シスコシステムズ社の"Cisco Network Boot"（非特許文献１）がある。
【０００３】
"Cisco Network Boot"は、ディスクレス計算機がＯＳ（オペレーティングシステム）をブートできるようにする製品である。この製品に必要なディスクレス計算機システムの構成要素は、ディスクレス計算機、ＤＨＣＰ（Dynamic Host Configuration Protocol）/ＴＦＴＰ（Trivial File Transfer Protocol）サーバ、ストレージルータ、ストレージルータにファイバチャネルで接続されたストレージ装置、および、ディスクレス計算機とＤＨＣＰ/ＴＦＴＰサーバとストレージルータとを相互接続するＩＰネットワークである。
【０００４】
"Cisco Network Boot"では、ディスクレス計算機のブートイメージをストレージルータに接続されたストレージ装置が提供するボリュームに格納する作業、このボリュームにＬＵＮ（Logical Unit Number）を割り当てると共に、このボリュームを提供するストレージ装置にｉＳＣＳＩターゲット名（ｉＳＣＳＩネーム）を割り当て、ストレージルータに登録する作業、および、ディスクレス計算機のブート情報（ディスクレス計算機のブートイメージを格納したボリュームのＬＵＮ、ｉＳＣＳＩターゲット名、ストレージルータのＩＰアドレスを含む）をＤＨＣＰ/ＴＦＴＰサーバに登録する作業を事前に行う。
【０００５】
これらの作業の終了後、ディスクレス計算機の電源をＯＮにすると、ディスクレス計算機はＢＩＯＳを起動し、このＢＩＯＳに従いＰＸＥ（Preboot eXecution Environment）プログラムを起動する。このＰＸＥプログラムにより、ディスクレス計算機は、先ず、ＤＨＣＰサーバからディスクレス計算機が使用すべきＩＰアドレス、ＴＦＴＰサーバのＩＰアドレス、ブートローダプログラム名、ストレージルータのＩＰアドレス、ディスクレス計算機のブートイメージを格納したボリュームのＬＵＮ、そして、このボリュームを提供するストレージ装置のｉＳＣＳＩターゲット名を取得する。次に、ＴＦＴＰサーバからブートローダをダウンロードし起動する。このブートローダにより、ディスクレス計算機は、ｉＳＣＳＩターゲットのブートイメージを格納したボリュームからＯＳをロードし起動する。また、ｉＳＣＳＩドライバを起動してアプリケーションを実行できる状態にする。
【０００６】
ディスクレス計算機は、ＯＳおよびｉＳＣＳＩドライバにより、アプリケーションの起動、データの読み込み、データの書き込み等に伴うディスクアクセス要求を、ストレージルータに接続されたストレージ装置に送信する。
【０００７】
【非特許文献１】"Cisco Network Bootインストレーションコンフィギュレーションガイド"、[online] 、Cisco Systems、[平成１5年12月1日検索]、インタネット<URL：http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/rt/5000/cnbicg/>
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ディスクレス計算機システムにおいて、ディスクレス計算機がルータを介してＷＡＮに接続され、そして、ストレージ装置がストレージルータを介してＷＡＮに接続されている場合を考える。この場合、ディスクレス計算機が発行したデータブロックのライト要求は、ルータおよびＷＡＮを介してストレージルータに送られる。そして、このライト要求がストレージルータからストレージ装置に送られ、ストレージ装置により実行される。
【０００９】
さて、上記構成のディスクレス計算機システムにおいて、ディスクレス計算機およびルータ間の接続には、一般に高速で且つネットワーク障害率の低いＬＡＮを利用できる。しかし、ルータおよびストレージルータ間を接続するＷＡＮは、一般に、ＬＡＮに比べてトラヒックが高く低速である。また、ネットワーク障害も起こり易い。このため、上記構成のディスクレス計算機システムでは、ディスクレス計算機から発行されたライト要求の処理時間がＷＡＮの性能に左右され、ディスクレス計算機におけるデータ処理に影響を与える。また、ＷＡＮに障害が発生した場合は、ライト要求を終了できずに、データ処理が異常終了してしまう可能性もある。
【００１０】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、ストレージ装置やストレージ装置側のネットワークに影響されることなく、ディスクレス計算機がライト要求を終了できるようにすることにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の一態様は、ディスクレス計算機およびストレージ装置間の情報送受を中継する中継装置を設け、ディスクレス計算機から送信されたライト要求をキャッシュすると共に、ストレージ装置の当該要求に従ったライト処理を待たずに、当該要求の送信元にライト終了を送信する。また、キャッシュしたライト要求をストレージ装置へ送信し、当該要求の宛先からライト終了を受信することで、キャッシュしたライト要求の処理を終了する。
【００１２】
例えば、本発明の中継装置は、少なくとも１つのディスクレス計算機と少なくとも１つのストレージ装置との間の情報送受を中継する中継装置であって、
ディスクレス計算機から送信された情報がストレージ装置に対するライト要求である場合に、当該ライト要求の対象データをキャッシュすると共に、当該ライト要求に対する応答を、当該ライト要求の送信元のディスクレス計算機に送信するキャッシュ手段と、
前記キャッシュ手段にキャッシュされたデータのライト要求を、当該データをライトするストレージ装置に送信し、当該ストレージ装置から当該ライト要求に対する応答を受信するフラッシュ手段と、を有する。
【００１３】
ここで、中継装置は、ストレージ装置のボリューム毎に、本中継装置とストレージ装置との間のネットワークおよび当該ストレージ装置の負荷状態、ストレージ装置と接続可能か否か（接続可否状態）、および、キャッシュされているデータ量を管理してもよい。そして、接続不可能なストレージ装置のボリュームに対しては接続可能になるまでライト要求の送信を停止してもよい。また、負荷が規定値を超えるストレージ装置のボリュームに対してはライト要求の送信を抑止してもよい。さらに、キャッシュされているデータ量が既定値を超えた場合には、ディスクレス計算機に対するライト終了応答の返送を遅らせて、ライト要求の発行を抑止してもよい。
【００１４】
また、中継装置は、一連のライト要求およびファイルシステムのデータ更新記録を記憶媒体にログする手段と、ストレージ装置のボリューム毎にログを管理する手段と、ログからストレージ装置のボリュームに対するライト要求を作成する手段とを有するものでもよい。そして、中継装置が異常終了した場合においても、再起動後にログ情報を読み出して、ストレージ装置のボリュームに対するライト要求送信を再開できるようにしてもよい。
【００１５】
また、本発明の他の態様は、上記の中継装置を経由して、ディスクレス計算機のユーザがストレージ装置を利用することの可否を判断する管理サーバを設け、前記可否を判断する際に、ディスクレス計算機のユーザが上記の中継装置経由でストレージ装置を利用したことがある場合、当該中継装置にキャッシュされているデータのうち当該ストレージ装置にライトするデータのライト要求を、生成・送信させる。
【００１６】
例えば、本発明の管理サーバは、上記の中継装置を経由して、ディスクレス計算機のユーザがストレージ装置を利用することの可否を判断する管理サーバであって、
ユーザ毎に、当該ユーザの認証情報、当該ユーザが利用可能なストレージ装置の識別情報、および、ディスクレス計算機のユーザがストレージ装置を利用した際に用いた中継装置の識別情報を含むユーザ管理情報を記憶する管理情報記憶手段と、
前記中継装置を介してディスクレス計算機より受信したユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報を前記管理情報記憶手段から検索することで、当該ディスクレス計算機のユーザのユーザ認証を行うユーザ認証手段と、を有し、
前記ユーザ認証手段は、前記ユーザ認証要求に含まれているユーザ認証情報を含むユーザ管理情報が前記管理情報記憶手段に記憶されている場合、当該ユーザ管理情報に中継装置識別情報が含まれているならば、当該中継装置識別情報により特定される中継装置に、当該中継装置にキャッシュされている、当該ユーザ管理情報のストレージ装置識別情報により特定されるストレージ装置にライトするデータについて、当該データのライト要求を当該ストレージ装置に送信させると共に、当該ユーザ管理情報の中継装置識別情報を、前記ユーザ認証要求を中継した中継装置の識別情報に更新する。
【発明の効果】
【００１７】
本発明の中継装置によれば、ディスクレス計算機からのライト要求をキャッシュし、当該パケットの送信元にライト終了のパケットを送信するので、ストレージ装置やストレージ装置側のネットワークに影響されることなく、ディスクレス計算機がライト要求を終了できる。また、本発明の管理サーバによれば、ユーザ認証の際に、ユーザが利用可能なストレージ装置にライトするデータが中継装置にキャッシュされているならば、中継装置に当該データのライト要求を送信させて、当該ストレージ装置にキャッシュされているデータをライトするので、例えばコネクション断によりストレージ装置にライトされないまま中継装置にキャッシュされているデータを、ストレージ装置にライトすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について、ディスクレス計算機およびストレージルータ間のネットワーク通信プロトコルとしてＩＰが用いられ、ネットワーク通信プロトコルの上位プロトコルとしてｉＳＣＳＩが用いられている場合を例にとり説明する。
【００１９】
<<第１実施形態>>
本発明の第１実施形態が適用されたディスクレス計算機システムについて、図面を参照して説明する。
【００２０】
（１）システム構成
図１は、本発明の第１実施形態が適用されたディスクレス計算機システムの概略図である。図示するように、本実施形態のディスクレス計算機システムは、少なくとも１つのディスクレス計算機１０１と、少なくとも１つのストレージ装置１０２と、ＤＨＣＰ/ＴＦＴＰサーバ１０３と、ライトキャッシュ機能付ルータ１０４と、ユーザ管理サーバ１０６と、ストレージルータ１０７と、を有する。ここで、ディスクレス計算機１０１は、ＬＡＮなどのＩＰネットワーク１０５ａに接続されている。また、ストレージ装置１０２は、ストレージルータ１０７を介してＷＡＮなどのＩＰネットワーク１０５ｂに接続されている。そして、ＩＰネットワーク１０５ａは、ライトキャッシュ機能付ルータ１０４を介してＩＰネットワーク１０５ｂに接続されている。
【００２１】
なお、ＩＰネットワークは、ＩＰが使用される通信網であれば、その物理的な構成（銅線、光ファイバ等）は限定されない。また、図１では、ＤＨＣＰ/ＴＦＴＰサーバ１０３をＩＰネットワーク１０５ａに接続し、ユーザ管理サーバ１０６をＩＰネットワーク１０５ｂに接続しているが、これらは、ディスクレス計算機１０１と通信可能な位置に配置されてあればよい。
【００２２】
ディスクレス計算機１０１は、上記の背景技術で説明したディスクレス計算機と同じ機能を有する。つまり、ディスクレス計算機１０１は、ＣＰＵ１０１１と、ＣＰＵのワークエリアとして機能するＲＡＭ１０１２と、ＢＩＯＳおよびＰＸＥプログラムを記憶したＲＯＭ１０１３と、ＩＰネットワーク１０５ａに接続するためのインターフェース（例えばＮＩＣ：Network Interface Card）１０１４と、入出力装置を接続するためのＩ/Ｏ１０１５と、を有する。ＣＰＵ１０１１は、ＰＸＥプログラムを起動して、ＤＨＣＰ/ＴＦＴＰサーバ１０３からブートローダプログラムを入手する。そして、このブートローダプログラムを起動することにより、ストレージ装置１０２からＯＳをロードし起動する。ここで、ディスクレス計算機１０１で起動されるＯＳには、ｉＳＣＳＩプロトコル（特にｉＳＣＳＩイニシエータプロトコル）を処理することができるドライバ（以下、ｉＳＣＳＩドライバと呼ぶ）が組み込まれている。ｉＳＣＳＩドライバは、プログラム、専用のハードウエア、あるいは、これらの組み合わせで実現される。
【００２３】
ストレージ装置１０２は、ディスクレス計算機１０１にボリュームを提供する。ここで、ボリュームは、少なくとも１つのディスク装置１０２２により構成される論理的な記憶領域である。ストレージ装置１０２の具体例としては、ディスク装置１０１を複数有するＲＡＩＤ装置等がある。図示するように、ストレージ装置１０２は、ストレージ制御装置１０２１と、少なくとも１つのディスク装置１０２２と、を有する。ストレージ制御装置１０２１は、例えばファイバチャネルでストレージルータ１０７と接続される。そして、ストレージルータ１０７から送られてきたコマンド（ファイバチャネルプロトコル等のコマンド）に従って、ボリュームへのデータ転送を制御する。
【００２４】
ストレージルータ１０７は、ｉＳＣＳＩプロトコルおよびストレージ装置１０２が採用するプロトコル（例えばファイバチャネルプロトコル）間の変換処理を行う。これにより、ディスクレス計算機１０１が発行したｉＳＣＳＩプロトコルのコマンドは、ストレージ装置１０２が採用するプロトコルのコマンドに変換されてストレージ装置１０２に送信される。また、ストレージ装置１０２から送信されたコマンドの応答データは、ｉＳＣＳＩプロトコルの応答データに変換されて、ディスクレス計算機１０１に送信される。
【００２５】
なお、ストレージ装置１０２が、ｉＳＣＳＩプロトコルのインターフェースを有している場合、つまり、ディスクレス計算機１０１が発行したｉＳＣＳＩプロトコルのコマンドを直接実行できるｉＳＣＳＩ対応ストレージ装置である場合、ストレージルータ１０７は不要である。この場合、ストレージ装置１０２をＩＰネットワーク１０５ｂに接続する。
【００２６】
ライトキャッシュ機能付ルータ１０４は、ライト要求のキャッシュ機能を有するルータ装置である。ライトキャッシュ機能付ルータ１０４は、ディスクレス計算機１０１から受信したパケットに格納されているｉＳＣＳＩコマンドを解析し、このｉＳＣＳＩコマンドがライト要求ならばこれをキャッシュすると共に、該パケットの送信元にライト終了の応答データを格納したパケットを送信する。また、キャッシュしたｉＳＣＳＩコマンドを格納したパケットをＩＰネットワーク１０５ｂへ送信し、このパケットの宛先（ｉＳＣＳＩターゲット）からライト終了の応答データを格納したパケットを受信することで、キャッシュしたｉＳＣＳＩコマンドの処理を終了する。なお、ディスクレス計算機１０１から受信したパケットに格納されているデータがライト要求のｉＳＣＳＩコマンド以外である場合は、通常のルータ装置と同様に、このパケットの宛先に従って当該パケットをルーティングする。
【００２７】
ＤＨＣＰ/ＴＦＴＰサーバ１０３は、上記の背景技術で説明したＤＨＣＰ/ＴＦＴＰサーバと同じ機能を有する。つまり、問合せをしたディスクレス計算機１０１に対し、当該ディスクレス計算機が使用すべきＩＰアドレスの他に、ブートローダプログラム等を配布する機能を有する。なお、図１ではＤＨＣＰ/ＴＦＴＰサーバ１０３を１つの装置で表している。しかし、ＤＨＣＰサーバおよびＴＦＴＰサーバは、実際には異なるＩＰアドレスを持つ。そこで、以下では、ＤＨＣＰ/ＴＦＴＰサーバ１０３を、必要に応じて、ＤＨＣＰサーバ１０３ａおよびＴＦＴＰサーバ１０３ｂに分けて説明する。
【００２８】
ユーザ管理サーバ１０６は、ユーザと当該ユーザが使用可能なストレージ装置１０２のボリュームとの対応関係を管理して、ユーザにディスクレス計算機システムの使用許可を与える機能をもつ計算機である。本実施形態のディスクレス計算機システムでは、ユーザにユーザＩＤおよびパスワードが割当てられる。また、ユーザにボリュームが割当てられ、このボリュームにブートイメージが格納される。
【００２９】
（２）システム動作概要
図１に示すディスクレス計算機システムの動作概要を説明する。図２は本発明の第１実施形態が適用されたディスクレス計算機システムの動作概要を説明するための図である。
【００３０】
まず、ユーザが任意のディスクレス計算機１０１の電源をＯＮにすると（Ｓ１０１）、このディスクレス計算機１０１において、ＣＰＵ１０１１はＲＯＭ１０１３に格納されたＢＩＯＳおよびＰＸＥプログラムをロードしてＢＩＯＳを起動し、このＢＩＯＳに従いＰＸＥプログラムを起動する（Ｓ１０２）。このＰＸＥプログラムにより、ＣＰＵ１０１１は、インターフェース１０１４を介して、このＰＸＥプログラムでＩＰアドレスが指定されているＤＨＣＰサーバ１０３ａにアクセスし、このディスクレス計算機１０１が使用すべきＩＰアドレス、ＴＦＴＰサーバ１０３ｂのＩＰアドレス、ブートローダプログラム名、ライトキャッシュ機能付ルータ１０４のＩＰアドレス、および、ユーザ管理サーバ１０６のＩＰアドレスを取得する（Ｓ１０３）。次に、ＣＰＵ１０１１は、インターフェース１０１４を介して、ＤＨＣＰサーバ１０３ａから取得したＩＰアドレスを持つＴＦＴＰサーバ１０３ｂにアクセスし、ＤＨＣＰサーバ１０３ａから取得したブートローダプログラム名を持つブートローダプログラムをダウンロードする（Ｓ１０４）。そして、このブートローダプログラムを起動する（Ｓ１０５）。
【００３１】
このブートローダプログラムにより、ＣＰＵ１０１１は、ディスクレス計算機１０１に接続された表示装置にメッセージ等を出力して、ユーザＩＤおよびパスワードの入力を要求する。そして、ＣＰＵ１０１１は、ディスクレス計算機１０１に接続された入力装置を介してユーザからユーザＩＤおよびパスワードの入力を受け付けると（Ｓ１０６）、受け付けたユーザＩＤおよびパスワードを含む、ＤＨＣＰサーバ１０３ａから受け付けたユーザ管理サーバ１０６のＩＰアドレスを宛先とするユーザ認証要求を生成し、これをインターフェース１０１４を介してＩＰネットワーク１０５ａに送信する（Ｓ１０７）。このユーザ認証要求は、ライトキャッシュ機能付ルータ１０４を介して（Ｓ４０１）、ユーザ管理サーバ１０６へ送られる。
【００３２】
ユーザ管理サーバ１０６は、ユーザ認証要求を受信すると、当該要求に含まれているユーザＩＤおよびパスワードを用いてユーザ認証を行い（Ｓ２０１）、ユーザ認証成立の場合は、ユーザが使用すべきストレージ装置１０２のボリュームを特定するための特定情報（ストレージルータのＩＰアドレス、ｉＳＣＳＩターゲット名、ボリュームのポート番号、ＬＵＮ）を、ユーザ認証要求の送信元に送信する（Ｓ２０２）。この特定情報は、ライトキャッシュ機能付ルータ１０４を介して（Ｓ４０２）、ディスクレス計算機１０１（ブートローダプログラム）に通知される。なお、ユーザ認証不成立の場合は、ディスクレス計算機１０１にエラーメッセージを送信するなどのエラー処理を行う。
【００３３】
次に、ディスクレス計算機１０１において、ＣＰＵ１０１１は、インターフェース１０１４を介してユーザ管理サーバ１０６から特定情報を入手すると、ブートローダプログラムに従い、当該特定情報で指定されているｉＳＣＳＩターゲット名を持つストレージ装置１０２に接続されたストレージルータ１０７との間に、ライトキャッシュ機能付ルータ１０４経由で（Ｓ４０３）、ｉＳＣＳＩセッションを確立する（Ｓ１０８）。それから、ライトキャッシュ機能付ルータ１０４およびストレージルータ１０７を介して（Ｓ４０４、Ｓ３０１）、当該特定情報で指定されているＬＵＮを持つボリュームからＯＳをロードする（Ｓ１０９）。それから、ＣＰＵ１０１１は、ロードしたＯＳの初期化プログラムを起動する（Ｓ１１０）。この初期化プログラムにより、ＣＰＵ１０１１は、ＯＳに組み込まれているｉＳＣＳＩドライバを起動し、これをディスクレス計算機１０１が有するデバイスファイルにＳＣＳＩデバイスとして登録する（Ｓ１１１）。次に、ｉＳＣＳＩドライバにより、ＣＰＵ１０１１は、ＯＳによってｉＳＣＳＩドライバに割当てられたデバイス番号およびユーザ管理サーバ１０６から入手した特定情報（ストレージルータのＩＰアドレス、ｉＳＣＳＩターゲット名、ボリュームのポート番号、ＬＵＮ）を、ＯＳの管理領域に登録する（Ｓ１１２）。次に、初期化プログラムにより、ＣＰＵ１０１１は、ファイルシステムのルートをＳＣＳＩデバイス（すなわち、ストレージ装置１０２が提供するボリュームの１つ）にマウントし、ファイルシステムに登録されているプログラムを順次読み出して起動し、初期化を実行する（Ｓ１１３）。
【００３４】
さて、ディスクレス計算機１０１において、ＣＰＵ１０１１は、ｉＳＣＳＩドライバがアプリケーション等よりデータブロックのリード要求を受け取ると、ｉＳＣＳＩプロトコルのリード要求コマンドを生成し、確立されているｉＳＣＳＩセッションのｉＳＣＳＩターゲットへ送信する（Ｓ１１４）。このリード要求コマンドは、パケットに格納されてインターフェース１０１４から出力され、ライトキャッシュ機能付ルータ１０４を経由して（Ｓ４０５）、ストレージルータ１０７へ送られる。そして、ストレージルータ１０７で、ストレージ装置１０２が採用するプロトコルのコマンドに変換された後（Ｓ３０２）、ストレージ装置１０２に送信される。
【００３５】
ストレージ装置１０２において、ストレージ制御装置１０２１は、リード要求を受信すると、当該リード要求で指定されているＬＵＮを持つボリュームからデータブロックをリードし、これを含む応答データをリード要求の送信元のディスクレス計算機１０１（ｉＳＣＳＩドライバ）に送信する（Ｓ５０１）。この応答データは、ストレージルータ１０７でｉＳＣＳＩプログラムの応答データ形式に変換された後（Ｓ３０３）、ライトキャッシュ機能付ルータ１０４を経由して（Ｓ４０６）、ディスクレス計算機１０１へ送られる。ディスクレス計算機１０１において、ＣＰＵ１０１１は、ｉＳＣＳＩターゲットからリード要求の応答データを受信すると、ｉＳＣＳＩドライバに従い、この応答データに含まれているデータブロックをリード要求の送信元であるアプリケーション等に渡す。
【００３６】
また、ディスクレス計算機１０１において、ＣＰＵ１０１１は、ｉＳＣＳＩドライバがアプリケーション等よりデータブロックのライト要求を受け取ると、ｉＳＣＳＩプロトコルのライト要求コマンドを生成し、確立されているｉＳＣＳＩセッションのｉＳＣＳＩターゲットへ送信する（Ｓ１１５）。このライト要求コマンドはパケットに格納されてインターフェース１０１４から出力され、ライトキャッシュ機能付ルータ１０４へ送られる。
【００３７】
さて、ライトキャッシュ機能付ルータ１０４は、ＩＰネットワーク１０５ａから送られてくるパケットに格納されているデータを解析する。そして、該データがライト要求のｉＳＣＳＩコマンド以外である場合は、通常のルータ装置と同様に、このパケットの宛先に従ってルーティングする（Ｓ４０１〜Ｓ４０６）。一方、該データがライト要求のｉＳＣＳＩコマンドである場合は、これをキャッシュする（Ｓ４０７）。また、このパケットの送信元にライト終了の応答データを格納したパケットを送信する（Ｓ４０８）。ディスクレス計算機１０１において、ＣＰＵ１０１１は、ｉＳＣＳＩターゲットからライト要求の応答データを受信すると、ｉＳＣＳＩドライバに従い、この応答データに含まれている処理結果をライト要求の送信元であるアプリケーション等に渡す。
【００３８】
また、ライトキャッシュ機能付ルータ１０４は、キャッシュしたライト要求のｉＳＣＳＩコマンドを格納したパケットを、ＩＰネットワーク１０５ｂへ送信する（Ｓ４０９）。このライト要求コマンドは、ストレージルータ１０７により、ストレージ装置１０２が採用するプロトコルのコマンドに変換された後（Ｓ３０４）、ストレージ装置１０２に送信される。
【００３９】
ストレージ装置１０２において、ストレージ制御装置１０２１は、ライト要求を受信すると、当該ライト要求で指定されているＬＵＮを持つボリュームに、当該ライト要求に含まれているデータブロックをライトし、その応答データをライト要求の送信元に送信する（Ｓ５０２）。この応答データは、ストレージルータ１０７でｉＳＣＳＩプログラムの応答データ形式に変換された後（Ｓ３０５）、ライトキャッシュ機能付ルータ１０４へ送られる。
【００４０】
（３）ライトキャッシュ機能付ルータ
次に、ライトキャッシュ機能付ルータ１０４の詳細を説明する。
【００４１】
図３は、ライトキャッシュ機能付ルータ１０４の概略図である。図示するように、ライトキャッシュ機能付ルータ１０４は、ＣＰＵ１１１と、ＣＰＵ１１１のワークエリアとして機能するメインメモリ１１２と、記憶装置（記憶媒体）１１３と、ＩＰネットワーク１０５ａに接続するための通信装置１１４ａと、ＩＰネットワーク１０５ｂに接続するための通信装置１１４ｂと、入力装置１１５と、を有する。
【００４２】
記憶装置１１３には、ライトキャッシュプログラム（ＰＧ）１２０と、ルーティングプログラム１３０と、ルーティングテーブル（ＴＬ）１３１と、を有する。
【００４３】
ＣＰＵ１１１は、ルーティングプログラム１３０を実行することにより、ルーティングテーブル１３１を用いてパケットのルーティングを行う。これにより、通信装置１１４ａあるいは通信装置１１４ｂで受信したパケットは、その宛先に従い通信装置１１４ａおよび通信装置１１４ｂのいずれか一方から出力する。但し、当該パケットの宛先がライトキャッシュ機能付ルータ１０４である場合は、パケットのポート番号により、後述するライトキャッシュプログラム１２０のｉＳＣＳＩターゲットモジュール１２１、ｉＳＣＳＩイニシエータモジュール１２２、データ管理モジュール１２４およびユーザ管理エージェントモジュール１２５のいずれかに渡される。そして、ｉＳＣＳＩターゲットモジュール１２１、ｉＳＣＳＩイニシエータモジュール１２２、データ管理モジュール１２４およびユーザ管理エージェントモジュール１２５から受け取ったパケットをルーティングして、通信装置１１４ａおよび通信装置１１４ｂのいずれか一方から出力する。
【００４４】
また、ＣＰＵ１１１は、ライトキャッシュプログラム１２０を実行することにより、ｉＳＣＳＩプロトコル処理およびｉＳＣＳＩのライト要求のキャッシュ処理を行う。
【００４５】
図４は、ライトキャッシュプログラム１２０のモジュール構成を説明するための図である。図示するように、ｉＳＣＳＩターゲットモジュール１２１と、ｉＳＣＳＩイニシエータモジュール１２２と、ｉＳＣＳＩセッション管理モジュール１２３と、データ管理モジュール１２４と、ユーザ管理エージェントモジュール１２５と、を有する。
【００４６】
ｉＳＣＳＩターゲットモジュール１２１は、ＣＰＵ１１１に、ｉＳＣＳＩコマンドのパケットを受信し、ｉＳＣＳＩ応答データのパケットをｉＳＣＳＩイニシエータ（ディスクレス計算機１０１）に送信する、ｉＳＣＳＩターゲットのプロトコル処理を行わせる。
【００４７】
ｉＳＣＳＩイニシエータモジュール１２２は、ＣＰＵ１１１に、ｉＳＣＳＩコマンドのパケットをｉＳＣＳＩターゲット（ストレージ装置１０２）に送信して、ｉＳＣＳＩターゲットからｉＳＣＳＩ応答データのパケットを受信する、ｉＳＣＳＩイニシエータのプロトコル処理を行わせる。
【００４８】
ｉＳＣＳＩセッション管理モジュール１２３は、ＣＰＵ１１１に、ｉＳＣＳＩターゲットモジュール１２１のｉＳＣＳＩイニシエータ（ディスクレス計算機１０１）とｉＳＣＳＩイニシエータモジュール１２２のｉＳＣＳＩターゲット（ストレージ装置１０２）との間の接続情報（ｉＳＣＳＩセッション）、ストレージ装置１０２の負荷状態、接続状態、および、キャッシュされたデータ量を管理する処理を行わせる。
【００４９】
データ管理モジュール１２４は、ＣＰＵ１１１に、データブロックをキャッシュする処理と、データブロックのストレージ装置１０２へのライトを要求する処理とを行わせる。
【００５０】
そして、ユーザ管理エージェントモジュール１２５は、ＣＰＵ１１１に、ライトキャッシュ機能付ルータ１０４の場所（ＩＰアドレス）をユーザ管理サーバ１０６に通信する処理と、ユーザ管理サーバ１０６からストレージ装置１０２の情報を取得する処理と、ユーザ管理サーバ１０６から送られてくるデータフラッシュ要求を実行する処理と、を行わせる。
【００５１】
図５は、ＣＰＵ１１１がライトキャッシュプログラム１２０に従い処理を行う際に使用する管理情報の構成例を示す図であり、図５（Ａ）はセッション管理情報２１０の構成例を、そして、図５（Ｂ）はターゲット管理情報２２０の構成例を示している。これらの管理情報２１０、２２０は、メインメモリ１１２に格納されるデータである。
【００５２】
セッション管理情報２１０は、ディスクレス計算機１０１とストレージ装置１０２との間のｉＳＣＳＩセッションを管理するための情報であり、図５（Ａ）に示すように、ストレージ装置識別情報２１１、ボリューム識別情報２１２、ディスクレス計算機識別情報２１３、対計算機セッション識別情報２１４、対ストレージセッション識別情報２１５、接続状態情報２１６、および、ログ管理情報２１７を有する。なお、ログ管理情報２１７は、後述する本実施形態の変形例で使用する情報である。
【００５３】
ストレージ装置識別情報２１１は、ストレージ装置１０２のｉＳＣＳＩターゲット名と、ｉＳＣＳＩターゲットが使用するＩＰアドレスおよびポート番号とを含む。ボリューム識別情報２１２は、ストレージ装置識別情報２１１により特定されるボリュームのＬＵＮを含む。ディスクレス計算機識別情報２１３は、ディスクレス計算機１０１のｉＳＣＳＩドライバのｉＳＣＳＩイニシエータ名（ｉＳＣＳＩネーム）と、ｉＳＣＳＩイニシエータが使用するＩＰアドレスとを含む。対計算機セッション識別情報２１４は、ディスクレス計算機１０１のｉＳＣＳＩイニシエータとライトキャッシュ機能付ルータ１０４との間のｉＳＣＳＩセッションを識別する情報であり、セッションＩＤおよびＴＣＰコネクション情報を含む。対ストレージセッション識別情報２１５は、ライトキャッシュ機能付ルータ装置１０４とストレージ装置１０２のｉＳＣＳＩターゲットとの間のｉＳＣＳＩセッションを識別する情報であり、セッションＩＤおよびＴＣＰコネクション情報を含む。そして、接続状態情報２１６は、ディスクレス計算機１０１のｉＳＣＳＩイニシエータとライトキャッシュ機能付ルータ１０４との間のｉＳＣＳＩセッションの接続状態を表わす情報であり、接続又は切断のいずれかが登録される。
【００５４】
ターゲット管理情報２２０は、ストレージ装置１０２の負荷および接続状態を管理するための情報であり、図５（Ｂ）に示すように、ストレージ装置識別情報２２１、ボリューム識別情報２２２、接続状態情報２２３、負荷状態情報２２４、および、レコード量２２５を有する。
【００５５】
ストレージ装置識別情報２２１およびボリューム識別情報２２２は、セッション管理情報２１０のそれと同じ情報である。接続状態情報２１６は、ライトキャッシュ機能付ルータ１０４とストレージ装置１０２のｉＳＣＳＩターゲットとの間のｉＳＣＳＩセッションの接続状態を表わす情報であり、接続又は切断のいずれかが登録される。負荷状態情報２２４は、ｉＳＣＳＩの応答時間などの、ライトキャッシュ機能付ルータ１０４とストレージ装置１０２のｉＳＣＳＩターゲットとの間のｉＳＣＳＩセッションの負荷状態を表わす情報である。そして、レコード量２２５は、キャッシュされたレコードの数などの、ストレージ装置１０２（ボリューム）に送信されていないデータブロックの容量を表わす情報である。
【００５６】
図６は、ＣＰＵ１１１がライトキャッシュプログラム１２０に従い、メインメモリ１１２にキャッシュされるデータブロックのキャッシュレコード２３０の構成例を示す図である。ここで、キャッシュレコード２３０はデーダブロックの記録単位である。図示するように、ストレージ装置識別情報２３１、ボリューム識別情報２３２、ブロック識別情報２３３、および、ブロックデータ２３４を有する。
【００５７】
ストレージ装置識別情報２３１およびボリューム識別情報２３２は、データブロックの伝送に用いるセッション管理情報２１０を識別するための情報であり、セッション管理情報２１０のそれと同じ情報である。ブロック情報２３３は、ボリューム内のデータブロックの位置を表す情報であり、例えばＬＢＡ（Logical Block Address）番号である。そして、ブロックデータ２３４が、ボリュームにライトするデータである。
【００５８】
（４）ユーザ管理サーバ
次に、ユーザ管理サーバ１０６の詳細を説明する。
【００５９】
図７は、ユーザ管理サーバ１０６の概略図である。図示するように、ユーザ管理サーバ１０６は、ＣＰＵ５１１と、ＣＰＵ５１１のワークエリアとして機能するメインメモリ５１２と、記憶装置５１３と、ＩＰネットワーク１０５ｂに接続するための通信装置５１４と、入力装置５１５と、を有する。
【００６０】
記憶装置５１３には、ユーザ管理プログラム５３０と、ユーザ情報管理テーブル５３１と、を有する。
【００６１】
ＣＰＵ５３１は、ユーザ管理プログラム１３０を実行することにより、ディスクレス計算機１０１のブート時に、ユーザ情報管理テーブル５３１を用いて、ディスクレス計算機１０１のユーザのユーザ認証を行い、ディスクレス計算機システムの使用許可を与える処理を行う。
【００６２】
ユーザ情報管理テーブル５３１には、ユーザ毎に、ユーザ認証およびユーザに割当てられたボリュームを特定するために必要なユーザ管理情報２４０が登録される。図８は、ユーザ管理情報２４０の構成例を示す図である。図示するように、ユーザ管理情報２４０は、ユーザＩＤ２４１、パスワード２４２、ストレージ装置識別情報２４３、ボリューム識別情報２４４、および、キャッシュ装置識別情報２４５を有する。
【００６３】
ユーザＩＤ２４１およびパスワード２４２は、ユーザにディスクレス計算機システムの使用を許可するか否かを判断するための情報である。ストレージ装置識別情報２４３およびボリューム識別情報２４４は、ユーザに割当てられたボリュームを特定するための情報であり、セッション管理情報２１０のそれと同じ情報である。そして、キャッシュ装置識別情報２４４は、ディスクレス計算機１０１のｉＳＣＳＩドライバがストレージ装置１０２との接続に使用する、ライトキャッシュ機能付ルータ装置１０４の識別情報であり、例えばＩＰアドレスである。ディスクレス計算機１０１のｉＳＣＳＩドライバとストレージ装置１０２とが接続されていない場合は、これを表わすＮＵＬＬ情報などが設定される。
【００６４】
（５）システム設定作業
システム管理者が本実施形態のディスク計算機システムを利用できるようにするために行うシステム設定作業（事前作業）を、ストレージ装置/ストレージルータの設定作業、ユーザ管理サーバの設定作業、ＤＨＣＰ/ＴＦＴＰサーバの設定作業、および、ライトキャッシュ機能付ルータの設定作業に分けて説明する。
【００６５】
（５-１）ストレージ装置/ストレージルータの設定作業
先ず、ストレージ装置１０２に接続された入力装置等を用いて、ストレージ装置１０２にボリュームを少なくとも１つ作成し、作成したボリューム各々にＬＵＮ（図１に示す例では、ＬＵ-０、ＬＵ-１等）を付与する。また、作成したボリュームに、ＯＳ、ｉＳＣＳＩドライバを含む各種ドライバ、および、アプリケーションを含むブートイメージをインストールする。
【００６６】
次に、ストレージ装置１０２に、ｉＳＣＳＩターゲット名、ポート番号を割当てる。そして、このストレージ装置１０２が利用するストレージルータ１０７に、当該ストレージルータ１０７に接続された入力装置等を用いて、ストレージ装置１０２に割当てたｉＳＣＳＩターゲット名、ポート番号およびボリュームのＬＵＮを、当該ストレージルータ１０７のＩＰアドレスと共に、装置仕様に沿って登録する。
【００６７】
（５-２）ユーザ管理サーバの設定作業
先ず、ディスクレス計算機システムの各ユーザにユーザＩＤおよびパスワードを付与する。また、各ユーザに割当てるストレージ装置１０２のボリュームを決める。
【００６８】
次に、ユーザ管理サーバ１０６の入力装置５１５を用いて、ユーザ情報管理テーブル５３１に、各ユーザのユーザ管理情報２４０を登録する。つまり、ユーザに付与したユーザＩＤおよびパスワード（ユーザＩＤ２４１、パスワード２４２）、ユーザに割当てたボリュームのＬＵＮ（ボリューム識別情報２４４）、当該ボリュームを提供するストレージ装置１０２のｉＳＣＳＩターゲット名、ポート番号および当該ストレージ装置１０２が利用するストレージルータ１０７のＩＰアドレス（ストレージ装置識別情報２４３）を登録する。なお、ライトキャッシュ機能付ルータ１０４のキャッシュ装置識別情報２４５はＮＵＬＬとする。
【００６９】
それから、ユーザ管理プログラム５３０を起動する。
【００７０】
（５-３）ＤＨＣＰ/ＴＦＴＰサーバの設定作業
先ず、各ディスクレス計算機１０１にＩＰアドレスを割当てる。
【００７１】
次に、ＤＨＣＰサーバ１０３ａに接続された入力装置を用いて、各ディスクレス計算機１０１に割当てたＩＰアドレス、ＴＦＴＰサーバ１０３ｂのＩＰアドレス、ブートローダプログラム名、ライトキャッシュ機能付ルータ１０４のＩＰアドレス、ユーザ管理サーバ１０６のＩＰアドレスを、ＤＨＣＰサーバ１０３ａに登録する。また、ＴＦＴＰサーバ１０３ｂに接続された入力装置を用いて、ブートローダプログラムをＴＦＴＰサーバ１０３ｂに登録する。
【００７２】
それから、ＤＨＣＰサーバ１０３ａのＤＨＣＰサーバプログラムを起動すると共に、ＴＦＴＰサーバ１０３ｂのＴＦＴＰサーバプログラムを起動する。
【００７３】
なお、本実施形態のディスクレス計算機システムで用いるブートローダプログラムには、ユーザ認証を行いストレージ装置１０２のボリューム情報を取得する機能、および、ストレージ装置１０２のボリュームからＯＳをロードするためのｉＳＣＳＩイニシエータプロトコル処理機能が実装されている。
【００７４】
（５-４）ライトキャッシュ機能付ルータの設定作業
ライトキャッシュ機能付ルータ１０４の入力装置１１５を用いて、ライトキャッシュプログラム１２０およびルーティングプログラム１３０を起動する。
【００７５】
（６）システム動作詳細
上記（５）システム設定作業の完了後、ディスクレス計算機１０１の電源をＯＮにすると、上記（２）システム動作概要で説明した動作が開始される。ここでは、上記（２）で説明した動作のうち、ユーザ認証処理（図２のＳ１０７、Ｓ４０１、Ｓ２０１、Ｓ２０２に相当）、ｉＳＣＳＩセッション接続処理（図２のＳ１０８、Ｓ４０２に相当）、および、データブロックライト処理（図２のＳ１１５、Ｓ４０６、Ｓ４０７、Ｓ４０８、Ｓ３０４、Ｓ５０２、Ｓ３０５に相当）の詳細を説明する。また、上記（２）では説明していないが、ディスクレス計算機１０１のＯＳ停止によるｉＳＣＳＩセッション切断処理も説明する。
【００７６】
（６-１）ユーザ認証処理
図９は、ユーザ認証処理を説明するためのフロー図であり、図９（Ａ）はディスクレス計算機１０１のユーザ認証処理に係る動作フローを、図９（Ｂ）はライトキャッシュ機能付ルータ１０４のユーザ認証処理に係る動作フローを、そして、図９（Ｃ）はユーザ管理サーバ１０６のユーザ認証処理に係る動作フローを示している。
【００７７】
図９（Ａ）に示すように、ディスクレス計算機１０１において、ＣＰＵ１０１１は、ブートローダプログラムに従い、ユーザから取得したユーザＩＤ、パスワード、および、ユーザ管理サーバ１０６のＩＰアドレスを含むユーザ認証要求パケットを生成し、これをライトキャッシュ機能付ルータ１０４に送信する（Ｓ３１０）。
【００７８】
その後、ＣＰＵ１０１１は、ライトキャッシュ機能付ルータ１０４からユーザ認証応答パケットが送られてくるのを待つ（Ｓ３１１）。そして、受信したユーザ認証応答パケットに、ストレージ装置識別情報２４３、ボリューム識別情報２４４が格納されているならば（Ｓ３１２でＹＥＳ）、ストレージ装置１０２とのｉＳＣＳＩセッションの接続処理を行う（Ｓ３１３）。一方、格納されていないならば（Ｓ３１２でＮｏ）、Ｉ/Ｏ１０１５に接続された出力装置にエラー情報を出力し、処理を終了する（Ｓ３１４）。
【００７９】
また、図９（Ｂ）に示すように、ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ａを介してディスクレス計算機１０１からユーザ認証要求パケットを受信すると（Ｓ３２０）、このユーザ認証要求パケットを、ユーザ管理エージェント１２５に従って処理する。すなわち、ＣＰＵ１１１は、ユーザ認証要求パケットからユーザ管理サーバ１０６のＩＰアドレスを取得する（Ｓ３２１）。そして、送信元をライトキャッシュ機能ルータ１０４のＩＰアドレスとし、宛先をユーザ管理サーバ１０６のＩＰアドレスとする、前記受信したユーザ認証要求に含まれているユーザＩＤおよびパスワードを含んだユーザ認証要求パケットを新たに生成する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、この新たに生成されたユーザ認証要求パケットを、通信装置１１４ｂを介してユーザ管理サーバ１０６へ送信する（Ｓ３２２）。
【００８０】
その後、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ｂを介してユーザ管理サーバ１０６からデータフラッシュ要求パケットを受信すると（Ｓ３２３）、データ管理モジュール１２４に従ってデータフラッシュ処理を行い、その成否を示す報告パケットを生成する。ここで、データフラッシュ処理とは、ライトキャッシュ機能付ルータ１０４にキャッシュされている、データフラッシュ要求パケットで指定されたストレージ装置識別情報２３１およびボリューム識別２３２を持つ全てのキャッシュレコード２３０に格納されているデータブロックを、このストレージ装置識別情報２３１およびボリューム識別２３２により特定されるストレージ装置１０２のボリュームへライトする処理である。データフラッシュ処理の詳細については後述する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、報告パケットを、通信装置１１４ｂを介してユーザ管理サーバ１０６へ送信する（Ｓ３２４）。
【００８１】
また、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ｂを介してユーザ管理サーバ１０６からユーザ認証応答パケットを受信すると（Ｓ３２５）、このユーザ認証応答パケットを、ユーザ管理エージェント１２５に従って処理する。すなわち、ＣＰＵ１１１は、ユーザ認証応答パケットに、ストレージ装置識別情報２４３およびボリューム識別情報２４４が格納されているか否かを調べる（Ｓ３２６）。
【００８２】
Ｓ３２６において格納されていると判断した場合は、セッション管理情報２１０を新たに作成し、このセッション管理情報２１０のストレージ装置識別情報２１１、ボリューム識別情報２１２に、当該ユーザ認証パケットに格納されているストレージ装置識別情報２４３、ボリューム識別２４４を登録する（Ｓ３２７）。なお、ディスクレス計算機識別情報２１３、対計算機セッション識別情報２１４、対ストレージセッション識別情報２１５および接続状態情報２１６は、この段階では「ＮＵＬＬ」としておく。それから、ストレージ装置識別情報２４３およびボリューム識別情報２４４を含み、送信元をライトキャッシュ機能付ルータ１０４とし、宛先をユーザ認証要求パケットの送信元であるディスクレス計算機１０１とするユーザ認証応答パケットを新たに生成する（Ｓ３２８）。一方、Ｓ３２６において格納されていないと判断した場合は、送信元をライトキャッシュ機能付ルータ１０４とし、宛先をユーザ認証要求パケットの送信元であるディスクレス計算機１０１とする、接続不許可を示すユーザ認証応答パケットを新たに生成する（Ｓ３２９）。
【００８３】
次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、この新たに生成されたユーザ認証応答パケットを、通信装置１１４ａを介してディスクレス計算機１０１へ送信する（Ｓ３３０）。
【００８４】
また、図９（Ｃ）に示すように、ユーザ管理サーバ１０６において、ＣＰＵ５１１は、通信装置５１４を介してライトキャッシュ機能付ルータ１０４からユーザ認証要求パケットを受信すると（Ｓ３４０）、ユーザ管理プログラム５３０に従いユーザ認証を行う（Ｓ３４１）。具体的には、ユーザ認証要求パケットに含まれているユーザＩＤおよびパスワードを持つユーザ管理情報２４０がユーザ情報管理テーブル５３１に登録されているか否かを調べる。そのようなユーザ管理情報２４０が登録されていない場合（Ｓ３４２でＮｏ）は、ユーザ認証不成立と判断し、その旨を示すメッセージを格納したユーザ認証応答パケットを生成し、ライトキャッシュ機能付ルータ１０４に送信する（Ｓ３４３）。一方、そのようなユーザ管理情報２４０が登録されている場合（Ｓ３４２でＹＥＳ）は、ユーザ認証成立と判断する。この場合、ＣＰＵ５１１は、このユーザ管理情報２４０のキャッシュ装置識別情報２４５にＩＰアドレスが設定されているか否かを調べることにより、データフラッシュ処理の必要性を判断する（Ｓ３４４）。
【００８５】
Ｓ３４４においてＩＰアドレスが設定されていない場合は、ディスクレス計算機１０１のユーザが本実施形態のディスクレス計算機システムを初めて使用するユーザであるので、ライトキャッシュ機能付ルータ１０４に当該ユーザのデータブロックがキャッシュされていることはない。したがって、ＣＰＵ５１１は、ライトキャッシュ機能付ルータ１０４に、データフラッシュ処理を要求しない。この場合、ＣＰＵ５１１は、ユーザ情報管理テーブル５３１に登録されている、このユーザ管理情報２４０のキャッシュ装置識別情報２４５に、ユーザ認証要求パケットの送信元であるライトキャッシュ機能付ルータ１０４のＩＰアドレスを登録する（Ｓ３４５）。それから、ＣＰＵ５１１は、このユーザ管理情報２４０のストレージ装置識別情報２４３およびボリューム識別情報２４４を含むユーザ認証応答パケットを生成し、通信装置５１４を介して、ユーザ認証要求の送信元であるライトキャッシュ機能付ルータ１０４へ送信する（Ｓ３４６）。
【００８６】
一方、Ｓ３４４においてＩＰアドレスが設定されている場合は、ディスクレス計算機１０１のユーザが本実施形態のディスクレス計算機システムを既に使用したことのあるユーザであるので、ライトキャッシュ機能付ルータ１０４に当該ユーザのデータブロックがキャッシュされている可能性がある。したがって、ＣＰＵ５１１は、このユーザ管理情報２４０のキャッシュ装置識別情報２４５に登録されているＩＰアドレスを持つライトキャッシュ機能付ルータ１０４に、データフラッシュ処理要求パケットを送信する（Ｓ３４７）。そして、このライトキャッシュ機能付ルータ１０４から報告パケットが届くのを待つ（Ｓ３４８）。次に、ＣＰＵ５１１は、受信した報告パケットがデータフラッシュ処理の失敗を示している場合（Ｓ３４９でＮｏ）は、接続不許可を示すユーザ認証応答パケットを生成し、通信装置５１４を介して、ユーザ認証要求の送信元であるライトキャッシュ機能付ルータ１０４へ送信する（Ｓ３５０）。一方、受信した報告パケットがデータフラッシュ処理の成功を示している場合（Ｓ３４９でＹｅｓ）は、ユーザ情報管理テーブル５３１に登録されている、このユーザ管理情報２４０のキャッシュ装置識別情報２４５のＩＰアドレスを、ユーザ認証要求パケットの送信元であるライトキャッシュ機能付ルータ１０４のＩＰアドレスに更新する（Ｓ３５１）。それから、ＣＰＵ５１１は、このユーザ管理情報２４０のストレージ装置識別情報２４３およびボリューム識別情報２４４を含むユーザ認証応答パケットを生成し、通信装置５１４を介して、ユーザ認証要求の送信元であるライトキャッシュ機能付ルータ１０４へ送信する（Ｓ３５２）。
【００８７】
（６-２）ｉＳＣＳＩセッション接続処理
図１０は、ｉＳＣＳＩセッション接続処理を説明するためのフロー図であり、図１０（Ａ）はディスクレス計算機１０１のｉＳＣＳＩセッション接続処理に係る動作フローを、そして、図１０（Ｂ）はライトキャッシュ機能付ルータ１０４のｉＳＣＳＩセッション接続処理に係る動作フローを示している。なお、ストレージルータ１０７およびストレージ装置１０２におけるｉＳＣＳＩセッション接続処理に係る動作フローは、既存のストレージルータおよびストレージ装置のそれと同じであるので、その詳細な説明を省略する。
【００８８】
図１０（Ａ）に示すように、ディスクレス計算機１０１において、ＣＰＵ１０１１は、ｉＳＣＳＩドライバに従い、ｉＳＣＳＩイニシエータ名および上記（６-１）ユーザ認証処理でユーザ管理サーバ１０６から取得したストレージ装置識別情報２４３のｉＳＣＳＩターゲット名を含むｉＳＣＳＩログイン要求パケットを生成し、これをライトキャッシュ機能付ルータ１０４に送信する（Ｓ４１０）。
【００８９】
その後、ＣＰＵ１０１１は、ライトキャッシュ機能付ルータ１０４からｉＳＣＳＩログイン応答パケットが送られてくるのを待つ（Ｓ４１１）。そして、受信したｉＳＣＳＩログイン応答パケットが、接続成功を示しているばらば（Ｓ４１２でＹＥＳ）、その後、このｉＳＣＳＩセッションを用いてデータ転送を開始する（Ｓ４１３）。一方、接続失敗を示しているならば（Ｓ４１２でＮｏ）、Ｉ/Ｏ１０１５に接続された出力装置にエラー情報を出力し、処理を終了する（Ｓ４１４）。
【００９０】
また、図１０（Ｂ）に示すように、ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ａを介してディスクレス計算機１０１からｉＳＣＳＩログイン要求パケットを受信すると（Ｓ４２０）、このｉＳＣＳＩログイン要求パケットを、ｉＳＣＳＩターゲットモジュール１２１およびｉＳＣＳＩセッション管理モジュール１２３に従って処理する。すなわち、先ず、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、セッションＩＤを生成すると共に、このｉＳＣＳＩログイン要求パケットの伝送に用いたＴＣＰコネクション情報を取得する（Ｓ４２１）。次に、ＣＰＵ１１１は、ｉＳＣＳＩセッション管理モジュール１２３に従い、ｉＳＣＳＩログイン要求パケットに含まれているｉＳＣＳＩターゲット名を持つセッション管理情報２１０がメインメモリ１１２に登録されているか否かを調べる（Ｓ４２２）。また、登録されている場合は、このセッション管理情報２１０のディスクレス計算機識別情報２１３がＮＵＬＬであるか否かをさらに調べる（Ｓ４２３）。
【００９１】
Ｓ４２２において、ｉＳＣＳＩログイン要求パケットに含まれているｉＳＣＳＩターゲット名を持つセッション管理情報２１０がメインメモリ１１２に登録されていないと判断された場合、または、Ｓ４２３において、このセッション管理情報２１０のディスクレス計算機識別情報２１３がＮＵＬＬでないと判断された場合（ｉＳＣＳＩイニシエータ名およびＩＰアドレスが登録済みの場合）、ＣＰＵ１１１は、ログイン要求を不許可（ライトキャッシュ不可）と判断する。そして、ｉＳＣＳＩターゲットモジュール１２１に従い、ログイン失敗を示すｉＳＣＳＩログイン応答パケットを生成する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、このｉＳＣＳＩログイン応答パケットを、通信装置１１４ａを介して、Ｓ４２０で受信したｉＳＣＳＩログイン要求パケットで指定されているｉＳＣＳＩイニシエータ（ｉＳＣＳＩドライバ）を搭載するディスクレス計算機１０１へ送信する（Ｓ４２４）。
【００９２】
一方、Ｓ４２２において、ｉＳＣＳＩログイン要求パケットに含まれているｉＳＣＳＩターゲット名を持つセッション管理情報２１０がメインメモリ１１２に登録されていないと判断され、且つ、Ｓ４２３において、このセッション管理情報２１０のディスクレス計算機識別情報２１３がＮＵＬＬであると判断された場合、ＣＰＵ１１１は、ログイン要求を許可（ライトキャッシュ可能）と判断する。そして、ｉＳＣＳＩイニシエータモジュール１２２に従い、このセッション管理情報２１０のストレージ装置識別情報２１１のｉＳＣＳＩターゲット名を含むｉＳＣＳＩログイン要求パケットを新たに生成する。また、ｉＳＣＳＩログイン要求パケットに対する応答時間の計測を開始する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、このｉＳＣＳＩログイン要求パケットを、通信装置１１４ｂを介して、ｉＳＣＳＩターゲット（ストレージ装置１０２）に接続されているストレージルータ１０７へ送信する（Ｓ４２５）。
【００９３】
その後、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ｂを介してストレージルータ１０７からｉＳＣＳＩログイン応答パケットを受信すると（Ｓ４２６）、このｉＳＣＳＩログイン応答パケットを、ｉＳＣＳＩイニシエータモジュール１２２およびｉＳＣＳＩセッション管理モジュール１２３に従って処理する。すなわち、先ず、ＣＰＵ１１１は、ｉＳＣＳＩイニシエータモジュール１２１に従い、セッションＩＤを生成すると共に、このｉＳＣＳＩログイン応答パケットの伝送に用いたＴＣＰコネクション情報を取得する。また、ｉＳＣＳＩログイン要求パケットに対する応答時間を取得する（Ｓ４２７）。次に、ＣＰＵ１１１は、ｉＳＣＳＩセッション管理モジュール１２３に従い、ｉＳＣＳＩログイン応答パケットが示すログイン成否を確認する（Ｓ４２８）。
【００９４】
Ｓ４２８においてログイン失敗を示しているならば、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、ログイン失敗を示すｉＳＣＳＩログイン応答パケットを生成する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、このｉＳＣＳＩログイン応答パケットを、通信装置１１４ａを介して、Ｓ４２０で受信したｉＳＣＳＩログイン要求パケットで指定されているｉＳＣＳＩイニシエータ（ｉＳＣＳＩドライバ）を搭載するディスクレス計算機１０１へ送信する（Ｓ４２９）。
【００９５】
一方、Ｓ４２８においてログイン成功を示しているならば、ＣＰＵ１１１は、ｉＳＣＳＩセッション管理モジュール１２３に従い、Ｓ４２０で受信したｉＳＣＳＩログイン要求パケットに含まれているｉＳＣＳＩターゲット名を持つセッション管理情報２１０を更新する（Ｓ４３０）。具体的には、ディスクレス計算機識別情報２１３にＳ４２０で受信したｉＳＣＳログイン要求パケットで指定されているｉＳＣＳＩイニシエータ名を、対計算機セッション識別情報２１４にＳ４２１で生成・取得したセッションＩＤ、ＴＣＰコネクション情報を、対ストレージセッション識別情報２１５にＳ４２７で生成・取得したセッションＩＤ、ＴＣＰコネクション情報を、そして、接続状態情報２１６に「接続」を設定する。また、ＣＰＵ１１１は、ｉＳＣＳＩセッション管理モジュール１２３に従い、ターゲット管理情報２２０を新たに作成し、このストレージ装置識別情報２２１に更新したセッション管理情報２１０のストレージ装置識別情報２１１を、ボリューム識別情報２２２に更新したセッション管理情報２１０のボリューム識別情報２１２を、接続状態情報２２３に「接続」を、そして、負荷状態情報２２４にＳ４２７で測定した応答時間を登録する（Ｓ４３１）。次に、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、ログイン成功を示すｉＳＣＳＩログイン応答パケットを生成する。それから、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、このｉＳＣＳＩログイン応答パケットを、通信装置１１４ａを介して、Ｓ４２０で受信したｉＳＣＳＩログイン要求パケットで指定されているｉＳＣＳＩイニシエータ（ｉＳＣＳＩドライバ）を搭載するディスクレス計算機１０１へ送信する（Ｓ４３２）。
【００９６】
その後、ＣＰＵ１１１は、ｉＳＣＳＩイニシエータモジュール１２２に従い、ｉＳＣＳＩターゲット（ストレージ装置１０２）に接続されているストレージルータ１０７との間に確立されたｉＳＣＳＩセッションの監視を開始する（Ｓ４３３）。そして、ネットワーク断等によりストレージ装置１０２とのｉＳＣＳＩセッション断を検知した場合、ＣＰＵ１１１は、ｉＳＣＳＩセッション管理モジュール１２３に従い、当該ｉＳＣＳＩターゲットのターゲット管理情報２２０の接続状態情報２２３を「切断」に変更する（Ｓ４３４）。そして、セッション再開を行うためのｉＳＣＳＩログイン要求パケットを再度送信するべく、Ｓ４２５に戻る。
【００９７】
（６-３）データブロックライト処理
データブロックライト処理は、ライト要求の対象データブロックをライトキャッシュ機能付ルータ１０４にキャッシュするデータキャッシュ処理（図２のＳ１１５、Ｓ４０７、Ｓ４０８に相当）と、ライトキャッシュ機能付ルータ１０４にキャッシュされたデータブロックをストレージ装置１０２にライトするデータフラッシュ処理（図２のＳ４０９、Ｓ３０４、Ｓ５０２、Ｓ３０５に相当）とに分けることができる。以下、それぞれの処理について説明する。
【００９８】
（６-３-１）データキャッシュ処理
図１１は、データキャッシュ処理を説明するためのフロー図であり、図１１（Ａ）はディスクレス計算機１０１のデータキャッシュ処理に係る動作フローを、そして、図１１（Ｂ）はライトキャッシュ機能付ルータ１０４のデータキャッシュ処理に係る動作フローを示している。
【００９９】
図１１（Ａ）に示すように、ディスクレス計算機１０１において、ＣＰＵ１０１１は、ｉＳＣＳＩドライバに従い、自身のｉＳＣＳＩイニシエータ名およびストレージ装置１０２のiＳＣＳＩターゲット名を含むｉＳＣＳＩライト要求パケットを生成し、これをライトキャッシュ機能付ルータ１０４に送信する（Ｓ５１０）。なお、ｉＳＣＳＩライト要求パケットには、ボリュームのＬＵＮ、開始ＬＢＡ番号、データブロックのブロック数、および、ライト要求の対象データブロックが含まれる。
【０１００】
その後、ＣＰＵ１０１１は、ライトキャッシュ機能付ルータ１０４からｉＳＣＳＩライト応答パケットが送られてくるのを待つ（Ｓ５１１）。そして、受信したｉＳＣＳＩライト応答パケットが、ライト完了を示しているならば（Ｓ５１２でＹＥＳ）、ライト処理を終了する。一方、ライト失敗を示しているならば（Ｓ５１２でＮｏ）、Ｉ/Ｏ１０１５に接続された出力装置にエラー情報を出力し（Ｓ５１３）、それから処理を終了する。
【０１０１】
また、図１１（Ｂ）に示すように、ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ａを介してディスクレス計算機１０１からｉＳＣＳＩライト要求パケットを受信すると（Ｓ５２０）、このｉＳＣＳＩライト要求パケットを、ｉＳＣＳＩターゲットモジュール１２１、ｉＳＣＳＩセッション管理モジュール１２３およびデータ管理モジュール１２４に従って処理する。すなわち、先ず、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、このｉＳＣＳＩライト要求パケットの伝送に用いたＴＣＰコネクション情報を取得する。次に、ＣＰＵ１１１は、ｉＳＣＳＩセッション管理モジュール１２３に従い、取得したＴＣＰコネクション情報が対計算機セッション識別情報に登録されているセッション管理情報２１０を選択する（Ｓ５２１）。次に、ＣＰＵ１１１は、データ管理モジュール１２４に従い、ＳＣＳＩライト要求パケットで指定されているブロック数とメインメモリ１１２の残容量とを比較することにより、ＳＣＳＩライト要求パケットに格納されているライト要求の対象データブロックをキャッシュ可能か否かを判断する（Ｓ５２２）。
【０１０２】
Ｓ５２２において、例えばメインメモリ１１２の残容量が対象データブロックのブロック数に所定のマージンを加算した容量より少ない場合、キャッシュ不可能と判断する。そして、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、ライト失敗を示すｉＳＣＳＩライト応答パケットを生成する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、このｉＳＣＳＩライト応答パケットを、通信装置１１４ａを介して、ｉＳＣＳＩイニシエータ（ｉＳＣＳＩドライバ）を搭載するディスクレス計算機１０１へ送信する（Ｓ５２３）。
【０１０３】
一方、Ｓ５２２において、例えばメインメモリ１１２の残容量が対象データブロックのブロック数に所定のマージンを加算した容量以上の場合、キャッシュ可能と判断する。そして、ＣＰＵ１１１は、メインメモリ１１２にキャッシュレコード領域を確保する。それから、対象データブロックを記録単位つまり５１２バイトのブロックサイズに分割して、複数のブロックデータを得る。そして、ブロックデータ毎にキャッシュレコード２３０を作成し、各キャッシュレコード２３０のストレージ装置識別情報２３１、ボリューム識別情報２３２に、Ｓ５２１で選択したセッション管理情報２１０のストレージ装置識別情報２１１、ボリューム識別情報２１２を登録する。また、各キャッシュレコード２３０のブロックデータ２３４に、当該レコード２３０に対応するブロックデータを、そして、ブロック情報２３３に、開始ＬＢＡ番号からの連続番号（＝開始ＬＢＡ番号+先頭ブロックから対象ブロックまでのブロック数）を登録する（Ｓ５２４）。次に、ＣＰＵ１１１は、Ｓ５２１で選択したセッション管理情報２１０のストレージ装置識別情報２１１、ボリューム識別情報２１２を持つターゲット管理情報２２０を選択し、このターゲット管理情報２２０のレコード量２２５に、作成したキャッシュレコード２３０の総レコード数を加算する（Ｓ５２５）。その後、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、ライト成功を示すｉＳＣＳＩライト応答パケットを生成する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、このｉＳＣＳＩライト応答パケットを、通信装置１１４ａを介して、ｉＳＣＳＩイニシエータ（ｉＳＣＳＩドライバ）を搭載するディスクレス計算機１０１へ送信する（Ｓ５２６）。
【０１０４】
なお、ＣＰＵ１１１が、ｉＳＣＳＩセッション管理モジュール１２３に従い、ターゲット管理情報２２０のレコード量２２５を監視し、当該量が閾値を超えている場合には、ｉＳＣＳＩターゲットモジュール１２１によるｉＳＣＳＩライト応答パケットの送信を一定時間保留させるようにしてもよい。ディスクレス計算機１０１は、ライト応答パケットを受信しなければ、次のライト要求を送信できないので、ディスクレス計算機１０１のライト要求の発行を抑止することができる。
【０１０５】
（６-３-２）データフラッシュ処理
図１２は、ライトキャッシュ機能付ルータ１０４のデータフラッシュ処理に係る動作フローを示している。なお、ストレージルータ１０７およびストレージ装置１０２におけるデータフラッシュ処理に係る動作フローは、既存のストレージルータおよびストレージ装置におけるライト要求処理に係る動作フローと同じである。そこで、その詳細な説明を省略する。
【０１０６】
先ず、ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１は、データ管理モジュール１２４に従い、接続状態情報２２３が「接続」であり且つレコード量２２５が規定量を超えているターゲット管理情報２２０、あるいは、接続状態情報２２３が「接続」であり且つデータフラッシュ実行周期時間を過ぎているターゲット管理情報２２０が存在するか否かを調べる（Ｓ６１０）。ここで、データフラッシュ実行周期時間を過ぎているか否かの判断は、次のようにして行う。すなわち、ターゲット管理情報２２０に、当該ターゲット管理情報２２０により特定されるストレージ装置１０２のボリュームに対する最新のデータフラッシュ実行時刻を対応付けておく。なお、データフラッシュ処理が未だ実行されていない場合は、ターゲット管理情報２２０の作成時刻を最新のデータフラッシュ実行時刻として対応付ける。そして、最新のデータフラッシュ実行時刻から現在時刻までの経過時間をデータフラッシュ実行周期時間と比較することで、データフラッシュ実行周期時間を過ぎているターゲット管理情報２２０が存在するか否かを判断する。
【０１０７】
次に、ＣＰＵ１１１は、レコード量２２５が規定量を超えているターゲット管理情報２２０、あるいは、データフラッシュ実行周期時間を過ぎているターゲット管理情報２２０が存在する場合、データ管理モジュール１２４に従い、このターゲット管理情報２２０により特定されるストレージ装置１０２のボリュームを、データフラッシュ処理の対象ボリュームに決定する（Ｓ６１１）。また、このターゲット管理情報２２０に登録されているストレージ装置識別情報２２１、ボリューム識別情報２２２を持つキャッシュレコード２３０に格納されているブロックデータ２３４をデータフラッシュ対象のブロックデータに決定する（Ｓ６１２）。
【０１０８】
次に、ＣＰＵ１１１は、データ管理モジュール１２４に従い、データフラッシュ対象のブロックデータ２３４をブロック情報２３３が示すＬＢＡ番号の順に繋いでデータブロックを復元する（Ｓ６１３）。次に、ＣＰＵ１１１は、ｉＳＣＳＩイニシエータモジュール１２２に従い、対象ボリュームのストレージ装置識別情報およびボリューム識別情報を持つセッション管理情報２１０を特定し、このセッション管理情報２１０の対ストレージセッション識別情報２１５より特定されるｉＳＣＳＩセッションを選択する。そして、復元したデータブロックを対象ボリュームにライトするための、選択したｉＳＣＳＩセッションを用いたｉＳＣＳＩライト要求パケットを作成する。また、ｉＳＣＳＩライト要求パケットに対する応答時間の計測を開始する（Ｓ６１４）。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、このｉＳＣＳＩライト要求パケットを、通信装置１１４ｂを介して、ｉＳＣＳＩターゲット（ストレージ装置１０２）に接続されているストレージルータ１０７へ送信する（Ｓ６１５）。
【０１０９】
その後、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ｂを介してストレージルータ１０７からｉＳＣＳＩライト応答パケットを受信すると（Ｓ６１６）、このｉＳＣＳＩライト応答パケットを、ｉＳＣＳＩイニシエータモジュール１２２およびデータ管理モジュール１２４に従って処理する。すなわち、先ず、ＣＰＵ１１１は、ｉＳＣＳＩイニシエータモジュール１２１に従い、ｉＳＣＳＩライト要求パケットに対する応答時間を取得する。次に、データ管理モジュール１２４に従い、応答時間を対象ボリュームのターゲット管理情報２２０の負荷状態情報２２４に登録する（Ｓ６１７）。
【０１１０】
次に、ＣＰＵ１１１は、データ管理モジュール１２４に従い、ｉＳＣＳＩライト応答パケットが示すライト処理の成否を確認する（Ｓ６１８）。
【０１１１】
Ｓ６１８で成功を示している場合は、対象ブロックデータのキャッシュレコード２３０を削除する（Ｓ６１９）。また、対象ボリュームのターゲット管理情報２２０に登録されているレコード量から、削除した対象ブロックデータの総ブロック数を減算する（Ｓ６２０）。さらに、対象ボリュームのターゲット管理情報２２０がレコード量「０」であり、且つ、対象ボリュームのストレージ装置識別情報およびボリューム識別情報を持つセッション管理情報２１０の接続状態情報２１６が「切断」であるならば（Ｓ６２１）、このターゲット管理情報２２０を削除する（Ｓ６２２）。それから、Ｓ６１０に戻る。一方、Ｓ６１８で失敗を示している場合は、対象ブロックデータのキャッシュレコード２３０の削除等の処理を行うことなくＳ６１０に戻る。
【０１１２】
なお、Ｓ６１０において、ＣＰＵ１１１は、データ管理モジュール１２４に従い、キャッシュしたキャッシュレコードが一定量に達した場合、あるいは、ターゲット管理情報２２０の負荷状態情報２２４が既定値を超えた場合、データフラッシュ処理を終了し、ライト可能な他のストレージ装置１０２のボリュームを選択する。
【０１１３】
また、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ｂを介してユーザ管理サーバ１０６からデータフラッシュ要求パケットを受信すると（Ｓ６３０）、ユーザ管理エージェントモジュール１２５に従い、このデータフラッシュ要求パケットで指定されているストレージ装置識別情報およびボリューム識別情報を持つターゲット管理情報２２０を特定する（Ｓ６３１）。次に、ＣＰＵ１１１は、特定したターゲット管理情報２２０に対して、上述Ｓ６１１〜Ｓ６２１を行い、キャッシュレコードを全てフラッシュする（Ｓ６３２）。それから、ＣＰＵ１１１は、ユーザ管理エージェントモジュール１２５に従い、Ｓ６１７で確認したライト処理の成否を示す報告パケットを生成する。ＣＰＵ１１１は、ルーティングプログラム１３０に従い、この報告パケットを、通信装置１１４ｂを介して、ユーザ管理サーバ１０６へ送信する（Ｓ６３３）。
【０１１４】
（６-４）ｉＳＣＳＩセッション切断処理
図１３は、ライトキャッシュ機能付ルータ１０４のｉＳＣＳＩセッション切断処理に係る動作フローを示している。なお、ディスクレス計算機１０１におけるｉＳＣＳＩセッション切断処理に係る動作フローは、既存のディスクレス計算機におけるｉＳＣＳＩ切断処理に係る動作フローと同じである。そこで、その詳細な説明を省略する。
【０１１５】
先ず、ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、通信装置１１４ａを介してディスクレス計算機１０１（ｉＳＣＳＩドライバ）からｉＳＣＳＩログアウト要求パケットを受信すると（Ｓ７３０）、このｉＳＣＳＩログアウト要求パケットを、ｉＳＣＳＩターゲットモジュール１２１およびｉＳＣＳＩセッション管理モジュール１２３に従って処理する。すなわち、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、このｉＳＣＳＩログアウト要求パケットの伝送に用いたＴＣＰコネクション情報を取得する（Ｓ７３１）。次に、ＣＰＵ１１１は、ｉＳＣＳＩセッション管理モジュール１２３に従い、このＴＣＰコネクション情報を有する対計算機セッション識別情報を持つセッション管理情報２１０を選択し（Ｓ７３２）、この接続状態情報２１６を「切断」に変更する（Ｓ７３３）。それから、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、ｉＳＣＳＩログアウト応答パケットを生成する。次に、ＣＰＵ１１１は、ルーティングプログラム１３０に従い、この応答パケットを、通信装置１１４ａを介して、ディスクレス計算機１０１（ｉＳＣＳＩドライバ）に送信する（Ｓ７３４）。
【０１１６】
また、ＣＰＵ１１１は、ｉＳＣＳＩターゲットモジュール１２１に従い、切断状態が所定時間以上継続しているＴＣＰコネクションを検出すると（Ｓ７４０）、ｉＳＣＳＩセッション管理モジュール１２３に従い、このＴＣＰコネクション情報を有する対計算機セッション識別情報を持つセッション管理情報２１０を選択し（Ｓ７４１）、この接続状態情報２１６を「切断」に変更する（Ｓ７４２）。
【０１１７】
以上、本発明の第１実施形態について説明した。
【０１１８】
なお、本実施形態では、ライトキャッシュ機能付ルータ１０４において、セッション管理情報２１０、ターゲット管理情報２２０、キャッシュレコード２３０をメモリ１１２に格納する場合を例にとり説明した。しかし、これらの情報を記憶装置１１３に格納することも可能である。記憶装置１１３に格納した場合、ライトキャッシュプログラム１２０が異常終了した場合でライト処理を再開できる。
【０１１９】
つまり、記憶装置１１３にセッション管理情報２１０、ターゲット管理情報２２０、キャッシュレコード２３０を格納する場合、上記（５-４）ライトキャッシュ機能付ルータの設定作業で、ライトキャッシュプログラム１２０の起動時に、ＣＰＵ１１１が、ｉＳＣＳＩセッション管理モジュール１２３に従い、セッション管理情報２１０およびターゲット管理情報２２０の初期化を行う。ここで、セッション管理情報２１０、ターゲット管理情報２２０が存在する場合、ライトキャッシュプログラム１２０が異常終了したと判断し、セッション管理情報２１０、ターゲット管理情報２２０の接続状態情報２１６、２２３を「切断」に変更し、ストレージ装置１０２のボリュームと再接続を行うためのｉＳＣＳＩログイン要求パケットを、当該ストレージ装置１０２に送信する。そして、ログイン成功を示すｉＳＣＳＩログイン応答パケットを受信したならば、ＴＣＰコネクション情報、応答時間をターゲット管理情報２２０に設定し、また、接続状態情報２２３に「接続」に変更する。これにより、ＣＰＵ１１１は、データ管理モジュール１２４に従い、ライトしていないデータブロックを記憶装置１１３から読み出してデータフラッシュ処理を再開することができる。
【０１２０】
なお、ライトキャッシュプログラム１２０が異常終了した場合、ディスクレス計算機１０１のｉＳＣＳＩドライバから、再接続を行うためのｉＳＣＳＩログイン要求パケットが送られてくるが、ＣＰＵ１１１がｉＳＣＳＩセッション管理モジュール１２３に従いストレージ装置識別情報２１１、ボリューム識別情報２１２、ディスクレス計算機識別情報２１３、対計算機セッション情報２１４が一致するセッション管理情報２１０を選択し、この接続状態情報２１７を「接続」に変更し、ｉＳＣＳＩログイン応答パケットを返信することで、ｉＳＣＳＩセッションを再開できる。
【０１２１】
また、上記の実施形態では、５１２バイトのブロックサイズのブロックデータを記録単位としてキャッシュレコード２３０を作成している。しかし、ライト要求で送られてくる複数のブロックデータを１つの記録単位として、メモリ１１２および/または記憶装置１１３にキャッシュすることもできる。複数のブロックデータを１つの記録単位とする場合のレコード（ログレコードと呼ぶ）２５０の構成例を図１４に示す。図示するように、ログレコード２５０は、ブロック情報２５１、ブロック数２５２、および、ブロックデータ２５３を有する。ブロック情報２５１は、ボリューム内のデータブロックの位置を表わす情報でありＬＢＡ番号等である。ブロック数２５２は、ログレコード２５０に記録されているデータブロックのブロック数を表す。そして、ブロックデータ２３３は、前記ブロック数分でのブロックデータからなるデータブロックである。
【０１２２】
ログレコード２５０を用いる場合、上記（６-２）ｉＳＣＳＩセッション接続処理のセッション管理情報２１０を更新するステップ（図１０（Ｂ）のＳ４３０）において、メモリ１１２および/または記憶装置１１３上にデータブロック格納場所（ファイル等）を確保し、これをセッション管理情報２１０にログ管理情報２１７（図５参照）として登録する処理を追加する。また、上記（６-３-１）データキャッシュ処理のレコードを作成するステップ（図１１（Ｂ）のＳ５２４）において、対応するセッション管理情報２１０のログ管理情報２１７で指定されたデータブロック格納場所に、ｉＳＣＳＩライト要求の受信順にログレコード２５０を登録してゆく。さらに、上記（６-３-２）データフラッシュ処理のｉＳＣＳＩライト要求を作成するステップ（図１２のＳ６１５）において、登録されたログレコード２５０の順番に従ってｉＳＣＳＩライト要求を作成し、ストレージ装置１０２のボリュームへ送信する。
【０１２３】
<<第２実施形態>>
本発明の第２実施形態が適用されたディスクレス計算機システムについて、図面を参照して説明する。本実施形態では、ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１が、ライトキャッシュプログラム１２０に従い、ファイルシステムのデータ更新記録を単位としてレコードを作成し、ログレコードからデータブロックをストレージ装置１０２のボリュームにライトできるようにしたものである。
【０１２４】
本実施形態では、ディスクレス計算機１０１で起動されるＯＳがジャーナリングファイルシステムをサポートしていることが前提となる。ジャーナリングファイルシステムとは、ファイルのメタ情報、データの更新内容をログに記録しておき、このログに基づいて、定期的に、実際のデータ領域に書き込むものである。ジャーナリングファイルシステムは、ファイルシステムに、ログ開始を指示する手段（ログ開始手段）と、メタデータおよびデータブロックの変更をログファイルに記録する手段（ログ登録手段）とを、ファイルシステムに提供する。このジャーナリングファイルシステムにより、ファイルシステムは、初期化時に、ログ開始手段を用いログ作成の準備を行い、ライト要求が発生するとログ登録手段を用いてこの更新内容を示すログを作成する。このログを作成した段階で、ファイルシステムのライト要求が終了する。一方、ジャーナリングファイルシステムは、ログに記録されたメタデータ、データブロックの更新を実際のデータ領域に書き込む手段（ログフラッシュ手段）を用いて、定期的にデータ領域への書き込みを実行する。
【０１２５】
本実施形態では、ライトキャッシュ機能付ルータ１０４上にジャーナリングファイルシステムを配置している。そして、ディスクレス計算機１０１には、ディスクレス計算機１０１上で稼動するＯＳのファイルシステムに対して、ライトキャッシュ機能付ルータ１０４上で稼動するジャーナリングファイルシステムのエージェントを配置する。
【０１２６】
（１）ディスクレス計算機
本実施形態のディスクレス計算機１０１では、ＯＳおよびｉＳＣＳＩドライバなどと共に、ジャーナリングファイルシステムのエージェントプログラムが、ストレージ装置１０２のブートイメージを格納するボリュームからディスクレス計算機１０１へロードされ、ＣＰＵ１０１１により実行される。
【０１２７】
図１５は、本発明の第２実施形態のディスクレス計算機１０１で起動するプログラム構成例を示す図である。図示するように、ファイルシステムであるファイルモジュール１４３と、ｉＳＣＳＩドライバであるｉＳＣＳＩイニシエータモジュール１４１と、ログ開始要求、ログ登録要求をジャーナリングファイルシステムに通知するジャーナリングエージェントモジュール１４２と、を有する。また、図示していないが、その他のプログラムとして、ファイルシステムに対してデータ処理を要求するアプリケーションモジュールや、ＩＰネットワーク１０５ａと通信を行なうための通信モジュールなどが含まれる。
【０１２８】
ディスクレス計算機１０１において、ＣＰＵ１０１１は、ファイルモジュール１４３に従いリード要求を生成した場合、このリード要求をｉＳＣＳＩイニシエータモジュール１４１に従って処理する。すなわち、ファイルモジュール１４３からのリード要求に応じたｉＳＣＳＩリード要求パケットを生成し、ライトキャッシュ機能付ルータ１０４に送信する。そして、そのｉＳＣＳＩリード応答パケットを受信することで、ストレージ装置１０２のボリュームからデータブロックをリードする。一方、ＣＰＵ１０１１は、ファイルモジュール１４３に従いライト要求を生成した場合、このライト要求をジャーナリングファイルシステムがファイルシステムに提供するログ登録手段およびジャーナリングエージェントモジュール１４２に従って処理する。すなわち、ログ登録手段に従い、このライト要求の更新内容のログが作成される。そして、ジャーナリングエージェントモジュール１４２に従い、このログの登録要求をライトキャッシュ機能付ルータ１０４のジャーナリングファイルシステムに送信し、その結果を受信する。
【０１２９】
（２）ライトキャッシュ機能付ルータ
本実施形態のライトキャッシュ機能付ルータ１０４は、セッション管理情報２１０の構成およびライトキャッシュプログラム１２０のモジュール構成が第１実施形態と異なる。
【０１３０】
図１６は、本発明の第２実施形態で用いるセッション管理情報２１０の構成例を示す図である。図示するように、本実施形態では、セッション管理情報２１０に、エージェント識別情報２１８を追加している。エージェント識別情報２１８は、ジャーナリングエージェントモジュール１４２を識別する情報であり、コネクションＩＤ等である。
【０１３１】
図１７は、本発明の第２実施形態のライトキャッシュ機能付ルータ１０４で起動するライトキャッシュプログラム１２０のモジュール構成を説明するための図である。図示するように、本実施形態のライトキャッシュプログラム１２０では、データ管理モジュール１２４に代えて、ジャーナリングファイルシステムであるジャーナリングファイルモジュール１２６を設けている。
【０１３２】
ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１は、ジャーナリングファイルモジュール１２６に従い、ディスクレス計算機１０１のジャーナリングエージェントモジュール１４２から受け付けたログ開始要求、ログ登録要求に基づいて、メタデータ、データブロックの変更内容を示すログを登録する。また、定期的に、ログフラッシュを実行する。つまり、ライト対象のログに記録されているメタデータ、データブロックの変更内容を特定する。ＣＰＵ１１１は、ｉＳＣＳＩイニシエータモジュール１２２に従い、特定された更新情報に基づいてｉＳＣＳＩライト要求パケットを作成してｉＳＣＳＩターゲットへ送信し、そのｉＳＣＳＩライト応答パケットを受信する。また、ＣＰＵ１１１は、ジャーナリングファイルモジュール１２６に従い、ｉＳＣＳＩライト応答パケットに示されている結果を含んだパケットを、ディスクレス計算機１０１のジャーナリングエージェントモジュール１４２に送信する。
【０１３３】
図１８は、ＣＰＵ１１１がジャーナリングファイルモジュール１２６に従い作成するログレコード２６０の構成例を示す図である。図示するように、ログレコード２６０間の相関関係を表わすトランザクション識別情報２６１と、ファイルシステムのメタ情報、データ情報である更新情報２６２とを含む。
【０１３４】
（３）システム動作詳細
ディスクレス計算機１０１の電源をＯＮにすると、上記の第１実施形態と基本的に同様の動作（図２参照）が行われる。したがって、本実施形態においても、上記の第１実施形態で説明した（６-１）ユーザ認証処理、（６-２）ｉＳＣＳＩセッション接続処理、および、（６-３）データブロックライト処理と同様の処理が行われる。また、ディスクレス計算機１０１のＯＳ停止時には、上記の第１実施形態で説明した（６-４）ｉＳＣＳＩセッション切断処理と同様の処理が行われる。以下、これらの処理の第１実施形態との相違点について説明する。
【０１３５】
（３-１）ユーザ認証処理
第１実施形態で説明した（６-１）ユーザ認証処理と同様である。
【０１３６】
（３-２）ｉＳＣＳＩセッション接続処理
第１実施形態で説明した（６-２）ｉＳＣＳＩセッション接続処理と基本的に同様である。但し、セッション管理情報２１０を更新するステップ（図１０（Ｂ）のＳ４３０）において、メモリ１１２および/または記憶装置１１３上にログレコード格納場所（ファイル等）を確保し、これをセッション管理情報２１０にログ管理情報２１７として登録する処理を追加する。
【０１３７】
（３-２'）ログ開始処理
本実施形態では、ｉＳＣＳＩセッション接続処理が終了した後に、ディスクレス計算機１０１において、ＣＰＵ１０１１がファイルモジュール１４３に従いログ開始要求を発行する。このため、本実施形態では、以下に示すログ開始処理が追加される。
【０１３８】
ディスクレス計算機１０１において、ＣＰＵ１０１１は、ファイルモジュール１４３に従ってログ開始要求を発行し、ジャーナリングエージェントモジュール１４２に従ってこのログ開始要求に応じたログ開始要求パケットを作成して、ライトキャッシュ機能付ルータ１０４に送信する。ログ開始要求パケットには、ｉＳＣＳＩドライバに従いＯＳ管理領域に登録した、ストレージ装置１０２およびボリュームの情報（ｉＳＣＳＩターゲット名、ストレージルータのＩＰアドレス、ポート番号、ＬＵＮ）を追加登録する。
【０１３９】
ライトキャッシュ機能付ルータ１０４において、ＣＰＵ１１１は、通信装置１１４ａを介してディスクレス計算機１０１からログ開始要求パケットを受信すると、ジャーナリングファイルモジュール１２６に従い、ログ開始手段を実行して、ログレコード２６０の登録を開始する。また、ログ開始要求パケットに登録されているｉＳＣＳＩターゲット名、ＩＰアドレス、ポート番号、ＬＵＮから該当するセッション情報２１０を選択し、このエージェント識別情報２１８に、ジャーナリングエージェントモジュール１４２との接続を識別する情報（コネクション情報等）を追加登録する。また、ＣＰＵ１１１は、ジャーナリングファイルモジュール１２６に従い、ログ開始応答パケットを作成し、ディスクレス計算機１０１のジャーナリングエージェントモジュール１４２に返信する。
【０１４０】
（３-３）データブロックライト処理
（３-３-１）データキャッシュ処理
本実施形態のデータキャッシュ処理は、ディスクレス計算機１０１において、ＣＰＵ１０１１がファイルモジュール１４３に従いログ登録要求を発行することで開始される。つまり、本実施形態では、図１１（Ａ）のＳ５１０において、ＣＰＵ１０１１がジャーナリングエージェントモジュール１４２に従い、ｉＳＣＳＩライト要求パケットに代わりにログ登録要求パケットをライトキャッシュ機能付ルータ１０４へ送信する。なお、ログ登録要求パケットには、ログレコード２６０間の相関関係を表わすトランザクション識別情報２６１と、ファイルシステムのメタ情報、データ情報である更新情報２６２とを含む。また、Ｓ５１１、Ｓ５１２において、ＣＰＵ１０１１が、ジャーナリングエージェントモジュール１４２に従い、ライト応答パケットを受信する代わりにログ登録応答パケットを受信し、そのパケットが示す登録の成否を判断する。
【０１４１】
また、図１１（Ｂ）に示すライトキャッシュ機能付ルータ１０４の動作フローは次のように修正される。すなわち、Ｓ５２０において、ＣＰＵ１１１がジャーナリングファイルモジュール１２６に従い、ｉＳＣＳＩライト要求パケットに代えてログ登録要求パケットを受信する。また、Ｓ５２１において、ＣＰＵ１１１がジャーナリングファイルモジュールに従って、第１実施形態と同様の要領によりセッション管理情報２１０を選択する。また、Ｓ５２２において、ＣＰＵ１１１がジャーナリングファイルモジュールに従って、第１実施形態と同様の要領により、ログ登録要求に格納されているログ（トランザクション識別情報２６１、更新情報２６）をキャッシュ可能か否かを判断する。また、Ｓ５２４、Ｓ５２５において、ＣＰＵ１１１がジャーナリングファイルモジュールに従って、キャッシュレコード２３０の代わりにログレコード２６０を作成し、このログレコード２６０に格納されているデータブロックのブロック数に基づいてターゲット管理情報２２０を更新する。また、Ｓ５２３、Ｓ５２６において、ＣＰＵ１１１がジャーナリングファイルモジュール１２６に従い、ｉＳＣＳＩライト応答パケットに代わりにログ登録応答パケットを作成し、ディスクレス計算機１０１のジャーナリングエージェントモジュール１４２に返信する。
【０１４２】
（３-３-２）データフラッシュ処理
本実施形態のデータフラッシュ処理では、ＣＰＵ１１１がジャーナリングファイルモジュール１２６に従い、上記の第１実施形態におけるデータ管理モジュール１２４と同様の処理を行う。すなわち、本実施形態では、図１２のＳ６１３〜Ｓ６１５において、ＣＰＵ１１１がジャーナリングファイルモジュール１２６のログフラッシュ手段に従い、ログレコード２６０からｉＳＣＳＩライト要求パケットを作成し、これをストレージ装置１０２のボリュームへ送信する。また、Ｓ６１９では、トランザクション識別情報２６１が一致するログレコード２６０の全てを正常にライトできた場合にのみ、これらを削除する。
【０１４３】
（３-４）ｉＳＣＳＩセッション切断処理
第１実施形態で説明した（６-４）ｉＳＣＳＩセッション切断処理と同様である。
【０１４４】
以上、本発明の第２実施形態について説明した。
【０１４５】
本実施形態では、ディスク計算機１０１が異常終了した場合でも、ライトキャッシュ機能付ルータ１０４に残っているログレコード２６０をストレージ装置１０２にライトすることにより、ファイルシステムの回復を行うことができる。また、ライトキャッシュ機能付ルータ１０４が異常終了した場合でも、上記の第１実施形態と同様に、セッション管理情報２１０、ログレコード２６０を回復して、データフラッシュ処理を再開できる。
【０１４６】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【０１４７】
例えば、上気の各実施形態では、データフラッシュ処理において、レコード量２２５が規定量を超えているターゲット管理情報２２０、あるいは、データフラッシュ実行周期時間を過ぎているターゲット管理情報２２０を検出し、当該検出したターゲット管理情報２２０により特定されるストレージ装置１０２のボリュームを、データフラッシュの対象ボリュームに決定している（図１２のＳ６１０、Ｓ６１１参照）。しかし、前記検出したターゲット管理情報２２０に含まれている負荷状態情報２２４が示すｉＳＣＳＩ応答時間が所定の閾値より長い場合は、前記検出したターゲット管理情報２２０を対象ボリュームの決定に採用しないようにしてもよい。このようにすることで、負荷状態が高いストレージ装置１０２および/またはＴＣＰコネクション等の負荷がさらに高くなって通信品質が悪化が劣化するを抑止することができる。なお、このようにした場合、負荷状態情報２２４が示すｉＳＣＳＩ応答時間が所定の閾値より長いターゲット管理情報２２０により特定されるストレージ装置１０２のボリュームへのデータフラッシュ処理は、ユーザ管理サーバ１０６からのデータフラッシュ要求パケットに従って実行されることとなる。
【０１４８】
また、上記の各実施形態では、ディスクレス計算機１０１が接続されたＩＰネットワーク１０５ａと、ストレージルータ１０７（ストレージ装置１０２）が接続されたＩＰネットワーク１０５ｂと間に設置されるルータ装置に本発明を適用した場合を例にとり説明した。しかし、本発明はこれに限定されない。例えば、本発明のライトキャッシュ装置（ライトキャッシュプログラムを実行する装置）を、ルータとは別の装置として、ＩＰネットワーク１０５ａ上に配置してもよい。そして、起動時に、ディスクレス計算機１０１が、ＤＨＣＰサーバ１０３ａからライトキャッシュ装置のＩＰアドレスを入手し、このライトキャッシュ装置を例えばプロキシ装置に設定して、ディスクレス計算機１０１およびストレージルータ１０７（ストレージ装置１０２）間のｉＳＣＳＩパケットの送受が、ライトキャッシュ装置を経由して行われるようにしてもよい。
【０１４９】
また、上記の各実施形態では、ディスクレス計算機およびストレージルータ間のネットワーク通信プロトコルとしてＩＰが用いられ、ネットワーク通信プロトコルの上位プロトコルとしてｉＳＣＳＩが用いられている場合を例にとり説明したが、本発明はこれに限定されない。
【図面の簡単な説明】
【０１５０】
【図１】図１は本発明の第１実施形態が適用されたディスクレス計算機システムの概略図である。
【図２】図２は本発明の第１実施形態が適用されたディスクレス計算機システムの動作概要を説明するための図である。
【図３】図３はライトキャッシュ機能付ルータ１０４の概略図である。
【図４】図４はライトキャッシュプログラム１２０のモジュール構成を説明するための図である。
【図５】図５はＣＰＵ１１１がライトキャッシュプログラム１２０に従い処理を行う際に使用する管理情報の構成例を示す図であり、図５（Ａ）はセッション管理情報２１０の構成例を、そして、図５（Ｂ）はターゲット管理情報２２０の構成例を示している。
【図６】図６はＣＰＵ１１１がライトキャッシュプログラム１２０に従い、メインメモリ１１２にキャッシュされるデータブロックのキャッシュレコード２３０の構成例を示す図である。
【図７】図７はユーザ管理サーバ１０６の概略図である。
【図８】図８はユーザ管理情報２４０の構成例を示す図である。
【図９】図９はユーザ認証処理を説明するためのフロー図であり、図９（Ａ）はディスクレス計算機１０１のユーザ認証処理に係る動作フローを、図９（Ｂ）はライトキャッシュ機能付ルータ１０４のユーザ認証処理に係る動作フローを、そして、図９（Ｃ）はユーザ管理サーバ１０６のユーザ認証処理に係る動作フローを示している。
【図１０】図１０はｉＳＣＳＩセッション接続処理を説明するためのフロー図であり、図１０（Ａ）はディスクレス計算機１０１のｉＳＣＳＩセッション接続処理に係る動作フローを、そして、図１０（Ｂ）はライトキャッシュ機能付ルータ１０４のｉＳＣＳＩセッション接続処理に係る動作フローを示している。
【図１１】図１１はデータキャッシュ処理を説明するためのフロー図であり、図１１（Ａ）はディスクレス計算機１０１のデータキャッシュ処理に係る動作フローを、そして、図１１（Ｂ）はライトキャッシュ機能付ルータ１０４のデータキャッシュ処理に係る動作フローを示している。
【図１２】図１２はライトキャッシュ機能付ルータ１０４のデータフラッシュ処理に係る動作フローを示す図である。
【図１３】図１３はライトキャッシュ機能付ルータ１０４のｉＳＣＳＩセッション切断処理に係る動作フローを示す図である。
【図１４】図１４は本発明の第１実施形態の変形例で使用するログレコード２５０の構成例を示す図である。
【図１５】図１５は本発明の第２実施形態のディスクレス計算機１０１で起動するプログラム構成例を示す図である。
【図１６】図１６は本発明の第２実施形態で用いるセッション管理情報２１０の構成例を示す図である。
【図１７】図１７は本発明の第２実施形態のライトキャッシュ機能付ルータ１０４で起動するライトキャッシュプログラム１２０のモジュール構成を説明するための図である。
【図１８】図１８は本発明の第２実施形態において、ＣＰＵ１１１がジャーナリングファイルモジュール１２６に従い作成するログレコード２６０の構成例を示す図である。
【符号の説明】
【０１５１】
１０１…ディスクレス計算機、１０２…ストレージ装置、１０３…ＤＨＣＰ/ＴＦＴＰサーバ、１０４…ライトキャッシュ機能付ルータ、１０５…ＩＰネットワーク、１０６…ユーザ管理サーバ、１０７…ストレージルータ
【図１】
2005284497.tif 000003
【図２】
2005284497.tif 000004
【図３】
2005284497.tif 000005
【図４】
2005284497.tif 000006
【図５】
2005284497.tif 000007
【図６】
2005284497.tif 000008
【図７】
2005284497.tif 000009
【図８】
2005284497.tif 000010
【図９】
2005284497.tif 000011
【図１０】
2005284497.tif 000012
【図１１】
2005284497.tif 000013
【図１２】
2005284497.tif 000014
【図１３】
2005284497.tif 000015
【図１４】
2005284497.tif 000016
【図１５】
2005284497.tif 000017
【図１６】
2005284497.tif 000018
【図１７】
2005284497.tif 000019
【図１８】
2005284497.tif 000020