JP7154395B2 - 通信システム、マスタ装置、スレーブ装置、およびサブマスタ装置 - Google Patents

通信システム、マスタ装置、スレーブ装置、およびサブマスタ装置 Download PDF

Info

Publication number
JP7154395B2
JP7154395B2 JP2021514789A JP2021514789A JP7154395B2 JP 7154395 B2 JP7154395 B2 JP 7154395B2 JP 2021514789 A JP2021514789 A JP 2021514789A JP 2021514789 A JP2021514789 A JP 2021514789A JP 7154395 B2 JP7154395 B2 JP 7154395B2
Authority
JP
Japan
Prior art keywords
synchronization
master device
time
slave
slave devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021514789A
Other languages
English (en)
Other versions
JPWO2020213190A1 (ja
Inventor
浩幸 山元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2020213190A1 publication Critical patent/JPWO2020213190A1/ja
Application granted granted Critical
Publication of JP7154395B2 publication Critical patent/JP7154395B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G5/00Setting, i.e. correcting or changing, the time-indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40019Details regarding a bus master

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Description

本開示は、マスタ装置と複数のスレーブ装置とを含む通信システム、マスタ装置、スレーブ装置、およびサブマスタ装置に関する。
ネットワークに含まれる各装置の時刻を高精度に合わせて、各装置を同期制御したり、分散制御したりすることが求められている。ネットワークにつながる装置間で時刻の同期をとる方式の代表的なものとして、IEEE1588の規格で定められているPTP(Precision Timer Protocol)を用いる方式が知られている。
例えば、特開2015-68806号公報(特許文献1)は、マスタ装置と複数のスレーブ装置と備えた時刻同期システムを開示している。この時刻同期システムでは、複数のスレーブ装置は、マスタ装置から第1の時刻同期用メッセージを受信する。マスタ装置は、代表スレーブ装置から第1の時刻同期用メッセージに対する応答メッセージである第2の時刻同期用メッセージを受信し、第2の時刻同期用メッセージに対する応答メッセージである第3の時刻同期用メッセージを時刻同期システムに送信する。複数のスレーブ装置は、第1の時刻同期用メッセージおよび第3の時刻同期用メッセージに含まれる情報に基づいて、自己の保持する時刻を補正する。
特開2015-68806号公報
特許文献1に係る時刻同期システムでは、上述した構成により時刻同期の精度を下げることなく、ネットワークトラフィックの負荷を低減することを検討している。しかし、マスタ装置から送信されるPTPメッセージの送信間隔は一定であり、この観点から改善の余地があると考えられる。
本開示のある局面における目的は、マスタ装置を複数のスレーブ装置とを含む通信システムにおいて、時刻同期の精度を確保しつつ、時刻同期メッセージの通信量を削減することによりネットワークの負荷を軽減することである。
ある実施の形態に従う通信システムは、マスタ装置と、マスタ装置から送信される時刻同期メッセージに基づいてマスタ装置と時刻同期を行なう複数のスレーブ装置とを備える。各スレーブ装置は、複数の同期周期の各々について、当該同期周期でマスタ装置と時刻同期を行なった場合における、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を記憶する。マスタ装置は、各スレーブ装置から、各同期周期についての補正量を取得し、複数のスレーブ装置の各々について、当該スレーブ装置から取得された各補正量に基づいて、マスタ装置が当該スレーブ装置と時刻同期を行なう同期周期と、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量との対応関係を算出し、複数のスレーブ装置の各々について、当該スレーブ装置の対応関係に基づいて、当該スレーブ装置における補正量の目標値に対応する目標同期周期を算出し、各スレーブ装置における目標同期周期に基づいて、各スレーブ装置を複数のグループに分類し、複数のグループの各々について、当該グループに分類された1以上のスレーブ装置における目標同期周期のうち最大の目標同期周期を、マスタ装置が1以上のスレーブ装置と時刻同期を行なう新たな同期周期として設定する。
他の実施の形態に従うと、複数のスレーブ装置と通信可能に構成されたマスタ装置が提供される。マスタ装置は、各スレーブ装置から、複数の同期周期の各々について、当該同期周期でマスタ装置と時刻同期を行なった場合における、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を取得し、複数のスレーブ装置の各々について、当該スレーブ装置から取得された各補正量に基づいて、マスタ装置が当該スレーブ装置と時刻同期を行なう同期周期と、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量との対応関係を算出し、複数のスレーブ装置の各々について、当該スレーブ装置の対応関係に基づいて、当該スレーブ装置における補正量の目標値に対応する目標同期周期を算出し、各スレーブ装置における目標同期周期に基づいて、各スレーブ装置を複数のグループに分類し、複数のグループの各々について、当該グループに分類された1以上のスレーブ装置における目標同期周期のうち最大の目標同期周期を、マスタ装置が1以上のスレーブ装置と時刻同期を行なう新たな同期周期として設定する。
さらに他の実施の形態に従うと、マスタ装置と通信可能に構成されたスレーブ装置が提供される。スレーブ装置は、複数の同期周期の各々について、当該同期周期でマスタ装置と時刻同期を行なった場合における、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を記憶し、各同期周期についての補正量をマスタ装置に送信し、各補正量に基づいてマスタ装置により設定された新たな同期周期でマスタ装置と時刻同期を実行する。
さらに他の実施の形態に従う通信システムは、マスタ装置と、マスタ装置から送信される時刻同期メッセージに基づいてマスタ装置と時刻同期を行なう複数のスレーブ装置とを備える。マスタ装置は、第1分類情報に基づいて、各スレーブ装置を第1の複数のグループに分類し、第1の複数のグループの各々について、当該グループに設定された第1同期周期で当該グループに分類された1以上のスレーブ装置と時刻同期を行ない、時刻同期を行なった場合に、各スレーブ装置から、マスタ装置の時刻と当該スレーブ装置の時刻との差の第1補正量を取得し、各第1補正量、各第1同期周期、および第1分類情報を入力とする学習モデルを用いて、各スレーブ装置を第2の複数のグループに分類するための第2分類情報と、第2の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置とマスタ装置が時刻同期を行なう新たな第2同期周期とを選択する。
さらに他の実施の形態に従う通信システムは、マスタ装置と、マスタ装置から送信される時刻同期メッセージに基づいてマスタ装置と時刻同期を行なう複数のスレーブ装置とを備える。マスタ装置は、設定された同期周期で各スレーブ装置と時刻同期を行ない、各スレーブ装置から、当該同期周期でマスタ装置と時刻同期を行なった場合における、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を取得し、取得した各補正量および当該同期周期とを入力とする学習モデルを用いて、各スレーブ装置と時刻同期を行なう新たな同期周期を選択する。
さらに他の実施の形態に従うと、複数のスレーブ装置と通信可能に構成されたマスタ装置が提供される。マスタ装置は、第1分類情報に基づいて、各スレーブ装置を第1の複数のグループに分類し、第1の複数のグループの各々について、当該グループ用に設定された第1同期周期で当該グループに分類された1以上のスレーブ装置と時刻同期を行ない、時刻同期を行なった場合に、各スレーブ装置から、マスタ装置の時刻と当該スレーブ装置の時刻との差の第1補正量を取得し、各第1補正量、各第1同期周期、および第1分類情報を入力とする学習モデルを用いて、各スレーブ装置を第2の複数のグループに分類するための第2分類情報と、第2の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置とマスタ装置が時刻同期を行なう新たな第2同期周期とを選択する。
さらに他の実施の形態に従うと、複数のスレーブ装置と通信可能に構成されたマスタ装置が提供される。マスタ装置は、設定された同期周期で各スレーブ装置と時刻同期を行ない、各スレーブ装置から、当該同期周期でマスタ装置と時刻同期を行なった場合における、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を取得し、取得した各補正量および当該同期周期とを入力とする学習モデルを用いて、各スレーブ装置と時刻同期を行なう新たな同期周期を選択する。
さらに他の実施の形態に従う通信システムは、マスタ装置と、マスタ装置から送信される時刻同期メッセージに基づいてマスタ装置と時刻同期を行なう複数のスレーブ装置とを備える。各スレーブ装置は、複数の同期周期の各々について、当該同期周期でマスタ装置と時刻同期を行なった場合における、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を記憶する。マスタ装置は、各スレーブ装置から、各同期周期についての補正量を取得し、複数のスレーブ装置の各々について、当該スレーブ装置から取得された各補正量に基づいて、マスタ装置が当該スレーブ装置と時刻同期を行なう同期周期と、マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量との対応関係を算出し、複数のスレーブ装置の各々について、当該スレーブ装置の対応関係に基づいて、当該スレーブ装置における補正量の目標値に対応する目標同期周期を算出し、各スレーブ装置における目標同期周期に基づいて、各スレーブ装置を複数のグループに分類し、複数のグループの各々について、当該グループに分類された1以上のスレーブ装置の中からサブマスタ装置を選定し、複数のグループの各々について、当該グループに分類された1以上のスレーブ装置における目標同期周期のうち最大の目標同期周期を、マスタ装置が当該グループにおけるサブマスタ装置と時刻同期を行なう新たな同期周期として設定する。
さらに他の実施の形態に従うと、マスタ装置および複数のスレーブ装置と通信可能に構成されたサブマスタ装置が提供される。サブマスタ装置は、設定された同期周期でマスタ装置と時刻同期を行なった場合における、マスタ装置の時刻とサブマスタ装置の時刻との差の補正量を示す第1時刻補正量を算出し、当該同期周期で複数のスレーブ装置と時刻同期を行ない、各スレーブ装置から、当該同期周期でサブマスタ装置と時刻同期を行なった場合における、サブマスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を示す第2時刻補正量を取得し、第1時刻補正量と、各第2時刻補正量をマスタ装置に送信する。
本開示によると、マスタ装置を複数のスレーブ装置とを含む通信システムにおいて、時刻同期の精度を確保しつつ、時刻同期メッセージの通信量を削減することによりネットワークの負荷を軽減することができる。
実施の形態1に従う通信システムの全体構成の一例を示す図である。 実施の形態1に従うマスタ装置のハードウェア構成を示すブロック図である。 実施の形態1に従うマスタ装置とスレーブ装置との間における時刻同期の手順の一例を示すシーケンス図である。 実施の形態1に従う通信システムにおける初期状態の構成を示す図である。 単一のスレーブ装置についての同期周期および補正量の関係を示す散布図である。 各スレーブ装置についての同期周期および補正量の関係を示す散布図である。 実施の形態1に従う通信システムにおける、同期周期が最適化された状態の構成を示す図である。 実施の形態1に従うマスタ装置の機能構成を示す模式図である。 実施の形態1に従うマスタ装置の処理手順の一例を示すフローチャートである。 実施の形態1に従うマスタ装置の処理手順の他の例を示すフローチャートである。 実施の形態2に従う分類方式を説明するための図である。 実施の形態2に従うマスタ装置により実行される分類処理の一例を示すフローチャートである。 実施の形態3に従う通信システムにおけるネットワーク構成の一例を説明するための図である。 実施の形態3に従う通信システムにおける変更後のネットワーク構成を示す図である。 実施の形態3に従うマスタ装置の機能構成を示すブロック図である。 実施の形態3に従うマスタ装置の処理手順の一例を示すフローチャートである。 実施の形態3のその他の利点を説明するためのイメージ図である。 強化学習アルゴリズムの基本的な概念を説明するための図である。 実施の形態4に従うマスタ装置の機械学習器の入力パラメータおよび出力パラメータを説明するための図である。 実施の形態4に従う報酬基準を説明するための図である。 機械学習器の学習によりネットワーク負荷が軽減されていく過程を説明するための図である。 機械学習器の学習により時刻同期の補正量が目標範囲に収束していく過程を説明するための図である。 実施の形態4に従うマスタ装置の機能構成を示す模式図である。 実施の形態4に従うマスタ装置の処理手順の一例を示すフローチャートである。 実施の形態5に従うマスタ装置の機能構成を説明するための図である。 オーバー回数のカウント方式を説明するための図である。 実施の形態5に従うマスタ装置の処理手順の一例を示すフローチャートである。 実施の形態6に従う通信システムにおいて、同期周期が最適化された状態の構成を示す図である。 実施の形態6に従うサブマスタ装置の機能構成を示す模式図である。 実施の形態6に従うマスタ装置およびサブマスタ装置の処理手順の一例を示すフローチャートである。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
実施の形態1.
<システム構成>
図1は、実施の形態1に従う通信システム100の全体構成の一例を示す図である。通信システム100は、マスタ装置1と、ネットワーク3を介してマスタ装置1と通信する複数のスレーブ装置2とを含む。
マスタ装置1は、通信システム100において、時刻同期の基準となる時刻情報を管理する装置であり、例えば、IEEE1588のマスタ装置として動作する。スレーブ装置2は、マスタ装置1から送信される時刻同期メッセージ(例えば、PTPメッセージ)に基づいて時刻同期を実行するスレーブ装置として動作する。
図2は、実施の形態1に従うマスタ装置1のハードウェア構成を示すブロック図である。典型的には、マスタ装置1およびスレーブ装置2は、同様のハードウェア構成を有するネットワーク機器である。ここでは、代表してマスタ装置1のハードウェア構成について説明する。
図2を参照して、マスタ装置1は、CPU11と、メモリ12と、ネットワークインターフェイス13とを含む。これらは、バス14で結合されている。
CPU11は、メモリ12に記憶されたプログラムを読み出して実行することで、マスタ装置1の各部の動作を制御する。CPU11は、当該プログラムを実行することによって、後述するマスタ装置1の処理の各々を実現する。なお、マスタ装置1は、複数のCPU11を有していてもよい。
メモリ12は、RAM(Random Access Memory)、ROM(Read-Only Memory)、フラッシュメモリなどによって実現される。メモリ12は、CPU11によって実行されるプログラム、またはCPU11によって用いられるデータなどを記憶する。
ネットワークインターフェイス13には、有線または無線で構成されるネットワーク3が接続される。マスタ装置1は、ネットワークインターフェイス13およびネットワーク3を介して、スレーブ装置2と通信する。
図3は、実施の形態1に従うマスタ装置1とスレーブ装置2との間における時刻同期の手順の一例を示すシーケンス図である。具体的には、図2に示す手順は、IEEE1588に従う時刻同期手順である。図2に示す各処理は、主に、マスタ装置1およびスレーブ装置2のCPU11によって実行される。
マスタ装置1は、Syncメッセージをスレーブ装置2に送信する(シーケンスSQ2)。このとき、マスタ装置1は、Syncメッセージの送信時刻t1をメモリ12に記憶する。スレーブ装置2は、Syncメッセージを受信し、その受信時刻t2をメモリ12に記憶する。
マスタ装置1は、Syncメッセージの送信時刻t1をメモリ12から読み出して、送信時刻t1を格納したFollow_Upメッセージをスレーブ装置2に送信する(シーケンスSQ4)。スレーブ装置2は、受信したFollow_Upメッセージに格納された送信時刻t1をメモリ12に記憶する。なお、マスタ装置1は、送信時刻t1が格納されたSyncメッセージをスレーブ装置2に送信する構成であってもよい。
スレーブ装置2は、マスタ装置1にDelay_Reqメッセージを送信する(シーケンスSQ6)。スレーブ装置2は、Delay_Reqメッセージの送信時刻t3をメモリ12に記憶する。マスタ装置1は、Delay_Reqメッセージを受信し、その受信時刻t4を記憶する。
マスタ装置1は、受信時刻t4を格納したDelay_Respメッセージをスレーブ装置2に送信する(シーケンスSQ8)。スレーブ装置2は、受信したDelay_Respメッセージに格納された受信時刻t4をメモリ12に記憶する。
上述のシーケンスにより、スレーブ装置2のメモリ12には、送信時刻t1,t3および受信時刻t2,t4が記憶されている。
スレーブ装置2は、送信時刻t1と受信時刻t2との差(すなわち、「t2-t1」)を計算することにより、マスタ装置1からスレーブ装置2への伝送路について、マスタ装置1およびスレーブ装置2の各時刻のずれと伝送路遅延との和を取得する。また、スレーブ装置2は、送信時刻t3と受信時刻t4との差(すなわち、「t4-t3」)を計算することにより、スレーブ装置2からマスタ装置1への伝送路について、マスタ装置1およびスレーブ装置2の各時刻のずれと伝送路遅延との和を取得する。
また、時刻差“t4-t3”と時刻差“t2-t1”との和は、伝送路遅延の二倍の時間に相当する。時刻差“t4-t3”と時刻差“t2-t1”との差は、マスタ装置1の時刻(以下「マスタ時刻」とも称する。)とスレーブ装置2の時刻(以下「スレーブ時刻」とも称する。)とのずれの二倍の時間に相当する。ここで、IEEE1588プロトコルの伝送路の遅延計算では、マスタ装置1とスレーブ装置2との間の伝送遅延は、往路と復路で等価であると仮定する。したがって、単一方向の伝送路の遅延時間tdは、以下の式(1)のように表わされる。
td={(t4-t3)+(t2-t1)}/2・・・(1)
また、マスタ時刻とスレーブ時刻との時刻差tdiffは、以下の式(2)のように表わされる。
tdiff={(t4-t3)-(t2-t1)}/2・・・(2)
スレーブ装置2は、時刻差tdiffを時刻同期の補正量として、自装置の時刻を補正することにより、マスタ装置1との時刻同期を実施する。
このように、マスタ装置1およびスレーブ装置2間の時刻同期においては、PTPメッセージの往復の遅延が等しい、あるいは往復の遅延に時間差がある場合でも、その時間差が既知であることを前提としている。
しかし、各装置のネットワークインターフェイス13内に含まれるクロック発振器のジッタ、ネットワーク3から各装置内のクロックへの載せ替え、各装置を使用する周辺環境の温度変化等の要因により、遅延時間tdおよび時刻差tdiffは、測定を行なう度にバラツキが生じる。そのため、マスタ時刻とスレーブ時刻とのずれを防ぎ、マスタ装置1とスレーブ装置2との時刻同期の精度を確保するためには、定期的にマスタ装置1とスレーブ装置2との間で図3に示す時刻同期に係る処理を実行する必要がある。
一方、マスタ装置1に多数のスレーブ装置2が接続されたネットワーク構成において高い時刻同期精度を保つためには、短い周期で時刻同期に係る処理を実行して、マスタ時刻とスレーブ時刻との時刻補正を行なう必要がある。この場合、マスタ装置1と各スレーブ装置2との間で頻繁にPTPメッセージが送受信されるため、ネットワーク負荷が増大してしまう。
そこで、本実施の形態に従う通信システム100では以下のような処理が実行される。まず、マスタ装置1は、ある同期周期で、各スレーブ装置2と時刻同期を実施する。各スレーブ装置2は、当該同期周期で時刻同期を行なった場合における、マスタ時刻とスレーブ時刻との時刻差の補正量を記憶する。他の同期周期でも同様の時刻同期が実施され、各スレーブ装置2は、他の補正量を記憶する。
マスタ装置1は、各スレーブ装置2から取得した複数の補正量に基づいて、各スレーブ装置2について、同期周期および補正量の対応関係を求める。マスタ装置1は、各スレーブ装置2における当該対応関係に基づいて、各スレーブ装置2について、補正量の目標値(以下「目標補正量」とも称する。)に対応する目標同期周期を算出する。目標補正量は、マスタ時刻とスレーブ時刻との最大許容時刻差に相当する。換言すると、目標補正量は、要求される時刻同期精度である。
マスタ装置1は、各スレーブ装置2における目標同期周期に基づいて、各スレーブ装置2を複数のグループに分類する。マスタ装置1は、各グループについて、当該グループに分類された複数のスレーブ装置2における目標同期周期のうち最大の目標同期周期を、当該複数のスレーブ装置2がマスタ装置1と時刻同期を行なう新たな同期周期として設定する。これにより、マスタ装置1と各スレーブ装置2との間の同期周期が全体として最適化され、時刻同期精度を確保しつつネットワーク負荷を軽減することができる。以下、通信システム100の構成および処理について、より詳細に説明する。
<同期周期の設定方式>
図4は、実施の形態1に従う通信システム100における初期状態の構成を示す図である。図4中の「MA」はマスタ装置を表わしており、「SL」はスレーブ装置を表わしている。以下では、説明の容易化のため、通信システム100は13個のスレーブ装置2を含むものとし、13個のスレーブ装置2に対して、便宜上、#1~#13の番号を付与してそれぞれを区別する。具体的には、13個のスレーブ装置2は、それぞれスレーブ♯1~♯13とも称される。
図4では、マスタ装置1と、各スレーブ#1~#13とが同一の同期周期Xiで時刻同期を実行する例が示されている。この場合、マスタ装置1と各スレーブ#1~#13との間の同期周期が最適化されていないため、時刻同期精度を確保しようとするとネットワーク負荷が増大する。
そのため、通信システム100では、マスタ装置1と各スレーブ装置2との間の同期周期を最適化する処理が実行される。まず、マスタ装置1は、複数の同期周期(例えば、同期周期X1,X2,X3)の各々で、各スレーブ♯1~♯13と時刻同期を実施する。典型的には、マスタ装置1は、各同期周期X1~X3で、各スレーブ♯1~♯13と時刻同期を複数回実行する。
同期周期は、時刻同期精度(例えば、±1μs)を確保可能な最大同期周期を超えないように変更される。具体的には、各同期周期X1~X3は最大同期周期よりも短い。最大同期周期は、発振器のクロック精度、エラスティックバッファでのクロックの載せ替え等による、マスタ時刻および各スレーブ時刻のバラツキ要因を考慮して算出される理論値である。
各スレーブ#1~#13は、同期周期X1で時刻同期を実施した際に、式(2)を用いて算出したマスタ時刻とスレーブ時刻との時間差に相当する補正量Y1を、同期周期X1と関連付けて記憶する。
同様に、各スレーブ#1~#13は、同期周期X2で時刻同期を実施した際に算出した補正量Y2を同期周期X2と関連付けて記憶し、同期周期X3で時刻同期を実施した際に算出した補正量Y3を同期周期X3と関連付けて記憶する。なお、典型的には、1つの同期周期につき、時刻同期が複数回実施されているため、各スレーブ♯1~♯13は、複数回分の補正量Y1~Y3を記憶する。
マスタ装置1は、各スレーブ#1~#13から、複数回分の補正量Y1~Y3を取得する。マスタ装置1は、各スレーブ#1~#13について、複数回分の補正量Y1~Y3に基づいて、同期周期と補正量との対応関係を求める。
図5は、単一のスレーブ装置についての同期周期および補正量の関係を示す散布図である。横軸は同期周期を示しており、縦軸は時刻同期の補正量の絶対値である。説明の容易化のため、補正量を絶対値化しているが、そうでなくてもよい。以下の説明では、補正量の絶対値を、単に「補正量」と記載する。図5では、例えば、スレーブ♯1について、同期周期および補正量の対応関係の算出方式について説明する。
図5を参照して、同期周期X1に対応する補正量Y1を示す点が複数個プロットされている。これは、複数回分の補正量Y1に対応する。同様に、同期周期X2に対応する補正量Y2を示す点、同期周期X3に対応する補正量Y3を示す点がそれぞれ複数個プロットされている。
ここで、スレーブ♯1で算出された補正量Y1~Y3のバラツキが正規分布に従うとする。マスタ装置1は、複数の補正量Y1の平均値μ1および標準偏差σ1と、複数の補正量Y2の平均値μ2および標準偏差σ2と、複数の補正量Y3の平均値μ3および標準偏差σ3とを算出する。
マスタ装置1は、同期周期に対して、平均値と標準偏差との加算値を直線近似した一次関数を求める。具体的には、マスタ装置1は、座標点(X1,μ1+N×σ1)、座標点(X2,μ2+N×σ2)、座標点(X3,μ3+N×σ3)を直線近似した一次関数501を求める。図5の例ではN=7である。ただし、N>0であればよい。
“μ1+N×σ1”は補正量Y1のずれを許容する限界値に対応し、“μ2+N×σ2”は補正量Y2のずれを許容する限界値に対応し、“μ3+N×σ3”は補正量Y3のずれを許容する限界値に対応する。Nが大きくなると、補正量が限界値内に含まれる確率が大きくなる(すなわち、限界値から外れる確率が小さくなる)。Nの値は、補正量のバラツキの許容量に応じて適宜決定すればよい。
図6は、各スレーブ装置についての同期周期および補正量の関係を示す散布図である。マスタ装置1は、各スレーブ♯1~♯13について図5で説明した処理を実行する。そうすると、図6に示すように、各スレーブ♯1~♯13における13個の一次関数が得られる。図6中では、スレーブ♯mに対応する一次関数を「L♯m」で示している。例えば、図5で示したスレーブ♯1における一次関数501は、図6中の一次関数L♯1に対応している。
マスタ装置1は、補正量の目標値である目標補正量Ysを設定する。具体的には、目標補正量Ysは、要求される(すなわち、目標とされる)時刻同期精度に相当する。マスタ装置1は、各一次関数L♯1~L♯13と、目標補正量Ysとの交点を求める。図6では、各交点が黒丸で示されている。ここで、一次関数L♯mと目標補正量Ysとの交点P♯mにおける同期周期を目標同期周期X♯mで表わす。例えば、交点P♯1の座標は(X♯1,Ys)である。
マスタ装置1は、各目標同期周期X♯1~♯13を用いて、各スレーブ♯1~♯13を複数のグループに分類する。この分類には、例えば、クラスタ分析のアルゴリズムであるk平均法(k-means法)が用いられる。なお、作成するグループの数をHとする。グループの数は適用するアルゴリズムによって異なる。
まず、1)各スレーブ♯1~♯13に対して任意のグループをランダムに割り振る。続いて、2)H個のグループの各々に対応するクラスタ中心であるVj(1≦j≦H)を計算する。クラスタ中心は、対応するグループに属する全スレーブの特徴量の平均値である。ここで、特徴量は目標同期周期である。さらに、3)各スレーブ♯1~♯13の特徴量と各Vjとの距離を算出し、各スレーブ♯1~♯13を各Vjの中で最も近いVjに対応するグループに割り当て直す。
上記の1)~3)の処理ですべてのスレーブ♯1~♯13のグループの割り当てが変化しなかった場合(すなわち、各スレーブ♯1~♯13について、当該スレーブが割り当てられたグループと、当該スレーブが既に割り当てられているグループとが一致している場合)に収束したと判断して、分類処理を終了する。そうでない場合には、新しく割り当てられたグループのクラスタ中心Vjを再計算して、上記3)の処理を繰り返す。
このような分類処理により、マスタ装置1は、各スレーブ♯1~♯13を複数のグループに分類する。図6の例では、3つのグループA~Cに各スレーブ♯1~♯13が分類されている。具体的には、スレーブ♯4,♯7,♯9,♯13がグループAに分類され、スレーブ♯5,♯6,♯8,♯10がグループBに分類され、スレーブ♯1,♯2,♯3,♯11,♯12がグループCに分類される。
マスタ装置1は、各グループA~Cについて、当該グループに分類された全スレーブにおける目標同期周期のうち最大の目標同期周期を算出する。具体的には、グループAに分類されたスレーブ♯4,♯7,♯9,♯13における目標同期周期X♯4,X♯7,X♯9,X♯13のうち最大の目標同期周期Xaは、目標同期周期X♯13である。同様に、グループBにおける最大の目標同期周期Xbは目標同期周期X♯6であり、グループCにおける最大の目標同期周期Xcは目標同期周期X♯2である。
マスタ装置1は、グループAに属する各スレーブ♯4,♯7,♯9,♯13と時刻同期を行なう新たな同期周期として目標同期周期Xaを設定する。また、マスタ装置1は、グループBに属する各スレーブ♯5,♯6,♯8,♯10と時刻同期を行なう新たな同期周期として目標同期周期Xbを設定し、グループCに属する各スレーブ♯1,♯2,♯3,♯11,♯12と時刻同期を行なう新たな同期周期として目標同期周期Xcを設定する。このように、各グループにおいて、最大の目標同期周期を新たな同期周期として設定する理由は、グループ内の各スレーブ装置2が補正量の目標値を確実に満たせるようにするためである。
そして、マスタ装置1は、新たな同期周期Xaで、グループAに属する各スレーブ装置2とPTPメッセージを送受信して時刻同期を実行する。同様に、マスタ装置1は、同期周期XbでグループBに属する各スレーブ装置2と時刻同期を実行し、同期周期XcでグループCに属する各スレーブ装置2と時刻同期を実行する。このように、マスタ装置1は、グループ毎に異なる同期周期で時刻同期を実行する。
図7は、実施の形態1に従う通信システム100における、同期周期が最適化された状態の構成を示す図である。図4に示すように、通信システム100における初期状態の構成では、マスタ装置1が、同期周期Xiで各スレーブ♯1~♯13と時刻同期を実施していた。図6に示すように、同期周期Xaは同期周期Xiよりも少し短い。そのため、マスタ装置1とグループAに属する各スレーブ装置2との間で時刻同期を実行した際のネットワーク負荷(すなわち、PTPメッセージの通信量)は少し大きくなる。
しかし、同期周期Xbは同期周期Xiよりも長く、同期周期Xcは同期周期Xiよりもかなり長いため、マスタ装置1とグループB,Cに属する各スレーブ装置2との間で時刻同期を実行した際のネットワーク負荷はかなり小さくなる。したがって、本実施の形態に従う通信システム100によると、マスタ装置1と各スレーブ♯1~♯13との間でのPTPメッセージの通信量を全体として削減でき、ネットワーク負荷を軽減できる。
<機能構成>
図8は、実施の形態1に従うマスタ装置1の機能構成を示す模式図である。図8を参照して、マスタ装置1は、主な機能構成として、時刻同期通信部101と、補正量取得部103と、関係算出部105と、目標同期周期算出部107と、分類部109と、設定部111とを含む。典型的には、これらの各機能は、CPU11がメモリ12に格納されたプログラムを実行することによって実現される。なお、これらの機能の一部または全部は専用の回路を用いることによって実現されるように構成されていてもよい。
スレーブ装置2は、時刻同期通信部201と、補正量算出部203と、時刻カウンタ205と、補正量送信部207とを含む。典型的には、これらの各機能は、スレーブ装置2のCPUがメモリに格納されたプログラムを実行することによって実現される。なお、これらの機能の一部または全部は専用の回路を用いることによって実現されるように構成されていてもよい。
時刻同期通信部101は、複数の同期周期(例えば、同期周期X1~X3)の各々で、各スレーブ装置2の時刻同期通信部201と時刻同期を実行する。具体的には、時刻同期通信部101は、図3に示すシーケンスに従って、各スレーブ装置2の時刻同期通信部201とPTPメッセージを送受信する。
時刻同期通信部201は、受信したPTPメッセージに従って、マスタ時刻とスレーブ時刻との時刻差の補正量の算出指示を補正量算出部203に与える。補正量算出部203は、当該算出指示に従って、複数の同期周期の各々について、当該同期周期でマスタ装置1と時刻同期を行なった場合における、マスタ時刻とスレーブ時刻との時刻差の補正量を算出する。
時刻カウンタ205は、算出された時刻同期の補正量を用いてスレーブ装置2の時刻を補正することにより、マスタ装置1との時刻同期を実施する。補正量送信部207は、複数の同期周期の各々についての補正量をマスタ装置1に送信する。なお、各スレーブ装置2は、複数の同期周期の各々について、当該同期周期でマスタ装置1と時刻同期を行なった場合における、マスタ時刻とスレーブ時刻との時刻差の補正量を記憶する。一例として、各スレーブ装置2は、各補正量をメモリ12に記憶する。
典型的には、時刻同期通信部101は、各同期周期で、各スレーブ装置2と時刻同期を複数回実行する。したがって、各スレーブ装置2は、複数の同期周期の各々について、当該同期周期でマスタ装置1と時刻同期を複数回実行し、複数回分の各補正量を記憶する。
補正量取得部103は、各スレーブ装置2から、各同期周期についての補正量を取得する。具体的には、補正量取得部103は、ネットワークインターフェイス13を介して、各スレーブ装置2から送信される各補正量を受信する。
関係算出部105は、各スレーブ装置2について、当該スレーブ装置2から取得された各補正量に基づいて、マスタ装置1が当該スレーブ装置2と時刻同期を行なう同期周期と、マスタ時刻とスレーブ時刻との時刻差の補正量との対応関係を算出する。
具体的には、関係算出部105は、複数のスレーブ装置2の各々について、当該スレーブ装置2から取得された複数回分の各補正量に基づいて、当該スレーブ装置2における対応関係を算出する。当該スレーブ装置2における対応関係は、当該スレーブ装置2がマスタ装置1と時刻同期を行なう同期周期に対して、複数回分の補正量の平均値および標準偏差の加算値(例えば、μ+N×σ)を直線近似した一次関数(例えば、一次関数501)である。
目標同期周期算出部107は、複数のスレーブ装置2の各々について、当該スレーブ装置2の対応関係に基づいて、当該スレーブ装置2における目標補正量Ysに対応する目標同期周期(例えば、目標同期周期X♯1~X♯13)を算出する。具体的には、目標同期周期算出部107は、複数のスレーブ装置2の各々について、当該スレーブ装置2における一次関数と目標補正量Ysとに基づいて、当該スレーブ装置2における目標同期周期を算出する。
分類部109は、各スレーブ装置2における目標同期周期(例えば、目標同期周期X♯1~X♯13)に基づいて、各スレーブ装置2を複数のグループ(例えば、グループA~C)に分類する。具体的には、分類部109は、複数のスレーブ装置2の各々について、当該スレーブ装置2における目標同期周期と各グループに対応するクラスタ中心との距離を算出し、当該距離が最も小さくなるクラスタ中心に対応するグループに当該スレーブ装置を分類する。例えば、分類部109は、上述の分類手順に従って、各スレーブ装置2を複数のグループのいずれかに分類する。分類部109は、各スレーブ装置2がどのグループに分類されたのかを示す分類情報を設定部111に出力する。分類情報は、例えば、グループ数、各グループに属するスレーブ装置2の数、および、各グループに属するスレーブ装置2の識別情報(例えば、♯1~♯13等の装置番号)を含む。
設定部111は、複数のグループの各々について、当該グループ(例えば、グループA)に分類された1以上のスレーブ装置2における目標同期周期のうち最大の目標同期周期(例えば、目標同期周期Xa)を算出する。設定部111は、当該最大の目標同期周期を、マスタ装置1が当該1以上のスレーブ装置と時刻同期を行なう新たな同期周期として設定する。時刻同期通信部101は、設定部111によってグループごとに設定された新たな同期周期で、各グループに属する複数のスレーブ装置2と時刻同期を実行する。
スレーブ装置2の時刻同期通信部201は、各補正量に基づいてマスタ装置1により設定された新たな同期周期でマスタ装置1と時刻同期を実行する。補正量算出部203は、新たな同期周期で時刻同期を行なった場合における補正量を算出する。補正量送信部207は、当該補正量をマスタ装置1へ送信する。
マスタ装置1の設定部111により新たな同期周期が設定された後、補正量取得部103は、各スレーブ装置2から補正量を取得する。具体的には、補正量取得部103は、新たな同期周期で時刻同期を行なった場合における補正量を取得する。
監視部113は、複数のスレーブ装置2から取得された複数の補正量のうち少なくとも1つが目標補正量Ys以上であるか否かを監視する。監視部113は、監視結果を時刻同期通信部101に出力する。すなわち、監視部113は、新たに設定した同期周期で時刻同期が実行される場合に、要求された時刻同期精度が満たされているか否かを監視する。
時刻同期通信部101は、各補正量のうちの少なくとも1つが目標補正量Ys以上であるとの監視結果の入力を受け付けた場合、再度、複数の同期周期の各々で、各スレーブ装置2と時刻同期を実行する。以下、補正量取得部103、関係算出部105、目標同期周期算出部107、分類部109および設定部111の各処理が再度実行されることにより、新たな同期周期が再度設定される。
<処理手順>
図9は、実施の形態1に従うマスタ装置1の処理手順の一例を示すフローチャートである。以下の各ステップは、典型的には、マスタ装置1のCPU11がメモリ12に格納されたプログラムを実行することによって実現される。
図9を参照して、マスタ装置1は、複数の同期周期の各々で、スレーブ装置2と時刻同期を実行する(ステップS10)。マスタ装置1は、各スレーブ装置2から、各同期周期と、各同期周期で時刻同期を実行した際の補正量を取得する(ステップS12)。
マスタ装置1は、各スレーブ装置2について、同期周期および補正量の対応関係を算出する(ステップS14)。例えば、マスタ装置1は、各スレーブ装置2における一次関数L♯1~L♯13を算出する。
マスタ装置1は、各スレーブ装置2の当該対応関係に基づいて、目標補正量Ysに対応する目標同期周期(例えば、X♯1~X♯13)を算出する(ステップS16)。マスタ装置1は、各スレーブ装置2における目標同期周期に基づいて、各スレーブ装置2を複数のグループに分類する(ステップS18)。
マスタ装置1は、各グループについて、当該グループに分類されたスレーブ装置2における目標同期周期のうち最大の目標同期周期を、マスタ装置1がスレーブ装置2と時刻同期を行なう新たな同期周期として設定する(ステップS20)。マスタ装置1は、グループごとに設定された新たな同期周期で、各グループに属する複数のスレーブ装置2と時刻同期を実行する(ステップS22)。
図10は、実施の形態1に従うマスタ装置1の処理手順の他の例を示すフローチャートである。図10を参照して、ステップS10~ステップS22の処理は図9に示す処理と同様であるため、その詳細な説明は繰り返さない。
マスタ装置1は、各スレーブ装置2から、新たな同期周期で時刻同期を実行した際の補正量を取得する(ステップS30)。具体的には、マスタ装置1は、新たな同期周期に関連付けられた補正量を取得する。
マスタ装置1は、複数のスレーブ装置2から取得された複数の補正量のうちの少なくとも1つが目標補正量Ys以上であるか否かを判断する(ステップS32)。各補正量のうちの少なくとも1つが目標補正量Ys以上である場合(ステップS32においてYES)、マスタ装置1はステップS10の処理を実行する。そうではない場合(ステップS32においてNO)、マスタ装置1はステップS22の処理を実行する。
<利点>
実施の形態1によると、時刻同期精度を確保できるように各スレーブ装置2を複数のグループに分類し、グループ毎に、マスタ装置1とスレーブ装置2との間で送受信されるPTPメッセージの通信頻度を適正化できる。これにより、時刻同期精度を確保しつつ、PTPメッセージの通信量を削減でき、ネットワークの負荷を軽減できる。また、マスタ装置1およびスレーブ装置2において、高価かつ高精度のクロック発信器を用いる必要が無いため、装置の価格を抑えることもできる。
実施の形態2.
実施の形態1では、予め設定された目標補正量を利用して、各スレーブ装置2を複数のグループに分類する方式について説明した。実施の形態2では、実施の形態1と異なる方法により各スレーブ装置2を複数のグループに分類する方式について説明する。
図11は、実施の形態2に従う分類方式を説明するための図である。図11を参照して、まず、実施の形態1と同様に、k平均法を用いて各スレーブ♯1~♯13をグループA~Cに分類する。各スレーブ♯1~♯13をグループA~Cに分類する分類方式を、分類方式O1と定義する。
次に、目標補正量YsをYs1に小さくし、グループ数および各グループに含まれるスレーブ装置2の数を変更して、各スレーブ♯1~♯13をグループA1,B1に分類したとする。グループA1には6個のスレーブ♯4,♯7~♯10,♯13が含まれ、グループB1には7個のスレーブ♯1~♯3,♯5,♯6,♯11,♯12が含まれる。各スレーブ♯1~♯13をグループA1,B1に分類する分類方式を、分類方式O2と定義する。
また、目標補正量Ys1をYs2にさらに小さくし、各グループに含まれるスレーブ装置2の数を変更して、各スレーブ♯1~♯13をグループA2,B2に分類したとする。グループA2には9個のスレーブ♯3~♯10,♯13が含まれ、グループB2には4個のスレーブ♯1,♯2,♯11,♯12が含まれる。各スレーブ♯1~♯13をグループA2,B2に分類する分類方式を、分類方式O3と定義する。
マスタ装置1は、分類方式O1~O3のうちのどの分類方式を用いて各スレーブ♯1~♯13を分類した場合に、マスタ装置1と各スレーブ♯1~♯13とが時刻同期する際のネットワーク負荷を全体として軽減できるのかを評価する。
グループに含まれるスレーブ装置2の数が少ない場合、当該グループにおけるマスタ装置1と各スレーブ装置2間でPTPメッセージを送信する回数が減り、通信システム100のネットワーク負荷が小さくなる。また、同期周期が大きい場合、PTPメッセージを送受信する間隔が長くなるため、ネットワーク負荷が小さくなる。これらのことを考慮して、評価値Eを以下の式(3)のように定義する。
Figure 0007154395000001
式(3)において、GNはグループの数を示し、SNはグループiに含まれるスレーブ装置2の数を示し、Xはグループiに含まれる各スレーブ装置2における各目標同期周期のうち最大の目標同期周期を示す。なお、目標同期周期Xa1,Xa2は、それぞれ目標同期周期X♯10,X♯3であり、目標同期周期Xb1,Xb2は、それぞれ目標同期周期X♯2,X♯2である。分類方式O1~O3にそれぞれ対応する評価値E1~E3は以下の式(4)~(6)で表わされる。
E1=4/Xa+4/Xb+5/Xc・・・(4)
E2=6/Xa1+7/Xb1・・・(5)
E3=9/Xa2+4/Xb2・・・(6)
評価値Eは、マスタ装置1および各スレーブ装置2間で時刻同期を実行する(すなわち、PTPメッセージを送受信する)際の通信システム100全体のネットワーク負荷を示す指標である。すなわち、評価値Eが小さいほどネットワーク負荷が小さい。
マスタ装置1は、評価値E1~E3のうち最小の評価値に対応する分類方式に従って、各スレーブ♯1~♯13を複数のグループに分類する。例えば、評価値E2が最小の評価値であった場合には、マスタ装置1は、各スレーブ♯1~♯13をグループA1,B1に分類する(すなわち、分類方式O1に従って分類する)。このように、各スレーブ装置2を複数のグループに分類することによって、目標補正量が小さく、同期周期が長くなるようなグループ分けを実現できる。
なお、上記では、分類方式が3つの場合について説明したが、当該分類方式の数は2つであってもよいし、4つ以上であってもよい。
<機能構成>
実施の形態2に従うマスタ装置1の機能構成は、図8に示す機能構成と同様であるが、分類部109の機能が異なる。ここでは、実施の形態2に従うマスタ装置1の分類部109の機能について説明する。
実施の形態2に従う分類部109は、各スレーブ装置2における目標同期周期に基づいて、各スレーブ装置2を第1の複数の候補グループに分類する。例えば、分類部109は、目標同期周期X♯1~X♯13に基づいて、各スレーブ♯1~♯13を、第1の複数の候補グループ(例えば、グループA~C)に分類する。
分類部109は、各スレーブ装置2を、第1の複数の候補グループとは異なる第2の複数の候補グループに分類する。具体的には、分類部109は、第1の複数の候補グループに分類する際に用いた目標補正量Ysの変更、および第1の複数の候補グループの数の変更のうちの少なくとも1つを実行することにより、各スレーブ装置2を第2の複数の候補グループに分類する。
ここで、第1の複数の候補グループがグループA~Cであるとする。この場合、例えば、分類部109は、目標補正量YsをYs1に変更し、かつグループ数を3つから2つに変更することにより、各スレーブ♯1~♯13を第2の複数の候補グループ(例えば、グループA1,B1)に分類する。
また、分類部109は、グループ数を変更せずに(すなわち、グループ数は3つ)、目標補正量YsをYs1に変更することで、各スレーブ♯1~♯13を第2の複数の候補グループに分類してもよい。この場合、例えば、1つ目のグループには6個のスレーブ♯4,♯7~♯10,♯13が含まれ、2つ目のグループには4個のスレーブ♯1,♯5,♯6,♯13が含まれ、3つ目のグループには3個のスレーブ♯2,♯11,♯12が含まれるような分類方式が考えられる。
また、分類部109は、目標補正量Ysを変更せずに、グループ数を変更することで(例えば、3つから2つに変更)、各スレーブ♯1~♯13を第2の複数の候補グループに分類してもよい。この場合、例えば、1つ目のグループには4個のスレーブ♯4,♯7,♯9,♯13が含まれ、2つ目のグループには9個のスレーブ♯1~♯3,♯5,♯6,♯8,♯10~♯12が含まれるような分類方式が考えられる。
さらに、分類部109は、第2の複数の候補グループのうちの第1候補グループに属するスレーブ装置2と、第2の複数の候補グループのうちの第2候補グループに属するスレーブ装置2とを入れ替えることによって、各スレーブ装置2を新たな第3の複数の候補グループに分類してもよい。ここで、第2の複数の候補グループがグループA1,B1であるとする。この場合、例えば、グループA1に含まれるスレーブ♯8と、グループB1に含まれる♯5とを入れ替えることによって、あるいは、グループA1に含まれるスレーブ♯10と、グループB1に含まれる♯6とを入れ替えることによって、各スレーブ♯1~♯13を新たな複数の候補グループに分類する分類方式等が考えられる。
なお、分類部109は、第1の複数の候補グループのうちの第1候補グループに属するスレーブ装置2と、第1の複数の候補グループのうちの第2候補グループに属するスレーブ装置2とを入れ替えることによって、各スレーブ装置2を第2の複数の候補グループに分類してもよい。ここで、第1の複数の候補グループがグループA~Cであるとする。この場合、例えば、グループAに含まれるスレーブ♯13と、グループBに含まれる♯10とを入れ替えることによって各スレーブ♯1~♯13を新たな複数の候補グループに分類する分類方式等が考えられる。
このように分類部109は、目標補正量の変更、グループ数の変更、およびグループ間でのスレーブ装置2の入れ替えをランダムに実行することによって、各スレーブ装置2を複数の候補グループに分類する。
次に、分類部109は、予め定められた式(例えば、式(3))に基づいて、各スレーブ装置2が第1の複数の候補グループ(例えば、グループA~C)に分類された場合における、通信システム100のネットワーク負荷を示す第1評価値(例えば、評価値E1)と、各スレーブ装置2が第2の複数の候補グループ(例えば、グループA1,B1)に分類された場合における、通信システム100のネットワーク負荷を示す第2評価値(例えば、評価値E2)とを算出する。なお、第1評価値および第2評価値の各々は、別の言い方をすれば、ネットワーク負荷を評価するための1指標である。
分類部109は、第1評価値および第2評価値のうち最小の評価値に対応する複数の候補グループを、最終的に各スレーブ装置2を分類する複数のグループとして決定し、各スレーブ装置2を当該複数のグループに分類する。
<処理手順>
図12は、実施の形態2に従うマスタ装置1により実行される分類処理の一例を示すフローチャートである。実施の形態2に従うマスタ装置1の処理手順は、実施の形態1従う処理手順と比較して、図9または図10のステップS18の分類処理が異なる。以下の各ステップは、実施の形態2に従うステップS18の分類処理をより具体的に説明したものである。
図12を参照して、マスタ装置1は、探索する分類方式の数を設定する(ステップS50)。ここでは、当該数が設定値Fに設定されたとする。続いて、マスタ装置1は、目標補正量の変更、グループ数の変更、およびグループ間でのスレーブ装置2の入れ替えをランダムに実行することによって、各スレーブ装置2を複数の候補グループに分類する(ステップS52)。
マスタ装置1は、ステップS52において複数の候補グループに分類された各スレーブ装置2とマスタ装置1とが時刻同期を実行した場合における、通信システム100のネットワーク負荷を示す評価値を算出する(ステップS54)。具体的には、マスタ装置1は式(3)を用いて当該評価値を算出する。
マスタ装置1は、ステップS54において算出された評価値が、これまで探索した複数の候補グループに対応する評価値と比較して最小の評価値であるか否かを判断する(ステップS56)。最小の評価値ではない場合には(ステップS56においてNO)、マスタ装置1はステップS60の処理を実行する。最小の評価値である場合には(ステップS56においてYES)、マスタ装置1はステップS52における複数の候補グループを、グループ分けの候補として暫定採用する(ステップS58)。
マスタ装置1は、探索された分類方式の数が設定値Fに到達したか否かを判断する(ステップS60)。設定値Fに到達していない場合には(ステップS60においてNO)、マスタ装置1はステップS52の処理を実行する。設定値Fに到達した場合には(ステップS60においてYES)、マスタ装置1は、ステップS58において暫定的に採用されている複数の候補グループに従って各スレーブ装置2を分類する(ステップS62)。具体的には、マスタ装置1は暫定採用されている複数の候補グループを最終的な複数のグループとして決定し、各スレーブ装置2を当該複数のグループに分類する。
<利点>
実施の形態2によると、複数の分類方式のうち最もネットワーク負荷が小さくなる分類方式に従って各スレーブ装置2が分類される。これにより、実施の形態1の利点に加えて、通信システム100のネットワーク負荷をより適切に軽減できる。
実施の形態3.
実施の形態3では、マスタ装置1および各スレーブ装置2がマルチホップ通信を行なう構成について説明する。
図13は、実施の形態3に従う通信システム100Aにおけるネットワーク構成の一例を説明するための図である。なお、図13に示す通信システム100Aでは、上述した実施の形態1または2で説明したグループの分類方式に従って、各スレーブ装置2が複数のグループに分類された状態を示している。図13の例では、各スレーブ装置2がグループA~Cに分類されているものとする。
図13を参照して、マスタ装置1および複数のスレーブ♯1~♯13は、複数の装置がバケツリレー方式でデータを中継し、遠隔地間を結ぶマルチホップ通信に対応している。マスタ装置1および各スレーブ♯1~♯13の各装置は、無線特性(例えば、信号強度、受信感度、指向性等)によって定まる通信範囲に存在する装置と通信可能に構成される。マスタ装置1および各スレーブ♯1~♯13によって、自律的な無線ネットワークであるアドホックネットワークが形成されている。アドホックネットワークは、マスタ装置1を最上位のノードとした木構造を有する。
図13の例では、マスタ装置1から1ホップ目の経路にあたるノードはスレーブ♯1,♯4,♯5であり、2ホップ目の経路にあたるノードはスレーブ♯2,♯6,♯7であり、3ホップ目の経路にあたるノードはスレーブ♯3,♯8,♯9であり、4ホップ目の経路にあたるノードはスレーブ♯10~♯13である。ここでは、マスタ装置1からKホップ目の経路にあたるノードのホップ数は“K”であるとする。
図13のようにネットワークが構成されている場合に、マスタ装置1は、自装置と通信可能なスレーブ装置2を探索し、その探索結果を示す探索情報を記憶する。各スレーブ♯1~♯13は、自装置と通信可能な装置(例えば、マスタ装置1および他のスレーブ装置2)を探索し、その探索結果を示す探索情報を記憶するとともに、マルチホップ通信によりマスタ装置1に当該探索情報を送信する。マスタ装置1は、自装置の探索情報と、各スレーブ♯1~♯13から受信した探索情報とを用いて、マスタ装置1と各スレーブ♯1~♯13との間における複数の通信経路を算出する。
例えば、グループAにおいて、スレーブ♯4がマスタ装置1およびスレーブ♯7と通信可能であり、スレーブ♯7がスレーブ♯9,♯13と通信可能であるとする。この場合、マスタ装置1は、自装置と、グループAに属する各スレーブ♯4,♯7,♯9,♯13との間の通信経路として、マスタ装置1→スレーブ♯4→スレーブ♯7→スレーブ♯9→スレーブ♯13という通信経路R1と、マスタ装置1→スレーブ♯4→スレーブ♯7→スレーブ♯13という通信経路R2とを算出する。通信経路R1は、図13に示す通信経路である。
ここで、マルチホップ無線ネットワークにおいて、時刻同期を実行する場合には、中継器のスレーブ装置2で発生するジッタによって伝搬遅延時間がばらつくため、中継器を介するごとに時刻同期精度が劣化する。したがって、時刻同期精度を確保するためには、各グループに属する複数のスレーブ装置2のホップ数を最小化することが好ましい。
例えば、グループAにおいて、上記のように通信経路R1,R2が算出された場合を想定する。通信経路R1の場合、グループAに属する各スレーブ♯4,♯7,♯9,♯13のうちのスレーブ♯13が最大ホップ数である“4”を有している。一方、通信経路R2の場合、スレーブ♯9,♯13が最大ホップ数である“3”を有している。したがって、通信経路R2の方が通信経路R1よりも各スレーブ装置2のホップ数を最小化している。したがって、マスタ装置1は、グループAに属する各スレーブ装置2とマルチホップ通信する際の通信経路を、通信経路R1から通信経路R2に変更する。
図14は、実施の形態3に従う通信システム100Aにおける変更後のネットワーク構成を示す図である。図14を参照して、上述したように、グループAに属する各スレーブとマスタ装置1との間の通信経路は、図13に示す通信経路R1から通信経路R2に変更されている。グループBに属する各スレーブ♯5,♯6,♯8,♯10とマスタ装置1との間の通信経路も変更され、最大ホップ数が“4”から“3”に小さくなっている。同様に、グループCに属する各スレーブ♯1~♯3,♯11,♯12とマスタ装置1との間の通信経路も変更されて、最大ホップ数が“4”から“3”に小さくなっている。
マスタ装置1は、複数のグループの各々について、当該グループにおける複数の通信経路のうち、当該グループに属する複数のスレーブ装置2のホップ数を最小化する通信経路に従って、当該複数のスレーブ装置2とマルチホップ通信を行なう。具体的には、マスタ装置1は、マルチホップ通信を利用して各スレーブ装置2と時刻同期を実行する。
<機能構成>
図15は、実施の形態3に従うマスタ装置1Aの機能構成を示すブロック図である。図15を参照して、マスタ装置1Aの機能構成は、図8に示す機能構成に経路算出部115を追加した構成に相当する。スレーブ装置2Aの機能構成は、図8に示す機能構成に経路探索部209を追加した構成に相当する。そのため、経路算出部115および経路探索部209の構成について説明する。なお、マスタ装置1Aは図1に示すマスタ装置1に対応し、スレーブ装置2Aは図1に示すスレーブ装置2に対応するが、図8に示す機能構成との区別のため、便宜上「A」といった追加の符号を付している。これは、以下の実施の形態でも同様である。
経路探索部209は、スレーブ装置2Aと通信可能な装置(例えば、マスタ装置1および他のスレーブ装置2)を探索し、その探索結果を示す探索情報を記憶し、マルチホップ通信によりマスタ装置1に当該探索情報を送信する。
経路算出部115は、各スレーブ装置2の経路探索部209から受信した探索情報と、マスタ装置1の探索情報と、分類部109からの分類情報とに基づいて、複数のグループの各々について、マスタ装置と当該グループに属する複数のスレーブ装置との間における複数の通信経路を算出する。
続いて、経路算出部115は、複数のグループの各々について、当該グループにおける複数の通信経路のうち、当該グループに属する複数のスレーブ装置2のホップ数を最小化する通信経路を抽出する。例えば、経路算出部115は、グループAにおける複数の通信経路のうち、グループAに属するスレーブ♯4,♯7,♯9,♯13のホップ数の最大値を最小にする通信経路を抽出する。
時刻同期通信部101は、複数のグループの各々について抽出された通信経路に従って、当該グループに属する複数のスレーブ装置2とマルチホップ通信することにより時刻同期を実行する。
<処理手順>
図16は、実施の形態3に従うマスタ装置1Aの処理手順の一例を示すフローチャートである。
図16を参照して、ステップS10~S20の各処理は、図9に示す処理と同様であるため、その詳細な説明は繰り返さない。マスタ装置1Aは、複数のグループの各々について、マスタ装置1Aと当該グループに属する複数のスレーブ装置2との間における複数の通信経路のうち、当該複数のスレーブ装置2のホップ数を最小化する通信経路を抽出する(ステップS70)。マスタ装置1Aは、複数のグループの各々について抽出された通信経路に従って、当該グループに属する複数のスレーブ装置2とマルチホップ通信することにより時刻同期を実行する(ステップS72)。
上記フローチャートは、図9に示すフローチャートのステップS22を、ステップS70,S72で置き換えたものである。なお、マスタ装置1Aは、図10に示すフローチャートのステップS22を、ステップS70,S72で置き換えた処理を実行してもよい。
<利点>
実施の形態3によると、ホップ数が最小の通信経路に従って、マスタ装置1および各スレーブ装置2がマルチホップ通信を行なうため、要求される時刻同期精度を確保できる。
実施の形態3において、実施の形態2に従う分類方式を採用して、各スレーブ装置2を複数のグループに分類する構成であってもよい。図17は、実施の形態3のその他の利点を説明するためのイメージ図である。図17を参照して、実施の形態2の分類方式により、各スレーブ装置2は、目標補正量が小さく、同期周期が長くなるように複数のグループに分類される。また、実施の形態3により、ホップ数が最小の通信経路に従って、マスタ装置1および各スレーブ装置2がマルチホップ通信を実行できる。これにより、マルチホップ通信を行なう場合であっても、時刻同期の精度を確保しつつネットワークの負荷を軽減することができる。
実施の形態4.
上述した実施の形態では、k平均法等のグループ分類のアルゴリズムを利用して各スレーブ装置2を複数のグループに分類する構成について説明した。実施の形態4では、機械学習を利用してグループ分類を行なう構成について説明する。例えば、実施の形態4に従うマスタ装置は強化学習を行なうように構成されている。なお、強化学習とは、ある状態において行動を与えた場合に、次に行なうべき行動として将来的に得られる報酬が最大になるような行動を選択するように学習モデルを繰り返し学習させる過程で、学習モデルの更新による変化が収束し(すなわち、学習が終了して)、ある状態において最適な行動を選択する学習済モデルを獲得する方法である。
図18は、強化学習アルゴリズムの基本的な概念を説明するための図である。図18を参照して、強化学習の枠組みは、エージェント、環境およびこれらの間の相互作用からなる。エージェントは、行動を決定する主体であり、実施の形態4においてはマスタ装置内の機械学習器がこれに相当する。環境は、エージェントが相互作用を行なう対象であり、実施の形態4においては制御対象となる通信システムがこれに相当する。
具体的には、(1)エージェントはある時点における環境の状態sを観測する。(2)観測結果と過去の学習に基づいて行動aを選択して行動aを実行する。(3)行動aが実行されることで環境の状態sが次の状態st+1へと変化する。(4)その状態の変化に基づいてエージェントに報酬rt+1を与える。(5)エージェントが状態s、行動a、報酬rt+1、および過去に学習した結果に基づいて学習を進め、最適な方策が得られるように収束させていく。
図19は、実施の形態4に従うマスタ装置1Bの機械学習器5の入力パラメータおよび出力パラメータを説明するための図である。
図19を参照して、機械学習器5の入力パラメータは状態変数である。状態変数は、分類情報、各グループに属する1以上のスレーブ装置2と時刻同期を行なう際の同期周期(以下、「各グループの同期周期」とも称する。)、および各スレーブ装置2から取得した補正量を含む。なお、各グループの同期周期は、例えば、同期周期Xa~Xc等である。分類情報は、グループ数、各グループのスレーブ装置数、および各グループに属するスレーブ装置の装置番号を含む。
機械学習器5の出力パラメータは行動値である。行動値は、将来的に得られる報酬が最大になるような分類情報と、各グループの同期周期とを含む。
図20は、実施の形態4に従う報酬基準を説明するための図である。機械学習器5は、報酬基準J1および報酬基準J2の少なくとも一方に基づいて報酬を計算する。まず、機械学習器5が報酬基準J1に基づいて報酬を計算する場合について説明する。この場合、機械学習器5は、各スレーブ装置2がマスタ装置1Bと時刻同期を実行する同期周期の総和Hが、各スレーブ装置2の目標同期周期閾値の総和Hs以上である場合には報酬を低減し、同期周期の総和Hが目標同期周期閾値の総和Hs未満である場合には報酬を増大する。
例えば、スレーブ♯1~♯13がグループA~Cに分類されており、グループAのスレーブ装置数が4、グループBのスレーブ装置数が4、グループCのスレーブ装置数が5であるとする。また、グループA~Cについての同期周期がそれぞれXa~Xcであるとする。この場合、総和H=4Xa+4Xb+5Xcとなる。各スレーブ装置2の目標同期周期閾値は、同一の値に設定されてもよいし、グループごとに異なる値が設定されてもよい。
次に、機械学習器5は、報酬基準J2に基づいて報酬を計算する場合について説明する。この場合、機械学習器5は、時刻同期の補正量の目標範囲と、各スレーブ装置2から取得した補正量とを比較して、報酬を増減させる。目標範囲の上限値を「目標範囲上限値Du」とも称し、目標範囲の下限値を「目標範囲下限値Dd」とも称する。なお、目標範囲上限値Duは、目標補正量Ysよりも小さい値に設定される。
機械学習器5は、各スレーブ装置2から取得した各補正量のうち少なくとも1つが、目標範囲上限値Duよりも大きいまたは目標範囲下限値Ddよりも小さい場合(すなわち、目標範囲外である場合)、報酬を低減する。機械学習器5は、各スレーブ装置2から取得したすべての補正量が目標範囲上限値Du以下かつ目標範囲下限値Dd以上である場合(すなわち、目標範囲内に収まっている場合)、報酬を増大する。
なお、機械学習器5は、報酬基準J1および報酬基準J2以外の他の報酬基準を用いて報酬を計算する構成であってもよい。
図21は、機械学習器5の学習によりネットワーク負荷が軽減されていく過程を説明するための図である。具体的には、図21には、機械学習器5が報酬基準J1に従って報酬を増減した場合に、ネットワーク負荷が軽減されていく過程が示されている。
図21を参照して、時刻t1x~t2xの間においては、機械学習器5により選択された各スレーブ装置2の同期周期が大きく、その結果、同期周期の総和Hが大きい。この場合、PTPメッセージを送受信する際のネットワーク負荷は小さいが、要求される時刻同期精度を確保できない。
また、時刻t3x~時刻t4xにおいては、機械学習器5により選択された各スレーブ装置2の同期周期がかなり小さく、その結果、同期周期の総和Hも小さくなる。この場合、時刻同期精度は確保できるが、PTPメッセージを送受信する際のネットワーク負荷が大きくなる。
機械学習器5の学習が進んだ時刻t5x~時刻t6xにおいては、機械学習器5により選択された同期周期が最適化されており、同期周期の総和Hが目標同期周期閾値の総和Hsに収束している。この場合、時刻同期精度を確保しつつPTPメッセージを送受信する際のネットワーク負荷を軽減できる。すなわち、ネットワーク負荷が最適化されている。
図22は、機械学習器5の学習により時刻同期の補正量が目標範囲に収束していく過程を説明するための図である。具体的には、図22には、機械学習器5が報酬基準J2に従って報酬を増減した場合に、あるスレーブ装置2から取得される補正量が目標範囲に収束していく過程が示されている。
図22を参照して、時刻t1a~t2aの間においては、機械学習器5によって選択されたスレーブ装置2の同期周期が大きいため、時刻同期精度が低くなり時刻同期の補正量が大きい。この場合、PTPメッセージを送受信する際のネットワーク負荷は小さいが、時刻同期精度を確保できない。
また、時刻t2a~時刻t3aにおいては、機械学習器5によって選択された同期周期がかなり小さいため時刻同期精度が過剰に高くなり、時刻同期の補正量が小さい。この場合、時刻同期精度は確保できるが、PTPメッセージを送受信する際のネットワーク負荷が大きくなる。
機械学習器5の学習が進んだ時刻t4a~時刻t5aにおいては、機械学習器5により選択された同期周期が最適化されており補正量が目標範囲に収束する。この場合、時刻同期精度を確保しつつPTPメッセージを送受信する際のネットワーク負荷を軽減できる。すなわち、ネットワーク負荷が最適化されている。
<機能構成>
図23は、実施の形態4に従うマスタ装置1Bの機能構成を示す模式図である。図23を参照して、マスタ装置1Bは、主な機能構成として、時刻同期通信部101Bと、補正量取得部103と、機械学習器5とを含む。機械学習器5は、状態観測部52と、学習部54と、行動選択部56とを含む。
状態観測部52は、補正量取得部103が各スレーブ装置2から取得した各補正量と、行動選択部56により選択された各グループの同期周期および分類情報とを状態変数として観測する。
学習部54は、各補正量、各グループの同期周期、分類情報を含む状態変数に基づいて作成される学習用のデータセットに従って、ネットワーク負荷を最適化するための各グループの同期周期および分類情報を学習する。
学習部54が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、強化学習(Reinforcement Learning)を適用した場合について説明する。強化学習では、ある環境内におけるエージェントが、現在の状態を観測し、取るべき行動を決定する。エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q-learning)やTD学習(TD-learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式(すなわち、行動価値テーブル)は以下の式(7)で表される。
Figure 0007154395000002
式(7)において、tは時刻tにおける環境を表し、aは時刻tにおける行動を表す。行動aにより、環境はst+1に変わる。rt+1はその環境の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは0<γ≦1、αは0<α≦1の範囲とする。Q学習を適用した場合、機械学習器5の出力パラメータが行動aとなる。
式(7)で表される更新式は、時刻t+1における最良の行動aの行動価値が、時刻tにおいて実行された行動aの行動価値よりも大きければ、行動価値を大きくし、逆の場合には、行動価値を小さくする。換言すれば、時刻tにおける行動aの行動価値を、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。これにより、ある環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
学習部54は、報酬基準設定部502と、報酬計算部504と、学習結果記憶部506と、関数更新部508とを含む。
報酬基準設定部502は、学習モデルの学習に用いられる報酬をどのように増減させるのかを規定する報酬基準を設定する。例えば、報酬基準設定部502は、上述した報酬基準J1および報酬基準J2の少なくとも一方を設定する。この場合、報酬基準設定部502は、目標同期周期閾値の総和Hs、目標範囲上限値Du、目標範囲下限値Dd等を設定する。
報酬計算部504は、報酬基準設定部502により設定された報酬基準と、状態観測部52により観測された状態変数とに基づいて報酬を計算する。報酬基準J1が設定されている場合には、報酬計算部504は、行動選択部56により選択された各グループの同期周期を加算して総和Hを計算し、総和Hが目標同期周期閾値の総和Hs以上である場合には報酬を低減させ(例えば、「-1」の報酬を与える)、総和Hが総和Hs未満である場合には報酬を増大させる(例えば、「+1」の報酬を与える)。
報酬基準J2が設定されている場合には、報酬計算部504は、補正量取得部103により取得された各補正量のうちの少なくとも1つが目標範囲外である場合には報酬を低減させ、各補正量が目標範囲内である場合には報酬を増大させる。報酬基準J1および報酬基準J2の両方が設定されている場合には、報酬計算部504は、総和Hが総和Hs未満であって、かつ各補正量が目標範囲内であるとの条件が成立する場合には報酬を増大させ、当該条件が成立しない場合には報酬を低減させる。
学習結果記憶部506は、学習に伴う更新により変化する学習モデルを記憶する。具体的には、学習結果記憶部506は、行動価値テーブル(すなわち、Qテーブル)を記憶する。なお、初期状態においては、行動価値テーブルの報酬は0である。
関数更新部508は、報酬計算部504によって計算された報酬に従って、機械学習器5の出力パラメータを決定するための関数を更新する。関数更新部508は、学習結果記憶部506に記憶された行動価値テーブルを更新することにより当該関数を更新する。行動価値テーブルは、任意の行動と、その行動価値とを関連付けてテーブルの形式で記憶したデータセットである。例えば、Q学習の場合、式(7)で表される行動価値関数Q(st,at)が、出力パラメータを求めるための関数として用いられる。
行動選択部56は、学習結果記憶部506に記憶された学習部54の学習結果である行動価値関数Q(s,a)に基づいて各グループの同期周期および分類情報を選択する。典型的には、行動選択部56は、初期状態においては、ランダムに分類情報および各グループの同期周期を選択する。行動選択部56は、学習途中段階においては、例えば、ε-greedy法を用いて、分類情報および各グループの同期周期を選択する。ε-greedy法とは、一定の確率εで、ある環境から取り得る行動のうち一つをランダムに選び、(1-ε)の確率である環境から最大のQ値を有する行動を選択する手法である。なお、その他の公知の行動選択方式を採用してもよい。
行動選択部56により選択された各グループの同期周期および分類情報が、機械学習器5の出力パラメータとなる。行動選択部56は、次の分類情報を選択する分類情報選択部510と、次の各グループの同期周期を選択する同期周期選択部512とを含む。
分類情報選択部510によって選択された分類情報に基づいて、各スレーブ装置2は複数のグループに分類される。なお、分類情報は状態観測部52へ入力される。同期周期選択部512によって選択された各グループの同期周期は、当該グループ用に設定された同期周期である。なお、各グループの同期周期は状態観測部52へ入力される。
関数更新部508は、行動価値テーブルの更新が行われなくなり行動価値関数Q(st,at)が収束した場合、機械学習器5による学習は終了したと判定する。この場合、行動選択部56は、収束した行動価値関数Q(st,at)に基づいて報酬が最も多く得られる分類情報および各グループの同期周期を選択する。
時刻同期通信部101Bは、行動選択部56により選択された各グループの同期周期および分類情報を取得する。時刻同期通信部101は、分類情報に基づく複数のグループの各々について、当該グループに設定された同期周期で、当該グループに分類された1以上のスレーブ装置2と時刻同期を実行する。
補正量取得部103は、当該時刻同期を行なった場合に各スレーブ装置2から送信される、マスタ装置1Bの時刻と当該スレーブ装置2の時刻との差の補正量を取得する。補正量取得部103は、機械学習器5(具体的には、状態観測部52)へ各補正量を出力する。
機械学習器5は、前回の状態変数の入力を受けたときに選択した分類情報および各グループの同期周期と、補正量取得部103により取得された各補正量とを入力とする学習モデル(例えば、行動価値関数Q(st,at))を用いて、各スレーブ装置2を他の複数のグループに分類するための分類情報と、他の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置2とマスタ装置1Bが時刻同期を行なう新たな同期周期とを選択する。
<処理手順>
図24は、実施の形態4に従うマスタ装置1Bの処理手順の一例を示すフローチャートである。図24を参照して、マスタ装置1Bは、分類情報および各グループの同期周期をランダムに選択して、当該選択された分類情報に基づいて各スレーブ装置2を複数のグループに分類する(ステップS300)。具体的には、マスタ装置1Bは、分類情報および各グループの同期周期の初期値をランダムに設定する。ここで、ステップS300において選択された分類情報および同期周期を、それぞれ「第1分類情報」および「第1同期周期」とも称する。マスタ装置1Bは、グループごとに設定された第1同期周期で、各グループに属する1以上のスレーブ装置2と時刻同期を実行する(ステップS302)。
マスタ装置1Bは、各スレーブ装置2から、当該第1同期周期で時刻同期を実行した際の補正量(以下、「第1補正量」とも称する。)を取得し、取得した各第1補正量と、ステップS302で設定した第1分類情報および各グループの第1同期周期を状態変数として観測する(ステップS304)。
マスタ装置1Bは、上述した報酬基準に従って報酬を計算する(ステップS306)。マスタ装置1Bは、式(7)を用いて行動価値関数Q(st,at)を更新する(ステップS308)。マスタ装置1Bは、例えば、ε-greedy法を用いて、分類情報および各グループの同期周期を選択する(ステップS310)。
マスタ装置1Bは、選択された分類情報に基づいて各スレーブ装置2を複数のグループに分類し、グループごとに設定された同期周期で、各グループに属する1以上のスレーブ装置2と時刻同期を実行する(ステップS312)。続いて、マスタ装置1Bは、ステップS304からの処理を繰り返し実行する。これにより、行動価値関数(st,at)が更新され学習が進んでいく。マスタ装置1Bは、同期周期に合わせて上記処理を繰り返してもよいが、その場合、マスタ装置1Bの処理負荷が高くなるため、複数の同期周期ごとに上記処理を繰り返してもよい。
その後、マスタ装置1Bは、ステップS308において更新が行われなくなり、行動価値関数Q(st,at)が収束したと判定した場合、機械学習器5による学習を終了する。この場合、マスタ装置1Bは、収束した行動価値関数Q(st,at)に基づいて報酬が最も多く得られる分類情報および各グループの同期周期を選択する。ここで、ステップS310において選択された分類情報および同期周期を、それぞれ「第2分類情報」および「第2同期周期」とも称する。そして、マスタ装置1Bは、第2分類情報および各グループの第2同期周期に基づいて、各スレーブ装置2と時刻同期を実行する。図24の一連の処理により、図21および図22で説明したように、時刻同期精度を確保しつつネットワーク負荷が最適化される。
<変形例>
ここでは、収束した行動価値関数(st,at)を利用する場面について説明する。例えば、複数のスレーブ装置2がスレーブ♯1~♯13で構成されており、マスタ装置1Bが図24に示す処理を進めた結果、行動価値関数Q(st,at)が収束したものとする。この収束した行動価値関数Q(st,at)は、学習モデルの更新による変化が収束し学習が終了した学習済モデルに対応する。
マスタ装置1Bは、収束した行動価値関数Q(st,at)に基づいて、スレーブ♯1~♯13を複数のグループに分類するための分類情報(以下、「第3分類情報」とも称する。)と、当該複数のグループの各々について、当該グループに分類された1以上のスレーブ装置とマスタ装置1Bが時刻同期を行なう新たな同期周期(以下、「第3同期周期」とも称する。)とを選択する。すなわち、マスタ装置1は、収束した行動価値関数Q(st,at)に基づいて報酬が最も多く得られる第3分類情報と各グループの第3同期周期とを選択する。マスタ装置1Bは、この第3分類情報に基づいて、スレーブ♯1~♯13を当該複数のグループに分類する。ここで、説明の容易化のため、当該複数のグループがグループG1~G3であるとし、グループG1~G3の第3同期周期がM1~M3であるとする。
次に、通信システム100にスレーブ♯1~♯13以外の新たな他のスレーブ♯14が追加されたとする。この場合、マスタ装置1Bは、他のスレーブ♯14の追加により機械学習器5の学習をすぐにやり直すのではなく、複数のグループG1~G3のうちの1のグループ(例えば、グループG1)にスレーブ♯14を追加する。
グループG1にスレーブ♯14を追加した後のグループをG1aとすると、スレーブ♯1~♯14は、複数のグループG1a,G2,G3に分類される。このように、マスタ装置1Bは、複数のグループG1~G3のうちのグループG1にスレーブ♯14を追加することにより、スレーブ♯1~♯14を複数のグループG1a,G2,G3に分類する。ここで、グループG1aの同期周期は、グループG1の同期周期と同一、すなわち同期周期M1である。なお、グループG2,G3の同期周期は、それぞれ同期周期M2,M3のままである。
マスタ装置1Bは、複数のグループG1a,G2,G3の各々について、当該グループに分類された1以上のスレーブ装置と、当該グループに設定された同期周期で時刻同期を行なう。マスタ装置1Bは、当該時刻同期を行なった場合に、スレーブ♯1~♯14の各々から、マスタ装置1Bの時刻と当該スレーブ装置の時刻との差の補正量(以下、「第2補正量」とも称する。)を取得する。
ところで、マスタ装置1Bは、収束した行動価値関数Q(st,at)、つまり獲得した学習済モデルが有するロバスト性によって、ある程度の環境の変化に対しては、通信システムを安定して継続させることが可能である。
そのため、スレーブ♯14の追加に伴い、マスタ装置1Bが各スレーブ装置との間で時刻同期を行なうにあたって、各スレーブ装置の同期周期の総和および補正量を許容範囲に抑えられるか否かを判定する。
これが許容範囲に抑えられると判定される場合、学習済モデルは環境の変化に対し安定的に対応することができるため、マスタ装置1Bは獲得した学習済モデルを継続して用いても問題はない。一方、これが許容範囲に抑えられないと判定される場合、学習済モデルは環境の変化に対し安定的に対応することができないため、マスタ装置1Bは学習済モデルを改めて学習させることにより更新し、再び収束させる必要がある。このように、一旦は学習が終了して学習済モデルとなった学習モデルを改めて学習させる過程を、学習済モデルの再学習と呼ぶ。以下に、学習済モデルを再学習させる場合の一例について説明する。なお、学習済モデルのうち、再学習が行われていない学習済モデルを「再学習前の学習済モデル」と称し、再学習が行われた後の学習済モデルを「再学習後の学習済モデル」と称する。
マスタ装置1Bは、各第2補正量の少なくとも1つが基準閾値(すなわち、目標補正量Ys)以上である場合、機械学習器5の学習をやり直す。具体的には、マスタ装置1Bは、各第2補正量と、第3同期周期M1~M3と、スレーブ♯1~♯14を複数のグループG1a,G2,G3に分類するための第4分類情報Gxとを再学習前の学習済モデルに入力する。これにより、スレーブ♯1~♯13の場合に収束していた学習済モデルが再学習される。
マスタ装置1Bは、各第2補正量と、第3同期周期M1~M3と、第4分類情報Gxとが再学習前の学習済モデルに入力されることにより再学習された学習済モデル(すなわち、再学習後の学習済モデル)を用いて、スレーブ♯1~♯14を他の複数のグループに分類するための第5分類情報Gx1と、他の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置とマスタ装置1Bが時刻同期を行なう新たな第4同期周期とを選択する。その後、再学習が進んで行動価値関数Q(st,at)が収束すると、通信システム100がスレーブ♯1~♯14を含む場合に最適化された学習済モデルが得られる。
<利点>
実施の形態4によると、機械学習を用いて、時刻同期精度を確保できるように各スレーブ装置2を複数のグループに分類することができる。これにより、時刻同期精度を確保しつつネットワークの負荷を軽減できる。
実施の形態5.
実施の形態4では、分類情報および各グループの同期周期の初期値をランダムに選択する構成について説明した。実施の形態5では、実施の形態1における図9の処理手順を用いて分類情報および各グループの同期周期の初期値を設定する構成について説明する。
図25は、実施の形態5に従うマスタ装置1Cの機能構成を説明するための図である。図25を参照して、マスタ装置1Cは、図23に示す機能構成に、図8に示す関係算出部105と、目標同期周期算出部107と、分類部109と、設定部111とを追加し、さらに監視部113Cを追加した構成に相当する。
まず、図8で説明したように、分類部109は、各スレーブ装置2を複数のグループに分類する。設定部111は、複数のグループの各々について、当該グループに分類された1以上のスレーブ装置2とマスタ装置1Cが時刻同期を行なう新たな同期周期を設定する。時刻同期通信部101は、設定部111によってグループごとに設定された同期周期で、各グループに属する複数のスレーブ装置2と時刻同期を実行する。設定部111により各グループの同期周期が設定された後、補正量取得部103は、各スレーブ装置2から補正量を取得する。
そして、監視部113Cは、複数のスレーブ装置2から取得された複数の補正量のうち少なくとも1つが目標範囲外(例えば、目標範囲上限値Duよりも大きい、または目標範囲下限値Ddよりも小さい)であるか否かを監視する。監視部113Cは、目標範囲外となった回数(以下、「オーバー回数」とも称する。)をカウントする。
図26は、オーバー回数のカウント方式を説明するための図である。図26を参照して、監視部113Cは、各補正量のうちの少なくとも1つが目標範囲外となったオーバー回数をカウントする。図26の例では、時刻t1a~t5aの間に、あるスレーブ装置2から取得した補正量が目標範囲外となった回数(すなわち、オーバー回数)は10回である。
再び、図25を参照して、監視部113Cは、オーバー回数が閾値Thに到達したか否かを判断する。監視部113Cは、当該判断結果に基づいて、情報切替部301,303,305,307に指示を与える。
具体的には、オーバー回数が閾値Th未満である場合、監視部113Cは、機械学習器5による機械学習を進めるために、情報切替部301,303,305,307へ指示を与える。具体的には、監視部113Cは、情報切替部301に対して、同期周期選択部512からの各グループの同期周期を時刻同期通信部101Bへ出力するように指示する。監視部113Cは、情報切替部303に対して、分類情報選択部510からの分類情報を時刻同期通信部101Bへ出力するように指示し、情報切替部305に対して、分類情報選択部510からの分類情報を状態観測部52へ出力するように指示し、情報切替部307に対して、同期周期選択部512からの各グループの同期周期を状態観測部52へ出力するように指示する。
一方、オーバー回数が閾値Th以上である場合、監視部113Cは、分類情報および各グループの同期周期の初期設定をやり直してから機械学習器5による学習を進めるために、情報切替部301,303,305,307へ指示を与える。具体的には、監視部113Cは、情報切替部301に対して、設定部111からの各グループの同期周期を時刻同期通信部101Bへ出力するように指示する。監視部113Cは、情報切替部303に対して、分類部109からの分類情報を時刻同期通信部101Bへ出力するように指示し、情報切替部305に対して、分類部109からの分類情報を状態観測部52へ出力するように指示し、情報切替部307に対して、設定部111からの各グループの同期周期を状態観測部52へ出力するように指示する。
これにより、オーバー回数が閾値Th未満である間は、機械学習器5による学習が進み、機械学習器5による学習中にオーバー回数が閾値Th以上になった場合には、最初の初期設定が好ましくないとみなして、設定部111および分類部109により分類情報および各グループの同期周期の初期設定が再度実行される。
<処理手順>
図27は、実施の形態5に従うマスタ装置1Cの処理手順の一例を示すフローチャートである。図27を参照して、マスタ装置1Cは、各スレーブ装置2から取得される各補正量のうちの少なくとも1つが目標範囲外となる回数(すなわち、オーバー回数)の閾値Thを設定する(ステップS320)。ステップS10~S22の各処理は、図9に示す処理と同様であるため、その詳細な説明は繰り返さない。
マスタ装置1Cは、ステップS20において設定された新たな同期周期でステップS22における時刻同期を実行した場合に、各スレーブ装置2から取得された各補正量の少なくとも1つが目標範囲外となった回数(すなわち、オーバ回数)をカウントする(ステップS322)。具体的には、マスタ装置1Cは、各補正量の少なくとも1つが目標範囲外である場合には現在のオーバー回数に1カウントを追加し、各補正量が目標範囲内である場合には現在のオーバー回数を維持する。
マスタ装置1Cは、オーバー回数が閾値Th以上であるか否かを判断する(ステップS324)。オーバー回数が閾値Th以上である場合には(ステップS324においてYES)、マスタ装置1CはステップS10の処理を実行する。この場合、マスタ装置1Cは、再度、ステップS10~S22の処理を実行し、各スレーブ装置2を複数のグループに再分類するとともに、各グループの同期周期を再設定する。
オーバー回数が閾値Th未満である場合には(ステップS324においてNO)、マスタ装置1Cは、各スレーブ装置2から、ステップS22における時刻同期を実行した場合の各補正量と、ステップS18において設定された複数のグループに各スレーブ装置2を分類するための分類情報と、ステップS20において設定された各グループの同期周期とを状態変数として観測する(ステップS304A)。
続いて、マスタ装置1Cは、図24で説明したステップS306~S312の各処理を実行する。具体的には、マスタ装置1Cは、ステップS304Aにおいて観測された各補正量、各グループの同期周期、および分類情報を入力とする学習モデルを用いて、各スレーブ装置2を他の複数のグループに分類するための他の分類情報と、他の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置2とマスタ装置1Cが時刻同期を行なう他の新たな同期周期とを選択する。選択される他の分類情報は、ステップS18での処理に対応する分類情報とは別の分類情報であり、他の新たな同期周期は、ステップS20において設定された新たな同期周期とは別の同期周期である。マスタ装置1Cは、選択された分類情報に基づいて各スレーブ装置2を他の複数のグループに分類し、グループごとに設定された同期周期で、各グループに属する1以上のスレーブ装置2と時刻同期を実行する。
続いて、ステップS322において、マスタ装置1Cは、各スレーブ装置2から、ステップS312における時刻同期を実行した場合に、各スレーブ装置2から取得された各補正量の少なくとも1つが目標範囲外となった回数をカウントする。オーバー回数が閾値Th未満である場合(ステップS324においてNO)、マスタ装置1CはステップS304Aを実行する。具体的には、マスタ装置1Cは、ステップS312における時刻同期を実行した場合の各補正量と、ステップS310で選択された分類情報および各グループの同期周期とを状態変数として観測する。以降、図24で説明したステップS306~S312の各処理を実行する。
<利点>
実施の形態5によると、機械学習の開始時に時刻同期精度が要求される目標同期精度から外れることを抑制する。また、オーバー回数が閾値以上になった場合には学習結果が発散しているとみなして、再度、分類情報および各グループの同期周期を設定することができる。
実施の形態6.
実施の形態1では、マスタ装置1が各グループに属する複数のスレーブ装置2と直接時刻同期を実行する構成について説明した。実施の形態6では、各グループに属する複数のスレーブ装置2の中から選定されたサブマスタ装置とマスタ装置1との間で時刻同期が実施される。また、各グループにおいて、サブマスタ装置と複数のスレーブ装置2との間で時刻同期が実施される。
図28は、実施の形態6に従う通信システムにおいて、同期周期が最適化された状態の構成を示す図である。ここで、ネットワークの初期構成は、図4に示すように、マスタ装置1に複数のスレーブ装置2が接続されている構成であるとする。マスタ装置1は、各スレーブ装置2を複数のグループに分け、各グループを代表するサブマスタ装置4を選定すると、図28に示すネットワークが形成される。
具体的には、実施の形態1で説明したように、マスタ装置1は、各スレーブ♯4,♯7,♯9,♯13をグループAに分類し、各スレーブ♯5,♯6,♯8,♯10をグループBに分類し、各スレーブ♯1,♯2,♯3,♯11,♯12をグループCに分類する。
ここで、図28中の「SMA」はサブマスタ装置4を表わしており、3つのサブマスタ装置4は、それぞれサブマスタ♯1~♯3とも称される。マスタ装置1は、グループAに属する各スレーブ装置2のうちの1のスレーブ装置(例えば、スレーブ♯4)を、グループAにおけるサブマスタ装置4(以下、「サブマスタ♯1」とも称する。)として選定する。マスタ装置1は、グループBに属する各スレーブ装置2のうちの1のスレーブ装置(例えば、スレーブ♯5)を、グループBにおけるサブマスタ装置4(以下、「サブマスタ♯2」とも称する。)として選定し、グループCに属する各スレーブ装置2のうちの1のスレーブ装置(例えば、スレーブ♯1)を、グループCにおけるサブマスタ装置4(以下、「サブマスタ♯3」とも称する。)として選定する。例えば、サブマスタ装置4の選定は、ランダムに行われる。
マスタ装置1は、グループAのサブマスタ♯1と時刻同期を行なう新たな同期周期として、グループAに属する各スレーブ装置2における目標同期周期のうち最大の目標同期周期Xaを設定する。マスタ装置1は、グループBのサブマスタ♯2と時刻同期を行なう新たな同期周期として目標同期周期Xbを設定し、グループCのサブマスタ♯3と時刻同期を行なう新たな同期周期として目標同期周期Xcを設定する。マスタ装置1は、新たな同期周期Xa,Xb,Xcで、それぞれサブマスタ♯1,♯2,♯3とPTPメッセージを送受信して時刻同期を実行する。
また、サブマスタ♯1は、マスタ装置1により設定された同期周期Xaで、グループAに属するスレーブ♯7,♯9,♯13とPTPメッセージを送受信して時刻同期を実行する。サブマスタ♯2は、同期周期Xbで、グループBに属するスレーブ♯6,♯8,♯10と時刻同期を実行する。サブマスタ♯3は、同期周期Xcで、グループCに属するスレーブ♯2,♯3,♯11,♯12と時刻同期を実行する。
各スレーブ装置2は、当該同期周期でサブマスタ装置4と時刻同期を行なった場合における補正量をサブマスタ装置4に送信する。サブマスタ装置4は、各スレーブ装置2から取得した補正量と、自装置がマスタ装置1と時刻同期を行なった場合における補正量とをマスタ装置1に送信する。例えば、サブマスタ♯1は、各スレーブ♯7,♯9,♯13から取得した補正量と、自身が算出した補正量とをマスタ装置1に送信する。
このように、実施の形態6では、サブマスタ装置4は、設定された同期周期でマスタ装置1と時刻同期を実行するとともに、当該設定された同期周期と同じ同期周期で、自装置と同じグループに属する各スレーブ装置2と時刻同期を実行する。したがって、実施の形態6では、実施の形態1よりも、マスタ装置1のPTPメッセージの通信量を削減できるため、マスタ装置1のネットワークの負荷を軽減できる。
<機能構成>
図29は、実施の形態6に従うサブマスタ装置4の機能構成を示す模式図である。図29を参照して、サブマスタ装置4は、実施の形態1の図8で説明したスレーブ装置2としての機能として、時刻同期通信部201と、補正量算出部203と、時刻カウンタ205と、補正量送信部207とを含む。サブマスタ装置4は、同じグループに属する各スレーブ装置2の時刻同期を管理する機能として、同期周期計測部401と、時刻同期通信部403と、補正量取得部405とを含む。典型的には、これらの各機能は、サブマスタ装置4のCPUがメモリに格納されたプログラムを実行することによって実現される。なお、これらの機能の一部または全部は専用の回路を用いることによって実現されるように構成されていてもよい。
図29では、マスタ装置1によって各スレーブ装置2が複数のグループに分類され、各グループのサブマスタ装置4が選定された状態であるとする。また、マスタ装置1およびスレーブ装置2は、例えば、図8に示すような機能構成を有するものとする。
時刻同期通信部201は、マスタ装置1により設定された同期周期で、マスタ装置1の時刻同期通信部101と時刻同期を実行する。補正量算出部203は、マスタ装置1と時刻同期を行なった場合における、サブマスタ装置4の時刻(以下、「サブマスタ時刻」とも称する。)とマスタ時刻との時刻差の補正量を算出する。
同期周期計測部401は、マスタ装置1の時刻同期通信部101および時刻同期通信部201が送受信しているPTPメッセージを監視する。同期周期計測部401は、当該PTPメッセージの送受信間隔に基づいて、マスタ装置1およびサブマスタ装置4間の時刻同期の同期周期を計測する。なお、マスタ装置1により設定された同期周期は、サブマスタ装置4には通知されない。そこで、サブマスタ装置4側で当該同期周期を把握するために、同期周期計測部401によって、マスタ装置1およびサブマスタ装置4間の時刻同期の同期周期が計測される。
時刻同期通信部403は、計測された同期周期(すなわち、マスタ装置1およびサブマスタ装置4間で実行される時刻同期の同期周期)で、サブマスタ装置4と同じグループに属する各スレーブ装置2と時刻同期を実行する。各スレーブ装置2は、当該同期周期でサブマスタ装置4と時刻同期を行なった場合における、サブマスタ時刻とスレーブ時刻との時刻差の補正量を算出する。補正量取得部405は、各スレーブ装置2から、当該算出された補正量を取得する。
補正量送信部207は、補正量算出部203により算出された補正量と、各スレーブ装置2から取得した補正量とをマスタ装置1に送信する。
<処理手順>
図30は、実施の形態6に従う通信システムの動作の一例を示すフローチャートである。図30のステップS10~S18,S80~S84の各処理は、典型的には、マスタ装置1のCPU11がメモリ12に格納されたプログラムを実行することによって実現される。図30のステップS102~S108の各処理は、典型的には、サブマスタ装置4のCPUがメモリに格納されたプログラムを実行することによって実現される。なお、フローチャートの開始時点では、各スレーブ装置2は複数のグループに分類されていないものとする。
図30を参照して、ステップS10~S18の処理は、図9に示す処理と同様であるため、その詳細な説明は繰り返さない。ステップS18までの処理が終了すると、各スレーブ装置2が複数のグループに分類される。例えば、図28に示すように、各スレーブ装置2がグループA~Cに分類される。
ステップS18の後、マスタ装置1は、複数のグループの各々について、当該グループに分類された1以上のスレーブ装置2の中からサブマスタ装置4を選定する(ステップS80)。例えば、マスタ装置1は、各スレーブ装置2の中からサブマスタ装置4をランダムに選定する。
マスタ装置1は、複数のグループの各々について、当該グループに分類された1以上のスレーブ装置2における目標同期周期のうち最大の目標同期周期を、マスタ装置1が当該グループにおけるサブマスタ装置4と時刻同期を行なう新たな同期周期として設定する(ステップS82)。マスタ装置1は、グループごとに設定された新たな同期周期で、各グループにおけるサブマスタ装置4と時刻同期を実行する(ステップS84)。
次に、サブマスタ装置4は、新たな同期周期でマスタ装置1と時刻同期を行った場合における、マスタ時刻とサブマスタ時刻との時刻差の補正量(以下、便宜上「第1時刻補正量」とも称する。)を算出し、当該第1時刻補正量を用いてサブマスタ時刻を補正する(ステップS102)。サブマスタ装置4は、マスタ装置1と送受信しているPTPメッセージの送受信間隔に基づいて、マスタ装置1との間で実行している時刻同期の同期周期を計測する(ステップS104)。
サブマスタ装置4は、計測した同期周期(すなわち、新たな同期周期)で、自装置と同じグループに分類されている各スレーブ装置2と時刻同期を実行する(ステップS106)。各スレーブ装置2は、当該同期周期でサブマスタ装置4と時刻同期を行った場合における補正量(以下、便宜上「第2時刻補正量」とも称する。)を算出し、当該第2時刻補正量をサブマスタ装置4に送信する。サブマスタ装置4は、ステップS102において算出した第1時刻補正量と、各スレーブ装置2から取得した第2時刻補正量とをマスタ装置1に送信する(ステップS108)。
上記において、マスタ装置1は、ステップS108において送信された各時刻補正量を用いて図10のステップS32に示す処理を実行してもよい。具体的には、各サブマスタ装置4から受信した複数の時刻補正量のうちの少なくとも1つが目標補正量Ys以上である場合、マスタ装置1はステップS10からの処理を再実行する。この場合、マスタ装置1は、各サブマスタ装置4から取得した複数の時刻補正量に基づいて、各スレーブ装置2と時刻同期を行なう際の同期周期を再設定する。
各サブマスタ装置4から受信したすべての時刻補正量が目標補正量Ys未満である場合、マスタ装置1はステップS84からの処理を繰り返す。この場合、現在設定されている同期周期で、マスタ装置1はサブマスタ装置4と時刻同期を行ない、サブマスタ装置4は各スレーブ装置2と時刻同期を行なう。
実施の形態6において、他の実施の形態(例えば、実施の形態2,4,5)に従う分類方式を採用して、各スレーブ装置2を複数のグループに分類する構成であってもよい。また、実施の形態6において、実施の形態3の図14のように、ホップ数が最小の通信経路に従って、マスタ装置1および各スレーブ装置2がマルチホップ通信を行なう構成であってもよい。この場合、サブマスタ装置4は、マスタ装置1から1ホップ目の経路にあたるノードに設定される。例えば、グループAのサブマスタ♯1はスレーブ♯4であり、グループBのサブマスタ♯2はスレーブ♯5であり、グループCのサブマスタ♯3はスレーブ♯1である。
<利点>
実施の形態6によると、実施の形態1の利点に加えて、時刻同期精度を確保しつつ、マスタ装置1のPTPメッセージの通信量を削減でき、マスタ装置1のネットワークの負荷を軽減できる。また、マスタ装置1、サブマスタ装置4、およびスレーブ装置2において、高価かつ高精度のクロック発信器を用いる必要が無いため、装置の価格を抑えることもできる。
その他の実施の形態.
(1)上述した実施の形態1では、同期周期ごとに時刻同期を複数回実施することにより、補正量のバラツキを考慮して、同期周期と補正量との対応関係(例えば、一次関数501)を求める構成について説明したが、当該構成に限られない。例えば、同期周期ごとに、時刻同期を1回実施することにより、同様の方法で、同期周期と補正量との対応関係を求める構成であってもよい。この場合、複数のスレーブ装置2の各々における当該対応関係は、当該スレーブ装置2がマスタ装置1と時刻同期を行なう同期周期に対して、当該スレーブ装置2における補正量を直線近似した一次関数である。
(2)上述した実施の形態4および5では、状態変数として、各スレーブ装置2から取得される補正量、各グループの同期周期、および分類情報を用いる構成について説明したが、当該構成に限られない。例えば、状態変数として分類情報を用いない構成であってもよい。この場合、状態変数は、各スレーブ装置2から取得される補正量および1つの同期周期である。
具体的には、マスタ装置1Bは、同期周期の初期値をランダムに設定し、設定された同期周期で各スレーブ装置2と時刻同期を実行する。マスタ装置1Bは、各スレーブ装置2から、当該同期周期でマスタ装置1Bと時刻同期を行なった場合における、マスタ装置1Bの時刻と当該スレーブ装置2の時刻との差の補正量を取得する。
次に、マスタ装置1Bは、取得した各補正量および当該同期周期とを入力とする学習モデルを用いて、各スレーブ装置2と時刻同期を行なう新たな同期周期を選択する。具体的には、マスタ装置1Bは、各補正量と、当該同期周期を状態変数として観測する。マスタ装置1Bは、上述した報酬基準に従って報酬を計算し、式(7)を用いて行動価値関数Q(st,at)を更新し、公知の行動選択方式を用いて新たな同期周期を選択する。
続いて、マスタ装置1Bは、選択された同期周期で各スレーブ装置2と時刻同期を実行する。その後、マスタ装置1Bは、行動価値関数Q(st,at)が収束すると、当該行動価値関数Q(st,at)に基づいて報酬が最も多く得られる同期周期を選択する。マスタ装置1Bは、選択した同期周期に基づいて、各スレーブ装置2と時刻同期を実行する。
なお、スレーブ装置2を使用する周辺環境の温度変化等の要因により、遅延時間tdおよび時刻差tdiffにバラツキが生じることから、状態変数として、スレーブ装置2の周辺環境の温度をさらに含む構成であってもよい。この場合、スレーブ装置2に温度センサを搭載し、スレーブ装置2は、検出された温度を時刻同期の補正量とともにマスタ装置へ送信すればよい。
(3)上述した実施の形態4および5では、機械学習器5が強化学習を利用して機械学習をする場合について説明したが、これに限られない。機械学習器5は、教師あり学習、教師なし学習、または半教師あり学習等を利用して機械学習を行なってもよい。
また、上述した学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもでき、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
(4)上述した実施の形態では、k平均法によるスレーブ装置2のクラスタリング機能、同期周期の設定機能、機械学習機能はマスタ装置に搭載されているが、これに限られない。例えば、機械学習器をGPGPUで実現してもよいし、クラウドサーバ上に置いて、マスタ装置とクラウドサーバとで通信して実現してもよい。また、上述したマスタ装置およびスレーブ装置の各処理は、ソフトウェアプログラムで実現してもよく、また、電子回路とソフトウェアプログラムを組み合わせて実現してもよい。
(5)上述の実施の形態として例示した構成は、本発明の構成の一例であり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能である。また、上述した実施の形態において、他の実施の形態で説明した処理および構成を適宜採用して実施する場合であってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,1A~1C マスタ装置、2,2A スレーブ装置、3 ネットワーク、4 サブマスタ装置、5 機械学習器、11 CPU、12 メモリ、13 ネットワークインターフェイス、14 バス、52 状態観測部、54 学習部、56 行動選択部、100,100A 通信システム、101,101B,201,403 時刻同期通信部、103,405 補正量取得部、105 関係算出部、107 目標同期周期算出部、109 分類部、111 設定部、113,113C 監視部、115 経路算出部、203 補正量算出部、205 時刻カウンタ、207 補正量送信部、209 経路探索部、301,303,305,307 情報切替部、401 同期周期計測部、502 報酬基準設定部、504 報酬計算部、506 学習結果記憶部、508 関数更新部、510 分類情報選択部、512 同期周期選択部。

Claims (25)

  1. マスタ装置と、
    前記マスタ装置から送信される時刻同期メッセージに基づいて前記マスタ装置と時刻同期を行なう複数のスレーブ装置とを備え、
    各前記スレーブ装置は、複数の同期周期の各々について、当該同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を記憶し、
    前記マスタ装置は、
    各前記スレーブ装置から、各前記同期周期についての前記補正量を取得し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置から取得された各前記補正量に基づいて、前記マスタ装置が当該スレーブ装置と時刻同期を行なう同期周期と、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量との対応関係を算出し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置の前記対応関係に基づいて、当該スレーブ装置における前記補正量の目標値に対応する目標同期周期を算出し、
    各前記スレーブ装置における前記目標同期周期に基づいて、各前記スレーブ装置を複数のグループに分類し、
    前記複数のグループの各々について、当該グループに分類された1以上のスレーブ装置における前記目標同期周期のうち最大の目標同期周期を、前記マスタ装置が前記1以上のスレーブ装置と時刻同期を行なう新たな同期周期として設定する、通信システム。
  2. 各前記スレーブ装置は、前記複数の同期周期の各々について、当該同期周期で前記マスタ装置と時刻同期を複数回実行し、複数回分の各前記補正量を記憶し、
    前記マスタ装置は、前記複数のスレーブ装置の各々について、当該スレーブ装置から取得された複数回分の各前記補正量に基づいて、当該スレーブ装置における前記対応関係を算出し、
    前記複数のスレーブ装置の各々における前記対応関係は、当該スレーブ装置が前記マスタ装置と時刻同期を行なう同期周期に対して、複数回分の前記補正量における、平均値と標準偏差との加算値を、直線近似した一次関数である、請求項1に記載の通信システム。
  3. 前記マスタ装置は、前記複数のスレーブ装置の各々について、当該スレーブ装置におけ
    る前記一次関数と前記補正量の目標値とに基づいて、当該スレーブ装置における前記目標同期周期を算出する、請求項2に記載の通信システム。
  4. 前記マスタ装置は、前記複数のスレーブ装置の各々について、当該スレーブ装置における前記目標同期周期と各前記グループに対応するクラスタ中心との距離を算出し、当該距離が最も小さくなる前記クラスタ中心に対応するグループに当該スレーブ装置を分類する、請求項1~請求項3のいずれか1項に記載の通信システム。
  5. 前記新たな同期周期を設定した後に、各前記スレーブ装置から取得された前記補正量の少なくとも1つが前記目標値以上である場合、前記マスタ装置は、各前記補正量を取得する処理、前記対応関係を算出する処理、前記目標同期周期を算出する処理、各前記スレーブ装置を前記複数のグループに分類する処理、および、前記新たな同期周期を設定する処理の各処理を再度実行する、請求項1~請求項4のいずれか1項に記載の通信システム。
  6. 前記マスタ装置は、
    各前記スレーブ装置における前記目標同期周期に基づいて、各前記スレーブ装置を第1の複数の候補グループに分類し、
    各前記スレーブ装置を、前記第1の複数の候補グループとは異なる第2の複数の候補グループに分類し、
    予め定められた式に基づいて、各前記スレーブ装置が前記第1の複数の候補グループに分類された場合における、前記通信システムのネットワーク負荷を示す第1評価値と、各前記スレーブ装置が前記第2の複数の候補グループに分類された場合における、前記通信システムのネットワーク負荷を示す第2評価値とを算出し、
    前記第1および第2評価値のうち最小の評価値に対応する複数の候補グループを、前記複数のグループとして決定する、請求項1~請求項5のいずれか1項に記載の通信システム。
  7. 前記マスタ装置は、前記第1の複数の候補グループに分類する際に用いた前記補正量の目標値の変更、および前記第1の複数の候補グループの数の変更のうちの少なくとも1つを実行することによって、各前記スレーブ装置を前記第2の複数の候補グループに分類する、請求項6に記載の通信システム。
  8. 前記マスタ装置は、前記第2の複数の候補グループのうちの第1候補グループに属するスレーブ装置と、前記第2の複数の候補グループのうちの第2候補グループに属するスレーブ装置とを入れ替えることによって、各前記スレーブ装置を第3の複数の候補グループに分類する、請求項7に記載の通信システム。
  9. 前記マスタ装置および各前記スレーブ装置はマルチホップ通信可能に構成されており、
    前記マスタ装置は、
    前記複数のグループの各々について、前記マスタ装置と当該グループに属する複数のスレーブ装置との間における複数の通信経路を算出し、
    前記複数のグループの各々について、当該グループにおける前記複数の通信経路のうち、当該グループに属する複数のスレーブ装置のホップ数を最小化する通信経路に従って、当該複数のスレーブ装置とマルチホップ通信を行なう、請求項1~請求項7のいずれか1項に記載の通信システム。
  10. 前記マスタ装置は、前記新たな同期周期で時刻同期を実行した場合に、各前記スレーブ装置から取得された各前記補正量の少なくとも1つが目標範囲外となった回数をカウントし、
    前記回数が閾値未満である場合、前記マスタ装置は、
    各前記補正量、各前記新たな同期周期、および、各前記スレーブ装置を前記複数のグループに分類するための分類情報を入力とする学習モデルを用いて、各前記スレーブ装置を他の複数のグループに分類するための他の分類情報と、前記他の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と前記マスタ装置が時刻同期を行なう他の新たな同期周期とを選択する、請求項1~請求項4のいずれか1項に記載の通信システム。
  11. 複数のスレーブ装置と通信可能に構成されたマスタ装置であって、
    前記マスタ装置は、
    各前記スレーブ装置から、複数の同期周期の各々について、当該同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を取得し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置から取得された各前記補正量に基づいて、前記マスタ装置が当該スレーブ装置と時刻同期を行なう同期周期と、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量との対応関係を算出し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置の前記対応関係に基づいて、当該スレーブ装置における前記補正量の目標値に対応する目標同期周期を算出し、
    各前記スレーブ装置における前記目標同期周期に基づいて、各前記スレーブ装置を複数のグループに分類し、
    前記複数のグループの各々について、当該グループに分類された1以上のスレーブ装置における前記目標同期周期のうち最大の目標同期周期を、前記マスタ装置が前記1以上のスレーブ装置と時刻同期を行なう新たな同期周期として設定する、マスタ装置。
  12. マスタ装置と、
    前記マスタ装置から送信される時刻同期メッセージに基づいて前記マスタ装置と時刻同期を行なう複数のスレーブ装置とを備え、
    前記マスタ装置は、
    第1分類情報に基づいて、各前記スレーブ装置を第1の複数のグループに分類し、
    前記第1の複数のグループの各々について、当該グループに設定された第1同期周期で当該グループに分類された1以上のスレーブ装置と時刻同期を行ない、
    前記時刻同期を行なった場合に、各前記スレーブ装置から、前記マスタ装置の時刻と
    当該スレーブ装置の時刻との差の第1補正量を取得し、
    各前記第1補正量、各前記第1同期周期、および前記第1分類情報を入力とする学習モデルを用いて、各前記スレーブ装置を第2の複数のグループに分類するための第2分類情報と、前記第2の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と前記マスタ装置が時刻同期を行なう新たな第2同期周期とを選択する、通信システム。
  13. 前記マスタ装置は、各前記第1同期周期の総和および各前記第1補正量の少なくとも一方に基づいて、前記学習モデルの学習に用いられる報酬を計算する、請求項12に記載の通信システム。
  14. 前記マスタ装置は、
    前記学習モデルの学習が終了した学習済モデルに基づいて、前記複数のスレーブ装置を第3の複数のグループに分類するための第3分類情報と、前記第3の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と前記マスタ装置が時刻同期を行なう新たな第3同期周期とを選択し、
    前記第3分類情報に基づいて、前記複数のスレーブ装置を前記第3の複数のグループに分類し、
    前記第3の複数のグループのうちの1のグループに新たな他のスレーブ装置を追加することにより、前記複数のスレーブ装置および前記他のスレーブ装置を第4の複数のグループに分類し、
    前記第4の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と、当該グループに設定された前記第3同期周期で時刻同期を行なう、請求項12または請求項13に記載の通信システム。
  15. 前記マスタ装置は、
    前記第3同期周期で時刻同期を行なった場合に、前記複数のスレーブ装置および前記他のスレーブ装置の各々から、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の第2補正量を取得し、
    各前記第2補正量の少なくとも1つが基準閾値以上である場合、各前記第2補正量と、各前記第3同期周期と、前記複数のスレーブ装置および前記他のスレーブ装置を前記第4の複数のグループに分類するための第4分類情報とを再学習前の前記学習済モデルに入力し、
    各前記第2補正量と、各前記第3同期周期と、前記第4分類情報とが前記再学習前の前記学習済モデルに入力されることにより再学習された前記学習済モデルを用いて、前記複数のスレーブ装置および前記他のスレーブ装置を第5の複数のグループに分類するための第5分類情報と、前記第5の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と前記マスタ装置が時刻同期を行なう新たな第4同期周期とを選択する、請求項14に記載の通信システム。
  16. マスタ装置と、
    前記マスタ装置から送信される時刻同期メッセージに基づいて前記マスタ装置と時刻同期を行なう複数のスレーブ装置とを備え、
    前記マスタ装置は、
    第1分類情報に基づいて、記スレーブ装置を第1の複数のグループに分類し、
    前記第1の複数のグループの各々について、当該グループに設定された第1同期周期で当該グループに分類された1以上のスレーブ装置と時刻同期を行ない、
    前記時刻同期を行なった場合に、記スレーブ装置から、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の第1補正量を取得し、
    各前記第1補正量、各前記第1同期周期、および前記第1分類情報を入力とする学習モデルを用いて、記スレーブ装置を第2の複数のグループに分類するための第2分類情報と、前記第2の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と前記マスタ装置が時刻同期を行なう新たな第2同期周期とを選択する、通信システム。
  17. マスタ装置と、
    前記マスタ装置から送信される時刻同期メッセージに基づいて前記マスタ装置と時刻同期を行なう複数のスレーブ装置とを備え、
    前記マスタ装置は、
    設定された同期周期で各前記スレーブ装置と時刻同期を行ない、
    各前記スレーブ装置から、前記同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を取得し、
    取得した各前記補正量および前記同期周期を入力とする学習モデルを用いて、各前記スレーブ装置と時刻同期を行なう新たな同期周期を選択する、通信システム。
  18. 複数のスレーブ装置と通信可能に構成されたマスタ装置であって、
    前記マスタ装置は、
    第1分類情報に基づいて、各前記スレーブ装置を第1の複数のグループに分類し、
    前記第1の複数のグループの各々について、当該グループ用に設定された第1同期周期で当該グループに分類された1以上のスレーブ装置と時刻同期を行ない、
    前記時刻同期を行なった場合に、各前記スレーブ装置から、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の第1補正量を取得し、
    各前記第1補正量、各前記第1同期周期、および前記第1分類情報を入力とする学習モデルを用いて、各前記スレーブ装置を第2の複数のグループに分類するための第2分類情報と、前記第2の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と前記マスタ装置が時刻同期を行なう新たな第2同期周期とを選択する、マスタ装置。
  19. 複数のスレーブ装置と通信可能に構成されたマスタ装置であって、
    前記マスタ装置は、
    第1分類情報に基づいて、記スレーブ装置を第1の複数のグループに分類し、
    前記第1の複数のグループの各々について、当該グループ用に設定された第1同期周期で当該グループに分類された1以上のスレーブ装置と時刻同期を行ない、
    前記時刻同期を行なった場合に、記スレーブ装置から、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の第1補正量を取得し、
    各前記第1補正量、各前記第1同期周期、および前記第1分類情報を入力とする学習モデルを用いて、記スレーブ装置を第2の複数のグループに分類するための第2分類情報と、前記第2の複数のグループの各々について、当該グループに分類された1以上のスレーブ装置と前記マスタ装置が時刻同期を行なう新たな第2同期周期とを選択する、マスタ装置。
  20. 複数のスレーブ装置と通信可能に構成されたマスタ装置であって、
    前記マスタ装置は、
    設定された同期周期で各前記スレーブ装置と時刻同期を行ない、
    各前記スレーブ装置から、前記同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を取得し、
    取得した各前記補正量および前記同期周期を入力とする学習モデルを用いて、各前記スレーブ装置と時刻同期を行なう新たな同期周期を選択する、マスタ装置。
  21. マスタ装置と、
    前記マスタ装置から送信される時刻同期メッセージに基づいて前記マスタ装置と時刻同期を行なう複数のスレーブ装置とを備え、
    各前記スレーブ装置は、複数の同期周期の各々について、当該同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を記憶し、
    前記マスタ装置は、
    各前記スレーブ装置から、各前記同期周期についての前記補正量を取得し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置から取得された各前記補正量に基づいて、前記マスタ装置が当該スレーブ装置と時刻同期を行なう同期周期と、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量との対応関係を算出し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置の前記対応関係に基づいて、当該スレーブ装置における前記補正量の目標値に対応する目標同期周期を算出し、
    各前記スレーブ装置における前記目標同期周期に基づいて、各前記スレーブ装置を複数のグループに分類し、
    前記複数のグループの各々について、当該グループに分類された1以上のスレーブ装置の中からサブマスタ装置を選定し、
    前記複数のグループの各々について、当該グループに分類された1以上のスレーブ装置における前記目標同期周期のうち最大の目標同期周期を、前記マスタ装置が当該グループにおける前記サブマスタ装置と時刻同期を行なう新たな同期周期として設定する、通信システム。
  22. 前記サブマスタ装置は、
    前記新たな同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と当該サブマスタ装置の時刻との差の補正量を示す第1時刻補正量を算出し、
    前記新たな同期周期で前記サブマスタ装置と同じグループに分類されている各スレーブ装置と時刻同期を行ない、
    前記同じグループに分類されている各スレーブ装置から、前記新たな同期周期で前記サブマスタ装置と時刻同期を行なった場合における、前記サブマスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を示す第2時刻補正量を取得し、
    前記第1時刻補正量と、各前記第2時刻補正量を前記マスタ装置に送信する、請求項21に記載の通信システム。
  23. 前記マスタ装置は、
    前記複数のグループの各々について、前記マスタ装置と、当該グループに属する前記サブマスタ装置および1以上のスレーブ装置との間における複数の通信経路を算出し、
    前記複数のグループの各々について、当該グループにおける前記複数の通信経路のうち、当該グループに属する前記サブマスタ装置および1以上のスレーブ装置のホップ数を最小化する通信経路に従って、当該グループに属する前記サブマスタ装置および1以上のスレーブ装置とマルチホップ通信を行なう、請求項21に記載の通信システム。
  24. マスタ装置と、
    前記マスタ装置から送信される時刻同期メッセージに基づいて前記マスタ装置と時刻同期を行なう複数のスレーブ装置とを備え、
    各前記スレーブ装置は、複数の同期周期の各々について、当該同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を記憶し、
    前記マスタ装置は、
    各前記スレーブ装置から、各前記同期周期についての前記補正量を取得し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置から取得された各前記補正量に基づいて、前記マスタ装置が当該スレーブ装置と時刻同期を行なう同期周期と、前記マスタ装置の時刻と当該スレーブ装置の時刻との差の補正量との対応関係を算出し、
    前記複数のスレーブ装置の各々について、当該スレーブ装置の前記対応関係に基づいて、当該スレーブ装置における前記補正量の目標値に対応する目標同期周期を算出し、
    各前記スレーブ装置における前記目標同期周期に基づいて、各前記スレーブ装置を複数のグループに分類し、
    前記複数のグループの各々について、当該グループに分類された1以上のスレーブ装置の中からサブマスタ装置を選定し、
    前記複数のグループの各々について、当該グループに分類された1以上のスレーブ装置における前記目標同期周期のうち最大の目標同期周期を、前記マスタ装置が当該グループにおける前記サブマスタ装置と時刻同期を行なう新たな同期周期として設定する、通信システム。
  25. マスタ装置および複数のスレーブ装置と通信可能に構成されたサブマスタ装置であって、
    前記サブマスタ装置は、
    設定された同期周期で前記マスタ装置と時刻同期を行なった場合における、前記マスタ装置の時刻と前記サブマスタ装置の時刻との差の補正量を示す第1時刻補正量を算出し、
    前記同期周期で前記複数のスレーブ装置と時刻同期を行ない、
    各前記スレーブ装置から、前記同期周期で前記サブマスタ装置と時刻同期を行なった場合における、前記サブマスタ装置の時刻と当該スレーブ装置の時刻との差の補正量を示す第2時刻補正量を取得し、
    前記第1時刻補正量と、各前記第2時刻補正量を前記マスタ装置に送信する、サブマスタ装置。
JP2021514789A 2019-04-19 2019-09-18 通信システム、マスタ装置、スレーブ装置、およびサブマスタ装置 Active JP7154395B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019080381 2019-04-19
JP2019080381 2019-04-19
PCT/JP2019/036616 WO2020213190A1 (ja) 2019-04-19 2019-09-18 通信システム、マスタ装置、スレーブ装置、およびサブマスタ装置

Publications (2)

Publication Number Publication Date
JPWO2020213190A1 JPWO2020213190A1 (ja) 2021-12-16
JP7154395B2 true JP7154395B2 (ja) 2022-10-17

Family

ID=72837246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021514789A Active JP7154395B2 (ja) 2019-04-19 2019-09-18 通信システム、マスタ装置、スレーブ装置、およびサブマスタ装置

Country Status (3)

Country Link
US (1) US11658757B2 (ja)
JP (1) JP7154395B2 (ja)
WO (1) WO2020213190A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009182659A (ja) 2008-01-30 2009-08-13 Toshiba Corp タイミング同期方法、同期装置、同期システム及び同期プログラム
US20140269673A1 (en) 2011-11-11 2014-09-18 Telefonaktiebolaget L M Ericsson (Publ) Sync Interval Determination
JP2015068806A (ja) 2013-10-01 2015-04-13 株式会社日立製作所 時刻同期システム及び装置
US20180226993A1 (en) 2017-02-06 2018-08-09 Valens Semiconductor Ltd. Efficient recovery of lost packets using double parity forward error correction

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009232434A (ja) 2008-02-29 2009-10-08 Sumitomo Electric Ind Ltd 基地局装置、及び同期信号取得方法
JP5184597B2 (ja) * 2010-09-06 2013-04-17 株式会社日立産機システム 通信制御装置及び通信・制御システム
US8120935B2 (en) * 2011-03-29 2012-02-21 American Superconductor Corporation Power converter with dual ring network control
US9106353B2 (en) * 2011-12-13 2015-08-11 Jds Uniphase Corporation Time synchronization for network testing equipment
JP6139131B2 (ja) 2012-12-27 2017-05-31 住友電気工業株式会社 通信システム、無線機、処理方法、コンピュータプログラム、及び処理装置
KR101550552B1 (ko) * 2014-09-19 2015-09-07 성균관대학교산학협력단 시간 동기화 주기를 조절할 수 있는 시간 동기화 슬레이브 장치 및 시간 동기화 주기 결정 방법
JP6461718B2 (ja) * 2015-06-05 2019-01-30 株式会社東芝 管理装置、システム及び方法
JP6846111B2 (ja) * 2016-02-26 2021-03-24 オムロン株式会社 マスタ装置、スレーブ装置、情報処理装置、イベントログ収集システム、マスタ装置の制御方法、スレーブ装置の制御方法、および制御プログラム
JP6594813B2 (ja) * 2016-03-24 2019-10-23 株式会社神戸製鋼所 通信制御システム及び通信制御方法
JP6404975B2 (ja) * 2017-03-21 2018-10-17 ファナック株式会社 スレーブ、シリアル通信システム、および、シリアル通信システムの通信方法
US11105840B2 (en) * 2018-04-06 2021-08-31 Bently Nevada, Llc Monitoring system with multidrop backplane scheduler
CN110581743B (zh) * 2018-06-11 2021-01-22 京东方科技集团股份有限公司 电子设备、时间同步系统及时间同步方法
WO2020021597A1 (ja) * 2018-07-23 2020-01-30 三菱電機株式会社 通信装置、通信システムおよび同期制御方法
CN113194528B (zh) * 2021-03-18 2023-01-31 深圳市汇顶科技股份有限公司 同步控制方法、芯片、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009182659A (ja) 2008-01-30 2009-08-13 Toshiba Corp タイミング同期方法、同期装置、同期システム及び同期プログラム
US20140269673A1 (en) 2011-11-11 2014-09-18 Telefonaktiebolaget L M Ericsson (Publ) Sync Interval Determination
JP2015068806A (ja) 2013-10-01 2015-04-13 株式会社日立製作所 時刻同期システム及び装置
US20180226993A1 (en) 2017-02-06 2018-08-09 Valens Semiconductor Ltd. Efficient recovery of lost packets using double parity forward error correction

Also Published As

Publication number Publication date
WO2020213190A1 (ja) 2020-10-22
US11658757B2 (en) 2023-05-23
US20220116131A1 (en) 2022-04-14
JPWO2020213190A1 (ja) 2021-12-16

Similar Documents

Publication Publication Date Title
CN111770019B (zh) 基于Dijkstra算法的Q-learning光片上网络自适应路由规划方法
CN113901126A (zh) 告警因果关系挖掘方法、告警因果挖掘装置及存储介质
US20200336373A1 (en) A Method and Apparatus for Dynamic Network Configuration and Optimisation Using Artificial Life
CN109660374A (zh) 一种基于智能时隙选择的信道接入方法
CN113194034A (zh) 基于图神经网络和深度强化学习的路由优化方法及系统
Van Segbroeck et al. Learning to coordinate in complex networks
CN111813858B (zh) 基于计算节点自组织分组的分布式神经网络混合同步训练方法
CN110118566A (zh) 机器人运行路径生成方法及装置
Künzel et al. Weight adjustments in a routing algorithm for wireless sensor and actuator networks using Q-learning
Zehtabi et al. Decentralized event-triggered federated learning with heterogeneous communication thresholds
Yang et al. Distributed bandits with heterogeneous agents
JP7154395B2 (ja) 通信システム、マスタ装置、スレーブ装置、およびサブマスタ装置
Chasparis et al. Network formation: Neighborhood structures, establishment costs, and distributed learning
Dutta et al. Cooperative information sharing to improve distributed learning in multi-agent systems
WO2017016417A1 (zh) 一种系统控制方法、装置,控制器及控制系统
Kolomvatsos et al. In-network decision making intelligence for task allocation in edge computing
CN116132353A (zh) 基于ddqn的tsn路由选择方法
JP2020017828A (ja) 経路選択装置、経路選択方法及びプログラム
Mudvari et al. Robust sdn synchronization in mobile networks using deep reinforcement and transfer learning
Förster et al. Machine learning across the WSN layers
Geraldo Filho et al. An energy-aware system for decision-making in a residential infrastructure using wireless sensors and actuators
CN109451554B (zh) 一种无线网络路径优化方法及系统
CN113192043A (zh) 基于多尺度拓扑图的医学关键点检测方法、装置及应用
CN108738029B (zh) 无线传感器网络中参考节点的移动路径动态规划方法
Wu et al. A hybrid optimisation algorithm based on GA algorithm and ACO algorithm improvements for routing selection in heterogeneous sensor networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221004

R150 Certificate of patent or registration of utility model

Ref document number: 7154395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150