JP5601906B2 - 通信装置およびパケット中継方法 - Google Patents

通信装置およびパケット中継方法 Download PDF

Info

Publication number
JP5601906B2
JP5601906B2 JP2010152010A JP2010152010A JP5601906B2 JP 5601906 B2 JP5601906 B2 JP 5601906B2 JP 2010152010 A JP2010152010 A JP 2010152010A JP 2010152010 A JP2010152010 A JP 2010152010A JP 5601906 B2 JP5601906 B2 JP 5601906B2
Authority
JP
Japan
Prior art keywords
packet
input
unit
time
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.)
Expired - Fee Related
Application number
JP2010152010A
Other languages
English (en)
Other versions
JP2012015895A (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
Priority to JP2010152010A priority Critical patent/JP5601906B2/ja
Publication of JP2012015895A publication Critical patent/JP2012015895A/ja
Application granted granted Critical
Publication of JP5601906B2 publication Critical patent/JP5601906B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、許容される伝送遅延時間が異なる複数種類のパケットを多重化して通信路に出力する通信装置に関する。
複数の入力パケットを多重化して通信路に出力する通信装置において、パケットの多重化の制御(どのような順番でパケットを送信するか)は、スケジューリング方式と呼ばれる。従来のスケジューリング方式は、たとえば下記非特許文献1に記載されている。この方式では、パケットを一旦、キューに蓄積した後、優先度等に従ってキューから読み出すようにしている。
また、例えば、スケジューリング方式の一つであるプライオリティキューイングの場合、パケットを優先度別に分けて、優先度毎にキューを設け、優先度の高いキューに入っているパケットから読み出して、送信する。パケットを多重化して送信する通信装置に対し、優先度をそれぞれhigh(高)、medium(中)、normal(通常)、low(低)としたキューを設けた場合について考えると、通信装置は、パケットが入力されると、この入力パケットの優先度をデータ種別等によって識別し、識別結果(パケットの優先度)に対応する優先度のキューに書き込む。また、通信装置は、パケットを送信する際、high(高)キューにあるパケットを最優先で読み出して送信する。medium(中)キューにあるパケットについては、high(高)キューにパケットが無ければ読み出して送信する。同様に、normal(通常)キューおよびlow(低)キューのパケットは、より高い優先度のパケットが存在しない場合(より高い優先度のキューにパケットが存在していない場合)に読み出して送信する。この機構により、リアルタイム性の高いパケット(以下、リアルタイム性パケットと称す)は、high(高)に割り当てることにより、他のパケットよりも低遅延で送信される。
シスコシステムズ株式会社 次世代ルータワーキンググループ著、「Cisco ISRルータ教科書」インプレス出版、2006年3月1日発行、p.86〜94
上述した従来の通信装置では、パケットの多重化のためのスケジューリング方式として、パケットを一旦、キューに蓄積した後、優先度等に従ってキューから読み出す制御方式が採られている。リアルタイム性パケットは、優先度を高くすることにより、他のパケットよりも低遅延で送信される。しかしながら、リアルタイム性パケットが通信装置に到着し高優先キューに蓄積された時に、低優先キューからパケットを送信中の場合はこのパケットの送信が完了した後に、ようやく高優先キューからリアルタイム性パケットが読み出されて送信される。つまり、リアルタイム性パケットは、低優先キューからのパケットの読み出しが開始されてから送信が完了するまでの間はキューに蓄積され、この蓄積時間が中継遅延となる。一例として、10Mb/sの速度で1500バイトのパケットを送信している場合は、最大1.2m秒の遅延となる。例えばこの遅延は、プラント制御を行う計装制御システムでの制御データの中継では、制御の処理遅延となり、きめ細かな制御ができなくなるという問題につながる。
本発明は、上記に鑑みてなされたものであって、複数の入力パケットを多重化して通信路に出力する通信装置において、優先的に取り扱う必要のあるパケットの中継を低遅延で行う通信装置およびパケット中継方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明の通信装置は、外部から入力された複数種類のパケットを中継する通信装置であって、周期的に入力されかつ低遅延での中継処理が要求される第1のパケットが入力される第1パケット入力部と、低遅延での中継処理が要求されない第2のパケットが入力される第2パケット入力部と、第1パケット入力部で受信されたのち第2パケット入力部で受信された第2のパケットとの多重化処理を経ていない第1のパケットに基づいて、第1パケット入力部への次の第1のパケットの到着時刻を予測する到着時刻予測手段と、第2パケット入力部で受信されたのち第1パケット入力部で受信された第1のパケットとの多重化処理を経ていない第2のパケットを蓄積するパケット蓄積手段と、到着時刻予測手段による第1のパケットの到着時刻の予測結果およびパケット蓄積手段に保持された第2のパケットの長さに基づいて、第1パケット入力部に入力された第1のパケットとパケット蓄積手段に蓄積された第2のパケットのいずれかのパケットを通信路へ送信するパケットに決定する送信パケット決定手段と、送信パケット決定手段の決定に基づいて、第1パケット入力部で受信され第2のパケットとの多重化処理を経ていない第1のパケットとパケット蓄積手段に蓄積された第2のパケットの多重化を行う多重部と、を備え、到着時刻予測手段は、第1のパケットの到着を検出するパケット検出部と、第1のパケットの到着が検出された場合にリセットするアップカウンタと、第1のパケットの到着が検出された場合にアップカウンタがリセットする直前のアップカウンタのカウント値をプリセットするダウンカウンタと、を備え、ダウンカウンタのカウント値を第1のパケットの到着時刻の予測結果として送信パケット決定手段に出力することを特徴とする。
また、本発明の別の通信装置は、外部から入力された複数種類のパケットを中継する通信装置であって、周期的に入力されかつ低遅延での中継処理が要求される第1のパケットが入力される第1パケット入力部と、低遅延での中継処理が要求されない第2のパケットが入力される第2パケット入力部と、第1パケット入力部で受信されたのち第2パケット入力部で受信された第2のパケットとの多重化処理を経ていない第1のパケットに基づいて、第1パケット入力部への次の第1のパケットの到着時刻を予測する到着時刻予測手段と、第2パケット入力部で受信されたのち第1パケット入力部で受信された第1のパケットとの多重化処理を経ていない第2のパケットを蓄積するパケット蓄積手段と、到着時刻予測手段による第1のパケットの到着時刻の予測結果およびパケット蓄積手段に保持された第2のパケットの長さに基づいて、第1パケット入力部に入力された第1のパケットとパケット蓄積手段に蓄積された第2のパケットのいずれかのパケットを通信路へ送信するパケットに決定する送信パケット決定手段と、送信パケット決定手段の決定に基づいて、第1パケット入力部で受信され第2のパケットとの多重化処理を経ていない第1のパケットとパケット蓄積手段に蓄積された第2のパケットの多重化を行う多重部と、を備え、到着時刻予測手段は、第1のパケットを送信したことを示す信号が第1のパケットの送信元の装置から入力されるとリセットするアップカウンタと、その第1のパケットを送信したことを示す信号が入力されるとアップカウンタがリセットする直前のアップカウンタのカウント値をプリセットするダウンカウンタと、を備え、ダウンカウンタのカウント値を第1のパケットの到着時刻の予測結果として送信パケット決定手段に出力することを特徴とする。
本発明によれば、リアルタイム処理が必要なパケットを低遅延で中継することができる、という効果を奏する。
図1は、本発明にかかる通信装置を適用したパケット伝送システムの構成例を示す図である。 図2は、実施の形態1の通信装置の内部構成例を示す図である。 図3は、実施の形態1のRTパケット到着時刻予測部の内部構成例を示す図である。 図4は、送信スケジューラの動作を示した擬似コード例を示す図である。 図5は、実施の形態1の通信装置の動作を説明するための図である。 図6は、実施の形態2の通信装置の内部構成例を示す図である。 図7は、実施の形態2のRTパケット到着時刻予測部の内部構成例を示す図である。
以下に、本発明にかかる通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかる通信装置を適用したパケット伝送システムの構成例を示す図である。このパケット伝送システムは、本発明にかかる通信装置1と、リアルタイムデータを発生させるデータ発生器20と、非リアルタイムデータを発生させるデータ発生器21と、通信装置1の通信相手先であるデータ処理装置30と、を含み、通信装置1とデータ処理装置30は通信ネットワーク200経由で通信を行う。
データ発生器20は、リアルタイムで処理すべきデータを通信パケットとして発生するものである。例えば、計装制御システムにおける制御のためのセンサ(図示せず)を収容する装置が相当する。また、データ発生器21は、リアルタイム処理を必要としないデータを通信パケットとして発生するものである。例えば、計装制御システムにおける監視機器(図示せず)を収容する装置が相当する。図1では、データ発生器21が2つの場合の例を示しているが、1つまたは3つ以上であってもよい。以下の説明では、データ発生器20が発生させた通信パケット(リアルタイムで処理すべきデータ)をRTパケットと表現し、データ発生器21が発生させた通信パケット(リアルタイムで処理する必要のないデータ)をNRTパケットと表現する。
通信装置1は、データ発生器20およびデータ発生器21から入力されたデータ(RTパケット,NRTパケット)を多重化して通信ネットワーク200へ送信する。なお、データ発生器20と通信装置1は通信路101で接続され、各データ発生器21と通信装置1は通信路102a,102bで接続されている。また、通信装置1は通信路103を介して通信ネットワーク200に接続されている。通信路101,102a,102b,103は有線通信路であってもよいし無線通信路であってもよい。
データ処理装置30は、データ発生器20および21から出力され、通信装置1で多重化されたデータを処理する装置である。データ発生器20および21とデータ処理装置30は通信ネットワーク200を介して遠隔に設置される。データ処理装置30は、データ発生器20および21が発生したデータを処理すると、処理結果に応じた制御指示を制御対象機器(図示せず)に行う。データ処理装置30でのきめ細かな制御のために、データ発生器20は、収容するセンサ(図示せず)の値をデータ処理装置30に向けて周期的に送信する。
図2は、図1に示した通信装置1の内部構成例を示す図である。図2においては、図1にも示されている部分に図1と同一の符号を付している。
図示したように、通信装置1は、入力I/F部11、キュー12、キュー管理部13、多重部14、送信スケジューラ15、出力I/F部16およびRTパケット到着時刻予測部17を備える。
通信装置1において、入力I/F部11は、通信路101、102aおよび102bから入力されるパケットの受信処理、具体的には、物理層における処理、パケットの先頭の識別、およびパケットの最後尾の識別を行う。
キュー12は、対応するデータ発生器21(通信路102aまたは102bを介して接続されている発生器21)から受信したNRTパケットを一時的に蓄積しておくためのバッファであり、先に入力されたパケットを先に出力するFIFO動作を行う。
キュー管理部13は、キュー12に蓄積されているパケット(NRTパケット)を管理し、NRTパケットの蓄積状態(NRTパケットの有無)、および格納されている先頭のNRTパケットの長さを送信スケジューラ15に通知するとともに、送信スケジューラ15の指示に従ってキュー12からNRTパケットを読み出し、多重部14へ出力する。送信スケジューラ15への通知は、たとえば、キュー12の状態が変化した場合(パケットが新たに書き込まれた場合,パケットが読み出された場合)に通知する。送信スケジューラ15からの要求に応じて通知するようにしてもよい。
RTパケット到着時刻予測部17は、通信路101からRTパケットが入力される周期(RTパケットの到着周期)を測定し、次にパケットが入力される時刻を予測する。また、予測結果を送信スケジューラ15に出力する。
多重部14は、各キューから入力されたNRTパケット(NRT#1、NRT#2)および通信路101に接続された入力I/F部11から入力されたRTパケット(RT)のいずれかを選択して出力I/F部16へ出力する。選択は、送信スケジューラ15から指示され、パケット単位に実行される。
送信スケジューラ15は、RTパケット到着時刻予測部17における予測結果および各キュー管理部13から通知されたNRTパケットの長さの情報に基づいて、キュー管理部13に対するNRTパケットの読み出し指示および多重部14に対するパケット出力指示を行う。具体的には、NRTパケットの送信を行うかどうかを判断し、送信すると判断した場合には、送信することとしたNRTパケットをキュー12から多重部14へ出力するようキュー管理部13に指示を行う。また、多重部14に対してはRTパケットまたはいずれかのキュー12から読み出されたNRTパケットを選択して出力するよう指示を行う。この送信スケジューラ15は、周期的に入力されるRTパケットの到着タイミングとNRTパケットの送信処理の実行タイミングが衝突しないようにスケジューリングを行う。すなわち、NRTパケットの送信処理を実行中にRTパケットが到着するかどうかを予測し、到着すると判断した場合には、そのNRTパケットの送信処理を開始しないことに決定して次のRTパケットが到着するのを待つ。これにより、リアルタイム処理が要求されないNRTパケットの中継処理にかかる遅延時間は増大するが、リアルタイム処理が要求されるRTパケットについては低遅延で中継できる。スケジューリングを実施するタイミングは、たとえば、RTパケットまたはNRTパケットが新たに入力されたことを検出した時点とする。また、RTパケットまたはNRTパケットの送信が完了した時点でキュー12の状態を確認し、NRTパケットが存在していればスケジューリングを行う。
出力I/F部16は、物理層における処理を実施してパケットを送信する。
図3は、RTパケット到着時刻予測部17の内部構成例を示す図である。RTパケット到着時刻予測部17は、パケット検出部171、アップカウンタ172およびダウンカウンタ173を備える。
RTパケット到着時刻予測部17において、パケット検出部171は、データ発生器20から入力されるRTパケットの先頭を検出する。また、検出するとアップカウンタ172にパルスを出力する。アップカウンタ172は、クロック(図示せず)毎に値を計数する(インクリメントする)カウンタであり、パケット検出部171からRTパケットの先頭検出を示すパルスが入力されるとカウント値をリセットする。カウント値はダウンカウンタ173へ出力する。ダウンカウンタ173は、クロック毎に値をデクリメントするカウンタであり、パケット検出部171からパルスが入力されると、その時点のアップカウンタ172のカウント値(リセットされる直前のカウント値)をカウント値にプリセットする。ダウンカウンタ173のカウント値は送信スケジューラ15へ出力する。
図4は、送信スケジューラ15の動作を示した擬似コード例を示す図である。送信スケジューラ15は、図4に示したラインC1では、RTパケット到着時刻予測部17から入力された情報に基づきRTパケット到着までの時間が最大かどうか判定する。最大であればラインC2の動作を選択し(スケジューリング結果とし)、最大でなければさらにラインC3の判定を行う。
ここで、RTパケットの到着までの時間は、RTパケット到着時刻予測部17から通知されるダウンカウンタ173のカウント値から次式により求める。
(RTパケットの到着までの時間)
=ダウンカウンタ173のカウント値×ダウンカウンタ173のクロック周期
RTパケットの到着までの時間が最大かどうかはダウンカウンタ173のカウント値がプリセットされたかどうかで判断できる。すなわちRTパケットが到着した場合を示している。
ラインC2では、多重部14に対して、RT(RTパケット)を選択して出力するよう指示を出す。ラインC3では、キュー12内の先頭パケットをキューから読み出す時間(先頭パケット読出時間)と次のRTパケットの到着までの時間を比較する。先頭パケット読出時間は、キュー管理部13から通知されるキュー12内の先頭のパケットの長さから次式により求める。
(先頭パケット読出し時間)
=先頭のパケットの長さ(バイト)×キューから1バイトを読み出す時間
ラインC3の説明に戻り、先頭パケット読出し時間の方がRTパケットの到着までの時間より大きい場合はラインC4の動作を選択し、そうでない場合はラインC6の動作を選択する。なおこの判定(ラインC3の判定)は、キュー12毎に行う。ここで、ラインC3の判定が成立するのは、NRTパケットの送信を開始してしまうと送信完了となる前に次のRTパケットが到着するケースである。したがって、ラインC3の判定が成立する場合に選択するラインC4の動作を、キュー内のNRTパケットを送信しない(送信動作を開始しない)ことにしている。一方、ラインC6の動作では、多重部14に対して、NRT(NRTパケット)#nを選択して出力するよう指示を出す。ここでnは、C3の判定において、C6の動作を行う条件を満たすキュー12の番号を示す。よって、NRTパケット#nは、番号がnのキュー12に書き込まれているNRTパケットを示す。複数のキュー12で条件を満たす場合には、いずれかのキューの先頭のNRTパケットを選択して出力するよう指示を出す。この選択手法は、ラウンドロビンや、キュー12内に蓄積されているパケット数が多い方を選択するなど、どのような手法で行ってもかまわない。
次に、動作について説明する。図5は、通信装置1の動作を説明するための図であり、通信路101,102a,102bからそれぞれ入力されるパケットと通信路103に出力されるパケットの時間軸上での対応関係の一例を示している。図5において、線51,52,53は、それぞれ、通信路102bからの入力パケットの時間の流れ,通信路102aからの入力パケットの時間の流れ、通信路101からの入力パケットの時間の流れを示している。また線54は、出力I/F部16(図2参照)から通信路103への出力パケットの時間の流れを示している。図中、(A)〜(C),(ア),(イ),(1)〜(5)は、パケットを示している。各パケットにおいて、左端がパケットの先頭、右端がパケットの最後尾である。データ発生器20(図1参照)から入力されるRTパケットは、線53上に示されたパケット(1)〜(5)であり、時間間隔αで周期的に入力される。データ発生器21から入力されるNRTパケットは、線51または線52上に示されたパケット(A)〜(C),(ア),(イ)であり、非同期に(非周期的に)入力される。t1〜t12は時刻を示している。
以下、図5を用いて通信装置1の詳細動作を説明する。なお、図5に示した時刻t1の時点では、いずれのキュー12にもNRTパケットが格納されていないものとする。
時刻t1においてデータ発生器20からの入力パケット(1)が入力I/F部11を介して多重部14およびRTパケット到着時刻予測部17に入力される。これに伴い、RTパケット到着時刻予測部17では、パケット検出部171がRTパケットの先頭を検出し、パケット検出(RTパケットの到着)を示すパルスをアップカウンタ172およびダウンカウンタ173に出力する。その結果、アップカウンタ172はカウンタ値をリセットし、ダウンカウンタ173はカウンタ値をプリセットする。このプリセットでは、RTパケットの到着時刻の間隔を示す周期α(=RTパケットの到着までの時間の最大値)に相当するカウンタ値がダウンカウンタ173にプリセットされ、データ発生器20から次のRTパケットが入力されるまでの時間を示すカウント値がダウンカウンタ173から送信スケジューラ15に出力される。この例では、ダウンカウンタ173は、パケット(2)が入力される時間t3までの時間を示すカウント値を送信スケジューラ15に出力する。また、送信スケジューラ15は、RTパケットが到着したことを検出すると、図4に従った動作を実行してスケジューリングを行う。RTパケットの到着は、たとえば、ダウンカウンタ173から受け取ったカウント値がプリセットされたかどうかを監視して検出する。時刻t1においてはRTパケット到着時刻予測部17から入力されたカウント値が最大(RTパケット到着までの時間が最大)なので、送信スケジューラ15は、スケジューリングにおいて、ラインC1の判定によりC2の処理を実行することに決定する。すなわち、多重部14に対して、RTパケットを選択して出力するよう指示を出す。この指示に基づいて、多重部14は、RTパケットである入力パケット(1)を出力I/F部16経由でデータ処理装置30に向けて送信する。
上記パケット(1)が入力された後、データ発生器21から到着したNRTパケットであるパケット(A)が入力I/F部11を介してキュー12に書き込まれる。時刻t2でパケット(A)の最後尾の書き込みを完了すると、キュー管理部13は、送信スケジューラ15に対して、パケット(A)のパケット長およびパケット有を示す情報を出力する。この情報を受け取った送信スケジューラ15は、スケジューリングを開始し、まず、図4のラインC1の判定を行い、RTパケット到着時刻予測部17から入力されたカウント値が最大ではない(RTパケット到着までの時間が最大ではない)ので、次にラインC3の判定を行う。この例では、ラインC3の判定が成立しない、すなわち、次のRTパケット(パケット(2))が到着する前にキュー12からのNRTパケット(パケット(A))の読み出しを完了できるため、送信スケジューラ15は、さらにラインC5およびC6の処理を実行する。その結果、送信スケジューラ15は、多重部14に対して、NRTパケット#2を選択して出力するよう指示を出す。また送信スケジューラ15は、キュー12からのパケットの読出しをキュー管理部13に指示する。キュー管理部13は指示に従いキュー12から多重部14へNRTパケット#2を出力させる。多重部14は、送信スケジューラ15からの上記指示に従い、キュー12から入力されたNRTパケット#2であるパケット(A)を出力I/F部16経由で送信する。
なお、上記のパケット(1)の送信が完了した時点においてはキュー12へのパケット(A)の書き込みが完了していないので、スケジューラ15は、いずれのキュー12にもパケットが存在していないと判断してスケジューリングを実施しない。
その後、時刻t3においてデータ発生器20からのパケット(2)が入力I/F部11を介して多重部14およびRTパケット到着時刻予測部17に入力される。これに伴い、RTパケット到着時刻予測部17では、アップカウンタ172のカウンタ値のリセットとダウンカウンタ173のカウンタ値のプリセットを行う。また、この時点ではRTパケット到着時刻予測部17から入力されたカウント値が最大(RTパケット到着までの時間が最大)なので、送信スケジューラ15は、上述したパケット(1)が入力された場合と同様の処理を行い、RTパケットを出力するよう多重部14に指示を出す。多重部14は、パケット(2)を出力I/F部16経由で送信する。
上記パケット(2)の送信が完了した時点においてはいずれのキュー12にもパケットが存在していないので、スケジューラ15は、スケジューリングを実施しない。
その後、データ発生器21から到着したNRTパケットであるパケット(B)が入力I/F部11を介してキュー12に書き込まれる。時刻t4でパケット(B)の最後尾の書き込みを完了すると、キュー管理部13は、送信スケジューラ15に対して、パケット(B)のパケット長およびパケット有を示す情報を出力する。この情報を受け取った送信スケジューラ15は、スケジューリングを開始し、まず、図4のラインC1の判定を行い、RTパケット到着時刻予測部17から入力されたカウント値が最大ではないので、次にラインC3の判定を行う。この例では、ラインC3の判定が成立する、すなわち、次のRTパケットであるパケット(2)が到着する前にキュー12からのパケット(B)の読み出しを完了できないため、送信スケジューラ15は、パケット(B)の読出しを行わないことに決定する。この場合、送信スケジューラ15は、キュー管理部13および多重部14の制御を行わない(パケットの読出し指示,選択・出力指示を出さない)。
その後、上記パケット(B)に続くパケット(C)がデータ発生器21から到着し、キュー12への書込みを行っている途中の時刻t5においてデータ発生器20からのパケット(3)が到着する。これに伴い、RTパケット到着時刻予測部17では、アップカウンタ172のカウンタ値のリセットとダウンカウンタ173のカウンタ値のプリセットを行う。この場合、RTパケット到着時刻予測部17から入力されたカウント値が最大なので、送信スケジューラ15は、上述したパケット(1),パケット(2)が入力された場合と同様の処理を行い、RTパケットを出力するよう多重部14に指示を出す。多重部14は、パケット(3)を出力I/F部16経由で送信する。
パケット(3)の送信が時刻t6において完了すると、送信スケジューラ15は、スケジューリングを行い、図4のラインC1、続いてラインC3の判定を行う。この場合、ラインC3の判定が成立しない、すなわち、次のRTパケットであるパケット(4)が到着する前にキュー12からのパケット(B)の読み出しを完了できるため、送信スケジューラ15は、さらにラインC5およびC6の処理を実行する。すなわち、送信スケジューラ15は、NRTパケット#2を送信することに決定し、多重部14に対して、NRTパケット#2を選択して出力するよう指示を出す。また送信スケジューラ15は、キュー12からのパケットの読出しをキュー管理部13に指示する。キュー管理部13は指示に従いキュー12から多重部14へNRTパケット#2を出力させる。多重部14は、送信スケジューラ15からの上記指示に従い、キュー12から入力されたNRTパケット#2であるパケット(B)を出力I/F部16経由で送信する。
また、パケット(B)の送信動作を開始し、キュー12からパケット(B)を読み出している最中に、通信路102aからパケット(ア)が到着し、このパケット(ア)のキュー12への書き込みとそれ以前に通信路102bから到着したパケット(C)のキュー12への書込みが完了する。
その後、時刻t7においてパケット(B)の送信(キュー12からの読み出し)が完了すると、送信スケジューラ15は、スケジューリングを行い、図4のラインC1、続いてラインC3の判定を行う。ラインC3では各キュー12の先頭パケット(ここではパケット(C)およびパケット(ア)となる)について判定を行うが、パケット(C)については判定が成立し、パケット(ア)については判定が成立しない。よって、パケット(C)についてはラインC4の動作を選択し、パケット(ア)についてはラインC6の動作を選択する。すなわち、パケット(ア)を送信することに決定する。その結果、送信スケジューラ15は、多重部14に対して、NRTパケット#1を選択して出力するよう指示を出す。また送信スケジューラ15は、パケット(ア)が書き込まれているキュー12からのパケットの読出しをキュー管理部13に指示する。キュー管理部13は指示に従いキュー12から多重部14へNRTパケット#1であるパケット(ア)を出力させる。多重部14は、送信スケジューラ15からの上記指示に従い、キュー12から入力されたNRTパケット#1(パケット(ア))を出力I/F部16経由で送信する。
なお、上記のスケジューリングにおいて、パケット(C)およびパケット(ア)の両者に対してラインC3の判定が成立しない場合もあり得るが、このような場合、送信スケジューラ15は、いずれか一方のパケットを選択して送信することに決定する。または、まずパケット(C)の読出時間とパケット(ア)の読出時間の合計値とRTパケット到着までの時間を比較し、RTパケット到着までの時間の方が大きければパケット(C)およびパケット(ア)の両者を送信することに決定し、RTパケット到着までの時間の方が小さければいずれか一方のパケットを送信することに決定する。RTパケット到着までの時間の方が小さい場合にどちらのパケットを送信するかは、優先度が異なっていれば優先度の高い方とする。優先度が同一の場合には、どちらを選択してもよいが、伝送効率を考えるとデータ量の大きい方を選択するのが望ましい。
パケット(ア)の送信(キュー12からの読み出し)が完了すると、キュー12にパケットが存在しているので、送信スケジューラ15はスケジューリングを行い、図4のラインC1、続いてラインC3の判定を行う。この場合、ラインC3の判定が成立する、すなわち次にRTパケットが到着する前に送信を完了できるNRTパケットが存在しないため、送信を行わないことに決定する。
その後、時刻t8においてデータ発生器20からのパケット(4)が入力I/F部11を介して多重部14およびRTパケット到着時刻予測部17に入力される。これに伴い、RTパケット到着時刻予測部17では、アップカウンタ172のカウンタ値のリセットとダウンカウンタ173のカウンタ値のプリセットを行う。送信スケジューラ15は、上述したパケット(1)〜(3)が入力された場合と同様の処理を行い、RTパケットを出力するよう多重部14に指示を出す。多重部14は、パケット(4)を出力I/F部16経由で送信する。
パケット(4)の送信が時刻t9において完了すると、キュー12にパケットが存在しているので、送信スケジューラ15はスケジューリングを行い、図4のラインC1、続いてラインC3の判定を行う。この場合、ラインC3の判定が成立しない、すなわち、次のRTパケット(パケット(5))が到着する前にキュー12からNRTパケット(パケット(C))の読み出しを完了できるため、送信スケジューラ15は、さらにラインC5およびC6の処理を実行する。その結果、送信スケジューラ15は、多重部14に対して、NRTパケット#2を選択して出力するよう指示を出す。また送信スケジューラ15は、キュー12からのパケットの読出しをキュー管理部13に指示する。キュー管理部13は指示に従いキュー12から多重部14へNRTパケット#2を出力させる。多重部14は、送信スケジューラ15からの上記指示に従い、キュー12から入力されたNRTパケット#2であるパケット(C)を出力I/F部16経由で送信する。
また、パケット(C)の送信動作を開始し、キュー12からパケット(C)を読み出している最中に、通信路102aからパケット(イ)が到着し、このパケット(イ)のキュー12への書き込みが完了する。
その後、時刻t10においてパケット(C)の送信(キュー12からの読み出し)が完了すると、送信スケジューラ15は、スケジューリングを行い、図4のラインC1、続いてラインC3の判定を行う。この場合、ラインC3の判定が成立する、すなわち、次のRTパケット(パケット(5))が到着する前にキュー12からのNRTパケット(パケット(イ))の読み出しを完了できないため、送信を行わないことに決定する。
その後、時刻t11においてデータ発生器20からのパケット(5)が入力I/F部11を介して多重部14およびRTパケット到着時刻予測部17に入力されると、RTパケット到着時刻予測部17では、アップカウンタ172のカウンタ値のリセットとダウンカウンタ173のカウンタ値のプリセットを行う。送信スケジューラ15は、上述したパケット(1)〜(4)が入力された場合と同様の処理を行い、RTパケットを出力するよう多重部14に指示を出す。多重部14は、パケット(5)を出力I/F部16経由で送信する。
その後、時刻t12においてパケット(5)の送信が完了すると、送信スケジューラ15は、スケジューリングを行い、図4のラインC1、続いてラインC3の判定を行う。この場合、ラインC3の判定が成立しない、すなわち、次のRTパケット(図示していないパケット(6))が到着する前にキュー12からのNRTパケット(パケット(イ))の読み出しを完了できるため、さらにラインC5およびC6の処理を実行してパケット(イ)を送信することに決定する。そして、送信スケジューラ15は、多重部14に対して、NRTパケット#1を選択して出力するよう指示を出す。また送信スケジューラ15は、パケット(イ)が書き込まれているキュー12からのパケットの読出しをキュー管理部13に指示する。キュー管理部13は指示に従いキュー12から多重部14へNRTパケット#1であるパケット(イ)を出力させる。多重部14は、送信スケジューラ15からの上記指示に従い、キュー12から入力されたNRTパケット#1(パケット(イ))を出力I/F部16経由で送信する。
このように、本実施の形態の通信装置においては、データ発生器20から入力されるRTパケットの次の到着時刻をRTパケット到着時刻予測部17が送信スケジューラ15に出力し、送信スケジューラ15はこのパケット到着時間にぶつからないようにキュー12からのNRTパケットの読出しを制御するとともに、多重部14での出力パケットを選択するようにしているので、データ発生器20からの入力されるRTパケットは、通信装置内で遅延することなく出力I/F部16を介して通信ネットワーク200に出力される。このため、データ発生器20で発生したデータが遅延なく、データ処理装置30に伝わり、その値によりデータ処理装置30が制御対象機器(図示せず)に指示を出せるので、きめ細かな制御が可能となる。
実施の形態2.
先の実施の形態1では、RTパケット到着時刻予測部17において、パケットの到着時刻の予測を、パケットの先頭を検出することによりアップカウンタ172のリセットおよびダウンカウンタ173のプリセットにより実現するようにしたものであるが、次に、RTパケットの到着を通信装置1の外部から入力される場合の実施の形態を示す。なお、パケット伝送システムの構成は実施の形態1と同様である(図1参照)。
図6は、実施の形態2の通信装置の内部構成例を示す図である。図6においては、実施の形態1で説明した通信装置1(図2参照)と同じ構成要素に同一の符号を付している。すなわち、本実施の形態の通信装置1aは、実施の形態1で説明した通信装置1のRTパケット到着時刻予測部17をRTパケット到着時刻予測部17aに置き換えたものである。本実施の形態では、実施の形態1と異なる構成要素であるRTパケット到着時刻予測部17aの動作について説明する。
図6において、RTパケット到着周期入力は、RTパケットの到着時刻を示すパルスの入力を示している。RTパケット到着時刻予測部17aは、このパルスの入力に基づいて、次にパケットが入力される時刻を予測する。
図7は、RTパケット到着時刻予測部17aの内部構成例を示す図であり、実施の形態1のRTパケット到着時刻予測部17と同じ構成要素に同一の符号を付している。このRTパケット到着時刻予測部17aは、RTパケット到着時刻予測部17からパケット検出部171を削除し、アップカウンタ172およびダウンカウンタ173に対してRTパケットの到着時刻を示すパルスを入力させるように構成したものである。
通信装置1aには、例えば、データ発生器20から、RTパケットの到着時刻を示すパルスであるRTパケット到着パルスが、パケット出力に同期して入力される(図示せず)。実施の形態1の通信装置1との動作の違いは、RTパケット到着時刻予測部17のアップカウンタ172のリセットおよびダウンカウンタ173のプリセットが、RTパケット到着パルスの入力に応じて実行される点のみである。このため、実施の形態1と同様に、データ発生器20から入力されるパケットの次の到着時刻をRTパケット到着時刻予測部17aが送信スケジューラ15に出力し、送信スケジューラ15はこのパケット到着時間にぶつからないようにキュー12からのパケットの読出しを制御するとともに、多重部14での出力パケットを選択するようにする。これにより、実施の形態1の通信装置1と同様に、データ発生器20からの入力されるパケットは、通信装置1a内で遅延することなく通信ネットワーク200に出力される。つまり、データ発生器20で発生したデータが遅延なく、データ処理装置30に伝わり、その値によりデータ処理装置30が制御対象機器に指示を出せるので、きめ細かな制御が可能となる。
以上のように、本発明にかかる通信装置は、複数の通信路から入力されたパケットを多重化して通信路に中継する場合に有用であり、特に、低遅延での中継が要求されるパケットと低遅延での中継が要求されないパケットを取り扱う通信装置に適している。
1,1a 通信装置
11 入力I/F部
12 キュー
13 キュー管理部
14 多重部
15 送信スケジューラ
16 出力I/F部
17,17a RTパケット到着時刻予測部
20 データ発生器(リアルタイム)
21 データ発生器(非リアルタイム)
30 データ処理装置
171 パケット検出部
172 アップカウンタ
173 ダウンカウンタ
101,102a,102b,103 通信路
200 通信ネットワーク

Claims (7)

  1. 外部から入力された複数種類のパケットを中継する通信装置であって、
    周期的に入力されかつ低遅延での中継処理が要求される第1のパケットが入力される第1パケット入力部と、
    低遅延での中継処理が要求されない第2のパケットが入力される第2パケット入力部と、
    前記第1パケット入力部で受信されたのち前記第2パケット入力部で受信された前記第2のパケットとの多重化処理を経ていない前記第1のパケットに基づいて、当該第1パケット入力部への次の前記第1のパケットの到着時刻を予測する到着時刻予測手段と、
    前記第2パケット入力部で受信されたのち前記第1パケット入力部で受信された前記第1のパケットとの多重化処理を経ていない前記第2のパケットを蓄積するパケット蓄積手段と、
    前記到着時刻予測手段による前記第1のパケットの到着時刻の予測結果および前記パケット蓄積手段に保持された前記第2のパケットの長さに基づいて、前記第1パケット入力部に入力された前記第1のパケットと前記パケット蓄積手段に蓄積された前記第2のパケットのいずれかのパケットを通信路へ送信するパケットに決定する送信パケット決定手段と、
    前記送信パケット決定手段の前記決定に基づいて、前記第1パケット入力部で受信され前記第2のパケットとの多重化処理を経ていない前記第1のパケットと前記パケット蓄積手段に蓄積された前記第2のパケットの多重化を行う多重部と、を備え、
    前記到着時刻予測手段は、
    前記第1のパケットの到着を検出するパケット検出部と、
    前記第1のパケットの到着が検出された場合にリセットするアップカウンタと、
    前記第1のパケットの到着が検出された場合に前記アップカウンタがリセットする直前の前記アップカウンタのカウント値をプリセットするダウンカウンタと、
    を備え、
    前記ダウンカウンタのカウント値を前記第1のパケットの到着時刻の予測結果として前記送信パケット決定手段に出力する
    とを特徴とする通信装置。
  2. 外部から入力された複数種類のパケットを中継する通信装置であって、
    周期的に入力されかつ低遅延での中継処理が要求される第1のパケットが入力される第1パケット入力部と、
    低遅延での中継処理が要求されない第2のパケットが入力される第2パケット入力部と、
    前記第1パケット入力部で受信されたのち前記第2パケット入力部で受信された前記第2のパケットとの多重化処理を経ていない前記第1のパケットに基づいて、当該第1パケット入力部への次の前記第1のパケットの到着時刻を予測する到着時刻予測手段と、
    前記第2パケット入力部で受信されたのち前記第1パケット入力部で受信された前記第1のパケットとの多重化処理を経ていない前記第2のパケットを蓄積するパケット蓄積手段と、
    前記到着時刻予測手段による前記第1のパケットの到着時刻の予測結果および前記パケット蓄積手段に保持された前記第2のパケットの長さに基づいて、前記第1パケット入力部に入力された前記第1のパケットと前記パケット蓄積手段に蓄積された前記第2のパケットのいずれかのパケットを通信路へ送信するパケットに決定する送信パケット決定手段と、
    前記送信パケット決定手段の前記決定に基づいて、前記第1パケット入力部で受信され前記第2のパケットとの多重化処理を経ていない前記第1のパケットと前記パケット蓄積手段に蓄積された前記第2のパケットの多重化を行う多重部と、を備え、
    前記到着時刻予測手段は、
    前記第1のパケットを送信したことを示す信号が前記第1のパケットの送信元の装置から入力されるとリセットするアップカウンタと、
    前記信号が入力されると前記アップカウンタがリセットする直前の前記アップカウンタのカウント値をプリセットするダウンカウンタと、
    を備え、
    前記ダウンカウンタのカウント値を前記第1のパケットの到着時刻の予測結果として前記送信パケット決定手段に出力する
    ことを特徴とする通信装置。
  3. 前記送信パケット決定手段は、
    前記予測結果に基づいて次に前記第1のパケットが到着するまでの時間である第1の時間を算出し、さらに、前記パケット蓄積手段が保持している前記第2のパケットの長さに基づいて当該パケットの送信を開始してから送信完了となるまでの所要時間である第2の時間を算出し、
    前記第1の時間よりも前記第2の時間の方が短い場合に前記パケット蓄積手段が保持している前記第2のパケットを送信することに決定する
    ことを特徴とする請求項1または2に記載の通信装置。
  4. 前記送信パケット決定手段は、
    前記パケット蓄積手段が複数のキューを備える場合で、前記複数のキューの中の2つ以上のキューに前記第2のパケットが蓄積されている場合、
    前記第2のパケットが蓄積されている各キューの先頭の前記第2のパケットそれぞれについて前記第2の時間を算出し、算出した複数の前記第2の時間の中に前記第1の時間よりも短い前記第2の時間が存在していれば、その前記第2の時間に対応するパケットを送信することに決定する
    ことを特徴とする請求項に記載の通信装置。
  5. 前記送信パケット決定手段は、
    算出した複数の前記第2の時間の中に前記第1の時間よりも短いものが複数存在する場合、前記第1の時間よりも短い前記第2の時間に対応するパケットの中のいずれか一つを選択して前記通信路へ送信するパケットに決定する
    ことを特徴とする請求項に記載の通信装置。
  6. 周期的に入力されかつ低遅延での中継処理が要求される第1のパケットが入力される第1の入力インタフェースと低遅延での中継処理が要求されない第2のパケットが入力される第2の入力インタフェースとを備えた、外部から入力された複数種類のパケットを中継する通信装置において実行されるパケット中継方法であって、
    前記第1の入力インタフェースに入力された前記第1のパケットを受信する第1パケット受信ステップと、
    前記第1パケット受信ステップで受信され当該通信装置内で前記第2のパケットとの多重化処理を経ていない前記第1のパケットに基づいて、次に前記第1のパケットが入力される時刻を予測する到着時刻予測ステップと、
    前記第2の入力インタフェースに入力された前記第2のパケットを受信する第2パケット受信ステップと、
    前記第2パケット受信ステップで受信され当該通信装置内で前記第1のパケットとの多重化処理を経ていない前記第2のパケットをキューに蓄積する蓄積ステップと、
    前記キューに蓄積された前記第2のパケットの長さと前記到着時刻予測ステップにおける予測結果に基づいて、前記第1のパケットと前記キューに蓄積された前記第2のパケットのどちらのパケットを送信するかを判断する判断ステップと、
    前記判断ステップの判断結果に基づいて、前記第1パケット受信ステップで受信され前記第2のパケットとの多重化処理を経ていない前記第1のパケットと前記キューに蓄積された前記第2のパケットの多重化を行って送信するパケット送信ステップと、を含み、
    前記到着時刻予測ステップは、
    前記第1のパケットの到着を検出する到着検出ステップと、
    前記第1のパケットの到着が検出された場合にアップカウンタをリセットするリセットステップと、
    前記第1のパケットの到着が検出された場合にリセットされる直前の前記アップカウンタのカウント値をダウンカウンタに設定するプリセットステップと、
    前記ダウンカウンタのカウント値を前記予測結果とする予測ステップと、
    を含むことを特徴とするパケット中継方法。
  7. 周期的に入力されかつ低遅延での中継処理が要求される第1のパケットが入力される第1の入力インタフェースと低遅延での中継処理が要求されない第2のパケットが入力される第2の入力インタフェースとを備えた、外部から入力された複数種類のパケットを中継する通信装置において実行されるパケット中継方法であって、
    前記第1の入力インタフェースに入力された前記第1のパケットを受信する第1パケット受信ステップと、
    前記第1パケット受信ステップで受信され当該通信装置内で前記第2のパケットとの多重化処理を経ていない前記第1のパケットに基づいて、次に前記第1のパケットが入力される時刻を予測する到着時刻予測ステップと、
    前記第2の入力インタフェースに入力された前記第2のパケットを受信する第2パケット受信ステップと、
    前記第2パケット受信ステップで受信され当該通信装置内で前記第1のパケットとの多重化処理を経ていない前記第2のパケットをキューに蓄積する蓄積ステップと、
    前記キューに蓄積された前記第2のパケットの長さと前記到着時刻予測ステップにおける予測結果に基づいて、前記第1のパケットと前記キューに蓄積された前記第2のパケットのどちらのパケットを送信するかを判断する判断ステップと、
    前記判断ステップの判断結果に基づいて、前記第1パケット受信ステップで受信され前記第2のパケットとの多重化処理を経ていない前記第1のパケットと前記キューに蓄積された前記第2のパケットの多重化を行って送信するパケット送信ステップと、を含み、
    前記到着時刻予測ステップは、
    前記第1のパケットを送信したことを示す信号を前記第1のパケットの送信元の装置から受信してアップカウンタをリセットするリセットステップと、
    前記信号を受信してリセットされる直前の前記アップカウンタのカウント値をダウンカウンタに設定するプリセットステップと、
    前記ダウンカウンタのカウント値を前記予測結果とする予測ステップと、
    を含むことを特徴とするパケット中継方法。
JP2010152010A 2010-07-02 2010-07-02 通信装置およびパケット中継方法 Expired - Fee Related JP5601906B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010152010A JP5601906B2 (ja) 2010-07-02 2010-07-02 通信装置およびパケット中継方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010152010A JP5601906B2 (ja) 2010-07-02 2010-07-02 通信装置およびパケット中継方法

Publications (2)

Publication Number Publication Date
JP2012015895A JP2012015895A (ja) 2012-01-19
JP5601906B2 true JP5601906B2 (ja) 2014-10-08

Family

ID=45601775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010152010A Expired - Fee Related JP5601906B2 (ja) 2010-07-02 2010-07-02 通信装置およびパケット中継方法

Country Status (1)

Country Link
JP (1) JP5601906B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5987915B2 (ja) * 2012-11-12 2016-09-07 日本電気株式会社 通信用中継装置、通信用中継システム、通信用中継方法、及び通信用中継プログラム
WO2023175754A1 (ja) * 2022-03-16 2023-09-21 日本電気株式会社 パケット転送装置、パケット転送方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3584859B2 (ja) * 2000-06-29 2004-11-04 日本電気株式会社 パケットスケジューリング装置
JP3867671B2 (ja) * 2003-01-21 2007-01-10 ソニー株式会社 データ送信装置及びデータ送信方法
JP2006254200A (ja) * 2005-03-11 2006-09-21 Canon Inc フレーム出力装置及びフレーム出力方法

Also Published As

Publication number Publication date
JP2012015895A (ja) 2012-01-19

Similar Documents

Publication Publication Date Title
US8767747B2 (en) Method for transferring data packets in a communication network and switching device
KR20080079335A (ko) 통신 방법, 통신 시스템, 노드 및 프로그램
CN110870285B (zh) 在具有部分实时需求的数据网络中高性能数据传输的方法和执行该方法的装置
TWI651951B (zh) 偶發性網路流量用超低傳送延遲
JP6209596B2 (ja) タイムトリガメッセージ及びイベントトリガメッセージを中継するための方法及び装置
US9585053B2 (en) Communication network and method for transmitting data packets in the communication network
JP4354838B2 (ja) 通信システム及び通信装置
CN107770090B (zh) 用于控制流水线中寄存器的方法和装置
JP5738324B2 (ja) 送信装置、通信装置、通信システムおよび送信方法
JP5737039B2 (ja) パケット伝送装置、メモリ制御回路及びパケット伝送方法
WO2020200405A1 (en) Switch device, control device and corresponding methods for enhanced schedulability and throughput on a tsn network
US8838782B2 (en) Network protocol processing system and network protocol processing method
EP3032785B1 (en) Transport method in a communication network
EP3926901B1 (en) Signal transfer device, signal transfer method, signal transfer control device, signal transfer control method, and signal transfer program
CN108293014B (zh) 通信网络、其操作方法及在通信网络中参与者
JP5601906B2 (ja) 通信装置およびパケット中継方法
JP5414506B2 (ja) データ処理装置、データ処理方法、及びプログラム
JP5678123B2 (ja) 伝送装置、伝送路切り替え方法、及びプログラム
Marau et al. Controlling multi-switch networks for prompt reconfiguration
RU2014108011A (ru) Способ и система реализации сквозного иерархического качества обслуживания
JP6363357B2 (ja) 通信装置、通信方法及びプログラム
JP6258376B2 (ja) 無瞬断切替システム、無瞬断受信装置、無瞬断切替方法および無瞬断切替プログラム
JP6887402B2 (ja) 通信システムおよびパケット受信装置
WO2022264194A1 (ja) 信号転送装置、信号転送方法、信号転送システム及びプログラム
JP5428937B2 (ja) 性能情報収集システム、及び、性能情報収集方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140819

R150 Certificate of patent or registration of utility model

Ref document number: 5601906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees