ICTシステムの時刻は、うるう秒の補正やサマータイム/道州制の導入議論のたびに話題になる。ICTシステム内の時間の流れを司るタイマーについて、アーキテクトが設計上で留意すべきポイントは多い。時刻の話と時間間隔の話に分けて整理してみよう。

時刻戻しは御法度

 まず時刻の話からだが、そもそもICTシステムで扱う時刻には2種類ある。世界の標準時間と国や地域の標準時間だ。世界時間は以前はGMT(グリニッジ標準時)がよく使われたが今はUTC(協定世界時)を使う。ローカルタイムは日本ではJST(日本標準時)を使うことが一般的だ。ビジネスがグローバル化する中で時差をどう扱うかが業務上の課題になる。加えて、24時間稼働のシステムが増加する中でうるう秒の補正やサマータイムの切り替えのタイミングも考慮すべき問題だ。

 なぜか。安易にコンピュータの世界で時刻を戻すと、時刻順でトランザクションを処理している場合は結果が誤ってしまうからだ。さらにトラブル対応や監査証跡の拠り所にするためにも、ログやイベントの時刻情報も同様に重要になってきている。大前提として時刻を戻すのはご法度と心得よう。グローバルで使うシステムの場合、システム時刻はUTCとし、端末表示をローカルタイムに合わせることで、サマータイムなどにも対応できる。

 その前段として時刻がICTシステムでバラバラだと話にならない。特にオープン系トランザクションは、複数のサーバーやネットワーク機器を経由するため、時刻同期をとらないと履歴の前後関係がわからなくなる。時刻同期の起点には、電波時計を使うこともあるが、NTP(Network Time Protocol)のほうが一般的だ。NTPを使う場合、まず企業ネットワーク外の複数のNTPサーバーから、企業内のNTPクライアントが時刻を取得する。次にこのNTPクライアントを企業内ネットワークではNTPサーバーとして機能させる。