(57)【要約】      （修正有）【課題】種々のジッタ現象の影響によって非効率的にならない、ハードウェア支援の実装においてマスターデバイスのクロックにスレーブデバイスのクロックをより速い間隔で同期させる方法及び装置を提供する。【解決手段】本方法は、３つのメッセージの受信を含む。時間差は、メッセージのうちの２つから抽出された時間と、メッセージのうちの異なる一の受信時間とに基づいて決定される。スレーブデバイスのクロックは、これらの時間差に基づいて調整することができる。このため、同期を計算し、実装するために動的加重平均を含めることができる。【選択図】図１
2017005701.tif 000002
【特許請求の範囲】
【請求項１】
スレーブデバイスを同期させる方法であって、
第１のメッセージを受信する工程と、
前記第１のメッセージから第１の時間を抽出する工程と、
第２のメッセージ及び第３のメッセージを受信する工程と、
前記第２のメッセージの受信を示す第２の時間を決定する工程と、
前記第３のメッセージから第３の時間を抽出する工程と、
前記第１の時間と前記第３の時間との間の第１の差を決定する工程と、
前記第２の時間と前記第１の時間との間の第２の差を決定する工程とを含む、方法。
【請求項２】
前記第１のメッセージの前に第４のメッセージを受信する工程と、
前記第４のメッセージの受信を示す第４の時間を決定する工程と、
前記第１のメッセージ及び前記第４のメッセージに基づいて第３の差を決定する工程と、
前記第３の差に基づいて前記スレーブデバイスのクロック時間を調整する工程とをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の差及び前記第２の差に基づいて前記スレーブデバイスのクロック周波数を調整することをさらに含む、請求項１に記載の方法。
【請求項４】
前記第１の差と、前記第２の差と、従前の速度比とに基づいて速度比を決定する工程と、
前記速度比に基づいて前記スレーブデバイスのクロック周波数を調整する工程とをさらに含む、請求項１に記載の方法。
【請求項５】
前記第２の差に基づいて速度比を決定する工程と、
前記速度比に基づいて前記スレーブデバイスのクロック周波数を調整する工程とをさらに含む、請求項１に記載の方法。
【請求項６】
前記第２の差がゼロより大きい場合、前記速度比が減少される、請求項５に記載の方法。
【請求項７】
スレーブデバイスを同期させる装置であって、
第１のメッセージと、第２のメッセージと、第３のメッセージとを受信する少なくとも一のインターフェースと、
前記第１のメッセージから第１の時間を抽出し、前記第２のメッセージの受信を示す第２の時間を決定し、前記第３のメッセージから第３の時間を抽出する少なくとも一のプロセッサと
を備え、
前記少なくとも一のプロセッサが、前記第１の時間と前記第３の時間との間の第１の差を決定し、かつ前記第２の時間と前記第１の時間との間の第２の差を決定するように構成される、装置。
【請求項８】
前記少なくとも一のインターフェースが、前記第１のメッセージの前に第４のメッセージを受信し、前記少なくとも一のプロセッサが、前記第４のメッセージの受信を示す第４の時間を決定し、前記少なくとも一のプロセッサが、前記第１のメッセージ及び前記第４のメッセージに基づいて第３の差を決定し、かつ前記第３の差に基づいて前記スレーブデバイスのクロック時間を調整するようにさらに構成される、請求項７に記載の装置。
【請求項９】
前記少なくとも一のプロセッサが、前記第１の差及び前記第２の差に基づいて前記スレーブデバイスのクロック周波数を調整するようにさらに構成される、請求項７に記載の装置。
【請求項１０】
前記少なくとも一のプロセッサが、前記第１の差と、前記第２の差と、従前の速度比とに基づいて速度比を決定し、かつ前記速度比に基づいて前記スレーブデバイスのクロック周波数を調整するようにさらに構成される、請求項７に記載の装置。
【請求項１１】
前記少なくとも一のプロセッサが、前記第２の差に基づいて速度比を決定し、かつ前記速度比に基づいて前記スレーブデバイスのクロック周波数を調整するようにさらに構成される、請求項７に記載の装置。
【請求項１２】
前記第２の差がゼロより大きい場合、前記速度比が減少される、請求項１１に記載の装置。
【請求項１３】
前記第２の差がゼロ未満の場合、前記速度比が増大される、請求項１１に記載の装置。
【請求項１４】
スレーブデバイスを同期させる装置であって、
第１のメッセージと、第２のメッセージと、第３のメッセージとを受信する外部インターフェース手段と、
前記第１のメッセージから第１の時間を抽出し、前記第２のメッセージの受信を示す第２の時間を決定し、前記第３のメッセージから第３の時間を抽出する処理手段と
を備え、
前記処理手段が、前記第１の時間と前記第３の時間との間の第１の差を決定し、かつ前記第２の時間と前記第１の時間との間の第２の差を決定する、装置。
【請求項１５】
前記外部インターフェース手段が、前記第１のメッセージの前に第４のメッセージを受信し、前記処理手段が、前記第４のメッセージの受信を示す第４の時間を決定し、前記第１のメッセージ及び前記第４のメッセージに基づいて第３の差を決定し、かつ前記第３の差に基づいて前記スレーブデバイスのクロック時間を調整する、請求項１４に記載の装置。
【請求項１６】
前記処理手段が、前記第１の差及び前記第２の差に基づいて前記スレーブデバイスのクロック周波数を調整する、請求項１４に記載の装置。
【請求項１７】
前記処理手段が、前記第１の差と、前記第２の差と、従前の速度比とに基づいて速度比を決定し、かつ前記速度比に基づいて前記スレーブデバイスのクロック周波数を調整する、請求項１４に記載の装置。
【請求項１８】
前記処理手段が、第２の差に基づいて速度比を決定し、かつ前記速度比に基づいて前記スレーブデバイスのクロック周波数を調整する、請求項１４に記載の装置。
【請求項１９】
前記第２の差がゼロより大きい場合、前記速度比が減少される、請求項１８に記載の装置。
【請求項２０】
前記第２の差がゼロ未満の場合、前記速度比が増大される、請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワーク内のマスターデバイスのクロックに対するスレーブデバイスのクロックの同期に関する。
【背景技術】
【０００２】
ネットワークは、相互接続されたデバイスを含む。一部のネットワークは、指定されたマスターデバイス及びスレーブデバイスを含み、マスターデバイスはスレーブデバイスを制御し、スレーブデバイスはマスターデバイスによって制御される。これらのデバイスのそれぞれは、クロックが含まれるデバイスの動作を調整する別個のクロックを保持する。これらのクロックは、ハードウェアとソフトウェアとの組み合わせで実装することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＥＥＥ  Ｓｔｄ．８０２．１ＡＳ−２０１１<https://standards.ieee.org/findstds/standard/802.1AS-2011.html>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一部の動作、特にオーディオ及びビデオストリーミングに関連するものについては、スレーブデバイスのクロックがマスターデバイスのクロックに同期する。様々な業界標準が、このような同期に使用され得る。このような標準の一は、ＩＥＥＥ  Ｓｔｄ．８０２．１ＡＳ−２０１１で検討される汎用高精度時間プロトコル（ｇＰＴＰ）である。このｇＰＴＰに関して、幾つかの同期方法が存在する。しかしながら、これらの方法には、同期が遅い等の欠点がある。
【課題を解決するための手段及び発明の効果】
【０００５】
一実施形態において、スレーブデバイスを同期するための装置が提供される。本装置は、第１のメッセージと、第２のメッセージと、第３のメッセージとを受信する少なくとも一のインターフェースを含む。また本装置は、第１のメッセージから第１の時間を抽出し、第２のメッセージの受信を示す第２の時間を決定し、かつ第３のメッセージから第３の時間を抽出する少なくとも一のプロセッサを含む。少なくとも一のプロセッサは、第１の時間と第３の時間との間の第１の差を決定し、かつ第２の時間と第１の時間との間の第２の差を決定する。
【０００６】
一部の実施形態において、少なくとも一のインターフェースは第１のメッセージの前に第４のメッセージを受信し、少なくとも一のプロセッサは第４のメッセージの受信を示す第４の時間を決定する。また少なくとも一のプロセッサは、第１のメッセージ及び第４のメッセージに基づいて第３の差を決定し、その第３の差に基づいてスレーブデバイスのクロック時間を調整する。さらに少なくとも一のプロセッサは、第１の差及び第２の差に基づいてスレーブデバイスのクロック周波数を調整する。さらにまた少なくとも一のプロセッサは、第１の差と、第２の差と、従前の速度比とに基づいて速度比を決定し、かつその速度比に基づいてスレーブデバイスのクロック周波数を調整する。
【０００７】
一部の実装において、少なくとも一のプロセッサは、第２の差に基づいて速度比を決定し、かつその速度比に基づいてスレーブデバイスのクロック周波数を調整する。第２の差がゼロより大きい場合、速度比は減少される。第２の差がゼロ未満の場合、速度比は増大される。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態に係るスレーブ同期技術の全体の流れを示すフローチャートである。
【図２】図２は、一実施形態に係るスレーブ同期技術の第１のパケットの粗調整を示すフローチャートである。
【図３】図３は、従来の実装に係る単純平均化を使用する絶対時間差を示すグラフである。
【図４】図４は、一実施形態に係る動的加重平均を使用する相対時間差を示すグラフである。
【図５】図５は、一実施形態に係る動的加重平均化を使用する絶対時間差を示すグラフである。
【図６】図６は、従来の実装に係る第２のパケットの最適化を行わない相対時間差を示すグラフである。
【図７】図７は、従来の実装に係る第２のパケットの最適化を行わない絶対時間差を示すグラフである。
【図８】図８は、一実施形態に係るスレーブ同期技術の第２のパケットの最適化を示すフローチャートである。
【図９】図９は、一実施形態に係るスレーブ同期技術の第２のパケットの最適化による相対時間差を示すグラフである。
【図１０】図１０は、一実施形態に係るスレーブ同期技術の第２のパケットの最適化による絶対時間差を示すグラフである。
【図１１】図１１は、一実施形態に係るスレーブ同期技術の加速動的加重平均化を示すフローチャートである。
【図１２】図１２は、一実施形態に係るスレーブ同期技術の加速比計算による相対時間差を示すグラフである。
【図１３】図１３は、一実施形態に係るスレーブ同期技術の加速比計算による絶対時間差を示すグラフである。
【図１４】図１４は、一実施形態に係るシステムオンチップを示すブロック図である。
【発明を実施するための形態】
【０００９】
スレーブデバイスのクロックとマスターデバイスのクロックとの間の同期が遅いことにより、現実の問題が生じる可能性がある。例えば、一部の自動車システムは、運転者にネットワークを介して音声警報を送る。安全のため、運転者が車を出発させると直ぐに、これらの警報を利用できなければならない。これらの警報の再生が遅延同期によって遅れると、運転者はタイムリーに緊急警報を得られない危険な状態に晒されるからである。
【００１０】
加えて業界は、これらの自動車システムが、規定のシステム起動時間内に音声を再生することができるよう求めている。従来のシステムは、同期前に運転者に騒々しい警報を再生する試みによって、この規制を回避している。しかしながら、同期することなく、この警報が出される保証はない。
【００１１】
本開示において提案される一部の実施形態は、スレーブデバイスのクロックがマスターデバイスのクロック速度に迅速に整合することを可能にする（すなわち、相対時間差）。また一部の実施形態は、マスターデバイスのクロックとスレーブデバイスのクロックとの間の絶対時間差の減少を可能にする。これにより、自動車システムにおいて、クリーンで保証された音声を届けることができる。さらに、音声の損失の可能性を減少させることができ、より速い同期によって運転者の安全性を改善することができる。
【００１２】
本開示によって提案される特定の機能に言及する前に、スレーブ同期において発生する根本的な問題を読み手が理解し易いように、ここでは基礎的な情報を提供する。
【００１３】
以下検討するように、スレーブデバイスのクロックは、ハードウェアとソフトウェアとの組み合わせで実装することができる。さらに、スレーブデバイスのハードウェアブロックは、実行中のローカルクロックを部分的に維持することができる。次に、このクロックは、ｇＰＴＰドメインクロックに同期するソフトウェアによって操作することができる。
【００１４】
典型的には、スレーブデバイスハードウェアブロックは、調整機能、例えば粗調整及び微調整によりクロックを操作する。典型的には、粗調整及び微調整は、ハードウェアＩＥＥＥ  ８０２．１ＡＳ機構において実装する。ＩＥＥＥ  ８０２．１ＡＳは実装の具体的方法を詳述しないが、一般に認められた慣習が存在する。具体的には、高精度時間プロトコル（ＰＴＰ）は、クロックとそのクロックの各チックでインクリメントされるカウンタを有するハードウェアに実装できる。各クロックチックに、経過時間を示す特定の値がカウンタに加えられる。例えば、クロックが５０ＭＨｚの周波数で動作する場合、値２０が各クロックチックでカウンタに加えられ、２０ｎｓが経過したことを示す。
【００１５】
粗調整では、クロックをマスターデバイスと同期させるために、クロックから特定のオフセットが加算又は減算される。この加算又は減算は、通常、同期手順の初めに行われる。
【００１６】
対照的に、前述の微調整では、ローカルクロックとマスターデバイスとを同調させるために、ローカルクロックの周波数を操作（すなわち、増減）する。具体的には、微調整は前述の特定の値（すなわち２０）がカウンタに加えられる周波数を変化させる。これにより、マスターデバイスのクロックと整合させるためにスレーブクロックを５０％遅くしようとする場合、チック毎ではなく１．５クロックチック毎に、２０ｎｓがカウンタに加えられる。このように、粗調整は連続性を犠牲にして即時調整を提供するのに対して、微調整は連続した段階的な調整を提供する。
【００１７】
ｇＰＴＰ時間同期プロトコルにおいて、指定のグランドマスタは、２つのメッセージであるＳｙｎｃ及びＦｏｌｌｏｗＵｐをスレーブデバイスに周期的に送信する。同期動作において、マスターデバイスが、スレーブデバイスにＳｙｎｃメッセージを送信する時間をタイムスタンプとして、マスターデバイスは正確に記録する。一般にＳｙｎｃメッセージは、スレーブデバイスへの途中で隣接伝搬遅延によって遅れる。
【００１８】
スレーブデバイスは、遅延Ｓｙｎｃメッセージを受信することで、受信時間を即座に記録する。この受信時間は、スレーブデバイスのクロックに関するものであり、かつタイムスタンプｓｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐとして記録される。
【００１９】
マスターデバイスは、スレーブデバイスにＦｏｌｌｏｗＵｐメッセージを後に送信する。このＦｏｌｌｏｗＵｐメッセージは、マスターデバイスがＳｙｎｃメッセージを送信した時間を示すタイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐを含む。
【００２０】
このようなシステムにおいて、スレーブデバイスのローカルタイムは式１で定義できる。またリモートタイム（すなわち、マスターデバイスのローカルタイム）は、式２で定義できる。
【００２１】
【数１】
2017005701.tif 000003
…式１
【００２２】
【数２】
2017005701.tif 000004
…式２
【００２３】
したがって、任意の時間ｉでのマスターデバイスとスレーブデバイスとの絶対時間差は、式３から導くことができる。
【００２４】
【数３】
2017005701.tif 000005
…式３
【００２５】
式中、ｎｅｉｇｈｂｏｒＰｒｏｐＤｅｌａｙは隣接伝搬遅延であり、ｐｄｅｌａｙプロトコルと呼ばれるＩＥＥＥ  ８０２．１ＡＳ標準のサブプロトコルを使用して計算される。このｐｄｅｌａｙプロトコルは、ＩＥＥＥ  ８０２．１ＡＳ規格の項目１１．２．１５及び１１．２．１６において詳細に説明されている。
【００２６】
絶対時間差とは対照的に、マスターデバイスとスレーブデバイスとの間の相対時間差は、従前の同期間隔の間に、スレーブデバイスがマスターデバイスに対してどれくらい速いか又は遅いかを示している。マスターデバイスとスレーブデバイスとの間の相対時間差は、式４で定義できる。
【００２７】
【数４】
2017005701.tif 000006
…式４
【００２８】
特定の（例えば、第ｉの）同期間隔（ｓｙｎｃＩｎｔｅｒｖａｌと称される）の間の、スレーブデバイスとマスターデバイスとの平均周波数間の比率（中間クロックドリフトに対応する）は、電流速度比として定義される。一方、即時電流速度比（ｃｕｒｒＲａｔｅＲａｔｉｏと称される）は、式５のように計算することができる。
【００２９】
【数５】
2017005701.tif 000007
…式５
【００３０】
時間同期プロトコルは、絶対時間差をゼロまで減少させ、起こり得るジッタの最中に絶対時間差を可能な限りほぼゼロに維持することを目的とする。
【００３１】
同期の一の方法は、粗調整の直接適用である。この方法は、Ｓｙｎｃ及びＦｏｌｌｏｗ−Ｕｐが受信されるたびに、時間差によりスレーブデバイスの時間を粗調整することを伴う。この方法の欠点は、粗調整が時間と共にスレーブデバイスにジャンプラグをもたらすことである。これらのジャンプラグは、ｇＰＴＰ時間に基づく多くのアプリケーション（音響映像（Ａ／Ｖ）再生等）を非常に不均一かつジッタにする不均一な時間表示をもたらす。
【００３２】
同期の別の方法は、グランドマスタ速度比としての電流速度比の直接適用である。グランドマスタ速度比は、スレーブとグランドマスタとの間のクロック周波数の比率である。具体的には、式６に示すように、電流速度比は、ハードウェアブロックに対する微調整として、直接適用される。
【００３３】
【数６】
2017005701.tif 000008
…式６
【００３４】
電流速度比のこの直接適用には、クロック測定のジッタに関連する幾つかの欠点がある。第１の欠点は、クロック精度及びドリフトにおいて生じる。電流速度比は、即時クロックドリフトに基づいて変動し、結果としてジッタをもたらす。
【００３５】
また第２の欠点は、隣接伝搬遅延において生じる。伝搬遅延が変化する（例えば、ジッタを有する）場合、スレーブデバイスは、遅延が変化しているパケットを受信し、これらの遅延によってローカルタイムの変化が生じる可能性がある。よって、これらの遅延は、絶対時間差を計算する上で重要な部分となる（式３を参照）。またローカルタイムの変動は、電流速度比の計算においてエラーを誘発する可能性もある。このように、スレーブデバイスをマスターデバイスに同期させるために従来の方法を使用する場合、システムは、同期を失う前に超低レベルのジッタのみ（例えば、遅延における変動）を許容することができる。
【００３６】
第３の欠点は、ｓｙｎｃＩｎｔｅｒｖａｌにおいて生じる。電流速度比は、従前のｓｙｎｃＩｎｔｅｒｖａｌに関して計算される。計算された電流速度比が０．９の値である場合、この値はスレーブデバイスのクロックが、従前のｓｙｎｃＩｎｔｅｒｖａｌの間のマスターデバイスのクロックより１０％速いことを意味する。ｓｙｎｃＩｎｔｅｒｖａｌが変動する場合（例えば、本質的にメッセージがソフトウェアで形成されて、送信されるため）、非定値間隔期間は計算値が次の間隔の間、直接適用されるのを防止する。
【００３７】
最後に、第４の欠点は、周波数調整時間オフセットにおいて生じる。比率がＳｙｎｃメッセージの受信時に計算されるときから、電流速度比がハードウェアブロックに適用されるときまで時間オフセットが常に存在する。このオフセットによって、クロックの測定の際にジッタが生じる。例えば、以下のパラメータを考慮する。
【００３８】
ｓｙｎｃＩｎｔｅｒｖａｌ＝１２５ｍｓ（理想的）
ｐｒｅｐＤｅｌａｙ＝０ｎｓ（理想的）
ｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔０〕＝１２５ｍｓ
ｓｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔０〕＝１３７．５ｍｓ
ｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔１〕＝２５０ｍｓ
ｓｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔１〕＝２７５ｍｓ
【００３９】
これらのパラメータは、以下の電流速度比を返す。
2017005701.tif 000009
【００４０】
ここで、ソフトウェアがハードウェアのこの周波数を計算及び設定するために２０ｍｓを受け取ると仮定する。直ちに周波数を変更するような理想的なハードウェアｇＰＴＰ実装を想定すると、新規の周波数は、ｓｙｎｃＩｎｔｅｒｖａｌの期間全体にではなく寧ろｓｙｎｃＩｎｔｅｒｖａｌ−２０ｍｓに有効である。期間におけるこの差は、次のグランドマスタ速度比の計算を不正確なものとする。
【００４１】
単純又は移動平均実装は、直接適用法の多くの問題を解決する。平均化を実装することによって、ジッタ問題が解決され、かつスムーズになり得る。その一方で一般的な平均化による欠点は、同期をスムーズにすることによって、スレーブデバイスが同期を実現するのにより多くの時間がかかる場合があることが挙げられる。
【００４２】
この平均化の一の変動は、式７によって定義されるグランドマスタ速度比に関する単純平均である。
【００４３】
【数７】
2017005701.tif 000010
…式７
【００４４】
式中、Ｎは計算された電流速度比の総数である。
【００４５】
この平均化計算の別の変数は、式８によるグランドマスタ速度比に関して定義されるような移動平均である。
【００４６】
【数８】
2017005701.tif 000011
…式８
【００４７】
式中、Ｎは計算された電流速度比の総数であり、Ｍは移動窓サイズである。
【００４８】
別の実装は、単純加重平均である。単純加重平均は、単純移動平均よりわずかに良好である。加重平均を実装することによって、ジッタはより一層スムーズになる。一方で加重平均の欠点は、加重パラメータはリアルタイムな変化に動的に反応せず、それ故に同期を実現するのに必要な時間を不必要に遅延することである。
【００４９】
単純加重平均は、式９の以下のようにグランドマスタ速度比に関して実装することができる。
【００５０】
【数９】
2017005701.tif 000012
…式９
【００５１】
式中、ＷＥＩＧＨＴは、システムに使用できるように、加重平均を修正する任意定数である。
【００５２】
同期プロセスの実施形態は３つの相を含んでおり、それぞれについて個々に後述する。まずスレーブ同期フロー１００全体の実施形態を図１に示す。フローは、変数が初期化される１１０から始まる。例えば、グランドマスタ速度比変数は、１．０に初期化される。次にフローは、第１のパケットの粗調整が行われる１２０へ進む。第１のパケットの粗調整については、後で詳細に考察する。１３０で、第２のパケットの最適化が行われる。第２のパケットの最適化についても、後で詳細に考察する。最後に、加速動的加重同期が１４０で行われる。加速動的加重同期についても、同様に後で詳細に考察する。その後、プロセスが終了する。
【００５３】
ここで第１のパケットの粗調整１２０のフローを、２００として図２に示す。このフローは、スレーブデバイスがマスターデバイスから第１のＳｙｎｃメッセージを受信する２１０から始まる。第１のＳｙｎｃメッセージを受信すると、スレーブデバイスは、第１のＳｙｎｃメッセージがスレーブデバイスのクロックに対して受信された時間を記録する。スレーブデバイスは、タイムスタンプＳｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔０〕としてこの時間を記録して（例えば、メッセージをタイムスタンプする）、ＳｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔０〕に相当するローカルタイムＬｏｃａｌＴｉｍｅ〔０〕を設定する。
【００５４】
２２０で、スレーブデバイスは、マスターデバイスから第１のＦｏｌｌｏｗＵｐメッセージを受信する。ＦｏｌｌｏｗＵｐメッセージは、マスターデバイスによって記録されたタイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔０〕を含む。これはマスターデバイスが第１のＳｙｎｃメッセージを送信したマスターデバイスでの時間を示す。第１のＦｏｌｌｏｗＵｐメッセージを受信すると、スレーブデバイスのプロセッサは、タイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐをＦｏｌｌｏｗＵｐメッセージから抽出して、それを使用する。具体的には、スレーブデバイスは、タイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔０〕に相当するリモートタイムＲｅｍｏｔｅＴｉｍｅ〔０〕を設定する。
【００５５】
２３０で、スレーブデバイスは絶対時間差を決定し、粗調整を行う。具体的には、２１０で記録されるローカルタイムから、２２０で記録されるリモートタイムと隣接伝搬遅延とを減算することで、スレーブデバイスは絶対時間差を決定する。次いで、スレーブデバイスは、粗調整においてこの差を適用する。
【００５６】
比較例において、グランドマスタ速度比に関する単純平均化（式７を参照）の従来の解は、図３に示すような同期をもたらす。この図から判るように、単純平均化によって、絶対時間差は制御できないほどの螺旋形になる。この螺旋化は、主に種々のジッタの影響に起因する。
【００５７】
対照的に、提案された方法は、式１０に示すようにグランドマスタ速度比に関して実装された動的加重平均化を含むことができる。
【００５８】
【数１０】
2017005701.tif 000013
…式１０
【００５９】
式中、
【００６０】
【数１１】
2017005701.tif 000014
…式１１
【００６１】
オフセットＭＩＮ＿ＡＣＣＥＰＴＡＢＬＥ＿ＯＦＦＳＥＴの値は、経験的に決定することができる。例えば、オフセットＭＩＮ＿ＡＣＣＥＰＴＡＢＬＥ＿ＯＦＦＳＥＴの５０ｎｓの値は、望ましい結果を得るように、実験的に決定された。
【００６２】
図４〜図５から判るように、この平均化は、スレーブデバイスとマスターデバイスとの非常に迅速な同期をもたらす。特に、図４から判るように、提案方法は、相対時間差を迅速にロックする。図５に示すように、このロッキングは、確実に絶対時間差を一定レベルに維持する。プロセスはソフトウェアのこの値を追跡し、依存プロトコルにおいて適宜それを使用することができ、又はプロセスは絶対差をほぼ０にする他の方法を使用することもできる。
【００６３】
既に示唆したように、スレーブデバイスは第１のｓｙｎｃパケットの間、式１２による粗調整を行う。
【００６４】
【数１２】
2017005701.tif 000015
…式１２
【００６５】
このように、ローカルタイムＬｏｃａｌＴｉｍｅ〔０〕値は有効ではなく、比率計算に使用することができない。この無効は、電流速度比ｃｕｒｒＲａｔｅＲａｔｉｏ〔０〕を計算することができず、かつ第１の信頼性の高い計算がｃｕｒｒＲａｔｅＲａｔｉｏ〔１〕より先には始まらないことを意味する（式５参照）。
【００６６】
同様に、相対時間差は、第１のｓｙｎｃパケットに関して計算されないままである。
【００６７】
さらに、従来の方法は、第３のパケットの最適化を使用するが、これは当該方法が単にそのときまでは時間が安定であると仮定するためである。このため、時間差は、第２及び第３のｓｙｎｃパケットに関して一定のままである。また図６〜図７に示すように、この一定の時間差は、第１の２つのｉｓｙｎｃＩｎｔｅｒｖａｌの間、絶対時間差を抑制せずに増大させる。
【００６８】
粗調整後（既に記載した第１のｓｙｎｃパケット受信の間）、ローカルタイムＬｏｃａｌＴｉｍｅ〔０〕は、リモートタイムｒｅｍｏｔｅＴｉｍｅ〔０〕に実質的に相当すると確実にみなすことができる。このため、計算は、式１３の電流速度比に関して示される第２のパケットの最適化された比率計算によって最適化することができる。
【００６９】
【数１３】
2017005701.tif 000016
…式１３
【００７０】
この第２のパケットの最適化には、第１の２つのｓｙｎｃＩｎｔｅｒｖａｌの間、周波数を連続的にドリフトさせない潜在的な利点があり、このため非常に短い間隔内で同期を実現する。
【００７１】
第２の最適化は、図８に示されるワークフロー８００によって実装される。８１０で、スレーブデバイスは、第２のｓｙｎｃＩｎｔｅｒｖａｌでマスターデバイスから第２のＳｙｎｃメッセージを受信する。第２のＳｙｎｃメッセージを受信すると、スレーブデバイスは、第２のＳｙｎｃメッセージがスレーブデバイスのクロックに対して受信された時間を記録する。スレーブデバイスは、ＳｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔１〕としてこの時間を記録（例えば、メッセージをタイムスタンプする）して、タイムスタンプＳｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔１〕に相当するローカルタイムＬｏｃａｌＴｉｍｅ〔１〕を設定する。
【００７２】
８２０で、スレーブデバイスは、マスターデバイスから第２のＦｏｌｌｏｗＵｐメッセージを受信する。第２のＦｏｌｌｏｗＵｐメッセージは、マスターデバイスによって記録されたタイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔１〕を含み、これはマスターデバイスが第２のＳｙｎｃメッセージを送信したマスターデバイスでの時間を示す。第２のＦｏｌｌｏｗＵｐメッセージを受信すると、スレーブデバイスのプロセッサは、ｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐを第２のＦｏｌｌｏｗＵｐメッセージから抽出して、それを使用する。具体的には、スレーブデバイスは、タイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔１〕に相当するリモートタイムＲｅｍｏｔｅＴｉｍｅ〔１〕を設定する。
【００７３】
８３０で、スレーブデバイスは、電流速度比を計算する。スレーブデバイスは、８２０で設定されたリモートタイムＲｅｍｏｔｅＴｉｍｅ〔１〕と２２０で設定されたリモートタイムＲｅｍｏｔｅＴｉｍｅ〔０〕との間の第１の差を計算する。またスレーブデバイスは、８１０で設定されたローカルタイムＬｏｃａｌＴｉｍｅ〔１〕と２２０で設定されたリモートタイムＲｅｍｏｔｅＴｉｍｅ〔０〕との間の第２の差を計算する。
【００７４】
ローカルタイムＬｏｃａｌＴｉｍｅ〔０〕は、スレーブデバイスがマスターデバイスからｓｙｎｃパケットを受信する第１の時間であるため、スレーブはこのとき単に同期を初期化しているだけである。したがって、スレーブデバイスのクロックは、マスターデバイスのクロックと比較すると、そのとき大きくずれている場合がある。この不一致に対処するために、粗調整を行い、スレーブタイムを修正することができる。このように、ローカルタイムＬｏｃａｌＴｉｍｅ〔０〕は、最初不適切な場合があるため、粗調整によって、リモートタイムＲｅｍｏｔｅＴｉｍｅ〔０〕に相当するように、ローカルタイムＬｏｃａｌＴｉｍｅ〔０〕が補正される。後で考察するように、第２のパケットについては、ローカルタイムＬｏｃａｌＴｉｍｅ〔０〕の代わりにリモートタイムＲｅｍｏｔｅＴｉｍｅ〔０〕を使用することができる。
【００７５】
その後、スレーブデバイスは、第１の差を第２の差で除算することによって電流速度比を決定する。
【００７６】
８４０で、スレーブデバイスは、式１０に示すように、動的加重平均によりグランドマスタ速度比を決定する。特に、スレーブデバイスは、電流速度比及び従前のグランドマスタ速度比に基づいてグランドマスタ速度比を決定する。
【００７７】
８５０で、スレーブデバイスは、加速度によってグランドマスタ速度比を適宜再計算する。この再計算については、後でより詳細に考察する。
【００７８】
８６０で、スレーブデバイスは、グランドマスタ速度比に基づいて微調整を行う。
【００７９】
第２のパケットの最適化により、同期は図９〜図１０に示すように見える場合がある。図６〜図７に関連して見られる差は、周波数（すなわち、相対時間差）がより短い持続時間（０．５ｓマークをほぼ実現する）にロックされ、また絶対時間差がより速くロックされるために減少するということである。
【００８０】
上記の２つの方法において、実装は場合により、ソフトウェアの絶対時間差を追跡するように強制される。この強制は通常、一旦周波数がロックされると、絶対時間差がいかなる変化もなく均一のままであるためである。同期については、一連の粗調整及び微調整が必要とされ、これはクロック内に容認できないジッタを生じさせる。
【００８１】
従前の図４〜図５は、この方法を用いない同期挙動を説明している。
【００８２】
ハードウェア絶対時間ロックワークフロー１１００の実装手順を図１１に示す。１１１０で、スレーブデバイスは、第２のｓｙｎｃＩｎｔｅｒｖａｌでマスターデバイスから第２のＳｙｎｃメッセージを受信する。第２のＳｙｎｃメッセージを受信すると、スレーブデバイスは、第２のＳｙｎｃメッセージがスレーブデバイスのクロックに対して受信された時間を記録する。スレーブデバイスは、タイムスタンプＳｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔ｉ〕としてこの時間を記録（例えば、Ｓｙｎｃメッセージをタイムスタンプする）して、タイムスタンプＳｙｎｃＥｖｅｎｔＩｎｇｒｅｓｓＴｉｍｅｓｔａｍｐ〔ｉ〕に相当するローカルタイムＬｏｃａｌＴｉｍｅ〔ｉ〕を設定する。
【００８３】
１１２０で、スレーブデバイスは、マスターデバイスから第２のＦｏｌｌｏｗＵｐメッセージを受信する。第２のＦｏｌｌｏｗＵｐメッセージは、マスターデバイスによって記録されたタイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔ｉ〕を含み、これはマスターデバイスが第２のＳｙｎｃメッセージを送信したマスターデバイスでの時間を示す。第２のＦｏｌｌｏｗＵｐメッセージを受信すると、スレーブデバイスのプロセッサは、タイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐを第２のＦｏｌｌｏｗＵｐメッセージから抽出して、それを使用する。具体的には、スレーブデバイスは、タイムスタンプｐｒｅｃｉｓｅＯｒｉｇｉｎＴｉｍｅｓｔａｍｐ〔ｉ〕に相当するリモートタイムＲｅｍｏｔｅＴｉｍｅ〔ｉ〕を設定する。
【００８４】
１１３０で、スレーブデバイスは、電流速度比を計算する。スレーブデバイスは、１１２０でセットされるリモートタイムＲｅｍｏｔｅＴｉｍｅ［ｉ］と従前のリモートタイムＲｅｍｏｔｅＴｉｍｅ［ｉ−１］との間の第１の差を計算する。例えば、スレーブデバイスは、リモートタイムＲｅｍｏｔｅＴｉｍｅ〔１〕と２２０で設定されたリモートタイムＲｅｍｏｔｅＴｉｍｅ〔０〕との間の第１の差を計算する。またスレーブデバイスは、１１１０で設定されたローカルタイムＬｏｃａｌＴｉｍｅ〔ｉ〕とローカルタイムＬｏｃａｌＴｉｍｅ〔ｉ−１〕との間の第２の差を計算する。例えば、スレーブデバイスは、１１１０で設定されたローカルタイムＬｏｃａｌＴｉｍｅ〔１〕と２１０で設定されたローカルタイムＬｏｃａｌＴｉｍｅ〔０〕との間の第２の差を計算する。その後、スレーブデバイスは、第１の差を第２の差で除算することによって電流速度比を決定する。
【００８５】
１１４０で、スレーブデバイスは、式１０に示すように、動的加重平均によってグランドマスタ速度比を決定する。特に、スレーブデバイスは、電流速度比及び従前のグランドマスタ速度比に関するグランドマスタ速度比に基づく。
【００８６】
１１５０で、スレーブデバイスは、式１４に示すように、加速度によってグランドマスタ速度比を再計算する。
【００８７】
【数１４】
2017005701.tif 000017
…式１４
【００８８】
式中、
【００８９】
【数１５】
2017005701.tif 000018
…式１５
【００９０】
グランドマスタ速度比ｇｍＲａｔｅＲａｔｉｏは、式１０で定義される。
【００９１】
１１６０で、スレーブデバイスは、グランドマスタ速度比に基づいて微調整を行う。
【００９２】
一の実装例において、ＳＹＮＣ＿ＡＣＣＥＬ＿ＣＯＮＳＴの値は、２００，０００，０００に設定された。この値は、各実装に構成可能なパラメータとでき、加速度の積極性及びジッタ要因の安定性から導くことができる。ジッタがより不安定であるほど、この定数をより増加させなければならず、このため加速度はより積極的にはならない。
【００９３】
このロッキングは、図１２〜図１３に示すように同期をもたらす。これらの図から判るように、相対時間差（図１２及び絶対時間差（図１３ともにハードウェアに直接ロックされ、これによりソフトウェアにおけるそれらの非効率的な測定を潜在的に取り除くことができる。またロックは、ほぼ０．４ｓの非常に短い間隔で実現することができる。このロッキングは、システムに影響を及ぼす種々のジッタに応じてより積極的にすることができる。
【００９４】
図１４は、一実施形態に係るシステムオンチップ１４００のブロック図を示す。システムは、物理的コネクタ１４０２、ＰＣＢ配線１４０４、ＰＨＹチップ１４０６、インターフェース１４０８、デジタル信号プロセッサ（ＤＳＰ）１４１２のイーサネットメディアアクセスコントローラー（ＥＭＡＣ）周辺機器１４１０、インターフェース１４１４、メモリ１４１６、デジタルアナログ変換器（ＤＡＣ）１４２０、シリアルポート１４２２、及びパラレルポート１４２４を含む。一部の実施形態において、付加的な構成要素が存在することができ、一部の構成要素、例えばＤＡＣ１４２０、シリアルポート１４２２、及びパラレルポート１４２４は存在しない場合がある。
【００９５】
物理的コネクタ１４０２は、例えば、ＲＪ４５コネクタ等の登録済みのジャッキであり得る。物理的コネクタ１４０２は、外部インターフェース手段の例である。
【００９６】
ＰＣＢ配線１４０４は、システムオンチップが実装される回路基板上の配線である。回路基板は、単面、両面、又は多層であることができる。
【００９７】
ＰＨＹチップ１４０６は、開放型システム間相互接続（ＯＳＩ）モデルの物理層の機能を実装するチップである。物理層は、ＯＳＩモデルの最下位層である。一部の実施形態において、ＰＨＹチップ１４０６は、上記で定義されたアルゴリズムの動作を行う。例えば、ＰＨＹチップ１４０６は、受信時間（例えば２１０、２２０、８１０、８２０、１１１０、及び１１２０において）を決定することができ、例えば、ＥＭＡＣ１４１０又はＤＳＰ１４１２に受信時間の詳細を伝える。それらの場合において、ＥＭＡＣ１４１０又はＤＳＰ１４１２は、タイムスタンプを記録しない場合があり、代わりにＰＨＹチップ１４０６から詳細を直接受け取ることができる。一部の実施形態において、ＰＨＹチップは、処理手段である。
【００９８】
インターフェース１４０８は、ＰＨＹチップ１４０６をメディアアクセス制御（ＭＡＣ）ブロックに接続する。例えば、インターフェース１４０８は、メディア独立インターフェース（ＭＩＩ）又は縮小メディア独立インターフェース（ＲＭＩＩ）とできる。さらに、インターフェース１４０８はまた、シリアルギガビットメディア独立インターフェース（ＳＧＭＩＩ）、ギガビットインターフェースコンバータ（ＧＢＩＣ）、又は他の任意適切なインターフェースであり得る。
【００９９】
ＥＭＡＣ周辺機器１４１０は、ＯＳＩモデルの第２層であるデータリンク層で動作する。
【０１００】
ＤＳＰ１４１２は、既製のＤＳＰ又はカスタムＤＳＰによって実装することができる。ＤＳＰは、単一コア又は多重コアを有することができる。ＤＳＰはオペレーティングシステムを実行する必要はないが、一部の実装において、ＤＳＰはオペレーティングシステムを実行する。ＤＳＰは通常、固定小数点演算を使用するが、一部の実施形態において、ＤＳＰは浮動小数点演算を使用することができる。ＤＳＰ１４１２は、処理手段の例である。また処理手段は、ＰＨＹチップ１４０６及びＥＭＡＣ周辺機器１４１０を含むこともできる。
【０１０１】
インターフェース１４１４は、ＤＳＰ１４１２からメモリ１４１６へとデータをコピーする。インターフェース１４１４は、直接メモリアクセス（ＤＭＡ）を実装することができる。例えば、インターフェース１４１４は、周辺部品相互接続（ＰＣＩ）アーキテクチャもしくはＩ／Ｏアクセラレーションテクノロジー又は他の任意適切な技術に適合することができる。
【０１０２】
メモリ１４１６は、スタティックランダムアクセスメモリ（ＳＲＡＭ）として実装することができる。またメモリ１４１６は、ダイナミックランダムアクセスメモリとして実装することもできる。メモリ１４１６は、格納手段の例である。
【０１０３】
特定の実施形態において、例えば、メモリ１４１６はＤＳＰ１４１２内に存在することができる（レベル１）。他の実施形態において、メモリ１４１６は、ＤＳＰ１４１２に存在しない（レベル２又はレベル３）。メモリ１４１６がＤＳＰ１４１２に存在しない場合、ＤＳＰ１４１２のキャッシュはメモリ１４１６と協働する。
【０１０４】
デジタルアナログコンバータ（ＤＡＣ）１４２０は、デジタルデータをアナログ信号に変換する。例えば、ＤＡＣ１４２０は、シリアルポート１４２２を介して送信される音声コンテンツに、デジタルデータを変換することができる。さらに又は代わりに、ＤＡＣ１４２０は、パラレルポート１４２４を介して送信されるビデオデータに、デジタルデータを変換することができる。ＤＡＣ１４２０は、変換手段の例である。
【０１０５】
シリアルポート１４２２は、ＤＡＣ１４２０から例えば、音声コンテンツを受信する。シリアルポート１４２２は、例えば、１組のスピーカーに音声コンテンツを出力する。他の実施形態において、シリアルポート１４２２は、１組のヘッドホンに音声コンテンツを出力する。
【０１０６】
パラレルポート１４２４は、ＤＡＣ１４２０から例えば、ビデオデータを受信する。パラレルポート１４２４は、例えば、テレビ等のディスプレイにビデオコンテンツを出力する。他の実施形態において、パラレルポート１４２４は、コンピュータモニタ等の異なるディスプレイにビデオコンテンツを出力する。
【０１０７】
シリアルポート１４２２及びパラレルポート１４２４は、出力手段の例である。
【０１０８】
一部の実装において、ＤＳＰ１４１２は一般に、ＰＴＰパケットのみを処理する。ＰＴＰパケットは、主に制御パケットであることから、ＤＳＰ１４１２はメモリ１４１６を読み込み、パケットを解読し、かつ上記で定義したアルゴリズムを実装する。
【０１０９】
他の動作において、ＤＳＰ１４１２は、音声及び／又はビデオパケットを処理する。このような動作において、ＤＳＰ１４１２は、音声及び／又はビデオパケットをメモリ１４１６中の別の位置へコピーする。またＤＳＰ１４１２は、関連する周辺機器、例えばシリアルポート１４２２又はパラレルポート１４２４を起動する。さらにＤＳＰ１４１２は、音声及び／又はビデオパケットのデータをＤＡＣ１４２０に送信する。次に、ＤＡＣ１４２０は、データをアナログ信号に変換する。一部の実施形態において、ＤＡＣ１４２０は、アナログ信号をシリアルポート１４２２又はパラレルポート１４２４に送信する。
【０１１０】
上記の機能は、スレーブ同期、特に専門ソフトウェアプログラム又はアルゴリズムを実行することができるそれらの回路を伴う任意の集積回路に適用できる。ｇＰｔＰ及び同期に関する一の特定の使用事例は、ｇＰＴＰ対応ネットワークスイッチ／ブリッジにおいてである。さらに、ある種の実施形態は、マルチＤＳＰ信号処理、不動小数点処理、信号／制御処理、固定関数処理、マイクロコントローラアプリケーション等に関する。
【０１１１】
本開示で考察する特徴は、医療システムと、科学又は医療機器（特に高精密な機器）と、無線及び有線通信と、防衛用途（レーダー、及び複数のデバイスを介して中継されるメッセージを時間内に確実に届け、かつ時間内に確実に同期させる等）と、工業プロセス制御（例えば、センサはそれらの収集したデータが有効となるように、同時に同期されなければならない）とにおいて同期させるために適用することができる。本特徴は、音声及びビデオ機器、電流検知、並びに他のデジタル処理ベースのシステムにも適用することができる。
【０１１２】
本開示の一部の実施形態は、接続ネットワークの精密時間同期を使用するアプリケーションに使用することができる。このようなアプリケーションとしては、例えば、イーサネットオーディオビデオブリッジングによるメディア再生、及び例えば、防衛システム、工業オートメーションシステム、及び医療システムにおける制御情報の同期が挙げられる。
【０１１３】
本開示のある種の実施形態は、医用画像、患者の監視、及び在宅看護のためのデジタル信号処理技術にプロビジョンすることができる。このプロビジョニングとしては、肺モニタ、アクセロメータ、心拍数モニタ、ペースメーカ等を挙げることができる。他のアプリケーションとしては、安全システム（例えば、安定制御システム、運転者支援システム、ブレーキシステム等）の自動車技術を伴う。他の自動車技術としては、インフォテインメント（例えば、音声／ビデオがいかなる雑音も含まずに再生することができるように、自動車のすべてのデバイスのクロックを調整する）及び内部アプリケーションが挙げられる。さらに、パワートレインシステム（例えば、ハイブリッド及び電気自動車において）は、バッテリ監視、制御システム、通知制御、メンテナンス機能等の高精度の同期製品を使用することができる。
【０１１４】
また本開示は、生産性、エネルギー効率、及び信頼性の推進を補助するためにプロセス制御システムを含む工業市場に適用することもできる。消費者用途において、上記の同期回路は、画像処理、自動焦点、及び画像安定化（例えば、デジタルスチルカメラ、カムコーダ等のための）に使用することができる。他の消費者用途としては、ホームシアターシステム、ＤＶＤレコーダ、及びハイビジョンテレビが挙げられる。さらに他の消費者用途としては、高性能タッチスクリーンコントローラ（例えば、任意のタイプの携帯メディアデバイス）を伴う。それ故、このような技術は、スマートフォン（例えば、ｉＰｈｏｎｅ及びＡｎｄｒｏｉｄデバイス）、タブレット（例えば、ｉＰａｄ、Ｍｉｃｒｏｓｏｆｔ  Ｓｕｒｆａｃｅ、及びＡｍａｚｏｎ  Ｋｉｎｄｌｅ）、セキュリティシステム、パーソナルコンピュータ（ＰＣ）、ゲーム技術、バーチャルリアリティ、シミュレーショントレーニング等の一部に容易になり得る。
【０１１５】
ある種の例示的実装において、プロセッサ、ＡＳＩＣ、ＤＳＰ、又は他の類似の機械によって実行される一以上の有形の非一時的なメディアにコード化される論理（例えば、特定用途向け集積回路（ＡＳＩＣ）にて設けられている埋め込み論理、ＤＳＰに対する命令、ソフトウェア［オブジェクトコード及びソースコードにかかわらず］）によって、同期機能を実装することができる。別の例では、本明細書において概説される同期機能は、固定論理又はプログラマブル論理（例えば、プロセッサによって実行されるソフトウェア／コンピュータインストラクション）によって実装される。さらに、本明細書において特定される要素は、プログラマブルプロセッサ、プログラマブルデジタル論理（例えば、ＦＰＧＡ、ＥＰＲＯＭ、ＥＥＰＲＯＭ）又はデジタル論理、ソフトウェア、コード、電子命令、もしくはこれらの任意の好適な組み合わせを含むＡＳＩＣによって実装することができる。非一時的なメディアは、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−Ｒａｙディスク、ジャンプドライブ、又は他のメディアであり得る。
【０１１６】
また論理は、伝搬波、電気通信線等の一時的なメディア、又はソフトウェアそれ自体として実装することもできる。
【０１１７】
またプロセッサによって処理されるソフトウェアは、ダウンロードされ、かつ実行されるインストールプログラムによってインストールされる実行可能ファイルとして、実行することもできる。このため、実行されたソフトウェアは、ダウンロードされたソフトウェアと同様でない場合がある。したがってサーバは、実行される場合、コンピュータにその実行によって、本開示の動作を実行する実行可能ファイルをインストールさせるソフトウェアを格納することができる。
【０１１８】
上記で提供された例により、交互作用は、明快さ及び単なる例示のために２、３又はそれ以上の要素に関して記載されている。ある場合において、所与の一連のフローの一又は複数の相関関係を限定数のネットワーク要素を参照するのみによって説明した。システムアーキテクチャ及びその特徴は拡張性があり、さらに多数の構成要素、並びにより複雑又は精巧な配置及び構成を収容することができる。したがって、提供された例は、無数の他のアーキテクチャに適用されるものとして、システムアーキテクチャの範囲を限定するものではなく、又はシステムアーキテクチャの特徴を阻害してはならない。
【０１１９】
前述した機能は、システムアーキテクチャによって、又はその中で実行することができる実現可能な処理シナリオ及びパターンの一部のみを示す。これらの動作の一部は、必要に応じて削除もしくは取り除くことができ、又はこれらの動作は、本開示の範囲から逸脱することなく大幅に修正もしくは変更することができる。さらに、多くのこれらの動作は、一又は複数の付加的な動作と同時に、又はそれらと並行して実行されると説明してきた。しかしながら、これらの動作のタイミングは、大きく変えることができる。前述の動作フローは、例示及び考察のためにのみ提供される。任意の好適な配置、年代順配列、構成、及び調時機構が本開示を逸脱しない範囲で提供することができるという点で、相当な柔軟性をシステムアーキテクチャによって提供することができる。
【０１２０】
多数の他の変化、代用、変数、変更、及び修正を当業者は確認することができる。本開示は、添付した特許請求の範囲の範囲内にあるとして、すべてのこのような変化、代用、変数、変更、及び修正を包含することが意図される。本明細書に添付の特許請求の範囲を解釈する上で米国特許商標庁（ＵＳＰＴＯ）、さらに本開示にて記した特許公報の読み手を補助するために、出願人は以下の点に留意するよう望む。すなわち本願出願人は、（ａ）用語「手段」、又は「ステップ」が特定の特許請求の範囲において具体的に使用される場合を除き、本明細書の出願日に存在しているものとして、添付の特許請求の範囲のいずれも米国特許法第１１２条（ｆ）に訴えることを意図しない。（ｂ）本明細書のいかなる表現によっても、添付の特許請求の範囲中に別の方法で反映されない、任意の方法において本開示を限定する意図ではない。
【符号の説明】
【０１２１】
１４００…システムオンチップ
１４０２…物理的コネクタ
１４０４…ＰＣＢ配線
１４０６…ＰＨＹチップ
１４０８…インターフェース
１４１０…イーサネットメディアアクセスコントローラー（ＥＭＡＣ）周辺機器
１４１２…デジタル信号プロセッサ（ＤＳＰ）
１４１４…インターフェース
１４１６…メモリ
１４２０…ＤＡＣ
１４２２…シリアルポート
１４２４…パラレルポート
【図１】
2017005701.tif 000019
【図２】
2017005701.tif 000020
【図３】
2017005701.tif 000021
【図４】
2017005701.tif 000022
【図５】
2017005701.tif 000023
【図６】
2017005701.tif 000024
【図７】
2017005701.tif 000025
【図８】
2017005701.tif 000026
【図９】
2017005701.tif 000027
【図１０】
2017005701.tif 000028
【図１１】
2017005701.tif 000029
【図１２】
2017005701.tif 000030
【図１３】
2017005701.tif 000031
【図１４】
2017005701.tif 000032