IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ テレフオンアクチーボラゲット エル エム エリクソン(パブル)の特許一覧

特許7572445TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法
<>
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図1
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図2
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図3
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図4
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図5
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図6
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図7
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図8
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図9A
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図9B
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図10
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図11
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図12
  • 特許-TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】TSN/DetNetのシームレス冗長のためのシームレスリセットのためのシステムおよび方法
(51)【国際特許分類】
   H04L 47/34 20220101AFI20241016BHJP
【FI】
H04L47/34
【請求項の数】 20
(21)【出願番号】P 2022554823
(86)(22)【出願日】2021-03-12
(65)【公表番号】
(43)【公表日】2023-04-24
(86)【国際出願番号】 EP2021056306
(87)【国際公開番号】W WO2021180910
(87)【国際公開日】2021-09-16
【審査請求日】2022-11-08
(31)【優先権主張番号】62/989,340
(32)【優先日】2020-03-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】100109726
【弁理士】
【氏名又は名称】園田 吉隆
(74)【代理人】
【識別番号】100150670
【弁理士】
【氏名又は名称】小梶 晴美
(74)【代理人】
【識別番号】100194294
【弁理士】
【氏名又は名称】石岡 利康
(72)【発明者】
【氏名】バルガ, バラージュ
(72)【発明者】
【氏名】ファルカシュ, ヤノシュ
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2009-147579(JP,A)
【文献】米国特許出願公開第2019/0044752(US,A1)
【文献】米国特許第05086428(US,A)
【文献】特開2004-228754(JP,A)
【文献】国際公開第2016/185794(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 47/34
(57)【特許請求の範囲】
【請求項1】
パケットまたはフレーム複製のための送信ノード(302)によって実施される方法であって、前記方法は、
前記送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定すること(700)と、
前記送信ノード(302)における前記シーケンス生成機能(310)がリセットされたと決定すること(700)に応答して、ネットワークを通した少なくとも2つの独立経路を介して、複数の複製されたストリームのうちの1つであるパケットのストリーム中で第1の複数のパケットを送信すること(702)であって、(a)前記第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号および前記リニアシーケンス番号空間が使用されているという明示的指示を備え、(b)前記リセットの後に送られた前記第1の複数のパケットの中からの少なくとも第1のパケットが、前記リセットの明示的インジケータをさらに備える、第1の複数のパケットを送信すること(702)と、
前記リニアシーケンス番号空間の終わりに達したかまたは前記リニアシーケンス番号空間の使用が無効にされたと決定すること(704)と、
前記リニアシーケンス番号空間の前記終わりに達したかまたは前記リニアシーケンス番号空間の前記使用が無効にされたと決定すること(704)に応答して、前記ネットワークを通した少なくとも2つの独立経路を介してパケットの前記ストリーム中で第2の複数のパケットを送信すること(706)であって、(a)前記第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える、第2の複数のパケットを送信すること(706)と
を含む、方法。
【請求項2】
前記ネットワークが時間敏感ネットワーキング(TSN)ネットワークである、請求項1に記載の方法。
【請求項3】
前記シーケンス生成機能(310)をリセットすることをさらに含み、前記シーケンス生成機能(310)をリセットすることが、シーケンス番号履歴、履歴ウィンドウ、または前記シーケンス番号履歴と前記履歴ウィンドウの両方をリセットすることを含む、請求項1または2に記載の方法。
【請求項4】
前記送信ノード(302)における前記シーケンス生成機能(310)がリセットされたと決定するステップ(700)と、パケットの前記ストリーム中で前記第1の複数のパケットを送信するステップ(702)と、前記リニアシーケンス番号空間の前記終わりに達したかまたは前記リニアシーケンス番号空間の前記使用が無効にされたと決定するステップ(704)と、パケットの前記ストリーム中で前記第2の複数のパケットを送信するステップ(706)とが、前記送信ノード(302)の信頼性のためのフレーム複製および除去(FRER)機能(308)によって実施される、請求項2または3に記載の方法。
【請求項5】
前記ネットワークが決定論的ネットワーキング(DetNet)ネットワークである、請求項1に記載の方法。
【請求項6】
前記送信ノード(302)における前記シーケンス生成機能(310)がリセットされたと決定するステップ(700)と、パケットの前記ストリーム中で前記第1の複数のパケットを送信するステップ(702)と、前記リニアシーケンス番号空間の前記終わりに達したかまたは前記リニアシーケンス番号空間の前記使用が無効にされたと決定するステップ(704)と、パケットの前記ストリーム中で前記第2の複数のパケットを送信するステップ(706)とが、前記送信ノード(302)のパケット複製および除去機能(PREF)によって実施される、請求項5に記載の方法。
【請求項7】
パケットまたはフレーム複製のための送信ノード(302)であって、前記送信ノード(302)は、
前記送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定すること(700)と、
前記送信ノード(302)における前記シーケンス生成機能(310)がリセットされたと決定すること(700)に応答して、ネットワークを通した少なくとも2つの独立経路を介して、複数の複製されたストリームのうちの1つであるパケットのストリーム中で第1の複数のパケットを送信すること(702)であって、(a)前記第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号および前記リニアシーケンス番号空間が使用されているという明示的指示を備え、(b)前記リセットの後に送られた前記第1の複数のパケットの中からの少なくとも第1のパケットが、前記リセットの明示的インジケータをさらに備える、第1の複数のパケットを送信すること(702)と、
前記リニアシーケンス番号空間の終わりに達したかまたは前記リニアシーケンス番号空間の使用が無効にされたと決定すること(704)と、
前記リニアシーケンス番号空間の前記終わりに達したかまたは前記リニアシーケンス番号空間の前記使用が無効にされたと決定すること(704)に応答して、前記ネットワークを通した少なくとも2つの独立経路を介してパケットの前記ストリーム中で第2の複数のパケットを送信すること(706)であって、(a)前記第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える、第2の複数のパケットを送信すること(706)と
を行うように適合された、送信ノード(302)。
【請求項8】
前記送信ノード(302)が、請求項2から6のいずれか一項に記載の方法を実施するようにさらに適合された、請求項7に記載の送信ノード(302)。
【請求項9】
パケットまたはフレーム複製のための送信ノード(302、1100)であって、前記送信ノード(302、1100)が、
ネットワークインターフェース(1108、1208)と、
前記ネットワークインターフェース(1108、1208)に関連する処理回路(1104、1204)とを備え、前記処理回路(1104、1204)は、前記送信ノード(302、1100)に、
前記送信ノード(302、1100)におけるシーケンス生成機能(310)がリセットされたと決定すること(700)と、
前記送信ノード(302、1100)における前記シーケンス生成機能(310)がリセットされたと決定すること(700)に応答して、ネットワークを通した少なくとも2つの独立経路を介して、複数の複製されたストリームのうちの1つであるパケットのストリーム中で第1の複数のパケットを送信すること(702)であって、(a)前記第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号および前記リニアシーケンス番号空間が使用されているという明示的指示を備え、(b)前記リセットの後に送られた前記第1の複数のパケットの中からの少なくとも第1のパケットが、前記リセットの明示的インジケータをさらに備える、第1の複数のパケットを送信すること(702)と、
前記リニアシーケンス番号空間の終わりに達したかまたは前記リニアシーケンス番号空間の使用が無効にされたと決定すること(704)と、
前記リニアシーケンス番号空間の前記終わりに達したかまたは前記リニアシーケンス番号空間の前記使用が無効にされたと決定すること(704)に応答して、前記ネットワークを通した少なくとも2つの独立経路を介してパケットの前記ストリーム中で第2の複数のパケットを送信すること(706)であって、(a)前記第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える、第2の複数のパケットを送信すること(706)と
を行わせるように設定された、送信ノード(302、1100)。
【請求項10】
前記処理回路(1104、1204)が、前記送信ノード(302、1100)に、請求項2から6のいずれか一項に記載の方法を実施させるようにさらに設定された、請求項9に記載の送信ノード(302、1100)。
【請求項11】
パケットまたはフレーム複製のための送信ノード(302)によって実施される方法であって、前記方法は、
・ 送られるべきパケットを取得すること(600)と、
・ 前記パケットが、前記パケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)と、
・ 前記パケットが、前記パケットがすでに複製されたことを指示する前記タグを備えないと決定すること(602、いいえ)に応答して、
〇 リニアシーケンス番号空間が使用されるべきであると決定すること(616、はい)と、
〇 前記リニアシーケンス番号空間が使用されるべきであると決定すること(616、はい)に応答して、
・ 前記リニアシーケンス番号空間が使用されていることを指示する前記パケット中の明示的指示を有効にすること(618)、および
・ 前記リニアシーケンス番号空間からのシーケンス番号を前記パケットに追加すること(620)と、
〇 前記パケットが複製されたことを指示するタグを前記パケットに追加すること(628)と
を行うことと、
・ 複製および送信のために前記パケットを提供すること(604)と
を含む、方法。
【請求項12】
前記パケットが、前記パケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)に応答して、
前記送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定すること(608)と、
前記送信ノード(302)における前記シーケンス生成機能(310)がリセットされたと決定すること(608)に応答して、前記シーケンス生成機能(310)がリセットされたことを指示する前記パケット中の明示的指示を有効にすること(610)、または、前記シーケンス生成機能(310)がリセットされたことを指示する前記パケット中の前記明示的指示を無効にすること(612)と
をさらに含む、請求項11に記載の方法。
【請求項13】
前記リニアシーケンス番号空間が使用されるべきであると決定すること(616、はい)に応答して、前記リニアシーケンス番号空間からの前記シーケンス番号を増分すること(622)をさらに含む、請求項11または12に記載の方法。
【請求項14】
前記リニアシーケンス番号空間が使い果たされるかまたは前記リニアシーケンス番号空間の使用が無効にされるまで、複数の追加のパケットのために請求項13に記載の方法を繰り返すことをさらに含む、請求項13に記載の方法。
【請求項15】
前記リニアシーケンス番号空間が使い果たされた後にまたは前記リニアシーケンス番号空間の前記使用が無効にされた後に、
・ 送られるべきさらなるパケットを取得すること(600)と、
・ 前記さらなるパケットが、前記さらなるパケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)と、
・ 前記さらなるパケットが、前記さらなるパケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)に応答して、
〇 リニアシーケンス番号空間ではなく、サイクリックシーケンス番号空間が使用されるべきであると決定すること(616、いいえ)と、
〇 前記サイクリックシーケンス番号空間が使用されるべきであると決定すること(616、いいえ)に応答して、
・ 前記リニアシーケンス番号空間が使用されていることを指示する前記さらなるパケット中の明示的指示を無効にすること(630)、および
・ 前記サイクリックシーケンス番号空間からのシーケンス番号を前記さらなるパケットに追加すること(632)と、
〇 前記さらなるパケットが複製されたことを指示する前記タグを前記さらなるパケットに追加すること(628)と
を行うことと、
・ 複製および送信のために前記さらなるパケットを提供すること(604)と
をさらに含む、請求項14に記載の方法。
【請求項16】
前記さらなるパケットが、前記さらなるパケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)に応答して、
前記送信ノード(302)におけるシーケンス生成機能(310)がリセットされたかどうかを決定すること(608)と、
前記送信ノード(302)における前記シーケンス生成機能(310)がリセットされたと決定すること(608)に応答して、前記シーケンス生成機能(310)がリセットされたことを指示する前記さらなるパケット中の明示的指示を有効にすること(610)、または、前記シーケンス生成機能(310)がリセットされたことを指示する前記さらなるパケット中の前記明示的指示を無効にすること(612)と
をさらに含む、請求項15に記載の方法。
【請求項17】
パケットまたはフレーム複製のための送信ノード(302)であって、前記送信ノード(302)は、
・ 送られるべきパケットを取得すること(600)と、
・ 前記パケットが、前記パケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)と、
・ 前記パケットが、前記パケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)に応答して、
〇 リニアシーケンス番号空間が使用されるべきであると決定すること(616、はい)と、
〇 前記リニアシーケンス番号空間が使用されるべきであると決定すること(616、はい)に応答して、
・ 前記リニアシーケンス番号空間が使用されていることを指示する前記パケット中の明示的指示を有効にすること(618)、および
・ 前記リニアシーケンス番号空間からのシーケンス番号を前記パケットに追加すること(620)と、
〇 前記パケットが複製されたことを指示する前記タグを前記パケットに追加すること(628)と
を行うことと、
・ 複製および送信のために前記パケットを提供すること(604)と
を行うように適合された、送信ノード(302)。
【請求項18】
前記送信ノード(302)が、請求項12から16のいずれか一項に記載の方法を実施するようにさらに適合された、請求項17に記載の送信ノード(302)。
【請求項19】
パケットまたはフレーム複製のための送信ノード(302、1100)であって、前記送信ノード(302、1100)が、
・ ネットワークインターフェース(1108、1208)と、
・ 前記ネットワークインターフェース(1108、1208)に関連する処理回路(1104、1204)とを備え、前記処理回路(1104、1204)は、前記送信ノード(302、1100)に、
〇 送られるべきパケットを取得すること(600)と、
〇 前記パケットが、前記パケットがすでに複製されたことを指示するタグを備えないと決定すること(602、いいえ)と、
〇 前記パケットが、前記パケットがすでに複製されたことを指示する前記タグを備えないと決定すること(602、いいえ)に応答して、
・ リニアシーケンス番号空間が使用されるべきであると決定すること(616、はい)と、
・ 前記リニアシーケンス番号空間が使用されるべきであると決定すること(616、はい)に応答して、
・ 前記リニアシーケンス番号空間が使用されていることを指示する前記パケット中の明示的指示を有効にすること(618)と、
・ 前記リニアシーケンス番号空間からのシーケンス番号を前記パケットに追加すること(620)と、
・ 前記パケットが複製されたことを指示する前記タグを前記パケットに追加すること(628)と
を行うことと、
〇 複製および送信のために前記パケットを提供すること(604)と
を行わせるように設定された、送信ノード(302、1100)。
【請求項20】
前記処理回路(1104、1204)が、前記送信ノード(302、1100)に、請求項12から16のいずれか一項に記載の方法を実施させるようにさらに設定された、請求項19に記載の送信ノード(302、1100)。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、その開示全体が参照により本明細書に組み込まれる、2020年3月13日に出願された仮特許出願第62/989,340号の利益を主張する。
【0002】
本開示は、時間敏感ネットワーキング(TSN:Time Sensitive Networking)および決定論的ネットワーキング(DetNet:Deterministic Networking)に関し、より詳細には、TSNネットワークまたはDetNetネットワークにおけるフレームまたはパケット複製および除去に関する。
【背景技術】
【0003】
時間敏感ネットワーキング(TSN)は、現在、IEEE802.1およびIEEE802.3イーサネット規格を完全に新しいレベルの決定論に拡張する新技術として、米国電気電子技術者協会(IEEE)において開発されている。時間敏感ネットワーキング(TSN)は、低いエンドツーエンドレイテンシと、低いジッタと、低いパケットロスとを保証するための、イーサネットの発展として見られ得る。
【0004】
IEEE802.1ワーキンググループ(WG)内のTSNタスクグループ(TG)が、IEEE802ネットワークを通した決定論的サービスを扱う。TSN TGは、TSNツールボックスのツール、ならびに特定の目的のためのツールの使用を指定する。TSN TGは、以下を伴う、IEEE802ネットワークを通した決定論的サービスを提供することを認められている。
・ 保証されたパケットトランスポート、
・ 低いパケットロス、
・ 有界低レイテンシ、および
・ 低いパケット遅延変動。
【0005】
極めて低いパケットロスを達成するために、TSN TGは、機器障害によるフレーム損失を回避することをターゲットにした、信頼性のためのフレーム複製および除去(FRER:Replication and Elimination for Reliability)(802.1CB)を指定した。FRERは、実際には、フレームごとの1+1(または1+n)冗長機能である。組み込まれた障害検出/切替えがない。FRERは、2つ(またはそれ以上)の最大独立経路(disjoint path)上でフレームを送り、次いで、ストリームを組み合わせ、余分のフレームを削除する。
【0006】
レイヤ2(TSN)ネットワークとレイヤ3(DetNet)ネットワークの両方において、実装を簡略化し、同じ概念の使用を可能にするために、パケット複製および除去機能(PREF:Packet Replication and Elimination Function)と同じ機能が決定論的ネットワーキング(DetNet)ネットワークについて規定されることに留意されたい。本明細書で提供される説明では、焦点は、FRERに当てられる。
【0007】
IEEE 802.1CBによると、「...この規格は、信頼性のためのフレーム複製および除去(FRER)を規定し、これは、ストリームを1つまたは複数のリンクされたメンバーストリームに分割し、したがって、元のストリームを複合ストリームにする。FRERは、ストリームのパケットを複製し、そのコピーを複数のメンバーストリームにスプリットし、次いで、1つまたは複数の他のポイントにおいてそれらのメンバーストリームを再結合し、複製を除去し、再構成されたストリームをそれらのポイントから配信する。」ことに留意されたい。
【0008】
除去機能は、重複したパケットを廃棄するために、下位レイヤから上に渡される1つまたは複数のメンバーストリームのパケットの「sequence_number」サブパラメータを評価する。「SequenceHistory」変数が、最近受信されたパケットの「sequence_number」サブパラメータの履歴を維持する。重複除去中に、「sequence_number」は、(「frerSeqRcvyHistoryLength」によって規定された)履歴ウィンドウに対して検査される。履歴ウィンドウの外にあるパケットが、無効として廃棄される。通常動作の下では、受信されたパケットは履歴ウィンドウ内にあり、重複のみがドロップされる。
【0009】
IEEE802.1CBは、不必要にドロップされたフレームを生じるいくつかのネットワーキングシナリオ(たとえば、除去機能が、どういうわけかその対応するシーケンス生成機能との調和を欠く場合、シーケンス生成機能がリセットされた場合など)に対処するために、除去機能のためのタイムアウト機構を規定する。タイムアウトが行われる場合、「sequence_number」サブパラメータの値にかかわらず、履歴はリセットされ、回復アルゴリズムによって次のパケットを受け付けることが可能にされる(IEEE802.1CBにおける7.4.3.2.6中の「TakeAny」参照)。
【発明の概要】
【0010】
たとえば、時間敏感ネットワーキング(TSN)ネットワークまたは決定論的ネットワーキング(DetNet)ネットワークの、シームレス冗長のためのシームレスリセットのためのシステムおよび方法が、本明細書で開示される。一実施形態では、パケットまたはフレーム複製のための送信ノードによって実施される方法が、送信ノードにおけるシーケンス生成機能がリセットされたと決定することを含む。本方法は、送信ノードにおけるシーケンス生成機能がリセットされたと決定することに応答して、ネットワークを通した少なくとも2つの独立経路を介してパケットのストリーム中で第1の複数のパケットを送信することであって、(a)第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号を備え、(b)リセットの後に送られた第1の複数のパケットの中からの少なくとも第1のパケットが、リセットの明示的インジケータをさらに備える、第1の複数のパケットを送信することをさらに含む。本方法は、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定することをさらに含む。本方法は、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定することに応答して、ネットワークを通した少なくとも2つの独立経路を介してパケットのストリーム中で第2の複数のパケットを送信することであって、(a)第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える、第2の複数のパケットを送信することをさらに含む。このようにして、シーケンス番号生成のためのシームレスリセットが提供される。
【0011】
一実施形態では、第1の複数のパケットの各々は、リニアシーケンス番号空間が使用されているという明示的指示をさらに備える。
【0012】
一実施形態では、ネットワークはTSNネットワークである。
【0013】
一実施形態では、本方法は、シーケンス生成機能をリセットすることをさらに含み、シーケンス生成機能をリセットすることは、シーケンス番号履歴、履歴ウィンドウ、またはシーケンス番号履歴と履歴ウィンドウの両方をリセットすることを含む。
【0014】
一実施形態では、送信ノードにおけるシーケンス生成機能がリセットされたと決定するステップと、パケットのストリーム中で第1の複数のパケットを送信するステップと、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップと、パケットのストリーム中で第2の複数のパケットを送信するステップとが、送信ノードの信頼性のためのフレーム複製および除去(FRER)機能によって実施される。
【0015】
一実施形態では、ネットワークはDetNetネットワークである。一実施形態では、送信ノードにおけるシーケンス生成機能がリセットされたと決定するステップと、パケットのストリーム中で第1の複数のパケットを送信するステップと、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップと、パケットのストリーム中で第2の複数のパケットを送信するステップとが、送信ノードのパケット複製および除去機能(PRER)によって実施される。
【0016】
送信ノードの対応する実施形態も開示される。一実施形態では、パケットまたはフレーム複製のための送信ノードが、送信ノードにおけるシーケンス生成機能がリセットされたと決定するように適合される。本送信ノードは、送信ノードにおけるシーケンス生成機能がリセットされたと決定することに応答して、ネットワークを通した少なくとも2つの独立経路を介してパケットのストリーム中で第1の複数のパケットを送信することであって、(a)第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号を備え、(b)リセットの後に送られた第1の複数のパケットの中からの少なくとも第1のパケットが、リセットの明示的インジケータをさらに備える、第1の複数のパケットを送信することを行うようにさらに適合される。本送信ノードは、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定することと、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定することに応答して、ネットワークを通した少なくとも2つの独立経路を介してパケットのストリーム中で第2の複数のパケットを送信することであって、(a)第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える、第2の複数のパケットを送信することとを行うようにさらに適合される。
【0017】
一実施形態では、パケットまたはフレーム複製のための送信ノードが、ネットワークインターフェースと、ネットワークインターフェースに関連する処理回路とを備える。処理回路は、送信ノードに、送信ノードにおけるシーケンス生成機能がリセットされたと決定することを行わせるように設定される。処理回路は、送信ノードに、送信ノードにおけるシーケンス生成機能がリセットされたと決定することに応答して、ネットワークを通した少なくとも2つの独立経路を介してパケットのストリーム中で第1の複数のパケットを送信することであって、(a)第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号を備え、(b)リセットの後に送られた第1の複数のパケットの中からの少なくとも第1のパケットが、リセットの明示的インジケータをさらに備える、第1の複数のパケットを送信することを行わせるようにさらに設定される。処理回路は、送信ノードに、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定することと、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定することに応答して、ネットワークを通した少なくとも2つの独立経路を介してパケットのストリーム中で第2の複数のパケットを送信することであって、(a)第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える、第2の複数のパケットを送信することとを行わせるようにさらに設定される。
【0018】
一実施形態では、パケットまたはフレーム複製のための送信ノードによって実施される方法が、送られるべきパケットを取得することと、パケットが、パケットがすでに複製されたことを指示するタグを備えないと決定することとを含む。本方法は、パケットが、パケットがすでに複製されたことを指示するタグを備えないと決定することに応答して、リニアシーケンス番号空間が使用されるべきであると決定することと、それに応答して、リニアシーケンス番号空間が使用されていることを指示するパケット中の明示的指示を有効にすることと、リニアシーケンス番号空間からのシーケンス番号をパケットに追加することと、パケットが複製されたことを指示するタグをパケットに追加することとをさらに含む。本方法は、複製および送信のためにパケットを提供することを含む。
【0019】
一実施形態では、本方法は、パケットが、パケットがすでに複製されたことを指示するタグを備えないと決定することに応答して、送信ノードにおけるシーケンス生成機能がリセットされたと決定することと、送信ノードにおけるシーケンス生成機能がリセットされたと決定することに応答して、シーケンス生成機能がリセットされたことを指示するパケット中の明示的指示を有効にすること、または、シーケンス生成機能がリセットされたことを指示するパケット中の明示的指示を無効にすることとをさらに含む。
【0020】
一実施形態では、本方法は、リニアシーケンス番号空間が使用されるべきであると決定することに応答して、リニアシーケンス番号空間からのシーケンス番号を増分することをさらに含む。
【0021】
一実施形態では、本方法は、リニアシーケンス番号空間が使い果たされるかまたはリニアシーケンス番号空間の使用が無効にされるまで、複数の追加のパケットのために本方法を繰り返すことをさらに含む。一実施形態では、本方法は、リニアシーケンス番号空間が使い果たされた後にまたはリニアシーケンス番号空間の使用が無効にされた後に、送られるべきさらなるパケットを取得することと、さらなるパケットが、さらなるパケットがすでに複製されたことを指示するタグを備えないと決定することとをさらに含む。本方法は、さらなるパケットが、さらなるパケットがすでに複製されたことを指示するタグを備えないと決定することに応答して、リニアシーケンス番号空間ではなく、サイクリックシーケンス番号空間が使用されるべきであると決定することと、サイクリックシーケンス番号空間が使用されるべきであると決定することに応答して、リニアシーケンス番号空間が使用されていることを指示するさらなるパケット中の明示的指示を無効にすること、およびサイクリックシーケンス番号空間からのシーケンス番号をさらなるパケットに追加することと、さらなるパケットが複製されたことを指示するタグをさらなるパケットに追加することとをさらに含む。本方法は、複製および送信のためにさらなるパケットを提供することをさらに含む。
【0022】
一実施形態では、本方法は、さらなるパケットが、さらなるパケットがすでに複製されたことを指示するタグを備えないと決定することに応答して、送信ノードにおけるシーケンス生成機能がリセットされたかどうかを決定することと、送信ノードにおけるシーケンス生成機能がリセットされたと決定することに応答して、シーケンス生成機能がリセットされたことを指示するさらなるパケット中の明示的指示を有効にすること、または、シーケンス生成機能がリセットされたことを指示するさらなるパケット中の明示的指示を無効にすることとをさらに含む。
【0023】
送信ノードの対応する実施形態も開示される。一実施形態では、パケットまたはフレーム複製のための送信ノードが、送られるべきパケットを取得することと、パケットが、パケットがすでに複製されたことを指示するタグを備えないと決定することとを行うように適合される。本送信ノードは、パケットが、パケットがすでに複製されたことを指示するタグを備えないと決定することに応答して、リニアシーケンス番号空間が使用されるべきであると決定するようにさらに適合される。本送信ノードは、リニアシーケンス番号空間が使用されるべきであると決定することに応答して、リニアシーケンス番号空間が使用されていることを指示するパケット中の明示的指示を有効にすることと、リニアシーケンス番号空間からのシーケンス番号をパケットに追加することとを行うようにさらに適合される。本送信ノードは、パケットが複製されたことを指示するタグをパケットに追加することと、複製および送信のためにパケットを提供することとを行うようにさらに適合される。
【0024】
一実施形態では、パケットまたはフレーム複製のための送信ノードが、ネットワークインターフェースと、ネットワークインターフェースに関連する処理回路とを備える。処理回路は、送信ノードに、送られるべきパケットを取得することと、パケットが、パケットがすでに複製されたことを指示するタグを備えないと決定することとを行わせるように設定される。処理回路は、送信ノードに、パケットが、パケットがすでに複製されたことを指示するタグを備えないと決定することに応答して、リニアシーケンス番号空間が使用されるべきであると決定することを行わせるようにさらに設定される。処理回路は、送信ノードに、リニアシーケンス番号空間が使用されるべきであると決定することに応答して、リニアシーケンス番号空間が使用されていることを指示するパケット中の明示的指示を有効にすることと、リニアシーケンス番号空間からのシーケンス番号をパケットに追加することとを行わせるようにさらに設定される。処理回路は、送信ノードに、パケットが複製されたことを指示するタグをパケットに追加することと、複製および送信のためにパケットを提供することとを行わせるようにさらに設定される。
【0025】
一実施形態では、パケットまたはフレーム除去のための受信ノードによって実施される方法が、ネットワークを通した、送信ノードから受信ノードへの独立経路を横断する複数の複製されたストリームのうちの1つからパケットを受信することであって、パケットがシーケンス番号を備える、パケットを受信することを含む。本方法は、パケットが、サイクリックシーケンス番号空間ではなく、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備えるかどうかを決定することと、パケットのシーケンス番号が、リニアシーケンス番号空間の使用に関連するリセット無視範囲(iRIR:reset ignore range)の外にあるかどうかを決定することとをさらに含む。本方法は、パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備え、かつ、パケットのシーケンス番号がiRIRの外にあると決定することとに応答して、パケットを受け付けることをさらに含む。
【0026】
一実施形態では、本方法は、パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備え、かつ、パケットのシーケンス番号がiRIRの外にあると決定することとに応答して、パケットのシーケンス番号に基づいて、リニアシーケンス番号空間に関連する履歴ウィンドウおよび履歴を更新することをさらに含む。
【0027】
一実施形態では、本方法は、パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備えないかまたはパケットのシーケンス番号がiRIRの外にないのかのいずれかであると決定することとを行うと、パケットのシーケンス番号が、リニアシーケンス番号空間の使用に関連する履歴ウィンドウ(iHSW)内にあるかどうかを決定することと、パケットのシーケンス番号が、すでに受信されたリニアシーケンス番号空間からのシーケンス番号を備える、リニアシーケンス番号空間の使用に関連する履歴中にすでにあるかどうかを決定することと、パケットのシーケンス番号がiHSW内にあると決定することとパケットのシーケンス番号が履歴中にまだないと決定することとに応答して、パケットを受け付けることとをさらに含む。一実施形態では、本方法は、パケットのシーケンス番号がiHSW内にあると決定することとパケットのシーケンス番号が履歴中にすでにあると決定することとに応答して、パケットを廃棄することをさらに含む。一実施形態では、本方法は、パケットのシーケンス番号がiHSW内にあると決定することとパケットのシーケンス番号が履歴中にまだないと決定することとに応答して、パケットのシーケンス番号に基づいて、リニアシーケンス番号空間に関連するiHSWおよび履歴を更新することをさらに含む。
【0028】
受信ノードの対応する実施形態も開示される。一実施形態では、パケットまたはフレーム除去のための受信ノードが、ネットワークを通した、送信ノードから受信ノードへの独立経路を横断する複数の複製されたストリームのうちの1つからパケットを受信することであって、パケットがシーケンス番号を備える、パケットを受信することを行うように適合される。本受信ノードは、パケットが、サイクリックシーケンス番号空間ではなく、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備えるかどうかを決定することと、パケットのシーケンス番号が、リニアシーケンス番号空間の使用に関連するリセット無視範囲(iRIR)の外にあるかどうかを決定することとを行うようにさらに適合される。本受信ノードは、パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備え、かつ、パケットのシーケンス番号がiRIRの外にあると決定することとに応答して、パケットを受け付けることを行うようにさらに適合される。
【0029】
一実施形態では、パケットまたはフレーム除去のための受信ノードが、ネットワークインターフェースと、ネットワークインターフェースに関連する処理回路とを備える。処理回路は、受信ノードに、ネットワークを通した、送信ノードから受信ノードへの独立経路を横断する複数の複製されたストリームのうちの1つからパケットを受信することであって、パケットがシーケンス番号を備える、パケットを受信することを行わせるように設定される。処理回路は、受信ノードに、パケットが、サイクリックシーケンス番号空間ではなく、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備えるかどうかを決定することと、パケットのシーケンス番号が、リニアシーケンス番号空間の使用に関連するリセット無視範囲(iRIR)の外にあるかどうかを決定することとを行わせるようにさらに設定される。処理回路は、受信ノードに、パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定することと、パケットが、送信ノードにおけるシーケンス生成機能がリセットされたという明示的指示を備え、かつ、パケットのシーケンス番号がiRIRの外にあると決定することとに応答して、パケットを受け付けることを行わせるようにさらに設定される。
【0030】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本開示のいくつかの態様を示し、説明とともに本開示の原理について解説するよう機能する。
【図面の簡単な説明】
【0031】
図1】信頼性のためのフレーム複製および除去(FRER)機能の改善を必要とするクラウドベースシナリオを示す図である。
図2】パケットドロップの確率の分析のために本明細書で利用されるIEEE802.1CB-2017サイクリックシーケンス番号空間の範囲を示す図である。
図3】本開示の実施形態による、FRERを提供する送信(TX)ノードと受信(RX)ノードとを含むシステムを示す図である。
図4】本開示の実施形態による、FRERのために利用される、新しい(リニア)シーケンス番号空間と元の(サイクリック)シーケンス番号空間との関係の一例を示す図である。
図5】本開示の一実施形態による、TXノードにおける複製機能のための状態図である。
図6】本開示の一実施形態による、TXノードにおける複製機能の動作を示すフローチャートである。
図7】本開示の別の実施形態による、TXノードにおける複製機能の動作を示すフローチャートである。
図8】本開示の一実施形態による、RXノードにおける除去機能のための状態図である。
図9A】本開示の一実施形態による、RXノードにおける除去機能の動作を示すフローチャートである。
図9B】本開示の一実施形態による、RXノードにおける除去機能の動作を示すフローチャートである。
図10】IEEE802.1CBによる、ならびに、本開示の一実施形態による、「SeqResetFlag」、「InitSeqFlag」、および「リニアシーケンス番号空間に属する新しいシーケンス番号」が符号化され得る、R-TAGフォーマットを示す図である。
図11】ネットワークノードの概略ブロック図である。
図12】ネットワークノードの概略ブロック図である。
図13】ネットワークノードの概略ブロック図である。
【発明を実施するための形態】
【0032】
次に、添付の図面を参照しながら、本明細書で企図される実施形態のうちのいくつかがより十分に説明される。しかしながら、他の実施形態は、本明細書で開示される主題の範囲内に含まれており、開示される主題は、本明細書に記載される実施形態のみに限定されるものとして解釈されるべきではなく、むしろ、これらの実施形態は、当業者に主題の範囲を伝達するために、例として提供される。
【0033】
以下に記載される実施形態は、当業者が本実施形態を実践することができるようにするための情報を表し、本実施形態を実践する最良の形態を示す。添付の図面に照らして以下の説明を読むと、当業者は、本開示の概念を理解し、本明細書では特に扱われないこれらの概念の適用例を認識されよう。これらの概念および適用例は、本開示の範囲内に入ることを理解されたい。
【0034】
概して、本明細書で使用されるすべての用語は、異なる意味が、明確に与えられ、および/またはその用語が使用されるコンテキストから暗示されない限り、関連のある技術分野における、それらの用語の通常の意味に従って解釈されるべきである。1つの(a/an)/その(the)エレメント、装置、構成要素、手段、ステップなどへのすべての言及は、別段明示的に述べられていない限り、そのエレメント、装置、構成要素、手段、ステップなどの少なくとも1つの事例に言及しているものとしてオープンに解釈されるべきである。本明細書で開示されるいずれの方法のステップも、ステップが、別のステップに後続するかまたは先行するものとして明示的に説明されない限り、および/あるいはステップが別のステップに後続するかまたは先行しなければならないことが暗黙的である場合、開示される厳密な順序で実施される必要はない。本明細書で開示される実施形態のいずれかの任意の特徴は、適切であればいかなる場合も、任意の他の実施形態に適用され得る。同様に、実施形態のいずれかの任意の利点は、任意の他の実施形態に適用され得、その逆も同様である。同封の実施形態の他の目的、特徴、および利点は、以下の説明から明らかになる。
【0035】
TSNノード:本明細書で使用される時間敏感ネットワーキング(TSN)ノードは、TSNネットワークにおける任意のネットワークノードである。TSNノードの例は、TSNエンドポイントとTSNブリッジとを含む。
【0036】
現在、TSNおよび決定論的ネットワーキング(DetNet)に関して(1つまたは複数の)ある課題が存在する。シームレス冗長機能のリセットのために利用可能な機構は、あまりに多くの不要なパケットドロップを含み、クラウドの準備ができていない。シームレス冗長の最終的な目標としては、できる限りパケットロスを回避することである。シームレス冗長機構の動作による不要なパケットドロップは、最小限に抑えられるべきである。さらに、シームレス冗長(たとえば、米国電気電子技術者協会(IEEE)802.1CB)構成要素をクラウド環境に移動することが、利用可能性に関する課題を生じ、したがって、シームレス冗長機能は、現在の産業ハードウェア環境においてよりもはるかに頻繁にリセットされる。したがって、シームレス冗長(たとえば、IEEE802.1CB)機能のリセットによって引き起こされるシナリオに対するシームレス検出および適応が必須である。
【0037】
さらに、上記で説明された履歴ウィンドウおよびタイムアウト機構は、関係するパラメータの良好な設計を必要とする。しかしながら、これらは、相反する要件が満たされなければならないので、単純なタスクでない。履歴ウィンドウ設計中に、たとえば、除去ノードリソースを保護するために、または偽のパケットから保護するために(セキュリティ)、小さいウィンドウサイズを選択しようとすることがある。対照的に、大きいウィンドウサイズ値は、ネットワーク障害およびエラーに、より耐性がある。最適なウィンドウサイズを見つけることは、難しいタスクであり得る。同様に、あまりに低いタイムアウトパラメータ値を設計することは、除去機能の頻繁な(および不要な)リセットを引き起こすことがある。一方、あまりに大きいタイムアウトパラメータ値は、障害シナリオの後の回復を減速させ、不要なネットワーキング過渡現象を引き起こす。さらに、バースト的な(非固定ビットレート(CBR))ストリームのために、信頼性のためのフレーム複製および除去(FRER)を使用することは、上記の設計をより困難にするか、さらには正しいバランスを見つけることを不可能にする。
【0038】
我々の以前のPCT特許出願国際公開第WO2021005397A1号(以下、「’397出願」と呼ばれる)において、R-TAG中に含まれる新しいフラグ、すなわち、「SeqResetFlag」に基づく明示的通知ソリューションが説明される。このフラグは、シーケンス生成機能がリセットされたとき、複製機能によってセットされ、したがって、そのようなイベントは除去機能によって容易に認識され得る。このソリューションの場合、焦点は、シーケンス生成機能がリセットされたとき、(高い確率で)フレームが不必要にドロップされ得るシナリオに当てられる。このソリューションは、シーケンス生成機能がリセットされたとき、IEEE802.1CB-2017よりもはるかに良好なソリューションを提供するが、このソリューションは、すべての場合においてロスレス回復を十分に提供することはできない。このソリューションは、リセットイベントの後にいくつかのドロップされたパケットを生じ得る。
【0039】
本開示のいくつかの態様およびそれらの実施形態は、上述のまたは他の課題のソリューションを提供し得る。シーケンス番号生成イベントリセット後の、シーケンス番号ベースシームレス冗長機構についてのシームレス回復を提供するシステムおよび方法が、本明細書で説明される。
【0040】
本明細書で提案されるソリューションの実施形態は、シーケンス生成機能のリセットにより、フレームがIEEE802.1CB-2017機能によって不必要にドロップされるシナリオを解決することをターゲットにする。
【0041】
提案されるソリューションの態様は、以下を含む。
1.リセットイベントの明示的通知、および
2.新しいリニア初期シーケンス番号空間をIEEE802.1CB-2017の既存のサイクリックシーケンス番号空間に追加すること。
【0042】
IEEE802.1CB-2017の既存のサイクリックシーケンス番号空間は、本明細書では「元のシーケンス番号空間」と呼ばれることに留意されたい。
【0043】
リセットイベントの明示的通知は、本明細書では「SeqResetFlag」と呼ばれる、R-TAG中に含まれるフラグに基づく。(本明細書では「InitSeqNumSpace」と呼ばれる)新しいリニア初期シーケンス番号空間の使用は、本明細書では「InitSeqFlag」と呼ばれる、R-TAG中に含まれる新しいフラグを介して言及される。新しい番号空間のシーケンス値(「InitSeqNumSpace」)も、R-TAG中に含まれる。
【0044】
本明細書で説明される実施形態は、TSNのFRERに焦点を当てるが、本明細書で提案されるソリューションは、DetNetのPREF、あるいはシーケンス番号付けまたは(たとえば、タイムスタンプによって提供される)等価な機能に基づく他のシームレス冗長機構にも適用可能である。
【0045】
本明細書で説明されるソリューションの実施形態は、たとえば、IEEE802.1CB-2017の複製および除去機能の改善を介して、シーケンス番号生成(シーケンス生成機能)のためのシームレスリセットを提供することによって、シームレス冗長のクラウド化(cloudification)を可能にする。いくつかの実施形態では、以下の態様、(1)シーケンス生成機能リセットの明示的指示のための新しいフラグ、および(2)たとえば、IEEE802.1CB-2017の既存のサイクリックシーケンス番号空間への新しいリニア初期シーケンス番号空間の使用、が導入される。また、本明細書で提供される説明は、IEEE802.1CBにおいて規定されているFRERに焦点を当てるが、本明細書で説明されるソリューションは、TSNのFRER、DetNetのPREF、あるいはシーケンス番号付けまたは(たとえば、タイムスタンプによって提供される)等価な機能に基づく他のシームレス冗長機構に適用可能である。
【0046】
本明細書で開示される問題点のうちの1つまたは複数に対処する様々な実施形態が、本明細書で提案される。いくつかの実施形態は、(1つまたは複数の)以下の技術的利点のうちの1つまたは複数を提供し得る。本明細書で説明される提案されるソリューションの実施形態は、IEEE802.1CB-2017の複製および除去機能の改善を介して、シーケンス番号生成(シーケンス生成機能)のためのシームレスリセットを提供することによって、シームレス冗長のクラウド化を可能にする。これらの改善は、ネットワーク障害シナリオに対するはるかに高速で、シームレスな適応を保証し、シーケンス生成がリセットされたとき、不要なパケットドロップから保護する。
【0047】
これらの改善のための主要な動機づけは、FRER/パケット複製および除去機能(PREF)機能のクラウド化、すなわち、「クラウドネイティブ」実装を可能にする。今日の傾向は、アプリケーションを、仮想化された環境のほうへ移動することである。この傾向は、産業環境において使用されるアプリケーションにも達しており、たとえば、エッジコンピューティング、フォグコンピューティングを参照されたい。トーカー(Talker)/リスナー(Listener)(ソース/宛先)がクラウドに移動されるクラウドベースシナリオにおいてFRER/PREFを使用することは、FRER/PREF機能についての多くの追加の課題を生じる。FRER/PREFはエンドポイントに属するTSN/DetNet機能であり、したがって、FRER/PREFはクラウドの内部で機能しなければならない。たとえば、FRER/PREFは、図1に示されているように、通常、クラウド中の産業アプリケーションをサーブするコントローラ-クラスタ(ctrl-クラスタ)におけるインスタンスである。この点について、図1は、FRER機能の改善を必要とするクラウドベースシナリオを示す。
【0048】
複数の仮想マシン(VM)/コンテナ/インスタンスを稼働すること、VM/コンテナ/インスタンスを作成すること、VM/コンテナ/インスタンスを移動すること、機能をリセットすること、VM/コンテナ/インスタンスを取り除くことなどのような一般的なクラウドアクションは、変化する環境にシームレスに適応するためにFRER機能を必要とする。この環境における変化は、クラウドなしの現在の産業ネットワークシナリオまたはネットワーク展開における変化よりもはるかに頻繁である。
【0049】
高利用可能性システムは、障害の任意の単一のポイントの除去を必要とする。したがって、FRER/PREF機能(すなわち、シーケンス生成)は、様々なクラウド固有冗長ソリューションをサポートすることが可能であるように改善されなければならない。
【0050】
一例としてIEEE802.1CBのFRERを使用すると、シーケンス番号生成機能のリセットの影響は、(ここではSNとして言及される)リセットの前に送られる最後のパケットのために使用されるsequence_numberの実際の値と、(ここではSNとして言及される)リセットの後に送られる第1のパケットのために使用されるsequence_numberの値とに依存する。IEEE802.1CB-2017によれば、SNは常に0であり、SNは、{0;...;GenSeqSpace-1}の範囲内の値である。
【0051】
以下の範囲が、(1)IEEE802.1CB-2017において説明されるソリューション、(2)’397出願において説明されるソリューション、および(3)本明細書で説明されるソリューションについてのリセットの影響を分析するために規定され得る。
・ A:SN>SN+d
・ B:SN+d≧SN>SN
・ C:SN≧SN>SN-d
・ D:SN-d≧SN>SN-2d
・ E:SN-2d≧SN
ここで、d=IEEE802.1CB-2017において規定されている「frerSeqRcvyHistoryLength」である。元のシーケンス番号空間のサイクリック特性により、「A」と「E」とは隣接する範囲であり、それらの間の境界が、ここで分析のためにmoduloGenSeqSpace(SN+GenSeqSpace/2)として規定されることに留意されたい。図2は、サイクリックシーケンス番号空間の範囲を示す。
【0052】
分析のための仮定は、(i)ネットワークにおいて他のイベントがなく、シーケンス生成機能のみがリセットされる、および(ii)「frerSeqRcvyHistoryLength」(d)が確率計算のために100の値をとることである。
【0053】
IEEE802.1CB-2017において説明されるソリューションの評価のために、以下の範囲が重要である。
・ 履歴ウィンドウ(HSW)={SN+d;..;SN-d+1}、ここで、d=「frerSeqRcvyHistoryLength」である。
【0054】
HSWは、実際には、評価のために使用される範囲「B」と範囲「C」とのマージャ(merger)であることに留意されたい。
【0055】
IEEE802.1CB-2017によると、履歴ウィンドウ(HSW)の外のsequence_numberをもつパケットがドロップされ、履歴ウィンドウ内のパケットが、それらのパケットが重複であるか否かを判断するために「SequenceHistory」に対して評価される。したがって、IEEE802.1CB-2017は、範囲A~Eの各々について以下のように動作する。
A:タイマーが満了するまで、またはパケットのsequence_numberがSN+1に達するまで、パケットがドロップされる、
B:パケットドロップがなく、SNが受け付けられる、
C:パケットのsequence_numberがSN+1に達するまで、パケットがドロップされる、
D:パケットのsequence_numberがSN+1に達するまで、パケットがドロップされる、
E:タイマーが満了するまで、またはパケットのsequence_numberがSN+1に達するまで、パケットがドロップされる。
【0056】
すなわち、たいていの場合、タイムアウトが次のパケットの受付けをトリガするまで、パケットドロップの高い確率(99.8%)がある。パケットドロップは、その動作が紛失パケットによって損なわれ得るアプリケーションについてのパケットロスを意味することに留意されたい。
【0057】
’397出願において説明されるソリューションの評価のために、以下の追加の範囲が重要である。
・ リセット無視範囲(RIR)={SN+d;..;SN-2d+1}、ここで、d=「frerSeqRcvyHistoryLength」である。
【0058】
RIRは、実際には、評価のために使用される範囲「B」と範囲「C」と範囲「D」とのマージャであることに留意されたい。
【0059】
RIRは、エリミネータ機能が、受信された「SeqResetFlag」を無視し、HSWに対して、受信されたパケットを検査する範囲である。範囲「D」はまた、より遅い冗長経路上の重複が、SNを下回るsequence_numberを有し得、SN-dと同程度低くなり得るので、RIRの一部であることに留意されたい。したがって、’397出願において説明されるソリューションは、範囲の各々について以下のように挙動する。
A:パケットドロップがなく、SNが受け付けられる、
B:パケットドロップがなく、SNが受け付けられる、
C:パケットのsequence_numberがSN+1に達するまで、パケットがドロップする、
D:パケットのsequence_numberがSN+1に達するまで、パケットがドロップする、
E:パケットドロップがなく、SNが受け付けられる。
【0060】
たいていの場合、パケットドロップの低い確率(0.3%)がある。パケットドロップが起こるとき、それは、リセットの後に、最大「2d」個のパケットに限定される。いくつかのTSNアプリケーションは、リセットが行われたとき、これを許容し得るが、いくつかは許容しないことがある。
【0061】
本明細書で説明されるソリューションは、範囲の各々について以下の特性を有する。
A:パケットドロップがなく、SNが受け付けられる、
B:パケットドロップがなく、SNが受け付けられる、
C:パケットドロップがなく、SNが受け付けられる、
D:パケットドロップがなく、SNが受け付けられる、
E:パケットドロップがなく、SNが受け付けられる。
【0062】
パケットドロップがない。リセットの後に送られたパケットは、直ちに有効と見なされる。TSNアプリケーションはまったく影響を受けず、FRERノードに対する実装影響が適度である。
【0063】
IEEE802.1CBによる、FRERを使用したTSNネットワークにおける(または、同様にPREFを使用したDetNetネットワークにおける)除去機能を改善するためのシステムおよび方法が、本明細書で開示される。本明細書の説明が、IEEE802.1CB用語、および適切な場合、「VariableName」として示される変数名を使用することに留意されたい。新しい変数、関数、およびパラメータは、IEEE802.1CB命名規則に従い、「NewEntityName」として示される。
【0064】
以後、説明は、IEEE802.11FRERについての提案されたソリューションの実施形態に焦点を当て、したがって、802.1CB-2017FRERにおいて説明されるような用語および表記を使用する。しかしながら、本明細書で提案されるソリューションは、シーケンス番号付けまたは(たとえば、タイムスタンプによって提供される)等価な機能に基づく他のシームレス冗長機構(たとえば、DetNetのためのPREF)に等しく適用可能である。
【0065】
図3は、送信(TX)ノード302と受信(RX)ノード304とを含むシステム300を示し、ここで、TXノード302は、TSNネットワーク306を介してRXノード304に、パケットの複製されたストリームを送信する。TXノード302およびRXノード304は、この例では、たとえば、TSNエンドポイント、TSNブリッジ、または任意の他のタイプのTSNノードであり得ることに留意されたい。パケットの複製されたストリームの送信は、パケットのストリームを複数のメンバーストリームに複製して、それにより複合ストリームを提供することを伴う。メンバーストリームは、次いで、最大独立経路を介したTSNネットワーク306を介して、RXノード304に送信される。ノード302およびノード304は、本明細書では、それぞれ、「TXノード」および「RXノード」として示されるが、これらのノードは、両方とも、TSNネットワーク306を介してストリームを送信および受信し得ることを理解されるべきであることを留意されたい。
【0066】
図示のように、TXノード302は、この例では、IEEE802.1CBによるFRERを提供するように動作するFRER機能308を含む。FRER308は、複製機能310と、(RXノード304へのストリームの送信のために使用されないという点で随意として示された)除去機能312とを含む。同様にして、RXノード304は、この例では、IEEE802.1CBによるFRERを提供するように動作するFRER機能314を含む。FRER314は、(TXノード302からのストリームの受信のために使用されないという点で随意として示された)複製機能316と、除去機能322とを含む。
【0067】
図示のように、複製機能310は、シーケンス生成機能320を含む。シーケンス生成機能320は、パケットストリーム中のパケットのためのシーケンス番号を生成するように動作する。除去機能318は、シーケンス回復機能322を含む。シーケンス回復機能322は、プロトコルスタックの上へ、上位レイヤ機能のほうへ渡されるパケットに対して動作し、どのパケットを渡すべきかと、どのパケットを廃棄すべきかとを判断するためにシーケンス番号サブパラメータを使用する。
【0068】
いくつかの実施形態では、TXノード302は、クラウド実装の一部(たとえば、図1に関して上記で説明されたCtrl-クラスタの一部)である。
【0069】
FRER308および314の順序付け機能は、FRER機能のための「sequence_number」サブパラメータを提供する。特に、順序付け機能は、2つの種類の構成要素機能、すなわち、(1)プロトコルスタックの下へ、物理レイヤのほうへ渡されるパケットに対して動作し、sequence_numberサブパラメータについての値を生成する、シーケンス生成機能(たとえば、シーケンス生成機能320)と、(2)プロトコルスタックの上へ、上位レイヤ機能のほうへ渡されるパケットに対して動作し、どのパケットを渡すべきかと、どのパケットを廃棄すべきかとを判断するために、受信されたパケットのsequence_numberサブパラメータを使用する、シーケンス回復機能(たとえば、シーケンス回復機能322)とを有する。
【0070】
本明細書で説明されるソリューションの実施形態は、’379出願によってR-TAGに導入されたフラグ、すなわち「SeqResetFlag」を使用する。このフラグは、以下のように使用される。
・ パケットのストリームを送信するとき、TXノード302における複製機能310は、冗長タグ(R-TAG)がパケットのヘッダ中に(すなわち、対応するイーサネットフレームのヘッダ中に)すでに含まれている場合、パケットの「SeqResetFlag」値を変更しない。
・ TXノード302における複製機能310は、シーケンス生成機能320がリセットされたとき、所与の時間期間について、またはいくつかの送られるパケットについて「SeqResetFlag」をセットする(たとえば、「SeqResetFlag」値=1をセットする)。
・ TXノード302における複製機能310は、すべての他の場合において、「SeqResetFlag」をクリアする(たとえば、「SeqResetFlag」値=0をセットする)。
【0071】
本明細書で説明されるソリューションの実施形態は、本明細書では「InitSeqNumSpace」と呼ばれる、新しい追加のシーケンス番号空間を導入し、これは、シーケンス生成機能320の初期化またはリセットの後に使用される。新たに導入されたInitSeqNumSpaceは、図4中のボールドのリニアシーケンス番号空間によって示されている。次のパケットのsequence_numberは、新しい変数、すなわち、「InitGenSeqNum」に記憶される。この新しい番号空間が使い果たされたとき、シーケンス生成機能320は、図4中のボールドでないシーケンス番号空間によって示されている、元のシーケンス番号空間を使用することを開始する。言い換えれば、図4は、新しい(リニア)シーケンス番号空間と元の(サイクリック)シーケンス番号空間との関係の一例を示す。
【0072】
本明細書で説明されるソリューションの実施形態は、R-TAG中に、「InitSeqFlag」と呼ばれる、新しいフラグを導入する。このフラグは、以下のようにTXノード302における複製機能310によって使用される。
・ TXノード302によって送信されているパケットのストリーム中の各パケットについて、複製機能310は、R-TAGがパケットのヘッダ中にすでに含まれている場合、パケットの「InitSeqFlag」値を変更しない。
・ 複製機能310は、シーケンス生成機能320が初期化またはリセットされるとき、「InitSeqFlag」をセットする(たとえば、「InitSeqFlag」値=1をセットする)。「InitSeqNumSpace」は、パケットのためのシーケンス番号を生成するために、複製機能310によって使用される。
・ 複製機能310は、すべての他の場合において「InitSeqFlag」をクリアする(たとえば、「InitSeqFlag」値=0をセットする)。
「InitSeqNumSpace」は、以下のように使用される。
・ 「InitSeqNumSpace」は、「InitSeqStart」32768(たとえば、図4の例では、32768にセットされた設定可能パラメータ)で開始し、「GenSeqSpace-1」(すなわち、IEEE802.1CB-2017によると65535)で終わるリニアシーケンス番号空間である。
・ 「InitSeqNumSpace」は、パケットのsequence_numberを扱うために使用される変数のそれ自体のセットを有する。InitSeqNumSpace変数名は、元のシーケンス番号の変数名から、「Init」プレフィックス、たとえば、「InitGenSeqNum」、「InitRecovSeqNum」、「InitSequenceHistory」、「InitTakeAny」、「InitRemainingTicks」などでそれらを付加することを介して、導出されることに留意されたい。
・ TXノード302における複製機能310は、以下のような「InitSeqNumSpace」を使用する。
〇 「UseInitSeqSpace」は、新しい「InitSeqNumSpace」(値=1)が、次のパケットのためのsequence_numberを生成するために、シーケンス生成機能320によって使用されなければならないことを示すブーリアン状態変数である。
〇 シーケンス生成機能320が初期化またはリセットされるときはいつでも、「UseInitSeqSpace」は、「InitSeqNumSpace」が、送られるパケットのためのsequence_numberを生成するために使用されなければならないことを示すために、セットされる(たとえば、値=1)。
〇 「InitSeqNumSpace」からのsequence_numberとともに送られるすべてのパケットは、それらのR-Tag中に「InitSeqFlag」セット(たとえば、値=1)を有する。
〇 「InitGenSeqNum」は、シーケンス生成機能320が初期化またはリセットされるときはいつでも、「InitSeqStart」の値をとり、パケットが送られるとき、1だけ増分される。
〇 「InitGenSeqNum」が増分され、その最大値よりも大きくなるとき、「UseInitSeqSpace」は、「InitSeqNumSpace」が使用され得ないことを示すためにクリアされる(たとえば、値=0)。シーケンス生成機能320は、次いで、次のパケットについて元のシーケンス番号空間を使用する。
〇 「UseInitSeqSpace」がクリアである場合(値=0)、シーケンス生成機能320は、次のパケットのsequence_numberを生成するために「GenSeqNum」を使用する(すなわち、元のシーケンス番号空間が使用される)。
【0073】
本明細書のソリューションの実施形態は、RXノード304における除去機能318のための新しいプロシージャをも規定する。それは、上記で説明された「InitSeqNumSpace」からのsequence_numberを含んでいるパケットをハンドリングするために、変数の新しいセットを使用する。履歴ウィンドウのサイズは、両方のシーケンス番号空間について同じである。除去機能318は、TXノード302によって送信されたストリームのメンバーストリームのうちの1つからパケットを受信すると、以下のように動作する。
・ 受信されたパケット中の「InitSeqFlag」フラグがセットされた場合(たとえば、値=1)、シーケンス回復機能322は、以下のようにして、新しいリニアシーケンス番号空間(InitSeqNumSpace)関係の変数を使用する。
〇 シーケンス回復機能322は、「SeqResetFlag」がセットされ、パケットの「sequence_number」がiRIR範囲{「InitRecovSeqNum」+「frerSeqRcvyHistoryLength」;...;「InitRecovSeqNum」-2×「frerSeqRcvyHistoryLength」+1}の外にある場合、パケットの「sequence_number」に「InitRecovSeqNum」をセットし、「InitSequenceHistory」をクリアする。その範囲は、新しいリニアシーケンス番号空間の境界に従って計算されなければならないことに留意されたい。
〇 シーケンス回復機能322は、パケットの「sequence_number」がiRIR範囲内にある場合、「SeqResetFlag」を無視する。「sequence_number」がiHSW範囲{「InitRecovSeqNum」+「frerSeqRcvyHistoryLength」;...;「InitRecovSeqNum」-「frerSeqRcvyHistoryLength」+1}の外にある場合、パケットがドロップされる。「sequence_number」がiHSW内にある場合、パケットがすでに受信されたか否かが検査される。
〇 シーケンス回復機能322は、パケットの「SeqResetFlag」および「InitSeqFlag」値を変更しない。
〇 シーケンス回復機能322は、パケットの「sequence_number」が以下の範囲{「GenSeqSpace」-「frerSeqRcvyHistoryLength」;...;「GenSeqSpace」-2×「frerSeqRcvyHistoryLength」}内にある場合、元のシーケンス番号空間の「TakeAny」変数をセットする。この範囲は、新しい初期シーケンス番号空間がすぐに使い果たされること、すなわち、元のシーケンス番号空間に近づくことを示すことに留意されたい。
・ 受信されたパケット中の「InitSeqFlag」フラグがクリアである場合(値=0)、シーケンス回復機能は、元のシーケンス番号空間関係の変数を使用する。
〇 シーケンス回復機能322は、「SeqResetFlag」がセットされ、パケットの「sequence_number」がRIR範囲{「RecovSeqNum」+「frerSeqRcvyHistoryLength」;...;「RecovSeqNum」-2×「frerSeqRcvyHistoryLength」+1}の外にある場合、パケットの「sequence_number」の値に「RecovSeqNum」をセットし、「SequenceHistory」をクリアする。その範囲は、元のシーケンス番号空間のモジュロルールに従って計算されなければならないことに留意されたい。
〇 シーケンス回復機能322は、パケットの「sequence_number」がRIR範囲内にある場合、「SeqResetFlag」を無視する。「sequence_number」がHSW範囲の外にある場合、パケットがドロップされる。「sequence_number」がHSW内にある場合、パケットがすでに受信されたか否かを検査する。
〇 シーケンス回復機能322は、パケットの「SeqResetFlag」値を変更しない。
【0074】
そのsequence_numberサブパラメータの値にかかわらず、次のパケットを受け付けるための、シーケンス回復のためのタイムアウト機構は、両方のシーケンス番号空間について変更および適用されないことに留意されたい(元のシーケンス番号空間についての802.1CB-2017における「TakeAny」変数参照)。
【0075】
一実装形態は、リセットフラグ(「UsingResetFlag」=1/0(有効/無効))と、新しい初期シーケンス番号空間(「UsingInitSpace」=1/0(有効/無効))との使用を有効/無効にするために、2つの変数を使用し得る。
【0076】
図5は、本開示の一実施形態による、TXノード302における複製機能310のための状態図を示す。図示のように、複製機能310が、元のシーケンス番号空間と、UsingInitSpace=偽とを使用する第1の状態にあるとき、複製機能310は元のシーケンス番号空間を使用する。リセット時に初期シーケンス番号空間が無効にされると、複製機能312は、SeqGenNum=0と、UseInitSeqNum=偽とをセットし、第1の状態にとどまる。しかしながら、リセット時に初期シーケンス番号空間が有効にされると、複製機能310は、InitSeqGenNum=InitSeqStartと、UseInitSeqNum=真とをセットし、複製機能310が初期シーケンス番号空間を使用する第2の状態に遷移する。第2の状態にある間に、リセット時に初期シーケンス番号空間が有効にされると、複製機能310は、InitSeqGenNum=InitSeqStartと、UseInitSeqNum=真とをセットし、複製機能310が初期シーケンス番号空間を使用する第2の状態にとどまる。第2の状態にある間に、初期シーケンス番号空間が使い果たされると、複製機能は、SeqGenNum=0と、UseInitSeqNum=偽とをセットし、複製機能が元のシーケンス番号空間を使用する第1の状態に遷移する。第2の状態にある間に、初期シーケンス番号空間が無効にされると、複製機能は、SeqGenNum=0と、UseInitSeqNum=偽とをセットし、複製機能が元のシーケンス番号空間を使用する第1の状態に遷移する。
【0077】
図6は、本開示の一実施形態による、TXノード302における複製機能310の動作を示すフローチャートである。随意のステップが、破線で表される。図示のように、複製機能310は、(たとえば、プロトコルスタック中の(1つまたは複数の)上位レイヤから)送られるべきパケットを受信する(ステップ600)。複製機能310は、R-Tagがパケット中に存在するかまたはセットされたかどうかを決定する(ステップ602)。R-Tagがパケット中に存在するかまたはセットされた場合(602、はい)、セットされたR-Tagをもつパケットは、送られる準備ができており、したがって、送信のためにプロトコルスタック中の下位レイヤに提供される(ステップ604)。たとえば、パケットの複数のコピーが、次いで、生成され、TSNネットワーク306を通した異なる(たとえば、独立)経路を介して送られ得る。R-Tagがパケット中に存在しないかまたはセットされない場合(ステップ602、いいえ)、複製機能310は、「UsingResetFlag」が有効にされたかどうかを決定する(ステップ606)。「UsingResetFlag」が有効にされた場合、複製機能310は、シーケンス生成機能320が最近リセットされたかどうかを決定する(ステップ608)。これは、リセットが、パケットを受信する(すなわち、現在時間)より前の、あらかじめ規定されたまたはあらかじめ設定された量の時間内で行われた場合、あるいはパケットを受信するより前の、あらかじめ規定されたまたはあらかじめ設定された数のパケット内で行われた場合、真である。シーケンス生成機能320が最近リセットされた場合(ステップ608、はい)、複製機能310は、「SeqResetFlag」を有効にする(たとえば、「SeqResetFlag」を「1」の値にセットする)(ステップ610)。他の場合、複製機能310は、「SeqResetFlag」を無効にする(たとえば、「SeqResetFlag」を「0」の値にセットする)(ステップ612)。
【0078】
ステップ610から進むのかステップ612から進むのかにかかわらず、複製機能310は、「InitSeqNumSpace」の使用が有効にされたかどうかを決定する(ステップ614)。「InitSeqNumSpace」の使用が有効にされていない場合(614、いいえ)、プロセスはステップ632に進み、これは、以下で説明される。他の場合(ステップ614、はい)、複製機能310は、「UseInitSeqNum」が有効にされた(たとえば、「真」にセットされた)かどうかを決定する(ステップ616)。「UseInitSeqNum」が有効にされた場合(ステップ616、はい)、複製機能310は、「InitSeqFlag」有効にし(たとえば、「InitSeqFlag」を「1」にセットし)(ステップ618)、「InitGenSeqNum」に等しいシーケンス番号(seq_num)をパケットに追加し(ステップ620)、「InitGenSeqNum」を増分し(ステップ622)、「InitSeqNumSpace」が使い果たされたかどうかを決定する(ステップ624)。「InitSeqNumSpace」が使い果たされていない場合(ステップ624、いいえ)、プロセスはステップ628に進み、これは、以下で説明される。他の場合(ステップ624、はい)、複製機能310は、「0」に等しい「GenSeqNum」をセットし、「UseInitSeqNum」を偽にセットする(ステップ626)。次いで、ステップ624の「いいえ」分岐から進むのかステップ626から進むのかにかかわらず、複製機能310は、R-Tagをパケットに追加し(ステップ628)、プロシージャはステップ604に進み、ここで、パケットは送る準備ができている。
【0079】
ステップ616に戻ると、「UseInitSeqNum」が「真」にセットされていない場合、複製機能310は、「initSeqFlag」を無効にし(たとえば、「initSeqFlag」を「0」にセットし)(ステップ630)、「GenSeqNum」に等しいシーケンス番号(seq_num)をパケットに追加し(ステップ632)、「GenSeqSum」を増分する(ステップ634)。プロシージャは、次いで、ステップ628に進み、R-Tagがパケットに追加され、次いで、パケットは送られる準備ができている。
【0080】
図7は、本開示の別の実施形態による、TXノード302における複製機能310の動作を示すフローチャートである。この実施形態は、図6の実施形態と同様である。図示のように、複製機能310は、TXノード302におけるシーケンス生成機能310がリセットされたと決定する(ステップ700)。TXノード302におけるシーケンス生成機能310がリセットされたと決定することに応答して、複製機能310は、パケットのストリーム中で第1の複数のパケットを送信し、(a)第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号を備え、(b)リセットの後に送られた第1の複数のパケットの中からの少なくとも第1のパケットが、リセットの明示的インジケータをさらに備える(ステップ702)。複製機能310は、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定する(ステップ704)。リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定することに応答して、複製機能310は、パケットのストリーム中で第2の複数のパケットを送信し、(a)第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える(ステップ706)。
【0081】
一実施形態では、第1の複数のパケットの各々は、リニアシーケンス番号空間が使用されているという明示的指示をさらに備える。
【0082】
一実施形態では、ネットワークはTSNネットワークである。さらに、一実施形態では、方法は、シーケンス生成機能310をリセットすることをさらに含み、シーケンス生成機能310をリセットすることは、シーケンス番号履歴、履歴ウィンドウをリセットすること(たとえば、履歴ウィンドウの中間ポイントである「RecovSeqNum」をリセットすること)、またはシーケンス番号履歴と履歴ウィンドウの両方をリセットすることを含む。一実施形態では、TXノード302におけるシーケンス生成機能310がリセットされたと決定するステップ(700)と、パケットのストリーム中で第1の複数のパケットを送信するステップ(702)と、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップ(704)と、パケットのストリーム中で第2の複数のパケットを送信するステップ(706)とが、TXノード302のFRER機能308によって、および、より詳細には、TXノード302の複製機能310によって実施される。
【0083】
別の実施形態では、ネットワークはDetNetネットワークである。さらに、一実施形態では、TXノード302におけるシーケンス生成機能310がリセットされたと決定するステップ(700)と、パケットのストリーム中で第1の複数のパケットを送信するステップ(702)と、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップ(704)と、パケットのストリーム中で第2の複数のパケットを送信するステップ(706)とが、TXノード302のPRERによって実施される。
【0084】
図8は、RXノード304における除去機能318の例示的な一実施形態のための状態図を示す。図示のように、第1の状態にあるとき、除去機能318は元のシーケンス番号空間を使用する。第1のパケット状態にあり、パケットがInitSeqNumFlag=0とともに受信されるか、またはパケットが受信され、初期シーケンス番号空間が無効にされたとき、除去機能318は、第1の状態にとどまる。しかしながら、第1の状態にあり、パケットがInitSeqNumFlag=1とともに受信され、かつ、初期シーケンス番号空間有効にされたときには、除去機能318は、除去機能318が初期シーケンス番号空間を使用する第2の状態に遷移する。第2の状態にあり、パケットがInitSeqNumFlag=1とともに受信され、初期番号シーケンス番号空間が有効にされたとき、除去機能318は、第2の状態にとどまる。第2の状態にあり、パケットがInitSeqNumFlag=0とともに受信されるか、またはパケットが受信され、初期シーケンス番号空間が無効にされたとき、除去機能318は、第1の状態に遷移する。
【0085】
図9Aおよび図9Bは、本開示の一実施形態による、RXノード304における除去機能318の動作を示すフローチャートを提供する。随意のステップが、破線で表される。図示のように、除去機能318は、(たとえば、プロトコルスタック中の(1つまたは複数の)下位レイヤから)処理されるべきパケットを受信する(ステップ900)。パケットは、「seq_num」値を有する。除去機能318は、「UsingResetFlag」が有効にされたかどうかを決定する(ステップ902)。「UsingResetFlag」が有効にされていない場合(ステップ902、いいえ)、除去機能318は、パケットのシーケンス番号が履歴ウィンドウ(HSW)中にあるかどうかを決定する(ステップ904)。パケットのシーケンス番号が履歴ウィンドウ(HSW)中にない場合(ステップ904、いいえ)、除去機能318は、「TakeAny」が有効にされたかどうかを決定する(ステップ904)。「TakeAny」が有効にされていない場合(ステップ906、いいえ)、除去機能318は、パケットをドロップする(ステップ908)。そうではなく、「TakeAny」が有効にされた場合(ステップ906、はい)、プロシージャはステップ912に進み、これは、以下で説明される。ステップ904に戻ると、パケットのシーケンス番号がHSW中にある場合(ステップ904、はい)、除去機能318は、パケットのシーケンス番号が履歴中にすでにあるかどうかを決定する(ステップ910)。パケットのシーケンス番号が履歴中にすでにある場合(ステップ910、はい)、除去機能318は、パケットをドロップする(ステップ908)。そうではなく、パケットのシーケンス番号が履歴中にまだない場合(ステップ910、いいえ)、プロシージャはステップ912に進み、これは、以下で説明される。
【0086】
ステップ902に戻ると、「UsingResetFlag」が有効にされた場合(ステップ902、はい)、除去機能318は、「InitSeqNumSpace」の使用が有効にされたかどうかを決定する(ステップ920)。「InitSeqNumSpace」の使用が有効にされない場合(ステップ920、いいえ)、除去機能318は、「SeqResetFlag」が有効にされ、受信されたパケットのシーケンス番号がRIRの外にあるかどうかを決定する(ステップ922)。「SeqResetFlag」が有効にされず、受信されたパケットのシーケンス番号がRIRの外にない場合(ステップ922、いいえ)、プロシージャはステップ904に進む。他の場合(ステップ922、はい)、プロシージャはステップ912に進む。
【0087】
ステップ906のはい分岐から進むのか、ステップ910のいいえ分岐から進むのか、ステップ922のはい分岐から進むのかにかかわらず、除去機能318は、次いで、「RecovSeqNum」を更新し(ステップ912)、「SequenceHistory」を更新し(ステップ914)、「TakeAny」をクリアし(ステップ916)、パケットを受け付ける(ステップ918)。
【0088】
ステップ920に戻ると、「InitSeqNumSpace」の使用が有効にされた場合(ステップ920、はい)、除去機能318は、「InitSeqFlag」が有効にされたかどうかを決定する(ステップ924)。「InitSeqFlag」が有効にされていない場合(ステップ924、いいえ)、プロセスはステップ922に進む。他の場合(ステップ924、はい)、除去機能318は、「SeqResetFlag」が有効にされ、受信されたパケットのシーケンス番号がiRIRの外にあるかどうかを決定する(ステップ926)。「SeqResetFlag」が有効にされ、受信されたパケットのシーケンス番号がiRIRの外にある場合(ステップ926、はい)、プロシージャはステップ932に進み、これは、以下で説明される。他の場合(ステップ926、いいえ)、除去機能318は、パケットのシーケンス番号がiHSW中にあるかどうかを決定する(ステップ928)。パケットのシーケンス番号がiHSW中にある場合(ステップ928、はい)、除去機能318は、パケットが履歴中にすでにあるかどうかを決定する(ステップ930)。パケットが履歴中にまだない場合(ステップ930)、プロシージャはステップ932に進む。他の場合(ステップ932、いいえ)、除去機能318は、パケットをドロップする(ステップ944)。ステップ928に戻ると、パケットのシーケンス番号がiHSW中にない場合(ステップ928、いいえ)、除去機能318は、「InitTakeAny」が有効にされたかどうかを決定する(ステップ942)。「InitTakeAny」が有効にされていない場合(ステップ942、いいえ)、除去機能318は、パケットを廃棄する(ステップ944)。他の場合(ステップ942、はい)、プロセスはステップ932に進む。
【0089】
ステップ926のはい分岐から進むのか、ステップ930のいいえ分岐から進むのか、ステップ942のはい分岐から進むのかにかかわらず、除去機能318は、「InitRecovSeqNum」を更新し(ステップ932)、「InitSequenceHistory」を更新し(ステップ934)、「InitTakeAny」をクリアする(ステップ936)。除去機能318は、シーケンス番号がSTAR(すなわち、範囲{「GenSeqSpace」-d;...;「GenSeqSpace」-2×d})中にあるかどうかを決定する(ステップ938)。シーケンス番号がSTAR中にある場合(ステップ938、はい)、除去機能318は、「TakeAny」を真にセットし(ステップ940)、パケットが受け付けられる(ステップ918)。他の場合(ステップ938、いいえ)、除去機能318は、パケットを受け付ける(ステップ918)。
【0090】
R-TAG中の「SeqResetFlag」と、「InitSeqFlag」と、「リニアシーケンス番号空間に属する新しいシーケンス番号」とを符号化するための1つの可能なオプションが、以下において説明される。
・ 予約済みフィールド(R-TAGの2バイト目および3バイト目)中で、および/または
・ シーケンス番号フィールド(R-TAGの4バイト目および5バイト目)中で。
【0091】
R-TAGフォーマット(IEEE802.1CBにおける図7-4)を示す図10では、
・ 「SeqResetFlag」および「InitSeqFlag」は、各フラグについて1ビットの、予約済みフィールドの2ビットを使用して、R-TAG中で符号化され得る。802.1CB-2017によると、「このフィールドは、すべてが0で送信されるものとし、受信時に無視されるものとする。」「リニアシーケンス番号空間に属する新しいシーケンス番号」は、R-TAGのシーケンス番号フィールド中で符号化され得る。「InitSeqFlag」は、シーケンス番号フィールドをどのように解釈すべきかを指示する。
【0092】
他の符号化方法も構築され得る。たとえば、「SeqResetFlag」は、予約済みフィールドを使用して1ビットを使用して、R-TAG中で符号化され得、「リニアシーケンス番号空間に属する新しいシーケンス番号」は、予約済みフィールドの残りの15ビット中で符号化され得る。そのような符号化は、シーケンス番号空間の情報をも含み、したがって、「InitSeqFlag」を明示的に符号化する必要がない。
【0093】
図11は、本開示のいくつかの実施形態による、ネットワークノード1100の概略ブロック図である。ネットワークノード1100は、上記で説明されたTXノード302またはRXノード304であり得る。図示のように、ネットワークノード1100は、1つまたは複数のプロセッサ1104(たとえば、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など)と、メモリ1106と、ネットワークインターフェース1108とを含む。1つまたは複数のプロセッサ1104は、本明細書では処理回路とも呼ばれる。1つまたは複数のプロセッサ1104は、本明細書で説明されるネットワークノード1100の1つまたは複数の機能(たとえば、本明細書で説明される、TXノード302の1つまたは複数の機能またはRXノード304の1つまたは複数の機能)を提供するように動作する。いくつかの実施形態では、(1つまたは複数の)機能は、たとえば、メモリ1106に記憶され、1つまたは複数のプロセッサ1104によって実行される、ソフトウェアで実装される。
【0094】
図12は、本開示のいくつかの実施形態による、ネットワークノード1100の仮想化された実施形態を示す概略ブロック図である。この説明は、他のタイプのネットワークノードに等しく適用可能である。さらに、他のタイプのネットワークノードは、同様の仮想化されたアーキテクチャを有し得る。ここでも、随意の特徴が、点線ボックスによって表される。
【0095】
本明細書で使用される「仮想化された」ネットワークノードは、ネットワークノード1100の機能の少なくとも一部分が、(たとえば、(1つまたは複数の)ネットワークにおける(1つまたは複数の)物理処理ノード上で実行する(1つまたは複数の)仮想マシンを介して)(1つまたは複数の)仮想構成要素として実装されるネットワークノード1100の一実装形態である。図示のように、この例では、ネットワークノード1100は、(1つまたは複数の)ネットワーク1202に結合されるか、または(1つまたは複数の)ネットワーク1202の一部として含まれる、1つまたは複数の処理ノード1200を含む。各処理ノード1200は、1つまたは複数のプロセッサ1204(たとえば、CPU、ASIC、FPGAなど)と、メモリ1206と、ネットワークインターフェース1208とを含む。この例では、本明細書で説明されるネットワークノード1100の機能1210(たとえば、本明細書で説明される、TXノード302の1つまたは複数の機能またはRXノード304の1つまたは複数の機能)は、処理ノード1200のうちの1つにおいて実装されるか、または複数の処理ノード1200のうちの2つまたはそれ以上にわたって任意の所望の様式で分散される。いくつかの特定の実施形態では、本明細書で説明されるネットワークノード1100の機能1210の一部または全部は、(1つまたは複数の)処理ノード1200によってホストされる(1つまたは複数の)仮想環境において実装される1つまたは複数の仮想マシンによって実行される仮想構成要素として実装される。
【0096】
いくつかの実施形態では、少なくとも1つのプロセッサによって実行されたとき、本明細書で説明される実施形態のいずれかに従って、少なくとも1つのプロセッサに、仮想環境におけるネットワークノード1100の機能1210のうちの1つまたは複数を実装するネットワークノード1100またはノード(たとえば、処理ノード1200)の機能を行わせる命令を含むコンピュータプログラムが提供される。いくつかの実施形態では、上述のコンピュータプログラム製品を備えるキャリアが提供される。キャリアは、電子信号、光信号、無線信号、またはコンピュータ可読記憶媒体(たとえば、メモリなど、非一時的コンピュータ可読媒体)のうちの1つである。
【0097】
図13は、本開示のいくつかの他の実施形態による、ネットワークノード1100の概略ブロック図である。ネットワークノード1100は、1つまたは複数のモジュール1300を含み、その各々はソフトウェアで実装される。(1つまたは複数の)モジュール1300は、本明細書で説明されるネットワークノード1100の機能(たとえば、本明細書で説明される、TXノード302の1つまたは複数の機能またはRXノード304の1つまたは複数の機能)を提供する。この説明は、モジュール1300が処理ノード1200のうちの1つにおいて実装されるか、または複数の処理ノード1200にわたって分散され得る、図12の処理ノード1200に等しく適用可能である。
【0098】
本明細書で開示される任意の適切なステップ、方法、特徴、機能、または利益は、1つまたは複数の仮想装置の1つまたは複数の機能ユニットまたはモジュールを通して実施され得る。各仮想装置は、いくつかのこれらの機能ユニットを備え得る。これらの機能ユニットは、1つまたは複数のマイクロプロセッサまたはマイクロコントローラを含み得る、処理回路、ならびに、デジタル信号プロセッサ(DSP)、専用デジタル論理などを含み得る、他のデジタルハードウェアを介して実装され得る。処理回路は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、キャッシュメモリ、フラッシュメモリデバイス、光記憶デバイスなど、1つまたはいくつかのタイプのメモリを含み得る、メモリに記憶されたプログラムコードを実行するように設定され得る。メモリに記憶されたプログラムコードは、1つまたは複数の通信および/またはデータ通信プロトコルを実行するためのプログラム命令、ならびに本明細書で説明される技法のうちの1つまたは複数を行うための命令を含む。いくつかの実装形態では、処理回路は、それぞれの機能ユニットに、本開示の1つまたは複数の実施形態による、対応する機能を実施させるために使用され得る。
【0099】
図におけるプロセスが本開示のいくつかの実施形態によって実施される動作の特定の順序を示し得るが、そのような順序は例示的である(たとえば、代替実施形態が、異なる順序で動作を実施する、いくつかの動作を組み合わせる、いくつかの動作を重ね合わせる、などを行い得る)ことを理解されたい。
【0100】
本開示のいくつかの例示的な実施形態は以下の通りである。
実施形態1: パケットまたはフレーム複製のためのネットワークのための送信ノード(302)によって実施される方法であって、方法は、以下のステップ、すなわち、
・ 送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定するステップ(700)と、
・ 送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定するステップ(700)に応答して、パケットのストリーム中で第1の複数のパケットを送信するステップ(702)であって、(a)第1の複数のパケットの各々がリニアシーケンス番号空間からのそれぞれのシーケンス番号を備え、(b)リセットの後に送られた第1の複数のパケットの中からの少なくとも第1のパケットが、リセットの明示的インジケータをさらに備える、第1の複数のパケットを送信するステップ(702)と、
・ リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップ(704)と、
・ リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップ(704)に応答して、パケットのストリーム中で第2の複数のパケットを送信するステップ(706)であって、(a)第2の複数のパケットの各々がサイクリックシーケンス番号空間のそれぞれのシーケンス番号を備える、第2の複数のパケットを送信するステップ(706)と
のうちの1つまたは複数を含む、方法。
実施形態2: 第1の複数のパケットの各々は、リニアシーケンス番号空間が使用されているという明示的指示をさらに備える、実施形態1に記載の方法。
実施形態3: ネットワークが時間敏感ネットワーキング(TSN)ネットワークである、実施形態1または2に記載の方法。
実施形態4: シーケンス生成機能(310)をリセットすることをさらに含み、シーケンス生成機能(310)をリセットすることが、シーケンス番号履歴、履歴ウィンドウ、またはシーケンス番号履歴と履歴ウィンドウの両方をリセットすることを含む、実施形態1から3のいずれか1つに記載の方法。
実施形態5: 送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定するステップ(700)と、パケットのストリーム中で第1の複数のパケットを送信するステップ(702)と、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップ(704)と、パケットのストリーム中で第2の複数のパケットを送信するステップ(706)とが、送信ノード(302)の信頼性のためのフレーム複製および除去(FRER)機能(308)によって実施される、実施形態3に記載の方法。
実施形態6: ネットワークが決定論的ネットワーキング(DetNet)ネットワークである、実施形態1または2に記載の方法。
実施形態7: 送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定するステップ(700)と、パケットのストリーム中で第1の複数のパケットを送信するステップ(702)と、リニアシーケンス番号空間の終わりに達したかまたはリニアシーケンス番号空間の使用が無効にされたと決定するステップ(704)と、パケットのストリーム中で第2の複数のパケットを送信するステップ(706)とが、送信ノード(302)のパケット複製および除去機能(PRER)によって実施される、実施形態6に記載の方法。
実施形態8: パケットまたはフレーム除去のためのネットワークのための受信ノード(304)によって実施される方法であって、方法は、以下のステップ、すなわち、
・ ネットワークを通した、送信ノード(302)から受信ノード(304)への異なる経路を横断する複数の複製されたストリームのうちの1つからパケットを受信するステップ(900)であって、パケットがシーケンス番号を備える、パケットを受信するステップ(900)と、
・ パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定するステップ(924、はい)と、
・ パケットが、送信ノード(302)におけるシーケンス生成機能(310)がリセットされたという明示的指示を備えるかどうかを決定するステップ(926)と、
・ パケットのシーケンス番号が、リニアシーケンス番号空間の使用に関連するリセット無視範囲(iRIR)の外にあるかどうかを決定するステップ(926)と、
・ パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定するステップ(924、はい)と、パケットが、送信ノード(302)におけるシーケンス生成機能(310)がリセットされたという明示的指示を備え、かつ、パケットのシーケンス番号がiRIRの外にあると決定するステップ(926、はい)とに応答して、パケットを受け付けるステップ(918)と
のうちの1つまたは複数を含む、方法。
実施形態9: パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定すること(924、はい)と、パケットが、送信ノード(302)におけるシーケンス生成機能(310)がリセットされたという明示的指示を備え、かつ、パケットのシーケンス番号がiRIRの外にあると決定すること(926、はい)とに応答して、パケットのシーケンス番号に基づいて、リニアシーケンス番号空間に関連するiHSWおよび履歴を更新すること(932、934)をさらに含む、実施形態8に記載の方法。
実施形態10: パケットが、リニアシーケンス番号空間が使用されているという明示的指示を備えると決定すること(924、はい)と、パケットが、送信ノード(302)におけるシーケンス生成機能(310)がリセットされたという明示的指示を備えないかまたはパケットのシーケンス番号がiRIRの外にないのかのいずれかであると決定すること(926、いいえ)とを行うと、
・ パケットのシーケンス番号が、リニアシーケンス番号空間の使用に関連する履歴ウィンドウ(iHSW)内にあるかどうかを決定すること(928)と、
・ パケットのシーケンス番号が、すでに受信されたシーケンス番号を備える、リニアシーケンス番号空間の使用に関連する履歴中にすでにあるかどうかを決定すること(930)と、
・ パケットのシーケンス番号がiHSW内にあると決定すること(928、はい)とパケットのシーケンス番号が履歴中にまだないと決定すること(930、いいえ)とに応答して、パケットを受け付けること(918)と
をさらに含む、実施形態8に記載の方法。
実施形態11: パケットのシーケンス番号がiHSW内にあると決定すること(928、はい)とパケットのシーケンス番号が履歴中にすでにあると決定すること(930、はい)とに応答して、パケットを廃棄すること(918)をさらに含む、実施形態10に記載の方法。
実施形態12: パケットのシーケンス番号がiHSW内にあると決定すること(928、はい)とパケットのシーケンス番号が履歴中にまだないと決定すること(930、いいえ)とに応答して、パケットのシーケンス番号に基づいて、リニアシーケンス番号空間に関連するiHSWおよび履歴を更新すること(932、934)をさらに含む、実施形態10に記載の方法。
実施形態13: パケットまたはフレーム複製のためのネットワークのための送信ノード(302)によって実施される方法であって、方法は、以下のステップ、すなわち、
・ 送られるべきパケットを取得するステップ(600)と、
・ パケットがネットワークにおける前のネットワークノードによってまだ複製されていないと決定するステップ(たとえば、R-Tagがパケット中にまだ存在しないと決定するステップ)(602、いいえ)と、
・ 送信ノード(302)におけるシーケンス生成機能(310)がリセットされたかどうかを決定するステップ(608)と、
・ 送信ノード(302)におけるシーケンス生成機能(310)がリセットされたと決定するステップ(608)に応答して、シーケンス生成機能(310)がリセットされたことを指示するパケット中の明示的指示を有効にするステップ(610)、または、パケット中の明示的指示を無効にするステップ(612)と
・ リニアシーケンス番号空間が使用されるべきであると決定するステップ(616、はい)と、
・ リニアシーケンス番号空間が使用されるべきであると決定するステップ(616、はい)に応答して、
〇 リニアシーケンス番号空間が使用されていることを指示するパケット中の明示的指示を有効にするステップ(618)、および
〇 リニアシーケンス番号空間からのシーケンス番号をパケットに追加するステップ(620)と、
・ パケットが複製されたことを指示するタグをパケットに追加するステップ(628)と、
・ 複製および送信のためにパケットを提供するステップ(604)と
のうちの1つまたは複数を含む、方法。
実施形態14: 実施形態1から13のいずれか1つに記載の方法を実施するように適合されたネットワークノード(302、304、1100)。
【0101】
当業者は、本開示の実施形態に対する改善および修正を認識されよう。すべてのそのような改善および修正は、本明細書で開示される概念の範囲内で考慮される。
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10
図11
図12
図13