ソフトを開発しようと思った動機・背景
自作のスケジュール予約ハードディスク録音ソフト「♪超録 - パソコン長時間録音機」にて深夜のラジオを録音して、翌朝の電車の中でオーディオプレイヤーで聞くのが日課だったのですが、予約時にスケジュール時刻やパソコンの時刻を正しくセットしても、どうしても録音開始が1、2秒ズレていることに気づき、原因であるパソコンの時計のズレを解決し、時計を確実に正確な時刻にしておきたいと考えたのが開発の動機です。実装機能・開発コンセプト
開発にあたって絶対に必要な機能として、
(1) ネットから(NTPプロトコルにて)正しい時刻を取得しパソコンの時計を正確に補正できること──これは当然ですね(笑)。
(2) 予約待機中やログオフ、再起動でも自動的に起動して時刻補正を行えること──よってサービス起動が必要。
(3) 公開NTPサーバの一極集中問題にも対応し、確実に自動時刻補正を行える仕組みを持つこと。
こうしたソフトはデフォルト設定のまま利用される方が多いので、初期設定時のサーバにアクセスする人がどんどん増えていき、「公開サーバがダウン→利用者もアクセスできず時刻補正エラー」ということにならないような手段が必要だと考え、
- 各ユーザが有効なNTPサーバリストをローテーションしながら利用
することで一極集中を防ぎ、することで接続先リスト数の確保が可能になるような機能を実装することにしました。(4) サーバ運用にもやさしい仕様──他のNTPソフトを試していたのですが、進みすぎた時刻の補正について他ソフトやOSへの配慮なく、過去時刻に強制修正しているものばかりだったので、時間が遡らないような緩やかな補正機能もほしいと考え、「緩やか時刻補正」を実装することにしました。
開発中に苦労した点
なるべく多くの人・環境で利用してもらいたかったので、対応OSをWindows 95から最新のXPまでとしたのですが、動作確認のために各OSを用意してテストを行うのは大変でした(おかげで、久しぶりにWindows 95を触りました)。
また、開発途中で「Windows 2000以降はNTPクライアントがOSに内蔵されている」ということを知って中断しようかと思ったのですが(笑)、XPを使っている私の環境でも上記の一極集中問題のためか、もともと1週間に一度だけの更新がことごとく失敗しており、一向に補正されないままでしたので、開発を継続することにしました。
ユーザにお勧めする使い方
ネットワークに詳しくない方でも利用しやすいように心がけました。よって、基本的に「このソフトをインストールすれば、あとは存在を意識しなくとも本ソフトが常に時刻を自動で正しく保ってくれる」という使い方をしていただければ、作者として幸いです。
また、上級者向けとして、本ソフトにはSNTPサーバも内蔵されておりますので、LAN環境向けに「ネットワーク負荷の小さい」「ブロードキャスト時刻同期が可能」なNTPクライアントサーバを構成することもできます。
最後に
インターネット利用が当たり前になった現在、他のマシン・ネットワークと通信する上で“現在時刻”というのはいろいろな場面で利用されます。パソコンの時計が狂ったままでは、通信する上でさまざまな支障が生じえませんし、間違った時刻のままで通信するのはネット上でのルール/マナー違反ともいえます。このソフトがみなさんの“正しい時を保つ”お役に立てれば幸いです。
(PINO)