信頼性
開発者のための、Windows Vista™ におけるアプリケーションの信頼性に関する概要
Windows Vista™ (以前の Windows コード ネーム "Longhorn") が提供する一連の新しい API を使用すると、アプリケーションの予測可能性と管理可能性が向上します。また、強化された開発者ポータル サービスにより、作成したアプリケーションを実際に展開した場合の動作を容易に理解できます。

はじめに
信頼性のあるアプリケーションとは、ユーザーの期待どおりに動作するアプリケーションです。Windows Vista に新しく用意された多数の API と開発者向け Web サービスを使うと、エンド ユーザーにとって予測可能かつ管理可能なアプリケーションを作成でき、不測の事態が起こった場合にも自己診断が可能です。
Windows Vista エクスペリエンスの主な理念は、システムやアプリケーションが「スムーズに動作する」ということです。ユーザーが求めるのは、容易にインストールして使用できる、安定したアプリケーションです。安定したアプリケーションとは、異常停止、クラッシュ、再起動が起こりにくいアプリケーションです。開発者は、Windows Vista が提供する一連のツールを使用することにより、システムの安定性やパフォーマンスを最適化するアプリケーションを作成することができます。
Windows Vista を使用している開発者は、ソフトウェアのエラーや不安定なシステムが原因でデータや作業が失われないように、ユーザーを保護できます。Windows Vista が提供する優れたメカニズムを使用すると、すべてのユーザーモードのアプリケーションを再起動可能なアプリケーションとして登録することができ、またドキュメントの回復インターフェイスを利用することも可能になります。Windows Vista 再起動マネージャー テクノロジーと組み合わせて使用すると、Windows Vista アプリケーションとデータ回復メカニズムでは、アプリケーションのインストールやアップグレードがよりユーザー本位のものになります。たとえば、システムの再構成のためにアプリケーションを中断する必要がある場合、そのアプリケーションの実行時の状態が維持されます。Windows Vista では I/O キャンセル サポートが向上し、アプリケーションの応答が迅速化しました。以上のようなメカニズムに加え、WFP (Windows Feedback Platform) では、アプリケーションのクラッシュや異常停止時のエラー対応がサポートされます。これにより、エラーに関するレポートの作成やユーザーの反応を管理することができます。
ページのトップ
データ回復とアプリケーションの再起動
Windows Vista では、更新やアプリケーションのインストールを行うとき、ほとんどの場合、コンピューターを再起動する必要がありません。Windows Vista はどのアプリケーションやサービスがどのファイルを使用しているかを認識しており、ファイルの更新が必要な場合は、アプリケーション データの保存、アプリケーションの終了またはサービスの停止、ファイルの更新、アプリケーションやサービスの自動再起動を調整します。この機能は、再起動マネージャーという機能によって提供されます。
再起動マネージャーは Microsoft Update、Windows Update、Microsoft Windows Server Update Services、Microsoft Software Installer、Microsoft Systems Management Server と連携して、使用中のファイルがあるプロセスを検出し、コンピューター全体を再起動せずに適切にサービスを中断し、再起動します。新しい再起動マネージャー機能を利用するアプリケーションを作成した場合、そのアプリケーションを再起動すると、再起動前と同じ状況、同じデータに回復することができます。
ページのトップ
I/O キャンセル サポート
短時間で完了しない、キャンセル不可能な機能または API がユーザー インターフェイス (UI) スレッドから呼び出された場合、Windows アプリケーションは応答しなくなります。UI が一定期間以上ブロックされ、アプリケーションのユーザーはこの状態が回復しそうにないことを認識します。そこでユーザーはアプリケーションを終了するか (通常はウィンドウのタイトル バーにある [X] をクリックします)、コンピューターを再起動します。マイクロソフトが実施した使いやすさに関する調査によると、たとえ数秒間の中断であっても、多くのユーザーは長すぎると感じるようです。
開発者は、適正でないユーザーの環境についてあれこれ推測します。開発者はとりわけ、デバイスへの入力や出力 (I/O) は迅速に完了すると考えています。しかし、デバイスの種類、特にネットワークに接続されたデバイスでは、そうでない場合があります。ネットワークの混雑や待機時間が原因で、アプリケーションの応答に重大な問題が生じることがあります。
Windows XP の異常停止レポートに関する調査結果を基にして、Windows Vista での I/O キャンセル サポートが向上しました。このサポートには、新しい Win32 API も含まれています。
最も顕著な向上点の 1 つが CancelSynchronousIo API で、これは、同期のファイル I/O 呼び出しをキャンセル可能にします (たとえば OpenFile または GetFileAttributes など)。この API は別のスレッドから呼び出されるので、アプリケーションはマルチスレッドをサポートする必要があります (マルチスレッドは、アプリケーションの応答性を維持するために、ほぼ常に必要とされます)。
もう 1 つの追加点は、CancelIoEx という、既存の API の強化バージョンです。この APIは、特定のファイル処理に対して保留中になっている I/O 操作をすべてキャンセルすることを要求します。
これらの新しい API は、対応する新しいカーネル機能によってサポートされています。大きな変更点は、Windows Vista では作成要求のドライバレベルでのキャンセルがサポートされているということです。
ページのトップ
アプリケーション フィードバックの取得
Windows Vista は、Windows Feedback Platform (Microsoft Windows の以前のリリースに含まれている Windows Error Reporting 機能を拡張したもの) で使用されているメカニズムを介して、フィードバックおよび診断に関する強化されたメカニズムを開発者に提供します。Windows Feedback Platform には以下のような特徴があります。
- クラッシュや異常停止などの一般的なシナリオに関する情報の検出や取得を簡単に行えるようにする。
- エラー処理における追加データの特定や収集を可能にする。
- レポートの新しい診断シナリオを追加する。
Windows Vista は、拡張可能なレポート環境、オンライン エラー追跡機能、および開発コミュニティとの統合機能を提供します。このような機能を使用することにより、開発者は、実際に実行されているアプリケーションのインスタンスを基にして、問題のデバッグに必要なデータを収集できます。この情報は、マイクロソフトの開発者ポータル サイトで管理され、調査されるレポートを生成するために使用されます。
このポータルによって、Microsoft スタッフは製品改善のためのフィードバックを開発者に提供し、エンド ユーザーには回避策や更新についての情報、および問題解決のための修正プログラムを提供できます。このポータルは開発者コミュニティにも無償サービスとして提供されます (https://winqual.microsoft.com (英語) をご覧ください)。このサービスによって、開発者はクラッシュや異常停止の傾向をボリュームと増加率の面から確認したり、ミニ ダンプなどのエンド ユーザー レポート ファイルをダウンロードすることができます。また、アプリケーションのセキュリティ問題などに関するイベントにサブスクライブしたり、回答を登録してユーザーのための解決策につなげることができます。Windows Vista では、Developer Portal for Windows Feedback Platform サービスを利用することにより、開発者は製品の品質向上や、不明なアプリケーションの状態に関する情報の推測を容易に行えます。また、ユーザーとの関係構築も容易に行えるようになります。これは、ユーザーが IT 専門家であるかエンド ユーザーであるかを問いません。
さらに、このテクノロジーは以下のことを実現することによって、システム管理者やその他の IT プロフェッショナルも支援します。
- コンピューター上のエラー履歴を表示し、トラブルシューティングを補助する。
- 企業内において、デスクトップで使用するレポートの機能を制御するためのポリシーを作成する。
エンド ユーザーには、アプリケーションの向上という利点だけでなく、Windows Vista が備えている、一貫性のある機能を利用してエラー処理を行えるという利点があります。その他にも、エンド ユーザーは以下のことを期待できます。
- データ収集やユーザー インターフェイスの簡素化によって、エラー レポート転送時の待ち時間が短縮。
- シンプルなメカニズムでレポートをキャンセル。
- グローバルなオプトイン メカニズムによって、ユーザーのエラー対応レポートの要求を自動化。
- 自動ソリューション チェックなど、ユーザーによる「ソリューション検索」を実現したことで、ユーザーからのフィードバックが向上。
これらのサポートの他、以下のような支援があります。
- データの収集および移動の安全性や信頼性を向上する。
- ユーザーのプライバシーや知的財産を保護する。
- ユーザーと管理者の両者にとって、管理を簡単にする。
- オフライン シナリオをサポートする。
ページのトップ
まとめ
信頼できるエクスペリエンスをエンド ユーザーに対して提供できるかどうかは、オペレーティング システムと開発者の両方に依存します。Windows Vista が提供する一連の機能を利用することにより、開発者は、予測通りに動作し、ユーザーのシステムを中断せずにインストールでき、障害が生じたときにユーザーからのフィードバックを収集するためのメカニズムを備えたアプリケーションを開発することができます。
ページのトップ
|