(57)【要約】  ホストされたアプリケーションに、スマートアクセスが登録されたデバイスを提供するための方法、システム、およびコンピュータ可読媒体が提示される。ある実施形態では、少なくとも１つのプロセッサ、メモリおよび通信インターフェースを有するコンピューティングプラットフォームは、通信インターフェースを介して、登録されたデバイスに関連するエンドポイント分析情報を受信することができる。その後、コンピューティングプラットフォームは、登録されたデバイスに関連するエンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することができる。そして、コンピューティングプラットフォームは、登録されたデバイスに関連するエンドポイント分析情報を分析し且つ１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することに基づいて、通信インターフェースを介して、ホストされたアプリケーション体験を、登録されたデバイスに提供することができる。  【選択図】図２０
2019526843.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングプラットフォームであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに通信可能に結合された通信インターフェースと、
前記少なくとも１つのプロセッサによって実行されたとき、その結果として前記コンピューティングプラットフォームが、
前記通信インターフェースを介して、登録されたデバイスに関連するエンドポイント分析情報を受信して、
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定して、
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析し、前記１つ以上のスマートアクセスポリシーに基づいて前記ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することに基づいて、前記通信インターフェースを介して、ホストされたアプリケーション体験を前記登録されたデバイスに提供するコンピュータ可読命令を記憶するメモリと、を備える、コンピューティングプラットフォーム。
【請求項２】
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、前記登録されたデバイスから前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することを備える、請求項１に記載のコンピューティングプラットフォーム。
【請求項３】
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、企業モビリティ管理サーバから前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することを備える、請求項１に記載のコンピューティングプラットフォーム。
【請求項４】
前記登録されたデバイスが、前記登録されたデバイスに関連する前記エンドポイント分析情報が受信される前に、企業モビリティ管理サーバによって実装される少なくとも１つのポリシー実行スキームに前記登録されたデバイスを登録するために、前記企業モビリティ管理サーバによって登録される、請求項１に記載のコンピューティングプラットフォーム。
【請求項５】
請求項４に記載のコンピューティングプラットフォームであって、
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、前記登録されたデバイスに関連する固有のデバイス識別子を受信することを備え、
前記登録されたデバイスに関連する前記固有のデバイス識別子が、前記企業モビリティ管理サーバによって実装された前記少なくとも１つのポリシー実行スキームにおける前記登録されたデバイスの登録中に前記企業モビリティ管理サーバによって生成される、コンピューティングプラットフォーム。
【請求項６】
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、前記登録されたデバイスについて企業モビリティ管理サーバによって生成された１つ以上のコンプライアンスタグを受信することを備える、請求項１に記載のコンピューティングプラットフォーム。
【請求項７】
前記１つ以上のコンプライアンスタグが、モバイルデバイス管理（ＭＤＭ）ポリシー実行スキームに基づいて、前記登録されたデバイスのための前記企業モビリティ管理サーバによって生成される、請求項６に記載のコンピューティングプラットフォーム。
【請求項８】
前記１つ以上のコンプライアンスタグが、モバイルアプリケーション管理（ＭＡＭ）ポリシー実行スキームに基づいて、前記登録されたデバイスのための前記企業モビリティ管理サーバによって生成される、請求項６に記載のコンピューティングプラットフォーム。
【請求項９】
前記１つ以上のコンプライアンスタグが、モバイルコンテンツ管理（ＭＣＭ）ポリシー実行スキームに基づいて、前記登録されたデバイスのための前記企業モビリティ管理サーバによって生成される、請求項６に記載のコンピューティングプラットフォーム。
【請求項１０】
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析して前記１つ以上のスマートアクセスポリシーに基づいて、前記ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することが、完全なホストされたアプリケーション機能を有効にするように判定することを備える、請求項１に記載のコンピューティングプラットフォーム。
【請求項１１】
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析して前記１つ以上のスマートアクセスポリシーに基づいて、前記ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することが、部分的なホストされたアプリケーション機能を有効にするように判定することを備える、請求項１に記載のコンピューティングプラットフォーム。
【請求項１２】
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析して前記１つ以上のスマートアクセスポリシーに基づいて前記ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することが、部分的なホストされたアプリケーション機能を無効にするように判定することを備える、請求項１に記載のコンピューティングプラットフォーム。
【請求項１３】
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析して前記１つ以上のスマートアクセスポリシーに基づいて、前記ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することが、完全なホストされたアプリケーション機能を無効にするように判定することを備える、請求項１に記載のコンピューティングプラットフォーム。
【請求項１４】
方法であって、
少なくとも１つのプロセッサと、通信インターフェースと、メモリとを備えるコンピューティングプラットフォームにおいて、
前記少なくとも１つのプロセッサによって、前記通信インターフェースを介して、登録されたデバイスに関連するエンドポイント分析情報を受信することと、
前記少なくとも１つのプロセッサによって、前記登録されたデバイスに関連する前記エンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することと、
前記少なくとも１つのプロセッサによって、前記登録されたデバイスに関連する前記エンドポイント分析情報を分析し、前記１つ以上のスマートアクセスポリシーに基づいて前記ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することに基づいて、前記通信インターフェースを介して、ホストされたアプリケーション体験を前記登録されたデバイスに提供することと、を備える、方法。
【請求項１５】
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、前記登録されたデバイスから前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することを備える、請求項１４に記載の方法。
【請求項１６】
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、企業モビリティ管理サーバから前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することを備える、請求項１４に記載の方法。
【請求項１７】
前記登録されたデバイスが、前記登録されたデバイスに関連する前記エンドポイント分析情報が受信される前に、企業モビリティ管理サーバによって実装される少なくとも１つのポリシー実行スキームに前記登録されたデバイスを登録するために、前記企業モビリティ管理サーバによって登録される、請求項１４に記載の方法。
【請求項１８】
請求項１７に記載の方法であって、
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、前記登録されたデバイスに関連する固有のデバイス識別子を受信することを備え、
前記登録されたデバイスに関連する前記固有のデバイス識別子が、前記企業モビリティ管理サーバによって実装された前記少なくとも１つのポリシー実行スキームにおける前記登録されたデバイスの登録中に前記企業モビリティ管理サーバによって生成される、コンピューティングプラットフォーム。
【請求項１９】
前記登録されたデバイスに関連する前記エンドポイント分析情報を受信することが、前記登録されたデバイスについて企業モビリティ管理サーバによって生成された１つ以上のコンプライアンスタグを受信することを備える、請求項１４に記載の方法。
【請求項２０】
命令を記憶する一つ以上の持続性のコンピュータ可読媒体であり、少なくとも１つのプロセッサ、メモリ、および通信インターフェースを備えるコンピューティングデバイスによって実行されたとき、前記コンピューティングデバイスが、
前記通信インターフェースを介して、登録されたデバイスに関連するエンドポイント分析情報を受信して、
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定して、
前記登録されたデバイスに関連する前記エンドポイント分析情報を分析し、前記１つ以上のスマートアクセスポリシーに基づいて前記ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することに基づいて、前記通信インターフェースを介して、ホストされたアプリケーション体験を前記登録されたデバイスに提供することをもたらす、命令を記憶する一つ以上の持続性のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１７年３月２９日に出願された「ホストされたアプリケーションへの動的アクセス」という名称の米国特許出願第１５／４７２，６８５号、および２０１６年５月２３日に出願された「ホストされたアプリケーションに対するスマートアクセスのモバイルデバイスへの提供」という名称の米国仮特許出願第６２／３４０，０２５号に基づく優先権の利益を主張する。前述の各出願の内容は、全ての目的のために、その全体が参照することによって本明細書に組み込まれる。
【０００２】
本開示の態様は、コンピュータハードウェアおよびソフトウェアに関する。特に、本開示の１つ以上の態様は、ホストされたアプリケーションへのスマートアクセスを登録されたデバイスに提供するためのコンピュータハードウェアおよびソフトウェアに関する。
【背景技術】
【０００３】
企業組織およびそれらの従業員並びに他の関連ユーザは、電子メールの送受信、カレンダーやタスクの管理、コンテンツの作成および表示、企業情報のアクセスおよび変更、並びに他の機能の実行など、様々な機能に携わるためにモバイルコンピューティングデバイスをますます利用している。そのようなモバイルデバイスがますます採用されて使用されるのにともない、企業情報および他の企業リソースの安全性およびセキュリティを保護するために、そのようなデバイスが使用される方法および／またはそれらがアクセス可能な情報が何であるかを制御および／または管理することが企業にとってますます重要である。しかしながら、場合によっては、これには技術的な問題が生じる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示の態様は、モバイルデバイスおよび／またはモバイルアプリケーションによる企業情報および他の企業リソースへのアクセスを制御および／または管理することに関連する、１つ以上の技術的課題に対処して克服することができる技術的解決策を提供する。
【０００５】
現在のエンドポイント分析（ＥＰＡ）技術は、一般にはデスクトップオペレーティングシステムを実行しているデスクトップコンピューティングデバイス上で動作する。しかしながら、そのような現在のエンドポイント分析技術は、モバイルコンピューティングデバイスまたはモバイルオペレーティングシステムには適用することができない。
【０００６】
本開示の態様は、モバイルコンピューティングデバイスおよびモバイルアプリケーションにエンドポイント分析機能を提供する方法に関する。モバイルデバイス（例えば、モバイルコンピューティングデバイスおよびモバイルアプリケーションにエンドポイント分析機能を提供することを含むことができる）からの「スマートアクセス」を可能にすることは、モバイルデバイスが遠隔地やセキュアでない場所から使用され且つ容易に移動またはハッキングされる可能性があり、脱獄またはルーティングされているそのようなデバイスを含むことがあるため、重要であり得る。以下により詳細に説明するように、そのようなスマートアクセスは、モバイルデバイス上のリッチモバイルデバイス管理（ＭＤＭ）および／またはモバイルアプリケーション管理（ＭＡＭ）エンドポイント分析機能を活用して強化されたセキュリティを提供するように設計することができる。現時点では、モバイルデバイス管理（ＭＤＭ）またはモバイルアプリケーション管理（ＭＡＭ）エンドポイント分析機能を使用して、仮想アプリケーションと関連してスマートアクセスを提供する既存の製品は一切ない。
【０００７】
以下により詳細に説明するように、本開示の態様は、そのようなアプリケーションがモバイルデバイスによってアクセスされる場合に、高解像度体験（ＨＤＸ）のホストされたアプリケーションに対するスマートアクセスを提供する。そのようなスマートアクセスは、管理対象デバイスからスマートアクセスポリシーへの入力として、リッチＭＤＭベースのエンドポイント分析を活用することによって提供される。それに加えてまたはその代わりに、そのようなスマートアクセスは、管理対象または管理されていないデバイスから、スマートアクセスポリシーへの入力としてリッチＭＡＭベースのエンドポイント分析を活用することによって提供される。それに加えてまたはその代わりに、拡張されたスマートアクセス（例えば、本開示の１つ以上の態様にしたがって提供することができる）は、リッチＭＤＭエンドポイント分析および／またはＭＡＭエンドポイント分析に基づいて、高解像度体験（ＨＤＸ）アプリケーションおよび／または特定のＨＤＸセッションリダイレクション機能の可用性を制限することができる。
【課題を解決するための手段】
【０００８】
例えば、少なくとも１つのプロセッサ、メモリ、および通信インターフェースを有するコンピューティングプラットフォームは、通信インターフェースを介して、モバイルデバイスからエンドポイント分析情報を受信することができる。その後、コンピューティングプラットフォームは、１つ以上のスマートアクセスポリシーおよびモバイルデバイスから受信したエンドポイント分析情報に基づいて、ホストされた高解像度体験（ＨＤＸ）アプリケーションまたは１つ以上の特定のＨＤＸセッション機能の可用性をモバイルデバイスに対して制限するかどうかを判定することができる。コンピューティングプラットフォームは、ホストされたＨＤＸアプリケーションまたは１つ以上の特定のＨＤＸセッション機能の可用性をモバイルデバイスに対して制限する判定に基づいて、ホストされたＨＤＸアプリケーションまたは１つ以上の特定のＨＤＸセッション機能の可用性をモバイルデバイスに対して制限することができる。
【０００９】
場合によっては、モバイルデバイスから受信したエンドポイント分析情報は、モバイルデバイス管理（ＭＤＭ）エンドポイント分析情報を含むことができる。場合によっては、モバイルデバイスから受信したエンドポイント分析情報は、モバイルアプリケーション管理（ＭＡＭ）エンドポイント分析情報を含むことができる。
【００１０】
１つ以上の実施形態によれば、少なくとも１つのプロセッサ、通信インターフェース、およびメモリを有するコンピューティングプラットフォームは、通信インターフェースを介して、登録されたデバイスに関連するエンドポイント分析情報を受信することができる。その後、コンピューティングプラットフォームは、登録されたデバイスに関連するエンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することができる。そして、コンピューティングプラットフォームは、登録されたデバイスに関連するエンドポイント分析情報を分析し、且つ１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することに基づいて、通信インターフェースを介して、ホストされたアプリケーション体験を、登録されたデバイスに提供することができる。
【００１１】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を受信することは、登録されたデバイスから登録されたデバイスに関連するエンドポイント分析情報を受信することを含むことができる。ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を受信することは、企業モビリティ管理サーバから登録されたデバイスに関連するエンドポイント分析情報を受信することを含むことができる。
【００１２】
ある実施形態では、登録されたデバイスは、登録されたデバイスに関連するエンドポイント分析情報が受信される前に、企業モビリティ管理サーバによって実装される少なくとも１つのポリシー実行スキームに登録されたデバイスを登録するために、企業モビリティ管理サーバによって登録することができる。場合によっては、登録されたデバイスに関連するエンドポイント分析情報を受信することは、登録されたデバイスに関連する固有のデバイス識別子を受信することを含むことができる。さらに、登録されたデバイスに関連する固有のデバイス識別子は、企業モビリティ管理サーバによって実装された少なくとも１つのポリシー実行スキームにおいて、登録されたデバイスの登録中に企業モビリティ管理サーバによって生成されてもよい。
【００１３】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を受信することは、登録されたデバイスについて企業モビリティ管理サーバによって生成された１つ以上のコンプライアンスタグを受信することを含むことができる。場合によっては、１つ以上のコンプライアンスタグは、モバイルデバイス管理（ＭＤＭ）ポリシー実行スキームに基づいて、登録されたデバイスについて企業モビリティ管理サーバによって生成されてもよい。場合によっては、１つ以上のコンプライアンスタグは、モバイルアプリケーション管理（ＭＡＭ）ポリシー実行スキームに基づいて、登録されたデバイスについて企業モビリティ管理サーバによって生成されてもよい。場合によっては、１つ以上のコンプライアンスタグは、モバイルコンテンツ管理（ＭＣＭ）ポリシー実行スキームに基づいて、登録されたデバイスのための企業モビリティ管理サーバによって生成されてもよい。
【００１４】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、完全なホストされたアプリケーション機能を有効にするように判定することを含むことができる。ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、部分的なホストされたアプリケーション機能を有効にするように判定することを含むことができる。ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、部分的なホストされたアプリケーション機能を無効にするように判定することを含むことができる。ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、完全なホストされたアプリケーション機能を無効にするように判定することを含むことができる。
【００１５】
これらの特徴は、他の多くの特徴とともに、以下にさらに詳細に説明される。
【００１６】
添付図面を考慮して以下の詳細な説明を参照することにより、本明細書に記載された態様およびその利点のより完全な理解を得ることができ、図面において、同様の参照符号は、同様の特徴を示している。
【図面の簡単な説明】
【００１７】
【図１】図１は、本明細書に記載された１つ以上の例示的な態様にしたがって、使用できる例示的なコンピュータシステムアーキテクチャを示している。
【図２】図２は、本明細書に記載された１つ以上の例示的な態様にしたがって、使用さできる例示的なリモートアクセスシステムアーキテクチャを示している。
【図３】図３は、本明細書に記載された１つ以上の例示的な態様にしたがって、使用できる例示的な仮想化（ハイパーバイザ）システムアーキテクチャを示している。
【図４】図４は、本明細書に記載された１つ以上の例示的な態様にしたがって、使用できる例示的なクラウドベースシステムアーキテクチャを示している。
【図５】図５は、本明細書に記載された１つ以上の例示的な態様にしたがって、例示的な企業モビリティ管理システムを示している。
【図６】図６は、本明細書に記載された１つ以上の例示的な態様にしたがって、他の例示的な企業モビリティ管理システムを示している。
【図７】図７は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図８】図８は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図９】図９は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１０】図１０は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１１】図１１は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１２】図１２は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１３】図１３は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１４】図１４は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１５】図１５は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１６】図１６は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関連する例を示している。
【図１７】図１７は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供する方法を示している。
【図１８】図１８は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスを登録されたデバイスに提供するための例示的なコンピューティング環境を示している。
【図１９Ａ】図１９Ａは、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスを登録されたデバイスに提供するための例示的なイベントシーケンスを示している。
【図１９Ｂ】図１９Ｂは、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションに対するスマートアクセスを登録されたデバイスに提供するための例示的なイベントシーケンスを示している。
【図２０】図２０は、本明細書に記載された１つ以上の例示的な態様にしたがって、ホストされたアプリケーションでスマートアクセスに登録されたデバイスを提供する例示的な方法を示している。
【発明を実施するための形態】
【００１８】
以下の様々な実施形態の説明では、本明細書の一部を形成し且つ本明細書に記載された態様を実施することができる様々な実施形態として示される、上記特定された添付図面が参照される。他の実施形態が利用可能であり、本明細書に記載された範囲から逸脱せずに、構造的および機能的に変更することが可能であることが理解されるべきである。様々な態様は、他の実施形態が可能であり、様々な異なる方法で実施するおよび実行することが可能である。
【００１９】
本明細書で使用される表現および用語は、説明のためのものであり、限定的であると見なされるべきではないと理解されるべきである。むしろ、本明細書で使用される句および用語は、最も広い解釈および意味を与えられるべきである。「含む（ｉｎｃｌｕｄｉｎｇ）」および「備える（ｃｏｍｐｒｉｓｉｎｇ）」並びにその変形の使用は、それ以降に列挙された項目およびその均等物、並びにそれらの追加項目および均等物を包含することを意味する。用語「取り付けられた（ｍｏｕｎｔｅｄ）」、「接続された（ｃｏｎｎｅｃｔｅｄ）」、「結合された（ｃｏｕｐｌｅｄ）」、「位置決められた（ｐｏｓｉｔｉｏｎｅｄ）」、「係合された（ｅｎｇａｇｅｄ）」および同様の用語の使用は、直接的および間接的な取り付け、接続、結合、位置決めおよび係合を含むことを意味する。
【００２０】
コンピューティングアーキテクチャ
コンピュータソフトウェア、ハードウェア、およびネットワークは、スタンドアロン、ネットワーク化、リモートアクセス（別名、リモートデスクトップ）、仮想化、および／またはクラウドベース環境を含む様々な異なるシステム環境で利用することができる。図１は、スタンドアロンおよび／またはネットワーク環境で、本明細書に記載される１つ以上の例示的な態様を実施するために使用可能であるシステムアーキテクチャおよびデータ処理装置の一例を示している。様々なネットワークノード１０３、１０５、１０７、および１０９は、インターネットなどのワイドエリアネットワーク（ＷＡＮ）１０１を介して相互接続することができる。プライベートイントラネット、企業ネットワーク、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、無線ネットワーク、パーソナルネットワーク（ＰＡＮ）などを含む他のネットワークもまた使用してもよく、または代替として使用してもよい。ネットワーク１０１は、例示のためのものであり、より少ないまたは追加のコンピュータネットワークと置き換えてもよい。ローカルエリアネットワークは、任意の公知のＬＡＮトポロジのうちの１つ以上を有してもよく、イーサネット（登録商標）などの様々な異なるプロトコルのうちの１つ以上を使用してもよい。デバイス１０３、１０５、１０７、１０９および他のデバイス（図示せず）は、ツイストペア線、同軸ケーブル、光ファイバ、電波または他の通信媒体を介して１つ以上のネットワークに接続してもよい。
【００２１】
本明細書で使用する図面に示されている用語「ネットワーク」は、遠隔記憶装置が１つ以上の通信経路を介して結合されるシステムを指すだけでなく、時折、記憶能力を有するそのようなシステムに結合することができるスタンドアロン装置をも指す。したがって、用語「ネットワーク」は、「物理ネットワーク」だけでなく、全ての物理ネットワークに存在する−単一エンティティに起因する−データから構成される「コンテンツネットワーク」をも含む。
【００２２】
コンポーネントは、データサーバ１０３、ウェブサーバ１０５、およびクライアントコンピュータ１０７、１０９を含むことができる。データサーバ１０３は、本明細書に記載された１つ以上の例示的な態様を実行するためのデータベースおよび制御ソフトウェアの全体的なアクセス、制御および管理を提供する。データサーバ１０３は、ユーザが要求したデータと対話してデータを取得するウェブサーバ１０５に接続することができる。その代わりに、データサーバ１０３は、ウェブサーバ自体として機能してもよく、インターネットに直接接続されてもよい。データサーバ１０３は、ネットワーク１０１（例えば、インターネット）を介して、直接的または間接的な接続を介して、または他の何らかのネットワークを介してウェブサーバ１０５に接続することができる。ユーザは、ウェブサーバ１０５によってホストされた１つ以上の外部に露出されたウェブサイトを介してデータサーバ１０３に接続するために、例えばウェブブラウザを用いて、リモートコンピュータ１０７、１０９を使用してデータサーバ１０３と対話することができる。クライアントコンピュータ１０７、１０９は、そこに記憶されたデータにアクセスするためにデータサーバ１０３と協働して使用されてもよく、または他の目的のために使用されてもよい。例えば、クライアントデバイス１０７から、ユーザは、当該技術分野において知られているように、インターネットブラウザを使用して、または（インターネットなどの）コンピュータネットワーク上のウェブサーバ１０５および／またはデータサーバ１０３と通信するソフトウェアアプリケーションを実行することによって、ウェブサーバ１０５にアクセスすることができる。
【００２３】
サーバおよびアプリケーションは、同じ物理マシン上で結合することができ、別個の仮想または論理アドレスを保持することができ、または別個の物理マシン上に存在することができる。図１は、使用可能なネットワークアーキテクチャの単なる一例を示しており、当業者であれば、本明細書においてさらに記載するように、使用する特定のネットワークアーキテクチャおよびデータ処理装置が変化してもよく、それらが提供する機能に対して二次的であることを理解する。例えば、ウェブサーバ１０５およびデータサーバ１０３によって提供されるサービスは、単一サーバ上で結合することができる。
【００２４】
各コンポーネント１０３、１０５、１０７、１０９は、任意の種類の公知のコンピュータ、サーバ、またはデータ処理装置とすることができる。データサーバ１０３は、例えば、データサーバ１０３の全体的な動作を制御するプロセッサ１１１を含むことができる。データサーバ１０３は、さらに、ランダムアクセスメモリ（ＲＡＭ）１１３、読出し専用メモリ（ＲＯＭ）１１５、ネットワークインターフェース１１７、入出力インターフェース１１９（例えば、キーボード、マウス、ディスプレイ、プリンタなど）、およびメモリ１２１を含むことができる。入出力（Ｉ／Ｏ）１１９は、データまたはファイルの読み取り、書き込み、表示、および／または印刷のための様々なインターフェースユニットおよびドライブを含むことができる。メモリ１２１は、さらに、データ処理装置１０３の全体的な動作を制御するためのオペレーティングシステムソフトウェア１２３、本明細書に記載される態様を実行するようにデータサーバ１０３に指示する制御ロジック１２５、および本明細書に記載される態様とあわせて使用されても使用されなくてもよい二次機能、サポート機能、および／または他の機能を提供する他のアプリケーションソフトウェア１２７を記憶することができる。制御ロジックはまた、本明細書ではデータサーバソフトウェア１２５とも呼ばれる。データサーバソフトウェアの機能は、制御ロジックにコード化されたルールに基づいて自動的に行われる、システムに入力を提供するユーザによって手動で行われる、および／またはユーザ入力（例えば、クエリ、データ更新など）に基づく自動処理の組み合わせによる動作または決定を指すことができる。
【００２５】
メモリ１２１はまた、第１のデータベース１２９および第２のデータベース１３１を含む、本明細書に記載される１つ以上の態様の実行に使用するデータを記憶することができる。ある実施形態では、第１のデータベースは、（例えば、別個のテーブル、レポートなどとして）第２のデータベースを含むことができる。すなわち、情報は、システム設計に応じて、単一データベースに記憶することができ、または、異なる論理、仮想、もしくは物理データベースに分離することができる。デバイス１０５、１０７、１０９は、デバイス１０３に関して記載されたものと同様のまたは異なるアーキテクチャを有してもよい。当業者であれば、本明細書に記載されたデータ処理装置１０３（またはデバイス１０５、１０７、１０９）の機能が、例えば、地理的位置、ユーザアクセスレベル、サービス品質（ＱｏＳ）などに基づいてトランザクションを分離するために、複数のコンピュータにわたって処理負荷を分散するように、複数のデータ処理装置にわたって分散されてもよいことを理解する。
【００２６】
１つ以上の態様は、本明細書に記載される１つ以上のコンピュータまたは他のデバイスによって実行する、１つ以上のプログラムモジュールなど、コンピュータ使用可能または読み取り可能なデータおよび／またはコンピュータ実行可能命令で具体化されてもよい。一般に、プログラムモジュールは、特定のタスクを実行するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むか、または、コンピュータまたは他のデバイスのプロセッサによって実行するときに特定の抽象データ型を実行する。モジュールは、実行のために後でコンパイルされるソースコードプログラミング言語で書かれてもよく、または、（これらに限定されるものではないが）ハイパーテキストマークアップ言語（ＨＴＭＬ）もしくは拡張マークアップ言語（ＸＭＬ）などのスクリプト言語で書かれてもよい。コンピュータ実行可能命令は、不揮発性記憶装置などのコンピュータ可読媒体に記憶されてもよい。ハードディスク、ＣＤ−ＲＯＭ、光記憶デバイス、磁気記憶デバイス、及び／またはそれらの任意の組み合わせを含む、任意の適切なコンピュータ可読記憶媒体を利用し得る。さらに、本明細書に記載されたようなデータまたはイベントを表す様々な伝送（非記憶）媒体は、送信元と送信先との間で、金属ワイヤ、光ファイバ、および／または無線伝送媒体（例えば、空中および／または宇宙空間）などの信号伝達媒体を介して進む電磁波の形態で伝送されてもよい。本明細書に記載される様々な態様は、方法、データ処理システム、またはコンピュータプログラム製品として具体化されてもよい。したがって、ソフトウェア、ファームウェア、および／またはハードウェア、または集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのハードウェア均等物において、様々な機能が全体的または部分的に具体化されてもよい。本明細書に記載の１つ以上の態様をより効果的に実施するために、特定のデータ構造が使用されてもよく、そのようなデータ構造は、本明細書に記載されたコンピュータ実行可能命令およびコンピュータ使用可能データの範囲内であると想定される。
【００２７】
図２をさらに参照すると、本明細書に記載された１つ以上の態様は、リモートアクセス環境において実装することができる。図２は、本明細書に記載された１つ以上の例示的な態様にしたがって使用することができる例示的なコンピューティング環境２００におけるコンピューティングデバイス２０１を含む例示的なシステムアーキテクチャを示している。コンピューティングデバイス２０１は、クライアントアクセスデバイスに仮想マシンを提供するように構成された単一サーバまたは複数サーバのデスクトップ仮想化システム（例えば、リモートアクセスまたはクラウドシステム）内のサーバ２０６ａとして使用することができる。コンピューティングデバイス２０１は、サーバ、並びにＲＡＭ２０５、ＲＯＭ２０７、Ｉ／Ｏモジュール２０９、およびメモリ２１５を含むその関連コンポーネントの全体的な動作を制御するためのプロセッサ２０３を有することができる。
【００２８】
Ｉ／Ｏモジュール２０９は、コンピューティングデバイス２０１のユーザが入力を提供することができるマウス、キーパッド、タッチスクリーン、スキャナ、光学式読み取り装置、および／またはスタイラス（または他の入力装置）を含むことができ、また、オーディオ出力を提供するためのスピーカと、テキスト、オーディオビジュアル、および／またはグラフィカル出力を提供するためのビデオ表示装置とのうちの１つ以上を含むことができる。本明細書に記載されるような様々な機能を実行するために専用の目的のコンピューティングデバイスにコンピューティングデバイス２０１を構成するための命令をプロセッサ２０３に提供するために、ソフトウェアをメモリ２１５および／または他の記憶装置内に記憶することができる。例えば、メモリ２１５は、オペレーションシステム２１７、アプリケーションプログラム２１９、および関連するデータベース２２１などのコンピューティングデバイス２０１によって使用されるソフトウェアを記憶することができる。
【００２９】
コンピューティングデバイス２０１は、端末２４０（クライアントデバイスとも呼ばれる）などの１つ以上のリモートコンピュータへの接続をサポートするネットワーク環境で動作することができる。端末２４０は、コンピューティングデバイス１０３または２０１に関して上述した要素の多くまたは全てを含むパーソナルコンピュータ、モバイルデバイス、ラップトップコンピュータ、タブレット、またはサーバとすることができる。図２に示されるネットワーク接続は、ローカルエリアネットワーク（ＬＡＮ）２２５およびワイドエリアネットワーク（ＷＡＮ）２２９を含むが、他のネットワークも含んでもよい。ＬＡＮネットワーキング環境で使用される場合、コンピューティングデバイス２０１は、ネットワークインターフェースまたはアダプタ２２３を介してＬＡＮ２２５に接続されてもよい。ＷＡＮネットワーキング環境で使用される場合、コンピューティングデバイス２０１は、コンピュータネットワーク２３０（例えば、インターネット）などのＷＡＮ２２９上での通信を確立するためのモデム２２７または他のワイドエリアネットワークインターフェースを含んでもよい。示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことが理解されよう。コンピューティングデバイス２０１および／または端末２４０はまた、バッテリ、スピーカ、およびアンテナ（図示せず）などの様々な他のコンポーネントを含むモバイル端末（例えば、携帯電話、スマートフォン、携帯情報端末（ＰＤＡ）、ノートブックなど）であってもよい。
【００３０】
本明細書に記載される態様はまた、多数の他の汎用または専用コンピューティングシステム環境または構成によって動作することもできる。本明細書に記載された態様によって使用するのに適している可能性がある他のコンピューティングシステム、環境、および／または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル家電、ネットワークパーソナルコンピュータ（ＰＣ）、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されるものではない。
【００３１】
図２に示すように、１つ以上のクライアントデバイス２４０は、１つ以上のサーバ２０６ａ−２０６ｎ（一般に、ここでは「サーバ２０６」と呼ばれる）と通信することができる。一実施形態では、コンピューティング環境２００は、サーバ２０６とクライアントマシン２４０との間に設置されたネットワーク機器を含むことができる。ネットワーク機器は、クライアント／サーバ接続を管理することができ、場合によっては、複数のバックエンドサーバ２０６の間でクライアント接続を負荷分散することができる。
【００３２】
クライアントマシン２４０は、ある実施形態では、単一クライアントマシン２４０または単一グループのクライアントマシン２４０と呼ばれてもよく、一方、サーバ２０６は、単一サーバ２０６または単一グループのサーバ２０６と呼ばれてもよい。別の一実施形態では、単一クライアントマシン２４０は、複数のサーバ２０６と通信し、一方、他の実施形態では、単一サーバ２０６は、複数のクライアントマシン２４０と通信する。さらに他の実施形態では、単一クライアントマシン２４０は、単一サーバ２０６と通信する。
【００３３】
クライアントマシン２４０は、ある実施形態では、以下の非網羅的な用語のいずれか１つによって参照することができる：クライアントマシン；クライアント；クライアントコンピュータ；クライアントデバイス；クライアントコンピューティングデバイス；ローカルマシン；リモートマシン；クライアントノード；エンドポイント；またはエンドポイントノード。サーバ２０６は、ある実施形態では、以下の非網羅的な用語のいずれか１つによって参照することができる：サーバ、ローカルマシン；リモートマシン；サーバファーム、またはホストコンピューティングデバイス。
【００３４】
一実施形態では、クライアントマシン２４０は、仮想マシンであってもよい。仮想マシンは、任意の仮想マシンとすることができ、ある実施形態では、仮想マシンは、例えば、シトリックス・システムズ、ＩＢＭ、ＶＭｗａｒｅによって開発されたハイパーバイザ、または任意の他のハイパーバイザなどのタイプ１またはタイプ２ハイパーバイザによって管理される任意の仮想マシンとすることができる。いくつかの態様では、仮想マシンは、ハイパーバイザによって管理されてもよく、態様では、仮想マシンは、サーバ２０６上で実行するハイパーバイザまたはクライアント２４０上で実行するハイパーバイザによって管理されてもよい。
【００３５】
ある実施形態は、サーバ２０６または他の遠隔配置されたマシン上で遠隔実行するアプリケーションによって生成されたアプリケーション出力を表示するクライアントデバイス２４０を含む。これらの実施形態では、クライアントデバイス２４０は、仮想マシン受信機プログラムまたはアプリケーションを実行して、アプリケーションウィンドウ、ブラウザ、または他の出力ウィンドウに出力を表示することができる。一例では、アプリケーションはデスクトップであり、他の例では、アプリケーションは、デスクトップを生成または提示するアプリケーションである。デスクトップは、ローカルおよび／またはリモートアプリケーションを統合することができるオペレーティングシステムのインスタンスのためのユーザインターフェースを提供するグラフィカルシェルを含むことができる。本明細書で使用されるように、アプリケーションは、オペレーティングシステムのインスタンス（および任意選択で、デスクトップも）がロードされた後に実行するプログラムである。
【００３６】
サーバ２０６は、ある実施形態では、リモート提示プロトコルまたは他のプログラムを使用して、クライアント上で実行するシンクライアントまたはリモートディスプレイアプリケーションにデータを送信し、サーバ２０６上で実行するアプリケーションによって生成されるディスプレイ出力を提示する。シンクライアントまたはリモートディスプレイプロトコルは、以下の非網羅的なプロトコルリストのいずれか１つとすることができる：フロリダ州フォートローダーデールのシトリックス・システムズ社によって開発されたインディペンデント・コンピューティング・アーキテクチャ（ＩＣＡ）プロトコル；またはワシントン州レドモンドのマイクロソフトコーポレーションによって製造されたリモートデスクトッププロトコル（ＲＤＰ）。
【００３７】
リモートコンピューティング環境は、サーバ２０６ａ−２０６ｎが例えばクラウドコンピューティング環境内のサーバファーム２０６に一体に論理的にグループ化されるように、複数のサーバ２０６ａ−２０６ｎを含むことができる。サーバファーム２０６は、地理的に分散されるとともに一体に論理的にグループ化されたサーバ２０６、または互いに近接して配置されるとともに一体に論理的にグループ化されたサーバ２０６を含むことができる。ある実施形態では、サーバファーム２０６内の地理的に分散されたサーバ２０６ａ−２０６ｎは、ＷＡＮ（ワイド）、ＭＡＮ（メトロポリタン）、またはＬＡＮ（ローカル）を使用して通信することができ、異なる地理的領域を、以下のように特徴付けることができる：異なる大陸；大陸の異なる地域；異なる国；異なる州；異なる都市；異なるキャンパス；異なる部屋；または前途の地理的位置の任意の組み合わせ。ある実施形態では、サーバファーム２０６は、単一エンティティとして管理することができる一方で、他の実施形態では、サーバファーム２０６は、複数のサーバファームを含むことができる。
【００３８】
ある実施形態では、サーバファームは、略同様のタイプのオペレーティングシステムプラットフォーム（例えば、ウィンドウズ（登録商標）、ＵＮＩＸ（登録商標）、リナックス（登録商標）、ｉＯＳ、アンドロイド、シンビアンなど）を実行するサーバ２０６を含むことができる。他の実施形態では、サーバファーム２０６は、第１のタイプのオペレーティングシステムプラットフォームを実行する１つ以上のサーバの第１のグループと、第２のタイプのオペレーティングシステムプラットフォームを実行する１つ以上のサーバの第２のグループとを含むことができる。
【００３９】
サーバ２０６は、必要に応じて、例えば、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、機器、ネットワーク機器、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、デプロイメントサーバ、セキュア・ソケット・レイヤ（ＳＳＬ）ＶＰＮサーバ、ファイアウォール、ウェブサーバ、アプリケーションサーバなどの任意のタイプのサーバとして、またはファイアウォール機能、アプリケーション機能、もしくは負荷分散機能を提供するマスタアプリケーションサーバ、アクティブディレクトリを実行するサーバ、もしくはアプリケーション加速プログラムを実行するサーバとして構成することができる。他のサーバタイプも使用することができる。
【００４０】
ある実施形態は、クライアントマシン２４０からのリクエストを受信し、そのリクエストを第２のサーバ２０６ｂに転送し、第２のサーバ２０６ｂからの応答を利用して、クライアントマシン２４０によって生成されたリクエストに応答する第１のサーバ２０６ａを含む。第１のサーバ２０６ａは、クライアントマシン２４０に利用可能なアプリケーションの列挙を取得することができ、およびアプリケーションの列挙内で識別されるアプリケーションをホストするアプリケーションサーバ２０６に関連するアドレス情報として取得することができる。そして、第１のサーバ２０６ａは、ウェブインターフェースを使用してクライアントのリクエストに対する応答を提示することができ、クライアント２４０に直接通信して、識別されたアプリケーションへのアクセスをクライアント２４０に提供することができる。１つ以上のクライアント２４０および／または１つ以上のサーバ２０６は、ネットワーク２３０、例えばネットワーク１０１を介してデータを送信することができる。
【００４１】
図３は、例示的なデスクトップ仮想化システムのハイレベルアーキテクチャを示している。示されるように、デスクトップ仮想化システムは、仮想デスクトップおよび／または仮想アプリケーションを１つ以上のクライアントアクセスデバイス２４０に提供するように構成された少なくとも１つの仮想化サーバ３０１を含む、単一サーバまたは複数サーバシステム、またはクラウドシステムとすることができる。本明細書では、デスクトップは、１つ以上のアプリケーションがホストおよび／または実行することができるグラフィック環境または空間を指す。デスクトップは、ローカルおよび／またはリモートアプリケーションが統合することができる、オペレーティングシステムのインスタンスのためのユーザインターフェースを提供するグラフィカルシェルを含むことができる。アプリケーションは、オペレーティングシステムのインスタンス（および必要に応じてデスクトップも）がロードされた後に実行するプログラムを含むことができる。オペレーティングシステムの各インスタンスは、物理的（例えば、デバイス毎に１つのオペレーティングシステム）または仮想的（例えば、単一デバイス上で動作するＯＳの多くのインスタンス）とすることができる。各アプリケーションは、ローカルデバイス上で実行されてもよく、または遠隔配置されたデバイス（例えば、リモート）上で実行されてもよい。
【００４２】
コンピュータデバイス３０１は、例えば、単一サーバ、複数サーバ、またはクラウドコンピューティング環境などの仮想化環境内の仮想化サーバとして構成することができる。図３に示される仮想化サーバ３０１は、図２に示されるサーバ２０６の１つ以上の実施形態によって、または他の公知のコンピューティングデバイスによって装備および／または実装することができる。仮想化サーバ３０１には、１つ以上の物理ディスク３０４、１つ以上の物理デバイス３０６、１つ以上の物理プロセッサ３０８および１つ以上の物理メモリ３１６を含むことができるハードウェア層が含まれる。ある実施形態では、ファームウェア３１２は、物理メモリ３１６のメモリ要素内に記憶することができ、一つ以上の物理プロセッサ３０８によって実行することができる。仮想化サーバ３０１は、さらに、物理メモリ３１６のメモリ要素に記憶され、１つ以上の物理プロセッサ３０８によって実行することができるオペレーティングシステム３１４を含むことができる。さらに、ハイパーバイザ３０２は、物理メモリ３１６のメモリ要素に記憶することができ、物理プロセッサ３０８のうちの１つ以上によって実行することができる。
【００４３】
物理プロセッサ３０８のうちの１つ以上での実行は、１つ以上の仮想マシン３３２Ａ−Ｃ（一般には３３２）とすることができる。各仮想マシン３３２は、仮想ディスク３２６Ａ−Ｃおよび仮想プロセッサ３２８Ａ−Ｃを有することができる。ある実施形態では、第１の仮想マシン３３２Ａは、仮想プロセッサ３２８Ａを使用して、ツールスタック３２４を含む制御プログラム３２０を実行することができる。制御プログラム３２０は、制御仮想マシン、Ｄｏｍ０、ドメイン０、またはシステム管理および／または制御に使用される他の仮想マシンと呼ばれてもよい。ある実施形態では、１つ以上の仮想マシン３３２Ｂ−Ｃは、仮想プロセッサ３２８Ｂ−Ｃを使用して、ゲストオペレーティングシステム３３０Ａ−Ｂを実行することができる。
【００４４】
仮想化サーバ３０１は、仮想化サーバ３０１と通信する１つ以上のハードウェアピースを有するハードウェア層３１０を含むことができる。ある実施形態では、ハードウェア層３１０は、１つ以上の物理ディスク３０４、１つ以上の物理デバイス３０６、１つ以上の物理プロセッサ３０８、および１つ以上のメモリ２１６を含むことができる。物理コンポーネント３０４、３０６、３０８、および３１６は、例えば、上述したコンポーネントのいずれかを含むことができる。物理デバイス３０６は、例えば、ネットワークインターフェースカード、ビデオカード、キーボード、マウス、入力装置、モニタ、ディスプレイ装置、スピーカ、光学ドライブ、記憶装置、ユニバーサルシリアルバス接続、プリンタ、スキャナ、ネットワーク要素（例えば、ルータ、ファイアウォール、ネットワークアドレス変換器、ロードバランサ、仮想プライベートネットワーク（ＶＰＮ）ゲートウェイ、ダイナミック・ホスト・コンフィギュレーション・プロトコル（ＤＨＣＰ）ルータなど）、または仮想化サーバ３０１と接続するまたは通信する任意の装置を含むことができる。ハードウェア層３１０内の物理メモリ３１６は、任意の種類のメモリを含むことができる。物理メモリ３１６は、データを記憶することができ、ある実施形態では、１つ以上のプログラム、または実行可能命令のセットを記憶することができる。図３は、ファームウェア３１２が仮想化サーバ３０１の物理メモリ３１６内に記憶される実施形態を示している。物理メモリ３１６に記憶されたプログラムまたは実行可能命令は、仮想化サーバ３０１の１つ以上のプロセッサ３０８によって実行することができる。
【００４５】
仮想化サーバ３０１はまた、ハイパーバイザ３０２も含むことができる。ある実施形態では、ハイパーバイザ３０２は、任意数の仮想マシン３３２を形成および管理するために、仮想化サーバ３０１上のプロセッサ３０８によって実行するプログラムとすることができる。ハイパーバイザ３０２は、仮想マシンモニタ、またはプラットフォーム仮想化ソフトウェアと呼ばれてもよい。ある実施形態では、ハイパーバイザ３０２は、コンピューティングマシン上で実行する仮想マシンを監視する実行可能命令およびハードウェアの任意の組み合わせとすることができる。ハイパーバイザ３０２は、仮想化サーバ３０１上で実行するオペレーティングシステム３１４内で実行するハイパーバイザであるタイプ２ハイパーバイザとすることができる。そして、仮想マシンは、ハイパーバイザの上のレベルで実行する。ある実施形態では、タイプ２ハイパーバイザは、タイプ２ハイパーバイザがユーザのオペレーティングシステムと対話するように、ユーザのオペレーティングシステムのコンテキスト内で実行する。他の実施形態では、仮想化環境内の１つ以上の仮想化サーバ３０１は、代わりに、タイプ１ハイパーバイザ（図示せず）を含むことができる。タイプ１ハイパーバイザは、ハードウェア層３１０内のハードウェアおよびリソースに直接アクセスすることによって、仮想化サーバ３０１上でことができる。すなわち、タイプ２ハイパーバイザ３０２は、示されるように、ホストオペレーティングシステム３１４を介してシステムリソースにアクセスするが、タイプ１ハイパーバイザは、ホストオペレーティングシステム３１４なしで全てのシステムリソースに直接アクセスすることができる。タイプ１ハイパーバイザは、仮想化サーバ３０１の１つ以上の物理プロセッサ３０８上で直接実行することができ、および物理メモリ３１６に記憶されたプログラムデータを含むことができる。
【００４６】
ハイパーバイザ３０２は、ある実施形態では、システムリソースに直接アクセスするオペレーティングシステム３３０または制御プログラム３２０をシミュレートする任意の方法で、仮想マシン３３２上で実行するオペレーティングシステム３３０または制御プログラム３２０に仮想リソースを提供することができる。システムリソースは、物理デバイス３０６、物理ディスク３０４、物理プロセッサ３０８、物理メモリ３１６および仮想化サーバ３０１のハードウェア層３１０に含まれる任意の他のコンポーネントを含むことができるが、これらに限定されるものではない。ハイパーバイザ３０２は、仮想ハードウェアのエミュレーション、物理ハードウェアのパーティション、物理ハードウェアの仮想化、および／またはコンピューティング環境へのアクセスを提供する仮想マシンの実行に使用することができる。さらに他の実施形態では、ハイパーバイザ３０２は、仮想化サーバ３０１上で実行する仮想マシン３３２のプロセッサスケジューリングおよびメモリパーティショニングを制御する。ハイパーバイザ３０２は、カリフォルニア州パロアルトのＶＭＷａｒｅ社によって製造されたもの：オープンソースのＸｅｎＰｒｏｊｅｃｔ．ｏｒｇコミュニティによって開発が監督されているオープンソース製品であるＸＥＮＰＲＯＪＥＣＴハイパーバイザ；マイクロソフトによって提供されるＨｙｐｅｒＶ、ＶｉｒｔｕａｌＳｅｒｖｅｒ、または仮想ＰＣハイパーバイザなどを含むことができる。ある実施形態では、仮想化サーバ３０１は、ゲストオペレーティングシステムが実行可能な仮想マシンプラットフォームを形成するハイパーバイザ３０２を実行する。これらの実施形態では、仮想化サーバ３０１は、ホストサーバと呼ばれてもよい。そのような仮想化サーバの例は、フロリダ州フォートローダーデールのシトリックス・システム社によって提供されるＸＥＮＳＥＲＶＥＲである。
【００４７】
ハイパーバイザ３０２は、ゲストオペレーティングシステム３３０が実行する１つ以上の仮想マシン３３２Ｂ−Ｃ（一般には３３２）を形成することができる。ある実施形態では、ハイパーバイザ３０２は、仮想マシンイメージをロードして仮想マシン３３２を形成することができる。他の実施形態では、ハイパーバイザ３０２は、仮想マシン３３２内のゲストオペレーティングシステム３３０を実行することができる。さらに他の実施形態では、仮想マシン３３２は、ゲストオペレーティングシステム３３０を実行することができる。
【００４８】
仮想マシン３３２を形成することに加えて、ハイパーバイザ３０２は、少なくとも１つの仮想マシン３３２の実行を制御することができる。他の実施形態では、ハイパーバイザ３０２は、仮想化サーバ３０１によって提供される少なくとも１つのハードウェアリソース（例えば、ハードウェア層３１０内で利用可能な任意のハードウェアリソース）の抽象化を少なくとも１つの仮想マシン３３２に提示することができる。他の実施形態では、ハイパーバイザ３０２は、仮想マシン３３２が仮想化サーバ３０１内で利用可能な物理プロセッサ３０８にアクセスする方法を制御することができる。物理プロセッサ３０８へのアクセスを制御することは、仮想マシン３３２がプロセッサ３０８へのアクセスを有するべきかどうか、および物理プロセッサ能力が仮想マシン３３２にどのように提示されるかを判定することを含むことができる。
【００４９】
図３に示すように、仮想化サーバ３０１は、１つ以上の仮想マシン３３２をホストするまたは実行することができる。仮想マシン３３２は、プロセッサ３０８によって実行するときに、仮想マシン３３２が物理コンピューティングデバイスのように多くのプログラムおよびプロセスを実行することができるように、物理コンピュータの動作を模倣する実行可能命令のセットである。図３は、仮想化サーバ３０１が３つの仮想マシン３３２をホストする実施形態を示しているが、他の実施形態では、仮想化サーバ３０１は、任意数の仮想マシン３３２をホストすることができる。ハイパーバイザ３０２は、ある実施形態では、その仮想マシン３３２に利用可能な物理ハードウェア、メモリ、プロセッサおよび他のシステムリソースの固有の仮想ビューを各仮想マシン３３２に提供する。ある実施形態では、固有の仮想ビューは、一つ以上の仮想マシン許可、１つ以上の仮想マシン識別子へのポリシーエンジンの適用、仮想マシンにアクセスするユーザ、仮想マシン上で実行するアプリケーション、仮想マシンによってアクセスするネットワーク、または任意の他の所望の基準のうちの１つ以上に基づくことができる。例えば、ハイパーバイザ３０２は、１つ以上のセキュアではない仮想マシン３３２、および１つ以上のセキュアな仮想マシン３３２を形成することができる。セキュアではない仮想マシン３３２は、セキュアである仮想マシン３３２のアクセスが許可され得るリソース、ハードウェア、メモリロケーション、およびプログラムに対するアクセスを拒否され得る。他の実施形態では、ハイパーバイザ３０２は、仮想マシン３３２に利用可能な物理ハードウェア、メモリ、プロセッサおよび他のシステムリソースの略同様の仮想ビューを各仮想マシン３３２に提供することができる。
【００５０】
各仮想マシン３３２は、仮想ディスク３２６Ａ−Ｃ（一般には３２６）および仮想プロセッサ３２８Ａ−Ｃ（一般には３２８）を含むことができる。仮想ディスク３２６は、ある実施形態では、仮想化サーバ３０１の１つ以上の物理ディスク３０４、または仮想化サーバ３０１の１つ以上の物理ディスク３０４の一部の仮想化されたビューである。物理ディスク３０４の仮想化されたビューは、ハイパーバイザ３０２によって生成する、提供する、および管理することができる。ある実施形態では、ハイパーバイザ３０２は、各仮想マシン３３２に物理ディスク３０４の固有のビューを提供する。従って、これらの実施形態では、各仮想マシン３３２に含まれる特定の仮想ディスク３２６は、他の仮想ディスク３２６と比較した場合に固有であり得る。
【００５１】
仮想プロセッサ３２８は、仮想化サーバ３０１の１つ以上の物理プロセッサ３０８の仮想化されたビューとすることができる。ある実施形態では、物理プロセッサ３０８の仮想化されたビューは、ハイパーバイザ３０２によって生成する、提供する、および管理することができる。ある実施形態では、仮想プロセッサ３２８は、少なくとも１つの物理プロセッサ３０８の全ての同じ特性を実質的に有する。他の実施形態では、仮想プロセッサ３０８は、仮想プロセッサ３２８の特性の少なくとも一部が対応する物理プロセッサ３０８の特性と異なるように、物理プロセッサ３０８の修正されたビューを提供する。
【００５２】
図４をさらに参照すると、本明細書に記載されるいくつかの態様は、クラウドベース環境において実装することができる。図４は、クラウドコンピューティング環境（またはクラウドシステム）４００の例を示している。図４に示すように、クライアントコンピュータ４１１−４１４は、クラウド管理サーバ４１０と通信して、クラウドシステムのコンピューティングリソース（例えば、ホストサーバ４０３、記憶装置リソース４０４、およびネットワークリソース４０５）にアクセスすることができる。
【００５３】
管理サーバ４１０は、１つ以上の物理サーバ上に実装されてもよい。管理サーバ４１０は、とりわけ、例えばフロリダ州フォートローダーデールのシトリックス・システム社によるＣＬＯＵＤＰＬＡＴＦＯＲＭ、またはＯＰＥＮＳＴＡＣＫを実行することができる。管理サーバ４１０は、例えば、ホストコンピュータ４０３、データ記憶装置４０４、およびネットワーキング装置４０５などのクラウドハードウェアおよびソフトウェアリソースを含む様々なコンピューティングリソースを管理することができる。クラウドハードウェアおよびソフトウェアリソースは、プライベートおよび／またはパブリックコンポーネントを含むことができる。例えば、クラウドは、１つ以上の特定の顧客またはクライアントコンピュータ４１１−４１４によって、および／またはプライベートネットワークを介して使用されるプライベートクラウドとして構成されてもよい。他の実施形態では、オープンまたはハイブリッドネットワークを介して他の顧客によってパブリッククラウドまたはハイブリッドパブリック・プライベートクラウドが使用されてもよい。
【００５４】
管理サーバ４１０は、クラウドオペレータおよびクラウド顧客が、クラウドシステムと対話することができるユーザインターフェースを提供するように構成することができる。例えば、管理サーバ４１０は、クラウドオペレータがクラウドリソースを管理し、仮想化層を構成し、顧客アカウントを管理し、他のクラウド管理タスクを実行することを可能にするために、ユーザインターフェースを有するアプリケーションプログラミングインターフェース（ＡＰＩ）のセットおよび／または１つ以上のクラウドオペレータコンソールアプリケーション（例えば、スタンドアロンアプリケーション上のウェブベース）を提供することができる。管理サーバ４１０はまた、例えば、クラウド内の仮想マシンを形成、変更または破棄するリクエストなど、クライアントコンピュータ４１１−４１４を介してエンドユーザからクラウドコンピューティングリクエストを受信するように構成されたユーザインターフェースを有するＡＰＩのセットおよび／または１つ以上の顧客コンソールアプリケーションを含むことができる。クライアントコンピュータ４１１−４１４は、インターネットまたは他の通信ネットワークを介して管理サーバ４１０に接続し、管理サーバ４１０によって管理されるコンピューティングリソースのうちの１つ以上へのアクセスを要求することができる。クライアントリクエストに応じて、管理サーバ４１０は、クライアントリクエストに基づいて、クラウドシステムのハードウェア層内の物理リソースを選択して提供するように構成されたリソースマネージャを含むことができる。例えば、管理サーバ４１０およびクラウドシステムの追加コンポーネントは、ネットワーク（例えば、インターネット）を介して、クライアントコンピュータ４１１−４１４において顧客のために仮想マシンおよびその動作環境（例えば、ハイパーバイザ、記憶装置リソース、ネットワーク要素によって提供されるサービスなど）を設定、形成および管理するように構成することができ、計算リソース、データ記憶サービス、ネットワーキング能力、並びにコンピュータプラットフォームおよびアプリケーションサポートを顧客に提供する。クラウドシステムはまた、セキュリティシステム、開発環境、ユーザインターフェースなどを含む様々な特定のサービスを提供するように構成することもできる。
【００５５】
特定のクライアント４１１−４１４は、例えば、同じエンドユーザ、または同じ会社もしくは組織に所属する異なるユーザに代わって、仮想マシンを形成する異なるクライアントコンピュータに関連することができる。他の例では、特定のクライアント４１１−４１４は、異なる会社または組織に所属するユーザなど、無関係であってもよい。無関係なクライアントの場合、仮想マシンまたは任意の１人のユーザの記憶装置に関する情報は、他のユーザから隠されていてもよい。
【００５６】
ここで、クラウドコンピューティング環境の物理ハードウェア層を参照すると、利用可能領域４０１−４０２（または領域）は、物理コンピューティングリソースの併置されたセットを指すことができる。領域は、コンピューティングリソースのクラウド全体における他の領域から地理的に離れていてもよい。例えば、領域４０１は、カリフォルニアに位置する第１のクラウドデータセンターであってもよく、領域４０２は、フロリダに位置する第２のクラウドデータセンターであってもよい。管理サーバ４１０は、利用可能領域の１つに、または別の場所に配置されてもよい。各領域は、ゲートウェイを介して、管理サーバ４１０などの領域外にあるデバイスとインターフェースする内部ネットワークを含むことができる。クラウドのエンドユーザ（例えば、クライアント４１１−４１４）は、領域間の区別を認知していることもあれば認知していないこともある。例えば、エンドユーザは、指定された量のメモリ、処理能力、およびネットワーク能力を有する仮想マシンの形成を要求することができる。管理サーバ４１０は、ユーザのリクエストに応答することができ、仮想マシンが領域４０１または領域４０２からのリソースを使用して形成されたかどうかをユーザが知ることなく仮想マシンを形成するためにリソースを割り当てることができる。他の例では、クラウドシステムは、エンドユーザが、特定領域または領域内の特定のリソース４０３−４０５に仮想マシン（または他のクラウドリソース）を割り当てることを要求することを可能にすることができる。
【００５７】
この例では、各領域４０１−４０２は、例えば、物理ホスティングリソース（または処理リソース）、物理ネットワークリソース、物理記憶装置リソース、スイッチ、および顧客にクラウドコンピューティングサービスを提供するために使用することができる追加のハードウェアリソースなどの様々な物理ハードウェアコンポーネント（またはコンピューティングリソース）４０３−４０５の構成を含むことができる。クラウド領域４０１−４０２内の物理ホスティングリソースは、仮想マシンインスタンスを形成してホストするように構成することができる上述の仮想化サーバ３０１などの１つ以上のコンピュータサーバ４０３を含むことができる。クラウド領域４０１または４０２内の物理ネットワークリソースは、ファイアウォール、ネットワークアドレス変換器、ロードバランサ、仮想プライベートネットワーク（ＶＰＮ）ゲートウェイ、ダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）ルータなど、クラウド顧客にネットワークサービスを提供するように構成されたハードウェアおよび／またはソフトウェアを備える１つ以上のネットワーク要素４０５（例えば、ネットワークサービスプロバイダ）を含むことができる。クラウド領域４０１−４０２内の記憶装置リソースは、記憶装置ディスク（例えば、ソリッドステートドライブ（ＳＳＤ）、磁気ハードディスクなど）および他の記憶装置を含むことができる。
【００５８】
図４に示される例示的なクラウドコンピューティング環境はまた、仮想マシンを形成および管理し、クラウド内の物理リソースを使用する顧客に他のサービスを提供するように構成された追加のハードウェアおよび／またはソフトウェアリソースを有する（例えば、図１−図３に示されるような）仮想化層を含むことができる。仮想化層は、図３において上述したように、ネットワーク仮想化、記憶装置仮想化などを提供するために、他のコンポーネントとともにハイパーバイザを含むことができる。仮想化層は、物理リソース層とは別個の層であってもよく、または同じハードウェアおよび／またはソフトウェアリソースの一部または全部を物理リソース層と共有してもよい。例えば、仮想化層は、物理コンピューティングリソースとともに各仮想化サーバ４０３にインストールされたハイパーバイザを含むことができる。例えば、ＷＩＮＤＯＷＳ（登録商標）  ＡＺＵＲＥ（ワシントン州レドモンドのマイクロソフトコーポレーション）、ＡＭＡＺＯＮ  ＥＣ２（ワシントン州シアトルのアマゾン．ｃｏｍ社）、ＩＢＭ  ＢＬＵＥ  ＣＬＯＵＤ（ニューヨーク州アーモンクのＩＢＭ社）などの公知のクラウドシステムが代わりに使用されてもよい。
【００５９】
企業モビリティ管理アーキテクチャ
図５は、ＢＹＯＤ環境で使用する企業モビリティ技術アーキテクチャ５００を表している。アーキテクチャは、モバイルデバイス５０２のユーザが、モバイルデバイス５０２から企業または個人リソースにアクセスすることおよびモバイルデバイス５０２を個人的な使用のために使用することの双方を可能にする。ユーザは、ユーザによって購入されたモバイルデバイス５０２または企業によってユーザに提供されたモバイルデバイス５０２を使用して、そのような企業リソース５０４または企業サービス５０８にアクセスすることができる。ユーザは、業務用のみまたは業務用および個人用のためにモバイルデバイス５０２を利用することができる。モバイルデバイスは、ｉＯＳオペレーティングシステム、およびアンドロイドオペレーティングシステムなどを実行することができる。企業は、モバイルデバイス５０４を管理するためのポリシーを実装することを選択することができる。ポリシーは、モバイルデバイスが識別され、セキュアであるかもしくはセキュリティ検証され、企業リソースへの選択的または完全なアクセスが提供されるように、ファイアウォールまたはゲートウェイを介して埋め込まれてもよい。ポリシーは、モバイルデバイス管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルデータ管理ポリシー、またはモバイルデバイス、アプリケーション、およびデータ管理ポリシーのいくつかの組み合わせであってもよい。モバイルデバイス管理ポリシーのアプリケーションを介して管理されるモバイルデバイス５０４は、登録デバイスと呼ばれてもよい。
【００６０】
ある実施形態では、モバイルデバイスのオペレーティングシステムは、管理パーティション５１０および非管理パーティション５１２に分離することができる。管理パーティション５１０は、管理パーティション上で実行するアプリケーションおよび管理パーティションに記憶されたデータを保護するために、適用されるポリシーを有することができる。管理パーティション上で実行されているアプリケーションは、セキュアアプリケーションとすることができる。他の実施形態では、全てのアプリケーションは、アプリケーションとは別に受信した１つ以上のポリシーファイルのセットにしたがって実行することができ、ポリシーファイルは、１つ以上のセキュリティパラメータ、特徴、リソース制限、および／またはそのアプリケーションがデバイス上で実行されているときにモバイルデバイス管理システムによって実行する他のアクセスコントロールを定義する。それぞれのポリシーファイルにしたがって動作することにより、各アプリケーションは、１つ以上の他のアプリケーションおよび／またはリソースとの通信を許可または制限することができ、それによって仮想パーティションを形成することができる。したがって、本明細書では、パーティションは、メモリの物理的に区画化された部分（物理パーティション）、メモリの論理的に区画化された部分（論理パーティション）、および／または１つ以上のポリシーおよび／または本明細書に記載された複数のアプリケーションにまたがるポリシーファイルの実行の結果として形成される仮想パーティション（仮想パーティション）とすることができる。他の言い方をすれば、管理アプリケーション上でポリシーを実行することにより、それらのアプリケーションは、他の管理アプリケーションおよび信頼できる企業リソースとだけ通信可能であるように制限することができ、それによって管理されていないアプリケーションおよびデバイスによる侵入が不可能な仮想パーティションを形成する。
【００６１】
セキュアアプリケーションは、電子メールアプリケーション、ウェブブラウジングアプリケーション、ソフトウェア・アズ・ア・サービス（ＳａａＳ）アクセスアプリケーション、ウィンドウズ（登録商標）アプリケーションアクセスアプリケーションなどとすることができる。セキュアアプリケーションは、セキュアネイティブアプリケーション５１４、セキュアアプリケーションランチャ５１８によって実行するセキュアリモートアプリケーション５２２、セキュアアプリケーションランチャ５１８によって実行する仮想化アプリケーション５２６などであってもよい。セキュアネイティブアプリケーション５１４は、セキュアアプリケーションラッパー５２０によってラップすることができる。セキュアアプリケーションラッパー５２０は、セキュアネイティブアプリケーションがデバイス上で実行するときにモバイルデバイス５０２上で実行する統合ポリシーを含むことができる。セキュアアプリケーションラッパー５２０は、セキュアネイティブアプリケーション５１４がセキュアネイティブアプリケーション５１４の実行時に要求されたタスクを完了するために必要とすることがある企業でホストされているリソースに対してモバイルデバイス５０２上で実行されているセキュアネイティブアプリケーション５１４をポイントするメタデータを含むことができる。セキュアアプリケーションランチャ５１８によって実行するセキュアリモートアプリケーション５２２は、セキュアアプリケーションランチャアプリケーション５１８内で実行されてもよい。セキュアアプリケーションランチャ５１８によって実行する仮想化アプリケーション５２６は、企業リソース５０４などでモバイルデバイス５０２上のリソースを利用することができる。セキュアアプリケーションランチャ５１８によって実行する仮想化アプリケーション５２６によってモバイルデバイス５０２上で使用されるリソースは、ユーザ対話リソース、処理リソースなどを含むことができる。ユーザ対話リソースは、キーボード入力、マウス入力、カメラ入力、触覚入力、音声入力、視覚入力、ジェスチャ入力などを収集して送信するために使用することができる。処理リソースは、ユーザインターフェース、企業リソース５０４から受信したプロセスデータなどを提示するために使用することができる。セキュアアプリケーションランチャ５１８によって実行する仮想化アプリケーション５２６によって企業リソース５０４で使用されるリソースは、ユーザインターフェース生成リソース、処理リソースなどを含むことができる。ユーザインターフェース生成リソースは、ユーザインターフェースをアセンブルし、ユーザインターフェースを変更し、ユーザインターフェースをリフレッシュするなどのために使用することができる。処理リソースは、情報の生成、情報の読み取り、情報の更新、情報の削除などに使用することができる。例えば、仮想化アプリケーションは、グラフィカルユーザインターフェース（ＧＵＩ）に関連するユーザ対話を記録し、サーバアプリケーションがサーバ上で動作するアプリケーションへの入力としてユーザ対話データを使用するサーバアプリケーションに、それらを通信することができる。この構成では、企業は、アプリケーションに関連するデータ、ファイルなどと同様に、サーバ側でアプリケーションを維持するように選択することができる。企業は、モバイルデバイス上に装備するためにそれらを保護することによって本明細書の原理に従っていくつかのアプリケーションを「動員」するように選択することができるが、この構成はまた、特定のアプリケーションのために選択することができる。例えば、一部のアプリケーションは、モバイルデバイス上で使用するために保護することができるが、他は、モバイルデバイス上での装備のために準備されないかまたは適切でないかもしれないため、企業は、仮想化技術を介して準備されないアプリケーションに対するモバイルユーザアクセスを提供するように選択することができる。別の一例として、企業は、モバイルデバイスにとってアプリケーションをカスタマイズすることが非常に困難であるかまたは望ましくない大規模且つ複雑なデータセットを有する大規模で複雑なアプリケーション（例えば、物質リソース計画アプリケーション）を有することがあるため、仮想化技術を介してアプリケーションに対するアクセスを提供するように選択することができる。さらに別の一例として、企業は、セキュアなモバイル環境ではセンシティブすぎると企業が見なし得る高度にセキュアなデータ（例えば、人事データ、顧客データ、エンジニアリングデータ）を維持するアプリケーションを有することがあるため、仮想化技術を使用して、そのようなアプリケーションおよびデータへのモバイルアクセスを可能にするように選択することができる。企業は、サーバ側でより適切に動作するとみなされるアプリケーションに対するアクセスを可能にするように、モバイルデバイス上に完全にセキュアであり、完全に機能するアプリケーションの双方並びに仮想化アプリケーションを提供するように選択することができる。一実施形態では、仮想化アプリケーションは、セキュアな記憶場所の１つに携帯電話上のデータ、ファイルなどを記憶することができる。例えば、企業は、特定の情報が電話に記憶されるのを可能にしつつ、他の情報は許可しないように選択することができる。
【００６２】
本明細書に記載されるように、仮想化アプリケーションに関連して、モバイルデバイスは、ＧＵＩを提示した後にＧＵＩとのユーザ対話を記録するように設計された仮想化アプリケーションを有することができる。アプリケーションは、アプリケーションとのユーザ対話として、サーバ側アプリケーションによって使用されるようにサーバ側へのユーザ対話を通信することができる。それに応答して、サーバ側のアプリケーションは、新たなＧＵＩをモバイルデバイスに送返することができる。例えば、新たなＧＵＩは、静的ページ、動的ページ、アニメーションなどとすることができ、それにより、遠隔に位置するリソースへのアクセスを提供する。
【００６３】
セキュアアプリケーションは、モバイルデバイスの管理パーティション５１０内のセキュアデータコンテナ５２８に記憶されたデータにアクセスすることができる。セキュアデータコンテナに確保されたデータは、セキュアラップアプリケーション５１４、セキュアアプリケーションランチャ５２２によって実行するアプリケーション、セキュアアプリケーションランチャ５２２によって実行する仮想化アプリケーション５２６などによってアクセスすることができる。セキュアデータコンテナ５２８に記憶されるデータは、ファイル、データベースなどを含むことができる。セキュアデータコンテナ５２８に記憶されるデータは、特定のセキュアアプリケーション５３０に制限されたデータ、セキュアアプリケーション５３２の間で共有されるデータなどを含むことができる。セキュアアプリケーションに制限されたデータは、セキュアな一般データ５３４および高度にセキュアなデータ５３８を含むことができる。セキュアな一般データは、拡張暗号化標準（ＡＥＳ）１２８ビット暗号化などの強力な形式の暗号化を使用することができる一方で、高度にセキュアなデータ５３８は、ＡＥＳ２５６ビット暗号化などの非常に強力な形式の暗号化を使用することができる。セキュアデータコンテナ５２８に記憶されたデータは、デバイスマネージャ５２４からコマンドを受信し次第、デバイスから削除することができる。セキュアアプリケーションは、デュアルモードオプション５４０を有することができる。デュアルモードオプション５４０は、セキュアでないまたは管理されていないモードでセキュアアプリケーションを動作させるためのオプションをユーザに提示することができる。セキュアでないまたは管理されていないモードでは、セキュアアプリケーションは、モバイルデバイス５０２の管理されていないパーティション５１２上のセキュアでないデータコンテナ５４２に記憶されたデータにアクセスすることができる。セキュアでないデータコンテナに記憶されるデータは、個人データ５４４であってもよい。セキュアでないデータコンテナ５４２に記憶されたデータはまた、モバイルデバイス５０２の管理されていないパーティション５１２上で実行されているセキュアでないアプリケーション５４８によってアクセスされてもよい。セキュアでないデータコンテナ５４２に記憶されたデータは、セキュアデータコンテナ５２８に記憶されたデータがモバイルデバイス５０２から削除されたとき、モバイルデバイス５０２上に残っていてもよい。企業は、企業によって所有される、ライセンスされたまたは管理される、選択されたまたは全てのデータ、ファイル、および／またはアプリケーション（企業データ）をモバイルデバイスから削除する一方で、ユーザによって所有、ライセンスまたは管理される個人データ、ファイル、および／またはアプリケーション（個人データ）を残すまたは保全することを望むことがある。この動作は、選択的ワイプと呼ばれてもよい。本明細書に記載された態様にしたがって配置された企業および個人データにより、企業は、選択的ワイプを実行することができる。
【００６４】
モバイルデバイスは、企業における企業リソース５０４および企業サービス５０８、パブリックインターネット５４８などに接続することができる。モバイルデバイスは、仮想プライベートネットワーク接続を介して企業リソース５０４および企業サービス５０８に接続することができる。マイクロＶＰＮまたはアプリケーション固有ＶＰＮとも呼ばれる仮想プライベートネットワーク接続は、特定のアプリケーション５５０、特定のデバイス、モバイルデバイス上の特定のセキュア領域５５２などに固有のものであってもよい。例えば、電話のセキュア領域内のラップアプリケーションのそれぞれは、場合によってはユーザまたはデバイス属性情報とあわせて、アプリケーションに関連する属性に基づいてＶＰＮへのアクセスが与えられるように、アプリケーション固有ＶＰＮを介して企業リソースにアクセスすることができる。仮想プライベートネットワーク接続は、マイクロソフト・エクスチェンジ・トラフィック、マイクロソフト・アクティブ・ディレクトリ・トラフィック、ハイパーテキスト転送プロトコル（ＨＴＴＰ）・トラフィック、ハイパーテキスト転送プロトコル・セキュア（ＨＴＴＰＳ）・トラフィック、アプリケーション管理トラフィックなどを伝送することができる。仮想プライベートネットワーク接続は、シングルサインオン認証プロセス５５４をサポートしてイネーブルにすることができる。シングルサインオンプロセスは、その後に認証サービス５５８によって検証される認証情報の単一セットをユーザが提供するのを可能にすることができる。そして、認証サービス５５８は、個々の企業リソース５０４に対する認証情報を提供することをユーザに要求することなく、複数の企業リソース５０４へのアクセスをユーザに与えることができる。
【００６５】
仮想プライベートネットワーク接続は、アクセスゲートウェイ５６０によって確立されて管理されてもよい。アクセスゲートウェイ５６０は、モバイルデバイス５０２への企業リソース５０４の配信を管理し、加速し、及び改善する性能向上機能を含むことができる。アクセスゲートウェイはまた、モバイルデバイス５０２からパブリックインターネット５４８へのトラフィックをリルートすることができ、モバイルデバイス５０２がパブリックインターネット５４８上で動作するパブリックに利用可能であり且つセキュアでないアプリケーションにアクセスすることを可能にする。モバイルデバイスは、トランスポートネットワーク５６２を介してアクセスゲートウェイに接続することができる。トランスポートネットワーク５６２は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク、プライベートネットワークなどとすることができる。
【００６６】
企業リソース５０４は、電子メールサーバ、ファイル共有サーバ、ＳａａＳアプリケーション、ウェブアプリケーションサーバ、ウィンドウズ（登録商標）アプリケーションサーバなどを含むことができる。電子メールサーバは、エクスチェンジサーバ、ロータス・ノーツサーバなどを含むことができる。ファイル共有サーバは、ＳｈａｒｅＦｉｌｅサーバなどを含むことができる。ＳａａＳアプリケーションは、セールスフォースなどを含むことができる。ウィンドウズ（登録商標）アプリケーションサーバは、ローカルのウィンドウズ（登録商標）オペレーティングシステム上で実行することが意図されたアプリケーションなどを提供するように構築された任意のアプリケーションサーバを含むことができる。企業リソース５０４は、構内ベースのリソース、クラウドベースのリソースなどであってもよい。企業リソース５０４は、モバイルデバイス５０２によって直接またはアクセスゲートウェイ５６０を介してアクセスされてもよい。企業リソース５０４は、トランスポートネットワーク５６２を介してモバイルデバイス５０２によってアクセスされてもよい。トランスポートネットワーク５６２は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク、プライベートネットワークなどとすることができる。
【００６７】
企業サービス５０８は、認証サービス５５８、脅威検出サービス５６４、デバイスマネージャサービス５２４、ファイル共有サービス５６８、ポリシーマネージャサービス５７０、ソーシャル統合サービス５７２、アプリケーションコントローラサービス５７４などを含むことができる。認証サービス５５８は、ユーザ認証サービス、デバイス認証サービス、アプリケーション認証サービス、データ認証サービスなどを含むことができる。認証サービス５５８は、証明書を使用することができる。証明書は、企業リソース５０４などによってモバイルデバイス５０２上に記憶されてもよい。モバイルデバイス５０２に記憶された証明書は、モバイルデバイス上の暗号化された場所に記憶されてもよく、証明書は、認証時に使用するためにモバイルデバイス５０２に一時的に記憶などされてもよい。脅威検出サービス５６４は、侵入検出サービス、不正アクセス試行検出サービスなどを含むことができる。不正アクセス試行検出サービスは、デバイス、アプリケーション、データなどへの不正なアクセス試行を含むことができる。デバイス管理サービス５２４は、構成、プロビジョニング、セキュリティ、サポート、監視、報告、およびサービスの廃止を含むことができる。ファイル共有サービス５６８は、ファイル管理サービス、ファイル記憶サービス、ファイル協働サービスなどを含むことができる。ポリシーマネージャサービス５７０は、デバイスポリシーマネージャサービス、アプリケーションポリシーマネージャサービス、データポリシーマネージャサービスなどを含むことができる。ソーシャル統合サービス５７２は、連絡先統合サービス、協働サービス、フェイスブック、ツイッター（登録商標）、およびリンクトインなどのソーシャルネットワークとの統合などを含むことができる。アプリケーションコントローラサービス５７４は、管理サービス、プロビジョニングサービス、開発サービス、割り当てサービス、失効サービス、ラッピングサービスなどを含むことができる。
【００６８】
企業モビリティ技術アーキテクチャ５００は、アプリケーションストア５７８を含むことができる。アプリケーションストア５７８は、アンラップされたアプリケーション５８０、事前ラップされたアプリケーション５８２などを含むことができる。アプリケーションは、アプリケーションコントローラ５７４からアプリケーションストア５７８に投入されてもよい。アプリケーションストア５７８は、アクセスゲートウェイ５６０、パブリックインターネット５４８などを介してモバイルデバイス５０２によってアクセスされてもよい。アプリケーションストアは、直感的で使いやすいユーザインターフェースを備えることができる。
【００６９】
ソフトウェア開発キット５８４は、本明細書で前述したように、アプリケーションをラッピングすることによって、ユーザによって選択されたアプリケーションを保護する能力をユーザに提供することができる。そして、ソフトウェア開発キット５８４を使用してラッピングされたアプリケーションは、アプリケーションコントローラ５７４を使用してアプリケーションストア５７８にそれを投入することによって、モバイルデバイス５０２に利用可能にすることができる。
【００７０】
企業モビリティ技術アーキテクチャ５００は、管理および分析機能５８８を含むことができる。管理および分析機能５８８は、リソースの使用方法、リソースの使用頻度などに関連する情報を提供することができる。リソースは、デバイス、アプリケーション、データなどを含むことができる。リソースの使用方法は、どのデバイスがどのアプリケーションをダウンロードし、どのアプリケーションがどのデータにアクセスするかなどを含むことができる。リソースの使用頻度は、アプリケーションがダウンロードされた頻度、アプリケーションによって特定のデータセットがアクセスされた回数などを含むことができる。
【００７１】
図６は、別の例示的な企業モビリティ管理システム６００である。図５を参照して上述したモビリティ管理システム５００のコンポーネントのいくつかは、簡略化するために省略されている。図６に示されるシステム６００のアーキテクチャは、多くの点で、図５を参照して上述したシステム５００のアーキテクチャと同様であり、上述していない追加の特徴を含むことができる。
【００７２】
この場合、左側は、上記右側に示されるように、エクスチェンジ、共有ポイント、公開鍵インフラストラクチャ（ＰＫＩ）リソース、ケルベロスリソース、証明書発行サービスなどの様々な企業リソース６０８およびサービス６０９にアクセスするために（アクセスゲートウェイおよびアプリケーションコントローラ機能を含む）ゲートウェイサーバ６０６と対話するクライアントエージェント６０４を有する、登録されたモバイルデバイス６０２を表している。具体的に示されていないが、モバイルデバイス６０２はまた、アプリケーションの選択およびダウンロードのために企業アプリケーションストア（ストアフロント）と対話することもできる。
【００７３】
クライアントエージェント６０４は、高解像度ユーザ体験（ＨＤＸ）／ＩＣＡディスプレイリモーティングプロトコルを使用してアクセスされる企業データセンターでホストされたウィンドウズ（登録商標）アプリケーション／デスクトップのためのＵＩ（ユーザインターフェース）仲介として機能する。クライアントエージェント６０４はまた、ネイティブｉＯＳまたはアンドロイドアプリケーションなどのネイティブアプリケーションのモバイルデバイス６０２上へのインストールおよび管理をサポートする。例えば、図６に示される管理対象アプリケーション６１０（メール、ブラウザ、ラップされたアプリケーション）は、全てデバイス上でローカルに実行するネイティブアプリケーションである。クライアントエージェント６０４およびこのアーキテクチャのアプリケーション管理フレームワークは、接続およびＳＳＯ（シングルサインオン）などのポリシー駆動管理機能および特徴を企業リソース／サービス６０８に提供するように機能する。クライアントエージェント６０４は、他のゲートウェイサーバコンポーネントへのＳＳＯを用いて、企業に対する、通常はアクセスゲートウェイ（ＡＧ）に対するプライマリユーザ認証を処理する。クライアントエージェント６０４は、ゲートウェイサーバ６０６からポリシーを取得して、モバイルデバイス６０２上の管理対象アプリケーション６１０の挙動を制御する。
【００７４】
ネイティブアプリケーション６１０とクライアントエージェント６０４との間のセキュアプロセス間通信（ＩＰＣ）リンク６１２は、クライアントエージェントが各アプリケーションを「ラッピング」するアプリケーション管理フレームワーク６１４によって実行するポリシーを供給することを可能にする管理チャネルを表す。ＩＰＣチャネル６１２はまた、クライアントエージェント６０４が、企業リソース６０８への接続およびＳＳＯを可能にする認証証明書および認証情報を供給することを可能にする。最後に、ＩＰＣチャネル６１２は、アプリケーション管理フレームワーク６１４が、オンラインおよびオフライン認証などのクライアントエージェント６０４によって行われるユーザインターフェース機能を呼び出すことを可能にする。
【００７５】
クライアントエージェント６０４とゲートウェイサーバ６０６との間の通信は、本質的に、各ネイティブ管理対象アプリケーション６１０をラッピングするアプリケーション管理フレームワーク６１４からの管理チャネルの拡張である。アプリケーション管理フレームワーク６１４は、クライアントエージェント６０４からポリシー情報を要求し、順にクライアントエージェント６０４は、ゲートウェイサーバ６０６からそれを要求する。アプリケーション管理フレームワーク６１４は、認証を要求し、そしてクライアントエージェント６０４は、ゲートウェイサーバ６０６（ＮｅｔＳｃａｌｅｒアクセスゲートウェイとしても知られる）のゲートウェイサービス部分にログインする。クライアントエージェント６０４はまた、以下でより詳細に説明するように、ローカルデータボールト６１６の暗号鍵を導出するための入力材料を生成することができる、またはＰＫＩ保護されたリソースへの直接認証を可能にすることができるクライアント証明書を提供することができる、ゲートウェイサーバ６０６上のサポートサービスを呼び出すこともできる。
【００７６】
より詳細には、アプリケーション管理フレームワーク６１４は、各管理対象アプリケーション６１０を「ラップする」。これは、明示的な構築ステップ、または構築後の処理ステップを介して組み込むことができる。アプリケーション管理フレームワーク６１４は、セキュアＩＰＣチャネルを初期化するようにアプリケーション６１０の最初の起動時にクライアントエージェント６０４と「ペアリング」し、そのアプリケーションのポリシーを取得することができる。アプリケーション管理フレームワーク６１４は、クライアントエージェントのログイン依存性や、ローカルＯＳサービスの使用方法またはアプリケーション６１０との対話方法を制限するいくつかの包含ポリシーなど、ローカルに適用されるポリシーの関連部分を実行することができる。
【００７７】
アプリケーション管理フレームワーク６１４は、セキュアＩＰＣチャネル６１２を介してクライアントエージェント６０４によって提供されるサービスを使用して、認証および内部ネットワークアクセスを容易にすることができる。プライベートおよび共有データボールト６１６（コンテナ）の鍵管理はまた、管理対象アプリケーション６１０とクライアントエージェント６０４との間の適切な対話によっても管理することができる。ボールト６１６は、オンライン認証後にのみ利用可能であってもよく、またはポリシーによって許可されている場合にはオフライン認証後に利用可能とされてもよい。ボールト６１６の最初の使用は、オンライン認証を必要としてもよく、オフラインアクセスは、オンライン認証が再び要求される前に、ポリシーリフレッシュ期間まで制限されてもよい。
【００７８】
内部リソースへのネットワークアクセスは、個々の管理対象アプリケーション６１０からアクセスゲートウェイ６０６を介して直接発生してもよい。アプリケーション管理フレームワーク６１４は、各アプリケーション６１０に代わってネットワークアクセスを編成する役割を担う。クライアントエージェント６０４は、オンライン認証の後に取得される適切な時間制限された二次認証情報を提供することによって、これらのネットワーク接続を容易にすることができる。リバースウェブプロキシ接続およびエンドツーエンドＶＰＮスタイルトンネル６１８など、複数のモードのネットワーク接続を使用することができる。
【００７９】
メールおよびブラウザ管理対象アプリケーション６１０は、特別なステータスを有し、任意にラップされたアプリケーションに対して一般に利用可能ではない可能性があるファシリティを利用することができる。例えば、メールアプリケーションは、完全なＡＧログオンを必要とせずに長時間にわたってエクスチェンジにアクセスするのを可能にする特別なバックグラウンドネットワークアクセス機構を使用してもよい。ブラウザアプリケーションは、異なる種類のデータを分離すルために、複数のプライベートデータボールトを使用してもよい。
【００８０】
このアーキテクチャは、他の様々なセキュリティ機能の組み込みをサポートする。例えば、ゲートウェイサーバ６０６（そのゲートウェイサービスを含む）は、場合によっては、アクティブディレクトリ（ＡＤ）パスワードを検証する必要がない。状況によっては、一部のユーザに対してＡＤパスワードが認証要素として使用されるかどうかは、企業の裁量に委ねることができる。ユーザがオンラインまたはオフラインである（すなわち、ネットワークに接続されているかまたはネットワークに接続されていない）場合、異なる認証方法を使用することができる。
【００８１】
ステップアップ認証は、ゲートウェイサーバ６０６が強力な認証を必要とする高度な機密データへのアクセスを有することが許可された管理対象ネイティブアプリケーション６１０を識別することができ、これが事前のより弱いレベルのログイン後にユーザによって再認証が要求されることを意味する場合であっても、これらのアプリケーションへのアクセスが適切な認証を行った後にのみ許可することを保証することができる機能である。
【００８２】
この解決策の他のセキュリティ機能は、モバイルデバイス６０２上のデータボールト６１６（コンテナ）の暗号化である。ボールト６１６は、ファイル、データベース、および構成を含む全てのデバイス上のデータが保護されるように暗号化することができる。オンラインボールトの場合、鍵はサーバ（ゲートウェイサーバ６０６）に記憶することができ、オフラインボールトの場合、鍵のローカルコピーは、ユーザパスワードまたは生体検証によって保護することができる。データがセキュアコンテナ６１６内のデバイス６０２にローカルに記憶されすときは、最小限のＡＥＳ２５６暗号化アルゴリズムを利用することが好ましい。
【００８３】
他のセキュアなコンテナ機能も実装することができる。例えば、アプリケーション６１０の内部で起こっている全てのセキュリティイベントがログされてバックエンドに報告されるロギング機能が含まれてもよい。アプリケーション６１０が改ざんを検出した場合などには、関連する暗号化鍵がランダムデータによって上書きすることができ、ユーザデータが破壊された旨のヒントはファイルシステムに残らないデータワイプがサポートされてもよい。スクリーンショット保護は、アプリケーションがスクリーンショットにデータが記憶されるのを防止することができる他の機能である。例えば、キーウィンドウの隠しプロパティをＹＥＳに設定することができる。これは、その結果として画面上に現在表示されているコンテンツを隠すことができ、コンテンツが通常存在するところに空白のスクリーンショットをもたらすことができる。
【００８４】
例えば、ローカルデータ転送を、それをコピーすることによってまたは外部アプリケーションにそれを送信することによって、いかなるデータもアプリケーションコンテナの外部にローカルに転送されるのを防止することなどにより、防止することができる。キーボードキャッシュ機能は、機密テキストフィールドの自動修正機能を無効にするように動作することができる。ＳＳＬ証明書の検証が動作可能であるため、アプリケーションは、鍵チェーンに記憶する代わりにサーバＳＳＬ証明書を具体的に検証する。デバイス上のデータを暗号化するために使用される鍵がユーザによって供給されるパスフレーズまたは生体データ（オフラインアクセスが要求される場合）を使用して生成されるように、暗号化鍵生成機能を使用することができる。オフラインアクセスが要求されない場合、サーバ側でランダムに生成されて記憶された他の鍵とＸＯＲ演算することができる。鍵導出関数は、ユーザパスワードから生成された鍵がその暗号ハッシュを形成するのではなく、ＫＤＦ（鍵導出関数、特にパスワードベースの鍵導出関数２（ＰＢＫＤＦ２））を使用するように動作することができる。後者は、ブルートフォース攻撃または辞書攻撃の影響を受けやすい鍵を形成する。
【００８５】
さらに、１つ以上の初期化ベクトルが暗号化方法に使用することができる。初期化ベクトルは、同じ暗号化データの複数のコピーを生成し、異なる暗号文出力をもたらし、再生および暗号解読攻撃の双方を防止する。これはまた、データを暗号化するために使用された特定の初期化ベクトルがわからない場合、盗まれた暗号化鍵を用いたとしても攻撃者がいかなるデータを復号することを防止する。さらに、ユーザがアプリケーション内で認証された後にのみアプリケーションデータが復号される認証後復号が使用されてもよい。他の機能は、必要なときにのみメモリ（ディスクではない）に保持することができるメモリ内の機密データに関連することができる。例えば、ログイン後にログイン認証情報がメモリから消去することができ、オブジェクティブＣインスタンス変数内の暗号化鍵および他のデータは、それらが容易に参照することができるため、記憶されない。代わりに、メモリは、これらについて手動で割り当てることができる。
【００８６】
非活動タイムアウトを実装することができ、ポリシー定義の非活動期間後に、ユーザセッションが終了する。
【００８７】
アプリケーション管理フレームワーク６１４からのデータ漏洩は、他の方法で防止することができる。例えば、アプリケーション６１０がバックグラウンドに置かれている場合、メモリは、所定の（設定可能な）期間後にクリアすることができる。バックグラウンドの場合、フォアグランドプロセスを固定するためにアプリケーションの最後に表示された画面のスナップショットを撮ることができる。スクリーンショットは、機密データを含むことがあるため、クリアされる必要がある。
【００８８】
他のセキュリティ機能は、１つ以上のアプリケーションへのアクセスのためにＡＤ（アクティブディレクトリ）６２２のパスワードを使用せずにＯＴＰ（ワンタイムパスワード）６２０を使用することに関する。場合によっては、一部のユーザは、彼らのＡＤパスワードを知らない（または知ることを許可されない）ため、これらのユーザは、ＳｅｃｕｒＩＤのようなハードウェアＯＴＰシステムを使用するなどによってＯＴＰ６２０を使用して認証することができる（ＯＴＰは、ＥｎｔｒｕｓｔまたはＧｅｍａｌｔｏなど、異なるベンダによっても提供されてもよい）。場合によっては、ユーザがユーザＩＤを用いて認証した後、テキストがＯＴＰ６２０とともにユーザに送信される。場合によっては、これは、オンラインでの使用のためにのみ実装することができ、プロンプトは単一フィールドである。
【００８９】
企業ポリシーを介してオフライン使用が許可されるアプリケーション６１０のオフライン認証のために、オフラインパスワードが実装することができる。例えば、企業は、このようにストアフロントにアクセスされることを望むことがある。この場合、クライアントエージェント６０４は、カスタムオフラインパスワードを設定するようにユーザに要求することができ、ＡＤパスワードは使用されない。ゲートウェイサーバ６０６は、これらの要件は変更されることがあるものの、標準的なウィンドウズ（登録商標）サーバパスワードの複雑さの要件によって記述されるものなど、最小長、文字クラスの構成、およびパスワードの寿命に関するパスワード標準を制御および実行するためのポリシーを提供することができる。
【００９０】
別の機能は、（アプリケーション管理フレームワークのマイクロＶＰＮ機能を介してＰＫＩ保護されたウェブリソースにアクセスする目的で）二次認証情報としての特定のアプリケーション６１０のためのクライアント側証明書の有効化に関する。例えば、アプリケーションは、そのような証明書を利用することができる。この場合、ＡｃｔｉｖｅＳｙｎｃプロトコルを使用する証明書ベースの認証をサポートすることができ、クライアントエージェント６０４からの証明書は、ゲートウェイサーバ６０６によって取り出すことができ、鍵チェーン内で使用することができる。各管理対象アプリケーションは、ゲートウェイサーバ６０６において定義されたラベルによって識別される１つの関連クライアント証明書を有することができる。
【００９１】
ゲートウェイサーバ６０６は、関連する管理対象アプリケーションが、内部ＰＫＩ保護リソースを認証するのを可能にするためにクライアント証明書の発行をサポートするよう、企業専用ウェブサービスと対話することができる。
【００９２】
クライアントエージェント６０４およびアプリケーション管理フレームワーク６１４は、内部ＰＫＩ保護ネットワークリソースへの認証のためにクライアント証明書を取得および使用することをサポートするように拡張することができる。様々なレベルのセキュリティ要件および／または分離要件に一致するために、複数の証明書がサポートすることができる。証明書は、メールおよびブラウザ管理対象アプリケーションによって、最終的には任意のラップされたアプリケーションによって使用されてもよい（アプリケーション管理フレームワークがｈｔｔｐｓリクエストを仲介するのに合理的なウェブサービススタイル通信パターンをそれらのアプリケーションが使用するという条件で）。
【００９３】
ｉＯＳ上でのアプリケーション管理クライアント証明書のサポートは、各管理対象アプリケーションのｉＯＳ鍵チェーンに公開鍵暗号化標準（ＰＫＣＳ）１２  ＢＬＯＢ（バイナリラージオブジェクト）を各使用期間にわたってインポートすることに依存してもよい。アプリケーション管理フレームワークのクライアント証明書のサポートは、プライベートなメモリ内鍵記憶装置によるＨＴＴＰＳ実装を使用してもよい。クライアント証明書は、決してｉＯＳ鍵チェーンには存在せず、また強力に保護された「オンラインのみ」のデータ値を潜在的に除いて、永続化されない。
【００９４】
相互ＳＳＬはまた、モバイルデバイス６０２が企業に対して認証することを要求することによって追加のセキュリティを提供するように実装されてもよく、その逆でもよい。ゲートウェイサーバ６０６に対する認証のための仮想スマートカードも実装することができる。
【００９５】
ケルベロスの制限サポートおよび完全サポートの双方を、追加の機能とすることができる。完全サポート機能は、ＡＤパスワードまたは信頼できるクライアント証明書を使用して、アクティブディレクトリ（ＡＤ）６２２に対して完全ケルベロスログインを実行し、ＨＴＴＰネゴシエート認証チャレンジに応答するためにケルベロスサービスチケットを取得する能力に関する。制限サポート機能は、シトリックス・アクセス・ゲートウェイ・エンタープライズ・エディション（ＡＧＥＥ）の制限付き委任に関し、ＡＧＥＥは、ＨＴＴＰネゴシエート認証チャレンジに対する応答するためにケルベロスサービスチケット（制約付き委任の対象）を取得して使用するよう、ケルベロスプロトコル遷移を呼び出すことをサポートする。この機構は、ｈｔｔｐ（ｈｔｔｐｓではない）接続がＶＰＮおよびマイクロＶＰＮモードでプロキシされる場合、リバースウェブプロキシ（企業仮想プライベートネットワーク（ＣＶＰＮ）モードとも呼ばれる）モードで動作する。
【００９６】
別の機能は、脱獄またはルーティング検出時に自動的に発生することができ、管理コンソールからプッシュされたコマンドとして発生することができ、アプリケーション６１０が実行されていない場合であっても、リモートワイプ機能を含むことができる、アプリケーションコンテナのロックおよびワイピングに関する。
【００９７】
故障が発生した場合にユーザが複数の異なる場所のいずれかからサービスを受けることを可能にする、企業アプリケーションストアおよびアプリケーションコントローラのマルチサイトアーキテクチャまたは構成をサポートすることができる。
【００９８】
場合によっては、管理対象アプリケーション６１０は、ＡＰＩ（例えばＯｐｅｎＳＳＬ）を介して、証明書および秘密鍵にアクセスすることを許可することができる。企業の信頼できる管理対象アプリケーション６１０は、アプリケーションのクライアント証明書および秘密鍵を用いて、特定の公開鍵動作を実行することを許可することができる。アプリケーションがブラウザのように動作して証明書のアクセスが要求されない場合、アプリケーションが「私は誰か」の証明書を読み取る場合、アプリケーションが証明書を使用してセキュアなセッショントークンを構築する場合、およびアプリケーションが重要データ（例えば、トランザクションログ）のデジタル署名のためにまたは一時的なデータ暗号化のために秘密鍵を使用する場合など、それぞれに応じて様々な使用事例を識別して処理することができる。
【００９９】
ホストされたアプリケーションに対するスマートアクセスのモバイルデバイスへの提供
本開示の１つ以上の態様は、図１−図６に関連して上述したコンピュータシステムアーキテクチャ、リモートアクセスシステムアーキテクチャ、仮想化（ハイパーバイザ）システムアーキテクチャ、クラウドベースシステムアーキテクチャ、および／または企業モビリティ管理システムのうちの１つ以上を使用して組み込む、埋め込む、および／または実装することができる。さらに、本開示では以下の略語を使用することができる：エンドポイント分析（ＥＰＡ）；デスクトップデリバリコントローラ（ＤＤＣ）；モバイルアプリケーション管理（ＭＡＭ）；モバイルデバイス管理（ＭＤＭ）；モバイルデバイス体験（ＭＤＸ）；ＮｅｔＳｃａｌｅｒゲートウェイ（ＮＳＧ）；プルーフ・オブ・コンセプト（ＰＯＣ）；共有秘密ボールト（ＳＳＶ）；ストアフロント（ＳＦ）；ＷｏｒｘＨｏｍｅ（ＷＨ）；ＸｅｎＡｐｐ（ＸＡ）；ＸｅｎＤｅｓｋｔｏｐ（ＸＤ）；およびＸｅｎＭｏｂｉｌｅサーバ（ＸＭＳ）。
【０１００】
上述したように、本開示の態様は、そのようなアプリケーションがモバイルデバイスによってアクセスされる場合に高解像度体験（ＨＤＸ）のホストされたアプリケーションのためにスマートアクセスを提供する。そのようなスマートアクセスは、管理対象デバイスからスマートアクセスポリシーへの入力として、リッチＭＤＭベースのエンドポイント分析を活用することによって提供することができる。それに加えてまたはその代わりに、そのようなスマートアクセスは、管理対象または管理されていないデバイスからスマートアクセスポリシーへの入力として、リッチＭＡＭベースのエンドポイント分析を活用することによって提供される。それに加えてまたはその代わりに、拡張スマートアクセス（例えば、本開示の１つ以上の態様にしたがって提供することができる）は、リッチＭＤＭエンドポイント分析および／またはＭＡＭエンドポイント分析に基づいて、ＨＤＸアプリケーションおよび／または特定のＨＤＸセッションリダイレクション機能の可用性を制限することができる。
【０１０１】
図７は、ＣＩＴＲＩＸ  ＸｅｎＡｐｐおよびＣＩＴＲＩＸ  ＸｅｎＤｅｓｋｔｏｐが現在（例えば、デスクトップコンピューティングデバイスに関して）の「スマートアクセス」を提供することができる方法の例を示している。上述したように、そのような現在のエンドポイント分析（ＥＰＡ）技術は、通常はマイクロソフトのウィンドウズ（登録商標）またはアップルのＭＡＣ  ＯＳ  Ｘなどのデスクトップオペレーティングシステムを実行しているデスクトップコンピュータ装置で動作する。しかしながら、そのような現在のエンドポイント分析技術は、モバイルコンピューティングデバイスまたはモバイルオペレーティングシステムには適用することができない。
【０１０２】
本開示の１つ以上の態様は、従来技術および／または現在の技術の１つ以上の制限を克服する技術的解決策を提供することができる。特に、本開示の１つ以上の態様は、以下の特徴を提供することができる。例えば、本開示の１つ以上の態様は、ＨＤＸセッションポリシーの列挙、起動、実行、および／または適用を含むことができる、ＨＤＸアプリケーションの高度なスマートアクセスを提供するために、ＭＤＭベースおよび／またはＭＡＭベースのエンドポイント分析を適用することができる。場合によっては、特定のモバイルデバイスがコンプライアンス内であるかコンプライアンス外であるか（例えば、１つ以上のポリシーを用いて）を示すために単一のコンプライアンスタグが使用される「単純な」実装モデルを利用することができる。別の場合では、ＭＤＭエージェントおよび／またはＭＡＭラッパーなどのＭＤＭ技術および／またはＭＡＭ技術を使用して実行するリッチエンドポイント分析に基づいて、１つ以上のカスタムコンプライアンスタグが使用される「高度な」実装モデルを利用することができる。
【０１０３】
コンプライアンスタグを設定することができるおよび／またはスマートアクセスポリシー設定を定義することができる管理ユーザインターフェースが提供されてもよい。例えば、１つ以上のコンプライアンスタグは、ネガティブタグ（例えば、除外タグ）またはポジティブタグ（例えば、特定の機能を有効にするアサーションタグ）のいずれかとして定義および／または使用することができる。
【０１０４】
図８は、本開示の１つ以上の態様にしたがって、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅから単一のコンプライアンスタグが受信され、アクセスがブロックされる例、およびＨＤＸのホストされたアプリケーション（例えば、ＣＩＴＲＩＸ  ＸｅｎＡｐｐおよび／またはＣＩＴＲＩＸ  ＸｅｎＤｅｓｋｔｏｐを介して１つ以上のモバイルデバイスに提供することができる）における体験が制限される例を示している。
【０１０５】
図９は、本開示の１つ以上の態様にしたがって、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅから単一のコンプライアンスタグが受信され、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅにおいてトリガイベントが選択される例を示している。
【０１０６】
図１０は、本開示の１つ以上の態様にしたがって、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅから単一のコンプライアンスタグが受信され、アクションがＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅにおいて選択される例を示している。
【０１０７】
図１１は、本開示の１つ以上の態様にしたがって、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅから単一のコンプライアンスタグが受信され、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅから受信した単一のコンプライアンスタグに基づいて、ＣＩＴＲＩＸ  ＸｅｎＡｐｐおよび／またはＣＩＴＲＩＸ  ＸｅｎＤｅｓｋｔｏｐにスマートアクセスポリシーが設定される例を示している。
【０１０８】
図１２は、本開示の１つ以上の態様にしたがって、１つ以上のカスタムコンプライアンスタグがＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅから受信される例を示している。
【０１０９】
図１３は、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅから受信した１つ以上のカスタムコンプライアンスタグに基づいて、スマートアクセスポリシーがＣＩＴＲＩＸ  ＸｅｎＡｐｐおよび／またはＣＩＴＲＩＸ  ＸｅｎＤｅｓｋｔｏｐに設定される例を示している。
【０１１０】
本開示の１つ以上の態様を実装する場合、１つ以上の装備オプションを使用することができる。例えば、本開示の１つ以上の態様は、ＭＤＭ機能のみ、ＭＡＭ機能のみ、またはＭＤＭ機能およびＭＡＭ機能を使用して装備することができる。場合によっては、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅは、ＭＤＭ機能および／またはＭＡＭ機能の双方を提供するとともに、ＨＤＸのホストされたアプリケーション機能（例えば、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅサーバ集約ストアを使用して）を提供する際に使用することができる。例えば、ＨＤＸ機能は、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅに埋め込まれていてもよく、または、ＣＩＴＲＩＸレシーバは、ＨＤＸプレーヤアプリケーションとしてのみ使用されてもよい。別の場合では、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅは、ＭＤＭ機能および／またはＭＡＭ機能のためのみに使用されてもよい。これらの場合では、ＣＩＴＲＩＸレシーバは、ＨＤＸ機能（例えば、別個のＨＤＸストアおよびＨＤＸプレーヤアプリケーションを使用することを含むことができる）に対して使用されてもよい。
【０１１１】
本開示の１つ以上の態様を実装する場合、１つ以上の技術的オプションが使用されてもよい。例えば、１つの技術的オプションにおいて、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅは、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅ集約ストアとともに使用されてもよい。この技術的オプションが使用される場合、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅサーバは、ＣＩＴＲＩＸ  ＳｔｏｒｅＦｒｏｎｔサーバにコンプライアンスタグを送信することができる。
【０１１２】
別の技術的オプションでは、２つのモバイルアプリケーションが使用されてもよい。例えば、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅは、登録、ＭＤＭ機能および／またはＭＡＭ機能の提供、およびモバイルアプリケーションストアおよび／またはネイティブアプリケーションストアの提供のために使用することができる。さらに、ＣＩＴＲＩＸレシーバは、ＨＤＸストアおよびＨＤＸプレーヤの提供のために使用することができる。この技術的オプションが使用される場合、特定の情報をアプリケーション間で共有することができる。例えば、デバイス識別子（ＩＤ）情報を共有することができ（例えば、好ましい構成を提供すことができる）、または１つ以上の実際のコンプライアンスタグを共有することができる（例えば、より単純で実用的なオプションを提供できるが、追加のセキュリティ対策が使用されておらず安全性が低い可能性がある）。ＭＤＭ機能のみが使用される場合、ＭＤＭアプリケーションプロパティは、値を共有するように設定することができる。ＭＡＭ機能のみが使用される場合、ＭＤＸボールトインターフェース、共有秘密ボールト（ＳＳＶ）ボールトインターフェース、または他のカスタムアプリケーションプログラミングインターフェース（ＡＰＩ）は、値を共有するために使用することができる。場合によっては、ＣＩＴＲＩＸレシーバとＳｔｏｒｅＦｒｏｎｔサーバとの間および／またはＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅとＸｅｎＭｏｂｉｌｅサーバとの間で、デバイスＩＤ情報および／またはコンプライアンスタグを共有および／または通信するために拡張配信サービスプロトコルを使用することができる。場合によっては、ＸｅｎＭｏｂｉｌｅサーバは、デバイスＩＤ情報および／または１つ以上のコンプライアンスタグをＳｔｏｒｅＦｒｏｎｔサーバ（例えば、好ましい構成を表すことができる）に送信することができる。
【０１１３】
別の技術的オプションでは、管理ユーザインターフェースが使用されてもよい。例えば、ＣＩＴＲＩＸ  ＳｔｏｒｅＦｒｏｎｔおよびＸｅｎＡｐｐおよび／またはＸｅｎＤｅｓｋｔｏｐで使用するために、１つ以上のコンプライアンスタグを定義するように、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅサーバ管理コンソールユーザインターフェースを使用することができる。デスクトップおよび／またはアプリケーションフィルタリング並びにセッションポリシーのために、ＣＩＴＲＩＸ  ＸｅｎＭｏｂｉｌｅサーバＭＤＭおよび／またはＭＡＭコンプライアンスタグを使用するように、ＣＩＴＲＩＸ  ＸｅｎＡｐｐおよび／またはＸｅｎＤｅｓｋｔｏｐ  Ｓｔｕｄｉｏ  ＵＩの１つ以上のアップデートを行うことができる。
【０１１４】
１つ以上の構成では、ＭＡＭサービスおよび／またはＭＤＭサービスから受信したエンドポイント分析（ＥＰＡ）データは、使用される特定のモバイルデバイスに関する情報を提供することができる。そのような情報は、例えば、モバイルデバイスが脱獄されているかどうかを示すことができ、ジオフェンシングに関連する情報を含むことができ、デバイスモデルを識別する情報を含むことができ、オペレーティングシステムのバージョンを識別する情報を含むことができ、特定のアプリケーションがインストールされているかどうかを示す情報を含むことができ、ユーザが特定の機能または特徴を無効にしたかどうかを識別する情報を含むことができ、モバイルデバイスに関連するキャリアネットワークを識別する情報を含むことができ、モバイルデバイスに関連する国コードを識別する情報を含むことができ、および／または他の情報を含むことができる。
【０１１５】
場合によっては、ＸＭＳ管理者は、資産インベントリ、デバイスプロパティ、イベント、および／または他の要因に基づいて、１つ以上の特定のコンプライアンスタグを設定するために、ＸＭＳで自動アクションを構成することができる。例えば、デバイスが指定された緯度および／または経度の範囲内にない場合、特定のコンプライアンスタグを、「境界違反（ＰｅｒｉｍｉｔｅｒＢｒｅａｃｈｅｄ）」に設定することができる。それに加えてまたはその代わりに、デバイスのオペレーティングシステムがバージョン８．ｘよりも低い場合、特定のコンプライアンスタグを、「レガシーモバイルＯＳ（ＬｅｇａｃｙＭｏｂｉｌｅＯＳ）」に設定することができる。それに加えてまたはその代わりに、デバイスが脱獄されている場合、特定のコンプライアンスタグを、「脱獄（Ｊａｉｌｂｒｏｋｅｎ）」に設定することができる。それに加えてまたはその代わりに、デバイスが指定された緯度および／または経度の範囲内にある場合、特定のコンプライアンスタグは、「リモートアクセス（ＲｅｍｏｔｅＡｃｃｅｓｓ）」に設定することができる。
【０１１６】
その後、ＸＡ／ＸＤ管理は、１つ以上のスマートアクセスポリシーを設定することができる。例えば、特定のアプリケーションまたはデスクトップに対するユーザアクセスを、ＸｅｎＭｏｂｉｌｅタグに基づいて制限することができる。例えば、特定のアプリケーションまたはデスクトップへのユーザアクセスは、ユーザのデバイスが「脱獄（Ｊａｉｌｂｒｏｋｅｎ）」または「境界違反（ＰｅｒｉｍｉｔｅｒＢｒｅａｃｈｅｄ）」のステータスを有することを示すＸｅｎＭｏｂｉｌｅタグに基づいて制限することができる。
【０１１７】
別の例として、１つ以上のＨＤＸセッションポリシーが１人以上のユーザに適用することができる。例えば、ＨＤＸクライアントドライブマッピングは、ユーザのデバイスが「脱獄（Ｊａｉｌｂｒｏｋｅｎ）」のステータスを有することを示すタグに基づいて無効にすることができる。別の例として、「Ｆｒａｍｅｈａｗｋ」ＨＤＸグラフィックスモード（例えば、帯域幅の使用およびＸＡ／ＸＤサーバのスケーラビリティを犠牲にして（例えば、ＣＰＵおよびメモリを犠牲にして）、ＷＡＮ（例えば、待ち時間およびパケット損失が大きいことがある）を介して優れたＨＤＸセッション対話性を提供することができる）は、ＸｅｎＭｏｂｉｌｅタグに基づいて有効にすることができる。例えば、そのような「Ｆｒａｍｅｈａｗｋ」ＨＤＸグラフィックスモードは、ユーザのデバイスが「リモートアクセス（ＲｅｍｏｔｅＡｃｃｅｓｓ）」のステータスを有することを示すＸｅｎＭｏｂｉｌｅタグに基づいて有効にすることができる。そうでなければ、デバイス上で提供されるＨＤＸセッションは、帯域幅をほとんど使用せず且つＸＡ／ＸＤサーバのスケーラビリティ（例えば、ボックス上の多数のユーザを最大にすることができる）を優先するデフォルトのＴｈｉｎｗｉｒｅ  ＨＤＸグラフィックスモードを使用することができる。いくつかの構成では、ＭＡＭ  ＥＰＡは、ＭＤＭ  ＥＰＡよりも範囲が限定されることがある。
【０１１８】
本開示の１つ以上の態様を実装において１つ以上の装備オプションを使用することができる。いくつかの装備オプションの例については、以下において詳細に説明される。
【０１１９】
装備＃１：ＸｅｎＭｏｂｉｌｅサーバ集約ストアによる統合クライアント（ＷｏｒｘＨｏｍｅ）
場合によっては、本開示の態様は、装備１を表す図１４に示される方法で実装されてもよい。そのような装備は、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅが統合ストアを提供してアプリケーションのサポートを開始するときに使用することができる。この装備では、実際にＨＤＸ接続を確立するために、レシーバアプリケーションを使用することができる。代替構成では、ＨＤＸ接続を確立するためにＷｏｒｘＨｏｍｅに埋め込まれたＨＤＸエンジンを使用することができる。
【０１２０】
図１４に示される装備および構成では、ＸｅｎＭｏｂｉｌｅサーバは、ＳｔｏｒｅＦｒｏｎｔサーバからＨＤＸアプリケーションを集約するように構成することができる。さらに、ＮｅｔＳｃａｌｅｒゲートウェイは、ＥＰＡで構成することができる。ユーザ・エージェントがウィンドウズ（登録商標）またはＭＡＣ  ＯＳ  Ｘのラップトップまたはデスクトップコンピュータ上のブラウザを提示するときに、ＥＰＡスキャンを実行するようにセッションポリシーを構成することができる。他のクライアント（例えば、モバイルデバイスやネイティブレシーバなど）の場合、ＮｅｔＳｃａｌｅｒゲートウェイは、例えば、ＥＰＡタグを必要とする機密性の高いＨＤＸアプリケーションへのアクセスがそのようなクライアントからは利用できない可能性がある場合、ＥＰＡをスキップすることができる。
【０１２１】
さらにまた、図１４に示される装備および構成において、ＸｅｎＡｐｐおよび／またはＸｅｎＤｅｓｋｔｏｐの公開されたアプリケーションおよびセッションポリシーは、スマートアクセス（例えば、アプリケーションの可用性またはセッション体験は、ＥＰＡに基づいて制限することができる）に対して適切に構成することができる。さらに、特定のトリガ（例えば、ユーザトリガ、デバイストリガ、アプリケーショントリガなど）に基づいて、デバイスをコンプライアンス違反とマークするようにＸｅｎＭｏｂｉｌｅ自動アクションを構成することができる。
【０１２２】
図１４に示される装備および構成では、動作の例示的なランタイムシーケンスは、以下のように発生することができる。第１に、ＷｏｒｘＨｏｍｅは、ＸｅｎＭｏｂｉｌｅにアプリケーションの列挙を要求することができる。第２に、ＳｔｏｒｅＦｒｏｎｔに対して列挙リクエストを行うとき、ＸｅｎＭｏｂｉｌｅは、プログラム隣接エージェント（ＰＮＡ）プロトコルリクエスト（例えば、ＨＴＴＰヘッダとして）にデバイスコンプライアンスタグを注入することができる。これらのタグは、ＸｅｎＭｏｂｉｌｅサーバ上の署名証明書を使用して署名することができる。第３に、ＳｔｏｒｅＦｒｏｎｔは、これらのタグの署名を検証し、ＮＦｕｓｅプロトコル一覧表リクエストを介してタグをＸＡ／ＸＤに中継することができる。第４に、ＸＡ／ＸＤは、提供されたユーザコンテキストおよびタグに基づいてアプリケーションをフィルタリングすることができ、アプリケーションの詳細をＷＨに返送する（例えば、ＳｔｏｒｅＦｒｏｎｔおよびＸｅｎＭｏｂｉｌｅを介して）ことができる。
【０１２３】
第５に、ユーザがアプリケーションを起動すると、起動リクエストは、同じ経路を介してＸＡ／ＸＤに送信することができる（例えば、ＷＨ→ＸｅｎＭｏｂｉｌｅ→ＳｔｏｒｅＦｒｏｎｔ→ＸＡ／ＸＤ）。コンプライアンスタグは、ＰＮＡ起動リクエストをＳｔｏｒｅＦｒｏｎｔに行う前に、ＸｅｎＭｏｂｉｌｅによって挿入することができる。起動が許可された場合、起動情報（例えば、ＩＣＡファイルで具現化することができる）がＷＨに送信することができる。第６に、ＸＡ／ＸＤは、（例えば、リモートＨＤＸウィンドウズ（登録商標）セッションとすることができる）リモートＨＤＸセッションが形成されるときに使用されることになるログオンチケットとともにタグを保存することができるリモートＨＤＸセッション（例えば、リモートＨＤＸウィンドウズ（登録商標）セッション）開始中に、タグは、適用可能なセッションポリシーを判定するために使用することができる。
【０１２４】
装備＃２：それぞれ独自のストアを有する別個のＷｏｒｘＨｏｍｅおよびレシーバクライアント
場合によっては、本開示の態様は、装備２を表す図１５に示される方法で実装することができる。そのような装備は、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅが、ＭＡＭ／ＭＤＭ登録エージェントおよびモバイルアプリケーション用のストアとしてのみ使用される場合に使用することができる。これらの場合では、レシーバは、ＨＤＸアプリケーションのストアおよびプレーヤとして使用することができる。さらに、コンプライアンスタグは、クライアントアプリケーション間で直接交換することができる。
【０１２５】
この装備の代替構成では、レシーバは、モバイルアプリケーションのストアとすることもできる。すなわち、この代替構成では、レシーバは、モバイルアプリケーションおよびＨＤＸアプリケーションの双方のクライアント集約ストアを含むことができ、それぞれＸｅｎＭｏｂｉｌｅおよびＳｔｏｒｅＦｒｏｎｔサーバの双方と通信することができる。この代替構成では、ＭＡＭ／ＭＤＭ登録エージェントとしてのＷｏｒｘＨｏｍｅとレシーバとの間でコンプライアンスタグを伝送する必要があるかもしれない。
【０１２６】
図１５に示される装備および構成では、ＸｅｎＭｏｂｉｌｅサーバは、ＳｔｏｒｅＦｒｏｎｔサーバからＨＤＸアプリケーションを集約するように構成されていない可能性がある。ＮｅｔＳｃａｌｅｒゲートウェイは、ＥＰＡで構成することができる。セッションポリシーは、ユーザ・エージェントがウィンドウズ（登録商標）またはＭＡＣ  ＯＳ  Ｘのラップトップまたはデスクトップコンピュータ上のブラウザを示すとき、にＥＰＡスキャンを実行するように構成することができる。他のクライアント（例えば、モバイルデバイスやネイティブレシーバなど）の場合、ＮｅｔＳｃａｌｅｒゲートウェイは、例えば、ＥＰＡタグを必要とする機密性の高いＨＤＸアプリケーションへのアクセスがそのようなクライアントからは利用できない可能性がある場合、ＥＰＡをスキップすることができる。
【０１２７】
さらにまた、図１５に示される装備および構成において、ＸｅｎＡｐｐおよび／またはＸｅｎＤｅｓｋｔｏｐの公開されたアプリケーションおよびセッションポリシーは、スマートアクセス（例えば、アプリケーションの可用性またはセッション体験は、ＥＰＡに基づいて制限することができる）に対して適切に構成することができる。さらに、特定のトリガ（例えば、ユーザトリガ、デバイストリガ、アプリケーショントリガなど）に基づいて、デバイスをコンプライアンス違反とマークするようにＸｅｎＭｏｂｉｌｅ自動アクションを構成することができる。
【０１２８】
図１５に示される装備および構成では、管理者は、ＸｅｎＭｏｂｉｌｅ上で以下の設定のいずれかまたは双方を実行する必要がある。第１に、ＭＤＭに登録されるデバイスの場合、レシーバネイティブアプリケーションがデバイスにコンプライアンスステータスをプッシュするように、アプリケーション・プロパティを構成する必要がある。このプロパティのフォーマットは、判定されることになる（例えば、１つの長いプロパティまたは複数のプロパティ）。さらに、この機能は、ＭＤＭのみの装備に対するサポートを行うこともできるが、ラップされたレシーバおよび／または管理対象レシーバ（例えば、ＸＭアプリケーション用レシーバ）を使用する必要がある場合がある。第２に、ＭＤＭに登録されないデバイスの場合、管理者は、ＸｅｎＭｏｂｉｌｅ管理対象アプリケーションとして、ラップされたレシーバアプリケーションおよび／または管理対象レシーバアプリケーションを公開する必要がある場合がある。
【０１２９】
図１５に示される装備および構成では、動作の例示的なランタイムシーケンスは、以下のように発生することができる。第１に、レシーバは、モバイルデバイス（ＭＤＭまたはＭＡＭを介して）にインストールすることができる。第２に、ＸｅｎＭｏｂｉｌｅは、デバイスのデバイスコンプライアンスステータスを判定し、以下のいずれかの機構を使用して、この情報をモバイルデバイスに対し利用可能とすることができる：（１）ＭＤＭを介したアプリケーション・プロパティのプッシュ；（２）デバイスコンプライアンスステータスをＸＭに問い合わせてそれをＭＤＸボールトに保存するＷＨ。コンプライアンスステータスは、［タグ、タイムスタンプ、および署名］から構成することができる。タイムスタンプおよび署名は、リプレイ攻撃および偽造攻撃をそれぞれ防止するために使用することができる。署名は、ＸＭＳサーバにインストールされている証明書の秘密鍵を使用して作成することができる。
【０１３０】
第３に、レシーバは、コンプライアンスステータスを示すアプリケーション・プロパティが存在するかどうかをチェックすることができる。そうでない場合、レシーバは、ＭＤＸボールト（存在する場合）を調べてコンプライアンスステータスをチェックすることができる。列挙リクエストをＳｔｏｒｅＦｒｏｎｔに行うとき、レシーバは、配信サービスリクエストにデバイスコンプライアンスタグを含むことができる。
【０１３１】
第４に、ＳｔｏｒｅＦｒｏｎｔは、それにインストールされている証明書の公開鍵（例えば、ＸＭサーバ上に存在する秘密鍵に対応する）を使用して署名を検証することができる。そして、ＳｔｏｒｅＦｒｏｎｔは、ＮＦｕｓｅ一覧表リクエストを介してこれらのタグをＸＡ／ＸＤに中継することができる。第５に、ＸＡ／ＸＤは、提供されたユーザコンテキストおよびタグに基づいてアプリケーションをフィルタリングすることができ、アプリケーションの詳細は、ＳｔｏｒｅＦｒｏｎｔを介してレシーバに返送することができる。第６に、ユーザがアプリケーションを起動すると、起動リクエストは、同じ経路を介してＸＡ／ＸＤに送信することができる（例えば、レシーバ→ＳｔｏｒｅＦｒｏｎｔ→ＸＡ／ＸＤ）。コンプライアンスタグは、配信サービスがＳｔｏｒｅＦｒｏｎｔにリクエストを開始する前にレシーバによって挿入することができる。起動が許可された場合、起動情報（例えば、ＩＣＡファイルで具現化することができる）をレシーバに送信することができる。第７に、ＸＡ／ＸＤは、リモートＨＤＸセッション（例えば、リモートＨＤＸウィンドウズ（登録商標）セッションとすることができる）が形成されるときに使用することになるログオンチケットとともにタグを保存することができる。（例えば、リモートＨＤＸウィンドウズ（登録商標）セッション開始とすることができる）リモートＨＤＸセッション開始中に、タグは、適用可能なセッションポリシーを判定するために使用することができる。
【０１３２】
装備＃２に対する代替設計：ＸｅｎＭｏｂｉｌｅサーバは、ＳｔｏｒｅＦｒｏｎｔサーバにデバイスＩＤおよびコンプライアンスタグを提供する
場合によっては、本開示の態様は、上述した同じ装備２において適用可能なより高度な設計を表す図１６に示される方法で実装することができる。この代替設計では、ＷｏｒｘＨｏｍｅおよびレシーバは、デバイスＩＤを共有し、ＸｅｎＭｏｂｉｌｅサーバおよびＳｔｏｒｅＦｒｏｎｔサーバにそれぞれ通信することができる。そして、ＸｅｎＭｏｂｉｌｅサーバは、コンプライアンスタグとともにデバイスＩＤをＳｔｏｒｅＦｒｏｎｔサーバに提供することができる。したがって、コンプライアンスタグは、サーババックエンドを介して共有することができ、一致したデバイスＩＤに基づいて特定のレシーバインスタンスに関連付けることができる。
【０１３３】
この設計は、いくつかの利点を有する。例えば、１つの利点は、コンプライアンスタグがモバイルデバイスと直接交換しない可能性があり、それゆえに潜在的な攻撃面を低減するため、セキュリティである。別の一つの利点は、デバイスＩＤのみがサーバと交換する可能性があるため、クライアントおよびプロトコル実装の単純性である。しかしながら、ＸｅｎＭｏｂｉｌｅサーバからＳｔｏｒｅＦｒｏｎｔサーバへのデバイスＩＤおよびコンプライアンスタグの通信を設定する際に複雑さが増えることがある。
【０１３４】
図１６に示すように、それぞれが独自のストアを有する別個のＷｏｒｘＨｏｍｅおよびレシーバクライアントアプリケーションを提供することができる。デバイスＩＤは、クライアントアプリケーション間で共有することができる。さらに、ＸｅｎＭｏｂｉｌｅサーバは、デバイスＩＤおよびコンプライアンスタグをＳｔｏｒｅＦｒｏｎｔサーバに提供することができる。
【０１３５】
図１６に示される装備および構成では、動作の例示的なランタイムシーケンスは、以下のように発生することができる。第１に、ＷｏｒｘＨｏｍｅおよびレシーバは、双方とも、ＭＡＣアドレスまたは２つのアプリケーション間で共有される自律的に生成された永続的秘密など、固有のデバイスＩＤを取得することができる。ＭＡＭ専用モードでは、固有のデバイスＩＤは、ＭＤＸボールトまたは共有秘密ボールト（ＳＳＶ）または他のＡＰＩを介して取得することができる。ＭＤＭ専用モードでは、固有のデバイスＩＤは、ＷＨまたはＸＭＳのいずれかによって生成され、交換することができる。そして、それは、ＭＤＭプロパティを介してレシーバにプッシュすることができる。ＭＤＭ＋ＭＡＭモードでは、上記のこれらの機構のいずれかを使用することができる。
【０１３６】
第２に、双方のアプリケーションは、固有のデバイスＩＤをサーバに通信することができる。例えば、ＷＨは、既存の配信サービスプロトコルを拡張するためにＸＭＳと通信することができる（例えば、ＷＨからＸＭＳ）。さらに、レシーバは、既存の配信サービスプロトコルを拡張するためにＳＦと通信することができる（例えば、レシーバからＳＦ）。
【０１３７】
第３に、ＳＦは、デバイスＩＤに基づいてＸＭＳからコンプライアンスタグを照会することができる。例えば、ＳＦは、ＸＭＳを呼び出して、デバイスＩＤがＳＦに対して認証されたユーザに属するかどうかをチェックすることができ、コンプライアンスタグを取得することができる。これは、ＸＭＳとＳＦとの間に認証されたコネクタが構築される必要がある場合がある。ＸｅｎＭｏｂｉｌｅデバイスマネージャのＲＥＳＴウェブサービスＡＰＩは、デバイスＩＤデータを抽出するために利用することができる。あるいは、ＳＦがＸＭＳに照会するために新たなＡＰＩを構築することができる。ＡＰＩは、公開鍵／秘密鍵暗号に基づいて保護することができる。
【０１３８】
第４に、ＳＦは、コンプライアンスタグをレシーバのＨＤＸアプリケーション列挙および起動リクエストに割り当てるおよび／または適用することができる。そして、それは、ＮＦｕｓｅ列挙リクエストを介して、これらのタグをＸＡ／ＸＤに中継することができる。第５に、ＸＡ／ＸＤは、提供されたユーザコンテキストおよびタグに基づいてアプリケーションをフィルタリングすることができ、アプリケーションの詳細は、ＳｔｏｒｅＦｒｏｎｔを介してレシーバに返送することができる。
【０１３９】
第６に、ユーザがアプリケーションを起動すると、起動リクエストを同じ経路を介してＸＡ／ＸＤに送信することができる（例えば、レシーバ→ＳｔｏｒｅＦｒｏｎｔ→ＸＡ／ＸＤ）。コンプライアンスタグは、配信サービスがＳｔｏｒｅＦｒｏｎｔにリクエストを開始する前にレシーバによって挿入することができる。起動が許可された場合、起動情報（例えば、ＩＣＡファイルで具現化することができる）をレシーバに送信することができる。
【０１４０】
第７に、ＸＡ／ＸＤは、リモートＨＤＸセッション（例えば、リモートＨＤＸウィンドウズ（登録商標）セッションであってもよい）が形成されるときに、使用することになるログオンチケットとともにタグを保存することができるリモートＨＤＸセッション開始中（例えば、リモートＨＤＸウィンドウズ（登録商標）セッション開始であってもよい）に、タグは、適用可能なセッションポリシーを判定するために使用することができる。
【０１４１】
本開示の１つ以上の態様を実装する際に、以下の表に含まれる１つ以上の技術的オプションを利用することができる。
【０１４２】
【表１】
2019526843.tif 000003
【０１４３】
【表２】
2019526843.tif 000004
【０１４４】
2019526843.tif 000005
【０１４５】
本開示の態様は、ウェブアプリケーション、ネットワークおよび／またはクラウドベースリソースに対するアクセスまたはその特徴を選択的に制限するために適用することができる。それに加えてまたはそれに代えて、本開示の態様は、例えば、Ｃｉｔｒｉｘ  ＸｅｎＡｐｐ／ＸｅｎＤｅｓｋｔｏｐ、Ｃｉｔｒｉｘセキュアブラウザサービス、共有ファイル、および／またはＧｏＴｏプロダクツなど、クライアント−サーバ通信または直接クライアント−クライアント通信を含む任意の製品で使用することができる。
【０１４６】
図１７は、本明細書に記載された１つ以上の例示的な態様にかかる、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供する方法を示している。ある実施形態では、図１７に示される方法は、図１−図６に関連して上述したコンピュータシステムアーキテクチャ、リモートアクセスシステムアーキテクチャ、仮想化（ハイパーバイザ）システムアーキテクチャ、クラウドベースシステムアーキテクチャ、および／または企業モビリティ管理システムのうちの１つ以上の要素を組み込む、利用するおよび／または含むコンピューティングプラットフォームによって実行することができる。例えば、図１７に示される方法は、少なくとも１つのプロセッサ、メモリ、および通信インターフェースを有するコンピューティングプラットフォームによって実行することができる。ステップ１７０５において、コンピューティングプラットフォームは、通信インターフェースを介して、モバイルデバイスからエンドポイント分析情報を受信することができる。ステップ１７１０において、コンピューティングプラットフォームは、１つ以上のスマートアクセスポリシーおよびモバイルデバイスから受信したエンドポイント分析情報に基づいて、ホストされた高解像度体験（ＨＤＸ）アプリケーションまたは１つ以上の特定のＨＤＸセッション機能の可用性をモバイルデバイスに対して制限するかどうかを判定することができる。ステップ１７１５において、コンピューティングプラットフォームは、ホストされたＨＤＸアプリケーションまたは１つ以上の特定のＨＤＸセッション機能の可用性をモバイルデバイスに対して制限する判定に基づいて、ホストされたＨＤＸアプリケーションまたは１つ以上の特定のＨＤＸセッション機能の可用性をモバイルデバイスに対して制限することができる。
【０１４７】
図１８は、本明細書に記載された１つ以上の例示的な態様に従って、ホストされたアプリケーションへのスマートアクセスが登録されたデバイスに提供するための例示的なコンピューティング環境を示している。図１８を参照すると、コンピューティング環境１８００は、仮想化サーバインフラストラクチャ１８１０、企業モビリティ管理サーバ１８２０、ユーザデバイス１８３０、およびネットワーク１８５０を含むことができる。仮想化サーバインフラストラクチャ１８１０、企業モビリティ管理サーバ１８２０、およびユーザデバイス１８３０は、１つ以上のプロセッサ、メモリ、通信インターフェース、および／または同様のものなどの１つ以上の物理コンポーネントを含むことができる。さらに、仮想化サーバインフラストラクチャ１８１０は、上述した仮想化サーバおよび／または他の仮想化インフラストラクチャのうちの１つ以上の態様を含む、組み込む、および／または実装することができる。企業モビリティ管理サーバ１８２０は、上述した企業システムおよび／または管理サーバのうちの１つ以上の態様を含む、組み込む、および／または実装することができる。ユーザデバイス１８３０は、上述したクライアントデバイス、モバイルデバイス、および／またはユーザデバイスのうちの１つ以上の態様を含む、組み込む、および／または実装することができる。
【０１４８】
例えば、仮想化サーバインフラストラクチャ１８１０は、少なくとも１つのプロセッサ１８１１、少なくとも１つのメモリ１８１２、および少なくとも１つの通信インターフェース１８１６を含むことができる。プロセッサ１８１１は、企業アプリケーションストア（例えば、１つ以上の登録されたデバイスおよび／または企業に関連する他のデバイスに対して）を仮想化サーバインフラストラクチャ１８１０に提供することをもたらす１つ以上のアプリケーション、１つ以上の仮想化されたおよび／またはホストされたアプリケーションセッション、および／または１つ以上の仮想化されたおよび／またはホストされたデスクトップセッションを含む、オペレーティングシステムおよび／または１つ以上のアプリケーションの実行などの１つ以上の機能を、仮想化サーバインフラストラクチャ１８１０が実行することをもたらすためのメモリ１８１２に記憶された命令を実行することができる。メモリ１８１２は、企業アプリケーションストアモジュール１８１３（例えば、仮想化サーバインフラストラクチャ１８１０の１つ以上の態様を組み込むことができる、および／または上述した例においてＣＩＴＲＩＸ  ＳｔｏｒｅＦｒｏｎｔと同様の機能を仮想化サーバインフラストラクチャに提供することができる）を記憶することができる。さらに、メモリ１８１２は、アプリケーション仮想化モジュール１８１４（例えば、仮想化サーバインフラストラクチャ１８１０の１つ以上の態様を組み込むことができる、および／または上述した例においてＣＩＴＲＩＸ  ＸｅｎＡｐｐと同様の機能を仮想化サーバインフラストラクチャに提供することができる）を記憶することができる。メモリ１８１２はまた、デスクトップ仮想化モジュール１８１５（例えば、仮想化サーバインフラストラクチャ１８１０の１つ以上の態様を組み込むことができる、および／または上述した例においてＣＩＴＲＩＸ  ＸｅｎＤｅｓｋｔｏｐと同様の機能を仮想化サーバインフラストラクチャに提供することができる）を記憶することができる。通信インターフェース１８１６は、仮想化サーバインフラストラクチャ１８１０が、企業モビリティ管理サーバ１８２０、ユーザデバイス１８３０、および／または１つ以上の他のシステムおよび／またはデバイスなど、コンピューティング環境１８００内の１つ以上の他のシステムおよび／またはデバイスと通信することができる１つ以上のネットワークインターフェースを含むことができる。
【０１４９】
企業モビリティ管理サーバ１８２０は、少なくとも１つのデバイス登録システム１８２１および少なくとも１つのポリシー実行システム１８２２を含むおよび／または提供することができる。デバイス登録システム１８２１は、１つ以上のポリシー実行スキーム（例えば、企業組織に関連付けられ、企業モビリティ管理サーバ１８２０を使用して１人以上の管理者によって実装および／または管理することができる）にユーザデバイス１８３０および／または１つ以上の他のユーザデバイスなどの１つ以上のユーザデバイスを、企業モビリティ管理サーバ１８２０が登録することを可能にするおよび／または企業モビリティ管理サーバに登録することができる。ポリシー実行システム１８２２は、ユーザデバイス１８３０および／または１つ以上の他のユーザデバイスなどの１つ以上の登録ユーザデバイスにおいて１つ以上の企業ポリシーを企業モビリティ管理サーバ１８２０が実行するのを可能にするおよび／または実行することをもたらすことができる。ポリシー実行システム１８２２および企業モビリティ管理サーバ１８２０によって１つ以上の登録されたユーザデバイス上で実行することができる１つ以上の企業ポリシーは、ポリシー実行システム１８２２および／または企業モビリティ管理サーバ１８２０（例えば、１つ以上の登録されたユーザモバイルデバイスを含む１つ以上の管理対象デバイスに関して）によって定義して、適用して、実行して、更新して、無効にして、および／または制御することができる１つ以上のモバイルデバイス管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルコンテンツ管理ポリシー、および／または他の企業ポリシーを含むことができる。
【０１５０】
ユーザデバイス１８３０は、１つ以上のネイティブアプリケーション１８３１およびクライアントエージェント１８３２を含むおよび／または提供することができる。１つ以上のネイティブアプリケーション１８３１は、上述したネイティブアプリケーションのうちの１つ以上の態様（例えば、ネイティブアプリケーション６１０）を含む、組み込む、および／または実装することができる。さらに、クライアントエージェント１８３２は、上述したクライアントエージェントのうちの１つ以上の態様（例えば、クライアントエージェント６０４）を含む、組み込む、および／または実装することができる。ネットワーク１８５０は、１つ以上のローカルエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク、プライベートネットワーク、および／またはサブネットワークを含むことができ、仮想化サーバインフラストラクチャ１８１０、企業モビリティ管理サーバ１８２０、およびユーザデバイス１８３０を相互接続することができる。
【０１５１】
図１９Ａおよび図１９Ｂは、本明細書に記載された１つ以上の例示的な態様にかかる、ホストされたアプリケーションに対するスマートアクセスを登録されたデバイスに提供するための例示的なイベントシーケンスを示している。図１９Ａを参照すると、ステップ１９０１において、ユーザデバイス１８３０は、企業モビリティ管理サーバ１８２０に登録することができる。例えば、ステップ１９０１において、ユーザデバイス１８３０は、企業モビリティ管理サーバ１８２０によって実装することができる企業モバイルデバイス管理、モバイルアプリケーション管理、および／または他のポリシー実行スキームに登録するために、企業モビリティ管理サーバ１８２０とデータを送信、受信、および／または交換することができる。場合によっては、ユーザデバイス１８３０の登録中に、企業モビリティ管理サーバ１８２０は、後続の動作におけるユーザデバイス１８３０の識別を容易にするために、企業モビリティ管理サーバ１８２０によって記憶および／または維持することができるおよび／または１つ以上の他のシステムおよび／またはデバイス（例えば、ユーザデバイス１８３０、仮想化サーバインフラストラクチャ１８１０）に送信することができるユーザデバイス１８３０についての固有のデバイス識別子を生成することができる。
【０１５２】
ステップ１９０２において、企業モビリティ管理サーバ１８２０は、ユーザデバイス１８３０のエンドポイント分析を開始することができる。例えば、企業モビリティ管理サーバ１８２０は、ユーザデバイス１８３０が企業モビリティ管理サーバ１８２０によって実行することができる１つ以上のポリシーに適合しているかどうかを判定するために、企業モビリティ管理サーバ１８２０によって分析および／または評価することができるステータス情報を提供するようにユーザデバイス１８３０に要求および／または照会することができる。場合によっては、企業モビリティ管理サーバ１８２０は、単純なエンドポイント分析を実行することができる（例えば、上述したように、ユーザデバイス１８３０がユーザデバイス１８３０に適用可能であり且つ企業モビリティ管理サーバ１８２０によってユーザデバイス１８３０上で実行されるポリシーのセットに完全に適合しているかどうかを単に判定することができる）一方で、他の場合では、企業モビリティ管理サーバ１８２０は、リッチエンドポイント分析を実行することができる（例えば、上述したように、ユーザデバイス１８３０に適用可能であり且つ企業モビリティ管理サーバ１８２０によってユーザデバイス１８３０上で実行されるポリシーのセットに含まれる各ポリシーに関して、ユーザデバイス１８３０がポリシーのセットに含まれる各特定のポリシーに適合しているかどうか個別に判定することができる）。
【０１５３】
ステップ１９０３において、企業モビリティ管理サーバ１８２０は、（例えば、ステップ１９０２においてユーザデバイス１８３０のエンドポイント分析を開始および／または実行することに基づいて）ユーザデバイス１８３０についての１つ以上のコンプライアンスタグを生成することができる。場合によっては、１つ以上のコンプライアンスタグは、ユーザデバイス１８３０がユーザデバイス１８３０に適用可能であり且つ企業モビリティ管理サーバ１８２０によって、ユーザデバイス１８３０上で実行するポリシーのセットに適合しているかどうかおよび／またはその旨を示すことができる。さらに、（１つ以上のコンプライアンスタグは、場合によっては、企業モビリティ管理サーバ１８２０の署名証明書を使用して企業モビリティ管理サーバ１８２０によって署名することができる。）
ステップ１９０４において、企業モビリティ管理サーバ１８２０は、１つ以上のコンプライアンスタグ（例えば、ステップ１９０３において企業モビリティ管理サーバ１８２０によって生成された１つ以上のコンプライアンスタグ）を１つ以上の受信システムおよび／またはデバイスに送信することができる。場合によっては、企業モビリティ管理サーバ１８２０は、上述した例示的な装備モデルのうちの１つ以上に関連して、上述したように登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に１つ以上のコンプライアンスタグを送信することができる。それに加えてまたはその代わりに、企業モビリティ管理サーバ１８２０は、上述した他の例示的な装備モデルのうちの１つ以上に関連して上述したように仮想化インフラストラクチャ（例えば、仮想化サーバインフラストラクチャ１８１０）に１つ以上のコンプライアンスタグを送信することができる。
【０１５４】
図１９Ｂを参照すると、ステップ１９０５において、仮想化サーバインフラストラクチャ１８１０は、登録されたユーザデバイス（例えば、ユーザデバイス１８３０）からのホストされたアプリケーションセッション、ホストされたデスクトップセッション、または他のホストされたセッションのリクエストを受信することができる。そのようなリクエストは、ユーザデバイス１８３０上で実行される企業ポータルクライアントおよび／またはレシーバアプリケーション（例えば、上述した例のように、ＣＩＴＲＩＸ  ＷｏｒｘＨｏｍｅ、ＣＩＴＲＩＸレシーバなど）を使用して開始することができる。それに加えてまたはその代わりに、そのようなリクエストは、仮想化サーバインフラストラクチャ１８１０によって提供される企業アプリケーションストア（例えば、上述した例のように、ＣＩＴＲＩＸ  ＳｔｏｒｅＦｒｏｎｔ）を介して受信されてもよい。
【０１５５】
ステップ１９０６において、仮想化サーバインフラストラクチャ１８１０は、ホストされたセッションを要求する登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する１つ以上のコンプライアンスタグおよび／またはホストされたセッションを要求する登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する他のエンドポイント分析情報を受信することができる。例えば、ステップ１９０６において、仮想化サーバインフラストラクチャ１８１０は、通信インターフェース（例えば、通信インターフェース１８１６）を介して、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を受信することができる。場合によっては、仮想化サーバインフラストラクチャ１８１０は、登録されたユーザデバイス（例えば、上述した例示的な装備モデルのうちの１つ以上に関連して上述したユーザデバイス１８３０）からの、１つ以上のコンプライアンスタグおよび／または他のエンドポイント分析情報を受信することができる一方で、別の場合では、仮想化サーバインフラストラクチャ１８１０は、企業管理サーバ（例えば、上述した他の例示的な装備モデルのうちの１つ以上に関連して上述した企業モビリティ管理サーバ１８２０）から、登録されたユーザデバイスからの１つ以上のコンプライアンスタグおよび／または他のエンドポイント分析情報を受信することができる。仮想化サーバインフラストラクチャ１８１０が、企業モビリティ管理サーバ１８２０から、登録されたユーザデバイスからの１つ以上のコンプライアンスタグおよび／または他のエンドポイント分析情報を受信する場合、仮想化サーバインフラストラクチャ１８１０は、登録されたデバイス（例えば、ユーザデバイス１８３０）に割り当てることができ且つ仮想化サーバインフラストラクチャ１８１０から受信したコンプライアンスタグおよび／または他のエンドポイント分析情報とともに、仮想化サーバインフラストラクチャ１８１０によって受信した固有の識別子に基づいて、受信したコンプライアンスタグおよび／または他のエンドポイント分析情報と、受信したコンプライアンスタグおよび／または他のエンドポイント分析情報が関連する特定の登録されたデバイス（例えば、ユーザデバイス１８３０）との相関をとることができる。
【０１５６】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を受信することは、登録されたデバイスから登録されたデバイスに関連するエンドポイント分析情報を受信することを含むことができる。例えば、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を受信する際に、仮想化サーバインフラストラクチャ１８１０は、登録されたデバイス（例えば、ユーザデバイス１８３０）から、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連付けられたエンドポイント分析情報を受信することができる。
【０１５７】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を受信することは、企業モビリティ管理サーバから登録されたデバイスに関連するエンドポイント分析情報を受信することを含むことができる。例えば、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を受信する際に、仮想化サーバインフラストラクチャ１８１０は、企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）から、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連付けられたエンドポイント分析情報を受信することができる。
【０１５８】
ある実施形態では、登録されたデバイスは、登録されたデバイスに関連するエンドポイント分析情報が受信される前に、企業モビリティ管理サーバによって実装される少なくとも１つのポリシー実行スキームに登録されたデバイスを登録するために、企業モビリティ管理サーバによって登録することができる。例えば、登録されたデバイス（例えば、ユーザデバイス１８３０）は、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報が受信される前に、企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって実装される少なくとも１つのポリシー実行スキームに登録されたデバイス（例えば、ユーザデバイス１８３０）を登録するために、企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって登録することができる。
【０１５９】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を受信することは、登録されたデバイスに関連する固有のデバイス識別子を受信することを含むことができ、登録されたデバイスに関連する固有のデバイス識別子は、企業モビリティ管理サーバによって実装された少なくとも１つのポリシー実行スキームにおける登録されたデバイスの登録中に企業モビリティ管理サーバによって生成することができる。例えば、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を受信する際に、仮想化サーバインフラストラクチャ１８１０は、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連する固有のデバイス識別子を受信することができる。さらに、登録デバイス（例えば、ユーザデバイス１８３０）に関連する固有のデバイス識別子は、企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって実装される少なくとも１つのポリシー実行スキームにおける登録デバイス（例えば、ユーザデバイス１８３０）の登録中に企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって生成することができる。
【０１６０】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を受信することは、登録されたデバイスについて企業モビリティ管理サーバによって生成された１つ以上のコンプライアンスタグを受信することを含むことができる。例えば、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を受信する際に、仮想化サーバインフラストラクチャ１８１０は、登録されたデバイス（例えば、ユーザデバイス１８３０）についての企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって生成された１つ以上のコンプライアンスタグを受信することができる。例えば、仮想化サーバインフラストラクチャ１８１０は、企業モビリティ管理サーバ１８２０によってユーザデバイス１８３０上で実行されるエンドポイント分析に基づいて、ステップ１９０６において、ユーザデバイス１８３０についての企業モビリティ管理サーバ１８２０によって生成された１つ以上のコンプライアンスタグを受信することができる。
【０１６１】
場合によっては、１つ以上のコンプライアンスタグは、モバイルデバイス管理（ＭＤＭ）ポリシー実行スキームに基づいて、登録されたデバイスについて企業モビリティ管理サーバによって生成されてもよい。例えば、１つ以上のコンプライアンスタグは、モバイルデバイス管理（ＭＤＭ）ポリシー実行スキーム（例えば、企業モビリティ管理サーバ１８２０によって実装されてもよい）に基づいて、登録されたデバイス（例えば、ユーザデバイス１８３０）のために企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって生成されてもよい。
【０１６２】
場合によっては、１つ以上のコンプライアンスタグは、モバイルアプリケーション管理（ＭＡＭ）ポリシー実行スキームに基づいて、登録されたデバイスについて企業モビリティ管理サーバによって生成されてもよい。例えば、１つ以上のコンプライアンスタグは、（例えば、企業モビリティ管理サーバ１８２０によって実装されてもよい）モバイルアプリケーション管理（ＭＡＭ）ポリシー実行スキームに基づいて、登録されたデバイス（例えば、ユーザデバイス１８３０）のために企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって生成されてもよい。
【０１６３】
場合によっては、１つ以上のコンプライアンスタグは、モバイルコンテンツ管理（ＭＣＭ）ポリシー実行スキームに基づいて、登録されたデバイスについて企業モビリティ管理サーバによって生成されてもよい。例えば、１つ以上のコンプライアンスタグは、（例えば、企業モビリティ管理サーバ１８２０によって実装されてもよい）モバイルコンテンツ管理（ＭＣＭ）ポリシー実行スキームに基づいて、登録されたデバイス（例えば、ユーザデバイス１８３０）企業モビリティ管理サーバ（例えば、企業モビリティ管理サーバ１８２０）によって生成されてもよい。
【０１６４】
ステップ１９０７において、仮想化サーバインフラストラクチャ１８１０は、ホストされたセッション（例えば、１つ以上のスマートアクセスポリシーに基づいて、ユーザデバイス１８３０についてのホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定するために）を要求する登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する１つ以上のコンプライアンスタグおよび／またはホストされたセッションを要求する登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する他のエンドポイント分析情報を分析することができる。例えば、ステップ１９０７において、仮想化サーバインフラストラクチャ１８１０は、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することができる。１つ以上のスマートアクセスポリシーは、例えば、管理者によって定義および／または更新されてもよく、仮想化サーバインフラストラクチャ１８１０および／または企業モビリティ管理サーバ１８２０によって維持されてもよい。さらに、１つ以上のスマートアクセスポリシーは、例えば、ホストされたセッションで特定の機能（例えば、上記例において説明した「Ｆｒａｍｅｈａｗｋ」高解像度グラフィックスモードなど）を選択的に有効にする状況および／またはホストされたセッションで特定の機能（例えば、上記例において説明したコピーアンドペースト機能、印刷機能、および／またはローカルドライブマッピング機能など）を選択的に無効にする状況を定義することができる。
【０１６５】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、完全なホストされたアプリケーション機能を有効にするように判定することを含むことができる。例えば、１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定するために登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を分析する際に、仮想化サーバインフラストラクチャ１８１０は、完全なホストされたアプリケーション機能（例えば、完全なホストされたアプリケーション機能を許可するように１つ以上のスマートアクセスポリシーで指定された１つ以上の状況に一致した登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する１つ以上のコンプライアンスタグに基づいて）を有効にするように判定することができる。
【０１６６】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、部分的なホストされたアプリケーション機能を有効にするように判定することを含むことができる。例えば、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定するために登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を分析する際に、仮想化サーバインフラストラクチャ１８１０は、部分的なホストされたアプリケーション機能（例えば、部分的なホストされたアプリケーション機能を許可するおよび／または要求するように１つ以上のスマートアクセスポリシーで指定された１つ以上の状況に一致した登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する１つ以上のコンプライアンスタグに基づいて）を有効にするように判定することができる。
【０１６７】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、部分的なホストされたアプリケーション機能を無効にするように判定することを含むことができる。例えば、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定するために登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を分析する際に、仮想化サーバインフラストラクチャ１８１０は、部分的なホストされたアプリケーション機能（例えば、無効にされるべき特定のホストされたアプリケーション機能を要求するように１つ以上のスマートアクセスポリシーで指定された１つ以上の状況に一致した登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する１つ以上のコンプライアンスタグに基づいて）を無効にするように判定することができる。
【０１６８】
ある実施形態では、登録されたデバイスに関連するエンドポイント分析情報を分析して１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することは、完全なホストされたアプリケーション機能を無効にするように判定することを含むことができる。例えば、１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定するために登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を分析する際に、仮想化サーバインフラストラクチャ１８１０は、完全なホストされたアプリケーション機能（例えば、無効にされるべき完全なホストされたアプリケーション機能を要求するように１つ以上のスマートアクセスポリシーで指定された１つ以上の状況に一致した登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する１つ以上のコンプライアンスタグに基づいて）を無効にするように判定することができる。これらの場合では、仮想化サーバインフラストラクチャ１８１０は、ユーザデバイス１８３０がホストされたセッションに完全にアクセスするのを防止および／または制限することができ、および／または第１のインスタンスのユーザデバイス１８３０のホストされたセッションを起動しない可能性がある。
【０１６９】
ステップ１９０８において、仮想化サーバインフラストラクチャ１８１０は、登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する１つ以上のコンプライアンスタグおよび／または登録されたユーザデバイス（例えば、ユーザデバイス１８３０）に関連する他のエンドポイント分析情報を分析することに基づいて、ユーザデバイス１８３０にホストされたアプリケーション体験を提供することができる。例えば、ステップ１９０８において、仮想化サーバインフラストラクチャ１８１０は、登録されたデバイス（例えば、ユーザデバイス１８３０）に関連するエンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することに基づいて、通信インターフェース（例えば、通信インターフェース１８１６）を介して、ホストされたアプリケーション体験を登録されたデバイス（例えば、ユーザデバイス１８３０）に提供することができる。
【０１７０】
ユーザデバイス１８３０にホストされたアプリケーション体験を提供する際に、仮想化サーバインフラストラクチャ１８１０は、例えば、エンドポイント分析情報およびスマートアクセスポリシーに基づいて、ステップ１９０８において選択的に有効および／または無効にされた、ホストされたアプリケーション機能にしたがって、ユーザデバイス１８３０に対して１つ以上のホストされたアプリケーションおよび／またはホストされたデスクトップに関連する１つ以上の仮想化されたおよび／またはリモートのユーザインターフェースグラフィックスを生成および／または送信することができる。それに加えてまたはその代わりに、ホストされたアプリケーション体験をユーザデバイス１８３０に提供する際に、仮想化サーバインフラストラクチャ１８１０は、例えば、エンドポイント分析情報およびスマートアクセスポリシーに基づいて、ステップ１９０８において選択的に有効および／または無効にされた、ホストされたアプリケーション機能にしたがって、ユーザデバイス１８３０から受信した入力および／またはリクエストを、受信および／または処理することができる。
【０１７１】
図２０は、本明細書に記載された１つ以上の例示的な態様にかかる、ホストされたアプリケーションに対するスマートアクセスを、登録されたデバイスに提供する例示的な方法を示している。図２０を参照すると、ステップ２００５において、少なくとも１つのプロセッサ、通信インターフェース、およびメモリを有するコンピューティングプラットフォームは、通信インターフェースを介して、登録されたデバイスに関連するエンドポイント分析情報を受信することができる。ステップ２０１０において、コンピューティングプラットフォームは、登録されたデバイスに関連するエンドポイント分析情報を分析し、１つ以上のスマートアクセスポリシーに基づいて、ホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することができる。ステップ２０１５において、コンピューティングプラットフォームは、通信インターフェースを介して、登録されたデバイスに関連するエンドポイント分析情報を分析して、１つ以上のスマートアクセスポリシーに基づいてホストされたアプリケーション機能を選択的に有効にするかまたは無効にするかを判定することに基づいて、ホストされたアプリケーション体験を登録されたデバイスに提供することができる。
【０１７２】
上記で例示したように、本開示の様々な態様は、ホストされたアプリケーションに対するスマートアクセスをモバイルデバイスに提供することに関する。主題は、構造的特徴および／または方法論的作用に特有の文言で記載されているが、添付の特許請求の範囲に定義された主題は、必ずしも上述した特定の特徴または作用に限定されるものではないことが理解されるべきである。むしろ、上述した特定の特徴および動作は、以下の特許請求の範囲のいくつかの例示的な実装として記載される。
【図１】
2019526843.tif 000006
【図２】
2019526843.tif 000007
【図３】
2019526843.tif 000008
【図４】
2019526843.tif 000009
【図５】
2019526843.tif 000010
【図６】
2019526843.tif 000011
【図７】
2019526843.tif 000012
【図８】
2019526843.tif 000013
【図９】
2019526843.tif 000014
【図１０】
2019526843.tif 000015
【図１１】
2019526843.tif 000016
【図１２】
2019526843.tif 000017
【図１３】
2019526843.tif 000018
【図１４】
2019526843.tif 000019
【図１５】
2019526843.tif 000020
【図１６】
2019526843.tif 000021
【図１７】
2019526843.tif 000022
【図１８】
2019526843.tif 000023
【図１９Ａ】
2019526843.tif 000024
【図１９Ｂ】
2019526843.tif 000025
【図２０】
2019526843.tif 000026
【国際調査報告】
2019526843.tif 000027
2019526843.tif 000028
2019526843.tif 000029