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