(57)【要約】  本明細書では、エージェントレスなフォローミーサービスを提供するための技術について一般に述べる。例示的なウェブブラウザは、参照テーブルへの第１のリンクをポータブルトークンから受け取るように構成されてよい。ウェブブラウザは、進行中のウェブアプリケーションへの第２のリンクを参照テーブルから取り出すように構成されてよい。第２のリンクは、進行中のウェブアプリケーションの第１の状態を反映してよい。ウェブブラウザは、第２のリンクに対応する進行中のウェブアプリケーションを開くように構成されてよい。ユーザが進行中のウェブアプリケーションと対話するのに伴って、進行中のウェブアプリケーションは、第１の状態から第２の状態に遷移するように構成されてよい。ウェブブラウザは、進行中のウェブアプリケーションの第２の状態を反映するように、参照テーブル中の第２のリンクを更新するように構成されてよい。
2013520745.tif 000002
【特許請求の範囲】
【請求項１】
フォローミーサービスを提供する方法であって、
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることであって、前記参照テーブルが、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含むものであること、
前記コンピューティングデバイスを通して前記第１のリンクを介して前記参照テーブルから前記第２のリンクを取り出すこと、
前記コンピューティングデバイス上で実行されるように構成されたウェブブラウザ上で、前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くこと、および、
前記進行中のウェブアプリケーションを前記ウェブブラウザ上で開くと、前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することを含む方法。
【請求項２】
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることが、前記コンピューティングデバイスを通してポータブルトークンから前記参照への前記第１のリンクを受け取ることを含む、請求項１に記載の方法。
【請求項３】
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることが、前記ポータブルトークンが前記コンピューティングデバイスの近傍内にあるときに前記コンピューティングデバイスにおいて前記参照テーブルへの前記第１のリンクを受け取ることを含む、請求項２に記載の方法。
【請求項４】
前記コンピューティングデバイスを通して、前記ポータブルトークンが前記コンピューティングデバイスの前記近傍外にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピューティングデバイスの前記近傍外にあることを示す前記指示を受け取ると、前記コンピューティングデバイスを通して、前記参照テーブルが前記進行中のウェブアプリケーションの現在状態を反映しているかどうか判定すること、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していないと判定すると、前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、および、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していると判定すると、または、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すると、前記ウェブブラウザ上で前記進行中のウェブアプリケーションを閉じることをさらに含む、請求項３に記載の方法。
【請求項５】
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることが、前記コンピューティングデバイスを通して前記参照テーブルへの前記第１のリンクとアクセス制御データとを受け取ることを含み、前記コンピューティングデバイスを通して前記第１のリンクを介して前記参照テーブルから前記第２のリンクを取り出すことが、
前記コンピューティングデバイスを通して前記参照テーブルへの前記第１のリンクにアクセスすること、
前記第１のリンクにアクセスすると、前記コンピューティングデバイスを通して認証要求を前記第１のリンクから受け取ること、
前記認証要求を受け取ると、前記コンピューティングデバイスを通して前記アクセス制御データを前記第１のリンクに送ること、
前記コンピューティングデバイスを通して前記参照テーブルへのアクセス許可を前記第１のリンクから受け取ること、および、
前記許可を受け取ると、前記コンピューティングデバイスを通して前記参照テーブルから前記第２のリンクを取り出すことを含む、請求項１に記載の方法。
【請求項６】
前記コンピューティングデバイスを通して前記第１のリンクを介して前記参照テーブルから第２のリンクを取り出すことが、前記コンピューティングデバイスを通して、前記第２のリンクと、対応するクッキーとを前記参照テーブルから取り出すことを含み、前記メモリから前記プロセッサ上で実行されるように構成されたウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くことが、
前記コンピューティングデバイスを通して前記クッキーと前記進行中のウェブアプリケーションへのアクセス要求とを前記第２のリンクに送信すること、
前記クッキーと前記進行中のウェブアプリケーションへの前記アクセス要求とを前記第２のリンクに送信すると、前記コンピューティングデバイスを通して前記進行中のウェブアプリケーションへのアクセス許可を前記第２のリンクから受け取ること、および、
前記進行中のウェブアプリケーションへの前記アクセス許可を受け取ると、前記ウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くことを含む、請求項１に記載の方法。
【請求項７】
前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションが閉じられたことを示す指示を受け取ること、および、
前記進行中のウェブアプリケーションが閉じられたことを示す前記指示を受け取ると、前記コンピューティングデバイスを通して前記第２のリンクを前記参照テーブルから除去することをさらに含む、請求項１に記載の方法。
【請求項８】
前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することが、前記コンピューティングデバイスを通して、前記参照テーブル中の前記第２のリンクを、前記進行中のウェブアプリケーションの前記第２の状態に対応する第３のリンクで置き換えることを含む、請求項１に記載の方法。
【請求項９】
前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することが、前記コンピューティングデバイスを通して、事前定義済みの時間間隔で、前記進行中のウェブアプリケーションの前記第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することを含む、請求項１に記載の方法。
【請求項１０】
前記ウェブアプリケーションがステートレスなクラウドベースのウェブアプリケーションを含む、請求項１に記載の方法。
【請求項１１】
コンピュータ実行可能命令が記憶されたコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が、コンピュータによって実行されたとき、
前記コンピュータを通して、ポータブルトークンが前記コンピュータの近傍内にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピューティングデバイスの前記近傍内にあることを示す前記指示が受け取られたとき、前記コンピュータを通して参照テーブルへの第１のリンクを前記ポータブルトークンから受け取ることであって、前記参照テーブルが、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含むものであること、
前記コンピュータを通して前記第１のリンクを介して前記参照テーブルから前記第２のリンクを取り出すこと、
前記コンピュータによって実行されるウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くこと、
前記進行中のウェブアプリケーションが開かれたとき、前記コンピュータを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、
前記コンピュータを通して、前記ポータブルトークンが前記コンピュータの前記近傍外にあることを示す指示を受け取ること、および、
前記ポータブルトークンが前記コンピュータの前記近傍外にあることを示す前記指示が受け取られたとき、前記ウェブブラウザ上で前記進行中のウェブアプリケーションを閉じること、を前記コンピュータに行わせる、コンピュータ可読記憶媒体。
【請求項１２】
前記ポータブルトークンがプラグ接続可能デバイスであり、前記ポータブルトークンが、前記コンピューティングデバイスにプラグ接続されたときに前記ポータブルトークンが前記コンピューティングデバイスの前記近傍内にある、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記ポータブルトークンが前記コンピューティングデバイスから抜かれたときに前記ポータブルトークンが前記コンピューティングデバイスの前記近傍外にある、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記ポータブルトークンがワイヤレスデバイスを含み、前記ポータブルトークンがワイヤレスプロトコルに従った前記コンピューティングデバイスの範囲内にあるときに前記ポータブルトークンが前記コンピューティングデバイスの前記近傍内にある、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記ポータブルトークンが前記ワイヤレスプロトコルに従った前記ワイヤレスデバイスの前記範囲外にあるときに前記ポータブルトークンが前記コンピューティングデバイスの前記近傍外にある、請求項１４に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記ポータブルトークンが無線周波数識別タグを含み、前記ポータブルトークンが、前記コンピューティングデバイスに結合された無線周波数識別リーダの範囲内に置かれたときに、前記ポータブルトークンが前記コンピューティングデバイスの前記近傍内にあり、前記範囲で前記無線周波数識別リーダと前記ポータブルトークンとの間の通信が可能である、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記ポータブルトークンが、前記コンピューティングデバイスに結合された前記無線周波数識別受信機の前記範囲内に再び置かれたときに、前記ポータブルトークンが前記コンピューティングデバイスの前記近傍外にある、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記第１のリンクおよび前記第２のリンクがユニフォームリソースロケータを含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１９】
フォローミーサービスを提供するためのコンピュータシステムであって、
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリから前記プロセッサで実行されるウェブブラウザと、
前記ウェブブラウザに結合されたウェブブラウザプラグインとを備え、前記ウェブブラウザプラグインが、前記メモリから前記プロセッサで実行されるように適合され、前記プロセッサによって実行されたとき、
ポータブルトークンが前記コンピュータシステムの近傍内にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピュータシステムの前記近傍内にあることを示す前記指示を受け取ると、参照テーブルへの第１のリンクを受け取ることであって、前記参照テーブルが、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含むものであること、
前記第１のリンクを介して前記参照テーブルから前記第２のリンクおよび対応するクッキーを取り出すこと、
前記クッキーと前記進行中のウェブアプリケーションへのアクセス要求とを前記第２のリンクに送信すること、
前記クッキーと前記進行中のウェブアプリケーションへの前記アクセス要求とを前記第２のリンクに送信すると、前記第２のリンクから前記進行中のウェブアプリケーションへのアクセス許可を受け取ること、
前記進行中のウェブアプリケーションへの前記アクセス許可を受け取ると、前記ウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くこと、
前記進行中のウェブアプリケーションを開くと、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、
前記ポータブルトークンが前記コンピュータシステムの前記近傍外にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピュータシステムの前記近傍外にあることを示す前記指示を受け取ると、前記参照テーブルが前記進行中のウェブアプリケーションの現在状態を反映しているかどうか判定すること、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していないと判定すると、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、ならびに、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していると判定すると、または、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すると、前記ウェブブラウザ上で前記進行中のウェブアプリケーションを閉じること、によって前記コンピュータシステムに前記フォローミーサービスを提供させる、コンピュータシステム。
【請求項２０】
前記進行中のウェブアプリケーションに関する状態情報が前記第２のリンク中にエンコードされる、請求項１９に記載のコンピュータシステム。
【請求項２１】
前記参照テーブルが前記第２のリンクを拡張可能マークアップ言語で記憶する、請求項１９に記載のコンピュータシステム。
【請求項２２】
前記参照テーブルがユーザ特有である、請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書に別段の指示がない限り、このセクションに記載の題材は、本出願における特許請求の範囲に対する従来技術ではなく、また、このセクションに含めることによって従来技術と認められるものではない。
【０００２】
フォローミー（ｆｏｌｌｏｗ−ｍｅ）サービスは、ユーザがさまざまなコンピューティング環境における複数のコンピューティングデバイス間で移動しているときでも、進行中のセッションを維持することができる。フォローミーサービスはエージェントを介して実施することができるが、エージェントは、進行中のセッションに関係するデータをコンピューティングデバイス間で交換するのを容易にするプログラムである。たとえば、ユーザが、第１のコンピューティングデバイス上でアプリケーションを実行し、それにより第１のコンピューティングデバイス上でセッションを開始する場合がある。アプリケーションが第１のコンピューティングデバイス上でまだ開いている間に、ユーザは、第１のコンピューティングデバイスの近傍から、第２のコンピューティングデバイスの近傍に移動することがある。この場合にエージェントは、進行中のセッションを第１のコンピューティングデバイスから第２のコンピューティングデバイスに移行することができる。このようにして、ユーザは、アプリケーションを依然として第１のコンピューティングデバイス上で実行しているかのように、第２のコンピューティングデバイス上でアプリケーションと対話し続けることができる。
【０００３】
進行中のセッションの移行を容易にするために、ユーザは、第１と第２の両方のコンピューティングデバイス上で、エージェントを事前インストールして事前構成することができる。移行に先立ってエージェントをインストールして構成するプロセスは、面倒で時間がかかる可能性がある。さらに、このプロセスは一般に、ユーザが使用していることになるコンピューティングデバイスに関する予備知識をユーザが持っていることを前提とする。
【発明の概要】
【０００４】
本開示では一般に、フォローミーサービスを提供するためのコンピュータ実施方法について述べる。いくつかの例示的な方法によれば、プロセッサとメモリとを有するコンピューティングデバイスを、以下の動作の１つまたは複数を実施するように構成することができる。コンピューティングデバイスは、参照テーブルへの第１のリンクを受け取るように構成される。第１のリンクは、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含んでよい。コンピューティングデバイスは、第１のリンクを介して参照テーブルから第２のリンクを取り出すように構成される。コンピューティングデバイスは、コンピューティングデバイス上で実行されるように構成されたウェブブラウザ上で、第２のリンクに対応する進行中のウェブアプリケーションを開くように構成される。進行中のウェブアプリケーションをウェブブラウザ上で開くと、コンピューティングデバイスは、進行中のウェブアプリケーションの第２の状態を反映するように、参照テーブル中の第２のリンクを更新するように構成される。
【０００５】
本開示では一般に、いくつかのコンピュータ記憶媒体について述べる。いくつかの例示的なコンピュータ記憶媒体には、コンピュータによって実行されたときにフォローミーサービスを提供するようにコンピュータを適合させる方法のためのコンピュータ実行可能命令が記憶されてよい。いくつかの例示的な方法によれば、コンピュータは、以下の動作の１つまたは複数を実施するように構成されてよい。コンピュータは、ポータブルトークンがコンピュータの近傍内にあることを示す指示（indication）を受け取るように構成される。ポータブルトークンがコンピューティングデバイスの近傍内にあることを示す指示を受け取ったとき、コンピュータは、参照テーブルへの第１のリンクをポータブルトークンから受け取るように構成される。参照テーブルは、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含んでよい。コンピュータは、第１のリンクを介して参照テーブルから第２のリンクを取り出すように構成される。コンピュータは、コンピュータによって実行されるウェブブラウザ上で、第２のリンクに対応する進行中のウェブアプリケーションを開くように構成される。進行中のウェブアプリケーションが開かれたとき、コンピュータは、進行中のウェブアプリケーションの第２の状態を反映するように、参照テーブル中の第２のリンクを更新するように構成される。コンピュータは、ポータブルトークンがコンピュータの近傍外にあることを示す指示を受け取るように構成される。ポータブルトークンがコンピュータの近傍外にあることを示す指示が受け取られたとき、コンピュータは、ウェブブラウザ上で、進行中のウェブアプリケーションを閉じるように構成される。
【０００６】
本開示では一般に、フォローミーサービスを提供するように構成された、いくつかのコンピュータシステムについて述べる。いくつかの例示的なコンピュータシステムは、プロセッサと、プロセッサに結合されたメモリと、メモリからプロセッサで実行されるウェブブラウザとを備えるように構成されてよい。いくつかの例示的なコンピュータシステムはさらに、ウェブブラウザに結合されたウェブブラウザプラグインを備えるように構成されてよい。いくつかの例示的なウェブブラウザプラグインは、メモリからプロセッサで実行されるように適合されてよく、プロセッサによって実行されたとき、コンピュータシステムに、以下の動作の１つまたは複数を実施することによってフォローミーサービスを提供させるように適合されてよい。コンピュータシステムは、ポータブルトークンがコンピュータシステムの近傍内にあることを示す指示を受け取るように構成される。ポータブルトークンがコンピュータシステムの近傍内にあることを示す指示を受け取ると、コンピュータシステムは、参照テーブルへの第１のリンクを受け取るように構成される。参照テーブルは、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含んでよい。コンピュータシステムは、第１のリンクを介して参照テーブルから第２のリンクおよび対応するクッキーを取り出すように構成される。コンピュータシステムは、クッキーと、進行中のウェブアプリケーションへのアクセス要求とを、第２のリンクに送信するように構成される。クッキーと、進行中のウェブアプリケーションへのアクセス要求とを第２のリンクに送信すると、コンピュータシステムは、第２のリンクから、進行中のウェブアプリケーションへのアクセス許可を受け取るように構成される。進行中のウェブアプリケーションへのアクセス許可を受け取ると、コンピュータシステムは、ウェブブラウザ上で、第２のリンクに対応する進行中のウェブアプリケーションを更新するように構成される。進行中のウェブアプリケーションを開くと、コンピュータシステムは、進行中のウェブアプリケーションの第２の状態を反映するように、参照テーブル中の第２のリンクを更新するように構成される。コンピュータシステムは、ポータブルトークンがコンピュータシステムの近傍外にあることを示す指示を受け取るように構成される。ポータブルトークンがコンピュータシステムの近傍外にあることを示す指示を受け取ると、コンピュータシステムは、参照テーブルが進行中のウェブアプリケーションの現在状態を反映しているかどうか判定するように構成される。参照テーブルが進行中のウェブアプリケーションの現在状態を反映していないと判定すると、コンピュータシステムは、進行中のウェブアプリケーションの現在状態を反映するように、参照テーブル中の第２のリンクを更新するように構成される。参照テーブルが進行中のウェブアプリケーションの現在状態を反映していると判定すると、または、進行中のウェブアプリケーションの現在状態を反映するように参照テーブル中の第２のリンクを更新すると、コンピュータシステムは、ウェブブラウザ上で、進行中のウェブアプリケーションを閉じるように構成される。
【０００７】
以上の概要は例示に過ぎず、決して限定とはしない。前述の例示的な態様、実施形態、および特徴に加えて、図面および後続の詳細な記述を参照することによってさらに他の態様、実施形態、および特徴も明らかになるであろう。
【０００８】
本開示に関する前述および他の特徴は、後続の記述および添付の特許請求の範囲を添付の図面と共に読めば、より完全に明らかになるであろう。これらの図面が、本開示によるいくつかの実施形態のみを描いたものであり、したがって本開示の範囲を限定するものとは見なされないとの理解の下に、添付の図面を使用して本開示をさらに具体的かつ詳細に述べる。
【図面の簡単な説明】
【０００９】
【図１】提示する少なくともいくつかの実施形態により構成された、エージェントレスなフォローミーサービスのための例示的な動作環境を示す機能ブロック図である。
【図２】提示する少なくともいくつかの実施形態により構成された、例示的な参照テーブルを示すブロック図である。
【図３Ａ】提示する少なくともいくつかの実施形態により構成された、エージェントレスなフォローミーサービスを実施するための例示的なプロセスを示す流れ図である。
【図３Ｂ】提示する少なくともいくつかの実施形態により構成された、エージェントレスなフォローミーサービスを実施するための例示的なプロセスを示す流れ図である。
【図４】提示する少なくともいくつかの実施形態により構成された、例示的なコンピューティングシステムを示すブロック図である。
【図５】提示する少なくともいくつかの実施形態により構成された、コンピューティングプログラム製品を示す概略図である。
【発明を実施するための形態】
【００１０】
以下の詳細な記述では、本明細書の一部をなす添付の図面を参照する。図面では、コンテキストが別段に定めない限り、同様の記号は通常、同様のコンポーネントを識別する。詳細な記述、図面、および特許請求の範囲において述べる例示的な実施形態は、限定を意味するものではない。本明細書に提示する主題の趣旨または範囲を逸脱することなく、他の実施形態を利用してもよく、他の変更を加えてもよい。本明細書に一般に述べ、図に示す本開示の態様を、さまざまな異なる構成で、配置、置換、結合、分離、および設計することができ、これらが全て本明細書で明示的に企図されることは、容易に理解されるであろう。
【００１１】
本開示は一般に、クラウドベースのアプリケーションのために提供されるエージェントレスなフォローミーサービスをとりわけ対象とする。例示的な一実装形態では、ユーザは、クラウドベースのユーザ特有の参照テーブルへのリンク（ユニフォームリソースロケータ（ＵＲＬ）など）を含むポータブルトークンを携帯することができる。ユーザが第１のコンピューティングデバイスの近傍に入ったとき、第１のコンピューティングデバイスは、ポータブルトークンとの論理的接続を確立するように構成されてよい。次いでユーザは、第１のコンピューティングデバイス上で動作する第１のウェブブラウザを通して、１つまたは複数のステートレスなクラウドベースのウェブアプリケーションを開くことができる。ユーザがウェブアプリケーションと対話するのに伴って、対応するウェブアプリケーションのリンクは、ウェブアプリケーションの現在状態を反映するように変化することができる。リンクが変化するのに伴って、第１のウェブブラウザに結合された第１のフォローミーブラウザプラグインが、これらのリンクを、ポータブルトークンによって識別されるユーザ特有の参照テーブルにアップロードして記憶することができる。
【００１２】
前述の論理的接続は、第１のコンピューティングデバイスとポータブルトークンとの間の、通信リンクまたは他の何らかのさまざまな論理的関連付けとして確立されてよい。第１のコンピューティングデバイスとポータブルトークンとの間の接続は、必ずしも物理的接続であるとは限らないが、簡単にするために、以下では通信リンクおよび／または論理的関連付けを単に「接続」と呼ぶ。
【００１３】
ユーザは、ウェブアプリケーションの少なくともいくつかがまだ開いている状態で、第１のコンピューティングデバイスの近傍を離れる場合がある。これらの開いているウェブアプリケーションを、進行中のウェブアプリケーションと呼ぶことができる。ユーザが第１のコンピューティングデバイスの近傍を離れたとき、第１のコンピューティングデバイスは、ポータブルトークンとの接続を失うことがある。第１のコンピューティングデバイスがポータブルトークンとの接続を失ったとき、第１のフォローミーブラウザプラグインは、進行中のウェブアプリケーションのリンクをユーザ特有の参照テーブルにアップロードして記憶することができ、それにより、進行中のウェブアプリケーションの現在状態をユーザ特有の参照テーブルに保存することができる。次いで、第１のフォローミーブラウザプラグインは、第１のコンピューティングデバイス上で実行されている進行中のウェブアプリケーションを閉じることができる。
【００１４】
ユーザは、第１のコンピューティングデバイスの近傍を離れると、第２のコンピューティングデバイスの近傍に入る場合がある。ユーザが第２のコンピューティングデバイスの近傍に入ったとき、第２のコンピューティングデバイスは、ポータブルトークンとの接続を確立することができる。第２のコンピューティングデバイス上で動作する第２のウェブブラウザに結合された第２のフォローミーブラウザプラグインが、ポータブルトークンによって識別されるユーザ特有の参照テーブルからリンクをダウンロードすることができる。第２のフォローミーブラウザプラグインがリンクをダウンロードしたとき、第２のウェブブラウザは、リンクに対応する進行中のウェブアプリケーションを開くことができる。ユーザ特有の参照テーブル中のリンクは進行中のウェブアプリケーションの現在状態を反映しているので、ユーザは、第２のウェブブラウザを介して、現在状態の進行中のウェブアプリケーションを開いてこれと対話することができる。このようにして、ユーザは、第１のデバイス上でウェブアプリケーションを手動で保存して閉じてから第２のデバイス上でウェブアプリケーションを手動で再度開くことなく、第１のコンピューティングデバイスから第２のコンピューティングデバイスにシームレスに移行することができる。さらに、ポータブルトークンおよびフォローミーブラウザプラグインが、エージェントの使用なしでフォローミーサービスを提供することができる。
【００１５】
ここで図１に移ると、機能ブロック図１００は、本明細書に提示する少なくともいくつかの実施形態による、エージェントレスなフォローミーサービスに関する例示的な動作環境を示す。第１のコンピューティングデバイス１０２Ａが、第１の近傍１０４Ａ内で動作することができ、第２のコンピューティングデバイス１０２Ｂが、第２の近傍１０４Ｂ内で動作することができる。例示を明確にするために、図１では、第１の近傍１０４Ａと第２の近傍１０４Ｂとが破線１０６で分離されている。第１のコンピューティングデバイス１０２Ａおよび第２のコンピューティングデバイス１０２Ｂは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネットなどのネットワーク１１０を介して、サーバコンピュータ１０８およびサーバコンピュータ１３２に結合されてよい。第１のコンピューティングデバイス１０２Ａは、第１のウェブブラウザ１１２Ａと、第１のウェブブラウザ１１２Ａに結合された第１のフォローミーブラウザプラグイン１１４Ａとを備えてよい。第２のコンピューティングデバイス１０２Ｂは、第２のウェブブラウザ１１２Ｂと、第２のウェブブラウザ１１２Ｂに結合された第２のフォローミーブラウザプラグイン１１４Ｂとを備えてよい。サーバコンピュータ１０８は、進行中のウェブアプリケーションへのリンク１１８と、リンク１１８に対応するクッキー１２０とを含む参照テーブル１１６を備えてよい。サーバコンピュータ１３２は、１つまたは複数のウェブアプリケーション１３４を備えてよい。
【００１６】
第１のコンピューティングデバイス１０２Ａと第２のコンピューティングデバイス１０２Ｂとは、同様のまたは異なるコンピューティングデバイス中で動作するように構成されてよい。たとえば、第１のコンピューティングデバイス１０２Ａと第２のコンピューティングデバイス１０２Ｂとは、異なる動作システムの下で動作してよい。同様に、第１のウェブブラウザ１１２Ａと第２のウェブブラウザ１１２Ｂとは、同様のまたは異なるウェブブラウザとすることができる。さらに、第１のフォローミーブラウザプラグイン１１４Ａと第２のフォローミーブラウザプラグイン１１４Ｂとは、第１のウェブブラウザ１１２Ａと第２のウェブブラウザ１１２Ｂに応じて、異なるものとすることができる。コンピューティングデバイス１０２Ａ、１０２Ｂは、ウェブブラウザ１１２Ａ、１１２Ｂを介してウェブアプリケーション１３４にアクセスするように適合された、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話機、および他の適切なデバイスを含めた（ただしこれらに限定されない）、任意の適切なコンピューティングデバイスとすることができる。
【００１７】
第１のウェブブラウザ１１２Ａおよび第２のウェブブラウザ１１２Ｂは、ウェブアプリケーション１３４など、ステートレスなクラウドベースのウェブアプリケーションを開くように適合されてよい。クラウドベースのウェブアプリケーション中では、サーバコンピュータ１３２などのサーバコンピュータが、ウェブアプリケーションをホストするように構成されてよい。次いで、クライアントコンピュータ上で動作するウェブブラウザ１１２Ａ、１１２Ｂなどのウェブブラウザが、リンク１１８などの対応するリンクを介して、サーバコンピュータ上でホストされるウェブアプリケーションを開くことができる。サーバコンピュータがウェブアプリケーションをホストするが、サーバコンピュータからクライアントコンピュータに提供されるウェブコードのいくらかは、クライアントコンピュータ上で記憶できる状態情報を含むことがある。しかし、ステートレスなクラウドベースのウェブアプリケーションでは、状態情報をリンク内でエンコードすることができ、この結果また、リンクは相対的により長くなる場合がある。たとえば、状態情報は、リンク末尾で「？」などの文字の後に含まれる１６進文字列としてエンコードすることができる。
【００１８】
ユーザ１２２は、ポータブルトークン１２４を所持することができ、ポータブルトークン１２４は、参照テーブル１１６へのリンク１２６を記憶するように適合された物理的アイテムとすることができる。参照テーブル１１６は、ユーザ１２２に特有とすることができる。いくつかの実施形態では、ポータブルトークン１２４はまた、参照テーブル１１６にアクセスするためのアクセス制御データ１２８を記憶するように構成されてもよい。ポータブルトークン１２４のいくつかの例としては、ユーザ１２２が移動しているときでもユーザ１２２に所持されたままとすることのできる、フラッシュドライブ、携帯電話機、キーフォブ、ハードコードされた無線周波数識別（ＲＦＩＤ）タグ、および他の適切なデバイスを挙げることができる。ポータブルトークン１２４を所持するユーザ１２２が第１の近傍１０４Ａに入ったとき、ポータブルトークン１２４は、ユニバーサルシリアルバス（ＵＳＢ）、ＷＩ−ＦＩ、ＢＬＵＥＴＯＯＴＨ、無線周波数（ＲＦ）、または他の適切な通信プロトコルを介して、第１のコンピューティングデバイス１０２Ａへの接続を確立することができる。ＵＳＢおよび他のプラグ接続可能プロトコルの場合、第１の近傍１０４Ａは、ユーザ１２２がポータブルトークン１２４を第１のコンピューティングデバイス１０２Ａにプラグ接続する行為を指すことができる。ＷＩ−ＦＩ、ＢＬＵＥＴＯＯＴＨ、ＲＦ、ＩＲ、および他のワイヤレスプロトコルの場合、第１の近傍１０４Ａは、ポータブルトークン１２４と第１のコンピューティングデバイス１０２Ａとが対応ワイヤレスプロトコルを介して通信できる範囲を指すことができる。ポータブルトークン１２４がＲＦＩＤタグである場合は、第１のコンピューティングデバイス１０２Ａに結合されたＲＦＩＤリーダ（図示せず）の範囲内にＲＦＩＤタグがあるときに、ＲＦＩＤリーダがＲＦＩＤタグに対して問合せおよび／または読取りを行うように構成されてよい。したがってユーザ１２２は、ＲＦＩＤタグをＲＦＩＤリーダの範囲内に置いて、ユーザ１２２が第１の近傍１０４Ａに入ったことを示すことができる。
【００１９】
いくつかの実施形態では、ポータブルトークン１２４は、ポータブルトークン１２４と第１のコンピューティングデバイス１０２Ａとの間の所与の信号強度に従ってイネーブルおよび／またはディセーブルにされるように、信号強度によってゲート制御されてよい。いくつかの他の実施形態では、ポータブルトークン１２４は、一定時間が経過した後（たとえばタイムアウト）にイネーブルおよび／またはディセーブルにされるように、時間によってゲート制御されてよい。ポータブルトークン１２４は、プロセッサおよび／またはデータ記憶デバイスを備える場合もあり、備えない場合もある。
【００２０】
説明的な一例では、ポータブルトークン１２４を所持するユーザ１２２が、第１の近傍１０４Ａに入る場合がある。第１のコンピューティングデバイス１０２Ａは、ポータブルトークン１２４との接続を（たとえばワイヤレス通信を介して）確立するように構成されてよい。第１のフォローミーブラウザプラグイン１１４Ａは、参照テーブル１１６へのリンク１２６を読み取り、リンク１２６を介して参照テーブル１１６にアクセスしようとするように適合されてよい。いくつかの実施形態では、第１のコンピューティングデバイス１０２Ａがポータブルトークン１２４への接続を確立したとき、ユーザ１２２は、第１のフォローミーブラウザプラグイン１１４Ａをインストールすることができる。一例では、ユーザ１２２は、ネットワーク１１０を介して中央ダウンロードウェブサイトから第１のフォローミーブラウザプラグイン１１４Ａをダウンロードすることができる。別の例では、第１のフォローミーブラウザプラグイン１１４Ａは、ポータブルトークン１２４に記憶されていてよく、ポータブルトークン１２４から第１のコンピューティングデバイス１０２Ａにインストールされてよい。いくつかの他の実施形態では、第１のフォローミーブラウザプラグイン１１４Ａは、第１のコンピューティングデバイス１０２Ａ上に事前インストールされていてよい。さらにいくつかの他の実施形態では、第１のフォローミーブラウザプラグイン１１４Ａは、第１のウェブブラウザ１１２Ａ上の標準機能であってよい。
【００２１】
第１のフォローミーブラウザプラグイン１１４Ａが参照テーブル１１６にアクセスしようとするとき、サーバコンピュータ１０８は、参照テーブル１１６へのアクセス許可を与えるために、ログイン識別子および／またはパスワードなどの証明を要求するように適合されてよい。いくつかの実施形態では、ユーザ１２２は、第１のコンピューティングデバイス１０２Ａに結合された適切な入力デバイスを介して、手動で証明を入力することができる。いくつかの他の実施形態では、ポータブルトークン１２４は、証明を含むアクセス制御データ１２８をサーバコンピュータ１０８に提供するように適合されてよい。この場合、セキュリティの目的で、ポータブルトークン１２４はまた、ポータブルトークン１２４がアクセス制御データ１２８を共有するかどうかをユーザ１２２が許可または制限するのを可能にするように適合された機構も備えてよい。サーバコンピュータ１０８がユーザ１２２またはポータブルトークン１２４から証明を受け取ったとき、サーバコンピュータ１０８は、証明を検証した後で参照テーブル１１６へのアクセス許可を与えるように適合されてよい。
【００２２】
いくつかの実施形態では、ポータブルトークン１２４は、参照テーブルサービスを識別するウェブアドレス、および／または、個人ログイン識別子で置き換えることができる。このようにすると、ユーザ１２２は、ポータブルトークン１２４を携帯しなくても、単にウェブアドレスおよび／または個人ログイン識別子を覚えればよい。ウェブアドレスおよび個人ログイン識別子はまた、ユーザ１２２がポータブルトークン１２４を所持していない場合に、ポータブルトークン１２４に加えて利用することができる。参照テーブルサービスは、参照テーブル１１６などユーザ特有の参照テーブルを複数のユーザに提供して、各ユーザに異なる個人ログイン識別子を割り当てることができる。したがってユーザ１２２は、参照テーブル１１６にアクセスするために、第１のウェブブラウザ１１２Ａを開き、ウェブアドレスを個人ログイン識別子と共に参照テーブルサービスに手動入力することができる。ウェブアドレスが個人ログイン識別子を含んでもよい（たとえば、ｍｙｒｅｆｅｒｅｎｃｅｔａｂｌｅ．ｃｏｍ／ｕｓｅｒ４１１０の場合、「ｕｓｅｒ４１１０」が個人ログイン識別子を指す）。
【００２３】
この説明的な例では、参照テーブル１１６は、最初は空である。したがって、第１のフォローミーブラウザプラグイン１１４Ａが参照テーブル１１６にアクセスしたとき、第１のフォローミーブラウザプラグイン１１４Ａは、参照テーブル１１６からどんなリンクも取り出さなくてよく、したがってウェブアプリケーションが自動的に開かなくてよい。ユーザ１２２が第１のウェブブラウザ１１２Ａを介してウェブアプリケーション１３４の１つまたは複数を開いたとき、ウェブアプリケーションに対応するリンク１１８が、ウェブアプリケーション１３４の現在状態を反映するように変化することができる。すなわち、ユーザ１２２がウェブアプリケーション１３４と対話するのに伴って、リンク１１８中にエンコードされる状態情報が変化することができる。たとえば、ユーザは、特定のウェブアプリケーション上で文書を編集する場合がある。ユーザが文書を編集して保存した後、ＵＲＬは、「ｈｔｔｐ：／／ｄｏｃｓ．ｅｘａｍｐｌｅ．ｃｏｍ／Ｄｏｃ？ｄｏｃｉｄ＝０１２３４ａｂｃｄｅｆｇ」から「ｈｔｔｐ：／／ｄｏｃｓ．ｅｘａｍｐｌｅ．ｃｏｍ／Ｄｏｃ？ｄｏｃｉｄ＝５６７８９ｈｉｊｋｌｍｎ」に変化してよく、ここで、変数「ｄｏｃｉｄ」は、編集中の文書、および編集中の文書の特定の状態を指す。
【００２４】
フォローミーサービスを容易にするために、第１のフォローミーブラウザプラグイン１１４Ａは、ウェブアプリケーション１３４のリンク１１８を参照テーブル１１６にアップロードして記憶し、それによりウェブアプリケーション１３４の現在状態を保存するように構成されてよい。第１のフォローミーブラウザプラグイン１１４Ａは、所与の時間間隔で、または第１のウェブブラウザ１１２Ａ上でリンク１１８が変更されたときに、リンク１１８をアップロードして記憶するように構成されてよい。いくつかの実施形態では、第１のフォローミーブラウザプラグイン１１４Ａは、リンクが変化したかどうか判定するために、現在のリンクを前のリンクと比較するように適合されてよい。いくつかの他の実施形態では、第１のウェブブラウザ１１２Ａは、リンクが変化したことを示す信号を第１のフォローミーブラウザプラグイン１１４Ａに提供するように構成されてよい。
【００２５】
いくつかのウェブアプリケーションは、アクセスを与える前に、ユーザ１２２の証明を要求し検証するように適合されてよい。ユーザ１２２が証明を入力してウェブアプリケーションにログオンした後、証明は、第１のコンピューティングデバイス１０２Ａ上の対応するクッキーに記憶されてよい。ユーザ１２２がウェブアプリケーションに再アクセスする度に、ウェブアプリケーションは、ユーザ１２２に証明を再入力させることなく、クッキーに基づいてユーザ１２２を認証するように構成されてよい。いくつかの実施形態では、第１のフォローミーブラウザプラグイン１１４Ａは、このクッキーを、第１のコンピューティングデバイス１０２Ａから参照テーブル１１６中のクッキー１２０にアップロードするように構成されてよい。後でより詳細に述べるが、ユーザ１２２が第２のコンピューティングデバイス１０２Ｂなど別のコンピューティングデバイスに移動したとき、第２のウェブブラウザ１１２Ｂは、ユーザ１２２に証明を再入力させることなく、参照テーブル１１６からクッキー１２０を取り出し、クッキー１２０を利用して、リンク１１８に対応するウェブアプリケーション１３４を開くように構成されてよい。ユーザ１２２がウェブアプリケーションを閉じたとき（たとえばウェブブラウザ１１２Ａの対応するウィンドウを閉じることによって）、第１のフォローミーブラウザプラグイン１１４Ａは、閉じられたウェブアプリケーションに対応するリンクおよびクッキーを参照テーブル１１６から削除するように適合されてよい。
【００２６】
説明的なこの例では、第１のコンピューティングデバイス１０２Ａ上でウェブアプリケーション１３４の少なくとも１つが開いたままの状態で、ユーザ１２２は第１の近傍１０４Ａを離れる場合がある。ユーザ１２２が第１の近傍１０４Ａを離れたことを第１のフォローミーブラウザプラグイン１１４Ａが検出したとき、第１のフォローミーブラウザプラグイン１１４Ａは、ウェブアプリケーション１３４のリンク１１８がウェブアプリケーション１３４の現在状態を反映していない場合に、必要に応じてリンク１１８をアップロードして保存するように構成されてよい。次いで、第１のフォローミーブラウザプラグイン１１４Ａは、他者が第１のコンピューティングデバイス１０２Ａ上でウェブアプリケーション１３４にアクセスするのを防止するために、ウェブアプリケーション１３４を閉じるように適合されてよい。
【００２７】
第１のフォローミーブラウザプラグイン１１４Ａは、一定時間に基づいて（たとえばタイムアウト）、またはユーザアクションによって、ユーザ１２２が第１の近傍１０４Ａを離れたことを検出するように構成されてよい。第１の例では、ユーザ１２２は、ユーザ１２２が第１の近傍１０４Ａを離れつつあることをフォローミーブラウザプラグイン１１４Ａに明示的に示すことができる。ポータブルトークン１２４がＲＦＩＤタグである場合は、第１のコンピューティングデバイス１０２Ａに結合されたＲＦＩＤリーダの範囲内にＲＦＩＤタグが再び置かれたときに、ＲＦＩＤリーダがＲＦＩＤタグに対して再問合せおよび／または再読取りを行うように構成されてよい。したがってユーザ１２２は、第１の場合にＲＦＩＤタグをＲＦＩＤリーダの範囲内に置いて、第１の近傍１０４Ａに入ったことを示した後、第２の場合にＲＦＩＤタグをＲＦＩＤリーダの範囲内に置いて、第１の近傍１０４Ａを離れたことを示すことができる。第２の例では、ポータブルトークン１２４が第１のコンピューティングデバイス１０２Ａにプラグ接続される場合は、第１のフォローミーブラウザプラグイン１１４Ａは、ユーザ１２２がポータブルトークン１２４を第１のコンピューティングデバイス１０２Ａから抜いたときに、ユーザ１２２が第１の近傍１０４Ａを離れたことを検出するように適合されてよい。第３の例では、ポータブルトークン１２４が第１のコンピューティングデバイス１０２Ａにワイヤレス結合する場合は、第１のフォローミーブラウザプラグイン１１４Ａは、ポータブルトークン１２４が通信範囲外に移動したために第１のコンピューティングデバイス１０２Ａがポータブルトークン１２４ともはや通信できないときに、ユーザ１２２が第１の近傍１０４Ａを離れたことを検出するように適合されてよい。
【００２８】
この説明的な例では、ユーザ１２２は、第１の近傍１０４Ａを離れると、矢印１３０で示されるように第２の近傍１０４Ｂに入る。次いで、第２のコンピューティングデバイス１０２Ｂは、ポータブルトークン１２４との接続を確立するように適合されてよい。第２のコンピューティングデバイス１０２Ｂは、必要に応じて、第２のウェブブラウザ１１２Ｂ上で第２のフォローミーブラウザプラグインをダウンロードしてインストールするように構成されてよい。第２のフォローミーブラウザプラグイン１１４Ｂはまた、必要に応じて、ユーザ１２２を認証した後、参照テーブル１１６へのリンク１２６を読み取り、リンク１２６を介して参照テーブル１１６にアクセスするように構成されてよい。
【００２９】
第２のフォローミーブラウザプラグイン１１４Ｂが参照テーブル１１６にアクセスしたとき、第２のフォローミーブラウザプラグイン１１４Ｂは、リンク１１８と、対応するクッキー１２０とを、参照テーブル１１６からダウンロードするように構成されてよい。次いで、第２のフォローミーブラウザプラグイン１１４Ｂは、第２のウェブブラウザ１１２Ｂを介して、リンク１１８に対応するウェブアプリケーション１３４を開くように適合されてよい。第２のフォローミーブラウザプラグイン１１４Ｂは、ウェブアプリケーション１３４を開いたとき、クッキー１２０を利用して既存のセッションへのアクセスを得るように構成されてよい。第２のフォローミーブラウザプラグイン１１４Ｂがリンク１１８を介してウェブアプリケーション１３４を開いたとき、第２のウェブブラウザ１１２Ｂは、ウェブアプリケーション１３４を、リンク１１８によって保存されていた現在状態（たとえばユーザ１２２が第１の近傍１０４Ａを離れたときに第１のコンピューティングデバイス１０２Ａ上で実行されていたウェブアプリケーションの状態）で提示するように構成されてよい。このようにして、ユーザ１２２は、依然として第１の近傍１０４Ａにおり第１のコンピューティングデバイス１０２Ａ上でウェブアプリケーション１３４にアクセスしているかのように、同じ状態で第２のコンピューティングデバイス１０２Ｂ上でウェブアプリケーション１３４と対話することができる。
【００３０】
ユーザがウェブアプリケーション１３４と対話するのに伴って、リンク１１８は、ウェブアプリケーション１３４の現在状態を反映するように変化することができる。リンク１１８が変化するのに伴って、第２のフォローミーブラウザプラグイン１１４Ｂは、参照テーブル１１６を更新するように適合されてよい。さらに、ユーザ１２２が第２の近傍１０４Ｂを離れたとき、第２のフォローミーブラウザプラグイン１１４Ｂは、ウェブアプリケーション１３４のリンク１１８がウェブアプリケーション１３４の現在状態を反映していない場合に、リンク１１８を参照テーブル１１６にアップロードして記憶するように構成されてよい。したがって、ユーザ１２２が別のコンピューティングデバイスの近傍に入ったとき、ユーザ１２２は、保存された状態でウェブアプリケーション１３４と対話し続けることができる。
【００３１】
次に図２に移ると、ブロック図が、本明細書に述べる少なくともいくつかの実施形態により構成された例示的な参照テーブル１１６の例を示す。参照テーブル１１６は、第１の列２０２Ａおよび第２の列２０２Ｂを含んでよい。参照テーブル１１６はさらに、行２０４Ａ〜２０４Ｎを含んでよい。第１の列２０２Ａの下のエントリ２１０Ａ〜２１０Ｎは、リンク１１８Ａ〜１１８Ｎを記憶してよい。参照テーブル１１６は、リンク１１８Ａ〜１１８Ｎを、拡張可能マークアップ言語（ＸＭＬ）または他の適切なフォーマットで記憶してよい。第２の列２０２Ｂの下のエントリ２１２Ａ〜２１２Ｎは、クッキー１２０Ａ〜１２０Ｎを記憶してよい。クッキー１２０Ａ〜１２０Ｎはそれぞれ、リンク１１８Ａ〜１１８Ｎのうちの１つに対応してよい。クッキー１２０Ａ〜１２０Ｎは、ユーザ１２２がユーザ１２２の証明を記憶するのを可能にするように適合されたログインクッキーとすることができる。ウェブブラウザ１１２Ａ、１１２Ｂは、ユーザ１２２に証明を再入力させることなく、クッキー１２０Ａ〜１２０Ｎを利用して、対応するリンク１１８Ａ〜１１８Ｎにアクセスすることができる。
【００３２】
ユーザ１２２が第１のウェブブラウザ１１２Ａ上でウェブアプリケーションを開いたとき、第１のフォローミーブラウザプラグイン１１４Ａは、行２０４Ａ〜２０４Ｎのうちの１つをこのウェブアプリケーションに割り当てることができる。たとえば、第１のフォローミーブラウザプラグイン１１４Ａは、第１の行２０４Ａをウェブアプリケーションに割り当てるように構成されてよい。ユーザ１２２がウェブアプリケーションにログオンし、第１のクッキー１２０Ａなどのクッキーが第１のコンピューティングデバイス１０２Ａ上で作成された場合、第１のフォローミーブラウザプラグイン１１４Ａは、第１のクッキー１２０Ａを、第２の列２０２Ｂの下の、割り当てられた行にアップロードして記憶するように構成されてよい。この例では、第１のフォローミーブラウザプラグイン１１４Ａは、第１のクッキー１２０Ａを、第１の行２０４Ａのエントリ２１２Ａにアップロードして記憶するように適合されてよい。ユーザ１２２がウェブアプリケーションと対話するのに伴って、第１のフォローミーブラウザプラグイン１１４Ａはまた、第１のリンク１１８Ａなど、ウェブアプリケーションのリンクを、第１の列２０２Ａの下の、割り当てられた行にアップロードして記憶するように適合されてよい。この例では、第１のフォローミーブラウザプラグイン１１４Ａは、第１のリンク１１８Ａを、第１の行２０４Ａのエントリ２１０Ａにアップロードして記憶するように適合されてよい。このようにして、参照テーブル１１６は、ウェブアプリケーションの現在状態を保存することができる。ユーザ１２２がウェブアプリケーションを閉じたとき、第１のフォローミーブラウザプラグイン１１４Ａは、エントリ２１０Ａ、２１２Ａなど、閉じられたウェブアプリケーションに対応する両方のエントリを削除するように構成されてよい。そうでない場合は、参照テーブル１１６は、ユーザ１２２が他のコンピューティングデバイスに移行するときにエントリ２１０Ａ、２１２Ａを維持するように構成されてよい。
【００３３】
次に図３Ａおよび３Ｂに移ると、例示的な流れ図が、本明細書に述べる少なくともいくつかの実施形態による、エージェントレスなフォローミーサービスを提供するためのプロセス３００Ａ〜３００Ｂを示す。プロセス３００Ａ〜３００Ｂは、ブロック３０２〜３３０のうちの１つまたは複数で示されるように、さまざまな動作、機能、またはアクションを含むことができる。プロセス３００Ａは、ブロック３０２（ポータブルトークンが近傍にあることを示す指示を受け取る）で開始することができるが、このブロックでは、第１のフォローミーブラウザプラグイン１１４Ａや第２のフォローミーブラウザプラグイン１１４Ｂなどのフォローミーブラウザプラグインが、ポータブルトークン１２４が第１のコンピューティングデバイス１０２Ａや第２のコンピューティングデバイス１０２Ｂなどのコンピューティングデバイスの近傍にあることを示す指示を受け取るように構成されてよい。ポータブルトークン１２４がプラグ接続可能デバイスである場合は、ポータブルトークン１２４は、コンピューティングデバイスにプラグ接続されたときにコンピューティングデバイスの近傍にあると判定されてよい。ポータブルトークン１２４がワイヤレスデバイスである場合は、ポータブルトークン１２４は、ワイヤレスプロトコルに従ったコンピューティングデバイスの範囲内にあるときにコンピューティングデバイスの近傍にあると判定されてよい。ポータブルトークン１２４がＲＦＩＤタグである場合は、ポータブルトークン１２４は、コンピューティングデバイスに結合されたＲＦＩＤリーダがポータブルトークン１２４に対して問合せおよび／または読取りを行うことができるようにＲＦＩＤリーダの範囲内に置かれたときに、コンピューティングデバイスの近傍にあると判定されてよい。ブロック３０２の後に、ブロック３０４が続くことができる。
【００３４】
ブロック３０４（参照テーブルへのリンクおよびアクセス制御データを受け取る）で、フォローミーブラウザプラグインは、参照テーブル１１６へのリンク１２６およびアクセス制御データ１２８を受け取るように構成されてよい。アクセス制御データ１２８は、参照テーブル１１６にアクセスするための証明を含んでよい。ブロック３０４の後に、ブロック３０６が続くことができる。
【００３５】
ブロック３０６（参照テーブルにアクセスする）で、フォローミーブラウザプラグインは、リンク１２６を介して参照テーブル１１６にアクセスするように構成されてよい。参照テーブル１１６は、クラウドベースとすることができ、サーバコンピュータ１０８など、ネットワーク１１０を介してアクセス可能な集中型サーバコンピュータに記憶されてよい。ブロック３０６の後に、ブロック３０８が続くことができる。
【００３６】
ブロック３０８（認証要求を受け取る）で、フォローミーブラウザプラグインは、リンク１２６に対応するサーバコンピュータ１０８から認証要求を受け取るように構成されてよい。認証要求は、参照テーブル１１６へのアクセス許可を与えるために、証明を要求することができる。ブロック３０８の後に、ブロック３１０が続くことができる。
【００３７】
ブロック３１０（アクセス制御データを送る）で、フォローミーブラウザプラグインは、認証要求に応答して、アクセス制御データ１２８をサーバコンピュータ１０８に送るように構成されてよい。ブロック３１０の後に、ブロック３１２が続くことができる。
【００３８】
ブロック３１２（許可を受け取る）で、フォローミーブラウザプラグインは、参照テーブル１１６へのアクセス許可をサーバコンピュータ１０８から受け取るように構成されてよい。サーバコンピュータ１０８は、アクセス制御データ１２８を検証した後で、参照テーブル１１６へのアクセス許可をフォローミーブラウザプラグインに送ることができる。ブロック３１２の後に、ブロック３１４が続くことができる。
【００３９】
ブロック３１４（ウェブアプリケーションへのリンクを取り出す）で、フォローミーブラウザプラグインは、ウェブアプリケーション１３４など進行中のウェブアプリケーションへの、リンク１１８などのリンクを、参照テーブル１１６から取り出すように構成されてよい。フォローミーブラウザプラグインはまた、クッキー１２０など、進行中のウェブアプリケーションへのリンクに対応するクッキーを、参照テーブル１１６から取り出すことができる。進行中のウェブアプリケーションは、ステートレスなクラウドベースのアプリケーションとすることができる。プロセス３００Ａ中のブロック３１４の後に、プロセス３００Ｂ中のブロック３１６が続くことができる。
【００４０】
ブロック３１６（クッキーとウェブアプリケーションへのアクセス要求とを送信する）で、フォローミーブラウザプラグインは、クッキーと、進行中のウェブアプリケーションへのアクセス要求とを、進行中のウェブアプリケーションへのリンクに対応するサーバコンピュータ１３２に送信するように構成されてよい。ブロック３１６の後に、ブロック３１８が続くことができる。
【００４１】
ブロック３１８（ウェブアプリケーションへのアクセス許可を受け取る）で、フォローミーブラウザプラグインは、進行中のウェブアプリケーションへのアクセス許可をサーバコンピュータ１３２から受け取るように構成されてよい。サーバコンピュータ１３２は、クッキーを検証した後で、進行中のウェブアプリケーションへのアクセス許可をフォローミーブラウザプラグインおよび／またはウェブブラウザに送ることができる。ブロック３１８の後に、ブロック３２０が続くことができる。
【００４２】
ブロック３２０（ウェブアプリケーションを開く）で、フォローミーブラウザプラグインは、進行中のウェブアプリケーションへのリンクに対応するウェブアプリケーションを開くように構成されてよい。特に、フォローミーブラウザプラグインは、第１のウェブブラウザ１１２Ａや第２のウェブブラウザ１１２Ｂなどのウェブブラウザを介して、ウェブアプリケーションを開くように構成されてよい。ブロック３２０の後に、ブロック３２２が続くことができる。
【００４３】
ブロック３２２（参照テーブルを更新する）で、フォローミーブラウザプラグインは、進行中のウェブアプリケーションの現在状態に変化があればそれを反映するように、参照テーブル１１６を更新するように構成されてよい。進行中のウェブアプリケーションの現在状態は、ユーザ１２２が進行中のウェブアプリケーションと対話するのに伴って変化することがある。特に、フォローミーブラウザプラグインは、参照テーブル１１６に記憶された、進行中のウェブアプリケーションへのリンクを更新するように構成されてよい。すなわち、進行中のウェブアプリケーションの前の状態を反映する前リンクを、進行中のウェブアプリケーションの現在状態を反映する現リンクで置き換え、それにより参照テーブル１１６を変容させることができる。フォローミーブラウザプラグインは、進行中のウェブアプリケーションの状態が変化したときに参照テーブル１１６を更新するように構成されてよい。フォローミーブラウザプラグインはまた、事前定義済みの時間間隔で参照テーブル１１６を更新するように構成されてもよい。ブロック３２２の後に、ブロック３２４が続くことができる。
【００４４】
ブロック３２４（ポータブルトークンが近傍外にあることを示す指示を受け取る）で、フォローミーブラウザプラグインは、ポータブルトークン１２４がコンピューティングデバイスの近傍外にあることを示す指示を受け取るように構成されてよい。ポータブルトークン１２４がプラグ接続可能デバイスである場合は、ポータブルトークン１２４は、コンピューティングデバイスから抜かれたときにコンピューティングデバイスの近傍外にあると判定されてよい。ポータブルトークン１２４がワイヤレスデバイスである場合は、ポータブルトークン１２４は、ワイヤレスプロトコルに従ったコンピューティングデバイスの範囲外にあるときにコンピューティングデバイスの近傍外にあると判定されてよい。ポータブルトークン１２４がＲＦＩＤタグである場合は、ポータブルトークン１２４は、コンピューティングデバイスに結合されたＲＦＩＤリーダがポータブルトークン１２４に対して再問合せおよび／または再読取りを行うことができるように再びＲＦＩＤリーダの範囲内に置かれたときに、コンピューティングデバイスの近傍外にあると判定されてよい。ブロック３２４の後に、ブロック３２６が続くことができる。
【００４５】
ブロック３２６（参照テーブルが現在状態を反映しているかどうか判定する）で、フォローミーブラウザプラグインは、参照テーブル１１６が進行中のウェブアプリケーションの現在状態を反映しているかどうか判定するように構成されてよい。たとえば、進行中のウェブアプリケーションの状態は、ブロック３２２で参照テーブル１１６が最後に更新される前に変化した場合がある。参照テーブル１１６が進行中のウェブアプリケーションの現在状態を反映していないとフォローミーブラウザプラグインが判定した場合は、ブロック３２６の後にブロック３２８が続くことができる。参照テーブル１１６が進行中のウェブアプリケーションの現在状態を反映しているとフォローミーブラウザプラグインが判定した場合は、ブロック３２６の後にブロック３３０が続くことができる。
【００４６】
ブロック３２８（現在状態を反映するように参照テーブルを更新する）で、フォローミーブラウザプラグインは、進行中のウェブアプリケーションの現在状態を反映するように、参照テーブル１１６を更新するように構成されてよい。ブロック３２８の後に、ブロック３３０が続くことができる。
【００４７】
ブロック３３０（ウェブアプリケーションを閉じる）で、フォローミーブラウザプラグインは、コンピューティングデバイス上で実行されているウェブアプリケーションを閉じるように構成されてよい。フォローミーブラウザプラグインは、ユーザ１２２がコンピューティングデバイスの近傍外にいるので、かつ、進行中のウェブアプリケーションの現在状態が参照テーブル１１６に保存されたので、進行中のウェブアプリケーションを閉じることができる。ユーザ１２２は、他のコンピューティングデバイスに移行して、これら他のコンピューティングデバイス上で進行中のウェブアプリケーションと対話することができる。ブロック３３０の後、プロセス３００Ａ〜３００Ｂは、繰り返してもよく（たとえば周期的に、継続的に、もしくは必要に応じてオンデマンドで）、または終了してもよい。
【００４８】
図４は、本明細書に提示する少なくともいくつかの実施形態を実施することのできる例示的なコンピューティングシステムに関する例示的なコンピュータハードウェアアーキテクチャを示すコンピュータアーキテクチャ図である。図４はコンピュータ４００を含み、コンピュータ４００は、プロセッサ４１０と、メモリ４２０と、１つまたは複数のドライブ４３０とを備える。コンピュータ４００は、従来型コンピュータシステム、組込み制御コンピュータ、ラップトップもしくはサーバコンピュータ、モバイルデバイス、セットトップボックス、キオスク、車両情報システム、携帯電話機、カスタマイズマシン、または他のハードウェアプラットフォームとして実現することができる。
【００４９】
ドライブ４３０およびそれらに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶域をコンピュータ４００に提供する。ドライブ４３０は、オペレーティングシステム４４０、アプリケーションプログラム４５０、プログラムモジュール４６０、およびデータベース４８０を含んでよい。プログラムモジュール４６０は、ウェブブラウザ１１２を含んでよい。ウェブブラウザ１１２は、第１のフォローミーブラウザプラグイン１１４Ａや第２のフォローミーブラウザプラグイン１１４Ｂなどのフォローミーブラウザプラグイン１１４に結合されてよい。ウェブブラウザ１１２は、フォローミーブラウザプラグインを介して、図３Ａ〜３Ｂに関してより詳細に上述したようなエージェントレスなフォローミーサービスを提供するためのプロセス３００Ａ〜３００Ｂを実行するように適合されてよい。コンピュータ４００はさらにユーザ入力デバイス４９０を備え、ユーザは、ユーザ入力デバイス４９０を介してコマンドおよびデータを入力することができる。入力デバイスは、電子ディジタイザ、マイクロホン、キーボード、および、マウスやトラックボールやタッチパッドと一般に呼ばれるポインティングデバイスを含んでよい。他の入力デバイスは、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含んでよい。いくつかの実施形態では、入力デバイス４９０は、トークンリーダ４０５を含んでもよい。トークンリーダ４０５は、適切な有線またはワイヤレスインタフェースを介してポータブルトークン１２４を読み取るように適合されてよい。
【００５０】
これらおよび他の入力デバイスは、システムバスに結合されたユーザ入力インタフェースを通してプロセッサ４１０に結合することができるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など、他のインタフェースおよびバス構造によって結合してもよい。コンピュータ４００などのコンピュータはまた、スピーカなど他の周辺出力デバイスを備えてもよく、これらは出力周辺インタフェース４９４などを通して結合してよい。
【００５１】
コンピュータ４００は、ネットワークインタフェース４９６に結合されたリモートコンピュータなど、１つまたは複数のコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであってよく、コンピュータ４００に関して上述した要素の多くまたは全てを備えることができる。ネットワーキング環境は、オフィス、企業ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イントラネット、およびインターネットにおいてよく見られる。
【００５２】
ＬＡＮまたはＷＬＡＮネットワーキング環境で使用されるときは、コンピュータ４００は、ネットワークインタフェース４９６またはアダプタを通してＬＡＮに結合されてよい。ＷＡＮネットワーキング環境で使用されるときは、コンピュータ４００は通常、インターネットやネットワーク４０８などのＷＡＮを介して通信を確立するためのモデムまたは他の手段を備える。ＷＡＮは、インターネット、図示のネットワーク４０８、さまざまな他のネットワーク、またはこれらの任意の組合せを含むことができる。コンピュータ間で通信リンク、リング、メッシュ、バス、クラウド、またはネットワークを確立する他の機構を使用してもよいことは、理解されるであろう。
【００５３】
いくつかの実施形態によれば、コンピュータ４００は、ネットワーキング環境に結合されてよい。コンピュータ４００は、ドライブ４３０または他の記憶デバイスに関連する１つまたは複数の物理的なコンピュータ可読記憶媒体の、１つまたは複数のインスタンスを備えることができる。システムバスは、プロセッサ４１０がコードおよび／またはデータをコンピュータ可読記憶媒体との間で読み取れるようにすることができる。媒体は、半導体、磁気材料、光学媒体、電気記憶装置、電気化学記憶装置、または他の任意のこのような記憶技術を含めた（ただしこれらに限定されない）任意の適切な技術を使用して実現された記憶要素の形で装置を表すことができる。媒体は、ＲＡＭ、ＲＯＭ、フラッシュ、または他のタイプの揮発性もしくは不揮発性メモリ技術のいずれとして特徴付けられようと、メモリ４２０に関連するコンポーネントを表すことができる。媒体はまた、記憶ドライブ４３０として実現されようと他の方法で実現されようと、２次記憶装置を表すこともできる。ハードドライブ実装形態は、固体として特徴付けることができ、または、磁気的にエンコードされる情報を記憶する回転媒体を含むことができる。
【００５４】
記憶媒体は、１つまたは複数のプログラムモジュール４６０を備えてよい。プログラムモジュール４６０は、プロセッサ４１０にロードされて実行されたときに汎用コンピューティングシステムを専用コンピューティングシステムに変容させるソフトウェア命令を備えてよい。本記述全体を通して詳述したように、プログラムモジュール４６０は、本明細書で論じたコンポーネント、論理フロー、および／またはデータ構造を使用してコンピュータ４００がシステム全体または動作環境全体に参与できるための、さまざまなツールまたは技法を提供することができる。
【００５５】
プロセッサ４１０は、任意の数のトランジスタまたは他の回路要素から構築されてよく、これらの回路要素は、個別にまたは一括して、任意の数の状態をとることができる。より具体的には、プロセッサ４１０は、状態機械または有限状態機械として動作することができる。このような機械は、プログラムモジュール４６０内に含まれる実行可能命令をロードすることによって、第２の機械または特定の機械に変容させることができる。これらのコンピュータ実行可能命令は、プロセッサ４１０がどのように状態間で遷移するかを指定して、それにより、プロセッサ４１０を構成するトランジスタまたは他の回路要素を第１の機械から第２の機械に変容させることによって、プロセッサ４１０を変容させることができる。いずれかの機械の状態はまた、１つもしくは複数のユーザ入力デバイス４９０、ネットワークインタフェース４９６、他の周辺装置、他のインタフェース、または、１つもしくは複数のユーザもしくは他の動作主から、入力を受け取ることによっても変容させることができる。いずれかの機械はまた、プリンタ、スピーカ、ビデオ表示装置、または他の形など、さまざまな出力デバイスの、状態またはさまざまな物理的特性を変容させることもできる。
【００５６】
プログラムモジュール４６０をエンコードすることによってもまた、記憶媒体の物理的構造を変容させることができる。物理的構造の具体的な変容は、本記述の種々の実装形態においてさまざまな要因によって決まる場合がある。このような要因の例としては、記憶媒体を実現するのに使用される技術、記憶媒体が１次記憶装置として特徴付けられるか２次記憶装置として特徴付けられるか、などを挙げることができるが、これらに限定されない。たとえば、記憶媒体が半導体ベースのメモリとして実現される場合、プログラムモジュール４６０は、ソフトウェアが半導体メモリ４２０中にエンコードされたとき、半導体メモリ４２０の物理的状態を変容させることができる。たとえば、ソフトウェアは、半導体メモリ４２０を構成するトランジスタ、コンデンサ、または他の個別回路要素を変容させることができる。
【００５７】
別の例として、記憶媒体は、ドライブ４３０など、磁気または光学技術を使用して実現することもできる。このような実装形態では、プログラムモジュール４６０は、ソフトウェアが磁気または光学媒体中にエンコードされたとき、磁気または光学媒体の物理的状態を変容させることができる。これらの変容は、所与の磁気媒体内の特定場所の磁気特性を改変することを含むことがある。これらの変容はまた、所与の光学媒体内の特定場所の物理的特徴または特性を改変して、これらの場所の光学特性を変更することを含むことがある。本記述の範囲および趣旨を逸脱することなく、物理的媒体のさまざまな他の変容が可能であることを理解されたい。
【００５８】
次に図５に移ると、概略図が、本明細書に提示する少なくともいくつかの実施形態により構成された、コンピューティングデバイス上でコンピュータプロセスを実行するためのコンピュータプログラムを含むコンピュータプログラム製品５００の部分図を示す。この例示的なコンピュータプログラム製品の例示的な一実施形態は、信号保持媒体５０２を使用して提供され、５０４の少なくとも１つの命令を含んでよい。すなわち、ポータブルトークンがコンピューティングデバイスの近傍内および／もしくは近傍外にあることを示す指示を受け取るための１つもしくは複数の命令、参照テーブルへの第１のリンクをポータブルトークンから受け取るための１つもしくは複数の命令、参照テーブルへの第１のリンクをポータブルトークンから受け取るための１つもしくは複数の命令、参照テーブルへの第１のリンクを介して進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを取り出すための１つもしくは複数の命令、進行中のウェブアプリケーションをウェブブラウザ中で開くためおよび／もしくは閉じるための１つもしくは複数の命令、または、進行中のウェブアプリケーションの第２の状態を反映するように参照テーブル中の第２のリンクを更新するための１つもしくは複数の命令である。１つまたは複数の命令は、たとえば、コンピュータ実行可能命令、および／または論理実装命令とすることができる。いくつかの実施形態では、１つまたは複数のコンピュータプログラム製品５００の信号保持媒体５０２は、コンピュータ可読媒体５０６、記録可能媒体５０８、および／または通信媒体５１０を含む。
【００５９】
本明細書に述べる主題は、コンピュータシステム上でのオペレーティングシステムおよびアプリケーションプログラムの実行と共に実行されるプログラムモジュールの一般的なコンテキストで提示されるが、他の実装形態を他のタイプのプログラムモジュールと組み合わせて実施してもよいことを当業者なら理解するであろう。一般に、プログラムモジュールは、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、本明細書に述べる主題は、ハンドヘルドデバイス、マルチコアプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な民生用電子機器、ミニコンピュータ、メインフレームコンピュータなどを含めた、他のコンピュータシステム構成を用いて実践してもよいことを、当業者なら理解するであろう。
【００６０】
本開示は、本出願に記載の特定の実施形態に関して限定されるものではなく、これら特定の実施形態は、さまざまな態様の例示とする。当業者には明らかであろうが、本開示の趣旨および範囲を逸脱することなく多くの修正および変形を加えることができる。本明細書に列挙した方法および装置に加えて、本開示の範囲内にある機能的に等価な方法および装置も、以上の記述から当業者には明らかであろう。このような修正および変形は、添付の特許請求の範囲内に入るものとする。本開示は、添付の特許請求の範囲の条件によって、かつ、このような特許請求の範囲が値する均等物の完全な範囲によってのみ限定される。本開示は、特定の方法、試薬、化合物、組成物、または生物系（これらは当然ながら多様である可能性がある）に限定されないことを理解されたい。また、本明細書で使用した用語は、特定の実施形態を記述するためのものに過ぎず、限定とはしないことも理解されたい。
【００６１】
本明細書における実質的に全ての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００６２】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステ���を含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００６３】
加えて、本開示の特徴または態様がマーカッシュグループで記述される場合、それによって本開示がマーカッシュグループの任意の個別のメンバ、またはメンバのサブグループでも記述されることを、当業者なら理解するであろう。
【００６４】
当業者には理解されるであろうが、書面での記述を提供する点からなど、あらゆる目的で、本明細書に開示する全ての範囲は、そのあらゆる可能な下位範囲、および下位範囲の組合せも包含する。列挙されるどんな範囲も、その範囲が少なくとも２等分、３等分、４等分、５等分、１０等分などに分解されることを十分に記述し可能にするものとして、容易に理解することができる。非限定的な例として、本明細書に論じる各範囲は、下３分の１、中間３分の１、および上３分の１などに容易に分解することができる。当業者にはやはり理解されるであろうが、「まで」、「少なくとも」、「より大きい」、「より小さい」などの言葉は、列挙される数を含み、また、後で上記の考察のように下位範囲に分解できる範囲を指す。最後に、当業者には理解されるであろうが、範囲は、個別の各数を含む。したがってたとえば、１〜３個の要素を有するグループは、１、２、または３個の要素を有するグループを指す。同様に、１〜５個の要素を有するグループは、１、２、３、４、または５個の要素を有するグループを指し、他も同様である。
【００６５】
さまざまな態様および実施形態を本明細書に開示したが、他の態様および実施形態も当業者には明らかであろう。本明細書に開示したさまざまな態様および実施形態は、例示のためのものであって限定とはしない。真の範囲および趣旨は、後続の特許請求の範囲によって示す。
【図１】
2013520745.tif 000003
【図２】
2013520745.tif 000004
【図３Ａ】
2013520745.tif 000005
【図３Ｂ】
2013520745.tif 000006
【図４】
2013520745.tif 000007
【図５】
2013520745.tif 000008
【手続補正書】
【提出日】平成24年8月24日(2012.8.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
フォローミーサービスを提供する方法であって、
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることであって、前記参照テーブルが、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含むものであること、
前記コンピューティングデバイスを通して前記第１のリンクを介して前記参照テーブルから前記第２のリンクを取り出すこと、
前記コンピューティングデバイス上で実行されるように構成されたウェブブラウザ上で、前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くこと、および、
前記進行中のウェブアプリケーションを前記ウェブブラウザ上で開くと、前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することを含む方法。
【請求項２】
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることが、前記コンピューティングデバイスを通してポータブルトークンから前記参照テーブルへの前記第１のリンクを受け取ることを含む、請求項１に記載の方法。
【請求項３】
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることが、前記ポータブルトークンが前記コンピューティングデバイスの近傍内にあるときに前記コンピューティングデバイスにおいて前記参照テーブルへの前記第１のリンクを受け取ることを含む、請求項２に記載の方法。
【請求項４】
前記コンピューティングデバイスを通して、前記ポータブルトークンが前記コンピューティングデバイスの前記近傍外にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピューティングデバイスの前記近傍外にあることを示す前記指示を受け取ると、前記コンピューティングデバイスを通して、前記参照テーブルが前記進行中のウェブアプリケーションの現在状態を反映しているかどうか判定すること、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していないと判定すると、前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、および、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していると判定すると、または、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すると、前記ウェブブラウザ上で前記進行中のウェブアプリケーションを閉じることをさらに含む、請求項３に記載の方法。
【請求項５】
プロセッサとメモリとを有するコンピューティングデバイスを通して参照テーブルへの第１のリンクを受け取ることが、前記コンピューティングデバイスを通して前記参照テーブルへの前記第１のリンクとアクセス制御データとを受け取ることを含み、前記コンピューティングデバイスを通して前記第１のリンクを介して前記参照テーブルから前記第２のリンクを取り出すことが、
前記コンピューティングデバイスを通して前記参照テーブルへの前記第１のリンクにアクセスすること、
前記第１のリンクにアクセスすると、前記コンピューティングデバイスを通して認証要求を前記第１のリンクから受け取ること、
前記認証要求を受け取ると、前記コンピューティングデバイスを通して前記アクセス制御データを前記第１のリンクに送ること、
前記コンピューティングデバイスを通して前記参照テーブルへのアクセス許可を前記第１のリンクから受け取ること、および、
前記許可を受け取ると、前記コンピューティングデバイスを通して前記参照テーブルから前記第２のリンクを取り出すことを含む、請求項１に記載の方法。
【請求項６】
前記コンピューティングデバイスを通して前記第１のリンクを介して前記参照テーブルから第２のリンクを取り出すことが、前記コンピューティングデバイスを通して、前記第２のリンクと、対応するクッキーとを前記参照テーブルから取り出すことを含み、前記メモリから前記プロセッサ上で実行されるように構成されたウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くことが、
前記コンピューティングデバイスを通して前記クッキーと前記進行中のウェブアプリケーションへのアクセス要求とを前記第２のリンクに送信すること、
前記クッキーと前記進行中のウェブアプリケーションへの前記アクセス要求とを前記第２のリンクに送信すると、前記コンピューティングデバイスを通して前記進行中のウェブアプリケーションへのアクセス許可を前記第２のリンクから受け取ること、および、
前記進行中のウェブアプリケーションへの前記アクセス許可を受け取ると、前記ウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くことを含む、請求項１に記載の方法。
【請求項７】
前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションが閉じられたことを示す指示を受け取ること、および、
前記進行中のウェブアプリケーションが閉じられたことを示す前記指示を受け取ると、前記コンピューティングデバイスを通して前記第２のリンクを前記参照テーブルから除去することをさらに含む、請求項１に記載の方法。
【請求項８】
前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することが、前記コンピューティングデバイスを通して、前記参照テーブル中の前記第２のリンクを、前記進行中のウェブアプリケーションの前記第２の状態に対応する第３のリンクで置き換えることを含む、請求項１に記載の方法。
【請求項９】
前記コンピューティングデバイスを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することが、前記コンピューティングデバイスを通して、事前定義済みの時間間隔で、前記進行中のウェブアプリケーションの前記第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新することを含む、請求項１に記載の方法。
【請求項１０】
前記ウェブアプリケーションがステートレスなクラウドベースのウェブアプリケーションを含む、請求項１に記載の方法。
【請求項１１】
コンピュータ実行可能命令が記憶されたコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が、コンピュータによって実行されたとき、
前記コンピュータを通して、ポータブルトークンが前記コンピュータの近傍内にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピュータの前記近傍内にあることを示す前記指示が受け取られたとき、前記コンピュータを通して参照テーブルへの第１のリンクを前記ポータブルトークンから受け取ることであって、前記参照テーブルが、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含むものであること、
前記コンピュータを通して前記第１のリンクを介して前記参照テーブルから前記第２のリンクを取り出すこと、
前記コンピュータによって実行されるウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くこと、
前記進行中のウェブアプリケーションが開かれたとき、前記コンピュータを通して、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、
前記コンピュータを通して、前記ポータブルトークンが前記コンピュータの前記近傍外にあることを示す指示を受け取ること、および、
前記ポータブルトークンが前記コンピュータの前記近傍外にあることを示す前記指示が受け取られたとき、前記ウェブブラウザ上で前記進行中のウェブアプリケーションを閉じること、を前記コンピュータに行わせる、コンピュータ可読記憶媒体。
【請求項１２】
前記ポータブルトークンがプラグ接続可能デバイスであり、前記ポータブルトークンが、前記コンピュータにプラグ接続されたときに前記ポータブルトークンが前記コンピュータの前記近傍内にある、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記ポータブルトークンが前記コンピュータから抜かれたときに前記ポータブルトークンが前記コンピュータの前記近傍外にある、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記ポータブルトークンがワイヤレスデバイスを含み、前記ポータブルトークンがワイヤレスプロトコルに従った前記コンピュータの範囲内にあるときに前記ポータブルトークンが前記コンピュータの前記近傍内にある、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記ポータブルトークンが前記ワイヤレスプロトコルに従った前記コンピュータの前記範囲外にあるときに前記ポータブルトークンが前記コンピュータの前記近傍外にある、請求項１４に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記ポータブルトークンが無線周波数識別タグを含み、前記ポータブルトークンが、前記コンピュータに結合された無線周波数識別リーダの範囲内に置かれたときに、前記ポータブルトークンが前記コンピュータの前記近傍内にあり、前記範囲で前記無線周波数識別リーダと前記ポータブルトークンとの間の通信が可能である、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記ポータブルトークンが、前記コンピュータに結合された前記無線周波数識別リーダの前記範囲内に再び置かれたときに、前記ポータブルトークンが前記コンピュータの前記近傍外にある、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記第１のリンクおよび前記第２のリンクがユニフォームリソースロケータを含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１９】
フォローミーサービスを提供するためのコンピュータシステムであって、
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリから前記プロセッサで実行されるウェブブラウザと、
前記ウェブブラウザに結合されたウェブブラウザプラグインとを備え、前記ウェブブラウザプラグインが、前記メモリから前記プロセッサで実行されるように適合され、前記プロセッサによって実行されたとき、
ポータブルトークンが前記コンピュータシステムの近傍内にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピュータシステムの前記近傍内にあることを示す前記指示を受け取ると、参照テーブルへの第１のリンクを受け取ることであって、前記参照テーブルが、進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを含むものであること、
前記第１のリンクを介して前記参照テーブルから前記第２のリンクおよび対応するクッキーを取り出すこと、
前記クッキーと前記進行中のウェブアプリケーションへのアクセス要求とを前記第２のリンクに送信すること、
前記クッキーと前記進行中のウェブアプリケーションへの前記アクセス要求とを前記第２のリンクに送信すると、前記第２のリンクから前記進行中のウェブアプリケーションへのアクセス許可を受け取ること、
前記進行中のウェブアプリケーションへの前記アクセス許可を受け取ると、前記ウェブブラウザ上で前記第２のリンクに対応する前記進行中のウェブアプリケーションを開くこと、
前記進行中のウェブアプリケーションを開くと、前記進行中のウェブアプリケーションの第２の状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、
前記ポータブルトークンが前記コンピュータシステムの前記近傍外にあることを示す指示を受け取ること、
前記ポータブルトークンが前記コンピュータシステムの前記近傍外にあることを示す前記指示を受け取ると、前記参照テーブルが前記進行中のウェブアプリケーションの現在状態を反映しているかどうか判定すること、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していないと判定すると、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すること、ならびに、
前記参照テーブルが前記進行中のウェブアプリケーションの前記現在状態を反映していると判定すると、または、前記進行中のウェブアプリケーションの前記現在状態を反映するように前記参照テーブル中の前記第２のリンクを更新すると、前記ウェブブラウザ上で前記進行中のウェブアプリケーションを閉じること、によって前記コンピュータシステムに前記フォローミーサービスを提供させる、コンピュータシステム。
【請求項２０】
前記進行中のウェブアプリケーションに関する状態情報が前記第２のリンク中にエンコードされる、請求項１９に記載のコンピュータシステム。
【請求項２１】
前記参照テーブルが前記第２のリンクを拡張可能マークアップ言語で記憶する、請求項１９に記載のコンピュータシステム。
【請求項２２】
前記参照テーブルがユーザ特有である、請求項１９に記載のコンピュータシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
次に図５に移ると、概略図が、本明細書に提示する少なくともいくつかの実施形態により構成された、コンピューティングデバイス上でコンピュータプロセスを実行するためのコンピュータプログラムを含むコンピュータプログラム製品５００の部分図を示す。この例示的なコンピュータプログラム製品の例示的な一実施形態は、信号保持媒体５０２を使用して提供され、５０４の少なくとも１つの命令を含んでよい。すなわち、ポータブルトークンがコンピューティングデバイスの近傍内および／もしくは近傍外にあることを示す指示を受け取るための１つもしくは複数の命令、参照テーブルへの第１のリンクをポータブルトークンから受け取るための１つもしくは複数の命令、参照テーブルへの第１のリンクを介して進行中のウェブアプリケーションの第１の状態に対応する第２のリンクを取り出すための１つもしくは複数の命令、進行中のウェブアプリケーションをウェブブラウザ中で開くためおよび／もしくは閉じるための１つもしくは複数の命令、または、進行中のウェブアプリケーションの第２の状態を反映するように参照テーブル中の第２のリンクを更新するための１つもしくは複数の命令である。１つまたは複数の命令は、たとえば、コンピュータ実行可能命令、および／または論理実装命令とすることができる。いくつかの実施形態では、１つまたは複数のコンピュータプログラム製品５００の信号保持媒体５０２は、コンピュータ可読媒体５０６、記録可能媒体５０８、および／または通信媒体５１０を含む。
【国際調査報告】
2013520745.tif 000009