特許第6241637号(P6241637)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特許6241637マルチキャストグループメンバーを管理するための方法およびデバイス
<>
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000006
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000007
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000008
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000009
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000010
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000011
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000012
  • 特許6241637-マルチキャストグループメンバーを管理するための方法およびデバイス 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6241637
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】マルチキャストグループメンバーを管理するための方法およびデバイス
(51)【国際特許分類】
   H04L 12/70 20130101AFI20171127BHJP
   H04L 12/717 20130101ALI20171127BHJP
   H04L 12/761 20130101ALI20171127BHJP
【FI】
   H04L12/70 F
   H04L12/717
   H04L12/761
【請求項の数】20
【全頁数】40
(21)【出願番号】特願2016-562204(P2016-562204)
(86)(22)【出願日】2015年1月4日
(65)【公表番号】特表2017-517182(P2017-517182A)
(43)【公表日】2017年6月22日
(86)【国際出願番号】CN2015070044
(87)【国際公開番号】WO2015165281
(87)【国際公開日】20151105
【審査請求日】2016年11月21日
(31)【優先権主張番号】201410175802.6
(32)【優先日】2014年4月28日
(33)【優先権主張国】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】リ、チェンジ
(72)【発明者】
【氏名】リ、クァンチャイ
(72)【発明者】
【氏名】マン、ボ
【審査官】 衣鳩 文彦
(56)【参考文献】
【文献】 特開2008−160718(JP,A)
【文献】 特表2011−523315(JP,A)
【文献】 国際公開第2014/057403(WO,A1)
【文献】 特開2006−287818(JP,A)
【文献】 特開2006−148750(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00〜12/955
(57)【特許請求の範囲】
【請求項1】
マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する段階であって、これにより、前記スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する、段階と、
現期間に前記スイッチにより受信された現期間クエリ応答のカウント値を取得する段階と、
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する段階と
を備え
現期間に前記スイッチにより受信された現期間クエリ応答のカウント値を取得する前記段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージを前記スイッチへ送信する段階であって、これにより、前記スイッチは、前記ターゲットフローテーブル識別子と前記ターゲットフローエントリー識別子との両方に対応するクエリ応答カウント値について問い合わせる、段階と、
前記スイッチにより送信された前記クエリ応答カウント値を受信し、受信された前記クエリ応答カウント値を、前記現期間クエリ応答のカウント値として判断する段階と
を有する、法。
【請求項2】
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する前記段階は、
前記マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する段階と、
前記現期間クエリ応答のカウント値と前記前期間クエリ応答のカウント値との間の差を計算する段階と、
前記差と前記プリセットクエリ応答カウント値増分とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する段階と
を有する、請求項1記載の方法。
【請求項3】
マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する段階であって、これにより、前記スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する、段階と、
現期間に前記スイッチにより受信された現期間クエリ応答のカウント値を取得する段階と、
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する段階と
を備え、
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する前記段階は、
前記マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する段階と、
前記現期間クエリ応答のカウント値と前記前期間クエリ応答のカウント値との間の差を計算する段階と、
前記差と前記プリセットクエリ応答カウント値増分とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する段階と
を有し、
前記差と前記プリセットクエリ応答カウント値増分とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する前記段階は、
前記差が前記プリセットクエリ応答カウント値増分より小さい場合、前記マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断する段階と、
異常退去した前記マルチキャストグループメンバーに対応するポート番号を取得し、取得された前記ポート番号をマルチキャストパスから削除する段階と
を含む、方法。
【請求項4】
異常退去した前記マルチキャストグループメンバーに対応するポート番号を取得する前記段階は、
マルチキャストグループアドレスを伝える削除メッセージを前記スイッチへ送信する段階であって、これにより、前記スイッチは、前記マルチキャストグループアドレスに対応するフローエントリーを削除する、段階と、
前記マルチキャストグループのマルチキャストグループアドレスを伝える前記クエリメッセージを前記スイッチへ送信する段階であって、これにより、前記スイッチは、前記クエリメッセージを、前記マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信する、段階と、
前記マルチキャストグループに含まれる前記マルチキャストグループメンバーにより前記クエリメッセージに従って送信された少なくとも1つの第1クエリ応答を別々にカプセル化することにより得られ、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、前記スイッチにより報告された少なくとも1つの第2クエリ応答を受信する段階と、
マルチキャストグループアドレスとポート番号との間の格納されている対応関係から対応するポート番号を前記マルチキャストグループアドレスに従って取得する段階と、
取得された前記ポート番号を、前記少なくとも1つの第2クエリ応答により伝えられる前記ポート番号と比較して、異常退去した前記マルチキャストグループメンバーに対応する前記ポート番号を判断する段階と
を含む、請求項に記載の方法。
【請求項5】
マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する段階であって、これにより、前記スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する、段階と、
現期間に前記スイッチにより受信された現期間クエリ応答のカウント値を取得する段階と、
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する段階と
を備え、
マルチキャストグループアドレスを伝える、前記マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
前記マルチキャストグループアドレスと前記マルチキャストグループメンバーに対応するポート番号とに従って、前記マルチキャストグループメンバーのためにフローエントリーを作成する段階と、
前記フローエントリーを前記スイッチへ送信する段階であって、これにより、前記スイッチは、対応するフローテーブルに前記フローエントリーを格納する、段階と
をさらに備える、方法。
【請求項6】
マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、コントローラにより送信されたクエリメッセージを受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する段階と、
マルチキャストグループアドレスを伝える、前記マルチキャストグループメンバーにより送信された第1クエリ応答を受信する段階と、
格納されているフローテーブルが、前記マルチキャストグループアドレスと、前記マルチキャストグループメンバーに対応するポート番号が存在するフローエントリーとを含む場合、前記第1クエリ応答を破棄し、前記第1クエリ応答の数に従って現期間クエリ応答のカウント値を取得する段階と、
前記現期間クエリ応答のカウント値を前記コントローラへ送信する段階であって、これにより、前記コントローラは、前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する、段階と
を備える、方法。
【請求項7】
前記現期間クエリ応答のカウント値を前記コントローラへ送信する前記段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝える、前記コントローラにより送信されたフローエントリークエリメッセージを受信する段階と、
前記ターゲットフローテーブル識別子と前記ターゲットフローエントリー識別子とに従って、対応するクエリ応答カウント値を前記格納されているフローテーブルから取得する段階と、
取得された前記クエリ応答カウント値を前記現期間クエリ応答のカウント値として用い、前記現期間クエリ応答のカウント値を前記コントローラへ送信する段階と
を有する、請求項に記載の方法。
【請求項8】
前記現期間クエリ応答のカウント値を前記コントローラへ送信する前記段階の後に、
前記マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると前記コントローラが判断した場合に、マルチキャストグループアドレスを伝える、前記コントローラにより送信された削除メッセージを受信し、前記マルチキャストグループアドレスに従って、対応するフローエントリーを前記フローテーブルから削除する段階と、
前記マルチキャストグループのマルチキャストグループアドレスを伝える、前記コントローラにより送信された前記クエリメッセージが受信された場合に、前記クエリメッセージを、前記マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信する段階と、
マルチキャストグループアドレスをそれぞれが伝える、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーにより送信された少なくとも1つの第1クエリ応答を受信する段階と、
前記少なくとも1つの第1クエリ応答を別々にカプセル化して、前記マルチキャストグループアドレスと、前記マルチキャストグループメンバーに対応するポート番号とをそれぞれが伝える少なくとも1つの第2クエリ応答を得る段階と、
前記少なくとも1つの第2クエリ応答を前記コントローラへ送信する段階であって、これにより、前記コントローラは、異常退去した前記マルチキャストグループメンバーに対応するポート番号を取得し、かつ、取得された前記ポート番号をマルチキャストパスから削除する段階と
をさらに備える、請求項またはに記載の方法。
【請求項9】
前記マルチキャストグループメンバーにより送信された第1クエリ応答を受信する前記段階の前に、
マルチキャストグループアドレスを伝える、前記マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
前記第1マルチキャスト参加メッセージをカプセル化して、前記マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得る段階と、
前記第2マルチキャスト参加メッセージを前記コントローラへ送信する段階であって、これにより、前記コントローラは、前記第2マルチキャスト参加メッセージに従って、前記マルチキャストグループメンバーのためにフローエントリーを作成する、段階と、
前記コントローラにより送信された前記フローエントリーを受信し、前記フローエントリーを前記フローテーブルに格納する段階と
をさらに備える、請求項からのいずれか一項に記載の方法。
【請求項10】
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト退去メッセージを受信する段階と、
前記マルチキャストグループアドレスと前記マルチキャストグループメンバーに対応するポート番号とに従って、対応するフローエントリーを前記フローテーブルから削除する段階と、
前記第1マルチキャスト退去メッセージをカプセル化して、前記マルチキャストグループアドレスと前記ポート番号とを伝える第2マルチキャスト退去メッセージを得る段階と、
前記第2マルチキャスト退去メッセージを前記コントローラへ送信する段階であって、これにより、前記コントローラは、マルチキャストパスから前記ポート番号を削除する、段階と
をさらに備える、請求項からのいずれか一項に記載の方法。
【請求項11】
マルチキャストグループメンバーを管理するためのデバイスであって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する第1送信モジュールであって、これにより、前記スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する、第1送信モジュールと、
現期間に前記スイッチにより受信された現期間クエリ応答のカウント値を取得する取得モジュールと、
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する管理モジュールと
を備え
前記取得モジュールは、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージを前記スイッチへ送信する第1送信ユニットであって、これにより、前記スイッチは、前記ターゲットフローテーブル識別子と前記ターゲットフローエントリー識別子との両方に対応するクエリ応答カウント値について問い合わせる、第1送信ユニットと、
前記スイッチにより送信された前記クエリ応答カウント値を受信し、受信された前記クエリ応答カウント値を、前記現期間クエリ応答のカウント値として判断する第1受信ユニットと
を有する、デバイス。
【請求項12】
前記管理モジュールは、
前記マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する第1取得ユニットと、
前記現期間クエリ応答のカウント値と前記前期間クエリ応答のカウント値との間の差を計算する計算ユニットと、
前記差と前記プリセットクエリ応答カウント値増分とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する管理ユニットと
を有する、請求項11に記載のデバイス。
【請求項13】
マルチキャストグループメンバーを管理するためのデバイスであって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する第1送信モジュールであって、これにより、前記スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する、第1送信モジュールと、
現期間に前記スイッチにより受信された現期間クエリ応答のカウント値を取得する取得モジュールと、
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する管理モジュールと
を備え、
前記管理モジュールは、
前記マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する第1取得ユニットと、
前記現期間クエリ応答のカウント値と前記前期間クエリ応答のカウント値との間の差を計算する計算ユニットと、
前記差と前記プリセットクエリ応答カウント値増分とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する管理ユニットと
を有し、
前記管理ユニットは、
前記差が前記プリセットクエリ応答カウント値増分より小さい場合、前記マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断する判断サブユニットと、
異常退去した前記マルチキャストグループメンバーに対応するポート番号を取得し、取得された前記ポート番号をマルチキャストパスから削除する削除サブユニットと
を含むデバイス。
【請求項14】
前記削除サブユニットは、マルチキャストグループアドレスを伝える削除メッセージを前記スイッチへ送信し、これにより、前記スイッチは、前記マルチキャストグループアドレスに対応するフローエントリーを削除し、
前記削除サブユニットは、前記マルチキャストグループのマルチキャストグループアドレスを伝える前記クエリメッセージを前記スイッチへ送信し、これにより、前記スイッチは、前記マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信し、
前記削除サブユニットは、
前記マルチキャストグループに含まれる前記マルチキャストグループメンバーにより前記クエリメッセージに従って送信された少なくとも1つの第1クエリ応答を別々にカプセル化することにより得られ、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、前記スイッチにより報告された少なくとも1つの第2クエリ応答を受信し、
マルチキャストグループアドレスとポート番号との間の格納されている対応関係から対応するポート番号を前記マルチキャストグループアドレスに従って取得し、
取得された前記ポート番号を、前記少なくとも1つの第2クエリ応答により伝えられる前記ポート番号と比較して、異常退去した前記マルチキャストグループメンバーに対応する前記ポート番号を判断する、請求項13に記載のデバイス。
【請求項15】
マルチキャストグループメンバーを管理するためのデバイスであって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する第1送信モジュールであって、これにより、前記スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する、第1送信モジュールと、
現期間に前記スイッチにより受信された現期間クエリ応答のカウント値を取得する取得モジュールと、
前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する管理モジュールと、
マルチキャストグループアドレスを伝える、前記マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する第1受信モジュールと、
前記マルチキャストグループアドレスと前記マルチキャストグループメンバーに対応するポート番号とに従って、前記マルチキャストグループメンバーのためにフローエントリーを作成する作成モジュールと、
前記フローエントリーを前記スイッチへ送信する第2送信モジュールであって、これにより、前記スイッチは、対応するフローテーブルに前記フローエントリーを格納する、第2送信モジュールと
える、バイス。
【請求項16】
マルチキャストグループメンバーを管理するためのデバイスであって、
プリセット周期の間隔で、コントローラにより送信されたクエリメッセージを受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへ前記クエリメッセージを送信する第2受信モジュールと、
マルチキャストグループアドレスを伝える、前記マルチキャストグループメンバーにより送信された第1クエリ応答を受信する第3受信モジュールと、
格納されているフローテーブルが、前記マルチキャストグループアドレスと、前記マルチキャストグループメンバーに対応するポート番号が存在するフローエントリーとを含む場合、前記第1クエリ応答を破棄し、前記第1クエリ応答の数に従って現期間クエリ応答のカウント値を取得する破棄モジュールと、
前記現期間クエリ応答のカウント値を前記コントローラへ送信する第3送信モジュールであって、これにより、前記コントローラは、前記現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーを管理する、第3送信モジュールと
を備える、デバイス。
【請求項17】
前記第3送信モジュールは、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝える、前記コントローラにより送信されたフローエントリークエリメッセージを受信する第2受信ユニットと、
前記ターゲットフローテーブル識別子と前記ターゲットフローエントリー識別子とに従って、対応するクエリ応答カウント値を前記格納されているフローテーブルから取得する第2取得ユニットと、
取得された前記クエリ応答カウント値を前記現期間クエリ応答のカウント値として用い、前記現期間クエリ応答のカウント値を前記コントローラへ送信する第2送信ユニットと
を有する、請求項16に記載のデバイス。
【請求項18】
前記マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると前記コントローラが判断した場合に、マルチキャストグループアドレスを伝える、前記コントローラにより送信された削除メッセージを受信し、前記マルチキャストグループアドレスに従って、対応するフローエントリーを前記フローテーブルから削除する第1削除モジュールと、
前記マルチキャストグループのマルチキャストグループアドレスを伝える、前記コントローラにより送信された前記クエリメッセージが受信された場合に、前記クエリメッセージを、前記マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信する第4送信モジュールと、
マルチキャストグループアドレスをそれぞれが伝える、前記マルチキャストグループに含まれる前記マルチキャストグループメンバーにより送信された少なくとも1つの第1クエリ応答を受信する第4受信モジュールと、
前記少なくとも1つの第1クエリ応答を別々にカプセル化して、前記マルチキャストグループアドレスと、前記マルチキャストグループメンバーに対応するポート番号とをそれぞれが伝える少なくとも1つの第2クエリ応答を得る第1カプセル化モジュールと、
前記少なくとも1つの第2クエリ応答を前記コントローラへ送信する第5送信モジュールであって、これにより、前記コントローラは、異常退去した前記マルチキャストグループメンバーに対応するポート番号を取得し、かつ、取得された前記ポート番号をマルチキャストパスから削除する第5送信モジュールと
をさらに備える、請求項16または17に記載のデバイス。
【請求項19】
マルチキャストグループアドレスを伝える、前記マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する第5受信モジュールと、
前記第1マルチキャスト参加メッセージをカプセル化して、前記マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得る第2カプセル化モジュールと、
前記第2マルチキャスト参加メッセージを前記コントローラへ送信する第6送信モジュールであって、これにより、前記コントローラは、前記第2マルチキャスト参加メッセージに従って、前記マルチキャストグループメンバーのためにフローエントリーを作成する、第6送信モジュールと、
前記コントローラにより送信された前記フローエントリーを受信し、前記フローエントリーを前記フローテーブルに格納する格納モジュールと
をさらに備える、請求項16から18のいずれか一項に記載のデバイス。
【請求項20】
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト退去メッセージを受信する第6受信モジュールと、
前記マルチキャストグループアドレスと前記マルチキャストグループメンバーに対応するポート番号とに従って、対応するフローエントリーを前記フローテーブルから削除する第2削除モジュールと、
前記第1マルチキャスト退去メッセージをカプセル化して、前記マルチキャストグループアドレスと前記ポート番号とを伝える第2マルチキャスト退去メッセージを得る第3カプセル化モジュールと、
前記第2マルチキャスト退去メッセージを前記コントローラへ送信する第7送信モジュールであって、これにより、前記コントローラは、マルチキャストパスから前記ポート番号を削除する、第7送信モジュールと
をさらに備える、請求項16から19のいずれか一項に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2014年4月28日に中国特許庁へ提出された、発明の名称が「METHOD AND DEVICE FOR MAINTAINING MULTICAST GROUP MEMBER」である中国特許出願第201410175802.6号の優先権を主張する。同特許出願は、その全体が参照により本明細書に組み込まれる。
【0002】
本願発明は、インターネット分野に関し、特に、マルチキャストグループメンバーを管理するための方法およびデバイスに関する。
【背景技術】
【0003】
ソフトウェアディファインドネットワーキング(SDN)ネットワークは、コントローラと、スイッチと、ホストとを含む。同時に、複数のホストが全て1つのマルチキャストグループに参加し得、1つのホストが、複数のマルチキャストグループに参加し得る。マルチキャストグループに参加しているホストは、マルチキャストグループメンバーと呼ばれ得る。マルチキャスト通信が実装される場合に、スイッチは、コントローラとマルチキャストグループメンバーとの間でデータストリームを転送する役割を担い、コントローラは、マルチキャストグループに参加する、およびそこから退去するマルチキャストグループメンバーを管理して、データストリームの転送パスを制御する。
【0004】
現在、マルチキャストグループメンバーを管理する処理は、以下の通りである、コントローラが、一般的なクエリメッセージをスイッチへ送信し、スイッチが、一般的なクエリメッセージを受信し、マルチキャストグループに含まれるマルチキャストグループメンバーへ一般的なクエリメッセージを送信する。一般的なクエリメッセージを受信した場合に、マルチキャストグループメンバーは、マルチキャストグループメンバーが参加している各マルチキャストグループのためにクエリ応答メッセージを生成し、生成されたクエリ応答メッセージをスイッチへ送信し、スイッチは、クエリ応答メッセージをコントローラへ送信する。クエリ応答メッセージを受信した場合に、コントローラは、クエリ応答メッセージを処理して、マルチキャストグループメンバーが変わったかを判断し、これにより、マルチキャストグループのマルチキャストグループメンバーを管理する。
【0005】
コントローラは、マルチキャストグループに含まれる各マルチキャストグループメンバーへ一般的なクエリメッセージを定期的に送信し、マルチキャストグループが比較的多数のマルチキャストグループメンバーを含む場合に、コントローラは、比較的多数のクエリ応答メッセージを定期的に受信する。したがって、コントローラの負荷が増え、コントローラの処理効率が低下する。
【発明の概要】
【0006】
従来技術の課題を解決すべく、本願発明の実施形態は、マルチキャストグループメンバーを管理するための方法およびデバイスを提供する。技術的解決法は以下の通りである。
【0007】
第1態様によると、マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する、段階と、
現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得する段階と、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する段階と
を備える、方法が提供される。
【0008】
第1態様に関連し、第1態様の第1の可能な実施方式において、現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得する段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子との両方に対応するクエリ応答カウント値について問い合わせる、段階と、
スイッチにより送信されたクエリ応答カウント値を受信し、受信されたクエリ応答カウント値を、現期間クエリ応答のカウント値として判断する段階と
を有する。
【0009】
第1態様、または第1態様の第1の可能な実施方式に関連し、第1態様の第2の可能な実施方式において、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する段階は、
マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する段階と、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値との間の差を計算する段階と、
差とプリセットクエリ応答カウント値増分とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する段階と
を有する。
【0010】
第1態様の第2の可能な実施方式に関連し、第1態様の第3の可能な実施方式において、差とプリセットクエリ応答カウント値増分とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する段階は、
差がプリセットクエリ応答カウント値増分より小さい場合、マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断する段階と、
異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、取得された当該ポート番号をマルチキャストパスから削除する段階と
を含む。
【0011】
第1態様の第3の可能な実施方式に関連し、第1態様の第4の可能な実施方式において、異常退去したマルチキャストグループメンバーに対応するポート番号を取得する段階は、
マルチキャストグループアドレスを伝える削除メッセージをスイッチへ送信する段階であって、これにより、スイッチは、マルチキャストグループアドレスに対応するフローエントリーを削除する、段階と、
マルチキャストグループのマルチキャストグループアドレスを伝えるクエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、クエリメッセージを、マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信する、段階と、
マルチキャストグループに含まれるマルチキャストグループメンバーによりクエリメッセージに従って送信された少なくとも1つの第1クエリ応答を別々にカプセル化することにより得られ、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、スイッチにより報告された少なくとも1つの第2クエリ応答を受信する段階と、
マルチキャストグループアドレスとポート番号との間の格納されている対応関係から対応するポート番号をマルチキャストグループアドレスに従って取得する段階と、
取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較して、異常退去したマルチキャストグループメンバーに対応する当該ポート番号を判断する段階と
を含む。
【0012】
第1態様、第1態様の第1の可能な実施方式、第1態様の第2の可能な実施方式、第1態様の第3の可能な実施方式、または第1態様の第4の可能な実施方式に関連し、第1態様の第5の可能な実施方式において、方法は、マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、マルチキャストグループメンバーのためにフローエントリーを作成する段階と、
フローエントリーをスイッチへ送信する段階であって、これにより、スイッチは、対応するフローテーブルにフローエントリーを格納する、段階と
をさらに備える。
【0013】
第2態様によると、マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、コントローラにより送信されたクエリメッセージを受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する段階と、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1クエリ応答を受信する段階と、
格納されているフローテーブルが、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号が存在するフローエントリーとを含む場合、第1クエリ応答を破棄し、第1クエリ応答の数に従って現期間クエリ応答のカウント値を取得する段階と、
現期間クエリ応答のカウント値をコントローラへ送信する段階であって、これにより、コントローラは、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する、段階と
を備える、方法が提供される。
【0014】
第2態様に関連し、第2態様の第1の可能な実施方式において、現期間クエリ応答のカウント値をコントローラへ送信する段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝える、コントローラにより送信されたフローエントリークエリメッセージを受信する段階と、
当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子とに従って、対応するクエリ応答カウント値を格納されているフローテーブルから取得する段階と、
取得されたクエリ応答カウント値を現期間クエリ応答のカウント値として用い、現期間クエリ応答のカウント値をコントローラへ送信する段階と
を有する。
【0015】
第2態様、または第2態様の第1の可能な実施方式に関連し、第2態様の第2の可能な実施方式において、現期間クエリ応答のカウント値をコントローラへ送信する段階の後に、方法は、
マルチキャストグループを異常退去したマルチキャストグループメンバーが存在するとコントローラが判断した場合に、マルチキャストグループアドレスを伝える、コントローラにより送信された削除メッセージを受信し、マルチキャストグループアドレスに従って、対応するフローエントリーをフローテーブルから削除する段階と、
マルチキャストグループのマルチキャストグループアドレスを伝える、コントローラにより送信されたクエリメッセージが受信された場合に、クエリメッセージを、マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信する段階と、
マルチキャストグループアドレスをそれぞれが伝える、マルチキャストグループに含まれるマルチキャストグループメンバーにより送信された少なくとも1つの第1クエリ応答を受信する段階と、
少なくとも1つの第1クエリ応答を別々にカプセル化して、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号とをそれぞれが伝える少なくとも1つの第2クエリ応答を得る段階と、
少なくとも1つの第2クエリ応答をコントローラへ送信する段階であって、これにより、コントローラは、異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、かつ、取得された当該ポート番号をマルチキャストパスから削除する段階と
をさらに備える。
【0016】
第2態様、第2態様の第1の可能な実施方式、または第2態様の第2の可能な実施方式に関連し、第2態様の第3の可能な実施方式において、マルチキャストグループメンバーにより送信された第1クエリ応答を受信する段階の前に、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
第1マルチキャスト参加メッセージをカプセル化して、マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得る段階と、
第2マルチキャスト参加メッセージをコントローラへ送信する段階であって、これにより、コントローラは、第2マルチキャスト参加メッセージに従って、マルチキャストグループメンバーのためにフローエントリーを作成する、段階と、
コントローラにより送信されたフローエントリーを受信し、フローエントリーをフローテーブルに格納する段階と
をさらに備える。
【0017】
第2態様、第2態様の第1の可能な実施方式、第2態様の第2の可能な実施方式、または第2態様の第3の可能な実施方式に関連し、第1態様の第4の可能な実施方式において、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト退去メッセージを受信する段階と、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、対応するフローエントリーをフローテーブルから削除する段階と、
第1マルチキャスト退去メッセージをカプセル化して、マルチキャストグループアドレスと当該ポート番号とを伝える第2マルチキャスト退去メッセージを得る段階と、
第2マルチキャスト退去メッセージをコントローラへ送信する段階であって、これにより、コントローラは、マルチキャストパスから当該ポート番号を削除する、段階と
をさらに備える。
【0018】
第3の態様によると、マルチキャストグループメンバーを管理するためのデバイスであって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信するよう構成された第1送信モジュールであって、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する、第1送信モジュールと、
現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得するよう構成された取得モジュールと、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理するよう構成された管理モジュールと
を備える、デバイスが提供される。
【0019】
第3の態様に関連し、第3の態様の第1の可能な実施方式において、取得モジュールは、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージをスイッチへ送信するよう構成された第1送信ユニットであって、これにより、スイッチは、当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子との両方に対応するクエリ応答カウント値について問い合わせる、第1送信ユニットと、
スイッチにより送信されたクエリ応答カウント値を受信し、受信されたクエリ応答カウント値を、現期間クエリ応答のカウント値として判断するよう構成された第1受信ユニットと
を有する。
【0020】
第3の態様、または第3の態様の第1の可能な実施方式に関連し、第3の態様の第2の可能な実施方式において、管理モジュールは、
マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得するよう構成された第1取得ユニットと、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値との間の差を計算するよう構成された計算ユニットと、
差とプリセットクエリ応答カウント値増分とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理するよう構成された管理ユニットと
を有する。
【0021】
第3の態様の第2の可能な実施方式に関連し、第3の態様の第3の可能な実施方式において、管理ユニットは、
差がプリセットクエリ応答カウント値増分より小さい場合、マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断するよう構成された判断サブユニットと、
異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、取得された当該ポート番号をマルチキャストパスから削除するよう構成された削除サブユニットと
を含む。
【0022】
第3の態様の第3の可能な実施方式に関連し、第3の態様の第4の可能な実施方式において、削除サブユニットは、マルチキャストグループアドレスを伝える削除メッセージをスイッチへ送信するよう構成されており、これにより、スイッチは、マルチキャストグループアドレスに対応するフローエントリーを削除し、
削除サブユニットは、マルチキャストグループのマルチキャストグループアドレスを伝えるクエリメッセージをスイッチへ送信するよう構成されており、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信し、
削除サブユニットは、
マルチキャストグループに含まれるマルチキャストグループメンバーによりクエリメッセージに従って送信された少なくとも1つの第1クエリ応答を別々にカプセル化することにより得られ、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、スイッチにより報告された少なくとも1つの第2クエリ応答を受信し、
マルチキャストグループアドレスとポート番号との間の格納されている対応関係から対応するポート番号をマルチキャストグループアドレスに従って取得し、
取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較して、異常退去したマルチキャストグループメンバーに対応する当該ポート番号を判断する
よう構成されている。
【0023】
第3の態様、第3の態様の第1の可能な実施方式、第3の態様の第2の可能な実施方式、第3の態様の第3の可能な実施方式、または第3の態様の第4の可能な実施方式に関連し、第3の態様の第5の可能な実施方式において、デバイスは、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信するよう構成された第1受信モジュールと、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、マルチキャストグループメンバーのためにフローエントリーを作成するよう構成された作成モジュールと、
フローエントリーをスイッチへ送信するよう構成された第2送信モジュールであって、これにより、スイッチは、対応するフローテーブルにフローエントリーを格納する、第2送信モジュールと
をさらに備える。
【0024】
第4態様によると、マルチキャストグループメンバーを管理するためのデバイスであって、
プリセット周期の間隔で、コントローラにより送信されたクエリメッセージを受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信するよう構成された第2受信モジュールと、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1クエリ応答を受信するよう構成された第3受信モジュールと、
格納されているフローテーブルが、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号が存在するフローエントリーとを含む場合、第1クエリ応答を破棄し、第1クエリ応答の数に従って現期間クエリ応答のカウント値を取得するよう構成された破棄モジュールと、
現期間クエリ応答のカウント値をコントローラへ送信するよう構成された第3送信モジュールであって、これにより、コントローラは、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する、第3送信モジュールと
を備える、デバイスが提供される。
【0025】
第4態様に関連し、第4態様の第1の可能な実施方式において、第3送信モジュールは、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝える、コントローラにより送信されたフローエントリークエリメッセージを受信するよう構成された第2受信ユニットと、
当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子とに従って、対応するクエリ応答カウント値を格納されているフローテーブルから取得するよう構成された第2取得ユニットと、
取得されたクエリ応答カウント値を現期間クエリ応答のカウント値として用い、現期間クエリ応答のカウント値をコントローラへ送信するよう構成された第2送信ユニットと
を有する。
【0026】
第4態様、または第4態様の第1の可能な実施方式に関連し、第4態様の第2の可能な実施方式において、デバイスは、
マルチキャストグループを異常退去したマルチキャストグループメンバーが存在するとコントローラが判断した場合に、マルチキャストグループアドレスを伝える、コントローラにより送信された削除メッセージを受信し、マルチキャストグループアドレスに従って、対応するフローエントリーをフローテーブルから削除するよう構成された第1削除モジュールと、
マルチキャストグループのマルチキャストグループアドレスを伝える、コントローラにより送信されたクエリメッセージが受信された場合に、クエリメッセージを、マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信するよう構成された第4送信モジュールと、
マルチキャストグループアドレスをそれぞれが伝える、マルチキャストグループに含まれるマルチキャストグループメンバーにより送信された少なくとも1つの第1クエリ応答を受信するよう構成された第4受信モジュールと、
少なくとも1つの第1クエリ応答を別々にカプセル化して、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号とをそれぞれが伝える少なくとも1つの第2クエリ応答を得るよう構成された第1カプセル化モジュールと、
少なくとも1つの第2クエリ応答をコントローラへ送信するよう構成された第5送信モジュールであって、これにより、コントローラは、異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、かつ、取得された当該ポート番号をマルチキャストパスから削除するよう構成された第5送信モジュールと
をさらに備える。
【0027】
第4態様、第4態様の第1の可能な実施方式、または第4態様の第2の可能な実施方式に関連し、第4態様の第3の可能な実施方式において、デバイスは、
マルチキャストグループアドレスとポート番号とを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信するよう構成された第5受信モジュールと、
第1マルチキャスト参加メッセージをカプセル化して、マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得るよう構成された第2カプセル化モジュールと、
第2マルチキャスト参加メッセージをコントローラへ送信するよう構成された第6送信モジュールであって、これにより、コントローラは、第2マルチキャスト参加メッセージに従って、マルチキャストグループメンバーのためにフローエントリーを作成する、第6送信モジュールと、
コントローラにより送信されたフローエントリーを受信し、フローエントリーをフローテーブルに格納するよう構成された格納モジュールと
をさらに備える。
【0028】
第4態様、第4態様の第1の可能な実施方式、第4態様の第2の可能な実施方式、または第4態様の第3の可能な実施方式に関連し、第4態様の第4の可能な実施方式において、デバイスは、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト退去メッセージを受信するよう構成された第6受信モジュールと、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、対応するフローエントリーをフローテーブルから削除するよう構成された第2削除モジュールと、
第1マルチキャスト退去メッセージをカプセル化して、マルチキャストグループアドレスと当該ポート番号とを伝える第2マルチキャスト退去メッセージを得るよう構成された第3カプセル化モジュールと、
第2マルチキャスト退去メッセージをコントローラへ送信するよう構成された第7送信モジュールであって、これにより、コントローラは、マルチキャストパスから当該ポート番号を削除する、第7送信モジュールと
をさらに備える。
【0029】
本願発明の実施形態で提供される技術的解決法は、以下の有利な効果をもたらす。
【0030】
本願発明の実施形態において、コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【図面の簡単な説明】
【0031】
本願発明の実施形態における技術的解決法をより明確に説明するべく、以下に、それら実施形態を説明するために必要となる添付の図面を簡単に説明する。明らかに、以下の説明における添付の図面は、単に本願発明のいくつかの実施形態を示し、当業者は、創造的努力なしでこれら添付の図面から他の複数の図面をさらに導き出し得る。
【0032】
図1】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するためのシステムのアーキテクチャ図である。
【0033】
図2】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための方法のフローチャートである。
【0034】
図3】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための他の方法のフローチャートである。
【0035】
図4】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための他の方法のフローチャートである。
【0036】
図5】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するためのデバイスの概略構造図である。
【0037】
図6】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための他のデバイスの概略構造図である。
【0038】
図7】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための他のデバイスの概略構造図である。
【0039】
図8】本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための他のデバイスの概略構造図である。
【発明を実施するための形態】
【0040】
本願発明の目的、技術的解決法、および利点をより明確にすべく、以下では、添付の図面に関連して詳細に本願発明の実施形態がさらに説明される。
【0041】
図1は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するためのシステムのアーキテクチャ図である。マルチキャストグループメンバーを管理するためのシステムは、コントローラと、スイッチと、ホストとを含む。複数のホストが1つのスイッチに接続され得、それら複数のホストは全て、1つのマルチキャストグループに参加し得、1つのホストが、同時に複数のマルチキャストグループに参加し得、マルチキャストグループに参加しているホストが、マルチキャストグループメンバーと呼ばれ得る。コントローラは、クエリメッセージをスイッチへ送信し得、スイッチは、マルチキャストグループに含まれるマルチキャストグループメンバーへクエリメッセージを送信する。スイッチは、マルチキャストグループに含まれるマルチキャストグループメンバーにより送信された第1クエリ応答を受信し、第1クエリ応答をカプセル化して第2クエリ応答を得る。コントローラは、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを第2クエリ応答に従って判断して、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する。本願発明の本実施形態において、フローテーブルがスイッチにおいて管理され、フローテーブルは少なくとも、マルチキャストグループアドレスとポート番号との間の対応関係と、マルチキャストグループアドレスとクエリ応答カウント値との間の対応関係とを含む。マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1クエリ応答をスイッチが受信した場合に、スイッチは、マルチキャストグループメンバーに対応するポート番号を取得する。スイッチにより管理されているフローテーブルがマルチキャストグループアドレスと取得された当該ポート番号との間の対応関係を含む場合、スイッチは第2クエリ応答をコントローラへ送信せず、マルチキャストグループアドレスに対応するクエリ応答カウント値を増やして現期間クエリ応答のカウント値を得る。コントローラは、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。マルチキャストグループメンバーを管理する具体的な実装プロセスについては、詳細に関して以下の実施形態を参照されたい。
【0042】
図2は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための方法のフローチャートである。図2を参照すると、方法は以下の段階を含む。
【0043】
段階201:プリセット周期の間隔で、クエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。
【0044】
段階202:現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得する。
【0045】
段階203:マルチキャストグループに含まれるマルチキャストグループメンバーを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って管理する。
【0046】
オプションで、現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得する段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子との両方に対応するクエリ応答カウント値について問い合わせる、段階と、
スイッチにより送信されたクエリ応答カウント値を受信し、受信されたクエリ応答カウント値を現期間クエリ応答のカウント値として判断する段階と
を含む。
【0047】
オプションで、マルチキャストグループに含まれるマルチキャストグループメンバーを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って管理する段階は、
マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する段階と、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値との間の差を計算する段階と、
マルチキャストグループに含まれるマルチキャストグループメンバーを、差とプリセットクエリ応答カウント値増分とに従って管理する段階と
を含む。
【0048】
オプションで、マルチキャストグループに含まれるマルチキャストグループメンバーを、差とプリセットクエリ応答カウント値増分とに従って管理する段階は、
差がプリセットクエリ応答カウント値増分より小さい場合、マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断する段階と、
異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、取得された当該ポート番号をマルチキャストパスから削除する段階と
を含む。
【0049】
オプションで、異常退去したマルチキャストグループメンバーに対応するポート番号を取得する段階は、
マルチキャストグループアドレスを伝える削除メッセージをスイッチへ送信する段階であって、これにより、スイッチは、マルチキャストグループアドレスに対応するフローエントリーを削除する段階と、
マルチキャストグループのマルチキャストグループアドレスを伝えるクエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する、段階と、
マルチキャストグループに含まれるマルチキャストグループメンバーによりクエリメッセージに従って送信された少なくとも1つの第1クエリ応答を別々にカプセル化することにより得られ、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、スイッチにより報告される少なくとも1つの第2クエリ応答を受信する段階と、
マルチキャストグループアドレスとポート番号との間の格納されている対応関係から、マルチキャストグループアドレスに従って、対応するポート番号を取得する段階と、
取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較して、異常退去したマルチキャストグループメンバーに対応する当該ポート番号を判断する段階と
を含む。
【0050】
さらに、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、マルチキャストグループメンバーのためにフローエントリーを作成する段階と、
フローエントリーをスイッチへ送信する段階であって、これにより、スイッチは、対応するフローテーブルにフローエントリーを格納する、段階と
をさらに含む。
【0051】
本願発明の本実施形態において、コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【0052】
図3は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための方法のフローチャートである。図3を参照すると、方法は以下の段階を含む。
【0053】
段階301:コントローラにより送信されたクエリメッセージをプリセット周期の間隔で受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。
【0054】
段階302:マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1クエリ応答を受信する。
【0055】
段階303:格納されているフローテーブルが、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号が存在するフローエントリーとを含む場合、第1クエリ応答を破棄し、第1クエリ応答の数に従って現期間クエリ応答のカウント値を取得する。
【0056】
段階304:現期間クエリ応答のカウント値をコントローラへ送信し、これにより、コントローラは、マルチキャストグループに含まれるマルチキャストグループメンバーを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って管理する。
【0057】
オプションで、現期間クエリ応答のカウント値をコントローラへ送信する段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝える、コントローラにより送信されたフローエントリークエリメッセージを受信する段階と、
当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子とに従って、対応するクエリ応答カウント値を格納されているフローテーブルから取得する段階と、
取得されたクエリ応答カウント値を、現期間クエリ応答のカウント値として用い、現期間クエリ応答のカウント値をコントローラへ送信する段階と
を含む。
【0058】
オプションで、現期間クエリ応答のカウント値をコントローラへ送信する段階の後に、方法は、
マルチキャストグループを異常退去したマルチキャストグループメンバーが存在するとコントローラが判断した場合に、マルチキャストグループアドレスを伝える、コントローラにより送信された削除メッセージを受信し、マルチキャストグループアドレスに従って、対応するフローエントリーをフローテーブルから削除する段階と、
マルチキャストグループのマルチキャストグループアドレスを伝える、コントローラにより送信されたクエリメッセージが受信された場合に、クエリメッセージを、マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信する段階と、
マルチキャストグループアドレスをそれぞれが伝える、マルチキャストグループに含まれるマルチキャストグループメンバーにより送信された少なくとも1つの第1クエリ応答を受信する段階と、
少なくとも1つの第1クエリ応答を別々にカプセル化して、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号とをそれぞれが伝える少なくとも1つの第2クエリ応答を得る段階と、
少なくとも1つの第2クエリ応答をコントローラへ送信する段階であって、これにより、コントローラは、異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、かつ、取得された当該ポート番号をマルチキャストパスから削除する段階と
をさらに含む。
【0059】
オプションで、マルチキャストグループメンバーにより送信された第1クエリ応答を受信する段階の前に、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
第1マルチキャスト参加メッセージをカプセル化して、マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得る段階と、
第2マルチキャスト参加メッセージをコントローラへ送信する段階であって、これにより、コントローラは、第2マルチキャスト参加メッセージに従って、マルチキャストグループメンバーのためにフローエントリーを作成する、段階と、
コントローラにより送信されたフローエントリーを受信し、フローエントリーをフローテーブルに格納する段階と
をさらに含む。
【0060】
さらに、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト退去メッセージを受信する段階と、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、対応するフローエントリーをフローテーブルから削除する段階と、
第1マルチキャスト退去メッセージをカプセル化して、マルチキャストグループアドレスと当該ポート番号とを伝える第2マルチキャスト退去メッセージを得る段階と、
第2マルチキャスト退去メッセージをコントローラへ送信する段階であって、これにより、コントローラは、マルチキャストパスから当該ポート番号を削除する、段階と
をさらに含む。
【0061】
本願発明の本実施形態において、コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【0062】
図4は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するための方法のフローチャートである。図4を参照すると、方法は以下の段階を含む。
【0063】
段階401:マルチキャストグループメンバーが、マルチキャストグループアドレスを伝える第1マルチキャスト参加メッセージをスイッチへ送信する。
【0064】
ホストがマルチキャストグループに参加する場合に、そのホストがマルチキャストグループメンバーと呼ばれ得る。マルチキャストグループメンバーは、マルチキャスト参加データパケットの形態で送信され得る、またはもちろん、本願発明において具体的には限定されない他の形態で送信され得る第1マルチキャスト参加メッセージをスイッチへ送信する。
【0065】
マルチキャストグループは、マルチキャストソースとマルチキャスト受信機とを含むことに留意されるべきである。本願発明の本実施形態において、マルチキャスト受信機はマルチキャストグループメンバーであり、マルチキャストソースはコントローラに接続され、これにより、コントローラは、マルチキャストソースにより送信されたデータストリームを転送し、マルチキャストグループアドレスは、マルチキャストソースのアドレスである。マルチキャストソースは本願発明に関わっていないので、マルチキャストソースは本願発明の本実施形態において示されていない。
【0066】
段階402:スイッチは、第1マルチキャスト参加メッセージを受信し、第1マルチキャスト参加メッセージをカプセル化して、マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得、第2マルチキャスト参加メッセージをコントローラへ送信する。
【0067】
具体的には、スイッチは、第1マルチキャスト参加メッセージを受信し、マルチキャストグループメンバーに対応するポート番号を取得する。第1マルチキャスト参加メッセージはカプセル化されて、マルチキャストグループアドレスと取得された当該ポート番号とを伝える第2マルチキャスト参加メッセージが得られる。スイッチは、第2マルチキャスト参加メッセージをコントローラへ送信する。
【0068】
スイッチは、SDNを実装するためのプロトコルであるOpenFlowネットワークプロトコルに従ってマルチキャスト参加データパケットをカプセル化し得る。
【0069】
第1マルチキャスト参加メッセージがマルチキャスト参加データパケットの形態で送信されて、コントローラがマルチキャスト参加データパケットを識別出来るようにする場合に、スイッチはさらに、OpenFlowネットワークプロトコルに従ってマルチキャスト参加データパケットをカプセル化する必要があり、カプセル化されたマルチキャスト参加データパケットをコントローラへ送信する。
【0070】
マルチキャストグループメンバーに対応する当該ポート番号は、マルチキャストグループメンバーをスイッチへ接続するのに用いられるポートのポート番号である。
【0071】
段階403:コントローラは、第2マルチキャスト参加メッセージを受信し、第2マルチキャスト参加メッセージにより伝えられるマルチキャストグループアドレスと当該ポート番号とに従って、マルチキャストグループメンバーのためのフローエントリーを作成し、フローエントリーをスイッチへ送信する。
【0072】
少なくとも1つのフローエントリーがフローテーブルを形成し得、各フローエントリーが転送ルールである。コントローラは、マルチキャストグループメンバーのために対応するフローエントリーを作成し、これにより、マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、マルチキャストグループメンバーに対応するフローエントリーについて問い合わせて、第1クエリ応答の転送ルールを判断する。
【0073】
本願発明の本実施形態において、スイッチは、1つのフローテーブル、または2つのフローテーブルを管理し得る。スイッチが2つのフローテーブルを管理する場合に、それら2つのフローテーブルは、第1フローテーブルと第2フローテーブルとである。第1フローテーブルは、少なくとも1つの第1フローエントリーを含み、第1フローエントリーは、少なくともマルチキャストグループアドレスと、マルチキャストグループメンバーをスイッチへ接続するのに用いられるポートの番号であるポート番号と、マルチキャストグループメンバーにより送信された第1クエリ応答に対して実行される必要があるオペレーションである実行予定オペレーションとを含む。第2フローテーブルは、少なくとも1つの第2フローエントリーを含み、第2フローエントリーは、少なくともマルチキャストグループアドレスと、クエリ応答カウント値と、実行予定オペレーションとを含む。第2マルチキャスト参加メッセージにより伝えられるマルチキャストグループアドレスと当該ポート番号とに従って、マルチキャストグループメンバーのためにコントローラにより作成されるフローエントリーは、第1フローエントリーである。
【0074】
本願発明の本実施形態において、マルチキャストグループアドレスは、インターネットプロトコル(IP)アドレスであり得、または媒体アクセス制御(MAC)アドレスであり得る。本願発明の本実施形態において、マルチキャストグループアドレスがIPアドレスである例を用いて説明が行われる。
【0075】
例えば、第2マルチキャスト参加メッセージにより伝えられるマルチキャストグループアドレスは225.1.1.1であり、当該ポート番号は5である。この場合、マルチキャストグループアドレス225.1.1.1およびポート番号5に従って、マルチキャストグループメンバーのためにコントローラにより作成されるフローエントリーは、以下のテーブル1に示される第1フローエントリーであり得る。第1フローエントリーはマルチキャストグループアドレス225.1.1.1およびポート番号5を含むだけでなく、実行予定オペレーションも含む。実行予定オペレーションは、第2フローテーブルへ行くことである。
テーブル1
【表1】
【0076】
本願発明の本実施形態において、第1フローエントリーが、マルチキャストグループアドレスと、当該ポート番号と、実行予定オペレーションとを含む例のみを用いて説明が行われていることに留意されるべきである。実際の応用において、第1フローエントリーはさらに他の情報を含み得る。
【0077】
段階404:スイッチは、フローエントリーを受信し、対応するフローテーブルにフローエントリーを格納する。
【0078】
マルチキャストグループメンバーのためにコントローラにより作成されたフローエントリーは第1フローエントリーであるので、スイッチにより受信されるフローエントリーは第1フローエントリーであり、スイッチが第1フローエントリーを受信した場合に、スイッチは、フローエントリーを第1フローテーブルに格納する。
【0079】
例えば、複数の第1フローエントリーを含む第1フローテーブルが以下のテーブル2に示されており、マルチキャストグループメンバーに対応する受信された第1フローエントリーは、以下のテーブル2に示される第1フローテーブルに格納され得る。
テーブル2
【表2】
【0080】
マルチキャストグループメンバーは、段階401〜404に従って、マルチキャストグループに参加する。コントローラは、マルチキャストグループメンバーのために対応するフローエントリーを作成する。コントローラがフローエントリーをスイッチに格納した後、スイッチは、マルチキャストグループメンバーに対応するフローエントリーを管理し、マルチキャストグループメンバーに対応するフローエントリーに従って、対応するオペレーションを、マルチキャストグループメンバーにより送信された第1クエリ応答に対して実行し得る。コントローラによる、マルチキャストグループに含まれるマルチキャストグループメンバーの管理が、以下の段階405〜412に従って実装され得る。
【0081】
段階405:コントローラは、プリセット周期の間隔で、クエリメッセージをスイッチへ送信する。
【0082】
コントローラは、プリセット周期の間隔で、マルチキャストグループに含まれるマルチキャストグループメンバーを管理し、コントローラは、マルチキャストグループに含まれるマルチキャストグループメンバーにより送信される第1クエリ応答に従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する。したがって、コントローラは、プリセット周期の間隔で、クエリメッセージをスイッチへ送信する必要がある。
【0083】
さらに、コントローラは少なくとも1つのスイッチに接続され得、各スイッチはさらに、少なくとも1つのマルチキャストグループメンバーに接続されて、スイッチに接続された各マルチキャストグループメンバーへクエリメッセージを送信し得るので、コントローラは、予約アドレスである宛先アドレスをクエリメッセージへ追加し得る。
【0084】
予約アドレスは特別なアドレスであり、予約アドレスはネットワーク側により割り当てられない。したがって、予約アドレスを伝えるクエリメッセージを受信した場合に、スイッチは、スイッチに含まれる各ポートに接続されたマルチキャストグループメンバーへクエリメッセージを送信するよう指示され得る。
【0085】
クエリメッセージは、クエリデータパケットの形態で送信され得、または、本願発明において具体的には限定されない他の形態で送信され得る。
【0086】
段階406:スイッチはクエリメッセージを受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。
【0087】
クエリメッセージを受信した場合に、スイッチは、クエリメッセージにより伝えられる宛先アドレスは予約アドレスであると判断する。いずれかのマルチキャストグループメンバーがスイッチのポートに接続されているかに関わらず、クエリメッセージはスイッチの各ポートに送信され、これにより、スイッチはクエリメッセージを送達する。
【0088】
クエリメッセージがクエリデータパケットの形態で送信されて、マルチキャストグループメンバーがクエリデータパケットを識別出来るようにする場合に、スイッチはさらに、OpenFlowネットワークプロトコルに従って、クエリデータパケットをカプセル化する必要があり、カプセル化されたクエリデータパケットをマルチキャストグループメンバーへ送信する。
【0089】
段階407:クエリメッセージを受信した場合に、マルチキャストグループに含まれるマルチキャストグループメンバーが、マルチキャストグループアドレスを伝える第1クエリ応答をスイッチへ送信する。
【0090】
具体的には、マルチキャストグループに含まれるマルチキャストグループメンバーがクエリメッセージを受信した場合に、マルチキャストグループに含まれるマルチキャストグループメンバーは、マルチキャストグループアドレスを伝える対応する第1クエリ応答をクエリメッセージに従って生成し、第1クエリ応答をスイッチへ送信する。
【0091】
マルチキャストグループは、少なくとも1つのマルチキャストグループメンバーを含む。したがって、スイッチはまた、少なくとも1つの第1クエリ応答を受信し得る。
【0092】
段階408:格納されているフローテーブルが、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号に対応するフローエントリーとを含む場合、第1クエリ応答を破棄し、対応するクエリ応答カウント値を増やす。
【0093】
具体的には、スイッチがクエリ応答を受信した場合に、スイッチは、マルチキャストグループメンバーに対応するポート番号を取得し、第1クエリ応答により伝えられるマルチキャストグループメンバーおよび取得された当該ポート番号を、格納されている第1フローテーブルに含まれる各第1フローエントリーにあるマルチキャストグループアドレスおよびポート番号と比較し、格納されている第1フローテーブルが、マルチキャストグループアドレスと当該ポート番号とに対応する第1フローエントリーを含む場合、スイッチは、マルチキャストグループアドレスと当該ポート番号との両方に対応する実行予定オペレーションを第1フローテーブルから取得し、実行予定オペレーションに従って第2フローテーブルの問い合わせを開始する。マルチキャストグループアドレスに従って第2フローテーブルから見つかった対応する実行予定オペレーションが破棄オペレーションである場合、第1クエリ応答は破棄される。マルチキャストグループアドレスに従って、対応するクエリ応答カウント値が第2フローテーブルに含まれる第2フローエントリーから見つけられ、見つけられたクエリ応答カウント値は増やされる。
【0094】
各マルチキャストグループメンバーは、別々にスイッチのポートに接続されている。したがって、スイッチが第1クエリ応答を受信した場合に、スイッチは、マルチキャストグループメンバーをスイッチへ接続するのに用いられるポートの番号を取得し、取得された当該ポート番号を、マルチキャストグループメンバーに対応するポート番号として判断し得る。
【0095】
本願発明の本実施形態において、格納されている第1フローテーブルがマルチキャストグループアドレスと当該ポート番号とに対応する第1フローエントリーを含む場合に、第1クエリ応答は、そのまま破棄され得、または第1クエリ応答は、後の使用のために、一時的に格納され得る。すなわち、第2フローテーブルにおけるマルチキャストグループアドレスに対応する実行予定オペレーションは、一時的な格納オペレーションであり得る。
【0096】
見つけられたクエリ応答カウント値を増やす具体的なオペレーションは、見つけられたクエリ応答カウント値を1増やすことであり得る。
【0097】
格納されている第1フローテーブルが、マルチキャストグループアドレスと当該ポート番号とに対応する第1フローエントリーを含む場合に、マルチキャストグループメンバーが既にマルチキャストグループに参加していると判断されることに留意されるべきである。コントローラの負荷を少なくすべく、第1クエリ応答はコントローラへ送信されないが、スイッチにおけるマルチキャストグループアドレスに対応するクエリ応答カウント値は増やされる。
【0098】
本願発明の本実施形態において、第2フローエントリーが、マルチキャストグループアドレスと、クエリ応答カウント値と、実行予定オペレーションとを含む例のみを用いて説明が行われていることに留意されるべきである。実際の応用において、第2フローエントリーはさらに他の情報を含み得る。
【0099】
例えば、マルチキャストグループアドレスは225.1.1.1であり、当該ポート番号は5であり、スイッチは、マルチキャストグループアドレス225.1.1.1およびポート番号5を、上記のテーブル2における各第1フローエントリーに含まれるマルチキャストグループアドレスおよび当該ポート番号と比較し、マルチキャストグループアドレス225.1.1.1およびポート番号5が、上記のテーブル2に示されている第1フローテーブルに存在すると判断し、マルチキャストグループアドレス225.1.1.1とポート番号5との両方に対応する実行予定オペレーションが第2フローテーブルに行くことであることを取得する。マルチキャストグループアドレス225.1.1.1に従って、以下のテーブル3に示されている第2フローテーブルから取得された対応する実行予定オペレーションは、破棄オペレーションである。この場合、第1クエリ応答は破棄される。
テーブル3
【表3】
【0100】
さらに、第1クエリ応答が破棄された後に、対応するクエリ応答カウント値5が、マルチキャストグループアドレス225.1.1.1に従って、上記のテーブル2から見つけられ、見つけられたクエリ応答カウント値5は1増やされて、クエリ応答カウント値6が得られる。この場合、上記のテーブル3は以下のテーブル4となる。
テーブル4
【表4】
【0101】
スイッチが少なくとも1つの第1クエリ応答を受信し得るので、各第1クエリ応答に関して、スイッチは段階408において方法を実行し得る。
【0102】
段階409:コントローラが、現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得した場合に、コントローラは、ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージをスイッチへ送信する。
【0103】
コントローラが、スイッチを用いてクエリメッセージをマルチキャストグループメンバーへ送信した後に、各マルチキャストグループメンバーがクエリメッセージを受信し、クエリメッセージに対応する第1クエリ応答をスイッチへ送信するのにある期間かかり、スイッチが第1クエリ応答を処理するのにもある期間かかる。したがって、クエリメッセージをスイッチへ送信した後に、コントローラは計時を開始する。計時時間の長さが予め設定された期間に達した場合に、コントローラは、フローエントリークエリメッセージをスイッチへ送信して、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する。
【0104】
予め設定された期間は、事前にコントローラにより設定され、予め設定された期間に、マルチキャストグループに含まれるマルチキャストグループメンバーは、第1クエリ応答のスイッチへの送信を完了し得、スイッチも第1クエリ応答の処理を完了し得る。
【0105】
ターゲットフローテーブル識別子は、フローテーブルを一意に識別するのに用いられ、ターゲットフローテーブル識別子は、フローテーブルの名前であり得る、フローテーブルに関してコントローラにより設定されたシーケンス番号であり得る、などである。ターゲットフローエントリー識別子は、フローエントリーを一意に識別するのに用いられ、ターゲットフローエントリー識別子は、フローエントリーのシーケンス番号であり得る、フローテーブルにおけるフローエントリーの位置であり得る、フローエントリーに含まれるマルチキャストグループアドレスであり得る、などである。一意の対応するフローエントリーが、当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子とに従って、フローテーブルから見つけられ得る。
【0106】
段階410:スイッチがフローエントリークエリメッセージを受信し、当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子とに従って、格納されているフローテーブルから対応するクエリ応答カウント値を取得する。
【0107】
本願発明の本実施形態において、フローエントリークエリメッセージは特定のフォーマットを有し、コントローラは、フローエントリークエリメッセージのそのフォーマットに従って、フローエントリークエリメッセージを生成し得る。
【0108】
例えば、ターゲットフローテーブル識別子は、問い合わせられる必要があるフローテーブルは第2フローテーブルであると示し、ターゲットフローエントリー識別子は、フローエントリーに含まれるマルチキャストグループアドレス225.1.1.1であり、スイッチは、フローエントリークエリメッセージを受信し、マルチキャストグループアドレス225.1.1.1に従って、上記のテーブル4に示されるフローテーブルから対応するクエリ応答カウント値6を取得する。
【0109】
段階411:スイッチは、取得されたクエリ応答カウント値を現期間クエリ応答のカウント値として用い、現期間クエリ応答のカウント値をコントローラへ送信する。
【0110】
フローエントリークエリメッセージは、スイッチがクエリメッセージを送信してから予め設定された期間後に送信されるので、スイッチがフローエントリークエリメッセージを受信した場合に、取得されたクエリ応答カウント値は、マルチキャストグループに含まれる各マルチキャストグループメンバーにより送信される第1クエリ応答が処理された後に得られる結果である。この場合、取得されたクエリ応答カウント値は、現期間クエリ応答のカウント値として用いられ、コントローラへ送信され得る。
【0111】
段階412:コントローラは、現期間クエリ応答のカウント値を受信し、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する。
【0112】
具体的には、この段階は、以下を含む次の段階(1)〜(4)を用いて実装され得る。
【0113】
(1)コントローラが、現期間クエリ応答のカウント値を受信する。
【0114】
(2)マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する。
【0115】
具体的には、コントローラは、マルチキャストグループアドレスに従って、マルチキャストグループアドレスとプリセットクエリ応答カウント値増分との間の格納されている対応関係から対応するプリセットクエリ応答カウント値増分を取得し、取得されたプリセットクエリ応答カウント値増分を、マルチキャストグループに対応するプリセットクエリ応答カウント値増分として判断する。
【0116】
プリセットクエリ応答カウント値増分は、前期間にマルチキャストグループに含まれていたマルチキャストグループメンバーの実際の数である。マルチキャストグループに含まれるマルチキャストグループメンバーが前期間に変わった場合に、プリセットクエリ応答カウント値増分も変わる。
【0117】
さらに、コントローラが、最初にマルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラは、プリセットクエリ応答カウント値増分を0に設定し得る。
【0118】
(3)現期間クエリ応答のカウント値と前期間クエリ応答のカウント値との間の差を計算する。
【0119】
具体的には、前期間クエリ応答のカウント値が現期間クエリ応答のカウント値から減算されて、差が得られる。
【0120】
マルチキャストグループに含まれるマルチキャストグループメンバーにより送信された第1クエリ応答が受信される度に、スイッチは、マルチキャストグループに対応するクエリ応答カウント値を増やす。したがって、クエリ応答カウント値は、期間の数が増えるにつれ増やされ、すなわち現期間クエリ応答のカウント値は、前期間クエリ応答のカウント値より大きいか、またはそれと等しい。したがって、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値との間の差が計算される必要があり、マルチキャストグループに対応するプリセットクエリ応答カウント値増分が取得される必要があり、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかが、差とプリセットクエリ応答カウント値増分とに従って判断される。
【0121】
(4)差とプリセットクエリ応答カウント値増分とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する。
【0122】
具体的には、差がプリセットクエリ応答カウント値増分と比較され、差がプリセットクエリ応答カウント値増分より小さい場合、マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断され、異常退去したマルチキャストグループメンバーに対応するポート番号が取得され、取得された当該ポート番号がマルチキャストパスから削除される。
【0123】
好ましくは、異常退去したマルチキャストグループメンバーに対応する当該ポート番号が取得された後に、コントローラはさらに、スイッチを用いて、取得された当該ポート番号に従って、クエリメッセージをマルチキャストグループメンバーへ送信し得る。マルチキャストグループメンバーが第1クエリ応答を返していない場合、そのマルチキャストグループメンバーが、異常退去したマルチキャストグループメンバーであると判断し、取得された当該ポート番号がマルチキャストパスかれ削除されて、マルチキャストグループメンバーへのマルチキャストデータストリームの転送を停止する。
【0124】
異常退去したマルチキャストグループメンバーに対応するポート番号を取得する具体的なオペレーションは、以下のオペレーションであり得る。コントローラにより、マルチキャストグループアドレスを伝える削除メッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループアドレスに対応するフローエントリーを削除する。スイッチが、マルチキャストグループアドレスに対応するフローエントリーを削除した後に、コントローラにより、マルチキャストグループのマルチキャストグループアドレスを伝えるクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。クエリメッセージを受信した場合に、マルチキャストグループに含まれるマルチキャストグループメンバーにより、第1クエリ応答をスイッチへ送信する。スイッチにより、少なくとも1つの第1クエリ応答を受信し、受信された少なくとも1つの第1クエリ応答を別々にカプセル化して少なくとも1つの第2クエリ応答を得、少なくとも1つの第2クエリ応答をコントローラへ報告する。コントローラにより、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、スイッチにより報告された少なくとも1つの第2クエリ応答を受信する。コントローラにより、マルチキャストグループアドレスに従って、マルチキャストグループアドレスとポート番号との間の格納されている対応関係から対応するポート番号を取得する。取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較して、異常退去したマルチキャストグループメンバーに対応する当該ポート番号を判断する。
【0125】
マルチキャストグループアドレスに従って、マルチキャストグループアドレスとポート番号との間の格納されている対応関係からコントローラにより取得される対応するポート番号は、少なくとも1つのポート番号である。この場合、コントローラにより、取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較して、異常退去したマルチキャストグループメンバーに対応する当該ポート番号を判断する具体的なオペレーションは、取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較し、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号を除いてポート番号を、取得された当該ポート番号から選択し、選択されたポート番号を、異常退去したマルチキャストグループメンバーに対応する当該ポート番号として判断することであり得る。
【0126】
コントローラは、取得された当該ポート番号をマルチキャストパスから削除し、マルチキャストデータが続いて送信された場合にポートへのマルチキャストデータの送信を停止し、すなわち、異常退去したマルチキャストグループメンバーへのマルチキャストデータの送信を停止する。
【0127】
さらに、差がプリセットクエリ応答カウント値増分と等しい場合、マルチキャストグループに含まれるマルチキャストグループメンバーが変わらないと判断され、何ら処理が実行されず、オペレーションは終了する。
【0128】
さらに、本願発明の本実施形態において、マルチキャストグループを異常退去したマルチキャストグループメンバーのみならず、マルチキャストグループを通常退去するマルチキャストグループメンバーも存在し得る。マルチキャストグループメンバーがマルチキャストグループを通常退去する場合に、具体的なオペレーション処理は以下のものであり得る。マルチキャストグループメンバーにより、マルチキャストグループアドレスを伝える第1マルチキャスト退去メッセージをスイッチへ送信する。スイッチにより、第1マルチキャスト退去メッセージを受信し、第1マルチキャスト退去メッセージをカプセル化して、マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト退去メッセージを得る。スイッチにより、マルチキャストグループアドレスと当該ポート番号とに従って、フローテーブルから対応するフローエントリーを削除する。スイッチにより、第2マルチキャスト退去メッセージをコントローラへ報告し、これにより、コントローラは、マルチキャストパスから当該ポート番号を削除する。
【0129】
本願発明の本実施形態において、マルチキャストグループメンバーがマルチキャストグループに参加する場合に、コントローラが、マルチキャストグループメンバーのために対応するフローエントリーを作成し、スイッチが、フローエントリーを管理する。コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。予め設定された期間の後に、コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し得、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【0130】
図5は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するためのデバイスの概略構造図である。図5を参照すると、デバイスは、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信するよう構成された第1送信モジュール501であって、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する、第1送信モジュール501と、
現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得するよう構成された取得モジュール502と、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理するよう構成された管理モジュール503と
を備える。
【0131】
オプションで、取得モジュール502は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージをスイッチへ送信するよう構成された第1送信ユニットであって、これにより、スイッチは、当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子との両方に対応するクエリ応答カウント値について問い合わせる、第1送信ユニットと、
スイッチにより送信されたクエリ応答カウント値を受信し、受信されたクエリ応答カウント値を、現期間クエリ応答のカウント値として判断するよう構成された第1受信ユニットと
を有する。
【0132】
オプションで、管理モジュール503は、
マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得するよう構成された第1取得ユニットと、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値との間の差を計算するよう構成された計算ユニットと、
差とプリセットクエリ応答カウント値増分とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理するよう構成された管理ユニットと
を有する。
【0133】
オプションで、管理ユニットは、
差がプリセットクエリ応答カウント値増分より小さい場合、マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断するよう構成された判断サブユニットと、
異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、取得された当該ポート番号をマルチキャストパスから削除するよう構成された削除サブユニットと
を含む。
【0134】
オプションで、削除サブユニットは具体的には、マルチキャストグループアドレスを伝える削除メッセージをスイッチへ送信するよう構成されており、これにより、スイッチは、マルチキャストグループアドレスに対応するフローエントリーを削除し、
削除サブユニットは具体的には、マルチキャストグループのマルチキャストグループアドレスを伝えるクエリメッセージをスイッチへ送信するよう構成されており、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信し、
削除サブユニットは具体的には、
マルチキャストグループに含まれるマルチキャストグループメンバーによりクエリメッセージに従って送信された少なくとも1つの第1クエリ応答を別々にカプセル化することにより得られ、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、スイッチにより報告された少なくとも1つの第2クエリ応答を受信し、
マルチキャストグループアドレスとポート番号との間の格納されている対応関係から対応するポート番号をマルチキャストグループアドレスに従って取得し、
取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較して、異常退去したマルチキャストグループメンバーに対応する当該ポート番号を判断する
よう構成されている。
【0135】
さらに、デバイスは、マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信するよう構成された第1受信モジュールと、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、マルチキャストグループメンバーのためにフローエントリーを作成するよう構成された作成モジュールと、
フローエントリーをスイッチへ送信するよう構成された第2送信モジュールであって、これにより、スイッチは、対応するフローテーブルにフローエントリーを格納する、第2送信モジュールと
をさらに備える。
【0136】
本願発明の本実施形態において、コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【0137】
図6は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するためのデバイスの概略構造図である。図6を参照すると、装置は、
プリセット周期の間隔で、コントローラにより送信されたクエリメッセージを受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信するよう構成された第2受信モジュール601と、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1クエリ応答を受信するよう構成された第3受信モジュール602と、
格納されているフローテーブルが、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号が存在するフローエントリーとを含む場合、第1クエリ応答を破棄し、第1クエリ応答の数に従って現期間クエリ応答のカウント値を取得するよう構成された破棄モジュール603と、
現期間クエリ応答のカウント値をコントローラへ送信するよう構成された第3送信モジュール604であって、これにより、コントローラは、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する、第3送信モジュール604と
を備える。
【0138】
オプションで、第3送信モジュール604は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝える、コントローラにより送信されたフローエントリークエリメッセージを受信するよう構成された第2受信ユニットと、
当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子とに従って、対応するクエリ応答カウント値を格納されているフローテーブルから取得するよう構成された第2取得ユニットと、
取得されたクエリ応答カウント値を現期間クエリ応答のカウント値として用い、現期間クエリ応答のカウント値をコントローラへ送信するよう構成された第2送信ユニットと
を有する。
【0139】
オプションで、デバイスは、
マルチキャストグループを異常退去したマルチキャストグループメンバーが存在するとコントローラが判断した場合に、マルチキャストグループアドレスを伝える、コントローラにより送信された削除メッセージを受信し、マルチキャストグループアドレスに従って、対応するフローエントリーをフローテーブルから削除するよう構成された第1削除モジュールと、
マルチキャストグループのマルチキャストグループアドレスを伝える、コントローラにより送信されたクエリメッセージが受信された場合に、クエリメッセージを、マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信するよう構成された第4送信モジュールと、
マルチキャストグループアドレスをそれぞれが伝える、マルチキャストグループに含まれるマルチキャストグループメンバーにより送信された少なくとも1つの第1クエリ応答を受信するよう構成された第4受信モジュールと、
少なくとも1つの第1クエリ応答を別々にカプセル化して、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号とをそれぞれが伝える少なくとも1つの第2クエリ応答を得るよう構成された第1カプセル化モジュールと、
少なくとも1つの第2クエリ応答をコントローラへ送信するよう構成された第5送信モジュールであって、これにより、コントローラは、異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、かつ、取得された当該ポート番号をマルチキャストパスから削除するよう構成された第5送信モジュールと
をさらに備える。
【0140】
オプションで、デバイスは、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信するよう構成された第1受信モジュールと、
第1マルチキャスト参加メッセージをカプセル化して、マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得るよう構成された第2カプセル化モジュールと、
第2マルチキャスト参加メッセージをコントローラへ送信するよう構成された第6送信モジュールであって、これにより、コントローラは、第2マルチキャスト参加メッセージに従って、マルチキャストグループメンバーのためにフローエントリーを作成する、第6送信モジュールと、
コントローラにより送信されたフローエントリーを受信し、フローエントリーをフローテーブルに格納するよう構成された格納モジュールと
をさらに備える。
【0141】
さらに、デバイスは、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト退去メッセージを受信するよう構成された第6受信モジュールと、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、対応するフローエントリーをフローテーブルから削除するよう構成された第2削除モジュールと、
第1マルチキャスト退去メッセージをカプセル化して、マルチキャストグループアドレスと当該ポート番号とを伝える第2マルチキャスト退去メッセージを得るよう構成された第3カプセル化モジュールと、
第2マルチキャスト退去メッセージをコントローラへ送信するよう構成された第7送信モジュールであって、これにより、コントローラは、マルチキャストパスから当該ポート番号を削除する、第7送信モジュールと
をさらに備える。
【0142】
本願発明の本実施形態において、コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【0143】
図7は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するためのデバイスの概略構造図である。図8を参照すると、デバイスは、メモリ701とプロセッサ702とを含み、マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、クエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する、段階と、
現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得する段階と、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する段階と
を備える、方法を実行するよう構成されている。
【0144】
オプションで、現期間にスイッチにより受信された現期間クエリ応答のカウント値を取得する段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝えるフローエントリークエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子との両方に対応するクエリ応答カウント値について問い合わせる、段階と、
スイッチにより送信されたクエリ応答カウント値を受信し、受信されたクエリ応答カウント値を現期間クエリ応答のカウント値として判断する段階と
を含む。
【0145】
オプションで、マルチキャストグループに含まれるマルチキャストグループメンバーを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って管理する段階は、
マルチキャストグループに対応するプリセットクエリ応答カウント値増分を取得する段階と、
現期間クエリ応答のカウント値と前期間クエリ応答のカウント値との間の差を計算する段階と、
マルチキャストグループに含まれるマルチキャストグループメンバーを、差とプリセットクエリ応答カウント値増分とに従って管理する段階と
を含む。
【0146】
オプションで、マルチキャストグループに含まれるマルチキャストグループメンバーを、差とプリセットクエリ応答カウント値増分とに従って管理する段階は、
差がプリセットクエリ応答カウント値増分より小さい場合、マルチキャストグループを異常退去したマルチキャストグループメンバーが存在すると判断する段階と、
異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、取得された当該ポート番号をマルチキャストパスから削除する段階と
を含む。
【0147】
オプションで、異常退去したマルチキャストグループメンバーに対応するポート番号を取得する段階は、
マルチキャストグループアドレスを伝える削除メッセージをスイッチへ送信する段階であって、これにより、スイッチは、マルチキャストグループアドレスに対応するフローエントリーを削除する段階と、
マルチキャストグループのマルチキャストグループアドレスを伝えるクエリメッセージをスイッチへ送信する段階であって、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する、段階と、
マルチキャストグループに含まれるマルチキャストグループメンバーによりクエリメッセージに従って送信された少なくとも1つの第1クエリ応答を別々にカプセル化することにより得られ、マルチキャストグループアドレスとポート番号とをそれぞれが伝える、スイッチにより報告される少なくとも1つの第2クエリ応答を受信する段階と、
マルチキャストグループアドレスとポート番号との間の格納されている対応関係から、マルチキャストグループアドレスに従って、対応するポート番号を取得する段階と、
取得された当該ポート番号を、少なくとも1つの第2クエリ応答により伝えられる当該ポート番号と比較して、異常退去したマルチキャストグループメンバーに対応する当該ポート番号を判断する段階と
を含む。
【0148】
さらに、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、マルチキャストグループメンバーのためにフローエントリーを作成する段階と、
フローエントリーをスイッチへ送信する段階であって、これにより、スイッチは、対応するフローテーブルにフローエントリーを格納する、段階と
をさらに含む。
【0149】
本願発明の本実施形態において、コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【0150】
図8は、本願発明の実施形態に係る、マルチキャストグループメンバーを管理するためのデバイスの概略構造図である。図8を参照すると、デバイスは、メモリ801とプロセッサ802とを含み、マルチキャストグループメンバーを管理するための方法であって、
プリセット周期の間隔で、コントローラにより送信されたクエリメッセージを受信し、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する段階と、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1クエリ応答を受信する段階と、
格納されているフローテーブルが、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号が存在するフローエントリーとを含む場合、第1クエリ応答を破棄し、第1クエリ応答の数に従って現期間クエリ応答のカウント値を取得する段階と、
現期間クエリ応答のカウント値をコントローラへ送信する段階であって、これにより、コントローラは、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する、段階と
を備える、方法を実行するよう構成されている。
【0151】
オプションで、現期間クエリ応答のカウント値をコントローラへ送信する段階は、
ターゲットフローテーブル識別子とターゲットフローエントリー識別子とを伝える、コントローラにより送信されたフローエントリークエリメッセージを受信する段階と、
当該ターゲットフローテーブル識別子と当該ターゲットフローエントリー識別子とに従って、対応するクエリ応答カウント値を格納されているフローテーブルから取得する段階と、
取得されたクエリ応答カウント値を、現期間クエリ応答のカウント値として用い、現期間クエリ応答のカウント値をコントローラへ送信する段階と
を含む。
【0152】
オプションで、現期間クエリ応答のカウント値をコントローラへ送信する段階の後に、方法は、
マルチキャストグループを異常退去したマルチキャストグループメンバーが存在するとコントローラが判断した場合に、マルチキャストグループアドレスを伝える、コントローラにより送信された削除メッセージを受信し、マルチキャストグループアドレスに従って、対応するフローエントリーをフローテーブルから削除する段階と、
マルチキャストグループのマルチキャストグループアドレスを伝える、コントローラにより送信されたクエリメッセージが受信された場合に、クエリメッセージを、マルチキャストグループに含まれる各マルチキャストグループメンバーへ送信する段階と、
マルチキャストグループアドレスをそれぞれが伝える、マルチキャストグループに含まれるマルチキャストグループメンバーにより送信された少なくとも1つの第1クエリ応答を受信する段階と、
少なくとも1つの第1クエリ応答を別々にカプセル化して、マルチキャストグループアドレスと、マルチキャストグループメンバーに対応するポート番号とをそれぞれが伝える少なくとも1つの第2クエリ応答を得る段階と、
少なくとも1つの第2クエリ応答をコントローラへ送信する段階であって、これにより、コントローラは、異常退去したマルチキャストグループメンバーに対応するポート番号を取得し、かつ、取得された当該ポート番号をマルチキャストパスから削除する段階と
をさらに含む。
【0153】
オプションで、マルチキャストグループメンバーにより送信された第1クエリ応答を受信する段階の前に、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト参加メッセージを受信する段階と、
第1マルチキャスト参加メッセージをカプセル化して、マルチキャストグループアドレスとポート番号とを伝える第2マルチキャスト参加メッセージを得る段階と、
第2マルチキャスト参加メッセージをコントローラへ送信する段階であって、これにより、コントローラは、第2マルチキャスト参加メッセージに従って、マルチキャストグループメンバーのためにフローエントリーを作成する、段階と、
コントローラにより送信されたフローエントリーを受信し、フローエントリーをフローテーブルに格納する段階と
をさらに含む。
【0154】
さらに、方法は、
マルチキャストグループアドレスを伝える、マルチキャストグループメンバーにより送信された第1マルチキャスト退去メッセージを受信する段階と、
マルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、対応するフローエントリーをフローテーブルから削除する段階と、
第1マルチキャスト退去メッセージをカプセル化して、マルチキャストグループアドレスと当該ポート番号とを伝える第2マルチキャスト退去メッセージを得る段階と、
第2マルチキャスト退去メッセージをコントローラへ送信する段階であって、これにより、コントローラは、マルチキャストパスから当該ポート番号を削除する、段階と
をさらに含む。
【0155】
本願発明の本実施形態において、コントローラが、マルチキャストグループに含まれるマルチキャストグループメンバーを管理する場合に、コントローラはクエリメッセージをスイッチへ送信し、これにより、スイッチは、マルチキャストグループに含まれる各マルチキャストグループメンバーへクエリメッセージを送信する。マルチキャストグループメンバーにより送信された第1クエリ応答を受信した場合に、スイッチは、第1クエリ応答により伝えられるマルチキャストグループアドレスとマルチキャストグループメンバーに対応するポート番号とに従って、スイッチにより管理されているフローテーブルにおける対応するフローエントリーについて問い合わせる。対応するフローエントリーが見つかった場合、スイッチは第1クエリ応答を破棄し、コントローラへのクエリ応答の送信を省略する。コントローラは、比較的多数のクエリ応答を定期的に処理する必要がなく、このことは、コントローラの負荷を少なくする。コントローラは、マルチキャストグループアドレスに対応する、現期間における現期間クエリ応答のカウント値をスイッチから取得し、マルチキャストグループに含まれるマルチキャストグループメンバーが変わったかを、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とに従って判断する。このように、マルチキャストグループメンバーが変わらない場合に、判断が、現期間クエリ応答のカウント値と前期間クエリ応答のカウント値とをそのまま用いて迅速に実行され得、これにより、マルチキャストグループメンバーを管理する効率が向上する。マルチキャストグループメンバーが変わった場合に、判断がその後、マルチキャストグループメンバーにより送信された第1クエリ応答に従って実行され、コントローラは、現期間におけるクエリ応答のみを処理すればよく、このことも、コントローラの負荷を少なくする。
【0156】
マルチキャストグループメンバーを管理するための、先述の実施形態において提供されるデバイスがマルチキャストグループメンバーを管理する場合に、先述の機能モジュールの分割は、単に説明のための例として用いられていることに留意されるべきである。実際の応用において、先述の機能は、異なる機能モジュールに割り当てられ、要求に従って完了され得、すなわち、デバイスの内部構造は、上述された複数の機能のうち全てまたはいくつかを完了する複数の異なる機能モジュールに分割される。加えて、マルチキャストグループメンバーを管理するための、先述の実施形態において提供されているデバイスと、マルチキャストグループメンバーを管理するための方法の実施形態とは同じ概念に属する。具体的な実装プロセスについては、具体的には、方法の実施形態を参照されたく、詳細は、改めて本明細書において説明されていない。
【0157】
本願発明の先述の実施形態のシーケンス番号は、単に例示目的のためのものであり、実施形態の優先度を示すことは意図されていない。
【0158】
当業者は、実施形態の段階のうち全てまたはいくつかが、ハードウェア、または関連するハードウェアに命令をするプログラムによって実装され得ることを理解されよう。プログラムは、コンピュータ可読記憶媒体に格納され得る。記憶媒体は、読み取り専用メモリ、磁気ディスク、または光ディスクを含み得る。
【0159】
先述の説明は、単に本願発明の例示的な実施形態であり、本願発明を限定することは意図されていない。本願発明の原理から逸脱することなく行われ得る何らかの修正、同等の置き換え、および改善も、本願発明の保護範囲に含まれるものとする。
図1
図2
図3
図4
図5
図6
図7
図8