(57)【要約】  ウェブブラウザーのレンダリングを対象とした形でウェブ上に存在するコンテンツ量が世界的に増加している。ウェブベースでないリッチクライアントアプリケーション内でこのウェブコンテンツを利用することは有利なものとなり得る。というのは、このようなリッチクライアントアプリケーションはウェブベースのプラットフォームに欠けているロバストな特徴及び／又はインタラクションを提供することができるからである。残念なことに、非ウェブユーザーインターフェースにウェブコンテンツを統合することは困難な作業となり得る。したがって、ユーザーインターフェース内でウェブコンテンツをレンダリングする１つ又は複数のシステム及び／又は技術が本明細書に開示される。特に、合成コンポーネントは、サーフェス内で共通のフォーマットでレンダリングされたウェブコンテンツを生成するために１つ又は複数のレンダリングコンポーネントを呼び出すように構成することができる。レンダリングされたウェブコンテンツは表示のためにユーザーインターフェースに提供することができる。入力コンポーネントは、ユーザーインターフェース内でのレンダリングされたウェブコンテンツとのインタラクションに基づいて、レンダリングされたウェブコンテンツを更新するために、レンダリングコンポーネントを呼び出すように構成することができる。
2013535052.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーインターフェース内でウェブコンテンツをレンダリングするシステムであって、
第１のレンダリングコンポーネントにサーフェスを送り、
前記第１のレンダリングコンポーネントから第１のレンダリングされたウェブコンテンツを含むサーフェスを受け取り、
ユーザーインターフェースへ前記第１のレンダリングされたウェブコンテンツを提供する
ように構成された合成コンポーネントと、
前記合成コンポーネントから前記サーフェスを受け取り、
前記サーフェス内に前記第１のレンダリングされたウェブコンテンツを生成し、
第１のレンダリングされたウェブコンテンツを含むサーフェスを前記合成コンポーネントへ送る
ように構成された第１のレンダリングコンポーネントと、
前記ユーザーインターフェース内での前記第１のレンダリングされたウェブコンテンツとのインタラクションに基づいて前記第１のレンダリングされたウェブコンテンツの更新バージョンを生成するために、前記第１のレンダリングコンポーネントを呼び出す
ように構成された入力コンポーネントと
を備えるシステム。
【請求項２】
前記第１のレンダリングコンポーネントはＨＴＭＬレンダラーを含む請求項１に記載のシステム。
【請求項３】
前記ＨＴＭＬレンダラーはウェブページの隠しインスタンスを含む請求項２に記載のシステム。
【請求項４】
前記合成コンポーネントからサーフェスを受け取り、
前記サーフェス内に第２のレンダリングされたウェブコンテンツを生成し、
前記第１のレンダリングされたウェブコンテンツ及び前記第２のレンダリングされたウェブコンテンツを含むサーフェスを前記合成コンポーネントへ送る
ように構成された第２のレンダリングコンポーネントを備える請求項１に記載のシステム。
【請求項５】
前記合成コンポーネントは、
前記第１のレンダリングされたウェブコンテンツを含むサーフェスを前記第２のレンダリングコンポーネントに送り、
前記第１のレンダリングされたウェブコンテンツ及び前記第２のレンダリングされたウェブコンテンツを含むサーフェスを前記第２のレンダリングコンポーネントから受け取る
ように構成される請求項４に記載のシステム。
【請求項６】
前記合成コンポーネントは、
前記第１のレンダリングされたウェブコンテンツ及び前記第２のレンダリングされたウェブコンテンツを合成のレンダリングされたウェブコンテンツへと組み合わせ、
前記合成のレンダリングされたウェブコンテンツを前記ユーザーインターフェースに提供する
ように構成される請求項５に記載のシステム。
【請求項７】
前記合成コンポーネントは、
前記第１又は第２のレンダリングされたウェブコンテンツを前記ユーザーインターフェースへ選択的に提供するように構成される請求項５に記載のシステム。
【請求項８】
前記入力コンポーネントは、マウスの位置、キーボード入力、タッチ検出、前記ユーザーインターフェース内の前記第１のレンダリングされたウェブコンテンツの位置のうちの少なくとも１つを前記第１のレンダリングコンポーネントへ送るように構成される請求項１に記載のシステム。
【請求項９】
前記合成コンポーネントは、
前記ユーザーインターフェース内の第１の位置における表示のために前記第１のレンダリングされたウェブコンテンツの第１の部分を前記ユーザーインターフェースに提供し、
前記ユーザーインターフェース内の第２の位置における表示のために前記第１のレンダリングされたウェブコンテンツの第２の部分を前記ユーザーインターフェースに提供する
ように構成される請求項１に記載のシステム。
【請求項１０】
前記第１のレンダリングコンポーネントは前記サーフェス内の位置において前記第１のレンダリングされたウェブコンテンツをレンダリングするように構成される請求項１に記載のシステム。
【請求項１１】
ユーザーインターフェース内でウェブコンテンツをレンダリングする方法であって、
サーフェス内に第１のレンダリングされたウェブコンテンツを生成するために第１のレンダリングコンポーネントを呼び出すステップと、
サーフェス内からユーザーインターフェースへ前記第１のレンダリングされたウェブコンテンツを提供するステップと、
前記ユーザーインターフェース内の前記第１のレンダリングされたウェブコンテンツとのインタラクションを受け取るステップと、
前記インタラクションに基づいて、前記サーフェス内で前記第１のレンダリングされたウェブコンテンツの更新バージョンを生成するために、前記第１のレンダリングコンポーネントを呼び出すステップと、
前記サーフェス内の前記更新された第１のレンダリングされたウェブコンテンツを前記ユーザーインターフェースに提供するステップと
を含む方法。
【請求項１２】
前記サーフェス内に第２のレンダリングされたウェブコンテンツを生成するために第２のレンダリングコンポーネントを呼び出すステップ
を含む請求項１１に記載の方法。
【請求項１３】
前記第１又は第２のレンダリングされたウェブコンテンツを前記ユーザーインターフェースに選択的に提供するステップを含む請求項１２に記載の方法。
【請求項１４】
前記第１のレンダリングされたウェブコンテンツ及び前記第２のレンダリングされたウェブコンテンツを合成のレンダリングされたウェブコンテンツへ組み合わせるステップと、
前記合成のレンダリングされたウェブコンテンツを前記ユーザーインターフェースに提供するステップと
を含む請求項１２に記載の方法。
【請求項１５】
前記サーフェス内からユーザーインターフェースへ第１のレンダリングされたウェブコンテンツを提供するステップは、
表示のために前記第１のレンダリングされたウェブコンテンツの第１の部分を前記ユーザーインターフェースに提供するステップと、
表示のために前記第１のレンダリングされたウェブコンテンツの第２の部分を前記ユーザーインターフェースに提供するステップと
を含む請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーインターフェース内での互換性のないコンテンツのレンダリングに関する。
【背景技術】
【０００２】
[0001]ウェブブラウザーのレンダリングを対象とした形で存在するウェブ上のコンテンツの量が増大している。例えば、ハイパーリンク、３Ｄインタラクティブオブジェクト、広告、ウェブアプリケーション、及び／又は様々な他のコンテンツが、ＨＴＭＬなどのウェブベースのフォーマットでユーザーに提供される。ウェブベースのコンテンツの作成者は、一般に、ウェブプラットフォーム内でそのようなコンテンツを開発する。残念ながら、ウェブデザインには、アプリケーション機能のロバスト性、高度なコンテンツを設計する上での難しさ、帯域幅の考慮、コンテンツの双方向性のレベルなどの様々な制限がある。しかし、デスクトップアプリケーションなどのウェブベースでないユーザーインターフェースは、改善されたエクスペリエンスをユーザーに提供する。例えば、スタンドアローンのクライアントビデオゲームは、高度なグラフィックス、入力、及び／又はプログラム可能な機能を提供することができる。対照的に、ウェブベースのビデオゲームは、限られたグラフィック機能及び／又は他のプログラミング設計上の制限によって制限されることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、ウェブベースでないユーザーインターフェース内でウェブコンテンツを提供する場合には制限がある。
【課題を解決するための手段】
【０００４】
[0002]この概要は、詳細な説明において以下にさらに説明される概念の選択を簡略化した形で紹介するために設けられる。この概要は、特許請求された主題の重要な特徴や不可欠な特徴を特定することを意図しておらず、特許請求された主題の範囲を限定するために用いられることも意図していない。
【０００５】
[0003]とりわけ、ユーザーインターフェース内でウェブコンテンツをレンダリングする１つ又は複数のシステム及び／又は技術が本明細書に開示される。ユーザーインターフェースは、汎用オペレーティングシステム上で実行するように構成されるリッチクライアントアプリケーションなどの、ウェブベースでないアプリケーションを含んでもよいと理解することができる。本明細書中で使用されるとき、ウェブコンテンツは、「ウェブ」という語を用いるが、ウェブベースのコンテンツに限定されず、ユーザーインターフェースと互換性のないコンテンツとして解釈されるものであることもまた理解される。例えば、本明細書中で使用されるとき、ウェブベースのＨＴＭＬ要素、ユーザーインターフェースに関して互換性のないプログラミング言語でプログラムされたウェブベースでないプログラミングオブジェクト、ＤｉｒｅｃｔＸ（登録商標）オブジェクトなどは、ウェブコンテンツが含むと意図されるものの例をいくつか示すにすぎない。いくつかの例では、ウェブコンテンツは、ユーザーインターフェースとネイティブに互換性がないかもしれない、というのは、ユーザーインターフェースが異なるプログラミング言語及び／又はパラダイムを使用して異なる（例えば、デスクトップ）プラットフォーム内で作成され得る一方、ウェブコンテンツは異なるプラットフォーム（例えば、ウェブプラットフォーム、異なるプログラミング言語を使用するＡＰＩなど）内で作成され得るからである。すなわち、本明細書で使用されるとき、ウェブコンテンツは、ウェブベースかどうかにかかわらず、互換性のないコンテンツと置き換え可能である。また、レンダリングされたウェブコンテンツは、「ウェブ」という語を使用するが、ウェブベースのレンダラーによってレンダリングされるウェブベースのコンテンツに限定されるものではなく、ユーザーインターフェースと互換性のないコンテンツとして解釈されるべきである。つまり、レンダリングされたウェブコンテンツは、ウェブベースかどうかにかかわらず、互換性のないコンテンツで置き換え可能である。
【０００６】
[0004]したがって、合成コンポーネント（composition component）、入力コンポーネント、及び／又は１つもしくは複数のレンダリングコンポーネントを含むシステムが、本明細書において提供される。合成コンポーネントは、１つ又は複数のレンダリングコンポーネント（例えば、第１のレンダリングコンポーネント）にサーフェス（surface）を送るように構成することができる。例えば、サーフェスは、ウェブコンテンツ（ウェブベースのコンテンツに限定されない、互換性のないコンテンツ）をレンダリングコンポーネントによって共通のフォーマットでイメージとしてレンダリングすることのできるコンテナオブジェクト（例えば、イメージバッファー）とすることができる。第１のレンダリングコンポーネントは、ウェブコンテンツをレンダリングするための命令とともにサーフェスを受け取ることができる。第１のレンダリングコンポーネントはサーフェス内に第１のレンダリングされたウェブコンテンツを生成することができる。第１のレンダリングコンポーネントは、第１のレンダリングされたウェブコンテンツを含むサーフェスを合成コンポーネントに送り返してもよい。合成コンポーネントは、さらなるレンダリングされたウェブコンテンツ（例えば、第２のレンダリングされたウェブコンテンツ）がサーフェス内で生成されるように、第１のレンダリングされたウェブコンテンツ及び／又は他のレンダリングされたウェブコンテンツをもつサーフェスを他のレンダリングコンポーネント（例えば、第２のレンダリングコンポーネント）に送ることができると理解される。このように、サーフェスは、１つ又は複数のレンダリングされたウェブコンテンツ（例えば、互換性のないウェブベースのコンテンツと互換性のないウェブベースでないコンテンツの混合物、互換性のないウェブベースでないコンテンツと異なるレンダリング技術を使用する他の互換性のないウェブベースでないコンテンツの混合物、及び／又は互換性のないウェブベースのコンテンツと異なるレンダリング技術を使用する他の互換性のないウェブベースのコンテンツの混合物）を含んでもよい。
【０００７】
[0005]合成コンポーネントは、第１のレンダリングされたウェブコンテンツをユーザーインターフェースへ提供するように構成することができる。１つの例において、サーフェスが第１及び第２のレンダリングされたウェブコンテンツを含み、ユーザーインターフェースが両方のレンダリングされたウェブコンテンツを要求する場合、合成コンポーネントは、第１及び第２のレンダリングされたウェブコンテンツの両方を、合成のレンダリングされたウェブコンテンツ（combined rendered web content）として、ユーザーインターフェースに送ることができる。別の例において、サーフェスが第１及び第２のレンダリングされたウェブコンテンツを含み、ユーザーインターフェースが第１のレンダリングされたウェブコンテンツを要求する場合、合成コンポーネントは、第１のレンダリングされたウェブコンテンツを選択的に送り、第２のレンダリングされたウェブコンテンツを送らなくてもよい。別の例において、ユーザーインターフェースが第１のレンダリングされたウェブコンテンツの一部を要求する場合、合成コンポーネントは要求された部分を送ってもよい。このように、合成コンポーネントは、ユーザーインターフェースによって要求されるウェブコンテンツを管理し（例えば、サーフェス内でレンダリングされたウェブコンテンツを分割（分解、ブレークアップ）したり組み合わせたりする）及び／又は提供する（例えば、キューブなどの、ユーザーインターフェースのオブジェクト内で塗ることができる「ブラシ」を提供する）ように構成することができる。したがって、ユーザーインターフェースは、使用されるレンダリングコンポーネントの種類に関係なく、ユーザーインターフェース内でレンダリングされたウェブコンテンツを使い及び／又は表示することができる。つまり、レンダリングされたウェブコンテンツは、ＨＴＭＬであろうと、ＤｉｒｅｃｔＸ（登録商標）であろうと、又は他のレンダラーが生成するレンダリングされたコンテンツであろうと関係なく、共通のフォーマットとされてもよく、したがって、ユーザーインターフェースと互換性があってもよい。一例では、ＨＴＭＬレンダラーがサーフェス内のある位置で第１のレンダリングされたウェブコンテンツとしてテキストボックスをレンダリングしてもよい。合成コンポーネントは、第１のレンダリングされたウェブコンテンツをユーザーインターフェースに提供することができる。ユーザーインターフェースはテキストボックスを表示してもよい。
【０００８】
[0006]合成コンポーネントは、サーフェス内のレンダリングされたウェブコンテンツ（例えば、車と人のイメージ）を部分（自動車の部分や人の部分）へと「分割（break-up）」するように構成することができると理解することができる。このように、部分は互いに対する初期の向きに対して、同じ又は異なる場所で部分を表示することができるユーザーインターフェースに提供することができる。
【０００９】
[0007]入力コンポーネントは、インタラクションがユーザーインターフェース内で第１のレンダリングされたウェブコンテンツと発生した（例えば、マウスクリックやタイムアウトなどのイベントが発生する）かどうかを決定するように構成することができる。例えば、入力コンポーネントは、ユーザーがテキストボックスをクリックしたかどうかを判断するためにユーザーインターフェース内のテキストボックスを監視することができる。テキストボックスのクリック特性（プロパティ）は、テキストフィールド内にカーソルを表示するテキストボックスに対応してもよく、したがって、テキストボックスの第１のレンダリングされたウェブコンテンツは、テキストフィールド内にカーソルを表示するように更新（再レンダリング）することができると理解することができる。インタラクションを検出すると、入力コンポーネントは、第１のレンダリングされたウェブコンテンツの更新バージョンを生成するために第１のレンダリングコンポーネントを呼び出すように構成することができる。例えば、入力コンポーネントは、テキストボックスがクリックされたことを第１のレンダリングコンポーネントに通知することができる。当該通知は、クリックイベント、マウスの位置、及び／又はユーザーインターフェース内のテキストボックスの位置を含んでもよい。第１のレンダリングコンポーネントは、第１のレンダリングされたウェブコンテンツの更新されたバージョン（例えば、テキストフィールド内にカーソルのあるテキストボックスのイメージ）を生成することができ、これはサーフェスを介して合成コンポーネントに送ることができる。このように、合成コンポーネントは、更新されたバージョンをユーザーインターフェースに提供することができ、それにより、ユーザーインターフェースは、テキストフィールド内にカーソルのあるテキストボックスの更新されたイメージを表示することができる。第１のレンダリングコンポーネントは、要求がなくてもさらなるレンダリングされたウェブコンテンツを「プッシュ」してもよい（例えば、動画は、第１のレンダリングコンポーネントが連続してレンダリングすることができる一連のレンダリングされたイメージを必要とし得る）。
【００１０】
上記の及び関連する目的を達成するために、以下の詳細な説明及び添付の図面は、いくつかの例示的な態様及び実施例を説明する。これらは１つ又は複数の態様を使用することができる様々な方法のうちのほんのいくつかのみを示す。本開示の他の態様、利点、及び新規な特徴は、添付の図面と併せて考慮して以下の詳細な説明から明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】[0008]ユーザーインターフェース内でウェブコンテンツをレンダリングする方法の例を示すフローチャートである。
【図２】[0009]ユーザーインターフェース内でウェブコンテンツをレンダリングする方法の例を示すフローチャートである。
【図３】[0010]ユーザーインターフェース内でウェブコンテンツをレンダリングする例示的なシステムを示すコンポーネントのブロック図である。
【図４】[0011]サーフェス内にレンダリングされたウェブコンテンツを生成するために複数のレンダリングコンポーネントを呼び出す合成コンポーネントの例を示す図である。
【図５】[0012]合成のレンダリングされたウェブコンテンツをユーザーインターフェースに提供する例を示す図である。
【図６】[0013]合成のレンダリングされたウェブコンテンツをユーザーインターフェースに提供する例を示す図である。
【図７】[0014]第１のレンダリングされたウェブコンテンツをユーザーインターフェースに提供する例を示す図である。
【図８】[0015]第１のレンダリングされたウェブコンテンツの第１及び第２の部分をユーザーインターフェースに提供する例を示す図である。
【図９】[0016]サーフェス内で第１のレンダリングされたウェブコンテンツの更新バージョンを生成するために第１のレンダリングコンポーネントを呼び出す入力コンポーネントの例を示す図である。
【図１０】[0017]本明細書で説明する条件（provisions）のうちの１つ又は複数を具体化するように構成されるプロセッサーが実行可能な命令を含み得る、例示的なコンピューター読み取り可能な媒体の図である。
【図１１】[0018]本明細書で説明する条件のうちの１つ又は複数を実施することができる例示的なコンピューティング環境を示す。
【発明を実施するための形態】
【００１２】
[0019]特許請求される主題は、ここでは図面を参照して説明され、全体を通じて同様の要素を参照するために同様の参照数字が使用される。以下の説明では、説明の目的のために、特許請求された主題の完全な理解を提供するために多くの具体的な詳細が記載される。しかし、特許請求された主題がこれらの具体的な詳細がなくても実施できることは明らかであろう。他の例では、特許請求された主題の説明を容易にするために、構造及び装置がブロック図の形で示されている。
【００１３】
[0020]パーソナルコンピューター、ＰＤＡ、タブレットＰＣ、スマートフォン、様々な他の技術は、リッチウェブコンテンツへのアクセスをユーザーに提供する。例えば、ユーザーは、タブレットＰＣを使ってソーシャルネットワーキングウェブサイトを通じてビデオゲームをプレイすることができる。別の例では、ユーザーは、スマートフォン上で運転ルートをマッピングすることができる。コンテンツを検索、探索、使用、共有するための手段として、ウェブの需要が高まっているため、開発者は多くの場合、新しいコンテンツを開発するためにウェブベースのオーサリングプラットフォームを選択する。例えば、百科事典アプリケーションは、一般的に、リッチクライアントアプリケーション（例えば、ウィンドウベースのアプリケーション）を介して実行するように開発され、複数のＣＤ又はＤＶＤ（例えば、１０枚組ＣＤのセット）を含むソフトウェアバンドルを介して配布された。しかし、今日では、デスクトップアプリケーションを購入し、デスクトップアプリケーションをインストールし、デスクトップアプリケーション内でコンテンツを使うのではなく、膨大な数のユーザーが簡単にウェブコンテンツを見つけて使うことができるので、百科事典コンテンツは、一般的に、インタラクティブなウェブページやウェブアプリケーションなどのウェブベースのコンテンツである。
【００１４】
[0021]膨大な量の新たなコンテンツがウェブコンテンツとして開発され、ウェブインターフェースよりもロバストでインタラクティブなエクスペリエンスを提供する能力をユーザーインターフェース内で提供することができるので、ユーザーインターフェース内でウェブコンテンツを提供することが有利な場合がある。ユーザーインターフェースは、ウェブベースでないアプリケーションとして解釈されてもよく、リッチクライアントアプリケーション、ユーザーインターフェース、ウェブベースでないアプリケーション、及び／又は、デスクトップアプリケーションと呼ばれてもよく、専用のウェブインターフェースとは異なることが理解されよう。１つの現在の技術は、ユーザーインターフェースがユーザーインターフェースのサーフェス上でウェブページの部分をペイントすることができる「ブラシ」をユーザーインターフェースに提供することにより、ユーザーインターフェース内でウェブコンテンツを提供することを試みている。残念ながら、ペイントされるサーフェスはインタラクティブではない（例えば、ユーザーがハイパーリンクを選択するとき、選択が生じたことを示す新しい色でハイパーリンクを更新する機能がない）。別の現在の技術は、制限されたインタラクティブなＨＴＭＬレンダリングされたサーフェスを提供する。しかし、レンダリングされたサーフェスはＨＴＭＬウィンドウの内部に制約される。
【００１５】
[0022]したがって、ユーザーインターフェース内でウェブコンテンツをレンダリングする１つ又は複数のシステム及び／又は技術が、本明細書において提供される。具体的には、１つ又は複数のレンダリングコンポーネントは、対応するフォーマットでウェブコンテンツをレンダリングするように構成することができる。例えば、第１のレンダリングコンポーネントはＨＴＭＬウェブコンテンツを生成するように構成することができ、第２のレンダリングコンポーネントはＤｉｒｅｃｔＸ（登録商標）のレンダリングされたコンテンツを生成するように構成するなどすることができる。レンダリングコンポーネントはサーフェス内に共通の形式でウェブコンテンツをレンダリングするように構成することができる。合成コンポーネントは、サーフェス内でレンダリングされたウェブコンテンツを「収集（collect）」するレンダリングコンポーネント間でサーフェスを渡してもよい。合成コンポーネントは、サーフェス内のレンダリングされたコンテンツをユーザーインターフェースに提供するように構成することができる。１つの例では、第１のレンダリングされたコンテンツ又はその一部は、ユーザーインターフェースに提供することができる。別の例では、第１のレンダリングコンポーネントによってレンダリングされた第１のレンダリングされたウェブコンテンツと第２のレンダリングコンポーネントによってレンダリングされた第２のレンダリングされたウェブコンテンツの組み合わせをユーザーインターフェースに提供することができる。入力コンポーネントは、ユーザーインターフェース内のレンダリングされたウェブコンテンツとのユーザーのインタラクションに基づいて、レンダリングされたウェブコンテンツの更新されたバージョンを提供するために、レンダリングコンポーネントを呼び出すように構成することができる。
【００１６】
[0023]ユーザーインターフェース内でウェブコンテンツをレンダリングする１つの実施例が図１の例示的な方法１００によって示される。１０２においてこの方法が開始される。１０４において、第１のレンダリングコンポーネントが、サーフェス内で第１のレンダリングされたウェブコンテンツを生成するために呼び出されてもよい。例えば、ウェブページの隠しインスタンス（hidden instance）などのＨＴＭＬレンダラーが、サーフェス内のある位置において共通の形式でハイパーリンクのイメージをレンダリングしてもよい。１０６において、サーフェス内からの第１のレンダリングされたウェブコンテンツを、ユーザーインターフェース（例えば、ウェブベースでないアプリケーション）に提供することができる。例えば、青色のハイパーリンクのレンダリングされたイメージを、青色のハイパーリンクのレンダリングされたイメージを（例えば、キューブオブジェクト（cube object）内で）表示することができるマルチメディアデスクトップアプリケーションに提供することができる。マルチメディアデスクトップアプリケーションは、マルチメディアデスクトップアプリケーションの右下隅にあるキューブオブジェクト内にハイパーリンクを表示することができる。
【００１７】
[0024]１０８において、ユーザーインターフェース内での第１のレンダリングされたウェブコンテンツとのインタラクションが受け取られてもよい。例えば、ユーザーはカーソルを使用してキューブオブジェクト内でハイパーリンクをクリック（起動）してもよい。この例では、インタラクションは、クリックイベント、マルチメディアデスクトップアプリケーション内のハイパーリンクの位置、マウスの位置、及び／又は他の情報を含んでもよい。１１０において、第１のレンダリングコンポーネントが、インタラクション及び／又はなんらの他の種類の通知に基づいて、サーフェス内で第１のレンダリングされたウェブコンテンツの更新バージョンを生成するために呼び出されてもよい。例えば、インタラクションデータ（例えば、クリックイベント、ハイパーリンクの位置など）がＨＴＭＬレンダラーに提供されてもよい。ＨＴＭＬレンダラーは、ハイパーリンクのイメージの更新されたバージョンを生成することができる（例えば、更新されたイメージは、ハイパーリンクがユーザーによって呼び出されたことを示すために、紫などの別の色で表示されたハイパーリンクを含んでもよい）。第１のレンダリングコンポーネントが、例えばいくつかの所定の基準、ユーザー設定などに基づいて、第１のレンダリングされたウェブコンテンツの更新されたバージョンを生成しないと決定することができると理解されよう。
【００１８】
[0025]１１２において、サーフェス内の更新された第１のレンダリングされたウェブコンテンツをユーザーインターフェースに提供することができる。例えば、更新された紫色のハイパーリンクのレンダリングされたイメージを、更新された紫色のハイパーリンクの更新されたレンダリングされたイメージを表示することができるマルチメディアデスクトップアプリケーションに提供することができる。ハイパーリンクがユーザーによって起動されたことを示すために、キューブオブジェクト内で、青色のハイパーリンクのイメージの代わりに、マルチメディアデスクトップアプリケーションは、更新された紫色のハイパーリンクを表示してもよい。
【００１９】
[0026]複数のレンダリングコンポーネントを、サーフェス内で共通のフォーマットでレンダリングされたウェブコンテンツを生成するために使用され得ることが理解されよう。一例では、第２のレンダリングコンポーネント（例えば、ＤｉｒｅｃｔＸ（登録商標）のレンダリングコンポーネント）が、サーフェス内で第２のレンダリングされたウェブコンテンツを生成するために呼び出されてもよい。例えば、第２のレンダリングコンポーネントは、ハイパーリンクを含むサーフェス内でウェブベースのテキストを生成することができる。一例では、ハイパーリンクやテキストボックスをユーザーインターフェースに提供することができる。別の例では、ハイパーリンクとテキストボックスはユーザーインターフェースに提供することができる合成のレンダリングされたウェブコンテンツ（combined rendered web content）へと組み合わされてもよい。このように、１つ又は複数のレンダリング技術によってレンダリングされたインタラクティブなウェブコンテンツは、互換性のある形式でユーザーインターフェースに提供することができる。１１４においてこの方法は終了する。
【００２０】
[0027]ユーザーインターフェース内でウェブコンテンツをレンダリングする１つの実施例が図２の例示的な方法２００によって示される。２０２において方法が開始される。２０４において、第１のレンダリングコンポーネントが、サーフェス内に第１のレンダリングされたウェブコンテンツを生成するために呼び出されてもよい。第１のレンダリングされたウェブコンテンツはウェブコンテンツのイメージを含んでもよい。例えば、ＨＴＭＬレンダラーが、ある特定の位置においてサーフェス内にウェブベースのテーブルのイメージを生成することができる。２０６において、サーフェス内からの第１のレンダリングされたウェブコンテンツの一部はユーザーインターフェースに提供することができる。例えば、ウェブベースのテーブルのイメージは１５個の行を含んでもよい。しかし、例えばウェブベースのテーブルの最初の１０行など、イメージの一部をユーザーインターフェースに提供することができる。
【００２１】
[0028]２０８において、ユーザーインターフェース内での第１のレンダリングされたウェブコンテンツの一部とのインタラクションが受け取られてもよい。インタラクションは、マウスの位置、キーボード入力、タッチ検出など、及び／又はユーザーインターフェース内の第１のレンダリングされたウェブコンテンツの一部の位置を含んでもよい。例えば、ユーザーは、ユーザーインターフェース内に表示されるウェブベースのテーブルのセル（例えば、セル２、３）内でクリックすることができる。マウスクリックイベント、マウスの位置（例えば、クリックされたセルを示すマウスのｘｙ座標）及び／又はユーザーインターフェース内に表示されるようなイメージの一部（例えば、ウェブベースのテーブルの最初の１０行）の位置を受け取ることができる。
【００２２】
[0029]２１０において、第１のレンダリングコンポーネントが、インタラクションに基づいてサーフェス内に第１のレンダリングされたウェブコンテンツの更新バージョンを生成するために呼び出されてもよい。第１のレンダリングされたウェブコンテンツの更新バージョンは、ウェブコンテンツの更新されたイメージを含んでもよい。例えば、ＨＴＭＬレンダラーは、クリックされたセル内にカーソルが描かれるように、ウェブベースのテーブルの更新バージョンを生成することができる。２１２において、サーフェス内の第１の更新されたレンダリングされたウェブコンテンツの少なくとも一部は、ユーザーインターフェースに提供することができる。一例では、更新されたイメージの一部は、更新されたセルを含むことができる更新されたウェブベースのテーブルの最初の１０行を含んでもよい。別の例では、更新されたセルのみのイメージをユーザーインターフェースに提供することができる。このように、ユーザーインターフェースは、クリックしたセルにカーソルが描かれるように、更新されたウェブベースのテーブルの最初の１０行を提示することができる。２１４においてこの方法は終了する。
【００２３】
[0030]図３は、ユーザーインターフェース３１４内にウェブコンテンツをレンダリングするように構成されたシステム３００の一例を示す。システム３００は、第１のレンダリングコンポーネント３０４、第２のレンダリングコンポーネント３０６、及び／又は他のレンダリングコンポーネント（例えば、Ｎ番目のレンダリングコンポーネント３０８）を含んでもよい。システム３００が第１のレンダリングコンポーネント３０４などの単一のレンダリングコンポーネントを含んでもよいことができることが理解されよう。システム３００は合成コンポーネント（composition component）３０２及び／又は入力コンポーネント３１８を含んでもよい。ユーザーインターフェース３１４はデスクトップの車リサーチアプリケーションなどのウェブベースでないアプリケーションであってもよい。
【００２４】
[0031]合成コンポーネント３０２は、第１のレンダリングコンポーネント３０４などのレンダリングコンポーネント（例えば、ウェブページの隠しインスタンスを含むＨＴＭＬレンダラー）にサーフェス３１０を送るように構成することができる。第１のレンダリングコンポーネント３０４は、合成コンポーネント３０２からサーフェス３１０を受け取るように構成することができる。第１のレンダリングコンポーネント３０４は、サーフェス３１０内で第１のレンダリングされたウェブコンテンツを生成するように構成することができる。例えば、第１のレンダリングコンポーネント３０２は、車及び人のイメージを共通のフォーマットでレンダリングすることができる。第１のレンダリングコンポーネント３０２は合成コンポーネント３０２にサーフェス３１０を送ってもよく、合成コンポーネントは、第１のレンダリングコンポーネント３０４から第１のレンダリングされたウェブコンテンツ（例えば、車や人のレンダリングされたイメージ）を含むサーフェス３１０を受け取るように構成することができる。合成コンポーネント３０２は、ユーザーインターフェース３１４へ、第１のレンダリングされたウェブコンテンツなどのレンダリングされたウェブコンテンツ３１２を提供するように構成することができる。
【００２５】
[0032]合成コンポーネント３０２が、サーフェス３１０内にレンダリングされたウェブコンテンツを生成するために複数のレンダリングコンポーネントを呼び出すように構成することができることが理解されよう。レンダリングコンポーネントによって生成されるレンダリングされたウェブコンテンツを管理する際に、１つ又は複数のサーフェスが利用され得ることが理解されよう。一例では、第２のレンダリングコンポーネント３０６（例えば、ＤｉｒｅｃｔＸ（登録商標）レンダラー）は、サーフェス３１０内に第２のレンダリングされたウェブコンテンツをレンダリングするように構成することができる。例えば、第２のレンダリングコンポーネント３０６は、サーフェス３１０内の破線のボックスのレンダリングされたイメージを生成することができる。このように、合成コンポーネント３０２は、１つ又は複数のサーフェスを使用して、ユーザーインターフェース３１４に、様々なレンダリングコンポーネントからレンダリングされたウェブコンテンツ３１２を提供することができる。例えば、合成コンポーネント３０２は、ユーザーインターフェース３１４に第１又は第２のレンダリングされたウェブコンテンツを選択的に提供することができる。別の例では、合成コンポーネント３０２は、第１及び第２のレンダリングされたウェブコンテンツを合成のレンダリングされたウェブコンテンツへと組み合わせることができ、合成のレンダリングされたウェブコンテンツをユーザーインターフェース３１４に提供することができる。ユーザーインターフェース３１４、入力コンポーネント３１８、及び／又は合成コンポーネント３０２が、サーフェス３１０上にレンダリングされたウェブコンテンツを生成するようレンダリングコンポーネントに要求するように構成することができることが理解されよう。
【００２６】
[0033]入力コンポーネント３１８は、ユーザーインターフェース内のレンダリングされたウェブコンテンツとのインタラクション３１６に基づいてサーフェス３１０内にレンダリングされたウェブコンテンツの更新バージョンを生成するために、第１のレンダリングコンポーネント３０４などのレンダリングコンポーネント３２０を起動するように構成することができる。例えば、ユーザーインターフェース３１４は、車や人のイメージを含む第１のレンダリングされたウェブコンテンツを表示してもよい。ユーザーは、車や人のイメージにマウスオーバーすることができ、それはインタラクション３１６として入力コンポーネント３１８によって検出されてもよい。入力コンポーネント３１８は、マウスオーバーイベント、マウスの位置、及び／又はユーザーインターフェース３１４内の第１のレンダリングされたウェブコンテンツの位置を、第１のレンダリングコンポーネント３０４に提供することができる。第１のレンダリングコンポーネントは、サーフェス３１０内に第１のレンダリングされたウェブコンテンツの更新バージョン（例えば、黄色で強調表示された車や人を表すイメージ）を生成することができ、それは合成コンポーネント３０２によってユーザーインターフェース３１４に提供することができる。このように、レンダリングされたウェブコンテンツは更新することができ、ユーザーのインタラクションに基づいて、ユーザーインターフェース３１４に提供することができ、したがって、ユーザーインターフェース３１４内のインタラクティブなウェブコンテンツを可能にする。
【００２７】
[0034]合成コンポーネント３０２がサーフェス内のレンダリングされたウェブコンテンツを部分へと「分割（ブレークアップ）」するように構成することができることが理解されよう。例えば、第１のレンダリングコンポーネントはサーフェス内に車や人を含むウェブコンテンツをレンダリングすることができる。合成コンポーネント３０２は車と人を別個の部分に分割するように構成することができる。このようにして、車は、ユーザーインターフェースが第１の位置で車を表示できるように、ユーザーインターフェースに提供することができる。人は、ユーザーインターフェースが第２の位置においてその人を表示できるように、ユーザーインターフェースに提供することができ、ここで第１及び第２の位置は、分割される前のこれらの要素のそれぞれの位置とは異なる。
【００２８】
[0035]図４は、サーフェス４０４内にレンダリングされたウェブコンテンツを生成するために複数のレンダリングコンポーネントを呼び出す合成コンポーネント４０２の例４００の図である。合成コンポーネント４０２は、第１のレンダリングコンポーネント４０６にサーフェス４０４を送ってもよい。第１のレンダリングコンポーネントは、サーフェス４０８内に車と人の第１のレンダリングされたウェブコンテンツを生成することができる。合成コンポーネント４０２は、第１のレンダリングされたウェブコンテンツをもつサーフェス４０８を受け取ってもよい。
【００２９】
[0036]合成コンポーネント４０２は、第２のレンダリングコンポーネント４１２に、第１のレンダリングされたウェブコンテンツを含むサーフェス４１０を送ってもよい。第２のレンダリングコンポーネント４１２は、サーフェス４１４内で破線のボックスの第２のレンダリングされたウェブコンテンツを生成することができる。合成コンポーネント４０２は、第１のレンダリングされたウェブコンテンツ及び第２のレンダリングされたウェブコンテンツをもつサーフェス４１４を受け取ることができる。
【００３０】
[0037]合成コンポーネント４０２は、第１のレンダリングされたウェブコンテンツ及び第２のレンダリングされたウェブコンテンツをもつサーフェス４１６をＮ番目のレンダリングコンポーネント４１８に送ってもよい。Ｎ番目のレンダリングコンポーネント４１８はサーフェス４２０内で車のハイパーリンクのＮ番目のレンダリングされたウェブコンテンツを生成することができる。合成コンポーネント４０２は、第１のレンダリングされたウェブコンテンツ、第２のレンダリングされたウェブコンテンツ、Ｎ番目のレンダリングされたウェブコンテンツをもつサーフェス４２０を受け取ってもよい。例４００で参照される様々なサーフェス（４０４、４０８、４１０、４１４、４１６、及び／又は４２０）が、同一の又は異なるサーフェスであってもよいことが理解されよう。このように、合成コンポーネント４０２は、様々なレンダリングコンポーネントから１つ又は複数のサーフェス上にレンダリングされたウェブコンテンツを収集することができる。
【００３１】
[0038]図５は、組み合わされたレンダリングされたウェブコンテンツ５１２をユーザーインターフェース５１４に提供する例５００の図である。合成コンポーネント５０２はサーフェス５０４内でウェブコンテンツ（例えば、イメージ）を収集していてもよい。例えば、サーフェス５０４は、車と人の第１のレンダリングされたウェブコンテンツ５０６、破線のボックスの第２のレンダリングされたウェブコンテンツ５０８、及び／又は車のハイパーリンクの第３のレンダリングされたウェブコンテンツ５１０を含むことができる。合成コンポーネント５０２は、第１、第２、第３のウェブコンテンツを、車、人、破線のボックス、車のハイパーリンクのイメージを含む合成のレンダリングされたウェブコンテンツ５１２へと組み合わせることができる。合成コンポーネント５０２は、ユーザーインターフェース５１４に合成のレンダリングされたウェブコンテンツ５１２を提供することができる。ユーザー・インターフェース５１４は、表示されるユーザーインターフェース５１４内で、合成のレンダリングされたウェブコンテンツ５１２内にイメージを表示することができる。例えば、車や人のイメージ５１６を破線のボックスのイメージ５１８内に表示することができる一方、車のハイパーリンクのイメージ５２０をユーザーインターフェース５１４内の下に表示することができる。
【００３２】
[0039]図６は、組み合わせたレンダリングされたウェブコンテンツ６１２をユーザーインターフェース６１４に提供する例６００の図である。合成コンポーネント６０２はサーフェス６０４内にウェブコンテンツ（例えば、イメージ）を収集していてもよい。例えば、サーフェス６０４は、車と人の第１のレンダリングされたウェブコンテンツ６０６、破線のボックスの第２のレンダリングされたウェブコンテンツ６０８、及び／又は車のハイパーリンクの第３のレンダリングされたウェブコンテンツ６１０を含んでもよい。合成コンポーネント６０２は、第１のウェブコンテンツ及び（第２のウェブコンテンツではなく）第３のウェブコンテンツを、車、人、破線のボックスのイメージを含む合成のレンダリングされたウェブコンテンツ６１２へと組み合わせることができる。合成コンポーネント６０２は、ユーザーインターフェース６１４に合成のレンダリングされたウェブコンテンツ６１２を提供することができる。ユーザーインターフェース６１４は、表示されるユーザーインターフェース６１４内で、合成のレンダリングされたウェブコンテンツ６１２内にイメージを表示してもよい。例えば、車や人のイメージ６１６は、ユーザーインターフェース６１４内で車のハイパーリンクのイメージ６２０の上に表示されてもよい。
【００３３】
[0040]図７は、第１のレンダリングされたウェブコンテンツ７１２をユーザーインターフェース７１４に提供する例７００の図である。合成コンポーネント７０２はサーフェス７０４内でウェブコンテンツ（例えば、イメージ）を収集していてもよい。例えば、サーフェス７０４は、車と人の第１のレンダリングされたウェブコンテンツ７０６、破線のボックスの第２のレンダリングされたウェブコンテンツ７０８、及び／又は車のハイパーリンクの第３のレンダリングされたウェブコンテンツ７１０を含むことができる。合成コンポーネント７０２は、車と人のイメージを含む第１のレンダリングされたウェブコンテンツ７１２をユーザーインターフェース７１４に提供することができる。ユーザーインターフェース７１４は、表示されるユーザーインターフェース７１４内で第１のレンダリングされたウェブコンテンツ７１２内に車と人のイメージ７１６を表示してもよい。
【００３４】
[0041]図８は、第１のレンダリングされたウェブコンテンツの第１及び第２の部分をユーザーインターフェース８１２に提供する例８００の図である。合成コンポーネント８０２はサーフェス８０４内でウェブコンテンツ（例えば、イメージ）を収集していてもよい。例えば、サーフェス８０４は、他のレンダリングされたウェブコンテンツとともに、車８０８と人８０６の第１のレンダリングされたウェブコンテンツを含むことができる。合成コンポーネント８０２は、第１のレンダリングされたウェブコンテンツの人８０６の部分ではなく、車８０８の部分のイメージを含む第１のレンダリングされたウェブコンテンツ８１０の第１の部分を、ユーザーインターフェース８１２に提供してもよい。ユーザーインターフェース８１２は、第１の位置において表示されるユーザーインターフェース８１２内で第１のレンダリングされたウェブコンテンツ８１０の第１の部分内に車のイメージ８１４を表示してもよい。また、合成コンポーネント８０２は、第１のレンダリングされたウェブコンテンツの車８０８の部分ではなく、人８０６の部分のイメージを含む第１のレンダリングされたウェブコンテンツ８１６の第２の部分を、ユーザーインターフェース８１２に提供することができる。ユーザーインターフェースは、第２の位置において（例えば、最初に示されるように車の横／後ろではなく車の上に）第１のレンダリングされたウェブコンテンツ８１０の第２の部分内に人のイメージ８１８を表示してもよい。
【００３５】
[0042]例えば、ハイパーリンクなどの他のイメージがまた、他のコンテンツの一部のみがユーザーインターフェースに表示されるユーザーインターフェース８１２に表示されてもよいことが理解されよう。例えば、ハイパーリンクのイメージは、人８０６の部分が表示されない場合に車８０８の部分とともに表示することができる。
【００３６】
[0043]図９は、サーフェス内に第１のレンダリングされたウェブコンテンツの更新バージョン９１６を生成するために第１のレンダリングコンポーネント９１４を呼び出す入力コンポーネント９１０の例９００を示す図である。ユーザーインターフェース９０２は、車のイメージを含む第１のレンダリングされたウェブコンテンツ９０４を表示することができる。第１のレンダリングされたウェブコンテンツ９０４上でのマウスクリックは車を選択するカーソル９０６によって起動されてもよい。入力コンポーネント９１０は、位置データ（例えば、マウスの位置、キーボード入力、触覚検出（tactile detection）、及び／又はユーザーインターフェース９０２内の第１のレンダリングされたウェブコンテンツ９０４の位置）とともに、第１のレンダリングされたウェブコンテンツ９０４とのインタラクション９０８を検出してもよい。入力コンポーネント９１０は、サーフェス内に第１のレンダリングされたウェブコンテンツの更新バージョン９１６を生成するために第１のレンダリングコンポーネント９１４を呼び出すことができる（９１２）。例えば、第１のレンダリングコンポーネント９１４は、異なる向きの（例えば、車が丘を登っているかのように車が傾いた上向きの位置に描かれてもよい）及び／又はサーフェス内の異なる位置の（例えば、車が丘の右上へ向かうかのようにさらに右の位置において車の更新されたイメージがレンダリングされてもよい）車のイメージを含む更新されたバージョン９１６を生成してもよい。
【００３７】
[0044]合成コンポーネント９１８は、第１のレンダリングされたウェブコンテンツの更新バージョン９２０をユーザーインターフェース９０２に提供するように構成することができる。ユーザーインターフェース９０２は更新された車のイメージ９２２を表示することができる。このように、インタラクション（例えば、ユーザーのインタラクション、タイマーの終了、及び／又は他のイベント）を、レンダリングされたウェブコンテンツを更新するために使用することができる。例えば、車のイメージ９２２は、その後、ユーザーインターフェース９０２内で車の動きを表現するために１回又は複数回更新されることがある。
【００３８】
[0045]さらに別の実施例は、本明細書に示される技術の１つ又は複数を実施するように構成されるプロセッサーが実行可能な命令を含むコンピューター読み取り可能な媒体を含む。これらの方法で考えられる例示的なコンピューター読み取り可能な媒体が図１０に示され、ここで実施例１０００はコンピューター読み取り可能なデータ１０１４がエンコードされたコンピューター読み取り可能な媒体１０１６（例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、又はハード・ディスクドライブのプラッター）を含む。このコンピューター読み取り可能なデータ１０１４は本明細書に記載された原理の１つ又は複数に従って動作するように構成されたコンピューター命令１０１２のセットを含む。１つのこのような実施例１０００において、プロセッサーが実行可能なコンピューター命令１０１２は、例えば図１の例示的な方法１００及び／又は図２の例示的な方法２００などの方法１０１０を実行するように構成することができる。別のこのような実施例において、プロセッサーが実行可能命令１０１２は、例えば図３の例示的なシステム３００などのシステムを実施するように構成することができる。当業者であれば、本明細書に示される技術に従って動作するように構成される多くのこのようなコンピューター読み取り可能な媒体が考えられるであろう。
【００３９】
[0046]本発明は構造の特徴及び／又は方法の動作に特有の言葉で記載されたが、添付の特許請求の範囲に規定される主題は必ずしも上述の特定の特徴又は動作に限定されるものではないことを理解すべきである。そのようなものではなく、上述の特定の特徴及び動作は特許請求の範囲を実施する形態の例として開示されるものである。
【００４０】
[0047]本願において使用される場合、「コンポーネント」、「モジュール」、「システム」、「インターフェース」などの用語は、一般に、コンピューター関連のエンティティ、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアを指すように意図される。例えば、「コンポーネント」は、プロセッサー上で実行されるプロセス、プロセッサー、オブジェクト、実行ファイル、実行のスレッド、プログラム、及び／又はコンピューターとすることができるが、これらに限定されない。例として、コントローラー上で実行されるアプリケーションとコントローラーの両方がコンポーネントであってもよい。１つ又は複数のコンポーネントはプロセス及び／又は実行のスレッド内にあってもよいし、コンポーネントは１つのコンピューター上に局在し及び／又は２つ以上のコンピューター間に分散してもよい。
【００４１】
[0048]さらに、特許請求される主題は、開示される主題を実施するようにコンピューターを制御するためのソフトウェア、ファームウェア、ハードウェア又はこれらの任意の組み合わせを生成するための標準的なプログラミング及び／又はエンジニアリング技術を使用して、方法、装置、又は製品として実施することができる。本明細書で使用される場合、「製品」という用語は、任意のコンピューター読み取り可能なデバイス、キャリアー、又は媒体からアクセス可能なコンピュータープログラムを含むように意図される。もちろん、当業者であれば、特許請求された主題の範囲又は趣旨から逸脱することなくこの構成に対して多くの変更をなすことができると認識するであろう。
【００４２】
[0049]図１１及び以下の説明は、本明細書に記載されたものの１つ又は複数についての実施例を実施するための適切なコンピューティング環境の簡潔で概略的な説明を提供するものである。図１１の動作環境は、適切な動作環境の一例に過ぎず、動作環境の使用又は機能の範囲について何ら限定を示唆するものではない。例示的なコンピューティングデバイスは、パーソナルコンピューター、サーバーコンピューター、ハンドヘルド又はラップトップデバイス、モバイルデバイス（携帯電話、携帯情報端末（ＰＤＡ）、メディアプレーヤーなど）、マルチプロセッサーシステム、家庭用電化製品、ミニコンピューター、メインフレームコンピューター、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境などを含んでもよいが、これらに限定されない。
【００４３】
[0050]必須ではないが、実施例は、１つ又は複数のコンピューティングデバイスによって実行される「コンピューター読み取り可能な命令」の一般的なコンテキストで説明される。コンピューター読み取り可能な命令は、コンピューター読み取り可能な媒体を介して分散させることができる（後述）。コンピューター読み取り可能な命令は、特定のタスクを実行したり、又は特定の抽象データ型を実施したりする、関数、オブジェクト、アプリケーションプログラミングインターフェース（ＡＰＩ）、データ構造などのプログラムモジュールとして実施することができる。一般的に、コンピューター読み取り可能な命令の機能は様々な環境において必要に応じて組み合わせたり分散させたりすることができる。
【００４４】
[0051]図１１は、本明細書に示される１つ又は複数の実施例を実施するように構成されたコンピューティングデバイス１１１２を含むシステム１１１０の一例を示す。１つの構成では、コンピューティングデバイス１１１２は少なくとも１つの処理ユニット１１１６とメモリー１１１８を含む。コンピューティングデバイスの正確な構成と種類に応じて、メモリー１１１８は、（例えばＲＡＭなどのように）揮発性であってもよいし、（例えばＲＯＭ、フラッシュメモリーなどのように）不揮発性であってもよいし、又はこれらの組み合わせであってもよい。この構成は、破線１１１４で図１１に示される。
【００４５】
[0052]他の実施例ではデバイス１１１２はさらなる特徴及び／又は機能を含んでもよい。例えば、デバイス１１１２はまた、磁気記憶装置、光学記憶装置などを含むがこれらに限定されないさらなる記憶装置（例えば、取り外し可能及び／又は取り外し不能）を含むことができる。このようなさらなる記憶装置が記憶装置１１２０として図１１に示される。１つの実施例において、本明細書で提供される１つ又は複数の実施例を実施するためのコンピューター読み取り可能な命令は記憶装置１１２０にあってもよい。記憶装置１１２０はまた、オペレーティングシステム、アプリケーションプログラムなどを実行するための他のコンピューター読み取り可能な命令を格納することができる。コンピューター読み取り可能な命令は、例えば、処理ユニット１１１６によって実行のためにメモリー１１１８にロードすることができる。
【００４６】
[0053]本明細書で使用する場合、「コンピューター読み取り可能な媒体」という用語はコンピューター記憶媒体を含む。コンピューター記憶媒体は、コンピューター読み取り可能な命令又は他のデータなどの情報を格納するための任意の方法又は技術で実施される揮発性及び不揮発性の、取り外し可能及び取り外し不能の媒体を含む。メモリー１１１８及び記憶装置１１２０はコンピューター記憶媒体の例である。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー又は他のメモリー技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）又は他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は所望の情報を格納するために使用できデバイス１１１２によってアクセスできる任意の他の媒体を含むが、これらに限定されない。このような任意のコンピューター記憶媒体はデバイス１１１２の一部であってもよい。
【００４７】
[0054]デバイス１１１２はまた、デバイス１１１２が他のデバイスと通信することを可能にする通信接続１１２６を含むことができる。通信接続１１２６は、モデム、ネットワークインターフェースカード（ＮＩＣ）、統合されたネットワークインターフェース、無線周波数送信機／受信機、赤外線ポート、ＵＳＢ接続、又は他のコンピューティングデバイスにコンピューティングデバイス１１１２を接続する他のインターフェースを含むが、これらに限定されない。通信接続１１２６は有線接続又は無線接続を含むことができる。通信接続１１２６は通信媒体を送信及び／又は受信することができる。
【００４８】
[0055]「コンピューター読み取り可能な媒体」という用語は通信媒体を含むことができる。通信媒体は、通常、搬送波又は他の移送機構などの「変調データ信号」でコンピューター読み取り可能な命令や他のデータを具現化し、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号に情報を符号化するように設定又は変更される１つ又は複数の特性を有する信号を含むことができる。
【００４９】
[0056]デバイス１１１２は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、赤外線カメラ、ビデオ入力デバイス、及び／又は他の任意の入力デバイスなどの入力デバイス１１２４を含むことができる。１つ又は複数のディスプレイ、スピーカー、プリンター、及び／又は任意の他の出力デバイスなどの出力デバイス１１２２もまた、デバイス１１１２に含まれてもよい。入力デバイス１１２４及び出力デバイス１１２２は、有線接続、無線接続、又はそれらの任意の組み合わせを介してデバイス１１１２に接続することができる。１つの実施例では、別のコンピューティングデバイスからの入力デバイス又は出力デバイスを、コンピューティングデバイス１１１２の入力デバイス１１２４又は出力デバイス１１２２として使用することもできる。
【００５０】
[0057]コンピューティングデバイス１１１２のコンポーネントはバスなどの様々な相互接続によって接続することができる。このような相互接続は、ＰＣＩ  Ｅｘｐｒｅｓｓなどの周辺コンポーネント相互接続（ＰＣＩ）、ユニバーサルシリアルバス（ＵＳＢ）、ファイヤーワイヤー（商標）（ＦｉｒｅＷｉｒｅ）（ＩＥＥＥ１３１１４）、光バス構造などを含んでもよい。別の実施例では、コンピューティングデバイス１１１２のコンポーネントはネットワークによって相互接続することができる。例えば、メモリー１１１８は、ネットワークによって相互接続された物理的に異なる位置に配置された複数の物理メモリーユニットから構成されてもよい。
【００５１】
[0058]当業者であれば、コンピューター読み取り可能な命令を格納するために利用される記憶装置がネットワーク上に分散することができることを理解するであろう。例えば、ネットワーク１１２８を介してアクセス可能なコンピューティングデバイス１１３０は、本明細書で提供される１つ又は複数の実施例を実施するためのコンピューター読み取り可能な命令を記憶することができる。コンピューティングデバイス１１１２は、コンピューティングデバイス１１３０にアクセスして、実行のためのコンピューター読み取り可能な命令の一部又はすべてをダウンロードすることができる。代わりに、コンピューティングデバイス１１１２は、必要に応じて、コンピューター読み取り可能な命令の一部をダウンロードすることができ、また、ある命令はコンピューティングデバイス１１１２において実行されてもよいしある命令はコンピューティングデバイス１１３０において実行されてもよい。
【００５２】
[0059]実施例の様々な動作が本明細書で提供される。１つの実施例では、説明される動作の１つ又は複数は、コンピューティングデバイスによって実行される場合にコンピューティングデバイスに説明された動作を実行させる、１つ又は複数のコンピューター読み取り可能な媒体上に記憶されたコンピューター読み取り可能な命令を構成してもよい。動作の一部又はすべてが説明される順序は、これらの動作が必ず順序に依存することを意味すると解釈されるべきではない。当業者であれば本明細書の利益を有する他の順序を理解するであろう。さらに、必ずしもすべての動作が本明細書にて提供された各実施例にあるわけではないことが理解されよう。
【００５３】
[0060]さらに、「例示的」という語は、例、事例、又は実例として役立つように使用される。「例示的」であるとして本明細書に記載される任意の態様又は設計は、必ずしも、他の態様又は設計よりも有利であると解釈されるべきではない。そのようなものではなく、例示的という語の使用は概念を具体的に示すことを意図している。本出願で使用される場合、「又は」という語は、排他的な「又は」ではなく、包括的な「又は」を意味することが意図される。すなわち、特に断らない限り又は文脈から明らかでない限り、「ＸはＡ又はＢを使用する」とは普通の包括的な置換のうちのいずれかを意味することを意図している。すなわち、ＸがＡを使用し、ＸがＢを使用し、又はＸがＡ及びＢの両方を使用する場合、「ＸはＡ又はＢを使用する」ということがこのような例の任意のものの下に成立する。また、本願及び添付の特許請求の範囲において使用されるとき、冠詞「１つの」は、単数形を示すように特に断らない限り又は文脈から明らかでない限り、一般に、「１つ又は複数」を意味するように解釈されてもよい。
【００５４】
[0061]また、本開示は１つ又は複数の実施例に関して示され、説明されてきたが、当業者であれば、本明細書及び添付の図面を読んで理解することで、等価な変更や修正を考慮するであろう。本開示は、このようなすべての修正及び変更を含んでおり、以下の特許請求の範囲によってのみ限定される。特に上記のコンポーネント（例えば、要素、リソースなど）によって実行される様々な機能に関しては、このようなコンポーネントを記述するために使用される用語は、特に明記しない限り、本明細書で説明された本開示の例示的な実施例の機能を実行する開示された構造と構造的に等価でなくとも、記載されたコンポーネントの特定された機能を実行する（例えば、機能的に等価な）任意のコンポーネントに対応するように意図される。また、本開示の特定の特徴はいくつかの実施例の１つのみに関して開示されたが、そのような機能は、任意の所与の又は特定の用途にとって望ましい利点を有するように、他の実施例の１つ又は複数の他の機能と組み合わせることができる。さらに、「含む」、「有している」、「有する」、「とともに」という語、又はその変形が詳細な説明又は特許請求の範囲で使用される限りにおいて、このような語は「備える」という語と同様に包括的であるよう意図される。
【図１】
2013535052.tif 000003
【図２】
2013535052.tif 000004
【図３】
2013535052.tif 000005
【図４】
2013535052.tif 000006
【図５】
2013535052.tif 000007
【図６】
2013535052.tif 000008
【図７】
2013535052.tif 000009
【図８】
2013535052.tif 000010
【図９】
2013535052.tif 000011
【図１０】
2013535052.tif 000012
【図１１】
2013535052.tif 000013
【国際調査報告】
2013535052.tif 000014
2013535052.tif 000015