(58)【調査した分野】(Int.Cl.,DB名)
前記指示データにより指定される時間の長さは、前記指示データに従って前記第2装置による前記第2データの送信が停止してから、前記第2データ対応区分、又は、該第2データ対応区分の直前の前記時間区分に属する時点までの長さに等しい、
請求項1に記載の通信装置。
前記指示区分の直後の前記時間区分から、前記第2データ対応区分の直前の前記時間区分までは、前記第2データの種別とは異なる種別に対応する一又は複数の連続する前記時間区分である第2データ非対応期間であって、
前記指示データにより指定される時間の長さは、前記第2データ非対応期間の長さ以上であって、前記指示区分の長さと、前記第2データ非対応期間の長さと、の和以下である、
請求項1から3のいずれか一項に記載の通信装置。
前記指示データにより指定される時間の長さは、前記指示区分の長さと、前記第2データ非対応期間の長さと、の和から、前記通信装置から前記第2装置へデータを伝送する際の伝送遅延を減じて得る差に等しい、
請求項4に記載の通信装置。
【発明を実施するための形態】
【0011】
以下、本開示の実施の形態に係る通信装置100について、図面を参照しつつ詳細に説明する。
【0012】
実施の形態1.
本実施の形態に係る通信装置100は、
図1に示されるように、ネットワークを介して第1装置110及び第2装置120に接続されて、互いに通信する。通信装置100は、第1装置110、第2装置120及び中継装置130とともに通信システム1000を構成する。通信システム1000は、工場に設置されるFAシステムの一部に相当する。このFAシステムは、例えば、生産システム、検査システム、又は加工システムであってもよいし、その他のシステムであってもよい。通信システム1000では、時分割による通信機能を有しない装置に対してデータの送信を一時的に停止させることにより、時分割による通信機能の少なくとも一部を擬似的に実現させる。
【0013】
通信装置100、第1装置110、第2装置120及び中継装置130は、
図2に示されるような共通のハードウェア構成を有する。
図2に示されるネットワーク装置30は、通信装置100、第1装置110、第2装置120及び中継装置130の総称である。ネットワーク装置30は、そのハードウェア構成として、プロセッサ31と、主記憶部32と、補助記憶部33と、クロック部34と、入力部35と、出力部36と、通信部37と、を有する。主記憶部32、補助記憶部33、クロック部34、入力部35、出力部36及び通信部37はいずれも、内部バス38を介してプロセッサ31に接続される。
【0014】
プロセッサ31は、集積回路であるCPU(Central Processing Unit)又はMPU(Micro Processing Unit)を含む。プロセッサ31は、補助記憶部33に記憶されるプログラムP1を実行することにより、ネットワーク装置30の種々の機能を実現して、後述の処理を実行する。
【0015】
主記憶部32は、RAM(Random Access Memory)を含む。主記憶部32には、補助記憶部33からプログラムP1がロードされる。そして、主記憶部32は、プロセッサ31の作業領域として用いられる。
【0016】
補助記憶部33は、EEPROM(Electrically Erasable Programmable Read-Only Memory)及びHDD(Hard Disk Drive)に代表される不揮発性メモリを含む。補助記憶部33は、プログラムP1の他に、プロセッサ31の処理に用いられる種々のデータを記憶する。補助記憶部33は、プロセッサ31の指示に従って、プロセッサ31によって利用されるデータをプロセッサ31に供給し、プロセッサ31から供給されたデータを記憶する。
【0017】
クロック部34は、例えば、水晶振動子、シリコン振動子、水晶発振器、他の発振回路を有するクロック発生回路を含む。クロック部34は、クロック発生回路により生成されたクロックに基づいてクロック信号を生成して出力する。クロック信号は、クロックパルスを含み、プロセッサ31が、内蔵のハードウェア素子により又は実行するソフトウェア処理によりクロックパルスの立ち上がり回数をカウントすることで時刻を計時するために利用される。
【0018】
入力部35は、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部35は、ネットワーク装置30のユーザによって入力された情報を取得して、取得した情報をプロセッサ31に通知する。
【0019】
出力部36は、LED(Light Emitting Diode)、LCD(Liquid Crystal Display)及びスピーカに代表される出力デバイスを含む。出力部36は、プロセッサ31の指示に従って、種々の情報をユーザに提示する。
【0020】
通信部37は、外部の装置とEthernetフレームを送受するためのネットワークインタフェース回路を含む。通信部37は、外部から信号を受信して、この信号により示されるデータをプロセッサ31へ出力する。また、通信部37は、プロセッサ31から出力されたデータを示す信号を外部の装置へ送信する。なお、
図2では、1つの通信部37が代表として示されているが、ネットワーク装置30は、異なる伝送路に接続するための複数の通信部37を有してもよい。
【0021】
図1に戻り、通信装置100、第1装置110及び中継装置130はそれぞれ、TSN規格に準拠するTSN対応装置である。例えば、通信装置100及び第1装置110はそれぞれ、産業用の制御装置であるPLC(Programmable Logic Controller)を構成するネットワークユニットであり、中継装置130は、スイッチングハブである。これらの通信装置100、第1装置110及び中継装置130は、通信路22を介してTSN規格に従って通信する。
【0022】
第2装置120は、TSN規格に対応していない装置である。例えば、第2装置120は、スイッチングハブである中継装置130に通信路21を介して接続されたIPC(Industrial Personal Computer)、TSN非対応のPLC或いは当該PLCを構成するユニット、PLCによる制御の対象機器としてのアクチュエータ又はロボット、センサを有するセンサ装置、その他の装置である。以下では、第2装置120が専ら、IP通信をTSN規格に準拠することなく実行する例について説明する。
【0023】
ここで、通信装置100、第1装置110及び中継装置130によるTSN規格に従った通信の概要について説明する。
【0024】
TSN対応装置としての通信装置100、第1装置110及び中継装置130は、通信路22を介して時刻を同期する。詳細には、これらのTSN対応装置はそれぞれ、他の装置と時刻同期プロトコルにより時刻を共有する。時刻同期プロトコルは、通信ネットワーク上の機器の時刻を高精度に同期するためのプロトコルである。例えば、時刻同期プロトコルとしてIEEE802.1ASが適用される場合には、ネットワーク上の一のノードに相当するグランドマスタが通信ネットワーク経由で高精度な基準クロックを定期的に配信する。また、グランドマスタと他のノードに相当するスレーブとの間でデータを往復させることで伝送遅延が計測され、スレーブは、この伝送遅延を補正した基準クロックを得る。これにより、伝送遅延が補正された時刻が共有される。
【0025】
なお、複数の装置による時刻の共有及び時刻の同期は、複数の装置それぞれが有する時計を同期することを意味する。複数の装置それぞれが有する時計が同等の時刻を計時することで、この時刻が複数の装置において共有されれば、複数の装置が時刻を同期することとなる。以下では、装置間で共有される時刻を共有時刻と表記する。
【0026】
TSN対応装置は、共有時刻に従って予め定められたスケジュールに基づいてデータを送受する。詳細には、
図3に示されるように、通信装置100、第1装置110及び中継装置130は、共有時刻に従って予め定められた長さの期間41,42それぞれにおいて時分割多重方式により通信する。
【0027】
期間41,42は、互いに隣接する。すなわち、期間42は、期間41の直後に設けられ、期間41の終了時刻は期間42の開始時刻に等しい。
図3では、2つの期間41,42が示されているが、期間41より前、及び期間42より後にも、期間41,42と同等の期間が周期的に設けられる。
【0028】
期間41,42はそれぞれ、互いに隣接するタイムスロットTS1,TS2を有する。
図3に示されるように期間41においてタイムスロットTS1,TS2がこの順で配置される場合には、タイムスロットTS1の開始時刻は、期間41の開始時刻に等しく、タイムスロットTS1の終了時刻は、タイムスロットTS2の開始時刻に等しく、タイムスロットTS2の終了時刻は、期間41の終了時刻に等しい。期間41のタイムスロットTS2の直後には、期間42のタイムスロットTS1が配置されることとなる。
【0029】
タイムスロットTS1,TS2は、予め定められた異なる種別のデータを伝送するための時間区分である。詳細には、タイムスロットTS1,TS2はそれぞれ、予め定められた形式、チャンネル又はプロトコルの通信をするために設けられる。タイムスロットTS1では、時刻同期プロトコルで時刻を同期させるためのデータが、
図3において破線の矢印で示されるように、グランドマスタに相当する通信装置100からスレーブに相当する第1装置110及び中継装置130に伝送される。タイムスロットTS2では、
図3において太線の矢印で示されるように、IP(Internet Protocol)通信が実行される。期間41,42の長さが等しいため、それぞれのタイムスロットにおける通信は、周期的に実行されることとなる。なお、タイムスロット各々では、当該タイムスロットに対応する種別のデータが伝送されるため、各装置は、当該データの送信又は受信の少なくとも一方を実行し、伝送すべきデータが無い場合には通信を実行しない。
【0030】
ここで、通信装置100が、
図1に示されるように第2装置120と通信する際には、第2装置120は、TSN規格に従った通信機能を有しないため、タイムスロットに関わらずデータを送信する。すなわち、TSN対応装置が、タイムスロット毎に当該タイムスロットに予め対応して定められた種別のデータを送信するのに対して、第2装置120は、タイムスロットに対応する種別とは異なる種別のデータを当該タイムスロットにおいて送信し得る。タイムスロットに対応するデータの種別は、当該タイムスロットにおいて当該データを中継する際に、バッファリングをすることなく、そのタイムスロット内において中継可能であるようなデータの分類を意味する。また、タイムスロットに対応しないデータの種別は、当該タイムスロットにおいてTSN対応装置へ中継すべき当該データを他のTSN対応装置が受信した際に、バッファリングの必要が生じるようなデータの分類を意味する。
【0031】
図4の上部には、第2装置120が、IP通信のデータを、当該IP通信のために設けられたタイムスロットT2において通信装置100に宛てて送信する例が示されている。中継装置130は、第2装置120から送信されたデータを受信し、受信したデータをタイムスロットT2において通信装置100に送信することで、このデータの伝送を中継する。
【0032】
図4の下部には、第2装置120が、IP通信のデータを、タイムスロットT1において第1装置110に宛てて送信する例が示されている。中継装置130は、第2装置120から送信されたデータをタイムスロットT1において受信するが、タイムスロットT1がIP通信のための時間区分ではないため、受信したデータをバッファリングして一時的に保持し、タイムスロットT2において通信装置100へ送信することで、このデータの伝送を中継する。通信装置100は、タイムスロットT2において中継装置130から受信したデータを第1装置110へ送信することで、このデータの伝送を中継する。なお、
図4には例示されていないが、通信装置100は、中継装置130と同様に、タイムスロットに対応しない種別のデータを受信したときには、一時的にバッファリングしてからこのデータを送信することでデータの伝送を中継する。
【0033】
中継すべきデータの量が増加してバッファ容量を超過すると、データを破棄して消失させることとなり、フレームロス或いはパケットロスに代表されるデータ損失が生じる。これに対して、通信装置100は、第2装置120に対してデータの送信を一定時間だけ停止することをタイムスロットT1より前に指示する機能を有する。
【0034】
図5には、通信装置100、第1装置110、第2装置120及び中継装置130の機能的な構成が示されている。
図5に示されるように、通信装置100は、その機能として、通信装置100の構成要素を制御する制御部51と、種々のデータを記憶する記憶部52と、他の装置と通信するための通信部53と、を有している。
【0035】
制御部51は、主として通信装置100のプロセッサ31によって実現される。制御部51は、記憶部52及び通信部53を制御して、記憶部52及び通信部53の動作を連携させる。
【0036】
記憶部52は、主として通信装置100の主記憶部32及び補助記憶部33の少なくとも一方により実現される。記憶部52は、通信装置100が他の装置へ送信すべきデータ、及び、他の装置から受信したデータを記憶する。記憶部52によって記憶されるデータは、通信装置100がデータの伝送を中継する際に一時的に保持するデータを含む。
【0037】
通信部53は、主として通信装置100のプロセッサ31及び通信部37の協働により実現される。通信部53は、第1装置110との間でデータを送受し、中継装置130との間でデータを送受する。通信部53は、第2装置120からのデータを受信する受信モジュール531と、第2装置120から送信されたデータの伝送を中継する中継モジュール532と、第2装置120に対してデータの送信を停止することを指示するための指示データを送信する送信モジュール533と、TSN規格に従って通信する通信モジュール534と、を有する。
【0038】
以下では、通信装置100がTSN対応装置との間で送受するデータを第1データと適宜表記し、第2装置120から送信されるデータを第2データと適宜表記する。タイムスロットT1は、第1データの種別に対応する時間区分である第1データ対応区分の一例に相当し、タイムスロットT2は、第2データの種別に対応する時間区分である第2データ対応区分の一例に相当する。受信モジュール531は、第2装置120から時間区分に関わらず送信される第2データを受信する受信手段の一例に相当する。中継モジュール532は、通信装置100において、受信手段によって受信された第2データの宛先が第1装置を含む場合に、第2データ対応区分において第2データの第1装置への伝送を中継する中継手段の一例に相当する。通信モジュール534は、通信装置100において、第1データの第1装置への送信及び第1装置からの受信の少なくとも一方を、第1装置と共有する共有時刻により規定される複数の時間区分のうちの第1データ対応区分において実行することで、第1装置と通信する通信手段の一例に相当する。
【0039】
送信モジュール533によって送信される指示データは、データの送信を停止すべき時間の長さの指定値を含む。この指示データを受信した第2装置120は、指示データを受信した時点から、指示データにより指定された長さの時間だけデータの送信を停止する。指示データは、例えば、IEEE802.3xにおいて規定されたPAUSEフレームである。このPAUSEフレームは、Ethernetフレームを受信する機器が、データ量がバッファリング容量を超えそうになったときに、送信元の機器に対して一定時間だけ送信の中断を指示するためのデータである。
【0040】
送信モジュール533を有する通信装置100は、
図6に示されるように、タイムスロットT3において指示データをブロードキャストする。タイムスロットT3は、
図7に示されるように、指示データを伝送するための時間区分であって、第2データが送信されるとバッファリング処理が生じてしまうタイムスロットT1の直前に設けられる。以下では、この時間区分を指示区分と適宜表記する。指示区分においては、TSN対応装置が、指示データと異なるデータを送信することはない。なお、TSN対応装置は、指示データを受信しても指示データに従ってデータの送信を停止することなく、TSN規格に従った通信を続行する。
【0041】
図6に戻り、第2装置120は、中継装置130を介して指示データを受信すると、この指示データに従って第2データの送信を停止する。第2装置120が指示データを受信すると即座に第2データの送信を停止するため、第2データの送信の停止が開始する時刻は、指示データの受信時刻に等しいものと見なすことができる。送信が停止される時間長TL1は、タイムスロットT3の時間長と、タイムスロットT1の時間長と、の総和に等しい。第2装置120は、指示データの受信時点から時間長TL1が経過してから第2データの送信を開始する。送信を開始するタイミングは、第2データに対応するタイムスロットT2内にあるため、中継装置130及び通信装置100は、第2データをバッファリングすることなく、第1装置110への第2データの伝送を中継する。
【0042】
送信モジュール533は、通信装置100において、第2データの送信が停止される時間の長さを指定して第2データの送信の停止を指示する指示データを、指示データを送信するための時間区分である指示区分において第2装置に送信する送信手段の一例に相当する。
【0043】
図5に戻り、第1装置110は、種々のデータを記憶する記憶部111と、他の装置と通信するための通信部112と、を有する。第2装置120は、種々のデータを記憶する記憶部121と、他の装置と通信するための通信部122と、を有する。中継装置130は、データの伝送を中継する際に一時的に保持されるデータ及び他のデータを記憶する記憶部131と、他の装置と通信するための通信部132と、を有する。なお、TSN対応装置である第1装置110及び中継装置130の通信部112,132は、通信装置100の受信モジュール531、中継モジュール532及び通信モジュール534と同様の機能を有する。
【0044】
続いて、通信装置100によって実行される処理について、
図8〜9を用いて説明する。
図8には、通信装置100が第2装置120から送信された第2データを受信して処理するための受信処理の手順が示されている。
【0045】
図8に示されるように、通信装置100は、受信処理において、データを受信したか否かを判定する(ステップS1)。具体的には、通信部53の受信モジュール531が、他の装置から送信されたデータを受信したか否かを判定する。
【0046】
データを受信していないと判定された場合(ステップS1;No)、ステップS1の判定が繰り返される。一方、データを受信したと判定した場合(ステップS1;Yes)、受信モジュール531は、受信したデータの伝送を中継すべきか否かを判定する(ステップS2)。通信装置100が第2装置120から受信したデータの宛先が第1装置110を含む場合には、ステップS2の判定が肯定される。
【0047】
データ伝送を中継すべきでないと判定した場合(ステップS2;No)、受信したデータは通信装置100自体を宛先とするものであるため、受信モジュール531は、データ処理を実行する(ステップS3)。具体的には、受信モジュール531は、受信したデータを記憶部52に格納して、当該データに対する制御部51による処理が可能な状態とする。その後、通信装置100は、ステップS1以降の処理を繰り返す。
【0048】
一方、データ伝送を中継すべきであると判定された場合(ステップS2;Yes)、中継モジュール532は、データ中継がデータに対応する時間区分で可能か否かを判定する(ステップS4)。当該データが、第2装置120から第1装置110に宛ててIP通信により送信された第2データであるときには、中継モジュール532は、IP通信のためのタイムスロットT2にて当該第2データを第1装置110へ送信することができるか否かを判定する。具体的には、中継モジュール532が、通信装置100の内部での中継処理に要する時間が現在時刻から経過した時点が、共有時刻により予め規定されるIP通信のためのタイムスロットT2に属するか否かを判定する。
【0049】
データ中継がデータに対応する時間区分で可能と判定した場合(ステップS4;Yes)、中継モジュール532は、中継処理を実行する(ステップS5)。例えば、中継モジュール532は、ステップS2にて受信したと判定された第2データを第1装置110へ送信することにより、当該第2データの伝送を中継する。その後、通信装置100は、ステップS1以降の処理を繰り返す。
【0050】
データ中継がデータに対応する時間区分で可能でないと判定した場合(ステップS4;No)、中継モジュール532は、バッファリング処理を実行する(ステップS6)。具体的には、中継モジュール532は、ステップS2にて受信したと判定されたデータを、記憶部52に一時的に格納する。
【0051】
次に、中継モジュール532は、送信処理を実行する(ステップS7)。具体的には、中継モジュール532は、ステップS6にてバッファリングしたデータに対応する時間区分において、記憶部52から当該データを読み出して中継先の装置へ送信する。例えば、中継モジュール532は、バッファリングした第2データを、タイムスロットT2にて第1装置110へ送信する。その後、通信装置100は、ステップS1以降の処理を繰り返す。
【0052】
なお、
図1に示されるような通信システム1000の構成においては、任意のタイミングで第2装置120から送信された第2データを、主に中継装置130がバッファリングして中継する。このため、
図8に示される受信処理と同様の処理が、中継装置130によって実行される。また、通信システム1000から中継装置130が省略された構成においても、通信装置100は、上述の受信処理を実行することにより、
図9に示されるように任意のタイミングで送信された第2データをバッファリングしてから、TSN規格に従って中継することができる。主にバッファリングを実行する装置が、通信装置100及び中継装置130のいずれであっても、第2データを転送することができない時間区分において多くの第2データを受信すると、バッファリングデータのサイズが大きくなり、バッファ容量を超えてしまうおそれがある。
【0053】
続いて、通信装置100が指示データを送信する指示処理の手順について、
図10を用いて説明する。
図10に示されるように、指示処理において、送信モジュール533は、指示区分において指示データを送信する(ステップS11)。具体的には、送信モジュールが、指示区分の時間長と次の時間区分の時間長との総和を、データ送信を停止すべき時間の指定値として含む指示データをブロードキャストする。なお、送信モジュール533は、指示データをブロードキャストすることなく、TSN規格に非対応である第2装置120に宛てて送信してもよい。
【0054】
次に、送信モジュール533は、指示区分とは異なる時間区分において待機する(ステップS12)。その後、送信モジュール533は、ステップS11以降の処理を繰り返す。なお、中継装置130が省略されて通信システム1000が構成される場合には、通信装置100の送信モジュール533は、
図11に示されるように、第2装置120へ指示データを送信することにより、タイムスロットT1における第2データの送信を停止させてもよい。
【0055】
以上、説明したように、送信モジュール533は、指示区分において指示データを第2装置120に送信し、この指示データにより指定される時間の長さは、指示区分の長さと指示区分の直後のタイムスロットT1の長さの総和に等しく、さらに当該タイムスロットT1の直後は、第2データに対応するタイムスロットT2である。タイムスロットT1は、第2データの種別とは異なる種別に対応する時間区分であるため、第2装置120がタイムスロットT1において第2データを送信すると、バッファリング処理が発生する。しかしながら、第2装置120は、タイムスロットT1においては指示データに従って第2データの送信を停止し、タイムスロットT2において第2データの送信が可能になる。これにより、第2データを中継する装置が第2データを適当な時間区分において伝送するために一時的に保持することによる過大な負荷の発生を回避することができる。したがって、時分割による通信機能を有する装置と当該通信機能を有しない装置とが混在するネットワークにおいて、データ損失を抑制することができる。
【0056】
また、時間区分は、TSN対応装置同士の通信のために規定されるが、本実施の形態では、TSN規格に非対応の装置からの第2データを当該第2データに対応する時間区分において受信するために、指示区分が設けられた。指示区分を設けることなく、通信装置100がタイムスロットT1より前に指示データを送信する場合には、当該指示データは、他のデータとともに時間区分内において伝送されるため、指示データが送信されるタイミングを予め定めることが困難になる。その結果、第2装置120が指示データに従ってデータ送信を停止する時間と、第2データが送信されたときにバッファリングが生じてしまう時間区分と、が重複しないか、又は重複部分が小さくなるおそれがある。
【0057】
これに対して、本実施の形態では、指示データを伝送するための指示区分を設けることにより、他に伝送されるデータの影響を受けることなく、周期的に設けられる指示区分毎に一定のタイミングで、指示データを送信することができる。
【0058】
実施の形態2.
続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。上記実施の形態1においては、
図6に示されるように、第2装置120が第2データの送信を停止した後に開始するタイミングは、第2データに対応するタイムスロットT2内であったが、このタイムスロットT2の初期には第2データの送信が禁止されていた。すなわち、第2データの送信が可能であるにも関わらずデータ送信が停止される時間が生じていた。本実施の形態は、タイムスロットT2の開始時から第2装置120が第2データを送信する点で、実施の形態1とは異なる。以下では、データ送信を停止すべき時間の長さが伝送遅延に基づいて定められる例について説明する。
【0059】
本実施の形態に係る通信装置100の通信部53は、
図12に示されるように、第2装置120との間で伝送されるデータの伝送遅延を計測する計測モジュール535を有する。
【0060】
図13には、計測モジュール535による伝送遅延の計測の概要が示されている。計測モジュール535を有する通信装置100は、
図13に示されるように、伝送遅延を計測するために第2装置120に応答を要求する要求データを、時刻T11において第2装置120へ送信する。この要求データは、時刻T12において第2装置120によって受信される。
【0061】
第2装置120は、要求データを受信すると、応答データを通信装置100に送信することにより、通信装置100に応答する。応答データは、要求データを受信した時刻T12と、当該応答データを送信する時刻T13と、を示す情報である。
【0062】
通信装置100が応答データを受信すると、計測モジュール535は、要求データを送信した時刻T11、応答データにより示される時刻T12,T13、及び、応答データを受信した時刻T14を用いて、次式(1)により伝送遅延Dを算出する。
【0063】
D=((T14−T11)−(T13−T12))/2 ・・・(1)
【0064】
なお、要求データ及び応答データは、これらのデータに対応する時間区分において伝送されることが好ましい。
【0065】
送信モジュール533は、計測モジュール535によって計測された伝送遅延に基づいてデータ送信を停止すべき時間の指定値を算出し、算出した指定値を含む指示データを第2装置120へ送信する。この指定値の一例が、
図14において時間長TL2として示されている。時間長TL2は、指示区分であるタイムスロットT3の時間長と指示区分の次のタイムスロットT1の時間長との和から、伝送遅延Dを減じて得る差に等しい。
【0066】
指示区分は、指示データを伝送する専用の時間区分であって、他の種別のデータは指示区分において伝送されないため、通信装置100は、指示区分の開始直後に指示データを送信する。第2装置120は、この指示データを受信してから、時間長TL2だけデータ送信を停止した後に第2データを送信する。
【0067】
以上、説明したように、指示データにより指定される時間の長さは、指示区分の長さと、当該指示区分の次の時間区分の長さと、の和から、指示データの伝送遅延を減じて得る差に等しい。このため、第2装置120が、第2データの送信を停止する期間の終了時刻は、指示区分の次の、第2データに対応しない時間区分の終了時刻に等しくなる。これにより、第2装置120は、第2データに適した時間区分の開始直後から第2データを送信することができる。
【0068】
なお、通信装置100は、計測モジュール535による伝送遅延の計測と、計測された伝送遅延に基づく指示データの送信と、を交互に繰り返すことにより、データ送信が停止される時間長を適応的に調整してもよい。例えば、伝送遅延が日中と夜間とで異なるような場合には、このような時間長の調整が有効となる。
【0069】
また、伝送遅延が計測モジュール535によって計測される例について説明したが、これには限定されず、ユーザによって入力された伝送遅延の推定値に基づいて、データ送信を停止する時間長が決定されてもよい。
【0070】
また、指示区分であるタイムスロットT3の長さは、指示データの伝送遅延より短くてもよい。例えば、
図15に示されるように、指示データを送信するためのタイムスロットT3より後の時間区分において、指示データが中継され受信されてもよい。指示区分においては、指示データ以外の種別のデータの送信が禁止されるため、指示区分の長さは短いことが望ましい。指示区分の長さが指示データの伝送遅延より短ければ、通信装置100による指示データの送信後に比較的短い時間が経過した時点でTSN対応装置による第1データの送信が可能になる。
【0071】
なお、第1データ及び第2データについては、これらのデータの種別に対応する時間区分において伝送が完了すること、すなわち、これらのデータの送信、中継及び受信が対応する時間区分において完了することが望ましい。ただし、これには限定されず、第1データを送信するためのタイムスロットT1内に第1データの受信までが完了することが保証されなくともよい。同様に、第2データを送信するためのタイムスロットT2内に第2データの受信までが完了することが保証されなくともよい。
【0072】
図15の例では、第2装置120は、タイムスロットT1の開始直後において、指示データを受信するまでの間に、第2データを送信し得る。このため、中継装置130及び通信装置100によるバッファリングが生じ得る。しかしながら、指示データの受信後の期間においては、第2装置120が第2データの送信を停止するため、この期間に関しては、バッファリングの発生を防止することができる。これにより、データ損失の発生を抑制することができる。したがって、指示データに従って第2装置120による第2データの送信が停止する期間は、指示区分の直後の時間区分の一部を含んでいればよい。すなわち、指示データにより指定される時間の長さは、第2装置120が第2データの送信を停止してから、第2データ対応区分より前の時間区分であって、指示区分の直後の時間区分の少なくとも一部が経過するまでの時間の長さ以上であればよい。
【0073】
実施の形態3.
続いて、実施の形態3について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、第2装置120による第2データの送信が再開するタイミングが、タイムスロットT2の直前の時間区分に属する点で、実施の形態1とは異なる。
【0074】
図16には、通信装置100がタイムスロットT3の開始直後に指示データを送信し、この指示データにより指定される時間長TL3が、タイムスロットT1の長さに等しい例が示されている。この例では、第2装置120が、まだタイムスロットT1内であるにも関わらず第2データを送信することとなる。しかしながら、タイムスロットT1の大部分では第2データの送信が停止されているため、バッファリングすべき第2データの量は大幅に減少し、データ損失を抑制することができる。
【0075】
したがって、第2装置120による第2データの送信が再開するタイミングは、実施の形態1,2のようにタイムスロットT2に属していてもよいし、本実施の形態のようにタイムスロットT2の直前のタイムスロットT1に属していてもよい。換言すると、指示データにより指定される時間の長さが、第2装置120による第2データの送信が停止してから、
図6に示されるようなタイムスロットT2に属する時点までの長さに等しいか、又は、
図16に示されるようなタイムスロットT2の直前の時間区分に属する時点までの長さに等しければよい。
【0076】
なお、
図17に示されるように、通信装置100の送信モジュール533が、タイムスロットT3の終了時刻よりも伝送遅延Dだけ前の時刻T31において指示データを送信すれば、第2装置120は、タイムスロットT1の間だけ第2データの送信を停止することとなる。時刻T31は、実施の形態2に係る計測モジュール535によって計測された伝送遅延に基づいて決定されてもよいし、ユーザによって入力されたパラメータにより指定されてもよい。
【0077】
実施の形態4.
続いて、実施の形態4について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、第2装置120が、連続する複数の時間区分で第2データの送信を停止すべき点で、実施の形態1とは異なる。
【0078】
図18には、本実施の形態に係る指示データにより指定される時間長TL4が例示されている。この時間長TL4は、指示区分としてのタイムスロットT3の直後のタイムスロットT1−1から、第2データに対応する時間区分としてのタイムスロットT2の直前のタイムスロットT1−Nまでを含む、連続する複数の時間区分である。タイムスロットT1−Nでは、
図19に示されるように、サイクリック伝送のためのデータが伝送される。サイクリック伝送は、各装置が有するメモリに共通のデータを格納するための通信が周期的に実行されることで、連続する周期の各々でメモリに記憶されるデータを同期するための通信方式である。
【0079】
以上、説明したように、指示データにより指定される時間の長さは、第2装置120が第2データの送信を停止すべき複数の時間区分の長さにより規定されてもよい。具体的には、指示データにより指定される時間の長さは、指示区分の直後のタイムスロットT1−1から、第2データの送信が許可されるタイムスロットT2の直前のタイムスロットT1−Nまでの、連続する複数の時間区分の長さの総和に等しくてもよい。このような指示データにより、第2装置120は、第2データとは異なる種別に対応する時間区分においては第2データの送信を停止し、第2データに対応する時間区分において第2データを送信する。
【0080】
なお、上記実施の形態2のような伝送遅延を考慮した時間長の指定を、本実施の形態に適用してもよい。すなわち、指示データにより指定される時間の長さは、連続する複数の時間区分の長さから伝送遅延を減じて得る差に等しくてもよい。また、上記実施の形態3のように、指示データにより指定される時間の長さは、指示区分とタイムスロットT2との間の、連続する複数の時間区分の長さに等しくてもよい。第2装置120がデータ送信を停止すべき時間長は、第2データに対応しない一又は複数の連続する時間区分である第2データ非対応期間の長さ以上であって、当該長さに指示区分の長さを加算して得る総和以下の範囲内にあればよい。
【0081】
実施の形態5.
続いて、実施の形態5について、上述の実施の形態4との相違点を中心に説明する。なお、上記実施の形態4と同一又は同等の構成については、同等の符号を用いる。本実施の形態は、第2装置120がデータの送信を停止している期間において、第2データの種別に対応する時間区分が設けられる点で、実施の形態4とは異なる。
【0082】
図20には、本実施の形態に係る通信システム1000の構成が示されている。通信システム1000は、TSN非対応装置である第3装置130aを有する。第3装置130aは、第2装置120と同様に、時間区分に関わらず第2データを送信し得る。ただし、第3装置130aから送信される第2データについては、バッファリングの発生が許容される。
【0083】
指示区分の後には、
図21に示されるように、第1データの種別に対応するタイムスロットT1−1、第2データの種別に対応するタイムスロットT2−1、第1データの種別に対応するタイムスロットT1−N、及び、第2データの種別に対応するタイムスロットT2−Nが、この順で設けられる。そして、通信装置100は、タイムスロットT3において、時間長TL4を指定する指示データを第2装置120に宛てて送信する。なお、
図21では、第3装置130aが省略されている。
【0084】
タイムスロットT2−1,T2−Nは、第2データに対応する時間区分であるが、これらの時間区分では、第2装置120による第2データの送信が停止され、第3装置130aによる送信は停止されない。
【0085】
以上、説明したように、第2装置120による第2データの送信が停止している期間が、第2データの種別に対応する時間区分を含む場合であっても、第2装置120による第2データの送信に起因するバッファリングを抑制して、データ損失の抑制に寄与することができる。このため、指示区分より後であって、かつ、第2装置120による第2データの送信が許可される時間区分より前の期間のすべてが、第2データの種別とは異なる種別に対応する時間区分でなくてもよい。すなわち、指示区分より後であって、かつ、第2データの種別に対応する時間区分より前に、第2データの種別とは異なる種別に対応する時間区分が少なくとも1つ設けられていればよい。
【0086】
さらに、
図21の例から、タイムスロットT1−1及びT1−Nを省略して、指示区分より後の、第2装置120による第2データの送信が許可される期間のすべてが、第2データに対応する時間区分であってもよい。
【0087】
なお、通信システム1000が第2装置120の他にTSN非対応装置を有する例について説明したが、これには限定されない。例えば、
図22に示される例では、指示区分であるタイムスロットT3より後の、タイムスロットT4,T1にて第2データの送信が停止している。
【0088】
ここで、タイムスロットT1は、上記実施の形態と同様の時刻同期プロトコルのための時間区分である。タイムスロットT4は、IP通信に対応するため、時間区分と通信種別との対応関係に基づくバッファリング処理は生じないが、第2装置120からのデータ送信が好ましくない時間区分である。このような時間区分の例としては、TSN対応装置同士のIP通信が第2装置120からの第2データよりも優先されるケースがある。
【0089】
以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
【0090】
例えば、上記実施の形態では、中継モジュール532と通信モジュール534とを別個の構成として説明したが、これには限定されず、通信モジュール534が中継モジュール532の機能を有してもよい。
【0091】
また、通信装置100の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【0092】
例えば、プロセッサ31によって実行されるプログラムP1を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD−ROM(Compact Disc Read−Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto−Optical Disc)が考えられる。
【0093】
また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
【0094】
また、通信ネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
【0095】
さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【0096】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【0097】
また、通信装置100の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【0098】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
通信装置(100)は、第1データの送信及び受信の少なくとも一方を、第1装置(110)と共有する共有時刻により規定される複数の時間区分のうちの、第1データの種別に対応する時間区分である第1データ区分において実行することで、第1装置(110)と通信する通信モジュール(534)と、第2装置(120)から時間区分に関わらず送信される第2データを受信する受信モジュール(531)と、第2データの宛先が第1装置を含む場合に、第2データの種別に対応する時間区分である第2データ対応区分において第2データの伝送を中継する中継モジュール(532)と、第2データの送信が停止される時間の長さを指定して第2データの送信の停止を指示する指示データを、指示データを送信するための時間区分である指示区分において第2装置に送信する送信モジュール(533)と、を備える。