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

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

<>
  • 特許6559223-デバイス・ポリシー・マネージャ 図000004
  • 特許6559223-デバイス・ポリシー・マネージャ 図000005
  • 特許6559223-デバイス・ポリシー・マネージャ 図000006
  • 特許6559223-デバイス・ポリシー・マネージャ 図000007
  • 特許6559223-デバイス・ポリシー・マネージャ 図000008
  • 特許6559223-デバイス・ポリシー・マネージャ 図000009
  • 特許6559223-デバイス・ポリシー・マネージャ 図000010
  • 特許6559223-デバイス・ポリシー・マネージャ 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6559223
(24)【登録日】2019年7月26日
(45)【発行日】2019年8月14日
(54)【発明の名称】デバイス・ポリシー・マネージャ
(51)【国際特許分類】
   G06F 21/60 20130101AFI20190805BHJP
   H04M 11/00 20060101ALI20190805BHJP
   H04M 1/00 20060101ALI20190805BHJP
   G06F 21/56 20130101ALI20190805BHJP
【FI】
   G06F21/60
   H04M11/00 302
   H04M1/00 R
   G06F21/56
【請求項の数】13
【全頁数】36
(21)【出願番号】特願2017-505050(P2017-505050)
(86)(22)【出願日】2015年4月1日
(65)【公表番号】特表2017-518594(P2017-518594A)
(43)【公表日】2017年7月6日
(86)【国際出願番号】US2015023756
(87)【国際公開番号】WO2015157048
(87)【国際公開日】20151015
【審査請求日】2018年4月2日
(31)【優先権主張番号】61/977,600
(32)【優先日】2014年4月9日
(33)【優先権主張国】US
(31)【優先権主張番号】62/105,439
(32)【優先日】2015年1月20日
(33)【優先権主張国】US
(31)【優先権主張番号】14/617,447
(32)【優先日】2015年2月9日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(72)【発明者】
【氏名】カウフマン,ピーター・ジェイ
(72)【発明者】
【氏名】ジュウ,ユハーン
(72)【発明者】
【氏名】プラブ,ソニア
(72)【発明者】
【氏名】スパイス,ジョン・チャドウェル
(72)【発明者】
【氏名】ホウ,ジャスティン
【審査官】 岸野 徹
(56)【参考文献】
【文献】 特表2014−501475(JP,A)
【文献】 米国特許出願公開第2012/0054163(US,A1)
【文献】 米国特許出願公開第2012/0166604(US,A1)
【文献】 国際公開第2011/061804(WO,A1)
【文献】 再公表特許第2011/061804(JP,A1)
【文献】 特開2014−044612(JP,A)
【文献】 庭野 栄一,サービス指向ICカードプラットフォーム「NINA」,NTT技術ジャーナル,日本,社団法人電気通信協会,2000年10月 1日,Vol.12 No.10,pp.56−59
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
G06F 21/56
H04M 1/00
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
移動体デバイスであって、
少なくとも1つのプロセッサーと、
コンピューター実行可能命令を含むコンピューター読み取り可能ストレージと、
を含み、
前記コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると、前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
複数のポリシー・ソースからのポリシー構成要求を受ける動作であって、前記ポリシー構成要求が、少なくとも、
第1ポリシー・ソースからの第1ポリシー構成要求であって、ポリシーに対して第1ポリシー値を含む、第1ポリシー構成要求と、
第2ポリシー・ソースからの第2ポリシー構成要求であって、このポリシーに対して第2ポリシー値を含み、前記第1ポリシー・ソースが前記第2ポリシー・ソースとは異なり、前記第1ポリシー値が前記第2ポリシー値と対立する、第2ポリシー構成要求と、
を含む、動作と、
前記移動体デバイスを制御する前記ポリシーに対して現ポリシー値を設定するために、対立解決技法に基づいて、前記ポリシーに対する前記第1ポリシー値と第2ポリシー値との間の対立を解決する動作であって、前記ポリシーに対する前記第1ポリシー値と第2ポリシー値との間の対立が、前記第1ポリシー・ソースと前記第2ポリシー・ソースとの間の信頼が前記移動体デバイスにおいて確立されることなく解決される、動作と、
を含み、
前記コンピューター読み取り可能ストレージが、更に、ポリシー管理メタベース・ストアを含み、
前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
前記ポリシーに対する前記第1ポリシー値を前記ポリシー管理メタベース・ストアの第1ソース・ポリシー・ストアに書き込む動作であって、前記第1ソース・ポリシー・ストアが前記第1ポリシー・ソースに対応する、動作と、
前記ポリシーに対する前記第2ポリシー値を前記ポリシー管理メタベース・ストアの第2ソース・ポリシー・ストアに書き込む動作であって、前記第2ソース・ポリシー・ストアが前記第2ポリシー・ソースに対応する、動作と、
前記対立解決技法を使用し、少なくとも前記第1ソース・ポリシー・ストアからの前記第1ポリシー値と前記第2ソース・ポリシー・ストアからの前記第2ポリシー値とに基づいて、前記ポリシーに対する前記現ポリシー値を決定する動作と、
前記ポリシーに対する前記現ポリシー値を、前記ポリシー管理メタベース・ストアの現ポリシー・ストアに書き込む動作と、
を含む、移動体デバイス。
【請求項2】
請求項1記載の移動体デバイスにおいて、
前記第1ポリシー構成要求が、更に、前記第1ポリシー・ソースの識別子と、前記ポリシーを指定するインディケーターとを含み、
前記第2ポリシー構成要求が、更に、前記第2ポリシー・ソースの識別子と、前記ポリシーを指定する前記インディケーターとを含み、
前記第1ポリシー・ソースの前記識別子が、前記第2ポリシー・ソースの前記識別子とは異なる、移動体デバイス。
【請求項3】
請求項1記載の移動体デバイスにおいて、前記対立解決技法が、ポリシー・ソース・タイプに対してそれぞれのオーソリティ・レベルを指定し、前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
前記対立解決技法を使用して、前記第1ポリシー・ソースの第1オーソリティ・レベルと前記第2ポリシー・ソースの第2オーソリティ・レベルとに基づいて、前記ポリシーに対して現ポリシー値を設定する動作、
を含む、移動体デバイス。
【請求項4】
請求項1記載の移動体デバイスにおいて、前記第1ポリシー・ソースが、所与のオーソリティ・レベルを有する企業デバイス管理サーバーであり、前記対立解決技法が、前記所与のオーソリティ・レベルを有するポリシー・ソースが前記ポリシーの現ポリシー値を設定することの禁止を指定し、前記第1ポリシー構成要求が、前記移動体デバイスの信頼ポリシー・ソースによって署名された署名付きポリシー構成要求であり、前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
前記署名付きポリシー構成要求に基づいて、前記対立解決技法によって指定された前記禁止を無効にする動作、
を含む、移動体デバイス。
【請求項5】
請求項1記載の移動体デバイスにおいて
前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
前記第1ポリシー・ソースが該第1ポリシー・ソースのための前記第1ソース・ポリシー・ストアにアクセスすることを許可する動作と、
前記第2ポリシー・ソースが該第2ポリシー・ソースのための前記第2ソース・ポリシー・ストアにアクセスすることを許可する動作と、
前記第1ポリシー・ソースの前記第2ソース・ポリシー・ストアへのアクセスを制限する動作と、
前記第2ポリシー・ソースの前記第1ソース・ポリシー・ストアへのアクセスを制限する動作と、
を含む、移動体デバイス。
【請求項6】
請求項1記載の移動体デバイスにおいて、前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
特定のポリシー・ソースから受けた対立解決処理設定と該特定のポリシー・ソースのオーソリティ・レベルとに基づいて、前記ポリシーのために前記移動体デバイスによって使用される前記対立解決技法を制御する動作、
を含む、移動体デバイス。
【請求項7】
請求項1記載の移動体デバイスにおいて、前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
前記複数のポリシー・ソースの内2つ以上のそれぞれのオーソリティ・レベルに基づいて、前記複数のポリシー・ソースの内前記2つ以上から受けた対立解決処理設定間で調停を行って、選択対立解決処理設定を選ぶ動作と、
前記選択対立解決処理設定に基づいて、前記ポリシーのために前記移動体デバイスによって使用される前記対立解決技法を制御する動作と、
を含む、移動体デバイス。
【請求項8】
請求項1記載の移動体デバイスにおいて、前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
特定のポリシー・ソースから対立解決処理設定を受ける動作と、
前記特定のポリシー・ソースと、前記移動体デバイスの信頼ポリシー・ソースとの間で確立された信頼を検出する動作と、
前記確立された信頼の検出に応答して、前記対立解決処理設定に基づいて、前記ポリシーのために前記移動体デバイスによって使用される前記対立解決技法を制御する動作と、
を含む、移動体デバイス。
【請求項9】
請求項1記載の移動体デバイスにおいて、前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
前記ポリシーに対する対立を解決するために前記移動体デバイスによって使用される所与の対立解決技法が前記移動体デバイスの望ましくない状態を生ずるか否か検出する動作と、
前記所与の対立解決技法が前記望ましくない状態を生ずるか否かに基づいて、前記ポリシーのために前記移動体デバイスによって使用される前記対立解決技法を制御する動作と、
を含み、前記ポリシーのために前記移動体デバイスによって使用される前記対立解決技法を制御する動作が、
前記所与の対立解決技法が前記望ましくない状態を生じないことを検出したことに基づいて、前記所与の対立解決技法を前記対立解決技法として維持することと、
前記所与の対立解決技法が前記望ましくない状態を生ずることを検出したことに基づいて、前記所与の対立解決技法を、前記対立解決技法になるように変更すること、
を更に含む、移動体デバイス。
【請求項10】
請求項1記載の移動体デバイスにおいて、前記複数のポリシー・ソースが、更に、移動体動作管理サーバーと、メッセージング・サーバーと、移動体デバイス管理サーバーとを含む、移動体デバイス。
【請求項11】
請求項1記載の移動体デバイスにおいて、前記コンピューター読み取り可能ストレージが更にコンピューター実行可能命令を含み、該コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
前記移動体デバイスが前記第1ポリシー・ソースから離脱したことに応答して、前記ポリシーに対する前記現ポリシー値を再評価する動作、
を含む、移動体デバイス。
【請求項12】
移動体デバイスであって、
少なくとも1つのプロセッサーと、
コンピューター実行可能命令を含むコンピューター読み取り可能ストレージと、
を含み、前記コンピューター実行可能命令が前記少なくとも1つのプロセッサーにより実行されると前記少なくとも1つのプロセッサーに動作を実行させ、該動作が、
特定のポリシー・ソースから対立解決処理設定を受ける動作であって、前記対立解決処理設定がポリシーのための対立解決技法を指定する、動作と、
前記特定のポリシー・ソースからの前記対立解決処理設定と前記特定のポリシー・ソースのオーソリティ・レベルとに基づいて、前記ポリシーのための前記対立解決技法を使用するように前記移動体デバイスを制御する動作と、
複数のポリシー・ソースからのポリシー構成要求を受ける動作であって、前記ポリシー構成要求が前記対立解決処理設定とは別であり、前記ポリシー構成要求が、前記ポリシーのための異なるポリシー値を指定する異なったポリシー・ソースによって与えられる異なったポリシー構成要求を含む、動作と、
前記ポリシーのための前記移動体デバイスにより使用される前記対立解決技法に基づいて、前記異なるポリシー・ソースによって与えられる前記異なるポリシー構成要求において指定された前記ポリシーに対する前記異なるポリシー値間の対立を解決して、前記移動体デバイスを制御する前記ポリシーに対する現ポリシー値を設定する動作と、
を含む、移動体デバイス。
【請求項13】
移動体デバイスにおいてポリシーを管理する方法であって、該方法が、前記移動体デバイスに含まれた少なくとも1つのプロセッサーにより実行され、前記移動体デバイスがストレージを含み、該ストレージがポリシー管理メタベース・ストアを含み、前記方法が、
複数のポリシー・ソースからポリシー構成要求を受けるステップであって、前記複数のポリシー・ソースが、少なくとも、前記移動体デバイスによって実行される内部ポリシー・ソースと、前記移動体デバイスに対して外部になるデバイス管理サーバーとを含み、前記ポリシー構成要求が、少なくとも、
第1ポリシー・ソースからの第1ポリシー構成要求であって、ポリシーに対する第1ポリシー値を含む、第1ポリシー構成要求と、
第2ポリシー・ソースからの第2ポリシー構成要求であって、前記ポリシーに対する第2ポリシー値を含み、前記第1ポリシー・ソースが前記第2ポリシー・ソースとは異なり、前記第1ポリシー値が前記第2ポリシー値と対立する、第2ポリシー構成要求と、
を含む、ステップと、
前記移動体デバイスにおいて、前記第1ポリシー・ソースと前記第2ポリシー・ソースとの間に信頼が確立されずに、対立解決技法に基づいて前記ポリシーに対する前記第1ポリシー値と前記第2ポリシー値との間の対立を解決するステップと、
前記対立を解決したことに応答して、前記移動体デバイスを制御する前記ポリシーに対して現ポリシー値を設定するステップと、
を含み、
前記方法が更に、
前記ポリシーに対する前記第1ポリシー値を前記ポリシー管理メタベース・ストアの第1ソース・ポリシー・ストアに書き込むステップであって、前記第1ソース・ポリシー・ストアが前記第1ポリシー・ソースに対応する、ステップと、
前記ポリシーに対する前記第2ポリシー値を前記ポリシー管理メタベース・ストアの第2ソース・ポリシー・ストアに書き込むステップであって、前記第2ソース・ポリシー・ストアが前記第2ポリシー・ソースに対応する、ステップと、
前記対立解決技法を使用し、少なくとも前記第1ソース・ポリシー・ストアからの前記第1ポリシー値と前記第2ソース・ポリシー・ストアからの前記第2ポリシー値とに基づいて、前記ポリシーに対する前記現ポリシー値を決定するステップと、
前記ポリシーに対する前記現ポリシー値を、前記ポリシー管理メタベース・ストアの現ポリシー・ストアに書き込むステップと、
を含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
[0001] 移動体デバイスによって強制される(enforced)ポリシーは、通例、このような移動体デバイスの安全を確保するため、および/またはこのような移動体デバイスを管理するために制御される。多くの場合、複数のポリシー・ソースが移動体デバイスのポリシー値を構成する(configure)。複数のポリシー・ソースがポリシー値を構成することを可能にする多くの従来の手法は、集中ポリシー・サーバーを含む。複数のポリシー・ソースが、通例、ポリシー構成要求(ポリシーに対するポリシー値を含む)を集中ポリシー・サーバーに送る。集中ポリシー・サーバーは、ポリシーに対するポリシー値を複数のポリシー・ソースから収集し、ポリシーに対するこのようなポリシー値の間で調停を行い、ポリシーに対するポリシー値を移動体デバイスに送ることができる。したがって、このようなサーバー・ベースの手法では、集中ポリシー・サーバーが複数のポリシー・ソースから得られたポリシー値を管理し、移動体デバイスは集中ポリシー・サーバーによって設定されたポリシー値を使用する。
【発明の概要】
【発明が解決しようとする課題】
【0002】
[0002] 他の従来の手法には、移動体デバイスがポリシー構成要求の部分集合を受けて処理し、一方集中ポリシー・サーバーは残りのポリシー構成要求を処理することを伴うものがある。しかしながら、このような手法では、移動体デバイスはポリシー構成要求の一部を管理することに限られ、残りのポリシー構成要求は、移動体デバイスから離れて処理される。したがって、これら従前の手法は複雑であり実施が難しい場合が多い。
【課題を解決するための手段】
【0003】
[0003] 本明細書において説明するのは、移動体デバイスにおけるポリシー管理に関する種々の技術である。移動体デバイスは、少なくとも1つのプロセッサーとコンピューター読み取り可能ストレージとを含むことができ、コンピューター読み取り可能ストレージは、少なくとも1つのプロセッサーによって実行可能なデバイス・ポリシー管理システムを含むことができる。デバイス・ポリシー管理システムは、複数のポリシー・ソースからポリシー構成要求を受けるように構成された統一インターフェース・コンポーネントを含むことができる。複数のポリシー・ソースは、移動体デバイスの少なくとも1つのプロセッサーによって実行されるように構成された少なくとも1つの内部ポリシー・ソース・コンポーネントと、移動体デバイスに対して外部であるデバイス管理サーバーとを含む。統一インターフェース・コンポーネントが受けるポリシー構成要求は、少なくとも、第1ポリシー・ソースからの第1ポリシー構成要求と、第2ポリシー・ソースからの第2ポリシー構成要求とを含む。第1ポリシー構成要求は、ポリシーに対する第1ポリシー値を含み、第2ポリシー構成要求はこのポリシーに対する第2ポリシー値を含む。第1ポリシー・ソースは第2ポリシー・ソースとは異なり、第1ポリシー値は第2ポリシー値と対立する(conflict)。更に、デバイス・ポリシー管理システムは、対立解決技法に基づいて、ポリシーに対する第1ポリシー値と第2ポリシー値との間の対立を解決し、移動体デバイスを制御するポリシーに対して現ポリシー値を設定するように構成されたポリシー・ハンドラー・コンポーネントも含む。
【0004】
[0004] 以上の摘要は、本明細書において説明するシステムおよび/または方法のある形態の基本的な理解を得るために、簡略化した摘要を提示する。この摘要は、本明細書において説明するシステムおよび/または方法の広範な全体像ではない。主要な/必須のエレメントを識別することも、このようなシステムおよび/または方法の範囲を明確に定めることも意図していない。その唯一の目的は、以下に提示する更に詳細な説明に対する序文として、一部の概念を簡略化した形態で提示することである。
【図面の簡単な説明】
【0005】
図1図1は、移動体デバイスにおいてポリシー管理を実行するシステム例の機能ブロック図を示す。
図2図2は、移動体デバイスにおいてポリシー管理を実行する他のシステム例の機能ブロック図を示す。
図3図3は、ポリシー・ハンドラー・コンポーネントによって実行されるポリシー評価プロセスを表す例証的な図を示す。
図4図4は、移動体デバイスのデバイス・ポリシー管理システムの機能ブロック図を更に詳細に示す。
図5図5は、デバイス・ポリシー管理システムは、例証的な実現例(exemplary implementation)を示す。
図6図6は、移動体デバイスにおいてポリシーを管理する方法例を示す流れ図である。
図7図7は、移動体デバイスにおいてポリシーを管理するために使用される対立解決技法を制御する方法例を示す流れ図である。
図8図8は、計算デバイス例を示す。
【発明を実施するための形態】
【0006】
[0013] これより、移動体デバイスにおいて複数のポリシー・ソースからのポリシーに対するポリシー構成要求の処理に関する種々の技法について、図面を参照しながら説明する。図面において、全体を通じて同様のエレメントを指すために同様の参照番号を使用する。以下の記載では、説明の目的のために、1つ以上の形態の完全な理解を得るために、数多くの具体的な詳細について説明する。しかしながら、このような形態(1つまたは複数)はこれらの具体的な詳細がなくても実施可能であることは明白であろう。他方において、1つ以上の形態を説明し易くするために、周知の構造およびデバイスをブロック図形態で示すこととする。更に、ある種のシステム・コンポーネントによって実行されるものとして説明される機能は、複数のコンポーネントによって実行されてもよいことは理解されよう。同様に、例えば、1つのコンポーネントが、複数のコンポーネントによって実行されるものとして説明される機能を実行するように構成されてもよい。
【0007】
[0014] 更に、「または」(or)という用語は、排他的な「または」ではなく、包含的な「または」を意味することを意図している。即ち、別段指定されない限り、または文脈から明らかでない限り、「XはAまたはBを採用する」という句は、自然な包含的置換(natural inclusive permutation)のいずれかを意味することを意図している。即ち、「XはAまたはBを採用する」という句は、以下の実例、XはAを採用する、XはBを採用する、またはXはAおよびB双方を採用するのいずれによっても満たされる。加えて、冠詞「a」および「an」は、本願および添付する特許請求の範囲において使用する場合、一般に、別段指定されない限り、または文脈から単数形に向けられることが明らかでない限り、「1つ以上」を意味するように解釈されてしかるべきである。
【0008】
[0015] これより図面を参照すると、図1は、移動体デバイス102においてポリシー管理を実行するシステム100を示す。移動体デバイス102は、少なくとも1つのプロセッサー104とコンピューター読み取り可能ストレージ106とを含む。プロセッサー104は、ストレージ106にロードされた命令を実行するように構成されている(例えば、ストレージ106にロードされた1つ以上のシステム、ストレージ106にロードされた1つ以上のコンポーネント等)。本明細書において更に詳しく説明するが、ストレージ106はデバイス・ポリシー管理システム108を含む。したがって、デバイス・ポリシー管理システム108は、プロセッサー104によって実行可能である。デバイス・ポリシー管理システム108は、複数のポリシー・ソースからのポリシーに対するポリシー構成要求を、移動体デバイス102において集中的に処理するように構成されている。
【0009】
[0016] 移動体デバイス102は、実質的に任意のタイプの移動体デバイスとすることができる。移動体デバイス102の例には、移動体電話機(例えば、スマートフォン)、ラップトップ計算デバイス、ネットブック計算デバイス、タブレット計算デバイス、ウェアラブル計算デバイス、ハンドヘルド計算デバイス、携帯用ゲーミング・デバイス、パーソナル・ディジタル・アシスタント、および自動車用コンピューター等が含まれるが、これらに限定されるのではない。他の例によれば、移動体デバイス102は、デスクトップ計算デバイス、ゲーミング・コンソール、娯楽用アプライアンス、セット・トップ・ボックス等とすることができる。
【0010】
[0017] システム100は、複数のポリシー・ソースを含む。これらのポリシー・ソースは、移動体デバイス102を制御するポリシーに対してポリシー値を設定するために、移動体デバイス102のデバイス・ポリシー管理システム108にポリシー構成要求を供給することができる。複数のポリシー・ソースは、移動体デバイス02のプロセッサー104によって実行可能な1つ以上の内部ポリシー・ソース・コンポーネント(1つまたは複数)110を含むことができる。加えてまたは代わりに、複数のポリシー・ソースは、移動体デバイス102に対して外部となる1つ以上のデバイス管理サーバーも含むことができる。
【0011】
[0018] 内部ポリシー・ソース・コンポーネント(1つまたは複数)110は、移動体デバイス102のプロセッサー104によって実行されるアプリケーション、移動体デバイス102のデバイス・ユーザー・インターフェース等を含むことができる。例えば、移動体デバイス102のプロセッサー104によって実行されるアプリケーションが、イベント(1つまたは複数)に基づいてポリシーを設定することができる。このアプリケーションは、プロファイル変更(1つまたは複数)、アウト・オブ・ボックス体験(OOBE)条件(1つまたは複数)等のような、1つ以上のトリガーに基づいて、移動体デバイス102の内部にあるポリシーを構成することができる。一例によれば、内部ポリシー・ソース・コンポーネント(1つまたは複数)110は、イベントに基づいてポリシー構成要求を生成することができるファースト・パーティ・アプリケーション(first party application)を含むことができ、ポリシー構成要求はデバイス・ポリシー管理システム108によって処理することができる。ファースト・パーティ・アプリケーションは、移動体デバイス102の基本コンポーネント、または移動体デバイス102と結合された周辺コンポーネントとすることができ、デバイス管理サーバー112〜114のいずれによっても制約を受けず、いずれにも結び付けられない。
【0012】
[0019] 図1の例において示すように、システム100は、デバイス管理サーバー1 112、...と、デバイス管理サーバーN114とを含み、Nは実質的に任意の整数である(デバイス管理サーバー1 112、...およびデバイス管理サーバーN114をここでは纏めてデバイス管理サーバー112〜114と呼ぶ)。しかしながら、他の例によれば、システム100がN台よりも少ないデバイス管理サーバー112〜114を含むことができることも考えられる(例えば、移動体デバイス102にはデバイス管理サーバーが全く登録されていないのでもよく、移動体デバイス102に1台のデバイス管理サーバーが登録されているのでもよい)。デバイス管理サーバー112〜114は、移動体動作管理サーバー(1つまたは複数)、企業デバイス管理サーバー(1つまたは複数)、またはこれらの組み合わせを含むことができる。企業デバイス管理サーバーの例には、メッセージング・サーバー、移動体デバイス管理(MDM)サーバー、文書サーバー等が含まれる。MDMサーバーは移動体デバイス102を管理運用する(administer)ことができる。MDMサーバーは、アプリケーション、データー、およびポリシー構成要求の無線分散(over-the-air distribution)を使用して、移動体デバイス102におけるデーターおよび構成設定値を制御および保護することができる。更に、メッセージング・サーバーは、電子メール、カレンダー、連絡先、メモ、タスク等に関連するデーターを、移動体デバイス102と交換することができる(例えば、移動体デバイス102は安全に電子メール、カレンダー、連絡先、メモ、タスク等をメッセージング・サーバーと同期させることができる)。つまり、メッセージング・サーバーは、移動体デバイス102がメッセージング・サーバーに登録されたときに、ポリシー構成要求(1つまたは複数)を移動体デバイス102に送ることができる。文書サーバーは、文書へのアクセスに対するポリシーを適用するポリシー適用システム(例えば、情報権利管理をサポートする)を有することができる。
【0013】
[0020] デバイス・ポリシー管理システム108は、移動体デバイス102における種々のポリシー・ソースからのポリシー構成要求を集中的に管理する。尚、デバイス・ポリシー管理システム108が、 移動体デバイス102に存在する他のコンポーネント(1つまたは複数)に委譲されたポリシー・ストアまたはハードウェアに維持されたポリシーに対するポリシー値を集中的に管理できることも考えられる。例えば、あるポリシーが移動体デバイス102のハードウェアで管理され、認証されても(attested)よい。デバイス・ポリシー管理システム108は、例えば、タスクを互いに委譲し合う2つのコンポーネントに分割することができる。更に他の例によれば、デバイス・ポリシー管理システム108は、ハードウェア・ポリシー・マネージャおよびデバイス・ポリシー管理システム108のコンポーネントに委譲ることができる調整コンポーネント(orchestrator component)を含むことができる。
【0014】
[0021] デバイス・ポリシー管理システム108は、実質的に任意のポリシー・ソースからの実施的に任意のポリシーに関連するポリシー構成要求を処理する。デバイス・ポリシー管理システム108は、一貫性があり、安全で、簡潔で、拡張可能にすることができる。更に、デバイス・ポリシー管理システム108は、軽量で柔軟性があり、ポリシー・ソースに移動体デバイス102のポリシーに対してポリシー値を設定させることができる。
【0015】
[0022] デバイス・ポリシー管理システム108は、移動体デバイス102に対して内部である(例えば、内部ポリシー・ソース・コンポーネント(1つまたは複数)110)、および移動体デバイス102に対して外部である(例えば、デバイス管理サーバー112〜114)こともできる複数のポリシー・ソースからポリシー構成要求を受け入れることができる。更に、ポリシー・ソースは、デバイス・ポリシー管理システム108から、ポリシーの現ポリシー値を引き出すことができる。ポリシーの現ポリシー値とは、移動体デバイス102を制御するために移動体デバイス102において強制されるポリシー値のことである。
【0016】
[0023] 移動体デバイス102のコンピューター読み取り可能ストレージ106は、内部システム(1つまたは複数)116も含むことができる。内部システム(1つまたは複数)116は、移動体デバイス102のプロセッサー104によって実行可能にすることができる。内部システム116は、同様に、ポリシーの現ポリシー値をデバイス・ポリシー管理システム108から引き出すことができる。加えてまたは代わりに、デバイス・ポリシー管理システム108は、ポリシーの現ポリシー値の変化に応答して、内部システム(1つまたは複数)116の内1つ以上に通知を送ることができる。
【0017】
[0024] デバイス・ポリシー管理システム108は、複数のポリシー・ソースからポリシー構成要求を受けるように構成された統一インターフェース・コンポーネント118を含む。複数のポリシー・ソースは、移動体デバイス102のプロセッサー104によって実行される少なくとも1つの内部ポリシー・ソース・コンポーネント(例えば、内部・ポリシー・ソース・コンポーネント(1つまたは複数)110)と、移動体デバイス102に対して外部である少なくとも1つのデバイス管理サーバー(例えば、デバイス管理サーバー112〜114)とを含むことができる。統一インターフェース・コンポーネント118は、ポリシー・ソースがポリシー値を設定および取得するためのインターフェースとすることができる。つまり、内部および外部ポリシー・ソースは、統一インターフェース・コンポーネント118を介して、移動体デバイス102のポリシー値を構成することができる。更に、統一インターフェース・コンポーネント118は、内部システム116が、移動体デバイス102によって強制される現ポリシー値を引き出すことを可能にするインターフェースとすることもできる。統一インターフェース・コンポーネント118は、移動体デバイス102に対するポリシー値を読み取る/書き込むとき、デバイス・ポリシー管理システム108が、実質的に任意のタイプのポリシー・ソースと相互操作することを可能にする。
【0018】
[0025] 更に、デバイス・ポリシー管理システム108は、移動体デバイス102を制御するポリシーに対して現ポリシー値を設定するように構成されたポリシー・ハンドラー・コンポーネント120も含む。ポリシー・ハンドラー・コンポーネント120は、更に、ポリシーに対する現ポリシー値を引き出すことができる(例えば、ポリシー・ソースおよび/または内部システム116からの要求に応答して、内部システム(1つまたは複数)116に通知を送るため等)。更に、ポリシー・ハンドラー・コンポーネント120は、移動体デバイス02が特定のポリシー・ソースから離脱(un-enroll)したことに応答して、または特定のポリシー・ソースによって設定されたポリシーに対するポリシー値をこの特定のポリシー・ソースが削除したことに応答して、ポリシーに対する現ポリシー値を再評価することができる。ポリシー・ハンドラー・コンポーネント120は、ポリシーに対する現ポリシー値を計算するために、ポリシー評価プロセスを実行することができる。このようなポリシー評価プロセスは、デバイス・ポリシー管理システム108によって追加のポリシーをサポートすることを可能にするため、更に1つのポリシー・ソースが他のポリシー・ソースのポリシー構成要求を見ることまたは変更することができないことを保証可能にするために、拡張可能にすることができる。
【0019】
[0026] デバイス・ポリシー管理システム108は、モジュール化ポリシー構成アーキテクチャを有することができ、これにより追加のポリシーのプラグインを可能にすることができる。デバイス・ポリシー管理システム108は、移動体デバイス102のオペレーティング・システムを更新する必要なく拡張可能にすることができる。更に、デバイス・ポリシー管理システム108は、ポリシーに対するポリシー・ソースの管理オーソリティ(authority)の影響を、このポリシー・ソースがもはや移動体デバイス102を管理していないときには、消去することを可能にすることができる。
【0020】
[0027] ポリシー・ハンドラー・コンポーネント120は、異なるポリシー・ソースによって指定された対立するポリシー値の間で対立を解決することができる。例えば、ポリシー・ハンドラー・コンポーネント120は種々の対立解決技法を利用して、ポリシーに対する対立を解決することができる。尚、対立解決技法は、2つ以上のポリシーに対して設定できることは認められよう。加えてまたは代わりに、異なる対立解決技法を複数の異なるポリシーに設定することもできる。
【0021】
[0028] 移動体デバイス102におけるポリシー・ソース間には信頼を確立する必要はない。これにより、移動体デバイス102のポリシー・ソース(1つまたは複数)の登録を簡素化することができる。例えば、ポリシー・ハンドラー・コンポーネント120は、移動体デバイス102において作られたこのようなポリシー・ソース間の信頼なく、これらのポリシー・ソースからのポリシーに対するポリシー値間の対立を解決するように構成することができる(例えば、デバイス管理サーバー1 112によって指定された第1ポリシー値と、デバイス管理サーバーN114によって指定された第2ポリシー値との間の対立は、移動体デバイス102において作られたデバイス管理サーバー1 112とデバイス管理サーバーN114との間の信頼がなくても、ポリシー・ハンドラー・コンポーネント120によって解決することができる)。
【0022】
[0029] ポリシー・ハンドラー・コンポーネント120によって利用することができる例証的な対立解決技法には、排他的規則(例えば、ポリシーの特定の値が適用されたとき、他のポリシーの特定の値は適用されない)、包含的規則(inclusive rule)(例えば、他のポリシー値がある範囲の制約(bar)に該当する場合にのみポリシーを値Fooに設定する)、移動体デバイス102の固有の条件がXである場合にのみポリシー値をFooに設定する、特定のポリシー・ソースからの要求毎にポリシー値を強制する等が含まれる。他の実証的な対立解決技法には、ポリシーの現在値を最後に書かれたポリシー値に設定すること、ポリシーの現在値を最も限定的なポリシー値に設定することが含まれる。
【0023】
[0030] 他の例によれば、対立解決技法は、ポリシー・ソース・タイプ毎にそれぞれのオーソリティ・レベルを指定することができる。この例に従うと、ポリシー・ハンドラー・コンポーネント120は、このような対立解決技法を使用して、ポリシー構成要求を出したポリシー・ソースのそれぞれのオーソリティ・レベルに基づいて、ポリシーに対して現ポリシー値を設定するように構成することができ、これらのポリシー構成要求はポリシーに対するそれぞれのポリシー値を含む。例示として、第1ポリシー構成要求(ポリシーに対する第1ポリシー値を含む)が、第1オーソリティ・レベルを有する第1ポリシー・ソースからのものとすることができ、第2ポリシー構成要求(ポリシーに対する第2ポリシー値を有する)が、第2オーソリティ・レベルを有する第2ポリシー・ソースからのものとすることができる。この例にしたがって、ポリシー・ハンドラー・コンポーネント120は、第1オーソリティ・レベルおよび第2オーソリティ・レベルに基づいて対立解決技法を使用して、第1ポリシー値と第2ポリシー値との間の対立を解決することができる(例えば、第1オーソリティ・レベルを有するポリシー・ソースからのポリシー値を、第2オーソリティ・レベルを有するポリシー・ソースからのポリシー値を抑えて、選択することができる)。例えば、対立解決技法が、移動体動作管理サーバーからのポリシー値を、特定のポリシーに対するメッセージング・サーバーからのポリシー値を抑えて選択することを指定してもよく、この対立解決技法は、異なるポリシーに対する移動体動作管理サーバーからのポリシー値を抑えて、メッセージング・サーバーからのポリシー値を選択することを指定してもよい。
【0024】
[0031] 尚、対立解決技法が、ソース毎に(例えば、ソース識別子(ID)に基づいて)、またはソースのタイプ毎にオーソリティ・レベルを設定できる(例えば、メッセージング・サーバー、MDMサーバー、移動体動作管理サーバー、内部ポリシー・ソース・コンポーネント(1つまたは複数)110に対して、異なるオーソリティ・レベルを設定することができる)ことも考えられる。更に、オーソリティ・レベルは、ポリシー毎またはポリシーのグループ毎に定めることもできる。一例(example)によれば、対立解決技法は、あるポリシーのグループには、ポリシー・ソース・タイプ毎にそれぞれのオーソリティ・レベルを指定し、異なるポリシーのグループには、ポリシー・ソース・タイプ毎にそれぞれの異なるオーソリティ・レベルを指定することができる。例示(illustration)によれば、オーソリティ・レベルのクラス定義をサポートすることができる。同じオーソリティ・レベルをクラスと考えることができ、あるクラスがどのように他のクラスと対立するか定めることができる。例えば、所与のクラスが1つ以上のポリシー・ソースを含むことができ、これらのクラス間の対立解決は、特定の対立解決技法の一部である規則によって決定することができる。
【0025】
[0032] 他の例によれば、対立解決技法は、特定のオーソリティ・レベルを有するポリシー・ソースがポリシーの現在値を設定することの禁止を指定することができる。この例に従うと、この禁止を無効にするために、移動体デバイス102の信頼ポリシー・ソースによってポリシー構成要求に署名できることが考えられる。例示として(by way of illustration)、企業デバイス管理サーバー(例えば、デバイス管理サーバー112〜114、メッセージング・サーバー、MDMサーバー等の内1つ)からのポリシー構成要求が、署名付きポリシー構成要求であることが可能であり、署名付きポリシー構成要求は、移動体デバイス102の信頼ポリシー・ソースによって署名することができる(例えば、移動体デバイス102のプロセッサー104によって実行されるオペレーティング・システムのソース)。署名付きポリシー構成要求を統一インターフェース・コンポーネント118から受けると、ポリシー・ハンドラー・コンポーネント120は、この署名付きポリシー構成要求に基づいて、対立解決技法によって指定された禁止を無効にするように構成することができる。ポリシー構成要求に署名することによって、あるポリシー・ソースから送られたポリシー値を悪意によって変更できないことを保証することができる。何故なら、変更された場合、予期されるハッシュまたは署名がもはや一致しないからである。
【0026】
[0033] デバイス・ポリシー管理システム108は、更に、ポリシー管理メタベース・ストア122も含む。ポリシー管理メタベース・ストア122は、移動体デバイス102を制御するポリシーに対する現ポリシー値を格納する。現ポリシー値は、ポリシー・ハンドラー・コンポーネント120によって実施されるポリシー評価プロセスから得ることができる。ポリシー・ハンドラー・コンポーネント120は、デフォルトのポリシー値と、ポリシー・ソースによって指定されたポリシー値(例えば、統一インターフェース・コンポーネント118が受けたポリシー構成要求の一部として)とを併合する。デフォルトのポリシー値は、ポリシー管理メタベース・ストア122に予め設定しておくことができる。更に、一例によれば、信頼ポリシー・ソースが離れて(remotely)ポリシーのデフォルト・ポリシー値を変更できることも考えられる。
【0027】
[0034] また、ポリシー管理メタベース・ストア122は、対立解決技法(例えば、処理規則等)、およびポリシー毎にサポートされるデーター・タイプも格納することができ、異なるポリシー値が異なるポリシー・ソースによって要求されたときに設定できる値を含むが、これに限定されるのではない。ポリシー管理メタベース・ストア122は、カスタマイズ可能な規則をデバイス条件(1つまたは複数)(例えば、移動体デバイス102の条件(1つまたは複数))、ポリシー・ソース条件(1つまたは複数)(例えば、ポリシー・ソースの内1つ以上の条件(1つまたは複数))、および他のポリシー条件(1つまたは複数)(例えば、全く異なるポリシーの現ポリシー値))と統合して、ポリシー毎の特定処理を可能にすることができる。したがって、ポリシー管理メタベース・ストア122は、デバイス・ポリシー管理システム108によって強制されるポリシーに対して、柔軟な制御を可能にすることができる。
【0028】
[0035] 更に、ポリシー管理メタベース・ストア122は、ポリシー値変形(transfiguration)を実行することができる。例えば、古いポリシーが「1=ディスエーブル、0=イネーブル」と指定したとしてもよい。しかしながら、新たなモデルが「0=ディスエーブル、1=イネーブル」を与えるかもしれない。つまり、下位互換性(backwards compatibility)を得るために、ポリシー管理メタベース・ストア122は、は古いポリシーのポリシー値を構成し直すことができる。
【0029】
[0036] 各ポリシーは、ポリシー管理メタベース・ストア122内に維持されたデフォルト値を有することができ、ポリシーのデフォルト値は、ポリシー管理メタベース・ストア122のデフォルト・ポリシー・ストアに保持することができる。更に、ポリシーの現ポリシー値は、ポリシー管理メタベース・ストア122のデフォルト・ポリシー・ストアにおけるメタデーターに基づいて決定することができる。
【0030】
[0037] また、ポリシー管理メタベース・ストア122は、移動体デバイス102が登録した複数のポリシー・ソース毎にそれぞれのソース・ポリシー・ストアを含むこともできる。ポリシー管理メタベース・ストア122は、それぞれのソース・ポリシー・ストアにおけるポリシー・ソースによって設定されたポリシー値を格納することができる(例えば、デバイス管理サーバー1 112からのポリシー構成要求において指定されたポリシー値は、デバイス管理サーバー1 112に対応するソース・ポリシー・ストアに格納することができ、デバイス管理サーバー1N114からのポリシー構成要求において指定されたポリシー値は、デバイス管理サーバーN114に対応するソース・ポリシー・ストアに格納することができる等)。また、ポリシー管理メタベース・ストア122は、現ポリシー・ストアに、移動体デバイス102において強制されている現ポリシー値を格納することもできる。
【0031】
[0038] 各ポリシー・ソースには、一意のソース識別子(ID)を関連付けることができる(例えば、一意のソース識別子(ID)はデバイス・ポリシー管理システム108によって内部的に処理することができる)。ソースIDは、コーリング・プロセスによって設定することができ、ソース特定に作られるリソース、および変更したポリシー値をポリシー管理メタベース・ストア122に格納するために使用することができる。更に、統一インターフェース・コンポーネント118は、ソース特定ポリシー値を読み取る/書き込むことができ、ソースIDに基づいて、ポリシー管理メタベース・ストア122に維持されているポリシーの現ポリシー値を読み取ることができる。
【0032】
[0039] ここで説明したように、統一インターフェース・コンポーネント118は、複数のポリシー・ソースからポリシー構成要求を受けるように構成される。一シナリオ例によれば、ポリシー構成要求は、少なくとも、第1ポリシー・ソースからの第1ポリシー構成要求と、第2ポリシー・ソースからの第2ポリシー構成要求とを含むことができる。このシナリオ例を続けると、ポリシー構成要求は、更に、実質的に任意の数の追加のポリシー構成要求を含むことができることが認められよう。第1ポリシー構成要求は、ポリシーに対する第1ポリシー値を含むことができる。更に、第2ポリシー構成要求はそのポリシーに対する第2ポリシー値を含むことができる。第1ポリシー・ソースは第2ポリシー・ソースと異なり、第1ポリシー値は第2ポリシー値と対立する。ポリシー・ハンドラー・コンポーネント120は、このポリシーに対する第1ポリシー値と第2ポリシー値との間の対立を解決するように構成される。更に、ポリシー・ハンドラー・コンポーネント120は、移動体デバイス102を制御するポリシーに対して現ポリシー値を設定するために、対立解決技法に基づいて、対立を解決するように構成される。
【0033】
[0040] 更に、第1ポリシー構成要求は、第1ポリシー・ソースの識別子(例えば、第1ポリシー・ソースのソースID)と、第1ポリシー値が指定されるポリシーを指定するインディケーターとを含むことができる。更に、第2ポリシー構成要求も、第2ポリシー・ソースの識別子(例えば、第2ポリシー・ソースのソースID)と、ポリシーを指定するインディケーターとを含むことができる。更に、第1ポリシー・ソースの識別子は、第2ポリシー・ソースの識別子とは異なる(例えば、統一インターフェース・コンポーネント118によって判定することができる)。
【0034】
[0041] ポリシー・ハンドラー・コンポーネント120は、第1ポリシー構成要求および第2ポリシー構成要求を統一インターフェース・コンポーネント118から受けるように構成される。ポリシー・ハンドラー・コンポーネント120は、ポリシーに対する第1ポリシー値をポリシー管理メタベース・ストア122の第1ソース・ポリシー・ストアに書き込むことができ、第1ソース・ポリシー・ストアは第1ソース・ポリシーに対応する。更に、ポリシー・ハンドラー・コンポーネント120は、ポリシーに対する第2ポリシー値をポリシー管理メタベース・ストア122の第2ソース・ポリシー・ストアに書き込むことができ、第2ソース・ポリシー・ストアは第2ポリシー・ソースに対応する。ポリシー・ハンドラー・コンポーネント120は、更に、第1ソース・ポリシー・ストアからの第1ポリシー値と第2ソース・ポリシー・ストアからの第2ポリシー値とに基づいて、対立解決技法を使用して、ポリシーに対して現ポリシー値を決定することができる。更に、他のポリシー・ソース(1つまたは複数)からの他のポリシー構成要求(1つまたは複数)に応答してポリシー管理メタベース・ストア122の他のソース・ポリシー・ストア(1つまたは複数)に書き込まれた他のポリシー値(1つまたは複数)も同様に、現ポリシー値を決定するために使用することができ、および/またはポリシー管理メタベース・ストア122のデフォルト・ポリシー・ストア内にあるデフォルト・ポリシー値を、現ポリシー値を決定するために使用することができる。加えて、ポリシー・ハンドラー・コンポーネント120は、ポリシーに対して決定された現ポリシー値をポリシー管理メタベース・ストア122のデフォルト・ポリシー・ストアに書き込むように構成することができる。
【0035】
[0042] 図2を参照すると、移動体デバイス102においてポリシー管理を実行する他のシステム200が示されている。移動体デバイス102は、デバイス・ポリシー管理システム108、内部システム(1つまたは複数)116、および内部ポリシー・ソース・コンポーネント(1つまたは複数)(例えば、内部ポリシー・ソース・コンポーネント(1つまたは複数)110)を含む。更に特定すると、図2の例に示す移動体デバイス102の内部ポリシー・ソース・コンポーネント(1つまたは複数)は、移動体デバイス102のプロセッサーによって実行される1つ以上のアプリケーション(1つまたは複数)202と、デバイス・ユーザー・インターフェース(UI)204とを含む。
【0036】
[0043] 移動体デバイス102のユーザーは、デバイス・ユーザー・インターフェース204を介して、移動体デバイス102と対話処理することができる。例えば、デバイス・ユーザー・インターフェース204は、ユーザーによって対話処理することができる制御パネルを設けることができる。したがって、デバイス・ユーザー・インターフェース204は、移動体デバイス102のユーザーからポリシーに対するポリシー値のポリシー構成要求を受けることができる。デバイス・ユーザー・インターフェース204を介して受けるポリシー構成要求は、デバイス・ポリシー管理システム108によって処理することができる。このような要求は、統一インターフェース・コンポーネント118によって受けて、更に、本明細書において説明するように、ポリシー・ハンドラー・コンポーネント120によって処理することができる。
【0037】
[0044] 更に、移動体デバイス102は、デバイス管理サーバー112〜114と相互作用するクライアント(1つまたは複数)206を含むことができる。例えば、デバイス管理サーバー112〜114の各々は、移動体デバイス102において対応するクライアント(例えば、クライアント(1つまたは複数)206の内の1つ)を有することができる。
【0038】
[0045] 移動体デバイス102の内部システム(1つまたは複数)116は、移動体デバイス102のファーストおよび/またはセカンド・パーティ・プロセス(second party process)を含むことができる。内部システム(1つまたは複数)116は、現ポリシー値をデバイス・ポリシー管理システム108から受けることができる。内部システム(1つまたは複数)116は、移動体デバイス102のポリシーを所有するおよび/または強制することができる。例えば、内部システム(1つまたは複数)116は、デバイス・ポリシー管理システム108のポリシー管理メタベース・ストア122に維持されている現ポリシー値を読み取ることができる。加えてまたは代わりに、デバイス・ポリシー管理システム108(例えば、統一インターフェース・コンポーネント118)は、通知を内部システム(1つまたは複数)116に送ることができる。統一インターフェース・コンポーネント118は、ポリシー更新通知を得るために、ポリシーによって制御されるリソース(例えば、内部システム(1つまたは複数)116)に登録させることができる。このように、デバイス・ポリシー管理システム118(例えば、統一インターフェース・コンポーネント118)は、ポリシー値の変更に応答して、通知を内部システム(1つまたは複数)116に送ることができる。
【0039】
[0046] ポリシー・ハンドラー・コンポーネント120は、ポリシー管理メタベース・ストア122に維持されているポリシーの現ポリシー値を読み取ることができる。ポリシー・ハンドラー・コンポーネント120は、ポリシー値をポリシー管理メタベース・ストア122における対応するポリシー・ストアに対して読み取り/書き込みを行うためにポリシー・ストア・モジュールを含むことができる。例えば、それぞれのポリシー・ストアは、デフォルトのポリシー値およびメタデーター、デバイスUIまたはアプリケーション・ポリシー値、デバイス管理サーバー・ポリシー値、ならびに現ポリシー値を保持することができる。ポリシー・ハンドラー・コンポーネント120は、ポリシー管理メタベース・ストア122のデフォルト・ポリシー・ストアにおける、ポリシーに関連するメタデーターに基づくポリシー値の書き込みの後、ポリシー評価を実行することができる。例えば、メタデーターは、ポリシーのためにポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を指定することができる。
【0040】
[0047] デバイス・ポリシー管理システム108は、1つ以上のポリシー・ソースから設定されたポリシーを管理することができる。移動体デバイス102において使用されるポリシー値は、ポリシー・ハンドラー・コンポーネント120によって実行されるポリシー評価プロセスの結果であることが可能であり、ポリシー・ハンドラー・コンポーネント120は、移動体デバイス102に登録されたデバイス管理サーバー112〜114および内部ポリシー・ソース・コンポーネント(1つまたは複数)の各々からのポリシー値を考慮する。ポリシー・ハンドラー・コンポーネント120は、対立解決技法を使用して、ポリシーに対して対応する現ポリシー値を選択することができる。尚、ポリシーのポリシー値に対する変更が、ポリシー・ハンドラー・コンポーネント120によるポリシー評価プロセスを誘起できることが考えられる。あるポリシーに対して、異なるポリシー・ソースによって異なるポリシー値が書き込まれる可能性がある。ポリシー・ハンドラー・コンポーネント120は、ポリシーに対応する対立解決技法を使用して、ポリシー値からの1つの予測可能な選択を保証することができる。
【0041】
[0048] ポリシー管理メタベース・ストア122の対応するソース・ポリシー・ストアにおけるポリシー・ソースの設定またはポリシー値の削除、対応するソース・ポリシー・ストアからのポリシー値の削除の原因となるデバイス管理サーバーの離脱が、ポリシー・ハンドラー・コンポーネント120によるポリシー評価プロセスを誘起することができる。一例によれば、1つ以上のポリシー・ソースは、移動体デバイス102に登録された1つ以上のデバイス管理サーバー112〜114を含むことができる。デバイス管理サーバー(例えば、デバイス管理サーバー112〜114の内の1つ)が移動体デバイス102から離脱するとき、このようなデバイス管理サーバーによって設定された移動体デバイス102におけるポリシー値は戻され、異なるデバイス管理サーバー(1つまたは複数)によって設定されたポリシー値、異なるポリシー・ソース(1つまたは複数)(例えば、アプリケーション202、デバイス・ユーザー・インターフェース204を介してユーザーによって等)によって設定されたポリシー値、あるいはデフォルトのポリシー値に逆戻りする。このように、デバイス管理サーバーの離脱に応答して、このようなデバイス管理サーバーによって書き込まれたポリシー値は削除され、デフォルト・ポリシー・ストアおよび残りのソース・ポリシー・ストア内にあるポリシー値が、ポリシー・ハンドラー・コンポーネント120によって再度検査され、現ポリシー・ストアにおける現ポリシー値を更新する。しかしながら、あるポリシー・ソースについては、このようなソースによって書き込まれたポリシー値が削除されなくてもよい。
【0042】
[0049] ポリシーは、移動体デバイス102の挙動を制御し、1つ以上のデバイス管理サーバー112〜114、デバイス・ユーザー・インターフェース204、および/またはアプリケーション202によって、統一インターフェース・コンポーネント118を介して設定することができる。ポリシー値は、ポリシー管理メタベース・ストア122において3つのタイプの位置に格納される。ポリシーに対するデフォルトのポリシー値を含むデフォルト・ポリシー・ストア、対応するポリシー・ソースによって書き込まれたポリシーに対するポリシー値をそれぞれ含むソース・ポリシー・ストア(例えば、各デバイス管理サーバー112〜114はそれ自体のソース・ポリシー・ストアを有することができ、各内部ポリシー・ソース・コンポーネントは、それ自体のソース・ポリシー・ストアを有することができる)、およびポリシーの現ポリシー値(例えば、デフォルトおよびソース・ポリシー・ストアからのポリシー値を併合する結果得られる)を含む現ポリシー・ストアである。
【0043】
[0050] 一例にしたがって、ポリシー・ハンドラー・コンポーネント120は、特定のポリシー・ソースのソース・ポリシー・ストアにポリシー値を設定することを許可する前に、この特定のポリシー・ソースからのポリシーに対するポリシー値を検証するように構成することができる。加えてまたは代わりに、ポリシー・ハンドラー・コンポーネント120は、ソース・ポリシー・ストアからのポリシーに対するポリシー値を、現ポリシー・ストアにおけるポリシーに対する現ポリシー値として設定する前に、遵守チェックを実行するように構成することができる。
【0044】
[0051] 種々の例によれば、内部システム(1つまたは複数)116は、ポリシー値を変更できないようにすることができる。しかしながら、他の例にしたがって、内部システム(1つまたは複数)116がポリシー値を変更できるようにしてもよい。一例示(illustration)にしたがって、内部システム(1つまたは複数)116がポリシー値を変更することが許可される場合、ポリシー管理メタベース・ストア122は、内部システム(1つまたは複数)116からのポリシー値を記録するために、ソース・ポリシー・ストアを含むことができる。つまり、ポリシーが評価されるとき、他のポリシー・ソースのソース・ポリシー・ストアと比較して同様に、内部システム(1つまたは複数)116のソース・ポリシー・ストアに、ポリシー・ハンドラー・コンポーネント120によってアクセスすることができる。
【0045】
[0052] デバイス・ポリシー管理システム108は、移動体デバイス102の内部ポリシー・ソース・コンポーネント(1つまたは複数)(例えば、ファースト・パーティ・コンポーネント)が、外部デバイス管理サーバー112〜114と同様に移動体デバイス102においてポリシー値を設定することを可能にし、更にこのような外部ポリシー・ソースと統合されることを可能にする。このような内部ポリシー・ソース・コンポーネントの一例に、アンチリーク・ロック・コンポーネント(anti-leak lock component)がある。例えば、移動体デバイス102のブート・アップ時に、アンチリーク・ロック・コンポーネントは移動体デバイス102をロックするためにそれ自体の構成プロファイルを作り、アンチリーク・ロック・コンポーネントに対応するソース・ポリシー・ストアにポリシー値を設定することができる。このように、移動体デバイス102におけるセキュリティは、アンチリーク・ロック・コンポーネントをデバイス・ポリシー管理システム108と併せて使用することによって強化することができる。
【0046】
[0053] デバイス・ポリシー管理システム108は、特定のデバイス管理サーバーには繋がれていない(例えば、デバイス管理サーバー112〜114の内の1つ)。代わりに、デバイス・ポリシー管理システム108は、異なるタイプの外部サーバー(例えば、デバイス管理サーバー112〜114)に跨がって相互作用することができる。デバイス・ポリシー管理システム108は軽量で柔軟性があり、外部サーバーを必要としない(例えば、デバイス・ポリシー管理システム108はポリシー・ソース非依存型である)。
【0047】
[0054] 更に、ポリシー管理メタベース・ストア122は、ユーザーが入力したポリシー値(例えば、デバイス・ユーザー204を介して受ける)を永続的に格納することができる。例示として、ポリシー管理メタベース・ストア122は、異なるポリシー・ソース(例えば、デバイス管理サーバー112〜114および/またはアプリケーション(1つまたは複数)202の内の1つ)によって設定された値と対立する(conflict)値を、ポリシーに対して保持することができる。異なるポリシー・ソースが移動体デバイス102に登録し続ける間、ユーザー入力値を無視することができる(例えば、このようなユーザー入力値は、無効と見なされるが、なおも対応するソース・ポリシー・ストアに保持され続けることが可能である)。しかしながら、ポリシーに対して対立する値を有する異なるポリシー・ソースの離脱時に、ユーザー入力値はアクセス可能になり、ポリシー・ハンドラー・コンポーネント120によってポリシー評価プロセスを実行することによって決定されるような、現ポリシー値として潜在的に(potentially)使用することができる(例えば、ユーザー入力値が後に有効になることができる)。
【0048】
[0055] 図3に移ると、ポリシー・ハンドラー・コンポーネント120によって実行されるポリシー評価プロセスを表す例証的な図が示されている。図3は、それぞれのポリシー値を設定する2つのポリシー・ソース(例えば、ポリシー・ソース1およびポリシー・ソース2)について記載するが、実質的に任意の他のポリシー・ソースも、本明細書において説明するように、ポリシー値を設定することができることが考えられる。
【0049】
[0056] 302において、移動体デバイス102に予め設定されているデフォルトのポリシー値が示される。デフォルト・ポリシー値は、ポリシー管理メタベース・ストア122のデフォルト・ポリシー・ストアに格納することができる。デフォルト・ポリシー値は、ポリシーに対して現ポリシー値を選択するために使用される対立解決技法を記述するメタデーターと共に格納することができる。ポリシーに対するデフォルト・ポリシー値は、他のポリシー・ソースがこのようなポリシーに対してポリシー値を設定しない場合、戻す(例えば、コール元に)ことができる。例えば、ポリシーに対するデフォルト・ポリシー値は、他のポリシー・ソースがこのポリシーに対してポリシー値を設定しないとき、現ポリシー・ストアに現ポリシー値として格納することができる。他の例によれば、あるポリシーに対するデフォルト・ポリシー値は、他のポリシー・ソースがそのポリシーに対してポリシー値を設定しないとき、デフォルト・ポリシー・ストアから戻すことができる。
【0050】
[0057] 304において、第1ポリシー・ソースはそれ自体のポリシー値を書き込むおよび読み取ることができ、更に移動体デバイス102の現ポリシー値を読み取ることができる。管理セッションの間、第1ポリシー・ソースは、デバイス・ポリシー管理システム108を介して、それ自体のソース・ポリシー・ストアにおけるポリシー値を変更することができ、その結果、ポリシー評価プロセスは、他のポリシー・ソースおよびデフォルトのポリシーを伴うことになる可能性がある(例えば、併合によって)。結果的に得られた現ポリシー値を現ポリシー・ストアに保持することができる。更に、ポリシー値が現ポリシー・ストアにおいてその以前の値から変化した場合、通知を送ることができる(例えば、内部システム(1つまたは複数)116の内1つ以上に)。更に、第1ポリシー・ソースのソース・ポリシー・ストアに書き込まれたポリシー値は、他のポリシー・ソースまたは移動体デバイス102によって変更または削除することができない。
【0051】
[0058] 306において、第2ポリシー・ソースがそれ自体のポリシー値を書き込むおよび読み取ることができ、更に移動体デバイス102の現ポリシー値を読み取ることができる。以上と同様に、管理セッションの間、第2ポリシー・ソースは、それ自体のソース・ポリシー・ストアにおけるポリシー値を変更することができ、その結果、ポリシー評価プロセスを実行することができる。更に、第2ポリシー・ソースのソース・ポリシー・ストアに書き込まれたポリシー値は、他のポリシー・ソースや移動体デバイス102によって変更することも削除することもできない。
【0052】
[0059] 308において、現在のポリシーが現ポリシー・ストアに格納される。更に、ポリシー・ソースの離脱の間に、このようなポリシー・ソースによって設定されたポリシー値は、ポリシー・ソースの対応するソース・ポリシー・ストアから削除され、ポリシー評価プロセスが再度適用される。
【0053】
[0060] 図4は、移動体デバイス102のデバイス・ポリシー管理システム108を更に詳細に示す。デバイス・ポリシー管理システム108は、統一インターフェース・コンポーネント118、ポリシー・ハンドラー・コンポーネント120、およびポリシー管理メタベース・ストア122を含む。
【0054】
[0061] 先に記した例証的シナリオを再度参照する。ここでは、統一インターフェース・コンポーネント118が受けたポリシー構成要求は、少なくとも、第1ポリシー・ソースからの第1ポリシー構成要求と、第2ポリシー・ソースからの第2ポリシー構成要求とを含む。この場合も、第1ポリシー構成要求は、ポリシーに対して第1ポリシー値を含むことができ、第2ポリシー構成要求は、このポリシーに対して第2ポリシー値を含むことができる。第1ポリシー・ソースは第2ポリシー・ソースとは異なり、第1ポリシー値は第2ポリシー値と対立する。
【0055】
[0062] 種々の例によれば、デバイス・ポリシー管理システム108は、ポリシー・ソースが他のポリシー・ソースのポリシー構成要求を見ることまたは変更することを禁止するように構成されたサンドボックス・セキュリティ・コンポーネント(sandbox security component)402を含むことができる。先に記した例証的シナリオを再度参照する。サンドボックス・セキュリティ・コンポーネント402は、第1ポリシー・ソースがポリシー管理メタベース・ストア122の第1ソース・ポリシー・ストアに、第1ポリシー・ソースのためにアクセスすることを許可するように構成することができる。更に、サンドボックス・セキュリティ・コンポーネント402は、第2ポリシー・ソースが、ポリシー管理メタベース・ストア122の第2ソース・ポリシー・ストアに、第2ポリシー・ソースのためにアクセスすることを許可するように構成することができる。更に、サンドボックス・セキュリティ・コンポーネント402は、第1ポリシー・ソースの第2ソース・ポリシー・ストアへのアクセスを制限するように構成することができ、更に第2ポリシー・ソースの第1ソース・ポリシー・ストアへのアクセスを制限するように構成することができる。
【0056】
[0063] デバイス・ポリシー管理システム108は、更に、解決制御コンポーネント404も含むことができる。解決制御コンポーネント404は、ポリシーのためにポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を制御するように構成することができる(例えば、デフォルト・ポリシー・ストアにおけるポリシーに関連するメタデーターを設定する)。一例によれば、解決制御コンポーネント404は、特定のポリシー・ソースから受けた対立解決処理設定と、この特定のポリシー・ソースのオーソリティ・レベルとに基づいて、ポリシーのためにポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を制御するように構成することができる(例えば、対立解決技法設定は、統一インターフェース・コンポーネント118が受けることができる)。ポリシー・ハンドラー・コンポーネント120は、解決制御コンポーネント404によって制御されたポリシーのための対立解決技法に基づいて、異なるポリシー・ソースによって与えられた異なるポリシー構成要求において指定されたポリシーに対する異なるポリシー値間の対立を解決することができる。
【0057】
[0064] 例えば、解決制御コンポーネント404は、複数のポリシー・ソースの内2つ以上(例えば、統一インターフェース・コンポーネント118がポリシー構成要求を受けたもの、移動体デバイス102が登録したもの)から受けた対立解決処理設定間で、複数のポリシー・ソースの内2つ以上のそれぞれのオーソリティ・レベルに基づいて調停するように構成することができる。このような調停は、解決制御コンポーネント404がポリシーのために選択された対立解決処理設定を選ぶことを可能にすることができる。更に、解決制御コンポーネント404は、選択された対立解決処理設定に基づいて、ポリシーのためにポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を制御するように構成することができる(例えば、選択された対立解決処理設定に基づいて設定された選択対立解決技法を使用してポリシー・ハンドラー・コンポーネント120によって、ポリシーに対してポリシー評価を実行することができる)。
【0058】
[0065] 例示として、移動体動作管理サーバーが、第1対立解決処理設定を移動体デバイス102に送ることによって、ポリシーに対してポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を設定することができる。解決制御コンポーネント404は、第1対立解決処理設定に基づいて、対立解決技法を受け入れて設定することができる。その後、企業デバイス管理サーバー(ポリシーに対して、移動体動作管理サーバーよりも高いオーソリティ・レベルを有する)が、第2対立解決処理設定を移動体デバイスに送ることによって、ポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を変更することができる。このように、企業デバイス管理サーバーの方が高いオーソリティ・レベルを有するので、解決制御コンポーネント404は、第2対立解決処理設定に基づいて、ポリシーに対する対立解決技法を受け入れて変更することができる。
【0059】
[0066] 他の例によれば、解決制御コンポーネント404は、対立解決処理設定を特定のポリシー・ソースから受けるように構成することができる。更に、解決制御コンポーネント404は、特定のポリシー・ソースと移動体デバイス102の信頼ポリシー・ソースとの間に確立された信頼を検出するように構成することができる。信頼ポリシー・ソースは、移動体デバイス102のオペレーティング・システムのソースであってもよいが、特許請求する主題はこれに限定されるのではない。更に、確立された信頼の検出に応答して、解決制御コンポーネント404は、対立解決処理設定に基づいて、ポリシーに対してポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を制御することができる。この例を続けると、確立された信頼がない場合、特定のポリシー・ソースのオーソリティ・レベルに基づいて、この特定のポリシー・ソースが、ポリシーのためにポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を制御するのを禁止してもよい。
【0060】
[0067] 更に、デバイス・ポリシー管理システム108は、ポリシーに対する対立を解決するためにポリシー・ハンドラー・コンポーネント120によって使用される所与の対立解決技法が、移動体デバイス102の望ましくない状態を生じさせるか否か検出するように構成された状態分析コンポーネント406も含むことができる。例えば、状態分析コンポーネント406は、動作不能状態、非安定状態、または非安全状態を検出することができる。これらの状態は、所与の対立解決技法の使用の結果生ずる(例えば、ディスプレイ上の文字の色を黒に設定する第1ポリシー・ソース、ディスプレイ上の背景色を黒に設定する第2ポリシー・ソース、閾値発生率(threshold percentage of occurrences)を超えて移動体デバイスがリセットされる結果となる、ポリシーに対するポリシー値の組み合わせ等)。解決制御コンポーネント404は、更に、所与の対立解決技法が望ましくない状態を生ずるか否かに基づいて、ポリシーに対してポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法を制御するように構成することができる。例えば、解決制御コンポーネント404は、状態分析コンポーネント406が所与の対立解決技法が望ましくない状態を生じないことを検出したことに基づいて、ポリシー・ハンドラー・コンポーネント120によって使用される対立解決技法として、所与の対立解決技法を維持することができる。更に、解決制御コンポーネント404は、状態分析コンポーネント406が、所与の対立解決技法が望ましくない状態を生ずることを検出したことに基づいて、所与の対立解決技法を変更して、異なる対立解決技法がポリシー・ハンドラー・コンポーネント120によって使用されるように構成することができる。加えてまたは代わりに、状態分析コンポーネント406は、更に、所与の対立解決技法が望ましくない状態を生ずることを検出したことに応答して、管理および/または監査サーバー(1つまたは複数)に警告するように構成することもできる。したがって、状態分析コンポーネント406は、移動体デバイス102のセキュリティを強化し、移動体デバイス102の信頼性を高めることができる。
【0061】
[0068] 状態分析コンポーネント406は、特定の対立解決が望ましくない状態を生ずるか否か検出するために、有効性判断を実行することができる。状態分析コンポーネント406によって実行される有効性判断は、複数の移動体デバイスから収集されたデーターに基づくことができる。例えば、収集されたデーターから傾向を検出して、望ましくない状態を判定することができる。このように、状態分析コンポーネント406は、ポリシーに対する対立を解決するためにポリシー・ハンドラー・コンポーネント120によって使用される所与の対立解決技法が移動体デバイス102の望ましくない状態を生ずるか否か評価するときに、望ましくない状態に関連する情報を使用することができる。
【0062】
[0069] 更に、状態分析コンポーネント406は、収集されたデーターを使用して、悪意のあるソースがポリシー・ソース(1つまたは複数)を目標にしているか否か、そしてポリシー・ソース・ターゲットを悪意で変更して、危険な状態を生ずるか否か検出することができる。加えてまたは代わりに、収集されたデーターを使用して、マルウェアを同様に検出することができる。
【0063】
[0070] ここで、図1図2、および図4を総合的に参照する。以下に示すのは、デバイス・ポリシー管理システム108によって管理することができる種々の例証的なポリシーである。
【0064】
【表1-1】
【0065】
【表1-2】
【0066】
[0071] 図5は、デバイス・ポリシー管理システムの例証的な実現例を示す。尚、図5に示すデバイス・ポリシー管理システムは、例証的な実現例として示されるのであり、特許請求する主題は図5において説明する例に限定されるのではないことは認められよう。図5において説明する例は、移動体デバイス102、MDMサーバー502、MDMサーバー504、メッセージング・サーバー506、およびメッセージング・サーバー508を含む。
【0067】
[0072] MDMサーバー502、MDMサーバー504、メッセージング・サーバー506、およびメッセージング・サーバー508は、デバイス・ポリシー管理システムに予め作られたそれぞれのアカウントを有することができる。アカウントは、例えば、サーバー名称、サーバー・アドレス、認証情報等のような情報と関連する文字列とすることができる。同様に、内部ポリシー・ソース・コンポーネントも、予め作られたアカウントを有することができる。更に、ポリシー・ソースは、ポリシー・ソース・タイプに依存してポリシーを設定するための異なる能力を有することができる。例えば、MDMサーバー502〜504によって制御することができる1組のポリシーは、メッセージング・サーバー506〜508によって、アプリケーションによって、デバイスUIを介して等で制御することができる1組のポリシーとは異なることが可能である。更に、異なるポリシー・ソースによって制御されるそれぞれの組におけるポリシーは、移動体デバイス102に関連する素因(例えば、移動体デバイス102のストレージにおけるコンポーネントまたはシステムの版(edition)またはライセンシング、移動体デバイス102のタイプ等)に基づいて異なることが可能であることが考えられる。
【0068】
[0073] セッションの間、ポリシー・ソース(例えば、MDMサーバー502、MDMサーバー504、メッセージング・サーバー506、メッセージング・サーバー508、デバイスUI、またはアプリケーション510等)は、構成マネージャ512を介してポリシーを設定することができる。ポリシー・ソースは、XML(拡張可能マークアップ言語)514をプロビジョニングすることができ、XML514を構成マネージャ512に供給することができる。これに応答して、構成マネージャ512は統一インターフェース・コンポーネント118をロードすることができる。統一インターフェース・コンポーネント118は、ポリシー・ソース特定のポリシー値を読み取る/書き込むため、および現ポリシー値を読み取るために使用することができる。ソースIDは、ポリシー・ソース特定の作成されたリソースおよび変更されたポリシー値を格納するために使用されるコール元プロセスによって設定される。統一インターフェース・コンポーネント118は、ポリシー・ソースのタイプに対応するポリシー・ハンドラー・コンポーネント120の部分をロードすることができる。
【0069】
[0074] 統一インターフェース・コンポーネント118は、ポリシー変更を実施(effectuate)しようとしているポリシー・ソースを識別することができる。統一インターフェース・コンポーネント118によって識別されたポリシー・ソースに対するポリシー・ハンドラー・コンポーネント120の関連部分をロードすることができ、ポリシー管理メタベース・ストア122の対応するポリシー・ストアに対してポリシー値の読み取りおよび書き込みを行うために使用することができる。
【0070】
[0075] ポリシー・ハンドラー・コンポーネント120は、ポリシー管理メタベース・ストア122における対応するソース・ポリシー・ストア(例えば、ハイブ(hive)に対するポリシー値の読み取り/書き込みを行うことができる。更に、ソース・ポリシー・ストアにおけるポリシー値の書き込みに応答して、ポリシー評価プロセスを実行することができる。ポリシー・ハンドラー・コンポーネント120は、現ポリシー値を現ポリシー・ストア516から読み出すためのポリシー・モジュールを含むことができる。更に、ポリシー・ハンドラー・コンポーネント120は、該当するソース・ポリシー・ストア518および520(例えば、ポリシー・ソースに対応する)に対するポリシー値の読み取り/書き込みを行うためのポリシー・ストア・モジュールを含むことができる。更に、デフォルト・ポリシー・ストア522におけるデフォルト・ポリシー値およびメタデーターの読み取り/書き込みを行うために、ポリシー・ハンドラー・コンポーネント120によってファースト・パーティ・ポリシー書き込みモジュールをサポートすることができる。更に、ポリシー・ハンドラー・コンポーネント120は、デフォルト・ポリシー・ストア522における各ポリシーに関連するメタデーターに基づくポリシー値の書き込み後に、ポリシー評価を実行することができる。一例として、メタデーター(例えば、対立解決技法)は、ポリシーが最も安全なポリシー併合(policy merge)でなければならない、または併合は必要とされないことを述べるのでもよい。例示として、ポリシーが併合なしモデル(no merge model)をサポートすることができ、この場合、ポリシー・ハンドラー・コンポーネント120は、ポリシーに対するポリシー値を併合しない。代わりに、ポリシー・ハンドラー・コンポーネント120は、得られた値の位置の指示を含む通知を送ることができ、この値は、アクセス可能とすることができ、問い合わせされたときに、現ポリシー値として戻すことができる。
【0071】
[0076] 尚、ポリシーをエリア毎に分けることができることが考えられる。例えば、以上で説明したポリシー例のリストでは、エリアの例は、デバイス・ロック、WiFi、システム、接続、体験、アカウント、セキュリティ、ブラウザ、更新、カメラ、およびアプリケーション管理を含む。ポリシー・ハンドラー・コンポーネント120は、変更されたポリシーを有するエリアにおけるファーストおよびセカンド・パーティ・プロセス524に通知を送る(provide)ことができる。更に、外部ポリシー・ソースが新たなポリシーを追加することができ、こうして、新たなポリシーが属するエリアを宣言できることは認められよう。このように、外部ポリシー・ソースは、このような新たなポリシーに対して、構成ソース、ポリシー値メタデーター等を分類することができる。
【0072】
[0077] ポリシー管理通知ハンドラー526は、ポリシー・ハンドラー・コンポーネント120からこの通知を受けることができる。更に、ファースト・パーティおよびセカンド・パーティ・コード528はポリシー値を設定させることができる。一例によれば、アンチリーク・ロック・コンポーネントは、ポリシー値を設定するコード528の一部であることが可能である。
【0073】
[0078] 図5に示したデバイス・ポリシー管理システムの例証的な実現例を更に詳しく説明するために、以下に種々のシナリオ例について説明する。尚、これらのシナリオは、例示の目的で示されるのであり、特許請求する主題はこれらには限定されないことは認められよう。
【0074】
[0079] シナリオ例1:移動体デバイス102はポリシーを管理するデバイス管理サーバーを有していないが、ファースト・パーティ・コンポーネントがポリシーを設定/取得する。
【0075】
[0080] このシナリオでは、移動体デバイス102は、ポリシー値を管理しているデバイス管理サーバーを有していない。これが意味するのは、移動体デバイス102が登録したMDMサーバー502〜504もメッセージング・サーバー506〜508もないということである。このシナリオでは、ファーストおよびセカンド・パーティ、デバイス上プロセス(first and second party, on-device processes)524がポリシー値を設定する。例えば、デバイス製造業者が、その製造業者に特定のポリシー値(1つまたは複数)を設定するコンポーネントを含ませたのでもよく、このようなポリシー値(1つまたは複数)は、オペレーティング・システムの組み込み(built-in)デフォルトを無効にすることができる。このようなコンポーネントは、取得/設定ポリシーと相互作用するプログラムであってもよく、またはオペレーティング・システム自体が、製造業者宣言ポリシー値を読み取りそして適用するプログラムを含むことができる。
【0076】
[0081] ファースト・パーティ・コンポーネントがポリシーを設定するとき、これらは、特定のポリシーを設定するために、ポリシー・ハンドラー・コンポーネント120からのエクスポート・モジュールを使用することができる。「設定」モジュールは、ポリシー値をデフォルト・ポリシー・ストア522に書き込み、ポリシー評価プロセスを開始し、現ポリシー値を現ポリシー・ストア516に保存する。デフォルト・ポリシー・ストア522だけがポリシー値を有するので、ポリシー評価プロセスは他のソース・ポリシー・ストア518〜520を監視してこれらに対して評価するが、このようなソース・ポリシー・ストア518〜520には他のポリシー値がないので、現ポリシー値は、デフォルト・ポリシー・ストア522からのポリシー値によって更新される。デフォルト・ポリシー・ストア522におけるポリシー値は、現ポリシー・ストア516にコピーされる。
【0077】
[0082] ポリシーを読み取るために、ファースト・パーティ・コンポーネントはポリシー・ハンドラー・コンポーネント120のモジュール(例えば、ポリシー・ハンドラー・コンポーネント536)を使用することができる。「設定」において説明したのと実質的に同様のポリシー評価が、「取得」についても行われ、こうして現ポリシー・ストア516におけるポリシー値を更新する。尚、現ポリシー・ストア516が、目標とするポリシーに対する値を格納していない場合、変更通知として、通知を発火する必要はないことを注記しておく。実際に、このようなポリシーは変化していない。更に、ポリシーはデフォルト・ポリシー・ストア522内にデフォルト値を有する。つまり、パッケージ(例えば、ポリシー管理構成サーバー・プロバイダ(CSP)538)はポリシーに対してデフォルト値を定めることができる。
【0078】
[0083] シナリオ例2:移動体デバイス102は1つ以上のメッセージング・サーバー506〜508および1つのMDMサーバー502に登録される。管理セッション中に、MDMサーバー502はポリシー値を設定する。
【0079】
[0084] このシナリオにしたがって、移動体デバイス102は複数のメッセージング・サーバー506〜508およびMDMサーバー502に登録される。登録の後、MDMサーバー502は、統一インターフェース・コンポーネント118を介して、「デバイス・パスワード・イネーブル」と呼ばれるポリシーを「0」の値に設定し、こうして、ユーザーにパスワードを入力させる。統一インターフェース・コンポーネント118は、ノード「デバイス・ロック」および「デバイス・パスワード・イネーブル」の各々を処理し、「デバイス・ロック」をエリアとして、そして「デバイス・パスワード・イネーブル」をポリシーとして書き留める(note)。
【0080】
[0085] 統一インターフェース・コンポーネント118は、ポリシー値を設定するポリシー・ハンドラー・コンポーネント120のポリシー管理ストア・モジュールをコールすることができる。内部ストア・モジュールにソースID、エリア、ポリシー名称、および値を入力することができる。ソースIDは、MDMサーバー502による移動体デバイス102の登録中に作られたオープン・モバイル・アライアンス(OMA)デバイス管理(DM)アカウントまたはメッセージング・サーバー・アカウントへの鍵となる。ソースIDは、OMA−DMセッション処理またはメッセージング・サーバー・セッション処理によって「OMADM::ServerID」と呼ばれるセッション変数に設定することができ、ポリシー・ハンドラー・コンポーネント120のポリシー管理ストア・モジュールをコールする前に、統一インターフェース・コンポーネント118によって引き出される。ソースID値がゼロ(0)のとき、ファーストまたはセカンド・パーティ・コンポーネントがこのモジュールをコールしていることを示すが、このシナリオではこれに該当しない。
【0081】
[0086] 一例によれば、ポリシー・ハンドラー・コンポーネント120のポリシー管理ストア・モジュールは以下を実行することができる。ポリシー・ハンドラー・コンポーネント120のこのような部分は、OMA DMアカウントに行くことによって、ソースIDが、NULLでないならば、有効であることを検証することができるが、それを捜すためにOMA DMモジュールに進む。発見されない場合、メッセージング・サーバー・アカウントを検索することができる。アカウントが発見されない場合、統一インターフェース・コンポーネント118にエラーが戻され、したがってこれはMDMサーバー502に戻される。尚、ソースIDがNULLである場合、ファースト・パーティ・コンポーネントによってこの方法がコールされることを注記しておく。また、メッセージング・サーバー・アカウントはグローバル・ユニーク識別子(globally unique identifier)をIDとして有し、これらはソースIDとして役割を果たすことが予期される。
【0082】
[0087] 更に、ポリシー・ハンドラー・コンポーネント120のポリシー管理ストア・モジュールは、ポリシーに関連するデフォルト・ポリシー・ストア522におけるメタデーターを使用することによって、ポリシー値の有効性を判断することができる。エラーが戻された場合、この結果は逆に統一インターフェース・コンポーネント118に伝搬され、したがって処理を終了する。更に、ポリシー・ハンドラー・コンポーネント120のこのような部分は、ポリシー値をポリシー管理メタベース・ストア122の該当するソース・ポリシー・ストアに書き込むことができる。
【0083】
[0088] 他の例によれば、エリアおよびポリシー名称をポリシー・ハンドラー・コンポーネント120のポリシー評価モジュールに入力することができる。ポリシー評価モジュールは、ソースID毎に、デフォルト・ポリシー・ストア522および種々のソース・ポリシー・ストア518〜520にわたって、所与のエリアおよびポリシー名称を列挙することができる。更に、デフォルト・ポリシー・ストア522に格納されているポリシー・メタデーターによって導かれて結果的に得られるポリシーを計算することができる。最終的に、ポリシー評価プロセスによって、意図した結果のポリシーが得られ、値は現ポリシー・ストア516に設定される。得られたポリシー値が、以前に現ポリシー・ストア516に格納されたものと異なる場合、ポリシー値が変更したことを示すフラグが戻され、更に、変更値(現ポリシー・ストア516における値)が任意に戻される。要求が成功した場合、ポリシー評価モジュールの変更パラメータをチェックして、通知を送るべきか否か判定することができる。更に、以上のステップの内いずれかが失敗した場合、変更は逆戻りされ、エラー値が戻される。
【0084】
[0089] 統一インターフェース・コンポーネント118は、変更フラグがセットされたか否か注意する。このフラグがセットされた場合、エリアが「変更エリア」の集合体に追加される。この集合体は、構成マネージャ512のトランザクションが完了を成功した後に、エリア毎通知を送るために使用される。登録されたポリシー管理通知ハンドラー(例えば、ポリシー管理通知ハンドラー526)は、この通知を受けたときに、このエリアの下にあるポリシーに対応する、設定されたビットを求めてペイロード(例えば、32ビット)を調べることができる。更に、ポリシー管理通知ハンドラーは、ポリシー値を読み取ることができる(例えば、ポリシー・ハンドラー・コンポーネント120の取得モジュールを使用して)。
【0085】
[0090] シナリオ例3:移動体デバイス102が、以前の管理セッションの間にポリシーを設定したMDMサーバー(例えば、MDMサーバー502)から離脱する。
[0091] このシナリオにしたがって、ポリシー・ソースが離脱するとき、離脱プロセス(532、534)が、削除すべきポリシーを引き出すことができる。ポリシーに対して、離脱コード534は、第1ポリシーを戻す、ポリシー・ハンドラー・コンポーネント120の第1ポリシー発見モジュールを使用することができる。次いで、このポリシーは、ポリシー・ハンドラー・コンポーネント120の現ポリシー削除モジュールによって削除され、このモジュールは、ソース・ポリシー・ストアからこのポリシーを削除し、シナリオ例2において説明したように、ポリシー評価を行う。このプロセスは、ポリシー・ハンドラー・コンポーネント120の次ポリシー発見モジュールを使用して得られる返却ポリシー(returned policy)のために実行することができる。
【0086】
[0092] シナリオ例4:移動体デバイス102がMDMサーバー502に登録され、MDMサーバー502は、それが構成したポリシーを問い合わせることを望む。
[0093] このシナリオによれば、ポリシーおよび対応する値のリストを、所与のエリアに対して、ポリシー・ソース毎に戻すことができる。例えば、ポリシー・ハンドラー・コンポーネント120の第1ポリシー発見モジュールおよび次ポリシー発見モジュールを、ソースIDと共に使用して、内部的にポリシー・ソースに対するポリシーを戻すことができる。
【0087】
[0094] シナリオ例5:移動体デバイス102がMDMサーバー502に登録され、MDMサーバー502は、ポリシー・ソースに関係なく、ポリシーを問いあわせることを望む。
【0088】
[0095] クエリーを使用することによって、併合ポリシー・ハイブにおけるエリアに対して、ポリシーおよび対応する値のリストを戻すことができる。一例によれば、ポリシー・ハンドラー・コンポーネント120の第1ポリシー発見モジュールおよび次ポリシー発見モジュールを、ソースIDと共に使用して、内部的にポリシー・ソースに対するポリシーを戻すことができる。
【0089】
[0096] シナリオ例6:移動体デバイス102が1つ以上のメッセージング・サーバー506〜508および1つのMDMサーバー502に登録され、メッセージング・サーバー506〜508およびMDMサーバー502は同時に1つのポリシーを設定しようとする。
【0090】
[0097] データーの完全性を保護するために、同期技法を採用することができる。更に、ポリシー管理メタベース・ストア122のポリシー・ストアはロックを有することができる。
【0091】
[0098] シナリオ例7:移動体動作管理サーバーが、管理セッション中に、統一インターフェース・コンポーネント118を介してポリシーを変更しようとする。
[0099] 構成マネージャ512は統一インターフェース・コンポーネント118をロードし、次いでノード・パスを処理することができる。異なるポリシー・ソースには、異なるポリシーに対して異なるレベルのアクセスを付与することができる。例えば、移動体動作管理サーバーは、接続関係ポリシーを構成する許可を有するが、電子メール関係ポリシーを構成する許可を有することができず、移動体動作管理サーバーの電子メール関係ポリシーを構成する試みは、アクセスが拒否される結果となる可能性がある。
【0092】
[00100] 種々の例によれば、ポリシー・アプリケーションを設けることができる。ポリシー・アプリケーションは、種々のポリシー・ストアのポリシーを表示するUIアプリケーションとすることができる。このアプリケーションは、ポリシー値の変更を可能にする(例えば、現ポリシー・ストア516以外のポリシー・ストアにおける)。種々の実施形態にしたがって、ポリシー評価プロセスは、望ましくはこのポリシー評価プロセスをどのように進めるべきかについて記載する、デフォルト・ポリシー・ストア522に格納されているメタデーターを使用して開始することができる。
【0093】
[00101] 更に一般的には、他のシナリオ例によれば、デバイス・ポリシー管理システムを使用して、混成環境においてポリシーを管理することができる。デバイス・ポリシー管理システムは、変更してこのデバイス・ポリシー管理システムに結び付けることができない既存のデバイス管理機能を既に有する旧来のシステムにおいて実行することもできる。デスクトップ・デバイスにおいてデバイス・ポリシー管理システムが実行しており、それが構成している設定が、複数のエージェント(直接レジストリーに書き込むデバイスにおけるアプリケーション、ドメイン加入によるアクティブ・ディレクトリー等)によって変更されるレジストリー・キーである場合もあるというシナリオについて検討する。この場合、デバイス・ポリシー管理システムは、元の設定に逆戻りすることを試し、それがもはや設定の唯一のオーソリティではないので、中断される(break)可能性がある。
【0094】
[00102] 以上で記したシナリオ例における以上のことに取り組むために、デバイス・ポリシー管理システムは設定を書き込む他のエージェントを監視することができる。例えば、デバイス・ポリシー管理システムはレジストリー変更通知を待ち受けることができる。それが構成した設定が他のエージェントによって変更された場合、デバイス・ポリシー管理システムは以下のことを行うことができる(が、もっと多い可能性がある)。(a)他の誰かが値を直接変更したために、コンポーネントが今後変更される可能性があることを検査する。(b)設定が「汚れている」こと、そして離脱の間に、デバイス・ポリシー管理システムはもはや設定をその元の値に逆戻りさせることができないことを認める。(c)最も確実な成功(win)および他の計算のために、その中核の「最良の成功」データーベース以外に織り込むべき追加のデーターがあることを認めて、追加の措置を講ずる。
【0095】
[00103] 図6および図7は、移動体デバイスにおけるポリシー管理に関する方法例を示す。これらの方法は、連続して実行される一連のアクトとして示されそして説明されるが、これらの方法は連続の順序(the order of the sequence)によって限定されないことは理解され認められよう。例えば、あるアクトは、ここで説明する順序とは異なる順序で現れることができる。加えて、あるアクトが他のアクトと同時に現れることもできる。更に、場合によっては、ここで説明する方法を実施するために、全てのアクトが必要ではない場合もある。
【0096】
[00104] 更に、ここで説明するアクトは、1つ以上のプロセッサーによって実現される、および/または1つまたは複数のコンピューター読み取り可能媒体に格納することができるコンピューター実行可能命令でもよい。コンピューター実行可能命令は、ルーチン、サブルーチン、プログラム、実行のスレッド等を含むことができる。更にまた、これらの方法のアクトの結果は、コンピューター読み取り可能媒体に格納すること、ディスプレイ・デバイス上に表示すること等が可能である。
【0097】
[00105] 図6は、移動体デバイスにおいてポリシーを管理する方法600を示す。602において、複数のポリシー・ソースからのポリシー構成要求を、移動体デバイスにおいて受けることができる。複数のポリシー・ソースは、移動体デバイスによって実行される少なくとも内部ポリシー・ソースおよび移動体デバイスに対して外部になるデバイス管理サーバーを含む。ポリシー構成要求は、少なくとも、第1ポリシー・ソースからの第1ポリシー構成要求と、第2ポリシー・ソースからの第2ポリシー構成要求とを含む。第1ポリシー構成要求は、ポリシーに対する第1ポリシー値を含み、第2ポリシー構成要求はこのポリシーに対する第2ポリシー値を含む。第1ポリシー・ソースは第2ポリシー・ソースとは異なり、第1ポリシー値は第2ポリシー値と対立する。604において、ポリシーに対する第1ポリシー値と第2ポリシー値との間の対立を、対立解決技法に基づいて解決することができる。対立は、移動体デバイスにおいて第1ポリシー・ソースと第2ポリシー・ソースとの間に信頼が確立されていなくても、解決することができる。606において、対立を解決したことに応答して、移動体デバイスを制御するポリシーに対する現ポリシー値を設定することができる。
【0098】
[00106] 図7に移ると、移動体デバイスにおいてポリシーを管理するために使用される対立解決技法を制御する方法700が示されている。702において、対立解決処理設定を特定のポリシー・ソースから受けることができる。704において、特定のポリシー・ソースからの対立解決処理設定およびこの特定のポリシー・ソースのオーソリティ・レベルに基づいて、ポリシーのための対立解決技法を制御することができる。706において、異なるポリシー・ソースによって与えられた異なるポリシー構成要求において指定された、ポリシーに対する異なるポリシー値間の対立を、対立解決技法に基づいて解決することができる。移動体デバイスを制御するポリシーに対する現ポリシー値を、対立解決技法を使用して、設定することができる。
【0099】
[00107] これより図8を参照すると、本明細書において開示したシステムおよび方法にしたがって使用することができる計算デバイス例800の上位図が示されている。例えば、計算デバイス800は移動体デバイス102でもよい。他の一例として、デバイス管理サーバー112〜114は計算デバイス800であってもよく、または計算デバイス800を含むのでもよい。計算デバイス800は、メモリー804に格納されている命令を実行する少なくとも1つのプロセッサー802を含む。命令は、例えば、以上で説明した1つ以上のコンポーネントによって実行されると説明した機能を実現するための命令、または以上で説明した方法の内1つ以上の実現するための命令であってもよい。プロセッサー802は、システム・バス806を介してメモリー804にアクセスすることができる。実行可能命令を格納することに加えて、メモリー804は、ポリシーに対するポリシー値、ポリシーに対するメタデーター(例えば、対立解決技法)、対立解決処理設定等を格納することもできる。
【0100】
[00108] 加えて、計算デバイス800は、システム・バス806を介してプロセッサー802によってアクセス可能なデーター・ストア808も含む。データー・ストア808は、実行可能命令、ポリシーに対するポリシー値、ポリシーに対するメタデーター(例えば、対立解決技法)、対立解決処理設定等を含むことができる。また、計算デバイス800は、外部デバイスが計算デバイス800と通信することを可能にする入力インターフェース810も含む。例えば、入力インターフェース810は、外部コンピューター・デバイスから、ユーザーから等で、命令を受けるために使用することができる。また、計算デバイス800は、計算デバイス800を1つ以上の外部デバイスとインターフェースする出力インターフェース812も含む。例えば、計算デバイス800は、出力インターフェース812を介して、テキスト、画像等を表示することができる。
【0101】
[00109] 尚、入力インターフェース810および出力インターフェース812を介して計算デバイス800と通信する外部デバイスが、ユーザーが対話処理することができる実質的に任意のタイプのユーザー・インターフェースを提供する環境に含まれることも可能であることが考えられる。ユーザー・インターフェース・タイプの例には、グラフィカル・ユーザー・インターフェース、自然ユーザー・インターフェース等が含まれる。例えば、グラフィカル・ユーザー・インターフェースは、キーボード、マウス、リモコン等のような入力デバイス(1つまたは複数)を採用するユーザーからの入力を受け入れて、ディスプレイのような出力デバイス上に出力を供給することができる。更に、自然ユーザー・インターフェースは、ユーザーが、キーボード、マウス、リモコン等のような入力デバイスによって強いられる制約から解放されて、計算デバイス800と対話処理することを可能にすることができる。代わりに、自然ユーザー・インターフェースは、音声認識、タッチおよびスタイラス認識、画面上および画面近傍の双方におけるジェスチャ認識、エア・ジェスチャ、頭部および眼球追跡、音声および会話(voice and speech)、視覚、タッチ、ジェスチャ、機械インテリジェンス等に頼ることができる。
【0102】
[00110] 加えて、1つのシステムとして例示したが、計算デバイス800は分散型システムであってもよいことは理解されよう。つまり、例えば、様々なデバイスがネットワーク接続によって通信することができ、計算デバイス800によって実行されると説明されたタスクを集合的に実行することができる。
【0103】
[00111] これより、種々の例について説明する。
[00112] 例1:移動体デバイスであって、少なくとも1つのプロセッサーと、この少なくとも1つのプロセッサーによって実行可能なデバイス・ポリシー管理システムを含むコンピューター読み取り可能ストレージとを含む。デバイス・ポリシー管理システムは、複数のポリシー・ソースからのポリシー構成要求を受けるように構成された統一インターフェース・コンポーネントを含む。複数のポリシー・ソースは、移動体デバイスの少なくとも1つのプロセッサーによって実行されるように構成された少なくとも1つの内部ポリシー・ソース・コンポーネントと、移動体デバイスに対して外部になるデバイス管理サーバーとを含む。ポリシー構成要求は、少なくとも、第1ポリシー・ソースからの第1ポリシー構成要求であって、ポリシーに対して第1ポリシー値を含む、第1ポリシー構成要求と、第2ポリシー・ソースからの第2ポリシー構成要求であって、このポリシーに対して第2ポリシー値を含む、第2ポリシー構成要求とを含む。第1ポリシー・ソースは第2ポリシー・ソースとは異なり、第1ポリシー値は第2ポリシー値と対立する。デバイス・ポリシー管理システムは、移動体デバイスを制御するポリシーに対して現ポリシー値を設定するために、対立解決技法に基づいて、ポリシーに対する第1ポリシー値と第2ポリシー値との間の対立を解決するように構成されたポリシー・ハンドラー・コンポーネントも含む。
【0104】
[00113] 例2:例1による移動体デバイスであって、第1ポリシー構成要求は、更に、第1ポリシー・ソースの識別子と、このポリシーを指定するインディケーターとを含み、第2ポリシー構成要求は、更に、第2ポリシー・ソースの識別子と、このポリシーを指定するインディケーターとを含む。第1ポリシー・ソースの識別子は、第2ポリシー・ソースの識別子とは異なる。
【0105】
[00114] 例3:例1〜2のいずれかによる移動体デバイスにおいて、ポリシー・ハンドラー・コンポーネントは、更に、移動体デバイスにおいて第1ポリシー・ソースと第2ポリシー・ソースとの間に信頼が確立されずに、ポリシーに対する第1ポリシー値と第2ポリシー値との間の対立を解決するように構成される。
【0106】
[00115] 例4:例1〜3のいずれかによる移動体デバイスにおいて、対立解決技法は、ポリシー・ソース・タイプに対してそれぞれのオーソリティ・レベルを指定し、ポリシー・ハンドラー・コンポーネントは、更に、対立解決技法を使用して、第1ポリシー・ソースの第1オーソリティ・レベルと第2ポリシー・ソースの第2オーソリティ・レベルとに基づいて、ポリシーに対して現ポリシー値を設定するように構成される。
【0107】
[00116] 例5:例4による移動体デバイスにおいて、対立解決技法は、ポリシーのグループに対して、ポリシー・ソース・タイプにそれぞれのオーソリティ・レベルを指定し、ポリシーのグループは前述のポリシーを含み、対立解決技法は、ポリシーを欠く異なるポリシーのグループに対して、ポリシー・ソース・タイプに異なるそれぞれのオーソリティ・レベルを指定する。
【0108】
[00117] 例6:例1〜5のいずれかによる移動体デバイスにおいて、第1ポリシー・ソースは、所与のオーソリティ・レベルを有する企業デバイス管理サーバーであり、対立解決技法は、所与のオーソリティ・レベルを有するポリシー・ソースがポリシーの現ポリシー値を設定することの禁止を指定し、第1ポリシー構成要求は、移動体デバイスの信頼ポリシー・ソースによって署名された署名付きポリシー構成要求であり、ポリシー・ハンドラー・コンポーネントは、更に、署名付きポリシー構成要求に基づいて、対立解決技法によって指定された禁止を無効にするように構成される。
【0109】
[00118] 例7:例1〜6のいずれかによる移動体デバイスにおいて、コンピューター読み取り可能ストレージは、更に、ポリシー管理メタベース・ストアを含み、ポリシー・ハンドラー・コンポーネントは、更に、統一インターフェース・コンポーネントから第1ポリシー構成要求および第2ポリシー構成要求を受け、ポリシーに対する第1ポリシー値をポリシー管理メタベース・ストアの第1ソース・ポリシー・ストアに書き込み、第1ソース・ポリシー・ストアが第1ポリシー・ソースに対応し、ポリシーに対する第2ポリシー値をポリシー管理メタベース・ストアの第2ソース・ポリシー・ストアに書き込み、第2ソース・ポリシー・ストアが第2ポリシー・ソースに対応し、対立解決技法を使用し、少なくとも第1ソース・ポリシー・ストアからの第1ポリシー値と第2ソース・ポリシー・ストアからの第2ポリシー値とに基づいて、ポリシーに対する現ポリシー値を決定し、ポリシーに対する現ポリシー値を、ポリシー管理メタベース・ストアの現ポリシー・ストアに書き込むように構成される。
【0110】
[00119] 例8:例1〜7のいずれかによる移動体デバイスにおいて、コンピューター読み取り可能ストレージは、更に、ポリシー管理メタベース・ストアを含む。ポリシー管理メタベース・ストアは、複数のポリシー・ソースに対するそれぞれのポリシー値を含む。更に、デバイス・ポリシー管理システムは、サンドボックス・セキュリティ・コンポーネントを含み、このサンドボックス・セキュリティ・コンポーネントは、第1ポリシー・ソースが第1ポリシー・ソースのための第1ソース・ポリシー・ストアにアクセスすることを許可し、第2ポリシー・ソースが第2ポリシー・ソースのための第2ソース・ポリシー・ストアにアクセスすることを許可し、第1ポリシー・ソースの第2ソース・ポリシー・ストアへのアクセスを制限し、第2ポリシー・ソースの第1ソース・ポリシー・ストアへのアクセスを制限するように構成される。
【0111】
[00120] 例9:例1〜8のいずれかによる移動体デバイスにおいて、デバイス・ポリシー管理システムが、更に、特定のポリシー・ソースから受けた対立解決処理設定とこの特定のポリシー・ソースのオーソリティ・レベルとに基づいて、ポリシーに対してポリシー・ハンドラー・コンポーネントによって使用される対立解決技法を制御するように構成された解決制御コンポーネントを含む。
【0112】
[00121] 例10:例1〜9のいずれかによる移動体デバイスにおいて、デバイス・ポリシー管理システムが、更に、解決制御コンポーネントを含む。この解決制御コンポーネントは、複数のポリシー・ソースの内2つ以上のそれぞれのオーソリティ・レベルに基づいて、複数のポリシー・ソースの内2つ以上から受けた対立解決処理設定間で調停を行って、選択対立解決処理設定を選び、この選択対立解決処理設定に基づいて、ポリシーのためにポリシー・ハンドラー・コンポーネントによって使用される対立解決技法を制御するように構成される。
【0113】
[00122] 例11:例1〜10のいずれかによる移動体デバイスにおいて、デバイス・ポリシー管理システムは、更に、解決制御コンポーネントを含む。この解決制御コンポーネントは、特定のポリシー・ソースから対立解決処理設定を受け、この特定のポリシー・ソースと、移動体デバイスの信頼ポリシー・ソースとの間で確立された信頼を検出し、確立された信頼の検出に応答して、対立解決処理設定に基づいて、ポリシーのためにポリシー・ハンドラー・コンポーネントによって使用される対立解決技法を制御するように構成される。
【0114】
[00123] 例12:例1〜11のいずれかによる移動体デバイスにおいてデバイス・ポリシー管理システムは、更に、ポリシーに対する対立を解決するためにポリシー・ハンドラー・コンポーネントによって使用される所与の対立解決技法が移動体デバイスの望ましくない状態を生ずるか否か検出するように構成された、状態分析コンポーネントと、解決制御コンポーネントとを含む。解決制御コンポーネントは、所与の対立解決技法が望ましくない状態を生ずるか否かに基づいて、ポリシーのためにポリシー・ハンドラー・コンポーネントによって使用される対立解決技法を制御し、所与の対立解決技法が望ましくない状態を生じないことを状態分析コンポーネントが検出したことに基づいて、所与の対立解決技法を対立解決技法として維持し、所与の対立解決技法が望ましくない状態を生ずることを状態分析コンポーネントが検出したことに基づいて、所与の対立解決技法を変更して対立解決技法になるように構成される。
【0115】
[00124] 例13:例1〜12のいずれかによる移動体デバイスにおいて、内部ポリシー・ソース・コンポーネントは、移動体デバイスの少なくとも1つのプロセッサーによって実行されるアプリケーション、または移動体デバイスのデバイス・ユーザー・インターフェースの内少なくとも1つを含む。
【0116】
[00125] 例14:例1〜13のいずれかによる移動体デバイスにおいて、複数のポリシー・ソースは、更に、移動体動作管理サーバーと、メッセージング・サーバーと、移動体デバイス管理サーバーとを含む。
【0117】
[00126] 例15:例1〜4のいずれかによる移動体デバイスにおいて、ポリシー・ハンドラー・コンポーネントは、更に、移動体デバイスが第1ポリシー・ソースから離脱したことに応答して、ポリシーに対する現ポリシー値を再評価するように構成される。
【0118】
[00127] 例16:移動体デバイスであって、少なくとも1つのプロセッサーと、この少なくとも1つのプロセッサーによって実行可能なデバイス・ポリシー管理システムを含むコンピューター読み取り可能ストレージとを含む。デバイス・ポリシー管理システムは、複数のポリシー・ソースからポリシー構成要求を受け、特定のポリシー・ソースから対立解決処理設定を受けるように構成された統一インターフェース・コンポーネントと、特定のポリシー・ソースからの対立解決処理設定とこの特定のポリシー・ソースのオーソリティ・レベルとに基づいて、ポリシーのための対立解決技法を制御するように構成された解決制御コンポーネントと、解決制御コンポーネントによって制御されるポリシーのための対立解決技法に基づいて、異なるポリシー・ソースによって与えられた異なるポリシー構成要求において指定されたポリシーに対する異なるポリシー値間の対立を解決し、対立解決技法を使用して移動体デバイスを制御するポリシーに対する現ポリシー値を設定するように構成されたポリシー・ハンドラー・コンポーネントとを含む。
【0119】
[00128] 例17:例16による移動体デバイスにおいて、解決制御コンポーネントは、更に、特定のポリシー・ソースからの対立解決処理設定と、少なくとも1つの全く異なるポリシー・ソースからの少なくとも1つの全く異なる対立解決処理設定との間で、それぞれのオーソリティ・レベルに基づいて調停を行い、ポリシーのための対立解決技法を制御するために使用される選択対立解決処理設定を選択するように構成される。
【0120】
[00129] 例18:例16〜17のいずれかによる移動体デバイスにおいて、解決制御コンポーネントは、更に、特定のポリシー・ソースと移動体デバイスの信頼ポリシー・ソースとの間において確立された信頼を検出するように構成され、確立された信頼を欠く特定のポリシー・ソースのオーソリティ・レベルに基づいて、この特定のポリシー・ソースが、ポリシーのためにポリシー・ハンドラー・コンポーネントによって使用される対立解決技法を制御することを禁止され、更に確立された信頼の検出に応答して、対立解決処理設定に基づいて、ポリシーのためにポリシー・ハンドラー・コンポーネントによって使用される対立解決技法を制御するように構成される。
【0121】
[00130] 例19:移動体デバイスにおいてポリシーを管理する方法であって、複数のポリシー・ソースからポリシー構成要求を受けるステップであって、複数のポリシー・ソースが、少なくとも、移動体デバイスによって実行される内部ポリシー・ソースと、移動体デバイスに対して外部になるデバイス管理サーバーとを含み、ポリシー構成要求が、少なくとも、第1ポリシー・ソースからの第1ポリシー構成要求であって、ポリシーに対する第1ポリシー値を含む、第1ポリシー構成要求と、第2ポリシー・ソースからの第2ポリシー構成要求であって、このポリシーに対する第2ポリシー値を含む、第2ポリシー構成要求とを含み、第1ポリシー・ソースが第2ポリシー・ソースとは異なり、第1ポリシー値が第2ポリシー値と対立する、ステップと、移動体デバイスにおいて第1ポリシー・ソースと第2ポリシー・ソースとの間に信頼が確立されずに、対立解決技法に基づいてポリシーに対する第1ポリシー値と第2ポリシー値との間の対立を解決するステップと、対立を解決したことに応答して、移動体デバイスを制御するポリシーに対して現ポリシー値を設定するステップとを含む。
【0122】
[00131] 例20:例19による方法であって、更に、ポリシーに対する対立を解決するために使用される対立解決技法を制御するステップを含む。
[00132] 本明細書において使用する場合、「コンポーネント」および「システム」という用語は、プロセッサーによって実行されるとある種の機能を実行させるコンピューター実行可能命令が構成されたコンピューター読み取り可能データー・ストレージを含むことを意図している。コンピューター実行可能命令は、ルーチン、関数等を含むことができる。また、コンポーネントまたはシステムは1つのデバイス上に配置されても、または様々なデバイスにわたって分散されてもよいことも理解されよう。
【0123】
[00133] 更に、本明細書において使用する場合、「例証的」(exemplary)という用語は、「あるものの例示または一例として役割を果たす」という意味であることを意図している。
【0124】
[00134] 本明細書において説明した種々の機能は、ハードウェア、ソフトウェア、またはこれらの任意の組み合わせで実現することができる。ソフトウェアで実現する場合、機能は、コンピューター読み取り可能媒体上の1つ以上の命令またはコードとして格納することまたは送信することができる。コンピューター読み取り可能媒体は、コンピューター読み取り可能記憶媒体を含む。コンピューター読み取り可能記憶媒体は、コンピューターによってアクセスすることができる任意の入手可能な記憶媒体とすることができる。一例として、そして限定ではなく、このようなコンピューター読み取り可能記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク・ストレージ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは命令またはデーター構造の形態で所望のプログラム・コードを格納するために使用することができ、コンピューターによってアクセスすることができる任意の他の媒体を含むことができる。ディスク(disk and disc)は、本明細書において使用する場合、コンパクト・ディスク(CD)、レーザ・ディスク、光ディスク、ディジタル・バーサタイル・ディスク(DVD)、フロッピー・ディスク、ブルーレイ・ディスク(BD)を含み、ディスク(disk)は通常データーを磁気的に再生し、ディスク(disc)は通常レーザを使用してデーターを光学的に再生する。更に、伝搬信号は、コンピューター読み取り可能記憶媒体の範囲には含まれない。また、コンピューター読み取り可能媒体は、1つの場所から他の場所へのコンピューター・プログラムの転送を容易にする任意の媒体を含む通信媒体も含む。例えば、接続は通信媒体となることができる。例えば、ソフトウェアがウェブサイト、サーバー、または他の離れたソースから、同軸ケーブル、光ファイバ・ケーブル、撚り線対、ディジタル加入者線(DSL)、あるいは赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバ・ケーブル、撚り線対、DSL、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、通信媒体の定義に含まれる。以上のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。
【0125】
[00135] あるいは、または加えて、本明細書において説明した機能は、少なくとも部分的に、1つ以上のハードウェア・ロジック・コンポーネントによって実行することができる。例えば、そして限定ではなく、使用することができる実証的なタイプのハードウェア・ロジック・コンポーネントには、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定プログラム集積回路(ASIC)、特定プログラム標準的製品(ASSP)、システム・オン・チップ・システム(SOC)、複合プログラマブル・ロジック・デバイス(CPLD)等が含まれる。
【0126】
[00136] 以上で説明したことには、1つ以上の実施形態の例が含まれる。勿論、以上のデバイスまたは方法の着想可能なあらゆる変更(modification)および変形(alteration)を、先に述べた態様を説明する目的で記載することは不可能であるが、種々の態様には多くの更に他の変更および置換が可能であることを、当業者は認めることができよう。したがって、説明した態様は、添付する請求項の主旨および範囲に該当する、このような変形、変更、および変種(variation)を全て包含することを意図している。更に、「含む」(includes)という用語が詳細な説明または特許請求の範囲において使用される限りにおいて、このような用語は、「含む」(comprising)という用語が請求項において移行性単語として採用されるときに「含む」が解釈されるときと同様に、包含的であることを意図している。
図1
図2
図3
図4
図5
図6
図7
図8