(57)【要約】  本発明は、ハードウェアを増設することなく、高精度な同期を可能とする同期通信システムを提供することを目的とする。  同期通信システムは、同期サーバと、同期サーバに接続される２以上のクライアントと、が同期する同期通信システムであって、同期サーバは、クロックカウンタを同期情報としてクライアントに送信し、クライアントは、自らのクロックカウンタを同期情報と比較し、同期情報に対する自らのクロックカウンタの誤差を補う補正値を求め、自らのクロックカウンタに補正値を適用して同期サーバに同期する。
2008142815.tif 000002
【特許請求の範囲】
【請求項１】
同期サーバと、
前記同期サーバに接続されるクライアントと、
が同期する同期通信システムであって、
前記同期サーバは、クロックカウンタを同期情報として前記クライアントに送信し、
前記クライアントは、自らのクロックカウンタを前記同期情報と比較し、前記同期情報に対する前記自らのクロックカウンタの誤差を補う補正値を求め、前記自らのクロックカウンタに前記補正値を適用して前記同期サーバに同期することを特徴とする同期通信システム。
【請求項２】
前記同期サーバは、前記クライアントが直列に又は階層をもって接続され、前記同期情報を前記クライアントの一部に送信し、
前記クライアントは、前記同期情報を未だ受信していないクライアントに前記同期サーバから受信した又は前記クライアントから転送された前記同期情報を転送することを特徴とする請求項１に記載の同期通信システム。
【請求項３】
前記クライアントは、前記補正値を保存することを特徴とする請求項１又は２に記載の同期通信システム。
【請求項４】
前記同期サーバは、前記クロックカウンタを時刻に対応させるクロックカウンタ−時刻対応情報を前記クライアントに送信し、
前記クライアントは、前記補正値を適用した前記自らのクロックカウンタを前記クロックカウンタ−時刻対応情報を用いて時刻情報に変換して前記同期サーバに時刻同期することを特徴とする請求項１から３のいずれかに記載の同期通信システム。
【請求項５】
前記クライアントは、変換した前記時刻情報で内蔵時計の値を書き換えることを特徴とする請求項４に記載の同期通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックカウンタを用いてサーバにクライアントが同期する通信システムに関する。
【背景技術】
【０００２】
従来から、サーバの内蔵時計の時刻をクライアントに送信し、この時刻に基づいてクライアントをサーバに同期させることは行われていた。例えば、特許文献１には、補正クロックによって時刻を補正し、ホストコンピュータを時刻同期させる技術が記載されている。
【特許文献１】特開２００６−２３４５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来の通信システムでは、サーバやクライアントが保有する時刻の誤差（以後、「保有時刻誤差」と記す。）と時刻を補正する際の誤差（以後、「時刻補正誤差」と記す。）が発生し、さらに、これらの誤差が累積するという問題があった。【０００４】
図８に、従来の通信システムで誤差が累積する状態を示す概念図を示した。図８では、保有時刻誤差を斜線で網掛けした楕円形、時刻補正誤差を黒塗り楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示した。図８の通信システム２００は、サーバ２１０にｎ個のクライアント２２０ａ〜２２０ｎが直列に接続され、サーバ２１０の時刻がクライアント２２０ａからクライアント２２０ｎまで順次転送される。クライアント２２０は、サーバ２１０の時刻を用いてサーバ２１０に同期する。クライアント２２０ａでは、サーバ２１０の保有時刻誤差に加え、自らの保有時刻誤差が発生し、さらに、この時刻を補正する際に時刻補正誤差が発生する。また、クライアント２２０ｂでは、サーバ２１０及びクライアント２２０ａの保有時刻誤差に加え、自らの保有時刻誤差が発生し、さらに、この時刻を補正する際に時刻補正誤差が発生する。図８に示すように、クライアント２２０ｎでは、保有時刻誤差及び時刻補正誤差が累積し、正確に同期できていない問題があった。【０００５】
また、ＧＰＳを利用すれば高精度な同期は可能であるが、新たにＧＰＳ受信機等のハードウェアを増設する必要がある。
【課題を解決するための手段】
【０００６】
本発明は、ハードウェアを増設することなく、高精度な同期を可能とする同期通信システムを提供することを目的とする。【０００７】
本発明者らは、システムコールによって得られる時刻を時刻同期に使用していること、及び、システムコールがカーネルを介するために保有時刻誤差が大きくなることに着目し、クロックカウンタを用いて同期することで誤差を大幅に低減できることを見出し、本発明を完成させた。【０００８】
具体的には、本発明に係る同期通信システムは、同期サーバと、前記同期サーバに接続されるクライアントと、が同期する同期通信システムであって、前記同期サーバは、クロックカウンタを同期情報として前記クライアントに送信し、前記クライアントは、自らのクロックカウンタを前記同期情報と比較し、前記同期情報に対する前記自らのクロックカウンタの誤差を補う補正値を求め、前記自らのクロックカウンタに前記補正値を適用して前記同期サーバに同期することを特徴とする。【０００９】
上記同期通信システムは、ハードウェアを増設することなく、高精度な同期を可能とする。【００１０】
本発明に係る同期通信システムでは、前記同期サーバは、前記クライアントが直列に又は階層をもって接続され、前記同期情報を前記クライアントの一部に送信し、前記クライアントは、前記同期情報を未だ受信していないクライアントに前記同期サーバから受信した又は前記クライアントから転送された前記同期情報を転送することが好ましい。【００１１】
上記同期通信システムは、誤差が累積しやすい接続方式で前記同期サーバと前記クライアントが接続されている場合でも高精度な同期を可能とする。【００１２】
本発明に係る同期通信システムでは、前記クライアントは、前記補正値を保存することが好ましい。【００１３】
上記同期通信システムは、前記クライアントの負荷を軽減することができる。【００１４】
本発明に係る同期通信システムでは、前記同期サーバは、前記クロックカウンタを時刻に対応させるクロックカウンタ−時刻対応情報を前記クライアントに送信し、前記クライアントは、前記補正値を適用した前記自らのクロックカウンタを前記クロックカウンタ−時刻対応情報を用いて時刻情報に変換して前記同期サーバに時刻同期することが好ましい。【００１５】
上記同期通信システムは、高精度な時刻同期を可能とする。【００１６】
本発明に係る同期通信システムでは、前記クライアントは、変換した前記時刻情報で内蔵時計の値を書き換えることが好ましい。【００１７】
上記同期通信システムは、前記クライアントの負荷を軽減することができる。
【発明の効果】
【００１８】
本発明は、ハードウェアを増設することなく、高精度な同期を可能とする同期通信システムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る同期通信システムの第１形態の概略図である。
【図２】本実施形態に係る同期通信システムの第２形態の概略図である。
【図３】本実施形態に係る同期通信システムの第３形態の概略図である。
【図４】本実施形態に係る同期通信システムの第４形態の概略図である。
【図５】本実施形態に係る同期通信システムの第５形態の概略図である。
【図６】Ｔｗｏ−ｗａｙ方式による同期の例を示す図である。
【図７】同期サーバ及びクライアント間で、基準となるクロックカウンタに対して、クロックカウンタの周波数偏差は合っているが、クロックカウンタが使用する周波数が異なる場合の例を示す図である。
【図８】従来の通信システムで誤差が累積する状態を示す概念図である。
【符号の説明】
【００２０】
１００  同期通信システム
１１０  同期サーバ
１２０，１２０ａ〜１２０ｆ  クライアント
２００  通信システム
２１０  同期サーバ
２２０ａ〜２２０ｎ  クライアント
【発明を実施するための最良の形態】
【００２１】
添付の図面を参照して本発明の実施の形態を説明する。以下に説明する実施の形態は本発明の構成の例であり、本発明は、以下の実施の形態に制限されない。【００２２】
図１に、本実施形態に係る同期通信システムの第１形態の概略図を示す。本実施形態に係る同期通信システム１００は、同期サーバ１１０と、同期サーバ１１０に接続されるクライアント１２０と、が同期する同期通信システム１００であって、同期サーバ１１０は、クロックカウンタを同期情報としてクライアント１２０に送信し、クライアント１２０は、自らのクロックカウンタを同期情報と比較し、同期情報に対する自らのクロックカウンタの誤差を補う補正値を求め、自らのクロックカウンタに補正値を適用して同期サーバ１１０に同期する。【００２３】
同期サーバ１１０としては、例えば、サーバ、ワークステーション又はホストコンピュータがある。同期サーバ１１０は、例えば、ＣＰＵ等の演算装置、メモリ、ハードディスク等の記憶手段、マウス、キーボード、ディスプレイ、プリンタ等の入出力手段、ＬＡＮポート等の通信インターフェースを有する（不図示）。【００２４】
クライアント１２０としては、例えば、パーソナルコンピュータ、ワークステーション、パーソナルコンピュータ又はホストコンピュータがある。同期サーバ１１０は、例えば、演算装置、記憶手段、入出力手段及び通信インターフェースを有する。【００２５】
図１の同期通信システム１００は、４台のクライアント１２０が同期サーバ１１０に接続されるスター型の接続方式である。【００２６】
ここで、クロックカウンタとは、演算装置のクロック周波数が進む毎にカウントされるものであり、例えば、Ｐｅｎｔｉｕｍ（登録商標）ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のタイムスタンプカウンタ（ＴＳＣ：Ｔｉｍｅ  Ｓｔａｍｐ  Ｃｏｕｎｔｅｒ）がある。このクロックカウンタは、例えば、ＲＤＴＳＣ（Ｒｅａｄ  Ｔｉｍｅ  Ｓｔａｍｐ  Ｃｏｕｎｔｅｒ）命令でカーネルを介さずに取得することができる。【００２７】
クロックカウンタの誤差（以後、「クロックカウンタ誤差」と記す。）は、システムコールによって得られる時刻の保有時刻誤差に比べ、１／１００以下と極めて小さい。さらに、クロックカウンタは、高精度な分解能を有する。従って、図１の同期通信システム１００は、従来の通信システムより誤差を大幅に低減でき、ハードウェアを増設することなく、高精度な同期を可能とする。【００２８】
図２に、本実施形態に係る同期通信システムの第２形態の概略図を示す。図２では、保有時刻誤差を白抜き楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示す。本実施形態に係る同期通信システム１００では、同期サーバ１１０は、クライアント１２０が直列に接続され、同期情報をクライアント１２０の一部に送信し、クライアント１２０は、同期情報を未だ受信していないクライアント１２０に同期サーバ１１０から受信した又はクライアント１２０から転送された同期情報を転送することが好ましい。【００２９】
図２の同期通信システム１００は、同期サーバ１１０にクライアント１２０ａが接続され、クライアント１２０ａにクライアント１２０ｂが接続され、クライアント１２０ｂにクライアント１２０ｃが直列に接続されるバス型の接続方式である。同期サーバ１１０は、クロックカウンタ誤差を含む同期情報をクライアント１２０ａに送信する。クライアント１２０ａでは、同期する際、同期情報に含まれる同期サーバ１１０のクロックカウンタ誤差に加え、クライアント１２０ａ自らのクロックカウンタ誤差が発生する。また、クライアント１２０ａは、これらのクロックカウンタ誤差を含む同期情報をクライアント１２０ｂに転送する。クライアント１２０ｂでは、同期する際、同期情報に含まれる同期サーバ１１０及びクライアント１２０ａのクロックカウンタ誤差に加え、クライアント１２０ｂ自らのクロックカウンタ誤差が発生する。また、クライアント１２０ｂでは、これらのクロックカウンタ誤差を含む同期情報をクライアント１２０ｃに転送する。クライアント１２０ｃは、同期する際、同期情報に含まれる同期サーバ１１０、クライアント１２０ａ及びクライアント１２０ｂのクロックカウンタ誤差に加え、クライアント１２０ｃ自らのクロックカウンタ誤差が発生する。【００３０】
図２に示すように、クライアント１２０に同期情報が転送されるにつれてクロックカウンタ誤差は累積する。しかし、クロックカウンタ誤差は極めて小さいことから、クロックカウンタ誤差が累積してもその影響は極めて少ない。従って、図２の同期通信システム１００は、誤差が累積しやすい接続方式で同期サーバ１１０とクライアント１２０が接続されている場合でも高精度な同期を可能とする。【００３１】
図３に、本実施形態に係る同期通信システムの第３形態の概略図を示す。図３は、同期サーバ１１０にクライアント１２０が階層をもって接続された例である。同期サーバ１１０は、同期情報をクライアント１２０ａに送信する。クライアント１２０ａは、同期情報を利用して同期サーバ１１０に同期し、同期サーバ１１０から転送された同期情報をクライアント１２０ｂ及びクライアント１２０ｃにそれぞれ転送する。クライアント１２０ｂは、同期情報を利用して同期サーバ１１０に同期し、クライアント１２０ａから転送された同期情報をクライアント１２０ｄ及びクライアント１２０ｅにそれぞれ転送する。クライアント１２０ｃは、同期情報を利用して同期サーバ１１０に同期し、クライアント１２０ａから転送された同期情報をクライアント１２０ｆに転送する。また、クライアント１２０ｄ、クライアント１２０ｅ及びクライアント１２０ｆは、それぞれが同期情報を利用して同期サーバ１１０に同期する。階層をもって接続した場合でもクロックカウンタの誤差は累積するが、図３の同期通信システム１００は、図２の同期通信システムと同様に高精度な同期を可能とする。なお、クライアント１２０は、直接又は階層をもって接続する場合、複数であっても良い。【００３２】
本実施形態に係る同期通信システムでは、クライアント１２０は、補正値を保存することが好ましい。クライアント１２０は、記憶手段や演算装置のレジスタに補正値を保存するため、都度、自らのクロックカウンタを同期情報と比較し、同期情報に対する自らのクロックカウンタの誤差を補う補正値を求める必要がない。従って、図３の同期通信システム１００は、クライアント１２０の負荷を軽減することができる。【００３３】
図４に、本実施形態に係る同期通信システムの第４形態の概略図を示す。図４では、保有時刻誤差を斜線で網掛けした楕円形、クロックカウンタ誤差を白抜き楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示した。図４の同期通信システム１００は、同期サーバ１１０にクライアント１２０が時刻同期することが図１及び図２の同期通信システム１００と大きく異なる。本実施形態に係る同期通信システム１００では、同期サーバ１１０は、クロックカウンタを時刻に対応させるクロックカウンタ−時刻対応情報をクライアント１２０に送信し、クライアント１２０は、補正値を適用した自らのクロックカウンタをクロックカウンタ−時刻対応情報を用いて時刻情報に変換して同期サーバ１１０に時刻同期することが好ましい。【００３４】
クロックカウンタ−時刻対応情報は、同期サーバ１１０において、例えば、クロックカウンタと同期サーバ１１０の内蔵時計から逆算することができる。図４の同期通信システム１００では、図２の同期通信システム１００と同様に同期情報を転送するにつれてクロックカウンタ誤差が累積する。また、内蔵時計を利用するため、保有時刻誤差が同期サーバ１１０及びクライアント１２０で発生する。クロックカウンタ−時刻対応情報を送信又は転送しても保有時刻誤差は累積しないため、その影響は少ない。【００３５】
クライアント１２０が同期サーバ１１０のクロックカウンタ−時刻対応情報を用いて自らのクロックカウンタを時刻に変換することで、同期通信システム１００は、高精度な時刻同期が可能とする。なお、クロックカウンタ−時刻対応情報は、同期情報と略同時に同期サーバ１１０が送信又はクライアント１２０が転送しても良く、同期情報と前後して同期サーバ１１０が送信又はクライアント１２０が転送しても良い。【００３６】
図５に、本実施形態に係る同期通信システムの第５形態の概略図を示す。図５では、保有時刻誤差を斜線で網掛けした楕円形、クロックカウンタ誤差を白抜き楕円形、時刻補正誤差を黒塗り楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示した。図５の同期通信システム１００は、図４の同期通信システム１００と同様に時刻同期する。さらに、本実施形態に係る同期通信システム１００では、クライアント１２０は、変換した時刻情報で内蔵時計の値を書き換えることが好ましい。クライアント１２０は、都度、補正値を適用した自らのクロックカウンタをクロックカウンタ−時刻対応情報を用いて時刻情報に変換する必要がなくなる。従って、図５の同期通信システム１００は、クライアント１２０の負荷を軽減することができる。なお、図５の同期通信システム１００は、クライアント１２０で内部時刻を書き換える際に保有時刻誤差と時刻補正誤差が発生する。【００３７】
内蔵時計としては、例えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）時計やＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）が管理するソフトウェア時計がある。【００３８】
以下、同期の例を詳細に説明する。図６に、Ｔｗｏ−ｗａｙ方式による同期の例を示す。Ｔｗｏ−ｗａｙ方式は、同期サーバにクライアントが時刻同期するときに、双方から時刻同期信号を送出して、互いに相手の信号を受信する方式である。図６に示すように、時刻差Δのある同期サーバとクライアントが決められた時刻に時刻信号を、ｔａｓ、ｔｂｓの時刻に送出する。この信号は、互いにｔｂｒとｔａｒに受信される。このときに数１及び数２の関係が成り立つ。ここで、ｄｂａは、クライアントから同期サーバへの伝搬遅延、ｄａｂは、同期サーバからクライアントへの伝搬遅延である。【００３９】
【数１】
2008142815.tif 000003
【００４０】
【数２】
2008142815.tif 000004
【００４１】
数１及び数２により数３が求まる。【００４２】
【数３】
2008142815.tif 000005
【００４３】
従って、時刻差Δは、数４により表せる。ここで、ｄｂａとｄａｂが等しい場合、時刻差Δは、数５により表せる。数５により、四つの測定値が求まる。そして、同期サーバは、求めた時刻差Δを使用して、時刻を補正して時刻同期させることができる。【００４４】
【数４】
2008142815.tif 000006
【００４５】
【数５】
2008142815.tif 000007
【００４６】
図７に、同期サーバ及びクライアント間で、基準となるクロックカウンタに対して、クロックカウンタの周波数偏差は合っているが、クロックカウンタの周波数が異なる場合の例を示す。なお、図７において、同期サーバ及びクライアント間の伝送遅延はないものとする。この場合、同期サーバとクライアントのクロックカウンタの増加速度が異なるので、クロックカウンタの誤差を一回合わせるだけでは、その後のクロックカウンタを同期させ続けることはできない。これを補正するために、同期サーバのクロックカウンタの増加速度をクライアントのクロックカウンタで測定する必要がある。【００４７】
図７における同期サーバのクロックカウンタＣａ１を、クライアントのクロックカウンタで測定すれば、Ｃｂｎが得られる。同様に、Ｃａ５のクロックカウンタを受信したときには、Ｃｂｎ＋４が得られる。したがって、同期サーバとクライアントのクロックカウンタの周波数偏差が基準となる周波数基準に対して常に一定であれば、数６が成立する。下記式６に示すように、クライアントのクロックカウンタがＣｂｋのときに、同期サーバのカウンタ値がＣａｍであることを求めることができる。【００４８】
【数６】
2008142815.tif 000008
【００４９】
同期サーバ及びクライアント間で、クロックカウンタの周波数が一致するが、クロックカウンタの周波数基準に対してクロックカウンタの周波数偏差が異なる場合にも、同期サーバ及びクライアントを同期することができる。具体的には、図７と同様に、同期サーバからクライアントにクロックカウンタを転送する場合、同期サーバのクロックカウンタがＣａ１とＣａ５のときにクライアントに転送する。数７に示すように、この転送されたクロックカウンタの到着時間をクライアントのクロックカウンタで測定し、ＣｂｎとＣｂｎ＋４を得れば、クライアントのクロックカウンタがＣｂｋのときに、同期サーバのクロックカウンタがＣａｍであることを求めることができる。【００５０】
【数７】
2008142815.tif 000009
【００５１】
以上のように、本実施形態に係る同期通信システムは、同期サーバとクライアントのクロックカウンタの周波数が等しい場合だけでなく、これらが異なる場合でも、高精度な同期を可能とする。
【産業上の利用可能性】
【００５２】
本発明に係る同期通信システムは、サーバとクライアントが同期する通信システムに利用することができ、特に、高精度な時間同期が必要となる、時刻情報が認証キーとなる時刻認証システムに利用することができる。
【図１】
2008142815.tif 000010
【図２】
2008142815.tif 000011
【図３】
2008142815.tif 000012
【図４】
2008142815.tif 000013
【図５】
2008142815.tif 000014
【図６】
2008142815.tif 000015
【図７】
2008142815.tif 000016
【図８】
2008142815.tif 000017
【手続補正書】
【提出日】平成20年10月29日(2008.10.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
同期サーバと、
前記同期サーバに接続されるクライアントと、
が同期する同期通信システムであって、
前記同期サーバは、カーネルを介さずに取得した異なるクロックカウンタ値を同期情報として複数回にわたり前記クライアントに送信し、
前記クライアントは、前記同期情報として前記同期サーバの複数のクロックカウンタ値及び前記同期情報の受信時の自己の複数のクロックカウンタ値から、前記同期サーバのクロックカウンタ値の変化量と自らのクロックカウンタ値の変化量を比較することで、自らのクロックカウンタ値に対する前記同期サーバのクロックカウンタ値の増加速度を測定し、前記同期サーバのクロックカウンタにタイミング同期することを特徴とする同期通信システム。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
前記同期サーバは、前記クロックカウンタ値を時刻に対応させるクロックカウンタ値−時刻対応情報を前記クライアントに送信し、
前記クライアントは、自らのクロックカウンタ値を、前記同期サーバのクロックカウンタ値の変化量と自らのクロックカウンタ値の変化量の対応関係及び前記クロックカウンタ値−時刻対応情報を用いて時刻情報に変換し、前記同期サーバに時刻同期することを特徴とする請求項１に記載の同期通信システム。
【請求項７】
前記クライアントは、変換した前記時刻情報で内蔵時計を書き換えることを特徴とする請求項６に記載の同期通信システム。
【請求項８】
前記同期サーバは、前記クライアントが直列に又は階層をもって接続され、前記同期情報を前記クライアントの一部に送信し、
前記クライアントは、前記同期情報を未だ受信していないクライアントに前記同期サーバから受信した又は前記クライアントから転送された前記同期情報を転送することを特徴とする請求項１、６又は７に記載の同期通信システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、クロックカウンタ値を用いてサーバにクライアントが同期する通信システムに関する。【０００２】  従来から、サーバの内蔵時計の時刻をクライアントに送信し、この時刻に基づいてクライアントをサーバに同期させることは行われていた。例えば、特許文献１には、補正クロックによって時刻を補正し、ホストコンピュータを時刻同期させる技術が記載されている。
【特許文献１】特開２００６−２３４５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】  しかし、従来の通信システムでは、サーバやクライアントが保有する時刻の誤差（以後、「保有時刻誤差」と記す。）と時刻を補正する際の誤差（以後、「時刻補正誤差」と記す。）が発生し、さらに、これらの誤差が累積するという問題があった。【０００４】図８に、従来の通信システムで誤差が累積する状態を示す概念図を示した。図８では、保有時刻誤差を斜線で網掛けした楕円形、時刻補正誤差を黒塗り楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示した。図８の通信システム２００は、サーバ２１０にｎ個のクライアント２２０ａ〜２２０ｎが直列に接続され、サーバ２１０の時刻がクライアント２２０ａからクライアント２２０ｎまで順次転送される。クライアント２２０は、サーバ２１０の時刻を用いてサーバ２１０に同期する。クライアント２２０ａでは、サーバ２１０の保有時刻誤差に加え、自らの保有時刻誤差が発生し、さらに、この時刻を補正する際に時刻補正誤差が発生する。また、クライアント２２０ｂでは、サーバ２１０及びクライアント２２０ａの保有時刻誤差に加え、自らの保有時刻誤差が発生し、さらに、この時刻を補正する際に時刻補正誤差が発生する。図８に示すように、クライアント２２０ｎでは、保有時刻誤差及び時刻補正誤差が累積し、正確に同期できていない問題があった。【０００５】  また、ＧＰＳを利用すれば高精度な同期は可能であるが、新たにＧＰＳ受信機等のハードウェアを増設する必要がある。
【課題を解決するための手段】
【０００６】  本発明は、ハードウェアを増設することなく、高精度な同期を可能とする同期通信システムを提供することを目的とする。【０００７】  本発明者らは、システムコールによって得られる時刻を時刻同期に使用していること、及び、システムコールがカーネルを介するために保有時刻誤差が大きくなることに着目し、クロックカウンタ値を用いて同期することで誤差を大幅に低減できることを見出し、本発明を完成させた。【０００８】  具体的には、本発明に係る同期通信システムは、同期サーバと、前記同期サーバに接続されるクライアントと、が同期する同期通信システムであって、前記同期サーバは、カーネルを介さずに取得した異なるクロックカウンタ値を同期情報として複数回にわたり前記クライアントに送信し、前記クライアントは、前記同期情報として前記同期サーバの複数のクロックカウンタ値及び前記同期情報の受信時の自己の複数のクロックカウンタ値から、前記同期サーバのクロックカウンタ値の変化量と自らのクロックカウンタ値の変化量を比較することで、自らのクロックカウンタ値に対する前記同期サーバのクロックカウンタ値の増加速度を測定し、前記同期サーバのクロックカウンタにタイミング同期することを特徴とする。【０００９】  上記同期通信システムは、ハードウェアを増設することなく、高精度な同期を可能とする。【００１０】  本発明に係る同期通信システムでは、前記同期サーバは、前記クライアントが直列に又は階層をもって接続され、前記同期情報を前記クライアントの一部に送信し、前記クライアントは、前記同期情報を未だ受信していないクライアントに前記同期サーバから受信した又は前記クライアントから転送された前記同期情報を転送することが好ましい。【００１１】  上記同期通信システムは、誤差が累積しやすい接続方式で前記同期サーバと前記クライアントが接続されている場合でも高精度な同期を可能とする。【００１２】  本発明に係る同期通信システムでは、前記クライアントは、前記補正値を保存することが好ましい。【００１３】  上記同期通信システムは、前記クライアントの負荷を軽減することができる。【００１４】  本発明に係る同期通信システムでは、前記同期サーバは、前記クロックカウンタ値を時刻に対応させるクロックカウンタ値−時刻対応情報を前記クライアントに送信し、前記クライアントは、自らのクロックカウンタ値を、前記同期サーバのクロックカウンタ値の変化量と自らのクロックカウンタ値の変化量の対応関係及び前記クロックカウンタ値−時刻対応情報を用いて時刻情報に変換し、前記同期サーバに時刻同期することが好ましい。【００１５】  上記同期通信システムは、高精度な時刻同期を可能とする。【００１６】  本発明に係る同期通信システムでは、前記クライアントは、変換した前記時刻情報で内蔵時計の値を書き換えることが好ましい。【００１７】  上記同期通信システムは、前記クライアントの負荷を軽減することができる。
【発明の効果】
【００１８】  本発明は、ハードウェアを増設することなく、高精度な同期を可能とする同期通信システムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る同期通信システムの第１形態の概略図である。
【図２】本実施形態に係る同期通信システムの第２形態の概略図である。
【図３】本実施形態に係る同期通信システムの第３形態の概略図である。
【図４】本実施形態に係る同期通信システムの第４形態の概略図である。
【図５】本実施形態に係る同期通信システムの第５形態の概略図である。
【図６】Ｔｗｏ−ｗａｙ方式による同期の例を示す図である。
【図７】同期サーバ及びクライアント間で、基準となるクロックカウンタに対して、クロックカウンタの周波数偏差は合っているが、クロックカウンタが使用する周波数が異なる場合の例を示す図である。
【図８】従来の通信システムで誤差が累積する状態を示す概念図である。
【符号の説明】
【００２０】１００  同期通信システム
１１０  同期サーバ
１２０，１２０ａ〜１２０ｆ  クライアント
２００  通信システム
２１０  同期サーバ
２２０ａ〜２２０ｎ  クライアント
【発明を実施するための最良の形態】
【００２１】  添付の図面を参照して本発明の実施の形態を説明する。以下に説明する実施の形態は本発明の構成の例であり、本発明は、以下の実施の形態に制限されない。【００２２】  図１に、本実施形態に係る同期通信システムの第１形態の概略図を示す。本実施形態に係る同期通信システム１００は、同期サーバ１１０と、同期サーバ１１０に接続されるクライアント１２０と、が同期する同期通信システム１００であって、同期サーバ１１０は、クロックカウンタ値を同期情報としてクライアント１２０に送信し、クライアント１２０は、自らのクロックカウンタ値を同期情報と比較し、同期情報に対する自らのクロックカウンタ値の誤差を補う補正値を求め、自らのクロックカウンタ値に補正値を適用して同期サーバ１１０に同期する。【００２３】  同期サーバ１１０としては、例えば、サーバ、ワークステーション又はホストコンピュータがある。同期サーバ１１０は、例えば、ＣＰＵ等の演算装置、メモリ、ハードディスク等の記憶手段、マウス、キーボード、ディスプレイ、プリンタ等の入出力手段、ＬＡＮポート等の通信インターフェースを有する（不図示）。【００２４】  クライアント１２０としては、例えば、パーソナルコンピュータ、ワークステーション、パーソナルコンピュータ又はホストコンピュータがある。同期サーバ１１０は、例えば、演算装置、記憶手段、入出力手段及び通信インターフェースを有する。【００２５】  図１の同期通信システム１００は、４台のクライアント１２０が同期サーバ１１０に接続されるスター型の接続方式である。【００２６】  ここで、クロックカウンタ値とは、演算装置のクロック周波数が進む毎にカウントされるものであり、例えば、Ｐｅｎｔｉｕｍ（登録商標）ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のタイムスタンプカウンタ（ＴＳＣ：Ｔｉｍｅ  Ｓｔａｍｐ  Ｃｏｕｎｔｅｒ）がある。このクロックカウンタ値は、例えば、ＲＤＴＳＣ（Ｒｅａｄ  Ｔｉｍｅ  Ｓｔａｍｐ  Ｃｏｕｎｔｅｒ）命令でカーネルを介さずに取得することができる。【００２７】  クロックカウンタ値の誤差（以後、「クロックカウンタ誤差」と記す。）は、システムコールによって得られる時刻の保有時刻誤差に比べ、１／１００以下と極めて小さい。さらに、クロックカウンタ値は、高精度な分解能を有する。従って、図１の同期通信システム１００は、従来の通信システムより誤差を大幅に低減でき、ハードウェアを増設することなく、高精度な同期を可能とする。【００２８】  図２に、本実施形態に係る同期通信システムの第２形態の概略図を示す。図２では、保有時刻誤差を白抜き楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示す。本実施形態に係る同期通信システム１００では、同期サーバ１１０は、クライアント１２０が直列に接続され、同期情報をクライアント１２０の一部に送信し、クライアント１２０は、同期情報を未だ受信していないクライアント１２０に同期サーバ１１０から受信した又はクライアント１２０から転送された同期情報を転送することが好ましい。【００２９】  図２の同期通信システム１００は、同期サーバ１１０にクライアント１２０ａが接続され、クライアント１２０ａにクライアント���２０ｂが接続され、クライアント１２０ｂにクライアント１２０ｃが直列に接続されるバス型の接続方式である。同期サーバ１１０は、クロックカウンタ誤差を含む同期情報をクライアント１２０ａに送信する。クライアント１２０ａでは、同期する際、同期情報に含まれる同期サーバ１１０のクロックカウンタ誤差に加え、クライアント１２０ａ自らのクロックカウンタ誤差が発生する。また、クライアント１２０ａは、これらのクロックカウンタ誤差を含む同期情報をクライアント１２０ｂに転送する。クライアント１２０ｂでは、同期する際、同期情報に含まれる同期サーバ１１０及びクライアント１２０ａのクロックカウンタ誤差に加え、クライアント１２０ｂ自らのクロックカウンタ誤差が発生する。また、クライアント１２０ｂでは、これらのクロックカウンタ誤差を含む同期情報をクライアント１２０ｃに転送する。クライアント１２０ｃは、同期する際、同期情報に含まれる同期サーバ１１０、クライアント１２０ａ及びクライアント１２０ｂのクロックカウンタ誤差に加え、クライアント１２０ｃ自らのクロックカウンタ誤差が発生する。【００３０】  図２に示すように、クライアント１２０に同期情報が転送されるにつれてクロックカウンタ誤差は累積する。しかし、クロックカウンタ誤差は極めて小さいことから、クロックカウンタ誤差が累積してもその影響は極めて少ない。従って、図２の同期通信システム１００は、誤差が累積しやすい接続方式で同期サーバ１１０とクライアント１２０が接続されている場合でも高精度な同期を可能とする。【００３１】  図３に、本実施形態に係る同期通信システムの第３形態の概略図を示す。図３は、同期サーバ１１０にクライアント１２０が階層をもって接続された例である。同期サーバ１１０は、同期情報をクライアント１２０ａに送信する。クライアント１２０ａは、同期情報を利用して同期サーバ１１０に同期し、同期サーバ１１０から転送された同期情報をクライアント１２０ｂ及びクライアント１２０ｃにそれぞれ転送する。クライアント１２０ｂは、同期情報を利用して同期サーバ１１０に同期し、クライアント１２０ａから転送された同期情報をクライアント１２０ｄ及びクライアント１２０ｅにそれぞれ転送する。クライアント１２０ｃは、同期情報を利用して同期サーバ１１０に同期し、クライアント１２０ａから転送された同期情報をクライアント１２０ｆに転送する。また、クライアント１２０ｄ、クライアント１２０ｅ及びクライアント１２０ｆは、それぞれが同期情報を利用して同期サーバ１１０に同期する。階層をもって接続した場合でもクロックカウンタ値の誤差は累積するが、図３の同期通信システム１００は、図２の同期通信システムと同様に高精度な同期を可能とする。なお、クライアント１２０は、直接又は階層をもって接続する場合、複数であっても良い。【００３２】  本実施形態に係る同期通信システムでは、クライアント１２０は、補正値を保存することが好ましい。クライアント１２０は、記憶手段や演算装置のレジスタに補正値を保存するため、都度、自らのクロックカウンタ値を同期情報と比較し、同期情報に対する自らのクロックカウンタ値の誤差を補う補正値を求める必要がない。従って、図３の同���通信システム１００は、クライアント１２０の負荷を軽減することができる。【００３３】  図４に、本実施形態に係る同期通信システムの第４形態の概略図を示す。図４では、保有時刻誤差を斜線で網掛けした楕円形、クロックカウンタ誤差を白抜き楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示した。図４の同期通信システム１００は、同期サーバ１１０にクライアント１２０が時刻同期することが図１及び図２の同期通信システム１００と大きく異なる。本実施形態に係る同期通信システム１００では、同期サーバ１１０は、クロックカウンタ値を時刻に対応させるクロックカウンタ値−時刻対応情報をクライアント１２０に送信し、クライアント１２０は、補正値を適用した自らのクロックカウンタ値をクロックカウンタ値−時刻対応情報を用いて時刻情報に変換して同期サーバ１１０に時刻同期することが好ましい。【００３４】  クロックカウンタ値−時刻対応情報は、同期サーバ１１０において、例えば、クロックカウンタ値と同期サーバ１１０の内蔵時計から逆算することができる。図４の同期通信システム１００では、図２の同期通信システム１００と同様に同期情報を転送するにつれてクロックカウンタ誤差が累積する。また、内蔵時計を利用するため、保有時刻誤差が同期サーバ１１０及びクライアント１２０で発生する。クロックカウンタ値−時刻対応情報を送信又は転送しても保有時刻誤差は累積しないため、その影響は少ない。【００３５】  クライアント１２０が同期サーバ１１０のクロックカウンタ値−時刻対応情報を用いて自らのクロックカウンタ値を時刻に変換することで、同期通信システム１００は、高精度な時刻同期が可能とする。なお、クロックカウンタ値−時刻対応情報は、同期情報と略同時に同期サーバ１１０が送信又はクライアント１２０が転送しても良く、同期情報と前後して同期サーバ１１０が送信又はクライアント１２０が転送しても良い。【００３６】  図５に、本実施形態に係る同期通信システムの第５形態の概略図を示す。図５では、保有時刻誤差を斜線で網掛けした楕円形、クロックカウンタ誤差を白抜き楕円形、時刻補正誤差を黒塗り楕円形で示し、矢印の方向につれて誤差の累積が大きくなることを示した。図５の同期通信システム１００は、図４の同期通信システム１００と同様に時刻同期する。さらに、本実施形態に係る同期通信システム１００では、クライアント１２０は、変換した時刻情報で内蔵時計の値を書き換えることが好ましい。クライアント１２０は、都度、補正値を適用した自らのクロックカウンタ値をクロックカウンタ値−時刻対応情報を用いて時刻情報に変換する必要がなくなる。従って、図５の同期通信システム１００は、クライアント１２０の負荷を軽減することができる。なお、図５の同期通信システム１００は、クライアント１２０で内部時刻を書き換える際に保有時刻誤差と時刻補正誤差が発生する。【００３７】  内蔵時計としては、例えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）時計やＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）が管理するソフトウェア時計がある。【００３８】  以下、同期の例を詳細に説明する。図６に、Ｔｗｏ−ｗａｙ方式による同期の例を示す。���ｗｏ−ｗａｙ方式は、同期サーバにクライアントが時刻同期するときに、双方から時刻同期信号を送出して、互いに相手の信号を受信する方式である。図６に示すように、時刻差Δのある同期サーバとクライアントが決められた時刻に時刻信号を、ｔａｓ、ｔｂｓの時刻に送出する。この信号は、互いにｔｂｒとｔａｒに受信される。このときに数１及び数２の関係が成り立つ。ここで、ｄｂａは、クライアントから同期サーバへの伝搬遅延、ｄａｂは、同期サーバからクライアントへの伝搬遅延である。【００３９】
【数１】
2008142815.tif 000018
【００４０】
【数２】
2008142815.tif 000019
【００４１】  数１及び数２により数３が求まる。【００４２】
【数３】
2008142815.tif 000020
【００４３】  従って、時刻差Δは、数４により表せる。ここで、ｄｂａとｄａｂが等しい場合、時刻差Δは、数５により表せる。数５により、四つの測定値が求まる。そして、同期サーバは、求めた時刻差Δを使用して、時刻を補正して時刻同期させることができる。【００４４】
【数４】
2008142815.tif 000021
【００４５】
【数５】
2008142815.tif 000022
【００４６】  図７に、同期サーバ及びクライアント間で、基準となるクロックカウンタ値に対して、クロックカウンタの周波数偏差は合っているが、クロックカウンタの周波数が異なる場合の例を示す。なお、図７において、同期サーバ及びクライアント間の伝送遅延はないものとする。この場合、同期サーバとクライアントのクロックカウンタ値の増加速度が異なるので、クロックカウンタ値の誤差を一回合わせるだけでは、その後のクロックカウンタを同期させ続けることはできない。これを補正するために、同期サーバのクロックカウンタ値の増加速度をクライアントのクロックカウンタで測定する必要がある。【００４７】  図７における同期サーバのクロックカウンタ値Ｃａ１を、クライアントのクロックカウンタで測定すれば、Ｃｂｎが得られる。同様に、Ｃａ５のクロックカウンタ値を受信したときには、Ｃｂｎ＋４が得られる。したがって、同期サーバとクライアントのクロックカウンタの周波数偏差が基準となる周波数基準に対して常に一定であれば、数６が成立する。下記式６に示すように、クライアントのクロックカウンタ値がＣｂｋのときに、同期サーバのカウンタ値がＣａｍであることを求めることができる。【００４８】
【数６】
2008142815.tif 000023
【００４９】  同期サーバ及びクライアント間で、クロックカウンタの周波数が一致するが、クロックカウンタの周波数基準に対してクロックカウンタの周波数偏差が異なる場合にも、同期サーバ及びクライアントを同期することができる。具体的には、図７と同様に、同期サーバからクライアントにクロックカウンタ値を転送する場合、同期サーバのクロックカウンタが値Ｃａ１とＣａ５のときにクライアントに転送する。数７に示すように、この転送されたクロックカウンタ値の到着時間をクライアントのクロックカウンタで測定し、ＣｂｎとＣｂｎ＋４を得れば、クライアントのクロックカウンタ値がＣｂｋのときに、同期サーバのクロックカウンタ値がＣａｍであることを求めることができる。【００５０】
【数７】
2008142815.tif 000024
【００５１】  以上のように、本実施形態に係る同期通信システムは、同期サーバとクライアントのクロックカウンタの周波数が等しい場合だけでなく、これらが異なる場合でも、高精度な同期を可能とする。
【産業上の利用可能性】
【００５２】  本発明に係る同期通信システムは、サーバとクライアントが同期する通信システムに利用することができ、特に、高精度な時間同期が必要となる、時刻情報が認証キーとなる時刻認証システムに利用することができる。
【国際調査報告】
2008142815.tif 000025
2008142815.tif 000026