(57)【特許請求の範囲】
【請求項１】
ＮＴＰサーバから供給される基準時刻に基づいてシステム時刻を生成し、うるう秒によって前記基準時刻が調整された場合、ｓｌｅｗモードによって前記システム時刻の前記基準時刻との同期を行うように構成されたシステム時刻生成部と、
前記システム時刻とは無関係に刻時を行う自走時刻を生成する自走時刻生成部と、
時報を出力する出力部と、
前記うるう秒によって前記基準時刻が調整される調整予定時刻を受信し、前記調整予定時刻に基づいて前記システム時刻生成部が前記システム時刻の前記基準時刻との同期を開始する同期開始時刻を算出する演算部と、
前記システム時刻に基づいて前記出力部に前記時報の出力時刻を提供し、前記同期開始時刻よりも後の時刻においては前記自走時刻に基づいて前記出力部に前記時報の出力時刻を提供するように構成された出力制御部と、を有し、
前記出力制御部は、前記システム時刻に基づいて前記出力部に前記時報の出力時刻を提供するシステム時刻参照モードと、前記自走時刻に基づいて前記出力部に前記時報の出力時刻を提供する自走時刻参照モードと、を切替える切替部を有し、
前記切替部は、前記同期開始時刻よりも前の時刻であって前記同期開始時刻に最も近い前記時報の出力時刻において、前記システム時刻参照モードから前記自走時刻参照モードに切替えるように構成されていることを特徴とする時報システム。
【請求項２】
前記演算部は、前記システム時刻生成部が前記システム時刻の前記基準時刻との同期を終了する同期終了時刻を算出し、
前記切替部は、前記同期終了時刻よりも後の時刻において、前記自走時刻参照モードから前記システム時刻参照モードに切戻すように構成されていることを特徴とする請求項１に記載の時報システム。
【請求項３】
前記出力制御部は、前記自走時刻参照モードから前記システム時刻参照モードに切戻した時における前記システム時刻と前記自走時刻とを比較して誤差を算出する比較部と、前記誤差が許容誤差を超える場合、前記システム時刻に基づく前記時報の出力時刻を調整した調整出力時刻を前記出力時刻として前記出力部に提供する調整部と、を有することを特徴とする請求項２に記載の時報システム。
【請求項４】
前記調整部は、複数回に亘って前記調整出力時刻を前記出力部に提供するように構成されていることを特徴とする請求項３に記載の時報システム。
【請求項５】
前記自走時刻生成部は、前記時報システム内で生成されたタイマー割込みの回数に基づいて前記自走時刻の刻時を行うように構成されていることを特徴とする請求項１乃至４のいずれか１つに記載の時報システム。
【請求項６】
前記自走時刻生成部は、前記タイマー割込みの秒間平均回数を算出し、前記タイマー割込みの秒間平均回数に基づいて前記自走時刻の刻時を行うように構成されていることを特徴とする請求項５に記載の時報システム。
【請求項７】
サーバを、
ＮＴＰサーバから供給される基準時刻に基づいてシステム時刻を生成し、うるう秒によって前記基準時刻が調整された場合、ｓｌｅｗモードによって前記システム時刻の前記基準時刻との同期を行うように構成されたシステム時刻生成部と、
前記システム時刻とは無関係に刻時を行う自走時刻を生成する自走時刻生成部と、
時報を出力する出力部と、
前記うるう秒によって前記基準時刻が調整される調整予定時刻を受信し、前記調整予定時刻に基づいて前記システム時刻生成部が前記システム時刻の前記基準時刻との同期を開始する同期開始時刻を算出する演算部と、
前記システム時刻に基づいて前記出力部に前記時報の出力時刻を提供し、前記同期開始時刻よりも後の時刻においては前記自走時刻に基づいて前記出力部に前記時報の出力時刻を提供するように構成された出力制御部と、を有し、
前記出力制御部は、前記システム時刻に基づいて前記出力部に前記時報の出力時刻を提供するシステム時刻参照モードと、前記自走時刻に基づいて前記出力部に前記時報の出力時刻を提供する自走時刻参照モードと、を切替える切替部を有し、
前記切替部は、前記同期開始時刻よりも前の時刻であって前記同期開始時刻に最も近い前記時報の出力時刻において、前記システム時刻参照モードから前記自走時刻参照モードに切替えるように構成されている時報システムとして機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末に時刻情報の提供を行う時報システム及びプログラムに関する。
【背景技術】
【０００２】
正確な現在時刻を知る方法として、例えば電話サービスの１つである時報アナウンスを聞くことが知られている。この場合、ユーザは、電話端末を用いて、音声によって現在時刻を認識する。他の方法としては、ユーザは、インターネットを用いてパソコンなどの通信端末の画面に表示させた文字によって、現在時刻を知ることも可能である。音声や文字などによって端末に時刻を提供する時報システムには、正確な時刻情報を有することが求められる。
【０００３】
特許文献１には、外部装置から時刻情報及びうるう秒が挿入されることを示すフラグ情報を受信する通信部と、通信部が受信した時刻情報に基づいてタイムスタンプを生成する時計部と、時計部が生成するタイムスタンプを、時間が逆行することなく連続して増加するタイムスタンプに補正する補正部と、を有する端末装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2010-272071号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
時報システムは、そのシステム内の時刻に基づいて時報情報を提供する。また、時報システムは、例えばＮＴＰ（Network Time Protocol）サーバとの通信を行うことによって、システム内の時刻が協定世界時（ＵＴＣ：Coordinated Universal Time）に同期するように構成されている。具体的には、時報システムは、システム内の時刻（以下、システム時刻と称する）と協定世界時とを定期的に比較する。そして、システム時刻及び協定世界時間にズレが生じた場合、時報システムは、システム時刻を協定世界時に合わせる動作を行う。
【０００６】
一方、システムが外部のＮＴＰサーバとの時刻同期を行うモードとして、ｓｔｅｐモードとｓｌｅｗモードが用いられる。ｓｔｅｐモードはシステム内の時刻を瞬時に協定世界時に同期させるモードであり、ｓｌｅｗモードはシステム内の時刻を徐々に（時間をかけて）協定世界時に同期させるモードである。
【０００７】
時報システムなどのサーバシステムは、データベースのトランザクションが記録されるアプリケーションなど、各処理の前後関係がシステム時刻から正確に把握される必要があるアプリケーションが実装されている場合、時刻の逆行又は大幅な変更を伴うｓｔｅｐモードによる時刻同期を行うことができない。従って、この場合、サーバシステムは、ｓｌｅｗモードでの時刻同期を行うこととなる。すなわち、時刻同期が完了するまでに一定の時間を要することとなる。
【０００８】
ここで、協定世界時にうるう秒の挿入又は削除が生じた場合を考える。うるう秒の挿入又は削除が生じた場合、時報システムがｓｌｅｗモードでの時刻同期を行うと、一時的にシステム時刻と協定世界時との間に時刻のズレが生ずる場合がある。この場合、システム時刻は、１秒程度協定世界時に対してずれてしまう。従って、正確に現在時刻の提供を行うことが出来ない場合がある。
【０００９】
本発明は上記した点に鑑みてなされたものであり、ｓｌｅｗモードによる時刻同期を行い、うるう秒の挿入又は削除が行われた場合でも正確に時報を提供することが可能な時報システム及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明による時報システムは、ＮＴＰサーバから供給される基準時刻に基づいてシステム時刻を生成し、うるう秒によって基準時刻が調整された場合、ｓｌｅｗモードによってシステム時刻の基準時刻との同期を行うように構成されたシステム時刻生成部と、システム時刻とは無関係に刻時を行う自走時刻を生成する自走時刻生成部と、時報を出力する出力部と、うるう秒によって基準時刻が調整される調整予定時刻を受信し、調整予定時刻に基づいてシステム時刻生成部がシステム時刻の基準時刻との同期を開始する同期開始時刻を算出する演算部と、システム時刻に基づいて出力部に時報の出力時刻を提供し、同期開始時刻よりも後の時刻においては自走時刻に基づいて出力部に時報の出力時刻を提供するように構成された出力制御部と、を有し、出力制御部は、システム時刻に基づいて出力部に時報の出力時刻を提供するシステム時刻参照モードと、自走時刻に基づいて出力部に時報の出力時刻を提供する自走時刻参照モードと、を切替える切替部を有し、切替部は、同期開始時刻よりも前の時刻であって同期開始時刻に最も近い時報の出力時刻において、システム時刻参照モードから自走時刻参照モードに切替えるように構成されていることを特徴としている。
【００１１】
また、本発明によるプログラムは、サーバを、ＮＴＰサーバから供給される基準時刻に基づいてシステム時刻を生成し、うるう秒によって基準時刻が調整された場合、ｓｌｅｗモードによってシステム時刻の基準時刻との同期を行うように構成されたシステム時刻生成部と、システム時刻とは無関係に刻時を行う自走時刻を生成する自走時刻生成部と、時報を出力する出力部と、うるう秒によって基準時刻が調整される調整予定時刻を受信し、調整予定時刻に基づいてシステム時刻生成部がシステム時刻の基準時刻との同期を開始する同期開始時刻を算出する演算部と、システム時刻に基づいて出力部に時報の出力時刻を提供し、同期開始時刻よりも後の時刻においては自走時刻に基づいて出力部に時報の出力時刻を提供するように構成された出力制御部と、を有し、出力制御部は、システム時刻に基づいて出力部に時報の出力時刻を提供するシステム時刻参照モードと、自走時刻に基づいて出力部に時報の出力時刻を提供する自走時刻参照モードと、を切替える切替部を有し、切替部は、同期開始時刻よりも前の時刻であって同期開始時刻に最も近い時報の出力時刻において、システム時刻参照モードから自走時刻参照モードに切替えるように構成されている時報システムとして機能させることを特徴としている。
【図面の簡単な説明】
【００１２】
【図１】実施例１に係る時報システムの構成を示すブロック図である。
【図２】（ａ）は実施例１に係る時報システムにおける出力制御部の詳細構成を示す図であり、（ｂ）は出力制御部の動作例を示す図である。
【図３】（ａ）〜（ｃ）は、実施例１に係る時報システムにおける自走時刻生成部の動作を示す図である。
【図４】実施例１に係る時報システムにおける出力データの構成を示す図である。
【図５】実施例２に係るプログラムの構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例について詳細に説明する。
【実施例１】
【００１４】
図１は、本発明の実施例１にかかる時報システム１０の構成を示すブロック図である。時報システム１０は、１つ以上（ｎ個）の通信端末（以下、単に端末と称する）Ｔ１、Ｔ２、・・・、Ｔｎに対して時報ＴＳを出力する出力部ＯＰを有している。ｎ個の端末Ｔ１、Ｔ２、・・・、Ｔｎの各々は、例えば、電話機、ラジオ、スマートフォン、タブレット及びパーソナルコンピュータなどである。
【００１５】
以下においては、時報システム１０が、端末Ｔ１、Ｔ２、・・・、Ｔｎのうちのいずれか１つの端末として、端末Ｔｊ（ｊは１≦ｊ≦ｎの関係を満たす整数）に時報ＴＳを提供する場合について説明する。例えば端末Ｔｊが電話機である場合、出力部ＯＰは、端末Ｔｊに対して音声情報として時報ＴＳを出力する。また、例えば端末Ｔｊがタブレットである場合、出力部ＯＰは、端末Ｔｊに対して文字や画像、映像などの表示情報として時報ＴＳを出力する。
【００１６】
時報システム１０は、ＮＴＰ（Network Time Protocol）サーバＮＳから供給される基準時刻ＲＣに基づいてシステム内の時刻であるシステム時刻ＳＣを生成するシステム時刻生成部１１を有している。具体的には、時報システム１０は、ＮＴＰサーバＮＳから基準時刻ＲＣを取得するＮＴＰクライアントＮＣを有し、ＮＴＰクライアントＮＣは取得した基準時刻ＲＣをシステム時刻生成部１１に供給する。
【００１７】
なお、図示していないが、ＮＴＰサーバＮＳは、さらに上位に配備されたＮＴＰサーバとの時刻同期を行っている。また、最上位のＮＴＰサーバは、ＧＰＳや標準電波、原子時計など、協定世界時（ＵＴＣ：Coordinated Universal Time）の時刻に準じた正確な時刻源に直結されている。システム時刻生成部１１は、このＮＴＰサーバＮＳから供給される基準時刻ＲＣに基づいて時報システム１０全体の時刻としてシステム時刻ＳＣを生成する。
【００１８】
システム時刻生成部１１は、システム時刻ＳＣと基準時刻ＲＣとの間に時刻のズレが生じた場合、ｓｌｅｗモードによってシステム時刻ＳＣの基準時刻ＲＣとの同期を行うように構成されている。具体的には、システム時刻生成部１１は、定期的にシステム時刻ＳＣ及び基準時刻ＲＣの時刻比較を行う。そして、システム時刻生成部１１は、両者に一定の差異が生じた場合、ｓｌｅｗモードによって時刻合わせを行う機能を有している。
【００１９】
例えば、ＮＴＰサーバＮＳがうるう秒の挿入又は削除によって基準時刻ＲＣの調整を行った場合、システム時刻ＳＣと基準時刻ＲＣとの間に１秒のズレが生ずる。システム時刻生成部１１は、うるう秒によって基準時刻ＲＣが調整された場合、ｓｌｅｗモードによってシステム時刻ＳＣの基準時刻ＲＣとの同期を行うように構成されている。
【００２０】
時報システム１０は、システム時刻ＳＣを用いて情報処理を行い、その処理情報を生成及び記憶するアプリケーションＡＰを有している。例えばアプリケーションＡＰは、時報システム１０のトランザクションのログを生成及び記憶するデータベースアプリケーションである。アプリケーションＡＰは、システム時刻ＳＣに基づいてトランザクションを実行し、そのログを生成して記憶する。従って、時刻の逆行などを回避するために、時報システム１０は、システム時刻ＳＣの同期をｓｔｅｐモードで行うようには構成されていない。従って、システム時刻生成部１１は、システム時刻ＳＣの基準時刻ＲＣとの同期をｓｌｅｗモードによって行う。
【００２１】
時報システム１０は、システム時刻ＳＣとは無関係に刻時する自走時刻ＬＣを生成する自走時刻生成部１２を有している。自走時刻生成部１２は、独自の時刻生成を行う。具体的には、システム時刻生成部１１とは無関係に、すなわち自走的に時刻のカウントを行う。
【００２２】
時報システム１０は、うるう秒によって基準時刻ＲＣが調整される調整予定時刻ＡＴを受信し、調整予定時刻ＡＴに基づいてシステム時刻生成部１１がシステム時刻ＳＣの基準時刻ＲＣとの同期を開始する同期開始時刻ＳＢＴを算出する演算部１３を有している。
【００２３】
具体的には、演算部１３は、外部のうるう秒情報入力装置ＩＮから、調整予定時刻ＡＴ、すなわちうるう秒が挿入又は削除され、ＮＴＰサーバＮＳが基準時刻ＲＣを調整する予定時刻が入力される。また、うるう秒情報入力装置ＩＮは、基準時刻ＲＣがうるう秒の挿入によって調整されるか、又はうるう秒の削除によって調整されるかを示す情報、すなわち基準時刻ＲＣの調整方向ＡＤを示す情報を演算部１３に入力する。演算部１３は、この調整予定時刻ＡＴ及び調整方向ＡＤに基づいて、システム時刻生成部１１がシステム時刻ＳＣの基準時刻ＲＣとの時刻同期を開始する同期開始時刻ＳＢＴを算出する。
【００２４】
また、演算部１３は、システム時刻生成部１１がシステム時刻ＳＣの基準時刻ＲＣとの同期を終了する同期終了時刻ＳＥＴを算出する。具体的には、演算部１３は、システム時刻生成部１１の同期開始時刻ＳＢＴ、同期開始時における時刻のズレ及び予め設定されている同期条件（単位時間当たりの調整幅や調整実行回数など）に基づいて、同期終了時刻ＳＥＴを算出する。演算部１３は、算出した同期開始時刻ＳＢＴ及び同期終了時刻ＳＥＴを出力する。
【００２５】
時報システム１０は、出力部ＯＰが時報ＴＳを出力する時刻（出力時刻）ＯＴを出力部ＯＰに提供する出力制御部１４を有している。出力部ＯＰは、出力制御部１４から出力時刻ＯＴを受信し、出力時刻ＯＴを受信したタイミングで、出力時刻ＯＴを示す出力データＤＢを取り出し、時報ＴＳとして出力する。端末Ｔｊは、この時報ＴＳを受信する。
【００２６】
出力制御部１４は、通常時、すなわち調整予定時刻ＡＴから所定時間離れた時刻においては、システム時刻ＳＣに基づいて出力部ＯＰに時報ＴＳの出力時刻ＯＴを提供する（以下、システム時刻参照モードと称する）。また、出力制御部１４は、同期開始時刻ＳＢＴよりも後の時刻においては、自走時刻ＬＣに基づいて出力部ＯＰに時報ＴＳの出力時刻ＯＴを提供する（以下、自走時刻参照モードと称する）。換言すれば、うるう秒の挿入又は削除が発生すると、出力制御部１４は、システム時刻ＳＣの参照を停止し、システム時刻ＳＣではなく自走時刻ＬＣを参照して時報ＴＳの出力時刻ＯＴを提供する。
【００２７】
また、出力制御部１４は、同期終了時刻ＳＥＴまでは自走時刻参照モードで出力時刻ＯＴを生成し、出力時刻ＯＴを出力部ＯＰに供給する。すなわち、同期開始時刻ＳＢＴから同期終了時刻ＳＥＴまでの間の時刻において、出力制御部１４は自走時刻参照モードで出力部ＯＰの時報ＴＳの出力を制御するように構成されている。
【００２８】
図２（ａ）は、出力制御部１４の詳細構成を示すブロック図である。図２（ｂ）は、出力制御部１４の動作例を時系列で模式的に示す図である。出力制御部１４は、システム時刻参照モードと自走時刻参照モードとを切替える切替部１４Ａを有している。以下においては、切替部１４Ａがシステム時刻参照モードから自走時刻参照モードに切替えることをモード切替と称し、自走時刻参照モードからシステム時刻参照モードに切替えることをモード切戻と称する。
【００２９】
出力制御部１４は、モード切戻時におけるシステム時刻ＳＣと自走時刻ＬＣとを比較して両時刻の誤差ｄを算出する比較部１４Ｂを有している。また、出力制御部１４は、比較部１４Ｂによって算出された誤差ｄが許容誤差を超えている場合、システム時刻ＳＣに基づく時報ＴＳの出力時刻ＯＴを調整した調整出力時刻ＡＯＴを出力時刻ＯＴとして出力部ＯＰに提供する調整部１４Ｃを有している。
【００３０】
図２（ｂ）を用いて、うるう秒による基準時刻ＲＣの調整予定時刻ＡＴの前後における出力制御部１４の動作について説明する。まず、出力制御部１４は、調整予定時刻ＡＴ、すなわちうるう秒の挿入時刻又は削除時刻まではシステム時刻ＳＣを参照して出力時刻ＯＴを出力部ＯＰに提供する。次に、調整予定時刻ＡＴにおいて、うるう秒による基準時刻ＲＣの調整が行われる（タイミングｔ１）。例えばうるう秒の挿入が行われる場合、タイミングｔ１では、うるう秒の挿入によって基準時刻ＲＣが１秒遅れることとなる。従って、システム時刻ＳＣは基準時刻ＲＣに対して１秒ずれる。
【００３１】
ここで、システム時刻生成部１１はＮＴＰサーバＮＳに時刻の問合せを行い、システム時刻ＳＣと基準時刻ＲＣとの間に時刻のズレが生じていることを検出する。そして、システム時刻生成部１１は、システム時刻ＳＣの基準時刻ＲＣとの同期を開始する（タイミングｔ２、同期開始時刻ＳＢＴ）。以後、システム時刻生成部１１は、所定期間（同期期間ＳＴ）に亘って、ｓｌｅｗモードで時刻同期を行う。同期期間ＳＴが終了すると、すなわち同期終了時刻ＳＥＴ以降は、システム時刻ＳＣは基準時刻ＲＣに同期される。
【００３２】
一方、演算部１３は、既に調整予定時刻ＡＴ及び調整方向ＡＤを受信しており、これに基づいて同期開始時刻ＳＢＴ及び同期終了時刻ＳＥＴを算出している。演算部１３は、この演算結果、すなわち同期開始時刻ＳＢＴ及び同期終了時刻ＳＥＴを出力制御部１４に対して出力している。
【００３３】
切替部１４Ａは、同期開始時刻ＳＢＴよりも前の時刻であって同期開始時刻ＳＢＴに最も近い時報ＴＳの出力時刻ＯＴ（タイミングｔ３）において、システム時刻参照モードから自走時刻参照モードに切替えるように構成されている。すなわち、出力制御部１４の切替部１４Ａは、同期開始時刻ＳＢＴの直近における時報ＴＳの出力タイミングｔ３を契機に、モードの切替を行う。
【００３４】
モードの切替後は、出力制御部１４は、自走時刻ＬＣに基づいて出力部ＯＰに対して時報ＴＳの出力時刻（出力タイミング）ＯＴを提供する。出力部ＯＰは、出力制御部１４から供給された出力時刻ＯＴに基づいて出力データＤＢから出力対象データを取り出し、当該出力対象データを出力する。なお、モードの切替時には、出力部ＯＰは、うるう秒の挿入又は削除に対応した出力データを出力データＤＢから取出して時報ＴＳとして出力する。
【００３５】
出力制御部１４の切替部１４Ｂは、同期終了時刻ＳＥＴよりも後の時刻において自走時刻参照モードからシステム時刻参照モードに切戻すように構成されている。より具体的には、切替部１４Ｂは、同期終了時刻ＳＥＴよりも後の時刻であって同期終了時刻ＳＥＴに最も近い時報ＴＳの出力時刻ＯＴ（タイミングｔ４）において自走時刻参照モードからシステム時刻参照モードに切戻すように構成されている。
【００３６】
なお、モード切戻のタイミングは同期終了時刻ＳＥＴよりも後の時刻であればよいが、自走時刻ＬＣの刻時精度を考慮すると、本実施例のように同期終了時刻ＳＥＴの直後にモード切戻を行うことが望ましい。
【００３７】
モードの切戻時、切替部１４Ａが自走時刻参照モードからシステム時刻参照モードにモードの切戻を行ったタイミングｔ４において、比較部１４Ｂはシステム時刻ＳＣと自走時刻ＬＣとの比較を行う。すなわち、比較部１４Ｂは、モードの切戻タイミングｔ４におけるシステム時刻ＳＣ及び自走時刻ＬＣ間の時刻の誤差ｄを算出する。
【００３８】
調整部１４Ｃは、比較部１４Ｂによって算出された誤差ｄが所定の許容誤差を超えていると判断した場合、システム時刻ＳＣに基づいた時報ＴＳの出力時刻ＯＴを調整する。例えば５ミリ秒が許容誤差として設定される。具体的には、調整部１４Ｃは、システム時刻ＳＣに基づいた時報ＴＳの出力時刻ＯＴに対し、自走時刻ＬＣとの誤差ｄを縮める方向に所定時間だけ調整した調整出力時刻ＡＯＴを出力部ＯＰに提供する（タイミングｔ５）。例えば調整出力時刻ＡＯＴは誤差ｄの半分の時間だけ縮めるように調整された時刻であってもよい。
【００３９】
なお、本実施例については調整部１４Ｃが調整出力時刻ＡＯＴを１回だけ生成する場合について説明したが、調整部１４Ｃは、複数回に亘って調整出力時刻ＡＯＴを出力部ＯＰに提供するように構成されていてもよい。例えば、誤差ｄが１３ミリ秒である場合、具体的には、モード切戻時においてシステム時刻ＳＣが自走時刻ＬＣよりも１３ミリ秒遅れている場合を考える。この場合、調整部１４Ｃは、２回の調整を行って徐々に誤差ｄを縮めていくことが可能である。
【００４０】
具体的には、調整部１４Ｃは、モード切戻直後の出力タイミングである１回目の調整では、システム時刻ＳＣに基づく出力時刻ＯＴに対し、誤差ｄから５ミリ秒減じた調整出力時刻ＡＯＴを提供する。すなわち、調整部１４Ｃは、１回目の調整において出力時刻ＯＴよりも８ミリ秒早いタイミングで出力時刻ＯＴを提供する。同様に、調整部１４Ｃは、２回目の調整で、１回目よりもさらに５ミリ秒だけ誤差ｄを減じ、出力時刻ＯＴよりも３ミリ秒早い調整出力時刻ＡＴＯを提供する。
【００４１】
上記したように、本実施例における時報システム１０は、通常時は協定世界時に対応するシステム時刻ＳＣを参照して時報を出力し、うるう秒によって協定世界時に調整が行われた際にはシステム独自の刻時時刻である自走時刻ＬＣを参照して時報を出力する。従って、時報システムのシステム時刻ＳＣがうるう秒の発生に対してｓｌｅｗモードで時刻同期を行う場合、すなわちｓｔｅｐモードによって即時に時刻同期を行うことができない場合であっても、うるう秒による時刻調整に対応した正確な時報提供を行うことが可能となる。
【００４２】
また、モードの切戻時においてシステム時刻ＳＣ及び自走時刻ＬＣ間に許容誤差を超える時刻の誤差ｄが生じた場合でも、出力時刻（すなわち時報の出力タイミング）が間延びしたり欠落したりすることが抑制される。従って、ユーザに違和感を与えることなく、またユーザに認識されることなくモードの切替及び切戻を行うことが可能となる。
【００４３】
図３（ａ）〜（ｃ）は、自走時刻生成部１２が生成する自走時刻ＬＣについて詳細に説明する図である。図３（ａ）に示すように、自走時刻生成部１２は、時報システム１０内で生成されたタイマー割込み（クロック割込み）の回数ＮＴＩに基づいて自走時刻ＬＣの刻時を行うように構成されている。具体的には、自走時刻生成部１２が生成する自走時刻ＬＣは、例えば時報システム１０として機能するサーバのハードウェアが周期的に発生させるクロック割込み（タイマー割込み）に基づいて刻時されている。
【００４４】
タイマー割込みの頻度はカーネルにおいて規定されている。例えば１００ＨＺの周波数で動作するハードウェアクロックの場合、約１０ミリ秒に一回の頻度でタイマー割込みが発生する。自走時刻生成部１２は、このタイマー割込みの回数ＮＴＩに基づいて刻時（カウント）を行うことによって自走時刻ＬＣを生成する。
【００４５】
なお、タイマー割込みは、厳密には一定の頻度で発生しない。例えば時報システム１０の設置環境や誤差などの要因によって、タイマー割込みはわずかに異なる頻度で発生する。従って、タイマー割込み回数ＮＴＩに基づいて刻時を行う場合、自走時刻ＬＣがシステム時刻ＳＣに対して徐々にずれてくることが予想される。従って、自走時刻生成部１２は、タイマー割込みの秒間平均回数ＡＮＴＩを算出し、タイマー割込みの秒間平均回数ＡＮＴＩに基づいて自走時刻ＬＣの刻時を行うように構成されていることが好ましい。
【００４６】
具体的には、自走時刻生成部１２は、所定期間分（例えば２４時間分）のタイマー割込み回数ＮＴＩに基づいて、その秒間平均回数ＡＮＴＩを算出する。自走時刻生成部１２は、このタイマー割込みの秒間平均回数ＡＮＴＩに基づいて自走時刻ＬＣを生成する。この場合、ハードウェアの設置条件などに起因する刻時のズレを抑制することが可能となる。
【００４７】
次に、図３（ｂ）を用いてタイマー割込みの秒間平均回数ＡＮＴＩの算出例について説明する。なお、以下においては、１００ＨＺの周波数で動作するクロックを用いて１０秒に相当するタイマー割込み回数ＮＴＩを蓄積し、これに基づいてタイマー割込みの秒間平均回数（１秒当たりの平均割込み回数）ＡＮＴＩを算出する場合について説明する。なお、この場合、１０秒は、概ね１，０００回のタイマー割込み回数に相当する。
【００４８】
まず、１０秒毎にタイマー割込み回数ＮＴＩを収集する。次に、前回収集したタイマー割込み回数ＮＴＩとの差分から１０秒間に発生したタイマー割込み回数ＮＴＩを算出して記録する。例えば２４時間分のデータに基づいたタイマー割込みの秒間平均回数ＡＮＴＩが９９．９８４７回であった場合、自走時刻生成部１２は９９．９８４７回のタイマー割込みを１秒とし、自走時刻ＬＣの刻時を行う。
【００４９】
なお、自走時刻生成部１２は、定期的にタイマー割込みの秒間平均回数ＡＮＴＩを更新しつつ自走時刻ＬＣの刻時に反映させることが好ましい。すなわち、定期的にタイマー割込み回数ＮＴＩの収集及びタイマー割込み秒間平均回数ＡＮＴＩの算出を行い、最新のタイマー割込みの秒間平均回数ＡＮＴＩに基づいて自走時刻ＬＣの刻時を行うことが好ましい。また、システム起動直後にうるう秒による調整が行われることを考慮して、自走時刻生成部１２は、最新のタイマー割込みの秒間平均回数ＡＮＴＩを記憶する機能を有していることが好ましい。
【００５０】
次に、図３（ｃ）を用いて、モード切替後における自走時刻生成部１２による自走時刻ＬＣの生成について説明する。なお、以下においては、時報システム１０が、電話サービスの１つである音声による時報提供サービスを行う場合について説明する。詳細については後述するが、この場合、出力制御部１４は、１０秒毎に出力時刻ＯＴを出力部ＯＰに提供（通知）し、出力部ＯＰはうるう秒調整時を除いては１０秒毎に時報ＴＳを出力する。
【００５１】
まず、自走時刻生成部１２は、モード切替時（図２（ｂ）のタイミングｔ３）のシステム時刻ＳＣを取得する。図３（ｃ）は、例えばタイミングｔ３におけるシステム時刻ＳＣが２０１５年６月３０日２３時５９分５０秒である場合について示している。自走時刻生成部１２は、これ以降、タイマー割込み回数ＮＴＩ又はタイマー割込み秒間平均回数ＡＮＴＩに基づいて自走時刻ＬＣの刻時を行う。
【００５２】
なお、自走時刻生成部１２は、うるう秒の挿入又は削除に対応する刻時を行うように構成されている。例えばうるう秒の挿入が行われる場合、ＮＴＰサーバＮＳは、調整予定時刻ＡＴ（図２（ｂ）のタイミングｔ１）において、２０１５年６月３０日２３時５９分６０秒をカウントする。従って、自走時刻生成部１２が刻時する２０１５年７月１日０時０分０秒は、調整予定時刻ＡＴから１秒後、すなわちモード切替タイミングｔ３から１１秒経過後である。従って、出力制御部１４は、モード切替から、タイマー割込み秒間平均回数ＡＮＴＩが１１回発生したタイミングで出力時刻ＯＴを出力部ＯＰに提供する。
【００５３】
その後、自走時刻生成部１２は、引き続きタイマー割込み秒間平均回数ＡＮＴＩに基づいて自走時刻ＬＣの刻時を行っていく。また、自走時刻生成部１２は、前回の出力時刻ＯＴから１０回分のタイマー割込み秒間平均回数ＡＮＴＩが発生したタイミングを２０１５年７月１日０時０分１０秒とし、これを出力制御部１４に供給する。出力制御部１４は、２０１５年７月１日０時０分１０秒を出力時刻ＯＴとして出力部ＯＰに提供する。出力制御部１４は、これを繰り返して自走時刻参照モードで時報ＴＳの出力時刻ＯＴを出力部ＯＰに提供する。
【００５４】
図４は、時報システム１０に記憶され、出力部ＯＰが出力する時報ＴＳを示す出力データＤＢの一例を示す図である。図４に示すように、出力データＤＢは、背景トーンが記憶された第１のデータベースＤＢ１と、アナウンス音源が記憶された第２のデータベースＤＢ２とからなる。第１のデータベースＤＢ１には、出力時刻ＯＴに応じた４種類の背景トーンが記憶されている。第２のデータベースＤＢ２には、出力時刻ＯＴを知らせるためのアナウンス音源が記憶されている。出力部ＯＰは、出力時刻ＯＴに応じて第１及び第２のデータベースＤＢ１及びＤＢ２から該当データを取り出し、再生する。
【００５５】
背景トーン０は、秒針音、予告音及び時報音から構成された再生時間１０秒の音源ファイルである。背景トーン０は毎分２０秒及び５０秒の出力時刻ＯＴにおいて使用される。背景トーン１は、秒針音び時報音から構成された再生時間１０秒の音源ファイルである。背景トーン１は、毎分００秒、１０秒、３０秒及び４０秒の出力時刻ＯＴにおいて使用される。
【００５６】
背景トーン２は、秒針音、予告音及び時報音から構成され、うるう秒挿入分を含む再生時間１１秒の音源ファイルである。背景トーン２は、うるう秒が挿入される直前の再生に使用される。背景トーン３は、秒針音、予告音及び時報音から構成され、うるう秒削除分を含む再生時間９秒の音源ファイルである。背景トーン３は、うるう秒が削除される直前の再生に使用される。
【００５７】
出力部ＯＰは、例えば出力制御部１４から出力時刻ＯＴとして２０１５年７月１日０時０分０秒を受信された場合、まず、第１のデータベースＤＢ１から背景トーン１を選択する。また、出力部ＯＰは、第２のデータベースＤＢ２のアナウンス音源が出力時刻ＯＴを示すアナウンス音源となるように編集する。そして、出力部ＯＰは、両者を合成して（ミキシングを行って）再生する。
【００５８】
なお、図４に示す出力データＤＢは一例に過ぎない。また、タブレットなどの通信端末に時報ＴＳを出力する場合は、出力データＤＢは文字や画像、動画などのファイルから構成されていてもよい。
【００５９】
なお、本実施例においては、時報システム１０がＮＴＰクライアントＮＣを有する場合について説明したが、ＮＴＰクライアントＮＣは時報システム１０とは独立して設けられていてもよい。また、システム時刻生成部１１がＮＴＰクライアントＮＣを介してＮＴＰサーバＮＳから基準時刻ＲＣを取得する場合について説明したが、システム時刻生成部１１は、ＮＴＰサーバＮＳと直接通信を行って基準時刻ＲＣを取得してもよい。すなわち、システム時刻生成部１１は、ＮＴＰサーバＮＳから基準時刻ＲＣを直接取得するクライアント機能を有していてもよい。
【００６０】
また、本実施例においては、出力制御部１４が同期開始時刻ＳＢＴの直前の出力時刻ＯＴ（図２（ｂ）におけるタイミングｔ３）でシステム時刻参照モードから自走時刻参照モードに切替える場合について説明したが、モード切替のタイミングはこれに限定されない。出力制御部１４は、同期開始時刻ＳＢＴよりも後の時刻において自走時刻参照モードで出力時刻ＯＴの提供動作を行っていればよい。
【００６１】
なお、タイミングｔ３でモードの切替を行う場合、うるう秒による基準時刻ＲＣの調整の直前、すなわち同期動作により時刻のズレが生ずる直前のタイミングで自走時刻参照モードに切り替わることとなる。従って、うるう秒による基準時刻ＲＣ及びシステム時刻ＳＣ間の時刻のズレが時報提供に影響を与えることが防止される。従って、モード切替前後においても正確な時報提供を継続的に行うことが可能となる。
【００６２】
また、出力制御部１４が切替部１４Ａ、比較部１４Ｂ及び調整部１４Ｃを有する場合について説明したが、出力制御部１４はこれらを有していなくてもよい。例えば自走時刻生成部１２が正確な刻時を行うことが可能な場合は、出力制御部１４は比較部１４Ｂ及び調整部１４Ｃを有していなくてもよい。また、例えば保守者がモード切戻及びモード切戻時における時刻比較及び出力時刻ＯＴの調整を行う場合、出力制御部１４は比較部１４Ｂ及び調整部１４Ｃを有していなくてもよい。また、例えば出力制御部１４がモード切替及び切戻機能を有する場合、また、出力制御部１４は切替部１４Ａを有している必要は無い。また、出力制御部１４が切替部１４Ａを有する場合について説明したが、出力部ＯＰが切替部１４Ａを有していてもよい。
【００６３】
本実施例においては、時報システム１０が、うるう秒によって基準時刻ＲＣが調整される調整予定時刻ＡＴを受信し、調整予定時刻ＳＢＴに基づいてシステム時刻生成部１１がシステム時刻ＳＣの基準時刻ＲＣとの同期を開始する同期開始時刻ＳＢＴを算出する演算部１３と、システム時刻ＳＣに基づいて出力部ＯＰに時報ＴＳの出力時刻ＯＴを提供し、同期開始時刻ＳＢＴよりも後の時刻においては自走時刻ＬＣに基づいて出力部ＯＰに時報ＴＳの出力時刻ＯＴを提供するように構成された出力制御部１４と、を有する。
【００６４】
従って、うるう秒の挿入又は削除が発生した際には自走時刻ＬＣを参照して時報ＴＳの出力時刻ＯＴを判断する構成となる。従って、ｓｌｅｗモードでの時刻同期を行う時報システムにおいて、うるう秒による基準時刻ＲＣの調整が発生した際にも時報の時刻ズレを生じさせることを抑制し、正確に時報を提供することが可能となる。
【実施例２】
【００６５】
図５は、実施例２に係るプログラムＰＧの構成を示すブロック図である。図５に示すように、プログラムＰＧは、サーバＳＶを時報システム１０として機能させる。具体的には、プログラムＰＧは、サーバＳＶを、ＮＴＰサーバＳＶから供給される基準時刻ＲＣに基づいてシステム時刻ＳＣを生成し、うるう秒によって基準時刻ＲＣが調整された場合、ｓｌｅｗモードによってシステム時刻ＳＣの基準時刻ＲＣとの同期を行うように構成されたシステム時刻生成部１１として機能させる。プログラムＰＧは、サーバＳＶを、システム時刻ＳＣとは無関係に刻時を行う自走時刻ＬＣを生成する自走時刻生成部１２として機能させる。プログラムＰＧは、サーバＳＶを、時報ＴＳを出力する出力部ＯＰとして機能させる。
【００６６】
また、プログラムＰＧは、サーバＳＶを、うるう秒によって基準時刻ＲＣが調整される調整予定時刻ＡＴを受信し、調整予定時刻ＡＴに基づいてシステム時刻生成部１１がシステム時刻ＳＣの基準時刻ＲＣとの同期を開始する同期開始時刻ＳＢＴを算出する演算部１３として機能させる。
【００６７】
また、プログラムＰＧは、サーバＳＶを、システム時刻ＳＣに基づいて出力部ＯＰに時報ＴＳの出力時刻ＯＴを提供し、同期開始時刻ＳＢＴよりも後の時刻においては自走時刻ＬＣに基づいて出力部ＯＰに時報ＴＳの出力時刻ＯＴを提供するように構成された出力制御部１４として機能させる。
【００６８】
本実施例においては、プログラムＰＧが、サーバＳＶを実施例１に係る時報システム１０として機能させる。すなわち、プログラムＰＧがインストールされたサーバＳＶは時報システム１０として動作する。従って、ｓｌｅｗモードによってシステム内の時刻合わせを行うサーバにプログラムＰＧをインストールすることで容易に実施可能である。従って、新たにハードウェアを用意することなく正確な時報提供を行う時報システムを構成することが可能である。
【符号の説明】
【００６９】
１０  時報システム
ＯＰ  出力部
１１  システム時刻生成部
１２  自走時刻生成部
１３  演算部
１４  出力制御部
１４Ａ  切替部
１４Ｂ  比較部
１４Ｃ  調整部
【図１】
0006476666.tif 000002
【図２】
0006476666.tif 000003
【図３】
0006476666.tif 000004
【図４】
0006476666.tif 000005
【図５】
0006476666.tif 000006