(57)【要約】  ホスト・アプリケーションが設けるホスト・ウィンドウに対応するコンパニオン・アプリケーションを通じてコンパニオン・アプリケーションを提供する装置および方法。コンパニオン・ウィンドウは、ホスト・ウィンドウにおけるデーターを記述する情報またはメタデーターを提示する。ホスト・アプリケーションがコンパニオン・アプリケーションを認識しないように、ホスト・アプリケーションおよびコンパニオン・アプリケーションが分離したアプリケーションであってもよい。コンパニオン・アプリケーションはホスト・アプリケーションに（例えば、アプリケーション・プログラミング・インターフェースを通じて）入り込むことができ、ホスト・アプリケーションの活動および／またはデーターを監視することができる。ホスト・アプリケーションにおけるデーターまたはイベントの識別に基づいて、コンパニオン・アプリケーションは、ホスト・アプリケーションが提供するデーターを特徴付ける情報またはそれについてのコンテキストを規定する情報を入手することができる。ホスト・ウィンドウおよびコンパニオン・ウィンドウを互いに合体することもでき、ホスト・ウィンドウはホスト・アプリケーション・データーを提供し、コンパニオン・ウィンドウはホスト・アプリケーション・データーを記述するデーターを提供する。【選択図】      図２
2010527478.tif 000002
【特許請求の範囲】
【請求項１】
以下のステップを実行するための実行可能コードを収容する1つ又は複数のコンピューター読み取り可能媒体であって、該ステップは、
動作環境における第１アプリケーションに対応する第１データー・コンテンツを収容する第１ユーザー・インターフェースを表示するステップであって、前記第１アプリケーションが前記第１データー・コンテンツを制御する、ステップと、
第２アプリケーションに対応する第２データー・コンテンツを収容する第２ユーザー・インターフェースを表示するステップであって、前記第２アプリケーションが前記第２データー・コンテンツを発生するために前記動作環境にアクセスし、前記第２データー・コンテンツが前記第１データー・コンテンツを記述する、ステップと、
からなる、1つ又は複数のコンピューター読み取り可能媒体。
【請求項２】
請求項１記載のコンピューター読み取り可能媒体において、前記第２ユーザー・インターフェースを前記第１ユーザー・インターフェースに付属させる、コンピューター読み取り可能媒体。
【請求項３】
請求項１記載のコンピューター読み取り可能媒体において、前記第２アプリケーションが前記第１アプリケーションを監視する、コンピューター読み取り可能媒体。  
【請求項４】
請求項３記載のコンピューター読み取り可能媒体において、前記第１データー・コンテンツおよび前記第２データー・コンテンツが異なる、コンピューター読み取り可能媒体。
【請求項５】
請求項３記載のコンピューター読み取り可能媒体において、前記第１アプリケーションが前記第２アプリケーションとは独立して動作する、コンピューター読み取り可能媒体。
【請求項６】
請求項３記載のコンピューター読み取り可能媒体において、前記ユーザー・インターフェースはウィンドウである、コンピューター読み取り可能媒体。
【請求項７】
請求項３記載のコンピューター読み取り可能媒体において、前記第２アプリケーションは前記第１アプリケーションを修正しない、コンピューター読み取り可能媒体。
【請求項８】
請求項７記載のコンピューター読み取り可能媒体において、前記第２アプリケーションが第１実行可能コードを収容し、前記第２アプリケーションは前記第１実行可能コードを通じて前記第１アプリケーションに入り込む、コンピューター読み取り可能媒体。
【請求項９】
請求項１記載のコンピューター読み取り可能媒体であって、更に、以下のステップを実行する実行可能コードを収容し、該ステップは、
前記第１アプリケーションにおいて入力イベントを受信するステップと、
前記第２アプリケーションを通じて前記入力イベントを検出するステップと、
前記第１アプリケーションにおける前記入力イベントに基づいて、前記第２アプリケーションによって前記第２ユーザー・インターフェースの中に前記第２データー・コンテンツを発生するステップと、
からなる、コンピューター読み取り可能媒体。
【請求項１０】
請求項１記載のコンピューター読み取り可能媒体において、前記第１アプリケーションがアプリケーション・プログラム・インターフェースを備えており、前記第２アプリケーションは前記アプリケーション・プログラム・インターフェースを通じて前記第１アプリケーションにアクセスする、コンピューター読み取り可能媒体。
【請求項１１】
請求項１０記載のコンピューター読み取り可能媒体であって、前記第１アプリケーションのアプリケーション・プログラム・インターフェースを通じて、前記第２アプリケーションによって前記第１データー・コンテンツの付随特性を判定するステップを実行する実行可能コードを収容する、コンピューター読み取り可能媒体。
【請求項１２】
請求項１１記載のコンピューター読み取り可能媒体において、前記第２アプリケーションは、前記第１データー・コンテンツの付随特性に基づいて、前記第２データー・コンテンツを発生する、コンピューター読み取り可能媒体。
【請求項１３】
請求項１２記載のコンピューター読み取り可能媒体において、前記付随特性は、前記第１データー・コンテンツの少なくとも一部の状態、コンテキスト、または選択の内少なくとも１つを含む、コンピューター読み取り可能媒体。
【請求項１４】
ユーザー・インターフェースを設ける方法であって、
第１アプリケーションによって第１ユーザー・インターフェースを表示するステップと、
第２アプリケーションによって第２ユーザー・インターフェースを発生するステップと、
前記第１インターフェースに付属する前記第２ユーザー・インターフェースを備えている組み合わせユーザー・インターフェースを発生するステップと、
前記組み合わせユーザー・インターフェースを表示するステップと、
を備えている、方法。
【請求項１５】
請求項１４記載の方法において、前記組み合わせユーザー・インターフェースは、前記第２ユーザー・インターフェースに隣接する前記第１ユーザー・インターフェースを備えている、方法。
【請求項１６】
請求項１５記載の方法において、前記組み合わせユーザー・インターフェースにおける前記第１ユーザー・インターフェースおよび前記第２インターフェースが重なり合っていない、方法。
【請求項１７】
請求項１４記載の方法であって、更に、
前記第１アプリケーションにおいて入力コマンドを受け取るステップと、
前記入力コマンドに応答して、前記組み合わせユーザー・インターフェースを修正するステップと、
を備えている、方法。
【請求項１８】
請求項１７記載の方法において、修正するステップは、前記第１ユーザー・インターフェースおよび前記第２ユーザー・インターフェースを連動して修正することを含む、方法。
【請求項１９】
コンテキスト・データーを提供する方法であって、
動作環境において第１アプリケーションを実行するステップと、
前記第１アプリケーションの実行に応答して、第１ユーザー・インターフェースを発生するステップであって、前記第１ユーザー・インターフェースが前記第１アプリケーションと関連のある第１データー・コンテンツを収容する、ステップと、
第２ユーザー・インターフェースを発生するために第２アプリケーションを実行するステップであって、前記第２アプリケーションが、前記動作環境から、前記第１データー・コンテンツと関連のあるデーターを入手し、前記動作環境から入手したデーターに基づいて第２データー・コンテンツを発生し、前記第２データー・コンテンツが前記第１データー・コンテンツとは異なる、ステップと、
前記第２ユーザー・インターフェースに隣接しこれに付属する前記第１ユーザー・インターフェースを収容する組み合わせユーザー・インターフェースを表示するステップと、
を備えている、方法。
【請求項２０】
請求項１９記載の方法において、前記第２アプリケーションが前記第１アプリケーションに入り込み、前記第１アプリケーションは前記第２アプリケーションによって実質的に修正されない、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューター・ユーザーは、彼らのコンピューター上において大量のデーターにアクセスすることができる。例えば、ユーザーがコンピューター上に格納されているデーター・ファイルを入手するまたはデーター・ファイルにアクセスしたい場合がある。この場合、ユーザーは一連のビューにわたってナビゲートして、所望のデーター・ファイルのフォルダーを入手することができる。ユーザーはデーター・ファイルの所望のフォルダーを選択することができるが、データー・ファイルの選択は、単にユーザーにファイル自体を提供するだけに過ぎない。同様に、ユーザーは、ウェブ・ブラウザによって、関心のある特定のウェブ・ページにナビゲートすることができる。ハイパーリンク、アプリケーション等のような、ウェブ・ページの中にあるエレメントを選択すると、通例では、別のサイトに移るか、または選択したアプリケーションが起動されることになる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
しかしながら、ユーザーは、あるアプリケーションにおいて選択したエレメントに関する追加のコンテキスト情報のような、追加情報を望むことが多い。多くの場合、選択したエレメントと関連のあるこのような追加情報は、そのエレメントの選択によってユーザーに入手できるようになっていない。このため、選択されたデーターまたはアプリケーション・エレメントについての追加情報を、都合良くしかも効率的に提供することが求められている。
【課題を解決するための手段】
【０００３】
以下に、基本的な理解を読者に提供するために、本開示を簡略化した摘要を紹介する。この摘要は、本開示の広範な全体像ではなく、本発明の主要な／肝要な要素を特定するのでなければ、本発明の範囲を正確に叙述するのでもない。その唯一の目的は、本明細書において開示する一部の概念を、簡略化した形態で、後に提示する更に詳細な説明の前置きとして紹介することである。
【０００４】
一例において、ホスト・アプリケーションは、当該ホスト・アプリケーションが発生するデーターを収容するホスト・ウィンドウを発生する。コンパニオン・アプリケーションは、ホスト・アプリケーションとは分離していてもよく、ホスト・アプリケーションにおけるデーターまたはイベントを記述するまたはそれについてのコンテキストを規定することができる追加情報（例えば、メタデーター）を発生する。一例では、コンパニオン・アプリケーションは、追加情報を作成するのではなく、離れた位置から追加情報を入手する。更に、コンパニオン・アプリケーションはコンパニオン・ウィンドウを発生することができ、これをホスト・ウィンドウに付属させることができる。コンパニオン・ウィンドウは前述の追加情報を収容することができる。
【０００５】
別の例では、ホスト・アプリケーションは、コンパニオン・アプリケーションにおいて実行される行為またはイベントがホスト・アプリケーションに実質的に影響を及ぼさないように、コンパニオン・アプリケーションには関与しない(oblivious)かまたは実質的に関与しない。この例では、コンパニオン・アプリケーションは、ホスト・アプリケーションに入り込み、ホスト・アプリケーション内にあるデーターを監視することができるが、一方ホスト・アプリケーションはコンパニオン・アプリケーションを監視しない。ホスト・アプリケーションおよびコンパニオン・アプリケーションの各々は、それぞれの情報を収容するウィンドウのようなユーザー・インターフェースを発生し表示することができる。これらのウィンドウを互いに合体させることができる。
【０００６】
付帯する特徴の多くは、添付図面と関連付けて以下の詳細な説明を参照し検討することによって深く理解できるようになるに連れて、容易に認められるようになるであろう。
【０００７】
本記載は、添付図面と照らし合わせて以下の詳細な説明を読むことにより、一層深く理解されよう。
【図面の簡単な説明】
【０００８】
【図１】図１は、データーまたはその他の関連情報を提供することができる、適したコンピューティングシステム環境の一例を示す。
【図２】図２は、関心のあるデーターに関する情報またはメタデーターを発生するシステムの一例を示す。
【図３】図３は、メタデーターを特定および／または入手する一例を示すフローチャートである。
【図４】図４は、データー・コンテンツを発生し、このデーターを記述する即ち特徴付ける追加情報を提供する一例を示すフローチャートである。
【図５】図５は、データー提供方法の別の例を示すフローチャートである。
【図６】図６は、ホスト・アプリケーションおよびコンパニオン・アプリケーションを接続してデーターを提供する例を示すフローチャートである。
【図７】図７は、異なるアプリケーションと関連があるウィンドウを合体および／または修正する例を示すフローチャートである。
【図８】図８は、ホスト・アプリケーションのユーザー・インターフェースとしてのウィンドウの例を示す。
【図９】図９は、コンパニオン・ウィンドウを付属させたホスト・ウィンドウの例を示す。
【図１０】図１０は、メタデーターを有するコンパニオン・ウィンドウの例を示す。
【図１１】図１１は、コンパニオン・ウィンドウの別の例を示す。
【図１２】図１２は、コンパニオン・ウィンドウをフォーマットし直したホスト・ウィンドウの例を示す。
【図１３】図１３は、コンパニオン・ウィンドウを畳んだホスト・ウィンドウの別の例を示す。
【発明を実施するための形態】
【０００９】
同様の参照番号は、添付図面における同様の部分を示すために用いることとする。
【００１０】
添付図面と合わせて以下に提示する詳細な説明は、本例の説明として意図するのであり、本例を構築または利用できる唯一の形態を表すことを意図するのではない。この説明は、本例の機能、および本例を構築し動作させるための一連のステップを明記する。しかしながら、異なる例によって、同一または同等の機能およびシーケンスを遂行することもできる。本明細書に記載するシステムは、限定ではなく例として提示する。当業者には認められようが、本例は、種々の異なる種類のコンピューティングシステムにおける応用に適している。
【００１１】
図１は、コンピューティングサブシステムが処理機能性を設けることができる、適したコンピューティングシステム環境即ちアーキテクチャの一例を示す。このコンピューティングシステム環境は、適したコンピューティング環境の一例に過ぎず、本発明の使用や機能性の範囲に関して何の限定も示唆する意図はない。また、このコンピューティング環境は、動作環境例に示すコンポーネントの任意の１つまたは組み合わせに関しても、何らかの従属性や要件を有するように解釈してはならない。
【００１２】
本明細書において開示する方法またはシステムは、多数の別の汎用または特殊目的コンピューティングシステム環境または構成を用いても動作する。本発明と共に用いるのに適していると考えら得る周知のコンピューター・システム、環境、および／または構成の例には、パーソナル・コンピューター、サーバ・コンピューター、ハンド・ヘルドまたはラップトップ・デバイス、マルチプロセッサー・システム、マイクロプロセッサーに基づくシステム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、前述のシステムまたはデバイスのいずれをも含む分散型コンピューティング環境等が含まれるが、これらに限定されるのではない。
【００１３】
本方法またはシステムは、コンピューターによって実行する、プログラム・モジュールのような、コンピューター実行可能命令という一般的な文脈において説明することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するか、および／または特定の抽象的データー形式を実現する。また、本方法またはシステムは、通信ネットワークを通じてリンクされているリモート処理デバイスがタスクを実行する分散型コンピューティング環境においても実用可能である。分散型コンピューティング環境では、プログラム・モジュールは、メモリー記憶デバイスを含む、ローカルおよびリモート・コンピューター記憶媒体双方に配することができる。  
【００１４】
図１を参照すると、本方法またはシステムを実現するシステム例は、コンピューター１０２の形態をなす汎用コンピューティングデバイスを含む。コンピューター１０２のコンポーネントは、限定ではなく、演算装置１０４、システム・メモリー１０６、およびシステム・メモリーを含む種々のシステム・コンポーネントを演算装置１０４に結合するシステム・バス１０８を含むことができる。システム・バス１０８は、数種類のバス構造のいずれでもよく、メモリー・バスまたはメモリー・コントローラ、周辺バス、および種々のバス構造のいずれかを用いるローカル・バスを含む。限定ではなく一例として、このようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、改良ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格連合（ＶＥＳＡ）ローカル・バス、およびMezzanine バスとしても知られている周辺素子相互接続（ＰＣＩ）バスが含まれる。
【００１５】
コンピューター１０２は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター１１０がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、ならびに非リムーバブル媒体を含む。限定ではない一例をあげると、コンピューター読み取り可能媒体は、コンピューター記憶媒体を含むことができる。コンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたはその他のメモリー技術、ＣＤの他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピューター１０２がアクセス可能なその他のいずれの媒体も含むが、これらに限定されるのではない。以上の内の任意のものの組み合わせも、コンピューター読み取り可能記憶媒体の範囲に含まれてしかるべきである。
【００１６】
システム・メモリー１０６は、リード・オンリ・メモリー（ＲＯＭ）１１０およびランダム・アクセス・メモリー（ＲＡＭ）１１２のような、揮発性メモリーおよび／または不揮発性メモリーの形態をなすコンピューター記憶媒体を含む。基本入／出力システム１１４（ＢＩＯＳ）は、起動中のように、コンピューター１０２内のエレメント間におけるデーター転送を補助する基本的なルーティンを含み、通例ＲＯＭ１１０内に格納されている。ＲＡＭ１１２は、通例、演算装置１０４が直ちにアクセス可能であるデーターおよび／またはプログラム・モジュール、あるいは現在これによって処理されているデーターおよび／またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図１は、オペレーティング・システム１３２、アプリケーション・プログラム１３４、その他のプログラム・モジュール１３６、およびプログラム・データー１３８を示す。
【００１７】
また、コンピューター１０２は、その他のリムーバブル／非リムーバブル揮発性／不揮発性コンピューター記憶媒体も含むことができる。一例としてのみ、図１は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ１１６、リムーバブル不揮発性磁気ディスク１２０からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ１１８、ならびにＣＤ−ＲＯＭまたはその他の光媒体のようなリムーバブル不揮発性光ディスク１２４からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ１２２を示す。前述の動作環境の一例において使用可能なその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピューター記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれる。ハード・ディスク・ドライブ１１６は、通例、インターフェース１２６のような非リムーバブル・メモリー・インターフェースを介してシステム・バス１０８に接続され、磁気ディスク・ドライバ１１８および光ディスク・ドライブ１２２は、通例、インターフェース１２８または１３０のようなリムーバブル・メモリー・インターフェースによって、システム・バス１０８に接続されている。
【００１８】
先に論じ図１に示すドライブおよびそれらと連動するコンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューター１０２のその他のデーターを格納する。図１では、例えば、ハード・ディスク・ドライブ１１６は、オペレーティング・システム１３２、アプリケーション・プログラム１３４、その他のプログラム・モジュール１３６、およびプログラム・データー１３８を格納するように示されている。尚、これらの構成要素は、追加のオペレーティング・システム、アプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データー、例えば、エレメントの内任意のものの異なるコピーと同じでも異なっていても可能であることを注記しておく。ユーザーは、キーボード１４０、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス１４２によって、コマンドおよび情報をコンピューター１１０に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、ペン、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザー入力インターフェース１４４を介して、演算装置１０４に接続されている。ユーザー入力インターフェース１４４は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニター１５８またはその他の形式のディスプレイも、ビデオ・インターフェースまたはグラフィクス・ディスプレイ・インターフェース１５６のようなインターフェースを介して、システム・バス１０８に接続されている。モニター１５８に加えて、コンピューターは、スピーカ（図示せず）およびプリンタ（図示せず）のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース（図示せず）を通じて接続することができる。
【００１９】
コンピューター１０２は、リモート・コンピューターのような、1つ又は複数のリモート・コンピューターへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピューターは、パーソナル・コンピューター、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピューター１０２に関して先に説明したエレメントの多くまたは全てを含む。図１に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１４８およびワイド・エリア・ネットワーク（ＷＡＮ）１５０を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
【００２０】
ＬＡＮネットワーク環境で用いる場合、コンピューター１０２は、ネットワーク・インターフェースまたはアダプタ１５２を介してＬＡＮ１４８に接続する。ＷＡＮネットワーキング環境で用いる場合、コンピューター１０２は、通例、モデム１５４、またはインターネットのようなＷＡＮ１５０を通じて通信を確立するその他の手段を含む。モデム１５４は、内蔵でも外付けでもよく、ユーザー入力インターフェース１４４またはその他のしかるべき機構を介してシステム・バス１０８に接続することができる。ネットワーク環境では、コンピューター１０２に関して図示したプログラム・モジュール、またはその一部は、リモート・メモリー記憶装置に格納することもできる。一例として、そして限定ではなく、リモート・アプリケーション・プログラムは、メモリー・デバイス上に常駐してもよい。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを確立する手段であれば他のいずれでも使用可能であることは認められよう。
【００２１】
ユーザーにデーターをウィンドウのような第１ユーザー・インターフェースにおいて提供し、更にこのデーターに対応する追加情報を第２ユーザー・インターフェースにおいて提供する方法およびシステムについて記載する。第１ユーザー・インターフェースおよびその中に収容されるデーターは、第１アプリケーションによって発生することができ、第２ユーザー・インターフェースの中にある追加情報は、第２アプリケーションによって発生することができる。第１アプリケーションおよび第２アプリケーションは、異なるアプリケーションであってもよい。例えば、第２アプリケーションは、第１アプリケーションとは分離した別個のアプリケーションであってもよく、更に、実行可能コードを収容しており、それを実行すると第２アプリケーションを第１アプリケーションに入り込ませる(hook into)のであってもよい。この例では、第２アプリケーションは、第１アプリケーション、および第１アプリケーションが提供するデーターを監視することができる。第２アプリケーションによる第１アプリケーションの監視は、種々の方法で遂行することができる。例えば、監視は、第１アプリケーションにおいてなされた行為または実行されたイベントを観察および／または追跡することを含むことができる。第１アプリケーションにおいて生じた1つ又は複数の行為またはイベントの結果第１アプリケーションが発生したデーターを、更に、第２アプリケーションによって観察または追跡することもできる。第２アプリケーションによるイベント、行為、または第１アプリケーションにおいて発生したデーターの観察に基づいて、第２アプリケーションは、追加データーを発生、入手、特定、または検索することができる。追加データーは、第１アプリケーションにおいて発生するデーターとは別個であることまたは異なることもでき、更にイベント、行為、または第１アプリケーションにおいて発生したデーターを記述または特徴付けることもできる。別の例では、第２アプリケーションは、第３アプリケーションを通じて、イベント、行為、または第１アプリケーションにおいて発生するデーターを観察することもできる。例えば、第２アプリケーションは、監視アプリケーション（例えば、システム・ファイル・ウオッチャー）を監視することができ、監視アプリケーションは、イベント、行為、または第１アプリケーションにおいて発生するデーターを観察することができる。第２アプリケーションは、監視アプリケーションから更新またはイベント情報を受信することができる。この例では、第２アプリケーションは第１アプリケーションを直接監視も観察もしない。代わりに、監視アプリケーションが第１アプリケーションにおいてイベントを観察し、イベントに関連する情報を発生することができる。この情報は、第２アプリケーションに入手可能にすることもできる。
【００２２】
このように、第１アプリケーションまたは第１アプリケーションが提供するデーターに基づいて、第２アプリケーションは追加データーまたは情報を入手することができ、更にこの追加データーまたは情報を第２ユーザー・インターフェースにおいて提供することができる。一例では、第２アプリケーションは、第１および／または第２アプリケーションが走っている動作環境から前述の情報を入手することができる。動作環境から入手した情報は、更に、第１アプリケーションからのいずれかの行為またはイベントに基づいて選択することもできる。別の例では、動作環境から第２アプリケーションが入手したデーターは、第１アプリケーションが提供するデーターを記述するまたは特徴付けるが、第１アプリケーションが提供するデーターとは異なる。つまり、この例では、第１アプリケーションが提供するデーターは、第２アプリケーションが提供する情報を収容しておらず、第２アプリケーションが提供する情報は、第１アプリケーションが提供するデーターを含んでいない。
【００２３】
別の例では、第２アプリケーションは第１アプリケーションに入り込み、第２アプリケーションを監視することができる。しかしながら、第１アプリケーションは第２アプリケーションとは独立して機能する。第１アプリケーションが第２アプリケーションとは独立して機能する場合、第２アプリケーションが実行する行為またはイベントは、第１アプリケーションにおいて行われる行為やイベントに重要な影響を及ぼさない。つまり、例えば、あるコマンドが第２アプリケーションによって実行され、第１アプリケーションが第２アプリケーションとは独立して機能または動作する場合、第１アプリケーションは、第２アプリケーションにおいてそのコマンドがあたかも実行されなかったかのように、行為およびその他の機能を実質的に同様に実行する。言い換えると、第２アプリケーションから独立して機能する第１アプリケーションとは、第１アプリケーションの活動(activity)が、第２アプリケーションにおいて行われる活動によって実質的に影響を受けないことを意味する。また、第１アプリケーションが第２アプリケーションとは独立して動作する場合、第２アプリケーションを除去しても、第１アプリケーションには実質的な影響はない。
【００２４】
あるいはまたは加えて、第２アプリケーションが第１アプリケーションを監視する間、第１アプリケーションは第２アプリケーションに関与しないまたは実質的に関与しなくてもよい。一例では、第１アプリケーションは第２アプリケーションに関与しないかまたは実質的に関与せず、これは第１アプリケーションが第２アプリケーションを認識しないまたは実質的に認識しない状態を意味する。第２アプリケーションを認識しないことにより、第１アプリケーションは、あたかも第２アプリケーションがない、および／または実行も動作もしていないかのように、あらゆる機能を実行する。第１アプリケーションが第２アプリケーションに関与しないまたは実質的に関与しない場合、第２アプリケーションを全体的に除去することができ、しかも第２アプリケーション除去の影響は、第１アプリケーションのいずれの面においても、最小限であるかまたは全くない。別の例では、第１アプリケーションは第２アプリケーションに関与しないが、第２アプリケーションから受信した命令を収容する。
【００２５】
また、この例では、第２アプリケーションが第１アプリケーションを監視して、第２アプリケーションが第１アプリケーションによって実行される活動および／またはイベントを認識し、更に第１アプリケーションによって発生および／または出力または表示されるデーターを認識できる状態を設けることができる。同時に、第１アプリケーションは、第２アプリケーションが提供するいずれの情報も、または第２アプリケーションにおいて実行される行為／イベントも実質的に認識しなくてもよいように、第１アプリケーションは第２アプリケーションには実質的に関与しない。
【００２６】
あるいはまたは加えて、第２アプリケーションは第１アプリケーションを観察または監視することはできるが、第１アプリケーションを制御あるいは修正しないようにしてもよい。この例では、第２アプリケーションは、第１アプリケーションが発生する情報を監視するが、発生した情報を変更しない。第２アプリケーションは、第１アプリケーションから発生した情報を観察し、それに基づいて追加情報を発生し、発生した追加情報をユーザーに提供することができる。しかしながら、この例では、第２アプリケーションは、第１アプリケーションが発生する情報を制御したり、修正したり、あるいはその他の作用を及ぼすことはない。また、第１アプリケーションは、第２アプリケーションが発生する追加情報を制御しなくてもよい。加えて、第１アプリケーションは、第２アプリケーションに実質的に関与せず、第１アプリケーションが、第２アプリケーションによって発生する追加情報を実質的に認識しないようにしてもよい。この例では、第１アプリケーションが実行する活動および機能は、第２アプリケーションの存在、不在、または動作のいずれによる影響も受けない。
【００２７】
別の例では、第２アプリケーションは、アプリケーション・プログラミング・インターフェースを通じて、第１アプリケーションに入り込む。第１アプリケーションは、アプリケーション・プログラミング・インターフェース（ＡＰＩ）のようなインターフェースを内蔵することができ、これを通じて第２アプリケーションが第１アプリケーションにアクセスすることができる。例えば、第２アプリケーションは、ＡＰＩ（またはその他の何らかの手段）を通じて第１アプリケーションにアクセスして、限定ではないが、第１アプリケーションが発生または出力するデーター、第１アプリケーションの状態、または第１アプリケーションのコンテキストのような、第１アプリケーションのある面の特性についての情報を入手することができる。
【００２８】
図２は、対象のデーターに関する情報またはメタデーターを発生するシステムの一例を示す。本システムは、ユーザー入力のような、あらゆる種類の入力を受けることができる入力２０５を含むことができる。例えば、ユーザーは、行為またはイベントを実行するためあるいは情報を選択するために、コマンドをシステム入力２０５を通じて入力することができる。一例では、ディスプレイ・デバイス上に選択肢のリストを表示するとよく、ユーザーは表示から１つの項目即ち選択肢を選択することができる。
【００２９】
プロセッサー２０４は、入力２０５を通じて入力コマンドを受けることができ、それに応じてデーターを処理することができる。一例では、本システムは、ホスト・アプリケーションを実行するホスト・アプリケーション・モジュール２０２を含む。ホスト・アプリケーション・モジュールは、データーまたは情報を提供する形式のアプリケーションであれば、いずれの数でもよい。例えば、ホスト・アプリケーションは、フォルダー、行為項目、カレンダー情報、電子メール情報等の表示を行うアプリケーションを含むことができる。いずれの関連情報も、ホスト・コンピューターによって提供することができる。ホスト・アプリケーション・モジュール２０２は、関連情報を発生するように実行することができ、更に関連情報を提供するためのユーザー・インターフェースを提供することもできる。プロセッサー２０４は、ホスト・アプリケーション・モジュール２０２に、関連情報およびユーザー・インターフェースを提供するように命令することができる。加えて、ホスト・アプリケーション・モジュール２０２からの情報を更にプロセッサー２０４からデーター・モジュール２０６に転送して、フォーマット決定、調整等を行い、更に出力２０７を通じて出力することもできる。
【００３０】
更に、本システムは、追加情報を入手し提供するために、コンパニオン・アプリケーション・モジュール２０３も含むことができる。コンパニオン・アプリケーション・モジュール２０３が提供する追加情報は、ホスト・アプリケーション・モジュール２０２が発生する情報に基づいて選択することができる。加えて、この追加情報は、あらゆる数のデーター源において突き止め、そこから入手することもできる。例えば、コンパニオン・アプリケーション・モジュール２０３は、動作環境２０１からの情報を突き止めて入手することができる。
【００３１】
コンパニオン・アプリケーション・モジュール２０３は、更に、データー・モジュール２０６および出力２０７を通じて、前述の追加情報をデーター出力に含めることができる。追加情報は、ホスト・アプリケーション・モジュール２０２が発生する情報に対する関連性の情報であれば、いずれの種類でも収容することができる。例えば、ホスト・アプリケーション・モジュール２０２は、コンピューティングデバイス上に格納されているフォルダーまたはファイルのリストを含むデーターを発生することができる。ユーザーは、所望のフォルダーまたはファイルの選択を入力２０５を通じて入力することができ、入力２０５は更にプロセッサー２０４によって処理することができる。この選択入力に基づいて、プロセッサー２０４はホスト・アプリケーション・モジュール２０２を制御して、所望の選択肢を選択することができる。例えば、ホスト・アプリケーション・モジュール２０２は、ユーザーが選択した所望のフォルダーまたはファイルを選択する。
【００３２】
コンパニオン・アプリケーション・モジュール２０３は、ホスト・アプリケーション・モジュール２０２を監視するために実行することができる。この例では、コンパニオン・アプリケーション・モジュール２０３がアプリケーションに入り込み、コンパニオン・アプリケーションが、ホスト・アプリケーション・モジュール２０２において実行される活動および／またはイベントを監視するようにしている。コンパニオン・アプリケーションは、ホスト・アプリケーションにおける対象のエレメントまたはコンポーネントであればいずれでも監視することができる。例えば、コンパニオン・アプリケーションは、アプリケーション・プロセスによって発生したファイルを監視することができ、あるいはアプリケーション・プロセス自体とは別個のコンポーネントまたはイベントを監視することもできる。加えて、コンパニオン・アプリケーション・モジュール２０３は、更に、ホスト・アプリケーション・モジュール２０２によって発生するデーターも監視することができる。この場合、ホスト・アプリケーション・モジュール２０２は所望のフォルダーを選択する。コンパニオン・アプリケーション・モジュール２０３は、ホスト・アプリケーション・モジュール２０２による選択を検出することができ、更に、所望のフォルダーに関するメタデーターのような、追加情報を入手することもできる。コンパニオン・アプリケーション・モジュール２０３は、あらゆる数の方法でも、追加情報またはメタデーターを入手することができる。例えば、コンパニオン・アプリケーション・モジュール２０３は所望の情報を動作環境２０１から入手することができ、入手した所望の情報をプロセッサー２０４および／またはデーター・モジュール２０６に提供することができる。所望の情報は、出力２０７を通じて出力することができる。
【００３３】
あるいはまたは加えて、ホスト・アプリケーション・モジュール２０２は、コンパニオン・アプリケーション・モジュール２０２には関与せず、ホスト・アプリケーション・モジュール２０２において実行する行為または発生するデーターが、コンパニオン・アプリケーション・モジュール２０３において実行する活動または行為による影響を受けないようにすることもできる。逆に、コンパニオン・アプリケーション・モジュール２０３は、ホスト・アプリケーション・モジュール２０２において発生する活動および／またはデーターを監視する。したがって、この例では、コンパニオン・アプリケーション・モジュール２０３は、ホスト・アプリケーション・モジュール２０２を認識している（またはそれに関与する）。
【００３４】
図３は、メタデーターを特定および／または入手する一例を示すフローチャートである。あらゆる対象の関連情報を含むデーターを、ディスプレイ上に表示することができる。更に、データーをユーザー・インターフェースの内部に表示することもできる。例えば、１つのアプリケーションに対応するウィンドウを、１つのディスプレイ・デバイス上に表示することもできる。このウィンドウは、コンピューティングシステム上に収容されているフォルダー、あらゆる形式のエレメント（例えば、ハイパーリンク、別のアプリケーション、グラフィック画像等）を収容するウェブ・ページ、連絡先のリスト、カレンダー情報、約束、画像、ファイルのリスト等のような情報を収容することができる。
【００３５】
デバイス上に表示したデーターからの表示されたコンポーネントの選択というような選択を受けることができる（ステップ３０１）。この選択は、表示されているフォルダー、ハイパーリンク、連絡先、またはあらゆる種類の関連情報の選択に対応することができ、第１ウィンドウにおけるあらゆる行為を含むことができる。例えば、この行為は、実際の選択やマウスの活性化は行わずに、カーソルまたはマウスを第１アプリケーション・ウィンドウの特定部分への移動することを含むことができる。
【００３６】
表示されているデーターに対応するメタデーターの存在または入手可能性を判断することができる（ステップ３０２）。入手可能なメタデーターがない場合（ステップ３０２の「Ｎｏ」分岐）、プロセスは終了し（ステップ３０５）、そうでない場合、関連するメタデーターを受け取り（ステップ３０３）、表示する（ステップ３０４）。この例では、メタデーターは、他のデーターを記述する、特徴付ける、またはそれについてのコンテキストを規定するあらゆるデーターを含む。つまり、メタデーターが含む情報は、第１アプリケーションが発生または提供するデーターのいずれをも含み、あるいは第１アプリケーションにおいてなされるまたは実行されるいずれの行為も含む。
【００３７】
例えば、第１アプリケーションは、選択するエレメントの選択肢リストを提示するために実行することができる。エレメントのリストからの選択肢の１つの選択を受ける（ステップ３０１）。メタデーター（即ち、他のデーターの態様を記述する情報）を、第２アプリケーションによって特定することができる。第２アプリケーションは、第１アプリケーションとは異なること、分離していること、および／または別個であることができ、第１アプリケーション、および／または第１アプリケーションによって発生または提供するデーターを監視、観察、または追跡するために実行することができる。第２アプリケーションは、第１アプリケーションから、エレメント・リストから選択したエレメントに対応するメタデーターが入手可能か否か判断することができる。一例では、第１アプリケーションおよび／または第２アプリケーションが実行している動作環境において、メタデーターを特定し場所を突き止める。動作環境は、あらゆるコンピューティングデバイス、オペレーティング・システム、周辺デバイス、リモート・デバイス等を含むことができる。第２アプリケーションは、メタデーターを入手することができ（ステップ３０３）、更にメタデーターを表示することができる（ステップ３０４）。
【００３８】
更に、第２アプリケーションは、別個のユーザー・インターフェースにおいて、第１アプリケーションが発生および表示したデーターを記述し、特徴付け、またはそれについてのコンテキストを規定するために、メタデーターを表示することができる。例えば、第２アプリケーションは、第１アプリケーションとは異なること、分離していること、および／または別個であることができ、第１アプリケーションおよび第２アプリケーションの各々がユーザー・インターフェースを発生する。第２アプリケーションは、実行可能コードを収容することができ、その実行によって、第２アプリケーションを第１アプリケーションに入り込ませる。第２アプリケーションが第１アプリケーションに入り込んだ後、第２アプリケーションは、第１アプリケーションと協同してユーザー・インターフェースを提供することができる。この例では、第２アプリケーションは第１アプリケーションの行為を監視するが、第１アプリケーションは第２アプリケーションの行為を監視しない。例えば、第１アプリケーションは第２アプリケーションには関与せず、第１アプリケーションは、第２アプリケーションが実行する行為および／またはイベントを認識しないようにすることもできる。
【００３９】
このように、本例では、第１アプリケーションはデーターを発生し、発生したデーターを提供するためにユーザー・インターフェースを発生する。第２アプリケーションは、第１アプリケーションとは異なること、分離していること、および／または別個であることができ、第１アプリケーションに入り込むことができ、第１アプリケーションの中で実行される行為またはイベントを監視することができる。また、第２アプリケーションは、第１アプリケーションが発生するデーターを観察または追跡することができる。第１アプリケーションが発生し第２アプリケーションが観察／追跡したデーターに基づいて、第２アプリケーションは、第１アプリケーションが発生したデーターと関連のあるメタデーターを突き止めること、および／または入手することができる。メタデーターは、第１アプリケーションが発生したデーターを記述する、特徴付ける、またはそれについてのコンテキストを規定するあらゆる情報を含むことができる。
【００４０】
加えて、第２アプリケーションは、第１アプリケーションが発生するユーザー・インターフェースとは分離した別個のユーザー・インターフェースを発生することができる。また、第２アプリケーションは、メタデーターを提供することもできる（即ち、第１アプリケーションが発生した、および／または第１アプリケーションが第１アプリケーションのユーザー・インターフェースの中で提供したデーター）。第２アプリケーションは、当該第２アプリケーションが発生したユーザー・インターフェースにおいて、メタデーターを提供することができる。
【００４１】
また、第１アプリケーションが発生したユーザー・インターフェースを、第２アプリケーションが発生したユーザー・インターフェースに接続するまたは付属させる(attach)こともできる。以下で更に詳しく説明するが、第１アプリケーションが発生したユーザー・インターフェース、および第２アプリケーションが発生したユーザー・インターフェースは、互いに隣接していても、互いに合体してもよい。また、これらのユーザー・インターフェースの一方の一部が他方のユーザー・インターフェースのいずれの部分も遮らないように、これらのユーザー・インターフェースが重なり合わないようにするとよい。このようなユーザー・インターフェースは、互いに隣接し、互いに接続または付属し合ってもよい。加えて、これらのユーザー・インターフェースのいずれか一方に対する修正は、ユーザー・インターフェースの双方において１つの単位として実行することもできる。これについては、以下で更に詳しく説明する。
【００４２】
図４は、データー・コンテンツを発生し、このデーターを記述するまたは特徴付ける追加情報を提供する一例を示すフローチャートである。この例では、ホスト・アプリケーションおよびコンパニオン・アプリケーションがデーター・コンテンツを発生または入手する。ステップ４０１において、コンパニオン・アプリケーションが実行する。コンパニオン・アプリケーションの実行は、例えば、ホスト・アプリケーションにおいて行われる行為またはイベントを検出するというように、ホスト・アプリケーションを監視すること（ステップ４０２）を含むことができる。また、コンパニオン・アプリケーションの実行は、当該コンパニオン・アプリケーションが、ホスト・コンピューターによって発生または提供されたデーターを検出することを含むこともできる（ステップ４０３）。
【００４３】
別の例では、コンパニオン・アプリケーションは、ホスト・アプリケーションを監視するが、その他のホスト・アプリケーションを変更したり、修正することはない。例えば、ホスト・アプリケーションに付随する実行可能コードは、コンパニオン・アプリケーションの存在または活動に関しては、不変のままである。更に別の例では、ホスト・アプリケーションはコンパニオン・アプリケーションに関与しない。例えば、ホスト・アプリケーションは、コンパニオン・アプリケーションが不在またはインアクティブである場合所定の様式で機能することができ、コンパニオン・アプリケーションが存在するまたはアクティブである場合も、同じ所定の様式で機能することができる。
【００４４】
コンパニオン・アプリケーションがホスト・アプリケーションにおいてデーターを検出した場合（ステップ４０３の「Ｙｅｓ」分岐）、コンパニオン・アプリケーションは、ホスト・アプリケーションにおいて検出したデーターに対応するメタデーターを入手することができる。コンパニオン・アプリケーションは、あらゆる数のデーター源からでも、メタデーターを入手することができる。例えば、コンパニオン・アプリケーションは、ホスト・アプリケーションおよび／またはコンパニオン・アプリケーションが走っている動作環境から、メタデーターを突き止めることおよび／または入手することができる。
【００４５】
コンパニオン・アプリケーションは、更に、ホスト・アプリケーションからの検出データーの検出に基づいて、データー・コンテンツを発生することもできる（ステップ４０５）。コンパニオン・アプリケーションからのデーター・コンテンツは、更に、ユーザーに出力することができ、あるいは、望ましければ格納することもできる。コンパニオン・アプリケーションが発生したデーター・コンテンツは、動作環境から入手したメタデーターに基づく情報を含むことができる。例えば、データー・コンテンツは、ホスト・アプリケーションから検出したデーターの少なくとも一部と関係付けられている話題、人、物体、実体等のリストを含むことができる。
【００４６】
図５は、データー提供方法の別の例を示すフローチャートである。この例では、ホスト・アプリケーションは対象のデーターを発生するために実行する（ステップ５０１）。ホスト・アプリケーションの発生からの対象のデーターとは、例えば、格納されているフォルダー、連絡先情報、カレンダーまたは電子メール情報、ハイパーリンクのようなウェブ関係情報等のような、あらゆるデーターを含むことができる。また、ホスト・アプリケーションとは、分離した別個のコンパニオン・アプリケーションも、追加データーを発生するために実行することができる（ステップ５０２）。追加情報は、例えば、ホスト・アプリケーションが発生したデーターの状態、内容、または選択を記述する、特徴付ける、あるいはそれについてのコンテキストを規定するメタデーターを含むことができる。
【００４７】
ホスト・アプリケーションおよびコンパニオン・アプリケーションは、各々、ウィンドウのようなユーザー・インターフェースを発生することができる（ステップ５０３）。この例では、ホスト・アプリケーションおよびコンパニオン・アプリケーションは、各々、分離した別個のウィンドウを発生し、そのウィンドウの中で、コンパニオン・アプリケーション・ウィンドウ（「コンパニオン・ウィンドウ」）をホスト・アプリケーション・ウィンドウ（「ホスト・ウィンドウ」）に付属させる（ステップ５０４）。コンパニオン・ウィンドウまたはホスト・ウィンドウのいずれか一方に行為または修正を加えることによって、これらのウィンドウの双方に、その行為または修正が加わる結果となるように、コンパニオン・ウィンドウをホスト・ウィンドウに付属させることができる。例えば、ホスト・ウィンドウのサイズをディスプレイ上で最大にすると、ホスト・ウィンドウおよびコンパニオン・ウィンドウの組み合わせが、ホスト・ウィンドウおよびコンパニオン・ウィンドウ（または２つのウィンドウの組み合わせ）を表示する表示領域のサイズまで最大化されるものの、ホスト・ウィンドウおよびコンパニオン・ウィンドウの寸法の割合は実質的に同じままであるように、ホスト・ウィンドウおよびコンパニオン・ウィンドウは各々比例して修正される。
【００４８】
加えて、ホスト・アプリケーションが発生したデーターは、ホスト・ウィンドウにおいて表示または出力することができ、コンパニオン・アプリケーションによって入手または発生したデーターまたはメタデーターは、コンパニオン・ウィンドウにおいて表示または出力することができる（ステップ５０５）。ホスト・アプリケーションが発生したデーターは、コンパニオン・アプリケーションが入手または発生したメタデーターとは実質的に異なると考えられる。つまり、この例では、ホスト・アプリケーションが発生したデーターは、コンパニオン・アプリケーションが入手または発生したメタデーターを全く収容していない場合もあり、コンパニオン・アプリケーションが入手または発生したメタデーターは、ホスト・アプリケーションが発生したデーターを全く収容していない場合もある。
【００４９】
図６は、ホスト・アプリケーションおよびコンパニオン・アプリケーションを接続してデーターを提供する例を示すフローチャートである。この例では、ホスト・アプリケーションがウィンドウのようなユーザー・インターフェースを発生するために実行する（ステップ６０１）。このユーザー・インターフェースは、ディスプレイ・デバイス上に表示することができる。また、コンパニオン・アプリケーションも、対応するコンパニオン・ユーザー・インターフェースを発生するために実行することができる（ステップ６０２）。コンパニオン・アプリケーションは、更に、ホスト・アプリケーションに入り込むことができる（ステップ６０３）。例えば、ホスト・アプリケーションは、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を内蔵することができ、コンパニオン・アプリケーションは、ホスト・アプリケーションのＡＰＩにアクセスして、ホスト・アプリケーションに入り込むことができる。更に、コンパニオン・アプリケーションはホスト・アプリケーションを監視することができるが、ホスト・アプリケーションはコンパニオン・アプリケーションに関与しないでいてもよい。加えてまたは代わりに、ホスト・アプリケーションは、ホスト・アプリケーションの機能がコンパニオン・アプリケーションの機能による影響を受けないように、コンパニオン・アプリケーションとは独立して機能することもできる。
【００５０】
更に、コンパニオン・アプリケーションは、ホスト・アプリケーションが発生したデーターに関する追加情報を発生することができる。例えば、コンパニオン・アプリケーションは、ホスト・アプリケーションが発生および／または提供したデーターを検出することができ、検出したデーターに基づいて、コンパニオン・アプリケーションは追加情報を（例えば、動作環境から）突き止めることおよび／または入手することができる。追加情報は、ホスト・アプリケーションからの検出データーを記述する、またはそれについてのコンテキストを規定するメタデーターを含むことができる。追加情報（例えば、メタデーター）は、ユーザーに出力することができる。例えば、追加情報を表示することもできる（ステップ６０５）。
【００５１】
図７は、異なるアプリケーションと関連のあるウィンドウを付属させるおよび／または修正する例を示すフローチャートである。ステップ７０１において、ホスト・アプリケーション・ウィンドウをコンパニオン・アプリケーション・ウィンドウに付属させる。この例では、コンパニオン・ウィンドウをホスト・ウィンドウに付属させて、コンパニオン・ウィンドウおよびホスト・ウィンドウ双方を含む、組み合わせウィンドウを形成する。コンパニオン・ウィンドウはホスト・ウィンドウに隣接していてもよく、ホスト・ウィンドウに付属させてもよく、更に１つの側(aspect)をホスト・ウィンドウと共有していてもよい。例えば、ホスト・ウィンドウは、左辺、右辺、上辺、および底辺を有することができる。コンパニオン・ウィンドウも、左辺、右辺、上辺、および底辺を有することができる。コンパニオン・ウィンドウの左辺がホスト・ウィンドウの右辺と接触するように、コンパニオン・ウィンドウがホスト・ウィンドウに隣接し、これに接続することができる。また、この例では、ホスト・ウィンドウおよびコンパニオン・ウィンドウは接触しているが、重なり合っていない。ホスト・ウィンドウおよびコンパニオン・ウィンドウが重なり合っていなければ、ホスト・ウィンドウがコンパニオン・ウィンドウによって遮られることはない。同様に、コンパニオン・ウィンドウもホスト・ウィンドウによって遮られることはない。尚、以上の説明は単なる一例に過ぎず、コンパニオン・ウィンドウのいずれの辺をホスト・ウィンドウのいずれの辺に接続して、組み合わせウィンドウにおいて付属させてもよいことを注記しておく。
【００５２】
ステップ７０２において、組み合わせウィンドウを表示する。また、組み合わせウィンドウのコンポーネントの１つに対する修正を組み合わせウィンドウの別のコンポーネントに適用できるように、組み合わせウィンドウを１つの単位として変更または修正することもできる。例えば、組み合わせウィンドウは、コンパニオン・ウィンドウに付属させたホスト・ウィンドウを含むことができる。ユーザーは、ディスプレイ上の第１位置からディスプレイ上の第２位置にホスト・ウィンドウを移動させることができる。この例では、組み合わせウィンドウのホスト・ウィンドウの移動の結果、コンパニオン・ウィンドウも連動して移動することになる。ホスト・ウィンドウおよびコンパニオン・ウィンドウを移動させると、あるいはそうでなければ、連動して変更または修正すると、ホスト・ウィンドウおよびコンパニオン・ウィンドウは、実質的に同様に移動、変更、または修正されることになる。したがって、ホスト・ウィンドウおよびコンパニオン・ウィンドウが連動して修正される組み合わせウィンドウでは、ホスト・ウィンドウおよびコンパニオン・ウィンドウを１つの単位として作用させるまたは修正することになり、この場合、変化はホスト・ウィンドウおよびコンパニオン・ウィンドウ双方に比例的に適用される。
【００５３】
ステップ７０３において、ホスト・アプリケーション・ウィンドウにおいて入力を受け取る。例えば、ユーザーは、ホスト・アプリケーション・ウィンドウ上に提示される選択肢のメニューから選択することができる。この選択は、あらゆる数または種類のエレメントでも含むことができる。例えば、選択は、コンピューティングシステム上に格納されているデーター・ファイルを収容することができるフォルダーの選択であってもよい。また、選択は、ウェブサイト上の選択肢、連絡先リスト上の連絡先、「行動予定」(to-do)リスト上の項目、カレンダー上の約束等であってもよい。いずれの選択肢でもホスト・アプリケーション・ウィンドウの中に提示することができ、選択することができる。
【００５４】
ステップ７０４において、コンパニオン・アプリケーションは、ホスト・アプリケーションにおいて入力または選択を検出することができる。例えば、ユーザーは、ホスト・アプリケーションが発生または入手したエレメントのリストから１つのエレメントを選択することができる。コンパニオン・アプリケーションは、ユーザーの選択を検出することができ、この選択に基づいて、コンパニオン・アプリケーションは、ホスト・アプリケーションにおける選択項目と関連のある、メタデーターのような、追加情報を突き止めることおよび／または特定することができる。例えば、この選択は、データー・ファイルのフォルダーを含むことができる。コンパニオン・アプリケーションは、この選択をデーター・ファイルのフォルダーとして特定することができ、更にこのフォルダーと関連のある情報を突き止めることができる。一例では、コンパニオン・アプリケーションは、動作環境におけるフォルダーに関する追加情報を突き止める。特定した、即ち、突き止めた追加情報は、ホスト・アプリケーションによってアクセスしたり提供しなくてもよい。また、ホスト・アプリケーションは、コンパニオン・アプリケーションにおいて実行される行為やイベント（例えば、追加情報を突き止めること）についても認識を有さなくてもよい。したがって、ホスト・アプリケーションはコンパニオン・アプリケーションには関与しないでいてもよい。この例では、コンパニオン・アプリケーションが入手したデーター・コンテンツまたは突き止めたデーター・コンテンツは、選択されたフォルダーと関連のある追加情報を含むことができる。例えば、このフォルダーに対してアクセス権を有するユーザーの個人情報をコンパニオン・アプリケーションによって入手することができ、更に、コンパニオン・アプリケーションに対応するユーザー・インターフェース（例えば、コンパニオン・ウィンドウ）において提供または出力することができる。ホスト・アプリケーションからのデーター（例えば、フォルダー）を記述する、またはそれについてのコンテキストを規定するいずれの追加情報も、同様にコンパニオン・アプリケーションによって入手および提供することができる。
【００５５】
別の例では、コンパニオン・アプリケーションによってコンパニオン・ウィンドウに提供される追加情報を修正することもできる。例えば、ホスト・アプリケーションにおいて選択されたデーターに関する条件が変化するに連れて、前述の情報をリアル・タイムで更新することができる。また、ホスト・アプリケーションは、コンパニオン・ウィンドウによって提供される追加データーのコンテキストにおいて選択されたデーターに対する変化には関与しない、または認識しないのでもよい。この例では、コンパニオン・アプリケーションはＡＰＩを通じてホスト・アプリケーションに入り込み、ホスト・アプリケーション・ウィンドウにおいて選択されたデーターを記述する追加情報、あるいはそれについてのコンテキストを規定する追加情報を収容するコンパニオン・ウィンドウを提供する。また、コンパニオン・ウィンドウにおいて提供される追加データーは、ホスト・アプリケーションにおけるデーターに対する変化に基づいて更新することができるが、ホスト・アプリケーションは、コンパニオン・アプリケーションの存在や活動には関与しない、または認識しなくてもよい。更に別の例では、ホスト・アプリケーションは、ホスト・アプリケーションにおけるデーターに対する変化にも関与しない、または認識しなくてもよい。
【００５６】
図８は、ホスト・アプリケーションのユーザー・インターフェースとしてのウィンドウの例を示す。この例では、ホスト・アプリケーションは、Explorer（エクスプローラー）を含むことができるが、ユーザー・インターフェースを提供することができるホスト・アプリケーションであればいずれでも用いることができる。例えば、ホスト・アプリケーションは、ブラウザ、ワード・プロセッシング文書、表計算文書等であってもよい。図８に示す例では、ウィンドウ８０１は、コンピューティングシステム上に格納されているデーターのファイル・フォルダーに対応するアイコンを収容している。例えば、ホスト・アプリケーションのウィンドウ８０１の中に提供されている１つのデーター・フォルダーは、「写真」８０２を収容するフォルダーである。
【００５７】
図９は、コンパニオン・ウィンドウ９０２を付属させた、図８のホスト・ウィンドウ８０１の例を示す。この例では、ホスト・アプリケーションがデーターおよびホスト・ウィンドウ８０１を発生する。ホスト・ウィンドウは、発生したデーターをホスト・ウィンドウ８０１において出力または表示する。図９に示すように、ホスト・アプリケーションが発生したデーターは、「写真」と題したファイル・フォルダー９０１を含む。フォルダー９０１は、ホスト・ウィンドウ８０１の中で表示されている。
【００５８】
また、コンパニオン・アプリケーションによってコンパニオン・ウィンドウ９０２を発生することができる。ホスト・アプリケーションは、コンパニオン・アプリケーションとは分離して別個であってもよく、コンパニオン・アプリケーションまたはコンパニオン・ウィンドウ９０２とは独立して、ホスト・ウィンドウ８０１、およびホスト・ウィンドウ８０１の中に提供するデーターを発生することができる。例えば、コンパニオン・アプリケーションの状態やコンパニオン・ウィンドウ８０２には関係なく、ホスト・アプリケーションにおいて実行される行為またはイベントの状態、あるいはホスト・ウィンドウ８０１において提供または表示されるデーターが同じ状態または実質的に同じ状態で維持されるように、ホスト・アプリケーションは、コンパニオン・アプリケーションには関与しないまたは実質的に関与しないのであってもよい。
【００５９】
図９に示す例では、コンパニオン・アプリケーションはコンパニオン・ウィンドウ９０２を発生する。また、コンパニオン・ウィンドウ９０２はホスト・ウィンドウ８０１に付属または接続されて、ホスト・アプリケーションが発生しホスト・ウィンドウ８０１に提供されているデーターの少なくとも一部と関連のある情報を提供する。この例では、ホスト・ウィンドウ８０１の中にある「写真」フォルダー９０１が選択されている。コンパニオン・アプリケーションは、ホスト・アプリケーションに入り込み、ホスト・アプリケーションを監視し、ファイル・フォルダー９１０の選択を検出することができる。写真フォルダー９０１の選択に基づいて、コンパニオン・アプリケーションは、選択されたファイル・フォルダー９０１を記述する追加データーを入手する。例えば、コンパニオン・アプリケーションは、この追加データーを動作環境から突き止めるまたは受信することができる。
【００６０】
また、図９に示すように、前述の追加データーは、ホスト・ウィンドウ８０１において選択されたデーター（例えば、「写真」フォルダー９０１）を記述するメタデーターを含むことができ、コンパニオン・アプリケーションによってコンパニオン・ウィンドウ９０２の中に表示することができる。先に示したように、ホスト・ウィンドウ９０１に対する操作または修正をコンパニオン・ウィンドウ９０２に比例的に適用することができるように、コンパニオン・ウィンドウ８０２をホスト・ウィンドウ８０１に付属させるまたは接続することができる。例えば、ホスト・ウィンドウ８０１のサイズ変更、最小化、または最大化によって、コンパニオン・ウィンドウ９０２においても同等の修正または比例した修正を行うことができる。したがって、この例では、ホスト・ウィンドウ８０１およびコンパニオン・ウィンドウ９０２の修正、移動等を連動して行うことができる。
【００６１】
コンパニオン・ウィンドウ９０２は、ホスト・ウィンドウ８０１の中に提供されるデーターの状態、選択、または内容を記述する、特徴付ける、またはそれについてのコンテキストを規定する、メタデーターのような、あらゆる関連情報を収容することができる。図１０は、コンパニオン・ウィンドウおよびその中に収容されているメタデーターの例を示す。この例では、コンパニオン・ウィンドウ１００１は、ホスト・ウィンドウにおいて選択されたデーターの名称またはその他の識別子を収容する。この場合、選択されたデーターは、図９のホスト・ウィンドウ８０１に表示されている「写真」フォルダー９０１である。コンパニオン・ウィンドウ１００１をホスト・ウィンドウ８０１に付属させてまたは接続して、コンパニオン・ウィンドウ１００１の一側面がホスト・ウィンドウの一側面と接するようにすることができる。この例では、コンパニオン・ウィンドウおよびホスト・ウィンドウは合体しているが、重なり合ってはいない。
【００６２】
図１０に示すコンパニオン・ウィンドウの例では、コンパニオン・ウィンドウ１００１は更にメンバーの名前または識別子も含むことができる。この例では、特定されたメンバーの名前は、特定のファイルを共有するするためにアクセスすることができる個人に対応することができる。この例では、「写真」フォルダー９０１へのアクセスを共有するメンバーを、コンパニオン・ウィンドウにおいてリストにして表示することができる。
【００６３】
加えてまたは代わりに、コンパニオン・ウィンドウは、特定のデーターにアクセスすることができるまたはアクセスすることを許可されているデバイスのリストを含むこともできる。例えば、一人のユーザーが多数のデバイス（例えば、自宅用コンピューターおよび業務用コンピューター）を有する場合がある。指定データーにアクセスすることができる多数のデバイスは、そのいずれもコンパニオン・ウィンドウにおいてリストにして表示することができる。ホスト・ウィンドウにおいて選択されたデーターに関するあらゆる追加情報を、コンパニオン・ウィンドウに含ませることもできる。
【００６４】
図１１は、コンパニオン・ウィンドウの別の例を示す。この例では、コンパニオン・ウィンドウ１１０１は、選択されたデーターへのアクセスを共有するメンバーのリストを収容する。選択されたデーターは、ホスト・アプリケーションからのものである。更に、コンパニオン・アプリケーションが何をするか、またはコンパニオン・アプリケーションが存在するのか、アクティブであるのか、または動作状態にあるのか否かにも関係なく、ホスト・アプリケーションが実質的に同様に機能するように、ホスト・アプリケーションはコンパニオン・アプリケーションを認識しなくてもよい。
【００６５】
加えて、コンパニオン・ウィンドウは種々の形態で設けることができる。例えば、ディスプレイ上に別のコンポーネント（ホスト・ウィンドウのようなコンポーネント）を表示するための追加空間を設けるために、コンパニオン・ウィンドウを異なるサイズに変更することができる。図１２は、コンパニオン・ウィンドウ１２０１のサイズを縮小し、縮小したコンパニオン・ウィンドウの中にあるエレメントをアイコンで表示した、図９の例を示す。図１３は、コンパニオン・ウィンドウ１３０１を畳むように、コンパニオン・ウィンドウのサイズを更に縮小した、図９の例を示す。それでも、畳まれたコンパニオン・ウィンドウ１３０１は、例えば、畳まれたコンパニオン・ウィンドウ１３０１の色、パターン、陰影、色調等を変更することにより、コンパニオン・ウィンドウ１３０１のステータスの指示を与えることもできる。図１２または図１３の変化させたコンパニオン・ウィンドウ（１２０１、１３０１）は、更に、標準サイズに戻して表示することもできる。例えば、図１２のコンパニオン・ウィンドウ１２０１におけるアイコンを選択することにより、コンパニオン・ウィンドウおよびホスト・ウィンドウを元の割合に戻すことができる。
【００６６】
尚、本説明の態様は多くの形態および実施形態をなすことができることは言うまでもない。本明細書において示した実施形態は、説明を限定するのではなく、例示することを意図しており、本発明の範囲の主旨から逸脱することなく、変形を行うことが可能であることは認められよう。例示用の実施形態について示し説明したが、広範囲の修正、変更、および交換が前述の開示において意図されており、場合によっては、他の特徴の対応する使用がなくても、一部の特徴を採用することができる。したがって、添付する特許請求の範囲は、広義に、そして本発明の範囲と矛盾しないように解釈すべきことは認められよう。
【図１】
2010527478.tif 000003
【図２】
2010527478.tif 000004
【図３】
2010527478.tif 000005
【図４】
2010527478.tif 000006
【図５】
2010527478.tif 000007
【図６】
2010527478.tif 000008
【図７】
2010527478.tif 000009
【図８】
2010527478.tif 000010
【図９】
2010527478.tif 000011
【図１０】
2010527478.tif 000012
【図１１】
2010527478.tif 000013
【図１２】
2010527478.tif 000014
【図１３】
2010527478.tif 000015
【国際調査報告】
2010527478.tif 000016
2010527478.tif 000017