(57)【要約】【課題】利用可能な最大の転送レートを特定する。【解決手段】通知受信部は、相手装置とのファイバーチャネル通信のリンクアップ後に、相手装置において設定可能な１または複数の転送レートを示すレート通知を相手装置から受信する。レート特定部は、レート通知が示す１または複数の転送レートと、通信装置において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定する。【選択図】図２
2020102764.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
相手装置とのファイバーチャネル通信のリンクアップ後に、前記相手装置において設定可能な１または複数の転送レートを示すレート通知を前記相手装置から受信する通知受信部と、
前記レート通知が示す１または複数の転送レートと、前記通信装置において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定するレート特定部と
を備える通信装置。
【請求項２】
特定した前記転送レートによって前記相手装置とのファイバーチャネル通信のリンクを初期化する初期化部
をさらに備える請求項１に記載の通信装置。
【請求項３】
前記初期化部は、ファイバーチャネル通信のＰＲＬＩの実施の前に、前記リンクを初期化する
請求項２に記載の通信装置。
【請求項４】
前記通信装置において設定可能な１または複数の転送レートを示すレート通知を前記相手装置に送信する通知送信部をさらに備える
請求項１から請求項３の何れか１項に記載の通信装置。
【請求項５】
前記レート通知は、ファイバーチャネル通信のリンクサービスによって伝送される
請求項１から請求項４の何れか１項に記載の通信装置。
【請求項６】
前記レート通知は、ファイバーチャネル通信のＰＬＯＧＩの実施の後に伝送される
請求項１から請求項５の何れか１項に記載の通信装置。
【請求項７】
通信装置のリンク制御方法であって、
前記通信装置と相手装置とのファイバーチャネル通信のリンクアップ後に、前記相手装置において設定可能な１または複数の転送レートを示すレート通知を前記相手装置から受信するステップと、
前記レート通知が示す１または複数の転送レートと、前記通信装置において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定するステップと
を備えるリンク制御方法。
【請求項８】
通信装置のコンピュータを、
相手装置とのファイバーチャネル通信のリンクアップ後に、前記相手装置において設定可能な１または複数の転送レートを示すレート通知を前記相手装置から受信する通知受信部、
前記レート通知が示す１または複数の転送レートと、前記通信装置において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定するレート特定部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はファイバーチャネル（Fibre Channel）通信の通信装置、リンク制御方法、およびプログラムに関する。
【背景技術】
【０００２】
装置間の通信方式の１つとして、ファイバーチャネル通信が知られている（例えば、特許文献１を参照）。特許文献２には、ファイバーチャネル通信において、オートネゴシエーションにより通信装置間で最大な転送レートでのリンクを確立する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３５９６６１号公報
【特許文献２】特開２０００−１２４９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、オートネゴシエーションによって転送レートを決定する場合、双方の通信装置の転送レートの設定変更のタイミングによっては、最大の転送レートでのリンクを確立できない可能性がある。
【０００５】
例えば、通信装置Ａと通信装置Ｂがファイバーチャネル通信の転送レートとして、それぞれ８ＧＢｙｔｅ、４ＧＢｙｔｅ、および２Ｇｂｙｔｅが設定可能である場合について説明する。通信装置Ａが８ＧＢｙｔｅ設定でのネゴシエーションを行っているときに、通信装置Ｂが転送レートの設定中であると、同期が取れずにリンクダウンとなる。これに応じて、通信装置Ａは転送レートを４Ｇｂｙｔｅに変更することとなる。その後、通信装置Ｂは転送レートの設定を終え、転送レートが８Ｇｂｙｔｅに設定されると、転送レートの不一致によりリンクダウンとなる。これに応じて、通信装置Ｂは転送レートを４Ｇｂｙｔｅに変更することになり、両者の転送レートが４Ｇｂｙｔｅでリンクアップする。この場合、通信装置Ａと通信装置Ｂは８ＧＢｙｔｅの転送レートで接続可能にも関わらず、４ＧＢｙｔｅの転送レートで接続されることとなる。すなわち、上記の場合には、通信装置Ａと通信装置Ｂとは最大の転送レートでのリンクを確立できない。
【０００６】
特許文献２に記載の手法は、低い転送レートから徐々に転送レートを上げていくことで、最大の転送レートでのリンクを確立を試みるものである。しかしながら、特許文献２に記載の手法においても、ネゴシエーション用の信号の受信に失敗すると、最大の転送レートでのリンクを確立できない可能性がある。
【０００７】
本発明の目的は、上述した課題を解決する通信装置、リンク制御方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の態様によれば、通信装置は、通信装置であって、相手装置とのファイバーチャネル通信のリンクアップ後に、前記相手装置において設定可能な１または複数の転送レートを示すレート通知を前記相手装置から受信する通知受信部と、前記レート通知が示す１または複数の転送レートと、前記通信装置において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定するレート特定部とを備える。
【０００９】
本発明の第２の態様によれば、リンク制御方法は、通信装置のリンク制御方法であって、前記通信装置と相手装置とのファイバーチャネル通信のリンクアップ後に、前記相手装置において設定可能な１または複数の転送レートを示すレート通知を前記相手装置から受信するステップと、前記レート通知が示す１または複数の転送レートと、前記通信装置において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定するステップとを備える。
【００１０】
本発明の第３の態様によれば、プログラムは、通信装置のコンピュータを、相手装置とのファイバーチャネル通信のリンクアップ後に、前記相手装置において設定可能な１または複数の転送レートを示すレート通知を前記相手装置から受信する通知受信部、前記レート通知が示す１または複数の転送レートと、前記通信装置において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定するレート特定部として機能させる。
【発明の効果】
【００１１】
上記態様のうち少なくとも１つの態様によれば、通信装置は、利用可能な最大の転送レートを特定することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係るファイバーチャネルシステムの構成を示す概略図である。
【図２】第１の実施形態に係る通信装置の構成を示すブロック図である。
【図３】第１の実施形態に係る通信装置の接続処理を示すフローチャートである。
【図４】通信装置の基本構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１３】
図１は、第１の実施形態に係るファイバーチャネルシステムの構成を示す概略図である。
ファイバーチャネルシステム１は、光ファイバーケーブルＣで接続された２つの通信装置１００を備える。すなわち、第１の実施形態に係るファイバーチャネルシステム１のトポロジーは、ＦＣ−Ｐ２Ｐ（Fibre Channel Point-to-Point）である。なお、他の実施形態に係るファイバーチャネルシステム１のトポロジーは、ＦＣ−ＡＬ（Fibre Channel Arbitrated Loop）またはファブリックであってよい。
【００１４】
図２は、第１の実施形態に係る通信装置の構成を示すブロック図である。
通信装置１００は、プロセッサ１１０、ＦＣ＿ＬＳＩ１２０（Fibre Channel Large Scale Integrated Circuit）、メインメモリ１３０、ストレージ１４０、入出力インタフェース１５０、ＳＦＰ１６０（Small Form Factor Pluggable）を備える。ＦＣ＿ＬＳＩ１２０は、ファイバーチャネル通信を実現するためのトランシーバ回路である。ＳＦＰ１６０は、光ファイバーケーブルＣを通信装置１００に接続するための通信インタフェースである。
【００１５】
ストレージ１４０には、プロセッサ１１０によってＦＣ＿ＬＳＩ１２０を制御するためのプログラムが記憶されている。プロセッサ１１０は、プログラムをストレージ１４０から読み出してメインメモリ１３０に展開し、当該プログラムに従ってＦＣ＿ＬＳＩ１２０を制御するための処理を実行する。
プログラムは、通信装置１００に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ１４０に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、通信装置１００は、上記構成に加えて、または上記構成に代えてＰＬＤ（Programmable Logic Device）などのカスタムＬＳＩを備えてもよい。ＰＬＤの例としては、ＰＡＬ(Programmable Array Logic)、ＧＡＬ(Generic Array Logic)、ＣＰＬＤ(Complex Programmable Logic Device)、ＦＰＧＡ（Field Programmable Gate Array）が挙げられる。この場合、プロセッサ１１０によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【００１６】
ストレージ１４０の例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、半導体メモリ等が挙げられる。ストレージ１４０は、通信装置１００のバスに直接接続された内部メディアであってもよいし、入出力インタフェース１５０または通信回線を介して通信装置１００に接続される外部メディアであってもよい。また、このプログラムが通信回線によって通信装置１００に配信される場合、配信を受けた通信装置１００が当該プログラムをメインメモリ１３０に展開し、上記処理を実行してもよい。ストレージ１４０は、一時的でない有形の記憶媒体の一例である。
【００１７】
また、当該プログラムは、通信装置１００に実行させる機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、通信装置１００に実行させる機能をストレージ１４０に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００１８】
プロセッサ１１０は、プログラムを実行することで、リンク部１１１、ログイン部１１２、レート判定部１１３、通知送信部１１４、通知受信部１１５、レート特定部１１６、初期化部１１７、マッピング部１１８として機能する。
【００１９】
リンク部１１１は、ファイバーチャネル通信において規定されたリンクの確立制御を実行する。すなわち、リンク部１１１は、ＳＦＰ１６０に光ファイバーケーブルＣが接続されたときに、ＦＣ−１層のオーダードセットによって、接続先の通信装置１００（以下、相手装置という）との同期、速度ネゴシエーション、およびリンクの初期化を行う。
【００２０】
ログイン部１１２は、リンク部１１１によるリンクの確立後、ファイバーチャネル通信において規定されたログイン制御を実行する。すなわち、ログイン部１１２は、ＦＣ−２層のリンクサービスであるＦＬＯＧＩ（Fabric Login）およびＰＬＯＧＩ（Port Login）を行う。
【００２１】
レート判定部１１３は、ＦＣ＿ＬＳＩ１２０に設定可能な１または複数の転送レートおよびＳＦＰ１６０に設定可能な１または複数の転送レートに基づいて、通信装置１００に設定可能な１または複数の転送レートを判定する。例えば、レート判定部１１３は、ＦＣ＿ＬＳＩ１２０に設定可能な１または複数の転送レートおよびＳＦＰ１６０に設定可能な１または複数の転送レートの共通項を、通信装置１００に設定可能な１または複数の転送レートとして判定する。
【００２２】
通知送信部１１４は、レート判定部１１３が判定した１または複数の転送レートを示すレート通知を、ＦＣ−２層のリンクサービス（以下、通知リンクサービスという）によって、相手装置に送信する。
通知受信部１１５は、通知リンクサービスによって、相手装置からレート通知を受信する。
【００２３】
レート特定部１１６は、通知受信部１１５が受信したレート通知が示す１または複数の転送レートと、レート判定部１１３が判定した１または複数の転送レートとに基づいて、相手装置との通信に利用可能な最大の転送レートを特定する。すなわち、例えば、レート特定部１１６は、通知受信部１１５が受信したレート通知が示す１または複数の転送レートと、レート判定部１１３が判定した１または複数の転送レートとの共通項のうち最大の転送レートを、相手装置との通信に利用可能な最大の転送レートと特定する。
【００２４】
初期化部１１７は、レート特定部１１６が特定した転送レートに基づいて相手装置とのファイバーチャネル通信のリンクを初期化する。すなわち初期化部１１７は、ＦＣ−１層のオーダードセットによって、特定した転送レートによる相手装置との速度ネゴシエーション、およびリンクの初期化を行う。
【００２５】
マッピング部１１８は、ＦＣ−４層のＰＲＬＩ（Process Login）によって、上位プロトコルに係るパラメータの情報を相手装置に通知する。
【００２６】
図３は、第１の実施形態に係る通信装置の接続処理を示すフローチャートである。
ＳＦＰ１６０に光ファイバーケーブルＣが接続されると、レート判定部１１３は、通信装置１００に設定可能な１または複数の転送レートを判定する（ステップＳ１）。次に、通知送信部１１４は、レート判定部１１３が判定した１または複数の転送レートを示すレート通知を送信するための通知リンクサービスを生成する（ステップＳ２）。
【００２７】
リンク部１１１は、ＦＣ−１層のオーダードセットによって、相手装置の同期、速度ネゴシエーション、およびリンクの初期化を行う（ステップＳ３）。この時点では、リンク部１１１は、相手装置との通信に利用可能な最大の転送レートが未知であるため、オートネゴシエーションにより、転送レートを決定する。ログイン部１１２は、ステップＳ３によるリンクの確立後、ＦＬＯＧＩおよびＰＬＯＧＩを行う（ステップＳ４）。
【００２８】
通知送信部１１４は、ステップＳ４によるＰＬＯＧＩの終了後、ステップＳ２で生成した通知リンクサービスによりレート通知を相手装置に送信する。また通知受信部１１５は、相手装置から通知リンクサービスによりレート通知を受信する（ステップＳ５）。レート特定部１１６は、ステップＳ５で相手装置から受信したレート通知が示す１または複数の転送レートと、ステップＳ１で判定した１または複数の転送レートとに基づいて、相手装置との通信に利用可能な最大の転送レートを特定する（ステップＳ６）。レート特定部１１６は、現在のリンクにおいて設定された転送レートが、特定した最大の転送レートと一致するか否かを判定する（ステップＳ７）。
【００２９】
現在の転送レートとステップＳ６で特定した最大の転送レートとが異なる場合（ステップＳ７：ＮＯ）、初期化部１１７は、ＦＣ−１層のオーダードセットによって、ステップＳ６で特定した最大の転送レートに基づく速度ネゴシエーションを行い、リンクを初期化する（ステップＳ８）。そして、通信装置１００は、処理をステップＳ４に戻す。
【００３０】
他方、現在の転送レートとステップＳ６で特定した最大の転送レートとが一致する場合（ステップＳ７：ＹＥＳ）、マッピング部１１８は、ＦＣ−４層のＰＲＬＩを実行する（ステップＳ９）。これにより、通信装置１００は、接続処理を終了する。
【００３１】
このように、第１の実施形態に係る通信装置１００は、相手装置とのリンクアップ後に、相手装置からレート通知を受信し、レート通知と通信装置１００において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定する。これにより、通信装置１００は、利用可能な最大の転送レートを特定することができる。
【００３２】
また、第１の実施形態に係る通信装置１００は、特定した転送レートによって相手装置とのリンクを初期化する。これにより、通信装置１００は、利用可能な最大の転送レートでのリンクを確立することができる。なお、他の実施形態においては、これに限られない。例えば、他の実施形態に係る通信装置１００は、最大の転送レートでの再初期化を行わずに、利用可能な最大の転送レートを利用者に通知してもよい。また他の実施形態に係る通信装置１００は、リンクの転送レートが利用可能な最大の転送レートであるか否かを利用者に通知してもよい。
【００３３】
また、第１の実施形態に係る通信装置１００は、ファイバーチャネル通信のＰＲＬＩの実施前に、最大の転送レートによってリンクを初期化する。ＰＲＬＩの実施後にリンクを初期化する場合、双方の通信装置１００がＳＣＳＩ（Small Computer System Interface）コマンドを発行することによりパス認識してしまう可能性がある。この場合、その後のリンクの再初期化によるリンクダウンで、双方の通信装置１００が一時的にパス消失状態になる可能性がある。そのため、第１の実施形態によれば、ＰＲＬＩの実施前にリンクを初期化することで、パス消失と認識されることを防ぐことができる。
【００３４】
また、第１の実施形態に係る通信装置１００は、ファイバーチャネル通信のリンクサービスによってレート通知を送受信する。なお、他の実施形態においては、これに限られない。例えば他の実施形態に係る通信装置１００は、レート通知を搭載した新規のプリミティブによって、レート通知を送受信してもよい。
【００３５】
また、第１の実施形態に係る通信装置１００は、ＰＬＯＧＩの実施の後に通知リンクサービスを用いてレート通知の送受信を行う。なお、他の実施形態においては、これに限られない。例えば、他の実施形態に係る通信装置１００は、通知リンクサービスを生成せず、ＦＬＯＧＩまたはＰＬＯＧＩのペイロード内のvendor specific領域にレート通知を設定することで、レート通知を送受信してもよい。
【００３６】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
【００３７】
《基本構成》
図４は、通信装置の基本構成を示す概略ブロック図である。
上述した実施形態では、通信装置の一実施形態として図２に示す構成について説明したが、通信装置の基本構成は、図４に示すとおりである。
すなわち、通信装置３００は、通知受信部３０１およびレート特定部３０２を基本構成とする。
【００３８】
通知受信部３０１は、相手装置とのファイバーチャネル通信のリンクアップ後に、相手装置において設定可能な１または複数の転送レートを示すレート通知を相手装置から受信する。
レート特定部３０２は、レート通知が示す１または複数の転送レートと、通信装置３００において設定可能な１または複数の転送レートとにおいて共通する最大の転送レートを特定する。
これにより、通信装置３００は、利用可能な最大の転送レートを特定することができる。
【符号の説明】
【００３９】
１  ファイバーチャネルシステム
１００  通信装置
１１０  プロセッサ
１２０  ＦＣ＿ＬＳＩ
１３０  メインメモリ
１４０  ストレージ
１５０  入出力インタフェース
１６０  ＳＦＰ
１１１  リンク部
１１２  ログイン部
１１３  レート判定部
１１４  通知送信部
１１５  通知受信部
１１６  レート特定部
１１７  初期化部
１１８  マッピング部
Ｃ  光ファイバーケーブル
【図１】
2020102764.tif 000003
【図２】
2020102764.tif 000004
【図３】
2020102764.tif 000005
【図４】
2020102764.tif 000006