(57)【特許請求の範囲】
【請求項１】
イニシエータと、前記イニシエータにネットワークを介して接続されるストレージ装置とを含む計算機システムにおけるセッション管理方法であって、
前記イニシエータは、前記ネットワークに接続される第１インタフェース、前記第１インタフェースに接続される第１プロセッサ、及び、前記第１プロセッサに接続される第１メモリを備え、
前記ストレージ装置は、前記ネットワークに接続される第２インタフェース、前記第２インタフェースに接続される第２プロセッサ、及び、前記第２プロセッサに接続される第２メモリを備え、
前記イニシエータは、
前記ストレージ装置との間で維持されているセッションが複数のＴＣＰコネクションで構成されている場合、所定の期間ごとに前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常であるか判定し、
前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常である場合、前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最小のコネクションＩＤにより識別されるＴＣＰコネクションを切断し、
前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最大のコネクションＩＤよりも所定の値だけ大きいコネクションＩＤにより識別されるＴＣＰコネクションを接続することを特徴とするセッション管理方法。
【請求項２】
前記イニシエータは、ｉＳＣＳＩプロトコルによって、前記ストレージ装置と通信することを特徴とする請求項１に記載のセッション管理方法。
【請求項３】
前記イニシエータは、前記セッションに含まれるＴＣＰコネクションが少なくとも１本以上接続された状態を維持しながら、前記ＴＣＰコネクションを切断することを特徴とする請求項２に記載のセッション管理方法。
【請求項４】
イニシエータと、前記イニシエータにネットワークを介して接続されるストレージ装置とを含む計算機システムにおけるセッション管理方法であって、
前記イニシエータは、前記ネットワークに接続される第１インタフェース、前記第１インタフェースに接続される第１プロセッサ、及び、前記第１プロセッサに接続される第１メモリを備え、
前記ストレージ装置は、前記ネットワークに接続される第２インタフェース、前記第２インタフェースに接続される第２プロセッサ、及び、前記第２プロセッサに接続される第２メモリを備え、
前記イニシエータは、
前記ストレージ装置に対し複数のセッションを接続し、前記複数のセッションにより前記ストレージ装置と通信し、
所定の期間ごとに前記複数のセッションのそれぞれの状態が正常であるか判定し、
前記複数のセッションのそれぞれの状態が正常である場合、前記複数のセッションの各々のセッションＩＤのうち最小のセッションＩＤにより識別されるセッションを切断し、
前記複数のセッションの各々のセッションＩＤのうち最大のセッションＩＤよりも所定の値だけ大きいセッションＩＤにより識別されるセッションを接続することを特徴とするセッション管理方法。
【請求項５】
前記イニシエータは、前記セッションが少なくとも１本以上前記ストレージ装置に接続された状態を維持しながら、前記複数のセッションに含まれるセッションを切断することを特徴とする請求項４に記載のセッション管理方法。
【請求項６】
前記イニシエータは、
前記ストレージ装置との間で維持されているセッションが複数のＴＣＰコネクションで構成されている場合、所定の期間ごとに前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常であるか判定し、
前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常である場合、前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最小のコネクションＩＤにより識別されるＴＣＰコネクションを切断し、
前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最大のコネクションＩＤよりも所定の値だけ大きいコネクションＩＤにより識別されるＴＣＰコネクションを接続することを特徴とする請求項５に記載のセッション管理方法。
【請求項７】
前記イニシエータは、前記所定の期間の入力を受け付けることを特徴とする請求項１または５に記載のセッション管理方法。
【請求項８】
ネットワークを介して他のストレージ装置に接続するストレージ装置であって、
前記ネットワークに接続されるインタフェース、前記インタフェースに接続されるプロセッサ、及び、前記プロセッサに接続されるメモリを備え、
前記プロセッサは、
前記他のストレージ装置との間で維持されているセッションが複数のＴＣＰコネクションで構成されている場合、所定の期間ごとに前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常であるか判定し、
前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常である場合、前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最小のコネクションＩＤにより識別されるＴＣＰコネクションを切断し、
前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最大のコネクションＩＤよりも所定の値だけ大きいコネクションＩＤにより識別されるＴＣＰコネクションを接続することを特徴とするストレージ装置。
【請求項９】
前記ストレージ装置は、ｉＳＣＳＩプロトコルによって、前記他のストレージ装置と通信することを特徴とする請求項８に記載のストレージ装置。
【請求項１０】
前記プロセッサは、前記セッションに含まれるＴＣＰコネクションが少なくとも１本以上接続された状態を維持しながら、前記セッションに含まれるＴＣＰコネクションを切断することを特徴とする請求項９に記載のストレージ装置。
【請求項１１】
ネットワークを介して他のストレージ装置に接続するストレージ装置であって、
前記ネットワークに接続されるインタフェース、前記インタフェースに接続されるプロセッサ、及び、前記プロセッサに接続されるメモリを備え、
前記プロセッサは、
前記他のストレージ装置に対し複数のセッションを接続し、前記複数のセッションにより前記ストレージ装置と通信し、
所定の期間ごとに前記複数のセッションのそれぞれの状態が正常であるか判定し、
前記複数のセッションのそれぞれの状態が正常である場合、前記複数のセッションの各々のセッションＩＤのうち最小のセッションＩＤにより識別されるセッションを切断し、
前記複数のセッションの各々のセッションＩＤのうち最大のセッションＩＤよりも所定の値だけ大きいセッションＩＤにより識別されるセッションを接続することを特徴とするストレージ装置。
【請求項１２】
前記プロセッサは、
前記セッションが少なくとも１本以上前記ストレージ装置に接続された状態を維持しながら、前記複数のセッションに含まれるセッションを切断することを特徴とする請求項１１に記載のストレージ装置。
【請求項１３】
前記プロセッサは、
前記他のストレージ装置との間で維持されているセッションが複数のＴＣＰコネクションで構成されている場合、所定の期間ごとに前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常であるか判定し、
前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常である場合、前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最小のコネクションＩＤにより識別されるＴＣＰコネクションを切断し、
前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最大のコネクションＩＤよりも所定の値だけ大きいコネクションＩＤにより識別されるＴＣＰコネクションを接続することを特徴とする請求項１２に記載のストレージ装置。
【請求項１４】
イニシエータと、前記イニシエータにネットワークを介して接続されるストレージ装置とを含む計算機システムであって、
前記イニシエータは、前記ネットワークに接続される第１インタフェース、前記第１インタフェースに接続される第１プロセッサ、及び、前記第１プロセッサに接続される第１メモリを備え、
前記ストレージ装置は、前記ネットワークに接続される第２インタフェース、前記第２インタフェースに接続される第２プロセッサ、及び、前記第２プロセッサに接続される第２メモリを備え、
前記イニシエータは、
前記ストレージ装置との間で維持されているセッションが複数のＴＣＰコネクションで構成されている場合、所定の期間ごとに前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常であるか判定し、
前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常である場合、前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最小のコネクションＩＤにより識別されるＴＣＰコネクションを切断し、
前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最大のコネクションＩＤよりも所定の値だけ大きいコネクションＩＤにより識別されるＴＣＰコネクションを接続することを特徴とする計算機システム。
【請求項１５】
イニシエータと、前記イニシエータにネットワークを介して接続されるストレージ装置とを含む計算機システムであって、
前記イニシエータは、前記ネットワークに接続される第１インタフェース、前記第１インタフェースに接続される第１プロセッサ、及び、前記第１プロセッサに接続される第１メモリを備え、
前記ストレージ装置は、前記ネットワークに接続される第２インタフェース、前記第２インタフェースに接続される第２プロセッサ、及び、前記第２プロセッサに接続される第２メモリを備え、
前記イニシエータは、
前記ストレージ装置に対し複数のセッションを接続し、前記複数のセッションにより前記ストレージ装置と通信し、
所定の期間ごとに前記複数のセッションのそれぞれの状態が正常であるか判定し、
前記複数のセッションのそれぞれの状態が正常である場合、前記複数のセッションの各々のセッションＩＤのうち最小のセッションＩＤにより識別されるセッションを切断し、
前記複数のセッションの各々のセッションＩＤのうち最大のセッションＩＤよりも所定の値だけ大きいセッションＩＤにより識別されるセッションを接続することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続されるストレージ装置とのセッションを管理する技術に関する。
【背景技術】
【０００２】
ｉＳＣＳＩ（internet SCSI）は、記憶装置と計算機との通信に使用するＳＣＳＩコマンドをＩＰネットワーク経由で送受信する技術である（非特許文献１参照）。
【０００３】
ｉＳＣＳＩでは、通常、イニシエータとターゲットとの間で、ｉＳＣＳＩセッションを長時間維持する。ｉＳＣＳＩセッションは、ＴＣＰ（Transmission Control Protocol）コネクション（セッションと呼ぶ場合もある）によって構成される。ＴＣＰコネクションは、長時間維持されると、攻撃者の偽造されたＴＣＰセグメントによって通信中のコネクションが切断されたり、データが挿入されたりする可能性がある（非特許文献２）。非特許文献２には、長時間ＴＣＰコネクションを維持する例として、ＢＧＰ（Border Gateway Protocol）を利用することが挙げられている。しかし、ＢＧＰのＴＣＰコネクションが切断された場合には、ルーティングテーブルの再構築などが必要となり、可用性の面で影響範囲が広いことが懸念されている。
【０００４】
ｉＳＣＳＩでは、ＴＣＰコネクションが切断された場合には、イニシエータが再接続を実施し、後に、イニシエータとターゲット間で、ＳＣＳＩコマンド及びＳＣＳＩデータを再送することで回復が可能であるが、データ損失が発生する可能性がある。
【非特許文献１】J.Satran,et al.,"Internet Small Computer Systems Interface(iSCSI)",[online],IETF RFC3720,April 2004,[retrieved 2008-02-22],Retrieved from the internet:<URL:http://www.ietf.org/rfc/rfc3720.txt>
【非特許文献２】“ＴＣＰプロトコルに潜在する信頼性の問題”、[online]、２００４年７月１６日、JPCERTコーディネーションセンター、［平成２０年２月２２日検索］、インターネット<URL:http://www.jpcert.or.jp/at/2004/at040003.txt>
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、非特許文献２には、長時間維持されるＴＣＰコネクションに対し、ＴＣＰのＭＤ５（Message Digest 5）認証オプション又はＩＰｓｅｃ（IP Security）を用いる方法が紹介されている。また、スイッチ及びルータのパケットフィルタリング機能によって、正しい送信元からのＴＣＰセグメントだけを通すことによって、攻撃者による偽装されたＴＣＰセグメントをフィルタリングする方法も示している。
【０００６】
従来技術では、製品にＭＤ５認証オプション又はＩＰｓｅｃを実装したり、ネットワーク機器へのパケットフィルタリングを設定したりする必要があるため、開発又は設定の工数が増大するという課題がある。また、実際にこれらの機能を実装したり、パケットフィルタリングを設定することによって、性能が低下する場合があるという課題もある。
【課題を解決するための手段】
【０００７】
本発明の一形態は、イニシエータと、前記イニシエータにネットワークを介して接続されるストレージ装置とを含む計算機システムにおけるセッション管理方法であって、前記イニシエータは、前記ネットワークに接続される第１インタフェース、前記第１インタフェースに接続される第１プロセッサ、及び、前記第１プロセッサに接続される第１メモリを備え、前記ストレージ装置は、前記ネットワークに接続される第２インタフェース、前記第２インタフェースに接続される第２プロセッサ、及び、前記第２プロセッサに接続される第２メモリを備え、前記イニシエータは、前記ストレージ装置との間で維持されているセッションが複数のＴＣＰコネクションで構成されている場合、所定の期間ごとに前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常であるか判定し、前記セッション、及び、前記複数のＴＣＰコネクションのそれぞれの状態が正常である場合、前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最小のコネクションＩＤにより識別されるＴＣＰコネクションを切断し、前記複数のＴＣＰコネクションの各々のコネクションＩＤのうち最大のコネクションＩＤよりも所定の値だけ大きいコネクションＩＤにより識別されるＴＣＰコネクションを接続する。
本発明の他の一形態は、イニシエータと、前記イニシエータにネットワークを介して接続されるストレージ装置とを含む計算機システムにおけるセッション管理方法であって、前記イニシエータは、前記ネットワークに接続される第１インタフェース、前記第１インタフェースに接続される第１プロセッサ、及び、前記第１プロセッサに接続される第１メモリを備え、前記ストレージ装置は、前記ネットワークに接続される第２インタフェース、前記第２インタフェースに接続される第２プロセッサ、及び、前記第２プロセッサに接続される第２メモリを備え、前記イニシエータは、前記ストレージ装置に対し複数のセッションを接続し、前記複数のセッションにより前記ストレージ装置と通信し、所定の期間ごとに前記複数のセッションのそれぞれの状態が正常であるか判定し、前記複数のセッションのそれぞれの状態が正常である場合、前記複数のセッションの各々のセッションＩＤのうち最小のセッションＩＤにより識別されるセッションを切断し、前記複数のセッションの各々のセッションＩＤのうち最大のセッションＩＤよりも所定の値だけ大きいセッションＩＤにより識別されるセッションを接続する。
【発明の効果】
【０００８】
本発明の代表的な一形態によれば、セッションを切断し、さらに、再接続することによって（リフレッシュ）、接続の長時間維持を防止し、セキュリティを向上させることができる。
【発明を実施するための最良の形態】
【０００９】
以下に、本発明の実施の形態について図面を用いて説明する。
【００１０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムの構成の一例を示す図である。
【００１１】
本発明の第１の実施の形態の計算機システムは、ホスト１０１、ストレージ１０３、ストレージ１０５、及び、管理端末１０６を含む。
【００１２】
ホスト１０１は、ストレージ１０３に格納されたデータを利用して業務処理を実行する。ホスト１０１は、ストレージ１０３に接続するインタフェースを備え、プロセッサ１７１、メモリ１７２、データ転送制御部１７３、及び、ポート制御部１７４を含む。
【００１３】
プロセッサ１７１は、メモリ１７２に格納されたプログラムを実行することによって、各種処理を実行する。メモリ１７２は、プロセッサ１７１によって実行されるプログラム及び当該プログラムの実行に使用されるデータを記憶する。データ転送制御部１７３及びポート制御部１７４は、ストレージ１０３とのデータの送受信を制御する。
【００１４】
ホスト１０１のメモリ１７２には、オペレーティングシステム（ＯＳ）１５６、データ送受信制御１５５、ＴＣＰ／ＩＰ制御１５４、ｉＳＣＳＩ制御１５３、ＳＣＳＩ制御１５２、及び、ＳＣＳＩアプリケーション１５１などのプログラムを格納する。各プログラムの説明は、図２にて後述する。
【００１５】
ホスト１０１は、ストレージ１０３にコマンドを送信してデータを送受信するイニシエータとして動作する。
【００１６】
ストレージ１０３は、ＳＡＮ１０２を介してホスト１０１に接続する。一般的に、ＳＡＮ１０２は、スイッチ（図示せず）などによって構成されるネットワークであって、ファイバチャネル又はイーサネット（「イーサネット」は登録商標、以下同じ）などによって接続される。
【００１７】
また、ストレージ１０３は、拠点内又は拠点間ネットワーク１０４を介してストレージ１０５に接続する。ストレージ１０５は、例えば、ストレージ１０３に格納されたデータのバックアップデータを格納する。なお、ストレージ１０５の構成は、以下に説明するストレージ１０３の構成と同様である。
【００１８】
ストレージ１０３は、インタフェース（以下、「ＩＦ」）制御部１１０、管理ＩＦ制御部１２０、メモリ１３０、及び、ディスクＩＦ制御部１４０を備える。
【００１９】
ＩＦ制御部１１０は、ホスト１０１又はストレージ１０５とのインタフェースを備える。ここで、ホスト１０１に接続するＩＦ制御部１１０をＩＦ制御部１１０Ａとし、ストレージ１０５に接続するＩＦ制御部１１０をＩＦ制御部１１０Ｂとする。なお、ＩＦ制御部１１０に含まれる構成についても数字の後にＡ又はＢを追加した符号としているが、特に断らない限り、Ａ又はＢの符号を省略して説明する。
【００２０】
ＩＦ制御部１１０Ａは、ホスト１０１からコマンドを受け付けてデータを送受信するターゲットとして動作する。一方、ＩＦ制御部１１０Ｂは、ストレージ１０５にコマンドを送信してデータを送受信するイニシエータとして動作する。
【００２１】
ＩＦ制御部１１０は、プロセッサ１１１、メモリ１１２、データ転送処理部１１３、及び、ポート制御部１１４を含む。
【００２２】
プロセッサ１１１は、データの管理及びデータの送受信を制御するプログラムを実行する。ＩＦ制御部１１０のメモリ１１２は、プロセッサ１１１によって実行されるプログラム及び当該プログラムによって使用されるデータを格納する。メモリ１１２には、ホスト１０１のメモリ１７２と同様に、オペレーティングシステム（ＯＳ）１５６、データ送受信制御１５５、ＴＣＰ／ＩＰ制御１５４、ｉＳＣＳＩ制御１５３、ＳＣＳＩ制御１５２、及び、ＳＣＳＩアプリケーション１５１などが格納される。
【００２３】
管理ＩＦ制御部１２０は、管理端末１０６と接続し、管理端末１０６から入力された管理情報及び指示を受信する。管理ＩＦ制御部１２０には、ストレージ管理情報１６０が記憶される。具体的には、パス管理情報１６１、ｉＳＣＳＩセッション設定情報１６２などが格納される。
【００２４】
メモリ１３０には、キャッシュメモリ（図示せず）及び共有メモリ（図示せず）が含まれる。キャッシュメモリは、ホスト１０１と送受信するデータを一次的に格納する領域である。共有メモリは、ストレージ１０３の制御情報及び構成情報を格納する。
【００２５】
ディスクＩＦ制御部１４０は、データを読み書きする処理を制御し、ホスト１０１と送受信するデータを格納する複数のディスク１４１に接続する。
【００２６】
管理端末１０６は、ストレージ１０３に指示を送信し、制御情報及び構成情報を格納する。
【００２７】
図２は、本発明の第１の実施の形態のホスト１０１又はストレージ１０３のメモリ１１２に格納されるプログラム及び管理情報の詳細を示す図である。
【００２８】
ストレージ１０３のメモリ１１２は、前述したように、ＯＳ１５６、データ送受信制御１５５、ＴＣＰ／ＩＰ制御１５４、ｉＳＣＳＩ制御１５３、ＳＣＳＩ制御１５２、及び、ＳＣＳＩアプリケーション１５１を格納する。
【００２９】
ＯＳ１５６は、計算機資源を管理及び制御する基本ソフトウェアである。データ送受信制御１５５及びＴＣＰ／ＩＰ制御１５４は、他のホスト又はストレージと情報を送受信するためのプログラムである。
【００３０】
ｉＳＣＳＩ制御１５３は、ＳＣＳＩコマンド及びデータをＩＰパケットとして送受信するためのプログラムである。ｉＳＣＳＩ制御１５３は、イニシエータ制御２０３及びターゲット制御２０４が主な処理となる。
【００３１】
イニシエータ制御２０３では、ターゲットにＳＣＳＩコマンドを送信する。また、ターゲット制御２０４では、イニシエータから送信されたＳＣＳＩコマンドを受信し、データの読み書きなどの指示されたコマンドを実行する。したがって、ホスト１０１は、通常、イニシエータ制御２０３のみを有していればよい。
【００３２】
また、ｉＳＣＳＩ制御１５３には、ｉＳＣＳＩセッションを管理するｉＳＣＳＩセッション管理２０５及びｉＳＣＳＩセッション管理テーブル２０６を備える。ｉＳＣＳＩセッション管理２０５は、イニシエータ制御２０３及びターゲット制御２０４の一部の処理としてもよい。
【００３３】
さらに、ｉＳＣＳＩ制御１５３は、ヘルスチェック制御２０７を備える。ヘルスチェック制御２０７は、ｉＳＣＳＩセッションの接続の正常性をチェックするためのプログラムであって、ヘルスチェック用ｉＳＣＳＩコマンド送受信制御２０８、及び、ｉＳＣＳＩセッションを再接続するためのｉＳＣＳＩセッションリフレッシュ処理２０９を含む。
【００３４】
ＳＣＳＩ制御１５２とｉＳＣＳＩ制御１５３との間には、ＳＣＳＩコマンド及びデータをやりとりするためのＳＣＳＩ要求キュー２０１及びＳＣＳＩ応答キュー２０２を備えている。さらに、ＳＣＳＩコマンドによって読み書きされるデータを一時的に格納するデータバッファ２１２を備える。ＳＣＳＩ要求キュー２０１又はＳＣＳＩ応答キュー２０２は、ＳＣＳＩコマンド及び対応するデータを格納する場合に、データバッファ２１２にＳＣＳＩデータ２１３を格納し、当該ＳＣＳＩデータ２１３を参照するコマンド２１０を格納する。また、ＳＣＳＩ要求キュー２０１及びＳＣＳＩ応答キュー２０２のコマンド格納状態を管理するためのＳＣＳＩキュー状態テーブル２１１を備える。
【００３５】
ＳＣＳＩアプリケーション１５１は、ストレージ１０３又はストレージ１０５に対してデータを読み書きするプログラムであって、ホスト１０１では、例えば、メールサーバ又はデータベースサーバなどである。ストレージ１０３又はストレージ１０５におけるＳＣＳＩアプリケーション１５１とは、複数のディスク１４１によって構成される論理ボリュームのストレージ内でのデータコピー、又は、ストレージ間でのデータコピーを実行するアプリケーションが一例である。また、ホスト１０１とストレージ１０３との間、又は、ストレージ１０３とストレージ１０５との間の接続の正常性を確認するためのヘルスチェック制御２００を備える場合がある。
【００３６】
図３は、本発明の第１の実施の形態のｉＳＣＳＩセッションのリフレッシュを指示するための設定画面の一例を示す図である。
【００３７】
ｉＳＣＳＩリフレッシュ設定画面３００は、ストレージ又はシステムの管理者から、ｉＳＣＳＩセッションのリフレッシュの実施指示を受け付ける画面であって、管理端末１０６又はホスト１０１に表示される。
【００３８】
ｉＳＣＳＩリフレッシュ設定画面３００には、リフレッシュ実行指定部（３０１、３０２）、リフレッシュ方法設定部（３０３、３０４）、リフレッシュ頻度設定部（３０５、３０６、３０７）、及び、強制的リフレッシュ実行部（３０８、３０９）を含む。
【００３９】
リフレッシュ実行指定部では、ｉＳＣＳＩセッションのリフレッシュを実行するか否かを設定する。所定のタイミングでｉＳＣＳＩセッションのリフレッシュを実行する場合には、「ＯＮ」が設定される。
【００４０】
リフレッシュ方法設定部では、ｉＳＣＳＩセッションのリフレッシュを実行するタイミングを設定する。図３では、「ヘルスチェック発行時」又は「マルチＴＣＰコネクション時」を設定することができる。リフレッシュを実行する各タイミングについては、それぞれ後述する。
【００４１】
リフレッシュ頻度設定部では、リフレッシュを実行する頻度を設定する。例えば、ヘルスチェックがＨ回実行されるたびにリフレッシュを実行するように設定する（３０６）。さらに、ヘルスチェックの実行間隔（Ｔ秒ごと）も設定可能である（３０７）。
【００４２】
強制リフレッシュ実行部は、実行ボタン３０９を操作することによって、強制的にリフレッシュを実行する。この場合には、ＳＣＳＩコマンドによる処理は中断され、リフレッシュ完了後、コマンドの再送信などが実行され、処理が再開される。
【００４３】
図４は、本発明の第１の実施の形態のｉＳＣＳＩセッション管理テーブル２０６の一例を示す図である。
【００４４】
ｉＳＣＳＩセッション管理テーブル２０６には、ｉＳＣＳＩセッションの管理情報が格納される。ｉＳＣＳＩセッション管理テーブル２０６は、ｉＳＣＳＩセッション４０１、ＴＣＰコネクション４０４、及び、可能なリフレッシュ方法４１１を含む。
【００４５】
ｉＳＣＳＩセッション４０１は、セッションＩＤ４０２及びセッション状態４０３を含む。セッションＩＤ４０２は、ｉＳＣＳＩセッションを識別するための識別子である。セッション状態４０３は、ｉＳＣＳＩセッションの状態である。
【００４６】
ＴＣＰコネクション４０４は、コネクションＩＤ４０５、送信元ＩＰアドレス４０６、送信元ＴＣＰポート４０７、送信先ＩＰアドレス４０８、送信先ＴＣＰポート４０９、及び、コネクション状態４１０を含む。
【００４７】
コネクションＩＤ４０５は、ＴＣＰコネクションを識別するための識別子である。送信元ＩＰアドレス４０６及び送信元ＴＣＰポート４０７は、送信元を特定する情報である。送信先ＩＰアドレス４０８及び送信先ＴＣＰポート４０９は、送信先を特定する情報である。なお、送信先ＴＣＰポート４０９の値は、ｉＳＣＳＩの場合には、通常、“３２６０”となるが、それ以外の値であってもよい。
【００４８】
コネクション状態４１０は、ＴＣＰコネクションの状態である。可能なリフレッシュ方法４１１は、ｉＳＣＳＩセッション４０１ごとに実行可能なリフレッシュ方法を、ｉＳＣＳＩセッションリフレッシュ処理２０９に指示するための情報を格納する。具体的には、図３のリフレッシュ方法設定部で設定可能な「ヘルスチェック発行時」又は「マルチＴＣＰコネクション時」が設定される。
【００４９】
図５から図７は、ｉＳＣＳＩ制御１５３に含まれるヘルスチェック制御２０７が実行されるタイミングを示す図である。ヘルスチェック制御２０７は、通常、ＯＳから周期的に実行されるように設定される。
【００５０】
図５は、本発明の第１の実施の形態の周期的にヘルスチェック制御が実行される手順を示すフローチャートである。
【００５１】
本処理は、イニシエータからターゲットに対してヘルスチェック用のｉＳＣＳＩコマンドを送信するタイミングで、周期的に実行される。なお、ターゲットからイニシエータに対してヘルスチェック用のｉＳＣＳＩコマンドが送信されてもよい。
【００５２】
本発明の第１の実施の形態では、ヘルスチェック制御が１００ｍｓ間隔でＯＳから呼び出される（ステップ５０１）。例えば、ホスト１０１のＳＣＳＩアプリケーション１５１によって、ストレージ１０３にヘルスチェック用のｉＳＣＳＩコマンドが送信される。
【００５３】
ストレージ１０３のＩＦ制御部１１０Ａのプロセッサ１１１Ａは、ヘルスチェック用のｉＳＣＳＩコマンドを受信すると、ヘルスチェック制御２０７を実行する（ステップ５０２）。
【００５４】
図６は、本発明の第１の実施の形態のヘルスチェック応答受信時にヘルスチェック制御が実行される手順を示すフローチャートである。
【００５５】
本処理は、ヘルスチェック用のｉＳＣＳＩコマンドが送信された後、送信先からの応答を受信した場合に実行される（ステップ６０１、ステップ６０２）。
【００５６】
さらに、ヘルスチェック制御２０７は、ヘルスチェック用のｉＳＣＳＩコマンドの応答を待機するためのタイマがタイムアウトした場合に実行される。
【００５７】
図７は、本発明の第１の実施の形態のヘルスチェック応答を待機している間にタイムアウトした場合にヘルスチェック制御が実行される手順を示すフローチャートである。
【００５８】
ヘルスチェック用のｉＳＣＳＩコマンドが送信されると、送信元は、送信先から応答されるまでの間の待機時間を計測するタイマを開始する。タイマによって計測された時間が所定の時間を超えた場合にはタイムアウトとし（ステップ７０１）、ヘルスチェック制御を実行する（ステップ７０２）。
【００５９】
図８は、本発明の第１の実施の形態のヘルスチェック制御２０７の手順を示すフローチャートである。
【００６０】
ヘルスチェック制御は、前述したように、ホスト１０１で実行されてもよいし、ストレージ１０３で実行されてもよい。本発明の第１の実施の形態では、ホスト１０１でヘルスチェック制御が実行されるものとして以下説明する。
【００６１】
ホスト１０１のプロセッサ１７１は、最初にヘルスチェック制御の起動形態に対応する処理種別を判定する（ステップ８０１）。図５から図７に示したように、ヘルスチェック制御２０７は３種類の契機で実行されるため、それぞれに対応する処理種別に基づいて処理を分岐させる。
【００６２】
ホスト１０１のプロセッサ１７１は、処理種別がＯＳからの周期的な起動の場合には（ステップ８０１の結果が「ＯＳから周期起動」）、まず、リフレッシュ方法の種類を判定する（ステップ８０２）。
【００６３】
ホスト１０１のプロセッサ１７１は、リフレッシュ方法がヘルスチェック発行時の場合には（ステップ８０２の結果が「ヘルスチェック発行時」）、ＳＣＳＩキュー状態テーブル２１１を参照し、ＳＣＳＩコマンドキューが空き状態か否かを判定する（ステップ８０３）。なお、ヘルスチェック発行時の場合にはリフレッシュなしの場合も含まれる。また、図３のリフレッシュ方法設定部で、「ヘルスチェック発行時」及び「マルチＴＣＰコネクション時」の両方が選択されている場合には、「マルチＴＣＰコネクション時」が選択される。リフレッシュ処理後、ヘルスチェックを実行するための処理（ステップ８０３以降の処理）が実行されるためである。
【００６４】
ホスト１０１のプロセッサ１７１は、ＳＣＳＩコマンドキューが空き状態でない場合には（ステップ８０３の結果が「ＮＯ」）、ストレージ１０３に対するデータの入出力が実行されている状態であるため、Ｉ／Ｏなし期間カウント用カウンタＮの値に０を設定する（ステップ８１５）。
【００６５】
ホスト１０１のプロセッサ１７１は、ＳＣＳＩコマンドキューが空き状態の場合には（ステップ８０３の結果が「ＹＥＳ」）、Ｉ／Ｏなし期間カウント用カウンタＮの値に１を加算する（ステップ８０４）。Ｉ／Ｏなし期間カウント用カウンタＮは、メモリ１７２に一時的に記憶される変数である。また、カウンタＮは、初期化処理（図示せず）において、０に設定されているものとする。
【００６６】
ホスト１０１のプロセッサ１７１は、リフレッシュを実行するか否かを判定する（ステップ８０５Ａ）。図３に示したｉＳＣＳＩリフレッシュ設定画面３００で、ヘルスチェックが実行間隔をＴ秒ごとで、Ｈ回のヘルスチェックごとにリフレッシュが実行されるように設定された場合について説明する。
【００６７】
まず、ＯＳから周期的に起動されるヘルスチェックは、前述したように起動間隔が１００ｍｓである。したがって、カウンタＮを１０で除算した値（Ｎ／１０）が、ＳＣＳＩコマンドキューで空き状態が継続している秒数になる。また、ヘルスチェックの実行間隔は、Ｔ秒であるため、Ｎ／１０の値がＴの倍数ごとにヘルスチェックが実行される。換言すると、Ｎの値が１０×Ｔの倍数に到達するたびにヘルスチェックが実行される。さらに、Ｈ回のヘルスチェックごとにリフレッシュが実行されるため、Ｎの値が１０×Ｔ×Ｈの倍数に到達するごとにリフレッシュが実行される。したがって、ステップ８０５Ａに記載したように、Ｎの値を１０×Ｔ×Ｈで除算した余りが０となった場合に、リフレッシュが実行される。
【００６８】
ホスト１０１のプロセッサ１７１は、リフレッシュを実行すると判定した場合には（ステップ８０５Ａの結果が「ＹＥＳ」）、ｉＳＣＳＩセッションリフレッシュ処理Ａ８０６を実行する（ステップ８０６）。ｉＳＣＳＩセッションリフレッシュ処理Ａの手順については、図９にて後述する。
【００６９】
ホスト１０１のプロセッサ１７１は、リフレッシュを実行しないと判定した場合（ステップ８０５Ａの結果が「ＮＯ」）、ヘルスチェックを実行するか否かを判定する（ステップ８０５Ｂ）。
【００７０】
ホスト１０１のプロセッサ１７１は、ヘルスチェックを実行すると判定した場合（ステップ８０５Ｂの結果が「ＹＥＳ」）、又は、ｉＳＣＳＩセッションリフ レッシュ処理Ａの実行が完了した場合には、ＳＣＳＩアプリケーション１５１に含まれるヘルスチェック制御２００を実行し、ヘルスチェック用ＳＣＳＩコマン ドを送信する（ステップ８０７）。なお、ステップ８０７のヘルスチェック用ＳＣＳＩコマンドは、ホスト１０１とストレージ１０３との間で送信されずに機器 を提供するベンダ特有のＳＣＳＩコマンドが送信される場合があるため、ステップ８０７の処理は破線で記載されている。
【００７１】
ホスト１０１のプロセッサ１７１は、ＴＣＰコネクションごとに、ヘルスチェック用ｉＳＣＳＩコマンドを送信する（ステップ８０８）。さらに、ＴＣＰコネクションごとに、ヘルスチェック用のｉＳＣＳＩコマンドの応答を待機するためのヘルスチェック応答待ちタイマを起動する（ステップ８０９）。
【００７２】
ホスト１０１のプロセッサ１７１は、リフレッシュ方法をマルチＴＣＰコネクション時と判定した場合には（ステップ８０２の結果が「マルチＴＣＰコネクション時」）、ｉＳＣＳＩセッションリフレッシュ処理Ｂを実行する（ステップ８３０）。ｉＳＣＳＩセッションリフレッシュ処理Ｂの手順については、図１０にて後述する。なお、ヘルスチェックを実行するために、ｉＳＣＳＩセッションリフレッシュ処理Ｂが完了した後、ステップ８０３以降の処理を実行する。ヘルスチェックを実行しない場合には、そのまま本処理を終了してもよい。
【００７３】
ホスト１０１のプロセッサ１７１は、ヘルスチェックを実行しないと判定した場合には（ステップ８０５Ｂの結果が「ＮＯ」）、本処理を終了する。
【００７４】
ホスト１０１のプロセッサ１７１は、処理種別がヘルスチェック応答受信による起動の場合には（ステップ８０１の結果が「ヘルスチェック応答受信」）、ｉＳＣＳＩセッション管理テーブル２０６のＴＣＰコネクション４０４の該当ＴＣＰコネクション状態４１０の値を「正常」とする（ステップ８１０）。さらに、ｉＳＣＳＩセッション４０１の該当ｉＳＣＳＩセッション状態４０３を正常とする（ステップ８１１）。最後に、ヘルスチェック応答待ちタイマをクリアし（ステップ８１２）、本処理を終了する。
【００７５】
ホスト１０１のプロセッサ１７１は、ヘルスチェック応答待ちタイマタイムアウトによる起動の場合には（ステップ８０１の結果が「ヘルスチェックタイマタイムアウト」）、ｉＳＣＳＩセッション管理テーブル２０６のＴＣＰコネクション４０４の該当ＴＣＰコネクション状態４１０の値を「障害」とする（ステップ ８２０）。
【００７６】
さらに、ホスト１０１のプロセッサ１７１は、ｉＳＣＳＩセッション４０１に正常なＴＣＰコネクション４０４が存在するか否かを判定する（ステップ８２１）。
【００７７】
ホスト１０１のプロセッサ１７１は、ｉＳＣＳＩセッション４０１に正常なＴＣＰコネクション４０４が存在する場合には（ステップ８２１の結果が「ＹＥＳ」）、ｉＳＣＳＩセッション４０１の該当ｉＳＣＳＩセッション状態４０３の値を「正常」とする（ステップ８２２）。さらに、障害となっているＴＣＰコネクションを再接続するＴＣＰ再接続処理（図示せず）を実行し（ステップ８２３）、本処理を終了する。
【００７８】
ホスト１０１のプロセッサ１７１は、ｉＳＣＳＩセッション４０１内に他の正常なＴＣＰコネクション４０４が存在しない場合には（ステップ８２１の結果が「ＮＯ」）、ｉＳＣＳＩセッション４０１の該当ｉＳＣＳＩセッション状態４０３の値を「障害」とする（ステップ８２４）。さらに、障害となっているｉＳＣＳＩセッションに再度ログインするｉＳＣＳＩ再ログイン処理（図示せず）を実行し（ステップ８２５）、本処理を終了する。
【００７９】
図９は、本発明の第１の実施の形態のｉＳＣＳＩセッションリフレッシュ処理Ａ８０６の手順を示すフローチャートである。
【００８０】
ホスト１０１のプロセッサ１７１は、図３で示したｉＳＣＳＩリフレッシュ設定画面３００によって、ｉＳＣＳＩリフレッシュの実行が「ＯＮ」、かつ、ヘルスチェック発行時にリフレッシュを実行するように設定されているか否かを判定する（ステップ９０１）。ヘルスチェック発行時にリフレッシュを実行するように設定されているか否かを判定することによって、ヘルスチェック発行時のリフレッシュを実行せずに、ヘルスチェックのみｖを実行する場合に対応することができる。
【００８１】
ホスト１０１のプロセッサ１７１は、ヘルスチェック発行時にリフレッシュを実行するように設定されている場合には（ステップ９０１の結果が「ＹＥＳ」）、 リフレッシュ該当ｉＳＣＳＩセッションをログアウトする（ステップ９０２）。さらに、ｉＳＣＳＩセッションに再度ログインし（ステップ９０３）、 ｉＳＣＳＩセッションを再接続（リフレッシュ）する。
【００８２】
ホスト１０１のプロセッサ１７１は、ヘルスチェック発行時にリフレッシュを実行するように設定されていない場合には（ステップ９０１の結果が「ＮＯ」）、本処理を終了する。
【００８３】
図１０は、本発明の第１の実施の形態のｉＳＣＳＩセッションリフレッシュ処理Ｂ８３０の手順を示すフローチャートである。
【００８４】
ホスト１０１のプロセッサ１７１は、リフレッシュを実行するか否かを判定する（ステップ１００１）。本処理では、Ｔ秒ごとにリフレッシュが実行されるように設定されている場合について説明する。ＯＳから周期的に起動されるヘルスチェックは、前述したように起動間隔が１００ｍｓであるため、本処理が呼び出されるたびにカウンタＭに１が加算された場合、Ｔ秒経過後のカウンタＭの値は１０×Ｔになる。したがって、カウンタＭの値が１０×Ｔ以上の値になった場合に、リフレッシュを実行すればよい。また、カウンタＭは、初期化処理（図示せず）において、０に設定されているものとする。
【００８５】
ホスト１０１のプロセッサ１７１は、カウンタＭの値が１０×Ｔ未満の場合には（ステップ１００１の結果が「ＮＯ」）、カウンタＭに１を加算し（ステップ１００６）、本処理を終了する。
【００８６】
ホスト１０１のプロセッサ１７１は、カウンタＭの値が１０×Ｔ以上になった場合には（ステップ１００１の結果が「ＹＥＳ」）、ｉＳＣＳＩセッションの状態が正常であるか否かを判定する（ステップ１００２）。具体的には、ｉＳＣＳＩセッション管理テーブル２０６を参照し、該当するｉＳＣＳＩセッション４０１のｉＳＣＳＩセッション状態４０３が「正常」、かつ、該当ｉＳＣＳＩセッションに含まれる全ＴＣＰコネクション４０４のＴＣＰコネクション状態４１０が「正常」であるか否かを判定する。
【００８７】
ホスト１０１のプロセッサ１７１は、ｉＳＣＳＩセッションの状態、及び、当該ｉＳＣＳＩセッションに含まれる全ＴＣＰコネクション４０４の状態が正常である場合には（ステップ１００２の結果が「ＹＥＳ」）、ＴＣＰコネクション４０４のコネクションＩＤ４０５が最小のＴＣＰコネクションを切断する（ステップ１００３）。さらに、ＴＣＰコネクション４０４に含まれるコネクションＩＤ４０５が最大の値に１を加算した値を新たにコネクションＩＤ４０５としてＴＣＰコネクションを接続（確立）する（ステップ１００４）。さらに、カウンタＭを０に設定し（ステップ１００５）、本処理を終了する。なお、ｉＳＣＳＩセッション管理テーブル２０６では、コネクションＩＤ４０５の値が「Ｃ１１」、「Ｃ１２」のように示されているが、コネクションＩＤ４０５の最小及び最大の判定は数字の部分について行う。
【００８８】
図１１から図１３は、ホスト１０１、ストレージ１０３及びストレージ１０５の間で接続されるｉＳＣＳＩセッション及びＴＣＰコネクションの接続状態と、ｉＳＣＳＩログインからの一連の処理の一例を示した図である。
【００８９】
図１１は、本発明の第１の実施の形態の通常のヘルスチェック制御を実行した場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【００９０】
ホスト１０１とストレージ１０３との間で、ｉＳＣＳＩセッション１１０１は、ＴＣＰコネクション１１０２を含む。ｉＳＣＳＩセッション１１０３及び１１０６は、Ｉ／Ｏが流れている状態を示している。Ｉ／Ｏが流れない期間１１０５では、ｉＳＣＳＩセッション１１０４にヘルスチェックを実行するためのｉＳＣＳＩコマンドが送受信される。なお、ストレージ１０３とストレージ１０５との間において、ｉＳＣＳＩセッション１１１１以降の処理は、ホスト１０１とストレージ１０３の間における処理と同様である。
【００９１】
図１１に示すように、リフレッシュを実行しない場合には、ｉＳＣＳＩセッションが長時間維持されるため、セッションＩＤは変化しない。したがって、ＴＣＰコネクションが長時間維持され続けることによって、セキュリティリスクが大きくなる。特に、ストレージ１０３とストレージ１０５との間のように、拠点内又は拠点間のネットワークでＴＣＰコネクションが長時間維持されると、さらにセキュリティリスクが大きくなる。
【００９２】
図１２は、本発明の第１の実施の形態のｉＳＣＳＩリフレッシュ方法がヘルスチェック発行時の場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【００９３】
ヘルスチェック発行時にｉＳＣＳＩセッションをリフレッシュする場合には、Ｉ／Ｏが流れない期間１２０５にヘルスチェックを実行する前に、ｉＳＣＳＩセッションをログアウトし、すぐに再ログインする処理（リフレッシュ）が実行される点で図１１と相違する。
【００９４】
ヘルスチェック実行時にｉＳＣＳＩセッションをリフレッシュすることによって、セッションＩＤの値が変化する様子を、図１２の「Ｓｅｓｓｉｏｎ」の次に示すアルファベットＡ又はＢに続く数字で示している。セッションＩＤは、Ａ１からＡ２に変化し、また、Ｂ１からＢ２に変化する。このように、ｉＳＣＳＩセッションは、長時間維持されないように、周期的にリフレッシュされる。
【００９５】
図１３は、本発明の第１の実施の形態のｉＳＣＳＩリフレッシュ方法がマルチＴＣＰコネクション時の場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【００９６】
図１３では、ホスト１０１とストレージ１０３との間、及び、ストレージ１０３とストレージ１０５との間のセッションの接続状態は同様であるため共通に示す。
【００９７】
まず、ｉＳＣＳＩログインが実行されると、ｉＳＣＳＩセッション１３０１内に、ＴＣＰコネクションＣ１１（ステップ１３０２）、及び、ＴＣＰコネクションＣ１２を接続し（ステップ１３０３）、マルチＴＣＰコネクションが確立される。
【００９８】
接続されたＴＣＰコネクションには、識別子が付与され、ｉＳＣＳＩセッション管理テーブル２０６のコネクションＩＤ４０５に対応する。ｉＳＣＳＩセッション管理テーブル２０６を参照することによって、ｉＳＣＳＩセッション１３０１を構成するＴＣＰコネクションを特定することができる。
【００９９】
このようなマルチＴＣＰコネクションにおいて、ホスト１０１又はストレージ１０３からｉＳＣＳＩセッション１３０１を介してデータが入出力される場合には、一例として、ラウンドロビンのスケジューリングによってＴＣＰコネクションが割り振られる（ステップ１３０４）。
【０１００】
また、ｉＳＣＳＩリフレッシュ設定画面３００のリフレッシュ頻度３０５に設定された変数Ｔによって決定される期間１３１０が経過すると、ＴＣＰコネクションＣ１１が切断され（ステップ１３０５）、新たにＴＣＰコネクションＣ１３が接続される（ステップ１３０６）。ＴＣＰコネクションＣ１２に対しても、Ｃ１１が切断されてから期間１３１０が経過すると、ＴＣＰコネクションＣ１２が切断され（ステップ１３０７）、新たにＴＣＰコネクションＣ１４が接続される（ステップ１３０８）。なお、３本以上のＴＣＰコネクションが接続されている場合に、１本以上接続された状態を維持していれば、複数のＴＣＰコネクションを切断し、再接続してもよい。
【０１０１】
ｉＳＣＳＩセッションがマルチＴＣＰコネクションの場合には、一つのＴＣＰコネクションを切断しても、接続中のＴＣＰコネクションを利用することによってデータの入出力が可能であるため、データの入出力がある場合であっても、周期的にＴＣＰコネクションをリフレッシュすることが可能である。図１３に示すように、ＴＣＰコネクションＣ１１はコネクションＩＤがＣ１３に、ＴＣＰコネクションＣ１２はコネクションＩＤがＣ１４に変化する。このように、ｉＳＣＳＩセッションがマルチＴＣＰコネクションである場合であっても、ｉＳＣＳＩセッションを周期的にリフレッシュすることができる。
【０１０２】
本発明の第１の実施の形態によれば、ＳＣＳＩコマンドが一定期間送受信されない期間にヘルスチェックを実行するタイミングに、ｉＳＣＳＩセッションを再接続（ログアウト及びログイン）することによって、ｉＳＣＳＩセッションをリフレッシュすることができる。ｉＳＣＳＩセッションをリフレッシュすることによって、ＴＣＰコネクションの長時間維持を防止することができ、セキュリティリスクを少なくすることができる。
【０１０３】
さらに、本発明の第１の実施の形態によれば、ｉＳＣＳＩセッションがマルチＴＣＰコネクションの場合には、ヘルスチェックを実行するタイミングとは独立してｉＳＣＳＩセッションをリフレッシュすることができる。
【０１０４】
また、本発明の第１の実施の形態によれば、ＭＤ５認証オプション、ＩＰｓｅｃの実装、又は、ネットワーク機器へのパケットのフィルタリングの設定などを行う必要がなく、開発及び設定の工数を増大させずに、セキュリティリスクを少なくすることができる。
【０１０５】
（第２の実施の形態）
本発明の第２の実施の形態は、可能なリフレッシュ方法にマルチｉＳＣＳＩセッションが加えられた点で第１の実施の形態と相違する。
【０１０６】
ｉＳＣＳＩセッションは、１つ又は複数のＴＣＰコネクションによって構成されるが、イニシエータとターゲットの間は、１つのｉＳＣＳＩセッションで接続するだけでなく、複数のｉＳＣＳＩセッションで接続することも可能である。
【０１０７】
なお、第２の実施の形態において、第１の実施の形態と共通する内容については適宜説明を省略する。
【０１０８】
図１４は、本発明の第２の実施の形態のｉＳＣＳＩセッション管理テーブル２０６の詳細を示す図である。
【０１０９】
図１４に示すｉＳＣＳＩセッション管理テーブル２０６は、ｉＳＣＳＩセッションＩＤ４０２がＢ１（１４０１）とＢ２（１４０２）のｉＳＣＳＩセッションによって、マルチｉＳＣＳＩセッションが構成されていることを示している。
【０１１０】
マルチｉＳＣＳＩセッションを構成するｉＳＣＳＩセッションは、送信元ＩＰアドレス４０６、送信先ＩＰアドレス４０８及び送信先ＴＣＰポート４０９が一致する。また、ｉＳＣＳＩセッションが再接続された場合には、送信元ＴＣＰポート４０７が変更される。
【０１１１】
なお、ｉＳＣＳＩセッションＩＤ４０２がＢ１及びＢ２のｉＳＣＳＩセッションによってマルチｉＳＣＳＩセッションが構成されている状態で本発明の第２の実施の形態が適用されるものとする。したがって、マルチｉＳＣＳＩセッションを構成するために、ｉＳＣＳＩセッションを選択する処理及び画面などについては割愛する。
【０１１２】
また、ｉＳＣＳＩリフレッシュ設定画面３００では、図３に示した第１の実施の形態の構成に加えて、リフレッシュ方法３０４に「マルチｉＳＣＳＩセッション時」が新たに追加される。その他の構成については同じである。
【０１１３】
さらに、本発明の第２の実施の形態では、図８に示した第１の実施の形態のヘルスチェック制御処理と同様にヘルスチェックが実行されるが、ステップ８０２の可能なリフレッシュ方法４１１で分岐する処理で、リフレッシュ方法３０４が「マルチｉＳＣＳＩセッション時」である場合が追加される。この場合には、マルチｉＳＣＳＩセッション用のリフレッシュ処理であるｉＳＣＳＩセッションリフレッシュ処理Ｃを実行し、終了後、ステップ８０３以降の処理を実行する。ｉＳＣＳＩセッションリフレッシュ処理Ｃの手順について、図１５を参照しながら説明する。
【０１１４】
図１５は、本発明の第２の実施の形態のｉＳＣＳＩセッションリフレッシュ処理Ｃの手順を示すフローチャートである。
【０１１５】
ホスト１０１のプロセッサ１７１は、リフレッシュを実行するか否かを判定する（ステップ１５５１）。本処理では、Ｔ秒ごとにリフレッシュが実行されるものとし、ステップ１５５１の処理は、図１０のステップ１００１の処理と同じである。また、リフレッシュを実行しない場合、すなわち、カウンタＭの値が１０×Ｔ未満の場合には（ステップ１５５１の結果が「ＮＯ」）、図１０のステップ１００６の処理と同様に、カウンタＭに１を加算し（ステップ１５５６）、本処理を終了する。
【０１１６】
ホスト１０１のプロセッサ１７１は、リフレッシュを実行する場合、すなわち、カウンタＭの値が１０×Ｔ以上になった場合には（ステップ１５５１の結果が「ＹＥＳ」）、マルチｉＳＣＳＩセッションを構成するすべてのｉＳＣＳＩセッションの状態が正常であるか否かを判定する（ステップ１５５２）。具体的には、ｉＳＣＳＩセッション管理テーブル２０６を参照し、マルチｉＳＣＳＩセッションを構成するｉＳＣＳＩセッション４０１のｉＳＣＳＩセッション状態４０３が「正常」であるか否かを判定する。
【０１１７】
ホスト１０１のプロセッサ１７１は、マルチｉＳＣＳＩセッションを構成するすべてのｉＳＣＳＩセッションの状態が正常である場合には（ステップ１５５２の結果が「ＹＥＳ」）、セッションＩＤ４０２が最小のｉＳＣＳＩセッションをログアウトする（ステップ１５５３）。さらに、マルチｉＳＣＳＩセッションを構成するｉＳＣＳＩセッションであって、セッションＩＤ４０２が最大の値に１を加算した値を新たにセッションＩＤ４０２としてログインする（ステップ１５５４）。最後に、カウンタＭを０に設定し（ステップ１５５５）、本処理を終了する。
【０１１８】
図１６は、本発明の第２の実施の形態のｉＳＣＳＩリフレッシュ方法がマルチＩＳＣＳＩセッション時の場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【０１１９】
図１６では、図１３と同様に、ホスト１０１とストレージ１０３との間、及び、ストレージ１０３とストレージ１０５との間のセッションの接続状態は同様であるため共通に示している。
【０１２０】
まず、ｉＳＣＳＩセッションＢ１（１５０１）及びｉＳＣＳＩセッションＢ２（１５０２）それぞれについてｉＳＣＳＩログインが実行され、マルチｉＳＣＳＩセッションが構成される。
【０１２１】
このようなマルチｉＳＣＳＩセッションにおいて、ホスト１０１又はストレージ１０３からデータが入出力される場合には、一例として、ラウンドロビンのスケジューリングによってｉＳＣＳＩセッションが割り振られる（ステップ１５０３）。
【０１２２】
また、ｉＳＣＳＩリフレッシュ設定画面３００のリフレッシュ頻度３０５に設定された変数Ｔによって決定される期間１５１０が経過すると、ｉＳＣＳＩセッションＢ１がログアウトされ、ｉＳＣＳＩセッションＢ３でログインされる。さらに、期間１５１０が経過すると、ｉＳＣＳＩセッションＢ２がログアウトされ、ｉＳＣＳＩセッションＢ４でログインされる。以後同様な処理が繰り返される。
【０１２３】
マルチｉＳＣＳＩセッションの場合には、一つのｉＳＣＳＩセッションをログアウトしても、他の接続中のｉＳＣＳＩセッションを利用してデータの入出力が可 能であるため、周期的にｉＳＣＳＩセッションのログアウト及びログインを行うことができる。したがって、３本以上のｉＳＣＳＩセッションが接続されている 場合に、１本以上接続された状態を維持していれば、複数のｉＳＣＳＩセッションをログアウトし、再度、ログインしてもよい。
図１６に示すように、ｉＳＣＳＩセッションＢ１はＩＤがＢ３に、ｉＳＣＳＩセッションＢ２はセッションＩＤがＢ４に変化する。
【０１２４】
本発明の第２の実施の形態によれば、マルチｉＳＣＳＩセッションの場合であっても、第１の実施の形態と同様に、ｉＳＣＳＩセッションを周期的にリフレッシュすることによって、接続が長時間維持されることを防止し、セキュリティリスクを少なくすることができる。
【図面の簡単な説明】
【０１２５】
【図１】本発明の第１の実施の形態の計算機システムの構成の一例を示す図である。
【図２】本発明の第１の実施の形態のホスト又はストレージのメモリに格納されるプログラム及び管理情報の詳細を示す図である。
【図３】本発明の第１の実施の形態のｉＳＣＳＩセッションのリフレッシュを指示するための設定画面の一例を示す図である。
【図４】本発明の第１の実施の形態のｉＳＣＳＩセッション管理テーブルの一例を示す図である。
【図５】本発明の第１の実施の形態の周期的にヘルスチェック制御が実行される手順を示すフローチャートである。
【図６】本発明の第１の実施の形態のヘルスチェック応答受信時にヘルスチェック制御が実行される手順を示すフローチャートである。
【図７】本発明の第１の実施の形態のヘルスチェック応答を待機している間にタイムアウトした場合にヘルスチェック制御が実行される手順を示すフローチャートである。
【図８】本発明の第１の実施の形態のヘルスチェック制御の手順を示すフローチャートである。
【図９】本発明の第１の実施の形態のｉＳＣＳＩセッションリフレッシュ処理Ａの手順を示すフローチャートである。
【図１０】本発明の第１の実施の形態のｉＳＣＳＩセッションリフレッシュ処理Ｂの手順を示すフローチャートである。
【図１１】本発明の第１の実施の形態の通常のヘルスチェック制御を実行した場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【図１２】本発明の第１の実施の形態のｉＳＣＳＩリフレッシュ方法がヘルスチェック発行時の場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【図１３】本発明の第１の実施の形態のｉＳＣＳＩリフレッシュ方法がマルチＴＣＰコネクション時の場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【図１４】本発明の第２の実施の形態のｉＳＣＳＩセッション管理テーブルの詳細を示す図である。
【図１５】本発明の第２の実施の形態のｉＳＣＳＩセッションリフレッシュ処理Ｃの手順を示すフローチャートである。
【図１６】本発明の第２の実施の形態のｉＳＣＳＩリフレッシュ方法がマルチＩＳＣＳＩセッション時の場合のセッション接続状態及びｉＳＣＳＩログインからの一連の処理の一例を示す図である。
【符号の説明】
【０１２６】
１０１    ホスト
１０２    ＳＡＮ
１０３    ストレージ
１０４    拠点間ネットワーク
１０５    ストレージ
１０６    管理端末
１１０    ＩＦ制御部
１１１    プロセッサ
１１２    メモリ
１１３    データ転送処理部
１１４    ポート制御部
１２０    管理ＩＦ制御部
１３０    メモリ
１４０    ディスクＩＦ制御部
１４１    ディスク
１５１    ＳＣＳＩアプリケーション
１５２    ＳＣＳＩ制御
１５３    ｉＳＣＳＩ制御
１５４    ＴＣＰ／ＩＰ制御
１５５    データ送受信制御
１５６    オペレーティングシステム（ＯＳ）
１６０    管理情報
１６１    パス管理情報
１６２    ｉＳＣＳＩセッション設定情報
１７１    プロセッサ
１７２    メモリ
１７３    データ転送制御部
１７４    ポート制御部
２０１    ＳＣＳＩ要求キュー
２０２    ＳＣＳＩ応答キュー
２０３    イニシエータ制御
２０４    ターゲット制御
２０５    ｉＳＣＳＩセッション管理
２０６    ｉＳＣＳＩセッション管理テーブル
２０７    ヘルスチェック制御
２０８    ヘルスチェック用ｉＳＣＳＩコマンド送受信制御
２０９    ｉＳＣＳＩセッションリフレッシュ処理
２１１    ＳＣＳＩキュー状態テーブル
２１２    データバッファ
３００    ｉＳＣＳＩリフレッシュ設定画面
【図１】
0005112138.tif 000002
【図２】
0005112138.tif 000003
【図４】
0005112138.tif 000004
【図５】
0005112138.tif 000005
【図６】
0005112138.tif 000006
【図７】
0005112138.tif 000007
【図８】
0005112138.tif 000008
【図９】
0005112138.tif 000009
【図１０】
0005112138.tif 000010
【図１１】
0005112138.tif 000011
【図１２】
0005112138.tif 000012
【図１３】
0005112138.tif 000013
【図１４】
0005112138.tif 000014
【図１５】
0005112138.tif 000015
【図１６】
0005112138.tif 000016
【図３】
0005112138.tif 000017