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