(57)【特許請求の範囲】
【請求項１】
コンピューティング環境において、ブラウザによってホストされている文書オブジェクトと前記ブラウザのトラベル・ログとを統合する方法であって、
前記ブラウザが、前記文書オブジェクトから、前記文書オブジェクトがイベントを前記ブラウザに送るためのインターフェース・ポインタを求める要求を受け取るステップと、
前記ブラウザが、前記文書オブジェクトに、前記ブラウザがイベントを前記文書オブジェクトに送るためのインターフェース・ポインタを求める要求を送るステップと、
前記ブラウザが、前記文書オブジェクトから、トラベル・エントリを含むイベントを受け取るステップと、
前記ブラウザが、前記トラベル・エントリをトラベル・ログに追加するステップと、
前記ブラウザが、ブラウザ・コマンドを介して前記トラベル・エントリまでナビゲートするステップと、
前記ブラウザが、前記文書オブジェクトに基づいてサブナビゲーション・エントリをフィルタリングし、前記文書オブジェクトに対応するサブナビゲーション・ウィンドウを再生して、他の文書オブジェクトに対応するサブナビゲーション・ウィンドウを再生しないステップと、
前記ブラウザが、前記文書オブジェクトに、サブナビゲーション・ウィンドウが再生するのに依然として有効であるかどうかを判断するように要求するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記サブナビゲーション・エントリに対応する状態情報を前記文書オブジェクトに戻すステップを更に含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記トラベル・ログの中の複数のエントリの少なくとも一部を表示するステップを更に含むことを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記トラベル・エントリを受け取るステップは、前記文書オブジェクトが前記ブラウザによってホストされていない場合を含めて選択的に表示可能であるトップレベル・エントリを受け取るステップを含むことを特徴とする方法。
【請求項５】
請求項４記載の方法において、前記文書オブジェクトに対して、サブナビゲーション・ウィンドウが当該ウィンドウに対するエントリを表示するのに依然として有効かどうかを判断するように要求するステップを更に含むことを特徴とする方法。
【請求項６】
請求項１記載の方法において、追加されている前記トラベル・エントリに基づいてアドレス・バーを更新するステップを更に含むことを特徴とする方法。
【請求項７】
請求項６記載の方法において、前記文書オブジェクトに対して、前記ブラウザのアドレス・バーのアドレスを取得するように要求するステップを更に含むことを特徴とする方法。
【請求項８】
請求項１記載の方法において、前記文書オブジェクトの識別子に基づいて前記文書オブジェクトと関連するトラベル・ログの中の少なくとも１つのエントリを削除するステップを更に含むことを特徴とする方法。
【請求項９】
請求項１記載の方法において、トラベル・エントリを含む前記イベントは一意的な識別子を含むことを特徴とする方法。
【請求項１０】
請求項１記載の方法において、前記トラベル・エントリは、該エントリに表されている状態までアプリケーションを回復するための情報を含むトップレベル・エントリを含むことを特徴とする方法。
【請求項１１】
請求項１記載の方法において、前記トラベル・エントリを追加するステップは、前記トラベル・ログにおける現在のオフセットに前記エントリを前置するステップを含むことを特徴とする方法。
【請求項１２】
請求項１記載の方法において、前記トラベル・エントリの追加時に前記ブラウザのアドレス・バーを自動的に更新するステップを更に含むことを特徴とする方法。
【請求項１３】
請求項１記載の方法において、前記文書オブジェクトと前記ブラウザとは、ナビゲーション・イベントを介して通信して相互の同期を維持することを特徴とする方法。
【請求項１４】
請求項１記載の方法において、トラベル・エントリを含む前記イベントは、ユーザによって生成される活動の通知を含むことを特徴とする方法。
【請求項１５】
請求項１記載の方法において、前記ブラウザが、前記文書オブジェクトに対し、ＵＲＬをアドレス・バーに表示するように要求するステップを更に含むことを特徴とする方法。
【請求項１６】
請求項１記載の方法において、前記トラベル・エントリは状態を含み、この方法は、前記文書オブジェクトから非同期コールを受け取り前記トラベル・エントリの状態を更新するステップを更に含むことを特徴とする方法。
【請求項１７】
コンピュータ実行可能な命令が記憶された少なくとも１つのコンピュータ可読記憶媒体であって、前記コンピュータ実行可能な命令は、実行されると、
ブラウザが、前記文書オブジェクトから、前記文書オブジェクトがイベントを前記ブラウザに送るためのインターフェース・ポインタを求める要求を受け取るステップと、
前記ブラウザが、前記文書オブジェクトに、前記ブラウザがイベントを前記文書オブジェクトに送るためのインターフェース・ポインタを求める要求を送るステップと、
前記ブラウザが、前記文書オブジェクトから、トラベル・エントリを含むイベントを受け取るステップと、
前記ブラウザが、前記トラベル・エントリをトラベル・ログに追加するステップと、
前記ブラウザが、ブラウザ・コマンドを介して前記トラベル・エントリまでナビゲートするステップと、
前記ブラウザが、前記文書オブジェクトに基づいてサブナビゲーション・エントリをフィルタリングし、前記文書オブジェクトに対応するサブナビゲーション・ウィンドウを再生して、他の文書オブジェクトに対応するサブナビゲーション・ウィンドウを再生しないステップと、
前記ブラウザが、前記文書オブジェクトに、サブナビゲーション・ウィンドウが再生するのに依然として有効であるかどうかを判断するように要求するステップと、
を含む方法をコンピュータに実行させるコンピュータ可読記憶媒体。
【請求項１８】
コンピューティング環境における、コンピュータ・プロセッサとコンピュータ可読メモリとを備えるシステムであって、
トラベル・ログを有するブラウザと、
前記ブラウザにおいて文書オブジェクトをホストする手段と、
前記文書オブジェクトによって提供される少なくとも１つのナビゲーション・エントリの集合を前記トラベル・ログに追加する手段であって、前記集合はサブナビゲーション・エントリを含み、
前記ブラウザが、前記文書オブジェクトから、前記文書オブジェクトがイベントを前記ブラウザに送るためのインターフェース・ポインタを求める要求を受け取る手段と、
前記ブラウザが、前記文書オブジェクトに、前記ブラウザがイベントを前記文書オブジェクトに送るためのインターフェース・ポインタを求める要求を送る手段と、
前記ブラウザが、前記文書オブジェクトから、１又は複数のイベントを受け取る手段と、
を備えている手段と、
前記集合を現在ホストされている文書オブジェクトに関連付けて、トラベル・ログ・エントリを介して前記文書オブジェクトと対応しないサブナビゲーションまでのナビゲーションを回避する手段と、
を備えていることを特徴とするシステム。
【請求項１９】
請求項１８記載のシステムにおいて、前記集合を追加する前記手段は、定義されたインターフェースの集合を含むことを特徴とするシステム。
【請求項２０】
請求項１９記載のシステムにおいて、前記ブラウザと文書オブジェクトとインターフェースとはコンポーネント・オブジェクト・モデル（ＣＯＭ）技術に基づいていることを特徴とするシステム。
【請求項２１】
コンピュータ実行可能な命令が記憶された少なくとも１つのコンピュータ可読記憶媒体であって、前記コンピュータ実行可能な命令は、実行されると、ブラウザによってホストされている文書オブジェクトと前記ブラウザのトラベル・ログとを統合する方法であって、
ブラウザが、前記文書オブジェクトから、前記文書オブジェクトがイベントを前記ブラウザに送るためのインターフェース・ポインタを求める要求を受け取るステップと、
前記ブラウザが、前記文書オブジェクトに、前記ブラウザがイベントを前記文書オブジェクトに送るためのインターフェース・ポインタを求める要求を送るステップと、
前記ブラウザが、前記文書オブジェクトから、トラベル・エントリを受け取るステップであって、前記トラベル・エントリは、前記文書オブジェクトに対応する複数のサブナビゲーション・エントリの中のサブナビゲーション・エントリを含む、ステップと、
前記ブラウザが、ブラウザ・コマンドを介して前記トラベル・エントリまでナビゲートするステップと、
前記ブラウザが、前記文書オブジェクトに対して、サブナビゲーションを現在有効なウィンドウだけまでに制限するように要求するステップと、
を含む方法をコンピュータに実行させるコンピュータ可読記憶媒体。
【請求項２２】
請求項２１記載のコンピュータ可読記憶媒体において、前記トラベル・エントリは前記文書オブジェクトに対応する複数のサブナビゲーション・エントリの中のサブナビゲーション・エントリを含み、更に、前記ブラウザが別の文書オブジェクトに対応するサブナビゲーション・エントリまでナビゲートすることを阻止するステップを含むコンピュータ実行可能な命令が更に記憶されていることを特徴とするコンピュータ可読記憶媒体。
【請求項２３】
請求項２１記載のコンピュータ可読記憶媒体において、前記ブラウザが前記文書オブジェクトに対して前記ブラウザのアドレス・バーのアドレスを取得するように要求するステップを含むコンピュータ実行可能な命令が更に記憶されていることを特徴とするコンピュータ可読記憶媒体。
【請求項２４】
請求項２１記載のコンピュータ可読な記憶媒体において、前記ブラウザと前記文書オブジェクトとの間でナビゲーション・イベントを通信するステップを更に含むコンピュータ実行可能な命令が更に記憶されていることを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システム一般に関し、特に、ブラウザにおいてホストされている文書（ドキュメント）におけるナビゲーションに関係する。
【背景技術】
【０００２】
現在のウェブ・ブラウザにおいて、ユーザは、異なる複数のウェブサイトを訪れることができ、また、１つのウェブサイト又はウェブ・アプリケーションの中の異なる複数のページを訪れることができる。ユーザは、ブラウザのバック・ボタン及びフォワード・ボタンを用いて、あるいは同様のユーザ・インターフェース（例えば、特別のマウス・ボタンなど）を用いて、訪問した順に複数のページの間で前後双方の方向にナビゲートすることができる。マイクロソフト社のインターネット・エクスプローラ（登録商標）は、異なる複数のウェブ・ページの間での前後双方の方向へのナビゲーションを可能にするようなブラウザの１つであるが、この目的のために、最近訪問したサイトのリストを維持するナビゲーション・スタックを含むトラベル・ログ（ＴｒａｖｅｌＬｏｇ）を維持する。
【０００３】
ＨＴＭＬベースのウェブ・ページを見るだけでなく、インターネット・エクスプローラ（登録商標）は、異なる複数のタイプのコンテンツ・インライン、例えばマイクロソフト・オフィス（登録商標）文書やｐｄｆ文書などを、ホストすることができる。一般に、別の文書をホストするためには、文書オブジェクト（すなわちＤｏｃＯｂｊ）がコンテンツを含むコンテナとして用いられ、オブジェクトは、定義されたインターフェースを介してブラウザと通信する。インターネット・エクスプローラ（登録商標）の場合、ＣＯＭ（コンポーネント・オブジェクト・モデル）技術を用いて、コンテナの仕様が提供される。
【０００４】
しかし、ホストされている１つのドキュメントの中の複数のページの間でのナビゲーションに関しては、ユーザの経験は制限され、ＨＴＭＬページのナビゲーションの場合との一貫性がない。例えば、１つのプレゼンテーション（例えば、マイクロソフト・パワーポイント（登録商標））文書の中の複数の文書ブックマークを介して又は複数のページ（スライド）の間でナビゲートする場合、ユーザは、ブラウザのバック・ボタンを押すときには、同じプレゼンターション文書の中の前のページに戻るつもりでいる。しかし、ブラウザは、同じプレゼンテーション文書の中の前のページにナビゲートするのではなく、前のウェブ・ページにナビゲートしてしまう。その結果、文書サーバは、１つの文書の中の複数のページの間で前後に移動する目的のために、それ独自のインターフェースを（例えば、アイコンから構成される別のツールバーにおいて）提供することが多い。
【０００５】
この内部的なツールバーによる解決法は、ある程度まではうまく機能するが、ブラウザが文書オブジェクトをホストしていて、ユーザが（しばしば、ふだんの習慣から）ブラウザのナビゲーション・コマンドを用いると生じてしまう一貫性が欠け予期しない結果を克服することができない。従って、現在必要とされるのは、ブラウザのバック・コマンド及びフォワード・コマンド経由の場合を含めて、ホストされている文書オブジェクトの中の複数のページにナビゲートするためのシームレスな方法であり、ユーザの期待と一致し一貫性のあるナビゲーション経験をユーザに提供することである。
【発明の概要】
【０００６】
端的に、本発明は、ブラウザにホストされた文書オブジェクトをブラウザのトラベル・ログ（ナビゲーション・スタック）と統合し、ユーザが複数のウェブ・ページの間で及び様々なタイプのドキュメントの内部で一貫性のあるナビゲーション経験を有することができるようにする方法及びシステムに関する。この目的のために、インターフェースが提供され、このインターフェースにより、文書オブジェクトは、サブナビゲーション・トラベル・エントリをブラウザのトラベル・ログに追加することができる。ブラウザは、ナビゲーションをトップレベルのトラベル・エントリと、現在ホストされている文書オブジェクトのサブナビゲーション・エントリとに制限する。その結果、ユーザは、エントリのドロップダウン・メニュに加えて、ブラウザのナビゲーション・コマンドを、特にフォワード・コマンドとバック・コマンドとを用いて、ホストされている文書のページの内部でナビゲートすることが可能になる。
【０００７】
ある実装例では、ブラウザと文書管理とは、トラベル・ログの統合に用いられるインターフェースを実現するＣＯＭオブジェクトを含む。統合により、文書オブジェクトが、トラベル・エントリを追加し、データ構造において提供されるＵＲＬ、タイトル（フレンドリな名称）、バイナリ・ストリームなど、関連する状態を維持することが可能になる。文書オブジェクトは、エントリを追加するときには、一意的な識別子を指定し、それぞれのウィンドウ／フレームに対するサブナビゲーション・エントリなどの異なる複数のエントリを区別する。また、このインターフェースにより、文書サーバが、トラベル・エントリを削除するが可能になるし、また、履歴ナビゲーションにおける新たな状態を用いて既存のトラベル・エントリを更新することも可能になる。文書オブジェクトは、アプリケーションの現在のコンテキストに基づいて、ユーザがナビゲートして到達できるトラベル・エントリを制御することができるし、また、例えばアプリケーションの状態変化に基づくなど、必要に応じてトラベル・ログを更新することもできる。
【０００８】
一貫性のあるユーザの経験のために、あるエントリを加える際に、又は、あるエントリまでナビゲートする際に、文書オブジェクトは、ブラウザのアドレス・バーを更新することがある。ブラウザとホストされている文書オブジェクトとは、様々なナビゲーション・イベントを通信することにより、相互の同期状態を維持する。
【０００９】
ある実装例では、ブラウザは、現在ホストされている文書オブジェクトに対応しないサブナビゲーション・エントリをフィルタリングにより除去することによって、ナビゲーションを、トップレベルのトラベル・エントリと、現在ホストされている文書オブジェクトのサブナビゲーション・エントリとに制限する。これは、エントリのドロップダウン・リストをレンダリングするときや、バック・コマンド又はフォワード・コマンドに応答してトラベル・ログ・ナビゲーション・スタックを上下に移動させるときに、なされる。この目的のために、一意的な文書識別子（例えば、そのＣＬＳＩＤ）が、それぞれのエントリと共に維持され、現在の文書オブジェクト識別子と各エントリとが一致するようになっている。トップレベルのトラベル・エントリは、文書オブジェクトと一致するサブナビゲーション・トラベル・エントリと共に、許可される。ブラウザから文書オブジェクトへのクエリ（query、要求）が、与えられているウィンドウ識別子に対する二次的なチェックを行うこともあり、それによって、もはや有効でないフレーム（例えば、ユーザのアクションによって削除されたフレーム）は、ナビゲーションが可能な対象からフィルタリングによって除去される。
【００１０】
ウィンドウを再生する場合には、ブラウザは、維持されている状態情報を、そのウィンドウに対応する文書オブジェクトに返す。文書オブジェクトは、ブラウザを非同期的にコールして、状態を更新することができる。
【００１１】
本発明は、このように、中央ユーザ・インターフェースを用いて、ホストされている様々な文書タイプ／アプリケーションの間でのナビゲーションを提供し、また、それぞれのドキュメント／アプリケーションの内部でのナビゲーションを可能にする。ユーザは、これによって、アプリケーション／文書の内部で、シームレスに前後に移動することが可能になり、そして一貫性のある予期されたブラウジング経験が提供される。
【００１２】
他の効果は、添付の図面を参照して以下の詳細な説明を読むことにより、明らかになるはずである。
【発明を実施するための最良の形態】
【００１３】
例示的な動作環境
図１は、発明が実行されるかもしれない適切な計算機システム環境１００の例を例証する。コンピューティング（計算）システム環境１００は適切なコンピュータ環境の単なる１つの例で、使用あるいは発明の機能性のスコープに関してどんな制限も示唆するようには意図されない。また、コンピュータ環境１００はどんな従属性あるいは任意のものあるいは典型的な操作環境１００に例証されたコンポーネントの組合せに関係のある要求も持っているとは解釈されるべきでない。本発明は、多数の他の汎用または専用の計算機システム環境か構成で使用可能である。有名な計算機システム、環境および（または）発明加算を備えた使用にふさわしいかもしれないが、制限的ではない構成の例は次の通りである。パーソナルコンピュータ、サーバーコンピュータ、携帯機器またはラップトップのデバイス、タブレット・デバイス、マルチプロセッサーシステム、マイクロプロセッサ・ベース・システム、セットトップ・ボックス、プログラム可能な家電、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、上記のシステムあるいはデバイスのうちのどれでも含んでいる分散コンピューティング環境など。
【００１４】
本発明は、コンピュータによって実行されて、プログラムモジュールのようなコンピュータ実行可能命令の一般情勢に述べられるかもしれない。一般に、プログラムモジュールはルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。それは特別のタスクか道具項目抽象データ型を行なう。本発明は、通信網によってリンクされる遠隔処理デバイスによってタスクが行なわれる分散コンピューティング環境中で実行されるかもしれない。分散コンピューティング環境では、プログラムモジュールは、ローカルおよび（または）記憶装置デバイスを含むリモートコンピュータ記憶媒体に位置するかもしれない。
【００１５】
図１に関して、発明を実行するための典型的なシステムは汎用コンピューティング装置をコンピュータ１１０の形で含んでいる。コンピュータ１１０のコンポーネントは含んでいるかもしれない、しかし制限されない、演算処理装置１２０、システムメモリ１３０、および演算処理装置１２０へのシステムメモリを含む様々なシステムコンポーネントを連結するシステム・バス１２１。システム・バス１２１は、様々なバス方式のうちのどれでも使用して、メモリバスかメモリコントローラー、周辺バスおよびローカルバスを含むいくつかのタイプのバス構造のいずれかかもしれない。制限ではなく例経由で、そのようなアーキテクチャは産業標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネル・アーキテクチャ（ＭＣＡ）バス、向上させられたＩＳＡ（ＥＩＳＡ）バスを含んでいる。ビデオエレクトロニクススタンダーズアソシエーション（ＶＥＳＡ）ローカルバス、およびメザニーン・バスとして知られている周辺の構成要素の相互接続（ＰＣＩ）バス。
【００１６】
コンピュータ１１０は典型的には様々なコンピュータが読める媒体を含んでいる。コンピュータが読める媒体は、コンピュータ１１０によってアクセスすることができ、揮発性・不揮発性の媒体および取外し可能および非リムーバブル・メディアの両方を含んでいるあらゆる利用可能な媒体になりえる。制限ではなく例経由で、コンピュータが読める媒体はコンピュータ記憶装置媒体および通信メディアを含むかもしれない。コンピュータ記憶装置媒体は揮発性、コンピュータが読める命令、データ構造、プログラムモジュールあるいは他のデータのような情報の記憶のための任意の方法あるいは技術中でインプリメントされた不揮発性で、取外し可能および非リムーバブル・メディアを含んでいる。コンピュータ記憶装置媒体は含んでいる、しかし制限されない、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリあるいは他のメモリ技術、ＣＤ−ＲＯＭディジタル・バーサタイル・ディスク（ＤＶＤ）あるいは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置あるいは他の磁気記憶装置、あるいは希望情報を格納するために使用することができ、できる他のミディアム、コンピュータ１１０によってアクセスされた。通信メディアは、典型的にはコンピュータが読める命令、データ構造、プログラムモジュールあるいは他のデータを搬送波あるいは他の移送機構のような変調データ信号で具体化し、どんな情報配送媒体も含んでいる。用語「変調データ信号」は、信号中のエンコード情報にような方法で１つあるいはその特性のそれ以上のをセットするか変更される信号を意味する。制限ではなく例経由で、通信メディア、有線ネットワークか直接の有線接続のようなインターネットを利用している媒体および無線メディアを含んでいる、のように、音響、ＲＦ、赤外線および他の無線メディア。組合せ、上記のもののうちのどれでもコンピュータが読める媒体の範囲内で含まれているべきである。
【００１７】
システムメモリ１３０は、コンピュータ記憶装置媒体を揮発性および（または）読み取り専用メモリ（ＲＯＭ）１３１およびランダムアクセス記憶装置（ＲＡＭ）１３２のような不揮発性メモリの形で含んでいる。操業開始中にのようにコンピュータ１１０内のエレメント間の情報を転送するのを支援する基礎的なルーチンを含んでいる基本入出力システム１３３（ＢＩＯＳ）は、ＲＯＭ１３１に典型的に格納される。ＲＡＭ１３２は典型的にはデータおよび（または）直ちにアクセス可能なプログラムモジュールを含んでいる、に、または演算処理装置１２０によってまもなく作動される。制限ではなく例経由で、図１はオペレーティングシステム１３４、アプリケーション・プログラム１３５、他のプログラムモジュール１３６および番組データ１３７を例証する。
【００１８】
コンピュータ１１０はさらに他のものを含んでいるかもしれない、取外し可能な／非取外し可能、揮発性の／不揮発性のコンピュータ記憶装置媒体。例のみ経由で、図１は、非取外し可能で不揮発性の磁気媒体から読むか、書くハードディスク・ドライブ１４１、取外し可能で不揮発性の磁気ディスク１５２から読むか、書く磁気ディスク装置１５１、およびＣＤＲＯＭあるいは他の光学の媒体のような取外し可能で不揮発性の光ディスク１５６から読むか、書く光ディスクドライブ１５５を例証する。取外し可能な／非取外し可能な他のもの、揮発性の／不揮発性のコンピュータ記憶装置媒体、それは典型的な操作環境加算の中で使用することができるが、制限されない、磁気カセットテープ、フラッシュ・メモリカード、ディジタル・バーサタイル・ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、など。ハードディスク・ドライブ１４１は、ノナによってシステム・バス１２１に典型的に接続される―インターフェース１４０のようなリムーバブルメモリ・インターフェースおよび磁気ディスク装置１５１および光ディスクドライブ１５５は、インターフェース１５０のようなリムーバブルメモリ・インターフェースによってシステム・バス１２１に典型的に接続される。
【００１９】
上に記述され、図１で示されたドライブおよびそれらの関連するコンピュータ記憶装置媒体は、コンピュータ１１０のためにコンピュータが読める命令、データ構造、プログラムモジュールおよび他のデータの記憶を提供する。図１では、例えば、ハードディスク・ドライブ１４１は、オペレーティングシステム１４４、アプリケーション・プログラム１４５、他のプログラムモジュール１４６および番組データ１４７の格納として例証される。これらのコンポーネントが同じでありえることに注目する、として、あるいはオペレーティングシステム１３４、アプリケーション・プログラム１３５、他のプログラムモジュール１３６および番組データ１３７と異なるオペレーティングシステム１４４、アプリケーション・プログラム１４５、他のプログラムモジュール１４６および番組データ１４７は、最小では、それらが異なるコピーであることを例証するために異なる数をここに与えられる。ユーザは、マウス、トラックボールあるいはタッチパッドと一般に呼ばれるタブレット１６４（すなわち電子のディジタイザ）、マイクロホン１６３、キーボード１６２およびポインティング・デバイス１６１のような入力装置によってコンピュータ１１０へコマンドと情報を入力してもよい。図１に示されない他の入力装置はジョイスティック、ゲーム・パッド、衛星放送アンテナ、スキャナーなどを含んでいるかもしれない。これらおよび他の入力装置は、ユーザ入力によって演算処理装置１２０にしばしば接続される、システム・バスにつながれるが、パラレルポート、ゲームポートあるいはユニバーサル・シリアル・バス（ＵＳＢ）のような、他のインターフェースおよびバス構造によって接続されるかもしれない１６０を接続する。モニター１９１あるいは他のタイプの表示装置もビデオインタフェース１９０のようなインターフェース経由でシステム・バス１２１に接続される。モニター１９１もタッチ・スクリーン・パネルあるいはその他同種のものに統合されるかもしれない。タブレット・タイプ・パーソナルコンピュータ中でのように、コンピューティング装置１１０が組み入れられる住宅にモニターおよび（または）タッチ・スクリーン・パネルを物理的につなぐことができることに注意してください。さらに、コンピューティング装置１１０のようなコンピュータは、さらにスピーカー１９５およびプリンタ１９６のような他の周辺の出力デバイスを含んでいるかもしれない。それはアウトプット周辺インターフェース１９４などによって接続されるかもしれない。
【００２０】
コンピュータ１１０は、リモートコンピュータ１８０のような１つ以上のリモートコンピュータへの論理結合を使用して、ネットワーク化された環境中で作動するかもしれない。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルーター、ネットワークＰＣ、貴族デバイスあるいは他の共通ネットワークノードで典型的には多数含んでいる。あるいは、要素はすべて上に記述した、記憶装置デバイス１８１だけは図１で示されたが、コンピュータ１１０に関連のある。図１に描かれた論理結合はローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含んでいるが、さらに他のネットワークを含むこともある。そのようなネットワーキング環境は、オフィス、企業全体に渡るコンピュータネットワーク、イントラネットおよびインターネットで普通である。
【００２１】
ＬＡＮネットワーキング環境の中で使用された時、コンピュータ１１０はネットワークインターフェイスまたはアダプターの１７０によってＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境の中で使用された時、コンピュータ１１０は典型的にはモデム１７２あるいはインターネットのようなＷＡＮ１７３の上のコミュニケーションを確立するための他の手段を含んでいる。モデム１７２（それは内部かもしれないか外部かもしれない）はユーザ入力インターフェース１６０あるいは他の適切な機構経由でシステム・バス１２１に接続されるかもしれない。ネットワーク化された環境では、コンピュータ１１０（すなわちそれの部分）へのプログラムモジュールに描かれた関係詞は、遠隔記憶装置に格納される。制限ではなく例経由で、図１はメモリ・デバイス１８１上で駐在するとして遠隔のアプリケーション・プログラム１８５を例証する。示されたネットワーク接続がコンピュータ間の通信リンクが使用されてもよいと確証する典型的・他の手段であることが認識されるだろう。
トラベル・ログの統合（インテグレーション）
本発明は、ナビゲーション・スタックへのエントリを加えるか、トラベル・ログために、文書オブジェクトがそれをホストしているブラウザと通信する方法およびシステムの方へ一般に導かれる。その結果、ユーザは、ブラウザ・ナビゲーションコマンドを特に前に使用することができ、ドキュメントのページ中にナビゲートするためにエントリのドロップダウン・リストと同様に後ろに命令する。理解されるように、現在の発明を実行する多数の方法は実現可能である。また、選択肢のうちのいくつかだけがここに記述される。しかしながら、例えば、本発明は、主に、インターネット・エクスプローラ（登録商標）ベースの例を用いて記述される、任意のプログラムおよび（または）ナビゲーションのためにナビゲーション・スタックなどを持っているコンポーネントへ現在の発明を実行することは実現可能である。そのため、現在の発明はここに使用されるどんな特別の例にも制限されていないが、やや一般に計算する際に利点と利点を備えている使用された様々な方法かもしれない。
【００２２】
次に図２を参照すると、文書オブジェクト（ＤｏｃＯｂｊ）２０４をホストするブラウザ２０２が示されている。ブラウザ２０２にホストされていることにより、文書オブジェクト２０４は、レンダリングされると、ブラウザ・ウィンドウの中のコンテンツとして現われる。なお、ここでは、「文書オブジェクト」という用語を、ブラウザ２０２においてホストされているエンティティとして用いていて、実行可能（ｅｘｅ）又はダイナミック・リンクト・ライブラリ（ｄｌｌ）でありうる。また、図２には示されていないが、ブラウザ２０２それ自体が、別のプログラムの中にホストされているコントロールでもありうる。ブラウザに文書オブジェクトをホストするというのは広く了解されている技術であるから、ここでの説明は割愛する。ただし、付言しておくと、インターネット・エクスプローラ（登録商標）ベースのブラウザでは、文書オブジェクトとブラウザ・コントロール２０２とは、所定のインターフェースの組を介して通信を行う。そのような例示的な実装例（インプリメンテーション）では、コンポーネントはＣＯＭ技術を介して相互のインターフェースを発見する。
【００２３】
本発明の様々な特徴に従って、ブラウザ２０２と文書コントロール２０４とは、トラベル・ログの統合に用いられるインターフェースを実現する。これらのインターフェースの詳細は図３に示されており、下記の表１に示されているように、ブラウザ２０２の中にＩＷｅｂＢｒｏｗｓｅｒＥｖｅｎｔｓＳｅｒｖｉｃｅを含む。
【００２４】
【表１】
0004870752.tif 000002
ドキュメントサーバ２０４におけるＩＴｒａｖｅｌＬｏｇＣｌｉｅｎｔは、下記の表２のように設定される。
【００２５】
【表２】
0004870752.tif 000003
一般には、後述するように、これらのインターフェースにより、ホストされた文書オブジェクト２０４とブラウザのトラベル・ログ４０８との統合が可能になる。これは、文書オブジェクト２０４が、トラベル・エントリを追加すること、そして、ＵＲＩ、タイトル（フレンドリな名称）、バイナリ・ストリームなどの適切な状態をセーブすることを可能にすることを含む。文書オブジェクト２０４は、エントリを追加する際に一意的な識別子を指定して、異なる複数のエントリを区別する。
【００２６】
更に、これらのインターフェースにより、文書サーバがトラベル・エントリを削除することが可能になり、また、履歴ナビゲーションの新たな状態を用いて既存のトラベル・エントリを更新することも可能になる。文書オブジェクト２０４は、また、ユーザがアプリケーションの現在のコンテキストに基づいてそこまでナビゲートすることができるトラベル・エントリをフィルタリングすることもできる。更にまた、文書オブジェクト２０４は、バック／フォワード・リストを、要求に応じて、例えば、アプリケーションの状態変化に基づいて、更新することもある。トラベル・ログ・エントリを追加する及び更新するコマンドには、次の表３に示されているものが含まれる。
【００２７】
【表３】
0004870752.tif 000004
また、エントリに表現されている状態にアプリケーションを回復するのに十分な情報が当該エントリに格納されているならば、文書オブジェクト２０４は、トップレベルのエントリを加えることができる。これにより、文書オブジェクト２０４が現在ホストされていなくても、ある１つのアプリケーションのどのトップレベルのナビゲーションも目に見えるようになる。
【００２８】
図４には、ホストされている文書オブジェクト２０４とブラウザ２０２とがインターフェースを介して通信してエントリをブラウザのトラベル・ログ４０８にエントリを加えるコールのシーケンスの例が図解されている。図４−６では、コールに伴う破線は、がコールしている側に向けたオプショナルな又は必要な通信を示している。
【００２９】
トラベル・ログ・エントリを加える例として、ブラウザ２０２にホストされている「ＣａｒＳｅｌｅｃｔ」（自動車選択）アプリケーションまでナビゲートするユーザについて考える。この例では、ユーザは、「自動車を選んでください」という選択肢をクリックして、例えばブランドＸＸのモデルを選ぶ。次に、ユーザは、モデルＸ１や車両の色など異なるオプションを選び、更に、アプリケーションのボタンをクリックして現在の選択内容を保存することができる。他の例としては、プレゼンテーション・アプリケーションがあり、その場合、そのスライドへの参照をトラベル・ログの中に予め配置しておくことにより、ユーザは、ブラウザ２０２（及び／又は、マウス）のバック・ボタン２１０及びフォワード・ボタン２１２（図２）を用いて、スライド・ショーを見ることができる。
【００３０】
保存を選択するときなどの任意の時点で、文書サーバは、ＡＰＩをコールしてブラウザのトラベル・ログ４０８にエントリを加えることができる。この例では、文書オブジェクト２０４はブラウザのＩＯｌｅＣｏｍｍａｎｄＴａｒｇｅｔ：：ＥｘｅｃＣｏｍｍａｎｄ（ＯＬＥＣＭＤＩＤ＿ＡＤＤＴＲＡＶＥＬＥＮＴＲＹ）インターフェースを介して、エントリ追加コマンドをコールする。これにより、トラベル・ログにおける現在のオフセットにおいて、エントリがプリペンド（前置）されることになる。
【００３１】
次に、この例では、ブラウザ２０２は、現在ホストされている文書オブジェクト２０４のＱｕｅｒｙｌｎｔｅｒｆａｃｅをコールして、この文書オブジェクトのＩＴｒａｖｅｌＬｏｇＣｌｉｅｎｔインターフェースへのポインタを獲得する（もし、まだ知られていない場合）。このインターフェースを用いて、ブラウザ２０２は、ＩＴｒａｖｅｌＬｏｇＣｌｉｅｎｔ．ＧｅｔＷｉｎｄｏｗＤａｔａをコールする。特に、文書オブジェクト２０４は、アプリケーションにおいてこの情報を表すＵＲＬ、タイトル及び一意的な識別子を含む何らかの位置情報を、このコールと共に送られるＷＩＮＤＯＷＤＡＴＡ構造の中に記憶する。次の表４には、例示的なＷＩＮＤＯＷＤＡＴＡ構造が示されている。
【００３２】
【表４】
0004870752.tif 000005
ウィンドウ・データは、ウィンドウ識別子を含む。この識別子は、トラベル・エントリを識別するための一意的なもの（１つの文書オブジェクトについて少なくとも一意的）である。１つのページが複数のフレームを有していて、ユーザが１つのフレームの内部でナビゲートすることがあり、複数のトラベル・エントリがトラベル・ログに追加されることもある。ウィンドウ識別子によって、どのフレーム・ナビゲーションが用いられるのかをブラウザ２０２がトラッキングすることが可能になる。ＵＲＬ、ＵＲＬ位置及びタイトル（トラベル・エントリを表示するフレンドリな名称）も、構造を介してブラウザ２０２に提供される。他の情報には、文書オブジェクト２０４が提供してエントリと共に維持することを望む特定位置の情報のコードページや、リソースを表すようなパスネーム又はアイテムＩＤリスト（ＰＩＤＬ）が含まれる。つまりが、例示的なウィンドウ構造には特に示されていないが、本発明では、文書オブジェクト２０４がブラウザ２０２に維持し返すことを望む任意の情報が許容される。なお、この情報は、文書オブジェクトのクラス識別子（後述するＣＬＳＩＤ）によって識別される。そのような追加的な情報の例としては、スクローリング／位置データがあり、このデータによって、文書オブジェクト２０４は、あるウィンドウ又はフレームまでユーザがナビゲートした場合に、正確な位置を回復するようにスクロールすることができるのである。
【００３３】
ブラウザ２０２は、更に、Ｑｕｅｒｙｌｎｔｅｒｆａｃｅをコールして、文書オブジェクトのＩＰｅｒｓｉｓｔインターフェースを獲得するが、受け取られると、ＧｅｔＰｅｒｓｉｓｔＩＤメソッドをコールして、文書オブジェクト２０４のクラス識別子（ＣＬＳＩＤ）を、ＴｒａｖｅｌＥｎｔｒｙの位置にセーブする。後述するように、ある文書オブジェクトまでナビゲートするときには常に、ＣＬＳＩＤを用いて文書オブジェクトとトラベル・ログの中のそれ自体のエントリ（サブナビゲーション）とを一致を確認することにより、トップレベル位置と現在のページのサブナビゲーションとだけがユーザにとってナビゲーションに利用できる。この実装例では、ＣＬＳＩＤは、フィルタリング機構として用いられる。それぞれのクラス識別子に対して別個のリストの中のサブナビゲーションをトラッキングし、現在ホストされている文書オブジェクトに対するリストと任意のトップレベル・エントリとを合併し、そのリストをユーザに提供することもあり得る。
【００３４】
一貫性のあるユーザ経験のために、あるエントリを追加したり、あるエントリまでへナビゲートしたりする際には、文書オブジェクト２０４は、ブラウザのアドレス・バー２１４を自動的に更新することを選択する場合がある（図２）。更に、ブラウザ２０２とホストされている文書オブジェクトとは、様々なナビゲーション・イベントを経由して通信して、相互の同期を維持する。文書オブジェクト２０４は、ナビゲーションを許容するそれ自体の内部的なツールバーを有することがあるが、それによって、ブラウザ２０２は、通信のない場合には、それ以外には、そのようなナビゲーション・イベントについて知らない可能性がある。
【００３５】
図５は、どのように通信が機能してアドレス・バーを更新しナビゲーション・イベントを開始（ファイア）するのかに関する全体的な図解である。一般に、文書オブジェクト２０４は、ブラウザ２０２に対し、ＷｅｂＢｒｏｗｓｅｒＥｖｅｎｔｓＳｅｒｖｉｃｅインターフェース・ポインタを要求して、このポインタを用いて、ＮａｖｉｇａｔｅＣｏｍｐｌｅｔｅ、ＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅ、ＤｏｗｎｌｏａｄＣｏｍｐｌｅｔｅ及びそれ以外のイベントを開始するメソッドをコールする。例えば、文書オブジェクト２０４は、複数の異なるイベントを送ってブラウザ２０２にユーザによって生成されたアクティビティを告知する。この例として、新たな場所のＵＲＬ又はパスやそれ以外のデータを特定するＢｅｆｏｒｅＮａｖｉｇａｔｅイベントなどがある。文書オブジェクト２０４は、新たな場所へナビゲートした後で、ＮａｖｉｇａｔｅＣｏｍｐｌｅｔｅイベントを送る。データをダウンロードする場合には、ＤｏｗｎｌｏａｄＢｅｇｉｎイベントも送られ、完了したときには、一致するＤｏｗｎｌｏａｄＣｏｍｐｌｅｔｅイベントも送られる（なお、複数のダウンロードが行われ、それぞれにそれ自体の開始及び完了イベントが伴う場合もあるが、図４にはただ１つのダウンロードだけが示されていることに留意してほしい）。ナビゲーション及びダウンロードがすべて終了すると、ＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅイベントも送られる。
【００３６】
ブラウザ２０２は、次のメソッドを用いて、現在ホストされている文書オブジェクト２０４に対して、イベントを送るためのインターフェース・ポインタを要求する。
【００３７】
【表５】
0004870752.tif 000006
また、ブラウザ２０２は、文書オブジェクト２０４に対し、セキュリティの緩和のためにアドレス・バーに表示するＵＲＬを要求する。このようにして、ＵＲＬは、現在ホストされている文書サーバだけから得られ、アドレス・バーのスプーフィングが回避される。
【００３８】
ユーザがナビゲートすることができる１つの方法として、バック・ボタン及びフォワード・ボタンに隣接する下向きの矢印が書かれたボタンをクリックする方法がある。このボタンをクリックすると、エントリのドロップダウン・リストが生じる。しかし、本発明では、このリストは、トップレベルのエントリと現在のページとに関係あるエントリだけに限定されている。このため、ユーザに向けてドロップダウン・リストにレンダリングされるトラベル・ログの中のエントリは、トップレベルのエントリと、現在の文書オブジェクトのＣＬＳＩＤに基づいてフィルタリングされたサブナビゲーション・エントリとにほぼ限られる。
【００３９】
図６及び７では、フィルタリング付きのレンダリングがどのようになされるかに関する例示的な説明が提供されている。一般に、ドロップダウン・リストを作成してレンダリングする必要がある場合に、ブラウザ２０２は、適切なインターフェース・ポインタを求めて文書オブジェクト２０４をコールし、求めたインターフェース・ポインタを用いて文書オブジェクト２０４のＣＬＳＩＤを獲得する。図６には、その概要が示されている。次に、このＣＬＳＩＤについて、一致するかどうかの評価がなされる。一致がない場合には、トップレベルのエントリだけが、このホストされているオブジェクトに対してレンダリングされる。一致がある場合には、当該ＣＬＳＩＤと関連するそれぞれのウィンドウに関して、ブラウザ２０２は、当該ウィンドウが文書オブジェクト２０４に対して依然として有効であるかどうかを質問する。というのは、かつて有効だったフレームであっても、ユーザのアクションによって削除されている可能性があるからである。
【００４０】
図７は、エントリがレンダリングされるべきかどうかを決定する一般的なレンダリング・ロジック６２０（図６）を示している。既に述べたように、エントリが与えられ、与えられたエントリがトップレベルのエントリである（例えば、特別のウィンドウＩＤを有しているなど）とステップ７０２で判断されると、このエントリ（そのタイトル）は、ステップ７１０に示されているように、リストの中にレンダリングされる。トップレベルのエントリでない場合には、ステップ７０４に示されているように、ＣＬＳＩＤと一致するかどうか、すなわち、このエントリが現在の文書オブジェクト２０４に属するかどうかが調べられる。一致しない、つまり、属していない場合には、このエントリは、別の文書オブジェクトのサブナビゲーションであるのだから、レンダリングされない。
【００４１】
現在の文書オブジェクト２０４のＣＬＳＩＤと一致する場合には、ウィンドウＩＤを文書オブジェクト２０４に送り（ステップ７０６）、返された成功又は失敗をステップ７０８で評価することにより、そのウィンドウについて、依然として有効かどうかの評価がなされる。ステップ７１０は、レンダリングを示している。容易に理解できるように、このロジックを用いて他の文書オブジェクトのサブナビゲーション・エントリをフィルタリングによって除去し、現在の文書オブジェクト２０４のサブナビゲーション・エントリを含めるという作業を行うことで、トラベル・ログの全体を調べる（トラバースする）ことができる。
【００４２】
バック・ボタン及びフォワード・ボタンをクリックすると、ブラウザ２０２は、トラベル・ログ・スタックの中を前後に移動し、エントリを選択する。このロジックは本質的に図７のロジックと同じある。すなわち、トップレベルのトラベル・エントリではない場合には、ブラウザ２０２は、適切な方向の対応するトラベル・エントリのＣＬＳＩＤが現在の文書オブジェクト２０４のＣＬＳＩＤと一致するかどうかをチェックする。ＣＬＳＩＤが一致する場合には、ブラウザ２０２は、文書オブジェクト２０４によって格納された一意的なＩＤを用いて、文書オブジェクトのＩＴｒａｖｅｌＬｏｇＣｌｉｅｎｔ．ＦｉｎｄＷｉｎｄｏｗＢｙｌｎｄｅｘメソッドをコールする。その一意的なＩＤを用いてエントリを呼び出すことができる場合、つまり、ウィンドウが依然として有効な場合には、文書オブジェクト２０４は、成功（例えば、そのＩＵｎｋｎｏｗｎインターフェース）を返す。
【００４３】
図８は、バック・コマンド又はフォワード・コマンドによって、又は、ドロップダウン・リストを介してエントリが選択されて再生される際に行われるステップを図解している。ブラウザ２０２は、ＷＩＮＤＯＷＤＡＴＡ構造に格納されたストリームを用いて、文書オブジェクトのＩＰｅｒｓｉｓｔＨｉｓｔｏｒｙ：：ＬｏａｄＨｉｓｔｏｒｙをコールする。次に、文書オブジェクト２０４は、ストリーム・データを用いて履歴ナビゲーションを処理して、ウィンドウを保存されていた状態に回復する。文書オブジェクト２０４によって前もって提供されている場合には、ブラウザ２０２は、ウィンドウをその前の位置にスクロールするなどして、位置データ（ＬｏａｄＨｉｓｔｏｒｙＰｏｓｉｔｉｏｎ）を文書オブジェクトに返す。
【００４４】
文書オブジェクト２０４は、ブラウザのＩＯｌｅＣｏｍｍａｎｄＴａｒｇｅｔ：：ＥｘｅｃＣｏｍｍａｎｄ（ＯＬＥＣＭＤＩＤ＿ＵＰＤＡＴＥＴＲＡＶＥＬＥＮＴＲＹ）を非同期的にコールして、エントリの前の状態を更新する。ブラウザ２０２は、現在ホストされている文書オブジェクト２０４に対して、ＩＴｒａｖｅｌＬｏｇＣｌｉｅｎｔを要求する。ブラウザ２０２は、ＩＴｒａｖｅｌＬｏｇＣｌｉｅｎｔ．ＧｅｔＷｉｎｄｏｗＤａｔａをコールして、更に、ＩＰｅｒｓｉｓｔインターフェースを要求する。次に、ブラウザ２０２は、ＧｅｔＣｌａｓｓＩＤをコールして、文書オブジェクト２０４のＣＬＳＩＤをトラベル・エントリに保存する。
【００４５】
文書オブジェクト２０４に戻る状態を提供することにより、ユーザがアクションを取り消すことが可能になることに注意すべきである。例えば、上述した自動車を選択する場合の例を用いると、自動車を選択する際に、ユーザは、ブランドＸＸから別のモデルＸ２を追加した後で、バック・ボタンを押して事前の選択に戻るわけである。
【００４６】
更に詳しくは、アプリケーションは、１つの文書の中の複数のページの間をナビゲートすることに加えて、トラベル・ログと統合することにより、当該アプリケーションの異なる状態を反映するトラベル・エントリを追加することができる。ここでまた上述の自動車選択の例を用いて説明すると、ユーザが異なる自動車のモデルや車両の色を含む付随的な特徴を選択することをアプリケーションが許容する場合には、この情報は、基本的にスナップショットとしてトラベル・エントリに保存される。ユーザは、複数のそのようなエントリを保存するという選択ができるし、それらのエントリの間で行き来して、複数の異なるオプションを比較することができる。これにより、アプリケーションとブラウザとの両方によって提供されるユーザの経験が強化される。
【００４７】
エントリの削除に関しては、文書オブジェクト２０４は、公的なＩＴｒａｖｅｌＬｏｇＳｔｇインターフェースをブラウザ２０２に要求するが、既存のＲｅｍｏｖｅＥｎｔｒｙＡＰＩを使用してもよい。更に、ＡＰＩの削除機構は、ＡＰＩに送られたＣＬＳＩＤに基づいて、文書オブジェクトと関係するトラベル・エントリの中の１つ又は全部を削除することができる。あるいは、トラベル・エントリのフィルタリングの間に要求された場合には、文書オブジェクト２０４は、その代りに、フォールスを返すこともできる。
【００４８】
以上で詳述したことから理解されるように、ホストされている文書オブジェクトの内部にある複数のページの間でシームレスにナビゲーションを行う方法及びシステムが提供される。文書オブジェクトとトラベル・ログとの統合を可能にすることにより、また、選択的なフィルタリングにより、本発明では、ユーザは、バック・コマンド及びフォワード・コマンドとエントリのドロップダウン・メニュとを含むブラウザのユーザ・インターフェース機構を用いて、ホストされている文書の内部でナビゲートすることができるため、ユーザの期待を裏切らずに、ユーザに一貫性のあるナビゲーション体験を提供することが可能になる。
【００４９】
本発明では様々な修正や代替的な構成が可能であるが、以上では、特定の図面に図解された実施例に即して詳細を説明した。しかし、ここで開示された特定の形式に本発明を制限する意図がないことは理解されるはずである。むしろ意図されているのは、本発明の精神及び範囲に含まれるすべての変更、代替的な構成、及び均等物がカバーされるということである。
【図面の簡単な説明】
【００５０】
【図１】本発明を組み込むことが可能であるコンピューティング環境を一般的に表すブロック図である。
【図２】本発明の様々な特徴によるブラウザと当該ブラウザによってホストされる文書オブジェクトとの図解である。
【図３】本発明の様々な特徴によるブラウザと当該ブラウザのトラベル・ログと統合された文書オブジェクトとによって実現される例示的なインターフェースを表すブロック図である。
【図４】本発明の様々な特徴による例示的な実施例におけるブラウザとホストされている文書オブジェクトとの間の通信を表すシーケンス図であり、文書オブジェクトがエントリをブラウザのトラベル・ログに追加している。
【図５】本発明の様々な特徴によるブラウザとホストされている文書オブジェクトとの間の通信を表すシーケンス図であり、ナビゲーション・イベントが開始（ファイア）され、ブラウザのアドレス・バーが更新されている。
【図６】本発明の様々な特徴によるブラウザとホストされている文書オブジェクトとの間の通信を表すシーケンス図であり、ウィンドウが再生されるべきかレンダリングされるべきかが判断されている。
【図７】本発明の様々な特徴による、ウィンドウを再生すべきかレンダリングすべきかが判断されるときに用いられる例示的なロジックを表す流れ図である。
【図８】本発明の様々な特徴による、ナビゲーション・コマンドを受け取った際にウィンドウを再生するときにブラウザとホストされている文書オブジェクトとの間でなされる通信を表すシーケンス図である。
【図１】
0004870752.tif 000007
【図２】
0004870752.tif 000008
【図３】
0004870752.tif 000009
【図４】
0004870752.tif 000010
【図５】
0004870752.tif 000011
【図６】
0004870752.tif 000012
【図７】
0004870752.tif 000013
【図８】
0004870752.tif 000014