(58)【調査した分野】(Int.Cl.,DB名)
前記論理パス制御部は、前記情報処理装置からの前記論理パスの情報に基づいて前記中継装置と前記入出力装置との間の論理パスを制御した後、制御後の前記論理パスの状態に基づいて前記記憶部が記憶する前記論理パスの情報を更新することを特徴とする請求項1〜3の何れか1項に記載の送受信システム。
前記論理パス制御部は、前記情報処理装置からの前記論理パスの情報に基づいて前記中継装置と前記入出力装置との間の論理パスを制御した後、制御後の前記論理パスの状態を前記情報処理装置に通知することを特徴とする請求項1〜4の何れか1項に記載の送受信システム。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
本実施形態における送受信システムは、ホスト側延長装置をサーバ等のホスト(情報処理装置)に内蔵し、I/O装置(入出力装置)をI/O側延長装置(中継装置)に接続し、ホスト側延長装置とI/O側延長装置とを広域イーサネット等のネットワークで接続したリモートチャネル方式のシステムである。なお、ホストにホスト側延長装置を内蔵した構成を例に説明するが、ホスト側延長装置をホストの外部に配置してホストとホスト側延長装置とを接続する構成としてもよい。
【0010】
図1は、本実施形態における送受信システムの構成例を示す図である。
図1に示す送受信システムは、サーバ等のホスト10がホスト側延長装置20を内蔵する。I/O側延長装置30とI/O装置40とが、例えばFC(Fibre Channel)−SB(Single Byte)−2規格に準拠した接続方式であるFCLINK接続で接続され、ホスト側延長装置20とI/O側延長装置30とがTCP/IP(Transmission Control Protocol/Internet Protocol)を用いて通信を行う広域イーサネット等のネットワーク50を介して接続される。
【0011】
情報処理装置としてのホスト10は、処理部11、記憶部12、及びホスト側延長装置20とを有する。処理部11は、ソフトウェア等を実行するCPU(Central Processing Unit)等である。処理部11は、例えばI/O装置40の入出力操作等を指示したり、I/O装置40を使用するか否かの切り替えを要求したりする。記憶部12は、ホスト10での処理に係る各種データを記憶する。記憶部12は、例えばホスト10とI/O装置40との間の通信に係る論理パスの情報を保持する論理パス管理テーブル13を記憶する。ホスト側延長装置20は、ネットワーク制御部21を有する。ネットワーク制御部21は、I/O側延長装置30と通信するため、ネットワーク50におけるTCPのセッション管理等のネットワーク通信を制御する。
【0012】
中継装置としてのI/O側延長装置30は、制御処理部31、ネットワーク制御部33、I/O通信制御部34、及び記憶部35を有する。制御処理部31は、ホスト10からの要求に応じたI/O装置40に対する処理の実行等の制御処理を実行する。制御処理部31は、ホストからの要求に基づいて、I/O側延長装置30とI/O装置40との間の論理パスの制御等を行う論理パス制御部32を有する。論理パス制御部32は、ホスト10からの要求等に応じてI/O側延長装置30とI/O装置40との間の論理パスを制御する。論理パス制御部32は、ホスト10から要求される論理パスと、論理パス管理テーブル36が示す論理パスとの不整合を検出した場合、整合するように論理パスを確立したり削除したりする。
【0013】
ネットワーク制御部33は、ネットワーク制御部21と同様に、ネットワーク50におけるネットワーク通信を制御する。I/O通信制御部34は、I/O装置40との通信を行い、I/O装置40にコマンドを発行したり、I/O装置40からのステータスを通知したりする。記憶部35は、I/O側での処理に係る各種データを記憶する。記憶部35は、例えばホスト10とI/O装置40との間の通信に係る論理パスの情報を保持する論理パス管理テーブル36を記憶する。I/O装置40は、ホスト10からの指示に応じた入出力操作等を実行する。
【0014】
図2(A)は、本実施形態における送受信システムでの論理パスを説明する図である。ホスト210では、複数のオペレーティングシステム(OS)211−1〜211−Nの処理が仮想マシン(VM)212−1〜212−Nでそれぞれ実行される。各仮想マシン(VM)212−1〜212−Nは、ホスト側延長装置のチャネルポート213及びI/O側延長装置220を介してI/O装置230と接続可能となっている。I/O装置230では、I/Oポート231を介してコントロールユニット232がホスト210からの入出力操作等の指示を受け、デバイス233−1〜233−Nを制御する。
【0015】
このような送受信システムにおいては、ホスト210上の仮想マシン(VM)212−1〜212−NとI/O装置230のコントロールユニット232との間に論理パス240−1〜240−Nを確立し通信を行っている。各仮想マシン(VM)212−1〜212−NにはアドレスCHLA(ChannelLogicalAddress)が割り振られ、チャネルポート213にはアドレスCHLK(ChannelLinkAddress)が割り振られる。また、コントロールユニット231にはアドレスCULA(CULogicalAddress)が割り振られ、I/Oポート232にはアドレスCULK(ChannelLinkAddress)が割り振られる。ここで、アドレスCHLAは、チャネル上で動作する論理的なプログラムを識別するためのアドレスであり、アドレスCHLKは、チャネルの物理的なポートに割り振られるアドレスである。また、アドレスCULAは、コントロールユニット上で動作する論理的なプログラムを識別するためのアドレスであり、アドレスCULKは、コントロールユニットの物理的なポートに割り振られるアドレスである。
【0016】
そして、ホスト210は、例えば
図2(B)に示すような論理パス管理テーブルとして有する論理パスの情報に基づいて、ホスト210の仮想マシン(VM)212−1〜212−NとI/O装置230のコントロールユニット232との間に論理パス240−1〜240−Nを確立し通信を行う。論理パス管理テーブルは、例えば論理パスをそれぞれ示す論理パス番号、アドレスCHLA、CHLK、CULK、CULA、及び論理パス有効フラグの情報を論理パス毎に保持する。このような論理パス管理テーブルが、
図1に示したホスト10の記憶部12やI/O側延長装置30の記憶部35に記憶される。なお、論理パス有効フラグは、その論理パスが存在しているか否かを示すフラグであり、論理パス有効フラグが有効であれば、その論理パスが存在していることを示す。
【0017】
ここで、共有するI/O装置を使用する仮想マシン(ホスト)の切り替え時等、仮想マシン(ホスト)が指示するI/O装置との通信に係る論理パスと、I/O側延長装置とI/O装置との間の論理パスとが一致せず、仮想マシン(ホスト)とI/O装置との間の通信に係る論理パスに不整合が生じることがある。このとき、本実施形態では、
図3に示すようにしてI/O側延長装置とI/O装置との間の論理パスを修正して、論理パスの不整合を解消する。
図3は、本実施形態における送受信システムの動作の例を示す図である。
図3には、共有するI/O装置を、ある仮想マシン(ホスト)が使用している状態から別の仮想マシン(ホスト)が使用する状態にする共有I/O装置の切り替え時の動作例を示している。
【0018】
ステップS301にて、ホスト側延長装置20及びI/O側延長装置30は、ホスト10からの共有I/O装置の切り替えが発生したか否かを判定し、共有I/O装置の切り替えが発生したと判定するとステップS302へ進む。ステップS302にて、ホスト10は、共有I/O装置の切り替えに応じて、処理を一時保留する。
【0019】
次に、ステップS303にて、I/O側延長装置30は、ホスト10からの論理パスの情報と、論理パス管理テーブル36に保持された論理パスの情報とを比較し、ホスト10とI/O装置40との間の通信に係る論理パスに整合性があるか否かを判定する。ホスト10とI/O装置40との間の通信に係る論理パスに整合性がないと判定した場合、ステップ304へ進み、そうでない場合、ステップ309へ進む。ステップS304にて、I/O側延長装置30は、ホスト10からの論理パスの情報に基づいて、I/O装置40に対する論理パス確立要求を発行して論理パスを確立し、論理パスの整合性の修正を促す。この論理パス確立要求に応じて、ステップS305にて、I/O装置側では、論理パスを確立するための処理を行う。
【0020】
次に、ステップS306にて、I/O側延長装置30は、整合性を有する論理パスの確立が成功したか否かを判定し、論理パスが確立していると判定した場合、ステップS307へ進み、論理パスが確立していないと判定した場合、ステップS310へ進む。ステップS307にて、ホスト側の処理を処理再開の状態に遷移する要求を発行する。その後、ネットワーク通信におけるタイムアウト等のネットワークの接続状態の監視を行い、支障がなければ(S308のYes)、ステップS309へ進み、そうでない場合にはステップS310へ進む。ステップS309にて、送受信システムでは、ホスト10の処理を再開する。一方、ステップS310へ進んだ場合には、ハードウェア的なエラーであると判断してエラー処理を実行し処理を終了する。
【0021】
次に、本実施形態におけるI/O側延長装置30による論理パス制御について説明する。まず、本実施形態における論理パス制御の動作において用いるフレームについて説明する。本実施形態における論理パス制御の動作では、システムリセット要求、論理パス制御要求、システム停止通知、論理パス状態受信通知、論理パス状態通知、及びシステムリセット応答のフレームを使用する。
【0022】
システムリセット要求(SYSTEMRESET_REQ)は、システムの開始要求であり、ホスト側延長装置20からI/O側延長装置30へ送信される。システムリセット要求は、ホスト側延長装置20の立ち上げやホスト側延長装置20とI/O側延長装置30との間のTCP/IP通信上の運用セッションの再接続に伴って、I/O側延長装置30とI/O装置40との間のFCLINKインタフェースをリセットするために使用する。
図4(A)に、システムリセット要求(SYSTEMRESET_REQ)のフレームのフォーマット例を示す。
【0023】
共通ヘッダのフィールドTYPEには、システムリセット要求であることを示す情報が格納される。また、フィールドLPATH numには、このフレームが有する論理パスエントリの数を示す情報が格納される。論理パス(LPATH)エントリの各々は、
図4(B)に示す情報を有する。
図4(B)において、ビットORは、その論理パスエントリに示される論理パスの削除を行うべきであるが、まだ論理パスの削除が実行されていない場合に値“1”が設定される。ビットLDは、その論理パスエントリに示される論理パスが構成上定義されている場合に値“1”が設定される。また、ビットVは、その論理パスエントリが有効である場合に値“1”が設定される。フィールドCHLAにはホスト側のアドレスCHLAが格納され、フィールドCULAにはI/O装置側のアドレスCULAが格納される。
【0024】
ホスト側延長装置20は、TCPセッションの接続(再接続)を契機としてシステムリセット要求をI/O側延長装置30に送信する。I/O側延長装置30は、ホスト側延長装置20からのシステムリセット要求を受信すると、仕掛中のI/O装置を終了させてI/O側延長装置30とI/O装置40との間のすべての論理パスを削除(リセット)する。論理パスの削除(リセット)の終了後に、I/O側延長装置30は、リセット結果を示すシステムリセット応答をホスト側延長装置20に送信する。なお、ホスト側延長装置20は、システムリセット要求を送信した後、システムリセット応答を受信するまでは他のデータを送信しない。また、ホスト側延長装置20は、システムリセット要求に係るタイムアウト検出を行い、システムリセット要求を送信した後、所定の期間が経過してもシステムリセット応答が返ってこない場合、タイムアウトであると判定して運用セッションを切断する。
【0025】
論理パス制御要求(REBUILDLPATH_REQ)は、I/O側延長装置30とI/O装置40との間の論理パスの確立や削除を指示するために使用し、ホスト側延長装置20からI/O側延長装置30へ送信される。I/O側延長装置30は、論理パス制御要求に応じた論理パスの制御を実施する。
図4(C)に、論理パス制御要求(REBUILDLPATH_REQ)のフレームのフォーマット例を示す。
【0026】
共通ヘッダのフィールドTYPEには、論理パス制御要求であることを示す情報が格納される。また、フィールドnumには、このフレームが有する論理パスエントリの数を示す情報が格納される。論理パス(LPATH)エントリの各々は、
図4(B)に示した情報を有する。
【0027】
ホスト側延長装置20は、ホスト側延長装置20とI/O側延長装置30との間の運用セッションの接続(再接続を含む)時、あるいはホスト10上で動作するソフトウェアとホスト側延長装置20との間でコマンドやデータ等の入出力を制御する入出力制御部(IOP)から指示があった場合、論理パス制御要求をI/O側延長装置30に送信する。なお、論理パス制御要求は、I/O側延長装置30とI/O装置40との間の状態によらず送信可能である。I/O側延長装置30は、ホスト側延長装置20からの論理パス制御要求を受信すると、論理パス制御要求により指示される論理パス制御を行う。I/O側延長装置30は、論理パス制御の結果を、論理パス状態通知を使用してホスト側延長装置20に送信する。
【0028】
システム停止通知(SYSTEMSTOP)は、チャネルオフラインやクラスタ切り替えに伴って、I/O側延長装置30とI/O装置40との間の処理を停止するために使用し、ホスト側延長装置20からI/O側延長装置30へ送信される。なお、チャネルオフラインは、ホスト側延長装置20とI/O側延長装置30との間の通信を切断する動作であり、クラスタ切り替えは、I/O側延長装置30と接続するホスト側延長装置20(ホスト10)を切り替える動作である。
図4(D)に、システム停止通知(SYSTEMSTOP)のフレームのフォーマット例を示す。共通ヘッダのフィールドTYPEには、システム停止通知であることを示す情報が格納される。フィールドfactorには、システム停止要因を示す情報が格納される。
【0029】
ホスト側延長装置20は、ホスト10の図示しない装置管理部からのチャネルオフライン、又はクラスタ切断の通知を契機としてシステム停止通知をI/O側延長装置30に送信する。I/O側延長装置30は、ホスト側延長装置20からのシステム停止通知を受信すると、仕掛中のI/O装置を終了させてI/O側延長装置30とI/O装置40との間のすべての論理パスを削除する。
【0030】
論理パス状態受信通知(LPATH_STSCHG_ACPT)は、I/O側延長装置30から送信される論理パス状態通知の応答として使用し、ホスト側延長装置20からI/O側延長装置30へ送信される。
図4(E)に、論理パス状態受信通知(LPATH_STSCHG_ACPT)のフレームのフォーマット例を示す。共通ヘッダのフィールドTYPEには、論理パス状態受信通知であることを示す情報が格納される。フィールドCHLAにはホスト側のアドレスCHLAが格納され、フィールドCULAにはI/O装置側のアドレスCULAが格納される。
【0031】
論理パス状態通知(LPATH_STSCHG_REP)は、論理パスの状態に変化が発生した場合に、それを報告するために使用し、I/O側延長装置30からホスト側延長装置20へ送信される。
図4(F)に、論理パス状態通知(LPATH_STSCHG_REP)のフレームのフォーマット例を示す。共通ヘッダのフィールドTYPEには、論理パス状態通知であることを示す情報が格納される。フィールドLPSTAは、論理パス確立処理のシーケンスが成功していれば最下位ビットに値“1”が設定される。フィールドCHLAにはホスト側のアドレスCHLAが格納され、フィールドCULAにはI/O装置側のアドレスCULAが格納される。
【0032】
システムリセット応答(SYSTEMRESET_RESP)は、ホスト側延長装置20から送信されるシステムリセット要求の応答として使用し、I/O側延長装置30からホスト側延長装置20へ送信される。
図4(G)に、システムリセット応答(SYSTEMRESET_RESP)のフレームのフォーマット例を示す。共通ヘッダのフィールドTYPEには、システムリセット応答であることを示す情報が格納される。
【0033】
フィールドFCLINK Statusには、I/O側延長装置30とI/O装置40との間の接続状態を示す情報が格納される。接続状態としては、例えばI/O装置の電源断等で論理パスの確立が不可能なオフライン状態、論理パスの確立が可能なオンライン状態、及びシステムリセット要求に係る一連の処理で異常が検出されたエラー終了状態があり、それぞれの状態に対応して異なる値が格納される。また、システムリセット応答には、フィールドFCLINK Statusの内容に応じた付加情報が格納される。
【0034】
I/O側延長装置30は、システムリセット要求に応じた制御を行った後、システムリセット応答をホスト側延長装置20に送信する。ホスト側延長装置20は、I/O側延長装置30からのシステムリセット応答を受信するまではオフライン状態として処理を行う。
【0035】
次に、本実施形態における送受信システムでの論理パス制御に係る動作について説明する。本実施形態において、初期化処理、リセット・終了処理、及び論理パス制御処理で論理パス制御が実行される。以下、各処理での論理パス制御について説明する。
【0036】
図5は、本実施形態における送受信システムでの初期化処理の処理シーケンスの例を示す図である。初期化処理は、ホスト10の起動の際、ホスト側延長装置20とI/O側延長装置30との間でのTCPセッションの接続後に、ホスト側延長装置20がシステムリセット要求を送信することで実行される。
【0037】
ホスト10(ホスト側延長装置20)は、システムリセット要求(SYSTEMRESET_REQ)をI/O側延長装置30へ送信し(501)、I/O側延長装置30は、それに対する応答としてシステムリセット応答(SYSTEMRESET_RESP)をホスト10へ送信する(502)。ホスト10(ホスト側延長装置20)は、システムリセット要求(SYSTEMRESET_REQ)を送信してから、その応答を監視しており(511)、所定の期間が経過するまでにシステムリセット応答(SYSTEMRESET_RESP)を受信しない場合にはタイムアウトと判定してセッションを切断する。
【0038】
I/O側延長装置30は、ホスト10(ホスト側延長装置20)からのシステムリセット要求(SYSTEMRESET_REQ)を受けると、システムリセット要求の論理パスエントリに指示された論理パスを確立するための論理パス確立要求(ELP:EstablishLogicalPath)をI/O装置40へ送信する(503)。I/O装置40は、論理パス確立要求(ELP)により要求された論理パスを確立すると、論理パス確立通知(LPE:LogicalPathEstablished)をI/O側延長装置30へ送信する(504)。
【0039】
I/O側延長装置30は、I/O装置40からの論理パス確立通知(LPE)を受信すると、論理パスの状態を示す論理パス状態通知(LPATH_STSCHG_REP)をホスト10へ送信し(505)、ホスト10(ホスト側延長装置20)は、それに対する応答として論理パス状態受信通知(LPATH_STSCHG_ACPT)をI/O側延長装置30へ送信する(506)。I/O側延長装置30は、論理パス状態通知(LPATH_STSCHG_REP)を送信してから、その応答を監視しており(512)、所定の期間が経過するまでに論理パス状態受信通知(LPATH_STSCHG_ACPT)を受信しない場合にはタイムアウトと判定してセッションを切断する。
【0040】
図6は、本実施形態における送受信システムでの初期化処理の例を示すフローチャートである。ステップS601にて、ホスト10(ホスト側延長装置20)が、システムリセット要求(SYSTEMRESET_REQ)をI/O側延長装置30に送信する。システムリセット要求(SYSTEMRESET_REQ)の送信が成功した場合(S602のYes)、ステップS603にて、I/O側延長装置30が、システムリセット応答(SYSTEMRESET_RESP)をホスト10に送信する。システムリセット応答(SYSTEMRESET_RESP)の送信が成功した場合(S604のYes)、ステップS605にて、I/O側延長装置30が、システムリセット要求により指示された論理パスを確立するための論理パス確立要求(ELP)をI/O装置40に送信する。
【0041】
次に、ステップS606にて、I/O装置40が、論理パス確立要求(ELP)により要求された論理パス確立処理が成功したか否かを判定する。論理パス確立処理が成功したと判定した場合(S606のYes)、ステップS607にて、I/O装置40が、論理パス確立通知(LPE)をI/O側延長装置30に送信し、論理パス確立処理が成功したことを通知する。一方、論理パス確立処理が成功しなかったと判定した場合(S606のNo)、ステップS608にて、I/O装置40が、論理パス削除通知(LPR:LogicalPathRemoved)をI/O側延長装置30に送信し、論理パス確立処理が失敗したことを通知する。
【0042】
論理パス確立通知(LPE)又は論理パス削除通知(LPR)の送信が成功した場合(S609のYes)、ステップS610にて、I/O側延長装置30が、論理パス状態通知(LPATH_STSCHG_REP)をホスト10に送信する。そして、ステップS611にて、ホスト10が、論理パス状態通知に基づいてリンクリポートを作成して上位に通知する。また、ステップS612にて、ホスト10(ホスト側延長装置20)が、論理パス状態受信通知(LPATH_STSCHG_ACPT)をI/O側延長装置30に送信する。論理パス状態受信通知(LPATH_STSCHG_ACPT)の送信が成功した場合(S613のYes)、初期化処理を終了する。
【0043】
なお、システムリセット要求(SYSTEMRESET_REQ)又はシステムリセット応答(SYSTEMRESET_RESP)の送信が成功しなかった場合(S602又はS604のNo)、ホスト10(ホスト側延長装置20)がタイムアウトを検出する(S614)。タイムアウトを検出すると、ホスト10が、運用セッションを切断して(S615)、初期化処理を終了する。
【0044】
また、論理パス確立通知(LPE)、論理パス削除通知(LPR)、又は論理パス状態受信通知(LPATH_STSCHG_ACPT)の送信が成功しなかった場合(S609又はS613のNo)、I/O側延長装置30がタイムアウトを検出する(S616)。タイムアウトを検出すると、I/O側延長装置30が、運用セッションを切断して(S617)、初期化処理を終了する。
【0045】
図7は、本実施形態における送受信システムでのリセット・終了処理の処理シーケンスの例を示す図である。ここで、リセットは、通電状態からハードリセットを伴わないソフト的なリセットであり、例えばクラスタ切り替え等によるホスト側延長装置20とI/O側延長装置30との間のTCPセッションを切断した後の再接続等が該当する。また、終了は、チャネルをオフラインとする動作である。リセット・終了処理は、これらリセットが発生した時や終了時に実行される。
【0046】
ホスト10(ホスト側延長装置20)は、システム停止通知(SYSTEMSTOP)をI/O側延長装置30へ送信する(701)。I/O側延長装置30は、ホスト10(ホスト側延長装置20)からのシステム停止通知(SYSTEMSTOP)を受けると、論理パスを削除するための論理パス削除要求(RLP:RemoveLogicalPath)をI/O装置40へ送信する(702)。I/O装置40は、論理パス削除要求(RLP)により要求された論理パスを削除すると、論理パス削除通知(LPR)をI/O側延長装置30へ送信する(703)。
【0047】
I/O側延長装置30は、I/O装置40からの論理パス削除通知(LPR)を受信すると、論理パスの状態を示す論理パス状態通知(LPATH_STSCHG_REP)をホスト10へ送信し(704)、ホスト10(ホスト側延長装置20)は、それに対する応答として論理パス状態受信通知(LPATH_STSCHG_ACPT)をI/O側延長装置30へ送信する(705)。I/O側延長装置30は、論理パス状態通知(LPATH_STSCHG_REP)を送信してから、その応答を監視しており(711)、所定の期間が経過するまでに論理パス状態受信通知(LPATH_STSCHG_ACPT)を受信しない場合にはタイムアウトと判定してセッションを切断する。
【0048】
図8は、本実施形態における送受信システムでのリセット・終了処理の例を示すフローチャートである。ステップS801にて、ホスト10(ホスト側延長装置20)が、システム停止通知(SYSTEMSTOP)をI/O側延長装置30に送信する。次に、ステップS802にて、I/O側延長装置30が、論理パスを削除するための論理パス削除要求(RLP)をI/O装置40へ送信する。次に、ステップS803にて、I/O装置40が、論理パス削除要求(RLP)により要求された論理パスを削除し、論理パス削除通知(LPR)をI/O側延長装置30に送信する。
【0049】
論理パス削除通知(LPR)の送信が成功した場合(S804のYes)、ステップS805にて、I/O側延長装置30が、論理パス状態通知(LPATH_STSCHG_REP)をホスト10に送信する。そして、ステップS806にて、ホスト10が、論理パス状態通知に基づいてリンクリポートを作成して上位に通知する。また、ステップS807にて、ホスト10(ホスト側延長装置20)が、論理パス状態受信通知(LPATH_STSCHG_ACPT)をI/O側延長装置30に送信する。論理パス状態受信通知(LPATH_STSCHG_ACPT)の送信が成功した場合(S808のYes)、ステップS809にて、I/O側延長装置30が、運用セッションを切断して(S809)、リセット・終了処理を終了する。
【0050】
なお、論理パス削除通知(LPR)又は論理パス状態受信通知(LPATH_STSCHG_ACPT)の送信が成功しなかった場合(S804又はS808のNo)、I/O側延長装置30がタイムアウトを検出する(S810)。タイムアウトを検出すると、I/O側延長装置30が、運用セッションを切断して(S811)、リセット・終了処理を終了する。
【0051】
図9は、本実施形態における送受信システムでの論理パス制御処理の処理シーケンスの例を示す図である。論理パス制御処理は、例えばホストにおける仮想マシンの立ち上げ時や終了時に実行される処理であり、論理パス制御要求を送信することで実行される。論理パス制御処理では、I/O側延長装置30は、論理パス制御要求に基づいて、論理パスの不整合を検出し、I/O側延長装置30とI/O装置40との間の論理パスの確立や削除を行って整合がとれるように修正する。
【0052】
ホスト10(ホスト側延長装置20)は、論理パス制御要求(REBUILDLPATH_REQ)をI/O側延長装置30へ送信する(901)。I/O側延長装置30は、ホスト10(ホスト側延長装置20)からの論理パス制御要求(REBUILDLPATH_REQ)を受けると、保持している論理パス管理テーブルを参照して、論理パス制御要求により指示される論理パスと現在の論理パスとの不整合を検出し、整合させるために論理パス確立要求(ELP)又は論理パス削除要求(RLP)をI/O装置40へ送信する(902)。
【0053】
I/O側延長装置30から論理パス確立要求(ELP)が送信されると、I/O装置40は、論理パス確立要求(ELP)により要求された論理パスを確立し、論理パス確立通知(LPE)をI/O側延長装置30へ送信する(903)。また、I/O側延長装置30から論理パス削除要求(RLP)が送信されると、I/O装置40は、論理パス削除要求(RLP)により要求された論理パスを削除し、論理パス削除通知(LPR)をI/O側延長装置30へ送信する(903)。
【0054】
I/O側延長装置30は、I/O装置40からの論理パス確立通知(LPE)又は論理パス削除通知(LPR)を受信すると、論理パスの状態を示す論理パス状態通知(LPATH_STSCHG_REP)をホスト10へ送信し(904)、ホスト10(ホスト側延長装置20)は、それに対する応答として論理パス状態受信通知(LPATH_STSCHG_ACPT)をI/O側延長装置30へ送信する(905)。I/O側延長装置30は、論理パス状態通知(LPATH_STSCHG_REP)を送信してから、その応答を監視しており(911)、所定の期間が経過するまでに論理パス状態受信通知(LPATH_STSCHG_ACPT)を受信しない場合にはタイムアウトと判定してセッションを切断する。
【0055】
図10は、本実施形態における送受信システムでの論理パス制御処理の例を示すフローチャートである。ステップS1001にて、ホスト10(ホスト側延長装置20)が、論理パス制御要求(REBUILDLPATH_REQ)をI/O側延長装置30に送信する。ホスト10(ホスト側延長装置20)からの論理パス制御要求(REBUILDLPATH_REQ)を受信すると、I/O側延長装置30は、論理パス制御要求(REBUILDLPATH_REQ)が有する論理パスエントリを1つずつ順次選択してステップS1002〜S1011の処理を行い、論理パスエントリ数(論理パス定義数)分、ステップS1002〜S1011の処理を繰り返し実行する。このステップS1002〜S1011のループ処理により、論理パスの不整合が修正(解消)される。
【0056】
ステップS1003にて、I/O側延長装置30が、選択した論理パスエントリに指示されている論理パスが、必要ではあるが確立していない論理パスであるか否かを判定する。必要ではあるが確立していない論理パスであると判定した場合(S1003のYes)、ステップS1004へ進み、そうでない場合(S1003のNo)、ステップS1007へ進む。
【0057】
ステップS1004にて、I/O側延長装置30が、選択した論理パスエントリに指示された論理パスを確立するための論理パス確立要求(ELP)をI/O装置40に送信する。次に、ステップS1005にて、I/O装置40が、論理パス確立要求(ELP)により要求された論理パス確立処理が成功したか否かを判定する。論理パス確立処理が成功したと判定した場合(S1005のYes)、ステップS1006にて、I/O装置40が、論理パス確立通知(LPE)をI/O側延長装置30に送信し、ステップS1010へ進む。一方、論理パス確立処理が成功しなかったと判定した場合(S1005のNo)、ステップS1009にて、I/O装置40が、論理パス削除通知(LPR)をI/O側延長装置30に送信し、ステップS1010へ進む。
【0058】
ステップS1007にて、I/O側延長装置30が、選択した論理パスエントリに指示されている論理パスが、不要ではあるが確立している論理パスであるか否かを判定する。不要ではあるが確立している論理パスであると判定した場合(S1007のYes)、ステップS1008へ進み、そうでない場合(S1007のNo)、ステップS1010へ進む。
【0059】
ステップS1008にて、I/O側延長装置30が、選択した論理パスエントリに指示された論理パスを削除するための論理パス削除要求(RLP)をI/O装置40に送信する。次に、ステップS1009にて、I/O装置40が、論理パス削除要求(ELP)により要求された論理パスを削除して、論理パス削除通知(LPR)をI/O側延長装置30に送信し、ステップS1010へ進む。
【0060】
ステップS1010にて、I/O側延長装置30が、I/O装置40からの完了通知(論理パス確立通知(LPE)又は論理パス削除通知(LPR)を受信する。論理パス制御要求(REBUILDLPATH_REQ)が有する論理パスエントリ数分、ステップS1002〜S1011の処理を繰り返し実行した後、ステップS1012へ進む。
【0061】
ステップS1012にて、I/O側延長装置30が、論理パス状態通知(LPATH_STSCHG_REP)をホスト10に送信する。論理パス状態通知(LPATH_STSCHG_REP)の送信が成功した場合(S1013のYes)、ステップS1014にて、ホスト10が、論理パス状態通知に基づいてリンクリポートを作成して上位に通知する。また、ステップS1015にて、ホスト10(ホスト側延長装置20)が、論理パス状態受信通知(LPATH_STSCHG_ACPT)をI/O側延長装置30に送信する。論理パス状態受信通知(LPATH_STSCHG_ACPT)の送信が成功した場合(S1016のYes)、論理パス制御処理を終了する。
【0062】
なお、論理パス状態通知(LPATH_STSCHG_REP)又は論理パス状態受信通知(LPATH_STSCHG_ACPT)の送信が成功しなかった場合(S1013又はS1016のNo)、I/O側延長装置30がタイムアウトを検出する(S1017)。タイムアウトを検出すると、I/O側延長装置30が、運用セッションを切断して(S1018)、論理パス制御処理を終了する。
【0063】
このようにして、I/O側延長装置30は、論理パス制御要求(REBUILDLPATH_REQ)において必要とされる論理パスが確立されていないと判定した場合、論理パス確立要求をI/O装置40に送信して、I/O側延長装置30とI/O装置40との間にその論理パスを確立する。つまり、ホスト10が有する論理パス管理テーブル13では論理パスが必要であるとされているが、I/O側延長装置30が有する論理パス管理テーブルではI/O側延長装置30とI/O装置40との間において論理パスが確立されていない場合、I/O側延長装置30は、I/O側延長装置30とI/O装置40との間に、その論理パスを確立する。
【0064】
また、I/O側延長装置30は、論理パス制御要求(REBUILDLPATH_REQ)において不要とされる論理パスが確立されていると判定した場合、論理パス削除要求をI/O装置40に送信して、I/O側延長装置30とI/O装置40との間のその論理パスを削除する。つまり、ホスト10が有する論理パス管理テーブルでは論理パスが不要であるとされているが、I/O側延長装置30が有する論理パス管理テーブルではI/O側延長装置30とI/O装置40との間において論理パスが確立されている場合、I/O側延長装置30は、I/O側延長装置30とI/O装置40との間のその論理パスを削除する。
【0065】
これにより、ホスト10が要求するI/O装置40との間の通信に係る論理パスと、I/O側延長装置とI/O装置との間の論理パスとで不整合が生じた場合、整合するようにI/O側延長装置とI/O装置との間の論理パスを修正して、論理パスの不整合を解消することができ、論理パスの整合性を確保することが可能となる。例えば、I/O側延長装置とI/O装置との間の論理パスを修正して論理パスの不整合を解消することで、ホスト10とI/O装置40との間の通信が確立しなくなることを防止でき、I/O装置40に対する入出力操作や共有I/O装置の切り替え等、正常な運用ができる。
【0066】
また、前述した論理パス制御の動作では、システムリセット応答(SYSTEMRESET_RESP)や論理パス状態受信通知(LPATH_STSCHG_ACPT)など、応答が必要なフレームに対しては、応答フレームを送信している。このように応答が必要なフレームに対して応答フレームを送信することで、情報が伝わり、それを受け付けていることを通信相手に通知することができ、情報の相違が生じたままシステムが動作することを防止できる。
【0067】
また、応答があるフレームについては、その応答を監視するとともに、応答フレームを受信する前は、新たなフレームを送信することを禁止している。このようにすることで、応答フレームを受信する前に他のフレームを受信し、ホスト10(ホスト側延長装置20)、I/O側延長装置30、I/O装置40の間で、機器の状態等の情報が相違したままシステムが動作してしまい、誤動作やシステムダウン等が引き起こされることを防止できる。
【0068】
次に、本実施形態における論理パス制御部32の動作について説明する。
図11は、本実施形態におけるフレーム受信時の論理パス制御部の動作例を示すフローチャートである。I/O側延長装置30の論理パス制御部32は、ネットワーク又はFCLINKを介してフレームを受信すると、受信フレームを取り出す(S1101)。次に、ステップS1102にて、論理パス制御部32は、受信フレームが、ネットワークからのフレームであるか、FCLINKからのフレームであるかを判定する。
【0069】
ステップS1102において、ネットワークからのフレームであると論理パス制御部32が判定した場合、ステップS1103にて、論理パス制御部32は、さらに受信したフレームが、システムリセット要求、論理パス制御要求、システム停止通知、論理パス状態受信通知、及びそれ以外のフレームであるかを判定する。
【0070】
論理パス制御部32は、受信したフレームが、システムリセット要求であると判定した場合、
図12に示すシステムリセット要求受信処理(S1104)を実行し、論理パス制御要求であると判定した場合、
図16に示す論理パス制御要求受信処理(S1105)を実行する。また、論理パス制御部32は、受信したフレームが、システム停止通知であると判定した場合、
図15に示すシステム停止通知受信処理(S1106)を実行し、論理パス状態受信通知であると判定した場合、
図14に示す論理パス状態受信通知受信処理(S1107)を実行し、それ以外の要求や通知であると判定した場合、受信した要求や通知に応じた受信処理(S1108)を実行する。
【0071】
ステップS1102において、FCLINKからのフレームであると論理パス制御部32が判定した場合、ステップS1109にて、論理パス制御部32は、さらに受信したフレームが、論理パス確立通知、論理パス削除通知、及びそれ以外のフレームであるかを判定する。
【0072】
論理パス制御部32は、受信したフレームが、論理パス確立通知であると判定した場合、
図13に示す論理パス確立通知受信処理(S1110)を実行し、論理パス削除通知であると判定した場合、
図13に示す論理パス削除通知処理(S1111)を実行する。また、論理パス制御部32は、受信したフレームが、それ以外の要求や通知であると判定した場合、受信した要求や通知に応じた受信処理(S1112)を実行する。
【0073】
前述した各処理を実行した後、論理パス制御部32は、残っている受信フレームがあるか否かを判定し、残っている受信フレームがあればステップ1101に戻り、残っている受信フレームがなければ処理を終了する。
【0074】
次に、論理パス制御部32における各処理について説明する。
<システムリセット要求受信処理>
図12は、本実施形態におけるシステムリセット受信処理の例を示すフローチャートである。論理パス制御部32は、ホスト10からのシステムリセット要求を受信すると、システムリセット要求受信処理を開始する。システムリセット要求受信処理を開始すると、ステップS1201にて、論理パス制御部32は、I/O装置40に対して処理の仕掛中であるか否かを判定する。その結果、I/O装置40に対して処理の仕掛中であると判定した場合、ステップS1202にて、論理パス制御部32は、I/O装置40に該処理のキャンセルフレームを送信してI/O装置40での処理を終了させる。
【0075】
次に、ステップS1203にて、論理パス制御部32は、I/O側延長装置30とI/O装置40との間のすべての論理パスを削除する全論理パス削除処理を実行する。そして、ステップS1204にて、論理パス制御部32は、ホスト10と同期をとるためにホスト10に対してシステムリセット応答を返信する。次に、ステップS1205にて、論理パス制御部32は、システムリセット要求が有する論理パスエントリ数分だけ論理パスの制御に係る処理を実行したか否かを判定する。その結果、論理パスエントリ数分だけ論理パスの制御に係る処理を実行したと判定した場合、システムリセット要求受信処理を終了する。
【0076】
一方、システムリセット要求が有する論理パスエントリ数分だけ論理パスの制御に係る処理を実行していないと判定した場合、論理パス制御部32は、ステップS1206にて、処理する論理パスエントリにおけるビットVの値が“1”であるか否かを判定する。その結果、論理パスエントリのビットVの値が“1”である場合、ステップS1207にて、論理パス制御部32は、論理パスエントリのビットLDの値が“1”であるか否かを判定する。その結果、論理パスエントリのビットLDの値が“1”である場合、ステップS1208にて、論理パス制御部32は、論理パスエントリに指定された論理パスが確立されていないと判定し、その論理パスの確立を依頼する。論理パス制御部32は、FCLINKプロトコルにホスト側の論理アドレスCHLAを渡して論理パス確立要求を送信し、ステップS1205へ戻る。
【0077】
<論理パス確立通知受信処理、論理パス削除通知受信処理>
図13は、本実施形態における論理パス確立通知受信処理、論理パス削除通知受信処理の例を示すフローチャートである。論理パス制御部32は、I/O装置40からの論理パス確立通知又は論理パス削除通知を受信すると、論理パス確立通知受信処理、論理パス削除通知受信処理を開始する。論理パス確立通知受信処理、論理パス削除通知受信処理を開始すると、ステップ1301にて、論理パス制御部32は、受信した論理パス確立通知、論理パス削除通知に従って、記憶部35が保持している論理パス管理テーブル36を更新する。
【0078】
次に、ステップS1302にて、論理パス制御部32は、更新した論理パス管理テーブル36に基づいて、論理パスの状態、I/O装置側のアドレスCULA、及びホスト側のアドレスCHLA等を示す論理パス状態通知をホスト10に送信する。そして、論理パス制御部32は、論理パス状態通知がホスト10まで届いたことの確認を行うために、通知に係る応答確認タイマーの動作を開始して論理パス確立通知受信処理、論理パス削除通知受信処理を終了する。
【0079】
<論理パス状態受信通知受信処理>
図14は、本実施形態における論理パス状態受信通知受信処理の例を示すフローチャートである。論理パス制御部32は、ホスト10からの論理パス状態受信通知を受信すると、論理パス状態受信通知受信処理を開始する。論理パス状態受信通知受信処理を開始すると、ステップS1401にて、論理パス制御部32は、論理パス確立通知受信処理、論理パス削除通知受信処理において動作を開始した応答確認タイマーの動作を停止して論理パス状態受信通知受信処理を終了する。
【0080】
<システム停止通知受信処理>
図15は、本実施形態におけるシステム停止通知受信処理の例を示すフローチャートである。論理パス制御部32は、ホスト10からのシステム停止通知を受信すると、システム停止通知受信処理を開始する。システム停止通知受信処理を開始すると、ステップ1501にて、I/O装置40に対して処理の仕掛中であるか否かを判定する。その結果、I/O装置40に対して処理の仕掛中であると判定した場合、ステップS1502にて、論理パス制御部32は、I/O装置40に該処理のキャンセルフレームを送信してI/O装置40での処理を終了させる。次に、ステップS1503にて、論理パス制御部32は、I/O側延長装置30とI/O装置40との間のすべての論理パスを削除する全論理パス削除処理を実行し、システム停止通知受信処理を終了する。
【0081】
<論理パス制御要求受信処理>
図16は、本実施形態における論理パス制御要求受信処理の例を示すフローチャートである。論理パス制御部32は、ホスト10からの論理パス制御要求を受信すると、論理パス制御要求受信処理を開始する。論理パス制御要求受信処理を開始すると、ステップS1601にて、論理パス制御部32は、受信した論理パス制御要求に含まれる論理パスエントリ数分だけ論理パスの制御に係る処理を実行したか否かを判定する。その結果、論理パスエントリ数分だけ論理パスの制御に係る処理を実行したと判定した場合、論理パス制御要求受信処理を終了する。
【0082】
一方、論理パス制御要求に含まれる論理パスエントリ数分だけ論理パスの制御に係る処理を実行していないと判定した場合、論理パス制御部32は、ステップS1602にて、処理する論理パスエントリのビットVの値が“1”であるか否かを判定する。その結果、論理パスエントリのビットVの値が“1”である場合、ステップS1603にて、論理パス制御部32は、論理パス管理テーブル36の対応する論理パスの論理パス有効フラグが有効であることを示し、かつ論理パスエントリのビットLDの値が“0”であるか否かを判定する。その結果、論理パス有効フラグが有効であり、かつ論理パスエントリのビットLDの値が“0”である場合、ステップS1604にて、論理パス制御部32は、論理パスエントリに指定された論理パスが削除されていないと判定し、その論理パスの削除を依頼する。論理パス制御部32は、FCLINKプロトコルにホスト側のアドレスCHLAを渡して論理パス削除要求を送信した後、ステップS1601に戻る。
【0083】
一方、ステップS1603での判定の結果、論理パス有効フラグが有効でなく、又は論理パスエントリのビットLDの値が“0”でない場合、論理パス制御部32は、ステップS1605にて、論理パス管理テーブル36の論理パス有効フラグが無効であることを示し、かつ論理パスエントリのビットLDの値が“1”であるか否かを判定する。その結果、論理パス有効フラグが無効であり、かつ論理パスエントリのビットLDの値が“1”である場合、ステップS1606にて、論理パス制御部32は、論理パスエントリに指定された論理パスが確立されていないと判定し、その論理パスの確立を依頼する。論理パス制御部32は、FCLINKプロトコルにホスト側のアドレスCHLAを渡して論理パス確立要求を送信した後、ステップS1601に戻る。また、ステップS1605での判定の結果、論理パス有効フラグが無効でなく、又は論理パスエントリのビットLDの値が“1”でない場合、その論理パスエントリに係る制御は行わずにステップS1601に戻る。
【0084】
<全論理パス削除処理>
図17は、
図12に示したステップS1203、
図15に示したステップS1503にて実行される全論理パス削除処理の例を示すフローチャートである。全論理パス削除処理では、ステップS1701にて、論理パス制御部32は、I/O側延長装置30が保持する論理パス管理テーブル36の項目分、すなわち論理パス管理テーブル36に規定されている論理パス数分の論理パスの削除に係る処理を実行したか否かを判定する。その結果、論理パス管理テーブル36の項目分だけ論理パスの削除に係る処理を実行したと判定した場合、全論理パス削除処理を終了する。
【0085】
一方、論理パス管理テーブル36の項目分だけ論理パスの削除に係る処理を実行していないと判定した場合、論理パス制御部32は、ステップS1702にて、論理パス管理テーブルの内の処理する論理パスの有効フラグが有効を示すか否かを判定する。その結果、論理パスの有効フラグが有効でないと判定した場合、ステップS1701に戻る。ステップS1702での判定の結果、論理パスの有効フラグが有効であると判定した場合、ステップS1703にて、論理パス制御部32は、FCLINKプロトコルにホスト側のアドレスCHLAを渡して論理パス削除要求を送信した後、ステップS1701に戻る。
【0086】
図18(A)〜
図18(C)は、本実施形態における論理パス制御を適用したクラスタ切り替え機能の例を示す図である。クラスタ切り替え機能は、1つのI/O装置を複数のホストで共有するシステムにおいて、ホストとI/O装置との間の接続を切り替えるための機能である。
図18(A)〜
図18(C)において、ホスト1810−0、1810−1とI/O側延長装置1830とが広域イーサネット等のネットワークを介して接続され、I/O側延長装置1830とI/O装置1840とがFCLINK接続で接続されているものとする。
【0087】
図18(A)に示すように、ホスト#0(1810−0)が、共有するI/O装置1840を運用しているとき、I/O側延長装置1830とI/O装置1840との間にはホスト#0用の論理パス1850−0が確立している。
図18(A)に示した状態でクラスタ切り替えが発生し、共有するI/O装置1840を運用するホストが、ホスト#0(1810−0)からホスト#1(1810−1)に切り替わり、
図18(B)に示すようにホストとI/O側延長装置30とのパスがホスト#1(1810−1)側に切り替わったとする。I/O側延長装置1830とI/O装置1840との間にはホスト#0用の論理パス1850−0が確立しているので論理パスの不整合が生じる。
【0088】
このとき、I/O側延長装置30は、その論理パスの不整合を修正(解消)ために、I/O側延長装置1830とI/O装置1840との間において、ホスト#0用の論理パス1850−0を削除するとともに、ホスト#1用の論理パス1850−1を確立する。このように論理パスの制御を行うことで、
図18(C)に示すようにホスト#1が要求する論理パスと、I/O側延長装置1830とI/O装置1840との間の論理パスの不整合を解消して、論理パスの整合性を確保しI/O装置40の安全な運用が可能となる。
【0089】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本実施形態に関し、さらに以下の付記を開示する。
【0090】
(付記1)
情報処理装置と入出力装置とを中継装置を介して接続する送受信システムにおいて、
前記中継装置は、
前記情報処理装置と前記入出力装置との間の通信に係る論理パスの情報を記憶する記憶部と、
前記情報処理装置から要求される前記情報処理装置と前記入出力装置との間の通信に係る論理パスの情報と、前記記憶部が記憶した前記論理パスの情報との不整合を検出した場合、前記情報処理装置からの前記論理パスの情報に基づいて前記中継装置と前記入出力装置との間の論理パスを制御する論理パス制御部とを有することを特徴とする送受信システム。
(付記2)
前記論理パス制御部は、前記情報処理装置からの要求で必要とされる前記論理パスが確立していないと判定した場合、前記中継装置と前記入出力装置との間に該論理パスを確立することを特徴とする付記1記載の送受信システム。
(付記3)
前記論理パス制御部は、前記情報処理装置からの要求で不要とされる前記論理パスが確立していると判定した場合、前記中継装置と前記入出力装置との間の該論理パスを削除することを特徴とする付記2記載の送受信システム。
(付記4)
前記論理パス制御部は、前記情報処理装置からの前記論理パスの情報に基づいて前記中継装置と前記入出力装置との間の論理パスを制御した後、制御後の前記論理パスの状態に基づいて前記記憶部が記憶する前記論理パスの情報を更新することを特徴とする付記1〜3の何れか1項に記載の送受信システム。
(付記5)
前記論理パス制御部は、前記情報処理装置からの前記論理パスの情報に基づいて前記中継装置と前記入出力装置との間の論理パスを制御した後、制御後の前記論理パスの状態を前記情報処理装置に通知することを特徴とする付記1〜4の何れか1項に記載の送受信システム。
(付記6)
前記中継装置と前記入出力装置とは、FC−SB−2規格に準拠した接続方式で接続されていることを特徴とする付記1〜5の何れか1項に記載の送受信システム。
(付記7)
情報処理装置と入出力装置とを、前記情報処理装置と前記入出力装置との間の通信に係る論理パスの情報を記憶する記憶部を有する中継装置を介して接続する送受信システムの制御方法において、
前記中継装置の論理パス制御部が、前記情報処理装置から要求される前記情報処理装置と前記入出力装置との間の通信に係る論理パスの情報と、前記記憶部が記憶した前記論理パスの情報との不整合を検出した場合、前記情報処理装置からの前記論理パスの情報に基づいて前記中継装置と前記入出力装置との間の論理パスを制御することを特徴とする送受信システムの制御方法。
(付記8)
情報処理装置と入出力装置とに接続する中継装置において、
前記情報処理装置と前記入出力装置との間の通信に係る論理パスの情報を記憶する記憶部と、
前記情報処理装置から要求される前記情報処理装置と前記入出力装置との間の通信に係る論理パスの情報と、前記記憶部が記憶した前記論理パスの情報との不整合を検出した場合、前記情報処理装置からの前記論理パスの情報に基づいて前記中継装置と前記入出力装置との間の論理パスを制御する論理パス制御部とを有することを特徴とする中継装置。