(57)【要約】【課題】ファイバチャネル通信において、スイッチ装置の高容量化を行うことなく、エラーとなったフレームの再送を可能にし得る、ファイバチャネル通信システム、スイッチ装置、末端装置、ファイバチャネル通信制御方法、及びプログラムを提供する。【解決手段】ファイバチャネル通信システム１０は、スイッチ装置２０と末端装置３０及び４０とを備える。スイッチ装置２０は、いずれかの末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元情報を取得する情報取得部２１と、末端装置から、送信されてきたフレームのうち、設定条件を満たすフレームが送信先の末端装置に正常に受信されていない場合に、設定条件を満たすフレームを、送信元の末端装置から取得する、フレーム取得部２２と、取得されたフレームを、設定条件を満たすフレームが正常に受信されていない末端装置に送信する、フレーム送信部２３とを備える。【選択図】図１
2019144961.tif 000002
【特許請求の範囲】
【請求項１】
ファイバチャネルによって接続された２以上の末端装置と、前記末端装置間に設置されたスイッチ装置とを、備え、
前記スイッチ装置は、
当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、情報取得部と、
前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、フレーム取得部と、
取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、フレーム送信部と、
を備えている、
ことを特徴とするファイバチャネル通信システム。
【請求項２】
請求項１に記載のファイバチャネル通信システムであって、
前記末端装置は、
送信前のフレームが、前記設定条件を満たしているかどうかを判定する、設定条件判定部と、
前記設定条件判定部によって前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、保護フレーム保持部と、
を備え、
前記スイッチ装置において、前記フレーム取得部は、送信元の前記末端装置から、それが保存している前記保護フレームを取得する、
ことを特徴とするファイバチャネル通信システム。
【請求項３】
請求項２に記載のファイバチャネル通信システムであって、
前記末端装置において、前記保護フレーム保持部は、保持している前記保護フレームを、それが前記スイッチ装置によって取得されたことを条件に、削除する、
ことを特徴とするファイバチャネル通信システム。
【請求項４】
請求項１〜３のいずれかに記載のファイバチャネル通信システムであって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするファイバチャネル通信システム。
【請求項５】
ファイバチャネルによって接続された２以上の末端装置間に設置されるスイッチ装置であって、
当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、情報取得部と、
前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、フレーム取得部と、
取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、フレーム送信部と、
を備えている、
ことを特徴とするスイッチ装置。
【請求項６】
請求項５に記載のスイッチ装置であって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするスイッチ装置。
【請求項７】
ファイバチャネルによって接続される末端装置であって、
送信前のフレームが、設定条件を満たしているかどうかを判定する、設定条件判定部と、
前記設定条件判定部によって前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、保護フレーム保持部と、
を備えている、
ことを特徴とする末端装置。
【請求項８】
請求項７に記載の末端装置であって、
前記保護フレーム保持部は、保持している前記保護フレームを、それが、当該末端装置に接続されたスイッチ装置によって取得されたことを条件に、削除する、
ことを特徴とする末端装置。
【請求項９】
請求項７または８に記載の末端装置であって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とする末端装置。
【請求項１０】
ファイバチャネルによって接続された２以上の末端装置と、前記末端装置間に設置されたスイッチ装置とを、用い、
（ａ）前記スイッチ装置によって、当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、ステップと、
（ｂ）前記スイッチ装置によって、前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、ステップと、
（ｃ）前記スイッチ装置によって、前記（ｂ）のステップで取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、ステップと、
を有する、
ことを特徴とするファイバチャネル通信方法。
【請求項１１】
請求項１０に記載のファイバチャネル通信方法であって、
（ｄ）前記末端装置によって、送信前のフレームが、前記設定条件を満たしているかどうかを判定する、ステップと、
（ｅ）前記末端装置によって、前記（ｄ）のステップで前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、ステップと、
を更に有し、
前記（ｂ）のステップにおいて、送信元の前記末端装置から、それが保存している前記保護フレームを取得する、
ことを特徴とするファイバチャネル通信方法。
【請求項１２】
請求項１１に記載のファイバチャネル通信方法であって、
（ｆ）前記末端装置によって、前記（ｅ）のステップで保持した前記保護フレームを、そ
れが前記スイッチ装置によって取得されたことを条件に、削除する、ステップを、
更に有する、
ことを特徴とするファイバチャネル通信方法。
【請求項１３】
請求項１０〜１２のいずれかに記載のファイバチャネル通信方法であって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするファイバチャネル通信方法。
【請求項１４】
ファイバチャネルによって接続された２以上の末端装置間に設置されるスイッチ装置に備えられたコンピュータに、
（ａ）当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、ステップと、
（ｂ）前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たすフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、ステップと、
（ｃ）前記（ｂ）のステップで取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、ステップと、
を実行させる、プログラム。
【請求項１５】
請求項１４に記載のプログラムであって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするプログラム。
【請求項１６】
ファイバチャネルによって接続される末端装置に備えられたコンピュータに、
（ａ）送信前のフレームが、設定条件を満たしているかどうかを判定する、ステップと、（ｂ）前記（ａ）のステップで前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、ステップと、
を実行させる、プログラム。
【請求項１７】
請求項１６に記載のプログラムであって、
前記コンピュータに、
（ｃ）前記（ｂ）のステップで保持された前記保護フレームを、それが、当該末端装置に接続されたスイッチ装置によって取得されたことを条件に、削除する、ステップを、
更に実行させる、
ことを特徴とするプログラム。
【請求項１８】
請求項１６または１７に記載のプログラムであって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイバチャネル通信を行うための、ファイバチャネル通信システム、それに用いられるスイッチ装置、末端装置、及びファイバチャネル通信方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
ファイバチャネル（以下、「ＦＣ（Fibre Channel）」と表記する。）通信は、データ転送方式の１つであり、主に、高速な回線を必要とするサーバとストレージとの接続に利用されている（例えば、特許文献１及び２参照）。また、サーバ、ストレージといったＦＣ通信によって接続される装置は、総称して、「末端装置」と呼ばれている。
【０００３】
更に、ＦＣ通信には、データ転送の制御の違いにより、複数のサービスクラスが規定されている。このうち、サービスクラス２では、送信側の末端装置が、データの転送毎に、受信側の末端装置にデータの転送確認を要求し、要求に対する返信を待ってから、データを転送することが規定されている。
【０００４】
一方、サービスクラス３では、このような転送確認の要求は規定されておらず、送信側の末端装置は、転送確認を要求することなく、データを転送する。このため、サービスクラス３によれば、サービスクラス２に比べて、通信量及び通信負荷が軽減される。また、一般に、ＦＣ通信においては、フレームの欠落、データの異常といったフレームエラーの発生率は、他の方式の通信に比べて非常に低くなっている。これらの理由から、現在のＦＣ通信では、サービスクラス３が主流となっている。
【０００５】
また、ＦＣ通信では、末端装置と末端装置との間に、データ転送を中継するスイッチ装置が設置されることがある。スイッチ装置によれば、複数の末端装置を同時に接続することができるので、例えば、一つのサーバで複数のストレージを利用したり、一つのストレージを複数のサーバで共用したりすることが可能となる。
【０００６】
ここで、図１１及び図１２を用いて、サービスクラス３におけるＦＣ通信について説明する。図１１は、従来からのファイバチャネル通信の仕組みを示す図である。図１２は、ファイバチャネル通信で用いられるフレームの構造を示す図である。
【０００７】
図１１においては、説明のため、２つの末端装置のみが例示されている。また、２つの末端装置のうち、一方は送信側の末端装置（以下、「送信装置」と表記する。）であり、他方は受信側の末端装置（以下、「受信装置」と表記する。）である。
【０００８】
図１１に示すように、ＦＣ通信のプロトコルにおいては、送信装置は、フレームを最小単位として、受信装置にデータ転送を実行する。例えば、図１１の例では、送信装置は、受信装置に対して、コマンドを１つのフレームで送信し、更に、データを３つのフレームで送信している。これに対応して、受信装置は、送信装置に対して、ステータスを１つのフレームで送信している。
【０００９】
また、図１１に示すように、コマンド、データ、ステータス、それぞれを送信するための１又は複数のフレームは、「シーケンス」と呼ばれ、更に複数のシーケンスが集まって１つのトランザクションが構成される。また、このトランザクションの単位は「エクスチェンジ」と呼ばれる。
【００１０】
また、図１２に示すように、ＦＣ通信において、フレームは、フレームの始まりを示すＳＯＦ（Start Of Frame）と、ヘッダと、オプショナルヘッダと、データと、ＣＲＣ（Cyclic Redundancy Check）と、フレームの終わりを示すＥＯＦ（End Of Frame）とで構成されている。このうち、ヘッダには、送信元及び送信先等が記録されている。オプショナルヘッダには、フレームの転送方法のオプションが記録されている。データには、転送対象となるデータが記録されている。ＣＲＣには、誤り検知用の値が記録されている。
【００１１】
また、図１２に示すように、ヘッダには、Ｒ＿ＣＴＬ、Ｄ＿ＩＤ、ＣＳ＿ＣＴＬ、Ｓ＿ＩＤ、ＴＹＰＥ、Ｆ＿ＣＴＬ、ＳＥＱ＿ＩＤ、ＤＦ＿ＣＴＬ、ＳＥＱ＿ＣＮＴ、ＯＸ＿ＩＤ、ＲＸ＿ＩＤ、及びＰＡＲＡＭＥＴＥＲが記録されている。
【００１２】
このうち、Ｒ＿ＣＴＬ（Routing Control Field）は、ルーティングタイプと情報タイプとを示している。Ｄ＿ＩＤ（Destination ID）は、受信先のポートアドレスを示している。ＣＳ＿ＣＴＬ（Class Specific Control Field）は、転送方法を示している。Ｓ＿ＩＤ（Source ID）は、送信元のポートアドレスを示している。ＴＹＰＥは、転送されるデータのタイプを示している。
【００１３】
また、Ｆ＿ＣＴＬ（Frame Control Field）は、シーケンスの属性を示している。ＳＥＱ＿ＩＤ（Sequence ID）は、シーケンスＩＤを示している。ＤＦ＿ＣＴＬ（Data Filed Control）は、データフィールドのスタート部分にオプショナルヘッダが含まれているかどうかを示している。ＳＥＱ＿ＣＮＴ（Sequential Count）は、シーケンス番号を示している。ＯＸ＿ＩＤ（Originator Exchange ID）は、オリジネータが発行するエクスチェンジ番号を示している。ＲＸ＿ＩＤ（Responder Exchange ID）は、レスポンダが発行するエクスチェンジ番号を示している。ＰＡＲＡＭＥＴＥＲは、データフレームの最初のビットの相対オフセットとリンクフレームに関するデータとを示している。
【００１４】
ところで、上述したように、ＦＣ通信では、フレームエラーの発生率は低くなっているが、フレームエラーの発生がゼロになるわけではない。このため、受信装置では、フレームの欠落、データの異常といったフレームエラーの検知が行われている。
【００１５】
具体的には、特許文献１では、受信装置は、フレームのＣＲＣ（図１２参照）の値と、フレームのデータ（図１２参照）から所定の式で求めた値とが、一致するかどうかを判定する。そして、受信装置は、一致していない場合は、データに異常があったと判定し、異常があったフレームの再送を要求する。
【００１６】
また、特許文献２では、受信装置は、送信装置から送られてきたフレームとは別に、送信済の各フレームに対応付けられたハッシュ値も受信する。そして、受信装置は、受信した各ハッシュ値と、受信したフレーム毎に算出したハッシュ値とを比較し、両者が一致していない場合にフレームの欠落が発生していると判定し、欠落しているフレームの再送を要求する。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０１７−５５１５３号公報
【特許文献２】特許第５８５２６７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
このように、上述した特許文献１及び２に開示された技術を用いれば、ＦＣ通信のサー
ビスクラス３におけるフレームエラーの検出が可能となる。しかしながら、これらの技術を用いても、以下に示す問題が存在している。
【００１９】
具体的には、特許文献２に開示された技術では、送信装置から、フレームとは別に、送信装置で算出された各ハッシュ値を受信装置に送信する必要があるため、各ハッシュ値に送信において欠落が発生すると、フレームの欠落を検出することが困難となる。この場合、欠落したフレームの再送は困難となる。
【００２０】
また、フレームの欠落は、図１１に示すシーケンス番号ＳＥＱ＿ＣＮＴを調べることによっても、検出できるが、この検出方法では、欠落を検出できるフレームは限定される。具体的には、図１１において、ＳＥＱ＿ＣＮＴ＝１１のフレームが欠落したとする。この場合は、受信装置は、ＳＥＱ＿ＣＮＴ＝１０のフレームと、ＳＥＱ＿ＣＮＴ＝１２のフレームとを受信しているので、ＳＥＱ＿ＣＮＴ＝１１のフレームの欠落を検出できる。しかし、ＳＥＱ＿ＣＮＴ＝１２のフレームが欠落している場合は、受信装置は、最終のフレームが未だ受信できていないことは判断できるが、ＳＥＱ＿ＣＮＴ＝１１の後に幾つフレームが残っているかを判断できない。この場合、受信装置は、欠落しているフレームを特定できず、結果、欠落しているフレームの再送は困難となる。
【００２１】
また、上述の問題は、スイッチ装置を設置し、スイッチ装置によって、送信装置から送信されたフレームを全て保管するようにすれば、解決できるとも考えられる。しかし、この場合は、スイッチ装置を高容量化する必要があり、スイッチ装置のコストが大幅に増加してしまう。加えて、フレームの再送が困難な場合は、エクスチェンジ単位で、最初からフレームを送信する必要があり、システム効率が大きく低下してしまう。
【００２２】
本発明の目的の一例は、上記問題を解消し、ファイバチャネル通信において、スイッチ装置の高容量化を行うことなく、エラーとなったフレームの再送を可能にし得る、ファイバチャネル通信システム、スイッチ装置、末端装置、ファイバチャネル通信制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００２３】
上記目的を達成するため、本発明の一側面におけるファイバチャネル通信システムは、ファイバチャネルによって接続された２以上の末端装置と、前記末端装置間に設置されたスイッチ装置とを、備え、
前記スイッチ装置は、
当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、情報取得部と、
前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、フレーム取得部と、
取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、フレーム送信部と、
を備えている、
ことを特徴とする。
【００２４】
また、上記目的を達成するため、本発明の一側面におけるスイッチ装置は、ファイバチャネルによって接続された２以上の末端装置間に設置されるスイッチ装置であって、
当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、情報取得部と、
前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記
設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、フレーム取得部と、
取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、フレーム送信部と、
を備えている、
ことを特徴とする。
【００２５】
また、上記目的を達成するため、本発明の一側面における末端装置は、ファイバチャネルによって接続される末端装置であって、
送信前のフレームが、設定条件を満たしているかどうかを判定する、設定条件判定部と、
前記設定条件判定部によって前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、保護フレーム保持部と、
を備えている、
ことを特徴とする。
【００２６】
また、上記目的を達成するため、本発明の一側面におけるファイバチャネル通信方法は、ファイバチャネルによって接続された２以上の末端装置と、前記末端装置間に設置されたスイッチ装置とを、用い、
（ａ）前記スイッチ装置によって、当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、ステップと、
（ｂ）前記スイッチ装置によって、前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、ステップと、
（ｃ）前記スイッチ装置によって、前記（ｂ）のステップで取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、ステップと、
を有する、
ことを特徴とする。
【００２７】
更に、上記目的を達成するため、本発明の一側面における第１のプログラムは、ファイバチャネルによって接続された２以上の末端装置間に設置されるスイッチ装置に備えられたコンピュータに、
（ａ）当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、ステップと、
（ｂ）前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たすフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、ステップと、
（ｃ）前記（ｂ）のステップで取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、ステップと、
を実行させることを特徴とする。
【００２８】
更に、上記目的を達成するため、本発明の一側面における第２のプログラムは、ファイバチャネルによって接続される末端装置に備えられたコンピュータに、
（ａ）送信前のフレームが、設定条件を満たしているかどうかを判定する、ステップと、（ｂ）前記（ａ）のステップで前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００２９】
以上のように、本発明によれば、ファイバチャネル通信において、スイッチ装置の高容量化を行うことなく、エラーとなったフレームの再送を可能にすることができる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明の実施の形態におけるファイバチャネル通信システム、スイッチ装置、及び末端装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態におけるファイバチャネル通信システム、スイッチ装置、及び末端装置の構成を具体的に示すブロック図である。
【図３】図３は、本発明の実施の形態で用いられるファブリック情報テーブルの一例を示す図である。
【図４】図４は、本発明の実施の形態で用いられる送信元情報保存テーブルの一例を示す図である。
【図５】図５は、本発明の実施の形態において末端装置が保持する保護フレームの一例を示す図である。
【図６】図６は、本発明の実施の形態におけるスイッチ装置のフレームの送受信処理時の動作を示すフロー図である。
【図７】図７は、本発明の実施の形態におけるスイッチ装置の正常通知の受信時の動作を示すフロー図である。
【図８】図８は、末端装置のフレームの送信処理の動作を示すフロー図である。
【図９】図９は、末端装置がスイッチ装置からフレームの再送要求を受信したときの動作を示すフロー図である。
【図１０】図１０は、本発明の実施の形態におけるスイッチ装置又は末端装置を実現するコンピュータの一例を示すブロック図である。
【図１１】図１１は、従来からのファイバチャネル通信の仕組みを示す図である。
【図１２】図１２は、ファイバチャネル通信で用いられるフレームの構造を示す図である。
【００３１】
（実施の形態）
以下、本発明の実施の形態における、ファイバチャネル通信システム、スイッチ装置、末端装置、ファイバチャネル通信方法、及びプログラムについて、図１〜図９を参照しながら説明する。
【００３２】
［システム構成］
最初に、図１を用いて、本実施の形態におけるファイバチャネル通信システム、スイッチ装置、及び末端装置の構成について説明する。図１は、本発明の実施の形態におけるファイバチャネル通信システム、スイッチ装置、及び末端装置の概略構成を示すブロック図である。
【００３３】
図１に示すように、本実施の形態におけるファイバチャネル通信システム１０は、ファイバチャネル５０で接続された末端装置３０及び４０と、末端装置間に設置されたスイッチ装置２０とを備えている。
【００３４】
また、図１に示すように、スイッチ装置２０は、情報取得部２１とフレーム取得部２２と、フレーム送信部２３とを備えている。
【００３５】
情報取得部２１は、スイッチ装置２０を経由して、末端装置３０及び４０のいずれかに送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する。フレーム取得部２２は、設定条件を満たすフレームが送信先の末端装置に正常に受信されていない場合に、設定条件を満たすフレームを、送信元の末端装置から取得する。フレーム送信部２３は、取得された、設定条件を満たすフレームを、設定条件を満たしているフレームが正常に受信されていない末端装置（送信先の末端装置）に送信する。
【００３６】
このように、本実施の形態では、スイッチ装置２０は、設定条件を満たすフレームが送信先の末端装置に正常に受信されていない場合に、送信元の末端装置から該当のフレームを取得して再送している。この結果、本実施の形態によれば、スイッチ装置２０の高容量化を行うことなく、エラーとなったフレームの再送が可能となる。
【００３７】
続いて、図２〜図５を用いて、本実施の形態におけるファイバチャネル通信システム、スイッチ装置、及び末端装置の構成についてより具体的に説明する。図２は、本発明の実施の形態におけるファイバチャネル通信システム、スイッチ装置、及び末端装置の構成を具体的に示すブロック図である。
【００３８】
システム全体：
まず、本実施の形態では、ファイバチャネル通信システム１０は、サービスクラス３のファイバチャネル通信を実現するシステムである。また、図２に示すように、本実施の形態におけるファイバチャネル通信システム１０では、スイッチ装置２０、末端装置３０及び末端装置４０は、ＬＡＮ（Local Area Network）６０によっても、互いにデータ通信可能に接続されている。このため、各末端装置は、ＬＡＮ６０を経由して、他方の末端装置に対して、正常通知等を行うことができる。
【００３９】
なお、図２の例では、末端装置３０は、サーバ装置であり、末端装置４０は、ストレージ装置である。よって、以降の説明では、末端装置３０を「サーバ装置３０」と表記し、末端装置４０を「ストレージ装置４０」と表記する場合もある。
【００４０】
また、本実施の形態では、サービスクラス３のファイバチャネル通信を実現するため、スイッチ装置２０、サーバ装置３０、及びストレージ装置４０それぞれは、各装置のＷＷＰＮ（World Wide Port Name）と、ＩＰアドレスとを記録したファブリック情報テーブルを予め保持している。図３は、本発明の実施の形態で用いられるファブリック情報テーブルの一例を示す図である。
【００４１】
また、図２の例では、ファイバチャネル通信システム１０では、スイッチ装置２０を介して、１つのサーバ装置３０とストレージ装置４０とが接続されているが、本実施の形態は、この態様に限定されることはない。例えば、本実施の形態は、１つのサーバ装置で複数のストレージ装置が利用される態様であったり、１つのストレージ装置が複数のサーバ装置によって共用される態様であったりしても良い。
【００４２】
スイッチ装置：
また、図２に示すように、本実施の形態では、スイッチ装置２０は、上述した情報取得部２１、フレーム取得部２２、及びフレーム送信部２３を備えている。
【００４３】
情報取得部２１は、上述したように、末端装置に送信するフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する。本実施の形態において、送信元情報としては、設定条件を満たすフレームのヘッダが挙げられる。また、設定条件
を満たすフレームとしては、セクションの最終フレーム、セクションのイニシアティブが変更されるレームが挙げられる。具体的には、前者のフレームは、ヘッダのＦ＿ＣＴＬ１９ｂｉｔが１であるフレームである。また、後者のフレームは、ヘッダのＦ＿ＣＴＬ１６ｂｉｔが１であるフレームである。
【００４４】
また、情報取得部２１は、取得した送信元情報を、図４に示す送信元情報保存テーブルに格納する。図４は、本発明の実施の形態で用いられる送信元情報保存テーブルの一例を示す図である。図４の例では、情報取得部２１は、スイッチ装置２０によってフレームの送信に使用された送信ポートのＷＷＰＮと、設定条件を満たすフレームの送信元を特定する末端装置の情報（フレームヘッダ）と、スイッチ装置２０がフレームを送信した時間を特定するタイムスタンプとを互いに関連付けて送信元情報保存テーブルに格納する。
【００４５】
また、情報取得部２１は、受信したフレームにエラーが発生しているかどうかを判定することもできる。この場合において、情報取得部２１は、エラーが発生していると判定する場合は、受信したフレームを破棄する。
【００４６】
フレーム取得部２２は、本実施の形態では、送信されてきたフレームのヘッダに基づいて、このフレームが、設定条件を満たすフレームであるかどうかを判定する。具体的には、フレーム取得部２２は、送信されてきたフレームのヘッダにおいて、Ｆ＿ＣＴＬ１９ｂｉｔ又はＦ＿ＣＴＬ１６ｂｉｔが１であるかどうかを判定する。
【００４７】
そして、フレーム取得部２２は、特定されたフレームが設定条件を満たすフレームであると判定する場合は、送信元情報保存テーブル（図４参照）に基づいて、送信元の末端装置を特定し、特定した末端装置から、ファイバチャネル５０を介して、設定条件を満たすフレームを改めて取得する。
【００４８】
フレーム送信部２３は、フレーム取得部２２によって、設定条件を満たすフレームが改めて取得されると、改めて取得されたフレームを、送信先の末端装置に送信する。
【００４９】
末端装置：
図２に示すように、本実施の形態では、末端装置３０は、設定条件判定部３１と、保護フレーム保持部３２と、通知部３３とを備えている。同様に、末端装置４０は、設定条件判定部４１と、保護フレーム保持部４２と、通知部４３とを備えている。なお、末端装置３０及び４０それぞれにおいて、設定条件判定部、保護フレーム保持部、及び通知部は、同様の機能を備えている。このため、以下においては、末端装置３０を中心に説明する。
【００５０】
設定条件判定部３１は、送信前のフレームが設定条件を満たしているかどうかを判定する。具体的には、本実施の形態では、設定条件を満たすフレームは、上述したように、セクションの最終フレーム及びイニシアティブが変更されるフレームである。従って、設定条件判定部３１は、フレームのヘッダのＦ＿ＣＴＬ１９ｂｉｔ又はＦ＿ＣＴＬ１６ｂｉｔが１であるかどうかを判定する。
【００５１】
保護フレーム保持部３２は、設定条件判定部３１によって設定条件を満たしていると判定されたフレームを、保護フレームとして保持する。具体的には、保護フレーム保持部３２は、図５に示すように、保護フレームの情報をフレーム保存テーブルに登録する。図５は、本発明の実施の形態において末端装置が保持する保護フレームの一例を示す図である。図５の例では、フレーム保存テーブルに登録される保護フレームの情報は、送信元のポートのＷＷＰＮ、ヘッダ、及びデータである。
【００５２】
更に、保護フレーム保持部３２は、スイッチ装置２０からの指示に応じて、スイッチ装
置２０に保護フレームを送信する。また、保護フレーム保持部３２は、スイッチ装置２０から正常通知が通知されると、保持している保護フレームを、フレーム保存テーブルから削除する。
【００５３】
通知部３３は、スイッチ装置２０から受信したフレームにエラーが発生していない場合には、スイッチ装置２０に対して、正常通知を送信する。
【００５４】
なお、本実施の形態において、末端装置３０は、設定条件判定部３１及び保護フレーム保持部３２を備えていない態様であっても良い。この場合、末端装置３０は、スイッチ装置２０から、設定条件を満たしているフレームの送信が求められると、求められたフレームを再構築し、その後、再構築したフレームを送信する。
【００５５】
［システム動作］
次に、本発明の実施の形態におけるファイバチャネル通信システム１０の動作について図６〜図９を用いて説明する。以下の説明においては、適宜図１〜図５を参酌する。また、本実施の形態では、ファイバチャネル通信システム１０を動作させることによって、ファイバチャネル通信方法が実施される。よって、本実施の形態におけるファイバチャネル通信方法の説明は、以下のファイバチャネル通信システム１０の動作説明に代える。
【００５６】
スイッチ装置の動作：
最初に、本発明の実施の形態におけるスイッチ装置のフレームの送受信処理時の動作について説明する。図６は、本発明の実施の形態におけるスイッチ装置のフレームの送受信処理時の動作を示すフロー図である。
【００５７】
図６に示すように、まず、スイッチ装置２０において、情報取得部２１は、送信元の末端装置からフレームを受信する（ステップＡ１）。次に、情報取得部２１は、ステップＡ１にて取得したフレームにエラーが発生しているどうかを判定する（ステップＡ２）。
【００５８】
ステップＡ２の判定の結果、受信したフレームにエラーが発生していた場合には、情報取得部２１は、受信したフレームを破棄する（ステップＡ３）。
【００５９】
一方、ステップＡ２の判定の結果、受信したフレームにエラーが発生していなかった場合には、情報取得部２１は、ステップＡ２でエラーが発生していないと判定されたフレームが、設定条件を満たしているかどうかを判定する（ステップＡ４）。
【００６０】
ステップＡ４の判定の結果、フレームが設定条件を満たしている場合には、情報取得部２１は、ステップＡ４で設定条件を満たしていると判定されたフレームの送信元情報を、送信元情報保存テーブルに格納する（ステップＡ５）。
【００６１】
続いて、情報取得部２１は、送信元の末端装置にフレームの正常通知を送信する（ステップＡ６）。その後、情報取得部２１は、フレームを、送信先の末端装置に送信する（ステップＡ７）。
【００６２】
一方、ステップＡ４の判定の結果、フレームが設定条件を満たしていない場合には、情報取得部２１は、直ぐにステップＡ７を実行し、フレームを、送信先の末端装置に送信する。
【００６３】
以上のように、ステップＡ１〜Ａ７が実行されることにより、設定条件を満たしているフレーム（保護フレーム）については送信元情報が登録される。また、フレームにエラーが発生した場合は、そのフレームは即座に破棄され、フレームにエラーが発生していない
場合は、送信元に正常通知が送られる。
【００６４】
次に、本発明の実施の形態におけるスイッチ装置２０が正常通知を受信した時の動作について説明する。図７は、本発明の実施の形態におけるスイッチ装置の正常通知の受信時の動作を示すフロー図である。
【００６５】
図７に示すように、まず、スイッチ装置２０において、情報取得部２１は、送信先の末端装置から正常通知を受信する（ステップＢ１）。次に、情報取得部２１は、送信元情報保存テーブル（図４参照）から、正常通知を送信してきた末端装置の送信元情報を検索する（ステップＢ２）。
【００６６】
次に、情報取得部２１は、ステップＢ２の検索により、送信元情報保存テーブルから、正常通知を送信してきた末端装置の送信元情報を特定できたかどうかを判定する（ステップＢ３）。
【００６７】
ステップＢ３の判定の結果、正常通知を送信してきた末端装置の送信元情報を特定できなかった場合には、スイッチ装置２０における処理は終了する。一方、ステップＢ３の判定の結果、正常通知を送信してきた末端装置の送信元情報を特定できた場合には、情報取得部２１は、そのことをフレーム取得部２２に通知する。
【００６８】
次に、フレーム取得部２２は、送信元情報保存テーブルから、タイプスタンプに基づいて、ステップＢ２の検索で特定した送信元情報よりも過去の送信元情報を検索する（ステップＢ４）。
【００６９】
次に、フレーム取得部２２は、ステップＢ４の検索により、ステップＢ２の検索で特定した送信元情報よりも過去の送信元情報を特定できたかどうかを判定する（ステップＢ５）。
【００７０】
ステップＢ５の判定の結果、ステップＢ２の検索で特定した送信元情報よりも過去の送信元情報を特定できた場合には、フレーム取得部２２は、ステップＢ４の検索によって特定した過去の送信元情報を送信してきた末端装置を特定し、この末端装置に、フレームの再送要求を送信する（ステップＢ６）。
【００７１】
その後、フレーム取得部２２は、送信元情報保存テーブルから、ステップＢ２の検索で特定した送信元情報を削除し（ステップＢ７）、処理を終了する。
【００７２】
一方、ステップＢ５の判定の結果、ステップＢ２の検索で特定した送信元情報よりも過去の送信元情報を特定できなかった場合には、フレーム取得部２２は、ステップＢ７を実行して、送信元情報保存テーブルから、ステップＢ２の検索で特定した送信元情報を削除する。
【００７３】
以上のように、ステップＢ１〜Ｂ７が実行されることにより、正常通知が届いていないために、送信元情報保存テーブルから削除されていない送信元情報が特定される。そして、このような送信元情報が特定された場合は、保護フレームが送信先の末端装置に正常に送信されていない場合に該当する。つまり、スイッチ装置２０は、正常に送信されていない保護フレームを特定でき、この特定した保護フレームの再送を要求することができる。従って、本実施の形態によれば、従来であれば欠落を検知できないフレームであっても、確実に欠落を検知すると共に、再送を行うことができる。
【００７４】
また、本実施の形態では、フレーム送信部２３は、再送要求を行ったフレームが再送信
されてくると、ステップＢ６又はステップＢ７の実行後に、再送信されてきたフレームを、送信先の末端装置（エラーを通知している場合はエラーを通知した末端装置）に送信する。
【００７５】
末端装置の動作：
続いて、末端装置のフレームの送信処理の動作について説明する。図８は、末端装置のフレームの送信処理の動作を示すフロー図である。
【００７６】
図８に示すように、まず、末端装置において、設定条件判定部３１は、フレームの送信準備として、送信前のフレームを解析する（ステップＣ１）。次に、設定条件判定部３１は、ステップＣ１の解析の結果に基づいて、送信前のフレームが設定条件を満たすかどうか、即ち、保護フレームに該当するかどうかを判定する（ステップＣ２）。
【００７７】
ステップＣ２の判定の結果、送信前のフレームが保護フレームであると判定された場合には、保護フレーム保持部３２は、保護フレームの情報をフレーム保存テーブルに登録する（ステップＣ３）。
【００７８】
次に、保護フレーム保持部３２は、保護フレームであると判定したフレームを、スイッチ装置２０に送信する（ステップＣ４）。
【００７９】
一方、ステップＣ２の判定の結果、送信前のフレームが保護フレームでないと判定された場合には、保護フレーム保持部３２は、直ぐにステップＣ４を実行し、送信前のフレームをスイッチ装置に送信する。
【００８０】
以上のように、ステップＣ１〜Ｃ４が実行されることにより、設定条件を満たす保護フレームは、末端装置において、フレーム保存テーブルに登録されることになる。
【００８１】
次に、末端装置がスイッチ装置からフレームの再送要求を受信したときの動作について説明する。図９は、末端装置がスイッチ装置からフレームの再送要求を受信したときの動作を示すフロー図である。
【００８２】
図９に示すように、まず、保護フレーム保持部３２は、ステップＢ５にてスイッチ装置２０から送信されてきたフレームの再送要求を受信する（ステップＤ１）。次に、保護フレーム保持部３２は、ステップＤ１で再送要求されたフレームを、フレーム保存テーブルから特定する（ステップＤ２）。
【００８３】
次に、保護フレーム保持部３２は、特定したフレーム、即ち保護フレームを、スイッチ装置２０に送信する（ステップＤ３）。そして、保護フレーム保持部３２は、送信した保護フレームを、フレーム保存テーブルから削除する（ステップＤ４）。
【００８４】
以上のように、ステップＤ１〜Ｄ４が実行されることにより、末端装置は、設定条件を満たす保護フレームをスイッチ装置２０に送信する。
【００８５】
［実施の形態における効果］
以上のように、本実施の形態では、スイッチ装置２０の送信元情報保存テーブルに保護フレームの送信元情報を登録している。そして、スイッチ装置２０は、保護フレームが正常に送信され、送信先の末端装置から正常通知を受けると、対応する送信元情報を削除する。このため、スイッチ装置２０は、削除されずに残っている送信元情報から、即座に、エラーが発生している保護フレームを特定でき、送信元の末端装置に保護フレームを再送信させることができる。すなわち、従来では、欠落を検知できないフレームであっても、
確実にフレームの欠落を検知し、フレームの再送を実行できる。また、登録されている送信元情報は削除されるため、スイッチ装置２０は高容量化を必要としない。従って、本実施の形態によれば、スイッチ装置２０の高容量化を行うことなく、エラーとなったフレームの再送を可能となる。
【００８６】
［プログラム］
本実施の形態における第１のプログラムは、コンピュータに、図６に示すステップＡ１〜Ａ７及び図７に示すステップＢ１〜Ｂ７を実行させるプログラムであれば良い。このプログラムをスイッチ装置２０に備えられたコンピュータにインストールし、実行することによって、本実施の形態におけるスイッチ装置２０を実現することができる。この場合、コンピュータのプロセッサは、情報取得部２１、フレーム取得部２２、及びフレーム送信部２３として機能し、処理を行う。
【００８７】
また、本実施の形態における第２のプログラムは、コンピュータに、図８に示すステップＣ１〜Ｃ４、及び図９に示すステップＤ１〜Ｄ４を実行させるプログラムであれば良い。このプログラムを末端装置に備えられたコンピュータにインストールし、実行することによって、本実施の形態における末端装置を実現することができる。この場合、コンピュータのプロセッサは、設定条件判定部３１、保護フレーム保持部３２及び通知部３３として機能し、処理を行う。
【００８８】
［物理構成］
ここで、本実施の形態におけるプログラムを実行することによって、スイッチ装置２０又は末端装置を実現するコンピュータの一例について図１０を用いて説明する。図１０は、本発明の実施の形態におけるスイッチ装置又は末端装置を実現するコンピュータの一例を示すブロック図である。スイッチ装置２０及び末端装置には、例えば、図１０に示すコンピュータが備えられている。
【００８９】
図１０に示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ/ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００９０】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上に流通するものであっても良い。
【００９１】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００９２】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を
仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００９３】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００９４】
なお、本実施の形態におけるスイッチ装置及び末端装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、スイッチ装置及び末端装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００９５】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１８）によって表現することができるが、以下の記載に限定されるものではない。
【００９６】
（付記１）
ファイバチャネルによって接続された２以上の末端装置と、前記末端装置間に設置されたスイッチ装置とを、備え、
前記スイッチ装置は、
当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、情報取得部と、
前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、フレーム取得部と、
取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、フレーム送信部と、
を備えている、
ことを特徴とするファイバチャネル通信システム。
【００９７】
（付記２）
付記１に記載のファイバチャネル通信システムであって、
前記末端装置は、
送信前のフレームが、前記設定条件を満たしているかどうかを判定する、設定条件判定部と、
前記設定条件判定部によって前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、保護フレーム保持部と、
を備え、
前記スイッチ装置において、前記フレーム取得部は、送信元の前記末端装置から、それが保存している前記保護フレームを取得する、
ことを特徴とするファイバチャネル通信システム。
【００９８】
（付記３）
付記２に記載のファイバチャネル通信システムであって、
前記末端装置において、前記保護フレーム保持部は、保持している前記保護フレームを、それが前記スイッチ装置によって取得されたことを条件に、削除する、
ことを特徴とするファイバチャネル通信システム。
【００９９】
（付記４）
付記１〜３のいずれかに記載のファイバチャネル通信システムであって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするファイバチャネル通信システム。
【０１００】
（付記５）
ファイバチャネルによって接続された２以上の末端装置間に設置されるスイッチ装置であって、
当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、情報取得部と、
前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、フレーム取得部と、
取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、フレーム送信部と、
を備えている、
ことを特徴とするスイッチ装置。
【０１０１】
（付記６）
付記５に記載のスイッチ装置であって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするスイッチ装置。
【０１０２】
（付記７）
ファイバチャネルによって接続される末端装置であって、
送信前のフレームが、設定条件を満たしているかどうかを判定する、設定条件判定部と、
前記設定条件判定部によって前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、保護フレーム保持部と、
を備えている、
ことを特徴とする末端装置。
【０１０３】
（付記８）
付記７に記載の末端装置であって、
前記保護フレーム保持部は、保持している前記保護フレームを、それが、当該末端装置に接続されたスイッチ装置によって取得されたことを条件に、削除する、
ことを特徴とする末端装置。
【０１０４】
（付記９）
付記７または８に記載の末端装置であって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とする末端装置。
【０１０５】
（付記１０）
ファイバチャネルによって接続された２以上の末端装置と、前記末端装置間に設置されたスイッチ装置とを、用い、
（ａ）前記スイッチ装置によって、当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、ステップと、
（ｂ）前記スイッチ装置によって、前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たしているフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、ステップと、
（ｃ）前記スイッチ装置によって、前記（ｂ）のステップで取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、ステップと、
を有する、
ことを特徴とするファイバチャネル通信方法。
【０１０６】
（付記１１）
付記１０に記載のファイバチャネル通信方法であって、
（ｄ）前記末端装置によって、送信前のフレームが、前記設定条件を満たしているかどうかを判定する、ステップと、
（ｅ）前記末端装置によって、前記（ｄ）のステップで前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、ステップと、
を更に有し、
前記（ｂ）のステップにおいて、送信元の前記末端装置から、それが保存している前記保護フレームを取得する、
ことを特徴とするファイバチャネル通信方法。
【０１０７】
（付記１２）
付記１１に記載のファイバチャネル通信方法であって、
（ｆ）前記末端装置によって、前記（ｅ）のステップで保持した前記保護フレームを、それが前記スイッチ装置によって取得されたことを条件に、削除する、ステップを、
更に有する、
ことを特徴とするファイバチャネル通信方法。
【０１０８】
（付記１３）
付記１０〜１２のいずれかに記載のファイバチャネル通信方法であって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするファイバチャネル通信方法。
【０１０９】
（付記１４）
ファイバチャネルによって接続された２以上の末端装置間に設置されるスイッチ装置に備えられたコンピュータに、
（ａ）当該スイッチ装置を経由していずれかの前記末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する、ステップと、
（ｂ）前記末端装置から、当該スイッチ装置を経由して送信されてきたフレームのうち、前記設定条件を満たすフレームが送信先の前記末端装置に正常に受信されていない場合に、前記送信元情報に基づいて、前記設定条件を満たすフレームを、送信元の前記末端装置から取得する、ステップと、
（ｃ）前記（ｂ）のステップで取得された、前記設定条件を満たすフレームを、前記設定条件を満たしているフレームが正常に受信されていない前記末端装置に送信する、ステップと、
を実行させる、プログラム。
【０１１０】
（付記１５）
付記１４に記載のプログラムであって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするプログラム。
【０１１１】
（付記１６）
ファイバチャネルによって接続される末端装置に備えられたコンピュータに、
（ａ）送信前のフレームが、設定条件を満たしているかどうかを判定する、ステップと、（ｂ）前記（ａ）のステップで前記設定条件を満たしていると判定された、前記フレームを、保護フレームとして保持する、ステップと、
を実行させる、プログラム。
【０１１２】
（付記１７）
付記１６に記載のプログラムであって、
前記コンピュータに、
（ｃ）前記（ｂ）のステップで保持された前記保護フレームを、それが、当該末端装置に接続されたスイッチ装置によって取得されたことを条件に、削除する、ステップを、
更に実行させる、
ことを特徴とするプログラム。
【０１１３】
（付記１８）
付記１６または１７に記載のプログラムであって、
前記設定条件は、当該フレームがセクションの最終フレームであること、又は当該フレームがセクションのイニシアティブの変更直前のフレームであることに設定されている、ことを特徴とするプログラム。
【産業上の利用可能性】
【０１１４】
以上のように、本発明によれば、ファイバチャネル通信において、スイッチ装置の高容量化を行うことなく、エラーとなったフレームの再送を可能にすることができる。本発明は、ファイバチャネル通信において有用である。
【符号の説明】
【０１１５】
１０  ファイバチャネル通信システム
２０  スイッチ装置
２１  情報取得部
２２  フレーム取得部
２３  フレーム送信部
３０  末端装置（サーバ装置）
３１  設定条件判定部
３２  保護フレーム保持部
３３  通知部
４０  末端装置（ストレージ装置）
４１  設定条件判定部
４２  保護フレーム保持部
４３  通知部
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2019144961.tif 000003
【図２】
2019144961.tif 000004
【図３】
2019144961.tif 000005
【図４】
2019144961.tif 000006
【図５】
2019144961.tif 000007
【図６】
2019144961.tif 000008
【図７】
2019144961.tif 000009
【図８】
2019144961.tif 000010
【図９】
2019144961.tif 000011
【図１０】
2019144961.tif 000012
【図１１】
2019144961.tif 000013
【図１２】
2019144961.tif 000014