(58)【調査した分野】(Int.Cl.,DB名)
前記クライアント上に設けられたアプリケーションに関する情報を前記ネットワークから要求するステップと、前記要求された情報を取得するステップと、前記取得された情報を前記評価において利用するステップと、を更に含む、請求項1〜3のいずれか一項に記載の方法。
前記適用するステップは、アプリケーションの機能を規制するためのコマンド又はアプリケーションによってプレイされたコンテンツを規制するためのコマンドをアプリケーションへ送るステップを含む、請求項1〜5のいずれか一項に記載の方法。
前記クライアントデバイス上のパラメーターを動的に監視するステップと、前記クライアントデバイスが前記取得されたポリシーに適合しているか否かを評価するステップと、
前記ポリシーが満たされていない場合に修正アクションをとるステップと、を更に含む、
請求項1〜6のいずれか一項に記載の方法。
【背景技術】
【0002】
[0002] テレビ、電話端末、ゲーム機、及びコンピューターは、現代生活のほとんど全ての側面に影響を及ぼすようになってきている。そのような異種デバイス間の機能は混じり合いつつある。例えば、コンピューターは音声通信に使用することが可能であり、電話端末はアプリケーションを動かし、又はゲームをプレイするのに使用することが可能である。ますます増える機能とともに、管理やコントロールに対する必要性がますます増えてきている。例えば、親たちは、どのコンテンツを子供たちが視聴できるかとか、どれくらいの量のテキストメッセージを送信できるかとか、娯楽活動に使われる時間の量とかを、デバイスやクラウドのホスティング等にかかわらず、コントロールする能力を求めている。現在、ポリシー設定はそれぞれのデバイスに対して個別に設定しなければならず、そのことは設定を動的に変更することを困難なものとしている。そして更に、ポリシーは1つのデバイス上のそれぞれのアプリケーションに対して個別に設定可能であり、その結果、もし変更が望まれた場合には、おそらく数百の異なったポリシー設定に対するポリシー調整が行われなければならない。ホストサービスに加えて、スマートフォンやテレビ、PC、ゲームコンソールを含んだ一般的なサービスにアクセスするのに使用される数多くのデバイスタイプと共にこのことが増加していけば、すぐにやっかいな問題になるということが分かるだろう。
【0003】
[0003] グループポリシーは、同種のデバイス(例えば、全て同一のオペレーティングシステムを動かしている一群のコンピューター)にわたって存在してきており、現在のところ、Microsoft(R)Office(R)2010に用いられている。例えば、グループポリシーは、1又は複数の所望される構成又はポリシー設定を、一組の目標ユーザーと目標コンピューターに提供及び適用するのに用いられる基盤である。グループポリシー基盤は、グループポリシーエンジンといくつかの個別の機能拡張から成り立っている。これらの機能拡張は、セキュリティー設定、ソフトウェアのインストール、フォルダーリダイレクト、ブラウザーのメンテナンス、ワイヤレスネットワーク設定、及び他の領域向けに、レジストリーを変更する又はグループポリシー設定を設定することによって、グループポリシー設定を構成するのに利用される。グループポリシーのそれぞれの導入は、2つの機能拡張からなる。クライアントコンピューターに適用されるポリシー設定を定義し設定するのに用いられるサーバー側機能拡張と、ポリシー設定を適用するのにグループポリシーエンジンが呼び出すクライアント側機能拡張である。
【0004】
[0004] ポリシー設定はビジネス環境においては同種のデバイスにわたって確立されているけれども、ハードウェア、オペレーティングシステム、及び異なった又は類似の機能を実施する特有のアプリケーションからなる、特有の組み合わせによって形作られている様々な潜在的なプラットフォームを有した様々なデバイスタイプにわたって、ポリシー設定の柔軟性を向上させることに対する要求が、依然として存在している。
【0005】
[0005] したがって、ポリシー設定の柔軟性をデバイスタイプ、プラットフォーム、ユーザー、及び/又はアプリケーションにわたって向上させることが望まれる。
【発明を実施するための形態】
【0012】
[0020]
図1は、ネットワーク114を介して配信される包括的即ち統一ポリシーに通信可能に接続された、多数のユーザーデバイスタイプ110、112を有したシステム100を示している実施態様である。繰り返しの点116によって表されているように、任意の数のユーザーデバイスタイプ及びユーザーデバイスが使用可能である。ユーザーデバイスタイプは異なった種類であってよく、このことは、少なくともいくつかが他と違ったプラットフォームを有することを意味する。異なったプラットフォームは、いくつかのデバイスが、異なるオペレーティングシステムを動かし、異なるハードウェア構成を持ち、及び/又は異なる基本機能と用途を有するということを意味する。いくつかのデバイスタイプは、PC上でローカルに動作する仮想インスタンス、又は、クラウド内でホストされてリモート端末を通じてアクセスされる仮想インスタンスであってよい、ということが理解されるべきである。例示的な異種デバイスは、ゲーム機、電話端末、コンピューター、及びテレビを含む。仮想デバイス/アプリケーションは、コンソールエミュレーター及び仮想化オペレーティングシステムのインスタンスを含み、それらは例えば、Microsoft(R)Virtual PC及びMicrosoft(R)Virtual Serverだけでなく、VM Ware等の非Microsoft製品や、ブラウザー内でAdobe(R)FLASH又はSilverlight(R)によってホストされるウェブベースの電子メール及びゲーム等のクラウドサービスのインスタンスである。
【0013】
[0021] ネットワーク(例えばインターネット)114は、様々な異なるデバイス110、112向けの包括的ポリシー定義を格納することが可能である。ネットワークは、ポリシー情報を定義し、評価し、交換するための共通フレームワークを提供するポリシーサービスを確立する。以下で更に説明されるように、ポリシーサービスは、更に、それぞれの異なるデバイスが、定義されたポリシーに適合していない場合に自己修復即ち自動的にパラメーターや設定を調整することを可能にする。
【0014】
[0022] 本明細書において説明される機能を有したクライアントデバイスを実現するための数多くの手法が存在し、
図1は1つの例示的な解決策だけを提供している。デバイス110は、ポリシーサービス120を含んでおり、このポリシーサービス120は、ネットワークから包括的ポリシーステートメントを収集する。包括的ポリシーステートメントは、クライアントデバイスにおける制限、又はクライアントデバイス上で動作するアプリケーションにおける制限を含むことが可能であり、それは、例えば、1日当りの使用時間量や、操作の時間の量や、消費される電力又は消費率や、1秒当りの計算量や、1秒当りのトランザクションや、操作の日数(例えば週末のみ)又は1日に発生するアクションを制限するといったようなことである。特定のアプリケーションに依存して、他の制限が与えられることも可能である。例えば、電子メールは、大部分の時間がPC上で実行された場合には2時間だけ許可されることができるが、もし大部分の時間がタッチベースのキーボードを持つデバイス上で費やされたなら、入力スピードがより遅いと予想されるため、トータルで2.5時間まで延長されることができる。制限は、例えばブラウザーなど、アプリケーションのカテゴリーに置かれることも可能である。ポリシーは、デバイスの能力に基づいて変化することも可能である。例えば、電子メールをタイプするのにより多くの時間を要するクライアントアプリケーションは、より多くの時間を与えられることが可能である(例えば、スマートフォンは、より遅いタイピングスピードのために、コンピューターやタッチスクリーン電話端末よりも多くの時間を与えられることが可能である)。ポリシーサービス120は、包括的ポリシーステートメントをクライアントポリシーエンジン130へ渡すことが可能であり、クライアントポリシーエンジン130は、ソフトウェア、ハードウェア、又はそれらの組み合わせにより実現可能である。クライアントポリシーエンジン130は、包括的ポリシーステートメントを当該特定のデバイス110に適合させる。そのような適合は、クライアントデバイス自身から収集される情報を利用する。クライアントポリシーエージェント140は、クライアントデバイスのメモリー150から、アプリケーションの構成及び/又はオペレーティングシステムのコンポーネントといったような、クライアントの機能と使用を含む情報を収集する。クライアントポリシーエージェント140は、ユーザー識別情報160を収集して、それに基づいてクライアントデバイスに利用可能な機能を変更することも可能である。ユーザー識別情報は、典型的に資格情報を含んでおり、更に、操作の役割又はモード(例えば、仕事か遊びか、又は大人か子供か)、そして顔認識、指紋スキャン、声紋等といったバイオメトリックス識別確認情報さえ含むことが可能である。この識別確認情報の安全性は、アクセスの範囲を決定することが可能である。例えば、子供であれば、ユーザーネームとパスワードを打ち込むことは期待されないが、その代わりに、リストから彼らの写真を選択し、またオプションとして、デバイスのロックを解除するのに彼らが使っている画像や図形を選択することだろう。もしその子供が間違った画像を取ったとしても、デバイスは自身を消去することはない。しかしながら、もし親のアクセスが5回間違って入力されたら、デバイスは、全てのコンテンツを消去するようにプログラムされることが可能であるだろう。クライアントデバイス112は、クライアントデバイス110と類似の構成を有しているが、当該クライアントの特定のデバイスタイプに順応するように適合している。
【0015】
[0023] 以下の例は、ゲーム、ソーシャルネットワーク、及びインスタントメッセージのアプリケーションを3つのプラットフォームの何れかにおいて一晩につき午後5時から9時の間の2時間だけ許可することによってクライアントの機能を規制するポリシーを例証するものである。
【0016】
[0024] <?xml version="1.0" encoding="utf-8"?>
<Root>
<Policy platform="Game Station">
<Mode type="home">
<Access type="weekday">
<Start type="UTC-7">17:00:00</Start>
<Stop type="UTC-7">21:00:00</Stop>
<Quota>2:00:00</Quota>
</Access>
<Application>Games</Application>
<Application>Social Networking</Application>
<Application>Instant Messaging</Application>
</Mode>
</Policy>
<Policy platform="Phone">
<Mode type="home">
<Access type="weekday">
<Start type="UTC-7">17:00:00</Start>
<Stop type="UTC-7">21:00:00</Stop>
<Quota>2:30:00</Quota>
</Access>
<Application>Games</Application>
<Application>Social Networking</Application>
<Application>Browser</Application>
<Application>Instant Messaging</Application>
</Mode>
</Policy>
<Policy platform="PC">
<Mode type="home">
<Access type="weekday">
<Start type="UTC-7">17:00:00</Start>
<Stop type="UTC-7">21:00:00</Stop>
<Quota>2:00:00</Quota>
</Access>
<Application rating=”www.contoso.com/
youthgameratings/conservative/Age12.xml”>Games</Application>
<Application>Social Networking</Application>
<Application>Browser</Application>
<Application>Instant Messaging</Application>
</Mode>
【0017】
[0025] <Exception>xxx-xxx-xxxx </Application>
</Policy>
</Root>
【0018】
[0026]
図2は、クライアント200に付加されることが可能な追加機能と特徴を有した別の実施態様を示す。この例において、クライアントポリシーエンジン210は、ポリシーサービス212に接続されている。ポリシーサービスは、前述されたようにネットワーク(例えばインターネット)に接続されている。ネットワークから取得されたポリシー定義を格納するために、ポリシーキャッシュ214もポリシーサービス212とクライアントポリシーエンジン210に接続されることが可能である。ポリシー定義のキャッシュされたバージョンを使用することにより、クライアントは、オフライン中に汎用化ポリシーに従うことが可能になる。クライアントポリシーエンジン210に接続されたメモリー216も、ネットワークから取得されたアプリケーションに関する情報を格納するのに利用可能であり得る。そのような情報は、ポリシーサービス212又は他の手段を利用して取得可能である。例えば、220、222に示されているようなアプリケーションは、関係する年齢レーティングを有するゲームであり得る。年齢レーティングはネットワークから動的に取得可能であり、それによって、ポリシーに適合するように最新の年齢レーティング情報が取得可能である。このように、クライアント上のアプリケーションに関連した情報がネットワークから取得されて、ローカル即ちクライアント側のポリシー決定を行うのに利用されることが可能である。例えば、年齢レーティング以下の子供は、アプリケーションを動かすことができないようにすることが可能である。本発明は、親たちがポリシーの一部分を、彼らの文化的嗜好により一層合っているレーティング基準を有したサードパーティーの青少年ゲームレーティングシステムに委任する能力を含む。このことは、
図2においてPCゲームのレーティング属性に関して示されている。本発明は、
図2に示されるように例えばブラウザーのような、共通のシナリオを遂行するアプリケーションの一般的カテゴリー向けだけでなく、Flowerz(R)のような、グローバルに一意のURIを持つ特定のアプリケーション向けにポリシーを定義することを含んでいる、ということは理解されるべきである。特定のゲームのポリシーは、ユーザーがFlowerz(R)を動かすのを予め定められた時間に制限することが可能であるだろう。これに対して、ブラウザーの例は、インターネットをブラウズする能力を有している、デバイス上の全てのアプリケーションを制限することが可能であるだろう。更にまた、コンテンツのカテゴリーは、別のアプリケーション内でアクセス可能である。例えば、ユーザーがその日のある時間帯にビデオゲームをプレイすることを制限されている場合、たとえそのゲームがMacromedia Flash(R)又はSilverlight(R)のようなプラグインによってホストされているとしても、オペレーティングシステムがアクセスされるコンテンツに対してポリシーを適用するため、彼らはブラウザー内部からビデオゲームをプレイすることができない。同様に、音楽を明示的なコンテンツ警告で制限することが特定のユーザーに対して適用されるといったように、音楽の種類以外に、音楽へのアクセスが許可されることができる。最後に、ポリシーは、タイピングが本来的に遅いデバイス上での電子メールに対してより多くの時間を許容するといったように、デバイスの能力に基づいて調整可能である。
【0019】
[0027] クライアントポリシーエージェント230は、利用可能なアプリケーション220、222、クライアント機能232、234(例えばテキストメッセージ等のオペレーティングシステム制御の機能)、ユーザー識別情報及びユーザーモード240、並びに、日常の使用及び/又は活動についての情報242に関するクライアント側のデータを収集し、それらの情報をクライアントポリシーエンジンへ渡す。例えば、ログ242は、アプリケーション若しくはクライアント機能が使用された時間の量(例えばゲームが今日3時間プレイされた、又はブラウザーが2時間使用された)、又は機能が使用された回数(例えば10個のテキストメッセージが送信された、又は10個の電子メールが送信された)を追跡することが可能である。この情報の何れもが、クライアントデバイス200を現在のポリシーに適合させるのに利用可能である。クライアントポリシーエンジンは、収集された情報を利用して、クライアントをポリシーに適合させるのに必要なインテリジェントな決定を行うことが可能である。アプリケーション220、222は異なった種類(例えば、ゲーム、地図アプリケーション、ワープロ等)であってよく、クライアント機能232、234は異なった種類のオペレーティングシステム機能であってよい、ということも留意されるべきである。最後に、ポリシーエンジンは、要求元が一時的なオーバーライドを得るためにポリシー管理者にコンタクトできるようにする、例外要求機能を処理することが可能である。このことは、
図2において例外エレメントによって示されている。このシステムでは、ユーザーが電子メールに対してより多くの時間を必要とした場合、彼らは、もっと多くの時間を要求するテキストメッセージを親の電話番号へ発行することが可能であるだろう。要求したサービスに対する親からの応答によって、ルールに対する例外がデバイス上で発生することになるだろう。
【0020】
[0028]
図3は、上記説明された技術を実現可能である好適なコントローラー300の一般化された例を表している。上記技術は多様な汎用又は専用コンピューティング環境において実現可能であるので、このコントローラーは、使用又は機能の範囲に関して如何なる限定も示唆することを意図するものではない。
【0021】
[0029]
図3を参照して、コントローラー300は、メモリー320に接続された少なくとも1つの処理ユニット310(例えば、シグナルプロセッサー、マイクロプロセッサー、ASIC、又は他の制御及び処理論理回路)を含むことが可能である。処理ユニット310は、コンピューター実行可能命令を実行し、実際のプロセッサー又は仮想のプロセッサーであり得る。メモリー320は、揮発性メモリー(例えば、レジスター、キャッシュ、RAM)、不揮発性メモリー(例えば、ROM、EEPROM、フラッシュメモリー、PCM又はPRAMとして知られる相変化メモリー等)、又はこれら2つの何らかの組み合わせであり得る。メモリー320は、本明細書において説明される技術のうち任意のものを実装したソフトウェア380を格納可能である。
【0022】
[0030] コントローラーは、付加的な特徴を有することができる。例えば、コントローラーは、ストレージ340、1又は複数の入力デバイス350、1又は複数の出力デバイス360、及び1又は複数の通信接続370を含むことが可能である。バス又はネットワークといった相互接続メカニズム(不図示)がこれらのコンポーネントを相互接続する。典型的に、オペレーティングシステムソフトウェア(不図示)が、コントローラー内で実行中の他のソフトウェアに動作環境を提供し、コントローラーのこれらのコンポーネントの活動を調整する。
【0023】
[0031] ストレージ340はリムーバブル又は非リムーバブルであってよく、磁気ディスク、磁気テープ若しくはカセット、フラッシュメモリー、PCM、ソリッドステートハードドライブ(SSHD)、CD−ROM、CD−RW、DVD、又は、情報を格納するのに利用可能でありコントローラー内部でアクセス可能な任意の他のコンピューター読み取り可能媒体を含むことが可能である。ストレージ340は、血管壁内のカテーテル位置に関係した血管壁アーティファクトを検出するための命令を収容しているソフトウェア380を格納することが可能である。
【0024】
[0032] 入力デバイス350は、キーボード、マウス、ペン、若しくはトラックボールといったようなタッチ入力デバイス、音声入力デバイス、走査型デバイス、又は別のデバイスであり得る。出力デバイス360は、ディスプレイ、プリンター、スピーカー、CDライター若しくはDVDライター、又はコントローラーから出力を供給する別のデバイスであり得る。ある入力/出力デバイス、例えばタッチスクリーンは、入力機能と出力機能の両方を含むことができる。
【0025】
[0033] 通信接続370は、通信メカニズムを介した別のコンピューティングエンティティーとの通信を可能にする。通信メカニズムは、コンピューター実行可能命令、音声/映像若しくは他の情報、又は他のデータ等の情報を伝送する。限定ではなく例として、通信メカニズムは、電気的、光学的、RF、マイクロ波、赤外線、音波、若しくは他の搬送波で実現される、有線又は無線手法を含む。
【0026】
[0034]
図4は、本明細書において説明される、多数の異種デバイスタイプにわたってポリシーサービスを実現するためのフローチャートである。処理ブロック410において、ポリシー定義がネットワークから取得される。概して、ポリシー定義は、インターネットに接続されたサーバーコンピューター上に格納されている。このポリシー定義は包括的なものであることが可能であり、これは、ポリシー定義がデバイスタイプ即ち特定のプラットフォームに対して特別に適合されてはいないということを意味している。結果として、ポリシー定義は、例えばゲームコンソール、電話端末、テレビ、パーソナルコンピューター等の様々なデバイスタイプに適用可能である。処理ブロック420において、クライアント側のポリシーエンジンが、ポリシー定義をクライアントデバイスにおける機能と比較することによって、ポリシー定義を評価する。初めに、クライアントのプラットフォームに一致するプラットフォームステートメントを求めてポリシー定義が検索される。例えば、クライアントがゲーム機である場合、ゲーム機に関連するポリシーステートメントを求めてポリシーステートメントが検索される。一致するプラットフォームが発見されると、関連するサブポリシーステートメントがポリシー定義から抽出可能である。例えば、モードタイプ、アクセスタイプ、開始及び終了時間、時間クォータ、アクセス可能な特定のアプリケーションタイプ(例えば、ゲーム、ソーシャルネットワーキング、及びブラウザー)、及び特定の機能が全て、ポリシーステートメントから読み取られ、現在の活動ログ、利用可能なアプリケーション、ユーザー識別情報等を用いることによって、クライアントデバイス上で利用可能な現在の機能と比較されることが可能である。処理ブロック430において、ポリシーエンジンが、クライアント上で利用可能な機能をポリシーに適合するように変更することによって、ポリシー定義を適用することが可能である。ポリシーを適用するための数多くの手法が存在する。例えば、ポリシーエンジンは、起動時に評価を実施して、ユーザーが操作を試みた時にアプリケーション又はオペレーティングシステムによってアクセスするためにメモリーに結果を格納することが可能である。あるいはまた、操作が試みられる度に、ポリシーエンジンは、キャッシュされている又はネットワークから再度引き出される現在のポリシー設定に基づいて、新たに評価を実施することが可能である。その後、ポリシーエンジンは、クライアントデバイスの機能を変更するために所望の機能が許可され又はブロックされるように、アプリケーション又はオペレーティングシステムを制御又は命令することが可能である。
【0027】
[0035]
図5は、
図4の評価処理ブロック420の間に実施可能な1又は複数の処理ブロックを示している方法のフローチャートである。利用可能なアプリケーションタイプ、クライアント機能、及び設定を読み取るクライアントポリシーエージェントを用いて、クライアントデバイス上における機能が決定されることが可能である。加えて、以下に説明される更なる情報の何れも、利用可能な機能を決定するのに用いられることが可能である。処理ブロック510において、ユーザー識別情報及び/又はユーザーモードがメモリーから取得される。ユーザー識別情報は、典型的に、ログイン資格情報に関連している。ポリシーエンジンは、異なるユーザーに対して異なるポリシーを適用することが可能である。例えば、13歳以上の子供は、R指定映画ではなくPG−13映画を鑑賞することを承認されることができるが、一方、13歳未満の子供は承認不可能である。加えて、ユーザーモードが考慮されることが可能である。例えば、仕事モードにある人は、遊びモードにある場合とは異なる連絡先リストをアプリケーションに提示してもらうことができる。このように、アプリケーション及びユーザーインターフェースの設定は、ユーザーモードに基づいて変化することが可能である。処理ブロック520において、ユーザーによって使用されているアプリケーション又は機能についての時間及び/又は活動に関するデータが取得されることが可能である。前述されたように、活動ログがそのようなデータを格納することが可能である。例えば、ユーザーは、1日当り一定の時間に制限されることが可能である。活動ログから取得された時間データは、1日の間にアプリケーションがどのくらいの時間アクティブであったかの累計であり得る。同様に、活動データは、例えばいくつのテキストメッセージが24時間の期間内に送信されたかといったように、あるイベントが何回発生したかを示すことが可能である。このように、活動ログを用いて、クライアント上におけるパラメーターが、自動で且つ動的に監視されることが可能である。加えて、使用の量が利用可能な機能に影響を及ぼすことが可能である。処理ブロック530において、アプリケーションに関連する情報がネットワークから取得されることが可能である。こうして、クライアント上の特定のアプリケーションが識別可能であり、そのような識別がネットワークへ送られることが可能である。これに応答して、ネットワークは、そのアプリケーションに関連付いたポリシーベースの情報を、ポリシー決定処理に取り入れるためにクライアントへ返送することが可能である。
【0028】
[0036]
図6は、
図4の処理ブロック430を更に詳しく説明している方法のフローチャートを示す。アプリケーション又はオペレーティングシステム上においてポリシーを適用するための数多くの手法が存在し、
図6はいくつかの可能性を提供している。処理ブロック610において、ポリシーへの適合性を確実にするためのコマンドが、アプリケーション又はオペレーティングシステムへ送られる。このように、例えば、アプリケーションは、ポリシーエンジンからコマンドを取得し、そのコマンドを実行することが可能である。コマンドが取得されると、アプリケーションは、変更があるまでそのコマンドを順守する。例示的なコマンドは、アプリケーションの特徴的機能をブロックすることを含むことが可能である。処理ブロック620は、ポリシーエンジンが、例えばオペレーティングシステムのコア機能等の機能を更にブロックすることが可能であることを示す。例えば、ポリシーエンジンは、テキストメッセージを送信する能力をブロックしたり、又は制限されたアプリケーションに関連付けられたアイコンを一時的に削除したりすることが可能である。
【0029】
[0037]
図7は、あるユーザーアカウントに関連付けられている1つの異種デバイス710が、包括的ポリシー定義をネットワーク720へアップロードし、そのポリシー定義を、何れも同一のユーザーアカウントに関連付けられている他の異種デバイス730及び同種デバイス740に対してプッシュしてもらうことが可能である、ということを表しているシステム図を示す。ポリシー定義は、クライアントデバイス上の様々なポリシーサービスモジュールと通信するサーバー750に格納可能である。したがって、親は、携帯電話端末を使用して同一アカウントの全ての異種デバイス及び同種デバイスにわたって遠隔且つ自動でポリシー設定を変更し、彼らの子供たちの携帯電話端末、ゲーム機若しくはテレビ、及び/又はコンピューターの機能を規制することが可能である。
【0030】
[0038]
図8は、
図7のシステムを実現するための方法のフローチャートである。処理ブロック810において、同じアカウント(例えば家族アカウント)に紐付けられたグループに含まれるデバイスの1つが、ネットワーク上に格納されているポリシー設定を更新することが可能である。処理ブロック820において、このポリシー設定は、同一アカウント内の他のクライアントデバイスへ自動で配信される。こうして、ユーザーによって、ポリシーの更新が動的且つ自動で制御され配信されることが可能である。
【0031】
[0039]
図9は、異種デバイスにわたって包括的ポリシーを適用するように実現可能な方法の更なる詳細を示すフローチャートである。処理ブロック910において、クライアントデバイスが、電源投入の際、例えば起動プロセス中に、ネットワークから包括的ポリシーをダウンロードする。処理ブロック920において、ポリシーエンジンが、プラグインのステータス及び他の設定に基づいて、クライアントデバイスの状態を評価する。処理ブロック930において、ポリシーエンジンが、ローカル評価及び/又は自己回復を実施し、これは、ポリシーに適合していない如何なるアプリケーション又は機能も、ブロックされあるいは他の方法で無効化されるということを意味する。処理ブロック940において、エラーが発生したこと又は自己回復が完了したことを示すメッセージがネットワークへ送信される。処理ブロック950において、結果としてのポリシー評価が使用されてから、デバイスがローカルリソース及びネットワークリソース(例えば、会社のネットワーク、インターネット、及び、メッセージ送信やVoice over IP技術のようなインターネットを利用するアプリケーション)にアクセスする。
【0032】
[0040] 開示された方法のいくつかについての動作は便宜的な説明のために特定の連続した順序で述べられているけれども、以下に記載された具体的な言葉によって特定の順序付けが要求されない限り、この説明のやり方は再配列を包含しているということは理解されるべきである。例えば、連続的に説明された動作は、ある場合においては、同時的に再配列又は実施されることができる。その上、簡単化のために、添付図は、開示された方法が他の方法と一緒に使用可能である様々なやり方を示していない場合がある。
【0033】
[0041] 開示された方法の何れもが、1又は複数のコンピューター読み取り可能記憶媒体(例えば、1又は複数の光媒体ディスク、(DRAMやSRAMのような)揮発性メモリーコンポーネント、又は(ハードドライブのような)不揮発性メモリーコンポーネント等の、非一時的なコンピューター読み取り可能媒体)上に格納されたコンピューター実行可能命令として実装可能であり、コンピューター(例えば、スマートフォンやコンピューティングハードウェアを内包した他のモバイルデバイスを含む、任意の商業的に入手可能なコンピューター)上で実行可能である。開示された手法を実現するための任意のコンピューター実行可能命令だけでなく、開示された実施態様の実現の際に生成され使用される任意のデータも、1又は複数のコンピューター読み取り可能媒体(例えば非一時的なコンピューター読み取り可能媒体)上に格納可能である。コンピューター実行可能命令は、例えば、専用のソフトウェアアプリケーション、ウェブブラウザーによってアクセス若しくはダウンロードされるソフトウェアアプリケーション、又は(リモートコンピューティングアプリケーション等の)他のソフトウェアアプリケーションの一部分であり得る。そのようなソフトウェアは、例えば、1つのローカルコンピューター(例えば任意の好適な商業的に入手可能なコンピューター)上において実行可能であり、又は、1又は複数のネットワークコンピューターを利用して、ネットワーク環境において(例えば、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、(クラウドコンピューティングネットワークのような)クライアントサーバーネットワーク、若しくは他のそのようなネットワークを介して)実行可能である。
【0034】
[0042] 明瞭性のために、ソフトウェアベースの実装の選択されたある側面のみが説明される。当該分野においてよく知られているその他の詳細は省略されている。例えば、開示された技術は、如何なる特定のコンピューター言語やプログラムにも限定されない、ということは理解されるべきである。例えば、開示された技術は、C++、Java(登録商標)、Perl、JavaScript(登録商標)、Adobe Flash、又は任意の他の好適なプログラミング言語で記述されたソフトウェアによって実装可能である。同様に、開示された技術は、如何なる特定のコンピューター又はハードウェアタイプにも限定されない。好適なコンピューター及びハードウェアのある詳細はよく知られており、本開示において詳しく記載されることを要しない。
【0035】
[0043] 更にまた、(例えばコンピューターに任意の開示された方法を実施させるためのコンピューター実行可能命令を備えた)ソフトウェアベースの実施態様の何れもが、アップロードされ、ダウンロードされ、又は好適な通信手段を通じてリモートアクセスされることが可能である。そのような好適な通信手段は、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、(光ファイバーケーブルを含む)ケーブル、磁気通信、(RF、マイクロ波、及び赤外線通信を含む)電磁気通信、電子通信、又は他のそのような通信手段を含む。
【0036】
[0044] 開示された方法、装置、及びシステムは、如何なるやり方であっても限定的であると解されるべきではない。それどころか、本開示は、様々な開示された実施態様の、単独の形による、並びに、相互に様々な組み合わせ及びサブコンビネーションの形による、あらゆる新規且つ非自明な特徴及び側面に向けられている。開示された方法、装置、及びシステムは、如何なる特定の側面、特徴、又はそれらの組み合わせにも限定されず、また、開示された実施態様は、何らかの1又は複数の特定の利点が存在し、又は問題が解決するということを要しない。
【0037】
[0045] 開示された発明の原理が適用され得る多くの可能な実施態様を考慮して、説明された実施態様は発明の好ましい例に過ぎず、発明の範囲を限定するものとみなされるべきではない、ということが認識されるべきである。そうではなく、発明の範囲は、引き続いて述べるクレームによって画定される。我々は、したがって、当該クレームの範囲内に入る全てのものを、我々の発明として主張する。