(57)【特許請求の範囲】
【請求項１】
第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためにコンピュータで実行される方法であって、
第１コンピューティングデバイス上の第１アプリケーションの状態を第２コンピューティングデバイスに転送するための第１の要求を前記第１コンピューティングデバイスから受信することであって、前記第１の要求は前記第２コンピューティングデバイスが前記第１コンピューティングデバイスに対する所定の近接性の範囲内にあることに基づいており、前記第１アプリケーションの状態が前記第１コンピューティングデバイス上の前記第１アプリケーションの第１セッションに対応し、前記第２コンピューティングデバイス上の第２アプリケーションが前記第１アプリケーションの状態を復元して前記第２アプリケーション内で前記第１セッションを続行するように構成されている、前記第１の要求を受信することと、
前記第１の要求に基づいて、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を求める第２の要求を前記第２コンピューティングデバイスに送信することと、
前記第２の要求の送信に対する応答として、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を前記第２コンピューティングデバイスから受信することと、
受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから受信することとを含み、前記第１アプリケーションの状態は、前記第１コンピューティングデバイスにおいて実行された複数の動作を含む操作履歴を含み、前記方法はさらに、
受信した前記第１アプリケーションの状態を前記第２コンピューティングデバイスに送信すること、
を含む、方法。
【請求項２】
前記第２コンピューティングデバイス上における前記第２アプリケーションは、前記操作履歴に基いて前記第１コンピューティングデバイスの前記第１アプリケーション上で実行された前記複数の動作の少なくとも１つを取消すかやり直すよう構成される、請求項１に記載の方法。
【請求項３】
前記第１アプリケーションの状態の正常受信の確認を前記第２コンピューティングデバイスから受信すること、及び、
受信した前記確認に基づいて、前記第１アプリケーションの状態についての前記第２コンピューティングデバイスによる正常受信の通知を前記第１コンピューティングデバイスに送信することであって、前記第１アプリケーションが前記通知に基づいて前記第１アプリケーションの状態を前記第１コンピューティングデバイスから除去するように構成されている、前記正常受信の通知を送信すること、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記第１アプリケーションは第１のＷｅｂブラウザであり、前記第２アプリケーションは第２のＷｅｂブラウザであり、前記操作履歴は前記第１のＷｅｂブラウザ内で動作しているＷｅｂベースのアプリケーションの操作履歴を含む、請求項１に記載の方法。
【請求項５】
前記第１アプリケーションは第１のＷｅｂブラウザであり、前記第２アプリケーションは第２のＷｅｂブラウザであり、前記第１アプリケーションの状態は前記第１のＷｅｂブラウザ内でのＷｅｂブラウジングセッションに対応している、請求項１に記載の方法。
【請求項６】
第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためのシステムであって、
第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するための命令を含むメモリと、
プロセッサと、を含み、
前記プロセッサは、
第１コンピューティングデバイス上の第１アプリケーションの状態を第２コンピューティングデバイスに転送するための第１の要求を前記第１コンピューティングデバイスから受信することであって、前記第１の要求は前記第２コンピューティングデバイスが前記第１コンピューティングデバイスに対する所定の近接性の範囲内にあることに基づいており、前記第１アプリケーションの状態が前記第１コンピューティングデバイス上の前記第１アプリケーションの第１セッションに対応し、前記第２コンピューティングデバイス上の第２アプリケーションが前記第１アプリケーションの前記状態を復元して前記第２アプリケーション内で前記第１セッションを続行するように構成されている、前記第１の要求を受信することと、
前記第１の要求に基づいて、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を求める第２の要求を前記第２コンピューティングデバイスに送信することと、
前記第２の要求の送信に対する応答として、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を前記第２コンピューティングデバイスから受信することと、
受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから受信することとを行うための命令を実行するように構成され、前記第１アプリケーションの状態は、前記第１コンピューティングデバイスにおいて実行された複数の動作を含む操作履歴を含み、前記プロセッサはさらに、
受信した前記第１アプリケーションの状態を前記第２コンピューティングデバイスに送信することと、
前記第１アプリケーションの状態の正常受信の確認を前記第２コンピューティングデバイスから受信することと、
受信した前記確認に基づいて、前記第１アプリケーションの状態についての前記第２コンピューティングデバイスによる正常受信の通知を前記第１コンピューティングデバイスに送信することであって、前記第１アプリケーションが前記通知に基づいて前記第１アプリケーションの状態を前記第１コンピューティングデバイスから除去するように構成されている、前記正常受信の通知を送信することと、
を行うための命令を実行するように構成されている、
システム。
【請求項７】
前記第２コンピューティングデバイス上における前記第２アプリケーションは、前記操作履歴に基いて前記第１コンピューティングデバイスの前記第１アプリケーション上で実行された前記複数の動作の少なくとも１つを取消すかやり直すよう構成される、請求項６に記載のシステム。
【請求項８】
前記第１アプリケーションは第１のＷｅｂブラウザであり、前記第２アプリケーションは第２のＷｅｂブラウザであり、前記第１アプリケーションの前記第１セッションは前記第１のＷｅｂブラウザ内での第１のＷｅｂブラウジングセッションを含む、請求項６に記載のシステム。
【請求項９】
第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためにコンピュータで実行される方法であって、
第１コンピューティングデバイスに対する第２コンピューティングデバイスの近接性に基づいて前記第２コンピューティングデバイスの存在を検出することと、
前記第１コンピューティングデバイス上の第１アプリケーションの状態の転送を開始するための要求を前記第２コンピューティングデバイスに送信することであって、前記第１アプリケーションの状態が前記第１コンピューティングデバイス上の前記第１アプリケーションの第１セッションに対応し、前記第２コンピューティングデバイス上の第２アプリケーションが前記第１アプリケーションの状態を復元して前記第２アプリケーション内で前記第１セッションを続行するように構成されている、前記要求を送信することと、
送信した前記要求に対する応答として、前記転送を開始するための承認を前記第２コンピューティングデバイスから受信することと、
受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第２コンピューティングデバイスに送信することとを含み、前記第１アプリケーションの状態は、前記第１コンピューティングデバイスにおいて実行された複数の動作を含む操作履歴を含み、前記方法はさらに、
正常転送の表示を前記第２コンピューティングデバイスから受信することと、
受信した前記表示に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから除去することと、
を含む、方法。
【請求項１０】
前記第２コンピューティングデバイス上における前記第２アプリケーションは、前記操作履歴に基いて前記第１コンピューティングデバイスの前記第１アプリケーション上で実行された前記複数の動作の少なくとも１つを取消すかやり直すよう構成される、請求項９に記載の方法。
【請求項１１】
前記第１コンピューティングデバイスに対する前記第２コンピューティングデバイスの物理的近接性及びネットワーク近接性のうちの少なくとも一つに基づいて前記第２コンピューティングデバイスの存在を検出すること、及び、
前記存在の検出に基づいて、前記第２コンピューティングデバイスの存在を示す第１の通知を表示のために提供することであって、前記第１の通知は、前記転送を開始するための前記要求を前記第２コンピューティングデバイスに送信することを前記第１コンピューティングデバイスに実行させる第１のコマンドを受け入れるように構成されている、前記第１の通知を表示のために提供すること、
をさらに含む、請求項９に記載の方法。
【請求項１２】
前記第２コンピューティングデバイスは、前記転送を開始するための前記要求を示す第２の通知を表示のために提供するように構成され、前記第２の通知は、前記転送を開始するための前記承認を前記第１コンピューティングデバイスに送信することを前記第２コンピューティングデバイスに実行させる第２のコマンドを受け入れるように構成されている、請求項１１に記載の方法。
【請求項１３】
前記第２コンピューティングデバイスから受信した前記承認は、前記第２コンピューティングデバイス上の第２の通知に対する応答であり、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための前記要求を示している、請求項９に記載の方法。
【請求項１４】
正常転送の表示を前記第２コンピューティングデバイスから受信すること、及び、
受信した前記表示に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから除去すること、
をさらに含む、請求項９に記載の方法。
【請求項１５】
前記第１アプリケーションは第１のＷｅｂブラウザであり、前記第２アプリケーションは第２のＷｅｂブラウザであり、前記操作履歴は、前記第１のＷｅｂブラウザ内で動作しているＷｅｂベースのアプリケーションの操作履歴を含む、請求項９に記載の方法。
【請求項１６】
前記第１アプリケーションは第１のＷｅｂブラウザであり、前記第２アプリケーションは第２のＷｅｂブラウザであり、前記第１アプリケーションの状態は前記第１のＷｅｂブラウザ内のＷｅｂブラウジングセッションに対応している、請求項９に記載の方法。
【請求項１７】
第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためのシステムであって、
第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するための命令を含むメモリと、
プロセッサと、を含み、
前記プロセッサは、
前記第１コンピューティングデバイスに対する前記第２コンピューティングデバイスの近接性に基づいて前記第２コンピューティングデバイスの存在を検出することと、
第１コンピューティングデバイス上の第１アプリケーションの状態の転送を開始するための要求を前記第２コンピューティングデバイスに送信することであって、前記第１アプリケーションの状態が前記第１コンピューティングデバイス上の前記第１アプリケーションの第１セッションに対応し、前記第２コンピューティングデバイス上の第２アプリケーションが前記第１アプリケーションの状態を復元して前記第２アプリケーション内で前記第１セッションを続行するように構成されている、前記要求を送信することと、
送信した前記要求に対する応答として、前記転送を開始するための承認を前記第２コンピューティングデバイスから受信することと、
受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第２コンピューティングデバイスに送信することとを行うための命令を実行するように構成され、前記第１アプリケーションの状態は、前記第１コンピューティングデバイスにおいて実行された複数の動作を含む操作履歴を含み、前記プロセッサはさらに、
前記第２コンピューティングデバイスから正常転送の表示を受信することと、
受信した前記表示に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから除去することと、
を行うための命令を実行するように構成されている、
システム。
【請求項１８】
前記第２コンピューティングデバイス上における前記第２アプリケーションは、前記操作履歴に基いて前記第１コンピューティングデバイスの前記第１アプリケーション上で実行された前記複数の動作の少なくとも１つを取消すかやり直すよう構成される、請求項１７に記載のシステム。
【請求項１９】
前記第１コンピューティングデバイスに対する前記第２コンピューティングデバイスの近接性は、前記第１コンピューティングデバイスに対する前記第２コンピューティングデバイスの物理的近接性及びネットワーク近接性のうちの少なくとも一つである、請求項１７に記載のシステム。
【請求項２０】
前記プロセッサは、前記存在の検出に基づいて、前記第２コンピューティングデバイスの存在を示す第１の通知を表示のために提供するようにさらに構成され、前記第１の通知は、前記転送を開始するための前記要求を前記第２コンピューティングデバイスに送信することを前記第１コンピューティングデバイスに実行させる第１のコマンドを受け入れるように構成されている、請求項１７に記載のシステム。
【請求項２１】
前記第２コンピューティングデバイスは、前記転送を開始するための前記要求を示す第２の通知を表示のために提供するように構成され、前記第２の通知は、前記転送を開始するための承認を前記第１コンピューティングデバイスに送信することを前記第２コンピューティングデバイスに実行させる第２のコマンドを受け入れるように構成されている、請求項１７に記載のシステム。
【請求項２２】
請求項１〜５および９〜１６のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１２年７月３０日に出願され、「Transferring a State of an Application from a First Computing Device to a Second Computing Device」という名称の米国特許出願第１３／５６２２０９号の利益を主張するものであり、同特許出願はすべての目的のために参照により全体として本明細書に取り入れられる。
【背景技術】
【０００２】
コンピューティングデバイス上で実行されるアプリケーションは、コンピューティングデバイス上の様々な場所に様々なファイルを保存することができる。例えば、あるアプリケーションは、揮発性メモリ（例えば、ＲＡＭ）及び様々な場所の不揮発性メモリ（例えば、ハードディスク）にデータを保存させることができる。例えば、Ｗｅｂブラウザは、数ある場所の中で、クッキーフォルダ、一時インターネットファイルフォルダ、お気に入りフォルダ及び履歴フォルダにデータを保存させることができる。
【発明の概要】
【０００３】
開示される主題は、第１コンピューティングデバイス（computing device）から第２コンピューティングデバイスにアプリケーションの状態（state of an application）を転送するためコンピュータで実行される方法に関する。この方法は、第１コンピューティングデバイス上の第１アプリケーションの状態を第２コンピューティングデバイスに転送するための第１の要求（request）を前記第１コンピューティングデバイスから受信することを含む。前記第２コンピューティングデバイス上の第２アプリケーションは、前記第１アプリケーションの状態を復元(restore)するように構成されている。前記方法は、前記第１の要求に基づいて、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認（approval）を求める第２の要求（request）を前記第２コンピューティングデバイスに送信することをさらに含む。前記方法は、前記第２の要求の送信に対する応答として、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を前記第２コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記第１アプリケーションの状態を前記第２デバイスに送信することをさらに含む。
【０００４】
開示される主題はまた、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためのシステムに関する。このシステムは、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへとアプリケーションの状態を転送するための命令（instructions）を含むメモリと、プロセッサとを含む。前記プロセッサは、前記第１コンピューティングデバイス上の第１アプリケーションの状態を前記第２コンピューティングデバイスに転送するための第１の要求を前記第１コンピューティングデバイスから受信するための命令を実行するように構成されている。前記第１アプリケーションの状態は、前記第１コンピューティングデバイス上の前記第１アプリケーションの第１セッションに対応している。前記第２コンピューティングデバイス上の第２アプリケーションは、前記第１アプリケーションの状態を復元して前記第２アプリケーション内で前記第１セッションを続行するように構成されている。前記プロセッサはまた、前記第１の要求に基づいて、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を求める第２の要求を前記第２コンピューティングデバイスに送信するように構成されている。前記プロセッサはまた、前記第２の要求の送信に対する応答として、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を前記第２コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記第１アプリケーションの状態を前記第２デバイスに送信するように構成されている。前記プロセッサはまた、前記第１アプリケーションの状態の正常受信の確認（acknowledgement of successful receipt）を前記第２コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記確認に基づいて、前記第１アプリケーションの状態についての前記第２コンピューティングデバイスによる正常受信の通知（notification of successful receipt）を前記第１コンピューティングデバイスに送信するように構成されており、前記第１アプリケーションは、前記通知に基づき、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから除去するように構成されている。  
【０００５】
開示される主題はまた、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するための方法をプロセッサに実行させるための機械可読命令を含む機械可読媒体に関する。前記方法は、第１コンピューティングデバイス上の第１アプリケーションの状態を第２コンピューティングデバイスに転送するための第１の要求を前記第１コンピューティングデバイスから受信することを含む。前記第２コンピューティングデバイスは、前記第１コンピューティングデバイスに近接している。前記第２コンピューティングデバイス上の第２アプリケーションは、前記第１アプリケーションの状態を復元するように構成されている。前記方法は、前記第１の要求に基づいて、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの状態の転送を開始するための承認を求める第２の要求を前記第２コンピューティングデバイスに送信することをさらに含む。前記方法は、前記第２の要求の送信に対する応答として、前記第１コンピューティングデバイスから前記第２コンピューティングデバイスへの前記第１アプリケーションの状態の転送を開始するための承認を前記第２コンピューティングデバイスから受信することをさらに含む。前記承認は、前記第２コンピューティングデバイスと前記第１コンピューティングデバイスとの近接性（proximity）に基づいている。前記方法は、受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記第１アプリケーションの状態を前記第２デバイスに送信することをさらに含む。
【０００６】
開示される主題はまた、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためコンピュータで実行される方法に関する。この方法は、第１コンピューティングデバイス上の第１アプリケーションの状態の転送を開始するための要求を第２コンピューティングデバイスに送信することを含む。前記第２コンピューティングデバイス上の第２アプリケーションは、前記第１アプリケーションの状態を復元するように構成されている。前記方法は、送信した前記要求に対する応答として、前記転送を開始するための承認を前記第２コンピューティングデバイスから受信することをさらに含む。前記方法は、受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第２コンピューティングデバイスに送信することをさらに含む。
【０００７】
開示される主題はまた、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためのシステムに関する。このシステムは、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するための命令を含むメモリと、プロセッサとを含む。前記プロセッサは、前記第１コンピューティングデバイスに対する第２コンピューティングデバイスの近接性に基づいて前記第２コンピューティングデバイスの存在を検出するための命令を実行するように構成されている。前記プロセッサはまた、前記第１コンピューティングデバイス上の前記第１アプリケーションの状態の転送を開始するための要求を前記第２コンピューティングデバイスに送信するように構成されている。前記第２コンピューティングデバイス上の第２アプリケーションは、前記第１アプリケーションの状態を復元するように構成されている。前記プロセッサはまた、送信した前記要求に対する応答として、前記転送を開始するための承認を前記第２コンピューティングデバイスから受信するように構成されている。前記プロセッサはまた、受信した前記承認に基づいて、前記第１アプリケーションの状態を前記第２コンピューティングデバイスに送信するように構成されている。前記プロセッサはまた、前記第２コンピューティングデバイスから正常転送の表示（indication of a successful transfer）を受信するように構成されている。前記プロセッサはまた、受信した表示に基づいて、前記第１アプリケーションの状態を前記第１コンピューティングデバイスから除去するように構成されている。
【０００８】
以下の詳細な説明には、主題技術の様々な構成が例として示され、記載されており、当該説明から主題技術のその他の構成が当業者にとって容易に明らかになることは言うまでもない。以下から理解されるように、主題技術はその他の種々の構成とすることが可能であり、そのいくつかの詳細は、いずれも主題技術の範囲を逸脱することなく、その他の様々な観点から変更可能である。従って、図面及び詳細な説明は、本質的に、限定的なものとしてではなく、例示的なものとみなすべきである。
【０００９】
主題技術のいくつかの特徴は特許請求の範囲に記載されている。しかし、添付図面は、更なる理解を提供するために含まれたものであり、開示された実施形態を図示し、その記述とともに前記開示された実施形態の原理を説明するのに役立つものである。
【図面の簡単な説明】
【００１０】
【図１】第１コンピューティングデバイスから第２コンピューティングデバイスへとアプリケーションの状態を転送するためのアーキテクチャの一例を示す図である。
【図２】図１のアーキテクチャにおける第１コンピューティングデバイス、第２コンピューティングデバイス及びサーバの一例を示すブロック図である。
【図３Ａ】第１コンピューティングデバイスから第２コンピューティングデバイスへとアプリケーションの状態を転送するためのプロセスの第１の例を示す図である。
【図３Ｂ】第１コンピューティングデバイスから第２コンピューティングデバイスへとアプリケーションの状態を転送するためのプロセスの第２の例を示す図である。
【図４Ａ】図３Ａのプロセス例に関連するシステムの第１の例の説明図である。
【図４Ｂ】図３Ｂのプロセス例に関連するシステムの第２の例の説明図である。
【図５】主題技術のいくつかの態様を実現可能な電子システムを概念的に示す図である。
【発明を実施するための形態】
【００１１】
以下に記載されている詳細な説明は、主題技術の様々な構成を説明することを目的としており、主題技術が実施され得る構成のみを表すものではない。添付図面は、本明細書に取り入れられて、詳細な説明の一部を構成する。詳細な説明は、主題技術のより詳しい理解を提供するための具体的な詳細を含む。しかし、主題技術が本明細書に明記されている具体的な詳細に限定されず、このような具体的な詳細がなくても実施し得ることは、当業者にとって明白かつ明らかになるであろう。いくつかの事例では、主題技術の概念が曖昧になることを回避するため、周知の構造及び構成要素がブロック図形式で示されている。
【００１２】
第１コンピューティングデバイス上のアプリケーションを使用しているユーザは、第２コンピューティングデバイス上でそのアプリケーションを使用し続けたいと希望することがある。一例として、Ｗｅｂベースのワードプロセシング・アプリケーションを使用して文書を作成しているユーザが考えられる。ユーザは、携帯型のタッチベースのタブレットコンピュータ（a mobile touch-based tablet computer）上で文書を作成し始める。前記タブレットコンピュータのタッチスクリーン上でタイプ入力を行うのはキーボード上でタイプ入力を行うよりも効率が悪いと気づき、ユーザは自分のデスクトップコンピュータ上でその文書の作業を続行することを決める。
【００１３】
この例における前記Ｗｅｂベースのワードプロセシング・アプリケーションは、コンピューティングデバイス上でローカルに操作履歴を保存する。本明細書で使用する「操作履歴」という語句は、一般的かつ通常の意味を包含するものであり、ユーザ及び／又はアプリケーションによって実行された任意の操作を含む。但し、これらに限定されるものではない。一例として、ユーザが何らかのテキストをタイプ入力する場合、ユーザは、例えばＣＴＲＬ−Ｚを押すことによって、そのタイプ入力をアンドゥする（取り消す）ことができる。また、ユーザは、例えばＣＴＲＬ−Ｙを押すことによって、そのタイプ入力をリドゥする（やり直す）こともできる。各操作は、その操作履歴に基づいて、アンドゥ及び／又はリドゥされ得る。
【００１４】
この例において、前記Ｗｅｂベースのワードプロセシング・アプリケーションは、コンピューティングデバイス上でローカルに操作履歴を保存するため、ユーザは、そのデバイス上においてのみアンドゥ操作及び／又はリドゥ操作を行うことができる。したがって、この場合において、ユーザがデスクトップコンピュータを使用し始めると、ユーザは文書内における自分の操作のいずれについてもアンドゥ又はリドゥすることができなくなってしまう。
【００１５】
主題技術の特定の態様によれば、第１コンピューティングデバイス（例えば、タブレットコンピュータ）から第２コンピューティングデバイス（例えば、デスクトップコンピュータ）にアプリケーションの状態を転送するためのシステム及び方法が提供される。
【００１６】
本明細書で使用する「アプリケーション状態（application state）」及び／又は「アプリケーションの状態（state of an application）」という用語は、一般的かつ通常の意味を包含するものであり、アプリケーションによってコンピューティングデバイス上でローカルに生成され及び／又は保存された任意のデータを含む。但し、これらに限定されるものではない。アプリケーション状態は、任意の長さの時間、コンピューティングデバイス上の任意の種類（例えば、揮発性、不揮発性）のメモリに保存され得る。
【００１７】
図１は、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためのアーキテクチャ１００の一例を示している。アーキテクチャ１００は、ネットワーク１４０を介して接続されたコンピューティングデバイス１１０及びサーバ１７０を含む。
【００１８】
コンピューティングデバイス１１０は、例えば、モバイルコンピュータ、タブレットコンピュータ、モバイル装置（例えば、スマートフォンやＰＤＡ）、デスクトップコンピュータ、セットトップボックス（例えば、テレビジョン用の）、ビデオゲームコンソール、又は、適切な処理能力、通信能力及びメモリを有する任意のその他の装置であり得る。各コンピューティングデバイス１１０は、ユーザ入力を受け入れるための入力装置と、ユーザに対して情報を表示するための出力装置とを含むように構成される。
【００１９】
コンピューティングデバイス１１０は、ネットワーク１４０に接続され得る。ネットワーク１４０は、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、キャンパス・エリア・ネットワーク（ＣＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、ブロードバンド・ネットワーク（ＢＢＮ）、インターネットなどのうちの任意の一つ又は複数を含むことができる。また、ネットワーク１４０は、特に限定されるものではないが、バスネットワーク、星状ネットワーク、環状ネットワーク、網目状ネットワーク、星状バスネットワーク、木状又は階層ネットワークなどを含むネットワークトポロジのうちの任意の一つ又は複数を含むことができる。
【００２０】
コンピューティングデバイス１１０のうちのいずれか一つが第１コンピューティングデバイス１１０Ａになり、他のコンピューティングデバイス１１０が第２コンピューティングデバイス１１０Ｂになり得る。例えば、図１においては、デスクトップコンピュータが第１コンピューティングデバイス１１０Ａの一例として示され、ラップトップコンピュータが第２コンピューティングデバイス１１０Ｂの一例として示されている。それぞれのコンピューティングデバイス１１０（例えば、１１０Ａ，１１０Ｂ）はアプリケーションを含む。例えば、第１のコンピューティングデバイス１１０Ａは第１アプリケーションを含み、第２コンピューティングデバイス１１０Ｂは第２アプリケーションを含む。
【００２１】
サーバ１７０は、例えば、スタンドアロンサーバ、共用サーバ、専用サーバ、クラスタ／グリッド・サーバ（例えば、サーバファーム）又はクラウドサーバであり得る。サーバ１７０のそれぞれは、一つ又は複数のプロセッサと、通信モジュールと、メモリとを含むことができる。サーバ１７０は、（例えば、ロードバランシングのために）複数のサーバ間で作業負荷を分散するように構成され得る。
【００２２】
図２は、いくつかの開示態様に応じた、図１のアーキテクチャ１００における第１コンピューティングデバイス１１０Ａ、第２コンピューティングデバイス１１０Ｂ及びサーバ１７０の一例を示すブロック図２００である。
【００２３】
第１コンピューティングデバイス１１０Ａは、入力装置２０２Ａと、出力装置２０４Ａと、プロセッサ２２０Ａと、通信モジュール２２２Ａと、メモリ２４０Ａとを含む。入力装置２０２Ａは、タッチスクリーン、マウス、キーボード又はユーザが入力２０６Ａを第１コンピューティングデバイス１１０Ａに供給できるようにするための任意のその他の装置であり得る。出力装置２０４Ａは表示画面（display screen）であり得る。入力装置２０２Ａを介して受信された入力２０６Ａは、第１コンピューティングデバイス１１０Ａ及び／又はサーバ１７０上でローカルに処理され得る。
【００２４】
第１コンピューティングデバイス１１０Ａは、通信モジュール２２２Ａを介してネットワーク１４０に接続される。通信モジュール２２２は、データ、要求、応答及びコマンドなどの情報をネットワーク１４０上の他の装置との間で送受信するためにネットワーク１４０とのインターフェースを取るように構成される。通信モジュール２２２Ａは、例えば、モデム又はイーサネット（登録商標）カードであり得る。
【００２５】
メモリ２４０Ａは、第１アプリケーション２５０ａを含み、この第１アプリケーション２５０は、第１コンピューティングデバイス１１０Ａ及び／又はサーバ１７０との間で情報をやり取りするためにユーザによって使用される共に、ユーザに対して情報を表示するために使用され得る。第１アプリケーション２５０Ａは、第１コンピューティングデバイス１１０Ａでローカルにインストールされ、及び／又は、サーバ１７０からダウンロードされ得る。
【００２６】
メモリ２４０Ａまたは、第１アプリケーション状態モジュール２４２Ａを実行するためにプロセッサ２２０Ａによって読み取られ得るソフトウェア命令を含む。第１アプリケーション２５０Ａ及び／又は第１アプリケーション状態モジュール２４２Ａによって生成され及び／又は保存されたデータは、第１アプリケーション状態データ２４４Ａとして保存され得る。第１アプリケーション状態モジュール２４２Ａは、第１アプリケーション２５０Ａの一部として実現されてよいし、第１アプリケーション２５０Ａとは別体であってもよいことに留意されたい。
【００２７】
第２コンピューティングデバイス１１０Ｂは、多くの点で第１コンピューティングデバイス１１０Ａと同様であり得る。例えば、第２コンピューティングデバイス１１０Ｂは、入力装置２０２Ｂと、出力装置２０４Ｂと、プロセッサ２２０Ｂと、通信モジュール２２２Ｂと、メモリ２４０Ｂとを含む。第２入力装置２０２Ｂは、タッチスクリーン、マウス、キーボード又はユーザが第２の入力２０６Ｂを第２コンピューティングデバイス１１０Ｂに供給できるようにするための任意のその他の装置であり得る。出力装置２０４Ｂは表示画面であり得る。入力装置２０２Ｂを介して受信された入力２０６Ｂは、第２コンピューティングデバイス１１０Ｂ及び／又はサーバ１７０上でローカルに処理され得る。
【００２８】
第２コンピューティングデバイス１１０Ｂは、通信モジュール２２２Ｂを介してネットワーク１４０に接続される。通信モジュール２２２Ｂは、データ、要求、応答及びコマンドなどの情報をネットワーク１４０上の他の装置との間で送受信するためにネットワーク１４０とのインターフェースを取るように構成される。通信モジュール２２２Ｂは、例えば、モデム又はイーサネットカードであり得る。
【００２９】
メモリ２４０Ｂはまた、第２アプリケーション状態モジュール２４２Ｂを実行するためにプロセッサ２２０Ｂによって読み取られ得るソフトウェア命令を含む。第２アプリケーション２５０Ｂ及び／又は第２アプリケーション状態モジュール２４２Ｂによって生成され及び／又は保存されたデータは、第２アプリケーション状態データ２４４Ｂとして保存され得る。第２アプリケーション状態モジュール２４２Ｂは、第２アプリケーション２５０Ｂの一部として実現されてもよいし、第２アプリケーション２５０Ｂとは別体であってもよいことに留意されたい。
【００３０】
コンピューティングデバイス１１０（例えば、１１０Ａ，１１０Ｂ）のプロセッサ（例えば、２２０Ａ，２２０Ｂ）は、プロセッサ（例えば、２２０Ａ、２２０Ｂ）内に物理的にコード化された命令、メモリ（例えば、２４０Ａ，２４０Ｂ）から読み取られた命令又はその両方の組み合わせなどの命令を実行するように構成されている。一例として、メモリ２４０Ａから読み取られた命令に基づいて、第１プロセッサは、第１コンピューティングデバイス（例えば、１１０Ａ）から第２コンピューティングデバイス（例えば、１１０Ｂ）にアプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を転送するための方法を実行するように構成され得る。
【００３１】
例えば、第１コンピューティングデバイス１１０Ａについて考えると、メモリ２４０Ａからの前記命令がロードされると、プロセッサ２２０Ａは、第１コンピューティングデバイス（例えば、１１０Ａ）上の第１アプリケーション（例えば、２５０Ａ）の状態（２４４Ａ）の転送を開始するための要求を、第２コンピューティングデバイス（例えば、１１０Ｂ）に送信するように構成され、第２コンピューティングデバイス（例えば、１１０Ｂ）は、第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を第２コンピューティングデバイス（例えば、１１０Ｂ）上で復元するように構成された第２アプリケーション（例えば、２５０Ｂ）を有している。プロセッサ２２０Ａはまた、送信した前記要求に対する応答として、前記転送を開始するための承認を第２コンピューティングデバイス（例えば、１１０Ｂ）から受信するように構成される。プロセッサ２２０Ａはまた、受信した前記承認に基づいて、第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を第２コンピューティングデバイス（例えば、１１０Ｂ）に送信するように構成される。
【００３２】
サーバ１７０は、メモリ２８０と、プロセッサ２６０と、通信モジュール２６２とを含む。メモリ２８０は、アプリケーション状態サーバモジュール２８２を実行するためにプロセッサ２６０によって読み取られ得るソフトウェア命令を含む。アプリケーション状態サーバモジュール２８２は、第１コンピューティングデバイス（例えば、１１０Ａ）から第２コンピューティングデバイス（例えば、１１０Ｂ）にアプリケーションの状態を転送する。アプリケーション状態サーバモジュール２８２によって生成され及び／又は保存されたデータ（例えば、一時コピー）は、サーバ１７０のメモリ２８０にアプリケーション状態サーバデータ２８４として保存され得る。
【００３３】
アプリケーション状態サーバモジュール２８２は、第１コンピューティングデバイス（例えば、１１０Ａ）上の第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を第２コンピューティングデバイス（例えば、１１０Ｂ）に転送するための第１の要求を、第１コンピューティングデバイス（例えば、１１０Ａ）から受信する。第２コンピューティングデバイス（例えば、１１０Ｂ）上の第２アプリケーション（例えば、２５０Ｂ）は、第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を復元するように構成されている。アプリケーション状態サーバモジュール２８２は、前記第１の要求に基づいて、第１コンピューティングデバイス（例えば、１１０Ａ）から第２コンピューティングデバイス（例えば、１１０Ｂ）への第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）の転送を開始するための承認を求める第２の要求を、第２コンピューティングデバイス（例えば、１１０Ｂ）に送信する。アプリケーション状態サーバモジュール２８２は、前記第２の要求の送信に対する応答として、第１コンピューティングデバイス（例えば、１１０Ａ）から第２コンピューティングデバイス（例えば、１１０Ｂ）への第１のアプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）の転送を開始するための承認を、第２コンピューティングデバイス（例えば、１１０Ｂ）から受信する。アプリケーション状態サーバモジュール２８２は、受信した前記承認に基づいて、第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を第１コンピューティングデバイス（例えば、１１０Ａ）から受信する。アプリケーション状態サーバモジュール２８２は、受信した第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を第２デバイス（例えば、１１０Ｂ）に送信する。
【００３４】
サーバ１７０は、通信モジュール２６２を介してネットワーク１４０に接続される。通信モジュール２６２は、データ、要求、応答及びコマンドなどの情報をネットワーク１４０上の他の装置との間で送受信するためにネットワーク１４０とのインターフェースを取るように構成される。通信モジュール２６２は、例えば、モデム又はイーサネットカードであり得る。
【００３５】
サーバ１７０のプロセッサ２６０は、プロセッサ２６０内に物理的にコード化された命令、メモリ２８０から読み取られた命令又はその両方の組み合わせなどの命令を実行するように構成されている。一例として、サーバ１７０のプロセッサ２６０は、アプリケーション状態サーバモジュール２８２に関する命令を実行する。
【００３６】
メモリ２８０からの前記命令がロードされると、プロセッサ２６０は、第１コンピューティングデバイス（例えば、１１０Ａ）上の第１アプリケーション（例えば、２５０Ａ）の状態（２４４Ａ）を第２コンピューティングデバイス（例えば、１１０Ｂ）に転送するための第１の要求を、第１コンピューティングデバイス（例えば、１１０Ａ）から受信するように構成されている。第２コンピューティングデバイス（例えば、１１０Ｂ）上の第２アプリケーション（例えば、２５０Ｂ）は、第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を復元するように構成されている。プロセッサ２６０はまた、前記第１の要求に基づいて、第１コンピューティングデバイス（例えば、１１０Ａ）から第２コンピューティングデバイス（例えば、１１０Ｂ）への第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）の転送を開始するための承認を求める第２の要求を、第２コンピューティングデバイス（例えば、１１０Ｂ）に送信するように構成されている。プロセッサ２６０はまた、前記第２の要求の送信に対する応答として、第１コンピューティングデバイス（例えば、１１０Ａ）から第２コンピューティングデバイス（例えば、１１０Ｂ）への第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）の転送を開始するための承認を、第２コンピューティングデバイス（例えば、１１０Ｂ）から受信するように構成されている。プロセッサ２６０はまた、受信した前記承認に基づいて、第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を第１コンピューティングデバイス（例えば、１１０Ａ）から受信するように構成されている。プロセッサ２６０はまた、受信した第１アプリケーション（例えば、２５０Ａ）の状態（例えば、２４４Ａ）を第２デバイス（例えば、１１０Ｂ）に送信するように構成されている。
【００３７】
図３Ａ〜図３Ｂは、第１コンピューティングデバイスから第２コンピューティングデバイスへとアプリケーションの状態を転送するためのプロセス（処理）３００Ａ〜３００Ｂの例を示している。
【００３８】
図３Ａは、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためのプロセス３００Ａの第１の例を示している。
【００３９】
ステップ３１０において、サーバ１７０は、第１コンピューティングデバイス１１０Ａ上の第１アプリケーション２５０Ａの状態２４４Ａを第２コンピューティングデバイス１１０Ｂに転送するための第１の要求を、第１コンピューティングデバイス１１０Ａから受信する。第２コンピューティングデバイス１１０Ｂ上の第２アプリケーション２５０Ｂは、第１アプリケーション２５０Ａの状態２４４Ａを復元するように構成されている。
【００４０】
アプリケーション２５０Ａの状態２４４Ａは、第１コンピューティングデバイス１１０Ａ上で生成され及び／又は保存された任意のデータ（例えば、ローカルコピー、一時データ）を含むことができる。すなわち、第１アプリケーション１１０Ａの動作の結果として第１コンピューティングデバイス１１０Ａ上に存在する任意の情報は、アプリケーション状態２４４Ａの一部と見なされ得る。一例として、第１アプリケーション２５０Ａがワードプロセシング・アプリケーションである場合、アプリケーション状態２４４Ａは、ユーザが作業している文書、操作履歴（例えば、アンドゥ履歴、リドゥ履歴）、ユーザ設定（例えば、ファイル保存場所）、スクロールバーの位置、ワードプロセシング・アプリケーションのウィンドウの位置、一時ファイル（例えば、編集のために文書がメモリ内にロードされた時に作成された一時ファイル）などを含むことができる。
【００４１】
第１アプリケーション２５０Ａの状態２４４Ａは、様々なフォーマットで表され得る。例えば、第１アプリケーション２５０Ａの状態２４４Ａは、ドキュメント・オブジェクト・モデル（ＤＯＭ）フォーマットで表され得る。他の例として、第１アプリケーション２５０Ａの状態２４４Ａは、一つのアーカイブ（例えば、ジップファイル（zipped file）として表され得る。
【００４２】
第１コンピューティングデバイス１１０Ａと第２コンピューティングデバイス１１０Ｂとは同様のもの又は異なるものであり得る。一例として、第１コンピューティングデバイス１１０Ａがラップトップコンピュータであり、第２コンピューティングデバイス１１０Ｂがタブレットコンピュータであり得る。同様に、第１コンピューティングデバイス１１０Ａがスマートフォンであり、第２コンピューティングデバイス１１０Ｂがデスクトップコンピュータであり得る。
【００４３】
ステップ３２０において、サーバ１７０は、前記第１の要求に基づいて、第１コンピューティングデバイス１１０Ａから第２コンピューティングデバイス１１０Ｂへの第１アプリケーション２５０Ａの状態２４４Ａの転送を開始するための承認を求める第２の要求を、第２コンピューティングデバイス１１０Ｂに送信する。前記第２の要求は、前記第１の要求と同じものであり得る。すなわち、前記第１の要求は、実質的に変更されずに、前記第２の要求として第２コンピューティングデバイス１１０Ｂに中継され得る。あるいは、前記第２の要求は、前記第１の要求に基づいてサーバ１７０によって生成され得る。
【００４４】
前記承認を求める前記第２の要求は様々な方法で実現され得る。例えば、サーバ１７０は、ユーザに対して出力装置２０４Ｂ（例えば、ディスプレイ）上に通知を表示すること及び入力装置２０２Ｂ（例えば、マウス）を介して入力２０６Ｂを行って（例えば、ボタンをクリックして）承認を示すようユーザを促すことを、第２コンピューティングデバイス１１０Ｂに実行させることができる。サーバ１７０は、ユーザからのインタラクション（interaction from the user）なしに、第２コンピューティングデバイス１１０Ｂから承認を受信するようにしてもよい。例えば、第２コンピューティングデバイス１１０Ｂは、サーバ１７０からの要求に応答して承認を提供するように前もって構成され得る。
【００４５】
ステップ３３０において、サーバ１７０は、前記第２の要求の送信したに対する応答として、第１コンピューティングデバイス１１０Ａから第２コンピューティングデバイス１１０Ｂへの第１アプリケーション２５０Ａの状態２４４Ａの転送を開始するための承認を、第２コンピューティングデバイス１１０Ｂから受信する。第２コンピューティングデバイス１１０Ｂからの前記承認は様々な方法で受信され得る。例えば、第２コンピューティングデバイス１１０Ｂから受信したセキュリティトークンが前記転送を開始するための承認を示すことができる。
【００４６】
ステップ３４０において、サーバ１７０は、受信した前記承認に基づいて、第１アプリケーション２５０Ａの状態２４４Ａを第１コンピューティングデバイス１１０Ａから受信する。
【００４７】
ステップ３５０において、サーバ１７０は、受信した第１アプリケーション２５０Ａの状態２４４Ａを第２デバイス１１０Ｂに送信する。第２コンピューティングデバイス１１０Ｂ上の第２アプリケーション２５０Ｂは、第１アプリケーション２５０Ａの状態２４４Ａを復元することができる。すなわち、アプリケーション状態２４４Ａを使用することにより、第２アプリケーション２５０Ｂは、第１アプリケーション２５０Ａとして出現して動作することができる。
【００４８】
一態様において、サーバ１７０は、第１アプリケーション２５０Ａの状態２４４Ａの正常受信の確認を第２コンピューティングデバイス１１０Ｂから受信することができる。サーバ１７０は、受信した前記確認に基づいて、第１アプリケーション２５０Ａの状態２４４Ａについての第２コンピューティングデバイス１１０Ｂによる正常受信の通知を第１コンピューティングデバイス１１０Ａに送信することができる。送信された前記通知は受信した前記確認と同じものであり得る。すなわち、受信した前記確認は、実質的に変更されることなく、送信された前記通知として第１コンピューティングデバイス１１０Ａに中継され得る。あるいは、送信された前記通知は、受信した前記確認に基づいてサーバ１７０によって生成され得る。
【００４９】
送信された前記通知に基づいて、第１アプリケーション２５０Ａは、状態２４４Ａを第１のコンピューティングデバイス１１０Ａから除去することができる。
【００５０】
図３Ｂは、第１コンピューティングデバイスから第２コンピューティングデバイスにアプリケーションの状態を転送するためのプロセス３００Ｂの第２の例を示している。
【００５１】
ステップ３１５において、第１コンピューティングデバイス１１０Ａは、第１コンピューティングデバイス１１０Ａ上の第１アプリケーション２５０Ａの状態２４４Ａの転送を開始するための要求を、第２コンピューティングデバイス１１０Ｂに送信する。第２コンピューティングデバイス１１０Ｂは、第１アプリケーション２５０Ａの状態２４４Ａを第２コンピューティングデバイス１１０Ｂ上で復元するように構成された第２アプリケーション２５０Ｂを有する。
【００５２】
ステップ３１５で送信される要求は様々な方法でトリガされ得る。例えば、第１コンピューティングデバイス１１０Ａが第２コンピューティングデバイス１１０Ｂの存在を検出したときに、第２コンピューティングデバイス１１０Ｂの存在を示すために第１通知が（例えば、表示のために）提供され得る。第１コンピューティングデバイス１１０Ａは、第１コンピューティングデバイス１１０Ａに対する第２コンピューティングデバイス１１０Ｂの物理的な近接性及び／又はネットワーク近接性に基づいて、第２コンピューティングデバイス１１０Ｂの存在を検出することができる。
【００５３】
前記物理的な近接性の一例として、第１コンピューティングデバイス１１０Ａは、Ｂｌｕｅｔｏｏｔｈ（登録商標）技術に基づいて、第２コンピューティングデバイス１１０Ｂの存在を検出することができる。同様に、第１コンピューティングデバイス１１０Ａは、赤外線、Ｗｉ−Ｆｉ、又は、識別可能な信号を第２コンピューティングデバイス１１０Ｂに放出させることになる任意のその他の技術に基づいて、第２コンピューティングデバイス１１０Ｂの存在を検出することができる。
【００５４】
第１コンピューティングデバイス１１０Ａは、第２コンピューティングデバイス１１０Ｂによって引き起こされる効果に基づいて、第２コンピューティングデバイス１１０Ｂの存在を検出することができる。例えば、第１コンピューティングデバイス１１０Ａは、第２コンピューティングデバイス１１０Ｂから放出された特定の音声パターンに基づいて、第２コンピューティングデバイス１１０Ｂを検出することができる。
【００５５】
前記ネットワーク近接性の一例を挙げると、第１コンピューティングデバイス１１０Ａは、他のコンピューティングデバイス１１０の存在についてネットワークを探査する（probe）ことができる。例えば、第１コンピューティングデバイス１１０Ａは、第２コンピューティングデバイス１１０Ｂのハードウェアアドレス（例えば、ＭＡＣアドレス）についてネットワークをスキャンすることができる。
【００５６】
第２コンピューティングデバイス１１０Ｂの存在を示すために第１コンピューティングデバイス１１０Ａによって（例えば、表示のために）提供される前記第１の通知は、第１のコマンド（例えば、入力）を受け入れるように構成され得る。第１のコマンドは、第１のコンピューティングデバイス１１０Ａから第２コンピューティングデバイス１１０Ｂへの第１のアプリケーション２５０Ａの状態２４４Ａの転送を開始するための要求を、第２コンピューティングデバイス１１０Ｂに送信することを第１のコンピューティングデバイス１１０Ａに実行させることができる。
【００５７】
前記第１の通知は、ユーザインタラクション（user interaction）を必要としてもよく、必要としなくてもよいことに留意されたい。すなわち、前記通知及び対応する前記第１のコマンドは、第１コンピューティングデバイスの構成に基づいて自動的に発生し得る。
【００５８】
ステップ３２５において、第１コンピューティングデバイス１１０Ａは、送信した前記要求に対する応答として、前記転送を開始するための承認を第２コンピューティングデバイス１１０Ｂから受信する。このステップ３２５で受信される前記承認は様々な方法でトリガされ得る。例えば、第１コンピューティングデバイス１１０Ａが前記転送を開始するための前記要求を送信した場合に、第２コンピューティングデバイス１１０Ｂは、前記転送を開始するための前記要求を示す第２の通知を（例えば、表示のために）提供することができる。第２コンピューティングデバイス１１０Ｂによって（例えば、表示のために）提供される第２の通知は、前記転送を開始するための前記承認を第１コンピューティングデバイス１１０Ａに送信することを第２コンピューティングデバイス１１０Ｂに実行させるための第２のコマンドを受け入れるように構成され得る。
【００５９】
ステップ３３５において、第１コンピューティングデバイス１１０Ａは、第２コンピューティングデバイス１１０Ｂから前記承認を受信し、受信した前記承認に基づいて、第１アプリケーション２５０Ａの状態２４４Ａを第２コンピューティングデバイス１１０Ｂに送信する。
【００６０】
一態様において、第１コンピューティングデバイス１１０Ａは、第１アプリケーション２５０Ａの状態２４４Ａの正常転送の表示（indication of successful transfer）を第２コンピューティングデバイス１１０Ｂから受信することができる。受信した前記表示に基づいて、第１アプリケーション２５０Ａは、状態２４４Ａを第１コンピューティングデバイス１１０Ａから除去することができる。
【００６１】
プロセス３００Ａ〜３００Ｂは、図１及び図２のシステムに関連して上記のように説明されているが、プロセス３００Ａ〜３００Ｂはこのようなシステムに限定されず、他のシステム及び／又は構成によっても実行され得ることに留意されたい。例えば、ステップ３１０の前記第１の要求及び／又はステップ３２０の前記承認は、ステップ３１５及び３２５に記載されているように近接性の検出に基づくものとすることができる。すなわち、第１アプリケーション２５０Ａの状態２４４Ａの転送は、（例えば、セキュリティ上の理由により）第１コンピューティングデバイス１１０Ａと第２コンピューティングデバイス１１０Ｂとの近接性を条件とすることができる。
【００６２】
次に、図３Ａ〜図３Ｂのプロセス３００Ａ〜３００Ｂの例を使用した実施例について説明する。図４Ａに示される第１実施例においては、第１コンピューティングデバイス１１０Ａとしてタブレットコンピュータが使用され、第１アプリケーション２５０Ａとしてタブレットコンピュータ上の第１のＷｅｂブラウザが使用され、第１アプリケーション２５０Ａの状態２４４Ａとして前記第１のＷｅｂブラウザのブラウジングセッション（以下「第１ブラウジングセッション」という）が使用され、第２コンピューティングデバイス１１０Ｂとしてデスクトップコンピュータが使用され、第２アプリケーション２５０Ｂとしてデスクトップコンピュータ上の第２のＷｅｂブラウザが使用されている。
【００６３】
この実施例において、タブレットコンピュータ１１０Ａを使用しているユーザは、オンライン小売業者（online retailer）から書籍を購入することを決める。ユーザが購入を完了するためのチェックアウトプロセスを開始すると、ユーザは自分の配送情報及び支払情報を入力するよう要求される。前記タブレットコンピュータのタッチスクリーン上でのタイプ入力を苛立たしく感じて、ユーザは前記デスクトップコンピュータに切り替えようと決める。
【００６４】
プロセス３００Ａは、ユーザが前記タブレットコンピュータから前記デスクトップコンピュータ１１０Ｂに第１ブラウジングセッション２４４Ａを転送することを決めると開始する。
【００６５】
ステップ３１０において、サーバ１７０は、タブレットコンピュータ１１０Ａ上の第１のＷｅｂブラウザ２５０Ａの第１ブラウジングセッション２４４Ａをデスクトップコンピュータ１１０Ｂに転送するための第１の要求を、タブレットコンピュータ１１０Ａから受信する。デスクトップコンピュータ１１０Ｂ上の第２のＷｅｂブラウザ２５０Ｂは、第１のＷｅｂブラウザ２５０Ａのブラウジング２４４Ａを復元するように構成されている。
【００６６】
タブレットコンピュータ１１０Ａ上の第１ブラウジングセッション２４４Ａは、ユーザのＷｅｂ活動に関するすべてのファイルを含んでいる。例えば、第１ブラウジングセッションは、ユーザによって閲覧された特定のＷｅｂページ、関連する一時ファイル、クッキー、ＵＲＬ履歴、ウィンドウ及び／又はタブ位置などを含む。この実施例における第１ブラウジングセッション２４４Ａは、ドキュメント・オブジェクト・モデル（ＤＯＭ）フォーマットで表される。
【００６７】
ステップ３２０において、サーバ１７０は、前記第１の要求に基づいて、タブレットコンピュータ１１０Ａからデスクトップコンピュータ１１０Ｂへの第１のＷｅｂブラウザ２５０Ａの第１ブラウジングセッション２４４Ａの転送を開始するための承認を求める第２の要求を、デスクトップコンピュータ１１０Ｂに送信する。この実施例において、デスクトップコンピュータ１１０Ｂに送信される前記第２の要求は、タブレットコンピュータ１１０Ａから受信された前記第１の要求に基づいて、サーバ１７０によって生成される。
【００６８】
デスクトップコンピュータ１１０Ｂは、タブレットコンピュータ１１０Ａから転送されたものを自動的に受け入れるように構成されている。このため、デスクトップコンピュータ１１０Ｂは自動的にサーバ１７０に承認を送信する。
【００６９】
ステップ３３０において、サーバ１７０は、タブレットコンピュータ１１０Ａからの第１のＷｅｂブラウザ２５０Ａの第１ブラウジングセッション２４４Ａの転送を開始するための承認をデスクトップコンピュータ１１０Ｂから受信する。
【００７０】
ステップ３４０において、受信した前記承認に基づいて、サーバ１７０はタブレットコンピュータ１１０Ａから第１ブラウジングセッション２４４Ａを受信する。
【００７１】
ステップ３５０において、サーバ１７０は、デスクトップコンピュータ１１０Ｂにブラウジングセッション２４４Ａを送信する。第１ブラウジングセッション２４４Ａと、ステップ３４０の動作に基づいて保存（例えば、一時コピーとして）又は生成された任意のその他のデータとは、アプリケーション状態サーバデータ２８４としてサーバ１７０上に保存され得る。
【００７２】
そして、デスクトップコンピュータ１１０Ｂ上の第２のＷｅｂブラウザ２５０Ｂは、第１のＷｅｂブラウザ２５０Ａの第１ブラウジングセッション２４４Ａを復元し、ユーザはデスクトップコンピュータ１１０Ｂから前記購入を完了する。
【００７３】
図４Ｂに示されている第２実施例においては、第１コンピューティングデバイス１１０Ａとしてデスクトップコンピュータが使用され、第１アプリケーション２５０Ａとして前記デスクトップコンピュータ上の第１のＷｅｂベースのワードプロセシング・アプリケーションが使用され、第１アプリケーション２５０Ａの状態２４４Ａとして前記第１のＷｅｂベースのワードプロセシング・アプリケーションに関連するファイルが使用され、第２コンピューティングデバイス１１０Ｂとしてラップトップコンピュータが使用され、第２アプリケーション２５０Ｂとして前記ラップトップコンピュータ上の第２のＷｅｂベースのワードプロセシング・アプリケーションが使用される。
【００７４】
この実施例において、ユーザは自分の仕事場におり、Ｗｅｂベースのワードプロセシング・アプリケーションを使用して文書を編集している。前記Ｗｅｂベースのアプリケーションは、オフラインで文書の作成及び／又は編集を行うことができる。ユーザは、会議に出席するために他の場所へ飛行機で出張しなければならない。
【００７５】
プロセス３００Ｂは、ユーザが前記第１のＷｅｂベースのワードプロセシング・アプリケーション２５０Ａの状態２４４Ａを、出張に携行するラップトップコンピュータ１１０Ｂに転送しようと決めると開始する。ユーザは、編集中の文書に関する操作履歴（例えば、アンドゥ履歴）にアクセスできるようにするため状態２４４Ａを転送しようと決める。
【００７６】
ステップ３１５において、デスクトップコンピュータ１１０Ａは、デスクトップコンピュータ１１０Ａ上の前記第１のＷｅｂベースのワードプロセシング・アプリケーション２５０Ａの状態２４４Ａの転送を開始するための要求を、ラップトップコンピュータ１１０Ｂに送信する。ラップトップコンピュータ１１０Ｂは、オフライン使用のためにＷｅｂベースのワードプロセシング・アプリケーション（以下、「第２のＷｅｂベースのワードプロセシング・アプリケーション２５０Ｂ」という）を保存したＷｅｂブラウザを有している。前記第２のＷｅｂベースのワードプロセシング・アプリケーション２５０Ｂは、前記第１のＷｅｂベースのワードプロセシング・アプリケーション２５０Ａの状態２４４Ａを復元するように構成されている。
【００７７】
ステップ３１５において送信される前記要求は、デスクトップコンピュータ１１０Ａがラップトップコンピュータ１１０Ｂの存在を検出した時にトリガされる。デスクトップコンピュータ１１０Ａは、ラップトップコンピュータ１１０Ｂから受信したＢｌｕｅｔｏｏｔｈ（登録商標）信号に基づいてラップトップコンピュータ１１０Ｂを検出する。
【００７８】
ステップ３２５において、デスクトップコンピュータ１１０Ａは、送信した前記要求に対する応答として、前記転送を開始するための承認をラップトップコンピュータ１１０Ｂから受信する。ステップ３２５における前記承認は、ラップトップコンピュータ１１０Ｂからデスクトップコンピュータ１１０Ａによって受信されるセキュリティトークンの形式になっている。
【００７９】
ステップ３３５において、受信した前記承認に基づいて、デスクトップコンピュータ１１０Ａは、前記第１のＷｅｂベースのワードプロセシング・アプリケーション２５０Ａの状態２４４Ａをラップトップコンピュータ１１０Ｂに送信する。そして、前記第２のＷｅｂベースのワードプロセシング・アプリケーション２５０Ｂが状態２４４Ａを復元し、ユーザはラップトップコンピュータ１１０Ｂ上で前記文書の作業を続行することができる。
【００８０】
図５は、それによって主題技術のいくつかの態様が実現され得る電子システムを概念的に示している。例えば、図５は、それによって図２のコンピューティングデバイス１１０又はサーバ１７０が実現され得るコンピュータシステム５００の一例を示している。ある態様において、コンピュータシステム５００は、ハードウェア又はソフトウェアとハードウェアの組み合わせを使用し、専用のサーバ内において、他のエンティティ内に統合されて、又は、複数のエンティティ間に分散されて実現され得る。
【００８１】
コンピュータシステム５００（例えば、コンピューティングデバイス１１０，サーバ１７０）は、情報を伝達するためのバス５０８又はその他の通信メカニズムと、情報を処理するためにバス５０８と結合されたプロセッサ５０２（例えば、プロセッサ２２０，プロセッサ２６０）とを含む。例として、コンピュータシステム５００は、一つ又は複数のプロセッサ５０２で実現され得る。プロセッサ５０２は、汎用マイクロプロセッサ、マイクロコントローラ、デジタル・シグナル・プロセッサ（ＤＳＰ）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）、ＰＬＤ（Programmable Logic Device）、コントローラ、ステートマシン（state machine）、ゲーテッド・ロジック（gated logic）、個別のハードウェアコンポーネント、又は、計算やその他の情報操作を実行できる任意のその他の適切なエンティティであり得る。
【００８２】
コンピュータシステム５００は、ハードウェアに加えて、該当するコンピュータプログラムのための実行環境を作成するコードを含むことができる。前記コードは、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又は、プロセッサ５０２によって実行される情報や命令を保存するためにバス５０８に結合された、当該システムに含まれるメモリ５０４（例えば、メモリ２４０，メモリ２８０）に保存されたそれらの一つ以上の組み合わせの構成要素となるコードであり、メモリ５０４は、ＲＡＭ（Random Access Memory）、フラッシュメモリ(Flash memory)、ＲＯＭ（Read Only Memory）、ＰＲＯＭ（Programmable Read-Only Memory）、ＥＰＲＯＭ（Erasable PROM）、レジスタ、ハードディスク、取り外し可能ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、又は、任意のその他の適切な記憶装置などである。プロセッサ５０２及びメモリ５０４は、特殊用途の論理回路によって補われたりあるいは、そこに組み込まれたりされ得る。
【００８３】
命令は、メモリ５０４に保存され、データ指向言語（例えば、ＳＱＬ、ｄＢａｓｅ）、システム言語（例えば、Ｃ、Ｏｂｊｅｃｔｉｖｅ−Ｃ，Ｃ＋＋，アセンブリ）、アーキテクチャ言語（例えば、Ｊａｖａ（登録商標），．ＮＥＴ）及びアプリケーション言語（例えば、ＰＨＰ、Ｒｕｂｙ、Ｐｅｒｌ、Ｐｙｔｈｏｎ）などのコンピュータ言語を含むがこれらに限定されない当業者にとって周知の任意の方法により、一つ又は複数のコンピュータプログラム製品、すなわち、コンピュータシステム５００による実行のために又はコンピュータシステム５００の動作を制御するためにコンピュータ可読媒体上にコード化されたコンピュータプログラム命令の一つ又は複数のモジュールで実現され得る。命令はまた、配列言語、アスペクト指向言語、アセンブリ言語、オーサリング言語、コマンドライン・インターフェース言語、コンパイル済み言語、コンカレント言語、カーリーブラケット言語、データフロー型言語、データ構造化言語、宣言形言語、難解言語、拡張言語、第４世代言語、関数型言語、対話型言語、解釈済み言語、反復型言語、リストベース言語、リトル言語、ロジックベース言語、機械語、マクロ言語、メタプログラミング言語、マルチパラダイム言語、数値解析、非英語ベース言語、オブジェクト指向クラスベース言語、オブジェクト指向プロトタイプベース言語、オフサイドルール言語、手続き型言語、反射言語、ルールベース言語、スクリプト言語、スタックベース言語、同期言語、構文処理言語、ビジュアル言語、ヴィルト言語、埋め込み言語及びＸＭＬベース言語などのコンピュータ言語で実現され得る。メモリ５０４はまた、プロセッサ５０２によって実行されるべき命令の実行中に一時変数又はその他の中間情報を保存するために使用され得る。
【００８４】
本明細書で論じられているコンピュータプログラムは、必ずしもファイルシステム内の一つのファイルに対応しているわけではない。一つのプログラムは、他のプログラム又はデータを保持するファイルの一部分（例えば、マークアップ言語文書に保存された一つ又は複数のスクリプト）に、該当するプログラム専用の単一ファイル内に、或いは、複数の協調ファイル（例えば、一つ又は複数のモジュール、サブプログラム又はコードの一部分を保存するファイル）内に保存され得る。コンピュータプログラムは、一つのコンピュータ上で、又は、一つのサイトに位置するか複数のサイトに分散されて通信ネットワークによって相互接続されている複数のコンピュータ上で、実行されるように配備され得る。本明細書に記載されているプロセス及び論理フローは、入力データについて操作し、出力を生成することによって機能を果たすために一つ又は複数のコンピュータプログラムを実行する一つ又は複数のプログラム可能プロセッサによって実行され得る。
【００８５】
コンピュータシステム５００はまた、情報及び命令を保存するためにバス５０８に結合された、磁気ディスク又は光ディスクなどのデータ記憶装置５０６を含む。コンピュータシステム５００は、入出力モジュール５１０を介して様々な装置に接続され得る。入出力モジュール５１０は、任意の入出力モジュールであり得る。入出力モジュール５１０のいくつかの例は、ＵＳＢポートなどのデータポートを含む。入出力モジュール５１０は、通信モジュール５１２に接続するように構成される。通信モジュール５１２（例えば、通信モジュール２２２，通信モジュール２６２）のいつかの例は、イーサネット（登録商標）カードやモデムなどのネットワーキング・インターフェース・カードを含む。ある態様において、入出力モジュール５１０は、入力装置５１４（例えば、入力装置２０２）及び／又は出力装置５１６（例えば、出力装置２０４）などの複数の装置に接続するように構成される。入力装置５１４のいくつかの例は、それによりユーザがコンピュータシステム５００に入力を提供することができるキーボード及びポインティングデバイス、例えば、マウス又はトラックボールを含む。ユーザとの対話も可能にするために、触覚入力装置、視覚入力装置、音声入力装置又はブレインコンピュータ・インターフェース・デバイスなどのその他の種類の入力装置５１４が使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック又は触覚フィードバックであり得るし、ユーザからの入力は、音響、音声、触覚又は脳波入力を含む任意の形で受信され得る。出力装置５１６のいくつかの例は、ユーザに対して情報を表示するためのＣＲＴ（陰極線管）モニター又はＬＣＤ（液晶ディスプレイ）モニターなどの表示装置を含む。
【００８６】
本開示の一態様によると、コンピューティングデバイス１１０は、メモリ５０４内に含まれる一つ又は複数の命令からなる一つ又は複数のシーケンスを実行するプロセッサ５０２に応答するコンピュータシステム５００を使用して実現され得る。このような命令は、データ記憶装置５０６などの他の機械可読媒体からメモリ５０４内に読み込まれ得る。メインメモリ５０４内に含まれる命令のシーケンスを実行することによって、プロセッサ５０２は、本明細書に記載されているプロセスステップを実行する。多重処理構成の一つ又は複数のプロセッサもまた、メモリ５０４内に含まれる命令のシーケンスを実行するために使用され得る。別の態様においては、本開示の様々な態様を実現するために、ソフトウェア命令の代わりに又はそれと組み合わせてハードワイヤード回路が使用され得る。このため、本開示の諸態様は、ハードウェア回路とソフトウェアの任意の特定の組み合わせに限定されるものではない。
【００８７】
本明細書に記載された主題の様々な態様は、バックエンドコンポーネント、例えば、データサーバを含むか、ミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、フロントエンドコンポーネント、例えば、それを通じてユーザが本明細書に記載されている主題の実現例と対話可能なグラフィカル・ユーザ・インターフェース又はアプリケーションを有したコンピューティングコンピュータを含むか、一つ又は複数のこのようなバックエンドコンポーネント、ミドルウェアコンポーネント又はフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステムにおいて実現され得る。前記システムのコンポーネントは、任意の形態又は手段のデジタルデータ通信、例えば、通信ネットワークによって相互接続され得る。前記通信ネットワーク（例えば、ネットワーク１４０）は、例えば、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、キャンパス・エリア・ネットワーク（ＣＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、ブロードバンド・ネットワーク（ＢＢＮ）、インターネットなどのうちの任意の一つ又は複数を含むことができる。更に、前記通信ネットワークは、それらに限定されるものではないが、例えば、バスネットワーク、星状ネットワーク、環状ネットワーク、網目状ネットワーク、星状バスネットワーク、木状又は階層ネットワークなどを含むネットワークトポロジのうちの任意の一つ又は複数を含むことができる。前記通信モジュールは、例えばモデムやイーサネットカードであり得る。
【００８８】
コンピューティングシステム５００は、コンピューティングデバイス及びサーバを含むことができる。コンピューティングデバイスとサーバとは、一般に互いに離れたところにあり、通常は通信ネットワークを介して情報をやり取りする。コンピューティングデバイスとサーバとの関係は、それぞれのコンピュータ上で実行されて相互にコンピューティング−サーバ関係を有するコンピュータプログラムによって生じる。コンピュータシステム５００は、例えば、限定されるものではないが、デスクトップコンピュータ、ラップトップコンピュータ又はタブレットコンピュータであり得る。コンピュータシステム５００はまた、他のデバイス、例えば、限定されるものではないが、携帯電話、携帯情報端末（ＰＤＡ）、モバイル・オーディオ・プレーヤ、全地球測位システム（ＧＰＳ）受信機、ビデオゲームコンソール及び／又はテレビジョンのセットトップボックスに組み込まれ得る。
【００８９】
本明細書で使用される「機械可読記憶媒体」又は「コンピュータ可読媒体」という用語は、プロセッサ５０２への実行命令の提供に関与する任意の媒体又はメディアを指している。このような媒体は、それらに限定されるものではないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む多くの形態を取ることができる。不揮発性媒体は、例えば、データ記憶装置５０６などの光ディスクや磁気ディスクを含む。揮発性媒体は、メモリ５０４などのダイナミックメモリを含む。伝送媒体は、バス５０８を含むワイヤを含んだ同軸ケーブル、銅線及び光ファイバを含む。機械可読媒体の一般的な形態は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意のその他の磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ、任意のその他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意のその他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、任意のその他のメモリチップ又はカートリッジ、又は、そこからコンピュータが読み取ることができる任意のその他の媒体を含む。前記機械可読記憶媒体は、機械可読記憶装置、機械可読記憶基板、メモリデバイス、機械可読伝搬信号をもたらす組成物、又は、これらのうちの一つ又は複数の組み合わせであり得る。
【００９０】
本明細書は多くの具体的なものを含んでいるが、これらは特許請求の範囲に記載された発明を制限するものと解釈すべきではなく、むしろ主題の特定の実現例についての記述と解釈すべきである。また、主題技術の別々の実現例に関連して本明細書に記載されている特定の特徴は、単一の実現例において組み合わせて実現され得る。逆に言えば、単一の実現例に関連して記載されている様々な特徴は、複数の実現例で別々に、又は任意の適切なサブコンビネーションで実現され得る。さらに、諸特徴は、特定の組み合わせにおける作用として上記で説明されており、それ自体が最初にクレームされ得るが、クレームされた組み合わせのうちの一つ又は複数の特徴は、場合によっては、その組み合わせから削除することができ、クレームされた組み合わせは、サブコンビネーション又はサブコンビネーションの変形例を対象とし得る。
【００９１】
同様に、動作は特定の順序で図面内に描写されているが、これは、望ましい結果を達成するために、このような動作を示されている特定の順序で又は連続した順序で実行すること或いは例示されているすべての動作を実行することを要求しているものと理解すべきではない。特定の情況では、マルチタスク及び並列処理の方が有利である可能性もある。さらに、上記の諸態様内の様々なシステムコンポーネントの分離は、すべての態様でこのような分離を要求しているものと理解すべきではなく、記載されたプログラムコンポーネント及びシステムは、一般的に単一ソフトウェア製品にまとめて統合されたり、複数のソフトウェア製品内にパッケージ化されたりし得ることを理解されたい。
【００９２】
本明細書の主題は、特定の態様に関して記載されているが、その他の態様でも実施され得るものであり、それらも特許請求の範囲に記載された発明の範囲内のものである。例えば、特許請求の範囲に列挙されているアクションは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。一例として、添付図面に描写されているプロセスは必ずしも、望ましい結果を達成するために、示されている特定の順序又は連続した順序を要求するわけではない。特定の実現例では、マルチタスク及び並列処理の方が有利である可能性もある。その他の変形例は特許請求の範囲に記載された発明の範囲内のものである。
【００９３】
これらの及び他の実現例は特許請求の範囲に記載された発明の範囲内のものである。
【図１】
0006309575.tif 000002
【図２】
0006309575.tif 000003
【図３Ａ】
0006309575.tif 000004
【図３Ｂ】
0006309575.tif 000005
【図４Ａ】
0006309575.tif 000006
【図４Ｂ】
0006309575.tif 000007
【図５】
0006309575.tif 000008