(57)【特許請求の範囲】
【請求項１】
各々がいずれかのグループに属する複数のクライアント装置から時刻同期要求を受信し、受信した時刻同期要求に対する応答として、現在時刻を通知する時刻情報を送信するクライアント通信部と、
いずれかのクライアント装置がいずれかのグループに新規に参入した場合に、新規参入があった新規参入グループが示される新規参入グループ情報と、新規参入したクライアント装置を含む新規参入グループに属するクライアント装置の数が示されるクライアント数情報とを生成するグループ管理部と、
前記クライアント通信部が時刻同期要求を受信する度に、時刻同期要求の送信元である要求元クライアント装置が属するグループが新規参入グループであるか否かを前記新規参入グループ情報を用いて判定し、要求元クライアント装置が属するグループが新規参入グループである場合に、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信しているか否かを前記クライアント数情報を用いて判定し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信していない間は前記クライアント通信部による当該新規参入グループに属するクライアント装置への時刻情報の送信を保留し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信した際に、前記クライアント通信部に、当該新規参入グループに属する全てのクライアント装置に時刻情報を送信するよう指示し、要求元クライアント装置が属するグループが新規参入グループでない場合に、前記クライアント通信部に、要求元クライアント装置に時刻情報を送信するよう指示する送信指示部とを有することを特徴とする情報処理装置。
【請求項２】
前記クライアント通信部は、
クライアント装置において時刻情報に示される現在時刻に加算されるオフセット時間であって、時刻情報の送信先のクライアント装置が属するグループに対して指定されているオフセット時間を通知するオフセット時間情報を、時刻情報とともにクライアント装置に送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、更に、
グループごとに、グループに属するクライアント装置の通信アドレスが示されるグループ管理テーブルを記憶するグループ管理テーブル記憶部を有し、
前記クライアント通信部は、
前記送信指示部から新規参入グループに属する全てのクライアント装置に時刻情報を送信するよう指示された場合に、当該新規参入グループに属する全てのクライアント装置の通信アドレスを前記グループ管理テーブルから取得し、取得した通信アドレスを用いて新規参入グループに属する全てのクライアント装置に時刻情報を送信することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記グループ管理部は、
いずれかのクライアント装置がいずれかのグループに新規に参入した場合に、新規参入したクライアント装置の通信アドレスを前記グループ管理テーブルに追加し、
いずれかのクライアント装置がいずれかのグループから離脱した場合に、離脱したクライアント装置の通信アドレスを前記グループ管理テーブルから削除することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記グループ管理部は、
いずれかのクライアント装置がいずれかのグループに新規に参入した場合に、新規参入グループ情報とクライアント数情報とを前記グループ管理テーブル内に生成することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記グループ管理テーブル記憶部は、
クライアント装置の通信アドレスとして、２以上の通信アドレスを包含する通信アドレスが示されるグループ管理テーブルを記憶していることを特徴とする請求項３〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記クライアント通信部は、
クライアント装置において用いられるパラメータ情報であって、時刻情報の送信先のクライアント装置が属するグループに対して指定されているパラメータ情報を、時刻情報とともにクライアント装置に送信することを特徴とする請求項１〜６のいずれか一項に記載の情報処理装置。
【請求項８】
前記クライアント通信部は、
所定の上位装置により、所定のタイミングで更新される現在時刻を通知する時刻情報をクライアント装置に送信することを特徴とする請求項１〜７のいずれか一項に記載の情報処理装置。
【請求項９】
コンピュータが、各々がいずれかのグループに属する複数のクライアント装置から時刻同期要求を受信し、受信した時刻同期要求に対する応答として、現在時刻を通知する時刻情報を送信するクライアント通信ステップと、
いずれかのクライアント装置がいずれかのグループに新規に参入した場合に、前記コンピュータが、新規参入があった新規参入グループが示される新規参入グループ情報と、新規参入したクライアント装置を含む新規参入グループに属するクライアント装置の数が示されるクライアント数情報とを生成するグループ管理ステップと、
前記クライアント通信ステップにより時刻同期要求が受信される度に、前記コンピュータが、時刻同期要求の送信元である要求元クライアント装置が属するグループが新規参入グループであるか否かを前記新規参入グループ情報を用いて判定し、要求元クライアント装置が属するグループが新規参入グループである場合に、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信しているか否かを前記クライアント数情報を用いて判定し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信していない間は前記クライアント通信ステップによる当該新規参入グループに属するクライアント装置への時刻情報の送信を保留し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信した際に、前記クライアント通信ステップに、当該新規参入グループに属する全てのクライアント装置に時刻情報を送信するよう指示し、要求元クライアント装置が属するグループが新規参入グループでない場合に、要求元クライアント装置に時刻情報を前記クライアント通信ステップが送信するよう指示する送信指示ステップとを有することを特徴とする情報処理方法。
【請求項１０】
各々がいずれかのグループに属する複数のクライアント装置から時刻同期要求を受信し、受信した時刻同期要求に対する応答として、現在時刻を通知する時刻情報を送信するクライアント通信ステップと、
いずれかのクライアント装置がいずれかのグループに新規に参入した場合に、新規参入があった新規参入グループが示される新規参入グループ情報と、新規参入したクライアント装置を含む新規参入グループに属するクライアント装置の数が示されるクライアント数情報とを生成するグループ管理ステップと、
前記クライアント通信ステップにより時刻同期要求が受信される度に、時刻同期要求の送信元である要求元クライアント装置が属するグループが新規参入グループであるか否かを前記新規参入グループ情報を用いて判定し、要求元クライアント装置が属するグループが新規参入グループである場合に、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信しているか否かを前記クライアント数情報を用いて判定し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信していない間は前記クライアント通信ステップによる当該新規参入グループに属するクライアント装置への時刻情報の送信を保留し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信した際に、前記クライアント通信ステップに、当該新規参入グループに属する全てのクライアント装置に時刻情報を送信するよう指示し、要求元クライアント装置が属するグループが新規参入グループでない場合に、要求元クライアント装置に時刻情報を前記クライアント通信ステップが送信するよう指示する送信指示ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻同期技術に関する。
【背景技術】
【０００２】
１つのシステム上に複数の論理的なシステムが構築され、論理的なシステムの各々には、複数のクライアント装置が含まれているケースを考える。
そして、本ケースでは、クライアント装置は、グループ（本番、評価、訓練等）に属しており、同じグループに属するクライアント装置によって論理システム（本番システム、評価システム、訓練システム等）が構成されるとする。
【０００３】
このようなケースにおいて、論理システム毎に異なる時刻でシステムを運用することがある。
例えば、本番システムは実時刻で運用され、評価システムは「実時刻−１２時間３０分」で運用される等である。
そして、各クライアント装置に時刻同期機構が備わっていない場合は、時刻を管理するサーバ装置（以下、時刻管理装置という）が、グループごとにクライアント装置に時刻情報を送信して、グループごとに時刻同期を制御する必要がある。
【０００４】
非特許文献１では、標準的な時刻同期方法であるＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）を利用した時刻同期方式が示されている。
ＮＴＰは、クライアント装置が時刻同期装置に時刻同期要求を出し、時刻同期装置は自分が保持している現在時刻をクライアント装置に時刻同期応答として返すものである。
ＮＴＰでは、時刻管理装置は、クライアント装置がどのようなグループに属しているかを管理していない。
このため、個々のクライアント装置は自分が属しているグループを認識し、時刻管理装置から受け取った現在時刻にグループごとのオフセット時間（グループごとの現在時刻との差分時間）を加え、クライアント装置自身の時刻としてセットする。
【０００５】
一方、特許文献１では、時刻管理装置は、クライアント装置ごとに、クライアント装置が属するグループを管理している。
更に、特許文献１では、時刻管理装置は、現在時刻とともにグループごとのオフセット時間をテーブルとして管理している。
このため、特許文献１では、時刻管理装置は、クライアント装置ごとにオフセットテーブルからオフセット時間を取り出し、現在時刻にオフセット時間を加算し、オフセット時間が加算された後の時刻が示される時刻情報をクライアント装置に送信する。
これにより、クライアント装置上での時刻加算処理を不要としている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−５４８１５号公報
【非特許文献】
【０００７】
【非特許文献１】ＲＦＣ１１２９  Ｉｎｔｅｒｎｅｔ  Ｔｉｍｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ：  ｔｈｅ  Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上のように、特許文献１の方式及び非特許文献１の方式では、グループ単位で時刻同期を行うことができる。
しかし、これらの方式では、グループに新たなクライアント装置が参入する場合の時刻同期手順が示されていない。
【０００９】
時刻管理装置とクライアント装置は、それぞれ水晶等のオシレータを用いて時刻を刻んでいるが、オシレータごとの個体差があるため、時間の経過とともに、時刻管理装置での時刻とクライアント装置での時刻に差異が生じる場合がある。
クライアント装置の新規参入があった時点で時刻管理装置と既存のクライアント装置との間で時刻差が生じている場合は、時刻管理装置から新規参入のクライアント装置のみに時刻情報を送信すると、新規参入のクライアント装置と既存のクライアント装置との間でも時刻差が生じることになる。
これを回避するために、新規参入があった時点で、時刻管理装置から新規参入のクライアント装置及び既存のクライアント装置のそれぞれに同時に時刻情報を送信することが考えられる。
しかし、既存のクライアント装置の間では既に運用中の時刻体系に従って処理が進行しているため、新規参入のあった時点で既存のクライアント装置にも時刻情報を送信すると進行中の処理に支障がでることになる。
【００１０】
本発明は、これらの点に鑑み、グループに新たなクライアント装置が参加する場合に、新規参入のクライアント装置を含む全てのクライアント装置の間で円滑に時刻同期を行うことを主な目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る情報処理装置は、
各々がいずれかのグループに属する複数のクライアント装置から時刻同期要求を受信し、受信した時刻同期要求に対する応答として、現在時刻を通知する時刻情報を送信するクライアント通信部と、
いずれかのクライアント装置がいずれかのグループに新規に参入した場合に、新規参入があった新規参入グループが示される新規参入グループ情報と、新規参入したクライアント装置を含む新規参入グループに属するクライアント装置の数が示されるクライアント数情報とを生成するグループ管理部と、
前記クライアント通信部が時刻同期要求を受信する度に、時刻同期要求の送信元である要求元クライアント装置が属するグループが新規参入グループであるか否かを前記新規参入グループ情報を用いて判定し、要求元クライアント装置が属するグループが新規参入グループである場合に、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信しているか否かを前記クライアント数情報を用いて判定し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信していない間は前記クライアント通信部による当該新規参入グループに属するクライアント装置への時刻情報の送信を保留し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信した際に、前記クライアント通信部に、当該新規参入グループに属する全てのクライアント装置に時刻情報を送信するよう指示し、要求元クライアント装置が属するグループが新規参入グループでない場合に、前記クライアント通信部に、要求元クライアント装置に時刻情報を送信するよう指示する送信指示部とを有することを特徴とする。
【発明の効果】
【００１２】
本発明では、新規参入グループに以前から所属している既存のクライアント装置の全てが処理を終了して時刻同期が可能になるまで時刻同期を待ち、全てのクライアント装置で時刻同期が可能になった段階で、全てのクライアント装置に対して一斉に時刻同期を行う。
このため、クライアント装置の新規参入があった時点で既存のクライアント装置の間で既に運用中の時刻体系に従って処理が進行していても、進行中の処理に支障がでることなく、全てのクライアント装置の間で円滑に時刻同期を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１のシステム構成例を示す図である。
【図２】実施の形態１の複数時刻管理装置の構成例を示す図。
【図３】実施の形態１のグループ管理テーブルの例を示す図。
【図４】実施の形態１のオフセットテーブルの例を示す図。
【図５】実施の形態１のグループ遷移テーブルの例を示す図。
【図６】実施の形態１の構成制御部の動作例を示すフローチャート図。
【図７】実施の形態１の上位装置通信部の動作例を示すフローチャート図。
【図８】実施の形態１の複数時刻管理装置（構成制御部、上位装置通信部を除く）の動作例を示すフローチャート図。
【図９】実施の形態２のグループ情報テーブルの例を示す図。
【図１０】実施の形態２の複数時刻管理装置の構成例を示す図。
【図１１】実施の形態２の構成制御部の動作例を示すフローチャート図。
【図１２】実施の形態３のグループ情報テーブルの例を示す図。
【図１３】実施の形態４のグループ情報テーブルの例を示す図。
【図１４】実施の形態４の複数時刻管理装置（構成制御部、上位装置通信部を除く）の動作例を示すフローチャート図。
【図１５】実施の形態１〜４の複数時刻管理装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、本実施の形態に係るシステム構成例を示す。
【００１５】
図１において、複数時刻管理装置１０は、複数のクライアント装置１１Ａ〜１１Ｎに接続され、現在時刻を通知する時刻情報を各クライアント装置１１に送信する。
時刻情報の送信はクライアント装置１１の主導で行われ、クライアント装置１１からの時刻同期要求を受信した場合のみ複数時刻管理装置１０からクライアント装置１１に対して時刻情報を送信する。
複数時刻管理装置１０は、情報処理装置の例に相当する。
【００１６】
各クライアント装置１１は、複数のグループのうちのいずれかのグループに属する。
前述したように、各クライアント装置１１が本番システム、評価システム、訓練システム等のいずれかの論理システムで動作している場合は、各クライアント装置１１は、本番グループ、評価グループ、訓練グループ等に属する。
また、各クライアント装置１１は、自身がどのようなグループ（本番、評価、訓練）に属しているかの情報をもたず、また、独自の時刻同期機構を持たない。
なお、クライアント装置１１Ａ〜１１Ｎを区別する必要がない場合は、まとめてクライアント装置１１と表記する。
また、単にクライアントとも表記する。
【００１７】
上位装置１２は、複数時刻管理装置１０に現在時刻を通知する。
上位装置１２内の時刻管理部１２１は現在時刻を管理する。
【００１８】
外部システム１３は、各クライアント装置１１のグループへの参入状況又はグループからの離脱状況を管理する。
【００１９】
図２は、本実施の形態に係る複数時刻管理装置１０の内部構成例を示す。
【００２０】
クライアント通信部１００は、クライアント装置１１Ａ〜１１Ｎから時刻同期要求を受信し、受信した時刻同期要求に対する応答として、現在時刻を通知する時刻情報を送信する。
【００２１】
クライアント識別部１０１は、クライアント通信部１００により受信された時刻同期要求の中からクライアント装置１１Ａ〜１１ＮのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス情報を取り出し、現在クライアント装置１１が属しているグループを識別する。
なお、クライアント識別部１０１は、後述のグループ遷移識別部１０３とともに、送信指示部の例に相当する。
【００２２】
オフセット算出部１０２は、グループごとに、現在時刻からどれだけずれた時間にする必要があるかを示すオフセット時間をオフセットテーブル１０２１から取り出す。
オフセットテーブル１０２１は、オフセットテーブル記憶部１０２０において記憶されている。
【００２３】
グループ遷移識別部１０３は、クライアント通信部１００により受信された時刻同期要求の送信元のクライアント装置（以下、要求元クライアント装置ともいう）が属するグループ（クライアント識別部１０１により識別されたグループ）が新規参入グループであるか否かをグループ遷移テーブル１０３１を用いて判定する。
新規参入グループとは、クライアント装置１１の新規参入があったグループである。
グループ遷移テーブル１０３１には、新規参入グループが示される。
なお、グループ遷移テーブル１０３１は、グループ遷移テーブル記憶部１０３０において記憶されている。
グループ遷移識別部１０３は、前述のクライアント識別部１０１とともに、送信指示部の例に相当する。
【００２４】
なお、グループ遷移識別部１０３により要求元クライアント装置が属するグループが新規参入グループであると判定された場合は、クライアント識別部１０１が、当該新規参入グループに属する全てのクライアント装置１１から時刻同期要求を受信しているか否かをグループ管理テーブル１０１１を用いて判定し、当該新規参入グループに属する全てのクライアント装置１１から時刻同期要求を受信していない間は当該新規参入グループに属するクライアント装置１１への時刻情報の送信を保留する。
そして、クライアント識別部１０１は、当該新規参入グループに属する全てのクライアント装置１１から時刻同期要求を受信した際に、クライアント通信部１００に、当該新規参入グループに属する全てのクライアント装置１１に時刻情報を送信するよう指示する。
【００２５】
時刻管理部１０４は、クライアント通信部１１０からの時刻同期要求を受け、現在時刻を返す。
【００２６】
上位装置通信部１０５は、上位装置１２の時刻管理部１２１に対して時刻同期要求を出し、応答を受け取る。
【００２７】
構成制御部１０６は、外部システム１３からクライアント装置１１のグループへの参入情報を受け取り、グループ管理テーブル１０１１およびグループ遷移テーブル１０３１を更新する。
構成制御部１０６は、外部システム１３から参入情報を入力した場合、つまり、いずれかのクライアント装置１１がいずれかのグループに新規に参入した場合に、グループ管理テーブル１０１１およびグループ遷移テーブル１０３１を更新する。
なお、後述するように、グループ遷移テーブル１０３１は新規参入グループ情報の例に相当し、グループ管理テーブル１０１１にはクライアント数情報が含まれる。
構成制御部１０６は、グループ管理部の例に相当する。
【００２８】
図３は、本実施の形態に係るグループ管理テーブル１０１１の例を示す。
グループ管理テーブル１０１１は、グループ名とアドレスと要求受付カウンタを持つ。
グループ名は、各グループに属するクライアント装置１１Ａ〜Ｎを代表する名前であり、前述の本番グループ、評価グループ、訓練グループ等である。
アドレスは、各グループに属するクライアント装置１１のＩＰアドレスである。
要求受付カウンタは、カウントダウン前は各グループに属するクライアント装置の台数を示す。
要求受付カウンタは、クライアント数情報に相当する。
【００２９】
図４は、本実施の形態に係るオフセットテーブル１０２１の例を示す。
オフセットテーブル１０２１は、グループ名とオフセット時間を持つ。
グループ名は、各グループに属するクライアント装置１１Ａ〜Ｎを代表する名前であり、グループ管理テーブル１０１１のグループ名と同じである。
オフセット時間は、各グループのクライアント装置１１に設定されるべき現在時刻からのずれの時間である。
【００３０】
図５は、本実施の形態に係るグループ遷移テーブル１０３１の例を示す。
グループ遷移テーブル１０３１は、グループ名を持つ。
グループ名は、各グループに属するクライアント装置１１Ａ〜Ｎを代表する名前であり、グループ管理テーブル１０１１のグループ名と同じである。
但し、グループ遷移テーブル１０３１に示されるグループ名は、クライアント装置１１の新規参入があったグループ（新規参入グループ）のグループ名だけである。
クライアント装置１１が離脱したグループは、グループ遷移テーブル１０３１に記載されない。
このように、グループ遷移テーブル１０３１は、新規参入グループを示す情報であり、新規参入グループ情報の例に相当する。
【００３１】
次に、本実施の形態に係る複数時刻管理装置１０の動作例について説明する。
【００３２】
図６は、構成制御部１０６の動作例を示すフローチャートである。
【００３３】
構成制御部１０６は、外部システム１３から各グループに参入および離脱するクライアント装置１１のアドレスリストを受け取る（Ｓ１００）。
次に、新たに参入したクライアント装置１１があるグループについて、構成制御部１０６はグループ遷移テーブル１０３１に追加する（Ｓ１０１）。
次に、構成制御部１０６は、各グループに参入および離脱するクライアント装置１１のアドレスリストを元に、グループ管理テーブル１０１１を更新する（Ｓ１０２）。
つまり、構成制御部１０６は、グループごとに、クライアント装置１１の新規参入数、離脱数を反映させて、グループ管理テーブル１０１１の要求受付カウンタを更新する。
また、クライアント装置１１の新規参入があった場合には、新規参入のあったクライアント装置１１のアドレスをグループ管理テーブル１０１１のアドレス欄に追加し、クライアント装置１１の離脱があった場合には、離脱したクライアント装置１１のアドレスをグループ管理テーブル１０１１のアドレス欄から削除する。
【００３４】
図７は、複数時刻管理装置１０内の上位装置通信部１０５の動作例を示すフローチャートである。
【００３５】
上位装置通信部１０５は、一定周期で上位装置１２の時刻管理部１２１に対して時刻同期要求を出す（Ｓ２００、Ｓ２０１）。
次に、上位装置１２の時刻管理部１２１から応答（現在時刻）を受け取った場合（Ｓ２０２でＹＥＳ）に、上位装置通信部１０５は、複数時刻管理装置１０内の時刻管理部１０４に対して現在時刻をセットする（Ｓ２０３）。
【００３６】
図８は、上位装置通信部１０５および構成制御部１０６を除いた複数時刻管理装置１０の構成要素の動作例を示すフローチャートである。
【００３７】
クライアント通信部１００は、クライアント装置１１Ａ〜１１Ｎからの時刻同期要求を常時待っており、クライアント装置１１からの時刻同期要求を受信した場合（Ｓ３００でＹＥＳ）、受信した時刻同期要求をクライアント識別部１０１に渡す。
次に、クライアント識別部１０１は、時刻同期要求から送信元のクライアント装置１１（要求元クライアント装置）のアドレスを抽出し、グループ管理テーブル１０１１からそのクライアント装置１１が属しているグループを得る（Ｓ３０１）。
次に、グループ遷移識別部１０３は、クライアント識別部１０１が得たグループが、クライアント装置１１が新規に参入したグループ（新規参入グループ）かどうかをグループ遷移テーブル１０３１から判断する（Ｓ３０２）。
新規に参入したグループである場合（Ｓ３０２でＹＥＳ）、クライアント識別部１０１はグループ管理テーブル１０１１の当該グループ行の要求受付カウンタを−１する（Ｓ３０３）。
ここで当該グループの要求受付カウンタが「０」でない場合（Ｓ３０４でＮＯ）、クライアント通信部１００はクライアント時刻同期要求を保留し（Ｓ３３１）、終了する。
つまり、要求受付カウンタが「０」でない場合は、クライアント識別部１０１は、クライアント通信部１００に対して時刻情報の送信を指示しないため、クライアント通信部１００は時刻情報の送信を保留する。
【００３８】
一方、当該グループの要求受付カウンタが「０」の場合（Ｓ３０４でＹＥＳ）、クライアント識別部１０１は要求受付カウンタをそのグループに属するクライアント数にセットする（Ｓ３０５）。
なお、このとき、クライアント識別部１０１は、グループ遷移識別部１０３に対してグループ遷移テーブル１０３１から当該グループのエントリを削除するよう指示する。
また、クライアント識別部１０１は、オフセット算出部１０２に対してオフセット時間を取得するよう指示し、また、クライアント通信部１００に対して現在時刻を取得して新規参入グループに属する全てのクライアント装置１１に時刻情報を送信するよう指示する。
【００３９】
次に、グループ遷移識別部１０３は、グループ遷移テーブル１０３１から当該グループのエントリを削除する（Ｓ３０６）。
次に、オフセット算出部１０２は、当該グループのオフセット時間をオフセットテーブル１０２１から取得する（Ｓ３０７）。
次に、クライアント通信部１００は、時刻管理部１０４から現在時刻を取得する（Ｓ３０８）。
次に、クライアント通信部１００は、今回のクライアント装置１１からの時刻同期要求に加え、当該グループでこれまで保留してきた全てのクライアント装置１１の時刻同期要求に対して、現在時刻＋オフセット時間を応答する（現在時刻＋オフセット時間を通知する時刻情報を送信する）（Ｓ３０９）。
なお、クライアント通信部１００は、グループ管理テーブル１０１１のアドレス欄に示されるアドレスを用いて、新規参入グループに属する全てのクライアント装置１１に現在時刻＋オフセット時間を送信する。
【００４０】
一方、Ｓ３０２の判断において、時刻同期要求の要求元のクライアント装置１１が属するグループが新規に参入したグループでない場合（Ｓ３０２でＮＯ）、クライアント識別部１０１がオフセット算出部１０２に対してオフセット時間を取得するよう指示し、オフセット算出部１０２は当該グループのオフセット時間をオフセットテーブル１０２１から取得する（Ｓ３２０）。
次に、クライアント識別部１０１がクライアント通信部１００に対して現在時刻を取得してクライアント装置１１に時刻情報を送信するよう指示し、クライアント通信部１００は、時刻管理部１０４から現在時刻を取得する（Ｓ３２１）。
次に、クライアント通信部１００は、時刻同期要求を出したクライアント装置１１に対して、現在時刻＋オフセット時間を応答する（Ｓ３２２）。
【００４１】
このように本実施の形態では、時刻同期要求の送信元である要求元クライアント装置が属するグループが新規参入グループである場合に、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信していない間は当該新規参入グループに属するクライアント装置への時刻情報の送信を保留し、当該新規参入グループに属する全てのクライアント装置から時刻同期要求を受信した際に、当該新規参入グループに属する全てのクライアント装置に時刻情報を送信する。
【００４２】
つまり、本実施の形態では、新規参入グループに以前から所属している既存のクライアント装置の全てが処理を終了して時刻同期が可能になるまで時刻同期を待ち、全てのクライアント装置で時刻同期が可能になった段階で、全てのクライアント装置に対して一斉に時刻同期を行う。
このため、クライアント装置の新規参入があった時点で既存のクライアント装置の間で既に運用中の時刻体系に従って処理が進行していても、進行中の処理に支障がでることなく、全てのクライアント装置の間で円滑に時刻同期を行うことができる。
【００４３】
なお、本実施の形態では、複数時刻管理装置１０から現在時刻＋オフセット時間を通知する例を説明した。
これに代えて、現在時刻とオフセット時間とを区別して通知するようにしてもよい。
また、各クライアント装置において対応するオフセット時間を記憶しておき、複数時刻管理装置１０からは現在時刻のみを通知するようにしてもよい。
更に、複数時刻管理装置１０と各クライアント装置１１との間の伝送遅延量を考慮して現在時刻を補正してもよい。
【００４４】
また、本実施の形態では、図７に示すように、複数時刻管理装置１０が定期的に上位装置１２から現在時刻の通知を受ける例を説明したが、複数時刻管理装置１０が単体で長期にわたって現在時刻を高精度に管理できる場合は、図７に示す処理を省略してもよい。
【００４５】
以上、本実施の形態では、
複数時刻を一元的に管理する複数時刻管理装置と、複数時刻管理装置に接続された上位装置と、時刻を利用するクライアント装置から構成されるシステムにおいて、クライアント装置にはグループ（本番、評価１、評価２、訓練、等）があり、同一グループのクライアント装置で論理システム（本番システム、評価１システム、評価２システム、訓練システム等）を構成し、それぞれの論理システムは異なる時刻を持つ（例えば、本番論理システムは実時間と同じ時刻、評価論理システムは前日の時刻等）ことを説明した。
【００４６】
そして、本実施の形態では、
複数時刻管理装置は、上位装置から現在時刻を受け取る上位装置通信部と、上位装置から受け取った時刻を保持する時刻管理部、クライアント装置からの時刻同期要求を時刻管理部に転送するとともに、時刻管理部からの応答をクライアント識別部に転送するクライアント通信部、クライアント装置が、あるグループから別のグループに移ったこと等を外部の管理装置から受け取り、グループ遷移テーブルとグループ管理テーブルに格納する構成制御部、グループ遷移テーブルを用いて、時刻同期要求が、クライアント装置が新規に参入したグループからの時刻同期要求かそれ以外かを判断するグループ遷移識別部、時刻同期要求に含まれるクライアント情報からクライアント装置のグループを調べ、オフセット算出部に渡すとともに、時刻同期要求が、クライアント装置が新規に参入したグループからの場合はグループ管理テーブルの要求受け付けカウンタを−１するクライアント識別部、クライアント識別部から受け取った情報を元に下位装置に返す時刻のオフセット値をオフセットテーブルから算出するオフセット算出部から構成されることを説明した。
【００４７】
また、本実施の形態では、
前記複数時刻管理装置において、クライアント通信部はクライアント装置からの時刻同期要求に従って時刻管理部に現在時刻を問合せる前に、時刻同期要求が、クライアント装置が新規に参入したグループからの場合はグループ管理テーブルの要求受け付けカウンタを確認し、０でない場合は時刻同期要求に対する処理を保留し、０の場合は、時刻管理部の現在時刻を問合せ、該当グループのオフセットを現在時刻に加算し、グループ内の全てのクライアント装置に応答を返すことを説明した。
【００４８】
また、本実施の形態では、
前記複数時刻管理装置において、クライアント通信部はクライアント装置からの時刻同期要求に従って時刻管理部に現在時刻を問合せる前に、時刻同期要求が、クライアント装置が新規に参入したグループからではない場合は、時刻管理部の現在時刻を問合せ、該当グループのオフセットを現在時刻に加算し、時刻同期要求を出したクライアント装置にのみ応答を返すことを説明した。
【００４９】
実施の形態２．
実施の形態１では、グループ管理テーブル１０１１、オフセットテーブル１０２１、およびグループ遷移テーブル１０３１を個別のテーブルとしたが、１つのテーブルとしてもよい。
【００５０】
図９に、グループ管理テーブル１０１１、オフセットテーブル１０２１、グループ遷移テーブル１０３１を組み合わせたグループ情報テーブル１０４１を示す。
グループ情報テーブル１０４１において、オフセット時間は、図４のオフセットテーブル１０２１に示されるオフセット時間と同じである。
また、遷移フラグは、図５のグループ遷移テーブル１０３１と同等の役割を果たしており、「○」が書き込まれたグループは新規参入があったグループであることを示している。
なお、本実施の形態では、グループ情報テーブル１０４１の遷移フラグが新規参入グループ情報の例に相当する。
【００５１】
図１０は、実施の形態２に係る複数時刻管理装置１０の構成例を示す。
図１０の例では、グループ情報テーブル記憶部１０４０においてグループ情報テーブル１０４１のみが記憶されており、図２に示したグループ管理テーブル記憶部１０１０、グループ管理テーブル１０１１、オフセットテーブル記憶部１０２０、オフセットテーブル１０２１、グループ遷移テーブル記憶部１０３０、グループ遷移テーブル１０３１は存在しない。
【００５２】
次に、本実施の形態に係る複数時刻管理装置１０の動作例について説明する。
【００５３】
図１１は、構成制御部１０６の動作例を示すフローチャートである。
【００５４】
構成制御部１０６は、外部システム１３から各グループに参入および離脱するクライアント装置１１のアドレスリストを受け取る（Ｓ４００）。
次に、構成制御部１０６は、新たに参入したクライアント装置１１があるグループについて、グループ情報テーブル１０４１の該当グループのグループ遷移フラグをセットする（Ｓ４０１）。
次に、構成制御部１０６は、各グループに参入および離脱するクライアント装置１１のアドレスリストを元に、グループ情報テーブル１０４１を更新する（Ｓ４０２）。
【００５５】
なお、複数時刻管理装置１０内の上位装置通信部１０５の動作については実施の形態１と同様（図７）である。
また、上位装置通信部１０５および構成制御部１０６を除いた複数時刻管理装置１０の動作についても実施の形態１と同様（図８）である。
【００５６】
実施の形態３．
実施の形態１および実施の形態２では、グループ管理テーブル１０１１、グループ情報テーブル１０４１のアドレス部分に個々のクライアント装置１１のアドレスを指定したが、複数のクライアント装置１１を代表（包含）するようなアドレスを指定してもよい。
例えば、アドレス部分にＩＰアドレスを使用した場合は、ネットワークアドレスを指定してもよい。
図１２はＩＰアドレスとネットワークアドレスが混在した場合のグループ情報テーブル１０４１の例を示している。
【００５７】
実施の形態４．
実施の形態１および実施の形態２では、複数時刻管理装置１０はクライアント装置１１の時刻同期要求に対して時刻同期応答を返していたが、時刻情報だけでなくクライアント装置１１が必要とするパラメータ情報を返してもよい。
【００５８】
図１３は、グループごとのパラメータ情報を付加した、グループ情報テーブル１０４１の例を示す。
【００５９】
図１４は、上位装置通信部１０５および構成制御部１０６を除いた複数時刻管理装置１０の動作例を示すフローチャートである。
【００６０】
基本的な動作については実施の形態１と同じであるが、本実施の形態では、クライアント通信部１００はクライアント装置１１に対して、現在時刻＋オフセット時間に加えて、パラメータ情報を送信する（Ｓ５０９、Ｓ５２２）点が異なる。
【００６１】
以上、本実施の形態では、
複数時刻管理装置は、時刻だけではなく、クライアント装置に必要なパラメータも同様に応答することを説明した。
【００６２】
最後に、実施の形態１〜４に示した複数時刻管理装置１０のハードウェア構成例について説明する。
図１５は、実施の形態１〜４に示す複数時刻管理装置１０のハードウェア資源の一例を示す図である。
なお、図１５の構成は、あくまでも複数時刻管理装置１０のハードウェア構成の一例を示すものであり、複数時刻管理装置１０のハードウェア構成は図１５に記載の構成に限らず、他の構成であってもよい。
【００６３】
図１５において、複数時刻管理装置１０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１〜４で説明した「〜記憶部」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００６４】
通信ボード９１５は、ネットワークに接続されている。
例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されている。
【００６５】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００６６】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００６７】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
複数時刻管理装置１０の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００６８】
上記プログラム群９２３には、実施の形態１〜４の説明において「〜部」（「〜記憶部」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００６９】
ファイル群９２４には、実施の形態１〜４の説明において、「〜の判断」、「〜の判定」、「〜の識別」、「〜の比較」、「〜の生成」、「〜の更新」、「〜の設定」、「〜の指示」、「〜の選択」、「〜の取得」、「〜の入力」、「〜の出力」「〜の受信」、「〜の送信」等として説明している処理の結果を示す情報やデータや信号値や変数値や暗号鍵・復号鍵や乱数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜４で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００７０】
また、実施の形態１〜４の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１〜４で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「情報処理方法」を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、実施の形態１〜４の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜４の「〜部」の手順や方法をコンピュータに実行させるものである。
【００７１】
このように、実施の形態１〜４に示す複数時刻管理装置１０は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００７２】
１０  複数時刻管理装置、１１  クライアント装置、１２  上位装置、１３  外部システム、１００  クライアント通信部、１０１  クライアント識別部、１０２  オフセット算出部、１０３  グループ遷移識別部、１０４  時刻管理部、１０５  上位装置通信部、１０６  構成制御部、１２１  時刻管理部、１０１０  グループ管理テーブル記憶部、１０１１  グループ管理テーブル、１０２０  オフセットテーブル記憶部、１０２１  オフセットテーブル、１０３０  グループ遷移テーブル記憶部、１０３１  グループ遷移テーブル、１０４０  グループ情報テーブル記憶部、１０４１  グループ情報テーブル。
【図１】
0005858753.tif 000002
【図２】
0005858753.tif 000003
【図３】
0005858753.tif 000004
【図４】
0005858753.tif 000005
【図５】
0005858753.tif 000006
【図６】
0005858753.tif 000007
【図７】
0005858753.tif 000008
【図８】
0005858753.tif 000009
【図９】
0005858753.tif 000010
【図１０】
0005858753.tif 000011
【図１１】
0005858753.tif 000012
【図１２】
0005858753.tif 000013
【図１３】
0005858753.tif 000014
【図１４】
0005858753.tif 000015
【図１５】
0005858753.tif 000016