(57)【特許請求の範囲】
【請求項１】
転送装置を介して第１の通信装置との間で通信を行う通信装置であって、
第１パケットのサイズを設定する設定部と、
前記設定部で設定されたサイズの第１パケットを生成する生成部と、
前記第１の通信装置に対して、前記生成部が生成した第１パケットを送信する送信部と、  前記第１の通信装置から、第２パケットを受信する受信部と、
前記送信部が前記第１パケットを送信したときの自装置が示す時刻と、前記第１の通信装置が前記第１パケットを受信したときの前記第１の通信装置が示す時刻と、前記第１の通信装置が前記第２パケットを送信したときの前記第１通信装置が示す時刻と、前記受信部が前記第２パケットを受信したときの自装置が示す時刻とを用いて、前記第１パケット又は前記第２パケットの前記第１の通信装置と自装置との間の伝送時間を算出する第１処理部とを備え、
前記設定部は、前記転送装置に前記第１パケットが入力される前に第２の通信装置が前記転送装置に送信した第３パケットのサイズに基づいて、前記第１パケットの待機時間を所定時間以内とするように前記第１パケットのサイズを設定する通信装置。
【請求項２】
前記第２パケットのサイズは、前記第１パケットのサイズと同一である請求項１記載の通信装置。
【請求項３】
複数の前記転送装置を介して前記第１の通信装置との間で通信を行う通信装置であって、  前記設定部は、前記第3パケットが、前記複数の転送装置に前記第１パケットが入力される前に、前記複数の転送装置に入力された場合を想定して計算した、前記第１パケットが前記第3パケットの存在により前記複数の転送装置で待たされる待機時間の和が、所定の時間以内となるように、前記第１パケットのサイズを設定する請求項１又は２記載の通信装置。
【請求項４】
前記第3パケットは、自装置と前記転送装置と前記第１通信装置とを接続するネットワーク上に流れるパケットの最大サイズのパケットである請求項３記載の通信装置。
【請求項５】
前記設定部は、前記第3パケットが、前記転送装置に、前記第１パケットの入力直前に入力された場合を想定して、前記待機時間を計算する請求項１又は４記載の通信装置。
【請求項６】
前記設定部は、前記第１パケットのサイズを、自装置と前記転送装置と前記第１通信装置とを接続するネットワーク上に流れるパケットの最大サイズ以下とする請求項５記載の通信装置。
【請求項７】
前記設定部は、前記第１パケットのサイズが、前記第３パケットのサイズ以下である場合、前記第１パケットのサイズを大きくし、前記第１パケットの前記待機時間を短くするように前記第１パケットのサイズを設定する請求項６記載の通信装置。
【請求項８】
前記第２パケットには、前記第１の通信装置が前記第２パケットを送信したときに前記第１通信装置が刻む時刻である前記基準時刻である第１時刻が含まれ、
前記処理部は、前記第１の通信装置と自装置との間の伝送時間と前記第１時刻とに基づき、自装置の時刻を修正する請求項１記載の通信装置。
【請求項９】
転送装置を介して第１の通信装置との間で通信を行う通信装置であって、
前記第１の通信装置から、第１パケットを受信する受信部と、
第２パケットのサイズを設定する設定部と、
前記設定部で設定されたサイズの第２パケットを生成する生成部と、
前記第１の通信装置に対して、前記生成部が生成した第２パケットを送信する送信部と、  前記第１の通信装置は、前記第１の通信装置が前記第１パケットを送信したときの前記第１通信装置が示す時刻と、前記受信部が前記第１パケットを受信したときの自装置が示す時刻と、前記送信部が前記第２パケットを送信したときの自装置が示す時刻と、前前記第１の通信装置が記第１パケットを受信したときの前記第１の通信装置が示す時刻とを用いて、前記第１パケット又は前記第２パケットの前記第１の通信装置と自装置との間の伝送時間を算出する第１処理部とを備え、
前記設定部は、前記転送装置に前記第２パケットが入力される前に第２の通信装置が前記転送装置に送信した第３パケットのサイズに基づいて、前記第２パケットの待機時間を所定時間以内とするように前記第２パケットのサイズを設定する通信装置。
【請求項１０】
前記第１パケットのサイズは、前記第２パケットのサイズと同一である請求項９記載の通信装置。
【請求項１１】
転送装置を介して第１の通信装置との間で通信を行う通信装置であって、
第１パケットのサイズを設定する設定部と、
前記設定部で設定されたサイズの第１パケットを生成する生成部と、
前記第１の通信装置に対して、前記生成部が生成した第１パケットを送信する送信部と、  前記第１の通信装置から、第２パケットを受信する受信部と、
前記送信部が前記第１パケットを送信したときの自装置が示す時刻と、前記第１の通信装置が前記第１パケットを受信したときの前記第１の通信装置が示す時刻と、前記第１の通信装置が前記第２パケットを送信したときの前記第１の通信装置が示す時刻と、前記受信部が前記第２パケットを受信したときの自装置が示す時刻とを用いて、前記第１パケット又は前記第２パケットの前記第１の通信装置と自装置との間の伝送時間を算出する第１処理部とを備え、
前記設定部は、異なるサイズの測定用パケット各々について複数回、自装置と前記第２の通信装置との間の往復伝送時間を計算し、前記異なるサイズの測定用パケットのうち、
複数回の前記往復伝送時間のうち最大時間と最少時間との差が最小である測定用パケットのサイズを前記第１パケットのサイズとする通信装置。
【請求項１２】
前記設定部は、前記複数回の前記往復伝送時間のうち最大時間と最少時間との差が最小である測定用パケットのサイズが複数ある場合、当該最大時間と最少時間との差が最小である測定用パケットのサイズのうち、最も小さいサイズを前記第１パケットのサイズとする請求項１１記載の通信装置。
【請求項１３】
転送装置を介して第１の通信装置との間で通信を行う通信装置であって、
第１パケットのサイズを設定する設定部と、
前記設定部で設定されたサイズの第１パケットを生成する生成部と、
前記第１の通信装置に対して、前記生成部が生成した第１パケットを送信する送信部と、  前記第１の通信装置から、第２パケットを受信する受信部と、
前記送信部が前記第１パケットを送信したときの自装置が示す時刻と、前記第１の通信装置が前記第１パケットを受信したときの前記第１の通信装置が示す時刻と、前記第１の通信装置が前記第２パケットを送信したときの前記第１の通信装置が示す時刻と、前記受信部が前記第２パケットを受信したときの自装置が示す時刻とを用いて、前記第１パケット又は前記第２パケットの前記第１の通信装置と自装置との間の伝送時間を算出する第１処理部とを備え、
前記設定部は、自装置と前記転送装置と前記第１通信装置とを接続するネットワークを流れるパケットのサイズと、前記ネットワークに割り当て可能なパケットのサイズとを比較し、前記割り当て可能なパケットのサイズが、前記ネットワークを流れるパケットのサイズの最大サイズ以上である場合、前記ネットワークを流れるパケットのサイズの最大サイズを、前記第１パケットのサイズとし、前記割り当て可能なパケットのサイズが、前記ネットワークを流れるパケットのサイズの最大サイズ未満である場合、前記割り当て可能なサイズを、前記第１パケットのサイズとする通信装置。
【請求項１４】
転送装置を介して第１の通信装置との間で通信を行う第２通信装置を含むシステムにおいて、前記転送装置に第１パケットを送信する第３通信装置を制御する装置であって、
前記第２通信装置は、
第２パケットを生成する生成部と、
前記第１の通信装置に対して、前記生成部が生成した第２パケットを送信する送信部と、  前記第１の通信装置から、第３パケットを受信する受信部と、
前記送信部が前記第２パケットを送信したときの前記第２通信装置が示す時刻と、前記第１の通信装置が前記第２パケットを受信したときの前記第１の通信装置が示す時刻と、
前記第１の通信装置が前記第３パケットを送信したときの前記第１の通信装置が示す時刻と、前記受信部が前記第３パケットを受信したときの前記第２の通信装置が示す時刻とを用いて、前記第２パケット又は前記第３パケットの前記第１の通信装置と自装置との間の伝送時間を算出する第１処理部とを備え、
自装置は、
前記転送装置に前記第２又は第３パケットが入力される前に前記第３の通信装置が前記転送装置に送信した前記第１パケットのサイズを、前記転送装置に送信した前記第２又は第３パケットのサイズに基づいて、前記第２又は第３パケットの待機時間を所定時間以内とするように設定する通信装置。
【請求項１５】
転送装置を介して第１の通信装置との間で通信を行う第２通信装置を含むシステム内の装置であって、
前記第２通信装置は、
第１パケットを生成する生成部と、
前記第１の通信装置に対して、前記生成部が生成した第１パケットを送信する送信部と、  前記第１の通信装置から、第２パケットを受信する受信部と、
前記送信部が前記第１パケットを送信したときの前記第２通信装置が示す時刻と、前記第１の通信装置が前記第１パケットを受信したときの前記第１の通信装置が示す時刻と、
前記第１の通信装置が前記第２パケットを送信したときの前記第１の通信装置が示す時刻と、前記受信部が前記第２パケットを受信したときの前記第２の通信装置が示す時刻とを用いて、前記第１パケット又は前記第２パケットの前記第１の通信装置と自装置との間の伝送時間を算出する第１処理部とを備え、
自装置は、
前記転送装置に前記第１パケット又は前記第２パケットが入力される前に、自装置から前記転送装置に入力される第３パケットに基づいて、前記第１パケット又は前記第２パケットの待機時間が、所定の時間以内となるように、前記第３パケットのサイズを設定する設定部を備える通信装置。
【請求項１６】
転送装置を介して第１の通信装置との間で通信を行う通信装置を制御するプログラムであって、
第１パケットのサイズを設定する設定機能と、
前記設定機能で設定されたサイズの第１パケットを生成する生成機能と、
前記第１の通信装置に対して、前記生成機能が生成した第１パケットを送信する送信機能と、
前記第１の通信装置から、第２パケットを受信する受信機能と、
前記送信機能が前記第１パケットを送信したときの前記通信装置が示す時刻と、前記第１の通信装置が前記第１パケットを受信したときの前記第１の通信装置が示す時刻と、前記第１の通信装置が前記第２パケットを送信した時の前記第１の通信装置が示す時刻と、前記受信機能が前記第２パケットを受信したときの前記通信装置が示す時刻とを用いて、前記第１パケット又は前記第２パケットの前記第１の通信装置と前記通信装置との間の伝送時間を算出する第１処理機能とを備え、
前記設定機能は、前記転送装置に前記第１パケットが入力される前に第２の通信装置が前記転送装置に送信した第３パケットのサイズに基づいて、前記第１パケットの待機時間を所定時間以内とするように前記第１パケットのサイズを設定するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、制御装置及びプログラムに関する。
【背景技術】
【０００２】
従来から、時刻同期クライアントが、高精度な基準時刻を提供する時刻同期サーバとネットワークを介して通信を行い、時刻同期クライアントのローカルな時刻を、時刻同期サーバが提供する基準時刻と同期させる時刻同期システムがある。
【０００３】
時刻同期システムでは、時刻同期クライアントは、時刻同期サーバとの間で、同期用パケット（たとえば、同期要求パケットおよび同期応答パケット）を往復させたときの、同期用パケットの往復伝送時間２ｄを求める。
【０００４】
時刻同期クライアントと時刻同期サーバとの間での同期用パケットの送受信時に、時刻同期クライアントから時刻同期サーバへの往路で伝送される同期要求パケットの伝送時間と、時刻同期サーバから時刻同期クライアントへの復路で伝送される同期応答パケットの伝送時間とが等しい場合、時刻同期クライアントのローカル時刻は、時刻同期サーバの時刻＋（往復伝送時間（２ｄ）÷２）に同期できる。
【０００５】
一方、時刻同期クライアントと時刻同期サーバとの間での同期用パケットの送受信時に、同期要求パケットの伝送時間と、同期応答パケットの伝送時間とが等しくない場合、上述した式で、時刻同期クライアントのローカル時刻を算出した場合には、誤差が生じる。つまり、単純に往復時間を２で割っても、片道の伝送時間とならない。
【０００６】
したがって、時刻同期クライアントのローカル時刻を、時刻同期サーバの時刻と精度よく同期するために、時刻同期クライアントと時刻同期サーバとの間での同期用パケットの送受信時に、同期要求パケットの伝送時間と、同期応答パケットの伝送時間とができるだけ等しくなるようにしたい。
【０００７】
時刻同期システムにおいては、時刻同期クライアントと時刻同期サーバとは、一般的なネットワーク上の転送装置（例えば、ＩＰルータ／スイッチ）を介して通信を行うため、転送装置においては同期用パケットとそれ以外のパケットとが混在することとなる。すなわち、ネットワーク上では、時刻同期クライアント及び時刻同期サーバ以外の装置である第１のその他の装置（時刻同期クライアント及び時刻同期サーバと区別するため、その他の装置と称する。）も、ネットワーク上の第２のその他の装置との間でパケット（同期用パケットと区別するため、その他のパケットと称する。）の送受信を転送装置を介して、その他のパケットの送受信を同じ時刻に行うことがある。
【０００８】
このように、時刻同期クライアントと時刻同期サーバとの間の通信経路上にある転送装置で、時刻同期クライアントが送信した同期用パケットと、その他の装置が送信したその他のパケットとが競合する場合には、同期要求パケットと同期応答パケットの伝送時間とが等しくならない原因となる。
【０００９】
特に、転送装置で用いられているストア・アンド・フォワード型の転送では、出力中のパケットが終了しないと次のパケットの転送が開始できない。したがって、時刻同期クライアントが送信した同期用パケットの前に、その他の装置から送信されたその他のパケットが、転送装置に入力された場合、その他の装置のその他のパケットの出力を待ってから同期用パケットが出力されることになる。その結果、転送装置で、同期用パケット伝送における待ち時間が発生することになる。このような場合に、例えば、時刻同期クライアントから時刻同期サーバへの往路で伝送される同期用パケット伝送時は、待ち時間が発生し、時刻同期サーバから時刻同期クライアントへの復路で伝送される同期用パケット伝送時に待ち時間が発生しない場合に、往路と復路とで伝送時間に差が生じることになる。また、往路と復路とで待ち時間が異なる場合にも、往路と復路とで伝送時間に差が生じることになる。
【００１０】
従来、このような転送装置で待ち時間の発生を防ぐため、その他の装置が送信したその他のパケットとタイミングをずらして、時刻同期クライアントが同期用パケットを送信する工夫がされてきた。
【００１１】
しかしながら、この従来技術では、ネットワーク中のトラフィックが大きくなった場合、つまり、時刻同期クライアント以外のその他の装置が頻繁にその他のパケットを送信する場合、転送装置での待ち時間の発生を回避できない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００７−１５８４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明の一側面は、時刻同期クライアントと時刻同期サーバとの間の往復伝送時間をもとに、時刻同期クライアントと時刻同期サーバとの片道の伝送時間を高精度に算出することができる装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
一実施形態に係る通信装置は、転送装置を介して第１の通信装置との間で通信を行う通信装置であって、第１パケットのサイズを設定する設定部と、前記設定部で設定されたサイズの第１パケットを生成する生成部と、前記第１の通信装置に対して、前記生成部が生成した第１パケットを送信する送信部と、前記第１の通信装置から、第２パケットを受信する受信部と、前記送信部が前記第１パケットを送信したときの自装置が示す時刻と、前記第１の通信装置が前記第１パケットを受信したときの前記第１の通信装置が示す時刻と、前記第１の通信装置が前記第２パケットを送信したときの前記第１通信装置が示す時刻と、前記受信部が前記第２パケットを受信したときの自装置が示す時刻とを用いて、前記第１パケット又は前記第２パケットの前記第１の通信装置と自装置との間の伝送時間を算出する第１処理部とを備え、前記設定部は、前記転送装置に前記第１パケットが入力される前に第２の通信装置が前記転送装置に送信した第３パケットのサイズに基づいて、前記第１パケットの待機時間を所定時間以内とするように前記第１パケットのサイズを設定する。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係わる通信システムを示すブロック図。
【図２】図１の時刻同期クライアント１００を示すブロック図。
【図３】図１の時刻同期サーバ２００を示すブロック図。
【図４】図１のその他の装置３００Ａ、３００Ｂ、３００Ｃ、３００Ｄを示すブロック図。
【図５】図２の時刻同期クライアント１００の動作を示すフローチャート。
【図６】第２の実施形態に係る時刻同期クライアント２１００を示すブロック図。
【図７】第２の実施形態に係る時刻同期サーバ２２００を示すブロック図。
【図８】第２の実施形態に係る時刻同期クライアント２１００の動作を示すフローチャート。
【図９】第３の実施形態に係る時刻同期クライアント２１００を示すブロック図。
【図１０】第３の実施形態に係る時刻同期サーバ２２００を示すブロック図。
【図１１】第３の実施形態に係る時刻同クライアント２２００の動作を示すフローチャート。
【図１２】第４の実施形態に係る通信システムを示すブロック図。
【図１３】図１２のパケットサイズ設定装置４６００を示すブロック図。
【図１４】第４の実施形態の変形例に係るその他の装置４３００Ａ、Ｂ、Ｃ、Ｄを示すブロック図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１７】
＜第１の実施形態＞
図１は、第１の実施形態に係る通信システムを示すブロック図である。
【００１８】
図１の通信システムにおいては、高精度な基準時刻を提供する時刻同期サーバ２00と、ローカル時刻を有する時刻同期クライアント１00とを備える。時刻同期クライアント１00は、時刻同期サーバ２00との間でネットワーク500及び転送装置400A,400B,400Cを介して通信を行って、自装置のローカル時刻を、基準時刻に同期する。また、通信システムには、その他の装置300A〜300Dも存在し、当該その他の装置300A〜Dは、ネットワーク500及び転送装置400A、400B、400Cを介して、パケットの送受信を行っている。尚、その他の装置300A〜300Dが、時刻同期クライアント１00及び時刻同期サーバ２00と異なり、時刻同期を行う装置と区別するため、その他の装置と称することとした。その他の装置300A〜300Dは、通常のデータ通信を行う装置である。転送装置400A〜Cは、時刻同期クライアント１00及び時刻同期サーバ２00及びその他の装置300A〜300Dが送受信するパケットを転送する装置である。つまり、転送装置400A〜Cは、ルーティング機能を備える、例えばＩＰルータ／スイッチが好ましい。転送装置はネットワーク500が複雑なネットワークであった場合においても、例えば、時刻同期クライアント１00が送信したパケットを、確実に時刻同期サーバ２00に届ける役割を担う。
【００１９】
図２は、第１の実施形態に係わる時刻同期クライアント１００を示すブロック図である。
【００２０】
時刻同期クライアント１００は、受信部１０１と記憶部１０２とパケットサイズ設定部１０３とパケット生成部１０４と送信部１０５と、時刻同期処理部１０６と、タイマ１０７とを備える。
【００２１】
送信部１０５は、同期要求パケットを送信する。同期要求パケットは、時刻同期サーバ２００に対して、同期応答パケットを要求するパケットである。時刻同期クライアント１００は、同期応答パケットを受信することで、ローカル時刻を高精度な基準時刻を保持している時刻同期サーバ２００と同期させることができる。同期方法の詳細は後述する。同期要求パケットは、例えば、同期要求パケット送信時のタイムスタンプ（当該タイムスタンプの時刻t１とする。）を含むパケットであるとする。
【００２２】
記憶部１０２には、同期要求パケットのサイズを決定するために必要な情報の一部が記憶されている。同期要求パケットのサイズを決定するために必要な情報の例は、図１の通信システムに流れるパケットのうち、同期要求パケット及び同期応答パケット以外のパケットのサイズの最大値及び、図１の通信システムの装置の転送装置の数や、転送装置とその他の装置と時刻同期クライアント及びサーバ等とのシステム構成（装置間の接続関係）、図１の通信システムネットワーク５００の各リンクの帯域等である。パケットサイズ設定部１０３は、これらの情報を用いて、後述する方法で、数式６のような式を求めて、同期要求パケットのサイズを決定する。尚、記憶部１０２は、同期要求パケットのサイズを決定するための条件式（後述する数式６のような式）をあらかじめ記憶しておいてもよい。この場合、パケットサイズ設定部１０３は、当該条件式を用いて、同期要求パケットのサイズを決定することができる。尚、同期要求パケット及び同期応答パケット以外のパケットのサイズの最大値は、ネットワーク管理者において、あらかじめ定められた値であってもよいし、転送装置４００Ｂなどが、転送装置４００Ｂを通過するパケットであって、同期要求パケット及び同期応答パケット以外のパケットのサイズを一定時間計測し、当該時間の間に流れたパケットサイズの最大値であってもよい。また、同期要求パケットのサイズを決定するために必要な情報は、同期要求パケットのサイズそのものであってもよい。
【００２３】
パケットサイズ設定部１０３は、記憶部１０２の内容を用いて同期要求パケットのサイズを決定する。同期要求パケットのサイズの決定方法については、後述する。
【００２４】
パケット生成部１０４は、パケットサイズ設定部１０３が指示するサイズを持ち、かつ、タイムスタンプｔ１を含む同期要求パケットを生成する。この同期要求パケットを、送信部１０５が転送装置４００Aを介して、時刻同期サーバ２００宛に送信する。
【００２５】
他方で、受信部１０１は、転送装置４００A経由で同期応答パケットを受信する。
【００２６】
時刻同期処理部１０６は、受信した同期応答パケットに基づき、タイマ１０７を、時刻同期サーバ２００の高精度な基準時刻に同期させるように、同期時刻を算出する。より具体的には、時刻同期処理部１０６は、同期応答パケットに含まれる情報（同期要求パケット送信時のタイマ１０７の時刻のタイムスタンプt１、時刻同期サーバ２００が同期要求パケットを受信した時のタイマ２０７の時刻のタイムスタンプt２、時刻同期サーバ２００が同期応答パケットを送信した時のタイマ２０７の時刻のタイムスタンプt３及び、時刻同期クライアント１００が、同期応答パケットを受信した時のタイマ１０７の時刻のタイムスタンプt４を用いて、以下の式で算出できる。
【００２７】
同期時刻＝時刻同期サーバ２００が同期応答パケットを送信した時のタイムスタンプt３＋時刻同期サーバ２００が同期応答パケットを送信してから時刻同期クライアント１００が受信するまでの時間（oneway delayと称する。）・・・（数式１）
更には、oneway delayは、時刻同期サーバ２００と時刻同期クライアント１００との間のパケットの伝送の往路及び復路の伝送時間が同じである場合、以下の式で表される。
【００２８】
Oneway delay={ (t4-t3)＋(t２-t１) }/ ２・・（数式２）
したがって、同期時刻は、以下の式で表せる。
【００２９】
同期時刻＝t3＋{(t4-t3) ＋(t２-t１)}/２・・・（数式３）
時刻同期処理部１０６は、（数式３）より、タイムスタンプt１〜t４を用いて同期時刻を算出できる。
【００３０】
タイマ１０７は、ローカル時刻を刻んでいる。タイマ１０７のローカル時刻は、時刻同期処理部１０６が算出する同期時刻に設定され、高精度な基準時刻をもつ時刻同期サーバ２００のタイマ２０７と同期される。
【００３１】
図３は、時刻同期サーバ２００の構成を示すブロック図である。
【００３２】
時刻同期サーバ２００は、受信部２０１と記憶部２０２とパケットサイズ設定部２０３とパケット生成部２０４と送信部２０５と、時刻同期処理部２０６と、タイマ２０７とを備える。
【００３３】
受信部２０１は、同期要求パケット２０１を受信する。
【００３４】
記憶部２０２は、同期応答パケットのサイズを決定するために必要な情報の一部が記憶されている。同期応答パケットのサイズを決定するために必要な情報は、例えば、図１の通信システムに流れるパケットのうち、同期応答パケット及び同期応答パケット以外のパケットのサイズの最大値及び、図１の通信システムの装置の転送装置の数や、転送装置とその他の装置と時刻同期クライアント及びサーバ等とのシステム構成（装置間の接続関係等）、図１の通信システムネットワーク５００の各リンクの帯域等である。パケットサイズ設定部２０４は、これらの情報を用いて、後述する方法で、数式６のような式を求めて、同期応答パケットのサイズを決定する。尚、記憶部２０２は、同期応答パケットのサイズを決定するための条件式（後述する数式６のような式）をあらかじめ記憶しておいてもよい。この場合、パケットサイズ設定部２０３は、当該条件式を用いて、同期応答パケットのサイズを決定することができる。また、記憶部２０２が、同期応答パケットのサイズを決定するために必要な情報は、同期応答パケットのサイズを決定するための条件式（後述する数式６のような式）を記憶しておいても良い。また、同期応答パケットのサイズを決定するために必要な情報の例は、例えば、同期応答パケットのサイズそのものであってもよい。
【００３５】
パケットサイズ設定部２０３は、同期応答パケットサイズを決定する。同期要求パケットのサイズの設定方法については、後述する。
【００３６】
パケット生成部２０４は、パケットサイズ設定部２０３が設定したサイズの同期応答パケットを生成する。
【００３７】
送信部２０５は、パケット生成部２０４が生成した同期応答パケットを送信する。同期応答パケットは、同期応答パケットに含まれる情報（同期要求パケット送信時のタイムスタンプt１、時刻同期サーバ２００が同期要求パケットを受信した時のタイムスタンプt２、時刻同期サーバ２００が同期応答パケットを送信した時のタイムスタンプt３）を含む。
【００３８】
タイマ２０７は、高精度な基準時刻を刻んでいる。
【００３９】
時刻同期処理部２０６は、タイマ２０７が示す現在時刻を、パケット生成部２０４及び送信部２０５を介して通知する。より具体的には、時刻同期処理部２０６は、パケット生成部２０４に、タイマ２０７が示す現在時刻を、同期応答パケットを送信した時のタイムスタンプt３として書き込んだパケットを生成させ、送信部２０５に送信させることで、タイマ２０７が示す現在時刻を通知する。
【００４０】
図４は、その他の装置３００Ａ〜Ｄの構成を示すブロック図である。
【００４１】
その他の装置３００Ａ〜Ｄは、パケットを生成するパケット生成部３０１とパケットを送信する送信部３０２を少なくとも備える。
【００４２】
次に、時刻同期クライアント１００の動作を説明する。
【００４３】
図５は、時刻同期クライアント１００の同期処理を示すフローチャートである。
【００４４】
まず、時刻同期クライアント１００が時刻同期サーバ２００と時刻同期しようとするタイミング（定期的、若しくはユーザの指示があったタイミング）で、タイマ１０７が、パケット生成部１０４を呼び出す（ステップ１）。
【００４５】
次に、パケット生成部１０４は、パケットサイズ設定部を呼び出し、パケットサイズ設定部１０３にパケットサイズを設定させる（S１０２）。パケットサイズの設定方法は後述する。その後、パケット生成部１０４は、設定したサイズの同期要求パケットを生成する。
【００４６】
次に、パケット生成部１０４は、設定したサイズの同期要求パケットを生成し、送信部１０５は、同期要求パケットを送信する（S１０３）。パケット生成部１０４は、同期要求パケットに、同期要求パケットの送信時刻を示すタイムスタンプt１を含める。
【００４７】
同期要求パケット送信後は、受信部１０１が同期応答パケットを受信するのを待つ（S１０４）。
【００４８】
その後、受信部１０１は、同期応答パケットを受信する（Ｓ１０５）。
【００４９】
同期応答パケットを受信すると、受信部１０１は、時刻同期処理部１０６を呼び出す。時刻同期処理部１０６は、同期要求パケットの送信及び同期応答パケットの受信により得たタイムスタンプt１、t２、t3、t4を使い、（数式２）によってoneway delayを計算する。次に、時刻同期処理部１０６は、（数式３）を用いて、同期時刻（現在時刻）を計算する(S１０６)。時刻同期処理部１０６は、算出した同期時刻を、タイマ１０７の現在時刻に設定し、同期を完了する(Ｓ１０７)。
【００５０】
次に、パケットサイズ設定部１03による、Ｓ１０２の同期要求パケットサイズの設定処理を説明する。尚、パケットサイズ設定部１03は、パケットサイズ決定のために必要な情報を記憶部１0２から取得してパケットサイズを設定しても良いし、パケットサイズ設定部１03が、パケットサイズ決定のために必要な情報を、随時計算若しくは取得してパケットサイズを設定しても良い。尚、記憶部１0２が記憶する、パケットサイズ設定に必要な情報は、前述したとおり、図１の通信システムに流れるパケットであって同期要求パケット及び同期応答パケット以外のパケットサイズの最大値や、図１の通信システムの構成に関する情報や、ネットワーク５００の各リンクの帯域に関する情報などである。尚、記憶部１0２は、あらかじめ数式６のような条件式を記憶していても良い。パケットサイズ設定部１03は、数式６のような条件式を自ら算出して、若しくは記憶部１0２にあらかじめ記憶された条件式を用いて、同期要求パケットサイズを決定する。
【００５１】
図１の通信システムにおいて、その他の装置３００Ａ、３００Ｂはそれぞれその他の装置３００Ｃ、３００Ｄとパケットの送受信を行っているとする。この通信システムにおいて、その他の装置３００Ａ、３００Ｂ、３００Ｃ、３００Ｄが送受信するパケットのサイズの最大値をMバイトとし、同期要求パケットのサイズをLバイトとする。また、ネットワーク５００の各リンクの帯域が１００Mbpsであるとする。図１の通信システムにおいて、同期要求パケットが、その他の装置３００Ａ〜３００Ｄが送受信するパケットの影響で発生する、転送同期クライアント１００から転送同期サーバ２００へのパケットの伝送の遅れは（数式４）で表わされる。（数式４）において、８は、単位をバイトからビットに変換するために掛け算したものである。尚、数式４は、M≧Lの場合になりたつ。M<Lの場合は、パケットの伝送の遅れは、M * 8 / １00,000,000となり、Lの値によらない値となる。以下では、M≧Lの場合を説明するが、M<Lの場合については、以下の説明は、数式４を、M * 8 / １00,000,000で置き換えて説明することができる。
【００５２】
M * 8 / １00,000,000+(M-L)*8/１00,000,000・・・（数式４）
以下では、（数式４）の説明をする。
【００５３】
[転送装置４００Ａでの待機時間について]
（数式４）において、M * 8 / １00,000,000は、転送装置４００Ａのキュー（図示せず。）で、同期要求パケットが、パケットサイズMのパケットで最大待たされる時間である。つまり、その他の装置３００Ａ、３００Ｂのいずれかが送信したパケットが転送装置４００Ａに入力されたタイミングが、時刻同期クライアント１００が送信した同期要求パケットが転送装置４００Ａに入力される直前であった場合に、同期要求パケットが、転送装置４００Ａのキューで待たされる時間である。
【００５４】
[転送装置４００Ｂでの待機時間について]
また、(M-L)*8/１00,000,000は、転送装置４００Ｂのキュー（図示せず）で、同期要求パケットが、パケットサイズＭのパケットで最大待たされる時間である。つまり、その他の装置３００Ａ、３００Ｂのいずれかが送信したパケットが転送装置４００Ｂに入力されたタイミングが、時刻同期クライアント１００が送信した同期要求パケットが転送装置４００Ｂに入力される直前であった場合に、同期要求パケットが、転送装置４００Ｂのキューで待たされる時間である。
【００５５】
転送装置４００Ｂのキューで待たされる時間が、(M-L)*8/１00,000,000となる理由を更に詳細に説明する。上述した条件のもとでは同期要求パケットが転送装置４００Ｂに到着するときには、既に直前のパケットの転送が始まっており、優先制御もされず、同期要求パケットはキューでM * 8 / １00,000,000待たされることになる。一方、直前にその他の装置３００ＡまたはＢが送信したパケットがない場合、同期要求パケットは、L * 8 / １00,000,000で転送される。したがって、その他の装置３００Ａ又はＢが送信したパケットの影響で、同期要求パケットが転送装置４００Ｂのキューで待たされる最大時間は(M-L)*8/１00,000,000となる。
【００５６】
[転送装置４００Ｃの待機時間について]
時刻同期クライアント１００から時刻同期サーバ２００に同期要求パケットが送信される場合、転送装置４００Ｃでは、待機時間は発生しない。図１に示す通り、転送装置４００Ｃは、出力が複数あるため、同期要求パケットと、その他の装置３００Ａまたは３００Ｂが送信したパケットとは、同時並行で転送装置４００Ｃにより出力されるためである。
【００５７】
以上の説明の通り、サイズＬの同期要求パケットが、その他の装置３００Ａ又は３００Ｂが送信したサイズＭのパケットの影響で発生する、時刻同期クライアント１００から時刻同期サーバ２００への伝送の遅れは、（数式４）で表すことができる。
【００５８】
ここで、前述したとおり、時刻同期サーバ２００が送信したパケットが、時刻同期クライアント１００により受信されるまでの時間one way delayは、時刻同期クライアント１００と時刻同期サーバ２００のパケットの往路及び復路の伝送時間が等しい場合に、（数式２）で表されると説明した。したがって、（数式２）で求めた伝送時間と、実際の伝送時間との誤差は、時刻同期クライアント１００と時刻サーバ２００との間のパケットの伝送で、往路で最大の待機時間が発生し、復路で待機時間が全く発生しない場合、もしくは往路で待機時間が全く発生せず、復路で最大の待機時間が発生する場合に、最大の誤差を生じる。
【００５９】
そして、片道の最大誤差は、（数式４）を用いて、以下の式で表すことができる。
【００６０】
{ M*8/１00,000,000+( M - L ) *8/１00,000,000 }/２・・（数式５）
この場合において、許容する時刻誤差をXとおくと、同期用パケットのサイズは、以下の数式６の条件をみたすＬで表すことができる。
【００６１】
X >{ M*8/１00,000,000+( M - L ) *8/１00,000,000 }/２・・・（数式６）
以上で、同期要求パケットのサイズの決定方法を説明した。
【００６２】
尚、以上では、同期要求パケットのサイズを決定するための条件(数式６)を説明したが、更に、数式６を満たすLの中で、どの値にするかは様々な決定方法がある。例えば、L＝Mとしてもよい。これにより、遅れを最も小さくできる。一方、Lを小さくすればするほど、パケットサイズを小さくできるため、ネットワーク帯域の圧迫を低減できる。
【００６３】
尚、以上の例では、時刻同期クライアント１００が、時刻同期要求パケットのサイズを決定する方法を説明したが、時刻同期サーバも同様の方法で、時刻同期応答パケットのサイズを決定できる。
【００６４】
また、時刻同期用クライアント１００、時刻同期サーバ２００各々は、時刻同期要求パケット、時刻同期応答パケットのサイズをそれぞれ各自決定しても良いが、いずれかの装置が送信したパケットのサイズを用いて決定しても良い。例えば、時刻同期サーバ２００は、時刻同期応答パケットのサイズを、受信した時刻同期要求パケットと同じサイズとしても良い。
【００６５】
以上のように、本実施形態の時刻同期クライアント１００又は時刻同期サーバ２００によれば、時刻同期クライアント１００から時刻同期サーバ２００への同期要求パケットの伝送時間と、時刻同期サーバ２００から時刻同期クライアント１００への同期応答パケットの伝送時間の時間誤差を最低限に、所定の時間内におさめるように、同期要求パケット及び同期応答パケットのサイズを決定する。その結果、（数式２）で表される、onewaydelayが、実際の片道の伝送時間と近い値とすることができる。その結果、時刻同期の誤差を最低限の範囲におさえることができる。
【００６６】
尚、以上の実施形態では、図１の通信システムの例を説明したが、通信システムの構成は、本技術が適用される通信システムは、図１の例に限られない。通信システムの構成に応じて、（数式４）で表される、転送装置の影響で発生する待機時間は、異なる数式となり、それに応じて、（数式５）、（数式６）も異なる数式となる。転送装置の影響で発生する待機時間は、転送装置の入力が複数で、出力が１つの場合、（数式４）で説明した通り、例えば、M*8/１00,000,000と表され、入力が１つで出力が１つの場合、例えば、( M - L ) *8/１00,000,000で表され、入力が１つで出力が複数の場合、０となる。そして、それぞれの転送装置の数に応じて、当該待機時間の和を算出することで、待機時間を算出できる。
【００６７】
尚、本実施例では、各リンクの帯域が１００Mbpsである場合を例に説明したが、これに限られない。各リンクの帯域に応じて、（数式４）の、１00,000,000の値が変わる。
【００６８】
また、本実施例では、まず、時刻同期クライアント１00が時刻同期サーバ２00に同期要求パケットを送信し、時刻同期サーバ２00は、同期要求パケット受信後、その応答として同期応答パケットを送信する例を説明したが、これに限られない。例えば、時刻同期クライアント１00と時刻同期サーバ２00とが各々同一のタイミングで同期用パケットを送信しても良い。この場合、同期時刻およびoneway delayは、時刻同期クライアント１00が、同期用パケットを送信する時刻t１´と、時刻同期サーバ２00から同期用パケットを受信する時刻t4´との差分をt4´-t１´、時刻同期サーバ２00が、同期用パケットを送信する時刻t3´と、時刻同期クライアント１00から同期用パケットを受信する時刻t２´との差分をt２´-t3´とした場合、以下の数式3´、数式4´で表せる。
【００６９】
時刻差={(t4´-t１´)-(t２´-t3´)}/２・・・（数式２´）
同期時刻=t4´-時刻差・・・（数式3´）
Oneway delay=同期時刻-t3´・・・（数式4´）
このように、同期時刻およびOneway delayを求める計算式は、数式２に限られない。
【００７０】
尚、数式3´、数式4´で、同期時刻およびOneway delayを求める場合であっても、正確に解を求めるためには、時刻同期クライアント１00から時刻同期サーバ２00への片道伝送時間と、時刻同期サーバ２00から時刻同期応答クライアント１00への片道伝送時間との差が小さければ小さいほどよい。そして、同期要求パケットサイズの決定方法は、第１の実施例で説明した方法と同様である。
【００７１】
尚、実施例の時刻同期クライアント１００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、受信部１０１と記憶部１０２とパケットサイズ設定部１０３とパケット生成部１０４と送信部１０５と、時刻同期処理部１０６と、タイマ１０７とは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、時刻同期クライアント１００は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ-ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、記憶部１０２は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ-Ｒ、ＣＤ-ＲＷ、ＤＶＤ-ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００７２】
また、時刻同期サーバ２００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、受信部２０１と記憶部２０２とパケットサイズ設定部２０３とパケット生成部２０４と送信部２０５と、時刻同期処理部２０６と、タイマ２０７とは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、時刻同期サーバ２００は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、記憶部２０２は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００７３】
＜第２の実施形態＞
次に、第２の実施形態を説明する。
【００７４】
第２の実施形態にかかる時刻同期クライアント２１００及び時刻同期クライアント２２００は、第１の実施形態に係る時刻同期クライアント１００及び時刻同期クライアント２００と、同期用要求パケット、同期応答パケット各々のサイズの決定方法が異なる。その他の処理は同様である。
【００７５】
第２の実施形態にかかる通信システムの構成は、図１に示してある。
【００７６】
図６及び図７は、それぞれ時刻同期クライアント２１００及び時刻同期サーバ２２００の構成を示すブロック図である。
【００７７】
時刻同期クライアント２１００は、時刻同期クライアント１００と比べて、記憶部２１０２とパケットサイズ設定部２１０３の機能が、異なる。
【００７８】
記憶部２１０２は、記憶部１０２の機能に加えて、更に、割り当て可能な同期要求パケットのサイズを記憶する。ここで、割り当て可能な同期要求パケットのサイズは、例えば、管理者が任意に決めても良いし、図１の通信システムのネットワーク５００上でボトルネックとなるリンクの未使用帯域や、同期要求パケットの送信間隔、及びビットレートなどから決めることができる。
【００７９】
パケットサイズ設定部２１０３は、記憶部２１０２に記憶された、経路上に流れるパケットサイズの最大値と、割り当て可能な同期要求パケットのサイズの最大サイズとを比べて、同期要求パケットのサイズを決定する。決定方法の詳細は後述する。
【００８０】
時刻同期サーバ２２００も、時刻同期クライアント２００と比べて、記憶部２２０２とパケットサイズ設定部２２０３の機能が異なる。記憶部２２０２とパケットサイズ設定部２２０３の機能は、記憶部２１０２とパケットサイズ設定部２１０３の機能とほぼ同様である。尚、時刻同期サーバ２２００は、同期要求パケットではなく、同期応答パケットについて処理する。
【００８１】
次に、図８を用いて、時刻同期クライアント２１００が、同期要求パケットのサイズを決定する方法について説明する。
【００８２】
図８は、時刻同期クライアント２１００が、同期要求パケットのサイズを決定する方法を示すフローチャートである。
【００８３】
まず、時刻同期クライアント２１００のパケットサイズ設定部２１０３は、記憶部２１０２から、経路上に流れるパケットサイズの最大サイズを読み込む（ステップ１０２１）。
【００８４】
次に、パケットサイズ設定部２１００は、割り当て可能な同期要求パケットの最大サイズを記憶部２１０２から読みこむ（ステップ１０２２）。
【００８５】
次に、パケットサイズ設定部２１００は、経路上に流れるパケットのサイズの最大サイズと、割り当て可能な同期要求パケットの最大サイズを比較する(ステップ１０２３)。
【００８６】
次に、パケットサイズ設定部２１００は、割り当て可能な同期要求パケットの最大サイズが、経路上に流れるパケットのサイズの最大サイズ以上の場合はステップ１０２４の動作へ進み、経路上パケットの最大サイズより小さい場合はステップ１０２５へ進む。
【００８７】
ステップ１０２４では、パケットサイズ設定部２１００は、送信する同期要求パケットのサイズを、経路上に流れるパケットの最大サイズに設定する。
【００８８】
ステップ１０２５では、パケットサイズ設定部２１００は、送信する同期要求パケットのサイズを、割り当て可能な同期要求パケットの最大サイズに設定する。
【００８９】
尚、パケットサイズ設定部２１００が決定した同期要求パケットを用いた処理は、図５で示したＳ１０３〜Ｓ１０６までの処理と同様である。
【００９０】
また、以上の説明では、時刻同期クライアント２１００が、同期要求パケットのサイズを決定する処理を説明したが、時刻同期サーバ２２００が、同期応答パケットのサイズを決定する処理も同様に説明できる。
【００９１】
本実施形態にかかる時刻同期要求サーバ２２００と時刻同期応答クライアント２１００によれば、同期要求パケットのサイズをできるだけ経路上のパケットサイズの最大値に近づけることで、（数式５）からわかるように、時刻同期クライアント１００から時刻同期サーバ２００への同期要求パケットの伝送時間と、時刻同期サーバ２００から時刻同期クライアント１００への同期応答パケットの伝送時間の時間誤差を小さくできるため、（数式２）で表される、onewaydelayが、実際の片道の伝送時間と近い値とすることができる。その結果、時刻同期の誤差を小さくすることができる。
【００９２】
＜第３の実施形態＞
次に、第３の実施形態を説明する。
【００９３】
第３の実施形態にかかる時刻同期クライアント３１００及び時刻同期クライアント３２００は、第１の実施形態に係る時刻同期クライアント１００及び時刻同期クライアント２００と、同期用要求パケット、同期応答パケット各々のサイズの決定方法が異なる。その他の処理は同様である。
【００９４】
第３の実施形態にかかる通信システムの構成は、図１に示してある。
【００９５】
図９、図１０は、時刻同期クライアント３１００、時刻同期サーバ３２００の構成を示すブロック図である。
【００９６】
時刻同期クライアント３１００は、時刻同期クライアント１００と比べて、記憶部３１０２及びパケットサイズ設定部３１０３の機能が、異なる。
【００９７】
パケットサイズ設定部３１０３は、異なるサイズの異なるパケット各々について複数回、送信部１０５および受信部１０１を介して送信受信することで、時刻同期クライアント３１００と時刻同期サーバ３２００との間の往復伝送時間を計算する。そして、異なるパケットのうち、複数回の往復伝送時間のうち最大時間と最少時間との差が最小であるパケットのサイズを、同期要求パケットのサイズと決定する。決定方法の詳細は後述する。
【００９８】
時刻同期サーバ３２００も、時刻同期クライアント２００と比べて、記憶部３２０２及びパケットサイズ設定部３２０３の機能が異なる。記憶部３２０２及びパケットサイズ設定部３２０３の機能は、記憶部３１０２及びパケットサイズ設定部３１０３の機能と同様である。
【００９９】
次に、図１１を用いて、時刻同期クライアント３１００が、同期要求パケットのサイズを決定する方法について説明する。
【０１００】
記憶部３１０２は、最適パケットサイズを記憶する。最適パケットサイズの詳細は後述する。
【０１０１】
図１１は、時刻同期クライアント３１００が、同期要求パケットのサイズを決定する方法を示すフローチャートである。
【０１０２】
パケットサイズ設定部３１０３は、まず記憶部３１０２から、最適パケットサイズを読み込む（ステップ４０１）。この最適パケットサイズは、初期は設定されていない。
【０１０３】
次に、パケットサイズ設定部３１０３は、最適パケットサイズが設定されているか否かを確認する(ステップ４０２)。最適パケットサイズが設定されている場合はステップ４０３、設定されていない場合はステップ４０４へ進む。
【０１０４】
ステップ４０４では、パケットサイズ設定部３１０３は、同期要求パケットのサイズを最適パケットサイズに設定する。
【０１０５】
ステップ４０５では、パケットサイズ設定部４１０４は、パケットのサイズの最適パケットサイズを決定するための処理を行う。最適パケットサイズの決定方法は、たとえば、以下の方法がある。
【０１０６】
異なるサイズの異なるパケット各々について複数回、送信部１０５および受信部１０１を介して送信及び受信することで、時刻同期クライアント３１００と時刻同期サーバ３２００との間の往復伝送時間を計算する。そして、異なるパケットのうち、複数回の往復伝送時間のうち最大時間と最少時間との差が最小であるパケットのサイズを、同期要求パケットの最適パケットサイズと決定する。往復伝送時間は、送信時のタイムスタンプと受信時のタイムスタンプの差を求めることで調べることができる。
【０１０７】
尚、異なるサイズの異なるパケット各々について複数回、送受信する方法としては、複数の方法がある。
【０１０８】
第１の方法は、サイズの初期値を０byteと設定し、パケットのサイズを１００byteずつ上げていく方法である。
【０１０９】
第２の方法は、サイズの初期値を０byteと設定し、次のサイズをＭＴＵ（Maximum Transmission Unit）の２分の１のサイズとする。そして、３回目のサイズは、最初のパケットと２回目のパケットとを比べて、２回目のサイズの方が、往復伝送時間の最大時間と最少時間との差が小さかった場合、ＭＴＵの４分の３とする。一方、最初のパケットと２回目のパケットとを比べて、１回目のサイズの方が、往復伝送時間の最大時間と最少時間との差が小さかった場合、ＭＴＵの４分の１とする。４回目は、３回目をＭＴＵの４分の１とした場合、３回目のサイズと２回目のサイズとを比べて、３回目のサイズの方が、往復伝送時間の最大時間と最少時間との差が小さかった場合、ＭＴＵの８分の１とし、２回目のサイズの方が、差が小さかった場合、ＭＴＵの８分の３とする。このような処理を繰り返すことで、最適パケットサイズを求める。
【０１１０】
最適サイズを求める際、例えば、許容される時間内で最適パケットサイズを探す試行を繰り返したあとは、試行した中で最適であったパケットサイズを最適パケットサイズとして記憶部３１０２に記憶する。その後は、（ステップ４０２）での判定結果はYesとなる。
【０１１１】
尚、パケットサイズ設定部２１００が決定した同期要求パケットを用いた処理は、図５で示したS１０３〜S１０６までの処理と同様である。
【０１１２】
また、異なるサイズのパケットのうち、複数回の往復伝送時間のうち最大時間と最少時間との差が最小であるパケットのサイズが複数あった場合、当該差の最小であるパケットのうち、最も小さいパケットサイズを選択しても良い。これにより、ネットワーク帯域の圧迫を低減できる。
【０１１３】
また、以上の説明では、時刻同期クライアント３１００が、同期要求パケットのサイズを決定する処理を説明したが、時刻同期サーバ３２００が、同期応答パケットのサイズを決定する処理も同様に説明できる。
【０１１４】
時刻同期クライアント３１００と時刻同期サーバ３２００との間のパケットの往復伝送時間の変動が小さいパケットは、転送装置で、その他の装置３００Ａ〜３００Ｂが送信するパケットによる影響で生じる待機時間が小さいと考えられる。図１のシステムにおいて、往復伝送時間の変動に影響する変動値は、転送装置で、その他の装置３００Ａ〜３００Ｂが送信するパケットによる影響で生じる待機時間だからである。したがって、本実施形態にかかる時刻同期要求サーバ３２００と時刻同期応答クライアント３１００によれば、往復伝送時間の変動が小さいパケットのサイズを同期要求パケットのサイズにすることで、時刻同期クライアント１００から時刻同期サーバ２００への同期要求パケットの伝送時間と、時刻同期サーバ２００から時刻同期クライアント１００への同期応答パケットの伝送時間の時間誤差を小さくできるため、（数式２）で表される、onewaydelayが、実際の片道の伝送時間と近い値とすることができる。その結果、時刻同期の誤差を小さくすることができる。
【０１１５】
＜第４の実施形態＞
次に、第４の実施形態を説明する。
【０１１６】
図１２は、第４の実施形態に係る通信システムを示す構成図である。
【０１１７】
第４の実施形態に係る通信システムは、パケットサイズ決定装置４６００が、その他の装置４３００Ａ、４３００Ｂ、４３００Ｃ及び４３００Ｄを制御する。
【０１１８】
本実施形態の通信システムにおいては、第１の実施形態と異なり、時刻同期クライアント４１００及び時刻同期サーバ４２００が、その他の装置４３００Ａ〜その他の装置４３００Ｂが送信するパケットのサイズに合わせて、同期要求パケット又は同期応答パケットのサイズを決めるのでなく、その他の装置４３００Ａ〜その他の装置４３００Ｂが送信するパケットの最大のサイズを、同期要求パケット及び同期応答パケットのサイズに合わせて決定する。本実施形態では、パケットサイズ決定装置４６００が、その他の装置４３００Ａ〜４３００Ｄが送信するパケットの最大のサイズを決定し、その他の装置４３００Ａ〜４３００Ｄを制御する。
【０１１９】
図１３は、パケットサイズ決定装置４６００の構成を示すブロック図である。
【０１２０】
パケットサイズ設定装置４６００は、記憶部４６０１とパケットサイズ設定部４６０２と指示部４６０３とを備える。
【０１２１】
記憶部４６０１は、その他の装置４３００Ａ〜４３００Ｄが送信するパケットの最大のサイズを、決定するために必要な情報の一部またはすべてが記憶されている。その他の装置４３００Ａ〜４３００Ｄが送信するパケットの最大のサイズを決定するために必要な情報の例は、同期要求パケット及び同期応答パケット以外のパケットのサイズ、及び、図１の通信システムの装置の転送装置の数や、転送装置とその他の装置と時刻同期クライアント及びサーバ等とのシステム構成である。また、記憶部４６０１が、同期要求パケットのサイズを決定するために必要な情報は、パケットのサイズを決定するための条件式（後述する数式７のような式）を記憶しておいても良い。
【０１２２】
パケットサイズ設定部４６０２は、その他の装置４３００Ａ〜４３００Ｄが送信するパケットの最大のサイズを決定する。決定方法については、後述する。
【０１２３】
指示部４６０３は、パケットサイズ設定部４６０２が決定したパケットの最大のサイズ以下のサイズのパケットを送信するようにその他の装置４３００Ａ〜４３００Ｄを制御する。その他の装置４３００Ａ〜４３００Ｄは、指示部４６０３の指示にしたがって、指示された最大のサイズより大きいパケットは送信しない。
【０１２４】
本実施形態にかかる時刻同期クライアント４１００及び時刻同期サーバ４２００は、第１の実施形態の時刻同期クライアント１００及び時刻同期サーバ４２００と異なり、あらかじめ決められたサイズの同期要求パケット及び同期応答パケットを送信する。以下の例では、同期要求パケット及び同期応答パケットのサイズを１００byteである例を説明する。
【０１２５】
本実施形態に係るその他の装置４３００Ａ〜４３００Ｄは、第１の実施形態に係るその他の装置３００Ａから３００Ｄと異なり、パケットサイズ決定装置４６００が指示する最大のサイズ以下のサイズのパケットを送信する。
【０１２６】
次に、パケットサイズ決定装置４６００が、その他の装置４３００Ａ〜４３００Ｄが送信するパケットの最大のサイズを決定する方法について説明する。最大のサイズを決定する方法については、第１の実施形態で求めた決定方法と同様の方法で決定できる。
【０１２７】
つまり、（数式６）において、Ｌに同期要求パケット及び同期応答パケットのサイズである１００byteを代入し、（数式６）を満たすＭを求めることで、その他の装置４３００Ａ〜４３００Ｄが送信するパケットの最大のサイズを決定できる。つまり、（数式６）を満たすＭの最大値が、その他の装置４３００Ａ〜４３００Ｄが送信するパケットの最大のサイズとする。
【０１２８】
つまり、以下の（数式７）によって、算出することができる。M≧１００であるとする。
【０１２９】
X < { M*8/１00,000,000 + ( M -１00) *8/１00,000,000} /２・・・（数式７）
（数式７）を満たすＭを求めることで、時刻同期の時刻誤差を許容内に収めることができる。
【０１３０】
以上のように、本実施形態のパケットサイズ設定装置４６００及びその他の装置４３００Ａ〜４３００Ｄによれば、時刻同期クライアント１００から時刻同期サーバ２００への同期要求パケットの伝送時間と、時刻同期サーバ２００から時刻同期クライアント１００への同期応答パケットの伝送時間の時間誤差を最低限に、所定の時間内におさめるように、その他の装置４３００Ａ〜４３００Ｄが送信可能な最大のサイズを決定し、制御するため、（数式２）で表される、onewaydelayが、実際の片道の伝送時間と近い値とすることができる。その結果、時刻同期の誤差を最低限の範囲におさえることができる。
【０１３１】
＜変形例＞
尚、本実施形態では、パケットサイズ決定装置４６００が、その他の装置４３００Ａ〜Ｄが送信するパケットのサイズの最大サイズを決定したが、その他の装置自身が、パケットのサイズの最大サイズを決定しても良い。
【０１３２】
図１４に、第４の実施形態の変形例に係るその他の装置５３００Ａ〜Ｄの構成を示すブロック図である。
【０１３３】
その他の装置５３００Ａ〜Ｄは、第１の実施形態にかかるその他の装置３００Ａ〜Ｄと異なり、記憶部５３０４及びパケットサイズ設定部５３０５を備える。以下では、その他の装置５３００Ａの機能を説明する。
【０１３４】
記憶部５３０５は、その他の装置５３００Ａが送信するパケットの最大のサイズを、決定するために必要な情報の一部またはすべてが記憶されている。その他の装置５３００Ａが送信するパケットの最大のサイズを決定するために必要な情報の例は、例えば、同期要求パケット及び同期応答パケットのサイズ、及び、図１の通信システムの装置の転送装置の数や、転送装置とその他の装置と時刻同期クライアント及びサーバ等とのシステム構成である。また、記憶部５３０５が、同期要求パケットのサイズを決定するために必要な情報は、パケットのサイズを決定するための条件式（数式７のような式）を記憶しておいても良い。
【０１３５】
パケットサイズ設定部５３０５は、その他の装置５３００Ａ〜５３００Ｄが送信するパケットの最大のサイズを決定する。決定方法については、第４の実施形態のパケットサイズ決定装置４６００の決定方法と同様である。
【０１３６】
パケット生成部５３０２は、パケットサイズ設定部４６０２が決定した最大サイズ以下のパケットを生成する。
【０１３７】
その他の装置５３００Ｂ〜Ｄも、その他の装置５３００Ａと同様の機能を有する。
【０１３８】
尚、その他の装置５３００Ｂ〜Ｄは、自らが最大サイズを決定しなくても、その他の装置５３００Ａが決定した最大サイズ以下のパケットを生成及び送信しても良い。
【０１３９】
本実施形態の変形例のその他の装置５３００Ｂ〜Ｄによれば、第４の実施形態のパケットサイズ決定装置４６００が達成する効果と同様の効果を達成できる。
【０１４０】
尚、第１〜第５の実施形態では、onewaydelayを、時刻同期要求クライアント及び時刻同期クライアントの時刻同期に用いる例を説明した。しかしながら、onewaydelayを、他の用途に用いる例にも、適用できる。つまり、本実施形態で説明した技術の適用範囲は、時刻同期に限られない。例えば、onewaydelayを測定することで、ネットワーク品質を確認する場合にも適用できる。つまり、本実施形態で説明した技術の適用範囲は、onewaydelayやサーバとクライアントとの往復伝送時間を算出すること、算出した値を用いて処理を行う技術一般に適用できる。
【０１４１】
以上説明した少なくとも１つの実施形態の効果は、クライアントとサーバとの間の伝送時間をもとに、クライアントとサーバとの片道の伝送時間を高精度に算出することができる装置を提供することができる。
【０１４２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４３】
１００、２１００、２１００、３１００・・・時刻同期クライアント、２００、２２００、３２００・・・時刻同期サーバ、３００Ａ、３００Ｂ、３００Ｃ、３００Ｄ、４３００Ａ、４３００Ｂ、４３００Ｃ、４３００Ｄ、５３００Ａ、５３００Ｂ、５３００Ｃ、５３００Ｄ・・・その他の装置、４００Ａ、４００Ｂ、４００Ｃ、１０１、２０１・・・受信部、１０２、２０２、２１０２、２２０２、３１０３、５３０４・・・記憶部、１０２２０３・・・パケットサイズ設定部、１０４．２０４、２１０３、２２０３、３２０３・・・パケット生成部、１０５、２０５・・・送信部、１０６、２０６・・・時刻同期処理部、１０７、２０７・・・タイマ、４００Ａ、４００Ｂ、４００Ｃ・・・転送装置、３０１・・・パケット生成部、３０２・・・送信部、４６００・・・パケット決定装置、４６０１、５３０４・・・記憶部、４６０２、５３０５・・・パケットサイズ設定部、４６０３・・・指示部。
【図１】
0005675703.tif 000002
【図２】
0005675703.tif 000003
【図３】
0005675703.tif 000004
【図４】
0005675703.tif 000005
【図５】
0005675703.tif 000006
【図６】
0005675703.tif 000007
【図７】
0005675703.tif 000008
【図８】
0005675703.tif 000009
【図９】
0005675703.tif 000010
【図１０】
0005675703.tif 000011
【図１１】
0005675703.tif 000012
【図１２】
0005675703.tif 000013
【図１３】
0005675703.tif 000014
【図１４】
0005675703.tif 000015