クライアントデバイス間のアプリケーション使用連続性を提供するシステムであって、アプリケーションの第1インスタンスを実行する第1クライアントデバイスと、前記アプリケーションの第2インスタンスを実行する第2クライアントデバイスとを備え、前記第1クライアントデバイスはさらに、前記第1クライアントデバイスで実行中の前記アプリケーションの前記第1インスタンスの動作の、前記第2クライアントデバイスで実行される前記アプリケーションの前記第2インスタンスへの転送指示を受信し、前記第1クライアントデバイスで実行中の前記アプリケーションの前記第1インスタンスの実行に関する状態情報およびデータを生成し、前記状態情報を前記第2クライアントデバイスへ送信させ、前記第2クライアントデバイスでの前記アプリケーションの前記第2インスタンスをイネーブルとし、前記第1クライアントデバイスからの前記状態情報を用いて前記第2クライアントデバイスで前記アプリケーションの動作を継続させる、システム。前記第1および第2クライアントデバイスのそれぞれのアイデンティティと、前記アプリケーションのアイデンティティとを含むプライベートドメインを生成するサーバをさらに備える、請求項1に記載のシステム。前記サーバは、前記アプリケーションの前記第1および第2インスタンスのそれぞれのアプリケーション暗号化キーKaと、前記プライベートドメインのドメイン暗号化キーPとを生成し、前記第1および第2クライアントデバイスのそれぞれに前記ドメイン暗号化キーPを格納する、請求項2に記載のシステム。前記アプリケーションの前記第1インスタンスは、前記アプリケーション暗号化キーKaを用いて状態ブロブの暗号化または署名を行い、前記アプリケーション暗号化キーKaで保護された前記アプリケーションの前記第1インスタンスの状態情報を含むアプリケーション暗号化状態ブロブ状態Kaを形成する、請求項3に記載のシステム。前記アプリケーションの前記第2インスタンスは、前記アプリケーション暗号化状態ブロブ状態Kaを解読または認証し、前記状態情報を前記第2クライアントデバイスに復元する、請求項4に記載のシステム。前記第1クライアントデバイスは、前記第1クライアントデバイスおよび前記ドメイン暗号化キーPを用いて前記アプリケーション暗号化状態ブロブ状態Kaの暗号化または署名を行い、ドメイン暗号化状態ブロブ状態KaPを形成するセキュアプロセッサを有する、請求項4または5に記載のシステム。前記第2クライアントデバイスは、前記第2クライアントデバイスを用いて前記ドメイン暗号化状態ブロブ状態KaPを解読し、前記アプリケーション暗号化状態ブロブ状態Kaを形成するセキュアプロセッサを有する、請求項6に記載のシステム。前記状態情報は、タイミングカウンタ、動画フレーム、またはページ番号に対応するデータを含む、請求項1から7のいずれか1項に記載のシステム。前記アプリケーションの前記第1インスタンスの動作の前記転送指示はユーザ入力を含む、請求項1から8のいずれか1項に記載のシステム。前記ユーザ入力は、ジェスチャ認識、動作認識、音声認識、音声コマンド、および、近接を考慮した技術からなる群より選択される、請求項9に記載のシステム。アプリケーションの第1インスタンスを実行する第1クライアントデバイスと前記アプリケーションの第2インスタンスを実行する第2クライアントデバイスと間のアプリケーション使用連続性を提供する方法であり、前記第1クライアントデバイスで実行中である前記アプリケーションの前記第1インスタンスの動作の、前記第2クライアントデバイスで実行される前記アプリケーションの前記第2インスタンスへの転送指示を前記第1クライアントデバイスで受信する段階と、前記アプリケーションの前記第1インスタンスの動作の前記転送指示に応答し、前記第1クライアントデバイス上の前記アプリケーションの前記第1インスタンスの実行に関する状態情報およびデータを前記第1クライアントデバイスにより生成する段階と、前記第1クライアントデバイスが前記状態情報および前記データを前記第2クライアントデバイスへ送信し、前記第2クライアントデバイスでの前記アプリケーションの前記第2インスタンスをイネーブルとし、前記アプリケーションの前記第2インスタンスと前記第1クライアントデバイスからの前記状態情報とを用いて前記第2クライアントデバイスで前記アプリケーションの動作を継続する段階とを備える方法。サーバにより、前記第1および第2クライアントデバイスのそれぞれのアイデンティティと、前記アプリケーションのアイデンティティとを含むプライベートドメインを生成する段階をさらに備える、請求項11に記載の方法。前記アプリケーションの前記第1および第2インスタンスのそれぞれに対するアプリケーション暗号化キーKaを生成する段階と、前記プライベートドメインのドメイン暗号化キーPを生成し、前記第1および第2クライアントデバイスのそれぞれに前記ドメイン暗号化キーPを格納する段階とをさらに備える、請求項12に記載の方法。前記アプリケーションの前記第1インスタンスと前記アプリケーション暗号化キーKaとを用いて状態ブロブを暗号化し、前記アプリケーション暗号化キーKaで保護された前記アプリケーションの前記第1インスタンスの状態情報を含むアプリケーション暗号化状態ブロブ状態Kaを形成する段階と、前記第1クライアントデバイスと前記ドメイン暗号化キーPとを用いて、前記アプリケーション暗号化状態ブロブ状態Kaを暗号化し、ドメイン暗号化状態ブロブ状態KaPを形成する段階とをさらに備える、請求項13に記載の方法。前記第2クライアントデバイスにより、前記ドメイン暗号化状態ブロブ状態KaPを解読し、前記アプリケーション暗号化状態ブロブ状態Kaを形成する段階と、前記アプリケーションの前記第2インスタンスを用いて前記アプリケーション暗号化状態ブロブ状態Kaを解読する段階とをさらに備え、前記アプリケーションの前記第2インスタンスは前記第2クライアントデバイスで前記状態情報を復元する、請求項14に記載の方法。前記状態情報は、タイミングカウンタ、動画フレーム、またはページ番号に対応するデータを含む、請求項11から15のいずれか1項に記載の方法。前記アプリケーションの前記第1インスタンスの動作の前記転送指示はユーザ入力を含む、請求項11から16のいずれか1項に記載の方法。前記ユーザ入力は、ジェスチャ認識、動作認識、音声認識、音声コマンド、および、近接を考慮した技術からなる群より選択される、請求項17に記載の方法。1以上のプロセッサにより実行されると前記1以上のプロセッサに、アプリケーションの第1インスタンスの動作の転送指示に応答し、第1クライアントデバイスで実行中の前記アプリケーションの前記第1インスタンスの実行に関する状態情報およびデータを前記第1クライアントデバイスにより生成する手順と、前記第1クライアントデバイスが前記状態情報を第2クライアントデバイスへ送信し、前記第2クライアントデバイスでの前記アプリケーションの第2インスタンスをイネーブルとし、前記第1クライアントデバイスからの前記状態情報を用いて前記第2クライアントデバイスで前記アプリケーションの動作を継続する手順とを実行させるプログラム。前記第1クライアントデバイスで実行中の前記アプリケーションの前記第1インスタンスの動作の、前記第2クライアントデバイスで実行される前記アプリケーションの前記第2インスタンスへの転送指示を前記第1クライアントデバイスで受信する手順をさらに前記1以上のプロセッサに実行させる、請求項19に記載のプログラム。以下の詳細な説明は例示的な実施形態を参照しながら示されるが、それらの多くの代替例、修正例、および変形例が当業者には明らかとなるであろう。一般的に本開示は、クライアントプラットフォーム間のアプリケーション使用連続性のためのシステムおよび方法を提供する。システムの一例は、アプリケーションの第1インスタンスを実行する第1クライアントデバイス、および当該アプリケーションの第2インスタンスを実行する第2クライアントデバイスを含む。第1デバイスのユーザは、第1クライアントデバイスで実行中のアプリケーションの動作を第2クライアントデバイスへ転送することを決定する。アプリケーションの動作を転送するよう命令するユーザからの指示に応答して、第1クライアントデバイスは、実行されているアプリケーションの動作パラメータに関する状態情報を生成し、当該状態情報を第2クライアントデバイスへ転送する。そして第2クライアントデバイスは、アプリケーションの第2インスタンスを起動し、ユーザが第1デバイスを中止したポイントからアプリケーションを進める。このことによりユーザが、セッションのデータを失うことなくリアルタイムでまたはほぼリアルタイムで2つの異なるデバイス間でライブのアプリケーション例えば、動画ストリーム、オーディオストリームなどを転送出来るようになるので有利である。いくつかの実施形態において、ユーザは1以上のプライベートドメインを作成し、各ドメイン内のデバイスおよびアプリケーションを登録する。ドメイン内の信頼されたデバイスのみがアプリケーション状態情報のライブの転送に関われるよう暗号化メカニズムを用いてもよい。他の実施形態において、クラウド環境でサーバを用い、当該サーバがプライベートドメインを保持し、暗号化キーを提供することにより、プライベートドメイン内のセキュリティ対策を提供し、ドメイン外でコンテンツが共有されることを防ぐ。サーバおよびクライアントデバイスは様々な通信規格を用い、クライアントデバイ間の通信を可能とするよう調整を行ってもよい。図1は、本開示の様々な実施形態に係るシステム100を示す。システム100は使用連続性サーバ102以下、サーバ102、および複数のクライアントデバイス120A、120Bを含む。システム100の一般的概要として、各クライアントデバイス120A、120Bは、実行中のアプリケーションの動作の一方のデバイスから他方への転送を促すべく互いに通信を行う。サーバ102は、クライアントデバイス120A、120Bに対応する識別子を含むプライベートドメイン114Aであり、当該プリベートドメイン114A内のクライアントデバイス120A、120Bで実行可能な少なくとも1つのアプリケーション118の識別子を含むプライベートドメイン114Aを設定するのに用いられ得る。またサーバ102は、アプリケーション毎に、および/またはドメイン毎に暗号化キー例えば、Ka107および/またはP113を提供し、クライアントデバイス120A、120B間の状態情報のセキュアな転送を可能としてもよい。図1のコンポーネントのそれぞれは、本明細書でより詳細に説明する。サーバ102は、アプリケーション登録エンジン104およびプライベートドメインエンジン108を含んでよい。アプリケーション登録エンジン104は、サーバ102に少なくとも1つのアプリケーション118を登録し、アプリケーション118が第1および第2のクライアントデバイス120A、120Bで実行可能であるかの判断を行ってもよい。クライアントデバイス120A、120Bは互いに独立して、携帯電話、スマートフォン、パーソナルメディアプレーヤPMP、パーソナルデジタルアシスタントPDA、ネットブック、ノートブック、デスクトップ、および/またはハンドヘルド電子機器を含んでよいが、これらに限定されない。加えて、アプリケーション登録エンジン104はアプリケーションキー生成部106も含んでよい。キー生成部106は、サーバ102に登録された各アプリケーション118のための暗号化キー以下Ka107を生成する。Ka107は、例えば、公開キー、秘密キー、または他の公知の暗号化キーを含んでもよい。プライベートドメインエンジン108は、サーバ102上で少なくとも1つのプライベートドメイン114Aを生成してもよい。示される実施形態において、プライベートドメインエンジン108は、サーバ上で複数のプライベートドメイン114A、114B、、114Nを生成する。説明を分かりやすくするべく、複数のプライベートドメインのうちいずれであってもよい個別のプライベートドメインは本明細書においてプライベートドメイン114と呼ぶ。プライベートドメインエンジン108は、サーバ102、特に特定のプライベートドメイン114に対し、第1および第2のクライアントデバイス120A、120Bのうち少なくとも1つを登録するデバイス登録エンジン110を含んでもよい。加えて、デバイス登録エンジン110はドメインキー生成部112も含んでよい。ドメインキー生成部112は、サーバ102で生成される各プライベートドメイン114のドメインキーP113を生成する。ドメインキーP113は、例えば、公開キー、秘密キー、または他の公知の暗号化キーを含んでもよい。示される実施形態において、各プライベートドメイン114は、登録済アプリケーションテーブル117、登録済ユーザテーブル119、および登録済デバイステーブル121を含む。登録済アプリケーションテーブル117は、サーバ102上でプライベートドメイン114に登録された各アプリケーションのアイデンティティを含んでよい。登録済ユーザテーブル119は、サーバ102上でプライベートドメイン114に登録された各ユーザのアイデンティティを含んでよい。登録済デバイステーブル121は、サーバ102に登録された、特定のドメイン114に含まれる各クライアントデバイス120A、120Bのアイデンティティを含んでもよい。各プライベートドメイン114のドメインキーP113が生成されると、サーバ102は、サーバ102に登録された、登録済デバイステーブル121で認められる各クライアントデバイス120A、120Bと通信リンク132を介して通信を行う。加えて各クライアントデバイス例えばクライアントデバイス120Aは、通信リンク132を介して他のクライアントデバイス例えばクライアントデバイス120Bと通信を行う。通信リンク132は、WiFi、WiMax、802.1x規格の何れか、および/またはBluetooth登録商標通信を含むがこれらに限定されない有線および/または無線の通信手段を含んでもよい。サーバ102はさらに、登録された各クライアントデバイス例えば、クライアントデバイス120A、120BにドメインキーP113をセキュアに転送し、各クライアントデバイス120A、120Bのセキュアプロセッサ124にドメインキーP113を提供する。セキュアプロセッサ124は、汎用機能、および/またはセキュリティ機能つまり、キーデータを安全に保持する機能、および高速デジタル署名計算機能を有するプロセッサを含んでもよい。一実施形態において、サーバ102は、クライアントデバイス120A、120Bが一時的に特定のドメイン114に登録されるようにしてもよい。プライベートドメイン114へのクライアントデバイス120A、120Bの一時的な登録によりゲストアクセスモードが可能となる。またクライアントデバイス120A、120Bの一時的な登録により、最初は別個のドメイン例えば、114Aおよび114Nに登録されたデバイス120A、120Bのユーザ間の時間限定的な一時的な情報の共有が可能となり、ユーザ間の即座の協働ネットワークが可能となる。サーバ102は、クライアントデバイス120A、120Bのそれぞれ、および/またはアプリケーション118とコマンドおよびデータを交換する任意のタイプの回路を含んでよい。例えば、サーバ102は、汎用コンピューティングシステム例えば、デスクトップPC、ラップトップ、モバイルPC、ハンドヘルドモバイルデバイス、スマートフォンなどに含まれ得るコモディティ回路例えば、複数の処理コアおよび算術演算処理ユニットALUを含みうるマルチコアCPU、メモリ、メモリコントローラユニット、動画プロセッサ、ネットワークプロセッサ、ネットワークプロセッサ、バスコントローラなど、並びに/或いは、汎用コンピューティングシステムおよび/または特定用途コンピューティングシステム例えば、高信頼性システム、スーパーコンピューティングシステムなどに含まれ得るカスタム回路を含んでもよい。本明細書の実施形態に関して用いられる回路という用語は、例えば、それだけで、または何らかの組み合わせにより、ハードワイヤされた回路、プログラム可能回路、状態機械回路、および/または、プログラム可能回路により実行される命令を格納したファームウェアを含みうる。アプリケーション118は、何らかのタイプのソフトウェアパッケージ、コードモジュール、ファームウェア、および/またはサーバ102および各クライアントデバイス120A、120Bとコマンドおよびデータの交換を行う命令セットを含みうる。例えば、アプリケーション118は、汎用コンピューティングシステム例えば、エンドユーザ向けの汎用アプリケーション例えば、MicrosoftWord、Excelなどに関連付けられたソフトウェアパッケージ、ネットワークアプリケーション例えばウェブブラウザアプリケーション、Eメールアプリケーションなど、および/または、カスタムソフトウェアパッケージ、カスタムコードモジュール、カスタムファームウェア、および/または、汎用コンピューティングシステムおよび/または特定用途コンピューティングシステムのために書かれたカスタム命令セット例えば科学演算パッケージ、データベースパッケージなどを含みうる。本開示の目的において、ソースデバイスという用語は、実行中のアプリケーション118を転送することをユーザが希望する第1クライアントデバイス例えばクライアントデバイス120Aを指し、ターゲットデバイスという用語は、実行中のアプリケーション118を受信することをユーザが希望する第2クライアントデバイス例えばクライアントデバイス120Bを指す。よって以下の説明において、ソースデバイスという用語を第1クライアントデバイス120Aと互換可能に用い、ターゲットデバイスという用語を第2クライアントデバイス120Bと互換可能に用いる。各クライアントデバイス120A、120Bは、ホストの部分および/またはオープンな部分128、並びにセキュアな部分130を含みうる。理解いただけるように、ホストの部分128はセキュアな部分130へ限られたアクセスしか出来ない。一実施形態において、少なくとも1つのアプリケーション1181の第1インスタンスは、第1クライアントデバイス120Aで実行中である。加えて、アプリケーション1182の第2インスタンスは、第2クライアントデバイス120Bに含まれる。第1クライアントデバイス120Aソースデバイスのユーザは、第1クライアントデバイス120Aで実行中のアプリケーション1181からの状態情報およびデータを、プライベートドメイン114に含まれる第2クライアントデバイス120Bターゲットデバイスへ転送することを希望し得る。本明細書において状態情報とは、第1クライアントデバイス120Aで実行中のアプリケーションを他のデバイスへ転送する時点における、当該アプリケーションの順序立てられた一連のデータ内の相対位置を示す情報を意味する。例えば状態情報は、ユーザが転送機能を指示する際のアプリケーション118内の時点を表す、ターゲットデバイス120Bでアプリケーション118内の同じ、またはほぼ同じ相対位置でアプリケーション118を実行開始させる、アプリケーション118の動作パラメータを含みうる。例として、ユーザが第1クライアントデバイス120Aでオーディオアプリケーションを視聴しているとする。オーディオアプリケーションの実行中のある時点でユーザは、実行中のオーディオアプリケーションを他のクライアントデバイス例えば第2クライアントデバイス120Bへ転送することを選択して指示しうる。転送指示のあったこの時点におけるオーディオアプリケーションの状態情報は、転送指示が起こった時点のオーディオファイル内の相対位置例えば、タイミングカウンタに対応するデータを含みうる。他の例として、ユーザが第1クライアントデバイス120Aで動画アプリケーションを視聴しているとする。動画ファイルが再生されている間にユーザが、実行中の動画ファイルを他のクライアントデバイス例えば第2クライアントデバイス120Bへ転送することを選択して指示し得る。動画ファイルの状態情報は、転送指示が起こった時点の相対位置例えば、動画フレームなどに対応するデータを含みうる。場合によっては、状態情報は、動画フレームに対応するオーディオ含まれる場合の相対位置を含みうる。さらに他の例として、ユーザが、第1クライアントデバイス120Aで実行中のオフィススイートアプリケーションのクライアントデバイス例えば第2クライアントデバイス120Bへの転送を開始し得る。オフィススイートアプリケーションは、ワードプロセシングアプリケーション、スプレッドシートアプリケーション、プレゼンテーションアプリケーション、および/または描画アプリケーションを含みうるが、これらに限定されない。転送指示があった時点のオフィススイートアプリケーションの状態情報は、転送指示が起こった時点の相対位置に対応するデータ例えば、ユーザが閲覧中のページまたはシートに対応するデータを含みうる。アプリケーション1181、1182の第1および第2インスタンスは、本明細書で説明される方法に従ってサーバ102に登録されてもよい。アプリケーション1181、1182の第1および第2インスタンスが登録されると、登録済アプリケーション1181~1182固有のアプリケーション固有キーKa107が生成される。ユーザはさらに、本明細書で説明されるように、サーバ102に第1および第2のクライアントデバイス120A、120Bを登録することにより、プライベートドメイン114Aを生成してもよい。プライベートドメイン114Aの登録済アプリケーションテーブル117および登録済デバイステーブル121はそれぞれ、登録済アプリケーション1181、1182および登録済クライアントデバイス120A、120Bの識別子を保持してもよい。デバイス120A、120Bのそれぞれが登録されると、サーバ102は、登録された各クライアントデバイス120A、120Bのセキュアプロセッサ124内でプライベートドメイン114A固有のドメインキーP113をセキュアに提供する。場合によっては、クライアントデバイス120A、120Bは、登録済アプリケーションテーブル117、登録済ユーザテーブル119、および/または登録済デバイステーブル121のコピーを含んでもよい分かりやすくするため示されていない。例えば、クライアントデバイス120A、120Bは登録済アプリケーションテーブル117を用い、クライアントデバイスで実行中の特定のアプリケーションが、本開示に係る転送動作に対応可能であるかどうかの判断を行ってもよい。クライアントデバイス120A、120Bは登録済ユーザテーブル119を用い、クライアントデバイス120A、120Bの特定のユーザが、特定のアプリケーションを転送する権限があるかどうか、および、ユーザがどのクライアントデバイスへアプリケーションを転送できるかの判断を行ってもよい。またクライアントデバイス120A、120Bは登録済デバイステーブル121を用いて、実行中の特定のアプリケーションを転送できる他のクライアントデバイスを判断および/または特定してもよい。例えば、第1クライアントデバイス120Aは登録済デバイステーブル121を用いて、第1クライアントデバイス120Aの通信距離内にある潜在的なクライアントデバイスのリストを作成し、ユーザが選択出来るようにこのリストを提示してもよい。アプリケーション1181、1182およびクライアントデバイス120A、120Bが登録されると、ユーザは、ソースデバイス120Aで実行中のアプリケーション1181の第1インスタンスの動作のターゲットデバイス120Bへの転送を希望することを選択して、ユーザ入力125により示す。ユーザ入力125は、ジェスチャ認識、動作認識、および/または近接を考慮した技術を含むがこれらに限定されないユーザによる選択的な入力手段、並びに他の入力手段を含みうる。網羅的に列挙するわけではないが、ユーザ入力125は、タッチスクリーンなどディスプレイデバイスの一部のスワイプ動作、振動動作、パスワードおよび/またはPIN番号入力、アイコンおよび/またはメニューの起動などを含みうる。各クライアントデバイス120A、120Bは、ユーザ入力125を受信し、アプリケーション1181、1182の第1および第2インスタンスの指示を通信する転送モジュール134を含んでよい。転送モジュール134は、ユーザ入力125としてユーザ入力125を特定および/または認証し、並びに/或いは、転送先となる潜在的なターゲットデバイスのリストを提示してもよい。例えば、転送モジュール134は、登録済ユーザテーブル119、登録済デバイステーブル121、および/または、ソースデバイス120Aの通信距離内のデバイスのアイデンティティに少なくとも部分的に基づき、転送先となる潜在的なターゲットデバイスのリストを提示してもよい。一実施形態において、転送モジュール134は、1以上のタイプのアイコンなどを用いて登録済デバイステーブル121に基づき潜在的なターゲットデバイスのリストをグラフにより提示してもよい。アイコンは、複数の異なるタイプのデバイス例えば、携帯電話、スマートフォン、パーソナルメディアプレーヤPMP、パーソナルデジタルアシスタントPDA、ネットブック、ノートブック、デスクトップ、および/またはハンドヘルド電子機器などを含むがこれらに限定されないを表してもよい。理解いただけるように、登録済デバイステーブル121に関連付けられているいくつかの潜在的なターゲットデバイスは、デバイス間の通信に用いられる通信リンク1322の性能の限界により圏外であるということもあり得る例えば、通信リンク1322が近距離無線通信、無線アドホックネットワークなどである場合。これにより、転送モジュール134は通信距離内にある登録されたクライアントデバイスのみを提示例えば表示する。転送モジュール134は、場合によっては、ソースデバイス120Aに対する相対的な物理位置に基づきディスプレイ上にアイコンを配置してもよい。そしてユーザは、例えばジェスチャ動作などを用い、希望するターゲットデバイス120Bを選択してよい。そして転送モジュール134は、動作およびターゲットデバイス120Bのアイデンティティを表すデータの転送指示を、登録済アプリケーション1181の第1インスタンスへ転送してもよい。登録済アプリケーション1181の第1インスタンスは、動作転送指示を受信すると状態ブロブ状態を生成する状態情報生成部122を含みうる。ブロブという用語は、画像、オーディオ、および/またはマルチメディアオブジェクトを含みうる単一のエンティティとして格納されるデータの集まりを指し得る。アプリケーション1181の第1インスタンスは、アプリケーション固有キーKa107を用いて状態ブロブ状態の暗号化および/または署名を行い、アプリケーション暗号化状態ブロブ状態Kaを形成する。署名のためのキーはドメインキーP113から抽出され得る。アプリケーション暗号化状態ブロブ状態Kaは状態情報を含み、場合によっては、ソースデバイス120Aで実行中の登録されたアプリケーション1181の第1インスタンスのデータを含みうる。例えば、一実施形態において、登録済アプリケーション1181の第1インスタンスは、ソースデバイス120Aで実行される動画ファイルを含む。動作転送指示が受信された際、ユーザが、フレームFなどの動画ファイルの特定のマークまたはフレームを視聴しているものとする。状態Kaに含まれる状態情報は、フレームFつまり、動作転送指示が受信された時点のフレームを表すデータを含みうる。また状態Kaに含まれる状態情報は、残りのフレーム例えば、フレームFから動画ファイルの最後のフレームまでのフレームを表すデータも含みうる。代替的に状態情報は、動画ファイル全体動画ファイルの全フレーム、およびフレームFを示すデータを含み得、このことによりユーザは、ターゲットデバイス120Bで動画ファイル全体を視聴する、またはファイルが転送された時点のフレームフレームFから継続して視聴することが出来る。例えば、ユーザおよび/またはアプリケーション1181は、ソースデバイス120Aで動画ファイルフレームFを一時停止し、動画ファイルをターゲットデバイス120Bへ転送し、ターゲットデバイス120BでフレームFから動画の視聴を再開する。登録済アプリケーション1181の第1インスタンスはさらに、セキュアな通信リンク126を介して第1クライアントデバイス120Aのセキュアプロセッサ124と通信を行う。登録済アプリケーション1181の第1インスタンスは、通信リンク126を介してソースデバイス120Aのセキュアプロセッサ124に状態Kaを転送する。登録済アプリケーション1181の第1インスタンスはさらに、セキュアプロセッサ124に対し、ドメインキーP113で状態Kaの暗号化および/または署名を行うよう要求する。登録済アプリケーション1181の第1インスタンスから状態Kaおよび暗号化要求を受信すると、セキュアプロセッサ124は、ドメインキーP113で状態Kaの暗号化および/または署名を行い、ドメイン暗号化されたドメインキーP113で保護された状態ブロブ状態KaPを形成する。プライベートドメイン114Aにクライアントデバイス120A、120Bが登録されると、第1および第2のクライアントデバイス120A、120Bは、互いに通信リンク1322を介して、情報、特に、一方のデバイスで実行中の登録されたアプリケーションの状態情報を通信および転送してもよい。本明細書で説明される通信リンク132の例に加え、通信リンク1322は、近距離無線通信、無線アドホックネットワークなどを含んでもよい。またクライアントデバイス120A、120Bは、協働で利用するシナリオなどにおいて、登録された各クライントデバイスのIPアドレスなどアイデンティティを見つけるべくサーバ102と通信を行ってもよい。クライアントデバイスを見つけると、ソースデバイス120Aは、プライベートドメイン114Aの通信リンク1322を介してターゲットデバイス120Bとのセキュアな接続を確立する。ソースデバイス120Aはさらに、通信リンク132を介して状態KaPをターゲットデバイス120Bへ転送する。状態KaPを受信すると、ターゲットデバイス120B例えば、転送モジュール123Bは、登録済アプリケーション1182の第2インスタンスの起動を開始する。ユーザ、および/または登録済アプリケーション1182の第2インスタンスは、セキュアな通信リンク126Bを介して、ターゲットデバイス120Bのセキュアプロセッサ124Bと通信を行い、状態KaPを転送する。登録済アプリケーション1182の第2インスタンスはさらに、セキュアプロセッサ124Bに対し状態KaPを解読および/または認証するよう要求する。登録済アプリケーション1182の第2インスタンスから状態KaPおよび解読要求を受信すると、セキュアプロセッサ124Bは、ドメインキーP113を用いて状態KaPを解読および/または認証し、状態Kaを生成する。セキュアプロセッサ124Bはさらに、セキュアな通信リンク126Bを介して登録済アプリケーション1182の第2インスタンスへ状態Kaを転送する。状態Kaを受信すると、登録済アプリケーション1182の第2インスタンスは、アプリケーション固有キーKa107を用いて状態Kaを解読および/または認証し、状態KaPで転送された登録済アプリケーション1181の第1インスタンスの状態情報を生成および復元する。登録済アプリケーション1182の第2インスタンスは、生成され復元された状態情報を用いてターゲットデバイス120Bでアプリケーション118の実行を再開する。なお、上述した説明は他の実施形態に代替的に適用することも可能である。例えばそれら他の実施形態においては、第2クライアントデバイス120Bがソースデバイスであり、第1クライアントデバイス120Aがターゲットデバイスである。図2は、本開示の一実施形態に係る、プライベートドメインを設定する動作を示すフローチャート200である。例えば、方法200は、新たなプライベートドメインDを作成する動作動作202と、プライベートドメインDに関連付けられた1以上のデバイスに対応する識別子を含む登録済デバイステーブルを生成する動作動作204と、プライベートドメインDに関連付けられた1以上のユーザに対応する識別子を含む登録済ユーザテーブルを生成する動作動作206と、プライベートドメインDに関連付けられた1以上のアプリケーションに対応する識別子を含む登録済アプリケーションテーブルを生成する動作動作208とを含んでよい。一実施形態によると、プライベートドメインDは、ユーザが開始することでサーバにより、例えばサーバのプライベートドメインエンジンにより生成されてもよい動作202。プライベートドメインDを生成すると、ドメインキーPが生成され得る動作210。ドメインキーPは、サーバ、例えばサーバのドメインキー生成部により生成されてよく、例えば、公開キー、秘密キー、または他の公知の暗号化キーを含んでもよい。ドメインキー生成部は、本開示の譲受人が提供するIntel登録商標AdvancedEncryptionStandardAESなどであってもよいがこれに限定されない任意の暗号化方法を用いてドメインキーPを生成してよい。ドメインキーPは、プライベートドメインDに関連付けられた各デバイスに格納されてもよい動作212。例えば、ドメインキーPは、プライベートドメインDに関連付けられた各デバイスのセキュアプロセッサに格納されてもよい。登録済デバイステーブルは、サーバを通じてユーザにより生成されてもよい動作204。例えば、1以上のユーザが、サーバのデバイス登録エンジンを用いてプライベートドメインDにデバイスを登録し、登録済デバイステーブルを生成してもよい。登録済デバイステーブルは、プライベートドメインDに関連付けられたデバイスの1つにそれぞれが対応する複数の識別子を含んでもよい。同様に、1以上のユーザが、プライベートドメインDに登録し、登録済デバイステーブルを生成してもよい動作206。登録済ユーザテーブルは、プライベートドメインDに関連付けられたユーザの1人にそれぞれが対応する複数の識別子を含んでもよい。登録済ユーザテーブルは、場合によっては、ユーザが関連付けられた特定のデバイスに対応する識別子を含んでもよい。1以上のアプリケーションが、サーバに登録され、登録済アプリケーションテーブルが生成されてもよい動作208。アプリケーションは、ユーザ、製造業者、および/または第三者によって登録されてもよい。例えば、アプリケーションは、アプリケーション登録エンジンを用いてサーバに登録されてもよい。アプリケーションが登録されると、サーバは、例えばアプリケーションキー生成部を用いて、アプリケーション固有キーKaを生成する動作214。アプリケーション固有キーKaは、例えば、公開キー、秘密キー、または他の公知の暗号化キーを含んでもよく、本開示の譲受人が提供するIntel登録商標AdvancedEncryptionStandardAESなどであってもよいがこれに限定されない任意の暗号化方法を用いて生成されてもよい。そしてアプリケーション固有キーKaは、プライベートドメインDに関連付けられた各デバイスに格納されてもよい動作216。例えば、アプリケーション固有キーKaは、各クライアントデバイスの登録済アプリケーション118に格納されてもよい。他の実施形態によると、本開示の方法200はサーバを省略してもよい。特に、1以上のクライアントデバイスは、本明細書に説明するように、プライベートドメインエンジン、デバイス登録エンジン、および/またはアプリケーション登録エンジンを含んでもよい。ユーザは、第1クライアントデバイスのプライベートドメインエンジンを用いてプライベートドメインDを生成し動作202、ドメインキーPを生成してもよい。そしてドメインキーPは、プライベートドメインDに関連付けられた他のデバイスへ転送されてもよい動作212。同様に、1以上のクライアントデバイスは、登録済デバイステーブルを生成してもよい動作204。例えば、第1クライアントデバイスは、デバイスを登録し、登録済デバイステーブルを生成するためのハブとして機能する。そして登録済デバイステーブルは、プリベートドメインDに関連付けられた他のデバイスへ転送されてもよい。代替的に、各クライアントデバイスは互いに独立して、例えばラウンドロビンなどにより登録済デバイステーブルの他のデバイスへ通信されてもよい登録済デバイステーブルの登録および/または生成を行ってもよい。登録済アプリケーションテーブルは、プライベートドメインDに関連付けられたクライアントデバイスのうち1以上のアプリケーション登録エンジンを用いて生成され動作208、アプリケーション固有キーKaは、プライベートドメインDに関連付けられたクライアントデバイスのうち1以上のアプリケーションキー生成部を用いて生成されてもよい動作214。例えば、第1クライアントデバイスは、アプリケーションを登録し、登録済アプリケーションテーブルを生成するためのハブとして機能してもよい。そして登録済アプリケーションテーブルは、登録済デバイステーブルの他のデバイスへ転送されてもよい動作216。登録済ユーザテーブルは、他のテーブルと同様に生成されてもよい動作206。図3は、本開示の一実施形態に係る、第1デバイスで実行中のアプリケーションを第2デバイスへ転送するためのプラットフォーム間のアプリケーション使用連続性の動作を示すフローチャート300である。第1デバイスで実行中のアプリケーションの状態情報の第2デバイスへの転送指示が第1デバイスで受信されたものとする動作302。アプリケーションキーで暗号化状態ブロブ状態Kaが第1デバイスによる生成され得る動作304。状態Kaは、第1アプリケーションから第1デバイスのセキュアプロセッサへ転送され動作306、セキュアプロセッサは、ドメインキーで暗号化状態ブロブ状態KaPを生成してもよい動作308。状態KaPは第2デバイスへ転送され動作310、アプリケーションの第2インスタンスが第2デバイスで起動され得る動作312。状態KaPは第2デバイスのセキュアプロセッサへ転送され得動作314、セキュアプロセッサは、状態KaPを解読および/または認証し、状態Kaを生成してよい動作316。そして状態Kaは第2デバイスで実行されるアプリケーションの第2インスタンスへ転送され得動作318、第2インスタンスは、状態Kaを解読および/または認証し、アプリケーションの第2インスタンスのために状態情報を生成してよい動作320。そしてアプリケーションの第2インスタンスは、第2デバイスで、状態情報に基づき例えば転送機能が第1デバイスで開始された時点から再開してよい動作322。図4は、本開示の様々な実施形態に係るシステム400の他の実施形態を一般的に示す。システム400は、図1のシステム100と同様であるが、クライアントデバイス420A、420Bがハイパーバイザおよび/またはスーパーバイザ410を含み、アプリケーション118が転送動作とは独立している点が異なる。特に、スーパーバイザ410は、アプリケーション118の他のデバイスへの転送をユーザが希望することを示す指示を転送モジュール134から受信すると、アプリケーション1181の第1インスタンスに関連する状態情報を生成する状態情報生成部を含む。スーパーバイザ410はさらに、動作転送指示を受信すると状態ブロブ状態を生成し、アプリケーション固有キーKa107を用いて状態ブロブ状態の暗号化および/または署名を行い、アプリケーション暗号化状態ブロブ状態Kaを形成する。アプリケーション暗号化状態ブロブ状態Kaは、状態情報、および場合によっては、ソースデバイス420Aで実行中の登録済アプリケーション1181の第1インスタンスのデータを含む。スーパーバイザ410はさらに、通信リンク126を介してソースデバイス120Aのセキュアプロセッサ124へ状態Kaを転送し、セキュアプロセッサ124に対し、ドメインキーP113を用いて状態Kaの暗号化および/または署名を行うよう要求する。スーパーバイザ410から状態Kaおよび暗号化要求を受信すると、セキュアプロセッサ124は、ドメインキーP113を用いて状態Kaの暗号化および/または署名を行い、ドメイン暗号化されたドメインキーP113で保護された状態ブロブ状態KaPを形成する。ドメイン暗号化状態ブロブ状態KaPは例えば通信リンク1322を介し第2クライアントデバイス420Bにより受信され得、登録済アプリケーション1182の第2インスタンスが起動される。スーパーバイザ410Bは、セキュアな通信リンク126Bを介してターゲットデバイス420Bのセキュアプロセッサ124Bと通信を行い状態KaPを転送し、セキュアプロセッサ124Bに対し状態KaPを解読および/または認証するよう要求する。登録済アプリケーション1182の第2インスタンスから状態KaPおよび解読要求を受信すると、セキュアプロセッサ124Bは、ドメインキーP113を用いて状態KaPを解読および/または認証し、状態Kaを生成する。セキュアプロセッサ124Bはさらに、セキュアな通信リンク126Bを介してスーパーバイザ410Bへ状態Kaを転送する。状態Kaを受信すると、スーパーバイザ410Bは、アプリケーション固有キーKa107を用いて状態Kaを解読および/または認証し、状態KaPで転送される登録済アプリケーション1181の第1インスタンスの状態情報を生成および復元する。登録済アプリケーション1182の第2インスタンスは、生成され復元された状態情報を用いてターゲットデバイス420Bでアプリケーション118の実行を再開する。図5は、本開示の様々な実施形態に係るシステム500のさらに他の実施形態を一般的に示す。システム500は、プライベートドメインを生成し、および/または、第1クライアントデバイス520ソースデバイス520Aで実行中のアプリケーション118を第2クライアントデバイス520Bターゲットデバイス520Bへ転送する1以上のデバイス520A、520Bを備える。よってシステム500からは、システム100図1の使用連続性サーバ102が省略されている。システム500の一般的概略として、各クライアントデバイス520A、520Bは、実行中のアプリケーションの動作の一方のデバイスから他方への転送を促すべく互いに通信を行う。システム500の態様のうちシステム100図1の態様と同じものは、説明を簡潔にするべく省略する。システム500のデバイス520A、520Bのうち1以上はシステム100のデバイス120A、120Bと同様であってよいが、デバイス520A、520Bのうち少なくとも1つは、本明細書で説明するように、新たなプライベートドメインDを生成し、プライベートドメインDに関連付けられた1以上のデバイスに対応する識別子を含む登録済デバイステーブルを生成し、プライベートドメインDに関連付けられた1以上のユーザに対応する識別子を含む登録済ユーザテーブルを生成し、プライベートドメインDに関連付けられた1以上のアプリケーションに対応する識別子を含む登録済アプリケーションテーブルを生成する。説明を分かりやすくすべく、第1デバイス520Aについて説明する。しかし、システム500のいずれのクライアントデバイスも以下の動作を実行してよい。また第1クライアントデバイス520Aは、1以上のプライベートドメイン例えばプライベートドメインDを生成するプライベートドメインエンジン508と、プライベートドメインDに関連付けられることになる1以上のクライアントデバイスをユーザが登録できるようにし、プライベートドメインDに関連付けられた他のデバイスの1以上へ送信される登録済デバイステーブル121を生成するデバイス登録エンジン510とを含んでよい。ドメインキーP生成部512は、登録済デバイステーブル121に基づいてプライベートドメインDに関連付けられた他のデバイスの1以上に送信されてもよいドメインキーPを生成してもよい。加えて、登録済ユーザテーブル119は、ユーザと、プライベートドメインの1以上のアプリケーションおよび/またはデバイスとをリンクするクライアントデバイス520Aで生成されてもよい。プライベートドメインDに関連付けられることになるアプリケーション118は、第1デバイス520Aのアプリケーション登録エンジン504を用いて登録されてもよい。アプリケーション118が登録されると、アプリケーションキー生成部506はアプリケーション固有キーKaを生成してもよい。登録済アプリケーションテーブル117が生成され得、アプリケーション固有キーKaがアプリケーション1181に格納されてもよい。また第1デバイス520Aは、プライベートドメインDに関連付けられた他のデバイスのうち1以上にアプリケーション固有キーKaを送信してもよい。ユーザは、本明細書に説明した通りに実質的に進められる転送動作を開始してもよい。クライアントデバイス520A、520Bはプライベートドメインを生成し、アプリケーションを登録し、キーKa、Pを生成するので、システム500においては、図1のサーバの必要性がなくなる。繰り返すが、システム500に関連付けられたクライアントデバイスの全てがこれらの機能を実行する必要はなく、代わりに、1つのクライアントデバイスが、図1に示すものと実質的に同じく機能する他のデバイスのハブデバイスとして機能し、キーKa、Pがハブデバイス例えばクライアントデバイス520Aにより生成され、ハブデバイスから受信する点だけが異なるものとしてもよい。図6は、本開示の一実施形態に係る動作を示すフローチャート600である。本実施形態の動作は、第1クライアントデバイスで実行中のアプリケーションの第1インスタンスの動作の、第2クライアントデバイスで実行されるアプリケーションの第2インスタンスへの転送指示を第1クライアントデバイスで受信する動作動作602を含んでもよい。また動作は、アプリケーションの第1インスタンスの動作の第1クライアントデバイスから第2クライアントデバイスへの転送指示に応答し、第1クライアントデバイスでのアプリケーションの実行に関する現在の動作パラメータおよびデータを含む状態情報を第1クライアントデバイスにより生成する動作も含んでよい動作604。動作はさらに、第1クライアントデバイスが状態情報を第2クライアントデバイスへ送信し、第2クライアントデバイスをイネーブルとし、アプリケーションの第2インスタンスと第1クライアントデバイスからの状態情報とを用いて第2クライアントデバイスでアプリケーションの動作を継続する動作を含んでよい動作606。様々なシステムおよび方法を説明してきたが、いずれかの実施形態における様々な特徴が他の実施形態と組み合わせられてもよいことが理解されるであろう。例えば図4のハイパーバイザは、図1および/または5と組み合わせられてもよい。代替的にまたは追加的に図1または4のシステムは、図5で示されるようにサーバを省略するように修正されてもよい。実際、本開示の他の実施形態において、図2、3、および/または6に示される動作は、本開示の態様から逸脱することなく、いずれの図面にも特に示されていないやり方で組み合わせられ得る。よって、図面に正確には示されていない特徴および/または動作に関する請求項は、本開示の態様および内容に含まれるものと見なされる。本開示のシステムおよび/または方法は、状態情報およびデータを維持しつつリアルタイムで、実行アプリケーションの、セキュアかつ動的でありシームレスな、信頼性のあるデバイス間でのポーティングを可能とする。加えて、アプリケーション状態情報の信頼性のある転送およびデータ転送を促すセキュアな通信インフラが確立され得る。他の実施形態において、本開示のシステムおよび/または方法は追加的な利用方式を含んでもよい。ユーザは複数の異なる利用に対応すべく複数の異なる利用方式を想到することが出来る。例えば、MorningCommuteMC方式は、AirportMorningCommuteAMC方式、WorkMorningCommuteWMC方式、および/またはTravelMorningCommuteTMC方式を含みうる。各方式は、特定の利用に関する信頼されたアプリケーションの集まりを含んでもよい。例えばAMC方式は、天気、交通、ラジオコンテンツ、メディアコンテンツ、電話、航空情報、および/または仕事関連のアプリケーションを含みうる。一実施形態において、AMC方式はユーザの家庭システムに集約されてもよい。家を出発する前にユーザは、AMC信頼性アプリケーションの状態情報をユーザの信頼されたドメイン内の他のIAデバイス例えば、スマートフォン、車両の娯楽情報システム、PCなどへ例えば、ジェスチャおよび/または動作技術、音声コマンド、および/またはワンタッチの事前プログラムされたボタンなどを用いることにより転送し得る。ユーザが空港へ走らせるべく自身の車両に乗り込む時には、例えばGPSを含む車両の娯楽情報センターは空港への経路および交通情報を既に表示された状態にしておく。本明細書で説明される実施形態は、本明細書で説明される方法および/または動作を実行するハードウェア、ソフトウェア、および/または、ファームウェアなどを用いて実施することも出来る。本明細書で説明されるいくつかの実施形態は、機械により実行されると当該機械に対し本明細書で説明される方法および/または動作を実行させる機械実行可能命令を格納した有形の機械可読媒体として提供されてもよい。有形の機械可読媒体の例としては、フロッピー登録商標ディスク、光学ディスク、コンパクトディスク読み取り専用メモリCD-ROM、コンパクトディスク書き換え可能CD-RW、および光磁気ディスクを含むいずれかのタイプのディスク、読み取り専用メモリROMsなどの半導体デバイス、動的および静的ランダムアクセスメモリRAMなどのRAM、消去可能プログラム可能読み取り専用メモリEPROM、電気的消去可能プログラム可能読み取り専用メモリEEPROM、フラッシュメモリ、磁気または光学カード、或いは、電子命令の格納に適したいずれかのタイプの有形媒体が含まれるがこれらに限定されない。機械には、いずれかの適した処理プラットフォーム、デバイスまたはシステム、コンピューティングプラットフォーム、デバイス、またはシステムが含まれ、ハードウェアおよび/またはソフトウェアの何らかの適した組み合わせを用いて実装されてもよい。命令には何らかの適したタイプのコードが含まれ、何らかの適したプログラム言語を用いて実装されてもよい。よって一実施形態において、本開示はクライアントデバイス間のアプリケーション使用連続性を提供するシステムを提供する。システムは、アプリケーションの第1インスタンスを実行する第1クライアントデバイスと、アプリケーションの第2インスタンスを実行する第2クライアントデバイスとを含む。第1クライアントデバイスはさらに、第1クライアントデバイスで実行中のアプリケーションの第1インスタンスの動作の、第2クライアントデバイスで実行されるアプリケーションの第2インスタンスへの転送指示を受信し、第1クライアントデバイスで実行中のアプリケーションの第1インスタンスの実行に関する状態情報およびデータを生成する。第1クライアントデバイスはさらに、状態情報を第2クライアントデバイスへ送信させ、第2クライアントデバイスでのアプリケーションの第2インスタンスをイネーブルとし、第1クライアントデバイスからの状態情報を用いて第2クライアントデバイスでアプリケーションの動作を継続する。他の実施形態において、本開示は、アプリケーションの第1インスタンスを実行する第1クライアントデバイスとアプリケーションの第2インスタンスを実行する第2クライアントデバイスと間のアプリケーション使用連続性を提供する方法を提供する。方法は、第1クライアントデバイスで実行中のアプリケーションの第1インスタンスの動作の、第2クライアントデバイスで実行されるアプリケーションの第2インスタンスへの転送指示を第1クライアントデバイスで受信する段階と、アプリケーションの第1インスタンスの動作転送指示に応答し、第1クライアントデバイスで実行中のアプリケーションの第1インスタンスの実行に関する状態情報およびデータを第1クライアントデバイスにより生成する段階と、第1クライアントデバイスが状態情報およびデータを第2クライアントデバイスへ送信し、第2クライアントデバイスでのアプリケーションの第2インスタンスをイネーブルとし、アプリケーションの第2インスタンスと第1クライアントデバイスからの状態情報とを用いて第2クライアントデバイスでアプリケーションの動作を継続する段階とを含む。他の実施形態において、本開示は、1以上のプロセッサにより実行されるとコンピュータシステムに対し、アプリケーションの第1インスタンスの動作の転送指示に応答し、第1クライアントデバイスで実行中のアプリケーションの第1インスタンスの実行に関する状態情報およびデータを第1クライアントデバイスにより生成する手順と、第1クライアントデバイスが状態情報を第2クライアントデバイスへ送信し、第2クライアントデバイスでのアプリケーションの第2インスタンスをイネーブルとし、第1クライアントデバイスからの状態情報を用いて第2クライアントデバイスでアプリケーションの動作を継続する手順とを実行させる命令を格納した有形のコンピュータ可読媒体を提供する。本明細書で用いられている用語および表現は、説明のための用語として用いられ、限定のために用いられるものではない。そのような用語および表現が用いられているからといって、示され説明される特徴またはその一部の同等物を除外することは意図されておらず、請求項の範囲内で様々な修正を加えることが可能である。したがって、請求項はそのような同等物の全てを網羅するものとする。本明細書において様々な特徴、態様、および実施形態を説明してきた。当業者には理解いただけるように、それら特徴、態様、および実施形態は互いに組み合わせられ得、変更および修正が加えられ得る。よって本開示は、そのような組み合わせ、変形例、および修正例も網羅するものと見なされるべきである。