Skip to main content

Internet Explorer 8 と信頼性

更新日: 2008 年 7 月 28 日


本記事は、Internet Explorer 開発チーム ブログ (英語) の翻訳記事です。本記事に含まれる情報は、Internet Explorer 開発チームブログ (英語) が作成された時点の内容であり、製品の仕様や動作内容を保証するものではありません。本記事に含まれる情報の利用については、 使用条件をご参照ください。また、本記事掲載時点で、Internet Explorer 開発チーム ブログ (英語) の内容が変更されている場合があります。最新情報については、Internet Explorer 開発チームブログ (英語) をご参照ください。

翻訳元 : IE8 and Reliability (英語)



単体でもシステムの一部としても安定して動作する技術を開発することは我々のミッションの核であり、信頼できるコンピューティングの重要な部分です。顧客とパートナーは、いつでも、どこでも、どんなデバイスでも信頼することができるテクノロジーとサービスを期待しています。我々はテクノロジーとサービスの信頼性を常に向上させ続けることに集中しています。

Internet Explorer にとっての信頼性とは、ブラウザーがいつも迅速に起動し、機敏に動作し、インターネットに確実に接続でき、クラッシュやハングアップしないで Web サイトを表示することを意味します。ほとんどのユーザーは自分のブラウザーが、クラッシュしてもその後速やかに復帰し、Web を正常に表示することを望んでいます。ユーザーは問題の原因が不完全なアドオンにあるのか、Web サイトの不備にあるのかについて興味はありません。信頼性を向上させるための取り組みとして、Internet Explorer 8 をパフォーマン、回復性、表示能力といったすべての方面においてもっと強靭なブラウザーにするよう多大なる努力を重ねました。ここでは特に下記の点について説明します。

Loosely‐coupled Internet Explorer

スムーズなブラウジング性能を得るためにブラウザーの各コンポーネントを分離する手助けとなる、アーキテクチャ上の機能です。

クラッシュ時の自動復旧機能

この機能はクラッシュ発生時に可能な限り迅速に元のブラウズ状態に復旧できるよう設計されています。

Windows エラー報告

Internet Explorer の信頼性を改善するための情報を、利用者が我々に提供できる方法です。

Loosely‐coupled Internet Explorer

最も重要な成果の一つが Loosely‐coupled Internet Explorer (LCIE) と呼ばれる機能で、このアーキテクチャの特徴はブラウザーのコンポーネント、特にフレームをタブから分離することを容易にすることです。LCIE は後述する自動復旧機能を含むいくつかの機能の基礎となっています。

もし Beta 1 の公開時に読んでいないのであれば、フレーム ウィンドウを分離する方法について言及している 最初の投稿をお読みになることをお勧めします。この機能は概ね Google chrome と同等のもので、タブをそれぞれ別のプロセスとして配置し、タブでクラッシュが発生してもブラウザーの他の部分が巻き込まれないように設計されています。図で示すと明るい部分がフレーム領域で、灰色の部分がタブ領域になります。

Beta 1 に搭載したこの機能を元に、さらに信頼性とパフォーマンスを向上させるため、Internet Explorer Beta 2 用の LCIE の開発を続けています。

Beta 2 では以下の変更が加わります。

 

フレーム プロセスの結合

起動速度を向上させるため、起動時のプロセスを削減しました。ブラウザーを起動するたびに 2 プロセス (フレームの為に 1 、タブのために 1) を起動するのではなく、最初に Internet Explorer を起動する際には 1 つのフレームのプロセスだけを起動します。以降の起動では新しいタブプロセスを起動するか、既存のタブプロセスを利用して、新しいタブを開きます。

複数のセッションで Web ブラウズすることに慣れているユーザー、たとえば複数の Web メールに同時にログインする場合など- は "-nomerge" コマンドを実行することでこの機能を無効化することができます。

タブプロセスの増加

動作中の Internet Explorer のセッションは多くの場合、3 つもしくはそれ以下のタブを開いていることが多いと考えられます。Internet Explorer 8 Beta 2 では、3 つのタブ プロセスを効率的に処理するように試みました。3 という数値はコンピュータの処理能力に依存し、より強力なコンピュータの場合、ある程度はこの数値が増加することもあります。プロセスを増加させることで、問題が発生したプロセスを有効に分離できるようになります。各々のタブが別のプロセスで駆動されている場合、それぞれのタブで表示されている Web サイトは完全に分離されます。

仮想タブ

"ホットスワップ" と呼ばれるタブに関する内部処理機能を追加しました。これまで保護モードはプロセスごとに動作していました。例えば、Internet Explorer 7 であるサイトを信頼済みサイトに追加します。このサイトに信頼済みサイトではない別のサイトへのリンクがある場合、このリンクをクリックすると新しいウィンドウが開きます。

フレーム ウィンドウからタブを分離する LCIE を搭載した Internet Explorer 8 beta 1 でこの動作を改善しました。この分離機能によって、これまでのように別のウィンドウを開くことなく、同じウィンドウ内に新しいタブを開くができるようになりました。

仮想タブによって、タブごとに適切な整合性レベルのプロセスへ切り替えることができるため、保護モードとそうでないモードを同じタブでナビゲートできます。これはただの "操作性の向上" であって、仮想タブは保護モードの有効 / 無効を遷移する際の操作を便利にする以外、セキュリティや保護モードの動作自体にはまったく影響ありません。

複数のプロセスと仮想タブによってブラウザーの各部分を分離する LCIE の能力は Internet Explorer のパフォーマンスと信頼性を向上させます。

自動復旧機能

クラッシュ発生時、自動復旧機能は可能な限り速やかに、元のブラウズの状態を復旧するように設計されています。問題を特定のタブに局所化するために LCIE の技術が利用されます。Internet Explorer 8 beta 1 でクラッシュが発生した際、以下のようなバルーン ヘルプを見たことがあるかもしれません。

これが "タブ復旧機能" です。これによりトラブルは問題が発生したタブに限定されました。ブラウザー本体は消滅せず、速やかに元の Web サイトが再表示されます。

このような現象が発生した場合、タブに関する各種情報は保存され、復旧の際に利用されます。Internet Explorer beta 1 では以下の情報が保持されています。

ž   現在の URI

ž   トラベルログ (戻る、進むボタンで利用する履歴情報)

ž   タブの順番

ž   どのタブがアクティブであったか

クラッシュが発生すると問題が発生したタブ プロセスは放棄され、新たなタブプロセスを始動して、格納されていた情報が復元されます。多数の Web サイトでこの機能は有効に動作します。しかしながら、フォームを利用しているサイトや、ログオンが必要となるサイトの場合、正常に動作しないこともあります。

Internet Explorer beta 2 ではさらに下記の点について改良を行いました。

セッション クッキー

セッション クッキーは Web サイトがユーザーを認証するために利用されています。セッション クッキーは一時的なクッキーで、その有効期間はセッション中のみです。Web サイトにログオンすると、通常はログオン中にユーザーを識別するため一意のトークンを含んだセッション クッキーが提供されます。Web サイト内を移動する場合、Internet Explorer はこのセッションクッキーを送信し、Web サイトはトークンを調査することで、ユーザーが認証されているか判定できます。継続的に利用されるクッキーとは異なり、セッションクッキーはハードディスクには記録されません。

Internet Explorer 8 beta 2 はセッション クッキーの回復を可能にしましたが、ハードディスクに記録しているわけではありません。Internet Explorer 8 beta 2 はセッション クッキーのコピーをフレーム プロセスに保存します。タブのクラッシュが発生した場合、フレーム プロセスから、タブ プロセスに復元に必要な情報 (例えば Web メール、ブログ、SNS など) が自動的に書き戻されます。

セッション クッキーの復元はタブのクラッシュが発生したときにのみ行われる点に注意が必要です。ほとんどの場合クラッシュの影響はタブだけに留まると考えていますが、もしブラウザー全体がクラッシュした場合、セッション クッキーは失われます。このような現象はタブの分離機能に対応していないアドオンに起因する可能性が高いと考えられます。

フォーム データ

Internet Explorer 8 beta 2 では、フォームに入力したデータの復元も可能となります。電子メールや、ブログの投稿やコメントのような HTML フォームに入力した情報も復旧できるようになりました。

LCIE によるタブの分離機能によって、自動復旧機能はデータを再入力しなくてもクラッシュ直前の状態を回復できるようになりました。LCIE と自動復旧機能の連動はとても革新的で非常にすばらしいクラッシュからの復旧手段を提供します。

Windows エラー報告 (別名ワトソン博士)

クラッシュやハングアップに遭遇したとき、"Microsoft に情報を送信します" という選択肢を見かけたことがあるかも知れません。送信された情報を私たちがどのように利用しているかについて疑問をお持ちかも知れません。

端的にいうと、私たちは送信された情報を毎日確認しています。これらのデータは非常に重要なものであるため、真剣に報告書を作成しています。それだけではなく、現在世界中でどのような問題が発生しているかを知ることができ、さらにその原因を特定することもできます。実際にエラー報告によって修正される事例もあります。

Internet Explorer がクラッシュもしくは、ハングアップし、Windows エラー報告の送信を選択した場合、現象発生時に問題のプログラムがどのような状態にあったかという情報が採取されます。Internet Explorer がクラッシュした時にどのような動作をしていたのか、どのようなアドオンがロードされていたかを確認することもできます。確認担当のプログラマーのため、メモリー ダンプとコール スタックも送信します。あなたが Windows 用アプリケーションや Internet Explorer 用のアドオンを作成しているプログラマーであれば、 ワトソンのデータを取得して (英語) あなたのアプリケーションの品質を改善することもできます。

Windows エラー報告では類似の問題を、通常同じ根本原因を持つ現象として "buckets" にまとめます。Internet Explorer のプログラム コードに起因して頻繁に問題が発生している場合、コードを修正しています。Internet Explorer 8 では、我々はワトソンによって送信されてくるすべての情報のうち、上位 50 % のもの (Internet Explorer 7 から引き続き発生している問題を含む) を集中的に修正しました。

Microsoft は顧客がエラー レポートを送信する際のプライバシーの保護に対して力を尽くしています。エラー発生時に生成される報告用のデータは、問題の解決に必要な最小限に留めます。エラー レポートにはいかなる個人情報も含まれず、Microsoft へ情報が送信される前にユーザーの確認が求められます。Microsoft はエラー レポートの送信者を特定しません (送信者が過去に類似の事例があるかを確認することを選択した場合を除きます) 。たとえ、問題の解決のためにより詳細な情報が必要な場合であっても、Microsoft の開発者は顧客を特定することはできないのです。

Internet Explorer 8 beta 2 の準備はできました

LCIE と自動復旧機能、多くの問題の修正は Internet Explorer 8 beta 2 を信頼に足るブラウザーとしました。Internet Explorer 8 beta 2 が公開された折には、ぜひこの点にご注目ください。

 

Andy Zeigler
Program Manager
Reliability and Privacy

 

ページのトップへページのトップへ

評価してください: