(57)【要約】  様々な実施形態で、アプリケーションベースまたはブラウザ・ベースのコピー・アンド・ペースト操作を提供する。１つまたは複数の実施形態では、ウェブブラウザがコピー・アンド・ペースト機能をサポートし、それによりユーザはデータを或る位置から別の位置に容易に移動させることが可能になる。従って、このブラウザ・ベースの解決策により、ウェブサイトはコピー・アンド・ペースト機能を実装するコードを含む必要がなくなる。
2010519611.tif 000002
【特許請求の範囲】
【請求項１】
コピー・アンド・ペースト操作をネイティブに実施するウェブブラウザで、構造化データを有するリソースを受信する動作（６００）と、
前記ウェブブラウザで前記構造化データを識別する動作（６０２）と、
前記構造化データをコピーすることができることを示す視覚的なコピー・インジケータを、前記ウェブブラウザで提示する動作（６０４）と、
を含むことを特徴とするコンピュータで実行される方法。
【請求項２】
前記リソースは、ウェブページを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記識別する動作は、前記リソースに関連付けられたＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ言語を調べることによって行われることを特徴とする請求項１に記載の方法。
【請求項４】
前記提示する動作は、カーソルが前記構造化データの上または前記構造化データの近くでホバリングされることに応答して前記コピー・インジケータを表示することによって行われることを特徴とする請求項１に記載の方法。
【請求項５】
ユーザによってコピー操作が起動されたことに応答して、前記ウェブブラウザで前記構造化データをコピーする動作をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記コピーする動作は、単一のユーザ・アクションに応答して実行されることを特徴とする請求項５に記載の方法。
【請求項７】
前記ウェブブラウザで、別のリソースが構造化データをサポートするかどうかを確認する動作をさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記別のリソースはウェブページを備え、前記確認する動作は、前記ウェブページのＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ言語を調べることによって行われることを特徴とする請求項７に記載の方法。
【請求項９】
前記別のリソースが構造化データをサポートすることを確認したことに応答して、前記ウェブブラウザで視覚的なペースト・インジケータを提示する動作をさらに含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記ユーザが前記視覚的ペースト・インジケータに対して単一のユーザ・アクションを用いてペースト操作を起動したことに応答して、前記ウェブブラウザで、コピーされた前記構造化データをペーストする動作をさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記確認する動作は、前記別のリソースが、コピーされたデータのデータ型と一致するデータ型の任意のフォーム・フィールドを有するかどうかを確認することを含むことを特徴とする請求項７に記載の方法。
【請求項１２】
コピー・アンド・ペースト操作を実施するように構成されたウェブブラウザ（１１０）を具現化した１つまたは複数のコンピュータ読取可能媒体であって、前記コピー・アンド・ペースト操作はそれぞれ、単一のユーザ・アクションによって実行されることを特徴とする、１つまたは複数のコンピュータ読取可能媒体（１０６）。
【請求項１３】
前記ウェブブラウザは、構造化データを或るウェブページから別のウェブページにコピーするように構成されたことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ読取可能媒体。
【請求項１４】
前記ウェブブラウザは、構造化データを或るウェブページからアプリケーションにコピーするように構成されたことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ読取可能媒体。
【請求項１５】
前記ウェブブラウザは、構造化データを１つまたは複数の異なる形式に変換するように構成されたことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ読取可能媒体。
【請求項１６】
前記ウェブブラウザは、データを構造化データに変換するように構成されたことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ読取可能媒体。
【請求項１７】
前記ウェブブラウザは、データをウェブページ以外の位置からコピーするように構成されたことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ読取可能媒体。
【請求項１８】
１つまたは複数のコンピュータ読取可能媒体（１０６）と、
前記１つまたは複数のコンピュータ読取可能媒体（１０６）上に具現化されたウェブブラウザ（１１０）であって、
第１の形式を有するデータを受信する動作（８００）と、
前記データを前記第１の形式から少なくとも第２の異なる形式に変換する動作（８０２）と、
変換されたデータをクリップボードにコピーする動作（８０４）と、
コピーされ変換されたデータをペーストする動作（８０６）と
を含む方法を実施するように構成された、前記ウェブブラウザ（１１０）と
を備えたことを特徴とするシステム（１００）。
【請求項１９】
前記受信する動作は、構造化データを受信することによって行われることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記ウェブブラウザは、新しい変換を前記ブラウザに追加できるように構成されたことを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションベースのコピー・アンド・ペースト操作に関する。
【背景技術】
【０００２】
一部のアプリケーションのシナリオでは、ユーザは、データを或る位置から別の位置へ、例えば、或るアプリケーションから別のアプリケーションへ、または或るウェブサイトから別のウェブサイトへ移動させることを望む。例えば、ブラウザのコンテキストでは、ユーザは、レストランのウェブサイトを閲覧して、レストランのメニューのセレクションを読んで知ることができる。ユーザが特定のレストランで食事することを決めると、ユーザは、次いで、そのレストランへの行き方を知るために、レストランの住所を地図ウェブアプリケーションのフォーム・フィールド（form field）にコピー・アンド・ペーストすることができる。これらおよび他のシナリオでは、埋めなければならない複数のフィールドがあることがあり、その複数のフィールドの各々に手動でコピー・アンド・ペースト操作を行う必要がある。言うまでもなく、これはユーザに負担を課すものである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ウェブサイトの中には、コピー・アンド・ペースト操作を許可するコントロールをホストできるものもある。しかし、これはウェブサイトの設計者に当該コントロールの開発およびホスティングの負担を課すだけでなく、ウェブアプリケーション側でもペースト操作の際に入ってくるデータを処理する必要がある。従って、コピー・アンド・ペースト機能をサポートする負担がウェブサイト開発者とウェブアプリケーションに直接かかってくる。
【課題を解決するための手段】
【０００４】
この「課題を解決するための手段」は、以下の「発明を実施するための形態」でさらに説明される概念の選択を簡潔な形で紹介するために提供される。この「課題を解決するための手段」は、本発明の主要な特徴または本質的な特徴を特定するようには意図されておらず、本発明の範囲を限定することに使用されるようにも意図されていない。
【０００５】
様々な実施形態により、アプリケーションベースのコピー・アンド・ペースト操作が提供される。１つまたは複数の実施形態では、ウェブブラウザなどのアプリケーションが、コピー・アンド・ペースト機能をサポートし、これによりユーザがデータを或る位置から別の位置へ容易に移動させることが可能になる。従って、このブラウザ・ベースの解決策によりウェブサイトは、コピー・アンド・ペースト機能を実装するコードを含む必要がなくなる。
【０００６】
１つまたは複数の実施形態では、コピー・アンド・ペースト操作の対象となるデータを、構造化された発見可能な（discoverable）方法で記述する。ユーザインタフェース・コンポーネントを利用して、例えばウェブページまたは他の何らかのリソースにおける、コピー可能な構造化データの存在をユーザに知らせることができる。データのデータ型などのデータの構造が発見されると、該データをペーストすることができる宛先位置（destination location）を、該データの構造に何らかの形で対応しているフォーム・フィールドについて調べることができる。宛先位置が該データの構造をサポートするフォーム・フィールドを含む場合、ユーザインタフェース・コンポーネントによって、ユーザは、コピーされたデータをこの適切なフォーム・フィールドにペーストすることができる。
【０００７】
他の実施形態はブラウザ・ベースの変換を提供し、該ブラウザ・ベースの変換を構造化データを含むデータに適用することで、該データを他のアプリケーションに対してより広く利用可能となる形式に変換することが可能になる。
【０００８】
図面全体を通じて、同様な特徴を参照するよう同じ番号を使用する。
【図面の簡単な説明】
【０００９】
【図１】１つまたは複数の実施形態に従う、本明細書で説明する様々な原理を使用できるシステムを示す図である。
【図２】１つまたは複数の実施形態に従う、構造化データを含むウェブページの例を示す図である。
【図３】１つまたは複数の実施形態に従う、視覚的コピー・インジケータを有するウェブページの例を示す図である。
【図４】１つまたは複数の実施形態に従う、フォーム・フィールドを有するウェブページの例を示す図である。
【図５】１つまたは複数の実施形態に従う、視覚的ペースト・インジケータを伴う図４のウェブページを示す図である。
【図５Ａ】１つまたは複数の実施形態に従うフォームの例を示す図である。
【図６】１つまたは複数の実施形態に従うコピー・アンド・ペーストの方法のステップを説明するフロー図である。
【図７】１つまたは複数の実施形態に従うシステムの例を示す図である。
【図８】１つまたは複数の実施形態に従う方法におけるステップを説明するフロー図である。
【図９】１つまたは複数の実施形態に従うシステムの例を示す図である。
【図１０】１つまたは複数の実施形態を実施するのに使用できるコンピューティング装置の例を示す図である。
【発明を実施するための形態】
【００１０】
概要
様々な実施形態によりアプリケーションベースのコピー・アンド・ペースト操作が提供される。１つまたは複数の実施形態では、ウェブブラウザなどのアプリケーションが、コピー・アンド・ペースト機能をサポートし、それによりユーザがデータを或る位置から別の位置へ容易に移動させることが可能になる。ブラウザ・ベースの解決策によりウェブサイトは、コピー・アンド・ペースト機能を実装するコードを含む必要がなくなる。すなわち、以下で説明する様々な実施形態では、ブラウザが、ネイティブに（natively）コピー・アンド・ペースト操作を実装する。
【００１１】
１つまたは複数の実施形態では、コピー・アンド・ペースト操作の対象のデータを、構造化された発見可能な方法で記述する。ユーザインタフェース・コンポーネントを利用して、ユーザに、例えばウェブページまたは他の何らかのリソースにおける、コピー可能な構造化データの存在を知らせることができる。データのデータ型のなど、データの構造が発見されると、データをペーストすることができる宛先位置を、当該データの構造に何らかの形で対応するフォーム・フィールドについて調べることができる。宛先位置が、当該データ構造をサポートするフォーム・フィールドを含む場合、ユーザインタフェース・コンポーネントによって、ユーザは、コピーしたデータをこの適切なフォーム・フィールドにペーストすることができる。
【００１２】
１つまたは複数の実施形態では、単一のユーザ・アクションでコピー操作を実行し、単一のユーザ・アクションでペースト操作を実行するための、コピー・アンド・ペースト機能を提供することができる。これらの単一のユーザ・アクションのコピー操作は、少なくとも一部の実施形態において、異なるデータ型を有するデータを同時にコピーすることができる。同様に、以下で明らかになるように、これらの単一のユーザ・アクションのペースト操作は、少なくとも一部の実施形態において、異なるデータ型を有するデータを同時にペーストすることができる。これらの実施形態を、コピー・アンド・ペースト機能を利用するか、または利用できる任意の適切なタイプのアプリケーションと関連して使用することができ、そのようなアプリケーションの一例は、ウェブアプリケーションである。
【００１３】
他の実施形態はブラウザ・ベースの変換を提供し、構造化データを含むデータに当該変換を適用することで、当該データを、他のアプリケーションに対してより広く利用可能である形式に変換することが可能になる。
【００１４】
以下の議論において、「例示的システム」というタイトルのセクションでは、１つまたは複数の実施形態にかかる、本明細書で説明される原理を実施するために利用可能なシステムの１つを説明する。これに続く「例示的な構造化データ」というタイトルのセクションでは、構造化データの概念を紹介し、１つまたは複数の実施形態にかかる構造化データの特徴の一部を説明する。次に、「構造化データのコピー」および「構造化データのペースト」というタイトルのセクションでは、１つまたは複数の実施形態に従って、構造化データをどのようにコピーし、ペーストすることができるかを示す例をそれぞれ説明する。これに続く「構造化データに関連する変換」というタイトルのセクションでは、１つまたは複数の実施形態にかかる、構造化データの他の形態への変換、およびコンテンツの構造化データへの変換などの、構造化データに関連する様々な変換を説明する。最後に、「変換プラグイン」というタイトルのセクションでは、１つまたは複数の実施形態に従って、異なるデータ型または新たに発生する（newly-emerging）データ型を拡張可能な手法でどのように扱うことができるかについて説明する。
【００１５】
例示的システム
図１は、１つまたは複数の実施形態にかかるシステムを、全体的として１００で図示している。システム１００は、１つまたは複数のプロセッサ１０４、１つまたは複数のコンピュータ読取可能媒体１０６、およびコンピュータ読取可能媒体上にありプロセッサによって実行可能な１つまたは複数のアプリケーション１０８を有するコンピューティング装置１０２を含む。コンピュータ読取可能媒体は、限定ではなく例として、コンビューティング装置に典型的に関連付けられる、全ての形態の揮発性および不揮発性メモリ、および／または記憶媒体を含むことができる。そのような媒体には、ＲＯＭ、ＲＡＭ、フラッシュ・メモリ、ハードディスク、取外し可能媒体などが含まれる。さらに、コンピューティング装置１０２は、アプリケーションをウェブブラウザ１１０の形態で含む。適切に構成された任意のウェブブラウザを利用することができ、その例には、本特許出願の譲渡人および他社から市販されているものがある。コンピューティング装置の１つの具体例は、図１０に図示され、説明されている。
【００１６】
１つまたは複数の実施形態では、ウェブブラウザおよび／または他のアプリケーションは、上述および後述のように機能するコピー・アンド・ペースト・モジュール１１２を含み、あるいは使用する。コピー・アンド・ペースト・モジュールは、アプリケーションもしくブラウザのネイティブな部分、アプリケーションもしくはブラウザに後で追加されるプラグイン、および／またはアプリケーションもしくはブラウザによって使用もしくは利用されるスタンドアロンのコンポーネントを含むことができる。
【００１７】
コンピューティング装置１０２はデスクトップ・コンピュータの形で図示されているが、本発明の精神および範囲を逸脱しない他のコンピューティング装置も利用することができることが認識され理解されよう。例えば、他のコンピューティング装置には、限定ではなく例として、ポータブル・コンピュータ、ＰＤＡ（personal digital assistant）などのハンドヘルド・コンピュータ、携帯電話などが含まれうる。
【００１８】
例示的な構造化データ
１つまたは複数の実施形態では、コピー・アンド・ペースト機能の対象となるデータは、いわゆる構造化データ（structured data）である。構造化データとは、コピー・アンド・ペースト・モジュール１１２によって利用可能な形式のデータを指す。構造化データを、ＸＭＬ（eXtensible Markup Language）またはＨＴＭＬ（HyperText Markup Language）などの、公知の、もしくは後に開発される構造化データの標準に従ってフォーマットすることができる。例えば、構造化データを、データの特定のデータ型を識別する方式の、ウェブページのＨＴＭＬで記述することができる。具体的には、１つまたは複数の実施形態では、ＨＴＭＬタグを利用して、データ型を特定のデータのインスタンスに関連付けることができる。代替または追加として、構造化データを、本発明の精神と範囲を逸脱せずに、公的および私的な他の標準を使用してフォーマットすることができる。
【００１９】
例として、図２を考える。図２では、ウェブページ２００はカレンダ・イベント２０２を含む。この特定の例では、カレンダ・イベントは、３つのフィールド、すなわち、位置フィールドと２つの日付フィールドに関連付けられており、該３つのフィールドの各々は、あるデータ型に関連付けられている。これらのフィールドは、例えば図示されているタグなどの適切なＨＴＭＬタグによって、ページのＨＴＭＬ２０４で記述されている。他の方法および技法を使用して、データ型をウェブサイトのデータに関連付けることができる。例えば、データ型を、ヘッダ情報、またはページに関連付けられた他のメタデータで記述することができる。
【００２０】
上記の例では、構造化データは、ウェブページのＨＴＭＬを通じて構造化データとして具体的に記述された。しかし、データが、構造化データとして具体的に記述されていないが、該データを後で構造化データに処理し、変換することも可能である。これを、「構造化データに関連する変換」というタイトルのセクションで後に詳述する。
【００２１】
ここでは構造化データの一般的な概念を論じたので、次に、１つまたは複数の実施形態に従って、構造化データを、ブラウザによってどのようにコピーできるかを考える。以下の例では、様々な実施形態を説明するために、ウェブブラウザを利用していることが認識され理解されよう。本発明の精神と範囲を逸脱することなく、他のアプリケーションを利用することができる。
【００２２】
構造化データのコピー
１つまたは複数の実施形態では、ブラウザが、インターネットなどを介してウェブページを受信すると、該ブラウザは、ウェブページのＨＴＭＬを解析（parse）して、そのページに構造化データが含まれているかどうかを確認する。構造化データの識別を、任意の適切な方法で行うことができる。例えば、構造化データが、上述の例と同様にウェブページのＨＴＭＬで具体的に記述されている場合、構造化データの識別は、そのＨＴＭＬ自体を調べることによって行うことができる。データが構造化データとして具体的に記述されていないが、解明可能な（ascertainable）形式で存在する他の例では、データを構造化データとして識別することは、そのデータに関連付けられた特徴またはプロパティを探し、次いでそれを構造化形式に変換することによって行うこと可能である。
【００２３】
構造化データがウェブページ上で識別されると、ブラウザは、構造化データの存在、および該構造化データをコピーすることができることを示す、視覚的インジケータ（visual indicator）を提示することができる。任意の適切な視覚的インジケータを利用することができ、当該インジケータを提示するための任意の適切な方法も使用することができる。
【００２４】
例として、図２のウェブページを図示している図３を考える。カレンダ・イベント２０２の横に、コピー・アイコンの形で視覚的インジケータ３００が表示されていることに留意されたい。このインジケータは、ユーザに、カレンダ・イベントがコピー可能な構造化データを含んでいることを通知する。１つまたは複数の実施形態では、該アイコンを、ページがレンダリングされたときに自動的に表示することができる。１つまたは複数の他の実施形態では、アイコンを選択的に、例えばユーザがカーソルを構造化データの上または近くをホバリングしたときに、表示することができる。
【００２５】
１つまたは複数の実施形態では、ユーザが、構造化データのコピー操作を、例えば視覚的インジケータをクリックすることによって起動する場合、ブラウザは、該構造化データを個々のフィールドへと解析し、該構造化データをシステムのクリップボードまたは別の適切な位置にコピーする。コピーされたデータは、この時点でペースト可能である。
【００２６】
１つまたは複数の実施形態では、ブラウザ（または他のアプリケーション）のコピー機能は、コピー・アイコンが現れた後にコピー操作を実行する、単一のユーザ・アクションを提供することができる。具体的には、本例では、ユーザが単にコピー・アイコンをクリックすると、そのアイコンに関連付けられた構造化データの全てが選択され、クリップボードにコピーされる。すなわち、該単一のユーザ・アクションは、コピーするためにコンテンツの選択と、システムのクリップボードへの該コンテンツのコピーとの両方を含む。これによりユーザは、（１）例えば左クリックまたはドラッグ操作を実行することによって、コピーすべきコンテンツを物理的に選択すること、（２）コピー操作の選択肢を有するメニューを出すために右クリック操作を実行すること、および（３）コピー操作を選択することから解放される。
【００２７】
一部の例では、この単一のユーザ・アクションによって、異なるデータ型を有するデータを同時にコピーすることができることに留意されたい。例えば、カレンダ・イベント２０２は、２つの異なるデータ型、すなわち、位置型と日付型とを有するデータを含む。コピー・アイコンをクリックすることによってコピー操作が実行され、位置データおよび日付データの両方がクリップボードにコピーされる。
【００２８】
コピー操作の例を論じたので、次は、１つまたは複数の実施形態に従って、ブラウザが、コピーされたデータをどのようにペーストできるかを考える。
【００２９】
構造化データのペースト
ユーザがウェブサイトまたはウェブアプリケーションにナビゲートすると、ブラウザは、当該ウェブサイトまたはアプリケーションが構造化データをサポートするかどうかを確認する。例えば、ウェブサイトのシナリオでは、ブラウザは、ウェブページのＨＴＭＬを解析して、当該ウェブページが構造化データをサポートするかどうかを確認する。具体的には、１つまたは複数の実施形態では、ブラウザは、ウェブページのＨＴＭＬを調べて、構造化データのデータ型を示す値でマーク・アップ（mark up）されたフォーム・フィールドが存在するかどうかを確認する。ウェブアプリケーションのシナリオでは、ウェブアプリケーションは、どのタイプの構造化データをサポートしているかを、ウェブブラウザとのプログラム的な対話（programmatic interaction）を通じて伝えることができる。
【００３０】
例として、図４を考える。図４には、３つのフィールド、すなわち、位置フィールド４０２、開始日フィールド４０４、および終了日フィールド４０６を有する例示的なウェブページ４００が示されている。このウェブページのＨＴＭＬでは、データ型が個々のフィールドに関連付けられるように、これらのフィールドをマーク・アップすることができる。代替または追加として、データ型を、ＨＴＭＬのヘッダまたはＨＴＭＬ中の他の場所で宣言することができる。
【００３１】
１つまたは複数の実施形態では、ブラウザがウェブページ上で、システムのクリップボードに含まれるデータのデータ型と一致または類似するデータ型を見つけると、ブラウザは、ペースト機能が利用可能であることを示す視覚的指示（visual indication）をフィールドの近くに表示することができる。
【００３２】
例として、図５を考える。図５には、図４のウェブページが、ペースト・アイコンの形の視覚的指示５００とともに示されている。任意の適切な視覚的指示を使用することができる。さらに、視覚的指示を表示する任意の適切な方法を使用することができる。例えば、一部の実施形態では、ページをレンダリングするときに、視覚的指示を自動的に表示することができる。他の実施形態では、ユーザが自分のカーソルを適切なフィールドの近くでホバリングしたときに、視覚的指示を選択的に表示することができる。
【００３３】
視覚的指示が表示されると、ユーザは、例えば当該視覚的指示をクリックすることによって、当該視覚的指示と対話することができる。１つまたは複数の実施形態では、ユーザが視覚的指示をクリックすると、ブラウザは、ウェブページ上のプロパティまたはデータ型に対応するクリップボード上のプロパティまたはデータ型を探し、その対応するデータを適切な位置にペーストする。本発明の精神と範囲を逸脱することなく、クリック以外に、コピー・アンド・ペースト・アイコンを選択する他の手段も利用できることが認識され理解されよう。
【００３４】
ブラウザがフォーム・フィールドとコピーされた構造化データとを関連付けることができるように、ページのフォーム・フィールドをマーク・アップする方法のほんの一例として、図５Ａを考える。フォーム５５０は「Ｗｈａｔ（対象）」、「Ｗｈｅｎ（時期）」、「Ｗｈｅｒｅ（場所）」、「Ｃａｌｅｎｄｅｒ（カレンダ）」、「Ｄｅｓｃｒｉｐｔｉｏｎ（説明）」フィールドを含め、複数の様々なフィールドを含む。これらのフィールドをマーク・アップするために使用することができるマークアップ（markup）の例として、以下を考える。
【００３５】
2010519611.tif 000003
【００３６】
実際には、本例において、開発者がそれらのフィールドを的確にマーク・アップするためにしなければならないことは、当業者には理解されるように、それらのフォームのマークアップに「ｃｌａｓｓ＝“ｘｙｚ”」という記号表示を提供することだけである。
【００３７】
１つまたは複数の実施形態では、ブラウザ（または他のアプリケーション）のペースト機能は、ペースト・アイコンが現れた後にペースト操作を実行する、単一のユーザ・アクションを提供することができる。具体的には、本例では、ユーザが単にペースト・アイコンをクリックすると、関連付けられたデータ・フィールドのデータ型に対応するクリップボード上のデータが、適切なフィールドにペーストされることに留意されたい。すなわち、単一のユーザ・アクションにより、クリップボード上のペーストすべきコンテンツを選択して、該コンテンツを適切なフィールドにペーストすることができる。これにより、ペーストすべきデータをコピーした後、ユーザは、（１）カーソルを個々のフィールドに置くこと、（２）ペースト操作の選択肢を有するメニューを出すために右クリック操作を実行すること、（３）ペースト操作を選択することから解放される。
【００３８】
一部の例では、この単一のユーザ・アクションにより、異なるデータ型を有するデータを同時にペーストすることができることに留意されたい。例えば、カレンダ・イベントが、２つの異なるデータ型、すなわち、位置型および日付型を有するデータを含むことを思い出して頂きたい。ペースト・アイコンをクリックすることによって、ペースト操作が実行され、位置データおよび日付データの両方が同時に適切なフィールドにペーストされる。
【００３９】
上述の例では、データをウェブページからコピーしたが、データを他の位置からコピーすることもできることが理解されよう。例えば、一部の実施形態では、ユーザは、該ユーザによって保存されたか、あるいはそのストア内に置かれた構造化データを保持する、いわゆるウェブストア（web store）を有することがある。この場合、コピー・アンド・ペースト操作は、そのウェブストアからデータをコピーし、これをウェブ・ベースのフォームにペーストすることで実行されるであろう。代替または追加として、コピー・アンド・ペースト操作を、複数のアプリケーションに渡って実行することができる。例えば、上述の技法を使用して、ユーザは、カレンダ・イベントを、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ（登録商標）アプリケーションなどのアプリケーションからコピーして、これをウェブアプリケーションのフォーム・フィールドにペーストすることができる。
【００４０】
図６は、１つまたは複数の実施形態にかかるコピー・アンド・ペーストの方法のステップを説明するフロー図である。本方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと関連して実行することができる。１つまたは複数の実施形態では、本方法は、図１で示し説明したウェブブラウザなどの、適切に構成されたウェブブラウザによって実行される。本フロー図は、１つまたは複数の実施形態によるコピー操作の例を説明する部分と、１つまたは複数の実施形態によるペースト操作の例を説明する部分に分けられている。
【００４１】
ステップ６００で、構造化データを有するリソースを受信する。任意の適切なタイプのリソースを受信することができる。例えば、リソースは、ウェブページ、ウェブストアから受信されるデータ、または他の任意の適切なタイプの構造化データを含むことができる。ステップ６０２で、構造化データを識別する。このステップを、上記で提供した任意の適切な方法の例で実行することができる。ステップ６０４で、構造化データの存在を示す視覚的なコピー・インジケータを提示する。これがどのように行われるかに関する例は、上記で提供されている。ステップ６０６で、構造化データをシステムのクリップボードにコピーする。このステップは、ユーザがコピー・インジケータをクリックすること、または他の方法でコピー・インジケータを選択することによってコピー操作を起動することに応じて実行される。
【００４２】
ステップ６０８で、ウェブサイトまたはウェブアプリケーションにナビゲートする。このステップを、ユーザがブラウザのナビゲーション機能を使用することによって実行することができる。ステップ６１０で、ウェブページのＨＴＭＬを解析して、構造化データがサポートされているかどうかを確認する。このステップを、当該ページのＨＴＭＬを調べ、当該ページに現れる可能性のある構造化データの値を探すことによって、実行することができる。ステップ６１２で構造化データがサポートされていない場合、本方法をステップ６１４で終了する。他方、構造化データがサポートされている場合、ステップ６１６で、クリップボードにコピーされたデータと一致または類似するデータ型を有する任意のフォーム・フィールドがあるかどうかを確認する。一致または類似するデータ型がない場合、本方法は６１８で終了する。他方、一致または類似するデータ型がある場合、ステップ６２０で視覚的ペースト・インジケータを提示する。これがどのように行なわれるかに関する例は上述されている。ステップ６２２で、構造化データを、１つまたは複数のフォーム・フィールドにペーストする。このステップは、ユーザが視覚的ペースト・インジケータをクリックまたは他の方法で選択してペースト操作を起動することに応じて実行される。
【００４３】
ステップ６１６におけるデータ型が類似しているかどうかの判断に関して、データ型が共通のプロパティまたは特徴を共有するデータと関連付けられている場合、それらのデータ型を類似とすることができる。例えば、日付データ型と日時データ型は両方が、日付のプロパティを共有しているので、類似していると考えることができる。
【００４４】
構造化データに関連する変換
以下の議論では、２つの異なるタイプの変換を説明する。第１に、構造化データを１つまたは複数の異なる形式に変換するのに該構造化データに適用され得る変換を説明する。第２に、データを構造化データに変換するのに該データに適用され得る変換を説明する。
【００４５】
１つまたは複数の実施形態では、ブラウザが構造化データを特定のサイトからコピーすると、該ブラウザは構造化データを或る形式から別の形式に変換することができる。例えば、構造化データ型がコンタクト（contact）である場合、ブラウザは、該コンタクトを、他の様々なアプリケーションが使用することができる、ｖＣａｒｄ形式および／またはリッチ・テキスト形式などの別の形式に変換することができる。例として、図７を考える。
【００４６】
ここでは、システムの高レベルな概要を全体として７００で示す。本システムでは、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの表現は、様々なウェブサイトおよびウェブアプリケーションを含む。図１のコンピューティング装置１０２などのコンピューティング装置上に具現化されたクライアントは、ブラウザ・アプリケーション、ならびに１つまたは複数のクライアントアプリケーションを含む。さらに、クライアントが実行されるシステムは、構造化データをコピーすることができるクリップボードを含む。この例では、ブラウザは、構造化データ上で動作して該構造化データを或る形式から別の形式に変換することができる、１つまたは複数の変換を含む。変換を構造化データに適用した後、変換されたデータをクリップボードにコピーすることができる。クリップボードから、コピー・アンド・ペースト機能を利用して、該構造化データを、上述のような他の様々なウェブページおよびウェブアプリケーションだけでなく、構造化データが変換された特定の形式をサポートする他のアプリケーションにもコピーすることもできる。これにより、必ずしもウェブ・データを理解しない既存のアプリケーションでも当該ウェブ・データを組み込むことができる。任意の適切な変換を利用して、任意の適切なタイプのウェブ・データを変換することができることを認識し理解されたい。クライアントアプリケーションの数とタイプが広範囲になるほど、変換の数とタイプも広範囲になりうる。
【００４７】
図８は、１つまたは複数の実施形態にかかる変換方法のステップを説明するフロー図である。本方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実行することができる。１つまたは複数の実施形態では、本方法は、図１で図示し説明したウェブブラウザなどの適切に構成されたウェブブラウザにより実行される。
【００４８】
ステップ８００で、第１の形式を有する構造化データを受信する。このステップを、ブラウザが、構造化データを含むリソースを受信することによって実行することができる。リソースの例は上述されている。１つまたは複数の実施形態では、第１の形式は、構造化データを記述するＨＴＭＬを含むことができる。ステップ８０２で、構造化データを、第１の形式とは異なる第２の形式に変換する。このステップを、構造化データを複数の異なる形式に変換することによって実行することができる。少なくとも一部の実施形態では、変換は、データをＨＴＭＬ形式以外の形式に変換することを含むことができる。この形式は、ＨＴＭＬを必ずしも理解または処理しないアプリケーションによって理解される形式とすることができる。ステップ８０４で、変換されたデータをシステムのクリップボードにコピーする。１つまたは複数の実施形態では、構造化データを、複数の異なるタイプのアプリケーションが使用することができる複数の異なる形式でコピーすることができる。ステップ８０６で、特定の形式のデータを理解する１つまたは複数のアプリケーションで使用可能になるように、変換されたデータをペーストする。
【００４９】
１つまたは複数の実施形態では、変換をコンテンツに適用して、当該コンテンツを構造化データに変換することもできる。例えば、様々なアプリケーションはコンテンツをクリップボードに追加することができる。ブラウザはクリップボードをモニタリングすることができ、コンテンツがクリップボードにコピーされたとき、ブラウザは、データが、ウェブサイトまたはウェブページが消費できる構造化データに変換されるように、１つまたは複数の変換を適用することができる。例えば、ブラウザがクリップボードにコピーされた特定の形式のデータを認識した場合、次いでブラウザは、適切な変換を選択して適用することができる。他の実施形態では、ブラウザは、データに関連するプロパティまたは特性を調べて、該プロパティに基づいて変換を選択することができる。例えば、住所がクリップボードにコピーされると、ブラウザは、「通り」、「大通り」、「道路」および郵便番号のという用語の使用など、住所に共通して関連するプロパティを探すことができる。次いでブラウザは、知的な決定（intelligent decision）を行って、データの形式または構造を記述する構造化形式に該データを変換する変換を選択することができる。これを行う１つの方法は、データを住所として記述するタグまたはメタデータを該データがこの時点で含むように、該データを変換することである。
【００５０】
変換プラグイン
より多くの新しい構造化データ型が現れるにつれて、これらの新しい構造化データ型を上述のように処理できることが有用となろう。従って、１つまたは複数の実施形態では、ブラウザのプラグイン・モデルによりアプリケーション開発者は、コンテンツがクリップボードにコピーされたときに当該コンテンツに適用できる独自の変換を提供することができる。例として、図９を考える。図９では、図７のシステムが示され、実質的に上述のように動作する。しかし、それに加えて、本システムは、新しい構造化データ型を処理するための新しいクリップボード変換をブラウザに追加できるようにするプラグイン・モデルを含む。
【００５１】
図１０は、上述のコピー・アンド・ペースト機能を実装することができるコンピューティング装置１０００の例を図示する。コンピューティング装置１０００は、例えば、図１のコンピューティング装置１０２、また他の任意の適切なコンピューティング装置とすることができる。
【００５２】
コンピューティング装置１０００は、１つまたは複数のプロセッサ、もしくはプロセッサユニット１００２、１つまたは複数のメモリおよび／またはストレージコンポーネント１００４、１つまたは複数の入出力（Ｉ／Ｏ）装置１００６、ならびに様々なコンポーネントと装置が相互に通信できるようにするバス１００８を含む。バス１００８は、メモリ・バスまたはメモリ・コントローラ、周辺バス、高速グラフィクスポート、ならびに様々なバス・アーキテクチャのいずれかを用いるプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のうちの任意の１つまたは複数を表す。バス１００８は有線バスおよび／または無線バスを含むことができる。
【００５３】
メモリまたはストレージコンポーネント１００４は、１つまたは複数のコンピュータ記憶媒体を表す。コンポーネント１００４は、（ＲＡＭ（random access memory）などの）揮発性媒体、および／または（ＲＯＭ（read only memory）、フラッシュ・メモリ、光ディスク、磁気ディスクなどの）不揮発性媒体を含むことができる。コンポーネント１００４は、固定の媒体（例えば、ＲＡＭ、ＲＯＭ、固定のハードドライブなど）だけでなく、取外し可能媒体（例えば、フラッシュ・メモリ・ドライブ、取外し可能ハードドライブ、光ディスクなど）も含むことができる。
【００５４】
１つまたは複数の入出力装置１００６により、ユーザがコマンドおよび情報をコンピューティング装置１０００に入力することができ、情報をユーザおよび／または他のコンポーネントもしくは装置に提示することもできる。入力装置の例には、キーボード、カーソルコントロール装置（例えば、マウス）、マイクロフォン、スキャナなどが含まれる。出力装置の例には、ディスプレイ装置（例えば、モニタまたはプロジェクタ）、スピーカ、プリンタ、ネットワーク・カードなどが含まれる。
【００５５】
本明細書では、様々な技法をソフトウェアまたはプログラム・モジュールの一般的なコンテキストで説明することができる。一般に、ソフトウェアには、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。これらのモジュールおよび技法の実装を、何らかの形態のコンピュータ読取可能媒体上に記憶または該媒体に渡って送信することができる。コンピュータ読取可能媒体は、任意の利用可能な媒体、またはコンピューティング装置によってアクセス可能な媒体とすることができる。限定ではなく例として、コンピュータ読取可能媒体は「コンピュータ記憶媒体」および「通信媒体」を含むことができる。
【００５６】
「コンピュータ記憶媒体」には、コンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性、取外し可能および取外し不可能媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disk）もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または所望の情報の格納に使用可能でありコンピュータによってアクセス可能な他の任意の媒体が含まれるが、これらには限定されない。
【００５７】
「通信媒体」は、典型的にコンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータを、搬送波または他の伝送機構などの変調データ信号で具現化する。通信媒体には任意の情報配信媒体も含まれる。「変調データ信号」という用語は、１つまたは複数のその特徴セットを有する信号、または該信号内の情報をエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークまたは直接有線接続など有線媒体と、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体が含まれる。上記の任意の組合せもコンピュータ読取可能媒体の範囲に含まれる。
【００５８】
結論
様々な実施形態で、アプリケーションベースのコピー・アンド・ペースト操作を提供する。１つまたは複数の実施形態では、ウェブブラウザがコピー・アンド・ペースト機能をサポートするため、ユーザがデータを或る位置から別の位置に容易に移動させることが可能になる。従って、ブラウザ・ベースの解決策により、ウェブサイトはコピー・アンド・ペースト機能を実装するコードを含む必要がなくなる。
【００５９】
本発明を構造的特徴および／または方法論的動作に固有な言葉で説明したが、添付の特許請求の範囲で定義される特許請求の対象は、必ずしも上述の特定の特徴または動作に限定されないことは理解されよう。むしろ、上述の特定の特徴および動作は、特許請求の範囲を実装する形態の例として開示されている。
【図１】
2010519611.tif 000004
【図２】
2010519611.tif 000005
【図３】
2010519611.tif 000006
【図４】
2010519611.tif 000007
【図５】
2010519611.tif 000008
【図５Ａ】
2010519611.tif 000009
【図６】
2010519611.tif 000010
【図７】
2010519611.tif 000011
【図８】
2010519611.tif 000012
【図９】
2010519611.tif 000013
【図１０】
2010519611.tif 000014
【国際調査報告】
2010519611.tif 000015
2010519611.tif 000016