Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

サマータイム導入?【管理者編】 - その時 Notes/Domino は正確な時を刻むのか

142 views

Published on

2020年東京オリンピックに絡めてサマータイム導入の検討が行われるという話がありました。もし日本にサマータイムが導入される場合にNotes/Dominoにどのような影響があり、またどのような対策をとれるのか、検証しましたことを共有いたします。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

サマータイム導入?【管理者編】 - その時 Notes/Domino は正確な時を刻むのか

  1. 1. サマータイム導入? 【管理者編】 その時 Notes/Domino は正確な時刻を刻むのか
  2. 2. サマータイム?2年限定?2時間! https://www.sankei.com/politics/news/180806/plt1808060002-n1.html
  3. 3. タイムゾーンとは
  4. 4. 「今、この瞬間」は世界共通 日本(JST) 2018年10月10日 10時10分10秒 欧州・中央(夏時間) 2018年10月10日 3時10分10秒 米国・ニューヨーク(夏時間) 2018年10月9日 21時10分10秒 米国・ロサンゼルス(夏時間) 2018年10月9日 18時10分10秒 協定世界時(UTC) 2018年10月10日 1時10分10秒 UNIX時間 1539133810
  5. 5. 時差19時間 ハワイ 14日 午前1時 東京 14日 午後8時
  6. 6. タイムゾーン https://ja.wikipedia.org/wiki/%E6%99%82%E9%96%93%E5%B8%AF_(%E6%A8%99%E6%BA%96%E6%99%82)#/media/File:Standard_World_Time_Zones.png ハワイ UTC+10 日本 UTC-9
  7. 7. 協定世界時 UTC とは • 世界各地の標準時を決める時の基準となる 「世界標準時」のこと • “Universal Time, Coordinated” の略称 • セシウム原子時計を時刻源とする • GMT (Greenwich Mean Time)とはグリニッジ 天文台(経度0度)における平均太陽時を指し、 UTC は GMTの細かな時刻のズレを調整するた めの「うるう秒」を追加することで、GMTと の差が0.9秒を超えないよう調整を続けている 時刻系
  8. 8. 【参考】地球の自転が一定でないため「うる う秒」で調整 http://jjy.nict.go.jp/QandA/data/leapsec.pdf
  9. 9. 日本標準時 JST とは • 情報通信研究機構(NICT)が決定・維持して いる • UTC を 9 時間(東経135度分の時差)進めた 時刻 • JST と UTC との差を示す場合、午後3時30分 を 15:30:00(UTC +0900)などと表記する • Jerusalem Standard Time (イスラエル標準 時)を指して JST と表記する場合があり、一 意に特定できない
  10. 10. サマータイムとは
  11. 11. 夏時間 (サマー タイム) Daylight Saving Time (DST) とも 1年のうち、夏を中心とする 時期に太陽が出ている時間帯 を有効利用する目的で標準時 を進める制度またはその進め られた時刻のこと 特定の期間だけ UTC の差が 1 時間多くなる(地域が多 い) •ロサンゼルスの標準時は UTC-08:00 、 夏時間は UTC-07:00 になる 欧州では健康への影響などか ら廃止の気運が高まっている 日本も戦後に実施されたが4 年で廃止
  12. 12. 夏時間を実施する地域 https://www.time-j.net/uc/dst/
  13. 13. ややこしい国も 場所 標準時 夏時間 主要都市 ロード・ハウ島 UTC+10:30 UTC+11 ロード・ハウ島 東部時間 UTC+10 UTC+11 シドニー 東部時間 UTC+10 なし ブリスベン 中部時間 UTC+9:30 UTC+10:30 アデレード 中部時間 UTC+9:30 なし ダーウィン 西部時間 UTC+8 なし パース
  14. 14. 時刻系は様々な事情で変わる • カザフスタン(2005年) • 時刻変更に起因する健康への影響を理由に夏時間を廃止 • アメリカ(2007年) • 包括エネルギー法案の可決により新しい夏時間が導入された • ナミビア(2017年) • 国内の時間を統一、南アフリカとの時差を無くし経済面で有利にする • ブラジル(2018年) • 総選挙の投票があり夏時間を短縮、国家中等教育試験への影響を考慮 し開始日を延期
  15. 15. 今どき時刻なんて 自動調整ですよね?
  16. 16. 電波時計/世界時計 https://protrek.jp/
  17. 17. 電波時計が受信 する「JJY」 • 日本国内の電波時計は、 情報通信研究機構 (NICT)が送信する 「JJY」という無線局の 電波を受信して正確な 時刻を取得する • 協定世界時(UTC)を9 時間進めた時刻(JST) が設定されている • 夏時間情報として予備 ビットを使う例が示さ れているものの、ずれ る時間の幅の情報は存 在しない http://jjy.nict.go.jp/jjy/trans/index.html
  18. 18. 電波時計は自動で1時間進める? https://support.casio.jp/storage/pdf/002/qw3258.pdf https://www.seiko-watch.co.jp/support/instruction/pdf/8B53_quickmanual.pdf
  19. 19. ケータイ/スマホ • 携帯電話網やGPSから正確な時刻を受信 • 受信した時刻を現地時間に変換  変換の基になる情報(タイムゾーン、夏時間実施有無、夏 時間の開始と終了の日時、時間幅など)の更新が必要
  20. 20. 機器ごと に対応状 況を確認 電波時計は自動で1時間ずれる? 古い機器でもOSアップデートで きれば問題なさそう? アップデートできない機器は日 本以外のタイムゾーンに変更 か?
  21. 21. パソコン/サーバーは 大丈夫?
  22. 22. ローカルタイムでは不都合な場合がある 2018年10月10日 10:10:10 October 10, 2018 10:10:10 AM 作成時刻: 2018/10/10 10:10:10 日本 ロサンゼルス
  23. 23. コンピュータ内部は UTC で時刻を保持 (が理想) 作成時刻: 2018/10/10 1:10:10 時刻を UTC で保持
  24. 24. インターネット時刻サーバー • NTP(Network Time Protocol)を使い、ネットワーク経由で時 刻を同期 • 1900年1月1日 0時0分0秒(UTC) からの積算秒数を使用
  25. 25. UTC をローカルタイムに変換して表示 2018年10月10日 10:10:10 October 9, 2018 6:10:10 PM 作成時刻: 2018/10/10 1:10:10 日本 ロサンゼルス JST に変換 PDT に変換
  26. 26. UTCとの差をタイムゾーンで調整
  27. 27. タイムゾーン設定で夏時間も調整可能
  28. 28. 【参考】夏時間を自動調整する様子 1秒後
  29. 29. OSが最新の夏時間に対応しないと 自動調整できない…
  30. 30. タイムゾーン(夏時間含む)の情報 • Windows • レジストリに存在 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesTokyo Standard Time • Windows Update で更新 • tz database • 世界各地域の標準時情報をボランティアの共同作業により収録した データ • コンピュータ・プログラムやオペレーティングシステムでの利用を意 図している • 夏時間のような標準時の変化を示す遷移情報に加え、うるう秒も記録 されている https://ja.wikipedia.org/wiki/Tz_database
  31. 31. 夏時間の切替日を 想像してみた
  32. 32. 夏時間の開始日 • 標準時間からサマータイムへ移行する際は時刻を進め る。 • 例として午前2時に2時間進める場合、開始日の1時59 分59秒の次は、4時00分00秒になる。この場合、開始 日の2時台と3時台は存在しない時刻という扱いになる。
  33. 33. 開始日に 発生しそ うな問題 時間が2時間失われることで、夜間処理を完 了するための時間が足りなくなる可能性が ある 夜間勤務者の勤務時間が2時間短縮されたが、 タイムカード上の勤務時間は普段どおりな ので時給を多く貰えた 失われた時刻に起動するはずだった処理が 起動しない、あるいは2時間遅れで起動する 深夜番組のタイマー録画がとれていない
  34. 34. 夏時間の終了日 • 夏時間終了時には時計の針を元に戻す。 • 例として、午前4時に2時間戻る場合、3時59分59秒 の1秒後、もう一度2時00分00秒に戻る。 • 最終日は2時台と3時台の時刻は2回存在する。
  35. 35. 終了日に 発生しそ うな問題 夜間処理が2度実行される 1時30分から3時間かかる予定の処理が1時 間で終了したように見える 普段より2時間長い深夜勤務を強いられる 3時40分よりも2時40分のほうが後に発生す ることによる並び替えや時間の計算の破た ん
  36. 36. じゃあDomino は?
  37. 37. Domino の夏時間対応とは http://www-01.ibm.com/support/docview.wss?uid=swg21680068 “ IBMi以外のプラットフォームでは、 タイムゾーンや夏時間の有無の情報 をOSの設定値から取得します”
  38. 38. 夏時間調整の設定を確認 https://www-01.ibm.com/support/docview.wss?uid=swg21462834 夏時間調整が設定されていない場合 “Not Observed”
  39. 39. Domino で確認してみた • 環境:Windows10上の Domino V10 ベータ2 • OSのタイムゾーンを「太平洋標準時」に設定 • Domino上で午前2時に稼働するよう設定 • ServerTasksAt2=updall • Agentを2時にスケジュール • プログラム文書を2時にスケジュール
  40. 40. PDT(太平洋夏時間)の開始日 • 2018年3月11日 2時(1:59:59 PST → 3:0:0 PDT) • ServerTasksAt2=updall 実行されなかった • Agentを2時にスケジュール 3時に実行された • プログラム文書を2時にスケジュール 実行されなかった
  41. 41. PDT(太平洋夏時間)の終了日 • 2018年11月4日 2時(2:59:59 PDT → 2:0:0 PST) • ServerTasksAt2=updall 夏時間と標準時の2時に実行された • Agentを2時にスケジュール 夏時間の2時にだけ実行された • プログラム文書を2時にスケジュール 夏時間と標準時の2時に実行された
  42. 42. Agent は正しく動いた。 他のはこれでいいのか?
  43. 43. スケジュールと 予約はどうすれば?
  44. 44. 作成時の情報を保持するフィールドあり • 新たなタイムゾーン設定に従い書き換えが必要 StartDateTime EndDateTime StartTimeZone EndTimeZone
  45. 45. 更新ツールが提供されているようです • DST情報の変更に対応したことを示す 技術文書が存在 • 重要そうな3点だけ、以下に抜粋  新たなDST情報を含むOSのパッチを適用  3つのエージェントを実行  Registry Agent  Admin Agent  RnR Agent ※エージェントはlssファイルで提供  Java コード用に JTZU Tool を実行? https://www-01.ibm.com/support/docview.wss?uid=swg21981718 https://developer.ibm.com/javasdk/support/dst/jtzu/
  46. 46. Notesの対応は?
  47. 47. 対応不要(OSのタイムゾーン設定を使用) 「OS のタイムゾーン設定を使用」 を「いいえ」にすることは現状サ ポートされていない。 http://www-01.ibm.com/support/docview.wss?uid=swg21091291
  48. 48. 【参考】カレンダーの夏時間対応
  49. 49. Notes のプログラム はどうなの?
  50. 50. プログラムに関することですので 「開発者編」でご紹介します! 次回以降の「のの会」をお楽しみに!!
  51. 51. まとめ 夏時間はタイムゾーンと密接に関わっ ている! 夏時間切替日に気をつけろ! クライアントとサーバーの両方でDST 情報の更新(OSのアップデート)を! カレンダーエントリやリソース予約の 文書にある日時値も変換しよう! ところで、Notes/Dominoは2時間のず れに対応できるの?
  52. 52. 【参考】DST関連事例、ツール等 https://www-01.ibm.com/support/docview.wss?uid=swg21991748 How to prevent Notes/Domino from adjusting for daylight saving time in Turkey https://www-01.ibm.com/support/docview.wss?uid=ibm10734019 Brazilian Daylight Saving Time 2018 - 2019 - Notes/Domino/SmartCloud Notes - Known Issues & Recommended Actions https://www-01.ibm.com/support/docview.wss?uid=swg21981718 Agents for Updating Calendar and Scheduling Entries and Resource and Reservation Entries for Daylight Savings Time Zone Changes https://www-01.ibm.com/support/docview.wss?uid=swg21462834 (参考)Lotus Domino サーバーのタイムゾーンと夏時間調整 (Daylight Saving Time: DST) の設定を確認する方法 http://www-01.ibm.com/support/docview.wss?uid=swg21249964 Using the IBM Time Zone Update Utility for Java (JTZU) with Lotus software products
  53. 53. 【参考】notes.ini の DST 情報 • DST = value 1を設定すると、4月の第1日曜日から10月の最終日曜日の間に作成・更新される文書の作成時刻と更新時刻がシス テム時間より1時間遅くタイムスタンプされる。サーバーとクライアントに適用可能 0 – 夏時間 を実施しない 1 – 夏時間 を実施する • DST_Begin_Date, DST_End_Date 夏時間の開始日(DST_Begin_Date)終了日(DST_End_Date)をYY/MM/DD形式で指定する。サーバーのみ適用 可能 この設定を省略すると、開始日は4月の第1日曜日、終了日は10月の最終日曜日になる • DSTlaw = 開始月, 開始週, 開始日, 終了月, 終了週, 終了日 夏時間が実施される日を指定する。月は1~12, 週は1~4, 開始日1(日曜)~7(土曜)を指定する。-1は月の最後の 週で、-2は最後から2番目の週となる。サーバーとクライアントに適用可能 デフォルトは DSTlaw=4,1,1,10, -1,1 例)夏時間が6月第1週の日曜に始まり、8月最後の週の日曜に終わる場合 DSTlaw=6, 1, 1, 8, -1, 1 • DSTLAWTIME=時:分;時:分 夏時間が開始する時刻と終了する時刻を指定する。時間は0~23、分は0~59を指定する。 デフォルトは夏時間が午前2時に始まり、午前1時に終わる 9.0.1 FP4 から有効
  54. 54. 【参考】ファイルシステムとタイムスタ ンプ ファイルシステム 作成日時 更新日時 アクセス日時 タイムスタンプ NTFS 100ナノ秒単位 100ナノ秒単位 100ナノ秒単位 UTC ReFS 100ナノ秒単位 100ナノ秒単位 100ナノ秒単位 UTC FAT(FAT16) 10ミリ秒単位 2秒単位 1日単位 ローカルタイム FAT32 10ミリ秒単位 2秒単位 1日単位 ローカルタイム exFAT 10ミリ秒単位 10ミリ秒単位 2秒単位 ローカルタイム、 UTC(Vista SP2~)
  55. 55. 【参考】UNIX時間の2038年問題 UTC での 1970年1月1日 0時0分0秒(UNIXエポック)から 閏秒考慮しない経過秒数 32ビットまたは64ビットの符号付き整数で扱う 32ビットの場合、最大値 2,147,483,647 を超えると負の値 になり、正しく時刻を扱えない問題がある→ 2038年問題
  56. 56. 【参考】基点の時刻 UNIX エポック 1970年1月1日 0時0分0秒 UTC 32ビット符号付きの場合 2038年1月19日12時14分7秒(JST) NT タイムエポック 1601年1月1日 0時0分0秒 UTC AD 30828 NTP 1900年1月1日 0時0分0秒 UTC 32ビット符号なし 2036年2月7日 6時28分15秒 (UTC) GPS 1980年1月6日 0時0分0秒 UTC 10ビット、1024週ごと 次は2019年4月7日午前9:00 (JST)

×