帰ってきた「しっぽのさきっちょ」

しっぽのさきっちょ: 2015-11-22 付

うるう秒は当分存続らしい

no extension

某新聞で記事を見かけたが,このブログでは基本的に日本の新聞記事にリンクは張らない方針なので Facebook に愚痴だけ書いて済ませていたが, INTERNET Watch で詳しい記事を見つけたので,これをベースにグダグダ書いてみる。

うるう秒をどうするかという議論は今に始まった議論ではない。

うるう秒を巡っては、その存廃が1999年から15年以上に渡って議論されている。特に近年は、時刻調整を必要とするPCなどの機器が急増。その調整作業が膨大になってきていること、うるう秒によるシステムトラブルが現実に発生していることなどを理由に、廃止を求める意見が日本をはじめとした各国から挙がっているという。
via 「うるう秒」18年ぶりの平日実施──7月1日午前に「8時59分60秒」挿入 -INTERNET Watch

最近の議論では

2015年3~4月の会合の段階では、4つの案が検討されているという。A案は「UTCへのうるう秒調整を廃止し、新たな連続時系を導入する」、B案が「現行UTCの定義を維持しつつ、新たに(うるう秒調整を廃止した)連続時系を導入し、2つの時系列を共存させる」、C案が「現行UTCの定義を変更しない」、D案は「研究の結論が出ていないため、現行UTCの定義を変更しない」となっている。
このうちA案を支持しているのが米国、フランス、オーストラリア、韓国、中国、日本。B案は英国、C案はロシア、D案はアラブ6カ国が支持する。タイおよびドイツの動向は不明。
via 「うるう秒」18年ぶりの平日実施──7月1日午前に「8時59分60秒」挿入 -INTERNET Watch

という状況だったそうだ。

うるう秒に関する障害については以前にまとめた。

うるう秒に関する障害には大きく2つある。

  1. NTP の Leap Indicator による時刻の巻き戻し(うるう秒を挿入する場合)
  2. タイムスタンプの問題

このうちひとつめの方は NTP を SLEW モードにすればよい。 SLEW モードなら時刻を巻き戻すことなく,また Leap Indicator をセットしないので他のサービスを巻き添えにすることもない(サービスが独自の時刻処理を持っている場合は別)。

問題はタイムスタンプのほう。 うるう秒で時刻調整している間は機器間で時刻同期できないし,うるう秒を挿入する場合(過去のうるう秒は全てこれ)は「2015年6月30日 23:59:60 UTC」といったタイムスタンプを処理できない場合がある。 タイムスタンプは,特に電子署名においては中核技術のひとつであるため(「否認防止(non-repudiation)」には正しい時刻が必要),処理できない場合があるとなると影響が大きい。 ただし,実際にはうるう秒が挿入される前後で時刻および関連するサービスへのアクセスを停止することで問題を回避できている。 可用性(availability)への影響は最小限に抑えられるわけだ。

UTC は原子時系の一種だが,恒星時系の一種である UT1 と連動している。 UTC が UT と連動しなくなれば日常の暦象に大きく影響する。 「100年に1分程度」ではなく「100年に1分も」ギャップがあっては困るのである。

そもそもコンピュータの時刻系を UTC にするからこのようなことが起こるのであって,1秒の進み遅れが問題になるなら UTC を使ってはいけない。 それならむしろ TAI(国際原子時)と同期させるべきだ。 たとえば GPS は $\mathrm{TAI} - 19\,\mathrm{sec}$ で運用されている。 もちろんうるう秒はない2

UTC は人の日常生活に寄せた時刻系であってコンピュータ向きではない。 だからといって UTC のほうを弄るのは全く筋の悪いやりかたで,(恐らく政治的な思惑もあるのだろうが)なんでこんなに議論が紛糾するのかわからない。

最後に Linux 開発者の発言を紹介しておこう。

トーヴァルズは、最大の間違いは(時間を1970年1月1日0時0分0秒からの経過秒数で形式的に表示する)POSIX標準において1日を86,400秒と定義しておきながら、(うるう秒による調整が必要な)UTCをコンピューターに採用するという自己矛盾をおかしたことだったと指摘する。
via Linux開発者リーナス・トーヴァルズ、来る「うるう秒」を語る « WIRED.jp

ちなみに実際の UNIX Time は UTC のある時刻から1970年初の時刻を単に差し引いただけのもので,うるう秒を考慮していない。

トーヴァルズ:ほとんどの場合、機械でさえも原子時のことは気にしていませんよ。大半は、人間が時間を気にしているから機械もそうしているんです。例えば、機械がローンの支払のトラッキングを行っている、というのがそうですね。だから実際は、その2つを分けることはできないんです。人々に「時間と太陽の相関性や、日付と季節の相関性など気にしないように」と言わなくてはいけなくなります。それは現実的でないですよね。
原子時を本当に気にかけているのは、宇宙関連の作業をしているコンピューターや開発者たちでしょう。それ以外の人々は(コンピューターも)POSIX時間を採用し、「そんなの知るか」と言っておけばいいんです。タイムキーピングの倒錯性によって、少数の不運な人々はバグが起きるのを心配するでしょうが。残りのわたしたちはこのうるう秒を、親しい友人たちとちょっとナンセンスなパーティーでも開くための口実にでもすればいいんですよ。
via Linux開発者リーナス・トーヴァルズ、来る「うるう秒」を語る « WIRED.jp

  1. UT は太陽時の一種で,太陽時は恒星時系の一種。 [return]
  2. GPS は UT と連動させる必要はなく,2つの時点間の時間が精確にわかれば問題ない。故にうるう秒は必要ないのである。 [return]