(57)【要約】【課題】ユーザが並行して複数の端末から同一の作業環境を利用するのを防止する。【解決手段】実施形態によれば、ストレージのターゲット・ポートは、ユーザによる端末（端末コンピュータ）の使用開始時に、ユーザＩＤと使用開始時点に対応した時刻情報及び乱数の少なくとも一方に基づいて生成された付加ＩＤと含むイニシエータＩＤを用いて端末がストレージに接続した場合、接続に用いたイニシエータＩＤを特定する。ストレージのユーザＩＤ取り出し手段はイニシエータＩＤに対応するセッションを介して端末から要求が送られた場合、当該イニシエータＩＤからユーザＩＤを取り出す。ストレージのリザベーション手段は、取り出されたユーザＩＤに対応する論理ユニットが、取り出されたユーザＩＤに対応するイニシエータＩＤの示すイニシエータとは別のイニシエータによってリザーブされている場合、リザベーション・コンフリクトを要求元に返す。【選択図】      図２
2012008737.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザのそれぞれの作業環境を格納した複数の論理ユニットを備え、前記複数のユーザがいずれも利用可能な複数の端末コンピュータからＳＣＳＩプロトコルを適用するネットワークを経由してアクセス可能なストレージにおいて、
ユーザによる前記複数の端末コンピュータのうちの任意の端末コンピュータの使用開始時に前記任意の端末コンピュータが取得した、当該ユーザを識別するユーザＩＤと前記使用開始時点に対応した時刻情報及び乱数の少なくとも一方に基づいて生成された付加ＩＤと含むイニシエータＩＤを用いて、前記任意の端末コンピュータが前記ストレージに接続した場合に、前記接続に用いたイニシエータＩＤを特定し、当該イニシエータＩＤに対応するセッションを介して前記任意の端末コンピュータから送られる要求を待つターゲット・ポートと、
前記複数の端末コンピュータを利用可能な各ユーザのユーザＩＤと、当該ユーザＩＤで識別されるユーザが利用可能な論理ユニットを識別する論理ユニットＩＤとの対応を示す論理ユニット管理情報を記憶した論理ユニット管理情報記憶手段と、
前記イニシエータＩＤに対応するセッションを介して前記任意の端末コンピュータから要求が送られた場合、当該イニシエータＩＤから前記ユーザＩＤを取り出すユーザＩＤ取り出し手段と、
前記取り出されたユーザＩＤ及び前記論理ユニット管理情報に基づいて、前記取り出されたユーザＩＤに対応する論理ユニットを特定する論理ユニット特定手段と、
前記特定された論理ユニットが、前記取り出されたユーザＩＤに対応するイニシエータＩＤの示すイニシエータとは別のイニシエータによってリザーブされている場合、前記別のイニシエータのイニシエータＩＤが、前記取り出されたユーザＩＤに一致するユーザＩＤを含んでいても、前記要求に対する応答としてエラーを示すリザベーション・コンフリクトを要求元に返すリザベーション手段と
を具備するストレージ。
【請求項２】
前記ＳＣＳＩプロトコルがｉＳＣＳＩプロトコルであり、
前記イニシエータＩＤに含まれている前記ユーザＩＤは、ｉＳＣＳＩ規格で定められたイニシエータＩＤのｉＳＣＳＩ名フィールドに設定され、前記付加ＩＤは前記ｉＳＣＳＩ規格で定められたイニシエータＩＤのイニシエータ・セッションＩＤフィールドに設定されている
請求項１記載のストレージ。
【請求項３】
前記付加ＩＤは前記時刻情報を含む請求項１または２記載のストレージ。
【請求項４】
前記付加ＩＤは前記乱数を含む請求項１または２記載のストレージ。
【請求項５】
前記付加ＩＤは前記時刻情報及び前記乱数を含む請求項１または２記載のストレージ。
【請求項６】
複数のユーザのそれぞれの作業環境を格納した複数の論理ユニットを備えた、ＳＣＳＩリザベーション機能を有するストレージに対し、ＳＣＳＩプロトコルを適用するネットワークを経由してアクセス可能な端末コンピュータにおいて、
前記ストレージに対して前記ネットワークを経由してアクセス可能な、前記端末コンピュータ及び前記端末コンピュータとは別の端末コンピュータのうちの、前記端末コンピュータのユーザによる使用開始時に、当該ユーザの操作に基づき当該ユーザを識別するユーザＩＤを取得するユーザＩＤ取得手段と、
前記使用開始時点の時刻情報及び乱数の少なくとも一方を取得して、当該取得された少なくとも一方に基づいて、前記取得されたユーザＩＤに付加されるべき付加ＩＤを生成し、前記取得されたユーザＩＤに前記生成された付加ＩＤが付加されたイニシエータＩＤを生成するイニシエータＩＤ生成手段と、
前記生成されたイニシエータＩＤを用いて前記ストレージに接続し、この接続状態で当該イニシエータＩＤに対応するセッションを介して前記ストレージに要求を送出するイニシエータ・ポートであって、当該イニシエータＩＤに含まれているユーザＩＤに対応する論理ユニットが、当該イニシエータＩＤの示すイニシエータとは別のイニシエータによってリザーブされているために、当該イニシエータＩＤ及び前記別のイニシエータのイニシエータＩＤが、同一ユーザＩＤを含んでいても、前記要求に対する応答として前記ストレージからエラーを示すリザベーション・コンフリクトが返された場合、前記端末コンピュータを強制終了させるイニシエータ・ポートと
を具備する端末コンピュータ。
【請求項７】
複数のユーザの各々が利用可能な複数の端末コンピュータと、
前記複数のユーザのそれぞれの作業環境を格納した複数の論理ユニットを備え、前記複数の端末コンピュータからＳＣＳＩプロトコルを適用するネットワークを経由してアクセス可能なストレージとを具備し、
前記複数の端末コンピュータの各々は、
ユーザによる前記端末コンピュータの使用開始時に、当該ユーザの操作に基づき当該ユーザを識別するユーザＩＤを取得するユーザＩＤ取得手段と、
前記使用開始時点の時刻情報及び乱数の少なくとも一方を取得して、当該取得された少なくとも一方に基づいて、前記取得されたユーザＩＤに付加されるべき付加ＩＤを生成し、前記取得されたユーザＩＤに前記生成された付加ＩＤが付加されたイニシエータＩＤを生成するイニシエータＩＤ生成手段と、
前記生成されたイニシエータＩＤを用いて前記ストレージに接続し、この接続状態で当該イニシエータＩＤに対応するセッションを介して要求を送出するイニシエータ・ポートとを具備し、
前記ストレージは、
前記端末コンピュータの前記イニシエータ・ポートが、前記生成されたイニシエータＩＤを用いて前記ストレージに接続した場合に、前記接続に用いたイニシエータＩＤを特定し、当該イニシエータＩＤに対応するセッションを介して前記任意の端末コンピュータから送られる要求を待つターゲット・ポートと、
前記複数のユーザのユーザＩＤと、当該ユーザＩＤで識別されるユーザが利用可能な論理ユニットを識別する論理ユニットＩＤとの対応を示す論理ユニット管理情報を記憶した論理ユニット管理情報記憶手段と、
前記イニシエータＩＤに対応するセッションを介して前記任意の端末コンピュータから要求が送られた場合、当該イニシエータＩＤから前記ユーザＩＤを取り出すユーザＩＤ取り出し手段と、
前記取り出されたユーザＩＤ及び前記論理ユニット管理情報に基づいて、前記取り出されたユーザＩＤに対応する論理ユニットを特定する論理ユニット特定手段と、
前記特定された論理ユニットが、前記取り出されたユーザＩＤに対応するイニシエータＩＤの示すイニシエータとは別のイニシエータによってリザーブされている場合、前記別のイニシエータのイニシエータＩＤが、前記取り出されたユーザＩＤに一致するユーザＩＤを含んでいても、前記要求に対する応答としてエラーを示すリザベーション・コンフリクトを要求元に返すリザベーション手段とを具備し、
前記要求元の前記イニシエータ・ポートは、前記要求に対する応答として前記リザベーション・コンフリクトが返された場合、対応する前記端末コンピュータを強制終了させる
ストレージシステム。
【請求項８】
複数のユーザの各々が利用可能な複数の端末コンピュータと、前記複数のユーザのそれぞれの作業環境を格納した複数の論理ユニットを備え、前記複数の端末コンピュータからＳＣＳＩプロトコルを適用するネットワークを経由してアクセス可能なストレージとを具備するストレージシステムに適用される、同一ユーザの操作により前記複数の端末コンピュータのうちの第１の端末コンピュータ及び第２の端末コンピュータが前記ストレージに接続されている状態における排他的接続方法であって、
ユーザによる前記第１の端末コンピュータの使用開始時に、前記第１の端末コンピュータが、当該ユーザの操作に基づき当該ユーザを識別するユーザＩＤを取得するステップと、
前記第１の端末コンピュータが、前記使用開始時点の時刻情報及び乱数の少なくとも一方を取得するステップと、
前記取得された少なくとも一方に基づいて、前記第１の端末コンピュータが、前記取得されたユーザＩＤに付加されるべき付加ＩＤを生成するステップと、
前記取得されたユーザＩＤに前記生成された付加ＩＤが付加されたイニシエータＩＤを、前記第１の端末コンピュータが生成するステップと、
前記生成されたイニシエータＩＤを用いて前記第１の端末コンピュータが前記ストレージに接続するステップと、
前記生成されたイニシエータＩＤを用いて前記第１の端末コンピュータが前記ストレージに接続されている状態で、当該イニシエータＩＤに対応するセッションを介して前記第１の端末コンピュータが前記ストレージに要求を送出するステップと、
前記イニシエータＩＤに対応するセッションを介して前記第１の端末コンピュータから送出された要求を受信した前記ストレージが、当該イニシエータＩＤから前記ユーザＩＤを取り出すステップと、
前記ストレージに備えられている、前記複数のユーザのユーザＩＤと、当該ユーザＩＤで識別されるユーザが利用可能な論理ユニットを識別する論理ユニットＩＤとの対応を示す論理ユニット管理情報を記憶した論理ユニット管理情報記憶手段と、前記取り出されたユーザＩＤとに基づいて、前記取り出されたユーザＩＤに対応する論理ユニットを、前記ストレージが特定するステップと、
前記特定された論理ユニットが、前記取り出されたユーザＩＤに対応するイニシエータＩＤの示すイニシエータとは別のイニシエータによってリザーブされているかを、前記ストレージが判定するステップと、
前記特定された論理ユニットが、前記別のイニシエータによってリザーブされている場合、前記第１の端末コンピュータの使用を開始したユーザが、既に前記第２の端末コンピュータの使用を開始しているために、前記取り出されたユーザＩＤに一致するユーザＩＤが前記別のイニシエータのイニシエータＩＤに含まれていても、前記要求に対する応答としてエラーを示すリザベーション・コンフリクトを前記ストレージから前記第１の端末コンピュータに返すステップと、
前記リザベーション・コンフリクトを受けて前記第１の端末コンピュータが強制終了するステップと
を具備する排他的接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ストレージ、同ストレージを備えたストレージシステム及び同ストレージシステムにおける排他的接続方法に関する。
【背景技術】
【０００２】
コンピュータとストレージとを接続するインタフェースとしてＳＣＳＩ（Small Computer System Interface）規格がよく知られている。ＳＣＳＩによる接続の形態には、いわゆるＳＣＳＩケーブルによるデイジチェイン接続の他に、ファイバチャネルを用いて構築されるＳＡＮ(Storage Area Network)接続や、ｉＳＣＳＩ（インターネットＳＣＳＩ）におけるＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）上でのネットワーク接続がある。いずれの接続の形態においても、コンピュータとストレージとの間の接続は、イニシエータ(要求元)を識別するイニシエータＩＤ（イニシエータ識別子）と、ターゲット(要求先)を識別するターゲットＩＤ（ターゲット識別子）の組で特定される。
【０００３】
読み出しや書き込みなどの入出力（Ｉ／Ｏ）操作では、コンピュータとストレージとが接続されている状態でコンピュータからストレージへ要求が配送されて、ストレージ内で当該要求の示すＩ／Ｏ操作が処理される。この処理の結果、コンピュータとストレージとが接続されている状態でストレージからコンピュータへ応答が配送される。この接続状態を、セッションと呼び、コンピュータとストレージとを接続することを、コンピュータとストレージとの間にセッションを設定すると表現することもある。
【０００４】
ストレージ内で処理されるＩ／Ｏ操作はタスクと呼ばれ、処理の対象となる論理ユニット(ＬＵ：Logical Unit)を指定する論理ユニット番号（ＬＵＮ：Logical Unit Number）と要求元のイニシエータＩＤが各タスクに情報として含まれる。タスクはストレージが要求を受信したときに生成され、ストレージ内でタスクが処理され応答を送信し終わったときに消滅する。
【０００５】
ＳＣＳＩ規格での排他の仕組みとしてＳＣＳＩリザベーションがある。この排他機能によれば、リザーブ中の特定のイニシエータ以外のイニシエータからのＩ／Ｏ操作はリザベーション・コンフリクトのエラーとなって応答される。ＳＣＳＩリザベーションの登録や解除は、専用のＳＣＳＩコマンドによって行われる。この専用のＳＣＳＩコマンドは、通常のＩ／Ｏ操作の場合と同様に、コンピュータとストレージとが接続されている状態でコンピュータからストレージへ配送されて、ストレージ内で処理される。この処理の結果、上記の接続状態でストレージからコンピュータへ、専用のＳＣＳＩコマンドに対する応答が配送される。ストレージ内での処理は通常のＩ／Ｏ操作の場合と同様にタスクと呼ばれる。
【０００６】
別の排他の仕組みとしてＬＵマッピングあるいはＬＵマスキングとよばれる仮想化技術がある。この仮想化機能によれば、イニシエータ毎にＬＵＮとＬＵの対応を個別に設定、あるいはイニシエータ毎にＬＵの存否を設定できる。ＬＵＮとＬＵの対応の設定変更が行われるとイニシエータから認識可能なストレージ内のＬＵのマッピングが変化する。このため、通常はイニシエータがストレージに接続していない状態で上述の設定変更を行う必要がある。またセキュリティ上の理由から、設定変更はストレージ管理インタフェースを通して行うようになっているのが通常である。
【０００７】
近年、ストレージを中心に構成したコンピュータシステム、いわゆるストレージ・セントリックなコンピュータシステムが注目されている。ストレージ・セントリックなコンピューティング環境では、ユーザの作業環境はデータセンタなどに置かれたストレージに格納される。ここで作業環境とは、情報を記録したデータファイルや、作業を行うためのプログラム等のことをいう。具体的には、メール環境、Ｗｅｂブラウザ、オフィスソフトウェア、オペレーティングシステム、セキュリティソフトウェアなどが含まれる。ユーザが占有する作業環境はストレージ内の専用のＬＵ（論理ユニット)に格納され、他のユーザの作業環境とは明確に区別される。
【０００８】
ユーザは端末コンピュータをネットワーク経由でストレージと接続し、自分の作業環境を利用する。端末コンピュータをいわゆるディスクレス・コンピュータとし、オペレーティングシステムまでを含んだ全ての作業環境をストレージに格納するネットワークブート・システムが典型的な例として挙げられる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−２７２７９２号公報
【特許文献２】特開２００１−０７５８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
通常のパーソナル・コンピューティング環境では、ユーザの作業環境はユーザ自身が占有するパーソナルコンピュータ（ＰＣ）に格納されるのが一般的である。つまり、ユーザとコンピュータが１：１の関係で対応する。このようなパーソナル・コンピューティング環境においてユーザは、任意の場所で自分の作業環境を利用するためにはＰＣを持ち歩く必要がある。
【００１１】
一方ストレージ・セントリックなコンピューティング環境では、ユーザは自身が占有する端末コンピュータを持つ必要はない。どの端末コンピュータを使用したとしても、ユーザは自分の作業環境を同じように継続して利用することができる。また１つの端末コンピュータはどのユーザも使用することもできる。つまり、ユーザとコンピュータがＮ：Ｍの関係、つまり多対多の関係で対応する。
【００１２】
これには２つの利点がある。第一に、ユーザは自分のＰＣを持ち歩く必要はなく、インフラとして各拠点に用意された端末コンピュータを使えば良い。第二に、使用中でない端末コンピュータを任意に選んで使用できるため、全体として端末コンピュータの稼働率を高めることができる。
【００１３】
しかし、ストレージ・セントリックなコンピューティング環境では、ユーザとコンピュータが多対多の関係で対応するため、ユーザが誤って並行して複数の端末コンピュータから同一の作業環境を利用しようとしたときの排他性を考慮する必要がある。例えば、ディスクレス・コンピュータをネットワークブートする端末コンピュータの場合、同一のＬＵに格納されている汎用のオペレーティング・システムを複数の端末コンピュータで並行して使用すると、当該汎用のオペレーティングシステムが誤動作し、データが破壊される恐れがある。なぜなら汎用のオペレーティング・システムはコンピュータに内蔵のディスクにインストールされて占有して利用される場合しか想定していないからである。
【００１４】
本発明が解決しようとする課題は、ユーザが誤って並行して複数の端末コンピュータから同一の作業環境を利用しようとしたときでも、どちらか一方の端末コンピュータのみがその作業環境にアクセスできる、ストレージ、同ストレージを備えたストレージシステム及び同ストレージシステムにおける排他的接続方法を提供することにある。
【課題を解決するための手段】
【００１５】
実施形態によれば、複数のユーザのそれぞれの作業環境を格納した複数の論理ユニットを備え、前記複数のユーザがいずれも利用可能な複数の端末コンピュータからＳＣＳＩプロトコルを適用するネットワークを経由してアクセス可能なストレージは、ターゲット・ポートと、論理ユニット管理情報記憶手段と、ユーザＩＤ取り出し手段と、論理ユニット特定手段と、リザベーション手段とを具備する。ターゲット・ポートは、ユーザによる前記複数の端末コンピュータのうちの任意の端末コンピュータの使用開始時に前記任意の端末コンピュータが取得した、当該ユーザを識別するユーザＩＤと前記使用開始時点に対応した時刻情報及び乱数の少なくとも一方に基づいて生成された付加ＩＤと含むイニシエータＩＤを用いて、前記任意の端末コンピュータが前記ストレージに接続した場合に、前記接続に用いたイニシエータＩＤを特定し、当該イニシエータＩＤに対応するセッションを介して前記任意の端末コンピュータから送られる要求を待つ。論理ユニット管理情報記憶手段は、前記複数の端末コンピュータを利用可能な各ユーザのユーザＩＤと、当該ユーザＩＤで識別されるユーザが利用可能な論理ユニットを識別する論理ユニットＩＤとの対応を示す論理ユニット管理情報を記憶する。ユーザＩＤ取り出し手段は、前記イニシエータＩＤに対応するセッションを介して前記任意の端末コンピュータから要求が送られた場合、当該イニシエータＩＤから前記ユーザＩＤを取り出す。論理ユニット特定手段は、前記取り出されたユーザＩＤ及び前記論理ユニット管理情報に基づいて、前記取り出されたユーザＩＤに対応する論理ユニットを特定する。リザベーション手段は、前記特定された論理ユニットが、前記取り出されたユーザＩＤに対応するイニシエータＩＤの示すイニシエータとは別のイニシエータによってリザーブされている場合、前記別のイニシエータのイニシエータＩＤが、前記取り出されたユーザＩＤに一致するユーザＩＤを含んでいても、前記要求に対する応答としてエラーを示すリザベーション・コンフリクトを要求元に返す。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係るストレージシステムの構成を示すブロック図。
【図２】図１に示される端末コンピュータの構成とストレージの構成とを示すブロック図。
【図３】第１の実施形態における端末コンピュータの動作を説明するためのフローチャート。
【図４】第１の実施形態において、ストレージが端末コンピュータによって接続された際の当該ストレージの動作を説明するためのフローチャート。
【図５】第１の実施形態で適用されるイニシエータＩＤのデータフォーマットの例を示す図。
【図６】第１の実施形態で適用されるＬＵ管理テーブルの例を示す図。
【図７】第１の実施形態で適用されるＬＵマッピングの例を示す図。
【図８】第２の実施形態で適用されるイニシエータＩＤのデータフォーマットの例を示す図。
【図９】第３の実施形態で適用されるＬＵ管理テーブルの例を示す図。
【発明を実施するための形態】
【００１７】
以下、実施の形態につき図面を参照して説明する。  
［第１の実施形態］
図１は第１の実施形態に係るストレージシステムの構成を示すブロック図である。図１において、端末コンピュータ１０-1，１０-2，…１０-Mは、例えば、ハードディスクドライブのようなディスク装置を持たないディスクレスのコンピュータ（ディスクレス・コンピュータ）である。端末コンピュータ１０-1〜１０-Mの各々は、ユーザ４０-1〜４０-Nによって使用可能である。
【００１８】
ストレージ２０は、ユーザ４０-1〜４０-Nの作業環境をそれぞれ当該ユーザ４０-1〜４０-Nに固有のＬＵ（論理ユニット）に格納する記憶装置である。ストレージ２０は、ＳＣＳＩリザベーションの機能を有している。ストレージ２０には、端末コンピュータ１０-1〜１０-Mがそれぞれ接続可能である。つまり、ストレージ２０と、端末コンピュータ１０-1〜１０-Mとの間には、それぞれセッションを設定することが可能である。
【００１９】
ストレージ・ネットワーク３０は、端末コンピュータ１０-i（ｉ＝１，２，…Ｍ）とストレージ２０とをＳＣＳＩプロトコルで接続するネットワークである。つまり端末コンピュータ１０-1〜１０-Mは、ストレージ・ネットワーク３０を介してストレージ２０と接続可能である。第１の実施形態において、ストレージ・ネットワーク３０は、ＳＣＳＩプロトコルとしてｉＳＣＳＩ（インターネットＳＣＳＩ）を適用するＳＡＮ（Storage Area Network）、例えばＩＰ（Internet Protocol）−ＳＡＮである。しかし、ストレージ・ネットワーク３０は、ＳＣＳＩプロトコルを適用するネットワークであるならば、例えばＴＣＰ／ＩＰネットワークであってもよい。また、端末コンピュータ１０-iとストレージ２０とをＳＣＳＩプロトコルで接続するのに、ＳＣＳＩケーブルによるデイジチェイン接続を適用することも可能である。
【００２０】
図２は、図１に示される端末コンピュータ１０-1〜１０-Mの各々の構成、つまり端末コンピュータ１０-i（ｉ＝１，２，…Ｍ）の構成と、ストレージ２０の構成とを示すブロック図である。  
端末コンピュータ１０-iは、イニシエータＩＤ生成部１１及びイニシエータ・ポート１２とを備えている。端末コンピュータ１０-iは更に、キーボード等の入力部及びディスプレイ等の出力部（いずれも図示せず）を備えている。キーボードは、ハードウェアキーボード或いはソフトウェアキーボードいずれでも構わない。また、入力部がカードリーダを含んでいても構わない。
【００２１】
イニシエータＩＤ生成部１１は、ユーザ４０-j（ｊ＝１，２，…Ｎ）が端末コンピュータ１０-iの使用を開始する際に、ユーザＩＤ及び付加ＩＤに基づいてイニシエータＩＤを生成する。第１の実施形態において、イニシエータＩＤは、ユーザＩＤに付加ＩＤを連結したものを指す。ユーザＩＤは、ユーザ４０-jを一意に特定するＩＤである。第１の実施形態において、ユーザＩＤと当該ユーザＩＤで特定されるユーザ４０-jの作業環境とは１：１に対応する。付加ＩＤは、予め定められた規則に従って生成されるＩＤである。第１の実施形態において、付加ＩＤは、時刻情報と予め定められた関数Ｆとに基づいて生成される。
【００２２】
イニシエータＩＤ生成部１１は、ユーザＩＤ取得部１１１と付加ＩＤ生成部１１２とを備えている。  
ユーザＩＤ取得部１１１は、端末コンピュータ１０-iを使用するユーザ４０-jのユーザＩＤを入力部を介して取得する。
【００２３】
付加ＩＤ生成部１１２は、ユーザ４０-j（ｊ＝１，２，…Ｎ）が端末コンピュータ１０-iの使用を開始する際に、予め定められた規則に従って、付加ＩＤを生成する。より詳細には、付加ＩＤ生成部１１２は、時刻情報Ｔｘを利用して、予め定められた方法により、例えば時刻情報Ｔｘを引数として予め定められた関数Ｆ（）に適用することにより、Ｆ（Ｔｘ）を付加ＩＤとして生成する。
【００２４】
イニシエータ・ポート１２は、ＳＣＳＩプロトコルで端末コンピュータ１０-iをストレージ２０と接続し、つまり端末コンピュータ１０-iとストレージ２０との間にセッションを設定し、この状態で、端末コンピュータ１０-iからストレージ２０へのＩ／Ｏ要求等を処理する。
【００２５】
一方、ストレージ２０は、ターゲット・ポート２１、ＬＵマッピング機構２２、リザベーション機構２３及び記憶部２４を備えている。  
ターゲット・ポート２１は、端末コンピュータ１０-iとＳＣＳＩプロトコルで接続し、この状態で、当該端末コンピュータ１０-iからのＩ／Ｏ要求等を受け付ける。ターゲット・ポート２１はまた、接続元のイニシエータＩＤを特定する。
【００２６】
ＬＵマッピング機構２２は、端末コンピュータ１０-iから要求されたタスク（Ｉ／Ｏ操作）の処理対象となるＬＵを、ターゲット・ポート２１によって特定されたイニシエータＩＤ中のユーザＩＤと、後述するＬＵＤＢ２２２とに基づいて特定する。つまりＬＵマッピング機構２２は、ＬＵ特定手段として機能する。
【００２７】
ＬＵマッピング機構２２は、イニシエータＩＤ分解部２２１及びＬＵデータベース（ＬＵＤＢ）２２２を備えている。  
イニシエータＩＤ分解部２２１は、ターゲット・ポート２１によって特定されイニシエータＩＤをユーザＩＤと付加ＩＤとに分解することにより、当該イニシエータＩＤからユーザＩＤを取り出す。つまりイニシエータＩＤ分解部２２１はユーザＩＤ取り出し手段として機能する。
【００２８】
ＵＤＢ２２２は、ユーザＩＤ毎に、当該ユーザＩＤと当該ユーザＩＤで特定されるユーザの作業環境が格納されたＬＵとの対応を示す情報をＬＵ管理テーブル２２３として格納する。ＬＵマッピング機構２２は、イニシエータＩＤ分解部２２１によって取り出されたユーザＩＤに基づいてＬＵ管理テーブル２２３を参照することにより、端末コンピュータ１０-iから要求されたタスクの処理に必要な、当該ユーザＩＤで示されるユーザの作業環境を格納しているＬＵを特定する。
【００２９】
リザベーション機構２３は、周知のＳＣＳＩリザベーションの処理を実行する。記憶部２４は、ユーザ４０-1〜４０-Nそれぞれの作業環境を格納する、当該ユーザ４０-1〜４０-Nに固有のＬＵ（論理ユニット）を提供する。この作業環境は、背景技術の欄で述べたように、メール環境、Ｗｅｂブラウザ、オフィスソフトウェア、オペレーティングシステム（例えば汎用のオペレーティングシステム）、セキュリティソフトウェアなどを含むものとする。
【００３０】
次に、図１に示されるストレージシステムにおける動作の概要について、ユーザ４０-1が端末コンピュータ１０-1を使用する場合を例に、端末コンピュータ１０-1の動作とストレージ２０の動作とに分けて説明する。
【００３１】
まず、端末コンピュータ１０-1の動作について、図３のフローチャートを参照して説明する。  
今、ユーザ４０-1が空いている端末コンピュータ１０-1の使用を開始したものとする。すると端末コンピュータ１０-1のユーザＩＤ取得部１１１は、例えば端末コンピュータ１０-1のディスプレイを介してユーザ４０-1にユーザＩＤの入力を促す。これに応じてユーザ４０-1は、自身のユーザＩＤを入力する操作を行う。これによりユーザＩＤ取得部１１１は、入力されたユーザＩＤを取得する（ステップＳ１）。なお、例えば、ユーザによってカードリーダに挿入或いはかざされた、ＩＣカードのようなカードに記録されたユーザＩＤを、当該カードリーダを介して取得してもよい。
【００３２】
端末コンピュータ１０-1の付加ＩＤ生成部１１２は、ユーザ４０-1によって当該端末コンピュータ１０-1の使用が開始された際の時刻情報、例えばユーザＩＤ取得部１１１によってユーザＩＤが取得された時点ｘの時刻情報Ｔｘを、端末コンピュータ１０-1が有するシステム時計から取得する（ステップＳ２）。  
付加ＩＤ生成部１１２は、時刻情報Ｔｘを引数として予め定められた関数Ｆ（）に適用することにより、Ｆ（Ｔｘ）を付加ＩＤとして生成する（ステップＳ３）。ここで関数Ｆ（）は、引数が異なるときにはその値も異なる性質を持つ１対１の関数、即ちｘ≠ｙならばＦ（ｘ）≠Ｆ（ｙ）が成立する関数、或いは、引数が異なるときにその値が同一になる確率が極めて小さい関数である。後者の例としては、セキュアハッシュ関数が挙げられる。
【００３３】
なお、付加ＩＤ（＝Ｆ（Ｔｘ））が時刻情報Ｔｘであっても構わない。また、付加ＩＤは、ユーザＩＤが取得された時点（つまり、端末コンピュータ１０-1の使用が開始された時点）ｘが反映されたものであればよい。そこでユーザＩＤ取得部１１１が、時点ｘの時刻情報Ｔｘを取得する代わりに、時点ｘの乱数Ｒｘを生成し、当該乱数Ｒｘを引数として関数Ｆ（）に適用することにより、Ｆ（Ｒｘ）を付加ＩＤとして生成してもよい。ここで付加ＩＤ（＝Ｆ（Ｒｘ））が乱数Ｒｘであっても構わない。
【００３４】
また、ユーザＩＤ取得部１１１が、時点ｘの時刻情報Ｔｘを取得すると共に、時点ｘの乱数Ｒｘを生成し、当該時刻情報Ｔｘと乱数Ｒｘとを引数として関数Ｆ（）に適用することにより、Ｆ（Ｔｘ，Ｒｘ）を付加ＩＤとして生成してもよい。この時刻情報Ｔｘと乱数Ｒｘとを引数として用いるＦ（）が、時刻情報Ｔｘと乱数Ｒｘとの連結を表す関数であってもよい。この場合、付加ＩＤ（＝Ｆ（Ｔｘ，Ｒｘ））を“Ｔｘ＋Ｒｘ”と表すこともできる。
【００３５】
端末コンピュータ１０-1のイニシエータＩＤ生成部１１は、ユーザＩＤ取得部１１１によって取得されたユーザＩＤと付加ＩＤ生成部１１２によって生成された付加ＩＤとを連結することにより、イニシエータＩＤを生成する（ステップＳ４）。なお、ユーザＩＤ取得部１１１及び付加ＩＤ生成部１１２が、イニシエータＩＤ生成部１１の外部に備えられていてもよい。
【００３６】
イニシエータ・ポート１２は、イニシエータＩＤ生成部１１によって生成されたイニシエータＩＤを用いてストレージ２０（より詳細には、ストレージ２０のターゲット・ポート）２１に接続する（ステップＳ５）。この接続の後、イニシエータ・ポート１２は、ユーザＩＤ取得部１１１によって取得されたユーザＩＤのユーザ４０-1が利用可能な当該ユーザ４０-1に固有のＬＵをリザーブ（予約）するためのリザーブ要求を、ストレージ２０に送出する（ステップＳ６）。リザーブ要求は、ＳＣＳＩコマンドの１つである。
【００３７】
イニシエータ・ポート１２によって送出されたリザーブ要求に対して、ストレージ２０からリザベーション・コンフリクトが応答された場合、つまりリザーブ要求に失敗した場合は（ステップＳ７のＮｏ）、イニシエータ・ポート１２は、次のように判断する。つまりイニシエータ・ポート１２は、ユーザ４０-1に固有のＬＵが、イニシエータＩＤ生成部１１によって生成されたイニシエータＩＤの示すイニシエータとは別のイニシエータによってリザーブされており、当該生成されたイニシエータＩＤの示すイニシエータからは利用できないと判断する。この場合、イニシエータ・ポート１２は端末コンピュータ１０-1を強制終了させる（ステップＳ８）。このように、リザベーション・コンフリクトのエラーの応答は、取得されたユーザＩＤのユーザ４０-1に固有のＬＵが、当該ユーザ４０-1によって別の端末コンピュータから既に使用中であり、端末コンピュータ１０-1からは利用できないことを示す。
【００３８】
これに対し、リザーブ要求が成功した場合（ステップＳ７のＹｅｓ）には、イニシエータ・ポート１２は、ユーザ４０-1に固有のＬＵをリザーブできたことから、当該ＬＵを端末コンピュータ１０-1から利用可能であると判断する。この場合、イニシエータ・ポート１２はストレージ２０に対して、ＳＣＳＩコマンドの１つであるＩ／Ｏ要求を送出することにより、ユーザ４０-1に固有のＬＵによって提供される作業環境にアクセスする（ステップＳ９）。つまり端末コンピュータ１０-1は稼動して、ストレージ２０内のユーザ４０-1に固有のＬＵにアクセスする。
【００３９】
その後、ユーザ４０-1が稼動状態にある端末コンピュータ１０-1の利用を終了して、当該端末コンピュータ１０-1をシャットダウンさせるための操作を行ったものとする。すると、イニシエータ・ポート１２はシャットダウン処理の最後に、ユーザ４０-1に固有のＬＵの解放するためのリリース要求を、ストレージ２０に送出する（ステップＳ１０）。リリース要求は、ＳＣＳＩコマンドの１つである。リリース要求がストレージ２０で受け付けられて、ユーザ４０-1に固有のＬＵが解放されると、端末コンピュータ１０-1は停止して、空いている状態となる。
【００４０】
次に、ストレージ２０が端末コンピュータ１０-1によって接続された際の当該ストレージ２０の動作について、図４のフローチャートを参照して説明する。  
まず、ストレージ２０の管理者は、ユーザＩＤ毎に、当該ユーザＩＤと当該ユーザＩＤで特定されるユーザの作業環境が格納されたＬＵとの対応を示すＬＵ管理テーブル２２３を、ＬＵＤＢ２２２内に予め設定しておく。
【００４１】
ここで、ストレージ２０のターゲット・ポート２１が、端末コンピュータ１０-1側での上記ステップＳ４の実行により、当該端末コンピュータ１０-1からイニシエータＩＤを用いて接続されたものとする。するとターゲット・ポート２１は、この接続のイニシエータＩＤを特定する（ステップＳ１１）。
【００４２】
ターゲット・ポート２１は、端末コンピュータ１０-1との接続状態において、この接続のイニシエータＩＤに対応するセッションを介して当該端末コンピュータ１０-1から送られる要求（ＳＣＳＩコマンド）を待つ（ステップＳ１２）。この要求は、リザーブ要求、Ｉ／Ｏ要求及びリリース要求を含む複数の要求のいずれかである。
【００４３】
ターゲット・ポート２１は端末コンピュータ１０-1からの要求を受信すると（ステップＳ１２のＹｅｓ）、受信した要求に対応するタスクを生成する（ステップＳ１３）。生成されたタスクには、受信した要求の要求元のイニシエータＩＤが含まれている。
【００４４】
イニシエータＩＤ分解部２２１は、タスクのイニシエータＩＤ、つまりステップＳ１１で特定されたイニシエータＩＤからユーザＩＤを取り出す（ステップＳ１４）。
【００４５】
ＬＵマッピング機構２２は、イニシエータＩＤ分解部２２１によって取り出されたユーザＩＤに基づいてＬＵＤＢ２２２内のＬＵ管理テーブル２２３を参照することにより、当該ユーザＩＤに対応するＬＵ、即ち上記生成されたタスクの処理に必要な、当該ユーザＩＤで示されるユーザの作業環境を格納しているＬＵを特定する（ステップＳ１５）。
【００４６】
リザベーション機構２３は、上記生成されたタスクの処理に必要な特定されたＬＵが、当該タスクのイニシエータＩＤの示すイニシエータ（以下、該当イニシエータと称する）とは別のイニシエータによってリザーブされている特定状態にあるかを判定する（ステップＳ１６）。このステップＳ１６での判定の仕組みは従来から知られており、その詳細については、後述する。
【００４７】
もし、上記特定状態にある場合（ステップＳ１６のＹｅｓ）、リザベーション機構２３は、ターゲット・ポート２１を介して端末コンピュータ１０-1にリザベーション・コンフリクトを応答（エラー応答）する（ステップＳ１７）。このように、リザベーション機構２３は、ステップＳ１６での判定結果に基づき、別のイニシエータによってリザーブされている上記特定されたＬＵへの該当イニシエータからの要求を排他する。つまりリザベーション機構２３は、端末コンピュータ１０-1からのイニシエータＩＤを用いてのストレージ２０内の上記特定されたＬＵへの接続を排他する。
【００４８】
これに対し、上記特定状態にない場合（ステップＳ１６のＮｏ）、リザベーション機構２３はその旨をターゲット・ポート２１に通知する。するとターゲット・ポート２１は、上記生成されたタスク（つまり要求された処理）を、上記特定されたＬＵに格納されている作業環境で実行し（ステップＳ１８）、しかる後に端末コンピュータ１０-1に完了応答を返して当該タスクを終了する（ステップＳ１９）。
【００４９】
このように第１の実施形態によれば、ユーザ４０-1が端末コンピュータ１０-1とは別の端末コンピュータを使用して、既に当該別の端末コンピュータからストレージ２０に接続している状態で、つまりストレージ２０内の当該ユーザ４０-1に固有のＬＵをリザーブしている状態で、誤って端末コンピュータ１０-1から当該ＬＵにアクセスして、同一の作業環境を利用しようとした場合、端末コンピュータ１０-1からのアクセスはエラーとなる。つまり、ストレージ２０から端末コンピュータ１０-1にリザベーション・コンフリクトによるエラーが応答される。これにより、たとえユーザ４０-1が誤って並行して複数の端末コンピュータから同一の作業環境を利用しようとしたときでも、複数の端末コンピュータのいずれか１つのみが、その作業環境にアクセスできる。この結果、同一のＬＵに格納されている汎用のオペレーティング・システムが複数の端末コンピュータで並行して使用されるのを防止でき、当該汎用のオペレーティングシステムが誤動作して、データが破壊されるのを防止できる。
【００５０】
次に、上述のユーザ４０-1が端末コンピュータ１０-1を使用する場合の動作の詳細を、具体例を挙げて説明する。  
まず、図１のストレージシステムが、例えば日本の全国に拠点が点在する会社のストレージシステムであり、ストレージ２０は、この会社のデータセンタに置かれているものとする。この場合、ユーザ４０-1〜４０-Nは、上記の会社の社員である。
【００５１】
ユーザ（社員）４０-1〜４０-Nのそれぞれの作業環境は、ストレージ２０が提供する、当該ユーザ４０-1〜４０-NのユーザＩＤに固有のＬＵに格納されている。このユーザ４０-1〜４０-NのユーザＩＤに固有のＬＵに格納される作業環境は、パーソナル・コンピューティング環境では、当該ユーザ４０-1〜４０-N占有のパーソナルコンピュータ（ＰＣ）に格納されていた作業環境を全て含むものとする。
【００５２】
ユーザ（社員）４０-j（ｊ＝１，２，…Ｎ）は、全国の拠点にある任意の端末コンピュータ１０-iをデータセンタにあるストレージ２０に接続し、自分占有の作業環境を利用する。つまりユーザ４０-jは、端末コンピュータ１０-iが自分占有のＰＣであるように使用することができる。ユーザ４０-jは、出張や移動で別の拠点へ行った場合にも、別の端末コンピュータから端末コンピュータ１０-iと同様に自分占有の作業環境を利用することができる。
【００５３】
各拠点には、全社員の勤務形態に合わせて最適な数の端末コンピュータを配置することにより、会社全体の端末コンピュータの数Ｍを最適に抑えることができる。また端末コンピュータ１０-1〜１０-Mをディスクレス・コンピュータとすることにより情報漏洩のリスクを低減させることができる。
【００５４】
ところが、このようなストレージ・セントリックなコンピューティング環境では、ユーザ（社員）とコンピュータが多対多の関係（図１のストレージシステムでは、Ｎ：Ｍの関係）で対応する。このため、発明が解決しようとする課題の欄で述べたように、ユーザが誤って並行して複数の端末コンピュータから同一の作業環境を利用しようとしたときの排他性を考慮する必要がある。
【００５５】
第１の実施形態では、この排他性を、詳細を後述するように、同一ユーザＩＤのユーザが並行して複数の端末コンピュータを利用しても、イニシエータＩＤが異なること、つまり付加ＩＤが異なることをもって実現している。
【００５６】
第１の実施形態では、ＳＣＳＩプロトコルとしてｉＳＣＳＩプロトコルが適用されるものとする。ｉＳＣＳＩ規格では、イニシエータＩＤはｉＳＣＳＩ名に６バイトのＩＳＩＤ(Initiator Session Identifier：イニシエータ・セッションＩＤ)を付加したものであると定められている。一方、時刻情報Ｔｓは例えば５バイトであるものとする。
【００５７】
そこで第１の実施形態では、ユーザＩＤは、イニシエータＩＤのｉＳＣＳＩ名フィールドにセットされる。つまり、イニシエータＩＤのｉＳＣＳＩ名としてユーザＩＤが用いられる。また、付加ＩＤには、予め定められた１バイトのヘッダ（例えば、０ｘ８０）に５バイトの時刻情報Ｔｘを連結した情報が用いられ、この付加ＩＤ（６バイト）が、イニシエータＩＤのＩＳＩＤフィールドにセットされる。つまりイニシエータＩＤのＩＳＩＤとして付加ＩＤが用いられる。このイニシエータＩＤのデータフォーマットの例を図５に示す。
【００５８】
ストレージ２０はｉＳＣＳＩストレージである。ストレージ２０のＬＵマッピング機構２２は、イニシエータＩＤのうちｉＳＣＳＩ名にのみ着目してマッピングを行う。ストレージ２０の管理者は、ｉＳＣＳＩ名をユーザＩＤに読み替えて、当該ユーザＩＤのユーザ（社員）の作業環境を含むＬＵをマップするように事前に設定しておく。説明を簡素化するため、ユーザの作業環境は１つのＬＵに含まれているものとし、全てＬＵＮが０（ＬＵＮ＝０）のＬＵにマップされるものとする。このＬＵＮ＝０のＬＵは仮想ＬＵである。
【００５９】
ＬＵＤＢ２２２に格納されるＬＵ管理テーブル２２３は、ｉＳＣＳＩ名、ＬＵＮ及びＬＵＩＤの対応関係を表す情報を登録したテーブルとして実現される。ＬＵＩＤは、対応するｉＳＣＳＩ名、つまりユーザＩＤのユーザに固有のＬＵを識別するＩＤである。このＬＵＩＤで特定されるＬＵは、ＬＵＮ＝０のＬＵ（仮想ＬＵ）と異なり、実ＬＵである。
【００６０】
ＬＵ管理テーブル２２３の例を図６に示す。図６のＬＵ管理テーブル２２３の例では、ｉＳＣＳＩ名としてとのユーザＩＤが“ｅｎｄｏ”のユーザ（社員）の作業環境はＬＵＩＤが２のＬＵに格納されている。このＬＵＩＤが２のＬＵは、端末コンピュータ１０-iからアクセスされたときに、ＬＵＮ＝０の仮想ＬＵにマップされる。
【００６１】
図６のＬＵ管理テーブル２２３で示されるＬＵマッピングの例を図７に示す。このＬＵマッピングでは、イニシエータからは、対応するイニシエータＩＤに含まれているユーザＩＤに無関係に、ＬＵＮ＝０の仮想ＬＵがアクセス先となる。実際にアクセスされるのは、ｉＳＣＳＩ名としてとのユーザＩＤに対応付けられたＬＵＩＤによって示される実ＬＵである。
【００６２】
ここで、ユーザＩＤが“ｅｎｄｏ”の社員がユーザ４０-1であり、当該ユーザ４０-1が空いている端末コンピュータ１０-1の使用を開始した場合の動作について、図４のフローチャートを再び参照して説明する。
【００６３】
端末コンピュータ１０-1のユーザＩＤ取得部１１１は、ユーザ４０-1にユーザＩＤの入力を促し、当該ユーザ４０-1のユーザＩＤとして“ｅｎｄｏ”（ユーザＩＤ＝ｅｎｄｏ）を取得する（ステップＳ１）。
【００６４】
端末コンピュータ１０-1の付加ＩＤ生成部１１２は、ユーザＩＤ＝“ｅｎｄｏ”が取得された時点ｘの時刻情報Ｔｘを取得する（ステップＳ２）。付加ＩＤ生成部１１２は、時刻情報Ｔｘを引数として関数Ｆ（）に適用することにより、付加ＩＤとして、Ｆ（Ｔｘ）＝０ｘ８０（１バイト）＋Ｔｘ（５バイト）を生成する（ステップＳ３）。
【００６５】
端末コンピュータ１０-1のイニシエータＩＤ生成部１１は、ユーザＩＤ＝“ｅｎｄｏ”と付加ＩＤ＝０ｘ８０＋Ｔｘとを連結することにより、イニシエータＩＤ＝“ｅｎｄｏ”＋０ｘ８０＋Ｔｘを生成する（ステップＳ４）。ここでは、ユーザＩＤ＝“ｅｎｄｏ”は、イニシエータＩＤのｉＳＣＳＩ名に対応し、付加ＩＤ＝０ｘ８０＋ＴｘはイニシエータＩＤのＩＳＩＤに対応する。
【００６６】
イニシエータ・ポート１２は、生成されたイニシエータＩＤ＝“ｅｎｄｏ”＋０ｘ８０＋Ｔｘを用いてストレージ２０に接続を要求することにより、当該ストレージ２０に接続する（ステップＳ５）。この接続の後、イニシエータ・ポート１２は、ＬＵＮ＝０のＬＵ（より詳細には、ＬＵＮ＝０の仮想ＬＵにマッピングされた、上記接続に用いられたイニシエータＩＤのｉＳＣＳＩ名としてのユーザＩＤに対応する実ＬＵ）をリザーブするためのリザーブ要求を、ストレージ２０に送出する（ステップＳ６）。
【００６７】
このリザーブ要求に対して、ストレージ２０からリザベーション・コンフリクトが端末コンピュータ１０-1に応答された場合（ステップＳ７のＮｏ）、イニシエータ・ポート１２は、ＬＵＮ＝０のＬＵ（にマッピングされた実ＬＵ）が当該端末コンピュータ１０-1以外の端末コンピュータを介して、当該端末コンピュータ１０-1を利用しているユーザと同一のユーザによってリザーブされていると判断し、その旨のエラーメッセージを端末コンピュータ１０-1のディスプレイに表示する。そしてイニシエータ・ポート１２は、端末コンピュータ１０-1を強制終了させる（ステップＳ８）。
【００６８】
これに対し、リザーブ要求が成功した場合（ステップＳ７のＹｅｓ）、イニシエータ・ポート１２は、ＬＵＮ＝０のＬＵは当該リザーブ要求に応じてリザーブされ、当該ＬＵＮ＝０のＬＵ（仮想ＬＵ）にアクセス可能であると判断する。そこで、イニシエータ・ポート１２はストレージ２０に対してＩ／Ｏ要求を送出することにより、ＬＵＮ＝０の仮想ＬＵにアクセスする（ステップＳ９）。ここでは、後述するように、イニシエータＩＤ中のユーザＩＤ＝“ｅｎｄｏ”に固有の実ＬＵがＬＵＮ＝０の仮想ＬＵにマッピングされている。このため、ＬＵＮ＝０の仮想ＬＵにアクセスすることにより、ユーザＩＤ＝“ｅｎｄｏ”に固有の実ＬＵ（ＬＵＩＤ＝２の実ＬＵ）にアクセスすることができる。
【００６９】
その後、ユーザ４０-1が稼動状態にある端末コンピュータ１０-1の利用を終了して、当該端末コンピュータ１０-1をシャットダウンさせるための操作を行ったものとする。すると、イニシエータ・ポート１２はシャットダウン処理の最後に、ＬＵＮ＝０の仮想ＬＵ（にマッピングされたユーザＩＤ＝“ｅｎｄｏ”に固有の実ＬＵ）を解放するためのリリース要求を、ストレージ２０に送出する（ステップＳ１０）。リリース要求がストレージ２０で受け付けられて、ＬＵＮ＝０の仮想ＬＵが解放され、これにより当該仮想ＬＵにマッピングされているユーザ４０-1のユーザＩＤ＝“ｅｎｄｏ”に固有の実ＬＵが解放されると、端末コンピュータ１０-1は停止して、空いている状態となる。
【００７０】
次に、端末コンピュータ１０-1によって接続された際のストレージ２０の動作について、図５のフローチャートを再び参照して説明する。  
まず、ストレージ２０の管理者は、図６に示すＬＵ管理テーブル２２３を、ＬＵＤＢ２２２内に予め設定しておく。
【００７１】
ここで、ストレージ２０のターゲット・ポート２１が、ユーザＩＤ＝“ｅｎｄｏ”のユーザ４０-1が使用する端末コンピュータ１０-1からの接続要求を受け付け、これにより端末コンピュータ１０-1がストレージ２０に接続されたものとする。するとターゲット・ポート２１は、この接続のイニシエータＩＤ＝“ｅｎｄｏ”＋０ｘ８０＋Ｔｘを特定する（ステップＳ１１）。
【００７２】
ターゲット・ポート２１は、端末コンピュータ１０-1との接続状態において、当該端末コンピュータ１０-1からの要求を待つ（ステップＳ１２）。  
ターゲット・ポート２１は端末コンピュータ１０-1からの要求を受信すると（ステップＳ１２のＹｅｓ）、受信した要求に対応するタスクを生成する（ステップＳ１３）。
【００７３】
イニシエータＩＤ分解部２２１は、タスクのイニシエータＩＤ＝“ｅｎｄｏ”＋０ｘ８０＋ＴｘからｉＳＣＳＩ名として用いられているユーザＩＤ＝“ｅｎｄｏ”を取り出す（ステップＳ１４）。
【００７４】
ＬＵマッピング機構２２は、取り出されたユーザＩＤ＝“ｅｎｄｏ”に基づいて、図６に示すＬＵ管理テーブル２２３を参照することにより、ユーザＩＤ＝“ｅｎｄｏ”に対応付けられている実ＬＵ、つまりＬＵＩＤ＝２の実ＬＵを特定する（ステップＳ１５）。なお、端末コンピュータ１０-1からＬＵＮ＝０以外のＬＵＮ（ここでは０より大きいＬＵＮ）で指定されるＬＵへのアクセスが要求された場合には、ストレージ２０から当該端末コンピュータ１０-1に、周知の“LOGICAL UNIT NOT SUPPORTED“のエラーが応答される。
【００７５】
リザベーション機構２３は、上記特定されたＬＵ（実ＬＵ）が、該当イニシエータとは別のイニシエータによってリザーブされている特定状態にあるかを、後述する仕組みによって判定する（ステップＳ１６）。
【００７６】
もし、上記特定状態にある場合（ステップＳ１６のＹｅｓ）、リザベーション機構２３は、ターゲット・ポート２１を介して端末コンピュータ１０-1にリザベーション・コンフリクトを応答する（ステップＳ１７）。
【００７７】
これに対し、上記特定状態にない場合（ステップＳ１６のＮｏ）、ターゲット・ポート２１は、上記生成されたタスクを、上記特定されたＬＵに格納されている作業環境で実行し（ステップＳ１８）、しかる後に端末コンピュータ１０-1に完了応答を返して当該タスクを終了する（ステップＳ１９）。
【００７８】
ここで、特定されたＬＵが、該当イニシエータとは別のイニシエータによってリザーブされている特定状態にあるかを判定する仕組みについて説明する。この仕組みは、別のイニシエータによってリザーブされている上記特定されたＬＵへの該当イニシエータからの要求を検出して排他する仕組みであるといえる。以下の説明では、端末コンピュータ１０-1及び１０-2が同一拠点に配置されているものとする。
【００７９】
まず、ユーザＩＤ＝“ｅｎｄｏ”のユーザ４０-1が、端末コンピュータ１０-1とは異なる端末コンピュータ、例えば端末コンピュータ１０-2を使用したままの状態で、つまり当該端末コンピュータ１０-2を停止させずに、端末コンピュータ１０-1を起動したものとする。この場合、上記特定状態が発生する。
【００８０】
ストレージ２０のリザベーション機構２３は、ＳＣＳＩ規格に準拠した周知のＳＣＳＩリザベーションの機能を有している。第１の実施形態においてリザベーション機構２３は、このＳＣＳＩリザベーションの機能により、ｉＳＣＳＩのリザベーションの処理を実行する。即ちリザベーション機構２３は、イニシエータからの要求に対して、当該イニシエータのイニシエータＩＤに基づいて排他を行う。このため、イニシエータＩＤのｉＳＣＳＩ名フィールドの内容が同じでも、ＩＳＩＤフィールドの内容が異なっていれば、要求元は別のイニシエータであるとして排他が行われる。
【００８１】
ユーザＩＤ＝“ｅｎｄｏ”のユーザ４０-1が端末コンピュータ１０-2の使用を開始した時点ｘａにおいて、当該端末コンピュータ１０-2のイニシエータＩＤ生成部１１によって生成されるイニシエータＩＤがイニシエータＩＤａであり、イニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｔｘａであるものとする。ヘッダは例えば０ｘ８０であり、Ｔｘａは、ユーザ４０-1が端末コンピュータ１０-2の使用を開始した時点ｘａの時刻情報である。
【００８２】
端末コンピュータ１０-2のイニシエータ・ポート１２は、上記イニシエータＩＤａを用いてストレージ２０に接続し、しかる後にリザーブ要求に成功したものとする。この場合、ＬＵＩＤ＝２のＬＵがイニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｔｘａのイニシエータによってリザーブされる。この状態では、ユーザ４０-1は、ＬＵＩＤ＝２のＬＵに格納されている自身の使用環境に、端末コンピュータ１０-2からアクセスできる。
【００８３】
その後、ユーザ４０-1が端末コンピュータ１０-2を使用したまま、例えば時点ｘｂで端末コンピュータ１０-1の使用を開始したものとする。また、この時点ｘｂにおいて、端末コンピュータ１０-1のイニシエータＩＤ生成部１１によって生成されるイニシエータＩＤがイニシエータＩＤｂであり、イニシエータＩＤｂ＝“ｅｎｄｏ”＋ヘッダ＋Ｔｘｂであるものとする。ヘッダは０ｘ８０であり、Ｔｘｂは、ユーザ４０-1が端末コンピュータ１０-1の使用を開始した時点ｘｂの時刻情報である。
【００８４】
端末コンピュータ１０-1のイニシエータ・ポート１２は、上記イニシエータＩＤｂを用いてストレージ２０に接続した後、当該ストレージ２０にリザーブ要求を送出する。
【００８５】
ストレージ２０のＬＵマッピング機構２２は、リザーブ要求元のイニシエータＩＤｂに含まれているｉＳＣＳＩ名としてのユーザＩＤ＝“ｅｎｄｏ”に基づいて、当該ユーザＩＤ＝“ｅｎｄｏ”に固有のＬＵ、つまりＬＵＩＤ＝２のＬＵを特定する。このＬＵＩＤ＝２のＬＵは、イニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｔｘａのイニシエータによってリザーブされている。
【００８６】
ストレージ２０のリザベーション機構２３は、上記特定されたＬＵＩＤ＝２のＬＵが、当該ＬＵＩＤ＝２のＬＵのリザーブを要求しているイニシエータとは別のイニシエータによって既にリザーブされているかを判定する（ステップＳ１５）。この判定は、上記特定されたＬＵＩＤ＝２のＬＵのリザーブを要求しているイニシエータのイニシエータＩＤｂ＝“ｅｎｄｏ”＋ヘッダ＋Ｔｘｂが、当該ＬＵＩＤ＝２のＬＵをリザーブしているイニシエータのイニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｔｘａと異なっているかを調べることによって行われる。
【００８７】
ここでイニシエータＩＤｂ中のＴｘｂ及びイニシエータＩＤａ中のＴｘａは、それぞれ、異なる時点ｘｂ及びｘａの時刻情報である。したがってイニシエータＩＤｂ及びイニシエータＩＤａは、ｉＳＣＳＩ名としてのユーザＩＤ＝“ｅｎｄｏ”が同一であるにも拘わらずに、異なっている。そこでリザベーション機構２３は、端末コンピュータ１０-1からのリザーブ要求に対して、リザベーション・コンフリクトを応答する（ステップ１７）。このように第１の実施形態では、ユーザ４０-1が端末コンピュータ１０-2を使用したままの状態で、別の端末コンピュータ１０-1をストレージ２０に接続した場合、後から接続された端末コンピュータ１０-1からのリザーブ要求に対して、当該ストレージ２０からリザベーション・コンフリクトが応答される。その結果、ユーザ４０-1が端末コンピュータ１０-2を使用したままの状態で、別の端末コンピュータ１０-1を使用することを防止できる。これにより、例えば、ユーザＩＤ＝“ｅｎｄｏ”のユーザ４０-1に対応するＬＵＩＤ＝２のＬＵに格納されている汎用のオペレーティング・システムが、端末コンピュータ１０-1及び１０-2で並行して使用されるのを防止できる。
【００８８】
なお、第１の実施形態では、説明の簡素化のために、ユーザの作業環境は１つのＬＵ（実ＬＵ）に格納され、ＬＵＮ＝０にマップされることを想定している。しかし、ユーザの作業環境が複数のＬＵにまたがって格納されても、或いは０以外のＬＵＮにマップされても構わない。
【００８９】
［第２の実施形態］
次に第２の実施形態に係るストレージシステムについて説明する。この第２の実施形態に係るストレージシステムの構成は、第１の実施形態と同様であるため、以下の説明では図１及び図２を援用する。  
第２の実施形態が第１の実施形態と相違する点は、時点ｘの時刻情報Ｔｘ（５バイト）に代えて、時点ｘの乱数Ｒｘ（５バイト）を適用することにある。第２の実施形態で適用されるイニシエータＩＤのデータフォーマットの例を図８に示す。
【００９０】
以下、第２の実施形態において、第１の実施形態と同様に、ユーザＩＤ＝“ｅｎｄｏ”のユーザ４０-1が端末コンピュータ１０-2を使用したままの状態で、端末コンピュータ１０-1の使用を開始した場合の動作について、図３及び図４のフローチャートを参照して説明する。但し、図４のフローチャートのステップＳ２において、時刻情報Ｔｘを乱数Ｒｘに置き換えられたい。
【００９１】
ユーザＩＤ＝“ｅｎｄｏ”のユーザ４０-1が端末コンピュータ１０-2の使用を開始した時点ｘａにおいて、当該端末コンピュータ１０-2のイニシエータＩＤ生成部１１は、イニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｒｘａを生成する（ステップＳ４）。Ｒｘａは、ユーザ４０-1が端末コンピュータ１０-2の使用を開始した時点ｘａに生成される乱数である。
【００９２】
端末コンピュータ１０-2のイニシエータ・ポート１２は、上記イニシエータＩＤａを用いてストレージ２０に接続し（ステップＳ５）、しかる後にリザーブ要求に成功したものとする（ステップＳ７のＹｅｓ）。この場合、ＬＵＩＤ＝２のＬＵがイニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｒｘａのイニシエータによってリザーブされる。この状態では、ユーザ４０-1は、端末コンピュータ１０-2からＬＵＩＤ＝２のＬＵに格納されている自身の使用環境にアクセスできる。
【００９３】
その後、ユーザ４０-1が端末コンピュータ１０-2を使用したまま、時点ｘｂで端末コンピュータ１０-1の使用を開始したものとする。この場合、端末コンピュータ１０-1のイニシエータＩＤ生成部１１は、イニシエータＩＤｂ＝“ｅｎｄｏ”＋ヘッダ＋Ｒｘｂを生成する（ステップＳ４）。Ｒｘｂは、ユーザ４０-1が端末コンピュータ１０-1の使用を開始した時点ｘｂに生成される乱数である。
【００９４】
端末コンピュータ１０-1のイニシエータ・ポート１２は、上記イニシエータＩＤｂを用いてストレージ２０に接続した後（ステップＳ５）、当該ストレージ２０にリザーブ要求を送出する（ステップＳ６）。
【００９５】
ストレージ２０のＬＵマッピング機構２２は、リザーブ要求元のイニシエータＩＤｂに含まれているｉＳＣＳＩ名としてのユーザＩＤ＝“ｅｎｄｏ”に基づいて、当該ユーザＩＤ＝“ｅｎｄｏ”に固有のＬＵ、つまりＬＵＩＤ＝２のＬＵを特定する（ステップＳ１５）。このＬＵＩＤ＝２のＬＵは、イニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｒｘａのイニシエータによってリザーブされている。
【００９６】
ストレージ２０のリザベーション機構２３は、上記特定されたＬＵＩＤ＝２のＬＵのリザーブを要求しているイニシエータのイニシエータＩＤｂ＝“ｅｎｄｏ”＋ヘッダ＋Ｒｘｂが、当該ＬＵＩＤ＝２のＬＵをリザーブしているイニシエータのイニシエータＩＤａ＝“ｅｎｄｏ”＋ヘッダ＋Ｒｘａと異なっているかを判定する（ステップＳ１６）。
【００９７】
ここでイニシエータＩＤｂ中のＲｘｂ及びイニシエータＩＤａ中のＲｘａは、それぞれ、異なる時点ｘｂ及びｘａに生成された乱数である。乱数Ｒｘａと乱数Ｒｘｂとが一致する確率は相当小さいため（１兆分の１以下）、イニシエータＩＤａとイニシエータＩＤｂとは異なっているものとして考えて実用上問題ない。そのため、上述の例では、後からストレージ２０に接続された端末コンピュータ１０-1からのリザーブ要求に対して、当該ストレージ２０からリザベーション・コンフリクトが応答される（ステップＳ１７）。
【００９８】
上記第１及び第２の実施形態の特徴を以下に整理して示す。  
第１及び第２の実施形態において、端末コンピュータ１０-iとストレージ２０との間の接続にはｉＳＣＳＩ接続が用いられ、ストレージ２０のリザベーション機構２３及びＬＵマッピング機構２２を利用して、ＬＵへのアクセスに対する排他を実現している。これらはＳＣＳＩ規格及び業界標準の技術として知られている。ＬＵマッピング機構２２の機能は業界標準の技術とは異なる。
【００９９】
第１及び第２の実施形態の第１の特徴は、イニシエータＩＤのデータ構造にある。つまり第１及び第２の実施形態の第１の特徴は、イニシエータＩＤのｉＳＣＳＩ名としてユーザＩＤを用いる一方、イニシエータＩＤのＩＳＩＤとして、端末コンピュータ１０-iの使用開始時点ｘにおける時刻情報Ｔｘ及び乱数Ｒｘの一方を含む付加ＩＤを用いている点にある。これにより同一ユーザが、複数の端末コンピュータ１０-iからストレージ２０に並行して接続したとしても、当該ユーザに固有のＬＵへのアクセスに対する排他を実現することができる。
【０１００】
また第１及び第２の実施形態の第２の特徴は、端末コンピュータ１０-i側及びストレージ２０側の設定において、当該端末コンピュータ１０-iを識別するためのコンピュータＩＤを用いていない点にある。この第２の特徴について詳述する。
【０１０１】
まず、イニシエータＩＤとして、ストレージ２０に接続する端末コンピュータ１０-iを識別するためのコンピュータＩＤを用いることができるものとする。この場合、同一ユーザ４０-jが、複数の端末コンピュータ１０-iからストレージ２０に並行して接続したとしても、ストレージ２０のリザベーション機構２３及びＬＵマッピング機構２２を利用して、当該ユーザ４０-jに固有のＬＵへのアクセスに対する排他を実現できる。
【０１０２】
イニシエータＩＤとして端末コンピュータ１０-iのコンピュータＩＤを用いる場合、ＬＵマッピングの対応は、コンピュータＩＤと、ユーザ４０-jのユーザＩＤに固有のＬＵを示すＬＵＩＤとの対応となる。しかしストレージ・セントリックなコンピューティング環境では、ユーザ４０-jは、端末コンピュータ１０-1〜１０-Mのうちの任意の端末コンピュータ１０-iを使用することができる。このため、ストレージ２０のＬＵマッピング機構２２は、ユーザ４０-jが使用する端末コンピュータ１０-iを決定する都度、ユーザ４０-jのユーザＩＤとコンピュータＩＤの対応を決定して、ＬＵマッピングの対応もそれに合わせて設定し直さなければならない。
【０１０３】
このように、イニシエータＩＤとして端末コンピュータ１０-iのコンピュータＩＤを用いる場合、端末コンピュータ１０-i及びストレージ２０の少なくともストレージ２０は、ユーザ４０-jと端末コンピュータ１０-iとの対応の変化を正しく把握して、ＬＵマッピングに反映させる必要がある。しかし、ユーザ４０-jと端末コンピュータ１０-iとの対応の変化を正しく把握することは、ユーザ４０-jと端末コンピュータ１０-iとの対応が多様に変化する環境では難しい場合も多い。
【０１０４】
しかも、第１及び第２の実施形態のように、端末コンピュータ１０-iがディスクレス・コンピュータの場合、当該端末コンピュータ１０-iからストレージ２０にアクセスしてオペレーティングシステムを起動する以前には、当該端末コンピュータ１０-iのコンピュータＩＤを取得できないおそれもある。したがって、イニシエータＩＤとして、コンピュータＩＤを適用することは難しい。
【０１０５】
これに対して第１及び第２の実施形態で適用されるイニシエータＩＤは、ユーザ４０-jが使用する端末コンピュータ１０-iのコンピュータＩＤを含まないため、端末コンピュータ１０-i及びストレージ２０はユーザ４０-jと端末コンピュータ１０-iとの対応の変化を把握する必要はない。例えばストレージ２０のＬＵマッピング機構２２は、イニシエータＩＤのｉＳＣＳＩ名としてのユーザＩＤを取り出して、当該ユーザＩＤに基づいてＬＵ管理テーブル２２４を参照するだけでよい。また、端末コンピュータ１０-iは同一ＬＵへのアクセスの排他のために、当該端末コンピュータ１０-iのコンピュータＩＤを取得する必要がなく、排他のための実装が容易となる。
【０１０６】
［第３の実施形態］
次に第３の実施形態に係るストレージシステムについて説明する。この第３の実施形態に係るストレージシステムの構成も、第１の実施形態と同様であるため、以下の説明では図１及び図２を援用する。
【０１０７】
第３の実施形態が、第１及び第２の実施形態と相違する点は、次の通りである。まず、第１及び第２の実施形態では、ユーザ間の排他が、図６に示されるデータ構造のＬＵ管理テーブル２２３を利用したＬＵマッピングに基づいて行われる。これに対し第３の実施形態では、ユーザ間の排他は、必ずしもＬＵマッピングで行われない。
【０１０８】
図９は、第３の実施形態で適用されるＬＵ管理テーブル２２４の例を示す。第３の実施形態では、このＬＵ管理テーブル２２４がストレージ２０のＬＵＤＢ２２２に格納される。必要ならば、図２において、ＬＵ管理テーブル２２３をＬＵ管理テーブル２２４に置き換えられたい。
【０１０９】
図９に示すＬＵ管理テーブル２２４の例では、ユーザＩＤが“ｅｎｄｏ”のユーザ（以下、ユーザ“ｅｎｄｏ”と称する）と、ユーザＩＤが“ｔａｎａｋａ”のユーザ（以下、ユーザ“ｔａｎａｋａ”と称する）は同一の作業環境を共有しており、当該作業環境はＬＵＩＤが２のＬＵ（実ＬＵ）に格納されている。この場合、ストレージ２０のリザベーション機構２３は、ユーザ“ｅｎｄｏ”及びユーザ“ｔａｎａｋａ”がそれぞれ使用を開始する端末コンピュータが異なる場合でも、その端末コンピュータを、ユーザ“ｅｎｄｏ”及びユーザ“ｔａｎａｋａ”が並行して使えないように排他を行う必要がある。
【０１１０】
以下、第３の実施形態において、ユーザ“ｅｎｄｏ”が端末コンピュータ１０-1を既に使用している状態で、ユーザ“ｔａｎａｋａ”が端末コンピュータ１０-2を起動した場合の動作を説明する。ここで、ユーザ“ｅｎｄｏ”がユーザ４０-1で、ユーザ“ｔａｎａｋａ”がユーザ４０-2であるものとする。
【０１１１】
ユーザ“ｅｎｄｏ”（ユーザ４０-1）が端末コンピュータ１０-1の使用を開始した時点ｘａにおいて、当該端末コンピュータ１０-1のイニシエータＩＤ生成部１１は、イニシエータＩＤａ＝“ｅｎｄｏ”＋付加ＩＤｘを生成する。付加ＩＤｘは、時点ｘａの時刻情報Ｔｘａ及び時点ｘａに生成される乱数Ｒｘａの少なくとも一方を含む。
【０１１２】
端末コンピュータ１０-1のイニシエータ・ポート１２は、上記イニシエータＩＤａを用いてストレージ２０に接続し、しかる後にリザーブ要求に成功したものとする。この場合、ＬＵＩＤ＝２のＬＵがイニシエータＩＤａ＝“ｅｎｄｏ”＋付加ＩＤａのイニシエータによってリザーブされる。
【０１１３】
その後、ユーザ“ｅｎｄｏ”が端末コンピュータ１０-1を使用している状態で、ユーザ“ｔａｎａｋａ”（ユーザ４０-2）が、時点ｘｂで端末コンピュータ１０-2の使用を開始したものとする。この場合、端末コンピュータ１０-2のイニシエータＩＤ生成部１１は、イニシエータＩＤｂ＝“ｅｎｄｏ”＋付加ＩＤｂを生成する。付加ＩＤｂは、時点ｘｂの時刻情報Ｔｘｂ及び時点ｘｂに生成される乱数Ｒｘｂの少なくとも一方を含む。
【０１１４】
端末コンピュータ１０-2のイニシエータ・ポート１２は、上記イニシエータＩＤｂを用いてストレージ２０に接続した後、当該ストレージ２０にリザーブ要求を送出する。
【０１１５】
ストレージ２０のＬＵマッピング機構２２は、リザーブ要求元のイニシエータＩＤｂに含まれているｉＳＣＳＩ名としてのユーザＩＤ＝“ｔａｎａｋａ”に基づいてＬＵ管理テーブル２２４を参照することにより、当該ユーザＩＤ＝“ｔａｎａｋａ”に対応するＬＵ、つまりＬＵＩＤ＝２のＬＵを特定する。このＬＵＩＤ＝２のＬＵは、イニシエータＩＤａ＝“ｅｎｄｏ”＋付加ＩＤａのイニシエータによってリザーブされている。
【０１１６】
ストレージ２０のリザベーション機構２３は、上記特定されたＬＵＩＤ＝２のＬＵのリザーブを要求しているイニシエータのイニシエータＩＤｂ＝“ｔａｎａｋａ”＋付加ＩＤｂが、当該ＬＵＩＤ＝２のＬＵをリザーブしているイニシエータのイニシエータＩＤａ＝“ｅｎｄｏ”＋付加ＩＤａと異なっているかを判定する。
【０１１７】
ここでユーザＩＤ＝“ｔａｎａｋａ”とユーザＩＤ＝“ｅｎｄｏ”とは異なることから、イニシエータＩＤｂとイニシエータＩＤａとは異なる。そのため、後からストレージ２０に接続された端末コンピュータ１０-1からのリザーブ要求に対して、当該ストレージ２０からリザベーション・コンフリクトが応答される。その結果、ユーザ“ｔａｎａｋａ”は、ユーザ“ｅｎｄｏ”が端末コンピュータ１０-1を停止させるまで、端末コンピュータ１０-2を使用することができない。これにより、ユーザ“ｔａｎａｋａ”及び“ｅｎｄｏ”が共有するＬＵＩＤ＝２のＬＵへのアクセスの、当該ユーザ“ｔａｎａｋａ”及び“ｅｎｄｏ”の間の排他を実現できる。
【０１１８】
第３の実施形態では、ユーザ“ｔａｎａｋａ”及び“ｅｎｄｏ”が作業環境を共有しているにも拘わらず、別々のユーザＩＤを用いている。この利点は２つある。第１の利点は、セキュリティとして別々のパスワードを設定できることにある。第２の利点は、付加ＩＤが偶然一致する可能性を回避する点にある。第１及び第２の実施形態では、同一のユーザが、２つの端末コンピュータ、例えば端末コンピュータ１０-1及び１０-2を誤って同時に使用開始することは考えられないが、例えば２人のユーザ“ｔａｎａｋａ”及び“ｅｎｄｏ”が、それぞれ、例えば端末コンピュータ１０-1及び１０を同時に使用開始することは十分あり得る。
【０１１９】
第３の実施形態によれば、ユーザ間の排他をＬＵマッピングで必ずしも行わない構成にも、上述の構造のイニシエータＩＤに基づくユーザ間の排他を実現することができる。しかも、ユーザ間の排他のために、ユーザが使用する端末コンピュータ１０-iのコンピュータＩＤを取得する必要がなく、排他のための実装が容易となる。
【０１２０】
［第４の実施形態］
次に第４の実施形態に係るストレージシステムについて説明する。この第４の実施形態に係るストレージシステムの構成も、第１の実施形態と同様であるため、以下の説明では図１及び図２を援用する。
【０１２１】
第４の実施形態の特徴は、ユーザＩＤに対応付けられるＬＵＩＤは予め定められておらず、ユーザ４０-jが使用する端末コンピュータ１０-iがストレージ２０に接続して、リザーブ要求を送出した際に、当該ユーザ４０-jのユーザＩＤに対応付けるＬＵＩＤが決定される動的マッピングを適用した点にある。この場合、ストレージ２０のＬＵマッピング機構２２は、例えば記憶部２４に予め用意されているＬＵの集合の中から、ＬＵ管理テーブル２２３にＬＵＩＤが未登録のＬＵ、つまり空き状態にあるＬＵを探す。ＬＵマッピング機構２２は、この探し求めたＬＵのＬＵＩＤを、ユーザ４０-jのユーザＩＤに対応付けて、ＬＵ管理テーブル２２３に登録する。
【０１２２】
リザベーション機構２３は、ユーザ４０-jが使用する端末コンピュータ１０-iからストレージ２０に対してリリース要求が送出された場合、当該ユーザ４０-jのユーザＩＤに対応付けられたＬＵＩＤの示すＬＵを解放する。この場合、ＬＵマッピング機構２２は、解放されたＬＵのＬＵＩＤと当該ユーザ４０-jのユーザＩＤとの対応を示す情報をＬＵ管理テーブル２２３から削除する。
【０１２３】
ここで、ユーザ４０-jの操作に従い、比較的短い時間の経過後に、端末コンピュータ１０-iまたは別の端末コンピュータがびストレージ２０に接続して、リザーブ要求を再び送出する場合を考慮して、上記ＬＵの解除から一定時間を待ってから、上述の情報削除が行われるようにしてもよい。また、この情報削除が、端末コンピュータとストレージ２０との接続状態が解除された際に、一定時間を待って行われてもよい。
【０１２４】
また第４の実施形態では、ユーザ４０-jのユーザＩＤに対応付けてＬＵＩＤがＬＵ管理テーブル２２３に登録されている場合、リザベーション機構２３は、第１または第２の実施形態と同様に、当該ＬＵＩＤのＬＵが別のイニシエータによってリザーブされているかを判定する。これにより、第４の実施形態においても、同一ユーザが、複数の端末コンピュータ１０-iからストレージ２０に並行して接続したとしても、当該ユーザに動的に割り当てられたＬＵへのアクセスに対する排他を実現することができる。
【０１２５】
また第４の実施形態によれば、記憶部２４に予め用意されているＬＵを効率的にユーザに割り当てることができる。第４の実施形態は、ストレージ２０内のＬＵに端末コンピュータ１０-iからリードアクセスのみが行われるようなストレージシステム、或いは端末コンピュータ１０-iとストレージ２０との接続状態を解除する都度、当該接続状態において端末コンピュータ１０-iからＬＵに書かれたデータファイル等が初期化されるようなストレージシステムに適用可能である。
【０１２６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２７】
１０-1〜１０-M，１０-i…端末コンピュータ、１１…イニシエータＩＤ生成部、１２…イニシエータ・ポート、２０…ストレージ、２１…ターゲット・ポート、２２…ＬＵマッピング機構（論理ユニットマッピング機構、論理ユニット特定手段）、２３…リザベーション機構、２４…記憶部、１１１…ユーザＩＤ取得部、１１２…付加ＩＤ生成部、２２１…イニシエータＩＤ分解部（ユーザＩＤ取り出し手段）、２２２…ＬＵＤＢ（ＬＵデータベース）、２２３，２２４…ＬＵ管理テーブル。
【図１】
2012008737.tif 000003
【図２】
2012008737.tif 000004
【図３】
2012008737.tif 000005
【図４】
2012008737.tif 000006
【図５】
2012008737.tif 000007
【図６】
2012008737.tif 000008
【図７】
2012008737.tif 000009
【図８】
2012008737.tif 000010
【図９】
2012008737.tif 000011