説明

同期システム

【課題】複数の端末にて、短時間で高精度な同期を可能とすること。
【解決手段】ネットワークを介して接続され、他の情報処理装置と互いに同期する複数の情報処理装置であり、特定の情報処理装置から送信された第1の待ち時間情報を受信する第1待ち時間受信部と、受信した第1の待ち時間情報に基づいて、所定の信号に対して自装置と互いに同期を取る別の情報処理装置における所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を別の情報処理装置に対して送信する第2待ち時間送信部と、別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された第2の待ち時間情報を受信する第2待ち時間受信部と、受信した第1の待ち時間情報と第2の待ち時間情報とに基づいて自装置における所定の信号の同期時刻を算出する同期時刻計算部と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続された複数の端末間で同期を行う同期システムに関する。
【背景技術】
【0002】
ネットワークに接続された複数の端末間で、動画等のコンテンツを同時に視聴しながら通話などのコミュニケーションを実施するコンテンツシェアリングサービスが提案されている。このようなコンテンツシェアリングサービスにおいて、複数端末間で動画を同時に視聴する場合、その動画が同時刻に同じシーン(さらに詳細には同じフレーム)が表示されていなければ、視聴している動画に対する反応(笑いや驚き)や通話における会話にずれが生じてしまう。つまり、同時に視聴する動画の再生位置、または停止位置等が、複数端末間で同期されている必要がある。ここで、複数端末間で再生位置や停止位置がずれてしまう現象を、以降では「同期外れ」と呼ぶこととする。
【0003】
上述したような「同期外れ」の問題が発生する原因としては、ネットワークに接続された複数端末に対して、再生開始や再生停止等の制御信号を伝達する際のネットワーク遅延にある。具体的に、制御信号送信元(例えば,制御サーバ)から各端末へのネットワーク遅延量(片道遅延量)は、そのネットワーク経路によって大きく異なるため、制御信号が各端末へ同時刻に送信されたとしても、当該制御信号が各端末へ到達する時刻は異なってしまう。その結果,各端末が制御信号に従って再生制御を実施しても同期外れが発生する。
【0004】
一方、上述したような同期外れの問題に対して、特許文献1に記載の同期方式では、高精度なグローバルクロック(NTP等)を複数端末から参照することで同期する方式を提案している。また、特許文献2に記載の同期方式では,制御サーバから各端末への片道遅延量をRTT(ラウンドトリップタイム=往復遅延量=制御サーバから端末への片道遅延量と端末から制御サーバへの片道遅延量の和)の1/2で推定する方式(技術仕様RFC(Request for Comments)2030)を繰り返すことで同期する方式を提案している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−177591号公報
【特許文献2】特開2007−27985号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1に記載の同期方式では、コンテンツを同期して視聴する全ての端末から参照可能かつ高精度なグローバルクロックが存在する必要があり、そのようなグローバルクロックを用意できない場合には当該方式を適用できない、という
問題がある。
【0007】
また、上述した特許文献2に記載の同期方式では、制御サーバから各端末への片道遅延量がRTTの1/2から大きく外れる場合(往路と復路の片道遅延量が大きく外れる場合)には、同期精度が低下する、という問題が生じる。また、この同期方式では、複数回RTTを計測することで同期精度を高める方式を採用しているが、何度も計測するための時間が必要となり、コンテンツの再生制御の度に計測時間を要してしまう、という問題も生じる。さらに、制御サーバからある端末間の片道遅延量に定常的な偏差がある(例えば、常に制御サーバから端末への片道遅延量の方が、端末から制御サーバへの片道遅延量の方が大きい等)ネットワークであれば,複数回RTTを計測しても精度は向上しない、という問題が生じる。
【0008】
加えて、上述した特許文献1及び特許文献2に記載のいずれの同期方式でも、コンテンツを同期視聴する端末数が増加すればするほど、確率的に同期外れ最大値(例えば、最も再生開始が早い端末と、最も再生開始が遅い端末の差)が大きくなる、という問題も生じる。
【0009】
このため、本発明の目的は、上述した課題である、全端末から参照可能かつ高精度なグローバルクロックが存在しない場合であっても、短時間で高精度な同期が可能であり、端末数が増加しても同期精度の低下を抑制することができる同期システムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成すべく、本発明の一形態である同期システムは、
ネットワークを介して接続された複数の情報処理装置を備え、
特定の情報処理装置が、当該特定の情報処理装置から送信される所定の信号に対して互いに同期を取る複数の他の情報処理装置に対して、当該他の情報処理装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を送信する第1待ち時間送信部を備えると共に、
前記他の各情報処理装置が、
前記特定の情報処理装置から送信された前記第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記所定の信号に対して自装置と互いに同期を取る別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、をそれぞれ備えた、
という構成を取る。
【0011】
また、本発明の他の形態である情報処理装置は、
特定の情報処理装置から送信される所定の信号に対して互いに同期を取る別の情報処理装置とネットワークを介して接続された情報処理装置であって、
特定の情報処理装置から送信される、自装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、
を備えた、という構成を取る。
【0012】
また、本発明の他の形態であるプログラムは、
特定の情報処理装置から送信される所定の信号に対して互いに同期を取る別の情報処理装置とネットワークを介して接続された情報処理装置に、
特定の情報処理装置から送信される、自装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、
を実現させるためのプログラムである。
【0013】
また、本発明の他の形態である同期方法は、
ネットワークを介して接続された複数の情報処理装置を備えた同期システムにて、
特定の情報処理装置が、当該特定の情報処理装置から送信される所定の信号に対して互いに同期を取る複数の他の情報処理装置に対して、当該他の情報処理装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を送信し、
前記他の各情報処理装置が、
前記特定の情報処理装置から送信された前記第1の待ち時間情報を受信し、
前記受信した第1の待ち時間情報に基づいて、前記所定の信号に対して自装置と互いに同期を取る別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信すると共に、当該別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信し、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する、
という構成を取る。
【発明の効果】
【0014】
本発明は、上述した構成を有することにより、グローバルクロックを使用することなく、短時間で高精度な同期が可能であり、かつ端末数が増加しても同期精度の低下を抑制した同期システムを提供することができる。
【図面の簡単な説明】
【0015】
【図1A】本発明の実施形態1における同期システムの構成の概要を表すブロック図である。
【図1B】図1Aに開示した制御装置と端末との構成を示すブロック図である。
【図2】片道遅延量と往復遅延量との関係を示す図である。
【図3】本発明と比較する他の同期方式の概要を示す図である。
【図4】本発明における同期方式の概要を示す図である。
【図5】端末数が3の場合における本発明の同期方式の制御信号送信の様子を示す図である。
【図6A】端末数が3の場合における本発明の同期方式のシミュレーションの様子を示す図である。
【図6B】端末数が3の場合における本発明の同期方式と他の同期方式とのシミュレーション結果を示す図である。
【図7】従来の同期方式と本発明の同期方式の最大同期外れのシミュレーション結果である。
【図8】従来の同期方式と本発明の同期方式の同期外れの標準偏差のシミュレーション結果である。
【図9】RTT計測誤差が10%のときの従来の同期方式と本発明の同期方式の最大同期外れのシミュレーション結果である。
【図10】RTT計測誤差が10%のときの従来の同期方式と本発明の同期方式の同期外れの標準偏差のシミュレーション結果である。
【図11】RTT計測誤差が30%のときの従来の同期方式と本発明の同期方式の最大同期外れのシミュレーション結果である。
【図12】RTT計測誤差が30%のときの従来の同期方式と本発明の同期方式の同期外れの標準偏差のシミュレーション結果である。
【図13】本発明の同期方式を複数のグループに分割して実行するときの構成例を示した図である。
【発明を実施するための形態】
【0016】
<第1の実施形態>
本発明の第1の実施形態を、図1乃至図13を参照して説明する。図1A乃至図1Bは、本発明の構成を示す図である。図2乃至図5は、本発明の動作を説明するための図である。図6A乃至図12は、本発明による同期処理のシミュレーション結果を示す図である。図13は、本発明の構成例を示す図である。なお、本実施形態では、後述する第2の実施形態とは異なり、同期をとるタイミングで制御信号をやりとりする形態を示している。
【0017】
図1Aに示すように、本発明の第1の実施形態における同期システムは、同期制御を司る制御装置0と、この制御装置0(特定の情報処理装置)から送信される所定の制御信号に対して互いに同期をとるn個の端末1〜n(複数の他の情報処理装置)と、がネットワークを介して接続されている。
【0018】
そして、図1Bに示すように、制御装置0は、装備された演算装置にプログラムが組み込まれることで構築された第1待ち時間送信部10を備えている。この第1待ち時間送信部10は、後述するように、互いに同期を取るn個の端末1〜nに対して、各端末1〜nにおける制御信号の同期待ち時間を表す第1の待ち時間情報をそれぞれ算出して、当該各端末1〜nにそれぞれ送信する、という機能を有する。
【0019】
また、図1Bに示すように、端末1は、装備された演算装置にプログラムが組み込まれることにより構築された、第1待ち時間受信部11と、第2待ち時間送信部12と、第2待ち時間受信部13と、同期時刻計算部14と、を備えている。上記第1待ち時間受信部11は、上述した制御装置0から送信された第1の待ち時間情報を受信する。また、上記第2待ち時間送信部12は、受信した第1の待ち時間情報に基づいて、同期を取る別の各端末2〜n(別の情報処理装置)における制御信号の第2の同期待ち時間を表す第2の待ち時間情報をそれぞれ算出して、当該各端末2〜nに対して送信する、という機能を有する。これに対応して、上記第2待ち時間受信部13は、別の端末2〜nにて算出され送信された第2の同期待ち時間情報を受信する機能を有する。また、上記同期時刻計算部14は、制御装置0から受信した第1の待ち時間情報と、互いに同期する別の端末2〜nから受信した各第2の待ち時間情報と、に基づいて、自端末1における制御信号の同期時刻を算出する、という機能を有する。
【0020】
なお、図1Bに示す端末1の構成は、互いに同期を取る別の端末2〜nも備えている構成である。従って、別の端末2〜nの構成については、その説明を省略する。
【0021】
次に、図2乃至図5を参照して、本発明における同期方法について詳細に説明する。まず、図2を参照して、同期システム内における片道遅延と往復遅延について説明する。図2は、互いに通信可能なようにネットワークに接続された端末1と端末2との間の片道遅延と往復遅延とを示した図である。端末1と端末2のブロックから右方向(横方向)に伸びた矢印は時間軸を示しており、その時間軸上の所定の点から伸びた矢印(図では右下方向に伸びた矢印と、右上方向に伸びた矢印)の始点が、信号の送信時刻、終点が信号の受信時刻を示している。
【0022】
図2では、ある時刻に端末1が信号を送信し、端末2でその信号を受信したと同時に端末1に信号を送信する様子を示している。このとき、図中に示した「ΔT12」が、端末1から端末2への信号の片道遅延量であり、「ΔT21」が、端末2から端末1への信号の片道遅延量である。一般に、ΔT12とΔT21は異なる値をとる。そして、上述した2つの片道遅延量の和「RTT12=ΔT12+ΔT21」が、端末1と端末2との間の往復遅延量「RTT12」となる。
【0023】
ここで、図2における端末1と端末2が同一もしくは高精度に同期されたグローバルクロックを参照しない限り、片道遅延量は計測不能である。一方、往復遅延量は、それぞれの端末内のクロックのみで計測可能である。本発明は、グローバルクロックを用いない方式であるため、計測できるのは往復遅延量のみである。
【0024】
次に、本発明の同期方式と従来の同期方式との比較のために、当該従来の同期方式(グローバルクロックを使用しない方式)について、図3を参照して説明する。図3には、同期制御を司る制御装置0と、端末1及び端末2が記載されており,端末1と端末2が同期をとるときの方式を示している。
【0025】
図3において、制御装置0は、当該制御装置0と端末との1間の往復遅延量「RTT01」と、制御装置0と端末2間の往復遅延量「RTT02」とを予め計測しておく。加えて、制御信号は、同期のための待ち時間「τ」(基準同期待ち時間)を予め設定しておく。基準同期待ち時間「τ」は任意の値でよいが、例えば、制御装置0から各端末1,2までの往復遅延量の最大値に設定しておくことで、同期時刻までの間に確実に同期制御信号を通達することが可能になる。つまり、基準同期待ち時間「τ」としては、往復遅延量の最大値を考慮して予め設定された端末1,2が同期を取る予定時刻と、第1の待ち時間情報を送信する時刻との差分時間、を設定するとよい。なお、上記基準同期待ち時間によって同期される時刻を、「基準同期時刻」と呼ぶ。
【0026】
制御装置0は、同時に各端末に同期のための待ち時間を通達する(制御信号として送信する)が、各端末への片道遅延量によって、各端末がその制御信号を受信する時刻はそれぞれ異なる。そこで、本発明とは異なる従来の同期方式では、制御装置0から端末i(図3ではi=1,2)への片道遅延量「ΔT0i」を、往復遅延量「RTT0i」の1/2で近似し、その片道遅延量の近似値を予め設定した基準同期待ち時間「τ」から減じた値を、第1の同期待ち時間として各端末に通達することで同期をとる。従って、制御装置0から通達される同期をとるための端末iでの第1の同期待ち時間「τ0i」は、次式1で表される。
[式1]τ0i=τ−(1/2)×RTT0i
【0027】
そして、各端末1,2は、上記式1で算出された第1の同期待ち時間「τ0i」だけ待ってコンテンツの再生制御等を行うことで、端末間の同期をとる。しかしながら、上述したとおり、片道遅延量「ΔT0i」を往復遅延量「RTT0i」の1/2で近似したときには、当該片道遅延量に誤差が生じる。ここで、制御装置0が通達する各端末iでの基準同期時刻と第1の同期待ち時間τ0iだけ待った時刻(第1の同期時刻)の誤差「ei」は、式2で計算される。
[式2]ei=τ0i−(τ−ΔT0i)=(ΔTi0−ΔT0i)/2
【0028】
上記式2を見ると、片道遅延量(往路)ΔT0iと片道遅延量(復路)ΔTi0が近いほど、基準同期時刻と第1の同期時刻のずれは小さくなることが分かる。
【0029】
次に、図4を参照して、本発明の同期方式について説明する。本発明における同期方式では、制御装置0から端末iに対して、端末i(図4ではi=1,2)における第1の同期待ち時間「τ0i」を通達するまでは、上述した同期方式と同様である。つまり、制御装置0の第1待ち時間送信部10が、上述したように各端末i毎の往復遅延量「RTT0i」を利用して第1の同期待ち時間「τ0i」をそれぞれ算出し、当該第1の同期待ち時間「τ0i」を対応する各端末iに送信する。
【0030】
これに加え、本発明における同期方式では、各端末iが、第1待ち時間受信部11にて制御装置0から送信された第1の同期待ち時間「τ0i」を受信した後、第2待ち時間送信部12にて、受信した第1の同期待ち時間「τ0i」に基づいて他の端末j(i≠j)に対して、当該他の端末jにおける第2の同期待ち時間「τij」を通達する、という構成を取っている。ここで、上記第2の同期待ち時間「τij」の算出方法について説明する。
【0031】
まず、端末iでは、制御装置0から第1の同期待ち時間「τ0i」の制御信号を受信すると、受信した時点から「τ0i」後に再生制御すればよいことが分かる。このように制御装置0から端末iが第1の同期待ち時間情報を受信した場合に、この情報を別の端末jにも通知するというのが、本発明の考え方である。
【0032】
具体的に、端末iにて制御装置0からの制御信号を受信した時点で、当該端末iから端末jへ第2の同期待ち時間情報を通達する場合には、待ち時間「τ0i−ΔTij」を端末jに通知すれば同期が可能である。しかし、端末iと端末jとの間における片道遅延量ΔTijは計測できないので、ここでも端末iと端末jとの間の往復遅延量「RTTij」の1/2を、片道遅延量として代用する。従って、端末iが制御装置0から制御信号を受信したときに、第2待ち時間送信部12にて端末iから端末jへ通知する第2の同期待ち時間「τij」は、受信した第1の同期待ち時間「τ0i」から、端末iと端末jとの間の往復遅延量「RTTij」の2分の1を減じた値となり、式3のように算出する。
[式3]τij=τ0i−(1/2)×RTTij
【0033】
以上の過程により、端末jでは、制御装置0から通知され第1待ち時間受信部11にて受信した第1の待ち時間「τ0j」と、端末i及びさらに別の端末から通知され第2待ち時間受信部13にて受信した第2の同期待ち時間「τij」と、の情報を得ることになる。
【0034】
そして、上述したように第1、第2の同期待ち時間を得た各端末は、同期時刻算出部14にて同期時刻を算出する。ここで、端末jが、制御装置0から第1の同期待ち時間の通知を受信した時刻を「r0j」、端末iから第2の同期待ち時間の通知を受信した時刻を「rij」とする。ただし、r0j,rijともに端末jが保有するクロック(端末jのローカルクロック)で計られた時刻である。このとき、制御装置0から通知された第1の同期時刻s0j(端末jのローカルクロック)と、端末iから通知された第2の同期時刻sij(端末jのローカルクロック)は、それぞれ式4,式5のようになる。
[式4]s0j=r0j+τ0j=r0j+τ−(1/2)×RTT0j
[式5]sij=rij+τij=rij+τ0i−(1/2)×RTTij
=rij+τ−(1/2)×RTT0i−(1/2)×RTTij
【0035】
そして、端末jは、以上のように複数の同期時刻(1つの第1の同期時刻と、1つまたは複数の第2の同期時刻)を得ることができるため、これら複数の同期時刻から統計的手法を用いて、最終的な同期時刻(第3の同期時刻)「sj」(端末jのローカルクロック)を決定する。統計的手法として平均値を採用する場合、同期時刻「sj」は式6で算出される。
[式6]sj=(s0j+Σsij)/n
ただし,Σはi=1,2,…,j−1,j+1…,nの総和である。
【0036】
また、上記式6では、同期時刻「sj」を単純な平均値で算出しているが、加重平均を採用して算出してもよい。同期時刻「sj」の算出に加重平均を採用する場合は、往復遅延量「RTTij」が小さい程、片道遅延量の推定値「1/2RTTij」と真の片道遅延量の誤差の絶対値は小さくなる事実を利用して、往復遅延量「RTTij」が小さい場合の同期時刻「sij」により大きな重み付けがさせる加重平均を採用すると良い。
【0037】
具体的に、加重平均の一例として、第1及び第2同期時刻「sij」を推定するための「RTTij」のマイナス2乗を重み係数とする方法がある。制御信号が制御装置0→端末i→端末jと通知されたとき、その「RTT」の合計は、「RTT0j+RTTji」となる。この「RTT0j+RTTji」のマイナス2乗を重み係数とする。つまり、第1の待ち時間情報及び第2の待ち時間情報が送信されたネットワーク上の経路における往復遅延量を用いた関数にて表される重み係数を用いる。ただし、制御装置0→端末jの場合も、「RTTjj=0」として「RTT0j+RTTji」と表す。このとき、重み係数「wi」を「1/(RTT0j+RTTji)」とすると,式6は、次式6’に書き換えられる。
[式6’]sj=(Σwi×sij)/(Σwi)
ただし,式6’でのΣは、i=0,1,2,・・・,j−1,j+1,・・・,nの総和である。
【0038】
以上のように、本発明の同期方式では、制御装置からの通知による第1の同期時刻だけでなく、他の端末からも第2の同期時刻を通知されることにより、同期時刻の情報量を増加させ、同期精度を向上させることができる。
【0039】
次に、本発明の同期方式において同期精度が向上することを数学的に証明する。まず、端末iにおける最終的な第3の同期時刻「si」は上記式6で算出されるが、式6に式4及び式5を代入すると次式7のようになる。
[式7]si=τ+(1/n)×(r0i+Σrji−RTT0i/2−Σ(RTT0j)/2−Σ(RTTji)/2)
ただし、Σは、j=1,2,…,i−1,i+1…,nの総和である。
【0040】
ここで、端末iにて制御装置0からの第1の同期待ち時間の通知の受信時刻「r0i」と、端末jからの第2の同期待ち時間の通知の受信時刻「rji」を、仮にグローバルクロックで表現することを考える。制御装置0にて第1の同期待ち時間の通知を送信した時刻(グローバルクロック)を「t」と仮定すると,「r0i」及び「rji」はグローバルクロック上では式8及び式9のようになる。
[式8]r0j→t+ΔT0i
[式9]rji→t+ΔT0j+ΔTji
【0041】
上記式8及び式9を、式7に代入することで、端末iにおけるローカルクロックの第3の同期時刻「si」は、グローバルクロックで表現すると式10のようになる。
[式10]si→t+τ+(ΔT0i−ΔTi0)/2+(1/n)×Σ(ΔT0j−ΔTj0)/2+(1/n)×Σ(ΔTji−ΔTij)/2
【0042】
上記式10において、一つ目のΣをj=1,2,・・・,nの総和として(二つ目のΣはj=1,2,・・・,i−1,i+1,・・・,nの総和のまま)、式10を式11のように簡略化する。
[式11]si→t+τ+{Σ(ΔT0j−ΔTj0)+Σ(ΔTji−ΔTij)}/2n
【0043】
結局、端末iにおける制御装置0が設定した基準同期時刻と第3の同期時刻との誤差「ei」は、式12のようになる。
[式12]ei={Σ(ΔT0j−ΔTj0)+Σ(ΔTji−ΔTij)}/2n
【0044】
上記式12の2つの総和は、制御装置と端末、または、端末間の片道遅延量の往路と復路の差についての総和である。図2で説明したように、ある一つのネットワーク経路に着目すれば、往路と復路の片道遅延量は異なるので、往路と復路の片道遅延量に差が生じることになる。しかし、複数経路における往路と復路の片道遅延量の差を足し合わせて平均をとれば、経路のサンプル数が増加していくと大数の法則により、ネットワーク内の全経路における往路と復路の片道遅延量の差の真の平均値に近づいていくことになる。一般に、ネットワークは上り方向(末端からコアネットワーク方向)と下り方向(コアネットワークから末端方向)が非対称な場合も多く存在するが、ネットワーク内の全経路における往路・復路と上り・下りとは相関が低く、ネットワーク内の全経路における往路・復路の片道遅延量としては対称とみなすことができ、その結果、ネットワーク内の全経路における往路と復路の片道遅延量の差の真の平均値は、「0」と考えて問題ない。この想定が正しいと仮定すると、式12の総和はnが大きくなると0に漸近していく(式13)。すなわち、本発明の同期方式では、端末数nが増加すればするほど同期精度が増すという性質がある。
[式13]ei→0 (n→無限大→∞)
【0045】
一方、従来の同期方式では、各端末において、式2に示した誤差がそれぞれ残るため、同期精度は本発明の同期方式よりも低くなる。加えて、端末数nが大きくなると、式2における誤差の最大値と最小値との差が大きくなる確率が高くなるので、従来の同期方式では、端末数nが大きくなればなるほど、同期精度が低下することになる。
【0046】
以上のように、図4では、端末数nが2の場合の同期方式について説明したが、図5では、端末数nが3の場合の同期信号のやりとりについて図示している。つまり、図4及び図5共に、1本線の矢印は、制御装置0から第1の同期待ち時間情報が各端末1〜3(図4では端末1,2)に送信されることを表しており、2本線の矢印は、第1の同期待ち時間情報を受けた各端末1〜3(図4では端末1,2)から、さらに別の端末に第2の同期待ち時間情報を送信されることを表している。
【0047】
そして、図6Aと図6Bは、端末数nが3の場合における本発明の同期方式の効果を示すシミュレーションについて表した図である。図6Aにおいて、制御装置0及び端末間の片道遅延量ΔTijは、それぞれ矢印上に示しており、単位はミリ秒である。この条件において、従来の同期方式と本発明の同期方式との両方で同期をとったとき、端末間の同期外れの最大値と、各端末における同期外れの平均二乗誤差=標準偏差と、を計算し、図6Bに示すように表に示した。すると、従来の方式は、最大同期外れが「146.8msec」であるのに対して、本発明の同期方式では「54.4msec」となり、他の方式の同期精度を62.9%改善できている。また、標準偏差についても、他の方式は「60.6msec」であるのに対し、本発明の同期方式では「22.9msec」となり、62.2%改善することができた。
【0048】
また、図7及び図8は、端末数nを2〜100まで変化させたときの最大同期外れ(maximum error of synchronization(縦軸))、及び、同期外れの標準偏差(average error of synchronization(縦軸))を示しており、それぞれ従来の同期方式(conventional method)、本発明の同期方式(proposed method)、本発明の同期方式の従来比の改善率(improvement rate(右軸))、のシミュレーション結果をプロットしたものである。但し、プロットした値は、1000回のシミュレーション結果の平均値であり、各シミュレーションでは、次に説明するように制御装置0及び各端末間の片道遅延量を決定して、従来の同期方式と本発明の同期方式をシミュレートした。
【0049】
制御装置0及び各端末間の片道遅延量は、まず平均250、標準偏差250の正規分布N(250,250)から正の乱数を1つ選出し、これを基準値Sとする。この基準値Sから正規分布N(S,S/3)から正の乱数を2つ選出し、これをそれぞれΔTij及びΔjiとする。これを全ての経路i→j,j→iで実施し、全ての経路の片道遅延量を決定する。最初にN(250,250)から基準値を選出したのは、インターネットでの平均片道遅延量が250msec程度であると言われているからであり、N(250,250)から選出した基準値に基づいて改めて正規分布から乱数を選出したのは、往路と復路の遅延量に大きなずれが発生しないようにするためである。
【0050】
図7及び図8の結果を参照すると、端末数n(横軸)が「2」のときに改善率が約50%であり、以降、端末数が増加するほど改善率は向上していく。これは、従来方式では、端末数が増加するほど同期外れとなる端末が増加するのに対し、本発明の同期方式では、端末数が増加するほど式12における総和が0に漸近していくため、同期精度が向上するからである。
【0051】
図9及び図10は、計測する往復遅延量に標準偏差10%のホワイトノイズが含まれる場合の最大同期外れ及び同期外れの標準偏差のシミュレーション結果である。実際のネットワーク環境にて往復遅延量を計測する場合、必ず誤差が含まれるため、その誤差の影響を調べるためのシミュレーションである。シミュレーションの結果、本発明の同期方式は、誤差が含まれる場合でも従来の同期方式よりも高精度な同期ができることが分かる。これは、往復遅延量に計測誤差が含まれている場合も、本発明の同期方式では複数経路から通達される同期時刻の平均値または加重平均値を採用するため、その計算過程で大数の法則または中心極限定理により誤差の影響が少なくなり、高い同期精度を実現できる。
【0052】
図11及び図12は、計測する往復遅延量に標準偏差30%のホワイトノイズが含まれる場合の最大同期外れ及び同期外れの標準偏差のシミュレーション結果である。ノイズが大きくなるとノイズが小さいときよりも同期精度は低下するが、本発明の同期方式は従来の同期方式よりも高い精度を達成できていることが分かる。
【0053】
以上では、同期をとる全端末が制御信号を他の端末に送信することを前提として説明したが、図13に示すようにいくつかの同期グループG1〜G3に分けて同期制御してもよい。そのとき、同一端末が複数の同期グループに所属していてもよい。このように、ある程度小さな同期グループに分割することで、端末数が大きくなった場合、端末1台の処理負荷が増加する問題を解決することができる。
【0054】
また、以上では、制御装置と端末は別装置であるという前提で説明したが、ある一つの端末が制御装置の役割を兼ねる構成をとっても良い。
【0055】
<第2の実施形態>
次に、本発明の第2の実施形態を説明する。上述した実施形態1における同期方式では、制御装置0が設定する同期のための基準待ち時間「τ」が,全ての同期制御信号が通達され終わるだけ十分な長さであることを前提にしていた。しかし、ネットワーク遅延量が大きな端末が存在する場合、同期制御信号が基準同期時刻に間に合わないことが考えられる。
【0056】
そこで,本実施形態では、同期をとる前に、予め実施形態1にて記載の同期方式における同期制御信号のやりとりを実施しておき、制御装置0から通達される第1の同期時刻と、第1の同期時刻並びに他の端末から通達される第2の同期時刻から計算される最終的な第3の同期時刻との差分を記憶しておき、その差分を第1の同期時刻からの補正値として用いる方式を採用することで、上述の課題を解決する。
【0057】
次に、本実施形態について詳細に説明する。まず、同期をとる前に予め実施形態1に記載の同期方式における同期制御信号のやりとりを実施する。このとき、制御装置0で定める基準同期待ち時間「τ」は任意の値を定めておく。ただし、このときの「τ」の値自体には意味はなく、制御装置0が各端末に通達する第1の同期待ち時間「τ0i=τ−(1/2)×RTT0i」が負の値になってもよい。
【0058】
続いて、各端末iが他の端末jに第1の同期待ち時間「τ0i」に基づいて第2の同期待ち時間「τij」を計算するが、この場合も負の値になってもよい。第1の待ち時間もしくは第2の待ち時間が負の値の場合は、それから算出される第1の同期時刻及び第2の同期時刻は、第1の待ち時間の通知の受信時刻及び第2の待ち時間の通知の受信時刻よりも過去の時刻になる。続いて、第1の同期時刻及び第2の同期時刻から第3の同期時刻を計算し、第1の同期時刻と第3の同期時刻との差分を補正量として記憶しておく。
【0059】
次に、実際に同期をとるタイミングでは、図3に示した従来の同期方式と同じく、制御装置0からの第1の同期待ち時間の通知のみを実施する。そして、上述のとおり予め記憶した補正量をこの同期のタイミングで通知された第1の同期待ち時間に加えることにより、第3の同期時刻を算出する。
【0060】
以上のような形態をとることにより、ネットワーク遅延量が大きな端末が存在して、同期制御信号が基準同期時刻に間に合わない場合でも、実施形態1と同様の同期精度を実現することが可能になる。
【0061】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における同期システム構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【0062】
(付記1)
ネットワークを介して接続された複数の情報処理装置を備え、
特定の情報処理装置が、当該特定の情報処理装置から送信される所定の信号に対して互いに同期を取る複数の他の情報処理装置に対して、当該他の情報処理装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を送信する第1待ち時間送信部を備えると共に、
前記他の各情報処理装置が、
前記特定の情報処理装置から送信された前記第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記所定の信号に対して自装置と互いに同期を取る別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、をそれぞれ備えた、
同期システム。
【0063】
(付記2)
付記1に記載の同期システムであって、
前記特定の情報処理装置が有する前記第1の待ち時間送信部は、前記他の情報処理装置が同期を取る予定時刻と前記第1の待ち時間情報を送信する時刻との差分時間から、前記特定の情報処理装置と前記他の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該他の情報処理装置における前記第1の待ち時間情報として算出して、当該他の情報処理装置に対して送信する、
同期システム。
【0064】
(付記3)
付記1又は2に記載の同期システムであって、
前記他の情報処理装置が有する前記第2の待ち時間送信部は、受信した前記第1の待ち時間情報から、自装置と前記別の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該別の情報処理装置における前記第2の待ち時間情報として算出して、当該別の情報処理装置に対して送信する、
同期システム。
【0065】
(付記4)
付記1乃至3のいずれかに記載の同期システムであって、
前記他の情報処理装置が有する前記同期時刻計算部は、受信した前記第1の待ち時間情報から自装置において前記所定の信号を同期する第1の同期時刻を算出すると共に、受信した前記第2の待ち時間情報から自装置において前記所定の信号を同期する第2の同期時刻を算出し、前記第1の同期時刻と前記第2の同期時刻との平均値を前記同期時刻として算出する、
同期システム。
【0066】
(付記5)
付記1乃至3のいずれかに記載の同期システムであって、
前記他の情報処理装置が有する前記同期時刻計算部は、受信した前記第1の待ち時間情報から自装置において前記所定の信号を同期する第1の同期時刻を算出すると共に、受信した前記第2の待ち時間情報から自装置において前記所定の信号を同期する第2の同期時刻を算出し、前記第1の待ち時間情報及び前記第2の待ち時間情報が送信された前記ネットワーク上の経路における往復遅延量を用いた関数にて表される重み係数を用いて、前記第1の同期時刻と前記第2の同期時刻との加重平均値を前記同期時刻として算出する、
同期システム。
【0067】
(付記6)
特定の情報処理装置から送信される所定の信号に対して互いに同期を取る別の情報処理装置とネットワークを介して接続された情報処理装置であって、
特定の情報処理装置から送信される、自装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、
を備えた情報処理装置。
【0068】
(付記7)
付記6に記載の情報処理装置であって、
前記第1待ち時間受信部が、自装置と前記別の情報処理装置とが同期を取る予定時刻と前記第1の待ち時間情報を送信する時刻との差分時間から、前記特定の情報処理装置と自装置との間の通信時における往復遅延量の2分の1を減じた値である前記第1の待ち時間情報を、前記特定の情報処理装置から受信し、
前記第2待ち時間送信部が、受信した前記第1の待ち時間情報から、自装置と前記別の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該別の情報処理装置における前記第2の待ち時間情報として算出して、当該別の情報処理装置に対して送信する、
情報処理装置。
【0069】
(付記8)
特定の情報処理装置から送信される所定の信号に対して互いに同期を取る別の情報処理装置とネットワークを介して接続された情報処理装置に、
特定の情報処理装置から送信される、自装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、
を実現させるためのプログラム。
【0070】
(付記9)
付記8に記載のプログラムであって、
前記第1待ち時間受信部が、自装置と前記別の情報処理装置とが同期を取る予定時刻と前記特定の情報処理装置が前記第1の待ち時間情報を送信する時刻との差分時間から、前記特定の情報処理装置と自装置との間の通信時における往復遅延量の2分の1を減じた値である前記第1の待ち時間情報を、前記特定の情報処理装置から受信し、
前記第2待ち時間送信部が、受信した前記第1の待ち時間情報から、自装置と前記別の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該別の情報処理装置における前記第2の待ち時間情報として算出して、当該別の情報処理装置に対して送信する、
プログラム。
【0071】
(付記10)
ネットワークを介して接続された複数の情報処理装置を備えた同期システムにて、
特定の情報処理装置が、当該特定の情報処理装置から送信される所定の信号に対して互いに同期を取る複数の他の情報処理装置に対して、当該他の情報処理装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を送信し、
前記他の各情報処理装置が、
前記特定の情報処理装置から送信された前記第1の待ち時間情報を受信し、
前記受信した第1の待ち時間情報に基づいて、前記所定の信号に対して自装置と互いに同期を取る別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信すると共に、当該別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信し、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する、
同期方法。
【0072】
(付記11)
付記10に記載の同期方法であって、
前記特定の情報処理装置が、前記他の情報処理装置が同期を取る予定時刻と前記第1の待ち時間情報を送信する時刻との差分時間から、前記特定の情報処理装置と前記他の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該他の情報処理装置における前記第1の待ち時間情報として算出して、当該他の情報処理装置に対して送信する、
同期方法。
【0073】
(付記12)
付記10又は11に記載の同期方法であって、
前記他の情報処理装置が、受信した前記第1の待ち時間情報から、自装置と前記別の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該別の情報処理装置における前記第2の待ち時間情報として算出して、当該別の情報処理装置に対して送信する、
同期方法。
【符号の説明】
【0074】
0 制御装置
1,2,3,n 端末
10 第1待ち時間送信部
11 第1待ち時間受信部
12 第2待ち時間送信部
13 第2待ち時間受信部
14 同期時刻計算部


【特許請求の範囲】
【請求項1】
ネットワークを介して接続された複数の情報処理装置を備え、
特定の情報処理装置が、当該特定の情報処理装置から送信される所定の信号に対して互いに同期を取る複数の他の情報処理装置に対して、当該他の情報処理装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を送信する第1待ち時間送信部を備えると共に、
前記他の各情報処理装置が、
前記特定の情報処理装置から送信された前記第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記所定の信号に対して自装置と互いに同期を取る別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、をそれぞれ備えた、
同期システム。
【請求項2】
請求項1に記載の同期システムであって、
前記特定の情報処理装置が有する前記第1の待ち時間送信部は、前記他の情報処理装置が同期を取る予定時刻と前記第1の待ち時間情報を送信する時刻との差分時間から、前記特定の情報処理装置と前記他の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該他の情報処理装置における前記第1の待ち時間情報として算出して、当該他の情報処理装置に対して送信する、
同期システム。
【請求項3】
請求項1又は2に記載の同期システムであって、
前記他の情報処理装置が有する前記第2の待ち時間送信部は、受信した前記第1の待ち時間情報から、自装置と前記別の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該別の情報処理装置における前記第2の待ち時間情報として算出して、当該別の情報処理装置に対して送信する、
同期システム。
【請求項4】
請求項1乃至3のいずれかに記載の同期システムであって、
前記他の情報処理装置が有する前記同期時刻計算部は、受信した前記第1の待ち時間情報から自装置において前記所定の信号を同期する第1の同期時刻を算出すると共に、受信した前記第2の待ち時間情報から自装置において前記所定の信号を同期する第2の同期時刻を算出し、前記第1の同期時刻と前記第2の同期時刻との平均値を前記同期時刻として算出する、
同期システム。
【請求項5】
請求項1乃至3のいずれかに記載の同期システムであって、
前記他の情報処理装置が有する前記同期時刻計算部は、受信した前記第1の待ち時間情報から自装置において前記所定の信号を同期する第1の同期時刻を算出すると共に、受信した前記第2の待ち時間情報から自装置において前記所定の信号を同期する第2の同期時刻を算出し、前記第1の待ち時間情報及び前記第2の待ち時間情報が送信された前記ネットワーク上の経路における往復遅延量を用いた関数にて表される重み係数を用いて、前記第1の同期時刻と前記第2の同期時刻との加重平均値を前記同期時刻として算出する、
同期システム。
【請求項6】
特定の情報処理装置から送信される所定の信号に対して互いに同期を取る別の情報処理装置とネットワークを介して接続された情報処理装置であって、
特定の情報処理装置から送信される、自装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、
を備えた情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記第1待ち時間受信部が、自装置と前記別の情報処理装置とが同期を取る予定時刻と前記第1の待ち時間情報を送信する時刻との差分時間から、前記特定の情報処理装置と自装置との間の通信時における往復遅延量の2分の1を減じた値である前記第1の待ち時間情報を、前記特定の情報処理装置から受信し、
前記第2待ち時間送信部が、受信した前記第1の待ち時間情報から、自装置と前記別の情報処理装置との間の通信時における往復遅延量の2分の1を減じた値を、当該別の情報処理装置における前記第2の待ち時間情報として算出して、当該別の情報処理装置に対して送信する、
情報処理装置。
【請求項8】
特定の情報処理装置から送信される所定の信号に対して互いに同期を取る別の情報処理装置とネットワークを介して接続された情報処理装置に、
特定の情報処理装置から送信される、自装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を受信する第1待ち時間受信部と、
前記受信した第1の待ち時間情報に基づいて、前記別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信する第2待ち時間送信部と、
前記別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信する第2待ち時間受信部と、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する同期時刻計算部と、
を実現させるためのプログラム。
【請求項9】
ネットワークを介して接続された複数の情報処理装置を備えた同期システムにて、
特定の情報処理装置が、当該特定の情報処理装置から送信される所定の信号に対して互いに同期を取る複数の他の情報処理装置に対して、当該他の情報処理装置における前記所定の信号の同期待ち時間を表す第1の待ち時間情報を送信し、
前記他の各情報処理装置が、
前記特定の情報処理装置から送信された前記第1の待ち時間情報を受信し、
前記受信した第1の待ち時間情報に基づいて、前記所定の信号に対して自装置と互いに同期を取る別の情報処理装置における前記所定の信号の第2の同期待ち時間を表す第2の待ち時間情報を算出して、当該第2の待ち時間情報を前記別の情報処理装置に対して送信すると共に、当該別の情報処理装置にて算出され当該別の情報処理装置から自装置に対して送信された前記第2の待ち時間情報を受信し、
受信した前記第1の待ち時間情報と前記第2の待ち時間情報とに基づいて自装置における前記所定の信号の同期時刻を算出する、
同期方法。


【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−156744(P2012−156744A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−13682(P2011−13682)
【出願日】平成23年1月26日(2011.1.26)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】