(57)【特許請求の範囲】
【請求項１】
クライアントデバイスがリソースデバイスに関連した位置センサを検出することに応答して、前記クライアントデバイスが前記位置センサから、前記位置センサのための識別子を無線で受信することと、
前記位置センサのための前記識別子に基づいて、前記識別子に対応する前記リソースデバイスを決定することと、
前記クライアントデバイスから、前記クライアントデバイスとサーバとの間の仮想セッションを介して、前記リソースデバイスの情報を前記サーバに送信することと、
前記サーバにおいて前記リソースデバイスが前記クライアントデバイスに対して前記仮想セッション内で利用可能になった後、前記クライアントデバイスが、前記リソースデバイスにアクセスするためのデータを前記サーバに送信することと、を含む、方法。
【請求項２】
前記リソースデバイスが、プリンタであり、かつ１つまたはそれ以上のリソースを含み、
前記１つまたはそれ以上のリソースが、印刷サービスを含み、前記１つまたはそれ以上のリソースにアクセスするための前記データが、印刷ジョブデータを含む、請求項１に記載の方法。
【請求項３】
前記位置センサを検出することに応答し、かつ前記識別子を無線で受信する前に、前記クライアントデバイスが、前記識別子を前記位置センサに要求することをさらに含む、請求項１に記載の方法。
【請求項４】
前記クライアントデバイスと前記位置センサとの間の距離を決定することをさらに含み、
前記リソースデバイスの情報を前記サーバに送信することが、前記クライアントデバイスと前記位置センサとの間の前記距離が閾値より短いということを決定することに応答して行われる、請求項１に記載の方法。
【請求項５】
前記位置センサが、第１の位置センサを含み、前記リソースデバイスが、第１のリソースデバイスを含み、前記方法が、
前記クライアントデバイスと前記第１の位置センサとの間の距離を決定することと、
前記クライアントデバイスと前記第１の位置センサとの間の前記距離が、前記クライアントデバイスと、第２のリソースデバイスに対応する第２の位置センサとの間の距離より短いということを決定することに応答して、前記第１のリソースデバイスを、前記クライアントデバイスのためのデフォルトデバイスとして設定することと、をさらに含む、請求項１に記載の方法。
【請求項６】
前記リソースデバイスを前記仮想セッション内で前記クライアントデバイスにマッピングすることをさらに含む、請求項１に記載の方法。
【請求項７】
前記リソースデバイスが、プリンタを含み、
前記プリンタのためのドライバをインストールすることと、
前記プリンタを前記クライアントデバイスにマッピングすることと、をさらに含む、請求項１に記載の方法。
【請求項８】
前記リソースデバイスの情報は、前記位置センサのための前記識別子を含む、請求項１に記載の方法。
【請求項９】
前記リソースデバイスの情報を送信した後、前記クライアントデバイスと前記位置センサとの間の距離が閾値より長いということを決定することと、
前記クライアントデバイスと前記位置センサとの間の前記距離が前記閾値より長いということを決定することに応答して、前記リソースデバイスを前記クライアントデバイスに対して利用不可にすることと、をさらに含む、請求項１に記載の方法。
【請求項１０】
モバイルデバイスであって、
プロセッサと、
実行可能命令を格納するメモリと、を含み、前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、次の各段階を実行させる、モバイルデバイス。
リソースデバイスに関連した位置センサを検出することに応答して、前記位置センサから、前記位置センサのための識別子を無線で受信し、
前記位置センサのための前記識別子に基づいて、前記識別子に対応するリソースデバイスを決定し、
前記モバイルデバイスとサーバとの間の仮想セッションを介して、前記リソースデバイスの情報を前記サーバに送信し、かつ
前記サーバにおいて前記リソースデバイスが前記モバイルデバイスに対して前記仮想セッション内で利用可能になった後、前記モバイルデバイスが、前記リソースデバイスにアクセスするためのデータを前記サーバに送信する。
【請求項１１】
前記リソースデバイスが、プリンタであり、かつ１つまたはそれ以上のリソースを含み、
前記１つまたはそれ以上のリソースが、印刷サービスを含み、前記１つまたはそれ以上のリソースにアクセスするための前記データが、印刷ジョブデータを含む、請求項１０に記載の方法。
【請求項１２】
前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、さらに
前記位置センサを検出することに応答し、かつ前記識別子を無線で受信する前に、前記識別子を前記位置センサに要求させる、請求項１０に記載のモバイルデバイス。
【請求項１３】
前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、さらに
前記モバイルデバイスと前記位置センサとの間の距離を決定させ、
前記リソースデバイスの情報を前記サーバに送信させることが、前記モバイルデバイスと前記位置センサとの間の前記距離が閾値より短いということを決定することに応答して行われる、請求項１０に記載のモバイルデバイス。
【請求項１４】
前記位置センサが、第１の位置センサを含み、前記リソースデバイスが、第１のリソースデバイスを含み、前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、さらに
前記モバイルデバイスと前記第１の位置センサとの間の距離を決定させ、かつ
前記モバイルデバイスと前記第１の位置センサとの間の前記距離が、前記モバイルデバイスと、第２のリソースデバイスに対応する第２の位置センサとの間の距離より短いということを決定することに応答して、前記第１のリソースデバイスを、前記モバイルデバイスのためのデフォルトデバイスとして設定させる、請求項１０に記載のモバイルデバイス。
【請求項１５】
前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、さらに
前記リソースデバイスを、前記仮想セッション内で前記モバイルデバイスにマッピングさせる、請求項１０に記載のモバイルデバイス。
【請求項１６】
前記リソースデバイスが、プリンタを含み、
前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、さらに
前記プリンタのためのドライバをインストールさせ、
前記プリンタを前記モバイルデバイスにマッピングさせる、請求項１０に記載のモバイルデバイス。
【請求項１７】
前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、さらに
前記リソースデバイスの情報を前記サーバに送信した後、前記モバイルデバイスと前記位置センサとの間の距離が閾値より長いということを決定させ、かつ
前記モバイルデバイスと前記位置センサとの間の前記距離が前記閾値より長いということを決定することに応答して、前記リソースデバイスを前記モバイルデバイスに対して利用不可にする、請求項１０に記載のモバイルデバイス。
【請求項１８】
ディスプレイをさらに含み、
前記実行可能命令が、前記プロセッサによって実行されたときに、前記モバイルデバイスに、さらに
前記モバイルデバイスの前記ディスプレイ上に、前記モバイルデバイスに対して利用可能なデバイスリストを表示させ、前記デバイスリストには前記リソースデバイスが含まれ、
前記リソースデバイスにアクセスするための前記データを送信することが、前記モバイルデバイスに対して利用可能な前記デバイスリストからのリソースデバイスのユーザ選択を受信することに応答して行われる、請求項１０に記載のモバイルデバイス。
【請求項１９】
命令を格納する非一時的コンピュータ可読媒体であって、前記命令が、クライアントデバイスによって実行されたときに、前記クライアントデバイスに、次の各段階を実行させる、非一時的コンピュータ可読媒体。
印刷デバイスに関連した位置センサを検出することに応答して、前記位置センサから、前記位置センサのための識別子を無線で受信し、
前記位置センサのための識別子に基づいて、前記識別子に対応する前記印刷デバイスを決定し、
前記クライアントデバイスとサーバとの間の仮想セッションを介して、前記印刷デバイスの情報を前記サーバに送信し、かつ
前記サーバにおいて前記印刷デバイスが前記クライアントデバイスに対して前記仮想セッション内で利用可能になった後、前記印刷デバイスにアクセスするためのデータを前記サーバに送信する。
【請求項２０】
前記命令が、前記クライアントデバイスによって実行されたときに、前記クライアントデバイスに、さらに
前記印刷デバイスのためのドライバをインストールさせ、
前記印刷デバイスを前記クライアントデバイスにマッピングさせる、請求項１９に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の態様は、全体として、コンピュータのネットワーク化、遠隔アクセス、及び位置検出に関する。より具体的には、本明細書に記載の態様は、位置センサを検出することに基づいて決定されるクライアントデバイスの位置に基づいて、１つ以上のデバイスをクライアントデバイスに対して利用可能にすることに関する。
【背景技術】
【０００２】
プリンタまたはスキャナなどのデバイスを使用するために、ユーザまたは管理者は、典型的には、手動でプリンタもしくはスキャナを追加するか、またはある特定のクライアントデバイスのためのある特定のプリンタもしくはスキャナを事前構成するポリシーを作成する。例えば、仮想環境（例えば、仮想デスクトップセッション）では、企業管理者は、特定のユーザのための仮想セッションの構築中に、ポリシーを使用して、ある特定のネットワークプリンタをマッピングしてもよい。しかしながら、ユーザが異なるビルまたは異なる階など異なる位置の間で移動するか、または動くため、事前構成されたプリンタは、モバイルデバイスユーザなどの一部のユーザ向けには機能しない場合がある。ビルの４階に位置し、その階のユーザ向けに事前構成されたプリンタは、ユーザがビルの８階にいる場合、便利でない場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
以下に、本明細書に記載の種々の態様の簡易な概要を提示する。本概要は、詳細な概要ではなく、主要もしくは重大な要素を特定するか、または特許請求の範囲を描写することを意図するものではない。以下の概要は単に、下記で提供されるより詳細な説明に対する紹介用の前置きとして、簡易形態でいつくかの概念を提示する。
【０００４】
上に記載の先行技術における制約を克服し、かつ本明細書を読み取り、理解する際に明らかになるであろう他の制約を克服するために、本明細書に記載の態様は、位置センサから、位置センサを検出することに応答して位置センサのための識別子を、無線で受信するクライアントデバイスのためのシステム、装置、コンピュータ可読媒体、メモリ、及び方法を対象とする。位置センサのための識別子に対応するデバイスが決定され得、デバイスのリソースはクライアントデバイスに対して利用可能にされ得る。デバイスのリソースをクライアントデバイスに対して利用可能にした後、クライアントデバイスがデバイスのリソースにアクセスするためのデータを送信し得る。デバイスはプリンタを含み得、デバイスのリソースは印刷サービスを含み得る。デバイスのリソースにアクセスするためのデータは、印刷ジョブデータを含み得る。
【課題を解決するための手段】
【０００５】
いくつかの態様において、クライアントデバイスは、ディスプレイを含み得、またクライアントデバイスは、クライアントデバイスに対して利用可能なデバイスリストをディスプレイ上に表示し得、デバイスリストには該デバイスが含まれる。これらの例において、デバイスの１つ以上のリソースにアクセスするためのデータを送信することは、クライアントデバイスに対して利用可能なデバイスリストからのデバイスのユーザ選択を受信することに応答して行われる。
【０００６】
本方法は、位置センサを検出することに応答し、かつ識別子を無線で受信する前に、識別子を位置センサに要求するクライアントデバイスをさらに含み得る。いくつかの態様では、クライアントデバイスと位置センサとの間の距離が決定され得る。またデバイスの１つ以上のリソースをクライアントデバイスに対して利用可能にすることも、クライアントデバイスと位置センサとの間の距離が閾値より短いということを決定することに応答して行われ得る。
【０００７】
位置センサは第１の位置センサを含み得、デバイスは第１のデバイスを含み得る。これらの例において、本方法は、クライアントデバイスと第１の位置センサとの間の距離を決定することをさらに含み得る。クライアントデバイスと第１の位置センサとの間の距離が、クライアントデバイスと、第２のデバイスに対応する第２の位置センサとの間の距離より短いということを決定することに応答して、第１のデバイスがクライアントデバイスのためのデフォルトデバイスとして設定され得る。
【０００８】
いくつかの態様において、デバイスの１つ以上のリソースをクライアントデバイスに対して利用可能にすることは、デバイスを、クライアントデバイスとサーバとの間の仮想セッション内でクライアントデバイスにマッピングすることを含み得る。デバイスはプリンタを含み得、デバイスの１つ以上のリソースをクライアントデバイスに対して利用可能にすることは、プリンタのためのドライバをインストールすることと、プリンタをクライアントデバイスにマッピングすることとを含み得る。
【０００９】
いくつかの態様において、本方法は、位置センサのための識別子をサーバに送信するクライアントデバイスを含み得る。デバイスの１つ以上のリソースをクライアントデバイスに対して利用可能にすることは、サーバが位置センサのための識別子を受信することに応答して行われ得る。
【００１０】
デバイスの１つ以上のリソースがクライアントデバイスに対して利用可能にされた後、本方法は、クライアントデバイスと位置センサとの間の距離が閾値より長いということを決定することを含み得る。デバイスの１つ以上のリソースは、クライアントデバイスと位置センサとの間の距離が閾値より長いということを決定することに応答して、クライアントデバイスに対して利用不可にされ得る。
【００１１】
本明細書に記載の態様は、サーバにおいて、ユーザと関連付けられた第１のデバイスから印刷作成データを受信することを含む、システム、装置、コンピュータ可読媒体、メモリ、及び方法を対象とする。印刷作成データを受信することに反応して、印刷ジョブが生成され、ユーザに対応する仮想印刷キュー内に格納され得る。さらに、第１のデバイスまたはユーザと関連付けられた第２のデバイスから識別子を受信することに反応して、サーバは、受信した識別子に対応するプリンタを決定し得る。第１のデバイスは、第１のデバイスが位置センサの範囲内にあるときに位置センサの識別子を決定するように構成され得、かつ／または第２のデバイスは、第２のデバイスが位置センサの範囲内にあるときに位置センサの識別子を決定するように構成され得る。いくつかの態様において、位置センサは、光学的にスキャン可能なコードを含み得る。加えてまたは代替的に、位置センサは、近距離無線センサを含み得る。仮想印刷キュー内に格納された印刷ジョブは、プリンタに送信され得る。
【００１２】
本方法は、印刷ジョブをプリンタに送信するための許可に関する要求を生成することを含み得、要求は、第１のデバイスまたは第２のデバイス上で表示可能であり得る。印刷ジョブをプリンタに送信するための許可は、第１のデバイスまたは第２のデバイスから受信され得る。印刷ジョブを送信することは、印刷ジョブをプリンタに送信するための許可を受信することに反応して行われ得る。
【００１３】
プリンタは、同じ位置で複数のプリンタを含み得、本方法は、複数のプリンタのうちの１つの選択に関する要求を生成することを含み得る。要求は、第１のデバイスまたは第２のデバイス上で表示可能であり得る。複数のプリンタのうちの１つの選択は、第１のデイバスまたは第２のデバイスから受信され得る。印刷ジョブを送信することは、複数のプリンタのうちの１つの選択を受信することに反応して行われ得る。
【００１４】
本方法は、ユーザを認証するための要求を生成することを含み得る。かかる要求は、第１のデバイスまたは第２のデバイス上で表示可能であり得る。ユーザは、第１のデバイスまたは第２のデバイスから受信したユーザ資格情報に基づいて認証され得る。印刷ジョブを送信することは、ユーザ資格情報に基づいてユーザを認証することに反応して行われ得る。
【００１５】
第２のデバイスは、ユーザと関連付けられたモバイルデバイスを含み得、本方法は、識別子をモバイルデバイスから受信することを含み得る。いくつかの態様において、受信した識別子に対応するプリンタを決定することは、識別子をモバイルデバイスから受信することに反応して行われ得る。
【００１６】
本明細書に記載の態様は、第１のユーザデバイスにおいて、仮想プリンタへの項目を印刷するための要求を受信することを含む、システム、装置、コンピュータ可読媒体、メモリ、及び方法を対象とする。要求を受信することに反応して、第１のユーザデバイスが項目についての印刷作成データをサーバに送信し得る。サーバは、印刷される項目についての印刷ジョブを生成し、その印刷ジョブを第１のユーザデバイスのユーザに対応する印刷キュー内に格納するように構成され得る。第１のユーザデバイスまたは第２のユーザデバイスは、位置センサを検出し得る。位置センサは、光学的にスキャン可能なコード及び／または近距離無線センサを含み得る。位置センサを検出することに反応して、第１のユーザデバイスまたは第２のユーザデバイスが、位置センサの識別子を決定し得る。第１のユーザデバイスまたは第２のユーザデバイスは、識別子をサーバに送信し得、サーバは、印刷ジョブを識別子に対応するプリンタに送信するように構成され得る。
【００１７】
本方法は、第１のユーザデバイスまたは第２のユーザデバイスのディスプレイ上での表示用に、印刷ジョブをプリンタに送信するための許可に関する要求を生成することを含み得る。印刷ジョブをプリンタに送信するための許可は、サーバに送信され得る。サーバは、許可をサーバに送信することに反応して、印刷ジョブをプリンタに送信するように構成され得る。
【００１８】
いくつかの態様において、プリンタは、同じ位置で複数のプリンタを含み得、本方法は、第１のユーザデバイスまたは第２のユーザデバイスのディスプレイ上での表示用に、複数のプリンタのうちの１つの選択に関する要求を生成することを含み得る。複数のプリンタのうちの１つの選択は、サーバに送信され得る。サーバは、選択を送信することに反応して、印刷ジョブをプリンタに送信するように構成され得る。
【００１９】
本方法は、第１のユーザデバイスまたは第２のユーザデバイスのディスプレイ上での表示用に、ユーザを認証するための要求を生成することを含み得る。ユーザ資格情報は、サーバに送信され得、サーバは、ユーザ資格情報に基づいてユーザを認証することに反応して、印刷ジョブをプリンタに送信するように構成され得る。
【００２０】
いくつかの態様において、第２のユーザデバイスは、モバイルデバイスを含み得、位置センサを検出することは、モバイルデバイスによって行われ得、位置センサの識別子を決定することは、モバイルデバイスによって行われ得、識別子をサーバに送信することは、モバイルデバイスによって行われ得る。本方法は、モバイルデバイスと位置センサとの間の距離を決定することを含み得る。識別子を決定することは、モバイルデバイスと位置センサとの間の距離が閾値より短いということを決定することに反応して行われ得る。
【００２１】
これら及び追加の態様は、下記のさらなる詳細で論じられる開示により理解されるであろう。
【００２２】
本明細書に記載の態様及びこれらの利点をより詳細に理解することは、添付図面を考慮した以下の説明を参照することによって得ることができ、この中で、参照番号などは特性などを指す。
【図面の簡単な説明】
【００２３】
【図１】本明細書に記載の１つ以上の態様に従って使用され得るコンピュータシステムアーキテクチャを示す。
【図２】本明細書に記載の１つ以上の態様に従って使用され得る遠隔アクセスシステムアーキテクチャを示す。
【図３】本明細書に記載の１つ以上の態様に従って使用され得る仮想化（ハイパーバイザー）システムアーキテクチャを示す。
【図４】本明細書に記載の１つ以上の態様に従って使用され得るクラウドベースのシステムアーキテクチャを示す。
【図５】企業モビリティ管理システムを示す。
【図６】別の企業モビリティ管理システムを示す。
【図７】本明細書に記載の１つ以上の態様に従って、クライアントデバイスの位置に基づいて、１つ以上のデバイスをクライアントデバイスに対して利用可能にするためのシステムを示す。
【図８】本明細書に記載の１つ以上の態様に従って、クライアントデバイスの位置に基づいて、１つ以上のデバイスをクライアントデバイスに対して利用可能にする方法例を説明する。
【図９】本明細書に記載の１つ以上の態様に従って、クライアントデバイスの位置に基づいて、１つ以上のデバイスをクライアントデバイスに対して利用不可にする方法例を説明する。
【図１０】本明細書に記載の１つ以上の態様に従って、クライアントデバイスに対して利用可能なデバイスを表示するディスプレイ画面の例を説明する。
【図１１】本明細書に記載の１つ以上の態様に従って、クライアントデバイスに対して利用可能なデバイスを表示するディスプレイ画面の別の例を説明する。
【図１２】本明細書に記載の１つ以上の態様に従って、クライアントデバイスに対して利用可能なデバイスを表示するディスプレイ画面のまた別の例を説明する。
【図１３】本明細書に記載の１つ以上の態様に従って、ユーザデバイスの位置に基づいて仮想印刷するためのシステムを示す。
【図１４】本明細書に記載の１つ以上の態様に従って、仮想プリンタに印刷し、印刷ジョブを印刷キュー内に格納する方法例を説明する。
【図１５】本明細書に記載の１つ以上の態様に従って、ユーザデバイスの位置に基づいて、仮想プリンタが印刷ジョブを物理プリンタに送信する方法例を説明する。
【図１６】本明細書に記載の１つ以上の態様に従って、プリンタに印刷するための許可に関する要求を表示するディスプレイ画面の例を説明する。
【図１７】本明細書に記載の１つ以上の態様に従って、印刷するためのプリンタを選択するための要求を表示するディスプレイ画面の例を説明する。
【発明を実施するための形態】
【００２４】
種々の実施形態の以下の説明において、上記で特定された添付図面に対する参照がなされ、これらは、本明細書の一部を形成し、その中で、本明細書に記載の態様が実施され得る種々の実施形態の説明として示される。他の実施形態が利用され得、かつ構造的及び機能的な変形が本明細書に記載の範囲を逸脱することなくなされ得ることが理解されるべきである。種々の態様は、他の実施形態が可能であり、種々の異なる手法で実施または実行されることが可能である。
【００２５】
下記でより詳細に記載される主題に対する概略紹介として、本明細書に記載の態様は、位置センサから、位置センサを検出することに応答して位置センサのための識別子を、無線で受信するクライアントデバイスのための方法及びシステムを対象とする。位置センサのための識別子に対応するデバイスが決定され得、デバイスのリソースはクライアントデバイスに対して利用可能にされ得る。デバイスのリソースをクライアントデバイスに対して利用可能にした後、クライアントデバイスがデバイスのリソースにアクセスするためのデータを送信し得る。デバイスはプリンタを含み得、デバイスのリソースは印刷サービスを含み得る。デバイスのリソースにアクセスするためのデータは、印刷ジョブデータを含み得る。
【００２６】
本明細書で使用される語法及び用語法は、説明の目的のためであり、限定するものとみなされるべきではないことが理解されるべきである。その代わりに、本明細書で使用される語句及び用語には、それらの最も広い解釈及び趣旨が所与されるべきである。「含む（including）」及び「含む（comprising）」、ならびにそれらの派生語の使用は、これ以降に列挙される項目及びその等価物、ならびに追加の項目及びその等価物を包含することを意味するものである。用語「装着される（mounted）」、「接続される（connected）」、「連結される（coupled）」、「位置付けられる（positioned）」、「係合される（engaged）」、ならびに同様の用語は、直接と間接との両方で装着する、接続する、連結する、位置付ける、及び係合することを意味するものである。
【００２７】
〈コンピューティングアーキテクチャ〉
コンピュータのソフトウェア、ハードウェア、及びネットワークは、とりわけ、スタンドアロン環境、ネットワーク化された環境、遠隔アクセス（別名遠隔デスクトップ）環境、仮想化環境、及び／またはクラウドベースの環境を含む、種々の異なるシステム環境において利用され得る。図１は、スタンドアロン環境及び／またはネットワーク化された環境において、本明細書に記載の１つ以上の例示的な態様を実装するために使用され得る、システムアーキテクチャ及びデータ処理デバイスの一例を説明する。種々のネットワークノード１０３、１０５、１０７、及び１０９は、インターネットなどのワイドエリアネットワーク（ＷＡＮ）１０１を介して相互接続され得る。専用イントラネット、企業ネットワーク、ＬＡＮ、メトロポリタンエリアネットワーク（ＭＡＮ）、無線ネットワーク、パーソナルネットワーク（ＰＡＮ）などを含む、他のネットワークも使用され得るか、または代替的に使用され得る。ネットワーク１０１は、例示目的のためであり、少数または追加のコンピュータネットワークと置換され得る。ローカルエリアネットワーク（ＬＡＮ）は、１つ以上の任意の既知のＬＡＮトポロジーを有し得、イーサネット（登録商標）など１つ以上の種々の異なるプロトコルを使用し得る。デバイス１０３、１０５、１０７、１０９、及び他のデバイス（図示せず）は、ツイストペア配線、同軸ケーブル、光ファイバー、電波、または他の通信媒体を介して１つ以上のネットワークに接続され得る。
【００２８】
用語「ネットワーク」は、本明細書で使用され、かつ図面に示されるとき、システム内で遠隔ストレージデバイスが１つ以上の通信経路を介して一緒に連結されるシステムだけでなく、ストレージ能力を有するシステムなどにしばしば連結され得るスタンドアロン型デバイスも意味する。したがって、用語「ネットワーク」は、「物理ネットワーク」だけでなく、物理ネットワーク全体に存在する（単一のエンティティに帰属可能な）データから構成される「コンテンツネットワーク」も含む。
【００２９】
コンポーネントは、データサーバ１０３、ウェブサーバ１０５、及びクライアントコンピュータ１０７、１０９を含み得る。データサーバ１０３は、本明細書に記載の１つ以上の例示的な態様を行うためのデータベース及び制御ソフトウェアの全体のアクセス、制御、及び管理を提供する。データサーバ１０３は、ユーザがデータと相互作用し、必要に応じてデータを取得するためのウェブサーバ１０５に接続され得る。代替的に、データサーバ１０３は、ウェブサーバ自体として機能してもよく、インターネットに直接接続されてもよい。データサーバ１０３は、直接もしくは間接的な接続を介して、またはいくつかの他のネットワークを介して、ネットワーク１０１（例えば、インターネット）経由でウェブサーバ１０５に接続され得る。ユーザは、遠隔コンピュータ１０７、１０９を使用して、例えば、ウェブサーバ１０５によってホスティングされた１つ以上の外部に露出されたウェブサイトを介して、データサーバ１０３に接続するためのウェブブラウザを使用して、データサーバ１０３と相互作用し得る。クライアントコンピュータ１０７、１０９は、データサーバ１０３に格納されたデータにアクセスするようにデータサーバ１０３と協調して使用され得るか、または他の目的のために使用され得る。例えば、クライアントデバイス１０７から、ユーザは、当該技術分野で既知のように、インターネットブラウザを使用して、またはウェブサーバ１０５及び／もしくはデータサーバ１０３とコンピュータネットワーク（インターネットなど）上で通信するソフトウェアアプリケーションを実行することによって、ウェブサーバ１０５にアクセスし得る。
【００３０】
サーバ及びアプリケーションは、同じ物理マシン上で組み合わせされてもよく、別個の仮想アドレスもしくは論理アドレスを保持してもよく、または別個の物理マシン上に存在してもよい。図１は、使用され得るネットワークアーキテクチャの一例のみを説明するものであり、本明細書でさらに記載されるように、使用される具体的なネットワークアーキテクチャ及びデータ処理デバイスが変更されてもよく、それらが提供する機能には二次的なものであるということを当業者は理解するであろう。例えば、ウェブサーバ１０５及びデータサーバ１０３によって提供されるサービスは、単一のサーバ上で組み合わされ得る。
【００３１】
各コンポーネント１０３、１０５、１０７、１０９は、任意のタイプの既知のコンピュータ、サーバ、またはデータ処理デバイスであり得る。データサーバ１０３は、例えば、レートサーバ１０３の全体の動作を制御するプロセッサ１１１を含み得る。データサーバ１０３は、ランダムアクセスメモリ（ＲＡＭ）１１３、リードオンリーメモリ（ＲＯＭ）１１５、ネットワークインターフェース１１７、入出力インターフェース１１９（例えば、キーボード、マウス、ディスプレイ、プリンタなど）、及びメモリ１２１をさらに含み得る。入出力（Ｉ／Ｏ）１１９は、データまたはファイルを読み取り、書き込み、表示し、及び／または印刷するための種々のインターフェースユニット及びドライブを含み得る。メモリ１２１は、データ処理デバイス１０３の全体の動作を制御するための動作システムソフトウェア１２３、本明細書に記載の態様を行うようにデータサーバ１０３に命令するための制御論理１２５、及び本明細書に記載の態様とともに使用されてもよいか、または使用されなくてもよい二次的なサポート及び／または他の機能を提供する他のアプリケーションソフトウェア１２７をさらに含み得る。制御論理はまた、データサーバソフトウェア１２５としても本明細書では称され得る。データサーバソフトウェアの機能は、制御論理に符号化された規則に基づいて自動的になされる動作または決定、入力をシステムに提供するユーザによって手動でなされる動作または決定、及び／またはユーザ入力（例えば、クエリ、データ更新など）に基づいた自動処理の組み合わせによってなされる動作または決定を意味する。
【００３２】
メモリ１２１は、第１のデータベース１２９及び第２のデータベース１３１など、本明細書で説明される１つ以上の態様の実行において使用されるデータも記憶し得る。いくつかの実施形態おいて、第１のデータベースは、第２のデータベースを（例えば、別個のテーブル、レポートなどとして）含み得る。つまり、情報を、単一のデータベースに格納できるか、またはシステム設計に依存して、異なる論理データベース、仮想データベース、もしくは物理データベースに分散できる。デバイス１０５、１０７、１０９は、デバイス１０３に関して記載されるように、同様のまたは異なるアーキテクチャを有し得る。本明細書に記載のデータ処理デバイス１０３（またはデバイス１０５、１０７、１０９）の機能が、例えば、複数のコンピュータにわたって処理負荷を分配したり、地理的な位置、ユーザアクセスレベル、サービス品質（ＱｏＳ）などに基づいてトランザクションを分離するために、複数のデータ処理デバイスにわたって分散され得ることを当業者は理解するであろう。
【００３３】
１つ以上の態様は、１つ以上のコンピュータまたは本明細書に記載の他のデバイスによって実行される１つ以上のプログラムモジュールにおいてなど、コンピュータ使用可能データもしくは可読データ及び／またはコンピュータ実行可能命令において具現化され得る。一般に、プログラムモジュールは、コンピュータまたは他のデバイス内のプロセッサによって実行されたときに、特定のタスクを実行するか、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。モジュールは、実行用に後でコンパイルされるソースコードプログラミング言語で書き込まれ得るか、または（限定はされないが）ハイパーテキストマークアップ言語（ＨＴＭＬ）もしくは拡張可能マークアップ言語（ＸＭＬ）などのスクリプト言語で書き込まれ得る。コンピュータ実行可能命令は、不揮発性ストレージデバイスなどのコンピュータ可読媒体に格納され得る。ハードディスク、ＣＤ−ＲＯＭ、光学ストレージデバイス、磁気ストレージデバイス、及び／またはこれらの任意の組み合わせを含む、任意の好適なコンピュータ可読ストレージ媒体が利用され得る。加えて、本明細書に記載のデータまたはイベントを表す種々の伝送（非ストレージ）媒体は、金属配線、光ファイバー、及び／または無線伝送媒体（例えば、空気及び／または空間）などの信号伝導媒体を経由して移動する電磁波の形態で、送信元と送信先との間で転送され得る。本明細書に記載の種々の態様は、方法、データ処理システム、またはコンピュータプログラム製品として具現化され得る。したがって、種々の機能が、ソフトウェア、ファームウェア、及び／またはハードウェアもしくは集積回路などのハードウェア等価物、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの全体または一部において具現化され得る。特定のデータ構造を使って、本明細書に記載の１つ以上の態様をより効率的に実装してもよく、かかるデータ構造は、本明細書に記載のコンピュータ実行可能命令及びコンピュータ使用可能データの範囲内であると企図される。
【００３４】
図２をさらに参照して、本明細書に記載の１つ以上の態様は、遠隔アクセス環境で実装され得る。図２は、本明細書に記載の１つ以上の例示的な態様に従って使用され得る例示的なコンピューティング環境２００における汎用コンピューティングデバイス２０１を含むシステムアーキテクチャの例を示す。汎用コンピューティングデバイス２０１は、クライアントアクセスデバイスのために仮想マシンを提供するように構成された単一のサーバまたは複数のサーバのデスクトップ仮想化システム（例えば、遠隔アクセスまたはクラウドシステム）内のサーバ２０６ａとして使用され得る。汎用コンピューティングデバイス２０１は、サーバ、ならびにＲＡＭ２０５、ＲＯＭ２０７、Ｉ／Ｏモジュール２０９、及びメモリ２１５を含むサーバ関連のコンポーネントの全体の動作を制御するためのプロセッサ２０３を有し得る。
【００３５】
Ｉ／Ｏモジュール２０９としては、汎用コンピューティングデバイス２０１のユーザが入力を提供し得るためのマウス、キーパッド、タッチ画面、スキャナ、光学読取デバイス、及び／またはスタイラス（または他の入力デバイス（複数可））が挙げられ、また、音声出力を提供するための１つ以上のスピーカ、ならびにテキスト出力、視聴覚出力、及び／またはグラフィカルな出力を提供するための映像ディスプレイデバイスも挙げられる。ソフトウェアは、メモリ２１５及び／または他のストレージデバイス内に格納されて、本明細書に記載の種々の機能を行うために、汎用コンピューティングデバイス２０１を専用コンピューティングデバイスに構成するために命令をプロセッサ２０３に提供し得る。例えば、メモリ２１５は、動作システム２１７、アプリケーションプログラム２１９、及び関連付けられたデータベース２２１などのコンピューティングデバイス２０１によって使用されるソフトウェアを格納してもよい。
【００３６】
コンピューティングデバイス２０１は、端末２４０などの１つ以上の遠隔コンピュータ（クライアントデバイスとも称される）への接続をサポートするネットワーク化された環境内で動作し得る。端末２４０は、汎用コンピューティングデバイス１０３または２０１に対して、上に記載の要素の多くまたはすべてを含むパーソナルコンピュータ、モバイルデバイス、ラップトップ型コンピュータ、タブレット、またはサーバであり得る。図２に示されるネットワーク接続には、ローカルエリアネットワーク（ＬＡＮ）２２５及びワイドエリアネットワーク（ＷＡＮ）２２９が含まれるが、他のネットワークが含まれてもよい。ＬＡＮネットワーキング環境で使用される場合、コンピューティングデバイス２０１は、ネットワークインターフェースまたはアダプタ２２３を経由してＬＡＮ２２５に接続され得る。ＷＡＮネットワーキング環境で使用される場合、コンピューティングデバイス２０１は、コンピュータネットワーク２３０（例えば、インターネット）などのＷＡＮ２２９上で通信を確立するためのモデム２２７または他のワイドエリアネットワークインターフェースを含み得る。示されるネットワーク接続が例示的なものであり、通信リンクをコンピュータ間に確立する他の手段が使用され得るということが理解されるであろう。コンピューティングデバイス２０１及び／または端末２４０はまた、バッテリ、スピーカ、及びアンテナ（図示せず）など種々の他のコンポーネントを含むモバイル端末（例えば、携帯電話、スマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）、ノート型パソコンなど）でもあり得る。
【００３７】
本明細書に記載の態様はまた、多くの他の汎用または専用コンピューティングシステムの環境または構成でも動作可能であり得る。本明細書に記載の態様での使用のために好適であり得る他のコンピューティングシステム、環境、及び／または構成の実施例としては、限定はされないが、パーソナルコンピュータ、サーバコンピュータ、携帯型またはラップトップ型デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家電製品、ネットワークパーソナルコンピュータ（ＰＣ）、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスなどのいずれかを含む分散型コンピューティング環境が挙げられる。
【００３８】
図２に示されるように、１つ以上のクライアントデバイス２４０は、１つ以上のサーバ２０６ａ〜２０６ｎ（「サーバ２０６（複数可）」として本明細書では概して称される）と通信し得る。一実施形態において、コンピューティング環境２００は、サーバ２０６（複数可）とクライアントマシン２４０（複数可）との間に設置されるネットワーク機器を含み得る。ネットワーク機器は、クライアント／サーバ接続を管理し得、場合によって、複数のバックエンドサーバ２０６間でクライアント接続の負荷を分散することができる。
【００３９】
クライアントマシン２４０（複数可）は、いくつかの実施形態において、単一のクライアントマシン２４０または単一グループのクライアントマシン２４０と称され得る一方、サーバ２０６（複数可）は、単一のサーバ２０６または単一グループのサーバ２０６と称され得る。一実施形態において、単一のクライアントマシン２４０は、２つ以上のサーバ２０６と通信するが、別の実施形態では、単一のサーバ２０６は、２つ以上のクライアントマシン２４０と通信する。また別の実施形態では、単一のクライアントマシン２４０は、単一のサーバ２０６と通信する。
【００４０】
クライアントマシン２４０は、いくつかの実施形態において、完全に網羅しているわけではないが、クライアントマシン（複数可）、クライアント（複数可）、クライアントコンピュータ（複数可）、クライアントデバイス（複数可）、クライアントコンピューティングデバイス（複数可）、ローカルマシン、遠隔マシン、クライアントノード（複数可）、エンドポイント（複数可）、またはエンドポイントノード（複数可）といった用語のいずれか１つによって参照することができる。サーバ２０６は、いくつかの実施形態において、完全に網羅しているわけではないが、サーバ（複数可）、ローカルマシン、遠隔マシン、サーバファーム（複数可）、またはホストコンピューティングデバイス（複数可）といった用語のいずれか１つによって参照され得る。
【００４１】
一実施形態において、クライアントマシン２４０は、仮想マシンであり得る。仮想マシンは、任意の仮想マシンであり得るが、いくつかの実施形態では、仮想マシンは、例えば、Ｃｉｔｒｉｘ  Ｓｙｓｔｅｍｓ、ＩＢＭ、ＶＭｗａｒｅによって開発されたハイパーバイザーなどのタイプ１もしくはタイプ２のハイパーバイザー、または任意の他のハイパーバイザーによって管理される任意の仮想マシンであってもよい。いくつかの態様において、仮想マシンは、ハイパーバイザーによって管理され得るが、態様では、仮想マシンは、サーバ２０６上で実行するハイパーバイザーまたはクライアント２４０上で実行するハイパーバイザーによって管理されてもよい。
【００４２】
いくつかの実施形態では、サーバ２０６または他の遠隔に位置するマシン上で遠隔で実行するアプリケーションによって生成されるアプリケーション出力を表示するクライアントデバイス２４０が含まれる。これらの実施形態では、クライアントデバイス２４０は、仮想マシンの受信側プログラム（receiver program）またはアプリケーションを実行して、アプリケーションウィンドウ、ブラウザ、または他の出力ウィンドウに出力を表示し得る。一実施例において、アプリケーションは、デスクトップであるが、他の実施例では、アプリケーションは、デスクトップを生成または提示するアプリケーションである。デスクトップは、ローカルアプリケーション及び／または遠隔アプリケーションを組み込むことができる動作システムのインスタンス用のユーザインターフェースを提供するグラフィカルシェルを含み得る。アプリケーションは、本明細書で使用されるとき、動作システム（及び任意選択でデスクトップも）のインスタンスがロードされた後で実行するプログラムである。
【００４３】
サーバ２０６は、いくつかの実施形態において、遠隔プレゼンテーションプロトコルまたは他のプログラムを使用して、データを、クライアント上で実行するシンクライアントまたは遠隔ディスプレイアプリケーションに送信し、サーバ２０６上で実行するアプリケーションによって生成されるディスプレイ出力を提示する。シンクライアントまたは遠隔ディスプレイプロトコルは、完全に網羅しているわけではないが、フロリダ州フォートローダーデールのＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって開発されたＩｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｕｔｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＣＡ）プロトコル、またはワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたＲｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ（ＲＤＰ）といったプロトコルリストのうちのいずれか１つであり得る。
【００４４】
遠隔コンピューティング環境は、サーバ２０６ａ〜２０６ｎが、サーバファーム２０６、例えば、クラウドコンピューティング環境に、論理的に一緒にグループ化されるように、２つ以上のサーバ２０６ａ〜２０６ｎを含み得る。サーバファーム２０６は、地理的に分散される一方、論理的に一緒にグループ化されるサーバ２０６、または互いに近接して位置する一方、論理的に一緒にグループ化されるサーバ２０６を含み得る。サーバファーム２０６内の地理的に分散されたサーバ２０６ａ〜２０６ｎは、いくつかの実施形態において、ＷＡＮ（ワイド）、ＭＡＮ（メトロポリタン）、またはＬＡＮ（ローカル）を使用して通信することができ、その場合、異なる地理的領域は、異なる大陸、大陸の異なる領域、異なる国、異なる州、異なる都市、異なるキャンパス、異なる部屋、または前述の地理的位置の任意の組み合わせとして特徴付けることができる。いくつかの実施形態において、サーバファーム２０６は、単一のエンティティとして管理され得るが、他の実施形態では、サーバファーム２０６は、複数のサーバファームを含むことができる。
【００４５】
いくつかの実施形態において、サーバファームは、実質的に同様のタイプの動作システムのプラットフォーム（例えば、ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ、ｉＯＳ、ＡＮＤＲＯＩＤ（登録商標）、ＳＹＭＢＩＡＮなど）を実行するサーバ２０６を含み得る。他の実施形態では、サーバファーム２０６は、第１のタイプの動作システムのプラットフォームを実行する１つ以上のサーバの第１のグループ、及び第２のタイプの動作システムのプラットフォームを実行する１つ以上のサーバの第２のグループを含み得る。
【００４６】
サーバ２０６は、必要に応じて、例えば、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、機器、ネットワークア機器、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、展開サーバ、セキュアなソケット層（ＳＳＬ）ＶＰＮサーバ、ファイアウォール、ウェブサーバ、アプリケーションサーバなどの任意のタイプのサーバとして、あるいはマスタアプリケーションサーバ、アクティブディレクトリを実行するサーバ、またはファイアウォール機能、アプリケーション機能、もしくは負荷分散機能を提供するアプリケーション高速化プログラムを実行するサーバとして構成されてもよい。また他のタイプのサーバが使用されてもよい。
【００４７】
いくつかの実施形態では、クライアントマシン２４０から要求を受信し、要求を第２のサーバ１０６ｂに転送し、第２のサーバ１０６ｂからの応答でクライアントマシン２４０によって生成された要求に応答する、第１のサーバ１０６ａが含まれる。第１のサーバ１０６ａは、クライアントマシン２４０に対して利用可能なアプリケーションのリスト、及びアプリケーションのリスト内で特定されたアプリケーションをホスティングするアプリケーションサーバ２０６と関連付けられたアドレス情報を獲得し得る。次いで、第１のサーバ１０６ａは、ウェブインターフェースを使用してクライアントの要求に対する応答を提示し、クライアント２４０と直接通信して、クライアント２４０に、特定されたアプリケーションへのアクセスを提供することができる。１つ以上のクライアント２４０及び／または１つ以上のサーバ２０６は、ネットワーク２３０、例えば、ネットワーク１０１上でデータを伝送し得る。
【００４８】
図２は、デスクトップ仮想化システムのハイレベルアーキテクチャを示す。示されるように、デスクトップ仮想化システムは、仮想デスクトップ及び／または仮想アプリケーションを１つ以上のクライアントアクセスデバイス２４０に提供するように構成された少なくとも１つの仮想化サーバ２０６を含む、単一のサーバシステムもしくは複数のサーバシステム、またはクラウドシステムであってもよい。本明細書で使用されるとき、デスクトップは、１つ以上のアプリケーションがホスティング及び／または実行され得るグラフィカル環境または空間を意味する。デスクトップは、ローカルアプリケーション及び／または遠隔アプリケーションを組み込むことができる動作システムのインスタンス用のユーザインターフェースを提供するグラフィカルシェルを含み得る。アプリケーションは、動作システム（及び任意選択でデスクトップも）のインスタンスがロードされた後で実行するプログラムを含み得る。動作システムの各インスタンスは、物理的（例えば、デバイスごとに１つの動作システム）であっても、仮想（例えば、単一のデバイス上で実行するＯＳの多くのインスタンス）であってもよい。各アプリケーションは、ローカルデバイス上で実行されても、遠隔に位置するデバイス（例えば、遠隔型）上で実行されてもよい。
【００４９】
さらに図３を参照して、コンピュータデバイス３０１は、例えば、単一のサーバ、複数のサーバ、またはクラウドコンピューティング環境などの仮想化環境内の仮想化サーバとして構成され得る。図３で説明される仮想化サーバ３０１は、図２で説明されるサーバ２０６の１つ以上の実施形態もしくは他の既知のコンピューティングデバイスとして展開するか、またはこれらによって実装することができる。１つ以上の物理ディスク３０４、１つ以上の物理デバイス３０６、１つ以上の物理プロセッサ３０８、及び１つ以上の物理メモリ３１６を含むことができるハードウェア層が仮想化サーバ３０１に含まれる。いくつかの実施形態において、ファームウェア３１２は、物理メモリ３１６のメモリ素子内に格納することができ、１つ以上の物理プロセッサ３０８によって実行することができる。仮想化サーバ３０１は、物理メモリ３１６のメモリ素子内に格納され、１つ以上の物理プロセッサ３０８によって実行され得る動作システム３１４をさらに含み得る。さらにまた、ハイパーバイザー３０２は、物理メモリ３１６のメモリ素子内に格納され得、１つ以上の物理プロセッサ３０８によって実行することができる。
【００５０】
１つ以上の物理プロセッサ３０８上での実行は、１つ以上の仮想マシン３３２Ａ〜Ｃ（概して３３２）であってもよい。各仮想マシン３３２は、仮想ディスク３２６Ａ〜Ｃ及び仮想プロセッサ３２８Ａ〜Ｃを有し得る。いくつかの実施形態において、第１の仮想マシン３３２Ａは、仮想プロセッサ３２８Ａを使用して、ツールスタック３２４を含む制御プログラム３２０を実行し得る。制御プログラム３２０は、システムの管理及び／または制御のために使用される制御仮想マシン、Ｄｏｍ０、Ｄｏｍａｉｎ０、または他の仮想マシンと称され得る。いくつかの実施形態において、１つ以上の仮想マシン３３２Ｂ〜Ｃは、仮想プロセッサ３２８Ｂ〜Ｃを使用して、ゲスト動作システム３３０Ａ〜Ｂを実行することができる。
【００５１】
仮想化サーバ３０１は、仮想化サーバ３０１と通信する１つ以上のハードウェアを有するハードウェア層３１０を含み得る。いくつかの実施形態において、ハードウェア層３１０は、１つ以上の物理ディスク３０４、１つ以上の物理デバイス３０６、１つ以上の物理プロセッサ３０８、及び１つ以上のメモリ２１６を含むことができる。物理コンポーネント３０４、３０６、３０８、及び３１６は、例えば、上に記載のコンポーネントのうちのいずれかを含み得る。物理デバイス３０６としては、例えば、ネットワークインターフェースカード、ビデオカード、キーボード、マウス、入力デバイス、モニタ、ディスプレイデバイス、スピーカ、光学ドライブ、ストレージデバイス、ユニバーサルシリアルバス接続、プリンタ、スキャナ、ネットワーク要素（例えば、ルータ、ファイアウォール、ネットワークアドレス変換器、負荷分散器、仮想プライベートネットワーク（ＶＰＮ）ゲートウェイ、ダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）ルータなど）、または仮想化サーバ３０１と接続もしくは通信する任意のデバイスが挙げられ得る。ハードウェア層３１０における物理メモリ３１６は、任意のタイプのメモリを含み得る。物理メモリ３１６は、データを格納してもよく、いくつかの実施形態では、１つ以上のプログラム、または実行可能命令のセットを格納し得る。図３は、ファームウェア３１２が仮想化サーバ３０１の物理メモリ３１６内に格納される実施形態を説明する。物理メモリ３１６内に格納されるプログラムまたは実行可能命令は、仮想化サーバ３０１の１つ以上のプロセッサ３０８によって実行することができる。
【００５２】
仮想化サーバ３０１はまた、ハイパーバイザー３０２も含み得る。いくつかの実施形態において、ハイパーバイザー３０２は、仮想化サーバ３０１上のプロセッサ３０８によって実行されるプログラムであって、任意の数の仮想マシン３３２を作成及び管理し得る。ハイパーバイザー３０２は、仮想マシンモニタまたはプラットフォーム仮想化ソフトウェアと称され得る。いくつかの実施形態において、ハイパーバイザー３０２は、実行可能命令、及びコンピューティングマシン上で実行する仮想マシンを監視するハードウェアの任意の組み合わせであることができる。ハイパーバイザー３０２は、タイプ２のハイパーバイザーであり得、動作システム３１４内で実行するハイパーバイザーが仮想化サーバ３０１上で実行する。次いで、仮想マシンが、ハイパーバイザーの上のレベルで実行する。いくつかの実施形態において、タイプ２のハイパーバイザーは、タイプ２のハイパーバイザーがユーザの動作システムと相互作用するように、ユーザの動作システムのコンテキスト内で実行する。他の実施形態では、仮想化環境内の１つ以上の仮想化サーバ２０１は、タイプ１のハイパーバイザー（図示せず）を代わりに含み得る。タイプ１のハイパーバイザーは、ハードウェア層３１０内のハードウェア及びリソースに直接アクセスすることによって、仮想化サーバ３０１上で実行し得る。つまり、タイプ２のハイパーバイザー３０２は、ホスト動作システム３１４を経由してシステムリソースにアクセスする一方、示されるように、タイプ１のハイパーバイザーは、ホスト動作システム３１４なしですべてのシステムリソースに直接アクセスし得る。タイプ１のハイパーバイザーは、直接、仮想化サーバ３０１の１つ以上の物理プロセッサ３０８上で実行し得、物理メモリ３１６内に格納されたプログラムを含み得る。
【００５３】
ハイパーバイザー３０２は、いくつかの実施形態において、システムリソースへの直接アクセスを有する動作システム３３０または制御プログラム３２０をシミュレートする任意の様式で、仮想リソースを、仮想マシン３３２上で実行する動作システム３３０または制御プログラム３２０に提供することができる。システムリソースは、限定はされないが、物理デバイス３０６、物理ディスク３０４、物理プロセッサ３０８、物理メモリ３１６、及び仮想化サーバ３０１のハードウェア層３１０に含まれる任意の他のコンポーネントを含むことができる。ハイパーバイザー３０２を使用して、仮想ハードウェアをエミュレートし、物理ハードウェアを分割し、物理ハードウェアを仮想化し、かつ／またはコンピューティング環境へのアクセスを提供する仮想マシンを実行し得る。さらに他の実施形態では、ハイパーバイザー３０２は、仮想化サーバ３０１上で実行する仮想マシン３３２についてのプロセッサスケジューリング及びメモリ分割を制御する。ハイパーバイザー３０２としては、カリフォルニア州パロアルトのＶＭＷａｒｅ，Ｉｎｃ．によって製造されるハイパーバイザー、オープンソースＸｅｎ．ｏｒｇコミュニティによって開発が監督されているオープンソース製品であるＸＥＮハイパーバイザー、Ｍｉｃｒｏｓｏｆｔによって提供されるＨｙｐｅｒＶ、ＶｉｒｔｕａｌＳｅｒｖｅｒ、または仮想ＰＣハイパーバイザーなどが挙げられる。いくつかの実施形態において、仮想化サーバ３０１は、その上でゲスト動作システムが実行し得る仮想マシンプラットフォームを作成するハイパーバイザー３０２を実行する。これらの実施形態では、仮想化サーバ３０１は、ホストサーバと称され得る。かかる仮想化サーバの一例は、フロリダ州フォートローダーデールのＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって提供されるＸＥＮ  ＳＥＲＶＥＲである。
【００５４】
ハイパーバイザー３０２は、その中でゲスト動作システム３３０が実行する１つ以上の仮想マシン３３２Ｂ〜Ｃ（概して３３２）を作成し得る。いくつかの実施形態において、ハイパーバイザー３０２は、仮想マシン画像をロードして、仮想マシン３３２を作成し得る。他の実施形態では、ハイパーバイザー３０２は、仮想マシン３３２内でゲスト動作システム３３０を実行し得る。さらに他の実施形態では、仮想マシン３３２は、ゲスト動作システム３３０を実行し得る。
【００５５】
仮想マシン３３２を作成することに加えて、ハイパーバイザー３０２は、少なくとも１つの仮想マシン３３２の実行を制御し得る。他の実施形態において、ハイパーバイザー３０２は、仮想化サーバ３０１（例えば、ハードウェア層３１０内で利用可能な任意のハードウェアリソース）によって提供される少なくとも１つのハードウェアリソースの抽象化とともに少なくとも１つの仮想マシン３３２を提示し得る。他の実施形態において、ハイパーバイザー３０２は、仮想マシン３３２が仮想化サーバ３０１内で利用可能な物理プロセッサ３０８にアクセスする様式を制御し得る。物理プロセッサ３０８へのアクセスを制御することは、仮想マシン３３２がプロセッサ３０８へのアクセスを有するべきか否か、及び物理プロセッサの能力がいかに仮想マシン３３２に提示されるかを決定することを含み得る。
【００５６】
図３に示されるように、仮想化サーバ３０１は、１つ以上の仮想マシン３３２をホスティングまたは実行し得る。仮想マシン３３２は、プロセッサ３０８によって実行される場合、仮想マシン３３２が物理コンピューティングデバイスのようにプログラム及びプロセスを実行できるように、物理コンピュータの動作を模倣する実行可能命令のセットである。図３は、仮想化サーバ３０１が３つの仮想マシン３３２をホスティングしている一実施形態を説明しているが、他の実施形態では、仮想化サーバ３０１は、任意の数の仮想マシン３３２をホスティングすることができる。ハイパーバイザー３０２は、いくつかの実施形態において、各仮想マシン３３２に、物理ハードウェア、メモリ、プロセッサ、及びその仮想マシン３３２に対して利用可能な他のシステムリソースの固有仮想ビューを提供する。いくつかの実施形態において、固有仮想ビューは、仮想マシンの許可、１つ以上の仮想マシン識別子に対するポリシーエンジンの適用、仮想マシンにアクセスするユーザ、仮想マシン上で実行するアプリケーション、仮想マシンによってアクセスされるネットワーク、または任意の他の所望の基準のうちの１つ以上に基づくことができる。例えば、ハイパーバイザー３０２は、１つ以上の非セキュアな仮想マシン３３２及び１つ以上のセキュアな仮想マシン３３２を作成し得る。非セキュアな仮想マシン３３２は、セキュアな仮想マシン３３２がアクセスすることを許可され得るリソース、ハードウェア、メモリ位置、及びプログラムにアクセスすることが防止され得る。他の実施形態において、ハイパーバイザー３０２は、各仮想マシン３３２に、物理ハードウェア、メモリ、プロセッサ、及び仮想マシン３３２に対して利用可能な他のシステムリソースの実質的に同様の仮想ビューを提供し得る。
【００５７】
各仮想マシン３３２は、仮想ディスク３２６Ａ〜Ｃ（概して３２６）及び仮想プロセッサ３２８Ａ〜Ｃ（概して３２８）を含み得る。仮想ディスク３２６は、いくつかの実施形態において、仮想化サーバ３０１の１つ以上の物理ディスク３０４の仮想化されたビューであるか、または仮想化サーバ３０１の１つ以上の物理ディスク３０４の一部である。物理ディスク３０４の仮想化されたビューは、ハイパーバイザー３０２によって生成、提供、及び管理することができる。いくつかの実施形態において、ハイパーバイザー３０２は、各仮想マシン３３２に物理ディスク３０４の固有ビューを提供する。したがって、これらの実施形態では、各仮想マシン３３２に含まれる特定の仮想ディスク３２６は、他の仮想ディスク３２６と比較したときに固有のものであることができる。
【００５８】
仮想プロセッサ３２８は、仮想化サーバ３０１の１つ以上の物理プロセッサ３０８の仮想化されたビューであることができる。いくつかの実施形態において、物理プロセッサ３０８の仮想化されたビューは、ハイパーバイザー３０２によって生成、提供、及び管理することができる。いくつかの実施形態において、仮想プロセッサ３２８は、少なくとも１つの物理プロセッサ３０８の実質的にすべて同じ特性を有する。他の実施形態では、仮想プロセッサ３０８は、仮想プロセッサ３２８の特性の少なくとも一部が対応する物理プロセッサ３０８の特性と異なるように、物理プロセッサ３０８の変更されたビューを提供する。
【００５９】
さらに図４を参照して、本明細書に記載のいくつかの態様は、クラウドベースの環境内で実装され得る。図４は、クラウドコンピューティング環境（またはクラウドシステム）４００の一実施例を説明する。図４で読み取れるように、クライアントコンピュータ４１１〜４１４は、クラウド管理サーバ４１０と通信して、クラウドシステムのコンピューティングリソース（例えば、ホストサーバ４０３、ストレージリソース４０４、及びネットワークリソース４０５）にアクセスし得る。
【００６０】
管理サーバ４１０は、１つ以上の物理サーバ上で実装され得る。管理サーバ４１０は、例えば、中でも、フロリダ州フォートローダーデールのＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．のＣＬＯＵＤＳＴＡＣＫ、またはＯＰＥＮＳＴＡＣＫを実行し得る。管理サーバ４１０は、例えば、ホストコンピュータ４０３、データストレージデバイス４０４、及びネットワーキングデバイス４０５などクラウドのハードウェアリソース及びソフトウェアリソースを含む種々のコンピューティングリソースを管理し得る。クラウドのハードウェアリソース及びソフトウェアリソースは、プライベートコンポーネント及び／またはパブリックコンポーネントを含み得る。例えば、クラウドは、１つ以上の特定の顧客もしくはクライアントコンピュータ４１１〜４１４によって、及び／またはプライベートネットワーク上で使用されるプライベートクラウドとして構成されてもよい。他の実施形態では、パブリッククラウドまたはハイブリッド型パブリック−プライベートクラウドは、オープン型またはハイブリッド型のネットワーク上で他の顧客によって使用されてもよい。
【００６１】
管理サーバ４１０は、クラウドオペレータ及びクラウド顧客がクラウドシステムと相互作用し得るためのユーザインターフェースを提供するように構成され得る。例えば、管理サーバ４１０は、アプリケーションプログラミングインターフェース（ＡＰＩ）及び／または１つ以上のクラウドオペレータコンソールアプリケーション（例えば、ウェブベースのスタンドアロンアプリケーション）のセットにユーザインターフェースを提供して、クラウドオペレータがクラウドリソースを管理し、仮想化層を構成し、顧客アカウントを管理し、かつ他のクラウド管理タスクを行うことを可能にし得る。管理サーバ４１０はまた、クライアントコンピュータ４１１〜４１４を介してエンドユーザからクラウドコンピューティング要求、例えば、クラウド内で仮想マシンを作成、変更、または破壊するための要求を受信するように構成されたユーザインターフェースを有する、ＡＰＩ及び／または１つ以上の顧客コンソールアプリケーションのセットも含み得る。クライアントコンピュータ４１１〜４１４は、インターネットまたは他の通信ネットワークを介して管理サーバ４１０に接続し得、管理サーバ４１０によって管理される１つ以上のコンピューティングリソースへのアクセスを要求し得る。クライアント要求に応答して、管理サーバ４１０は、クライアント要求に基づいて、クラウドシステムのハードウェア層における物理リソースを選択及びプロビジョニングするように構成されるリソースマネージャを含み得る。例えば、クラウドシステムの管理サーバ４１０及び追加のコンポーネントは、仮想マシン及びそれらのオペレーティング環境（例えば、ハイパーバイザー、ストレージリソース、ネットワーク要素によって提供されるサービスなど）を、クライアントコンピュータ４１１〜４１４における顧客のために、ネットワーク（例えば、インターネット）上で、プロビジョニング、作成、及び管理するように構成され、顧客に、計算リソース、データストレージサービス、ネットワーキング能力、ならびにコンピュータプラットフォーム及びアプリケーションのサポートを提供し得る。クラウドシステムはまた、セキュリティシステム、開発環境、ユーザインターフェースなどを含む種々の特定のサービスを提供するように構成され得る。
【００６２】
ある特定のクライアント４１１〜４１４は、例えば、同じエンドユーザまたは同じ会社もしくは組織の系列下にある異なるユーザの代わりに、仮想マシンを作成する、関連のある異なるクライアントコンピュータであり得る。他の実施例では、ある特定のクライアント４１１〜４１４は、異なる会社または組織の系列下にあるユーザなど関連がないものであってもよい。関連のないクライアントについては、任意の一ユーザの仮想マシンまたはストレージに関する情報が、他のユーザから隠され得る。
【００６３】
クラウドコンピューティング環境の物理ハードウェア層をここで参照すると、利用可能ゾーン４０１〜４０２（またはゾーン）は、物理コンピューティングリソースの並置されたセットを意味し得る。ゾーンは、コンピューティングリソースの全体のクラウドにおいて他のゾーンから地理的に離間され得る。例えば、ゾーン４０１は、カリフォルニア州に位置する第１のクラウドデータセンタであり得、ゾーン４０２は、フロリダ州に位置する第２のクラウドデータセンタであり得る。管理サーバ４１０は、利用可能ゾーンのうちの１つ、または離間した場所に位置し得る。各ゾーンは、管理サーバ４１０などゾーンの外側にあるデバイスと、ゲートウェイを経由してインターフェースする内部ネットワークを含み得る。クラウドのエンドユーザ（例えば、クライアント４１１〜４１４）は、ゾーン間の区別を認識しても、しなくてもよい。例えば、エンドユーザは、メモリ、処理力、及びネットワーク能力の指定された量を有する仮想マシンの作成を要求し得る。管理サーバ４１０は、ユーザの要求に応答し得、仮想マシンがゾーン４０１またはゾーン４０２からのリソースを使用して作成されたか否かをユーザが知ることなく、リソースを割り当てて仮想マシンを作成し得る。他の実施例では、クラウドシステムは、仮想マシン（または他のクラウドリソース）が特定のゾーンの中に、またはゾーン内の特定のリソース４０３〜４０５に割り当てられるということをエンドユーザが要求することを可能にし得る。
【００６４】
この実施例では、各ゾーン４０１〜４０２は、例えば、クラウドコンピューティングサービスを顧客に提供するために使用され得る物理ホスティングリソース（または処理リソース）、物理ネットワークリソース、物理ストレージリソース、スイッチ、及び追加のハードウェアリソースといった種々の物理ハードウェアコンポーネント（またはコンピューティングリソース）４０３〜４０５の配置を含み得る。クラウドゾーン４０１〜４０２内の物理ホスティングリソースは、仮想マシンインスタンスを作成及びホスティングするように構成され得る上に記載の仮想化サーバ３０１など１つ以上のコンピュータサーバ４０３を含み得る。クラウドゾーン４０１または４０２内の物理ネットワークリソースは、ファイアウォール、ネットワークアドレス変換器、負荷分散器、仮想プライベートネットワーク（ＶＰＮ）ゲートウェイ、ダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）ルータなどの、ネットワークサービスをクラウド顧客に提供するように構成されたハードウェア及び／またはソフトウェアを含む１つ以上のネットワーク要素４０５（例えば、ネットワークサービスプロバイダ）を含み得る。クラウドゾーン４０１〜４０２内のストレージリソースは、ストレージディスク（例えば、ソリッドステートドライブ（ＳＳＤ）、磁気ハードディスクなど）及び他のストレージデバイスを含み得る。
【００６５】
図４に示されるクラウドコンピューティング環境例はまた、仮想マシンを作成及び管理し、クラウド内の物理リソースを使用して、他のサービスを顧客に提供するように構成された追加のハードウェアリソース及び／またはソフトウェアリソースを有する（例えば、図１〜３に示されるような）仮想化層も含み得る。仮想化層は、図３において上に記載のように、他のコンポーネントとともにハイパーバイザーを含んで、ネットワーク仮想化、ストレージ仮想化などを提供し得る。仮想化層は、物理リソース層とは別個の層であり得るか、または同じハードウェアリソース及び／もしくはソフトウェアリソースのいくつかもしくはすべてを物理リソース層と共有し得る。例えば、仮想化層は、物理コンピューティングリソースを有する仮想化サーバ４０３の各々にインストールされたハイパーバイザーを含み得る。代替的に、例えば、ＷＩＮＤＯＷＳ（登録商標）  ＡＺＵＲＥ（ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ）、ＡＭＡＺＯＮ  ＥＣ２  （ワシントン州シアトルのＡｍａｚｏｎ．ｃｏｍ  Ｉｎｃ．）、ＩＢＭ  ＢＬＵＥ  ＣＬＯＵＤ（ニューヨーク州アーモンクのＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎ）などの既知のクラウドシステムが使用されてもよい。
【００６６】
〈企業モビリティ管理アーキテクチャ〉
図５は、ＢＹＯＤ環境で使用するための企業モビリティ技術アーキテクチャ５００を表す。本アーキテクチャは、モバイルデバイス５０２のユーザが、企業リソースまたは個人リソースにモバイルデバイス５０２からアクセスすること、及び個人での使用のためにモバイルデバイス５０２を使用することの両方を可能にする。ユーザは、ユーザによって購入されるモバイルデバイス５０２、または企業によってユーザに提供されるモバイルデバイス５０２を使用して、かかる企業リソース５０４または企業サービス５０８にアクセスし得る。ユーザは、ビジネスでの使用のみのため、またはビジネス及び個人での使用のためにモバイルデバイス５０２を利用してもよい。モバイルデバイスは、ｉＯＳ動作システム、Ａｎｄｒｏｉｄ（登録商標）動作システムなどにおいて実行し得る。企業は、ポリシーを実装するように選び、モバイルデバイス５０４を管理してもよい。ポリシーは、モバイルデバイスが特定され、セキュア化されるかまたはセキュリティが検証され、かつ企業リソースに選択的または完全なアクセスが提供され得るようにファイアウォールまたはゲートウェイを通して埋め込まれ得る。ポリシーは、モバイルデバイス管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルデータ管理ポリシー、またはモバイルデバイス、アプリケーション、及びデータ管理ポリシーのいくつかの組み合わせであり得る。モバイルデバイス管理ポリシーのアプリケーションを通して管理されるモバイルデバイス５０４は、登録されたデバイスと称され得る。
【００６７】
いくつかの実施形態において、モバイルデバイスの動作システムは、管理される区分５１０及び管理されない区分５１２に分離され得る。管理される区分５１０は、それに適用されるポリシーを有して、管理される区分上で実行するアプリケーション及び管理される区分に格納されたデータをセキュア化し得る。管理される区分上で実行するアプリケーションは、セキュアなアプリケーションであり得る。他の実施形態において、すべてのアプリケーションは、アプリケーションから別々に受信され、１つ以上のセキュリティパラメータ、特性、リソース制限、及び／またはアプリケーションがデバイス上で実行しているときにモバイルデバイス管理システムによって実施される他のアクセス制御を定義する１つ以上のポリシーファイルのセットに従って実行し得る。それぞれのポリシーファイルに従って動作することによって、各アプリケーションは、１つ以上の他のアプリケーション及び／もしくはリソースとの通信が許容または制限され、それによって仮想区分を作成し得る。したがって、本明細書で使用されるとき、区分は、メモリの物理的に区分された部分（物理区分）、メモリの論理的に区分された部分（論理区分）、ならびに／または本明細書に記載の複数のアプリケーション上の１つ以上のポリシー及び／もしくはポリシーファイルの実施結果として作成された仮想区分（仮想区分）を意味し得る。言い換えると、管理されたアプリケーション上でポリシーを実施することによって、それらのアプリケーションは、他の管理されたアプリケーション及び信頼された企業リソースと通信することのみができるように制限され、それによって管理されないアプリケーション及びデバイスによって入り込めない仮想区分を作成し得る。
【００６８】
セキュアなアプリケーションは、電子メールアプリケーション、ウェブブラウザアプリケーション、サービスとしてのソフトウェア（ＳａａＳ）アクセスアプリケーション、Ｗｉｎｄｏｗｓ（登録商標）  Ａｐｐｌｉｃａｔｉｏｎアクセスアプリケーションなどであり得る。セキュアなアプリケーションは、セキュアなネイティブアプリケーション５１４、セキュアなアプリケーションランチャー５１８によって実行されるセキュアな遠隔アプリケーション５２２、セキュアなアプリケーションランチャー５１８によって実行される仮想化アプリケーション５２６などであり得る。セキュアなネイティブアプリケーション５１４は、セキュアなアプリケーションラッパ５２０によってラッピングされ得る。セキュアなアプリケーションラッパ５２０は、セキュアなネイティブアプリケーションがデバイス上で実行されるとき、モバイルデバイス５０２上で実行される組み込まれたポリシーを含み得る。セキュアなアプリケーションラッパ５２０は、モバイルデバイス５０２上で実行するセキュアなネイティブアプリケーション５１４を、セキュアなネイティブアプリケーション５１４がセキュアなネイティブアプリケーション５１４の実行の際に要求されたタスクを完了することを要求し得る、企業においてホスティングされたリソースに向けるメタデータを含み得る。セキュアなアプリケーションランチャー５１８によって実行されるセキュアな遠隔アプリケーション５２２は、セキュアなアプリケーションランチャーアプリケーション５１８内で実行され得る。セキュアなアプリケーションランチャー５１８によって実行される仮想化アプリケーション５２６は、企業リソース５０４などにおいて、モバイルデバイス５０２上のリソースを利用し得る。セキュアなアプリケーションランチャー５１８によって実行される仮想化アプリケーション５２６によってモバイルデバイス５０２上で使用されるリソースは、ユーザインタラクションリソース、処理リソースなどを含み得る。ユーザインタラクションリソースは、キーボード入力、マウス入力、カメラ入力、触覚入力、音声入力、視覚入力、ジェスチャ入力などを収集し、伝送するように使用さ得る。処理リソースは、ユーザインターフェース、企業リソース５０４から受信した処理データなどを提示するように使用され得る。セキュアなアプリケーションランチャー５１８によって実行される仮想化アプリケーション５２６によって企業リソース５０４において使用されるリソースは、ユーザインターフェース生成リソース、処理リソースなどを含み得る。ユーザインターフェース生成リソースは、ユーザインターフェースをアセンブリングする、ユーザインターフェースを修正する、ユーザインターフェースを最新にするなどのように使用され得る。処理リソースは、情報を作成する、情報を読み取る、情報を更新する、情報を消去するなどのように使用され得る。例えば、仮想化アプリケーションは、グラフィカルユーザインターフェース（ＧＵＩ）に関連するユーザインタラクションを記録し、それらをサーバアプリケーションに通信し得、サーバアプリケーションは、ユーザインタラクションデータを、サーバ上で動作するアプリケーションへの入力として使用する���この配置では、企業は、サーバ側のアプリケーションならびにアプリケーションに関連するデータ、ファイルなどを維持するように選出し得る。企業は、モバイルデバイス上での展開のためにアプリケーションをセキュア化することによって、本明細書の原則に従って、いくつかのアプリケーションを「可動化」するように選出し得るが、本配置はまた、ある特定のアプリケーションのために選出され得る。例えば、いくつかのアプリケーションは、モバイルデバイス上での使用のためにセキュア化されてもよいが、他のアプリケーションは、モバイルデバイス上での展開のために用意されていないか、または適切でない場合があるため、企業は、モバイルユーザアクセスを、仮想化技術によって用意されていないアプリケーションに提供することを選出し得る。別の例として、企業は、大容量で複雑なデータセット（例えば、マテリアルリソースプランニングアプリケーション）を含む大容量で複雑なアプリケーションを有し得、その場合、モバイルデバイスのためのアプリケーションをカスタマイズすることは非常に困難であるか、またはそうでなければ望ましくないため、企業は、アプリケーションへのアクセスを仮想化技術によって提供することを選出し得る。また別の例として、企業は、企業によって、セキュア化されているモバイル環境に対してもあまりに機密性が高いとみなされ得る高度にセキュア化されているデータ（例えば、人材データ、顧客データ、工学データ）を維持するアプリケーションを有し得るため、企業は、仮想化技術を使用することを選出して、かかるアプリケーション及びデータへのモバイルアクセスを許可し得る。企業は、モバイルデバイス上の完全にセキュア化されているアプリケーション及び完全に機能的なアプリケーションの両方、ならびに仮想化アプリケーションを提供して、サーバ側でより適切に動作されるとみなされるアプリケーションへのアクセスを可能にすることを選出し得る。一実施形態において、仮想化アプリケーションは、セキュアなストレージ位置のうちの１つにおける携帯電話のいくつかのデータ、ファイルなどを格納し得る。例えば、企業は、ある特定の情報が電話に格納されることを可能にする一方で、他の情報を許可しないことを選出し得る。
【００６９】
仮想化アプリケーションに関連して、本明細書に記載の通り、モバイルデバイスは、ＧＵＩを提示し、次いでＧＵＩとのユーザインタラクションを記録するように設計されている仮想化アプリケーションを有し得る。アプリケーションは、ユーザインタラクションを、アプリケーションとのユーザインタラクションとしてサーバ側のアプリケーションによって使用されるようにサーバ側に通信し得る。応答して、サーバ側のアプリケーションは、モバイルデバイスに新しいＧＵＩを返送し得る。例えば、新しいＧＵＩは、静的ページ、動的ページ、アニメーションなどであり、それによって遠隔に位置するリソースへのアクセスを提供し得る。
【００７０】
セキュアなアプリケーションは、モバイルデバイスの管理される区分５１０におけるセキュアなデータコンテナ５２８に格納されたデータにアクセスし得る。セキュアなデータコンテナ内でセキュア化されているデータは、セキュアなラッピングされたアプリケーション５１４、セキュアなアプリケーションランチャー５２２によって実行されるアプリケーション、セキュアなアプリケーションランチャー５２２によって実行される仮想化アプリケーション５２６などによってアクセスされ得る。セキュアなデータコンテナ５２８内に格納されるデータとしては、ファイル、データベースなどが挙げられ得る。セキュアなデータコンテナ５２８内に格納されるデータは、特定のセキュアなアプリケーション５３０、共有されたセキュアなアプリケーション５３２などに制限されるデータを含み得る。セキュアなアプリケーションに制限されたデータは、セキュアな一般データ５３４及び非常にセキュアなデータ５３８を含み得る。セキュアな一般データは、高度暗号化標準（ＡＥＳ）１２８ビット暗号化などの強い形式の暗号化を使用し得るが、非常にセキュアなデータ５３８は、ＡＥＳ２５６ビット暗号化などの非常に強い形式の暗号化を使用し得る。セキュアなデータコンテナ５２８内に格納されたデータは、デバイスマネージャ５２４からのコマンド受信時にデバイスから消去さ得る。セキュアなアプリケーションは、デュアルモードオプション５４０を有し得る。デュアルモードオプション５４０は、ユーザに、セキュア化されているアプリケーションを、セキュア化されていないモードまたは管理されないモードで動作するためのオプションを提示し得る。セキュア化されていないモードまたは管理されないモードでは、セキュアなアプリケーションは、モバイルデバイス５０２の管理されない区分５１２上のセキュア化されていないデータコンテナ５４２内に格納されるデータにアクセスし得る。セキュア化されていないデータコンテナ内に格納されるデータは、パーソナルデータ５４４であり得る。セキュア化されていないデータコンテナ５４２内に格納されるデータはまた、モバイルデバイス５０２の管理されない区分５１２上で実行しているセキュア化されていないアプリケーション５４８によってアクセスもされ得る。セキュア化されていないデータコンテナ５４２内に格納されたデータは、セキュアなデータコンテナ５２８内に格納されたデータがモバイルデバイス５０２から消去された場合にモバイルデバイス５０２上に残存し得る。企業は、モバイルデバイスから、企業によって所有、ライセンス取得、または制御されている選択のもしくはすべてのデータ、ファイル、及び／またはアプリケーション（企業データ）を消去することを望む一方で、ユーザによって所有、ライセンス取得、または制御さているパーソナルデータ、ファイル、及び／またはアプリケーション（パーソナルデータ）をそのままにするか、または別様に保存することを望み得る。この動作は、選択的ワイプと称され得る。本明細書に記載の態様に従って配置された企業データ及びパーソナルデータで、企業は選択的ワイプを実行し得る。
【００７１】
モバイルデバイスは、企業において、企業リソース５０４及び企業サービス５０８をパブリックインターネット５４８などに接続し得る。モバイルデバイスは、仮想プライベートネットワーク接続を経由して企業リソース５０４及び企業サービス５０８に接続し得る。マイクロＶＰＮまたはアプリケーション特定ＶＰＮとも称される仮想プライベートネットワーク接続は、特定のアプリケーション５５０、特定のデバイス、モバイルデバイスの特定のセキュア化されている領域、及び同種のもの５５２に特定され得る。例えば、電話のセキュア化されている領域におけるラッピングされたアプリケーションの各々は、おそらくユーザまたはデバイスの属性情報に関連して、ＶＰＮへのアクセスがアプリケーションに関連した属性に基づいて容認されるように、アプリケーション特定ＶＰＮを経由して企業リソースにアクセスし得る。仮想プライベートネットワーク接続は、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅトラフィック、Ｍｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙトラフィック、ハイパーテキスト転送プロトコル  （ＨＴＴＰ）トラフィック、ハイパーテキスト転送プロトコルセキュア（ＨＴＴＰＳ）トラフィック、アプリケーション管理トラフィックなどを実行し得る。仮想プライベートネットワーク接続は、シングルサインオン認証プロセス５５４をサポートし、可能にし得る。シングルサインオンプロセスは、ユーザが認証資格情報の単一のセットを提供することを可能にし得、次いで、資格情報が認証サービス５５８によって検証される。次いで、認証サービス５５８は、ユーザに認証資格情報を各個人の企業リソース５０４に提供することを要求することなく、複数の企業リソース５０４へのユーザアクセスを容認し得る。
【００７２】
仮想プライベートネットワーク接続は、アクセスゲートウェイ５６０によって確立及び管理され得る。アクセスゲートウェイ５６０は、企業リソース５０４のモバイルデバイス５０２への配信を管理し、加速し、かつ向上させる性能向上特性を含み得る。アクセスゲートウェイは、モバイルデバイス５０２からパブリックインターネット５４８までのトラフィックを再ルーティングし、モバイルデバイス５０２が、パブリックインターネット５４８上で動作する公衆利用可能でセキュア化されないアプリケーションにアクセスすることを可能にし得る。モバイルデバイスは、転送ネットワーク５６２を介してアクセスゲートウェイに接続し得る。転送ネットワーク５６２は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク、プライベートネットワークなどであり得る。
【００７３】
企業リソース５０４は、電子メールサーバ、ファイル共有サーバ、ＳａａＳアプリケーション、ウェブアプリケーションサーバ、Ｗｉｎｄｏｗｓ（登録商標）アプリケーションサーバなどを含み得る。電子メールサーバは、Ｅｘｃｈａｎｇｅサーバ、Ｌｏｔｕｓ  Ｎｏｔｅｓサーバなどを含み得る。ファイル共有サーバは、ＳｈａｒｅＦｉｌｅサーバなどを含み得る。ＳａａＳアプリケーションは、Ｓａｌｅｓｆｏｒｃｅなどを含み得る。Ｗｉｎｄｏｗｓ（登録商標）アプリケーションサーバは、ローカルのＷｉｎｄｏｗｓ（登録商標）動作システムなどで動作するように意図されているアプリケーションを提供するように構築されている任意のアプリケーションサーバを含み得る。企業リソース５０４は、プレミスベースのリソース、クラウドベースのリソースなどであり得る。企業リソース５０４は、直接またはアクセスゲートウェイ５６０を経由して、モバイルデバイス５０２によってアクセスされ得る。企業リソース５０４は、転送ネットワーク５６２を介してモバイルデバイス５０２によってアクセスされ得る。転送ネットワーク５６２は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク、プライベートネットワークなどであり得る。
【００７４】
企業サービス５０８は、認証サービス５５８、脅威検出サービス５６４、デバイスマネージャサービス５２４、ファイル共有サービス５６８、ポリシーマネージャサービス５７０、ソーシャルインテグレーションサービス５７２、アプリケーションコントローラサービス５７４などを含み得る。認証サービス５５８は、ユーザ認証サービス、デバイス認証サービス、アプリケーション認証サービス、データ認証サービスなどを含み得る。認証サービス５５８は、証明書を使用し得る。証明書は、企業リソース５０４などによってモバイルデバイス５０２上に格納され得る。モバイルデバイス５０２上に格納される証明書は、モバイルデバイス上の暗号化された位置に格納され得、証明書は、認証時などにおける使用のためにモバイルデバイス５０２上に一時的に格納され得る。脅威検出サービス５６４には、侵入検出サービス、認証されていないアクセス試行検出サービスなどが含まれ得る。認証されていないアクセス試行検出サービスには、デバイス、アプリケーション、データなどにアクセスする認証されていない試行が含まれ得る。デバイス管理サービス５２４には、構成、プロビジョニング、セキュリティ、サポート、監視、報告、及びデコミッショニングサービスが含まれ得る。ファイル共有サービス５６８には、ファイル管理サービス、ファイルストレージサービス、ファイル協働サービスなどが含まれ得る。ポリシーマネージャサービス５７０には、デバイスポリシーマネージャサービス、アプリケーションポリシーマネージャサービス、データポリシーマネージャサービスなどが含まれ得る。ソーシャルインテグレーションサービス５７２には、連絡先組み込みサービス、協働サービス、ならびにＦａｃｅｂｏｏｋ、Ｔｗｉｔｔｅｒ、及びＬｉｎｋｅｄＩｎなどのソーシャルネットワークの組み込みなどが含まれ得る。アプリケーションコントローラサービス５７４には、管理サービス、プロビジョニングサービス、展開サービス、割り当てサービス、取り消しサービス、ラッピングサービスなどが含まれ得る。
【００７５】
企業モビリティのテクニカルアーキテクチャ５００は、アプリケーションストア５７８を含み得る。アプリケーションストア５７８は、ラッピングされていないアプリケーション５８０、事前にラッピングされたアプリケーション５８２などを含み得る。アプリケーションは、アプリケーションコントローラ５７４からアプリケーションストア５７８内に置かれ得る。アプリケーションストア５７８は、パブリックインターネット５４８などを経由して、アクセスゲートウェイ５６０を経由してモバイルデバイス５０２によってアクセスされ得る。アプリケーションストアには、直感的で、かつ使いやすいユーザインターフェースが提供され得る。
【００７６】
ソフトウェア開発キット５８４は、本説明において前述されたようなアプリケーションをラッピングすることによって、ユーザによって選択されたアプリケーションをセキュア化する能力をユーザに提供し得る。次いで、ソフトウェア開発キット５８４を使用してラッピングされたアプリケーションが、アプリケーションコントローラ５７４を使用してアプリケーションストア５７８内に置かれることによってモバイルデバイス５０２に対して利用可能になり得る。
【００７７】
企業モビリティのテクニカルアーキテクチャ５００は、管理及び分析能力５８８を含み得る。管理及び分析能力５８８は、どのようにリソースが使用されるか、どれほどの頻度でリソースが使用されるかなどに関する情報を提供し得る。リソースには、デバイス、アプリケーション、データなどが含まれ得る。どのようにリソースが使用されるかには、どのデバイスがどのアプリケーションをダウンロードするか、どのアプリケーションがどのデータにアクセスするかなどが含まれ得る。どれほどの頻度でリソースが使用されるかには、どれほどの頻度でアプリケーションがダウンロードされたか、アプリケーションによってデータの特定のセットが何回アクセスされたかなどが含まれ得る。
【００７８】
図６は、別の例示的な企業モビリティ管理システム６００である。図５に関して上に記載のモビリティ管理システム５００のコンポーネントのうちのいくつかは、簡潔性のために省略されている。図６に示されるシステム６００のアーキテクチャは、図５に関して上に記載のシステム５００のアーキテクチャに関する多くの点で同様であり、上で述べられていない追加の特性を含み得る。
【００７９】
この場合、左手側は、ゲートウェイサーバ６０６（アクセスゲートウェイ及びアプリケーションコントローラ機能を含む）と相互作用して、種々の企業リソース６０８、及び右手側上方に示されるような、Ｅｘｃｈａｎｇｅ、Ｓｈａｒｅｐｏｉｎｔ、公開鍵基盤（ＰＫＩ）リソース、Ｋｅｒｂｅｒｏｓリソース、証明書発行サービスなどのサービス６０９にアクセスする、クライアントエージェント６０４を備えた、登録されたモバイルデバイス６０２を表す。詳細に示されないが、モバイルデバイス６０２はまた、アプリケーションの選択及びダウンロード用に企業アプリケーションストア（ＳｔｏｒｅＦｒｏｎｔ）と相互作用もし得る。
【００８０】
クライアントエージェント６０４は、Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｕｓｅｒ  Ｅｘｐｅｒｉｅｎｃｅ（ＨＤＸ）／ＩＣＡ表示リモーティングプロトコルを使用してアクセスされる企業データセンタにおいてホスティングされる、Ｗｉｎｄｏｗｓ（登録商標）アプリケーション／デスクトップ用のＵＩ（ユーザインターフェース）仲介として作用する。クライアントエージェント６０４はまた、ネイティブｉＯＳまたはＡｎｄｒｏｉｄ（登録商標）アプリケーションなどの、モバイルデバイス６０２上でのネイティブアプリケーションのインストール及び管理もサポートする。例えば、上の図で示される管理されたアプリケーション６１０（メール、ブラウザ、ラッピングされたアプリケーション）は、デバイス上においてローカルで実行するすべてネイティブアプリケーションである。クライアントエージェント６０４及びこのアーキテクチャのアプリケーション管理フレームワークは、企業リソース／サービス６０８への接続性及びＳＳＯ（シングルサインオン）など、ポリシー駆動型管理の能力及び特性を提供するように作用する。クライアントエージェント６０４は、他のゲートウェイサーバコンポーネントへのＳＳＯを含む通常アクセスゲートウェイ（ＡＧ）へ、企業への一次ユーザ認証を扱う。クライアントエージェント６０４は、ゲートウェイサーバ６０６からポリシーを取得して、モバイルデバイス６０２上での管理されたアプリケーション６１０の行動を制御する。
【００８１】
ネイティブアプリケーション６１０とクライアントエージェント６０４との間のセキュアなプロセス間通信（ＩＰＣ）リンク６１２は、クライアントエージェントが、各アプリケーションを「ラッピング」するアプリケーション管理フレームワーク６１４によって実施されるポリシーを提供することを可能にする管理チャネルを表す。ＩＰＣチャネル６１２はまた、クライアントエージェント６０４が、企業リソース６０８への接続性及びＳＳＯを可能にする資格情報及び認証情報を提供することも可能にする。最後に、ＩＰＣチャネル６１２は、アプリケーション管理フレームワーク６１４が、オンライン及びオフライン認証など、クライアントエージェント６０４によって実装されるユーザインターフェース機能を呼び出すことを可能にする。
【００８２】
クライアントエージェント６０４とゲートウェイサーバ６０６との間の通信は、本質的に、ネイティブの管理されたアプリケーション６１０の各々をラッピングするアプリケーション管理フレームワーク６１４の管理チャネルの延長である。アプリケーション管理フレームワーク６１４は、クライアントエージェント６０４にポリシー情報を要求し、次にゲートウェイサーバ６０６にポリシー情報を要求する。アプリケーション管理フレームワーク６１４は、認証を要求し、クライアントエージェント６０４は、ゲートウェイサーバ６０６（ＮｅｔＳｃａｌｅｒ  Ａｃｃｅｓｓ  Ｇａｔｅｗａｙとしても知られる）のゲートウェイサービス部分にログインする。クライアントエージェント６０４はまた、ゲートウェイサーバ６０６上のサポートサービスを呼び出し、サポートサービスは、入力素材を生成してローカルデータボルト６１６用の暗号化鍵を導出し得るか、または下記でより完全に説明されるように、ＰＫＩ保護リソースへの直接認証を有効にし得るクライアント証明書を提供し得る。
【００８３】
より詳細には、アプリケーション管理フレームワーク６１４は、管理されたアプリケーション６１０の各々を「ラッピング」する。これは、明確な構築ステップを介して、または構築後処理ステップを介して組み込まれ得る。アプリケーション管理フレームワーク６１４は、アプリケーション６１０の最初の起動においてクライアントエージェント６０４と「対」になって、セキュアなＩＰＣチャネルを開始し、そのアプリケーション用のポリシーを取得し得る。アプリケーション管理フレームワーク６１４は、クライアントエージェントのログイン依存性など、ローカルに適用するポリシーの関連する部分、及びローカルＯＳサービスがどのように使用され得るか、またはローカルＯＳサービスがアプリケーション６１０とどのように相互作用し得るかを制限する格納ポリシーのいくつかを実施し得る。
【００８４】
アプリケーション管理フレームワーク６１４は、セキュアなＩＰＣチャネル６１２上でクライアントエージェント６０４によって提供されるサービスを使用して、認証及び内部ネットワークアクセスを容易にし得る。プライベート及び共有データボルト６１６（コンテナ）のための鍵管理はまた、管理されたアプリケーション６１０とクライアントエージェント６０４との間の適切なインタラクションによって管理され得る。ボルト６１６は、オンライン認証後のみに利用可能であり得るか、またはポリシーによって許容される場合、オフライン認証後に利用可能にされ得る。ボルト６１６の最初の使用は、オンライン認証を要求し得、オフラインアクセスは、オンライン認証が再度要求される前に、最大でもポリシー最新化期間に限定され得る。
【００８５】
内部リソースへのネットワークアクセスは、個々の管理されたアプリケーション６１０からアクセスゲートウェイ６０６を通じて直接生じ得る。アプリケーション管理フレームワーク６１４は、各アプリケーション６１０の代わりに、ネットワークアクセスを組織化することを担う。クライアントエージェント６０４は、オンライン認証に続いて取得される好適な時間が限定された二次資格情報を提供することによってこれらのネットワーク接続を容易にし得る。リバースウェブプロキシ接続、及びエンドツーエンドＶＰＮ様式トンネル６１８などネットワーク接続の複数のモードが使用され得る。
【００８６】
メール及びブラウザの管理されたアプリケーション６１０は、特別な状態を有し、任意のラッピングされたアプリケーションに対して一般的に利用可能でない場合がある設備を利用し得る。例えば、メールアプリケーションは、完全なＡＧログオンを要求せずに、延長された期間にわたってＥｘｃｈａｎｇｅにアクセスすることを許容する特別なバックグラウンドネットワークアクセス機構を使用し得る。ブラウザアプリケーションは、複数のプライベートデータボルトを使用して異なる種類のデータを分離し得る。
【００８７】
このアーキテクチャは、種々の他のセキュリティ特性の組み込みをサポートする。例えば、ゲートウェイサーバ６０６（ゲートウェイサーバ６０６のゲートウェイサービスも含む）は、場合によって、アクティブディレクトリ（ＡＤ）パスワードを妥当性確認する必要がない。ＡＤパスワードがある状況下において一部のユーザのための認証要因として使用されるか否かは、企業の裁量に委ねられることができる。ユーザがオンラインまたはオフラインである（すなわち、ネットワークに接続されているか、または接続されていない）場合、異なる認証方法が使用され得る。
【００８８】
ステップアップ認証は、強い認証を要求する高度に分類されたデータへのアクセスを有することを許容された、管理されたネイティブアプリケーション６１０をゲートウェイサーバ６０６が特定し、以前のさらに弱いレベルのログインの後、これが、再認証がユーザによって要求されることを意味する場合でも、これらのアプリケーションへのアクセスが適切な認証を実行した後のみに許可されることを確実にし得る、特性である。
【００８９】
この解決方法の別のセキュリティ特性は、モバイルデバイス６０２上でのデータボルト６１６（コンテナ）の暗号化である。ボルト６１６は、ファイル、データベース、及び構成を含むデバイス上のすべてのデータが保護されるように暗号化され得る。オンラインボルトについて、鍵はサーバ（ゲートウェイサーバ６０６）上に格納され得、オフラインボルトについて、鍵のローカルコピーは、ユーザパスワードまたは生体妥当性確認によって保護され得る。データがセキュアなコンテナ６１６内のデバイス６０２上にローカルに格納される場合、ＡＥＳ２５６暗号化アルゴリズムの最小限が利用されることが好ましい。
【００９０】
他のセキュアなコンテナ特性も実装され得る。例えば、アプリケーション６１０内で起こるすべてのセキュリティ事象がログされ、バックエンドに報告される、ロギング特性が含まれ得る。アプリケーション６１０がタンパリングを検出した場合、関連付けられた暗号化鍵がランダムデータで上書きされ、ユーザデータが破壊されたファイルシステム上にヒントを残さなくてもよいなどのデータ消去がサポートされ得る。スクリーンショット保護は別の特性であり、アプリケーションが、任意のデータがスクリーンショットに格納されることを防止し得る。例えば、鍵ウィンドウの隠された特徴が、はい、に設定され得る。これにより、画面上に現在表示されているすべてのコンテンツが隠され、その結果、任意のコンテンツが通常は存在するはずである空白のスクリーンショットがもたらされ得る。
【００９１】
例えば、データをコピーするか、または外部アプリケーションへ送信することによって、任意のデータがアプリケーションコンテナの外部にローカルに転送されることを防止することによって、ローカルなデータ転送を防止し得る。キーボードキャッシュ特性は、センシティブなテキストフィールドのためのオートコレクト機能を無効にするように動作し得る。ＳＳＬ証明書の妥当性確認が動作可能であり得るため、アプリケーションは、サーバＳＳＬ証明書を、キーチェーンに格納する代わりに、特別に妥当性確認する。デバイス上でデータを暗号化するために使用される鍵が、ユーザによって提供されるパスフレーズまたは生体データを使用して生成される（オフラインアクセスが要求される場合）ように、暗号化鍵生成特性が使用され得る。オフラインアクセスが要求されない場合、ランダムに生成され、サーバ側に格納された別の鍵で排他的論理和がとられてもよい。ユーザパスワードから生成された鍵が、その暗号学的ハッシュを作成するのではなく、ＫＤＦ（鍵導出機能、とりわけパスワードベースの鍵導出機能２（ＰＢＫＤＦ２））を使用するように、鍵導出機能が動作し得る。後者は鍵を総当たり攻撃または辞書攻撃に対して脆弱にする。
【００９２】
さらに、１つ以上の初期化ベクトルが暗号化方法において使用され得る。初期化ベクトルは、同じ暗号化データの複数のコピーに異なる暗号文出力を生成させ、反射攻撃及び暗号解読攻撃の両方を防ぐ。これはまた、データを暗号化するために使用される特定の初期化ベクトルが知られていない場合、攻撃者が、盗まれた暗号化鍵ででも、任意のデータを解読することを防止する。さらに、ユーザがアプリケーション内で認証した後のみアプリケーションデータが解読される、認証後の解読が使用され得る。別の特性は、必要とされる場合のみにメモリ内に（及びディスク内ではなく）保持され得る、メモリ内のセンシティブなデータに関し得る。例えば、ログイン資格情報は、ログイン後にメモリから消去され得、暗号化鍵及びＯｂｊｅｃｔｉｖｅ−Ｃ事象変数の中の他のデータは、容易に参照され得るため、格納されない。その代わりに、メモリがこれらのために手動で割り当てられ得る。
【００９３】
非アクティビティのポリシーが定義された期間の後、ユーザセッションが終了される、非アクティブタイムアウトが実装され得る。
【００９４】
アプリケーション管理フレームワーク６１４からのデータ漏洩は、他の方法で防止され得る。例えば、アプリケーション６１０がバックグラウンドに置かれる場合、メモリは所定の（構成可能な）期間の後に削除され得る。バックグラウンド化される場合、アプリケーションの最後に表示された画面のスナップショットが撮られて、フォアグラウンドプロセスを固定し得る。スクリーンショットは、機密データを含み得るゆえに削除されるべきである。
【００９５】
別のセキュリティ特性は、１つ以上のアプリケーションにアクセスするためのＡＤ（アクティブディレクトリ）６２２パスワードの使用を伴わないＯＴＰ（ワンタイムパスワード）６２０の使用に関する。場合によって、一部のユーザは自分のＡＤパスワードを知らない（または知ることが許可されていない）ので、これらのユーザは、ＳｅｃｕｒＩＤのようなハードウェアＯＴＰシステム（ＯＴＰは、ＥｎｔｒｕｓｔまたはＧｅｍａｌｔｏなどの異なる販売者によって提供され得る）を使用することによってなど、ＯＴＰ６２０を使用して認証し得る。場合によっては、ユーザがユーザＩＤで認証した後、テキストがＯＴＰ６２０を有するユーザに送信される。場合によっては、これは、単一のフィールドであるプロンプトで、オンライン使用のためだけに実装され得る。
【００９６】
オフライン使用が企業ポリシーを介して許可される、それらのアプリケーション６１０に対するオフライン認証のためのオフラインパスワードが実装され得る。例えば、企業は、ＳｔｏｒｅＦｒｏｎｔがこの方式でアクセスされることを望み得る。この場合、クライアントエージェント６０４は、ユーザがカスタムオフラインパスワードを設定することを要求し得、ＡＤパスワードは使用されない。ゲートウェイサーバ６０６は、ポリシーを提供して、標準Ｗｉｎｄｏｗｓ（登録商標）  Ｓｅｒｖｅｒの複雑性要件は修正されてもよいが、これらの要件に説明されるような最小限の長さ、文字クラスの構成、ならびにパスワードの経過年に関するパスワード標準を制御及び実施し得る。
【００９７】
別の特性は、（アプリケーション管理フレームワークマイクロＶＰＮ特性を介してＰＫＩ保護ウェブリソースにアクセスする目的のための）二次資格情報としてのある特定のアプリケーション６１０のためのクライアント側の証明書の有効化に関するに。例えば、アプリケーションは、かかる証明書を利用してもよい。この場合、クライアントエージェント６０４からの証明書がゲートウェイサーバ６０６によって回収され、キーチェーンにおいて使用され得る、ＡｃｔｉｖｅＳｙｎｃプロトコルを使用する証明書ベースの認証がサポートされ得る。管理されたアプリケーションの各々は、ゲートウェイサーバ６０６において定義されているラベルによって特定される、１つの関連付けられたクライアント証明書を有し得る。
【００９８】
ゲートウェイサーバ６０６は、企業の特定用途ウェブサービスと相互作用し、クライアント証明書の発行をサポートして、関連する管理されたアプリケーションが内部ＰＫＩ保護リソースを認証することを許容し得る。
【００９９】
クライアントエージェント６０４及びアプリケーション管理フレームワーク６１４は、内部ＰＫＩ保護ネットワークリソースに対する認証のためのクライアント証明書を取得及び使用することをサポートするように強化され得る。種々の度合いのセキュリティ及び／または分離要件に合致するように、１つ以上の証明書がサポートされ得る。証明書は、メール及びブラウザの管理されたアプリケーションによって、及び最終的に任意のラッピングされたアプリケーション（もし、それらのアプリケーションが、アプリケーション管理フレームワークがｈｔｔｐｓ要求を仲介することが合理的である、ウェブサービススタイル通信パターンを使用するのであれば）によって使用され得る。
【０１００】
ｉＯＳ上でのアプリケーション管理クライアント証明書サポートは、公開鍵暗号化標準（ＰＫＣＳ）１２ＢＬＯＢ（バイナリラージオブジェクト）を、管理されたアプリケーションの各々のｉＯＳキーチェーンの中に、使用期間ごとに、インポートすることに依存し得る。プリケーション管理フレームワークのクライアント証明書サポートは、プライベートメモリ内の鍵ストレージでのＨＴＴＰＳ実装を使用し得る。クライアント証明書は、ｉＯＳキーチェーン内には決して存在することはなく、潜在的に、強力に保護されている「オンラインのみ」のデータ値以外、持続されない。
【０１０１】
また相互ＳＳＬが実装され、モバイルデバイス６０２が企業に対して及びその逆に対して認証されることを要求することによって追加のセキュリティを提供し得る。またゲートウェイサーバ６０６に対する認証のための仮想スマートカードが実装され得る。
【０１０２】
Ｋｅｒｂｅｒｏｓの限定されたサポート及び完全なサポートの両方が追加の特性であってもよい。完全なサポート特性は、ＡＤパスワードまたは信頼されたクライアント証明書を使用する、アクティブディレクトリ（ＡＤ）６２２への完全なＫｅｒｂｅｒｏｓログインを行い、かつＫｅｒｂｅｒｏｓサービスチケットを取得してＨＴＴＰ交渉認証チャレンジに応答するための能力に関する。限定されたサポート特性は、ＨＴＴＰ交渉認証チャレンジに応答して、（制約付き委任の対象である）Ｋｅｒｂｅｒｏｓサービスチケットを取得及び使用できるようにＡＧＥＥがＫｅｒｂｅｒｏｓプロトコルの移行を呼び出すことをサポートするＣｉｔｒｉｘ  Ａｃｃｅｓｓ  Ｇａｔｅｗａｙ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ（ＡＧＥＥ）における制約付き委任に関する。この機構は、リバースウェブプロキシ（別名、コーポレート仮想プライベートネットワーク（ＣＶＰＮ））モードで、ｈｔｔｐ（ｈｔｔｐｓではない）接続がＶＰＮ及びＭｉｃｒｏＶＰＮモードでプロキシされるときに、作動する。
【０１０３】
別の特性は、脱獄またはルーティングの検出の際に自動的に生じ、管理コンソールからのプッシュされたコマンドとして生じ得、かつアプリケーション６１０が実行していないときでも遠隔消去機能を含み得る、アプリケーションコンテナのロッキング及び消去に関する。
【０１０４】
エンタープライズアプリケーションストア及びアプリケーションコントローラのマルチサイトアーキテクチャまたは構成がサポートされ得、これにより、故障の場合、ユーザがいくつかの異なる位置のうちの１つからサービスを受けることを許容する。
【０１０５】
場合によっては、管理されたアプリケーション６１０は、ＡＰＩ（例はＯｐｅｎＳＳＬ）を介して証明書及びプライベート鍵にアクセスすることが許容され得る。企業の信頼されている管理されたアプリケーション６１０は、アプリケーションのクライアント証明書及びプライベート鍵によって特定の公開鍵動作を実行するように許容され得る。アプリケーションがブラウザのように挙動し、証明書アクセスが要求されない場合、アプリケーションが「私は誰」に対する証明書を読み取る場合、アプリケーションが証明書を使用してセキュアなセッショントークンを構築する場合、及びアプリケーションが重要なデータ（例えば、取引ログ）のデジタル署名のために、または一時的なデータ暗号化のためにプライベート鍵を使用する場合など、種々の使用の状況が特定され、適切に処理され得る。
【０１０６】
〈位置に基づいたサービス〉
図７は、本明細書に記載の１つ以上の例示的な態様に従って、クライアントデバイス７０５の位置に基づいて、１つ以上のデバイス７１５、７２０、及び７２５を、クライアントデバイス７０５に対して利用可能にするための例示的なシステム７００を示す。システム７００は、デバイス７０５など１つ以上のクライアントデバイスを含み得る。クライアントデバイス７０５は、端末２４０、クライアントコンピュータ４１１〜４１４、モバイルデバイス５０２、またはモバイルデバイス６０２など前述のクライアントデバイスのうちのいずれかを含み得る。
【０１０７】
本システムはまた、１つ以上の位置７０７及び／または７１０を含み得る。例えば、位置７０７は、ビル（例えば、オフィスビル）、ビル内の階（例えば、オフィスビルの３階）、または階内の範囲（例えば、オフィスビル３階の北側半分）を含み得る。位置７０７は、ビル、階、または階内の範囲に限定されず、位置７０７を含む領域は、その領域が扉及び壁などの物理障壁によって分離されているかそうではないかにかかわらず、いずれの方法において定義され得る。
【０１０８】
位置７０７は、位置７１０など位置７０７の境界内に入る１つ以上の位置を有し得る。例えば、位置７１０は、部屋（例えば、ミーティング室または会議室、オフィス、ブース、食堂など）、または受付デスク、開かれた作業空間、玄関、もしくは中庭など、物理障壁によって分離されていない場合がある位置７０７内の範囲を含み得る。位置７１０は、前に列挙した例に限定はされず、位置７１０を含む領域は、その領域が物理障壁によって分離されているかそうではないかにかかわらず、いずれの方法において定義され得る。
【０１０９】
１つ以上のデバイスが位置７１０内に位置し得る。例えば、プリンタ７１５、プリンタ７２０、及びスキャナ７２５が、コピー室７１０内に位置する。プリンタ７１５、プリンタ７２０、及びスキャナ７２５の各々は、クライアントデバイス７０５など、位置センサの範囲内にある他のデバイスに対して位置情報及び／またはデバイス情報を伝送するために使用される位置センサを有し得る。位置センサは、デバイス上に配置され得、かつ／またはデバイス内（例えば、デバイスの内側）に組み込まれ得る。位置センサとしては、Ｂｌｕｅｔｏｏｔｈ（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）含む）、Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏ（ＮＦＣ）、または任意の他の近距離無線センサなどの近距離無線位置センサが挙げられ得る。クライアントデバイス７０５は、下記のさらなる詳細で記載されるように、各デバイス７１５、７２０、及び７２５の位置センサと通信し得る。また位置７１０も、固有の位置センサ７３０を有し得る。例えば、位置センサ７３０は、部屋７１０の内側、部屋７１０のすぐ外側、または部屋７１０の入り口（例えば、扉）に位置付けられてもよい。また位置７０７も、固有の位置センサ７３５を有し得る。例えば、位置７０７がビルの階を含む場合、位置センサ７３５は、その階の入り口近く（例えば、エレベータ、階段、または階への他の入り口）など、その階のどこかに配置されてもよい。
【０１１０】
またシステム７００も、ゲートウェイサーバ７４０を含み得る。ゲートウェイサーバ７４０は、コンピューティングデバイス２０１、サーバ２０６、仮想化サーバ３０１、管理サーバ４１０、企業リソース５０４、企業サービス５０８、アクセスゲートウェイ５６０、またはゲートウェイサーバ６０６など、前述のサーバのうちのいずれかを含み得る。ゲートウェイサーバ７４０は、下記のさらなる詳細で記載されるように、クライアントデバイス７０５と通信して、クライアントデバイス７０５に対して、各デバイス７１５、７２０、及び／または７２５のサービス（例えば、印刷サービスまたはスキャニングサービス）を利用可能にし得る。システム７００は、任意選択で、印刷サーバ７４５を含んでもよい。印刷サーバ７４５は、プリンタ７１５、プリンタ７２０、及びスキャナ７２５を、ゲートウェイサーバ７４０及び／またはクライアントデバイス７０５に接続し得る。印刷サーバ７４５は、クライアントデバイス７０５からの印刷ジョブまたはスキャンジョブを受諾し、そのジョブを適切なプリンタまたはスキャナ７１５、７２０、または７２５へ送信し得る。印刷サーバ７４５は、ゲートウェイサーバ７４０に組み込まれるか、またはゲートウェイサーバ７４０とは別個のサーバを含み得る。
【０１１１】
システム７００は、任意選択で、１つ以上のクラウドデバイス７５０を含んでもよい。クラウドデバイス７５０は、図４で説明されるように、クラウド管理サーバ４１０、ゾーン４０１の中のクラウドコンピューティングリソース、及び／またはゾーン４０２の中のクラウドコンピューティングリソースなど前述のクラウドデバイスのうちのいずれかを含み得る。いくつかの態様において、クラウドデバイス７５０は、本明細書で記載されるように、ゲートウェイサーバ７４０及び／または印刷サーバ７４５と同じ機能のうちの１つ以上（例えば、クライアントデバイス７０５との通信、デバイス７１５、７２０、及び／または７２５との通信、印刷ジョブまたはスキャンジョブの受諾及び送信など）を行い得る。
【０１１２】
図８は、本明細書に記載の１つ以上の例示的な態様に従って、クライアントデバイス７０５の位置に基づいて、１つ以上のデバイスをクライアントデバイス７０５に対して利用可能にする方法例を説明する。ステップ８１０において、クライアントデバイス７０５は、ゲートウェイサーバ７４０、印刷サーバ７４５、及び／またはクラウドデバイス７５０に接続し得る。例えば、クライアントデバイス７０５は、セキュアなトンネルを介してゲートウェイサーバ７４０と通信し得る。クライアントデバイス７０５（またはそのユーザ）はまた、ゲートウェイサーバ７４０で認証し得る。
【０１１３】
ステップ８１５において、クライアントデバイス７０５は、位置センサが検出されたか否かを決定し得る。クライアントデバイス７０５は（例えば、クライアントデバイスアプリケーションを介して）、例えば、ＢＬＥまたは他の近距離無線ビーコンからの信号を待機し得る。前述のように、位置センサは、特定の部屋、特定の階などにおける、個々のプリンタまたは他のデバイス上に配置され得る。クライアントデバイス７０５が位置センサを検出しない場合（ステップ８１５では「いいえ」）、クライアントデバイス７０５は、位置センサからの信号を待機し続け得る。一方、クライアントデバイス７０５が位置センサを検出した場合（ステップ８１５では「はい」）、クライアントデバイスは、ステップ８２０へと進み得る。
【０１１４】
ステップ８２０において、クライアントデバイス７０５は、クライアントデバイス７０５と、ステップ８１５で検出された位置センサとの間の距離を決定し得る。例えば、クライアントデバイス７０５は、受信信号強度インジケータ（ＲＳＳＩ）など、位置センサから受信した信号（たとえば、ＢＬＥ信号）の強度を決定し得る。受信信号強度は、クライアントデバイス７０５と位置センサとの間の距離を計算するために使用され得る。測定距離は、具体的な距離（例えば、５フィード、２メートルなど）を含み得る。加えてまたは代替的に、測定距離は、近距離（例えば、０〜５フィート）、中距離（例えば、５〜１０フィート）、及び遠距離（例えば、１０〜３０フィート）など、距離の範囲を含み得る。
【０１１５】
ステップ８２５において、クライアントデバイス７０５は、クライアントデバイス７０５と、検出された位置センサとの間の距離が閾値より短いか否かを決定し得る。閾値は、管理者によって事前構成され得る。例えば、閾値は２０フィートであると仮定する。クライアントデバイス７０５が位置センサから２５フィート離れている場合（例えば、ステップ８２５では「いいえ」）、クライアントデバイス７０５は、ステップ８１５へと戻り、位置センサの信号を待機し得る。クライアントデバイス７０５が位置センサから１７フィート離れている場合（例えば、ステップ８２５では「はい」）、クライアントデバイス７０５は、ステップ８３０へと進み得る。
【０１１６】
ステップ８３０において、クライアントデバイス７０５は、任意選択で、位置センサに識別子などの情報を要求してもよい。識別子は、位置センサ及び／またはプリンタなど位置と関連付けられたデバイスを一意的に特定し得る。例えば、識別子は、位置センサと関連付けられたプリンタを特定する、プリンタ名、プリンタタイプ、プリンタＩＰアドレス、または任意の他の情報などの情報を含み得る。位置センサが、部屋、階、または任意の他の空間領域と関連付けられている場合、識別子は、位置センサ及び／または位置センサと関連付けられた部屋、階、または他の空間領域を一意的に特定し得る。いくつかの態様では、クライアントデバイス７０５が位置センサに情報を要求することは、任意選択であってもよい。代わりに、位置センサが、クライアントデバイス７０５からの要求を待たずに情報を送信してもよい。ステップ８３５において、クライアントデバイス７０５は、位置センサから、位置センサのための識別子（または他のペイロード情報）を受信し得る。
【０１１７】
ステップ８４０において、クライアントデバイス７０５は、任意選択で、例えば、仮想チャネルを介して、位置識別子をゲートウェイサーバ７４０に送信してもよい。クライアントデバイス７０５は、印刷作成データ（例えば、印刷ジョブを作成するために使用されるデータ）など追加の情報をゲートウェイサーバ７４０に送信し得る。ゲートウェイサーバ７４０は、クライアントデバイス７０５からのプリンタ情報を待機し、この情報を使用して、クライアントデバイス７０５とのセッション内に管理されたプリンタを作成し得る。上記で説明されるように、ゲートウェイサーバ７４０は、印刷サーバ７４５及び／またはクラウドデバイス７５０と印刷サービスを調整し得る。
【０１１８】
ステップ８４５において、ゲートウェイサーバ７４０は、位置センサの識別子に対応するプリンタまたは他のデバイスを決定し得る。データベースは、各位置センサのための識別子と、１つ以上のデバイス、部屋、階などとを相関させ得る。ゲートウェイサーバ７４０は、位置センサの識別子によってデータベースを照会し、対応するデバイス、部屋、階などを受信し得る。例えば、位置センサの識別子がプリンタ７１５に対応する場合、データベースはゲートウェイサーバ７４０にプリンタ７１５のための識別子（例えば、プリンタ７１５のためのプリンタ名、プリンタＩＰアドレス、または他の固有識別子）を返却し得る。クライアントデバイス７０５から受信した位置センサの識別子がプリンタ７１５を既に特定している場合、ゲートウェイサーバ７４０は、データベースを照会しなくてもよい。
【０１１９】
位置センサの識別子が、２つ以上のデバイスを有する領域（例えば、部屋、階、ビル）に対応する場合、ゲートウェイサーバ７４０は、位置センサの識別子に対応するプリンタまたは他のデバイスを決定し得る。例えば、位置センサの識別子が位置センサ７３０（部屋７１０の中）を特定する場合、ゲートウェイサーバ７４０は、対応するデバイスはプリンタ７１５、プリンタ７２０、及びスキャナ７２５であるということを決定し得る。いくつかの態様では、ゲートウェイサーバ７４０が決定するのではなく、クライアントデバイス７０５が識別子（複数可）に対応するデバイス（複数可）を決定し得る。したがって、ステップ８４０は任意選択であり得、クライアントデバイス７０５は、前述のように、ステップ８４５を行い得る。
【０１２０】
ステップ８５０において、ゲートウェイサーバ７４０（またはクライアントデバイス７０５）は、対応するプリンタまたは他のデバイスを、クライアントデバイス７０５に対して利用可能にし得る。例えば、ゲートウェイサーバ７４０は、プリンタまたは他のデバイスを、クライアントデバイス７０５にマッピングし得る。マッピングは、仮想セッション内でなされてもよい。いくつかの態様では、プリンタのためのドライバまたは他のデバイスが、ゲートウェイサーバ７４０、印刷サーバ７４５、またはクラウドデバイス７５０において事前インストールされ得る。ドライバがインストールされていない場合、ゲートウェイサーバ７４０は、ステップ８４５で決定されたプリンタまたは他のデバイスに対応するドライバをダウンロード及びインストールし得る。いくつかの態様では、プリンタのドライバをダウンロード及び／またはインストールすることは、ＣＩＴＲＩＸ  Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔ  Ｓｅｒｖｅｒを使用することによって除外され得る。
【０１２１】
ステップ８５５において、ゲートウェイサーバ７４０（またはクライアントデバイス７０５）は、プリンタまたは他のデバイスのうちの１つをデフォルトデバイスにするか否かを決定し得、該当する場合、ステップ８６０において、ゲートウェイサーバ７４０（またはクライアントデバイス７０５）は、選択されたプリンタまたは他のデバイスをデフォルトデバイスとして設定し得る。位置センサが単一のデバイス（例えば、プリンタ７１５）と関連付けられている場合、そのデバイスがデフォルトデバイスになされ得る。代替的に、デフォルトデバイスとして設定されるデバイスは、クライアントデバイス７０５に最も近いデバイスであってもよい。図７に関して、クライアントデバイス７０５がスキャナ７２５及びプリンタ７２０を既にマッピングしていると仮定する。クライアントデバイス７０５がプリンタ７１５をマッピングすることに応答して、クライアントデバイス７０５は、プリンタ７１５、プリンタ７２０、またはスキャナ７２５がクライアントデバイス７０５に最も近いか否かを決定し得る。距離の決定をステップ８２０に関して前で記載した。スキャナ７２５が最も近い場合、クライアントデバイス７０５は、プリンタ７１５をマッピングし得るが、スキャナ７２５のほうがクライアントデバイス７０５にさらに近いため、プリンタ７１５をデフォルトプリンタとして設定しない場合がある。クライアントデバイス７０５は、１つ以上のデバイスからの距離を継続的または定期的に決定し、それに従ってデバイスをデフォルトデバイスとして設定し得る。
【０１２２】
位置センサが複数のデバイスと関連付けられている場合（例えば、３つのデバイスを有する部屋７１０と関連付けられた位置センサ７３０）、クライアントデバイス７０５は、上記で説明されるように、最も近いデバイスをデフォルトデバイスとして設定し得る。デバイスが、クライアントデバイス７０５までの距離を決定するための固有の位置センサを有していない場合、デフォルトデバイスは事前構成され得る。例えば、プリンタ７２０は、部屋７１０のためのデフォルトデバイスとして事前構成され得、クライアントデバイス７０５は、３つのデバイスすべてをマッピングするが、ステップ８６０においてプリンタ７２０をデフォルトとして設定し得る。
【０１２３】
クライアントデバイス７０５は、クライアントデバイス７０５に対して利用可能になされたデバイスのためのアイコン、例えば、プリンタアイコンを表示し得る。これにより、ユーザがプリンタのためのアイコンを選択して、そのサービス、例えば、印刷サービスを使用することを許容し得る。図１０は、本明細書に記載の１つ以上の例示的な態様に従って、クライアントデバイス７０５に対して利用可能なデバイスを表示するディスプレイ画面１０００の例を説明する。クライアントデバイス７０５は、いずれのデバイスの範囲内でない場合がある。ディスプレイ画面１０００は、利用可能なデバイス（現在なし）のリスト１００５を含み得る。ディスプレイ画面１０００はまた、ユーザが１つ以上のデバイスを検索することを許容する検索バー１０１０を表示し得る。ディスプレイ画面１０００はまた、利用可能なデバイスがないことを示し、かつユーザにデバイスの範囲内に移動することを要求するメッセージ１０１５を表示し得る。
【０１２４】
図１１は、本明細書に記載の１つ以上の例示的な態様に従って、クライアントデバイス７０５に対して利用可能なデバイスを表示するディスプレイ画面１１００の別の例を説明する。例えば、ユーザが部屋７１０の中に歩いて入ってきたかもしれないし、クライアントデバイス７０５が、プリンタ７１５、プリンタ７２０、及びスキャナ７２５の各々の範囲内であるかもしれない。ディスプレイ画面１１００は、利用可能なデバイスのリスト１１０５を含み得る。ディスプレイ画面１１００は、リスト１１０５の中の利用可能なデバイスの各々を列挙し得る。例えば、リスト１１０５には、スキャナ７２５（参照番号１１１０）、プリンタ７２０（参照番号１１１５）、及びプリンタ７１５（参照番号１１２０）が含まれ得る。さらに、ディスプレイ画面１１００は、スキャナ７２５がデフォルトデバイスとして設定されていることを示し得る。
【０１２５】
クライアントデバイス７０５が１つ以上のデバイスのために一旦構成されると、クライアントデバイス７０５のユーザは、１つ以上のデバイスによって提供されるリソースを使用し得る。例えば、クライアントデバイス７０５は、印刷ジョブを（印刷作成データを伴って）ゲートウェイサーバ７４０、印刷サーバ７４５、及び／またはクラウドデバイス７５０に送信し得る。サーバ及び／またはクラウドデバイスは、印刷ジョブをデフォルトプリンタ（またはユーザによって選択されたプリンタ）に転送し得る。したがって、ユーザは、プリンタを手動で追加する必要なしに、仮想セッション内の管理されたプリンタを使用し得る。
【０１２６】
図９は、本明細書に記載の１つ以上の例示的な態様に従って、クライアントデバイス７０５の位置に基づいて、１つ以上のデバイスをクライアントデバイス７０５に対して利用不可にする方法例を説明する。ステップ９１０において、クライアントデバイス７０５は、クライアントデバイス７０５と位置センサとの間の距離を決定し得る。距離の決定は、ステップ８２０に関して前述しており、ここではでは繰り返さない。クライアントデバイス７０５は、各位置センサからの距離を継続的または定期的に監視し得る。
【０１２７】
ステップ９１５において、クライアントデバイス７０５は、クライアントデバイス７０５と位置センサとの間の距離が閾値より長いか否かを決定し得る。閾値は、ステップ８２５で使用の閾値と同じであっても、異なる閾値であってもよい。距離が閾値より長くない場合（ステップ９１５：「いいえ」）、クライアントデバイス７０５は、ステップ９１０へと戻り、距離を監視し得る。一方、距離が閾値より長い場合（ステップ９１５では「はい」）、クライアントデバイス７０５は、ステップ９２０へと進み得る。
【０１２８】
ステップ９２０において、クライアントデバイス７０５は、位置センサに対応するプリンタまたは他のデバイスを利用不可にする（または別様にそれらをプリンタもしくは他のデバイスのリストから除去する）ように、要求をゲートウェイデバイス７４０に送信し得る。例えば、ユーザがビーコンの閾値または範囲から外れる場合、クライアントデバイス７０５は、ビーコンに対応するデバイスを除去する（例えば、アンマッピングする）ように、ゲートウェイサーバ７４０のための仮想チャネル上で通信し得る。クライアントデバイス７０５はまた、以前のデフォルトデバイス（例えば、直前のデフォルトデバイスまたはホームデフォルトデバイス）または新しいデフォルトデバイス（例えば、次に最も近いデバイス）を復元するための要求を送信し得る。要求をゲートウェイデバイス７４０に送信するのではなく、クライアントデバイス７０５自体が、プリンタまたは他のデバイスを除去し、かつ／もしくは以前のデフォルトデバイスを復元するか、または新しいデフォルトデバイスを設定し得る。
【０１２９】
ステップ９２５において、ゲートウェイデバイス７４０（またはクライアントデバイス７０５）は、位置センサに対応するプリンタまたは他のデバイスを利用不可に（または別様にそれらをプリンタもしくは他のデバイスのリストから除去）し得る。例えば、ゲートウェイサーバ７４０は、対応するプリンタまたは他のデバイスを削除し、以前のデフォルトプリンタまたは他のデバイスを復元し得る。
【０１３０】
プリンタを除去するか否かを決定するために閾値を使用するのではなく、クライアントデバイス７０５が一旦位置センサの範囲から外れると、クライアントデバイス７０５はプリンタが除去されることを要求し得る。上記で説明されるように、クライアントデバイス７０５も、要求をゲートウェイサーバ７４０に送信するのではなく、プリンタ自体を除去し得る。
【０１３１】
図１２は、本明細書に記載の１つ以上の例示的な態様に従って、クライアントデバイス７０５に対して利用可能なデバイスを表示するディスプレイ画面１２００の例を説明する。具体的には、クライアントデバイス７０５のユーザが、図７で説明のプリンタ７１５の閾値範囲の外側に移動したかもしれない。したがって、ディスプレイ画面１２００で説明されるように、プリンタ７１５は、利用可能なデバイスのリスト１２０５から除去され得る。しかしながら、ユーザはまだスキャナ７２５及びプリンタ７２０の範囲内にいるかもしれない。したがって、リスト１２０５には、スキャナ７２５（参照番号１２１０）及びプリンタ７２０（参照番号１２１５）が含まれ得る。
【０１３２】
いくつかの態様において、デバイスまたは位置は、バーコードまたはクイックレスポンス（ＱＲ）コードなどの光学ラベルでタグ付けされ得る。クライアントデバイス７０５のユーザは、クライアントデバイス７０５の（またはクライアントデバイス７０５に接続された）カメラまたは他の光学スキャナを使用して光学ラベルの画像を捕捉し得る。光学ラベルは、対応するデバイスまたは位置（もしくは識別子を有するネットワークの位置へのリンク）のための識別子を含み得る。識別子が受信された後、クライアントデバイス７０５は、対応するデバイス（複数可）をクライアントデバイス７０５に対して利用可能にするように、ステップ８４０及び図８に説明の後続のステップのうちの１つ以上へと進み得る。
【０１３３】
〈仮想印刷〉
図１３は、本明細書に記載の１つ以上の例示的な態様に従って、ユーザ（例えば、クライアント）デバイス７０５の位置に基づいて仮想印刷するための例示的なシステムを示す。前述のように、システム１３００は、例えば、クライアントデバイス７０５ならびに位置７０７及び／または７１０を含み得る。システム１３００はまた、プリンタ７１５、プリンタ７２０、及びスキャナ７２５など１つ以上のデバイスを含み得、これらのデバイスの各々は、任意選択で、クライアントデバイス７０５など、位置センサの範囲内にある他のデバイスに対して位置情報及び／またはデバイス情報を伝送するために使用される位置センサを有してもよい。位置センサとしては、Ｂｌｕｅｔｏｏｔｈ（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）含む）、Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏ（ＮＦＣ）、または任意の他の近距離無線センサなどの近距離無線位置センサが挙げられ得る。各位置７０７及び７１０は、任意選択で、それぞれ位置センサ７３５及び位置センサ７３０など固有の位置センサを有してもよい。いくつかの態様において、位置センサは、加えてまたは代替的に、光学的にスキャン可能なコードを含み得る。例えば、デバイスまたは位置は、前述のように、バーコードまたはＱＲコード（登録商標）などの光学ラベルでタグ付けされ得る。
【０１３４】
システム１３００は、サーバ１３４０を含み得る。サーバ１３４０は、コンピューティングデバイス２０１、サーバ２０６、仮想化サーバ３０１、管理サーバ４１０、企業リソース５０４、企業サービス５０８、アクセスゲートウェイ５６０、またはゲートウェイサーバ６０６など、前述のサーバのうちのいずれかを含み得る。下記のさらなる詳細で記載されるように、サーバ１３４０は、クライアントデバイス７０５と通信して、物理プリンタ（例えば、プリンタ７１５、プリンタ７２０）または別のデバイス（例えば、スキャナ７２５）を特定する情報を受信し、クライアントデバイス７０５のユーザを認証し、かつ／または印刷ジョブを物理プリンタに送信し得る。サーバ１３４０は、クライアントデバイス７０５からの印刷ジョブまたはスキャンジョブを受諾する１つ以上の仮想プリンタ１３４５、またはデスクトップ型コンピュータ、ラップトップ型コンピュータ、もしくは任意の他のユーザデバイスなど別のユーザデバイス１３５５を含み得る。サーバ１３４０はまた、種々のユーザから受信した仮想印刷ジョブを格納する１つ以上の仮想印刷キュー１３５０を含み得、各ユーザは、彼もしくは彼女の固有の仮想プリンタ１３４５及び／または仮想印刷キュー１３５０を有し得る。換言すると、下記で詳細に記載されるように、ユーザは、ユーザのデバイスのうちのいずれかから仮想プリンタ１３４５に印刷し得、サーバ１３４０は、印刷キュー１３５０内に格納された対応する印刷ジョブを、適切な物理プリンタ７１５もしくは７２０（またはスキャンジョブのためのスキャナ７２５）に送信し得る。
【０１３５】
図１４は、本明細書に記載の１つ以上の例示的な態様に従って、仮想プリンタ１３４５に印刷し、印刷ジョブを印刷キュー１３５０内に格納する方法例を説明する。ステップ１４１０において、位置センサが構成され得る。例えば、各位置センサ（例えば、近距離無線ビーコンまたはＱＲコード（登録商標））は、１つ以上のデバイス７１５、７２０、及び７２５と相関させられるか、または別様にそれらと関連付けられ得る。前述のように、データベースは、各位置センサのための識別子と、１つ以上のデバイス、部屋、階などとを相関させ得る。サーバ１３４０は、クライアントデバイス７０５から受信した位置センサの識別子によってデータベースを照会し、識別子に対応するデバイス、部屋、階などを決定し得る。
【０１３６】
ステップ１４１５において、仮想プリンタ（複数可）１３４５及び／または印刷キュー（複数可）１３５０が、ユーザ（複数可）のために構成され得る。管理者は、ユーザのための仮想プリンタ及び印刷キューをプロビジョニングし得る。各ユーザは、固有の仮想プリンタ１３４５及び／または固有の印刷キュー１３５０に割り当てられるか、または別様にそれらと関連付けられ得る。仮想プリンタ１３４５は、ユーザデバイス１３５５及び／またはクライアントデバイス７０５の動作システムが、プリンタとしてみなし、かつ印刷することができるソフトウェアアプリケーションを含み得る。例えば、仮想プリンタ１３４５は、サーバコンポーネント及びクライアントデバイスコンポーネントを含み得る。クライアントデバイスコンポーネントは、ユーザデバイス１３５５、クライアントデバイス７０５、または任意の他のユーザデバイス上にインストールされ得る一方で、サーバコンポーネントは、サーバ１３４０上にインストールされ得る。ユーザは、ユーザのデバイス上の仮想プリンタ１３４５のクライアントデバイスコンポーネントに印刷することができ、クライアントデバイスコンポーネントは、仮想プリンタ１３４５のサーバコンポーネントと通信して、印刷作成データをサーバ１３４０に送信し、そのデータを印刷キュー１３５０内に格納し得る。
【０１３７】
ステップ１４２０において、コンピューティングデバイス１３５５またはクライアントデバイス７０５などのユーザデバイスが、サーバ１３４０に接続され得る。ステップ１４２０は、上で記載のステップ８１０と同様であり得、クライアントデバイス７０５は、例えば、セキュアなトンネルを介してサーバ１３４０と通信し得る。
【０１３８】
ステップ１４２５において、サーバ１３４０は、ユーザデバイスがユーザの仮想プリンタ１３４５に印刷したか否かを決定し得る。例えば、ユーザは、ワープロソフトウェア、写真編集ソフトウェアもしくは写真閲覧ソフトウェア、文書閲覧ソフトウェア、または印刷能力を備えた任意の他のソフトウェアの中の印刷オプションを選択し得る。ユーザは、項目（例えば、文書または３Ｄ部品）をユーザの仮想プリンタ１３４５に印刷することを選び、例えば、複数のプリンタがユーザに対して利用可能である場合にプルダウンメニューから仮想プリンタ１３４５を選択し得る。ユーザデバイスが項目を仮想プリンタ１３４５に印刷した場合（ステップ１４２５では「はい」）、本方法はステップ１４３０へと進み得る。そうでなければ（ステップ１４２５では「いいえ」）、本方法は、ステップ１４２５へと戻り、項目が仮想プリンタ１３４５に印刷されたか否かを決定し得る。
【０１３９】
ステップ１４３０において、サーバ１３４０は、印刷データをユーザデバイスから受信し得る。例えば、サーバ１３４０は、印刷作成データ（例えば、印刷ジョブを作成するために使用されるデータ）を、クライアントデバイス７０５またはユーザデバイス１３５５などのユーザデバイスから受信し得る。
【０１４０】
ステップ１４３５において、サーバ１３４０は、印刷作成データに基づいて印刷ジョブを生成し得る。サーバはまた、印刷ジョブをユーザの印刷キュー１３５０内に格納し得る。前述のように、各ユーザは、名前、ユーザ名、固有のＩＤなど、ユーザの識別子と関連付けられた、彼または彼女の固有の印刷キュー１３５０を有し得る。いくつかの態様では、ＣＩＴＲＩＸ  Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔ  Ｓｅｒｖｅｒを使用して、印刷ジョブを生成し、かつ／または印刷ジョブをキュー１３５０内に格納し得る。本方法は、ステップ１４２５へと戻り、より多くの項目がユーザの仮想プリンタ１３４５に印刷されたか否かを決定し得る。
【０１４１】
図１５は、本明細書に記載の１つ以上の例示的な態様に従って、ユーザデバイスの位置に基づいて、仮想プリンタが印刷ジョブを物理プリンタに送信する方法例を説明する。ステップ１５１０において、クライアントデバイス７０５は、位置センサが検出されたか否かを決定し得る。ステップ１５１０は、前述のステップ８１５と同様であり得る。クライアントデバイス７０５のユーザは、プリンタ及び／または位置センサの範囲内を歩き、近距離無線送信機（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコン）からの信号について監視するか、またはＱＲコード（登録商標）もしくは他の光学コードがクライアントデバイス７０５によってスキャンされたということを決定し得る。クライアントデバイス７０５が位置センサを検出しない場合（ステップ１５１０では「いいえ」）、クライアントデバイス７０５は、位置センサからの信号を待機し続け得る。一方、クライアントデバイス７０５が位置センサを検出した場合（ステップ１５１０では「はい」）、クライアントデバイスは、ステップ１５１５へと進み得る。
【０１４２】
ステップ１５１５において、クライアントデバイス７０５は、クライアントデバイス７０５と、ステップ１５１０で検出された位置センサとの間の距離を決定し得る。クライアントデバイス７０５はまた、クライアントデバイス７０５と、検出された位置センサとの間の距離が閾値より短いか否かを決定し得る。ステップ１５１５は、前述のステップ８２０及び／または８２５と同様であり得る。クライアントデバイス７０５と位置センサとの間の距離が閾値より短くない場合（ステップ１５１５では「いいえ」）、クライアントデバイス７０５は、ステップ１５１０へと戻り、位置センサの信号を待機し得る。クライアントデバイス７０５と位置センサとの間の距離が閾値より短い場合（例えば、ステップ１５１５では「はい」）、クライアントデバイス７０５は、ステップ１５２０へと進み得る。ステップ１５１５は、ＱＲコード（登録商標）などの光学ラベルが位置センサとして使用される場合、行われなくてもよい。
【０１４３】
ステップ１５２０において、クライアントデバイス７０５は、任意選択で、位置センサに識別子などの情報を要求してもよい。ステップ１５２０は、前述のステップ８３０と同様であり得る。いくつかの態様では、クライアントデバイス７０５が位置センサに情報を要求することは、任意選択であってもよい。代わりに、位置センサが、クライアントデバイス７０５からの要求を待たずに情報を送信してもよい。ステップ１５２５において、クライアントデバイス７０５は、位置センサから、位置センサのための識別子（または他のペイロード情報）を受信し得る。
【０１４４】
ステップ１５３０において、クライアントデバイス７０５は、任意選択で、例えば、仮想チャネルを介して、位置識別子をサーバ１３４０に送信してもよい。クライアントデバイス７０５は、印刷作成データ（例えば、印刷ジョブを作成するために使用されるデータ）など追加の情報をサーバ１３４０に送信し得る。ステップ１５３０は、前述のステップ８４０と同様であり得る。
【０１４５】
ステップ１５３５において、サーバ１３４０は、位置センサの識別子に対応するプリンタまたは他のデバイスを決定し得る。ステップ１５３５は、前述のステップ８４５と同様であり得る。例えば、データベースは、各位置センサのための識別子と、１つ以上のデバイス、部屋、階などとを相関させ得、サーバ１３４０は、位置センサの識別子によってデータベースを照会し、対応するデバイス、部屋、階などを決定し得る。代替的に、クライアントデバイス７０５から受信した位置センサの識別子がプリンタ７１５を既に特定している場合、サーバ１３４０は、データベースを照会しなくてもよい。
【０１４６】
ステップ１５４０において、サーバ１３４０は、ユーザがユーザの印刷キュー１３５０内に１つ以上の印刷ジョブを有するか否かを決定し得る。上記で説明されるように、ユーザが仮想プリンタ１３４５に印刷するたびに、サーバ１３４０は、対応する印刷ジョブを（印刷作成データを伴って）印刷キュー１３５０内に格納し得る。ユーザがいかなる印刷ジョブも印刷キュー内に有しない場合（ステップ１５４０では「いいえ」）、プロセスは終了し得、サーバ１３４０は、ユーザの印刷キュー内の新しい印刷ジョブについて監視することを継続し得、かつ／またはサーバ１３４０は、新しい位置センサのＩＤについて監視することを継続し得る。ユーザが１つ以上の印刷ジョブを有する場合（ステップ１５４０では「はい」）、サーバは、ステップ１５４５へと進み得る。
【０１４７】
ステップ１５４５において、サーバ１３４０及び／またはクライアントデバイス７０５は、印刷ジョブを、特定されたプリンタに印刷するための許可に関する要求を生成し得る。例えば、クライアントデバイス７０５は、ユーザの印刷ジョブのうちの１つ以上をサーバ１３４０によって特定されたプリンタにルーティングするためのユーザの許可を要求し得る。クライアントデバイス７０５は、振動し、通知を表示し、プロンプトを表示するか、または別様にユーザが印刷ジョブを承認するための要求を表示し得る。
【０１４８】
図１６は、本明細書に記載の１つ以上の例示的な態様に従って、プリンタに印刷するための許可に関する要求１６１０を表示するディスプレイ画面１６００の例を説明する。例えば、要求１６１０は、印刷ジョブを特定し、例えば、「文書１を印刷したいですか？」を言明し得る。要求１６１０は、任意選択で、物理プリンタを特定してもよい。要求１６１０は、ユーザが要求を容認するためのオプション（「はい」）、及びユーザが要求を拒否するためのオプション（「いいえ」）を含み得る。いくつかの態様では、複数の物理プリンタが同じ位置またはクライアントデバイス７０５の範囲内である場合など、複数の物理プリンタが利用可能であり得る。ユーザは、印刷ジョブを送信するための、サーバ１３４０のためのプリンタを選択することができ得る。
【０１４９】
図１７は、本明細書に記載の１つ以上の例示的な態様に従って、印刷するためのプリンタを選択するための要求１７１０を表示するディスプレイ画面１７００の例を説明する。要求１７１０は、例えば、「印刷するプリンタを選択してください」を言明し得る。要求１７１０はまた、プリンタ７１５及びプリンタ７２０など利用可能なプリンタに関する選択可能なオプションを表示し得る。
【０１５０】
図１５に戻ると、ステップ１５５０において、サーバ１３４０及び／またはクライアントデバイス７０５は、印刷要求が容認されたか否か、及び／または（複数のプリンタが利用可能である場合）プリンタが選択されたか否かを決定し得る。例えば、サーバ１３４０及び／またはクライアントデバイス７０５は、ユーザが、図１６で説明の「はい」のオプションか、または図１７で列挙されているプリンタのうちの１つを選択したかを決定し得る。印刷要求が容認されなかった場合（ステップ１５５０では「いいえ」）、プロセスは終了し得、サーバ１３４０は、ユーザの印刷キュー内の新しい印刷ジョブについて監視することを継続し得、かつ／またはサーバ１３４０は、新しい位置センサのＩＤについて監視することを継続し得る。印刷要求が容認された場合（ステップ１５５０では「はい」）、サーバは、ステップ１５５５へと進み得る。
【０１５１】
ステップ１５５５において、サーバ１３４０及び／またはクライアントデバイス７０５は、ユーザが、仮想デスクトップなどに対して認証されているか否かを決定し得る。種々の認証方法を前で詳細に記載した。ユーザが認証されている場合（ステップ１５５５では「はい」）、サーバ１３４０及び／またはクライアントデバイス７０５は、下記で詳細に記載されるように、ステップ１５７５へと進み得る。ユーザが認証されていない場合（ステップ１５５５では「いいえ」）、サーバは、ステップ１５６０へと進み得る。
【０１５２】
ステップ１５６０において、サーバ１３４０は、ユーザがクライアントデバイス７０５を介して認証するための要求を生成し、その要求をクライアントデバイス７０５に送信し得る。ステップ１５６５において、クライアントデバイス７０５は、サーバ１３４０からの要求を受信し、ユーザが認証するためのプロンプトを生成及び／または表示し得る。例えば、ユーザは、ユーザ名／パスワード、指紋、網膜スキャン、顔認識、または任意の他の資格情報などの資格情報を提供するように促さられ得る。要求される資格情報のタイプは、デバイス７０５の能力（例えば、クライアントデバイスが指紋読取装置を有する場合は指紋、クライアントデバイスが正面カメラを有する場合は顔認識など）に依存し得る。
【０１５３】
ステップ１５７０において、サーバ１３４０及び／またはクライアントデバイス７０５は、タイムアウトが生じたか否か、及び／またはユーザによる認証試行の最大数（例えば、３回または６回）に到達したか否かを決定し得る。そうである場合（ステップ１５７０では「はい」）、プロセスは終了し得、サーバ１３４０は、ユーザの印刷キュー内の新しい印刷ジョブについて監視することを継続し得、かつ／またはサーバ１３４０は、新しい位置センサのＩＤについて監視することを継続し得る。そうでない場合（ステップ１５７０では「いいえ」）、サーバは、ステップ１５５５へと戻り、ユーザによって提供された資格情報を使用してユーザを認証するか否かを決定し得る。
【０１５４】
ユーザが認証されている場合（ステップ１５５５では「はい」）、ステップ１５７５において、サーバ１３４０は、印刷キュー１３５０内に格納されたユーザの印刷ジョブのうちの１つ以上を、プリンタ７１５またはプリンタ７２０などの特定されたプリンタに送信し得る。例えば、サーバ１３４０は、印刷ジョブをスプールし、その印刷ジョブに対応する印刷作成データを、特定されたプリンタに送信し得る。
【０１５５】
主題は、構造的特徴及び／または方法的な作用に特化した言語で説明されたが、付属の請求項において定義された主題は、上記で説明された特定の機能または作用に必ずしも限定されないことが理解されるべきである。むしろ、上記で説明された特定の特徴及び作用は、下記の請求項の例示の実施例として説明される。
【０１５６】
関連出願の相互参照
本出願は、２０１５年８月６日出願の「AVAILABILITY OF DEVICES BASED ON LOCATION」と題する米国非仮特許出願第１４／８１９，６４４号、及び２０１５年５月６日出願の「AVAILABILITY OF DEVICES BASED ON LOCATION」と題する米国仮特許出願第６２／１５７，５３６号に対する優先権を主張する。これらの先行出願は、参照によりその全体が本明細書に組み込まれる。
【図１】
0006732800.tif 000002
【図２】
0006732800.tif 000003
【図３】
0006732800.tif 000004
【図４】
0006732800.tif 000005
【図５】
0006732800.tif 000006
【図６】
0006732800.tif 000007
【図７】
0006732800.tif 000008
【図８】
0006732800.tif 000009
【図９】
0006732800.tif 000010
【図１０】
0006732800.tif 000011
【図１１】
0006732800.tif 000012
【図１２】
0006732800.tif 000013
【図１３】
0006732800.tif 000014
【図１４】
0006732800.tif 000015
【図１５】
0006732800.tif 000016
【図１６】
0006732800.tif 000017
【図１７】
0006732800.tif 000018