(57)【特許請求の範囲】
【請求項１】
クライアントデバイス上でポリシーを適用する方法であって、
クライアントデバイスにおいてネットワークからポリシー定義を取得するステップであって、前記ポリシー定義は異なるハードウェア及びソフトウェアプラットフォームを有する異種デバイスタイプに適用可能な包括的定義である、ステップと、
前記取得されたポリシー定義を、前記クライアントデバイス上に設けられたクライアントポリシーエンジンにおいて、前記クライアントデバイス上で利用可能な使用又は機能と比較することによって評価するステップであって、前記評価は、ユーザーが前記クライアントデバイスを利用するモードに基づく評価を含み、前記モードは仕事と遊びで切り換え可能であるステップと、
前記クライアントデバイス上で利用可能な前記機能を前記評価に基づいて変更することによって前記ポリシーを適用するステップであって、前記クライアントポリシーエンジンが前記包括的ポリシー定義を前記クライアントデバイス上の特定のプラットフォームに適合させる、ステップであって、前記評価は前記モードを含むステップと、
を含む方法。
【請求項２】
前記評価は、ユーザーの識別情報を決定するステップと、利用可能な前記機能を前記ユーザー識別情報に基づいて変更するステップとを含む、請求項１に記載の方法。
【請求項３】
前記モードは、更に、大人と子供、オブザーバーと編集者、のうちの１又は複数の間で切り換え可能である、請求項１又は２に記載の方法。
【請求項４】
前記クライアント上に設けられたアプリケーションに関する情報を前記ネットワークから要求するステップと、前記要求された情報を取得するステップと、前記取得された情報を前記評価において利用するステップと、を更に含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
異種クライアントデバイスにわたって前記ポリシーを配信するために前記ネットワークへ送信されたポリシー更新を取得するステップを更に含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記適用するステップは、アプリケーションの機能を規制するためのコマンド又はアプリケーションによってプレイされたコンテンツを規制するためのコマンドをアプリケーションへ送るステップを含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記クライアントデバイス上のパラメーターを動的に監視するステップと、前記クライアントデバイスが前記取得されたポリシーに適合しているか否かを評価するステップと、
前記ポリシーが満たされていない場合に修正アクションをとるステップと、を更に含む、
請求項１〜６のいずれか一項に記載の方法。
【請求項８】
請求項１〜７のいずれか一項に記載の方法を実行するためのプログラム。
【請求項９】
請求項１〜７のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【請求項１０】
クライアントデバイス上でポリシーを適用するための装置であって、
ポリシー定義をネットワークから取得するためのポリシーサービスクライアントと、
使用ログを含む、前記クライアントデバイスに関する情報を収集するためのクライアントポリシーエージェントと、
前記ポリシーサービスクライアントと前記クライアントポリシーエージェントの両方に接続され、前記ポリシーサービスクライアントからの前記ポリシー定義と前記クライアントポリシーエージェントからの前記情報を取得し、前記クライアントデバイス上で利用可能な機能が前記ポリシー定義に適合しているか否かを決定するための、クライアントポリシーエンジンであって、前記クライアントデバイス上で利用可能な機能が前記ポリシー定義に適合しているか否かの決定は、ユーザーが前記クライアントデバイスを利用するモードに基づく決定を含み、前記モードは仕事と遊びで切り換え可能であるクライアントポリシーエンジンと、
を備える装置。 
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、概してポリシー管理に関し、より詳しくは、異種デバイスタイプにわたってポリシーを管理することに関する。
【背景技術】
【０００２】
[0002]  テレビ、電話端末、ゲーム機、及びコンピューターは、現代生活のほとんど全ての側面に影響を及ぼすようになってきている。そのような異種デバイス間の機能は混じり合いつつある。例えば、コンピューターは音声通信に使用することが可能であり、電話端末はアプリケーションを動かし、又はゲームをプレイするのに使用することが可能である。ますます増える機能とともに、管理やコントロールに対する必要性がますます増えてきている。例えば、親たちは、どのコンテンツを子供たちが視聴できるかとか、どれくらいの量のテキストメッセージを送信できるかとか、娯楽活動に使われる時間の量とかを、デバイスやクラウドのホスティング等にかかわらず、コントロールする能力を求めている。現在、ポリシー設定はそれぞれのデバイスに対して個別に設定しなければならず、そのことは設定を動的に変更することを困難なものとしている。そして更に、ポリシーは１つのデバイス上のそれぞれのアプリケーションに対して個別に設定可能であり、その結果、もし変更が望まれた場合には、おそらく数百の異なったポリシー設定に対するポリシー調整が行われなければならない。ホストサービスに加えて、スマートフォンやテレビ、ＰＣ、ゲームコンソールを含んだ一般的なサービスにアクセスするのに使用される数多くのデバイスタイプと共にこのことが増加していけば、すぐにやっかいな問題になるということが分かるだろう。
【０００３】
[0003]  グループポリシーは、同種のデバイス（例えば、全て同一のオペレーティングシステムを動かしている一群のコンピューター）にわたって存在してきており、現在のところ、Ｍｉｃｒｏｓｏｆｔ（Ｒ）Ｏｆｆｉｃｅ（Ｒ）２０１０に用いられている。例えば、グループポリシーは、１又は複数の所望される構成又はポリシー設定を、一組の目標ユーザーと目標コンピューターに提供及び適用するのに用いられる基盤である。グループポリシー基盤は、グループポリシーエンジンといくつかの個別の機能拡張から成り立っている。これらの機能拡張は、セキュリティー設定、ソフトウェアのインストール、フォルダーリダイレクト、ブラウザーのメンテナンス、ワイヤレスネットワーク設定、及び他の領域向けに、レジストリーを変更する又はグループポリシー設定を設定することによって、グループポリシー設定を構成するのに利用される。グループポリシーのそれぞれの導入は、２つの機能拡張からなる。クライアントコンピューターに適用されるポリシー設定を定義し設定するのに用いられるサーバー側機能拡張と、ポリシー設定を適用するのにグループポリシーエンジンが呼び出すクライアント側機能拡張である。
【０００４】
[0004]  ポリシー設定はビジネス環境においては同種のデバイスにわたって確立されているけれども、ハードウェア、オペレーティングシステム、及び異なった又は類似の機能を実施する特有のアプリケーションからなる、特有の組み合わせによって形作られている様々な潜在的なプラットフォームを有した様々なデバイスタイプにわたって、ポリシー設定の柔軟性を向上させることに対する要求が、依然として存在している。
【０００５】
[0005]  したがって、ポリシー設定の柔軟性をデバイスタイプ、プラットフォーム、ユーザー、及び／又はアプリケーションにわたって向上させることが望まれる。
【発明の概要】
【０００６】
[0006]  ２以上の異種クライアントデバイス、又は仮想化デバイスのクラウドベースインスタンスにわたって、１組の標準化されたポリシーベースの振る舞いを適用するためのシステム及び方法が開示される。クライアント側ポリシーエンジンは当該クライアントに関わるプラットフォーム固有の詳細を解釈し実現するが、ポリシー定義は、期待される振る舞いの共通な記述であり得る。
【０００７】
[0007]  一実施態様において、クライアントデバイスは、ネットワークから包括的ポリシー定義を取得する。包括的ポリシー定義は、異なるハードウェア及び／又はソフトウェアプラットフォームを有する異種デバイスタイプに適用可能である。クライアントポリシーエンジンは、包括的ポリシー定義を分析し、それをクライアント側アプリケーション又は機能と比較し、当該特定のクライアントに対してポリシーをどのように適用するかについてインテリジェントな決定を行うことが可能である。
【０００８】
[0008]  別の実施態様において、クライアントポリシーエンジンは、ユーザーの識別情報及び／又はユーザーの役割（例えば、仕事、遊び、大人、子供、オブザーバー、編集者、管理者）を考慮することが可能である。加えて、クライアントデバイスのごく近い将来における活動についての決定を行うためにクライアントポリシーエンジンによって分析及び利用可能な、活動ログが保持されることが可能である。ポリシー適用のいくつかの例は、エンターテインメントを見るのに費やされた時間、又は送信されたテキストメッセージ及び電子メールの数を追跡すること、及び、そのようなパラメーターがポリシーの閾値を超えた場合に全てのデバイスにわたってクライアントデバイス又はアプリケーションのクラスを制限することを含む。
【０００９】
[0009]  別の実施態様において、例えば同一のアカウント上に存在しているグループ、又は同一の家族からのグループに紐付けられているクライアントデバイスを用いて、ポリシー設定がリモートで制御されることが可能である。変更されたポリシー設定は、その後、当該グループの他の異種クライアントデバイスへプッシュされることが可能である。例えば、親は携帯電話端末を用いてポリシー設定を変更可能であり、そのポリシー設定は、その後、ゲームコンソールに対してプッシュされて、子供のプレイ時間を制限するだけでなく、同一の設定によってＰＣベースのゲームとウェブベースのゲームを制限することが可能である。
【００１０】
[0010]  本発明に関する上述の及び他の目的、特徴、並びに利点は、以下の詳細な説明からより明らかとなるだろう。詳細な説明は、添付の図面を参照して進められる。
【図面の簡単な説明】
【００１１】
【図１】[0011]  図１は、ネットワークを介して配信される包括的ポリシーを通じて制御されている多数のユーザーデバイスタイプを示す実施態様である。
【図２】[0012]  図２は、異種デバイスタイプにわたって包括的ポリシーを実現するのに利用可能な様々なハードウェア及びソフトウェア構造を示す実施態様である。
【図３】[0013]  図３は、クライアントデバイス上で利用可能なコントローラーの実施態様である。
【図４】[0014]  図４は、異種デバイスタイプにわたって包括的ポリシーを実現するための方法のフローチャートである。
【図５】[0015]  図５は、ポリシー定義を評価しそれをクライアントデバイスの機能と比較するのに利用可能な様々なパラメーターを示している方法のフローチャートである。
【図６】[0016]  図６は、クライアントデバイス上でポリシーを適用するための方法のフローチャートである。
【図７】[0017]  図７は、ポリシー設定が関連グループのメンバーから制御可能であるシステムを示す。
【図８】[0018]  図８は、図７のシステムを用いたポリシー設定の自動配信を示しているフローチャートである。
【図９】[0019]  図９は、電源投入時にポリシーサービスを使用するクライアントデバイスの詳細を示している方法のフローチャートである。
【発明を実施するための形態】
【００１２】
[0020]  図１は、ネットワーク１１４を介して配信される包括的即ち統一ポリシーに通信可能に接続された、多数のユーザーデバイスタイプ１１０、１１２を有したシステム１００を示している実施態様である。繰り返しの点１１６によって表されているように、任意の数のユーザーデバイスタイプ及びユーザーデバイスが使用可能である。ユーザーデバイスタイプは異なった種類であってよく、このことは、少なくともいくつかが他と違ったプラットフォームを有することを意味する。異なったプラットフォームは、いくつかのデバイスが、異なるオペレーティングシステムを動かし、異なるハードウェア構成を持ち、及び／又は異なる基本機能と用途を有するということを意味する。いくつかのデバイスタイプは、ＰＣ上でローカルに動作する仮想インスタンス、又は、クラウド内でホストされてリモート端末を通じてアクセスされる仮想インスタンスであってよい、ということが理解されるべきである。例示的な異種デバイスは、ゲーム機、電話端末、コンピューター、及びテレビを含む。仮想デバイス／アプリケーションは、コンソールエミュレーター及び仮想化オペレーティングシステムのインスタンスを含み、それらは例えば、Ｍｉｃｒｏｓｏｆｔ（Ｒ）Ｖｉｒｔｕａｌ  ＰＣ及びＭｉｃｒｏｓｏｆｔ（Ｒ）Ｖｉｒｔｕａｌ  Ｓｅｒｖｅｒだけでなく、ＶＭ  Ｗａｒｅ等の非Ｍｉｃｒｏｓｏｆｔ製品や、ブラウザー内でＡｄｏｂｅ（Ｒ）ＦＬＡＳＨ又はＳｉｌｖｅｒｌｉｇｈｔ（Ｒ）によってホストされるウェブベースの電子メール及びゲーム等のクラウドサービスのインスタンスである。
【００１３】
[0021]  ネットワーク（例えばインターネット）１１４は、様々な異なるデバイス１１０、１１２向けの包括的ポリシー定義を格納することが可能である。ネットワークは、ポリシー情報を定義し、評価し、交換するための共通フレームワークを提供するポリシーサービスを確立する。以下で更に説明されるように、ポリシーサービスは、更に、それぞれの異なるデバイスが、定義されたポリシーに適合していない場合に自己修復即ち自動的にパラメーターや設定を調整することを可能にする。
【００１４】
[0022]  本明細書において説明される機能を有したクライアントデバイスを実現するための数多くの手法が存在し、図１は１つの例示的な解決策だけを提供している。デバイス１１０は、ポリシーサービス１２０を含んでおり、このポリシーサービス１２０は、ネットワークから包括的ポリシーステートメントを収集する。包括的ポリシーステートメントは、クライアントデバイスにおける制限、又はクライアントデバイス上で動作するアプリケーションにおける制限を含むことが可能であり、それは、例えば、１日当りの使用時間量や、操作の時間の量や、消費される電力又は消費率や、１秒当りの計算量や、１秒当りのトランザクションや、操作の日数（例えば週末のみ）又は１日に発生するアクションを制限するといったようなことである。特定のアプリケーションに依存して、他の制限が与えられることも可能である。例えば、電子メールは、大部分の時間がＰＣ上で実行された場合には２時間だけ許可されることができるが、もし大部分の時間がタッチベースのキーボードを持つデバイス上で費やされたなら、入力スピードがより遅いと予想されるため、トータルで２．５時間まで延長されることができる。制限は、例えばブラウザーなど、アプリケーションのカテゴリーに置かれることも可能である。ポリシーは、デバイスの能力に基づいて変化することも可能である。例えば、電子メールをタイプするのにより多くの時間を要するクライアントアプリケーションは、より多くの時間を与えられることが可能である（例えば、スマートフォンは、より遅いタイピングスピードのために、コンピューターやタッチスクリーン電話端末よりも多くの時間を与えられることが可能である）。ポリシーサービス１２０は、包括的ポリシーステートメントをクライアントポリシーエンジン１３０へ渡すことが可能であり、クライアントポリシーエンジン１３０は、ソフトウェア、ハードウェア、又はそれらの組み合わせにより実現可能である。クライアントポリシーエンジン１３０は、包括的ポリシーステートメントを当該特定のデバイス１１０に適合させる。そのような適合は、クライアントデバイス自身から収集される情報を利用する。クライアントポリシーエージェント１４０は、クライアントデバイスのメモリー１５０から、アプリケーションの構成及び／又はオペレーティングシステムのコンポーネントといったような、クライアントの機能と使用を含む情報を収集する。クライアントポリシーエージェント１４０は、ユーザー識別情報１６０を収集して、それに基づいてクライアントデバイスに利用可能な機能を変更することも可能である。ユーザー識別情報は、典型的に資格情報を含んでおり、更に、操作の役割又はモード（例えば、仕事か遊びか、又は大人か子供か）、そして顔認識、指紋スキャン、声紋等といったバイオメトリックス識別確認情報さえ含むことが可能である。この識別確認情報の安全性は、アクセスの範囲を決定することが可能である。例えば、子供であれば、ユーザーネームとパスワードを打ち込むことは期待されないが、その代わりに、リストから彼らの写真を選択し、またオプションとして、デバイスのロックを解除するのに彼らが使っている画像や図形を選択することだろう。もしその子���が間違った画像を取ったとしても、デバイスは自身を消去することはない。しかしながら、もし親のアクセスが５回間違って入力されたら、デバイスは、全てのコンテンツを消去するようにプログラムされることが可能であるだろう。クライアントデバイス１１２は、クライアントデバイス１１０と類似の構成を有しているが、当該クライアントの特定のデバイスタイプに順応するように適合している。
【００１５】
[0023]  以下の例は、ゲーム、ソーシャルネットワーク、及びインスタントメッセージのアプリケーションを３つのプラットフォームの何れかにおいて一晩につき午後５時から９時の間の２時間だけ許可することによってクライアントの機能を規制するポリシーを例証するものである。
【００１６】
[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>
【００１７】
[0025]      <Exception>xxx-xxx-xxxx </Application>
</Policy>
</Root>
【００１８】
[0026]  図２は、クライアント２００に付加されることが可能な追加機能と特徴を有した別の実施態様を示す。この例において、クライアントポリシーエンジン２１０は、ポリシーサービス２１２に接続されている。ポリシーサービスは、前述されたようにネットワーク（例えばインターネット）に接続されている。ネットワークから取得されたポリシー定義を格納するために、ポリシーキャッシュ２１４もポリシーサービス２１２とクライアントポリシーエンジン２１０に接続されることが可能である。ポリシー定義のキャッシュされたバージョンを使用することにより、クライアントは、オフライン中に汎用化ポリシーに従うことが可能になる。クライアントポリシーエンジン２１０に接続されたメモリー２１６も、ネットワークから取得されたアプリケーションに関する情報を格納するのに利用可能であり得る。そのような情報は、ポリシーサービス２１２又は他の手段を利用して取得可能である。例えば、２２０、２２２に示されているようなアプリケーションは、関係する年齢レーティングを有するゲームであり得る。年齢レーティングはネットワークから動的に取得可能であり、それによって、ポリシーに適合するように最新の年齢レーティング情報が取得可能である。このように、クライアント上のアプリケーションに関連した情報がネットワークから取得されて、ローカル即ちクライアント側のポリシー決定を行うのに利用されることが可能である。例えば、年齢レーティング以下の子供は、アプリケーションを動かすことができないようにすることが可能である。本発明は、親たちがポリシーの一部分を、彼らの文化的嗜好により一層合っているレーティング基準を有したサードパーティーの青少年ゲームレーティングシステムに委任する能力を含む。このことは、図２においてＰＣゲームのレーティング属性に関して示されている。本発明は、図２に示されるように例えばブラウザーのような、共通のシナリオを遂行するアプリケーションの一般的カテゴリー向けだけでなく、Ｆｌｏｗｅｒｚ（Ｒ）のような、グローバルに一意のＵＲＩを持つ特定のアプリケーション向けにポリシーを定義することを含んでいる、ということは理解されるべきである。特定のゲームのポリシーは、ユーザーがＦｌｏｗｅｒｚ（Ｒ）を動かすのを予め定められた時間に制限することが可能であるだろう。これに対して、ブラウザーの例は、インターネットをブラウズする能力を有している、デバイス上の全てのアプリケーションを制限することが可能であるだろう。更にまた、コンテンツのカテゴリーは、別のアプリケーション内でアクセス可能である。例えば、ユーザーがその日のある時間帯にビデオゲームをプレイすることを制限されている場合、たとえそのゲームがＭａｃｒｏｍｅｄｉａ  Ｆｌａｓｈ（Ｒ）又はＳｉｌｖｅｒｌｉｇｈｔ（Ｒ）のようなプラグインによってホストされているとしても、オペレーティングシステムがアクセスされるコンテンツに対してポリシーを適用するため、彼らはブラウザー内部からビデオゲームをプレイすることができない。同様に、音楽を明示的なコンテンツ警告で制限することが特定のユーザーに対して適用されるといったように、音楽の種類以外に、音楽へのアクセスが許可される��とができる。最後に、ポリシーは、タイピングが本来的に遅いデバイス上での電子メールに対してより多くの時間を許容するといったように、デバイスの能力に基づいて調整可能である。
【００１９】
[0027]  クライアントポリシーエージェント２３０は、利用可能なアプリケーション２２０、２２２、クライアント機能２３２、２３４（例えばテキストメッセージ等のオペレーティングシステム制御の機能）、ユーザー識別情報及びユーザーモード２４０、並びに、日常の使用及び／又は活動についての情報２４２に関するクライアント側のデータを収集し、それらの情報をクライアントポリシーエンジンへ渡す。例えば、ログ２４２は、アプリケーション若しくはクライアント機能が使用された時間の量（例えばゲームが今日３時間プレイされた、又はブラウザーが２時間使用された）、又は機能が使用された回数（例えば１０個のテキストメッセージが送信された、又は１０個の電子メールが送信された）を追跡することが可能である。この情報の何れもが、クライアントデバイス２００を現在のポリシーに適合させるのに利用可能である。クライアントポリシーエンジンは、収集された情報を利用して、クライアントをポリシーに適合させるのに必要なインテリジェントな決定を行うことが可能である。アプリケーション２２０、２２２は異なった種類（例えば、ゲーム、地図アプリケーション、ワープロ等）であってよく、クライアント機能２３２、２３４は異なった種類のオペレーティングシステム機能であってよい、ということも留意されるべきである。最後に、ポリシーエンジンは、要求元が一時的なオーバーライドを得るためにポリシー管理者にコンタクトできるようにする、例外要求機能を処理することが可能である。このことは、図２において例外エレメントによって示されている。このシステムでは、ユーザーが電子メールに対してより多くの時間を必要とした場合、彼らは、もっと多くの時間を要求するテキストメッセージを親の電話番号へ発行することが可能であるだろう。要求したサービスに対する親からの応答によって、ルールに対する例外がデバイス上で発生することになるだろう。
【００２０】
[0028]  図３は、上記説明された技術を実現可能である好適なコントローラー３００の一般化された例を表している。上記技術は多様な汎用又は専用コンピューティング環境において実現可能であるので、このコントローラーは、使用又は機能の範囲に関して如何なる限定も示唆することを意図するものではない。
【００２１】
[0029]  図３を参照して、コントローラー３００は、メモリー３２０に接続された少なくとも１つの処理ユニット３１０（例えば、シグナルプロセッサー、マイクロプロセッサー、ＡＳＩＣ、又は他の制御及び処理論理回路）を含むことが可能である。処理ユニット３１０は、コンピューター実行可能命令を実行し、実際のプロセッサー又は仮想のプロセッサーであり得る。メモリー３２０は、揮発性メモリー（例えば、レジスター、キャッシュ、ＲＡＭ）、不揮発性メモリー（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー、ＰＣＭ又はＰＲＡＭとして知られる相変化メモリー等）、又はこれら２つの何らかの組み合わせであり得る。メモリー３２０は、本明細書において説明される技術のうち任意のものを実装したソフトウェア３８０を格納可能である。
【００２２】
[0030]  コントローラーは、付加的な特徴を有することができる。例えば、コントローラーは、ストレージ３４０、１又は複数の入力デバイス３５０、１又は複数の出力デバイス３６０、及び１又は複数の通信接続３７０を含むことが可能である。バス又はネットワークといった相互接続メカニズム（不図示）がこれらのコンポーネントを相互接続する。典型的に、オペレーティングシステムソフトウェア（不図示）が、コントローラー内で実行中の他のソフトウェアに動作環境を提供し、コントローラーのこれらのコンポーネントの活動を調整する。
【００２３】
[0031]  ストレージ３４０はリムーバブル又は非リムーバブルであってよく、磁気ディスク、磁気テープ若しくはカセット、フラッシュメモリー、ＰＣＭ、ソリッドステートハードドライブ（ＳＳＨＤ）、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、又は、情報を格納するのに利用可能でありコントローラー内部でアクセス可能な任意の他のコンピューター読み取り可能媒体を含むことが可能である。ストレージ３４０は、血管壁内のカテーテル位置に関係した血管壁アーティファクトを検出するための命令を収容しているソフトウェア３８０を格納することが可能である。
【００２４】
[0032]  入力デバイス３５０は、キーボード、マウス、ペン、若しくはトラックボールといったようなタッチ入力デバイス、音声入力デバイス、走査型デバイス、又は別のデバイスであり得る。出力デバイス３６０は、ディスプレイ、プリンター、スピーカー、ＣＤライター若しくはＤＶＤライター、又はコントローラーから出力を供給する別のデバイスであり得る。ある入力／出力デバイス、例えばタッチスクリーンは、入力機能と出力機能の両方を含むことができる。
【００２５】
[0033]  通信接続３７０は、通信メカニズムを介した別のコンピューティングエンティティーとの通信を可能にする。通信メカニズムは、コンピューター実行可能命令、音声／映像若しくは他の情報、又は他のデータ等の情報を伝送する。限定ではなく例として、通信メカニズムは、電気的、光学的、ＲＦ、マイクロ波、赤外線、音波、若しくは他の搬送波で実現される、有線又は無線手法を含む。
【００２６】
[0034]  図４は、本明細書において説明される、多数の異種デバイスタイプにわたってポリシーサービスを実現するためのフローチャートである。処理ブロック４１０において、ポリシー定義がネットワークから取得される。概して、ポリシー定義は、インターネットに接続されたサーバーコンピューター上に格納されている。このポリシー定義は包括的なものであることが可能であり、これは、ポリシー定義がデバイスタイプ即ち特定のプラットフォームに対して特別に適合されてはいないということを意味している。結果として、ポリシー定義は、例えばゲームコンソール、電話端末、テレビ、パーソナルコンピューター等の様々なデバイスタイプに適用可能である。処理ブロック４２０において、クライアント側のポリシーエンジンが、ポリシー定義をクライアントデバイスにおける機能と比較することによって、ポリシー定義を評価する。初めに、クライアントのプラットフォームに一致するプラットフォームステートメントを求めてポリシー定義が検索される。例えば、クライアントがゲーム機である場合、ゲーム機に関連するポリシーステートメントを求めてポリシーステートメントが検索される。一致するプラットフォームが発見されると、関連するサブポリシーステートメントがポリシー定義から抽出可能である。例えば、モードタイプ、アクセスタイプ、開始及び終了時間、時間クォータ、アクセス可能な特定のアプリケーションタイプ（例えば、ゲーム、ソーシャルネットワーキング、及びブラウザー）、及び特定の機能が全て、ポリシーステートメントから読み取られ、現在の活動ログ、利用可能なアプリケーション、ユーザー識別情報等を用いることによって、クライアントデバイス上で利用可能な現在の機能と比較されることが可能である。処理ブロック４３０において、ポリシーエンジンが、クライアント上で利用可能な機能をポリシーに適合するように変更することによって、ポリシー定義を適用することが可能である。ポリシーを適用するための数多くの手法が存在する。例えば、ポリシーエンジンは、起動時に評価を実施して、ユーザーが操作を試みた時にアプリケーション又はオペレーティングシステムによってアクセスするためにメモリーに結果を格納することが可能である。あるいはまた、操作が試みられる度に、ポリシーエンジンは、キャッシュされている又はネットワークから再度引き出される現在のポリシー設定に基づいて、新たに評価を実施することが可能である。その後、ポリシーエンジンは、クライアントデバイスの機能を変更するために所望の機能が許可され又はブロックされるように、アプリケーション又はオペレーティングシステムを制御又は命令することが可能である。
【００２７】
[0035]  図５は、図４の評価処理ブロック４２０の間に実施可能な１又は複数の処理ブロックを示している方法のフローチャートである。利用可能なアプリケーションタイプ、クライアント機能、及び設定を読み取るクライアントポリシーエージェントを用いて、クライアントデバイス上における機能が決定されることが可能である。加えて、以下に説明される更なる情報の何れも、利用可能な機能を決定するのに用いられることが可能である。処理ブロック５１０において、ユーザー識別情報及び／又はユーザーモードがメモリーから取得される。ユーザー識別情報は、典型的に、ログイン資格情報に関連している。ポリシーエンジンは、異なるユーザーに対して異なるポリシーを適用することが可能である。例えば、１３歳以上の子供は、Ｒ指定映画ではなくＰＧ−１３映画を鑑賞することを承認されることができるが、一方、１３歳未満の子供は承認不可能である。加えて、ユーザーモードが考慮されることが可能である。例えば、仕事モードにある人は、遊びモードにある場合とは異なる連絡先リストをアプリケーションに提示してもらうことができる。このように、アプリケーション及びユーザーインターフェースの設定は、ユーザーモードに基づいて変化することが可能である。処理ブロック５２０において、ユーザーによって使用されているアプリケーション又は機能についての時間及び／又は活動に関するデータが取得されることが可能である。前述されたように、活動ログがそのようなデータを格納することが可能である。例えば、ユーザーは、１日当り一定の時間に制限されることが可能である。活動ログから取得された時間データは、１日の間にアプリケーションがどのくらいの時間アクティブであったかの累計であり得る。同様に、活動データは、例えばいくつのテキストメッセージが２４時間の期間内に送信されたかといったように、あるイベントが何回発生したかを示すことが可能である。このように、活動ログを用いて、クライアント上におけるパラメーターが、自動で且つ動的に監視されることが可能である。加えて、使用の量が利用可能な機能に影響を及ぼすことが可能である。処理ブロック５３０において、アプリケーションに関連する情報がネットワークから取得されることが可能である。こうして、クライアント上の特定のアプリケーションが識別可能であり、そのような識別がネットワークへ送られることが可能である。これに応答して、ネットワークは、そのアプリケーションに関連付いたポリシーベースの情報を、ポリシー決定処理に取り入れるためにクライアントへ返送することが可能である。
【００２８】
[0036]  図６は、図４の処理ブロック４３０を更に詳しく説明している方法のフローチャートを示す。アプリケーション又はオペレーティングシステム上においてポリシーを適用するための数多くの手法が存在し、図６はいくつかの可能性を提供している。処理ブロック６１０において、ポリシーへの適合性を確実にするためのコマンドが、アプリケーション又はオペレーティングシステムへ送られる。このように、例えば、アプリケーションは、ポリシーエンジンからコマンドを取得し、そのコマンドを実行することが可能である。コマンドが取得されると、アプリケーションは、変更があるまでそのコマンドを順守する。例示的なコマンドは、アプリケーションの特徴的機能をブロックすることを含むことが可能である。処理ブロック６２０は、ポリシーエンジンが、例えばオペレーティングシステムのコア機能等の機能を更にブロックすることが可能であることを示す。例えば、ポリシーエンジンは、テキストメッセージを送信する能力をブロックしたり、又は制限されたアプリケーションに関連付けられたアイコンを一時的に削除したりすることが可能である。
【００２９】
[0037]  図７は、あるユーザーアカウントに関連付けられている１つの異種デバイス７１０が、包括的ポリシー定義をネットワーク７２０へアップロードし、そのポリシー定義を、何れも同一のユーザーアカウントに関連付けられている他の異種デバイス７３０及び同種デバイス７４０に対してプッシュしてもらうことが可能である、ということを表しているシステム図を示す。ポリシー定義は、クライアントデバイス上の様々なポリシーサービスモジュールと通信するサーバー７５０に格納可能である。したがって、親は、携帯電話端末を使用して同一アカウントの全ての異種デバイス及び同種デバイスにわたって遠隔且つ自動でポリシー設定を変更し、彼らの子供たちの携帯電話端末、ゲーム機若しくはテレビ、及び／又はコンピューターの機能を規制することが可能である。
【００３０】
[0038]  図８は、図７のシステムを実現するための方法のフローチャートである。処理ブロック８１０において、同じアカウント（例えば家族アカウント）に紐付けられたグループに含まれるデバイスの１つが、ネットワーク上に格納されているポリシー設定を更新することが可能である。処理ブロック８２０において、このポリシー設定は、同一アカウント内の他のクライアントデバイスへ自動で配信される。こうして、ユーザーによって、ポリシーの更新が動的且つ自動で制御され配信されることが可能である。
【００３１】
[0039]  図９は、異種デバイスにわたって包括的ポリシーを適用するように実現可能な方法の更なる詳細を示すフローチャートである。処理ブロック９１０において、クライアントデバイスが、電源投入の際、例えば起動プロセス中に、ネットワークから包括的ポリシーをダウンロードする。処理ブロック９２０において、ポリシーエンジンが、プラグインのステータス及び他の設定に基づいて、クライアントデバイスの状態を評価する。処理ブロック９３０において、ポリシーエンジンが、ローカル評価及び／又は自己回復を実施し、これは、ポリシーに適合していない如何なるアプリケーション又は機能も、ブロックされあるいは他の方法で無効化されるということを意味する。処理ブロック９４０において、エラーが発生したこと又は自己回復が完了したことを示すメッセージがネットワークへ送信される。処理ブロック９５０において、結果としてのポリシー評価が使用されてから、デバイスがローカルリソース及びネットワークリソース（例えば、会社のネットワーク、インターネット、及び、メッセージ送信やＶｏｉｃｅ  ｏｖｅｒ  ＩＰ技術のようなインターネットを利用するアプリケーション）にアクセスする。
【００３２】
[0040]  開示された方法のいくつかについての動作は便宜的な説明のために特定の連続した順序で述べられているけれども、以下に記載された具体的な言葉によって特定の順序付けが要求されない限り、この説明のやり方は再配列を包含しているということは理解されるべきである。例えば、連続的に説明された動作は、ある場合においては、同時的に再配列又は実施されることができる。その上、簡単化のために、添付図は、開示された方法が他の方法と一緒に使用可能である様々なやり方を示していない場合がある。
【００３３】
[0041]  開示された方法の何れもが、１又は複数のコンピューター読み取り可能記憶媒体（例えば、１又は複数の光媒体ディスク、（ＤＲＡＭやＳＲＡＭのような）揮発性メモリーコンポーネント、又は（ハードドライブのような）不揮発性メモリーコンポーネント等の、非一時的なコンピューター読み取り可能媒体）上に格納されたコンピューター実行可能命令として実装可能であり、コンピューター（例えば、スマートフォンやコンピューティングハードウェアを内包した他のモバイルデバイスを含む、任意の商業的に入手可能なコンピューター）上で実行可能である。開示された手法を実現するための任意のコンピューター実行可能命令だけでなく、開示された実施態様の実現の際に生成され使用される任意のデータも、１又は複数のコンピューター読み取り可能媒体（例えば非一時的なコンピューター読み取り可能媒体）上に格納可能である。コンピューター実行可能命令は、例えば、専用のソフトウェアアプリケーション、ウェブブラウザーによってアクセス若しくはダウンロードされるソフトウェアアプリケーション、又は（リモートコンピューティングアプリケーション等の）他のソフトウェアアプリケーションの一部分であり得る。そのようなソフトウェアは、例えば、１つのローカルコンピューター（例えば任意の好適な商業的に入手可能なコンピューター）上において実行可能であり、又は、１又は複数のネットワークコンピューターを利用して、ネットワーク環境において（例えば、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、（クラウドコンピューティングネットワークのような）クライアントサーバーネットワーク、若しくは他のそのようなネットワークを介して）実行可能である。
【００３４】
[0042]  明瞭性のために、ソフトウェアベースの実装の選択されたある側面のみが説明される。当該分野においてよく知られているその他の詳細は省略されている。例えば、開示された技術は、如何なる特定のコンピューター言語やプログラムにも限定されない、ということは理解されるべきである。例えば、開示された技術は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ａｄｏｂｅ  Ｆｌａｓｈ、又は任意の他の好適なプログラミング言語で記述されたソフトウェアによって実装可能である。同様に、開示された技術は、如何なる特定のコンピューター又はハードウェアタイプにも限定されない。好適なコンピューター及びハードウェアのある詳細はよく知られており、本開示において詳しく記載されることを要しない。
【００３５】
[0043]  更にまた、（例えばコンピューターに任意の開示された方法を実施させるためのコンピューター実行可能命令を備えた）ソフトウェアベースの実施態様の何れもが、アップロードされ、ダウンロードされ、又は好適な通信手段を通じてリモートアクセスされることが可能である。そのような好適な通信手段は、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、（光ファイバーケーブルを含む）ケーブル、磁気通信、（ＲＦ、マイクロ波、及び赤外線通信を含む）電磁気通信、電子通信、又は他のそのような通信手段を含む。
【００３６】
[0044]  開示された方法、装置、及びシステムは、如何なるやり方であっても限定的であると解されるべきではない。それどころか、本開示は、様々な開示された実施態様の、単独の形による、並びに、相互に様々な組み合わせ及びサブコンビネーションの形による、あらゆる新規且つ非自明な特徴及び側面に向けられている。開示された方法、装置、及びシステムは、如何なる特定の側面、特徴、又はそれらの組み合わせにも限定されず、また、開示された実施態様は、何らかの１又は複数の特定の利点が存在し、又は問題が解決するということを要しない。
【００３７】
[0045]  開示された発明の原理が適用され得る多くの可能な実施態様を考慮して、説明された実施態様は発明の好ましい例に過ぎず、発明の範囲を限定するものとみなされるべきではない、ということが認識されるべきである。そうではなく、発明の範囲は、引き続いて述べるクレームによって画定される。我々は、したがって、当該クレームの範囲内に入る全てのものを、我々の発明として主張する。
【図１】
0005972889.tif 000002
【図２】
0005972889.tif 000003
【図３】
0005972889.tif 000004
【図４】
0005972889.tif 000005
【図５】
0005972889.tif 000006
【図６】
0005972889.tif 000007
【図７】
0005972889.tif 000008
【図８】
0005972889.tif 000009
【図９】
0005972889.tif 000010