JP6800375B2 - 通信装置、通信方法及び通信プログラム - Google Patents

通信装置、通信方法及び通信プログラム Download PDF

Info

Publication number
JP6800375B2
JP6800375B2 JP2020520861A JP2020520861A JP6800375B2 JP 6800375 B2 JP6800375 B2 JP 6800375B2 JP 2020520861 A JP2020520861 A JP 2020520861A JP 2020520861 A JP2020520861 A JP 2020520861A JP 6800375 B2 JP6800375 B2 JP 6800375B2
Authority
JP
Japan
Prior art keywords
transmission
data
time slot
retransmission
time
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.)
Active
Application number
JP2020520861A
Other languages
English (en)
Other versions
JPWO2019224860A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019224860A1 publication Critical patent/JPWO2019224860A1/ja
Application granted granted Critical
Publication of JP6800375B2 publication Critical patent/JP6800375B2/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
    • 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/189Transmission or retransmission of more than one copy of a message
    • 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
    • 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/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • 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/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、データの送信制御に関する。
近年、制御ネットワークで行われる通信にIEEE802.1Qbv、IEEE802.1ASなどのTime Sensitive Networking(TSN)技術が適用されつつある。
TSNでは、通信周期が複数のタイムスロット(TS)に分割される。そして、TSNでは、TSの単位でデータの種類を切り替えてデータを送信する。また、TSNでは、プロトコルごとにTSが割り当てられることが多い。例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)の通信にタイムスロット0(TS0)が割り当てられ、FA(Factory Automation)用の通信にタイムスロット1(TS1)が割り当てられることが考えられる。
図16は、TSNにおける通信シーケンスの例を示す。
TSNでは、データは、対応するTSの送信キュー(送信キューはIEEE802.1Qbvが提供)に格納され、TSの開始時刻が到来した際に、当該TSの送信キューに格納されているデータが順次送信される。受信側では、データを受信すると、データを受信キューに格納することなく受信アプリケーションに渡す。
図16では、30秒の周期通信が行われている。そして、図16では、この周期が3つのTSに分割されている。つまり、各TSには10秒が割り当てられている。
また、図16では、送信アプリケーション0のデータはTS0で送信される。送信アプリケーション0は、時刻「00:00:06」にデータ0をTS0用の送信キューに挿入している。時刻「00:00:06」はTS0内の時刻であるため、データ0は待ち時間なくTS0において送信される。
一方、送信アプリケーション1のデータはTS1で送信される。送信アプリケーション1は、時刻「00:00:31」にデータ1をTS1用の送信キューに挿入している。時刻「00:00:31」はTS0内の時刻であるため、データ1はTS1用の送信キュー内で待機させられる。そして、時刻「00:00:40」が到来して、TS1が開始された後に、データ1が送信される。
制御ネットワーク上で行われる、TCP/IP通信などの確達性が求められる通信にもTSNは適用される。TCP/IP通信では、受信側の通信装置にパケットが届くと、パケットの送信側の通信装置に受信確認(ACKデータ)が送信される。また、TCP/IP通信では、規定時間内に送信側の通信装置がACKデータを受信しない場合は、送信側の通信装置がパケットを再送する。
TSNをTCP/IP通信に適用する場合は、TCP/IP通信のTSとACKデータの送信タイミングとが一致しないと、以下のような問題が生じる。
受信側の通信装置がACKデータを送信しようとした際に現在のTSがTCP/IP通信用のTSではない場合は、受信側の通信装置はTCP/IP通信用のTSが到来するまでACKデータの送信を保留する。この結果、規定時間内に送信側の通信装置にACKデータが届かず、このため、送信側の通信装置はパケットを再送するという事態が生じる。このように、TSNをTCP/IP通信に適用すると、受信側の通信装置にパケットが届いているにもかかわらず、送信側の通信装置からパケットが再送され、結果的に、ネットワークの帯域を浪費することになる。
このような事態に対処するために、例えば、特許文献1では、パケットの送信後、再送までの時間を十分に長く設定する技術が開示されている。
特開平11−074946号公報
特許文献1の手法をTSNに適用した場合に、実際には受信側の通信装置にデータが届いているにも関わらず再送が発生するという事態が生じる。
特許文献1の手法をTSNに適用した場合は、送信アプリケーションがデータを送信キューに格納した時刻をもとに再送時刻が計算される。TSNでは、前述したように、データの種類に対応したタイムスロットが到来しないとデータを送信することができない。このため、該当するタイムスロットの到来までに時間を要する場合は、送信アプリケーションがデータを送信キューに格納した時刻と実際にデータの送信が完了した時刻とが大幅に異なることになる。このため、受信側の通信装置がデータを受信している場合でも、送信側の通信装置にACKデータが届く前に再送時刻が到来し、無駄なデータの再送が発生することがある。
本発明は、このような事情に鑑みたものであり、TSNのように、タイムスロットの単位で送信するデータの種類を切り替えてデータを送信する構成において、効率的なデータの送信を実現することを主な目的とする。
本発明に係る通信装置は、
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置であって、
送信データを、前記送信データの種類に対応するタイムスロットにおいて送信する送信部と、
前記送信データの再送を行う再送時刻を、前記送信部が前記送信データの送信を完了した時刻を基準にして決定する再送時刻決定部とを有する。
本発明によれば、タイムスロットの単位で送信するデータの種類を切り替えてデータを送信する構成において、効率的なデータの送信を実現することができる。
実施の形態1に係るデータ通信システムの構成例を示す図。 実施の形態1に係る通信装置の機能構成例を示す図。 実施の形態1に係る再送データリストの構成例を示す図。 実施の形態1に係る再送データリストの例を示す図。 実施の形態1に係る送信制御部の動作例を示すフローチャート。 実施の形態1に係るタイムスロット管理部の動作例を示すフローチャート。 実施の形態1に係るデータ送信部の動作例を示すフローチャート。 実施の形態1に係る再送管理部の動作例を示すフローチャート。 実施の形態1に係るデータ受信部の動作例を示すフローチャート。 実施の形態1に係るACKデータ生成部の動作例を示すフローチャート。 実施の形態2に係る通信装置の機能構成例を示す図。 実施の形態2に係る送信制御部の動作例を示すフローチャート。 実施の形態2に係る再送管理部の動作例を示すフローチャート。 実施の形態3に係る送信制御部の動作例を示すフローチャート。 実施の形態4に係る送信制御部の動作例を示すフローチャート。 SNにおける通信シーケンスを示す図。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る通信システムの構成例を示す。
本実施の形態に係る通信システムでは、通信装置101、通信装置102及び通信装置103がネットワーク5に接続されている。
図1では、通信システムには、通信装置101、通信装置102及び通信装置103が含まれているが、通信システムに含まれる通信装置の台数は3台以上であってもよい。
通信装置101、通信装置102及び通信装置103は、TSNに従って、データを送受信する。
図1では、通信装置101のハードウェア構成が示されている。通信装置102及び通信装置103でも、通信装置101と同じハードウェア構成を備えるものとする。
通信装置101、通信装置102及び通信装置103は、コンピュータである。
図1に示すように、通信装置101は、ハードウェアとして、プロセッサ2、メモリ3、ネットワークインタフェース4を備える。
メモリ3には、図2に示す送信アプリケーション15及び受信アプリケーション16が記憶されている。また、メモリ3には、図2に示すデータ送信部6、タイムスロット管理部7、データ受信部8、ACKデータ生成部9、再送管理部11及び送信制御部12の機能を実現するプログラムが記憶されている。
プロセッサ2は、メモリ3内の送信アプリケーション15及び受信アプリケーション16を実行する。また、プロセッサ2は、データ送信部6、タイムスロット管理部7、データ受信部8、ACKデータ生成部9、再送管理部11及び送信制御部12の機能を実現するプログラムを実行して、データ送信部6、タイムスロット管理部7、データ受信部8、ACKデータ生成部9、再送管理部11及び送信制御部12の動作を行う。
図2は、通信装置101の機能構成例を示す。図2では、通信装置101の機能構成例のみが示されているが、通信装置102及び通信装置103でも、通信装置101と同じ機能構成を備えるものとする。
データ送信部6は、タイムスロット(TS)の単位で送信するデータの種類を切り替えてデータを送信する。
より具体的には、データ送信部6は、送信データ管理部10内の送信キュー14に格納されている送信データを、当該送信データの種類に対応するタイムスロットにおいて送信する。
また、データ送信部6は、送信データの再送を行う再送時刻を、送信データの送信を完了した時刻を基準にして決定する。
更に、データ送信部6は、送信データの再送が指示された場合は、送信データを再送する。
データ送信部6は、送信部及び再送時刻決定部に相当する。また、データ送信部6により行われる処理は、送信処理及び再送時刻決定処理に相当する。
タイムスロット管理部7は、現在時刻を保持し、タイムスロットを切り替える時刻が到来したら現在のタイムスロットに対応する送信キュー14をデータ送信部6に通知し、データ送信部6に送信データを送信するよう指示する。
データ受信部8は、通信装置102又は通信装置103から送信されたデータを受信する。また、データ受信部8は、受信したデータを受信アプリケーション16に渡す。更に、データ受信部8は、受信したデータに対する受信確認(ACKデータ)を送信するようACKデータ生成部に指示する。
ACKデータ生成部9は、データ受信部8から指示に従い、ACKデータを送信データ管理部10の対応する送信キュー14に格納する。
送信データ管理部10は、タイムスロットごとにエントリを持つ。各エントリには、送信キュー14が設けられている。送信キュー14では、送信データのメモリアドレス又はACKデータのメモリアドレスが保持される。
再送管理部11は、データ送信部6により送信された送信データの再送を管理する。
具体的には、再送管理部11は、データ送信部6により送信された送信データ及びデータ送信部6により決定された再送時刻を再送データリスト13に登録する。
図3は、再送データリスト13の構成例を示す。再送データリスト13の各エントリには再送時刻と、再送対象の送信データのメモリアドレスと、送信データの識別子であるシーケンス番号が格納されている。再送データリスト13のエントリは再送時刻の早い順に並べられる。図4は、再送データリスト13の具体例を示す。なお、本実施の形態では、再送データリスト13において送信データのメモリアドレスが登録されている例を示しているが、メモリアドレスではなく送信データの実体が再送データリスト13に登録されるようにしてもよい。
再送管理部11は、再送時刻までに送信データに対するACKデータが受信されていない場合に、送信データの再送を決定する。
再送管理部11により行われる処理は、再送管理処理に相当する。
送信制御部12は、送信アプリケーション15の指示に基づき、送信データを生成する。また、送信制御部12は、送信データを該当するタイムスロットの送信キュー14に格納する。
送信制御部12により行われる処理は、送信制御処理に相当する。
送信アプリケーション15は、送信制御部12に送信データの生成を指示する。送信アプリケーション15は、例えば、送信すべきコンテンツを送信制御部12に出力して、送信データの生成を指示する。
受信アプリケーション16は、データ受信部8で受信されたデータをデータ受信部8から取得する。
なお、本実施の形態では、送信データの種類を送信データのプロトコルとする。つまり、本実施の形態では、送信データのプロトコルごとにタイムスロットが割り当てられているものとする。送信データのプロトコルに割り当てられたタイムスロットを、以下では送信タイムスロットという。つまり、送信データは送信タイムスロット以外のタイムスロットでは送信されず、送信タイムスロットでのみ送信される。
送信データに対するACKデータは、送信タイムスロットでのみ送信される。つまり、送信データに対応するタイムスロット(送信タイムスロット)がタイムスロット0である場合は、当該送信データに対するACKデータは、タイムスロット0でのみ送信される。送信データが送信されたタイムスロット0内にACKデータが送信されない場合は、ACKデータは次に到来するタイムスロット0で送信される。
***動作の説明***
本実施の形態における通信装置101の動作例を説明する。
以下では、通信装置101の動作として説明するが、通信装置102及び通信装置103の動作も同じである。
なお、以下で説明する動作手順は、本願の通信方法及び通信プログラムに相当する。
まず、本実施の形態に係る送信制御部12の動作例を図5を参照して説明する。
ステップS1では、送信制御部12は、送信アプリケーション15からコンテンツを取得し、送信データを生成する。
次に、ステップS2では、送信制御部12は、ステップS1で生成した送信データのメモリアドレスを該当する送信キュー14に格納する。
つまり、送信制御部12は、送信データ管理部10で管理されている複数の送信キュー14のうち、送信データのプロトコルに対応するタイムスロットのエントリの送信キュー14にステップS1で生成した送信データのメモリアドレスを格納する。
次に、送信制御部12は、ステップS3で規定時間待機する。
次に、送信制御部12は、ステップS4で、データ送信部6からデータ送信完了通知が届いたかどうかを確認する。
データ送信完了通知が届いていない場合は、送信制御部12は、ステップS3及びステップS4をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部12は、処理を終了する。
次に、図6を参照して、タイムスロット管理部7の動作例を説明する。
先ず、タイムスロット管理部7は、ステップS5で規定時間待機する。
次に、タイムスロット管理部7は、ステップS6において、タイムスロットの切り替え時刻が到来したか否かを確認する。タイムスロットの切り替え時刻が到来している場合は、タイムスロット管理部7はステップS7に進む。
ステップS7では、タイムスロット管理部7はデータ送信部6に送信データの送信を指示する。その後、タイムスロット管理部7はステップS5に戻る。より具体的には、タイムスロット管理部7はデータ送信部6に現在のタイムスロットに対応する送信キュー14を通知して、データ送信部6に送信データの送信を指示する。
タイムスロットの切り替え時刻が到来していない場合は、タイムスロット管理部7は、タイムスロットの切り替え時刻が到来するまで、ステップS5及びステップS6を繰り返す。
次に、図7を参照して、データ送信部6の動作例を説明する。
先ず、データ送信部6は、ステップS8で規定時間待機する。
次に、データ送信部6は、ステップS9において、送信データの送信指示が届いた否かを確認する。
タイムスロット管理部7から送信指示が届く場合と、再送管理部11から送信指示が届く場合がある。
送信指示が届いていない場合は、データ送信部6は、送信指示が届くまで、ステップS8及びステップS9を繰り返す。
送信指示が届いている場合は、データ送信部6はステップS10に進む。
ステップS10では、データ送信部6は、送信データをネットワーク5に送信する。
タイムスロット管理部7から送信指示が届いている場合は、データ送信部6は、送信データ管理部10の該当する送信キュー14から送信データを取得し、取得した送信データをネットワーク5に送信する。
一方、再送管理部11から送信指示が届いている場合は、データ送信部6は、送信指示とともに再送管理部11から届いている送信データをネットワーク5に送信する。なお、再送管理部11からの送信指示に基づく送信データの送信は、送信データの再送に該当する。
送信データの送信が完了したら、データ送信部6は、ステップS11において、送信データの送信が完了した時刻を基準にして送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部11に通知する。
データ送信部6は、送信タイムスロット内の時刻を再送時刻に決定する。例えばデータ送信部6が0時0分0秒に送信データの送信を完了した場合を想定する。また、ここでは、送信データの送信が完了した時刻から10秒後に再送するような設定となっているものとする。この場合に、データ送信部6は、0時0分10秒が送信タイムスロット内の時刻であれば、0時0分10秒を再送時刻に決定する。一方、0時0分10秒が送信タイムスロット内の時刻でなければ、データ送信部6は、0時0分10秒より後に最も早く到来する送信タイムスロット内の時刻を再送時刻に決定する。
その後、データ送信部6はステップS8に戻る。
次に、図8を参照して、再送管理部11の動作例を説明する。
先ず、再送管理部11は、ステップS12で規定時間待機する。
次に、ステップS13で、再送管理部11は、再送データリスト13の先頭のエントリの再送時刻が到来したか否かを確認する。
再送時刻が到来している場合は、再送管理部11はステップS14に進む。一方、再送時刻が到来していない場合は、再送管理部11はステップS15に進む。
ステップS14では、再送管理部11は、再送データリスト13の先頭エントリに示されるメモリアドレスに基づいて送信データを取得し、データ送信部6に、送信データの送信を指示する。
より具体的には、再送管理部11は、送信データの送信指示と、送信データをデータ送信部6に出力する。
ステップS14で送信指示と送信データが出力された結果、図7のステップS9でYESとなり、データ送信部6は、ステップS10において、送信データを再送する。
ステップS15では、再送管理部11は、データ送信部6またはデータ受信部8から通知が届いたか否かを確認する。
通知が届いていれば、再送管理部11はステップS16に進む。一方、通知が届いていない場合は、再送管理部11はステップS12に戻る。
ステップS16では、再送管理部11は、データ送信部6からの通知及びデータ受信部8からの通知のいずれが届いたのかを確認する。
データ送信部6からの通知が届いている場合は、再送管理部11はステップS17に進む。一方、データ受信部8からの通知が届いている場合は、再送管理部11はステップS18に進む。
ステップS17では、再送管理部11は、再送データリスト13に新たなエントリを追加する。
データ送信部6から通知は、図7のステップS11で示された、再送時刻と送信データのメモリアドレスとシーケンス番号の通知である。再送管理部11は、ステップS17において、データ送信部6から通知された再送時刻と送信データのメモリアドレスとシーケンス番号が示される新たなエントリを再送データリスト13に追加する。再送管理部11は、再送時刻順に従って、新たなエントリを再送データリスト13に追加する。これにより送信データの再送が登録される。
新たなエントリを再送データリスト13に追加したら、再送管理部11はステップS15に戻る。
ステップS18では、再送管理部11は、再送データリスト13からエントリを削除する。
データ受信部8からの通知は、送信データの送信先からACKデータを受信した旨の通知である。データ受信部8からの通知には、ACKデータが受信された送信データのシーケンス番号が示される。このため、再送管理部11は、データ受信部8からの通知に示されるシーケンス番号に基づいて、再送データリスト13のエントリのうち、ACKデータが受信された送信データについてのエントリを削除する。
エントリを再送データリスト13から削除したら、再送管理部11はステップS15に戻る。
再送管理部11は、データ送信部6からの通知及びデータ受信部8からの通知を全て処理するまで、ステップS16〜S18を繰り返す。データ送信部6からの通知及びデータ受信部8からの通知が全て処理されたら、再送管理部11はステップS12に戻る。
次に、図9を参照して、データ受信部8の動作例を説明する。
先ず、ステップS19で、データ受信部8は、ネットワークインタフェース4からのデータ到着通知を待つ。データ到着通知は例えばハードウェア割り込みによって実現される。
データ到着通知が届くと、データ受信部8は、ステップS20において、受信されたデータの種別を確認する。つまり、データ受信部8は、受信されたデータが、通信装置102又は通信装置103から送信された送信データであるか、通信装置102又は通信装置103から送信されたACKデータであるかを確認する。
受信されたデータが送信データであれば、データ受信部8はステップS21に進む。一方、受信されたデータがACKデータであれば、データ受信部8はステップS23に進む。
ステップS21では、データ受信部8は、受信アプリケーション16に送信データを渡す。
また、データ受信部8は、ステップS22において、ACKデータ生成部9に、受信した送信データのACKデータを、送信データの送信元に送信するよう指示する。
そして、データ受信部8はステップS19に戻り、次のデータ到着通知の到着を待つ。
ステップS23では、データ受信部8は、再送管理部11にACKデータを受信した旨を通知する。より具体的には、データ受信部8は、ACKデータが受信された送信データのシーケンス番号を通知する。
そして、データ受信部8はステップS19に戻り、次のデータ到着通知の到着を待つ。
次に、図10を参照して、ACKデータ生成部9の動作例を説明する。
先ず、ACKデータ生成部9は、ステップS24において、データ受信部8からの指示に従い、ACKデータを生成する。
次に、ACKデータ生成部9は、ステップS25において、ステップS24で生成したACKデータのメモリアドレスを該当する送信キュー14に格納する。
つまり、ACKデータ生成部9は、送信データ管理部10で管理されている複数の送信キュー14のうち、ACKデータのプロトコルに対応するタイムスロットのエントリの送信キュー14にステップS24で生成したACKデータのメモリアドレスを格納する。
次に、ACKデータ生成部9は、ステップS26で規定時間待機する。
次に、ACKデータ生成部9は、ステップS27で、データ送信部6からデータ送信完了通知が届いたかどうかを確認する。
データ送信完了通知が届いていない場合は、ACKデータ生成部9は、ステップS26及びステップS27をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、ACKデータ生成部9は、処理を終了する。
なお、送信アプリケーション15の動作は送信制御部12にコンテンツを出力するだけである。
また、受信アプリケーション16の動作は、受信されたデータをデータ受信部8から取得し、受信アプリケーション16独自の処理を当該データに対して行うだけである。
このため、送信アプリケーション15及び受信アプリケーション16の処理手順の説明は省略する。
***実施の形態の効果の説明***
従来の手法であれば、送信制御部12が送信キュー14に送信データのメモリアドレスを格納した時刻(図5のステップS2の時刻)を基準して再送時刻が決定される。このため、送信タイムスロットではないタイムスロットで送信キュー14に送信データが格納された場合は、送信タイムスロットが到来するまでに再送時刻が到来してしまい、送信データの1回目の送信と同時に送信データの再送が行われてしまう可能性がある。また、送信データの1回目の送信の後に再送時刻が到来する場合であっても、送信データの1回目の送信の直後に再送時刻が到来すると、受信側の通信装置がACKデータを送信する前に送信データが再送されることになる。いずれのケースにおいても、送信データは受信側の通信装置に到達するにも関わらず、無駄に送信データの再送が発生することになる。
本実施の形態では、データ送信部6が送信データの送信を完了した時刻(図7のステップS10の時刻)を基準にして再送時刻が決定される(図7のステップS11)。従って、本実施の形態では、送信データの1回目の送信と同時に送信データの再送が行われることはない。また、本実施の形態では、送信データの1回目の送信の直後に再送時刻が到来することもない。
このように、本実施の形態では、TSNのように、タイムスロットの単位で送信するデータの種類を切り替えてデータを送信する構成において、無駄な再送を防止することができる。
実施の形態2.
本実施の形態では、現在のタイムスロットが送信タイムスロットではなく、また、次の送信タイムスロットまでの待ち時間が閾値時間以下である場合に、通信装置101が、実施の形態1と同様に送信データを送信する。一方、次の送信タイムスロットまでの待ち時間が閾値時間よりも長い場合は、通信装置101は、送信データを再送する手順にて送信データを送信する。
以下では、再送間隔を閾値時間として扱う。再送間隔は、送信データの1回目の送信から再送までの間の間隔として通信装置101において規定されているデフォルト値である。
***構成の説明***
本実施の形態においても、通信システムの構成例は図1に示すものと同様である。
図11は、本実施の形態に係る通信装置101の機能構成例を示す。
図11に示す通信装置101の機能構成例は、図2に示すものと同じであるが、本実施の形態では、データ送信部6は、送信部及び再送部に相当する。また、データ送信部6により行われる処理は、送信処理及び再送処理に相当する。
***動作の説明***
次に、本実施の形態に係る通信装置101の動作例を説明する。本実施の形態でも、通信装置102及び通信装置103は、通信装置101と同じ動作を行う。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
図12は、本実施の形態に係る送信制御部12の動作例を示す。
ステップS101では、送信制御部12は、送信データを生成する。
ステップS101は、実施の形態1で説明したステップS1と同じであるため、詳細な説明は省略する。
次に、ステップS102で、送信制御部12は、現在のタイムスロットが送信タイムスロットであるか否かを確認する。つまり、送信制御部12は、現在のタイムスロットが、送信データの送信が許可されるタイムスロットであるか否かを判定する。
現在のタイムスロットが送信タイムスロットであれば、送信制御部12はステップS105に進む。
一方、現在のタイムスロットが送信タイムスロットでなければ、送信制御部12はステップS103に進む。
ステップS103では、送信制御部12は、次の送信タイムスロットまでの待ち時間を取得する。具体的には、送信制御部12は、タイムスロットの割当て時間(規定値)と、現在のタイムスロットが開始してからの経過時間とを用いて、次の送信タイムスロットまでの待ち時間を取得する。
ステップS104では、送信制御部12は、ステップS103で取得した次の送信タイムスロットまでの待ち時間と、再送間隔とを比較する。
次の送信タイムスロットまでの待ち時間が再送間隔以下である場合に、送信制御部12はステップS105に進む。
一方、次の送信タイムスロットまでの待ち時間が再送間隔よりも長い場合に、送信制御部12はステップS106に進む。
ステップS105では、送信制御部12は図5のステップS2からステップS4の処理を行う。
つまり、送信制御部12は、ステップS101で生成した送信データのメモリアドレスを該当する送信キュー14に格納する(ステップS2)。
また、送信制御部12は、規定時間待機し(ステップS3)、データ送信部6からデータ送信完了通知が届いたかどうかを確認する(ステップS4)。
データ送信完了通知が届いていない場合は、送信制御部12は、ステップS3及びステップS4をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部12は、処理を終了する。
送信制御部12がステップS2からステップS4を行うと、データ送信部6は次の送信タイムスロットにおいて送信データの送信を行い、また、次の送信タイムスロット内の再送時刻を決定し(図7)、再送管理部11が次の送信タイムスロット内の再送時刻での送信データの再送の登録を行う(後述の図13)。
このように、本実施の形態では、送信制御部12は、次の送信タイムスロットまでの待ち時間が再送間隔以下である場合は、データ送信部6に次の送信タイムスロットにおいて送信データの送信を行わせ、データ送信部6に次の送信タイムスロット内の再送時刻を決定させ、再送管理部11に次の送信タイムスロット内の再送時刻での送信データの再送の登録を行わせる。送信制御部12のこのような制御は、第1の送信制御という。
ステップS106では、送信制御部12は、送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部11に通知する。
送信制御部12は、次の送信タイムスロット内の時刻を再送時刻に決定する。
後述するように、再送管理部11は、ステップS10で通知された再送時刻と送信データのメモリアドレスとシーケンス番号を、新たなエントリとして再送データリスト13に登録する。この結果、データ送信部6は、再送データリスト13に従い、次の送信タイムスロットにおいて送信データの送信を行う。
このように、本実施の形態では、送信制御部12は、次の送信タイムスロットまでの待ち時間が再送間隔よりも長い場合は、再送管理部11に次の送信タイムスロットにおける送信データの再送の登録を行わせ、データ送信部6に次の送信タイムスロットにおいて送信データの送信を行わせる。送信制御部12のこのような制御は、第2の送信制御という。
なお、ステップS106が行われた場合は、データ送信部6にステップS11にて再送時刻を決定しないように指示する。
図13は、本実施の形態に係る再送管理部11の動作例を示す。
図13において、ステップS151及びステップS161以外の処理は、図8に示すものと同じである。このため、以下では、ステップS151及びステップS161のみを説明する。
ステップS151では、再送管理部11は、データ送信部6、送信制御部12またはデータ受信部8から通知が届いたか否かを確認する。
通知が届いていれば、再送管理部11はステップS161に進む。一方、通知が届いていない場合は、再送管理部11はステップS12に戻る。
ステップS161では、再送管理部11は、データ送信部6または送信制御部12からの通知、データ受信部8からの通知のいずれが届いたのかを確認する。
データ送信部6または送信制御部12からの通知が届いている場合は、再送管理部11はステップS17に進む。一方、データ受信部8からの通知が届いている場合は、再送管理部11はステップS18に進む。
送信制御部12からの通知は、図12のステップS106の通知である。つまり、送信制御部12からステップS106の通知が届いている場合にも、再送管理部11は、データ送信部6からの通知と同様に、送信制御部12からの通知に基づいて、再送データリスト13に新たなエントリを追加する。
***実施の形態の効果の説明***
本実施の形態では、現在のタイムスロットが送信タイムスロットではなく、次の送信タイムスロットまでの待ち時間が閾値時間(再送間隔)よりも長い場合は、再送手順にて送信データの1回目の送信が行われる。このため、本実施の形態によれば、次の送信タイムスロットまでの待ち時間が閾値時間(再送間隔)よりも長い場合は、送信キュー14への送信データの格納等の手順を省略することができ、処理負荷を軽減することができる。つまり、本実施の形態により、より効率的なデータ送信を実現することができる。
また、従来技術での再送時刻により近い時刻でデータの再送処理が可能となる。
なお、以上では、閾値時間を再送間隔としているが、閾値時間は再送間隔でなくてもよい。
実施の形態3.
本実施の形態では、現在のタイムスロットが送信タイムスロットであり、また、現在のタイムスロットの残り時間が閾値時間よりも長い場合に、通信装置101が、現在のタイムスロットでの送信データの送信を選択する。一方、現在のタイムスロットの残り時間が閾値時間以下である場合は、通信装置101は、次の送信タイムスロットでの送信データの送信を選択する。
本実施の形態では、送信所要時間を閾値時間として扱う。送信所要時間は、データ送信部6が送信データを送信するのに要する時間である。
***構成の説明***
本実施の形態においても、通信システムの構成例は図1に示すものと同様である。
また、本実施の形態においても通信装置101の機能構成は図11に示すものと同様である。
***動作の説明***
次に、本実施の形態に係る通信装置101の動作例を説明する。本実施の形態でも、通信装置102及び通信装置103は、通信装置101と同じ動作を行う。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
図14は、本実施の形態に係る送信制御部12の動作例を示す。
ステップS201では、送信制御部12は、送信データを生成する。
ステップS201は、実施の形態1で説明したステップS1と同じであるため、詳細な説明は省略する。
次に、ステップS202では、送信制御部12は、再送間隔とタイムスロットの割り当て時間とを比較する。
再送間隔よりもタイムスロットの割り当て時間が長い場合は、送信制御部12はステップS203に進む。一方、タイムスロットの割り当て時間が再送間隔以下であれば、送信制御部12はステップS207に進む。
ステップS203では、送信制御部12は、現在のタイムスロットが送信タイムスロットであるか否かを確認する。つまり、送信制御部12は、現在のタイムスロットが、送信データの送信が許可されるタイムスロットであるか否かを判定する。
現在のタイムスロットが送信タイムスロットであれば、送信制御部12はステップS204に進む。
一方、現在のタイムスロットが送信タイムスロットでなければ、送信制御部12はステップS208に進む。
ステップS204では、送信制御部12は、送信所要時間を求める。すなわち、送信制御部12は、図7のステップS10とステップS11の処理に要する時間を確認する。例えば、データ送信部6が、ステップS10とステップS11に要する時間を計測して送信所要時間として保持しておき、データ送信部6が送信制御部12に送信所要時間を通知することが考えられる。
ステップS205では、送信制御部12は、現在のタイムスロットの残り時間を求める。
ステップS206では、送信制御部12は、送信所要時間と現在のタイムスロットの残り時間を比較する。
現在のタイムスロットの残り時間が送信所要時間よりも長ければ、送信制御部12はステップS207に進む。一方、現在のタイムスロットの残り時間が送信所要時間以下であれば、送信制御部12はステップS208に進む。
ステップS207では、送信制御部12は図5のステップS2からステップS4の処理を行う。
つまり、送信制御部12は、ステップS101で生成した送信データのメモリアドレスを該当する送信キュー14に格納する(ステップS2)。
また、送信制御部12は、規定時間待機し(ステップS3)、データ送信部6からデータ送信完了通知が届いたかどうかを確認する(ステップS4)。
データ送信完了通知が届いていない場合は、送信制御部12は、ステップS3及びステップS4をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部12は、処理を終了する。
送信制御部12がステップS2からステップS4を行うと、データ送信部6は次の送信タイムスロットにおいて送信データの送信を行い、また、次の送信タイムスロット内の再送時刻を決定し(図7)、再送管理部11が次の送信タイムスロット内の再送時刻での送信データの再送の登録を行う(図13)。
このように、本実施の形態では、送信制御部12は、現在のタイムスロットの残り時間が送信所要時間よりも長ければ、データ送信部6に次の送信タイムスロットにおいて送信データの送信を行わせ、データ送信部6に次の送信タイムスロット内の再送時刻を決定させ、再送管理部11に次の送信タイムスロット内の再送時刻での送信データの再送の登録を行わせる。送信制御部12のこのような制御は、第1の送信制御という。
ステップS208では、送信制御部12は、送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部11に通知する。
送信制御部12は、次の送信タイムスロット内の時刻を再送時刻に決定する。
本実施の形態でも、再送管理部11は、ステップS208で通知された再送時刻と送信データのメモリアドレスとシーケンス番号を、新たなエントリとして再送データリスト13に登録する。この結果、データ送信部6は、再送データリスト13に従い、次の送信タイムスロットにおいて送信データの送信を行う。
このように、本実施の形態では、送信制御部12は、現在のタイムスロットの残り時間が送信所要時間以下であれば、再送管理部11に次の送信タイムスロットにおける送信データの再送の登録を行わせ、データ送信部6に次の送信タイムスロットにおいて送信データの送信を行わせる。送信制御部12のこのような制御は、第2の送信制御という。
なお、ステップS208が行われた場合は、データ送信部6にステップS11にて再送時刻を決定しないように指示する。
本実施の形態でも、再送管理部11の動作は図13に示す通りである。
***実施の形態の効果の説明***
実施の形態1の方法では、現在のタイムスロットが送信タイムスロットであり、現在のタイムスロットの残り時間が送信所要時間以下であっても、通信装置101は送信データの送信処理を行う。しかし、この場合は、通信装置101は現在のタイムスロット内で送信データを送信することはできないので、現在のタイムスロット内で行った送信処理が無駄になる。
そこで、本実施の形態では、現在のタイムスロットの残り時間が送信所要時間以下である場合は、通信装置101は、現在のタイムスロットでは送信データを送信せずに、次の送信タイムスロットに送信データを送信する。この結果、本実施の形態によれば、効率的なデータ送信を行うことができる。
実施の形態4.
本実施の形態でも、実施の形態3と同様に、現在のタイムスロットが送信タイムスロットであり、また、現在のタイムスロットの残り時間が閾値時間よりも長い場合に、通信装置101が、現在のタイムスロットでの送信データの送信を選択する。一方、現在のタイムスロットの残り時間が閾値時間以下である場合は、通信装置101は、次の送信タイムスロットでの送信データの送信を選択する。
本実施の形態では、受信確認所要時間を閾値時間として扱う。受信確認所要時間は、送信データの送信から、送信データの送信先から送信データについての受信確認(ACKデータ)を受信するまでに要する時間である。
***構成の説明***
本実施の形態においても、通信システムの構成例は図1に示すものと同様である。
また、本実施の形態においても通信装置101の機能構成は図11に示すものと同様である。
***動作の説明***
次に、本実施の形態に係る通信装置101の動作例を説明する。本実施の形態でも、通信装置102及び通信装置103は、通信装置101と同じ動作を行う。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
図15は、本実施の形態に係る送信制御部12の動作例を示す。
ステップS301では、送信制御部12は、送信データを生成する。
ステップS301は、実施の形態1で説明したステップS1と同じであるため、詳細な説明は省略する。
次に、ステップS302では、送信制御部12は、再送間隔とタイムスロットの割り当て時間とを比較する。
再送間隔よりもタイムスロットの割り当て時間が長い場合は、送信制御部12はステップS303に進む。一方、タイムスロットの割り当て時間が再送間隔以下であれば、送信制御部12はステップS307に進む。
ステップS303では、送信制御部12は、現在のタイムスロットが送信タイムスロットであるか否かを確認する。つまり、送信制御部12は、現在のタイムスロットが、送信データの送信が許可されるタイムスロットであるか否かを判定する。
現在のタイムスロットが送信タイムスロットであれば、送信制御部12はステップS304に進む。
一方、現在のタイムスロットが送信タイムスロットでなければ、送信制御部12はステップS308に進む。
ステップS304では、送信制御部12は、受信確認所要時間を求める。例えば、データ送信部6が、送信データを送信し、送信データを送信してから、同じタイムスロット内で受信側の通信装置からACKデータを受信するまでの時間を受信確認所要時間として計測する。そして、データ送信部6が送信制御部12に受信確認所要時間を通知することが考えられる。データ送信部6は、過去に計測した受信確認所要時間を送信制御部12に通知してもよい。
ステップS305では、送信制御部12は、現在のタイムスロットの残り時間を求める。
ステップS306では、送信制御部12は、受信確認所要時間と現在のタイムスロットの残り時間を比較する。
現在のタイムスロットの残り時間が受信確認所要時間よりも長ければ、送信制御部12はステップS307に進む。一方、現在のタイムスロットの残り時間が受信確認所要時間以下であれば、送信制御部12はステップS308に進む。
ステップS307では、送信制御部12は図5のステップS2からステップS4の処理を行う。
つまり、送信制御部12は、ステップS101で生成した送信データのメモリアドレスを該当する送信キュー14に格納する(ステップS2)。
また、送信制御部12は、規定時間待機し(ステップS3)、データ送信部6からデータ送信完了通知が届いたかどうかを確認する(ステップS4)。
データ送信完了通知が届いていない場合は、送信制御部12は、ステップS3及びステップS4をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部12は、処理を終了する。
送信制御部12がステップS2からステップS4を行うと、データ送信部6は次の送信タイムスロットにおいて送信データの送信を行い、また、次の送信タイムスロット内の再送時刻を決定し(図7)、再送管理部11が次の送信タイムスロット内の再送時刻での送信データの再送の登録を行う(図13)。
このように、本実施の形態では、送信制御部12は、現在のタイムスロットの残り時間が受信確認所要時間よりも長ければ、データ送信部6に次の送信タイムスロットにおいて送信データの送信を行わせ、データ送信部6に次の送信タイムスロット内の再送時刻を決定させ、再送管理部11に次の送信タイムスロット内の再送時刻での送信データの再送の登録を行わせる。送信制御部12のこのような制御は、第1の送信制御という。
ステップS308では、送信制御部12は、送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部11に通知する。
送信制御部12は、次の送信タイムスロット内の時刻を再送時刻に決定する。
本実施の形態でも、再送管理部11は、ステップS308で通知された再送時刻と、送信データのメモリアドレスとシーケンス番号を、新たなエントリとして再送データリスト13に登録する。この結果、データ送信部6は、再送データリスト13に従い、次の送信タイムスロットにおいて送信データの送信を行う。
このように、本実施の形態では、送信制御部12は、現在のタイムスロットの残り時間が受信確認所要時間以下であれば、再送管理部11に次の送信タイムスロットにおける送信データの再送の登録を行わせ、データ送信部6に次の送信タイムスロットにおいて送信データの送信を行わせる。送信制御部12のこのような制御は、第2の送信制御という。
なお、ステップS308が行われた場合は、データ送信部6にステップS11にて再送時刻を決定しないように指示する。
本実施の形態でも、再送管理部11の動作は図13に示す通りである。
***実施の形態の効果の説明***
実施の形態1の方法では、現在のタイムスロットが送信タイムスロットであり、現在のタイムスロットの残り時間が受信確認所要時間以下であっても、通信装置101は送信データを送信する。しかし、この場合は、ACKデータは現在のタイムスロットでは通信装置101に届かない。このため、通信装置101にACKデータが届く前に再送時刻が到来し、通信装置101は、送信データが受信側の通信装置に届いているにも関わらず、送信データを再送することになる。
そこで、本実施の形態では、現在のタイムスロットの残り時間が受信確認所要時間以下である場合は、通信装置101は、現在のタイムスロットでは送信データを送信せずに、次の送信タイムスロットに送信データを送信する。この結果、本実施の形態では、無駄な再送を防止することができる。
なお、上記では、受信確認所要時間の取得方法として、送信データを送信してからACKデータが戻るまでの時間を計測する方法を説明した。これは、TCP/IPでは、ACKデータに、送信データが受信側の通信装置に到達した時刻が格納できないため、上記では、実際に受信確認所要時間を計測する例を説明している。送信データが受信側の通信装置に到達した時刻をACKデータに格納できるプロトコルが用いられる場合は、送信制御部12は、通信装置101がACKデータを受信した時刻からACKデータに格納された時刻(送信データが受信側の通信装置に到達した時刻)を減算して得られる時間を2倍し、更に、2倍により得られた時間に受信側の通信装置での処理時間を加算すれば、受信確認所要時間を得ることができる。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
最後に、通信装置101のハードウェア構成の補足説明を行う。
プロセッサ2は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ2は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
メモリ3は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
ネットワークインタフェース4は、データを送受信する電子回路である。
ネットワークインタフェース4は、例えば、通信チップ又はNIC(Network Interface Card)である。
また、メモリ3には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ2により実行される。
プロセッサ2はOSの少なくとも一部を実行しながら、データ送信部6、タイムスロット管理部7、データ受信部8、ACKデータ生成部9、再送管理部11及び送信制御部12の機能を実現するプログラムを実行する。
また、データ送信部6、タイムスロット管理部7、データ受信部8、ACKデータ生成部9、再送管理部11及び送信制御部12の処理の結果を示す情報、データ、信号値又は変数値が、メモリ3、又は、プロセッサ2内のレジスタ又はキャッシュメモリに記憶される。
また、データ送信部6、タイムスロット管理部7、データ受信部8、ACKデータ生成部9、再送管理部11及び送信制御部12の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に記憶されてもよい。
また、通信装置101は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった電子回路により実現されてもよい。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
2 プロセッサ、3 メモリ、4 ネットワークインタフェース、5 ネットワーク、101 通信装置、102 通信装置、103 通信装置、6 データ送信部、7 タイムスロット管理部、8 データ受信部、9 ACKデータ生成部、10 送信データ管理部、11 再送管理部、12 送信制御部、13 再送データリスト、14 送信キュー、15 送信アプリケーション、16 受信アプリケーション。

Claims (11)

  1. 送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
    データの再送の登録を行う再送管理部と、
    前記再送管理部により再送の登録が行われたデータを再送する再送部と、
    送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、比較結果に基づき、前記送信部に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第1の送信制御と、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第2の送信制御とのいずれかを選択し、選択した送信制御を行う送信制御部とを有する通信装置。
  2. 前記送信制御部は、
    前記閾値時間として、前記再送部によりデータが再送される場合の再送間隔を、次の送信タイムスロットまでの待ち時間と比較し、
    前記待ち時間が前記再送間隔以下である場合に、前記第1の送信制御を選択し、
    前記待ち時間が前記再送間隔よりも長い場合に、前記第2の送信制御を選択する請求項に記載の通信装置。
  3. 送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
    送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する送信制御部とを有する通信装置。
  4. 前記送信制御部は、
    前記閾値時間として、前記送信部が前記送信データを送信するのに要する送信所要時間を現在のタイムスロットの残り時間と比較する請求項に記載の通信装置。
  5. 前記送信制御部は、
    前記閾値時間として、前記送信データの送信先から前記送信データについての受信確認を受信するまでの受信確認所要時間を現在のタイムスロットの残り時間と比較する請求項に記載の通信装置。
  6. 前記通信装置は、更に、
    データの再送の登録を行う再送管理部と、
    前記再送管理部により再送の登録が行われたデータを再送する再送部とを有し、
    前記送信制御部は、
    現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、前記送信部に現在のタイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第1の送信制御を選択し、
    現在のタイムスロットの残り時間が前記閾値時間以下である場合に、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第2の送信制御を選択し、
    選択した送信制御を行う請求項に記載の通信装置。
  7. 前記送信制御部は、
    現在のタイムスロットが送信タイムスロットでない場合に、前記第2の送信制御を行う請求項に記載の通信装置。
  8. 送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
    前記送信部により送信されたデータの再送の登録を行う再送管理部と、
    前記再送管理部により再送の登録が行われたデータを再送する再送部とを有する通信装置が、
    送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、
    現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、
    比較結果に基づき、前記送信部に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第1の送信制御と、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第2の送信制御とのいずれかを選択し、選択した送信制御を行う通信方法。
  9. 送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置が、
    送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、
    現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、
    現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する通信方法。
  10. 送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信処理と、
    前記送信処理により送信されたデータの再送の登録を行う再送管理処理と、
    前記再送管理処理により再送の登録が行われたデータを再送する再送処理と、
    送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、比較結果に基づき、前記送信処理に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理処理に前記送信データの再送の登録を行わせる第1の送信制御と、前記再送管理処理に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送処理に次の送信タイムスロットにおいて前記送信データの送信を行わせる第2の送信制御とのいずれかを選択し、選択した送信制御を行う送信制御処理とを通信装置に実行させる通信プログラム。
  11. 送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置に、
    送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する送信制御処理を実行させる通信プログラム。
JP2020520861A 2018-05-21 2018-05-21 通信装置、通信方法及び通信プログラム Active JP6800375B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/019434 WO2019224860A1 (ja) 2018-05-21 2018-05-21 通信装置、通信方法及び通信プログラム

Publications (2)

Publication Number Publication Date
JPWO2019224860A1 JPWO2019224860A1 (ja) 2020-10-22
JP6800375B2 true JP6800375B2 (ja) 2020-12-16

Family

ID=68616650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020520861A Active JP6800375B2 (ja) 2018-05-21 2018-05-21 通信装置、通信方法及び通信プログラム

Country Status (6)

Country Link
US (1) US11677515B2 (ja)
JP (1) JP6800375B2 (ja)
CN (1) CN112204934B (ja)
DE (1) DE112018007489B4 (ja)
TW (1) TW202005348A (ja)
WO (1) WO2019224860A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020039538A1 (ja) * 2018-08-23 2020-02-27 三菱電機株式会社 通信装置、通信方法及び通信プログラム
US11564123B2 (en) * 2020-09-30 2023-01-24 Kabushiki Kaisha Toshiba Virtual time-sensitive networking bridge over a 5G wireless system
JPWO2022264230A1 (ja) * 2021-06-14 2022-12-22

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530700A (en) * 1994-07-29 1996-06-25 Motorola, Inc. Method and device for controlling time slot contention to provide fairness between a plurality of types of subscriber units in a communication system
JP3001435B2 (ja) 1996-10-24 2000-01-24 日本電気移動通信株式会社 確認形情報転送におけるデータ再送方法
JPH10290353A (ja) * 1997-04-15 1998-10-27 Ricoh Co Ltd ファクシミリ装置
JPH1174946A (ja) 1997-08-27 1999-03-16 Nippon Denki Ido Tsushin Kk データ送信方式
JP3645230B2 (ja) 2001-09-28 2005-05-11 三菱電機株式会社 データパケット送信装置、データパケット受信装置、データパケット伝送システムおよびデータパケット再送制御方法
JP2003188937A (ja) * 2001-12-20 2003-07-04 Nef:Kk 回線エラー保護方式
JP3977803B2 (ja) * 2003-12-17 2007-09-19 株式会社日立製作所 バックアップシステム及び方法並びにプログラム
CN101507188A (zh) * 2006-09-13 2009-08-12 松下电器产业株式会社 通信装置
JP2008306551A (ja) 2007-06-08 2008-12-18 Sanden Corp 通信機器用の接続装置
WO2011074454A1 (ja) 2009-12-14 2011-06-23 日本電気株式会社 パケット再送制御システム、方法、及びプログラム
US9942846B2 (en) * 2013-12-05 2018-04-10 Qualcomm Incorporated Delaying radio link control retransmissions
JP2016119556A (ja) * 2014-12-19 2016-06-30 三菱電機株式会社 ゲートウェイ、通信端末および衛星通信システム
EP3057273B1 (en) 2015-02-13 2019-03-27 Mitsubishi Electric R&D Centre Europe B.V. Method for a traffic shaping in a network
CN106411443B (zh) * 2015-07-28 2018-09-25 长城汽车股份有限公司 报文传输的方法、车载网络系统及车辆
CN107710655B (zh) * 2015-08-07 2019-06-28 三菱电机株式会社 发送装置、接收装置、发送方法以及接收方法
US20190322298A1 (en) * 2018-04-20 2019-10-24 General Electric Company Locomotive control system
WO2018087927A1 (ja) * 2016-11-14 2018-05-17 三菱電機株式会社 ネットワークシステム、通信装置および通信方法

Also Published As

Publication number Publication date
JPWO2019224860A1 (ja) 2020-10-22
CN112204934B (zh) 2023-10-17
CN112204934A (zh) 2021-01-08
TW202005348A (zh) 2020-01-16
DE112018007489B4 (de) 2022-03-31
US20210006359A1 (en) 2021-01-07
DE112018007489T5 (de) 2020-12-31
US11677515B2 (en) 2023-06-13
WO2019224860A1 (ja) 2019-11-28

Similar Documents

Publication Publication Date Title
CN109936510B (zh) 多路径rdma传输
JP5696854B2 (ja) パケット再送制御装置とパケット再送制御方法
JP5935940B2 (ja) 通信方法、通信装置、および、通信プログラム
US11677515B2 (en) Retransmission control device, method, and computer readable medium for time sensitive network communications
RU2540815C2 (ru) Прерывание, по меньшей мере частичное, передачи кадра
JP6094357B2 (ja) 通信方法、通信システム、及び通信装置
WO2009021417A1 (fr) Procédé, système et dispositif de transmission et de réception de données de réseau
US10461886B2 (en) Transport layer identifying failure cause and mitigation for deterministic transport across multiple deterministic data links
US8838782B2 (en) Network protocol processing system and network protocol processing method
US7969977B2 (en) Processing apparatus and method for processing IP packets
JP2019106697A (ja) 相互接続ネットワークでのメッセージ再送遅延を動的に管理するための方法及びデバイス
JP6808104B2 (ja) 通信装置、通信方法及び通信プログラム
CN115150383A (zh) 文件发送方法、设备及计算机可读存储介质
US11172053B2 (en) Transfer apparatus, transfer method, and program for transporting data from a single source to sinks with different communication requirements
WO2019114586A1 (zh) 信息传输的方法和装置
JP6452573B2 (ja) データ送信装置及びデータ受信装置及びデータ送信方法及びデータ受信方法及びデータ送信プログラム及びデータ受信プログラム
JP2017027196A (ja) 通信装置、電力制御方法、及び電力制御プログラム
KR102337119B1 (ko) 컨텐츠 중심 네트워크에서 노드의 통신 방법 및 그 노드
JPWO2019220596A1 (ja) 転送装置、転送方法および転送プログラム
JP2019114947A (ja) 通信装置、通信装置の制御方法およびプログラム
JP2007267249A (ja) データ送信装置、データ送信方法、およびデータ送信プログラム
WO2021100178A1 (ja) 通信装置、通信システム、通信方法、及びプログラムが格納された非一時的なコンピュータ可読媒体
WO2017183088A1 (ja) パケット中継装置、パケット中継方法及びパケット中継プログラム
CN117729274A (zh) 报文处理的方法、装置、设备及可读存储介质
US20150295957A1 (en) Data transmitting device, data transmitting method, and communication device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200721

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200721

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200815

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201124

R150 Certificate of patent or registration of utility model

Ref document number: 6800375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250