(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】メッセージ転送方法、メッセージ転送デバイス及びコンピュータ読み取り可能媒体
(51)【国際特許分類】
H04J 3/16 20060101AFI20240730BHJP
【FI】
H04J3/16
(21)【出願番号】P 2022576148
(86)(22)【出願日】2021-10-11
(86)【国際出願番号】 CN2021123104
(87)【国際公開番号】W WO2022078296
(87)【国際公開日】2022-04-21
【審査請求日】2022-12-09
(31)【優先権主張番号】202011101517.1
(32)【優先日】2020-10-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】朱向陽
(72)【発明者】
【氏名】韓玉芳
(72)【発明者】
【氏名】▲ウィ▼敬海
【審査官】谷岡 佳彦
(56)【参考文献】
【文献】特開2008-277873(JP,A)
【文献】特開2008-219555(JP,A)
【文献】特表2017-512406(JP,A)
【文献】米国特許出願公開第2019/0181999(US,A1)
【文献】米国特許出願公開第2016/0308610(US,A1)
【文献】中国特許第109479006(CN,B)
(58)【調査した分野】(Int.Cl.,DB名)
H04J 3/16
(57)【特許請求の範囲】
【請求項1】
上流デバイスのターゲットメッセージを受信するステップであって、前記ターゲットメッセージは、第1のタイムスロット情報を搬送し、前記第1のタイムスロット情報は、第1のタイムスロットの長さおよび第1のタイムスロット識別子を含むステップと、
前記第1のタイムスロットの長さおよび前記第1のタイムスロット識別子から対応する第2のタイムスロットの長さおよび第2のタイムスロット識別子を決定するステップと、
前記第2のタイムスロットの長さおよび前記第2のタイムスロット識別子に対応するキャッシュキューに前記ターゲットメッセージが入ってから予め設定された待ち時間が経過した後に、前記ターゲットメッセージを転送するステップと、を含む、
メッセージ転送方法。
【請求項2】
前記第1のタイムスロットの長さおよび前記第1のタイムスロット識別子から対応する第2のタイムスロットの長さおよび第2のタイムスロット識別子を決定する前記ステップは、
前記第1のタイムスロットの長さを上流タイムスロットの長さとし、前記第1のタイムスロット識別子を上流タイムスロット識別子とし、タイムスロットマッピング表から対応する下流タイムスロットの長さおよび下流タイムスロット識別子を検索し、当該下流タイムスロットの長さを前記第2のタイムスロットの長さとし、当該下流タイムスロット識別子を前記第2のタイムスロット識別子とすることであって、前記タイムスロットマッピング表には、上流タイムスロットの長さにおける上流タイムスロット識別子と自身の下流タイムスロットの長さにおける下流タイムスロット識別子とのマッピング関係が記載されていることを含む、
請求項1に記載のメッセージ転送方法。
【請求項3】
上流デバイスのターゲットメッセージを受信する前記ステップの前に、
前記上流デバイスのタイムスロットテンプレート情報を取得するステップであって、前記タイムスロットテンプレート情報は、対応する1つの上流タイムスロットの長さおよび当該上流タイムスロットの長さにおける全上流タイムスロット識別子を含む少なくとも1つのタイムスロットテンプレートを含むステップと、
前記タイムスロットテンプレートの全てにおける上流タイムスロットの長さと自身が予め設定した全下流タイムスロットの長さとに基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子との間のマッピング関係を確立して前記タイムスロットマッピング表を生成するステップと、をさらに含む、
請求項2に記載のメッセージ転送方法。
【請求項4】
前記上流デバイスのタイムスロットテンプレート情報を取得する前記ステップは、
前記上流デバイスからリンク層発見プロトコルで送信された前記タイムスロットテンプレート情報を受信することを含む、
請求項3に記載のメッセージ転送方法。
【請求項5】
前記タイムスロットテンプレートの全てにおける上流タイムスロットの長さと自身が予め設定した全下流タイムスロットの長さとに基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子との間のマッピング関係を確立する前記ステップは、
前記タイムスロットテンプレートの全てにおける上流タイムスロットの長さと、上流タイムスロットの長さに対応する上流タイムスロット数と、自身の全下流タイムスロットの長さと、下流タイムスロットの長さに対応する下流タイムスロット数とに基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子との間のマッピング関係を確立するステップを含む、
請求項3に記載のメッセージ転送方法。
【請求項6】
前記タイムスロットテンプレートの全てにおける上流タイムスロットの長さと、上流タイムスロットの長さに対応する上流タイムスロット数と、自身が予め設定した全下流タイムスロットの長さと、下流タイムスロットの長さに対応する下流タイムスロット数とに基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子との間のマッピング関係を確立する前記ステップは、
第1の下流タイムスロットの長さと第1の上流タイムスロットの長さとの商Nが整数であり、且つ前記第1の上流タイムスロットの長さとそれに対応する上流タイムスロット数との積が前記第1の下流タイムスロットの長さとそれに対応する下流タイムスロット数との積に等しいという条件が存在することに応答して、前記第1の上流タイムスロットの長さにおけるN個の上流タイムスロット識別子と前記第1の下流タイムスロットの長さにおける1つの下流タイムスロット識別子との間のマッピング関係を確立することと、
第2の上流タイムスロットの長さと第2の下流タイムスロットの長さとの商Mが整数であり、且つ前記第2の上流タイムスロットの長さとそれに対応する上流タイムスロット数との積が前記第2の下流タイムスロットの長さとそれに対応する下流タイムスロット数との積に等しいという条件が存在することに応答して、前記第2の上流タイムスロットの長さにおける1つの上流タイムスロット識別子と前記第2の下流タイムスロットの長さにおけるM個の下流タイムスロット識別子との間のマッピング関係を確立することと、を含む、
請求項5に記載のメッセージ転送方法。
【請求項7】
前記タイムスロットテンプレートの全てにおける上流タイムスロットの長さと、上流タイムスロットの長さに対応する上流タイムスロット数と、自身が予め設定した全下流タイムスロットの長さと、下流タイムスロットの長さに対応する下流タイムスロット数とに基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子との間のマッピング関係を確立する前記ステップは、
第3の上流タイムスロットの長さとそれに対応する上流タイムスロット数との積が第3の下流タイムスロットの長さとそれに対応する下流タイムスロット数との積に等しくないという条件が存在することに応答して、前記第3の上流タイムスロットの長さ、前記第3の上流タイムスロットの長さに対応する上流タイムスロット数、前記第3の下流タイムスロットの長さ、および前記第3の下流タイムスロットの長さに対応する下流タイムスロット数の最小公倍数を計算することと、
前記最小公倍数、前記第3の上流タイムスロットの長さ及び前記第3の上流タイムスロットの長さに対応する上流タイムスロット数に基づいて、少なくとも1つの上流タイムスロット群を確立し、前記最小公倍数、前記第3の下流タイムスロットの長さ及び前記第3の下流タイムスロットの長さに対応する下流タイムスロット数に基づいて、少なくとも1つの下流タイムスロット群を確立することと、
上流タイムスロット群全体の全タイムスロットの上流タイムスロット識別子と下流タイムスロット群全体の全タイムスロットの下流タイムスロット識別子との間のマッピング関係を確立することと、をさらに含む、
請求項5に記載のメッセージ転送方法。
【請求項8】
前記ターゲットメッセージを転送する前記ステップは、
前記第1のタイムスロットの長さを前記第2のタイムスロットの長さに置き換え、前記第1のタイムスロット識別子を待ち時間経過後の現在のタイムスロットに対応するタイムスロット識別子に置き換え、前記ターゲットメッセージを転送することを含む、
請求項1に記載のメッセージ転送方法。
【請求項9】
1つまたは複数のプロセッサと、
1つまたは複数のプログラムを記憶するための記憶装置と、を備え、
前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から8のいずれか1項に記載のメッセージ転送方法を実現させる、
メッセージ転送デバイス。
【請求項10】
コンピュータプログラムが記憶されており、前記コンピュータプログラムはプロセッサによって実行されると、請求項1から8のいずれか1項に記載のメッセージ転送方法におけるステップを実現する、
コンピュータ読み取り可能
記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年10月15日に中国特許庁へ提出された第202011101517.1号特許出願の優先権を主張し、そのすべての内容を参照により援用する。
【0002】
本願は通信技術分野に関し、特に、メッセージ転送方法、メッセージ転送デバイス、及びコンピュータ読み取り可能媒体に関するものである。
【背景技術】
【0003】
従来技術において、ネットワークにおける各デバイスの時間同期の問題に対して、2つの解決モードがあり、同期モードでは、ネットワークにおける全てのデバイスは厳密な時間同期を必要とし、デバイスの受信ポートは、各メッセージの受信時間を決定し、メッセージが入る特定の受信時間周期を決定し、その後の所定の時間周期内に送信する。非同期モードでは、ネットワークにおける異なるデバイスは、周波数同期を維持し、且つタイムスライスの大きさが同じであればよく、それぞれの位相が異なり、メッセージ転送過程において、送信されるメッセージはタイムスロットタグを搬送し、各デバイスは、タイムスロットタグに基づいて、このメッセージを転送するタイムスロットを決定する。
【0004】
非同期モードでは、ネットワーク内の各ネットワークデバイスのタイムスライスのサイズが同一であること、即ち、サポートされるタイムスロットの長さが同一であることを保証する必要があるため、実際に存在する一部のネットワークデバイスの設定によってサポートされるタイムスロットと他のデバイスとが一致しない場合、上流デバイスがメッセージを送信する際に対応するタイムスロットの長さが転送デバイスによってサポートされず、そのメッセージの転送ができなくなる。
【発明の概要】
【0005】
第1の態様において、本公開の実施形態は、上流デバイスのターゲットメッセージを受信するステップであって、前記ターゲットメッセージは、第1のタイムスロット情報を搬送し、前記第1のタイムスロット情報は、第1のタイムスロットの長さおよび第1のタイムスロット識別子を含むステップと、前記第1のタイムスロットの長さおよび前記第1のタイムスロット識別子から対応する第2のタイムスロットの長さおよび第2のタイムスロット識別子を決定するステップと、前記第2のタイムスロットの長さおよび前記第2のタイムスロット識別子に対応するキャッシュキューに前記ターゲットメッセージが入ってから予め設定された待ち時間が経過した後に、前記ターゲットメッセージを転送するステップと、を含むメッセージ転送方法を提供する。
【0006】
第2の態様において、本公開の実施形態は、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するための記憶装置と、を備え、前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに上記実施の形態に記載のメッセージ転送方法を実現させる、メッセージ転送デバイスをさらに提供する。
【0007】
第3の態様において、本公開の実施形態は、コンピュータプログラムが記憶されており、前記コンピュータプログラムはプロセッサによって実行されると、上記実施の形態に記載のメッセージ転送方法におけるステップを実現する、コンピュータ読み取り可能媒体をさらに提供する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本公開の実施の形態が提供するメッセージ転送方法のフロー模式図である。
【
図2】
図2は、本公開の実施の形態が提供するメッセージ転送方法の別のフロー模式図である。
【
図3】
図3は、本公開の実施の形態が提供するメッセージ転送方法のさらなるフロー模式図である。
【
図4】
図4は本公開の実施の形態によって提供されるTLVトライグラムのフォーマットを示す模式図である。
【
図5】
図5は本公開の実施の形態におけるステップS02の具体的な実施方法のフロー模式図である。
【
図6】
図6は本公開の実施の形態におけるステップS021の具体的な実施方法のフロー模式図である。
【
図7】
図7は本公開の実施の形態におけるステップS021の別の具体的な実施方法のフロー模式図である。
【
図8】
図8は本公開の実施の形態が提供するメッセージ転送デバイスの構造模式図である。
【
図9】
図9は本公開の実施の形態が提供するコンピュータ読み取り可能媒体の構造模式図である。
【発明を実施するための形態】
【0009】
本公開の技術案を当業者がよりよく理解できるように、以下では図面を組み合わせてして本公開が提供するメッセージ転送方法、メッセージ転送デバイス、およびコンピュータ読み取り可能媒体について詳細に説明する。
【0010】
以下、図面を参照して例示的な実施形態をより十分に説明するが、例示的な実施形態は、本明細書で説明する実施形態に限定されると解釈すべきではなく、異なる形式で具現化することができる。これらの実施形態を提供する目的は、本公開をより徹底的かつ完全にし、当業者に本公開の範囲を十分に理解させることである。
【0011】
本明細書で使用される用語は、特定の実施形態を記述するためにのみ使用され、本公開を限定することを意図するものではない。本明細書で使用されるように、単数形「1つ」および「当該」は、文脈が特に明確に示さない限り、複数形を含むことも意図される。また、本明細書で「含む」および/または「……からなる」という用語を使用する場合、特定の特徴、全体、ステップ、動作、素子および/またはアセンブリが存在することを指定するが、1つ以上の他の特徴、全体、ステップ、動作、素子、アセンブリおよび/またはそれらのグループが存在するか、または追加されてもよいことが排除されないことを理解するであろう。
【0012】
本明細書では、第1の、第2の等という用語を用いて様々な要素を記述することができるが、これらの要素はこれらの用語に限定されるべきではないことを理解されたい。これらの用語は、1つの素子と別の素子を区別するためにのみ使用される。したがって、本公開の教示から逸脱することなく、以下に論じる第1の素子、第1のアセンブリ、または第1のモジュールは、第2の素子、第2のアセンブリ、または第2のモジュールと称することができる。
【0013】
特に限定されない限り、本明細書で使用されるすべての用語(技術用語および科学用語を含む)の意味は、当業者が通常理解しているものと同じである。また、一般的な辞書に定義されているような用語は、本明細書で明示されていない限り、関連する技術および本開示の背景における意味と一致する意味を有すると解釈され、理想的または過度な形式上の意味を有すると解釈されないことも理解されるであろう。
【0014】
本公開が提供するメッセージ転送方法、メッセージ転送デバイス及びコンピュータ読み取り可能媒体は、ターゲットメッセージ中に搬送される第1のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて対応する第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定することにより、当該ターゲットメッセージを第2のタイムスロットの長さ及び第2のタイムスロット識別子に対応するキャッシュに入れて転送し、ネットワーク内のデバイスは、上流デバイスがメッセージを発する際に選択されたタイムスロットの長さをサポートしていないためにメッセージ転送を行うことができない場合を避けるために、メッセージに示された第1のタイムスロット情報に基づいて転送されたタイムスロットを選択することができる。本公開が提供する対応する方法および装置は、時間感受性ネットワーク(Time-sensitive Network、TSNと略称する)、確定性ネットワーク(Deterministic Networking、DetNetと略称する)、IEEE 802.1Qbv標準とIEEE 802.1Qch標準を採用するネットワークおよびその他の循環キュー転送(Circular Queue Forwarding、CQFと略称する)メカニズムを採用するネットワークなどに適用される。
【0015】
図1は、本公開の実施形態によって提供されるメッセージ転送方法のフロー模式図である。
図1に示すように、当該メッセージ転送方法は、以下のステップS1~S3を含む。
【0016】
ステップS1、上流デバイスのターゲットメッセージを受信する。
【0017】
当該ターゲットメッセージには、第1のタイムスロットの長さと第1のタイムスロット識別子とを含む第1のタイムスロット情報が含まれている。具体的には、上流は、相対概念であり、現在の通信リンクにおけるあるデバイスの位置が自デバイスの1つ上位にあることを示し、転送デバイスまたはユーザ側デバイスであることができ、相応に、自デバイスは、現在の通信リンクにおいてステップS1の「上流デバイス」に対して下流デバイスである。する。第1のタイムスロット情報は、上流デバイスがターゲットメッセージを発行する際に対応する送信タイムスロットを示すために使用され、第1のタイムスロット識別子は、当該送信タイムスロットを識別するために使用され、第1のタイムスロット識別子は、タイムスロット番号およびタイムスロット識別子などの様々な形式を含む。
【0018】
いくつかの実施形態では、第1のタイムスロット情報は、第1のタイムスロットの長さの単位、具体的には、第1のタイムスロットの長さの単位は時間単位であり、ナノ秒、マイクロ秒、ミリ秒、および秒などとすることができる。
【0019】
ステップS2、第1のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて、対応する第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定する。
【0020】
いくつかの実施形態では、自デバイスは1つまたは複数のタイムスロットの長さをサポートし、維持している。具体的には、自デバイスが属するネットワークの全ネットワーク時間は、複数の連続した同じ長さのタイムスロットに分割され、このプロセスの分割はタイムスロットの長さに基づいており、各タイムスロットはそれぞれのタイムスロット識別子が対応して存在し、複数のタイムスロットの長さが存在する場合は複数の分割方式が対応して存在する。例示的には、自デバイスは複数のタイムスロットの長さ及びそのそれぞれに対応するタイムスロット識別子を維持し、上流デバイスのターゲットメッセージを受信した後、ターゲットメッセージ中の第1のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて対応する第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定するステップは、以下の実施形態を含むことができる。すなわち、自デバイスが維持する第1のタイムスロットの長さに等しいタイムスロットの長さを第2のタイムスロットの長さとし、そして、第1のタイムスロット識別子の後のk番目のタイムスロット識別子を第2のタイムスロット識別子とし、即ち、第1のタイムスロット識別子の対応するタイムスロットの後のk番目のタイムスロットを転送タイムスロットとし、kを整数とし、あるいは、自デバイスが維持している第1のタイムスロットの長さと整数倍の関係を持ち、第1のタイムスロットの長さより大きいタイムスロットの長さを第2のタイムスロットの長さとし、第1のタイムスロット識別子とパリティ関係が同じ次のタイムスロット識別子を第2のタイムスロット識別子とする。
【0021】
なお、上述した第1のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて対応する第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定する説明は、本公開の技術案を限定せず、本公開の1つの実施形態にすぎず、他のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定する方法は、本公開の技術案に同様に適用される。
【0022】
いくつかの実施形態では、第1のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて対応する第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定するステップは、ネットワーク制御面に基づいて発信するタイムスロットマッピング関係に基づいて、第1のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて対応する第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定するステップを含む。
【0023】
ステップS3、ターゲットメッセージが第2のタイムスロットの長さと第2のタイムスロット識別に対応するキャッシュキューに入り、予め設定された待ち時間が経過した後、ターゲットメッセージを転送する。
【0024】
いくつかの実施形態では、待ち時間はネットワーク制御面によって計算され、発信されるか、またはデバイス自身がネットワーク状況、メッセージサイズ、システムリソースなどに基づいて自ら設定することができ、一般的に、待ち時間はタイムスロットの長さに基づいて設定することができ、例えば、待ち時間を第2のタイムスロットの長さに対応する時間に設定することができる。
【0025】
いくつかの実施形態では、ステップS3において、ターゲットメッセージを転送するステップは、以下を含む。すなわち、第1のタイムスロットの長さを第2のタイムスロットの長さに置換し、第1のタイムスロット識別子を待ち時間経過後の現在のタイムスロットに対応するタイムスロット識別子に置換し、現在のリンクにおける自デバイスの下流デバイスを置換後の第1のタイムスロット情報に基づいて対応する識別子と処理を行うためにターゲットメッセージを転送し、該下流デバイスは、転送デバイスまたはユーザ側デバイスであってもよい。
【0026】
本公開の実施形態が提供するメッセージ転送方法は、ターゲットメッセージに含まれる第1のタイムスロットの長さと第1のタイムスロット識別子とに基づいて対応する第2のタイムスロットの長さと第2のタイムスロット識別子とを決定することによって、当該ターゲットメッセージを第2のタイムスロットの長さと第2のタイムスロット識別子に対応するキャッシュに入れて転送することで、ネットワーク内のデバイスが、メッセージに示される第1のタイムスロット情報に基づいて転送されるタイムスロットを選択し、上流デバイスがメッセージを送信する際に選択されたタイムスロットの長さをサポートしていないため、メッセージ転送ができない場合を回避する。
【0027】
図2は本公開の実施形態によって提供されるメッセージ転送方法の別のフロー模式図である。
図2に示すように、このメッセージ転送方法は、
図1に示す方法に基づく具体化された実施形態である。具体的には、このメッセージ転送方法は、ステップS1~ステップS3だけでなく、第1のタイムスロットの長さ及び第1のタイムスロット識別子に基づいて対応する第2のタイムスロットの長さ及び第2のタイムスロット識別子を決定するステップS2は、ステップS201をさらに含む。以下、ステップS201についてのみ詳細に説明する。
【0028】
ステップS201、第1のタイムスロットの長さを上流タイムスロットの長さとし、第1のタイムスロット識別子を上流タイムスロット識別子とし、タイムスロットマッピング表から対応する下流タイムスロットの長さと下流タイムスロット識別子を見つけ、この下流タイムスロットの長さを第2のタイムスロットの長さとし、この下流タイムスロット識別子を第2のタイムスロット識別子とする。
【0029】
タイムスロットマッピング表には、上流タイムスロットの長さにおける上流タイムスロット識別子と自身の下流タイムスロットの長さにおける下流タイムスロット識別子とのマッピング関係が記載されている。具体的には、上流デバイスと自デバイスはそれぞれ、1つまたは複数のタイムスロットの長さと、各タイムスロットの長さに基づいて分割されたタイムスロットに対応するタイムスロット識別子とをサポートし、維持し、タイムスロットマッピング表は、上流デバイスのタイムスロット識別子と自デバイスのタイムスロット識別子との間のマッピング関係を示すのに用いられ、バイグラムの形式で相互に対応するタイムスロットの長さとタイムスロット識別子とを記憶し、マッピング関係は、バイグラムの間で確立されている。あるいは、タイムスロットの長さを上位属性とし、その下に対応するタイムスロット識別子を格納し、マッピング関係をタイムスロットの長さでのタイムスロット識別子間に確立する。
【0030】
図3は本公開の実施形態によって提供されるメッセージ転送方法のさらに別のフロー模式図である。
図3に示すように、当該メッセージ転送方法は、
図2に示す方法に基づく具体化された実施形態である。具体的には、当該メッセージ転送方法は、ステップS1~ステップS3だけでなく、上流デバイスのターゲットメッセージを受信するステップS1の前に、ステップS01及びステップS02をさらに含む。以下、ステップS01及びステップS02についてのみ詳細に説明する。
【0031】
ステップS01、上流デバイスのタイムスロットテンプレート情報を取得する。
【0032】
タイムスロットテンプレート情報は、対応する1つの上流タイムスロットの長さと、当該上流タイムスロットの長さにおけるすべての上流タイムスロット識別子とを含む少なくとも1つのタイムスロットテンプレートを含む。具体的には、ネットワーク内の転送デバイスは、それぞれ自身の1つまたは複数のタイムスロットテンプレートを維持し、各デバイスの近隣デバイスおよびノードは、そのデバイスのタイムスロットテンプレートに関する情報を知る必要がある。
【0033】
いくつかの実施形態では、上流デバイスのタイムスロットテンプレート情報を取得するステップS01は、リンク層発見プロトコル(Link Layer Discovery Protocol、LLDPと略称する)を介して上流デバイスが送信するタイムスロットテンプレート情報を受信することとを含み、さらに、メッセージ転送方法は、リンク層発見プロトコルを介して自身を示すタイムスロットテンプレートの情報を下流デバイスに送信することを含む。具体的には、タイムスロットテンプレート情報の通知は、リンク層発見プロトコルメッセージを介して1つのTLV(Type Length Value)トライグラムを搬送することができる。
【0034】
図4は本公開の実施形態によって提供されるTLVトライグラムのフォーマットを示す模式図である。
図4に示すように、TLVは、タイプフィールド(TLV type)、長さフィールド(TLV information string length)、サブタイプフィールド(802.1 sub type)、およびタイムスロットテンプレート情報(Time slot information)を含み、タイプフィールドと長さフィールドはヘッダ領域を構成する。タイプフィールドは、当該TLVのタイプを示すために使用され、7ビット(bit)を占める。例えば、LLDP Organizationally Specific TLVタイプを使用し、このときタイプ値が127の場合、またはタイプフィールドの予約値を使用して新しいオプションTLVタイプを定義することもできる。長さフィールドは、当該TLVの長さを示すために使用され、4+2*aビットを占用し、aは、タイムスロットテンプレート情報中のタイムスロットテンプレートの個数である。タイプの補足であるサブタイプフィールドは、占用当該TLVのサブタイプを示すために使用され、1バイトを占用し、この例では当該TLVのサブタイプはタイムスロットテンプレート情報を搬送するTLV(Time slot information TLV)である。タイムスロットテンプレート情報には、少なくとも1つのタイムスロットテンプレートが含まれ、単一のタイムスロットテンプレートは2ビットを占用し、1バイトを占用するタイムスロットの長さフィールド(Time slot size)、4ビットを占用するタイムスロット数フィールド(Slot number)、および4ビットを占用する保持フィールド(Reserved)を含む。具体的には、タイムスロットの長さフィールドはタイムスロットの長さの絶対値であってもよく、またはタイムスロットの長さとデフォルトタイムスロットの長さに対応する商であってもよく、またはbであってもよく、タイムスロットの長さは対応するデフォルト周期長と2のb次方根の積であり、bは整数である。また、タイムスロット識別子はタイムスロット番号の形式を採用し、デフォルトでは自然数からなる第1項が0の等差数列をとり、タイムスロット数フィールドによって指示され、例えば、タイムスロット数が2の場合、タイムスロット識別子が0と1であることが決定される。
【0035】
いくつかの実施形態では、上流デバイのタイムスロットテンプレート情報を取得するステップS01は、ネットワーク制御面から送信される上流デバイスのタイムスロットテンプレート情報を受信することを含む、さらに、前記メッセージ転送方法は、ネットワーク制御面が当該情報に基づいて対応するマッピング関係を計算し、自身の下流デバイスに送信するために、自身のタイムスロットテンプレートを示す情報をNetconfプロトコルを介してネットワーク制御面に送信することを含む。
【0036】
なお、上記各プロトコルメッセージに対してタイムスロットテンプレート情報及びその他の関連情報を搬送する記述は、本公開の一実施形態にすぎず、本公開の技術案を制限せず、他のプロトコルメッセージも本公開の技術案に同様に適用される。
【0037】
ステップS02、全タイムスロットテンプレートにおける上流タイムスロットの長さと自身が予め設定した全下流タイムスロットの長さとに基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子とのマッピング関係を確立し、タイムスロットマッピング表を生成する。
【0038】
対応するタイムスロット識別子間のマッピング関係は、上流タイムスロットの長さと下流タイムスロットの長さとの間の大きさ関係に基づいて確立することができ、または上流タイムスロットの長さまたは下流タイムスロットの長さが予め設定された数値条件を満たすか否かに基づいて確立することができ、または上流タイムスロットの長さと下流タイムスロットの長さに基づいてネットワーク制御面から送信される予め設定されたマッピング関係の中から対応するマッピング関係をマッチングすることができる。
【0039】
図5は、本公開の実施形態におけるステップS02の具体的な実施方法のフロー模式図である。
図5に示すように、ステップS02において、全タイムスロットテンプレートにおける上流タイムスロットの長さと自身が予め設定した全下流タイムスロットの長さとに基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子とのマッピング関係を確立するステップは、ステップS021を含む。
【0040】
ステップS021、全タイムスロットテンプレートにおける上流タイムスロットの長さ、上流タイムスロットの長さに対応する上流タイムスロット数、自身の全下流タイムスロットの長さと下流タイムスロットの長さに対応する下流タイムスロット数に基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子とのマッピング関係を確立する。
【0041】
タイムスロット数は、タイムスロットテンプレート中のタイムスロット識別子の数から得られる、あるいは、上流タイムスロットの長さに対応する上流タイムスロット数は上流タイムスロットの長さ自身が位置する循環キュー中のタイムスロットの個数であり、これに対応して、下流タイムスロットの長さに対応する下流タイムスロットの個数は下流タイムスロットの長さ自身が位置する循環キュー中のタイムスロットの個数である。
【0042】
具体的には、タイムスロットテンプレートはタイムスロット循環キューテンプレートであり、タイムスロット循環キューテンプレートは全ネットワーク時間を連続的かつ完全に同じ複数の循環キューに分割し、循環キューには固定個数のタイムスロットと各タイムスロットに対応するタイムスロット識別子が含まれ、タイムスロット個数とタイムスロットの長さの積は循環キューの長さであり、これにより、全ネットワーク時間中の各タイムスロットは循環分布を識別する。
【0043】
図6は、本公開の実施形態におけるステップS021の具体的な実施方法のフロー模式図である。
図6に示すように、全タイムスロットテンプレートにおける上流タイムスロットの長さ、上流タイムスロットの長さに対応する上流タイムスロット数、自身の全下流タイムスロットの長さと下流タイムスロットの長さに対応する下流タイムスロット数に基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子とのマッピング関係を確立するステップS021は、ステップS021aとステップS021bとを含むことができる。
【0044】
ステップS021aは、第1の下流タイムスロットの長さと第1の上流タイムスロットの長さとの商Nが整数であり、第1の上流タイムスロットの長さとそれに対応する上流タイムスロット数との積が第1の下流タイムスロットの長さとそれに対応する下流タイムスロット数との積に等しい場合に応じて、第1の上流タイムスロットの長さにおけるN個の上流タイムスロット識別子と第1の下流タイムスロットの長さにおける1個の下流タイムスロット識別子とのマッピング関係を構築する。
【0045】
ステップS021aでは、サイズが上流タイムスロットの長さの整数倍(N倍)である、且つ位置するサイクルキューの長さが対応する上流タイムスロットの長さに位置するサイクルキューの長さと等しい下流タイムスロットの長さに対して、当該上流タイムスロットの長さにおけるN個の上流タイムスロット識別子を当該下流タイムスロットの長さにおける1個の下流タイムスロット識別子に投影する。一般的に、構築されたマッピング関係は複数対1のマッピング関係であり、これにより、ステップS2において、ターゲットメッセージで搬送される第1のタイムスロットの長さ及び第1のタイムスロット識別子が、当該上流タイムスロットの長さ及び当該N個の上流タイムスロット識別子のうちの1つに対応する場合、当該下流タイムスロットの長さおよび当該下流タイムスロット識別子が第2のタイムスロットの長さ及び第2のタイムスロット識別子として識別されると判定される。
【0046】
例示的には、第1の上流デバイスには第1のタイムスロットテンプレートが存在し、対応する上流タイムスロットの長さは40マイクロ秒で、対応する上流タイムスロット数は4個で、その循環キューの長さは160マイクロ秒である。第1の上流デバイスの下流に位置する第1転送デバイスに第2のタイムスロットテンプレートが存在し、対応する下流タイムスロットの長さが80マイクロ秒、対応する下流タイムスロット数が2個であれば、その循環キューの長さは160マイクロ秒である。マッピング関係を構築する際に、上流タイムスロットの長さにおける2つの上流タイムスロット識別子ごとに下流タイムスロットの長さにおける1つの下流タイムスロット識別子にマッピングし、生成した第1のタイムスロットマッピング表を表1に示す。
【0047】
【0048】
ステップS021bは、第2の上流タイムスロットの長さと第2の下流タイムスロットの長さの商Mが整数であり、第2の上流タイムスロットの長さとそれに対応する上流タイムスロット数の積が第2の下流タイムスロットの長さとそれに対応する下流タイムスロット数の積に等しい場合に応じて、第2の上流タイムスロットの長さにおける1つの上流タイムスロット識別子と第2の下流タイムスロットの長さにおけるM個の下流タイムスロット識別子とのマッピング関係を構築する。
【0049】
ステップS021bでは、大きさが下流タイムスロットの長さの整数倍(M倍)であり、且つ位置するサイクルキューの長さが下流タイムスロットの長さの位置するサイクルキューの長さと等しい上流タイムスロットの長さに対して、該上流タイムスロットの長さにおける1つの上流タイムスロット識別子を該下流タイムスロットの長さにおけるM個の下流タイムスロット識別子にマッピングする。一般的に、確立されたマッピング関係は1対複数のマッピング関係であり、これにより、ステップS2において、ターゲットメッセージが搬送する第1のタイムスロットの長さ及び第1のタイムスロット識別子が当該上流タイムスロットの長さ及び当該上流タイムスロット識別子のうちの1つの識別子に対応する場合、当該下流タイムスロットの長さは第2のタイムスロットの長さであり、当該M個の下流タイムスロット識別子のうちの1つは第2のタイムスロット識別子であると判定される。いくつかの実施形態では、当該M個の下流タイムスロット識別子の中から1つを第2のタイムスロット識別子として決定することは、以下の実施形態を含むことができる。当該M個の下流タイムスロット識別子の中からランダムに1つを第2のタイムスロット識別子として選択すること、当該M個の下流タイムスロット識別子の中から、対応するキャッシュにまだ空きがある1つを第2のタイムスロット識別子として選択する。当該M個の下流タイムスロット識別子に従って、循環キュー中の順序に従って、当該M個の下流タイムスロット識別子の中から順序付け位置が前で、対応するキャッシュにまだ空きがある方を第2のタイムスロット識別子として選択するなどである。
【0050】
例示的には、第2の上流デバイスには第3のタイムスロットテンプレートが存在し、対応する上流タイムスロットの長さは80マイクロ秒で、対応する上流タイムスロット数は2個で、その循環キューの長さは160マイクロ秒である。第2の上流デバイスの下流に位置する第2の転送デバイスは、第4のタイムスロットテンプレートが存在し、対応する下流タイムスロットの長さは40マイクロ秒、対応する下流タイムスロット数は4個である場合、その循環キューの長さは160マイクロ秒である。マッピング関係を確立する場合、当該上流タイムスロットの長さにおける上流タイムスロット識別子の各々を当該下流タイムスロットの長さにおける2つの下流タイムスロット識別子にマッピングし、生成した第2のタイムスロットマッピング表を表2に示す。
【0051】
【0052】
図7は、本公開の実施形態におけるステップS021の別の具体的な実施方法のフロー模式図である。
図7に示すように、全タイムスロットテンプレートにおける上流タイムスロットの長さ、上流タイムスロットの長さに対応する上流タイムスロット数、自身の全下流タイムスロットの長さと下流タイムスロットの長さに対応する下流タイムスロット数に基づいて、全上流タイムスロットの長さにおける上流タイムスロット識別子と全下流タイムスロットの長さにおける下流タイムスロット識別子とのマッピング関係を確立するステップS021は、ステップS0211、ステップS0212、およびステップS0213を含むことができる。
【0053】
ステップS0211、第3の上流タイムスロットの長さおよびそれに対応する上流タイムスロット数の積が第3の下流タイムスロットの長さおよびそれに対応する下流タイムスロット数の積と等しくない場合に応じて、第3の上流タイムスロットの長さ、第3の上流タイムスロットの長さに対応する上流タイムスロット数、第3の下流タイムスロットの長さと第3の下流タイムスロットの長さに対応する下流タイムスロット数の最小公倍数を算出する。
【0054】
ステップS0211では、位置するサイクリックキューの長さと各下流タイムスロットの長さが位置するサイクリックキューの長さが等しくない上流タイムスロットの長さについて、当該上流タイムスロットの長さが位置するサイクリックキューの長さと1つの下流タイムスロットの長さが位置するサイクリックキューの長さの最小公倍数を算出する。
【0055】
ステップS0212、最小公倍数、第3の上流第3の上流タイムスロットの長さ及び第3の上流タイムスロットの長さに対応する上流タイムスロット数に基づいて少なくとも1つの上流タイムスロット群を構築し、最小公倍数、第3の下流タイムスロットの長さ及び第3の下流タイムスロットの長さに対応する下流タイムスロット数に基づいて少なくとも1つの下流タイムスロット群を構築する。
【0056】
ステップS0212では、最小公倍数と上流タイムスロットの長さに位置する循環キューの長さとの商定に基づいて上流タイムスロット群の個数を決定し、1つの上流タイムスロット群には少なくとも1つのタイムスロットが含まれ、それに応じて、最小公倍数と当該下流タイムスロットの長さが位置する循環キューの長さとの商に基づいて下流タイムスロット群の個数を決定する。ステップS021aに対応する実施形態とステップS021bに対応する実施形態は、実質的に上流タイムスロット群の個数と下流タイムスロット群の個数がいずれも1つである場合の特殊な場合である。
【0057】
ステップS0213、全上流タイムスロット群における全タイムスロットの上流タイムスロット識別子と全下流タイムスロット群における全タイムスロットの下流タイムスロット識別子とのマッピング関係を確立する。
【0058】
上述のフローにより、タイムスロット群間に含まれるタイムスロット数の大小関係に基づいて、全上流タイムスロット識別子と全下流タイムスロット識別子とのマッピング関係を確立することができる。
【0059】
いくつかの実施形態では、上記ステップS021aに対応する実施形態、ステップS021bに対応する実施形態、およびステップS0211~ステップS0213に対応する実施形態は同時に配置することができ、同じ上流タイムスロットの長さに対して1つの下流タイムスロットの長さを探索的に選択して1組のマッピング関係を構築することができ、または、トラバース的に複数の下流タイムスロットの長さを選択して複数組のマッピング関係を構築することができ、複数のマッピング関係が共存する場合、上流デバイスがターゲットメッセージにフラグ情報を搬送する方法でマッピング関係のセットを選択するか、自デバイス自身のポリシー判断によりそのうちのマッピング関係のセットを1つ選択するか、ネットワーク制御面から送信される指示情報に基づいてそのうちのマッピング関係のセットを1つ選択することができる。
【0060】
本公開の実施形態が提供するメッセージ転送方法は、上流デバイスおよび自デバイスがサポートするタイムスロット(特にタイムスロットテンプレート)に基づいて、対応するポリシーに基づいて上流デバイスと自デバイス中の各タイムスロットの長さでの各タイムスロット識別子とのマッピング関係を確立し、ネットワーク中のデバイスが上流デバイスがメッセージを発する際に選択されたタイムスロットの長さをサポートしなくても、また、上流デバイスがメッセージを発行する際に選択されたタイムスロットの長さをサポートしていないため、メッセージ中に指示された第1のタイムスロット情報に基づいて転送されるタイムスロットを選択し、上流デバイスがメッセージを送信する際に選択されたタイムスロットの長さをサポートしていないため、メッセージ転送ができない場合を回避することもできる。
【0061】
以下では実際の応用と結びつけて本公開が提供するメッセージ転送方法について詳細に説明し、具体的には、第3の上流デバイスは4つのタイムスロットテンプレートをサポートし、対応する上流タイムスロットの長さはそれぞれ10マイクロ秒、20マイクロ秒、40マイクロ秒と80マイクロ秒で、対応する上流タイムスロット数はすべて2つである。第3の上流デバイスの下流に位置する第3の転送デバイスには2つのタイムスロットテンプレートが存在し、対応する下流タイムスロットの長さはそれぞれ40マイクロ秒と80マイクロ秒であり、対応する下流タイムスロット数はいずれも2つである、第3の転送デバイスは、第3の上流デバイスがリンク層発見プロトコルを介して送信した4つのタイムスロットテンプレートを含むタイムスロットテンプレート情報を受信し、対応するマッピング関係を確立し、生成した第3のタイムスロットマッピング表を表3に示す。
【0062】
【0063】
第3の転送デバイスは、第1のタイムスロット情報(40、0)を搬送する第3の上流デバイスから送信されたターゲットメッセージを受信した場合、第1のタイムスロットの長さは40μsであり、第1のタイムスロット識別子は0である。第1のタイムスロットの長さを上流タイムスロットの長さとし、第1のタイムスロット識別子を上流タイムスロット識別子とし、タイムスロットマッピング表から(80、0)、即ち、下流タイムスロットの長さが80μs、下流タイムスロット識別子が0であることを得た場合、第2のタイムスロットの長さは80μs、第2のタイムスロット識別子は0である。ターゲットメッセージを第2のタイムスロットの長さ80μsと第2のタイムスロット識別子0に対応するキャッシュキューに入れ、予め設定された待ち時間が1つの第2のタイムスロットの長さに対応する時間である場合、80μs経過後、その時点で現在タイムスロットに対応するタイムスロット識別子は1、ターゲットメッセージ中の第1のタイムスロットの長さ40μsを80μsに置き換え、第1のタイムスロット識別子0を1に置き換え、ターゲットメッセージを転送する。
【0064】
図8は本公開の実施形態によって提供されるメッセージ転送デバイスの構造模式図である。
図8に示すように、メッセージ転送デバイスは、1つ以上のプロセッサ101と、1つ以上のプログラムを格納し、1つ以上のプログラムが1つ以上のプロセッサによって実行されると、1つ以上のプロセッサが上記のいずれかの実施形態のメッセージ転送方法を実現するメモリ(デバイス)102と、プロセッサ101とメモリ102との間に接続され、プロセッサ101とメモリ102との間の情報のやりとりを実現するように構成された1つ以上のI/Oインターフェース103とを含む。
【0065】
プロセッサ101は、中央プロセッサ(CPU)等を含むがこれらに限定されないデータ処理能力を有するデバイスである。メモリ102は、ランダムアクセスメモリ(RAM、より具体的にはSDRAM、DDRなど)、読取り専用メモリ(ROM)、帯電消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ(FLASH)、およびこれらに限定されない、データ記憶能力を有するデバイスである。I/Oインターフェース(読み書きインターフェース)103は、データバス(Bus)などを含むがこれらに限定されず、プロセッサ101とメモリ102との間に接続され、プロセッサ101とメモリ102との間の情報のやりとりを可能にする。
【0066】
いくつかの実施形態では、プロセッサ101、メモリ102、およびI/Oインターフェース103は、バス104を介して相互に接続され、さらにコンピューティングデバイスの他のコンポーネントと接続される。
【0067】
図9は本公開の実施形態によって提供されるコンピュータ読み取り可能媒体の構造模式図である。コンピュータ読み取り可能媒体には、プロセッサによって実行されたときに上記のいずれかの実施形態におけるメッセージ転送方法におけるステップを実現するコンピュータプログラムが格納されている。
【0068】
当業者は、上記で公開された方法のすべてまたはいくつかのステップ、デバイス内の機能モジュール/ユニットをソフトウェア、ファームウェア、ハードウェア、およびそれらの適切な組み合わせとして実装することができることを理解することができる。ハードウェアの実施形態では、上述した機能モジュール/ユニット間の区分は、必ずしも物理コンポーネントの区分に対応していない。例えば、1つの物理コンポーネントが複数の機能を有していてもよいし、1つの機能またはステップが複数の物理コンポーネントによって協働して実行されてもよい。一部の物理コンポーネントまたはすべての物理コンポーネントは、中央プロセッサ、デジタル信号プロセッサ、マイクロプロセッサなどのプロセッサによって実行されるソフトウェアとして実装されてもよく、ハードウェアとして実装されてもよく、専用集積回路などの集積回路として実装されてもよい。そのようなソフトウェアは、コンピュータ記憶媒体(または非一時的媒体)と通信媒体(または一時的媒体)とを含むことができるコンピュータ可読媒体上に分散することができる。当業者にとって周知のように、コンピュータ記憶媒体という用語は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術において実施される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多機能ディスク(DVD)または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を記憶するために使用され、コンピュータによってアクセスされ得る他の任意の媒体を含むが、これらに限定されない。さらに、通信媒体は、一般にコンピュータ可読命令、データ構造、プログラムモジュール、または搬送波または他の送信メカニズムなどの変調データ信号中の他のデータを含み、任意の情報配信媒体を含むことができることが当業者には周知である。
【0069】
本明細書では、例示的な実施形態が公開されており、具体的な用語が用いられているが、それらは一般的な例示的な意味としてのみ使用され解釈されるべきであり、限定的を目的としない。いくつかの例では、特定の実施形態に関連して説明された特徴、特性、および/または要素は、特に明示的に指摘されない限り、単独で使用することができ、または他の実施形態に関連して説明された特徴、特性、および/または要素と組み合わせて使用することができることが当業者には明らかである。したがって、当業者であれば、添付の特許請求の範囲によって明らかにされた本公開の範囲を逸脱することなく、様々な形態および詳細な変更が可能であることを理解するであろう。