コンピューティングデバイスの少なくとも1つのプロセッサーによって実施される方法であって、開始アプリケーションから初期情報を受信するステップであって、前記初期情報は前記開始アプリケーションから行先アプリケーションへの前記コンピューティングデバイスのコンテキストのシフトを視覚化する移行アニメーションに関連する、ステップと、前記行先アプリケーションから、前記移行アニメーションに関連付けられる最終情報を受信するステップと、前記初期情報及び前記最終情報に少なくとも部分的に基づいて、前記移行アニメーションを生成するステップと前記コンピューティングデバイスのディスプレイデバイス上に前記移行アニメーションをレンダリングするステップとを含む方法。前記移行アニメーションに対応するアニメーション識別子を生成するステップと、前記開始アプリケーション又は前記行先アプリケーションの少なくとも一方に対して前記アニメーション識別子を発行するステップとを更に含む、請求項1に記載の方法。前記移行アニメーションを生成する前記ステップは、前記初期情報内に含まれる初期グラフィカル表現と前記最終情報において指定される最終グラフィカル表現との間の差を埋める複数の中間グラフィカル表現を作成するステップを更に含み、作成される前記複数の中間グラフィカル表現の数は前記移行アニメーションの所定のフレームレートによる、請求項1に記載の方法。前記複数の中間グラフィカル表現に関連付けられる1組の位置情報を求めるステップを更に含み、前記1組の位置情報を求めるステップは、前記初期情報内の初期位置情報、前記最終情報に含まれる最終位置情報、又は前記1組の位置情報内に含まれる他の位置情報のうちの少なくとも1つに基づいて前記位置情報を求めるステップを含む、請求項3に記載の方法。前記移行アニメーションをレンダリングする前記ステップは、前記初期グラフィカル表現、前記複数の中間グラフィカル表現及び前記最終グラフィカル表現を順序付けて、フレーム順序を作成するステップと、前記フレーム順序に従って、前記初期グラフィカル表現、前記複数の中間グラフィカル表現及び前記最終グラフィカル表現を順次に、かつ個別にレンダリングするステップとを更に含む、請求項4に記載の方法。前記移行アニメーションをレンダリングする前記ステップは、前記移行アニメーションのz位置を強制的に定めるステップを更に含み、前記移行アニメーションは前記ディスプレイデバイス上の最上部のオブジェクトのままである、請求項1に記載の方法。前記移行アニメーションの前記レンダリングを開始する前に、前記行先アプリケーションからの準備完了インジケーターを待つステップを更に含む、請求項1に記載の方法。アニメーション調整構成要素を備え、前記アニメーション調整構成要素は、1つ又は複数の開始アプリケーションから初期情報を受信し、1つ又は複数の行先アプリケーションから最終情報を受信するように構成される入力構成要素と、アニメーションを作成し、ディスプレイデバイス上にレンダリングするように構成されるアニメーション構成要素とを含み、前記アニメーションは、前記1つ又は複数の開始アプリケーションに関連付けられる環境から前記1つ又は複数の行先アプリケーションに関連付けられる環境への継ぎ目のない移行を提供する、システム。前記アニメーション調整構成要素は、前記アニメーション調整構成要素によって調整される個々のアニメーションに対するアニメーション識別子を発行するように構成される識別子生成構成要素を更に備える、請求項8に記載のシステム。前記アニメーション調整構成要素は、前記1つ又は複数の開始アプリケーションに前記初期情報の受信確認として前記アニメーション識別子を送信するように構成される出力構成要素を更に備える、請求項9に記載のシステム。前記アニメーション調整構成要素は、前記アニメーション構成要素によって描画されることになる前記アニメーションのためのアニメーションフレームを作成するように構成されるフレーム生成構成要素を更に備える、請求項8に記載のシステム。前記初期情報は、前記1つ又は複数の開始アプリケーション内のオブジェクトの初期グラフィカル表現、前記1つ又は複数の開始アプリケーション内の前記オブジェクトのタイプ、前記初期グラフィカル表現のそれぞれの位置、又は前記初期グラフィカル表現のそれぞれのサイズのうちの少なくとも1つを含む、請求項8に記載のシステム。前記最終情報は前記1つ又は複数の行先アプリケーション内のオブジェクトの最終グラフィカル表現、又は1つ又は複数の行先アプリケーション内の前記オブジェクトのタイプのうちの少なくとも1つを含む、請求項8に記載のシステム。前記最終情報は、前記最終グラフィカル表現のそれぞれの位置又は前記最終グラフィカル表現のそれぞれのサイズのうちの少なくとも1つを含む、請求項8に記載のシステム。前記アニメーション調整構成要素はオペレーティングシステムに組み込まれる、請求項8に記載のシステム。複数のアプリケーション又はプロセスに渡るアニメーション調整を提供する。0007更に詳細な説明及び添付の図面において以下に続く例示的で非限定的な実施形態の種々の態様を基本的に、又は包括的に理解できるようにするのを助けるために、簡単な要約が提供される。しかしながら、この要約は、詳細に、又は包括的に概説することは意図していない。代わりに、この要約の唯一の目的は、以下に続く種々の実施形態の更に詳細な説明への序説として、幾つの例示的で非限定的な実施形態に関連する幾つかの概念を簡単な形で提示することである。00081つ又は複数の実施形態は、汎用フレームワークを用いて、任意のアプリケーション間のコンテキスト移行の継ぎ目のないアニメーションを作成することである。そのフレームワークは、アニメーションコーディネーターを含み、アニメーションコーディネーターは、アプリケーションとやりとりして、開始アプリケーション、例えば、アニメーションの出発点におけるアプリケーションから初期情報を、そして行先アプリケーション、例えば、アニメーションの終了点におけるアプリケーションから最終情報を得る。アニメーションコーディネーターは、初期情報及び最終情報に基づいてアニメーションを生成し、開始アプリケーション及び/又は行先アプリケーションの外部からアニメーションを動かして、異なるコンテキスト間の継ぎ目がなく、滑らかにアニメーション化された移行を可能にする。0009幾つかの実施形態では、アニメーションコーディネーターは、アニメーションの完成時に行先アプリケーションが焦点及び/又は制御を直ちに捉えるように、開始アプリケーションと行先アプリケーションとを同期させる。例えば、アプリケーション起動による移行では、アニメーションコーディネーターは、行先アプリケーションから準備完了状態にあるという指示を待つことができる。指示を受信すると、アニメーションコーディネーターはアニメーションを動かすことができる。0010これらの実施形態及び他の実施形態が以下に更に詳細に説明される。0011添付の図面を参照しながら、種々の非限定的な実施形態が更に説明される。0026背景において論じられたように、異なるアプリケーション間での視覚的にアニメーション化されたコンテキスト移行は一般的には、コンピューティングシステム、例えば、コンピューティングデバイス上の実質的に如何なるアプリケーションによっても、ユーザーから見て継ぎ目のないまま使用可能にすることはできない。例えば、2つの関連しないアプリケーション、例えば、異なる開発者によって開発され、及び/又は制御されるアプリケーションは、その間で継ぎ目のないアニメーション化された移行を可能する情報を交換することはできない。単一の開発者によって開発され、及び/又は制御される2つのアプリケーションは、コンテキスト移行をアニメーション化する仕組みをハードコード化できるが、そのような仕組みは、2つのアプリケーション間でのみ移行をアニメーション化するために、それら2つのアプリケーションによってのみ入手可能であり、かつ使用可能である。0027さらに、2つの任意のアプリケーション又はプロセス、例えば、関連しないアプリケーションは、移行アニメーションを実施するための他の従来の仕組みを活用することができる。例えば、そのようなアプリケーションは、プロセス間通信技法、共有されたメモリ空間、プロセス間同期技法等を利用して、1つのアプリケーションによって開始され、別のアプリケーションによって終了する移行アニメーションのハンドオフを実行することができる。しかしながら、従来の仕組みは、引継ぎ点、例えば、アニメーションを描画するための責任が入れ替わる場所が、結果としてユーザーの目に見えるアニメーションアーティファクトを生成するので、継ぎ目がなく、滑らかなアニメーションを作成することはできない。したがって、コンテキスト移行の視覚的なアニメーションを作成する従来の技法は、複数の任意のアプリケーション及びプロセス間の継ぎ目のないアニメーションを一般化された汎用の方法において生成することはできない。0028種々の非限定的な実施形態では、汎用フレームワークを利用して、任意のアプリケーションプロセス間のコンテキスト移行の継ぎ目のないアニメーションを作成することができる。汎用フレームワークは、情報を供給し、移行アニメーションを作成するために、アプリケーションによって利用可能な共通のアプリケーションプログラムインターフェースを提供する。汎用フレームワークは、開始アプリケーション、例えば、そこからアニメーションが生じるアプリケーションからの情報、及び行先アプリケーション、例えば、アニメーションが終了するアプリケーションからの情報を保持し、そのような情報を関連付けて、特定の開始アプリケーションから特定の行先アプリケーションまでアニメーションを描画できるようにする。0029更なる実施形態によれば、そのフレームワークはグローバルコーディネーターを含み、グローバルコーディネーターはアプリケーションとやりとりして、初期情報及び最終情報を得る。さらに、グローバルコーディネーターは、初期情報及び最終情報に基づいて、アニメーションタイミング及び描画を制御し、継ぎ目のない移行を生成する。さらに、グローバルコーディネーターは、他の仮想機械若しくは物理的機械のコーディネーター、コンポジター又は他の構成要素と通信し、異種の仮想機械又は物理的機械上のアプリケーション及び/又はプロセス間でのコンテキスト切替をアニメーション化することができる。0030一実施形態では、本明細書において、開始アプリケーションからの初期情報を受信することであって、初期情報は、開始アプリケーションから行先アプリケーションまでのユーザーコンテキストのシフトを視覚化する移行アニメーションに関連する、受信することと、行先アプリケーションから、移行アニメーションに関連付けられる最終情報を受信することと、初期情報及び最終情報に少なくとも部分的に基づいて、移行アニメーションを生成することと、コンピューティングシステムのディスプレイデバイス上に移行アニメーションを描画することとを含む方法が記述される。また、その方法は、移行アニメーションに対応するアニメーション識別子を生成することと、開始アプリケーション又は行先アプリケーションの少なくとも一方に対してアニメーション識別子を発行することと、アニメーション識別子に関連付けて初期情報及び最終情報を保持することと含む。さらに、一例では、最終情報を受信することは、行先アプリケーションから、アニメーション識別子とともに最終情報を受信し、最終情報と初期情報を関連付けることができるようにすることを含む。別の例では、移行アニメーションを生成することは、初期情報に含まれる初期グラフィカル表現と最終情報において指定される最終グラフィカル表現との間の差を埋める複数の中間グラフィカル表現を作成することであって、作成される中間グラフィカル表現は、移行アニメーションの所定のフレームレートに従う、作成することを含むことができ、複数の中間グラフィカル表現にそれぞれ関連付けられる1組の位置情報を求めることを更に含むことができ、位置情報は、初期情報内の初期位置情報、最終情報に含まれる最終位置情報、又は1組の位置情報に含まれる他の位置情報のうちの少なくとも1つに基づいて求められる。0031更なる例によれば、移行アニメーションを描画することは、初期グラフィカル表現、複数の中間グラフィカル表現及び最終グラフィカル表現を順序付け、フレーム順序を作成することと、フレーム順序に従って、初期グラフィカル表現、複数の中間グラフィカル表現及び最終グラフィカル表現を順次に、かつ個別に描画することとを含み、描画間の時間は所定のフレームレートに基づいて求められる。さらに、描画することは、移行アニメーションがディスプレイデバイス上の最上部のオブジェクトとしてとどまるように、移行アニメーションのz位置を強制的に定めるenforceことを伴うことができる。更に別の例では、その方法は、移行アニメーションの描画を開始する前に、行先アプリケーションから準備完了インジケーターreadinessindicatorを待つことを含むことができ、行先アプリケーションからの終了情報の受信が、準備完了インジケーターである。0032別の実施形態では、本明細書において記述されるようなシステムがアニメーション調整構成要素を含み、アニメーション調整構成要素は、1つ又は複数の開始アプリケーションから初期情報を得るように、かつ1つ又は複数の行先アプリケーションから最終情報を得るように構成される入力構成要素と、アニメーションを作成し、そのアニメーションをディスプレイデバイス、例えば、ディスプレイ画面に描画するように構成されるアニメーション構成要素とを含み、それらのアニメーションは、1つ又は複数の開始アプリケーションに関連付けられる環境から、1つ又は複数の行先アプリケーションに関連付けられる環境への継ぎ目のない移行を提供する。アニメーション調整構成要素は、アニメーション調整構成要素によって調整される個々のアニメーションに対してアニメーション識別子を発行するように構成される識別子生成構成要素を更に含むことができ、アニメーション識別子は、限定はしないが、グローバル一意識別子GUIDのようなグローバル識別子GIDを含む。1つ又は複数の開始アプリケーションに、初期情報の受信確認receiptとしてアニメーション識別子を送信するように構成される出力構成要素が提供される。更なる例では、アニメーション調整構成要素は、アニメーション構成要素によって描画されることになるアニメーションのためのアニメーションフレームを作成するように構成されるフレーム生成構成要素を含むことができる。0033初期情報は、一例では、1つ又は複数の開始アプリケーション内のオブジェクトの初期グラフィカル表現、1つ又は複数の開始アプリケーション内のオブジェクトのタイプ、初期グラフィカル表現のそれぞれの位置、又は初期グラフィカル表現のそれぞれサイズのうちの少なくとも1つを含む。同様に、最終情報は、1つ又は複数の行先アプリケーション内のオブジェクトの最終グラフィカル表現、1つ又は複数の行先アプリケーション内のオブジェクトのタイプ、最終グラフィカル表現のそれぞれの位置、又は最終グラフィカル表現のそれぞれサイズのうちの少なくとも1つを含む。0034更なる実施形態では、オペレーティングシステムにアニメーション調整サブシステムを組み込むことができ、アニメーション調整サブシステムは、異種のコンテキスト間の移行を継ぎ目なく視覚化するアニメーションをトリガーできるように構成される第1のアプリケーションプログラムインターフェースAPIであって、第1のAPIは、そのアニメーションのための出発点を表す、開始アプリケーションからの初期情報を受信し、そのアニメーションに対応するアニメーション識別子を返すように構成される、第1のAPIと、そのアニメーションのための終了点を表す最終情報を受信するように構成される第2のAPIとを含み、最終情報は、アニメーション識別子に関連して、行先アプリケーションから受信される。アニメーション調整モジュールは、初期情報及び最終情報に基づいてアニメーションを生成し、そのアニメーションをディスプレイ画面に出力する。0035ここまで、複数のアプリケーションに渡る継ぎ目のない移行アニメーションを提供するための実施形態のうちの幾つかの概説が提示されてきた。次の説明のためのロードマップとして、グローバルアニメーション調整のための種々の例示的で非限定的な実施形態及び特徴が詳細に説明される。その後、更なる例示のために、幾つかの非限定的な実施態様及び例が与えられ、その後、そのような実施形態及び/又は特徴を実施することができる代表的なネットワーク及びコンピューティング環境が与えられる。複数のアプリケーション/プロセス間の移行アニメーション0036上記のように、種々の実施形態において、複数のアプリケーション間に広がるアニメーションを生成するように構成されるフレームワークが提供される。一例では、アニメーションは第1のアニメーション内のオブジェクトのグラフィカル表現から第2のアプリケーション内のオブジェクトの別のグラフィカル表現への視覚的なモーフを含む。一態様では、初期グラフィカル表現及び最終グラフィカル表現は、共通の基底オブジェクトの異なる表現とすることができる。例えば、初期グラフィカル表現及び最終グラフィカル表現は、1つ又は複数の特徴、例えば、解像度、サイズ、忠実度、粒状度、場所等に関して異なることができ、アニメーションは初期グラフィカル表現から最終グラフィカル表現までの継ぎ目のない変換を含むことができる。別の態様では、初期グラフィカル表現及び最終グラフィカル表現は、限定はしないが、テキストオブジェクト、ピクチャーオブジェクト、画像オブジェクト、ビデオオブジェクト、地図オブジェクト、リストオブジェクト、ウェブオブジェクト等の異種のオブジェクトを表すことができる。異種のオブジェクトの場合、アニメーションは、1つのオブジェクトの1つの表現から別のオブジェクトの別の表現への形態学的変換を含むことができる。例えば、アニメーションは、テキストの一部から画像への変換を視覚的に表すことができる。更なる実施形態では、複数のオブジェクトを単一のオブジェクトに変換し、及び/又は単一のオブジェクトを複数のオブジェクトに変換するアニメーションを生成することができる。0037さらに、複数のアプリケーションが、単一の仮想機械又は物理的機械上に存在することができるか、異なる仮想機械及び/又は物理的機械上に存在することができる。更に別の実施形態では、単一のアプリケーションがアプリケーション内移行のために本明細書において提供されるフレームワークを活用することができる。例えば、ブラウザープリケーションが、異なるドメイン間をブラウジングする、例えば、第1のウェブページから第2のウェブページをブラウジングするとき、アニメーション化された移行を利用することができる。したがって、そのフレームワークは、アプリケーション間アニメーションを作成することに加えて、一般化された方法において、アプリケーション内移行のためにも活用することができる。0038上記のようなコンテキスト移行のアニメーションを調整する1つ又は複数の非限定的な方法に関して、図1は、複数のアプリケーションに渡るアニメーションを調整するための例示的で非限定的な実施形態を示す流れ図を示す。100において、第1のアプリケーションからアニメーションに関連付けられる開始情報が得られる。具体的で非限定的な例では、開始情報は、本明細書において記述されるような、第1のアプリケーションとともに物理的機械又は仮想機械上に存在することができるグローバルコーディネーターによって得られる。しかしながら、グローバルコーディネーターは、第1のアプリケーションとは異なる物理的機械又は仮想機械上に存在できることは理解されよう。0039開始情報は、アニメーションを開始するためのパラメータを指定することができる。例えば、開始情報は、アニメーションの開始フレームである、第1のアプリケーション内のオブジェクトの初期グラフィカル表現を含むことができる。また、開始情報は、初期グラフィカル表現が描画されるディスプレイ上の位置、例えば、x座標、y座標等も含むことができる。ディスプレイ上の位置は、現実の物理的なディスプレイ上の位置に、又は仮想的なディスプレイ上の位置に関連付けることができる。さらに、初期グラフィカル表現のサイズを開始情報に含むことができる。一例では、位置及びサイズ情報は、初期グラフィカル表現の境界長方形として伝達することができる。境界長方形は、高さ、幅、及び所定の角、例えば、左上、右上、左下又は右下の座標によって指定することができる。0040110において、アニメーションに関連付けられるアニメーション識別子を発行することができる。一態様では、アニメーション識別子はグローバル識別子とすることができる。しかしながら、アニメーション識別子として、他のタイプの識別子を利用することができる。一実施形態では、グローバルコーディネーターはアニメーション識別子を生成し、そのアニメーション識別子を第1のアプリケーションに対して発行することができる。別の実施形態では、第1のアプリケーションがアニメーション識別子を生成することができる。さらに、グローバルコーディネーター及び/又は第1のアプリケーションは、どちらが識別子を生成するかによって、アニメーション識別子を、そのアニメーションが終了する第2のアプリケーションに与えることができる。0041120において、第2のアプリケーションから終了情報が受信される。終了情報は、開始情報と同様に、アニメーションの最終フレームである、第2のアプリケーションの最終グラフィカル表現を含むことができる。さらに、終了情報は、最終グラフィカル表現の位置、最終グラフィカル表現のサイズ及び/又は最終グラフィカル表現の境界長方形を含むことができる。130において、第1のアプリケーションにおいて生じ、第2のアプリケーションにおいて終了するアニメーションが、開始情報及び終了情報に基づいて動かされる。例えば、グローバルコーディネーターは、開始情報において示される位置にある初期グラフィカル表現で開始し、終了情報において示される位置にある最終グラフィカル表現で終了するアニメーションを描画することができる。グローバルコーディネーターは、ディスプレイ上のグラフィカルオブジェクト、例えば、ウインドウのz順序に影響を及ぼし、アニメーションが少なくとも第1のアプリケーション及び第2のアプリケーションに対して最上部のオブジェクトのままであるのを確実にすることができる。0042更なる実施形態では、アニメーションは、グローバルコーディネーターによって強制されるタイミング又は同期に従って動かすことができる。例えば、グローバルコーディネーターは、第2のアプリケーションの準備が完了しているという通知を受信した後に、アニメーションをレンダリングし始める。その通知は明示的にすることができ、例えば、第2のアプリケーションが特定のメッセージをグローバルコーディネーターに送信するか、又はその通知は暗黙的にすることができ、例えば、終了情報を受信すると、グローバルコーディネーターは準備完了を推定する。準備完了の通知を送信する前に、第2のアプリケーションは、関連するウインドウ及びユーザーインターフェースをレンダリングすることができるが、ユーザーインターフェースは隠しておく。アニメーションが完了すると、レンダリングされたウインドウ及びユーザーインターフェースを表示させて、継ぎ目のないコンテキスト移行を生成することができる。第2のアプリケーションから準備完了信号を待つことによって、第2のアプリケーションのユーザーインターフェースを迅速に表示することができるので、継ぎ目のないアニメーションが生じることができる。0043図2は、複数のアプリケーションに渡るアニメーションを調整するための別の例示的で非限定的な実施形態を示す流れ図を示す。200において、開始アプリケーションからの初期情報が受信される。初期情報は、開始アプリケーションから行先アプリケーションへのユーザーコンテキストのシフトを視覚化する移行アニメーションに関連し、移行アニメーションをトリガーする。210において、移行アニメーションに対応するアニメーション識別子が生成される。220において、開始アプリケーション及び/又は行先アプリケーションに対してアニメーション識別子が発行される。アニメーション識別子は、初期情報の受信確認を与え、移行アニメーションが構成されつつあることを示す。さらに、アニメーション識別子は、種々のデータ及び/又はメッセージを移行アニメーションに関連付けるために利用することができる基準を与える。0044230において、移行アニメーションに関連付けられる最終情報が、行先アプリケーションから受信される。一例では、最終情報は、アニメーション識別子に関連して受信することができる。240において、オプションでは、アニメーション識別子に関連付けて、開始情報及び最終情報を記憶することができる。更なる実施形態では、移行アニメーションの表示を開始する前に、そのプロセスは、行先アプリケーションから準備完了インジケーターが受信されるまで待つことができる。具体的な非限定的な例では、最終情報を受信することが、暗黙的な準備完了指示として働くことができる。0045250において、移行アニメーションが生成される。手短に図3を参照すると、アニメーションを生成するための例示的で非限定的な実施形態の流れ図が示される。300において、複数の中間グラフィカル表現を作成することができる。中間グラフィカル表現は、初期グラフィカル表現と最終グラフィカル表現との間の空白を埋めることができる。一例では、作成される中間グラフィカル表現の数は、移行アニメーションの所定のフレームレートに基づくことができる。310において、1組の位置が求められ、1組の位置はそれぞれ複数の中間グラフィカル表現に関連付けられる。一例によれば、それらの位置は、初期グラフィカル表現の初期位置、最終グラフィカル表現の最終位置及び/又は1組の位置内の他の位置に基づいて求めることができる。320において、グラフィカル表現を位置と一致させることによって、アニメーションフレームが生成される。0046図2に戻って参照すると、260において移行アニメーションが描画され、それについては図4に示される例示的で非限定的な実施形態において更に示される。図4に示されるように、400において、1組のグラフィカル表現を順序付けて、フレーム順序を生成する。410において、1組のグラフィカル表現からのグラフィカル表現が、フレーム順序に従って順次に、かつ個別に描画される。さらに、420において、描画中、アニメーションのz位置が強制的に定められ、アニメーションを最上部の位置に保持する。0047図5は、複数のアプリケーションの間を埋める移行アニメーションの例示的で非限定的な図である。図5に示されるように、アニメーションが、第1のアプリケーション、例えば、電子メールアプリケーション500から第2のアプリケーション、例えば、画像表示アプリケーション510へのコンテキスト移行を視覚的に実行することができる。電子メールアプリケーション500は、電子メールを受信し、表示し、下書きし、送信すること等を行うことができる任意の適切な電子メールアプリケーションとすることができる。図5に示されるように、電子メールアプリケーション500は、画像502のような埋め込まれた画像を含む電子メールを表示することができる。一実施形態では、電子メールアプリケーション500は、画像502を、表示された電子メールメッセージ内に埋め込まれるサムネイル表現として表示する。0048ユーザーは、利用可能である場合には、画像表示アプリケーション510において、更に大きな表現を表示することを選択することができる。そのために、ユーザーは画像502をダブルクリックすることができるか、画像502を右クリックして、画像表示アプリケーション510において画像502を開くコマンドを選択することができるか、又は電子メールアプリケーション500のユーザーインターフェースにおいて利用可能な幾つかの他の手段を利用することができる。非限定的な例では、電子メールアプリケーション500は、ホストオペレーティングシステムの機能を利用して、オペレーティングシステムによって保持されるファイル関連付けを探索し、どのアプリケーションが画像502のファイルタイプに関連付けられるかを識別することができる。電子メールアプリケーション500が、画像502のファイルタイプに関連付けられるアプリケーションとして画像表示アプリケーション510を識別すると、電子メールアプリケーション500は、オペレーティングシステムの更なる機構を利用して、画像502に対応するファイルを用いて画像表示アプリケーション510を起動することができる。画像表示アプリケーション510は画像502に対応するファイルを実行し開き、画像512の形の更に大きな画像を表示することができる。別の例では、電子メールアプリケーション500は、別のアプリケーションにおいて開かれる/表示されることが望まれるファイルタイプ及び/又はファイル名をオペレーティングシステムに知らせることができる。オペレーティングシステムは適切なプログラム、例えば、画像表示アプリケーション510を識別し、そのプログラムを実行し、そのプログラムにファイルを与えることができる。0049上記の例において説明されたように、アプリケーション起動によるシナリオは、電子メールアプリケーション500の環境から画像表示アプリケーション510の環境への突然のコンテキスト移行を伴う。通常、そのようなコンテキスト移行は突然である。例えば、ユーザーは電子メールアプリケーション500において画像502をダブルクリックして、オペレーティングシステムに、画像502に関連付けられるファイルを用いて画像表示アプリケーション510を起動するように命令する。画像表示アプリケーション510が実行を開始すると、種々のバックグラウンドタスクが実行される。画像表示アプリケーション510は、ファイルにアクセスし、そのファイルの記憶された情報にアクセスすることができる。さらに、画像表示アプリケーション510は、バックグラウンド処理中にスプラッシュスクリーンを表示することができる。最終的に、画像表示アプリケーション510は、画面又は他の出力ディスプレイ上に表示されるウインドウ及び/又はユーザーインターフェースをレンダリングする。従来、画像502をダブルクリックすることから、画像表示アプリケーション510のウインドウ又はユーザーインターフェースを表示することまでの移行は急激である可能性がある。例えば、視点から、例えば、ユーザーが出力ディスプレイ上で見ているものから考えると、ユーザーは電子メールアプリケーション500を視認しており、その後、或る時間が経過した後に、画像表示アプリケーション510が瞬時に現れる。オプションでは、画像表示アプリケーション510の表示に先立って、スプラッシュスクリーンを突然表示することができる。別の例では、システムリソース、及び/又はアプリケーションがコード化される方法に応じて、画像表示アプリケーション510の表示を不連続にすることができ、ユーザーインターフェースの種々の部分が段階的に現れるようになる。0050上記のように、アニメーションを生成して、電子メールアプリケーション500から画像表示アプリケーション510への継ぎ目のない滑らかな移行を提供することができる。アニメーションは、図5に示されるように、画像502、例えば、初期グラフィカル表現から、画像512、例えば、最終グラフィカル表現への視覚的な拡大又は変換とすることができる。そのアニメーションは、開始フレーム画像502から終了フレーム画像512まで順序付けられた複数のフレームを含むことができる。フレーム504及びフレーム514のような中間フレームを生成することができる。中間フレームは、先行するフレーム及び/又は開始フレームから生成することができる。別の例では、中間フレームは、後続のフレーム及び/又は終了フレームに基づいて逆の順序で生成することができる。いずれの生成技法を用いても、隣接するフレームに密接に関連する高品質の中間フレームを提供できることは理解されよう。例えば、開始フレームとは対照的に、終了フレームから生成される場合には、終了フレームに近い中間フレームは、より高い品質を有することができる。中間フレームの数は、限定はしないが、アニメーションの持続時間及び所望のフレームレートのような種々の要因によって決まることができる。非限定的な例によって、24フレーム/秒のフレームレートを有する2秒のアニメーションを考える。そのアニメーションは全部で48フレームを含むことになる。開始位置を占有する画像502が、画像512によって占有される最終位置まで並進しながら、より大きな画像、例えば、画像512に変形するように、フレームを順序付けて、表示することができる。0051図6は、例示的で非限定的なアニメーション調整システムを示すブロック図である。アニメーション調整システムは、アプリケーション600、例えば、第1のアプリケーションと、アプリケーション610、例えば、第2のアプリケーションとを含み、その間でアニメーション化されたコンテキスト移行が行われる。また、そのシステムは、アニメーション624を生成し、アプリケーション600及び610を同期させ、アニメーション624を描画するように構成されるコーディネーター620も含むことができる。具体的な非限定的な実施形態では、コーディネーター620は、アプリケーション600及びアプリケーション610をホスティングするオペレーティングシステム図示せずのグローバル構成要素とすることができる。しかしながら、コーディネーター620はオペレーティングシステムとは別のプロセスとすることができることは理解されよう。0052アプリケーション600は、開始情報602をコーディネーター620に送信することによってアニメーション624を開始することができる。一実施形態では、開始情報602は、1つ又は複数の初期グラフィカル表現、初期位置情報及び/又は初期サイズ情報を指定することができる。上記のように、コーディネーター620は、多数のオブジェクトを単一のオブジェクトに移行し、単一のオブジェクトを多数のオブジェクトに移行し、及び/又は単一のオブジェクトを別の単一のオブジェクトに移行するアニメーションを生成することができる。したがって、開始情報602は、多数-単一移行の場合、それぞれの位置情報及びサイズ情報とともに複数の初期グラフィカル表現を含むことができる。単一-多数又は単一-単一移行の場合、開始情報602は、それぞれの位置情報及びサイズ情報とともに、単一の初期グラフィカル表現を含むことができる。0053開始情報602を受信すると、コーディネーター620は、アニメーション識別子としてグローバル識別子GID622を生成する。GID622は、アニメーション624に関連付けられ、アニメーション624に関連するように開始情報602にインデックスを付けるために用いられる。コーディネーター620は、開始情報602に応答して、アプリケーション600にGID622を与える。さらに、コーディネーター620は、アプリケーション610にもGID622を与えることができる。代替的には、アプリケーション600は、アプリケーション600からアプリケーション610を開始するために用いられるオペレーティングシステム起動機構を介してアプリケーション610に渡されるアプリケーション起動情報にGID622を入れることができる。いずれに関しても、GID622は、アプリケーション610によって受信されるときに、アプリケーション600のコンテキストからアプリケーション610のコンテキストに視覚的に移行するためにアニメーション624が生じることをアプリケーション610に通知するように働く。0054GID622を得ると、アプリケーション610は、コーディネーター620に終了情報612を送信することができる。終了情報612は、開始情報602と同様に、1つ又は複数の最終グラフィカル表現、最終位置情報及び/又は最終サイズ情報を含むことができる。アプリケーション610は、GID622に関連付けて終了情報612を送信し、コーディネーター620が終了情報612を、既にGID622に関連付けられている開始情報602及びアニメーション624と関連付けることができるようにする。0055アプリケーション610は、準備完了の暗黙的な指示として終了情報612を送信することができる。例えば、終了情報612を送信することによって、アプリケーション610は、描画されるときに、アプリケーション610がアニメーション624を捉える準備ができていることをコーディネーター620に通知する。したがって、アプリケーション610は、終了情報612を送信する前に、任意の始動処理を実行してユーザーインターフェース又はウインドウを表示する準備をし、アプリケーション610がウインドウ又はユーザーインターフェースを描画できる前に、アニメーション624が完了するのを防ぐことができる。0056終了情報612を受信すると、コーディネーター620は、開始情報602及び終了情報612に少なくとも部分的に基づいて、アニメーション624を生成することができる。例えば、コーディネーター620は、開始フレームとして開始情報602内の初期グラフィカル表現を、終了フレームとして終了情報612内の最終グラフィカル表現を利用することができる。コーディネーター620は、図5に関連して説明されたように、初期グラフィカル表現及び最終グラフィカル表現から複数の中間フレームを生成する。コーディネーター620は、アニメーション624のフレームを順序付け、描画して、アプリケーション600のコンテキストからアプリケーション610のコンテキストへの継ぎ目のない滑らかな移行を提供することができる。0057上記のように、アニメーションの終了点であるグラフィカル表現は、限定はしないが、情報のリスト、画像、写真、クリップアート、ロゴ、テキスト、ビデオ、ウェブページ、グラフィックス、マップ、上記の組み合わせ等の種々のオブジェクトを表すことができる。例示のために、以下の非包括的及び非限定的な例は、アプリケーション間、アプリケーション内、仮想機械間、物理的機械間等のコンテキスト移行のために利用することができる幾つかのタイプのアニメーションを示す。一例では、バーコードをアニメーションのための初期グラフィカル表現とすることができ、そのアニメーションは、バーコードによって指定される製品の或る表現において終了する。例えば、バーコードは、その製品についてのウェブページ、その製品の画像、その製品に関する仕様書等に移行することができる。同様に、例えば、ウェブページ上、電子雑誌内等の企業に関連する広告又は画像が、その企業からの提供品の製品リスト、製品を購入するためのウェブページ等に移行することができる。別の例では、例えば、アドレス帳アプリケーション内、電子名刺上等の連絡先名を、写真、公開ソーシャルメディアプロファイル、場所を表す地図等のその人の別の表現にアニメーション化することができる。更に別の例では、オブジェクトの図表又は図解を折り畳まれたバージョンから開いたバージョンにアニメーション化することができる。例えば、工学設計アプリケーションは、本明細書において記述される実施形態を利用して、デバイスの設計の分解図explosionをアニメーション化することができる。0058更なる例では、図7は、複数のアプリケーションの間を埋める移行アニメーションの例示的で非限定的な図であり、異種オブジェクトに関連付けられる初期グラフィカル表現及び最終グラフィカル表現を含む。図7に示されるように、アニメーションが、第1のアプリケーション、例えば、電子メールアプリケーション700から第2のアプリケーション、例えば、地図表示アプリケーション710へのコンテキスト移行を視覚的に実行することができる。詳細には、そのアニメーションは、電子メールメッセージ内の住所702から地図712上の対応する場所へのコンテキスト移行を伴うことができる。電子メールアプリケーション700からの地図表示アプリケーション710の起動は、図5を参照しながら先に説明されたのと同じように行うことができる。さらに、電子メールアプリケーション700と地図表示アプリケーション710との間のアニメーションの調整は、上記の方法及びシステムを用いて実施することができる。0059図7に示される例示的なアニメーションのための初期グラフィカル表現は住所702であり、それは見えない長方形によって囲まれたテキスト部分から構成される。最終グラフィカル表現は地図712であり、それは道路、交差点、建物、衛星画像等のグラフィカル画像を含む。複数のアプリケーションの間を埋めるアニメーションを生成し、制御するように構成される、コーディネーター620のような調整構成要素が、1つ又は複数の中間フレーム704を生成することができる。中間フレーム704は、初期グラフィカル表現及び最終グラフィカル表現の種々の複合物に基づいて、住所702に含まれるテキストから地図712に含まれるグラフィクスへのアニメーション化された変形を提供することができる。0060更なる実施形態では、図8は、1つのアプリケーションによって開始され、複数のアプリケーションにおいて終了する、1つ又は複数のアプリケーションを調整するための例示的で非限定的な方法の流れ図を示す。800において、1つ又は複数のアニメーションに関連付けられる開始情報が第1のアプリケーションから得られる。810において、アニメーション識別子が生成され、第1のアプリケーションに対して発行され、アニメーション識別子は1つ又は複数のアニメーションに関連付けられる。さらに、アニメーション識別子は、1組の行先アプリケーションに与えられる。一実施形態では、開始情報において指定される初期グラフィカル表現から別々に開始し、1組の行先アプリケーション内の1つ又は複数のアプリケーション内の終了点においてそれぞれ終了する1つ又は複数のアニメーションに対して、単一のアニメーション識別子をまとめて発行することができる。別の例では、第1のアプリケーションと1組の行先アプリケーション内の1つの行先アプリケーションとの対をそれぞれ形成するために、異なるアニメーション識別子を生成し、発行することができる。0061820において、1組の行先アプリケーション内の1つ又は複数のアプリケーションからそれぞれの終了情報が受信される。終了情報は、1つ又は複数の行先アプリケーション毎の最終グラフィカル表現と、最終グラフィカル表現毎のそれぞれの位置情報及びサイズ情報とを合わせて含むことができる。830において、第1のアプリケーションから開始し、1組の行先アプリケーションからの1つ又は複数の行先アプリケーションにおいて終了する1つ又は複数のアニメーションが描画される。0062図9は、1つのアプリケーションにおいて生じ、複数のアプリケーションにおいて終了する複数の移行アニメーションの例示的で非限定的な図である。図9に示されるように、アニメーションが、第1のアプリケーション、例えば、電子メールアプリケーション900から、複数の行先アプリケーション、例えば、アドレス帳アプリケーション910及びブラウザープリケーション920へのコンテキスト移行を視覚的に実行することができる。詳細には、図9は、電子メールアプリケーション900からアドレス帳アプリケーション910へのコンテキスト移行、及び電子メールアプリケーション900からブラウザープリケーション920へのコンテキスト移行をそれぞれ表す複数のアニメーションを示す。電子メールアプリケーション900とアドレス帳アプリケーション910との間のコンテキスト切替は、電子メールアプリケーション900によって表示される電子メールメッセージ内に含まれる連絡先902、例えば、連絡先名に関連付けられるアドレス帳内のエントリを表示することを伴うことができる。さらに、電子メールアプリケーション900とブラウザープリケーション920との間のコンテキスト切替は、電子メールメッセージ内の連絡先920を選択することから、ブラウザープリケーション920内の公開ソーシャルメディアプロファイルを視認する/表示することへの移行を伴うことができる。0063図9に示される一例のアニメーションのための初期グラフィカル表現は連絡先902であり、それは目に見えない長方形によって囲まれるテキスト部分から構成される。アニメーションの最終グラフィカル表現は、アドレス帳アプリケーション内のアドレス帳エントリ912と、ブラウザープリケーション920内のプロファイル922とを含む。図9に示されるように、アドレス帳エントリ912は、画像及びテキストの組み合わせを含むことができる。同様に、プロファイル922は、テキスト、画像、ビデオ等の種々の媒体を同様に含むウェブページとすることができる。アニメーションを生成するために、構成要素のアニメーション毎に、中間フレームをそれぞれ生成することができる。例えば、中間フレーム914は、連絡先902とアドレス帳エントリ912との間の構成要素のアニメーションのために生成することができ、中間フレーム924は、連絡先902とプロファイル922との間の構成要素にアニメーションのために作成される。0064一実施形態では、構成要素のアニメーションは一緒に、又は別々に描画することができる。例えば、ブラウザープリケーション920の準備ができていない場合であっても、アドレス帳アプリケーション910の準備ができていると、連絡先902とアドレス帳エントリ912との間のアニメーションを描画することができる。別の例では、アドレス帳アプリケーション910及びブラウザープリケーション920の両方が準備完了を報告するまで、いずれのアニメーションも開始しない。0065図10は、1つ又は複数の実施形態による例示的で非限定的なアニメーション調整システムのブロック図である。アニメーション調整システムは、開始アプリケーション1000と、1組の行先アプリケーション1010とを含み、それらのアプリケーション間で、アニメーション化されたコンテキスト移行が行われる。また、そのシステムは、開始アプリケーション1000と1組の行先アプリケーション1010との間のコンテキスト移行を表すアニメーション1024を生成するように構成されるコーディネーター1020も含むことができる。0066開始アプリケーション1000は、アニメーション1024を利用して、1組の行先アプリケーション1010とのコンテキスト移行を視覚化することができる。アニメーションを開始するために、開始アプリケーション1000は、開始情報1002をコーディネーター1020に送信する。開始情報1002は、初期グラフィカル表現、初期位置情報及び/又は初期サイズ情報を含むことができる。コーディネーター1020は、開始情報1002を受信すると、1つ又は複数のグローバル識別子GID1022を生成する。GID1022はアニメーション1024に関連付けられ、アニメーション1024に関連するように開始情報1002にインデックスを付けるために用いられる。開始情報1002に応答して、コーディネーター1020は、GID1022を開始アプリケーション1000に与える。さらに、コーディネーター1020は、1組の行先アプリケーション1010内のアプリケーションにもGID1022を与えることができる。0067GID1022を得ると、1組の行先アプリケーション1010はコーディネーター1020に1組の終了情報を送信することができる。1組の終了情報1016は、1組の行先アプリケーション1010内の各行先アプリケーションにそれぞれ関連付けられる終了情報を含む。1組の行先アプリケーション1010は、行先アプリケーション1012及び行先アプリケーション1014のような1つ又は複数のアプリケーションを含むことができ、それらのアプリケーションは移行アニメーションの終了点であるグラフィカル表現を含む。図10は、1組の行先アプリケーション1010内の2つの行先アプリケーションを示すが、1組の行先アプリケーション1010はN個のアプリケーションを含むことができることは理解されたい。ただし、Nは1以上の整数である。1組の終了情報1016は1組の最終グラフィカル表現、1組の最終位置情報及び/又は1組の最終位置情報を含むことができる。関連する最終位置情報及び最終サイズ情報とともに、1組の最終グラフィカル表現内の最終グラフィカル表現からなる1つのグループは、1組の行先アプリケーション1010内の1つの行先アプリケーションに対応することができる。00681組の終了情報1016を受信すると、コーディネーター1020は、開始情報1002及び1組の終了情報1016に基づいてアニメーション1024を生成することができる。コーディネーター1020は、サブアニメーション、例えば、開始アプリケーション1000と行先アプリケーションのうちの1つとの間のアニメーションを別々に描画することができるか、又は開始アプリケーション1000と1組の行先アプリケーション1010との間の全てのアプリケーションを一緒に描画することができる。0069図11を参照すると、1つ又は複数の実施形態による例示的で非限定的なアニメーションコーディネーター1100を示すブロック図が与えられる。図11に示されるように、コーディネーター1100は、アニメーション化されるコンテキスト移行にかかわる1つ又は複数のアプリケーションから、開始情報、終了情報、準備完了インジケーター等を得るように構成される入力構成要素1102を含むことができる。上記のように、開始情報は、初期グラフィカル表現、初期グラフィカル表現に関連付けられるオブジェクトのタイプ、グラフィカル表現の初期位置、グラフィカル表現のサイズ、アニメーション化される移行が終了する1つ又は複数の行先アプリケーションの識別、アドレス等、又はアプリケーション間でのアニメーションのグローバルレンダリングを容易にする任意の他の適切な情報を含む。同様に、終了情報は、最終グラフィカル表現、最終グラフィカル表現に関連付けられるオブジェクトのタイプ、グラフィカル表現の位置及び/又はサイズを指定する。さらに、終了情報は、特定のアニメーションに関連付けられ、終了情報を対応する開始情報に関連付けるアニメーション識別子も含むことができる。入力構成要素1102は、アニメーション識別子に関連付けて、開始情報及び終了情報を記憶装置1104に記憶することができる。0070識別子生成構成要素1106が設けられ、それは新たなアニメーションに対するアニメーション識別子を生成するように構成される。例えば、アプリケーションから新たな開始情報を受信すると、コーディネーター1100は移行アニメーションを生成し、描画するプロセスを開始する。コーディネーター1100は、開始情報を受信するのに応答して、識別子生成構成要素1106を用いて、対応するアニメーション識別子を生成することができる。一実施形態では、識別子生成構成要素1106は、アニメーション識別子として用いられることになるグローバル識別子GIDを生成する。しかしながら、GIDの代わりに、他のタイプの識別子をアニメーション識別子として利用できることは理解されたい。コーディネーター1100は、出力構成要素1108を介して、生成されたアニメーション識別子を、新たな開始情報を送信したアプリケーションに与えることができる。さらに、出力構成要素1108は、開始情報において指定された任意の行先アプリケーションにアニメーション識別子を送信することができる。0071開始アプリケーションから開始情報が受信され、行先アプリケーションから終了情報が受信されると、コーディネーター1100は、受信した情報に基づいて、適切なアニメーションを作成することができる。一実施形態では、コーディネーター1100は、アニメーションの開始フレームとして初期グラフィカル表現及び対応する位置/サイズ情報を取り込み、アニメーションの最終フレームとして最終グラフィカル表現並びに位置及びサイズの詳細を取り込むことができる。コーディネーター1100は、フレーム生成構成要素1110を用いて、開始フレームと最終フレームとの間のアニメーションの中間フレームを作成することができる。フレーム生成構成要素1110は、最終グラフィカル表現及び/又は初期グラフィカル表現に関する種々の変換を実行して、初期グラフィカル表現と最終グラフィカル表現との間の移行点を示す中間グラフィカル表現を作成することができる。さらに、フレーム生成構成要素1110は、初期位置情報及び最終位置情報に基づいて、中間グラフィカル表現のための適切な位置情報を求めることができる。コーディネーター1100は、生成された中間フレームを、アニメーション識別子に関連付けて記憶装置1104に記憶することができる。コーディネーター1100は更に、開始フレーム、中間フレーム及び最終フレームを適切な順序及びタイミングでディスプレイ上に描画し、継ぎ目のないアニメーションを作成するように構成されるアニメーション構成要素1112を含む。0072図12は、1つ又は複数の実施形態による例示的で非限定的なアニメーション調整システムを示すブロック図である。図12に示されるように、オペレーティングシステム1200にアニメーション調整モジュール1202を組み込むことができる。オペレーティングシステム1200は、コンピューティングシステムのハードウェア構成要素例えば、入力デバイス、出力デバイス、メモリデバイス、記憶デバイス、処理デバイス等を管理し、上記の開始アプリケーション及び/又は行先アプリケーションのような、コンピューティングシステム上で実行されるプログラムに共通のサービス例えば、ランタイムライブラリ等を提供するために、コンピューティングシステム内に設けることができる。例えば、オペレーティングシステム1200は、複数のアプリケーションプログラムインターフェースAPIを介して共通機能を拡張する、アニメーション調整モジュール1202のような複数のモジュールを含むことができる。オペレーティングシステム1200は、APIへの呼出を受信し、そのAPIに関連付けられる機能又はモジュールを実行し、その呼出を開始したエンティティーに結果を返すことができる。0073アニメーション調整モジュール1202は、任意のアプリケーション間で移行アニメーションをトリガーするために使用可能な第1のAPI1204を含むことができる。第1のAPI1204は、開始アプリケーションから初期情報を受信し、アニメーション識別子を返すように構成される。アニメーション調整モジュール1202は更に、行先アプリケーションから最終情報を受信するように構成される第2のAPIを含む。アニメーション調整モジュール1202は、第2のAPI1206を介して最終情報を受信すると、移行アニメーションを生成し、そのアニメーションをディスプレイ画面に出力するように構成される。例えば、アプリケーション調整モジュール1202は、オペレーティングシステム1200のディスプレイドライバー図示せずを用いて、ビデオレンダリングデバイス例えば、オペレーティングシステム1200をホスティングするコンピューティングシステム内のグラフィックスカードにアクセスし、ビデオレンダリングデバイスに結合されるディスプレイ画面上にアニメーションを視覚的に表示することができる。例示的なネットワーク化環境及び分散環境0074本明細書において記述される移行アニメーションシステム及び方法の種々の実施形態が、コンピューターネットワークの一部として、又は分散コンピューティング環境において展開することができ、任意の種類のデータ記憶装置に接続することができる、任意のコンピューター又は他のクライアント若しくはサーバーデバイスに関連して実施できることは、当業者は理解することができる。この関連で、本明細書において記述される種々の実施形態は、任意の数のメモリ又は記憶ユニットと、任意の数の記憶ユニットに渡って行われる任意の数のアプリケーション及びプロセスとを有する、任意のコンピューターシステム及び環境において実施することができる。これは、限定はしないが、ネットワーク環境内に展開されるサーバーコンピューター及びクライアントコンピューターを有する環境、又はリモート若しくはローカル記憶装置を有する分散コンピューティング環境を含む。0075分散コンピューティングは、コンピューティングデバイス及びシステムの間で通信を交換することによってコンピューターリソース及びサービスを共有できるようにする。これらのリソース及びサービスは、情報の交換、キャッシュ記憶、及びファイルのようなオブジェクトのためのディスク記憶を含む。また、これらのリソース及びサービスは、負荷分散、リソースの拡大、処理の特殊化等のために複数の処理ユニットに渡って処理能力を共有することも含む。分散コンピューティングはネットワーク接続性を利用し、それにより、クライアントが総合力collectivepowerを活用して、企業全体に利益を与えることができるようにする。この関連で、種々のデバイスが、主題の開示の種々の実施形態に場合に説明されたようなリソース管理機構に関与することができるアプリケーション、オブジェクト又はリソースを有することができる。0076図13は、例示的なネットワーク化環境又は分散コンピューティング環境の概略図を与える。分散コンピューティング環境は、コンピューティングオブジェクト1310、1312等と、コンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等とを備えており、それらのコンピューティングオブジェクトは、アプリケーション1330、1332、1334、1336、1338によって表されるような、プログラム、方法、データ記憶装置、プログラマブルロジック等を含むことができる。コンピューティングオブジェクト1310、1312等、及びコンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等は、携帯情報端末PDA、オーディオ/ビデオデバイス、移動電話、MP3プレーヤー、パーソナルコンピューター、ラップトップ等の種々のデバイスを含むことができる。0077各コンピューティングオブジェクト1310、1312等、及びコンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等は、通信ネットワーク1340を介して、直接的又は間接的に、1つ又は複数の他のコンピューティングオブジェクト1310、1312等、及びコンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等と通信することができる。図13において単一の要素として示される場合であっても、通信ネットワーク1340は、図13のシステムにサービスを提供する他のコンピューティングオブジェクト及びコンピューティングデバイスを含む場合があり、及び/又は図示されない相互接続された複数のネットワークを表す場合もある。また、各コンピューティングオブジェクト1310、1312等、及びコンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等は、主題の開示の種々の実施形態に従って提供されるアプリケーションテスト技法と通信するか、又はアプリケーションテスト技法を実施するのに適している、API、又は他のオブジェクト、ソフトウェア、ファームウェア及び/又はハードウェアを使用する場合がある、アプリケーション1330、1332、1334、1336、1338のようなアプリケーションも含むこともできる。0078分散コンピューティング環境をサポートする種々のシステム、構成要素及びネットワーク構成がある。例えば、コンピューティングシステムは、有線又は無線システムによって、ローカルネットワークによって、又は広域分散ネットワークによって互いに接続することができる。現在、数多くのネットワークがインターネットに結合されており、インターネットは、広域分散コンピューティングwidelydistributedcomputingのためのインフラストラクチャーを提供し、数多くの異なるネットワークを包含するが、種々の実施形態において記述されるようなシステムに付随して行われる例示的な通信のために、任意のネットワークインフラストラクチャーを用いることができる。0079したがって、クライアント/サーバー、ピアツーピア又はハイブリッドアーキテクチャーのような多数のネットワークトポロジー及びネットワークインフラストラクチャーを利用することができる。クライアントは、関連しない別のクラス又はグループのサービスを使用するクラス又はグループのメンバーである。クライアントは、別のプログラム又はプロセスによって提供されるサービスを要求するプロセス、すなわち、概ね1組の命令又はタスクとすることができる。クライアントプロセスは、要求されたサービスを利用するが、他のプログラム又はサービス自体についての如何なる作業の細部も知る必要はない。0080クライアント/サーバーアーキテクチャー、特にネットワーク化されたシステムでは、クライアントは通常、別のコンピューター、例えば、サーバーによって提供される共有ネットワークリソースにアクセスするコンピューターである。図13の例示では、非限定的な例として、コンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等はクライアントと考えることができ、コンピューティングオブジェクト1310、1312等はサーバーと考えることができ、コンピューティングオブジェクト1310、1312等は、クライアントコンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等からデータを受信すること、データを記憶すること、データを処理すること、クライアントコンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等にデータを送信すること等のデータサービスを提供するサーバーとしての役割を果たすが、状況によって、任意のコンピューターをクライアント、サーバー又はその両方と見なすことができる。0081サーバーは通常、インターネット又は無線ネットワークアーキテクチャーのような、リモート又はローカルネットワークを介してアクセス可能なリモートコンピューターシステムである。クライアントは、第1のコンピューターシステムにおいてアクティブである場合があり、サーバーは第2のコンピューターシステムにおいてアクティブである場合があり、通信媒体を介して互いに通信し、それにより、分散機能を提供し、かつ複数のクライアントがサーバーの情報収集能力を利用できるようにする。0082例えば、通信ネットワーク1340又はバスがインターネットであるネットワーク環境では、コンピューティングオブジェクト1310、1312等はウェブサーバーとすることができ、他のコンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等は、ハイパーテキスト転送プロトコルHTTPのような幾つかの既知のプロトコルのいずれかを介して、コンピューティングオブジェクト1310、1312等と通信する。サーバーとしての役割を果たすコンピューティングオブジェクト1310、1312等は、分散コンピューティング環境において特徴的あるように、クライアント、例えば、コンピューティングオブジェクト又はデバイス1320、1322、1324、1326、1328等としての役割を果たす場合もある。例示的なコンピューティングデバイス0083上記のように、都合の良いことに、本明細書において記述される技法は、コンピューティングシステム内の複数の任意のアプリケーション又はプロセス間のコンテキスト移行を視覚的に表すアニメーションを作成することが望ましい任意のデバイスに適用することができる。それゆえ、種々の実施形態に関連して、すなわち、アニメーションが継ぎ目のないコンテキスト移行を実施することができるいずれかの場所において用いるために、全ての種類のハンドヘルド、ポータブル並びに他のコンピューティングデバイス及びコンピューティングオブジェクトが考えられると理解することができる。したがって、図14において後に説明される汎用リモートコンピューターは、コンピューティングデバイスの一例にすぎない。0084実施形態は、デバイス又はオブジェクトのためのサービスの開発者が使用するために、オペレーティングシステムを介して部分的に実施することができ、及び/又は本明細書において記述される種々の実施形態の1つ又は複数の機能的態様を実行するように動作するアプリケーションソフトウェア内に含むことができる。ソフトウェアは、クライアントワークステーション、サーバー及び他のデバイスのような1つ又は複数のコンピューターによって実行される、プログラムモジュールのような一般的な状況のコンピューター実行可能命令において記述される場合がある。コンピューターシステムが、データを通信するために用いることができる種々の構成及びプロトコルを有すること、それゆえ、特定の構成又はプロトコルが限定するものと見なされないことは当業者には理解されよう。0085図14は、本明細書において記述される実施形態の1つ又は複数の態様を実施することができる適切なコンピューティングシステム環境1400の一例を示すが、上記から明らかになるように、コンピューティングシステム環境1400は適切なコンピューティング環境の一例にすぎず、使用又は機能の範囲に関して如何なる制限も示唆することは意図していない。さらに、コンピューティングシステム環境1400は、例示的なコンピューティングシステム環境1400において示される構成要素のいずれか1つ又は組み合わせに関連する依存性を有すると解釈されることは意図してない。0086図14を参照すると、1つ又は複数の実施形態を実施するための例示的なリモートデバイスが、コンピューター1410の形の汎用コンピューティングデバイスを含む。コンピューター1410の構成要素は、限定はしないが、処理ユニット1420、システムメモリ1430及びシステムバス1422を含むことができ、システムバスは、システムメモリを含む種々のシステム構成要素を処理ユニット1420に結合する。0087コンピューター1410は通常、種々のコンピューター可読媒体を含み、コンピューター1410によってアクセスすることができる任意の利用可能な媒体とすることができる。システムメモリ1430は、リードオンリーメモリROM及び/又はランダムアクセスメモリRAMのような揮発性今不揮発性メモリの形のコンピューター記憶媒体を含むことができる。一例として、限定はしないが、システムメモリ1430は、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール及びプログラムデータも含むことができる。更なる例によれば、コンピューター1410は種々の他の媒体図示せずも含むことができ、それらの媒体は、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスクDVD若しくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために用いることができる他の有形及び/又は非一時的媒体を含むことができる。0088ユーザーは入力デバイス1440を通してコンピューター1410にコマンド及び情報を入力することができる。出力インターフェース1450のようなインターフェースを介して、システムバス1422にモニター又は他のタイプのディスプレイデバイスも接続される。モニターに加えて、コンピューターは、出力インターフェース1450を通して接続される場合がある、スピーカー及びプリンターのような他の周辺出力デバイスも含むことができる。0089コンピューター1410は、リモートコンピューター1470のような1つ又は複数の他のリモートコンピューターへの論理接続を用いて、ネットワーク化環境又は分散環境において動作することができる。リモートコンピューター1470は、パーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピアデバイス若しくは他の共通ネットワークノード、又は任意の他のリモート媒体消費若しくは伝送デバイスとすることができ、コンピューター1410に対して先に説明されたありとあらゆる要素を含むことができる。図14に示される論理接続は、ローカルエリアネットワークLAN又はワイドエリアネットワークWANのようなネットワーク1472を含むが、他のネットワーク/バスを含むこともできる。そのようなネットワーキング環境は、家、事務所、企業規模のコンピューターネットワーク、イントラネット及びインターネットにおいて一般的である。0090上記のように、種々のコンピューティングデバイス及びネットワークアーキテクチャーに関連して例示的な実施形態が説明されてきたが、根底を成す概念は、リソース使用効率を改善することが望ましい任意のネットワークシステム及び任意のコンピューティングデバイス又はシステムに適用することができる。0091また、同じ、又は類似の機能を実施する複数の方法、例えば、適切なAPI、ツールキット、ドライバーコード、オペレーティングシステム、制御、スタンドアロン又はダウンロード可能ソフトウェアオブジェクト等があり、それらの方法によって、アプリケーション及びサービスが本明細書において提供される技法を利用できるようになる。したがって、本明細書における実施形態は、API又は他のソフトウェアオブジェクトの観点から、更には本明細書において記述されるような1つ又は複数の実施形態を実施するソフトウェア又はハードウェアオブジェクトの観点から考えられる。したがって、本明細書において記述される種々の実施形態は、全体としてハードウェアである態様、部分的にハードウェア、部分的にソフトウェアである態様、及びソフトウェアである態様を有することができる。0092本明細書において用語例示的なは、例、事例又は実例としての役割を果たすことを意味する。誤解を避けるために言うと、本明細書において開示される主題は、そのような例によって制限されない。さらに、本明細書において例示的として記述される任意の態様及び設計は必ずしも他の態様又は設計よりも好ましいか、又は好都合であると解釈されるべきではなく、当業者に既知である同等の例示的な構造及び技法を排除することも意図していない。さらに、用語含むincludes、有するhas、包含するcontains及び他の類似の用語が使用される限りにおいて、誤解を避けるために言うと、そのような用語は、請求項において用いられるときに任意の更なる、又は他の要素を排除しない開かれた移行語としての用語備えるcomprisingと同じように包含的であることを意図している。0093上記のように、本明細書において記述される種々の技法は、ハードウェア若しくはソフトウェアに、又は適切な場合には、その両方の組み合わせに関連して実施することができる。本明細書において用いられるときに、用語構成要素、モジュール、システム等は同様に、コンピューター関連エンティティー、すなわち、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、実行中のソフトウェアのいずれかを指すことを意図している。例えば、構成要素は、限定はしないが、プロセッサー上で実行中のプロセス、オブジェクト、実行ファイル、実行のスレッド、プログラム及び/又はコンピューターとすることができる。例示として、コンピューター上で実行中のアプリケーション及びコンピューターはいずれも構成要素とすることができる。1つ又は複数の構成要素は、プロセス及び/又は実行のスレッド内に存在する場合があり、或る構成要素は、1つのコンピューター上にローカルに配置される場合があり、及び/又は2つ以上のコンピューター間に分散する場合がある。0094上記のシステムは、幾つかの構成要素間のやりとりに関して説明されてきた。そのようなシステム及び構成要素は、それらの構成要素又は指定された下位構成要素、指定された構成要素若しくは下位構成要素のうちの幾つか、及び/又は更なる構成要素、及び上記の置換及び組み合わせを含むことができると理解することができる。下位構成要素は、親構成要素内に階層的含まれるのではなく、他の構成要素に通信可能に結合される構成要素として実現することもできる。さらに、1つ又は複数の構成要素は、組み合わせて集約した機能を提供する単一の構成要素にすることができるか、又は幾つかの別々の下位構成要素に分割することができること、及び統合された機能を提供するために、そのような下位構成要素に通信可能に結合するように調整層のような任意の1つ又は複数の中間層を設けることができることに留意することができる。本明細書において記述される任意の構成要素は、本明細書において具体的には示されないが、当業者によって一般的に知られている1つ又は複数の他の構成要素ともやりとりすることができる。0095上記の例示的なシステムに関して、記述された主題に従って実施することができる方法は、種々の図の流れ図を参照しながら理解することもできる。説明を簡単にするために、それらの方法は一連のブロックとして図示及び説明されるが、幾つかのブロックは本明細書において図示及び説明されるのとは異なる順序において、及び/又は他のブロックと同時に行われる場合があるので、種々の実施形態はそれらのブロックの順序によって制限されないことは理解及び認識されたい。非順次、すなわち、分岐したブロックが流れ図によって示される場合、同じ、又は類似の結果を達成する、それらのブロックの種々の他の分岐、流れの経路及び順序を実施できると理解することができる。さらに、以下に記述される方法を実施する際に、幾つかの図示されるブロックはオプションである。0096本明細書において記述される種々の実施形態に加えて、それらの実施形態から逸脱することなく、対応する1つ又は複数の実施形態の同じ、又は同等の機能を実行するために、他の類似の実施形態を用いることができるか、又は記述された1つ又は複数の実施形態に対して変更を加えるか、若しくは追加できることは理解されたい。さらに、複数の処理チップ又は複数の処理デバイスが、本明細書において記述される1つ又は複数の機能の実行を分担することができ、同様に、記憶は複数のデバイスに渡って実施することができる。したがって、本発明は、任意のただ1つの実施形態には限定されず、添付の特許請求の範囲による広さ、精神及び範囲において解釈されるべきである。