JP2022543206A - データ送信方法及び装置 - Google Patents

データ送信方法及び装置 Download PDF

Info

Publication number
JP2022543206A
JP2022543206A JP2022505259A JP2022505259A JP2022543206A JP 2022543206 A JP2022543206 A JP 2022543206A JP 2022505259 A JP2022505259 A JP 2022505259A JP 2022505259 A JP2022505259 A JP 2022505259A JP 2022543206 A JP2022543206 A JP 2022543206A
Authority
JP
Japan
Prior art keywords
frame
data
data frame
type
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022505259A
Other languages
English (en)
Other versions
JP7394960B2 (ja
Inventor
ユイ,スーチーン
ゾウ,ムゥジエ
ヤーン,ユイムオン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2022543206A publication Critical patent/JP2022543206A/ja
Application granted granted Critical
Publication of JP7394960B2 publication Critical patent/JP7394960B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/245Traffic characterised by specific attributes, e.g. priority or QoS using preemption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

この出願は、データ送信方法及び装置を開示し、通信技術の分野に関している。ネットワークデバイスが第1のデータフレームを送信する過程において、送信されるべき第2のデータフレームが存在し、且つ、第2のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定する。第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整する。その次に、ネットワークデバイスは、第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始する。この出願においては、現在送信されているデータフレームのフレームタイプを動的に決定し、それによって、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。

Description

[関連出願への相互参照]
この出願は、2019年7月26日付で出願された"データ送信方法及び装置"と題する中国特許出願第201910680722.9号に基づく優先権を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
[技術分野]
この出願は、ネットワーク技術の分野に関し、特に、データ送信方法及び装置に関する。
ネットワークデバイスを使用することによって、送信端と受信端との間でデータフレームを転送して、通信を実装する。データフレームは、また、メディアアクセス制御(media access control, MAC)フレームと称されてもよい。ネットワークデバイスは、通常、"ベストエフォート(best effort)"転送ポリシーを使用することによって、データフレームを転送する。その転送ポリシーにおいては、ネットワークデバイスは、受信したデータフレームの順序でそれらのデータフレームを転送する。ところが、実際のネットワークには、優先順位が異なっている複数のデータフレームが存在する。ネットワークデバイスが、転送ポリシーを使用することによって、データフレームを転送するときに、優先度の低いデータフレームがチャネルを占有し、結果として、時間内に優先度の高いデータフレームを送信することが不可能であり、優先度の高いデータフレームの送信待ち時間が比較的大きくなる。
フレームプリエンプション(preemption)メカニズムは、時間感受性ネットワーキング(time-sensitive networking, TSN)の中で導入されている。電気電子技術者協会(Institute for Electrical and Electronic Engineers, IEEE)802.3br及びIEEE802.1Qbuの中で定義されているフレームプリエンプションメカニズムにおいては、データフレームのフレームタイプは、高速(express)フレーム及び先取り可能な(preemptable)フレームの2つのタイプに分類される。高速フレームの送信優先度は、先取り可能なフレームの送信優先度よりも高い。フレームタイプが"先取り可能なフレーム"である第1のデータフレームをネットワークデバイスが送信する処理の中に、フレームタイプが"高速フレーム"である他の送信されるべき第2のデータフレームが存在するときに、ネットワークデバイスは、第1のデータフレームの送信を停止し、第2のデータフレームの送信を開始し、そして、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続し、"高速フレーム"の低遅延送信を保証する。
しかしながら、従来のフレームプリエンプションメカニズムにおいては、データフレームは、高速フレーム及び先取り可能なフレームの2つのタイプに分類され、"高速フレーム"のみが、優先的な送信のために"先取り可能なフレーム"をプリエンプトすることを許可される。ネットワークデバイスが2つよりも多くの優先度のデータフレームを有する場合、例えば、0乃至7の合計で8つの優先度のデータフレームを含む場合には、優先度の高いデータフレームの優先的な送信を保証することは不可能である。
この出願は、データ送信方法及び装置を提供して、従来のフレームプリエンプションメカニズムにおいては、優先度の高いデータフレームの優先的な送信を真に保証することが不可能であるという問題を解決する。
第1の態様によれば、データ送信方法であって、当該方法は、
第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、且つ、前記第2のデータフレームの優先度が、前記第1のデータフレームの優先度よりも高い場合に、ネットワークデバイスが、前記第2のデータフレームのフレームタイプが高速フレームであると決定することと、前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、前記ネットワークデバイスが、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整することと、前記ネットワークデバイスが、前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始することと、を含む、データ送信方法が提供される。
この出願においては、ネットワークデバイスは、現在送信されているデータフレームのフレームタイプを動的に調整し、それによって、そのネットワークデバイスにおいては、優先度の高いデータフレームのフレームタイプは、高速フレームとなり、優先度の低いデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプが固定のタイプに分類される従来の方式と比較して、データフレームのフレームタイプをより柔軟に決定することが可能であり、それによって、優先度の高いデータフレームは、柔軟に優先度の低いデータフレームをプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
ある1つの可能な実装において、前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプが高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、前記ネットワークデバイスが、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整することを含み、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる。
この出願においては、先取り可能なフレームマークを拡張して、フレームタイプがすべて先取り可能なフレームである複数の異なるデータフレームを判別することが可能であるか、又は、データ断片のフレーム構造に指示フィールドを追加して、フレームタイプがすべて先取り可能なフレームである複数の異なるデータフレームを判別することが可能である。
他の可能な実装において、前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプが高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、前記ネットワークデバイスが、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整することを含む。
この実装は、既存の送信方式との間で互換性を有して、送信のためにネットワークデバイスにおける1つの先取り可能なフレームのみをプリエンプトするということを保証することが可能である。
選択的に、前記ネットワークデバイスは、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する。
選択的に、前記ネットワークデバイスが、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続することは、
前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記ネットワークデバイスが、前記第4のデータフレームのフレームタイプが高速フレームであると決定し、そして、前記第4のデータフレームを送信することと、前記ネットワークデバイスが、前記第4のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続することと、を含む。
この出願においては、優先度の高いデータフレームは、優先度の低いデータフレームと比較して、常に、優先的に送信される。
第2の態様によれば、他のデータ送信方法であって、当該方法は、
ネットワークデバイスが、第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、前記第1のデータフレームのフレームタイプが、前記第2のデータフレームのフレームタイプと同じであり、且つ、前記第2のデータフレームの優先度が、前記第1のデータフレームの優先度よりも高いということを検出する場合に、前記ネットワークデバイスが、前記第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、前記第2のデータフレームの前記フレームタイプが高速フレームであると決定することと、前記ネットワークデバイスが、前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始することと、を含む、データ送信方法が提供される。
この出願においては、現在送信されているデータフレーム又は出口ポートキューの中のデータフレームのフレームタイプを動的に調整し、それによって、そのネットワークデバイスにおいては、優先度の高いデータフレームのフレームタイプは、高速フレームとなり、優先度の低いデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、同じフレームタイプの複数のデータフレームのうちで、優先度の高いデータフレームは、柔軟に優先度の低いデータフレームをプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
選択的に、前記第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、前記第2のデータフレームの前記フレームタイプが高速フレームであると決定する前記ステップは、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するステップ、又は、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が先取り可能なフレームである場合に、高速フレームへと前記第2のデータフレームの前記フレームタイプを調整するステップ、を含む。
ある1つの可能な実装において、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整するステップを含み、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる。
他の可能な実装において、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するステップを含む。
選択的に、前記ネットワークデバイスは、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する。
選択的に、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する前記ステップは、
前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記ネットワークデバイスが、前記第4のデータフレームを送信することと、前記第4のデータフレームの前記送信が終了した後に、前記ネットワークデバイスが、前記第1のデータフレームの送信を継続することと、を含む。
第3の態様によれば、データ送信装置が提供される。その装置は、複数の機能モジュールを含み、それらの複数の機能モジュールは、相互作用して、第1の態様及び第1の態様の複数の実装における方法を実装する。それらの複数の機能モジュールは、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの組み合わせに基づいて実装されてもよく、それらの複数の機能モジュールは、ある特定の実装に基づいて、ランダムに組み合わせられてもよく又は分割されてもよい。
第4の態様によれば、他のデータ送信装置が提供される。その装置は、複数の機能モジュールを含み、それらの複数の機能モジュールは、相互作用して、第2の態様及び第2の態様の複数の実装における方法を実装する。それらの複数の機能モジュールは、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの組み合わせに基づいて実装されてもよく、それらの複数の機能モジュールは、ある特定の実装に基づいて、ランダムに組み合わせられてもよく又は分割されてもよい。
第5の態様によれば、処理チップが提供される。その処理チップは、プログラム可能な論理回路及び/又はプログラム命令を含み、その処理チップは、プログラム可能な論理回路及び/又はプログラム命令を実行して、第1の態様又は第2の態様のいずれかにしたがったデータ送信方法を実装する。
選択的に、当該処理チップは、処理ユニット及びスケジューリングユニットを含み、
前記処理ユニットは、送信されるべきデータフレームの優先度に基づいて、対応する出口ポートキューの中に前記送信されるべきデータフレームをバッファリングするように構成され、
前記スケジューリングユニットは、前記出口ポートキューの中の前記送信されるべきデータフレームをスケジューリングして、第1の態様又は第2の態様のいずれかにしたがったデータ送信方法を実装するように構成される。
選択的に、前記スケジューリングユニットは、データ出口スケジューリングロジック及びメディアアクセス制御MACカプセル化ロジックを含み、
前記データ出口スケジューリングロジックは、前記出口ポートキューの中の前記送信されるべきデータフレームをスケジューリングし、そして、前記送信されるべきデータフレームに対応するフレームタイプ指標を前記MACカプセル化ロジックに提供する、ように構成され、前記フレームタイプ指標は、前記送信されるべきデータフレームのフレームタイプを示すのに使用され、
前記MACカプセル化ロジックは、前記送信されるべきデータフレームに対応する前記フレームタイプ指標に基づいて、前記送信されるべきデータフレームに対してMACカプセル化を実行するように構成される。
選択的に、処理チップは、メモリをさらに含む。メモリは、送信されるべきデータフレームをバッファリングするように構成される。具体的には、メモリは、出口ポートキューに割り当てられている格納スペースを含む。
選択的に、処理ユニットは、ネットワークプロセッサ及び中央処理ユニットのうちの少なくとも1つを含み、スケジューリングユニットは、特定用途向け集積回路及びプログラム可能な論理デバイスのうちの少なくとも1つを含む。選択的に、メモリは、さらに、コンピュータプログラム命令を格納するように構成され、処理ユニットは、メモリの中に格納されているコンピュータプログラム命令を呼び出して、第1の態様又は第2の態様にしたがったデータ送信方法の1つ又は複数のステップを実行する。
第6の態様によれば、第5の態様にしたがった通信インターフェイス及び処理チップを含むデータ送信装置が提供される。
通信インターフェイスは、通信バスを使用することによって、処理チップに接続されてもよい。
データ送信装置は、メモリをさらに含み、メモリは、コンピュータプログラムを格納し、コンピュータプログラムは、プログラム命令を含む。処理チップは、メモリの中に格納されているコンピュータプログラムを呼び出して、第1の態様又は第2の態様にしたがったデータ送信方法の1つ又は複数のステップを実行する。
第7の態様によれば、コンピュータ記憶媒体が提供される。そのコンピュータ記憶媒体は、複数の命令を格納する。それらの命令がプロセッサによって実行されるときに、第1の態様及び第1の態様の複数の実装のうちのいずれか1つにしたがったデータ送信方法又は第2の態様及び第2の態様の複数の実装のうちのいずれか1つにしたがったデータ送信方法が実装される。
この出願によって提供される複数の技術的解決方法がもたらす有益な効果は、少なくとも、以下の効果を含んでもよい。
現在送信されているデータフレームのフレームタイプ及び/又は送信されるべきデータフレームのフレームタイプは、動的に調整され、それによって、現在送信されているデータフレーム及び送信されるべきデータフレームのうちで、優先度がより高いデータフレームのフレームタイプは、高速フレームとなり、優先度がより低いデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、優先度がより高いデータフレームは、優先度の低いデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
この出願のある1つの実施形態にしたがったデータ送信方法のフローチャートである。 この出願のある1つの実施形態にしたがったデータフレームのフレーム構造の概略的な図である。 この出願のある1つの実施形態にしたがった他のデータフレームのフレーム構造の概略的な図である。 この出願のある1つの実施形態にしたがったさらに別のデータフレームのフレーム構造の概略的な図である。 この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信の概略的な図である。 この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信の他の概略的な図である。 この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信のさらに別の概略的な図である。 この出願のある1つの実施形態にしたがった他のデータ送信方法のフローチャートである。 この出願のある1つの実施形態にしたがったデータ送信装置の構成の概略的な図である。 この出願のある1つの実施形態にしたがった他のデータ送信装置の構成の概略的な図である。 この出願のある1つの実施形態にしたがったデータ送信装置のブロック図である。 この出願のある1つの実施形態にしたがった処理チップの構成の概略的な図である。 この出願のある1つの実施形態にしたがったスケジューリングユニットの構成の概略的な図である。
この出願の目的、技術的解決方法、及び利点をより明確にするために、以下の記載は、さらに、複数の添付の図面を参照して、この出願のそれらの複数の実装を詳細に説明する。
この出願のそれらの複数の実施形態によって提供されるデータ送信方法は、通信ネットワークの中のネットワークデバイスに適用されてもよい。選択的に、その通信ネットワークは、産業ネットワーク、車載型ネットワーク、データセンターネットワーク(data center network, DCN)、大都市圏ネットワーク、ワイドエリアネットワーク、又はキャンパスネットワーク等であってもよい。そのデータ送信方法の適用シナリオは、この出願のそれらの複数の実施形態には限定されない。ネットワークデバイスは、ルータ、スイッチ、又はサーバ等であってもよい。ネットワークデバイスは、出口ポートキューの中に送信されるべきデータフレームのすべてをバッファリングし、そして、その次に、対応するポートを使用することによって、それらの出口ポートキューの中にあるデータフレームを送信する。
現時点では、ネットワークデバイスは、例えば、8つの優先度又は16の優先度等の複数の優先度のデータフレームに複数のデータフレームを分類してもよい。このことは、この出願のこの実施形態においては限定されない。この出願の以下の複数の実施形態は、ネットワークデバイスが優先度0乃至7を含む8つの優先度のデータフレームに複数のデータフレームを分類するある1つの例を使用することによって、説明を行う。優先度の値が大きいほど、優先度が高いことを示している。ネットワークデバイスは、8個の出口ポートキューを含んでもよく、各々の出口ポートキューは、ある1つの優先度のデータフレームをバッファリングするのに使用される。複数のシナリオのうちのいくつかにおいて、出口ポートキューは、また、サービクラススキュー(class of service queue, COSQ)又は優先度キューと称されてもよい。複数のシナリオのうちのいくつかにおいて、出口ポートキューと優先度キューとの間に複数のマッピング関係が存在する。この出願においては、例えば、出口ポートキューの優先度と出口ポートキューの中にバッファリングされているデータフレームの優先度との間に、1対1の対応関係が存在する。
複数のデータフレームを転送するときに、ネットワークデバイスは、優先度が大きい順に、出口ポートキューの中にあるそれらの複数のデータフレームを転送する。例えば、ネットワークデバイスが、データフレームをバッファリングしている3つの出口ポートキューを含み、それらの3つの出口ポートキューは、優先度2の第1の出口ポートキュー、優先度5の第2の出口ポートキュー、及び優先度6の第3の出口ポートキューを含み、第1の出口ポートキューは、優先度2のデータフレームをバッファリングし、第2の出口ポートキューは、優先度5のデータフレームをバッファリングし、そして、第3の出口ポートキューは、優先度6のデータフレームをバッファリングすると仮定すると、それらの複数のデータフレームを転送するときに、ネットワークデバイスは、最初に、第3の出口ポートキューの中にあるデータフレームを送信し、その次に、第2の出口ポートキューの中にあるデータフレームを送信し、そして、最後に、第1の出口ポートキューの中にあるデータフレームを送信する。
さらに、ネットワークデバイスが、第2の出口ポートキューの中にある優先度5の第1のデータフレームを送信する過程において、第3の出口ポートキューが、従来のフレームプリエンプションメカニズムに基づいて、送信されるべき第2のデータフレームを受信するときに、
第2の出口ポートキューのフレームタイプが、先取り可能なフレームに設定されている、すなわち、優先度5の第1のデータフレームのフレームタイプが、先取り可能なフレームであり、第3の出口ポートキューのフレームタイプが、高速フレームに設定されている、すなわち、優先度6の第2のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、第2の出口ポートキューの中にある第1のデータフレームの送信を停止し、第3の出口ポートキューの中にある第2のデータフレームの送信を開始し、そして、第3の出口ポートキューの中にある第2のデータフレームの送信が終了した後に、ネットワークデバイスは、第2の出口ポートキューの中にある第1のデータフレームの送信を継続する、すなわち、優先度6の第2のデータフレームは、先取り可能な送信のために、優先度5の第1のデータフレームの送信に割り込むことが可能である、或いは、
第2の出口ポートキューのフレームタイプが、第3の出口ポートキューのフレームタイプと同じである場合、例えば、第2の出口ポートキューのフレームタイプ及び第3の出口ポートキューのフレームタイプの双方が、高速フレームであるか、又は、双方が、先取り可能なフレームである場合に、ネットワークデバイスは、第2の出口ポートキューの中にある第1のデータフレームの送信が終了した後に、第3の出口ポートキューの中にある第2のデータフレームを送信する。
従来のフレームプリエンプションメカニズムの場合には、出口ポートキューの中に格納されているデータフレームのフレームタイプは、出口ポートキューについて設定されているフレームタイプに設定される。データフレームのフレームタイプは、そのデータフレームの中のある特定のフィールドの値を使用することによって、マークされてもよい。例えば、データフレームは、開始MACマージパケット区切り文字(start MAC-merge-packet delimiter, SMD)フィールドを含み、データフレームのフレームタイプは、そのSMDフィールドの値を使用することによって表わされてもよい。
従来のフレームタイプ分類メカニズムの場合には、データフレームのフレームタイプは、固定のタイプにあらかじめ設定される。例えば、優先度0乃至3のデータフレームのフレームタイプは、すべて、先取り可能なフレームに設定され、優先度4乃至7のデータフレームのフレームタイプは、すべて、高速フレームに設定される。したがって、同じフレームタイプを有する優先度の高いデータフレームは、先取り可能な送信のために、優先度の低いデータフレームに割り込むことは不可能であり、従来の実装においては、データ送信の際の比較的低い柔軟性につながる。この出願のそれらの複数の実施形態によって提供されるデータ送信方法においては、データフレームのフレームタイプは、動的に調整され、それによって、現在送信されているデータフレーム及び送信されるべきデータフレームのうちで、優先度のより高いデータフレームのフレームタイプは、高速フレームとなり、優先度のより低いデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプを固定のタイプに分類する従来の方式と比較して、データフレームのフレームタイプを柔軟に決定することが可能であり、それによって、優先度のより高いデータフレームは、優先度のより低いデータフレームを柔軟にプリエンプトする。したがって、データフレームのマルチレベルの先取り可能な送信を実装することが可能であり、それにより、データ送信の際の柔軟性を改善する。
図1は、この出願のある1つの実施形態にしたがったデータ送信方法のフローチャートである。図1に示されているように、その方法は、以下のステップを含む。
ステップ101: 第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在する場合に、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定し、第2のデータフレームの優先度は、第1のデータフレームの優先度よりも高い。
ネットワークデバイスは、優先度の高い順にデータフレームを送信するため、そのネットワークデバイスが第1のデータフレームを送信する過程において、優先度がネットワークデバイスの中にある第1のデータフレームの優先度以下であるデータフレームは、送信のために第1のデータフレームをプリエンプトしない、すなわち、第1のデータフレームの送信に影響を与えない。したがって、第1のデータフレームの送信の過程において、ネットワークデバイスは、優先度が第1のデータフレームの優先度よりも高い第2のデータフレームがネットワークデバイスの中に存在するか否かを決定するだけでよい。第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、第2のデータフレームの優先度が、第1のデータフレームの優先度よりも高く、それらの優先度が、第2のデータフレームが送信のために第1のデータフレームをプリエンプトする必要があるということを示す場合に、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定してもよい。
ネットワークデバイスの中にある送信されるべき第2のデータフレームは、(例えば、送信端等の)他のデバイスから受信されてもよく、又は、ネットワークデバイスによって生成されてもよい。
選択的に、第1のデータフレームを送信する前に、ネットワークデバイスは、さらに、第1のデータフレームの優先度に基づいて、例えば、第1の出口ポートキュー等の対応する出口ポートキューの中に第1のデータフレームをバッファリングする。ステップ101の前に、ネットワークデバイスは、さらに、送信されるべき第2のデータフレームの優先度に基づいて、例えば、第2の出口ポートキュー等の対応する出口ポートキューの中に第2のデータフレームをバッファリングする。
ステップ102: 第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整する。
ネットワークデバイスは、第1のデータフレームの中のSMDフィールドの値に基づいて、第1のデータフレームのフレームタイプを決定してもよい。第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整し、それによって、優先度がより高い第2のデータフレームは、送信のために、優先度がより低い第1のデータフレームをプリエンプトすることが可能であり、それにより、優先度がより高いデータフレームの低遅延送信を保証する。第1のデータフレームのフレームタイプが、先取り可能なフレームである場合に、ネットワークデバイスは、ステップ102を実行することなく、後続のステップ103を直接的に実行してもよい。
ステップ103: ネットワークデバイスは、第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始する。
第1のデータフレームのフレームタイプは、先取り可能なフレームであり、第2のデータフレームのフレームタイプは、高速フレームであるので、フレームプリエンプションメカニズムに基づいて、第2のデータフレームは、送信のために、第1のデータフレームをプリエンプトすることが可能である、すなわち、ネットワークデバイスは、第1のデータフレームの送信を中止し、そして、第2のデータフレームを優先的に送信することが可能である。
ステップ104: ネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。
選択的に、ネットワークデバイスの電源がオンされた後にそのネットワークデバイスが送信する第1のデータフレームのフレームタイプは、高速フレームである。代替的に、電源がオンされた後に、ネットワークデバイスは、第1の送信されるべきデータフレームの優先度が、ネットワークデバイスがサポートする最も低い優先度であるか否かを決定し、そして、第1のデータフレームの優先度が、ネットワークデバイスがサポートする最も低い優先度ではない場合には、第1のデータフレームのフレームタイプが高速フレームであると決定し、又は、第1のデータフレームの優先度が、ネットワークデバイスがサポートする最も低い優先度である場合には、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定する。優先度が最も低いデータフレームは、送信のために、他のデータフレームをプリエンプトする必要はないので、この出願のこの実施形態においては、ネットワークデバイスは、優先度が最も低いデータフレームのすべてのフレームタイプが先取り可能なフレームであると決定してもよい。第1のデータフレームは、ネットワークデバイスの電源がオンにされた後にそのネットワークデバイスが送信する第1のデータフレームであってもよく、又は、以降に送信されるデータフレームであってもよい。このことは、この出願のこの実施形態においては限定されない。
この出願のこの実施形態においては、同じ優先度のデータフレームは、送信のために互いにプリエンプトしない。
この出願のこの実施形態においては、第1のデータフレームの送信の過程において、優先度がより高い第2のデータフレームを取得するときに、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定する。例えば、優先度0のデータフレームの送信の過程において、優先度1の送信されるべきデータフレームが存在するときに、ネットワークデバイスは、優先度1のデータフレームのフレームタイプが高速フレームであると決定してもよい。他の例では、優先権6のデータフレームの送信の過程において、優先権7の送信されるべきデータフレームが存在するときに、ネットワークデバイスは、優先権7のデータフレームのフレームタイプが高速フレームであると決定してもよい。現在のフレームタイプ分類メカニズムと比較して、データフレームのフレームタイプを決定する柔軟性が改善される。
具体的には、ステップ102の第1の可能な実装は、第1のデータフレームのフレームタイプが高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームがネットワークデバイスの中に存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、ネットワークデバイスは、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整し、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なる。
選択的に、ネットワークデバイスが、それぞれ、優先度0乃至7に対応する8つの出口ポートキュー(優先度キュー)を有する場合に、ネットワークデバイスの中にある多くても7つのデータフレームは、データフレーム送信過程において送信のためにプリエンプトされる。例えば、優先度0のデータフレームの送信の過程において、ネットワークデバイスの中に、優先度1の送信されるべきデータフレームが存在する場合には、優先度1のデータフレームは、送信のために、優先度0のデータフレームをプリエンプトし、優先度1のデータフレームの送信の過程において、ネットワークデバイスの中に、優先度2の送信されるべきデータフレームが存在する場合には、優先度2のデータフレームは、送信のために、優先度1のデータフレームをプリエンプトする。同様にして、高い優先度のデータフレームは、送信のために、順次的に、低い優先度のデータフレームをプリエンプトし、したがって、ネットワークデバイスの中にある最大7つのデータフレームは、送信のためにプリエンプトされる。この出願のこの実施形態においては、例えば、先取り可能なフレームマーク1、先取り可能なフレームマーク2、…、及び先取り可能なフレームマーク7等の複数の異なる先取り可能なフレームマークは、フレームタイプが先取り可能なフレームである複数の異なるデータフレームを判別するのに使用されてもよい。
図2は、IEEE802.3brによって定義されているデータフレームのフレーム構造の概略的な図である。図2に示されているように、データフレームは、プリアンブル(preamble)、SMDフィールド、ロードフィールド、及び巡回冗長検査(cyclic redundancy check, CRC)フィールドを含む。図2に示されているデータフレームの中で、プリアンブルの長さは、7オクテット(7 octets)であり、SMDフィールドの長さは、1オクテット(1 octet)であり、ロードフィールドの長さは、60オクテット(60 octets)以上であり、CRCフィールドの長さは、4オクテット(4 octets)である。
図3は、IEEE802.3brによって定義されている他のデータフレームのフレーム構造の概略的な図である。図3に示されているように、データフレームは、プリアンブル、SMDフィールド、フラグカウント(FRAG_COUNT)フィールド、ロードフィールド、及びCRCフィールドを含む。図3に示されているデータフレームにおいて、プリアンブルの長さは、6オクテット(6 octets)であり、FRAG_COUNTフィールドの長さは、1オクテット(1 octet)であり、SMDフィールドの長さは、1オクテット(1 octet)であり、ロードフィールドの長さは、60オクテット(60 octets)以上であり、そして、CRCフィールドの長さは、4オクテット(4 octets)である。
IEEE802.3brによって定義されている規格において、図2には、高速フレーム、完全な先取り可能なフレーム、又は、送信のためにプリエンプトされる先取り可能なフレームの(以下では、"先取り可能なフレームの第1の断片"と称される)第1のデータ断片のフレーム構造が示され、図3には、送信のためにプリエンプトされる先取り可能なフレームの中の第1のデータ断片以外の(以下では、"先取り可能なフレームの以降の断片"と称される)データ断片のフレーム構造が示され、FRAG_COUNTフィールドは、データ断片が以前のデータ断片と同じデータフレームに属するということを示すのに使用される。送信のためにプリエンプトされるデータフレームの各々のデータ断片は、1つのデータサブフレームと考えられてもよい。受信端は、データフレームの中のSMDフィールドの値に基づいて、データフレームのフレームタイプが高速フレーム又は先取り可能なフレームであると決定し、FRAG_COUNTフィールドがそのデータフレームの中に存在するか否かに基づいて、そのデータフレームが以前に送信されているデータフレームと同じデータフレームに属しているか否かを決定する。
IEEE802.3brによって定義されている規格において、高速フレームマークは、SMD-Eであり、先取り可能なフレームの第1のデータ断片の(以下では、"第1の断片の先取り可能なフレームマーク"と称される)先取り可能なフレームマークは、SMD-S0、SMD-S1、SMD-S2、及びSMD-S3を含み、先取り可能なフレームの第1のデータ断片の先取り可能なフレームマーク以外の(以下では、"以降の先取り可能なフレームマーク"と称される)先取り可能なフレームマークは、SMD-C0、SMD-C1、SMD-C2、及びSMD-C3を含む。IEEE802.3br規格においては、フレームタイプマークSMD-E、SMD-S0乃至SMD-S3、SMD-C0乃至SMD-C3は、複数の異なる値を使用することによって個別に識別される。例えば、フレームタイプマークSMD-Eに対応する値は、0xD5である。他のフレームタイプマークの値については、その規格を参照すべきである。本明細書においては、それらの値は、1つずつは記載されていない。
ステップ102の第1の可能な実装において、高速フレームのフレーム構造は、依然として、IEEE802.3brによって定義されるとともに、図2に示されているフレーム構造である。一方で、高速フレームマークは、拡張される必要があり、拡張の後に得られる高速フレームマークの合計数は、ネットワークデバイスの中の優先度キューの数と同じである。
例えば、ネットワークデバイスは、8つの優先度キュー(出口ポートキュー)を含む。この出願のこの実施形態によって提供されるフレームプリエンプションメカニズムに基づいて、ネットワークデバイスの中にある多くても7つのデータフレームは、データフレーム送信プロセスにおける送信のためにプリエンプトされる、すなわち、データフレーム送信プロセスにおいて、高速フレームから先取り可能なフレームへと、ネットワークデバイスの中にある7つのデータフレームのフレームタイプを調整してもよい。したがって、この出願のこの実施形態においては、IEEE802.3br規格によって定義されている高速フレームマークSMD-Eに基づいて、高速フレームマークを拡張し、定義されている高速フレームマークSMD-EをSMD-E0として使用し、拡張の後に新たな高速フレームマークSMD-E1乃至SMD-E7を取得し、それによって、拡張の後に得られる高速フレームマークは、合計で8つの高速フレームマークSMD-E0乃至SMD-E7を含む。この出願のこの実施形態においては、データフレームのフレームタイプが高速フレームであるときに、そのデータフレームの高速フレームマークは、そのデータフレームの優先度に基づいて決定されてもよく、それによって、その優先度は、高速フレームマークとの間で1対1での対応関係にある。例えば、優先度7のデータフレームのフレームタイプが高速フレームである場合に、優先度7のデータフレームの高速フレームマークは、SMD-E7であり、優先度6のデータフレームのフレームタイプが高速フレームである場合に、優先度6のデータフレームの高速フレームマークは、SMD-E6である。もちろん、優先度7のデータフレームの高速フレームマークは、SMD-E0であり、優先度6のデータフレームの高速フレームマークは、SMD-E1等である。
さらに、この出願のこの実施形態は、先取り可能なフレームの以降の断片が属するデータフレームを判別する2つの方式を提供する。
方式1: 先取り可能なフレームの以降の断片のフレーム構造は、依然として、IEEE802.3brによって定義されているとともに、図3に示されているフレーム構造であり、以降の先取り可能なフレームマークは、拡張されている。拡張の後に得られる以降の先取り可能なフレームマークの合計数は、ネットワークデバイスの中の優先度キューの数の4倍である。先取り可能なフレームの以降の断片の中のFRAG-COUNTフィールドは、依然として、IEEE802.3brの定義に従い、拡張されない場合がある。FRAG-COUNTフィールドは、1サイクルとして4つの以降の断片を使用することによって循環的に使用される。すなわち、データフレームの第1の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT0であり、その値は、0xE6であり、データフレームの第2の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT1であり、その値は、0x4Cであり、データフレームの第3の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT2であり、その値は、0x7Fであり、データフレームの第4の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT0であり、その値は0xB3であり、データフレームの第5の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT0であり、その値は、0xE6であり、以下同様である。
同様に、例えば、ネットワークデバイスは、8つの優先度キューを含む。この出願のこの実施形態においては、IEEE802.3brによって定義されている以降の先取り可能なフレームマークSMD-C0乃至SMD-C3は、拡張されて、SMD-C0乃至SMD-C31となってもよく、以降の先取り可能なフレームマークSMD-C0乃至SMD-C31の値は、互いに異なる。各々の4つの以降の先取り可能なフレームマークは、1つのグループとなる。例えば、SMD-C0乃至SMD-C3は、1つのグループとなり、SMD-C4乃至SMD-C7は、1つのグループとなり、SMD-C24乃至SMD-C27は、1つのグループとなる。以降の先取り可能なフレームマークの各々のグループは、1つの高速フレームマークに対応する。例えば、SMD-E0は、SMD-C0乃至SMDC3に対応し、SMD-E1は、SMD-C4乃至SMDC7に対応し、…、SMD-E7は、SMD-C28乃至SMD-C31に対応する。もちろん、SMD-C0乃至SMD-C31は、他の方式によってグループ化されてもよい。このことは、この出願においては限定されない。例えば、フレームタイプマークが高速フレームマークSMD-E0であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C0乃至SMD-C3となってもよく、対応するFRAG-COUNTフィールドは、依然として、IEEE802.3brによる定義にしたがい、(値が0xE6である)FRAG-COUNT0乃至(値が0xB3である)FRAG-COUNT3を含み、フレームタイプマークが高速フレームマークSMD-E1であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C4乃至SMD-C7となってもよく、対応するFRAG-COUNTフィールドは、依然として、IEEE802.3brによる定義にしたがい、同様にして、(値が0xE6である)FRAG-COUNT0乃至(値が0xB3である)FRAG-COUNT3となり、フレームタイプマークがSMD-E6であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C24乃至SMD-C27であってもよく、フレームタイプマークが高速フレームマークSMD-E7であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C28乃至SMD-C31となってもよい。もちろん、代替的に、フレームタイプマークが高速フレームマークSMD-E7であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C0乃至SMD-C3となってもよく、対応するFRAG-COUNTフィールドは、依然として、IEEE802.3brによる定義にしたがい、同様にして、(値が0xE6である)FRAG-COUNT0乃至(値が0xB3である)FRAG-COUNT3となり、フレームタイプマークがSMD-E6であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C4乃至SMD-C7となってもよく、フレームタイプマークがSMD-E0であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C28乃至SMD-C31となってもよい。
データフレームを受信した後に、受信端は、フレーム構造に基づいて、データフレームが送信のためにプリエンプトされるデータフレームのデータ断片であるか否かを決定してもよい。データフレームが、送信のためにプリエンプトされるデータフレームのデータ断片である場合に、受信端は、データフレームの中のSMDフィールドの値に基づいて、データ断片と同じデータフレームに属しているある1つのあらかじめ受信しているデータ断片又は複数のあらかじめ受信しているデータ断片を決定してもよい。
方式2: 例えば、図4に示されているフレーム構造等の先取り可能なフレームの以降の断片の新たなフレーム構造が定義される。図4に示されている先取り可能なフレームの以降の断片のフレーム構造の場合には、IEEE802.3brによって定義されている先取り可能なフレームの以降の断片のフレーム構造に基づいて、指示フィールドを追加する。その指示フィールドは、そのデータ断片と同じデータフレームに属するある1つのあらかじめ送信されているデータ断片又は複数のあらかじめ送信されているデータ断片を示すのに使用される。図4に示されているように、先取り可能なフレームの以降の断片は、プリアンブル、SMDフィールド、FRAG_COUNTフィールド、指示フィールド、ロードフィールド、及びCRCフィールドを含む。指示フィールドの値は、ターゲットデータ断片の中のSMDフィールドの値と同じであってもよく、そのターゲットデータ断片は、先取り可能なフレームの以降の断片と同じデータフレームに属する最初のデータ断片である。例えば、送信のためにプリエンプトされる第1のデータフレームの最初のデータ断片の中のSMDフィールドの値が0xD5である場合に、その第1のデータフレームの2番目のデータ断片及び以降のデータ断片の中の指示フィールドの値は、双方とも0xD5である。この選択的な実装において、図4に示されている先取り可能なフレームの以降の断片におけるSMDフィールドの値の設定方式については、依然として、IEEE802.3brによって定義されているSMD-C0乃至SMD-C3を参照すべきである。この出願のこの実施形態においては、詳細は説明されない。
ステップ102の第2の可能な実装は、第1のデータフレームのフレームタイプが、高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在しない場合に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するということを含む。
第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在する場合に、ネットワークデバイスは、第1のデータフレームのフレームタイプを調整しない。第1のデータフレームのフレームタイプが調整されないということは、第1のデータフレームの送信が継続され、第2のデータフレームは、送信のために第1のデータフレームをプリエンプトすることが不可能であるということを意味する。この実装は、既存の送信方式との間で互換性を有して、ネットワークデバイスの中の1つの先取り可能なフレームのみが送信のためにプリエンプトされるということを保証することが可能である。
ステップ102の第2の可能な実装において、IEEE802.3brによって定義されているフレーム構造及びフレームタイプマークは、依然として、拡張されることなく使用されてもよい。すなわち、先取り可能なフレームの最初の断片のフレーム構造が図2に示され、先取り可能なフレームの以降の断片のフレーム構造が図3に示されている。ネットワークデバイスは、そのネットワークデバイスの中の送信されるべきデータフレームのフレーム構造を検出することによって、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、そのネットワークデバイスの中に存在するか否かを決定してもよい。
例えば、図5は、この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信の概略的な図である。図5に示されているように、ネットワークデバイスが、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームを取得する場合に、そのネットワークデバイスは、その第1のデータフレームの送信を中止し、そして、その第2のデータフレームの送信を開始し、そのネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。
選択的に、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在する場合に、ステップ102を参照すると、データフレームの先取り可能な送信方式は、2つの可能な実装を含む。
図6及び図7は、先取り可能な送信がステップ102の第1の可能な実装を使用することによって実行される概略的な図である。図6及び図7に示されているように、ネットワークデバイスが、第3のデータフレームの送信の過程において、優先度が第3のデータフレームの優先度よりも高い第1のデータフレームを取得する場合に、そのネットワークデバイスは、その第3のデータフレームの送信を中止し、そして、第1のデータフレームの送信を開始し、ネットワークデバイスが、さらに、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームを取得する場合に、そのネットワークデバイスは、その第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始し、そのネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続し、そして、そのネットワークデバイスは、第1のデータフレームの送信が終了した後に、第3のデータフレームの送信を継続する。図6は、方式1におけるデータフレームの先取り可能な送信を示す。図7は、方式2におけるデータフレームの先取り可能な送信を示す。図5乃至図7の矢印方向は、すべて、データフレームの送信方向を示す。
図6及び図7において、第1のデータフレームの最初のデータ断片、第2のデータフレーム、及び第3のデータフレームの最初のデータ断片のフレーム構造は、すべて、図2に示されている。図示を容易にするために、各々のデータフレームの部分的なフレーム構造のみが、図6及び図7に示されている。例えば、第3のデータフレームの優先度は3であり、第1のデータフレームの優先度は5であり、第2のデータフレームの優先度は6であり、そして、第3のデータフレームの初期のフレームタイプは、高速フレームであると仮定する。図6及び図7を参照すると、第3のデータフレームの最初のデータ断片の中のSMDフィールドの値は、SMD-E3に対応する(SMD-E3によって表される)値であり、第1のデータフレームの最初のデータ断片の中のSMDフィールドの値は、SMD-E5に対応する値であり、第2のデータフレームの中のSMDフィールドの値は、SMD-E6に対応する値である。
図6において、以降の先取り可能なフレームマークは、先取り可能なフレームの以降の断片が属するデータフレームを判別するために拡張される。図6における第1のデータフレームの2番目のデータ断片及び第3のデータフレームの2番目のデータ断片のフレーム構造は、双方とも、図3に示されている。図6を参照すると、第1のデータフレームの2番目のデータ断片の中のSMDフィールドの値は、SMD-C20に対応する値であり、第3のデータフレームの2番目のデータ断片の中のSMDフィールドの値は、SMD-C12に対応する値である。FRAG_COUNTフィールドの値は、IEEE802.3brによって定義されている規格における設定方式によって設定される。この出願のこの実施形態においては、詳細は説明されない。先取り可能なフレームマークと高速フレームマークとの間の対応関係に基づいて、以降の先取り可能なフレームマークSMD-C20は、高速フレームマークSMD-E5に対応し、以降の先取り可能なフレームマークSMD-C12は、高速フレームマークSMD-E3に対応するということを理解することが可能である。したがって、以降の先取り可能なフレームマークに基づいて、先取り可能なフレームの以降の断片が属するデータフレームを知ることが可能である。受信端は、SMDフィールドの値がSMD-E5であるデータ断片、及び、SMDフィールドの値がSMD-C20であるデータ断片(さらに、SMD-C21等が存在する場合がある)を組み合わせて、第1のデータフレームを取得する。受信端は、SMDフィールドの値がSMD-E3であるデータ断片、及び、SMDフィールドの値がSMD-C12であるデータ断片(さらに、SMD-C13等が存在する場合がある)を組み合わせて、第3のデータフレームを取得する。
図7において、先取り可能なフレームの以降の断片が属するデータフレームを判別するために、その先取り可能なフレームの以降の断片のフレーム構造に指示フィールドを追加する。図7における第1のデータフレームの2番目のデータ断片及び第3のデータフレームの2番目のデータ断片のフレーム構造は、双方とも、図4に示されている。図7を参照すると、第1のデータフレームの2番目のデータ断片において、SMDフィールドの値は、SMD-C0に対応する値であり、指示フィールドの値は、(第1のデータフレームの最初のデータ断片の中のSMDフィールドの値と同じである)SMD-E5に対応する値であり、第3のデータフレームの2番目のデータ断片において、SMDフィールドの値は、SMD-C0に対応する値であり、指示フィールドの値は、(第3のデータフレームの最初のデータ断片の中のSMDフィールドの値と同じである)SMD-E3に対応する値である。FRAG_COUNTフィールドの値は、IEEE802.3brによって定義されている規格における設定方式によって設定される。この出願のこの実施形態においては、詳細は説明されない。指示フィールドの値に基づいて、先取り可能なフレームの以降の断片が属するデータフレームを直接的に知ることが可能であるということを理解することが可能である。受信端は、SMDフィールドの値がSMD-E5であるデータ断片、及び、指示フィールドの値がSMD-E5であるデータ断片のすべてを組み合わせて、第3のデータフレームを取得する。受信端は、SMDフィールドの値がSMD-E3であるデータ断片、及び、指示フィールドの値がSMD-E3であるデータ断片のすべてを組み合わせて、第3のデータフレームを取得する。
データフレームの先取り可能な送信方式が、ステップ102の第2の可能な実装であるときに、ネットワークデバイスが、第3のデータフレームの送信の過程において、優先度が第3のデータフレームの優先度よりもより高い第1のデータフレームを取得する場合には、ネットワークデバイスは、第3のデータフレームの送信を中止し、そして、第1のデータフレームの送信を開始し、ネットワークデバイスが、さらに、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームを取得する場合には、ネットワークデバイスの中には、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在するという理由で、送信のために、第1のデータフレームをプリエンプトすることが不可能であるため、ネットワークデバイスは、第1のデータフレームの送信を継続し、ネットワークデバイスは、第1のデータフレームの送信が終了した後に、第2のデータフレームを送信し、そして、ネットワークデバイスは、第2のデータフレームの送信が終了した後に、第3のデータフレームの送信を継続する。
選択的に、第2のデータフレームの送信が終了した後に、ネットワークデバイスの中に、送信されるべき第4のデータフレームが存在し、且つ、その第4のデータフレームの優先度が、第1のデータフレームの優先度よりもより高い場合には、そのネットワークデバイスは、第4のデータフレームのフレームタイプが高速フレームであると決定し、その第4のデータフレームを送信し、ネットワークデバイスは、第4のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。第4のデータフレームの優先度は、第2のデータフレームの優先度以下である。
結論として、この出願のこの実施形態によって提供されるデータ送信方法によれば、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームが存在するときに、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定し、第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプは、動的に調整され、それによって、ネットワークデバイスにおいては、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプを固定のタイプに分類する従来の方式と比較して、データフレームのフレームタイプを柔軟に決定して、マルチレベルのプリエンプションを実装することが可能であり、それによって、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
図8は、この出願のある1つの実施形態にしたがった他のデータ送信方法のフローチャートである。図8に示されているように、その方法は、以下のステップを含む。
ステップ801: 第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、第1のデータフレームのフレームタイプが、第2のデータフレームのフレームタイプと同じであり、且つ、第2のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、ネットワークデバイスは、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定する。
第1のデータフレームの関連する説明については、上記のステップ101を参照すべきである。本明細書においては、詳細は、この出願のこの実施形態の中で繰り返しては説明されない。
この出願のこの実施形態においては、出口ポートキューのためにキュー識別子を設定することが可能であり、キュー識別子は、出口ポートキューのキュータイプを示すのに使用され、キュータイプは、高速キュー又は先取り可能なキューを含む。例えば、優先度0乃至3の出口ポートキューのキュー識別子は、先取り可能な識別子であり、それらの先取り可能な識別子は、優先度0乃至3の出口ポートキューが先取り可能なキューであるということを示し、優先度4乃至7の出口ポートキューのキュー識別子は、高速識別子であり、それらの高速識別子は、優先度4乃至7の出口ポートキューが高速キューであるということを示す。高速キューの中のデータフレームのフレームタイプは、高速フレームであり、先取り可能なキューの中のデータフレームのフレームタイプは、先取り可能なフレームである。先取り可能な識別子及び高速識別子は、数字又は文字等であってもよい。例えば、先取り可能な識別子は、1であり、高速識別子は、0である。他の例では、先取り可能な識別子は、Pであり、高速識別子は、Eである。
データフレームを送信する前に、ネットワークデバイスは、データフレームの優先度に基づいて、対応する出口ポートキューの中に、送信されるべきデータフレームをバッファリングする。各々の出口ポートキューの中のデータフレームのフレームタイプが決定されるので、ネットワークデバイスが第1のデータフレームを送信する過程において、データフレームの送信を制御するモジュール又はチップは、第1のデータフレームが属する出口ポートキューと同じキュー識別子を有するとともに優先度が第1のデータフレームの優先度よりもより高い出口ポートキューの中に、送信されるべき第2のデータフレームが存在するか否かを積極的に検出してもよい。例えば、第1のデータフレームのフレームタイプが高速フレームであり、且つ、第1のデータフレームの優先度が6である場合に、第1のデータフレームの送信の過程において、ネットワークデバイスは、送信されるべき第2のデータフレームが優先度7の高速キューの中に存在するか否かを検出する。他の例では、第1のデータフレームのフレームタイプが先取り可能なフレームであり、且つ、第1のデータフレームの優先度が1である場合に、第1のデータフレームの送信の過程において、ネットワークデバイスは、送信されるべき第2のデータフレームが優先度2及び優先度3の先取り可能なキューの中に存在するか否かを検出する。
もちろん、代替的に、出口ポートキューは、モジュール又はチップに指標を送信してもよく、そのモジュール又はチップは、ネットワークデバイスの中のデータフレーム送信を制御し、その指標は、出口ポートキューのフレームタイプ及び優先度を含んで、送信されるべき第2のデータフレームが存在するということをデータフレーム送信を制御するモジュール又はチップに通知し、第2のデータフレームのフレームタイプは、送信される第1のデータフレームのフレームタイプと同じであり、第2のデータフレームの優先度は、第1のデータフレームの優先度よりもより高い。
ネットワークデバイスが、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定することは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームである場合に、ネットワークデバイスが、第2のデータフレームのフレームタイプに対していかなる操作も実行することなく、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することを含む。
選択的に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することは、第1のデータフレームのフレームタイプが高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、ネットワークデバイスが、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整し、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なることを含む。このプロセスについては、上記のステップ102の第1の可能な実装における詳細な説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
代替的に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することは、第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在しない場合に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することを含む。第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在する場合に、ネットワークデバイスは、第1のデータフレームのフレームタイプを調整しない。このプロセスの説明については、上記のステップ102の第2の可能な実装における説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
ネットワークデバイスが、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定することは、代替的に、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が先取り可能なフレームである場合に、ネットワークデバイスが、第1のデータフレームのフレームタイプに対していかなる操作も実行することなく、高速フレームへと第2のデータフレームのフレームタイプを調整することを含む。
ステップ802: ネットワークデバイスは、第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始する。
このステップの具体的な詳細については、上記のステップ103における関連する説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
ステップ803: ネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。
このステップの具体的な詳細については、上記のステップ104における関連する説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
結論として、この出願のこの実施形態によって提供されるデータ送信方法によれば、第1のデータフレームの送信の過程において、フレームタイプが第1のデータフレームのフレームタイプと同じであり、且つ、優先度が第1のデータフレームの優先度よりもより高い送信されるべき第2のデータフレームが、ネットワークデバイスの中に存在する場合に、そのネットワークデバイスは、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプ又は出口ポートキューの中のデータフレームのフレームタイプを動的に調整し、それによって、ネットワークデバイスにおいて、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、同じフレームタイプのデータフレームにおいて、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
この出願のこの実施形態においては、同じ発明概念に基づいて、図1に示されているデータ送信方法及び図8に示されているデータ送信方法を提案する。上記のデータ送信方法の各々における一連のステップは、適切に調整されてもよく、或いは、それに対応して、状況に基づいて、ステップを追加し又は削除してもよい。この出願によって開示されている技術的範囲の中で当業者が容易に考え出すことが可能であるいずれかの変更は、この出願の保護の範囲に属するものとする。
図9は、この出願のある1つの実施形態にしたがったデータ送信装置の構成の概略的な図である。図9に示されているように、装置90は、
第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在する場合に、第2のデータフレームのフレームタイプが高速フレームであると決定するように構成される決定モジュール901であって、第2のデータフレームの優先度は、第1のデータフレームの優先度よりも高い、決定モジュール901と、
第1のデータフレームのフレームタイプが高速フレームである場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するように構成される調整モジュール902と、
第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始するように構成される送信モジュール903と、を含む。
選択的に、調整モジュールは、第1のデータフレームのフレームタイプが高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整するように構成され、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なる。具体的な詳細については、図1に示されているデータ送信方法における詳細な説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
選択的に、調整モジュールは、第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するように構成される。
選択的に、送信モジュールは、さらに、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続するように構成される。選択的に、送信モジュールは、特に、第2のデータフレームの送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、第4のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、第4のデータフレームのフレームタイプが高速フレームであると決定して、第4のデータフレームを送信し、そして、第4のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する、ように構成される。
選択的に、装置90は、バッファモジュールをさらに含み、そのバッファモジュールは、第1のデータフレームを送信する前に、第1のデータフレームの優先度に基づいて、例えば、第1の出口ポートキュー等の対応する出口ポートキューの中に第1のデータフレームをバッファリングするように構成され、さらに、送信されるべき第2のデータフレームの優先度に基づいて、例えば、第2の出口ポートキュー等の対応する出口ポートキューの中に第2のデータフレームをバッファリングするように構成される。
選択的に、装置90は、有効化/無効化制御モジュールをさらに含み、その有効化/無効化制御モジュールは、装置90がこの出願の複数の実施形態によって提供されるデータ送信方法を有効化するか否かを制御するように構成される。装置90が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を有効化するときに、装置90は、図1に示されているデータ送信方法を実行する。装置90が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を無効化するときに、装置110は、従来のフレームプリエンプションメカニズムを実行する。
本明細書においては説明されていない詳細については、図1に示されているデータ送信方法の詳細な説明を参照すべきである。
結論として、この出願のこの実施形態によって提供されるデータ送信装置によれば、決定モジュールを使用することによって、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームが存在するということを決定するときに、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定し、第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、調整モジュールを使用することによって、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプは、動的に調整され、それによって、ネットワークデバイスにおいては、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプを固定のタイプに分類する従来の方式と比較して、データフレームのフレームタイプを柔軟に決定して、マルチレベルのプリエンプションを実装することが可能であり、それによって、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
図10は、この出願のある1つの実施形態にしたがった他のデータ送信装置の構成の概略的な図である。図10に示されているように、装置100は、
第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、第1のデータフレームのフレームタイプが、第2のデータフレームのフレームタイプと同じであり、且つ、第2のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定するように構成される決定モジュール1001と、
第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始するように構成される送信モジュール1002と、を含む。
選択的に、決定モジュールは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するか、又は、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が先取り可能なフレームである場合に、高速フレームへと第2のデータフレームのフレームタイプを調整する、ように構成される。
選択的に、決定モジュールは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整するように構成され、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なる。先取り可能なフレームマークの具体的な実装の詳細については、図1に示されているデータ送信方法の詳細な説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
選択的に、決定モジュールは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するように構成される。
選択的に、送信モジュールは、さらに、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続するように構成される。
選択的に、送信モジュールは、特に、
第2のデータフレームの送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、第4のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、第4のデータフレームを送信し、そして、第4のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する、ように構成される。
選択的に、装置100は、バッファモジュールをさらに含み、そのバッファモジュールは、第1のデータフレームを送信する前に、第1のデータフレームの優先度に基づいて、例えば、第1の出口ポートキュー等の対応する出口ポートキューの中に第1のデータフレームをバッファリングするように構成され、さらに、送信されるべき第2のデータフレームの優先度に基づいて、例えば、第2の出口ポートキュー等の対応する出口ポートキューの中に第2のデータフレームをバッファリングするように構成される。
選択的に、装置100は、有効化/無効化制御モジュールをさらに含み、その有効化/無効化制御モジュールは、装置100がこの出願の複数の実施形態によって提供されるデータ送信方法を有効化するか否かを制御するように構成される。装置100が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を有効化するときに、装置100は、図8に示されているデータ送信方法を実行する。装置100が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を無効化するときに、装置100は、従来のフレームプリエンプションメカニズムを実行する。
本明細書においては説明されていない詳細については、図1及び図8に示されているデータ送信方法の詳細な説明を参照すべきである。
結論として、この出願のこの実施形態によって提供されるデータ送信装置によれば、ネットワークデバイスが第1のデータフレームを送信する過程において、フレームタイプが第1のデータフレームのフレームタイプと同じであり、且つ、優先度が第1のデータフレームの優先度よりもより高い送信されるべき第2のデータフレームが、存在する場合に、そのネットワークデバイスは、決定モジュールを使用することによって、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプ又は出口ポートキューの中のデータフレームのフレームタイプを動的に調整し、それによって、ネットワークデバイスにおいて、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
上記の実施形態における装置については、その方法に関連する実施形態において、各々のモジュールによって操作を実行する具体的な方法を詳細に説明しており、本明細書においては、詳細は繰り返しては説明されない。
図11は、この出願のある1つの実施形態にしたがったデータ送信装置のブロック図である。データ送信装置は、スイッチ又はルータ等のネットワークデバイスであってもよい。図11に示されているように、装置110は、処理チップ1101を含む。図11を参照すると、装置110は、メモリ1102、通信バス1103、及び通信インターフェイス1104をさらに含んでもよい。処理チップ1101、メモリ1102、及び通信インターフェイス1104は、通信バス1103を使用することによって互いに接続される。
処理チップ1101は、プログラム可能な論理回路及び/又はプログラム命令を含む。そのプログラム可能な論理回路及び/又はプログラム命令を実行するときに、処理チップ1101は、図1又は図8に示されているデータ送信方法を実装する。
図12は、この出願のある1つの実施形態にしたがった処理チップ1101の構成の概略的な図である。図12に示されているように、処理チップ1101は、処理ユニット1101A及びスケジューリングユニット1101Bを含む。
処理ユニット1101Aは、中央処理ユニット(central processing unit, CPU)、ネットワークプロセッサ(network processor, NP)、又はCPU及びNPの組み合わせであってもよい。
選択的に、メモリ1102は、コンピュータプログラムを格納するように構成され、そのコンピュータプログラムは、プログラム命令を含む。処理ユニット1101Aは、メモリ1102の中に格納されているコンピュータプログラムを呼び出し、そして、コンピュータプログラムの中のプログラム命令を実行して、送信されるべきデータフレームの優先度に基づいて、対応する出口ポートキューの中に、その送信されるべきデータフレームをバッファリングする。この出願においては、その出口ポートキューの中の送信されるべきデータフレームは、MACカプセル化が実行されていないパケットとして理解されてもよい。
スケジューリングユニット1101Bは、特定用途向け集積回路(Application Specific Integrated Circuits, ASIC)、プログラム可能な論理デバイス(programmable logic device, PLD)、又はそれらの組み合わせであってもよい。PLDは、複合的なプログラム可能な論理デバイス(complex programmable logic device, CPLD)、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)、汎用アレイ論理(generic array logic, GAL)、又はそれらのいずれかの組み合わせであってもよい。スケジューリングユニット1101Bは、処理チップの中のプログラム可能な論理回路を実行して、出口ポートキューの中の送信されるべきデータフレームをスケジューリングし、そして、図1又は図8におけるデータ送信方法を実装する。具体的には、スケジューリングユニットは、高い優先度のデータフレームが、送信のために低い優先度のデータフレームをプリエンプトする図1又は図8における方法にしたがって、出口ポートキューの中のデータフレームをスケジューリングし、そして、データフレームのフレームタイプを調整し又は決定する、ように構成される。その次に、フレームタイプに対応する値は、MACカプセル化の際に、SMDフィールドの中に設定される。最後に、フレームタイプ(SMDフィールドの値)を搬送するデータフレームは、物理層(PHY)を通過した後に、通信インターフェイス1104に到達し、その通信インターフェイス1104から受信端まで送信される。受信端は、データフレームの中のSMDフィールドの値に基づいて、受信したデータフレームが高速フレームであるか又は送信のためにプリエンプトされる先取り可能なフレームであるかを決定してもよい。
さらに、図12を参照すると、処理チップ1101は、記憶ユニット1101Cをさらに含み、記憶ユニット1101Cは、出口ポートキューのために設定される記憶スペースを含んで、送信されるべきデータフレームをバッファリングする。選択的に、記憶ユニット1101Cは、コンピュータプログラム命令を格納するように構成されてもよい。処理ユニット1101Aは、記憶ユニット1101Cの中に格納されているコンピュータプログラム命令を呼び出して、送信されるべきデータフレームの優先度に基づいて、対応する出口ポートキューの中にその送信されるべきデータフレームをバッファリングする。
選択的に、メモリ1102は、送信されるべきデータフレームをバッファリングするように構成されてもよい。
通信インターフェイス1104は、有線通信インターフェイスを含む。その有線通信インターフェイスは、イーサネットインターフェイスを含む。そのイーサネットインターフェイスは、光インターフェイス、電気的インターフェイス、又はそれらの組み合わせであってもよい。
さらに、図13は、この出願のある1つの実施形態にしたがったスケジューリングユニット1101Bの構成の概略的な図である。図13に示されているように、スケジューリングユニット1101Bは、データ出口スケジューリングロジック1101B-1及びMACカプセル化ロジック1101B-2を含む。
データ出口スケジューリングロジック1101B-1は、出口ポートキューの中のその送信されるべきデータフレームをスケジューリングし、そして、その送信されるべきデータフレームに対応するフレームタイプ指標をMACカプセル化ロジックに提供する、ように構成され、フレームタイプ指標は、送信されるべきデータフレームのフレームタイプを示すのに使用される。MACカプセル化論理1101B-2は、データ出口スケジューリング論理1101B-1が提供する送信されるべきデータフレーム及びその送信されるべきデータフレームに対応するフレームタイプ指標に基づいて、その送信されるべきデータフレームに対してMACカプセル化を実行するように構成される。
ある1つの可能な実装において、送信されるべきデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、帯域外並列に、データフレームに対応するフレームタイプ指標をMACカプセル化ロジック1101B-2に提供する。フレームタイプ指標は、パケットの始端(start of packet, SOP)、パケットの終端(end of packet, EOP)、MACマージの始端(start of MAC-merge, SOM)、MACマージの終端(end of MAC-merge, EOM)を含む。SOPが1であることは、パケットヘッダを示し、EOPが1であることは、パケットトレーラを示し、SOP及びEOPの双方が0であることは、パケットの中間断片を示す。SOMが1であることは、先取り可能なフレームの以降の断片の最初を示し、EOMが1であることは、先取り可能なフレームの以降の断片の最後を示し、SOM及びEOMの双方が0であることは、先取り可能なフレームの以降の断片の中間を示す。例えば、フレームタイプが高速フレームである第1のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、帯域外並列に、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、その次に、SOP値が0であるとともに、EOPが0であるという指標を送信し、そして、その次に、SOP値が0であるとともに、EOP値が1であるという指標を送信する。このようにして、第1のデータフレームは、送信のためにプリエンプトされることなく、一度に送信され、第1のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-E0である。他の例として、フレームタイプが先取り可能なフレームである第1のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、帯域外並列に、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、第1のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-S0となる。その次に、データ出口スケジューリングロジック1101B-1は、第2のデータフレームをスケジューリングして、送信のために第1のデータフレームをプリエンプトする。したがって、第2のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、帯域外並列に、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、第2のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-E1となる。その次に、データ出口スケジューリングロジック1101B-1は、第3のデータフレームをスケジューリングして、送信のために第2のデータフレームをプリエンプトする。したがって、第3のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、帯域外並列に、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、第3のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-E2となる。その次に、データ出口スケジューリングロジック1101B-1は、第3のデータフレームの送信を継続し、SOP値が0であるとともに、EOPが0であるという指標を送信し、そして、その次に、SOP値が0であるとともに、EOP値が1であるという指標を送信し、MACカプセル化ロジック1101B-2は、第3のデータフレームの以降の断片のすべてについて、SMD-E2をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、第2のデータフレームの送信を継続し、そして、SOP値が0であり、EOPが0であり、SOMが1であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第2のデータフレームの先取り可能なフレームの以降の断片について、SMD-C4をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、SOP値が0であり、EOPが0であり、SOMが0であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第2のデータフレームの先取り可能なフレームの以降の断片について、SMD-C5をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、SOP値が0であり、EOPが1であり、SOMが0であり、且つ、EOMが1であるという指標を送信し、MACカプセル化ロジック1101B-2は、第2のデータフレームの先取り可能なフレームの以降の断片について、SMD-C6をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、第1のデータフレームの送信を継続し、そして、SOP値が0であり、EOPが0であり、SOMが1であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第1のデータフレームの先取り可能なフレームの以降の断片について、SMD-C0をカプセル化する。その次に、データ出力スケジューリングロジック1101B-1は、SOP値が0であり、EOPが0であり、SOMが0であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第1のデータフレームの先取り可能なフレームの以降の断片について、SMD-C1をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、SOP値が0であり、EOPが1であり、SOMが0であり、且つ、EOMが1であるという指標を送信し、MACカプセル化ロジック1101B-2は、第1のデータフレームの先取り可能なフレームの以降の断片について、SMD-C2をカプセル化する。SOP値が1であるという以前の指標を受信した後に、MACカプセル化ロジック1101B-2が、EOP値が1であるといういかなる指標も受信せず、SOP値が1であるという指標をさらに受信したということを発見する場合に、MACカプセル化ロジック1101B-2は、先取り可能な送信が生起しているということを知ることが可能である。加えて、MACカプセル化ロジック1101B-2が、SOP値が1であるデータフレームを受信するたびごとに、MACカプセル化ロジック1101B-2は、SMD-S0又はSMD-E0、SMD-E1、SMD-E2、…、及びSMD-E7のうちの1つを順に選択する。SOP値が1である第1のデータフレームを受信するときに、MACカプセル化ロジック1101B-2は、データフレームのフレームタイプに基づいて、そのデータフレームについて、SMD-S0又はSMD-E0をカプセル化する。
他の可能な実装において、MACカプセル化ロジック1101B-2を使用してデータ出口スケジューリングロジック1101B-1が提供するデータフレームは、フレームタイプ指標を搬送する。高速フレームのフレームタイプ指標は、SOP及びEOPを含む。同様に、SOPが1であることは、パケットヘッダを示し、EOPが1であることは、パケットトレーラを示し、SOP及びEOPの双方が0であることは、パケットの中間断片を示す。先取り可能なフレームのフレームタイプ指標は、SOP、EOP、SOM、及びEOMを含む。SOMが1であることは、先取り可能なフレームの以降の断片の最初を示し、EOMが1であることは、先取り可能なフレームの以降の断片の最後を示し、SOM及びEOMの双方が0であることは、先取り可能なフレームの以降の断片の中間を示す。さらに、フレームタイプ指標は、優先度情報をさらに含んでもよく、それによって、MACカプセル化ロジック1101B-2は、複数の中間にある以降の断片を判別することが可能である。MACカプセル化ロジック1101B-2は、データフレームの中で搬送されるフレームタイプ指標に基づいて、MACカプセル化ヘッダの中のSMDフィールドの値を設定して、対応するフレームタイプのデータフレームを取得してもよい。
複数の通信インターフェイス1104が存在してもよく、通信インターフェイス1104は、他のデバイスとの間で通信するように構成される。例えば、この出願のこの実施形態において、通信インターフェイス1104は、データフレームを受信し及び/又はデータフレームを送信するように構成されてもよい。
選択的に、処理チップ1101は、レジスタをさらに含み、レジスタは、有効化/無効化フラグビットを含む。有効化/無効化フラグビットが(例えば、1等の)第1の値に設定されているときに、その第1の値は、装置110が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を有効化するということを示す。有効化/無効化フラッグビットが(例えば、0等の)第2の値に設定されているときに、その第2の値は、装置110が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を無効化するということを示す。この場合には、装置110は、従来のフレームプリエンプションメカニズムを実行する。
有効化/無効化フラッグビットが装置110の中で設定されるときに、処理チップ1101は、図1又は図8に示されているデータ送信方法を実装するためのプログラム可能な論理回路及び/又はプログラム命令を含み、従来のフレームプリエンプションメカニズムを実装するためのプログラム可能な論理回路及び/又はプログラム命令をさらに含む。
通信インターフェイス1104は、代替的に、無線通信インターフェイスを含んでもよい。無線通信インターフェイスは、無線ローカルエリアネットワーク(wireless local area network, WLAN)インターフェイス、セルラーネットワーク通信インターフェイス、又はそれらの組み合わせ等であってもよい。
選択的に、さらに、図11を参照すると、装置110は、この出願によって提供されるデータ送信方法以外のサービス又は機能を実装するように構成されるプロセッサ1105をさらに含んでもよい。そのプロセッサは、単一のコア又は複数のコアを有してもよい。
この出願のある1つの実施形態は、さらに、コンピュータ記憶媒体を提供する。そのコンピュータ記憶媒体は、複数の命令を格納する。それらの複数の命令がプロセッサによって実行されるときに、図1又は図8に示されているデータ送信方法が実装される。
当業者は、ハードウェア又は関連するハードウェアに命令するプログラムによって、複数の実施形態の複数のステップのうちのすべて又は一部を実装することが可能であるということを理解することが可能である。プログラムは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよい。記憶媒体は、読み出し専用メモリ、磁気ディスク、又は光ディスク等であってもよい。
この出願のそれらの複数の実施形態において、"第1の"、"第2の"、及び"第3の"の語は、説明の目的のために使用されるにすぎず、相対的重要性の指標又は示唆として理解されるべきではない。特に、明示的に限定されない限り、"少なくとも1つの"の語は、1つ又は複数を指し、"複数の"の語は、2つ又はそれ以上を指す。
この出願における"及び/又は"の語は、複数の関連する対象を説明するための関連性関係のみを説明し、3つの関係が存在してもよいということを示す。例えば、A及び/又はBは、Aのみが存在する場合、A及びBの双方が存在する場合、及び、Bのみが存在する場合の3つの場合を示してもよい。加えて、この明細書の中の文字"/"は、一般的に、複数の関連する対象の間の"又は"の関係を示す。
上記の説明は、この出願の選択的な実施形態であるにすぎず、この出願を限定することを意図してはいない。この出願の概念及び原理から離れることなく行われる任意の修正、等価な置換、又は改良は、この出願の保護の範囲に属するものとする。

[関連出願への相互参照]
この出願は、2019年7月26日付で出願された"データ送信方法及び装置"と題する中国特許出願第201910680722.9号に基づく優先権を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
[技術分野]
この出願は、ネットワーク技術の分野に関し、特に、データ送信方法及び装置に関する。
ネットワークデバイスを使用することによって、送信端と受信端との間でデータフレームを転送して、通信を実装する。データフレームは、また、メディアアクセス制御(media access control, MAC)フレームと称されてもよい。ネットワークデバイスは、通常、"ベストエフォート(best effort)"転送ポリシーを使用することによって、データフレームを転送する。その転送ポリシーにおいては、ネットワークデバイスは、受信したデータフレームの順序でそれらのデータフレームを転送する。ところが、実際のネットワークには、優先順位が異なっている複数のデータフレームが存在する。ネットワークデバイスが、転送ポリシーを使用することによって、データフレームを転送するときに、優先度の低いデータフレームがチャネルを占有し、結果として、時間内に優先度の高いデータフレームを送信することが不可能であり、優先度の高いデータフレームの送信待ち時間が比較的大きくなる。
フレームプリエンプション(preemption)メカニズムは、時間感受性ネットワーキング(time-sensitive networking, TSN)の中で導入されている。電気電子技術者協会(Institute of Electrical and Electronic Engineers, IEEE)802.3br及びIEEE802.1Qbuの中で定義されているフレームプリエンプションメカニズムにおいては、データフレームのフレームタイプは、高速(express)フレーム及び先取り可能な(preemptable)フレームの2つのタイプに分類される。高速フレームの送信優先度は、先取り可能なフレームの送信優先度よりも高い。フレームタイプが"先取り可能なフレーム"である第1のデータフレームをネットワークデバイスが送信する処理の中に、フレームタイプが"高速フレーム"である送信されるべき第2のデータフレームが存在するときに、ネットワークデバイスは、第1のデータフレームの送信を停止し、第2のデータフレームの送信を開始し、そして、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続し、"高速フレーム"の低遅延送信を保証する。
しかしながら、従来のフレームプリエンプションメカニズムにおいては、データフレームは、高速フレーム及び先取り可能なフレームの2つのタイプに分類され、"高速フレーム"のみが、優先的な送信のために"先取り可能なフレーム"をプリエンプトすることを許可される。ネットワークデバイスが2つよりも多くの優先度のデータフレームを有する場合、例えば、0乃至7の合計で8つの優先度のデータフレームを含む場合には、優先度の高いデータフレームの優先的な送信を保証することは不可能である。
この出願は、データ送信方法及び装置を提供して、従来のフレームプリエンプションメカニズムにおいては、優先度の高いデータフレームの優先的な送信を真に保証することが不可能であるという問題を解決する。
第1の態様によれば、データ送信方法であって、当該方法は、
第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、且つ、前記第2のデータフレームの優先度が、前記第1のデータフレームの優先度よりも高い場合に、ネットワークデバイスが、前記第2のデータフレームのフレームタイプが高速フレームであると決定することと、前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、前記ネットワークデバイスが、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整することと、前記ネットワークデバイスが、前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始することと、を含む、データ送信方法が提供される。
この出願においては、ネットワークデバイスは、現在送信されているデータフレームのフレームタイプを動的に調整し、それによって、そのネットワークデバイスにおいては、優先度の高いデータフレームのフレームタイプは、高速フレームとなり、優先度の低いデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプが固定のタイプに分類される従来の方式と比較して、データフレームのフレームタイプをより柔軟に決定することが可能であり、それによって、優先度の高いデータフレームは、柔軟に優先度の低いデータフレームをプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
ある1つの可能な実装において、前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプが高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、前記ネットワークデバイスが、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整することを含み、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる。
この出願においては、先取り可能なフレームマークを拡張して、フレームタイプがすべて先取り可能なフレームである複数の異なるデータフレームを判別することが可能であるか、又は、データ断片のフレーム構造に指示フィールドを追加して、フレームタイプがすべて先取り可能なフレームである複数の異なるデータフレームを判別することが可能である。
他の可能な実装において、前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプが高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、前記ネットワークデバイスが、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整することを含む。
この実装は、既存の送信方式との間で互換性を有して、送信のためにネットワークデバイスにおける1つの先取り可能なフレームのみをプリエンプトするということを保証することが可能である。
選択的に、前記ネットワークデバイスは、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する。
選択的に、前記ネットワークデバイスが、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続することは、
前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記ネットワークデバイスが、前記第4のデータフレームのフレームタイプが高速フレームであると決定し、そして、前記第4のデータフレームを送信することと、前記ネットワークデバイスが、前記第4のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続することと、を含む。
この出願においては、優先度の高いデータフレームは、優先度の低いデータフレームと比較して、常に、優先的に送信される。
第2の態様によれば、他のデータ送信方法であって、当該方法は、
ネットワークデバイスが、第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、前記第1のデータフレームのフレームタイプが、前記第2のデータフレームのフレームタイプと同じであり、且つ、前記第2のデータフレームの優先度が、前記第1のデータフレームの優先度よりも高いということを検出する場合に、前記ネットワークデバイスが、前記第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、前記第2のデータフレームの前記フレームタイプが高速フレームであると決定することと、前記ネットワークデバイスが、前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始することと、を含む、データ送信方法が提供される。
この出願においては、現在送信されているデータフレーム又は出口ポートキューの中のデータフレームのフレームタイプを動的に調整し、それによって、そのネットワークデバイスにおいては、優先度の高いデータフレームのフレームタイプは、高速フレームとなり、優先度の低いデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、同じフレームタイプの複数のデータフレームのうちで、優先度の高いデータフレームは、柔軟に優先度の低いデータフレームをプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
選択的に、前記第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、前記第2のデータフレームの前記フレームタイプが高速フレームであると決定する前記ステップは、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するステップ、又は、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が先取り可能なフレームである場合に、高速フレームへと前記第2のデータフレームの前記フレームタイプを調整するステップ、を含む。
ある1つの可能な実装において、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整するステップを含み、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる。
他の可能な実装において、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整する前記ステップは、前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するステップを含む。
選択的に、前記ネットワークデバイスは、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する。
選択的に、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する前記ステップは、
前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記ネットワークデバイスが、前記第4のデータフレームを送信することと、前記第4のデータフレームの前記送信が終了した後に、前記ネットワークデバイスが、前記第1のデータフレームの送信を継続することと、を含む。
第3の態様によれば、データ送信装置が提供される。その装置は、複数の機能モジュールを含み、それらの複数の機能モジュールは、相互作用して、第1の態様及び第1の態様の複数の実装における方法を実装する。それらの複数の機能モジュールは、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの組み合わせに基づいて実装されてもよく、それらの複数の機能モジュールは、ある特定の実装に基づいて、ランダムに組み合わせられてもよく又は分割されてもよい。
第4の態様によれば、他のデータ送信装置が提供される。その装置は、複数の機能モジュールを含み、それらの複数の機能モジュールは、相互作用して、第2の態様及び第2の態様の複数の実装における方法を実装する。それらの複数の機能モジュールは、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの組み合わせに基づいて実装されてもよく、それらの複数の機能モジュールは、ある特定の実装に基づいて、ランダムに組み合わせられてもよく又は分割されてもよい。
第5の態様によれば、処理チップが提供される。その処理チップは、プログラム可能な論理回路及び/又はプログラム命令を含み、その処理チップは、プログラム可能な論理回路及び/又はプログラム命令を実行して、第1の態様又は第2の態様のいずれかにしたがったデータ送信方法を実装する。
選択的に、当該処理チップは、処理ユニット及びスケジューリングユニットを含み、
前記処理ユニットは、送信されるべきデータフレームの優先度に基づいて、対応する出口ポートキューの中に前記送信されるべきデータフレームをバッファリングするように構成され、
前記スケジューリングユニットは、前記出口ポートキューの中の前記送信されるべきデータフレームをスケジューリングして、第1の態様又は第2の態様のいずれかにしたがったデータ送信方法を実装するように構成される。
選択的に、前記スケジューリングユニットは、データ出口スケジューリングロジック及びメディアアクセス制御MACカプセル化ロジックを含み、
前記データ出口スケジューリングロジックは、前記出口ポートキューの中の前記送信されるべきデータフレームをスケジューリングし、そして、前記送信されるべきデータフレームに対応するフレームタイプ指標を前記MACカプセル化ロジックに提供する、ように構成され、前記フレームタイプ指標は、前記送信されるべきデータフレームのフレームタイプを示すのに使用され、
前記MACカプセル化ロジックは、前記送信されるべきデータフレームに対応する前記フレームタイプ指標に基づいて、前記送信されるべきデータフレームに対してMACカプセル化を実行するように構成される。
選択的に、処理チップは、メモリをさらに含む。メモリは、送信されるべきデータフレームをバッファリングするように構成される。具体的には、メモリは、出口ポートキューに割り当てられている格納スペースを含む。
選択的に、処理ユニットは、ネットワークプロセッサ及び中央処理ユニットのうちの少なくとも1つを含み、スケジューリングユニットは、特定用途向け集積回路及びプログラム可能な論理デバイスのうちの少なくとも1つを含む。選択的に、メモリは、さらに、コンピュータプログラム命令を格納するように構成され、処理ユニットは、メモリの中に格納されているコンピュータプログラム命令を呼び出して、第1の態様又は第2の態様にしたがったデータ送信方法の1つ又は複数のステップを実行する。
第6の態様によれば、第5の態様にしたがった通信インターフェイス及び処理チップを含むデータ送信装置が提供される。
通信インターフェイスは、通信バスを使用することによって、処理チップに接続されてもよい。
データ送信装置は、メモリをさらに含み、メモリは、コンピュータプログラムを格納し、コンピュータプログラムは、プログラム命令を含む。処理チップは、メモリの中に格納されているコンピュータプログラムを呼び出して、第1の態様又は第2の態様にしたがったデータ送信方法の1つ又は複数のステップを実行する。
第7の態様によれば、コンピュータ記憶媒体が提供される。そのコンピュータ記憶媒体は、複数の命令を格納する。それらの命令がプロセッサによって実行されるときに、第1の態様及び第1の態様の複数の実装のうちのいずれか1つにしたがったデータ送信方法又は第2の態様及び第2の態様の複数の実装のうちのいずれか1つにしたがったデータ送信方法が実装される。
この出願によって提供される複数の技術的解決方法がもたらす有益な効果は、少なくとも、以下の効果を含んでもよい。
現在送信されているデータフレームのフレームタイプ及び/又は送信されるべきデータフレームのフレームタイプは、動的に調整され、それによって、現在送信されているデータフレーム及び送信されるべきデータフレームのうちで、優先度がより高いデータフレームのフレームタイプは、高速フレームとなり、優先度がより低いデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、優先度がより高いデータフレームは、優先度の低いデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
この出願のある1つの実施形態にしたがったデータ送信方法のフローチャートである。 この出願のある1つの実施形態にしたがったデータフレームのフレーム構造の概略的な図である。 この出願のある1つの実施形態にしたがった他のデータフレームのフレーム構造の概略的な図である。 この出願のある1つの実施形態にしたがったさらに別のデータフレームのフレーム構造の概略的な図である。 この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信の概略的な図である。 この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信の他の概略的な図である。 この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信のさらに別の概略的な図である。 この出願のある1つの実施形態にしたがった他のデータ送信方法のフローチャートである。 この出願のある1つの実施形態にしたがったデータ送信装置の構成の概略的な図である。 この出願のある1つの実施形態にしたがった他のデータ送信装置の構成の概略的な図である。 この出願のある1つの実施形態にしたがったデータ送信装置のブロック図である。 この出願のある1つの実施形態にしたがった処理チップの構成の概略的な図である。 この出願のある1つの実施形態にしたがったスケジューリングユニットの構成の概略的な図である。
この出願の目的、技術的解決方法、及び利点をより明確にするために、以下の記載は、さらに、複数の添付の図面を参照して、この出願のそれらの複数の実装を詳細に説明する。
この出願のそれらの複数の実施形態によって提供されるデータ送信方法は、通信ネットワークの中のネットワークデバイスに適用されてもよい。選択的に、その通信ネットワークは、産業ネットワーク、車載型ネットワーク、データセンターネットワーク(data center network, DCN)、大都市圏ネットワーク、ワイドエリアネットワーク、又はキャンパスネットワーク等であってもよい。そのデータ送信方法の適用シナリオは、この出願のそれらの複数の実施形態には限定されない。ネットワークデバイスは、ルータ、スイッチ、又はサーバ等であってもよい。ネットワークデバイスは、出口ポートキューの中に送信されるべきデータフレームのすべてをバッファリングし、そして、その次に、対応するポートを使用することによって、それらの出口ポートキューの中にあるデータフレームを送信する。
現時点では、ネットワークデバイスは、例えば、8つの優先度又は16の優先度等の複数の優先度のデータフレームに複数のデータフレームを分類してもよい。このことは、この出願のこの実施形態においては限定されない。この出願の以下の複数の実施形態は、ネットワークデバイスが優先度0乃至7を含む8つの優先度のデータフレームに複数のデータフレームを分類するある1つの例を使用することによって、説明を行う。優先度の値が大きいほど、優先度が高いことを示している。ネットワークデバイスは、8個の出口ポートキューを含んでもよく、各々の出口ポートキューは、ある1つの優先度のデータフレームをバッファリングするのに使用される。複数のシナリオのうちのいくつかにおいて、出口ポートキューは、また、サービクラススキュー(class of service queue, COSQ)又は優先度キューと称されてもよい。複数のシナリオのうちのいくつかにおいて、出口ポートキューと優先度キューとの間に複数のマッピング関係が存在する。この出願においては、例えば、出口ポートキューの優先度と出口ポートキューの中にバッファリングされているデータフレームの優先度との間に、1対1の対応関係が存在する。
複数のデータフレームを転送するときに、ネットワークデバイスは、優先度が大きい順に、出口ポートキューの中にあるそれらの複数のデータフレームを転送する。例えば、ネットワークデバイスが、データフレームをバッファリングしている3つの出口ポートキューを含み、それらの3つの出口ポートキューは、優先度2の第1の出口ポートキュー、優先度5の第2の出口ポートキュー、及び優先度6の第3の出口ポートキューを含み、第1の出口ポートキューは、優先度2のデータフレームをバッファリングし、第2の出口ポートキューは、優先度5のデータフレームをバッファリングし、そして、第3の出口ポートキューは、優先度6のデータフレームをバッファリングすると仮定すると、それらの複数のデータフレームを転送するときに、ネットワークデバイスは、最初に、第3の出口ポートキューの中にあるデータフレームを送信し、その次に、第2の出口ポートキューの中にあるデータフレームを送信し、そして、最後に、第1の出口ポートキューの中にあるデータフレームを送信する。
さらに、ネットワークデバイスが、第2の出口ポートキューの中にある優先度5の第1のデータフレームを送信する過程において、第3の出口ポートキューが、従来のフレームプリエンプションメカニズムに基づいて、送信されるべき第2のデータフレームを受信するときに、
第2の出口ポートキューのフレームタイプが、先取り可能なフレームに設定されている、すなわち、優先度5の第1のデータフレームのフレームタイプが、先取り可能なフレームであり、第3の出口ポートキューのフレームタイプが、高速フレームに設定されている、すなわち、優先度6の第2のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、第2の出口ポートキューの中にある第1のデータフレームの送信を停止し、第3の出口ポートキューの中にある第2のデータフレームの送信を開始し、そして、第3の出口ポートキューの中にある第2のデータフレームの送信が終了した後に、ネットワークデバイスは、第2の出口ポートキューの中にある第1のデータフレームの送信を継続する、すなわち、優先度6の第2のデータフレームは、先取り可能な送信のために、優先度5の第1のデータフレームの送信に割り込むことが可能である、或いは、
第2の出口ポートキューのフレームタイプが、第3の出口ポートキューのフレームタイプと同じである場合、例えば、第2の出口ポートキューのフレームタイプ及び第3の出口ポートキューのフレームタイプの双方が、高速フレームであるか、又は、双方が、先取り可能なフレームである場合に、ネットワークデバイスは、第2の出口ポートキューの中にある第1のデータフレームの送信が終了した後に、第3の出口ポートキューの中にある第2のデータフレームを送信する。
従来のフレームプリエンプションメカニズムの場合には、出口ポートキューの中に格納されているデータフレームのフレームタイプは、出口ポートキューについて設定されているフレームタイプに設定される。データフレームのフレームタイプは、そのデータフレームの中のある特定のフィールドの値を使用することによって、マークされてもよい。例えば、データフレームは、開始MACマージパケット区切り文字(start MAC-merge-packet delimiter, SMD)フィールドを含み、データフレームのフレームタイプは、そのSMDフィールドの値を使用することによって表わされてもよい。
従来のフレームタイプ分類メカニズムの場合には、データフレームのフレームタイプは、固定のタイプにあらかじめ設定される。例えば、優先度0乃至3のデータフレームのフレームタイプは、すべて、先取り可能なフレームに設定され、優先度4乃至7のデータフレームのフレームタイプは、すべて、高速フレームに設定される。したがって、同じフレームタイプを有する優先度の高いデータフレームは、先取り可能な送信のために、優先度の低いデータフレームに割り込むことは不可能であり、従来の実装においては、データ送信の際の比較的低い柔軟性につながる。この出願のそれらの複数の実施形態によって提供されるデータ送信方法においては、データフレームのフレームタイプは、動的に調整され、それによって、現在送信されているデータフレーム及び送信されるべきデータフレームのうちで、優先度のより高いデータフレームのフレームタイプは、高速フレームとなり、優先度のより低いデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプを固定のタイプに分類する従来の方式と比較して、データフレームのフレームタイプを柔軟に決定することが可能であり、それによって、優先度のより高いデータフレームは、優先度のより低いデータフレームを柔軟にプリエンプトする。したがって、データフレームのマルチレベルの先取り可能な送信を実装することが可能であり、それにより、データ送信の際の柔軟性を改善する。
図1は、この出願のある1つの実施形態にしたがったデータ送信方法のフローチャートである。図1に示されているように、その方法は、以下のステップを含む。
ステップ101: 第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在する場合に、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定し、第2のデータフレームの優先度は、第1のデータフレームの優先度よりも高い。
ネットワークデバイスは、優先度の高い順にデータフレームを送信するため、そのネットワークデバイスが第1のデータフレームを送信する過程において、優先度がネットワークデバイスの中にある第1のデータフレームの優先度以下であるデータフレームは、送信のために第1のデータフレームをプリエンプトしない、すなわち、第1のデータフレームの送信に影響を与えない。したがって、第1のデータフレームの送信の過程において、ネットワークデバイスは、優先度が第1のデータフレームの優先度よりも高い第2のデータフレームがネットワークデバイスの中に存在するか否かを決定するだけでよい。第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、第2のデータフレームの優先度が、第1のデータフレームの優先度よりも高く、それらの優先度が、第2のデータフレームが送信のために第1のデータフレームをプリエンプトする必要があるということを示す場合に、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定してもよい。
ネットワークデバイスの中にある送信されるべき第2のデータフレームは、(例えば、送信端等の)他のデバイスから受信されてもよく、又は、ネットワークデバイスによって生成されてもよい。
選択的に、第1のデータフレームを送信する前に、ネットワークデバイスは、さらに、第1のデータフレームの優先度に基づいて、例えば、第1の出口ポートキュー等の対応する出口ポートキューの中に第1のデータフレームをバッファリングする。ステップ101の前に、ネットワークデバイスは、さらに、送信されるべき第2のデータフレームの優先度に基づいて、例えば、第2の出口ポートキュー等の対応する出口ポートキューの中に第2のデータフレームをバッファリングする。
ステップ102: 第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整する。
ネットワークデバイスは、第1のデータフレームの中のSMDフィールドの値に基づいて、第1のデータフレームのフレームタイプを決定してもよい。第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整し、それによって、優先度がより高い第2のデータフレームは、送信のために、優先度がより低い第1のデータフレームをプリエンプトすることが可能であり、それにより、優先度がより高いデータフレームの低遅延送信を保証する。第1のデータフレームのフレームタイプが、先取り可能なフレームである場合に、ネットワークデバイスは、ステップ102を実行することなく、後続のステップ103を直接的に実行してもよい。
ステップ103: ネットワークデバイスは、第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始する。
第1のデータフレームのフレームタイプは、先取り可能なフレームであり、第2のデータフレームのフレームタイプは、高速フレームであるので、フレームプリエンプションメカニズムに基づいて、第2のデータフレームは、送信のために、第1のデータフレームをプリエンプトすることが可能である、すなわち、ネットワークデバイスは、第1のデータフレームの送信を中止し、そして、第2のデータフレームを優先的に送信することが可能である。
ステップ104: ネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。
選択的に、ネットワークデバイスの電源がオンされた後にそのネットワークデバイスが送信する第1のデータフレームのフレームタイプは、高速フレームである。代替的に、電源がオンされた後に、ネットワークデバイスは、第1の送信されるべきデータフレームの優先度が、ネットワークデバイスがサポートする最も低い優先度であるか否かを決定し、そして、第1のデータフレームの優先度が、ネットワークデバイスがサポートする最も低い優先度ではない場合には、第1のデータフレームのフレームタイプが高速フレームであると決定し、又は、第1のデータフレームの優先度が、ネットワークデバイスがサポートする最も低い優先度である場合には、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定する。優先度が最も低いデータフレームは、送信のために、他のデータフレームをプリエンプトする必要はないので、この出願のこの実施形態においては、ネットワークデバイスは、優先度が最も低いデータフレームのすべてのフレームタイプが先取り可能なフレームであると決定してもよい。第1のデータフレームは、ネットワークデバイスの電源がオンにされた後にそのネットワークデバイスが送信する第1のデータフレームであってもよく、又は、以降に送信されるデータフレームであってもよい。このことは、この出願のこの実施形態においては限定されない。
この出願のこの実施形態においては、同じ優先度のデータフレームは、送信のために互いにプリエンプトしない。
この出願のこの実施形態においては、第1のデータフレームの送信の過程において、優先度がより高い第2のデータフレームを取得するときに、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定する。例えば、優先度0のデータフレームの送信の過程において、優先度1の送信されるべきデータフレームが存在するときに、ネットワークデバイスは、優先度1のデータフレームのフレームタイプが高速フレームであると決定してもよい。他の例では、優先権6のデータフレームの送信の過程において、優先権7の送信されるべきデータフレームが存在するときに、ネットワークデバイスは、優先権7のデータフレームのフレームタイプが高速フレームであると決定してもよい。現在のフレームタイプ分類メカニズムと比較して、データフレームのフレームタイプを決定する柔軟性が改善される。
具体的には、ステップ102の第1の可能な実装は、第1のデータフレームのフレームタイプが高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームがネットワークデバイスの中に存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、ネットワークデバイスは、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整し、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なる。
選択的に、ネットワークデバイスが、それぞれ、優先度0乃至7に対応する8つの出口ポートキュー(優先度キュー)を有する場合に、ネットワークデバイスの中にある多くても7つのデータフレームは、データフレーム送信過程において送信のためにプリエンプトされる。例えば、優先度0のデータフレームの送信の過程において、ネットワークデバイスの中に、優先度1の送信されるべきデータフレームが存在する場合には、優先度1のデータフレームは、送信のために、優先度0のデータフレームをプリエンプトし、優先度1のデータフレームの送信の過程において、ネットワークデバイスの中に、優先度2の送信されるべきデータフレームが存在する場合には、優先度2のデータフレームは、送信のために、優先度1のデータフレームをプリエンプトする。同様にして、高い優先度のデータフレームは、送信のために、順次的に、低い優先度のデータフレームをプリエンプトし、したがって、ネットワークデバイスの中にある最大7つのデータフレームは、送信のためにプリエンプトされる。この出願のこの実施形態においては、例えば、先取り可能なフレームマーク1、先取り可能なフレームマーク2、…、及び先取り可能なフレームマーク7等の複数の異なる先取り可能なフレームマークは、フレームタイプが先取り可能なフレームである複数の異なるデータフレームを判別するのに使用されてもよい。
図2は、IEEE802.3brによって定義されているデータフレームのフレーム構造の概略的な図である。図2に示されているように、データフレームは、プリアンブル(preamble)、SMDフィールド、ロードフィールド、及び巡回冗長検査(cyclic redundancy check, CRC)フィールドを含む。図2に示されているデータフレームの中で、プリアンブルの長さは、7オクテット(7 octets)であり、SMDフィールドの長さは、1オクテット(1 octet)であり、ロードフィールドの長さは、60オクテット(60 octets)以上であり、CRCフィールドの長さは、4オクテット(4 octets)である。
図3は、IEEE802.3brによって定義されている他のデータフレームのフレーム構造の概略的な図である。図3に示されているように、データフレームは、プリアンブル、SMDフィールド、フラグカウント(FRAG_COUNT)フィールド、ロードフィールド、及びCRCフィールドを含む。図3に示されているデータフレームにおいて、プリアンブルの長さは、6オクテット(6 octets)であり、FRAG_COUNTフィールドの長さは、1オクテット(1 octet)であり、SMDフィールドの長さは、1オクテット(1 octet)であり、ロードフィールドの長さは、60オクテット(60 octets)以上であり、そして、CRCフィールドの長さは、4オクテット(4 octets)である。
IEEE802.3brによって定義されている規格において、図2には、高速フレーム、完全な先取り可能なフレーム、又は、送信のためにプリエンプトされる先取り可能なフレームの(以下では、"先取り可能なフレームの第1の断片"と称される)第1のデータ断片のフレーム構造が示され、図3には、送信のためにプリエンプトされる先取り可能なフレームの中の第1のデータ断片以外の(以下では、"先取り可能なフレームの以降の断片"と称される)データ断片のフレーム構造が示され、FRAG_COUNTフィールドは、データ断片が以前のデータ断片と同じデータフレームに属するということを示すのに使用される。送信のためにプリエンプトされるデータフレームの各々のデータ断片は、1つのデータサブフレームと考えられてもよい。受信端は、データフレームの中のSMDフィールドの値に基づいて、データフレームのフレームタイプが高速フレーム又は先取り可能なフレームであると決定し、FRAG_COUNTフィールドがそのデータフレームの中に存在するか否かに基づいて、そのデータフレームが以前に送信されているデータフレームと同じデータフレームに属しているか否かを決定する。
IEEE802.3brによって定義されている規格において、高速フレームマークは、SMD-Eであり、先取り可能なフレームの第1のデータ断片の(以下では、"第1の断片の先取り可能なフレームマーク"と称される)先取り可能なフレームマークは、SMD-S0、SMD-S1、SMD-S2、及びSMD-S3を含み、先取り可能なフレームの第1のデータ断片の先取り可能なフレームマーク以外の(以下では、"以降の先取り可能なフレームマーク"と称される)先取り可能なフレームマークは、SMD-C0、SMD-C1、SMD-C2、及びSMD-C3を含む。IEEE802.3br規格においては、フレームタイプマークSMD-E、SMD-S0乃至SMD-S3、SMD-C0乃至SMD-C3は、複数の異なる値を使用することによって個別に識別される。例えば、フレームタイプマークSMD-Eに対応する値は、0xD5である。他のフレームタイプマークの値については、その規格を参照すべきである。本明細書においては、それらの値は、1つずつは記載されていない。
ステップ102の第1の可能な実装において、高速フレームのフレーム構造は、依然として、IEEE802.3brによって定義されるとともに、図2に示されているフレーム構造である。一方で、高速フレームマークは、拡張される必要があり、拡張の後に得られる高速フレームマークの合計数は、ネットワークデバイスの中の優先度キューの数と同じである。
例えば、ネットワークデバイスは、8つの優先度キュー(出口ポートキュー)を含む。この出願のこの実施形態によって提供されるフレームプリエンプションメカニズムに基づいて、ネットワークデバイスの中にある多くても7つのデータフレームは、データフレーム送信プロセスにおける送信のためにプリエンプトされる、すなわち、データフレーム送信プロセスにおいて、高速フレームから先取り可能なフレームへと、ネットワークデバイスの中にある7つのデータフレームのフレームタイプを調整してもよい。したがって、この出願のこの実施形態においては、IEEE802.3br規格によって定義されている高速フレームマークSMD-Eに基づいて、高速フレームマークを拡張し、定義されている高速フレームマークSMD-EをSMD-E0として使用し、拡張の後に新たな高速フレームマークSMD-E1乃至SMD-E7を取得し、それによって、拡張の後に得られる高速フレームマークは、合計で8つの高速フレームマークSMD-E0乃至SMD-E7を含む。この出願のこの実施形態においては、データフレームのフレームタイプが高速フレームであるときに、そのデータフレームの高速フレームマークは、そのデータフレームの優先度に基づいて決定されてもよく、それによって、その優先度は、高速フレームマークとの間で1対1での対応関係にある。例えば、優先度7のデータフレームのフレームタイプが高速フレームである場合に、優先度7のデータフレームの高速フレームマークは、SMD-E7であり、優先度6のデータフレームのフレームタイプが高速フレームである場合に、優先度6のデータフレームの高速フレームマークは、SMD-E6である。もちろん、優先度7のデータフレームの高速フレームマークは、SMD-E0であり、優先度6のデータフレームの高速フレームマークは、SMD-E1等である。
さらに、この出願のこの実施形態は、先取り可能なフレームの以降の断片が属するデータフレームを判別する2つの方式を提供する。
方式1: 先取り可能なフレームの以降の断片のフレーム構造は、依然として、IEEE802.3brによって定義されているとともに、図3に示されているフレーム構造であり、以降の先取り可能なフレームマークは、拡張されている。拡張の後に得られる以降の先取り可能なフレームマークの合計数は、ネットワークデバイスの中の優先度キューの数の4倍である。先取り可能なフレームの以降の断片の中のFRAG-COUNTフィールドは、依然として、IEEE802.3brの定義に従い、拡張されない場合がある。FRAG-COUNTフィールドは、1サイクルとして4つの以降の断片を使用することによって循環的に使用される。すなわち、データフレームの第1の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT0であり、その値は、0xE6であり、データフレームの第2の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT1であり、その値は、0x4Cであり、データフレームの第3の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT2であり、その値は、0x7Fであり、データフレームの第4の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT3であり、その値は0xB3であり、データフレームの第5の先取り可能なフレームの以降の断片のFRAG-COUNTフィールドは、FRAG-COUNT0であり、その値は、0xE6であり、以下同様である。
同様に、例えば、ネットワークデバイスは、8つの優先度キューを含む。この出願のこの実施形態においては、IEEE802.3brによって定義されている以降の先取り可能なフレームマークSMD-C0乃至SMD-C3は、拡張されて、SMD-C0乃至SMD-C31となってもよく、以降の先取り可能なフレームマークSMD-C0乃至SMD-C31の値は、互いに異なる。各々の4つの以降の先取り可能なフレームマークは、1つのグループとなる。例えば、SMD-C0乃至SMD-C3は、1つのグループとなり、SMD-C4乃至SMD-C7は、1つのグループとなり、SMD-C24乃至SMD-C27は、1つのグループとなる。以降の先取り可能なフレームマークの各々のグループは、1つの高速フレームマークに対応する。例えば、SMD-E0は、SMD-C0乃至SMD-C3に対応し、SMD-E1は、SMD-C4乃至SMD-C7に対応し、…、SMD-E7は、SMD-C28乃至SMD-C31に対応する。もちろん、SMD-C0乃至SMD-C31は、他の方式によってグループ化されてもよい。このことは、この出願においては限定されない。例えば、フレームタイプマークが高速フレームマークSMD-E0であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C0乃至SMD-C3となってもよく、対応するFRAG-COUNTフィールドは、依然として、IEEE802.3brによる定義にしたがい、(値が0xE6である)FRAG-COUNT0乃至(値が0xB3である)FRAG-COUNT3を含み、フレームタイプマークが高速フレームマークSMD-E1であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C4乃至SMD-C7となってもよく、対応するFRAG-COUNTフィールドは、依然として、IEEE802.3brによる定義にしたがい、同様にして、(値が0xE6である)FRAG-COUNT0乃至(値が0xB3である)FRAG-COUNT3となり、フレームタイプマークがSMD-E6であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C24乃至SMD-C27であってもよく、フレームタイプマークが高速フレームマークSMD-E7であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C28乃至SMD-C31となってもよい。もちろん、代替的に、フレームタイプマークが高速フレームマークSMD-E7であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C0乃至SMD-C3となってもよく、対応するFRAG-COUNTフィールドは、依然として、IEEE802.3brによる定義にしたがい、同様にして、(値が0xE6である)FRAG-COUNT0乃至(値が0xB3である)FRAG-COUNT3となり、フレームタイプマークがSMD-E6であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C4乃至SMD-C7となってもよく、フレームタイプマークがSMD-E0であるデータフレームを先取り可能なフレームへと調整する場合に、データフレームの先取り可能なフレームの以降の断片のフレームタイプマークは、以降の先取り可能なフレームマークSMD-C28乃至SMD-C31となってもよい。
データフレームを受信した後に、受信端は、フレーム構造に基づいて、データフレームが送信のためにプリエンプトされるデータフレームのデータ断片であるか否かを決定してもよい。データフレームが、送信のためにプリエンプトされるデータフレームのデータ断片である場合に、受信端は、データフレームの中のSMDフィールドの値に基づいて、データ断片と同じデータフレームに属しているある1つのあらかじめ受信しているデータ断片又は複数のあらかじめ受信しているデータ断片を決定してもよい。
方式2: 例えば、図4に示されているフレーム構造等の先取り可能なフレームの以降の断片の新たなフレーム構造が定義される。図4に示されている先取り可能なフレームの以降の断片のフレーム構造の場合には、IEEE802.3brによって定義されている先取り可能なフレームの以降の断片のフレーム構造に基づいて、指示フィールドを追加する。その指示フィールドは、そのデータ断片と同じデータフレームに属するある1つのあらかじめ送信されているデータ断片又は複数のあらかじめ送信されているデータ断片を示すのに使用される。図4に示されているように、先取り可能なフレームの以降の断片は、プリアンブル、SMDフィールド、FRAG_COUNTフィールド、指示フィールド、ロードフィールド、及びCRCフィールドを含む。指示フィールドの値は、ターゲットデータ断片の中のSMDフィールドの値と同じであってもよく、そのターゲットデータ断片は、先取り可能なフレームの以降の断片と同じデータフレームに属する最初のデータ断片である。例えば、送信のためにプリエンプトされる第1のデータフレームの最初のデータ断片の中のSMDフィールドの値が0xD5である場合に、その第1のデータフレームの2番目のデータ断片及び以降のデータ断片の中の指示フィールドの値は、双方とも0xD5である。この選択的な実装において、図4に示されている先取り可能なフレームの以降の断片におけるSMDフィールドの値の設定方式については、依然として、IEEE802.3brによって定義されているSMD-C0乃至SMD-C3を参照すべきである。この出願のこの実施形態においては、詳細は説明されない。
ステップ102の第2の可能な実装は、第1のデータフレームのフレームタイプが、高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在しない場合に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するということを含む。
第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在する場合に、ネットワークデバイスは、第1のデータフレームのフレームタイプを調整しない。第1のデータフレームのフレームタイプが調整されないということは、第1のデータフレームの送信が継続され、第2のデータフレームは、送信のために第1のデータフレームをプリエンプトすることが不可能であるということを意味する。この実装は、既存の送信方式との間で互換性を有して、ネットワークデバイスの中の1つの先取り可能なフレームのみが送信のためにプリエンプトされるということを保証することが可能である。
ステップ102の第2の可能な実装において、IEEE802.3brによって定義されているフレーム構造及びフレームタイプマークは、依然として、拡張されることなく使用されてもよい。すなわち、先取り可能なフレームの最初の断片のフレーム構造が図2に示され、先取り可能なフレームの以降の断片のフレーム構造が図3に示されている。ネットワークデバイスは、そのネットワークデバイスの中の送信されるべきデータフレームのフレーム構造を検出することによって、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、そのネットワークデバイスの中に存在するか否かを決定してもよい。
例えば、図5は、この出願のある1つの実施形態にしたがったデータフレーム先取り可能な送信の概略的な図である。図5に示されているように、ネットワークデバイスが、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームを取得する場合に、そのネットワークデバイスは、その第1のデータフレームの送信を中止し、そして、その第2のデータフレームの送信を開始し、そのネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。
選択的に、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在する場合に、ステップ102を参照すると、データフレームの先取り可能な送信方式は、2つの可能な実装を含む。
図6及び図7は、先取り可能な送信がステップ102の第1の可能な実装を使用することによって実行される概略的な図である。図6及び図7に示されているように、ネットワークデバイスが、第3のデータフレームの送信の過程において、優先度が第3のデータフレームの優先度よりも高い第1のデータフレームを取得する場合に、そのネットワークデバイスは、その第3のデータフレームの送信を中止し、そして、第1のデータフレームの送信を開始し、ネットワークデバイスが、さらに、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームを取得する場合に、そのネットワークデバイスは、その第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始し、そのネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続し、そして、そのネットワークデバイスは、第1のデータフレームの送信が終了した後に、第3のデータフレームの送信を継続する。図6は、方式1におけるデータフレームの先取り可能な送信を示す。図7は、方式2におけるデータフレームの先取り可能な送信を示す。図5乃至図7の矢印方向は、すべて、データフレームの送信方向を示す。
図6及び図7において、第1のデータフレームの最初のデータ断片、第2のデータフレーム、及び第3のデータフレームの最初のデータ断片のフレーム構造は、すべて、図2に示されている。図示を容易にするために、各々のデータフレームの部分的なフレーム構造のみが、図6及び図7に示されている。例えば、第3のデータフレームの優先度は3であり、第1のデータフレームの優先度は5であり、第2のデータフレームの優先度は6であり、そして、第3のデータフレームの初期のフレームタイプは、高速フレームであると仮定する。図6及び図7を参照すると、第3のデータフレームの最初のデータ断片の中のSMDフィールドの値は、SMD-E3に対応する(SMD-E3によって表される)値であり、第1のデータフレームの最初のデータ断片の中のSMDフィールドの値は、SMD-E5に対応する値であり、第2のデータフレームの中のSMDフィールドの値は、SMD-E6に対応する値である。
図6において、以降の先取り可能なフレームマークは、先取り可能なフレームの以降の断片が属するデータフレームを判別するために拡張される。図6における第1のデータフレームの2番目のデータ断片及び第3のデータフレームの2番目のデータ断片のフレーム構造は、双方とも、図3に示されている。図6を参照すると、第1のデータフレームの2番目のデータ断片の中のSMDフィールドの値は、SMD-C20に対応する値であり、第3のデータフレームの2番目のデータ断片の中のSMDフィールドの値は、SMD-C12に対応する値である。FRAG_COUNTフィールドの値は、IEEE802.3brによって定義されている規格における設定方式によって設定される。この出願のこの実施形態においては、詳細は説明されない。先取り可能なフレームマークと高速フレームマークとの間の対応関係に基づいて、以降の先取り可能なフレームマークSMD-C20は、高速フレームマークSMD-E5に対応し、以降の先取り可能なフレームマークSMD-C12は、高速フレームマークSMD-E3に対応するということを理解することが可能である。したがって、以降の先取り可能なフレームマークに基づいて、先取り可能なフレームの以降の断片が属するデータフレームを知ることが可能である。受信端は、SMDフィールドの値がSMD-E5であるデータ断片、及び、SMDフィールドの値がSMD-C20であるデータ断片(さらに、SMD-C21等が存在する場合がある)を組み合わせて、第1のデータフレームを取得する。受信端は、SMDフィールドの値がSMD-E3であるデータ断片、及び、SMDフィールドの値がSMD-C12であるデータ断片(さらに、SMD-C13等が存在する場合がある)を組み合わせて、第3のデータフレームを取得する。
図7において、先取り可能なフレームの以降の断片が属するデータフレームを判別するために、その先取り可能なフレームの以降の断片のフレーム構造に指示フィールドを追加する。図7における第1のデータフレームの2番目のデータ断片及び第3のデータフレームの2番目のデータ断片のフレーム構造は、双方とも、図4に示されている。図7を参照すると、第1のデータフレームの2番目のデータ断片において、SMDフィールドの値は、SMD-C0に対応する値であり、指示フィールドの値は、(第1のデータフレームの最初のデータ断片の中のSMDフィールドの値と同じである)SMD-E5に対応する値であり、第3のデータフレームの2番目のデータ断片において、SMDフィールドの値は、SMD-C0に対応する値であり、指示フィールドの値は、(第3のデータフレームの最初のデータ断片の中のSMDフィールドの値と同じである)SMD-E3に対応する値である。FRAG_COUNTフィールドの値は、IEEE802.3brによって定義されている規格における設定方式によって設定される。この出願のこの実施形態においては、詳細は説明されない。指示フィールドの値に基づいて、先取り可能なフレームの以降の断片が属するデータフレームを直接的に知ることが可能であるということを理解することが可能である。受信端は、SMDフィールドの値がSMD-E5であるデータ断片、及び、指示フィールドの値がSMD-E5であるデータ断片のすべてを組み合わせて、第1のデータフレームを取得する。受信端は、SMDフィールドの値がSMD-E3であるデータ断片、及び、指示フィールドの値がSMD-E3であるデータ断片のすべてを組み合わせて、第3のデータフレームを取得する。
データフレームの先取り可能な送信方式が、ステップ102の第2の可能な実装であるときに、ネットワークデバイスが、第3のデータフレームの送信の過程において、優先度が第3のデータフレームの優先度よりもより高い第1のデータフレームを取得する場合には、ネットワークデバイスは、第3のデータフレームの送信を中止し、そして、第1のデータフレームの送信を開始し、ネットワークデバイスが、さらに、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームを取得する場合には、ネットワークデバイスの中には、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在するという理由で、送信のために、第1のデータフレームをプリエンプトすることが不可能であるため、ネットワークデバイスは、第1のデータフレームの送信を継続し、ネットワークデバイスは、第1のデータフレームの送信が終了した後に、第2のデータフレームを送信し、そして、ネットワークデバイスは、第2のデータフレームの送信が終了した後に、第3のデータフレームの送信を継続する。
選択的に、第2のデータフレームの送信が終了した後に、ネットワークデバイスの中に、送信されるべき第4のデータフレームが存在し、且つ、その第4のデータフレームの優先度が、第1のデータフレームの優先度よりもより高い場合には、そのネットワークデバイスは、第4のデータフレームのフレームタイプが高速フレームであると決定し、その第4のデータフレームを送信し、ネットワークデバイスは、第4のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。第4のデータフレームの優先度は、第2のデータフレームの優先度以下である。
結論として、この出願のこの実施形態によって提供されるデータ送信方法によれば、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームが存在するときに、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定し、第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプは、動的に調整され、それによって、ネットワークデバイスにおいては、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプを固定のタイプに分類する従来の方式と比較して、データフレームのフレームタイプを柔軟に決定して、マルチレベルのプリエンプションを実装することが可能であり、それによって、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
図8は、この出願のある1つの実施形態にしたがった他のデータ送信方法のフローチャートである。図8に示されているように、その方法は、以下のステップを含む。
ステップ801: 第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、第1のデータフレームのフレームタイプが、第2のデータフレームのフレームタイプと同じであり、且つ、第2のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、ネットワークデバイスは、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定する。
第1のデータフレームの関連する説明については、上記のステップ101を参照すべきである。本明細書においては、詳細は、この出願のこの実施形態の中で繰り返しては説明されない。
この出願のこの実施形態においては、出口ポートキューのためにキュー識別子を設定することが可能であり、キュー識別子は、出口ポートキューのキュータイプを示すのに使用され、キュータイプは、高速キュー又は先取り可能なキューを含む。例えば、優先度0乃至3の出口ポートキューのキュー識別子は、先取り可能な識別子であり、それらの先取り可能な識別子は、優先度0乃至3の出口ポートキューが先取り可能なキューであるということを示し、優先度4乃至7の出口ポートキューのキュー識別子は、高速識別子であり、それらの高速識別子は、優先度4乃至7の出口ポートキューが高速キューであるということを示す。高速キューの中のデータフレームのフレームタイプは、高速フレームであり、先取り可能なキューの中のデータフレームのフレームタイプは、先取り可能なフレームである。先取り可能な識別子及び高速識別子は、数字又は文字等であってもよい。例えば、先取り可能な識別子は、1であり、高速識別子は、0である。他の例では、先取り可能な識別子は、Pであり、高速識別子は、Eである。
データフレームを送信する前に、ネットワークデバイスは、データフレームの優先度に基づいて、対応する出口ポートキューの中に、送信されるべきデータフレームをバッファリングする。各々の出口ポートキューの中のデータフレームのフレームタイプが決定されるので、ネットワークデバイスが第1のデータフレームを送信する過程において、データフレームの送信を制御するモジュール又はチップは、第1のデータフレームが属する出口ポートキューと同じキュー識別子を有するとともに優先度が第1のデータフレームの優先度よりもより高い出口ポートキューの中に、送信されるべき第2のデータフレームが存在するか否かを積極的に検出してもよい。例えば、第1のデータフレームのフレームタイプが高速フレームであり、且つ、第1のデータフレームの優先度が6である場合に、第1のデータフレームの送信の過程において、ネットワークデバイスは、送信されるべき第2のデータフレームが優先度7の高速キューの中に存在するか否かを検出する。他の例では、第1のデータフレームのフレームタイプが先取り可能なフレームであり、且つ、第1のデータフレームの優先度が1である場合に、第1のデータフレームの送信の過程において、ネットワークデバイスは、送信されるべき第2のデータフレームが優先度2及び優先度3の先取り可能なキューの中に存在するか否かを検出する。
もちろん、代替的に、出口ポートキューは、モジュール又はチップに指標を送信してもよく、そのモジュール又はチップは、ネットワークデバイスの中のデータフレーム送信を制御し、その指標は、出口ポートキューのフレームタイプ及び優先度を含んで、送信されるべき第2のデータフレームが存在するということをデータフレーム送信を制御するモジュール又はチップに通知し、第2のデータフレームのフレームタイプは、送信される第1のデータフレームのフレームタイプと同じであり、第2のデータフレームの優先度は、第1のデータフレームの優先度よりもより高い。
ネットワークデバイスが、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定することは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームである場合に、ネットワークデバイスが、第2のデータフレームのフレームタイプに対していかなる操作も実行することなく、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することを含む。
選択的に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することは、第1のデータフレームのフレームタイプが高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、ネットワークデバイスが、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整し、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なることを含む。このプロセスについては、上記のステップ102の第1の可能な実装における詳細な説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
代替的に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することは、第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在しない場合に、ネットワークデバイスが、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整することを含む。第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが、ネットワークデバイスの中に存在する場合に、ネットワークデバイスは、第1のデータフレームのフレームタイプを調整しない。このプロセスの説明については、上記のステップ102の第2の可能な実装における説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
ネットワークデバイスが、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定することは、代替的に、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が先取り可能なフレームである場合に、ネットワークデバイスが、第1のデータフレームのフレームタイプに対していかなる操作も実行することなく、高速フレームへと第2のデータフレームのフレームタイプを調整することを含む。
ステップ802: ネットワークデバイスは、第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始する。
このステップの具体的な詳細については、上記のステップ103における関連する説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
ステップ803: ネットワークデバイスは、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する。
このステップの具体的な詳細については、上記のステップ104における関連する説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
結論として、この出願のこの実施形態によって提供されるデータ送信方法によれば、第1のデータフレームの送信の過程において、フレームタイプが第1のデータフレームのフレームタイプと同じであり、且つ、優先度が第1のデータフレームの優先度よりもより高い送信されるべき第2のデータフレームが、ネットワークデバイスの中に存在する場合に、そのネットワークデバイスは、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプ又は出口ポートキューの中のデータフレームのフレームタイプを動的に調整し、それによって、ネットワークデバイスにおいて、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、同じフレームタイプのデータフレームにおいて、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
この出願のこの実施形態においては、同じ発明概念に基づいて、図1に示されているデータ送信方法及び図8に示されているデータ送信方法を提案する。上記のデータ送信方法の各々における一連のステップは、適切に調整されてもよく、或いは、それに対応して、状況に基づいて、ステップを追加し又は削除してもよい。この出願によって開示されている技術的範囲の中で当業者が容易に考え出すことが可能であるいずれかの変更は、この出願の保護の範囲に属するものとする。
図9は、この出願のある1つの実施形態にしたがったデータ送信装置の構成の概略的な図である。図9に示されているように、装置90は、
第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在する場合に、第2のデータフレームのフレームタイプが高速フレームであると決定するように構成される決定モジュール901であって、第2のデータフレームの優先度は、第1のデータフレームの優先度よりも高い、決定モジュール901と、
第1のデータフレームのフレームタイプが高速フレームである場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するように構成される調整モジュール902と、
第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始するように構成される送信モジュール903と、を含む。
選択的に、調整モジュールは、第1のデータフレームのフレームタイプが高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整するように構成され、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なる。具体的な詳細については、図1に示されているデータ送信方法における詳細な説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
選択的に、調整モジュールは、第1のデータフレームのフレームタイプが高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するように構成される。
選択的に、送信モジュールは、さらに、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続するように構成される。選択的に、送信モジュールは、特に、第2のデータフレームの送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、第4のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、第4のデータフレームのフレームタイプが高速フレームであると決定して、第4のデータフレームを送信し、そして、第4のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する、ように構成される。
選択的に、装置90は、バッファモジュールをさらに含み、そのバッファモジュールは、第1のデータフレームを送信する前に、第1のデータフレームの優先度に基づいて、例えば、第1の出口ポートキュー等の対応する出口ポートキューの中に第1のデータフレームをバッファリングするように構成され、さらに、送信されるべき第2のデータフレームの優先度に基づいて、例えば、第2の出口ポートキュー等の対応する出口ポートキューの中に第2のデータフレームをバッファリングするように構成される。
選択的に、装置90は、有効化/無効化制御モジュールをさらに含み、その有効化/無効化制御モジュールは、装置90がこの出願の複数の実施形態によって提供されるデータ送信方法を有効化するか否かを制御するように構成される。装置90が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を有効化するときに、装置90は、図1に示されているデータ送信方法を実行する。装置90が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を無効化するときに、装置90は、従来のフレームプリエンプションメカニズムを実行する。
本明細書においては説明されていない詳細については、図1に示されているデータ送信方法の詳細な説明を参照すべきである。
結論として、この出願のこの実施形態によって提供されるデータ送信装置によれば、決定モジュールを使用することによって、第1のデータフレームの送信の過程において、優先度が第1のデータフレームの優先度よりもより高い第2のデータフレームが存在するということを決定するときに、ネットワークデバイスは、第2のデータフレームのフレームタイプが高速フレームであると決定し、第1のデータフレームのフレームタイプが高速フレームである場合に、ネットワークデバイスは、調整モジュールを使用することによって、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプは、動的に調整され、それによって、ネットワークデバイスにおいては、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。データフレームのフレームタイプを固定のタイプに分類する従来の方式と比較して、データフレームのフレームタイプを柔軟に決定して、マルチレベルのプリエンプションを実装することが可能であり、それによって、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
図10は、この出願のある1つの実施形態にしたがった他のデータ送信装置の構成の概略的な図である。図10に示されているように、装置100は、
第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、第1のデータフレームのフレームタイプが、第2のデータフレームのフレームタイプと同じであり、且つ、第2のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定するように構成される決定モジュール1001と、
第1のデータフレームの送信を中止し、そして、第2のデータフレームの送信を開始するように構成される送信モジュール1002と、を含む。
選択的に、決定モジュールは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するか、又は、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が先取り可能なフレームである場合に、高速フレームへと第2のデータフレームのフレームタイプを調整する、ように構成される。
選択的に、決定モジュールは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームであり、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと第1のデータフレームのフレームタイプマークを調整するように構成され、第2の先取り可能なフレームマークは、第1の先取り可能なフレームマークとは異なる。先取り可能なフレームマークの具体的な実装の詳細については、図1に示されているデータ送信方法の詳細な説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
選択的に、決定モジュールは、第1のデータフレームのフレームタイプ及び第2のデータフレームのフレームタイプの双方が高速フレームであり、且つ、送信のために第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと第1のデータフレームのフレームタイプを調整するように構成される。
選択的に、送信モジュールは、さらに、第2のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続するように構成される。
選択的に、送信モジュールは、特に、
第2のデータフレームの送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、第4のデータフレームの優先度が、第1のデータフレームの優先度よりも高い場合に、第4のデータフレームを送信し、そして、第4のデータフレームの送信が終了した後に、第1のデータフレームの送信を継続する、ように構成される。
選択的に、装置100は、バッファモジュールをさらに含み、そのバッファモジュールは、第1のデータフレームを送信する前に、第1のデータフレームの優先度に基づいて、例えば、第1の出口ポートキュー等の対応する出口ポートキューの中に第1のデータフレームをバッファリングするように構成され、さらに、送信されるべき第2のデータフレームの優先度に基づいて、例えば、第2の出口ポートキュー等の対応する出口ポートキューの中に第2のデータフレームをバッファリングするように構成される。
選択的に、装置100は、有効化/無効化制御モジュールをさらに含み、その有効化/無効化制御モジュールは、装置100がこの出願の複数の実施形態によって提供されるデータ送信方法を有効化するか否かを制御するように構成される。装置100が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を有効化するときに、装置100は、図8に示されているデータ送信方法を実行する。装置100が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を無効化するときに、装置100は、従来のフレームプリエンプションメカニズムを実行する。
本明細書においては説明されていない詳細については、図1及び図8に示されているデータ送信方法の詳細な説明を参照すべきである。
結論として、この出願のこの実施形態によって提供されるデータ送信装置によれば、ネットワークデバイスが第1のデータフレームを送信する過程において、フレームタイプが第1のデータフレームのフレームタイプと同じであり、且つ、優先度が第1のデータフレームの優先度よりもより高い送信されるべき第2のデータフレームが、存在する場合に、そのネットワークデバイスは、決定モジュールを使用することによって、第1のデータフレームのフレームタイプが先取り可能なフレームであると決定するとともに、第2のデータフレームのフレームタイプが高速フレームであると決定する。この出願のこの実施形態においては、現在送信されているデータフレームのフレームタイプ又は出口ポートキューの中のデータフレームのフレームタイプを動的に調整し、それによって、ネットワークデバイスにおいて、高い優先度のデータフレームのフレームタイプは、高速フレームとなり、低い優先度のデータフレームのフレームタイプは、先取り可能なフレームとなる。したがって、高い優先度のデータフレームは、低い優先度のデータフレームを柔軟にプリエンプトし、それにより、データ送信の際の柔軟性を改善する。
上記の実施形態における装置については、その方法に関連する実施形態において、各々のモジュールによって操作を実行する具体的な方法を詳細に説明しており、本明細書においては、詳細は繰り返しては説明されない。
図11は、この出願のある1つの実施形態にしたがったデータ送信装置のブロック図である。データ送信装置は、スイッチ又はルータ等のネットワークデバイスであってもよい。図11に示されているように、装置110は、処理チップ1101を含む。図11を参照すると、装置110は、メモリ1102、通信バス1103、及び通信インターフェイス1104をさらに含んでもよい。処理チップ1101、メモリ1102、及び通信インターフェイス1104は、通信バス1103を使用することによって互いに接続される。
処理チップ1101は、プログラム可能な論理回路及び/又はプログラム命令を含む。そのプログラム可能な論理回路及び/又はプログラム命令を実行するときに、処理チップ1101は、図1又は図8に示されているデータ送信方法を実装する。
図12は、この出願のある1つの実施形態にしたがった処理チップ1101の構成の概略的な図である。図12に示されているように、処理チップ1101は、処理ユニット1101A及びスケジューリングユニット1101Bを含む。
処理ユニット1101Aは、中央処理ユニット(central processing unit, CPU)、ネットワークプロセッサ(network processor, NP)、又はCPU及びNPの組み合わせであってもよい。
選択的に、メモリ1102は、コンピュータプログラムを格納するように構成され、そのコンピュータプログラムは、プログラム命令を含む。処理ユニット1101Aは、メモリ1102の中に格納されているコンピュータプログラムを呼び出し、そして、コンピュータプログラムの中のプログラム命令を実行して、送信されるべきデータフレームの優先度に基づいて、対応する出口ポートキューの中に、その送信されるべきデータフレームをバッファリングする。この出願においては、その出口ポートキューの中の送信されるべきデータフレームは、MACカプセル化が実行されていないパケットとして理解されてもよい。
スケジューリングユニット1101Bは、特定用途向け集積回路(Application Specific Integrated Circuits, ASIC)、プログラム可能な論理デバイス(programmable logic device, PLD)、又はそれらの組み合わせであってもよい。PLDは、複合的なプログラム可能な論理デバイス(complex programmable logic device, CPLD)、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)、汎用アレイ論理(generic array logic, GAL)、又はそれらのいずれかの組み合わせであってもよい。スケジューリングユニット1101Bは、処理チップの中のプログラム可能な論理回路を実行して、出口ポートキューの中の送信されるべきデータフレームをスケジューリングし、そして、図1又は図8におけるデータ送信方法を実装する。具体的には、スケジューリングユニットは、高い優先度のデータフレームが、送信のために低い優先度のデータフレームをプリエンプトする図1又は図8における方法にしたがって、出口ポートキューの中のデータフレームをスケジューリングし、そして、データフレームのフレームタイプを調整し又は決定する、ように構成される。その次に、フレームタイプに対応する値は、MACカプセル化の際に、SMDフィールドの中に設定される。最後に、フレームタイプ(SMDフィールドの値)を搬送するデータフレームは、物理層(PHY)を通過した後に、通信インターフェイス1104に到達し、その通信インターフェイス1104から受信端まで送信される。受信端は、データフレームの中のSMDフィールドの値に基づいて、受信したデータフレームが高速フレームであるか又は送信のためにプリエンプトされる先取り可能なフレームであるかを決定してもよい。
さらに、図12を参照すると、処理チップ1101は、記憶ユニット1101Cをさらに含み、記憶ユニット1101Cは、出口ポートキューのために設定される記憶スペースを含んで、送信されるべきデータフレームをバッファリングする。選択的に、記憶ユニット1101Cは、コンピュータプログラム命令を格納するように構成されてもよい。処理ユニット1101Aは、記憶ユニット1101Cの中に格納されているコンピュータプログラム命令を呼び出して、送信されるべきデータフレームの優先度に基づいて、対応する出口ポートキューの中にその送信されるべきデータフレームをバッファリングする。
選択的に、メモリ1102は、送信されるべきデータフレームをバッファリングするように構成されてもよい。
通信インターフェイス1104は、有線通信インターフェイスを含む。その有線通信インターフェイスは、イーサネットインターフェイスを含む。そのイーサネットインターフェイスは、光インターフェイス、電気的インターフェイス、又はそれらの組み合わせであってもよい。
さらに、図13は、この出願のある1つの実施形態にしたがったスケジューリングユニット1101Bの構成の概略的な図である。図13に示されているように、スケジューリングユニット1101Bは、データ出口スケジューリングロジック1101B-1及びMACカプセル化ロジック1101B-2を含む。
データ出口スケジューリングロジック1101B-1は、出口ポートキューの中のその送信されるべきデータフレームをスケジューリングし、そして、その送信されるべきデータフレームに対応するフレームタイプ指標をMACカプセル化ロジックに提供する、ように構成され、フレームタイプ指標は、送信されるべきデータフレームのフレームタイプを示すのに使用される。MACカプセル化論理1101B-2は、データ出口スケジューリング論理1101B-1が提供する送信されるべきデータフレーム及びその送信されるべきデータフレームに対応するフレームタイプ指標に基づいて、その送信されるべきデータフレームに対してMACカプセル化を実行するように構成される。
ある1つの可能な実装において、送信されるべきデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、データフレームに対応するフレームタイプ指標をMACカプセル化ロジック1101B-2に提供する。フレームタイプ指標は、パケットの始端(start of packet, SOP)、パケットの終端(end of packet, EOP)、MACマージの始端(start of MAC-merge, SOM)、MACマージの終端(end of MAC-merge, EOM)を含む。SOPが1であることは、パケットヘッダを示し、EOPが1であることは、パケットトレーラを示し、SOP及びEOPの双方が0であることは、パケットの中間断片を示す。SOMが1であることは、先取り可能なフレームの以降の断片の最初を示し、EOMが1であることは、先取り可能なフレームの以降の断片の最後を示し、SOM及びEOMの双方が0であることは、先取り可能なフレームの以降の断片の中間を示す。例えば、フレームタイプが高速フレームである第1のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、その次に、SOP値が0であるとともに、EOPが0であるという指標を送信し、そして、その次に、SOP値が0であるとともに、EOP値が1であるという指標を送信する。このようにして、第1のデータフレームは、送信のためにプリエンプトされることなく、一度に送信され、第1のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-E0である。他の例として、フレームタイプが先取り可能なフレームである第1のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、第1のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-S0となる。その次に、データ出口スケジューリングロジック1101B-1は、第2のデータフレームをスケジューリングして、送信のために第1のデータフレームをプリエンプトする。したがって、第2のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、第2のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-E1となる。その次に、データ出口スケジューリングロジック1101B-1は、第3のデータフレームをスケジューリングして、送信のために第2のデータフレームをプリエンプトする。したがって、第3のデータフレームをMACカプセル化ロジック1101B-2に提供するときに、データ出口スケジューリングロジック1101B-1は、MACカプセル化ロジック1101B-2へと、SOP値が1であるとともに、EOPが0であるという指標を送信し、第3のデータフレームのためにMACカプセル化ロジック1101B-2がカプセル化するSMD値は、SMD-E2となる。その次に、データ出口スケジューリングロジック1101B-1は、第3のデータフレームの送信を継続し、SOP値が0であるとともに、EOPが0であるという指標を送信し、そして、その次に、SOP値が0であるとともに、EOP値が1であるという指標を送信し、MACカプセル化ロジック1101B-2は、第3のデータフレームの以降の断片のすべてについて、SMD-E2をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、第2のデータフレームの送信を継続し、そして、SOP値が0であり、EOPが0であり、SOMが1であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第2のデータフレームの先取り可能なフレームの以降の断片について、SMD-C4をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、SOP値が0であり、EOPが0であり、SOMが0であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第2のデータフレームの先取り可能なフレームの以降の断片について、SMD-C5をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、SOP値が0であり、EOPが1であり、SOMが0であり、且つ、EOMが1であるという指標を送信し、MACカプセル化ロジック1101B-2は、第2のデータフレームの先取り可能なフレームの以降の断片について、SMD-C6をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、第1のデータフレームの送信を継続し、そして、SOP値が0であり、EOPが0であり、SOMが1であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第1のデータフレームの先取り可能なフレームの以降の断片について、SMD-C0をカプセル化する。その次に、データ出力スケジューリングロジック1101B-1は、SOP値が0であり、EOPが0であり、SOMが0であり、且つ、EOMが0であるという指標を送信し、MACカプセル化ロジック1101B-2は、第1のデータフレームの先取り可能なフレームの以降の断片について、SMD-C1をカプセル化する。その次に、データ出口スケジューリングロジック1101B-1は、SOP値が0であり、EOPが1であり、SOMが0であり、且つ、EOMが1であるという指標を送信し、MACカプセル化ロジック1101B-2は、第1のデータフレームの先取り可能なフレームの以降の断片について、SMD-C2をカプセル化する。SOP値が1であるという以前の指標を受信した後に、MACカプセル化ロジック1101B-2が、EOP値が1であるといういかなる指標も受信せず、SOP値が1であるという指標をさらに受信したということを発見する場合に、MACカプセル化ロジック1101B-2は、先取り可能な送信が生起しているということを知ることが可能である。加えて、MACカプセル化ロジック1101B-2が、SOP値が1であるデータフレームを受信するたびごとに、MACカプセル化ロジック1101B-2は、SMD-S0又はSMD-E0、SMD-E1、SMD-E2、…、及びSMD-E7のうちの1つを順に選択し、そして、そのデータフレームのためのマークをカプセル化する。SOP値が1である第1のデータフレームを受信するときに、MACカプセル化ロジック1101B-2は、データフレームのフレームタイプに基づいて、そのデータフレームについて、SMD-S0又はSMD-E0をカプセル化する。
他の可能な実装において、MACカプセル化ロジック1101B-2を使用してデータ出口スケジューリングロジック1101B-1が提供するデータフレームは、フレームタイプ指標を搬送する。高速フレームのフレームタイプ指標は、SOP及びEOPを含む。同様に、SOPが1であることは、パケットヘッダを示し、EOPが1であることは、パケットトレーラを示し、SOP及びEOPの双方が0であることは、パケットの中間断片を示す。先取り可能なフレームのフレームタイプ指標は、SOP、EOP、SOM、及びEOMを含む。SOMが1であることは、先取り可能なフレームの以降の断片の最初を示し、EOMが1であることは、先取り可能なフレームの以降の断片の最後を示し、SOM及びEOMの双方が0であることは、先取り可能なフレームの以降の断片の中間を示す。さらに、フレームタイプ指標は、優先度情報をさらに含んでもよく、それによって、MACカプセル化ロジック1101B-2は、複数の中間にある以降の断片を判別することが可能である。MACカプセル化ロジック1101B-2は、データフレームの中で搬送されるフレームタイプ指標に基づいて、MACカプセル化ヘッダの中のSMDフィールドの値を設定して、対応するフレームタイプのデータフレームを取得してもよい。
複数の通信インターフェイス1104が存在してもよく、通信インターフェイス1104は、他のデバイスとの間で通信するように構成される。例えば、この出願のこの実施形態において、通信インターフェイス1104は、データフレームを受信し及び/又はデータフレームを送信するように構成されてもよい。
選択的に、処理チップ1101は、レジスタをさらに含み、レジスタは、有効化/無効化フラグビットを含む。有効化/無効化フラグビットが(例えば、1等の)第1の値に設定されているときに、その第1の値は、装置110が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を有効化するということを示す。有効化/無効化フラッグビットが(例えば、0等の)第2の値に設定されているときに、その第2の値は、装置110が、この出願のそれらの複数の実施形態によって提供されるデータ送信方法を無効化するということを示す。この場合には、装置110は、従来のフレームプリエンプションメカニズムを実行する。
有効化/無効化フラッグビットが装置110の中で設定されるときに、処理チップ1101は、図1又は図8に示されているデータ送信方法を実装するためのプログラム可能な論理回路及び/又はプログラム命令を含み、従来のフレームプリエンプションメカニズムを実装するためのプログラム可能な論理回路及び/又はプログラム命令をさらに含む。
通信インターフェイス1104は、代替的に、無線通信インターフェイスを含んでもよい。無線通信インターフェイスは、無線ローカルエリアネットワーク(wireless local area network, WLAN)インターフェイス、セルラーネットワーク通信インターフェイス、又はそれらの組み合わせ等であってもよい。
選択的に、さらに、図11を参照すると、装置110は、この出願によって提供されるデータ送信方法以外のサービス又は機能を実装するように構成されるプロセッサ1105をさらに含んでもよい。そのプロセッサは、単一のコア又は複数のコアを有してもよい。
この出願のある1つの実施形態は、さらに、コンピュータ記憶媒体を提供する。そのコンピュータ記憶媒体は、複数の命令を格納する。それらの複数の命令がプロセッサによって実行されるときに、図1又は図8に示されているデータ送信方法が実装される。
当業者は、ハードウェア又は関連するハードウェアに命令するプログラムによって、複数の実施形態の複数のステップのうちのすべて又は一部を実装することが可能であるということを理解することが可能である。プログラムは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよい。記憶媒体は、読み出し専用メモリ、磁気ディスク、又は光ディスク等であってもよい。
この出願のそれらの複数の実施形態において、"第1の"、"第2の"、及び"第3の"の語は、説明の目的のために使用されるにすぎず、相対的重要性の指標又は示唆として理解されるべきではない。特に、明示的に限定されない限り、"少なくとも1つの"の語は、1つ又は複数を指し、"複数の"の語は、2つ又はそれ以上を指す。
この出願における"及び/又は"の語は、複数の関連する対象を説明するための関連性関係のみを説明し、3つの関係が存在してもよいということを示す。例えば、A及び/又はBは、Aのみが存在する場合、A及びBの双方が存在する場合、及び、Bのみが存在する場合の3つの場合を示してもよい。加えて、この明細書の中の文字"/"は、一般的に、複数の関連する対象の間の"又は"の関係を示す。
上記の説明は、この出願の選択的な実施形態であるにすぎず、この出願を限定することを意図してはいない。この出願の概念及び原理から離れることなく行われる任意の修正、等価な置換、又は改良は、この出願の保護の範囲に属するものとする。

Claims (26)

  1. データ送信方法であって、当該方法は、
    第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在する場合に、前記第2のデータフレームのフレームタイプが高速フレームであると決定するステップであって、前記第2のデータフレームの優先度は、前記第1のデータフレームの優先度よりも高い、ステップと、
    前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整するステップと、
    前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始するステップと、を含む、
    方法。
  2. 前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整する前記ステップは、
    前記第1のデータフレームの前記フレームタイプが高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整するステップであって、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる、ステップを含む、請求項1に記載の方法。
  3. 前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整する前記ステップは、
    前記第1のデータフレームの前記フレームタイプが高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するステップを含む、請求項1に記載の方法。
  4. 当該方法は、
    前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続するステップをさらに含む、請求項1乃至3のうちのいずれか1項に記載の方法。
  5. 前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する前記ステップは、
    前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記第4のデータフレームのフレームタイプが高速フレームであると決定し、そして、前記第4のデータフレームを送信するステップと、
    前記第4のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続するステップと、を含む、請求項4に記載の方法。
  6. データ送信方法であって、当該方法は、
    第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、前記第1のデータフレームのフレームタイプが、前記第2のデータフレームのフレームタイプと同じであり、且つ、前記第2のデータフレームの優先度が、前記第1のデータフレームの優先度よりも高い場合に、前記第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、前記第2のデータフレームの前記フレームタイプが高速フレームであると決定するステップと、
    前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始するステップと、を含む、
    方法。
  7. 前記第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、前記第2のデータフレームの前記フレームタイプが高速フレームであると決定する前記ステップは、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するステップ、又は、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が先取り可能なフレームである場合に、高速フレームへと前記第2のデータフレームの前記フレームタイプを調整するステップ、を含む、請求項6に記載の方法。
  8. 前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整する前記ステップは、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整するステップを含み、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる、請求項7に記載の方法。
  9. 前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整する前記ステップは、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するステップを含む、請求項7に記載の方法。
  10. 当該方法は、
    前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続するステップをさらに含む、請求項6乃至9のうちのいずれか1項に記載の方法。
  11. 前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する前記ステップは、
    前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記第4のデータフレームを送信するステップと、
    前記第4のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続するステップと、を含む、請求項10に記載の方法。
  12. データ送信装置であって、当該装置は、
    第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在する場合に、前記第2のデータフレームのフレームタイプが高速フレームであると決定するように構成される決定モジュールであって、前記第2のデータフレームの優先度は、前記第1のデータフレームの優先度よりも高い、決定モジュールと、
    前記第1のデータフレームの前記フレームタイプが高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームのフレームタイプを調整するように構成される調整モジュールと、
    前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始するように構成される送信モジュールと、を含む、
    装置。
  13. 前記調整モジュールは、
    前記第1のデータフレームの前記フレームタイプが高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整するように構成され、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる、請求項12に記載の装置。
  14. 前記調整モジュールは、
    前記第1のデータフレームの前記フレームタイプが高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するように構成される、請求項12に記載の装置。
  15. 前記送信モジュールは、さらに、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続するように構成される、請求項12乃至14のうちのいずれか1項に記載の装置。
  16. 前記送信モジュールは、
    前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記第4のデータフレームのフレームタイプが高速フレームであると決定し、そして、前記第4のデータフレームを送信し、そして、
    前記第4のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する、ように構成される、請求項15に記載の装置。
  17. データ送信装置であって、当該装置は、
    第1のデータフレームの送信の過程において、送信されるべき第2のデータフレームが存在し、前記第1のデータフレームのフレームタイプが、前記第2のデータフレームのフレームタイプと同じであり、且つ、前記第2のデータフレームの優先度が、前記第1のデータフレームの優先度よりも高い場合に、前記第1のデータフレームの前記フレームタイプが先取り可能なフレームであると決定するとともに、前記第2のデータフレームの前記フレームタイプが高速フレームであると決定するように構成される決定モジュールと、
    前記第1のデータフレームの送信を中止し、そして、前記第2のデータフレームの送信を開始するように構成される送信モジュールと、を含む、
    装置。
  18. 前記決定モジュールは、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームである場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するか、又は、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が先取り可能なフレームである場合に、高速フレームへと前記第2のデータフレームの前記フレームタイプを調整する、ように構成される、請求項17に記載の装置。
  19. 前記決定モジュールは、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在し、且つ、前記第3のデータフレームのフレームタイプマークが、第1の先取り可能なフレームマークである場合に、第2の先取り可能なフレームマークへと前記第1のデータフレームのフレームタイプマークを調整するように構成され、前記第2の先取り可能なフレームマークは、前記第1の先取り可能なフレームマークとは異なる、請求項18に記載の装置。
  20. 前記決定モジュールは、
    前記第1のデータフレームの前記フレームタイプ及び前記第2のデータフレームの前記フレームタイプの双方が高速フレームであり、且つ、送信のために前記第1のデータフレームがプリエンプトする第3のデータフレームが存在しない場合に、先取り可能なフレームへと前記第1のデータフレームの前記フレームタイプを調整するように構成される、請求項18に記載の装置。
  21. 前記送信モジュールは、さらに、前記第2のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続するように構成される、請求項17乃至20のうちのいずれか1項に記載の装置。
  22. 前記送信モジュールは、
    前記第2のデータフレームの前記送信が終了した後に、送信されるべき第4のデータフレームが存在し、且つ、前記第4のデータフレームの優先度が、前記第1のデータフレームの前記優先度よりも高い場合に、前記第4のデータフレームを送信し、そして、
    前記第4のデータフレームの前記送信が終了した後に、前記第1のデータフレームの送信を継続する、ように構成される、請求項21に記載の装置。
  23. 処理チップであって、当該処理チップは、プログラム可能な論理回路及び/又はプログラム命令を含み、当該処理チップは、前記プログラム可能な論理回路及び/又は前記プログラム命令を実行して、請求項1乃至11のうちのいずれか1項に記載のデータ送信方法を実装する、処理チップ。
  24. 当該処理チップは、処理ユニット及びスケジューリングユニットを含み、
    前記処理ユニットは、送信されるべきデータフレームの優先度に基づいて、対応する出口ポートキューの中に前記送信されるべきデータフレームをバッファリングするように構成され、
    前記スケジューリングユニットは、前記出口ポートキューの中の前記送信されるべきデータフレームをスケジューリングして、請求項1乃至11のうちのいずれか1項に記載のデータ送信方法を実装するように構成される、請求項23に記載の処理チップ。
  25. 前記スケジューリングユニットは、データ出口スケジューリングロジック及びメディアアクセス制御(MAC)カプセル化ロジックを含み、
    前記データ出口スケジューリングロジックは、前記出口ポートキューの中の前記送信されるべきデータフレームをスケジューリングし、そして、前記送信されるべきデータフレームに対応するフレームタイプ指標を前記MACカプセル化ロジックに提供する、ように構成され、前記フレームタイプ指標は、前記送信されるべきデータフレームのフレームタイプを示すのに使用され、
    前記MACカプセル化ロジックは、前記送信されるべきデータフレームに対応する前記フレームタイプ指標に基づいて、前記送信されるべきデータフレームに対してMACカプセル化を実行するように構成される、請求項24に記載の処理チップ。
  26. 請求項23乃至25のうちのいずれか1項に記載の通信インターフェース及び前記処理チップを含むデータ送信装置。
JP2022505259A 2019-07-26 2020-07-27 データ送信方法及び装置 Active JP7394960B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910680722.9 2019-07-26
CN201910680722.9A CN112311496A (zh) 2019-07-26 2019-07-26 数据传输方法及装置
PCT/CN2020/104811 WO2021018087A1 (zh) 2019-07-26 2020-07-27 数据传输方法及装置

Publications (2)

Publication Number Publication Date
JP2022543206A true JP2022543206A (ja) 2022-10-11
JP7394960B2 JP7394960B2 (ja) 2023-12-08

Family

ID=74229357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022505259A Active JP7394960B2 (ja) 2019-07-26 2020-07-27 データ送信方法及び装置

Country Status (4)

Country Link
EP (1) EP3993293A4 (ja)
JP (1) JP7394960B2 (ja)
CN (1) CN112311496A (ja)
WO (1) WO2021018087A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4280488A4 (en) * 2021-02-10 2024-02-14 Huawei Tech Co Ltd INFORMATION TRANSMISSION METHOD AND DEVICE
KR102649136B1 (ko) * 2021-03-18 2024-03-19 한국전자통신연구원 프레임 프리엠션 제공 방법 및 장치
EP4113952A1 (en) * 2021-06-28 2023-01-04 Abb Schweiz Ag Improved congestion handling in time sensitive networks through coordination between network segments
EP4113950A1 (en) * 2021-06-28 2023-01-04 Abb Schweiz Ag Variable preemption in time sensitive networks using priority regeneration
CN114500692A (zh) * 2022-02-11 2022-05-13 重庆邮电大学 一种时间敏感网络帧抢占优化方法
CN114448574A (zh) * 2022-03-03 2022-05-06 湖南军安信达科技有限公司 一种mac帧数据传输处理设备及其数据传输处理方法
CN115499380B (zh) * 2022-08-16 2024-03-29 悠跑科技(合肥)有限公司 车载以太网的tsn混合调度方法、设备及存储介质
CN115378874B (zh) * 2022-10-20 2023-01-24 北京智芯微电子科技有限公司 数据发送、接收方法、装置、电子设备、芯片及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016132402A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 通信フレーム転送装置および通信システム
US20180041432A1 (en) * 2015-02-26 2018-02-08 Siemens Aktiengesellschaft Data transmission in a communications network
JP2018055284A (ja) * 2016-09-27 2018-04-05 富士通株式会社 通信装置、及び通信装置の送信方法
US20190199641A1 (en) * 2017-12-22 2019-06-27 MAGNETI MARELLI S.p.A. Method for managing traffic in a network based upon ethernet switches, vehicle, communication interface, and corresponding computer program product

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101188210B1 (ko) * 2010-08-03 2012-10-05 인하대학교 산학협력단 선점형 우선순위 기반의 이더넷 데이타 스케줄링 방법 및 이를 이용한 시스템
WO2015162734A1 (ja) * 2014-04-23 2015-10-29 三菱電機株式会社 中継装置およびデータ転送方法
US10681128B2 (en) * 2016-10-12 2020-06-09 Cisco Technology, Inc. Deterministic stream synchronization
CN109120591A (zh) * 2018-07-05 2019-01-01 湖南铁路科技职业技术学院 列车以太网数据处理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016132402A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 通信フレーム転送装置および通信システム
US20180041432A1 (en) * 2015-02-26 2018-02-08 Siemens Aktiengesellschaft Data transmission in a communications network
JP2018055284A (ja) * 2016-09-27 2018-04-05 富士通株式会社 通信装置、及び通信装置の送信方法
US20190199641A1 (en) * 2017-12-22 2019-06-27 MAGNETI MARELLI S.p.A. Method for managing traffic in a network based upon ethernet switches, vehicle, communication interface, and corresponding computer program product

Also Published As

Publication number Publication date
EP3993293A1 (en) 2022-05-04
CN112311496A (zh) 2021-02-02
JP7394960B2 (ja) 2023-12-08
US20220149979A1 (en) 2022-05-12
EP3993293A4 (en) 2022-08-03
WO2021018087A1 (zh) 2021-02-04

Similar Documents

Publication Publication Date Title
JP7394960B2 (ja) データ送信方法及び装置
US11218572B2 (en) Packet processing based on latency sensitivity
US8594112B2 (en) Memory management for high speed media access control
KR100735408B1 (ko) 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
US7602809B2 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
WO2019228318A1 (zh) 一种报文处理方法和装置
KR20110110088A (ko) 관리되는 네트워크를 통해 계층-2에서의 패킷 수집 및 단편화
US11563521B2 (en) Method and apparatus for port channelization at physical layer
CN108574632B (zh) 一种报文处理方法、装置及系统
US20210392084A1 (en) Transmission Of Packets Over A TSN Aware Network
TW201836329A (zh) 用以傳輸通訊訊號訊框之方法、實體及程式
CN110944358A (zh) 数据传输方法和设备
CN115766860A (zh) 数据传输方法、tsn节点和计算机可读存储介质
WO2024082960A1 (zh) 数据发送、接收方法、装置、电子设备、芯片及存储介质
US20100040060A1 (en) Fast emulation of mac table flushing for elan unicasts
US8743907B1 (en) Apparatus for reassembling a fragmented data unit and transmitting the reassembled data unit
US12003319B2 (en) Data transmission method and apparatus
WO2021026740A1 (zh) 流量均衡方法、网络设备及电子设备
JP2011182209A (ja) フロー制御回路およびフロー制御方法
JP2022502967A (ja) ネットワーク機器及び変換装置
CN114500692A (zh) 一种时间敏感网络帧抢占优化方法
CN115550237A (zh) 一种数据处理方法以及相关装置
CN117014384A (zh) 一种报文传输方法以及报文转发设备
CN116962218A (zh) 报文转发方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220415

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231128

R150 Certificate of patent or registration of utility model

Ref document number: 7394960

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150