(57)【要約】  異なるアプリケーションに関連付けられるかまたは異なるアプリケーションによって生成された認識可能なプロセス境界を除去することによって、ユーザインタフェース（UI）操作を行うことができる。本明細書における技法は、ユーザインタフェース操作の様々なタイプおよび／または状態を考慮することなく、および／または複数のコンテンツが異なる個々のプロセスに関連付けられているか否かを考慮することなく、複数のコンテンツにわたる操作を動的に分割することを記載する。少なくとも１つの例では、本明細書に記載される技法は、ＵＩ上のコンテンツの複雑な構成および／または２つ以上のアプリケーションに関連付けられた複数のコンテンツでの、迅速で、応答が早く、シームレスなＵＩ操作を可能にする。さらに、本明細書に記載する技法は、コンテンツがユーザ入力操作と直接コンタクト状態にとどまるように見えるように、ＵＩ上のコンテンツをユーザ入力操作に対し「貼り付く」か、またはユーザ入力操作と共に動くようにすることをさらに可能にする。【選択図】図１
2017531220.tif 000002
【特許請求の範囲】
【請求項１】
インタラクティブコンテンツストレージにおいて、ユーザインタフェース（UI）上の操作のために利用可能なコンテンツに関する情報を収集することと、
前記ＵＩを介してユーザ入力を受信することと、
前記ユーザ入力の受信に応答して、前記ユーザ入力が関係する少なくとも１つの前記コンテンツを特定することと、
前記インタラクティブコンテンツストレージ内の前記少なくとも１つのコンテンツを特定して、前記少なくとも１つのコンテンツのために利用可能な操作を決定することと、
前記少なくとも１つのコンテンツのために利用可能な前記操作を決定することに応答して、前記少なくとも１つのコンテンツのために利用可能な前記操作に少なくとも部分的に基づいて、前記ＵＩにおける前記少なくとも１つのコンテンツの操作を引き起こすことと、を含む、
コンピュータ実施方法。
【請求項２】
前記少なくとも１つのコンテンツを前記特定することは、２つ以上のコンテンツを特定することを含み、
前記２つ以上のコンテンツのうちの少なくともいくつかは、異なるアプリケーションによって生成される、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記インタラクティブコンテンツストレージは、
前記個々のコンテンツのために利用可能なインタラクションに関する情報と、
操作のために利用可能なコンテンツ間のインタラクティブな関係を特定するための、前記操作のために利用可能なコンテンツに関する情報と、
を含むインタラクティブコンテンツのツリーを含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記ユーザ入力は、タッチ入力を含み、
前記タッチ入力は、２つ以上の接触点を含み、
前記方法は、前記少なくとも１つのコンテンツおよび前記２つ以上の接触点に基づいて、インタラクティブコンテンツのチェーンを決定することをさらに含む、請求項３に記載のコンピュータ実施方法。
【請求項５】
前記少なくとも１つのコンテンツのために利用可能な操作を決定するために前記インタラクティブコンテンツのツリーにおいて前記インタラクティブコンテンツのチェーンを特定することをさらに含む、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記ＵＩを介して新たなユーザ入力を受信することと、
前記インタラクティブコンテンツのツリーに少なくとも部分的に基づいて、前記ＵＩにおける前記個々のコンテンツの操作を引き起こすことと、
をさらに含む、請求項３に記載のコンピュータ実施方法。
【請求項７】
少なくともマニピュレータモジュールおよび１つまたは複数のアプリケーションを記憶するコンピュータ可読媒体と、
前記コンピュータ可読媒体に動作可能に結合された処理ユニットであって、少なくとも前記マニピュレータモジュールおよび前記１つまたは複数のアプリケーションを実行するように適合される、処理ユニットと、を備え、
前記マニピュレータモジュールは、
前記１つまたは複数のアプリケーションに関連付けられたコンテンツ間のインタラクティブな関係を記憶および定義するように構成されるインタラクティブコンテンツモジュールと、
複数のコンテンツに関連付けられたユーザ入力によって引き起こされる操作を行うための特定のコンテンツを決定するように構成されるジェスチャターゲッティングモジュールと、
を備える、システム。
【請求項８】
ジェスチャのタイプ、ユーザ入力の現在の状態、または前記複数のコンテンツのうちの個々のコンテンツによって行われている操作に基づいて、前記複数のコンテンツにおいて行われる動作を決定するように構成される挙動ハンドリングモジュールをさらに備える、請求項７に記載のシステム。
【請求項９】
結果を前記１つまたは複数のアプリケーションに送達するか、または前記特定のコンテンツによって行われる前記操作を直接送達するように構成される結果モジュールをさらに備える、請求項７に記載のシステム。
【請求項１０】
前記コンテンツ間の前記インタラクティブな関係は、インタラクティブコンテンツのツリー内に記憶および定義され、
前記ジェスチャターゲッティングモジュールは、前記１つまたは複数のアプリケーションに関連付けられた親ノードから開始して、前記コンテンツに関連付けられた子ノードに続いて、前記インタラクティブコンテンツのツリーをトラバースし、前記コンテンツのために許容可能な操作のタイプを決定するようにさらに構成される、請求項７に記載のシステム。
【請求項１１】
前記親ノードが前記子ノードの操作を制限するか、または前記子ノードが前記親ノードの操作を制限する、請求項１０に記載のシステム。
【請求項１２】
前記親ノードから開始して、前記子ノードに続いて、前記インタラクティブコンテンツのツリーをトラバースすることに応答して、前記ジェスチャターゲッティングモジュールは、前記子ノードから開始して、前記親ノードに続いて、前記インタラクティブコンテンツのツリーをトラバースし、個々の子ノードが行うことができる操作を特定するようにさらに構成される、請求項１０に記載のシステム。
【請求項１３】
前記結果モジュールは、前記ユーザ入力の受信に応答してまたは後の時点で前記結果を送達するようにさらに構成される、請求項９に記載のシステム。
【請求項１４】
前記結果を後の時点に前記送達することは、新たなユーザ入力の受信時、または所定の期間の経過後に前記結果を送達することを含む、請求項１３に記載のシステム。
【請求項１５】
前記結果モジュールは、前記１つまたは複数のアプリケーションからの処理を要求することなく、前記複数のコンテンツに対し変換を行うようにさらに構成される、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  ジェスチャおよび他のユーザインタフェース操作によって、ユーザはユーザインタフェース内のコンテンツを操作することが可能になる。そのような操作は、記事をパンすること、画像をズームインまたはズームアウトすること、コンテンツを回転すること等を含む。現行の技術により、コンテンツを生成するアプリケーションによって実行されているプロセスを考慮することなく操作を処理する専用スレッドにおいて、ユーザインタフェース上のコンテンツの操作を処理することが可能になる。一方、そのようなハンドリングは、通常、単一のプロセスによって生成されるかまたは単一のアプリケーションに関連付けられたコンテンツを対象とするユーザインタフェース操作に限定されている。結果として、現行の技術のユーザエクスペリエンスは不良である。
【発明の概要】
【０００２】
[0002]  複数のコンテンツにわたってインタラクションを分割するための技法が説明される。少なくとも１つの例では、ユーザインタフェースインタラクションは、異なるアプリケーションに関連付けられるかまたは異なるアプリケーションによって生成された認識可能なプロセス境界を除去することによって行うことができる。様々な例において、本明細書における技法は、ユーザインタフェース操作の様々なタイプおよび／または状態を考慮することなく、および／または複数のコンテンツが異なる個々のプロセスに関連付けられているか否かを考慮することなく、複数のコンテンツにわたる操作を動的に分割することを記載する。
【０００３】
[0003]  少なくとも１つの例では、本明細書における技法は、インタラクティブコンテンツストレージに記憶するための、ユーザインタフェース（UI）上の操作のために利用可能なコンテンツに関する情報を収集することを記載する。ユーザインタフェース上のユーザ入力の受信に応答して、ユーザ入力が受信される個々のコンテンツを特定することができる。少なくとも１つの例では、本明細書における技法は、インタラクティブコンテンツストレージ内の個々のコンテンツを特定して、個々のコンテンツのために利用可能な操作を決定することを記載する。ＵＩ上の個々のコンテンツの操作は、個々のコンテンツのために利用可能な操作に少なくとも部分的に基づいて行うことができる。
【０００４】
[0004]  さらに、少なくとも１つの例では、本明細書に記載される技法は、少なくとも１つのアプリケーションに関連付けられた２つ以上の視覚コンテンツを操作することに向けられたユーザ入力を受信することと、ユーザ入力およびインタラクティブコンテンツの集合体に少なくとも部分的に基づいてユーザインタフェース上で操作することができる視覚コンテンツを決定することと、を含む。さらに、本明細書に記載の技法は、少なくとも部分的にインタラクティブコンテンツの集合体に基づいて、いずれの視覚コンテンツが操作を行うことができるかを決定することと、ＵＩ上に２つ以上の視覚コンテンツの操作結果を提示することと、を含むことができる。
【０００５】
[0005]  本明細書における技法は、上述した方法を実施するためのシステムも記載する。少なくとも１つの例では、システムは、１つまたは複数のアプリケーションに関連付けられたコンテンツと、複数のコンテンツに関連付けられたユーザ入力によって生じるモーションをハンドリングするための特定のコンテンツを決定するように構成されるジェスチャターゲッティングモジュールと、の間のインタラクティブな関係を記憶および定義するためのインタラクティブコンテンツモジュールを含むことができる。
【０００６】
[0006]  この発明の概要は、発明を実施するための形態において以下でさらに説明される単純化された形態の概念の抜粋を紹介する。この発明の概要は、特許請求の範囲の主要な特徴または重要な特徴を特定することを意図するものでもなければ、特許請求される主題の範囲を限定するように用いられることを意図するものでもない。
【０００７】
[0007]  添付の図面を参照して、発明を実施するための形態が説明される。図面において、参照符号の最も左の桁は、その参照符号が最初に現れる図面を識別する。異なる図面における同じ参照符号は、類似のまたは同一のアイテムを示す。
【図面の簡単な説明】
【０００８】
【図１】[0008]複数のコンテンツにわたる操作の動的分割の非同期ハンドリングのための技法を実現することができる例示的な環境を示す図である。
【図２】[0009]複数のコンテンツにわたる操作の動的分割の非同期ハンドリングの多岐にわたる環境において実施することができる多岐にわたるデバイスおよびコンポーネントを含む例示的な動作環境を示す図である。
【図３】[0010]複数のコンテンツにわたる操作の動的分割の非同期ハンドリングのための例示的な動作環境を示す図である。
【図４】[0011]ユーザインタフェース（UI）におけるコンテンツの操作のためのプロセスを示す図である。
【図５】[0012]ＵＩにおける操作の結果を提示するためのプロセスを示す図である。
【図６】[0013]インタラクティブコンテンツのグローバルツリー（global tree）をトラバースするためのプロセスを示す図である。
【図７】[0014]インタラクティブコンテンツのグローバルツリーをトラバースするためのプロセスを示す図である。
【発明を実施するための形態】
【０００９】
[0015]  ユーザインタフェース（UI）において提示されるコンテンツに向けられたＵＩ操作を最適化するための技法が本明細書において記載される。ジェスチャおよび他のＵＩ操作（例えば、キーボードタブ移動、ユーザ入力としてマウスを用いた選択等）によって、ユーザは、アプリケーションインタフェース内でコンテンツを操作することが可能になる。そのような操作は、記事をパンすること、画像をズームインおよびズームアウトすること、コンテンツを回転すること、等を含む。現行の技法は、本来であればアプリケーションに関連付けられたプロセスを行うスレッドと別個の専用スレッドにおいてＵＩ操作を行うことを可能にする。一方、そのように行うことは、通常、単一のプロセスにおけるコンテンツに向けられたＵＩ操作に限定されている。ＵＩ操作が複雑な構成において提示されるコンテンツに向けられているか、または異なるプロセスによって生成されるとき特に、現行の技法により、結果としてユーザエクスペリエンスが不良になる。例えば、ユーザが様々なアプリケーションによって生成されるユーザインタフェースにおける２つ以上のコンテンツとインタラクトすることを望む場合、ユーザは、コンテンツのうちの１つに関連付けられた単一のインタラクションに限定される場合がある。結果として、ユーザは双方のコンテンツを同時に動かすことができない場合がある。本明細書におい記載される技法は、異なるアプリケーションに関連付けられるかまたは異なるアプリケーションによって生成される認識可能なプロセス境界を除去することによって、ＵＩ操作を改善する。
【００１０】
[0016]  本明細書における技法は、ＵＩ操作の様々なタイプを考慮することなく、および／または複数のコンテンツが異なるプロセスに関連付けられているか否かを考慮することなく、複数のコンテンツにわたる操作を動的に分割することを記載する。少なくとも１つの例では、本明細書に記載される技法は、ＵＩ上のコンテンツの複雑な構成および／または２つ以上のアプリケーションに関連付けられた複数のコンテンツでの、迅速で、応答が早く、シームレスなＵＩ操作を可能にする。さらに、本明細書に記載する技法は、ＵＩ上のコンテンツが、ユーザ入力操作と直接接触したままであるように見えるように、ユーザ入力操作に対し貼り付くか、またはユーザ入力操作と共に動くようにすることをさらに可能にする。換言すれば、ユーザは、デバイスのディスプレイ上でコンテンツを動かすかまたは配置することができ、本明細書に記載される技法は、ディスプレイ上で、コンテンツがユーザの指および／または他のユーザ入力デバイスに貼り付いているかのように見えることを可能にする。
【００１１】
[0017]  ユーザ操作は、ユーザデバイスのＵＩ上のコンテンツとインタラクトするための多数のユーザ入力およびユーザ入力デバイスを含み得る。例えば、ユーザは、マウスを用いて選択可能な制御部上をクリックし、および／またはマウスベースのジェスチャを行うことができる。さらなる例では、ユーザは、タッチスクリーンディスプレイを通じてジェスチャを行うために、１つまたは複数の手の１本または複数本の指を用いることができる。スタイラスまたはペン等の代替的なまたは追加の入力デバイスを用いて、タッチスクリーンディスプレイ上でまたはタッチスクリーンディスプレイを通じてジェスチャを行うことができる。ボイスアクティベーションは、ユーザ操作を提供するための追加のまたは代替的な手段であり得る。ユーザ操作の別の例は、１つもしくは複数のカメラまたは他の画像捕捉デバイスによって捕捉される３次元の物体および／または個人の動きまたはモーションを含むことができる。この論考の目的で、ユーザは多くの場合、ＵＩ操作を対象とする例示的なユーザ入力として用いられるが、非ジェスチャユーザ入力を同様にまたは代わりに用いることができ、これはユーザ操作の範囲に含まれる。
【００１２】
[0018]  いくつかの例では、ユーザ入力および／または入力デバイスの組み合わせを、デバイスのＵＩにおけるコンテンツを操作するために用いることができる。例えば、ユーザは、ＵＩ上に２本の指を配置し、２本の指がまだＵＩ上にある間にペンデバイスを用いてＵＩ上で描画することによって、ＵＩとインタラクトすることができる。タッチ入力およびボイスアクティベーションの組み合わせ等のさらなる組み合わせもユーザ操作の範囲に含まれる。さらに、ユーザ入力および／または入力デバイスは、複数のユーザデバイスにわたって複数のＵＩとインタラクトすることができる。
【００１３】
[0019]  本明細書において説明したようなコンテンツは、ＵＩにおいて提示されるインタラクティブコンテンツを含むことができる。インタラクティブコンテンツは、ＵＩ上に提示することができ、ＵＩ上のユーザ入力を介して選択および／またはインタラクトすることができる複数のコンテンツを含むことができる。インタラクティブコンテンツは、様々な機能を実行するためのアプリケーションによって生成することができる。少なくとも１つの例では、インタラクティブコンテンツは、視覚コンテンツとして提示することができる。例えば、コンテンツは、テキスト文書、マップ、ゲームピース、画像データ、ビデオデータ等を含むことができる。各コンテンツは、ＵＩ操作に応答してコンテンツ内の位置を確定するのに有用な境界を有することができる。境界は、コンテンツの合計サイズ、コンテンツの現在の解像度、表示することができるコンテンツの解像度、記事内のページ数、各ページのサイズ、合計マップサイズ等を含むことができる。
【００１４】
[0020]  上記で論考したように、現在の技法は、本来であればアプリケーションに関連付けられるプロセスを実行するスレッドと別個の専用スレッドにおいてＵＩ操作を行うことを可能にする。本明細書に記載される技法はまた、アプリケーションに関連付けられた他のプロセスを実行するスレッドと別個のスレッド上でコンテンツを動かす。一方、現在の技法と異なり、本明細書に記載される技法は、複数のアプリケーションに関連付けられた他のプロセスを実行するスレッドと別個のスレッド上で複数のアプリケーションによって生成されるコンテンツを動かすことができる。そのような非同期処理は、異なるアプリケーションによって生成することができる複数の視覚コンテンツにわたって、迅速で、応答が早く、シームレスなＵＩ操作を提供することによって、ＵＩ操作に関連付けられたユーザ操作を最適化する。
【００１５】
例示的な環境
[0021]  以下で説明される環境は、１つの例を構成するにすぎず、以下で説明されるシステムの応用形態を、任意の１つの特定の動作環境に制限することは意図していない。特許請求された主題の趣旨および範囲から逸脱することなく、他の環境を用いることができる。本明細書において記載される様々なタイプの処理は、限定ではないが、スタンドアロンコンピューティングシステム、ネットワーク環境（例えば、ローカルエリアネットワークまたはワイドエリアネットワーク）、ピアツーピアネットワーク環境、分散コンピューティング（例えば、クラウドコンピューティング）環境等を含む任意の数の環境において実施することができる。
【００１６】
[0022]  図１は、複数のコンテンツにわたる操作の動的分割の非同期ハンドリングのための技術を実現することができる例示的な環境１００を示す。少なくともいくつかの例では、ハンドリングは、操作を行うこと、操作の実行、操作の受信および／または操作の処理を指すことができる。環境１００はコンピューティングデバイス１０２を含む。少なくとも１つの例では、コンピューティングデバイス１０２は、処理ユニット１０４およびコンピュータ可読媒体１０６を含むことができる。コンピュータ可読媒体１０６は、ユーザデバイス１０２とのインタラクションを容易にするコンポーネントを含むことができる。例えば、コンピュータ可読媒体１０６は、命令を実行し、複数のコンテンツにわたる操作の動的分割をハンドリングするための動作を行うようにデバイスを構成するための少なくとも１つの処理ユニット１０４を介して、コンピュータ可読命令、様々なデータ構造等として実施することができる、少なくともマニピュレータモジュール１０８を含むことができる。これらの動作を行うための機能は、複数のデバイスまたは単一のデバイスに含めることができる。コンピュータ可読媒体１０６は、様々な動作に関連付けられたアプリケーション１１０をさらに備えることができる。アプリケーション１１０は、コンピューティングデバイス１０２に関連付けられたＵＩ上で様々な動作に関連付けられたコンテンツをレンダリングすることができる。
【００１７】
[0023]  コンピューティングデバイス１０２は、タッチスクリーンＵＩ１１８上の１つまたは複数アプリケーションインタフェース１１６Ａおよび１１６Ｂを提示する。タッチスクリーンＵＩ１１８は、ユーザ１２０の１本もしくは複数本の指、および／またはタッチ入力を提供するために構成されたペンもしくは他のスタイラス等のユーザ入力を介してユーザ操作を受信するように構成することができる。スタイラスの場合、スタイラスは、アクティブおよび／またはパッシブとすることができる。上述したように、ユーザ操作は、様々な他のタイプのユーザ入力および入力デバイスを含んでもよい。ユーザ入力は、タッチスクリーンＵＩ１１８上のアプリケーション１１０（例えば、アプリケーションインタフェース１１６Ａおよび１１６Ｂに関連付けられたアプリケーション）のＵＩ操作に向けることができる。少なくとも１つの例では、例示的な環境１００に示すように、ユーザ入力は矢印１２２によって示され、アプリケーションインタフェース１１６Ａおよび１１６Ｂに向けられる。ユーザ入力１２０／１２２は、アプリケーションインタフェース１１６Ａおよび／またはアプリケーションインタフェース１１６Ｂに表示されるコンテンツを通じて迅速にパンすることによってＵＩインタフェースを操作することに向けられた、１本指のフリックアップジェスチャとして示される。
【００１８】
[0024]  少なくとも１つの例では、環境１００は、サーバおよび／または他のマシン１１２ならびに有線および／または無線通信ネットワーク１１４を含むことができる。これは、コンピューティングデバイス１０２と、１つまたは複数のサーバおよび／または他のマシン１１２と、の間の通信を可能にする。いくつかの例では、サーバおよび／または他のマシン１１２は、リソースを共有するか、負荷の平衡をとるか、性能を増大させるか、フェイルオーバーサポートもしくは冗長性を提供するか、またはコンピューティングデバイス１０２と１つもしくは複数のサーバおよび／または他のマシン１１２との間の通信を可能にする他の目的で、クラスタでまたは他のグループ化された構成で動作する１つまたは複数のコンピューティングデバイスを含むことができる。通信ネットワーク１１４は、以下に示すように、インターネット等の従来技術において既知の任意のタイプのネットワークとすることができる。
【００１９】
[0025]  図２は、複数のコンテンツにわたる操作の動的分割の非同期ハンドリングのための多岐にわたる環境において実施することができる多岐にわたるデバイスおよびコンポーネントを含む例示的な動作環境２００を示す。少なくとも１つの例では、本明細書に記載の技法は、遠隔で（例えば、サーバ、クラウド等によって）行うことができる。いくつかの例では、本明細書に記載の技法は、コンピューティングデバイス１０２等のユーザデバイス上で、ローカルで行うことができる。
【００２０】
[0026]  例示的な動作環境２００は、サービスプロバイダ２０２、１つまたは複数のネットワーク２０４、１つまたは複数のユーザ２０６、および１つまたは複数のユーザ２０６に関連付けられた１つまたは複数のユーザデバイス２０８を含むことができる。示されるように、サービスプロバイダ２０２は、１つもしくは複数のサーバおよび／または他のマシン２１０を含むことができ、そのうちの任意のものが、１つまたは複数の処理ユニット２１２およびコンピュータ可読媒体２１４を含むことができる。サーバおよび／または他のマシン２１０は、図１に示すのと同じ１つもしくは複数のサーバおよび／または他のマシン１１２とすることができる。様々なウェブサービスまたはクラウドベースの実施形態において、サービスプロバイダ２０２は、ユーザデバイス２０８またはコンピューティングデバイス１０２のうちの任意のもの等のユーザデバイス上に表示される複数のコンテンツにわたる操作の動的分割を非同期に行うことができる。
【００２１】
[0027]  いくつかの実施形態では、ネットワーク２０４は、インターネット等の、当該技術分野において既知の任意のタイプのネットワークとすることができる。ネットワーク２０４は、図１に示すのと同じネットワーク１１４とすることができる。さらに、ユーザデバイス２０８は、グローバルのまたはローカルの有線接続または無線接続（例えば、ローカルエリアネットワーク（LAN）、イントラネット等）によって、任意の方式でネットワーク２０４に通信可能に結合することができる。ネットワーク２０４は、サーバおよび／または他のマシン２１０と、ユーザ２０６に関連付けられたユーザデバイス２０８との間の通信を容易にすることができる。
【００２２】
[0028]  いくつかの実施形態では、ユーザ２０６は、１つまたは複数の処理ユニット、コンピュータ可読記憶媒体およびディスプレイを含むことができる、ユーザデバイス２０８に関連付けられた様々な機能を実施するように対応するユーザデバイス２０８を動作させることができる。さらに、ユーザ２０６は、ユーザデバイス２０８を利用して、１つまたは複数のネットワーク２０４を介して他のユーザ２０６と通信することができる。
【００２３】
[0029]  ユーザデバイス２０８は、多様なデバイスタイプを表すことができ、いかなる特定のタイプのデバイスにも限定されない。ユーザデバイス２０８の例は、限定ではないが、固定コンピュータ、モバイルコンピュータ、組込み式コンピュータまたはそれらの組み合わせを含むことができる。例示的な固定コンピュータは、デスクトップコンピュータ、ワークステーション、パーソナルコンピュータ、シンクライアント、端末、ゲームコンソール、パーソナルビデオレコーダ（PVR）、セットトップボックス等を含むことができる。例示的なモバイルコンピュータは、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、埋込み型コンピューティングデバイス、電気通信デバイス、自動車用コンピュータ、パーソナルデータアシスタント（PDA）、ポータブルゲーミングデバイス、メディアプレーヤ、カメラ等を含むことができる。例示的な組込み式コンピュータは、ネットワーク対応テレビ、コンピューティングデバイスに含めるための統合コンポーネント、機器、マイクロコントローラ、デジタルシグナルプロセッサまたは任意の他の種類の処理デバイス等を含むことができる。コンピューティングデバイス１０２は、上述したユーザデバイス２０８の任意のものとすることができる。
【００２４】
[0030]  サービスプロバイダ２０２は、通信プラットフォームのユーザ間のインタラクションダイナミクスを測定するためのオンライン通信プラットフォームを含む通信プラットフォームからの特徴の集合を利用することができる任意のエンティティ、サーバ、プラットフォーム等とすることができる。さらに、示されるように、サービスプロバイダ２０２は、メモリ等の１つまたは複数の処理ユニット２１２およびコンピュータ可読媒体２１４を含むことができる１つまたは複数のサーバおよび／または他のマシン２１０を含むことができる。１つまたは複数のサーバおよび／または他のマシン２１０はデバイスを含むことができる。
【００２５】
[0031]  １つまたは複数のサーバおよび／または他のマシン２１０内に含まれ得るデバイスが、リソースを共有するために、負荷の平衡をとるために、性能を増大させるために、フェイルオーバーサポートもしくは冗長性を提供するために、または他の目的で、クラスタまたは他のグループ化された構成で動作する１つまたは複数のコンピューティングデバイスを含むことができるシナリオが、諸例により支持される。１つまたは複数のサーバおよび／または他のマシン２１０に含まれるデバイスは、従来のサーバタイプのデバイス、デスクトップコンピュータタイプのデバイス、モバイルデバイス、汎用タイプのデバイス、組込みタイプのデバイスおよび／またはウェアラブルタイプのデバイス等の多岐にわたるデバイスのカテゴリまたはクラスに属することができる。このため、デバイスは、サーバコンピュータとして示されているが、多様なデバイスタイプを含むことができ、特定のタイプのデバイスに限定されない。１つまたは複数のサーバおよび／または他のマシン２１０に含まれるデバイスは、限定ではないが、デスクトップコンピュータ、サーバコンピュータ、ウェブサーバコンピュータ、パーソナルコンピュータ、モバイルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、埋込み型コンピューティングデバイス、電気通信デバイス、自動車用コンピュータ、ネットワーク対応テレビ、シンクライアント、端末、パーソナルデータアシスタント（PDA）、ゲームコンソール、ゲーミングデバイス、ワークステーション、メディアプレーヤ、パーソナルビデオレコーダ（PVR）、セットトップボックス、カメラ、内蔵コンポーネントを表すことができる。内蔵コンポーネントは、コンピューティングデバイス、機器または任意の他の種類のコンピューティングデバイスに含めるためのものである。
【００２６】
[0032]  １つもしくは複数のサーバおよび／または他のマシン２１０に含めることができるデバイスは、例えばバスを介してコンピュータ可読媒体２１４に動作可能に結合された１つまたは複数の処理ユニット２１２を有する任意のタイプのコンピューティングデバイスを含むことができる。バスは、いくつかの例では、システムバス、データバス、アドレスバス、ＰＣＩバス、ミニＰＣＩバス、ならびに任意の多岐にわたるローカスバス、周辺バスおよび／または独立バスのうちの１つまたは複数を含むことができる。コンピュータ可読媒体２１４上に記憶された実施可能命令は、例えば、マニピュレータモジュール２１６、および、処理ユニット２１２によってロード可能かつ実行可能な他のモジュール、プログラムまたはアプリケーションを含むことができる。代替的にまたはさらに、本明細書に記載の機能は少なくとも部分的に、１つまたは複数のハードウェア論理コンポーネントまたはアクセラレータによって行うことができる。例えば、限定ではないが、用いることができる例示的なタイプのハードウェア論理コンポーネントは、フィールドプログラマブルゲートアレイ（FPGA）、特定用途向け集積回路（ASIC）、特定用途向け標準製品（ASSP）、システムオンチップシステム（SOC）、複雑なプログラム可能論理デバイス（CPLD）等を含む。例えば、アクセラレータは、ＦＰＧＡファブリックに埋め込まれたＣＰＵコース（CPU course）を含むＺＹＬＥＸまたはＡＬＴＥＲＡからのハイブリッドデバイス等のハイブリッドデバイスを表すことができる。
【００２７】
[0033]  １つまたは複数のサーバおよび／または他のマシン２１０に含めることができるデバイスは、デバイスが、ユーザ入力周辺デバイス（例えば、キーボード、マウス、ペン、ゲームコントローラ、音声入力デバイス、タッチ入力デバイス、ジェスチャ入力デバイス等）および／または出力周辺デバイス（例えば、ディスプレイ、プリンタ、オーディオスピーカ、触覚出力等）等の他のデバイスと通信することを可能にするバスに結合された１つまたは複数の入力／出力（I/O）インタフェースをさらに含むことができる。１つもしくは複数のサーバおよび／または他のマシン２１０に含めることができるデバイスは、コンピューティングデバイスと、ユーザデバイス２０８等の他のネットワーク接続されたデバイスとの間の通信を可能にするようにバスに結合された１つまたは複数のネットワークインタフェースも含むことができる。そのようなネットワークインタフェースは、ネットワークを介して通信を送受信するための１つまたは複数のネットワークインタフェースコントローラ（NIC）または他のタイプの送受信機デバイスを含むことができる。簡単にするために、いくつかのコンポーネントは、説明されるデバイスから省かれる。
【００２８】
[0034]  処理ユニット２１２は、例えば、ＣＰＵタイプの処理ユニット、ＧＰＵタイプの処理ユニット、フィールドプログラマブルゲートアレイ（FPGA）、別のクラスのデジタルシグナルプロセッサ（DSP）、またはいくつかの例においてＣＰＵによって駆動することができる他のハードウェア論理コンポーネントを表すことができる。例えば、限定ではないが、用いることができる例示的なタイプのハードウェア論理コンポーネントは、特定用途向け集積回路（ASIC）、特定用途向け標準製品（ASSP）、システムオンチップシステム（SOC）、複雑なプログラマブル論理デバイス（CPLD）等を含む。様々な実施形態では、処理ユニット２１２は、以下の開示においてさらに詳細に示され、説明されるように、サーバおよび／または他のマシン２１０に多岐にわたる機能を行わせる１つまたは複数のモジュールおよび／またはプロセスを実行することができる。さらに、処理ユニット２１２の各々が、プログラムモジュール、プログラムデータおよび／または１つもしくは複数のオペレーティングシステムを記憶することができる独自のローカルメモリを保有することができる。
【００２９】
[0035]  少なくとも１つの構成において、サーバおよび／または他のマシン２１０のコンピュータ可読媒体２１４は、サービスプロバイダ２０２とユーザ２０６との間のインタラクションを容易にするコンポーネントを含むことができる。例えば、コンピュータ可読媒体２１４は、複数のコンテンツにわたる操作の動的分割をハンドリングするための命令を実行し動作を行うようにデバイスを構成するための少なくとも１つの処理ユニット２１２を介して、コンピュータ可読命令、様々なデータ構造等として実施することができる少なくともマニピュレータモジュール３０４を備えることができる。これらの動作を行う機能は、複数のデバイスまたは単一のデバイスに含めることができる。
【００３０】
[0036]  コンピュータ可読媒体２１４は、様々な動作に関連付けられたアプリケーション２１８をさらに含むことができる。アプリケーション２１８は、ユーザデバイス２０８に関連付けられたＵＩ上の様々な動作に関連付けられたコンテンツをレンダリングすることができる。コンテンツは、視覚的要素を含むことができ、少なくともいくつかの例では、ユーザ２０６は、ユーザデバイス２０８上のＵＩ操作を介してコンテンツとインタラクトすることができる。
【００３１】
[0037]  １つまたは複数のサーバおよび／または他のマシン２１０の厳密な構成およびタイプに依拠して、コンピュータ可読媒体（例えば、コンピュータ可読媒体１０６およびコンピュータ可読媒体２１４）は、コンピュータ記憶媒体および／または通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報を記憶するための任意の方法または技術で実施される、揮発性メモリ、不揮発性メモリ、および／または他の永続的および／または補助的コンピュータ記憶媒体、リムーバブルおよび非リムーバブルコンピュータ記憶媒体を含むことができる。コンピュータメモリは、コンピュータ可読媒体の例である。このため、コンピュータ記憶媒体は、限定ではないが、ランダムアクセスメモリ（RAM）、スタティックランダムアクセスメモリ（SRAM）、ダイナミックランダムアクセスメモリ（DRAM）、相変化メモリ（PRAM）、リードオンリーメモリ（ROM）、消去可能プログラマブルリードオンリーメモリ（EPROM）、電気的に消去可能なプログラマブルリードオンリーメモリ（EEPROM）、フラッシュメモリ、コンパクトディスクリードオンリーメモリ（CD-ROM）、デジタル多用途ディスク（DVD）、光カードまたは他の光記憶媒体、小型ハードドライブ、メモリカード、磁気カセット、磁気テープ、磁気ディスクストレージ、磁気カードまたは他の磁気記憶デバイスもしくは媒体、ソリッドステートメモリデバイス、ストレージアレイ、ネットワークアタッチトストレージ、ストレージエリアネットワーク、ホストコンピュータストレージまたは任意の他の記憶メモリ、記憶デバイス、および／またはコンピューティングデバイスによるアクセスのための情報を記憶し維持するのに用いることができる記憶媒体を含む、デバイスの一部であるかまたはデバイスの外部にあるデバイスおよび／またはハードウェアコンポーネントに含まれる有形および／または物理的形態の媒体を含む。
【００３２】
[0038]  対照的に、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または、搬送波もしくは他の伝送メカニズム等の変調データ信号における他のデータを含む。本明細書において定義されるとき、コンピュータストレージ媒体は通信媒体を含まない。
【００３３】
[0039]  図３は、複数のコンテンツにわたる操作の動的分割の非同期ハンドリングのための例示的な動作環境３００を示す。例示的な動作環境３００は、図１のコンピュータ可読媒体１０６および／または図２のコンピュータ可読媒体２１４をより詳細に表すことができるコンピュータ可読媒体３００を示す。少なくとも１つの例では、コンピュータ可読媒体３００は、上述したような、マニピュレータモジュール３０４（例えば、マニピュレータモジュール１０８および／またはマニピュレータモジュール２１６）および１つまたは複数のアプリケーション３０６（例えば、１つまたは複数のアプリケーション１１０および／または１つまたは複数のアプリケーション２１８）を含むことができる。少なくとも１つの例では、マニピュレータモジュール３０４は、様々なモジュールと、複数のコンテンツにわたるＵＩ操作を非同期にハンドリングするためのコンポーネントと、を含む。少なくとも１つの例では、マニピュレータモジュール３０４は、インタラクティブコンテンツのグローバルツリー３１０、ジェスチャターゲッティングモジュール３１２、挙動ハンドリングモジュール３１４および結果モジュール３１６を記憶することができるインタラクティブコンテンツモジュール３０８を含む。
【００３４】
[0040]  インタラクティブコンテンツモジュール３０８は、ＵＩおよびその要素に関する情報を記憶することができる。例えば、インタラクティブコンテンツモジュール３０８は、ＵＩ上に提示される、ユーザ操作のために利用可能なコンテンツ、および特殊なコンテンツに関連付けられたインタラクティブプロパティに関する情報を記憶することができる。いくつかの例では、インタラクティブコンテンツモジュール３０８は、複数のＵＩ上に提示される、ユーザ操作のために利用可能なコンテンツ、および特殊なコンテンツに関連付けられたインタラクティブプロパティ関する情報を記憶することができる。少なくとも１つの例では、インタラクティブコンテンツモジュール３０８は、インタラクティブコンテンツを、ノードから作製されたツリーに記憶することができる。ツリーのルートノードは、ＵＩウィンドウを表すことができ、ツリーのサブノートは、ＵＩウィンドウ内のアプリケーションウィンドウを表すことができる。少なくとも１つの例では、アプリケーション（例えば、アプリケーション２１８）を表すサブノートは、親ノードとみなすことができる。親ノードの各々は、アプリケーション（例えば、アプリケーション２１８）に関連付けられた視覚コンテンツを表すサブノートを含むことができる。少なくとも１つの例では、親ノードに関連付けられたサブノートは子ノードとみなすことができる。
【００３５】
[0041]  インタラクティブコンテンツモジュール３０８は、システム（例えば、２００、３００）内に存在する視覚的要素も記憶することができる。少なくとも１つの例では、視覚的要素は、視覚的要素のツリーに記憶することができる。いくつかの例では、インタラクティブコンテンツツリーおよび視覚的要素のツリー内に維持されるインタラクティブコンテンツは、インタラクティブコンテンツのグローバルツリー３１０として統合することができる。統合の結果として、インタラクティブコンテンツのグローバルツリー３１０は、操作の各々を視覚的要素のうちの１つまたは複数と結びつけ、インタラクティブコンテンツモジュール３０８が、視覚的要素の各々と他の視覚的要素との間の関係および／または親子関係を理解することを可能にすることができる。インタラクティブコンテンツのグローバルツリー３１０を用いて、各コンテンツがどのように互いにインタラクトするかを決定することができる。インタラクティブコンテンツのグローバルツリー３１０は、インタラクティブコンテンツモジュール３０８内に記憶することができる。インタラクティブコンテンツのグローバルツリー３１０を利用して、いずれのコンテンツが所与の操作に含まれるかを判断し、ユーザ入力の受信と、操作の実現との間の応答時間を低減し、および／またはプロセス境界にわたって運動を調節することができる。
【００３６】
[0042]  少なくとも１つの例では、インタラクティブコンテンツのグローバルツリー３１０は、コンテンツの集合的な構成に基づいて、所与の操作に関連付けられたコンテンツを決定することを可能にすることができる。少なくともいくつかの例において、インタラクティブコンテンツのグローバルツリー３１０は、ユーザデバイス２０８における全てのプロセスにおいて動作するアプリケーションの各々を含む。インタラクティブコンテンツのグローバルツリー３１０は、いずれのプロセスがコンテンツの各々を生成しているかを考慮することなく、ＵＩ上に見られる個々のコンテンツにインタラクティブプロパティを結びつけることができる。したがって、ＵＩ操作は、様々なプロセスによって生成されるコンテンツ間で転送することができる。これは、ＵＩとインタラクトしているユーザ２０６が、様々なコンテンツが様々なプロセスによって生成されることに気づかないように、ＵＩ上のコンテンツの平滑で途切れないＵＩ操作を可能にする。
【００３７】
[0043]  インタラクティブコンテンツモジュール３０８は、ＵＩ操作に向けたユーザ入力を受信した後に、最初のヒットテストを行うための視覚ツリーを用いることができる。最初のヒットテストに基づいて、マニピュレータモジュールは、ジオメトリまたはポイント値が、所望のＵＩ操作を実現するためのコンテンツのレンダリングされたコンテンツ内に収まっているか否かを判断することができる。ヒットテストは、非ＵＩ要素（視覚的要素またはグラフィックオブジェクト等）および／または複数のオブジェクト（重複するオブジェクト等）に対して行うことができる。インタラクティブコンテンツモジュール３０８は、ヒットテストの結果に基づいて、インタラクティブコンテンツのチェーンを決定することができる。少なくとも１つの例では、複数のユーザ入力が存在する場合、インタラクティブコンテンツの個々のチェーンを合わせて、マルチユーザ入力操作に関与するインタラクティブコンテンツを表すツリーを確立することができる。インタラクティブコンテンツモジュール３０８は、インタラクティブコンテンツの結果として得られるツリーを、インタラクティブコンテンツのグローバルツリー３１０と比較して、ユーザ入力に基づいて潜在的に操作され得る個々のコンテンツを特定することができる。ユーザ２０６がコンテンツとインタラクトするとき、維持されるインタラクティブコンテンツのグローバルツリー３１０は、個々のコンテンツをどのように操作することができまたは動かすことができるかを特定することができる。コンテンツがインタラクトすることができる方法を維持することにより、以前のシステムにおいて以前に受けた決定遅延を低減することができる。
【００３８】
[0044]  少なくとも１つの例では、ユーザ２０６は、新たなおよび／または異なるＵＩ操作に向けられた追加の入力を提供することができる。いくつかの例では、ユーザ２０６は、進行中のＵＩ操作中にさらなる入力を提供することができる。インタラクティブコンテンツのグローバルツリー３１０を維持することによって、インタラクティブコンテンツモジュール３０８は、ユーザ２０６がさらなる入力を提供するとすぐに、ＵＩ操作を実現することができる。少なくとも１つの例では、インタラクティブコンテンツモジュール３０８は、視覚ツリーを用いて、いずれのジオメトリまたはポイント値が、所望のＵＩ操作を実現するための視覚的要素のレンダリングコンテンツ内に収まっているかを特定するために、追加のヒットテストを行うことができる。ヒットテストを行った後、インタラクティブコンテンツモジュール３０８は、ユーザ入力によって所望されるＵＩ操作を実現することができる。
【００３９】
[0045]  ジェスチャターゲッティングモジュール３１２は、いずれのコンテンツが、複数のコンテンツに影響を及ぼすＵＩ操作によって生じる特定のモーションを受信し、および／または行うことができるかを決定するためのジェスチャターゲッティングロジックを記憶する。いずれのコンテンツがモーションを受信し、および／または行うかを判断するために、ジェスチャターゲッティングモジュール３１２は、特定のコンテンツによってサポートされるモーション、コンテンツの変換および／または他のコンテンツのモーションを検討する。さらに、ジェスチャターゲッティングロジックは、コンテンツが連鎖反応をどのように行うか、または子コンテンツが境界に達したときに親コンテンツと子コンテンツとの間のインタラクションをどのように行い、結果として親コンテンツを操作することができるかの、アルゴリズムおよびポリシルールを含む。
【００４０】
[0046]  少なくとも１つの例では、ジェスチャターゲッティングモジュール３１２は、インタラクティブコンテンツモジュール３０８に記憶されたインタラクティブコンテンツのグローバルツリー３１０をトラバースする。ジェスチャターゲッティングモジュール３１２は、特定のコンテンツに関連付けられた親ノードから開始して、特定のコンテンツに関連付けられた子ノードに続いて、インタラクティブコンテンツのグローバルツリー３１０をトラバースし、特定のコンテンツのために可能な操作のタイプを決定する。さらに、ジェスチャターゲッティングモジュール３１２は、親ノードが関連する子ノードに課した制約または子ノードが関連する親ノードに課した制約を特定することができる。
【００４１】
[0047]  次に、ジェスチャターゲッティングモジュール３１２は、子ノードから開始して、親ノードに続き、反対方向にインタラクティブコンテンツのグローバルツリー３１０をトラバースする。各子ノードは、子ノードが操作をサポートするか否か、子ノードがコンテンツによってサポートされる座標空間に操作を投影することができるか否かに依拠して、子ノードまたはその親ノードが行うことができる操作を特定する。子ノードからの操作が禁止されている場合、ジェスチャターゲッティングモジュール３１２は、コンテンツによってサポートされる座標空間に操作を投影し続けることができる。一方、操作が子ノードによって許可されている場合、ジェスチャターゲッティングモジュール３１２は、座標空間に投影されるプロセスからそのような操作をフィルタリングすることができる。任意のサポートされない（または行われない）操作は、サポートされる操作の座標空間に投影することができる。結果として得られるＵＩ操作がこのコンテンツによってサポートされる操作を含まず、かつ操作が親ノードおよび子ノードの制限に基づいて禁止されない場合、コンテンツは、モーションを行い、ツリーの残りの部分をトラバースし続ける前に、操作を行ったものとしてマーキングすることができる。上記の逆トラバースにより、子ノードは、親ノードの前に操作を処理することが可能になり、異なるノードが異なる操作を行うこともできるようにする。
【００４２】
[0048]  少なくとも１つの例では、ジェスチャターゲッティングモジュール３１２は、ユーザ２０６が複数のユーザ入力および／またはユーザデバイスを介して親コンテンツおよび子コンテンツとインタラクトするときに、ユーザ入力をどのように配分することができるかを決定することができる。ジェスチャターゲッティングモジュール３１２は、親コンテンツおよび子コンテンツが個々のユーザ入力をどのように分担するかを決定することができる。少なくとも１つの例では、親コンテンツは全ての操作を行うことができる。他の例では、親コンテンツは、子コンテンツが操作を行うことを許可することができる。いくつかの例では、親コンテンツは、子コンテンツが、操作を行うために、他のコンテンツに対する操作をフィルタリングすることを可能にすることができる。ジェスチャターゲッティングモジュール３１２は、ユーザ２０６が、インタラクティブコンテンツのグローバルツリー３１０をトラバースするジェスチャターゲッティングモジュール３１２に基づいて、複数のユーザ入力および／またはユーザデバイスを介して親コンテンツおよび子コンテンツとインタラクトするときにユーザ入力をどのように配分することができるかを決定することができる。
【００４３】
[0049]  少なくとも１つの例では、ユーザ２０６は、２つのコンテンツに向けられた対角ジェスチャを入力することができる。少なくとも１つの例では、１つのコンテンツに関連付けられた１つの子ノードが、垂直の動きに限定される場合があり、他のコンテンツに関連付けられた別の子ノードが、水平の動きに限定される場合がある。インタラクティブコンテンツのグローバルツリー３１０の逆トラバースの結果として、垂直の動きに限定されるコンテンツに関連付けられた子ノードは、垂直のモーションを行うことができ、水平のモーションを、コンテンツによってサポートされる座標空間に投影することができる。水平の動きに限定された他のコンテンツに関連付けられた他の子ノードは、水平の動きを行うことができる。結果として、双方のコンテンツが、それぞれの方向に動くことができ、それによってコンテンツはユーザ入力に貼り付いているように見える。
【００４４】
[0050]  ジェスチャターゲッティングモジュール３１２は、コンテンツ上に存在する複数のユーザ入力、またはコンテンツの異なる回転にかかわらず、複数のコンテンツを共に動かすことができる。少なくとも１つの例では、ユーザ２０６がタッチ入力を介してユーザデバイス２０８とインタラクトしており、かつ、１本の指が子コンテンツ上にあり、１本の指が親コンテンツ上にある場合、ジェスチャターゲッティングモジュール３１２は、子および親の双方を動かして、コンテンツをユーザ２０６の指の下に維持することができる。親コンテンツ内の子コンテンツのうちの１つが回転される場合、ジェスチャターゲッティングモジュール３１２は、ユーザ２０６の指の直下に子コンテンツを維持するために、親コンテンツにおけるさらなるモーションを生成することができる。
【００４５】
[0051]  挙動ハンドリングモジュール３１４は、複数の規準を利用して、コンテンツに対して行われる動作を構成することができる。少なくとも１つの例では、挙動ハンドリングモジュール３１４は、ジェスチャのタイプ、ユーザ入力の現在の状態（例えば、アクティブまたはパッシブ）、および／または他のコンテンツによって行われているモーションを検討することができる。ジェスチャのタイプは、タップ、ホールド、パンおよび／またはズーム等のジェスチャを含むことができる。パンおよびズームジェスチャの方向は別個に構成することができる。例えば、コンテンツは、右側へのパンを受容することができるように構成され得るが、左側へのパンを禁止するように構成され得る。挙動ハンドリングモジュール３１４は、ユーザ入力の現在の状態、またはタッチ、ペン、マウス、動き等の任意のタイプの入力モダリティにわたるユーザ入力の状態も検討することができる。少なくとも１つの例では、ユーザ２０６がタッチ入力を介してユーザデバイス２０８とインタラクトする場合、挙動ハンドリングモジュール３１４は、スクリーンと接触する指の本数に基づいて、様々なジェスチャ構成を提供することができる。別の例では、ユーザ２０６がペン入力を介してユーザデバイス２０８とインタラクトする場合、挙動ハンドリングモジュール３１４は、バレルボタンの状態またはペンの向きに基づいて、様々なコンテンツに対し入力をルーティングすることができる。
【００４６】
[0052]  挙動ハンドリングモジュール３１４は、他のコンテンツによって行われるモーションを検討することもできる。例えば、親コンテンツは、親コンテンツが行っている操作に基づいて操作を行うことを子コンテンツに禁止することができる。例えば、ユーザ２０６がユーザデバイス２０８上で長い文書を読んでいる場合、この長い文書に関連付けられたコンテンツは、他のコンテンツが垂直以外の任意の方向にパンすることを禁止することができる。さらに、親コンテンツは、子コンテンツによって行われている操作に基づいて操作を行うことを自身に禁止することができる。少なくとも１つの例では、ユーザ２０６が、ユーザ２０６に複数のパズルピースを提供するアプリケーションとインタラクトしており、かつユーザ２０６が２つ以上のパズルピースを動かすためにＵＩ上に指を置く場合、親コンテンツに、ズーム操作を禁止することができる。ズーム操作は、禁止されていない場合、ユーザ２０６が親コンテンツに関連付けられた複数のユーザ入力を与える結果として生じる。別の例では、アプリケーション（例えば、音楽をミックスするためのディスクジョッキーアプリケーション）は、ユーザ２０６に複数のスライダ制御部を提供することができる。スライダ制御部とインタラクトするために、ユーザ２０６は、同時に複数のスライダをパンすることができる。通常、複数のユーザ入力の結果としてズーム機能が生じる。一方、親コンテンツはズーム操作を禁止することができ、代わりに、ズーム機能を実現することなく子コンテンツが同時にパンすることを可能にすることができる。
【００４７】
[0053]  挙動ハンドリングモジュール３１４は、ＵＩ操作中にインタラクト可能なコンテンツの構成に対する動的変化も可能にする。少なくとも１つの実施形態において、挙動ハンドリングモジュール３１４は、ユーザ入力を受信する前にコンテンツのための構成を宣言し、この構成は、少なくとも部分的に、インタラクティブコンテンツのグローバルツリー３１０に基づくことができる。動的変化は、ＵＩ操作中に、挙動ハンドリングモジュール３１４がモーションまたは操作の方向を変更することを可能にする。例えば、コンテンツが境界に達するまで移動する場合、挙動ハンドリングモジュール３１４は、インタラクティブコンテンツのグローバルツリー３１０に基づいて、コンテンツをどのように再構成するかを決定することができる。
【００４８】
[0054]  少なくとも１つの例では、コンテンツは、単一の操作中に行った任意のモーションを累積することができる。結果としてのモーションは、親コンテンツおよび子コンテンツに関連付けられた連鎖インタラクションに影響を及ぼすことができる。上述したように、連鎖は、子コンテンツが限界に達するときの親コンテンツと子コンテンツとの間のインタラクションを記述し、結果として、親コンテンツは移動することができる。少なくとも１つの例では、ユーザ２０６は、特定の方向に子コンテンツをパンすることによって子コンテンツとインタラクトすることができる。子コンテンツが境界に達すると、子コンテンツを、ＵＩ上でさらに移動しないように制限することができ、親コンテンツは移動し続けることができる。親コンテンツが動いている方向と反対方向における任意のパンを、親コンテンツが元の位置に戻るまで制限することができる。すなわち、子コンテンツは、反対方向に戻る動きを集積するまで、反対方向に移動することができない。
【００４９】
[0055]  ジェスチャターゲッティングモジュール３１２および挙動ハンドリングモジュール３１４は、ユーザ操作を行うためのコンテンツ、およびコンテンツがどのように操作されることになるかを決定し、結果モジュール３１６は、結果をターゲットの宛先に送達して、ＵＩ上の個々のコンテンツを操作することができる。ターゲットの宛先は、アプリケーションまたはコンテンツとすることができる。少なくとも１つの例では、ジェスチャターゲッティングモジュール３１２および挙動ハンドリングモジュール３１４は、特定のユーザ入力を処理することができ、結果モジュール３１６は、ターゲットの宛先を返すことができるか、または所定の期間が経過するまでターゲット決定を遅らせることができる。少なくとも１つの例では、結果モジュール３１６は、決定を解釈し、入力をターゲットの宛先にルーティングするための操作管理モジュール３１８および低レベル入力スタックを含むことができる。ターゲットの宛先は、任意の一般的な入力受信者（例えば、Win32 HWNDまたはALPCエンドポイント）とすることができる。ジェスチャターゲッティングモジュール３１２および挙動ハンドリングモジュール３１４は、特定のユーザ入力のためのターゲットを特定せず、結果モジュール３１６は、新たな入力または経過期間のいずれかによって、後の時点においてターゲットが決定されるまで、入力をバッファリングすることができる。ジェスチャターゲッティングモジュール３１２および挙動ハンドリングモジュール３１４がターゲットコンテンツを決定すると、ユーザ入力のための任意の以前にバッファリングされた入力を、発生順にターゲットの宛先に再割当てすることができる。
【００５０】
[0056]  少なくとも１つの例では、ユーザ２０６は、２つ以上の入力を提供することができる。例えば、ユーザ２０６は、同時にまたはほぼ同時に、タッチスクリーン上で２本の指を用いることができる。少なくとも１つの例では、結果モジュール３１６は、後続の入力のためのターゲットが決定されるまで、第１の入力のためのターゲットを返すのを遅延させることができる。少なくとも１つの例では、操作管理モジュール３１８は、後続の入力のためのターゲットが決定されるまで入力をバッファリングすることができる。決定は、新たなユーザ入力または経過時間の受信に基づくことができる。バッファリングは、結果モジュール３１６が、第１の入力および第２の入力がコンテンツの同じターゲットに送信されるべきか否か、および第１の入力および第２の入力が、他のコンテンツの子コンテンツであるコンテンツに関連付けられているか否かを判断することも可能にすることができる。
【００５１】
[0057]  いくつかの例では、ユーザ２０６は、自身の入力を特定のコンテンツに向け、その後、同じユーザ入力における異なるコンテンツに入力をリダイレクトすることができる。そのような例では、結果モジュール３１６は、各コンテンツに、入力送達における変化を通知し、初期コンテンツが、追加の入力が予期されないことを知り、後続のコンテンツが、入力の受信を開始することを知るようにする。そのような通知を達成するために、結果モジュール３１６は、各コンテンツに通知を送信することができる。キャプチャ損失通知は、ユーザ入力の元のターゲットであったコンテンツに、そのコンテンツがもはや追加の入力を受信しないことを通知することができる。すなわち、ユーザ入力がコンテンツから離れるかまたは転送されることに応答して、結果モジュール３１６はそのコンテンツに、そのコンテンツがもはや入力を受信しないことを通知することができる。キャプチャ取得通知は、新たなターゲットであるコンテンツに、そのコンテンツが次に入力を受信することを通知することができる。すなわち、ユーザ入力が新たなコンテンツで開始し、および／またはコンテンツに転送されることに応答して、結果モジュール３１６はコンテンツに、そのコンテンツがユーザ入力を受信することを前もって通知することができる。キャプチャ終了通知は、全てのコンテンツに、ユーザ操作がユーザデバイス２０８を解放したことを通知することができる。
【００５２】
[0058]  上述した通知は、操作終了効果（例えば、スナップポイント）を有する子コンテンツから親コンテンツへの連鎖に有用とすることができる。例えば、ユーザ２０６は、子コンテンツにその境界に到達させるようにパンすることができる。境界に到達すると、結果モジュール３１６は、キャプチャ損失通知を提供して、子コンテンツに、もはや入力を受信しないこと、および何らかの他のコンテンツが同じユーザ操作のための入力を受信することを通知することができる。結果として、子コンテンツは、任意の操作終了効果を遅らせることができる。さらに、子コンテンツがその境界に到達し、キャプチャ損失通知を受信した結果として、親コンテンツは、それがユーザ入力のターゲットであることを示す、キャプチャ取得通知を受信することができる。キャプチャ取得通知は、親コンテンツが、子コンテンツから親コンテンツへのユーザ入力の遷移を、新たなユーザ操作と区別することを可能にすることができる。ユーザ２０６がユーザデバイス２０８を解放するとき、キャプチャ終了通知を全てのコンテンツに提供することができ、それによって、各々が、独自の操作終了効果（例えば、スナップポイント）を実現することができる。
【００５３】
[0059]  上述したように、結果モジュール３１６は、各コンテンツに適用することができる任意の動きの変換を計算するためのジェスチャターゲッティングロジックを利用することができる。ジェスチャターゲッティングロジックを用いて、アプリケーションからの作業を必要とすることなく、コンテンツに直接変換を適用することができる。変換を直接適用することに加えて、各変換は、コンテンツごとの操作の構造としてアプリケーションに曝される場合がある。例えば、ジェスチャターゲッティングロジックが決定することができるパンおよびズームモーションは、所与の入力フレームについて各コンテンツによって行うことができる。少なくともいくつかの実施形態では、複数のコンテンツが、モーションを同時にまたは実質的に同時に行うことができる。
【００５４】
[0060]  図４は、ＵＩ１１８等のＵＩ上でコンテンツを操作するためのプロセス４００を示す。
【００５５】
[0061]  ブロック４０２は、インタラクティブコンテンツストレージにおいて情報を収集し記憶するインタラクティブコンテンツモジュール３０８を示す。上述したように、インタラクティブコンテンツモジュール３０８は、ＵＩおよびその要素に関する情報を記憶することができる。例えば、インタラクティブコンテンツモジュール３０８は、ＵＩ上に提示される特殊なコンテンツに関連付けられたユーザ操作およびインタラクティブプロパティに利用可能なコンテンツに関する情報を記憶することができる。インタラクティブコンテンツモジュール３０８は、システム（例えば、２００、３００）内に存在する視覚的要素も記憶することができる。少なくとも１つの例では、視覚的要素のツリー内に視覚的要素を記憶することができる。いくつかの例では、インタラクティブコンテンツツリーおよび視覚的要素のツリー内に維持されるインタラクティブコンテンツは、インタラクティブコンテンツのグローバルツリー３１０内に統合することができる。
【００５６】
[0062]  ブロック４０４は、ＵＩにおけるユーザ入力の受信を示す。上述したように、ユーザ２０６は、多数のタイプのユーザ入力および入力デバイスを介してＵＩとインタラクトすることができる。さらに、ユーザ２０６は複数のＵＩとインタラクトすることができる。
【００５７】
[0063]  ブロック４０６は、個々のコンテンツを特定するインタラクティブコンテンツモジュール３０８を示す。上述したように、インタラクティブコンテンツモジュール３０８は、ＵＩ操作に向けられたユーザ入力を受信した後、最初のヒットテストを行うための視覚ツリーを用いることができる。最初のヒットテストに基づいて、マニピュレータモジュール３０４は、ジオメトリまたはポイント値が、所望のＵＩ操作を実現するためのコンテンツのレンダリングされたコンテンツ内に収まるか否かを判断することができる。いくつかの例では、インタラクティブコンテンツモジュール３０８は、ヒットテストの結果に基づいてインタラクティブコンテンツのチェーンを決定することができる。
【００５８】
[0064]  ブロック４０８は、個々のコンテンツに利用可能な操作を決定するインタラクティブコンテンツモジュール３０８を示す。インタラクティブコンテンツモジュール３０８は、ヒットテストの結果を、インタラクティブコンテンツのグローバルツリー３１０と比較して、上述したように、現在のユーザ入力に基づいて潜在的に操作され得る個々のコンテンツを特定することができる。ユーザ２０６がコンテンツとインタラクトするとき、維持されるインタラクティブコンテンツのグローバルツリー３１０は、個々のコンテンツをどのように動かすかまたは他の形で操作することができるかを特定することができる。
【００５９】
[0065]  ブロック４１０は、ＵＩ上の個々のコンテンツの操作を引き起こす結果モジュール３１６を示す。少なくとも１つの例では、結果モジュール３１６は、ＵＩ上の個々のコンテンツの表現を直接変更することができる。他の例では、結果モジュール３１６は、１つまたは複数のアプリケーション３０６に入力を送信して、ＵＩ上の個々のコンテンツを直接操作する代わりに、個々のコンテンツを操作することができる。
【００６０】
[0066]  図５は、ＵＩ１１８等のＵＩ上の視覚コンテンツを表すためのプロセス５００を示す。
【００６１】
[0067]  ブロック５０２は、ＵＩ上のユーザ入力を受信することを示す。上述したように、ユーザ２０６は、多数のユーザ入力および入力デバイスを介して、１つまたは複数のＵＩとインタラクトすることができる。
【００６２】
[0068]  ブロック５０４は、ＵＩ上で操作することができる視覚コンテンツを決定するジェスチャターゲッティングモジュール３１２を示す。いずれのコンテンツが操作を行うかを決定するために、ジェスチャターゲッティングモジュール３１２は、上述したように、特定のコンテンツによってサポートされる操作、コンテンツの変換および／または他のコンテンツの操作を検討するジェスチャターゲッティングロジックを用いる。
【００６３】
[0069]  ブロック５０６は、ＵＩ上で視覚コンテンツの操作を行うための視覚コンテンツを決定する挙動ハンドリングモジュール３１４を示す。挙動ハンドリングモジュール３１４は、コンテンツに対し行われる操作を構成するための複数の判断規準を利用することができる。上述したように、挙動ハンドリングモジュール３１４は、ジェスチャのタイプ、ユーザ入力の現在の状態および／または他のコンテンツによって行われているモーションを考慮することができる。
【００６４】
[0070]  ブロック５０８は、ＵＩ上の２つ以上の視覚コンテンツの操作の結果を提示する結果モジュール３１６を示す。
【００６５】
[0071]  図６は、インタラクティブコンテンツのグローバルツリー３１０の順方向トラバースのためのプロセス６００を示す。ブロック６０２は、インタラクティブコンテンツのグローバルツリー３１０をトラバースするジェスチャターゲッティングモジュール３１２を示す。ジェスチャターゲッティングモジュール３１２は、特定のコンテンツに関連付けられた親ノードから開始して、特定のコンテンツに関連付けられた子ノードに続き、インタラクティブコンテンツのグローバルツリー３１０をトラバースし、特定のコンテンツの場合に可能なタイプの操作を決定する。ブロック６０４は、視覚コンテンツがインタラクティブコンテンツのグローバルツリー３１０に記憶されたインタラクションに少なくとも部分的に基づいて行うことができる操作を決定するジェスチャターゲッティングモジュール３１２を示す。ブロック６０６は、親ノードの禁止事項を決定するジェスチャターゲッティングモジュール３１２を示す。上述したように、少なくとも１つの例では、親ノードは、子ノードが何の操作を行うことができるかに対し制限を課すことができる。結果として、ジェスチャターゲッティングモジュール３１２は、１つまたは複数の子ノードが、親ノードの制約に基づいて、行うことを許可されない操作を決定する。
【００６６】
[0072]  図７は、インタラクティブコンテンツのグローバルツリー３１０の逆トラバースのためのプロセス７００を示す。ブロック７０２は、子ノードから開始して、親ノードに続き、逆方向にインタラクティブコンテンツのグローバルツリー３１０をトラバースするジェスチャターゲッティングモジュール３１２を示す。
【００６７】
[0073]  ブロック７０４は、各子ノードが子ノードにおいて行うことができる操作を行うジェスチャターゲッティングモジュール３１２を示す。上述したように、各子ノードは、子ノードまたはその親ノードが行うことができる操作を特定し、子ノードは、コンテンツによってサポートされる座標空間に操作を投影する、子ノードからの操作が禁止されている場合、ジェスチャターゲッティングモジュール３１２は、コンテンツによってサポートされる座標空間に操作を投影し続けることができる。操作が子ノードによって許可される場合、ジェスチャターゲッティングモジュール３１２は、座標空間に投影されるプロセスからそのような操作をフィルタリングすることができる。
【００６８】
[0074]  ブロック７０６は、任意の残りの操作を、処理のためにインタラクティブコンテンツのグローバルツリー３１０の他のノードに渡すことを示す。サポートされていない（または行われていない）操作を、サポートされる操作の座標空間に投影することができる。
【００６９】
結論
[0075]  最後に、様々な実施形態は、構造的特徴および／または方法動作に固有の言葉で説明されているが、添付の表示において定義されている主題は、必ずしも記載されている特定の特徴または動作に限定されない。むしろ、特定の特徴および動作は、特許請求される主題を実施する例示的な形態として開示される。
【００７０】
例示的な条項
[0076]  Ａ．コンピュータ実施方法であって、インタラクティブコンテンツストレージにおいて、ユーザインタフェース（UI）上の操作のために利用可能なコンテンツに関する情報を収集することと、ＵＩを介してユーザ入力を受信することと、ユーザ入力の受信に応答して、ユーザ入力が関係する少なくとも１つのコンテンツを特定することと、インタラクティブコンテンツストレージ内の少なくとも１つのコンテンツを特定して、少なくとも１つのコンテンツのために利用可能な操作を決定することと、少なくとも１つのコンテンツのために利用可能な操作を決定することに応答して、少なくとも１つのコンテンツのために利用可能な操作に少なくとも部分的に基づいて、ＵＩにおける少なくとも１つのコンテンツの操作を引き起こすことと、を含む、コンピュータ実施方法。
【００７１】
[0077]  Ｂ．少なくとも１つのコンテンツを特定することは、２つ以上のコンテンツを特定することを含み、２つ以上のコンテンツのうちの少なくともいくつかは、異なるアプリケーションによって生成される、段落Ａに記載のコンピュータ実施方法。
【００７２】
[0078]  Ｃ．インタラクティブコンテンツストレージは、個々のコンテンツのために利用可能なインタラクションに関する情報と、操作のために利用可能なコンテンツ間のインタラクティブな関係を特定するための、操作のために利用可能なコンテンツに関する情報とを含むインタラクティブコンテンツのツリーを含む、段落ＡまたはＢに記載のコンピュータ実施方法。
【００７３】
[0079]  Ｄ．ユーザ入力はタッチ入力を含み、タッチ入力は２つ以上の接触点を含み、本方法は、少なくとも１つのコンテンツおよび２つ以上の接触点に基づいて、インタラクティブコンテンツのチェーンを決定することをさらに含む、段落Ｃに記載のコンピュータ実施方法。
【００７４】
[0080]  Ｅ．少なくとも１つのコンテンツのために利用可能な操作を決定するためにインタラクティブコンテンツのツリーにおいてインタラクティブコンテンツのチェーンを特定することをさらに含む、段落Ｄに記載のコンピュータ実施方法。
【００７５】
[0081]  Ｆ．ＵＩを介して新たなユーザ入力を受信することと、インタラクティブコンテンツのツリーに少なくとも部分的に基づいて、ＵＩにおける個々のコンテンツの操作を引き起こすことと、をさらに含む、段落Ｃに記載のコンピュータ実施方法。
【００７６】
[0082]  Ｇ．少なくともマニピュレータモジュールおよび１つまたは複数のアプリケーションを記憶するコンピュータ可読媒体と、コンピュータ可読媒体に動作可能に接続された処理ユニットであって、処理ユニットは、少なくともマニピュレータモジュールおよび１つまたは複数のアプリケーションを実行するように適合される、処理ユニットと、を備え、マニピュレータモジュールは、１つまたは複数のアプリケーションに関連付けられたコンテンツ間のインタラクティブな関係を記憶および定義するように構成されるインタラクティブコンテンツモジュールと、複数のコンテンツに関連付けられたユーザ入力によって引き起こされる操作を行うための特定のコンテンツを決定するように構成されるジェスチャターゲッティングモジュールと、を備える、システム。
【００７７】
[0083]  Ｈ．ジェスチャのタイプ、ユーザ入力の現在の状態、または複数のコンテンツのうちの個々のコンテンツによって行われている操作に基づいて、複数のコンテンツにおいて行われる動作を決定するように構成される挙動ハンドリングモジュールをさらに備える、段落Ｇに記載のシステム。
【００７８】
[0084]  Ｉ．結果を１つまたは複数のアプリケーションに送達するか、または特定のコンテンツによって行われる操作を直接送達するように構成される結果モジュールをさらに備える、段落ＧまたはＨに記載のシステム。
【００７９】
[0085]  Ｊ．コンテンツ間のインタラクティブな関係は、インタラクティブコンテンツのツリー内に記憶および定義され、ジェスチャターゲッティングモジュールは、１つまたは複数のアプリケーションに関連付けられた親ノードから開始して、コンテンツに関連付けられた子ノードに続いて、インタラクティブコンテンツのツリーをトラバースし、コンテンツのために許容可能な操作のタイプを決定するようにさらに構成される、段落Ｇ〜Ｉのいずれか１つに記載のシステム。
【００８０】
[0086]  Ｋ．親ノードは子ノードの操作を制限し、子ノードは親ノードの操作を制限する、段落Ｊに記載のシステム。
【００８１】
[0087]  Ｌ．親ノードから開始して、子ノードに続いて、インタラクティブコンテンツのツリーをトラバースすることに応答して、ジェスチャターゲッティングモジュールは、子ノードから開始して、親ノードに続いて、インタラクティブコンテンツのツリーをトラバースし、個々の子ノードが行うことができる操作を特定するようにさらに構成される、段落Ｊに記載のシステム。
【００８２】
[0088]  Ｍ．結果モジュールは、ユーザ入力の受信に応答してまたは後の時点で結果を送達するようにさらに構成される、段落Ｇ〜Ｉ、ＫまたはＬのいずれかに記載のシステム。
【００８３】
[0089]  Ｎ．結果を後の時点に送達することは、新たな入力の受信時、または所定の期間の経過後に結果を送達することを含む、段落Ｍに記載のシステム。
【００８４】
[0090]  Ｏ．結果モジュールは、複数のコンテンツのうちの個々のコンテンツに通知を提供するようにさらに構成され、通知を提供することは、ユーザ入力が個々のコンテンツから離れることに応答して、個々のコンテンツにキャプチャ損失通知を提供することと、ユーザ入力が新たなコンテンツに転送されることに応答して、キャプチャ取得通知を提供することと、ユーザ入力の終了に応答して、キャプチャ終了通知を提供することと、を含む、段落Ｇ〜Ｉ、Ｋ、ＬまたはＮのいずれか１つに記載のシステム。
【００８５】
[0091]  Ｐ．結果モジュールは、１つまたは複数のアプリケーションからの処理を必要とすることなく、複数のコンテンツに対し変換を行うようにさらに構成される、段落Ｇ〜Ｉ、Ｋ、Ｌ、ＮまたはＯのいずれか１つに記載のシステム。
【００８６】
[0092]  Ｑ．命令を用いて符号化された１つまたは複数のコンピュータ可読媒体であって、命令は、プロセッサによって実行されると、少なくとも１つのアプリケーションに関連付けられた２つ以上の視覚コンテンツを操作することに向けられたユーザ入力を受信することであって、２つ以上の視覚コンテンツはユーザインタフェース（UI）上に提示されていることと、ユーザ入力およびインタラクティブコンテンツの集合体に少なくとも部分的に基づいてＵＩを介して操作することができる少なくとも２つの視覚コンテンツを決定することと、少なくとも部分的にインタラクティブコンテンツの集合体に基づいて、操作を行うための、少なくとも２つの視覚コンテンツのうちの個々の視覚コンテンツを決定することと、ＵＩ上に２つ以上の視覚コンテンツの操作結果を提示することと、を含む動作を行うようにコンピュータを構成する、１つまたは複数のコンピュータ可読媒体。
【００８７】
[0093]  Ｒ．インタラクティブコンテンツの集合体はインタラクティブコンテンツのツリーを含み、操作を行うための、少なくとも２つの視覚コンテンツのうちの個々の視覚コンテンツを決定することは、少なくとも１つのアプリケーションに関連付けられた親ノードから開始して、親ノードに関連付けられた１つまたは複数の子ノードに続いて、インタラクティブコンテンツのツリーをトラバースすることと、少なくとも２つの視覚コンテンツが行うことが可能な操作を決定することと、親ノードからの制約に基づいて、１つまたは複数の子ノードが行うことを許可されない禁止された操作を決定することと、を含む、段落Ｑに記載の１つまたは複数のコンピュータ可読媒体。
【００８８】
[0094]  Ｓ．操作を行うための、少なくとも２つの視覚コンテンツのうちの個々の視覚コンテンツを決定することは、１つまたは複数の子ノードから開始して、親ノードに続いて、逆の順序でインタラクティブコンテンツのツリーをトラバースすることと、子ノードの各々が行うことができる操作の決定に基づいて、子ノードの各々が子ノードにおいて行うことができる操作を行うことと、任意の残りの操作を、行うためにインタラクティブコンテンツのツリーの他のノードに渡すことと、をさらに含む、段落Ｒに記載の１つまたは複数のコンピュータ可読媒体。
【００８９】
[0095]  Ｔ．２つ以上の視覚コンテンツの各々が異なるアプリケーションに関連付けられている、段落ＱまたはＳのいずれか１つに記載の１つまたは複数のコンピュータ可読媒体。
【図１】
2017531220.tif 000003
【図２】
2017531220.tif 000004
【図３】
2017531220.tif 000005
【図４】
2017531220.tif 000006
【図５】
2017531220.tif 000007
【図６】
2017531220.tif 000008
【図７】
2017531220.tif 000009
【手続補正書】
【提出日】平成28年9月2日(2016.9.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インタラクティブコンテンツストレージに記憶するための、ユーザインタフェース（UI）上の操作のために利用可能なコンテンツに関する情報を収集することであって、前記インタラクティブコンテンツストレージは、
前記個々のコンテンツのために利用可能なインタラクションに関する情報、および
前記操作のために利用可能なコンテンツ間のインタラクティブな関係を特定するための、前記操作のために利用可能なコンテンツに関する情報、
を含むインタラクティブコンテンツのツリーを含むことと、
前記ＵＩを介してユーザ入力を受信することと、
前記ユーザ入力の受信に応答して、前記ユーザ入力が関係する２つ以上のコンテンツを特定することと、
前記インタラクティブコンテンツストレージ内の前記２つ以上のコンテンツを特定して、前記２つ以上のコンテンツの利用可能な操作を決定することであって、前記２つ以上のコンテンツのうちの少なくともいくつかは、異なるアプリケーションによって生成されることと、
前記２つ以上のコンテンツの前記利用可能な操作を決定することに応答して、前記２つ以上のコンテンツの前記利用可能な操作に少なくとも部分的に基づいて、前記ＵＩにおける前記２つ以上のコンテンツの操作を引き起こすことと、を含む、
コンピュータ実施方法。
【請求項２】
前記ユーザ入力は、同時のまたはほぼ同時の前記ＵＩを介する２つの入力を含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記ユーザ入力は、タッチ入力を含み、
前記タッチ入力は、２つ以上の接触点を含み、
前記方法は、前記少なくとも１つのコンテンツおよび前記２つ以上の接触点に基づいて、インタラクティブコンテンツのチェーンを決定することをさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記少なくとも１つのコンテンツのために利用可能な操作を決定するために前記インタラクティブコンテンツのツリーにおいて前記インタラクティブコンテンツのチェーンを特定することをさらに含む、請求項３に記載のコンピュータ実施方法。
【請求項５】
前記ＵＩを介して新たなユーザ入力を受信することと、
前記インタラクティブコンテンツのツリーに少なくとも部分的に基づいて、前記ＵＩにおける前記個々のコンテンツの操作を引き起こすことと、
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項６】
少なくともマニピュレータモジュールおよび２つ以上のアプリケーションを記憶するコンピュータ可読媒体と、
前記コンピュータ可読媒体に動作可能に結合された処理ユニットであって、少なくとも前記マニピュレータモジュールおよび前記２つ以上のアプリケーションを実行するように適合される、処理ユニットと、を備え、
前記マニピュレータモジュールは、
前記２つ以上のアプリケーションに関連付けられたコンテンツ間のインタラクティブな関係を記憶および定義するように構成されるインタラクティブコンテンツモジュールであって、前記コンテンツ間の前記インタラクティブな関係は、
前記個々のコンテンツのために利用可能なインタラクションに関する情報、および
前記操作のために利用可能なコンテンツ間のインタラクティブな関係を特定するための、前記操作のために利用可能なコンテンツに関する情報、
を含むインタラクティブコンテンツのツリー内に記憶および定義される、インタラクティブコンテンツモジュールと、
複数のコンテンツに関連付けられたユーザ入力によって引き起こされる、前記複数のコンテンツの操作を行うための特定のコンテンツを決定するように構成されるジェスチャターゲッティングモジュールであって、前記複数のコンテンツのうちの少なくともいくつかは、前記２つ以上のアプリケーションのうちの異なるアプリケーションによって生成される、ジェスチャターゲッティングモジュールと、
を備える、システム。
【請求項７】
ジェスチャのタイプ、ユーザ入力の現在の状態、または前記複数のコンテンツのうちの個々のコンテンツによって行われている操作に基づいて、前記複数のコンテンツにおいて行われる動作を決定するように構成される挙動ハンドリングモジュールをさらに備える、請求項６に記載のシステム。
【請求項８】
結果を前記２つ以上のアプリケーションに送達するか、または前記特定のコンテンツによって行われる前記操作を直接送達するように構成される結果モジュールをさらに備える、請求項６に記載のシステム。
【請求項９】
前記ジェスチャターゲッティングモジュールは、前記１つまたは複数のアプリケーションに関連付けられた親ノードから開始して、前記コンテンツに関連付けられた子ノードに続いて、前記インタラクティブコンテンツのツリーをトラバースし、前記コンテンツのために許容可能な操作のタイプを決定するようにさらに構成される、請求項６に記載のシステム。
【請求項１０】
前記親ノードが前記子ノードの操作を制限するか、または前記子ノードが前記親ノードの操作を制限する、請求項９に記載のシステム。
【請求項１１】
前記親ノードから開始して、前記子ノードに続いて、前記インタラクティブコンテンツのツリーをトラバースすることに応答して、前記ジェスチャターゲッティングモジュールは、前記子ノードから開始して、前記親ノードに続いて、前記インタラクティブコンテンツのツリーをトラバースし、個々の子ノードが行うことができる操作を特定するようにさらに構成される、請求項９に記載のシステム。
【請求項１２】
前記結果モジュールは、前記ユーザ入力の受信に応答してまたは後の時点で前記結果を送達するようにさらに構成される、請求項８に記載のシステム。
【請求項１３】
前記ユーザ入力は、前記ＵＩを介したほぼ同時の２つのユーザ入力を含み、前記結果モジュールは、後続の入力のためのターゲットが決まるまで前記第１の入力のためのターゲットを返すのを遅延させるように構成される、請求項１２に記載のシステム。
【請求項１４】
前記結果モジュールは、前記２つ以上のアプリケーションからの処理を要求することなく、前記複数のコンテンツに対し変換を行うようにさらに構成される、請求項８に記載のシステム。
【国際調査報告】
2017531220.tif 000010
2017531220.tif 000011
2017531220.tif 000012