JP2004363782A - Communication controller and communication control method - Google Patents

Communication controller and communication control method Download PDF

Info

Publication number
JP2004363782A
JP2004363782A JP2003158050A JP2003158050A JP2004363782A JP 2004363782 A JP2004363782 A JP 2004363782A JP 2003158050 A JP2003158050 A JP 2003158050A JP 2003158050 A JP2003158050 A JP 2003158050A JP 2004363782 A JP2004363782 A JP 2004363782A
Authority
JP
Japan
Prior art keywords
data
communication
processing
processing task
task
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.)
Pending
Application number
JP2003158050A
Other languages
Japanese (ja)
Inventor
Tetsuya Shimomura
哲也 下村
Shoji Suzuki
昭二 鈴木
Masahiko Saito
雅彦 齊藤
Makoto Kogure
誠 小暮
Hideyuki Okamoto
秀行 岡本
Yuji Sugaya
祐二 菅谷
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.)
Hitachi High Tech Corp
Original Assignee
Hitachi High Technologies Corp
Hitachi High Tech 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 Hitachi High Technologies Corp, Hitachi High Tech Corp filed Critical Hitachi High Technologies Corp
Priority to JP2003158050A priority Critical patent/JP2004363782A/en
Publication of JP2004363782A publication Critical patent/JP2004363782A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve throughput of information system communication while damage of real time property of control system communication is suppressed. <P>SOLUTION: Data outputted from an information processing system task 1310 and a control processing system task 1320, which are managed by OS1350 and are processed in parallel, are outputted to LAN 1820. A communication processing system task 1330 processing output data of the information processing system task 1310 and the control processing system task 1320 into communication data and outputting it in order to LAN 1820 through NIC 1500 is disposed. The communication processing system task 1330 is provided with a size adjusting part 1360 adjusting a data size of output data from the information processing system task 1310 when a flag is set in a flag registration part 1360 of OS 1350. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、通信制御技術に関し、特に、オペレーティングシステムにより管理されるタスクから出力されるデータをネットワークへ出力する技術に関する。
【0002】
【従来の技術】
特許文献1には、伝送路の品質状態に応じて通信プロトコルをTCP(Transmission Control Protocol)およびUDP(User datagram protocol)のいずれか一方に切り替えると共に、パケットサイズを切り替えて通信を行なう技術が開示されている。TCPは、通信品質を保証するための処理を行うため、UDPに比べてリアルタイム性が劣る。このため、映像などの情報処理データをPCなどの情報処理装置に通信する場合(情報系通信と呼ぶ)には、一般にTCPが利用されるのに対し、コマンドなどの制御データをI/Oボードなどの制御装置に通信する場合(制御系通信と呼ぶ)には、リアルタイム性の高いUDPが利用されることが多い。
【0003】
【特許文献1】
特開平11−313330号公報
【0004】
【発明が解決しようとする課題】
情報系通信や制御系通信のために、情報処理装置や制御装置などの装置間の接続にイーサネット(登録商標)が用いられることが多い。近年のCPUやNIC(Network Interface Card)の性能向上により、1つのCPUあるいはNICで情報系通信および制御系通信の両方を並列的に処理することも可能である。しかし、この場合、次のような問題が生じることが考えられる。
【0005】
すなわち、情報系通信において、映像などの大容量データを通信する場合、データサイズを可能な限り大きくして、例えばイーサネット(登録商標)のフレームのヘッダ情報付加などによるオーバヘッドを減らし、スループットを上げることが好ましい。しかし、情報系通信のデータサイズを大きくすると、データ処理に係る時間が長くなり、その期間のCPUやNICが占有されてしまう。このため、制御系通信のリアルタイム性が損なわれてしまう。
【0006】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、制御系通信のリアルタイム性が損なわれるのを抑制しつつ、情報系通信のスループットを向上させることができるようにすることにある。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明の通信制御装置は、オペレーティングシステムにより管理され並列的に処理される第1の処理系タスクおよび第2の処理系タスクから出力されるデータを、ネットワークへ出力する。そして、前記第1および第2の処理系タスクの出力データを通信データに加工する通信データ処理手段と、前記通信データ処理手段で生成される通信データ各々を、順番に前記ネットワークへ出力するネットワーク送出手段と、前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを調整するデータサイズ調整手段と、を有する。ここで、前記データサイズ調整手段は、前記第2の処理系タスクの状態により前記第1の処理系タスクの出力データのデータサイズを制御するものでもよい。
【0008】
前記第1の処理系タスクが行なう通信を情報系通信、前記第2の処理系タスクが行なう通信を制御系通信とした場合、本発明によれば、前記データサイズ調整手段により、前記第2の処理系タスクによる制御系通信の頻度が高い期間、前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを小さくすることができる。このようにすることで、制御系通信の頻度が高い期間は、情報系通信のデータサイズを小さくして制御系通信のリアルタイム性が損なわれるのを防止し、制御系通信の頻度が低い期間は、情報系通信のデータサイズを大きくして情報系通信のスループットを向上させることができる。
【0009】
本発明において、前記ネットワーク送出手段は、前記第2の処理系タスクの出力データを優先すべき旨の指示が入力された場合に、前記ネットワークへ送出するために保持している前記第1の処理系タスクの通信データを破棄すると共に、当該通信データの再送要求を前記通信データ処理手段に出力してもよい。そして、前記通信データ処理手段は、前記第1の処理系タスクの通信データに対する応答を受信するまで、当該通信データを保持すると共に、当該通信相手あるいは前記ネットワーク送出手段から再送要求を受信した場合、当該通信データを前記ネットワーク送出手段で再度出力してもよい。
【0010】
このようにした場合、前記第2の処理系タスクによる制御系通信の頻度が高い場合に、前記第2の処理系タスクの出力データを優先すべき旨の指示を前記ネットワーク送出手段に入力することで、制御系通信の通信データを優先して前記ネットワークへ出力することができる。これにより、制御系通信のリアルタイム性が損なわれるのを抑制しつつ、情報系通信のスループットを向上させることができる。なお、この場合は前記データサイズ調整手段を設けなくてもよい。
【0011】
なお、本発明において、前記第2の処理系タスクによる制御系通信の頻度が高いか否かの判断は、例えば、前記第1および第2の処理系タスクを管理するオペレーティングシステムの指示や、前記第2の処理系タスクの通信相手からの応答が正しく送られてくるか否かを確認することで行なうことができる。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。
【0013】
図1は、本発明の一実施形態が適用された制御装置の概略図である。
【0014】
本実施形態の制御装置1100は、LSIマスク装置や血液分析装置などの各種制御装置に適用可能である。図示するように、メインコントローラ1200と、少なくとも1つI/Oボード1600と、メインコントローラ1200およびI/Oボード1600間を接続するLAN1820と、を有する。LAN1820には、PC1700などの汎用コンピュータも接続されている。
【0015】
I/Oボード1600には、モータ1610やセンサ1620などの被制御装置が接続されており、メインコントローラ1200より出力された通信データを被制御装置に送信したり、被制御装置より出力された通信データをメインコントローラ1200へ送信したりする。
【0016】
メインコントローラ1200は、LAN1820を介してI/Oボード1600と制御系通信を行って、I/Oボード1600に接続された被制御装置にコマンドを含む制御データを送信したり、被制御装置で計測された計測データを受信したりする。また、メインコントローラ1200は、LAN1820を介してPC1700と情報系通信を行なって映像を含む情報処理データを送受する。
【0017】
図示するように、メインコントローラ1200は、CPU1400、メモリ1300、および、メインコントローラ1200をLAN1820に接続するNIC1500が、バス1810で互いに接続された構成を有する。CPU1400は、メモリ1300に格納された各プログラムを実行する。メモリ1300には、OS(オペレーティングシステム)1350、および、OS1350によって管理され並列的に処理されるタスク1310〜1330が格納されている。
【0018】
OS1350は、上述したように、タスク1310〜1330を管理し、所定の順番でこれらのタスクを切り替えながら実行することにより、タスク1310〜1330を並列的に処理する。また、本実施形態のOS1350には、通信処理系タスク1330に、制御処理系タスク1320の出力データを優先すべき旨を通知するためのフラグを登録するフラグ登録部1360が設けられている。一般に、制御PGは、決められた周期で被制御装置との通信が発生する場合が多い。そこで、本実施形態では、OS1350に、制御PGおよび被制御装置間の通信が発生する周期に合わせて、所定時間、フラグ登録部1360にフラグを設定させるようにしている。
【0019】
図2(A)はフラグ登録部1360にフラグが設定されるタイミングを、そして、図2(B)はフラグ登録部1360の登録内容の一例を示している。図2(A)に示すように、制御処理系タスク1320による制御系通信の頻度が高くなる期間1361と、該制御系通信の頻度が低くなる期間1362とが、周期T1363を持って交互に現れる場合、OS1350が、期間1361のときにフラグをオンにし、期間136とのきはフラグをオフにするように設定する。図2(B)に示す例では、フラグ登録部1360は、フラグ(オンのときは「1」、オフのときは「0」)を登録するためのフィールド1364と、フラグオンのときのデータサイズが予め登録されたフィールド1365と、を有する。ただし、フィールド1365は、必ずしも設けられていなくてもよい。
【0020】
タスク1310は、PC1700との情報系通信を伴う情報処理系タスクであり、WebサーバPG(プログラム)や、CGI(Common Gateway Interface)PGなどが該当する。
【0021】
タスク1320は、I/Oボード1600との制御系通信を伴う制御処理系タスクであり、I/Oボード制御PGや、I/Oボードに接続された被制御装置の制御PGなどが該当する。
【0022】
タスク1330は、PC1700およびI/Oボード1600との通信に必要な処理を実行するための通信処理系タスクである。情報系通信により情報処理系タスク1310がPC1700と情報処理データの送受を行なうために必要な処理を実行すると共に、制御系通信により制御処理系タスク1320がI/Oボード1600と制御データの送受を行なうために必要な処理を実行する。
【0023】
図3は、通信処理系タスク1330の機能構成図である。
【0024】
図示するように、通信処理系タスク1330は、FIFO(First In First Out)1331、1332と、サイズ調整部1333と、TCP処理部1334と、UDP処理部1335と、IP処理部1336と、を有する。
【0025】
FIFO1331には、情報処理系タスク1310の出力データが順次入力され、一時的に格納された後、入力順に出力される。
【0026】
FIFO1332には、制御処理系タスク1320の出力データが順次入力され、一時的に格納された後、入力順に出力される。
【0027】
サイズ調整部1333は、制御処理系タスク1320の状態により情報処理系タスク1310の出力データのデータサイズを制御する。具体的には、フラグ登録部1360にフラグが登録されているか否かを監視し、その結果に基づいて、FIFO1331から出力するデータのデータサイズを調整する。フラグ登録部1360にフラグが登録されていない場合、FIFO1331から出力するデータをそのままTCP処理部1334に出力する。一方、フラグ登録部1360にフラグが登録されている場合、FIFO1331から出力するデータのデータサイズがフラグ登録部1360に登録されているデータサイズ(このデータサイズはFIFO1331から出力するデータのデータサイズより小さいサイズに設定されている)となるように分割する。そして、このようにして分割されたデータを順番にTCP処理部1334に出力する。なお、フラグ登録部1360にデータサイズが登録されていない場合は、サイズ調整部1333に初期設定されているサイズとなるように、FIFO1331から出力するデータのデータサイズを制御すればよい。
【0028】
TCP処理部1334は、サイズ調整部1333を介してFIFO1331から受け取った情報処理系タスク1310の出力データに、TCP処理を行って、当該データをTCPパケット化する。そして、TCPパケットをIP処理部1336に出力する。また、IP処理部1336から受け取ったTCPパケットから情報処理系タスク1310宛てのデータを取り出し、情報処理系タスク1310へ出力する。
【0029】
UDP処理部1335は、サイズ調整部1333を介してFIFO1332から受け取った制御処理系タスク1320の出力データに、UDP処理を行って、当該データをUDPパケット化する。そして、UDPパケットをIP処理部1336に出力する。また、IP処理部1336から受け取ったUDPパケットから制御処理系タスク1320宛てのデータを取り出し、制御処理系タスク1320へ出力する。
【0030】
IP処理部1336は、TCP処理部1334およびUDP処理部1335で生成されたパケット各々を、その生成順に受け取ってIP処理し、IPパケット化する。そして、生成したIPパケットを順番にNIC1500へ出力する。また、NIC1500から受け取ったIPパケットからTCPパケットおよびUDPパケットを取り出し、TCPパケットをTCP処理部1334に出力すると共に、UDPパケットをUDP処理部1335に出力する。
【0031】
図4は、通信処理系タスク1330の動作フロー図である。
【0032】
図示するように、通信処理系タスク1330は、FIFO1331、サイズ調整部1333およびTCP処理部1334を用いて、情報処理系タスク1310の出力データをTCPパケット化し、IP処理部1336へ出力すると共に、IP処理部1336から受け取ったTCPパケットから情報処理系タスク1310宛てのデータを抽出して情報処理系タスク1310へ出力する情報系通信処理(S101)と、FIFO1332およびUDP処理部1335を用いて、制御処理系タスク1320の出力データをUDPパケット化し、IP処理部1336へ出力すると共に、IP処理部1336から受け取ったUDPパケットから制御処理系タスク1320宛てのデータを抽出して制御処理系タスク1320へ出力する制御系通信処理(S102)と、IP処理部1336を用いて、TCP処理部1334およびUDP処理部1335で生成されたパケット各々を生成順に受け取ってIPパケット化し、NIC1500へ出力すると共に、NIC1500から受け取ったIPパケットからTCPパケットおよびUDPパケットを取り出し、TCPパケット、UDPパケットをそれぞれTCP処理部1334、UDP処理部1335に出力するIP処理(S103)と、を順番に繰り返し行う。
【0033】
以上、本発明の第1実施形態について説明した。
【0034】
図4の情報系通信処理(S101)において、フラグ登録部1360にフラグが設定されている場合、つまり、制御系通信の頻度が高い場合、サイズ調整部1333は、情報処理系タスク1310の出力データのデータサイズを、フラグが設定されていない場合、つまり、制御系通信の頻度が低い場合に比べてより小さなサイズに分割して、TCP処理部1334へ渡す。その結果、制御系通信の頻度が高い場合は、TCP処理部1334から出力されるTCPパケットが小さなサイズとなるため、このTCPパケットに対するIP処理部1336でのIP処理およびNIC1500への出力に要する時間を短くすることができる。これにより、IP処理部1336は、UDP処理部1335からUDPパケットが出力された場合に、このUDPパケットへの処理に取りかかるまでの待ち時間を短縮することができる。したがって、御系通信のリアルタイム性が損なわれるのを抑制することができる。
【0035】
一方、フラグ登録部1360にフラグが設定されていない場合、つまり、制御系通信の頻度が低い場合、サイズ調整部1333は、情報処理系タスク1310の出力データをそのままTCP処理部1334へ渡す。その結果、制御系通信の頻度が低い場合は、TCP処理部1334から出力されるTCPパケットのサイズが大きくなり、情報系通信のスループットを向上させることができる。この場合、NIC1500から出力される1フレーム当たりのデータサイズは最大で約1.5キロバイトとなる。
【0036】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0037】
例えば、上記の実施形態において、サイズ調整部1333は、OS1350が管理するフラグ登録部1360のフラグの有無に従い、情報処理系タスク1310の出力データのデータサイズを調整している。ここで、フラグのオン・オフは、OS1350が予め定められたタイミングで替えるようにしている。しかし、本発明はこれに限定されない。
【0038】
例えば、図5(A)に示すように、各I/Oボード1600を、終了通知用の信号線1630でメインコントローラ1200と接続すると共に、I/Oボード1600各々に、メインコントローラ1200との制御系通信が終了したならば、信号線1630を介して、制御系通信が終了した旨をメインコントローラ1200に通知させる。そして、フラグのオンは、OS1350が予め定められたタイミングで設定し、フラグのオフは、OS1350がI/Oボード1600からの終了通知の受領をトリガとして行なう。このようにすれば、OS1350は、タイマ等を使って管理する対象がフラグをオンにするタイミングのみとなるので、OS1350の構成をより簡単にすることができる。
【0039】
また、例えば、図5(B)に示すように、各I/Oボード1600に、UDPの上位レイヤとして、メインコントローラ1200から受信したデータに対する応答(当該データに付された識別情報を有する応答データ)をメインコントローラ1200に返す応答処理部1601を設ける。そして、メインコントローラ1200において、フラグのオン・オフをOS1350で管理するのに代えて、通信処理系タスク1330に、I/Oボード1600からの応答をモニタする機能を持たせ、モニタ結果に応じて情報処理系タスク1310の出力データのデータサイズを調整するようにしてもよい。
【0040】
図6は、図3に示す通信処理系タスク1330の変形例の機能構成図である。この変形例では、OS1350にフラグ登録部1360を設ける代わりに、通信系処理計タスク1330に、タイムアウト回数計測部1337を設けている。
【0041】
タイムアウト回数計測部1337は、FIFO1332から出力されUDP処理部1335へ入力するデータに識別情報(例えばシリアル番号)を付すと共に、このデータがUDP処理部1335へ出力されてから、UDP処理部1335より当該データに対する応答(当該データに付された識別情報を有する応答データ)を受信するまでの時間を計測し、計測時間が所定のタイムアウト時間を超えたか否かを調べる。そして、タイムアウト時間を超えたならばタイムアウト回数のカウント値を1つインクリメントする。そして、図7(A)に示すように、カウント値13371が所定の閾値(制御系通信の頻度が高くなっていることを示す値)13372を超えたならば、サイズ調整部1333に対して、フラグオンと同じ意味を持つサイズ調整指示を出力する。なお、タイムアウト回数のカウント値13371は、所定のリセット周期13373毎にリセットするものとする。そして、前回リセットしてから、今回のリセットタイミングとなるまでに計測されたタイムアウト回数のカウント値13371が所定の閾値13372に達しなかった場合、サイズ調整部1333に対して、フラグオフと同じ意味を持つサイズ調整指示を出力する。
【0042】
このようにすることで、御系通信の頻度が高い場合は制御系通信を優先させて制御系通信のリアルタイム性を向上させ、そうでない場合は制御系通信の優先度を下げ情報系通信のスループットを向上させることができる。
【0043】
なお、閾値13372は、複数設けるようにしてもよい。この場合、タイムアウト回数計測部1337に、閾値13372毎に、閾値13372が大きくなるほどデータサイズが小さくなるように、データサイズの情報を登録しておく。そして、タイムアウト回数計測部1337に、タイムアウト回数のカウント値13371を複数の閾値13372と比較させ、カウント値13371が少なくとも1つの閾値13372を超えている場合、そのなかで最も高い値を持つ閾値13372に対応するデータサイズが指定されたサイズ調整指示を、サイズ調整部1333に出力させる。これにより、サイズ調整部1333は、FIFO1331から出力されたデータをサイズ調整指示で指定されたデータサイズに調整する。
【0044】
このようにすることで、制御系通信のタイムアウト回数13371に合わせて情報系通信のデータサイズを細かく調整できるので、制御系通信および情報系通信のトレードオフの制御をより一層最適化することができる。
【0045】
図6に示す変形例において、タイムアウト回数計測部1337を設ける代わりに、応答時間計測部1338を設けるようにしてもよい。
【0046】
応答時間計測部1338は、FIFO1332から出力されUDP処理部1335へ入力するデータに識別情報(例えばシリアル番号)を付すと共に、このデータがUDP処理部1335へ出力されてから、UDP処理部1335より当該データに対する応答(当該データに付された識別情報を有する応答データ)を受信するまでの時間を計測する。そして、新たに計測した時間をそれまでの計測時間の累積である総応答時間に加算する。そして、図7(B)に示すように、総応答時間13374が所定の閾値(制御系通信の頻度が高くなっていることを示す値)13375を超えたならば、サイズ調整部1333に対して、フラグオンと同じ意味を持つサイズ調整指示を出力する。なお、総応答時間13374は、所定のリセット周期13376毎にリセットするものとする。そして、前回リセットしてから、今回のリセットタイミングとなるまでに計測された総応答時間13374が所定の閾値13375に達しなかった場合、サイズ調整部1333に対して、フラグオフと同じ意味を持つサイズ調整指示を出力する。
【0047】
このようにすることで、御系通信の頻度が高い場合は制御系通信を優先させて制御系通信のリアルタイム性を向上させ、そうでない場合は制御系通信の優先度を下げ情報系通信のスループットを向上させることができる。
【0048】
なお、閾値13375は、複数設けるようにしてもよい。この場合、応答時間計測部1338に、閾値13375毎に、閾値13375が大きくなるほどデータサイズが小さくなるように、データサイズの情報を登録しておく。そして、応答時間計測部1338に、総応答時間13374を複数の閾値13375と比較させ、総応答時間13374が少なくとも1つの閾値13375を超えている場合、そのなかで最も高い値を持つ閾値13375に対応するデータサイズが指定されたサイズ調整指示を、サイズ調整部1333に出力させる。これにより、サイズ調整部1333は、FIFO1331から出力されたデータをサイズ調整指示で指定されたデータサイズに調整する。
【0049】
このようにすることで、制御系通信の総応答時間13374に合わせて情報系通信のデータサイズを細かく調整できるので、制御系通信および情報系通信のトレードオフの制御をより一層最適化することができる。
【0050】
また、上記の実施形態では、サイズ調整部1333にてFIFO1331から出力されたデータのサイズを調整することにより、制御系通信のリアルタイム性を向上させている。しかし、本発明はこれに限定されない。例えば、IP処理部1336において、UDPパケットが優先的に処理されるようにすることで、制御系通信のリアルタイム性を向上させるようにしてもよい。
【0051】
図8は、図3に示す通信処理系タスク1330の変形例の機能構成図である。この変形例では、IP処理部1336に、送信キュー13361と、キュークリア部13362と、再送要求部13363とを設けている。
【0052】
送信キュー13361には、TCPパケットおよびUDPパケットが、TCP処理部1334およびUDP処理部1335での生成順に格納される。そして、IP処理部1336は、送信キュー13361に格納されているパケット各々を、格納が古いものから順番にIP処理し、その結果生成されたIPパケットをNIC1500へ出力する。
【0053】
キュークリア部13362は、フラグ登録部1360にフラグが登録されているか否かを監視する。そして、フラグ登録部1360にフラグが登録されている場合、送信キュー13361に格納されている最も古いパケットがTCPパケットならば、このTCPパケットをIP処理することなく破棄すると共に、破棄したTCPパケットのヘッダ情報を再送要求部13363に通知する。
【0054】
そして、再送要求部13363は、キュークリア部13362よりTCPパケットのヘッダ情報を受け取ると、TCPに従いこのヘッダ情報により特定されるTCPパケットの再送要求を生成し、TCP処理部1334に通知する。TCP処理部1334は、自身が送出したTCPパケットを当該パケットに対する応答を受信するまで保持する。そして、再送要求を受信したならば、再送要求対象のTCPパケットをIP処理部1336へ再度出力する。
【0055】
図8に示す変形例によれば、フラグ登録部1360にフラグが登録されている場合、つまり、制御系通信の頻度が高い間は、UDPパケットが優先的にIP処理され、IP処理部1336からNIC1500へ送出される。したがって、御系通信の頻度が高い場合は制御系通信を優先させて制御系通信のリアルタイム性を向上させ、そうでない場合は制御系通信の優先度を下げ情報系通信のスループットを向上させることができる。
【0056】
なお、図8に示す変形例において、サイズ調整部1333はなくてもよい。また、図8に示す変形例においても、図6に示す変形例と同様に、通信処理系タスク1330にタイムアウト回数計測部1337あるいは応答時間計測部1338を設けてもよい。そして、キュークリア部13362に、フラグ登録部1360にフラグが登録されているか否かを監視させる代わりに、タイムアウト回数計測部1337あるいは応答時間計測部1338からの指示を受け付けるようにしてもよい。つまり、タイムアウト回数計測部1337あるいは応答時間計測部1338からフラグオンと同じ意味を持つ指示が入力された場合、送信キュー13361に格納されている最も古いパケットがTCPパケットならば、このTCPパケットをIP処理することなく破棄すると共に、破棄したTCPパケットのヘッダ情報を再送要求部13363に通知する処理を行う。一方、タイムアウト回数計測部1337あるいは応答時間計測部1338からフラグオフと同じ意味を持つ指示が入力された場合は、上記の処理を中止する。
【0057】
また、例えば、上記の実施形態では、メインコントローラ1200およびI/Oボード1600、PC1700間の接続にイーサネット(登録商標)を用いた場合を例にとり説明した。しかし、本発明はこれに限定されない。メインコントローラ1200およびI/Oボード1600、PC1700間の接続にUSB(Universal Serial Bus)を用いるようにしてもよい。
【0058】
図9は、図1に示す制御装置1100の変形例の概略図である。
【0059】
図9に示す制御装置1100が図1に示す制御装置1100と異なる点は、USBハブ1910を介して、メインコントローラ1200およびI/Oボード1600、PC1700間をUSBで接続していることである。また、図9に示すメインコントローラ1200が図1に示すメインコントローラ1200と異なる点は、NIC1600に代えてUSBコントローラ1900を設けたこと、および、通信処理系タスク1330に代えて通信処理系タスク1330Aを設けたことである。
【0060】
図10は、通信処理系タスク1330Aの機能構成図である。
【0061】
図示するように、通信処理系タスク1330Aは、FIFO1331A、1332Aと、サイズ調整部1333Aと、データ出力部1337と、を有する。
【0062】
FIFO1331Aには、情報処理系タスク1310の出力データが順次入力され、一時的に格納された後、入力順に出力される。
【0063】
FIFO1332Aには、制御処理系タスク1320の出力データが順次入力され、一時的に格納された後、入力順に出力される。
【0064】
サイズ調整部1333Aは、フラグ登録部1360にフラグが登録されているか否かを監視し、その結果に基づいて、FIFO1331Aから出力するデータのデータサイズを調整する。具体的には、フラグ登録部1360にフラグが登録されていない場合、FIFO1331Aから出力するデータをそのままデータ出力部部1337に出力する。一方、フラグ登録部1360にフラグが登録されている場合、FIFO1331Aから出力するデータのデータサイズがフラグ登録部1360に登録されているデータサイズ(このデータサイズはFIFO1331Aから出力するデータのデータサイズより小さいサイズに設定されている)となるように分割する。そして、このようにして分割されたデータを順番にデータ出力部1337に出力する。なお、フラグ登録部1360にデータサイズが登録されていない場合は、サイズ調整部1333Aに初期設定されているサイズとなるように、FIFO1331Aから出力するデータのデータサイズを制御すればよい。
【0065】
データ処理部1339は、サイズ調整部1333AおよびFIFO1332Aから出力されるデータ各々を、その生成順に受け取って順番にUSBコントローラ1900へ出力する。また、USBコントローラ1900から受け取ったデータを、その宛先である情報処理系タスク1310あるいは制御処理系タスク1320へ出力する。
【0066】
さて、USBでは、エンドポイント(通信先)毎にデータがリスト構造で管理され、エンドポイント自体もリスト構造で管理される。USB規格上リスト構造で管理される際の上限データサイズは約8キロバイトである。制御処理系タスク1320が通信相手と送受するデータは、コマンドなどの数十バイト程度のものが殆どである。しかし、情報処理系タスク1310は、映像などの大容量データを通信相手と送受することがあるため、USBコントローラ1900は、情報処理系タスク1310の通信先を示すエンドポイントのリスト構造に8キロバイトの通信データを接続することもあり得る。複数のエンドポイントがある場合、USBコントローラ1900は、USB規格により順番にデータの通信処理を行なう。このため、情報処理系タスク1310の通信先を示すエンドポイントのリスト構造に大きなサイズの通信データが接続されると、当該通信データの処理に時間がかかり、制御処理系タスク1320の通信先を示すエンドポイントのリスト構造に接続された通信データの通信処理開始までの待ち時間が大きくなる。結果として、制御系通信のリアルタイム性が劣化する。
【0067】
しかし、図10に示す通信処理系タスク1330Aでは、フラグ登録部1360にフラグが設定されている場合、つまり、制御系通信の頻度が高い場合、サイズ調整部1333Aは、情報処理系タスク1310の出力データのデータサイズを、フラグが設定されていない場合、つまり、制御系通信の頻度が低い場合に比べてより小さなサイズに分割して、データ出力部1337へ渡す。その結果、制御系通信の頻度が高い場合は、情報処理系タスク1310の通信先を示すエンドポイントのリスト構造に接続されるデータが小さなサイズとなる。このため、制御処理系タスク1320の通信先を示すエンドポイントのリスト構造に接続された通信データの通信処理開始までの待ち時間を短縮でき、制御系通信のリアルタイム性が損なわれるのを抑制することができる。
【0068】
なお、図10に示す通信処理系タスク1330Aにおいても、図6に示す通信処理系タスク1330と同様に、OS1350にフラグ登録部1360を設ける代わりに、タイムアウト回数計測部1337あるいは応答時間計測部1338を設け、FIFO1332Aから出力されデータ出力部1339へ入力するデータに識別情報(例えばシリアル番号)を付すと共に、このデータがデータ出力部1339へ出力されてから、データ出力部1339より当該データに対する応答(当該データに付された識別情報を有する応答データ)を受信するまでの時間を計測し、計測時間が所定のタイムアウト時間を超えたタイムアウト回数を計測し、あるいは、計測時間の累積である総応答時間を計測し、所定時間内にタイムアウト回数あるいは総応答時間を所定の閾値と比較し、その結果に応じてサイズ調整部1333Aを制御するようにしてもよい。
【0069】
この場合、各I/Oボード1600に、メインコントローラ1200から受信したデータに対する応答(当該データに付された識別情報を有する応答データ)をメインコントローラ1200に返す機能を持たせる必要がある。
【0070】
【発明の効果】
以上説明したように、本発明によれば、制御系通信のリアルタイム性が損なわれるのを抑制しつつ、情報系通信のスループットを向上させることができる。
【図面の簡単な説明】
【図1】図1は本発明の一実施形態が適用された制御装置の概略図である。
【図2】図2(A)はフラグ登録部1360にフラグが設定されるタイミングを、図2(B)はフラグ登録部1360の登録内容の一例を示す図である。
【図3】図3は通信処理系タスク1330の機能構成図である。
【図4】図4は通信処理系タスク1330の動作フロー図である。
【図5】図5はI/Oボード1600の変形例を示す図である。
【図6】図6は図3に示す通信処理系タスク1330の変形例の機能構成図である。
【図7】図7(A)はカウント値13371と閾値13372との関係を示す図であり、図7(B)は総応答時間13374と閾値13375との関係を説明するための図である。
【図8】図8は図3に示す通信処理系タスク1330の変形例の機能構成図である。
【図9】図9は図1に示す制御装置1100の変形例の概略図である。
【図10】図10は通信処理系タスク1330Aの機能構成図である。
【符号の説明】
1100…制御装置、1200…メインコントローラ、1300・・・メモリ、1310・・・情報処理系タスク、1320・・・制御処理系タスク、1330・・・通信処理系タスク、1331・・・FIFO、1332・・・FIFO、1333・・・サイズ調整部、1334・・・TCP処理部、1335・・・UDP処理部、1336・・・IP処理部、1337・・・タイムアウト回数計測部、1338・・・応答時間計測部、1350・・・OS、1360・・・フラグ登録部、1400・・・CPU、1500・・・NIC、1600・・・I/Oボード、1601・・・応答処理部、1610・・・・モータ、1620・・・センサ、1700・・・PC、1810・・・バス、1820・・・LAN、1900・・・USBコントローラ、1910・・・USBハブ、13361・・・送信キュー、13362・・・キュークリア部、13363・・・再送要求部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication control technique, and more particularly to a technique for outputting data output from a task managed by an operating system to a network.
[0002]
[Prior art]
Patent Literature 1 discloses a technology in which a communication protocol is switched to one of TCP (Transmission Control Protocol) and UDP (User datagram protocol) in accordance with a quality state of a transmission path, and communication is performed by switching a packet size. ing. TCP performs processing for guaranteeing communication quality, and thus is inferior in real-time performance to UDP. For this reason, when information processing data such as video is communicated to an information processing apparatus such as a PC (referred to as information communication), TCP is generally used, whereas control data such as commands is transmitted to an I / O board. When communicating with a control device such as the above (referred to as control communication), UDP having high real-time properties is often used.
[0003]
[Patent Document 1]
JP-A-11-313330
[0004]
[Problems to be solved by the invention]
For information communication and control communication, Ethernet (registered trademark) is often used for connection between devices such as an information processing device and a control device. Recent improvements in the performance of CPUs and NICs (Network Interface Cards) make it possible for a single CPU or NIC to process both information communication and control communication in parallel. However, in this case, the following problem may occur.
[0005]
That is, when communicating large-capacity data such as video in information communication, increase the data size as much as possible, for example, reduce the overhead due to the addition of header information of the Ethernet (registered trademark) frame, and increase the throughput. Is preferred. However, if the data size of the information communication is increased, the time required for the data processing becomes longer, and the CPU or NIC during that period is occupied. For this reason, the real-time property of control system communication is impaired.
[0006]
The present invention has been made in view of the above circumstances, and an object of the present invention is to improve throughput of information communication while suppressing real-time performance of control communication. It is in.
[0007]
[Means for Solving the Problems]
In order to solve the above problem, a communication control device of the present invention outputs data output from a first processing task and a second processing task managed in parallel by an operating system to a network. I do. Communication data processing means for processing output data of the first and second processing tasks into communication data; and network transmission for sequentially outputting each of the communication data generated by the communication data processing means to the network. Means for adjusting the data size of output data of the first processing task input to the communication data processing means. Here, the data size adjusting means may control a data size of output data of the first processing task according to a state of the second processing task.
[0008]
According to the present invention, when the communication performed by the first processing task is information communication and the communication performed by the second processing task is control communication, according to the present invention, the data size adjustment unit performs The data size of the output data of the first processing task input to the communication data processing means can be reduced during a period in which the frequency of control communication by the processing task is high. By doing so, during the period when the frequency of the control communication is high, the data size of the information communication is reduced to prevent the real-time property of the control communication from being impaired. In addition, the data size of information communication can be increased to improve the throughput of information communication.
[0009]
In the present invention, when an instruction to give priority to output data of the second processing task is input, the network sending means holds the first processing held for sending to the network. The communication data of the system task may be discarded, and a request for retransmission of the communication data may be output to the communication data processing unit. The communication data processing means holds the communication data until a response to the communication data of the first processing task is received, and receives a retransmission request from the communication partner or the network sending means. The communication data may be output again by the network sending means.
[0010]
In this case, when the frequency of control communication by the second processing task is high, an instruction to give priority to output data of the second processing task is input to the network sending means. Thus, the communication data of the control system communication can be preferentially output to the network. As a result, it is possible to improve the throughput of the information communication while suppressing the real-time property of the control communication from being impaired. In this case, the data size adjusting means may not be provided.
[0011]
In the present invention, whether the frequency of control communication by the second processing task is high or not is determined, for example, by an instruction from an operating system that manages the first and second processing tasks, This can be performed by confirming whether or not a response from the communication partner of the second processing task is correctly sent.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described.
[0013]
FIG. 1 is a schematic diagram of a control device to which one embodiment of the present invention is applied.
[0014]
The control device 1100 of the present embodiment is applicable to various control devices such as an LSI mask device and a blood analyzer. As shown in the figure, a main controller 1200, at least one I / O board 1600, and a LAN 1820 connecting the main controller 1200 and the I / O board 1600 are provided. A general-purpose computer such as a PC 1700 is also connected to the LAN 1820.
[0015]
A controlled device such as a motor 1610 or a sensor 1620 is connected to the I / O board 1600. The I / O board 1600 transmits communication data output from the main controller 1200 to the controlled device or transmits communication data output from the controlled device. For example, data is transmitted to the main controller 1200.
[0016]
The main controller 1200 performs control system communication with the I / O board 1600 via the LAN 1820 to transmit control data including a command to a controlled device connected to the I / O board 1600, or to perform measurement with the controlled device. Or received measurement data. Further, main controller 1200 performs information communication with PC 1700 via LAN 1820 to transmit and receive information processing data including video.
[0017]
As shown, the main controller 1200 has a configuration in which a CPU 1400, a memory 1300, and an NIC 1500 that connects the main controller 1200 to a LAN 1820 are connected to each other via a bus 1810. The CPU 1400 executes each program stored in the memory 1300. The memory 1300 stores an OS (Operating System) 1350 and tasks 1310 to 1330 managed by the OS 1350 and processed in parallel.
[0018]
As described above, the OS 1350 manages the tasks 1310 to 1330 and processes the tasks 1310 to 1330 in parallel by switching and executing these tasks in a predetermined order. In addition, the OS 1350 of this embodiment is provided with a flag registration unit 1360 that registers a flag for notifying the communication processing task 1330 that output data of the control processing task 1320 should be given priority. Generally, in the control PG, communication with the controlled device frequently occurs in a predetermined cycle. Therefore, in the present embodiment, the OS 1350 causes the flag registration unit 1360 to set the flag for a predetermined time in accordance with the cycle in which communication between the control PG and the controlled device occurs.
[0019]
FIG. 2A shows a timing at which a flag is set in the flag registration unit 1360, and FIG. 2B shows an example of registered contents of the flag registration unit 1360. As shown in FIG. 2A, a period 1361 in which the frequency of control communication by the control processing task 1320 is high, and a period 1362 in which the frequency of control communication is low appear alternately with a period T1363. In this case, the OS 1350 sets the flag to be turned on during the period 1361 and to be turned off during the period 136. In the example shown in FIG. 2B, the flag registration unit 1360 includes a field 1364 for registering a flag (“1” when on, and “0” when off), and a data size when the flag is on. And a field 1365 registered in advance. However, the field 1365 does not necessarily have to be provided.
[0020]
The task 1310 is an information processing task involving information communication with the PC 1700, and corresponds to a Web server PG (program), a CGI (Common Gateway Interface) PG, or the like.
[0021]
The task 1320 is a control processing task involving control communication with the I / O board 1600, and corresponds to an I / O board control PG, a control PG of a controlled device connected to the I / O board, and the like.
[0022]
The task 1330 is a communication processing task for executing processing required for communication with the PC 1700 and the I / O board 1600. The information processing task 1310 executes processing necessary for transmitting and receiving information data to and from the PC 1700 by information communication, and the control processing task 1320 transmits and receives control data to and from the I / O board 1600 by control communication. Perform the necessary processing to perform it.
[0023]
FIG. 3 is a functional configuration diagram of the communication processing task 1330.
[0024]
As shown in the figure, the communication processing task 1330 includes FIFO (First In First Out) 1331 and 1332, a size adjustment unit 1333, a TCP processing unit 1334, a UDP processing unit 1335, and an IP processing unit 1336. .
[0025]
The output data of the information processing task 1310 is sequentially input to the FIFO 1331, temporarily stored, and then output in the input order.
[0026]
The output data of the control processing task 1320 is sequentially input to the FIFO 1332, temporarily stored, and then output in the input order.
[0027]
The size adjustment unit 1333 controls the data size of the output data of the information processing task 1310 according to the state of the control processing task 1320. Specifically, it monitors whether or not a flag is registered in flag registering section 1360, and adjusts the data size of data output from FIFO 1331 based on the result. When the flag is not registered in the flag registration unit 1360, the data output from the FIFO 1331 is directly output to the TCP processing unit 1334. On the other hand, when the flag is registered in the flag registration unit 1360, the data size of the data output from the FIFO 1331 is smaller than the data size registered in the flag registration unit 1360 (this data size is smaller than the data size of the data output from the FIFO 1331). (Set to size). Then, the divided data is output to the TCP processing unit 1334 in order. If the data size is not registered in the flag registration unit 1360, the data size of the data output from the FIFO 1331 may be controlled so as to be the size initially set in the size adjustment unit 1333.
[0028]
The TCP processing unit 1334 performs TCP processing on output data of the information processing task 1310 received from the FIFO 1331 via the size adjustment unit 1333, and converts the data into TCP packets. Then, it outputs the TCP packet to IP processing section 1336. Further, it extracts data addressed to the information processing task 1310 from the TCP packet received from the IP processing unit 1336 and outputs the data to the information processing task 1310.
[0029]
The UDP processing unit 1335 performs a UDP process on output data of the control processing task 1320 received from the FIFO 1332 via the size adjustment unit 1333, and converts the data into a UDP packet. Then, it outputs the UDP packet to IP processing section 1336. Further, it extracts data addressed to the control processing task 1320 from the UDP packet received from the IP processing unit 1336 and outputs the data to the control processing task 1320.
[0030]
The IP processing unit 1336 receives the packets generated by the TCP processing unit 1334 and the UDP processing unit 1335 in the order of generation, performs IP processing, and converts the packets into IP packets. Then, the generated IP packets are sequentially output to the NIC 1500. Further, it extracts a TCP packet and a UDP packet from the IP packet received from the NIC 1500, outputs the TCP packet to the TCP processing unit 1334, and outputs the UDP packet to the UDP processing unit 1335.
[0031]
FIG. 4 is an operation flowchart of the communication processing task 1330.
[0032]
As shown in the figure, the communication processing task 1330 converts the output data of the information processing task 1310 into a TCP packet using the FIFO 1331, the size adjustment unit 1333, and the TCP processing unit 1334, and outputs the data to the IP processing unit 1336. An information communication process (S101) for extracting data addressed to the information processing task 1310 from the TCP packet received from the processing unit 1336 and outputting the extracted data to the information processing task 1310, and a control process using the FIFO 1332 and the UDP processing unit 1335. The output data of the system task 1320 is converted into a UDP packet, output to the IP processing unit 1336, and data addressed to the control processing task 1320 is extracted from the UDP packet received from the IP processing unit 1336 and output to the control processing task 1320. Control system communication processing (S 02), and using the IP processing unit 1336, each of the packets generated by the TCP processing unit 1334 and the UDP processing unit 1335 is received in the order of generation, converted into an IP packet, and output to the NIC 1500. A packet and a UDP packet are extracted, and an IP process (S103) of outputting the TCP packet and the UDP packet to the TCP processing unit 1334 and the UDP processing unit 1335, respectively, is repeatedly performed in order.
[0033]
The first embodiment of the present invention has been described above.
[0034]
In the information communication process (S101) of FIG. 4, when the flag is set in the flag registration unit 1360, that is, when the frequency of the control communication is high, the size adjustment unit 1333 outputs the output data of the information processing task 1310. Is divided into smaller data sizes than when the flag is not set, that is, when the frequency of the control communication is low, and is passed to the TCP processing unit 1334. As a result, when the frequency of the control system communication is high, the TCP packet output from the TCP processing unit 1334 has a small size, so that the time required for the IP processing in the IP processing unit 1336 and the output to the NIC 1500 for this TCP packet are Can be shortened. Thus, when the UDP packet is output from the UDP processing unit 1335, the IP processing unit 1336 can reduce the waiting time until the processing on the UDP packet is started. Therefore, it is possible to prevent the real-time property of the control communication from being impaired.
[0035]
On the other hand, when the flag is not set in the flag registration unit 1360, that is, when the frequency of the control communication is low, the size adjustment unit 1333 passes the output data of the information processing task 1310 to the TCP processing unit 1334 as it is. As a result, when the frequency of the control communication is low, the size of the TCP packet output from the TCP processing unit 1334 increases, and the throughput of the information communication can be improved. In this case, the data size per frame output from the NIC 1500 is about 1.5 kilobytes at the maximum.
[0036]
It should be noted that the present invention is not limited to the above embodiment, and various modifications are possible within the scope of the gist.
[0037]
For example, in the above embodiment, the size adjustment unit 1333 adjusts the data size of the output data of the information processing task 1310 according to the presence or absence of the flag of the flag registration unit 1360 managed by the OS 1350. Here, the ON / OFF of the flag is changed by the OS 1350 at a predetermined timing. However, the present invention is not limited to this.
[0038]
For example, as shown in FIG. 5A, each I / O board 1600 is connected to the main controller 1200 via a signal line 1630 for completion notification, and each of the I / O boards 1600 is controlled by the main controller 1200. When the system communication ends, the main controller 1200 is notified via the signal line 1630 that the control system communication has ended. OS 1350 sets the flag to ON at a predetermined timing, and OS 1350 sets the flag to OFF when the OS 1350 receives an end notification from the I / O board 1600 as a trigger. By doing so, the OS 1350 can only manage the flag by turning on the flag using a timer or the like, so that the configuration of the OS 1350 can be further simplified.
[0039]
Also, for example, as shown in FIG. 5B, a response to data received from the main controller 1200 (a response data having identification information attached to the data) is provided to each I / O board 1600 as an upper layer of UDP. ) Is provided to the main controller 1200. In the main controller 1200, instead of managing the ON / OFF of the flag by the OS 1350, the communication processing task 1330 has a function of monitoring a response from the I / O board 1600, and according to the monitoring result. The data size of the output data of the information processing task 1310 may be adjusted.
[0040]
FIG. 6 is a functional configuration diagram of a modified example of the communication processing task 1330 shown in FIG. In this modification, instead of providing the OS 1350 with the flag registration unit 1360, the communication system processing task 1330 is provided with a timeout count measurement unit 1337.
[0041]
The timeout count measuring unit 1337 attaches identification information (for example, a serial number) to the data output from the FIFO 1332 and input to the UDP processing unit 1335, and outputs the data to the UDP processing unit 1335. The time until a response to the data (response data having identification information attached to the data) is received is measured, and it is checked whether or not the measurement time has exceeded a predetermined timeout time. Then, if the timeout period is exceeded, the count value of the timeout count is incremented by one. Then, as shown in FIG. 7A, when the count value 13371 exceeds a predetermined threshold value (a value indicating that the frequency of control communication is high) 13372, the size adjustment unit 1333 Outputs a size adjustment instruction having the same meaning as flag on. Note that the count value 13371 of the number of timeouts is reset at a predetermined reset period 13373. When the count value 13371 of the number of times of timeout measured from the previous reset to the present reset timing does not reach the predetermined threshold 13372, it has the same meaning as the flag OFF for the size adjustment unit 1333. Output a size adjustment instruction.
[0042]
In this way, when the frequency of the control communication is high, priority is given to the control communication to improve the real-time property of the control communication, and otherwise, the priority of the control communication is lowered and the throughput of the information communication is reduced. Can be improved.
[0043]
Note that a plurality of thresholds 13372 may be provided. In this case, data size information is registered in the timeout count measurement unit 1337 such that the data size decreases as the threshold value 13372 increases as the threshold value 13372 increases. Then, the timeout count measuring unit 1337 causes the count value 13371 of the timeout count to be compared with a plurality of thresholds 13372. If the count value 13371 exceeds at least one threshold 13372, the timeout 13372 is set to the threshold 13372 having the highest value. The size adjustment unit 1333 outputs a size adjustment instruction specifying the corresponding data size. Accordingly, the size adjustment unit 1333 adjusts the data output from the FIFO 1331 to the data size specified by the size adjustment instruction.
[0044]
By doing so, the data size of the information communication can be finely adjusted according to the timeout number 13371 of the control communication, so that the control of the trade-off between the control communication and the information communication can be further optimized. .
[0045]
In the modification shown in FIG. 6, a response time measuring unit 1338 may be provided instead of providing the timeout number measuring unit 1337.
[0046]
The response time measuring unit 1338 attaches identification information (for example, a serial number) to the data output from the FIFO 1332 and input to the UDP processing unit 1335, and after the data is output to the UDP processing unit 1335, the UDP processing unit 1335 outputs the data. The time until a response to the data (response data having identification information attached to the data) is received is measured. Then, the newly measured time is added to the total response time which is the accumulation of the measured time up to that time. Then, as shown in FIG. 7B, if the total response time 13374 exceeds a predetermined threshold value (a value indicating that the frequency of control communication is high) 13375, the size adjustment unit 1333 Output a size adjustment instruction having the same meaning as the flag on. The total response time 13374 is reset every predetermined reset period 13376. If the total response time 13374 measured from the previous reset to the current reset timing does not reach the predetermined threshold 13375, the size adjustment unit 1333 gives the size adjustment unit 1333 the size adjustment having the same meaning as the flag off. Output instructions.
[0047]
In this way, when the frequency of the control communication is high, priority is given to the control communication to improve the real-time property of the control communication, and otherwise, the priority of the control communication is lowered and the throughput of the information communication is reduced. Can be improved.
[0048]
Note that a plurality of thresholds 13375 may be provided. In this case, data size information is registered in the response time measuring unit 1338 such that the data size decreases as the threshold value 13375 increases as the threshold value 13375 increases. Then, the response time measuring unit 1338 causes the total response time 13374 to be compared with the plurality of thresholds 13375. If the total response time 13374 exceeds at least one threshold 13375, the total response time 13374 corresponds to the threshold 13375 having the highest value. The size adjustment unit 1333 outputs a size adjustment instruction specifying the data size to be performed. Accordingly, the size adjustment unit 1333 adjusts the data output from the FIFO 1331 to the data size specified by the size adjustment instruction.
[0049]
By doing so, the data size of the information communication can be finely adjusted in accordance with the total response time 13374 of the control communication, so that the trade-off control between the control communication and the information communication can be further optimized. it can.
[0050]
In the above embodiment, the size of the data output from the FIFO 1331 is adjusted by the size adjustment unit 1333, thereby improving the real-time control system communication. However, the present invention is not limited to this. For example, in the IP processing unit 1336, the UDP packet may be preferentially processed to improve the real-time property of the control communication.
[0051]
FIG. 8 is a functional configuration diagram of a modified example of the communication processing task 1330 shown in FIG. In this modification, a transmission queue 13361, a queue clear unit 13362, and a retransmission request unit 13363 are provided in the IP processing unit 1336.
[0052]
The transmission queue 13361 stores TCP packets and UDP packets in the order of generation by the TCP processing unit 1334 and the UDP processing unit 1335. Then, the IP processing unit 1336 performs the IP processing on each of the packets stored in the transmission queue 13361 in ascending order of storage, and outputs the IP packet generated as a result to the NIC 1500.
[0053]
The queue clearing unit 13362 monitors whether a flag is registered in the flag registering unit 1360. If the flag is registered in the flag registration unit 1360 and the oldest packet stored in the transmission queue 13361 is a TCP packet, the TCP packet is discarded without performing IP processing, and the discarded TCP packet is deleted. The header information is notified to the retransmission request unit 13363.
[0054]
Upon receiving the header information of the TCP packet from the queue clearing unit 13362, the retransmission request unit 13363 generates a retransmission request for the TCP packet specified by the header information according to the TCP, and notifies the TCP processing unit 1334 of the request. The TCP processing unit 1334 holds the TCP packet transmitted by itself until a response to the packet is received. Then, when the retransmission request is received, the retransmission request target TCP packet is output to IP processing section 1336 again.
[0055]
According to the modification shown in FIG. 8, when the flag is registered in flag registering section 1360, that is, while the frequency of the control communication is high, the UDP packet is preferentially subjected to IP processing. It is sent to the NIC 1500. Therefore, when the frequency of the control communication is high, priority is given to the control communication to improve the real-time property of the control communication, and otherwise, the priority of the control communication is lowered to improve the throughput of the information communication. it can.
[0056]
In the modification shown in FIG. 8, the size adjusting unit 1333 may not be provided. Also, in the modification shown in FIG. 8, similarly to the modification shown in FIG. 6, the communication processing task 1330 may be provided with a timeout count measuring unit 1337 or a response time measuring unit 1338. Instead of having the queue clearing unit 13362 monitor whether or not the flag is registered in the flag registering unit 1360, an instruction from the timeout count measuring unit 1337 or the response time measuring unit 1338 may be received. That is, when an instruction having the same meaning as the flag ON is input from the timeout count measuring unit 1337 or the response time measuring unit 1338, if the oldest packet stored in the transmission queue 13361 is a TCP packet, this TCP packet is subjected to IP processing. In addition, the retransmission request unit 13363 is discarded without performing the process, and the header information of the discarded TCP packet is notified to the retransmission request unit 13363. On the other hand, when an instruction having the same meaning as the flag OFF is input from the timeout count measuring unit 1337 or the response time measuring unit 1338, the above processing is stopped.
[0057]
Further, for example, in the above embodiment, the case where Ethernet (registered trademark) is used for the connection between the main controller 1200, the I / O board 1600, and the PC 1700 has been described as an example. However, the present invention is not limited to this. A USB (Universal Serial Bus) may be used for the connection between the main controller 1200, the I / O board 1600, and the PC 1700.
[0058]
FIG. 9 is a schematic diagram of a modification of the control device 1100 shown in FIG.
[0059]
9 differs from control device 1100 shown in FIG. 1 in that main controller 1200, I / O board 1600, and PC 1700 are connected via USB via USB hub 1910. The main controller 1200 shown in FIG. 9 differs from the main controller 1200 shown in FIG. 1 in that a USB controller 1900 is provided in place of the NIC 1600, and a communication processing task 1330A is provided in place of the communication processing task 1330. That is the provision.
[0060]
FIG. 10 is a functional configuration diagram of the communication processing task 1330A.
[0061]
As illustrated, the communication processing task 1330A includes FIFOs 1331A and 1332A, a size adjustment unit 1333A, and a data output unit 1337.
[0062]
The output data of the information processing task 1310 is sequentially input to the FIFO 1331A, temporarily stored, and then output in the input order.
[0063]
The output data of the control processing task 1320 is sequentially input to the FIFO 1332A, temporarily stored, and then output in the input order.
[0064]
The size adjustment unit 1333A monitors whether the flag is registered in the flag registration unit 1360, and adjusts the data size of the data output from the FIFO 1331A based on the result. Specifically, when a flag is not registered in flag registering section 1360, data output from FIFO 1331A is output to data output section 1337 as it is. On the other hand, when the flag is registered in flag registering section 1360, the data size of the data output from FIFO 1331A is equal to the data size registered in flag registering section 1360 (this data size is smaller than the data size of the data output from FIFO 1331A). (Set to size). Then, the divided data is sequentially output to the data output unit 1337. If the data size is not registered in the flag registration unit 1360, the data size of the data output from the FIFO 1331A may be controlled so as to be the size initially set in the size adjustment unit 1333A.
[0065]
The data processing unit 1339 receives the data output from the size adjustment unit 1333A and the FIFO 1332A in the order of generation, and outputs the data to the USB controller 1900 in order. Further, it outputs the data received from the USB controller 1900 to the information processing task 1310 or the control processing task 1320 which is the destination.
[0066]
Now, in USB, data is managed in a list structure for each endpoint (communication destination), and the endpoint itself is managed in a list structure. The upper limit data size when managed by the list structure in the USB standard is about 8 kilobytes. Most of the data transmitted and received by the control processing task 1320 to and from the communication partner is about several tens of bytes such as commands. However, since the information processing task 1310 may transmit and receive a large amount of data such as video to and from a communication partner, the USB controller 1900 stores 8 kilobytes of an end point list structure indicating the communication destination of the information processing task 1310 in the information processing task 1310. Communication data may be connected. When there are a plurality of endpoints, the USB controller 1900 performs data communication processing in order according to the USB standard. Therefore, when communication data of a large size is connected to the list structure of the endpoint indicating the communication destination of the information processing task 1310, it takes time to process the communication data, and the communication processing task 1320 indicates the communication destination of the control processing task 1320. The waiting time until the start of the communication processing of the communication data connected to the list structure of the endpoint increases. As a result, the real-time property of control system communication deteriorates.
[0067]
However, in the communication processing task 1330A shown in FIG. 10, when the flag is set in the flag registration unit 1360, that is, when the frequency of the control communication is high, the size adjustment unit 1333A outputs the output of the information processing task 1310. When the flag is not set, that is, when the frequency of control communication is low, the data size of the data is divided into smaller data sizes and passed to the data output unit 1337. As a result, when the frequency of the control communication is high, the data connected to the list structure of the endpoint indicating the communication destination of the information processing task 1310 has a small size. Therefore, the waiting time until the start of the communication processing of the communication data connected to the list structure of the endpoint indicating the communication destination of the control processing task 1320 can be shortened, and the real-time property of the control communication can be prevented from being impaired. Can be.
[0068]
In the communication processing task 1330A illustrated in FIG. 10, similarly to the communication processing task 1330 illustrated in FIG. 6, instead of providing the OS 1350 with the flag registration unit 1360, the timeout number measurement unit 1337 or the response time measurement unit 1338 is replaced. The identification information (for example, a serial number) is attached to data output from the FIFO 1332A and input to the data output unit 1339, and after the data is output to the data output unit 1339, a response to the data (the Response time with the identification information attached to the data) is measured, the number of timeouts when the measurement time exceeds a predetermined timeout time is measured, or the total response time that is the accumulated measurement time is measured. Measures and times out or total response within a predetermined time Between with a predetermined threshold value, it may be controlled size adjuster 1333A accordingly.
[0069]
In this case, each I / O board 1600 needs to have a function of returning a response to data received from the main controller 1200 (response data having identification information attached to the data) to the main controller 1200.
[0070]
【The invention's effect】
As described above, according to the present invention, it is possible to improve the throughput of information communication while suppressing the real-time property of control communication from being impaired.
[Brief description of the drawings]
FIG. 1 is a schematic diagram of a control device to which an embodiment of the present invention is applied.
FIG. 2A is a diagram illustrating a timing at which a flag is set in a flag registration unit, and FIG. 2B is a diagram illustrating an example of registration contents of a flag registration unit;
FIG. 3 is a functional configuration diagram of a communication processing task 1330.
FIG. 4 is an operation flowchart of a communication processing task 1330.
FIG. 5 is a diagram showing a modification of the I / O board 1600.
FIG. 6 is a functional configuration diagram of a modification of the communication processing task 1330 shown in FIG. 3;
7A is a diagram illustrating a relationship between a count value 13371 and a threshold 13372, and FIG. 7B is a diagram illustrating a relationship between a total response time 13374 and a threshold 13375.
FIG. 8 is a functional configuration diagram of a modified example of the communication processing task 1330 shown in FIG. 3;
FIG. 9 is a schematic diagram of a modification of the control device 1100 shown in FIG.
FIG. 10 is a functional configuration diagram of a communication processing task 1330A.
[Explanation of symbols]
1100: Control device, 1200: Main controller, 1300: Memory, 1310: Information processing task, 1320: Control processing task, 1330: Communication processing task, 1331: FIFO, 1332 ... FIFO, 1333 ... Size adjustment unit, 1334 ... TCP processing unit, 1335 ... UDP processing unit, 1336 ... IP processing unit, 1337 ... Timeout count measurement unit, 1338 ... Response time measurement unit, 1350 OS, 1360 flag registration unit, 1400 CPU, 1500 NIC, 1600 I / O board, 1601 response processing unit, 1610 ... Motor, 1620 ... Sensor, 1700 ... PC, 1810 ... Bus, 1820 ... LAN, 1900 ... US Controller, 1910 ··· USB hub, 13361 ... transmission queue, 13362 ... queue clear portion, 13,363 ... retransmission request unit

Claims (15)

オペレーティングシステムにより管理され並列的に処理される第1の処理系タスクおよび第2の処理系タスクから出力されるデータを、ネットワークへ出力する通信制御装置であって、
前記第1および第2の処理系タスクの出力データを通信データに加工する通信データ処理手段と、
前記通信データ処理手段で生成される通信データ各々を、順番に前記ネットワークへ出力するネットワーク送出手段と、
前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを制御するデータサイズ調整手段と、を有すること
を特徴とする通信制御装置。
A communication control device for outputting data output from a first processing task and a second processing task managed by an operating system and processed in parallel to a network,
Communication data processing means for processing output data of the first and second processing tasks into communication data;
Network sending means for sequentially outputting communication data generated by the communication data processing means to the network,
A communication control device, comprising: data size adjusting means for controlling the data size of output data of the first processing task input to the communication data processing means.
請求項1記載の通信制御装置であって、
前記データサイズ調整手段は、前記第2の処理系タスクの状態により前記第1の処理系タスクの出力データのデータサイズを制御すること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The communication control device, wherein the data size adjusting means controls a data size of output data of the first processing task according to a state of the second processing task.
請求項1記載の通信制御装置であって、
前記オペレーティングシステムは、前記第2の処理系タスクの出力データを優先すべき旨を示すフラグを、所定間隔毎に所定時間設定し、
前記データサイズ調整手段は、前記第2の処理系タスクの出力データを優先すべき旨を示すフラグが設定されている場合に、前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを、前記フラグが設定されていない場合に比べ小さくすること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The operating system sets a flag indicating that output data of the second processing task should be prioritized for a predetermined time at predetermined intervals,
The data size adjusting means outputs the first processing task input to the communication data processing means when a flag indicating that output data of the second processing task should be given priority is set. A communication control device, wherein a data size of data is reduced as compared with a case where the flag is not set.
請求項1記載の通信制御装置であって、
前記オペレーティングシステムは、前記第2の処理系タスクの出力データを優先すべき旨を示すフラグを、所定間隔毎に前記第2の処理系タスクの通信相手から通信終了指示を受信するまで設定し、
前記データサイズ調整手段は、前記第2の処理系タスクの出力データを優先すべき旨を示すフラグが設定されている場合に、前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを、前記フラグが設定されていない場合に比べ小さくすること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The operating system sets a flag indicating that output data of the second processing task should be given priority at predetermined intervals until a communication end instruction is received from a communication partner of the second processing task,
The data size adjusting means outputs the first processing task input to the communication data processing means when a flag indicating that output data of the second processing task should be given priority is set. A communication control device, wherein a data size of data is reduced as compared with a case where the flag is not set.
請求項1記載の通信制御装置であって、
前記ネットワーク送出手段により前記第2の処理系タスクの通信相手へ送信された通信データに対する応答が、所定時間内に到達せずにタイムアウトとなった回数を計測するタイムアウト回数計測手段をさらに有し、
前記データサイズ調整手段は、前記タイムアウト回数計測手段の計測値が所定の閾値以上となった場合に、前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを、前記計測値が前記所定の閾値未満の場合に比べて小さくすること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
A response to the communication data transmitted to the communication partner of the second processing task by the network transmission unit further includes a timeout count measurement unit that counts the number of times that a timeout has occurred without arriving within a predetermined time,
The data size adjustment unit, when the measurement value of the timeout count measurement unit is equal to or greater than a predetermined threshold, the data size of the output data of the first processing system task to be input to the communication data processing unit, the A communication control device, wherein the measured value is smaller than a case where the measured value is less than the predetermined threshold.
請求項1記載の通信制御装置であって、
前記ネットワーク送出手段により前記第2の処理系タスクの通信相手へ送信された通信データに対する応答が、所定時間内に到達せずにタイムアウトとなった回数を計測するタイムアウト回数計測手段をさらに有し、
前記データサイズ調整手段は、前記タイムアウト回数計測手段の計測値が大きくなるほど、前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを小さくすること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
A response to the communication data transmitted to the communication partner of the second processing task by the network transmission unit further includes a timeout count measurement unit that counts the number of times that a timeout has occurred without arriving within a predetermined time,
The communication control, wherein the data size adjusting unit reduces the data size of the output data of the first processing task input to the communication data processing unit as the measured value of the timeout count measuring unit increases. apparatus.
請求項1記載の通信制御装置であって、
前記ネットワーク送出手段が前記第2の処理系タスクの通信相手へ通信データを送出してから前記通信相手より応答を受信するまでの応答時間を計測する応答時間計測手段をさらに有し、
前記データサイズ調整手段は、前記応答時間計測手段の計測値が所定の閾値以上となった場合に、前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを、前記計測値が前記所定の閾値未満の場合に比べて小さくすること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The network sending unit further includes a response time measuring unit that measures a response time from sending communication data to a communication partner of the second processing task to receiving a response from the communication partner,
The data size adjustment unit, when the measured value of the response time measurement unit is equal to or more than a predetermined threshold, the data size of the output data of the first processing task to be input to the communication data processing unit, the A communication control device, wherein the measured value is smaller than a case where the measured value is less than the predetermined threshold.
請求項1記載の通信制御装置であって、
前記ネットワーク送出手段が前記第2の処理系タスクの通信相手へ通信データを送出してから前記通信相手より応答を受信するまでの応答時間を計測する応答時間計測手段をさらに有し、
前記データサイズ調整手段は、前記応答時間計測手段の計測値が大きくなるほど、前記第1の通信データ処理手段へ入力する前記処理系タスクの出力データのデータサイズを小さくすること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The network sending unit further includes a response time measuring unit that measures a response time from sending communication data to a communication partner of the second processing task to receiving a response from the communication partner,
The communication control, wherein the data size adjusting unit reduces the data size of the output data of the processing task input to the first communication data processing unit as the measured value of the response time measuring unit increases. apparatus.
請求項1記載の通信制御装置であって、
前記ネットワーク送出手段は、前記第2の処理系タスクの出力データを優先すべき旨の指示が入力された場合に、前記ネットワークへ送出するために保持している前記第1の処理系タスクの通信データを破棄すると共に、当該通信データの再送要求を前記通信データ処理手段に出力し、
前記通信データ処理手段は、前記第1の処理系タスクの通信データに対する応答を受信するまで、当該通信データを保持すると共に、当該通信相手あるいは前記ネットワーク送出手段から再送要求を受信した場合、当該通信データを前記ネットワーク送出手段で再度出力すること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The network sending means, when an instruction to give priority to the output data of the second processing task is input, communicates the first processing task held for sending to the network. While discarding the data, output a request for retransmission of the communication data to the communication data processing means,
The communication data processing means holds the communication data until a response to the communication data of the first processing task is received, and, when a retransmission request is received from the communication partner or the network sending means, the communication data processing means A communication control device for outputting data again by said network sending means.
請求項1記載の通信制御装置であって、
前記第1の処理系タスクは、通信相手との通信にTCP(Transmission Control Protocol)を利用する情報処理系タスクであり、
前記第2の処理系タスクは、通信相手との通信にUDP(User datagram protocol)を利用する制御系タスクであり、
前記通信データ処理手段は、前記第1の処理系タスクの出力データをTCPに従ってパケット化するTCP処理手段と、前記第2の処理系タスクの出力データをUDPに従ってパケット化するUDP処理手段と、を有すること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The first processing task is an information processing task that uses TCP (Transmission Control Protocol) for communication with a communication partner.
The second processing task is a control task that uses UDP (User datagram protocol) for communication with a communication partner.
The communication data processing means includes: TCP processing means for packetizing output data of the first processing task according to TCP; and UDP processing means for packetizing output data of the second processing task according to UDP. A communication control device comprising:
請求項1記載の通信制御装置であって、
前記第1の処理系タスクは、USB(Universal Serial Bus)を利用して映像を含む情報処理データを通信相手と送受する情報処理系タスクであり、
前記第2の処理系タスクは、USBを利用してコマンドを含む制御データを通信相手と送受する制御系タスクであること
を特徴とする通信制御装置。
The communication control device according to claim 1, wherein
The first processing task is an information processing task of transmitting and receiving information processing data including video to and from a communication partner using a USB (Universal Serial Bus).
The communication control device according to claim 2, wherein the second processing task is a control task for transmitting / receiving control data including a command to / from a communication partner using a USB.
オペレーティングシステムにより管理され並列的に処理される第1の処理系タスクおよび第2の処理系タスクから出力されるデータを、ネットワークへ出力する通信制御方法であって、
前記第1および第2の処理系タスクの出力データを通信データに加工するステップと、
加工した通信データ各々を順番に前記ネットワークへ出力するステップと、
前記加工するステップに先立ち、通信データに加工する前記第1の処理系タスクの出力データのデータサイズを制御するステップと、を有すること
を特徴とする通信制御方法。
A communication control method for outputting data output from a first processing task and a second processing task managed by an operating system and processed in parallel to a network,
Processing the output data of the first and second processing tasks into communication data;
Outputting the processed communication data to the network in order;
Controlling the data size of output data of the first processing task to be processed into communication data prior to the processing step.
請求項12記載の通信制御方法であって、
前記制御するステップは、前記第2の処理系タスクの状態により前記第1の処理系タスクの出力データのデータサイズを制御すること
を特徴とする通信制御方法。
The communication control method according to claim 12, wherein
The communication control method, wherein the controlling step controls a data size of output data of the first processing task according to a state of the second processing task.
オペレーティングシステムにより管理され並列的に処理される第1の処理系タスクおよび第2の処理系タスクから出力されるデータを、ネットワークへ出力するプログラムであって、
コンピュータを、
前記第1および第2の処理系タスクの出力データを通信データに加工する通信データ処理手段、
前記通信データ処理手段で生成される通信データ各々を順番に前記ネットワークへ出力するネットワーク送出手段、および、
前記通信データ処理手段へ入力する前記第1の処理系タスクの出力データのデータサイズを制御するデータサイズ調整手段として機能させること
を特徴とするプログラム。
A program for outputting data output from a first processing task and a second processing task managed by an operating system and processed in parallel to a network,
Computer
Communication data processing means for processing output data of the first and second processing tasks into communication data;
Network sending means for sequentially outputting the communication data generated by the communication data processing means to the network, and
A program for functioning as data size adjusting means for controlling the data size of output data of the first processing task input to the communication data processing means.
請求項14記載のプログラムであって、
前記データサイズ調整手段は、前記第2の処理系タスクの状態により前記第1の処理系タスクの出力データのデータサイズを制御すること
を特徴とするプログラム。
The program according to claim 14,
The program, wherein the data size adjusting means controls a data size of output data of the first processing task according to a state of the second processing task.
JP2003158050A 2003-06-03 2003-06-03 Communication controller and communication control method Pending JP2004363782A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003158050A JP2004363782A (en) 2003-06-03 2003-06-03 Communication controller and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003158050A JP2004363782A (en) 2003-06-03 2003-06-03 Communication controller and communication control method

Publications (1)

Publication Number Publication Date
JP2004363782A true JP2004363782A (en) 2004-12-24

Family

ID=34051584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003158050A Pending JP2004363782A (en) 2003-06-03 2003-06-03 Communication controller and communication control method

Country Status (1)

Country Link
JP (1) JP2004363782A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102553A (en) * 2008-10-24 2010-05-06 Nec Corp Terminal device, server client system, terminal control program, and terminal control method
KR20190050998A (en) 2016-10-14 2019-05-14 오므론 가부시키가이샤 Communication device, control device and communication method
EP3528131A1 (en) 2018-02-14 2019-08-21 Omron Corporation Control device, control system, control method, and control program
EP3528471A1 (en) 2018-02-14 2019-08-21 Omron Corporation Control device, control system, control method, and control program
EP3528132A1 (en) 2018-02-14 2019-08-21 Omron Corporation Slave device, control system, communication method for response data and storage medium
EP3528470A1 (en) 2018-02-14 2019-08-21 Omron Corporation Control device, control system, control method, and control program
CN112714113A (en) * 2020-12-23 2021-04-27 上海有个机器人有限公司 Robot network self-repairing method, device, terminal and storage medium

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102553A (en) * 2008-10-24 2010-05-06 Nec Corp Terminal device, server client system, terminal control program, and terminal control method
KR20190050998A (en) 2016-10-14 2019-05-14 오므론 가부시키가이샤 Communication device, control device and communication method
US10999367B2 (en) 2016-10-14 2021-05-04 Omron Corporation Communication apparatus, control device, and communication method
EP3528131A1 (en) 2018-02-14 2019-08-21 Omron Corporation Control device, control system, control method, and control program
EP3528471A1 (en) 2018-02-14 2019-08-21 Omron Corporation Control device, control system, control method, and control program
EP3528132A1 (en) 2018-02-14 2019-08-21 Omron Corporation Slave device, control system, communication method for response data and storage medium
EP3528470A1 (en) 2018-02-14 2019-08-21 Omron Corporation Control device, control system, control method, and control program
JP2019139630A (en) * 2018-02-14 2019-08-22 オムロン株式会社 Control device, control system, control method, and control program
US10735520B2 (en) 2018-02-14 2020-08-04 Omron Corporation Control device, control system, control method, and non-transitory computer-readable storage medium
US10924406B2 (en) 2018-02-14 2021-02-16 Omron Corporation Control device, control system, control method, and non-transitory computer-readable storage medium
JP7059673B2 (en) 2018-02-14 2022-04-26 オムロン株式会社 Control devices, control systems, control methods, and control programs
CN112714113A (en) * 2020-12-23 2021-04-27 上海有个机器人有限公司 Robot network self-repairing method, device, terminal and storage medium

Similar Documents

Publication Publication Date Title
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US6788704B1 (en) Network adapter with TCP windowing support
JP4791322B2 (en) Method and apparatus for adaptive bandwidth control with bandwidth guarantee
KR100973201B1 (en) Method and system for transparent tcp offload
EP1513321B1 (en) System and method for TCP/IP offload independent of bandwidth delay product
JP2009060660A (en) Transmission apparatus and transmission method
US8259728B2 (en) Method and system for a fast drop recovery for a TCP connection
US7953113B2 (en) Method and apparatus for adaptive bandwidth control with user settings
US8341453B2 (en) Transmission apparatus that transmits data according to a protocol, and method for measuring time in the transmission apparatus
US20070291782A1 (en) Acknowledgement filtering
JP2004363782A (en) Communication controller and communication control method
US20070019550A1 (en) Shaper control method, data communication system, network interface apparatus, and network delay apparatus
Rio et al. A map of the networking code in Linux kernel 2.4. 20
JP2008053888A (en) Communication equipment, program, information storage medium and communication control method
JP2011151490A (en) Relay device and band control method
JP5116319B2 (en) Message relay apparatus and method
US7213074B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
JP2000134263A (en) Data communication equipment
JP2016012801A (en) Communication apparatus, communication system, and communication apparatus control method
JP2009194504A (en) Computer device and packet reception control method
Barczyk et al. High rate packets transmission on Ethernet LAN using commodity hardware
JP2012049883A (en) Communication device and packet processing method
JP2004260562A (en) Method and device for transmitting and receiving packet
KR100545665B1 (en) Apparatus for guaranteeing Quality of Service in Internet
Rio Technical Report DataTAG-2004-1 FP5/IST DataTAG Project