特許第6374953号(P6374953)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サイトリックス システムズ,インコーポレイテッドの特許一覧

特許6374953コンテキストによるモバイルデバイスのロック
<>
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000002
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000003
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000004
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000005
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000006
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000007
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000008
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000009
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000010
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000011
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000012
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000013
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000014
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000015
  • 特許6374953-コンテキストによるモバイルデバイスのロック 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6374953
(24)【登録日】2018年7月27日
(45)【発行日】2018年8月15日
(54)【発明の名称】コンテキストによるモバイルデバイスのロック
(51)【国際特許分類】
   G06F 3/0482 20130101AFI20180806BHJP
   H04M 1/00 20060101ALI20180806BHJP
   G06F 21/31 20130101ALI20180806BHJP
   G06F 21/12 20130101ALI20180806BHJP
【FI】
   G06F3/0482
   H04M1/00 R
   G06F21/31
   G06F21/12
【請求項の数】16
【全頁数】36
(21)【出願番号】特願2016-512957(P2016-512957)
(86)(22)【出願日】2014年5月1日
(65)【公表番号】特表2016-530582(P2016-530582A)
(43)【公表日】2016年9月29日
(86)【国際出願番号】US2014036382
(87)【国際公開番号】WO2014179577
(87)【国際公開日】20141106
【審査請求日】2015年12月15日
(31)【優先権主張番号】13/886,765
(32)【優先日】2013年5月3日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】397074301
【氏名又は名称】サイトリックス システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】110002310
【氏名又は名称】特許業務法人あい特許事務所
(72)【発明者】
【氏名】デサイ,ニティン
【審査官】 円子 英紀
(56)【参考文献】
【文献】 特開2009−070073(JP,A)
【文献】 特開2008−097419(JP,A)
【文献】 米国特許出願公開第2011/0072492(US,A1)
【文献】 特開2011−248888(JP,A)
【文献】 特表2008−527574(JP,A)
【文献】 特開2008−160753(JP,A)
【文献】 米国特許出願公開第2012/0291101(US,A1)
【文献】 松久 育紀,インサイト,テレコミュニケーション,株式会社リックテレコム,2011年 9月25日,第28巻,第10号,p.66-69
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048−3/0489
G06F 21/12
G06F 21/31
H04M 1/00
(57)【特許請求の範囲】
【請求項1】
データが制限されるいずれのアプリケーションとも独立してモバイルデバイス上に設置された1または複数のポリシーファイルに基づいて、前記データへのアクセスを制限する企業管理システムによって制御されたモバイルデバイスを制御する方法において、
(a)前記モバイルデバイスにログオンするユーザ名を受け取り、
(b)前記モバイルデバイスの1つ以上のオペレーションパラメータに基づいて前記モバイルデバイスのためのコンテキストを決定し、
(c)前記コンテキストおよび前記ユーザ名に基づいて、前記モバイルデバイスを企業管理システムによって管理されるスプリングボード・ロック・モードで動作させることを決定し、
(d)前記コンテキストおよび前記ユーザ名に基づいて、スプリングボード・ロック・モード内でユーザに提示するための1つ以上のアプリケーションを選択し、
(e)前記モバイルデバイスを前記スプリングボード・ロック・モード内で稼働する方法であって、
前記ステップ(d)において、前記モバイルデバイスは、前記スプリングボード・ロック・モード内で、選択された前記1つ以上のアプリケーションのみにユーザがアクセススできるようにするスプリングボード・ユーザ・インターフェースをユーザに表示し、前記ユーザ名は複数の役割のうちの1つと関連付けられており、前記ユーザ名が第一の役割と関連付けられている場合は第一グループのアプリケーションが提示のために選択され、前記ユーザ名が第二の役割と関連付けられている場合は第二グループのアプリケーションが提示のために選択され
前記モバイルデバイスがロックを解除されたモードのときユーザに提示される前記1つ以上のアプリケーションのうちの1つでないアプリケーションを動作させているとき、かつ、前記モバイルデバイスの動作モードが前記スプリングボード・ロック・モードに切り替えられたとき、前記モバイルデバイスがロックを解除されたモードのとき前記モバイルデバイスで動作していたアプリケーションは、ロックされ、前記モバイルデバイス上で動作させるためにユーザに提示されない、方法。
【請求項2】
前記コンテキストを決定するステップは前記モバイルデバイスのための位置を分析することを含み、
前記位置が会社の敷地である場合は、前記モバイルデバイスはスプリングボード・ロック・モードで稼働すると決定される、請求項1に記載の方法。
【請求項3】
前記コンテキストを決定するステップは前記モバイルデバイスのための1つ以上のネットワーク接続を分析することを含み、
前記モバイルデバイスが内部ネットワークに接続されている場合は、前記モバイルデバイスはスプリングボード・ロック・モードで稼働すると決定される、請求項1に記載の方法。
【請求項4】
前記コンテキストを決定するステップは現在の時間を分析することを含み、
前記現在の時間が平日の午前9時から午後5時の間である場合は、前記モバイルデバイスはスプリングボード・ロック・モードで稼働すると決定される、請求項1に記載の方法。
【請求項5】
前記複数の役割は階層構造に構成されている、請求項1に記載の方法。
【請求項6】
前記選択された1つ以上のアプリケーションはカテゴリによってグループ分けされた複数のアプリケーションを含む、請求項1に記載の方法。
【請求項7】
前記カテゴリは前記ユーザ名のための役割に基づいている、請求項6に記載の方法。
【請求項8】
前記選択された1つ以上のアプリケーションのうちの1つ以上のアプリケーションを稼働している間、前記モバイルデバイスのための更新されたコンテキストを監視するステップと、
前記監視に基づいてスプリングボードがロックされたモードから前記ロックを解除されたモードへ前記モバイルデバイスの動作モードを切り替えるステップとをさらに含む、請求項1に記載の方法。
【請求項9】
前記ユーザに提示するための1つ以上のアプリケーションを選択するステップは、前記コンテキストと前記ユーザ名に基づいて、前記スプリングボード・ロック・モード内でユーザに提示するため複数のアプリケーションを選択することを含み、
さらに前記スプリングボードを介して前記ユーザから、前記スプリングボードに提示された前記複数のアプリケーションのうち少なくとも2つのアプリケーションの選択を受け取り、
前記選択に応じて前記少なくとも2つのアプリケーションを起動し、
前記起動された各アプリケーションの間で切り替えを行う所定のジェスチャを受け取る、各ステップを含み、
前記モバイルデバイスは、前記スプリングボードのユーザインターフェイス上に提示された、起動されたアプリケーション間の切り替えを行わせる、請求項1に記載の方法。
【請求項10】
データが制限されるいずれのアプリケーションとも独立してモバイルデバイス上に設置された1または複数のポリシーファイルに基づいて前記データへのアクセスを制限する企業管理システムによって制御されたデバイスに対して、ユーザインターフェースを提供するように該デバイスを構成する命令を格納した1つ以上の不揮発性のコンピュータ可読記憶媒体であって、
前記ユーザインターフェースは、前記企業管理システムによって管理されるスプリングボード・ユーザインターフェースを含み、
前記スプリングボード・ユーザインターフェースはユーザに対して複数のアプリケーションを提示して、該ユーザが前記複数のアプリケーションのみにアクセスできるようにし、
前記複数のアプリケーションがモバイルデバイスのためのコンテキストおよびユーザ名に基づいて選択され、ここにおいて、前記ユーザ名は、複数の役割のうちの1つと関連付けられており、前記ユーザ名が第一の役割と関連付けられている場合は第一グループのアプリケーションが提示のために選択され、前記ユーザ名が第二の役割と関連付けられている場合は第二グループのアプリケーションが提示のために選択され、
前記モバイルデバイスのための前記コンテキストは前記モバイルデバイスの1つ以上のオペレーションパラメータに基づいており、
前記モバイルデバイスは、スプリングボード・ロック・モードで稼働し、その際に、前記モバイルデバイスが前記スプリングボード・ユーザインターフェースにロックされて、前記ユーザが前記スプリングボード・ユーザインターフェースを介してアクセスできないモバイルデバイス上の1つ以上のアプリケーションに、アクセスすることができないようになっており、
前記モバイルデバイスがロックを解除されたモードのときユーザに提示される前記1つ以上のアプリケーションのうちの1つでないアプリケーションを動作させているとき、かつ、前記モバイルデバイスの動作モードが前記スプリングボード・ロック・モードに切り替えられたとき、前記モバイルデバイスがロックを解除されたモードのとき前記モバイルデバイスで動作していたアプリケーションは、ロックされ、前記モバイルデバイス上で動作させるためにユーザに提示されない、記憶媒体。
【請求項11】
前記コンテキストを決定するステップは前記モバイルデバイスのための位置を分析することを含み、
前記位置が会社の敷地である場合は、前記モバイルデバイスはスプリングボード・ロック・モードで稼働すると決定される、請求項10に記載の記憶媒体
【請求項12】
前記コンテキストを決定するステップは前記モバイルデバイスのための1つ以上のネットワーク接続を分析することを含み、
前記モバイルデバイスが内部ネットワークに接続されている場合は、前記モバイルデバイスはスプリングボード・ロック・モードで稼働すると決定される、請求項10に記載の記憶媒体。
【請求項13】
前記コンテキストを決定するステップは現在の時間を分析することを含み、
前記現在の時間が平日の午前9時から午後5時の間である場合は、前記モバイルデバイスはスプリングボード・ロック・モードで稼働すると決定される、請求項10に記載の記憶媒体。
【請求項14】
前記複数の役割は階層構造に構成されている、請求項10に記載の記憶媒体。
【請求項15】
前記選択された1つ以上のアプリケーションはカテゴリによってグループ分けされた複数のアプリケーションを含む、請求項10に記載の記憶媒体。
【請求項16】
前記カテゴリは前記ユーザ名のための役割に基づいている、請求項15に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はモバイルデバイスで利用されるコンテンツの制御に関するものである。
【背景技術】
【0002】
モバイルコンピューティングデバイスの使用は増大し続けている。特に、事業体やその他の企業は、様々な企業リソースへの個人のリモートアクセスを可能にするためにモバイルコンピューティングデバイスに頼るようになってきている。そのようなリソースは、たとえば、電子メールサービス、ファイルサービス、データ、および企業のコンピュータシステムによって提供される他の電子リソースを含んでいる。
【0003】
このビジネス使用の勢いに伴い、個人はビジネス用および個人用の両方の方法で、自身のモバイルコンピューティングデバイスを使用し始めている。たとえば、ある企業の従業員は、同じモバイルコンピューティングデバイスから企業の電子メールアカウントおよび個人の電子メールアカウントにアクセスしてもよい。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一定の環境におけるモバイルデバイスで利用可能なコンテンツを制御する機能は、たとえばモバイルデバイスが企業の敷地に配置されている場合、有用である。
【課題を解決するための手段】
【0005】
以下に、本明細書に説明する様々な発明の態様の簡単な概要を提示する。本概要は広範な全体像ではなく重要なもしくは欠かせない要素を特定すること、または特許請求の範囲を正確に説明することを意図していない。以下の概要は、以下に記載するより詳細な説明の導入として、単にいくつかの概念を簡単な形で提示するにすぎない。
【0006】
インターフェース上でモバイルデバイスをロックする方法およびシステムについて説明する。
【0007】
ユーザはユーザ名を用いてモバイルデバイスにログオンする。モバイルデバイスはそのデバイスの1つ以上のオペレーションパラメータに基づいてモバイルデバイスのためのコンテキストを決定する。たとえば、モバイルデバイスのためのコンテキストはデバイスの現在の位置であってもよい。コンテキストおよびユーザ名に基づいて、モバイルデバイスはロックされたモードで稼働することができる。ロックされたモードで、ユーザ名およびコンテキストに基づいてモバイルデバイスに提示するためにアプリケーションを選択する。モバイルデバイスはユーザに対して起動のために選択されたアプリケーションのみを提示するスプリングボードにロックされる。
【0008】
ある実施形態では、モバイルデバイスのためのコンテキストは、選択されたアプリケーションを稼働するモバイルデバイスの位置、モバイルデバイスのための1つ以上のネットワーク接続、モバイルデバイスのための1つ以上の設定および現在の時間を含んでいてもよい。ユーザ名によって結合されたこれらのコンテキストのうちの1つ以上は、モバイルデバイスがロックされるべきであるかどうか、および何れのアプリケーションを提示するかを決定するために、ポリシーと比較されてもよい。
【0009】
別の実施形態では、オペレーションモードをモバイルデバイスのために切り替えてもよい。モバイルデバイスがロックされている間、モバイルデバイスのために1つ以上のコンテキストを監視してもよく、その監視に基づいてオペレーションモードの変更を検出してもよい。たとえば、1つ以上のコンテキストがモバイルデバイスのために変わってもよく、ポリシーは、モバイルデバイスのためのオペレーションモードはロックを解除するように変更されるべきであると定義してもよい。したがって、オペレーションモードはロック解除のために切り替えられる。
【0010】
以上および追加の態様は、以下のさらに詳細に述べる開示によって十分理解されるであろう。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態に従って使用されるコンピュータシステムのアーキテクチャを示す図である。
図2】リモートアクセスシステムのアーキテクチャを示す図である。
図3】仮想(ハイパーバイザー)システムのアーキテクチャを示す図である。
図4】クラウドベースのシステムのアーキテクチャを示す図である。
図5】エンタープライズモビリティ管理システムを示す図である。
図6】別のエンタープライズモビリティ管理システムを示す図である。
図7A】モバイルデバイスのインターフェースを示す図である。
図7B】モバイルデバイスのインターフェースを示す図である。
図8】コンテキストおよびユーザ名に基づいてモバイルデバイスをロックする流れを示すフローチャートである。
図9】モバイルデバイスのアプリケーションのための位置コンテキストを決定するフローチャートである。
図10】モバイルデバイスのためのネットワーク接続コンテキストを決定するフローチャートである。
図11】モバイルデバイスのための設定コンテキストを決定するフローチャートである。
図12】モバイルデバイスのための現在の時間のコンテキストを決定するフローチャートである。
図13】ロックされたモバイルデバイスをナビゲートするフローチャートである。
図14】モバイルデバイスのためのオペレーションモードを切り替えるフローチャートである。
【発明を実施するための形態】
【0012】
本明細書で説明する態様およびその利点は、添付の図面を考慮して以下の説明を参照すると、より完全な理解が得られる。図面において、同じ参照番号は同じ特徴を示す。
【0013】
上述のとおり特定され、本明細書の一部をなし、例示により本明細書で説明する本発明の各態様を実施するための様々な実施形態を、添付の図面を参照しながら説明する。本明細書で説明する範囲を逸脱することなく、他の実施形態を利用し、構造および機能に変更を加えてもよいことは理解されるべきである。本発明の各態様は他の実施形態が可能であり、様々な異なる方法で実施または実行することが可能である。
【0014】
以下詳細に説明する主題の概要紹介として、本明細書で説明する実施の形態は、モバイルコンピューティングデバイスの管理対象モバイルアプリケーションを使用して、企業コンピューティングシステムのリソースへのリモートアクセスを制御することを指向する。
アクセスマネージャは、企業リソースへのアクセスを要求するモバイルアプリケーションが正確に特定され、モバイルコンピューティングデバイスへのインストール後に改変されていないかどうかを判定する検証プロセスを行う。このように、アクセスマネージャは企業リソースへのアクセスを要求するモバイルアプリケーションが信頼でき、その企業リソースを保護するために使用されるセキュリティメカニズムを回避しようとしていないことを保証する。その結果、企業に関連する個人は、自分の私用モバイルデバイスで企業リソースを有利に利用できる。
【0015】
本明細書で使用される表現および用語は、説明目的であり、制限と見なしてはならないことは理解されるべきである。むしろ、本明細書で使用される表現および用語には、そのもっとも広い解釈および意味が与えられるべきである。「含み」および「備え」ならびにその変形の使用は、これ以降で挙げられるアイテムおよびその等価物ならびに追加アイテムおよびその等価物を包含することが意図されている。「取り付けられている」、「接続されている」、「連結されている」、「位置付けられている」、「係合されている」および同様な用語の使用は、直接的および間接的の両方の取り付け、接続、連結、位置付けおよび係合を含むことが意図されている。
【0016】
〈コンピューティングアーキテクチャ〉
コンピュータのソフトウェア、ハードウェアおよびネットワークは、特に、スタンドアロン、ネットワーク化、リモートアクセス(別称、リモートデスクトップ)、仮想化および/またはクラウドベースの環境を含め、多様な異なるシステム環境で利用される。
【0017】
図1は、本明細書で説明する1つ以上の態様を、スタンドアロンおよび/またはネットワーク環境で実装するために使用される、システムアーキテクチャならびにデータ処理装置の一実施例を示す。
【0018】
様々なネットワークノード103,105,107および109は、インターネットなどの広域ネットワーク(WAN)101を介して相互接続されている。プライベートイントラネット、企業ネットワーク、LAN、メトロポリタンエリアネットワーク(MAN)、ワイヤレスネットワーク、パーソナルネットワーク(PAN)等を含む、他のネットワークもまた、または代わりに使用してもよい。ネットワーク101は例示目的であり、より少ないか、または追加のコンピュータネットワークと取り替えてもよい。ローカルエリアネットワーク(LAN)はあらゆる周知のLANトポロジーのうちの1つ以上を有しており、イーサーネットなどの多様な異なるプロトコルのうちの1つ以上を使用する。デバイス103,105,107,109および他のデバイス(図示せず)は、撚り対線、同軸ケーブル、光ファイバ、電波または他の通信媒体を介してネットワークのうちの1つ以上に接続している。
【0019】
本明細書で使用し、図面に図示する用語「ネットワーク」とは、遠隔記憶装置が1つ以上の通信パスを介して互いに連結されているシステムだけではなく、記憶容量を有する当該システムにそのときどきで連結してもよいスタンドアロンデバイスのことも含む。そのため、「ネットワーク」とは、「物理的ネットワーク」だけでなく、すべての物理的ネットワークに常駐する(単一のエンティティに帰属する)データから構成される「コンテンツネットワーク」をも含む。
【0020】
コンポーネントは、データサーバ103、ウェブサーバ105およびクライアントコンピュータ107,109を含んでいる。データサーバ103は、本明細書で説明する1つ以上の態様を行うために、データベースおよび制御ソフトウェアの全体的なアクセス、制御および管理(administration)を提供する。
【0021】
データサーバ103はウェブサーバ105に接続されていてもよく、それによりユーザは必要なデータとやりとりし、必要なデータを取得する。あるいは、データサーバ103はウェブサーバ自体として作動してもよく、インターネットに直接接続してもよい。データサーバ103は、直接もしくは間接的な接続を介して、または何らかの他のネットワークを介して、ネットワーク101(たとえば、インターネット)経由でウェブサーバ105に接続されていてもよい。
【0022】
ユーザはリモートコンピュータ107,109を使用して、たとえばウェブサーバ105がホストする1つ以上の外部に露出するウェブサイトを介してデータサーバ103に接続するためのウェブブラウザを使用して、データサーバ103とやりとりする。クライアントコンピュータ107,109はデータサーバ103とともに使用されて、そこに格納されているデータにアクセスしてもよく、または他の目的で使用されてもよい。たとえばユーザは、クライアントデバイス107から、当該技術分野で周知のインターネットブラウザを使用して、またはコンピュータネットワーク(インターネットなど)上でウェブサーバ105および/またはデータサーバ103と通信するソフトウェア・アプリケーションを実行することにより、ウェブサーバ105にアクセスしてもよい。
【0023】
サーバおよびアプリケーションは同じ物理マシン上に組み合わされて、個別の仮想アドレスもしくは論理アドレスを保持してもよく、または個別の物理マシンに常駐していてもよい。
【0024】
図1は、使用され得るネットワークアーキテクチャのほんの一実施例を示しており、当業者は、使用される特定のネットワークアーキテクチャおよびデータ処理装置を変更してもよいこと、ならびに、本明細書で詳細に説明するように、それが提供する機能に対して二次的なものであることを認識するであろう。たとえば、ウェブサーバ105およびデータサーバ103が提供するサービスは単一のサーバに結合されてもよい。
【0025】
各コンポーネント103,105,107,109は、あらゆるタイプの周知のコンピュータ、サーバまたはデータ処理装置であってもよい。たとえば、データサーバ103はレートサーバ103のオペレーション全体を制御するプロセッサ111を含んでいてもよい。データサーバ103は、RAM113、ROM115、ネットワークインターフェース117、入出力インターフェース119(たとえば、キーボード、マウス、ディスプレイ、プリンタ等)およびメモリ121をさらに含んでいてもよい。
【0026】
I/O119は、データまたはファイルを読み込み、書き込み、表示し、および/または印刷する多様なインターフェースユニットおよびドライブを含んでいてもよい。メモリ121はデータ処理装置103、本明細書で説明する態様を行うようデータサーバ103に指図する制御ロジック125、ならびに本明細書で説明する態様と合わせて使用してもしなくてもよい二次的、サポートおよび/または他の機能を提供する他のアプリケーションソフトウェア127のオペレーション全体を制御するオペレーティングシステム・ソフトウェア123をさらに格納していてもよい。
【0027】
制御ロジックは本明細書ではデータサーバソフトウェア125ともいう。データサーバソフトウェアの機能は、制御ロジックに符号化され、システムに入力を提供するユーザによって手動で作成されるルールに基づいて自動的に行われるオペレーションもしくは決定、および/またはユーザ入力(たとえば、問合わせ、データのアップデート等)に基づく自動処理の組合せをいう。
【0028】
メモリ121は、第1データベース129および第2データベース131を含め、本明細書で説明する1つ以上の態様の実施で使用されるデータも格納している。いくつかの実施形態では、第1データベースは第2データベースを含んでいてもよい(たとえば、個別のテーブル、レポート等として)。すなわち、情報は、システムの設計により、単一のデータベースに格納することができ、または別々の論理データベース、仮想データベースもしくは物理的データベースに分けることができる。デバイス105,107,109は、デバイス103に関して説明したのと同様なアーキテクチャを有してもよく、または異なるアーキテクチャを有していてもよい。当業者にはわかるように、本明細書で説明するデータ処理装置103(またはデバイス105,107,109)の機能を複数のデータ処理装置に分散して、たとえば、複数のコンピュータに処理ロードを分散し、地理的な場所、ユーザのアクセスレベル、サービスの質(QoS)等に基づいてトランザクションを分けてもよい。
【0029】
1つ以上の態様は、1つ以上のプログラムモジュールなど、1つ以上のコンピュータまたは本明細書で説明される他のデバイスによって実行されるコンピュータで使用可能な、もしくは読取可能なデータおよび/またはコンピュータ実行可能命令に具現されてもよい。
【0030】
一般に、プログラムモジュールは、コンピュータまたは他のデバイス内のプロセッサによって実行されるとき、特定のタスクを行うかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含んでいる。モジュールは実行のために後でコンパイルされるソースコードプログラミング言語で書き込んでもよく、またはHTMLもしくはXMLなどの(ただし、これだけに限定されない)スクリプト言語で書き込んでもよい。コンピュータ実行可能命令は、不揮発性記憶装置などのコンピュータ読取可能媒体に格納されていてもよい。ハードディスク、CD−ROM、光学記憶装置、磁気記憶装置、および/またはそのあらゆる組合せを含め、あらゆる適したコンピュータ読取可能記憶媒体を利用してもよい。さらに、本明細書で説明するデータまたはイベントを表す様々な伝送(非記憶)媒体は、金属ワイヤ、光ファイバ、ならびに/またはワイヤレス伝送媒体(たとえば、空気および/もしくは空間)など、信号伝達媒体を通して移動する電磁波の形で、送信元と宛先との間を転送してもよい。
【0031】
本明細書で説明する様々な態様は、方法、データ処理システム、またはコンピュータプログラム製品として具現される。そのため、様々な機能は、集積回路、フィールドプログラマブル・ゲートアレイ(FPGA)等といった、ソフトウェア、ファームウェアおよび/またはハードウェアもしくはハードウェア等価物に全部または一部具現化されてもよい。本明細書で説明する1つ以上の態様をより効果的に実装するために特定のデータ構造を使用してもよく、当該データ構造は本明細書で説明されるコンピュータ実行可能命令およびコンピュータ使用可能データの範囲内に含まれる。
【0032】
図2をさらに参照して、本明細書で説明する1つ以上の態様はリモートアクセス環境に実装されている。図2は、本明細書で説明する1つ以上の態様に従って使用されるコンピューティング環境200の汎用コンピューティングデバイス201を含むシステムアーキテクチャを示す。
【0033】
汎用コンピューティングデバイス201は、クライアントアクセスデバイスに仮想マシンを提供するように構成されている単一サーバまたはマルチサーバのデスクトップ仮想化システム(たとえば、リモートアクセスもしくはクラウドシステム)内のサーバ206aとして使用されてもよい。汎用コンピューティングデバイス201は、ランダムアクセスメモリ(RAM)205、読取専用メモリ(ROM)207、入出力(I/O)モジュール209およびメモリ215を含め、サーバおよびその関連コンポーネントのオペレーション全体を制御するプロセッサ203を有していてもよい。
【0034】
I/Oモジュール209は、汎用コンピューティングデバイス201のユーザが入力を提供するマウス、キーパッド、タッチスクリーン、スキャナ、光学リーダ、および/またはスタイラス(もしくは他の入力デバイス)を含んでいてもよく、また音声出力を提供するスピーカと、テキスト、オーディオビジュアルおよび/またはグラフィカル出力を提供するビデオディスプレイデバイスとのうちの1つ以上を含んでいてもよい。
【0035】
ソフトウェアはメモリ215および/または他のストレージ内に格納され、本明細書で説明する様々な機能を実施するために汎用コンピューティングデバイス201を専用コンピューティングデバイスに構成する命令をプロセッサ203に与える。たとえば、メモリ215は、オペレーティングシステム217、アプリケーション・プログラム219および関連データベース221など、コンピューティングデバイス201が使用するソフトウェアを格納していてもよい。
【0036】
コンピューティングデバイス201は、端末240(クライアントデバイスともいう)などの1つ以上のリモートコンピュータへの接続をサポートするネットワーク化環境で動作してもよい。端末240は、汎用コンピューティングデバイス103もしくは201に関して上述した要素の多くもしくはすべてを含むパーソナルコンピュータ、モバイルデバイス、ラップトップコンピュータ、タブレット、またはサーバであってもよい。
【0037】
図2に図示するネットワーク接続はローカルエリアネットワーク(LAN)225および広域ネットワーク(WAN)229を含むが、他のネットワークを含んでいてもよい。LANネットワーク化環境で使用される場合、コンピューティングデバイス201はネットワークインターフェースまたはアダプタ223経由でLAN225に接続してもよい。WANネットワーク化環境で使用される場合、コンピューティングデバイス201は、コンピュータネットワーク230(たとえば、インターネット)など、WAN229上で通信を確立するモデム227または他の広域ネットワークインターフェースを含んでいてもよい。
【0038】
図示するネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段も使用してもよいことは認識されるであろう。コンピューティングデバイス201および/または端末240は、バッテリ、スピーカおよびアンテナ(図示せず)などの様々な他のコンポーネントを含めて、モバイル端末(たとえば、携帯電話、スマートフォン、PDA、ノートブック等)であってもよい。
【0039】
本明細書で説明する態様は、複数の他の汎用もしくは専用コンピューティングシステムの環境または構成と併用して動作可能であってもよい。本明細書で説明する態様と併用するのに適する他のコンピューティングシステム、環境および/または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上述のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などがあげられるが、これだけに限定されない。
【0040】
図2に図示するように、1つ以上のクライアントデバイス240は1つ以上のサーバ206a〜206n(総称的に、本明細書では「サーバ206」という)と通信する状態であってもよい。一実施形態では、コンピューティング環境200は、サーバ206とクライアントマシン240との間にインストールされているネットワーク・アプライアンスを含んでいてもよい。ネットワーク・アプライアンスはクライアント/サーバ接続を管理してもよく、ある場合には複数のバックエンドサーバ206間のクライアント接続の負荷分散をすることができる。
【0041】
クライアントマシン240は、いくつかの実施形態では、単一クライアントマシン240またはクライアントマシンの単一グループ240と称されることがあり、サーバ206は単一サーバ206またはサーバの単一グループ206と称されることがある。一実施形態では、単一クライアントマシン240は2つ以上のサーバ206と通信し、別の実施形態では単一サーバ206は2つ以上のクライアントマシン240と通信する。さらに別の実施形態では、単一クライアントマシン240は単一サーバ206と通信する。
【0042】
クライアントマシン240は、いくつかの実施形態では、次の非網羅的な用語のうちのいずれか1つによって言及することができる。すなわち、クライアントマシン、クライアント、クライアントコンピュータ、クライアントデバイス、クライアントコンピューティングデバイス、ローカルマシン、リモートマシン、クライアントノード、エンドポイント、またはエンドポイントノード。サーバ206は、いくつかの実施形態では、次の非網羅的な用語のうちのいずれか1つによって言及してもよい。すなわち、サーバ、ローカルマシン、リモートマシン、サーバファーム、またはホストコンピューティングデバイス。
【0043】
一実施形態では、クライアントマシン240は仮想マシンであってもよい。仮想マシンはあらゆる仮想マシンであってもよいが、いくつかの実施形態では、仮想マシンはタイプ1またはタイプ2のハイパーバイザ、たとえば、サイトリックス・システムズ、IBM、ヴイエムウェアによって開発されるハイパーバイザ、またはあらゆる他のハイパーバイザによって管理されるあらゆる仮想マシンであってもよい。いくつかの態様において、仮想マシンはハイパーバイザによって管理してもよいが、いくつかの態様では、仮想マシンはサーバ206上で実行するハイパーバイザまたはクライアント240上で実行するハイパーバイザによって管理してもよい。
【0044】
いくつかの実施形態では、サーバ206または遠隔に設置された他のマシン上で遠隔実行するアプリケーションによって生成されるアプリケーション出力を表示するクライアントデバイス240を含む。これらの実施形態では、クライアントデバイス240は仮想マシンのレシーバプログラムまたはアプリケーションを実行して、アプリケーションウインドウ、ブラウザ、または他の出力ウインドウに出力を表示してもよい。一つの実施例では、アプリケーションはデスクトップであるが、他の実施例では、アプリケーションはデスクトップを生成または提示するアプリケーションである。デスクトップは、ローカルおよび/またはリモート・アプリケーションを統合することのできるオペレーティングシステムのインスタンスにユーザインターフェースを提供するグラフィカルシェルを含んでもよい。本明細書で使用するアプリケーションとは、オペレーティングシステム(および、必要ならばデスクトップも)のインスタンスがロードされた後に実行されるプログラムである。
【0045】
サーバ206は、いくつかの実施形態では、クライアント上で実行するシンクライアントまたはリモートディスプレイ・アプリケーションにデータを送信するリモートプレゼンテーション・プロトコルまたは他のプロトコルを使用して、サーバ206上で実行するアプリケーションによって生成されるディスプレイ出力を提示する。シンクライアントまたはリモートディスプレイ・プロトコルは、次の非網羅的なプロトコルリストのうちのいずれか1つとすることができる。すなわち、フロリダ州フォート・ローダーデールのサイトリックス・システムズ・インクが開発したインディペンデント・コンピューティング・アーキテクチャ(ICA)プロトコル、またはワシントン州レドモンドのマイクロソフト・コーポレーションが製造するリモートデスクトッププロトコル(RDP)。
【0046】
リモートコンピューティング環境は、サーバ206a〜206nが、たとえばクラウドコンピューティング環境のサーバファーム206に論理的にまとめられるように、2つ以上のサーバ206a〜206nを含んでいてもよい。サーバファーム206は論理的にまとめられながらも地理的に分散しているサーバ206、または論理的にまとめられながらも互いに近接して配置されているサーバ206を含んでいてもよい。サーバファーム206内の地理的に分散したサーバ206a〜206nは、いくつかの実施形態では、WAN(広域)、MAN(メトロポリタン)、またはLAN(ローカル)を使用して通信することができ、異なる地理的地域は、異なる大陸、大陸の中の異なる地域、異なる国、異なる州、異なる都市、異なる大学、異なる部屋、または前述の地理的な場所のあらゆる組合せとして特徴付けることができる。いくつかの実施形態では、サーバファーム206は単一エンティティとして管理されてもよいが、他の実施形態では、サーバファーム206は複数のサーバファームを含むことができる。
【0047】
いくつかの実施形態では、サーバファームは、実質的に同じようなタイプのオペレーティングシステムのプラットフォーム(例、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、iOS、ANDROID(登録商標)、SYMBIAN等)を実行するサーバ206を含んでいてもよい。他の実施形態では、サーバファーム206は、第1タイプのオペレーティングシステムのプラットフォームを実行する1つ以上のサーバからなる第1グループと、第2タイプのオペレーティングシステムのプラットフォームを実行する1つ以上のサーバからなる第2グループとを含んでいてもよい。
【0048】
サーバ206は、必要なあらゆるタイプのサーバとして、たとえば、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、アプライアンス、ネットワーク・アプライアンス、ゲートウェイ、アプリケーション・ゲートウェイ、ゲートウェイサーバ、仮想化サーバ、デプロイメントサーバ、SSL VPNサーバ、ファイヤウォール、ウェブサーバ、アプリケーションサーバ、またはマスターアプリケーションサーバ、アクティブディレクトリを実行するサーバ、またはファイヤウォール機能、アプリケーション機能、もしくは負荷分散機能を提供するアプリケーション高速化プログラムを実行するサーバとして構成されていてもよい。他のサーバのタイプも使用してもよい。
【0049】
いくつかの実施形態は、クライアントマシン240からの要求を受信し、要求を第2サーバ106bに転送し、第2サーバ106bからの応答により、クライアントマシン240により生成される要求に応答する第1サーバ106aを含む。第1サーバ106aはクライアントマシン240に利用できるアプリケーションの一覧表、およびアプリケーションの一覧表内で特定されるアプリケーションをホストするアプリケーションサーバ206に関連するアドレス情報を取得してもよい。それから、第1サーバ106aは、ウェブインターフェースを使用してクライアントの要求に対する応答を提示し、クライアント240と直接通信して、特定されたアプリケーションへのアクセスをクライアント240に提供することができる。1つ以上のクライアント240および/または1つ以上のサーバ206は、ネットワーク230、たとえばネットワーク101上でデータを伝送してもよい。
【0050】
図2は、デスクトップ仮想化システムの高レベルアーキテクチャを示す。図示するように、デスクトップ仮想化システムは、1つ以上のクライアントアクセスデバイス240に仮想デスクトップおよび/または仮想アプリケーションを提供するように構成されている少なくとも1つの仮想化サーバ206を含め、単一サーバもしくはマルチサーバシステムまたはクラウドシステムであってもよい。
【0051】
本明細書で使用されるデスクトップとは、1つ以上のアプリケーションをホストおよび/または実行してもよいグラフィカル環境またはスペースをいう。デスクトップは、ローカルおよび/またはリモート・アプリケーションを統合することのできるオペレーティングシステムのインスタンスにユーザインターフェースを提供するグラフィカルシェルを含んでいてもよい。アプリケーションは、オペレーティングシステムのインスタンス(および、任意でデスクトップも)をロードした後に実行するプログラムを含んでいてもよい。オペレーティングシステムのインスタンスは物理的(たとえば、1デバイスにつき1つのオペレーティングシステム)または仮想的(たとえば、単一デバイス上で稼動するOSの多くのインスタンス)であってもよい。各アプリケーションはローカルデバイス上で実行してもよく、または遠隔設置されたデバイス上で実行(たとえば、遠隔操作)してもよい。
【0052】
図3をさらに参照すると、コンピュータデバイス301は、仮想化環境の仮想化サーバとして、たとえば、単一サーバ、マルチサーバ、またはクラウドコンピューティング環境として構成されていてもよい。
【0053】
図3に図示する仮想化サーバ301は、図2に図示するサーバ206の1つ以上の実施形態もしくは他の周知のコンピューティングデバイスとしてデプロイ(deploy)することができ、および/またはそれにより実装することができる。
【0054】
仮想化サーバ301に含まれるのが、1つ以上の物理的ディスク304、1つ以上の物理的デバイス306、1つ以上の物理的プロセッサ308および1つ以上の物理的メモリ316を含むことができるハードウェアレイヤである。いくつかの実施形態では、ファームウェア312を物理的メモリ316のメモリ素子内に格納することができ、物理的プロセッサ308のうちの1つ以上によって実行することができる。仮想化サーバ301はさらに物理的メモリ316のメモリ素子内に格納されて、物理的プロセッサ308のうちの1つ以上によって実行されてもよいオペレーティングシステム314をさらに含んでいてもよい。さらに、ハイパーバイザ302を物理的メモリ316のメモリ素子内に格納してもよく、物理的プロセッサ308のうちの1つ以上によって実行することができる。
【0055】
物理的プロセッサ308のうちの1つ以上で実行することは、1つ以上の仮想マシン332A〜332C(総称的に332)であってもよい。各仮想マシン332は仮想ディスク326A〜326Cおよび仮想プロセッサ328A〜328Cを有していてもよい。いくつかの実施形態では、第1仮想マシン332Aは、仮想プロセッサ328Aを使用して、ツールスタック324を含む制御プログラム320を実行してもよい。制御プログラム320は制御仮想マシン、Dom0、ドメイン0、またはシステムの管理および/もしくは制御に使用される他の仮想マシンと称されることがある。いくつかの実施形態では、1つ以上の仮想マシン332B〜332Cは、仮想プロセッサ328B〜328Cを使用して、ゲストオペレーティングシステム330A〜330Bを実行することができる。
【0056】
仮想化サーバ301は、仮想化サーバ301と通信する1つ以上のハードウェアを備えるハードウェアレイヤ310を含んでいてもよい。いくつかの実施形態では、ハードウェアレイヤ310は、1つ以上の物理的ディスク304、1つ以上の物理的デバイス306、1つ以上の物理的プロセッサ308、および1つ以上のメモリ216を含むことができる。物理的コンポーネント304,306,308および316は、たとえば、上述したコンポーネントのいずれを含んでいてもよい。
【0057】
物理的デバイス306は、たとえば、ネットワーク・インターフェース・カード、ビデオカード、キーボード、マウス、入力デバイス、モニタ、ディスプレイデバイス、スピーカ、光学ドライブ、記憶装置、ユニバーサルシリアルバス接続、プリンタ、スキャナ、ネットワーク素子(たとえば、ルータ、ファイヤウォール、ネットワークアドレス変換器、ロードバランサ、仮想プライベートネットワーク(VPN)ゲートウェイ、ダイナミック・ホスト・コンフィギュレーション・プロトコル(DHCP)ルータ等)、または仮想化サーバ301に接続されているかもしくは仮想化サーバ301と通信するあらゆるデバイスを含んでいてもよい。ハードウェアレイヤ310の物理的メモリ316はあらゆるタイプのメモリを含んでいてもよい。物理的メモリ316はデータを格納してもよく、いくつかの実施形態では、1つ以上のプログラム、または実行可能命令のセットを格納してもよい。
【0058】
図3は、仮想化サーバ301の物理的メモリ316内にファームウェア312が格納されている実施形態を示す。物理的メモリ316に格納されているプログラムまたは実行可能命令は、仮想化サーバ301の1つ以上のプロセッサ308によって実行することができる。
【0059】
仮想化サーバ301はハイパーバイザ302も含んでいてもよい。いくつかの実施形態では、ハイパーバイザ302は仮想化サーバ301のプロセッサ308によって実行されて、あらゆる数の仮想マシン332を作成して管理するプログラムであってもよい。ハイパーバイザ302は仮想マシンモニタ、またはプラットフォーム仮想化ソフトウェアと称されることもある。いくつかの実施形態では、ハイパーバイザ302は実行可能命令と、コンピューティングマシン上で実行する仮想マシンを監視するハードウェアとのあらゆる組合せとすることができる。ハイパーバイザ302はタイプ2ハイパーバイザであってもよく、当該ハイパーバイザは仮想化サーバ301上で実行するオペレーティングシステム314内で実行する。それから、仮想マシンはハイパーバイザより上のレベルで実行する。
【0060】
いくつかの実施形態では、タイプ2ハイパーバイザは、タイプ2ハイパーバイザがユーザのオペレーティングシステムとやりとりするように、ユーザのオペレーティングシステムのコンテキスト内で実行する。他の実施形態では、仮想化環境内の1つ以上の仮想化サーバ201は、代わりにタイプ1ハイパーバイザ(図示せず)を含んでいてもよい。タイプ1ハイパーバイザは、ハードウェアレイヤ310内のハードウェアおよびリソースに直接アクセスすることによって、仮想化サーバ301上で実行してもよい。すなわち、タイプ2ハイパーバイザ302は図示するようにホストオペレーティングシステム314経由でシステムのリソースにアクセスするのに対し、タイプ1ハイパーバイザはホストオペレーティングシステム314がなくてもすべてのシステムのリソースに直接アクセスしてもよい。タイプ1ハイパーバイザは仮想化サーバ301の1つ以上の物理的プロセッサ308上で直接実行してもよく、物理的メモリ316に格納されているプログラムデータを含んでいてもよい。
【0061】
いくつかの実施形態では、ハイパーバイザ302はオペレーティングシステム330または仮想マシン332上で実行する制御プログラム320に、システムのリソースに直接アクセスできるオペレーティングシステム330または制御プログラム320をシミュレートするいずれの方法でも仮想リソースを提供することができる。
【0062】
システムのリソースは、物理的デバイス306、物理的ディスク304、物理的プロセッサ308、物理的メモリ316および仮想化サーバ301のハードウェアレイヤ310に含まれているあらゆる他のコンポーネントを含むことができるが、これだけに限定されない。ハイパーバイザ302を使用して、仮想ハードウェアをエミュレートし、物理的ハードウェアを分割し、物理的ハードウェアを仮想化し、および/またはコンピューティング環境へのアクセスを提供する仮想マシンを実行してもよい。さらに他の実施形態では、ハイパーバイザ302は仮想化サーバ301上で実行する仮想マシン332のプロセッサのスケジューリングおよびメモリの分割を制御する。
【0063】
ハイパーバイザ302はカリフォルニア州パロアルトのヴイエムウェア・インクが製造するもの、オープンソースのXen.orgコミュニティが開発を監督するオープンソース製品のXENハイパーバイザ、マイクロソフトが提供するHyperV、VirtualServerまたは仮想PCハイパーバイザ、または他のものを含んでいてもよい。いくつかの実施形態では、仮想化サーバ301は、その上でゲストオペレーティングシステムが実行してもよい仮想マシンプラットフォームを作成するハイパーバイザ302を実行する。これらの実施形態では、仮想化サーバ301はホストサーバと称されることがある。このような仮想化サーバの一例が、フロリダ州フォート・ローダーデールのサイトリックス・システムズ・インクが提供するXEN SERVERである。
【0064】
ハイパーバイザ302は、その中でゲストオペレーティングシステム330が実行する1つ以上の仮想マシン332B〜332C(総称的に332)を作成してもよい。いくつかの実施形態では、ハイパーバイザ302は仮想マシンイメージをロードして、仮想マシン332を作成してもよい。他の実施形態では、ハイパーバイザ302は仮想マシン332内のゲストオペレーティングシステム330を実行してもよい。さらに他の実施形態では、仮想マシン332はゲストオペレーティングシステム330を実行してもよい。
【0065】
仮想マシン332を作成することに加えて、ハイパーバイザ302は少なくとも1つの仮想マシン332の実行を制御してもよい。他の実施形態では、ハイパーバイザ302は少なくとも1つの仮想マシン332に、仮想化サーバ301が提供する少なくとも1つのハードウェアリソース(たとえば、ハードウェアレイヤ310内で利用できるあらゆるハードウェアリソース)の抽象化を提示してもよい。他の実施形態では、ハイパーバイザ302は、仮想マシン332が仮想化サーバ301で利用できる物理的プロセッサ308にアクセスする態様を制御してもよい。物理的プロセッサ308へのアクセスを制御することは、仮想マシン332がプロセッサ308にアクセスできるべきかどうかと、物理的プロセッサの能力をどのように仮想マシン332に提示するかと、を判定することを含んでいてもよい。
【0066】
図3に図示するように、仮想化サーバ301は1つ以上の仮想マシン332をホストまたは実行してもよい。仮想マシン332は、プロセッサ308によって実行されるとき、仮想マシン332が物理的コンピューティングデバイスと同様にプログラムおよびプロセスを実行することができるように、物理的コンピュータの動作を模倣する実行可能命令のセットである。図3は仮想化サーバ301が3つの仮想マシン332をホストする実施形態を示しているが、他の実施形態では、仮想化サーバ301はあらゆる数の仮想マシン332をホストすることができる。
【0067】
いくつかの実施形態では、ハイパーバイザ302は各仮想マシン332に、その仮想マシン332に利用できる物理的ハードウェア、メモリ、プロセッサおよび他のシステム・リソースの固有の仮想ビューを提供する。いくつかの実施形態では、固有の仮想ビューは、仮想マシンの許可、1つ以上の仮想マシン識別子へのポリシーエンジンの適用、仮想マシンにアクセスするユーザ、仮想マシン上で実行するアプリケーション、仮想マシンによってアクセスされるネットワーク、または他の所望の基準に基づくことができる。たとえば、ハイパーバイザ302は1つ以上のセキュリティ保護されていない仮想マシン332と、1つ以上のセキュリティ保護された仮想マシン332とを作成してもよい。セキュリティ保護されていない仮想マシン332には、セキュリティ保護された仮想マシン332がアクセスを許可されるリソース、ハードウェア、メモリ場所およびプログラムを禁止してもよい。他の実施形態では、ハイパーバイザ302は各仮想マシン332に、仮想マシン332に利用できる物理的ハードウェア、メモリ、プロセッサおよび他のシステム・リソースの実質的に同様な仮想ビューを提供してもよい。
【0068】
各仮想マシン332は仮想ディスク326A〜326C(総称的に326)と、仮想プロセッサ328A〜328C(総称的に328)とを含んでいてもよい。いくつかの実施形態では、仮想ディスク326は仮想化サーバ301の1つ以上の物理的ディスク304の仮想化ビュー、または仮想化サーバ301の1つ以上の物理的ディスク304の一部である。物理的ディスク304の仮想化ビューはハイパーバイザ302によって生成、提供および管理することができる。いくつかの実施形態では、ハイパーバイザ302は各仮想マシン332に物理的ディスク304の固有のビューを提供する。したがって、これらの実施形態では、各仮想マシン332に含まれる特定の仮想ディスク326は、他の仮想ディスク326と比べたときに固有にすることができる。
【0069】
仮想プロセッサ328は仮想化サーバ301の1つ以上の物理的プロセッサ308の仮想化ビューとすることができる。いくつかの実施形態では、物理的プロセッサ308の仮想化ビューはハイパーバイザ302によって生成、提供および管理することができる。いくつかの実施形態では、仮想プロセッサ328は少なくとも1つの物理的プロセッサ308の同じ特徴の実質的にすべてを有する。他の実施形態では、仮想プロセッサ308は、仮想プロセッサ328の特徴の少なくともいくつかが対応する物理的プロセッサ308の特徴とは異なるように、物理的プロセッサ308の修正ビューを提供する。
【0070】
図4をさらに参照すると、本明細書で説明するいくつかの態様は、クラウドベースの環境に実装される。図4はクラウドコンピューティング環境(またはクラウドシステム)400の実施例を示す。図4から分かるように、クライアントコンピュータ411〜414はクラウド管理サーバ410と通信して、クラウドシステムのコンピューティングリソース(たとえば、ホストサーバ403、ストレージリソース404およびネットワークリソース405)にアクセスしてもよい。
【0071】
管理サーバ410は1つ以上の物理的サーバ上に実装してもよい。管理サーバ410は、たとえば、特にフロリダ州フォート・ローダーデールのサイトリックス・システムズ・インクのCLOUDSTACK、またはOPENSTACKを稼動してもよい。管理サーバ410は、たとえば、ホストコンピュータ403、データ記憶装置404およびネットワーキングデバイス405など、クラウド・ハードウェアおよびソフトウェア・リソースを含め、様々なコンピューティングリソースを管理してもよい。クラウド・ハードウェアおよびソフトウェア・リソースは非公開および/または公開コンポーネントを含んでいてもよい。たとえば、クラウドは1つ以上の特定のカスタマもしくはクライアントコンピュータ411〜414によって、および/またはプライベートネットワーク上で使用されるプライベートクラウドとして構成していてもよい。他の実施形態では、パブリッククラウドまたはハイブリッドパブリック−プライベートクラウドが、オープンまたはハイブリッドネットワーク上で他のカスタマによって使用されてもよい。
【0072】
管理サーバ410は、クラウドオペレータおよびクラウドカスタマがクラウドシステムとやりとりしてもよいユーザインターフェースを提供するように構成されていてもよい。たとえば、管理サーバ410はユーザインターフェースにAPIのセットおよび/または1つ以上のクラウドオペレータコンソール・アプリケーション(たとえば、ウェブベースのスタンドアロンアプリケーション)を提供して、クラウドオペレータがクラウドリソースを管理し、仮想化レイヤを構成し、カスタマアカウントを管理し、他のクラウド管理タスクを行うことができるようにしてもよい。
【0073】
管理サーバ410は、クライアントコンピュータ411〜414を介してエンドユーザからのクラウドコンピューティング要求、たとえば、クラウド内で仮想マシンを作成、修正または破棄する要求を受信するように構成されているユーザインターフェースを備えるAPIのセットおよび/または1つ以上のカスタマコンソール・アプリケーションを含んでいてもよい。クライアントコンピュータ411〜414はインターネットまたは他の通信ネットワークを介して管理サーバ410に接続してもよく、管理サーバ410が管理するコンピューティングリソースのうちの1つ以上へのアクセスを要求してもよい。クライアントの要求に応答して、管理サーバ410は、クライアント要求に基づいて、クラウドシステムのハードウェアレイヤの物理的リソースを選択し、プロビジョニングするように構成されているリソース・マネージャを含んでいてもよい。たとえば、管理サーバ410およびクラウドシステムの追加コンポーネントは、カスタマに計算リソース、データストレージサービス、ネットワーク能力、ならびにコンピュータプラットフォームおよびアプリケーションサポートを提供しながら、ネットワーク(たとえば、インターネット)上で、クライアントコンピュータ411〜414のカスタマのために、仮想マシンおよびその動作環境(たとえば、ハイパーバイザ、ストレージリソース、ネットワーク素子が提供するサービス等)をプロビジョニングし、作成し、管理するように構成されていてもよい。クラウドシステムはまた、セキュリティシステム、開発環境、ユーザインターフェース等を含め、様々な特定のサービスを提供するように構成されていてもよい。
【0074】
たとえば、一定のクライアント411〜414は、同じエンドユーザ、または同じ会社もしくは組織に属する異なるユーザの代わりに仮想マシンを作成する異なるクライアントコンピュータに関連付けられてもよい。他の実施例では、一定のクライアント411〜414は、異なる会社もしくは組織に属するユーザなどに関連付けられていなくてもよい。関連付けられていないクライアントに対して、いずれかのユーザの仮想マシンまたはストレージ上の情報を他のユーザから隠してもよい。
【0075】
ここでクラウドコンピューティング環境の物理的ハードウェアレイヤを参照すると、可用性(availability)ゾーン401〜402(またはゾーン)は物理的コンピューティングリソースのひとまとまりのセットといえる。ゾーンはコンピューティングリソースのクラウド全体において他のゾーンとは地理的に分離していてもよい。たとえば、ゾーン401はカリフォルニア州に配置されている第1クラウド・データセンターであってもよく、ゾーン402はフロリダ州に配置されている第2クラウド・データセンターであってもよい。管理サーバ410は可用性ゾーンのうちの1つ、または別の場所に配置されていてもよい。各ゾーンは、ゲートウェイ経由で、管理サーバ410などのゾーン外にあるデバイスとインターフェースする内部ネットワークを含んでいてもよい。クラウドのエンドユーザ(たとえば、クライアント411〜414)は、ゾーン間の区別に気付くかもしれないし、または気づかないかもしれない。たとえば、エンドユーザは指定される量のメモリ、処理能力、およびネットワーク能力を有する仮想マシンの作成を要求してもよい。
【0076】
管理サーバ410はユーザの要求に応答してもよく、ゾーン401またはゾーン402のリソースを使用して仮想マシンが作成されたかどうかをユーザが知ることなく、仮想マシンを作成するためにリソースを割り当ててもよい。他の実施例では、クラウドシステムは、エンドユーザが特定のゾーンまたはゾーン内の特定のリソース403〜405に仮想マシン(または他のクラウドリソース)を割り当てるよう要求できるようにしてもよい。
【0077】
この実施例では、各ゾーン401〜402は様々な物理的ハードウェアコンポーネント(またはコンピューティングリソース)403〜405の配列、たとえば、物理的ホスティングリソース(またはプロセッシングリソース)、物理的ネットワークリソース、物理的ストレージリソース、スイッチ、および、カスタマにクラウドコンピューティングサービスを提供するために使用してもよい追加のハードウェアリソースを含んでいてもよい。
【0078】
クラウドゾーン401〜402の物理的ホスティングリソースは、上述した仮想化サーバ301など、仮想マシンのインスタンスを作成しホストするように構成されていてもよい1つ以上のコンピュータサーバ403を含んでいてもよい。クラウドゾーン401または402の物理的ネットワークリソースは、ファイヤウォール、ネットワークアドレス変換器、ロードバランサ、仮想プライベートネットワーク(VPN)ゲートウェイ、ダイナミック・ホスト・コンフィギュレーション・プロトコル(DHCP)ルータ等といった、クラウドカスタマにネットワークサービスを提供するように構成されているハードウェアおよび/またはソフトウェアを備える1つ以上のネットワーク素子405(たとえば、ネットワークサービスプロバイダ)を含んでいてもよい。クラウドゾーン401〜402のストレージリソースは、ストレージディスク(たとえば、ソリッドステートドライブ(SSD)、磁気ハードディスク等)および他の記憶装置を含んでいてもよい。
【0079】
図4に図示するクラウドコンピューティング環境は、クラウドの物理的リソースを使用して仮想マシンを作成して管理し、カスタマに他のサービスを提供するように構成されている追加のハードウェアおよび/またはソフトウェア・リソースを備える仮想化レイヤ(たとえば、図1図3に図示するもの)も含んでいてもよい。
【0080】
仮想化レイヤは、ネットワーク仮想化、ストレージ仮想化等を提供する他のコンポーネントとともに、上述の図3で説明したハイパーバイザを含んでいてもよい。仮想化レイヤは物理的リソースレイヤとは別のレイヤとしてもよく、または物理的リソースレイヤと同じハードウェアおよび/もしくはソフトウェア・リソースのいくつかもしくはすべてを共有していてもよい。たとえば、仮想化レイヤは物理的コンピューティングリソースを有する仮想化サーバ403のそれぞれにインストールされているハイパーバイザを含んでいてもよい。あるいは、たとえば、WINDOWS(登録商標) AZURE(ワシントン州レドモンドのマイクロソフト・コーポレーション)、AMAZON EC2(ワシントン州シアトルのアマゾン・ドット・コム・インク)、IBM BLUE CLOUD(ニューヨーク州アーモンクのIBMコーポレーション)、または他のものなど、周知のクラウドシステムを使用してもよい。
【0081】
〈企業モビリティ管理アーキテクチャ〉
図5は、BYOD環境で使用するための企業モビリティ技術アーキテクチャ500を示す。このアーキテクチャはモバイルデバイス502のユーザがモバイルデバイス502から企業リソースまたは個人リソースにアクセスすることと、モバイルデバイス502を個人利用に使用することと、の両方を可能にする。
【0082】
ユーザは、当該企業リソース504または企業サービス508へのアクセスを、ユーザが購入したモバイルデバイス502を使用して行ってもよく、または企業がユーザに支給するモバイルデバイス502を使用して行ってもよい。ユーザはモバイルデバイス502をビジネス専用で利用しても、またはビジネスと個人兼用で利用してもよい。モバイルデバイスはiOSオペレーティングシステム、およびアンドロイド・オペレーティングシステム等を稼動してもよい。企業はモバイルデバイス504を管理するポリシーを実装することを選んでもよい。
【0083】
ポリシーは、ファイヤウォールまたはゲートウェイにより、モバイルデバイスを特定し、セキュリティ保護もしくはセキュリティ検証し、企業リソースへの選択的アクセスもしくは完全なアクセスをモバイルデバイスに提供できるように埋め込んでもよい。ポリシーはモバイルデバイス管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルデータ管理ポリシー、またはモバイルデバイス、アプリケーションおよびデータ管理ポリシーのなんらかの組合せとしてもよい。モバイルデバイス管理ポリシーの適用により管理されるモバイルデバイス504は登録デバイスということがある。
【0084】
モバイルデバイスのオペレーティングシステムは、管理対象パーティション510と非管理対象パーティション512とに分離されていてもよい。管理対象パーティション510は管理対象パーティション上で稼動しているアプリケーションおよび管理対象パーティションに格納されているデータをセキュリティ保護された状態にする(secure)ために、ポリシーをそれに適用させてもよい。管理対象パーティション上で稼動しているアプリケーションはセキュリティ保護されたアプリケーションであってもよい。セキュリティ保護されたアプリケーションは、電子メール・アプリケーション、ウェブブラウザ・アプリケーション、サービスとしてのソフトウェア(SaaS)アクセス・アプリケーション、Windows(登録商標) Applicationアクセス・アプリケーション等であってもよい。セキュリティ保護されたアプリケーションは、セキュリティ保護されたネイティブアプリケーション514、セキュリティ保護されたアプリケーション・ランチャ518が実行するセキュリティ保護されたリモート・アプリケーション522、セキュリティ保護されたアプリケーション・ランチャ518が実行する仮想化アプリケーション526等であってもよい。
【0085】
セキュリティ保護されたネイティブアプリケーション514はセキュリティ保護されたアプリケーション・ラッパー520によってラッピングしてもよい。セキュリティ保護されたアプリケーション・ラッパー520は、セキュリティ保護されたネイティブアプリケーションがデバイス上で実行されるときに、モバイルデバイス502上で実行される統合ポリシーを含んでいてもよい。セキュリティ保護されたアプリケーション・ラッパー520は、モバイルデバイス502上で稼動するセキュリティ保護されたネイティブアプリケーション514を、セキュリティ保護されたネイティブアプリケーション514の実行時に要求されるタスクを完了するようにセキュリティ保護されたネイティブアプリケーション514が要求してもよい企業でホストされるリソースに差し向けるメタデータを含んでいてもよい。セキュリティ保護されたアプリケーション・ランチャ518が実行するセキュリティ保護されたリモート・アプリケーション522は、セキュリティ保護されたアプリケーション・ランチャ・アプリケーション518内で実行してもよい。セキュリティ保護されたアプリケーション・ランチャ518が実行する仮想化アプリケーション526は、企業リソース504等で、モバイルデバイス502のリソースを利用してもよい。セキュリティ保護されたアプリケーション・ランチャ518が実行する仮想化アプリケーション526によってモバイルデバイス502で使用されるリソースは、ユーザ対話リソース、プロセッシングリソース等を含んでいてもよい。
【0086】
ユーザ対話リソースは、キーボード入力、マウス入力、カメラ入力、触覚入力、オーディオ入力、ビジュアル入力、ジェスチャ入力等を収集して、伝送するために使用してもよい。プロセッシングリソースはユーザインターフェースを提示し、企業リソース504等から受信されるデータを処理するために使用してもよい。セキュリティ保護されたアプリケーション・ランチャ518が実行する仮想化アプリケーション526によって企業リソース504で使用されるリソースは、ユーザインターフェース生成リソース、プロセッシングリソース等を含んでいてもよい。ユーザインターフェース生成リソースは、ユーザインターフェースをアセンブルし、ユーザインターフェースを修正し、ユーザインターフェースをリフレッシュする等のために使用してもよい。
【0087】
プロセッシングリソースは情報を作成し、情報を読み取り、情報を更新し、情報を削除する等のために使用してもよい。たとえば、仮想化アプリケーションはGUIに関連するユーザの対話を記録し、それをサーバ・アプリケーションに伝えてもよく、当該サーバ・アプリケーションはユーザ対話データをサーバで動作するアプリケーションへの入力として使用する。
【0088】
この構成では、企業は、アプリケーションに関連するデータ、ファイル等と同様に、サーバ側のアプリケーションを維持する選択をしてもよい。企業はモバイルデバイスへのデプロイメントのためにそれをセキュリティ保護された状態にすることにより本明細書の原理に従っていくつかのアプリケーションを「モバイル化」する選択をしてもよいが、この構成は一定のアプリケーションのためにも選択してもよい。たとえば、いくつかのアプリケーションはモバイルデバイスで使用するためにセキュリティ保護された状態にしてもよいが、他のものはモバイルデバイスへのデプロイメントの準備がされていないかまたはデプロイメントに適切ではない可能性があるので、企業は仮想化技術により準備されていないアプリケーションへのアクセスをモバイルユーザに提供する選択をしてもよい。
【0089】
別の実施例として、企業は大量の複雑なデータセットを有する大きく複雑なアプリケーション(たとえば、資材所要量計画アプリケーション)を有することがあり、当該モバイルデバイスのアプリケーションをカスタマイズするのは非常に難しく、またはその他望ましくないので、企業は仮想化技術によりアプリケーションへのアクセスを提供する選択をしてもよい。さらに別の実施例として、企業は、セキュリティ保護化したモバイル環境であっても扱いに非常に注意を要すると企業に見なされて、企業が当該アプリケーションおよびデータへのモバイルアクセスを許可するために仮想化技術を選択してもよい高セキュリティ保護化データ(たとえば、人事データ、顧客データ、エンジニアリングデータ)を維持するアプリケーションを有していてもよい。
【0090】
企業はサーバ側でより適切に動作すると見なされるアプリケーションへのアクセスを許可するために、仮想化アプリケーションとともに、モバイルデバイス上の完全にセキュリティ保護化しかつ完全に機能するアプリケーションを提供する選択をしてもよい。実施形態では、仮想化アプリケーションは、携帯電話のセキュリティ保護された記憶場所のうちの1つに、いくつかのデータ、ファイル等を格納してもよい。たとえば、企業は一定の情報を電話に格納させるが、他の情報を許可しない選択をしてもよい。
【0091】
本明細書で説明するように、仮想化アプリケーションに関連して、モバイルデバイスは、GUIを提示し、さらにGUIとのユーザの対話を記録するように設計されている仮想化アプリケーションを有していてもよい。アプリケーションは、アプリケーションとのユーザインタラクションとして、サーバ側アプリケーションが使用するサーバ側とのユーザインタラクションを伝えてもよい。応答して、サーバ側のアプリケーションはモバイルデバイスに新たなGUIを送り戻してもよい。たとえば、新たなGUIは静的ページ、動的ページ、アニメーションまたは同様な他のものであってもよい。
【0092】
管理対象パーティション上で稼働するアプリケーションは安定化されたアプリケーションであってもよい。安定化されたアプリケーションはデバイスマネージャ524によって管理されてもよい。デバイスマネージャ524は安定化されたアプリケーションを監視して、問題を検出して補修する技術が利用されない場合に安定化されていないアプリケーションをもたらすような問題検出および補修のための前記技術を利用してもよい。
【0093】
セキュリティ保護されたアプリケーションは、モバイルデバイスの管理対象パーティション510のセキュリティ保護されたデータコンテナ528に格納されているデータにアクセスしてもよい。セキュリティ保護されたデータコンテナにセキュリティ保護化されているデータは、セキュリティ保護されたラッピングされたアプリケーション514、セキュリティ保護されたアプリケーション・ランチャ522が実行するアプリケーション、セキュリティ保護されたアプリケーション・ランチャ522が実行する仮想化アプリケーション526等によってアクセスされることができる。セキュリティ保護されたデータコンテナ528に格納されているデータはファイル、データベース等を含んでもよい。セキュリティ保護されたデータコンテナ528に格納されているデータはセキュリティ保護されたアプリケーション532の中で共有される特定のセキュリティ保護されたアプリケーション530等に制限されるデータを含んでもよい。セキュリティ保護されたアプリケーションに制限されるデータは、セキュリティ保護された一般データ534および高セキュリティ保護されたデータ538を含んでもよい。セキュリティ保護された一般データはAES 128ビット暗号化等の強力な暗号化方式を使用してもよいが、高セキュリティ保護されたデータ538はAES 254ビット暗号化などの非常に強力な暗号化方式を使用してもよい。セキュリティ保護されたデータコンテナ528に格納されているデータは、デバイスマネージャ524からのコマンドを受信すると、デバイスから削除されてもよい。
【0094】
セキュリティ保護されたアプリケーションはデュアルモードオプション540を有してもよい。デュアルモードオプション540は、非セキュリティ保護化モードで、セキュリティ保護化されたアプリケーションを動作させるオプションをユーザに提示してもよい。非セキュリティ保護化モードでは、セキュリティ保護されたアプリケーションはモバイルデバイス502の非管理対象パーティション512の非セキュリティ保護化データコンテナ542に格納されているデータにアクセスしてもよい。非セキュリティ保護化データコンテナに格納されているデータは個人データ544であってもよい。非セキュリティ保護化データコンテナ542に格納されているデータは、モバイルデバイス502の非管理対象パーティション512上で稼動している非セキュリティ保護化アプリケーション548によってアクセスしてもよい。非セキュリティ保護化データコンテナ542に格納されているデータは、セキュリティ保護されたデータコンテナ528に格納されているデータがモバイルデバイス502から削除されるとき、モバイルデバイス502上に残してもよい。
【0095】
企業は、ユーザが所有、ライセンスもしくは制御する個人データ、ファイルおよび/もしくはアプリケーション(個人データ)を残しながら、またはその他存続させながら、企業が所有、ライセンスまたは制御する選択されたもしくはすべてのデータ、ファイル、および/またはアプリケーション(企業データ)をモバイルデバイスから削除したいことがある。この動作を選択的消去と称されることがある。本明細書で説明する態様に従って分類される企業データおよび個人データを用いて、企業は選択的消去を行ってもよい。
【0096】
モバイルデバイスは企業の企業リソース504および企業サービス508と、公衆インターネット548等とに接続してもよい。モバイルデバイスは仮想プライベートネットワーク接続を介して企業リソース504および企業サービス508に接続してもよい。仮想プライベートネットワーク接続は、モバイルデバイスの特定のアプリケーション550、特定のデバイス、特定のセキュリティ保護化エリア等552に特定的なものにしてもよい。たとえば、電話のセキュリティ保護化エリア内にラッピングされたアプリケーションのそれぞれは、VPNへのアクセスが、おそらくユーザまたはデバイスの属性情報と合わせて、アプリケーションに関連する属性に基づいて付与されるように、アプリケーション特定VPN経由で企業リソースにアクセスしてもよい。
【0097】
仮想プライベートネットワーク接続はMicrosoft Exchangeトラフィック、Microsoft Active Directoryトラフィック、HTTPトラフィック、HTTPSトラフィック、アプリケーション管理トラフィック等を伝送してもよい。仮想プライベートネットワーク接続はシングルサインオン認証プロセス554をサポートし、これを有効にしてもよい。シングルサインオンプロセスは、ユーザが、後で認証サービス558によって検証される単一セットの認証資格情報を提供できるようにしてもよい。その後、認証サービス558は、各個々の企業リソース504に認証資格情報を提供するようユーザに要求しなくても、ユーザに複数の企業リソース504へのアクセス権を付与してもよい。
【0098】
仮想プライベートネットワーク接続は、アクセス・ゲートウェイ560によって確立されて、管理してもよい。アクセス・ゲートウェイ560は企業リソース504のモバイルデバイス502への配信を管理し、高速化しおよび改善するパフォーマンス向上特徴を含んでいてもよい。アクセス・ゲートウェイはモバイルデバイス502から公衆インターネット548にトラフィックを経路切替えしてもよく、モバイルデバイス502が公衆インターネット548で稼動している公開利用できる非セキュリティ保護化アプリケーションにアクセスすることを可能にする。モバイルデバイスは転送ネットワーク562を介してアクセス・ゲートウェイに接続してもよい。
【0099】
転送ネットワーク562はワイヤードネットワーク、ワイヤレスネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、広域ネットワーク、パブリックネットワーク、プライベートネットワーク等でもよい。
【0100】
企業リソース504は電子メールサーバ、ファイル共有サーバ、SaaSアプリケーション、ウェブアプリケーションサーバ、Windows(登録商標)アプリケーションサーバ等を含んでいてもよい。電子メールサーバはExchangeサーバ、Lotus Notesサーバ等を含んでいてもよい。ファイル共有サーバはShareFileサーバ等を含んでいてもよい。SaaSアプリケーションはSalesforce等を含んでいてもよい。Windows(登録商標)アプリケーションサーバはローカルなWindows(登録商標)オペレーティングシステム上で稼動するように意図されたアプリケーションを提供するために構築されているあらゆるアプリケーションサーバ等を含んでいてもよい。
【0101】
企業リソース504はプレミスベースのリソース、クラウドベースのリソース等であってもよい。企業リソース504はモバイルデバイス502から直接、またはアクセス・ゲートウェイ560経由でアクセスしてもよい。企業リソース504はモバイルデバイス502から転送ネットワーク562を介してアクセスしてもよい。転送ネットワーク562はワイヤードネットワーク、ワイヤレスネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、広域ネットワーク、パブリックネットワーク、プライベートネットワーク等であってもよい。
【0102】
企業サービス508は認証サービス558、脅威検出サービス564、デバイスマネージャサービス524、ファイル共有サービス568、ポリシーマネージャサービス570、ソーシャル統合サービス572、アプリケーションコントローラサービス574等を含んでいてもよい。
【0103】
認証サービス558はユーザ認証サービス、デバイス認証サービス、アプリケーション認証サービス、データ認証サービス等を含んでいてもよい。認証サービス558は証明書を使用してもよい。証明書は企業リソース504等によりモバイルデバイス502に格納してもよい。モバイルデバイス502に格納されている証明書は、モバイルデバイスの暗号化された場所に格納してもよく、証明書は認証時点で使用する等のためにモバイルデバイス502に一時的に格納してもよい。脅威検出サービス564は侵入検出サービス、不正アクセス試行検出サービス等を含んでいてもよい。不正アクセス試行検出サービスはデバイス、アプリケーション、データ等への不正アクセスの試行を含んでいてもよい。
【0104】
デバイス管理サービス524は構成サービス、プロビジョニングサービス、セキュリティサービス、サポートサービス、監視サービス、レポーティングサービスおよびデコミッショニングサービスを含んでいてもよい。ファイル共有サービス568はファイル管理サービス、ファイルストレージサービス、ファイルコラボレーションサービス等を含んでいてもよい。ポリシーマネージャサービス570はデバイスポリシーマネージャサービス、アプリケーションポリシーマネージャサービス、データポリシーマネージャサービス等を含んでいてもよい。
【0105】
ソーシャル統合サービス572は連絡先統合サービス、コラボレーションサービス、Facebook、TwitterおよびLinkedInなどのソーシャル・ネットワークとの統合等を含んでいてもよい。アプリケーションコントローラサービス574は管理サービス、プロビジョニングサービス、デプロイメントサービス、割り当てサービス、失効サービス、ラッピングサービス等を含んでいてもよい。
【0106】
企業モビリティ技術アーキテクチャ500は、アプリケーションストア578を含んでいてもよい。アプリケーションストア578はラッピングされていないアプリケーション580、予めラッピングされたアプリケーション582等を含んでいてもよい。アプリケーションはアプリケーションコントローラ574からアプリケーションストア578に配置してもよい。アプリケーションストア578はモバイルデバイス502からアクセス・ゲートウェイ560、公衆インターネット548等経由でアクセスしてもよい。アプリケーションストアには直観的に理解でき、使いやすいユーザインターフェースを備えてもよい。アプリケーションストア578はソフトウェア開発キット584へのアクセス権を提供してもよい。
【0107】
ソフトウェア開発キット584は、本明細書で上述したようにアプリケーションをラッピングすることにより、ユーザが選択したアプリケーションをセキュリティ保護化する機能をユーザに提供してもよい。ソフトウェア開発キット584を用いてラッピングされたアプリケーションは、さらにアプリケーションコントローラ574を用いてアプリケーションストア578にそれを配置することにより、モバイルデバイス502に利用できるようにしてもよい。
【0108】
企業モビリティ技術アーキテクチャ500は、管理解析機能588を含んでいてもよい。管理解析機能588はリソースの使用方法、リソースの使用頻度等に関連する情報を提供してもよい。リソースはデバイス、アプリケーション、データ等を含んでいてもよい。リソースの使用方法は、どのデバイスがどのアプリケーションをダウンロードするか、どのアプリケーションがどのデータにアクセスするか等を含んでいてもよい。リソースの使用頻度は、アプリケーションがダウンロードされた頻度、アプリケーションが特定のデータセットにアクセスした回数等を含んでいてもよい。
【0109】
図6は、別の企業モビリティ管理システム600である。図5を参照して上述したモビリティ管理システム500の構成要素のうちのいくつかは、簡略化するために省略している。図6に図示するシステム600のアーキテクチャは、図5を参照して上述したシステム500のアーキテクチャと多くの点で類似しており、上述していない追加の特徴を含んでいる。
【0110】
この場合、左側はレシーバ604を有する登録モバイルデバイス602を表しており、レシーバ604は、右側に示すExchange、Sharepoint、PKIリソース、ケルベロスリソース、証明書発行サービスなどの様々な企業リソース608およびサービス609にアクセスするために(アクセス・ゲートウェイおよびAppコントローラ機能を含む)クラウドゲートウェイ606とやりとりする。具体的には図示していないが、モバイルデバイス602はアプリケーションの選択とダウンロードのために、企業アプリケーションストア(StoreFront)とやりとりしてもよい。
【0111】
レシーバ604はEnterpriseデータセンターでホストされるWindows(登録商標)アプリ/デスクトップのUI(ユーザインターフェース)媒介装置として機能し、EnterpriseデータセンターはHDX/ICA表示リモーティングプロトコルを使用してアクセスされる。レシーバ604は、ネイティブiOSまたはAndroid(登録商標)アプリケーションなどのモバイルデバイス602のネイティブアプリケーションのインストールおよび管理もサポートする。たとえば、上述の図面に図示する管理対象アプリケーション610(メール、ブラウザ、ラッピングされたアプリケーション)はすべてデバイス上でローカルに実行するネイティブアプリケーションである。このアーキテクチャの、レシーバ604およびMDX(モバイルエクスペリエンス技術)は、企業リソース/サービス608との接続性およびSSO(シングル・サイン・オン)などのポリシーによる管理の機能および特徴を提供するように機能する。レシーバ604は企業への、通常は他のクラウドゲートウェイコンポーネントへのSSOでアクセス・ゲートウェイ(AG)に対する、一次ユーザ認証を扱う。レシーバ604はクラウドゲートウェイ606からポリシーを取得して、モバイルデバイス602上のMDX管理対象アプリケーション610の挙動を制御する。
【0112】
ネイティブアプリケーション610とレシーバ604とのセキュリティ保護されたIPCリンク612は管理チャネルを表し、これによりレシーバは各アプリケーションを「ラッピング」するMDXフレームワーク614によって強制されるポリシーを供給することができる。IPCチャネル612により、レシーバ604はまた、企業リソース608との接続性およびSSOを有効にするクレデンシャルおよび認証情報を供給することができる。最後に、IPCチャネル612により、MDXフレームワーク614は、オンラインおよびオフラインによる認証など、レシーバ604が実装するユーザインターフェース機能を呼び出すことができる。
【0113】
レシーバ604とクラウドゲートウェイ606との通信は、本質的に、各ネイティブ管理対象アプリケーション610をラッピングするMDXフレームワーク614からの管理チャネルの拡張である。MDXフレームワーク614はレシーバ604からのポリシー情報を要求し、これがさらにクラウドゲートウェイ606からのポリシー情報を要求する。MDXフレームワーク614は認証を要求し、レシーバ604はクラウドゲートウェイ606のゲートウェイサービス部(NetScaler Access Gatewayとしても知られる)にログインする。レシーバ604はクラウドゲートウェイ606上のサポートサービスも呼び出してもよく、それにより、以下詳細に説明するように、ローカルデータボルト616の暗号化鍵を導出するための入力成分を生成するか、または直接認証を可能にするクライアント証明書をPKI保護リソースに提供してもよい。
【0114】
さらに詳しくは、MDXフレームワーク614は各管理対象アプリケーション610を「ラッピング」する。これは明確なビルドステップ、またはビルド後処理ステップを介して組み込んでもよい。MDXフレームワーク614は、セキュリティ保護IPCチャネルを初期化し、そのアプリケーションのポリシーを取得するために、アプリケーション610の最初の起動時にレシーバ604と「ペア」にしてもよい。MDXフレームワーク614は、レシーバのログイン・ディペンデンシーおよび、ローカルOSサービスをどのように使用してよいか、またはローカルOSサービスがアプリケーション610とどのようにやりとりしてよいかを制限する閉じ込めポリシーのうちのいくつかなど、ローカルに適用するポリシーの関連部分を強制してもよい。
【0115】
MDXフレームワーク614はセキュリティ保護IPCチャネル612上でレシーバ604が提供するサービスを使用して、認証および内部ネットワークアクセスを促進してもよい。プライベート・共有データボルト616(コンテナ)の鍵管理も、管理対象アプリケーション610とレシーバ604との適切なインタラクションにより管理してもよい。ボルト616はオンライン認証後にのみ利用できてもよく、またはポリシーが許可する場合にはオフライン認証後に利用できるようにしてもよい。ボルト616の初めての使用にはオンライン認証を要求してもよく、オフラインアクセスは最大でもオンライン認証が再び要求される前のポリシーリフレッシュ期間に制限してもよい。
【0116】
内部リソースへのネットワークアクセスは、個々の管理対象アプリケーション610からアクセス・ゲートウェイ606に直接行ってもよい。MDXフレームワーク614は各アプリケーション610に代わってネットワークアクセスのオーケストレーションを担う。レシーバ604は、オンライン認証後に取得される適切な時間制限付きの二次クレデンシャルを提供することにより、これらのネットワーク接続を促進してもよい。リバースウェブプロキシ接続およびエンドツーエンドVPN型トンネル618など、ネットワーク接続の複数のモードを使用してもよい。
【0117】
メール・ブラウザ管理対象アプリケーション610は特別なステータスを有し、任意にラッピングされたアプリケーションには一般に利用できない可能性のあるファシリティを利用できるようにしてもよい。たとえば、メール・アプリケーションは、フルAGログオンを要求せずに、長時間Exchangeへのアクセスを可能にする特別なバックグラウンドネットワークアクセスメカニズムを使用してもよい。ブラウザ・アプリケーションは異なる種類のデータを分ける複数のプライベートデータボルトを使用してもよい。
【0118】
このアーキテクチャは、様々な他のセキュリティ特徴の組み込みをサポートする。たとえば、ある場合にはクラウドゲートウェイ606(そのゲートウェイ・サービスを含む)はADパスワードの妥当性検証をする必要がない。ある状況においてADパスワードをあるユーザの認証因子として使用するかどうかは、企業の裁量に任すことができる。ユーザがオンラインまたはオフラインである(つまり、ネットワークに接続されている場合または接続されていない場合)、異なる認証方法を使用してもよい。
【0119】
ステップアップ認証は、クラウドゲートウェイ606が強力な認証が必要な極秘データへアクセスすることが認められている管理対象ネイティブアプリケーション610を識別し、以前の弱いレベルのログイン後にユーザにより再認証が要求されることになるとしても、これらのアプリケーションへのアクセスが適切な認証を行った後にのみ許可されることを確保してもよいのが特徴する。
【0120】
このソリューションの別のセキュリティ特徴は、モバイルデバイス602でのデータボルト(data vaults)616(コンテナ)の暗号化である。ボルト616は、ファイル、データベースおよび構成を含むすべてのオンデバイスデータが保護されるように暗号化してもよい。オンラインボルトの場合、鍵はサーバ(クラウドゲートウェイ606)に格納してもよく、オフラインボルトの場合、鍵のローカルコピーをユーザ・パスワードによって保護してもよい。セキュリティ保護されたコンテナ616でデータがデバイス602にローカルに格納される場合、最低でもAES256暗号化アルゴリズムを利用するのが好ましい。
【0121】
他のセキュリティ保護されたコンテナの特徴も実装してもよい。たとえば、ロギング特徴を含めてもよく、アプリケーション610内で起こるすべてのセキュリティイベントを記録して、バックエンドに報告する。アプリケーション610が改ざんを検出する場合など、データ消去をサポートしてもよく、ユーザデータが破棄されたことの手がかりをファイルシステムに残さずに、関連暗号化鍵をランダムデータで上書きしてもよい。スクリーンショットの保護は別の特徴であり、アプリケーションはデータをスクリーンショットに格納させないようにしてもよい。たとえば、鍵ウインドウの隠しプロパティをYESに設定してもよい。これにより、どのようなコンテンツが現在スクリーンに表示されていてもそれを隠せるので、通常いずれかのコンテンツが常駐するスクリーンショットがブランクになる。
【0122】
たとえば、データを外部のアプリケーションにコピーまたは送信するなど、アプリケーション・コンテナ外にローカルにデータを転送することを一切させないなどして、ローカルなデータ転送を防止してもよい。キーボードのキャッシュ特徴は扱いに注意を要するテキストフィールドのオートコレクト機能を使用不可にするように動作してもよい。SSL証明書の妥当性検証を使用可能にしてもよいので、キーチェーンに格納する代わりに、アプリケーションはサーバSSL証明書を特別に妥当性検証する。デバイスのデータを暗号化するために使用する鍵をユーザによって供給されるパスフレーズを使用して生成するように(オフラインアクセスが要求される場合)、暗号化鍵生成特徴を使用してもよい。オフラインアクセスが要求されない場合、サーバ側でランダムに生成し、格納される別の鍵を用いてXORをとってもよい。鍵導出関数は、ユーザ・パスワードから生成される鍵が、その暗号学的ハッシュを作成するのではなく、KDF(鍵導出関数、特にPBKDF2)を使用するように動作してもよい。前者では、鍵が総当たり攻撃または辞書攻撃を受けやすくなる。
【0123】
さらに、暗号化方法に1つ以上の初期化ベクトルを使用してもよい。初期化ベクトルは同じ暗号化データの複数のコピーに異なる暗号文出力を生じ、再生および暗号解読攻撃の両方を防止する。これは攻撃者がデータの暗号化に使用する特定の初期化ベクトルが不明な場合に盗んだ暗号鍵を用いた場合であっても、データの解読を防止する。また、認証後の解読を使用してもよく、ユーザがアプリケーション内で認証された後でしかアプリケーションデータは解読されない。別の特徴はメモリ内の扱いに注意を要するデータに関係してもよく、それが必要なときにのみ、メモリ(ディスクではない)に保管されてもよい。たとえば、ログイン資格情報はログイン後にメモリから消去されて、オブジェクティブCインスタンス変数内の暗号化鍵および他のデータは、簡単に参照される可能性があるため格納されない。代わりに、これらのためにメモリを手動で割り当ててもよい。
【0124】
ポリシーで定義した無活動期間の経過後に、ユーザのセッションを終了する無活動タイムアウトを実装してもよい。
【0125】
MDXフレームワーク614からのデータ漏えいは、他の方法で防止してもよい。たとえば、アプリケーション610がバックグラウンドに入る場合、所定(構成可能な)期間後にメモリをクリアにしてもよい。バックグラウンドに移るとき、アプリケーションの最後に表示されたスクリーンのスナップショットを取得して、フォアグラウンドに出すプロセスを迅速化してもよい。スクリーンショットは機密データを含むことがあり、そのためクリアにされるべきである。
【0126】
別のセキュリティ特徴は、1つ以上のアプリケーションにアクセスするためにAD(アクティブディレクトリ)622のパスワードを使用せずに、OTP(ワンタイムパスワード)620の使用に関係する。ある場合には、あるユーザは自身のADパスワードを知らず(または知ることを許可されておらず)、そのためこれらユーザはSecurIDなどのハードウェアOTPシステムを使用するなど、OTP620を使用して認証してもよい(OTPは、エントラストまたはジェムアルトなど、異なるベンダによっても提供されてよい)。ある場合には、ユーザがユーザIDで認証した後、OTP620を用いてユーザにテキストが送信される。ある場合には、これはオンライン利用の場合のみ実施してもよく、プロンプトは単一フィールドである。
【0127】
企業ポリシーによるオフライン使用が許可されるアプリケーション610については、オフライン認証のためにオフラインパスワードを実装してもよい。たとえば、企業はStoreFrontにこの方法でアクセスしてもらいたい可能性がある。この場合、レシーバ604はユーザにカスタムオフラインパスワードの設定を要求してもよく、ADパスワードは使用されない。クラウドゲートウェイ606は、標準的なWindows(登録商標) Serverパスワードの複雑さの要件で記述されるなど、パスワードの最低長さ、文字種の組合せおよび有効期限に関するパスワード標準を制御し、強制するポリシーを提供してもよい。ただし、これらの要件は修正してもよい。
【0128】
別の特徴は、二次クレデンシャルとして一定のアプリケーション610のクライアント側証明書の有効化に関する(MDXのマイクロVPN特徴を介してPKI保護ウェブリソースにアクセスするため)。たとえば、仕事用メールのアプリケーションはこのような証明書を利用することがある。この場合、ActiveSyncプロトコルを使用した証明書による認証をサポートしてもよく、レシーバ604からの証明書はクラウドゲートウェイ606によって検索されて、キーチェーンで使用してもよい。各管理対象アプリケーションは、クラウドゲートウェイ606で定義されるラベルによって識別される1つの関連クライアント証明書を有してもよい。
【0129】
クラウドゲートウェイ606は企業専用ウェブサービスとやりとりして、該当の管理対象アプリケーションが内部PKI保護リソースに認証を行うことを可能にするクライアント証明書の発行をサポートしてもよい。
【0130】
レシーバ604およびMDXフレームワーク614は、内部PKI保護ネットワークリソースに認証を行うために、クライアント証明書の取得および使用をサポートするように増強してもよい。様々なレベルのセキュリティおよび/または隔離の要求事項に応じるためなど、2つ以上の証明書をサポートしてもよい。証明書はメール・ブラウザ管理対象アプリケーション、および最終的には任意にラッピングされたアプリケーションが使用してもよい(ただし、MDXフレームワークがhttps要求を仲介するのが合理的な場合、これらのアプリケーションはウェブサービス型の通信パターンを使用する)。
【0131】
iOSのMDXのクライアント証明書サポートは、各使用期間中、各管理対象アプリケーションのiOSキーチェーンへのPKCS 12 BLOB(バイナリ・ラージ・オブジェクト)のインポートに依拠してもよい。MDXのクライアント証明書サポートは、プライベートメモリ内キーストレージとともにHTTPS実装を使用してもよい。クライアント証明書はiOSキーチェーンには絶対に存在することはなく、強力に保護されている「オンライン限定の」データ値を潜在的に除き、存続させない。
【0132】
相互SSLも実装して、企業に対してモバイルデバイス602が認証され、かつその逆を要求することにより、追加のセキュリティを提供してもよい。クラウドゲートウェイ606に対する認証用の仮想スマートカードも実装してもよい。
【0133】
限定およびフル両方のケルベロスサポートを追加の特徴としてもよい。フルサポート特徴は、ADパスワードまたは信頼できるクライアント証明書を使用したAD622へのフルケルベロスログインを行い、HTTP Negotiate認証チャレンジにレスポンスするためにケルベロスサービスチケットを取得する能力に関係する。限定サポート特徴はAFEEでの制約付き委任に関係し、当該AFEEはケルベロスプロトコル遷移の呼び出しをサポートするので、HTTP Negotiate認証チャレンジにレスポンスしてケルベロスサービスチケット(制約付き委任を条件とする)を取得して使用することができる。このメカニズムはリバースウェブプロキシ(別名CVPN)モードで機能し、http(ただし、httpsではない)接続はVPNおよびマイクロVPNモードでプロキシされる。
【0134】
別の特徴はアプリケーション・コンテナのロックおよび消去に関係し、これはジェイルブレイクまたはルート化検出時には自動的に行われ、管理コンソールからプッシュされるコマンドとして発生し、たとえアプリケーション610が稼動していないときでも、遠隔消去機能を含んでいてもよい。
【0135】
障害のある場合に、いくつかの異なる場所のうちの1つからユーザがサービスを受けられるStoreFrontおよびApp Controllerのマルチサイト・アーキテクチャまたは構成をサポートしてもよい。
【0136】
ある場合には、管理対象アプリケーション610には、API(たとえば、OpenSSL)を介して証明書および秘密鍵にアクセスが許可されてもよい。企業の信頼できる管理対象アプリケーション610は、アプリケーションのクライアント証明書および秘密鍵を用いて、特定の公開鍵オペレーションを行うことが認められてもよい。アプリケーションがブラウザのように挙動し、証明書アクセスが要求されない場合、アプリケーションが「who am I」証明書を読み取るとき、アプリケーションが証明書を使用してセキュリティ保護されたセッション・トークンを構築するとき、およびアプリケーションが重要なデータのデジタル署名のため(たとえば、トランザクションログ)または一時データ暗号化のために秘密鍵を使用するときなど、様々な使用のケースが識別され、それに応じて扱われてもよい。
【0137】
〈実施例〉
図7Aおよび図7Bは、モバイルデバイスのインターフェースを示し、図8図14は、コンテキストに基づいてモバイルデバイスをロックするための方法の実施形態を示す。図8図14に示す方法は、様々な実施形態においてあらゆる適切な方法で結合してもよい。図7Aおよび図7Bに示すインターフェースは、デバイス107,109,140,502,および/または602等のモバイルデバイスに表示してもよく、図8図14に示す方法はそのようなモバイルデバイスによって実装されてもよい。
【0138】
図8に、コンテキストに基づいてモバイルデバイスをロックするための方法のステップのフローチャートを示す。図8の方法はステップ802で始まり、そこではユーザ名をモバイルデバイスにログオンする。たとえば、ユーザは所定のユーザ名を使用してモバイルデバイス502等のモバイルデバイスにログインしてもよい。ユーザ名は団体、企業、およびあらゆる適切なエンティティによって割り当てられてもよい。ユーザ名は団体のアクティブディレクトリの一部であってもよい。ある実施形態では、モバイルデバイスへのログオンには、パスワード、PIN、たとえば、4〜8桁の数字、または何らかの他のパスワードまたはログインクレデンシャルも要求される。
【0139】
図8の方法はステップ802からステップ804へ進み、そこではコンテキストをモバイルデバイスのために決定する。たとえば、コンテキストは現在の時間、モバイルデバイスの位置、および他の適切なコンテキストであってよい。
【0140】
以下にさらに説明する図9図12の方法は、コンテキストを説明する様々な実施例を示す。
【0141】
図8の方法はステップ804からステップ806へ進み、そこではモバイルデバイスがユーザ名およびコンテキストに基づいてロックされるべきであることを決定する。たとえば、オペレーションモードはロック解除されたモードとロックされたモードとを含んでもよい。ロックされたモードで動作するモバイルデバイスは限定された数のアプリケーションの起動に限定してもよい。たとえば、複数のアプリケーションをユーザに提示してもよく、ユーザが提示されたアプリケーションのみを起動できるようにしてもよい。別の実施例では、モバイルデバイスのハードウェアボタンを無効にしてもよい。ロック解除されたモードで動作するモバイルデバイスは、アプリケーションの起動に対する制限が無くてもよく、使用可能なハードウェアボタンを含んでいてもよい。ある実施形態では、オペレーションモードを決定するために、コンテキストおよびユーザ名を格納されたポリシーと比較してもよい。
【0142】
モバイルデバイス502等のモバイルデバイスは、モバイルデバイスのためのオペレーションモードを決定するために使用される1つ以上のポリシーを格納していてもよい。一実施形態では、ポリシーは図5を参照して上述したポリシーマネージャ570等で遠隔格納してもよい。たとえば、ユーザ名は、企業の敷地等の一定の位置で、午前9時から午後5時の間等の一定の時間にモバイルデバイスにログオンしてもよい。ポリシーはオペレーションモードを、ユーザ名、位置のコンテキスト、および現在の時間のコンテキストに基づいてロックされていると定義してもよい。
【0143】
図8の方法はステップ806からステップ808へ進み、そこではユーザ名およびパスワードに基づいてユーザに提示されるアプリケーションを選択する。たとえば、モバイルデバイスは複数のアプリケーションを格納していてもよく、格納された複数のアプリケーションからアプリケーションを選択するようにしてもよい。
【0144】
図7Aはモバイルデバイス(たとえば、タブレット、スマートフォン等)に表示されたユーザインターフェース700AがアプリケーションA 701A,B 702B,C 703A,およびE 704Aをユーザに提示する実施形態を示す。これは一実施例に過ぎず、複数のアプリケーションをあらゆる適切な方法で提示してよい。一実施形態では、複数のアプリケーションは、電子メールアプリケーション、ウェブ・ブラウジングアプリケーション、Software−as−a Service(SaaS)アクセスアプリケーション等を含んでいてもよい。
【0145】
一実施形態では、アプリケーションはカテゴリに基づいてグループ分けされてもよい。たとえば、複数の管理対象のアプリケーションは管理対象のグループを含んでいてもよい。そのようなグループの一実施例は、図6を参照して上述したレシーバ604に含まれるアプリケーションであってもよい。別の実施例では、複数のエンターテイメントアプリケーションが1つのエンターテイメントグループまたは他のジャンルに基づいたグループを含んでいてもよい。他のあらゆる適切なグループを実装してもよい。
【0146】
一実施形態では、ユーザ名は複数の役割のうちの1つと関連付けられていてもよい。たとえば、ヘルスケアのシナリオでは、役割は看護師を含んでいてもよい。複数の看護関連のアプリケーションが看護師グループを含んでいてもよい。ポリシーは、看護師の役割に関連付けられたユーザ名が特定の位置、たとえば病院の敷地でモバイルデバイスにログインすると、モバイルデバイスのためのオペレーションモードをロックしなければならないと定義されてもよい。ポリシーはまた、ユーザに提示するために選択されたアプリケーションが看護師グループのアプリケーションであることを特定してもよい。
【0147】
さらなる実施例では、第二の役割は医師を含んでいてもよい。複数の医師に関連するアプリケーションは医師グループを含んでいてもよい。たとえば、医師は処方箋の記載を許可されているが看護師は許可されていないため、医師グループは処方箋記載のアプリケーションを含み、看護師グループは含まないようになっていてもよい。一実施例では、役割の階層構造が存在してもよい。医師グループは階層構造において看護師グループの上に配置してもよく、医師グループはしたがって少なくとも看護師グループのすべてのアプリケーションを受け継ぐようになっていてもよい。
【0148】
ポリシーは、医師の役割に関連付けられたユーザ名が特定の位置、たとえば病院の敷地でモバイルデバイスにログインすると、モバイルデバイスのためのオペレーションモードをロックしなければならないと定義されてもよい。ポリシーはまた、ユーザに提示されるために選択されたアプリケーションが医師グループのアプリケーションであることを特定してもよい。ユーザが位置に基づいて特定のアプリケーションからロックアウトされるというような逆の場合もあってよく、たとえば、医師が(GPS等によって判定される)病院の敷地にいないときにモバイルデバイスにログインすると、スプリングボードが医療/仕事関連のアプリケーションを除くすべてのアプリケーションを提示するようにしてもよい。
【0149】
別の実施例では、第三の役割は管理者を含んでいてもよい。複数のアプリケーションが管理者グループを含んでいてもよい。管理者グループは役割の階層構造において医師グループおよび看護師グループの両方の上に配置してもよく、管理者グループはしたがって少なくとも医師グループおよび看護師グループのすべてのアプリケーションを受け継ぐようになっていてもよい。上述と同様のポリシーが、同様のコンテキストでモバイルデバイスにログオンする管理者の役割に関連付けられたユーザ名に対して定義されていてもよい。あるいは、受け継ぐ内容が一部のみであってもよい。たとえば、管理者が何らかの環境下で処方箋の記載を許可されていない場合は、処方箋記載のアプリケーションを受け継がないようにしてもよい。
【0150】
図8の方法はステップ808からステップ810へ進み、そこではモバイルデバイスをスプリングボードが選択されたアプリケーションのみを提示するようにロックされる。スプリングボードはユーザにモバイルデバイス上のアプリケーションを起動させるインターフェースを含んでいてもよい。
【0151】
図7Aのインターフェース700Aは、アプリケーションA 701A,B 702A,C 703A,およびE 704Aを提示するロックされたスプリングボードを含んでいてもよい。この実施例では、インターフェース700Aに提示されたアプリケーションは、たとえば医師用のアプリケーション等のカテゴリに基づいたアプリケーションのグループを含んでいてもよい。別の実施例では、図7Bのインターフェース700Bは、アプリケーションA 701A,E 704A,およびG 701Bを提示するロックされたスプリングボードを含んでいてもよい。この実施例では、インターフェース700Bに提示されたアプリケーションは、たとえば看護師用のアプリケーション等の異なるカテゴリに基づいたアプリケーションのグループを含んでいてもよい。モバイルデバイスは、スプリングボードに提示されたアプリケーションのみを起動してもよいようにスプリングボード上でロックされてもよい。一実施形態では、スプリングボードは図6を参照して上述したレシーバ604を含んでいてもよい。別の実施形態では、モバイルデバイスの物理的なボタンを無効にして、モバイルデバイスが有効にロックされるようにしてもよい。
【0152】
一実施形態では、提示されたアプリケーションが起動されると、ユーザが起動されたアプリケーションとやりとりするようにしてもよい。ユーザが終了して起動されたアプリケーションを閉じると、モバイルデバイスはロックされたスプリングボードへ戻る。したがって、ユーザはロックされたスプリングボードが提示するアプリケーションのみとやりとりするようにしてもよい。
【0153】
図9図12に、モバイルデバイスのためのコンテキストを決定するための方法ステップのフローチャートを示す。一実施形態では、図8のステップ804、ステップ806、およびステップ808は図9図12の方法のステップを含んでいてもよい。
【0154】
図9の方法はステップ902で始まり、そこではモバイルデバイスのための位置を決定する。たとえば、モバイルデバイス502等のモバイルデバイスは、図9の方法を実装してもよく、モバイルデバイスのための位置を決定してもよい。位置は、GPS、信号の三角測量、または他のあらゆる適切な方法によって決定してもよい。位置はモバイルデバイスのためのコンテキストを含んでいてもよい。
【0155】
図9の方法はステップ902からステップ904へ進み、そこでは決定された位置およびユーザ名を位置ポリシーと比較する。たとえば、ポリシーは所定のユーザ名に対して、モバイルデバイスが一定の位置、たとえば会社の敷地に配置されると、提示のために選択された管理対象のアプリケーションのグループでロックされたモードでモバイルデバイスは稼働すると定義してもよい。
【0156】
図9の方法はステップ904からステップ906へ進み、そこではオペレーションモードを決定し、アプリケーションを比較に基づいて選択する。
【0157】
図10の方法はステップ1002で始まり、そこでは1つ以上のネットワーク接続を検出する。たとえば、モバイルデバイス502等のモバイルデバイスは図10の方法を実装してもよく、モバイルデバイスが作るネットワーク接続を検出してもよい。一実施例では、ネットワーク接続はセルラーネットワークへの接続、WiFiネットワークへの接続、または無線ローカルエリアネットワーク(WLAN)への接続等を含んでいてもよい。1つ以上のネットワーク接続は選択されたアプリケーションに対するコンテキストを含んでいてもよい。
【0158】
図10の方法はステップ1002からステップ1004へ進み、そこでは検出されたネットワーク接続およびユーザ名をネットワーク接続ポリシーと比較する。たとえば、ポリシーは所定のユーザ名に対して、モバイルデバイスが会社内のWLANに接続されると、モバイルデバイスは提示のために選択された管理対象のアプリケーションのグループでロックされたモードで稼働し、モバイルデバイスがセルラーネットワークに接続されると、モバイルデバイスはロック解除されたモードで稼働すると定義してもよい。
【0159】
図10の方法はステップ1004からステップ1006へ進み、そこではオペレーションモードを決定し、アプリケーションを比較に基づいて選択する。
【0160】
図11の方法はステップ1102で始まり、そこではモバイルデバイスのための1つ以上の設定を検出する。たとえば、モバイルデバイス502等のモバイルデバイスは図11の方法を実装してもよく、モバイルデバイスのための1つ以上の設定を検出してもよい。一実施例では、モバイルデバイスがモバイルデバイスの使用に要求されるPIN等のロックスクリーンを有しているかどうかを検出してもよく、あるいはモバイルデバイスはジェイルブレイクされているかどうか(たとえば販売後の改造をされているかどうか)を検出してもよい。1つ以上の設定はモバイルデバイスのためのコンテキストを含んでいてもよい。
【0161】
図11の方法はステップ1102からステップ1104へ進み、そこでは検出された設定およびユーザ名を設定ポリシーと比較する。たとえば、ポリシーは所定のユーザ名に対して、モバイルデバイスがジェイルブレイクされているか、またはロックスクリーンを有していない場合は、モバイルデバイスは提示のために選択された非管理対象のアプリケーションのグループでロックされたモードで稼働すると定義してもよい。
【0162】
図12の方法はステップ1202で始まり、そこでは現在の時間が検出される。たとえば、現在の時間は、たとえば午後12時等の時刻、曜日、それらの組み合わせ、または他のあらゆる適切なタイミングを含んでいてもよい。現在の時間はモバイルデバイスのためのコンテキストを含んでいてもよい。
【0163】
図12の方法はステップ1202からステップ1204へ進み、そこでは現在の時間およびユーザ名を現在の時間ポリシーと比較する。たとえば、ポリシーは所定のユーザ名に対して、現在の時間が平日の午前9時から午後5時の間であれば、モバイルデバイスは提示のために選択された管理対象のアプリケーションのグループでロックされたモードで稼働すると定義してもよい。図9図12は複数のコンテキストを説明しており、他のあらゆる適切なコンテキストおよび対応するポリシーを実装してもよい。
【0164】
一実施形態では、図9図12で説明するコンテキストの1つ以上を組み合わせてもよく、これらのコンテキストはユーザ名と共にポリシーと比較してもよい。たとえば、選択されたアプリケーションのためのコンテキストは会社の敷地等の位置および月曜日の午後12時等の現在の時間を含んでいてもよい。この実施例では、ポリシーは所定のユーザ名に対して、モバイルデバイスは提示のために選択された管理対象のアプリケーションのグループでロックされたモードで稼働すると定義してもよい。
【0165】
別の実施例では、モバイルデバイスのためのコンテキストは、米国外の決定された位置および会社内のWLANとのネットワーク接続を含んでいてもよい。ポリシーは所定のユーザ名に対して、モバイルデバイスは提示のために選択された管理対象のアプリケーションのグループでロックされたモードで稼働すると定義してもよい。ポリシーは、会社内のWLANとのネットワーク接続が米国外のセキュリティ保護された通信に関連するリスクを軽減するため、このように定義してもよい。
【0166】
一実施形態では、図9図12で説明する1つ以上のコンテキストは優先順位を含んでいてもよい。たとえば、モバイルデバイスのためのコンテキストはジェイルブレイクされている等の設定を含んでいてもよく、ポリシーは所定のユーザ名に対して、他のコンテキストが示すものにかかわらず、モバイルデバイスは提示のために選択された非管理対象のアプリケーションのグループでロックされたモードで稼働すると定義してもよい。したがって、ジェイルブレイクされたモバイルデバイスは、モバイルデバイスが会社内のWLANに接続されている場合、または選択されたアプリケーションが会社の敷地に配置されている場合でも、提示のために選択された非管理対象のアプリケーションのグループでロックされたモードで稼働する。
【0167】
図13は、ロックされたモバイルデバイスをナビゲートするための方法のステップのフローチャートを示す。たとえば、図13の方法のステップは図8の方法のステップに続けてもよい。図13の方法はステップ1302で始まり、そこでは1つ以上の提示されたアプリケーションを起動する。ユーザは、図7Aのインターフェース700A等のスプリングボードとのやりとりによって、提示されたアプリケーションを起動してもよい。たとえば、ユーザはアプリケーションを起動するために提示されたアプリケーションにタッチしてもよい。
【0168】
図13の方法はステップ1302からステップ1304へ進み、そこではジェスチャをユーザからのインプットとして受信する。一実施形態では、ユーザのジェスチャは、たとえば指による水平方向のスワイプを含んでいてもよく、または垂直方向のスワイプを含んでいてもよい。受信したジェスチャが水平方向のスワイプ等の第一の所定のジェスチャを含む場合、図13の方法はステップ1304からステップ1306へ進み、そこではインターフェースが起動されたアプリケーション間の切り替えを行う。受信したジェスチャが垂直方向のスワイプ等の第二の所定のジェスチャを含む場合、図13の方法はステップ1304からステップ1308へ進み、そこではインターフェースがロックされたスプリングボードに切り替わる。
【0169】
一実施形態では、ステップ1306において、ロックされたモバイルデバイスは、ロックされたモードで提示されるために選択された起動されたアプリケーションの間のみで切り替えを行う。たとえば、ゲームアプリケーションをモバイルデバイス上で稼働してもよい。モバイルデバイスは、ゲームアプリケーションを稼働している間に、モバイルデバイスを決定されたスプリングボードにロックするためのポリシーを呼び出すコンテキストの変更を経験してもよい。たとえば、モバイルデバイスが会社の敷地に入り、デバイスが管理対象のアプリケーションを提示するが、ゲームアプリケーションを提示しないスプリングボードにロックされるようにしてもよい。この実施例では、ステップ1306においてアプリケーションを切り替えると、モバイルデバイスはユーザにゲームアプリケーションへの切り替えを行わせない。これは、ゲームアプリケーションが、たとえば管理対象のアプリケーション等のスプリングボードに提示されたアプリケーションの一部ではないためである。アプリケーションは、たとえば起動された管理対象のアプリケーション等の、ロックされたスプリングボードに提示されるアプリケーションを含むように切り替えられてもよい。
【0170】
図14は、モバイルデバイスのためのオペレーションモードを切り替えるための方法ステップのフローチャートを示す。たとえば、図14の方法のステップは図8の方法のステップに続けてもよい。図14の方法はステップ1402で始まり、そこではモバイルデバイスがロックされている間、1つ以上のコンテキストを監視する。一実施形態では、図9図13を参照して説明したコンテキストのうちの1つ以上を監視してもよい。たとえば、ロックされたモバイルデバイスは最初の時点で会社の敷地に配置されていて、その後、会社の敷地以外の新たな位置へ移動してもよい。
【0171】
図14の方法はステップ1402からステップ1404へ進み、そこではモバイルデバイスのためのオペレーションモードの変更を監視に基づいて検出する。たとえば、モバイルデバイスはロックされたモードで稼働されてもよく、モバイルデバイスが会社の敷地から別の位置へ移動すると、ポリシーは所定のユーザ名に対して、選択されたアプリケーションのためのオペレーションモードはロック解除されたモードに切り替わるべきであると定義してもよい。図14の方法はステップ1404からステップ1406へ進み、そこではモバイルデバイスのためのオペレーションモードが切り替えられる。
【0172】
構造的な特徴および/または方法論的な行為に特有の用語で主題を説明してきたが、添付の請求項で定義される主題は必ずしも上述した特有の特徴または行為に制限されるものではないことは理解されるべきである。むしろ、上述した特有の特徴および行為は以下の請求項の実施態様として説明されたものである。
【0173】
関連出願の相互参照
本願は、2013年5月3日に出願された同じ発明の名称を有する米国特許出願第13/886,765号の優先権を主張する。
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13
図14