(57)【要約】【課題】時刻情報の取得先として、時刻精度の高いタイムサーバを選択することができ、且つ、この選択のために、ユーザに手間を要しない通信端末を提供する。【解決手段】通信端末１００は、ネットワーク３００を通じて、応答要求パケットを送信し、これに応じてタイムサーバ２００〜２０６から返信される応答パケットを受信する。そして、通信端末１００は、応答パケットから取得されるデータを用いて、タイムサーバ２００〜２０６の中から、時刻情報の取得先となる候補を選択する。応答パケットから取得されるデータとして、サーバ２００〜２０６の時刻合わせの参照元を示す参照元識別子があり、参照元識別子に基づき、時刻情報の取得先となる候補が選択される。【選択図】図３
2012113504.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバが接続されたネットワークに対して、応答要求パケットを送信する応答要求パケット送信部と、
前記応答要求パケットを受信した前記サーバから、前記ネットワークを通じて、応答パケットを受信する応答パケット受信部と、
前記応答パケット受信部が前記応答パケットを受信するたびに、該応答パケットから取得されるデータを格納する応答パケットデータ格納部と、
前記応答パケットデータ格納部が格納したデータを用いて、前記複数のサーバの中から、時刻情報の取得先となる候補を選択するサーバ選択部と、を有し、
前記応答パケットから取得されるデータとして、前記サーバの時刻合わせの参照元を示す参照元識別子があり、
前記サーバ選択部は、前記参照元識別子に基づき、前記時刻情報の取得先となる候補を選択することを特徴とする通信端末。
【請求項２】
前記応答要求パケット送信部は、ブロードキャスト送信で、前記ネットワークに対して前記応答要求パケットを送信することを特徴とする請求項１に記載の通信端末。
【請求項３】
前記サーバ選択部は、前記参照元識別子に基づき、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする請求項１又は２に記載の通信端末。
【請求項４】
前記応答パケットから取得されるデータとして、前記サーバが時刻同期を行っているか否かを示す同期識別子があり、
前記サーバ選択部は、前記参照元識別子に基づき、前記時刻合わせの参照元が異なるサーバの優先順位を設定し、前記同期識別子に基づき、前記時刻合わせの参照元が同一であるサーバの優先順位を設定することを特徴とする請求項３に記載の通信端末。
【請求項５】
前記複数のサーバは、下層のサーバが上層のサーバを参照して時刻合わせを行うように、前記ネットワーク上で階層化され、
前記応答パケットから取得されるデータとして、前記サーバが位置する階層を示す階層値があり、
前記サーバ選択部は、前記階層値に基づき、前記時刻情報の取得先として前記上層のサーバが前記下層のサーバよりも優先して選択されるように、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする請求項１乃至４のいずれか１項に記載の通信端末。
【請求項６】
前記応答要求パケット送信部が前記応答要求パケットを送信してから、前記応答パケット受信部が前記応答パケットを受信するまでに要する時間と、前記サーバが前記応答要求パケットを受信してから前記応答パケットを送信するまでに要する時間との差分を示す遅延時間を算出する遅延時間算出部をさらに有し、
前記サーバ選択部は、前記時刻情報の取得先として前記遅延時間が短いサーバが優先して選択されるように、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする請求項１乃至５のいずれか１項に記載の通信端末。
【請求項７】
前記サーバが、前記応答要求パケットを受信してから、前記応答パケットを送信するまでに要する内部処理時間を算出する内部処理時間算出部をさらに有し、
前記サーバ選択部は、前記時刻情報の取得先として前記内部処理時間が短いサーバが優先して選択されるように、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする請求項１乃至６のいずれか１項に記載の通信端末。
【請求項８】
複数のサーバが接続されたネットワークに対して、応答要求パケットを送信する応答要求パケット送信ステップと、
前記応答要求パケットを受信した前記サーバから、前記ネットワークを通じて、応答パケットを受信する応答パケット受信ステップと、
前記応答パケット受信ステップで前記応答パケットが受信されるたびに、該応答パケットから取得されるデータを格納する応答パケットデータ格納ステップと、
前記応答パケットデータ格納ステップで格納されたデータを用いて、前記複数のサーバの中から、時刻情報の取得先となる候補を選択するサーバ選択ステップと、を有し、
前記応答パケットから取得されるデータとして、前記サーバの時刻合わせの参照元を示す参照元識別子があり、
前記サーバ選択ステップでは、前記参照元識別子に基づき、前記時刻情報の取得先となる候補を選択することを特徴とする通信端末の制御方法。
【請求項９】
コンピュータを、
複数のサーバが接続されたネットワークに対して、応答要求パケットを送信する応答要求パケット送信手段、
前記応答要求パケットを受信した前記サーバから、前記ネットワークを通じて、応答パケットを受信する応答パケット受信手段、
前記応答パケット受信手段が前記応答パケットを受信するたびに、該応答パケットから取得されるデータを格納する応答パケットデータ格納手段、
前記応答パケットデータ格納手段が格納したデータを用いて、前記複数のサーバの中から、時刻情報の取得先となる候補を選択するサーバ選択手段として機能させ、
前記応答パケットから取得されるデータとして、前記サーバの時刻合わせの参照元を示す参照元識別子があり、
前記サーバ選択手段は、前記参照元識別子に基づき、前記時刻情報の取得先となる候補を選択することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信により時刻合わせを行う通信端末、該通信端末の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＮＴＰ（Network Time Protocol）を用いたネットワーク通信により、タイムサーバから通信端末に時刻情報を提供して、通信端末の時刻合わせを行うシステムがある。
【０００３】
このようなシステムでは、通常、タイムサーバはネットワーク上で階層化されて、下層のタイムサーバは、上層のタイムサーバを参照することで、内部時計の時刻合わせを行う。例えば、第２層のタイムサーバは、第１層のタイムサーバを参照して時刻合わせを行う。第１層のタイムサーバは、全地球測位システム（以下、ＧＰＳ）等を参照することで、内部時計の時刻合わせを行う。
【０００４】
通信端末は、上記階層化されたタイムサーバのいずれかから、時刻情報を取得して、時刻合わせを行う。特許文献１，２には、時刻情報の取得先となるタイムサーバを選択する方法が開示される。
【０００５】
特許文献１では、通信端末に、タイムサーバのＩＰアドレスや優先順位が登録される。
通信端末は、優先順位に従って、時刻情報の取得先となるタイムサーバを選択する。なお、特許文献１では、タイムサーバの優先順位を設定する具体的な方法については開示されていない。
【０００６】
特許文献２では、通信端末は、ネットワークに対して、ブロードキャスト送信で応答要求を行い、応答が早いタイムサーバを、時刻情報の取得先として選択する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−５０００４号公報
【特許文献２】特開２００８−７９００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
時間の経過とともに、タイムサーバの内部時計が計時する時刻には、遅れや進みが生じる。上記タイムサーバが階層化されたシステムでは、第１層のタイムサーバは、ＧＰＳ等を参照することで正確な時刻に時刻合わせが行われ、時刻合わせの後に時間経過による時刻の狂いが生じる。第２層のタイムサーバは、第１層のタイムサーバを参照することで、時刻合わせを行った時刻に第１層のタイムサーバに生じた狂いがある。さらに第２層のタイムサーバでは、時刻合わせの後、時間経過による時刻の狂いが生じる。以上のように、各階層のタイムサーバでは時間経過による時刻の狂いが生じ、この狂いが下層のタイムサーバに引き継がれていくことで、下層のタイムサーバほど、時刻精度が低くなる虞れがある。
【０００９】
しかしながら特許文献１，２では、上記時刻精度の差が考慮されることなく、時刻情報の取得先となるタイムサーバが選択される。このため、時刻精度の低いタイムサーバが参照されて、通信端末の時刻合わせが行われる虞れがある。
【００１０】
また、特許文献１では、タイムサーバの優先順位やＩＰアドレスを、通信端末に予め登録する必要があるため、ユーザに手間を要する。
【００１１】
本発明は、上記事情に鑑みなされたものであり、その目的は、時刻情報の取得先として、時刻精度の高いタイムサーバを選択することができ、且つ、この選択のために、ユーザに手間を要しない通信端末、該通信端末の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の第１の観点に係る通信端末は、
複数のサーバが接続されたネットワークに対して、応答要求パケットを送信する応答要求パケット送信部と、
前記応答要求パケットを受信した前記サーバから、前記ネットワークを通じて、応答パケットを受信する応答パケット受信部と、
前記応答パケット受信部が前記応答パケットを受信するたびに、該応答パケットから取得されるデータを格納する応答パケットデータ格納部と、
前記応答パケットデータ格納部が格納したデータを用いて、前記複数のサーバの中から、時刻情報の取得先となる候補を選択するサーバ選択部と、を有し、
前記応答パケットから取得されるデータとして、前記サーバの時刻合わせの参照元を示す参照元識別子があり、
前記サーバ選択部は、前記参照元識別子に基づき、前記時刻情報の取得先となる候補を選択することを特徴とする。
【００１３】
好ましくは、前記応答要求パケット送信部は、ブロードキャスト送信で、前記ネットワークに対して前記応答要求パケットを送信することを特徴とする。
【００１４】
好ましくは、前記サーバ選択部は、前記参照元識別子に基づき、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする。
【００１５】
好ましくは、前記応答パケットから取得されるデータとして、前記サーバが時刻同期を行っているか否かを示す同期識別子があり、
前記サーバ選択部は、前記参照元識別子に基づき、前記時刻合わせの参照元が異なるサーバの優先順位を設定し、前記同期識別子に基づき、前記時刻合わせの参照元が同一であるサーバの優先順位を設定することを特徴とする。
【００１６】
好ましくは、前記複数のサーバは、下層のサーバが上層のサーバを参照して時刻合わせを行うように、前記ネットワーク上で階層化され、
前記応答パケットから取得されるデータとして、前記サーバが位置する階層を示す階層値があり、
前記サーバ選択部は、前記階層値に基づき、前記時刻情報の取得先として前記上層のサーバが前記下層のサーバよりも優先して選択されるように、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする。
【００１７】
好ましくは、前記応答要求パケット送信部が前記応答要求パケットを送信してから、前記応答パケット受信部が前記応答パケットを受信するまでに要する時間と、前記サーバが前記応答要求パケットを受信してから前記応答パケットを送信するまでに要する時間との差分を示す遅延時間を算出する遅延時間算出部をさらに有し、
前記サーバ選択部は、前記時刻情報の取得先として前記遅延時間が短いサーバが優先して選択されるように、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする。
【００１８】
好ましくは、前記サーバが、前記応答要求パケットを受信してから、前記応答パケットを送信するまでに要する内部処理時間を算出する内部処理時間算出部をさらに有し、
前記サーバ選択部は、前記時刻情報の取得先として前記内部処理時間が短いサーバが優先して選択されるように、前記時刻情報の取得先となる候補の優先順位を設定することを特徴とする。
【００１９】
本発明の第２の観点に係る通信端末の制御方法は、
複数のサーバが接続されたネットワークに対して、応答要求パケットを送信する応答要求パケット送信ステップと、
前記応答要求パケットを受信した前記サーバから、前記ネットワークを通じて、応答パケットを受信する応答パケット受信ステップと、
前記応答パケット受信ステップで前記応答パケットが受信されるたびに、該応答パケットから取得されるデータを格納する応答パケットデータ格納ステップと、
前記応答パケットデータ格納ステップで格納されたデータを用いて、前記複数のサーバの中から、時刻情報の取得先となる候補を選択するサーバ選択ステップと、を有し、
前記応答パケットから取得されるデータとして、前記サーバの時刻合わせの参照元を示す参照元識別子があり、
前記サーバ選択ステップでは、前記参照元識別子に基づき、前記時刻情報の取得先となる候補を選択することを特徴とする。
【００２０】
本発明の第３の観点に係るプログラムは、
コンピュータを、
複数のサーバが接続されたネットワークに対して、応答要求パケットを送信する応答要求パケット送信手段、
前記応答要求パケットを受信した前記サーバから、前記ネットワークを通じて、応答パケットを受信する応答パケット受信手段、
前記応答パケット受信手段が前記応答パケットを受信するたびに、該応答パケットから取得されるデータを格納する応答パケットデータ格納手段、
前記応答パケットデータ格納手段が格納したデータを用いて、前記複数のサーバの中から、時刻情報の取得先となる候補を選択するサーバ選択手段として機能させ、
前記応答パケットから取得されるデータとして、前記サーバの時刻合わせの参照元を示す参照元識別子があり、
前記サーバ選択手段は、前記参照元識別子に基づき、前記時刻情報の取得先となる候補を選択することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、時刻情報の取得先となる候補が、サーバの時刻参照元を示す識別子等に基づき、複数のサーバの中から選択される。このため、時刻情報の取得先として、時刻精度の高いサーバを選択することが可能である。よって、サーバから取得される時刻情報に基づき通信端末の時刻合わせが行われることで、通信端末が計時する時刻は、正確になる。
【００２２】
また、時刻情報の取得先となる候補は、サーバから返信される応答パケットのデータが用いられて選択される。よって、時刻情報の取得先を選択するため、通信端末に予めデータを入力する必要がない。このため、ユーザに手間を要しない。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施の形態に係る通信端末が適用された通信システムを示すブロック図である。
【図２】通信端末の物理的構成を示すブロック図である。
【図３】通信端末の機能構成例を示すブロック図である。
【図４】応答要求パケットの例を示す図である。
【図５】時刻情報の取得先を選択するために用いられるデータを示す図である。
【図６】応答パケットテーブルの例を示す図である。
【図７】サーバ選択部により、図６に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図８】サーバ選択部により、図７に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図９】サーバ選択部により、図８に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図１０】サーバ選択テーブルの例を示す図である。
【図１１】通信端末の動作の一例を示すフローチャートである。
【図１２】応答パケットテーブル格納処理の一例を示すフローチャートである。
【図１３】応答パケットテーブル並び替え処理の一例を示すフローチャートである。
【図１４】サーバ選択テーブル格納処理の一例を示すフローチャートである。
【図１５】応答パケットテーブルの他の例を示す図である。
【図１６】サーバ選択部により、データが並び替えられた応答パケットテーブルを示す図である。
【図１７】サーバ選択テーブルの他の例を示す図である。
【図１８】サーバ選択テーブルの他の例を示す図である。
【図１９】本発明の通信端末が適用される他の通信システムを示すブロック図である。
【図２０】応答パケットテーブルの他の例を示す図である。
【図２１】サーバ選択部により、図２０に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図２２】サーバ選択部により、図２１に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図２３】サーバ選択テーブルの他の例を示す図である。
【図２４】応答パケットテーブルの他の例を示す図である。
【図２５】サーバ選択部により、図２４に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図２６】サーバ選択部により、図２５に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図２７】サーバ選択部により、図２６に示すデータが並び替えられた応答パケットテーブルを示す図である。
【図２８】サーバ選択部により、図２７に示すデータが並び替えられた応答パケットテーブルを示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための形態について図面を参照して詳細に説明する。なお、図中同一または相当する部分には同じ符号を付す。
【００２５】
図１は、本発明の実施の形態に係る通信端末が適用された通信システム１を示すブロック図である。通信システム１は、通信端末１００と、複数のタイムサーバ２００〜２０６と、ネットワーク３００とを含む。
【００２６】
ネットワーク３００は、ＬＡＮ（Local Area Network）であり、通信端末１００やタイムサーバ２００〜２０６は、ネットワーク３００を通じて、情報の送受信を行うことができる。上記の情報として、ネットワークタイムプロトコル（以下、ＮＴＰ）を用いた時刻情報がある。
【００２７】
タイムサーバ２００〜２０６は、他装置を定期的に参照して、内部時計が計時する現在時刻を補正する（以下、内部時計の時刻を補正することを、「時刻合わせ」と適宜記す）。タイムサーバ２００〜２０６は、ネットワーク３００上で階層化されており、下層のタイムサーバは、上層のタイムサーバを参照して時刻合わせを行う。
【００２８】
タイムサーバ２００〜２０２は、第１層のタイムサーバである。タイムサーバ２００は、国家基準で校正された原子時計４００を定期的に参照して時刻合わせを行う（原子時計は１秒ごとのパルス信号（Pulse-Per-Second（ＰＰＳ））を発信する。図１では、原子時計を「ＰＰＳ」で示す）。タイムサーバ２０１は、全地球測位システム（Global Positioning System、以下、ＧＰＳ）４０１を定期的に参照して時刻合わせを行う。タイムサーバ２０２は、電話回線による標準時供給システム（以下、テレホンＪＪＹ）４０２を定期的に参照して時刻合わせを行う。
【００２９】
タイムサーバ２０３〜２０５は、第２層のタイムサーバである。タイムサーバ２０３〜２０５は、第１層のタイムサーバ２００〜２０２のいずれかに対して、ネットワーク３００を通じて、定期的に時刻情報を要求し、この要求に応じて返信された時刻情報に基づき、時刻合わせを行う。例えば、タイムサーバ２０３は、タイムサーバ２００に時刻情報を要求し、タイムサーバ２００から返信された時刻情報に基づき時刻合わせを行う。
【００３０】
タイムサーバ２０６は、第３層のタイムサーバである。タイムサーバ２０６は、ネットワーク３００を通じて、第２層のタイムサーバ２０３に時刻情報を要求し、この要求に応じて返信された時刻情報に基づき時刻合わせを行う。
【００３１】
タイムサーバ２００〜２０６は、時間の経過とともに、内部時計が計時する時刻に遅れや進みが生じる。第２層のタイムサーバ２０３〜２０５は、第１層のタイムサーバ２００〜２０２を参照した時刻合わせにより、第１層のタイムサーバ２００〜２０２に生じた時刻の狂いが引き継がれ、さらに時刻合わせの後に、時間経過による時刻の狂いが生じる。また、第３層のタイムサーバ２０６は、第２層のタイムサーバ２０３を参照した時刻合わせにより、第２層のタイムサーバ２０３で生じた時刻の狂いが引き継がれ、さらに時刻合わせの後に、時間経過による時刻の狂いが生じる。以上のことから、タイムサーバ２００〜２０６は、下層のタイムサーバほど時刻精度が低い。
【００３２】
また、第１層のタイムサーバ２００〜２０２の時刻精度は、時刻参照元の正確さから、テレホンＪＪＹ４０２を参照するタイムサーバ２０２→ＧＰＳ４０１を参照するタイムサーバ２０１→原子時計４００を参照するタイムサーバ２００の順に高くなる。
【００３３】
図２は、通信端末１００の物理的構成例を示すブロック図である。通信端末１００は、制御部１１０と、記憶部１２０と、入力部１３０と、出力部１４０と、通信制御部１５０と、計時部１６０とを備える。
【００３４】
記憶部１２０は、例えば、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）やハードディスク等から構成される。記憶部１２０には、時刻同期ソフトウェアであるＮＴＰデーモンのプログラム等、制御部１１０の動作プログラムが記憶される。また、記憶部１２０は、制御部１１０のワークエリアとして機能する。
【００３５】
入力部１３０は、例えば、キーボード、マウス等から構成される。入力部１３０は、ユーザによる操作を受け付け、操作情報を制御部１１０に供給する。
【００３６】
出力部１４０は、例えば、表示装置等から構成される。出力部１４０は、制御部１１０の制御に従い、出力情報をユーザに提供する。
【００３７】
通信制御部１５０は、ＬＡＮポートや通信回路等から構成される。通信制御部１５０は、ネットワーク３００に接続されて、他装置との間でデータの送受信を行う。
【００３８】
計時部１６０は、水晶発振器を内蔵し、水晶発振器の発振周波数に同期したクロックパルスを生成し、クロックパルスに同期して、現在時刻を計時して出力する。
【００３９】
制御部１１０は、ＣＰＵ（Central Processing Unit）等から構成され、記憶部１２０に格納されたプログラムに従って、通信端末１００全体の動作を制御する。例えば、制御部１１０は、記憶部１２０に格納されたプログラムに従って、ソフトウェア的に動作する時計であるシステムクロックとして機能し、現在時刻を計時して出力する。また、制御部１１０は、ＮＴＰデーモンのプログラムに従って、タイムサーバ２００〜２０６のいずれかから時刻情報を取得して、計時部１６０やシステムクロックが計時する現在時刻を補正する。
【００４０】
図３は、通信端末１００の機能構成例を示すブロック図である。通信端末１００では、制御部１１０がプログラムに従って処理を実行し、応答要求パケット送信部５００と、応答パケット受信部５１０と、遅延時間計算部５２０と、内部処理時間計算部５３０と、応答パケットデータ格納部５４０と、サーバ選択部５５０とが構成される。
【００４１】
応答要求パケット送信部５００は、初期設定時に、ネットワーク３００に対してブロードキャスト送信で応答要求パケットを送信する。
【００４２】
図４は、応答要求パケットの例を示す図である。応答要求パケットは、ＮＴＰ及びＳＮＴＰのメッセージフォーマットで表現される。このメッセージフォーマットは、ＲＦＣ１３０５で記述されるＮＴＰメッセージフォーマットと、ほぼ同一である。図４において、（）内の数字は、応答要求パケットに含まれる各コードのビット数を示す。例えば、ＬＩ（２）の数字「２」は、同期識別子「ＬＩ（Leap Indicator）」のビット数を示す。ＬＩ（２）〜精度（８）のコードは、直下の欄に示す値である。ルート遅延（３２）以下のコードは、特に後述しない場合、各ビットの値が「０」である。
【００４３】
応答要求パケットは、ブロードキャスト送信のため、宛先がブロードキャストアドレスに設定される。ブロードキャストアドレスは、ネットワーク３００に接続した全ての機器にデータを送信するために使われるアドレスである。例えば、クラスＢでは、ネットワーク３００のプライベートＩＰアドレスとして、１７２．１６．ＸＸＸ．ＸＸＸを設定でき、１７２．３１．２５５．２５５がブロードキャストアドレスとなる。また、クラスＣでは、ネットワーク３００のプライベートＩＰアドレスとして、１９２．１６８．４８．ＸＸＸを設定でき、１９２．１６８．４８．２５５がブロードキャストアドレスとなる。本実施の形態では、クラスＣのブロードキャストアドレスを用いる。また、応答要求パケットでは、ＵＤＰ（User Datagram Protocol）のポート番号が、１２３番に設定される。
【００４４】
タイムサーバ２００〜２０６は、応答要求パケットを受信することに応じて、ネットワーク３００を通じて、応答パケットを通信端末１００に返信する。応答要求パケットがブロードキャスト送信されることで、タイムサーバ２００〜２０６は、応答パケットを一斉に返信する。応答パケット受信部５１０（図３）は、応答要求パケット送信部５００が応答要求パケットを送信してから所定時間が経過するまでの間に、ネットワーク３００を通じて返信された応答パケットを受信する。応答パケットは、応答要求パケットと同様、図４に示すメッセージフォーマットで表現される。
【００４５】
図４に示すフォーマットにおいて、同期識別子「ＬＩ（Leap Indicator）」は、当日の最終分に、閏秒の挿入や削除があるか否かを示すために用いられる領域である。閏秒の挿入や削除がある場合、「ＬＩ」には、それぞれ、２ビット整数「０１」、「１０」が記される。閏秒の挿入や削除が無い通常の場合、「ＬＩ」には、２ビット整数「００」が記される。また、「ＬＩ」は、時刻の同期が行われていないことを警告するために使用される領域でもある。時刻の同期が行われていない場合、「ＬＩ」には、時刻の同期が行われていないことを示す２ビット整数「１１」が記される。
【００４６】
通信端末１００から送信される応答要求パケットでは、図４に示すように、「ＬＩ」は、「００」の値に設定されている。タイムサーバ２００〜２０６のうち、時刻の同期を行っているタイムサーバからは、「ＬＩ」の値が「００」のままである応答パケットが返信される。
【００４７】
一方、時刻の同期を行っていないタイムサーバからは、「ＬＩ」の値が、「１１」に変更された応答パケットが返信される。この「ＬＩ」値の変更により、タイムサーバで時刻の同期が行われていないことが通信端末１００に通知される。
【００４８】
「モード」は、パケットの送信元を示す領域である。応答要求パケットでは、図４に示すように、「モード」は、クライアントを示す３ビット整数「０１１」の値に設定される。応答パケットでは、「モード」は、サーバを示す３ビット整数「１００」の値に変更される。
【００４９】
「階層」は、ローカル時計の階級レベルを示す領域である。タイムサーバ２００〜２０６から返信される応答パケットでは、タイムサーバ２００〜２０６が位置するネットワーク３００上の階層に対応する８ビット整数が「階層」に示される。例えば、タイムサーバ２００〜２０２から返信される応答パケットでは、第１階層に対応する８ビット整数が示される。
【００５０】
「参照元識別子（Reference Identifier）」は、タイムサーバ２００〜２０６の時刻参照元に対応する３２ビット整数が示される領域である。例えば、タイムサーバ２０１から返信される応答パケットでは、ＧＰＳ４０１に対応する３２ビット整数が示される。
【００５１】
「開始タイムスタンプ」は、通信端末１００が応答要求パケットを送信した時刻Ｔ１が示される領域である。
【００５２】
「受信タイムスタンプ」は、タイムサーバ２００〜２０６が応答要求パケットを受信した時刻Ｔ２が示される領域である。
【００５３】
「送信タイムスタンプ」は、タイムサーバ２００〜２０６が応答パケットを送信した時刻Ｔ３が示される領域である。
【００５４】
なお、「開始タイムスタンプ」、「受信タイムスタンプ」、及び「送信タイムスタンプ」では、時刻Ｔ１，Ｔ２，Ｔ３は、６４ビットタイムスタンプ形式で表現される。時刻Ｔ１は、例えば通信端末１００の計時部１６０が計時した時刻である。時刻Ｔ２，Ｔ３は、タイムサーバ２００〜２０６の内部時計が計時した時刻である。
【００５５】
図５は、時刻情報の取得先を選択するために用いられるデータを示す図である。（Ａ）は、タイムサーバ２０３の応答パケットから取得されるデータを示す。（Ｂ）は、タイムサーバ２０１の応答パケットから取得されるデータを示す。（Ｃ）は、タイムサーバ２０２の応答パケットから取得されるデータを示す。（Ｄ）は、タイムサーバ２００の応答パケットから取得されるデータを示す。
【００５６】
本実施の形態では、タイムサーバ２００〜２０６の中から時刻情報の取得先を選択するために、応答パケットからデータが取得される。このデータとして、タイムサーバ２００〜２０６のＩＰアドレスや、タイムサーバ２００〜２０６が位置する階層の値（以下、階層値）がある。
【００５７】
（Ａ)のデータには、階層値「２」が含まれる。階層値「２」は、タイムサーバ２０３が位置する第２層を示す。（Ｂ），（Ｃ），（Ｄ）のデータには、階層値「１」が含まれる。階層値「１」は、タイムサーバ２０１，２０２，２００が位置する第１層を示す。階層値は、応答パケットの「階層」に示される８ビット整数から得られる。
【００５８】
また、応答パケットから取得されるデータには、タイムサーバ２００〜２０６の時刻参照元を示す参照元識別子も含まれる。（Ａ）のデータには、タイムサーバ２０３の時刻参照元（タイムサーバ２００）を示す参照元識別子として、タイムサーバ２００のＩＰアドレス「１９２．１６８．４８．１１０」が含まれる。（Ｂ）のデータには、タイムサーバ２０１の時刻参照元（ＧＰＳ４０１）を示す参照元識別子「ＧＰＳ」が含まれる。（Ｃ)のデータには、タイムサーバ２０２の時刻参照元（テレホンＪＪＹ４０２）を示す参照元識別子「ＴＪＪＹ」が含まれる。（Ｄ)のデータには、タイムサーバ２００の時刻参照元（原子時計４００）を示す参照元識別子「ＰＰＳ」が含まれる。これら参照元識別子は、応答パケットの「参照元識別子」に示される３２ビット整数から得られる。
【００５９】
また、応答パケットから取得されるデータには、通信端末１００が応答要求パケットを送信した時刻Ｔ１や、タイムサーバ２００〜２０６が応答要求パケットを受信した時刻Ｔ２や、タイムサーバ２００〜２０６が応答パケットを送信した時刻Ｔ３も含まれる。時刻Ｔ１，Ｔ２，Ｔ３は、開始タイムスタンプ・受信タイムスタンプ・送信タイムスタンプに示される６４ビット整数から得られる。
【００６０】
遅延時間計算部５２０（図３）は、応答パケット受信部５１０が応答パケットを受信するたびに、遅延時間Ｐを算出する。遅延時間Ｐは、応答パケットから取得される時刻Ｔ１，Ｔ２，Ｔ３と、通信端末１００に応答パケットが受信された時刻Ｔ４とを用いて、式１により算出される。なお、時刻Ｔ４は、応答パケット受信の際に、通信端末１００の計時部１６０から取得される。
【００６１】
遅延時間Ｐは、応答要求パケット送信部５００が応答要求パケットを送信してから、応答パケット受信部５１０が応答パケットを受信するまでに要する時間（Ｔ４−Ｔ１）と、タイムサーバ２００〜２０６が、応答要求パケットを受信してから、応答パケットを送信するまでに要する時間（Ｔ２−Ｔ３）との差分を示す時間である。
【００６２】
【数１】
2012113504.tif 000003
【００６３】
内部処理時間計算部５３０は、応答パケット受信部５１０が応答パケットを受信するたびに、内部処理時間Ｐを算出する。内部処理時間Ｐは、応答パケットから取得される時刻Ｔ２，Ｔ３を用いて、式２により算出される。内部処理時間Ｐは、タイムサーバ２００〜２０６が、応答要求パケットを受信してから、応答パケットを送信するまでに要する時間（Ｔ３−Ｔ２）である。
【００６４】
【数２】
2012113504.tif 000004
【００６５】
応答パケットデータ格納部５４０は、応答パケット受信部５１０が応答パケットを受信するたびに、応答パケットからＩＰアドレス・階層値・参照元識別子（図５）を取得し、これらのデータに遅延時間ｄや内部処理時間Ｐを対応付けて、記憶部１２０に格納する。
【００６６】
図６は、応答パケットテーブルの例を示す図である。応答パケットテーブルは、応答パケットデータ格納部５４０が、応答パケットを受信するたびに、データを格納することで作成される。応答パケットテーブルでは、各応答パケットに含まれるデータ（ＩＰアドレス・階層値・参照元識別子）が受信順に並べられて、これらデータの各々に、遅延時間ｄや内部処理時間Ｐが対応付けられている。
【００６７】
サーバ選択部５５０は、応答パケットテーブルを用いて、タイムサーバ２００〜２０６の中から、時刻情報の取得先となる候補を選択して、これら候補の優先順位を設定する。この処理は、後述の第１〜４の手順により行われる。以下、図６の応答パケットテーブルが作成された場合を例に説明する。
【００６８】
第１〜３の手順では、応答パケットテーブルのデータが並び替えられる。第１の手順では、階層値の小さいデータが上位となるように、データが並べ替えられる。
【００６９】
図７は、サーバ選択部５５０の第１の手順により、図６に示すデータが並び替えられた応答パケットテーブルを示す。図７のテーブルでは、階層値が「１」であるタイムサーバ２０１，２０２，２００のデータ（Ｂ，Ｃ，Ｄ）が上位に並び、その下位に階層値が「２」であるタイムサーバ２０３，２０５，２０４のデータ（Ａ，Ｅ，Ｇ）が並んでいる。また、その下位に階層値が「３」であるタイムサーバ２０６のデータ（Ｆ）が並んでいる。
【００７０】
ついで、第２の手順では、参照元識別子に基づき、階層値が「１」であるデータ（Ｂ，Ｃ，Ｄ）が並び替えられる。
【００７１】
図８は、サーバ選択部５５０の第２の手順により、図７に示すデータが並び替えられた応答パケットテーブルを示す。第２の手順では、参照元識別子が「ＰＰＳ」であるデータ（Ｄ）を最も上位にして、その下に参照元識別子が「ＧＰＳ」であるデータ（Ｂ）が位置し、その下に参照元識別子が「ＴＪＪＹ」であるデータ（Ｃ）が位置するように、データが並び替えられる。
【００７２】
ついで、第３の手順では、遅延時間ｄや内部処理時間Ｐに基づき、応答パケットテーブルのデータが並び替えられる。
【００７３】
図９は、サーバ選択部５５０の第３の手順により、図８に示すデータが並び替えられた応答パケットテーブルを示す。第３の手順は、階層値及び参照元識別子が同一であるデータを並び替えるものであり、遅延時間ｄが小さいデータが上位になるように、データが並び替えられる。図９のテーブルを、図８のテーブルと比較すると、データＥ，Ｇの順位が逆転している。これは、データＥ，Ｇは、いずれも階層値が「２」であり、且つ参照元識別子が「１９２．１６８．４８．５」であるため並び替えの対象とされ、また、データＥが、データＧに比して、遅延時間ｄが長いことで、順位が逆転されたものである。また、遅延時間ｄによるデータの並び替えが行われた後、必要に応じて、内部処理時間Ｐが小さいデータが上位になるように、データの並べ替えが行われる。この並べ替えを要する場合は、データの順位を定めるために、内部処理時間Ｐを遅延時間ｄよりも重視する必要が生じた場合である。具体的には、応答要求パケットを受信したタイムサーバの処理能力に関連して、応答パケットテーブルの中に、内部処理時間Ｐが極端に長いデータが存在する場合や、階層値及び参照元識別子が同一である他のデータに比べて、内部処理時間Ｐが、μ秒単位で一桁以上異なるデータが存在する場合が該当する。このような場合、上記の内部処理時間Ｐによるデータの並べ替えを行うことで、内部処理時間Ｐが極端に長いデータの優先順位を下げること等が可能になる。例えば、応答パケットテーブルが図９の状態のときに、内部処理時間Ｐが小さいデータが上位となるよう、データを並べ替えると、応答パケットテーブルは、図８の状態に戻る。
【００７４】
また、図８のテーブルでは、遅延時間ｄが１９００μ秒であるデータＣが、遅延時間ｄが１８００μ秒であるデータＡよりも上に位置している。そして、図９のテーブルでは、図８のテーブルから順序が変更されることなく、データＣ，Ａが並んでいる。これは、データＣのように、階層値が「１」であり、且つ参照元識別子が「ＴＪＪＹ」である他のデータが存在しなかったため、データＣは、第３の手順で並び替えの対象から除外されたことによる。
【００７５】
ついで、第４の手順では、第１〜３の手順により並び替えが行われた応答パケットテーブルを用いて、サーバ選択テーブルが作成されて、記憶部１２０に記憶される。
【００７６】
図１０は、サーバ選択テーブルの例を示す図である。サーバ選択テーブルには、応答パケットテーブルの上位ｎ件のデータに含まれるＩＰアドレスが記される。図１０の例では、図９の応答パケットテーブルで上位６件のデータに含まれるＩＰアドレスが記される。また、これらＩＰアドレスは、図９の応答パケットテーブルの順序に従って並んでいる。図１０のサーバ選択テーブルは、時刻情報の取得先として、タイムサーバ２００〜２０５が選択可能であることを示す。また、サーバ選択テーブルは、タイムサーバを選択する優先順位を、ＩＰアドレスの並び順により示す。図１０のテーブルでは、タイムサーバ２０５→タイムサーバ２０４→タイムサーバ２０３→タイムサーバ２０２→タイムサーバ２０１→タイムサーバ２００の順に、優先順位が高くなることを示す。この優先順位は、第１〜３の手順によるデータの並び替えが行われた結果、設定されたものである。
【００７７】
つまり、サーバ選択テーブルでは、第２の手順が実行されたことで、タイムサーバの優先順位が、参照元識別子に基づき設定されている。図１０の例は、第２の手順により、参照元識別子が「ＩＰアドレス」である第２層のタイムサーバ２０３〜２０５→参照元識別子が「ＴＪＪＹ」であるタイムサーバ２０２→参照元識別子が「ＧＰＳ」であるタイムサーバ２０１→参照元識別子が「ＰＰＳ」であるタイムサーバ２００の順に、優先順位が高くなるよう設定されている。
【００７８】
また、サーバ選択テーブルでは、第１の手順が実行されたことで、上層のタイムサーバが下層のタイムサーバよりも優先して選択されるように、階層値に基づき優先順位が設定されている。図１０の例は、第１の手順により、第２層のタイムサーバ２０３〜２０５、→第１層のタイムサーバ２００〜２０２の順に、優先順位が高くなるよう設定されている。
【００７９】
また、サーバ選択テーブルでは、第３の手順が実行されたことで、遅延時間ｄや内部処理時間Ｐが短いタイムサーバが優先して選択されるように、優先順位が設定されている。図１０の例は、第３の手順により、遅延時間ｄが４９００μ秒（図９のＧ）であるタイムサーバ２０４が、遅延時間ｄが５０００μ秒（図９のＥ）であるタイムサーバ２０５よりも、優先順位が高くなるよう設定されている。
【００８０】
サーバ選択部５５０による処理の後では、ＮＴＰデーモンが起動して、計時部１６０やシステムクロックの時刻合わせが行われる。具体的には、図１０のサーバ選択テーブルに示されるアドレス宛に、時刻要求パケットが送信される。この送信により、タイムサーバ２００〜２０６から内部時計の時刻を示す時刻情報が返信されて、該時刻情報が示す時刻に、通信端末１００の計時部１６０等の時刻が修正される。
【００８１】
なお図１０のように、サーバ選択テーブルに複数のＩＰアドレスが含まれる場合には、例えば、サーバ選択テーブルで最も上位に記されるＩＰアドレス宛に、時刻要求パケットが送信され、これに応じて返信される時刻情報に基づき、計時部１６０等の時刻が修正される。図１０の例では、「１９２．１６８．４８．１１０」宛に時刻要求パケットが送信されることで、タイムサーバ２００から時刻情報が返信され、この時刻情報に基づき時刻が修正される。このようにすることで、最も時刻精度の高いタイムサーバ２００から送信される時刻情報に基づき、通信端末１００の時刻合わせが行われる。
【００８２】
あるいは、サーバ選択テーブルの全てのＩＰアドレス宛、又は上位ｎ件のＩＰアドレス宛に、時刻要求パケットが送信されてもよい。この場合、複数のタイムサーバから時刻情報が返信されることになり、これら時刻情報の示す時刻の平均値が、ＲＦＣ１３０５に詳述されるＮＴＰに則った手順で算出されて、該平均値に計時部１６０等の時刻が修正される。図１０の例で、全てのＩＰアドレス宛に時刻要求パケットが送信された場合、タイムサーバ２００〜２０５から時刻情報が返信され、これら時刻情報から得られる平均値に、時刻が修正される。
【００８３】
図１１は、通信端末１００の動作の一例を示すフローチャートである。図１１に示す処理は、例えば、ユーザが入力部１３０（図２）を操作することで開始される。なお、ＮＴＰデーモンが起動中である際には、上記ユーザの操作により、ＮＴＰデーモンは一旦停止される。
【００８４】
まず、応答要求パケット送信部５００は、ネットワーク３００に対して、ブロードキャスト送信で、応答要求パケットを送信する（ステップＳ１０１）。
【００８５】
ついで、応答パケット受信部５１０は、タイムサーバ２００〜２０６から応答パケットを受信したか否かを判断する（ステップＳ１０２）。
【００８６】
応答パケットを受信したと判断された場合には（ステップＳ１０２でＹＥＳ）、応答パケットテーブル格納処理が実行される（ステップＳ１０３）。
【００８７】
図１２は、応答パケットテーブル格納処理の一例を示すフローチャートである。
【００８８】
この処理では、まず、遅延時間計算部５２０が、上記式１により、時刻Ｔ１〜４を用いて遅延時間ｄを算出する（ステップＳ２０１）。
【００８９】
ついで、内部処理時間計算部５３０が、上記式２により、時刻Ｔ２，Ｔ３を用いて内部処理時間Ｐを算出する（ステップＳ２０２）。
【００９０】
ついで、応答パケットデータ格納部５４０は、応答パケットのデータ（ＩＰアドレス・階層値・参照元識別子）に、遅延時間ｄや内部処理時間Ｐを対応付けて（ステップＳ２０３）、記憶部１２０に記憶する（ステップＳ２０４）。
【００９１】
図１１に戻り、ステップＳ１０３が実行された後、或いは、ステップＳ１０２で応答パケットが受信されていないと判定された場合には（ステップＳ１０２でＮＯ）、応答パケット受信部５１０は、ステップＳ１０１で応答要求パケットが送信されてから、所定の時間が経過したか否かを判断する（ステップＳ１０４）。
【００９２】
所定の時間が経過してないと判断された場合（ステップＳ１０４でＮＯ）、応答パケット受信部５１０は、処理をステップＳ１０２に戻す。
【００９３】
この復帰により、タイムサーバ２００〜２０６から応答パケットが受信されるたび、ステップＳ１０３が実行される。この結果、応答パケットのデータが受信順に記憶部１２０に記憶されることで、図６に示す応答パケットテーブルが作成される。
【００９４】
ステップＳ１０４で、所定の時間が経過したと判断された場合には（ステップＳ１０４でＹＥＳ）、応答パケットテーブルの並び替え処理が実行される（ステップＳ１０５）。
【００９５】
図１３は、応答パケットテーブルの並び替え処理の一例を示すフローチャートである。このテーブル並び替え処理では、上述したサーバ選択部５５０による第１〜３の手順が実行される（ステップＳ３０１〜Ｓ３０５）。ステップＳ３０１〜Ｓ３０５により、応答パケットテーブルのデータが、階層値、参照元識別子、遅延時間ｄ、及び内部処理時間Ｐに基づき並べ替えられる。
【００９６】
図１１に戻り、ステップＳ１０５の実行後では、サーバ選択テーブル格納処理が実行される（ステップＳ１０６）。
【００９７】
図１４は、サーバ選択テーブル格納処理の一例を示すフローチャートである。サーバ選択テーブル格納処理では、上述したサーバ選択部５５０による第４〜５の手順が実行される。まず、第１〜３の手順でデータの並び替えが行われた応答パケットテーブルにおいて、上位ｎ件のデータに含まれるＩＰアドレスが取得される（ステップＳ４０１）。ついで、ステップＳ４０１で取得されたＩＰアドレスが記憶部１２０に記憶されることで（ステップＳ４０２）、図１０に示すサーバ選択テーブルが作成・記憶される。
【００９８】
図１１に戻り、ステップＳ１０６の後では、ＮＴＰデーモンが再起動される（ステップＳ１０７）。このＮＴＰデーモンの起動により、サーバ選択テーブル（図１０）に示されるアドレス宛に、時刻要求パケットが送信される。ついで、これに応じて返信された時刻情報に基づき、計時部１６０の時刻が修正される。
【００９９】
本実施の形態によれば、タイムサーバ２００〜２０６の中から、時刻情報の取得先となる候補が、タイムサーバ２００〜２０６の時刻参照元を示す識別子等に基づき選択される。このため、時刻情報の取得先として、原子時計４００、ＧＰＳ４０１、及びテレホンＪＪＹ４０２等を参照元とする時刻精度の高いタイムサーバを選択することが可能であり、これらタイムサーバが送信する時刻情報に基づき通信端末１００の時刻合わせが行われることで、通信端末１００が計時する時刻は、正確になる。
【０１００】
また、時刻情報の取得先となる候補は、タイムサーバ２００〜２０６から返信される応答パケットのデータが用いられて選択される。よって、時刻情報の取得先を選択する処理を行うために、通信端末１００に予めデータを入力しておく必要がない。このため、ユーザに手間を要しない。
【０１０１】
応答要求パケットがブロードキャスト送信でネットワーク３００に対して送信されることで、ネットワーク３００に接続されたタイムサーバ２００〜２０６の全てが、応答パケットを通信端末１００に送信する。よって、時刻精度の高いタイムサーバが、応答パケットの未送信（応答要求パケットの未受信）により、時刻情報の取得先の候補から除外されることを防止できる。
【０１０２】
また、時刻情報の取得先を選択するための優先順位が、参照元識別子等に基づき設定される。よって、この優先順位に従い時刻情報の取得先が選択されることで、確実に時刻精度の高いタイムサーバ２００が参照されて、通信端末１００の時刻合わせが行われる。このため、通信端末１００が計時する時刻は、より一層正確になる。
【０１０３】
また、上層のタイムサーバが下層のタイムサーバよりも優先して選択されるように、階層値に基づき優先順位が設定される。よって、時刻精度の高い上層のタイムサーバが参照されて、通信端末１００の時刻合わせが行われる。
【０１０４】
また、内部処理時間Ｐや遅延時間ｄが短いタイムサーバが優先して選択されるように、優先順位が設定される。これにより、時刻情報の取得先として応答の早いタイムサーバが選択されるため、通信端末１００がタイムサーバを参照して時刻合わせを行う時間間隔は短くなる。よって、通信端末１００の計時部１６０が計時する時刻は、時間経過による狂いが小さく抑えられたものになり、計時部１６０の時刻を、常時、正確にする上で有利になる。
【０１０５】
本発明は、上述の実施の形態に限定されず、特許請求の範囲において種々改変することができる。
【０１０６】
例えば、通信端末１００は、他の装置に時刻情報を提供するタイムサーバとして機能するように構成されてもよい。
【０１０７】
また、応答要求パケットは、初期設定時以外にも適当な時間間隔で定期的に、ネットワーク３００に対してブロードキャスト送信で送信されるようにしてもよい。この場合、新たな応答パケットが受信されるたびに、サーバ選択テーブルのデータが更新される。
【０１０８】
また、時刻情報の取得先となる候補や、時刻情報の取得先を選択するための優先順位は、参照元識別子のみに基づき設定されてもよい。この場合、遅延時間ｄ及び内部処理時間Ｐは算出されず、応答パケットデータ格納部５４０により作成される応答パケットテーブルは、例えば図１５に示すようになる。
【０１０９】
そして、サーバ選択部５５０により、応答パケットテーブルのデータが、参照元識別子に基づき並べ替えられる。この結果、応答パケットテーブルのデータは、例えば図１６に示すようになる。図１６では、データの順位が、参照元識別子が「ＩＰアドレス」であるデータＡ，Ｅ，Ｆ，Ｇ→参照元識別子が「ＴＪＪＹ」であるデータＣ→参照元識別子が「ＧＰＳ」であるデータＢ→参照元識別子が「ＰＰＳ」であるデータＤの順に高くなるよう、データが並べ替えられている。
【０１１０】
そして、サーバ選択部５５０により、応答パケットテーブルの上位ｎ件のＩＰアドレスが取得される。この結果、例えば図１７に示すサーバ選択テーブルが作成される。図１７のテーブルは、応答パケットテーブルの上位３件のＩＰアドレスが取得されたものである。図１７のテーブルによれば、原子時計４００・ＧＰＳ４０１・テレホンＪＪＹ４０２を参照元とするタイムサーバ２００〜２０２が、時刻情報の取得先として選択可能とされる。また、タイムサーバ２００〜２０２の優先順位が、タイムサーバ２０２→タイムサーバ２０１→タイムサーバ２００の順に高くなるように設定される。
【０１１１】
また、サーバ選択テーブルのデータは、図１８に示す形式に変形され得る。図１８の例では、データがntp.confファイル形式で記されている。ntp.confファイルは、ＮＴＰデーモンの設定ファイルであり、参照するタイムサーバの指定やポーリング間隔、アクセス制御の設定などが記述され、minpoll,maxpoll,preferなどのオプションパラメータが付加される。
【０１１２】
また、図１９は、本発明の通信端末が適用される他の通信システム２を示すブロック図である。通信システム２は、図１の通信システム１とは、タイムサーバ２００の時刻参照元が異なり、タイムサーバ２００は、タイムサーバ２０１と同様に、ＧＰＳ４０１を参照して定期的に時刻合わせを行う。
【０１１３】
図１９の通信システム２のように、時刻参照元が共通する複数のタイムサーバ２００，２０１が存在する場合には、応答パケットデータ格納部５４０により作成される応答パケットテーブルは、例えば図２０に示すようになる。
【０１１４】
図２０のテーブルでは、タイムサーバ２００，２０１のデータＤ，Ｂに、参照元識別子「ＧＰＳ」が示される。
【０１１５】
また、ＩＰアドレス・参照元識別子には、同期識別子が対応付けられている。同期識別子は、応答パケットの「ＬＩ」（図４）の２ビット整数が取得されたものであり、タイムサーバ２００〜２０６で、時刻の同期が行われているか否かを示す。
【０１１６】
タイムサーバ２０１のデータＢでは、同期識別子「１１」が示される。これは、タイムサーバ２０１が、応答パケットを送信する際に、一時的に時刻の同期を行っていなかったことを意味する。
【０１１７】
一方、他のタイムサーバのデータ（Ｂ以外のデータ）では、同期識別子「００」が示される。これは、他のタイムサーバが、応答パケットを送信する際に、時刻の同期を行っていたことを意味する。
【０１１８】
応答パケットテーブルが作成された後では、サーバ選択部５５０により、以下の第１，２の手順により、応答パケットテーブルのデータが並べ替えられる。
【０１１９】
まず、第１の手順では、応答パケットテーブルのデータが、参照元識別子に基づき並べ替えられる。この結果、応答パケットテーブルは、例えば、図２１に示すようになる。図２１では、データの順位が、参照元識別子が「ＩＰアドレス」であるデータＡ，Ｅ，Ｆ，Ｇ→参照元識別子が「ＴＪＪＹ」であるデータＣ→参照元識別子が「ＧＰＳ」であるデータＤ→参照元識別子が「ＧＰＳ」であるデータＢの順に高くなっている。
【０１２０】
図２１のテーブルは、上記データの並びにより、時刻合わせの参照元が異なるタイムサーバの優先順位が、設定されたものとなっている。つまり、タイムサーバ２０３〜２０５は、他のタイムサーバを時刻の参照元とし、タイムサーバ２０２、タイムサーバ２０１,２００は、テレホンＪＪＹ４０２、ＧＰＳ４０１，４００を時刻の参照元にすることで、それぞれ時刻の参照元が異なるが、図２１のテーブルでは、タイムサーバ２０３〜２０６→タイムサーバ２０２→タイムサーバ２００,２０１の順に、優先順位が高くなるよう設定されている。
【０１２１】
なお、参照元識別子が「ＧＰＳ」であるデータＢ，Ｄでは、図２０の上下の位置関係が継承されて、図２０と同様、データＢが、データＤよりも上位に並んでいる。
【０１２２】
ついで、第２の手順では、サーバ選択部５５０は、同期識別子に基づきデータを並べ替える。この並べ替えは、参照元識別子が同一であるデータＢ，Ｄを対象とするものであり、同期識別子が「００」であるデータＤが、同期識別子が「１１」であるデータＢよりも上位とされる。この結果、応答パケットテーブルのデータは、図２２に示すようになる。
【０１２３】
図２２のテーブルは、データの並びにより、時刻合わせの参照元が同一であるタイムサーバの優先順位が設定されたものである。すなわち、時刻合わせの参照元がＧＰＳ４０１であるタイムサーバ２００,２０１の優先順位が、タイムサーバ２０１→タイムサーバ２００の順に高くなるよう設定されている。
【０１２４】
ついで、サーバ選択部５５０は、応答パケットテーブルの上位ｎ件のＩＰアドレスを取得する。この結果、例えば図２３に示すサーバ選択テーブルが作成される。図２３のテーブルは、応答パケットテーブルの上位３件のＩＰアドレスが取得されたものである。図２３のテーブルによれば、ＧＰＳ４０１やテレホンＪＪＹ４０２を参照元とするタイムサーバ２００〜２０２が、時刻情報の取得先として選択可能とされる。また、タイムサーバ２００〜２０２を選択する優先順位が、タイムサーバ２０２→タイムサーバ２０１→タイムサーバ２００の順に、高くなるように設定される。
【０１２５】
以上の処理によれば、時刻合わせの参照元が同一であるタイムサーバの優先順位が、同期識別子に基づき設定される。このため、時刻同期を行っているタイムサーバが、時刻同期を行っていないタイムサーバよりも、優先して選択される。
【０１２６】
また、時刻合わせの参照元が同一であるタイムサーバの優先順位と、時刻合わせの参照元が異なるタイムサーバの優先順位とが合わせて設定されることで、時刻精度の高いタイムサーバの優先順位が、低く設定されることを回避できる。つまり図２０〜図２２の例では、第１の手順の並べ替えにより、図２１に示すように、データＡ，Ｅ，Ｆ，Ｇ→データＣ→データＢ→データＢ，Ｄの順に、優先順位が高くなるよう設定される。そして、第２の手順では、参照元識別子が同一であるデータＢ，Ｄのみが並べ替えの対象とされて、同期識別子に基づき並べ替えられる。よって図２２に示すように、参照元識別子が「ＧＰＳ」であるデータＢ，Ｄは、参照元識別子が「ＴＪＪＹ」や「ＩＰアドレス」であるデータＣ，Ａ，Ｅ，Ｆ，Ｇよりも、下位にならない。以上により、時刻精度の高いタイムサーバが、時刻の同期を行っていないことで、時刻情報の取得先の候補から除外されることを防止できる。
【０１２７】
また、同期識別子によるデータの並び替え（図１５〜図１６に示すデータの並び替え）と、階層値、参照元識別子、及び遅延時間によるデータの並び替え（図６〜図９に示すデータの並び替え）とを組み合わせて実行することも可能である。この場合、応答パケットデータ格納部５４０により作成される応答パケットテーブルは、例えば、図２４に示すようになる。図２４の応答パケットテーブルでは、ＩＰアドレス、階層値、同期識別子、参照元識別子、遅延時間ｄ、及び内部処理時間Ｐが対応付けられている。
【０１２８】
まず、サーバ選択部５５０は、応答パケットテーブルのデータを、階層値に基づき並び替える。この結果、応答パケットテーブルは、図２５に示すようになる。図２５では、階層値２のデータＡ，Ｅ，Ｇが階層値１のデータＢ，Ｃ，Ｄの下位になり、階層値３のデータＦが階層値２のデータＡ，Ｅ，Ｇの下位になるよう、データが並び替えられている。
【０１２９】
ついで、サーバ選択部５５０は、階層値が「１」であるデータを、参照元識別子に基づき並び替える。この結果、応答パケットテーブルは、図２６に示す状態になる。図２６では、参照元識別子が「ＴＪＪＹ」であるデータＣが、参照元識別子が「ＧＰＳ」であるデータＤの下位に並び替えられている。
【０１３０】
ついで、サーバ選択部５５０は、階層値及び参照元識別子が同一であるデータを、同期識別子に基づき並び替える。この結果、応答パケットテーブルは、図２７に示す状態になる。図２７では、同期識別子が「１１」であるデータＢが、同期識別子が「００」であるデータＤの下位に並び替えられている。
【０１３１】
ついで、サーバ選択部５５０は、応答パケットテーブルのデータを、遅延時間ｄに基づき並び替える。この結果、応答パケットテーブルは、図２８に示す状態になる。図２８では、遅延時間ｄが「５０００μ秒」であるデータＥが、遅延時間ｄが「４９００μ秒」であるデータＧの下位に並び替えられている。
【０１３２】
この後、上述したように、データの順位を定めるために、内部処理時間Ｐを遅延時間ｄよりも重視する必要が生じている場合には、内部処理時間Ｐに基づき、データの並べ替えが行われる。
【０１３３】
また、本実施の形態の通信端末１００における各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、たとえばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に伝送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【符号の説明】
【０１３４】
１，２  通信システム
１００  通信端末
１１０  制御部
１２０  記憶部
１３０  入力部
１４０  出力部
１５０  通信制御部
１６０  計時部
２００，２０１，２０２，２０３，
２０４，２０５，２０６  タイムサーバ
３００  ネットワーク
４００  原子時計（ＰＰＳ）
４０１  ＧＰＳ
４０２  テレホンＪＪＹ
５００  応答要求パケット送信部
５１０  応答パケット受信部
５２０  遅延時間計算部
５３０  内部処理時間計算部
５４０  応答パケットデータ格納部
５５０  サーバ選択部
【図１】
2012113504.tif 000005
【図２】
2012113504.tif 000006
【図３】
2012113504.tif 000007
【図４】
2012113504.tif 000008
【図５】
2012113504.tif 000009
【図６】
2012113504.tif 000010
【図７】
2012113504.tif 000011
【図８】
2012113504.tif 000012
【図９】
2012113504.tif 000013
【図１０】
2012113504.tif 000014
【図１１】
2012113504.tif 000015
【図１２】
2012113504.tif 000016
【図１３】
2012113504.tif 000017
【図１４】
2012113504.tif 000018
【図１５】
2012113504.tif 000019
【図１６】
2012113504.tif 000020
【図１７】
2012113504.tif 000021
【図１８】
2012113504.tif 000022
【図１９】
2012113504.tif 000023
【図２０】
2012113504.tif 000024
【図２１】
2012113504.tif 000025
【図２２】
2012113504.tif 000026
【図２３】
2012113504.tif 000027
【図２４】
2012113504.tif 000028
【図２５】
2012113504.tif 000029
【図２６】
2012113504.tif 000030
【図２７】
2012113504.tif 000031
【図２８】
2012113504.tif 000032