Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サマータイム導入【管理者編】

 サマータイム導入【管理者編】

日本でもサマータイムが導入されたら Domino にどのような影響があるのかを検証してみました。

2018年11月14日開催の「のの会 第9回」で使用した資料です。

Haruyuki Nakano

September 17, 2022
Tweet

More Decks by Haruyuki Nakano

Other Decks in Technology

Transcript

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

    View Slide

  2. サマータイム?2年限定?2時間!
    https://www.sankei.com/politics/news/180806/plt1808060002-n1.html

    View Slide

  3. タイムゾーンとは

    View Slide

  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

    View Slide

  5. 時差19時間
    ハワイ
    14日 午前1時
    東京
    14日 午後8時

    View Slide

  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

    View Slide

  7. 協定世界時 UTC とは
    • 世界各地の標準時を決める時の基準となる
    「世界標準時」のこと
    • “Universal Time, Coordinated” の略称
    • セシウム原子時計を時刻源とする
    • GMT (Greenwich Mean Time)とはグリニッジ
    天文台(経度0度)における平均太陽時を指し、
    UTC は GMTの細かな時刻のズレを調整するた
    めの「うるう秒」を追加することで、GMTと
    の差が0.9秒を超えないよう調整を続けている
    時刻系

    View Slide

  8. 【参考】地球の自転が一定でないため「うる
    う秒」で調整
    http://jjy.nict.go.jp/QandA/data/leapsec.pdf

    View Slide

  9. 日本標準時 JST とは
    • 情報通信研究機構(NICT)が決定・維持して
    いる
    • UTC を 9 時間(東経135度分の時差)進めた
    時刻
    • JST と UTC との差を示す場合、午後3時30分
    を 15:30:00(UTC +0900)などと表記する
    • Jerusalem Standard Time (イスラエル標準
    時)を指して JST と表記する場合があり、一
    意に特定できない

    View Slide

  10. サマータイムとは

    View Slide

  11. 夏時間
    (サマー
    タイム)
    Daylight Saving Time (DST)
    とも
    1年のうち、夏を中心とする
    時期に太陽が出ている時間帯
    を有効利用する目的で標準時
    を進める制度またはその進め
    られた時刻のこと
    特定の期間だけ UTC の差が
    1 時間多くなる(地域が多
    い)
    •ロサンゼルスの標準時は UTC-08:00 、
    夏時間は UTC-07:00 になる
    欧州では健康への影響などか
    ら廃止の気運が高まっている
    日本も戦後に実施されたが4
    年で廃止

    View Slide

  12. 夏時間を実施する地域
    https://www.time-j.net/uc/dst/

    View Slide

  13. ややこしい国も
    場所 標準時 夏時間 主要都市
    ロード・ハウ島 UTC+10:30 UTC+11 ロード・ハウ島
    東部時間 UTC+10 UTC+11 シドニー
    東部時間 UTC+10 なし ブリスベン
    中部時間 UTC+9:30 UTC+10:30 アデレード
    中部時間 UTC+9:30 なし ダーウィン
    西部時間 UTC+8 なし パース

    View Slide

  14. 時刻系は様々な事情で変わる
    • カザフスタン(2005年)
    • 時刻変更に起因する健康への影響を理由に夏時間を廃止
    • アメリカ(2007年)
    • 包括エネルギー法案の可決により新しい夏時間が導入された
    • ナミビア(2017年)
    • 国内の時間を統一、南アフリカとの時差を無くし経済面で有利にする
    • ブラジル(2018年)
    • 総選挙の投票があり夏時間を短縮、国家中等教育試験への影響を考慮
    し開始日を延期

    View Slide

  15. 今どき時刻なんて
    自動調整ですよね?

    View Slide

  16. 電波時計/世界時計
    https://protrek.jp/

    View Slide

  17. 電波時計が受信
    する「JJY」
    • 日本国内の電波時計は、
    情報通信研究機構
    (NICT)が送信する
    「JJY」という無線局の
    電波を受信して正確な
    時刻を取得する
    • 協定世界時(UTC)を9
    時間進めた時刻(JST)
    が設定されている
    • 夏時間情報として予備
    ビットを使う例が示さ
    れているものの、ずれ
    る時間の幅の情報は存
    在しない
    http://jjy.nict.go.jp/jjy/trans/index.html

    View Slide

  18. 電波時計は自動で1時間進める?
    https://support.casio.jp/storage/pdf/002/qw3258.pdf
    https://www.seiko-watch.co.jp/support/instruction/pdf/8B53_quickmanual.pdf

    View Slide

  19. ケータイ/スマホ
    • 携帯電話網やGPSから正確な時刻を受信
    • 受信した時刻を現地時間に変換
    ➢ 変換の基になる情報(タイムゾーン、夏時間実施有無、夏
    時間の開始と終了の日時、時間幅など)の更新が必要

    View Slide

  20. 機器ごと
    に対応状
    況を確認
    電波時計は自動で1時間ずれる?
    古い機器でもOSアップデートで
    きれば問題なさそう?
    アップデートできない機器は日
    本以外のタイムゾーンに変更
    か?

    View Slide

  21. パソコン/サーバーは
    大丈夫?

    View Slide

  22. ローカルタイムでは不都合な場合がある
    2018年10月10日
    10:10:10
    October 10, 2018
    10:10:10 AM
    作成時刻:
    2018/10/10
    10:10:10
    日本 ロサンゼルス

    View Slide

  23. コンピュータ内部は UTC で時刻を保持
    (が理想)
    作成時刻:
    2018/10/10
    1:10:10
    時刻を UTC で保持

    View Slide

  24. インターネット時刻サーバー
    • NTP(Network Time Protocol)を使い、ネットワーク経由で時
    刻を同期
    • 1900年1月1日 0時0分0秒(UTC) からの積算秒数を使用

    View Slide

  25. UTC をローカルタイムに変換して表示
    2018年10月10日
    10:10:10
    October 9, 2018
    6:10:10 PM
    作成時刻:
    2018/10/10
    1:10:10
    日本 ロサンゼルス
    JST に変換 PDT に変換

    View Slide

  26. UTCとの差をタイムゾーンで調整

    View Slide

  27. タイムゾーン設定で夏時間も調整可能

    View Slide

  28. 【参考】夏時間を自動調整する様子
    1秒後

    View Slide

  29. OSが最新の夏時間に対応しないと
    自動調整できない…

    View Slide

  30. タイムゾーン(夏時間含む)の情報
    • Windows
    • レジストリに存在
    HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows
    NT¥CurrentVersion¥Time Zones¥Tokyo Standard Time
    • Windows Update で更新
    • tz database
    • 世界各地域の標準時情報をボランティアの共同作業により収録した
    データ
    • コンピュータ・プログラムやオペレーティングシステムでの利用を意
    図している
    • 夏時間のような標準時の変化を示す遷移情報に加え、うるう秒も記録
    されている
    https://ja.wikipedia.org/wiki/Tz_database

    View Slide

  31. 夏時間の切替日を
    想像してみた

    View Slide

  32. 夏時間の開始日
    • 標準時間からサマータイムへ移行する際は時刻を進め
    る。
    • 例として午前2時に2時間進める場合、開始日の1時59
    分59秒の次は、4時00分00秒になる。この場合、開始
    日の2時台と3時台は存在しない時刻という扱いになる。

    View Slide

  33. 開始日に
    発生しそ
    うな問題
    時間が2時間失われることで、夜間処理を完
    了するための時間が足りなくなる可能性が
    ある
    夜間勤務者の勤務時間が2時間短縮されたが、
    タイムカード上の勤務時間は普段どおりな
    ので時給を多く貰えた
    失われた時刻に起動するはずだった処理が
    起動しない、あるいは2時間遅れで起動する
    深夜番組のタイマー録画がとれていない

    View Slide

  34. 夏時間の終了日
    • 夏時間終了時には時計の針を元に戻す。
    • 例として、午前4時に2時間戻る場合、3時59分59秒
    の1秒後、もう一度2時00分00秒に戻る。
    • 最終日は2時台と3時台の時刻は2回存在する。

    View Slide

  35. 終了日に
    発生しそ
    うな問題
    夜間処理が2度実行される
    1時30分から3時間かかる予定の処理が1時
    間で終了したように見える
    普段より2時間長い深夜勤務を強いられる
    3時40分よりも2時40分のほうが後に発生す
    ることによる並び替えや時間の計算の破た

    View Slide

  36. じゃあDomino は?

    View Slide

  37. Domino の夏時間対応とは
    http://www-01.ibm.com/support/docview.wss?uid=swg21680068
    “ IBMi以外のプラットフォームでは、
    タイムゾーンや夏時間の有無の情報
    をOSの設定値から取得します”

    View Slide

  38. 夏時間調整の設定を確認
    https://www-01.ibm.com/support/docview.wss?uid=swg21462834
    夏時間調整が設定されていない場合
    “Not Observed”

    View Slide

  39. Domino で確認してみた
    • 環境:Windows10上の Domino V10 ベータ2
    • OSのタイムゾーンを「太平洋標準時」に設定
    • Domino上で午前2時に稼働するよう設定
    • ServerTasksAt2=updall
    • Agentを2時にスケジュール
    • プログラム文書を2時にスケジュール

    View Slide

  40. PDT(太平洋夏時間)の開始日
    • 2018年3月11日 2時(1:59:59 PST → 3:0:0 PDT)
    • ServerTasksAt2=updall
    ➢実行されなかった
    • Agentを2時にスケジュール
    ➢3時に実行された
    • プログラム文書を2時にスケジュール
    ➢実行されなかった

    View Slide

  41. PDT(太平洋夏時間)の終了日
    • 2018年11月4日 2時(2:59:59 PDT → 2:0:0 PST)
    • ServerTasksAt2=updall
    ➢夏時間と標準時の2時に実行された
    • Agentを2時にスケジュール
    ➢夏時間の2時にだけ実行された
    • プログラム文書を2時にスケジュール
    ➢夏時間と標準時の2時に実行された

    View Slide

  42. Agent は正しく動いた。
    他のはこれでいいのか?

    View Slide

  43. スケジュールと
    予約はどうすれば?

    View Slide

  44. 作成時の情報を保持するフィールドあり
    • 新たなタイムゾーン設定に従い書き換えが必要
    ➢StartDateTime
    ➢EndDateTime
    ➢StartTimeZone
    ➢EndTimeZone

    View Slide

  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/

    View Slide

  46. Notesの対応は?

    View Slide

  47. 対応不要(OSのタイムゾーン設定を使用)
    「OS のタイムゾーン設定を使用」
    を「いいえ」にすることは現状サ
    ポートされていない。
    http://www-01.ibm.com/support/docview.wss?uid=swg21091291

    View Slide

  48. 【参考】カレンダーの夏時間対応

    View Slide

  49. Notes のプログラム
    はどうなの?

    View Slide

  50. プログラムに関することですので
    「開発者編」でご紹介します!
    次回以降の「のの会」をお楽しみに!!

    View Slide

  51. まとめ
    夏時間はタイムゾーンと密接に関わっ
    ている!
    夏時間切替日に気をつけろ!
    クライアントとサーバーの両方でDST
    情報の更新(OSのアップデート)を!
    カレンダーエントリやリソース予約の
    文書にある日時値も変換しよう!
    ところで、Notes/Dominoは2時間のず
    れに対応できるの?

    View Slide

  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

    View Slide

  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 から有効

    View Slide

  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~)

    View Slide

  55. 【参考】UNIX時間の2038年問題
    UTC での 1970年1月1日 0時0分0秒(UNIXエポック)から
    閏秒考慮しない経過秒数
    32ビットまたは64ビットの符号付き整数で扱う
    32ビットの場合、最大値 2,147,483,647 を超えると負の値
    になり、正しく時刻を扱えない問題がある→ 2038年問題

    View Slide

  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)

    View Slide