ニュース

「うるう秒」まであと2カ月――7月1日午前の「8時59分60秒」挿入に備えて確認を

 2カ月後の2015年7月1日に「うるう秒」が実施される。日本時間の同日午前8時59分59秒と午前9時00分00秒の間に「8時59分60秒」が挿入され、この日は通常よりも1秒だけ長い一日となる。

 うるう秒は、地球の運行(自転・公転)を観測した結果に基づく時系「天文時」と、原子時計に基づく時系「原子時」とのずれを0.9秒以内に収めるために行われるもの。うるう秒による調整を行った後の時刻が「協定世界時(UTC)」と呼ばれるもので、現在、世界の標準時として一般に使われている時刻となる。

 うるう秒による調整が必要になると、国際機関のIERS(International Earth Rotation and Reference Systems Service)が実施の決定を行い、UTCの6月30日または12月31日の最後の1分間で、1秒を追加または削除することで調整することになる。

 ただし、うるう秒による調整は1972年以降、数年に1回程度のペースで実施されており、今回が26回目となるが、いずれも1秒追加するもので、1秒削除による調整はまだ行われたことがない。

 今回は、UTCの6月30日23時59分60秒を追加することで調整するため、9時間の時差がある日本では7月1日の午前8時59分60秒になる。うるう秒は前回、2012年7月1日に実施されており、3年ぶりの実施だ。また、平日に実施されるのは、5回前の1997年7月1日以来となる。

「うるう秒」実施日一覧(総務省/情報通信研究機構の2015年1月16日付プレスリリースより)

 なお、天文時と原子時の関係や、UTCと日本標準時(JST)の生成のされ方などの詳細については、前回2012年のうるう秒の際に独立行政法人情報通信研究機構(NICT)が行った説明会のレポート記事(本誌2012年5月11日付記事『7月1日のうるう秒「午前8時59分60秒」を実感するには〜将来は廃止の可能性も』を参照)。

Windowsは「うるう秒」スルー、Googleのサーバー群は「うるう秒」を知らずに過ごす?

 NTP(Network Time Protocol)サービスでは、うるう秒実施の24時間前より予告情報が含まれる。具体的には、NTPパケット中のLI(Leap Indicator)ビットが「01」(59分60秒を追加して1秒増やす場合)または「10」(59分59秒を飛ばして1秒減らす場合)となり、うるう秒の実施後に「00」に解除される。

 これをどのように処理するかは、受信側のシステムにより異なる。NTPで時刻同期を行っているシステムであっても、Windows OSはうるう秒を反映する仕様にはなっておらず、8時59分59秒の次はいつも通り9時00分00秒に移行する。すなわち、OSのシステムクロックは1秒進んだ状態となり、次に時刻同期が行われるまで1秒ずれた状態が続く。

 なお、7月1日時点ではまだ正式リリースされていないと思われるが、Windows 10におけるうるう秒サポートの有無について、日本マイクロソフト株式会社によると、同OSがまだ開発中であるため情報がなく、最終製品がどうなるか不明だという。

 一方、Linuxではうるう秒をサポートしているが、前回2012年の実施時には、当時のLinuxカーネルの一部のバージョンにあったバグにより、LIビットの処理や一部アプリケーションとの組み合わせにより不具合が発生したことが判明した。このあたりの情報は、実際にトラブルを経験したさくらインターネット株式会社が同社お知らせページにて報告している。その時のLinuxのバグ自体はすでに修正されたようだが、他のOSも含め、サーバー運用者は今回のうるう秒をひかえ、OSやデータベースなど各種アプリケーションの情報収集や対応状況の確認をあらためて行っておく必要がありそうだ。

 このほか、標準電波やGPSなどでのうるう秒対応の概要については、JSTを管理しているNICTのウェブサイトで情報をとりまとめている。

 また、世界規模でサーバー群を運用するGoogleでは、うるう秒への対処について「leap smear」という方法を同社公式ブログで紹介している。サーバー群に時刻情報を供給するGoogleのインターナルNTPサーバーでは、うるう秒の実施日にLIビットに「01」をセットすることは行わず、うるう秒が近づくと1秒の間隔を数ミリ秒ずつ長していく改造パッチを適用。その総計として、実際にうるう秒が完了するタイミングまでに1秒をかせいでいるという仕組みだ。いわばNTPサーバーが少しばかり“虚偽”の時刻情報を供給することで、これに同期するサーバー側では、特にうるう秒への対処を行うことなく、うるう秒など存在していないのと同じ状態で時間が進むというわけだ。

 ただし、このブログ記事は今から4年近く前の2011年9月15日付で書かれたものだ。その中でGoogleは、将来うるう秒が実施されることが決まった際はこの方法を再び使用する予定だとしていたが、その後、2012年に実施されたうるう秒で実際に使われたのか、また、今回のうるう秒でもこの方法で対処するのか、同社から回答は得られなかった。うるう秒について現段階で同社が公表できる情報は、このブログ記事のみだとしている。

 このleap smearと同様の仕組みによって、うるう秒の直前の100秒間をそれぞれ10ミリ秒ずつ長くすることで帳尻を合わせるシステムもあるということは、前回のうるう秒の際にNICTが実施した説明会で報告されていた。

NICTのウェブサイトにある「日本標準時」のページ

 ちなみに、うるう秒をサポートしていないOSのマシンでうるう秒を実感するには、JSTが表示されているNICTのウェブサイトを閲覧するという方法がある。うるう秒が反映された「8:59:60」という表示を目撃できるはずだ(ただし、回線状況によっては1秒以上の誤差が生じたり、つながりにくくなることがあるため、そのタイミングを目撃できない可能性もある)。このほか、電話などの時報によって実感する方法もある(本誌2012年6月29日付記事『7月1日は「うるう秒」実施、「午前8時59分60秒」を挿入して1秒長い1日に』を参照)。

(永沢 茂)