(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-12
(45)【発行日】2023-12-20
(54)【発明の名称】制御システム及び制御方法
(51)【国際特許分類】
H04L 47/36 20220101AFI20231213BHJP
【FI】
H04L47/36
(21)【出願番号】P 2022509825
(86)(22)【出願日】2020-03-24
(86)【国際出願番号】 JP2020012991
(87)【国際公開番号】W WO2021192027
(87)【国際公開日】2021-09-30
【審査請求日】2022-06-24
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】小屋迫 優士
(72)【発明者】
【氏名】山田 崇史
【審査官】鈴木 香苗
(56)【参考文献】
【文献】特開2019-140603(JP,A)
【文献】特開2016-225929(JP,A)
【文献】特開2009-290744(JP,A)
【文献】国際公開第2018/147285(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 47/36
(57)【特許請求の範囲】
【請求項1】
制御対象装置を制御する制御装置と、前記制御対象装置と前記制御装置との間の通信処理を実行する1以上の通信装置とを備える制御システムであって、
前記通信装置は、
予め定められた周期当たりの前記制御対象装置の制御に用いられるデータが複数の前記周期に分割されているか否かを判定する分割判定部と、
前記周期当たりの制御に用いられるデータが分割されていると判定された場合、前記周期当たりの制御に必要なデータがパケットに収まるように前記パケットのサイズを大きくする、又は、前記周期当たりの制御に必要なデータがバーストフレームに収まるように前記バーストフレームの長さを長くする制御部とを備える、
制御システム。
【請求項2】
前記通信処理の遅延時間を示す遅延情報を1以上の他の通信装置から取得する遅延情報取得部と、
前記遅延情報が示す遅延時間が予め定められた第1閾値を超えているか否かを判定する遅延判定部とを備え、
前記制御部は、前記遅延時間が前記第1閾値を超えていると判定された場合、前記パケットのサイズを大きくし、又は、前記バーストフレームの長さを長くする、
請求項1に記載の制御システム。
【請求項3】
前記制御部は、前記パケットのサイズに対して予め定められた第2閾値を超えるジッタが一定の確率以上で前記遅延時間に発生する場合に前記パケットのサイズを大きくし、又は、前記バーストフレームのサイズに対して予め定められた第3閾値を超えるジッタが一定の確率以上で前記遅延時間に発生する場合に前記バーストフレームの長さを長くする、
請求項2に記載の制御システム。
【請求項4】
前記制御部は、前記パケットのサイズを定期的に小さくした場合に前記遅延時間と前記遅延時間のジッタとのうちの少なくとも一方が増加するか否かを判定し、増加すると判定された場合には前記パケットのサイズを元のサイズに戻し、又は、前記バーストフレームの長さを定期的に短くした場合に前記遅延時間と前記遅延時間のジッタとのうちの少なくとも一方が増加するか否かを判定し、増加すると判定された場合には前記バーストフレームの長さを元の長さに戻す、
請求項
2又は請求項
3に記載の制御システム。
【請求項5】
制御対象装置を制御する制御装置と、前記制御対象装置と前記制御装置との間の通信処理を実行する1以上の通信装置とを備える制御システムが実行する制御方法であって、
前記通信装置が、予め定められた周期当たりの前記制御対象装置の制御に用いられるデータが複数の前記周期に分割されているか否かを判定する分割判定ステップと、
前記通信装置が、前記周期当たりの制御に用いられるデータが分割されていると判定された場合、前記周期当たりの制御に必要なデータがパケットに収まるように前記パケットのサイズを大きくする、又は、前記周期当たりの制御に必要なデータがバーストフレームに収まるように前記バーストフレームの長さを長くする制御ステップと
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システム及び制御方法に関する。
【背景技術】
【0002】
通信ネットワークにおける通信処理の遅延時間は、モノのインターネット(Internet of Things:IoT)の端末(以下「IoT端末」という。)に対するリアルタイム制御の性能に悪影響を与えることがある。例えば、通信処理の遅延時間の増加に応じて、制御系が安定するまでの時間(以下「整定時間」という。)が増加し、リアルタイム制御の性能が低下することがある。また例えば、通信処理の遅延時間の増加に応じて、通信ネットワークにおける制御系の整定時間が増加し、IoT端末の制御が不能になることがある。
【0003】
一般に、制御の対象と定められた装置(以下「制御対象装置」という。)と制御対象装置を制御する制御装置との間の距離が長いほど、通信処理の遅延時間は長くなる。また、制御対象装置と制御装置との間の通信において経由される通信装置の台数が多いほど、通信処理の遅延時間は長くなる。
【0004】
また近年、エッジコンピューティングに関する技術が提案されている。エッジコンピューティングでは、制御対象装置の近傍に設置された制御装置が制御対象装置を制御することによって、通信処理の遅延時間が短くなる。
【0005】
しかしながら、遅延時間の長さだけでなく遅延時間のジッタ(揺らぎ)も、制御対象装置のリアルタイム制御の性能に悪影響を与える。例えば、通信ネットワークにおける、通信帯域と通信装置の台数と通信プロトコルとの変化に応じて、局舎側の通信装置における通信処理の遅延時間が変化する。これによって、制御対象装置と制御対象装置との間における通信処理の遅延時間のジッタが生じる。このため、制御対象装置のリアルタイム制御では、遅延時間のジッタを低減することが必要になる。
【0006】
また特許文献1には、遅延時間が短くなるようにバッファサイズを設定することを目的としたネットワーク管理装置が開示されている。さらに特許文献2には、遅延時間と帯域利用効率とを両立させるように動的帯域割当(Dynamic Bandwidth Allocation : DBA)の周期時間を設定することを目的とした帯域割当装置が開示されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2014-138307号公報
【文献】特開2016-111582号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、従来の制御システムでは、通信ネットワークにおける通信処理の遅延時間と遅延時間のジッタとを低減することができない場合がある。例えば、特許文献1に係るネットワーク管理装置は、光アクセスネットワークを対象としていないので、光アクセスネットワークにおける通信処理の遅延時間と遅延時間のジッタとを低減することができない。また例えば、特許文献2に係る帯域割当装置は、IoT端末のリアルタイム制御を対象としておらず、また通信ネットワークの状況の変化によるジッタを考慮していないので、通信ネットワークにおける通信処理の遅延時間のジッタを低減することができない。
【0009】
上記事情に鑑み、本発明は、通信ネットワークにおける通信処理の遅延時間と遅延時間のジッタとのうちの少なくとも一方を低減することが可能である制御システム及び制御方法を提供することを目的としている。
【課題を解決するための手段】
【0010】
本発明の一態様は、制御対象装置を制御する制御装置と、前記制御対象装置と前記制御装置との間の通信処理を実行する1以上の通信装置とを備える制御システムであって、前記通信装置は、予め定められた周期当たりの前記制御対象装置の制御に用いられるデータが複数の前記周期に分割されているか否かを判定する分割判定部と、前記周期当たりの制御に用いられるデータが分割されていると判定された場合、前記周期当たりの制御に必要なデータがパケットに収まるように前記パケットのサイズを大きくする、又は、前記周期当たりの制御に必要なデータがバーストフレームに収まるように前記バーストフレームの長さを長くする制御部とを備える、制御システムである。
【0011】
本発明の一態様は、上記の制御対象装置を制御する制御装置と、前記制御対象装置と前記制御装置との間の通信処理を実行する1以上の通信装置とを備える制御システムが実行する制御方法であって、前記通信装置が、予め定められた周期当たりの前記制御対象装置の制御に用いられるデータが複数の前記周期に分割されているか否かを判定する分割判定ステップと、前記通信装置が、前記周期当たりの制御に用いられるデータが分割されていると判定された場合、前記周期当たりの制御に必要なデータがパケットに収まるように前記パケットのサイズを大きくする、又は、前記周期当たりの制御に必要なデータがバーストフレームに収まるように前記バーストフレームの長さを長くする制御ステップとを含む制御方法である。
【発明の効果】
【0012】
本発明により、通信ネットワークにおける通信処理の遅延時間と遅延時間のジッタとのうちの少なくとも一方を低減することが可能である。
【図面の簡単な説明】
【0013】
【
図1】第1実施形態における、制御システムの構成例を示す図である。
【
図2】第1実施形態における、第1通信装置の構成例を示す図である。
【
図3】第1実施形態における、パケットのサイズと整定時間との関係例を示す図である。
【
図4】第1実施形態における、データのサイズとパケットのサイズとの関係例を示す図である。
【
図5】第1実施形態における、制御システムの動作例を示すフローチャートである。
【
図6】第2実施形態における、制御システムの構成例を示す図である。
【
図7】第2実施形態における、第2通信装置の構成例を示す図である。
【
図8】第2実施形態における、バーストフレームのサイズと整定時間との関係例を示す図である。
【
図9】第2実施形態における、データのサイズとバーストフレームのサイズとの関係例を示す図である。
【
図10】第2実施形態における、制御システムの動作例を示すフローチャートである。
【
図11】第3実施形態における、制御システムの構成例を示す図である。
【発明を実施するための形態】
【0014】
本発明の実施形態について、図面を参照して詳細に説明する。
(第1実施形態)
図1は、第1実施形態における、制御システム1aの構成例を示す図である。制御システム1aは、IoT端末等の制御対象装置のリアルタイム制御を実行するシステムである。制御システム1aは、制御対象装置のモーション制御をリアルタイムで実行する。
【0015】
制御システム1aは、1台以上の制御装置2と、1台以上の第1通信装置3と、1台以上の制御対象装置4とを備える。第1実施形態では、制御装置2と1台以上の第1通信装置3と制御対象装置4とは、一例として、シングルスター(Single Star : SS)ネットワークを構成する。
【0016】
以下、制御装置2から制御対象装置4に向かう方向を「下り」という。制御対象装置4から制御装置2に向かう方向を「上り」という。以下、制御に用いられる上りデータと制御に用いられる下りデータとをまとめて「制御に用いられるデータ」という。
【0017】
制御装置2は、制御対象装置4を制御する装置である。制御装置2は、制御対象装置4の制御に用いられる上りデータとして制御対象装置4から上り送信された所定データを、第1通信装置3から取得する。この所定データとは、例えば、制御対象装置4によって生成されたセンサデータでもよいし、制御対象装置4によって生成された画像データでもよい。この画像データは、静止画データでもよいし、所定のフレームレートの動画データでもよい。
【0018】
制御装置2は、制御対象装置4を制御するため、制御対象装置4の制御に用いられる上りデータとしての所定データに基づいて命令データを生成する。命令データは、例えば、命令の種類を表すコード番号を含む。命令データは、制御対象装置4の制御に用いられる設定値等の制御データを含んでもよい。設定値は、例えば、IoT端末の動作量を表す値でもよいし、通信用の帯域の割り当てを表す値でもよい。制御装置2は、制御対象装置4の制御に用いられる下りデータとしての命令データを、配下の第1通信装置3に送信する。すなわち、制御装置2は、制御装置2に対して下りに配置された第1通信装置3(配下の第1通信装置3)を命令データが経由するように、命令データを制御対象装置4に向けて下り送信する。
【0019】
第1通信装置3は、スイッチである。第1通信装置3-0は、命令データを制御装置2から取得する。第1通信装置3-0は、命令データを第1通信装置3-1に下り送信する。第1通信装置3-1は、命令データを第1通信装置3-0から取得する。第1通信装置3-1は、第1通信装置3-1よりも下りに配置された第1通信装置3を命令データが経由するように、命令データを制御対象装置4に向けて下り送信する。なお、最も下りに配置された第1通信装置3(終端ノード)の配下の制御対象装置4の台数は、複数でもよい。
【0020】
最も下りに配置された第1通信装置3は、制御対象装置4の制御に用いられる上りデータとして上り送信された所定データを、制御対象装置4から取得する。第1通信装置3-(n+1)(nは0以上の整数)は、制御対象装置4から上り送信された所定データを、第1通信装置3-(n+2)から取得する。第1通信装置3-(n+1)は、制御対象装置4から上り送信された所定データを、第1通信装置3-nに送信する。第1通信装置3-0は、制御対象装置4から上り送信された所定データを、制御装置2に送信する。
【0021】
制御対象装置4は、制御の対象と定められた装置である。制御対象装置4は、例えば、IoT端末又は産業用ロボットである。制御対象装置4は、下り送信された命令データを、最も下りに配置された第1通信装置3から取得する。制御対象装置4は、命令データに応じて所定データを生成する。例えば、制御対象装置4は、制御対象装置4の制御に用いられる上りデータとして、センサデータを生成する。例えば、制御対象装置4は、制御対象装置4の制御に用いられる上りデータとして、所定のフレームレートの動画データを生成してもよい。
【0022】
制御対象装置4は、制御対象装置4の制御に用いられる上りデータを、最も下りに配置された第1通信装置3に送信する。すなわち、制御対象装置4は、センサデータ及び動画データ等の所定データを、制御対象装置4の制御に用いられる上りデータとして、制御装置2に向けて上り送信する。
【0023】
次に、第1通信装置3の詳細を説明する。
図2は、第1実施形態における、第1通信装置3の構成例を示す図である。第1通信装置3は、第1通信部30(転送インタフェース)と、第1記憶部31と、転送部32と、第2記憶部33(バッファ)と、第2通信部34(転送インタフェース)と、分割判定部35と、遅延情報取得部36と、遅延判定部37と、制御部38とを備える。
【0024】
第1通信部30-0の第1通信部30は、下り送信された命令データを含むパケットを、制御装置2から取得する。第1通信装置3-(n+1)の第1通信部30は、下り送信された命令データを含むパケットを、第1通信装置3-nから取得する。第1通信部30は、下り送信された命令データを含むパケットを、第1記憶部31に記録する。
【0025】
第1通信部30は、上り送信された所定データを含むパケットを、第1記憶部31から取得する。第1通信装置3-(n+1)の第1通信部30は、上り送信された所定データを含むパケットを、第1通信装置3-nに送信する。第1通信部30-0の第1通信部30は、上り送信された所定データを含むパケットを、制御装置2に送信する。
【0026】
第1記憶部31は、第1通信部30から下り送信された命令データを含むパケットを記憶する。第1記憶部31は、転送部32から上り送信された所定データを含むパケットを記憶する。
【0027】
転送部32は、制御部38によって定められたパケットのサイズの情報を、制御部38から取得する。転送部32は、制御部38によって定められたサイズのパケットを生成する。
【0028】
転送部32は、下り送信された命令データを含むパケットを、第1記憶部31から取得する。転送部32は、下り送信された命令データを、生成されたパケットに含める。転送部32は、下り送信された命令データを含む生成されたパケットを、第2記憶部33に記録する。
【0029】
転送部32は、上り送信された所定データを含むパケットを、第2記憶部33から取得する。転送部32は、上り送信された所定データを、生成されたパケットに含める。転送部32は、上り送信された所定データを含む生成されたパケットを、第1記憶部31に記録する。
【0030】
第2記憶部33は、転送部32から下り送信された命令データを含むパケットを記憶する。第2記憶部33は、第2通信部34から上り送信された所定データを含むパケットを記憶する。
【0031】
第2通信部34は、下り送信された命令データを含むパケットを、第2記憶部33から取得する。第1通信装置3-nの第2通信部34は、下り送信された命令データを含むパケットを、第1通信装置3-(n+1)に送信する。
【0032】
第1通信装置3-nの第2通信部34は、上り送信された所定データを含むパケットを、第1通信装置3-(n+1)から取得する。第2通信部34は、上り送信された所定データを含むパケットを、第2記憶部33に記録する。第2通信部34は、上り送信された所定データを含むパケットを、遅延情報取得部36に送信する。
【0033】
分割判定部35は、下り送信された命令データを含むパケットを、第2記憶部33から取得する。分割判定部35は、予め定められた周期(例えば、パケットの送信周期)当たりの制御対象装置4の制御に用いられる命令データが複数の周期に分割されているか否かを判定する。分割判定部35は、命令データが複数の周期に分割されているか否かを表す判定結果を、制御部38に送信する。
【0034】
分割判定部35は、上り送信された所定データを含むパケットを、第2記憶部33から取得する。分割判定部35は、制御に用いられるデータのサイズがパケットのサイズに収まっているか否かを判定する。すなわち、分割判定部35は、予め定められた周期(例えば、パケットの送信周期)当たりの制御対象装置4の制御に用いられる所定データが複数の周期に分割されているか否かを判定する。分割判定部35は、所定データが複数の周期に分割されているか否かを表す判定結果を、制御部38に送信する。
【0035】
遅延情報取得部36及び遅延判定部37(遅延監視部)は、制御システム1a全体の遅延時間を計測する。制御システム1a全体の遅延時間の計測方法は、特定の方法に限定されない。例えば、遅延情報取得部36及び遅延判定部37は、参考文献(特開2020-21410号公報)に開示された制御方法を用いて、制御システム1a全体における通信処理の遅延時間を計測する。
【0036】
例えば、第1通信装置3-nの遅延情報取得部36は、第1通信装置3-nよりも下りに配置された1台以上の第1通信装置3(配下の第1通信装置3)の通信処理における処理時間の合計に基づいて、制御システム1a全体における通信処理の遅延時間を計測する。遅延情報取得部36は、通信処理の遅延時間を示す遅延情報を、第1通信装置3-nよりも下りに配置された1台以上の第1通信装置3から取得する。ここで、遅延情報取得部36は、上り送信された所定データを含むパケットを、第2通信部34から取得する。遅延情報取得部36は、上り送信された所定データのパケットのヘッダに含まれている時刻情報と、上り送信された所定データのパケットの受信時刻とに基づいて、通信処理における処理時間を逐次的に計測する。遅延情報取得部36は、通信処理における処理時間を、下りに配置された第1通信装置3について合計する。遅延判定部37は、通信処理の遅延時間の合計を示す遅延情報を、遅延情報取得部36から取得する。遅延判定部37は、遅延情報が示す遅延時間の合計が第1閾値を超えているか否かを判定する。第1閾値は、予め定められる。遅延判定部37は、遅延情報が示す遅延時間の合計が第1閾値を超えているか否かを表す判定結果を、制御部38に送信する。
【0037】
例えば、遅延情報取得部36は、最も下りに配置された第1通信装置3に対して送信された信号のラウンドトリップタイム(Round Trip Time : RTT)に基づいて、制御システム1a全体における通信処理の遅延時間を逐次的に計測してもよい。遅延情報取得部36は、上り送信された所定データのパケットのヘッダに含まれている時刻情報と、上り送信された所定データのパケットの受信時刻とに基づいて、ラウンドトリップタイムを逐次的に計測する。遅延判定部37は、ラウンドトリップタイムを、通信処理の遅延時間を示す遅延情報として遅延情報取得部36から取得する。遅延判定部37は、遅延情報が示す遅延時間(ラウンドトリップタイム)が第1閾値を超えているか否かを判定する。遅延判定部37は、遅延情報が示す遅延時間が第1閾値を超えているか否かを表す判定結果を、制御部38に送信する。
【0038】
制御部38は、所定データが複数の周期に分割されているか否かを表す判定結果を、分割判定部35から取得する。制御部38は、所定データが複数の周期に分割されていると判定された場合、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減するように、パケットのサイズを大きくする。制御部38は、パケットのサイズの情報を転送部32に送信する。
【0039】
制御部38は、遅延判定部37から、遅延情報が示す遅延時間が第1閾値を超えているか否かを表す判定結果を取得してもよい。制御部38は、遅延時間が第1閾値を超えていると判定された場合、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減するように、パケットのサイズを大きくする。制御部38は、パケットのサイズの情報を転送部32に送信する。
【0040】
図3は、第1実施形態における、パケットのサイズと整定時間との関係例を示す図である。横軸は、パケットのサイズ(ネットワークパラメータ)を示す。縦軸は、通信ネットワークにおける制御系の整定時間を示す。IoT端末のリアルタイム制御では、通信処理の遅延時間の増加は、通信ネットワークにおける制御系の整定時間の増加につながる。このため、縦軸は、遅延時間を示してもよい。
【0041】
上り送信された所定データのサイズが閾値未満(データのサイズ小)である場合、所定データを含むパケットのサイズが小さいほど、通信ネットワークの全体における整定時間(遅延時間)が短い。
【0042】
下り送信された命令データのサイズが閾値未満(データのサイズ小)である場合、命令データを含むパケットのサイズが小さいほど、通信ネットワークの全体における整定時間(遅延時間)が短い。
【0043】
上り送信された所定データのサイズが閾値以上(データのサイズ大)である場合、所定データを含むパケットのサイズが所定サイズ以下である(パケットのサイズが小さすぎる)場合には、通信ネットワークの全体における整定時間(遅延時間)は長くなる。これは、複数のパケットに所定データが分割されることによって、上り送信された所定データの全て受信するまでの時間(遅延時間)が増加するからである。
【0044】
下り送信された命令データのサイズが閾値以上(データのサイズ大)である場合、命令データを含むパケットのサイズが所定サイズ以下である(パケットのサイズが小さすぎる)場合には、通信ネットワークの全体における整定時間(遅延時間)は長くなる。これは、複数のパケットに命令データが分割されることによって、下り送信された命令データを全て受信するまでの時間(遅延時間)が増加するからである。
【0045】
図4は、第1実施形態における、データのサイズとパケットのサイズとの関係例を示す図である。横軸は、時間を示す。
図4の上から1段目に示されているように、1周期(例えば、パケットの送信周期)当たりの制御に用いられるデータのサイズがパケットのサイズよりも大きい場合、1周期当たりの制御に必要なデータが、複数のパケットに分割される。1周期当たりの制御に必要なデータが1個のパケットの受信では取得できないので、制御に必要なデータを全て受信するまでの時間(遅延時間)は増加する。
【0046】
制御部38は、遅延時間が第1閾値を超えていると判定された場合、
図4の上から2段目に示されているように、データのサイズ以上にパケットのサイズを大きくする。制御部38は、パケットのサイズの情報を転送部32に送信する。これによって、1周期当たりの制御に必要なデータを1個のパケットの受信で取得できるようになるので、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減する。
【0047】
制御部38は、予め定められたサイズだけ、パケットのサイズを定期的に小さくしてもよい。制御部38は、パケットのサイズを定期的に小さくした場合に遅延時間と遅延時間のジッタとのうちの少なくとも一方が増加するか否かを判定する。制御部38は、遅延時間と遅延時間のジッタとのうちの少なくとも一方が増加すると判定された場合には、パケットのサイズを元のサイズに戻す。
【0048】
制御部38は、遅延時間が第1閾値を超えていると判定された場合、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減するように、
図4の上から3段目に示されているようにパケットの適切なサイズ(データのサイズ)を例えば勾配法を用いて導出する。制御部38は、パケットの適切なサイズの情報を転送部32に送信する。これによって、通信ネットワークの状況の変化に動的に対応することが可能である。
【0049】
制御部38は、1周期当たりの制御に用いられるデータのサイズにジッタが生じている場合、
図4の上から4段目に示されているようにパケットのサイズを大きくして、パケットのサイズにマージンを付与してもよい。予め定められた閾値「ρ」を超えるジッタが一定の確率「α」以上で生じる場合、制御部38は、パケットのサイズの長さ「l」を長くすることによって、パケットのサイズの長さにマージンを付与する。これによって、1周期当たりの制御に用いられるデータのサイズにジッタが生じている場合でも遅延時間を低減することが可能である。
【0050】
次に、制御システム1aの動作例を説明する。
図5は、第1実施形態における、制御システム1aの動作例を示すフローチャートである。分割判定部35は、予め定められた周期当たりの制御対象装置4の制御に用いられるデータが複数の周期に分割されているか否かを判定する(ステップS101)。予め定められた周期とは、例えば、パケットの送信周期である。
【0051】
複数の周期に分割されていないと判定された場合(ステップS101:NO)、分割判定部35は、パケットの送信周期よりも短い所定時間の経過後に、ステップS101の動作を再実行する。複数の周期に分割されていると判定された場合(ステップS101:YES)、制御部38は、周期当たりの制御に必要なデータがパケットに収まるようにパケットのサイズを大きくする(ステップS102)。制御部38は、ステップS101に処理を戻す。
【0052】
以上のように、分割判定部35は、予め定められた周期(例えば、パケットの送信周期)当たりの制御対象装置4の制御に用いられるデータ(命令データと所定データとのうちの少なくとも一方)が複数の周期に分割されているか否かを判定する。制御部38は、周期当たりの制御に用いられるデータが分割されていると判定された場合、周期当たりの制御に必要なデータがパケットに収まるように、パケットのサイズを大きくする。
【0053】
このように、制御部38は、周期当たりの制御に必要なデータがパケットに収まるように、パケットのサイズを変更する。これによって、周期当たりの制御に必要なデータを一度で受信できるようになるので、シングルスターネットワーク等の通信ネットワークにおける通信処理の遅延時間と遅延時間のジッタとのうちの少なくとも一方を低減することが可能である。また、IoT端末の制御が不能とならないように、IoT端末の制御の精度を向上させることが可能である。
【0054】
(第2実施形態)
第2実施形態では、第2通信装置と第3通信装置とを制御システムが備える点が、第1実施形態と主に相違する。第2実施形態では、第1実施形態との相違点を主に説明する。
【0055】
図6は、第2実施形態における、制御システム1bの構成例を示す図である。制御システム1bは、IoT端末等の制御対象装置のリアルタイム制御を実行するシステムである。制御システム1bは、制御対象装置のモーション制御をリアルタイムで実行する。
【0056】
制御システム1bは、1台以上の制御装置2と、第2通信装置5と、1台以上の第3通信装置6と、1台以上の制御対象装置4とを備える。第2実施形態では、制御装置2と第2通信装置5と1台以上の第3通信装置6と1台以上の制御対象装置4とは、PON(Passive Optical Network)等の光アクセスネットワークを構成する。
【0057】
制御装置2は、制御対象装置4を制御する装置である。制御装置2は、制御対象装置4の制御に用いられる上りデータとして制御対象装置4から上り送信された所定データを、第2通信装置5から取得する。
【0058】
制御装置2は、制御対象装置4の制御に用いられる下りデータとしての命令データを、配下の第2通信装置5に送信する。すなわち、制御装置2は、制御装置2に対して下りに配置された第2通信装置5及び第3通信装置6を命令データが経由するように、命令データを制御対象装置4に向けて下り送信する。
【0059】
第2通信装置5は、光加入者線終端装置(Optical Line Terminal : OLT)である。第2通信装置5は、例えば局舎に設置される。第2通信装置5は、命令データを制御装置2から取得する。第2通信装置5は、命令データを第3通信装置6に下り送信する。すなわち、第2通信装置5は、第2通信装置5よりも下りに配置された第3通信装置6及び光ファイバを命令データが経由するように、命令データを制御対象装置4に向けて下り送信する。
【0060】
第2通信装置5は、制御対象装置4の制御に用いられる上りデータとして上り送信された所定データを、第2通信装置5に対して下りに配置された各第3通信装置6(配下の各第3通信装置6)から取得する。第2通信装置5は、制御対象装置4から上り送信された所定データを、制御装置2に送信する。
【0061】
第3通信装置6は、光回線終端装置(Optical Network Unit : ONU)である。各第3通信装置6は、例えば各加入者宅(顧客宅)内に設置される。第3通信装置6は、配下の制御対象装置4が宛先となっている命令データを、第2通信装置5から取得する。第3通信装置6-n(n≧1)は、命令データを制御対象装置4-n(n≧1)に下り送信する。すなわち、第3通信装置6は、第3通信装置6よりも下りに配置された制御対象装置4(配下の制御対象装置4)に、命令データを下り送信する。なお、第3通信装置6の配下の制御対象装置4の台数は、第3通信装置6ごとに複数でもよい。
【0062】
第3通信装置6は、制御対象装置4の制御に用いられる上りデータとして上り送信された所定データを、第3通信装置6に対して下りに配置された制御対象装置4から取得する。第3通信装置6は、制御対象装置4から上り送信された所定データを、第2通信装置5に送信する。
【0063】
制御対象装置4は、制御の対象と定められた装置である。制御対象装置4-m(mは、1以上の整数)は、下り送信された命令データを、第3通信装置6-mから取得する。制御対象装置4は、命令データに応じて所定データを生成する。
【0064】
制御対象装置4-mは、制御対象装置4-mの制御に用いられる上りデータを、第3通信装置6-mに送信する。すなわち、制御対象装置4は、センサデータ及び動画データ等の所定データを、制御対象装置4の制御に用いられる上りデータとして、制御装置2に向けて上り送信する。
【0065】
次に、第2通信装置5の詳細を説明する。
図7は、第2実施形態における、第2通信装置5の構成例を示す図である。第1通信装置3は、第3通信部50(光通信部)と、信号処理部51と、第3記憶部52と、転送部53と、第4記憶部54(バッファ)と、第4通信部55(光通信部)と、分割判定部56と、遅延情報取得部57と、遅延判定部58と、制御部59とを備える。
【0066】
第3通信部50は、下り送信された命令データを含むバーストフレーム(連続するフレーム)を、制御装置2から取得する。第3通信部50は、下り送信された命令データを含むバーストフレームを、信号処理部51に送信する。
【0067】
第3通信部50は、上り送信された所定データを含むバーストフレームを、信号処理部51から取得する。第3通信部50は、上り送信された所定データを含むバーストフレームを、制御装置2に送信する。
【0068】
信号処理部51は、予め定められた信号処理を実行する。予め定められた信号処理とは、例えば、第3通信装置6ごとの動的帯域割当(DBA)の処理である。信号処理部51は、予め定められた信号処理の実行結果を、命令データに含める。信号処理部51は、下り送信された命令データを含むバーストフレームを、第3通信部50から取得する。信号処理部51は、下り送信された命令データを含むバーストフレームを、第3記憶部52に記録する。
【0069】
信号処理部51は、上り送信された所定データを含むバーストフレームを、第3記憶部52から取得する。信号処理部51は、上り送信された所定データを含むバーストフレームを、第3通信部50に送信する。
【0070】
第3記憶部52は、信号処理部51から下り送信された命令データを含むバーストフレームを記憶する。第3記憶部52は、転送部53から上り送信された所定データを含むバーストフレームを記憶する。
【0071】
転送部53は、制御部59によって定められたバーストフレームの長さの情報を、制御部59から取得する。転送部53は、制御部59によって定められた長さのバーストフレームを生成する。
【0072】
転送部53は、上り送信された所定データを含むバーストフレームを、第4記憶部54から取得する。転送部53は、上り送信された所定データを、生成されたバーストフレームに含める。転送部53は、上り送信された所定データを含む生成されたバーストフレームを、第3記憶部52に記録する。
【0073】
第4記憶部54は、転送部53から下り送信された命令データを含むバーストフレームを記憶する。第4記憶部54は、第4通信部55から上り送信された所定データを含むバーストフレームを記憶する。
【0074】
第4通信部55は、下り送信された命令データを含むバーストフレームを、第4記憶部54から取得する。第4通信部55は、下り送信された命令データを含むバーストフレームを、各第3通信装置6に送信する。命令データを含むバーストフレームのヘッダには、命令データの宛先となる制御対象装置4の識別情報が記載されている。
【0075】
第4通信部55は、上り送信された所定データを含むバーストフレームを、第3通信装置6から取得する。第4通信部55は、上り送信された所定データを含むバーストフレームを、第4記憶部54に記録する。第4通信部55は、上り送信された所定データを含むバーストフレームを、遅延情報取得部57に送信する。
【0076】
分割判定部56は、下り送信された命令データを含むバーストフレームを、第4通信部55から取得する。分割判定部56は、予め定められた周期(例えば、バーストフレームの送信周期)当たりの制御対象装置4の制御に用いられる命令データが複数の周期に分割されているか否かを判定する。分割判定部56は、命令データが複数の周期に分割されているか否かを表す判定結果を、制御部59に送信する。
【0077】
分割判定部56は、上り送信された所定データを含むバーストフレームを、第4通信部55から取得する。分割判定部35は、制御に用いられるデータのサイズがバーストフレームの長さに収まっているか否かを判定する。すなわち、分割判定部35は、予め定められた周期(例えば、バーストフレームの送信周期)当たりの制御対象装置4の制御に用いられる所定データが複数の周期に分割されているか否かを判定する。分割判定部56は、所定データが複数の周期に分割されているか否かを表す判定結果を、制御部59に送信する。
【0078】
遅延情報取得部57及び遅延判定部58(遅延監視部)は、制御システム1b全体の遅延時間を計測する。制御システム1b全体の遅延時間の計測方法は、特定の方法に限定されない。例えば、遅延情報取得部57及び遅延判定部58は、参考文献(特開2020-21410号公報)に開示された制御方法を用いて、制御システム1b全体における通信処理の遅延時間を計測する。
【0079】
例えば、遅延情報取得部57は、配下の第3通信装置6の通信処理における処理時間に基づいて、制御システム1b全体における通信処理の遅延時間を計測する。遅延情報取得部57は、通信処理の遅延時間を示す遅延情報を、第3通信装置6から取得する。ここで、遅延情報取得部57は、上り送信された所定データを含むバーストフレームを、第4通信部55から取得する。遅延情報取得部57は、上り送信された所定データのバーストフレームのヘッダに含まれている時刻情報と、上り送信された所定データのバーストフレームの受信時刻とに基づいて、通信処理における処理時間を逐次的に計測する。遅延判定部58は、通信処理の遅延時間を示す遅延情報を、遅延情報取得部57から取得する。遅延判定部58は、遅延情報が示す遅延時間が第1閾値を超えているか否かを判定する。遅延判定部58は、遅延情報が示す遅延時間が第1閾値を超えているか否かを表す判定結果を、制御部59に送信する。
【0080】
例えば、遅延情報取得部57は、配下の第3通信装置6に対して送信された光信号のラウンドトリップタイムに基づいて、制御システム1b全体における通信処理の遅延時間を逐次的に計測してもよい。遅延情報取得部57は、上り送信された所定データのバーストフレームのヘッダに含まれている時刻情報と、上り送信された所定データのバーストフレームの受信時刻とに基づいて、ラウンドトリップタイムを逐次的に計測する。遅延判定部58は、ラウンドトリップタイムを、通信処理の遅延時間を示す遅延情報として遅延情報取得部57から取得する。遅延判定部58は、遅延情報が示す遅延時間(ラウンドトリップタイム)が第1閾値を超えているか否かを判定する。遅延判定部58は、遅延情報が示す遅延時間が第1閾値を超えているか否かを表す判定結果を、制御部59に送信する。
【0081】
制御部59は、所定データが複数の周期に分割されているか否かを表す判定結果を、分割判定部56から取得する。制御部59は、所定データが複数の周期に分割されていると判定された場合、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減するように、バーストフレームの長さを長くする。制御部59は、バーストフレームの長さの情報を転送部53に送信する。
【0082】
制御部59は、遅延判定部58から、遅延情報が示す遅延時間が第1閾値を超えているか否かを表す判定結果を取得してもよい。制御部59は、遅延時間が第1閾値を超えていると判定された場合、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減するように、バーストフレームの長さを長くする。制御部38は、バーストフレームの長さの情報を転送部53に送信する。
【0083】
図8は、第2実施形態における、バーストフレームのサイズと整定時間との関係例を示す図である。横軸は、バーストフレームのサイズ(ネットワークパラメータ)を示す。縦軸は、通信ネットワークにおける制御系の整定時間を示す。縦軸は、遅延時間を示してもよい。
【0084】
上り送信された所定データのサイズが閾値以上(データのサイズ大)である場合、所定データを含むバーストフレームのサイズが所定サイズ以下である(バーストフレームの長さが短すぎる)場合には、通信ネットワークの全体における通信処理の遅延時間は大きくなる。これは、複数のバーストフレームに所定データが分割されることによって、上り送信された所定データの受信に時間がかかるためである。
【0085】
下り送信された命令データのサイズが閾値以上(データのサイズ大)である場合、命令データを含むバーストフレームのサイズが所定サイズ以下である(バーストフレームの長さが短すぎる)場合には、通信ネットワークの全体における通信処理の遅延時間は大きくなる。これは、複数のバーストフレームに命令データが分割されることによって、下り送信された命令データの受信に時間がかかるためである。
【0086】
図9は、第2実施形態における、データのサイズとバーストフレームのサイズとの関係例を示す図である。横軸は、時間を示す。
図9の上から1段目に示されているように、1周期(例えば、バーストフレームの送信周期)当たりの制御に用いられるデータのサイズ(長さ)がバーストフレームの長さよりも長い場合、1周期当たりの制御に必要なデータが、複数のバーストフレームに分割される。1周期当たりの制御に必要なデータが1個のバーストフレームの受信では取得できないので、制御に必要なデータを全て受信するまでの時間(遅延時間)は増加する。
【0087】
制御部59は、遅延時間が第1閾値を超えていると判定された場合、
図9の上から2段目に示されているように、データのサイズ以上にバーストフレームの長さを長くする。制御部59は、バーストフレームの長さの情報を転送部53に送信する。これによって、1周期当たりの制御に必要なデータを1個のバーストフレームの受信で取得できるようになるので、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減する。
【0088】
制御部59は、予め定められた長さだけ、バーストフレームの長さを定期的に短くしてもよい。制御部59は、バーストフレームの長さを定期的に短くした場合に遅延時間と遅延時間のジッタとのうちの少なくとも一方が増加するか否かを判定する。制御部59は、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減すると判定された場合には、バーストフレームの長さを元の長さに戻す。
【0089】
制御部59は、遅延時間が第1閾値を超えていると判定された場合、遅延時間と遅延時間のジッタとのうちの少なくとも一方が低減するように、
図9の上から3段目に示されているようにバーストフレームの適切な長さ(データのサイズ)を例えば勾配法を用いて導出する。制御部59は、バーストフレームの適切な長さの情報を転送部53に送信する。これによって、通信ネットワークの状況の変化に動的に対応することが可能である。
【0090】
制御部59は、1周期当たりの制御に用いられるデータのサイズにジッタが生じている場合、
図9の上から4段目に示されているようにバーストフレームの長さを長くして、バーストフレームの長さにマージンを付与してもよい。予め定められた閾値「ρ」を超えるジッタが一定の確率「α」以上で生じる場合、制御部59は、バーストフレームの長さ「l」を長くすることによって、バーストフレームの長さにマージンを付与する。これによって、1周期当たりの制御に用いられるデータのサイズにジッタが生じている場合でも遅延時間を低減することが可能である。
【0091】
次に、制御システム1bの動作例を説明する。
図10は、第2実施形態における、制御システム1bの動作例を示すフローチャートである。分割判定部56は、予め定められた周期当たりの制御対象装置4の制御に用いられるデータが複数の周期に分割されているか否かを判定する(ステップS201)。予め定められた周期とは、例えば、バーストフレームの送信周期である。
【0092】
複数の周期に分割されていないと判定された場合(ステップS201:NO)、分割判定部56は、バーストフレームの送信周期よりも短い所定時間の経過後に、ステップS201の動作を再実行する。複数の周期に分割されていると判定された場合(ステップS201:YES)、制御部59は、周期当たりの制御に必要なデータがパケットに収まるようにバーストフレームの長さを長くする(ステップS202)。制御部59は、ステップS201に処理を戻す。
【0093】
以上のように、分割判定部35は、予め定められた周期(例えば、バーストフレームの送信周期)当たりの制御対象装置4の制御に用いられるデータ(命令データと所定データとのうちの少なくとも一方)が複数の周期に分割されているか否かを判定する。制御部38は、周期当たりの制御に用いられるデータが分割されていると判定された場合、周期当たりの制御に必要なデータがバーストフレームに収まるように、バーストフレームの長さを長くする。
【0094】
このように、制御部38は、周期当たりの制御に必要なデータがバーストフレームに収まるように、バーストフレームの長さを変更する。これによって、周期当たりの制御に必要なデータを一度で受信できるようになるので、PON等の光アクセスネットワークにおける通信処理の遅延時間と遅延時間のジッタとのうちの少なくとも一方を低減することが可能である。また、IoT端末の制御が不能とならないように、IoT端末の制御の精度を向上させることが可能である。
【0095】
(第3実施形態)
第3実施形態では、第1通信装置と第2通信装置と第3通信装置とを制御システムが備える点が、第1実施形態及び第2実施形態と主に相違する。第3実施形態では、第1実施形態及び第2実施形態との相違点を主に説明する。
【0096】
図11は、第3実施形態における、制御システム1cの構成例を示す図である。制御システム1cは、IoT端末等の制御対象装置のリアルタイム制御を実行するシステムである。制御システム1cは、制御対象装置のモーション制御をリアルタイムで実行する。
【0097】
制御システム1cは、1台以上の制御装置2と、複数の第1通信装置3と、第2通信装置5と、1台以上の第3通信装置6と、1台以上の制御対象装置4とを備える。第3実施形態では、制御装置2と複数の第1通信装置3と第2通信装置5と1台以上の第3通信装置6と1台以上の制御対象装置4とは、PON等の光アクセスネットワークを構成する。
【0098】
制御装置2は、制御対象装置4を制御する装置である。制御装置2は、制御対象装置4の制御に用いられる上りデータとして制御対象装置4から上り送信された所定データを、第1通信装置3-0から取得する。
【0099】
制御装置2は、制御対象装置4の制御に用いられる下りデータとしての命令データを、配下の第1通信装置3-0に送信する。すなわち、制御装置2は、制御装置2に対して下りに配置された第1通信装置3、第2通信装置5及び第3通信装置6を命令データが経由するように、命令データを制御対象装置4に向けて下り送信する。
【0100】
第1通信装置3は、スイッチである。第1通信装置3-0は、命令データを制御装置2から取得する。第1通信装置3-0は、命令データを第2通信装置5に下り送信する。
【0101】
第1通信装置3-0は、制御対象装置4から上り送信された所定データを、第2通信装置5から取得する。第1通信装置3-0は、制御対象装置4から上り送信された所定データを、制御装置2に送信する。
【0102】
第2通信装置5は、光加入者線終端装置である。第2通信装置5は、命令データを第1通信装置3-0から取得する。第2通信装置5は、命令データを第3通信装置6に下り送信する。すなわち、第2通信装置5は、第2通信装置5よりも下りに配置された第1通信装置3、第3通信装置6及び光ファイバを命令データが経由するように、命令データを制御対象装置4に向けて下り送信する。
【0103】
第2通信装置5は、制御対象装置4の制御に用いられる上りデータとして上り送信された所定データを、第2通信装置5に対して下りに配置された各第3通信装置6(配下の各第3通信装置6)から取得する。第2通信装置5は、制御対象装置4から上り送信された所定データを、第1通信装置3-0に送信する。
【0104】
第3通信装置6は、光回線終端装置である。第3通信装置6は、配下の制御対象装置4が宛先となっている命令データを、第2通信装置5から取得する。第3通信装置6-n(n≧1)は、命令データを第1通信装置3-n(n≧1)に下り送信する。すなわち、第3通信装置6は、第3通信装置6よりも下りに配置された制御対象装置4(配下の制御対象装置4)に、命令データを下り送信する。
【0105】
第3通信装置6-n(n≧1)は、制御対象装置4-n(n≧1)の制御に用いられる上りデータとして上り送信された所定データを、第3通信装置6-n(n≧1)に対して下りに配置された第1通信装置3-n(n≧1)から取得する。第3通信装置6は、制御対象装置4から上り送信された所定データを、第2通信装置5に送信する。
【0106】
第1通信装置3-n(n≧1)は、命令データを第3通信装置6-nから取得する。第1通信装置3-n(n≧1)は、命令データを制御対象装置4-nに向けて下り送信する。なお、第1通信装置3-n(n≧1)の配下の制御対象装置4の台数は、第1通信装置3-n(n≧1)ごとに複数でもよい。
【0107】
第1通信装置3-n(n≧1)は、制御対象装置4の制御に用いられる上りデータとして上り送信された所定データを、制御対象装置4-nから取得する。第1通信装置3-n(n≧1)は、制御対象装置4-nから上り送信された所定データを、第3通信装置6-nに送信する。
【0108】
制御対象装置4は、制御の対象と定められた装置である。制御対象装置4-mは、下り送信された命令データを、第1通信装置3-mから取得する。制御対象装置4は、命令データに応じて所定データを生成する。
【0109】
制御対象装置4-mは、制御対象装置4-mの制御に用いられる上りデータを、第1通信装置3-mに送信する。すなわち、制御対象装置4は、センサデータ及び動画データ等の所定データを、制御対象装置4の制御に用いられる上りデータとして、制御装置2に向けて上り送信する。
【0110】
以上のように、分割判定部35は、予め定められた周期当たりの制御対象装置4の制御に用いられるデータ(命令データと所定データとのうちの少なくとも一方)が複数の周期に分割されているか否かを判定する。制御部38は、周期当たりの制御に用いられるデータが分割されていると判定された場合、周期当たりの制御に必要なデータがパケットに収まるように、パケットのサイズを大きくする。制御部38は、周期当たりの制御に用いられるデータが分割されていると判定された場合、周期当たりの制御に必要なデータがバーストフレームに収まるように、バーストフレームの長さを長くする。
【0111】
このように、制御部38は、パケットのサイズとバーストフレームの長さとのうちの少なくとも一方を変更する。これによって、周期当たりの制御に必要なデータを一度で受信できるようになるので、シングルスターネットワーク又は光アクセスネットワークにおける通信処理の遅延時間と遅延時間のジッタとのうちの少なくとも一方を低減することが可能である。また、IoT端末の制御が不能とならないように、IoT端末の制御の精度を向上させることが可能である。
【0112】
制御システムの各装置のうちの一部又は全部は、CPU(Central Processing Unit)等のプロセッサが、不揮発性の記録媒体(非一時的な記録媒体)を有する記憶部に記憶されたプログラムを実行することにより、ソフトウェアとして実現される。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置などの非一時的な記録媒体である。
【0113】
制御システムの各装置のうちの一部又は全部は、例えば、LSI(Large Scale Integration circuit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)又はFPGA(Field Programmable Gate Array)等を用いた電子回路(electronic circuit又はcircuitry)を含むハードウェアを用いて実現されてもよい。
【0114】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0115】
本発明は、IoT端末又は産業ロボット等の制御システムに適用可能である。
【符号の説明】
【0116】
1a,1b,1c…制御システム、2…制御装置、3…第1通信装置、4…制御対象装置、5…第2通信装置、6…第3通信装置、30…第1通信部、31…第1記憶部、32…転送部、33…第2記憶部、34…第2通信部、35…分割判定部、36…遅延情報取得部、37…遅延判定部、38…制御部、50…第3通信部、51…信号処理部、52…第3記憶部、53…転送部、54…第4記憶部、55…第4通信部、56…分割判定部、57…遅延情報取得部、58…遅延判定部、59…制御部