JP2019054350A - 転送装置、転送方法及びプログラム - Google Patents

転送装置、転送方法及びプログラム Download PDF

Info

Publication number
JP2019054350A
JP2019054350A JP2017175973A JP2017175973A JP2019054350A JP 2019054350 A JP2019054350 A JP 2019054350A JP 2017175973 A JP2017175973 A JP 2017175973A JP 2017175973 A JP2017175973 A JP 2017175973A JP 2019054350 A JP2019054350 A JP 2019054350A
Authority
JP
Japan
Prior art keywords
transfer
data
storage unit
unit
size
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
JP2017175973A
Other languages
English (en)
Other versions
JP6833644B2 (ja
Inventor
優太 小林
Yuta Kobayashi
優太 小林
隆博 山浦
Takahiro Yamaura
隆博 山浦
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017175973A priority Critical patent/JP6833644B2/ja
Priority to US15/908,386 priority patent/US10412017B2/en
Priority to EP18159500.0A priority patent/EP3457644B1/en
Publication of JP2019054350A publication Critical patent/JP2019054350A/ja
Application granted granted Critical
Publication of JP6833644B2 publication Critical patent/JP6833644B2/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/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • 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
    • 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/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • 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/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】許容された転送遅延の範囲で転送スループットをより向上させる。【解決手段】実施形態の転送装置は、制御部と第1転送部とを備える。制御部は、データの転送が発生するタイミングの予定を示すスケジューリング情報を参照して、読出完了通知の受信を待たずに、第1記憶部から第2記憶部へデータの転送を要求可能な最大データ要求サイズを動的に制御する。第1転送部は、第1記憶部からデータを読み出し、データを最大データ要求サイズ以下の最大データ転送サイズ毎に第2記憶部へ転送する。【選択図】図2

Description

本発明の実施形態は転送装置、転送方法及びプログラムに関する。
工場内の各産業用機器間を接続する産業用ネットワーク、及び、車内の制御コントローラを接続する車載ネットワーク等の分野では、高いリアルタイム性が求められる。近年、産業用ネットワーク及び車載ネットワーク等では、イーサネット(登録商標)の利用が進んでおり、様々なリアルタイムイーサネット規格が提案されている。
特許第5293516号公報
しかしながら、従来の技術では、リアルタイム性が要求されるトラフィックと、ベストエフォート型のトラフィックとが混在する場合に、許容された転送遅延の範囲で転送スループットをより向上させることが難しかった。
実施形態の転送装置は、制御部と第1転送部とを備える。制御部は、データの転送が発生するタイミングの予定を示すスケジューリング情報を参照して、読出完了通知の受信を待たずに、第1記憶部から第2記憶部へ前記データの転送を要求可能な最大データ要求サイズを動的に制御する。第1転送部は、前記第1記憶部から前記データを読み出し、前記データを前記最大データ要求サイズ以下の最大データ転送サイズ毎に前記第2記憶部へ転送する。
アクセス粒度、遅延及びスループットの関係性を説明するための図。 アクセス粒度、遅延及びスループットの関係性を説明するための図。 第1実施形態の通信装置の機能構成の例を示す図。 第1実施形態の転送方法の例を示すフローチャート。 ステップS2の処理の詳細フローチャート。 ステップS11の処理の詳細フローチャート。 第1実施形態の最大データ要求サイズ及び最大データ転送サイズの例を説明するための図。 第1実施形態の最大データ要求サイズの計算例を説明するための図。 ステップS12の処理の詳細フローチャート。 第2実施形態の通信装置の機能構成の例を示す図。 第2実施形態の転送方法の例を示すフローチャート。 第2実施形態の第2制御部の処理の例を示すフローチャート。 第2実施形態の第1及び第2転送部の転送処理の例を示すフローチャート。 第2実施形態の第1転送部の読み出しリクエスト発行処理の例を示すフローチャート。 第2実施形態の第2転送部の読み出しリクエスト発行処理の例を示すフローチャート。 第2実施形態の第1及び第2転送部のデータ受信処理及び書き込み処理の例を示すフローチャート。 第3実施形態の通信装置の機能構成の例を示す図。 第4実施形態の通信装置の構成の例を示す図。 第4実施形態の変形例のスケジューリング方法の例を説明するための図。
以下に添付図面を参照して、転送装置、転送方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
はじめに、高いリアルタイム性が求められる産業用ネットワーク及び車載ネットワーク等の分野で利用されている規格の例について説明する。
例えば、イーサネット(登録商標)上でリアルタイム性を実現する規格として、TSN(Time−Sensitive Networking)の規格化が、IEEE 802.1 TSN Taskで進んでいる。TSNは複数の規格から構成される。TSNは、プロオーディオ等で用いられている低遅延性を実現するAVB(Audio/Video Bridging)を拡張した規格である。TSNは、産業用ネットワーク及び車載ネットワーク等にも適用できるようにするため、AVBよりも高いリアルタイム性に加えて、高信頼性の実現を目指す規格である。
TSN規格の1つであるIEEE 802.1Qbu/802.3brは、優先度の高いフレームの送信処理が発生した場合に、送信中のフレームの処理を中断して、高優先度のフレームの送信処理を割り込ませる。また、TSN規格の1つであるIEEE 802.1Qbvは、複数の送信キューを制御することで、トラフィッククラス毎にフレームの送信タイミングを制御する。このように、TSN等のリアルタイムイーサネットを利用することで、リアルタイム性が求められるデータの送信に関わるネットワーク遅延を小さくすることが可能になる。
一方で、TSN等のリアルタイムイーサネット規格が規定としている範囲は、NIC(Network Interface Card)、及び、ネットワーク間のネットワーク処理である。しかし、実際にシステムを構築する際には、ホスト及びNIC間の処理も考慮する必要がある。
図1A及び1Bはアクセス粒度、遅延及びスループットの関係性を説明するための図である。図1A及び1Bを参照して、ホスト側のメモリから、NIC側のキュー(バッファ)へデータを転送するDMAC(Direct Memory Access Controller)等のアクセス粒度(アクセスサイズ)の違いによる影響を説明する。
図1AのキューAのアクセス粒度は、図1BのキューAのアクセス粒度よりも大きい。図1AのキューAのように、アクセス粒度が大きいと、一度に転送を要求できるデータサイズが大きくなるため、DMA制御等の時間を含むオーバヘッド101が減少する。そのため、スループットは増大する。しかし、一回の要求に対する処理時間が長くなるため、後続のキューBのデータ転送の遅延(待ち時間)が長くなる。
逆に、図1BのキューAのように、アクセス粒度が小さいと、一度の要求に対する処理時間は短くなるため、後続のキューBのデータ転送の遅延が短くなる。しかし、一度に転送を要求できるデータサイズは小さくなるため、スループットは低下する。
単純に遅延を最小化するだけであれば、アクセス粒度を最小化すればよい。しかしながら、TSN等のリアルタイムイーサネット規格では、リアルタイム性が要求されるトラフィックと共に、ベストエフォート型のトラフィックも同一のネットワーク上で送受信される。そのため、許容された転送遅延の範囲でスループットを最大化することが求められる。
[機能構成の例]
図2は第1実施形態の通信装置100の機能構成の例を示す図である。第1実施形態の通信装置100は、転送装置1、第1記憶部2、第2記憶部3、第3記憶部4、状態記憶部5及び出力部6を備える。転送装置1は、制御部11、転送部12及びスケジューリング情報記憶部13を備える。
通信装置100は、例えば出力部6に接続された機器へデータを転送する。出力部6と機器との接続方式は、有線方式であっても無線方式であってもよい。出力部6に接続される機器は、例えば通信機器である。第1実施形態の通信装置100では、転送部12が、制御部11から指示を受けると、第1記憶部2のデータを第2記憶部3または第3記憶部4にコピーする。そして、出力部6が、スケジューリング情報記憶部13に記憶されたスケジューリング情報に基づいて、第2記憶部3または第3記憶部4に書き込まれたデータを機器へ出力する。スケジューリング情報の詳細は後述する。
通信装置100の具体的な形態は任意でよい。通信装置100は、例えばパーソナルコンピュータ、サーバ装置、専用LSI(Large−Scale Integration)、及び、FPGA(Field Programmable Gate Array)等である。
制御部11は、通信装置100全体を制御する。具体的には、制御部11は、例えば転送部12を制御(初期化及びデータ転送指示等)する。また例えば、制御部11は、出力部6に接続された通信機器へ送信されるフレーム(パケット)等のデータを生成する。また例えば、制御部11は、スケジューリング情報を生成する。
制御部11の具体的な形態は任意でよい。制御部11は、例えばソフトウェア、専用LSI及びFPGA等である。制御部11をソフトウェアにより実現する場合、例えばCPU(Central Processing Unit)、及び、MPU(Micro−processing Unit)等に当該ソフトウェアが実行されることにより、制御部11を実現する。
第1記憶部2はデータを記憶する。第1記憶部2は、例えば出力部6に接続された通信機器に転送されるフレームを記憶する。また例えば、第1記憶部2は、制御部11により実行されるプログラム、転送部12の制御に使用される制御情報、及び、外部の通信機器と通信するためのセッション情報等を記憶する。
第2記憶部3及び第3記憶部4は、外部の通信機器に送信されるデータを一時的に格納する送信バッファ領域を有する。
第2記憶部3に記憶されるデータは、第3記憶部4に記憶されるデータよりも転送優先度の高いデータ(Express)が記憶される。第2記憶部3に記憶されるデータは、例えば周期的に送る必要がある制御信号、及び、ストリーミングデータ等のリアルタイム通信データである。ストリーミングデータは、例えば動画データ及び音声データ等である。
第3記憶部4に記憶されるデータは、第2記憶部3に記憶されるデータよりも転送優先度の低いデータ(Pre−emptable)が記憶される。第3記憶部4に記憶されるデータは、ログ情報等のベストエフォート通信データである。
スケジューリング情報記憶部13は、スケジューリング情報を記憶する。スケジューリング情報は、データの転送が発生するタイミングの予定を示す。具体的には、スケジューリング情報には、第2記憶部3及び第3記憶部4に記憶されたデータが、外部の通信機器へ送信されるタイミングが定義されている。スケジューリング情報の具体例は、例えばIEEE 802.1Qbvのゲートコントロールリストである。
なお、第1記憶部2、第2記憶部3、第3記憶部4及びスケジューリング情報記憶部13の具体的な形態は任意でよい。第1記憶部2、第2記憶部3、第3記憶部4及びスケジューリング情報記憶部13は、例えばSRAM(Static Random Access Memory)、SDRAM(Synchronous Dynamic Random Access Memory)、SSD(Solid State Drive)、HDD(Hard Disk Drive)、及び、SDカード等の記憶装置である。また、第1記憶部2、第2記憶部3、第3記憶部4及びスケジューリング情報記憶部13は、物理的に複数の記憶装置から構成されてもよい。また、第1記憶部2、第2記憶部3、第3記憶部4及びスケジューリング情報記憶部13は、同一の記憶装置の領域を論理的に分離することにより実現されてもよい。
転送部12は、制御部11により指定された情報に基づいて、第1記憶部2により記憶されたデータを、第2記憶部3又は第3記憶部4に転送する。制御部11により指定された情報は、例えば読み出し元のアドレス、宛先アドレス、及び、転送されるデータのサイズ等を含む。
転送部12の具体的な形態は任意でよい。転送部12は、例えばDMACである。第1実施形態では、転送部12がDMACである場合を例にして説明する。転送部12は、実行中のデータ転送処理を中断して、別のデータ転送処理を割り込ませることができる。
状態記憶部5は、転送割り込みにより転送が中断されたデータの状態を示す状態情報を記憶する。状態情報は、例えば転送部12(例えばDMAC)の制御情報、及び、転送済みのデータのサイズ等を含む。転送部12は、転送割り込みにより開始されたデータの転送が終了した後、状態情報を参照して、中断されたデータの転送を再開する。
出力部6は、上述のスケジューリング情報に定義されたタイミングで、第2記憶部3及び第3記憶部4に記憶されたデータを送出する。これにより、通信装置100から送信されたデータを、決められた時刻に外部の通信機器へ送ることが可能になる。すなわち、リアルタイム通信が必要なデータの送信タイミングを保証することが可能になる。
具体的には、出力部6は、例えばイーサネット(登録商標)のMAC処理、PHY、及び、TCP/IP等の処理を実行する。出力部6は、第3記憶部4のデータを転送中に、優先度のより高い第2記憶部3のデータの転送準備ができたら、第3記憶部4のデータ転送処理を一旦中断し、第2記憶部3のデータ転送を割り込ませる。
出力部6の制御(初期化及び出力指示等)は、例えば制御部11により行われる。
上述の図2の通信装置100で動作させる具体的なアプリケーションは任意でよい。上述の図2の通信装置100で動作させる具体的なアプリケーションは、例えば車載システム及びファクトリーオートメーションシステム等である。
車載システムでは、例えば自動運転及びブレーキ制御等に係わるリアルタイム性が求められるデータが第2記憶部3に記憶される。一方、例えばカーナビ等のインフォテイメント、及び、走行記録等のデータは、第3記憶部4に記憶される。
ファクトリーオートメーションでは、例えばPLC(Programmable Logic Controller)、及び、I/O機器等の各制御機器の制御信号等のリアルタイム性が求められるデータが第2記憶部3に記憶される。一方、例えば各機器の動作状況、及び、生産管理等のデータは、第3記憶部4に記憶される。
なお、上述のスケジューリング情報は、データ転送が発生する可能性があることを示しており、実際にデータの転送処理が発生するか否かは、第2記憶部3または第3記憶部4にデータが書き込まれているか否かによって決まる。つまり、実際にデータの転送が発生するか否かは、制御部11、及び、制御部11の上位に位置するアプリケーションの動作等によって決定される。
[転送方法の例]
図3は第1実施形態の転送方法の例を示すフローチャートである。はじめに、制御部11が、第1記憶部2に記憶されたデータを、第2記憶部3又は第3記憶部4へ転送する指示を発行する(ステップS1)。具体的には、制御部11は、転送情報を転送部12に通知することにより、転送部12にデータの転送を指示する。転送情報は、転送されるデータのサイズ、第1記憶部2の読み出しアドレス、並びに、第2記憶部3又は第3記憶部4の書き込みアドレス等を含む。
なお、転送情報は、ディスクリプタを用いて通知されてもよいし、レジスタインタフェースを用いて通知されてもよい。ここで、書き込み先を指定する方法としては、アドレスを指定する方法の他に、優先度により指定する方法がある。
高優先度(第1優先度)のデータは、第2記憶部3の送信バッファへ書き込み、低優先度(第2優先度)のデータは、第3記憶部4の送信バッファへ書き込むことが予めわかっている。このため、制御部11は書き込み先アドレスではなく、転送優先度を含む転送情報を転送部12へ通知してもよい。転送部12は、制御部11から、転送優先度を含む転送情報を受け付けた場合、当該転送優先度を基に書き込み先を決定する。
また、転送部12は、制御部11から転送優先度を通知されるのではなく、転送されるデータのヘッダに付加された優先度を基に書き込み先を決定してもよい。ヘッダに付加された優先度は、例えばIEEE 802.1QフレームのPCP(Priority Code Point)等である。
ここで、第1記憶部2のデータは、例えば制御部11及びアプリケーション等によって事前に書き込まれている。第1記憶部2のデータは、例えばファイルデータ及び制御データ等のアプリケーションにより生成されたデータである。また例えば、第1記憶部2のデータは、アプリケーションにより生成されたデータに、外部の通信機器と通信を行うためのヘッダ情報等を加えたフレーム(パケット)の形態でもよい。
次に、転送部12が、制御部11から転送指示を受け付けると、転送処理を実行する(ステップS2)。ステップS2の処理の詳細は、図4を参照して後述する。
次に、出力部6が、スケジューリング情報を参照して、第2記憶部3又は第3記憶部4のデータを、送信が許可されているタイミングで、外部の通信機器へ送信する(ステップS3)。出力部6は、例えば第2記憶部3の送信処理が許可されているタイミングで、第2記憶部3を参照し、データが存在していれば、当該データを外部ネットワークへ出力する。この時、出力部6は、第2記憶部3にデータが存在しなければ、第3記憶部4に記憶されているデータを送信してもよい。
次に、ステップS2の転送処理の詳細について説明する。
図4はステップS2の処理の詳細フローチャートである。図4に示すように、転送部12は、第1記憶部2に読み出しリクエストを発行する読み出し処理(ステップS11)と、第1記憶部2から受信されたデータを第2記憶部3又は第3記憶部4へ書き込む書き込み処理(ステップS12)とを非同期に実行する。それぞれの処理を図5及び図8を用いて説明する。
<読み出し処理の例>
図5はステップS11の処理の詳細フローチャートである。はじめに、転送部12が、第1優先度の転送指示があるか否かを判定する(ステップS21)。
第1優先度の転送指示がある場合(ステップS21,Yes)、転送部12は、当該転送指示を示す転送情報を取得する(ステップS24)。
第1優先度の転送指示がない場合(ステップS21,No)、転送部12は、中断中の転送指示があるか否かを判定する(ステップS22)。
中断中の転送指示がある場合(ステップS22,Yes)、転送部12は、状態記憶部5から状態情報を取得する(ステップS25)。
中断中の転送指示がない場合(ステップS22,No)、転送部12は、第2優先度の転送指示があるか否かを判定する(ステップS23)。第2優先度の転送指示がある場合(ステップS23,Yes)、転送部12は、当該転送指示を示す転送情報を取得する(ステップS24)。
第2優先度の転送指示がない場合(ステップS23,No)、処理を終了する(スタートに戻る)。
ここで、図5のフローチャートの例では、転送部12は、第1優先度、中断中、第2優先度の順で転送指示があるか否かを判定するが、連続して第1優先度の処理が続かないように制御してもよい。
また、図5のフローチャートの処理の開始は、転送指示があるか否かを監視する形態としているが、制御部11からの転送指示を受信したことをトリガーとして処理を開始してもよい。この場合は、必ず1つは転送指示が存在することになるので、ステップS23でNoに進むことはない。また、転送指示を受信したことをトリガーにする場合は、第1優先度のリクエスト発行処理完了時に、中断中の転送指示があるか否かを判定し、中断中の転送指示があれば、中断中の転送指示を再開させる動作が必要になる。
また、第1実施形態では、簡単のため、転送優先度の種類が、第1優先度(Express)、及び、第2優先度(Pre−emptable)の2つである場合を例にして説明しているが、転送優先度の種類は、3つ以上でもよい。3つ以上の転送優先度がある場合の構成でも、転送優先度の順番に転送処理が実施される。
次に、転送部12は、転送指示がある場合、最大データ要求サイズを決定(設定)し、DMA転送を開始する(ステップS26)。転送指示には、転送されるデータのサイズ、データの読み出しアドレス、書き込みアドレス、及び、データの転送優先度等が含まれる。
転送部12は、第1及び第2優先度の転送指示を処理する場合、制御部11から転送情報を取得し、当該転送情報から転送指示を特定する(上述のステップS24)。
一方、転送部12は、中断中の転送指示を再開する場合、状態記憶部5から状態情報を取得し、当該状態情報から中断中の転送指示を特定する(上述のステップS25)。転送部12は、中断中の転送指示を再開する場合、どの位置までのデータの転送が完了しているか等を示す情報も状態情報から追加で取得する。
ここで、最大データ要求サイズについて説明する。転送部12は、データ転送の際に、読み出しアドレスと読み出しサイズとが指定されたリクエストを第1記憶部2に発行する。そしてリクエストにより指定されたデータの転送は、第1記憶部2から当該リクエストに対応したレスポンス(読出完了通知)を受信することにより完了する。最大データ要求サイズは、読出完了通知の受信を待たずに、第1記憶部2から第2記憶部3又は第3記憶部4へデータの転送を要求可能なデータのサイズである。最大データ要求サイズの最大値は、第1記憶部2、転送部12(DMAC)、及び、第1記憶部2と転送部12とを接続するバスの仕様等によって決まる。
図6は第1実施形態の最大データ要求サイズ及び最大データ転送サイズの例を説明するための図である。図6は、1回の要求で転送可能なデータのサイズを示す最大データ転送サイズが128Byteであり、上述の最大データ要求サイズが512Byteである場合に、転送部12が1024Byteのデータを転送する例を示す。
図6は、簡単のため、転送部12と第1記憶部2との間の処理のみを記載しており、それ以外の処理については省略している。まず、制御部11は、第1記憶部2に記憶された1024Byteのデータを転送する転送指示(転送要求)を転送部12に入力する。転送部12は、制御部11から転送指示を受け付けると、128Byteの読み出しリクエストを第1記憶部2に順次発行する。
図6の例では、4つのリクエストが発行された時点で最大データ要求サイズの512Byteに到達する。そのため、転送部12は、リクエストの発行により要求したデータを第1記憶部2からレスポンスとして受け取るまでは、後続のリクエストを発行しない待ち状態になる。待ち状態になると以降、転送部12は、第1記憶部2からレスポンスを受け取るたびに、後続のリクエストを発行する。図6の例では、例えば、転送部12は、1つ目のリクエストのレスポンスを受け取ってから、5つ目のリクエストを発行する。
最大データ要求サイズが大きいほど、第1記憶部2からのデータ転送を待たずに後続の読み出しリクエストを発行できるため、転送効率は高くなる。しかし、第3記憶部4へのデータ転送処理中に、第2記憶部3へのデータ転送処理を割り込ませる場合、既にリクエストを発行しているデータ転送が完了するまで、第2記憶部3へ転送されるデータを第1記憶部2から読み出すことができない。
つまり、最大データ要求サイズが大きいほど、第2記憶部3へのデータ転送処理を割り込ませるまでのレイテンシが増加する。
このため、図5のステップS26で、転送部12は、最大データ要求サイズを決定する際に、スケジューリング情報を参照して、データ転送中に別の転送指示が割り込む可能性があるか否かを判定する。そして転送部12は、判定結果に基づいて最大データ要求サイズを調整する。
例えば、転送部12は、第2記憶部3へのデータ転送割り込みが、第3記憶部4へのデータ転送中に発生する可能性があるタイミングでは、最大データ要求サイズを小さくする(例えば閾値未満の値に制御する)。これにより、データ転送割り込みが発生した場合に、即座に転送処理が切り替えることができる。
一方、転送部12は、データ転送割り込みが発生する可能性がないタイミングでは、最大データ要求サイズを大きくする(例えば閾値以上の値に制御する)。これにより、データ転送の効率(スループット)を最大化することができる。なお、最大データ要求サイズを大きくする場合に参照される閾値と、最大データサイズを小さくする場合に参照される閾値は、同じであっても異なっていてもよい。
ここで、ステップS26の処理により決定される最大データ要求サイズは、事前に決めておく方法や、その都度計算する方法等が考えられる。
事前に決めておく方法では、例えば割り込みが発生する可能性がある場合に使用される値Aと、割り込みが発生しない場合に使用される値Bとが、転送部12(DMAC)の初期化時等にあらかじめ指定される。すなわち、転送部12は、DMA処理中に、より高い優先度のフレームの送信処理が発生する可能性があるタイミングでは、最大データ要求サイズとして値Aを使用し、それ以外の場合は値Bを使用して、DMA処理を実行する。
最大データ要求サイズをその都度計算する方法としては、例えば、転送部12が、スケジューリング情報から優先度が高いデータ転送が発生する可能性が生じるまでの時間を特定し、使用されている記憶装置、及び、当該記憶装置が接続されたバスの帯域を基に最大データ要求サイズを計算する方法がある。
なお最大データ要求サイズの決定(指定及び計算等)は、転送部12ではなく、制御部11により行われてもよい。
図7は第1実施形態の最大データ要求サイズの計算例を説明するための図である。制御部11又は転送部12は、スケジューリング情報を参照することで、DMA処理中のフレームよりも高い優先度のフレーム送信処理が発生する可能性が生じるまでの時間Xを算出することが可能である。また、制御部11又は転送部12は、使用されている記憶装置及びバスの帯域がわかれば、図5のステップS24の処理により取得された転送情報で指定されたデータサイズのDMA処理が完了するまでの時間Yを算出することも可能である。
時間Xよりも時間Yが小さい場合は、DMA処理中に優先度の高いフレームの送信処理が発生する可能性はない。そのため、制御部11又は転送部12は、例えば最大データ要求サイズを転送情報で指定されたデータサイズ以上の値に決定することにより、スループットを最大化できる。
時間Xよりも時間Yが大きい場合は、DMA転送中に優先度の高いフレームの送信処理が発生する可能性がある。そのため、制御部11又は転送部12が、例えばDMA転送開始時は、最大データ転送サイズを大きい値(例えば閾値以上の値)に決定し、読み出しリクエストを発行するたびに最大データ転送サイズを小さくしていく(図7参照)。この場合、時間Z経過時に最大データ転送サイズが、設定可能な最小値(遅延が最小化する設定)になることが望ましい。そのため、制御部11又は転送部12は、例えばDMA転送開始から時間Zが経過した後は、最大データ要求サイズを最小値に決定する。
なお最小値は、転送部12(DMAC)の仕様、及び、バスの仕様による。また、時間Zは、処理のオーバヘッド等が考慮された任意の計算式によって算出される。最大データ要求サイズを再決定する場合の処理は、例えば後述のステップS32の処理で行われる。
また、最大データ要求サイズを再決定する別の方法として、制御部11又は転送部12は、例えばDMA転送開始から時間Z(Z<X≦Y)までの間は、最大データ要求サイズを帯域(記憶部及びバス等)×時間Zで算出される値に決定してもよい。そして、制御部11又は転送部12は、例えばDMA転送開始から時間Zが経過した後は、最大データ要求サイズを最小値に決定してもよい。この場合、例えば後述のステップS32の処理で、時間Z経過時に最大データ要求サイズが再決定される。
上記の最大データ要求サイズの決定方法は、あくまで一例であり、これらに限定されない。また、最大データ要求サイズを決定する際に参照されるスケジューリング情報は、出力部6がデータを外部機器へ送出するタイミングを決定するためのスケジューリング情報を使用しているが、これに限らない。例えばCPU及び仮想マシンのリソーススケジューリング情報等が用いられてもよい。また、複数のスケジューリング情報が参照されてもよい。
第1実施形態では、転送優先度が第1及び第2優先度の2つだけであるので、割り込みが発生する可能性があるのは第2優先度のデータ転送処理のみである。このため、第1優先度のデータ転送処理の場合は、最大データ要求サイズを設定可能な最大値にすることが望ましい。
また、中断中から再開した転送指示の場合、転送部12は、例えばスケジューリング情報を参照して、最大データ要求サイズを再決定してもよい。また例えば、転送部12は、中断前に決定された最大データ要求サイズの値を状態記憶部5に格納しておいて、再開後に、その値を使用してもよい。
第1実施形態の転送優先度の種類は、第1及び第2優先度の2つだけであるが、転送優先度の種類は3つ以上でもよい。この場合、転送部12は、転送優先度毎に最大データ要求サイズを決定してもよい。例えば、転送部12は、転送優先度が高くなるほど最大データ要求サイズを大きくするなどの制御をしてもよい。
図5に戻り、次に、転送部12は、転送中のデータよりも転送優先度の高い転送指示が存在するかを判定する(ステップS27)。図5の例では、第2優先度のデータの転送中、または、中断後に再開されたデータ転送中に、転送優先度の高いデータ(第1優先度)の転送指示がある可能性がある。
転送中のデータよりも転送優先度の高い転送指示がある場合(ステップS27,Yes)、転送部12は、現在の転送情報を状態情報として、状態記憶部5へ書き込み(ステップS28)、処理を終了する(スタートに戻る)。これにより、転送部12の転送処理が再度開始され、割り込ませた第1優先度のデータ転送処理が、上述のステップS21の処理により開始される。第1優先度の転送処理が終了すると、中断されていた転送処理が、上述のステップS22の処理により再開される。
転送中のデータよりも転送優先度の高い転送指示がない場合(ステップS27,No)、転送部12は、第1記憶部2に読み出しリクエストを発行する(ステップS29)。次に、転送部12は、全データ(転送情報で指定されたデータサイズ分のデータ)のリクエストの発行を完了したか否かを判定する(ステップS30)。
全データのリクエストの発行を完了した場合(ステップS30,Yes)、処理を終了する(スタートに戻る)。
全データのリクエストの発行を完了していない場合(ステップS30,No)、転送部12は、リクエスト発行処理を継続する。この時、転送部12は、要求中のデータサイズ(第1記憶部2にリクエストは発行したが、レスポンスを未受信なデータのサイズ)が、最大データ要求サイズよりも小さいか否かを判定する(ステップS31)。
要求中のデータサイズが最大データ要求サイズよりも小さい場合(ステップS31,Yes)、転送部12は、次のリクエスト発行処理を実行する。具体的には、転送部12は、最大データ要求サイズを再決定し(ステップS32)、ステップS27の処理を実行する。なお、ステップS32の処理は、最大データ要求サイズを再決定するための条件(例えば上述の時間Zが経過しているか否か等)を満たしていない場合、省略される。
要求中のデータサイズが最大データ要求サイズ以上の場合(ステップS31,No)、転送部12は、ステップS29の処理で発行されたリクエストのレスポンスがあったか否かを判定する(ステップS33)。レスポンスがない場合(ステップS33,No)、転送部12は、レスポンスがあるまで待機する。レスポンスがあった場合(ステップS33,Yes)、ステップS31に戻る。
なお、レスポンス(リクエストで指定されたデータ)の受信処理(後述の図8に示す第1記憶部2から受信したデータを第2記憶部3又は第3記憶部4へ書き込む処理)は、非同期に実行される。このため、図5に示すリクエスト発行処理においても、データ受信処理の情報をステップS33の処理で参照できるようにする必要がある。
<書き込み処理の例>
次に、図8を用いて、第1記憶部2から受信したデータを第2記憶部3又は第3記憶部4へ書き込む処理について説明する。
図8はステップS12の処理の詳細フローチャートである。はじめに、転送部12が、第1記憶部2からレスポンス(リクエストにより指定されたデータ)を受信する(ステップS41)。次に、転送部12は、ステップS41の処理により受信されたデータの書き込み先を判定する(ステップS42)。転送部12は、例えば受信されたデータに対応するリクエストを参照することにより、書き込み先を判定する。
書き込み先が第2記憶部3の場合(ステップS42,第2記憶部)、転送部12は、ステップS41の処理により受信されたデータを第2記憶部3に書き込む(ステップS43)。書き込み先が第3記憶部4の場合(ステップS42,第3記憶部)、転送部12は、ステップS41の処理により受信されたデータを第3記憶部4に書き込む(ステップS44)。
次に、転送部12は、転送指示により指定された全データの転送が完了したか否かを判定する(ステップS45)。転送指示により指定された全データの転送が完了していない場合(ステップS45,No)、処理はステップS41に戻る。
転送指示により指定された全データの転送が完了した場合(ステップS45,Yes)、転送部12は、完了通知を制御部11に通知し(ステップS46)、処理を終了する(スタートに戻る)。
制御部11への完了通知の通知方法は任意でよい。完了通知の通知方法としては、例えば割り込み信号によって通知する方法、及び、ディスクリプタの受け渡しによって通知する方法等がある。
また、転送部12は出力部6に対しても、データ転送が完了し、送信データが送信バッファ(第2記憶部3又は第3記憶部4)に準備できたことを明示的に通知してもよい。出力部6へ通知する方法は任意でよい。出力部6へ通知する方法としては、例えば転送部12が出力部6へコマンドを発行することによって直接通知する方法、及び、送信バッファに送信データが存在するか否かを示すフラグ情報を設けて、出力部6が当該フラグ情報を参照する方法等がある。
以上説明したように、第1実施形態の通信装置100(転送装置1)では、制御部11又は転送部12が、スケジューリング情報を基に上述の最大データ要求サイズを変更する。これにより第1実施形態の通信装置100(転送装置1)によれば、低優先度のデータ転送処理中に、高優先度のデータ転送処理が発生した場合には、即座に処理を割り込ませることを可能にしつつ、全体的な転送効率を最大化することが可能になる。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
[機能構成の例]
図9は第2実施形態の通信装置100−2の機能構成の例を示す図である。第2実施形態の通信装置100−2は、転送装置1−2、第1記憶部2、第2記憶部3、第3記憶部4及び出力部6を備える。転送装置1−2は、第1制御部11a、第2制御装置11b、第1転送部12a、第2転送部12b及びスケジューリング情報記憶部13を備える。
第2実施形態の通信装置100−2では、第2制御部11bが、第1制御部11aからの指示を受けて、第1転送部12a及び第2転送部12bを制御して、第1記憶部2のデータを第2記憶部3または第3記憶部4にコピーする。そして、出力部6が、上述のスケジューリング情報を基に、第2記憶部3または第3記憶部4にコピーされたデータを外部の通信機器へ出力する。
具体的には、第2制御部11bは、第1制御部11aにより指定された情報に基づいて、第1記憶部2により記憶されたデータを、第2記憶部3(第3記憶部4)に転送するように第1転送部12a(第2転送部12b)を制御する。第1制御部11aにより指定された情報は、例えば読み出し元のアドレス、宛先アドレス、及び、転送されるデータのサイズ等を含む。第2制御部11bは、第2転送部12bにより実行中のデータ転送処理を一時停止させることが可能である。
第1転送部12aは、第2制御部11bからの指示に従い、第1記憶部2のデータを第2記憶部3へコピーする。
第2転送部12bは、第2制御部11bからの指示に従い、第1記憶部2のデータを第3記憶部4へコピーする。第2転送部12bは、第2制御部11bからの停止指示によって、一時的に転送処理を停止することが可能である。
[転送方法の例]
図10は第2実施形態の転送方法の例を示すフローチャートである。はじめに、第1制御部11aが、第1記憶部2に記憶されたデータを、第2記憶部3又は第3記憶部4へ転送する指示を発行する(ステップS51)。具体的には、第1制御部11aは、転送情報を第2制御部11bに通知することにより、第2制御部11bにデータの転送を指示する。転送情報は、転送されるデータのサイズ、第1記憶部2の読み出しアドレス、並びに、第2記憶部3又は第3記憶部4の書き込みアドレス等を含む。
次に、第2制御部11bは、第1制御部11aから転送指示を受け付けると、第1記憶部2のデータを第2記憶部3又は第3記憶部4へ転送する転送制御処理を実行する(ステップS52)。第2制御部11bは、第2記憶部3へデータを転送する場合、第1転送部12aに転送処理を実行させ、第3記憶部4へデータを転送する場合、第2転送部12bに転送処理を実行させる。ステップS52の処理の詳細は、図11及び12を参照して後述する。
ステップS53の処理は、上述の図3のステップS3の説明と同じなので説明を省略する。
<転送制御処理の例>
図11は第2実施形態の第2制御部11bの処理の例を示すフローチャートである。はじめに、第2制御部11bが、第1優先度の転送指示があるか否かを判定する(ステップS61)。
第1優先度の転送指示がある場合(ステップS61,Yes)、第2制御部11bは、当該転送指示を示す転送情報を取得する(ステップS64)。転送情報は、例えば転送されるデータのサイズ、当該データの読み出しアドレス、及び、当該データの書き込みアドレス等を含む。ただし、第1転送部12aによる転送の場合は、書き込み先の送信バッファは第2記憶部3になるため、書き込みアドレスは省略してもよい。次に、第2制御部11bは、ステップS64の処理により取得された転送情報を第1転送部12aに入力することにより、第1転送部12aに転送を指示する(ステップS65)。次に、第2制御部11bは、第1転送部12aから転送完了通知を受信したか否かを判定する(ステップS66)。転送完了通知を受信していない場合(ステップS66,No)、第2制御部11bは、第1転送部12aから転送完了通知を受信するまで待機する。転送完了通知を受信した場合(ステップS66,Yes)、第2制御部11bは、転送が完了したことを示す完了通知を第1制御部11aに送信する(ステップS73)。なお、完了通知の通知方法は任意でよい。完了通知の通知方法としては、例えば割り込み信号による通知、及び、ディスクリプタの受け渡しによる通知等がある。
第1優先度の転送指示がない場合(ステップS61,No)、第2制御部11bは、中断中の転送指示があるか否かを判定する(ステップS62)。
中断中の転送指示がある場合(ステップS62,Yes)、第2制御部11bは、上述のスケジューリング情報を参照して、上述の最大データ要求サイズを決定し、第2転送部12bの転送を再開させる(ステップS67)。次に、第2制御部11bは、第2転送部12bから転送完了通知を受信したか否かを判定する(ステップS70)。転送完了通知を受信していない場合(ステップS70,No)、第2制御部11bは、転送中のデータよりも優先度の高い転送指示があるか否かを判定する(ステップS71)。転送中のデータよりも優先度の高い転送指示がない場合(ステップS71,No)、処理はステップS70に戻る。転送中のデータよりも優先度の高い転送指示がある場合(ステップS71,Yes)、第2制御部11bは、第2転送部12bの動作を一時停止させ(ステップS72)、処理を終了する(スタートに戻る)。転送完了通知を受信した場合(ステップS70,Yes)、第2制御部11bは、転送が完了したことを示す完了通知を第1制御部11aに送信する(ステップS73)。
中断中の転送指示がない場合(ステップS62,No)、第2制御部11bは、第2優先度の転送指示があるか否かを判定する(ステップS63)。第2優先度の転送指示がある場合(ステップS63,Yes)、第2制御部11bは、当該転送指示を示す転送情報を取得する(ステップS68)。次に、第2制御部11bは、スケジューリング情報を参照して、最大データ要求サイズを決定し、第2転送部12bの転送を指示する(ステップS69)。以降は、上述のステップS70〜ステップS73の処理を実行する。
第2優先度の転送指示がない場合(ステップS63,No)、処理を終了する(スタートに戻る)。
ここで、図11のフローチャートの例では、第2制御部11bは、第1優先度、中断中、第2優先度の順で転送指示があるか否かを判定するが、連続して第1優先度の処理が続かないように制御してもよい。
また、図11のフローチャートの処理の開始は、転送指示があるか否かを監視する形態としているが、第1制御部11aからの転送指示を受信したことをトリガーとして処理を開始してもよい。この場合は、必ず1つは転送指示が存在することになるので、ステップS63でNoに進むことはない。また、転送指示を受信したことをトリガーにする場合は、第1優先度のリクエスト発行処理完了時に、中断中の転送指示があるか否かを判定し、中断中の転送指示があれば、中断中の転送指示を再開させる動作が必要になる。
また、第2実施形態では、簡単のため、転送優先度の種類が、第1優先度(Express)、及び、第2優先度(Pre−emptable)の2つである場合を例にして説明しているが、転送優先度の種類は、3つ以上でもよい。3つ以上の転送優先度がある場合の構成も、転送優先度の順番に転送処理が実施される。
図12は第2実施形態の第1転送部12a及び第2転送部12bの転送処理の例を示すフローチャートである。図12に示すように、第1転送部12a(第2転送部12b)は、第1記憶部2に読み出しリクエストを発行する読み出し処理(ステップS81)と、第1記憶部2から受信されたデータを第2記憶部3(第3記憶部4)へ書き込む書き込み処理(ステップS82)とを非同期に実行する。
図13は第2実施形態の第1転送部12aの読み出しリクエスト発行処理の例を示すフローチャートである。はじめに、第1転送部12aは、第2制御部11bから転送指示を受け付けると、第1記憶部2に読み出しリクエストを発行する(ステップS91)。次に、第1転送部12aは、全データ(転送情報で指定されたデータサイズ分のデータ)のリクエストの発行を完了したか否かを判定する(ステップS92)。
全データのリクエストの発行を完了した場合(ステップS92,Yes)、処理は終了する(スタートに戻る)。
全データのリクエストの発行を完了していない場合(ステップS92,No)、リクエスト発行処理を継続する。この時、第1転送部12aは、要求中のデータサイズ(第1記憶部2にリクエストは発行したが、レスポンスを未受信なデータのサイズ)が最大データ要求サイズよりも小さいか否かを判定する(ステップS93)。
要求中のデータサイズが最大データ要求サイズよりも小さい場合(ステップS93,Yes)、第1転送部12aは、次のリクエスト発行処理を実行する(ステップS91に戻る)。
要求中のデータサイズが最大データ要求サイズ以上の場合(ステップS93,No)、第1転送部12aは、ステップS91の処理で発行されたリクエストのレスポンスがあったか否かを判定する(ステップS94)。レスポンスがない場合(ステップS94,No)、第1転送部12aは、レスポンスがあるまで待機する。レスポンスがあった場合(ステップS94,Yes)、ステップS93に戻る。
図14は第2実施形態の第2転送部12bの読み出しリクエスト発行処理の例を示すフローチャートである。はじめに、第2転送部12bが、第2制御部11bから一時停止指示があるか否かを判定する(ステップS101)。
一時停止指示がある場合(ステップS101,Yes)、処理は終了する(スタートに戻り、第2制御部11bからの再開指示を待つ)。第2転送部12bは、状態情報を保持し、第2制御部11bからの再開指示を受け付けると、当該状態情報を使用して、一時停止した状態からリクエスト発行処理を再開する。
一時停止指示がない場合(ステップS101,No)、ステップS102の処理に進む。ステップS102〜ステップS105の処理は、上述の図13のステップS91〜ステップS94の処理と同様であるため、説明を省略する。ただし、ステップS104でYesの場合、ステップS101の処理に戻り、第2制御部11bから一時停止指示があるか否かを判定する点が、第1転送部12aの読み出しリクエスト発行処理とは異なる。
図15は第2実施形態の第1転送部12a及び第2転送部12bのデータ受信処理及び書き込み処理の例を示すフローチャートである。はじめに、第1転送部12a(第2転送部12b)が、第1記憶部2からデータを受信する(ステップS111)。次に、第1転送部12a(第2転送部12b)が、ステップS111の処理により受信されたデータを送信バッファに書き込む(ステップS112)。なお、第1転送部12aの送信バッファは第2記憶部3であり、第2転送部12bの送信バッファは第3記憶部4である。
次に、第1転送部12a(第2転送部12b)は、転送指示により指定された全データの転送が完了したか否かを判定する(ステップS113)。転送指示により指定された全データの転送が完了していない場合(ステップS113,No)、処理はステップS111に戻る。
転送指示により指定された全データの転送が完了した場合(ステップS113,Yes)、第1転送部12a(第2転送部12b)は、完了通知を第2制御部11bに通知し(ステップS114)、処理を終了する(スタートに戻る)。
以上説明したように、第2実施形態の通信装置100−2(転送装置1−2)では、第2制御部11bが、スケジューリング情報を基に上述の最大データ要求サイズを変更する。これにより第1実施形態の通信装置100(転送装置1)の場合と同様の効果を得ることができる。
(第3実施形態)
次に第3実施形態について説明する。第3実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
[機能構成の例]
図16は第3実施形態の通信装置100−3の機能構成の例を示す図である。第3実施形態の通信装置100−3は、転送装置1−3、第1記憶部2、第2記憶部3、第3記憶部4、状態記憶部5、第1出力部6a、第2出力部6b及び第4記憶部7を備える。転送装置1−3は、制御部11c、第1転送部12c、第2転送部12d及びスケジューリング情報記憶部13を備える。
制御部11cは、通信装置100−3全体を制御する。具体的には、制御部11cは、例えば第1転送部12c及び第2転送部12dを制御(初期化及びデータ転送指示等)する。また例えば、制御部11cは、第1出力部6aに接続された第1機器、及び、第2出力部6bに接続された第2機器へ送信されるフレーム(パケット)等のデータを生成する。また例えば、制御部11cは、スケジューリング情報を生成する。
第1転送部12cの動作は、第1実施形態の転送部12の動作と同じなので説明を省略する。
第2転送部12dは、第1記憶部2と第4記憶部7との間のデータ転送を制御する。第2転送部12dは、上述のスケジューリング情報を参照して、第1記憶部2への読み出しリクエストの発行処理、及び、第1記憶部2への書き込みリクエストの発行処理で使用される上述の最大データ要求サイズを決定する。
第4記憶部7は、第2機器とのデータの受け渡しを行うためのバッファ領域を有する。第4記憶部7の具体的な形態は任意でよい。第4記憶部7は、例えばSRAM、SDRAM、SSD、HDD及びSDカード等の記憶装置である。
第1出力部6aは、第1機器とのデータの受け渡し処理を実行する。第1出力部6aに接続される第1機器は、例えば通信機器である。
第2出力部6bは、第2機器とのデータの受け渡し処理を実行する。第2機器は任意でよい。第2機器は、例えば通信機器、ストレージ装置及びグラフィック処理装置等である。
第1機器へ出力されるデータの転送処理の説明は、第1実施形態と同様なので省略する。以下、第2機器へ出力されるデータの転送処理について説明する。
はじめに、制御部11cが、第2機器とのデータの転送処理及び出力処理を、第2転送部12d及び第2出力部6bに指示する。第2転送部12dは、制御部11cから指示された転送情報を基に、第1記憶部2と第4記憶部7との間のデータ転送処理を実行する。転送情報は、例えば転送データサイズ、読み出し元のアドレス、及び、宛先アドレス等を含む。
第2出力部6bからデータが出力される場合は、読み出し元が第1記憶部2になり、書き込み先が第4記憶部7になる。第2出力部6bからデータが取得される場合は、読み出し元が第4記憶部7になり、書き込み先が第1記憶部2になる。
ここで、第2機器とのデータ転送処理は、第1機器とのデータ転送処理と非同期に実行される。第1及び第2機器は、第1記憶部2及びバスを共有している。そのため、第2機器とのデータ転送処理によって第1記憶部2及びバスのアクセス負荷が高くなると、第1機器の高優先度(第1優先度)のデータの送信タイミングに影響を与えてしまう可能性がある。
前述のとおり、高優先度のデータには、機器の制御信号等のリアルタイム通信が必要なデータが想定される。第2機器とのデータ転送処理の負荷が高くなり、これらのリアルタイム通信の送信タイミングに影響を与えてしまうと、システム全体に重大な問題を発生する可能性がある。このため、第2転送部12dは、スケジューリング情報を参照して、第1出力部6aの処理タイミングを特定し、当該処理タイミングを考慮して、第1記憶部2へアクセスする際の上述の最大データ要求サイズを決定する。具体的には、第2転送部12dは、第1実施形態と同様に、高優先度なデータ転送が発生する可能性があれば、最大データ要求サイズに小さい値(例えば閾値未満の値)を設定し、発生する可能性がなければ大きな値(例えば閾値以上の値)を設定する。また、第1機器へのデータ転送のために第2記憶部3へ高優先度データの書き込み処理が発生している時は、第2転送部12dが、第1記憶部2へリクエストを発行しないようにする制御をしてもよい。
以上説明したように、第3実施形態の通信装置100−3(転送装置1−3)では、第2転送部12dが、スケジューリング情報を参照して、第1出力部6aの処理タイミングを特定し、当該処理タイミングを考慮して、第1記憶部2へアクセスする際の上述の最大データ要求サイズを決定する。これにより、第1機器とのデータ転送処理とは非同期に動作する第2機器とのデータ転送処理が、第1機器とのデータ転送処理に与える影響を最小化できる。例えば、第1機器とのデータ転送において、低優先度のデータ転送処理中に高優先度のデータ転送処理が発生した場合には、即座に処理を割り込ませることを可能にしつつ、全体的な転送効率を最大化することが可能になる。
(第4実施形態)
次に第4実施形態について説明する。第4実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第4実施形態の説明では、より具体的な構成を例示して説明する。
図17は第4実施形態の通信装置100−4の構成の例を示す図である。第4実施形態の通信装置100−4は、ホスト201及びNIC202を備える。ホスト201は、CPU211及びメモリ212を備える。CPU211、メモリ212及びPCIe213は、バス214を介して接続される。
ホスト201及びNIC202は、PCIe213を介して接続される。なおホスト201及びNIC202の接続方法は、PCIe213に限られず、他の方式でもよい。
NIC202は、DMAC221、DMA状態情報222、802.1Qbv処理部220、及び、802.1Qbu/802.3br処理部230を備える。
CPU211は、通信装置100−4全体の様々な処理を実行する。CPU211は、例えば各アプリケーションの処理、通信プロトコル処理、NIC202の初期化処理及び制御処理等を実行する。CPU211は、例えば上述の制御部11に対応する。
メモリ212は、アプリケーションプログラム、アプリケーションデータ、OS(Operating System)、及び、プロトコルスタック等を記憶する。
802.1Qbv処理部220は、IEEE 802.1Qbvの処理を実行する。
具体的には、送信キュー224及び225a〜225cは、転送対象のデータを記憶する。送信キュー224(Scheduled Queue)は、例えばリアルタイム性が要求されるトラフィックのデータを記憶する。送信キュー224は、例えば上述の第2記憶部3に対応する。送信キュー225a〜225c(Best Effort Queue)は、例えばベストエフォート型のトラフィックのデータが記憶される。送信キュー225a〜cは、例えば上述の第3記憶部4に対応する。転送対象のデータは、例えば転送対象のデータが属するトラフィッククラスに基づいて、送信キュー224及び225a〜225cのいずれかに記憶される。
ゲートドライバー226は、IEEE 802.1Qbvのゲートコントロールリスト223に設定されたタイミングで、各送信キュー224及び225a〜225cのゲート227a〜227dの開閉処理を制御する。これにより、スケジューリングされたタイミングで各トラフィッククラスの送信タイミングを制御することが可能になる。ゲートドライバー226は、例えば上述の出力部6に対応する。ゲートコントロールリスト223は、例えば上述のスケジューリング情報記憶部13に記憶されたスケジューリング情報に対応する。
ゲートコントロールリスト223に設定されるゲートの開閉情報(スケジューリング情報)は、CPU211上で動作する制御アプリケーションが設定してもよいし、IEEE 802.1Qcc(Stream Reservation Protocol)等によって外部機器から設定されてもよい。ここで、各トラフィッククラスのうち、送信キュー224はeMACに接続され、送信キュー225a〜225cはpMACに接続される。
802.1Qbu/802.3br処理部230は、IEEE 802.1Qbu/IEEE 802.3brの処理を実行する。具体的には、802.1Qbu/802.3br処理部230は、pMACが、送信キュー225a〜225cに記憶されたデータ(Preemptable)の送信中に、送信キュー224にデータ(Express)が書き込まれると、pMACの処理を停止し、eMACの処理を割り込ませる。そして、802.1Qbu/802.3br処理部230は、eMACの処理が終了すると、pMACの処理を再開する。これにより、高優先度なデータを低レイテンシで送信することが可能になる。
DMAC221は、例えば上述の転送部12に対応する。DMA状態情報222は、例えば上述の状態記憶部5に記憶された状態情報に対応する。DMAC221は、ゲートコントロールリスト223を参照して、メモリ212へアクセスする際の最大データ要求サイズを決定する。これにより802.1Qbvの送信制御と連動して最大データ要求サイズを決定することができる。そのため、メモリ212に用意されたバッファ(アプリケーションバッファ及びプロトコルスタックのバッファ等)から、高優先度データを即座に送信キュー224(Scheduled Queue)へ投入することが可能になる。
以上説明したように、第4実施形態の通信装置100−4では、CPU211又はDMAC221が、ゲートコントロールリスト223を用いて、上述の最大データ要求サイズを変更する。これによりIEEE 802.1Qbu/IEEE 802.3brのExpressデータを、送信キュー224(Scheduled Queue)に即座に書き込むことを可能にしつつ、送信キュー225a〜225c(Best Effort Queue)に記憶されたデータの送信効率をより高くすることが可能になる。
(第4実施形態の変形例)
なお、データ転送のスケジューリング方法として、パケット毎のスケジューリング方法、及び、ストリーム毎のスケジューリング方法を使用してもよい。
図18は第4実施形態の変形例のスケジューリング方法の例を説明するための図である。図18では、通信相手の宛先アドレス及び優先度等によって、ストリーム単位でメモリ212上にバッファが保持される。各ストリームは、トラフィッククラス(TC)のどれか1つに属する。
各アプリケーションA〜Cは、パケット毎に送信タイミングを制御して、該当するストリームのバッファにパケットを書き込む。図18の例では、例えばプロトコルスタック等の通信処理により、ストリーム毎にトラフィッククラスのキューに書き込むタイミングが制御される。このため、上述の図17のCPU211又はDMAC221は、アプリケーションA〜Cが制御するパケット毎の送信スケジューリング情報、及び、プロトコルスタック等が制御するストリーム毎の送信スケジューリング情報等を参照して、上述の最大データ要求サイズを決定する。また、CPU211又はDMAC221は、これらの複数のスケジューリング情報を参照して、最大データ要求サイズを決定してもよい。また、CPU211又はDMAC221は、パケット毎、ストリーム毎又はトラフィッククラス毎に最大データ要求サイズを決定してもよい。
なお、上述の第1乃至第4実施形態の通信装置100(転送装置1)は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、上述の第1乃至第4実施形態の通信装置100の機能構成のうち、プログラムにより実現させることができる機能を、コンピュータ装置に搭載されたプロセッサに当該プログラムを実行させることにより実現させることができる。このとき、通信装置100は、例えばプログラムをコンピュータ装置にあらかじめインストールすることで実現されてもよい。また例えば、通信装置100は、CD−ROM等の記憶媒体に記憶されたプログラムをコンピュータ装置に適宜インストールすることで実現されてもよい。また例えば、通信装置100は、ネットワークを介して配布されたプログラムをコンピュータ装置に適宜インストールすることで実現されてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 転送装置
2 第1記憶部
3 第2記憶部
4 第3記憶部
5 状態記憶部
6 出力部
7 第4記憶部
11 制御部
12 転送部
13 スケジューリング情報記憶部
100 通信装置
201 ホスト
202 NIC
211 CPU
212 メモリ
213 PCIe
214 バス
220 802.1Qbv処理部
221 DMAC
222 DMA状態情報
223 ゲートコントロールリスト
224 送信キュー
225 送信キュー
226 ゲートドライバー
227 ゲート
230 802.1Qbu/802.3br処理部

Claims (12)

  1. データの転送が発生するタイミングの予定を示すスケジューリング情報を参照して、読出完了通知の受信を待たずに、第1記憶部から第2記憶部へ前記データの転送を要求可能な最大データ要求サイズを動的に制御する制御部と、
    前記第1記憶部から前記データを読み出し、前記データを前記最大データ要求サイズ以下の最大データ転送サイズ毎に前記第2記憶部へ転送する第1転送部と、
    を備える転送装置。
  2. 前記スケジューリング情報は、前記データの転送優先度を示す情報を含み、
    前記制御部は、第1の前記データの転送割り込みが、前記第1のデータよりも前記転送優先度が低い第2の前記データの転送中に発生する可能性があるタイミングでは、前記第2のデータの最大データ要求サイズを閾値未満の値に制御し、前記転送割り込みが発生する可能性がないタイミングでは、前記第2のデータの最大データ要求サイズを前記閾値以上の値に制御する、
    請求項1に記載の転送装置。
  3. 前記転送割り込みにより転送が中断された前記第2のデータの状態を示す状態情報を記憶する状態記憶部を更に備え、
    前記第1転送部は、前記第1のデータの転送が終了した後、前記状態情報を参照して、中断された前記第2のデータの転送を再開する、
    請求項2に記載の転送装置。
  4. 前記第1記憶部から前記第2のデータを読み出し、前記第2のデータを前記第2のデータの前記最大データ転送サイズ毎に分割して、第3記憶部へ転送する第2転送部を更に備え、
    前記第1転送部は、前記第1記憶部から前記第1のデータを読み出し、前記第1のデータを前記第1のデータの前記最大データ転送サイズ毎に分割して、前記第2記憶部へ転送し、
    前記制御部は、前記スケジューリング情報を参照して、読出完了通知の受信を待たずに、第1記憶部から第3記憶部へ前記第2のデータの転送を要求可能な最大データ要求サイズを動的に制御し、前記第2転送部により前記第2のデータが転送されているときに、前記第1転送部による前記第1のデータの転送割り込みが発生した場合、前記第2転送部による前記第2のデータの転送を中断させる、
    請求項2に記載の転送装置。
  5. 前記制御部は、前記スケジューリング情報を参照して、読出完了通知の受信を待たずに、第1記憶部から第3記憶部へ前記第2のデータの転送を要求可能な最大データ要求サイズを動的に制御し、
    前記第1転送部は、前記第1記憶部から前記第1のデータを読み出した場合、前記第1のデータを前記第1のデータの前記最大データ転送サイズ毎に分割して、前記第2記憶部へ転送し、前記第1記憶部から前記第2のデータを読み出した場合、前記第2のデータを前記第2のデータの前記最大データ転送サイズ毎に分割して、前記第3記憶部へ転送し、
    前記第2記憶部に記憶された前記第1のデータと、前記第3記憶部に記憶された前記第2のデータとは、第1機器へ出力される、
    請求項2に記載の転送装置。
  6. 前記制御部は、前記スケジューリング情報を参照して、更に、読出完了通知の受信を待たずに、第1記憶部から第4記憶部へ第3の前記データの転送を要求可能な最大データ要求サイズを動的に制御し、
    前記第1記憶部から前記第3のデータを読み出し、前記第3のデータを前記第3のデータの前記最大データ転送サイズ毎に分割して、前記第4記憶部へ転送する第2転送部を更に備え、
    前記第4記憶部に記憶された前記第3のデータは、第2機器へ出力される、
    請求項5に記載の転送装置。
  7. 前記スケジューリング情報は、IEEE 802.1Qbvのゲートコントロールリストである、
    請求項1に記載の転送装置。
  8. 前記データは、通信機器へ送信されるフレームであり、
    前記制御部は、フレーム毎に前記最大データ要求サイズを決定する、
    請求項1に記載の転送装置。
  9. 前記データは、通信機器へ送信されるフレームであり、
    前記制御部は、前記フレームが属するストリーム毎に前記最大データ要求サイズを決定する、
    請求項1に記載の転送装置。
  10. 前記データは、通信機器へ送信するフレームであり、
    前記制御部は、前記フレームが属するトラフィッククラス毎に前記最大データ要求サイズを決定する、
    請求項1に記載の転送装置。
  11. データの転送が発生するタイミングの予定を示すスケジューリング情報を参照して、読出完了通知の受信を待たずに、第1記憶部から第2記憶部へ前記データの転送を要求可能な最大データ要求サイズを動的に制御するステップと、
    前記第1記憶部から前記データを読み出し、前記データを前記最大データ要求サイズ以下の最大データ転送サイズ毎に前記第2記憶部へ転送するステップと、
    を含む転送方法。
  12. コンピュータを、
    データの転送が発生するタイミングの予定を示すスケジューリング情報を参照して、読出完了通知の受信を待たずに、第1記憶部から第2記憶部へ前記データの転送を要求可能な最大データ要求サイズを動的に制御する制御部と、
    前記第1記憶部から前記データを読み出し、前記データを前記最大データ要求サイズ以下の最大データ転送サイズ毎に前記第2記憶部へ転送する第1転送部、
    として機能させるためのプログラム。
JP2017175973A 2017-09-13 2017-09-13 転送装置、転送方法及びプログラム Active JP6833644B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017175973A JP6833644B2 (ja) 2017-09-13 2017-09-13 転送装置、転送方法及びプログラム
US15/908,386 US10412017B2 (en) 2017-09-13 2018-02-28 Transfer device, transfer method, and computer program product
EP18159500.0A EP3457644B1 (en) 2017-09-13 2018-03-01 Transfer device, transfer method, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017175973A JP6833644B2 (ja) 2017-09-13 2017-09-13 転送装置、転送方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019054350A true JP2019054350A (ja) 2019-04-04
JP6833644B2 JP6833644B2 (ja) 2021-02-24

Family

ID=61691620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017175973A Active JP6833644B2 (ja) 2017-09-13 2017-09-13 転送装置、転送方法及びプログラム

Country Status (3)

Country Link
US (1) US10412017B2 (ja)
EP (1) EP3457644B1 (ja)
JP (1) JP6833644B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032208B2 (en) 2019-03-14 2021-06-08 KABUSHIKl KAISHA TOSHIBA Information processing apparatus, information processing method, and computer program product
WO2022185581A1 (ja) * 2021-03-03 2022-09-09 オムロン株式会社 制御装置およびデータ転送方法
JP2022548522A (ja) * 2019-09-20 2022-11-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド パケット転送方法およびパケット転送装置、システム、デバイス、並びに記憶媒体
WO2022259540A1 (ja) * 2021-06-11 2022-12-15 日本電信電話株式会社 信号転送装置、信号転送方法、及びプログラム
WO2022264230A1 (ja) * 2021-06-14 2022-12-22 日本電信電話株式会社 通信制御装置、通信制御方法、及びプログラム
WO2023276635A1 (ja) * 2021-07-02 2023-01-05 株式会社オートネットワーク技術研究所 通信装置、中継装置及び通信方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694370B2 (en) * 2017-10-06 2020-06-23 The Toronto-Dominion Bank System and method for selectively enabling a data transfer method
JP6839113B2 (ja) * 2018-02-01 2021-03-03 日本電信電話株式会社 転送装置及び転送方法
JP6839112B2 (ja) * 2018-02-01 2021-03-03 日本電信電話株式会社 転送装置及び転送方法
JP6889126B2 (ja) 2018-03-20 2021-06-18 株式会社東芝 転送制御装置、転送制御方法及びプログラム
WO2020236277A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating tracer packets in a data-driven intelligent network
CN110784418B (zh) * 2019-10-24 2022-06-24 烽火通信科技股份有限公司 一种基于时延约束的数据发送方法及系统
DE102020203113A1 (de) * 2020-03-11 2021-09-16 Siemens Healthcare Gmbh Paketbasiertes Multicast-Kommunikationssystem
US11228942B2 (en) * 2020-03-27 2022-01-18 Mitsubishi Electric Research Laboratories, Inc. Scheduling data traffic in wireless time sensitive networks
US12001365B2 (en) * 2020-07-07 2024-06-04 Apple Inc. Scatter and gather streaming data through a circular FIFO
US11726713B2 (en) * 2021-06-25 2023-08-15 Western Digital Technologies, Inc. Systems and methods for priority command data fetching management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256171A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd データ転送方法及びモジュール
JP2008269282A (ja) * 2007-04-20 2008-11-06 Sony Corp 情報処理装置および方法、並びにプログラム
JP2012003636A (ja) * 2010-06-18 2012-01-05 Canon Inc 電子機器及びその制御方法
JP2014038651A (ja) * 2013-10-10 2014-02-27 Fujitsu Ltd マルチプロセッサシステム、制御方法、および制御プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5912242B2 (ja) 1976-01-20 1984-03-22 ヤンマー農機株式会社 田植機
JP4373887B2 (ja) 2004-09-30 2009-11-25 Okiセミコンダクタ株式会社 パケット処理方法
JP2007249357A (ja) 2006-03-14 2007-09-27 Toyota Motor Corp 情報処理装置、分散処理システム及びタスク管理方法
WO2008115448A1 (en) * 2007-03-15 2008-09-25 Interdigital Technology Corporation Flexible pdu sizes for unacknowledged mode radio link control
JP5293516B2 (ja) 2009-09-10 2013-09-18 株式会社リコー データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
JP5258938B2 (ja) 2011-07-26 2013-08-07 株式会社日立製作所 通信装置
US10484287B2 (en) * 2013-05-15 2019-11-19 Avago Technologies International Sales Pte. Limited Support for distinguished minimum latency traffic guard band
JP6160236B2 (ja) * 2013-05-20 2017-07-12 富士通株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP2015052844A (ja) * 2013-09-05 2015-03-19 富士通株式会社 コピー制御装置,コピー制御方法及びコピー制御プログラム
US10404608B2 (en) * 2014-10-31 2019-09-03 Huawei Technologies Co., Ltd. Systems, devices, and methods for low-jitter communication over a packet-switched network
EP3057273B1 (en) * 2015-02-13 2019-03-27 Mitsubishi Electric R&D Centre Europe B.V. Method for a traffic shaping in a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256171A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd データ転送方法及びモジュール
JP2008269282A (ja) * 2007-04-20 2008-11-06 Sony Corp 情報処理装置および方法、並びにプログラム
JP2012003636A (ja) * 2010-06-18 2012-01-05 Canon Inc 電子機器及びその制御方法
JP2014038651A (ja) * 2013-10-10 2014-02-27 Fujitsu Ltd マルチプロセッサシステム、制御方法、および制御プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032208B2 (en) 2019-03-14 2021-06-08 KABUSHIKl KAISHA TOSHIBA Information processing apparatus, information processing method, and computer program product
JP2022548522A (ja) * 2019-09-20 2022-11-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド パケット転送方法およびパケット転送装置、システム、デバイス、並びに記憶媒体
US11831554B2 (en) 2019-09-20 2023-11-28 Huawei Technologies Co., Ltd. Packet forwarding method and apparatus, system, device, and storage medium
JP7388646B2 (ja) 2019-09-20 2023-11-29 ホアウェイ・テクノロジーズ・カンパニー・リミテッド パケット転送方法およびパケット転送装置、システム、デバイス、並びにプログラム
WO2022185581A1 (ja) * 2021-03-03 2022-09-09 オムロン株式会社 制御装置およびデータ転送方法
WO2022259540A1 (ja) * 2021-06-11 2022-12-15 日本電信電話株式会社 信号転送装置、信号転送方法、及びプログラム
WO2022264230A1 (ja) * 2021-06-14 2022-12-22 日本電信電話株式会社 通信制御装置、通信制御方法、及びプログラム
WO2023276635A1 (ja) * 2021-07-02 2023-01-05 株式会社オートネットワーク技術研究所 通信装置、中継装置及び通信方法

Also Published As

Publication number Publication date
US20190081903A1 (en) 2019-03-14
US10412017B2 (en) 2019-09-10
JP6833644B2 (ja) 2021-02-24
EP3457644A1 (en) 2019-03-20
EP3457644B1 (en) 2020-09-23

Similar Documents

Publication Publication Date Title
JP6833644B2 (ja) 転送装置、転送方法及びプログラム
JP6889126B2 (ja) 転送制御装置、転送制御方法及びプログラム
JP5768683B2 (ja) 受信データ処理方法、通信装置、及びプログラム
US10884786B2 (en) Switch device, switching method, and computer program product
JP7000088B2 (ja) 通知制御装置、通知制御方法及びプログラム
EP3461086B1 (en) Communication apparatus, communication method and computer-readable medium
WO2019157849A1 (zh) 一种资源调度的方法、装置、设备及系统
WO2011157026A1 (zh) 音频传输的实现方法及移动终端
CN211207146U (zh) 一种具有双数据通道的EtherCAT主站系统
TWI478055B (zh) 非對稱式處理之多核心系統與其網路設備
JP7354361B2 (ja) 処理装置、処理方法及びプログラム
JP7309579B2 (ja) 通信装置、通信方法及びプログラム
JP7451438B2 (ja) 通信装置、通信システム、通知方法及びプログラム
JP7435054B2 (ja) 通信装置、通信装置の制御方法、および集積回路
JP4373887B2 (ja) パケット処理方法
JP7435055B2 (ja) 通信装置、通信装置の制御方法、および集積回路
JP5587530B2 (ja) エンジン・プロセッサ連携システム及び連携方法
WO2022195826A1 (ja) サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラム
WO2023123377A1 (zh) 一种调度网络流量的方法、装置以及系统
JP2005174097A (ja) ホストインタフェース制御装置及び制御方法並びに制御プログラム
JP2017163346A (ja) 通信装置、方法、及びプログラム
JP5303593B2 (ja) パケット送信制御装置及びパケット送信制御方法
JP2008136075A (ja) スケジューリング装置およびスケジューリング方法ならびにホスト装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201203

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: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R151 Written notification of patent or utility model registration

Ref document number: 6833644

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151