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

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

Info

Publication number
JP2019165380A
JP2019165380A JP2018052532A JP2018052532A JP2019165380A JP 2019165380 A JP2019165380 A JP 2019165380A JP 2018052532 A JP2018052532 A JP 2018052532A JP 2018052532 A JP2018052532 A JP 2018052532A JP 2019165380 A JP2019165380 A JP 2019165380A
Authority
JP
Japan
Prior art keywords
data
transfer
priority
transmission buffer
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
JP2018052532A
Other languages
English (en)
Other versions
JP6889126B2 (ja
Inventor
優太 小林
Yuta Kobayashi
優太 小林
ヤースィン オゲ
Oge Yasin
ヤースィン オゲ
隆博 山浦
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 JP2018052532A priority Critical patent/JP6889126B2/ja
Priority to EP18191798.0A priority patent/EP3544247B1/en
Priority to US16/117,381 priority patent/US10778594B2/en
Publication of JP2019165380A publication Critical patent/JP2019165380A/ja
Application granted granted Critical
Publication of JP6889126B2 publication Critical patent/JP6889126B2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/568Calendar queues or timing rings
    • 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/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/722Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/741Holding a request until resources become available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/801Real time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/821Prioritising resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time

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)
  • Mechanical Engineering (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信部からデータが送信されるタイミングを考慮して、通信部にデータを転送する制御を行う。【解決手段】実施形態の転送制御装置は、通信装置に記憶されたデータの転送を制御する転送制御装置であって、制御部と判定部とを備える。制御部は、前記データを第1送信バッファに転送する制御を行う。判定部は、前記通信装置の状態に応じて、転送が制限されるデータを決定する。前記制御部は、転送が制限される場合、転送が制限されているデータの転送を遅延させる。【選択図】図1

Description

本発明の実施形態は転送制御装置、転送制御方法及びプログラムに関する。
工場内の各産業用機器間を接続する産業用ネットワーク、及び、車内の制御コントローラを接続する車載ネットワークなどの分野では、高いリアルタイム性が求められる。近年、産業用ネットワーク及び車載ネットワークなどでは、イーサネット(登録商標)などの通信規格の利用が進んでおり、様々なリアルタイムイーサネット規格が提案されている。
特開2016−82363号公報
しかしながら、従来の技術では、通信部からデータが送信されるタイミングを考慮して、通信部にデータを転送する制御ができなかった。
実施形態の転送制御装置は、通信装置に記憶されたデータの転送を制御する転送制御装置であって、制御部と判定部とを備える。制御部は、前記データを第1送信バッファに転送する制御を行う。判定部は、前記通信装置の状態に応じて、転送が制限されるデータを決定する。前記制御部は、転送が制限される場合、転送が制限されているデータの転送を遅延させる。
第1実施形態の通信装置の機能構成の例を示す図。 第1実施形態のアプリケーション部の動作の例を示すフローチャート。 第1実施形態の制御部の動作の例を示す図。 第1実施形態の制御部の機能構成の例を示す図。 第1実施形態の発行処理部及び判定部の動作(ステップS11)の詳細を示すフローチャート。 第1実施形態の発行処理部の動作(ステップS24及びS28)の詳細を示すフローチャート。 第1実施形態の送信完了処理部の動作(ステップS12)の詳細を示すフローチャート。 第2実施形態の通信装置の機能構成の例を示す図。 第2実施形態の判定方法の例を示す図。 第2実施形態の判定方法の例を示す図。 第2実施形態の発行処理部及び判定部の動作(ステップS11)の詳細を示すフローチャート。 第3実施形態の通信装置の機能構成の例を示す図。 第3実施形態の判定方法の例を示す図。 第3実施形態の転送制御の例を説明するための図。 第3実施形態の転送制御の例を説明するための図。 第3実施形態の発行処理部及び判定部の動作(ステップS11)の詳細を示すフローチャート。 第1乃至第3実施形態の通信装置及び転送制御装置のハードウェア構成の例を示す図。
以下に添付図面を参照して、転送制御装置、転送制御方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
はじめに、高いリアルタイム性が求められる産業用ネットワーク及び車載ネットワークなどの分野で利用されている規格の例について説明する。
例えば、イーサネット(登録商標)上でリアルタイム性を実現する規格として、TSN(Time−Sensitive Networking)の規格化が、IEEE 802.1 TSN Taskで進んでいる。TSNは複数の規格から構成される。TSNは、プロオーディオなどで用いられている低遅延性を実現するAVB(Audio/Video Bridging)を拡張した規格である。TSNは、産業用ネットワーク及び車載ネットワークなどにも適用できるようにするため、AVBよりも高いリアルタイム性に加えて、高信頼性の実現を目指す規格である。
TSN規格の1つにIEEE 802.1Qbvがある。IEEE 802.1Qbvは、優先度が異なる複数の送信バッファ(IEEE 802.1Qbvでは、送信キュー)を事前に設定したスケジューリング情報(ゲートコントロールリスト)に従って制御することで、優先度ごとにデータ(フレーム)の送信タイミングを厳密に制御することが可能になる。各送信バッファにはデータの送信を許可するゲートを設ける。ゲートが開いている場合(オープン)は、データの送信が許可され、閉じている場合(クローズ)はデータの送信は禁止される。
ゲートコントロールリストには、一周期分の各ゲートの状態が格納される。IEEE 802.1Qbvに対応したNIC(Network Interface Card)などは、現在時刻、ゲートコントロールリスト、及び、ゲートコントロールの開始時刻などから、現在送信可能な優先度の送信バッファを選択してデータの送信処理を実施する。このように、データ送信タイミングが、ゲートコントロールリストに従って、厳密に制御されることで、優先度が異なるデータ間での送信タイミングの衝突を防ぎ、送信遅延時間及び送信時間の揺らぎを小さくすることが可能になる。
ただし、IEEE 802.1Qbvの送信制御は、NICに利用される送信バッファに投入された後のイーサネットフレームに対して実行される。また、MACなどよりも上位のプロトコル処理を担当するネットワークスタックやアプリケーションは、IEEE 802.1Qbvの送信制御とは独立に処理される。つまり、メインメモリなどから、NICにより利用される送信バッファへデータを転送するDMA(Direct Memory Access)処理などは、IEEE 802.1Qbvの送信制御のタイミングとは非同期に実行される。このため、メモリ及びバス等へのアクセスが混雑している場合、低優先度データのDMA処理が高優先度データのDMA処理に影響を与える可能性がある。低優先度データのDMA処理がメモリ及びバス等を占有してしまうと、例えばアプリケーションや上位ネットワークスタック等では高優先度データの準備が完了しているにも関わらず、ゲートが開くタイミングまでにデータを送信バッファに投入できないといった問題(課題)が発生する。
次に、実施形態の通信装置の機能構成の例について説明する。
[機能構成の例]
図1は第1実施形態の通信装置10の機能構成の例を示す図である。第1実施形態の通信装置10は、例えば外部の機器へデータを送信する装置である。具体的には、第1実施形態の通信装置10は、例えばパーソナルコンピュータ、サーバ装置、専用LSI(Large−Scale Integration)、及び、FPGA(Field Programmable Gate Array)などの装置である。
第1実施形態の通信装置10は、アプリケーション部1、記憶部2、送信バッファ3、転送部4、転送制御装置5及び通信部6を備える。転送制御装置5は、制御部51及び判定部52を備える。
アプリケーション部1は、任意の機能を実行するアプリケーションにより実現される。アプリケーション部1は、外部の機器へ送信されるデータを生成する。アプリケーション部1は、外部の機器へデータを送信する送信要求を制御部51に入力する。送信要求は、データ送信を制御する制御情報を含む。
制御情報は、例えば読み出しアドレス、書き込みアドレス、データサイズ、及び、優先度(属性)などを含む。読み出しアドレスは、読み出し元の領域の先頭アドレスを示す。書き込みアドレスは、書き込み先の領域の先頭アドレスを示す。データサイズは、送信対象のデータのサイズを示す。優先度(属性)は、データ送信の優先度を示す。第1実施形態の通信装置10では、優先度は、例えばリアルタイム又はベストエフォートなどである。
なお、アプリケーション部1は複数あってもよい。例えば、車載システムを例にすると、ブレーキ制御などのリアルタイム性が求められるアプリケーション、カーナビなどのインフォテインメント、及び、走行記録などのデータを送信するアプリケーションなどのように、複数のアプリケーションが動作することが想定される。
記憶部2はデータを記憶する。記憶部2に記憶されるデータは、例えばアプリケーション部1により生成されたデータである。また例えば、記憶部2に記憶されるデータは、アプリケーション部1及び制御部51で実行されるプログラム、転送部4の制御情報、及び、外部の機器と通信するためのセッション情報などである。
具体的には、記憶部2は、例えばSRAM(Static Random Access Memory)、SDRAM(Synchronous Dynamic Random Access Memory)、SSD(Solid State Drive)、HDD(Hard Disk Drive)、及びSDカードなどの記憶装置である。なお、記憶部2は、物理的に分離された複数の記憶装置により構成してもよい。
送信バッファ3はデータを記憶する。送信バッファ3は、例えば外部の機器に送信されるデータ(フレーム)を一時的に記憶する。
具体的には、送信バッファ3は、例えばSRAM、SDRAM、SSD、HDD及びSDカードなどの記憶装置である。なお、送信バッファ3は、物理的に分離された複数の記憶装置により構成してもよい。また、記憶部2及び送信バッファ3を、論理的に分離された単一の記憶装置により構成してもよい。
転送部4は、制御部51から、上述の送信要求で指定されたデータの転送を要求する転送要求を受け付けると、記憶部2と送信バッファ3との間のデータ転送を行う。
具体的には、転送部4は、例えばDMAC(Direct Memory Access Controller)である。転送要求は、例えばDMA要求である。
制御部51は、データを送信バッファ3に転送する制御を行う。具体的には、制御部51は、アプリケーション部1から、上述の送信要求を受け付けると、記憶部2に記憶された当該データを送信バッファ3に転送する転送要求を転送部4に入力する(転送要求の発行)。制御部51は、転送部4から転送完了通知を受け付けると、転送が完了したデータの送信要求を通信部6に入力する。通信部6に入力される送信要求は、例えば送信されるデータ(フレーム)のアドレス及びデータサイズなどを含む。
なお、制御部51は、転送要求の発行の他に、データに対するプロトコル処理を更に実行してもよい。プロトコル処理は、例えば記憶部2に記憶されたデータから、1フレーム分のデータを抽出し、当該データにIP(Internet Protocol)ヘッダ、TCP(Transmission Control Protocol)ヘッダ、及び、イーサネットヘッダなどを付加する処理などである。
また、制御部51は、転送が制限されているデータを示す通知を判定部52から受け付けた場合、例えば、当該転送が制限されているデータの転送を遅延させる。なお、転送が制限されているデータの転送制御方法は任意でよい。例えば、制御部51は、転送が制限されているデータの転送を禁止してもよい。また例えば、制御部51は、転送が制限されている複数のデータのうち、一部のデータの転送を許可し、一部のデータの転送を遅延させてもよい(又は一部のデータの転送を禁止してもよい)。
判定部52は、通信装置10の状態に応じて、転送が制限されるデータを決定する。具体的には、判定部52は、例えばメモリ及びバスのアクセス負荷などの状態から、低優先度データの転送要求の発行を許可するか否かを判定する。低優先度データは、例えば優先度が優先度閾値より小さいデータである。
なお、アクセス負荷の判定方法は任意でよい。例えば、アクセス負荷は、転送部4により現在受け付けている転送要求の数により判定されてもよい。また例えば、アクセス負荷は、通信装置10のメモリコントローラ、及び、バスコントローラ等に、現在のデータ転送量、及び、現在のアクセス回数などを取得する専用回路などを設け、当該専用回路により得られた情報から判定されてもよい。
通信部6は、制御部51からデータ(フレーム)の送信要求を受け付けると、送信バッファ3に記憶された当該データを外部の機器へ送信する。具体的には、通信部6は、例えばイーサネット(登録商標)のMAC(Media Access Control)処理、及び、PHY(physical Layer)などの処理を実行する。通信部6は、データの送信が完了すると、送信完了通知を制御部51に入力する。送信完了通知の通知方法は任意でよい。送信完了通知の通知方法は、例えば割り込み信号による通知、及び、ディスクリプタによる通知などである。
[アプリケーション部の動作]
図2は第1実施形態のアプリケーション部1の動作の例を示すフローチャートである。具体的には、図2のフローチャートは、アプリケーション部1の送信要求処理の動作を示す。
はじめに、アプリケーション部1は、通信先の外部の機器との間でデータを送受信するための初期化を行う(ステップS1)。具体的には、アプリケーション部1は、通信先の外部の機器の指定、通信に使用されるネットワークインタフェースの指定、及び、通信に使用される通信プロトコルの指定などを制御部51に指示する。
ここで、第1実施形態の通信装置10では、送信されるデータの優先度が指定される。優先度の指定方法は任意でよい。例えば、優先度の指定方法は、IEEE 802.1pのPCP(Priority Code Point)を直接指定する方法でもよい。また例えば、優先度の指定方法は、ベストエフォートトラフィック又はリアルタイムトラフィックなどを指定する方法でもよい。また例えば、優先度の指定方法は、データの送信保留時に許容される遅延時間などを指定する方法でもよい。
また、送信されるデータに優先度が指定されるタイミングは任意でよい。例えば、優先度が指定されるタイミングは、ステップS1の初期化処理時でもよい。また例えば、優先度が指定されるタイミングは、ステップS3の処理で、データの送信要求が発行される際に、その都度指定されてもよい。
次に、アプリケーション部1は、送信対象のデータを記憶部2に記憶する(ステップS2)。ステップS2の処理により記憶されるデータは任意でよい。例えば、アプリケーション部1がセンサを制御するアプリケーションの場合、ステップS2の処理により記憶されるデータは、当該センサから取得されたセンサデータである。また例えば、アプリケーション部1がカメラを制御するアプリケーションの場合、ステップS2の処理により記憶されるデータは、当該カメラから取得された動画データである。また例えば、アプリケーション部1がデータを解析するアプリケーションの場合、ステップS2の処理により記憶されるデータは、解析結果を示すデータである。また例えば、アプリケーション部1が外部の機器を制御するアプリケーションの場合、ステップS2の処理により記憶されるデータは、当該外部の機器を制御する制御データである。
次に、アプリケーション部1は、ステップS2の処理により記憶されたデータの送信を要求する送信要求を発行することにより、当該データの送信を制御部51に指示する(ステップS3)。送信要求は、例えば送信されるデータが記憶された記憶部2のアドレス、送信されるデータのサイズ、及び、書き込み先のアドレスなどを含む。また、前述のとおり、送信要求にデータの優先度が含まれていてもよい。
次に、アプリケーション部1は、制御部51から送信完了通知を受信したか否かを判定する(ステップS4)。送信完了通知を受信していない場合(ステップS4,No)、アプリケーション部1は、制御部51からの送信完了通知待ち状態となる。送信完了通知を受信した場合(ステップS4,Yes)、アプリケーション部1は送信要求処理を終了する。
なお図では、説明の簡略化のために、送信要求処理は、送信完了通知を受けた場合に終了しているが、送信要求処理は、送信完了通知を受けた場合に終了せずに継続してもよい。この場合、アプリケーション部1の送信要求処理は、ステップS2の処理に戻る。
[制御部の動作]
図3は第1実施形態の制御部51の動作の例を示す図である。制御部51は、アプリケーション部1から初期化要求を受け付けると、インタフェースの設定、通信部6の初期化、及び、通信プロトコルの設定等の初期化処理を実行後、転送部4及び通信部6の制御処理を開始する。
転送部4及び通信部6の制御処理は、要求発行処理(ステップS11)、及び、送信完了処理(ステップS12)を含む。
要求発行処理は、アプリケーション部1から受け付けられた送信要求を基に、転送要求を発行する処理である。要求発行処理の詳細は、図5を参照して後述する。
送信完了処理は、通信部6から受け付けられた送信完了通知を処理する。送信完了処理の詳細は、図7を参照して後述する。
図4は第1実施形態の制御部51の機能構成の例を示す図である。第1実施形態の制御部51は、発行処理部511、送信完了処理部512、送信要求キュー513、一時キュー514及び完了待ちキュー515を備える。
発行処理部511は、転送部4への転送要求、及び、通信部6への送信要求を発行する上述の要求発行処理を実行する。
送信完了処理部512は、通信部6から送信完了通知を受け付けると、上述の送信完了処理を実行する。
送信要求キュー513は、アプリケーション部1から受け付けられた送信要求を保持する。
一時キュー514は、アプリケーション部1から受け付けられた送信要求のうち、記憶部2から送信バッファ3への転送が制限されたデータの送信要求を一時的に保持する。
完了待ちキュー515は、転送要求が完了済みで、通信部からの送信完了通知待ち状態の送信要求を保持する。
[要求発行処理の例]
図5は第1実施形態の発行処理部511及び判定部52の動作(ステップS11)の詳細を示すフローチャートである。はじめに、発行処理部511が、処理を後回しにされた送信要求が、一時キュー514にあるか否かを判定する(ステップS21)。
一時キュー514に送信要求がある場合(ステップS21,Yes)、発行処理部511は、最も古くに一時キュー514へ退避された送信要求を確認し、退避時に設定された遅延時間を経過しているか否かを判定する(ステップS22)。
遅延時間を経過している場合(ステップS22,Yes)、発行処理部511は、一時キュー514から、遅延時間が経過している送信要求を取得する(ステップS23)。次に、発行処理部511は、ステップS23の処理により取得された送信要求で指定されたデータの転送要求を発行し(ステップS24)、処理を終了する(次の送信要求の処理に移る)。なお、ステップS24の処理の詳細は、図6を参照して後述する。
一時キュー514に送信要求がない場合(ステップS21,No)、または、一時キュー514に送信要求があるが遅延時間を経過していない場合(ステップS22,No)、発行処理部511は、送信要求キュー513に送信要求があるか否かを判定する(ステップS25)。なお、例えばステップS1の初期化処理(図2参照)の直後は、一時キュー514に送信要求がない状態となる。
送信要求キュー513に送信要求がない場合(ステップS25,No)、処理を終了する(次の送信要求の処理に移る)。ここで、送信要求キュー513に送信要求がない場合は、次の送信要求の処理を開始しても、処理すべき要求はない。そのため、発行処理部511は、アプリケーション部1が送信要求を発行するまで処理を中断してもよい。
送信要求キュー513に送信要求がある場合(ステップS25,Yes)、発行処理部511が、当該送信要求が、高優先度データの送信要求であるか否かを判定する(ステップS26)。高優先度データは、例えば優先度が優先度閾値以上のデータである。
高優先度データの送信要求である場合(ステップS26,Yes)、発行処理部511は、送信要求キュー513から、当該送信要求を取得する(ステップS27)。次に、発行処理部511は、ステップS27の処理により取得された送信要求で指定されたデータの転送要求を発行し(ステップS28)、処理を終了する(次の送信要求の処理に移る)。なお、ステップS28の処理の詳細は、図6を参照して後述する。
高優先度データの送信要求でない場合(ステップS26,No)、判定部52が、通信装置10の状態を取得する(ステップS29)。第1実施形態では、通信装置10の状態は、例えば記憶部2、送信バッファ3、及び、記憶部2と前送信バッファ3とを接続するバスの少なくとも1つのアクセス状態である。
次に、判定部52は、高優先度でないデータ(すなわち低優先度データ)の転送を制限するか否かを判定する(ステップS30)。具体的には、判定部52は、例えば記憶部2、送信バッファ3、及び、記憶部2と前送信バッファ3とを接続するバスの少なくとも1つのアクセス負荷がアクセス閾値よりも高い状態である場合、高優先度でないデータの転送を制限することを決定する。
転送を制限しない場合(ステップS30,No)、上述のステップS27及びS28の処理が実行された後、処理は終了する(次の送信要求の処理に移る)。
転送を制限する場合(ステップS30,Yes)、発行処理部511は、送信要求キュー513から、高優先度でないデータの送信要求を取得し、当該送信要求に、データの送信保留時に許容される遅延時間(送信要求を一時キュー514に退避させておく時間)を設定する(ステップS31)。なお、遅延時間の設定方法は任意でよい。例えば、遅延時間は、ステップS1の初期化処理(図2参照)で指定された固定時間である。また例えば、遅延時間は、メモリ及びバスの利用帯域を基に、その都度計算で算出される。
次に、発行処理部511は、ステップS31の処理により遅延時間が設定された送信要求を、一時キュー514に退避し(ステップS32)、処理を終了する(次の送信要求の処理に移る)。
図6は第1実施形態の発行処理部511の動作(ステップS24及び28)の詳細を示すフローチャートである。はじめに、発行処理部511は、送信要求から読み出しアドレス、書き込みアドレス及びデータサイズなどの制御情報を取得する(ステップS41)。次に、発行処理部511は、1フレームに格納可能なサイズのデータの転送要求を発行することにより、当該データの転送を転送部4に指示する(ステップS42)。なお、1フレームの最大サイズは、ステップS1の初期化処理(図2参照)などで設定された値が使用される。
次に、発行処理部511は、転送部4から転送完了通知を受け付けたか否かを判定する(ステップS43)。転送完了通知を受け付けていない場合(ステップS43,No)、発行処理部511は、転送完了通知待ちとなる。
転送完了通知を受け付けた場合(ステップS43,Yes)、発行処理部511は、転送が完了したデータの送信要求を通信部6へ発行することにより、当該データの送信を通信部6へ指示する(ステップS44)。
次に、発行処理部511は、送信要求で指定された全データの転送要求の発行が完了したか否かを判定する(ステップS45)。
全データの転送要求の発行が完了していない場合(ステップS45,No)、発行処理部511は、転送要求を発行したサイズ分だけ、読み出しアドレス及び書き込みアドレスを進めることにより、次の転送要求のアドレスを計算する(ステップS46)。ステップS46の処理の後、処理はステップS42に戻る。
全データの転送要求の発行が完了した場合(ステップS45,Yes)、発行処理部511は、送信要求キュー513(ステップS28の場合)、又は、一時キュー514(ステップS24の場合)から、送信要求を完了待ちキュー515へ移動し(ステップS47)、処理を終了する。
[送信完了処理]
図7は第1実施形態の送信完了処理部512の動作(ステップS12)の詳細を示すフローチャートである。はじめに、送信完了処理部512が、完了待ちキュー515から送信要求を取得する(ステップS51)。次に、送信完了処理部512は、通信部6から送信完了通知を受け付けたか否かを判定する(ステップS52)。送信完了通知を受け付けていない場合(ステップS52,No)、送信完了処理部512は、送信完了通知待ちとなる。
送信完了通知を受け付けた場合(ステップS52,Yes)、送信完了処理部512は、送信が完了したデータ(フレーム)が記憶されていた送信バッファ3の領域を解放する(ステップS53)。ここで、送信バッファ3の領域の解放は、通信部6により実行されてもよい。送信バッファ3の領域の解放が、通信部6により実行される場合、送信完了処理部512は、送信バッファ3の領域を解放しない。
次に、送信完了処理部512は、送信要求でアプリケーションから指定された全てのデータのフレーム送信が完了したか否かを判定する(ステップS54)。全てのデータのフレーム送信が完了していない場合(ステップS54,No)、ステップS52の処理に戻る。
全てのデータのフレーム送信が完了した場合(ステップS54,Yes)、送信完了処理部512は、完了待ちキュー515から送信要求を削除する(ステップS55)。次に、送信完了処理部512は、アプリケーション部1に送信完了通知を入力する(ステップS56)。
以上説明したように、第1実施形態の転送制御装置5では、制御部51が、データを送信バッファ3(第1送信バッファ)に転送する制御を行う。判定部52は、通信装置10の状態に応じて、転送が制限されるデータを決定する。制御部51は、転送が制限される場合、転送が制限されているデータの転送を遅延させる。
これにより第1実施形態の転送制御装置5によれば、通信部6からデータが送信されるタイミングを考慮して、通信部6(送信バッファ3)にデータを転送する制御をすることができる。具体的には、記憶部2、送信バッファ3、及び、記憶部2と前送信バッファ3とを接続するバスの少なくとも1つのアクセス負荷がアクセス閾値よりも高い状態である場合、低優先度データの転送を遅延させることができる。これにより、低優先度データの転送によるメモリ及びバス等の占有を防ぐことができるので、通信部6から高優先度データを遅延なく送信することができる。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
[機能構成の例]
図8は第2実施形態の通信装置10−2の機能構成の例を示す図である。第2実施形態の通信装置10−2は、アプリケーション部1、記憶部2、送信バッファ3a、送信バッファ3b、転送部4、転送制御装置5及び通信部6を備える。転送制御装置5は、制御部51及び判定部52を備える。
送信バッファ3aは、高優先度データを記憶する。高優先度データは、例えば優先度が優先度閾値以上のデータである。具体的には、第2実施形態では、高優先度データはリアルタイムフレームである。
送信バッファ3bは、低優先度データを記憶する。低優先度データは、例えば優先度が優先度閾値より小さいデータである。具体的には、第2実施形態では、低優先度データはベストエフォートフレームである。
なお、優先度の種類は2以上であれば任意でよい。例えば、優先度の種類が2種類(0又は1)であり、値が大きいほど優先度が高い場合、送信バッファ3aは、優先度1のデータを記憶し、送信バッファ3bは、優先度0のデータを記憶する。なお、第2実施形態の通信装置10では、送信バッファ3の数は、優先度の種類と同じにする。
送信バッファ3a及び3bは、例えばSRAM、SDRAM、SSD、HDD及びSDカードなどの記憶装置である。なお、送信バッファ3a及び3bは、物理的に分離された複数の記憶装置により構成してもよい。また、送信バッファ3a及び3bを、論理的に分離された単一の記憶装置により構成してもよい。
通信部6は、送信バッファ3a及び3bに記憶されたデータ(フレーム)を外部の機器へ送信する。この時、通信部6は、優先度を考慮してデータの送信処理を実行する。優先度が考慮されたデータの送信処理は任意でよい。例えば、通信部6は、Strict Priorityのように、送信バッファ3aに高優先度データが記憶されている場合は、常に、送信バッファ3aの高優先度データを送信してもよい。また例えば、通信部6は、IEEE 802.1 QavのCredit Shaperのようなアルゴリズムを使用して、送信バッファ3a及び3bのどちらからデータを送信するかをその都度決定してもよい。
判定部52は、通信装置10−2の送信バッファ3a及び3bの状態から、低優先度データの転送要求を許可するか否かを判定し、判定結果を制御部51へ通知する。
[判定方法の例]
図9A及び9Bは、第2実施形態の判定方法の例を示す図である。判定部52は、送信バッファ3aに記憶された優先度閾値以上のデータ(リアルタイムフレーム)の数がデータ数閾値以上の状態である場合、優先度が優先度閾値より小さいデータ(ベストエフォートフレーム)を、転送が制限されるデータに決定しない(図9A参照)。
一方、判定部52は、送信バッファ3aに記憶された優先度閾値以上のデータ(リアルタイムフレーム)の数がデータ数閾値よりも小さい状態である場合、優先度が優先度閾値より小さいデータ(ベストエフォートフレーム)を、転送が制限されるデータに決定する(図9B参照)。
これにより、送信バッファ3aにリアルタイムフレームを記憶する処理を優先させることができるので、送信バッファ3aに記憶されるリアルタイムフレームの数を増大させることができる。具体的には、例えば送信バッファ3aにリアルタイムフレームが存在しない場合、ベストエフォートフレームの転送要求は、すぐに処理されずに抑制される。これによりアプリケーション部1がリアルタイムフレームの送信要求を発行したら、転送部4は、送信バッファ3aへの当該リアルタイムフレームの転送を即座に開始することが可能になる。
なお、判定に使用される優先度閾値及びデータ数閾値は、例えばステップS1の初期化処理(図2参照)などで設定された値が使用される。
また、判定部52は、データ(フレーム)の数ではなく、送信バッファ3aに記憶されているデータのサイズを判定してもよい。具体的には、判定部52は、送信バッファ3aに記憶された優先度閾値以上のデータのサイズがデータサイズ閾値以上の状態である場合、優先度が優先度閾値より小さいデータを、転送が制限されるデータに決定しない(図9A参照)。一方、判定部52は、送信バッファ3aに記憶された優先度閾値以上のデータのサイズがデータサイズ閾値よりも小さい状態である場合、優先度が優先度閾値より小さいデータを、転送が制限されるデータに決定する(図9B)。
[発行要求処理の例]
図10は第2実施形態の発行処理部511及び判定部52の動作(ステップS11)の詳細を示すフローチャートである。図10に示すフローチャートのうち、第1実施形態との違いは、ステップS29−2及びS30−2の処理のため、ステップS29−2及びS30−2について説明する。
<ステップS29−2>
高優先度データの送信要求でない場合(ステップS26,No)、判定部52は、通信装置10の状態を取得する(ステップS29−2)。第2実施形態では、通信装置10の状態は、例えば送信バッファ3aに記憶された優先度閾値以上のデータ(リアルタイムフレーム)の数又はデータサイズである。
<ステップS30−2>
判定部52は、高優先度でないデータ(すなわち低優先度データ)の転送を制限するか否かを判定する(ステップS30−2)。具体的には、判定部52は、例えば送信バッファ3aに記憶された優先度閾値以上のデータの数(サイズ)がデータ数(データサイズ)閾値よりも小さい状態である場合、高優先度でないデータ(ベストエフォートフレーム)の転送を制限することを決定する。
以上、説明したように、第2実施形態の通信装置10−2(転送制御装置5)は、高優先度データ(リアルタイムフレーム)が送信バッファ3aに十分投入されていない場合に、低優先度データ(ベストエフォートフレーム)の転送要求の発行を遅らせる。これにより、送信バッファ3aに十分な高優先度データが記憶されていない時に、アプリケーション部1が高優先度データの送信要求を発行した場合、転送部4が、低優先度データの転送処理に影響を受けることなく、即座に高優先度データの転送を実行することが可能になる。
(第3実施形態)
次に第3実施形態について説明する。第3実施形態の説明では、第2実施形態と同様の説明については省略し、第2実施形態と異なる箇所について説明する。
[機能構成の例]
図11は第3実施形態の通信装置10の機能構成の例を示す図である。第3実施形態の通信装置10−3は、アプリケーション部1、記憶部2、送信バッファ3a、送信バッファ3b、転送部4、転送制御装置5、通信部6及びスケジューリング情報記憶部7を備える。転送制御装置5は、制御部51及び判定部52を備える。
送信バッファ3aには、例えばリアルタイム通信で送信されるリアルタイムデータが記憶される。リアルタイムデータは、例えば周期的に送られる必要がある制御信号及びストリーミングデータ等である。ストリーミングデータは、例えば動画データ及び音声データなどである。
送信バッファ3bには、例えばログ情報などのベストエフォート通信で送信するデータなどを記憶する。
スケジューリング情報記憶部7は、スケジューリング情報を記憶する。スケジューリング情報は、送信バッファ3aに記憶されたデータ、及び、送信バッファ3bに記憶されたデータの送信タイミングのスケジュールを示す。スケジューリング情報は、ステップS1の初期化処理(図2参照)などで事前に設定されてもよし、動作中にその都度更新されてもよい。
判定部52は、スケジューリング情報に応じて、転送が制限されるデータを決定する。そして、制御部51は、優先度が優先度閾値以上のデータを、すぐに送信バッファ3aに転送するように制御し、優先度が優先度閾値より小さいデータは、転送が制限されていない場合、すぐに送信バッファ3bに転送するように制御する。
具体的には、判定部52は、例えばスケジューリング情報を参照して、次の送信タイミングで送信バッファ3aから送信可能なデータの数を算出し、送信バッファ3aに記憶されているデータの数が、送信可能なデータの数よりも少ない場合、優先度が優先度閾値より小さいデータを、転送が制限されるデータに決定する。そして、制御部51は、優先度が優先度閾値より小さいデータの転送が制限されている場合、優先度が優先度閾値より小さいデータの転送を遅延させる。
スケジューリング情報は、例えばIEEE 802.1Qbvのゲートコントロールリストである。スケジューリング情報がゲートコントロールリストの場合、通信部6は、現在時刻とスケジューリング情報とを参照し、現在送信が許可されている(ゲートがオープンになっている)優先度を特定し、特定された優先度のデータの送信処理を実行する。通信部6は、例えば、送信バッファ3aのゲートがオープンであり、かつ、送信バッファ3aにデータが存在している場合、送信バッファ3aに記憶されたデータの送信処理を実行する。また例えば、通信部6は、送信バッファ3aにデータが存在し、かつ、送信バッファ3aのゲートがクローズであり、かつ、送信バッファ3bのゲートがオープンであり、かつ、送信バッファ3bにデータが存在している場合、送信バッファ3bに記憶されたデータの送信処理を実行する。
なお、第3実施形態では、優先度の種類が2つであるが、優先度の種類は3種類以上でもよい。スケジューリング情報には、優先度の種類に対応した送信タイミングの情報が定義される。
通信部6は、スケジューリング情報を参照して、送信バッファ3a及び3bからデータ(フレーム)を送信することにより、外部の機器へ決められた時刻に当該データを送ることが可能になる。これにより、リアルタイム通信が必要なデータの送信タイミングを保証することが可能になる。
なお、スケジューリング情報は、データ送信(フレーム送信)が発生する可能性があることを示しており、実際にデータの送信処理が発生するか否かは、送信バッファ3a又は3bにデータが書き込まれているか否かによって決まる。つまり、転送制御装置5、及び、当該転送制御装置5の上位に位置するアプリケーション部1の動作によって、実際にデータ送信が発生するか否かが決定される。
なお、アプリケーション部1の具体的な例は、車載システム及びファクトリーオートメーションシステムなどである。
車載システムでは、自動運転及びブレーキ制御などに係わるリアルタイム性が求められるデータは、送信バッファ3aに記憶される。一方、カーナビなどのインフォテイメント及び走行記録などのデータは、送信バッファ3bに記憶される。
ファクトリーオートメーションでは、各制御機器の制御信号などのリアルタイム性が求められるデータは、送信バッファ3aに記憶される。制御機器は、例えばPLC(programmable logic controller)、及び、I/O機器などである。一方、各機器の動作状況、及び、生産管理などの情報は、送信バッファ3bに記憶される。
[判定方法の例]
図12は第3実施形態の判定方法の例を示す図である。RT1は、リアルタイムフレームを示す。また、BE1〜BE3は、ベストエフォートフレームを示す。送信バッファ3aには、既にRT1が記憶されている。また、送信バッファ3bには、既にBE1及びBE2が記憶されている。
判定部52は、送信バッファ3aの状態とスケジューリング情報とを参照して、低優先度データ(ベストエフォートフレーム)の転送要求を制限するか否かを判定し、判定結果を制御部51へ通知する。図12の例は、送信バッファ3aに記憶されているベストエフォートフレームの数が1つ(RT1)であり、次の送信タイミングで送信可能なデータの数よりも少ない場合を示す。また、図12の例は、BE3の転送要求が発行された時点のスケジューリング情報の状態(ゲートの状態)が、送信バッファ3aがオープンであり、かつ、送信バッファ3bがクローズである場合を示す。
図12のような例では、優先度が優先度閾値より小さいデータ(図12ではBE3)の転送を遅延させた方がよいことを、図13A及び13Bを参照して説明する。
図13A及び13Bは、第3実施形態の転送制御の例を説明するための図である。図13A及び13Bでは、発行処理部511が、アプリケーション部1から、RT1、BE3、RT2の順でデータの送信要求を受け付けた場合を示す。図13Aの例は、転送要求が、送信要求を受け付けた順序で発行された場合を示す。一方、図13Bの例は、第3実施形態の発行処理部511が、BE3の転送要求をRT2の転送要求の後に、発行する場合を示す。
図13Aの横軸は、RT1、BE3及びRT2を送信バッファ3a(3b)へ投入するための転送時間と、BE1、RT1及びBE3を送信するための送信時間と、送信バッファ3a及び3bのゲートの状態とを示す時間軸である。
図13Aの例では、転送部4が、BE3の転送要求の処理中に、RT2の転送要求が発行されている。したがって、図13Aの例では、BE3の転送処理が終わるまで、RT2の転送処理を開始できない。そのため、通信部6は、次のリアルタイムフレームの送信タイミング(T1)で、RT1と同時にRT2を送信できるリソースがある場合でも、RT2の転送処理が間に合わないため、次のリアルタイムフレームの送信タイミングでRT2を送信することができない。
一方、第3実施形態の発行処理部511の動作例を示す図13Bでは、送信バッファ3bへのBE3の転送を遅らせることにより、先にRT2を送信バッファ3aに転送することができる。これにより通信部6が、次のリアルタイムフレームの送信タイミング(T1)で、RT1と同時にRT2を送信することができる。
つまり、図13Aでは、次の送信バッファ3aのゲートオープン時に送信できる十分なリアルタイムフレームが、送信バッファ3aに記憶されていない状態で、ベストエフォートフレーム(BE3)の転送が開始されてしまった結果、リアルタイムフレーム(RT2)の送信ができなくなってしまったと言える。
図13Aのような問題を回避するために、第3実施形態の判定部52は、送信バッファ3aのゲートが次にオープンになるタイミングで送信可能な数のリアルタイムフレームが、送信バッファ3aに記憶されているか否かを判定する。送信可能な数のリアルタイムフレームが記憶されていない場合、判定部52は、ベストエフォートフレームの転送を制限することを決定し、当該判定結果を制御部51へ通知する。一方、送信可能な数のリアルタイムフレームが記憶されている場合、判定部52は、ベストエフォートフレームの転送を制限しないことを決定し、当該判定結果を制御部51へ通知する。
これにより、例えばゲートオープン時に送信可能なリアルタイムフレームが送信バッファ3aに記憶されていない状態で、アプリケーション部1により高優先度データの送信要求が発行された場合は、転送部4が、当該高優先度データを含むリアルタイムフレームを即座に送信バッファ3aに転送することが可能になる。
判定部52が、送信バッファ3aに十分なリアルタイムフレームが記憶されているか否かを判定する具体的な方法としては、例えば、ゲートオープン時に送信可能な最大リアルタイムフレーム数をスケジューリング情報に定義しておき、送信バッファ3aに記憶されたリアルタイムフレームの数が、当該最大リアルタイムフレーム数より小さければ、ベストエフォートフレームの転送を制限することが考えられる。また、別の方法としては、判定部52が、転送の速度(例えば、DMA転送速度など)を基に、現在時刻からX秒間の間にゲートがオープンされる総時間で送信可能なバイト数から閾値を算出し、送信バッファ3aに記憶されたリアルタイムフレームのバイト数が、その閾値より小さければ、ベストエフォートフレームの転送を制限することが考えらえる。
ここで、判定部52は、ベストエフォートフレームの転送を遅延させる遅延時間を算出し、当該遅延時間を制御部51へ通知してもよい。例えば、遅延時間は、スケジューリング情報を基に、次に送信バッファ3aのゲートがオープンになるまでの時間、及び、送信バッファ3bのゲートがオープンになるまでの時間などから算出される。この場合、制御部51は、一時キュー514へ送信要求を退避する際に、当該送信要求に遅延時間を設定する。
[発行要求処理の例]
図14は第3実施形態の発行処理部511及び判定部52の動作(ステップS11)の詳細を示すフローチャートである。図14に示すフローチャートのうち、第2実施形態との違いは、ステップS29−3及びS30−3の処理のため、ステップS29−3及びS30−3について説明する。
<ステップS29−3>
高優先度データの送信要求でない場合(ステップS26,No)、判定部52は、通信装置10の状態を取得する(ステップS29−3)。第3実施形態では、通信装置10の状態は、例えば送信バッファ3aに記憶されているデータの数(サイズ)及びスケジューリング情報である。
<ステップS30−3>
判断部52は、高優先度でないデータ(すなわち低優先度データ)の転送を制限するか否かを判定する(ステップS30−3)。具体的には、判定部52は、例えばスケジューリング情報を参照して、次の送信タイミングで送信バッファ3aから送信可能なデータの数(サイズ)を算出し、送信バッファ3aに記憶されているデータの数(サイズ)が、送信可能なデータの数(サイズ)よりも少ない場合、高優先度でないデータ(ベストエフォートフレーム)の転送を制限することを決定する。
以上、説明したように、第3実施形態の通信装置10−3(転送制御装置5)では、発行処理部511が、スケジューリング情報により定義されたタイミングで送信可能な高優先度データ(リアルタイムフレーム)が送信バッファ3aに十分投入されていない場合に、低優先度フレーム(ベストエフォートフレーム)の転送要求の発行を遅らせる。これにより、送信バッファ3aに十分な高優先度データが格納されていない時に、アプリケーション部1が高優先度データの送信要求を発行した場合、転送部4が、低優先度データの転送処理に影響を受けることなく、即座に高優先度データの転送を実行することが可能になる。
最後に第1乃至第3実施形態の通信装置10及び転送制御装置5のハードウェア構成の例について説明する。
[ハードウェア構成の例]
図15は第1乃至第3実施形態の通信装置10及び転送制御装置5のハードウェア構成の例を示す図である。第1乃至第3実施形態の通信装置10及び転送制御装置5は、制御装置301、主記憶装置302、補助記憶装置303、表示I/F304、入力I/F305及び通信I/F306を備える。主記憶装置302、補助記憶装置303、表示I/F304、入力I/F305及び通信I/F306は、バス310を介して接続されている。
なお、通信装置10及び転送制御装置5は、同一のハードウェアにより構成されてもよいし、別々のハードウェアにより実現されてもよい。通信装置10及び転送制御装置5が別々のハードウェアにより実現される場合は、例えば、転送制御装置5は、通信装置10の製造時に通信装置10に取り付けられる部品として実現されてもよい。また例えば、転送制御装置5は、通信装置10の拡張スロット等にオプションとして接続される拡張モジュールとして実現されてもよい。
制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置202は、ROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)及びメモリカード等である。
表示I/F304には、通信装置10及び転送制御装置5の状態等を表示する表示装置と接続するためのインタフェースである。表示装置は、例えば液晶ディスプレイ等である。
入力I/F305には、通信装置10及び転送制御装置5を操作するための入力装置と接続するためのインタフェースである。入力装置は、例えばキーボード及びマウス等である。
通信I/F306は、外部の機器等と通信するためのインタフェースである。
第1乃至第3実施形態の通信装置10及び転送制御装置5で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、メモリカード、CD−R及びDVD等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
また第1乃至第3実施形態の通信装置10及び転送制御装置5で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また第1乃至第3実施形態の通信装置10及び転送制御装置5で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
また第1乃至第3実施形態の通信装置10及び転送制御装置5のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
第1乃至第3実施形態の通信装置10及び転送制御装置5で実行されるプログラムは、通信装置10及び転送制御装置5の機能ブロックのうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置301が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置302上にロードされる。すなわち上記各機能ブロックは主記憶装置302上に生成される。
なお各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC等のハードウェアにより実現してもよい。
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2以上を実現してもよい。
また第1乃至第3実施形態の通信装置10及び転送制御装置5の動作形態は任意でよい。第1乃至第3実施形態の通信装置10及び転送制御装置5を、例えばネットワーク上のクラウドシステムを構成する装置として動作させてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 アプリケーション部
2 記憶部
3 送信バッファ
4 転送部
5 転送制御装置
6 通信部
7 スケジューリング情報記憶部
10 通信装置
51 制御部
52 判定部
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示I/F
305 入力I/F
306 通信I/F
310 バス
511 発行処理部
512 送信完了処理部
513 送信要求キュー
514 一時キュー
515 完了待ちキュー

Claims (9)

  1. 通信装置に記憶されたデータの転送を制御する転送制御装置であって、
    前記データを第1送信バッファに転送する制御を行う制御部と、
    前記通信装置の状態に応じて、転送が制限されるデータを決定する判定部と、を備え、
    前記制御部は、転送が制限される場合、転送が制限されているデータの転送を遅延させる、
    転送制御装置。
  2. 前記判定部は、転送元の記憶部、前記第1送信バッファ、及び、前記記憶部と前記第1送信バッファとを接続するバスの少なくとも1つのアクセス負荷がアクセス閾値よりも高い状態である場合、優先度が優先度閾値より小さいデータを、転送が制限されるデータに決定する、
    請求項1に記載の転送制御装置。
  3. 前記判定部は、前記第1送信バッファに記憶された優先度閾値以上のデータの数がデータ数閾値よりも小さい状態である場合、優先度が優先度閾値より小さいデータを、転送が制限されるデータに決定し、前記第1送信バッファに記憶された前記優先度閾値以上のデータの数がデータ数閾値以上の状態である場合、前記優先度が前記優先度閾値以上のデータを、転送が制限されるデータに決定しない、
    請求項1に記載の転送制御装置。
  4. 前記判定部は、前記第1送信バッファに記憶された優先度閾値以上のデータのサイズがデータサイズ閾値よりも小さい状態である場合、優先度が優先度閾値より小さいデータを、転送が制限されるデータに決定し、前記第1送信バッファに記憶された前記優先度閾値以上のデータのサイズがデータサイズ閾値以上の状態である場合、前記優先度が前記優先度閾値以上のデータを、転送が制限されるデータに決定しない、
    請求項1に記載の転送制御装置。
  5. 前記判定部は、前記第1送信バッファに記憶されたデータ、及び、第2送信バッファに記憶されたデータの送信タイミングのスケジュールを示すスケジューリング情報に応じて、転送が制限されるデータを決定し、
    前記制御部は、優先度が優先度閾値以上のデータを、すぐに前記第1送信バッファに転送するように制御し、前記優先度が優先度閾値より小さいデータは、転送が制限されていない場合、すぐに前記第2送信バッファに転送するように制御する、
    請求項1に記載の転送制御装置。
  6. 前記判定部は、前記スケジューリング情報を参照して、次の送信タイミングで前記第1送信バッファから送信可能なデータの数を算出し、前記第1送信バッファに記憶されているデータの数が、前記送信可能なデータの数よりも少ない場合、前記優先度が優先度閾値より小さいデータを、転送が制限されるデータに決定し、
    前記制御部は、前記優先度が優先度閾値より小さいデータの転送が制限されている場合、前記優先度が優先度閾値より小さいデータの転送を遅延させる、
    請求項5に記載の転送制御装置。
  7. 前記スケジューリング情報は、IEEE 802.1Qbvのゲートコントロールリストである、
    請求項5に記載の転送制御装置。
  8. 通信装置に記憶されたデータの転送を制御する転送制御装置の転送制御方法であって、
    前記データを第1送信バッファに転送する制御を行うステップと、
    前記通信装置の状態に応じて、転送が制限されるデータを決定するステップと、
    転送が制限される場合、転送が制限されているデータの転送を遅延させるステップと、
    を含む転送方法。
  9. 通信装置に記憶されたデータの転送を制御するコンピュータを、
    前記データを第1送信バッファに転送する制御を行う制御部と、
    前記通信装置の状態に応じて、転送が制限されるデータを決定する判定部として機能させ、
    前記制御部は、転送が制限される場合、転送が制限されているデータの転送を遅延させる、
    プログラム。
JP2018052532A 2018-03-20 2018-03-20 転送制御装置、転送制御方法及びプログラム Active JP6889126B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018052532A JP6889126B2 (ja) 2018-03-20 2018-03-20 転送制御装置、転送制御方法及びプログラム
EP18191798.0A EP3544247B1 (en) 2018-03-20 2018-08-30 Transfer control device, transfer control method and computer-readable medium
US16/117,381 US10778594B2 (en) 2018-03-20 2018-08-30 Transfer control device, transfer control method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018052532A JP6889126B2 (ja) 2018-03-20 2018-03-20 転送制御装置、転送制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019165380A true JP2019165380A (ja) 2019-09-26
JP6889126B2 JP6889126B2 (ja) 2021-06-18

Family

ID=63452431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018052532A Active JP6889126B2 (ja) 2018-03-20 2018-03-20 転送制御装置、転送制御方法及びプログラム

Country Status (3)

Country Link
US (1) US10778594B2 (ja)
EP (1) EP3544247B1 (ja)
JP (1) JP6889126B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020048045A (ja) * 2018-09-18 2020-03-26 株式会社東芝 スイッチ装置、スイッチング方法及びプログラム
US11032208B2 (en) 2019-03-14 2021-06-08 KABUSHIKl KAISHA TOSHIBA Information processing apparatus, information processing method, and computer program product
JP2021190901A (ja) * 2020-06-01 2021-12-13 株式会社東芝 通信システム、通信方法およびプログラム
JP2021190902A (ja) * 2020-06-01 2021-12-13 株式会社東芝 通信制御装置、通信制御方法、情報処理装置、情報処理方法、および、プログラム
JPWO2022162734A1 (ja) * 2021-01-26 2022-08-04
JP7427464B2 (ja) 2020-02-13 2024-02-05 キヤノン株式会社 通信装置、通信方法およびプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020165857A1 (en) * 2019-02-14 2020-08-20 Telefonaktiebolaget Lm Ericsson (Publ) 5g system support for virtual tsn bridge management, qos mapping and tsn qbv scheduling
CN110891023B (zh) * 2019-10-31 2021-12-14 上海赫千电子科技有限公司 一种基于优先级策略的信号路由转换方法及装置
JP7419872B2 (ja) 2020-02-26 2024-01-23 株式会社明電舎 Tsnネットワーク接続方式、tsnネットワーク接続方法
CN113954766A (zh) * 2020-07-20 2022-01-21 罗伯特·博世有限公司 用于基于状况地处理机动车的传感器数据的方法和装置
DE102020122956A1 (de) * 2020-09-02 2022-03-03 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Übertragen eines Datenelements zwischen einem ersten Steuergerät eines Fahrzeugs und einem zweiten Steuergerät des Fahrzeugs, computerlesbares Medium, System und Fahrzeug

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143159A (ja) * 2001-11-07 2003-05-16 Matsushita Electric Ind Co Ltd 無線通信装置および無線通信方式
JP2013066062A (ja) * 2011-09-16 2013-04-11 Hitachi Ltd 遠隔監視システム、ネットワーク相互接続装置及び通信制御方法
JP2015053568A (ja) * 2013-09-06 2015-03-19 日立オートモティブシステムズ株式会社 通信制御装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223102A (ja) * 1995-12-14 1997-08-26 Ricoh Co Ltd ダイレクトメモリアクセスコントローラ
US6532213B1 (en) * 1998-05-15 2003-03-11 Agere Systems Inc. Guaranteeing data transfer delays in data packet networks using earliest deadline first packet schedulers
US20040120258A1 (en) * 2002-12-19 2004-06-24 Mattila Petri To Traffic channel scheduling
US8121115B2 (en) * 2006-07-10 2012-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Compressed delay packet transmission scheduling
US8549570B2 (en) * 2012-02-23 2013-10-01 Ericsson Television Inc. Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe
JP6402576B2 (ja) 2014-10-15 2018-10-10 富士通株式会社 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法
KR20170036509A (ko) * 2015-09-24 2017-04-03 삼성전자주식회사 통신 시스템에서 패킷을 스케쥴링하는 장치 및 방법
EP3217614B1 (en) * 2016-03-09 2018-09-19 Mitsubishi Electric R&D Centre Europe B.V. Multiplexing method for scheduled frames in an ethernet switch
JP6833644B2 (ja) 2017-09-13 2021-02-24 株式会社東芝 転送装置、転送方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143159A (ja) * 2001-11-07 2003-05-16 Matsushita Electric Ind Co Ltd 無線通信装置および無線通信方式
JP2013066062A (ja) * 2011-09-16 2013-04-11 Hitachi Ltd 遠隔監視システム、ネットワーク相互接続装置及び通信制御方法
JP2015053568A (ja) * 2013-09-06 2015-03-19 日立オートモティブシステムズ株式会社 通信制御装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020048045A (ja) * 2018-09-18 2020-03-26 株式会社東芝 スイッチ装置、スイッチング方法及びプログラム
US11032208B2 (en) 2019-03-14 2021-06-08 KABUSHIKl KAISHA TOSHIBA Information processing apparatus, information processing method, and computer program product
JP7427464B2 (ja) 2020-02-13 2024-02-05 キヤノン株式会社 通信装置、通信方法およびプログラム
JP2021190901A (ja) * 2020-06-01 2021-12-13 株式会社東芝 通信システム、通信方法およびプログラム
JP2021190902A (ja) * 2020-06-01 2021-12-13 株式会社東芝 通信制御装置、通信制御方法、情報処理装置、情報処理方法、および、プログラム
JP7337750B2 (ja) 2020-06-01 2023-09-04 株式会社東芝 通信制御装置、通信制御方法、情報処理装置、情報処理方法、および、プログラム
JP7374849B2 (ja) 2020-06-01 2023-11-07 株式会社東芝 通信システム、通信方法およびプログラム
JPWO2022162734A1 (ja) * 2021-01-26 2022-08-04
WO2022162734A1 (ja) * 2021-01-26 2022-08-04 三菱電機株式会社 通信装置、通信方法及び通信プログラム
JP7214064B2 (ja) 2021-01-26 2023-01-27 三菱電機株式会社 通信装置、通信方法及び通信プログラム

Also Published As

Publication number Publication date
EP3544247A1 (en) 2019-09-25
US10778594B2 (en) 2020-09-15
JP6889126B2 (ja) 2021-06-18
US20190297025A1 (en) 2019-09-26
EP3544247B1 (en) 2023-05-24

Similar Documents

Publication Publication Date Title
JP6889126B2 (ja) 転送制御装置、転送制御方法及びプログラム
US10412017B2 (en) Transfer device, transfer method, and computer program product
US10884786B2 (en) Switch device, switching method, and computer program product
JP2611746B2 (ja) 入出力インタフェース装置及びその制御方法
EP3487133B1 (en) Information processing apparatus, information processing method, and computer-readable medium
JP2000048001A (ja) コンピュ―タ・クラスタ用のリアルタイム共用ディスク・システム
JP2011505037A (ja) 読出しデータバッファリングのシステム及び方法
JP7000088B2 (ja) 通知制御装置、通知制御方法及びプログラム
US9262355B2 (en) Controller configured to control timing of access request according to density of burst access and access load
CN114424507A (zh) 用于发送数据分组的方法和实现该方法的装置
JP2022121525A (ja) 処理装置、処理方法及びプログラム
JP6232604B2 (ja) デバイスサーバとその制御方法
JP7451438B2 (ja) 通信装置、通信システム、通知方法及びプログラム
WO2021065370A1 (ja) 車両制御装置及びデータ転送制御方法
WO2021181896A1 (ja) 通信装置、通信装置の制御方法、および集積回路
US10554348B2 (en) Information processing system, information processing method, and information processing device
JP7435055B2 (ja) 通信装置、通信装置の制御方法、および集積回路
KR20050053987A (ko) 복수 개의 데이터를 계층별로 처리하는 장치 및 방법
WO2023012948A1 (ja) 通信装置、通信システム、及び通信方法
JP2000078187A (ja) データ通信装置、方法および記憶媒体
CN116821039A (zh) 用于多核soc的应用通信系统、方法、设备及可读存储介质
US20190089654A1 (en) Communication apparatus and control method for communication apparatus
JP2000224549A (ja) データ転送制御方法及びその装置
KR20150041733A (ko) 저장 명령을 효율적으로 처리하는 방법 및 장치
JP2010034879A (ja) 情報処理装置およびその制御方法、データ処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210520

R151 Written notification of patent or utility model registration

Ref document number: 6889126

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151