(57)【特許請求の範囲】
【請求項１】
コンピューターシステムにおいて、異なるデータタイプを有するドキュメントを編集する方法であって、
複数の異なるデータタイプのドキュメントを編集する共通のワークスペースキャンバスを構成する動作であって、該異なるデータタイプはそれぞれ複数の異なるタイプのエディタのうち一つに対応しており、ユーザ入力を受け取りエディタアドインと共に作用するインタフェースを有し、前記複数の異なるデータタイプのうち異なるデータタイプを有する対応する複数のドキュメントを編集するために前記複数の異なるタイプのエディタのうち複数が同時に動作するように構成された共通のワークスペースキャンバスを構成する動作と、
複数のドキュメント及び前記複数のドキュメント間の関係を視覚的に表すワークスペースキャンバスを提示する動作であって、前記複数のドキュメントは第１のデータタイプを有する第１のドキュメントと、第２のデータタイプを有する第２のドキュメントとを含み、該第２のドキュメントは前記ワークスペースキャンバスの第１のドキュメント内に視覚的にネストされている、ワークスペースキャンバスを視覚的に提示する動作と、
前記ワークスペースキャンバス内の前記複数のドキュメントのうちの前記第１のドキュメントを変更するための第１の変更コマンドを前記インタフェースで受信する動作と、
前記第１のデータタイプを有するドキュメントを編集するよう構成された第１のエディタアドインを特定する動作と、
前記第１のエディタアドインと共に作用する前記インタフェースを用いることにより前記第１のエディタアドインの機能を含む、前記複数の異なるタイプのエディタのうち第１のエディタを前記ワークスペースキャンバス内で動作させる動作と、
前記第１のエディタを利用して前記第１の変更コマンドにより意図された事項を前記ワークスペースキャンバス内で前記第１のドキュメントに適用する動作と、
前記複数のドキュメントのうちの前記第２のドキュメントを前記ワークスペースキャンバス内で変更するための第２の変更コマンドを前記インタフェースで受信する動作と、
前記第２の異なるデータタイプを有するドキュメントを編集するよう構成された第２のエディタアドインを特定する動作と、
前記第２のエディタアドインと共に作用する前記インタフェースを用いることにより前記第２のエディタアドインの機能を含み、前記第１のエディタ内に視覚的にネストされた前記複数の異なるタイプのエディタのうち第２のエディタを、前記第１のエディタと共に、前記ワークスペースキャンバス内で同時に動作させる動作と、
前記第２のエディタを利用して前記第２の変更コマンドにより意図された事項を前記第２のドキュメントに適用する動作と
を含む方法。
【請求項２】
前記ワークスペースキャンバスに、前記第１及び第２のドキュメントと共に、１つ以上の他のドキュメントを同時に提示する動作をさらに含む請求項１に記載の方法。
【請求項３】
前記ワークスペースキャンバスの領域を動的に調整して、前記１つ以上の他のドキュメントを収容する動作と、
前記ワークスペースキャンバス内にあるドキュメントにアクセスするために前記ワークスペースキャンバスの全ての方向でスクロールし且つパンする制御を行う動作とをさらに含む請求項２に記載の方法。
【請求項４】
前記ワークスペースキャンバスに前記第１及び第２のドキュメントと共に１つ以上の他のドキュメントを提示する前記動作は、前記ワークスペースキャンバス上のフローティングワークパッド内に少なくとも１つのドキュメントを提示する動作を含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記ワークスペースキャンバスに前記第１及び第２のドキュメントと共に１つ以上の他のドキュメントを提示する前記動作は、前記第１のドキュメントも含む少なくとも１つの他のワークパッドを提示する動作を含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記第１のデータタイプを有するドキュメントを編集するように構成された前記第１のエディタアドインを特定する前記動作は、前記第１のデータタイプのドキュメントを編集処理するように構成されたアドインを特定する動作を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記第１の変更コマンドを受信することに応答して前記第１のドキュメントの前記提示を視覚的に変更して、前記第１のドキュメントの優先順位が上がったことを示す動作をさらに含む請求項１に記載の方法。
【請求項８】
ドキュメントを編集するための前記ワークスペースキャンバスを構成する前に、
各々が異なるワークスペースに対応する複数のタブを含むユーザインタフェースを提示する動作と、
前記ワークスペースキャンバスに対応する前記タブを選択するユーザ入力を受信する動作とをさらに含む請求項１に記載の方法。
【請求項９】
前記第１のデータタイプを有するドキュメントと使用するように構成された前記第１のエディタアドインを特定する前記動作は、
アドインマネージャがマッピングを照会して、前記第１のデータタイプと使用するように構成されたエディタアドインを特定する動作と、
記憶装置から前記特定されたエディタアドインを取得する動作とを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１のドキュメントは、コンテンツの部分についてのクエリーのセットにより提示されることを特徴とする請求項１に記載の方法。
【請求項１１】
コンピューターシステムに、異なるデータタイプを有するドキュメントを編集する方法を実行させるコンピュータープログラムであって、前記方法は、
複数の異なるデータタイプのドキュメントを編集する共通のワークスペースキャンバスを構成することであって、該異なるデータタイプはそれぞれ複数の異なるタイプのエディタのうち一つに対応しており、ユーザ入力を受け取りエディタアドインと共に作用するインタフェースを有し、前記複数の異なるデータタイプのうち異なるデータタイプを有する対応する複数のドキュメントを編集するために前記複数の異なるタイプのエディタのうち複数が同時に動作するように構成された共通のワークスペースキャンバスを構成することと、
複数のドキュメント及び前記複数のドキュメント間の関係を視覚的に表現するワークスペースキャンバスを提示することであって、前記複数のドキュメントは第１のデータタイプを有する第１のドキュメントと、第２のデータタイプを有する第２のドキュメントを含み、該第２のドキュメントは前記ワークスペースキャンバスの第１のドキュメント内に視覚的にネストされた、ワークスペースキャンバスを視覚的に提示することと、
ワークスペースキャンバス内の前記複数のドキュメントのうちの前記第１のドキュメントを変更するための第１の変更コマンドを前記インタフェースで受信することと、
前記第１のデータタイプを有するドキュメントを編集するように構成された第１のエディタアドインを特定することと、
前記第１のエディタアドインと共に作用する前記インタフェースを用いることにより前記第１のエディタアドインの機能を含む、前記複数の異なるタイプのエディタのうち第１のエディタを前記ワークスペースキャンバス内で動作させることと、
前記第１のエディタを利用して前記第１の変更コマンドにより意図された事項を前記第１のドキュメントに適用することと、
前記複数のドキュメントのうちの前記第２のドキュメントを前記ワークスペースキャンバス内で変更するための第２の変更コマンドを前記インタフェースで受信することと、
前記第２の異なるデータタイプを有するドキュメントを編集するように構成された第２のエディタアドインを特定することと、
前記第２のエディタアドインと共に作用する前記インタフェースを用いることにより前記第２のエディタアドインの機能を含み、前記第１のエディタ内に視覚的にネストされた前記複数の異なるタイプのエディタのうち第２のエディタを、前記第１のエディタと共に、前記ワークスペースキャンバス内で同時に動作させることと、
前記第２のエディタを利用して前記第２の変更コマンドにより意図された事項を前記第２のドキュメントに適用することと
を含むことを特徴とするコンピュータープログラム。
【請求項１２】
前記方法は、前記ワークスペースキャンバスに、前記第１及び第２のドキュメントと共に、１つ以上の他のドキュメントを同時に提示することをさらに含む請求項１１に記載のコンピュータープログラム。
【請求項１３】
前記方法は、前記ワークスペースキャンバスの領域を動的に調整して、前記１つ以上の他のドキュメントを収容することをさらに含む請求項１２に記載のコンピュータープログラム。
【請求項１４】
前記方法は、前記ワークスペースキャンバスの前記領域を動的に調整して、前記１つ以上の他のドキュメントを収容し、且つ、
前記ワークスペースキャンバスの全ての方向でスクロールし且つパンする制御を行い、前記ワークスペースキャンバス内のドキュメントにアクセスさせることをさらに含む請求項１３に記載のコンピュータープログラム。
【請求項１５】
前記ワークスペースキャンバスに前記第１及び第２ドキュメントと共に１つ以上の他のドキュメントを同時に提示することは、前記ワークスペースキャンバス上のフローティングワークパッド内にドキュメントを提示することを含む請求項１２に記載のコンピュータープログラム。
【請求項１６】
前記第１のデータタイプを有するドキュメントを編集するように構成された前記第１のエディタアドインを特定することは、前記第１のデータタイプのドキュメントを編集処理するように構成されたアドインを特定することを含む請求項１１に記載のコンピュータープログラム。
【請求項１７】
前記方法は、各々が異なるワークスペースに対応する複数のタブを含み且つ前記共通のワークスペースに対応するタブを含むユーザインタフェースを提示することと、
前記共通のワークスペースキャンバスに対応する前記タブを選択するユーザ入力を受信することをさらに含む請求項１１に記載のコンピュータープログラム。
【請求項１８】
前記方法は、マッピングを照会して、前記第１のデータタイプと使用するように構成されたエディタアドインを特定することと、
記憶装置から前記特定されたエディタアドインを取得することをさらに含む請求項１１に記載のコンピュータープログラム。
【請求項１９】
１つ以上のプロセッサと、
請求項１１乃至１８のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な媒体と
を備えたことを特徴とするコンピューターシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューターシステム及び関連技術は社会の多くの面に影響を及ぼしている。実際、コンピューターシステムの情報処理能力は我々が生活し仕事をする方法を変えている。現在、コンピューターシステムは、コンピューターシステムの到来前に手動で行われていた多くのタスク（例えば、文書処理、スケジューリング、会計処理等）を一般に実行している。つい最近になって、コンピューターシステムは互いに接続され且つ他の電子装置と接続されて、有線及び無線のコンピューターネットワークを形成しており、そのコンピューターネットワーク上において、コンピューターシステム及び他の電子装置は電子データを転送することができる。従って、多くのコンピュータータスクの性能は多くの異なるコンピューターシステム及び／又は多くの異なるコンピューター要素に亘って分散化されている。
【０００２】
多くのコンピューターのタスクは、ユーザーコマンドに応答してデータを操作してデータファイル内にユーザが意図した事項（user’s intent）を表すアプリケーションプログラムを含む。例えば、ワードプロセッサーは、ワードプロセッサーのユーザインタフェースを介して受信されたユーザーコマンドに応答して、ワード処理ドキュメントのコンテンツを変更し得る。他のアプリケーションプログラムが、スプレッドシート、データベース入力、画像、実行可能なソフトウェアコード等を操作するのに使用され得る。
【０００３】
いくつかの環境において、ソフトウェアアプリケーション（例えば、モデルエディタ）は、モデルを作成し且つ操作するのに使用され得る。例えば、ビジネス及び他のエンティティは、処理とシステムを記述するモデルを作成し且つ変更するモデルエディタを使用し得る。かかるモデルは、フロー図、処理フロー、フローチャート、プロセス図、及び／又は、管理図と一般的に呼ばれている。他の場合において、モデルエディタが、システム内のリソース間の組織的関係を示すモデルを作成し且つ変更するように使用され得る。これらのモデルは組織図としばしば呼ばれている。しかしながら、より広い意味において、モデルエディタが、異なるオブジェクト間の全てのタイプの関係を仮想的に示すようにモデルを作成し且つ変更するべく使用され得る。
【０００４】
ソフトウェアアプリケーションは、別々のウィンドウで（例えば、分離されたファイルシステムにおいて階層的に編成された）ドキュメントを操作するように通常設計されている。マルチプルディスプレイインタフェース（ＭＤＩ：Ｍｕｌｔｉｐｌｅ  Ｄｉｓｐｌａｙ  Ｉｎｔｅｒｆａｃｅ）は、ドキュメント操作を容易にせしめるのにしばしば使用されている。ＭＤＩは１つの共通のホスト又は１つのタブベースのモデル内において複数の別個のウィンドウを使用する。
【０００５】
たいていのＭＤＩ手法は多くの面で問題がある。ドキュメント間を移動する際に、少なくとも１つの問題がコンテクストの切替に起因して生じる。例えば、ＭＤＩにおける各ウィンドウは、１つの独立したフレーム（又は分離したコンテナ）を通常有する。したがって、少なくともある程度は、ドキュメント及びそれらコンテンツは互いに分離されている。その結果、オペレーティングシステム（又はシェルとして機能する他のマネジメント要素）は、カスケードウィンドウを管理し且つ同期したコマンドスペースを維持しなければならない。例えば、ユーザは、複数の異なるタイプのデータを扱うことを希望し得る。レポジトリブラウザを使用して、ユーザは、異なるタイプのデータ間でコンテクスト（ウィンドウ）を継続的に切替なければならないかもしれない。
【０００６】
また、分離したコンテナによって、特徴にギャップが生じ得る。その分離したコンテナにおいて、オペレーティングシステム又は他のシェルは、いくつかのドキュメントの関連する特徴を提供し、他のドキュメントの関連する特徴を提供する。例えば、従来の検索機構を使用すると、結果はシェル内の孤立したタスクペインに示される。
【０００７】
さらに、ドキュメント間の情報のやり取り、特にドキュメントタイプの異なるドキュメント間の情報のやり取りは、一般には基本動作（primary operation）でない。例えば、ネストされ又は埋込まれたドキュメントの編集は、ネストされ又は埋込まれたものと互換性のあるエディタを外部起動することを通常必要とする。少なくとも部分的に別個のエディタを使用するため、ドキュメント間の関係を決定することも困難となる場合もある。別の手法としては、オブジェクトのリンクと埋め込み（ＯＬＥ：Object linking and Embeding）があり、ＯＬＥは、同一のアプリケーションを開始（open）するものの、関連性の無い体験（disconnected experience）をもたらす。
【０００８】
さらに、ドキュメントは、オペレーティングシステムを使用してスクリーン内の決まった区画で通常管理され又はそれらはアプリケーション内でのみ（例えば、アプリケーションが含む何らかの制限的なウィンドウマネジメント機能を介して）直接管理される。いかなる機構も、後のドキュメントの使用の際のより効率的な検索のためにユーザの編成を持続させない。例えば、ほとんどのオペレーティングシステムは、共通の記憶場所において単一且つ均一のリスト（single flat list）内にオープンアプリケーションを保持している。
【０００９】
多くの環境において、アプリケーションは、空間の最適化が制限されている。例えば、コンテンツの形状に関係なく、全てのドキュメントは、矩形のウィンドウに通常表示され、その上、コマンドスペースは各ウィンドウ（例えば、タイル状のＳＤＩ）に対して、繰り返され得る。また、アプリケーションは、スケーリングが制限されている。すなわち、アプリケーションは、拡大するスクリーンサイズ及びＤＰＩ、及びマルチモニタサポートを良好にサポートするように拡大縮小しない（例えば、多くのアプリケーションがコマンドスペースを複製する。）。
【発明の概要】
【００１０】
本発明は、異種のドキュメントを柔軟に編集するための方法、システム、及びコンピュータープログラムプロダクトにまで及ぶ。複数の異なるデータタイプのドキュメントを編集する共通のワークスペースが構成されている。共通のワークスペースは複数の異なるエディタを同時に設けるよう（ホストするよう）に構成される。各エディタは、複数の異なるデータタイプのうちの少なくとも１つを使用して構成される。ワークスペースキャンバスが共通のワークスペース内に提示される。ワークスペースキャンバスは、複数のドキュメントと、複数のドキュメント間の関係とを視覚的に表す。
【００１１】
第１のドキュメントをワークスペースキャンバス内で変更するべく、第１の変更コマンドが受信される。第１のドキュメントは、第１のデータタイプを有する。第１のデータタイプを有するドキュメントを用いて使用するように構成された第１のエディタアドインが特定される。第１のエディタはワークスペースキャンバス内に設けられる。第１のエディタは、第１の変更コマンドにより意図された事項（インテント）を第１のドキュメントに適用するのに利用される。第１のエディタは第１のエディタアドインの機能を含む。
【００１２】
第２のドキュメントをワークスペースキャンバス内において変更するべく第２の変更コマンドが受信される。第２のドキュメントは、第２の異なるデータタイプを有する。第２のドキュメントは、ワークスペースキャンバス内に視覚的に表された第１のドキュメントとの関係を有する。第２の異なるデータタイプを有するドキュメントを用いて使用ように構成された第２エディタアドインが、特定される。第２のエディタは第１のエディタと共に、ワークスペースキャンバス内に設けられる。第２のエディタは、第２の変更コマンドにより意図された事項（インテント）を第２のドキュメントに適用するのに利用される。第２のエディタは、第２のエディタアドインの機能を含む
【００１３】
本概要は、発明の詳細な説明においてさらに後述する単純化した形態で概念の抜粋を紹介するために与えられている。この発明の概要は、特許請求の範囲に記載された発明の重要な特色若しくは本質的な特徴を特定することを目的とせず、特許請求の範囲に記載された発明を限定することを目的とするものでもない。
【００１４】
発明のさらなる特徴および利点は、詳細な説明で説明され、それに続いて、詳細な説明から部分的に明らかとなり、又はこの発明の実施によって理解されるであろう。本発明の特徴及び利点は、添付された請求の範囲において特に指摘された手段及び組合せによって認識され且つ得られるであろう。本発明のこれら特徴及び他の特徴は、以下の説明と添付した特許請求の範囲から、より完全に明らかになるだろうし、又は、以下に詳細に説明するように、本発明の実施によって理解され得る。
【図面の簡単な説明】
【００１５】
本発明の上述の利点及び他の利点及び特徴が理解され得る方法について説明するために、簡単に説明された本発明のより特定の説明が、添付図面に図示されている特定の実施形態を参照することによって提供されるだろう。これらの図面は本発明の典型的実施形態のみを示すものであり、本発明の範囲を限定するものとして考慮されるべきものでないことを理解すれば、本発明は、添付図面を使用してさらなる特異性及び詳細と共に、記述され且つ説明されるだろう。
【００１６】
【図１】異種のドキュメントを柔軟に編集することを容易にせしめる例示的コンピューターキテクチャを示す図である。
【図２】異種のドキュメントを柔軟に編集するための例示的方法のフローチャート図である。
【図３】異種のドキュメントを柔軟に編集する例示的ワークスペースを示す拡大図である。
【図４】ワークスペースドメインモデルの一例を示す図である。
【図５】画面状態ドメインモデルの一例を示す図である。
【発明を実施するための形態】
【００１７】
本発明は、異種のドキュメントを柔軟に編集するための方法、システム、及びコンピュータープログラムプロダクトにまで及ぶ。複数の異なるデータタイプのドキュメントを編集する共通のワークスペースが構成されている。共通のワークスペースは複数の異なるエディタを同時に設けるように構成される。各エディタは、複数の異なるデータタイプのうちの少なくとも１つを使用して構成される。ワークスペースキャンバスは共通のワークスペース内に提示される。ワークスペースキャンバスは、複数のドキュメントと複数のドキュメント間の関係を視覚的に表す。
【００１８】
第１のドキュメントをワークスペースキャンバス内で変更するべく、第１の変更コマンドが受信される。第１のドキュメントは、第１のデータタイプを有する。第１のデータタイプを有するドキュメントを用いた使用のために構成された第１のエディタアドインが特定される。第１のエディタはワークスペースキャンバス内に設けられる。第１のエディタは、第１の変更コマンドにより意図された事項（インテント）を第１のドキュメントに適用するのに利用される。第１のエディタは第１のエディタアドインの機能を含む。
【００１９】
第２のドキュメントをワークスペースキャンバス内において変更するべく、第２の変更コマンドが受信される。第２のドキュメントは、第２の異なるデータタイプを有する。第２のドキュメントは、ワークスペースキャンバス内の第１のドキュメントとの視覚的に表された関係を有する。第２の異なるデータタイプを有するドキュメントを用いて使用するために構成された第２エディタアドインが、特定される。第２のエディタは第１のエディタと同時に、ワークスペースキャンバス内に設けられる。第２のエディタは、第２の変更コマンドにより意図された事項（インテント）を第２のドキュメントに適用するのに利用される。第２のエディタは、第２のエディタアドインの機能を含む。
【００２０】
本発明の実施形態は、以下でさらに詳細に説明するように、コンピューターハードウェアを含む専用若しくは汎用のコンピューターを含み得るし又は利用し得る。また、本発明の範囲内の実施形態は、コンピューター実行可能命令及び／又はデータ構造を転送若しくは記憶する物理的コンピューター読取可能媒体及び他のコンピューター読取可能媒体を含む。かかるコンピューター読取可能媒体は、汎用若しくは専用コンピューターシステムによってアクセスされ得る利用可能な媒体であり得る。コンピューター実行可能命令を記憶するコンピューター読取可能媒体は、物理的記憶媒体である。コンピューター実行可能命令を伝送するコンピューター読取可能媒体は、伝送媒体である。したがって、限定ではなく、例として、本発明の実施形態は明瞭に全く異なる２種類のコンピューター読取可能媒体、すなわち、物理的記憶媒体及び伝送媒体を少なくとも含み得る。
【００２１】
物理的記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、他の光ディスク記憶装置、磁気ディスク記憶装置、他の磁気記憶装置、又は、コンピューター実行可能命令若しくはデータ構造の形態で所望のプログラムコード手段を記憶するのに使用され且つ汎用若しくは専用コンピューターによってアクセスされ得るいかなる他の媒体、を含む。
【００２２】
「ネットワーク」とは、コンピューターシステム、モジュール、及び／又は、他の電子装置の間の電子データの転送を可能にする１つ以上のデータリンクとして定義される。（配線接続か、ワイヤレスか、又は配線接続若しくはワイヤレスの組み合わせかのいずれかの）ネットワーク又は別の通信接続上に情報がコンピューターに転送されるか又は提供されるとき、コンピューターはその接続を伝送路であると適切にみなす。伝送媒体は、コンピューター実行可能命令若しくはデータ構造の形態で所望のプログラムコード手段を転送するのに使用され且つ汎用若しくは専用コンピューターによってアクセスされ得るネットワーク及び／又はデータリンクを含み得る。上記組み合わせも、コンピューター可読媒体の範囲内に含まれるべきである。
【００２３】
さらに、様々なコンピューター構成要素に到達する際に、コンピューター実行可能命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から物理的記憶媒体まで自動的に転送され得ることを理解するべきである。例えば、ネットワーク若しくはデータリンク上で受信されたコンピューター実行可能命令又はデータ構造は、ネットワークインターフェースカード内のＲＡＭ内にバッファリングされ、そして、コンピューターシステムのＲＡＭ及び／又はコンピューターシステムにおける少数の揮発性物理的記憶媒体に最終的に転送され得る。したがって、物理的記憶媒体は、伝送媒体をも利用する（又は主に伝送媒体を利用する）コンピューターシステム要素に含まれ得ることを理解すべきである。
【００２４】
コンピューター実行可能命令は、例えば、汎用コンピューター、専用コンピューター、又は専用処理デバイスに特定の機能又は一群の機能を実行せしめる命令及びデータを含む。コンピューター実行可能命令は、例えば、バイナリ、アセンブリ言語等の中間的フォーマット命令、又はソースコードであってもよい。本発明が構造の機能及び／又は方法論の動作に対して特定の言語によって説明されてきたが、添付した特許請求の範囲において定義された本発明は、上述した特徴又は動作に必ずしも限定されないことを理解するべきである。むしろ、上述した特徴又は動作は特許請求の範囲に係る発明を実装する例示的形態として説明されている。
【００２５】
当業者であれば、本発明は多くのタイプのコンピューターシステム構成を有するネットワークコンピューター環境において実施され得ることを十分理解するだろう。その多くのタイプのコンピューターシステム構成は、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージプロセッサ、携帯端末デバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品若しくはプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、携帯電話、ＰＤＡ、ポケットベル、ルータ、スイッチ、例えば、例えば、ｉＰｈｏｎｅ（商標）、マイクロソフト（登録商標）サーフェイス、ウォールプロジェクション、三次元ディスプレイ、及び大画面ウォールディスプレイ等の接触ベースの装置等を含む。また、本発明は分散コンピューター環境においても実施され得る。その分散コンピューター環境において、ネットワークを通してリンクされたローカル及びリモートコンピューターシステムは、（配線接続のデータリンク、無線データリンク、及び、配線接続のデータリンク及び無線データリンクの組み合わせのうちいずれかによって、）ともにタスクを実行する。分散システム環境においては、プログラムモジュールはローカル記憶デバイス及びリモートメモリ記憶デバイスの双方に設けられ得る。
【００２６】
図１は柔軟に異種のドキュメントを編集することを容易にせしめるコンピューターキテクチャ１００の実施例を示す図である。フレームマネージャ１０１，ドキュメントマネージャ１０２，アドインマネージャ１０３が、コンピューターキテクチャ１００において表されている。フレームマネージャ１０１，ドキュメントマネージャ１０２，及びアドインマネージャ１０３は、例えば、ローカル・エリア・ネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、若しくは同等のインターネット等のシステムバス又はネットワーク上で互いに接続され得る。従って、フレームマネージャ１０１，ドキュメントマネージャ１０２，及びアドインマネージャ１０３の要素と、全ての他の接続された要素とは、メッセージに関連するデータを作成することができ、ネットワーク（例えば、インターネットプロトコル（「ＩＰ」）データグラムや、例えば通信制御プロトコル（「ＴＣＰ」）、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）、シンプルメール転送プロトコル（「ＳＭＴＰ」）等のＩＰデータグラムを利用する他の高レイヤプロトコルなど）上でメッセージ関連データを交換することができる。
【００２７】
一般に、フレームマネージャ１０１は、異種ドキュメントの柔軟な編集を容易にせしめるように構成される。フレームマネージャ１０１は、複数の異なるデータタイプのドキュメントを編集するワークスペースキャンバスを構成することができる。フレームマネージャ１０１は、ドキュメントマネージャ１０２にワークスペースに表すドキュメントを要求することができる。複数のドキュメントのためのワークスペースキャンバスを可能にするために、ワークスペースは、複数の異なるエディタを同時に設けることができる。各異なるエディタは、複数の異なるデータタイプのうちの少なくとも１つを使用して構成され得る。
【００２８】
ワークスペースキャンバスはユーザインタフェースとしてコンピューターシステムに視覚的に提示され得る。したがって、ワークスペースキャンバスは、ワークスペースキャンバス内に表すドキュメントをロードし、保存し、変換し、アクセスし、削除等するためにユーザ入力を受信することができる。ユーザ入力に応答して、ワークスペースはドキュメントマネージャに更なるドキュメントを要求することができ、また、アドインマネージャ１０３に要求を出すことによって、それらをエディタに一致させる。したがって、受信されたユーザ入力はドキュメントマネージャ１０２に転送され得る。ユーザ入力に基づいて、ワークスペースは、ユーザ入力において示された意図を認識するために様々な動作を実行することができる（例えば、ドキュメントをロードし、ドキュメントを編集し、ドキュメント間の関係を作成等する）
【００２９】
ワークスペースはドキュメントマネージャ１０２にドキュメントの要求を送ることができる。ドキュメントの要求（例えば、要求１８２）は、各々がドキュメントコンテンツの一部に対応し得る１つ以上のクエリー、ファイル名、ＵＲＬ等である。ドキュメントの要求に応答して、ドキュメントマネージャ１０２は、記憶装置１０４から要求された１つ以上のコンテンツの部分を特定し得る。ドキュメントマネージャ１０２は、コンテンツのいずれかの特定部分（例えば、コンテンツ３９１）を、要求したワークスペースに返信し得る。
【００３０】
ドキュメントのコンテンツを受信すると、ワークスペースは、ドキュメントのための適切な１つまたは複数のエディタを設けることができる。例えば、ワークスペース１０７は返信されたドキュメントのデータタイプを決定し、データタイプをアドインマネージャ１０３に提供することができる。アドインマネージャ１０３は、（記憶装置１０６における）マッピング１２１内で照会して、データタイプと対応するエディタとを対応付けできる。そして、アドインマネージャ１０３は対応するエディタにアクセスし、対応するエディタをフレームマネージャ１０１に返信し得る。
【００３１】
いくつかの実施形態においては、ワークスペース１０７は、エディタアドインを受信しエディタアドインと共に作用するインタフェースを有する一般的なエディタの機能を含む。これら（及び他の）実施形態において、返信されたエディタアドインはワークスペース１０７の一般的なエディタの機能と共に作用するように構成され得る。例えば、返信されたエディタアドインはダイナミックリンクライブラリ（”ＤＬＬ”：ｄｙｎａｍｉｃ  ｌｉｎｋ  ｌｉｂｒａｒｙ）であり得る。そのダイナミックリンクライブラリは、一般的なエディタの機能とともに作用するように構成さていて、指定されたデータタイプに対して編集動作を実行する。ワークスペース１０７は、ＤＬＬをロードして、指定されたデータタイプのための編集動作に進む。そして、ワークスペース１０７は、指定されたデータタイプのドキュメントを編集するためのエディタをワークスペース内に提供する。
【００３２】
図３を簡単に参照すると、図３は、異種のドキュメントを柔軟に編集するワークスペース１０７の拡大図を示している。
【００３３】
ワークスペース１０７の拡大図は、異なるドキュメントを含むワークパッド１０８Ａ、１０８Ｂ、３０２，３１２，及び３６１を含む様々な異なるワークパッドの配置を視覚的に表している。ワークパッドは、含まれているドキュメントをグループ化するグループ化機構としても機能する。図２は、異種のドキュメントを柔軟に編集するための例示的方法を示すフローチャート図である。方法２００を、コンピューターキテクチャ１００に示された要素及びデータと、ワークスペース１０７の拡大図に表されたドキュメントとに関して説明する。説明の一部において、コンピューターキテクチャ１００及びワークスペース１０７の拡大図における要素及びデータは互換性を持って使用される。
【００３４】
方法２００は、複数の異なるデータタイプのドキュメントを編集する共通のワークスペースを構成する動作（動作２０１）を含む。その共通のワークスペースは複数の異なるエディタを同時に設けるように構成されており、各エディタは、複数の異なるデータタイプのうちの少なくとも１つと共に使用されるように構成されている。例えば、フレームマネージャ１０１は、複数の異なるデータタイプのドキュメントを編集するワークスペース１０７を構成することができる。フレームマネージャ１０１はドキュメントの要求１３３をドキュメントマネージャ１０２に送信して、ワークスペースドキュメントを要求する。それに応じて、ドキュメントマネージャ１０２はワークスペースドキュメント１０９をフレームマネージャ１０１に返信し得る。フレームマネージャ１０１は、ワークスペースドキュメント１０９を使用してワークスペース１０７を構成し得る。
【００３５】
ワークスペース１０７は、エディタアドインタイプ１３１に基づく様々なエディタ（例えば、１３１ＡＥ等）を設けるように構成され得る。設けられたエディタの各々は（コンテンツ１８１の部分内に現れる）複数の異なるデータタイプのうちの１つとともに使用するように構成されている。例えば、設けられた異なるエディタは、ドキュメント１０９内で記憶された異なるタイプのデータ（例えば、データタイプ１１１，データタイプ１１２等）と共に使用するように構成されている。
【００３６】
方法２００は、複数のドキュメントと複数のドキュメント間の関係とを視覚的に表すワークスペースキャンバスを提示する動作（動作２０２）を含む。ワークスペースキャンバスは、ドキュメント１０９内に記憶されたドキュメントのタイプとすることができる。したがって、ワークスペース１０７はワークスペースキャンバスドキュメントにドキュメント１０９からアクセスすることができるし、対応するワークスペースキャンバスをワークスペース１０７内に提示することができる。例えば、ワークスペース１０７は、ワークスペースキャンバスドキュメント１０９に基づいて、ワークパッド１０８Ａを提示することができる。ワークスペースキャンバスは、ドキュメント１０９内の他のドキュメント間の関係を示すリンクを含むことができる。ワークスペース１０７は、リンクに従い、ドキュメント１０９内の他のドキュメントにアクセスし得る。
【００３７】
したがって、ワークスペース１０７はドキュメント３０１のコンテンツにアクセスし得るし（例えば、コンテンツ３９１，すなわち、コンテンツ１８１の部分からのコンテンツのうちいくつか）、ワークパッド１０８Ａ内のドキュメント３０１を提示し得る。図示されているように、ドキュメント３０１は、コンテンツ３９１及び３９２を含むコンテンツ（そのうちいくつかが他のドキュメントであり得る）の複数の部分と、コンテンツの部分間の関係とを視覚的に表す。
【００３８】
方法２００は、第１の変更コマンドを受信して、第１のドキュメントをワークスペースキャンバス内で変更する動作（動作２０３）を含む。その第１のドキュメントは、第１のデータタイプを有する。例えば、ワークスペース１０７はユーザ入力１４１を受信することができる。ユーザ入力１４１は、ドキュメント３０１を編集するコマンドであり得る。例えば、ユーザは、コンテンツ３９１（又はコンテンツのうちいくつかの他の部分）をドキュメント３０１から選択し得る。あるいは、ユーザはコマンドを入力して、コンテンツの一部を変更し得る。
【００３９】
方法２００は、第１のデータタイプを有するドキュメントと共に使用するために構成された第１のエディタアドインを特定する動作（動作２０４）を含む。例えば、ユーザ入力１４１に応答して、ワークスペース１０７は、例えば、ファイル名、クエリー、１つのＵＲＬ等の（例えば、データ又は別のドキュメントであり得るコンテンツ３９１についての）ドキュメント要求１８２をドキュメントマネージャ１０２に送信し得る。ドキュメントの要求１８２に基づいて、ドキュメントマネージャ１０２は、記憶装置１０４からコンテンツ３９１を取得し、ワークスペース１０７へドキュメントコンテンツ３９１を返信し得る。
【００４０】
ワークスペースはコンテンツ３９１を受信してデータタイプ１１１にアクセスすることができる。ワークスペース１０７は、データタイプ１１１をアドインマネージャ１０３に提供することができる。アドインマネージャ１０３はマッピング１２１に照会する。一般に、マッピング１２１は、それぞれ対応するエディタアドイン（例えば、エディタアドイン１３１Ａ及び１３１Ｂ）に対してデータタイプ（例えば、データタイプ１１１及び１１２）をマップする。従って、アドインマネージャ１０３は、マッピング１２１に照会して、エディタアドイン１３１Ａがコンテンツ３９１に対して適切なエディタであることを決定する。そして、アドインマネージャ１３１はエディタアドイン１３１Ａ（例えば、ＤＬＬ）をフレームマネージャ１０１に対して返信し得る。
【００４１】
方法２００は、第１のエディタをワークスペースキャンバス内に設ける動作（動作２０５）を含む。例えば、エディタアドイン１３１Ａを受信することに応答して、ワークスペース１０７は、コンテンツ３９１を編集するエディタ１３１ＡＥを設けることができる。エディタ１３１ＡＥは、エディタアドイン１３１Ａに含まれる機能を含み且つその機能に基づくことができる。方法２００は、第１の変更コマンドにより意図された事項（インテント）を第１のドキュメントに適用すべく第１のエディタを利用する動作（動作２０６）を含む。例えば、ワークスペース１０７は、編集動作をコンテンツ３９１に適用するべく、エディタ１３１ＡＥを利用することができる。
【００４２】
方法２００は、第２の変更命令を受信して、第２のドキュメントをワークスペースキャンバス内で変更する動作（動作２０７）を含む。その第２のドキュメントは、第２の異なるデータタイプを有し、第２のドキュメントはワークスペースキャンバス内の第１のドキュメントとの視覚的に表された関係を有する。例えば、ワークパッド１０８Ａは、エディタコンテンツ３９２に対するコマンドを含む更なるユーザ入力を受信し得る。例えば、ユーザは、コンテンツ３９２へのリンクをドキュメントから選択し得る。あるいは、ユーザはコマンドを入力して、コンテンツ３９２を変更し得る。ワークスペース１０７の拡大図に示されているように、ドキュメント３０１は、コンテンツ３９１及び３９２との関係を視覚的に表す。すなわち、コンテンツ３９１は、他のコンテンツ及び／又はドキュメント間の一連のリンクを介して、コンテンツ３９２にリンクされる。
【００４３】
方法２００は、第２の異なるデータタイプを有するドキュメントと共に使用するように構成された第２のエディタアドインを特定する動作（動作２０８）を含む。例えば、さらなるユーザ入力に応答して、ワークスペース１０７は、例えば、ファイル名、クエリー、ＵＲＬ等のコンテンツ３９２についてのさらなるドキュメント要求をドキュメントマネージャ１０２に送信し得る。更なるドキュメント要求に基づいて、ドキュメントマネージャ１０２は、コンテンツ１８１の部分を形成するコンテンツ３９２を記憶装置１０４から取得し、コンテンツ３９２をワークスペース１０７に返信し得る。
【００４４】
ワークスペース１０７はコンテンツ３９２を受信してデータタイプ１１２にアクセスし得る。ワークスペース１０７は、データタイプ１１２をアドインマネージャ１０３に提供し得る。アドインマネージャ１０３は、マッピング１２１に照会して、エディタアドイン１３１Ｂがコンテンツ３９２に対して適切なエディタであることを決定する。そして、アドインマネージャ１３１はエディタアドイン１３１Ｂ（例えば、ＤＬＬ）をワークスペース１０７に対して返信し得る。
【００４５】
方法２００は、第１のエディタと同時に、第２のエディタをワークスペースキャンバス内に設ける動作（動作２０９）を含む。例えば、エディタアドイン１３１Ｂを受信することに応答して、フレームマネージャ１０１は、コンテンツ３９２を編集するエディタ１３１ＢＥを設けることができる。エディタ１３１ＢＥは、エディタアドイン１３１Ｂに含まれる機能を含み且つその機能に基づくことができる。コンピューターキテクチャ１００に表されているように、エディタ１３１ＡＥ及び１３１ＢＥは、ワークスペース１０７内（及びワークパッド１０８Ａ内）で同時に設けられ得る。方法２００は、第２の変更コマンドにより意図された事項（インテント）を第２のドキュメントに適用すべく第２のエディタを利用する動作（動作２１０）を含む。例えば、ワークスペース１０７は、編集動作をコンテンツ３９２に適用するべく、エディタ１３１ＢＥを利用する。
【００４６】
いくつかの実施形態においては、ドキュメントはお互いにネストされる。例えば、第１のデータタイプの第１のドキュメントは第２の異なるデータタイプの第２のドキュメント内にネストされ得る（埋め込まれるか又は照会）。したがって、第２のドキュメントを編集するエディタ内において、第１のドキュメントが第１のドキュメントを編集するエディタを始動せしめるべく選択され得る。これにより、適所にあるコンテンツ（及び他のドキュメント）に入り込み且つ編集すること又は（同じワークスペース内の）互いに離れたドキュメントを編集することが容易なる。また、これにより、ドキュメント間のコンテクストを保持する方式でドキュメントの調査が容易になる。
【００４７】
いくつかの実施形態においては、例えば、コンテンツ及びドキュメント（例えば、３０６及び３０７）、ワークパッド（（グループ機構としても機能する）３０２、１０８Ｂ，３０４）、エディタ等の新たなアイテムがワークスペースに追加され及び／又はワークスペースから削除されるので、スペースについての要求が変化するのに従って、ワークスペースのサイズは、動的に拡大されて且つ縮小され得る。ワークパッドは、いかなるサイズ及び又は数のドキュメントをも仮想的に収容するように大きく拡大し得る。適切である場合、スクロールバーがワークパッド内で移動するのに使用され得る。また、ユーザは、他の制御を操作して、ワークパッド内でパンすることができる。したがって、ユーザは制限のない（又は無限の）ワークスペースの感じを享受する。
【００４８】
ワークパッドによって、別のドキュメントのコンテクスト内の関連するドキュメントを開くことが容易にされる。ワークパッドは、別のドキュメントに対して異なるドキュメント及びワークスペース内の異なる場所にある異ななるドキュメントを提示するのに使用され得る。いくつかの実施形態においては、フローティングワークパッドは、ワークスペース領域を直接占有することなく、関連するドキュメントを開くのに使用される。すなわち、ワークパッドはワークスペース上で「浮遊する」。例えば、フローティングワークパッド３６１はワークスペース１０７上で（ドキュメント３０１の部分上で）浮遊する。フローティングドキュメントが破棄されるまで又はドキュメントがワークスペースまで追加されるまで、フローティングワークパッドにおけるドキュメントは使用不可能となり得る。したがって、フローティングワークパッドは、ワークスペースレイアウトを不必要に乱すことなく、一時的且つ集中的な経験を提供する。
【００４９】
また、ドキュメントは、ワークスペース内の複数の位置において含まれ得る。例えば、ドキュメント３１１は強調表示されたビジュアルブックマーク３０４及びワークパッド１０８Ｂの双方に含まれる。
【００５０】
ワークパッドは、多くのドキュメントを含むさまざまなフォーマットで構成され得る。また、ワークパッドはお互いにネストされ得る。例えば、図示されているように、（ドキュメント３１６を含む）ワークパッド３１２は（ドキュメント３１４を含む）ワークパッド３０２内にネストされる。また、ワークパッド３０２及び１０８Ｂはワークパッド１０８Ａ内でネストされる。
【００５１】
ワークスペース内では、現在アクセスされているドキュメントについてのキャンバススペースが優先順位付けされる。
例えば、ドキュメント３０１のサイズは、コンテンツ３９１又は３９２の選択に応じて、拡大され得る。他方では、ワークスペース１０７内の他のアイテムのサイズは、コンテンツ３９１又は３９２の選択に応じて縮小され得る。ドキュメントの優先順位付けによって、ユーザは、より容易に現在関与しているドキュメントに対してより容易に集中することができ、周辺のコンテクスト内の他のドキュメントが維持される。
【００５２】
また、ワークスペース１０７は列フォーマットで配置されたビジュアルブックマーク３７１を含む。ビジュアルブックマーク３７１は、ブックマーク／お気に入りのプレビューをドキュメントに提供する。強調表示されたビジュアルブックマーク３０４は、ビジュアルブックマーク３７１内からのビジュアルブックマーク上にマウスを移動させることに応答して、強調表示され得る（例えば、拡大される）。
【００５３】
従って、本発明の実施形態は、同じコンテクスト内の異なるタイプのドキュメントの編集を容易にせしめ且つドキュメント間の関係を維持する手法で編集を容易にせしめる。さらに、いくつかの実施形態においては、フレームマネージャ１０１はユーザインタフェースを介してタブが付された複数のワークスペースを管理する。図３を参照すると、タブ３９１が選択されて、フレームマネージャ１０１がワークスペース１０７を提示せしめる。しかしながら、タブ３９２が選択されることにより、フレームマネージャ１０１は別のワークスペースを提示せしめる。ユーザは、ユーザインタフェースを使用して、必要に応じて、タブが付されたワークスペースを追加し且つ削除することができる。
【００５４】
図４はワークスペースドメインモデル４００の一例を示す図である。本発明の実施形態において利用されたワークスペースは、ワークスペースドメインモデル５００に応じて定義され得る。図５は画面状態ドメインモデル５００の一例を示す図である。ワークスペース内に表わされたアイテムに対する画面状態は、画面状態ドメインモデル５００に応じて定義され得る。
【００５５】
また、本発明の実施形態は、シェルの特徴とドキュメントの特徴との間のギャップを閉じることに使用され得る。例えば、ドキュメントは検索又はクエリーのような一連のシェルであり得る。これにより、ユーザは望むものにアクセスすることを可能にするとぎれることのない経験が提供される。これこそ、ユーザが望むものである。例えば、ワークスペースを用いて、コンテンツのリストがクエリーに応じて作成され得る。フローティングワークパッドはコンテンツを提示するのに使用され得る。そして、ユーザは、さらなる利用のために、（他のすべてのコンテンツに類似する）ワークスペースに対するワークパッドを動かないようにすることができる。同様に、異なるタイプのコンテンツを扱う際に、ワークパッドは、お互いの近くでドッキングされて、より好みに合った経験を提供する。
【００５６】
本発明は、その精神または本質的な特徴から逸脱することなく、他の形態で具体化され得る。上述した実施形態は、すべての観点において単なる実例として考慮されるべきであり、限定するものではないと考慮すべきである。それゆえに、本発明の範囲は前述の説明ではなく、添付した特許請求の範囲に示されている。特許請求の範囲と同等の意味及び範囲内にあるすべての変更は、特許請求の範囲内に含まれる。
【図１】
0005511671.tif 000002
【図２】
0005511671.tif 000003
【図３】
0005511671.tif 000004
【図４】
0005511671.tif 000005
【図５】
0005511671.tif 000006