説明

異種のドキュメントの柔軟な編集

本発明は、異種のドキュメントを柔軟に編集するための方法、システム、及びコンピュータープログラムプロダクトにまで及ぶ。異なるタイプのドキュメントは、ユニバーサルであり且つ動的に調整可能なワークスペースキャンバス上において、ドキュメントの間の関係を示す手法で、編成され得る。ワークスペースキャンバスは、異なるタイプのドキュメントを同時に編集する様々な異なるエディタを設けるように構成されている。従って、本発明の実施形態は、同じコンテクスト内の異なるタイプのドキュメントの編集を容易にせしめ且つドキュメント間の関係を維持する手法で編集を容易にせしめる。

【発明の詳細な説明】
【背景技術】
【0001】
コンピューターシステム及び関連技術は社会の多くの面に影響を及ぼしている。実際、コンピューターシステムの情報処理能力は我々が生活し仕事をする方法を変えている。現在、コンピューターシステムは、コンピューターシステムの到来前に手動で行われていた多くのタスク(例えば、文書処理、スケジューリング、会計処理等)を一般に実行している。つい最近になって、コンピューターシステムは互いに接続され且つ他の電子装置と接続されて、有線及び無線のコンピューターネットワークを形成しており、そのコンピューターネットワーク上において、コンピューターシステム及び他の電子装置は電子データを転送することができる。従って、多くのコンピュータータスクの性能は多くの異なるコンピューターシステム及び/又は多くの異なるコンピューター要素に亘って分散化されている。
【0002】
多くのコンピューターのタスクは、ユーザーコマンドに応答してデータを操作してデータファイル内にユーザが意図した事項(user’s intent)を表すアプリケーションプログラムを含む。例えば、ワードプロセッサーは、ワードプロセッサーのユーザインタフェースを介して受信されたユーザーコマンドに応答して、ワード処理ドキュメントのコンテンツを変更し得る。他のアプリケーションプログラムが、スプレッドシート、データベース入力、画像、実行可能なソフトウェアコード等を操作するのに使用され得る。
【0003】
いくつかの環境において、ソフトウェアアプリケーション(例えば、モデルエディタ)は、モデルを作成し且つ操作するのに使用され得る。例えば、ビジネス及び他のエンティティは、処理とシステムを記述するモデルを作成し且つ変更するモデルエディタを使用し得る。かかるモデルは、フロー図、処理フロー、フローチャート、プロセス図、及び/又は、管理図と一般的に呼ばれている。他の場合において、モデルエディタが、システム内のリソース間の組織的関係を示すモデルを作成し且つ変更するように使用され得る。これらのモデルは組織図としばしば呼ばれている。しかしながら、より広い意味において、モデルエディタが、異なるオブジェクト間の全てのタイプの関係を仮想的に示すようにモデルを作成し且つ変更するべく使用され得る。
【0004】
ソフトウェアアプリケーションは、別々のウィンドウで(例えば、分離されたファイルシステムにおいて階層的に編成された)ドキュメントを操作するように通常設計されている。マルチプルディスプレイインタフェース(MDI:Multiple Display Interface)は、ドキュメント操作を容易にせしめるのにしばしば使用されている。MDIは1つの共通のホスト又は1つのタブベースのモデル内において複数の別個のウィンドウを使用する。
【0005】
たいていのMDI手法は多くの面で問題がある。ドキュメント間を移動する際に、少なくとも1つの問題がコンテクストの切替に起因して生じる。例えば、MDIにおける各ウィンドウは、1つの独立したフレーム(又は分離したコンテナ)を通常有する。したがって、少なくともある程度は、ドキュメント及びそれらコンテンツは互いに分離されている。その結果、オペレーティングシステム(又はシェルとして機能する他のマネジメント要素)は、カスケードウィンドウを管理し且つ同期したコマンドスペースを維持しなければならない。例えば、ユーザは、複数の異なるタイプのデータを扱うことを希望し得る。レポジトリブラウザを使用して、ユーザは、異なるタイプのデータ間でコンテクスト(ウィンドウ)を継続的に切替なければならないかもしれない。
【0006】
また、分離したコンテナによって、特徴にギャップが生じ得る。その分離したコンテナにおいて、オペレーティングシステム又は他のシェルは、いくつかのドキュメントの関連する特徴を提供し、他のドキュメントの関連する特徴を提供する。例えば、従来の検索機構を使用すると、結果はシェル内の孤立したタスクペインに示される。
【0007】
さらに、ドキュメント間の情報のやり取り、特にドキュメントタイプの異なるドキュメント間の情報のやり取りは、一般には基本動作(primary operation)でない。例えば、ネストされ又は埋込まれたドキュメントの編集は、ネストされ又は埋込まれたものと互換性のあるエディタを外部起動することを通常必要とする。少なくとも部分的に別個のエディタを使用するため、ドキュメント間の関係を決定することも困難となる場合もある。別の手法としては、オブジェクトのリンクと埋め込み(OLE:Object linking and Embeding)があり、OLEは、同一のアプリケーションを開始(open)するものの、関連性の無い体験(disconnected experience)をもたらす。
【0008】
さらに、ドキュメントは、オペレーティングシステムを使用してスクリーン内の決まった区画で通常管理され又はそれらはアプリケーション内でのみ(例えば、アプリケーションが含む何らかの制限的なウィンドウマネジメント機能を介して)直接管理される。いかなる機構も、後のドキュメントの使用の際のより効率的な検索のためにユーザの編成を持続させない。例えば、ほとんどのオペレーティングシステムは、共通の記憶場所において単一且つ均一のリスト(single flat list)内にオープンアプリケーションを保持している。
【0009】
多くの環境において、アプリケーションは、空間の最適化が制限されている。例えば、コンテンツの形状に関係なく、全てのドキュメントは、矩形のウィンドウに通常表示され、その上、コマンドスペースは各ウィンドウ(例えば、タイル状のSDI)に対して、繰り返され得る。また、アプリケーションは、スケーリングが制限されている。すなわち、アプリケーションは、拡大するスクリーンサイズ及びDPI、及びマルチモニタサポートを良好にサポートするように拡大縮小しない(例えば、多くのアプリケーションがコマンドスペースを複製する。)。
【発明の概要】
【0010】
本発明は、異種のドキュメントを柔軟に編集するための方法、システム、及びコンピュータープログラムプロダクトにまで及ぶ。複数の異なるデータタイプのドキュメントを編集する共通のワークスペースが構成されている。共通のワークスペースは複数の異なるエディタを同時に設けるよう(ホストするよう)に構成される。各エディタは、複数の異なるデータタイプのうちの少なくとも1つを使用して構成される。ワークスペースキャンバスが共通のワークスペース内に提示される。ワークスペースキャンバスは、複数のドキュメントと、複数のドキュメント間の関係とを視覚的に表す。
【0011】
第1のドキュメントをワークスペースキャンバス内で変更するべく、第1の変更コマンドが受信される。第1のドキュメントは、第1のデータタイプを有する。第1のデータタイプを有するドキュメントを用いて使用するように構成された第1のエディタアドインが特定される。第1のエディタはワークスペースキャンバス内に設けられる。第1のエディタは、第1の変更コマンドにより意図された事項(インテント)を第1のドキュメントに適用するのに利用される。第1のエディタは第1のエディタアドインの機能を含む。
【0012】
第2のドキュメントをワークスペースキャンバス内において変更するべく第2の変更コマンドが受信される。第2のドキュメントは、第2の異なるデータタイプを有する。第2のドキュメントは、ワークスペースキャンバス内に視覚的に表された第1のドキュメントとの関係を有する。第2の異なるデータタイプを有するドキュメントを用いて使用ように構成された第2エディタアドインが、特定される。第2のエディタは第1のエディタと共に、ワークスペースキャンバス内に設けられる。第2のエディタは、第2の変更コマンドにより意図された事項(インテント)を第2のドキュメントに適用するのに利用される。第2のエディタは、第2のエディタアドインの機能を含む
【0013】
本概要は、発明の詳細な説明においてさらに後述する単純化した形態で概念の抜粋を紹介するために与えられている。この発明の概要は、特許請求の範囲に記載された発明の重要な特色若しくは本質的な特徴を特定することを目的とせず、特許請求の範囲に記載された発明を限定することを目的とするものでもない。
【0014】
発明のさらなる特徴および利点は、詳細な説明で説明され、それに続いて、詳細な説明から部分的に明らかとなり、又はこの発明の実施によって理解されるであろう。本発明の特徴及び利点は、添付された請求の範囲において特に指摘された手段及び組合せによって認識され且つ得られるであろう。本発明のこれら特徴及び他の特徴は、以下の説明と添付した特許請求の範囲から、より完全に明らかになるだろうし、又は、以下に詳細に説明するように、本発明の実施によって理解され得る。
【図面の簡単な説明】
【0015】
本発明の上述の利点及び他の利点及び特徴が理解され得る方法について説明するために、簡単に説明された本発明のより特定の説明が、添付図面に図示されている特定の実施形態を参照することによって提供されるだろう。これらの図面は本発明の典型的実施形態のみを示すものであり、本発明の範囲を限定するものとして考慮されるべきものでないことを理解すれば、本発明は、添付図面を使用してさらなる特異性及び詳細と共に、記述され且つ説明されるだろう。
【0016】
【図1】異種のドキュメントを柔軟に編集することを容易にせしめる例示的コンピューターキテクチャを示す図である。
【図2】異種のドキュメントを柔軟に編集するための例示的方法のフローチャート図である。
【図3】異種のドキュメントを柔軟に編集する例示的ワークスペースを示す拡大図である。
【図4】ワークスペースドメインモデルの一例を示す図である。
【図5】画面状態ドメインモデルの一例を示す図である。
【発明を実施するための形態】
【0017】
本発明は、異種のドキュメントを柔軟に編集するための方法、システム、及びコンピュータープログラムプロダクトにまで及ぶ。複数の異なるデータタイプのドキュメントを編集する共通のワークスペースが構成されている。共通のワークスペースは複数の異なるエディタを同時に設けるように構成される。各エディタは、複数の異なるデータタイプのうちの少なくとも1つを使用して構成される。ワークスペースキャンバスは共通のワークスペース内に提示される。ワークスペースキャンバスは、複数のドキュメントと複数のドキュメント間の関係を視覚的に表す。
【0018】
第1のドキュメントをワークスペースキャンバス内で変更するべく、第1の変更コマンドが受信される。第1のドキュメントは、第1のデータタイプを有する。第1のデータタイプを有するドキュメントを用いた使用のために構成された第1のエディタアドインが特定される。第1のエディタはワークスペースキャンバス内に設けられる。第1のエディタは、第1の変更コマンドにより意図された事項(インテント)を第1のドキュメントに適用するのに利用される。第1のエディタは第1のエディタアドインの機能を含む。
【0019】
第2のドキュメントをワークスペースキャンバス内において変更するべく、第2の変更コマンドが受信される。第2のドキュメントは、第2の異なるデータタイプを有する。第2のドキュメントは、ワークスペースキャンバス内の第1のドキュメントとの視覚的に表された関係を有する。第2の異なるデータタイプを有するドキュメントを用いて使用するために構成された第2エディタアドインが、特定される。第2のエディタは第1のエディタと同時に、ワークスペースキャンバス内に設けられる。第2のエディタは、第2の変更コマンドにより意図された事項(インテント)を第2のドキュメントに適用するのに利用される。第2のエディタは、第2のエディタアドインの機能を含む。
【0020】
本発明の実施形態は、以下でさらに詳細に説明するように、コンピューターハードウェアを含む専用若しくは汎用のコンピューターを含み得るし又は利用し得る。また、本発明の範囲内の実施形態は、コンピューター実行可能命令及び/又はデータ構造を転送若しくは記憶する物理的コンピューター読取可能媒体及び他のコンピューター読取可能媒体を含む。かかるコンピューター読取可能媒体は、汎用若しくは専用コンピューターシステムによってアクセスされ得る利用可能な媒体であり得る。コンピューター実行可能命令を記憶するコンピューター読取可能媒体は、物理的記憶媒体である。コンピューター実行可能命令を伝送するコンピューター読取可能媒体は、伝送媒体である。したがって、限定ではなく、例として、本発明の実施形態は明瞭に全く異なる2種類のコンピューター読取可能媒体、すなわち、物理的記憶媒体及び伝送媒体を少なくとも含み得る。
【0021】
物理的記憶媒体は、RAM、ROM、EEPROM、CD−ROM、他の光ディスク記憶装置、磁気ディスク記憶装置、他の磁気記憶装置、又は、コンピューター実行可能命令若しくはデータ構造の形態で所望のプログラムコード手段を記憶するのに使用され且つ汎用若しくは専用コンピューターによってアクセスされ得るいかなる他の媒体、を含む。
【0022】
「ネットワーク」とは、コンピューターシステム、モジュール、及び/又は、他の電子装置の間の電子データの転送を可能にする1つ以上のデータリンクとして定義される。(配線接続か、ワイヤレスか、又は配線接続若しくはワイヤレスの組み合わせかのいずれかの)ネットワーク又は別の通信接続上に情報がコンピューターに転送されるか又は提供されるとき、コンピューターはその接続を伝送路であると適切にみなす。伝送媒体は、コンピューター実行可能命令若しくはデータ構造の形態で所望のプログラムコード手段を転送するのに使用され且つ汎用若しくは専用コンピューターによってアクセスされ得るネットワーク及び/又はデータリンクを含み得る。上記組み合わせも、コンピューター可読媒体の範囲内に含まれるべきである。
【0023】
さらに、様々なコンピューター構成要素に到達する際に、コンピューター実行可能命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から物理的記憶媒体まで自動的に転送され得ることを理解するべきである。例えば、ネットワーク若しくはデータリンク上で受信されたコンピューター実行可能命令又はデータ構造は、ネットワークインターフェースカード内のRAM内にバッファリングされ、そして、コンピューターシステムのRAM及び/又はコンピューターシステムにおける少数の揮発性物理的記憶媒体に最終的に転送され得る。したがって、物理的記憶媒体は、伝送媒体をも利用する(又は主に伝送媒体を利用する)コンピューターシステム要素に含まれ得ることを理解すべきである。
【0024】
コンピューター実行可能命令は、例えば、汎用コンピューター、専用コンピューター、又は専用処理デバイスに特定の機能又は一群の機能を実行せしめる命令及びデータを含む。コンピューター実行可能命令は、例えば、バイナリ、アセンブリ言語等の中間的フォーマット命令、又はソースコードであってもよい。本発明が構造の機能及び/又は方法論の動作に対して特定の言語によって説明されてきたが、添付した特許請求の範囲において定義された本発明は、上述した特徴又は動作に必ずしも限定されないことを理解するべきである。むしろ、上述した特徴又は動作は特許請求の範囲に係る発明を実装する例示的形態として説明されている。
【0025】
当業者であれば、本発明は多くのタイプのコンピューターシステム構成を有するネットワークコンピューター環境において実施され得ることを十分理解するだろう。その多くのタイプのコンピューターシステム構成は、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージプロセッサ、携帯端末デバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品若しくはプログラム可能な家庭用電化製品、ネットワークPC、ミニコンピューター、メインフレームコンピューター、携帯電話、PDA、ポケットベル、ルータ、スイッチ、例えば、例えば、iPhone(商標)、マイクロソフト(登録商標)サーフェイス、ウォールプロジェクション、三次元ディスプレイ、及び大画面ウォールディスプレイ等の接触ベースの装置等を含む。また、本発明は分散コンピューター環境においても実施され得る。その分散コンピューター環境において、ネットワークを通してリンクされたローカル及びリモートコンピューターシステムは、(配線接続のデータリンク、無線データリンク、及び、配線接続のデータリンク及び無線データリンクの組み合わせのうちいずれかによって、)ともにタスクを実行する。分散システム環境においては、プログラムモジュールはローカル記憶デバイス及びリモートメモリ記憶デバイスの双方に設けられ得る。
【0026】
図1は柔軟に異種のドキュメントを編集することを容易にせしめるコンピューターキテクチャ100の実施例を示す図である。フレームマネージャ101,ドキュメントマネージャ102,アドインマネージャ103が、コンピューターキテクチャ100において表されている。フレームマネージャ101,ドキュメントマネージャ102,及びアドインマネージャ103は、例えば、ローカル・エリア・ネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、若しくは同等のインターネット等のシステムバス又はネットワーク上で互いに接続され得る。従って、フレームマネージャ101,ドキュメントマネージャ102,及びアドインマネージャ103の要素と、全ての他の接続された要素とは、メッセージに関連するデータを作成することができ、ネットワーク(例えば、インターネットプロトコル(「IP」)データグラムや、例えば通信制御プロトコル(「TCP」)、ハイパーテキスト転送プロトコル(「HTTP」)、シンプルメール転送プロトコル(「SMTP」)等のIPデータグラムを利用する他の高レイヤプロトコルなど)上でメッセージ関連データを交換することができる。
【0027】
一般に、フレームマネージャ101は、異種ドキュメントの柔軟な編集を容易にせしめるように構成される。フレームマネージャ101は、複数の異なるデータタイプのドキュメントを編集するワークスペースキャンバスを構成することができる。フレームマネージャ101は、ドキュメントマネージャ102にワークスペースに表すドキュメントを要求することができる。複数のドキュメントのためのワークスペースキャンバスを可能にするために、ワークスペースは、複数の異なるエディタを同時に設けることができる。各異なるエディタは、複数の異なるデータタイプのうちの少なくとも1つを使用して構成され得る。
【0028】
ワークスペースキャンバスはユーザインタフェースとしてコンピューターシステムに視覚的に提示され得る。したがって、ワークスペースキャンバスは、ワークスペースキャンバス内に表すドキュメントをロードし、保存し、変換し、アクセスし、削除等するためにユーザ入力を受信することができる。ユーザ入力に応答して、ワークスペースはドキュメントマネージャに更なるドキュメントを要求することができ、また、アドインマネージャ103に要求を出すことによって、それらをエディタに一致させる。したがって、受信されたユーザ入力はドキュメントマネージャ102に転送され得る。ユーザ入力に基づいて、ワークスペースは、ユーザ入力において示された意図を認識するために様々な動作を実行することができる(例えば、ドキュメントをロードし、ドキュメントを編集し、ドキュメント間の関係を作成等する)
【0029】
ワークスペースはドキュメントマネージャ102にドキュメントの要求を送ることができる。ドキュメントの要求(例えば、要求182)は、各々がドキュメントコンテンツの一部に対応し得る1つ以上のクエリー、ファイル名、URL等である。ドキュメントの要求に応答して、ドキュメントマネージャ102は、記憶装置104から要求された1つ以上のコンテンツの部分を特定し得る。ドキュメントマネージャ102は、コンテンツのいずれかの特定部分(例えば、コンテンツ391)を、要求したワークスペースに返信し得る。
【0030】
ドキュメントのコンテンツを受信すると、ワークスペースは、ドキュメントのための適切な1つまたは複数のエディタを設けることができる。例えば、ワークスペース107は返信されたドキュメントのデータタイプを決定し、データタイプをアドインマネージャ103に提供することができる。アドインマネージャ103は、(記憶装置106における)マッピング121内で照会して、データタイプと対応するエディタとを対応付けできる。そして、アドインマネージャ103は対応するエディタにアクセスし、対応するエディタをフレームマネージャ101に返信し得る。
【0031】
いくつかの実施形態においては、ワークスペース107は、エディタアドインを受信しエディタアドインと共に作用するインタフェースを有する一般的なエディタの機能を含む。これら(及び他の)実施形態において、返信されたエディタアドインはワークスペース107の一般的なエディタの機能と共に作用するように構成され得る。例えば、返信されたエディタアドインはダイナミックリンクライブラリ(”DLL”:dynamic link library)であり得る。そのダイナミックリンクライブラリは、一般的なエディタの機能とともに作用するように構成さていて、指定されたデータタイプに対して編集動作を実行する。ワークスペース107は、DLLをロードして、指定されたデータタイプのための編集動作に進む。そして、ワークスペース107は、指定されたデータタイプのドキュメントを編集するためのエディタをワークスペース内に提供する。
【0032】
図3を簡単に参照すると、図3は、異種のドキュメントを柔軟に編集するワークスペース107の拡大図を示している。
【0033】
ワークスペース107の拡大図は、異なるドキュメントを含むワークパッド108A、108B、302,312,及び361を含む様々な異なるワークパッドの配置を視覚的に表している。ワークパッドは、含まれているドキュメントをグループ化するグループ化機構としても機能する。図2は、異種のドキュメントを柔軟に編集するための例示的方法を示すフローチャート図である。方法200を、コンピューターキテクチャ100に示された要素及びデータと、ワークスペース107の拡大図に表されたドキュメントとに関して説明する。説明の一部において、コンピューターキテクチャ100及びワークスペース107の拡大図における要素及びデータは互換性を持って使用される。
【0034】
方法200は、複数の異なるデータタイプのドキュメントを編集する共通のワークスペースを構成する動作(動作201)を含む。その共通のワークスペースは複数の異なるエディタを同時に設けるように構成されており、各エディタは、複数の異なるデータタイプのうちの少なくとも1つと共に使用されるように構成されている。例えば、フレームマネージャ101は、複数の異なるデータタイプのドキュメントを編集するワークスペース107を構成することができる。フレームマネージャ101はドキュメントの要求133をドキュメントマネージャ102に送信して、ワークスペースドキュメントを要求する。それに応じて、ドキュメントマネージャ102はワークスペースドキュメント109をフレームマネージャ101に返信し得る。フレームマネージャ101は、ワークスペースドキュメント109を使用してワークスペース107を構成し得る。
【0035】
ワークスペース107は、エディタアドインタイプ131に基づく様々なエディタ(例えば、131AE等)を設けるように構成され得る。設けられたエディタの各々は(コンテンツ181の部分内に現れる)複数の異なるデータタイプのうちの1つとともに使用するように構成されている。例えば、設けられた異なるエディタは、ドキュメント109内で記憶された異なるタイプのデータ(例えば、データタイプ111,データタイプ112等)と共に使用するように構成されている。
【0036】
方法200は、複数のドキュメントと複数のドキュメント間の関係とを視覚的に表すワークスペースキャンバスを提示する動作(動作202)を含む。ワークスペースキャンバスは、ドキュメント109内に記憶されたドキュメントのタイプとすることができる。したがって、ワークスペース107はワークスペースキャンバスドキュメントにドキュメント109からアクセスすることができるし、対応するワークスペースキャンバスをワークスペース107内に提示することができる。例えば、ワークスペース107は、ワークスペースキャンバスドキュメント109に基づいて、ワークパッド108Aを提示することができる。ワークスペースキャンバスは、ドキュメント109内の他のドキュメント間の関係を示すリンクを含むことができる。ワークスペース107は、リンクに従い、ドキュメント109内の他のドキュメントにアクセスし得る。
【0037】
したがって、ワークスペース107はドキュメント301のコンテンツにアクセスし得るし(例えば、コンテンツ391,すなわち、コンテンツ181の部分からのコンテンツのうちいくつか)、ワークパッド108A内のドキュメント301を提示し得る。図示されているように、ドキュメント301は、コンテンツ391及び392を含むコンテンツ(そのうちいくつかが他のドキュメントであり得る)の複数の部分と、コンテンツの部分間の関係とを視覚的に表す。
【0038】
方法200は、第1の変更コマンドを受信して、第1のドキュメントをワークスペースキャンバス内で変更する動作(動作203)を含む。その第1のドキュメントは、第1のデータタイプを有する。例えば、ワークスペース107はユーザ入力141を受信することができる。ユーザ入力141は、ドキュメント301を編集するコマンドであり得る。例えば、ユーザは、コンテンツ391(又はコンテンツのうちいくつかの他の部分)をドキュメント301から選択し得る。あるいは、ユーザはコマンドを入力して、コンテンツの一部を変更し得る。
【0039】
方法200は、第1のデータタイプを有するドキュメントと共に使用するために構成された第1のエディタアドインを特定する動作(動作204)を含む。例えば、ユーザ入力141に応答して、ワークスペース107は、例えば、ファイル名、クエリー、1つのURL等の(例えば、データ又は別のドキュメントであり得るコンテンツ391についての)ドキュメント要求182をドキュメントマネージャ102に送信し得る。ドキュメントの要求182に基づいて、ドキュメントマネージャ102は、記憶装置104からコンテンツ391を取得し、ワークスペース107へドキュメントコンテンツ391を返信し得る。
【0040】
ワークスペースはコンテンツ391を受信してデータタイプ111にアクセスすることができる。ワークスペース107は、データタイプ111をアドインマネージャ103に提供することができる。アドインマネージャ103はマッピング121に照会する。一般に、マッピング121は、それぞれ対応するエディタアドイン(例えば、エディタアドイン131A及び131B)に対してデータタイプ(例えば、データタイプ111及び112)をマップする。従って、アドインマネージャ103は、マッピング121に照会して、エディタアドイン131Aがコンテンツ391に対して適切なエディタであることを決定する。そして、アドインマネージャ131はエディタアドイン131A(例えば、DLL)をフレームマネージャ101に対して返信し得る。
【0041】
方法200は、第1のエディタをワークスペースキャンバス内に設ける動作(動作205)を含む。例えば、エディタアドイン131Aを受信することに応答して、ワークスペース107は、コンテンツ391を編集するエディタ131AEを設けることができる。エディタ131AEは、エディタアドイン131Aに含まれる機能を含み且つその機能に基づくことができる。方法200は、第1の変更コマンドにより意図された事項(インテント)を第1のドキュメントに適用すべく第1のエディタを利用する動作(動作206)を含む。例えば、ワークスペース107は、編集動作をコンテンツ391に適用するべく、エディタ131AEを利用することができる。
【0042】
方法200は、第2の変更命令を受信して、第2のドキュメントをワークスペースキャンバス内で変更する動作(動作207)を含む。その第2のドキュメントは、第2の異なるデータタイプを有し、第2のドキュメントはワークスペースキャンバス内の第1のドキュメントとの視覚的に表された関係を有する。例えば、ワークパッド108Aは、エディタコンテンツ392に対するコマンドを含む更なるユーザ入力を受信し得る。例えば、ユーザは、コンテンツ392へのリンクをドキュメントから選択し得る。あるいは、ユーザはコマンドを入力して、コンテンツ392を変更し得る。ワークスペース107の拡大図に示されているように、ドキュメント301は、コンテンツ391及び392との関係を視覚的に表す。すなわち、コンテンツ391は、他のコンテンツ及び/又はドキュメント間の一連のリンクを介して、コンテンツ392にリンクされる。
【0043】
方法200は、第2の異なるデータタイプを有するドキュメントと共に使用するように構成された第2のエディタアドインを特定する動作(動作208)を含む。例えば、さらなるユーザ入力に応答して、ワークスペース107は、例えば、ファイル名、クエリー、URL等のコンテンツ392についてのさらなるドキュメント要求をドキュメントマネージャ102に送信し得る。更なるドキュメント要求に基づいて、ドキュメントマネージャ102は、コンテンツ181の部分を形成するコンテンツ392を記憶装置104から取得し、コンテンツ392をワークスペース107に返信し得る。
【0044】
ワークスペース107はコンテンツ392を受信してデータタイプ112にアクセスし得る。ワークスペース107は、データタイプ112をアドインマネージャ103に提供し得る。アドインマネージャ103は、マッピング121に照会して、エディタアドイン131Bがコンテンツ392に対して適切なエディタであることを決定する。そして、アドインマネージャ131はエディタアドイン131B(例えば、DLL)をワークスペース107に対して返信し得る。
【0045】
方法200は、第1のエディタと同時に、第2のエディタをワークスペースキャンバス内に設ける動作(動作209)を含む。例えば、エディタアドイン131Bを受信することに応答して、フレームマネージャ101は、コンテンツ392を編集するエディタ131BEを設けることができる。エディタ131BEは、エディタアドイン131Bに含まれる機能を含み且つその機能に基づくことができる。コンピューターキテクチャ100に表されているように、エディタ131AE及び131BEは、ワークスペース107内(及びワークパッド108A内)で同時に設けられ得る。方法200は、第2の変更コマンドにより意図された事項(インテント)を第2のドキュメントに適用すべく第2のエディタを利用する動作(動作210)を含む。例えば、ワークスペース107は、編集動作をコンテンツ392に適用するべく、エディタ131BEを利用する。
【0046】
いくつかの実施形態においては、ドキュメントはお互いにネストされる。例えば、第1のデータタイプの第1のドキュメントは第2の異なるデータタイプの第2のドキュメント内にネストされ得る(埋め込まれるか又は照会)。したがって、第2のドキュメントを編集するエディタ内において、第1のドキュメントが第1のドキュメントを編集するエディタを始動せしめるべく選択され得る。これにより、適所にあるコンテンツ(及び他のドキュメント)に入り込み且つ編集すること又は(同じワークスペース内の)互いに離れたドキュメントを編集することが容易なる。また、これにより、ドキュメント間のコンテクストを保持する方式でドキュメントの調査が容易になる。
【0047】
いくつかの実施形態においては、例えば、コンテンツ及びドキュメント(例えば、306及び307)、ワークパッド((グループ機構としても機能する)302、108B,304)、エディタ等の新たなアイテムがワークスペースに追加され及び/又はワークスペースから削除されるので、スペースについての要求が変化するのに従って、ワークスペースのサイズは、動的に拡大されて且つ縮小され得る。ワークパッドは、いかなるサイズ及び又は数のドキュメントをも仮想的に収容するように大きく拡大し得る。適切である場合、スクロールバーがワークパッド内で移動するのに使用され得る。また、ユーザは、他の制御を操作して、ワークパッド内でパンすることができる。したがって、ユーザは制限のない(又は無限の)ワークスペースの感じを享受する。
【0048】
ワークパッドによって、別のドキュメントのコンテクスト内の関連するドキュメントを開くことが容易にされる。ワークパッドは、別のドキュメントに対して異なるドキュメント及びワークスペース内の異なる場所にある異ななるドキュメントを提示するのに使用され得る。いくつかの実施形態においては、フローティングワークパッドは、ワークスペース領域を直接占有することなく、関連するドキュメントを開くのに使用される。すなわち、ワークパッドはワークスペース上で「浮遊する」。例えば、フローティングワークパッド361はワークスペース107上で(ドキュメント301の部分上で)浮遊する。フローティングドキュメントが破棄されるまで又はドキュメントがワークスペースまで追加されるまで、フローティングワークパッドにおけるドキュメントは使用不可能となり得る。したがって、フローティングワークパッドは、ワークスペースレイアウトを不必要に乱すことなく、一時的且つ集中的な経験を提供する。
【0049】
また、ドキュメントは、ワークスペース内の複数の位置において含まれ得る。例えば、ドキュメント311は強調表示されたビジュアルブックマーク304及びワークパッド108Bの双方に含まれる。
【0050】
ワークパッドは、多くのドキュメントを含むさまざまなフォーマットで構成され得る。また、ワークパッドはお互いにネストされ得る。例えば、図示されているように、(ドキュメント316を含む)ワークパッド312は(ドキュメント314を含む)ワークパッド302内にネストされる。また、ワークパッド302及び108Bはワークパッド108A内でネストされる。
【0051】
ワークスペース内では、現在アクセスされているドキュメントについてのキャンバススペースが優先順位付けされる。
例えば、ドキュメント301のサイズは、コンテンツ391又は392の選択に応じて、拡大され得る。他方では、ワークスペース107内の他のアイテムのサイズは、コンテンツ391又は392の選択に応じて縮小され得る。ドキュメントの優先順位付けによって、ユーザは、より容易に現在関与しているドキュメントに対してより容易に集中することができ、周辺のコンテクスト内の他のドキュメントが維持される。
【0052】
また、ワークスペース107は列フォーマットで配置されたビジュアルブックマーク371を含む。ビジュアルブックマーク371は、ブックマーク/お気に入りのプレビューをドキュメントに提供する。強調表示されたビジュアルブックマーク304は、ビジュアルブックマーク371内からのビジュアルブックマーク上にマウスを移動させることに応答して、強調表示され得る(例えば、拡大される)。
【0053】
従って、本発明の実施形態は、同じコンテクスト内の異なるタイプのドキュメントの編集を容易にせしめ且つドキュメント間の関係を維持する手法で編集を容易にせしめる。さらに、いくつかの実施形態においては、フレームマネージャ101はユーザインタフェースを介してタブが付された複数のワークスペースを管理する。図3を参照すると、タブ391が選択されて、フレームマネージャ101がワークスペース107を提示せしめる。しかしながら、タブ392が選択されることにより、フレームマネージャ101は別のワークスペースを提示せしめる。ユーザは、ユーザインタフェースを使用して、必要に応じて、タブが付されたワークスペースを追加し且つ削除することができる。
【0054】
図4はワークスペースドメインモデル400の一例を示す図である。本発明の実施形態において利用されたワークスペースは、ワークスペースドメインモデル500に応じて定義され得る。図5は画面状態ドメインモデル500の一例を示す図である。ワークスペース内に表わされたアイテムに対する画面状態は、画面状態ドメインモデル500に応じて定義され得る。
【0055】
また、本発明の実施形態は、シェルの特徴とドキュメントの特徴との間のギャップを閉じることに使用され得る。例えば、ドキュメントは検索又はクエリーのような一連のシェルであり得る。これにより、ユーザは望むものにアクセスすることを可能にするとぎれることのない経験が提供される。これこそ、ユーザが望むものである。例えば、ワークスペースを用いて、コンテンツのリストがクエリーに応じて作成され得る。フローティングワークパッドはコンテンツを提示するのに使用され得る。そして、ユーザは、さらなる利用のために、(他のすべてのコンテンツに類似する)ワークスペースに対するワークパッドを動かないようにすることができる。同様に、異なるタイプのコンテンツを扱う際に、ワークパッドは、お互いの近くでドッキングされて、より好みに合った経験を提供する。
【0056】
本発明は、その精神または本質的な特徴から逸脱することなく、他の形態で具体化され得る。上述した実施形態は、すべての観点において単なる実例として考慮されるべきであり、限定するものではないと考慮すべきである。それゆえに、本発明の範囲は前述の説明ではなく、添付した特許請求の範囲に示されている。特許請求の範囲と同等の意味及び範囲内にあるすべての変更は、特許請求の範囲内に含まれる。

【特許請求の範囲】
【請求項1】
コンピューターシステムにおいて、異なるデータタイプを有するドキュメントを編集する方法であって、
複数の異なるデータタイプ(111,112)のドキュメントを編集する共通のワークスペースキャンバス(107)であって、各々が前記複数の異なるデータタイプのうちの少なくとも1つと使用されるように構成された複数の異なるエディタ(131AE、131BE)を同時に設けるように構成された共通のワークスペースキャンバス(107)を構成する動作と、
複数のドキュメント(391,392)及び前記複数のドキュメント間の関係(301)を視覚的に表すワークスペースキャンバスを提示する動作と、
ワークスペースキャンバス(107)内で第1のデータタイプ(111)を有する第1のドキュメント(391)を変更するための第1の変更命令(141)を受信する動作と、
前記第1のデータタイプ(111)を有するドキュメントと使用されるように構成された第1のエディタアドイン(131A)を特定する動作と、
前記第1のエディタアドイン(131A)の機能を含む第1のエディタ(131AE)を前記ワークスペースキャンバス(107)内に設ける動作と、
前記第1のエディタ(131AE)を利用して前記第1の変更コマンド(141)により意図された事項を前記第1のドキュメント(391)に適用する動作と、
第2の異なるデータタイプ(112)を有し且つ前記ワークスペースキャンバス(107)内に前記第1のドキュメント(391)との視覚的に表された関係(301)を有する第2のドキュメント(392)を前記ワークスペースキャンバス(107)内で変更するための第2の変更コマンドを受信する動作と、
前記第2の異なるデータタイプ(112)を有するドキュメントと使用されるように構成された第2のエディタアドイン(131B)を特定する動作と、
前記第2のエディタアドイン(131B)の機能を含む第2のエディタ(131BE)を、前記第1のエディタ(131AE)と共に、前記ワークスペースキャンバス(107)内に設ける動作と、
前記第2のエディタ(131BE)を利用して前記第2の変更コマンドにより意図された事項を前記第2のドキュメント(392)に適用する動作と
を含む方法。
【請求項2】
前記ワークスペースキャンバスに、前記ドキュメントと共に、1つ以上の他のドキュメントを提示する動作をさらに含む請求項1に記載の方法。
【請求項3】
前記ワークスペースキャンバスの前記領域を動的に調整して、前記1つ以上の他のドキュメントを収容する動作と、
前記ワークスペースキャンバスの全ての方向でスクロールし且つパンする制御を行い、前記ワークスペースキャンバス内にあるドキュメントにアクセスする動作とをさらに含む請求項2に記載の方法。
【請求項4】
前記ワークスペースキャンバスに前記ドキュメントと共に1つ以上の他のドキュメントを提示する前記動作は、前記ワークスペースキャンバス上のフローティングワークパッド内に少なくとも1つのドキュメントを提示する動作を含むことを特徴とする請求項2に記載の方法。
【請求項5】
前記ワークスペースキャンバスに前記ドキュメントと同時に1つ以上の他のドキュメントを提示する前記動作は、前記第1のドキュメントも含む少なくとも1つの他のワークパッドを提示する動作を含むことを特徴とする請求項2に記載の方法。
【請求項6】
ワークスペースキャンバス内で第1のドキュメントを変更ための第1の変更コマンドを受信する動作は、前記第2のドキュメント内に埋め込まれた第1のドキュメントを選択するユーザ入力を受信する動作を含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記第1のデータタイプを有するドキュメントと使用するように構成された第1のエディタアドインを特定する前記動作は、前記第1のデータタイプのドキュメントを編集処理するように構成されたアドインを特定する動作を含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記第1の変更コマンドを受信することに応答して前記第1のドキュメントの前記提示を視覚的に変更して、前記第1のドキュメントの優先順位が上がったことを示す動作をさらに含む請求項1に記載の方法。
【請求項9】
ドキュメントを編集するための前記ワークスペースキャンバスを構成する前に、
各々が異なるワークスペースに対応する複数のタブを含むユーザインタフェースを提示する動作と、
前記ワークスペースキャンバスに対応する前記タブを選択するユーザ入力を受信する動作とをさらに含む請求項1に記載の方法。
【請求項10】
前記第1のデータタイプを有するドキュメントと使用するように構成された第1のエディタアドインを特定する前記動作は、
アドインマネージャがマッピングを照会して、前記第1のデータタイプと使用するように構成されたエディタアドインを特定する動作と、
記憶装置から前記特定されたエディタアドインを取得する動作とを含むことを特徴とする請求項1に記載の方法。
【請求項11】
前記第1のドキュメントは、コンテントの部分についてのクエリーのセットに相当することを特徴とする請求項1に記載の方法。
【請求項12】
コンピューターシステムにおける使用のための及び異なるデータタイプを有するドキュメントを編集する方法を実行するコンピュータープログラムプロダクトであって、前記コンピュータープログラムプロダクトは記憶されたコンピューター実行可能命令を有する1つ以上の物理的記憶媒体を含み、
前記コンピューター実行可能命令は、プロセッサにより実行されたとき、前記コンピューターシステムに、
複数の異なるデータタイプのドキュメントを編集する共通のワークスペースキャンバスであって、各々が前記複数の異なるデータタイプのうちの少なくとも1つと使用するように構成された複数の異なるエディタを同時に設けるように構成された共通のワークスペースキャンバスを構成させ、
複数のドキュメント及び前記複数のドキュメント間の関係を視覚的に表現するワークスペースキャンバスを提示させ、
ワークスペースキャンバス内で第1のデータタイプを有する第1のドキュメントを変更するための第1の変更命令を受信させ、
前記第1のデータタイプを有するドキュメントと使用するように構成された第1のエディタアドインを特定させ、
前記第1のエディタアドインの機能を含む第1のエディタを前記ワークスペースキャンバス内に設けさせ、
前記第1のエディタを利用して前記第1の変更コマンドにより意図された事項を前記第1のドキュメントに適用させ、
第2の異なるデータタイプを有し且つ前記ワークスペースキャンバス内の前記第1のドキュメントとの視覚的に表された関係を有する第2のドキュメントを前記ワークスペースキャンバス内で変更するための第2の変更コマンドを受信させ、
前記第2の異なるデータタイプを有するドキュメントと使用するように構成された第2のエディタアドインを特定させ、
前記第2のエディタアドインの機能を含む第2のエディタを、前記第1のエディタと共に、前記ワークスペースキャンバス内に設けさせ、
前記第2のエディタを利用して前記第2の変更コマンドにより意図された事項を前記第2のドキュメントに適用させることを特徴とするコンピュータープログラムプロダクト。
【請求項13】
実行されると、前記コンピューターシステムに、前記ワークスペースキャンバスに、前記ドキュメントと共に、1つ以上の他のドキュメントを提示させるコンピューター実行可能命令をさらに含む請求項12に記載のコンピュータープログラムプロダクト。
【請求項14】
実行されると、前記コンピューターシステムに、前記ワークスペースキャンバスの前記領域を動的に調整して、前記1つ以上の他のドキュメントを収容させるコンピューター実行可能命令をさらに含む請求項13に記載のコンピュータープログラムプロダクト。
【請求項15】
実行されると、前記コンピューターシステムに、前記ワークスペースキャンバスの前記領域を動的に調整して、前記1つ以上の他のドキュメントを収容し、且つ、前記ワークスペースキャンバスの全ての方向でスクロールし且つパンする制御を行い、前記ワークスペースキャンバス内のドキュメントにアクセスさせるコンピューター実行可能命令をさらに含む請求項14に記載のコンピュータープログラムプロダクト。
【請求項16】
実行されると前記コンピューターシステムに前記ワークスペースキャンバスに前記ドキュメントと共に1つ以上のドキュメントを提示させる前記コンピューター実行可能命令は、実行されると、前記コンピューターシステムに、前記ワークスペースキャンバス上のフローティングワークパッド内にドキュメントを提示させるコンピューター実行可能命令を含むことを特徴とする請求項13に記載のコンピュータープログラムプロダクト。
【請求項17】
実行されると前記コンピューターシステムに前記第1のデータタイプを有するドキュメントと使用するように構成された第1のエディタアドインを特定させる前記コンピューター実行可能命令は、実行されると、前記コンピューターシステムに、前記第1のデータタイプのドキュメントを編集処理するように構成されたアドインを特定させるコンピューター実行可能命令を含むことを特徴とする請求項11に記載のコンピュータープログラムプロダクト。
【請求項18】
実行されると、前記コンピューターシステムに、各々が異なるワークスペースに対応する複数のタブを含み且つ前記共通のワークスペースに対応するタブを含むユーザインタフェースを提示させ、
前記共通のワークスペースキャンバスに対応する前記タブを選択するユーザ入力を受信させるコンピューター実行可能命令を、さらに含む請求項11に記載のコンピュータープログラムプロダクト。
【請求項19】
実行されると、前記コンピューターシステムに、マッピングを照会させて、前記第1のデータタイプと使用するように構成されたエディタアドインを特定させ、
記憶装置から前記特定されたエディタアドインを取得させるコンピューター実行可能命令をさらに含む請求項11に記載のコンピュータープログラムプロダクト。
【請求項20】
1つ以上のプロセッサと、
システムメモリと、
フレームマネージャに相当するコンピューター実行可能命令を記憶した1つ以上の物理的記憶媒体とを含む、コンピューターシステムであって、
前記フレームマネージャは、
複数の異なるデータタイプのドキュメントを編集する共通のワークスペースであって、各々が前記複数の異なるデータタイプのうちの少なくとも1つと使用するように構成された複数の異なるエディタを同時に設けるように構成されている共通のワークスペースを構成し、
複数のドキュメント及び前記複数のドキュメント間の関係を視覚的に表すワークスペースキャンバスを提示し、
ワークスペースキャンバス内で第1のデータタイプを有する第1のドキュメントを変更するための第1の変更コマンドを受信して、
前記第1のデータタイプを有するドキュメントと使用するように構成された第1のエディタアドインを特定し、
前記第1のエディタアドインの機能を含む第1のエディタを前記ワークスペースキャンバス内に設け、
前記第1のエディタを利用して前記第1の変更コマンドにより意図された事項を前記第1のドキュメントに適用し、
第2の異なるデータタイプを有し且つ前記ワークスペースキャンバス内に前記第1のドキュメントとの視覚的に表された関係を有する第2のドキュメントを前記ワークスペースキャンバス内で変更するための第2の変更コマンドを受信して、
前記第2の異なるデータタイプを有するドキュメントと使用するように構成された第2エディタアドインを特定し;
前記第2のエディタアドインの機能を含む第2のエディタを、前記第1のエディタと共に、前記ワークスペースキャンバス内に設け、
前記第2のエディタを利用して前記第2の変更コマンドにより意図された事項を前記第2のドキュメントに適用することを特徴とするコンピューターシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2011−501328(P2011−501328A)
【公表日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2010−531306(P2010−531306)
【出願日】平成20年10月26日(2008.10.26)
【国際出願番号】PCT/US2008/081241
【国際公開番号】WO2009/055761
【国際公開日】平成21年4月30日(2009.4.30)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】