(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-10
(54)【発明の名称】スイッチ間の情報同期方法及び装置
(51)【国際特許分類】
H04L 12/28 20060101AFI20240501BHJP
G06F 13/28 20060101ALI20240501BHJP
H04L 67/1097 20220101ALI20240501BHJP
G06F 13/10 20060101ALI20240501BHJP
【FI】
H04L12/28 200Z
G06F13/28 310Z
H04L67/1097
G06F13/10 340B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023569876
(86)(22)【出願日】2021-10-28
(85)【翻訳文提出日】2023-11-10
(86)【国際出願番号】 CN2021127193
(87)【国際公開番号】W WO2023070475
(87)【国際公開日】2023-05-04
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】林 長望
(72)【発明者】
【氏名】陳 夢▲シャオ▼
(72)【発明者】
【氏名】李 昊
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033BA04
5K033CB15
5K033CC02
5K033DB18
(57)【要約】
本発明は、スイッチ間の情報同期方法及び装置を提供する。本発明では、既存のBGPを拡張して、アクセスデバイスのIPサービスゾーン構成情報、及び/又は、アクセスデバイスのデバイス発見情報、及び/又は、スイッチがデフォルトのIPサービスゾーンをサポートするか否かの情報など、SANにおけるスイッチ間で同期すべき対象データを自動的に同期させることにより、SANにおける互いに同期する必要がある全てのスイッチ間で、新たに接続されたアクセスデバイス、新たに追加や変更されたIPサービスゾーン構成情報、デフォルトのIPサービスゾーン機能を有効又は無効にするスイッチなど、互いの変化をタイムリーに感知でき、関連する構成をタイムリーにインテリジェントに調整し、プラグアンドプレイと迅速な障害検知を実現し、最終的に、SANにおけるイーサネットのパケット損失なしと高スループット伝送の実現を支援することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ストレージ・エリア・ネットワーク(SAN)に適用されるスイッチ間の情報同期方法であって、SANにおけるスイッチに適用され、
同期すべき対象データを取得するステップと、
指定されたスイッチとの間で確立されたBGPセッションを介して、前記対象データが付加されているBGPルートを送信して、前記スイッチと同期する必要がある各対象スイッチ間で前記対象データを同期させるステップと、を含む、
ことを特徴とするスイッチ間の情報同期方法。
【請求項2】
前記対象データは少なくとも、
アクセスデバイスのIPサービスゾーン構成情報、及び/又は、アクセスデバイスのデバイス発見情報、及び/又は、前記スイッチがデフォルトのIPサービスゾーンをサポートするか否かの情報を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記IPサービスゾーン構成情報は少なくとも、
前記スイッチのBGPルート識別子(Route ID)と、IPサービスゾーン識別子と、前記IPサービスゾーン構成情報が属するアクセスデバイスのIPアドレスとを含み、前記IPサービスゾーン識別子は、デフォルトのIPサービスゾーンとは異なる、自己定義されたIPサービスゾーンの識別子である、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記アクセスデバイスのデバイス発見情報は少なくとも、
アクセスデバイスのMACアドレスと、前記スイッチに接続された、アクセスデバイスのポートのポート識別子と、前記スイッチのBGPルート識別子(Route ID)とを含む、
ことを特徴とする請求項2に記載の方法。
【請求項5】
前記アクセスデバイスのデバイス発見情報は、アクセスデバイスのデバイス属性情報をさらに含み、
前記アクセスデバイスのデバイス属性情報は少なくとも、アクセスデバイスのIPアドレスと、アクセスデバイスの状態情報と、アクセスデバイスのロールタイプとを含み、
前記IPアドレスは、IPv4アドレス又はIPv6アドレスであり、
前記状態情報は少なくとも、オンライン情報又はオフライン情報を含み、
前記ロールタイプは少なくとも、ストレージシステム及び/又はホストを含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記スイッチがデフォルトのIPサービスゾーンをサポートするか否かの情報は少なくとも、
前記スイッチのBGPルート識別子(Route ID)を含み、又は、
前記スイッチのBGPルート識別子(Route ID)とイネーブル指示値を含み、
前記イネーブル指示値が第1の値である場合、前記スイッチがデフォルトのIPサービスゾーンをサポートすることを表し、前記イネーブル指示値が第2の値である場合、前記スイッチがデフォルトのIPサービスゾーンをサポートしないことを表す、
ことを特徴とする請求項2に記載の方法。
【請求項7】
前記指定されたスイッチは、前記対象スイッチの少なくとも1つであり、又は、
前記指定されたスイッチは、前記スイッチ及び前記対象スイッチ以外の少なくとも1つの非対象スイッチである、
ことを特徴とする請求項1に記載の方法。
【請求項8】
指定されたスイッチとの間で確立されたBGPセッションを介して、他のスイッチから送信されたBGPルートを受信するとき、受信されたBGPルートに基づいて、対応するルート構成情報エントリをローカルに新たに追加又は更新するステップをさらに含み、
前記ルート構成情報エントリは、受信されたBGPルートに付加されている同期すべきデータに関連する、
ことを特徴とする請求項1に記載の方法。
【請求項9】
異なるBGPセッションを介して、同じ同期すべきデータが付加されているBGPルートを受信するとき、ルート優先方式に従って最適ルートを決定するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項10】
前記BGPルートを記憶するステップと、
記憶された少なくとも1つのBGPルートを取り消す必要がある場合、記憶された当該取り消す必要がある少なくとも1つのBGPルートを削除し、指定されたスイッチとの間で確立されたBGPセッションを介して通知を送信して、前記対象スイッチに、前記取り消す必要がある少なくとも1つのBGPルートと当該少なくとも1つのBGPルートに対応するルート構成情報エントリとを削除するように指示するステップと、をさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項11】
指定されたスイッチとの間で確立されたBGPセッションを介して、取り消すべき少なくとも1つのBGPルートを受信した場合、記憶された当該少なくとも1つのBGPルートと当該少なくとも1つのBGPルートに対応するルート構成情報エントリとを削除するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項12】
前記BGPセッションは、
内部ボーダーゲートウェイプロトコル(IBGP)セッション、又は外部ボーダーゲートウェイプロトコル(EBGP)セッションである、
ことを特徴とする請求項1に記載の方法。
【請求項13】
前記BGPルートは、BGP UpdateパケットのMP_REACH_NLRI属性に付加され、前記MP_REACH_NLRI属性におけるアドレスファミリ識別子(AFI)と後続アドレスファミリ識別子(SAFI)は、予め指定されており、定義済みのAFI値とSAFI値と競合しない、
ことを特徴とする請求項1~9のいずれか一項に記載の方法。
【請求項14】
取り消す必要がある少なくとも1つのBGPルートは、BGP UpdateパケットのMP_UNREACH_NLRI属性に付加され、前記MP_UNREACH_NLRI属性におけるアドレスファミリ識別子(AFI)と後続アドレスファミリ識別子(SAFI)は、予め指定されており、定義済みのAFI値とSAFI値と競合しない、
ことを特徴とする請求項10又は11に記載の方法。
【請求項15】
電子デバイスであって、プロセッサと、機械可読記憶媒体とを含み、
前記機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、
前記プロセッサは、請求項1~14のいずれか一項に記載の方法を実施するように機械実行可能命令を実行するために用いられる、ことを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク通信技術の分野に関し、特に、ストレージ・エリア・ネットワーク(SAN:Storage Area Network)に適用されるスイッチ間の情報同期方法及び装置に関する。
【背景技術】
【0002】
SANにおいて、スイッチは、ネットワークのコアとして、ホスト(Initiator)及び/又はストレージデバイス(Target)などに接続することができる。ここで、スイッチに接続されたホスト及び/又はストレージデバイスなどのデバイスは、アクセスデバイスと呼ばれ、スイッチはアクセススイッチと呼ばれる。
【0003】
現在、「NVMe over RoCEv2ネットワーク制御最適化技術要件とテスト仕様」には、アクセスデバイスとスイッチの間のインタラクションプロセス及びメッセージパケットが規定されており、スイッチ間で情報を同期させる方法が規定されていない。ここで、NVMeはNon-Volatile Memory express(不揮発性メモリ・ホスト・コントローラ・インタフェース規格)の略で、RoCEv2は、RDMA(Remote Direct Memory Access) over Converged Ethernet version 2の略である。しかし、具体的な実現では、スイッチ間で情報を同期させる必要がある。例えば、スイッチs1が新たにストレージデバイスa1に接続されたとき、スイッチs2に接続されたホストa2は、当該ストレージデバイスa1とデータのやり取りをするために、当該ストレージデバイスa1がオンラインになることを知る必要がある。これに基づいて、ストレージデバイスa1がオンラインになったとき、スイッチs1は、ストレージデバイスa1がオンラインになったという情報をタイムリーにスイッチs2に同期させる必要があり、そうすると、スイッチs2は、この情報をホストa2に転送できる。しかし、現在、ネットワーク制御最適化技術要件とテスト仕様には、スイッチ間の情報同期方法が規定されていない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施例は、SANにおけるスイッチ間の情報同期を実現するために、スイッチ間の情報同期方法及び電子デバイスを提供する。
【課題を解決するための手段】
【0005】
本発明の実施例は、ストレージ・エリア・ネットワーク(SAN)に適用されるスイッチ間の情報同期方法を提供し、当該方法は、
同期すべき対象データを取得するステップと、
指定されたスイッチとの間で確立されたBGPセッションを介して、前記対象データが付加されているBGPルートを送信して、前記スイッチと同期する必要がある各対象スイッチ間で前記対象データを同期させるステップと、を含む。
【0006】
本発明の実施例はさらに、電子デバイスを提供し、当該電子デバイスは、プロセッサと、機械可読記憶媒体とを含み、
前記機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、
前記プロセッサは、上記方法のステップを実施するように機械実行可能命令を実行するために用いられる。
【発明の効果】
【0007】
以上の技術案から分かるように、本発明の実施例では、アクセスデバイスのIPサービスゾーン構成情報、及び/又は、アクセスデバイスのデバイス発見情報、及び/又は、スイッチがデフォルトのIPサービスゾーンをサポートするか否かの情報など、SANにおけるスイッチ間で同期すべき対象データを自動的に同期させることにより、SANにおける互いに同期する必要がある全てのスイッチ間で、新たに接続されたアクセスデバイス、新たに追加や変更されたIPサービスゾーン構成情報、デフォルトのIPサービスゾーン機能を有効又は無効にするスイッチなど、互いの変化をタイムリーに感知でき、関連する構成をタイムリーにインテリジェントに調整し、プラグアンドプレイと迅速な障害検知を実現し、最終的に、SANにおけるイーサネットのパケット損失なしと高スループット伝送の実現を支援することができる。
【0008】
さらに、本発明の実施例では、既存のBGPを拡張して、SANにおけるスイッチをBGPルートの形で同期させることにより、SANへの変更が少なく、ベンダ間の相互運用性と標準化の実現に有利である。
【図面の簡単な説明】
【0009】
ここで説明される添付図面は、明細書に組み込まれ、本明細書の一部を構成し、本発明に適合する実施例を示し、本明細書と併せて本発明の原理を説明する。
【0010】
【
図1】本発明の実施例により提供される方法のフローチャートである。
【
図2】本発明の実施例により提供されるSANの概略図である。
【
図3】本発明の実施例により提供される第1のネットワーキングの概略図である。
【
図4】本発明の実施例により提供される第2のネットワーキングの概略図である。
【
図5】本発明の実施例により提供される第3のネットワーキングの概略図である。
【
図6】本発明の実施例により提供される第4のネットワーキングの概略図である。
【
図7】本発明の実施例により提供される第5のネットワーキングの概略図である。
【
図8】本発明の実施例により提供される第6のネットワーキングの概略図である。
【
図9】本発明の実施例により提供されるIPサービスゾーン構成情報の概略図である。
【
図10】本発明の実施例により提供されるアクセスデバイスのデバイス発見情報の概略図である。
【
図11】本発明の実施例により提供されるデフォルトのIPサービスゾーン情報の概略図である。
【
図12】本発明の実施例により提供される実施例のネットワーキングの概略図である。
【
図13】本発明の実施例により提供される装置の構造図である。
【
図14】本発明の実施例により提供される電子デバイスの構造図である。
【発明を実施するための形態】
【0011】
本明細書では、添付図面に示す実施例について詳細に説明する。以下の説明が添付図面に言及している場合、異なる図面における同様の数字は、特に断らない限り、同じ又は類似の要素を指す。以下の実施例に記載される実施形態は、本発明と一致する全ての実施形態を表すものではない。むしろ、それらは、添付の特許請求の範囲に詳述されているように、本発明のいくつかの態様と一致する装置及び方法の例に過ぎない。
【0012】
本発明において使用される用語は、特定の実施例を説明するためのものであり、本発明を限定することを意図するものではない。本発明の実施例及び添付の特許請求の範囲において使用される単数形の「1つ」、「前記」及び「当該」は、文脈が他の意味を明確に示さない限り、複数形も含むことも意図される。
【0013】
当業者が本発明の実施例により提供される技術案をよりよく理解し、本発明の実施例の上述の目的、特徴及び利点をより理解しやすくするために、以下、添付図面を合わせて本発明の実施例における技術案をさらに詳細に説明する。
【0014】
図1は、本発明の実施例により提供される方法のフローチャートである。実施例として、当該方法はSANにおけるスイッチに適用される。オプションで、本方法は、
図2に示すSAN内のNVMe over RoCEv2ネットワーク内の任意のスイッチに適用される。ここで、NVMe over RoCEv2ネットワークは、イーサネットTCP/IPプロトコルのUDP層に基づいて実装される。説明を容易にするために、
図1に示す方法が適用されるスイッチを、
図2に示すスイッチの1つ、すなわちスイッチ201と記される。
【0015】
図1に示すように、当該方法は、以下のステップを含み得る。
【0016】
ステップ101において、スイッチ201が同期すべき対象データを取得する。
【0017】
SANにおいて、同期すべき対象データは、SAN内のアクセスデバイスのIPサービスゾーン構成情報、及び/又は、アクセスデバイスのデバイス発見情報、及び/又は、スイッチ201がデフォルトのIPサービスゾーンをサポートするか否かの情報であってもよい。
【0018】
例えば、スイッチ201に少なくとも1つの自己定義されたIPサービスゾーンに対応するIPサービスゾーン構成情報が外部から追加された場合、又は、スイッチ201に追加された少なくとも1つの自己定義されたIPサービスゾーンに対応するIPサービスゾーン構成情報が変更された場合、当該新たに追加されたIPサービスゾーン構成情報や変更されたIPサービスゾーン構成情報を、スイッチ210と同期する必要があるSAN内の各対象スイッチ(例えば、
図2に示すスイッチ202~スイッチn)に同期させる必要がある。このとき、当該新たに追加されたIPサービスゾーン構成情報や変更されたIPサービスゾーン構成情報等を、上記同期すべき対象データとして決定してもよい。なお、IPサービスゾーン構成情報の具体的な内容については、本実施例は特に限定されず、以下に例を挙げて説明し、ここでは詳細な説明を省略する。
【0019】
別の例として、本実施例では、スイッチ201がホスト及び/又はストレージデバイスなどのアクセスデバイスに新たに接続されると、新たに接続されたアクセスデバイスは、アクセスメッセージをスイッチ201に送信する。当該アクセスメッセージは、例えば、リンク層発見プロトコル(LLDP:Link Layer Discovery Protocol)パケットであってもよい。スイッチ201は、LLDPパケットなどの上記アクセスメッセージに基づいて、ローカルに新たに接続されたアクセスデバイスのデバイス発見情報を新たに追加する。スイッチ201は、当該デバイス発見情報を、スイッチ210と同期する必要があるSAN内の各対象スイッチに同期させる必要があり、このとき、上記のデバイス発見情報を上記同期すべき対象データとして決定してもよい。なお、デバイス発見情報の具体的な内容については、本実施例は特に限定されず、以下に例を挙げて説明し、ここでは詳細な説明を省略する。
【0020】
別の例として、本実施例では、スイッチ201がデフォルトのIPサービスゾーン機能を有効又は無効にする場合、スイッチ201は、デフォルトのIPサービスゾーン機能を有効又は無効にする情報を、スイッチ210と同期する必要があるSAN内の各対象スイッチに同期させる必要があり、このとき、スイッチ201がデフォルトのIPサービスゾーン機能を有効又は無効にする旨の情報(すなわち、スイッチ201がデフォルトのIPサービスゾーンをサポートするか否かの情報)を、上記同期すべき対象データとして決定してもよい。なお、スイッチ201がデフォルトのIPサービスゾーンをサポートするか否かの情報の具体的な内容については、本実施例は特に限定されず、以下に例を挙げて説明し、ここでは詳細な説明を省略する。
【0021】
なお、上記は、同期すべき対象データの決定方法を説明するための一例に過ぎず、上記に示した同期すべき対象データを決定する例は、同時に現れてもよく、同時に現れなくてもよく、本実施例は特に限定しない。また、本実施例において、上記対象データの具体的な内容は一例に過ぎず、限定するためのものではない。本実施例では、SANにおける実際のサービスのニーズに応じて設定してもよい。本実施例では、同期すべき対象データがSANにおけるスイッチ間で同期する必要があるデータであることに着目しただけであり、同期すべき対象データの具体的な形式や内容については特に限定されない。
【0022】
S102において、スイッチ201が、指定されたスイッチとの間で確立されたBGP(Border Gateway Protocol)セッションを介して、対象データが付加されているBGPルートを送信して、スイッチ201と同期する必要がある各対象スイッチ間で上記対象データを同期させる。
【0023】
BGPは、上記のIPサービスゾーン構成情報、アクセスデバイスのデバイス発見情報、スイッチ201がデフォルトのIPサービスゾーンをサポートするか否かの情報など、SANにおけるスイッチ間で同期すべきデータをサポートしていない。本実施例では、既存のBGPを拡張することで、拡張されたBGPがSANにおけるスイッチ間で同期すべきデータをサポートする。スイッチ201は、拡張されたBGPに基づいて、対象データが付加されているBGPルート(拡張されたBGPルートとも呼ばれる)を生成してもよい。
【0024】
その後、ステップ102で説明したように、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信して、スイッチ201と同期する必要がある各対象スイッチ間で上記対象データを同期させる。最終的に、本実施例におけるスイッチ間で同期する必要があるデータは、拡張されたBGPルートを使用して実現される。
【0025】
ステップ102における指定されたスイッチについては、上記対象スイッチの少なくとも1つであってもよく、上記全ての対象スイッチ以外の非対象スイッチの少なくとも1つであってもよく、本実施例は特に限定されず、以下に例を挙げて説明し、ここでは詳細な説明を省略する。
【0026】
ステップ102におけるBGPセッションは、内部ボーダーゲートウェイプロトコル(IBGP:Internal Border Gateway Protocol)セッションであってもよく、外部ボーダーゲートウェイプロトコル(EBGP:External Border Gateway Protocol)セッションであってもよい。以下に例を挙げて説明し、ここでは詳細な説明を省略する。
【0027】
【0028】
図1に示すフローによって、アクセスデバイスのIPサービスゾーン構成情報、及び/又は、アクセスデバイスのデバイス発見情報、及び/又は、スイッチがデフォルトのIPサービスゾーンをサポートするか否かの情報など、SANにおけるスイッチ間で同期すべき対象データを自動的に同期させることにより、SANにおける互いに同期する必要がある全てのスイッチ間で、新たに接続されたアクセスデバイス、新たに追加や変更されたIPサービスゾーン構成情報、デフォルトのIPサービスゾーン機能を有効又は無効にするスイッチなど、互いの変化をタイムリーに感知でき、関連する構成をタイムリーにインテリジェントに調整し、プラグアンドプレイと迅速な障害検知を実現し、最終的に、SANにおけるイーサネットのパケット損失なしと高スループット伝送の実現を支援することができる。
【0029】
さらに、本実施例では、既存のBGPを拡張して、SANにおけるスイッチをBGPルートの形で同期させることにより、SANへの変更が少なく、ベンダ間の相互運用性と標準化の実現に有利である。
【0030】
以下、まずネットワーキングを例として、上記ステップ102、即ち、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信し、スイッチ201と同期する必要がある各対象スイッチ間で上記対象データを同期させることについて説明する。
【0031】
実施例1:
図3は、本発明の実施例により提供される第1のネットワーキングの概略図である。
図3に示すネットワーキングは比較的簡単である。
図3に示すように、スイッチ201と同期する必要がある各対象スイッチがそれぞれスイッチ202~スイッチ204とすると、スイッチ201~スイッチ204の2つずつの間でIBGPセッションが確立される。
【0032】
これに基づいて、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、スイッチ201が、スイッチ202~スイッチ204の各スイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することを含み得る。最終的に、スイッチ201と同期する必要があるスイッチ202~スイッチ204間での上記対象データの同期が実現される。
【0033】
オプションで、本実施例では、任意の2つのスイッチ間でIBGPセッションを確立してBGPルートを送信してもよい。好ましくは、同じBGPルートがSAN内で繰り返し送信されることを避けるために、IBGP特性に従って、スイッチが受信したBGPルートの転送を禁止してもよい。
【0034】
ここまで、実施例1の説明は完了する。
【0035】
実施例2:本実施例では、スイッチ201及びスイッチ201と同期する必要がある各対象スイッチのうちの1つをリフレクタとし、残りを当該リフレクタのクライアントとしてもよい。
図4は、本発明の実施例により提供される第2のネットワーキングの概略図である。
図4に示すように、スイッチ201と同期する必要がある各対象スイッチがそれぞれスイッチ202~スイッチ204とする。本実施例では、スイッチ201~スイッチ204のうちの1つをリフレクタとし、残りのスイッチをクライアントとしてもよい。
【0036】
本実施例では、リフレクタと各クライアントとの間でIBGPセッションが確立され、クライアント間でIBGPセッションが確立されない。リフレクタは、各クライアントとの間で確立されたIBGPセッションを介して、生成又は受信したBGPルートを各クライアントに転送するが、クライアントは、リフレクタからのBGPルートを受信した後、受信されたBGPルートを転送しない。クライアントは、BGPルートを生成した後、リフレクタとの間で確立されたIBGPセッションを介して、リフレクタにBGPルートを送信し、リフレクタが受信したBGPルートを他のクライアントに転送する。
【0037】
スイッチ201をリフレクタとし、スイッチ202~スイッチ204をクライアントとする場合、本実施例では、リフレクタであるスイッチ201と各クライアントとの間でIBGPセッションが確立される。クライアントであるスイッチ202~スイッチ204の間ではIBGPセッションが確立されない。これに基づいて、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、リフレクタであるスイッチ201が、各クライアントとの間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートを各クライアントに送信することを含み得る。最終的に、スイッチ201と同期する必要があるスイッチ202~スイッチ204間で上記対象データの同期が実現される。ここで、クライアントであるスイッチ202~スイッチ204は、リフレクタであるスイッチ201から送信された上記対象データが付加されているBGPルートを受信した後、同じBGPルートがSAN内で繰り返し送信されることを避けるため、当該受信したBGPルートを転送しない。
【0038】
さらに、スイッチ202をリフレクタとし(スイッチ203、スイッチ204をリフレクタとするのと類似する)、スイッチ201、スイッチ203~スイッチ204をクライアントとする場合、本実施例では、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、クライアントであるスイッチ201が、リフレクタであるスイッチ202との間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートをリフレクタであるスイッチ202に送信することにより、スイッチ202が、上記対象データが付加されているBGPルートを受信した後、スイッチ203との間で確立されたIBGPセッションを介して、当該受信したBGPルートをスイッチ203に転送し、スイッチ204との間で確立されたIBGPセッションを介して、当該受信したBGPルートをスイッチ204に転送することを含み得る。最終的に、スイッチ201と同期する必要があるスイッチ202~スイッチ204間で上記対象データの同期が実現される。クライアントであるスイッチ203とスイッチ204は、リフレクタであるスイッチ202から送信された上記対象データが付加されているBGPルートを受信した後、同じBGPルートがSAN内で繰り返し送信されることを避けるため、当該受信したBGPルートを転送しない。
【0039】
ここまで、実施例2の説明は完了する。
【0040】
実施例3:本実施例では、スイッチ201及びスイッチ201と同期する必要がある各対象スイッチ以外の1つの非対象スイッチをリフレクタとし、スイッチ201及びスイッチ201と同期する必要がある各対象スイッチを当該リフレクタのクライアントとしてもよい。一例として、ここでの非対象スイッチは、非アクセススイッチ、すなわちホストやストレージデバイスなどのアクセスデバイスに接続されていないスイッチであってもよい。
【0041】
図5は、本発明の実施例により提供される第3のネットワーキングの概略図である。
図5に示すように、スイッチ201と同期する必要がある各対象スイッチがそれぞれスイッチ202~スイッチ204とする。本実施例では、1つの非アクセススイッチ(スイッチ205)をリフレクタとし、スイッチ201~スイッチ204をクライアントとしてもよい。
【0042】
本実施例では、リフレクタと各クライアントとの間でIBGPセッションが確立され、クライアント間でIBGPセッションが確立されない。リフレクタは、各クライアントとの間で確立されたIBGPセッションを介して、生成又は受信したBGPルートを各クライアントに転送するが、クライアントは、リフレクタからのBGPルートを受信した後、受信されたBGPルートを転送しない。クライアントは、BGPルートを生成した後、リフレクタとの間で確立されたIBGPセッションを介して、リフレクタにBGPルートを送信し、リフレクタが受信したBGPルートを他のクライアントに転送する。
【0043】
スイッチ205をリフレクタとし、スイッチ201~スイッチ204をクライアントとする場合、本実施例では、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、スイッチ201が、リフレクタであるスイッチ205との間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートをリフレクタであるスイッチ205に送信することにより、スイッチ205が、上記対象データが付加されているBGPルートを受信した後、スイッチ202との間で確立されたIBGPセッションを介して、当該受信したBGPルートをスイッチ202に転送し、スイッチ203との間で確立されたIBGPセッションを介して、当該受信したBGPルートをスイッチ203に転送し、スイッチ204との間で確立されたIBGPセッションを介して、当該受信したBGPルートをスイッチ204に転送することを含み得る。最終的に、スイッチ201と同期する必要があるスイッチ202~スイッチ204間で上記対象データの同期が実現される。クライアントであるスイッチ202~スイッチ204は、リフレクタであるスイッチ205から送信された上記対象データが付加されているBGPルートを受信した後、同じBGPルートがSAN内で繰り返し送信されることを避けるため、当該受信したBGPルートを転送しない。
【0044】
ここまで、実施例3の説明は完了する。
【0045】
実施例4:本実施例では、スイッチ201及びスイッチ201と同期する必要がある各対象スイッチのうちの2つ以上をリフレクタとし、残りを当該リフレクタのクライアントとしてもよい。
図6は、本発明の実施例により提供される第4のネットワーキングの概略図である。
図6に示すように、スイッチ201と同期する必要がある各対象スイッチがそれぞれスイッチ202~スイッチ204とする。本実施例では、スイッチ201~スイッチ204のスイッチのうちの2つ以上をリフレクタとし、残りのスイッチをクライアントとしてもよい。
【0046】
本実施例では、リフレクタ間でIBGPセッションが確立され、リフレクタとクライアントとの間でIBGPセッションが確立され、クライアント間でIBGPセッションが確立されない。リフレクタは、各クライアントとの間で確立されたIBGPセッションを介して、生成又は受信したBGPルートを各クライアントに転送するが、クライアントは、リフレクタからのBGPルートを受信した後、受信されたBGPルートを転送しない。クライアントは、BGPルートを生成した後、リフレクタとの間で確立されたIBGPセッションを介して、リフレクタにBGPルートを送信し、リフレクタが受信したBGPルートを他のクライアントに転送する。
【0047】
スイッチ201、スイッチ204をリフレクタとし、スイッチ202、スイッチ203をクライアントとする場合、本実施例では、スイッチ201とスイッチ204との間でIBGPセッションが確立され、スイッチ201及びスイッチ204のそれぞれと各クライアントとの間でIBGPセッションが確立される。スイッチ202とスイッチ203との間ではIBGPセッションが確立されない。
【0048】
これに基づいて、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、リフレクタであるスイッチ201が、リフレクタであるスイッチ204との間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートをリフレクタであるスイッチ204に送信し、リフレクタであるスイッチ201が、各クライアントとの間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートを各クライアントに送信することを含み得る。最終的に、スイッチ201と同期する必要があるスイッチ202~スイッチ204間で上記対象データの同期が実現される。クライアントであるスイッチ202及びスイッチ203は、リフレクタであるスイッチ201から送信された上記対象データが付加されているBGPルートを受信した後、同じBGPルートがSAN内で繰り返し送信されることを避けるため、当該受信したBGPルートを転送しない。
【0049】
オプションで、本実施例では、リフレクタであるスイッチ204が、上記対象データが付加されているBGPルートを受信した場合、冗長バックアップを実現するために、スイッチ204は、各クライアントとの間で確立されたIBGPセッションを介して、当該対象データが付加されているBGPルートを各クライアントに送信することにより、クライアントであるスイッチ202及びスイッチ203が、異なるBGPセッションを介して、同じBGPルート、すなわち上記対象データが付加されているBGPルートを受信した後、一方のBGPセッションが受信したBGPルートを最適ルートとして決定し、他方のBGPセッションが受信したBGPルートをバックアップして記録してもよい。
【0050】
その後、リフレクタであるスイッチ201に障害が発生し、クライアントであるスイッチ203とスイッチ201との間のIBGPセッションが切断されたと仮定すると、スイッチ203はスイッチ201から送信された全てのルートを削除するが、このときスイッチ203にはリフレクタであるスイッチ204から送信されたルートと同じルートが記録されているため、スイッチ203は当該記録されているBGPルートを用いて通信を行い、通信の信頼性を向上させることができる。
【0051】
さらに、スイッチ202及びスイッチ204をリフレクタとし、スイッチ201及びスイッチ203をクライアントとする場合、本実施例では、スイッチ202とスイッチ204との間でIBGPセッションが確立され、スイッチ202及びスイッチ204のそれぞれと各クライアントとの間でIBGPセッションが確立される。スイッチ201とスイッチ203との間ではIBGPセッションが確立されない。これに基づいて、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、ステップ601~ステップ602を含み得る。
【0052】
ステップ601において、クライアントであるスイッチ201が、リフレクタであるスイッチ202との間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートを送信することにより、スイッチ202が、上記対象データが付加されているBGPルートを受信すると、他のクライアントとの間で確立されたIBGPセッションを介して、当該対象データが付加されているBGPルートを他のクライアント、すなわちスイッチ203に送信する。
【0053】
ステップ602において、クライアントであるスイッチ201が、リフレクタであるスイッチ204との間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートを送信することにより、スイッチ204が、上記対象データが付加されているBGPルートを受信すると、他のクライアントとの間で確立されたIBGPセッションを介して、当該対象データが付加されているBGPルートを他のクライアント、すなわちスイッチ203に送信する。
【0054】
最終的に、スイッチ201と同期する必要があるスイッチ202~スイッチ204間で上記対象データの同期が実現される。
【0055】
なお、上述したように、最終的に、クライアントであるスイッチ203は、異なるBGPセッションを介して、同じBGPルート、すなわち上記対象データが付加されているBGPルートを受信する。クライアントであるスイッチ203が、異なるBGPセッションを介して、同じBGPルート、すなわち上記対象データが付加されているBGPルートを受信した後、一方のBGPセッションが受信したBGPルートを最適ルートとして決定し、他方のBGPセッションが受信したBGPルートをバックアップして記録する。その後、リフレクタであるスイッチ202に障害が発生し、クライアントであるスイッチ203とスイッチ202との間のIBGPセッションが切断されたと仮定すると、スイッチ203はスイッチ202から送信された全てのルートを削除するが、このときスイッチ203にはリフレクタであるスイッチ204から送信されたルートと同じルートが記録されているため、スイッチ203は当該記録されているBGPルートを用いて通信を行い、通信の信頼性を向上させることができる。
【0056】
本実施例では、クライアントは、リフレクタから送信された上記対象データが付加されているBGPルートを受信した後、同じBGPルートがSAN内で繰り返し送信されることを避けるため、当該受信したBGPルートを転送しない。
【0057】
ここまで、実施例4の説明は完了する。
【0058】
実施例5:本実施例では、スイッチ201及びスイッチ201と同期する必要がある各対象スイッチ以外の2つ以上の非対象スイッチをリフレクタとし、スイッチ201及びスイッチ201と同期する必要がある各対象スイッチを当該リフレクタのクライアントとしてもよい。一例として、ここでの非対象スイッチは、非アクセススイッチ、すなわちホストやストレージデバイスなどのアクセスデバイスに接続されていないスイッチであってもよい。
【0059】
図7は、本発明の実施例により提供される第5のネットワーキングの概略図である。
図7に示すように、スイッチ201と同期する必要がある各対象スイッチがそれぞれスイッチ202~スイッチ204とする。本実施例では、2つの非アクセススイッチ(スイッチ205及びスイッチ206)をリフレクタとし、スイッチ201~スイッチ204をクライアントとしてもよい。
【0060】
本実施例では、リフレクタと各クライアントとの間でIBGPセッションが確立され、リフレクタ間、クライアント間でIBGPセッションが確立されない。リフレクタは、各クライアントとの間で確立されたIBGPセッションを介して、生成又は受信したBGPルートを各クライアントに転送するが、クライアントは、リフレクタからのBGPルートを受信した後、受信されたBGPルートを転送しない。クライアントは、BGPルートを生成した後、リフレクタとの間で確立されたIBGPセッションを介して、リフレクタにBGPルートを送信し、リフレクタが受信したBGPルートを他のクライアントに転送する。
【0061】
図7に示すスイッチ205及びスイッチ206をリフレクタとし、スイッチ201~スイッチ204をクライアントとする場合、本実施例では、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、ステップ701~ステップ702を含み得る。
【0062】
ステップ701において、スイッチ201は、リフレクタであるスイッチ205との間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートをリフレクタであるスイッチ205に送信することにより、スイッチ205が、上記対象データが付加されているBGPルートを受信した後、スイッチ201以外の各クライアント、すなわちスイッチ202~スイッチ204との間で確立されたIBGPセッションを介して、当該受信したBGPルートを当該各クライアントに転送する。
【0063】
ステップ702において、スイッチ201は、リフレクタであるスイッチ206との間で確立されたIBGPセッションを介して、対象データが付加されているBGPルートをスイッチ206に送信することにより、スイッチ206が、上記対象データが付加されているBGPルートを受信した後、スイッチ201以外の各クライアント、すなわちスイッチ202~スイッチ204との間で確立されたIBGPセッションを介して、当該受信したBGPルートを当該各クライアントに転送する。
【0064】
最終的に、上記ステップ701~ステップ702により、スイッチ201と同期する必要があるスイッチ202~スイッチ204間で上記対象データの同期が実現される。なお、本実施例では、クライアントであるスイッチ202~スイッチ204は、リフレクタであるスイッチ205又はスイッチ206から送信された上記対象データが付加されているBGPルートを受信した後、同じBGPルートがSAN内で繰り返し送信されることを避けるために、当該受信したBGPルートを転送しない。
【0065】
また、本実施例では、実施例4と同様に、最終的に、クライアントであるスイッチ202~スイッチ204は、異なるBGPセッションを介して、同じBGPルート、すなわち上記対象データが付加されているBGPルートを受信する。クライアントであるスイッチ202~スイッチ204が、異なるBGPセッションを介して、同じBGPルート、すなわち上記対象データが付加されているBGPルートを受信した後、一方のBGPセッションが受信したBGPルートを最適ルートとして決定し、他方のBGPセッションが受信したBGPルートをバックアップして記録することにより、冗長バックアップを実現し、信頼性を向上させる。例えば、リフレクタであるスイッチ205に障害が発生し、クライアントであるスイッチ203とスイッチ205との間のIBGPセッションが切断されたと仮定すると、スイッチ203はスイッチ205から送信された全てのルートを削除するが、このときスイッチ203にはリフレクタであるスイッチ206から送信されたルートと同じルートが記録されているため、スイッチ203は当該記録されているBGPルートを用いて通信を行い、通信の信頼性を向上させることができる。
【0066】
ここまで、実施例5の説明は完了する。
【0067】
実施例6:本実施例は、EBGPセッションを例とする。
図8に示すように、本実施例では、スイッチ201と同期する必要がある各対象スイッチがそれぞれスイッチ202~スイッチ204とし、スイッチ201とスイッチ202との間でEBGPセッションが確立され、スイッチ201とスイッチ204との間でEBGPセッションが確立され、スイッチ202とスイッチ203との間でEBGPセッションが確立されてもよい。これに基づいて、上記ステップS102において、スイッチ201は、指定されたスイッチとの間で確立されたBGPセッションを介して、対象データが付加されているBGPルートを送信することは、ステップ801~ステップ802を含み得る。
【0068】
ステップ801において、スイッチ201は、スイッチ202との間で確立されたEBGPセッションを介して、対象データが付加されているBGPルートをスイッチ202に送信することにより、スイッチ202が、上記対象データが付加されているBGPルートを受信した後、スイッチ203との間で確立されたEBGPセッションを介して、当該受信したBGPルートをスイッチ203に転送する。
【0069】
ステップ802において、スイッチ201は、スイッチ204との間で確立されたEBGPセッションを介して、対象データが付加されているBGPルートをスイッチ204に送信する。
【0070】
最終的に、上記ステップ801~ステップ802により、スイッチ201と同期する必要があるスイッチ202~スイッチ204間で上記対象データの同期が実現される。
【0071】
ここまで、実施例6の説明は完了する。
【0072】
なお、本実施例では、拡張されたBGPに従ってスイッチ間で情報を同期させることを確保すればよく、具体的なネットワーキング形態は特に限定されない。上記実施例1~6で例示したネットワーキングはあくまで一例であり、限定するためのものではない。
【0073】
以下、上記ステップ202におけるBGPルートについて説明する。
【0074】
本実施例では、上記BGPルートは、BGP Updateパケットのマルチプロトコル到達可能NLRI(MP_REACH_NLRI)属性に付加される。
【0075】
一実施例として、MP_REACH_NLRI属性は少なくとも、アドレスファミリ識別子(AFI:Address Family Identifier)と後続アドレスファミリ識別子(SAFI:Subsequent Address Family Identifier)を含み得る。
【0076】
ここで、本実施例におけるAFIは、予め指定され、定義済みのAFI値とは異なってもよい。例えば、本実施例では、AFIは6000である。
【0077】
ここで、この実施例におけるSAFIは、予め指定され、定義済みのSAFI値とは異なってもよい。例えば、本実施例では、SAFIは254である。
【0078】
オプションで、本実施例では、上記BGPルートは、具体的に、MP_REACH_NLRI属性のNLRIに付加される。上述したように、BGPルートに付加される上記対象データは少なくとも、アクセスデバイスのIPサービスゾーン構成情報、及び/又は、アクセスデバイスのデバイス発見情報、及び/又は、上記スイッチ201がデフォルトのIPサービスゾーンをサポートするか否かの情報を含む。
【0079】
オプションで、
図9に示すように、IPサービスゾーン構成情報は少なくとも、スイッチ201のBGPルート識別子(Route ID)と、IPサービスゾーン識別子(Zone Name)と、IPサービスゾーン構成情報が属するアクセスデバイスのIPアドレス(IP Address)とを含む。ここで、IPサービスゾーン識別子は、自己定義されたIPサービスゾーンの識別子であり、デフォルトのIPサービスゾーンとは異なる。なお、本実施例では、IP Addressは、IPv4アドレスであってもよく、IPv6アドレスであってもよく、特に限定されない。
【0080】
オプションで、
図10に示すように、アクセスデバイスのデバイス発見情報は少なくとも、アクセスデバイスのMACアドレス(MAC address)と、スイッチ201に接続された、アクセスデバイスのポートのポート識別子(Port Name)と、スイッチ201のBGPルート識別子(Route ID)とを含む。オプションで、
図10に示すアクセスデバイスのデバイス発見情報は、Port Nameの長さ(ポート識別子の長さと記す)も含み得る。
【0081】
本実施例では、アクセスデバイスのデバイス発見情報は、アクセスデバイスのデバイス属性情報をさらに含む。
【0082】
オプションで、アクセスデバイスのデバイス属性情報は少なくとも、アクセスデバイスのIPアドレス(IPv4アドレス又はIPv6アドレス)と、アクセスデバイスの状態情報(少なくともオンライン情報又はオフライン情報を含む)と、アクセスデバイスのロールタイプ(少なくともストレージシステム及び/又はホストを含む)とを含む。本実施例では、アクセスデバイスのIPアドレス、アクセスデバイスの状態情報、アクセスデバイスのロールタイプは、それぞれTLVで表されてもよく、ここでは限定されない。
【0083】
オプションで、一例では、現在のBGPルートと以前に受信したBGPルートが同じルートであるかどうかを決定する場合、上記アクセスデバイスのMACアドレス、スイッチ201に接続された、アクセスデバイスのポートのポート識別子、及びスイッチ201のBGPルート識別子によって直接決定されてもよい。したがって、一実施例として、アクセスデバイスのMACアドレス、スイッチ201に接続された、アクセスデバイスのポートのポート識別子、及びスイッチ201のBGPルート識別子は、上記NLRIのプレフィックスの一部であると考えられる。
【0084】
本実施例では、上記スイッチ201がデフォルトのIPサービスゾーンをサポートするか否かの情報は少なくとも、
スイッチ201のBGPルート識別子(Route ID)を含み、又は、
スイッチ201のBGPルート識別子(Route ID)とイネーブル指示値(Enable)を含む。ここで、イネーブル指示値が第1の値である場合、スイッチ201がデフォルトのIPサービスゾーンをサポートすることを表し、前記イネーブル指示値が第2の値である場合、前記スイッチがデフォルトのIPサービスゾーンをサポートしないことを表す。本実施例では、BGPルート識別子とイネーブル指示値はTLVで表されてもよい。
図11は、スイッチ201のBGPルート識別子とイネーブル指示値を示す。
【0085】
上記は、スイッチ202がBGPルートを能動的に送信する例であり、オプションで、本実施例では、スイッチ202は、IBGPセッションやEBGPセッションなどのBGPセッションを介して、他のスイッチから送信されたBGPルートを受信し、受信されたBGPルートに基づいて、対応するルート構成情報エントリをローカルに新たに追加又は更新してもよい。ルート構成情報エントリは、受信されたBGPルートに付加されている同期すべきデータに関連する。例えば、同期すべきデータが新たに追加されたIPサービスゾーン構成情報である場合、ここでのルート構成情報エントリは、当該新たに追加されたIPサービスゾーン構成情報などを含み得る。
【0086】
オプションで、上述したように、本実施例では、スイッチ202は、異なるBGPセッションを介して同じ同期すべきデータが付加されているBGPルートを受信してもよく、ルート優先方式に従って最適ルートを決定してもよい。
【0087】
以下、本発明の実施例により提供されるルートの取り消すについて説明する。
【0088】
本実施例では、上記スイッチ201を例に説明し、スイッチ201が、記憶された少なくとも1つのBGPルートを取り消す必要もある。例えば、スイッチ201に接続されたホストやストレージデバイスがオフラインになった場合、当該オフラインになったホストやストレージデバイスに対応するBGPルートが取り消される必要がある。すなわち、このとき、スイッチ201は、記憶された少なくとも1つのBGPルートを取り消す必要があると判断する。スイッチ201は、記憶された少なくとも1つのBGPルートを取り消す必要があると判断すると、まず、記憶された当該取り消す必要がある少なくとも1つのBGPルートを削除し、BGPセッションを介して通知を送信して、上記各対象スイッチに、前記取り消す必要がある少なくとも1つのBGPルートと当該少なくとも1つのBGPルートに対応するルート構成情報エントリとを削除するように指示する。
【0089】
同様に、スイッチ201がBGPセッションを介して、取り消すべき少なくとも1つのBGPルートを受信した場合、記憶された当該少なくとも1つのBGPルートと当該少なくとも1つのBGPルートに対応するルート構成情報エントリとを削除する。
【0090】
オプションで、本実施例では、取り消す必要がある少なくとも1つのBGPルートは、BGP Updateパケットのマルチプロトコル到達不能NLRI(MP_UNREACH_NLRI)属性に付加される。ここで、MP_UNREACH_NLRI属性におけるAFIとSAFIは、上記のMP_REACH_NLRI属性の説明を参照されたい。
【0091】
以上、本発明の実施例により提供される方法について説明したが、以下、具体的な実施例を挙げてさらに説明する。
【0092】
図12は、本発明の実施例により提供される実施例のネットワーキングの概略図である。
図12において、スイッチ1201とスイッチ1202はリフレクタとして構成され、同じCluster IDで構成される。スイッチ1203とスイッチ1204は、上記リフレクタのクライアントとして構成される。スイッチ1201~スイッチ1204は、同じASに構成され、互いにIBGPピアである。上記実施例4の説明に基づいて、
図12では、スイッチ1201とスイッチ1202との間、スイッチ1201とスイッチ1203との間、スイッチ1201とスイッチ1204との間、スイッチ1202とスイッチ1203との間、スイッチ1202とスイッチ1204との間にそれぞれBGPセッションが確立される。
【0093】
スイッチ1201にホストBのIPサービスゾーン構成が追加されると、スイッチ1201は当該新たに追加されたIPサービスゾーン構成を取得し、当該IPサービスゾーン構成が付加されているBGPルートを生成して記録する。その後、スイッチ1201は、スイッチ1202、スイッチ1203、スイッチ1204との間で確立されたBGPセッションを介して当該BGPルートを送信する。スイッチ1202~スイッチ1204は当該BGPルートを受信、記録、解析して、リモートエンド、すなわちホストBのIPサービスゾーン構成エントリをローカルに新規追加する。
【0094】
スイッチ1201に既に記録されたホストBのIPサービスゾーン構成を変更する必要がある場合、スイッチ1201は既存の対応するBGPルートを更新する。その後、スイッチ1201は、スイッチ1202、スイッチ1203、スイッチ1204との間で確立されたBGPセッションを介して当該更新されたBGPルートを送信する。スイッチ1202~スイッチ1204は当該更新されたBGPルートを受信、記録、解析して、ローカルに記録されたリモートエンドのIPサービスゾーン構成エントリを更新する。更新されたIPサービスゾーン構成エントリは、上記の変更されたIPサービスゾーン構成エントリと同じである。
【0095】
スイッチ1201に既に記録されたホストBのIPサービスゾーン構成を削除する必要がある場合、スイッチ1201は既存の対応するBGPルートを取り消す。その後、スイッチ1201は、スイッチ1202、スイッチ1203、スイッチ1204との間で確立されたBGPセッションを介して当該BGPルート取り消し通知を送信する。スイッチ1202~スイッチ1204はBGPルート取り消し通知を受信すると、記録された対応するBGPルート及び記録された対応するリモートエンド(すなわち、ホストB)のIPサービスゾーン構成エントリを削除する。
【0096】
なお、本実施例において、スイッチ1201に既に記録されたホストBのIPサービスゾーン構成を変更する必要がある場合、上述したように、スイッチ1201に既に記録されたホストBのIPサービスゾーン構成を削除する方法に従って、まず既存の対応するBGPルートを取り消し、次にスイッチ1202~スイッチ1204にBGPルート取り消し通知を送信して、スイッチ1202~スイッチ1204に、記録された対応するBGPルート及び記録された対応するリモートエンド(すなわち、ホストB)のIPサービスゾーン構成エントリを削除するよう指示する。その後、ホストBのIPサービスゾーン構成をスイッチ1201に追加する際の動作を実行する。具体的にどのように実行するかは、主に、変更されたIPサービスゾーン構成が、BGPルートが他のルートと同じルートであるか否かを判定するための特徴パラメータなどの重要な特徴であるか否かに依存する(ここでの特徴パラメータは、上記IPサービスゾーン構成情報であってもよく、自己定義された他のパラメータなどであってもよく、本実施例は特に限定されない)。変更されたIPサービスゾーン構成が重要な特徴であれば、まず既存の対応するBGPルートを取り消し、ホストBのIPサービスゾーン構成をスイッチ1201に追加することで更新を実現する。変更されたIPサービスゾーン構成が重要な特徴でなければ、上述のように、既存の対応するBGPルートを直接更新して送信する。
【0097】
スイッチ1204がホストやストレージデバイスなどのアクセスデバイスに新たに接続された場合、新たに接続されたアクセスデバイスはオンラインになった後、まずLLDPパケットをスイッチ1204に送信し、スイッチ1204はローカルに新たに接続されたアクセスデバイスのデバイス発見情報を新たに追加し、対応するBGPルートを生成して記録する。その後、クライアントであるスイッチ1204は、リフレクタであるスイッチ1201との間で確立されたBGPセッションを介して、当該BGPルートをスイッチ1201に送信する。クライアントであるスイッチ1204は、リフレクタであるスイッチ1202との間で確立されたBGPセッションを介して、当該BGPルートをスイッチ1202に送信する。リフレクタであるスイッチ1201は、クライアントであるスイッチ1203との間で確立されたBGPセッションを介して、受信されたBGPルートをスイッチ1203に反射する。リフレクタであるスイッチ1202は、クライアントであるスイッチ1203との間で確立されたBGPセッションを介して、受信されたBGPルートをスイッチ1203に反射する。スイッチ1203は、スイッチ1201とスイッチ1202から反射された2つの同じルートを受信し、BGPプロトコル仕様と実際の実装に従って最適ルートを選択する。
【0098】
なお、最適ルートがスイッチ1201とスイッチ1202のどちらから反射されたBGPルートであっても、スイッチ1201とスイッチ1202から反射されたBGPルートに付加されているルート情報(同期すべきデータとも呼ばれる)は同じであるため、スイッチ1203は、ルート情報からスイッチ1204に新たに接続されたアクセスデバイスのデバイス発見情報を解析することができる。
【0099】
これに基づいて、最適ルートがスイッチ1201から反射されたBGPルートである場合、スイッチ1201に障害が発生すると、スイッチ1203とスイッチ1201との間のBGPセッションが切断され、スイッチ1203はスイッチ1201から送信された全てのルートを削除するが、このときスイッチ1203はスイッチ1202から送信された同じルートを保持しているため、スイッチ1203にはスイッチ1204によって生成されたBGPルートがある。したがって、スイッチ1201とスイッチ1202の2つのリフレクタを同時に配置することで、冗長バックアップの役割を果たし、信頼性を向上させることができる。
【0100】
スイッチ1204に接続されたホストやストレージデバイスなどのアクセスデバイスのデバイス発見情報が変更された場合、アクセスデバイスは、LLDPパケットを送信してスイッチ1204に通知し、スイッチ1204は、ローカルに接続されたアクセスデバイスのデバイス発見情報と記録された対応するBGPルートを更新する。
【0101】
その後、クライアントであるスイッチ1204は、リフレクタであるスイッチ1201との間で確立されたBGPセッションを介して、当該更新されたBGPルートをスイッチ1201に送信する。クライアントであるスイッチ1204は、リフレクタであるスイッチ1202との間で確立されたBGPセッションを介して、当該更新されたBGPルートをスイッチ1202に送信する。
【0102】
リフレクタであるスイッチ1201は、クライアントであるスイッチ1203との間で確立されたBGPセッションを介して、受信されたBGPルートをクライアントであるスイッチ1203に反射する。
【0103】
リフレクタであるスイッチ1202は、クライアントであるスイッチ1203との間で確立されたBGPセッションを介して、受信されたBGPルートをクライアントであるスイッチ1203に反射する。
【0104】
最終的に、スイッチ1203は、スイッチ1201とスイッチ1202から反射された2つの同じルートを受信し、BGPプロトコル仕様と実際の実装に従って最適ルートを選択する。なお、アクセスデバイスのデバイス発見情報が変更されたことは、上記IPサービスゾーン構成が変更された場合と同様であるため、これ以上の説明を省略する。
【0105】
スイッチ1204に接続されたホストやストレージデバイスなどのアクセスデバイスがオフラインになった場合、スイッチ1204は対応するデバイスがオフラインになったこと(例えば、LLDPがエージングした、接続が切断されたなど)を発見すると、既存のBGPルートを取り消す。その後、クライアントであるスイッチ1204は、リフレクタであるスイッチ1201との間で確立されたBGPセッションを介して、ルート取り消し通知をスイッチ1201に送信する。クライアントであるスイッチ1204は、リフレクタであるスイッチ1202との間で確立されたBGPセッションを介して、ルート取り消し通知をスイッチ1202に送信する。
【0106】
リフレクタであるスイッチ1201は、クライアントであるスイッチ1203との間で確立されたBGPセッションを介して、上記ルート取り消し通知をスイッチ1203に反射する。
【0107】
リフレクタであるスイッチ1202は、クライアントであるスイッチ1203との間で確立されたBGPセッションを介して、上記ルート取り消し通知をスイッチ1203に反射する。
【0108】
最終的に、スイッチ1203は、スイッチ1201とスイッチ1202から反射されたルート取り消し通知を受信した後、対応するBGPルートを削除し、当該BGPルートに対応するデバイス状態情報をオフラインに変更する。
【0109】
以上は、IPサービスゾーン構成とデバイス発見情報のみを例に説明しており、その他の状況は類推できるため、ここでは説明を省略する。
【0110】
以下、本発明の実施例により提供される装置について説明する。
【0111】
図13は、本発明の実施例により提供される装置の構造図である。当該装置は、SANにおけるスイッチに適用される。
図13に示すように、当該装置は、
同期すべき対象データを取得するために用いられる取得ユニットと、
指定されたスイッチとの間で確立されたBGPセッションを介して、前記対象データが付加されているBGPルートを送信して、前記スイッチと同期する必要がある各対象スイッチ間で前記対象データを同期させるために用いられるルートユニットと、を含み得る。
【0112】
オプションで、上記対象データは少なくとも、
アクセスデバイスのIPサービスゾーン構成情報、及び/又は、アクセスデバイスのデバイス発見情報、及び/又は、前記スイッチがデフォルトのIPサービスゾーンをサポートするか否かの情報を含む。
【0113】
オプションで、上記IPサービスゾーン構成情報は少なくとも、
前記スイッチのBGPルート識別子(Route ID)と、IPサービスゾーン識別子と、前記IPサービスゾーン構成情報が属するアクセスデバイスのIPアドレスとを含み、前記IPサービスゾーン識別子は、自己定義されたIPサービスゾーンの識別子であり、デフォルトのIPサービスゾーンとは異なる。
【0114】
オプションで、上記アクセスデバイスのデバイス発見情報は少なくとも、
アクセスデバイスのMACアドレスと、前記スイッチに接続された、アクセスデバイスのポートのポート識別子と、前記スイッチのBGPルート識別子(Route ID)とを含む。
【0115】
オプションで、上記アクセスデバイスのデバイス発見情報は、アクセスデバイスのデバイス属性情報をさらに含み、
前記アクセスデバイスのデバイス属性情報は少なくとも、アクセスデバイスのIPアドレスと、アクセスデバイスの状態情報と、アクセスデバイスのロールタイプとを含み、
前記IPアドレスは、IPv4アドレス又はIPv6アドレスであり、
前記状態情報は少なくとも、オンライン情報又はオフライン情報を含み、
前記ロールタイプは少なくとも、ストレージシステム及び/又はホストを含む。
【0116】
オプションで、上記スイッチがデフォルトのIPサービスゾーンをサポートするか否かの情報は少なくとも、
前記スイッチのBGPルート識別子(Route ID)を含み、又は、
前記スイッチのBGPルート識別子(Route ID)とイネーブル指示値を含み、
前記イネーブル指示値が第1の値である場合、前記スイッチがデフォルトのIPサービスゾーンをサポートすることを表し、前記イネーブル指示値が第2の値である場合、前記スイッチがデフォルトのIPサービスゾーンをサポートしないことを表す。
【0117】
オプションで、上記指定されたスイッチは、前記対象スイッチの少なくとも1つであり、又は、
前記指定されたスイッチは、前記スイッチ及び前記対象スイッチ以外の少なくとも1つの非対象スイッチである。
【0118】
本実施例では、ルートユニットは、さらに、指定されたスイッチとの間で確立されたBGPセッションを介して他のスイッチから送信されたBGPルートを受信するとき、受信されたBGPルートに基づいて、対応するルート構成情報エントリをローカルに新たに追加又は更新するために用いられる。ここで、ルート構成情報エントリは、受信されたBGPルートに付加されている同期すべきデータに関連する。
【0119】
本実施例では、ルートユニットは、さらに、異なるBGPセッションを介して、同じ同期すべきデータが付加されているBGPルートを受信するとき、ルート優先方式に従って最適ルートを決定するために用いられる。
【0120】
本実施例では、ルートユニットは、さらに、前記BGPルートを記憶し、記憶された少なくとも1つのBGPルートを取り消す必要がある場合、記憶された当該取り消す必要がある少なくとも1つのBGPルートを削除し、指定されたスイッチとの間で確立されたBGPセッションを介して通知を送信して、前記対象スイッチに前記取り消す必要がある少なくとも1つのBGPルートと当該少なくとも1つのBGPルートに対応するルート構成情報エントリとを削除するように指示する。
【0121】
本実施例では、ルートユニットは、さらに、指定されたスイッチとの間で確立されたBGPセッションを介して、取り消すべき少なくとも1つのBGPルートを受信した場合、記憶された当該少なくとも1つのBGPルートと当該少なくとも1つのBGPルートに対応するルート構成情報エントリとを削除するために用いられる。
【0122】
本実施例では、BGPルートは、BGP UpdateパケットのMP_REACH_NLRI属性に付加され、MP_REACH_NLRI属性におけるAFIとSAFIは、予め指定されており、定義済みのAFI値とSAFI値と競合しない。
【0123】
本実施例では、取り消す必要がある少なくとも1つのBGPルートは、BGP UpdateパケットのMP_UNREACH_NLRI属性に付加され、前記MP_UNREACH_NLRI属性におけるAFIとSAFIは、予め指定されており、定義済みのAFI値とSAFI値と競合しない。
【0124】
ここまで、
図13に示す装置の構造の説明は完了する。
【0125】
本発明の実施例はさらに
図13に示す装置のハードウェア構造を提供する。
図14は、本発明の実施例により提供される電子デバイスの構造図である。
図14に示すように、当該ハードウェア構造は、プロセッサと、機械可読記憶媒体とを含み得、機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、前記プロセッサは、本発明の上記実施例に開示された方法を実施するように機械実行可能命令を実行するために用いられる。
【0126】
上述の方法と同様の思想に基づき、本発明の実施例はさらに、コンピュータ命令が記憶されている機械可読記憶媒体を提供し、前記コンピュータ命令がプロセッサによって実行されると、本発明の上記実施例に開示された方法を実施することができる。
【0127】
例示的に、上記機械可読記憶媒体は、任意の電子的、磁性的、光学的又は他の物理的記憶装置であってもよく、実行可能な命令、データなどの情報を含むか、又は記憶することができる。例えば、機械可読記憶媒体は、ラドムアクセスメモリ(RAM:Radom Access Memory)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、ストレージドライブ(ハードドライブなど)、ソリッドステートドライブ、任意の記憶ディスク(光ディスク、DVDなど)、又は類似の記憶媒体や、これらの組み合わせであってもよい。
【0128】
上記実施例で説明したシステム、装置、モジュール又はユニットは、具体的には、コンピュータチップ、エンティティ、又は何らかの機能を有する製品によって実現されてもよい。典型的な実現デバイスはコンピュータであり、コンピュータの具体的な形態は、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレット、ウェアラブルデバイス、又はこれらのデバイスの任意のいくつかの組み合わせであってもよい。
【0129】
なお、説明の便宜上、上記の装置を説明するときに機能によって様々なユニットに分けてそれぞれ説明する。もちろん、本発明を実施する際に、各ユニットの機能は、同一又は複数のソフトウェア及び/又はハードウェアで実現されてもよい。
【0130】
当業者であれば分かるように、本発明の実施例が、方法、システム、又はコンピュータプログラム製品として提供されてもよい。したがって、本発明は、ハードウェアだけからなる実施例、ソフトウェアだけからなる実施例、又はソフトウェアとハードウェアを組み合わせた実施例なる形態を用いてもよい。さらに、本発明の実施例は、コンピュータで使用可能なプログラムコードを含む1つ又は複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0131】
本発明は、本発明の実施例による方法、デバイス(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明される。フローチャート及び/又はブロック図における各フロー及び/又はブロック、並びにフロー及び/又はブロックの組み合わせは、コンピュータプログラム命令によって実現されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラマブル可能なデータ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータ又は他のプログラマブル可能なデータ処理デバイスのプロセッサによって実行される命令により、フローチャートの1つ又は複数のフロー、及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための装置が生成される。
【0132】
また、これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブル可能なデータ処理デバイスに特定の方法で動作するように指示することができるコンピュータ可読メモリに記憶されてもよく、これにより、当該コンピュータ可読メモリに記憶された命令により、フローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための命令装置を含む製品が生成される。
【0133】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブル可能なデータ処理デバイスにロードされてもよく、それにより、一連の動作ステップがコンピュータ又は他のプログラマブル可能なデバイス上で実行されることで、コンピュータにより実施される処理が生成され、それによりコンピュータ又は他のプログラマブル可能なデバイス上で実行される命令により、フローチャートの1つ又は複数のフロー及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するためのステップを提供する。
【0134】
以上は、本発明の実施例に過ぎず、本発明を限定するものではない。当業者にとって、本発明は様々な変更及び変化が可能である。本発明の精神と原理の範囲内で行われたいかなる修正、同等な置換、改善などは、いずれも本発明の特許請求の範囲に含まれるものとするべきである。
【国際調査報告】