(57)【特許請求の範囲】
【請求項１】
複数の計算機と、
前記複数の計算機が共用する記憶装置と、
前記記憶装置の管理装置と、を有し、
ユーザが前記複数の計算機のうちの任意の計算機を使用して前記記憶装置にアクセスすると、当該記憶装置は前記ユーザに専有の記憶領域を提供するようにした計算機システム
であって、
前記記憶装置は、
前記複数の計算機がアクセス可能な第１の論理ボリュームと、
それぞれが前記専有の記憶領域を定義する複数の第２のボリュームと、
前記第１の論理ボリュームの識別情報と、前記複数の第２の論理ボリュームの識別情報と、前記複数の計算機の識別情報と、の対応を規定した第１の管理テーブルと、を有し、
前記管理装置は、前記ユーザに対する前記複数の第２の論理ボリュームの割当てを管理する管理テーブルであって、前記第１の論理ボリュームの識別情報と、前記複数の第２の論理ボリュームの識別情報と、前記複数の計算機の中の前記ユーザが使用する計算機の識別情報と、を対応させて登録した第２の管理テーブルを備え、
前記ユーザからのログイン後、前記第２の管理テーブルについて、前記第１の論理ボリュームを検出し、
前記ユーザが使用している計算機の識別情報と、前記第２の管理テーブルに登録されている前記計算機の識別情報と、を比較し、この比較結果に基づいて、前記第２の管理テーブルに登録されている前記第２の論理ボリュームを、前記ユーザが使用する計算機が専有できるように前記第１の管理テーブルに登録してあるか否かを判定し、
この判定を否定すると、前記ログインしたユーザについての前記確認した第１の論理ボリュームに係る、前記第２の管理テーブルに登録されている情報を前記記憶装置に送信し、
前記記憶装置は、
当該管理装置から送信された情報を前記第１の管理テーブルに登録し、
前記ユーザが使用する計算機からアクセスがあると、前記第１の管理テーブルについて、前記第１の論理ボリュームを検出して、当該複数の第１の論理ボリュームに対応し、前記ユーザが使用する計算機に割当てられる前記第２の論理ボリュームの識別情報を確認し、
当該識別情報を検出すると、これを前記ユーザが使用する計算機に送信し、
前記計算機が前記第１の論理ボリュームにアクセスし、次いで、前記第２の論理ボリュームの識別情報に基づいて当該第２の論理ボリュームへアクセスすると、前記計算機を使用する前記ユーザに当該当該第２の論理ボリュームを専有して使用することを許可し、
前記複数の計算機が前記記憶装置に同一の識別記号を用いて前記第１の論理ボリュームにアクセスしても、前記記憶装置は、前記第１の管理テーブルから、各計算機に専有される第２の論理ボリュームの識別情報を確認し、当該識別情報を対応する各計算機に送信する、計算機システム。
【請求項２】
前記管理装置は、前記ユーザの複数と複数のパスワードとの対応関係を管理し、当該複数のユーザ名と複数のパスワードとの対応関係に基づいて、ログイン要求を前記ユーザが使用する計算機から受信した場合に、前記ユーザの認証を含む前記ログインの処理を行う、請求項１記載の計算機システム。
【請求項３】
前記複数の計算機の各々は計算機識別情報を記録する記憶領域を有しており、前記管理装置は、前記計算機が前記記憶装置の前記第２論理ボリュームにアクセスすると、前記第２の管理テーブルに前記計算機識別情報を登録する請求項１又は２記載の計算機システム。
【請求項４】
前記ユーザが使用する計算機は、前記記憶装置からアクセスを許可された前記第２の論理ボリュームから、ブートローダを読み出し、ＯＳのブートアップを行う請求項１乃至３のいずれか１項記載の計算機システム。
【請求項５】
前記第１の論理ボリュームが複数存在し、
前記管理装置は、前記第２の管理テーブルについて、前記複数の前記第１の論理ボリュームを順番に検出し、
前記記憶装置は、前記第１の管理テーブルについて、前記複数の第１の論理ボリュームを順番に検出する、請求項１乃至４のいずれか１項記載の計算機システム。
【請求項６】
前記複数の第１の論理ボリュームの各々には、連続番号が順番に、識別情報として設定されている、請求項１乃至５のいずれか１項記載の計算機システム。
【請求項７】
前記管理装置は、前記第２の管理テーブルについて、前記複数の第１の論理ボリュームを前記連続番号に従って順番に検出し、
前記記憶装置は、前記第１の管理テーブルについて、前記複数の第１の論理ボリュームを前記連続番号に従って順番に検出する、請求項６記載の計算機システム。
【請求項８】
ユーザが複数の計算機のうちの任意の計算機を使用して、前記複数の計算によって共用される記憶装置にアクセスすると、当該記憶装置は前記ユーザに専有の記憶領域を提供するようにした計算機システムにおけるアクセス制御方法であって、
前記記憶装置は、
前記複数の計算機がアクセス可能な第１の論理ボリュームと、
それぞれが前記専有の記憶領域を定義する複数の第２のボリュームと、
前記第１の論理ボリュームの識別情報と、前記複数の第２の論理ボリュームの識別情報と、前記複数の計算機の識別情報と、の対応を規定した第１の管理テーブルと、をそれぞれ設定し、
前記記憶装置を管理する管理装置は、前記ユーザに対する前記複数の第２の論理ボリュームの割当てを管理する管理テーブルであって、前記第１の論理ボリュームの識別情報と、前記複数の第２の論理ボリュームの識別情報と、前記複数の計算機の中の前記ユーザが使用する計算機の識別情報と、を対応させて登録した第２の管理テーブルを設定し、
前記ユーザからのログイン後、前記第２の管理テーブルについて、前記第１の論理ボリュームを検出し、
前記ユーザが使用している計算機の識別情報と、前記第２の管理テーブルに登録されている前記計算機の識別情報とを比較し、この比較結果に基づいて、前記第２の管理テーブルに登録されている前記第２の論理ボリュームを、前記ユーザが使用する計算機が専有できるように前記第１の管理テーブルに登録してあるか否かを判定し、
この判定を否定すると、前記ログインしたユーザについての前記確認した第１の論理ボリュームに係る、前記第２の管理テーブルに登録されている情報を前記記憶装置に送信し、
前記記憶装置は、
当該管理装置から送信された情報を前記第１の管理テーブルに登録し、
前記ユーザが使用する計算機からアクセスがあると、前記第１の管理テーブルについて、前記第１の論理ボリュームを検出して、当該複数の第１の論理ボリュームに対応し、前記ユーザが使用する計算機に割当てられる前記第２の論理ボリュームの識別情報を確認し、
当該識別情報を検出すると、これを前記ユーザが使用する計算機に送信し、
前記計算機が前記第１の論理ボリュームにアクセスし、次いで、前記第２の論理ボリュームの識別情報に基づいて当該第２の論理ボリュームへアクセスすると、前記計算機を使用する前記ユーザに当該当該第２の論理ボリュームを専有して使用することを許可し、
前記複数の計算機が前記記憶装置に同一の識別記号を用いて前記第１の論理ボリュームにアクセスしても、前記記憶装置は、前記第１の管理テーブルから、各計算機に専有される第２の論理ボリュームの識別情報を確認し、当該識別情報を対応する各計算機に送信する、計算機システムにおけるアクセス制御方法。
【請求項９】
前記第１の論理ボリュームが複数存在し、
前記管理装置は、前記第２の管理テーブルについて、前記複数の前記第１の論理ボリュームを順番に検出し、
前記記憶装置は、前記第１の管理テーブルについて、前記複数の第１の論理ボリュームを順番に検出する、請求項８記載のアクセス制御方法。
【請求項１０】
前記複数の第１の論理ボリュームの各々には、連続番号が順番に、識別情報として設定されている、請求項８又は９記載のアクセス制御方法。
【請求項１１】
前記管理装置は、前記第２の管理テーブルについて、前記複数の第１の論理ボリュームを前記連続番号に従って順番に検出し、
前記記憶装置は、前記第１の管理テーブルについて、前記複数の第１の論理ボリュームを前記連続番号に従って順番に検出する、請求項１０記載のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に形成される論理ボリュームの管理方式に関し、特に、複数のユーザがそれぞれ専用の論理ボリュームを所有し、使用する計算機に依存せずに専用の論理ボリュームを使用できるようにする方法に関する。
【背景技術】
【０００２】
複数のユーザが複数のクライアント計算機を用いて業務処理等を行う計算機システムは、クライアント計算機システムと呼ばれる。従来、クライアント計算機システムは、単独ですべての計算処理を実行できる機能を備えた、例えば、パーソナルコンピュータ（ＰＣ）のような計算機を用いて構築されていた。このようなクライアント計算機システムで用いられる計算機は、高性能なＣＰＵ、大容量のメモリ、大容量のハードディスク装置、及び高速なグラフィック機能等を有する“太った”計算機であり、通称で「Ｆａｔクライアント」と呼ばれている。Ｆａｔクライアントを用いたクライアント計算機システムは、Ｆａｔクライアントシステム(Fat Client System：ＦＣＳ)とも呼ばれる。ＦＣＳでは複数のＦａｔクライアントをＬＡＮ（ローカル・エリア・ネットワーク）で相互に接続し、必要に応じファイルの転送や、メール送受信等の通信が行われる。Ｆａｔクライアントは、一般に、ＯＳ（オペレーティングシステム）やアプリケーションプログラム、あるいは、ユーザデータ等を格納するためのローカルなディスク装置を備える。
【０００３】
複数のユーザがＦＣＳを使用するにあたって、一人あたり一台のクライアント計算機が設けられていれば、各人が専用の環境を所持することができる。ここで環境とは、ＯＳの設定や、プリンタ、ネットワークの設定、さらには、アプリケーションプログラムの設定、グラフィック画面の設定、ユーザのデータを保存するディスク装置やテープ装置等の構成など、ハードウェア、ソフトウェアの各種の設定、及びデータまで含めた計算機の状態のことをいう。一人あたり一台のクライアント計算機を有するＦＣＳでは、各ユーザが、その好みや所有するハードウェア、ソフトウェアの構成に応じて環境を構築することができる。
【０００４】
一方、複数のユーザで複数の計算機を共用し、ユーザは空いている任意の計算機を使うようなＦＣＳでは、ユーザが利用できる環境は制限されたものになる。このようなシステムでは、たとえば、アプリケーションプログラムの操作設定や、グラフィック画面の設定に、ユーザの好みを反映させられなかったり、自分のデータを格納するための専用のディスク装置がなかったりする。特にこのような構成では、データの一元管理が問題となる。例えば、ユーザの利用するデータは、各計算機に分散して配置されることになってしまい、バージョンの管理や、バックアップ等の保守管理に多大な手間が発生する。
【０００５】
このような場合、システム内にファイルサーバを設置し、ファイルサーバが有する記憶装置に各人専用のパーティションをファイルサーバの管理の下で作成し、これをネットワーク経由でクライアント計算機にマウントして使用すれば、あたかもローカルディスクとして専用のディスク装置がクライアント計算機に接続してあるかのように使用することができる。
【０００６】
近年、クライアント計算機システムの別の例として、ネットワーク・コンピュータ・システム（Network Computer System：ＮＣシステム）と呼ばれるシステムが考えられている。ネットワーク・コンピュータ・システムを構築する計算機は、ネットワークコンピュータ（Network Computer：ＮＣ）と呼ばれ、ＯＳやアプリケーションプログラムを格納するハードディスク装置を備えない等、低価格、低機能化した“痩せた”計算機である。このような計算機のことをＦａｔクライアントに対比し、「Ｔｈｉｎクライアント」と称する。このＴｈｉｎクライアントを用いたクライアント計算機システムは、Ｔｈｉｎクライアントシステム(Thin Client System：ＴＣＳ)とも呼ばれる。
【０００７】
以下、ＴＣＳの一例としてＮＣシステムシステムについて、図２２を用い説明する。
【０００８】
図において、２０００（ａ〜ｃ）は複数台のＮＣ、７はサーバ、１はサーバ７に接続されたディスク装置、９はＮＣ２０００とサーバ７を相互に接続するネットワークである。
【０００９】
ＮＣ２０００には、ＯＳやアプリケーションプログラム、あるいは、ユーザデータを格納するためのディスク装置は備えられていない。ＮＣ２０００は、サーバ７の有するディスク装置１の一部の領域をリモートのディスク装置としてマウントして利用する。ＯＳ、アプリケーションプログラム、ユーザデータは、ディスク装置１に格納される。ＮＣ２０００の起動時には、ディスク装置１からネットワーク９経由でＯＳをＮＣ２０００にロードし実行する。アプリケーションプログラムの起動も同様にして行われる。
【００１０】
ディスク装置１に設けられるユーザ用の記憶領域には、サーバ側の設定により、ユーザ専用のエリアが用意され、サーバの排他制御機能により、他のユーザが使用できないようにアクセス制限がかけられる。これにより、計算機環境を各人専用にパーソナライズすることができ、また、使用するクライアント計算機に依存せずに、自分専用の環境やデータを使用することができる。これらの管理は、すべてサーバにおいて実施される。
【特許文献１】特開平１１-７４０４号公報
【特許文献２】特開平１０-３３３８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述したように、従来のＦＣＳでは、複数のクライアント計算機を複数のユーザで共用する場合、計算機環境を個人の好みや要求に従いパーソナライズすることができず使いにくいという問題がある。また、個人のデータを特定クライアント計算機においておけないので、データが分散し、管理が困難になるという問題がある。
【００１２】
このような問題を解決するために、ＦＣＳにファイルサーバを設けると、データが一元化されるので管理は容易になるが、ファイルサーバが必要とされる分コストが上昇する。また、ディスクアクセスの際に、ネットワークやサーバを経由することになる。このため、そのオーバヘッドにより性能が低下する。さらには、多数のクライアントからのディスクアクセスが発生し、ネットワークやサーバの負荷が上昇するという問題がある。
【００１３】
また、ＮＣシステムを代表とするＴＣＳは、ＦＣＳにファイルサーバを設ける場合と同様の問題がある。
【００１４】
本発明の目的は、これら従来技術における問題点に鑑み、複数のユーザが複数の計算機を共用して使用するシステムにおいて、ユーザが計算機を選ぶことなく自分専用の環境やデータを使用することができる計算機システムを提供することにある。
【００１５】
また、本発明の他の目的は、ユーザのデータを一元管理可能な計算機システムを提供することにある。
【００１６】
さらに、本発明の他の目的は、ユーザ用のデータを管理するためのサーバを必要としない安価な計算機システムを提供することにある。
【００１７】
本発明のさらなる目的は、LANやサーバに負荷をかけない計算機システムを提供することにある。
【００１８】
本発明のさらに他の目的は、ディスクアクセスの際にLANやサーバを経由しない高速なディスクアクセスを実現する計算機システムを提供することにある。
【課題を解決するための手段】
【００１９】
上記目的を達成するために、本発明の計算機システムは、複数台の計算機と、これら複数の計算機により共用される記憶装置と、記憶装置を管理するための管理コンソールと、複数の計算機、記憶装置、及び管理コンソールを相互に接続するI/Oチャネルを有して構成される。
【００２０】
好ましい態様において、各計算機は、I/Oチャネルへの接続・制御を行う手段と、I/Oチャネルへの接続・制御を行う手段を識別するために定義されたWorld Wide Name（ＷＷＮ)等の識別名を保存する手段と、I/Oチャネルに接続した記憶装置からＯＳのブートアップを行うための制御手段と、ユーザの名前やパスワード等のユーザ識別・認証情報を入力する手段と、前記ユーザ識別・認識情報とＩＰアドレスや計算機名等の計算機の識別情報を管理コンソールに送信する手段とを備える。
【００２１】
記憶装置は、管理コンソールと通信する手段と、管理コンソールからの指示に従い、論理ボリュームであるＬＵ（Logical Ｕnit）を複数個記憶装置の内部に定義・作成し、そのＬＵに対し、記憶装置の内部で一意な名前である「内部ＬＵＮ（Logical Unit Number）」を定義し、そのＬＵに対して、アクセスを許可する計算機からみて認識される仮想的なＬＵＮである「仮想ＬＵＮ」を管理コンソールの指示に従いマッピングし、内部ＬＵＮと仮想ＬＵＮと計算機の対応関係を管理する手段と、あるＬＵに対して管理されている対応関係以外の計算機からアクセスされた場合にそれを抑止する手段を備える。
【００２２】
管理コンソールは、計算機から送信されたユーザ識別・認証情報と計算機の識別情報を受信する手段と、記憶装置と通信する手段と、記憶装置内部にＬＵを作成するよう指示し、そのＬＵに記憶装置が与えた内部ＬＵＮに対して、計算機から認識されるＬＵＮである仮想ＬＵＮを記憶装置に指示する手段と、計算機システムを使用するユーザを識別・認証情報で管理し、ユーザ毎に記憶装置の内部に専用のＬＵを作成し、ユーザ識別情報、現在ユーザが使用している計算機の識別情報、及びそのユーザ専用のＬＵの内部ＬＵＮと仮想ＬＵＮの関係を管理する手段を備える。
【発明を実施するための最良の形態】
【００２３】
以下に、本発明の実施の形態を説明する。
【実施例１】
【００２４】
図１は、第１の本実施形態における計算機システムの構成図である。
【００２５】
図において、２（２ａ〜２ｎ）は、計算機、１は、すべての計算機２により共用される記憶装置（以下では、ストレージと呼ぶ）、４は、ストレージ１を管理
するための管理コンソール、３は、計算機２、ストレージ１、及び管理コンソール４を相互に接続するファイバチャネル接続手段、５ａ〜５ｎは、ファイバチャネルである。６は、ストレージ１と管理コンソール４が相互に通信するための通信手段、９は、複数の計算機２と管理コンソール４を接続し、これらの間で通信を行うためのネットワークである。
【００２６】
１７(１７ａ〜１７ｎ)は、ストレージ１の内部に定義し作成された複数の論理ユニット（Logical Unit：ＬＵ）である。論理ユニットとは上記の説明で用いた論理ボリュームと同義であり、いわゆるパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）といった計算機とストレージを接続するインタフェース（以下、Ｉ／Ｆと略記する）のプロトコルであるＳＣＳＩ（Small Computer System Interface）の仕様において定義された名称である。以下、本発明の実施形態においては、Ｉ／Ｆはファイバチャネルとし、そのプロトコルはＳＣＳＩであると想定し、論理ボリュームのことを単にＬＵと呼ぶことにする。またＬＵを識別するための番号のことをＬＵＮ（Logical Unit Number）と呼ぶ。本実施例以下ではすべてのＬＵは、あるユーザ専用に定義されるものとして説明する。
【００２７】
図２は、計算機２の構成図である。
【００２８】
２１は、計算機の全体の制御を行う中央制御手段、２２は、ファイバチャネルの接続、制御を行うために、計算機２に搭載されたファイバチャネルＩ／Ｆ制御ボード、２３は、計算機２を利用するユーザが情報を入力したり出力したりするための入出力手段、２４は、ネットワーク9を用いた通信制御を行うためのネットワーク制御手段、２５は、中央制御手段２１が各種制御を実行するために必要なプログラムやデータを格納するためのメモリである。メモリ２５には、計算機２を使用するユーザを管理するために、中央制御手段２１により実行されるユーザ管理プログラム２５１が保持される。
【００２９】
ファイバチャネルＩ／Ｆ制御手段２２０は、ファイバチャネルの制御を行うファイバチャネルＩ／Ｆ制御手段２２０、ファイバチャネルＩ／Ｆ制御手段２２０が制御をするために必要なプログラムやデータ、及び中央制御手段２１がファイバチャネルＩ／Ｆ制御手段２２０を制御するために必要なプログラムやデータを格納するためのメモリ２２１を有する。
【００３０】
メモリ２２１には、ファイバチャネル５に接続された計算機２の外部のストレージ１からＯＳを起動する際に、ファイバチャネルＩ／Ｆ制御手段２２０を制御するために中央制御手段２１が実行するブートアップ制御プログラム２２１１、ファイバチャネルＩ／Ｆ制御手段２２０を識別するために設けられた世界で唯一な名称の情報であるＷＷＮ（World Wide Name）２２１２が格納されている。ここで、本実施形態ではファイバチャネルＩ／Ｆ制御ボード２２が計算機２に搭載されているが、本ボードに搭載されるファイバチャネルＩ／Ｆ制御手段２２０、およびメモリ２２１は、計算機２の内部にファイバチャネルＩ／Ｆ制御ボード２２を用いずに直接実装されていてもよく、この場合であっても本発明の作用、効果は全く同様である。
【００３１】
図３は、ストレージ１の構成図である。
【００３２】
１１は、ストレージの全体制御を司る中央制御手段、１２は、ファイバチャネル５ｄへの接続と、その制御を行うファイバチャネルＩ／Ｆ制御手段、１３は、中央制御手段１１が、ストレージ１の内部制御を行うためのプログラムやデータを格納するためのメモリ、１４は、ストレージ１を管理する管理コンソール４との間の通信を制御する通信制御手段、１７０〜１７６は、ストレージ１内部に設けられた複数の論理ユニット（ＬＵ）であり、物理的なディスク装置の記憶空間の一定の領域に構成された、上位装置から見える論理的なボリュームである。なお、以下では、ＬＵ１７０〜１７６を総括して引用する際に参照番号として１７Ｘを使用する。
【００３３】
メモリ１３には、複数のＬＵ１７Ｘを定義し作成するために中央制御手段１１が実行するＬＵ定義プログラム１３１、各計算機２が、複数のＬＵ１７Ｘのそれぞれに対するアクセス禁止／許可、ＬＵ１７Ｘの属性、上位計算機から認識される仮想ＬＵＮ、及びストレージ内部でＬＵ１７Ｘを管理するために付加される内部ＬＵＮのそれぞれの対応関係を中央制御手段１１が管理するために用いられるＬＵＮ管理テーブル１３２、ＬＵＮ管理テーブル１３２の情報に従い各計算機２からの各ＬＵ１７Ｘへのアクセスを制限／許可の制御、及びアクセスが許可される場合に、ＬＵ１７Ｘに対するリード・ライトアクセスの制御のために中央制御手段１１により実行されるアクセス制御プログラム１３３が格納される。
【００３４】
図４は、管理コンソール４の構成図である。
【００３５】
４１は、管理コンソール４全体の制御を司る中央制御手段、４２は、管理者が管理コンソール４を操作するための入出力手段、４３は、ストレージ１の各種設定のための通信を行う通信手段６を制御する通信制御手段、４４は、中央制御手段４１が実行するプログラムやデータを格納するためのメモリ、４６は、計算機２と通信を行うためのネットワーク９を制御するネットワーク制御手段、４７は、管理コンソール４のＯＳやプログラムを格納する内蔵ディスクであるローカルディスクである。
【００３６】
メモリ４４には、ユーザとＬＵＮの関係を管理するために中央制御手段４１により実行されるユーザ−ＬＵＮ管理プログラム４４１、ユーザとＬＵＮとユーザが使用している計算機５を管理するためのユーザ-ＬＵＮ管理テーブル４４２、計算機５と計算機５に実装されているファイバチャネルＩ／Ｆ制御手段２２０に設定されたＷＷＮ２２１２との関係を管理するための計算機管理テーブル４４３が格納される。
【００３７】
以下、本実施形態における計算機システムについて、さらに、詳細に説明する。
【００３８】
(1)  内部ＬＵＮと仮想ＬＵＮ
まず、本実施形態におけるＬＵ（Logical Unit）について説明する。ＬＵはストレージの上位計算機から見たときの論理的なボリュームである。上位計算機は1つのＬＵを１台のストレージとして認識する。
【００３９】
ストレージ１は、その内部を複数の領域に分割し、分割したそれぞれの領域をＬＵとして定義、構築することができる。これを内部ＬＵと呼ぶことにする。ストレージ１では内部ＬＵを管理するため、各ＬＵに対して０から始まる整数でシリアル番号が付けられる。この番号を内部ＬＵＮ（Logical Unit Number）と呼ぶ。
【００４０】
一方、本実施形態における計算機システムのように、複数の計算機２が１台のストレージを共用する場合、計算機２それぞれに専用のＬＵを割り当てる。一般に、ＰＣ等の上位計算機は、ＯＳのブート時に接続するストレージをサーチしてＬＵを検出する。このときのサーチ方法には、いくつかの制約がある場合がある。それは、
(a) ＬＵＮを０から順にサーチする。
(b) ＬＵＮは連続番号で存在すると仮定し、ある番号が存在しない場合、その番号以降のサーチは行わない。
の２点である。これはサーチ時間を短縮するための工夫である。
【００４１】
本実施形態においても、計算機２は、この制約に従った上位計算機であると仮定する。このような場合、内部ＬＵＮをそのまま上位計算機に割り当てるとすると、内部ＬＵＮが０以外のＬＵを割り当てられた計算機は、このＬＵを検出できないことになってしまう。そこで、すべての計算機に対し、０から始まる連続番号のＬＵＮを持つＬＵを割り当てることが望ましい。本実施形態では、ストレージ１は各計算機２ごとに、計算機２が使用するＬＵのＬＵＮをすべて０から始まる連続した番号になるよう再定義することによりこの問題を解決する。ここでは、各計算機２から認識されるＬＵを仮想ＬＵ、仮想ＬＵに割り当てるＬＵＮを仮想ＬＵＮと呼び、内部ＬＵおよび内部ＬＵＮと区別する。内部ＬＵＮと仮想ＬＵＮとの対応関係は、ストレージ１が備えるＬＵＮ管理テーブル１３２により管理される。
【００４２】
(2)ＬＵＮ管理テーブル
ＬＵＮ管理テーブル１３２の一例を図５（ａ）に示す。ＬＵＮ管理テーブル１３２には、ポート番号、Target ID、仮想ＬＵＮ、内部ＬＵＮ、ＷＷＮ、Ｓ_ＩＤ、及び属性が格納される。
【００４３】
ポート番号は、ストレージ１が備えるファイバチャネル接続ポートの番号である。本実施形態では、ポート数は１個であるので、一律０が格納される。
【００４４】
Target IDは、上位計算機との接続Ｉ／Ｆにおいて、ストレージ１に割り当てられる識別子（ＩＤ）である。本実施形態のように、上位計算機との接続Ｉ／Ｆがファイバチャネルの場合には、各ポート毎に唯一のＤ_ＩＤ（Destination ID）を備えるが、ポート番号の項があるので省略してもよいし、ファイバチャネルの初期化時に決定したＤ_ＩＤを格納しても良い。ＳＣＳＩの場合には、同一ポートに複数のＩＤを備えることができるので、そのときの各ＬＵＮの属するTarget IDを格納する。以下本実施形態では、ファイバチャネルを仮定し、Target IDは未使用とし、Target IDの欄には一律０を格納する。
【００４５】
仮想ＬＵＮと内部ＬＵＮは、上位計算機に割り当てた内部ＬＵＮと各上位計算機から認識される仮想ＬＵＮとの対応関係を示す。たとえば、図５では、内部ＬＵＮ０は仮想ＬＵＮ０として、また内部ＬＵＮ５も仮想ＬＵＮ０として定義されている。両者はともに仮想ＬＵＮ０として定義されているが、それぞれ使用できる計算機２が異なる。
【００４６】
ＷＷＮは、各上位計算機のファイバチャネルＩ／Ｆ接続手段２２０を特定する情報であるWorld Wide Nameである。ファイバチャネルのポートとポートの接続関係を確立するポートログイン処理の際に、各上位計算機のＷＷＮがストレージ１に通知される。
【００４７】
Ｓ_ＩＤは、ファイバチャネルのフレームヘッダに格納されるＩＤ情報であり、フレームを作成したソース（イニシエータ）を識別するＩＤである。Ｓ_ＩＤは、ファイバチャネルの初期化の際に、動的に割り当てられる。先に述べたＷＷＮは初期化の際に交換された各ファイバチャネルポートにより一意に設定される値であるが、ＷＷＮとＳ_ＩＤの関連づけを行うことで、フレーム毎にＷＷＮを調べなくてもＳ_ＩＤのみ検査することで上位計算機を特定できるようになっている。
【００４８】
属性は、各ＬＵの所有属性を示す。「専有」は、１台の上位計算機により専有されるＬＵであることを示す。「共有」は複数の上位計算機により共有されるＬＵであることを示す。本実施形態では、各ＬＵはある一台の上位計算機により専有されるものと仮定する。
【００４９】
(3)ユーザとＬＵの関係
本実施形態では、計算機システムを使用するユーザ８が少なくとも一人以上であり、ユーザ８は、任意の計算機２を使用できるものとする。ユーザ８は、自分が使用する環境を格納したＬＵをそれぞれ一つ以上持つことができる。以下の説明では簡単のため、各ユーザ８が専用のＬＵをそれぞれ一つずつ所有しているものとして説明する。
【００５０】
ユーザと、ユーザが所有しているＬＵとの関係は、管理コンソール４が備えるユーザ−ＬＵＮ管理テーブル４４２によって管理される。ユーザ−ＬＵＮ管理テーブル４４２の一例を図６（ａ）に示す。
【００５１】
同図において、ユーザ名は、ユーザ８を特定する識別名、パスワードは、そのユーザ８が本人であるかどうかを認証するための認証コード、仮想ＬＵＮは、ユーザ８がある時点で使用している計算機２において認識されるＬＵＮ、内部ＬＵＮは各ユーザ８専用ＬＵの内部ＬＵＮ、登録状況は、あるユーザ専用のＬＵが、ユーザ８が使用する計算機２において使用可能なようにストレージ１に登録されているかどうかを示す。ポート番号、TargetID、属性は、上述したＬＵＮ管理テーブル１３２におけるものと同様である。計算機名は、あるユーザ８が現在使用している計算機２の名称を示す。
【００５２】
ユーザ−ＬＵＮ管理テーブル４４２によって、各ユーザ８とそのユーザ８が専有するＬＵの対応関係と使用状況を把握することができる。
【００５３】
(4)計算機名とＷＷＮの関係
図７は、管理コンソール４が備える、計算機管理テーブル４４３の一例を示している。図において、計算機名は、計算機２を特定するための識別名、識別子は、その計算機２を一意に特定するための識別子であり、ＩＰアドレス等を用いることができる。ＷＷＮは、計算機２が備えるファイバチャネルＩ／Ｆ制御手段２２０の備えるＷＷＮである。計算機２とＷＷＮの関係は、この表により管理することができる。
【００５４】
(5)ユーザの登録
次に、ユーザ８の登録について説明する。本実施形態では、ユーザ８の管理を管理コンソール４にて集中管理する方法を説明する。その他の方法は第二、第三実施形態で説明する。管理コンソール４において、管理者は、ユーザ−ＬＵＮ管理プログラム４４１を実行し、入出力手段４２を用いてユーザ名とパスワードを登録する。パスワードは、後でユーザ自身が変更可能である。以上の処理により、ユーザ−ＬＵＮ管理プログラム４４１は、ユーザ−ＬＵＮ管理テーブル４４２に、ユーザ名、パスワードを登録する。
【００５５】
(6)ＬＵの作成
続けて管理者は、このユーザ８用のＬＵを作成する。管理者は、ユーザ−ＬＵＮ管理プログラム４４１を引き続き操作し、ストレージ１にＬＵを作成する物理ディスク装置を選択する。ストレージ１が複数のディスク装置を備えているならば、そのうちの１つを選択する。また、ストレージ１が、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成するならば、複数のディスク装置を選択し、これらをグループ化して仮想的な１台の物理ディスク装置と扱う。
【００５６】
次に、ＬＵの容量と、内部ＬＵＮ、仮想ＬＵＮ、同ＬＵＮアクセスに使用するディスクアレイのポート番号、Target ID、及び専有か共有かを示す属性を定義する。以上の設定情報を用い、管理者は、ユーザ−ＬＵＮ管理プログラム４４１を操作して、ストレージ１にＬＵ作成命令を発行する。中央制御手段４１は、通信制御手段４３を制御し、通信手段６を介しストレージ１に設定情報を転送する。
【００５７】
ストレージ１の通信制御手段１４は、これを受信して中央制御手段１１に通知する。この通知を受けて中央制御手段１１は、ＬＵ定義プログラム１３１を起動する。ＬＵ定義プログラム１３１は、指定の物理ディスク装置に、指定の容量のＬＵを作成する。そして、ＬＵＮ管理テーブル１３２にポート番号、Target ID、仮想ＬＵＮ、内部ＬＵＮ、属性を登録する。これらの設定は後に変更される場合もある。なお、この時点では、ＷＷＮとＳ_ＩＤは未設定のままである。ＬＵ定義プログラム１３１は、通信制御手段１４を制御し、通信手段６を経由し、管理コンソール４にＬＵを成功裏に作成できたことを報告する。管理コンソール４は、この報告を受信し、管理者にＬＵ作成成功を通知する。
【００５８】
(7)ユーザのログイン
次に、ユーザが計算機を使用し、そのユーザ専用のＬＵを使用する手順を図９のフローチャートを用いて説明する。
【００５９】
計算機２において、ユーザは、そのときに未使用であった計算機２の電源をＯＮする（ステップ１０００）。これにより、計算機２のユーザ管理プログラム２５１が起動する（ステップ１００１）。ユーザ管理プログラム２５１は、計算機２がＰＣの場合、拡張ＢＩＯＳ機能として実装することができる。また、計算機２がＷＳの場合には、初期化プログラムの一部として実装することができる。ユーザ管理プログラム２５１は、中央制御手段２１が実行するプログラムである。ユーザ管理プログラム２５１は、ユーザ名とパスワードの入力を求める。これに応答してユーザは、自分のユーザ名とパスワードを入出力手段２３を用いて入力する（ステップ１００２）。ユーザ管理プログラム２５１は、ネットワーク制御手段２４を制御してネットワーク９により、ユーザ名とパスワード、計算機２の識別子（たとえばＩＰアドレス）を管理コンソール４に送信する。これら送信した情報のことをユーザログイン情報と呼ぶことにする。
【００６０】
(8)ユーザの認証
管理コンソール４では、ネットワーク制御手段４６がユーザログイン情報を取得し、中央制御手段４１に通知する。中央制御手段４１は、ユーザ−ＬＵＮ管理プログラム４４１を起動する。ユーザ−ＬＵＮ管理プログラム４４１は、中央制御手段４１が実行するプログラムである。ユーザ−ＬＵＮ管理プログラム４４１は、ユーザ−ＬＵＮ管理テーブル４４２のユーザ名とパスワードを参照し、このユーザが使用権をもった正規ユーザであることを認証する（ステップ１０１０）。
【００６１】
(9)ユーザ専用ＬＵの仮想ＬＵＮと内部ＬＵＮの確認
ユーザ−ＬＵＮ管理プログラム４４１は、計算機管理テーブル４４３を参照し、計算機２の識別子からその計算機のＷＷＮを確認する（ステップ１０１１）。次に、ユーザ−ＬＵＮ管理プログラム４４１は、当該ユーザが所有しているＬＵをユーザ−ＬＵＮ管理テーブル４４２を参照して確認する。ここで、該当ＬＵがすでに同計算機２にマウントされている可能性があるので、これを判定する必要がある。例えば、今計算機２を使用しようとしているユーザ８が、以前にこの計算機２を使用した最後のユーザであった場合、アンマウント処理を明示的に管理者が行わない限り、そのままマウントされる設定としてストレージ１に維持されている。従って、このような場合には、該当ＬＵがすでにマウントされた状態となっている。
【００６２】
はじめに判定する仮想ＬＵＮ＝ｎに設定する。通常、ｎ=０である（ステップ１０１２）。次に、ユーザ８の仮想ＬＵＮ=ｎ（＝０）に該当する内部ＬＵＮをユーザ−ＬＵＮ管理テーブル４４２を参照して特定する。ユーザ−ＬＵＮ管理テーブル４４２において、たとえば、図６（ａ）に示すユーザ−ＬＵＮ管理テーブル４４２では、ユーザＡの仮想ＬＵＮ=０に該当するのは内部ＬＵＮ=０であることがわかる（ステップ１０１３）。
【００６３】
(10)内部ＬＵＮの登録確認
ステップ１０１３で特定された内部ＬＵＮを持つＬＵが、計算機２から使用できるように、ストレージ１に登録してあるかどうか確認する。ユーザ−ＬＵＮ管理プログラム４４１は、ユーザ−ＬＵＮ管理テーブル４４２を参照し、当該内部ＬＵＮが当該計算機２にすでにマウントされているかどうか、計算機名の欄と、先に取得した計算機名を比較することで確認する（ステップ１０１４、１０１５）。計算機名が登録済みであるならば、以下の処理をスキップして、ステップ１０１７の処理に移る。
【００６４】
計算機名が登録済みでない場合、ユーザ−ＬＵＮ管理プログラム４４１は、仮想ＬＵＮ、内部ＬＵＮ、ポート番号、Target ID、属性、ＷＷＮのすべての情報を通信制御手段４３を制御し、通信手段６を介してストレージ１に送信する。これらの情報をマウント情報と呼ぶことにする（ステップ１０１６）。
(11)登録処理の実行
ストレージ１において、通信制御手段１４は、マウント情報を受信し、中央制御手段１１に通知する。中央制御手段１１は、ＬＵ定義プログラム１３１を起動し、マウント情報を用いてＬＵＮ管理テーブル１３２に、該当する内部ＬＵＮの行のポート番号、Target ID、仮想ＬＵＮ、ＷＷＮ、属性を設定して内部ＬＵＮが計算機２から使用できるように登録する。Ｓ_ＩＤは、この時点ではまだ決定していないので、空欄である。ＬＵ定義プログラム１３１は、登録設定が正しく完了したことを、管理コンソールに報告（終了報告）する（ステップ１０２１）。
【００６５】
(12)登録処理の終了
ストレージ１からの終了報告を受けると、管理コンソール４のユーザ−ＬＵＮ管理プログラム４４１は、当該ユーザが所有する全ての仮想ＬＵＮの登録処理が終了したかどうか確認する（ステップ１０１７）。まだ該当する仮想ＬＵＮがある場合は、次の仮想ＬＵＮを設定し、ステップ１０１３以降の処理が繰り返し実行される（ステップ１０１８）。全ての仮想ＬＵＮの登録が終了したならば、計算機２に終了報告を通知する（ステップ１０１７）。
【００６６】
(13)ブートアップ制御プログラムと拡張ＢＩＯＳ
管理コンソール４から終了報告を受けると、計算機２は、ユーザ管理プログラム２５１による処理を終了する（ステップ１００４）。
【００６７】
続いて、ブートアップ制御プログラム２２１１が起動する。計算機２がＰＣの場合、ブートアップ制御プログラム２２１１は、ファイバチャネルＩ／Ｆ制御ボード２２上のメモリ２２１に格納されたプログラムである。このプログラムは、拡張ＢＩＯＳと呼ばれるＰＣの機能を拡張するプログラムであり、このプログラムにより、ファイバチャネル５に接続された計算機２の外部にあるストレージ１からＯＳのブートアップを行うことが可能になる。計算機２がＰＣ以外の場合、拡張ＢＩＯＳというプログラムは存在しないので、ブートアップ制御プログラムは、メモリ２５に位置されている必要がある。本実施形態では計算機２としてＰＣを想定し、ブートアップ制御プログラム２２１１は、拡張ＢＩＯＳであるとして説明する。
【００６８】
中央制御手段２１は、ファイバチャネルＩ／Ｆ制御ボード２２上のメモリ２２１をサーチし、ブートアップ制御プログラム２２１１（拡張ＢＩＯＳ）を検出すると、メモリ２２１からメモリ２５にブートアップ制御プログラム２２１１をコピーし、メモリ２５上で実行する。メモリ２５がいわゆる主記憶と呼ばれ、一般に、比較的高速なメモリ素子が用いられているのに対し、メモリ２２１としては、フラッシュメモリと呼ばれ、主記憶に用いられるメモリ素子に比べて低速な素子が用いられる。そこで、プログラムの実行を高速化するため、このように、ブートアップ制御プログラム２２１１は、メモリ２５にコピーして実行される（ステップ１００５）。
【００６９】
(14)ファイバチャネルの初期化
ブートアップ制御プログラム２２１１は、起動すると、ファイバチャネル５の初期化処理を開始する。この処理のなかで、ポートログインと呼ばれる各ファイバチャネルポート間の論理的接続が実行される。このポートログインの処理が成功すると、ポート間の論理的接続関係が成立する。ポートログインに際しては、ＷＷＮがポート名として使用される。また、各々のポートのＩＤが決定する。このＩＤは動的に決定され、各ポートがそれぞれ独立の番号になるようなプロトコルで設定される。ストレージ１において、中央制御手段１１は、ＬＵ定義プログラム１３１を起動する。ＬＵ定義プログラム１３１は、上位計算機のファイバチャネルＩ／Ｆ制御手段２２０をひとつのファイバチャネルポートとしてＷＷＮにより識別し、そのＩＤをＳ_ＩＤとしてＬＵＮ管理テーブル１３２に設定する（ステップ１００６）。ファイバチャネル５の初期を終えると、中央処理手段２１は、ブートアップ制御プログラム２２１１によりブートアップ処理を実施し、ＯＳのブートを行う（ステップ１００７）。
【００７０】
(15)ブートアップ処理の開始
ステップ１００７におけるブートアップ処理の詳細な手順を図１０に示す。
【００７１】
ブートアップ制御プログラム２２１１は、計算機２に接続しているストレージ１に内蔵されるＬＵを検査する。検査を開始するにあたり、はじめに検査対象ＬＵＮを０に設定する（ステップ１１０１）。このＬＵＮを指定して、ＬＵに対してInquiryコマンドを発行する。Inquiryコマンドとは、ストレージの種類や、容量、その他の特性等を調査するために用意されたＳＣＳＩコマンドである（ステップ１１０２）。
【００７２】
(16)ＬＵＮのアクセス判定
ストレージ１において、ファイバチャネルＩ／Ｆ制御手段１２がInquiryコマ
ンドを受信すると、中央制御手段１１はこれを受け取り、アクセス制御プログラム１３３を起動する（ステップ１１２０）。アクセス制御プログラム１３３は、中央制御手段１１により実行されるプログラムである。アクセス制御プログラム１３３は、ＬＵＮ管理テーブル１３２を参照し、計算機２が発行したInquiryコマンドで指定された検査対象ＬＵＮを確認する。ここで、上位計算機２から指定された検査対象ＬＵＮはストレージ１からみると仮想ＬＵＮである。アクセス制御プログラム１３３は、Inquiryコマンドを受信したポート番号、指定されたTarget ID、及び仮想ＬＵＮから内部ＬＵＮの有無を確認する。該当する内部ＬＵＮが存在している場合、次にInquiryコマンドのコマンドフレームに内包され
た発行元のＳ_ＩＤと、ＬＵＮ管理テーブル１３２に格納されたＳ_ＩＤとを比較し検査する（ステップ１１２１、１１２２）。Ｓ_ＩＤが一致したならば、検査対象の仮想ＬＵＮは、計算機２からアクセスを許可されているので、「ＬＵＮ有り」を示す情報とともに該当するＬＵの容量やその他の特性情報を計算機２に応答として返す（ステップ１１２３）。
【００７３】
Ｓ_ＩＤが一致しない場合は、この計算機２から当該ＬＵＮが割り当てられたＬＵは、アクセスが許可されていないことになるので、「ＬＵＮ無し」を示す情報を計算機２に応答として返す（ステップ１１２４）。また、Inquiryコマンドを受信したポートのポート番号、指定されたTarget ID、及び仮想ＬＵＮに基づく内部ＬＵＮの有無の確認において、対応する内部ＬＵＮが存在しない時も同様に「ＬＵＮ無し」として扱われる。
【００７４】
(17)ブートローダの起動
ストレージ１から「ＬＵＮ有り」を示す応答があると、計算機２のブートアップ制御プログラム２２１１は、検査対象ＬＵＮをインクリメントし、次のＬＵＮを検索するため上記の処理を繰り返す（ステップ１１０４）。
【００７５】
ストレージ１からの応答が「ＬＵＮ無し」を示す場合、ブートアップ制御プログラム２２１１は、ＬＵＮの検索を終了する（ステップ１１０５）。そして、検索の結果、検出されたＬＵＮのうち、「ブート指定ＬＵＮ」により事前に指定されたＬＵＮを持つＬＵに格納されたブートローダをメモリ25に読み込み、ＯＳのブート処理を行う。ブートアップ制御プログラム２２１１は、「ブート指定ＬＵＮ」を事前に指定することができる。「ブート指定ＬＵＮ」は、複数のストレージや複数のＬＵＮを検出した時に、どのストレージのどのＬＵＮからＯＳをブートするかを指定するものである（ステップ１１０６）。
【００７６】
以上のように、ユーザ８が任意の空いている計算機２を使用して、このユーザ専用のＬＵＮをその計算機２にマウントして使用することができる。
【００７７】
図８は、複数のユーザが本実施形態における計算機システムを使用している例を示す。
【００７８】
ある時点におけるシステムの使用状況が、図８（ａ）に示す使用状況であるとする。この状態では、ＬＵＮ管理テーブル１３２、ユーザ−ＬＵＮ管理テーブル４４２は、それぞれ、図５（ａ）、図６（ａ）に示す状態となる。
【００７９】
ここで、計算機ａを使用していたユーザＡと、計算機ｃを使用していたユーザＥが使用を終了し、その後、図８（ｂ）に示す様に、新たにユーザＧが計算機ａ、ユーザＨが計算機ｃ、さらにユーザＡが計算機ｈの使用を開始したとする。各々の新規ユーザは、上述したようにログイン処理を行う。これに伴い管理コンソール４において、ユーザ−ＬＵＮ管理テーブル４４２は、図６（ｂ）の様に変更され、また、ストレージ１において、図５に示すＬＵＮ管理テーブル１３２も図５（ｂ）の様に変更される。
【００８０】
以上の処理により、図８（ｂ）に示すとおり、新規ユーザＧ、Ｈ、Ａは、それぞれ専用のＬＵである内部ＬＵＮ６、７、０のＬＵを、それぞれが使用する計算機ａ、ｃ、ｈにマウントし、使用することができる。
【００８１】
以上のように、複数のユーザが、その使用する計算機２に関わらず、各ユーザ専用のＬＵを使用しようとする計算機にマウントして使用することができる。これにより、それぞれ固有のＯＳ、アプリケーションプログラムを専用のＬＵに格納し、これらのプログラムを直接Ｉ／Ｏロードできる。また、それぞれのデータも同一ストレージに格納できる。
【００８２】
上記実施形態によれば、このように、任意のユーザが専用の環境を維持しながら任意の計算機を使用可能な計算機システムを構築可能となる。これにより、ユーザ用のＯＳ、アプリケーションプログラム、及びデータをすべて１台のＬＵに集約できるので、管理が容易になる。
【００８３】
また、プログラムをサーバやネットワークを介することなく、ストレージ１から計算機２に直接Ｉ／Ｏロードできるので、ネットワークやサーバに負荷をかけることがなく、さらに、高速なプログラム起動、実行を実現できるという効果がある。
【００８４】
また、各ユーザのアプリケーションプログラムを実行したり、ユーザ用のデータを管理したりするサーバは不要であり、システム全体のコストを低減できるという効果がある。
【実施例２】
【００８５】
図１１は、本発明の第２の実施形態における計算機システムの構成図である。第一実施形態との相違点は、ストレージ１がネットワーク９に接続していることであり、その他は第１の実施形態における計算機システムと同様に構成されている。
【００８６】
図１２は、本実施形態の計算機２の構成図である。本実施形態における計算機は、メモリ２５上にユーザ−ＬＵＮ管理テーブル２５２を格納している点で図２に示した第１の実施形態における計算機２と相違する。その他の構成については、第１の実施形態における計算機と同様である。
【００８７】
図１５に本実施形態のユーザ−ＬＵＮ管理テーブル２５２の一例を示す。ユーザ−ＬＵＮ管理テーブル２５２は、図６に示した第１の実施形態におけるユーザ−ＬＵＮ管理テーブル４４２から「登録状況」と「計算機名」の項目が除かれたものであり、他の項目は、ユーザ−ＬＵＮ管理テーブル４４２と同じである。
【００８８】
図１３は、本実施形態のストレージ１の構成図である。
【００８９】
本実施形態のストレージ１は、計算機２、及び、管理コンソール４を接続するネットワーク９に接続するために、中央制御手段１１とネットワーク９の間に設けられるネットワーク接続手段１５を有し、メモリ１３に格納されるＬＵＮ管理テーブル１３２の構成が変更されている点で、図３に示した第１の実施形態のストレージ１と相違している。その他の構成については、図３に示した第１の実施形態のストレージ１と同様である。
【００９０】
図１６には、本実施形態のＬＵＮ管理テーブル１３２の一例を示す。図に示すように、本実施形態のＬＵＮ管理テーブル１３２は、図５に示した第１の実施形態のＬＵＮ管理テーブル１３２が有する項目に加え、「使用状況」の項目が追加
されている。
【００９１】
図１４は、本実施形態の管理コンソール４の構成図である。本実施形態の管理コンソール４は、第１の実施形態で管理コンソール４のメモリ４４に格納されていたユーザ−ＬＵＮ管理テーブル４４２と計算機管理テーブル４４３がなく、ユーザ−ＬＵＮ管理プログラム４４１に替えてＬＵＮ管理プログラム４４４を有する点で第１の実施例における管理コンソール４と相違する。他の部分については、第１の実施形態における管理コンソールと同様に構成される。
【００９２】
以下、本実施形態における計算機システムの詳細について、第１の実施形態との相違点を中心に説明する。
【００９３】
(1)ユーザとＬＵの関係
本実施形態では、ユーザと、ユーザが所有しているＬＵとの関係は、すべての計算機２が備えるユーザ−ＬＵＮ管理テーブル２５２によって管理される。
【００９４】
(2)ユーザの登録
次に、ユーザ８の登録について説明する。使用する計算機２において、管理者もしくはユーザ８が、ユーザ管理プログラム２５１を実行し、入出力手段２３を用いてユーザ名とパスワードを入力する。パスワードは、後でユーザ自身が変更可能である。ユーザ管理プログラム２５１は、入力されたユーザ名とパスワードをユーザ−ＬＵＮ管理テーブル２５２のユーザ名、パスワードの欄に登録する。
(3)ＬＵの作成
ＬＵの作成は、管理者が管理コンソール４を用いてストレージ１と通信することで第１の実施形態と同様に行われる。ただし、第１の実施形態とは異なり、管理コンソール４ではユーザの管理は行われない。管理コンソール４は、単にストレージ１と通信してＬＵを定義、作成するのみである。ＬＵとユーザとの対応付けは、各計算機２で行われる。
(4)ユーザのログインと認証
次に、ユーザ８が計算機を使用し、そのユーザ専用のＬＵを使用する手順を図１７のフローチャートを用いて説明する。
【００９５】
計算機２において、ユーザは、そのときに未使用である計算機２の電源をＯＮにする（ステップ１５００）。これに応じて、計算機２のユーザ管理プログラム
２５１が起動する（ステップ１５０１）。ユーザ管理プログラム２５１は、中央
制御手段２１により実行されるプログラムである。ユーザ管理プログラム２５１は、起動すると、ユーザ名とパスワードの入力を求める。これに応答して、ユーザ８は自分のユーザ名とパスワードを、入出力手段２３を用いて入力する（ステップ１５０２）。ユーザ管理プログラム２５１は、ユーザ−ＬＵＮ管理テーブル２５２のユーザ名とパスワードを参照し、このユーザが使用権をもった正規ユーザであることを認証する（ステップ１５０３）。
(5)ユーザ専用ＬＵの仮想ＬＵＮと内部ＬＵＮの確認
次に、ユーザ管理プログラム２５１は、ファイバチャネルＩ／Ｆ制御ボード２２上のメモリ２２１に格納してあるＷＷＮ情報２２１２を参照し、その計算機２のＷＷＮを確認する（ステップ１５０４）。
【００９６】
次に、ユーザ管理プログラム２５１は、当該ユーザが所有しているＬＵを、ユーザ−ＬＵＮ管理テーブル２５２を参照して確認する。ここでははじめに、判定する仮想ＬＵＮをｎに設定する。通常、ｎ＝０である（ステップ１５０５）。ユーザ管理プログラム２５１は、判定を行おうとする仮想ＬＵＮに対応する内部ＬＵＮを、ユーザ−ＬＵＮ管理テーブル２５２を参照して特定する（ステップ１５０６）。
【００９７】
(6)内部ＬＵＮの登録
ユーザ管理プログラム２５１は、仮想ＬＵＮ、内部ＬＵＮ、ポート番号、Target ID、属性、ＷＷＮのすべての情報をネットワーク制御手段２４を制御し、ネットワーク９を介しストレージ１に送信する（ステップ１５０７）。これらの情報をマウント情報と呼ぶ。
【００９８】
(7)登録処理の実行
ストレージ１では、第１の実施形態と同様に、ＬＵ定義プログラム１３１が受信したマウント情報を元に、送信元の計算機２が指定したＬＵを使用可能となるように、ＬＵＮ管理テーブル１３２に登録する（ステップ１５２０）。この際、「使用状況」の欄に、「使用」のフラグをたてる。このフラグは、あやまって他の計算機２からの同一のユーザＩＤによるマウント情報により、その計算機に同じＬＵをマウントしてしまうことを防止するための排他フラグである。既に「使用」フラグが設定されているならば、使おうとするＬＵは、何らかの理由により他のユーザが同一のユーザＩＤを用いてを既に使用していることになる。このため、今回の登録は失敗する。第１の実施形態では、管理コンソール４で集中管理できたので、このような処置は不要であるが、本実施形態のように、各計算機２による分散管理の場合には、不可欠な処理となる。正しく登録が終了すると、ＬＵ定義プログラム１３１は、登録終了を計算機２に報告する（ステップ１５２１）。
【００９９】
(8)登録処理の終了
登録の終了報告をストレージ１から受けると、計算機２のユーザ−ＬＵＮ管理プログラム２５１は、当該ユーザが所有する全ての仮想ＬＵＮについて登録処理が終了したかどうか確認する（ステップ１５０８）。まだ登録すべき仮想ＬＵＮがある場合は、ステップ１５０６に戻り、登録処理を繰り返し実行する（ステップ１５０９）。全ての仮想ＬＵＮの登録が終了したならば、計算機２は、ユーザ管理プログラム２５１を終了し（ステップ１５１０）、第１の実施形態と同様に、ＯＳのブートアップを実行する（ステップ１５１１、１５１２）。
【０１００】
(9)登録の解除
一旦、ストレージ１に上述した手順によりユーザ８が使用するＬＵをある計算機２にマウントするように登録すると、他の計算機２から同じＬＵを使用できなくなる。そこで、使用を終了したら、ＬＵをアンマウントするように登録を解除する必要がある。
【０１０１】
たとえば、ユーザ8が計算機２の使用を終了するとき、電源を切る動作をする
と、ユーザ管理プログラム２５１が起動するように構成しておく。そして、ユーザ管理プログラム２５１が登録処理と同様にストレージ１と通信し、登録を解除するようにすることができる。計算機２の電源スイッチは、通常ソフトスイッチと呼ばれる、ソフトウェア制御による電源切断を行う仕様になっていることが多く、その場合にはこの方法を用いることができる。その他、ＯＳの切断処理の際に登録を解除するプログラムを起動するなどの別の方法でも実現できる。
【０１０２】
この登録の解除処理を行うことで、ストレージ１のＬＵＮ管理テーブル１３２の「使用状況」が「未使用」に変更され、同一ユーザ８が以後、他の計算機２を用いて同一のＬＵを使用することができるようになる。
【実施例３】
【０１０３】
図１８は本発明の第３の実施形態における計算機システムの構成図である。以下、本実施形態について、第１の実施形態との相違点を中心に説明する。
【０１０４】
本実施形態の計算機システムは、計算機２と管理コンソール４とがネットワークにより接続されていない点で、第１の実施形態と相違する。もちろん、以下に説明する本実施形態を実現する上でネットワークを必要としていないだけであり、ネットワークを構築してあっても構わないことはいうまでもない。
【０１０５】
図１９は、本実施形態の計算機２の構成図である。本実施形態の計算機２は、メモリ２５にユーザ−ＷＷＮ管理テーブル２５３と、ＷＷＮ情報変更プログラム２５４が格納されている点で、第１実施形態の計算機２と相違する。
【０１０６】
管理コンソール４は、第２実施形態における管理コンソールと同様に構成される。
【０１０７】
以下、本実施形態の計算機システムの詳細につき、第１の実施形態との相違点を中心に説明する。
【０１０８】
(1)ユーザとＬＵの関係
本実施形態では、第１、第２の実施形態と同様に、ユーザは専用のＬＵを定義することができる。第１の実施形態では、管理コンソール４が、第２の実施形態では計算機２がユーザとＬＵの対応付けを管理したが、本実施形態では、そのいずれにおいてもユーザとＬＵの対応関係を管理していない。そのかわりに、ユーザそれぞれに一つのＷＷＮを割り当て、そのＷＷＮとＬＵの対応関係をストレージ１において管理することで間接的にユーザとＬＵの対応付けを管理する。
【０１０９】
(2)ユーザの登録
ユーザ8の登録は、すべての計算機２において、管理者もしくはユーザ８が、
ユーザ管理プログラム２５１を実行し、入出力手段２３を用いてユーザ名とパスワードを入力して行われる。この際、１ユーザにつき一つのＷＷＮを割り当てる。パスワードは、後でユーザ自身が変更可能である。ユーザ管理プログラム２５１は、入力されたユーザ名とパスワード、及び割り当てられたＷＷＮを、ユーザ−ＷＷＮ管理テーブル２５３のユーザ名、パスワード、ＷＷＮ欄に登録する。
【０１１０】
(3)ＬＵの作成
ＬＵの作成は、管理者が管理コンソール４を用いてストレージ１と通信することで第２実施形態と同様に行われる。ＬＵを作成する際には、そのＬＵのユーザに割り当てたＷＷＮをストレージ１のＬＵＮ管理テーブル１３２に格納するため、管理コンソール４はストレージ１に指示を発行する。ストレージ１のＬＵ定義プログラム１３１は、この指示に応答してＬＵＮ管理テーブル１３２を作成する。
【０１１１】
(4)ユーザのログインと認証
次に、ユーザ8が計算機２を使用し、そのユーザ専用のＬＵを使用する手順を図２１のフローチャートを用いて説明する。
【０１１２】
ユーザは、そのときに未使用であった任意の計算機２の電源をＯＮにする（ステップ１８００）。これに応じ、計算機２のユーザ管理プログラム２５１が起動する（ステップ１８０１）。ユーザ管理プログラム２５１は、中央制御手段２１により実行されるプログラムである。は、起動すると、ユーザ名とパスワードの入力を求める。これに応答して、ユーザ8は、自分のユーザ名とパスワードを、入出力手段２３を用いて入力する（ステップ１８０２）。ユーザ管理プログラム２５１は、ユーザ−ＷＷＮ管理テーブル２５３のユーザ名とパスワードを参照し、このユーザ8が使用権をもった正規のユーザであることを認証する（ステップ１８０３）。
【０１１３】
(5)ユーザ用ＷＷＮの設定
ユーザ管理プログラム２５１は、ユーザ−ＷＷＮ管理テーブルを参照してユーザ8に割り当てられたＷＷＮを確認し（ステップ１８０４）、ＷＷＮ情報変更プログラム２５４を起動する（ステップ１８０５）。ＷＷＮ情報変更プログラム２５４は、計算機２の中央制御手段２１により実行されるプログラムである。ＷＷＮ情報変更プログラム２５４は、ファイバチャネルＩ／Ｆ制御ボード２２上のメモリ２２２１に格納してあるＷＷＮ情報２２１２をこのユーザのＷＷＮに書き換える(ステップ１８０６）。ＷＷＮ情報２２１２の書き換えが終了すると、ＷＷＮ情報変更プログラム２５４は終了し（ステップ１８０７）、ユーザ管理プログラム２５１に戻り、ユーザ管理プログラム２５１も処理を終了する（ステップ１８０８）。
【０１１４】
(6)ブート処理
以下、第１の実施形態と同様に、ブートアップ処理を実施する（ステップ１８０９、１８１０）。ストレージ１は、ＷＷＮ毎にＬＵのアクセス排他制御を行うので、ＬＵＮ管理テーブル１３２に格納した内部ＬＵＮとＷＷＮの関係が成立する場合にのみアクセスを許可する。よって、ユーザ専用のＷＷＮを設定した計算機２のみから、このユーザ専用のＬＵをアクセスすることが可能になる。
【０１１５】
以上説明した第１から第３の実施形態では、計算機を複数のユーザが交代で使用する場合について説明したが、これを応用すると別の場合にも使用することができる。
【０１１６】
たとえば、計算機がサーバであり、サーバのＯＳ環境や、アプリケーション環境等が異なる複数のＬＵを用意し、その各々を切り替えて使用する際に本発明を適用できる。この場合、ユーザ名の代わりに環境名を割り当てて、その名前でサーバにログインすることで、必要な環境を備えたＬＵからＯＳをブートすることができる。この方法を用いると、あるＬＵからブートした際には、他の環境を含むＬＵを隠蔽することもできるので、従来のマルチブートによるＯＳの切り替え方法に対し、ＯＳやアプリケーションに特殊な設定が不要であり、より安定したシステム切り替えを実現できる。
【０１１７】
また、プログラム開発環境や、テスト環境等において、ＬＵに毎日のバックアップを取得することで、万一、古い状態に戻らなくてはならない際には、ＬＵを切り替えることで、設定変更等を必要とすることなく直ちに所望の環境に戻すことができる。
【０１１８】
このように、ユーザとＬＵの関係を、環境とＬＵの関係に拡張することで、非常に広範囲な柔軟性の高い計算機システムを構築できる。なお、この場合、上記第１から第３実施形態のいずれを用いても実現できる。
【０１１９】
本発明によれば、ユーザ専用のＬＵをストレージに定義することができ、そのＬＵをユーザが使用する計算機に動的にマウントすることができる。これにより、ＬＵにそれぞれ固有のＯＳ、アプリケーションプログラムを格納するなどのパーソナライズを実施でき、任意のユーザが専用の環境を維持しながら任意の計算機を使用可能な柔軟性の高い計算機システムを構築できる。
【０１２０】
そしてこれらプログラムやデータを、従来のようにサーバやネットワークを経由することなく、ストレージから計算機に直接Ｉ／Ｏロードできるので、ネットワークやサーバに負荷をかけることがなく、より高速なプログラムの起動、実行を実現できる。
【０１２１】
これにより、ユーザ用のＯＳ、アプリケーションプログラム、データをすべて１台のＬＵに集約できるので、管理を容易にすることができる。
【０１２２】
また、各ユーザのアプリケーションプログラムを実行したり、ユーザ用のデータを管理したりするサーバは不要であり、システム全体のコストを低減することもできる。
【図面の簡単な説明】
【０１２３】
【図１】第１実施形態における計算機システムの構成図である。
【図２】計算機の構成図である。
【図３】ストレージの構成図である。
【図４】管理コンソールの構成図である。
【図５】ストレージのＬＵＮ管理テーブルの構成図である。
【図６】管理コンソールのユーザ−ＬＵＮ管理テーブルの構成図である。
【図７】管理コンソールの計算機管理テーブルの構成図である。
【図８】計算機、ユーザ、及びＬＵＮ間の関係図である。
【図９】計算機起動時に行われる処理のフローチャートである。
【図１０】ブートアップ処理のフローチャートである。
【図１１】第２実施形態における計算機システムの構成図である。
【図１２】計算機の構成図である。
【図１３】ストレージの構成図である。
【図１４】管理コンソールの構成図である。
【図１５】計算機のユーザ−ＬＵＮ管理テーブルの構成図である。
【図１６】ストレージのＬＵＮ管理テーブルの構成図である。
【図１７】計算機起動時に行われる処理のフローチャートである。
【図１８】第３実施形態における計算機システムの構成図である。
【図１９】計算機の構成図である。
【図２０】計算機とユーザ−ＷＷＮ管理テーブルの構成図である。
【図２１】計算機起動時に行われる処理のフローチャートである。
【図２２】従来の計算機システムの構成図である。
【符号の説明】
【０１２４】
１・・・ストレージ
１１・・・中央制御手段
１２・・・ファイバチャネルＩ／Ｆ制御手段
１３・・・メモリ
１４・・・通信制御手段
１７・・・論理ユニット
２・・・計算機
２１・・・中央制御手段
２２・・・ファイバチャネルＩ／Ｆ制御ボード
２３・・・入出力手段
２４・・・ネットワーク制御手段
２５・・・メモリ
３・・・ファイバチャネル接続手段
４・・・管理コンソール
４１・・・中央制御手段
４２・・・入出力手段
４３・・・通信制御手段
４４・・・メモリ
４６・・・ネットワーク制御手段
５・・・ファイバチャネル
６・・・通信手段
７・・・サーバ
９・・・ネットワーク
【図１】
0004723532.tif 000002
【図２】
0004723532.tif 000003
【図３】
0004723532.tif 000004
【図４】
0004723532.tif 000005
【図５】
0004723532.tif 000006
【図６】
0004723532.tif 000007
【図７】
0004723532.tif 000008
【図８】
0004723532.tif 000009
【図９】
0004723532.tif 000010
【図１０】
0004723532.tif 000011
【図１１】
0004723532.tif 000012
【図１２】
0004723532.tif 000013
【図１３】
0004723532.tif 000014
【図１４】
0004723532.tif 000015
【図１５】
0004723532.tif 000016
【図１６】
0004723532.tif 000017
【図１７】
0004723532.tif 000018
【図１８】
0004723532.tif 000019
【図１９】
0004723532.tif 000020
【図２０】
0004723532.tif 000021
【図２１】
0004723532.tif 000022
【図２２】
0004723532.tif 000023