この文章を書いているのが1999年11月23日。あと40日もすれば西暦2000年をむかえてしまうわけだから、この文章も意味をなくすだろうが(場合によっては見ることができなくなるかもしれない ^^;)この頃、おやっと思うことが2つほどあったので書いてみたい。
コンピュータの2000年問題については、前にも、うんちく講座No.188「もう1つの2000年問題」で扱った。
その文章では、わりと楽観的な見方をしたし、2000年が間近に迫った現在、国や地方自治体等でも「ほぼ対応策は完了した」という説明をしており、私たちは「トラブルが発生する可能性は極めて少ない」というような受け取りかたをしている。
ただ、万が一、予測できない事態が発生した場合に対応できるように、食料・燃料等、当座の必需品の備えをしておこうというのが、一般的な対応ではないかと思う。
しかし、それで大丈夫だろうか。
たしかに国とか県とか企業とかという大きなレベルでの対応策は済んでいるかもしれない。でも、個人レベルでのコンピュータトラブルを避けるための手だては済んでいるのだろうか。
具体的には、自分のコンピュータの対応策、あるいは自分の家で使っているマイコンチップを使った家電製品への対応策は済んでいるかどうかということである。
まずは1つめの例である
私の場合、使っているパソコンは、1996年生産モデルの古いもので、OSもWindows95である。
性能的にもハードディスクの空き容量的にも余裕がないので、あと1年以内には買い換えようかとも思っている。
2000年になってから様子を見て新機種を購入するつもりなので、現在使用しているパソコンには特別な処置を行っていない。(マイクロソフト社から通知が来ているので対応について調べてみようとは思っているが)
今のところ、パソコン内の日付を2000年以降に変更して、動作に異常がないか試したりはしているが、問題はないようにも思える。
ところが、この頃になって異常に気づいた。
問題があったのは、自分のパソコンそのものではなく、インターネットの動作であった。
私は、自分のホームページ「面白半分」の中の掲示板BBS「千客万来ルーム」や、その他、知人との情報交換のための掲示板等、CGIで動くいくつかの掲示板を自分が契約したサーバ上に置いている。
その中の数個に動作の異常が出てきたのだった。
具体的には、クッキーが消えてしまうのだ。
クッキーについての詳しい説明は省略するが、簡単にいうと、ブラウザの設定で「クッキーを有効」にしておけば、掲示板に書き込みをする際に、自分の名前やメールアドレス、パスワード等の欄に一度記入すると、次の書き込みをする際にも、その欄には最初から名前やアドレス等が記入された状態になり、再度記入する手間が省けるというものである。
このクッキーの保存期間は掲示板用のCGIで好みの長さに設定ができるようになっており、最後の書き込みから1ヶ月とか50日とかいうように設定する。
私の場合、掲示板の性質により、30日のもの、50日のもの、60日のものというように使い分けている。(書き込み数の多い「千客万来ルーム」は30日の設定にしている)
その中で、まず、60日に設定していた掲示板のクッキーが残らないようになった。これが11月に入って間もなくのことである。
不思議に思っているうちに、11月中旬になって50日に設定した掲示板でも同じ現象が起きるようになった。
30日に設定したものでは、今のところまだその現象は起きていない。
考えてみたら、書き込み後60日という場合、それに該当する期日が2000年1月1日をこえてしまうと、クッキーが消えるようだ。
2000年まで50日を切った時点で、50日設定にした掲示板でも同様の現象が起きたことからも、おそらくこれが原因なのだろう。
この推理が正しいとすると、30日設定にしている「千客万来ルーム」掲示板でも、12月に入ると間もなくクッキーが消えるという現象がおきるはずだ。
自分の使っているパソコンが古いために、この現象が起きているのかと思い、知り合いの方何人かに聞いてみたら、最新のパソコンを使っている人でも同じ現象を確認できたようなので、パソコン本体に依存したものではないようだ。
そうなると、掲示板のCGIプログラム本体に原因がある可能性が高い。ソースを見てみると「クッキー」に関わる部分に「time」という変数が使われているし、その変数を規定する部分に「$yearg」などという記述もあるので、ここのあたりが2000年問題に対応していないのかもしれない。
あるいは、CGIソースの言語になっている「Perl」自体の問題かもしれないし、サーバを管理しているUNIXに問題があるのかもしれない。
私は、この方面に詳しくないので、はっきりとした原因は特定できないが、いずれ、このへんに理由があるのはたしかなようである。
今のところ、この現象によって起きている問題としては、「掲示板に書き込みをする度に、名前やメールアドレス、パスワード等を記入しなければならない」ということだけである。
記入する立場からみると、けっこうめんどうなのだが、まだ掲示板そのものが動作不能になるという問題には至っていない。
この後、どうなるか考えてみると、最も楽観的な見方としては、2000年1月1日になることで、全ての不具合が改善するということになるだろう。
最悪の見方だと、2000年を認識できないため掲示板CGIがストップするということになるかもしれない。
CGIプログラムが動かなくならなくても、掲示板で扱っている書き込みデータがおかしくなることも考えられる。つまり2000年になってから書き込まれた内容が、最新の書き込みとしてではなく、最旧のものとして認識されてしまうと、新しい書き込みが掲示板に反映されなくなるという現象も起きそうだ。
掲示板で扱っているデータの内容(テキストファイル)を見てみただけでは、年数が書き込まれている部分はなく、月日と時刻だけがスタンプされているデータで、しかも書き込み順に保存されている形式なので、問題がないようにも思えるが、このデータに追加や削除を行うCGIの動きによっては、前述のような問題が起きてくるかもしれない。そうなれば、とりあえず、1999年に書き込まれたデータを全て削除しないと掲示板を再開できないことになりそうだ。
実際に2000年を迎えてみなければ、どのような事態になるかわからないので、今のところどうすることもできないのだが、このように、個人レベルで管理しているインターネット上のプログラムなどでは、何らかのかたちで2000年トラブルが起きることはたしかなようである。
掲示板がストップするぐらいでは、世界的なパニックが起きるとは考えられないが、とりあえず、「インターネット上では、いくつかのおかしな現象が起きる可能性が高い」ということぐらいは心得ておくほうがよいかもしれない。
もう1つの例は
先日、勤務先で調理用に使っていたガスコンロが消えてしまったことがあった。
この地域では都市ガスでなくLPガス(プロパンガスのボンベ)を使っているのだが、ボンベのガスが無くなってしまったのかと思い、ボンベを置いてある場所に調べに行った。
するとボンベが空になっているのではなかった。バルブやボンベ切り替え器に不具合がないか調べてみたが、それも大丈夫であった。
業者の方を呼んで見てもらったところ、「2時間以上、ガスを使いっぱなしにするとコンピュータが自動的に切断するようになっているため」ということであった。
ちょうど当日はPTA関係の行事があり、家庭科室でずっとガスコンロを使っていたために起きた現象らしい。
改善するにはガスメーターのわきにあるリセットボタンを押せばよいとのことだったが、その作業を見ていると、異常を知らせるインジケーターの表示(A・B・Cの3つの表示の組み合わせ)によって、リセットの方法が異なるなど、単なるマイコンチップ以上の動作をするようなものがメーター内に組み込まれているようだった。
2000年問題対応の説明等を聞くと、電気釜とか電気冷蔵庫などに組み込まれているマイコンチップは、日付に関係なく24時間の動きにのみ対応するので、2000年トラブルには関係がないということだったが、このガスのメーターに組み込まれているコンピュータはどうなのだろうか。
業者の人と話しただけでは、はっきりとしたことがわからなかったのだが、もし24時間より長い周期の日数や年数をチェックする機能が組み込まれているとしたら、2000年になった瞬間に、ガスの連続使用時間のカウントが不能になり、ガスの供給を止めてしまうということもありそうだ。
もし、そうなってもリセットの方法等を知っていれば、すぐに対応できるだろうが、メーターにコンピュータが組み込まれているということを知らなかった場合には、パニックになってしまうかもしれない。そうなると業者の人もすぐに対応することはできないだろう。
ガスの問題は、私自身、まだ詳しいことを調べたわけではないので、こういう記述はいらぬ不安を高めることになってしまうのかもしれないが、いずれにせよ、自分の家の中で、コンピュータらしきものが自動制御をしているようなものについては、「どのような事態になると動作が停止するか」「それを復旧させるにはどうしたらよいか」「復旧できなかった場合、代替処理はどうするのか」ということぐらいはチェックしておいたほうがいいようだ。
そのほうが、米や石油・トイレットペーパーを買いだめする、水を大量にポリタンクに貯めておく、銀行から現金を払い出しておく、などという、直接2000年問題に関係のないパニックを引き起こすような行動をするよりも効果的だと思うのだが‥‥
<99.11.23>
その後、ここに書いた掲示板CGIの2000年問題への対応について、いろいろ情報をいただいた。やはりトラブルの原因は、「Perl」でも「UNIX」でもなく、CGIそのものであるということがわかった。クッキーの処理について詳しい情報があるということで紹介いただいたこのページなどは、とても参考になった。そこで紹介されているようにCGIの一部を書き換えるという方法でも対応できるようなのだが、私の掲示板は、11月25日から、その問題に対応済みの新しいバージョンに変更してある。