(57)【要約】【課題】ポータブルコンピューティング環境を対象とするシステム、方法、およびデータ構造を提供すること。【解決手段】ポータブルデバイスとホストデバイスの間に通信リンクを確立する。ポータブルデバイスは、処理ユニットを装備し、ホストデバイスによってアクセス可能なプロセスを実行するように構成される。ホストデバイスは、ポータブルデバイス上のプロセスと対話するように構成されたアプリケーションを含む。ポータブルデバイス上のプロセスは、ホストデバイス上のアプリケーションに、通信リンクを用いてデータを提供する。アプリケーションは、このデータを用いて、コンピューティング環境を提供する。【選択図】図１
2006114048.tif 000002
【特許請求の範囲】
【請求項１】
ホストデバイスにポータブルデバイスを接続するステップと、
前記ポータブルデバイスのコンピューティングモジュールを有するプロセスを実行するステップであって、前記プロセスは、コンピューティング環境を生成するように構成されるステップと、
前記ホストデバイス上で実行されるアプリケーションに、前記コンピューティング環境を提供するステップとを備えることを特徴とする方法。
【請求項２】
前記プロセスはアプリケーションサービスであることを特徴とする請求項１に記載の方法。
【請求項３】
前記アプリケーションはブラウザであることを特徴とする請求項１に記載の方法。
【請求項４】
前記プロセスに関連する状態を判定するステップと、
前記状態に少なくとも部分的に基づいて、前記コンピューティング環境を構成するステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記ポータブルデバイスをネットワークデバイスとして識別するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
異なる２つのコンピューティングデバイスが通信するためのプロセスを許可するプロトコルに少なくとも部分的に基づいて、前記ホストデバイスを、前記ポータブルデバイスと通信するように構成するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記ホストデバイスからアドレスを受け取るステップと、
前記ホストデバイスに前記アドレスを関連づけるステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項８】
前記アドレスを用いて前記プロセスと通信するステップをさらに備えることを特徴とする請求項７に記載の方法。
【請求項９】
前記ホストデバイスのＵＳＢポートに前記ポータブルデバイスを接続するステップと、
前記ポータブルデバイス内の開始プロシージャを判定するステップであって、前記開始プロシージャは、前記ポータブルデバイスに関連づけられたアドレスへのブラウザを開くための命令を含むステップと、
前記ホストデバイス内で前記開始プロシージャを自動的に実行するステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１０】
前記ポータブルデバイスに関連づけられたキーを判定するステップと、
前記キーに少なくとも部分的に基づいて、前記ポータブルデバイスを認証するステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１１】
前記ポータブルデバイス内部のインジケータを取得するステップであって、前記インジケータは、前記プロセスに関連づけられた使用条件が有効であるかどうかを指定するステップと、
前記インジケータが、前記条件が有効でないことを示す場合、前記プロセスへのアクセスを拒否するステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
ポータブルデバイスによってホストデバイスから、デバイスクエリを受け取るステップと、
前記ポータブルデバイスから前記ホストデバイスに、前記ポータブルデバイスを、前記ホストデバイスに接続されたネットワークデバイスとして識別する返信を送るステップと、
前記ポータブルデバイスによって前記ホストデバイスから、データを求めるリクエストを受け取るステップと、
前記ポータブルデバイスからネットワーク上のサーバに、前記ホストデバイスによって提供される前記ネットワークへの通信リンクを介して前記リクエストを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記リクエストに関連するデータを受け取るステップと、
前記ポータブルデバイスから前記ホストデバイスに、前記サーバによって提供された前記データを送るステップとを備える、コンピューティングデバイスの間の通信方法。
【請求項１３】
前記ポータブルデバイスから前記ホストデバイスに、前記サーバによって提供される前記データとともに、前記ポータブルデバイス上で実行されるプロセスによって生成されたデータを送るステップをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている状態のコピーを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記コピーが前記サーバ上に格納されたという確認を受け取るステップとをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記ポータブルデバイスによって前記ホストデバイスから、認証データを受け取るステップと、
前記ポータブルデバイスから前記サーバに、前記認証データを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記認証データが有効かどうかのインジケータを受け取るステップとをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１６】
前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている状態に関連する情報を送るステップと、
前記ポータブルデバイスによって前記サーバから、前記状態が有効であるかどうかのインジケータを受け取るステップとをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１７】
前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている、無効であった状態を再度検証するためのリクエストを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記状態を再度検証するデータを受け取るステップとをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１８】
前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている状態をアップデートするためのリクエストを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記状態をアップデートするデータを受け取るステップとをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１９】
コンピュータ実行可能命令を格納している１つまたは複数のコンピュータ可読媒体であって、前記命令は、コンピュータ上で実行されると、請求項１から２４の一項に記載の方法の前記ステップを実施するように構成されることを特徴とするコンピュータ可読媒体。
【請求項２０】
少なくとも１つのプロセッサを有するコンピューティングモジュールと、
ホストデバイスと通信するように構成されたインターフェイスモジュールと、
命令を含むメモリモジュールとを備える装置であって、前記命令は、実行されると、前記少なくとも１つのプロセッサに、
前記ホストデバイスに対して前記装置を識別させ、
前記ホストデバイスとの通信リンクを確立させ、
前記プロセス上のコンピューティングモジュールを実行させ、かつ
プロトコルに少なくとも部分的に基づいて、前記ホストデバイス上のアプリケーションが前記プロセスと対話することを可能にさせることを特徴とする装置。
【請求項２１】
前記プロセスは、コンピューティング環境を提供するように構成されたアプリケーションサービスを備えたことを特徴とする請求項２０に記載の装置。
【請求項２２】
前記アプリケーションサービスは、前記ホストデバイス上で実行されるアプリケーションにデータを提供するように構成されることを特徴とする請求項２１に記載の装置。
【請求項２３】
前記メモリモジュールは、前記アプリケーションサービスに関連する状態を表すデータをさらに含むことを特徴とする請求項２１に記載の装置。
【請求項２４】
前記命令は、前記少なくとも１つのプロセッサにさらに、前記状態に少なくとも部分的に基づいて、前記アプリケーションサービスを構成させることを特徴とする請求項２３に記載の装置。
【請求項２５】
前記命令は、前記少なくとも１つのプロセッサにさらに、前記ホストデバイスに対して、前記装置をネットワークデバイスとして識別させることを特徴とする請求項２０に記載の装置。
【請求項２６】
少なくとも１つのプロセッサを有するコンピューティングモジュールと、
ポータブルデバイスと通信するように構成されたインターフェイスモジュールと、
命令を含むメモリモジュールとを備えた装置であって、前記命令は、実行されると、前記少なくとも１つのプロセッサに、
前記ポータブルデバイスを検出させ、
前記ポータブルデバイスとの通信リンクを確立させ、
前記ポータブルデバイスによって提供されるウェブサービスを判定させ、かつ
前記ウェブサービスと対話するユーザインターフェイスを提供させることを特徴とする装置。
【請求項２７】
前記命令は、前記少なくとも１つのプロセッサにさらに、前記ウェブサービスによって提供される前記データに少なくとも部分的に基づいて、コンピューティング環境を提供させることを特徴とする請求項２６に記載の装置。
【請求項２８】
前記命令は、前記少なくとも１つのプロセッサにさらに、前記ポータブルデバイスから状態を取得させることを特徴とする請求項２７に記載の装置。
【請求項２９】
前記命令は、前記少なくとも１つのプロセッサにさらに、前記取得された状態を用いて前記コンピューティング環境を構成させることを特徴とする請求項２８に記載の装置。
【請求項３０】
ネットワークへの接続を確立するように構成されたネットワークデバイスをさらに備え、前記ネットワークデバイスは、前記ポータブルデバイスによる使用のために前記接続を提供するようにさらに構成されることを特徴とする請求項２６に記載の装置。
【請求項３１】
ホストコンピューティングデバイスにコンピューティング環境を提供するシステムであって、
アプリケーションを実行するように構成されたホストデバイスと、
前記ホストデバイスに接続するように構成されたポータブルデバイスとを備え、前記ポータブルデバイスは、コンピューティングモジュールおよびメモリを含み、前記メモリは、プロセスに関連する状態を含み、前記コンピューティングモジュールは、前記ポータブルデバイスが前記ホストデバイスに接続されたとき、前記プロセスをインスタンス化するように構成され、ポータブルデバイス上の前記プロセスは、前記ホストデバイス上の前記アプリケーションに前記コンピューティング環境を提供するように構成されることを特徴とするシステム。
【請求項３２】
前記ホストデバイスは、ネットワークとの通信リンクを提供するように構成されたネットワークインターフェイスを含み、前記システムは、前記ネットワークへのサーバ接続をさらに備え、前記サーバは、前記ポータブルデバイスからのリクエストに応答してウェブサービスを提供するように構成され、前記リクエストは、前記ホストデバイスによって開始され、前記ポータブルデバイスによって前記サーバにプロキシ転送されることを特徴とする請求項３１に記載のシステム。
【請求項３３】
前記ポータブルデバイスの前記コンピューティングモジュールに認証データが埋め込まれることを特徴とする請求項３１に記載のシステム。
【請求項３４】
前記ポータブルデバイスは、実行可能コードを受け取り、前記コンピューティングモジュール上の前記コードを実行する前に、前記埋め込まれている認証データを用いて前記実行可能コードを検証するようにさらに構成されることを特徴とする請求項３３に記載のシステム。
【請求項３５】
前記ポータブルデバイスは、前記プロセスを前記ポータブルデバイス内で実行する前に、アクチベーションコードを受け取るように構成されることを特徴とする請求項３１に記載のシステム。
【請求項３６】
前記アクチベーションコードは、前記ポータブルデバイスに直接接続された外部のデバイスから受け取られ、または、前記ホストデバイスを介して前記ポータブルデバイスに接続された外部のデバイスから受け取られることを特徴とする請求項３５に記載のシステム。
【請求項３７】
前記プロセスは、前記ホストデバイス上の前記アプリケーションにコンピューティング環境を提供するように構成されたウェブサービスを含むことを特徴とする請求項３１に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
パーソナルコンピュータ（ＰＣ）は従来、ただ１人の個人による使用向けに設計されている。ユーザは通常、ＰＣ上にインストールされているソフトウェアを選択し、コンピュータの安定性、性能、および個人的な好みを維持するように構成することができる。しかし、１台のＰＣが多数のユーザによって共有されると、こうしたユーザの相異なる要求事項がしばしば、システムに悪影響を与える。たとえば、様々なユーザが、互いに互換性がない可能性がある、異なるアプリケーションをインストールしたいと望む場合がある。また、あるユーザが、共有ＰＣにおける動作環境を、別のユーザには許容できない特定の方式で構成したいと望む場合がある。さらに、多数のユーザが１台のＰＣを共有すると、安全性の問題を引き起こし得る。
【発明の開示】
【発明が解決しようとする課題】
【０００２】
利用可能な一システムは、ユニフォームシリアルバス（ＵＳＢ）フラッシュメモリドライブへのオペレーティングシステムおよびソフトウェアの格納を伴う。このシステムは、概念的には、概してＰＣの内部ハードドライブに格納されたデータを含むポータブルドライブと同様である。ただし、このシステムは、ＵＳＢドライブ上に格納されているソフトウェアを実行するために、共有ＰＣに依拠する。たとえば、ＵＳＢドライブ上のオペレーティングシステムは、共有ＰＣから起動されなければならない場合があり、その結果、依然として性能およびセキュリティの問題が生じる。また、ＵＳＢドライブ内のソフトウェアは、ＰＣのハードドライブ上にロードされなければならない場合があるが、これは時間のかかるプロセスであり、性能およびセキュリティ上のより多くの懸案事項につながり得る。
【０００３】
共有ＰＣにおける使用向けに、ポータブルなデバイス非依存コンピューティング環境を提供するシステムは、当業者にとって実現できないままである。
【課題を解決するための手段】
【０００４】
本明細書に記載するシステム、方法、およびデータ構造は、ポータブルコンピューティング環境を対象とする。ポータブルデバイスとホストデバイスの間に通信リンクが確立される。ポータブルデバイスは、処理ユニットを装備し、ホストデバイスによってアクセス可能なプロセスを実行するように構成される。ホストデバイスは、ポータブルデバイス上のプロセスと対話するように構成されたアプリケーションを含む。ポータブルデバイス上のプロセスは、ホストデバイス上のアプリケーションに、通信リンクを用いてデータを提供する。アプリケーションは、このデータを用いて、コンピューティング環境を提供する。
【０００５】
一態様において、コンピューティング環境は、ポータブルデバイスによってホストデバイス上に動的に作成される。ポータブルデバイス、ホストデバイス、またはネットワークサーバによって提供されるデータを、この動的コンピューティング環境を提供するのに、単独でも、組み合わせても使うことができる。
【０００６】
別の態様では、ポータブルデバイスは、ネットワークサーバによって提供されるアプリケーションと対話することができる。こうしたアプリケーションは、アクチベーションサービス、認証サービス、バックアップサービス、アップデートサービス、コンテンツダウンロードサービス、または診断サービスなど、様々なタイプのサービスを提供することができる。たとえば、ポータブルデバイスに格納されている状態を、アップデートまたはバックアップのためにネットワークサーバ上のデータと同期させることができる。
【０００７】
上記の態様および本発明の付帯的な利点の多くは、以下の詳細な説明を、添付の図面と併せ読み参照することによって、より容易に理解されよう。
【発明を実施するための最良の形態】
【０００８】
図１は、ポータブルコンピューティング環境システム１００を示す。システム１００は、ポータブルデバイス１０５およびホストデバイス１１０を含む。両方のデバイスが、ネットワーク１２０を介してサーバ１１５と通信することができる。ポータブルデバイス１０５は、他のコンピューティングデバイス上で実行されるアプリケーションと対話することができるプロセスを実行するように構成されたコンピューティングデバイスである。ポータブルデバイス１０５は通常、こうしたプロセスを、ポータブルデバイス１０５内のコンピューティングモジュールを用いて実行する。たとえば、ポータブルデバイス１０５内のコンピューティングモジュールは、１つまたは複数のプロセッサユニットおよびメモリを含み得る。ポータブルデバイス１０５は、たとえばアプリケーション、動作環境、ユーザデータ、認証データに関連する状態など、様々なタイプの情報を格納する不揮発性ストレージを有して構成することができる。
【０００９】
ポータブルデバイス１０５は、どのタイプの接続機構を用いても、ホストデバイス１１０に接続することができる。たとえば、ポータブルデバイス１０５は、たとえばユニバーサルシリアルバス（ＵＳＢ）ポート、ＩＥＥＥ１３９４（すなわち、ファイアワイヤ）ポート、シリアルポート、パラレルポート、ネットワークポート、周辺接続など、ホストデバイス１１０のポートに接続するように構成することができる。ポータブルデバイス１０５を、Ｗｉ−Ｆｉ、ブルートゥース、赤外線、または他の無線周波数（ＲＦ）もしくは光学接続などのワイヤレス接続を用いて、ホストデバイス１１０に接続することもできる。
【００１０】
ポータブルデバイス１０５によって実行されるプロセスは、アプリケーションサービスなど、どのタイプのアプリケーションも含み得る。「アプリケーションサービス」または「ウェブサービス」という用語は、ネットワークプロトコルなど、１つまたは複数のプロトコルを介して他のアプリケーションと対話可能なアプリケーションを意味する。通常、アプリケーションサービスは、データを送り、またはどのタイプのネットワークを介しても、アプリケーションからデータを受け取るように構成される。アプリケーションサービスは、インターネットプロトコル（ＩＰ）アドレスやユニフォームリソースロケータ（ＵＲＬ）など、識別子によって識別することができ、そうすることによって、他のアプリケーションは、容易にアプリケーションサービスを位置決めし、アプリケーションサービスと通信することができる。
【００１１】
アプリケーションサービスを、異なるタイプのデバイスおよび動作環境において実行されるアプリケーションの間の通信を容易にするように構成することもできる。アプリケーションサービスは、様々な世界標準を用いて、他のアプリケーションと通信することができる。たとえば、アプリケーションサービスは、拡張マークアップ言語（ＸＭＬ）を使ってデータをタグづけする、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）を使ってそのデータを転送し、ウェブサービス記述言語（ＷＳＤＬ）を使って利用可能なサービスを記述し、またはＵＤＤＩ（ｕｎｉｖｅｒｓａｌ  ｄｅｓｃｒｉｐｔｉｏｎ，  ｄｉｓｃｏｖｅｒｙ  ａｎｄ  ｉｎｔｅｇｒａｔｉｏｎ）を使って、どのサービスが利用可能であるかを記載することができる。アプリケーションサービスを、ＸＭＬなど、どのタイプのソフトウェアコードでも実装することができる。
【００１２】
ポータブルデバイス１０５を、ホストデバイス１１０上のアプリケーションにコンピューティング環境を提供するように構成することができる。たとえば、ポータブルデバイス１０５上のプロセスは、ホストデバイス上のコンピューティング環境を、ポータブルデバイス１０５に関連づけられた、ある特定のユーザの所望の設定に構成することができる。一実装形態では、コンピューティング環境は、一時的に、ホストデバイス上で動的に実行中である場合がある。ホストデバイスにおけるこの状態は、ポータブルデバイス１０５によって提供されるコンピューティング環境によって永久的に変えることはできない。ホストデバイス１１０を、ポータブルデバイス１０５がホストデバイスから切断されると、以前の設定に復元するように構成することができる。コンピューティング環境に関連する状態は、ポータブルデバイス１０５上に格納されるので、ホストデバイス１１０を、その環境に関連するどの状態も保持しないように構成することができる。一時的なコンピューティング環境を提供することができることにより、ホストデバイス１１０が多数のユーザによって便利かつ安全に共有されることが可能になる。
【００１３】
ポータブルデバイス１０５を、ネットワーク１２０を介して、サーバ１１５など、他のコンピューティングデバイスと対話するように構成することができる。ポータブルデバイス１０５は、ホストデバイス１１０とネットワーク１２０の間に確立されている通信リンクを使って、サーバ１１５と通信することができる。ポータブルデバイス１０５は、独立してホストデバイス１１０にサービスを提供するが、ポータブルデバイス１０５を、より動的でコンテンツが豊富な環境を作るために、サーバ１１５と連動してこうしたサービスを提供するように構成することができる。たとえば、ポータブルデバイス１０５を、サーバ１１５からのデータおよびウェブサービスを利用して、ポータブルデバイス１０５によってホストデバイス１１０に直接提供されるコンピューティング環境を増強するように構成することができる。ポータブルデバイス１０５を、サーバ１１５によって提供されるコンピューティング環境へのアクセスをプロキシ転送する（ｐｒｏｘｙ）ように構成することもできる。いずれの構成でも、コンピューティング環境は通常、サーバ１１５から直接ではなく、ポータブルデバイス１０５からホストデバイス１１０に提供される。
【００１４】
ポータブルデバイス１０５を、ホストデバイス１１０の性能を判断するように構成することができる。ポータブルデバイス１０５は、デバイス上で実行されるプロセスを、ホストデバイス１１０の性能に基づいてデータを提供するように構成することができる。たとえば、ポータブルデバイス１０５は、たとえばスクリーンサイズ、解像度など、ホストデバイス１１０のディスプレイ性能を判断することができる。ポータブルデバイス１０５内のプロセスは、ホストデバイス１１０で正しく表示することができるデータを提供することができる。
【００１５】
ポータブルデバイス１０５を、どの種類のサービスのためにも、サーバ１１５と対話するように構成することができる。たとえば、ポータブルデバイス１０５は、アプリケーション用に、アップデートされた状態をサーバ１１５から受け取ることができ、アップデートされたアプリケーションをホストデバイス１１０に提供する。アップデートされた状態は、既存の状態、新しい状態、または状態に対する、一部のデータが消去されたアップグレードを含み得る。ポータブルデバイス１０５を、デバイスに対するアップデートされた状態の一部分を受け取るように構成することができる。ポータブルデバイス１０５を、ポータブルデバイス１０５における既存の状態すべてを置き換える、状態の新しいバッチを受け取るように構成することもできる。ポータブルデバイス１０５をさらに、サーバ１１５に状態を格納するように構成することもできる。状態を、ポータブルデバイス１０５の正常動作の一部として、またはバックアップコピーとして格納し取得することができる。
【００１６】
ポータブルデバイス１０５を、デバイスにおける状態が有効かどうか判定するように構成することができる。状態は、一定の条件が満たされていない場合、無効となり得る。たとえば、ポータブルデバイス１０５における状態は、一定の期間、一定レベルの使用、一定のタスクが実施された後などに、無効となり得る。状態の有効性は、ライセンス期間など、使用期限に関連するものでよい。一実装形態では、ポータブルデバイス１０５は、計時デバイスを含み得る。ポータブルデバイス１０５を、計時デバイスから、状態に関連する満了時間および現在の時間を判定するように構成することができる。現在の時間と比較して満了時間が経過している場合、ポータブルデバイス１０５は、その状態は有効期限を過ぎていると判定することができ、その状態へのアクセスを拒否することができる。ポータブルデバイス１０５を、状態を再度有効にするように構成することができる。たとえば、ポータブルデバイス１０５は、ユーザが、デバイスに格納されている状態に関連づけられたライセンスを更新することを可能にし得る。
【００１７】
ポータブルデバイス１０５を、セキュリティを提供するための機構を有して構成することもできる。こうしたセキュリティ機構は、認証局（ＣＡ）に関連した機能を含み得る。たとえば、ポータブルデバイス１０５は、ＣＡからのデジタル証明書に関連づけられたキー（たとえば、パブリック／プライベートキー）を含み得る。キーを、許可されたユーザによって、ポータブルデバイス１０５を使って認証を実施するのに使うことができる。ポータブルデバイス１０５に格納されているデータを、こうしたキーを使って暗号化することができ、そうすることによって正しく認証された、許可されたユーザのみがデータにアクセスできるようになる。
【００１８】
セキュリティ機構を保護するために、ポータブルデバイス１０５を、ＣＡに関連した機能を、ポータブルデバイス１０５のコンポーネント中に組み込むように構成することができる。たとえば、ＣＡの機能を、ポータブルデバイス１０５のコンピューティングモジュールに埋め込むことができる。この構成において、ＣＡに関連づけられたキーは、ポータブルデバイス１０５によって維持されるソフトウェアスタック中の要素として現れることはなく、したがって、ソフトウェアハッキングによって容易に傷つけることができない。このように構成されたキーを、ポータブルデバイス１０５の物理的再構成を介してのみ強制的に入手することができる。
【００１９】
ポータブルデバイス１０５を、どのタイプの入力機構においても、認証データを受け取るように構成することができる。たとえば、ポータブルデバイス１０５は、ユーザが認証データを入力するための入力インターフェイスを提供することができるホストデバイス１１０から、認証データを受け取ることができる。ポータブルデバイス１０５を、ユーザが認証データをポータブルデバイス１０５に直接入力できるように、入力インターフェイスを有して構成することもできる。ホストデバイス１１０またはポータブルデバイス１０５上の入力インターフェイスは、ユーザが認証データを入れることを可能にするように構成された、どのタイプのインターフェイスも含み得る。たとえば、認証入力インターフェイスは、キーパッド、生体リーダ、画像認識デバイス、または他の入力機構を含み得る。生体リーダは、フィンガープリントリーダ、網膜スキャナ、音声認識デバイス、化学検出装置などを含み得る。ポータブルデバイス１０５を、認証入力インターフェイスからデータを受け取り、そのデータを用いてユーザを認証するように構成することができる。
【００２０】
ポータブルデバイス１０５を、ホストデバイス１１０またはサーバ１１５から、実行可能命令（すなわち、コード）を受け取るように構成することもできる。悪意のあるコードの実行を回避するために、正当なコードを、キーなどの認証データによって識別することができる。たとえば、正当なコードを、ポータブルデバイス１０５の処理ユニットに埋め込まれている、対応するキーを用いて復号することができるキーで暗号化することができる。ポータブルデバイス１０５を、正しいキーで正しく暗号化されるコードのみを実行するように構成することができる。
【００２１】
ポータブルデバイス１０５をさらに、サーバ１１５と対話して、セキュリティチェックを実施するように構成することもできる。たとえば、ポータブルデバイス１０５は、ポータブルデバイス１０５へのアクセスをリクエストするユーザを、サーバ１１５が認証することを可能にし得る。たとえばユーザ名、パスワード、個人情報、生体データ、画像、キーなどの認証データを、認証のためにサーバ１１５に送ることができる。サーバ１１５を、ポータブルデバイス１０５が正常動作を実施するための許可を与える前に、ポータブルデバイス１０５における状態を検証するように構成することもできる。
【００２２】
ホストデバイス１１０は、ポータブルデバイス１０５上のプロセスと対話するように構成されたアプリケーションを実行するように調整されたコンピューティングデバイスである。アプリケーションは、ユーザがポータブルデバイス１０５上のプロセスと対話することを可能にするユーザインターフェイスを含み得る。たとえば、ホストデバイス１１０は、ポータブルデバイス１０５上で実行されるアプリケーションサービスと対話するブラウザを提供することができる。
【００２３】
ホストデバイス１１０は、たとえばデスクトップコンピュータ、ラップトップまたはノート型コンピュータ、携帯情報端末（ＰＤＡ）、ワイヤレス電話、キオスクなど、どのタイプのコンピューティングデバイスでもよい。また、ホストデバイス１１０に対する要件は最小限なので、いくつかの処理および出力性能を有してはいるが、ユーザにコンピューティング機能を提供するのに従来は使われていなかったコンピューティングデバイスが、ホストデバイス１１０としての役割を果たすこともできる。たとえば、ホストデバイス１１０は、プリンタ、家電製品、オーディオまたはビデオ機器、電子時計などでよい。
【００２４】
ホストデバイス１１０は通常、ポータブルデバイス１０５を検出し、デバイス１０５との接続機構を含む。たとえば、ポータブルデバイス１０５を、有線接続（ＵＳＢやファイアワイヤなど）あるいはワイヤレス接続（ＲＦ、ブルートゥース、ＷｉＦｉ、または光学媒体など）を介して、ホストデバイス１１０によって自動的に検出することができる。一実装形態では、ホストデバイス１１０は、ポータブルデバイス１０５を、ネットワークデバイスとして識別し、実際の物理的通信機構上のネットワークプロトコルを用いて、こうしたデバイスの間に接続を確立する。
【００２５】
ホストデバイス１１０を、ポータブルデバイス１０５から命令を受け取るように構成することができる。こうした命令を、ホストデバイス１１０上に動作環境を提供するために実行することができる。たとえば、ホストデバイス１１０は、ポータブルデバイス１０５から、ブラウザを起動するための命令を受け取ることができ、このブラウザは、ポータブルデバイス１０５によって提供されるアプリケーションサービスに関連づけられたＩＰアドレスまたはＵＲＬに接続するように構成される。
【００２６】
ホストデバイス１１０は、ネットワーク１２０との通信リンクを確立するネットワークインターフェイスを含み得る。ホストデバイス１１０を、ポータブルデバイス１０５が、この通信リンクを用いてネットワーク１２０に接続されるのを可能にするように構成することができる。ネットワーク１２０は、たとえばローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネットなど、どのタイプのネットワークも含み得る。
【００２７】
図２は、デバイス非依存コンピューティング環境をコンピューティングデバイスに提供するプロセス例２００を示す。プロセス２００を、ポータブルデバイスによって、ホストデバイスにコンピューティング環境を提供するのに用いることができる。ブロック２０５で、ポータブルデバイスとホストデバイスの間に接続が確立される。この接続は、たとえばファイアワイヤ、ネットワーク、ＵＳＢ、Ｗｉ−Ｆｉ、ＲＦ、ブルートゥース、赤外線など、どのタイプの有線またはワイヤレス接続でもよい。
【００２８】
ブロック２１０で、ポータブルデバイスは、ホストデバイスに対して識別される。こうしたデバイスを、ポータブルデバイスがホストデバイスに接続されたときに、ポータブルデバイスを自動的に識別するプロトコル（たとえばＵＳＢ）を有して構成することができる。ホストデバイスに対してポータブルデバイスの識別を行うプロセス例は、図３に関連して説明する。
【００２９】
ブロック２１５で、ポータブルデバイス上でプロセスがインスタンス化される。このプロセスは、１つまたは複数のサブプロセスを含み得る。このプロセスは、他のデバイス内の他のプロセスと対話することができるどのタイプのプロセスでもよい。一移植において、プロセスは、アプリケーションサービスまたはウェブサービスでよい。ポータブルデバイス上のプロセスをインスタンス化するプロセス例は、図４に関連して説明する。
【００３０】
ブロック２２０で、任意選択のセキュリティチェックを実施することができる。セキュリティチェックは、ユーザおよびアプリケーションに対するどのタイプの認証および承認プロセスも含み得る。たとえば、セキュリティチェックは、ポータブルデバイスに関連づけられたＣＡデジタル証明書の検証を含み得る。認証プロセスを、デジタル証明書に関連づけられたキーの認証を行うために実施することができる。ポータブルデバイス上でセキュリティチェックを実施するプロセス例は、図６に関連して説明する。
【００３１】
ブロック２２５で、ポータブルデバイスによってインスタンス化されたプロセスを、ホストデバイスに利用可能となる。たとえば、このプロセスは、ホストデバイスによって提供されるアプリケーションを介して、ホストデバイスからアクセス可能となり得る。ポータブルデバイスは、ポータブルデバイス上のプロセスと対話するための、ホストデバイス上のアプリケーション（たとえば、ユーザインターフェイス）を構成するデータを、ホストデバイスに提供することができる。一実装形態では、ポータブルデバイスによってインスタンス化されるプロセスは、アプリケーションサービスである。ホストデバイス内のブラウザが、アプリケーションサービスに関連づけられたＩＰアドレスまたはＵＲＬをブラウズすることによって、アプリケーションサービスと対話するように構成される。
【００３２】
図３は、ホストデバイスに対してポータブルデバイスの識別を行うプロセス例３００を示す。プロセス３００が始まると、ポータブルデバイスとホストデバイスの間に接続が確立される。ブロック３０５で、ホストデバイスは、ポータブルデバイスにクエリを行う。ホストデバイスを、接続に関連づけられたプロトコルを用いて、ポータブルデバイスを自動的に検出しポータブルデバイスにクエリを行うように構成することができる。
【００３３】
ブロック３１０で、ポータブルデバイスは、それ自体の識別をホストデバイスに対して行う。一実装形態では、ポータブルデバイスを、ホストデバイスに対して、ネットワークデバイスとして識別することができる。ホストデバイスは、そのネットワーク設定を、ポータブルデバイスに適応させるように構成することができる。たとえば、ホストデバイスは、ネットワークアドレスをポータブルデバイスに関連づけることができる。
【００３４】
ブロック３１５で、ホストデバイスは、ポータブルデバイスにデバイス関連データを送る。このデータは、ホストデバイスの構成、ホストデバイス内またはそれに接続された他のデバイスの情報、ホストデバイスに関連づけられた１つまたは複数のＩＰアドレスなどを含み得る。
【００３５】
ブロック３２０で、ポータブルデバイスは、ホストデバイスから受け取ったデータを用いて、そのプロセスを構成する。たとえば、ポータブルデバイスは、ホストデバイス上でインスタンス化されたアプリケーションサービスに、ＩＰアドレスまたはＵＲＬを関連づけることができる。
【００３６】
図４は、ポータブルデバイス上のプロセスをインスタンス化するプロセス例４００を示す。プロセス４００を、ポータブルデバイスによって、電源投入プロセスの間またはその後に実施することができる。ブロック４０５で、ポータブルデバイスに関連する状態が判定される。状態は、ポータブルデバイス上で実行することができるプロセスに関連するものでよい。たとえば、状態を、アプリケーション、構成およびカスタマイズデータ、ユーザデータなどを含み得る。状態は、フラッシュメモリ、ハードドライブ、または他のメモリ記憶デバイスなど、ポータブルデバイス内のコンピュータ可読媒体から取得することができる。状態を、ホストデバイスによって提供される通信リンクを介して、リモートサーバから取得することもできる。
【００３７】
ブロック４０７で、アプリケーションサービスなどのプロセスが、取得された状態を用いてインスタンス化される。プロセスは、他のデバイス内の他のアプリケーションによってアクセス可能である、どのタイプのアプリケーションも含み得る。ブロック４１０で、アプリケーションサービスは、ホストデバイス内のアプリケーションによってアクセス可能であるように構成される。たとえば、アプリケーションサービスを、ＩＰアドレスやＵＲＬなどのウェブ識別子に関連づけることができる。ブロック４１５で、ポータブルデバイスは、ホストデバイスからのリクエストを待つ。ホストデバイスにあるアプリケーションは、ブラウザなどのユーザインターフェイスを介して、アプリケーションサービスと対話するためのリクエストを送ることができる。
【００３８】
ポータブルデバイスによってインスタンス化されるプロセスを、ホストデバイス上のアプリケーションにコンピューティング環境を提供するように構成できることを理解されたい。ポータブルデバイス上のプロセスは、ホストデバイス上のコンピューティング環境を、ポータブルデバイスに関連する、ある特定のユーザの所望の設定に構成することができる。一実装形態では、コンピューティング環境を、ホストデバイス上で一時的に、動的に実行することができる。この実装形態において、ホストデバイスにおける状態を、ポータブルデバイスによって提供されるコンピューティング環境によって永久的には変えられない。
【００３９】
図５は、ポータブルデバイス上のプロセスと対話するプロセス例５００を示す。プロセス５００を、ホストデバイスによって、ポータブルデバイス上のアプリケーションサービスへのアクセスを得るために実装することができる。ブロック５０５で、ポータブルデバイス上のプロセスに関連づけられたデータが受け取られる。このプロセスは、アプリケーションサービスを含み得る。ブロック５１０で、ホストデバイスによってユーザインターフェイスが開始される。ユーザインターフェイスは、ブラウザなど、ユーザ対話を許可するどのアプリケーションも含み得る。ユーザインターフェイスを、ポータブルデバイスから受け取られ、またはホストデバイスの構成の一部である自動起動プロセスに従って開始することができる。一実装形態では、ポータブルデバイスは、ホストデバイスにポータブルデバイスが接続されたときに発見される。ホストデバイスは、ポータブルデバイスが発見されたときにホストデバイスがとるアクションの組合せによって、命令されたようにプロセスをスタートアップすることができる。命令は、ホストデバイスがポータブルデバイスにアクセスすると、利用可能になる。
【００４０】
ブロック５１５で、ホストデバイスのユーザインターフェイスは、ポータブルデバイスのアプリケーションサービスと通信させられる。たとえば、ブラウザの形のユーザインターフェイスを、アプリケーションサービスに関連づけられたＩＰアドレスまたはＵＲＬをブラウズするように構成することができる。ブロック５２０で、ユーザインターフェイスは、アプリケーションサービスとユーザが対話するのを可能にする。
【００４１】
図６は、ポータブルデバイスへのアクセスに関連してセキュリティチェックを実施するプロセス例６００を示す。プロセス６００を、ポータブルデバイスによって、許可されたユーザを認証するために実施することができる。ブロック６０５で、ポータブルデバイスに関連づけられたキーが取得される。キーは、ＣＡのデジタル証明書に関連づけることができる。ブロック６１０で、ユーザ認証がリクエストされる。キーに関連づけられた情報を、ユーザ認証を実施するために、ユーザに対して要求することができる。情報は、たとえばユーザ名、パスワード、生体認証データなど、どのタイプのデータでもよい。
【００４２】
判断ブロック６１５で、ユーザが認証されるかどうか、判定が行われる。認証されない場合、プロセス６００は、ブロック６３５に移り、ここで、ユーザによるアクセスを求めるリクエストは拒否される。ユーザが認証された場合、プロセスは、ブロック６２０に移り、ここで、ポータブルデバイスとホストデバイスの間の通信を、キーで暗号化することができる。
【００４３】
ブロック６２５で、他のセキュリティチェックが実施される。たとえば、ポータブルデバイスは、ネットワーク上の他のアプリケーションサービスに接続することによって、セキュリティチェックを実施することができる。こうした他のアプリケーションサービスは、たとえばユーザ認証の検証、ユーザ許可のチェック、ポータブルデバイスにおける状態の検証など、セキュリティ動作をさらに実施することができる。ブロック６３０で、すべてのセキュリティチェックが首尾よく実施された場合、ユーザは、ポータブルデバイス上のアプリケーションサービスにアクセスすることを許可される。
【００４４】
図７は、離れた場所にあるポータブルデバイスの状態を複製するプロセス例７００を示す。プロセス７００を、ポータブルデバイスによって、ネットワークサーバ上での状態のバックアップをとるために実施することができる。こうした状態は、アプリケーション、構成、カスタマイズ、ユーザデータなどを含み得る。ブロック７０５で、ポータブルデバイス上での状態のバックアップをとるという決定が行われる。この決定を、たとえば所定の期間の経過、メモリ閾値の超過、アップデートされた状態がサーバ上で入手可能であるという判断、ホストデバイスへのポータブルデバイスの接続など、どの条件によってもトリガすることができる。
【００４５】
ブロック７１０で、ポータブルデバイスは、ネットワーク上のリモートアプリケーションサービスに接続される。ブロック７１５で、リモートアプリケーションサービスによって管理され、ポータブルデバイスに対応する状態が判定される。リモートアプリケーションサービスの、対応する状態は、ポータブルデバイスにおける状態のバックアップコピーでよい。判断ブロック７２０で、アップデートが必要とされるかどうか、判定が行われる。たとえば、ポータブルデバイスが、リモートサーバ上のポータブルデバイスに対応する状態とは異なる、新しい状態または変更状態を含む場合、アップデートが必要とされる可能性がある。アップデートが必要とされない場合、プロセス７００は、ブロック７３０に移る。アップデートが必要とされる場合、プロセス７００は、ブロック７２５に進み、ここで、ポータブルデバイスにおける状態およびリモートアプリケーションサービスにおける状態が同期される。プロセス７００は次いで、やはりブロック７３０で継続し、ここでプロセスは、ポータブルデバイスに対する他の動作を実施するために戻される。
【００４６】
図８は、ネットワーク上のサーバによって管理されるアプリケーションサービスへのアクセスを提供するプロセス例８００を示す。プロセス８００を、ポータブルデバイスによって、ホストデバイスにリモートアプリケーションサービスを提供するために実装することができる。ブロック８０５で、ポータブルデバイスは、ホストデバイスを介してネットワークに接続される。ポータブルデバイスは、ホストデバイスによって確立されている通信リンクを使用することができる。
【００４７】
ブロック８１０で、ネットワーク上のリモートアプリケーションサービスが判定される。このリモートアプリケーションサービスは、どのタイプのアプリケーションも含み得る。ブロック８１５で、ホストデバイスから、アクセスを求めるリクエストが受け取られる。このリクエストには、リモートアプリケーションサービスによって提供される機能で応答することができる。ブロック８２０で、リクエストは、プロキシによってリモートアプリケーションサービスに送られる。たとえば、ポータブルデバイスは、リモートアプリケーションサービスがポータブルデバイス上で実行中であるかのように、ホストデバイスにリモートアプリケーションサービスを提示することができる。ポータブルデバイスは、促進された、または活性化されたユーザ経験を提供するために、リモートアプリケーションサービスを有するローカルアプリケーションサービスも含み得る。
【００４８】
図９は、ポータブルデバイスにおける状態をアップグレードするプロセス例９００を示す。ブロック９０５で、ポータブルデバイス上でスタートアッププロセスが開始される。判断ブロック９１０で、ポータブルデバイスにおける状態をアップデートするかどうか、判定が行われる。たとえば、状態は、認証された使用期間が満了した後で、アップデートを要求することができる。ポータブルデバイスにおける状態が、アップデートを要求しない場合、プロセス９００は、ブロック９３０に移る。
【００４９】
判断ブロック９１０に戻ると、ポータブルデバイスにおける状態がアップデートを必要とする場合、プロセス９００は、ブロック９１５に進み、ここで、リモートアプリケーションサービスへの接続が確立される。リモートアプリケーションサービスは、ソフトウェア管理サーバのアプリケーションでよい。ブロック９２０で、アップデートされる必要がある状態が判定される。ブロック９２５で、新しい状態が取得され、ポータブルデバイスに組み込まれる。アップデートは、状態の一部分またはポータブルデバイスにおける状態すべてを置き換えることによって、実施することができる。ブロック９３０で、プロセス９００は、スタートアッププロセスを実施し続ける。
【００５０】
図１０は、ポータブルデバイスとホストデバイスの間の通信例１０００を示す。通信例１０００を、どの通信媒体形式でも実装することができ、どの通信プロトコルにも従い得る。通信例１０００は、ポータブルデバイスがホストデバイスに接続された後で起こり得る。ホストデバイスは、デバイスクエリを含むメッセージ１００５をポータブルデバイスに送ることができる。それに応答して、ポータブルデバイスは、ネットワークデバイス列挙データを有するメッセージ１０１０を送ることができる。ホストデバイスは、このデータを使って、ポータブルデバイスをネットワークベースのコンピューティングデバイスとして識別し列挙することができる。
【００５１】
ホストデバイスは、デバイスデータを有するメッセージ１０１５をポータブルデバイスに送ることができる。デバイスデータは、ネットワーク構成、ホストデバイスに関連づけられたＩＰアドレス、スクリーンサイズおよび解像度、または他のハードウェアおよびソフトウェア関連情報など、どのタイプのデバイス情報も含み得る。それに応答して、ポータブルデバイスは、構成データを有するメッセージ１０２０をホストデバイスに送ることができる。構成データは、動作を実施する命令を含み得る。たとえば、構成データは、指定されたアドレスによって識別されるページに対するリクエストを送るブラウザを起動するための命令を含み得る。ホストデバイスは、ポータブルデバイスに関連づけられたＩＰアドレスまたはＵＲＬによって識別されるリクエストを含むメッセージ１０２５を送ることができる。
【００５２】
ポータブルデバイスは、ユーザ認証を求めるリクエストを含むメッセージ１０３０を送ることもできる。それに応答して、ホストデバイスは、認証情報を含むメッセージ１０３５を送ることができる。認証情報が有効な場合、ポータブルデバイスは、ポータブルデバイス内のアプリケーションサービスによって生成されたデータを有するメッセージ１０４０を送ることができる。ホストデバイスは、ウェブブラウザなどのユーザインターフェイスを用いて、ユーザにデータを提示することができる。
【００５３】
図１１は、ポータブルコンピューティング環境ソリューションを提供するシステム例１１００を示す。ポータブルコンピューティング環境ソリューションは、デバイス非依存でありカスタマイズ可能な、ポータブルなコンピューティング環境をユーザが作成し実装するのを可能にする。このコンピューティング環境は通常、ポータブルコンピューティングデバイスによって提供され、ポータブルデバイスに接続されたどのホストデバイス上でも実装することができる。コンピューティング環境の構成は、ホストデバイス上に格納される必要がない動的状態として表される。このようにして、ユーザは、自分用に設定されたコンピューティング環境を、自分が利用可能などのデバイス上にも実装することができる。ポータブルコンピューティング環境ソリューションは、多数のユーザが１台のコンピュータを効率的かつ安全に共有することも可能にする。
【００５４】
プロバイダ１１０５は、ポータブルコンピューティング環境ソリューションを、ユーザ１１１０のなどのユーザにとって利用可能にする。ポータブルコンピューティング環境ソリューションは、インテリジェントＦＯＢ（ＩＦＯＢ）１１１５などのポータブルデバイスを含む。ＩＦＯＢ１１１５は、メモリ、処理ユニット、および接続機構を有する、どのタイプのデバイスでもよい。たとえば、ＩＦＯＢ１１１５は、ウェブサービスに関連する状態を格納するフラッシュメモリおよびウェブサービスを実行する処理ユニットを含むＵＳＢデバイスでよい。一実装形態では、ハードウェアを簡素化するために、ＩＦＯＢ１１１５は、表示画面もどの入力手段も備えずに構成される。ポータブルコンピューティング環境ソリューションは、ウェブサービス１１２０を提供するソフトウェアも含み得る。
【００５５】
ポータブルコンピューティング環境ソリューションを、どのようなやり方でも提供することができる。始めに、ユーザ１１１０は、プロバイダ１１０５または別の当事者から、ＩＦＯＢ１１１５を入手する。ユーザ１１１０は、プロバイダ１１０５に、ポータブルデバイス１１１５をアクチベートするようリクエストすることができる。それに応答して、プロバイダ１１０５は、ユーザ１１１０に、ポータブルデバイス１１１５をアクチベートするためのアクセス機構を提供することができる。たとえば、プロバイダ１１０５は、ポータブルデバイス１１１５内のプロセスをアクチベートするためのコードを提供することができる。プロバイダ１１０５は、デバイスに接続しデバイスを構成することによって、ポータブルデバイス１１１５をアクチベートすることもできる。ポータブルデバイス１１１５を、プロバイダ１１０５によって管理されるデバイスに直接接続されることによって、または共有コンピュータ１１２５を介して接続されることによって、アクチベートすることができる。
【００５６】
ポータブルデバイス１１１５を管理し維持するために、プロバイダ１１０５は、ウェブサービス１１２０に接続するように、ＩＦＯＢ１１１５を構成することができる。ウェブサービス１１２０は、プロバイダ１１０５によって管理され、ポータブルデバイス１１１５用に、たとえばアクチベーションサービス、認証サービス、バックアップサービス、アップデートサービス、コンテンツダウンロードサービス、診断サービスなど、どのサービスも実施することができる。
【００５７】
プロバイダ１１０５は、共有コンピュータ１１２５を構成するサービスを供給することもできる。たとえば、プロバイダ１１０５は、ＩＦＯＢ１１１５によって提供されるウェブサービスと、共有コンピュータ１１２５が対話することを可能にするソフトウェアを提供することができる。このソフトウェアは、ＩＦＯＢ１１１５によって提供されるウェブサービスと対話するように構成された、共有コンピュータ１１２５上のブラウザを含み得る。
【００５８】
図１２は、本明細書に記載するシステムおよび方法を実装するポータブルデバイス例１２００を示す。ポータブルデバイス１２００は、どのタイプのコンピューティングデバイスでもよい。最も基本的な構成において、ポータブルデバイス１２００は通常、少なくとも１つの処理ユニット１２０５、メモリ１２２０、ストレージ１２２５、および接続インターフェイス１２３５を含む。
【００５９】
コンピューティングデバイスの正確な構成およびタイプに応じて、メモリ１２２０は、揮発性（ＲＡＭなど）でも、不揮発性（たとえばＲＯＭ、フラッシュメモリなど）でも、この２つの何らかの組合せでもよい。処理ユニット１２０５は、プロセッサおよびメモリコントローラを有する、どのタイプの処理ユニットでもよい。処理ユニット１２０５は、ＣＡに関連づけられた機能を含み得る。たとえば、デジタル証明書に関連づけられたデータ１２１０を、処理ユニット１２０５に埋め込むことができる。
【００６０】
ポータブルデバイス１２００は、フラッシュメモリ、磁気／光ディスク／テープを含むがそれに限定されないストレージ１２２５も含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するどの方法でも技術でも実装される、揮発性および不揮発性のメモリおよびストレージを含む。メモリ１２２０、ストレージ１２２５は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル多用途ディスク）または他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイス、あるいは、所望の情報を格納するのに使うことができるとともにポータブルデバイス１２００によってアクセスすることができる他のどの媒体も含むが、それに限定されるものではない。このようなどのコンピュータ記憶媒体も、ポータブルデバイス１２００の一部でよい。
【００６１】
ポータブルデバイス１２００は、接続インターフェイス１２３５も含み得る。このような接続インターフェイス１２３５は、ポータブルデバイス１２００が他のデバイスに接続されることを可能にする。接続インターフェイス１２３５は、たとえばＵＳＢ、ファイアワイヤ、Ｗｉ−Ｆｉ、ＲＦ、赤外線、光学など、どのタイプの通信機構も含み得る。接続インターフェイス１２３５によって、他のデバイスと通信するのに使われる信号は、通信媒体の例である。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調データ信号で具体化し、どの情報配信媒体も含む。「変調データ信号」という用語は、信号中の情報をエンコードするようなやり方で設定されまたは変更される信号特性の１つまたは複数を有する信号を意味する。限定ではなく例として、通信媒体は、配線接続された媒体、たとえば配線接続されたネットワークおよび直接配線接続、ならびに無線媒体、たとえば音波、ＲＦ、赤外線、および他の無線媒体を含む。本明細書で使用されるコンピュータ可読媒体という用語は、コンピュータ記憶媒体および通信媒体両方を含む。本明細書に記載する方法を、たとえばデータ、コンピュータ実行可能命令など、どの形のどのコンピュータ可読媒体でもエンコードすることができる。
【００６２】
ポータブルデバイス１２００は、クロック１２１５などの計時デバイスを含み得る。クロック１２１５は、ポータブルデバイス１２００に時間参照を提供し、この参照を、メモリ１２２０またはストレージ１２２５中の状態が有効かどうか判定するのに用いることができる。ポータブルデバイス１２００は、ホストコンピューティングデバイスからの電力を制御するため、かつ処理ユニット１２０５および他のコンポーネントに電力を供給するための電力レギュレータ１２３０を含み得る。ポータブルデバイス１２００は、たとえば生体検出デバイス、キーボード、マウス、ペン、音声入力デバイス、タッチ式入力デバイスなどの入力デバイス１２４０も有し得る。こうしたすべてのデバイスは、当該分野において公知であり、本明細書で詳細に説明する必要はない。
【００６３】
本発明の好ましい実施形態を例示し説明したが、本発明の精神および範囲から逸脱することなく、様々な変更を行うことができることが理解されよう。
【００６４】
以下は、本発明の好ましい実施形態のリストである。
【００６５】
Ｅ１  ホストデバイスにポータブルデバイスを接続するステップと、
前記ポータブルデバイスのコンピューティングモジュールを有するプロセスを実行するステップであって、前記プロセスは、コンピューティング環境を生成するように構成されるステップと、
前記ホストデバイス上で実行されるアプリケーションに、前記コンピューティング環境を提供するステップとを備える方法。
【００６６】
Ｅ２  前記プロセスはアプリケーションサービスである実施形態Ｅ１に記載の方法。
【００６７】
Ｅ３  前記アプリケーションはブラウザである実施形態Ｅ１に記載の方法。
【００６８】
Ｅ４  前記ホストデバイスに前記ポータブルデバイスを接続するステップは、ユニバーサルシリアルバス（ＵＳＢ）インターフェイスを用いて実施される実施形態Ｅ１に記載の方法。
【００６９】
Ｅ５  前記プロセスに関連する状態を判定するステップと、
前記状態に少なくとも部分的に基づいて、前記コンピューティング環境を構成するステップとをさらに備える実施形態Ｅ１に記載の方法。
【００７０】
Ｅ６  前記状態は、前記コンピューティング環境用に、ユーザによって選択されたカスタマイズを表す実施形態Ｅ５に記載の方法。
【００７１】
Ｅ７  前記ポータブルデバイスをネットワークデバイスとして識別するステップをさら備える実施形態Ｅ１に記載の方法。
【００７２】
Ｅ８  異なる２つのコンピューティングデバイスが通信するためのプロセスを許可するプロトコルに少なくとも部分的に基づいて、前記ホストデバイスを、前記ポータブルデバイスと通信するように構成するステップをさらに備える実施形態Ｅ１に記載の方法。
【００７３】
Ｅ９  前記ホストデバイスからアドレスを受け取るステップと、
前記ホストデバイスに前記アドレスを関連づけるステップとをさらに備える実施形態Ｅ１に記載の方法。
【００７４】
Ｅ１０  前記アドレスは、インターネットプロトコル（ＩＰ）アドレスまたはユニフォームリソースロケータ（ＵＲＬ）の少なくとも一方を含む実施形態Ｅ９に記載の方法。
【００７５】
Ｅ１１  前記アドレスを用いて前記プロセスと通信するステップをさらに備える実施形態Ｅ９に記載の方法。
【００７６】
Ｅ１２  前記ホストデバイスのＵＳＢポートに前記ポータブルデバイスを接続するステップと、
前記ポータブルデバイス内の開始プロシージャを判定するステップであって、前記開始プロシージャは、前記ポータブルデバイスに関連づけられたアドレスへのブラウザを開くための命令を含むステップと、
前記ホストデバイス内で前記開始プロシージャを自動的に実行するステップとをさらに備える実施形態Ｅ１に記載の方法。
【００７７】
Ｅ１３  前記開始プロシージャは、ＩＰアドレスの識別、ＵＲＬの識別、ネットワークを介したサーバとの接続の確立、またはブラウザの起動の少なくとも１つを含む実施形態Ｅ１２に記載の方法。
【００７８】
Ｅ１４  前記ポータブルデバイスに関連づけられたアドレスにリクエストを送るように、ユーザインターフェイスが構成される実施形態Ｅ１に記載の方法。
【００７９】
Ｅ１５  前記ポータブルデバイスに関連づけられたキーを判定するステップと、
前記キーに少なくとも部分的に基づいて、前記ポータブルデバイスを認証するステップとをさらに備える実施形態Ｅ１に記載の方法。
【００８０】
Ｅ１６  前記ポータブルデバイス内部のインジケータを取得するステップであって、前記インジケータは、前記プロセスに関連づけられた使用条件が有効であるかどうかを指定するステップと、
前記条件が有効でないことを前記インジケータが示す場合、前記プロセスへのアクセスを拒否するステップとをさらに備える実施形態Ｅ１に記載の方法。
【００８１】
Ｅ１７  前記インジケータは、時間、認証状態、またはバージョン状態の少なくとも１つを表す実施形態Ｅ１に記載の方法。
【００８２】
Ｅ１８  実行されると、少なくとも１つのプロセッサに、実施形態Ｅ１に記載の方法を実施させるコンピュータ実行可能命令でエンコードされた１つまたは複数のコンピュータ可読媒体。
【００８３】
Ｅ１９  少なくとも１つのプロセッサを有するコンピューティングモジュールと、
ホストデバイスと通信するように構成されたインターフェイスモジュールと、
命令を含むメモリモジュールとを備える装置であって、前記命令は、実行されると、前記少なくとも１つのプロセッサに、
前記ホストデバイスに対して前記装置を識別させ、
前記ホストデバイスとの通信リンクを確立させ、
前記コンピューティングモジュール上のプロセスを実行させ、かつ
プロトコルに少なくとも部分的に基づいて、前記ホストデバイス上のアプリケーションが前記プロセスと対話することを可能にさせる装置。
【００８４】
Ｅ２０  前記プロセスは、コンピューティング環境を提供するように構成されたアプリケーションサービスを含む実施形態Ｅ１９に記載の装置。
【００８５】
Ｅ２１  前記アプリケーションサービスは、前記ホストデバイス上で実行されるアプリケーションにデータを提供するように構成される実施形態Ｅ２０に記載の装置。
【００８６】
Ｅ２２  前記データは、拡張マークアップ言語（ＸＭＬ）、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）、ウェブサービス記述言語（ＷＳＤＬ）、またはＵＤＤＩ（ｕｎｉｖｅｒｓａｌ  ｄｅｓｃｒｉｐｔｉｏｎ，  ｄｉｓｃｏｖｅｒｙ  ａｎｄ  ｉｎｔｅｇｒａｔｉｏｎ）の少なくとも１つを用いて、前記ホストデバイス上の前記アプリケーションに提供される実施形態Ｅ２１に記載の装置。
【００８７】
Ｅ２３  前記メモリモジュールは、前記アプリケーションサービスに関連する状態を表すデータをさらに備える実施形態Ｅ２０に記載の装置。
【００８８】
Ｅ２４  前記命令は、前記少なくとも１つのプロセッサにさらに、前記状態に少なくとも部分的に基づいて、前記アプリケーションサービスを構成させる実施形態Ｅ２３に記載の装置。
【００８９】
Ｅ２５  コンピューティング環境を提供するようにウェブサービスが構成され、前記状態は、前記コンピューティング環境のカスタマイズを表す実施形態Ｅ２３に記載の装置。
【００９０】
Ｅ２６  前記メモリモジュールは、フラッシュメモリ、ランダムアクセスメモリ（ＲＡＭ）、ハードドライブ、または光学ドライブの少なくとも１つを含む実施形態Ｅ１９に記載の装置。
【００９１】
Ｅ２７  第１のタイミング識別子を提供するように構成された計時装置をさらに備える実施形態Ｅ１９に記載の装置。
【００９２】
Ｅ２８  前記命令は、前記少なくとも１つのプロセッサにさらに、
前記プロセスに関連づけられた第２のタイミング識別子を判定させ、かつ
前記第１のタイミング識別子に相対して前記第２のタイミング識別子が無効な場合、前記プロセスへのアクセスを拒否させる実施形態Ｅ２７に記載の装置。
【００９３】
Ｅ２９  前記第２のタイミング識別子が前記第１のタイミング識別子によって表される別の時間より後の時間を表す場合、前記第２のタイミング識別子は無効となる実施形態Ｅ２８に記載の装置。
【００９４】
Ｅ３０  前記命令は、前記少なくとも１つのプロセッサにさらに、前記ホストデバイスに対して、前記装置をネットワークデバイスとして識別させる実施形態Ｅ１９に記載の装置。
【００９５】
Ｅ３１  前記通信リンクは、ユニバーサルシリアルバス（ＵＳＢ）接続、無線周波数（ＲＦ）接続、Ｗｉ−Ｆｉ（ＩＥＥＥ８０２．１１）接続、ブルートゥース接続、ファイアワイヤ（ＩＥＥＥ１３９４）接続、赤外線接続、または光学接続の少なくとも１つを含む実施形態Ｅ１９に記載の装置。
【００９６】
Ｅ３２  前記プロトコルは、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、伝送制御プロトコル（ＴＣＰ）、またはリモートプロシージャコール（ＲＰＣ）プロトコルの少なくとも１つを含む実施形態Ｅ１９に記載の装置。
【００９７】
Ｅ３３  少なくとも１つのプロセッサを有するコンピューティングモジュールと、
ポータブルデバイスと通信するように構成されたインターフェイスモジュールと、
命令を含むメモリモジュールとを備える装置であって、前記命令は、実行されると、前記少なくとも１つのプロセッサに、
前記ポータブルデバイスを検出させ、
前記ポータブルデバイスとの通信リンクを確立させ、
前記ポータブルデバイスによって提供されるウェブサービスを判定させ、かつ
前記ウェブサービスと対話するユーザインターフェイスを提供させる装置。
【００９８】
Ｅ３４  前記命令は、前記少なくとも１つのプロセッサにさらに、前記ウェブサービスによって提供される前記データに少なくとも部分的に基づいて、コンピューティング環境を提供させる実施形態Ｅ３３に記載の装置。
【００９９】
Ｅ３５  前記命令は、前記少なくとも１つのプロセッサにさらに、前記ポータブルデバイスから状態を取得させる実施形態Ｅ３４に記載の装置。
【０１００】
Ｅ３６  前記命令は、前記少なくとも１つのプロセッサにさらに、前記取得された状態を用いて前記コンピューティング環境を構成させる実施形態Ｅ３５に記載の装置。
【０１０１】
Ｅ３７  ネットワークへの接続を確立するように構成されたネットワークデバイスをさらに備える実施形態Ｅ３３に記載の装置。
【０１０２】
Ｅ３８  前記ネットワークデバイスは、前記ポータブルデバイスによる使用のために前記接続を提供するようにさらに構成される実施形態Ｅ３７に記載の装置。
【０１０３】
Ｅ３９  プロセスに関連する状態を表す第１のデータフィールドと、
前記プロセスをポータブルデバイスに実行させる命令を含む第２のデータフィールドと、
ホストデバイス上のユーザインターフェイスに、前記プロセスと対話させる命令を含む第３のデータフィールドとを備えるデータ構造でエンコードされた１つまたは複数のコンピュータ可読媒体。
【０１０４】
Ｅ４０  前記第３のデータフィールド中の前記命令は、前記ホストデバイスにさらに、コンピューティング環境を提供させる実施形態Ｅ３９に記載の１つまたは複数のコンピュータ可読媒体。
【０１０５】
Ｅ４１  前記第３のデータフィールド中の前記命令は、前記ホストデバイスにさらに、前記第１のデータフィールド中の前記状態に少なくとも部分的に基づいて、前記コンピューティング環境を構成させる実施形態Ｅ４０に記載の１つまたは複数のコンピュータ可読媒体。
【０１０６】
Ｅ４２  前記プロセスは、ウェブサービスを含む実施形態Ｅ３９に記載の１つまたは複数のコンピュータ可読媒体。
【０１０７】
Ｅ４３  前記データ構造は、キーで暗号化される実施形態Ｅ３９に記載の１つまたは複数のコンピュータ可読媒体。
【０１０８】
Ｅ４４  前記キーは、前記ポータブルデバイスの処理ユニットに埋め込まれる実施形態Ｅ４３に記載の１つまたは複数のコンピュータ可読媒体。
【０１０９】
Ｅ４５  ポータブルデバイスとホストデバイスの間の通信方法であって、
前記ポータブルデバイスによって前記ホストデバイスに、前記ポータブルデバイスをネットワークデバイスとして識別するメッセージを送るステップと、
前記ポータブルデバイスによって前記ホストデバイスに、前記ポータブルデバイス上で実行されるプロセスに関連づけられた識別子を送るステップと、
前記ホストデバイスによって前記ポータブルデバイスに、前記プロセスと対話するためのリクエストを送るステップであって、前記リクエストは前記識別子を含むステップと、
前記ポータブルデバイスによって前記ホストデバイスに、前記プロセスに関連する状態を送るステップとを備える方法。
【０１１０】
Ｅ４６  前記ポータブルデバイスによって前記ホストデバイスに、前記プロセスと対話するための命令を送るステップをさらに備える実施形態Ｅ４４に記載の方法。
【０１１１】
Ｅ４７  前記識別子は、ＩＰアドレスまたはユニフォームリソースロケータ（ＵＲＬ）の少なくとも一方を含む実施形態Ｅ４４に記載の方法。
【０１１２】
Ｅ４８  ポータブルデバイスをホストデバイスと接続する手段と、
前記ポータブルデバイス上のアプリケーションサービスを実行する手段と、
前記ホストデバイス上で実行されるブラウザによって、前記アプリケーションにアクセスする手段とを備える装置。
【０１１３】
Ｅ４９  前記アプリケーションがウェブサービスプロトコルを用いて前記プロセスにアクセスするための手段をさらに備える実施形態Ｅ４８に記載の装置。
【０１１４】
Ｅ５０  前記ポータブルデバイスがネットワークデバイスとして前記ホストデバイスに接続するための手段をさらに備える実施形態Ｅ４８に記載の装置。
【０１１５】
Ｅ５１  前記プロセスが前記ホストデバイスにコンピューティング環境を提供するための手段をさらに備える実施形態Ｅ４８に記載の装置。
【０１１６】
Ｅ５２  前記ポータブルデバイスに関連する状態を判定する手段をさらに備える実施形態Ｅ５０に記載の装置。
【０１１７】
Ｅ５３  前記ポータブルデバイスが前記状態を用いて前記コンピューティング環境をカスタマイズするための手段をさらに備える実施形態Ｅ５１に記載の装置。
【０１１８】
Ｅ５４  ホストデバイスにポータブルデバイスを接続するステップと、
前記ポータブルデバイスのコンピューティングモジュールを用いてプロセスをインスタンス化するステップと、
前記ポータブルデバイスに埋め込まれているセキュリティ情報を取得するステップと、
前記ホストに認証データをリクエストするステップと、
前記埋め込まれているセキュリティ情報に少なくとも部分的に基づいて、前記認証データが有効かどうか判定するステップと、
前記認証データが有効な場合、前記ポータブルデバイス上の前記プロセスへのアクセスを有する、前記ホストデバイス上で実行されるアプリケーションを提供するステップとを含む方法。
【０１１９】
Ｅ５５  前記ホストデバイスから実行可能命令を受け取るステップと、
前記埋め込まれているセキュリティ情報に少なくとも部分的に基づいて、前記実行可能命令を認証するステップと、
前記実行可能命令が認証されない場合、前記実行可能命令が前記コンピューティングモジュールによって実行されないようにするステップとをさらに備える実施形態Ｅ５４に記載の方法。
【０１２０】
Ｅ５６  前記セキュリティ情報は、デジタル証明書に関連づけられたキーを含む実施形態Ｅ５４に記載の方法。
【０１２１】
Ｅ５７  前記認証データが有効でない場合、前記ホストデバイスが前記ポータブルデバイス上の前記プロセスにアクセスしないようにさせるステップをさらに含む実施形態Ｅ５４に記載の方法。
【０１２２】
Ｅ５８  前記認証データは、ユーザ名、パスワード、個人情報、生体データ、キー、または認証に関連する情報の少なくとも１つを含む実施形態Ｅ５４に記載の方法。
【０１２３】
Ｅ５９  ネットワーク上のサーバを判定するステップと、
前記サーバに前記認証データを提供するステップと、
前記認証データが有効であるかどうかについての情報を、前記サーバから受け取るステップとをさらに備える実施形態Ｅ５４に記載の方法。
【０１２４】
Ｅ６０  前記ポータブルデバイスの入力インターフェイスから、認証データを受け取るステップをさらに備える実施形態Ｅ５４に記載の方法。
【０１２５】
Ｅ６１  前記ホストデバイスの入力インターフェイスから、認証データを受け取るステップをさらに備える実施形態Ｅ５４に記載の方法。
【０１２６】
Ｅ６２  前記ポータブルデバイスと前記ホストデバイスの間の通信を、前記セキュリティ情報に少なくとも部分的に基づいて暗号化するステップをさらに備える実施形態Ｅ５４に記載の方法。
【０１２７】
Ｅ６３  前記ポータブルデバイスに格納されている状態を、前記セキュリティ情報に少なくとも部分的に基づいて暗号化するステップをさらに備える実施形態Ｅ５４に記載の方法。
【０１２８】
Ｅ６４  前記ポータブルデバイスに格納されている状態を、前記セキュリティ情報に少なくとも部分的に基づいて復号するステップをさらに備える実施形態Ｅ５４に記載の方法。
【０１２９】
Ｅ６５  少なくとも１つの処理ユニットを有するコンピューティングモジュールと、
ホストデバイスと通信するように構成されたインターフェイスモジュールと、
命令を含むメモリモジュールとを備える装置であって、前記命令は、実行されると、前記処理ユニットに、
前記ホストデバイスに接続させ、
前記ホストデバイス上のアプリケーションと対話するように構成されたプロセスをインスタンス化させ、
前記コンピューティングモジュールに埋め込まれているセキュリティ情報を取得させ、
認証データを受け取らせ、
前記セキュリティ情報に少なくとも部分的に基づいて、前記認証データが有効かどうか判定させ、かつ
前記認証データが有効でない場合、前記ホストデバイス上のアプリケーションからの、前記プロセスと対話するためのリクエストを拒否させる装置。
【０１３０】
Ｅ６６  前記セキュリティ情報は、前記処理ユニットに埋め込まれている実施形態Ｅ６５に記載の装置。
【０１３１】
Ｅ６７  前記セキュリティ情報は、認証局（ＣＡ）に関連づけられたデータを含む実施形態Ｅ６５に記載の装置。
【０１３２】
Ｅ６８  前記セキュリティ情報は、前記ＣＡのデジタル証明書に関連づけられたキーを含む実施形態Ｅ６７に記載の装置。
【０１３３】
Ｅ６９  前記命令は、前記処理ユニットにさらに、前記装置と前記ホストデバイスの間の通信を前記キーで暗号化させる実施形態Ｅ６８に記載の装置。
【０１３４】
Ｅ７０  前記メモリモジュールは、前記キーで暗号化される状態をさらに含む実施形態Ｅ６８に記載の装置。
【０１３５】
Ｅ７１  前記認証データは、ユーザ名、パスワード、個人情報、生体データ、またはキーの少なくとも１つを含む実施形態Ｅ６５に記載の装置。
【０１３６】
Ｅ７２  前記認証データを受け取るように構成された入力インターフェイスをさらに備える実施形態Ｅ６５に記載の装置。
【０１３７】
Ｅ７３  前記入力インターフェイスは、キーパッド、生体リーダ、フィンガープリントリーダ、網膜スキャナ、音声認識デバイス、化学検出装置、または画像認識デバイスの少なくとも１つを含む実施形態Ｅ７２に記載の装置。
【０１３８】
Ｅ７４  前記命令は、前記処理ユニットにさらに、セキュリティチェックを実施するように構成された、ネットワーク上のサーバとの通信リンクを確立させる実施形態Ｅ６５に記載の装置。
【０１３９】
Ｅ７５  前記命令は、前記処理ユニットにさらに、認証のために前記サーバに前記認証データを提供させる実施形態Ｅ７４に記載の装置。
【０１４０】
Ｅ７６  前記命令は、前記処理ユニットにさらに、認証のために前記サーバに、前記メモリモジュールにおける状態を提供させる実施形態Ｅ７４に記載の装置。
【０１４１】
Ｅ７７  第１のデータ構造でエンコードされた第１のコンピュータ可読媒体と、
第２のデータ構造でエンコードされた第２のコンピュータ可読媒体とを備えるポータブルコンピューティング装置であって、
前記第１のデータ構造は、セキュリティ情報を含む第１のデータフィールドを含み、
前記第２のデータ構造は、プロセスに関連する状態を含む第２のデータフィールドと、
ポータブルコンピューティング装置に、前記セキュリティ情報を用いて認証を実施させる命令を含む第３のデータフィールドと、
ホストデバイス上のアプリケーションに、前記プロセスと対話させる命令を含む第４のデータフィールドとを含む装置。
【０１４２】
Ｅ７８  前記第１のコンピュータ可読媒体は、前記ポータブルコンピューティング装置のコンピューティングモジュールに組み込まれている実施形態Ｅ７７に記載のポータブルコンピューティング装置。
【０１４３】
Ｅ７９  前記第１のデータフィールド中の前記セキュリティ情報は、ユーザ名、パスワード、個人情報、生体データ、キー、または認証に関連する情報の少なくとも１つを含む実施形態Ｅ７７に記載のポータブルコンピューティング装置。
【０１４４】
Ｅ８０  前記第１のデータフィールド中の前記セキュリティ情報は、デジタル証明書に関連づけられたキーを含む実施形態Ｅ７７に記載のポータブルコンピューティング装置。
【０１４５】
Ｅ８１  前記第２のデータフィールド、前記第３のデータフィールド、および前記第４のデータフィールドの少なくとも１つは、前記キーに少なくとも部分的に基づいて暗号化される実施形態Ｅ８０に記載のポータブルコンピューティング装置。
【０１４６】
Ｅ８２  前記第２のデータ構造は、前記ポータブルコンピューティング装置に、前記キーに少なくとも部分的に基づいて、前記ホストデバイスとの通信を暗号化させる命令を含む第５のデータフィールドをさらに含む実施形態Ｅ８０に記載のポータブルコンピューティング装置。
【０１４７】
Ｅ８３  前記第２のデータ構造は、前記ポータブルコンピューティング装置に、ネットワーク上のサーバを用いて、前記第２のデータフィールド中の前記状態を検証させる命令を含む第５のデータフィールドをさらに含む実施形態Ｅ７７に記載のポータブルコンピューティング装置。
【０１４８】
Ｅ８４  ホストデバイスとの通信リンクを確立する手段と
装置のコンポーネントに組み込まれているセキュリティ情報を判定する手段と、
プロセスに関連する状態を前記装置に格納する手段と、
認証データをリクエストする手段と、
前記セキュリティ情報に少なくとも部分的に基づいて、前記認証データが有効かどうか判定する手段と、
前記認証データが有効な場合、前記ホストデバイスが、前記プロセスにアクセスすることを可能にする手段とを備える装置。
【０１４９】
Ｅ８５  前記装置のコンピューティングモジュールに埋め込まれているセキュリティ情報を取得する手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５０】
Ｅ８６  前記コンピューティングモジュールを有する前記プロセスを実行する手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５１】
Ｅ８７  前記装置の入力インターフェイスから認証データを受け取る手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５２】
Ｅ８８  前記ホストデバイスの入力インターフェイスから認証データを受け取る手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５３】
Ｅ８９  前記セキュリティ情報に少なくとも部分的に基づいて、前記装置と前記ホストデバイスの間の通信を暗号化する手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５４】
Ｅ９０  前記セキュリティ情報に少なくとも部分的に基づいて、前記装置に格納されている状態を暗号化する手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５５】
Ｅ９１  前記セキュリティ情報に少なくとも部分的に基づいて、前記ポータブルデバイスに格納されている状態を復号する手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５６】
Ｅ９２  ネットワークサーバ上のアプリケーションと対話することによって、前記認証データを検証する手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５７】
Ｅ９３  ネットワークサーバ上のアプリケーションと対話することによって、前記装置に格納されている前記状態を検証する手段をさらに備える実施形態Ｅ８４に記載の装置。
【０１５８】
Ｅ９４  ホストデバイスと通信するように構成されたインターフェイスモジュールと、
第１の認証キーでエンコードされた第１のコンピュータ可読媒体と、
第２の認証キーで暗号化されるデータでエンコードされた第２のコンピュータ可読媒体と、
少なくとも１つの処理ユニットを有するコンピューティングモジュールとを備えるポータブルコンピューティング装置であって、
前記コンピューティングモジュールは、前記第１の認証キーに少なくとも部分的に基づいて前記データを復号し、前記データに少なくとも部分的に基づいてプロセスを実行し、前記ホストデバイスに前記プロセスへのアクセスを提供するように構成される装置。
【０１５９】
Ｅ９５  前記第１のコンピュータ可読媒体は、前記コンピューティングモジュールのコンポーネントに埋め込まれている実施形態Ｅ９４に記載のポータブルコンピューティング装置。
【０１６０】
Ｅ９６  前記第１の認証キーは、パブリック／プライベートキーのペアの一部である実施形態Ｅ９４に記載のポータブルコンピューティング装置。
【０１６１】
Ｅ９７  前記ポータブルコンピューティング装置は、前記インターフェイスモジュールを介して実行可能命令を受け取るように構成され、前記コンピューティングモジュールは、前記命令を実行する前に、前記第１の認証キーを用いて前記実行可能命令を認証するように構成される実施形態Ｅ９４に記載のポータブルコンピューティング装置。
【０１６２】
Ｅ９８  前記実行可能命令は、第３の認証キーで暗号化され、前記コンピューティングモジュールは、前記第１の認証キーに少なくとも部分的に基づいて、前記実行可能命令を復号するようにさらに構成される実施形態Ｅ９７に記載のポータブルコンピューティング装置。
【０１６３】
Ｅ９９  前記第１および第３の認証キーは、パブリック／プライベートキーのペアである実施形態Ｅ９８に記載のポータブルコンピューティング装置。
【０１６４】
Ｅ１００  前記命令が認証されない場合、前記コンピューティングモジュールは、前記実行可能命令が実行されるのを防ぐようにさらに構成される実施形態Ｅ９４に記載のポータブルコンピューティング装置。
【０１６５】
Ｅ１０１  前記実行可能命令は、前記ホストデバイスから受け取られる実施形態Ｅ９４に記載のポータブルコンピューティング装置。
【０１６６】
Ｅ１０２  前記実行可能命令は、ネットワークを介して前記ホストデバイスに接続されたサーバから受け取られる実施形態Ｅ９４に記載のポータブルコンピューティング装置。
【０１６７】
Ｅ１０３  ポータブルデバイスとホストデバイスの間の接続を確立するステップと、
前記ホストデバイスによって提供されるネットワークへの通信リンクを判定するステップと、
前記プロセス上のポータブルデバイスをインスタンス化するステップと、
前記通信リンクを介して前記ネットワーク上のサーバによって提供されるアプリケーションと対話するように、前記プロセスを構成するステップとを備える方法。
【０１６８】
Ｅ１０４  前記ポータブルデバイス上に格納されている状態を判定するステップをさらに含み、前記状態は、アプリケーション、構成、カスタマイズ、またはユーザデータの少なくとも１つに関連づけられる実施形態Ｅ１０３に記載の方法。
【０１６９】
Ｅ１０５  前記サーバ上の前記アプリケーションに、前記状態のバックアップコピーを提供するステップと、
前記バックアップコピーが前記サーバ上に格納されるようリクエストするステップとをさらに備える実施形態Ｅ１０４に記載の方法。
【０１７０】
Ｅ１０６  前記ポータブルデバイスにおける前記状態および前記サーバ上の前記アプリケーションによって管理されるデータを同期させるステップをさらに備える実施形態Ｅ１０４に記載の方法。
【０１７１】
Ｅ１０７  前記サーバ上の前記アプリケーションによって管理される前記データは、前記状態のバックアップコピーまたは前記状態のアップデートされたコピーの少なくとも一方を含む実施形態Ｅ１０６に記載の方法。
【０１７２】
Ｅ１０８  前記ポータブルデバイスにおける前記状態および前記サーバ上の前記アプリケーションによって管理されるデータを同期させるかどうかを、ある条件に少なくとも部分的に基づいて判定するステップをさらに備える実施形態Ｅ１０４に記載の方法。
【０１７３】
Ｅ１０９  前記条件は、所定の期間の経過、メモリ閾値の超過、アップデートされた状態が前記サーバ上で入手可能であるという判定、または前記ホストデバイスへの前記ポータブルデバイスの接続の少なくとも１つを含む実施形態Ｅ１０８に記載の方法。
【０１７４】
Ｅ１１０  前記サーバ上の前記アプリケーションに、バックアップデータの格納、アップデートされたデータの提供、ユーザの認証、またはデータの検証の少なくとも１つを実施するようリクエストするステップをさらに備える実施形態Ｅ１０３に記載の方法。
【０１７５】
Ｅ１１１  前記ホストデバイス上のプロセスから、前記サーバ上の前記アプリケーションにアクセスするためのリクエストを受け取るステップと、
プロキシによって、前記ホストデバイスからの前記リクエストを前記サーバ上の前記アプリケーションに提供するステップとをさらに備える実施形態Ｅ１０３に記載の方法。
【０１７６】
Ｅ１１２  前記プロキシリクエストに応答して、前記サーバからデータを受け取るステップと、
前記サーバについての情報を追加せずに、前記ホストデバイスに前記データを提供するステップとをさらに備える実施形態Ｅ１１１に記載の方法。
【０１７７】
Ｅ１１３  ポータブルデバイスによってホストデバイスから、デバイスクエリを受け取るステップと、
前記ポータブルデバイスから前記ホストデバイスに、前記ポータブルデバイスを、前記ホストデバイスに接続されたネットワークデバイスとして識別する返信を送るステップと、
前記ポータブルデバイスによって前記ホストデバイスから、データを求めるリクエストを受け取るステップと、
前記ポータブルデバイスからネットワーク上のサーバに、前記ホストデバイスによって提供される前記ネットワークへの通信リンクを介して前記リクエストを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記リクエストに関連するデータを受け取るステップと、
前記ポータブルデバイスから前記ホストデバイスに、前記サーバによって提供される前記データを送るステップとを備えるコンピューティングデバイスの間の通信方法。
【０１７８】
Ｅ１１４  前記ポータブルデバイスから前記ホストデバイスに、前記サーバによって提供される前記データとともに、前記ポータブルデバイス上で実行されるプロセスによって生成されたデータを送るステップをさらに備える実施形態Ｅ１１３に記載の方法。
【０１７９】
Ｅ１１５  前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている状態のコピーを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記コピーが前記サーバ上に格納されたという確認を受け取るステップとをさらに備える実施形態Ｅ１１３に記載の方法。
【０１８０】
Ｅ１１６  前記ポータブルデバイスによって前記ホストデバイスから、認証データを受け取るステップと、
前記ポータブルデバイスから前記サーバに、前記認証データを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記認証データが有効かどうかのインジケータを受け取るステップとをさらに含む実施形態Ｅ１１３に記載の方法。
【０１８１】
Ｅ１１７  前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている状態に関連する情報を送るステップと、
前記ポータブルデバイスによって前記サーバから、前記状態が有効であるかどうかのインジケータを受け取るステップとをさらに備える実施形態Ｅ１１３に記載の方法。
【０１８２】
Ｅ１１８  前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている、無効であった状態を再度検証するためのリクエストを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記状態を再度検証するためのデータを受け取るステップとをさらに備える実施形態Ｅ１１３に記載の方法。
【０１８３】
Ｅ１１９  前記ポータブルデバイスから前記サーバに、前記ポータブルデバイスに格納されている状態をアップデートするためのリクエストを送るステップと、
前記ポータブルデバイスによって前記サーバから、前記状態をアップデートするデータを受け取るステップとをさらに備える実施形態Ｅ１１３に記載の方法。
【０１８４】
Ｅ１２０  少なくとも１つのプロセッサを有するコンピューティングモジュールと、
ネットワークへの通信リンクを含むホストデバイスと通信するように構成されたインターフェイスモジュールと、
命令を含むメモリモジュールとを備える装置であって、前記命令は、実行されると、前記少なくとも１つのプロセッサに、
前記ホストデバイスとの接続を確立させ、
前記通信リンクを介して、前記ネットワーク上のサーバによって提供されるアプリケーションからデータを受け取らせ、かつ
前記サーバから受け取った前記データを前記ホストデバイスに提供させる装置。
【０１８５】
Ｅ１２１  前記装置と前記ホストデバイスの間の前記接続は、周辺接続である実施形態Ｅ１２０に記載の装置。
【０１８６】
Ｅ１２２  前記通信リンクは、ネットワーク接続である実施形態Ｅ１２０に記載の装置。
【０１８７】
Ｅ１２３  前記ホストデバイスからのリクエストを判定し、
前記サーバ上の前記アプリケーションから、前記リクエストに関連するデータを受け取り、かつ
前記アプリケーションから受け取った前記データに少なくとも部分的に基づいて、前記リクエストに応答することをさらに備える実施形態Ｅ１２２に記載の装置。
【０１８８】
Ｅ１２４  前記命令は、前記１つのプロセッサにさらに、プロキシによって、前記ホストデバイスから前記サーバに前記リクエストをフォワードさせる実施形態Ｅ１２０に記載の装置。
【０１８９】
Ｅ１２５  前記命令は、前記１つのプロセッサにさらに、
前記メモリモジュールに格納されている状態を判定させ、
前記サーバ上の前記アプリケーションに対してデータをリクエストさせ、かつ
前記アプリケーションによって提供される前記データに少なくとも部分的に基づいて、前記状態をアップデートさせる実施形態Ｅ１２０に記載の装置。
【０１９０】
Ｅ１２６  前記アプリケーションによって提供される前記データは、前記装置用の新しいアプリケーションに関連する状態を含む実施形態Ｅ１２５に記載の装置。
【０１９１】
Ｅ１２７  前記命令は、前記１つのプロセッサにさらに、
前記メモリモジュールに格納されている状態のバックアップをとることを決定させ、
前記サーバ上のアプリケーションに前記状態を送らせ、かつ
前記状態のバックアップコピーが前記サーバ上に格納されたという構造を、前記アプリケーションから受け取らせる実施形態Ｅ１２０に記載の装置。
【０１９２】
Ｅ１２８  前記装置およびホストデバイスを接続する手段と、
前記ホストデバイスによって提供されるネットワークへの通信リンクを判定する手段と、
プロセスに関連する状態を取得する手段と、
前記状態に少なくとも部分的に基づいて、前記ポータブルデバイス上の前記プロセスをインスタンス化する手段と、
前記プロセスが前記通信リンクを介して前記ネットワーク上のサーバと対話する手段とを備える装置。
【０１９３】
Ｅ１２９  前記サーバに前記状態を提供する手段と、
前記サーバ上に、前記状態のバックアップコピーを作成する手段とをさらに備える実施形態Ｅ１２８に記載の装置。
【０１９４】
Ｅ１３０  前記ホストデバイスからリクエストを受け取る手段と、
前記リクエストを、プロキシによって前記サーバに提供する手段とをさらに備える実施形態Ｅ１２８に記載の装置。
【０１９５】
Ｅ１３１  前記状態のアップグレードを決定する手段と、
前記サーバからデータを受け取る手段と、
前記受け取ったデータを用いて前記状態をアップデートする手段とをさらに備える実施形態Ｅ１２８に記載の装置。
【０１９６】
Ｅ１３２  前記ホストデバイスから認証データを受け取る手段と、
前記認証データを、認証のために前記サーバに提供する手段と、
前記サーバから、前記認証データが有効かどうか判定する手段とをさらに備える実施形態Ｅ１２８に記載の装置。
【０１９７】
Ｅ１３３  前記サーバに、前記状態へのアクセスを与える手段と、
前記サーバから、前記状態が有効かどうか判定する手段とをさらに備える実施形態Ｅ１２８に記載の装置。
【０１９８】
Ｅ１３４  前記サーバによって提供された前記データを用いて、前記状態を再度検証する手段をさらに備える実施形態Ｅ１２８に記載の装置。
【０１９９】
Ｅ１３５  ホストコンピューティングデバイスにコンピューティング環境を提供するシステムであって、
アプリケーションを実行するように構成されたホストデバイスと、
前記ホストデバイスに接続されるように構成されたポータブルデバイスとを備え、前記ポータブルデバイスは、コンピューティングモジュールおよびメモリを含み、前記メモリは、プロセスに関連する状態を含み、前記コンピューティングモジュールは、前記ポータブルデバイスが前記ホストデバイスに接続されたとき、前記プロセスをインスタンス化するように構成され、ポータブルデバイス上の前記プロセスは、前記ホストデバイス上の前記アプリケーションに前記コンピューティング環境を提供するように構成されるシステム。
【０２００】
Ｅ１３６  前記ホストデバイスは、ネットワークとの通信リンクを提供するように構成されたネットワークインターフェイスを含む実施形態Ｅ１３５に記載のシステム。
【０２０１】
Ｅ１３７  前記ネットワークへのサーバ接続をさらに備え、前記サーバは、前記ポータブルデバイスからのリクエストに応答してウェブサービスを提供するように構成され、前記リクエストは、前記ホストデバイスによって開始され、前記ポータブルデバイスによって前記サーバにプロキシ転送される実施形態Ｅ１３６に記載のシステム。
【０２０２】
Ｅ１３８  前記ウェブサービスは、アクチベーションサービス、認証サービス、バックアップサービス、アップデートサービス、コンテンツダウンロードサービス、または診断サービスの少なくとも１つを提供するように構成される実施形態Ｅ１３７に記載のシステム。
【０２０３】
Ｅ１３９  前記ポータブルデバイスの前記コンピューティングモジュールに認証データが埋め込まれている実施形態Ｅ１３５に記載のシステム。
【０２０４】
Ｅ１４０  前記ポータブルデバイスは、実行可能コードを受け取り、前記コンピューティングモジュール上の前記コードを実行する前に、前記埋め込まれている認証データを用いて前記実行可能コードを検証するようにさらに構成される実施形態Ｅ１３９に記載のシステム。
【０２０５】
Ｅ１４１  前記ポータブルデバイスは、前記プロセスを前記ポータブルデバイス内で実行する前に、アクチベーションコードを受け取るように構成される実施形態Ｅ１３５に記載のシステム前記プロセス。
【０２０６】
Ｅ１４２  前記アクチベーションコードは、前記ポータブルデバイスに直接接続された外部のデバイスから受け取られる実施形態Ｅ１４１に記載のシステム。
【０２０７】
Ｅ１４３  前記アクチベーションコードは、前記ホストデバイスを介して前記ポータブルデバイスに接続された外部のデバイスから受け取られる実施形態Ｅ１４１に記載のシステム。
【０２０８】
Ｅ１４４  前記プロセスは、前記ホストデバイス上の前記アプリケーションにコンピューティング環境を提供するように構成されたウェブサービスを含む実施形態Ｅ１３５に記載のシステム。
【０２０９】
Ｅ１４５  前記ホストデバイス上の前記アプリケーションは、ウェブブラウザを含む実施形態Ｅ１３５に記載のシステム。
【０２１０】
Ｅ１４６  前記ウェブブラウザは、前記ポータブルデバイス上の前記プロセスに関連づけられた場所を自動的にブラウズするように構成される実施形態Ｅ１３５に記載のシステム。
【０２１１】
Ｅ１４７  前記ポータブルデバイスは、処理ユニットが搭載されたＵＳＢデバイスを含む実施形態Ｅ１３５に記載のシステム。
【０２１２】
Ｅ１４８  前記ポータブルデバイスは、インターネットブラウザ、プログラム実行用コンテナ、またはウェブサービスにアクセスするように設計されたプロセスの少なくとも１つを提供するように構成されたどのデバイスも含む実施形態Ｅ１３５に記載のシステム。
【０２１３】
Ｅ１４９  前記ホストデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、ノート型コンピュータ、携帯情報端末（ＰＤＡ）、ワイヤレス電話、キオスク、プリンタ、家電製品、オーディオ機器、ビデオ機器、または電子時計の少なくとも１つである実施形態Ｅ１３５に記載のシステム。
【０２１４】
Ｅ１５０  前記ポータブルデバイスは、ユニバーサルシリアルバス（ＵＳＢ）、ファイアワイヤ、シリアル、パラレル、ネットワーク、周辺、Ｗｉ−Ｆｉ、ブルートゥース、赤外線、無線周波数（ＲＦ）、または光学の少なくとも１つを含む接続を用いて、前記ホストデバイスに接続されるように構成される実施形態Ｅ１３５に記載のシステム。
【０２１５】
Ｅ１５１  コンピューティングモジュールおよびメモリを有して構成されたポータブルデバイスを提供するステップと、
プロセスに関連する状態を前記メモリに格納するステップであって、前記プロセスは、コンピューティング環境を生成するように構成されるステップと、
前記ポータブルデバイスがホストデバイスに接続されたとき、前記プロセスをインスタンス化するように、前記ポータブルデバイスを構成するステップであって、前記プロセスは、前記格納された状態に少なくとも部分的に基づいてインスタンス化されるステップと、
前記ホストデバイスに、前記ポータブルデバイスに関連づけられた場所をブラウズするように構成されたブラウザを開かせるステップと、
前記ポータブルデバイス上の前記プロセスによって生成された前記コンピューティング環境を、前記ホストデバイス上の前記ブラウザに提供するステップとを含む、コンピューティング環境ソリューションを提供する方法。
【０２１６】
Ｅ１５２  前記コンピューティング環境に機能を提供するように構成されたウェブサービスを提示するステップと、
前記ポータブルデバイスを介したプロキシによって、前記ホストデバイス上の前記ブラウザに前記機能を提供するステップとをさらに備える実施形態Ｅ１５１に記載の方法。
【０２１７】
Ｅ１５３  前記ポータブルデバイスの前記コンピューティングモジュールに認証データを埋め込むステップと、
前記ポータブルデバイスによって受け取られたコードを実行する前に、前記認証データを用いて前記コードを検証するステップとをさらに備える実施形態Ｅ１５１に記載の方法。
【０２１８】
Ｅ１５４  前記実行可能コードが検証されなかった場合、前記コードが前記コンピューティングモジュールによって実行されるのを防ぐステップをさらに備える実施形態Ｅ１５３に記載の方法。
【０２１９】
Ｅ１５５  ネットワーク上でアクセス可能なウェブサービスを提供するステップと、
前記ホストデバイスと前記ネットワークの間の通信リンクを介して前記ウェブサービスと対話するように、前記ポータブルデバイスを構成するステップとをさらに備える実施形態Ｅ１５１に記載の方法。
【０２２０】
Ｅ１５６  前記ウェブサービスは、アクチベーションサービス、認証サービス、バックアップサービス、アップデートサービス、コンテンツダウンロードサービス、または診断サービスの少なくとも１つを提供するように構成される実施形態Ｅ１５５に記載の方法。
【０２２１】
Ｅ１５７  ウェブサービスを提供するコンピューティングモジュールを有するポータブルデバイスを構成する手段と、
前記ポータブルデバイスをホストデバイスに接続する手段と、
前記ホストデバイスに、ブラウザを起動するよう命令する手段と、
前記ポータブルデバイスによって提供される前記ウェブサービスに関連づけられたアドレスをブラウズするように、前記ブラウザを構成する手段と、
前記ウェブサービスが前記ブラウザにコンピューティング環境を提供する手段とを備える、ポータブルコンピューティング環境ソリューションを提供するシステム。
【０２２２】
Ｅ１５８  前記ポータブルデバイスの前記コンピューティングモジュールに認証データを埋め込む手段と、
プログラムによる命令を受け取る手段と、
前記コンピューティングモジュール上の前記プログラムによる命令を実行する前に、前記埋め込まれている認証データを用いて、前記プログラムによる命令を検証する手段とをさらに備える実施形態Ｅ１５７に記載のシステム。
【０２２３】
Ｅ１５９  前記ホストデバイスからアクチベーションコードを受け取る手段と、
前記ホストデバイスに前記ウェブサービスを提供する前に、前記アクチベーションコードを検証する手段とをさらに備える実施形態Ｅ１５７に記載のシステム。
【０２２４】
Ｅ１６０  スクリーンまたは入力デバイスの少なくとも一方をもたない前記ポータブルデバイスを実装する手段をさらに備える実施形態Ｅ１５７に記載のシステム。
【０２２５】
Ｅ１６１  前記ポータブルデバイスと前記ホストデバイスの間の接続を確立する手段をさらに備え、前記接続は、有線接続またはワイヤレス接続の少なくとも一方を含む実施形態Ｅ１５７に記載のシステム。
【０２２６】
Ｅ１６２  前記ポータブルデバイス上の前記ウェブサービスにリモートウェブサービスを提供する手段をさらに備え、前記リモートウェブサービスは、アクチベーションサービス、認証サービス、バックアップサービス、アップデートサービス、コンテンツダウンロードサービス、または診断サービスの少なくとも１つを含む実施形態Ｅ１５７に記載のシステム。
【図面の簡単な説明】
【０２２７】
【図１】ポータブルコンピューティング環境システム例を示す図である。
【図２】デバイス非依存コンピューティング環境をコンピューティングデバイスに提供するプロセス例を示す図である。
【図３】前記ホストデバイスに対して前記ポータブルデバイスの識別を行うプロセス例を示す図である。
【図４】ポータブルデバイス上のプロセスをインスタンス化するプロセス例を示す図である。
【図５】ポータブルデバイス上のプロセスと対話するプロセス例を示す図である。
【図６】ポータブルデバイスへのアクセスに関連してセキュリティチェックを実施するプロセス例を示す図である。
【図７】離れた場所にあるポータブルデバイスの状態を複製するプロセス例を示す図である。
【図８】ネットワーク上のサーバによって管理されるアプリケーションサービスへのアクセスを提供するプロセス例を示す図である。
【図９】ポータブルデバイスにおける前記状態をアップグレードするプロセス例を示す図である。
【図１０】ポータブルデバイスとホストデバイスの間の通信例を示す図である。
【図１１】ポータブルコンピューティング環境ソリューションを提供するシステム例を示す図である。
【図１２】本明細書に記載するシステムおよび方法を実装するポータブルデバイス例を示す図である。
【符号の説明】
【０２２８】
１００  ポータブルコンピューティング環境システム
１０５  ポータブルデバイス
１１０  ホストデバイス
１２０  ネットワーク
１１５  サーバ（群）
２００  プロセス
２０５  ポータブルデバイスとホストデバイスの間に接続を確立する
２１０  ホストデバイスに対してポータブルデバイスを識別する（図３）
２１５  ポータブルデバイスからのプロセスをインスタンス化する（図４）
２２０  セキュリティチェックを実施する（図６）
２２５  プロセスをホストデバイスにとって利用可能にする
３００  プロセス
３０５  ホストデバイスがポータブルデバイスにクエリを行う
３１０  ポータブルデバイスが、それ自体をホストデバイスに対して識別する
３１５  ホストデバイスがポータブルデバイスにデバイス関連データを送る
３２０  ポータブルデバイスが受信データを用いてプロセスを構成する
４００  プロセス
４０５  ポータブルデバイスに関連する状態を判定する
４０７  状態を用いてアプリケーションサービスをインスタンス化する
４１０  ホストデバイス内のアプリケーションによってアクセス可能なようにアプリケーションサービスを構成する
４１５  ホストデバイスからのリクエストを待つ
５００  プロセス
５０５  アプリケーションサービスに関連するデータをポータブルデバイスから受け取る
５１０  ユーザインターフェイス（ＵＩ）を開始する
５１５  ＵＩをアプリケーションサービスと通信させる
５２０  ユーザがアプリケーションサービスと対話することを可能にする
６００  プロセス
６０５  ポータブルデバイスに関連づけられたキーを取得する
６１０  ユーザ認証をリクエストする
６１５  ユーザが認証されるか？
６２０  通信をキーで暗号化する
６２５  他のセキュリティチェックを実施する
６３０  ユーザアクセスを許可する
６３５  ユーザアクセスを拒否する
７００  プロセス
７０５  ポータブルデバイス上での状態のバックアップをとると決定する
７１０  ネットワーク上のリモートアプリケーションサービスに接続する
７１５  リモートアプリケーションサービスによって管理される、対応する状態を判定する
７２０  アップデートが必要か？
７２５  ポータブルデバイスにおける状態をリモートアプリケーションサービスの状態と同期させる
７３０  他の動作を実施するために戻る
８００  プロセス
８０５  ホストデバイスを介してネットワークに接続する
８１０  ネットワーク上のリモートアプリケーションサービスを判定する
８１５  アクセスを求めるリクエストをホストデバイスから受け取る
８２０  リモートアプリケーションサービスにリクエストをプロキシ転送する
９００  プロセス
９０５  スタートアッププロセスを開始する
９１０  アップデートが必要か？
９１５  ネットワーク上のリモートアプリケーションサービスに接続する
９２０  アップデートされる必要がある状態を判定する
９２５  新しい状態を取得し組み込む
９３０  スタートアッププロセスの実施を継続する
１０００  通信例
１００５  デバイスクエリ
１０１０  ネットワークデバイス列挙
１０１５  デバイスデータ
１０２０  構成データ
１０２５  デフォルトアドレスで識別されるリクエスト
１０３０  ユーザ認証をリクエストする
１０３５  認証情報
１０４０  アプリケーションデータ
１１００  システム例
１１０５  プロバイダ
１１１０  ユーザ
１１１５  ＩＦＯＢ
１１２０  ウェブサービス
１１２５  共有コンピュータ
１２００  ポータブルデバイス
１２０５  処理ユニット
１２１０  ＣＡデータ
１２２０  メモリ
１２２５  ストレージ
１２３０  電力レギュレータ
１２４０  入力デバイス（群）
１２１５  クロック
１２３５  接続インターフェイス
【図１】
2006114048.tif 000003
【図２】
2006114048.tif 000004
【図３】
2006114048.tif 000005
【図４】
2006114048.tif 000006
【図５】
2006114048.tif 000007
【図６】
2006114048.tif 000008
【図７】
2006114048.tif 000009
【図８】
2006114048.tif 000010
【図９】
2006114048.tif 000011
【図１０】
2006114048.tif 000012
【図１１】
2006114048.tif 000013
【図１２】
2006114048.tif 000014
【外国語明細書】
2006114048000001.pdf