(57)【特許請求の範囲】
【請求項１】
第１のデバイスを１つまたは複数のネットワークに接続することであって、前記第１のデバイスはユーザプロファイルに対して構成されることと、
前記第１のデバイス上のアプリケーションにおいて第１のタスクを作動させることであって、前記第１のデバイス上の前記アプリケーションは、第１のタスクコンテキストデータを含み、前記第１のタスクコンテキストデータは、少なくとも部分的に、最も近時のユーザ入力から構成されることと、
前記第１のタスクコンテキストデータを第１のユーザプロファイル更新として前記第１のデバイス上のデータストレージに保存することであって、前記データストレージはユーザプロファイルデータを記憶するように構成されることと、
第２のデバイスを前記１つまたは複数のネットワークに接続することであって、前記第２のデバイスは前記ユーザプロファイルに対して構成されることと、
複数の近時に閲覧したタスクのうちの少なくとも１つのタスクを前記第２のデバイス上に表示することであって、複数の閲覧されたタスクのうちの前記少なくとも１つのタスクが少なくとも前記第１のタスクを含むことと、
前記第２のデバイス上の前記第１のタスクを選択することと、
少なくとも部分的に、前記第１のタスクを前記選択することに基づいて、前記第２のデバイス上のアプリケーションを起動することと、
前記第２のデバイス上の前記アプリケーションにおいて前記第１のタスクを作動させることであって、前記第２のデバイス上の前記アプリケーションは前記第１のタスクコンテキストデータを含むことと、
第２のコンテキストデータを第２のユーザプロファイル更新として前記第２のデバイス上のデータストレージに保存することであって、前記第２のデバイス上の前記データストレージは、ユーザプロファイルデータを記憶するように構成されることと、
を含む、方法。
【請求項２】
前記第１のデバイス上の前記アプリケーションおよび前記第２のデバイス上の前記アプリケーションは同じアプリケーションである、請求項１に記載の方法。
【請求項３】
前記第１のデバイス上の前記アプリケーションはアプリケーションとして構成され、前記第２のデバイス上の前記アプリケーションはウェブブラウザとして構成される、請求項１に記載の方法。
【請求項４】
前記第１のデバイスは、オペレーティングシステムを用いて構成され、前記第２のデバイスは、前記オペレーティングシステムを用いて構成される、請求項１に記載の方法。
【請求項５】
前記第１のデバイスは、第１のオペレーティングシステムにおいて構成され、前記第２のデバイスは、第２のオペレーティングシステムにおいて構成され、前記第２のオペレーティングシステムは前記第１のオペレーティングシステムと異なる、請求項１に記載の方法。
【請求項６】
前記１つまたは複数のネットワークは、少なくとも分散型サービスプラットフォームから構成される、請求項１〜４のいずれか１項に記載の方法。
【請求項７】
前記分散型サービスプラットフォームは、
前記ユーザプロファイルに対して構成された複数のデバイスのうちの少なくとも１つから、前記ユーザプロファイルデータを送受信するように構成される、クロスデバイスアクティビティモジュールから構成される、請求項６に記載の方法。
【請求項８】
前記１つまたは複数のネットワークは、少なくとも近接通信ネットワークアーキテクチャから構成される、請求項１〜４のいずれか１項に記載の方法。
【請求項９】
複数の近時に閲覧したタスクのうちの少なくとも１つを前記表示することは、表示アプリケーション固有のデータをさらに含み、前記アプリケーション固有のデータは、少なくとも部分的に、前記第１のデバイス上のアプリケーションにおいて第１のタスクを作動させることに基づき、
アプリケーションが提案したユーザアクションと、
アプリケーションプロモーションと、
のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１０】
前記第１のデバイス上のアプリケーションにおいて前記第１のタスクを前記作動させることは、前記第２のデバイス上のアプリケーションにおいて前記第１のタスクを作動させることと同時に生じる、請求項１に記載の方法。
【請求項１１】
前記第１のデバイス上のアプリケーションにおいて前記第１のタスクを前記作動させることは、前記第２のデバイス上のアプリケーションにおいて前記第１のタスクを作動させることと連続して生じる、請求項１に記載の方法。
【請求項１２】
第１のデバイスおよび第２のデバイスを、分散型サービスプラットフォームの基準ユーザプロファイルに対して構成することと、
前記第１のデバイス上のアプリケーションにおいて第１のタスクを作動させることであって、前記第１のデバイス上の前記アプリケーションは、第１のタスクコンテキストデータを含み、前記第１のタスクコンテキストデータは、少なくとも部分的に、最も近時のユーザ入力から構成されることと、
前記第１のタスクコンテキストデータを前記第１のデバイス上のデータストレージの第１のユーザプロファイルに保存することと、
ネットワーク接続を介して、前記分散型サービスプラットフォームの前記基準ユーザプロファイルに前記第１のデバイスを接続することと、
前記第１のユーザプロファイルの更新を、前記基準ユーザプロファイルに送信することと、
前記第１のユーザプロファイルと、前記基準ユーザプロファイルとが同一のデータを含むように、前記基準ユーザプロファイルを更新することと、
前記ネットワーク接続を介して、前記分散型サービスプラットフォームの前記基準ユーザプロファイルに前記第２のデバイスを接続することと、
前記前記基準ユーザプロファイルを、前記第２のデバイス上のデータストレージの第２のユーザプロファイルに送信することと、
前記第２のユーザプロファイルと、前記基準ユーザプロファイルとが同一のデータを含むように、前記第２のユーザプロファイルを更新することと、
複数の近時に閲覧したタスクのうちの少なくとも１つを前記第２のデバイス上に表示することであって、前記複数の近時に閲覧したタスクが少なくとも前記第１のタスクを含むことと、
前記第２のデバイス上の前記第１のタスクを選択することと、
少なくとも部分的に、前記第１のタスクを前記選択することに基づいて、前記第２のデバイス上のアプリケーションを起動することと、
前記第２のデバイス上の前記アプリケーションにおいて前記第１のタスクコンテキストデータを作動させることと、
少なくとも前記第２のデバイスのけるユーザ入力に部分的に基づいて、前記第２のユーザプロファイルを更新することと、
を含む、方法。
【請求項１３】
前記第２のデバイス上に複数の近時に閲覧したタスクのうちの少なくとも１つを前記表示することは、ランキング構造で構成され、前記ランキング構造は、前記複数の近時に閲覧したタスクそれぞれがユーザにより最後に閲覧された時間に少なくとも基づく、請求項１２に記載の方法。
【請求項１４】
前記ランキング構造は、
ユーザプリファレンス、
アプリケーション使用頻度、
アプリケーション閲覧持続時間、
ウェブサイト使用頻度、
ウェブサイト閲覧持続時間、
アプリケーションユーザが提案したアクション、または
アプリケーションプロモーション、
のうちの少なくとも１つに基づく、請求項１３に記載の方法。
【請求項１５】
第３のデバイスをユーザプロファイルに対して構成することと、
近接通信ネットワーク接続を介して、前記第２のデバイスおよび前記第３のデバイスを近接通信ネットワークに接続することと、
前記第２のユーザプロファイルの更新を、前記近接通信ネットワーク接続を介して、前記第２のデバイスから前記第３のデバイスへ送信することと、
前記第２のデバイス上の前記第２のユーザプロファイルと、前記第３のデバイス上の前記ユーザプロファイルとが同一のデータを含むように、前記第３のデバイス上の前記ユーザプロファイルを更新することと、
複数の近時に閲覧したタスクのうちの少なくとも１つを前記第３のデバイス上に表示することであって、前記複数の近時に閲覧されたタスクのうちの少なくとも１つが前記第１のタスクを含むことと、
前記第３のデバイス上の前記第１のタスクを選択することと、
少なくとも部分的に、前記第１のタスクを前記選択することに基づいて、前記第３のデバイス上のアプリケーションを起動することと、
前記第３のデバイス上の前記アプリケーションにおいて前記第１のタスクコンテキストデータを作動させることと、
前記第３のデバイス上の前記ユーザプロファイルを更新することと、をさらに含む請求項１２に記載の方法。
【請求項１６】
前記第２のデバイス上で前記第１のタスクを完了させることと、
タスク完了信号を、前記基準ユーザプロファイルおよび前記第１のデバイス上の前記第１のユーザプロファイルに送信することと、
前記タスク完了信号の受信に応答して、前記基準ユーザプロファイル、前記第１のデバイス上の前記第１のユーザプロファイルおよび前記第２のデバイス上の前記第２のユーザプロファイルから前記タスクを削除することと、
前記基準ユーザプロファイル、前記第１のデバイス上の前記第１のユーザプロファイルおよび前記第２のデバイス上の前記第２のユーザプロファイルを更新することと、をさらに含む請求項１２に記載の方法。
【請求項１７】
コンピュータ実行可能命令を有するコンピュータ可読記憶装置であって、前記コンピュータ実行可能命令は、実行に応答して、
ユーザプロファイル内の複数のアプリケーションにおける複数のタスクを特定することであって、前記ユーザプロファイルはユーザプロファイルデータから構成されることと、
前記複数のタスクの各々がデバイス上でユーザによって最後に閲覧された時点を特定することと、
前記複数のタスクの各々が前記ユーザによって最後に閲覧された前記時点に少なくとも部分的に基づいて、前記複数のアプリケーションにおける前記複数のタスクをランク付けすることと、
前記ランキングに少なくとも部分的に基づいて、前記複数のタスクのうちの少なくとも１つを表示のために提供することと、
前記表示される複数のタスクからの特定のタスクの選択を受信することと、
前記特定のタスクを変更することと、
前記特定のタスクのためのタスクコンテキストデータをデータストレージに保存することであって、前記タスクコンテキストデータは、少なくとも、前記特定のタスクの前記変更を含むことと、
前記特定のタスクの前記タスクコンテキストデータを用いて前記ユーザプロファイルデータを更新することと、
を含む動作を行うように前記デバイスを構成する、コンピュータ可読記憶装置。
【請求項１８】
前記動作は、
前記デバイスを分散型サービスプラットフォームに接続することであって、前記分散型サービスプラットフォームは、少なくとも、
基準ユーザプロファイルデータを記憶するように構成された基準ユーザプロファイルと、
クロスデバイスアクティビティモジュールと、
を含むことと、
前記基準ユーザプロファイルおよび前記ユーザプロファイルが同じデータを含むように前記ユーザプロファイルデータを用いて前記基準ユーザプロファイルデータを更新するために、前記デバイスから前記基準ユーザプロファイルに前記ユーザプロファイルデータを送信することと、
をさらに含む、請求項１７に記載のコンピュータ可読記憶装置。
【請求項１９】
前記動作は、
第２のデバイスを分散型サービスプラットフォームに接続することであって、前記第２のデバイスは基準ユーザプロファイルに対して構成され、第２のデータストレージ内に第２のユーザプロファイルを含み、前記第２のユーザプロファイルはユーザプロファイルデータを記憶するように構成されることと、
前記基準ユーザプロファイルデータを前記第２のユーザプロファイルに送信することと、
前記第２のユーザプロファイルデータが少なくとも前記特定のタスクのための前記タスクコンテキストデータを含むように、前記基準ユーザプロファイルデータを用いて前記第２のユーザプロファイルデータを更新することと、
をさらに含む、請求項１７に記載のコンピュータ可読記憶装置。
【請求項２０】
前記動作は、
近接通信ネットワーク内の第２のデバイスに前記デバイスを接続することと、
前記デバイスから前記第２のデバイス内のデータストレージに前記ユーザプロファイルデータを送信することと、
前記第２のデバイス上の第２のユーザプロファイルデータを、前記デバイスからの前記ユーザプロファイルデータを用いて更新することと、
をさらに含む、請求項１７に記載のコンピュータ可読記憶装置。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  スマートフォン、パーソナルコンピュータ、タブレット、ツーインワンデバイス等のデバイスは、社会においてユビキタスである。人々はこれらのデバイスを複数の異なる機能のために使用し、各機能は、潜在的に、デバイスを介してアクセスされる異なるアプリケーションまたはウェブサイト上で実行される。多くの場合、人々は２つ以上のデバイスを所有し、それらのデバイスの各々が複数のアプリケーションを十分備えており、ウェブサイトへのアクセスを提供する。
【０００２】
[0002]  一方、デバイスは、一般に、互いの間で進行中のタスクに関する情報をシームレスに共有する能力に欠けている。デバイス間の任意の共有は、デバイス間の明示的な保存および転送を必要とする。このため、ユーザがタスクを継続するための第２のデバイスをピックアップするとき、一般に、所望のアプリケーションを見つけようとして余計な時間を費やさなくてはならず、ユーザがタスクを中止した場所を特定することが可能である場合であっても、この特定にさらなる時間を費やさなくてはならない。
【発明の概要】
【０００３】
[0003]  本開示は、ユーザが、別のデバイス上を含む、自身が最後に特定のタスクを閲覧および／または変更した場所を容易に検出することを可能にすることに重点を置いたタスク継続性のためのシステムおよび方法を記載している。タスク継続性は、高価値のアプリケーションおよびウェブサイトの使用ならびにタスクの再開をもたらすために、タスクのフリクションのないエンゲージおよび再エンゲージを提供し、その結果、ユーザ満足度が増大する。タスク継続性は、単一のデバイス上でおよび／または複数のデバイスにわたって有効にされる。同様に、タスク継続性は、単一のオペレーティングシステム上でおよび／または複数のオペレーティングシステムにわたって有効にされる。
【０００４】
[0004]  いくつかの例では、第１のデバイス上のアプリケーションにおいてタスクを行うユーザは、アプリケーションにおいてタスクを中断する場合がある。その時点において、または未来の時点において、ユーザは第２のデバイスをウェイクアップすることができる。ウェイクアップに応答して、第２のデバイスは、タスクが第１のデバイス上で中断されたポイントからタスクを継続するオプションをユーザに与えることができる。様々な例では、ユーザは、第１のデバイス上のアプリケーションにおいてタスクを行うことができ、第２のデバイスをピックアップし、第１のデバイス上のタスクと同時に第２のデバイス上のタスクを行うことができる。いくつかの例では、ユーザは、第１のデバイス上のアプリケーションにおいてタスクを行うことができ、第２のデバイスをピックアップし、第１のデバイス上のタスクに関連付けられた、第２のデバイス上の第２のタスクを行うことができる。
【０００５】
[0005]  この発明の概要は、発明を実施するための形態において以下でさらに説明される単純化された形態の概念の抜粋を紹介する。この発明の概要は、特許請求の範囲の主要な特徴または重要な特徴を特定することを意図するものでもなければ、特許請求される主題の範囲を決定する際の助けとして用いられることを意図するものでもない。
【０００６】
[0006]  添付の図面を参照して、発明を実施するための形態が示される。図面において、参照符号の最も左の桁は、その参照符号が最初に現れる図面を識別する。異なる図面における同じ参照符号の使用は、類似のまたは同一のアイテムを示す。
【図面の簡単な説明】
【０００７】
【図１】[0007]クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムの例示的な環境を示す図である。
【図２】[0008]図１と一致したクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムを備える例示的なデバイスをより詳細に示す図である。
【図３】[0009]先行する図と一致したクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムを備えるデバイス上の例示的なディスプレイモジュールを示す図である。
【図４】[0010]先行する図と一致したクロスデバイスおよび／またはクロスオペレーティングシステムの例示的なネットワーク環境を示す図である。
【図５】[0011]先行する図と一致したクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムの例示的なプロセスを示す図である。
【図６】[0012]図１〜図４と一致したクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムの別の例示的なプロセスを示す図である。
【図７】[0013]先行する図と一致したクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムにおけるプロセスフローを示す図である。
【図８】[0014]先行する図と一致したクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムを用いたクロスアプリケーションタスク変更のためのプロセスフローを示す図である。
【発明を実施するための形態】
【０００８】
概観
[0015]  クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性（「タスク継続性」）により、タスクの発見およびフリクションのないエンゲージおよび再エンゲージを容易にすることができ、それによって、ユーザは、デバイスタイプまたはオペレーティングシステムと無関係に、複数のデバイスおよび／またはオペレーティングシステムにわたってタスクをシームレスに実行することができる。
【０００９】
[0016]  本開示は、容易な発見、ならびに複数のデバイスおよび／またはオペレーティングシステムにわたってタスクをシームレスに継続する機能を可能にする方法およびシステムを記載する。タスクは、楽曲またはプレイリストを聴くこと、ニュース記事を読むこと、文書を書くこと、または多数の他のアクティビティ等の、ユーザがアプリケーションおよび／またはウェブサイト上で行う特定のアクティビティを含むことができる。本明細書において記載されるとき、タスク継続性は、インタラクティブであり得る。本明細書において記載されるとき、タスク継続性は、ユーザが、複数のアプリケーションおよび／またはウェブサイトのうちの少なくとも１つにおいて１つまたは複数の以前に閲覧および／または変更されたタスクを容易に発見することを可能にすることができる。１つまたは複数の以前に閲覧および／または変更されたタスクの発見は、ユーザのために構成された１つのデバイスまたは複数のアクティブなデバイス上で生じることができる。本明細書において用いられるとき、アクティブなデバイスとは、ネットワークを介して発見可能なデバイスである。
【００１０】
[0017]  デバイスの発見可能性は、電源オン、スリープモードオフ、機内モードオフ、および／またはネットワークを介してデバイスを利用可能にさせる任意の他のアクションに基づくことができる。ネットワークを介した利用可能性は、Ｗｉ−Ｆｉセンサ、Ｂｌｕｅｔｏｏｔｈ（登録商標）センサ、近接センサ、有線接続、および／またはネットワークインタフェースを検出することが可能な任意の他のセンサによって決定することができる。
【００１１】
[0018]  タスク継続性は、ユーザが１つまたは複数の以前に閲覧および／または変更されたタスクのうちの特定のタスクを選択するための方法を提供することができる。選択に応答して、タスクが最後に閲覧および／または変更された時点で特定のタスクを再エンゲージすることができる。いくつかの例では、タスク継続性は、異なるアプリケーションにおいて特定のタスクを再開する方法をユーザに提供することができる。様々な例では、タスク継続性は、ウェブブラウザにおいて特定のタスクを再開する方法をユーザに提供することができる。いくつかの例では、タスク継続性は、少なくとも以前に閲覧したタスクに基づいてユーザに提供される、アプリケーションおよび／またはウェブサイトに固有の情報に基づいて、新たなタスクにエンゲージすることを選択する方法をユーザに提供することができる。
【００１２】
[0019]  タスク継続性は、タスクの豊富な再エンゲージをユーザに提供する。少なくとも１つの例では、豊富な再エンゲージは、ユーザに、１つまたは複数のタスクにおける最も近時のユーザ入力および／またはアクションに関係するタスクコンテキストデータを提供することができる。いくつかの例では、アプリケーションおよび／またはウェブサイトは、１つまたは複数のタスクに関連付けられたアプリケーションまたはウェブサイトに固有のデータに関係する他のオプションをユーザに提供することができる。例えば、スマートテレビにおけるアプリケーションは、録画番組またはライブ番組を表示することができ、スマートフォンまたは別のセカンダリデバイスにおけるアプリケーションは、録画番組またはライブ番組に関する情報を提供することができる。いくつかの例では、スマートフォンまたは別のセカンダリデバイスにおけるアプリケーションは、タレントショーにおける最も優れた歌手へのライブ投票等の、録画番組またはライブ番組のアプリケーション固有のオプションを提供することができる。
【００１３】
[0020]  タスク継続性において、少なくとも１つのデバイスは、ユーザプロファイルに対して構成される。少なくとも１つの例では、ユーザプロファイルにおいて構成されるデバイスは、アプリケーションおよび／またはウェブサイト上のタスクのためのタスクコンテキストデータが、分散型サービスプラットフォームにおける基準ユーザプロファイルに保存される、クラウド等の分散型サービスプラットフォームに接続される。基準ユーザプロファイルは、タスク継続性における複数のデバイスのうちの少なくとも１つのためのユーザプロファイルデータの中央基準点としての役割を果たすことができる。
【００１４】
[0021]  タスクコンテキストデータは、タスクが最後に閲覧および／または変更された時点、タスクが閲覧および／または変更された回数、テキスト、デバイスディスプレイ情報、画像、およびアプリケーションおよび／またはウェブサイトにおける任意の他のデータを含むことができる。いくつかの例では、分散型サービスプラットフォームにおける基準ユーザプロファイル上のクロスデバイスアクティビティモジュールは、分散型サービスプラットフォームにおける１つまたは複数のアクティブなデバイスおよび／または基準ユーザプロファイル上のクロスデバイスアクティブティモジュールから、タスクコンテキストデータを定期的にプルすることができる。様々な例では、分散型サービスプラットフォームにおける基準ユーザプロファイル上のクロスデバイスアクティブティモジュールは、１つまたは複数のアクティブなデバイスからプッシュされたタスクコンテキストデータを定期的に受信することができる。５秒ごと、１０秒ごと、または任意の他の期間ごとに、最も近時のタスクコンテキストデータを、クロスデバイスアクティビティモジュールがプルし、および／または１つまたは複数のアクティブなデバイスがプッシュすることができる。クロスデバイスアクティブティモジュールは、ユーザプロファイルにおける対応するアプリケーションおよび／またはウェブサイトにタスクコンテキストデータを保存することができる。
【００１５】
[0022]  様々な例では、アクティブなデバイスは、ネットワーク接続を介してアクティブなデバイスから更新をプッシュすることによって、分散型サービスプラットフォームにおいてタスクコンテキストデータが基準ユーザプロファイルに送信されるようにすることができる。タスクコンテキストデータは、ユーザプロファイルに対して構成され、分散型サービスプラットフォームにアクセスすることが可能な任意のデバイスにおける任意の時点での容易なアクセスのために分散型サービスプラットフォームに記憶することができる。
【００１６】
[0023]  タスク継続性は、デバイス間でデータを更新するための近接通信ネットワークを用いることもできる。近接通信ネットワークは、少なくとも２つのデバイスの近接性に基づいて、ピアツーピア、ワイヤレスＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩｒＤＡ、Ｚ−Ｗａｖｅ、ボディエリア、または任意の他の有線もしくは無線経路とすることができる。近接性は、有線接続および／または近接センサによって判断することができる。近接通信ネットワークでは、少なくとも２つのデバイスが、デバイス間でタスクコンテキストデータを共有することができ、それによって、第１のデバイス上で提示および／または変更されているタスクを、近接する第２のデバイスによって特定することができ、第２のデバイスは、第１のデバイス上のタスクからタスクコンテキストデータを表示することができる。このため、第１のデバイス上のタスクの提示および／または変更を停止することができ、タスクは、第２のデバイスにおいて、第１のデバイスにおいて中止した場所からシームレスに再開することができる。いくつかの例では、第１のデバイスおよび第２のデバイスが互いに近接していることに応答して、タスクコンテキストデータは、第１のデバイスおよび第２のデバイスにおいて同時に利用可能とすることができる。
【００１７】
[0024]  いくつかの例では、近接通信ネットワークは、デバイス間で以前に閲覧および／または変更された１つまたは複数のタスクのタスクコンテキストデータの明示的な送信を可能にすることができる。いくつかの例では、タスクコンテキストデータの転送は暗黙的であり、第１のデバイスおよび第２のデバイスが互いに近接していることに応答して、第２のデバイスが、第１のデバイスから以前に提示および／または変更された１つまたは複数のタスクのタスクコンテキストデータをプルするようになっている場合がある。
【００１８】
[0025]  いくつかの例では、タスク継続性は、豊富なタスク再エンゲージを提供するために、分散型サービスプラットフォーム、近接通信ネットワーク、および／または分散型サービスプラットフォームと近接通信ネットワークとの組合せを用いてデバイス間のデータを更新することもできる。
【００１９】
[0026]  異なるオペレーティングシステムを有するデバイス間のタスク継続性も可能にすることができる。例えば、第１のデバイスは、ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムで作動するように構成することができ、ＬＩＮＵＸ、ＡＮＤＲＯＩＤ（登録商標）オペレーティングシステム、ｉＯＳ（商標）オペレーティングシステム、または別のオペレーティングシステム上で作動するように構成された第２のデバイスを用いてユーザプロファイルデータを送受信することができる。
【００２０】
例示的な環境
[0027]  以下で説明される環境は、１つの例を構成するにすぎず、特許請求の範囲を、いかなる１つの特定の動作環境にも限定することを意図されない。特許請求される主題の趣旨および範囲から逸脱することなく他の環境を用いることができる。
【００２１】
[0028]  クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性により、複数のデバイスにわたって、または複数のデバイス上で同時に、途切れのないタスクの継続が可能になる。タスクは、ユーザがデバイスにおいてアプリケーションおよび／またはウェブサイト上で行う特定のアクティビティ、例えば、楽曲またはプレイリストを聴くこと、ニュース記事を読むこと、文書を書くこと、または多数の他のアクティビティを含むことができる。例えば、ユーザが、デスクトップコンピュータにおいてプレイリストを聴いている場合があり、デスクトップコンピュータのロケーションを離れる必要がある場合がある。ユーザはスマートフォンをピックアップし、デスクトップにおいて中止した場所からスマートフォンでの再生を開始し、そのスマートフォンにおいて同じプレイリストを聴くことを継続することができる。別の例では、ユーザは、デスクトップおよびスマートフォンにおいて同じプレイリストを同時に聴くことができ、双方のデバイスがプレイリストを同時に再生する。別の例では、ユーザはスマートフォンをピックアップし、デスクトップにおいてプレイリストを聴くことを継続しながら、プレイリストを補完する情報を受信することができる。
【００２２】
[0029]  図１は、クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムの例示的な環境１００を示す。環境１００のデバイス１０２および／またはコンポーネントは、１つまたは複数のネットワーク１０４を介して通信するように構成される多岐にわたるデバイスタイプを含むことができ、いかなる特定のデバイスタイプにも限定されない。いくつかの例では、１０２（１）等のデバイス１０２は、限定ではないが、分散型コンピューティングリソースを動作させることが可能であるような、サーバ、デスクトップコンピュータ、パーソナルコンピュータ、ネットワーク対応テレビ、端末、ゲームコンソール、セットトップボックス、ゲーミングデバイス、ワークステーションおよびシンクライアントを含む、固定デバイスを含むことができる。いくつかの例では、１０２（２）等のデバイス１０２は、限定ではないが、携帯電話、タブレットコンピュータ、携帯電話タブレットハイブリッド、携帯情報端末（PDA）、ラップトップコンピュータ、メディアプレーヤ、パーソナルビデオレコーダ（PVR）、カメラ、および任意の他のモバイルコンピュータまたは任意の他のモバイル電気通信デバイスを含む、モバイルデバイスを含むことができる。いくつかの例では、デバイス１０２（３）等のデバイス１０２は、限定ではないが、ウェアラブルコンピュータ、埋込み型コンピューティングデバイス、自動車用コンピュータ、グローバルポジショニングシステム（GPS）および他の衛星ベースのナビゲーションシステムデバイス、機器を備える衛星ベースのナビゲーションシステム等のコンピュータナビゲーション型デバイス、ならびにコンピューティングデバイスに含めるための内蔵コンポーネントを含む、組込み式デバイスを含むことができる。様々な例では、デバイス１０２（Ｎ）等のデバイス１０２は、１つまたは複数のネットワーク１０４を介して通信するように構成された任意の他の種類のコンピューティングデバイスを含むことができる。
【００２３】
[0030]  例えば、ネットワーク１０４は、インターネット等のパブリックネットワーク、組織的イントラネットおよび／またはパーソナルイントラネット等のプライベートネットワーク、またはプライベートネットワークおよびパブリックネットワークの何らかの組合せを含むことができる。ネットワーク１０４は、限定ではないが、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、パーソナルエリアネットワーク（PAN）、ボディエリアネットワーク（BAN）、近距離通信（NFC）、衛星ネットワーク、ケーブルネットワーク、Ｗｉ−Ｆｉネットワーク、ＷｉＭａｘネットワーク、モバイル通信ネットワーク（例えば、３Ｇ、４Ｇ等）またはそれらの任意の組合せを含む任意のタイプの有線および／または無線ネットワークも含むことができる。ネットワーク１０４は、インターネットプロトコル（IP）、伝送制御プロトコル（TCP）、ユーザデータグラムプロトコル（UDP）、または他のタイプのプロトコル等のパケットベースおよび／またはデータグラムベースのプロトコルを含む、通信プロトコルを利用することができる。さらに、ネットワーク１０４は、スイッチ、ルータ、ゲートウェイ、アクセスポイント、ファイアウォール、基地局、リピータ、バックボーンデバイス等の、ネットワーク通信を容易にし、および／またはネットワークのためのハードウェアベースを形成する複数のデバイスも含むことができる。
【００２４】
[0031]  いくつかの例では、ネットワーク１０４は、無線アクセスポイント（WAP）等の無線ネットワークへの接続を可能にするデバイスをさらに備えることができる。ＷＡＰを通じて接続性をサポートする例は、電気電子技術者協会（IEEE）８０２．１１規格（例えば、８０２．１１ｇ、８０２．１１ｎ等）および他の基準をサポートするＷＡＰを備えて、様々な電磁周波数（例えば、無線周波数）にわたってデータを送信および受信する。
【００２５】
[0032]  デバイス１０２は、いくつかの例では、システムバス、データバス、アドレスバス、ＰＣＩバス、ミニＰＣＩバス、ならびに任意の多岐にわたるローカルバス、周辺バスおよび／または独立バスのうちの１つまたは複数を含むことができるバス１１０等を介して、コンピュータ可読媒体１０８に作動連結された１つまたは複数の処理ユニット１０６を有する任意のコンピューティングデバイスを含むことができる。コンピュータ可読媒体１０８上に記憶される実行可能命令は、例えば、オペレーティングシステム１１２、継続性フレームワーク１１４、ならびに処理ユニット１０６によってロード可能および実行可能である他のモジュールおよびプログラムを含むことができる。
【００２６】
[0033]  デバイス１０２上のオペレーティングシステム１１２は、限定ではないが、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）  ＰＨＯＮＥ、ＱＮＸ（商標）、ＩＢＭ  ｚ／ＯＳ（商標）、ＬＩＮＵＸ、ＡＮＤＲＯＩＤ（登録商標）、ｉＯＳ（商標）、ＯＳ  Ｘ（商標）、ＮＥＴＢＳＤ（商標）、またはコンピュータハードウェアおよびソフトウェアリソースを管理することが可能な任意の他のオペレーティングシステムを含む任意のオペレーティングシステムとすることができる。いくつかの例では、デバイス１０２（１）および１０２（２）は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）等のオペレーティングシステム１１２を含むことができる。様々な例では、デバイス１０２（１）は、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）等のオペレーティングシステム１１２（１）を含むことができる一方、デバイス１０２（２）は、ＡＮＤＲＯＩＤ（登録商標）等のオペレーティングシステム１１２（２）を含むことができる。
【００２７】
[0034]  代替的に、または加えて、本明細書において説明される機能は、少なくとも部分的に、アクセラレータ等の１つまたは複数のハードウェア論理コンポーネントによって行うことができる。例えば、限定ではないが、用いることができる例示的なタイプのハードウェア論理コンポーネントは、フィールドプログラマブルゲートアレイ（FPGA）、特定用途向け集積回路（ASIC）、特定用途向け標準製品（ASSP）、システムオンチップシステム（SOC）、複雑なプログラマブル論理デバイス（CPLD）等を含む。例えば、アクセラレータは、ＦＰＧＡファブリックに埋め込まれたＣＰＵコース（CPU course）を含むＺＹＬＥＸまたはＡＬＴＥＲＡからのハイブリッドデバイス等のハイブリッドデバイスを表すことができる。
【００２８】
[0035]  デバイス１０２は、デバイス１０２（１）と、デバイス１０２（２）〜１０２（Ｎ）等のタスク継続性に関与する他のネットワーク接続されたデバイスとの間の通信を可能にするための１つまたは複数のネットワークインタフェース１１６も備えることができる。そのようなネットワークインタフェース１１６は、ネットワークを介して通信を送信および受信するための１つまたは複数のネットワークインタフェースコントローラ（NIC）または他のタイプのトランシーバデバイスを含むことができる。例えば、ネットワークインタフェース１１６は、デバイス１０２（１）と、デバイス１０２（２）〜１０２（Ｎ）等のタスク継続性に関与する他のネットワーク接続されたデバイスとの間の通信をさらに可能にするための近接通信インタフェース１１８を含むことができる。そのような近接通信インタフェース１１８は、近接通信ネットワークを介して通信を送信および受信するための１つまたは複数の近接通信ネットワークインタフェースコントローラまたは他のタイプのトランシーバデバイスを含むことができる。
【００２９】
[0036]  図２は、図１からのデバイス１０２等の、クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムを含む例示的なデバイス２００を示す。デバイス２００において、処理ユニット２０２は、例えば、ＣＰＵタイプの処理ユニット、ＧＰＵタイプの処理ユニット、フィールドプログラマブルゲートアレイ（FPGA）、別のクラスのデジタルシグナルプロセッサ（DSP）、または場合によってはＣＰＵによって駆動することができる他のハードウェア論理コンポーネントを表すことができる。例えば、限定ではないが、用いることができる例示的なタイプのハードウェア論理コンポーネントは、特定用途向け集積回路（ASIC）、特定用途向け標準製品（ASSP）、システムオンチップシステム（SOC）、複雑なプログラマブル論理デバイス（CPLD）等を含む。
【００３０】
[0037]  いくつかの例では、デバイス２００は、分散サービスプラットフォーム（例えば、クラウド）の一部である、デバイス１０２（１）、１０２（２）および１０２（Ｎ）等の複数のデバイスのうちの１つとすることができる。いくつかの例では、デバイス２００は、近接通信ネットワークを介した接続が可能な複数のデバイスのうちの１つとすることができる。少なくとも１つの例では、デバイス２００は、分散型サービスプラットフォームの一部であり、かつ近接通信ネットワークを介した接続が可能な複数のデバイスのうちの１つとすることができる。
【００３１】
[0038]  いくつかの例では、コンピュータ可読媒体１０８とすることができるコンピュータ可読媒体２０４は、処理ユニット２０２によって実行可能な命令を記憶することができる。コンピュータ可読媒体２０４は、外部処理ユニットによって、例えば外部ＣＰＵ、外部ＧＰＵによって実行可能な命令、および／または外部アクセラレータ、例えば、ＦＰＧＡタイプのアクセラレータ、ＤＳＰタイプのアクセラレータ、または任意の他の内部もしくは外部アクセラレータによって実行可能な命令も記憶することができる。いくつかの例では、少なくとも１つのＣＰＵ、ＧＰＵおよび／またはアクセラレータをデバイス２００内に組み込むことができる一方、他の例では、ＣＰＵ、ＧＰＵおよび／またはアクセラレータのうちの１つまたは複数はデバイス２００に対し外部にあることができる。
【００３２】
[0039]  例示的な実施例では、コンピュータ可読媒体２０４は、データストア２０６も含むことができる。いくつかの例では、データストア２０６は、データベース、データウェアハウス、または他のタイプの構造化もしくは非構造化データストレージ等のデータストレージを含む。いくつかの例では、データストア２０６は、例えば、ハイパーテキストマークアップ言語（HTML）テーブル、リソース記述フレームワーク（RDF）テーブル、ウェブオントロジ言語（OWL）テーブル、および／または拡張可能マークアップ言語（XML）テーブルのうちの１つまたは複数を含む、データアクセスを可能にするための、１つまたは複数のテーブル、インデックス、ストアドプロシージャ等を有するコーパスおよび／またはリレーショナルデータベースを含む。データストア２０６は、コンピュータ可読媒体２０４に記憶され、および／または処理ユニットおよび／またはアクセラレータ２０２によって実行される、プロセス、アプリケーション、コンポーネント、および／またはモジュールの動作のためのデータを記憶することができる。代替的に、上記で参照したデータのうちのいくらかまたは全てを、ＣＰＵタイプのプロセッサ、ＧＰＵタイプのプロセッサ、ＦＰＧＡタイプのアクセラレータ、ＤＳＰタイプのアクセラレータおよび／または別のアクセラレータのオンボードメモリ等の、１つまたは複数の処理ユニット２０２の別個のオンボードメモリ２０８に記憶することができる。
【００３３】
[0040]  デバイス２００は、周辺入力デバイス（例えば、キーボード、マウス、ペン、ゲームコントローラ、音声入力デバイス、タッチ入力デバイス、ジェスチャー入力デバイス等）を含むユーザ入力デバイス、および／または周辺出力デバイス（例えば、ディスプレイ、プリンタ、オーディオスピーカ、触覚出力等）を含む出力デバイス等の入出力デバイスとデバイス２００が通信することを可能にする１つまたは複数の入出力（Ｉ／Ｏ）インタフェース２１０をさらに備えることができる。さらに、デバイス２００において、ネットワークインタフェース１１６とすることができるネットワークインタフェース２１２は、例えば、ネットワークを介して通信を送受信するための、ネットワークインタフェースコントローラ（NIC）または他のタイプのトランシーバデバイスを表すことができる。ネットワークインタフェース２１２は、１つまたは複数の近接通信インタフェース２１４も含むことができ、近接通信インタフェース２１４は、デバイス１０２（１）〜１０２（Ｎ）等のタスク継続性に関与する他のデバイスとの通信をさらに可能にするために、近接通信ネットワークを介して通信するためのハードウェアおよびソフトウェアをさらに含むことができる。
【００３４】
[0041]  示される例では、デバイス２００は、処理ユニット２０２を、バス１１０に対応するバス２１６を介して、コンピュータ可読媒体２０４、Ｉ／Ｏインタフェース２１０およびネットワークインタフェース２１２に作動連結することができる。いくつかの例では、バス２１６は、システムバス、データバス、アドレスバス、ＰＣＩバス、ミニＰＣＩバスおよび任意の様々なローカルバス、周辺バスおよび／または独立バスのうちの１つまたは複数を含むことができる。
【００３５】
[0042]  示される例では、コンピュータ可読媒体２０４は、オペレーティングシステム１１２とすることができるオペレーティングシステム２１８も含む。オペレーティングシステムは、限定ではないが、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）  ＰＨＯＮＥ、ＱＮＸ（商標）、ＩＢＭ  ｚ／ＯＳ（商標）、ＬＩＮＵＸ、ＡＮＤＲＯＩＤ（登録商標）、ｉＯＳ（商標）、ＯＳ  Ｘ（商標）、ＮＥＴＢＳＤ（商標）、またはデバイス２００上のコンピュータハードウェアおよびソフトウェアリソースを管理することが可能な任意の他のオペレーティングシステムを含む、任意のオペレーティングシステムとすることができる。コンピュータ可読媒体２０４は、継続性フレームワーク１１４とすることができる継続性フレームワーク２２０も含むことができる。継続性フレームワーク２２０は、ブロック２２２、２２４、２２６、２２８、２３０、２３２、２３４、２３６、２３８、２４０および２４２として示される１つまたは複数のモジュールおよび／またはＡＰＩを含むことができるが、これは例にすぎず、数は上下に変動し得る。
【００３６】
[0043]  ブロック２２２、２２４、２２６、２２８、２３０、２３２、２３４、２３６、２３８、２４０および２４２に関連付けて説明された機能は、より少ない数のモジュールおよび／またはＡＰＩによって実行されるように組み合わせることもできるし、より多数のモジュールおよび／またはＡＰＩによって分割および実行することもできる。例えば、ブロック２２２は、限定ではないが、タスクコンテキストデータ、ならびに、データストア２０６または外部データストアからのアプリケーションおよび／またはウェブサイトに固有のデータを含む、データの抽出のためのデバイス２００の処理ユニット２０２をプログラムするためのロジックを有するアプリケーションリポジトリモジュールを表すことができる。いくつかの例では、アプリケーションリポジトリモジュール２２２は、デバイス２００に関連付けられたタスクコンテキストデータおよび／またはデバイス１０２（１）〜１０２（Ｎ）等の他のデバイスに関連付けられたタスクコンテキストデータ間を区別するためのロジックをさらに含むことができる。様々な例では、アプリケーションリポジトリモジュール２２２は、デバイス２００上で以前に提示および／または変更されたタスク間を区別するためのロジックをさらに含むことができる。
【００３７】
[0044]  示される例では、継続性フレームワーク２２０は、アプリケーション処理モジュール２２４を含むことができる。いくつかの例では、アプリケーション処理モジュール２２４は、アプリケーションリポジトリモジュール２２２、データストア２０６および／または外部データストア等のデータストレージから互換性データを抽出するためのデバイス２００の処理ユニット２０２をプログラムするためのロジックを含む。互換性データは、限定ではないが、アプリケーションが、コンテキストデータおよび／またはアプリケーション互換性を、複数の対応するウェブサイトのうちの少なくとも１つと共有することができるように、複数の他のアプリケーションのうちの少なくとも１つとのアプリケーション互換性を含む。いくつかの例では、アプリケーション処理モジュール２２４は、アプリケーションリポジトリモジュール２２２、データストア２０６および／または外部データストア等のデータストレージから提供される、限定ではないが、アプリケーションが提案したユーザアクション、アプリケーションプロモーション、またはアプリケーション内でプログラムされた任意の他のデータを含む、他のアプリケーションおよび／またはウェブサイト固有のデータの抽出のために処理ユニット２０２をプログラムするためのロジックを含むことができる。
【００３８】
[0045]  継続性フレームワーク２２０は、アプリケーションリポジトリモジュール２２２、データストア２０６および／または外部データストア等のデータストレージからアプリケーションおよび／またはウェブサイトの使用データを抽出するために処理ユニット２０２をプログラムするためのロジックを有するランキングモジュール２２６をさらに含むことができる。アプリケーションおよび／またはウェブサイトの使用データは、少なくとも、複数のアプリケーションおよび／またはウェブサイトのうちの少なくとも１つの人気度（使用頻度）、複数のアプリケーションおよび／またはウェブサイトにおける１つまたは複数のタスクが閲覧および／または変更された時点、複数のアプリケーションおよび／またはウェブサイトのうちの少なくとも１つの閲覧持続時間、ならびにアプリケーションおよび／またはウェブサイトのタイプを含むことができる。ランキングモジュール２２６は、データストレージからのユーザプリファレンスデータ（すなわち、デバイス設定、アプリケーション設定、ウェブサイト設定等）の抽出のために処理ユニット２０２をプログラムするためのロジックも含むことができる。
【００３９】
[0046]  ランキングモジュール２２６は、少なくとも部分的に、アプリケーションおよび／またはウェブサイトの使用データ、および／またはユーザプリファレンス（すなわち、データ設定、アプリケーション設定、ウェブサイト設定等）に基づいて、アプリケーション、ウェブサイト、アプリケーション内のタスク、および／またはウェブサイト内のタスクのうちの少なくとも１つをランク付けするためのランキングロジックを含むこともできる。ランキングモジュール２２６は、アプリケーションリポジトリモジュール２２２、データストア２０６および／または外部データストア等のデータストレージ内のユーザプロファイルにランキングを保存するためのロジックをさらに含むことができる。いくつかの例では、ランキングモジュール２２６内のランキングロジックは、最後の閲覧および／または変更からの時間、閲覧および／または変更頻度、アプリケーションおよび／またはウェブサイトのタイプ、および／またはユーザプリファレンスのうちの１つまたは複数に基づいてランク付けを行うことができる。
【００４０】
[0047]  示される例では、継続性フレームワーク２２０は、アプリケーションおよび／またはアプリケーション内のタスクからディスプレイモジュール２３０に関連コンテキストデータを出力するための、アプリケーションリポジトリモジュール２２２、データストア２０６および／または外部データストア等の、ランキングモジュール２２６、アプリケーション処理モジュール２２４またはデータストレージのうちの少なくとも１つからデータを抽出するように処理ユニット２０２をプログラムするためのロジックを有する出力モジュールをさらに含むことができる。出力モジュール２２８は、ユーザプリファレンス、アプリケーションランキング、ウェブサイトランキング、タスクランキング、アプリケーションが提案したユーザアクションおよびアプリケーションプロモーションのうちの少なくとも１つに基づいて、アプリケーションおよび／またはタスクから最も関連するコンテキストデータを決定するためのロジックをさらに含むことができる。この洞察に基づいて、タスク継続性は、最も関連するコンテキストデータをディスプレイモジュール２３０に提供することができ、ディスプレイモジュール２３０はユーザの選択を通知することができる。
【００４１】
[0048]  いくつかの例では、ディスプレイモジュール２３０は、関連タスクコンテキストデータ、アプリケーションおよび／またはウェブサイトに固有のデータ、アプリケーションが提案したユーザアクションおよび／またはアプリケーションプロモーションを、１つまたは複数のインタラクティブディスプレイサムネイル２３２、２３４、２３６および２３８上に提示するためのロジックを含むが、これは例示にすぎず、数は上下に変動し得る。１つの例では、インタラクティブディスプレイサムネイル２３２は、第１のアプリケーションにおいて最も近時に閲覧および／または変更されたタスクを表示することができる一方、インタラクティブディスプレイサムネイル２３４は、第２のアプリケーションにおいて最も近時に閲覧および／または変更されたタスクを表示することができる。さらに、インタラクティブディスプレイサムネイル２３４および２３６は、それぞれ第１のアプリケーションおよび第２のアプリケーションのためのアプリケーションプロモーションを表示することができる。
【００４２】
[0049]  継続性フレームワーク２２０は、グラフィカルユーザインタフェース２４０およびアクティビティフィードエンジン２４２をさらに備えることができる。グラフィカルユーザインタフェースは、Ｉ／Ｏインタフェース２１０を介して入力に応答するためのロジックを含むことができる。グラフィカルユーザインタフェース２４０は、アプリケーションおよび／またはウェブサイト内のタスクを起動するようにアクティビティフィードエンジン２４２をプログラムするためのロジックをさらに含むことができる。いくつかの例では、タスクの起動は、１つまたは複数のインタラクティブディスプレイサムネイル２３２、２３４、２３６および２３８におけるユーザ入力に少なくとも部分的に基づくことができる。グラフィカルユーザインタフェース２４０は、タッチ入力、ペン入力、マウスクリック、キーボード選択または任意の他の入力メカニズムのうちの少なくとも１つによってアクティベートすることができる。インタラクティブディスプレイサムネイル２３２等のインタラクティブディスプレイサムネイルの選択のインジケーションの受信に応答して、グラフィカルユーザインタフェース２４０は、アクティビティフィードエンジン２４２を介して内部に表示されるアプリケーションおよびタスクの起動を可能にし、タスクの提示および／または変更が継続することができる。
【００４３】
[0050]  グラフィカルユーザインタフェース２４０は、任意の数のデバイスにわたって、および／または分散型サービスプラットフォームにおけるクロスデバイスアクティビティモジュールに対し、明示的なプッシュにおいてデータを送信するようにアクティビティフィードエンジンをプログラムするためのロジックをさらに含むことができる。グラフィカルユーザインタフェース２４０は、少なくとも部分的に、Ｉ／Ｏインタフェース２１０を介した入力に基づく明示的な保存においてデータを保存するようにアクティビティフィードエンジンをプログラムするためのロジックをさらに含むことができる。
【００４４】
[0051]  アクティビティフィードエンジン２４２は、タスクがデバイス２００上で閲覧および／または変更されている間にアプリケーションおよび／またはウェブサイトにおいてタスクのためのタスクコンテキストデータを保存するように処理ユニット２０２をプログラムするためのロジックを含むことができる。アクティビティフィードエンジンは、タスクコンテキストデータを、アプリケーションリポジトリモジュール２２２、データストア２０６および／または外部データソース等のデータストレージに保存することができる。タスクコンテキストデータは、データストレージ内のユーザプロファイルに保存することができ、それによってユーザプロファイルデータが更新される。いくつかの例では、アクティビティフィードエンジン２４２は、データストレージからユーザプロファイルデータを抽出し、ユーザプロファイルデータを別のデバイスおよび／または分散型サービスプラットフォームに送信するように処理ユニット２０２をプログラムするためのロジックも含むことができる。
【００４５】
[0052]  いくつかの例では、ユーザプロファイルデータは、１つのデバイス上のデータストレージに保存することができる。いくつかの例では、ユーザプロファイルデータは、少なくとも２つのデバイスにわたって保存することができる。様々な例では、ユーザプロファイルデータは、分散サービスプラットフォーム内の基準ユーザプロファイル内に保存することができる。少なくとも１つの例では、ユーザプロファイルデータは、１つまたは複数のデバイスにわたるデータストレージ内に、および分散型サービスプラットフォームにおける基準ユーザプロファイル内に保存することができる。
【００４６】
[0053]  いくつかの例では、アクティビティフィードエンジン２４２は、タスクコンテキストデータを含むユーザプロファイルデータを、グラフィカルユーザインタフェース２４０を介して明示的な更新において保存することができる。明示的な更新において、データをプッシュするための信号の受信に応答して、アクティビティフィードエンジンは、データストレージからユーザプロファイルデータを抽出し、これを、ネットワークインタフェース２１２を介してデバイス１０２（Ｎ）等の別のデバイスに送信する。様々な例では、ユーザプロファイルデータの更新は、第１のデバイスおよび第２のデバイスが近接通信ネットワークにおいて接続されるのに応答して、デバイス１０２（Ｎ）等の第２のデバイスのアクティビティフィードエンジンが第１のデバイスのデータストレージからネットワークインタフェース２１２を介してユーザプロファイルデータをプルすることができるような、暗黙的更新とすることができる。
【００４７】
[0054]  図３は、図１からのデバイス１０２（１）等の、クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムを含むデバイスにおける例示的なディスプレイモジュールを示す。デバイス３００は、データの提示のためのディスプレイ３０２を含むことができる。ディスプレイ３０２上に提示されるデータは、少なくとも、ディスプレイモジュール２３０等のディスプレイモジュールによって生成することができる。ディスプレイ３０２は、アプリケーション、ウェブサイト、アプリケーションおよび／またはウェブサイト上のタスク、または、限定ではないがアプリケーションが提案したユーザアクションおよびアプリケーションプロモーションを含むアプリケーションに固有のアクティビティの、豊富なエンゲージまたは再エンゲージを可能にすることができる。
【００４８】
[0055]  示される例では、ディスプレイ３０２は、インタラクティブディスプレイサムネイル３０４、３０６、３０８、３１０、３１２、３１４、３１６、３１８および３２０を含むことができるが、これは単なる例であり、数は上下に変動し得る。ディスプレイ３０２は、継続性フレームワーク２２０等の継続性フレームワークにおけるディスプレイモジュール２３０等のディスプレイモジュールに作動連結することができる。いくつかの例では、ディスプレイモジュール３０２は、インタラクティブディスプレイサムネイル３０４、３０６、３０８、３１０、３１２、３１４、３１６、３１８および３２０上に表示するために、出力モジュールから表示のためのデータを受信する。そのような例では、出力モジュールは、少なくとも部分的に、ユーザプリファレンス、アプリケーションおよび／またはタスクランキング、アプリケーションが提案したユーザアクション、および／またはアプリケーションプロモーションに基づいて、アプリケーションおよび／またはウェブサイトから最も関連するタスクコンテキストデータを決定することができる。最も関連するタスクコンテキストデータの決定に応答して、出力モジュールは、タスクコンテキストデータを提示のためにディスプレイモジュールに送信することができる。この洞察に基づいて、ディスプレイ３０２は、ユーザがエンゲージまたは再エンゲージすることを望む場合があるアプリケーションおよび／またはタスクに関連付けられた、最も関連するコンテキストデータおよび／または他のアプリケーションデータを表示することができる。各インタラクティブディスプレイサムネイル上に表示されるタスクコンテキストデータおよび／または他のアプリケーションおよび／またはウェブサイトデータは、ユーザが情報に基づく選択を行うことを可能にするために、タスク、アプリケーションおよび／またはウェブサイトに関する十分なデータを提供することができる。
【００４９】
[0056]  示される例では、ブロック３０４、３０６、３０８、３１０、３１２および３１４は、ユーザプロファイルにおけるランク付けされたタスクを表すことができる。クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性は、最後の閲覧および／または変更からの時間、閲覧および／または変更の頻度、閲覧および／または変更の持続時間、アプリケーションおよび／またはウェブサイトのタイプ、および／またはユーザプリファレンスのうちの１つまたは複数に基づいてランク付けを行うことができる。例示的な実施例として、ユーザが２時間かけて電子メールを作成し、これを送信することなく、その後、５分かけてニュース記事をレビューするとき、電子メールは、少なくとも作成するのに費やした時間に基づいて、ニュース記事よりも高くランク付けされ得る。
【００５０】
[0057]  いくつかの例では、ディスプレイ３０２は、インタラクティブディスプレイサムネイル３０４等のアプリケーションおよび／またはウェブサイト内のランク付けされたタスクを有する、より多くのまたはより少ないインタラクティブディスプレイサムネイルを含むことができる。いくつかの例では、ディスプレイ３０２は、インタラクティブディスプレイサムネイル３１６等の、アプリケーションに固有のデータを有する、より多くのまたはより少ないインタラクティブディスプレイサムネイルを含むことができる。
【００５１】
[0058]  ブロック３０４は、ユーザプロファイル上の最も高くランク付けされたタスクを表すことができる。例えば、ブロック３０４は、デバイス１０２（１）〜１０２（Ｎ）等のユーザプロファイルのために構成された任意のデバイス上のアプリケーションＺにおける最も近時に閲覧および／または変更されたタスクを表すことができる。別の例では、ブロック３０４は、使用頻度によって特定されたおよび／またはユーザプリファレンスにおいてユーザによって指定されたお気に入りタスクを表すことができる。
【００５２】
[0059]  ブロック３１２は、ユーザプロファイル内で５番目に最も近時に閲覧および／または変更されたタスク、およびウェブサイトＣ等のウェブサイトにおいて最も近時に閲覧および／または変更されたタスクを表すことができる。
【００５３】
[0060]  示される例では、ブロック３０６、３０８、３１０、３１２および３１４は、ユーザプロファイルにおける２番目〜６番目に高くランク付けされたタスクを表すことができる。いくつかの例では、表示されるタスクは、様々なアプリケーションおよび／またはウェブサイトにおける近時に提示および／または変更されたタスクを表すことができる。いくつかの例では、表示されたタスクは、同じウェブサイトおよび／または異なるウェブサイトにおいて近時に提示および／または変更されたタスクを表すことができる。例えば、ブロック３０６の、アプリケーションＡにおけるタスク１は、ユーザプロファイルにおける２番目に最も近時に提示および／または変更されたタスク、およびアプリケーションＡにおいて最も近時に提示および／または変更されたタスクを表すことができる。ブロック３１０の、アプリケーションＡにおけるタスク２は、ユーザプロファイルにおける４番目に最も近時に提示および／または変更されたタスク、およびアプリケーションＡにおいて２番目に最も近時に提示および／または変更されたタスクを表すことができる。ブロック３１４の、アプリケーションＡにおけるタスク３は、ユーザプロファイルにおける６番目に最も近時に提示および／または変更されたタスク、およびアプリケーションＡにおいて３番目に最も近時に提示および／または変更されたタスクを表すことができる。いくつかの例では、アプリケーションＡは、電子メールアプリケーションを表すことができ、タスク１、２および３は、３つの異なる電子メール作成を表すことができる。グラフィカルユーザインタフェースを介したディスプレイ３０２は、電子メールのうちのいずれをさらに閲覧および／または変更するかの選択を可能にすることができる。
【００５４】
[0061]  別の例示的な実施例として、アプリケーションＡは、ビデオサービスを表すことができ、タスク１、２および３は、ユーザプロファイル上のビデオサービスを通じて近時に提示された３つの異なる映画を表すことができる。ディスプレイ３０２は、３つの映画のうちの１つを継続した提示のために選択することを可能にすることができる。提案されるユーザアクションは、ブロック３１６に示されるように提供することができる。提案されるユーザアクションは、例えば、ユーザプロファイルにおけるビデオサービスによって提案される第４の映画、ユーザプロファイル上で近時に閲覧された３つの映画の各々のユーザ調査の要求、またはユーザプロファイルにおける任意の他のアプリケーションに固有のアクションとすることができる。
【００５５】
[0062]  いくつかの例では、インタラクティブディスプレイサムネイル３０６、３１０および３１４は、ユーザが選択における情報に基づく決定を行うことを可能にするために、アプリケーションＡにおけるタスク１、タスク２およびタスク３を区別するための十分なタスクコンテキストデータを表示することができる。様々な例では、表示のために提示されるタスクコンテキストデータは、アプリケーションタイトル、タスクタイトル、および／またはタスクが最後に閲覧された時点を含むことができる。
【００５６】
[0063]  例示的な実施例では、ブロック３１６、３１８および３２０は、インタラクティブディスプレイサムネイル３１６において示されるようなアプリケーションＡからの提案されるユーザアクション、インタラクティブディスプレイサムネイル３１８において示されるようなアプリケーションＢからの提案されるユーザアクション、およびインタラクティブディスプレイサムネイル３２０において示されるようなアプリケーションＡのためのアプリケーションプロモーション等のアプリケーション固有のデータを含むことができる。アプリケーション固有のデータは、ユーザが、使用に関係するタスク、または近時に閲覧したアプリケーションおよび／またはウェブサイトにエンゲージするための、提案されるユーザアクション、および／またはアプリケーションプロモーションを含むことができる。例示的な実施例として、スマートテレビ上のアプリケーションは、ライブ番組または録画番組を表示することができ、スマートフォンまたは別のセカンダリデバイス上のアプリケーションは、番組に関する情報を提供することができる。いくつかの例では、スマートフォンまたは別のセカンダリデバイス上のアプリケーションは、タレントショーにおける最も優れた歌手へのライブ投票等の、番組に関係した提案されるユーザアクションを提供することができる。
【００５７】
[0064]  いくつかの例では、インタラクティブディスプレイサムネイル３０４、３０６、３０８、３１０、３１２、３１４、３１６、３１８および３２０は、グラフィカルユーザインタフェース２４０等のグラフィカルユーザインタフェースを通じたタスクのエンゲージまたは再エンゲージのために、タスク、アプリケーションおよび／またはウェブサイトのうちの少なくとも１つの選択を可能にすることができる。複数のインタラクティブディスプレイサムネイルのうちの少なくとも１つの選択の受信に応答して、デバイス３００は、タスクエンゲージまたは再エンゲージのために選択されたアプリケーションおよび／またはウェブサイトを起動することができる。
【００５８】
[0065]  図４は、先行する図面に一致するクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムの例示的なネットワーク環境を示す。ネットワーク環境４００は、分散型サービスプラットフォーム４０２および／または近接通信ネットワーク４０４を含むことができる。
【００５９】
[0066]  分散型サービスプラットフォーム４０２は、分散型コンピューティングリソース４０６（１）〜４０６（Ｎ）等の１つまたは複数の分散型コンピューティングリソース４０６を含むことができる。実施例は、リソースを共有するか、負荷の平衡をとるか、性能を増大さるか、フェイルオーバサポートもしくは冗長性を提供するために、または他の目的のために、クラスタ構成または他のグループ化された構成で動作する、デバイス１０２等の１つまたは複数のコンピューティングデバイスを分散型コンピューティングリソース４０６が含むことができるシナリオをサポートする。分散型コンピューティングリソース４０６は、従来のサーバタイプのデバイス、デスクトップコンピュータタイプのデバイス、モバイルタイプのデバイス、専用タイプのデバイス、組込みタイプのデバイスおよび／またはウェアラブルタイプのデバイス等の、デバイスの多岐にわたるカテゴリまたはクラスに属することができる。このため、分散型コンピューティングリソース４０６は、デスクトップコンピュータとして示されているが、多岐にわたるデバイスタイプを含むことができ、特定のタイプのデバイスに限定されない。分散型コンピューティングリソース４０６は、限定ではないが、シンクライアント、デスクトップコンピュータ、サーバコンピュータ、ウェブサーバコンピュータ、パーソナルコンピュータ、モバイルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、埋込み型コンピューティングデバイス、電気通信デバイス、自動車用コンピュータ、ネットワーク対応テレビ、端末、携帯情報端末（PDA）、ゲームコンソール、ゲーミングデバイス、ワークステーション、メディアプレーヤ、パーソナルビデオレコーダ（PVR）、セットトップボックス、カメラ、内蔵コンポーネントを表すことができる。内蔵コンポーネントは、コンピューティングデバイス、機器、または、ネットワーク接続４１０を介してデバイス１０２等の他のデバイス４０８に接続することが可能な任意の他の種類のコンピューティングデバイスに含めるためのものである。
【００６０】
[0067]  いくつかの例では、ネットワーク接続４１０は、有線または無線とすることができ、デバイス４０８がネットワーク接続４１０を介して発見可能になるのに応答して、デバイス４０８から分散型サービスプラットフォームに、および分散型サービスプラットフォーム４０２からデバイス４０８にデータを送信することができる。
【００６１】
[0068]  示される例では、分散型サービスプラットフォーム４０２は、少なくとも１つの基準ユーザプロファイル４１２を含むことができる。いくつかの例では、基準ユーザプロファイル４１２は、限定ではないが、アプリケーション固有のデータ、ウェブサイトに固有のデータ、タスクコンテキストデータ、ユーザプリファレンス、および／またはユーザのプロファイルに関連付けられた任意の他のデータを含むユーザプロファイルデータを記憶することができる。基準ユーザプロファイル４１２は、ユーザプロファイルに対して構成された複数のデバイスのうちの少なくとも１つからのユーザプロファイルデータを記憶することができる。いくつかの例では、基準ユーザプロファイル４１２は、タスク継続性システムにおける複数のデバイスのうちの少なくとも１つのためのユーザプロファイルデータの中央基準点としての役割を果たすことができる。
【００６２】
[0069]  示される例では、基準ユーザプロファイル４１２は、アプリケーション４１４（ａ）〜（Ｎ）等のアプリケーション４１４を含むことができる。アプリケーション４１４は、タスクコンテキストデータ４１６（ａ）〜（Ｎ）等のタスクコンテキストデータ４１６をさらに記憶することができる。基準ユーザプロファイル４１２は、デバイス４０８と分散型サービスプラットフォーム４０２との間のデータ送信を通じてユーザプロファイルを更新するように構成されたクロスデバイスアクティビティモジュール４１８も含むことができる。デバイス４０８の発見可能性に基づいて、クロスデバイスアクティビティモジュール４１８は、基準ユーザプロファイル４１２を規則的にまたは定期的に更新することができる。更新は、少なくとも、デバイス４０８におけるアプリケーションの使用、ウェブサイトの使用、および／またはユーザプリファレンスの変化に基づくことができる。デバイス４０８から基準ユーザプロファイル４１２への更新によって、分散型サービスプラットフォーム４０２は、最新の基準ユーザプロファイルデータを維持することが可能になる。いくつかの例では、最新の基準ユーザプロファイルデータは、基準ユーザプロファイルに対して構成された任意の数のデバイスにわたる、アプリケーションおよび／またはウェブサイトにおけるタスクのための最新のタスクコンテキストデータを包含することができる。
【００６３】
[0070]  クロスデバイスアクティビティモジュール４１８は、ネットワーク接続４１０を介してデバイス４０８に作動連結することができる。いくつかの例では、１つまたは複数のデバイス４０８が発見可能である（すなわち、デバイスが電源オンにされている、デバイスが低電力状態から出るように遷移している、デバイスの機内モードが無効にされている、またはデバイスをネットワークに対し発見可能にさせる任意の他の入力）ことに応じて、クロスデバイスアクティビティモジュール４１８は、１つまたは複数のデバイス４０８上のデータストレージからユーザプロファイルデータをプルすることができる。いくつかの例では、クロスデバイスアクティビティモジュール４１８は、１つまたは複数のデバイス４０８における、アクティビティフィードエンジンからのタスク完了信号の受信に基づいて、１つまたは複数のデバイス４０８上のデータストレージからユーザプロファイルデータをプルすることができる。
【００６４】
[0071]  様々な例では、クロスデバイスアクティビティモジュール４１８は、１つまたは複数のデバイス４０８上のデータストレージからユーザプロファイルデータを定期的間隔でプルすることができる。そのような例では、アプリケーション４１４（ａ）におけるタスク４１６（ａ）は、デバイス４０８（１）上で変更することができる。変更中、アプリケーションリポジトリモジュールは、タスク４１６（ａ）のためのタスクコンテキストデータを、デバイス４０８（１）内のデータストレージに保存することができる。タスク４１６（ａ）の変更全体を通じて定期的に、クロスデバイスアクティビティモジュール４１８は、デバイス４０８（１）内のアクティビティフィードエンジン２４２等のアクティビティフィードエンジン４２０（１）から、ネットワーク接続４１０を通じて、タスク４１６（ａ）のタスクコンテキストデータを含めるように、更新されたユーザプロファイルデータをプルすることができる。クロスデバイスアクティビティモジュール４１８は、基準ユーザプロファイル４１２のアプリケーション４１４（ａ）内に更新されたユーザプロファイルデータを保存し、これにより、最新の基準ユーザプロファイルデータを有効にすることができる。いくつかの例では、定期的間隔は、５秒ごともしくは１０秒ごと等の任意の期間、または更新に妥当であると判断される任意の他の期間とすることができる。いくつかの例では、定期的間隔は、少なくとも基準ユーザプロファイル内のユーザプリファレンスに示された、更新のためにユーザが指定した時間とすることができる。
【００６５】
[0072]  いくつかの例では、デバイス４０８が発見可能となるのに応答して、クロスデバイスアクティビティモジュール４１８は、基準ユーザプロファイルデータを送信することができる。そのような例では、デバイス４０８（２）等のデバイスがネットワーク接続４１０を介して発見可能になることに応答して、クロスデバイスアクティビティモジュール４１８はこれを検出することができる。クロスデバイスアクティビティモジュール４１８は、デバイスにおけるユーザプロファイルを基準ユーザプロファイル４１２と比較することができる。クロスデバイスアクティビティモジュール４１８は、基準ユーザプロファイルデータを、デバイス上のユーザプロファイルデータにプッシュして、デバイス上のユーザプロファイルを更新することができる。さらに、クロスデバイスアクティビティモジュールは、デバイスからのユーザプロファイルデータをプルして、基準ユーザプロファイル４１２を更新することができる。
【００６６】
[0073]  クロスデバイスアクティビティモジュール４１８は、別の例では、グラフィカルユーザインタフェース２４０等のグラフィカルユーザインタフェースを介して更新をプッシュするためのコマンドに基づいて、デバイス４０８（１）および４０８（２）等のデバイス４０８にタスクコンテキストデータを明示的にプッシュすることができる。例えば、タスク４１６（ａ）を、デバイス４０８（１）上で変更することができ、アクティビティフィードエンジン４２０（１）およびネットワーク接続４１０を介してクロスデバイスアクティビティモジュール４１８にコマンドを与え、タスク４１６（１）のための更新されたタスクコンテキストデータを含めて、ユーザプロファイルデータをデバイス４０８（２）にプッシュすることができる。そのような例では、タスク４１６（ａ）は、別個にまたは同時に、デバイス４０８（１）および／またはデバイス４０８（２）上で継続することができる。
【００６７】
[0074]  ネットワーク環境４００は、デバイス４０８間のデータ送信を可能にする近接通信ネットワーク４０４も含むことができる。いくつかの例では、限定ではないが、アプリケーション固有のデータ、ウェブサイトに固有のデータ、タスクコンテキストデータ、ユーザプリファレンス、ならびにアプリケーションおよび／またはウェブサイトの使用に関連付けられた任意の他のデータを含むユーザプロファイルデータは、近接通信ネットワーク接続４２４を介してデバイス間で共有することができる。近接通信ネットワーク接続４２４は、セキュアな有線接続または無線接続とすることができ、デバイス４０８（１）および４０８（２）等のデバイス４０８間の２方向データ送信が可能であり得る。近接通信ネットワークでは、デバイス４０８は、少なくとも近接するデバイス同士で発見可能であり得る。近接通信ネットワークにおける発見可能性は、近接通信インタフェース２１４等のデバイス内の近接通信インタフェースによって決まり得る。近接通信インタフェースは、近接センサおよび／または有線接続を含むことができる。いくつかの例では、デバイス間のデータ共有は明示的にすることができる。いくつかの例では、デバイス間のデータ共有は暗黙的にすることができる。
【００６８】
[0075]  明示的な送信において、それぞれのデバイスにおけるアクティビティフィードエンジンは、グラフィカルユーザインタフェース２４０等のグラフィカルユーザインタフェース上の入力に少なくとも部分的に基づいて、デバイス４０８（１）および４０８（２）間のユーザプロファイルデータをプッシュすることができる。例えば、タスク４１６（ａ）がデバイス４０８（１）において変更されており、かつユーザがデバイス４０８（２）上でタスク４１６（ａ）を変更することを望む場合、タスク４１６（ａ）のタスクコンテキストデータを含む更新されたユーザプロファイルデータは、グラフィカルユーザインタフェース上の入力を介してデバイス４０８（２）にプッシュすることができる。そのような例では、デバイス４０８（１）および４０８（２）におけるそれぞれのアクティビティフィードエンジン４２０は、それぞれのデバイス間でユーザプロファイルデータを同期させる。
【００６９】
[0076]  暗黙的送信において、デバイス４０８が互いに発見可能になることに応答して、デバイス４０８は、更新されたユーザプロファイルデータをデバイス４０８間で自動的に送信することができる。例えば、デバイス４０８（２）はモバイルデバイスとすることができ、デバイス４０８（１）は固定デバイスとすることができる。デバイス４０８（２）上のアプリケーションリポジトリモジュールは、進行中、デバイス４０８（２）上のデータストレージにタスク４１６（ａ）の更新されたタスクコンテキストデータを保存して、ユーザプロファイルを更新することができる。次に、デバイス４０８（２）がデバイス４０８（１）に近接していることに応答して、デバイス４０８（２）のアクティビティフィードエンジン４２０は、タスク４１６（ａ）のタスクコンテキストデータを含む更新されたユーザプロファイルデータを、近接通信ネットワーク接続４２４を通じてデバイス４０８（２）に送信し、それによって更新されたユーザプロファイルを有効にすることができる。
【００７０】
[0077]  様々な例では、デバイス４０８（１）および４０８（２）におけるそれぞれのアプリケーションリポジトリモジュールは、タスク４１６（ａ）および４１６（ｂ）のタスクコンテキストデータを、それらがそれぞれデバイス４０８（１）および４０８（２）上で閲覧および／または変更されている間に保存することができる。デバイス４０８（１）およびデバイス４０８（２）が互いに発見可能になることに応答して、アクティビティフィードエンジン４２０（１）は、タスク４１６（ａ）のタスクコンテキストデータを含む、デバイス４０８（１）からの更新されたユーザプロファイルデータを送信し、タスク４１６（ｂ）のタスクコンテキストデータを含む、デバイス４０８（２）からの更新されたユーザプロファイルデータを受信することができる。同時に、アクティビティフィードエンジン４２０（２）は、タスク４１６（ｂ）のタスクコンテキストデータを含む、デバイス４０８（２）からの更新されたユーザプロファイルデータを送信し、タスク４１６（ａ）のタスクコンテキストデータを含む、デバイス４０８（１）からの更新されたユーザプロファイルデータを受信することができる。
【００７１】
[0078]  示される例では、ネットワーク環境４００は、分散型サービスプラットフォーム４０２および近接通信ネットワーク４０４を含む。そのような環境では、アプリケーション固有のデータ、ウェブサイトに固有のデータ、タスクコンテキストデータ、ユーザプリファレンス、および／または、アプリケーションおよび／またはウェブサイトの使用に関連付けられた任意の他のデータを含むユーザプロファイルデータを、分散型サービスプラットフォーム４０２および近接通信ネットワーク４０４の双方を用いてデバイス間で共有することができる。それによって、任意の数のデバイスにわたって基準ユーザプロファイルデータおよびユーザプロファイルデータが同じデータを含むことを確実にする。
【００７２】
[0079]  例えば、デバイス４０８（１）および４０８（２）が近接しているが、ネットワーク接続４１０を介して分散型サービスプラットフォーム４０２に接続することができない場合、デバイス４０８（１）および４０８（２）は、近接通信ネットワーク接続４２４を通じてそれぞれのアクティビティフィードエンジンを介して、更新されたユーザプロファイルデータを送受信することができる。後の時点において、デバイス４０８（１）は、ネットワーク接続４１０を介して分散型サービスプラットフォーム４０２に接続することができる。接続に応答して、クロスデバイスアクティビティモジュール４１８は、デバイス４０８（１）の発見可能性を認識し、限定ではないが、アプリケーション固有のデータ、ウェブサイトに固有のデータ、タスクコンテキストデータ、ユーザプリファレンス、ならびに、アプリケーションおよび／またはウェブサイトの使用に関連付けられた任意の他のデータを含むユーザプロファイルデータをプルし、分散型サービスプラットフォーム４０２における基準ユーザプロファイル４１２を更新することができる。別の例では、ユーザは、ネットワーク接続４１０を取得した後、ユーザプロファイルデータをデバイス４０８（１）から分散型サービスプラットフォーム４０２にプッシュすることができる。次に、ユーザは、任意のデバイス４０８をピックアップし、基準ユーザプロファイル４１２における任意のアプリケーションおよび／またはウェブサイト上でタスクを継続することができる。
【００７３】
例示的なプロセス
[0080]  図５は、上記の図に一致するクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムの例示的なプロセスを示す。
【００７４】
[0081]  示される例では、タスク５０２を、デバイス１０２（１）等のデバイス５０６（１）上のアプリケーション５０４（１）において、時点Ｔ＝０において提示および／または変更することができる。タスク５０２を、時点Ｔ＝Ｎまで提示および／または変更し続けることができる。時点Ｔ＝Ｎにおいて、デバイス５０６（１）上のアプリケーション５０４（１）においてタスク５０２を停止することができる。また、Ｔ＝Ｎにおいて、タスク５０２は、デバイス１０２（２）等のデバイス５０６（２）上のアプリケーション５０４（２）において提示および／または変更することができる。
【００７５】
[0082]  いくつかの例では、デバイス５０６（１）上のアプリケーション５０４（１）は、デバイス５０６（２）上のアプリケーション５０４（２）と同じアプリケーションとすることができる。様々な例では、デバイス５０６（１）上のアプリケーション５０４（１）は、デバイス５０６（２）上のアプリケーション５０４（２）と異なるアプリケーションとすることができる。
【００７６】
[0083]  例示的な実施例では、タスク５０２は、時点Ｔ＝Ｎまでデバイス５０６（１）上で提示および／または変更され得る。デバイス５０６（２）において、タスク５０２は、時点Ｔ＝Ｎから、タスク５０２の完了まで、提示および／または変更され得る。タスク５０２の完了は、入力インタフェースを介してユーザ入力によって、および／またはアプリケーションおよび／またはウェブサイトによって指定することができる。いくつかの例では、タスク５０２の完了に応答して、デバイス５０６（２）内のアクティビティフィードエンジンは、複数のデバイスにわたって、および／またはネットワーク５０８を介して分散型サービスプラットフォーム内の基準ユーザプロファイルに、タスク完了信号を送信することができる。ネットワーク５０８は、分散型サービスプラットフォームおよび／または近接通信ネットワークで構成され得る。様々な例では、データは任意の他のネットワークプラットフォームを介して送信されてもよい。
【００７７】
[0084]  様々な例では、タスク完了信号は、複数のデバイスおよび／または基準ユーザプロファイルの各々においてユーザプロファイルを更新し、タスクを複数の近時に閲覧および／または変更されたタスクから取り除くことができるようにすることができる。複数の近時に閲覧および／または変更されたタスクからタスクを取り除くことは、少なくとも部分的に、タスクのタイプ、アプリケーションおよび／またはウェブサイトのタイプ、および／またはユーザ設定に基づくことができる。例えば、タスク５０２は、デバイス５０６（１）上で作成が開始された電子メールとすることができ、この作成は、デバイス５０６（２）上で完了した。電子メールの作成が完了し、この電子メールが送信されると、電子メールプロバイダによって送信バージョンを保存することができる。したがって、タスク継続性を何ら損なうことなく、複数の近時に提示および／または変更されたタスクから電子メールを取り除くことができる。
【００７８】
[0085]  いくつかの例では、タスクを完了することにより、タスクが別の状態に遷移することができる。例示的な実施例では、アプリケーション５０４（１）は、デスクトップコンピュータとすることができるデバイス５０６（１）上のマッピングアプリケーションとすることができる。タスク５０２は、１組の駆動方向とすることができる。デバイス５０６（２）は、スマートフォンとすることができ、マッピングアプリケーション上にタスク５０２を表示することができる。宛先に到達することに応答して、ユーザおよび／またはアプリケーション５０４（２）は、タスクの完了を指定することができる。タスクの完了に応答して、デバイス５０６（２）上のアクティビティフィードエンジンは、複数のデバイスにわたって、および／または基準ユーザプロファイルにタスク完了信号を送信することができる。タスク完了信号は次に、デバイス５０６（１）および／または５０６（２）の一方または双方における戻り方向等の新たな１組の方向に遷移するようにタスク５０２にプロンプトすることができる。
【００７９】
[0086]  様々な例では、タスクの完了、および／またはデバイス５０６（２）上のアクティビティフィードエンジンが、複数のデバイスにわたって、および／または基準ユーザプロファイルにタスク完了信号を送信することにより、デバイス５０６のうちの１つまたは複数において完了したタスクに関連付けられた新たなタスク５０２をプロンプトすることができる。タスクの完了に応答して、デバイス５０６（２）上のアクティビティフィードエンジンは、完了したタスクに関連する新たなタスク、および／または同じアプリケーションもしくは異なるアプリケーションにおける完了したタスクのコンテキストについてプロンプトすることができる。例えば、上記で論考したように宛先に到達することに応答して、ユーザおよび／またはアプリケーション５０４（２）は、タスクの完了を指定することができる。タスクの完了に応答して、デバイス５０６（２）上のアクティビティフィードエンジンは、新たなタスク５０２についてプロンプトすることができる。これは、宛先に関連付けられたビジネスまたはアクティビティのリストを提示したものとすることができる。いくつかの例では、新たなタスク５０２は、デバイス５０６（１）がデバイス５０６（２）に近接するまで、デバイス５０６（１）上に提示されることなくデバイス５０６（２）上に提示され得る。
【００８０】
[0087]  図６は、図１〜図４と一致するクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムの別の例示的なプロセスを示す。
【００８１】
[0088]  示される例では、タスク６０２を、デバイス１０２（１）等のデバイス６０６（１）上のアプリケーション６０４（１）において提示および／または変更することができる。同時に、タスク６０２を、デバイス６０６（２）上のアプリケーション６０４（２）において提示および／または変更し、それによって、少なくとも２つのデバイス６０６におけるタスク６０２の提示および／または変更を可能にすることができる。
【００８２】
[0089]  いくつかの例では、デバイス６０６（１）上のアプリケーション６０４（１）は、デバイス６０６（２）上のアプリケーション６０４（２）と同じアプリケーションとすることができる。様々な例では、デバイス６０６（１）上のアプリケーション６０４（１）は、デバイス６０６（２）上のアプリケーション６０４（２）と異なるアプリケーションであり得る。
【００８３】
[0090]  いくつかの例では、アプリケーション固有のデータ、ウェブサイトに固有のデータ、タスクコンテキストデータ、ユーザプリファレンス、および／または、アプリケーションおよび／またはウェブサイトに関連付けられた任意の他のデータを含むユーザプロファイルデータを、分散型サービスプラットフォーム４０２および／または近接通信ネットワーク４０４等のネットワーク６０８を介して送信することができる。
【００８４】
[0091]  図７および図８は、クロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムのための例示的なプロセスを示す流れ図である。例示的なプロセスの動作は、個々のブロックにおいて示され、これらのブロックを参照して要約される。プロセスは、ブロックの論理フローとして示され、その各ブロックは、ハードウェア、ソフトウェア、またはそれらの任意の組合せにおいて実施することができる１つまたは複数の動作を表すことができる。
【００８５】
[0092]  図７は、上記の図面と一致するクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムにおけるプロセスフローを示す。図７は、１つのソースデバイスおよび１つのターゲットデバイスが存在するプロセスフローを示しているが、これは単なる例であり、２つ以上のソースデバイスおよび／または２つ以上のターゲットデバイスが存在し得る。
【００８６】
[0093]  ブロック７０２において、アクティビティフィードエンジンは、デバイス１０２、２００、４０８、５０６、および／または６０６等のソースデバイス上でタスクをエンゲージする。
【００８７】
[0094]  ブロック７０４において、アクティビティフィードエンジンは、少なくともソースデバイスにおいてタスクコンテキストデータをユーザプロファイルに保存する。いくつかの例では、分散型サービスプラットフォームにおけるクロスデバイスアクティビティモジュール４１８等のクロスデバイスアクティビティモジュールは、ソースデバイスから更新されたユーザプロファイルデータをプルし、これを基準ユーザプロファイルに保存することができる。
【００８８】
[0095]  ブロック７０６において、Ｉ／Ｏインタフェースは、ネットワークへのターゲットデバイスの接続を発見する。いくつかの例では、ネットワークにおいてデバイスを発見可能にすることは、デバイスが電源オンにされていること、デバイスが低電力状態から出るように遷移されていること、デバイスの機内モードが無効にされていること、またはデバイスをネットワークに対し発見可能にさせる任意の他の入力を含むことができる。様々な例では、デバイスは発見可能にすることができ、デバイスにおけるそれぞれのアクティビティフィードエンジンは、ソースデバイスとターゲットデバイスとの間でユーザプロファイルデータを送受信することができる。少なくとも１つの例では、発見可能性に応答して、それぞれのアクティビティフィードエンジンは、ソースデバイスおよびターゲットデバイスとクロスデバイスアクティビティモジュールとの間でユーザプロファイルデータを送受信することができる。
【００８９】
[0096]  いくつかの例では、ソースデバイスからターゲットデバイスおよび／またはクロスデバイスアクティビティモジュールへのユーザプロファイルデータの送信は暗黙的とすることができる。様々な例では、ソースデバイスからターゲットデバイスおよび／またはクロスデバイスアクティビティモジュールへのタスクコンテキストデータの送信は明示的とすることができる。
【００９０】
[0097]  ブロック７０８において、ディスプレイモジュールは、ターゲットデバイス上のインタラクティブなサムネイルディスプレイ上に以前に提示されたタスクを表示させることができる。いくつかの例では、ディスプレイモジュールは、以前に提示および／または変更されたタスク、アプリケーションおよび／またはウェブサイトに固有のデータ、アプリケーションが提案したユーザアクション、ならびにアプリケーションプロモーションの１つまたは複数の関連タスクコンテキストデータを表示することができる。
【００９１】
[0098]  ブロック７１０において、グラフィカルユーザインタフェースは、Ｉ／Ｏインタフェース入力を介して、以前に提示されたタスクの選択を受信することができる。いくつかの例では、選択は、アプリケーションが提案したユーザアクションまたはアプリケーションプロモーションのうちの少なくとも１つとすることができる。
【００９２】
[0099]  ブロック７１２において、アクティビティフィードエンジンは、ブロック７１０におけるタスク選択に応答して、ターゲットデバイス上でアプリケーションを起動する。いくつかの例では、アクティビティフィードエンジンは、ソースデバイス上でタスクが最後に提示および／または変更された同じアプリケーションを起動することができる。いくつかの例では、アクティビティフィードエンジンは、ソースデバイス上でタスクが最後に提示および／または変更されたアプリケーションと互換性のある異なるアプリケーションを起動することができる。様々な例では、アクティビティフィードエンジンは、ソースデバイス上でタスクが最後に提示および／または変更されたアプリケーションと互換性のあるウェブサイトを起動することができる。
【００９３】
[0100]  ブロック７１４において、アプリケーションリポジトリモジュールは、データストレージ内のユーザプロファイルから関連タスクコンテキストデータを取り出し、ブロック７１６等において、ターゲットデバイス上でのアプリケーションおよび／またはウェブサイト上のタスクのシームレスな再エンゲージを可能にする。
【００９４】
[0101]  図８は、先行する図面と一致するクロスデバイスおよび／またはクロスオペレーティングシステムのタスク継続性システムを用いたクロスアプリケーションタスク変更のためのプロセスフローを示す。
【００９５】
[0102]  ブロック８０２において、アクティビティフィードエンジンは、グラフィカルユーザインタフェースに関連付けられたＩ／Ｏインタフェースへの入力を介して、ディスプレイモジュールのためのアプリケーションＡ等の第１のアプリケーションにおいて文書１をエンゲージし、デバイス１０２（１）、２００、４０８、５０６、および／または６０６等のソースデバイス上に、閲覧および／または変更のために文書を表示させる。いくつかの例では、アクティビティフィードエンジンは、ソースデバイス上のウェブサイトにおいて文書１をエンゲージすることができる。
【００９６】
[0103]  ブロック８０４において、様々な例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、デバイス１０２（１）または上記のデバイスのうちの任意のもの等のソースデバイスにおけるユーザプロファイルに文書１が保存されるようにすることができる。いくつかの例では、ソースデバイスにおけるアクティビティフィードエンジンは、暗黙的および／または明示的に、近接通信ネットワークを介して、デバイス１０２（２）または上記のデバイスのうちの任意のもの等のターゲットデバイスにおけるユーザプロファイルに文書１が保存されるようにすることができる。いくつかの例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、クロスデバイスアクティビティモジュールを介して基準ユーザプロファイルに文書１が保存されるようにすることができる。様々な例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、ソースデバイスにおけるユーザプロファイルに、ターゲットデバイスにおけるユーザプロファイルに、および分散型サービスプラットフォームにおける基準ユーザプロファイルに文書１が保存されるようにすることができる。
【００９７】
[0104]  ブロック８０６において、アクティビティフィードエンジンは、グラフィカルユーザインタフェースを介して、アプリケーションＢ等の第２のアプリケーションにおいて文書１を再エンゲージし、ディスプレイモジュールは、第２のアプリケーションにおける閲覧および／または変更のために文書１を表示することができる。再エンゲージに応答して、第１のアプリケーションから追加されたタスクコンテンツデータを含む文書１タスクコンテキストデータを提示することができる。いくつかの例では、アクティビティフィードエンジンは、ソースデバイスにおける第２のアプリケーションにおいて文書１を再エンゲージすることができる。様々な例では、アクティビティフィードエンジンは、ターゲットデバイス上の第２のアプリケーションにおいて文書１を再エンゲージすることができる。
【００９８】
[0105]  ブロック８０８において、いくつかの例では、アクティビティフィードエンジンは、暗黙的におよび／または例示的に、デバイス１０２（１）または上記で説明したデバイスのうちの任意のもの等のソースデバイスにおけるユーザプロファイルに文書１を保存することができる。いくつかの例では、ソースデバイスにおけるアクティビティフィードエンジンは、暗黙的および／または明示的に、近接通信ネットワークを介して、デバイス１０２（２）または上記で説明したデバイスのうちの任意のもの等のターゲットデバイスにおけるユーザプロファイルに文書１を保存することができる。いくつかの例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、クロスデバイスアクティビティモジュールを介して基準ユーザプロファイルに文書１を保存することができる。様々な例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、ソースデバイスにおけるユーザプロファイル、ターゲットデバイスにおけるユーザプロファイル、および分散型サービスプラットフォームにおける基準ユーザプロファイルに文書１を保存することができる。
【００９９】
[0106]  ブロック８１０において、アクティビティフィードエンジンは、グラフィカルユーザインタフェースを介して、アプリケーションＣ等の第３のアプリケーションにおいて文書１を再エンゲージし、ディスプレイモジュールは、第３のアプリケーションにおける閲覧および／または変更のために文書１を表示させることができる。再エンゲージに応答して、第１および第２のアプリケーションから追加されたタスクコンテンツデータを含む文書１タスクコンテキストデータを提示することができる。いくつかの例では、アクティビティフィードエンジンは、ソースデバイスにおける第３のアプリケーションにおいて文書１を再エンゲージすることができる。様々な例では、アクティビティフィードエンジンは、ターゲットデバイス上の第３のアプリケーションにおいて文書１を再エンゲージすることができる。いくつかの例では、ターゲットデバイスは、ブロック８０６において用いられているのと同じデバイスとすることができるか、またはデバイス１０２（Ｎ）等の異なるデバイスとすることができる。
【０１００】
[0107]  ブロック８１２において、いくつかの例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、デバイス１０２（１）等のソースデバイスにおけるユーザプロファイルに、文書１を保存することができる。いくつかの例では、ソースデバイスにおけるアクティビティフィードエンジンは、暗黙的および／または明示的に、近接通信ネットワークを介してデバイス１０２（２）等のターゲットデバイスにおけるユーザプロファイルに文書１を保存することができる。いくつかの例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、クロスデバイスアクティビティモジュールを介して基準ユーザプロファイルに文書１を保存することができる。様々な例では、アクティビティフィードエンジンは、暗黙的および／または明示的に、ソースデバイスにおけるユーザプロファイルに、ターゲットデバイスにおけるユーザプロファイルに、および分散型サービスプラットフォームにおける基準ユーザプロファイルに文書１を保存することができる。
【０１０１】
[0108]  ブロック８１４において、アクティビティフィードエンジンは、グラフィカルユーザインタフェースを介して、第１のアプリケーションにおいて文書１を再エンゲージする。再エンゲージに応答して、第１、第２および第３のアプリケーションから追加されたタスクコンテンツデータを含む文書１タスクコンテキストデータを提示することができる。いくつかの例では、アクティビティフィードエンジンは、デバイス１０２（１）または上記のデバイスのうちの任意のもの等のソースデバイス上の第１のアプリケーションにおいて文書１を再エンゲージすることができる。様々な例では、アクティビティフィードエンジンは、デバイス１０２（２）〜１０２（Ｎ）または上記のデバイスのうちの任意の他のもの等のターゲットデバイス上の第１のアプリケーションにおいて文書１を再エンゲージすることができる。
【０１０２】
[0109]  ソフトウェアとの関連において、動作は、１つまたは複数のプロセッサによって実行されると、１つまたは複数のプロセッサが、列挙された動作を実行することを可能にする、１つまたは複数のコンピュータ可読ストレージ媒体上に記憶されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を行うか、または特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、モジュール、コンポーネント、データ構造等を含む。プロセスは、通信ネットワークを通じてリンクされる遠隔処理デバイスによって機能が行われる分散型コンピューティング環境において実践することもできる。分散型コンピューティング環境では、コンピュータ実行可能命令は、メモリストレージデバイスを含むローカルおよび／またはリモートコンピュータストレージ媒体に位置することができる。
【０１０３】
[0110]  ハードウェアの関連において、ブロックのうちのいくつかまたは全てが、列挙された動作を行う特定用途向け集積回路（ASIC）または他の物理コンポーネントを表すことができる。
【０１０４】
[0111]  動作が記載される順序は、限定として解釈されることを意図しておらず、任意の数の記載される動作を、任意の順序で実行し、任意の順序で組み合わせ、複数の部分動作に分割し、および／または並列に実行して、記載したプロセスを実施することができる。
【０１０５】
例示的な条項
[0112]  Ａ：ユーザプロファイルに対して構成された第１のデバイスおよびユーザプロファイルに対して構成された第２のデバイスを１つまたは複数のネットワークに接続することと、第１のデバイス上のアプリケーションにおいて第１のタスクを作動させることであって、アプリケーションは、少なくとも部分的に、最も近時のユーザ入力から構成される第１のタスクコンテキストデータを含むことと、第１のタスクコンテキストデータを第１のユーザプロファイル更新として第１のデバイス上のデータストレージに保存することと、第１のタスクを含む、複数の近時に閲覧したタスクのうちの少なくとも１つのタスクを第２のデバイス上に表示することと、第２のデバイス上の第１のタスクを選択することと、少なくとも部分的に、第１のタスクを選択することに基づいて、第２のデバイス上のアプリケーションを起動することと、第２のデバイス上のアプリケーションにおいて第１のタスクを作動させることであって、第２のタスク上のアプリケーションは第１のコンテキストデータを含むことと、第２のコンテキストデータを、第２のユーザプロファイル更新として第２のデバイス上のデータストレージに保存することとを含む、方法。
【０１０６】
[0113]  Ｂ：第１のデバイス上のアプリケーションおよび第２のデバイス上のアプリケーションは同じアプリケーションである、段落Ａに記載の方法。
【０１０７】
[0114]  Ｃ：第１のデバイス上のアプリケーションはアプリケーションとして構成され、第２のデバイス上のアプリケーションはウェブブラウザとして構成される、段落Ａに記載の方法。
【０１０８】
[0115]  Ｄ：第１のデバイスはオペレーティングシステムにおいて構成され、第２のデバイスは同じオペレーティングシステムにおいて構成される、段落Ａに記載の方法。
【０１０９】
[0116]  Ｅ：第１のデバイスは、第１のオペレーティングシステムにおいて構成され、第２のデバイスは、第２のオペレーティングシステムにおいて構成され、第２のオペレーティングシステムは第１のオペレーティングと異なる、段落Ａに記載の方法。
【０１１０】
[0117]  Ｆ：１つまたは複数のネットワークは、少なくとも分散型サービスプラットフォームから構成される、段落Ａ〜Ｅのいずれかに記載の方法。
【０１１１】
[0118]  Ｇ：分散型サービスプラットフォームは、基準ユーザプロファイルと、ユーザプロファイルに対して構成された複数のデバイスのうちの少なくとも１つから、ユーザプロファイルデータを送受信するように構成される、クロスデバイスアクティビティモジュールとからさらに構成される、段落Ｆに記載の方法。
【０１１２】
[0119]  Ｈ：１つまたは複数のネットワークは、少なくとも近接通信ネットワークアーキテクチャから構成される、段落Ａ〜Ｅのいずれかに記載の方法。
【０１１３】
[0120]  Ｉ：複数の近時に閲覧したタスクのうちの少なくとも１つの表示は、アプリケーション固有のデータをさらに含み、アプリケーション固有のデータは、少なくとも部分的に、第１のデバイス上のアプリケーションにおいて第１のタスクを作動させることに基づき、アプリケーションが提案したユーザアクション、および／またはアプリケーションプロモーションのうちの少なくとも１つを含む、段落Ａ〜Ｈのいずれかに記載の方法。
【０１１４】
[0121]  Ｊ：第１のデバイス上のアプリケーションにおいて第１のタスクを作動させることは、第２のデバイス上のアプリケーションにおいて第１のタスクを作動させることと連続して生じる、段落Ａ〜Ｉのいずれかに記載の方法。
【０１１５】
[0122]  Ｋ：コンピュータ実行可能命令を有するコンピュータ可読媒体であって、コンピュータ実行可能命令は、実行に応答して、段落Ａ〜Ｊのいずれかに記載の方法を行うようにコンピュータを構成する、コンピュータ可読媒体。
【０１１６】
[0123]  Ｌ：プロセッサと、プロセッサに結合されたコンピュータ可読媒体であって、段落Ａ〜Ｊのいずれかに記載の方法を行うように１つまたは複数のデバイスを構成するための命令を含む、コンピュータ可読媒体とを備える、デバイスまたはシステム。
【０１１７】
[0124]  Ｍ：処理するための手段と、処理するための手段に結合された、記憶するための手段であって、段落Ａ〜Ｊのいずれかに記載の方法を行うように１つまたは複数のデバイスを構成する命令を記憶する手段とを備えるデバイスまたはシステム。
【０１１８】
[0125]  Ｎ：分散型サービスプラットフォームにおける基準ユーザプロファイルに対し第１のデバイスおよび第２のデバイスを構成することと、第１のデバイス上のアプリケーションにおいて第１のタスクを作動させることであって、アプリケーションは、少なくとも最も近時のユーザ入力から構成される第１のタスクコンテキストデータを含むことと、第１のタスクコンテキストデータを、第１のデバイス上のデータストレージにおける第１のユーザプロファイルに保存することと、ネットワーク接続を介して、第１のデバイスを分散型サービスプラットフォームにおける基準ユーザプロファイルに接続することと、第１のユーザプロファイル更新を基準ユーザプロファイルに送信することと、基準ユーザプロファイルを更新することであって、第１のユーザプロファイルおよび基準ユーザプロファイルが同じデータを含むようにすることと、第２のデバイスを分散型サービスプラットフォームにおける基準ユーザプロファイルに接続することと、基準ユーザプロファイルを第２のデバイス上のデータストレージ内の第２のユーザプロファイルに送信することと、第２のユーザプロファイルを更新することであって、第２のユーザプロファイルおよび基準ユーザプロファイルが同じデータを含むようにすることと、第２のデバイス上に、複数の近時に閲覧されたタスクのうちの少なくとも１つを表示することであって、複数の近時に閲覧されたタスクは、少なくとも第１のタスクを含むことと、第２のデバイス上で第１のタスクを選択することと、少なくとも部分的に第１のタスクを選択することに基づいて、第２のデバイス上でアプリケーションを起動することと、第２のデバイス上のアプリケーションにおいて第１のタスクを作動させることであって、アプリケーションは第１のタスクコンテキストデータを含むことと、少なくとも部分的に、第２のデバイス上のユーザ入力に基づいて、第２のユーザプロファイルを更新することとを含む、方法。
【０１１９】
[0126]  Ｏ：第２のデバイス上に、複数の近時に閲覧されたタスクのうちの少なくとも１つを表示することは、ランキング構造で構成され、ランキング構造は、少なくとも、複数の近時に閲覧されたタスクの各々がユーザによって最後に閲覧された時点に基づく、段落Ｎに記載の方法。
【０１２０】
[0127]  Ｐ：ランキング構造は、ユーザプリファレンス、アプリケーション使用頻度、アプリケーション閲覧持続時間、ウェブサイト使用頻度、ウェブサイト閲覧持続時間、アプリケーションユーザが提案したアクション、および／またはアプリケーションプロモーションのうちの少なくとも１つにさらに基づく、段落ＮまたはＯに記載の方法。
【０１２１】
[0128]  Ｑ：ユーザプロファイルに対し第３のデバイスを構成することと、第２のデバイスおよび第３のデバイスを、近接通信ネットワーク接続を介して近接通信ネットワークに接続することと、近接通信ネットワーク接続を介して第２のデバイスから第３のデバイスに第２のユーザプロファイル更新を送信することと、第３のデバイス上のユーザプロファイルを更新することであって、第２のデバイスにおけるユーザプロファイルおよび第３のデバイスにおけるユーザプロファイルが同じデータを含むようにすることと、第３のデバイス上に、複数の近時に閲覧されたタスクのうちの少なくとも１つを表示することであって、複数の近時に閲覧されたタスクは少なくとも第１のタスクを含むことと、第３のデバイス上の第１のタスクを選択することと、第１のタスクを選択することに少なくとも部分的に基づいて、第３のデバイス上のアプリケーションを起動することと、第３のデバイス上のアプリケーションにおける第１のタスクコンテキストデータを作動させることと、第３のデバイス上のユーザプロファイルを更新することとをさらに含む、段落Ｎ〜Ｐのいずれかに記載の方法。
【０１２２】
[0129]  Ｒ：第２のデバイス上の第１のタスクを完了することと、タスク完了信号を、基準ユーザプロファイル、第１のデバイス上のユーザプロファイル、および／または第２のデバイス上のユーザプロファイルに送信することと、タスク完了信号の受信に応答して、基準ユーザプロファイル、第１のデバイス上のユーザプロファイル、および／または第２のデバイス上のユーザプロファイルからタスクを削除することとをさらに含む、段落Ｎ〜Ｑのいずれかに記載の方法。
【０１２３】
[0130]  Ｓ：実行に応答して、段落Ｎ〜Ｒのいずれかに記載の方法を行うようにコンピュータを構成するコンピュータ実行可能命令を有するコンピュータ可読媒体。
【０１２４】
[0131]  Ｔ：プロセッサと、プロセッサに結合されたコンピュータ可読媒体であって、段落Ｎ〜Ｒのいずれかに記載の方法を行うように１つまたは複数のデバイスを構成するための命令を含む、コンピュータ可読媒体とを備える、デバイスまたはシステム。
【０１２５】
[0132]  Ｕ：処理するための手段と、処理するための手段に結合された、記憶するための手段であって、段落Ｎ〜Ｒのいずれかに記載の方法を行うように１つまたは複数のデバイスを構成する命令を記憶する手段とを備えるデバイスまたはシステム。
【０１２６】
[0133]  Ｖ：コンピュータ実行可能命令を有するコンピュータ可読媒体であって、コンピュータ実行可能命令は、実行に応答して、ユーザプロファイル内の複数のアプリケーションにおける複数のタスクを特定することであって、ユーザプロファイルはユーザプロファイルデータから構成されることと、複数のタスクの各々がデバイス上でユーザによって最後に閲覧された時点を特定することと、複数のタスクの各々がユーザによって最後に閲覧された時点に少なくとも部分的に基づいて、複数のアプリケーションにおける複数のタスクをランク付けすることと、ランキングに少なくとも部分的に基づいて、複数のタスクのうちの少なくとも１つを表示のために提供することと、表示される複数のタスクからの特定のタスクの選択を受信することと、特定のタスクを変更することと、特定のタスクのためのタスクコンテキストデータをデータストレージに保存することであって、タスクコンテキストデータは、少なくとも、特定のタスクの変更を含むことと、特定のタスクのタスクコンテキストデータを用いてユーザプロファイルデータを更新することとを含む動作を行うようにデバイスを構成する、コンピュータ可読媒体。
【０１２７】
[0134]  Ｗ：ランク付けは、ユーザプリファレンス、アプリケーション使用頻度、アプリケーション閲覧持続時間、ウェブサイト使用頻度、ウェブサイト閲覧持続時間、アプリケーションユーザが提案したアクション、および／またはアプリケーションプロモーションのうちの少なくとも１つにさらに基づく、段落Ｖに記載のコンピュータ可読媒体。
【０１２８】
[0135]  Ｘ：動作は、少なくとも、基準ユーザプロファイルを記憶するように構成された基準ユーザプロファイルと、クロスデバイスアクティビティモジュールとを備える分散型サービスプラットフォームにデバイスを接続することと、基準ユーザプロファイルおよびユーザプロファイルが同じデータを含むようにユーザプロファイルデータを用いて基準ユーザプロファイルデータを更新するためにデバイスから基準ユーザプロファイルにユーザプロファイルデータを送信することとをさらに含む、段落ＶまたはＷに記載のコンピュータ可読媒体。
【０１２９】
[0136]  Ｙ：動作は、第２のデバイスを分散型サービスプラットフォームに接続することであって、第２のデバイスは、基準ユーザプロファイルに対して構成され、ユーザプロファイルデータを記憶するように構成された第２のデータストレージ内に第２のユーザプロファイルを含むことと、基準ユーザプロファイルデータを第２のユーザプロファイルに送信することと、基準ユーザプロファイルデータを用いて第２のユーザプロファイルデータを更新することであって、第２のユーザプロファイルデータが少なくとも、特定のタスクのためのタスクコンテキストデータを含むようにすることとをさらに含む、段落Ｖ〜Ｘのいずれかに記載のコンピュータ可読媒体。
【０１３０】
[0137]  Ｚ：動作は、デバイスを近接通信ネットワークにおける第２のデバイスに接続することと、ユーザプロファイルデータを、デバイスから第２のデバイス内のデータストレージに送信することと、第２のデバイス上の第２のユーザプロファイルデータをデバイスからのユーザプロファイルデータを用いて更新することとをさらに含む、段落Ｖ〜Ｙのいずれかに記載のコンピュータ可読媒体。
【０１３１】
[0138]  ＡＡ：プロセッサと、プロセッサに結合された段落Ｙ〜Ｚのいずれかに記載のコンピュータ可読媒体とを備える、デバイスまたはシステム。
【０１３２】
[0139]  ＡＢ：少なくとも、ユーザプリファレンスおよびタスクコンテキストデータの組を記憶するように構成される、基準ユーザプロファイルと、ネットワークを介して１つまたは複数のデバイスに接続し、複数のデバイスのうちの少なくとも１つからタスクコンテキストデータを受信し、タスクコンテキストデータを基準ユーザプロファイルに保存し、タスクコンテキストデータを複数のデバイスのうちの少なくとも１つに送信するように構成される、クロスデバイスアクティビティモジュールとを備える、デバイス。
【０１３３】
[0140]  ＡＣ：ユーザプロファイルであって、少なくとも、ユーザプリファレンスおよびタスクコンテキストデータの組を記憶するように構成される、ユーザプロファイルと、複数のアプリケーションであって、アプリケーション固有のデータを記憶するように構成される、複数のアプリケーションと、アクティビティフィードエンジンであって、ネットワークを通じて１つまたは複数のデバイスに接続し、複数のデバイスのうちの少なくとも１つからタスクコンテキストデータを受信し、タスクコンテキストデータをデータストレージ内のユーザプロファイルに保存し、タスクコンテキストデータを第２のデバイスに送信する、アクティビティフィードエンジンとを備える、デバイス。
【０１３４】
[0141]  ＡＤ：アクティビティフィードエンジンはさらに、タスク完了信号を受信し、タスク完了信号の受信に応答して、データストレージ内のユーザプロファイルからタスクコンテキストデータを取り除く、段落ＡＣに記載のデバイス。
【０１３５】
[0142]  ＡＥ：アクティビティフィードエンジンはさらに、タスク完了信号を受信し、タスク完了信号の受信に応答して、少なくとも部分的に、タスク完了信号の受信に基づいて、アプリケーション上の新たなタスクを起動し、デバイス上のアプリケーションにおいて新たなタスクを作動させる、段落ＡＣまたはＡＤに記載のデバイス。
【０１３６】
結論
[0143]  主題は、構造的特徴および／または方法動作に固有の言葉で説明されているが、添付の特許において定義されている主題は、必ずしも記載されている特定の特徴または動作に限定されないことを理解されたい。むしろ、特定の特徴および動作は、特許請求の範囲を実施する例示的な形態として開示される。
【０１３７】
[0144]  条件の文言（Conditional language）、とりわけ「することができる」、「し得る」、「場合がある」または「してもよい」等は概して、特段の断りがない限り、文脈の中で特定の実施例には特定の特徴、要素および／またはステップが含まれるが、他の実施例にはそれらが含まれないことを示すものと理解される。したがって、そのような条件の文言は概して、特定の特徴、要素および／またはステップが１つまたは複数の実施例のために何としても必要であること、あるいは、特定の特徴、要素および／またはステップが任意の特定の実施例に含まれているか、またはその中で行われるかを、ユーザ入力または指示の有無にかかわらず判定するための論理を１つまたは複数の実施例が必ず含むことを暗示するものではない。
【０１３８】
[0145]  接続の文言（Conjunctive language）、例えば「Ｘ、ＹまたはＺのうちの少なくとも１つ」という句は、特段の断りがない限り、項目、用語等が、Ｘ、ＹもしくはＺのいずれか、またはこれらの組合せであり得ることを示すものと理解されたい。
【０１３９】
[0146]  本明細書に記載された、および／または添付図面に図示された流れ図内の任意のルーチン説明、要素またはブロックは、ルーチン内の特定の論理的機能または要素を実装するための１つまたは複数の実行可能命令を含むモジュール、セグメントまたはコードの一部を潜在的に表すものと理解されるべきである。代替的実施例は本明細書に記載の実施例の範囲に含まれており、その中では、当業者に理解されるように関連する機能に応じて、要素または機能は削除することができ、または、示したもしくは論じた以外の順序で、例えばほぼ同時にまたは逆の順序で実行することができる。
【０１４０】
[0147]  上記の実施例に対して多くの変形および変更が可能であることが強調されるべきであり、その要素は他の許容可能な実施例の中にあるものと理解されたい。全てのそのような変更および変形は、本明細書において本開示の範囲に含まれ、以下の特許請求の範囲により保護されることが意図される。
【図１】
0006654620.tif 000002
【図２】
0006654620.tif 000003
【図３】
0006654620.tif 000004
【図４】
0006654620.tif 000005
【図５】
0006654620.tif 000006
【図６】
0006654620.tif 000007
【図７】
0006654620.tif 000008
【図８】
0006654620.tif 000009