(57)【特許請求の範囲】
【請求項１】
モバイルデバイスから、ダウンロード可能なアプリケーションのリストの要求を受信し、
前記モバイルデバイスが非管理（unmanaged）モードおよび管理（managed）モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定し、
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信する方法であって、
前記アプリケーション管理フレームワークが可能（capable）であると判定されるとき、前記リストは前記非管理モードおよび前記管理モードの両方で実行可能な前記アプリケーションの第１バージョンを含み、
前記アプリケーション管理フレームワークが可能でないと判断されるとき、前記リストは前記アプリケーションの前記第１バージョンを排除し、前記非管理モードで実行可能で、前記管理モードで実行可能ではない前記アプリケーションの第２バージョンを含む、方法。
【請求項２】
前記モバイルデバイスが前記非管理モードおよび前記管理モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定するステップは、アプリケーション管理フレームワークに関連する管理対象アプリケーションが前記モバイルデバイスにインストールされていることを検出するステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記ダウンロード可能なアプリケーションの前記第１バージョンは前記アプリケーション管理フレームワークに関連する、請求項１に記載の方法。
【請求項４】
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信するステップは、
前記非管理モードおよび前記管理モードの両方で実行可能な前記アプリケーションの複数のバージョンから前記アプリケーションの前記第１バージョンを選択するステップをさらに備えており、前記アプリケーションの前記第１バージョンは前記アプリケーション管理フレームワークとの前記関連に基づいて選択される、請求項３に記載の方法。
【請求項５】
前記モバイルデバイスが前記非管理モードおよび前記管理モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定するステップは、前記モバイルデバイスが前記アプリケーション管理フレームワークに関連するデバイスマネージャによって管理されていることを検出するステップをさらに備える、請求項１に記載の方法。
【請求項６】
前記ダウンロード可能な前記第１バージョンは前記デバイスマネージャに関連する、請求項５に記載の方法。
【請求項７】
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信するステップは、
前記非管理モードおよび前記管理モードの両方で実行可能な前記複数のバージョンから前記アプリケーションの前記第１バージョンを選択するステップをさらに備えており、前記アプリケーションの前記第１バージョンは前記デバイスマネージャとの関連に基づいて選択される、請求項６に記載の方法。
【請求項８】
前記アプリケーションの前記第１バージョンは、前記モバイルデバイスのユーザを雇用する企業によって、管理対象アプリケーションとして動作するように修正される非管理対象アプリケーションを備える、請求項１に記載の方法。
【請求項９】
プロセッサを備えるコンピューティングデバイスであって、前記コンピューティングデバイスは、少なくとも、
モバイルデバイスから、ダウンロード可能なアプリケーションのリストの要求を受信し、
前記モバイルデバイスが非管理（unmanaged）モードおよび管理（managed）モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定し、
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信するように構成されており、
前記アプリケーション管理フレームワークが可能であると判定されるとき、前記リストは前記非管理モードおよび前記管理モードの両方で実行可能な前記アプリケーションの第１バージョンを含み、
前記アプリケーション管理フレームワークが可能でないと判定されるとき、前記リストは前記アプリケーションの前記第１バージョンを除外し、前記非管理モードで実行可能で、前記管理モードで実行可能ではない前記アプリケーションの第２バージョンを含む、コンピューティングデバイス。
【請求項１０】
前記モバイルデバイスが前記非管理モードおよび前記管理モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定するステップは、アプリケーション管理フレームワークに関連する管理対象アプリケーションが前記モバイルデバイスにインストールされていることを検出するステップをさらに備える、請求項９に記載のコンピューティングデバイス。
【請求項１１】
前記ダウンロード可能なアプリケーションの前記第１バージョンは、前記アプリケーション管理フレームワークに関連する、請求項９に記載のコンピューティングデバイス。
【請求項１２】
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信するステップは、
前記非管理モードおよび前記管理モードの両方で実行可能な前記アプリケーションの複数のバージョンから前記アプリケーションの前記第１バージョンを選択するステップをさらに備えており、前記アプリケーションの前記第１バージョンは前記アプリケーション管理フレームワークとの前記関連に基づいて選択される、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記モバイルデバイスが前記非管理モードおよび前記管理モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定するステップは、前記モバイルデバイスが前記アプリケーション管理フレームワークに関連するデバイスマネージャによって管理されることを検出するステップをさらに備える、請求項９に記載のコンピューティングデバイス。
【請求項１４】
前記ダウンロード可能なアプリケーションの前記第１バージョンは、前記デバイスマネージャに関連する、請求項１３に記載のコンピューティングデバイス。
【請求項１５】
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信するステップは、
前記非管理モードおよび前記管理モードの両方で実行可能な前記アプリケーションの複数のバージョンから前記アプリケーションの前記第１バージョンを選択するステップをさらに備えており、前記アプリケーションの前記第１バージョンは前記デバイスマネージャとの関連に基づいて選択される、請求項１４に記載のコンピューティングデバイス。
【請求項１６】
前記アプリケーションの前記第１バージョンは、前記モバイルデバイスのユーザを雇用する企業によって、管理対象アプリケーションとして動作するように修正される非管理対象アプリケーションを備えることを特徴とする、請求項９に記載のコンピューティングデバイス。
【請求項１７】
データ処理システムの１つ以上のプロセッサによって実行されるとき、前記システムに、
モバイルデバイスから、ダウンロード可能なアプリケーションのリストの要求を受信することと、
前記モバイルデバイスが非管理（unmanaged）モードおよび管理（managed）モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定することと、
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信すること、とを行わせるコンピュータ実行可能な各命令を格納する１つもしくはそれ以上の不揮発性のコンピュータ読取可能な記憶媒体であって、
前記アプリケーション管理フレームワークが可能であると判定されるとき、前記リストは前記非管理モードおよび前記管理モードの両方で実行可能な前記アプリケーションの第１バージョンを含み、
前記アプリケーション管理フレームワークが可能でないと判定されるとき、前記リストは前記アプリケーションの前記第１バージョンを除外し、前記非管理モードで実行可能で、前記管理モードで実行可能ではない前記アプリケーションの第２バージョンを含む、コンピュータ読取可能な記憶媒体。
【請求項１８】
前記モバイルデバイスが前記非管理モードおよび前記管理モードの両方でアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定させる命令は、アプリケーション管理フレームワークに関連する管理対象アプリケーションが前記モバイルデバイスにインストールされていることを検出させる命令をさらに備える、請求項１７に記載のコンピュータ読取可能な記憶媒体。
【請求項１９】
前記ダウンロード可能な前記第１バージョンは前記アプリケーション管理フレームワークに関連する、請求項１８に記載のコンピュータ読取可能な記憶媒体。
【請求項２０】
前記モバイルデバイスに、ダウンロード可能なアプリケーションのリストを送信させる命令は、
前記非管理モードおよび前記管理モードの両方で実行可能な前記アプリケーションの複数のバージョンから、前記アプリケーションの前記第１バージョンを選択させる命令をさらに備えており、前記アプリケーションの前記第１バージョンは前記アプリケーション管理フレームワークとの前記関連に基づいて選択される、請求項１９に記載のコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はモバイルコンピューティングにおけるアプリケーションを管理する方法およびデバイスに関するものである。
【背景技術】
【０００２】
モバイルコンピューティングデバイスの利用は増え続けている。特に、事業体や企業は個人（individuals）に様々な企業リソースにリモートアクセスさせるために、モバイルコンピューティングデバイスに頼るようになっている。当該リソースは、たとえば、企業のコンピュータシステムによって提供される電子メールサービス、ファイルサービス、データ、およびその他の電子リソースを含む。
【０００３】
このようなビジネス利用の勢いに伴い、個人は自分のモバイルコンピューティングデバイスをビジネスおよび私用の両方で使い始めるようになっている。たとえば、ある会社の従業員は、同じモバイルコンピューティングデバイスから会社の電子メールアカウントにも個人の電子メールアカウントにもアクセスすることがある。したがって、モバイルコンピューティングデバイスの一定の機能は、ビジネス的側面および個人的側面を共有することがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ビジネス情報は秘匿された安全な通信およびストレージを必要とすることが多い。さらに、モバイルデバイスに格納されているビジネス情報は管理を必要とすることがある。このように、モバイルデバイスに格納されている情報をデバイスマネージャが管理する必要がある。
【課題を解決するための手段】
【０００５】
以下に、本明細書に説明するさまざまな側面の簡単な発明の概要を提示する。本概要は広範な全体像ではなく、重要なもしくは欠かせない要素を特定すること、または特許請求の範囲を正確に説明することを意図していない。以下の概要は、以下に記載するより詳細な説明の導入として、単にいくつかの概念を簡単な形で提示するにすぎない。
【０００６】
本明細書において、複数の操作モードを有するアプリケーションを管理する方法およびシステムを説明する。
【０００７】
モバイルデバイスを管理するデバイスマネージャはモバイルデバイスを監視する。デバイスマネージャは非管理（unmanaged）モードおよび管理（managed）モードで稼動する所定のタイプのアプリケーションがモバイルデバイスにインストールされていることを検出する。操作モードはデバイスのコンテキストまたはデバイス関連情報に基づいてもよい。
【０００８】
たとえば、アプリケーションは、ユーザ資格情報が信頼できるユーザとしてユーザを認証する場合、第１の管理モードで稼動し、アプリケーションは、それ以外は第２の低安全（less-secure）モードで稼動する。操作モードは、デバイスの物理的な場所、ネットワークの場所、ユーザ資格情報、ユーザの役割、場所の種類（例、医療、金融機関の店舗、学校、行政機関等。以下、「職場環境のタイプ」ともいう）等に基づいて選択してもよい。アプリケーションは２つ以上の操作モードで実行可能であってもよく、アクセス、セキュリティ、リソース等の異なるレベルを規定する複数の異なる管理モードで実行可能であってもよい。
【０００９】
以上および追加の側面は、以下のさらに詳細に述べる開示により認識されるであろう。
【００１０】
本明細書で説明する発明の側面およびその利点は、添付の図面を考慮して以下の説明を参照することによってより完全な理解が得られる。図面において、同じ参照番号は同じ特徴を示す。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に従い使用されるコンピュータシステムのアーキテクチャを示す図である。
【図２】本発明の実施形態に従い使用されるリモートアクセスシステムのアーキテクチャを示す図である。
【図３】本発明の実施形態に従い使用される仮想（ハイパーバイザー）システムのアーキテクチャを示す図である。
【図４】本発明の実施形態に従い使用されるクラウドベースのシステムのアーキテクチャを示す図である。
【図５】本発明の実施形態に従い使用される企業モビリティ管理システムを示す図である。
【図６】本発明の実施形態に従い使用される別の企業モビリティ管理システムを示す図である。
【図７】本発明の実施形態に従うモバイルデバイスのサンプルインターフェースを示す図である。
【図８】本発明の実施形態に従ってアプリケーションのアプリケーションモードを判定するためのフローチャートである。
【図９】本発明の実施形態に従ってアプリケーションのアカウントタイプのコンテキストを判定するためのフローチャートである。
【図１０】本発明の実施形態に従ってアプリケーションの場所のコンテキストを判定するためのフローチャートである。
【図１１】本発明の実施形態に従ってアプリケーションの所定のアプリケーションステータスのコンテキストを判定するためのフローチャートである。
【図１２】本発明の実施形態に従ってアプリケーションのネットワーク接続のコンテキストを判定するためのフローチャートである。
【図１３】本発明の実施形態に従ってアプリケーションの設定のコンテキストを判定するためのフローチャートである。
【図１４】本発明の実施形態に従ってアプリケーションのアプリケーションモードを切り替えるためのフローチャートである。
【図１５】本発明の実施形態に従って複数の操作モードを有するアプリケーションを管理するためのフローチャートである。
【図１６】本発明の実施形態に従ってマルチモードアプリケーションを管理するためのフローチャートである。
【図１７】本発明の実施形態に従うアプリストアのためのフローチャートである。
【発明を実施するための形態】
【００１２】
以下の説明において、上述のとおり特定し、本明細書の一部をなし、例示により本明細書で説明する側面を実施する様々な実施形態を示す添付の図面を参照する。本明細書で説明する範囲を逸脱することなく、他の実施形態を利用し、構造および機能の変形を行えることは理解されるべきである。本発明のさまざまな側面は他の実施形態での実施が可能であり、さまざまな異なる方法で実施または実行することが可能である。
【００１３】
以下詳細に説明する主題の概要紹介として、本明細書で説明する発明の側面は、特に複数の操作モードで実行することが可能なアプリケーションとともに使用されるモバイルコンピューティングデバイスの管理対象モバイルアプリケーションを使用して、企業コンピューティングシステムのリソースへのリモートアクセスを制御することに向けられる。
アクセスマネージャは、企業リソースへのアクセスを要求するモバイルアプリケーションが正確に確認され、モバイルコンピューティングデバイスへのインストール後に後で改変されていないかどうかを判定する検証プロセスを行う。このように、アクセスマネージャは企業リソースへのアクセスを要求するモバイルアプリケーションが信頼でき、その企業リソースを保護するために使用されるセキュリティメカニズムを回避しようとしていないことを保証する。その結果、企業に関連する個人は、事前承認されたアプリケーションを使用して自分の私用モバイルデバイスで企業リソースを有利に利用することができる。
【００１４】
本明細書で使用される表現および用語は、説明目的であり、制限と見なしてはならないことは理解されるべきである。むしろ、本明細書で使用される表現および用語には、そのもっとも広い解釈および意味が与えられるべきである。「含み」および「備え」ならびにその変形の使用は、これ以降で挙げられるアイテムおよびその等価物ならびに追加アイテムおよびその等価物を包含することが意図されている。「取り付けられている」、「接続されている」、「連結されている」、「位置付けられている」、「係合されている」および同様な用語の使用は、直接および間接的な両方の取り付け、接続、連結、位置付けおよび係合を含むことが意図されている。
【００１５】
〈コンピューティングアーキテクチャ〉
コンピュータのソフトウェア、ハードウェアおよびネットワークは、特に、スタンドアロン、ネットワーク化、リモートアクセス（別称、リモートデスクトップ）、仮想化および／またはクラウドベースの環境を含め、多様な異なるシステム環境で利用される。
図１は、本明細書で説明する１つ以上の例示的な側面を、スタンドアロンおよび／またはネットワーク化環境で実装するために使用されるシステムアーキテクチャならびにデータ処理装置の一実施例を示す。
【００１６】
さまざまなネットワークノード１０３，１０５，１０７および１０９は、インターネットなどの広域ネットワーク（ＷＡＮ）１０１を介して相互接続されている。プライベートイントラネット、企業ネットワーク、ＬＡＮ、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイヤレスネットワーク、パーソナルネットワーク（ＰＡＮ）等を含む、他のネットワークもまた、または代わりに使用してもよい。ネットワーク１０１は例示目的であり、より少ないか、または追加のコンピュータネットワークと取り替えてもよい。ローカルエリアネットワーク（ＬＡＮ）はあらゆる周知のＬＡＮトポロジーのうちの１つ以上を有してもよく、イーサーネットなどの多様な異なるプロトコルのうちの１つ以上を使用してもよい。デバイス１０３，１０５，１０７，１０９および他のデバイス（図示せず）は、撚り対線、同軸ケーブル、光ファイバ、電波または他の通信媒体を介してネットワークのうちの１つ以上に接続される。
【００１７】
本明細書で使用し、図面に図示する「ネットワーク」とは、遠隔記憶装置が１つ以上の通信パスを介して互いに連結されているシステムだけではなく、記憶容量を有する当該システムにそのときどきで連結してもよいスタンドアロンデバイスのこともいう。そのため、「ネットワーク」とは、「物理的ネットワーク」だけでなく、すべての物理的ネットワークに常駐する（単一のエンティティに帰属する）データから構成される「コンテンツネットワーク」も含む。
【００１８】
コンポーネントは、データサーバ１０３、ウェブサーバ１０５およびクライアントコンピュータ１０７，１０９を含んでいる。
【００１９】
データサーバ１０３は、本明細書で説明する１つ以上の例示的な側面を実施するために、データベースおよび制御ソフトウェアの全体的なアクセス、制御および管理（administration）を提供する。データサーバ１０３はウェブサーバ１０５に接続されており、それによりユーザは必要なデータとインタラクトし、必要なデータを取得する。あるいは、データサーバ１０３はウェブサーバ自体としてふるまってもよく、インターネットに直接接続してもよい。データサーバ１０３は、直接もしくは間接的な接続を介して、または何らかの他のネットワークを介して、ネットワーク１０１（例、インターネット）経由でウェブサーバ１０５に接続されていてもよい。
【００２０】
ユーザはリモートコンピュータ１０７，１０９を使用して、たとえばウェブサーバ１０５がホストする１つ以上の外部に露出するウェブサイトを介してデータサーバ１０３に接続するためのウェブブラウザを使用して、データサーバ１０３とインタラクトしてもよい。クライアントコンピュータ１０７，１０９はデータサーバ１０３とともに使用して、そこに格納されているデータにアクセスしてもよく、または他の目的で使用してもよい。たとえば、クライアントデバイス１０７から、ユーザは当業界で周知のインターネットブラウザを使用して、またはコンピュータネットワーク（インターネットなど）上でウェブサーバ１０５および／またはデータサーバ１０３と通信するソフトウェア・アプリケーションを実行することにより、ウェブサーバ１０５にアクセスする。
【００２１】
サーバおよびアプリケーションは同じ物理的マシン上に組み合わせて、個別の仮想アドレスもしくは論理アドレスを保持してもよく、または個別の物理的マシンに常駐していてもよい。図１は、使用されるネットワークアーキテクチャのほんの一実施例を示しており、当業者は、使用される特定のネットワークアーキテクチャおよびデータ処理装置を変更してもよいこと、ならびに、本明細書で詳細に説明するように、それが提供する機能に二次的なものであることを認識するであろう。たとえば、ウェブサーバ１０５およびデータサーバ１０３が提供するサービスは単一のサーバに組み合わせてもよい。
【００２２】
各コンポーネント１０３，１０５，１０７，１０９は、あらゆるタイプの周知のコンピュータ、サーバまたはデータ処理装置であってもよい。たとえば、データサーバ１０３はデータサーバ１０３の動作全体を制御するプロセッサ１１１を含んでいてもよい。
【００２３】
データサーバ１０３は、ＲＡＭ１１３、ＲＯＭ１１５、ネットワークインターフェース１１７、入出力インターフェース１１９（例、キーボード、マウス、ディスプレイ、プリンタ等）およびメモリ１２１をさらに含んでいてもよい。Ｉ／Ｏ１１９は、データまたはファイルを読み込み、書き込み、表示し、および／または印刷する多様なインターフェースユニットおよびドライブを含んでいてもよい。
【００２４】
メモリ１２１はデータ処理装置１０３、本明細書で説明する側面を行うようデータサーバ１０３に指示する制御ロジック１２５、ならびに本明細書で説明する側面と合わせて使用してもしなくてもよい二次的、サポートおよび／または他の機能を提供する他のアプリケーションソフトウェア１２７の動作全体を制御するオペレーティングシステム・ソフトウェア１２３をさらに格納していてもよい。
【００２５】
制御ロジックは本明細書ではデータサーバソフトウェア１２５ともいう。データサーバソフトウェアの機能は、制御ロジックに符号化され、システムに入力を提供するユーザによって手動で作成されるルールに基づいて自動的に行われる動作もしくは決定、および／またはユーザ入力（例、問合わせ、データのアップデート等）に基づく自動処理の組合せをいう。
【００２６】
メモリ１２１は、第１データベース１２９および第２データベース１３１を含め、本明細書で説明する１つ以上の側面の実施で使用されるデータも格納している。いくつかの実施形態では、第１データベースは第２データベースを含んでもよい（例、個別のテーブル、レポート等として）。すなわち、情報は、システムの設計により、単一のデータベースに格納されることができ、または別々の論理データベース、仮想データベースもしくは物理的データベースに分けられることができる。デバイス１０５，１０７，１０９はデバイス１０３に関して説明したのと同様なアーキテクチャを有してもよく、または異なるアーキテクチャを有してもよい。当業者には、本明細書で説明するデータ処理装置１０３（またはデバイス１０５，１０７，１０９）の機能を複数のデータ処理装置に分散して、たとえば、複数のコンピュータに処理ロードを分散し、地理的な場所、ユーザのアクセスレベル、サービスの質（ＱｏＳ）等に基づいてトランザクションを分けてもよい。
【００２７】
１つ以上の側面は、１つ以上のプログラムモジュールなど、１つ以上のコンピュータまたは本明細書で説明される他のデバイスによって実行されるコンピュータ使用可能もしくは読取可能データおよび／またはコンピュータ実行可能命令に具現化してもよい。一般に、プログラムモジュールは、コンピュータまたは他のデバイス内のプロセッサによって実行されるとき、特定のタスクを行うかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。モジュールは実行のために後でコンパイルされるソースコードプログラミング言語で書き込んでもよく、またはＨＴＭＬもしくはＸＭＬなどの（ただし、これだけに限定されない）スクリプト言語で書き込んでもよい。
【００２８】
コンピュータ実行可能命令は、不揮発性記憶装置などのコンピュータ読取可能媒体に格納される。ハードディスク、ＣＤ−ＲＯＭ、光学記憶装置、磁気記憶装置、および／またはそのあらゆる組合せを含め、あらゆる適したコンピュータ読取可能記憶媒体を利用してもよい。さらに、本明細書で説明するデータまたはイベントを表すさまざまな伝送（非記憶）媒体は、金属ワイヤ、光ファイバ、ならびに／またはワイヤレス伝送媒体（例、空気および／もしくは空間）など、信号伝達媒体を通して移動する電磁波の形で、送信元と宛先との間を転送してもよい。
【００２９】
本明細書で説明するさまざまな側面は、方法、データ処理システム、またはコンピュータプログラム製品として具現してもよい。そのため、さまざまな機能は、集積回路、フィールドプログラマブル・ゲートアレイ（ＦＰＧＡ）等といった、ソフトウェア、ファームウェアおよび／またはハードウェアもしくはハードウェア等価物に全部または一部を具現してもよい。本明細書で説明する１つ以上の側面をより効果的に実装するために特定のデータ構造を使用してもよく、当該データ構造は本明細書で説明するコンピュータ実行可能命令およびコンピュータ使用可能データの範囲内に企図される。
【００３０】
図２をさらに参照して、本明細書で説明する１つ以上の側面がリモートアクセス環境に実装される。図２は、本明細書で説明する１つ以上の側面に従って使用されるコンピューティング環境２００の汎用コンピューティングデバイス２０１を含む例示的なシステムアーキテクチャを示す。汎用コンピューティングデバイス２０１は、クライアントアクセスデバイスに仮想マシンを提供するように構成されている単一サーバまたはマルチサーバのデスクトップ仮想化システム（例、リモートアクセスもしくはクラウドシステム）内のサーバ２０６ａとして使用される。汎用コンピューティングデバイス２０１は、ランダムアクセスメモリ（ＲＡＭ）２０５、読取専用メモリ（ＲＯＭ）２０７、入出力（Ｉ／Ｏ）モジュール２０９およびメモリ２１５を含め、サーバおよびその関連コンポーネントの動作全体を制御するプロセッサ２０３を有している。
【００３１】
Ｉ／Ｏモジュール２０９は、汎用コンピューティングデバイス２０１のユーザが入力を提供するマウス、キーパッド、タッチスクリーン、スキャナ、光学リーダ、および／またはスタイラス（もしくは他の入力デバイス）を含んでもよく、また音声出力を提供するスピーカと、テキスト、オーディオビジュアルおよび／またはグラフィカル出力を提供するビデオディスプレイデバイスとのうちの１つ以上を含んでもよい。
【００３２】
ソフトウェアはメモリ２１５および／または他のストレージ内に格納されて、本明細書で説明するさまざまな機能を実施するために汎用コンピューティングデバイス２０１を専用コンピューティングデバイスに構成するプロセッサ２０３に命令を与える。たとえば、メモリ２１５は、オペレーティングシステム２１７、アプリケーションプログラム２１９および関連データベース２２１など、コンピューティングデバイス２０１が使用するソフトウェアを格納していてもよい。
【００３３】
コンピューティングデバイス２０１は、端末２４０（クライアントデバイスともいう）などの１つ以上のリモートコンピュータへの接続をサポートするネットワーク化環境で動作する。端末２４０は、汎用コンピューティングデバイス１０３もしくは２０１に関して上述した要素の多くもしくはすべてを含むパーソナルコンピュータ、モバイルデバイス、ラップトップコンピュータ、タブレット、またはサーバであってもよい。
【００３４】
図２に図示するネットワーク接続はローカルエリアネットワーク（ＬＡＮ）２２５および広域ネットワーク（ＷＡＮ）２２９を含むが、他のネットワークを含んでもよい。ＬＡＮネットワーク化環境で使用される場合、コンピューティングデバイス２０１はネットワークインターフェースまたはアダプタ２２３経由でＬＡＮ２２５に接続してもよい。ＷＡＮネットワーク化環境で使用される場合、コンピューティングデバイス２０１は、コンピュータネットワーク２３０（例、インターネット）など、ＷＡＮ２２９上で通信を確立するモデム２２７または他の広域ネットワークインターフェースを含んでもよい。図示するネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段も使用してもよいことは認識されるであろう。コンピューティングデバイス２０１および／または端末２４０は、バッテリ、スピーカおよびアンテナ（図示せず）などのさまざまな他のコンポーネントを含めて、モバイル端末（例、携帯電話、スマートフォン、ＰＤＡ、ノートブック等）であってもよい。
【００３５】
本明細書で説明する側面は、複数の他の汎用もしくは専用コンピューティングシステムの環境または構成と併用して動作可能であってもよい。本明細書で説明する側面と併用するのに適する他のコンピューティングシステム、環境および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上述のシステムまたはデバイスのいずれかを含む分散コンピューティング環境を含むが、これだけに限定されない。
【００３６】
図２に図示するように、１つ以上のクライアントデバイス２４０は１つ以上のサーバ２０６ａ〜２０６ｎ（総称的に、本明細書では「サーバ２０６」という）と通信可能な状態である。一つの実施形態では、コンピューティング環境２００は、サーバ２０６とクライアントマシン２４０との間にインストールされているネットワーク・アプライアンスを含んでいる。ネットワーク・アプライアンスはクライアント／サーバ接続を管理してもよく、ある場合には複数のバックエンドサーバ２０６間のクライアント接続の負荷分散をすることができる。
【００３７】
クライアントマシン２４０は、いくつかの実施形態では、単一クライアントマシン２４０またはクライアントマシンの単一グループ２４０と称されることがあり、サーバ２０６は単一サーバ２０６またはサーバの単一グループ２０６と称されることがある。一つの実施形態では、単一クライアントマシン２４０は２つ以上のサーバ２０６と通信し、別の実施形態では単一サーバ２０６は２つ以上のクライアントマシン２４０と通信する。さらに別の実施形態では、単一クライアントマシン２４０は単一サーバ２０６と通信する。
【００３８】
クライアントマシン２４０は、いくつかの実施形態では、次の非網羅的な用語のうちのいずれか１つによって言及される。すなわち、クライアントマシン、クライアント、クライアントコンピュータ、クライアントデバイス、クライアントコンピューティングデバイス、ローカルマシン、リモートマシン、クライアントノード、エンドポイント、またはエンドポイントノード。サーバ２０６は、いくつかの実施形態では、次の非網羅的な用語のうちのいずれか１つによって言及される。すなわち、サーバ、ローカルマシン、リモートマシン、サーバファーム、またはホストコンピューティングデバイス。
【００３９】
一つの実施形態では、クライアントマシン２４０は仮想マシンであってもよい。仮想マシンはあらゆる仮想マシンであってもよいが、いくつかの実施形態では、仮想マシンはタイプ１またはタイプ２のハイパーバイザ、たとえば、サイトリックス・システムズ、ＩＢＭ、ヴイエムウェアによって開発されるハイパーバイザ、またはあらゆる他のハイパーバイザによって管理されるあらゆる仮想マシンであってもよい。いくつかの側面において、仮想マシンはハイパーバイザによって管理してもよいが、いくつかの側面では、仮想マシンはサーバ２０６上で実行するハイパーバイザまたはクライアント２４０上で実行するハイパーバイザによって管理してもよい。
【００４０】
いくつかの実施形態は、サーバ２０６または遠隔設置された他のマシン上で遠隔実行するアプリケーションによって生成されるアプリケーション出力を表示するクライアントデバイス２４０を含む。これらの実施形態では、クライアントデバイス２４０は仮想マシンの受信機プログラムまたはアプリケーションを実行して、アプリケーションウインドウ、ブラウザ、または他の出力ウインドウに出力を表示してもよい。ある実施例では、アプリケーションはデスクトップであるが、他の実施例では、アプリケーションはデスクトップを生成または提示するアプリケーションである。デスクトップは、ローカルおよび／またはリモート・アプリケーションを統合することのできるオペレーティングシステムのインスタンスにユーザインターフェースを提供するグラフィカルシェルを含んでもよい。本明細書で使用するアプリケーションとは、オペレーティングシステム（および、任意で、デスクトップも）のインスタンスがロードされた後に実行するプログラムである。
【００４１】
サーバ２０６は、いくつかの実施形態では、クライアント上で実行するシンクライアントまたはリモートディスプレイ・アプリケーションにデータを送信するリモートプレゼンテーションプロトコルまたは他のプロトコルを使用して、サーバ２０６上で実行するアプリケーションによって生成されるディスプレイ出力を表示する。シンクライアントまたはリモートディスプレイ・プロトコルは、次の非網羅的なプロトコルリストのうちのいずれか１つとすることができる。すなわち、フロリダ州フォート・ローダーデールのサイトリックス・システムズ・インクが開発したインディペンデント・コンピューティング・アーキテクチャ（ＩＣＡ）プロトコル、またはワシントン州レドモンドのマイクロソフト・コーポレーションが製造するリモートデスクトッププロトコル（ＲＤＰ）。
【００４２】
リモートコンピューティング環境は、サーバ２０６ａ〜２０６ｎが、たとえばクラウドコンピューティング環境のサーバファーム２０６に論理的にまとめられるように、２つ以上のサーバ２０６ａ〜２０６ｎを含んでもよい。サーバファーム２０６は論理的にまとめられながらも地理的に分散されているサーバ２０６、または論理的にまとめられながらも互いに近接して配置されているサーバ２０６を含んでもよい。サーバファーム２０６内の地理的に分散したサーバ２０６ａ〜２０６ｎは、いくつかの実施形態では、ＷＡＮ（広域）、ＭＡＮ（メトロポリタン）、またはＬＡＮ（ローカル）を使用して通信することができ、異なる地理的地域は、異なる大陸、大陸の中の異なる地域、異なる国、異なる州、異なる都市、異なる大学、異なる部屋、または前述の地理的な場所のあらゆる組合せとして特徴付けることができる。いくつかの実施形態では、サーバファーム２０６は単一エンティティとして管理されてもよいが、他の実施形態では、サーバファーム２０６は複数のサーバファームを含むことができる。
【００４３】
いくつかの実施形態では、サーバファームは、実質的に同じようなタイプのオペレーティングシステムのプラットフォーム（例、ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ｉＯＳ、ＡＮＤＲＯＩＤ（登録商標）、ＳＹＭＢＩＡＮ等）を実行するサーバ２０６を含んでもよい。他の実施形態では、サーバファーム２０６は、第１タイプのオペレーティングシステムのプラットフォームを実行する１つ以上のサーバからなる第１グループと、第２タイプのオペレーティングシステムのプラットフォームを実行する１つ以上のサーバからなる第２グループとを含んでもよい。
【００４４】
サーバ２０６は、必要なあらゆるタイプのサーバとして、たとえば、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、アプライアンス、ネットワーク・アプライアンス、ゲートウェイ、アプリケーション・ゲートウェイ、ゲートウェイサーバ、仮想化サーバ、デプロイメントサーバ、ＳＳＬ  ＶＰＮサーバ、ファイヤウォール、ウェブサーバ、アプリケーションサーバ、またはマスターアプリケーションサーバ、アクティブディレクトリを実行するサーバ、またはファイヤウォール機能、アプリケーション機能、もしくは負荷分散機能を提供するアプリケーション高速化プログラムを実行するサーバとして構成されていてもよい。他のサーバのタイプも使用してもよい。
【００４５】
いくつかの実施形態は、クライアントマシン２４０からの要求を受信し、要求を第２サーバ１０６ｂに転送し、第２サーバ１０６ｂからの応答により、クライアントマシン２４０により生成される要求に応答する第１サーバ１０６ａを含む。第１サーバ１０６ａはクライアントマシン２４０に利用できるアプリケーションの一覧表、およびアプリケーションの一覧表内で特定されるアプリケーションをホストするアプリケーションサーバ２０６に関連するアドレス情報を取得してもよい。それから、第１サーバ１０６ａは、ウェブインターフェースを使用してクライアントの要求に対する応答を提示し、クライアント２４０と直接通信して、特定されたアプリケーションへのアクセスをクライアント２４０に提供することができる。１つ以上のクライアント２４０および／または１つ以上のサーバ２０６は、ネットワーク２３０、たとえばネットワーク１０１上でデータを伝送してもよい。
【００４６】
図２は、例示的なデスクトップ仮想化システムの高レベルアーキテクチャを示す。図示するように、デスクトップ仮想化システムは、１つ以上のクライアントアクセスデバイス２４０に仮想デスクトップおよび／または仮想アプリケーションを提供するように構成されている少なくとも１つの仮想化サーバ２０６を含め、単一サーバもしくはマルチサーバシステムまたはクラウドシステムであってもよい。
【００４７】
本明細書で使用されるデスクトップとは、１つ以上のアプリケーションをホストおよび／または実行してもよいグラフィカル環境またはスペースをいう。デスクトップは、ローカルおよび／またはリモート・アプリケーションを統合することのできるオペレーティングシステムのインスタンスにユーザインターフェースを提供するグラフィカルシェルを含んでもよい。アプリケーションは、オペレーティングシステムのインスタンス（および、任意でデスクトップも）をロードした後に実行するプログラムを含んでもよい。オペレーティングシステムのインスタンスは物理的（例、１デバイスにつき１つのオペレーティングシステム）または仮想的（例、単一デバイス上で稼動するＯＳの多くのインスタンス）であってもよい。各アプリケーションはローカルデバイス上で実行してもよく、または遠隔設置されたデバイス上で実行（例、遠隔操作）してもよい。
【００４８】
図３をさらに参照して、コンピュータデバイス３０１は、仮想化環境の仮想サーバとして、たとえば、単一サーバ、マルチサーバ、またはクラウドコンピューティング環境として構成されている。図３に示される仮想化サーバ３０１は、図２に図示したサーバ２０６の１つ以上の実施形態もしくは他の周知のコンピューティングデバイスとして配置（deploy）することができ、および／またはそれにより実装することができる。仮想化サーバ３０１に含まれるのが、１つ以上の物理的ディスク３０４、１つ以上の物理的デバイス３０６、１つ以上の物理的プロセッサ３０８および１つ以上の物理的メモリ３１６を含むことができるハードウェアレイヤである。
【００４９】
いくつかの実施形態では、ファームウェア３１２を物理的メモリ３１６のメモリ素子内に格納することができ、物理的プロセッサ３０８のうちの１つ以上によって実行することができる。仮想化サーバ３０１はさらに物理的メモリ３１６のメモリ素子内に格納されて、物理的プロセッサ３０８のうちの１つ以上によって実行されるオペレーティングシステム３１４をさらに含んでもよい。さらに、ハイパーバイザ３０２を物理的メモリ３１６のメモリ素子内に格納してもよく、物理的プロセッサ３０８のうちの１つ以上によって実行することができる。
【００５０】
物理的プロセッサ３０８のうちの１つ以上で実行するのは、１つ以上の仮想マシン３３２Ａ〜３３２Ｃ（総称的に３３２）である。各仮想マシン３３２は仮想ディスク３２６Ａ〜３２６Ｃおよび仮想プロセッサ３２８Ａ〜３２８Ｃを有していてもよい。いくつかの実施形態では、第１仮想マシン３３２Ａは、仮想プロセッサ３２８Ａを使用して、ツールスタック３２４を含む制御プログラム３２０を実行してもよい。制御プログラム３２０は制御仮想マシン、Ｄｏｍ０、ドメイン０、またはシステムの管理および／もしくは制御に使用される他の仮想マシンと称されることがある。いくつかの実施形態では、１つ以上の仮想マシン３３２Ｂ〜３３２Ｃは、仮想プロセッサ３２８Ｂ〜３２８Ｃを使用して、ゲストオペレーティングシステム３３０Ａ〜３３０Ｂを実行することができる。
【００５１】
仮想化サーバ３０１は、仮想化サーバ３０１と通信する１つ以上のハードウェアを備えるハードウェアレイヤ３１０を含んでいる。いくつかの実施形態では、ハードウェアレイヤ３１０は、１つ以上の物理的ディスク３０４、１つ以上の物理的デバイス３０６、１つ以上の物理的プロセッサ３０８、および１つ以上のメモリ２１６を含むことができる。物理的コンポーネント３０４，３０６，３０８および３１６は、たとえば、上述したコンポーネントのいずれを含んでもよい。
【００５２】
物理的デバイス３０６は、たとえば、ネットワーク・インターフェース・カード、ビデオカード、キーボード、マウス、入力デバイス、モニタ、ディスプレイデバイス、スピーカ、光学ドライブ、記憶装置、ユニバーサルシリアルバス接続、プリンタ、スキャナ、ネットワーク素子（例、ルータ、ファイヤウォール、ネットワークアドレス変換器、ロードバランサ、仮想プライベートネットワーク（ＶＰＮ）ゲートウェイ、ダイナミック・ホスト・コンフィギュレーション・プロトコル（ＤＨＣＰ）ルータ等）、または仮想化サーバ３０１に接続されているかもしくは仮想化サーバ３０１と通信するあらゆるデバイスを含んでいる。
【００５３】
ハードウェアレイヤ３１０の物理的メモリ３１６はあらゆるタイプのメモリを含んでもよい。物理的メモリ３１６はデータを格納してもよく、いくつかの実施形態では、１つ以上のプログラム、または実行可能命令のセットを格納してもよい。
【００５４】
図３は、仮想化サーバ３０１の物理的メモリ３１６内にファームウェア３１２が格納されている実施形態を示す。物理的メモリ３１６に格納されているプログラムまたは実行可能命令は、仮想化サーバ３０１の１つ以上のプロセッサ３０８によって実行することができる。
【００５５】
仮想化サーバ３０１はハイパーバイザ３０２も含んでいてもよい。いくつかの実施形態では、ハイパーバイザ３０２は仮想化サーバ３０１のプロセッサ３０８によって実行されて、あらゆる数の仮想マシン３３２を作成して管理するプログラムであってもよい。ハイパーバイザ３０２は仮想マシンモニタ、またはプラットフォーム仮想化ソフトウェアと称されることもある。いくつかの実施形態では、ハイパーバイザ３０２は実行可能命令と、コンピューティングマシン上で実行する仮想マシンを監視するハードウェアとのあらゆる組合せとすることができる。
【００５６】
ハイパーバイザ３０２はタイプ２ハイパーバイザであってもよく、当該ハイパーバイザは仮想化サーバ３０１上で実行するオペレーティングシステム３１４内で実行する。それから、仮想マシンはハイパーバイザより上のレベルで実行する。いくつかの実施形態では、タイプ２ハイパーバイザは、タイプ２ハイパーバイザがユーザのオペレーティングシステムとインタラクトするように、ユーザのオペレーティングシステムのコンテキスト内で実行する。
【００５７】
他の実施形態では、仮想環境内の１つ以上の仮想化サーバ２０１は、代わりにタイプ１ハイパーバイザ（図示せず）を含んでもよい。タイプ１ハイパーバイザは、ハードウェアレイヤ３１０内のハードウェアおよびリソースに直接アクセスすることによって、仮想化サーバ３０１上で実行してもよい。すなわち、タイプ２ハイパーバイザ３０２は図示するようにホストオペレーティングシステム３１４経由でシステムのリソースにアクセスするのに対し、タイプ１ハイパーバイザはホストオペレーティングシステム３１４がなくてもすべてのシステムのリソースに直接アクセスする。タイプ１ハイパーバイザは仮想化サーバ３０１の１つ以上の物理的プロセッサ３０８上で直接実行してもよく、物理的メモリ３１６に格納されているプログラムデータを含んでもよい。
【００５８】
いくつかの実施形態では、ハイパーバイザ３０２はオペレーティングシステム３３０または仮想マシン３３２上で実行する制御プログラム３２０に、システムのリソースに直接アクセスできるオペレーティングシステム３３０または制御プログラム３２０をシミュレートするいずれの方法でも仮想リソースを提供することができる。システムのリソースは、物理的デバイス３０６、物理的ディスク３０４、物理的プロセッサ３０８、物理的メモリ３１６および仮想化サーバ３０１のハードウェアレイヤ３１０に含まれているあらゆる他のコンポーネントを含むことができるが、これだけに限定されない。ハイパーバイザ３０２を使用して、仮想ハードウェアをエミュレートし、物理的ハードウェアを分割し、物理的ハードウェアを仮想化し、および／またはコンピューティング環境へのアクセスを提供する仮想マシンを実行してもよい。
【００５９】
さらに他の実施形態では、ハイパーバイザ３０２は仮想化サーバ３０１上で実行する仮想マシン３３２のプロセッサのスケジューリングおよびメモリの分割を制御する。ハイパーバイザ３０２はカリフォルニア州パロアルトのヴイエムウェア・インクが製造するもの、オープンソースのＸｅｎ．ｏｒｇコミュニティが開発を監督するオープンソース製品のＸＥＮハイパーバイザ、マイクロソフトが提供するＨｙｐｅｒＶ、ＶｉｒｔｕａｌＳｅｒｖｅｒまたは仮想ＰＣハイパーバイザ、または他のものを含んでもよい。いくつかの実施形態では、仮想化サーバ３０１は、その上でゲストオペレーティングシステムが実行してもよい仮想マシンプラットフォームを作成するハイパーバイザ３０２を実行する。これらの実施形態では、仮想化サーバ３０１はホストサーバと称されることがある。このような仮想化サーバの一例が、フロリダ州フォート・ローダーデールのサイトリックス・システムズ・インクが提供するＸＥＮ  ＳＥＲＶＥＲである。
【００６０】
ハイパーバイザ３０２は、その中でゲストオペレーティングシステム３３０が実行する１つ以上の仮想マシン３３２Ｂ〜３３２Ｃ（総称的に３３２）を作成してもよい。いくつかの実施形態では、ハイパーバイザ３０２は仮想マシンイメージをロードして、仮想マシン３３２を作成してもよい。他の実施形態では、ハイパーバイザ３０２は仮想マシン３３２内のゲストオペレーティングシステム３３０を実行してもよい。さらに他の実施形態では、仮想マシン３３２はゲストオペレーティングシステム３３０を実行してもよい。
【００６１】
仮想マシン３３２を作成することに加えて、ハイパーバイザ３０２は少なくとも１つの仮想マシン３３２の実行を制御してもよい。他の実施形態では、ハイパーバイザ３０２は少なくとも１つの仮想マシン３３２に、仮想化サーバ３０１が提供する少なくとも１つのハードウェアリソース（例、ハードウェアレイヤ３１０内で利用できるあらゆるハードウェアリソース）の抽象化を提示してもよい。他の実施形態では、ハイパーバイザ３０２は、仮想マシン３３２が仮想化サーバ３０１で利用できる物理的プロセッサ３０８にアクセスする態様を制御してもよい。物理的プロセッサ３０８へのアクセスを制御することは、仮想マシン３３２がプロセッサ３０８にアクセスできるべきかどうかと、物理的プロセッサの能力をどのように仮想マシン３３２に提示するかと、を判定することを含んでもよい。
【００６２】
図３に図示するように、仮想化サーバ３０１は１つ以上の仮想マシン３３２をホストまたは実行する。仮想マシン３３２は、プロセッサ３０８によって実行されるとき、仮想マシン３３２が物理的コンピューティングデバイスと同様にプログラムおよびプロセスを実行することができるように、物理的コンピュータの動作を模倣する実行可能命令のセットである。
【００６３】
図３は仮想化サーバ３０１が３つの仮想マシン３３２をホストする実施形態を示しているが、他の実施形態では、仮想化サーバ３０１はあらゆる数の仮想マシン３３２をホストすることができる。
【００６４】
いくつかの実施形態では、ハイパーバイザ３０２は各仮想マシン３３２に、その仮想マシン３３２に利用できる物理的ハードウェア、メモリ、プロセッサおよび他のシステム・リソースの固有の仮想ビューを提供する。いくつかの実施形態では、固有の仮想ビューは、仮想マシンの許可、１つ以上の仮想マシン識別子へのポリシーエンジンの適用、仮想マシンにアクセスするユーザ、仮想マシン上で実行するアプリケーション、仮想マシンによってアクセスされるネットワーク、または他の所望の基準に基づくことができる。たとえば、ハイパーバイザ３０２は１つ以上のセキュリティ保護されない（unsecure）仮想マシン３３２と、１つ以上のセキュリティ保護された（secure）仮想マシン３３２とを作成してもよい。セキュリティ保護されない仮想マシン３３２には、セキュリティ保護された仮想マシン３３２がアクセスを許可されるリソース、ハードウェア、メモリ場所およびプログラムを禁止してもよい。他の実施形態では、ハイパーバイザ３０２は各仮想マシン３３２に、仮想マシン３３２に利用できる物理的ハードウェア、メモリ、プロセッサおよび他のシステム・リソースの実質的に同様な仮想ビューを提供してもよい。
【００６５】
各仮想マシン３３２は仮想ディスク３２６Ａ〜３２６Ｃ（総称的に３２６）と、仮想プロセッサ３２８Ａ〜３２８Ｃ（総称的に３２８）とを含んでいる。いくつかの実施形態では、仮想ディスク３２６は仮想化サーバ３０１の１つ以上の物理的ディスク３０４の仮想化ビュー、または仮想化サーバ３０１の１つ以上の物理的ディスク３０４の一部である。物理的ディスク３０４の仮想化ビューはハイパーバイザ３０２によって生成、提供および管理することができる。いくつかの実施形態では、ハイパーバイザ３０２は各仮想マシン３３２に物理的ディスク３０４の固有の（unique）ビューを提供する。したがって、これらの実施形態では、各仮想マシン３３２に含まれる特定の仮想ディスク３２６は、他の仮想ディスク３２６と比べたときにユニークになることができる。
【００６６】
仮想プロセッサ３２８は仮想化サーバ３０１の１つ以上の物理的プロセッサ３０８の仮想化ビューとすることができる。いくつかの実施形態では、物理的プロセッサ３０８の仮想化ビューはハイパーバイザ３０２によって生成、提供および管理することができる。いくつかの実施形態では、仮想プロセッサ３２８は少なくとも１つの物理的プロセッサ３０８の同じ特徴の実質的にすべてを有する。他の実施形態では、仮想プロセッサ３０８は、仮想プロセッサ３２８の特徴の少なくともいくつかが対応する物理的プロセッサ３０８の特徴とは異なるように、物理的プロセッサ３０８の修正ビューを提供する。
【００６７】
図４をさらに参照し、本明細書で説明するいくつかの側面は、クラウドベースの環境に実装される。図４はクラウドコンピューティング環境（またはクラウドシステム）４００の実施例を示す。図４から分かるように、クライアントコンピュータ４１１〜４１４はクラウド管理サーバ４１０と通信して、クラウドシステムのコンピューティングリソース（例、ホストサーバ４０３、ストレージリソース４０４およびネットワークリソース４０５）にアクセスする。
【００６８】
管理サーバ４１０は１つ以上の物理的サーバ上に実装される。管理サーバ４１０は、たとえば、特にフロリダ州フォート・ローダーデールのサイトリックス・システムズ・インクのＣＬＯＵＤＳＴＡＣＫ、またはＯＰＥＮＳＴＡＣＫを稼動する。管理サーバ４１０は、たとえば、ホストコンピュータ４０３、データ記憶装置４０４およびネットワーキングデバイス４０５など、クラウド・ハードウェアおよびソフトウェア・リソースを含め、様々なコンピューティングリソースを管理してもよい。クラウド・ハードウェアおよびソフトウェア・リソースは非公開および／または公開コンポーネントを含んでもよい。たとえば、クラウドは１つ以上の特定のカスタマもしくはクライアントコンピュータ４１１〜４１４によって、および／またはプライベートネットワーク上で使用されるプライベートクラウドとして構成していてもよい。他の実施形態では、パブリッククラウドまたはハイブリッドパブリック−プライベートクラウドが、オープンまたはハイブリッドネットワーク上で他のカスタマによって使用されてもよい。
【００６９】
管理サーバ４１０は、クラウドオペレータおよびクラウドカスタマがクラウドシステムとインタラストしてもよいユーザインターフェースを提供するように構成されていてもよい。たとえば、管理サーバ４１０はユーザインターフェースにＡＰＩのセットおよび／または１つ以上のクラウドオペレータコンソール・アプリケーション（例、ウェブベースのスタンドアロンアプリケーション）を提供して、クラウドオペレータがクラウドリソースを管理し、仮想化レイヤを構成し、カスタマアカウントを管理し、他のクラウド管理タスクを行うことができるようにしてもよい。管理サーバ４１０は、クライアントコンピュータ４１１〜４１４を介してエンドユーザからのクラウドコンピューティング要求、たとえば、クラウド内で仮想マシンを作成、修正または破棄する要求を受信するように構成されているユーザインターフェースを備えるＡＰＩのセットおよび／または１つ以上のカスタマコンソール・アプリケーションを含んでもよい。クライアントコンピュータ４１１〜４１４はインターネットまたは他の通信ネットワークを介して管理サーバ４１０に接続してもよく、管理サーバ４１０が管理するコンピューティングリソースのうちの１つ以上へのアクセスを要求してもよい。
【００７０】
クライアントの要求に応答して、管理サーバ４１０は、クライアント要求に基づいて、クラウドシステムのハードウェアレイヤの物理的リソースを選択し、プロビジョニングするように構成されているリソース・マネージャを含んでもよい。たとえば、管理サーバ４１０およびクラウドシステムの追加コンポーネントは、カスタマに計算リソース、データストレージサービス、ネットワーク能力、ならびにコンピュータプラットフォームおよびアプリケーションサポートを提供しながら、ネットワーク（例、インターネット）上で、クライアントコンピュータ４１１〜４１４のカスタマのために、仮想マシンおよびその動作環境（例、ハイパーバイザ、ストレージリソース、ネットワーク素子が提供するサービス等）をプロビジョニングし、作成し、管理するように構成されていてもよい。クラウドシステムはまた、セキュリティシステム、開発環境、ユーザインターフェース等を含め、さまざまな特定のサービスを提供するように構成されていてもよい。
【００７１】
たとえば、同じエンドユーザのために仮想マシンを作成する異なるクライアントコンピュータ、または同じ会社もしくは組織に関連する異なるユーザなど、一定のクライアント４１１〜４１４は関係があってもよい。他の実施例では、異なる会社もしくは組織に関連するユーザなど、一定のクライアント４１１〜４１４は関係がなくてもよい。関係のないクライアントの場合、いずれかのユーザの仮想マシンまたはストレージ上の情報は他のユーザから隠してもよい。
【００７２】
ここでクラウドコンピューティング環境の物理的ハードウェアレイヤを参照すると、アベイラビリティゾーン４０１〜４０２（またはゾーン）は物理的コンピューティングリソースのひとまとまりのセットといえる。ゾーンはコンピューティングリソースのクラウド全体において他のゾーンとは地理的に分離していてもよい。たとえば、ゾーン４０１はカリフォルニア州に配置されている第１クラウド・データセンターであってもよく、ゾーン４０２はフロリダ州に配置されている第２クラウド・データセンターであってもよい。
【００７３】
管理サーバ４１０はアベイラビリティゾーンのうちの１つ、または別の場所に配置されていてもよい。各ゾーンは、ゲートウェイ経由で、管理サーバ４１０などのゾーン外にあるデバイスとインターフェースする内部ネットワークを含んでもよい。クラウドのエンドユーザ（例、クライアント４１１〜４１４）は、ゾーン間の区別に気付くかもしれないし、または気づかないかもしれない。たとえば、エンドユーザは指定される量のメモリ、処理能力、およびネットワーク能力を有する仮想マシンの作成を要求してもよい。管理サーバ４１０はユーザの要求に応答してもよく、ゾーン４０１またはゾーン４０２のリソースを使用して仮想マシンが作成されたかどうかをユーザが知ることなく、仮想マシンを作成するためにリソースを割り当ててもよい。他の実施例では、クラウドシステムは、エンドユーザが特定のゾーンまたはゾーン内の特定のリソース４０３〜４０５に仮想マシン（または他のクラウドリソース）を割り当てるよう要求できるようにしてもよい。
【００７４】
この実施例では、各ゾーン４０１〜４０２はさまざまな物理的ハードウェアコンポーネント（またはコンピューティングリソース）４０３〜４０５の配列、たとえば、物理的ホスティングリソース（またはプロセッシングリソース）、物理的ネットワークリソース、物理的ストレージリソース、スイッチ、および、カスタマにクラウドコンピューティングサービスを提供するために使用してもよい追加のハードウェアリソースを含んでもよい。クラウドゾーン４０１〜４０２の物理的ホスティングリソースは、上述した仮想化サーバ３０１など、仮想マシンのインスタンスを作成しホストするように構成されていてもよい１つ以上のコンピュータサーバ４０３を含んでもよい。
【００７５】
クラウドゾーン４０１または４０２の物理的ネットワークリソースは、ファイヤウォール、ネットワークアドレス変換器、ロードバランサ、仮想プライベートネットワーク（ＶＰＮ）ゲートウェイ、ダイナミック・ホスト・コンフィギュレーション・プロトコル（ＤＨＣＰ）ルータ等といった、クラウドカスタマにネットワークサービスを提供するように構成されているハードウェアおよび／またはソフトウェアを備える１つまたは複数のネットワーク素子４０５（例、ネットワークサービスプロバイダ）を含んでもよい。クラウドゾーン４０１〜４０２のストレージリソースは、ストレージディスク（例、ソリッドステートドライブ（ＳＳＤ）、磁気ハードディスク等）および他の記憶装置を含んでもよい。
【００７６】
図４に示す例示的なクラウドコンピューティング環境は、クラウドの物理的リソースを使用して仮想マシンを作成して管理し、カスタマに他のサービスを提供するように構成されている追加のハードウェアおよび／またはソフトウェア・リソースを備えた仮想化レイヤ（例、図１〜図３に図示するもの）も含んでいてもよい。仮想化レイヤは、ネットワーク仮想化、ストレージ仮想化等を提供する他のコンポーネントとともに、上述の図３で説明したハイパーバイザを含んでもよい。仮想化レイヤは物理的リソースレイヤとは別のレイヤとしてもよく、または物理的リソースレイヤと同じハードウェアおよび／もしくはソフトウェア・リソースのいくつかもしくはすべてを共有してもよい。たとえば、仮想化レイヤは物理的コンピューティングリソースを有する仮想化サーバ４０３のそれぞれにインストールされているハイパーバイザを含んでもよい。あるいは、たとえば、ＷＩＮＤＯＷＳ（登録商標）  ＡＺＵＲＥ（ワシントン州レドモンドのマイクロソフト・コーポレーション）、ＡＭＡＺＯＮ  ＥＣ２（ワシントン州シアトルのアマゾン・ドット・コム・インク）、ＩＢＭ  ＢＬＵＥ  ＣＬＯＵＤ（ニューヨーク州アーモンクのＩＢＭコーポレーション）、または他のものなど、周知のクラウドシステムを使用してもよい。
【００７７】
〈企業モビリティ管理アーキテクチャ〉
図５は、ＢＹＯＤ環境で使用するための企業モビリティ技術アーキテクチャ５００を示す。このアーキテクチャはモバイルデバイス５０２のユーザがモバイルデバイス５０２から企業リソースまたは個人リソースにアクセスすることと、モバイルデバイス５０２を個人利用に使用することと、の両方を可能にする。ユーザは、当該企業リソース５０４または企業サービス５０８へのアクセスを、ユーザが購入したモバイルデバイス５０２を使用して行ってもよく、または企業がユーザに支給するモバイルデバイス５０２を使用して行ってもよい。ユーザはモバイルデバイス５０２をビジネス専用で利用しても、またはビジネスと個人兼用で利用してもよい。モバイルデバイスはｉＯＳオペレーティングシステム、およびアンドロイド・オペレーティングシステム等を稼動してもよい。企業はモバイルデバイス５０２を管理するポリシーを実装することを選んでもよい。
【００７８】
ポリシーは、ファイヤウォールまたはゲートウェイにより、モバイルデバイスを特定し、セキュリティ保護もしくはセキュリティ検証し、企業リソースへの選択的アクセスもしくは完全なアクセスをモバイルデバイスに提供できるように埋め込んでもよい。ポリシーはモバイルデバイス管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルデータ管理ポリシー、またはモバイルデバイス、アプリケーションおよびデータ管理ポリシーのなんらかの組合せとしてもよい。モバイルデバイス管理ポリシーの適用により管理されるモバイルデバイス５０４は管理対象デバイスということがある。
【００７９】
いくつかの実施形態では、モバイルデバイスのオペレーティングシステムは、管理対象パーティション５１０と非管理対象パーティション５１２とに分離されていてもよい。管理対象パーティション５１０は管理対象パーティション上で稼動しているアプリケーションおよび管理対象パーティションに格納されているデータをセキュリティ保護された状態にするために、ポリシーをそれに適用させてもよい。管理対象パーティション上で稼動しているアプリケーションはセキュリティ保護されたアプリケーションであってもよい。
【００８０】
他の実施形態では、すべてのアプリケーションはアプリケーションとは別に受信される１つ以上のポリシーファイルのセットに従って実行してもよく、このポリシーファイルのセットはデバイス上でアプリケーションが実行しているときに、モバイルデバイス管理システムによって強制される１つ以上のセキュリティパラメータ、特徴、リソース制限および／または他のアクセス制御を定義する。それぞれのポリシーファイルに従って操作することにより、各アプリケーションは１つ以上の他のアプリケーションおよび／もしくはリソースとの通信を許可または制限されてもよく、それによって仮想パーティションを作成する。
【００８１】
このように、本明細書で使用するパーティションとは、物理的に分割されたメモリの部分（物理的パーティション）、論理的に分割されたメモリの部分（論理的パーティション）ならびに／または本明細書で説明する複数のアプリにわたり１つ以上のポリシーおよび／もしくはポリシーファイルの強制の結果として作成される仮想パーティション（仮想パーティション）といえる。言い換えると、管理対象アプリにポリシーを強制することにより、そのアプリは他の管理対象アプリおよび信頼される企業リソースとのみ通信できるように制限してもよく、それによって非管理対象アプリおよびデバイスが入れない仮想パーティションを作成する。
【００８２】
セキュリティ保護されたアプリケーションは、電子メール・アプリケーション、ウェブブラウザ・アプリケーション、サービスとしてのソフトウェア（ＳａａＳ）アクセス・アプリケーション、Ｗｉｎｄｏｗｓ（登録商標）  Ａｐｐｌｉｃａｔｉｏｎアクセス・アプリケーション等であってもよい。セキュリティ保護されたアプリケーションは、セキュリティ保護されたネイティブアプリケーション５１４、セキュリティ保護されたアプリケーション・ランチャ５１８が実行するセキュリティ保護されたリモート・アプリケーション５２２、セキュリティ保護されたアプリケーション・ランチャ５１８が実行する仮想化アプリケーション５２６等であってもよい。
【００８３】
セキュリティ保護されたネイティブアプリケーション５１４はセキュリティ保護されたアプリケーション・ラッパー５２０によってラッピングしてもよい。セキュリティ保護されたアプリケーション・ラッパー５２０は、セキュリティ保護されたネイティブアプリケーションがデバイス上で実行されるときに、モバイルデバイス５０２上で実行される統合ポリシーを含んでもよい。セキュリティ保護されたアプリケーション・ラッパー５２０は、モバイルデバイス５０２上で稼動するセキュリティ保護されたネイティブアプリケーション５１４を、セキュリティ保護されたネイティブアプリケーション５１４の実行時に要求されるタスクを完了するようにセキュリティ保護されたネイティブアプリケーション５１４が要求してもよい企業でホストされるリソースに差し向けるメタデータを含んでもよい。セキュリティ保護されたアプリケーション・ランチャ５１８が実行するセキュリティ保護されたリモート・アプリケーション５２２は、セキュリティ保護されたアプリケーション・ランチャ・アプリケーション５１８内で実行してもよい。セキュリティ保護されたアプリケーション・ランチャ５１８が実行する仮想化アプリケーション５２６は、企業リソース５０４等で、モバイルデバイス５０２のリソースを利用してもよい。セキュリティ保護されたアプリケーション・ランチャ５１８が実行する仮想化アプリケーション５２６によってモバイルデバイス５０２で使用されるリソースは、ユーザ相互作用リソース、プロセッシングリソース等を含んでもよい。
【００８４】
ユーザ相互作用リソースは、キーボード入力、マウス入力、カメラ入力、触覚入力、オーディオ入力、ビジュアル入力、ジェスチャ入力等を収集して、伝送するために使用してもよい。プロセッシングリソースはユーザインターフェースを提示し、企業リソース５０４等から受信されるデータを処理するために使用してもよい。セキュリティ保護されたアプリケーション・ランチャ５１８が実行する仮想化アプリケーション５２６によって企業リソース５０４で使用されるリソースは、ユーザインターフェース生成リソース、プロセッシングリソース等を含んでもよい。ユーザインターフェース生成リソースは、ユーザインターフェースをアセンブルし、ユーザインターフェースを修正し、ユーザインターフェースをリフレッシュする等のために使用してもよい。
【００８５】
プロセッシングリソースは情報を作成し、情報を読み取り、情報を更新し、情報を削除する等のために使用してもよい。たとえば、仮想化アプリケーションはＧＵＩに関連するユーザ相互作用を記録し、それをサーバ・アプリケーションに伝えてもよく、当該サーバ・アプリケーションはユーザ相互作用データをサーバで動作するアプリケーションへの入力として使用する。この構成では、企業は、アプリケーションに関連するデータ、ファイル等と同様に、サーバ側のアプリケーションを維持する選択をしてもよい。企業はモバイルデバイスへのデプロイメントのためにそれをセキュリティ保護された状態にすることにより本明細書の原理に従っていくつかのアプリケーションを「モバイル化」する選択をしてもよいが、この構成は一定のアプリケーションのためにも選択してもよい。たとえば、いくつかのアプリケーションはモバイルデバイスで使用するためにセキュリティ保護された状態にしてもよいが、他のものはモバイルデバイスへのデプロイメントの準備がされていないかまたはデプロイメントに適切ではない可能性があるので、企業は仮想化技術により準備されていないアプリケーションへのアクセスをモバイルユーザに提供する選択をしてもよい。
【００８６】
別の実施例として、企業は大量の複雑なデータセットを有する大きく複雑なアプリケーション（例、資材所要量計画アプリケーション）を有することがあり、当該モバイルデバイスのアプリケーションをカスタマイズするのは非常に難しく、またはその他望ましくないので、企業は仮想化技術によりアプリケーションへのアクセスを提供する選択をしてもよい。さらに別の実施例として、企業は、セキュリティ保護化したモバイル環境であっても扱いに非常に注意を要すると企業に見なされて、企業が当該アプリケーションおよびデータへのモバイルアクセスを許可するために仮想化技術を選択してもよい高セキュリティ保護化データ（例、人事データ、顧客データ、エンジニアリングデータ）を維持するアプリケーションを有してもよい。企業はサーバ側でより適切に動作すると見なされるアプリケーションへのアクセスを許可するために、仮想化アプリケーションとともに、モバイルデバイス上の完全にセキュリティ保護化しかつ完全に機能するアプリケーションを提供する選択をしてもよい。実施形態では、仮想化アプリケーションは、携帯電話のセキュリティ保護された記憶場所のうちの１つに、いくつかのデータ、ファイル等を格納してもよい。たとえば、企業は一定の情報を電話に格納させるが、他の情報を許可しない選択をしてもよい。
【００８７】
本明細書で説明するように、仮想化アプリケーションに関連して、モバイルデバイスは、ＧＵＩを提示し、さらにＧＵＩとのユーザ相互作用を記録／パススルーするように設計されている仮想化アプリケーションを有してもよい。アプリケーションは、アプリケーションとのユーザ相互作用として、サーバ側アプリケーションが使用するサーバ側とのユーザ相互作用を伝えてもよい。応答して、サーバ側のアプリケーションはモバイルデバイスに新たなＧＵＩを送り戻してもよい。たとえば、新たなＧＵＩは静的ページ、動的ページ、アニメーションまたは同様な他のものであってもよく、それによって遠隔設置されたリソースへのアクセスを提供する。
【００８８】
セキュリティ保護されたアプリケーションは、モバイルデバイスの管理対象パーティション５１０のセキュリティ保護されたデータコンテナ５２８に格納されているデータにアクセスしてもよい。セキュリティ保護されたデータコンテナにセキュリティ保護化されているデータは、セキュリティ保護されたラッピングされたアプリケーション５１４、セキュリティ保護されたアプリケーション・ランチャ５２２が実行するアプリケーション、セキュリティ保護されたアプリケーション・ランチャ５２２が実行する仮想化アプリケーション５２６等によってアクセスしてもよい。セキュリティ保護されたデータコンテナ５２８に格納されているデータはファイル、データベース等を含んでもよい。セキュリティ保護されたデータコンテナ５２８に格納されているデータはセキュリティ保護されたアプリケーション５３２の中で共有される特定のセキュリティ保護されたアプリケーション５３０等に制限されるデータを含んでもよい。セキュリティ保護されたアプリケーションに制限されるデータは、セキュリティ保護された一般データ５３４および高セキュリティ保護されたデータ５３８を含んでもよい。セキュリティ保護された一般データはＡＥＳ  １２８ビット暗号化等の強力な暗号化方式を使用してもよいが、高セキュリティ保護されたデータ５３８はＡＥＳ  ２５４ビット暗号化などの非常に強力な暗号化方式を使用してもよい。セキュリティ保護されたデータコンテナ５２８に格納されているデータは、デバイスマネージャ５２４からのコマンドを受信すると、デバイスから削除してもよい。
【００８９】
セキュリティ保護されたアプリケーションはデュアルモードオプション５４０を有してもよい。デュアルモードオプション５４０は、非セキュリティ保護化モードで、セキュリティ保護されたアプリケーションを動作させるオプションをユーザに提示してもよい。非安全化モードでは、セキュリティ保護されたアプリケーションはモバイルデバイス５０２の非管理対象パーティション５１２の非セキュリティ保護化データコンテナ５４２に格納されているデータにアクセスしてもよい。非セキュリティ保護化データコンテナに格納されているデータは個人データ５４４であってもよい。非セキュリティ保護化データコンテナ５４２に格納されているデータは、モバイルデバイス５０２の非管理対象パーティション５１２上で稼動している非セキュリティ保護化アプリケーション５４８によってアクセスしてもよい。非セキュリティ保護化データコンテナ５４２に格納されているデータは、セキュリティ保護されたデータコンテナ５２８に格納されているデータがモバイルデバイス５０２から削除されるとき、モバイルデバイス５０２上に残してもよい。
【００９０】
企業は、ユーザが所有、ライセンスもしくは制御する個人データ、ファイルおよび／もしくはアプリケーション（個人データ）を残しながら、またはその他存続させながら、企業が所有、ライセンスまたは制御する選択されたもしくはすべてのデータ、ファイル、および／またはアプリケーション（企業データ）をモバイルデバイスから削除したいことがある。この動作を選択的消去ということがある。本明細書で説明する側面に従って分類される企業データおよび個人データを用いて、企業は選択的ワイプを行ってもよい。
【００９１】
モバイルデバイスは企業の企業リソース５０４および企業サービス５０８と、公衆インターネット５４８等とに接続してもよい。モバイルデバイスは仮想プライベートネットワーク接続を介して企業リソース５０４および企業サービス５０８に接続してもよい。仮想プライベートネットワーク接続は、マイクロＶＰＮまたは特定アプリケーション専用ＶＰＮとも言われ、モバイルデバイスの特定のアプリケーション５５０、特定のデバイス、特定のセキュリティ保護化エリア等５５２に特定的なものにしてもよい。たとえば、電話のセキュリティ保護化エリア内にラッピングされたアプリケーションのそれぞれは、ＶＰＮへのアクセスが、おそらくユーザまたはデバイスの属性情報と合わせて、アプリケーションに関連する属性に基づいて付与されるように、アプリケーション特定ＶＰＮ経由で企業リソースにアクセスしてもよい。
【００９２】
仮想プライベートネットワーク接続はＭｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅトラフィック、Ｍｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙトラフィック、ＨＴＴＰトラフィック、ＨＴＴＰＳトラフィック、アプリケーション管理トラフィック等を伝送してもよい。仮想プライベートネットワーク接続はシングルサインオン認証プロセス５５４をサポートし、これを有効にしてもよい。シングルサインオンプロセスは、ユーザが、後で認証サービス５５８によって検証される単一セットの認証資格情報を提供できるようにしてもよい。それから、認証サービス５５８は、各個々の企業リソース５０４に認証資格情報を提供するようユーザに要求しなくても、ユーザに複数の企業リソース５０４へのアクセス権を付与してもよい。
【００９３】
仮想プライベートネットワーク接続は、アクセス・ゲートウェイ５６０によって確立されて、管理される。アクセス・ゲートウェイ５６０は企業リソース５０４のモバイルデバイス５０２への配信を管理し、高速化しおよび改善するパフォーマンス向上特徴を含んでもよい。アクセス・ゲートウェイはモバイルデバイス５０２から公衆インターネット５４８にトラフィックを経路切替えしてもよく、モバイルデバイス５０２が公衆インターネット５４８で稼動している公開利用できる非セキュリティ保護化アプリケーションにアクセスすることを可能にする。モバイルデバイスは転送ネットワーク５６２を介してアクセス・ゲートウェイに接続してもよい。転送ネットワーク５６２はワイヤードネットワーク、ワイヤレスネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、広域ネットワーク、パブリックネットワーク、プライベートネットワーク等でもよい。
【００９４】
企業リソース５０４は電子メールサーバ、ファイル共有サーバ、ＳａａＳアプリケーション、ウェブアプリケーションサーバ、Ｗｉｎｄｏｗｓ（登録商標）アプリケーションサーバ等を含んでもよい。電子メールサーバはＥｘｃｈａｎｇｅサーバ、Ｌｏｔｕｓ  Ｎｏｔｅｓサーバ等を含んでもよい。ファイル共有サーバはＳｈａｒｅＦｉｌｅサーバ等を含んでもよい。ＳａａＳアプリケーションはＳａｌｅｓｆｏｒｃｅ等を含んでもよい。Ｗｉｎｄｏｗｓ（登録商標）アプリケーションサーバはローカルなＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム上で稼動するように意図されたアプリケーションを提供するために構築されているあらゆるアプリケーションサーバ等を含んでもよい。企業リソース５０４はプレミスベースのリソース、クラウドベースのリソース等であってもよい。企業リソース５０４はモバイルデバイス５０２から直接、またはアクセス・ゲートウェイ５６０経由でアクセスしてもよい。企業リソース５０４はモバイルデバイス５０２から転送ネットワーク５６２を介してアクセスしてもよい。転送ネットワーク５６２はワイヤードネットワーク、ワイヤレスネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、広域ネットワーク、パブリックネットワーク、プライベートネットワーク等であってもよい。
【００９５】
企業サービス５０８は認証サービス５５８、脅威検出サービス５６４、デバイスマネージャサービス５２４、ファイル共有サービス５６８、ポリシーマネージャサービス５７０、ソーシャル統合サービス５７２、アプリケーションコントローラサービス５７４等を含んでもよい。認証サービス５５８はユーザ認証サービス、デバイス認証サービス、アプリケーション認証サービス、データ認証サービス等を含んでもよい。認証サービス５５８は証明書を使用してもよい。証明書は企業リソース５０４等によりモバイルデバイス５０２に格納してもよい。モバイルデバイス５０２に格納されている証明書は、モバイルデバイスの暗号化された場所に格納してもよく、証明書は認証時点で使用する等のためにモバイルデバイス５０２に一時的に格納してもよい。脅威検出サービス５６４は侵入検出サービス、不正アクセス試行検出サービス等を含んでもよい。不正アクセス試行検出サービスはデバイス、アプリケーション、データ等への不正アクセスの試行を含んでもよい。
【００９６】
デバイス管理サービス５２４は構成サービス、プロビジョニングサービス、セキュリティサービス、サポートサービス、監視サービス、レポーティングサービスおよびデコミッショニングサービスを含んでもよい。ファイル共有サービス５６８はファイル管理サービス、ファイルストレージサービス、ファイルコラボレーションサービス等を含んでもよい。ポリシーマネージャサービス５７０はデバイスポリシーマネージャサービス、アプリケーションポリシーマネージャサービス、データポリシーマネージャサービス等を含んでもよい。ソーシャル統合サービス５７２は連絡先統合サービス、コラボレーションサービス、Ｆａｃｅｂｏｏｋ、ＴｗｉｔｔｅｒおよびＬｉｎｋｅｄＩｎなどのソーシャル・ネットワークとの統合等を含んでもよい。アプリケーションコントローラサービス５７４は管理サービス、プロビジョニングサービス、デプロイメントサービス、割り当てサービス、失効サービス、ラッピングサービス等を含んでもよい。
【００９７】
企業モビリティ技術アーキテクチャ５００は、アプリケーションストア５７８を含んでもよい。アプリケーションストア５７８はラッピングされていないアプリケーション５８０、予めラッピングされたアプリケーション５８２等を含んでもよい。アプリケーションはアプリケーションコントローラ５７４からアプリケーションストア５７８に移植してもよい。アプリケーションストア５７８はモバイルデバイス５０２からアクセス・ゲートウェイ５６０、公衆インターネット５４８等経由でアクセスしてもよい。アプリケーションストアには直観的に理解でき、使いやすいユーザインターフェースを備えてもよい。アプリケーションストア５７８はソフトウェア開発キット５８４へのアクセス権を提供してもよい。ソフトウェア開発キット５８４は、本明細書で上述したようにアプリケーションをラッピングすることにより、ユーザが選択したアプリケーションをセキュリティ保護化する機能をユーザに提供してもよい。ソフトウェア開発キット５８４を用いてラッピングされたアプリケーションは、さらにアプリケーションコントローラ５７４を用いてアプリケーションストア５７８にそれを移植することにより、モバイルデバイス５０２に利用できるようにしてもよい。
【００９８】
企業モビリティ技術アーキテクチャ５００は、管理解析機能５８８を含んでもよい。管理解析機能５８８はリソースの使用方法、リソースの使用頻度等に関連する情報を提供してもよい。リソースはデバイス、アプリケーション、データ等を含んでもよい。リソースの使用方法は、どのデバイスがどのアプリケーションをダウンロードするか、どのアプリケーションがどのデータにアクセスするか等を含んでもよい。リソースの使用頻度は、アプリケーションがダウンロードされた頻度、アプリケーションが特定のデータセットにアクセスした回数等を含んでもよい。
【００９９】
図６は、別の例示的な企業モビリティ管理システム６００を示す。図５を参照して上述したモビリティ管理システム５００の構成要素のうちのいくつかは、簡略化するために省略している。図６に図示するシステム６００のアーキテクチャは、図５を参照して上述したシステム５００のアーキテクチャと多くの点で類似しており、上述していない追加の特徴を含んでもよい。
【０１００】
この場合、左側はクライアントエージェント６０４とともに管理対象モバイルデバイス６０２を表しており、これがゲートウェイサーバ６０６（アクセス・ゲートウェイおよびアプリコントローラ機能を含む）とインタラクトして、右側に示すＥｘｃｈａｎｇｅ、Ｓｈａｒｅｐｏｉｎｔ、ＰＫＩリソース、Ｋｅｒｂｅｒｏｓリソース、証明書発行サービスなどの様々な企業リソース６０８およびサービス６０９にアクセスする。具体的には図示していないが、モバイルデバイス６０２はアプリケーションの選択とダウンロードのために、企業アプリケーションストア（ＳｔｏｒｅＦｒｏｎｔ）とインタラクトしてもよい。
【０１０１】
クライアントエージェント６０４はＥｎｔｅｒｐｒｉｓｅデータセンターでホストされるＷｉｎｄｏｗｓ（登録商標）アプリ／デスクトップのＵＩ（ユーザインターフェース）媒介装置として機能し、ＥｎｔｅｒｐｒｉｓｅデータセンターはＨＤＸ／ＩＣＡ表示リモーティングプロトコルを使用してアクセスされる。クライアントエージェント６０４は、ネイティブｉＯＳまたはＡｎｄｒｏｉｄアプリケーションなどのモバイルデバイス６０２のネイティブアプリケーションのインストールおよび管理もサポートする。
【０１０２】
たとえば、上述の図面に図示する管理対象アプリケーション６１０（メール、ブラウザ、ラッピングされたアプリケーション）はすべてデバイス上でローカルに実行するネイティブアプリケーションである。このアーキテクチャのクライアントエージェント６０４およびアプリケーション管理フレームワークは、企業リソース／サービス６０８との接続性およびＳＳＯ（シングルサインオン）などのポリシーによる管理の機能および特徴を提供するように機能する。クライアントエージェント６０４は企業への、通常は他のゲートウェイサーバコンポーネントに対するＳＳＯによるアクセス・ゲートウェイ（ＡＧ）への、一次ユーザ認証を扱う。クライアントエージェント６０４はゲートウェイサーバ６０６からポリシーを取得して、モバイルデバイス６０２上の管理対象アプリケーション６１０の挙動を制御する。
【０１０３】
ネイティブアプリケーション６１０とクライアントエージェント６０４とのセキュリティ保護されたＩＰＣリンク６１２は管理チャネルを表し、これによりクライアントエージェントは各アプリケーションを「ラッピング」するアプリケーション管理フレームワーク６１４によって強制されるポリシーを供給することができる。ＩＰＣチャネル６１２により、クライアントエージェント６０４はまた、企業リソース６０８との接続性およびＳＳＯを有効にする資格情報および認証情報を供給することができる。最後に、ＩＰＣチャネル６１２により、アプリケーション管理フレームワーク６１４は、オンラインおよびオフラインによる認証など、クライアントエージェント６０４が実装するユーザインターフェース機能を呼び出すことができる。
【０１０４】
クライアントエージェント６０４とゲートウェイサーバ６０６との通信は、本質的に、各ネイティブ管理対象アプリケーション６１０をラッピングするアプリケーション管理フレームワーク６１４からの管理チャネルの拡張である。アプリケーション管理フレームワーク６１４はクライアントエージェント６０４からポリシー情報を要求し、これがさらにゲートウェイサーバ６０６からそれを要求する。アプリケーション管理フレームワーク６１４は認証を要求し、クライアントエージェント６０４はゲートウェイサーバ６０６のゲートウェイサービス部（ＮｅｔＳｃａｌｅｒ  Ａｃｃｅｓｓ  Ｇａｔｅｗａｙとしても知られる）にログインする。クライアントエージェント６０４はゲートウェイサーバ６０６上のサポートサービスも呼び出してもよく、それが、以下詳細に説明するように、ローカルデータボルト６１６の暗号化鍵を導出するための入力成分を生成するか、または直接認証を可能にするクライアント証明書をＰＫＩ保護リソースに提供してもよい。
【０１０５】
さらに詳しく、アプリケーション管理フレームワーク６１４は各管理対象アプリケーション６１０を「ラッピング」する。これは明確なビルドステップ、またはビルド後処理ステップを介して組み込んでもよい。アプリケーション管理フレームワーク６１４は、セキュリティ保護ＩＰＣチャンネルを初期化し、そのアプリケーションのポリシーを取得するために、アプリケーション６１０の最初の起動時にクライアントエージェント６０４と「ペア」にしてもよい。アプリケーション管理フレームワーク６１４は、クライアントエージェントのログイン・ディペンデンシーおよび、ローカルＯＳサービスをどのように使用してよいか、またはローカルＯＳサービスがアプリケーション６１０とどのようにインタラクトしてよいかを制限する閉じ込めポリシーのうちのいくつかなど、ローカルに適用するポリシーの関連部分を強制してもよい。
【０１０６】
アプリケーション管理フレームワーク６１４はセキュリティ保護ＩＰＣチャネル６１２上でクライアントエージェント６０４が提供するサービスを使用して、認証および内部ネットワークアクセスを促進してもよい。プライベート・共有データボルト６１６（コンテナ）の鍵管理も、管理対象アプリケーション６１０とクライアントエージェント６０４との適切なインタラクションにより管理してもよい。ボルト６１６はオンライン認証後にのみ利用できてもよく、またはポリシーが許可する場合にはオフライン認証後に利用できるようにしてもよい。ボルト６１６の初めての使用にはオンライン認証を要求してもよく、オフラインアクセスは最大でもオンライン認証が再び要求される前のポリシーリフレッシュ期間に制限してもよい。
【０１０７】
内部リソースへのネットワークアクセスは、個々の管理対象アプリケーション６１０からアクセス・ゲートウェイ６０６に直接行ってもよい。アプリケーション管理フレームワーク６１４は各アプリケーション６１０のためにネットワークアクセスのオーケストレーションを担う。クライアントエージェント６０４は、オンライン認証後に取得される適切な時間制限付きの二次資格情報を提供することにより、これらのネットワーク接続を促進してもよい。リバースウェブプロキシ接続およびエンドツーエンドＶＰＮ型トンネル６１８など、ネットワーク接続の複数のモードを使用してもよい。
【０１０８】
メール・ブラウザ管理対象アプリケーション６１０は特別なステータスを有し、任意にラッピングされたアプリケーションには一般に利用できない可能性のあるファシリティを利用できるようにしてもよい。たとえば、メール・アプリケーションは、フルＡＧログオンを要求せずに、長時間Ｅｘｃｈａｎｇｅへのアクセスを可能にする特別なバックグラウンドネットワークアクセスメカニズムを使用してもよい。ブラウザ・アプリケーションは異なる種類のデータを分ける複数のプライベートデータボルトを使用してもよい。
【０１０９】
このアーキテクチャは、さまざまな他のセキュリティ特徴の組み込みをサポートする。たとえば、ある場合にはゲートウェイサーバ６０６（そのゲートウェイ・サービスを含む）はＡＤパスワードの妥当性確認をする必要がない。ある状況においてＡＤパスワードをあるユーザの認証因子として使用するかどうかは、企業の裁量に任すことができる。ユーザがオンラインまたはオフラインである（つまり、ネットワークに接続されている場合または接続されていない場合）、異なる認証方法を使用してもよい。
【０１１０】
ステップアップ認証は、ゲートウェイサーバ６０６が強力な認証が必要な極秘データへアクセスすることが認められている管理対象ネイティブアプリケーション６１０を識別し、以前の弱いレベルのログイン後にユーザにより再認証が要求されることになるとしても、これらのアプリケーションへのアクセスが適切な認証を行った後にのみ許可されることを確保してもよい。
【０１１１】
このソリューションの別のセキュリティ特徴は、モバイルデバイス６０２でのデータボルト（data vaults）６１６（コンテナ）の暗号化である。ボルト６１６は、ファイル、データベースおよび構成を含むすべてのオンデバイスデータが保護されるように暗号化してもよい。オンラインボルトの場合、鍵はサーバ（ゲートウェイサーバ６０６）に格納してもよく、オフラインボルトの場合、鍵のローカルコピーをユーザ・パスワードによって保護してもよい。セキュリティ保護されたコンテナ６１６でデータがデバイス６０２にローカルに格納される場合、最低でもＡＥＳ２５６暗号化アルゴリズムを利用するのが好ましい。
【０１１２】
他のセキュリティ保護されたコンテナの特徴も実装してもよい。たとえば、ロギング特徴を含めてもよく、アプリケーション６１０内で起こるすべてのセキュリティイベントを記録して、バックエンドに報告する。アプリケーション６１０が改ざんを検出する場合など、データ消去をサポートしてもよく、ユーザデータが破棄されたことの手がかりをファイルシステムに残さずに、関連暗号化鍵をランダムデータで上書きしてもよい。スクリーンショットの保護は別の特徴で、アプリケーションはデータをスクリーンショットに格納させないようにしてもよい。たとえば、鍵ウインドウの隠しプロパティをＹＥＳに設定してもよい。これにより、どのようなコンテンツが現在スクリーンに表示されていてもそれを隠せるので、通常いずれかのコンテンツが常駐するスクリーンショットがブランクになる。
【０１１３】
たとえば、データを外部のアプリケーションにコピーまたは送信するなど、アプリケーション・コンテナ外にローカルにデータを転送することを一切させないなどして、ローカルなデータ転送を防止してもよい。キーボードのキャッシュ特徴は扱いに注意を要するテキストフィールドのオートコレクト機能を使用不可にするように動作してもよい。ＳＳＬ証明書の妥当性検証を使用可能にしてもよいので、キーチェーンに格納する代わりに、アプリケーションはサーバＳＳＬ証明書を特別に妥当性検証する。デバイスのデータを暗号化するために使用する鍵をユーザによって供給されるパスフレーズを使用して生成するように（オフラインアクセスが要求される場合）、暗号化鍵生成特徴を使用してもよい。オフラインアクセスが要求されない場合、サーバ側でランダムに生成し、格納される別の鍵を用いてＸＯＲをとってもよい。鍵導出関数は、ユーザ・パスワードから生成される鍵が、その暗号学的ハッシュを作成するのではなく、ＫＤＦ（鍵導出関数、特にＰＢＫＤＦ２）を使用するように動作してもよい。前者では、鍵が総当たり攻撃または辞書攻撃を受けやすくなる。
【０１１４】
さらに、暗号化方法に１つ以上の初期化ベクトルを使用してもよい。初期化ベクトルは同じ暗号化データの複数のコピーに異なる暗号文出力を生じ、再生およびと暗号解読攻撃の両方を防止する。これは攻撃者がデータの暗号化に使用する特定の初期化ベクトルが不明な場合に盗んだ暗号鍵を用いた場合であっても、データの解読を防止する。また、認証後の解読を使用してもよく、ユーザがアプリケーション内で認証された後でしかアプリケーションデータは解読されない。別の特徴はメモリ内の扱いに注意を要するデータに関係してもよく、それが必要なときにのみ、メモリ（ディスクではない）に保管されてもよい。たとえば、ログイン資格情報はログイン後にメモリから消去されて、オブジェクティブＣインスタンス変数内の暗号化鍵および他のデータは、簡単に参照される可能性があるため格納されない。代わりに、これらのためにメモリを手動で割り当ててもよい。
【０１１５】
ポリシーで定義した無活動期間の経過後に、ユーザのセッションを終了する無活動タイムアウトを実装してもよい。
【０１１６】
アプリケーション管理フレームワーク６１４からのデータ漏えいは、他の方法で防止してもよい。たとえば、アプリケーション６１０がバックグラウンドに入る場合、所定（構成可能な）期間後にメモリをクリアにしてもよい。バックグラウンドに移るとき、アプリケーションの最後に表示されたスクリーンのスクリーンショットを取得して、フォアグラウンドに出すプロセスを迅速化してもよい。スクリーンショットは機密データを含むことがあり、そのためクリアにされるべきである。
【０１１７】
別のセキュリティ特徴は、１つ以上のアプリケーションにアクセスするためにＡＤ（アクティブディレクトリ）６２２のパスワードを使用せずに、ＯＴＰ（ワンタイムパスワード）６２０の使用に関係する。ある場合には、あるユーザは自身のＡＤパスワードを知らず（または知ることを許可されておらず）、そのためこれらユーザはＳｅｃｕｒＩＤなどのハードウェアＯＴＰシステムを使用するなど、ＯＴＰ６２０を使用して認証してもよい（ＯＴＰは、エントラストまたはジェムアルトなど、異なるベンダも提供する）。ある場合には、ユーザがユーザＩＤで認証した後、ＯＴＰ６２０を用いてユーザにテキストが送信される。ある場合には、これはオンライン利用の場合のみ実施してもよく、プロンプトは単一フィールドである。
【０１１８】
企業ポリシーによるオフライン使用が許可されるアプリケーション６１０については、オフライン認証のためにオフラインパスワードを実装してもよい。たとえば、企業はＳｔｏｒｅＦｒｏｎｔにこの方法でアクセスしてもらいたい可能性がある。この場合、クライアントエージェント６０４はユーザにカスタムオフラインパスワードの設定を要求してもよく、ＡＤパスワードは使用されない。ゲートウェイサーバ６０６は、標準的なＷｉｎｄｏｗｓ（登録商標）  Ｓｅｒｖｅｒパスワードの複雑さの要件で記述されるなど、パスワードの最低長さ、文字種の組合せおよび有効期限に関するパスワード標準を制御し、強制するポリシーを提供してもよい。ただし、これらの要件は修正してもよい。
【０１１９】
別の特徴は、二次資格情報として一定のアプリケーション６１０のクライアント側証明の有効化に関する（アプリケーション管理フレームワークのマイクロＶＰＮ特徴を介してＰＫＩ保護ウェブリソースにアクセスするため）。たとえば、＠ＷｏｒｋＭａｉｌなどのアプリケーションはこのような証明書を利用することがある。この場合、ＡｃｔｉｖｅＳｙｎｃプロトコルを使用した証明書による認証をサポートしてもよく、クライアントエージェント６０４からの証明書はゲートウェイサーバ６０６によって検索されて、キーチェーンで使用してもよい。各管理対象アプリケーションは、ゲートウェイサーバ６０６で定義されるラベルによって識別される１つの関連クライアント証明書を有してもよい。
【０１２０】
ゲートウェイサーバ６０６は企業専用ウェブサービスとインタラクトして、該当の管理対象アプリケーションが内部ＰＫＩ保護リソースに認証を行うことを可能にするクライアント証明書の発行をサポートしてもよい。
【０１２１】
クライアントエージェント６０４およびアプリケーション管理フレームワーク６１４は、内部ＰＫＩ保護ネットワークリソースに認証を行うために、クライアント証明書の取得および使用をサポートするように増強してもよい。さまざまなレベルのセキュリティおよび／または隔離の要求事項に応じるためなど、２つ以上の証明書をサポートしてもよい。証明書はメール・ブラウザ管理対象アプリケーション、および最終的には任意にラッピングされたアプリケーションが使用してもよい（ただし、アプリケーション管理フレームワークがｈｔｔｐｓ要求を仲介するのが合理的な場合、これらのアプリケーションはウェブサービス型の通信パターンを使用する）。
【０１２２】
ｉＯＳのアプリケーション管理クライアント証明書サポートは、各使用期間中、各管理対象アプリケーションのｉＯＳキーチェーンへのＰＫＣＳ  １２  ＢＬＯＢ（バイナリ・ラージ・オブジェクト）のインポートに依拠してもよい。アプリケーション管理フレームワークのクライアント証明書サポートは、プライベートメモリ内キーストレージとともにＨＴＴＰＳ実装を使用してもよい。クライアント証明書はｉＯＳキーチェーンには絶対に存在することはなく、強力に保護されている「オンライン限定の」データ値を潜在的に除き、存続させない。
【０１２３】
相互ＳＳＬも実装して、企業に対してモバイルデバイス６０２が認証され、かつその逆を要求することにより、追加のセキュリティを提供してもよい。ゲートウェイサーバ６０６に対する認証用の仮想スマートカードも実装してもよい。
【０１２４】
限定およびフル両方のケルベロスサポートを追加の特徴としてもよい。フルサポート特徴は、ＡＤパスワードまたは信頼できるクライアント証明書を使用したＡＤ６２２へのフルケルベロスログインを行い、ＨＴＴＰ  Ｎｅｇｏｔｉａｔｅ認証チャレンジにレスポンスするためにケルベロスサービスチケットを取得する能力に関係する。限定サポート特徴はＡＦＥＥでの制約付き委任に関係し、当該ＡＦＥＥサポートはケルベロスプロトコル遷移の呼び出しをサポートするので、ＨＴＴＰ  Ｎｅｇｏｔｉａｔｅ認証チャレンジにレスポンスしてケルベロスサービスチケット（制約付き委任を条件とする）を取得して使用することができる。このメカニズムはリバースウェブプロキシ（別名ＣＶＰＮ）モードで機能し、ｈｔｔｐ（ただし、ｈｔｔｐｓではない）接続はＶＰＮおよびマイクロＶＰＮモードでプロキシされる。
【０１２５】
別の特徴はアプリケーション・コンテナのロックおよび消去に関係し、これはジェイルブレイクまたはルート化検出時には自動的に行われ、管理コンソールからプッシュされるコマンドとして発生し、たとえアプリケーション６１０が稼動していないときでも、遠隔消去機能を含んでもよい。
【０１２６】
障害のある場合に、いくつかの異なる場所のうちの１つからユーザがサービスを受けられるＳｔｏｒｅＦｒｏｎｔおよびＡｐｐ  Ｃｏｎｔｒｏｌｌｅｒのマルチサイト・アーキテクチャまたは構成をサポートしてもよい。
【０１２７】
ある場合には、管理対象アプリケーション６１０には、ＡＰＩ（例、ＯｐｅｎＳＳＬ）を介して証明書および秘密鍵にアクセスが許可されてもよい。企業の信頼できる管理対象アプリケーション６１０は、アプリケーションのクライアント証明書および秘密鍵を用いて、特定の公開鍵動作を行うことが認められてもよい。アプリケーションがブラウザのように挙動し、証明書アクセスが要求されない場合、アプリケーションが「ｗｈｏ  ａｍ  Ｉ」証明書を読み取るとき、アプリケーションが証明書を使用してセキュリティ保護されたセッション・トークンを構築するとき、およびアプリケーションが重要なデータのデジタル署名のため（例、トランザクションログ）または一時データ暗号化のために秘密鍵を使用するときなど、さまざまな使用のケースが識別され、それに応じて扱われてもよい。
【０１２８】
〈具体的な実施形態〉
図７はモバイルデバイスのサンプルインターフェースを示し、図８〜図１４はアプリケーションの操作モードを判定する方法のサンプル実施形態を示す。図８〜図１４に図示する方法は、さまざまな実施形態においてあらゆる適した形態で組み合わせてもよい。図７に図示するサンプルインターフェースは、デバイス１０７，１０９，２４０，５０２および／または６０２などのモバイルデバイスに表示してもよく、図８〜図１４に図示する方法はこのようなモバイルデバイスによって実装してもよい。
【０１２９】
図８は、アプリケーションのアプリケーションモードを判定する方法ステップを示すフローチャートである。図８の方法はステップ８０２から始まり、複数のアプリケーションが提示される。たとえば、複数のアプリケーションはモバイルデバイス上でユーザに提示してもよい。図７は、モバイルデバイス（例、タブレット、スマートフォン等）に表示されるユーザインターフェース７００がユーザにアプリケーションＡ７００，Ｂ７０１，Ｃ７０２およびＥ７０３を提示する実施形態を示す。これは単なる一実施例であり、複数のアプリケーションはあらゆる適切な態様で提示してもよい。一つの実施形態において、複数のアプリケーションは電子メール・アプリケーション、ウェブブラウジング・アプリケーション、サービスとしてのソフトウェア（ＳａａＳ）アクセス・アプリケーション等を備えてもよい。
【０１３０】
図８のステップ８０２からステップ８０４に進み、複数のアプリケーションのうちの１つの選択が受信される。図７に図示する実施形態を参照すると、モバイルデバイスのユーザは、たとえばアプリケーションを選択するためにモバイルデバイスのディスプレイを押して、提示されるアプリケーションのうちの１つを選択してもよい。これは単なる一実施例であり、アプリケーションはあらゆる適した態様で選択してもよい。
【０１３１】
図８のステップ８０４からステップ８０６に進み、選択されたアプリケーションのコンテキストが、選択されたアプリケーションを実行するデバイスの１つ以上の動作パラメータに基づいて判定される。たとえば、コンテキストはアプリケーションによりアクセスされるアカウント、モバイルデバイスの場所もしくはアプリケーションを実行するモバイルデバイスのネットワーク接続性ステータスに基づいてもよく、または他の動作パラメータに基づいてもよい。以下詳しく説明する図９〜図１３の方法は、例示的なコンテキストが説明されるさまざまな実施形態を例示する。
【０１３２】
図８のステップ８０４からステップ８０６に進み、選択されたアプリケーションの操作モードがコンテキストに基づいて判定される。一つの実施形態では、操作モードは管理モードおよび非管理モードを備え、たとえば、ユーザがそれぞれ業務関連の活動対個人的な活動を行っているときのデバイスの仕事モードおよび非仕事モードを表す。仕事モードは企業リソースへのアクセスを提供し、１つ以上のコンテンツフィルタおよび／または制約を含んでもよいのに対し、非仕事モードは非企業関連のリソースにしかアクセスを許可しないポリシー（もしくはポリシーなし）および／またはコンテンツフィルタ／制約（もしくはなし）を適用してもよいであろう。
【０１３３】
さらに、たとえば、さまざまなユーザの異なるセキュリティレベルもしくはユーザが提供する資格情報のセット、資格情報のセットにより特定される異なるユーザの役割（例、管理職対スタッフ従業員）、デバイスが操作される地理的な場所、ネットワークの場所、動作環境（例、医療関連の管理モード対金融業界の管理モード）、またはあらゆる他のコンテキストの判定に基づいて、複数の異なる管理モードがあってもよい。
【０１３４】
いくつかのモードは、たとえば場所と役割など複数のコンテキストに基づいていてもよい。このような１つの組合せでは、第１管理モードは医療プロバイダに適用されるポリシーを提供するのに対し、第２管理モードは患者に適用されるポリシーを適用してもよい。デバイスが２つのユーザ間で渡されるとき、ユーザ（またはユーザアクションに基づくソフトウェア）は異なる役割をもつユーザにデバイスを渡すときに、モードの変更を起こしてもよい。新たなユーザには、モードを変更するために、たとえばよりセキュリティ保護されたモードに変更するときに、適切な資格情報の入力を要求してもよい。医療プロバイダモードは多岐にわたる患者の記録、リソース、スケジューリングの詳細、財務記録および他の情報へのアクセスを提供してもよいのに対し、患者モードは、たとえば医療保険の相互運用性と説明責任に関する法律（ＨＩＰＰＡ）および他のプライバシーへの配慮に基づいて、その患者の情報のみに制限してもよい。コンテキストの判定の他の組合せも使用してもよい。
【０１３５】
一つの実施形態において、操作モードを判定するために、判定されたコンテキストを格納されているポリシーと比較してもよい。モバイルデバイス５０２などのモバイルデバイスはアプリケーションの操作モードを判定するために使用される１つ以上のポリシーを格納してもよい。
【０１３６】
一つの実施形態では、ポリシーは、図５を参照して上述したポリシーマネージャ５７０などにリモートに格納してもよく、またはデバイスにローカルに格納してもよい。一実施例では、コンテキストは、セキュリティ保護された電子メールアカウントにアクセスするように構成されている電子メール・アプリケーションなど、セキュリティ保護されたアカウントにアクセスするように構成されている選択されたアプリケーションを備えてもよい。このコンテキストを格納されているポリシーと比較してもよい。たとえば、格納されているポリシーは、セキュリティ保護された電子メールアカウントにアクセスするように構成されている電子メール・アプリケーションが管理対象アプリケーションとして稼動すべきと定義してもよい。格納されているポリシーは、デバイスのユーザの個人アカウントにアクセスするように構成されているとき、電子メール・アプリケーションが非管理モードで動作してもよいことをさらに示してもよい。追加のコンテキストおよびポリシーは図９〜図１３を参照して説明する。
【０１３７】
図８のステップ８０６からステップ８０８に進み、選択されたアプリケーションは判定された操作モードで稼動する。たとえば、操作モードは非管理モードとして、または複数の管理モードのうちの１つとして判定されてもよく、選択されたアプリケーションは判定されたモードで稼動してもよい。
【０１３８】
一つの実施形態において、管理操作モードは、図５を参照して上述したように、モバイルデバイス５０２の管理対象パーティション５１０の一部としてアプリケーションを稼動することを含んでもよい。このように、管理対象アプリケーションはセキュリティ保護されたネイティブアプリケーション５１４、セキュリティ保護されたアプリケーション・ランチャ５１８が実行するセキュリティ保護されたリモート・アプリケーション５２２、安全なアプリケーション・ランチャ５１８が実行する仮想化アプリケーション５２６等として稼動してもよい。
【０１３９】
一つの実施形態において、管理モードで稼動しているアプリケーションは、モバイルデバイスの管理対象パーティション５１０（物理的、論理的、または仮想）のセキュリティ保護されたデータコンテナ５２８に格納されているデータにアクセスしてもよい。セキュリティ保護されたデータコンテナ５２８に格納されているデータは他のセキュリティ保護された／管理対象アプリケーション間で共有される特定のセキュリティ保護された／管理対象アプリケーション５３０等に制限されるデータを含んでもよい。セキュリティ保護されたアプリケーションに制限されるデータはセキュリティ保護された一般データ５３４および高セキュリティ保護されたデータ５３８を含んでもよい。セキュリティ特徴の異なるレベルおよび種類を使用して、セキュリティ保護されたデータのレベルを区別してもよい。一つの実施形態では、管理モードで稼動しているアプリケーションは、セキュリティ保護されたデータコンテナ５２８にデータを保存、修正または削除してもよい。保存または修正されたデータは、セキュリティ保護されたデータコンテナ５２８に格納されている他のデータと同様に暗号化してもよい。
【０１４０】
一つの実施形態において、管理モードで稼動しているアプリケーションは、図５を参照して上述したように、仮想プライベートネットワーク接続により企業リソース５０４および企業サービス５０８に接続してもよい。仮想プライベートネットワーク接続はマイクロＶＰＮとしてもよく、これは選択されたアプリケーション、特定のデバイス、モバイルデバイスの特定のセキュリティ保護化エリア等といった、特定のアプリケーションに固有のものである。たとえば、電話のセキュリティ保護化エリア内のラッピングされたアプリケーションは、ＶＰＮへのアクセスが、おそらくはユーザまたはデバイス属性情報およびポリシー情報と合わせて、アプリケーションに関連する属性に基づいて付与されるように、アプリケーション固有のＶＰＮ経由で企業リソースにアクセスしてもよい。
【０１４１】
一つの実施形態では、管理モードで稼動しているアプリケーションは、アプリケーションから送信されるデータを暗号化してもよい。たとえば、管理モードで稼動しているアプリケーションはネットワーク上でコンピューティングデバイスと通信していてもよく、アプリケーションからデバイスに送信されるデータを暗号化してもよい。さらに、コンピューティングデバイスからアプリケーションに通信されるデータも暗号化してもよく、管理モードで稼動しているアプリケーションは受信したデータを解読するように構成していてもよい。
【０１４２】
一つの実施形態において、管理モードで稼動しているアプリケーションはセキュリティ保護されたポータルにアクセスしてもよい。たとえば、アプリケーションはネットワーク、たとえば、マイクロＶＰＮ上でコンピューティングデバイスに接続してもよく、非管理モードで稼動しているアプリケーションなど、非セキュリティ保護化アプリケーションではアクセスできない可能性があるセキュリティ保護されたポータルにアクセスしてもよい。
【０１４３】
一つの実施形態において、非管理操作モードは、図５を参照して上述したように、モバイルデバイス５０２の非管理対象パーティション５１２（物理的、論理的、または仮想）の一部としてアプリケーションを稼動することを含んでもよい。非管理モードでは、アプリケーションはモバイルデバイス５０２の非管理対象パーティション５１２の非セキュリティ保護化データコンテナ５４２に格納されているデータにアクセスしてもよい。非セキュリティ保護化データコンテナに格納されているデータは個人データ５４４であってもよい。
【０１４４】
一つの実施形態において、２つ以上の管理モードが可能な場合、低セキュリティ保護管理モードで稼動しているアプリケーションは高セキュリティ保護管理モードで稼動しているアプリケーションと同様に稼動してもよいが、後者のすべての側面を含めなくてもよいだろう。たとえば、低セキュリティ保護管理モードで稼動しているアプリケーションは情報を暗号化されたネットワーク上でアプリケーションから送信させてもよいが、アプリケーションは、図５を参照して説明したように、セキュリティ保護されたデータコンテナ５２８にはアクセスできなくてもよい。
【０１４５】
別の実施例では、低セキュリティ保護管理モードで稼動しているアプリケーションはセキュリティ保護されたデータコンテナ５２８にアクセスできてもよいが、仮想プライベートネットワーク接続により企業リソース５０４および企業サービス５０８に接続することはできなくてもよい。したがって、判定されるコンテキストに応じて、低セキュリティ保護管理モードで稼動しているアプリケーションは高セキュリティ保護管理モードで稼動しているアプリケーションの側面および非管理モードで稼動しているアプリケーションの側面を含んでもよい。
【０１４６】
図９〜図１３は、アプリケーションのコンテキストおよび操作モードを判定するための方法ステップのフローチャートを示す。一つの実施形態において、図８のステップ８０６および８０８は、図９〜図１３のいずれか１つ以上の方法ステップを備えてもよい。
【０１４７】
図９の方法はステップ９０２で始まり、選択されたアプリケーションによってアクセスされるアカウントが検出される。たとえば、選択されたアプリケーションは電子メール・アプリケーションを備えてもよく、電子メール・アプリケーションがアクセスするように構成されている電子メールアカウントが検出される可能性がある。この実施例では、電子メール・アプリケーションは、企業用電子メールアカウントおよび個人用電子メールアカウントなど複数の電子メールアカウントにアクセスできてもよく、電子メール・アプリケーションが稼動している時点でアクセスするように構成されているアカウントは、アクセスされるコンテキストアカウントとして判定されてもよい。
【０１４８】
図９においてステップ９０２からステップ９０４に進み、アクセスされるアカウントのアカウントタイプが判定される。アカウントタイプは選択されたアプリケーションのコンテキストを備えてもよい。たとえば、選択されたアプリケーションは電子メール・アプリケーションを備えてもよく、電子メール・アプリケーションは企業用アカウントにアクセスするように構成されていてもよい。別の実施例では、電子メール・アプリケーションは個人用アカウントにアクセスするように構成されていてもよい。
【０１４９】
図９においてステップ９０４からステップ９０６に進み、アカウントタイプがアカウントタイプ・ポリシーと比較される。たとえば、ポリシーは企業用アカウントにアクセスする予定の電子メール・アプリケーションが管理モードで稼動するべきであり、個人用アカウントにアクセスする予定の電子メール・アプリケーションは非管理モードで稼動すべきと定義してもよい。図９の方法はステップ９０６からステップ９０８に進み、比較に基づいて操作モードが判定される。
【０１５０】
図１０では、ステップ１００２から始まり、モバイルデバイスの場所が判定される。たとえば、モバイルデバイス５０２などのモバイルデバイスは図１０の方法を実施してもよく、モバイルデバイスの場所が判定されてもよい。場所はＧＰＳ、信号三角測量またはあらゆる他の適した態様もしくはその他周知の態様で判定してもよい。場所は選択されたアプリケーションのコンテキストを備えてもよい。
【０１５１】
図１０のステップ１００２からステップ１００４に進み、判定された場所を場所ポリシーと比較する。たとえば、ポリシーは、選択されたアプリケーションは一定の場所、たとえば、会社の構内にあるとき、高セキュリティ保護管理モードで稼動すると定義してもよい。一つの実施形態では、ポリシーは、選択されたアプリケーションが、一定の場所にあるとき、たとえば、判定された場所が米国内であるが、会社の構内の外にあるときに、低セキュリティ保護管理モードで稼動すると定義してもよい。たとえば、低セキュリティ保護管理モードは選択されたアプリケーションとの通信を暗号化してもよいが、リソース５０４などの企業リソースへのアクセスを許可しなくてもよいだろう。別の実施形態では、ポリシーは、選択されたアプリケーションが、一定の場所にあるとき、たとえば、判定された場所が米国外であるとき、非管理モードで稼動すると定義してもよい。図１０のステップ１００４からステップ１００６に進み、比較に基づいて操作モードが判定される。
【０１５２】
あるいは、または物理的場所に加えて、アクセスを許可するかどうかの判定にネットワークの場所も使用してもよく、または代わりに使用してもよい。たとえば、ネットワークの場所は、ユーザがデータセンター（もしくは事前承認されたＷｉｆｉアクセスポイント）の内部であるか、または外部であるかを参照してもよい。適切なアクセスモードはこのような判定に基づいてもよい。
【０１５３】
図１１の方法ではステップ１１０２から始まり、所定のアプリケーションがデバイス上で稼動しているかどうかが監視される。たとえば、モバイルデバイス５０２などのモバイルデバイスは図１１の方法を実施してもよく、モバイルデバイスは所定のアプリケーションが稼動しているかどうかを判定するために監視されてもよい。所定のアプリケーションは、図６を参照して説明したクライアントエージェント６０４など、モバイルデバイスで稼動することのできるあらゆるアプリケーションを備えてもよい。監視される所定のアプリケーションは選択されたアプリケーションのコンテキストを備えてもよい。
【０１５４】
図１１のステップ１１０２からステップ１１０４に進み、監視されるアプリケーションをポリシーと比較する。たとえば、ポリシーは、クライアントエージェント６０４などの所定のアプリケーションが稼動しているとき、選択されたアプリケーションは管理モードで稼動し、所定のアプリケーションが稼動していないとき、選択されたアプリケーションは非管理モードで稼動すると定義してもよい。図１１の方法はステップ１１０４からステップ１１０６に進み、比較に基づいて操作モードが判定される。
【０１５５】
図１２の方法ではステップ１２０２から始まり、１つ以上のネットワーク接続が検出される。たとえば、モバイルデバイス５０２などのモバイルデバイスは図１２の方法を実施してもよく、モバイルデバイスが行うネットワーク接続を検出してもよい。一実施例において、ネットワーク接続はセルラーネットワークへの接続、ＷＩＦＩネットワークへの接続、もしくはワイヤレスローカルエリアネットワーク（ＷＬＡＮ）への接続等を備えてもよい。１つ以上のネットワーク接続は選択されたアプリケーションのコンテキストを備えてもよい。
【０１５６】
図１２のステップ１２０２からステップ１２０４に進み、検出されたネットワーク接続をネットワーク接続ポリシーと比較する。たとえば、ポリシーは、モバイルデバイスがたとえば会社の内部のＷＬＡＮなどの内部ネットワークに接続されているとき、選択されたアプリケーションは管理モードで稼動し、モバイルデバイスがセルラーネットワークまたはＷＩＦＩネットワークなどのワイヤレスネットワークにしか接続されていないときは、選択されたアプリケーションは非管理モードで稼動すると定義してもよい。図１２の方法はステップ１２０４からステップ１２０６に進み、比較に基づいて操作モードが判定される。
【０１５７】
図１３の方法ではステップ１３０２から始まり、モバイルデバイスの１つ以上の設定が検出される。たとえば、モバイルデバイス５０２などのモバイルデバイスは図１３の方法を実施してもよく、モバイルデバイスの１つ以上の設定を検出してもよい。一実施例において、モバイルデバイスが、モバイルデバイスを使用するために必要なＰＩＮなど、ロックスクリーンを有するかどうかを検出してもよく、またはモバイルデバイスがジェイルブレイク／ルート化されているかどうか、たとえば販売後の修正を受けたかどうかを検出してもよい。１つ以上の設定は選択されたアプリケーションのコンテキストを備えてもよい。
【０１５８】
図１３のステップ１３０２からステップ１３０４に進み、検出された設定が設定ポリシーと比較される。たとえば、ポリシーは、モバイルデバイスがロックスクリーンを有していない場合、またはモバイルデバイスがジェイルブレイク／ルート化されている場合、選択されたアプリケーションは管理モードで稼動できないと定義してもよい。図１３の方法はステップ１３０４からステップ１３０６に進み、比較に基づいて操作モードを判定する。一つの実施形態において、判定されたモードで選択されたアプリケーションを稼動しているとき、モバイルデバイスが管理モードで選択されたアプリケーションの稼動を許可される前に、モバイルデバイスがロックスクリーンを有するようにとの要求事項など、一定のポリシーをユーザに通知するインジケータをモバイルデバイスに表示してもよい。図９〜図１３は複数のコンテキストを示しており、あらゆる他の適したコンテキストおよび対応するポリシーが実施されてもよい。
【０１５９】
一つの実施形態において、図９〜図１３で説明したコンテキストのうちの１つ以上を組み合わせてもよく、これらのコンテキストを、選択されたアプリケーションのポリシーと比較してもよい。たとえば、選択されたアプリケーションのコンテキストは企業用電子メールアカウントとしてアクセスされるアカウントタイプと、セルラーネットワークとして検出されたネットワーク接続とを備えてもよい。この実施例では、ポリシーは、企業用アカウントがセルラーネットワーク上でアクセスを試みられるとき、選択されたアプリケーションは管理モードで稼動するべきと定義してもよい。選択されたアプリケーションが企業用電子メールアカウントとの通信を暗号化してもよく、それによりセルラーネットワーク上でセキュリティ保護されたトラフィックを送信するリスクが軽減する可能性があるので、ポリシーをこのように定義してもよい。
【０１６０】
別の実施例では、選択されたアプリケーションのコンテキストは米国以外の判定場所と、会社の内部のＷＬＡＮとのネットワーク接続とを備えてもよい。ポリシーは、判定された場所が米国外で、ネットワーク接続が会社の内部のＷＬＡＮであるとき、選択されたアプリケーションは管理モードで稼動するべきと定義してもよい。会社の内部のＷＬＡＮとのネットワーク接続が米国外でのセキュリティ保護された通信に関連するリスクを軽減するので、ポリシーをこのように定義してもよい。
【０１６１】
一つの実施形態において、図９〜図１３で説明した１つ以上のコンテキストは優先順位を含めてもよい。たとえば、選択されたアプリケーションのコンテキストは、モバイルデバイスがジェイルブレイク／ルート化されているとの判定を備えてもよく、ポリシーは、他のコンテキストが何を示すかに関係なく、コンテキストがジェイルブレイク／ルート化されたモバイルデバイスを示すときには、選択されたアプリケーションは非管理モードでのみ稼動するべきと定義してもよい。したがって、ジェイルブレイク／ルート化されたモバイルデバイスは、モバイルデバイスが会社の内部のＷＬＡＮに接続されているときでも、または選択されたアプリケーションが企業用アカウントへのアクセスを試みている場合も、選択されたアプリケーションを非管理モードで稼動させる。
【０１６２】
一つの実施形態において、ポリシーは、図９〜図１３で説明した複数のコンテキストに基づいて、選択されたアプリケーションを低セキュリティ保護管理モードで稼動するべきと示してもよい。たとえば、選択されたアプリケーションのコンテキストは企業用電子メールアカウントとしてアクセスされるアカウントタイプと、セルラーネットワークとして検出されるネットワーク接続とを備えてもよい。この実施例では、ポリシーは、企業用アカウントがセルラーネットワーク上でアクセスを試みられるとき、選択されたアプリケーションは低セキュリティ保護管理モードで稼動するべきと定義してもよい。低セキュリティ保護管理モードは選択されたアプリケーションとの通信を暗号化するが、リソース５０４などの企業リソースへのアクセスは許可しなくてもよい。企業用電子メールアカウントとの暗号化された通信はリスクの低い通信で、企業リソースにアクセスさせることはリスクの高い通信であるため、ポリシーをこのように定義してもよい。
【０１６３】
図１４は、アプリケーションの操作モードを切り替えるための方法ステップのフローチャートを示す。たとえば、図１４の方法ステップは、図８の方法ステップの後に続けてもよい。図１４の方法はステップ１４０２から始まり、選択されたアプリケーションの稼動中に、１つ以上のコンテキストを監視してもよい。一つの実施形態において、図９〜図１３を参照して説明したコンテキストのうちの１つ以上を監視してもよい。たとえば、選択されたアプリケーションを稼動するモバイルデバイスはセルラーネットワークに接続されてもよく、選択されたアプリケーションの稼動中に、モバイルデバイスは会社の内部のＷＬＡＮとの新たなネットワーク接続を確立してもよい。
【０１６４】
図１４のステップ１４０２からステップ１４０４に続き、監視に基づいて、選択されたアプリケーションの操作モードの変更が検出される。言い換えると、モバイルデバイスは特定の操作モードを選択するための根拠を成した情報の変化を検出する。たとえば、選択されたアプリケーションは非管理モードで稼動していて、選択されたアプリケーションを稼動するモバイルアプリケーションが会社の内部のＷＬＡＮに一旦接続されると、ポリシーは、選択されたアプリケーションの操作モードを管理モードに切り替えるべきと定義してもよい。図１４のステップ１４０４からステップ１４０６に進み、選択されたアプリケーションの操作モードが切り替えられる。
【０１６５】
一つの実施形態において、モバイルデバイスマネージャなどのマネージャは、１つ以上のモバイルデバイスを管理してもよい。この実施例では、モバイルデバイスは登録済みデバイスと呼ばれることがある。一つの実施形態では、モバイルデバイスは、図６のクライアントエージェント６０４などの管理対象にインストールされているソフトウェアに基づいて管理してもよい。
【０１６６】
一実施例において、クライアントエージェント６０４は、接続管理ソフトウェア開発キット（ＳＤＫ）、接続マネージャ５２０、接続／ステータス・アプリケーション・プログラミング・インターフェース（ＡＰＩ）、仮想化サービスのセット、ランタイムＳＤＫ、プラットフォームＳＤＫ、およびクライアントコアをさらに含んでもよい。
【０１６７】
クライアントエージェント・アーキテクチャの仮想化サービスは、たとえば、グラフィクスサービス、デスクトップ統合サービス、マルチメディアサービス、入出力サービス、スマートカードサービス、印刷サービス等を含んでもよい。ランタイムＳＤＫは、たとえば、ＩＣＡエンジンを含め、インディペンデント・コンピューティング・アーキテクチャ（ＩＣＡ）ランタイムＳＤＫであってもよい。プラットフォームＳＤＫは、たとえば、ＩＣＡプラットフォームＳＤＫまたは他のプラットフォームＳＤＫであってもよく、仮想チャネルＳＤＫ、構成・ロードマネージャ、トレース・サブコンポーネント、プラットフォーム抽象化ＳＤＫ等といったさまざまなサブコンポーネントを含んでもよい。
【０１６８】
クライアントコアは、たとえば、ターミナルサービスへのリモートアクセスのコアプロトコル（例、コアＩＣＡプロトコルを有するＷｉｎｓｔａｔｉｏｎドライバ）、圧縮および優先順位付けを行うように構成されているリデューサ・サブコンポーネント、マルチストリームＩＣＡ、セッション信頼性、プロキシおよびＳＳＬを有するＴＣＰスタック、ならびにＵＤＰサブコンポーネントを含んでもよい。クライアントコアは、グラフィクス・スマートカードおよびスレッドサポート、構成・ロードマネージャライブラリ、ＳＳＬ  ＳＤＫ等といった、プラットフォーム固有のサブコンポーネントの実施態様も含んでもよい。
【０１６９】
モバイルデバイスは、たとえば、クライアントエージェント６０４を使用して、企業システムに登録してもよい。たとえば、登録済みクライアントデバイス６０２では、クライアントエージェント６０４はゲートウェイサーバ６０６または他のアクセス・ゲートウェイとインタラクトして、さまざまな企業リソース６０８およびサービス６０９にアクセスしてもよい。デバイスの登録は、私物デバイスの業務利用（ＢＹＯＤ）および関連技術、ならびにＭＤＭまたは同様なシステムに対するオプトインを伴ってもよい。会社のアカウント（または他の組織のアカウント）を用いたデバイスの登録は、デバイスへの証明書のプッシュ送信、および企業システムのデバイス管理サーバへのデバイスの登録を伴ってもよい。登録後、デバイスは、デバイスにプッシュ送信されるモバイルデバイス管理（ＭＤＭ）および／またはモバイルデバイスエクスペリエンス技術（アプリケーション管理フレームワーク）ポリシーを用いて、会社のアドミニストレータ（または他の組織のアドミニストレータ）によって「管理」してもよい。登録済みデバイスは管理対象デバイスということもある。言い換えると、登録後、デバイスは本明細書で説明する管理対象デバイスになる。一定の実施例では、企業システムにデバイスを登録するために、クライアントエージェント６０４および／またはアプリケーション登録トークンをダウンロードしてデバイスにインストールしてもよい。アプリケーション登録トークンは、デバイスの登録先となる会社または他の組織の証明書から導出してもよい。クライアントエージェント６０４およびアプリケーション登録トークンのダウンロード後、デバイスのユーザに対して、トークンを開いて会社のアカウント（または他の組織のアカウント）をデバイスに追加するように促してもよい。
【０１７０】
一つの実施形態において、図５のモバイルデバイス５０２などの登録済みモバイルデバイスは、図５のデバイスマネージャ５２４などのサービスによって管理してもよい。デバイスマネージャ５２４は、構成、プロビジョニング、セキュリティ、サポート、監視、レポーティングおよびデコミッショニングを含むサービスを提供してもよい。たとえば、デバイスマネージャ５２４は、登録済み／管理対象モバイルデバイスにどのアプリケーションがインストールされるかを監視してもよい。
【０１７１】
この実施例では、デバイスマネージャ５２４はブラックリストアプリケーションのリストの格納／アクセスを行ってもよく、さらに登録済み／管理対象モバイルデバイスへのブラックリストアプリケーションのインストールを判断してもよい。ブラックリストアプリケーションはマルウェアまたは他の適したアプリケーションと疑われるアプリケーションを備えてもよい。別の実施例では、デバイスマネージャ５２４は登録済みモバイルデバイスの動作状態を監視してもよい。この実施例では、デバイスマネージャ５２４は、登録済みモバイルデバイスがジェイルブレイク／ルート化されたことを判定してもよい。デバイスマネージャ５２４はこれらの判定に基づいて、登録済みデバイスでさまざまな管理活動を行ってもよい。
【０１７２】
別の実施例では、デバイスマネージャ５２４はモバイルデバイスのネットワーク接続を監視してもよい。この実施例では、デバイスマネージャ５２４は、登録済みモバイルデバイスがセルラーネットワーク、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、これらの組合せ、または他のあらゆる適したネットワークに接続されていることを判定してもよい。別の実施例では、デバイスマネージャ５２４はモバイルデバイスの場所を監視してもよい。この実施例では、デバイスマネージャ５２４は、モバイルデバイスの緯度と経度、国、州、あらゆる適した地域、または他のあらゆる適した場所など、モバイルデバイスの地理的な場所を判定してもよい。
【０１７３】
別の実施例では、デバイスマネージャ５２４は、モバイルデバイスで特定のアプリケーションが稼動しているかどうかを監視してもよい。この実施例では、デバイスマネージャ５２４は、図６のクライアントエージェント６０４などの特定のアプリケーションがモバイルデバイスで稼動しているかどうかを判定してもよい。デバイスマネージャ５２４はこれらの判定に基づいて、登録済みデバイスでさまざまな管理活動を行ってもよい。
【０１７４】
一つの実施形態において、登録済みモバイルデバイスにインストールされているアプリケーションは、上述したように、管理モードまたは非管理モードで稼動してもよい。一つの実施形態において、管理操作モードは、図５を参照して上述したように、モバイルデバイス５０２の管理対象パーティション５１０の一部としてアプリケーションを稼動することを含んでもよい。一つの実施形態において、管理モードで稼動しているアプリケーションは、モバイルデバイスの管理対象パーティション５１０のセキュリティ保護されたデータコンテナ５２８に格納されているデータにアクセスしてもよい。セキュリティ保護されたデータコンテナ５２８に格納されているデータは、他のセキュリティ保護されたアプリケーション間で共有される特定のセキュリティ保護されたアプリケーション５３０等に制限されるデータを含んでもよい。セキュリティ保護されたアプリケーションに制限されるデータはセキュリティ保護された一般データ５３４および高セキュリティ保護データ５３８を含んでもよい。セキュリティ保護された一般データはＡＥＳ１２８ビット暗号または同様な他のものなどの強力な暗号形態を使用してもよいのに対し、高セキュリティ保護されたデータ５３８はＡＥＳ２５４ビット暗号などの非常に強力な暗号形態を使用してもよい。他のタイプの暗号を使用してもよく、所望のセキュリティレベルおよび／またはタイプ、ならびにさまざまな鍵リカバリ特徴に基づいて、セキュリティ手段の他のレベルおよびタイプを適用してもよい。一つの実施形態において、管理モードで稼動しているアプリケーションは、セキュリティ保護されたデータコンテナ５２８内でデータを保存、修正、または削除してもよい。保存または修正されたデータは、セキュリティ保護されたデータコンテナ５２８に格納されている他のデータと同様に暗号化してもよい。
【０１７５】
一つの実施形態において、管理モードは企業モードを備えてもよく、非管理モードは個人モードを備えてもよい。たとえば、アプリケーションが管理モード、または企業モードで稼動しているとき、アプリケーションはセキュリティ保護されたサーバに格納されているリソース（例、企業データ）にアクセスができてもよい。デバイスを管理するデバイスマネージャ５２４は企業に関連付けてもよい。この実施例では、管理モードで稼動しているアプリケーションは、アプリケーションに企業データへのアクセス権を付与する１つ以上のサーバ（例、ゲートウェイサーバ６０６）と通信することができてもよい。アプリケーションが非管理モード、または個人モードで稼動しているとき、アプリケーションは企業データにアクセスできなくてもよい。
【０１７６】
一つの実施形態において、管理モードまたは非管理モードで稼動することの可能なアプリケーションは、アプリケーションに関連するデータを格納するためのストレージポリシーを利用してもよい。
【０１７７】
図１５に、複数のモードで稼動するアプリケーションを管理するための方法ステップのフローチャートを示す。図１５のステップ１５０２から始まり、アプリケーションはモバイルデバイスで管理モードまたは非管理モードのうちの一方で稼動する。たとえば、上述したように、管理モードまたは非管理モードで稼動することの可能なアプリケーションは、これらのモードのうちの１つで稼動してもよい。
【０１７８】
図１５のステップ１５０２からステップ１５０４に進み、アプリケーションに関連するデータを格納するための要求を受信する。たとえば、アプリケーションが管理モードで稼動しているとき、セキュリティ保護化サーバ（例、ゲートウェイサーバ６０６）からアクセスされるセキュリティ保護化データなどのデータを格納するための要求が受信されてもよい。このような実施例では、セキュリティ保護化データは上述したような企業データを備えてもよい。別の実施例では、アプリケーションが非管理モードで稼動しているとき、個人データなどのデータを格納するための要求が受信されてもよい。
【０１７９】
図１５のステップ１５０４からステップ１５０６に進み、ストレージプロトコルに従ってデータがモバイルデバイスに格納される。ストレージプロトコルは、要求されるデータをモバイルデバイスに格納する態様を定義してもよい。たとえば、アプリケーションが管理モードで稼動しているとき、データは第１プロトコルに従って格納してもよく、アプリケーションが非管理モードで稼動しているとき、データは第２プロトコルに従って格納してもよい。
【０１８０】
一つの実施形態において、第１ストレージプロトコルは、要求されるデータをセキュリティ保護化データコンテナ（例、セキュリティ保護化データコンテナ５２８）などの第１データコンテナに格納すると定義してもよい。この実施例では、第１データコンテナに格納されるデータは、アプリケーションが非管理モードで稼動している間、アプリケーションにアクセス可能でなくてもよい。一つの実施形態において、第２ストレージプロトコルは、要求されるデータを第１データコンテナとは異なる第２データコンテナに格納すると定義してもよい。第２データコンテナは、たとえば個人データを格納する一般データコンテナを備えてもよい。
【０１８１】
一つの実施形態において、第１ストレージプロトコルは、要求されるデータを格納する前に暗号化すると定義してもよい。この実施例では、データは第１鍵を使用して暗号化してもよく、いくつかの実施形態では、第１鍵はデバイスを管理するデバイスマネージャ（例、デバイスマネージャ５２４）に関連付けてもよい。一つの実施形態において、第２ストレージプロトコルは、格納する前に、第１鍵とは異なる第２鍵を使用して、要求されるデータを暗号化すると定義してもよい。別の実施例では、第１ストレージプロトコルは要求されるデータを暗号化せずに格納すると定義してもよい。
【０１８２】
格納されたデータは、ストレージプロトコルが変更するか、または修正されるときに自動的に更新してもよい。たとえば、データストレージに使用される暗号化スキームを第１タイプの暗号から第２タイプの暗号に変更するポリシーが更新されてもよい。これが発生するとき、モバイルデバイスは第１タイプの暗号に基づいて、格納されているデータを自動的に解読して、新たなまたは改定されたポリシーを使用して、第２タイプの暗号に基づいて、格納されているデータを再び暗号化してもよい。このように、格納されているデータは常に現行のストレージポリシーに準拠する。
【０１８３】
一つの実施形態において、第１ストレージプロトコルは、要求されるデータを管理対象アカウントに関連付けて格納すると定義してもよい。管理モードで稼動しているアプリケーションは管理対象アカウントに関連付けてもよい。たとえば、管理モードで稼動している間、セキュリティ保護化データへのアクセスを許可するクラウドストレージ・アプリケーションは、セキュリティ保護化データへのアクセスの取得に使用される管理対象アカウントに関連付けてもよい。要求されるデータはこの管理対象アカウントに関連付けて格納してもよい。一つの実施形態において、第１ストレージプロトコルは、要求される格納されているデータをデバイスマネージャ５２４によって管理すると定義してもよい。
【０１８４】
したがって、アプリケーションが管理モードで稼動している間、上述したように、データは第１プロトコルに従って格納されてもよい。アプリケーションが非管理モードで稼動している間、上述したように、データは第２プロトコルに従って格納してもよい。
【０１８５】
いくつかの実施形態では、ストレージのタイプおよび／または場所は使用中の操作モードに従属してもよい。たとえば、ストレージプロトコルまたはポリシーは、データをクラウドベースのストレージに格納すると指定してもよい。ストレージプロトコルまたはポリシーはさらに、操作モードに基づいて、企業または非企業のいずれのクラウドストレージを使用するべきかを指定してもよい。管理モードのとき、データは、企業またはポリシーによって選択される所定のセキュリティレベルが提供される企業または他のクラウドストレージに保存してもよい。あるいは、非管理モードのとき、データは、たとえばユーザが選択する、低セキュリティ保護クラウドストレージサービスまたは場所に保存または格納してもよい。実施形態では、モバイルデバイスまたはアプリケーションの一定の状況に基づいて、アプリが非管理で稼動しているときデータをローカルに格納し、アプリが管理モードで稼動しているときデータをクラウドストレージに格納する、またはその逆である、ハイブリッドストレージポリシーを含んでもよい。
【０１８６】
図１５のステップ１５０６からステップ１５０８に進み、アプリケーションのモードを使用不可にするための信号が受信される。たとえば、アプリケーションの管理モードを使用不可にするための信号が受信されてもよい。一つの実施形態において、デバイスマネージャ５２４は登録済みモバイルデバイスを監視し、モバイルデバイスの状態を検出し、モバイルデバイスにインストールされているアプリケーションの管理モードを使用不可にする信号を送信してもよい。たとえば、デバイスマネージャ５２４は登録済みモバイルデバイスがジェイルブレイク／ルート化されていることを検出し、その検出に基づいてアプリケーションの管理モードを使用不可にする判断をしてもよい。別の実施形態では、デバイスマネージャ５２４は登録済みモバイルデバイスにブラックリストアプリケーションがインストールされていることを検出し、その検出に基づいてアプリケーションの管理モードを使用不可にする判断をしてもよい。
【０１８７】
別の実施形態において、デバイスマネージャ５２４はアプリケーションに関連する管理対象アカウントが失効しているかまたは削除されていることを検出し、その検出に基づいてアプリケーションの管理モードを使用不可にする判断をしてもよい。たとえば、管理モードで稼動している間、セキュリティ保護化データへのアクセスを許可するクラウドストレージ・アプリケーションは、セキュリティ保護化データへのアクセスを取得するために使用される管理対象アカウントに関連付けてもよい。デバイスマネージャ５２４は管理対象アカウントが失効しているかまたは削除されていることを検出し、その検出に基づいてクラウドストレージ・アプリケーションの管理モードを使用不可にする信号を送信してもよい。一つの実施形態において、アプリケーションの管理モードを使用不可にする信号を受信すると、アプリケーションは、管理モードで稼動しないアプリケーションに変換されてもよい。
【０１８８】
一つの実施形態において、アプリケーションの管理モードを使用不可にする受信信号に基づいて、第１プロトコルに従って格納されているデータを選択的に削除することを判断してもよい。たとえば、第１プロトコルに従って格納されているデータは使用不可にされることになる管理モードに関連付けてもよく、第１プロトコルに従って格納されているデータは管理モードを使用不可にする一部として選択的に削除してもよい。
【０１８９】
図１５のステップ１５０８からステップ１５１０に続き、プロトコルに従ってモバイルデバイスに格納されているデータの位置を特定する。たとえば、デバイスマネージャ５２４は登録済みモバイルデバイスを監視して、第１プロトコルに従って格納されているデータの位置を特定してもよい。第１プロトコルに従って格納されているデータは、管理モードで稼動しているアプリケーションなど、第１モードで稼動している特定のアプリケーションに関連するデータを備えてもよい。一つの実施形態において、位置特定されたデータはアプリケーションの企業データを備えてもよい。
【０１９０】
一つの実施形態において、第１プロトコルに従って格納されているデータはアカウントに基づいて位置特定してもよい。たとえば、アカウントは管理対象アカウントに関連付けられてもよい。アプリケーションは管理モードで稼動し、格納されているデータは管理対象アカウントに関連付けられてもよい。この実施形態では、第１プロトコルに従って格納されているデータは管理対象アカウントに関連付けられてもよく、第１プロトコルに従って格納されているデータは管理対象アカウントに基づいて位置特定してもよい。
【０１９１】
別の実施形態では、第１プロトコルに従って格納されているデータは、ストレージコンテナに基づいて位置特定してもよい。たとえば、図５のセキュリティ保護されたデータコンテナ５２８などのセキュリティ保護されたストレージコンテナを、第１プロトコルに従って格納されているデータに関連付けてもよい。アプリケーションは管理モードで稼動してもよく、第１プロトコルに従って格納されているデータはセキュリティ保護されたデータコンテナに格納してもよい。この実施形態では、第１プロトコルに従って格納されているデータはセキュリティ保護されたデータコンテナに格納してもよく、第１プロトコルに従って格納されているデータはセキュリティ保護されたストレージコンテナのストレージに基づいて位置特定してもよい。
【０１９２】
別の実施形態において、第１プロトコルに従って格納されているデータは暗号化に基づいて位置特定してもよい。たとえば、第１プロトコルに従って格納されているデータは、第１鍵を使用した暗号化など、特定の暗号化を用いて暗号化してもよい。アプリケーションは管理モードで稼動してもよく、第１プロトコルに従って格納されているデータは特定の暗号化に基づいて暗号化してもよい。この実施形態では、第１プロトコルに従って格納されているデータはデータの暗号化に基づいて位置特定してもよい。一実施例では、第１鍵はデバイスマネージャ５２４に関連付けてもよい。
【０１９３】
図１５のステップ１５１０からステップ１５１２に続き、位置特定されたデータを選択的に削除する。たとえば、デバイスマネージャ５２４は登録済みモバイルデバイスを監視し、第１プロトコルに従って登録済みモバイルデバイスに格納されているデータの位置を特定し、位置特定されたデータを選択的に削除してもよい。一つの実施形態において、位置特定されたデータの選択的な削除は、モバイルデバイスに格納されている他のデータを削除しない。たとえば、位置特定されたデータがアプリケーションの企業データを備える場合、アプリケーションの個人データは削除しなくてもよいだろう。あるいは、第１プロトコルに従って格納されているデータへのアクセスは、デバイスが再び登録するまで、またはアプリケーションが再び管理モードで稼動することが可能になるまで、ロックまたはブロックしてもよい。
【０１９４】
図１６は、複数のモードで実行することの可能なアプリケーションのアカウントを管理するための方法ステップのフローチャートを示す。図１６のプロセスは、インストールされているアプリケーションが複数のモードで実行することが可能なことを検出したときに、管理モードで実行するアプリケーションによる企業リソースへのアクセスを構成するために使用してもよい。さらに、リソースは一定のイベントに基づいて予めプロビジョニングしてもよく（例、新たな従業員が会社に入社し、新入従業員の手続の一環としてリソースを予めプロビジョニングする）、それによって管理対象アプリの初回の実行をスピードアップする。
【０１９５】
図１６はステップ１６０２から始まり、モバイルデバイスを新たなアプリケーションについて監視する。たとえば、デバイスマネージャ５２４は、上述したように、モバイルデバイス５０２などの登録済みモバイルデバイスを監視してもよい。デバイスマネージャはモバイルデバイスにインストールされているアプリケーションを監視してもよい。一つの実施形態において、デバイスマネージャは新たなアプリケーションのインストールがないか、モバイルデバイスを定期的に監視してもよい。
【０１９６】
図１６のプロセスは、ステップ１６０２からステップ１６０４に進み、管理モードおよび非管理モードで稼動することが可能なアプリケーションがモバイルデバイスにインストールされていることを検出する。たとえば、デバイスマネージャ５２４は登録済みモバイルデバイスを監視し、管理モードおよび非管理モードで稼動することが可能なアプリケーションがモバイルデバイスにインストールされていることを判定する。デバイスマネージャはインストールされているアプリケーションが管理モードおよび非管理モードで稼動することが可能であることを、アプリケーションに関連するメタデータまたは他のあらゆる適した検出方法で検出してもよい。
【０１９７】
図１６のステップ１６０４からステップ１６０６に進み、検出されたアプリケーションと通信するようにリソースがプロビジョニングされる。たとえば、アプリケーションが管理モードで稼動しているとき、検出されたアプリケーションと通信するために、ゲートウェイサーバ（例、ゲートウェイサーバ５６０）などのリソースをプロビジョニングしてもよい。
【０１９８】
一つの実施形態において、リソースはクラウドストレージリソースを備えてもよい。クラウドストレージリソースは企業データなどのセキュリティ保護されたデータを格納してもよい。この実施例では、クラウドストレージリソースは、管理モードで稼動している検出されたアプリケーションがクラウドストレージリソースに格納されているセキュリティ保護されたデータにプロビジョニング後にアクセスするように、管理モードで稼動している検出されたアプリケーションと通信するためにプロビジョニングしてもよい。
【０１９９】
一つの実施形態において、リソースのプロビジョニングは、アプリケーションのアカウントの作成を備えてもよい。このような実施形態では、図１６のステップ１６０４からステップ１６０６に進み、モバイルデバイスからの識別情報に関連するアプリケーションのためにアカウントが作成される。たとえば、登録済みモバイルデバイスはモバイルデバイスに関連する識別情報、および／またはモバイルデバイスのユーザに関連する識別情報を有してもよい。一つの実施形態において、識別情報は、企業のアクティブディレクトリのログインおよびパスワードなど、企業資格情報を備えてもよい。
【０２００】
別の実施形態では、識別情報は企業に関連するトークンを備えてもよい。たとえば、登録済みモバイルデバイスは、登録済みモバイルデバイスおよび／または登録済みモバイルデバイスのユーザを識別する企業サーバから、セキュリティ・アサーション・マークアップ言語（ＳＡＭＬ）トークンまたは他のあらゆる適したトークンなどのトークンを受信してもよい。識別情報は他のあらゆる適した識別情報を備えてもよい。デバイスマネージャ（例、デバイスマネージャ５２４）は、トークンなど、モバイルデバイスの識別子にアクセスしてもよく、またはモバイルデバイスは識別情報を提供してもよい。
【０２０１】
一つの実施形態において、管理モードおよび非管理モードで実行することが可能であって識別情報に関連するアプリケーションのために、アカウントを作成してもよい。この実施例では、識別情報はユーザ資格情報、たとえば企業資格情報、トークン、または他のあらゆる適した識別情報を備えてもよい。一つの実施形態において、アカウントは、そのアプリケーションについて識別情報に関連するアカウントがまだ存在していないとの判定に基づいて作成してもよい。たとえば、サーバは識別情報に基づいてアプリケーションのアカウントを検索してもよく、サーバがアカウントを見つけられないことに基づいてアカウントを作成してもよい。
【０２０２】
一つの実施形態において、作成されたアカウントは、管理モードで稼動しているアプリケーションと通信するように構成されているリソースに関連付けてもよい。たとえば、作成されたアカウントは、管理モードで稼動しているアプリケーションと通信するように構成されているクラウドストレージリソースに関連付けてもよい。
【０２０３】
図１６のステップ１６０６からステップ１６０８に進み、識別情報に基づいてアカウントが識別される。たとえば、企業に関連するユーザなど、ユーザのアカウントは、ユーザの資格情報などの識別情報に基づいて識別してもよい。識別されたアカウントは企業アクティブディレクトリ・アカウント、企業リソース権に属するアカウント、または他のあらゆる適した企業用アカウントを備えてもよい。一つの実施形態において、上述したように、識別されたアカウントにサインオンすることにより、登録済みモバイルデバイスで企業リソースにアクセスしてもよい。
【０２０４】
図１６のステップ１６０８からステップ１６１０に進み、作成されたアカウントを識別されたアカウントにリンクさせてもよい。たとえば、管理モードおよび非管理モードで稼動することが可能なアプリケーションのために作成されたアカウントは、アクティブディレクトリ・アカウントなどの企業用アカウントにリンクさせてもよい。リンクを使用して、管理モードで稼動しているアプリケーションは、識別されたアカウントのアクセス権に基づいて、システムのリソースにアクセスすることができてもよい。たとえば、管理モードで稼動しているアプリケーションと通信するように構成されているリソースがクラウドストレージリソースを備える場合、管理モードで稼動しているアプリケーションはリンクに基づいてクラウドストレージリソースのセキュリティ保護されたデータにアクセスしてもよい。
【０２０５】
一つの実施形態において、図１６に従い管理モードで稼動することの可能なアプリケーションのためにアカウントを作成した後、アプリケーションは作成されたアカウントに基づきセキュリティ保護されたデータにアクセスしてもよい。たとえば、ユーザは、管理モードで稼動しているアプリケーションおよび、ログインとパスワードまたはトークンなど、ユーザの資格情報を使用して、作成されたアカウントにログインしてもよい。ゲートウェイサーバ５６０などのサーバは、提供されるユーザの資格情報に基づいて、管理モードで稼動しているアプリケーションに対し、作成されたアカウントにログインすることを許可してもよい。アプリケーションは、ユーザの電子メールまたはセキュリティ保護されたドキュメントなど、企業データへのアクセスを要求してもよい。サーバはリンクされたアカウントに基づいて、アプリケーションへのアクセスを許可してもよい。たとえば、リンクされたアカウントはアクティブディレクトリ・アカウントおよび／またはユーザのアクセス権を備えるアカウントを備えてもよい。リンクされたアカウントが備えるアクセス権に従って、アプリケーションに企業データへのアクセスが許可されてもよい。
【０２０６】
一つの実施形態において、アプリケーションは私物アプリの業務利用を備えてもよく、デバイスマネージャ５２４はアプリケーションを改変および／または構成してもよい。たとえば、改変および／または構成は、アプリケーションが管理モードで稼動するような、アプリケーションの調整を備えてもよい。たとえば、アプリケーションは、管理モードで稼動している間にアプリケーションによって格納されたデータを暗号化し、もしくはセキュリティ保護されたデータコンテナに格納するように改変および／または構成してもよい。別の実施例では、アプリケーションは、管理モードで稼動している間にアプリケーションが１つ以上のセキュリティ保護されたリソース（例、ゲートウェイサーバ５６０）と通信するように改変および／または構成してもよい。この実施例では、セキュリティ保護されたリソースは、上述したように、管理モードで稼動しているアプリケーションと通信するようにプロビジョニングされたクラウドストレージリソースを備えてもよい。
【０２０７】
一つの実施形態において、アプリケーションストアは、複数の操作モードで実行することが可能なアプリケーションを提供してもよい。アプリケーションストアはモバイルデバイスにダウンロード可能なアプリケーションを提供してもよい。たとえば、モバイルデバイスはダウンロード可能なアプリケーションのリストを要求してもよく、アプリケーションストアは要求されたリストを提供してもよい。それから、モバイルデバイスはアプリケーションストアから一覧表示されたアプリケーションのうちの１つをダウンロードし、ダウンロードしたアプリケーションをインストールしてもよい。
【０２０８】
一つの実施形態において、アプリケーションストアは一アプリケーションの複数のバージョンを提供してもよく、複数の操作モードで稼動することが可能なバージョンを提供してもよい。たとえば、アプリケーションストアは、上述したように、管理モードまたは非管理モードで稼動することが可能なアプリケーションのバージョンを提供してもよい。
【０２０９】
図１７に、一つの実施形態に従い、複数のモードで実行することができるダウンロード可能なアプリケーションを提供するための方法ステップのフローチャートを示す。図１７はステップ１７０２から始まり、ダウンロード可能なアプリケーションに関する要求を受信する。たとえば、モバイルデバイス５０２などのモバイルデバイスは、アプリケーションストアからダウンロード可能なアプリケーションのリストを要求してもよい。
【０２１０】
図１７のプロセスは、ステップ１７０２からステップ１７０４に進み、モバイルデバイスが複数のモードでアプリケーションを実行するように構成されているかどうかが判定される。たとえば、モバイルデバイスは管理モードおよび非管理モードでアプリケーションを実行するように構成されているかどうかを判定してもよい。
【０２１１】
一つの実施形態において、モバイルデバイスが、管理モードおよび非管理モードでアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかを判定してもよい。モバイルデバイスは、アプリケーション管理フレームワーク６１４などのアプリケーション管理フレームワークを用いて構成されているかどうかを判定してもよい。
【０２１２】
一つの実施形態において、モバイルデバイスが管理モードおよび非管理モードでアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかの判定は、アプリケーション管理フレームワークに関連する管理対象アプリケーションがモバイルデバイスにインストールされていることの検出を備えてもよい。たとえば、アプリケーション管理フレームワーク６１４などのアプリケーション管理フレームワークに関連するクライアントエージェント６０４などの管理対象アプリケーションが、モバイルデバイスにインストールされているかどうかを検出してもよい。クライアントエージェント６０４などのアプリケーションがモバイルデバイスにインストールされていることの検出は、モバイルデバイスが管理モードおよび非管理モードでアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているという判定を認めてもよい。
【０２１３】
一つの実施形態において、モバイルデバイスが管理モードおよび非管理モードでアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されているかどうかの判定は、アプリケーション管理フレームワークに関連するデバイスマネージャによってモバイルデバイスが管理されていることの検出を備えてもよい。たとえば、アプリケーション管理フレームワーク６１４などのアプリケーション管理フレームワークに関連するデバイスマネージャ５２４などのデバイスマネージャが、モバイルデバイスを管理しているかどうかを検出してもよい。デバイスマネージャ５２４などのデバイスマネージャがモバイルデバイスを管理していることの検出は、管理モードおよび非管理モードでアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いてモバイルデバイスが構成されていることの判定を認めてもよい。
【０２１４】
図１７のステップ１７０４からステップ１７０６に進み、判定に基づいて、ダウンロード可能なアプリケーションのリストがモバイルデバイスに送信される。たとえば、モバイルデバイスが管理モードおよび非管理モードでアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されていると判定される場合、管理モードおよび非管理モードの両方で実行可能なアプリケーションの第１バージョンを含むダウンロード可能なアプリケーションのリストを提供してもよい。別の実施例では、モバイルデバイスが管理モードおよび非管理モードでアプリケーションを実行することが可能なアプリケーション管理フレームワークを用いて構成されていないと判定される場合、管理モードおよび非管理モードの両方で実行可能なアプリケーションの第１バージョンを除外したダウンロード可能なアプリケーションのリストを提供してもよい。たとえば、アプリケーションはファイル共有アプリケーションを備えてもよく、ファイル共有アプリケーションの第１バージョンは、上述したように、管理モードおよび非管理モードの両方で実行可能なアプリケーションを備えてもよい。
【０２１５】
一つの実施形態において、管理モードおよび非管理モードの両方で実行可能なアプリケーションの第１バージョンは、アプリケーション管理フレームワーク６１４など、モバイルデバイスのアプリケーション管理フレームワークに関連付けてもよい。アプリケーションの第１バージョンは、モバイルデバイスによって実装されているアプリケーション管理フレームワークとの関連に基づいて選択してもよい。
【０２１６】
たとえば、アプリケーションストアは、管理モードおよび非管理モードで実行可能なアプリケーションの複数のバージョンを備えてもよく、アプリケーションの第１バージョンがアプリケーション管理フレームワークによる実行および／または管理のために構成されているので、アプリケーションの第１バージョンを一覧表示のために選択してもよい。所定のモバイルデバイスのアプリケーション管理フレームワークに基づいてアプリケーションの適切なバージョンを選択することにより、デバイスによって実装されているアプリケーション管理フレームワークに関係なく、単一のアプリケーションストアが多様なモバイルデバイスにアプリケーションを提供してもよい。このように、各アプリケーション管理フレームワークのプロバイダは専用のアプリケーションストアを維持する必要がなく、アプリケーション開発者は配信のために単に単一のアプリケーションストアにアプリケーションの１つ以上のバージョンを供給することができる。
【０２１７】
一つの実施形態において、非管理モードおよび管理モードの両方で実行可能なアプリケーションの第１バージョンは、デバイスマネージャ５２４など、モバイルデバイスを管理するデバイスマネージャに関連付けてもよい。アプリケーションの第１バージョンはデバイスマネージャとの関連に基づいて選択してもよい。たとえば、アプリケーションストアは管理モードおよび非管理モードで実行可能なアプリケーションの複数のバージョンを備えてもよく、アプリケーションの第１バージョンはモバイルデバイスを管理するデバイスマネージャとの関連に基づいて一覧表示のために選択してもよい。
【０２１８】
一つの実施形態において、ダウンロード可能なアプリケーションのリストに基づいて、モバイルデバイスはアプリケーションをダウンロードしてインストールしてもよい。たとえば、リストが管理モードおよび非管理モードで実行可能なアプリケーションのバージョンを備える実施形態では、モバイル機はアプリケーションのそのバージョンをダウンロードし、アプリケーションのそのバージョンをインストールしてもよい。それから、モバイルデバイスはインストールしたアプリケーションを管理モードまたは非管理モードで実行してもよい。
【０２１９】
別の実施形態では、登録済みモバイルデバイスにインストールされるアプリケーションは、外部アプリケーションを備えてもよい。たとえば、登録済みモバイルデバイスは、企業アプリケーションストアなどの登録済みモバイルデバイスのデバイスマネージャ（例、デバイスマネージャ５２４）に属する企業ソースではなく、一般アプリケーションストアなど、モバイルデバイスのデバイスマネージャ（例、デバイスマネージャ５２４）に属さない外部ソースからアプリケーションを受信してもよい。一つの実施形態において、外部アプリケーションは、企業アプリケーションストアとは関連のない一般アプリケーションを備えてもよい。
【０２２０】
一つの実施形態において、外部アプリケーションは企業用アカウントおよび／または企業サーバへのサインオンを要求してもよい。企業用アカウントは、企業のアクティブディレクトリに関連するアカウントなど、企業に関連するアカウントを備えてもよい。たとえば、外部アプリケーションは電子メール・クライアントを備えてもよく、電子メール・クライアントは企業電子メールアカウントへのサインオンを要求してもよい。別の実施例では、外部アプリケーションはクラウドストレージ・アプリケーションを備えてもよく、クラウドストレージ・アプリケーションは、ゲートウェイサーバなどの企業リソースへのアクセスを許可するサーバへのサインオンを要求してもよい。
【０２２１】
一つの実施形態において、図５の登録済みモバイルデバイス５０２などの登録済みモバイルデバイスは、外部アプリケーションをインストールさせてもよく、外部アプリケーションは、図５のゲートウェイサーバ５６０などのサーバに、企業用アカウントへのアクセス要求を提出してもよい。これは私物アプリの業務利用（ＢＹＯＡ）実施形態の実施例を備えてもよい。
【０２２２】
一つの実施形態において、管理対象モバイルデバイスにインストールされている私物アプリの業務利用は、モバイルデバイスを管理するデバイスマネージャによって改変および／または構成してもよい。たとえば、モバイルデバイス５０２にインストールされている私物アプリの業務利用は、デバイスマネージャ５２４によって改変してもよい。改変および／または構成は、アプリケーションが管理モードで稼動するようなアプリケーションの調整を備えてもよい。たとえば、アプリケーションは、管理モードで稼動しているときに、アプリケーションが格納しているデータを暗号化するか、またはセキュリティ保護されたデータコンテナに格納するように改変および／または構成してもよい。別の実施例では、アプリケーションは、管理モードで稼動しているときに、アプリケーションが１つ以上のセキュリティ保護されたリソース（例、ゲートウェイサーバ５６０）と通信してもよいように改変および／または構成してもよい。
【０２２３】
構造的な特徴および／または方法論的な行為に特有の用語で本発明に係る主題を説明してきたが、添付の請求項で定義される主題は必ずしも上述した特有の特徴または行為に制限されるものではないことは理解されるべきである。むしろ、上述した特有の特徴および行為は以下の請求項の例示的な実施態様として説明され、他の実施形態も実施してもよい。たとえば、さまざまな他の実施形態は以下のものを含むが、これだけに制限されるものではない。
【０２２４】
本発明の一つの実施形態は、モバイルデバイスで、管理モードである第１モードでアプリケーションを稼動するステップと、モバイルデバイスで、非管理モードである第２モードでアプリケーションを稼動するステップであって、前記アプリケーションは前記アプリケーションが第１モードで稼動しているときとは相互に排他的な時に第２モードで稼動している、前記稼動するステップと、アプリケーションに関連するデータを格納する要求を受信するステップと、アプリケーションが管理モードで稼動しているときに第１プロトコルに従ってデータを格納し、アプリケーションが非管理モードで稼動しているときに第２プロトコルに従ってデータを格納するステップとを備える方法を含んでいてもよい。
【０２２５】
このような実施形態では、第１プロトコルは第１データコンテナにデータを格納することを備えてもよく、第２プロトコルは第１データコンテナとは相互に排他的な第２データコンテナにデータを格納することを備えてもよい。このような実施形態は、非管理モードで稼動しているときに、アプリケーションが第１データコンテナにアクセスするのを制限することをさらに含んでもよい。このような実施形態は、そのデータを格納する前に第１鍵でデータを暗号化することを備える第１プロトコルと、データを格納する前に第２鍵でデータを暗号化することおよびデータを暗号化しないで格納することのうちの少なくとも１つを備える第２プロトコルとをさらに含んでもよい。ある場合には、管理モードで稼動しているアプリケーションは、アプリケーションとは別で、複数のアプリケーションに適用可能な１つ以上のポリシーファイルに従って、デバイスマネージャによって管理される。いくつかの側面は、アプリケーションの管理モードを使用不可にする信号をデバイスマネージャから受信することも含んでもよい。それが起こる場合、本発明の実施形態は、受信した信号に応答して、第１プロトコルに従って格納されているデータの位置を特定し、位置特定したデータを選択的に削除してもよい。第１プロトコルに従って格納されているデータの位置を特定することは、アプリケーションに関連する管理対象アカウントを判定することと、管理対象アカウントに基づいてデータの位置を特定することとを含んでもよい。ある場合には、第１プロトコルに従って格納されているデータの位置を特定することは、第１プロトコルに従ってデータを格納しているコンテナの位置を特定することをさらに備えてもよい。ある側面において、第１プロトコルに従って格納されているデータの位置を特定することは、第１プロトコルに関連する暗号化鍵を判定することと、判定された暗号化鍵に基づいてデータの位置を特定することとをさらに備える。いくつかの実施形態において、デバイスマネージャは、モバイルデバイスにインストールされているブラックリストアプリケーションを特定することに応答して、管理モードを使用不可にする。デバイスマネージャは、アプリケーションに関連する管理対象アカウントが失効していることの検出に応答して、管理モードを使用不可にしてもよい。デバイスマネージャは、モバイルデバイスがジェイルブレイクまたはルート化されていることの検出に応答して、管理モードを使用不可にしてもよい。ある場合には、位置特定されたデータを選択的に削除することは、モバイルデバイスに格納されているアプリケーションに関連する個人データを削除しない。
【０２２６】
別の実施形態は、プロセッサを備えるコンピューティングデバイスを含んでもよく、前記コンピューティングデバイスは第１モードでアプリケーションを稼動するように構成されており、前記第１モードはアプリケーションとは別で、コンピューティングデバイス上で実行する複数のアプリケーションの動作を管理するために使用できる１つ以上のポリシーファイルの制御下で動作する管理モードであり、さらに第２モードでアプリケーションを稼動するように構成されており、前記アプリケーションは前記アプリケーションが第１モードで稼動しているときとは相互に排他的な時に第２モードで稼動し、さらにアプリケーションに関連したデータを格納する要求を受信するように構成されており、さらにアプリケーションが第１モードで稼動しているときに第１プロトコルに従ってデータを格納し、アプリケーションが第２モードで稼動しているときに第２プロトコルに従ってデータを格納するように構成されている。いくつかの側面において、第１プロトコルは第１データコンテナにデータを格納することを備えており、第２プロトコルは第１データコンテナとは異なる第２データコンテナにデータを格納することを備える。いくつかの実施形態では、コンピューティングデバイスは、第２モードで稼動しているときにアプリケーションが第１データコンテナにアクセスするのを制限するようにさらに構成されている。いくつかの実施形態では、第１プロトコルは、そのデータを格納する前に第１鍵でデータを暗号化することを備え、第２プロトコルは、データを格納する前に第２鍵でデータを暗号化すること、およびデータを暗号化しないで格納することのうちの少なくとも１つを備える。いくつかの実施形態では、第１モードは第１管理モードであり、第２モードは第１管理モードとは異なる少なくとも１つのポリシーファイルに従って管理される第２の管理モードである。
【０２２７】
さらに別の実施形態では、データ処理システムの１つ以上のプロセッサによって実行されるときに、システムに、管理モードである第１モードでアプリケーションを稼動させ、非管理モードである第２モードでアプリケーションを稼動させ、前記アプリケーションは前記アプリケーションが第１モードで稼動しているときとは相互に排他的な時に第２モードで稼動し、アプリケーションに関連するデータを格納する要求を受信させ、アプリケーションが管理モードで稼動しているときには第１プロトコルに従ってデータを格納させ、アプリケーションが非管理モードで稼動しているときには第２プロトコルに従ってデータを格納させる、コンピュータ実行可能な命令を格納する１つ以上の非一時的なコンピュータ読取可能な記憶媒体を含んでもよい。
【０２２８】
別の実施形態において、本発明の方法は、モバイルデバイスに新たなソフトウェア・アプリケーションがインストールされていることを判定するためにモバイルデバイスを定期的に監視するステップと、アプリケーションが第１モードおよび第２モードの両方で稼動することが可能であることを検出するステップであって、前記第１モードはアプリケーションとは別で、コンピューティングデバイス上で実行する複数のアプリケーションの動作を管理するために使用可能な１つ以上のポリシーファイルの制御下で動作する管理モードである、前記検出するステップと、アプリケーションが第１モードで稼動しているときにのみリソースがアプリケーションと通信し、アプリケーションが第２モードで稼動しているときにはアプリケーションと通信しないように構成されるように、アプリケーションと通信するリソースをプロビジョニングするステップとを含んでもよい。
【０２２９】
いくつかの側面において、リソースはセキュリティ保護されたデータを格納するクラウドストレージリソースを備える。いくつかの側面において、リソースをプロビジョニングすることは、アプリケーションが第１モードで稼動している間に、クラウドデータストレージリソースに格納されているセキュリティ保護されたデータへのアクセスをアプリケーションに許可するように、クラウドデータストレージリソースをプロビジョニングすることを備える。いくつかの側面では、モバイルデバイスはデバイスマネージャによって管理され、デバイスマネージャは１つ以上のポリシーファイルを管理する。いくつかの側面において、リソースをプロビジョニングすることは、モバイルデバイスからの識別情報に関連するアプリケーションのリソースを用いてアカウントを作成することと、識別情報に基づいて管理対象アカウントの位置を特定することと、作成したアカウントに管理対象アカウントをリンクさせることとをさらに備える。いくつかの側面において、第２モードは、第１モードとは異なる１つ以上のポリシーファイルの制御下で動作する第２の管理モードである。いくつかの側面において、第１モードは第１のユーザの役割に関連し、第２モードは第１のユーザの役割とは異なる第２のユーザの役割に関連する。いくつかの側面において、第１モードは第１の職場環境タイプに関連し、第２モードは第２の職場環境タイプに関連する。いくつかの側面において、方法は、アプリケーションが第１モードで稼動していることを検出するステップと、作成したアカウントに基づいてアプリケーションにセキュリティ保護されたデータへのアクセスを許可するステップとを含む。いくつかの側面において、方法は、第１モードで稼動しているアプリケーションから、セキュリティ保護されたデータへのアクセス要求を備える要求を受信するステップと、作成したアカウントに基づいてアプリケーションにセキュリティ保護されたデータへのアクセス権を付与するステップとを含む。いくつかの側面において、アプリケーションは企業によってデバイスに配信される。
【０２３０】
別の例示的な実施形態において、プロセッサを備えるデバイスは、新たなソフトウェア・アプリケーションがモバイルデバイスにインストールされていることを判定するためにモバイルデバイスを定期的に監視するように構成され、さらにアプリケーションとは別で、コンピューティングデバイス上で実行する複数のアプリケーションの動作を管理するために使用可能な１つ以上のポリシーファイルの制御下で動作する管理モードである第１モード、および第２モードの両方でアプリケーションが稼動することが可能であることを検出するように構成され、さらにアプリケーションが第１モードで稼動しているときにのみリソースがアプリケーションと通信し、アプリケーションが第２モードで稼動しているときにはアプリケーションと通信しないように構成されるようにアプリケーションと通信するリソースをプロビジョニングするように構成されている。いくつかの側面において、リソースはセキュリティ保護されたデータを格納するクラウドストレージリソースを備える。
【０２３１】
いくつかの側面において、リソースをプロビジョニングすることは、アプリケーションが第１モードで稼動している間に、クラウドデータストレージリソースに格納されているセキュリティ保護されたデータへのアクセスをアプリケーションに許可するようにクラウドデータストレージリソースをプロビジョニングすることを備える。いくつかの側面において、モバイルデバイスはデバイスマネージャによって管理され、デバイスマネージャは１つ以上のポリシーファイルを管理する。いくつかの側面において、リソースをプロビジョニングすることは、モバイルデバイスからの識別情報に関連するアプリケーションのリソースを用いてアカウントを作成することと、識別情報に基づいて管理対象アカウントの位置を特定することと、作成したアカウントに管理対象アカウントをリンクさせることとをさらに備える。いくつかの側面において、第２モードは、第１モードとは異なる１つ以上のポリシーファイルの制御下で動作する第２の管理モードである。いくつかの側面において、第１モードは第１のユーザの役割に関連し、第２モードは第２のユーザの役割に関連する。いくつかの側面において、デバイスはさらに、アプリケーションが第１モードで稼動していることを検出し、作成したアカウントに基づいてセキュリティ保護されたデータへのアクセスをアプリケーションに許可するように構成されている。
【０２３２】
別の例示的な実施形態において、１つ以上の非一時的なコンピュータ読取可能な記憶媒体は、データ処理システムの１つ以上のプロセッサで実行したときに、システムに、新たなソフトウェア・アプリケーションがモバイルデバイスにインストールされているかどうかを判定するためにモバイルデバイスを定期的に監視することと、アプリケーションが、アプリケーションとは別で、コンピューティングデバイス上で実行する複数のアプリケーションの動作を管理するために使用可能な１つ以上のポリシーファイルの制御下で動作する管理モードである第１モード、および第２モードの両方で稼動することが可能であることを検出することと、アプリケーションが第１モードで稼動しているときにのみリソースがアプリケーションと通信し、アプリケーションが第２モードで稼動しているときにはアプリケーションと通信しないようにリソースを構成するようにアプリケーションと通信するリソースをプロビジョニングすることとを行わせるコンピュータ実行可能命令を格納する。
【０２３３】
本出願は、２０１３年９月９日に提出された、「Data Management   for an Application with Multiple Operation Modes」と題する米国出願第１４／０２１，２２７号、２０１３年８月２日に提出された「Policy-Based Application Management」と題する仮出願第６１／８６１，７３６号、２０１３年８月２日に提出された「Data Management for an Application with Multiple Operation Modes」と題する仮出願第６１／８６１，７５８号、２０１３年３月２９日に提出された「Systems and Methods for Enterprise Mobility Management」と題する仮出願第６１／８０６，５５７号の各優先権を主張するとともに、２０１３年５月２日に提出された「Application with Multiple Operation Modes」と題する米国特許出願第１３／８８６，８８９号の一部継続出願であり、それぞれを参照によりそれらの全体を本明細書に組み込む。
【図１】
0006047685.tif 000002
【図２】
0006047685.tif 000003
【図３】
0006047685.tif 000004
【図４】
0006047685.tif 000005
【図５】
0006047685.tif 000006
【図６】
0006047685.tif 000007
【図７】
0006047685.tif 000008
【図８】
0006047685.tif 000009
【図９】
0006047685.tif 000010
【図１０】
0006047685.tif 000011
【図１１】
0006047685.tif 000012
【図１２】
0006047685.tif 000013
【図１３】
0006047685.tif 000014
【図１４】
0006047685.tif 000015
【図１５】
0006047685.tif 000016
【図１６】
0006047685.tif 000017
【図１７】
0006047685.tif 000018