JP2015524974A - 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送 - Google Patents

第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送 Download PDF

Info

Publication number
JP2015524974A
JP2015524974A JP2015525420A JP2015525420A JP2015524974A JP 2015524974 A JP2015524974 A JP 2015524974A JP 2015525420 A JP2015525420 A JP 2015525420A JP 2015525420 A JP2015525420 A JP 2015525420A JP 2015524974 A JP2015524974 A JP 2015524974A
Authority
JP
Japan
Prior art keywords
computing device
application
state
request
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015525420A
Other languages
English (en)
Inventor
クシェー,アレキサンダー,フリードリッヒ
ヴュルナー,トロン,トーマス
ステファノフ,フリスト,ステファノフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2015524974A publication Critical patent/JP2015524974A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

開示される主題は第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためにコンピュータで実行される方法に関する。一態様において、方法は第1コンピューティングデバイスから第2コンピューティングデバイスに第1アプリケーションの状態を転送するための第1の要求を第1コンピューティングデバイスから受信することを含む。方法は前記転送を開始するための承認を求める第2の要求を第2コンピューティングデバイスに送信することをさらに含む。方法は前記転送を開始するための前記承認を第2コンピューティングデバイスから受信することをさらに含む。方法は受信した前記承認に基づいて第1アプリケーションの状態を第1コンピューティングデバイスから受信することをさらに含む。方法は受信した第1アプリケーションの状態を第2デバイスに送信することをさらに含む。【選択図】図2

Description

関連出願の相互参照
本出願は、2012年7月30日に出願され、「Transferring a State of an Application from a First Computing Device to a Second Computing Device」という名称の米国特許出願第13/562209号の利益を主張するものであり、同特許出願はすべての目的のために参照により全体として本明細書に取り入れられる。
コンピューティングデバイス上で実行されるアプリケーションは、コンピューティングデバイス上の様々な場所に様々なファイルを保存することができる。例えば、あるアプリケーションは、揮発性メモリ(例えば、RAM)及び様々な場所の不揮発性メモリ(例えば、ハードディスク)にデータを保存させることができる。例えば、Webブラウザは、数ある場所の中で、クッキーフォルダ、一時インターネットファイルフォルダ、お気に入りフォルダ及び履歴フォルダにデータを保存させることができる。
開示される主題は、第1コンピューティングデバイス(computing device)から第2コンピューティングデバイスにアプリケーションの状態(state of an application)を転送するためコンピュータで実行される方法に関する。この方法は、第1コンピューティングデバイス上の第1アプリケーションの状態を第2コンピューティングデバイスに転送するための第1の要求(request)を前記第1コンピューティングデバイスから受信することを含む。前記第2コンピューティングデバイス上の第2アプリケーションは、前記第1アプリケーションの状態を復元(restore)するように構成されている。前記方法は、前記第1の要求に基づいて、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認(approval)を求める第2の要求(request)を前記第2コンピューティングデバイスに送信することをさらに含む。前記方法は、前記第2の要求の送信に対する応答として、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を前記第2コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記第1アプリケーションの状態を前記第2デバイスに送信することをさらに含む。
開示される主題はまた、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためのシステムに関する。このシステムは、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへとアプリケーションの状態を転送するための命令(instructions)を含むメモリと、プロセッサとを含む。前記プロセッサは、前記第1コンピューティングデバイス上の第1アプリケーションの状態を前記第2コンピューティングデバイスに転送するための第1の要求を前記第1コンピューティングデバイスから受信するための命令を実行するように構成されている。前記第1アプリケーションの状態は、前記第1コンピューティングデバイス上の前記第1アプリケーションの第1セッションに対応している。前記第2コンピューティングデバイス上の第2アプリケーションは、前記第1アプリケーションの状態を復元して前記第2アプリケーション内で前記第1セッションを続行するように構成されている。前記プロセッサはまた、前記第1の要求に基づいて、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を求める第2の要求を前記第2コンピューティングデバイスに送信するように構成されている。前記プロセッサはまた、前記第2の要求の送信に対する応答として、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を前記第2コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記第1アプリケーションの状態を前記第2デバイスに送信するように構成されている。前記プロセッサはまた、前記第1アプリケーションの状態の正常受信の確認(acknowledgement of successful receipt)を前記第2コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記確認に基づいて、前記第1アプリケーションの状態についての前記第2コンピューティングデバイスによる正常受信の通知(notification of successful receipt)を前記第1コンピューティングデバイスに送信するように構成されており、前記第1アプリケーションは、前記通知に基づき、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから除去するように構成されている。
開示される主題はまた、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するための方法をプロセッサに実行させるための機械可読命令を含む機械可読媒体に関する。前記方法は、第1コンピューティングデバイス上の第1アプリケーションの状態を第2コンピューティングデバイスに転送するための第1の要求を前記第1コンピューティングデバイスから受信することを含む。前記第2コンピューティングデバイスは、前記第1コンピューティングデバイスに近接している。前記第2コンピューティングデバイス上の第2アプリケーションは、前記第1アプリケーションの状態を復元するように構成されている。前記方法は、前記第1の要求に基づいて、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの状態の転送を開始するための承認を求める第2の要求を前記第2コンピューティングデバイスに送信することをさらに含む。前記方法は、前記第2の要求の送信に対する応答として、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を前記第2コンピューティングデバイスから受信することをさらに含む。前記承認は、前記第2コンピューティングデバイスと前記第1コンピューティングデバイスとの近接性(proximity)に基づいている。前記方法は、受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記第1アプリケーションの状態を前記第2デバイスに送信することをさらに含む。
開示される主題はまた、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためコンピュータで実行される方法に関する。この方法は、第1コンピューティングデバイス上の第1アプリケーションの状態の転送を開始するための要求を第2コンピューティングデバイスに送信することを含む。前記第2コンピューティングデバイス上の第2アプリケーションは、前記第1アプリケーションの状態を復元するように構成されている。前記方法は、送信した前記要求に対する応答として、前記転送を開始するための承認を前記第2コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第2コンピューティングデバイスに送信することをさらに含む。
開示される主題はまた、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためのシステムに関する。このシステムは、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するための命令を含むメモリと、プロセッサとを含む。前記プロセッサは、前記第1コンピューティングデバイスに対する第2コンピューティングデバイスの近接性に基づいて前記第2コンピューティングデバイスの存在を検出するための命令を実行するように構成されている。前記プロセッサはまた、前記第1コンピューティングデバイス上の前記第1アプリケーションの状態の転送を開始するための要求を前記第2コンピューティングデバイスに送信するように構成されている。前記第2コンピューティングデバイス上の第2アプリケーションは、前記第1アプリケーションの状態を復元するように構成されている。前記プロセッサはまた、送信した前記要求に対する応答として、前記転送を開始するための承認を前記第2コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第2コンピューティングデバイスに送信するように構成されている。前記プロセッサはまた、前記第2コンピューティングデバイスから正常転送の表示(indication of a successful transfer)を受信するように構成されている。前記プロセッサはまた、受信した表示に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから除去するように構成されている。
以下の詳細な説明には、主題技術の様々な構成が例として示され、記載されており、当該説明から主題技術のその他の構成が当業者にとって容易に明らかになることは言うまでもない。以下から理解されるように、主題技術はその他の種々の構成とすることが可能であり、そのいくつかの詳細は、いずれも主題技術の範囲を逸脱することなく、その他の様々な観点から変更可能である。従って、図面及び詳細な説明は、本質的に、限定的なものとしてではなく、例示的なものとみなすべきである。
主題技術のいくつかの特徴は特許請求の範囲に記載されている。しかし、添付図面は、更なる理解を提供するために含まれたものであり、開示された実施形態を図示し、その記述とともに前記開示された実施形態の原理を説明するのに役立つものである。
第1コンピューティングデバイスから第2コンピューティングデバイスへとアプリケーションの状態を転送するためのアーキテクチャの一例を示す図である。 図1のアーキテクチャにおける第1コンピューティングデバイス、第2コンピューティングデバイス及びサーバの一例を示すブロック図である。 第1コンピューティングデバイスから第2コンピューティングデバイスへとアプリケーションの状態を転送するためのプロセスの第1の例を示す図である。 第1コンピューティングデバイスから第2コンピューティングデバイスへとアプリケーションの状態を転送するためのプロセスの第2の例を示す図である。 図3Aのプロセス例に関連するシステムの第1の例の説明図である。 図3Bのプロセス例に関連するシステムの第2の例の説明図である。 主題技術のいくつかの態様を実現可能な電子システムを概念的に示す図である。
以下に記載されている詳細な説明は、主題技術の様々な構成を説明することを目的としており、主題技術が実施され得る構成のみを表すものではない。添付図面は、本明細書に取り入れられて、詳細な説明の一部を構成する。詳細な説明は、主題技術のより詳しい理解を提供するための具体的な詳細を含む。しかし、主題技術が本明細書に明記されている具体的な詳細に限定されず、このような具体的な詳細がなくても実施し得ることは、当業者にとって明白かつ明らかになるであろう。いくつかの事例では、主題技術の概念が曖昧になることを回避するため、周知の構造及び構成要素がブロック図形式で示されている。
第1コンピューティングデバイス上のアプリケーションを使用しているユーザは、第2コンピューティングデバイス上でそのアプリケーションを使用し続けたいと希望することがある。一例として、Webベースのワードプロセシング・アプリケーションを使用して文書を作成しているユーザが考えられる。ユーザは、携帯型のタッチベースのタブレットコンピュータ(a mobile touch-based tablet computer)上で文書を作成し始める。前記タブレットコンピュータのタッチスクリーン上でタイプ入力を行うのはキーボード上でタイプ入力を行うよりも効率が悪いと気づき、ユーザは自分のデスクトップコンピュータ上でその文書の作業を続行することを決める。
この例における前記Webベースのワードプロセシング・アプリケーションは、コンピューティングデバイス上でローカルに操作履歴を保存する。本明細書で使用する「操作履歴」という語句は、一般的かつ通常の意味を包含するものであり、ユーザ及び/又はアプリケーションによって実行された任意の操作を含む。但し、これらに限定されるものではない。一例として、ユーザが何らかのテキストをタイプ入力する場合、ユーザは、例えばCTRL−Zを押すことによって、そのタイプ入力をアンドゥする(取り消す)ことができる。また、ユーザは、例えばCTRL−Yを押すことによって、そのタイプ入力をリドゥする(やり直す)こともできる。各操作は、その操作履歴に基づいて、アンドゥ及び/又はリドゥされ得る。
この例において、前記Webベースのワードプロセシング・アプリケーションは、コンピューティングデバイス上でローカルに操作履歴を保存するため、ユーザは、そのデバイス上においてのみアンドゥ操作及び/又はリドゥ操作を行うことができる。したがって、この場合において、ユーザがデスクトップコンピュータを使用し始めると、ユーザは文書内における自分の操作のいずれについてもアンドゥ又はリドゥすることができなくなってしまう。
主題技術の特定の態様によれば、第1コンピューティングデバイス(例えば、タブレットコンピュータ)から第2コンピューティングデバイス(例えば、デスクトップコンピュータ)にアプリケーションの状態を転送するためのシステム及び方法が提供される。
本明細書で使用する「アプリケーション状態(application state)」及び/又は「アプリケーションの状態(state of an application)」という用語は、一般的かつ通常の意味を包含するものであり、アプリケーションによってコンピューティングデバイス上でローカルに生成され及び/又は保存された任意のデータを含む。但し、これらに限定されるものではない。アプリケーション状態は、任意の長さの時間、コンピューティングデバイス上の任意の種類(例えば、揮発性、不揮発性)のメモリに保存され得る。
図1は、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためのアーキテクチャ100の一例を示している。アーキテクチャ100は、ネットワーク140を介して接続されたコンピューティングデバイス110及びサーバ170を含む。
コンピューティングデバイス110は、例えば、モバイルコンピュータ、タブレットコンピュータ、モバイル装置(例えば、スマートフォンやPDA)、デスクトップコンピュータ、セットトップボックス(例えば、テレビジョン用の)、ビデオゲームコンソール、又は、適切な処理能力、通信能力及びメモリを有する任意のその他の装置であり得る。各コンピューティングデバイス110は、ユーザ入力を受け入れるための入力装置と、ユーザに対して情報を表示するための出力装置とを含むように構成される。
コンピューティングデバイス110は、ネットワーク140に接続され得る。ネットワーク140は、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、キャンパス・エリア・ネットワーク(CAN)、メトロポリタン・エリア・ネットワーク(MAN)、広域ネットワーク(WAN)、ブロードバンド・ネットワーク(BBN)、インターネットなどのうちの任意の一つ又は複数を含むことができる。また、ネットワーク140は、特に限定されるものではないが、バスネットワーク、星状ネットワーク、環状ネットワーク、網目状ネットワーク、星状バスネットワーク、木状又は階層ネットワークなどを含むネットワークトポロジのうちの任意の一つ又は複数を含むことができる。
コンピューティングデバイス110のうちのいずれか一つが第1コンピューティングデバイス110Aになり、他のコンピューティングデバイス110が第2コンピューティングデバイス110Bになり得る。例えば、図1においては、デスクトップコンピュータが第1コンピューティングデバイス110Aの一例として示され、ラップトップコンピュータが第2コンピューティングデバイス110Bの一例として示されている。それぞれのコンピューティングデバイス110(例えば、110A,110B)はアプリケーションを含む。例えば、第1のコンピューティングデバイス110Aは第1アプリケーションを含み、第2コンピューティングデバイス110Bは第2アプリケーションを含む。
サーバ170は、例えば、スタンドアロンサーバ、共用サーバ、専用サーバ、クラスタ/グリッド・サーバ(例えば、サーバファーム)又はクラウドサーバであり得る。サーバ170のそれぞれは、一つ又は複数のプロセッサと、通信モジュールと、メモリとを含むことができる。サーバ170は、(例えば、ロードバランシングのために)複数のサーバ間で作業負荷を分散するように構成され得る。
図2は、いくつかの開示態様に応じた、図1のアーキテクチャ100における第1コンピューティングデバイス110A、第2コンピューティングデバイス110B及びサーバ170の一例を示すブロック図200である。
第1コンピューティングデバイス110Aは、入力装置202Aと、出力装置204Aと、プロセッサ220Aと、通信モジュール222Aと、メモリ240Aとを含む。入力装置202Aは、タッチスクリーン、マウス、キーボード又はユーザが入力206Aを第1コンピューティングデバイス110Aに供給できるようにするための任意のその他の装置であり得る。出力装置204Aは表示画面(display screen)であり得る。入力装置202Aを介して受信された入力206Aは、第1コンピューティングデバイス110A及び/又はサーバ170上でローカルに処理され得る。
第1コンピューティングデバイス110Aは、通信モジュール222Aを介してネットワーク140に接続される。通信モジュール222は、データ、要求、応答及びコマンドなどの情報をネットワーク140上の他の装置との間で送受信するためにネットワーク140とのインターフェースを取るように構成される。通信モジュール222Aは、例えば、モデム又はイーサネット(登録商標)カードであり得る。
メモリ240Aは、第1アプリケーション250aを含み、この第1アプリケーション250は、第1コンピューティングデバイス110A及び/又はサーバ170との間で情報をやり取りするためにユーザによって使用される共に、ユーザに対して情報を表示するために使用され得る。第1アプリケーション250Aは、第1コンピューティングデバイス110Aでローカルにインストールされ、及び/又は、サーバ170からダウンロードされ得る。
メモリ240Aまたは、第1アプリケーション状態モジュール242Aを実行するためにプロセッサ220Aによって読み取られ得るソフトウェア命令を含む。第1アプリケーション250A及び/又は第1アプリケーション状態モジュール242Aによって生成され及び/又は保存されたデータは、第1アプリケーション状態データ244Aとして保存され得る。第1アプリケーション状態モジュール242Aは、第1アプリケーション250Aの一部として実現されてよいし、第1アプリケーション250Aとは別体であってもよいことに留意されたい。
第2コンピューティングデバイス110Bは、多くの点で第1コンピューティングデバイス110Aと同様であり得る。例えば、第2コンピューティングデバイス110Bは、入力装置202Bと、出力装置204Bと、プロセッサ220Bと、通信モジュール222Bと、メモリ240Bとを含む。第2入力装置202Bは、タッチスクリーン、マウス、キーボード又はユーザが第2の入力206Bを第2コンピューティングデバイス110Bに供給できるようにするための任意のその他の装置であり得る。出力装置204Bは表示画面であり得る。入力装置202Bを介して受信された入力206Bは、第2コンピューティングデバイス110B及び/又はサーバ170上でローカルに処理され得る。
第2コンピューティングデバイス110Bは、通信モジュール222Bを介してネットワーク140に接続される。通信モジュール222Bは、データ、要求、応答及びコマンドなどの情報をネットワーク140上の他の装置との間で送受信するためにネットワーク140とのインターフェースを取るように構成される。通信モジュール222Bは、例えば、モデム又はイーサネットカードであり得る。
メモリ240Bはまた、第2アプリケーション状態モジュール242Bを実行するためにプロセッサ220Bによって読み取られ得るソフトウェア命令を含む。第2アプリケーション250B及び/又は第2アプリケーション状態モジュール242Bによって生成され及び/又は保存されたデータは、第2アプリケーション状態データ244Bとして保存され得る。第2アプリケーション状態モジュール242Bは、第2アプリケーション250Bの一部として実現されてもよいし、第2アプリケーション250Bとは別体であってもよいことに留意されたい。
コンピューティングデバイス110(例えば、110A,110B)のプロセッサ(例えば、220A,220B)は、プロセッサ(例えば、220A、220B)内に物理的にコード化された命令、メモリ(例えば、240A,240B)から読み取られた命令又はその両方の組み合わせなどの命令を実行するように構成されている。一例として、メモリ240Aから読み取られた命令に基づいて、第1プロセッサは、第1コンピューティングデバイス(例えば、110A)から第2コンピューティングデバイス(例えば、110B)にアプリケーション(例えば、250A)の状態(例えば、244A)を転送するための方法を実行するように構成され得る。
例えば、第1コンピューティングデバイス110Aについて考えると、メモリ240Aからの前記命令がロードされると、プロセッサ220Aは、第1コンピューティングデバイス(例えば、110A)上の第1アプリケーション(例えば、250A)の状態(244A)の転送を開始するための要求を、第2コンピューティングデバイス(例えば、110B)に送信するように構成され、第2コンピューティングデバイス(例えば、110B)は、第1アプリケーション(例えば、250A)の状態(例えば、244A)を第2コンピューティングデバイス(例えば、110B)上で復元するように構成された第2アプリケーション(例えば、250B)を有している。プロセッサ220Aはまた、送信した前記要求に対する応答として、前記転送を開始するための承認を第2コンピューティングデバイス(例えば、110B)から受信するように構成される。プロセッサ220Aはまた、受信した前記承認に基づいて、第1アプリケーション(例えば、250A)の状態(例えば、244A)を第2コンピューティングデバイス(例えば、110B)に送信するように構成される。
サーバ170は、メモリ280と、プロセッサ260と、通信モジュール262とを含む。メモリ280は、アプリケーション状態サーバモジュール282を実行するためにプロセッサ260によって読み取られ得るソフトウェア命令を含む。アプリケーション状態サーバモジュール282は、第1コンピューティングデバイス(例えば、110A)から第2コンピューティングデバイス(例えば、110B)にアプリケーションの状態を転送する。アプリケーション状態サーバモジュール282によって生成され及び/又は保存されたデータ(例えば、一時コピー)は、サーバ170のメモリ280にアプリケーション状態サーバデータ284として保存され得る。
アプリケーション状態サーバモジュール282は、第1コンピューティングデバイス(例えば、110A)上の第1アプリケーション(例えば、250A)の状態(例えば、244A)を第2コンピューティングデバイス(例えば、110B)に転送するための第1の要求を、第1コンピューティングデバイス(例えば、110A)から受信する。第2コンピューティングデバイス(例えば、110B)上の第2アプリケーション(例えば、250B)は、第1アプリケーション(例えば、250A)の状態(例えば、244A)を復元するように構成されている。アプリケーション状態サーバモジュール282は、前記第1の要求に基づいて、第1コンピューティングデバイス(例えば、110A)から第2コンピューティングデバイス(例えば、110B)への第1アプリケーション(例えば、250A)の状態(例えば、244A)の転送を開始するための承認を求める第2の要求を、第2コンピューティングデバイス(例えば、110B)に送信する。アプリケーション状態サーバモジュール282は、前記第2の要求の送信に対する応答として、第1コンピューティングデバイス(例えば、110A)から第2コンピューティングデバイス(例えば、110B)への第1のアプリケーション(例えば、250A)の状態(例えば、244A)の転送を開始するための承認を、第2コンピューティングデバイス(例えば、110B)から受信する。アプリケーション状態サーバモジュール282は、受信した前記承認に基づいて、第1アプリケーション(例えば、250A)の状態(例えば、244A)を第1コンピューティングデバイス(例えば、110A)から受信する。アプリケーション状態サーバモジュール282は、受信した第1アプリケーション(例えば、250A)の状態(例えば、244A)を第2デバイス(例えば、110B)に送信する。
サーバ170は、通信モジュール262を介してネットワーク140に接続される。通信モジュール262は、データ、要求、応答及びコマンドなどの情報をネットワーク140上の他の装置との間で送受信するためにネットワーク140とのインターフェースを取るように構成される。通信モジュール262は、例えば、モデム又はイーサネットカードであり得る。
サーバ170のプロセッサ260は、プロセッサ260内に物理的にコード化された命令、メモリ280から読み取られた命令又はその両方の組み合わせなどの命令を実行するように構成されている。一例として、サーバ170のプロセッサ260は、アプリケーション状態サーバモジュール282に関する命令を実行する。
メモリ280からの前記命令がロードされると、プロセッサ260は、第1コンピューティングデバイス(例えば、110A)上の第1アプリケーション(例えば、250A)の状態(244A)を第2コンピューティングデバイス(例えば、110B)に転送するための第1の要求を、第1コンピューティングデバイス(例えば、110A)から受信するように構成されている。第2コンピューティングデバイス(例えば、110B)上の第2アプリケーション(例えば、250B)は、第1アプリケーション(例えば、250A)の状態(例えば、244A)を復元するように構成されている。プロセッサ260はまた、前記第1の要求に基づいて、第1コンピューティングデバイス(例えば、110A)から第2コンピューティングデバイス(例えば、110B)への第1アプリケーション(例えば、250A)の状態(例えば、244A)の転送を開始するための承認を求める第2の要求を、第2コンピューティングデバイス(例えば、110B)に送信するように構成されている。プロセッサ260はまた、前記第2の要求の送信に対する応答として、第1コンピューティングデバイス(例えば、110A)から第2コンピューティングデバイス(例えば、110B)への第1アプリケーション(例えば、250A)の状態(例えば、244A)の転送を開始するための承認を、第2コンピューティングデバイス(例えば、110B)から受信するように構成されている。プロセッサ260はまた、受信した前記承認に基づいて、第1アプリケーション(例えば、250A)の状態(例えば、244A)を第1コンピューティングデバイス(例えば、110A)から受信するように構成されている。プロセッサ260はまた、受信した第1アプリケーション(例えば、250A)の状態(例えば、244A)を第2デバイス(例えば、110B)に送信するように構成されている。
図3A〜図3Bは、第1コンピューティングデバイスから第2コンピューティングデバイスへとアプリケーションの状態を転送するためのプロセス(処理)300A〜300Bの例を示している。
図3Aは、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためのプロセス300Aの第1の例を示している。
ステップ310において、サーバ170は、第1コンピューティングデバイス110A上の第1アプリケーション250Aの状態244Aを第2コンピューティングデバイス110Bに転送するための第1の要求を、第1コンピューティングデバイス110Aから受信する。第2コンピューティングデバイス110B上の第2アプリケーション250Bは、第1アプリケーション250Aの状態244Aを復元するように構成されている。
アプリケーション250Aの状態244Aは、第1コンピューティングデバイス110A上で生成され及び/又は保存された任意のデータ(例えば、ローカルコピー、一時データ)を含むことができる。すなわち、第1アプリケーション110Aの動作の結果として第1コンピューティングデバイス110A上に存在する任意の情報は、アプリケーション状態244Aの一部と見なされ得る。一例として、第1アプリケーション250Aがワードプロセシング・アプリケーションである場合、アプリケーション状態244Aは、ユーザが作業している文書、操作履歴(例えば、アンドゥ履歴、リドゥ履歴)、ユーザ設定(例えば、ファイル保存場所)、スクロールバーの位置、ワードプロセシング・アプリケーションのウィンドウの位置、一時ファイル(例えば、編集のために文書がメモリ内にロードされた時に作成された一時ファイル)などを含むことができる。
第1アプリケーション250Aの状態244Aは、様々なフォーマットで表され得る。例えば、第1アプリケーション250Aの状態244Aは、ドキュメント・オブジェクト・モデル(DOM)フォーマットで表され得る。他の例として、第1アプリケーション250Aの状態244Aは、一つのアーカイブ(例えば、ジップファイル(zipped file)として表され得る。
第1コンピューティングデバイス110Aと第2コンピューティングデバイス110Bとは同様のもの又は異なるものであり得る。一例として、第1コンピューティングデバイス110Aがラップトップコンピュータであり、第2コンピューティングデバイス110Bがタブレットコンピュータであり得る。同様に、第1コンピューティングデバイス110Aがスマートフォンであり、第2コンピューティングデバイス110Bがデスクトップコンピュータであり得る。
ステップ320において、サーバ170は、前記第1の要求に基づいて、第1コンピューティングデバイス110Aから第2コンピューティングデバイス110Bへの第1アプリケーション250Aの状態244Aの転送を開始するための承認を求める第2の要求を、第2コンピューティングデバイス110Bに送信する。前記第2の要求は、前記第1の要求と同じものであり得る。すなわち、前記第1の要求は、実質的に変更されずに、前記第2の要求として第2コンピューティングデバイス110Bに中継され得る。あるいは、前記第2の要求は、前記第1の要求に基づいてサーバ170によって生成され得る。
前記承認を求める前記第2の要求は様々な方法で実現され得る。例えば、サーバ170は、ユーザに対して出力装置204B(例えば、ディスプレイ)上に通知を表示すること及び入力装置202B(例えば、マウス)を介して入力206Bを行って(例えば、ボタンをクリックして)承認を示すようユーザを促すことを、第2コンピューティングデバイス110Bに実行させることができる。サーバ170は、ユーザからのインタラクション(interaction from the user)なしに、第2コンピューティングデバイス110Bから承認を受信するようにしてもよい。例えば、第2コンピューティングデバイス110Bは、サーバ170からの要求に応答して承認を提供するように前もって構成され得る。
ステップ330において、サーバ170は、前記第2の要求の送信したに対する応答として、第1コンピューティングデバイス110Aから第2コンピューティングデバイス110Bへの第1アプリケーション250Aの状態244Aの転送を開始するための承認を、第2コンピューティングデバイス110Bから受信する。第2コンピューティングデバイス110Bからの前記承認は様々な方法で受信され得る。例えば、第2コンピューティングデバイス110Bから受信したセキュリティトークンが前記転送を開始するための承認を示すことができる。
ステップ340において、サーバ170は、受信した前記承認に基づいて、第1アプリケーション250Aの状態244Aを第1コンピューティングデバイス110Aから受信する。
ステップ350において、サーバ170は、受信した第1アプリケーション250Aの状態244Aを第2デバイス110Bに送信する。第2コンピューティングデバイス110B上の第2アプリケーション250Bは、第1アプリケーション250Aの状態244Aを復元することができる。すなわち、アプリケーション状態244Aを使用することにより、第2アプリケーション250Bは、第1アプリケーション250Aとして出現して動作することができる。
一態様において、サーバ170は、第1アプリケーション250Aの状態244Aの正常受信の確認を第2コンピューティングデバイス110Bから受信することができる。サーバ170は、受信した前記確認に基づいて、第1アプリケーション250Aの状態244Aについての第2コンピューティングデバイス110Bによる正常受信の通知を第1コンピューティングデバイス110Aに送信することができる。送信された前記通知は受信した前記確認と同じものであり得る。すなわち、受信した前記確認は、実質的に変更されることなく、送信された前記通知として第1コンピューティングデバイス110Aに中継され得る。あるいは、送信された前記通知は、受信した前記確認に基づいてサーバ170によって生成され得る。
送信された前記通知に基づいて、第1アプリケーション250Aは、状態244Aを第1のコンピューティングデバイス110Aから除去することができる。
図3Bは、第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためのプロセス300Bの第2の例を示している。
ステップ315において、第1コンピューティングデバイス110Aは、第1コンピューティングデバイス110A上の第1アプリケーション250Aの状態244Aの転送を開始するための要求を、第2コンピューティングデバイス110Bに送信する。第2コンピューティングデバイス110Bは、第1アプリケーション250Aの状態244Aを第2コンピューティングデバイス110B上で復元するように構成された第2アプリケーション250Bを有する。
ステップ315で送信される要求は様々な方法でトリガされ得る。例えば、第1コンピューティングデバイス110Aが第2コンピューティングデバイス110Bの存在を検出したときに、第2コンピューティングデバイス110Bの存在を示すために第1通知が(例えば、表示のために)提供され得る。第1コンピューティングデバイス110Aは、第1コンピューティングデバイス110Aに対する第2コンピューティングデバイス110Bの物理的な近接性及び/又はネットワーク近接性に基づいて、第2コンピューティングデバイス110Bの存在を検出することができる。
前記物理的な近接性の一例として、第1コンピューティングデバイス110Aは、Bluetooth(登録商標)技術に基づいて、第2コンピューティングデバイス110Bの存在を検出することができる。同様に、第1コンピューティングデバイス110Aは、赤外線、Wi−Fi、又は、識別可能な信号を第2コンピューティングデバイス110Bに放出させることになる任意のその他の技術に基づいて、第2コンピューティングデバイス110Bの存在を検出することができる。
第1コンピューティングデバイス110Aは、第2コンピューティングデバイス110Bによって引き起こされる効果に基づいて、第2コンピューティングデバイス110Bの存在を検出することができる。例えば、第1コンピューティングデバイス110Aは、第2コンピューティングデバイス110Bから放出された特定の音声パターンに基づいて、第2コンピューティングデバイス110Bを検出することができる。
前記ネットワーク近接性の一例を挙げると、第1コンピューティングデバイス110Aは、他のコンピューティングデバイス110の存在についてネットワークを探査する(probe)ことができる。例えば、第1コンピューティングデバイス110Aは、第2コンピューティングデバイス110Bのハードウェアアドレス(例えば、MACアドレス)についてネットワークをスキャンすることができる。
第2コンピューティングデバイス110Bの存在を示すために第1コンピューティングデバイス110Aによって(例えば、表示のために)提供される前記第1の通知は、第1のコマンド(例えば、入力)を受け入れるように構成され得る。第1のコマンドは、第1のコンピューティングデバイス110Aから第2コンピューティングデバイス110Bへの第1のアプリケーション250Aの状態244Aの転送を開始するための要求を、第2コンピューティングデバイス110Bに送信することを第1のコンピューティングデバイス110Aに実行させることができる。
前記第1の通知は、ユーザインタラクション(user interaction)を必要としてもよく、必要としなくてもよいことに留意されたい。すなわち、前記通知及び対応する前記第1のコマンドは、第1コンピューティングデバイスの構成に基づいて自動的に発生し得る。
ステップ325において、第1コンピューティングデバイス110Aは、送信した前記要求に対する応答として、前記転送を開始するための承認を第2コンピューティングデバイス110Bから受信する。このステップ325で受信される前記承認は様々な方法でトリガされ得る。例えば、第1コンピューティングデバイス110Aが前記転送を開始するための前記要求を送信した場合に、第2コンピューティングデバイス110Bは、前記転送を開始するための前記要求を示す第2の通知を(例えば、表示のために)提供することができる。第2コンピューティングデバイス110Bによって(例えば、表示のために)提供される第2の通知は、前記転送を開始するための前記承認を第1コンピューティングデバイス110Aに送信することを第2コンピューティングデバイス110Bに実行させるための第2のコマンドを受け入れるように構成され得る。
ステップ335において、第1コンピューティングデバイス110Aは、第2コンピューティングデバイス110Bから前記承認を受信し、受信した前記承認に基づいて、第1アプリケーション250Aの状態244Aを第2コンピューティングデバイス110Bに送信する。
一態様において、第1コンピューティングデバイス110Aは、第1アプリケーション250Aの状態244Aの正常転送の表示(indication of successful transfer)を第2コンピューティングデバイス110Bから受信することができる。受信した前記表示に基づいて、第1アプリケーション250Aは、状態244Aを第1コンピューティングデバイス110Aから除去することができる。
プロセス300A〜300Bは、図1及び図2のシステムに関連して上記のように説明されているが、プロセス300A〜300Bはこのようなシステムに限定されず、他のシステム及び/又は構成によっても実行され得ることに留意されたい。例えば、ステップ310の前記第1の要求及び/又はステップ320の前記承認は、ステップ315及び325に記載されているように近接性の検出に基づくものとすることができる。すなわち、第1アプリケーション250Aの状態244Aの転送は、(例えば、セキュリティ上の理由により)第1コンピューティングデバイス110Aと第2コンピューティングデバイス110Bとの近接性を条件とすることができる。
次に、図3A〜図3Bのプロセス300A〜300Bの例を使用した実施例について説明する。図4Aに示される第1実施例においては、第1コンピューティングデバイス110Aとしてタブレットコンピュータが使用され、第1アプリケーション250Aとしてタブレットコンピュータ上の第1のWebブラウザが使用され、第1アプリケーション250Aの状態244Aとして前記第1のWebブラウザのブラウジングセッション(以下「第1ブラウジングセッション」という)が使用され、第2コンピューティングデバイス110Bとしてデスクトップコンピュータが使用され、第2アプリケーション250Bとしてデスクトップコンピュータ上の第2のWebブラウザが使用されている。
この実施例において、タブレットコンピュータ110Aを使用しているユーザは、オンライン小売業者(online retailer)から書籍を購入することを決める。ユーザが購入を完了するためのチェックアウトプロセスを開始すると、ユーザは自分の配送情報及び支払情報を入力するよう要求される。前記タブレットコンピュータのタッチスクリーン上でのタイプ入力を苛立たしく感じて、ユーザは前記デスクトップコンピュータに切り替えようと決める。
プロセス300Aは、ユーザが前記タブレットコンピュータから前記デスクトップコンピュータ110Bに第1ブラウジングセッション244Aを転送することを決めると開始する。
ステップ310において、サーバ170は、タブレットコンピュータ110A上の第1のWebブラウザ250Aの第1ブラウジングセッション244Aをデスクトップコンピュータ110Bに転送するための第1の要求を、タブレットコンピュータ110Aから受信する。デスクトップコンピュータ110B上の第2のWebブラウザ250Bは、第1のWebブラウザ250Aのブラウジング244Aを復元するように構成されている。
タブレットコンピュータ110A上の第1ブラウジングセッション244Aは、ユーザのWeb活動に関するすべてのファイルを含んでいる。例えば、第1ブラウジングセッションは、ユーザによって閲覧された特定のWebページ、関連する一時ファイル、クッキー、URL履歴、ウィンドウ及び/又はタブ位置などを含む。この実施例における第1ブラウジングセッション244Aは、ドキュメント・オブジェクト・モデル(DOM)フォーマットで表される。
ステップ320において、サーバ170は、前記第1の要求に基づいて、タブレットコンピュータ110Aからデスクトップコンピュータ110Bへの第1のWebブラウザ250Aの第1ブラウジングセッション244Aの転送を開始するための承認を求める第2の要求を、デスクトップコンピュータ110Bに送信する。この実施例において、デスクトップコンピュータ110Bに送信される前記第2の要求は、タブレットコンピュータ110Aから受信された前記第1の要求に基づいて、サーバ170によって生成される。
デスクトップコンピュータ110Bは、タブレットコンピュータ110Aから転送されたものを自動的に受け入れるように構成されている。このため、デスクトップコンピュータ110Bは自動的にサーバ170に承認を送信する。
ステップ330において、サーバ170は、タブレットコンピュータ110Aからの第1のWebブラウザ250Aの第1ブラウジングセッション244Aの転送を開始するための承認をデスクトップコンピュータ110Bから受信する。
ステップ340において、受信した前記承認に基づいて、サーバ170はタブレットコンピュータ110Aから第1ブラウジングセッション244Aを受信する。
ステップ350において、サーバ170は、デスクトップコンピュータ110Bにブラウジングセッション244Aを送信する。第1ブラウジングセッション244Aと、ステップ340の動作に基づいて保存(例えば、一時コピーとして)又は生成された任意のその他のデータとは、アプリケーション状態サーバデータ284としてサーバ170上に保存され得る。
そして、デスクトップコンピュータ110B上の第2のWebブラウザ250Bは、第1のWebブラウザ250Aの第1ブラウジングセッション244Aを復元し、ユーザはデスクトップコンピュータ110Bから前記購入を完了する。
図4Bに示されている第2実施例においては、第1コンピューティングデバイス110Aとしてデスクトップコンピュータが使用され、第1アプリケーション250Aとして前記デスクトップコンピュータ上の第1のWebベースのワードプロセシング・アプリケーションが使用され、第1アプリケーション250Aの状態244Aとして前記第1のWebベースのワードプロセシング・アプリケーションに関連するファイルが使用され、第2コンピューティングデバイス110Bとしてラップトップコンピュータが使用され、第2アプリケーション250Bとして前記ラップトップコンピュータ上の第2のWebベースのワードプロセシング・アプリケーションが使用される。
この実施例において、ユーザは自分の仕事場におり、Webベースのワードプロセシング・アプリケーションを使用して文書を編集している。前記Webベースのアプリケーションは、オフラインで文書の作成及び/又は編集を行うことができる。ユーザは、会議に出席するために他の場所へ飛行機で出張しなければならない。
プロセス300Bは、ユーザが前記第1のWebベースのワードプロセシング・アプリケーション250Aの状態244Aを、出張に携行するラップトップコンピュータ110Bに転送しようと決めると開始する。ユーザは、編集中の文書に関する操作履歴(例えば、アンドゥ履歴)にアクセスできるようにするため状態244Aを転送しようと決める。
ステップ315において、デスクトップコンピュータ110Aは、デスクトップコンピュータ110A上の前記第1のWebベースのワードプロセシング・アプリケーション250Aの状態244Aの転送を開始するための要求を、ラップトップコンピュータ110Bに送信する。ラップトップコンピュータ110Bは、オフライン使用のためにWebベースのワードプロセシング・アプリケーション(以下、「第2のWebベースのワードプロセシング・アプリケーション250B」という)を保存したWebブラウザを有している。前記第2のWebベースのワードプロセシング・アプリケーション250Bは、前記第1のWebベースのワードプロセシング・アプリケーション250Aの状態244Aを復元するように構成されている。
ステップ315において送信される前記要求は、デスクトップコンピュータ110Aがラップトップコンピュータ110Bの存在を検出した時にトリガされる。デスクトップコンピュータ110Aは、ラップトップコンピュータ110Bから受信したBluetooth(登録商標)信号に基づいてラップトップコンピュータ110Bを検出する。
ステップ325において、デスクトップコンピュータ110Aは、送信した前記要求に対する応答として、前記転送を開始するための承認をラップトップコンピュータ110Bから受信する。ステップ325における前記承認は、ラップトップコンピュータ110Bからデスクトップコンピュータ110Aによって受信されるセキュリティトークンの形式になっている。
ステップ335において、受信した前記承認に基づいて、デスクトップコンピュータ110Aは、前記第1のWebベースのワードプロセシング・アプリケーション250Aの状態244Aをラップトップコンピュータ110Bに送信する。そして、前記第2のWebベースのワードプロセシング・アプリケーション250Bが状態244Aを復元し、ユーザはラップトップコンピュータ110B上で前記文書の作業を続行することができる。
図5は、それによって主題技術のいくつかの態様が実現され得る電子システムを概念的に示している。例えば、図5は、それによって図2のコンピューティングデバイス110又はサーバ170が実現され得るコンピュータシステム500の一例を示している。ある態様において、コンピュータシステム500は、ハードウェア又はソフトウェアとハードウェアの組み合わせを使用し、専用のサーバ内において、他のエンティティ内に統合されて、又は、複数のエンティティ間に分散されて実現され得る。
コンピュータシステム500(例えば、コンピューティングデバイス110,サーバ170)は、情報を伝達するためのバス508又はその他の通信メカニズムと、情報を処理するためにバス508と結合されたプロセッサ502(例えば、プロセッサ220,プロセッサ260)とを含む。例として、コンピュータシステム500は、一つ又は複数のプロセッサ502で実現され得る。プロセッサ502は、汎用マイクロプロセッサ、マイクロコントローラ、デジタル・シグナル・プロセッサ(DSP)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)、コントローラ、ステートマシン(state machine)、ゲーテッド・ロジック(gated logic)、個別のハードウェアコンポーネント、又は、計算やその他の情報操作を実行できる任意のその他の適切なエンティティであり得る。
コンピュータシステム500は、ハードウェアに加えて、該当するコンピュータプログラムのための実行環境を作成するコードを含むことができる。前記コードは、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又は、プロセッサ502によって実行される情報や命令を保存するためにバス508に結合された、当該システムに含まれるメモリ504(例えば、メモリ240,メモリ280)に保存されたそれらの一つ以上の組み合わせの構成要素となるコードであり、メモリ504は、RAM(Random Access Memory)、フラッシュメモリ(Flash memory)、ROM(Read Only Memory)、PROM(Programmable Read-Only Memory)、EPROM(Erasable PROM)、レジスタ、ハードディスク、取り外し可能ディスク、CD−ROM、DVD、又は、任意のその他の適切な記憶装置などである。プロセッサ502及びメモリ504は、特殊用途の論理回路によって補われたりあるいは、そこに組み込まれたりされ得る。
命令は、メモリ504に保存され、データ指向言語(例えば、SQL、dBase)、システム言語(例えば、C、Objective−C,C++,アセンブリ)、アーキテクチャ言語(例えば、Java(登録商標),.NET)及びアプリケーション言語(例えば、PHP、Ruby、Perl、Python)などのコンピュータ言語を含むがこれらに限定されない当業者にとって周知の任意の方法により、一つ又は複数のコンピュータプログラム製品、すなわち、コンピュータシステム500による実行のために又はコンピュータシステム500の動作を制御するためにコンピュータ可読媒体上にコード化されたコンピュータプログラム命令の一つ又は複数のモジュールで実現され得る。命令はまた、配列言語、アスペクト指向言語、アセンブリ言語、オーサリング言語、コマンドライン・インターフェース言語、コンパイル済み言語、コンカレント言語、カーリーブラケット言語、データフロー型言語、データ構造化言語、宣言形言語、難解言語、拡張言語、第4世代言語、関数型言語、対話型言語、解釈済み言語、反復型言語、リストベース言語、リトル言語、ロジックベース言語、機械語、マクロ言語、メタプログラミング言語、マルチパラダイム言語、数値解析、非英語ベース言語、オブジェクト指向クラスベース言語、オブジェクト指向プロトタイプベース言語、オフサイドルール言語、手続き型言語、反射言語、ルールベース言語、スクリプト言語、スタックベース言語、同期言語、構文処理言語、ビジュアル言語、ヴィルト言語、埋め込み言語及びXMLベース言語などのコンピュータ言語で実現され得る。メモリ504はまた、プロセッサ502によって実行されるべき命令の実行中に一時変数又はその他の中間情報を保存するために使用され得る。
本明細書で論じられているコンピュータプログラムは、必ずしもファイルシステム内の一つのファイルに対応しているわけではない。一つのプログラムは、他のプログラム又はデータを保持するファイルの一部分(例えば、マークアップ言語文書に保存された一つ又は複数のスクリプト)に、該当するプログラム専用の単一ファイル内に、或いは、複数の協調ファイル(例えば、一つ又は複数のモジュール、サブプログラム又はコードの一部分を保存するファイル)内に保存され得る。コンピュータプログラムは、一つのコンピュータ上で、又は、一つのサイトに位置するか複数のサイトに分散されて通信ネットワークによって相互接続されている複数のコンピュータ上で、実行されるように配備され得る。本明細書に記載されているプロセス及び論理フローは、入力データについて操作し、出力を生成することによって機能を果たすために一つ又は複数のコンピュータプログラムを実行する一つ又は複数のプログラム可能プロセッサによって実行され得る。
コンピュータシステム500はまた、情報及び命令を保存するためにバス508に結合された、磁気ディスク又は光ディスクなどのデータ記憶装置506を含む。コンピュータシステム500は、入出力モジュール510を介して様々な装置に接続され得る。入出力モジュール510は、任意の入出力モジュールであり得る。入出力モジュール510のいくつかの例は、USBポートなどのデータポートを含む。入出力モジュール510は、通信モジュール512に接続するように構成される。通信モジュール512(例えば、通信モジュール222,通信モジュール262)のいつかの例は、イーサネット(登録商標)カードやモデムなどのネットワーキング・インターフェース・カードを含む。ある態様において、入出力モジュール510は、入力装置514(例えば、入力装置202)及び/又は出力装置516(例えば、出力装置204)などの複数の装置に接続するように構成される。入力装置514のいくつかの例は、それによりユーザがコンピュータシステム500に入力を提供することができるキーボード及びポインティングデバイス、例えば、マウス又はトラックボールを含む。ユーザとの対話も可能にするために、触覚入力装置、視覚入力装置、音声入力装置又はブレインコンピュータ・インターフェース・デバイスなどのその他の種類の入力装置514が使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック又は触覚フィードバックであり得るし、ユーザからの入力は、音響、音声、触覚又は脳波入力を含む任意の形で受信され得る。出力装置516のいくつかの例は、ユーザに対して情報を表示するためのCRT(陰極線管)モニター又はLCD(液晶ディスプレイ)モニターなどの表示装置を含む。
本開示の一態様によると、コンピューティングデバイス110は、メモリ504内に含まれる一つ又は複数の命令からなる一つ又は複数のシーケンスを実行するプロセッサ502に応答するコンピュータシステム500を使用して実現され得る。このような命令は、データ記憶装置506などの他の機械可読媒体からメモリ504内に読み込まれ得る。メインメモリ504内に含まれる命令のシーケンスを実行することによって、プロセッサ502は、本明細書に記載されているプロセスステップを実行する。多重処理構成の一つ又は複数のプロセッサもまた、メモリ504内に含まれる命令のシーケンスを実行するために使用され得る。別の態様においては、本開示の様々な態様を実現するために、ソフトウェア命令の代わりに又はそれと組み合わせてハードワイヤード回路が使用され得る。このため、本開示の諸態様は、ハードウェア回路とソフトウェアの任意の特定の組み合わせに限定されるものではない。
本明細書に記載された主題の様々な態様は、バックエンドコンポーネント、例えば、データサーバを含むか、ミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、フロントエンドコンポーネント、例えば、それを通じてユーザが本明細書に記載されている主題の実現例と対話可能なグラフィカル・ユーザ・インターフェース又はアプリケーションを有したコンピューティングコンピュータを含むか、一つ又は複数のこのようなバックエンドコンポーネント、ミドルウェアコンポーネント又はフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステムにおいて実現され得る。前記システムのコンポーネントは、任意の形態又は手段のデジタルデータ通信、例えば、通信ネットワークによって相互接続され得る。前記通信ネットワーク(例えば、ネットワーク140)は、例えば、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、キャンパス・エリア・ネットワーク(CAN)、メトロポリタン・エリア・ネットワーク(MAN)、広域ネットワーク(WAN)、ブロードバンド・ネットワーク(BBN)、インターネットなどのうちの任意の一つ又は複数を含むことができる。更に、前記通信ネットワークは、それらに限定されるものではないが、例えば、バスネットワーク、星状ネットワーク、環状ネットワーク、網目状ネットワーク、星状バスネットワーク、木状又は階層ネットワークなどを含むネットワークトポロジのうちの任意の一つ又は複数を含むことができる。前記通信モジュールは、例えばモデムやイーサネットカードであり得る。
コンピューティングシステム500は、コンピューティングデバイス及びサーバを含むことができる。コンピューティングデバイスとサーバとは、一般に互いに離れたところにあり、通常は通信ネットワークを介して情報をやり取りする。コンピューティングデバイスとサーバとの関係は、それぞれのコンピュータ上で実行されて相互にコンピューティング−サーバ関係を有するコンピュータプログラムによって生じる。コンピュータシステム500は、例えば、限定されるものではないが、デスクトップコンピュータ、ラップトップコンピュータ又はタブレットコンピュータであり得る。コンピュータシステム500はまた、他のデバイス、例えば、限定されるものではないが、携帯電話、携帯情報端末(PDA)、モバイル・オーディオ・プレーヤ、全地球測位システム(GPS)受信機、ビデオゲームコンソール及び/又はテレビジョンのセットトップボックスに組み込まれ得る。
本明細書で使用される「機械可読記憶媒体」又は「コンピュータ可読媒体」という用語は、プロセッサ502への実行命令の提供に関与する任意の媒体又はメディアを指している。このような媒体は、それらに限定されるものではないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む多くの形態を取ることができる。不揮発性媒体は、例えば、データ記憶装置506などの光ディスクや磁気ディスクを含む。揮発性媒体は、メモリ504などのダイナミックメモリを含む。伝送媒体は、バス508を含むワイヤを含んだ同軸ケーブル、銅線及び光ファイバを含む。機械可読媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意のその他の磁気媒体、CD−ROM、DVD、任意のその他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意のその他の物理的媒体、RAM、PROM、EPROM、フラッシュEPROM、任意のその他のメモリチップ又はカートリッジ、又は、そこからコンピュータが読み取ることができる任意のその他の媒体を含む。前記機械可読記憶媒体は、機械可読記憶装置、機械可読記憶基板、メモリデバイス、機械可読伝搬信号をもたらす組成物、又は、これらのうちの一つ又は複数の組み合わせであり得る。
本明細書は多くの具体的なものを含んでいるが、これらは特許請求の範囲に記載された発明を制限するものと解釈すべきではなく、むしろ主題の特定の実現例についての記述と解釈すべきである。また、主題技術の別々の実現例に関連して本明細書に記載されている特定の特徴は、単一の実現例において組み合わせて実現され得る。逆に言えば、単一の実現例に関連して記載されている様々な特徴は、複数の実現例で別々に、又は任意の適切なサブコンビネーションで実現され得る。さらに、諸特徴は、特定の組み合わせにおける作用として上記で説明されており、それ自体が最初にクレームされ得るが、クレームされた組み合わせのうちの一つ又は複数の特徴は、場合によっては、その組み合わせから削除することができ、クレームされた組み合わせは、サブコンビネーション又はサブコンビネーションの変形例を対象とし得る。
同様に、動作は特定の順序で図面内に描写されているが、これは、望ましい結果を達成するために、このような動作を示されている特定の順序で又は連続した順序で実行すること或いは例示されているすべての動作を実行することを要求しているものと理解すべきではない。特定の情況では、マルチタスク及び並列処理の方が有利である可能性もある。さらに、上記の諸態様内の様々なシステムコンポーネントの分離は、すべての態様でこのような分離を要求しているものと理解すべきではなく、記載されたプログラムコンポーネント及びシステムは、一般的に単一ソフトウェア製品にまとめて統合されたり、複数のソフトウェア製品内にパッケージ化されたりし得ることを理解されたい。
本明細書の主題は、特定の態様に関して記載されているが、その他の態様でも実施され得るものであり、それらも特許請求の範囲に記載された発明の範囲内のものである。例えば、特許請求の範囲に列挙されているアクションは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。一例として、添付図面に描写されているプロセスは必ずしも、望ましい結果を達成するために、示されている特定の順序又は連続した順序を要求するわけではない。特定の実現例では、マルチタスク及び並列処理の方が有利である可能性もある。その他の変形例は特許請求の範囲に記載された発明の範囲内のものである。
これらの及び他の実現例は特許請求の範囲に記載された発明の範囲内のものである。

Claims (24)

  1. 第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためにコンピュータで実行される方法であって、
    第1コンピューティングデバイス上の第1アプリケーションの状態を第2コンピューティングデバイスに転送するための第1の要求を前記第1コンピューティングデバイスから受信することであって、前記第2コンピューティングデバイス上の第2アプリケーションが前記第1アプリケーションの状態を復元するように構成されている、前記第1の要求を受信すること、
    前記第1の要求に基づいて、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を求める第2の要求を前記第2コンピューティングデバイスに送信すること、
    前記第2の要求の送信に対する応答として、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を前記第2コンピューティングデバイスから受信すること、
    受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから受信すること、及び、
    受信した前記第1アプリケーションの状態を前記第2デバイスに送信すること、
    を含む、方法。
  2. 前記第1アプリケーションの状態の正常受信の確認を前記第2コンピューティングデバイスから受信すること、及び、
    受信した前記確認に基づいて、前記第1アプリケーションの状態についての前記第2コンピューティングデバイスによる正常受信の通知を前記第1コンピューティングデバイスに送信することであって、前記第1アプリケーションが前記通知に基づいて前記第1アプリケーションの状態を前記第1コンピューティングデバイスから除去するように構成されている、前記正常受信の通知を送信すること、
    をさらに含む、請求項1に記載の方法。
  3. 前記第1アプリケーションの状態は、ドキュメント・オブジェクト・モデルフォーマットで表される、請求項1に記載の方法。
  4. 前記第1アプリケーションの状態は、前記第1コンピューティングデバイス上の前記第1アプリケーションの第1セッションに対応し、前記第2コンピューティングデバイス上の前記第2アプリケーションは、前記第1アプリケーションの状態を復元して前記第2アプリケーション内で前記第1セッションを続行するように構成されている、請求項1に記載の方法。
  5. 前記第1アプリケーションは第1のWebブラウザであり、前記第2アプリケーションは第2のWebブラウザであり、前記第1アプリケーションの状態は前記第1のWebブラウザ内で動作しているWebベースのアプリケーションの操作履歴を含む、請求項1に記載の方法。
  6. 前記第1アプリケーションは第1のWebブラウザであり、前記第2アプリケーションは第2のWebブラウザであり、前記第1アプリケーションの状態は前記第1のWebブラウザ内でのWebブラウジングセッションに対応している、請求項1に記載の方法。
  7. 第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためのシステムであって、
    第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するための命令を含むメモリと、
    プロセッサと、を含み、
    前記プロセッサは、
    第1コンピューティングデバイス上の第1アプリケーションの状態を第2コンピューティングデバイスに転送するための第1の要求を前記第1コンピューティングデバイスから受信することであって、前記第1アプリケーションの状態が前記第1コンピューティングデバイス上の前記第1アプリケーションの第1セッションに対応し、前記第2コンピューティングデバイス上の第2アプリケーションが前記第1アプリケーションの前記状態を復元して前記第2アプリケーション内で前記第1セッションを続行するように構成されている、前記第1の要求を受信すること、
    前記第1の要求に基づいて、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を求める第2の要求を前記第2コンピューティングデバイスに送信すること、
    前記第2の要求の送信に対する応答として、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を前記第2コンピューティングデバイスから受信すること、
    受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから受信すること、
    受信した前記第1アプリケーションの状態を前記第2デバイスに送信すること、
    前記第1アプリケーションの状態の正常受信の確認を前記第2コンピューティングデバイスから受信すること、及び、
    受信した前記確認に基づいて、前記第1アプリケーションの状態についての前記第2のコンピューティングデバイスによる正常受信の通知を前記第1コンピューティングデバイスに送信することであって、前記第1アプリケーションが前記通知に基づいて前記第1アプリケーションの状態を前記第1コンピューティングデバイスから除去するように構成されている、前記正常受信の通知を送信すること、
    を行うための命令を実行するように構成されている、
    システム。
  8. 前記第1アプリケーションは第1のWebブラウザであり、前記第2アプリケーションは第2のWebブラウザであり、前記第1アプリケーションの前記第1のセッションは前記第1のWebブラウザ内での第1のWebブラウジングセッションを含む、請求項7に記載のシステム。
  9. 前記第1アプリケーションの状態は、ドキュメント・オブジェクト・モデルフォーマットで表される、請求項7に記載のシステム。
  10. 第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するための方法をプロセッサに実行させる機械可読命令を含む機械可読記憶媒体であって、
    前記方法は、
    第1コンピューティングデバイス上の第1アプリケーションの状態を第2コンピューティングデバイスに転送するための第1の要求を前記第1コンピューティングデバイスから受信することであって、前記第2コンピューティングデバイスが前記第1コンピューティングデバイスに近接しており、前記第2コンピューティングデバイス上の第2アプリケーションが前記第1アプリケーションの状態を復元するように構成されている、前記第1の要求を受信すること、
    前記第1の要求に基づいて、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記状態の転送を開始するための承認を求める第2の要求を前記第2コンピューティングデバイスに送信すること、
    前記第2の要求の送信に対する応答として、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための承認を前記第2コンピューティングデバイスから受信することであって、前記承認が前記第1コンピューティングデバイスに対する前記第2コンピューティングデバイスの近接性に基づいている、前記承認を受信すること、
    受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから受信すること、及び、
    受信した前記第1アプリケーションの状態を前記第2デバイスに送信すること、
    を含む、機械可読記憶媒体。
  11. 前記第1アプリケーションの状態は、前記第1コンピューティングデバイス上の前記第1アプリケーションの第1セッションに対応し、前記第2コンピューティングデバイス上の前記第2アプリケーションは、前記第1アプリケーションの状態を復元して前記第2アプリケーション内で前記第1セッションを続行するように構成されている、請求項10に記載の機械可読記憶媒体。
  12. 第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためにコンピュータで実行される方法であって、
    第1コンピューティングデバイス上の第1アプリケーションの状態の転送を開始するための要求を第2コンピューティングデバイスに送信することであって、前記第2コンピューティングデバイス上の第2アプリケーションが前記第1アプリケーションの状態を復元するように構成されている、前記要求を送信すること、
    送信した前記要求に対する応答として、前記転送を開始するための承認を前記第2コンピューティングデバイスから受信すること、及び、
    受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第2コンピューティングデバイスに送信すること、
    を含む、方法。
  13. 前記第1コンピューティングデバイスに対する前記第2コンピューティングデバイスの物理的近接性及びネットワーク近接性のうちの少なくとも一つに基づいて前記第2コンピューティングデバイスの存在を検出すること、及び、
    前記存在の検出に基づいて、前記第2コンピューティングデバイスの存在を示す第1の通知を表示のために提供することであって、前記第1の通知は、前記転送を開始するための前記要求を前記第2のコンピューティングデバイスに送信することを前記第1コンピューティングデバイスに実行させる第1のコマンドを受け入れるように構成されている、前記第1の通知を表示のために提供すること、
    をさらに含む、請求項12に記載の方法。
  14. 前記第2コンピューティングデバイスは、前記転送を開始するための前記要求を示す第2の通知を表示のために提供するように構成され、前記第2の通知は、前記転送を開始するための前記承認を前記第1コンピューティングデバイスに送信することを前記第2コンピューティングデバイスに実行させる第2のコマンドを受け入れるように構成されている、請求項12に記載の方法。
  15. 前記第2コンピューティングデバイスから受信した前記承認は、前記第2コンピューティングデバイス上の第2の通知に対する応答であり、前記第1コンピューティングデバイスから前記第2コンピューティングデバイスへの前記第1アプリケーションの状態の転送を開始するための前記要求を示している、請求項12に記載の方法。
  16. 正常転送の表示を前記第2コンピューティングデバイスから受信すること、及び、
    受信した前記表示に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから除去すること、
    をさらに含む、請求項12に記載の方法。
  17. 前記第1アプリケーションは第1のWebブラウザであり、前記第2アプリケーションは第2のWebブラウザであり、前記第1のWebブラウザの状態は前記第1のWebブラウザ内で動作しているWebベースのアプリケーションの操作履歴を含む、請求項12に記載の方法。
  18. 前記第1アプリケーションは第1のWebブラウザであり、前記第2アプリケーションは第2のWebブラウザであり、前記第1アプリケーションの状態は前記第1のWebブラウザ内のWebブラウジングセッションに対応している、請求項12に記載の方法。
  19. 前記第1アプリケーションの状態は、ドキュメント・オブジェクト・モデルフォーマットで表される、請求項12に記載の方法。
  20. 第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するためのシステムであって、
    第1コンピューティングデバイスから第2コンピューティングデバイスにアプリケーションの状態を転送するための命令を含むメモリと、
    プロセッサと、を含み、
    前記プロセッサは、
    前記第1コンピューティングデバイスに対する前記第2コンピューティングデバイスの近接性に基づいて前記第2コンピューティングデバイスの存在を検出すること、
    第1コンピューティングデバイス上の第1アプリケーションの状態の転送を開始するための要求を前記第2コンピューティングデバイスに送信することであって、前記第2コンピューティングデバイス上の第2アプリケーションが前記第1アプリケーションの状態を復元するように構成されている、前記要求を送信すること、
    送信した前記要求に対する応答として、前記転送を開始するための承認を前記第2コンピューティングデバイスから受信すること、
    受信した前記承認に基づいて、前記第1アプリケーションの状態を前記第2コンピューティングデバイスに送信すること、
    前記第2コンピューティングデバイスから正常転送の表示を受信すること、及び、
    受信した前記表示に基づいて、前記第1アプリケーションの状態を前記第1コンピューティングデバイスから除去すること、
    を行うための命令を実行するように構成されている、
    システム。
  21. 前記第1コンピューティングデバイスに対する前記第2コンピューティングデバイスの近接性は、前記第1コンピューティングデバイスに対する前記第2コンピューティングデバイスの物理的近接性及びネットワーク近接性のうちの少なくとも一つである、請求項20に記載のシステム。
  22. 前記プロセッサは、前記存在の検出に基づいて、前記第2コンピューティングデバイスの存在を示す第1の通知を表示のために提供するようにさらに構成され、前記第1の通知は、前記転送を開始するための前記要求を前記第2コンピューティングデバイスに送信することを前記第1コンピューティングデバイスに実行させる第1のコマンドを受け入れるように構成されている、請求項20に記載のシステム。
  23. 前記第2コンピューティングデバイスは、前記転送を開始するための前記要求を示す第2の通知を表示のために提供するように構成され、前記第2の通知は、前記転送を開始するための承認を前記第1コンピューティングデバイスに送信することを前記第2コンピューティングデバイスに実行させる第2のコマンドを受け入れるように構成されている、請求項20に記載のシステム。
  24. 前記第1アプリケーションの状態は、前記第1アプリケーションの第1セッションに対応し、前記第2コンピューティングデバイス上の前記第2アプリケーションは、前記第1アプリケーションの状態を復元して前記第2アプリケーション内で前記第1セッションを続行するように構成されている、請求項20に記載のシステム。
JP2015525420A 2012-07-30 2013-05-07 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送 Pending JP2015524974A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/562,209 US8990343B2 (en) 2012-07-30 2012-07-30 Transferring a state of an application from a first computing device to a second computing device
US13/562,209 2012-07-30
PCT/US2013/039838 WO2014021967A1 (en) 2012-07-30 2013-05-07 Transferring a state of an application from a first computing device to a second computing device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016138553A Division JP6309575B2 (ja) 2012-07-30 2016-07-13 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送

Publications (1)

Publication Number Publication Date
JP2015524974A true JP2015524974A (ja) 2015-08-27

Family

ID=49996002

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015525420A Pending JP2015524974A (ja) 2012-07-30 2013-05-07 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送
JP2016138553A Active JP6309575B2 (ja) 2012-07-30 2016-07-13 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送
JP2018046654A Pending JP2018101446A (ja) 2012-07-30 2018-03-14 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2016138553A Active JP6309575B2 (ja) 2012-07-30 2016-07-13 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送
JP2018046654A Pending JP2018101446A (ja) 2012-07-30 2018-03-14 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送

Country Status (8)

Country Link
US (2) US8990343B2 (ja)
EP (1) EP2880546A4 (ja)
JP (3) JP2015524974A (ja)
CN (2) CN107066317B (ja)
AU (3) AU2013297020A1 (ja)
CA (1) CA2880500C (ja)
IN (1) IN2015DN00884A (ja)
WO (1) WO2014021967A1 (ja)

Cited By (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10178234B2 (en) 2014-05-30 2019-01-08 Apple, Inc. User interface for phone call routing among devices
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10334054B2 (en) 2016-05-19 2019-06-25 Apple Inc. User interface for a device requesting remote authorization
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10417405B2 (en) 2011-03-21 2019-09-17 Apple Inc. Device access using voice authentication
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10419933B2 (en) 2011-09-29 2019-09-17 Apple Inc. Authentication with secondary approver
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10453443B2 (en) 2014-09-30 2019-10-22 Apple Inc. Providing an indication of the suitability of speech recognition
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10484384B2 (en) 2011-09-29 2019-11-19 Apple Inc. Indirect authentication
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10657966B2 (en) 2014-05-30 2020-05-19 Apple Inc. Better resolution when referencing to concepts
US10681212B2 (en) 2015-06-05 2020-06-09 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10714117B2 (en) 2013-02-07 2020-07-14 Apple Inc. Voice trigger for a digital assistant
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US10866731B2 (en) 2014-05-30 2020-12-15 Apple Inc. Continuity of applications across devices
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US10942702B2 (en) 2016-06-11 2021-03-09 Apple Inc. Intelligent device arbitration and control
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11037150B2 (en) 2016-06-12 2021-06-15 Apple Inc. User interfaces for transactions
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11283916B2 (en) 2017-05-16 2022-03-22 Apple Inc. Methods and interfaces for configuring a device in accordance with an audio tone signal
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US11539831B2 (en) 2013-03-15 2022-12-27 Apple Inc. Providing remote interactions with host device using a wireless device
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11683408B2 (en) 2017-05-16 2023-06-20 Apple Inc. Methods and interfaces for home media control
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US12010262B2 (en) 2013-08-06 2024-06-11 Apple Inc. Auto-activating smart responses based on activities from remote devices
US12014118B2 (en) 2017-05-15 2024-06-18 Apple Inc. Multi-modal interfaces having selection disambiguation and text modification capability
US12051413B2 (en) 2022-01-31 2024-07-30 Apple Inc. Intelligent device identification

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5802830B2 (ja) 2011-06-05 2015-11-04 アップル インコーポレイテッド 複数のアプリケーションから受信した通知を表示するためのシステムおよび方法
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US10599742B2 (en) * 2013-08-06 2020-03-24 Adobe Inc. Sharing and consuming web content across multiple devices
US20150088957A1 (en) * 2013-09-25 2015-03-26 Sony Corporation System and methods for managing applications in multiple devices
US9292367B2 (en) 2014-04-08 2016-03-22 Microsoft Corporation Efficient migration of client-side web state
CN118192869A (zh) 2014-06-27 2024-06-14 苹果公司 尺寸减小的用户界面
US10135905B2 (en) 2014-07-21 2018-11-20 Apple Inc. Remote user interface
KR102156223B1 (ko) 2014-08-02 2020-09-15 애플 인크. 상황 특정 사용자 인터페이스
US20160036923A1 (en) * 2014-08-03 2016-02-04 Microsoft Corporation Efficient Migration of Application State Information
US9571536B2 (en) * 2014-08-29 2017-02-14 Microsoft Technology Licensing, Llc Cross device task continuity
EP4209872A1 (en) 2014-09-02 2023-07-12 Apple Inc. Phone user interface
EP3256916B1 (en) 2015-02-12 2023-10-11 Glowforge Inc. Moving material during laser fabrication
US10509390B2 (en) 2015-02-12 2019-12-17 Glowforge Inc. Safety and reliability guarantees for laser fabrication
US10055121B2 (en) 2015-03-07 2018-08-21 Apple Inc. Activity based thresholds and feedbacks
WO2017004195A1 (en) * 2015-06-29 2017-01-05 Google Inc. Transmitting application data for on-device demos
US20170054767A1 (en) * 2015-08-17 2017-02-23 Google Inc. Transferring application state between devices
US11082499B2 (en) * 2015-10-19 2021-08-03 Citrix Systems, Inc. Browser server session transfer
US20170185617A1 (en) * 2015-12-29 2017-06-29 Quixey, Inc. Data Object Based Application State Sharing Methods for User Devices
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
AU2017100667A4 (en) 2016-06-11 2017-07-06 Apple Inc. Activity and workout updates
CN106201597B (zh) * 2016-06-30 2019-11-12 宇龙计算机通信科技(深圳)有限公司 一种基于数据迁移进行应用管理的方法及终端
US10466891B2 (en) * 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
WO2018098396A1 (en) * 2016-11-25 2018-05-31 Glowforge Inc. Multi-user computer-numerically-controlled machine
WO2018098397A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Calibration of computer-numerically-controlled machine
WO2019233602A1 (de) * 2018-06-08 2019-12-12 Sivantos Pte. Ltd. Verfahren zur übertragung eines bearbeitungszustandes in einer audiologische anpassungsapplikation für ein hörgerät
JP6806351B1 (ja) * 2020-03-06 2021-01-06 株式会社C−Rise 情報処理方法、コンピュータプログラム及び情報処理装置
DE102020204864B4 (de) 2020-04-16 2021-12-23 Continental Teves Ag & Co. Ohg Elastischer transfer und adaption von mobil-client-gesteuerten prozessen in einer edge-cloud-computing-schicht
US11595871B2 (en) * 2020-05-13 2023-02-28 Verizon Patent And Licensing Inc. Systems and methods for securely sharing context between MEC clusters
US11921592B2 (en) * 2020-07-20 2024-03-05 Google Llc Restoration of a computing session
US11489959B2 (en) 2020-12-31 2022-11-01 Dell Products L.P. Multi-device control transfer using Bluetooth LE ranging
US20220368548A1 (en) 2021-05-15 2022-11-17 Apple Inc. Shared-content session user interfaces
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11650845B2 (en) * 2021-05-18 2023-05-16 International Business Machines Corporation Computation sharing among devices using device OS clustering
US11599235B1 (en) * 2021-09-21 2023-03-07 Salesforce, Inc. Mobile-generated desktop reminders

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249730A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd アプリケーション実行制御プログラム
JP2008035520A (ja) * 2006-07-26 2008-02-14 Samsung Electronics Co Ltd WebOS−基盤ユーザ装置のためのアプリケーションをハンドオフする方法
WO2010055720A1 (ja) * 2008-11-17 2010-05-20 株式会社ソニー・コンピュータエンタテインメント 無線通信端末、その制御方法、及び情報記憶媒体

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802001B1 (en) * 2002-10-18 2010-09-21 Astute Networks, Inc. System and method for flow control within a stateful protocol processing system
US6886169B2 (en) 2002-11-19 2005-04-26 Nexaweb Technologies, Inc. System and method for stateful web-based computing
EP1590917B1 (en) * 2003-01-28 2010-12-15 Cellport Systems, Inc. A system and a method for controlling use by applications of proprietary resources within a secure telematics system in a vehicle
EP1708423A1 (en) * 2005-03-29 2006-10-04 Matsushita Electric Industrial Co., Ltd. Inter-domain context transfer using context tranfer managers
US9864628B2 (en) 2005-08-23 2018-01-09 Blackberry Limited Method and system for transferring an application state from a first electronic device to a second electronic device
JP4892985B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 送信機器およびデータ送受信システム
US8166176B2 (en) 2006-05-31 2012-04-24 Alcatel Lucent Context-aware migration of communication session
US20080126511A1 (en) 2006-07-26 2008-05-29 Appaji Anuradha K Method for Handing Off Applications for WebOS-Enabled User Devices
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
KR100911298B1 (ko) 2007-09-10 2009-08-11 에스케이 텔레콤주식회사 어플리케이션 제어 시스템 및 방법과 이를 위한 이동통신단말기
JP5194673B2 (ja) * 2007-09-26 2013-05-08 株式会社日立製作所 携帯端末、及び情報の送受信方法
US8463921B2 (en) 2008-01-17 2013-06-11 Scipioo Holding B.V. Method and system for controlling a computer application program
US7526559B1 (en) 2008-03-31 2009-04-28 International Business Machines Corporation Transfer of web applications between devices
US8326221B2 (en) 2009-02-09 2012-12-04 Apple Inc. Portable electronic device with proximity-based content synchronization
US20100235523A1 (en) * 2009-03-16 2010-09-16 Robert Garcia Framework for supporting multi-device collaboration
US8412185B2 (en) 2009-09-14 2013-04-02 Nokia Corporation Method and apparatus for switching devices using near field communication
CN101667912B (zh) * 2009-10-14 2014-02-12 中国电信股份有限公司 一种网络信息传输方法和系统
US8843616B2 (en) 2010-09-10 2014-09-23 Intel Corporation Personal cloud computing with session migration
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints
US8171137B1 (en) 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249730A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd アプリケーション実行制御プログラム
JP2008035520A (ja) * 2006-07-26 2008-02-14 Samsung Electronics Co Ltd WebOS−基盤ユーザ装置のためのアプリケーションをハンドオフする方法
WO2010055720A1 (ja) * 2008-11-17 2010-05-20 株式会社ソニー・コンピュータエンタテインメント 無線通信端末、その制御方法、及び情報記憶媒体

Cited By (186)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11979836B2 (en) 2007-04-03 2024-05-07 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11900936B2 (en) 2008-10-02 2024-02-13 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US10417405B2 (en) 2011-03-21 2019-09-17 Apple Inc. Device access using voice authentication
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10419933B2 (en) 2011-09-29 2019-09-17 Apple Inc. Authentication with secondary approver
US11200309B2 (en) 2011-09-29 2021-12-14 Apple Inc. Authentication with secondary approver
US10484384B2 (en) 2011-09-29 2019-11-19 Apple Inc. Indirect authentication
US11755712B2 (en) 2011-09-29 2023-09-12 Apple Inc. Authentication with secondary approver
US10516997B2 (en) 2011-09-29 2019-12-24 Apple Inc. Authentication with secondary approver
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11321116B2 (en) 2012-05-15 2022-05-03 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10978090B2 (en) 2013-02-07 2021-04-13 Apple Inc. Voice trigger for a digital assistant
US10714117B2 (en) 2013-02-07 2020-07-14 Apple Inc. Voice trigger for a digital assistant
US12009007B2 (en) 2013-02-07 2024-06-11 Apple Inc. Voice trigger for a digital assistant
US11862186B2 (en) 2013-02-07 2024-01-02 Apple Inc. Voice trigger for a digital assistant
US11636869B2 (en) 2013-02-07 2023-04-25 Apple Inc. Voice trigger for a digital assistant
US11557310B2 (en) 2013-02-07 2023-01-17 Apple Inc. Voice trigger for a digital assistant
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11539831B2 (en) 2013-03-15 2022-12-27 Apple Inc. Providing remote interactions with host device using a wireless device
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US11727219B2 (en) 2013-06-09 2023-08-15 Apple Inc. System and method for inferring user intent from speech inputs
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US12010262B2 (en) 2013-08-06 2024-06-11 Apple Inc. Auto-activating smart responses based on activities from remote devices
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
US10657966B2 (en) 2014-05-30 2020-05-19 Apple Inc. Better resolution when referencing to concepts
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US11670289B2 (en) 2014-05-30 2023-06-06 Apple Inc. Multi-command single utterance input method
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US10866731B2 (en) 2014-05-30 2020-12-15 Apple Inc. Continuity of applications across devices
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US11256294B2 (en) 2014-05-30 2022-02-22 Apple Inc. Continuity of applications across devices
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10616416B2 (en) 2014-05-30 2020-04-07 Apple Inc. User interface for phone call routing among devices
US11810562B2 (en) 2014-05-30 2023-11-07 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11907013B2 (en) 2014-05-30 2024-02-20 Apple Inc. Continuity of applications across devices
US11699448B2 (en) 2014-05-30 2023-07-11 Apple Inc. Intelligent assistant for home automation
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10714095B2 (en) 2014-05-30 2020-07-14 Apple Inc. Intelligent assistant for home automation
US10178234B2 (en) 2014-05-30 2019-01-08 Apple, Inc. User interface for phone call routing among devices
US11838579B2 (en) 2014-06-30 2023-12-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10453443B2 (en) 2014-09-30 2019-10-22 Apple Inc. Providing an indication of the suitability of speech recognition
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US11842734B2 (en) 2015-03-08 2023-12-12 Apple Inc. Virtual assistant activation
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US12001933B2 (en) 2015-05-15 2024-06-04 Apple Inc. Virtual assistant in a communication session
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US10681212B2 (en) 2015-06-05 2020-06-09 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11947873B2 (en) 2015-06-29 2024-04-02 Apple Inc. Virtual assistant for media playback
US11550542B2 (en) 2015-09-08 2023-01-10 Apple Inc. Zero latency digital assistant
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11954405B2 (en) 2015-09-08 2024-04-09 Apple Inc. Zero latency digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US11809886B2 (en) 2015-11-06 2023-11-07 Apple Inc. Intelligent automated assistant in a messaging environment
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US11886805B2 (en) 2015-11-09 2024-01-30 Apple Inc. Unconventional virtual assistant interactions
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US10334054B2 (en) 2016-05-19 2019-06-25 Apple Inc. User interface for a device requesting remote authorization
US10749967B2 (en) 2016-05-19 2020-08-18 Apple Inc. User interface for remote authorization
US11206309B2 (en) 2016-05-19 2021-12-21 Apple Inc. User interface for remote authorization
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11657820B2 (en) 2016-06-10 2023-05-23 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US10942702B2 (en) 2016-06-11 2021-03-09 Apple Inc. Intelligent device arbitration and control
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US11749275B2 (en) 2016-06-11 2023-09-05 Apple Inc. Application integration with a digital assistant
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US11900372B2 (en) 2016-06-12 2024-02-13 Apple Inc. User interfaces for transactions
US11037150B2 (en) 2016-06-12 2021-06-15 Apple Inc. User interfaces for transactions
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11538469B2 (en) 2017-05-12 2022-12-27 Apple Inc. Low-latency intelligent automated assistant
US11837237B2 (en) 2017-05-12 2023-12-05 Apple Inc. User-specific acoustic models
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11862151B2 (en) 2017-05-12 2024-01-02 Apple Inc. Low-latency intelligent automated assistant
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US12014118B2 (en) 2017-05-15 2024-06-18 Apple Inc. Multi-modal interfaces having selection disambiguation and text modification capability
US11201961B2 (en) 2017-05-16 2021-12-14 Apple Inc. Methods and interfaces for adjusting the volume of media
US11283916B2 (en) 2017-05-16 2022-03-22 Apple Inc. Methods and interfaces for configuring a device in accordance with an audio tone signal
US11095766B2 (en) 2017-05-16 2021-08-17 Apple Inc. Methods and interfaces for adjusting an audible signal based on a spatial position of a voice command source
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US11412081B2 (en) 2017-05-16 2022-08-09 Apple Inc. Methods and interfaces for configuring an electronic device to initiate playback of media
US12026197B2 (en) 2017-05-16 2024-07-02 Apple Inc. Intelligent automated assistant for media exploration
US11683408B2 (en) 2017-05-16 2023-06-20 Apple Inc. Methods and interfaces for home media control
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US11675829B2 (en) 2017-05-16 2023-06-13 Apple Inc. Intelligent automated assistant for media exploration
US11750734B2 (en) 2017-05-16 2023-09-05 Apple Inc. Methods for initiating output of at least a component of a signal representative of media currently being played back by another device
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11907436B2 (en) 2018-05-07 2024-02-20 Apple Inc. Raise to speak
US11487364B2 (en) 2018-05-07 2022-11-01 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US11630525B2 (en) 2018-06-01 2023-04-18 Apple Inc. Attention aware virtual assistant dismissal
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11431642B2 (en) 2018-06-01 2022-08-30 Apple Inc. Variable latency device coordination
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11360577B2 (en) 2018-06-01 2022-06-14 Apple Inc. Attention aware virtual assistant dismissal
US10984798B2 (en) 2018-06-01 2021-04-20 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10720160B2 (en) 2018-06-01 2020-07-21 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11893992B2 (en) 2018-09-28 2024-02-06 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11783815B2 (en) 2019-03-18 2023-10-10 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11675491B2 (en) 2019-05-06 2023-06-13 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11705130B2 (en) 2019-05-06 2023-07-18 Apple Inc. Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11888791B2 (en) 2019-05-21 2024-01-30 Apple Inc. Providing message response suggestions
US11755273B2 (en) 2019-05-31 2023-09-12 Apple Inc. User interfaces for audio media control
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US11853646B2 (en) 2019-05-31 2023-12-26 Apple Inc. User interfaces for audio media control
US11360739B2 (en) 2019-05-31 2022-06-14 Apple Inc. User activity shortcut suggestions
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11924254B2 (en) 2020-05-11 2024-03-05 Apple Inc. Digital assistant hardware abstraction
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11750962B2 (en) 2020-07-21 2023-09-05 Apple Inc. User identification using headphones
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11782598B2 (en) 2020-09-25 2023-10-10 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US12051413B2 (en) 2022-01-31 2024-07-30 Apple Inc. Intelligent device identification

Also Published As

Publication number Publication date
AU2016201115B2 (en) 2017-06-15
CN104662524A (zh) 2015-05-27
US20140032706A1 (en) 2014-01-30
EP2880546A1 (en) 2015-06-10
CN107066317B (zh) 2021-01-29
US9692821B2 (en) 2017-06-27
IN2015DN00884A (ja) 2015-06-12
CA2880500C (en) 2018-10-02
AU2017225159A1 (en) 2017-10-05
CA2880500A1 (en) 2014-02-06
JP2016207223A (ja) 2016-12-08
CN104662524B (zh) 2016-11-02
EP2880546A4 (en) 2016-03-16
AU2013297020A1 (en) 2015-02-19
JP6309575B2 (ja) 2018-04-11
AU2017225159B2 (en) 2019-03-14
CN107066317A (zh) 2017-08-18
AU2016201115A1 (en) 2016-03-10
WO2014021967A1 (en) 2014-02-06
US8990343B2 (en) 2015-03-24
JP2018101446A (ja) 2018-06-28
US20150172382A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
JP6309575B2 (ja) 第1コンピューティングデバイスから第2コンピューティングデバイスへのアプリケーションの状態の転送
JP5841603B2 (ja) ドラッグ可能なタブ
US9471872B2 (en) Extension to the expert conversation builder
US8843858B2 (en) Optimization schemes for controlling user interfaces through gesture or touch
US8682977B1 (en) Communication associated with a webpage
CN102187314B (zh) 生成适用于数据集的资源脚本的方法和系统
US20110296317A1 (en) Method enabling collaborative editing of object in content data, computer system, and computer program product
CN102939583A (zh) 创建任务会话
CN104133828A (zh) 用于html文档的拖放剪贴板
US11157586B2 (en) Scoping searches within websites
US11467553B2 (en) Efficient configuration of scenarios for event sequencing
CN105359131B (zh) 栓系选择句柄
CN108885505A (zh) 具有交互式内容元素的直观文档导航
US10282395B2 (en) Handling timer-based resizing events based on activity detection
US8924875B2 (en) Data recovery
US9519395B1 (en) Presenting windows or tabs
US20240104451A1 (en) Apparatuses, computer-implemented methods, and computer program products for managing a feature emphasis interface element
JP2014132444A (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
Stump Stars Across America.
Louderback Plumber Mario gets the job done, even at work
Mobilio IN SHORT: FICTION

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150406

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150915

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150929

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160315