Windows Store 開発者向けブログ
Windows 8 アプリ開発者ブログ
IEBlog 日本語
Windows チームの各ブログ (英語)
Inside Windows Live ブログ (英語)
Windows 8 Release Preview をダウンロード
Dev Center - Metro スタイル アプリ
@buildwindows8 をフォロー (英語)
Build Windows カンファレンス (英語)
Windows 8 Release Previewフォーラム
Windows Metro スタイル アプリ
インターネットが登場するまで、サービス パックや "パッチ" などの更新プログラムは、非常に入手しにくいものでした。更新プログラムはメディアの形で注文したり、雑誌の付録 CD から入手したりするのが普通でした。しかし、インターネットの登場によって状況は一変します。 ftp.microsoft.com が初めてセットアップされた際に、最初に提供されたサービスの 1 つが、MS-DOS と Windows の更新プログラムの配布でした。Windows Update の導入によって、私たちは単なるソフトウェア配布サービスではなく、高品質な更新プログラムをタイムリーに提供するシステムを構築するために、真剣に取り組むようになりました。ユーザーに自動更新機能を信頼していただける段階に至るまでには相応の時間がかかりましたが、それなりの成果も得ることができました。現 在、Windows Update はインターネットで最大規模のサービスの 1 つとなっており、もちろん Windows 8 の開発においても、製品アップデートのエクスペリエンスに改良を加えています。この記事は、Windows Update グループ所属のグループ プログラム管理者である Farzana Rahman が執 筆しました。–Steven
Windows Update に関して話題になることが多い問題点の 1 つとして、自動更新の際に必要になる再起動の手間が挙げられます。これは当然と言えるでしょう。再起動が必要になれば、重要な作業の最中でも中断を強いられることがあるからです。
まず考えるべきなのは、そもそも更新プログラムのインストールになぜ再起動が必要なのか、ということです。理想を言えば、更新プログラムのインストールが再起動を伴わず、バックグラウンドでシームレスに処理可能なら、それに越したことはありません。しかし現実的には、インストーラーが更新しようとしたファイルが使 用中で更新できないケースがあります。こういった場合は、インストールを完了するためにマシンを再起動する必要があります。このため、自動更新機能は、再起動が必要な状況にも対応できなければなりません。
このアーキテクチャ上の問題は、管理者にとってもエンド ユーザーにとっても厄介ですが、Windows の最先端の技術を示すものでもあります。多くの更新プログラムで、既にメモリに読み込まれている既存のコードを実行し続けることは可能でも、そのコードがセキュリティ上の脆弱性などを持っているので、マシンを再 起動するまではセキュリティや信頼性の問題が残ってしまうことを理解しておく必要があります。この点については、今後も改善していくつもりです。再起動は面倒ですが、Windows Vista から採用された Windows 再起動マネージャーに対応するアプリケーションであれば、再起動後に再起動前とまったく同じ状態から作業を再開できます。
この投稿では、Windows 8 で自動更新のエクスペリエンスに加えている改良点についてお話ししたいと思います。この改良によって、再起動のわずらわしさもいくらか軽減されるはずです。
現在 Windows Update (チームではたいてい "WU" と呼んでいます) によって更新が行われている PC の数は、Windows 7 PC では 3 億 5,000 万台以上、サポートされるすべての Windows プラットフォームの PC を含めれば 8 億台以上にのぼります。Windows Software Update Server や、さまざまな理由により更新を手動で行っているマシン (あるいはユーザー) を数に含めれば、WU によって間 接的に更新されている PC はさらにずっと多くなります。
10 年以上前の誕生以来、Windows Update のエクスペリエンスはエコシステムの変化に合わせて大きな進化を重ねてきました。セキュリティに関する要件の変化は、特に大きく影響しています。Windows を攻撃する大規模なエクスプロイトに対し、先手を打って PC を更新することにかけては、 Windows Update はかなりの成功を収めてきたと言えるでしょう。
私たちは自動更新機能の導入以来、全 WU ユーザーへの新しい更新プログラムの配布にかかる時間を短縮する努力を、常に行ってきました。下のグラフ (図 1) は、Windows 7 において、更新プログラムのリリースからどれくらいの時間でダウンロードとインストールが行われるかを示したものです。個別の ダウンロードのスピードは基本的に各 PC のインターネット接続状況によって決まり、WU が制御できない点を考慮すると、更新アクティビティの大部分がリリースから 3 日以内に発生しているのは興味深い事実です。この 3 日間というのは重要な数字です。後で Windows 8 における改善点についてお話し する際に、この数字が再度出てきます。
リリースから 1 週間で、更新プログラムの対象となる世界中のユーザーのうち 90% が再起動まで含めてインストールを完了し、その後のインストール数はおおむね横這いになっています。
図 1 - 更新プログラムのリリース時点からのダウンロードおよびインストール完了件数の推移
このように広範囲にわたる迅速な更新が可能になることは、ユーザーにとっても利点であることは明らかであり、Windows 7 ではユーザーの 90% 近くが更新を自動的に行うように設定していることからも、更新は基本的にバックグラウンドで行われるメンテナンス タスクと捉えられるようになっていることがわかりま す (まさにそうあるべきでしょう)。ユーザー ベース全体の 90% が、通知を表示したり確認を求めることなく、更新プログラムが自動的にインストールされることを望んでいます。
Windows 7
更新プログラムを自動的にインストールする
89.30%
インストール前に通知する
2.38%
ダウンロード前に通知する
3.44%
更新プログラムを確認しない
4.88%
図 2 – 自動更新の各モードの使用率
次に検討するべきなのは、更新プログラムを自動的にインストールするように設定したユーザーのエクスペリエンスがどのようになっているかという点です。下の図は、WU によって収集された匿名データを集計したものです。自動インストールを選択したユーザーの環境で行われたインストールのうち、各インストール モー ドが占める比率を確認することができます。
この図でわかるように、更新プログラムの自動インストールには、主なカテゴリが 3 つあります。各カテゴリの分析により、次の情報が得られました。
シャットダウン時のインストール – 自動更新の利用者のうち最も大き���比率 (39%) を占めるのが、システムをシャットダウンする際に更新を行うユーザーです。これらのユーザーの場合、インストールのすべての工程をシャットダウン中に完了することができるため、自動的な再起動は発生しません。こ れはユーザー エクスペリエンスに対する悪影響が最も小さいパターンなので、ユーザーが自らシャットダウンを行うときに私たちもなるべく "便乗" し、それ以外のときの再起動によってご不便をかけないようにしたいと思っています。
日時指定によるインストール - 自動更新の日時指定機能を利用している 30% のユーザーの場合、インストールは指定の時間帯 (既定では PC を使用している地域の時刻で午前 3 時)、または次にユーザーがログオンしたとき (午前 3 時の時間帯にできなかった場合) に行われま す。インストールの完了に必要な場合、WU が自動的に再起動を行います。再起動の前にユーザーが重要なファイルやデータを保存できるように、15 分のカウントダウン タイマーが表示されます。
ユーザーの操作なしで再起動が可能になったことで、Windows エコシステムの大部分に重要な更新プログラムを迅速に適用できるようになりました。平均して、重要な更新プログラムのリリースから 1 週間以内に、90% の PC がインストールを完了しています (図 1 を参照)。一方で、このような自動 的な再起動によって、ユーザーが予期しない結果が生じる場合もあります。再起動は予告なく発生することがあり、また発生の頻度も 1 か月に 1 度か、定例外の更新プログラムがあればさらに高くなることもあります。再起動を予測しにくいため、時としてユーザーのデータが失われてしまうことになります。自動インスト ールとそれに続く再起動の多くが行われる午前 3 時という時間帯は、ユーザーが不在のことも多く、その場合は重要な作業内容があっても保存できません。朝 PC のところに戻ってみたら、夜のうちに再起動が行われており、重要なデータが消えてしまったというケースも、残念ながら多々耳にします。データが失われな くても、処理中だった作業 (たとえば大量のコピーなど) を最初からやり直さなければならないというケースもあります。
対話型インストール - ユーザーの 31% が更新プログラムの対話型インストールを利用しているという結果には驚いています。このうち約 20% は、インストールを自動的に行うように設定していたものの、ユーザーが手動で介入したケースです。自動インストールを選択している場合、更新プログラム が利用可能になると、WU によってポップアップ通知が表示されます。この通知がユーザーの目に止まりやすかったため、ユーザーが通知をクリックして対話型インストールを行ったものと考えられます。しかしこれは、意図していなかった行動を助長していることになります。自動更新を選択している以上、更新プログラムが利 用可能になるたびにいちいち対話型のインストールを行う必要があるのは望ましくありません。インストールのほとんどがバックグラウンドで自動的に行われ、重要なアクション (再起動が保留されているなど) の場合にだけ WU がユーザーに通知するというのが本来の姿です。これは通知が頻繁に表示されてわずらわし いという、ユーザーからのフィードバックとも一致します。自動更新を選択したユーザーが期待するのは、名前のとおり、更新が自動的に行われることです。PC をユーザーにとって管理しやすくする意図で過剰に情報を表示してしまった結果、逆に管理しにくいという印象をユーザーに与えてしまったと言えそうです。
これらの教訓を踏まえて、Windows 8 における自動更新と再起動のエクスペリエンスを改良する作業に取りかかりました。
WU チームにとっての問題は常に、"ユーザーの邪魔をすることなく PC の更新を迅速に行う最善の方法は?" ということです。これは答えるのが難しい質問で、単純な 1 つの解答は存在しないようです。
私たちが直面した課題は、迅速な更新と、適切なタイミングでユーザーに再起動を予告することとの両立でした。脆弱性が悪用される前に更新を行って PC の安全性を確保することは、これまでと変わりなく、非常に重要な点です。Windows 8 では、タイムリーな更新という目標について妥協することなく、 再起動の扱いとデータ損失の回避という点でエクスペリエンスを向上させたいと考えました。
これを踏まえ、次の点をエクスペリエンス設計の基本方針としました。
これらの原則に基づき、Windows 8 の更新エクスペリエンスには次のような改良が施されました。
再起動を 1 か月に 1 度にまとめ、月例セキュリティー リリースとタイミングを合わせる: これはつまり、セキュリティ更新プログラムがインストールされ、再起動が必要になったときにのみ、PC の再起動を行うということです。この改良により、再起動を要する更新プログラムが 1 か月の中のどのタイミ ングでリリースされても関係なく、再起動はセキュリティ リリースまで保留されるようになります。セキュリティ更新プログラムは、毎月第 2 火曜日に単一のバッチとしてリリースされるため、再起動が必要になるのは基本的に 1 か月に 1 度だけです。プロセスをこのように簡略化することで、3 つのメリットが生じます。シ ステムの安全性確保をタイムリーに行うことができ、再起動の頻度が下がり、再起動のタイミングを予測しやすくなるのです。
再起動を月例セキュリティ リリースまで保留するという原則には、例外が 1 つあります。ワームに類する脆弱性 (たとえば Blaster ワームなど) を修正するための、重要なセキュリティ アップデートが発生したケースです。この場合、WU は即座に、かつ自動的に、ダウンロード、インストール、および再起 動を行います。ただし、この動作が行われるのはセキュリティ上の脅威が非常に大きい場合のみです。
自動的な再起動が発生する際は WU がユーザーに事前通知する: WU によるセキュリティ更新プログラムの検出、ダウンロード、およびインストールが既に完了し、再起動が必要な状態になっていると仮定しましょう。こういった場合、Windows Update は、自動再起動を予告するメッセージ を 3 日間にわたってログオン画面に表示します。更新アクティビティの大部分が、各更新プログラムのリリースから最初の 3 日間で行われていることを受け (図 1 を参照)、その期間内の自由なタイミングでユーザーに再起動を行ってもらうという趣旨です。ユーザーはログオン画面で [Update and shut down] (更新してシャットダウン) または [Update and restart] (更新して再起動) を選択するか、コントロール パネルの [Windows Update] から再起動を行うことができます。再起動が保留されていることを伝えるポップアップ通知やダイアログ ボックスが表示されることはありません。代わ りに、より目につきやすく趣旨に合った場所、つまりログオン画面にメッセージが表示されます。ポータブル性のあるマシンの増加に伴い、ログオン画面は家庭を含めて普遍的に使用されるようになっています。
以下はこのエクスペリエンスを時系列に沿って紹介したものです。
1. 再起動が予定されていることを示すメッセージが、3 日が経過するか PC が再起動されるまで、ログオン画面に表示されます。これはつまり、3 日間以内であれば自由なタイミングで PC の再起動ができることを意味します。3 日の期間のうちに 1 度でもログオン画 面を見れば、再起動が予定されていることを通知するメッセージを目にすることになります。また、既定では 15 分間アイドル状態が続くとロック画面が表示されます。
2. ログオン画面の再起動通知だけでなく、ロック画面の電源オプションも変化するため、さらにメッセージが目に止まりやすくなっています。更新が行われると同時に [Restart] (再起動) が [Update and restart] (更新して再起動) に変わり、2 日 目と 3 日目には [Shut down] (シャットダウン) も [Update and shut down] (更新してシャットダウン) に変わります。これによって、PC を再起動するタイミングがさらに選びやすくなります。
3.3 日が経過した段階でまだ再起動が完了していなければ、WU が自動的に PC を再起動します。この場合の自動再起動は、通常は 3 日間の猶予期間が終わった段階で行われますが、その時点で重要なアプリケーションが開かれていることが検知された場合は、ユー ザーが次にログインするまで保留されます。この動作については、次のセクションで詳しく説明します。
4.再起動が行われると、ログオン画面のメッセージは表示されなくなり、電源オプションも通常のものに戻ります。再起動後に自動でログオンする動作を求める声は多いのですが、これによって生じる可能性のあるセキュリティ上の問題を考えると、そういった構成は行わないことを強く お勧めします。
ユーザーのデータが失われるおそれがある場合は自動再起動を遅延させる: 3 日間の猶予期間が終わった時点でまだ再起動が必要な状態であったとしても、ユーザーのデータが失われる可能性がある場合は自動再起動は行われません。つまり、ユーザーが PC に向かっておらず (PC がロックさ れており)、バックグラウンドでアプリケーションが実行されていたり、未保存の作業内容が残っている可能性がある場合、WU はユーザーが戻ってきてログオンするまで自動再起動を保留します。ユーザーがログオンすると、作業内容を保存するように求めるメッセージが表示され、15 分後にマシンが再起動されるという警 告が出されます。
ユーザーの活動への影響を最小限に抑える: 重要なプレゼンテーション中や、ゲームや映画の途中などに再起動を求める通知やダイアログ ボックスが表示されるのは、(控えめに表現しても) 不愉快なものです。WU が自動再起動を試みた際に、ユーザーがプレゼンテーション モードやゲーム プレ イの最中、あるいは全画面表示で映画を観ていた場合、WU はこれを感知し、次の適切なタイミングまたは次にユーザーが PC にログオンするまで、自動再起動を保留します。
ビジネス ユーザー向けのエクスペリエンス: エンタープライズ環境の PC の場合、IT 管理者が特にポリシーを設定しなければ、更新機能の動作は家庭ユーザーの場合とまったく同じです。一方で、自動インストール後の自動再起動を行わないようにポリシーを設定することもできます (Windows 7 と同様です)。このポリシー設定が行われた場合、3 日間のカウントダウンや自動再起動は行われません。代わりに、再起動が行われるまで、PC の再起動が必要であることを示すメッセージがログオン画面に表示されます。これによってユーザーは、再起動が必要であることを認識しつつ、そのタイミングは自由に選 ぶことができます。
"通知モード" の場合のユーザー エクスペリエンス: 更新プログラムのダウンロードやインストールの前に通知を行うように設定したユーザー (図 2 で示した、ユーザー ベース全体の 5.82% に当たるユーザー) のエクスペリエンスについてもご説明したいと思います。これらの "通知モード" の ユーザーの場合、ログオン画面にメッセージが表示されます。更新プログラムのダウンロード前に通知するように設定している場合は、ダウンロードの準備が完了すると、ログオン画面に "Important updates are ready to be installed" (重要な更新プログラムをインストールする準備ができ ました) というメッセージが表示されます。インストール前に通知するように設定している場合は、ダウンロードの完了後、インストールの前に、同様のメッセージがログオン画面に表示されます。いずれの場合も、インストールは自動で行われないため、ログオン画面の再起動保留メッセージは表示されません。
私たちが Windows Update で達成を目指しているバランス、つまりユーザー エクスペリエンスを邪魔することなく PC (および PC エコシステム) を最新の状態に保つという目標は、これらの改良点の積み重ねによって実現されています。
最後になってしまいましたが、WU でサード パーティ アプリケーションの更新も行ってほしいという、ユーザーからのフィードバックに触れておきたいと思います。システム上に複数の更新ツールが存在している状況はエクスペリエンスとして最善でないと感じるユーザーがいるのは明らかです (この点は私たちも同感で す)。"各アプリケーションの更新ツールのエクスペリエンスが異なる"、"更新プログラムをインストールするために各アプリケーションの更新ツールを巡回しなければならない"、"更新ツールが実行されるタイミングも方法も、その結果として発生する動作も予測できない" など、弊害は多岐にわたります。システム全体をカ バーする単一の更新ツールを求める声があるのは確かです。しかし一方で、WU が配布する更新プログラムの品質は信頼でき、だからこそシステムの自動更新を安心して利用できるという声があることも見逃せません。こういった管理タスクを手動で行うことによって、たとえ短時間でも PC を潜在的な脆弱性にさらしてし まうユーザーを増やし、結果としてシステムに寄せられる信用を落とすようなことは避けたいと考えています。
WU と Microsoft Update オプション (オプトイン方式) では、Microsoft 製品やサード パーティのデバイス ドライバーの更新プログラムを、共通の設定ツールと共に提供しています。これらの更新プログラムはいずれも注意深くスクリーニングされており、ロールバックや復旧、全体的なシステムへ の影響などの面で、更新プログラムに関する Windows の基準を順守しなければならないようになっています。たとえば、私たちが Windows Update を通して提供するドライバーは、ハードウェアの Windows ロゴ プログラムに沿ったテストを通過しています。このテストでは、更新プログラムの検証後、認証のための署名を行います。また、より品質の高い優れたドライバーを提供するため、検証システ ムには常に改良が加えられています。さまざまなアプリケーションが採用する配布メカニズム、インストール ツール、そして更新プログラムに対する全体的なアプローチは非常に多様なので、すべての更新プログラムをこのメカニズム経由で提供するのは不可能です。残念なことではありますが、これはインストールされるソフト ウェア ベースのために簡単に変更するわけにはいかない、エコシステムの中の重要な構成要素でもあるのです。
しかし、//build/ カンファレンスでお話ししたように、新しい Windows Store は Metro スタイル アプリ (無償、有償を問わず) のワンストップ ショップとして機能し、アプリのメンテナンスが一 貫した方法で行われるように、更新サービスも組み込まれています。Windows 8 にこの改良点も盛り込むことができたのは、これらのアプリに対する検査体制と、ユーザーに価値を提供しようとする開発者の努力のおかげです。このトピックについては、パブリック テスティング向けに Store が利用可能になりしだい 、このブログで扱っていきます。
フィードバックをお待ちしています。
Farzana