JP2002324196A - コンテキスト指向のポリシー決定および施行のための方法およびシステム - Google Patents

コンテキスト指向のポリシー決定および施行のための方法およびシステム

Info

Publication number
JP2002324196A
JP2002324196A JP2001392868A JP2001392868A JP2002324196A JP 2002324196 A JP2002324196 A JP 2002324196A JP 2001392868 A JP2001392868 A JP 2001392868A JP 2001392868 A JP2001392868 A JP 2001392868A JP 2002324196 A JP2002324196 A JP 2002324196A
Authority
JP
Japan
Prior art keywords
computing device
context
location
policy
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001392868A
Other languages
English (en)
Other versions
JP4806143B2 (ja
JP2002324196A5 (ja
Inventor
Gopal Parupudi
パルプディ ゴパル
Stephen S Evans
エス.エバンス スティーブン
Edward F Reus
エフ.ルース エドワード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002324196A publication Critical patent/JP2002324196A/ja
Publication of JP2002324196A5 publication Critical patent/JP2002324196A5/ja
Application granted granted Critical
Publication of JP4806143B2 publication Critical patent/JP4806143B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Abstract

(57)【要約】 【課題】 コンテキスト指向のコンピューティングシス
テムと方法を提供する。 【解決手段】 コンテキストに応じ様々なポリシーの適
用と施行を可能にする点でコンテキスト指向(例えば位
置指向)のデバイスと方法を提供し、様々なコンピュー
ティングデバイスが自動的にそれらのコンテキストを決
定できる。コンテキスト決定により、ポリシーの集合を
評価し得られるポリシーセットを提供することができ、
これらのポリシーが所与のコンテキストに適用される。
得られたポリシーセットは、通常はデバイスのオペレー
ティングシステムを介し施行される。この施行は、デバ
イス上またはデバイスから離れたところで実行中のアプ
リケーションに新しい設定/状態を発布する可能性があ
る。そして得られるポリシーセットを、デバイスのコン
テキスト変化に伴って適合させることができ、デバイス
のコンテキスト変化に伴ってポリシーを動的に決定して
自動的に施行できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にコンテキス
トアウェア(context-aware)コンピューティングまた
はユービキタス(ubiquitous computing)コンピューテ
ィングの領域に関する。
【0002】
【従来の技術】ワールドワイドウェブ(WWW)は、世
界中のどのような位置(location)にあるどのようなソ
ースからでもコンテンツを利用可能にするために生み出
された。ウェブのユーザは一般にウェブを介して、無限
の数に思われるリソースに広くアクセスすることができ
る。これに関しては、ウェブは非常にうまくいってい
る。しかしながら、ウェブが進化する中で、いくつかの
必要性が多分に満たされないままになっている。具体的
には、人々は、コンテキストの面を有する情報にアクセ
スする必要性を持ちつづけている。すなわち、個人はし
ばしば、何らかのコンテキストを伴うコンピューティン
グ環境にいることに気付くことになる。それにもかかわ
らず、この環境のコンテキストを現在のコンピューティ
ング環境に組み込むことは容易ではない。一例として、
位置のコンテキストを考えてみる。人々は一般に、地理
範囲を伴う情報、データ、リソースなどにアクセスする
必要がある。例えばある個人が、自分が現在いる場所の
近くにあるサービスまたは製品を利用したいと思う場合
がある。これに関し、サービスや物品などをこの個人が
利用できるようにするには、この個人のコンテキスト上
の位置を理解することが望ましい。「電子商取引」の重
要性が増大し続けるにつれて、人、場所、サービス、お
よび物品を効率的な形で統合する必要性が、クリティカ
ルに重要になってくるであろう。
【0003】今日までに、人、場所、サービス、および
物品を統合する多くの試みがなされてきた。これらの様
々な試みは一般に、異なる方向から、しばしば相容れな
い形でこの問題に取り組んできた。一例として、位置の
コンテキストを考えてみる。いくつかのサービスは、サ
ービスに関する情報を保持する大規模なデータベースを
定義することによって人とサービスを統合しようとして
きた。例えば、ウェブを介してアクセス可能なデータベ
ース中にレストランのリストを保持し、各レストラン
を、それがある場所の郵便番号に関連付ける。ユーザが
特定のレストランの位置を突き止めたいときは、単にユ
ーザがいる場所の郵便番号を入力して、その郵便番号の
中で対応するレストランのリストを見ればよい。このレ
ストランリストから、当該のレストランを1つか2つ選
択することができる。この手法は、いくつかの理由で望
ましくない。第1に、システムの動作は中央サーバに依
存し、この中央サーバが、ユーザのクエリー(照会;qu
ery)を受け取り、クエリーを実行してユーザに情報を
返すことを担う。サーバ障害が起きた場合、サービスも
また障害をきたす。加えて、この特定のサービスは、レ
ストランを見つけるのには適しても、おそらく他のビジ
ネスには適さない場合がある。さらに、結果をユーザに
返すときの細分性により、ユーザにいくらかの探索負荷
が押し付けられる場合がある(すなわちユーザは、近く
の郵便番号に含まれるレストランのリストを得るが、さ
らにそのリストを探索して、どれが当該のレストランか
を選択しなければならない)。さらに、レストランのリ
ストは、最短距離で経路を定めることを不可能にする何
らかのタイプの物理的障壁(すなわち川や山など)によ
って阻まれたレストランをいくつか含む場合もある。
【0004】サービスおよび製品のプロバイダは、近く
のエンドユーザに接続したい。エンドユーザは、これら
のサービスおよび物品を最も近くて便利な位置で消費し
たい。虫歯を埋めるためまたは流しの詰まりを除くため
に歯医者または配管工を必要とする場合に、「ネット上
の遠く離れた」どこかに住む歯医者または配管工のサー
ビスを得ることは適切ではない。競技場にいながら最も
近いホットドッグを探すには、競技場にいる必要があ
る。
【0005】
【発明が解決しようとする課題】コンピューティングデ
バイスがそれらの特定のコンテキストに参与できるコン
テキストアウェアなコンピューティングを生み出せるよ
うにする、未だ解決されていない必要性がある。特定の
状況では、公的と私的の両方の世界視野(view)で、物
理的位置間に関係的位置のアウェアネス(認識;awaren
ess)を形成する必要がある。しかし今日、コンテキス
トアウェアなコンピューティングの可能性を開くことに
なる標準化された1つの世界視野はない。コンテキスト
アウェアなコンピューティングは、それ自体単独で非常
に大きなフィールドではある単なる位置のアウェアネス
以上のものである。
【0006】本発明は、標準化された、コンテキストア
ウェアなインフラストラクチャおよび関連するシステム
を開発することに関係してなされたもので、これによ
り、コンテキストアウェアなコンピューティングのポテ
ンシャルを開くものである。
【0007】
【課題を解決するための手段】コンテキスト指向のコン
ピューティングシステムおよび方法について述べる。記
載された一実施形態では、コンテキストに応じて様々な
ポリシーの適用および施行を可能にする点でコンテキス
ト指向(一例ではロケーション指向)であるデバイスお
よび方法が提供される。具体的には、記載された方法お
よび構造により、様々なコンピューティングデバイスが
自動的にそれらのコンテキストを決定することができ
る。コンテキストを決定すると、ポリシーの集り(a co
llection of policies)を評価して得られるポリシーセ
ットを提供することができ、これらのポリシーが所与の
コンテキストに適用される。次いで、得られたポリシー
セットは、通常はデバイスのオペレーティング・システ
ムを介して施行される。ポリシーの施行は、デバイス上
またはデバイスから離れたところで実行されているアプ
リケーションに新しい設定または状態を発布することを
含む可能性がある。これらのデバイスおよび方法は有利
にも、デバイスのコンテキストが変化するのに伴って、
得られるポリシーセットを適合させることができ、した
がって、デバイスのコンテキストが変化するのに伴って
ポリシーを動的に決定して自動的に施行することができ
る。
【0008】
【発明の実施の形態】概要 標準的な解決法を提供するために、以下に述べる実施形
態は、世界の一様な定義を提供する。この一様な定義
は、ノードの階層ツリーによって定義され、各ノード
は、世界の何らかの態様を表す。各ノードは、ブランチ
によって他の少なくとも1つのノードに接続される。ノ
ードの例示的な分類は、物理レベル(例えば政治的エン
ティティ(entity)、インフラストラクチャエンティテ
ィ、および公共の場所などの、物理的位置)、ならびに
非物理レベル(例えば軍隊のAPO(軍郵便局))で行
う。この階層ノード構造をマスタワールド(Maste
r World)と呼び、これは世界規模の標準化され
た視野である。マスタワールドの各ノードには、コンテ
キストアウェアなコンピューティングを補助する様々な
属性を関連付ける。例示的な属性をわずかながら挙げる
と、固有ID、名前、地理エンティティクラス、緯度/
経度、相対重要度、コンテキスト上の親が挙げられる。
マスタワールドを使用すると、世界のどの場所でも、定
義可能な任意の細分性で、その相対位置を決定すること
ができるので、マスタワールドは有用である。
【0009】個人の位置、または個人が関心を持つ場所
が決定されると、その位置を参照する様々なサービス
を、その位置に基づいて個人に提供することができる。
すなわち、マスタワールドの中のノード位置にサービス
を結び付けることができる価値が、マスタワールドモデ
ルから提供される。
【0010】この概念に基づき、2つの追加の概念が価
値を追加する。すなわち、いわゆるセカンダリワールド
(Secondary World)および「ジオゾー
ン(geozone)」の概念である。
【0011】セカンダリワールドは強力なコンピューテ
ィングメカニズムであり、これにより、個々のエンティ
ティ(ビジネスや組織など)は、マスタワールドの世界
視野に必ずしも従う必要のないそれら自体の特定の世界
を定義することができる。すなわち、マスタワールドは
本質的に、世界の物理的な階層表現であり、セカンダリ
ワールドは、個々のエンティティそれぞれの世界視野の
物理的かつ/または論理的表現とすることができる。セ
カンダリワールドの特に有用な面の1つは、セカンダリ
ワールドが少なくとも1つの地点でマスタワールドにリ
ンクすることである。したがって、いずれかのセカンダ
リワールド内では、セカンダリワールド内でのユーザ位
置だけでなくマスタワールド内でのユーザ位置も決定す
ることができる。セカンダリワールドのノードには、様
々なサービスを結び付けることができる。計算されたユ
ーザ位置に基づいて、セカンダリワールドノードに関連
するこれらの様々なサービスをユーザに提供することが
できる。さらに、ユーザのコンテキストがマスタワール
ドに対して相対的に決定されるので、特定のセカンダリ
ワールドに関連しない場合のある他のサービスを提供す
ることもできる。
【0012】ジオゾーンは本質的に、マスタワールドを
個々のゾーンに細分する空間索引付けメカニズムであ
る。記載された実施形態では、これらのゾーンは、密度
関数に依存する4分木(quadtree)アルゴリズムを使用
することによって細分される(ただし他の多くの空間索
引手法も使用できる)。所望の密度レベルが達成される
と(密度は1ゾーンあたりの当該地点によって定義する
ことができる)、マスタワールド上の各ノードに特定の
ジオゾーンを割り当てる。ジオゾーンにより、近接計算
を速く直接的な方式で計算することができる。
【0013】マスタワールドおよびセカンダリワールド
の有用な面の1つは、これらが、固定コンピューティン
グデバイス(すなわちデスクトップデバイス)やモバイ
ルコンピューティングデバイス(すなわち携帯電話、ラ
ップトップその他)など、様々なコンピューティングデ
バイスから「到達可能」なことである。すなわち、マス
タワールド(または少なくともその一部)と1つ以上の
セカンダリワールドは、コンピューティングデバイス上
でローカルに維持することもでき、あるいは例えばウェ
ブまたは他の何らかのメカニズムを介してアクセスする
こともでき、それにより、ユーザはユーザのコンテキス
トを引き出すことができる。例えば、ユーザがセカンダ
リワールド内でユーザのコンテキストを引き出せるよう
に、セカンダリワールドをコンピューティングデバイス
上にダウンロードすることができる。ユーザのコンテキ
ストがマスタワールドと1つ以上のセカンダリワールド
とから決定されると、コンテキストアウェアな解決法の
様々な堅固な集合がユーザに利用可能になる。例えば、
特定のセカンダリワールドサービスまたはマスタワール
ドサービスを提供することができる。さらに、ユーザの
位置を他のセカンダリワールドが知る(または他のセカ
ンダリワールドに知らせる)ことができるので、他のセ
カンダリワールドからのサービスを提供することもでき
る。このようにして、マスタワールドは、2つ以上のセ
カンダリワールドを相互にリンクすることができる。
【0014】もう1つの面は、記載された実施形態が、
デバイスの位置を決定する際に各コンピューティングデ
バイスの計算力を利用することである。このとき、デバ
イスから到達可能な(及び、おそらくデバイス上でロー
カルに維持される)マスタワールドと1つ以上のセカン
ダリワールドがあるおかげで、デバイスそのものがそれ
自体のコンテキストを決定する。
【0015】一実施形態では、先に論じたコンテキスト
アウェアな構造すなわちマスタワールドと1つ以上のセ
カンダリワールドとを利用するように構成された、クラ
イアント側デバイスが提供される。マスタワールドまた
はその一部は、デバイス上でローカルに利用可能か、ま
たは例えばウェブを介して別の位置からアクセス可能と
することができる。この実施形態では、クライアントデ
バイスには位置サービスが組み込まれている。述べる位
置サービスは、デバイスの位置を決定することができ、
様々なアプリケーション(そのデバイス上またはそのデ
バイスから離れた所で実行されている)からのクエリー
に答えることができるソフトウェアモジュールである。
位置サービスは、マスタワールドと1つ以上のセカンダ
リワールドを使用してデバイスの位置を決定する。アプ
リケーションは、1つ以上のアプリケーションプログラ
ムインタフェース(API)またはイベントを介して位
置サービスに照会して、アプリケーションがサービスを
提供するのに用いるロケーション情報を得る。
【0016】位置サービスは、デバイスに情報を伝える
1つ以上の位置プロバイダを利用する。この情報は、位
置プロバイダ固有の情報とすることもでき、マスタワー
ルドまたはセカンダリワールドのノードに直接にマッピ
ングできる情報とすることもできる。例示的な位置プロ
バイダには、全地球測位サービス(GPS)プロバイ
ダ、携帯電話プロバイダ(セルプロバイダ)、ブルート
ゥース(Bluetooth)プロバイダ、ユーザイン
タフェースプロバイダなどを含めることができる。位置
プロバイダは、デバイスの現在の位置の何らかの局面を
示す情報を提供する。この情報を使用して、位置サービ
スがデバイスの位置を確認する。
【0017】クライアントデバイスの特に有利なメカニ
ズムの1つは、標準的または共通の位置プロバイダイン
タフェースである。位置プロバイダインタフェースは、
様々な位置プロバイダが位置サービスに情報を提供でき
るようにし、それにより、位置サービスはその情報を利
用してその位置を決定することができる。本質的に、多
重位置プロバイダインタフェースは、異なる複数の位置
プロバイダが位置に関するロケーション情報(またはヒ
ント)をデバイス上の位置サービスに提供できるように
する共通インタフェースである。位置プロバイダは、絶
えず、または間隔を空けて、またはデバイスからポーリ
ングを受けたときに、ロケーション情報を提供すること
ができる。位置サービスが情報を使用する前にその情報
の相対的な質を評価できるように、ロケーション情報は
信頼度および正確度の推定値と共に提供することができ
る。様々なプロバイダはまた、それら自体を自己監視す
る能力も有し、この能力は、情報をインテリジェントに
位置サービスに伝えるプロバイダの能力を補助する。共
通インタフェースを有することにより、位置プロバイダ
の集合は動的に拡張可能である。すなわち、位置サービ
スまたはデバイスによって実施される機能が介入するこ
となく、位置プロバイダを集合に追加または集合から除
去することができる。位置プロバイダは、デバイスが動
作している間に追加または除去することができる。この
ことは、将来開発される位置プロバイダに対応する際に
特に有用である。この特定の実施形態では、2つの抽象
化レベルが提供される。すなわち、(1)位置プロバイ
ダから情報を受け取るプロバイダインタフェース、およ
び(2)アプリケーションが様々な情報を得ることを可
能にするAPI/イベントレイヤである。
【0018】この実施形態の1つの焦点は、異なる様々
なソースからコンテキスト情報(例えばロケーション情
報)を収集し、その情報からデバイスの現在のコンテキ
ストを決定し、現在のコンテキストを何らかのレベルで
1つ以上のアプリケーションに提供することのできるデ
バイスであり、アプリケーションは、デバイスのコンテ
キストを用いて、サービスを提供するか、またはデバイ
スがそのコンテキスト環境に参与できるようにする。
【0019】記載された実施形態では、デバイスは、そ
の位置に関するロケーション情報またはヒントを受け取
る。この情報は、位置サービスによって照合され、マス
タワールドおよび/またはセカンダリワールドの中のノ
ードにマッピングされる。次いで、階層ツリーを走査し
て、セカンダリワールドとマスタワールドの両方におけ
るデバイスの正確な位置を決定することができる。この
時点で、デバイスはそのコンテキストを決定し終えてい
る。よく信用できる情報だけを用いてコンテキストが決
定されるように、収集された情報は調停を受けることが
できる。ロケーション情報をキャッシュして「現在ロケ
ーション情報」を提供することができるが、これは、定
義可能な期間にわたり、ある程度正確なものとなる。し
たがって、何らかの理由で他の位置プロバイダが利用不
可能な場合に、このキャッシュを用いて位置を確認する
ことができる。
【0020】デバイスの位置が決定されると、デバイス
は、セキュリティポリシーを情報に適用することができ
る。これを行った後で、デバイスは、様々なアプリケー
ションからのクエリーに答えることを開始することがで
きる。
【0021】記載された実施形態の一態様は、「お気に
入りの位置(favorite location
s)」態様である。これは、デバイスがそのコンテキス
トを決定すると、デバイスは自動的に構成され、それに
より種々の位置に適合することができるものである。
【0022】さらに、様々なタイプの位置プロバイダ
が、異なるタイプの情報を伝えることができる。例え
ば、いわゆる「シン(thin)プロバイダ」は、位置サー
ビスによって適切なノード情報に変換される情報を提供
する。いわゆる「シック(thick)プロバイダ」は、ロ
ケーション情報を得て、それをマスタワールドまたはセ
カンダリワールドに直接にマッピングできる形で提供す
るロジックを含む。
【0023】別の実施形態では、デバイスのコンテキス
トまたは位置をできるだけ正確に決定することに対処す
る位置変換サービスが提供される。この実施形態では、
様々な位置プロバイダから情報を受け取る。この情報
は、位置、正確度、信頼度(すべて位置プロバイダから
提供される)、信用度(デバイスまたはユーザから位置
プロバイダに割り当てられる)、タイムスタンプ(ロケ
ーション情報の古さを決定するのに役立つ)を含む。位
置変換処理は、どの位置プロバイダが有効かつアクティ
ブかを決定することを含む。位置プロバイダは、信頼度
および信用度のレベルに従ってランク付けすることがで
きる。これにより、位置プロバイダを順序付けしたリス
トが定義される。すべての位置プロバイダが非アクティ
ブになる恐れのある状況に対しても備える。この場合、
「現在の位置」を時が経つにつれて信頼度が低下する位
置プロバイダとして使用する。
【0024】2つ以上の位置プロバイダからの情報が競
合する場合は、信用度レベルのより高い情報を用いる基
準を採用することができる。次いで、すべての位置プロ
バイダから提供される情報(競合がないと仮定する)を
用いて、ツリー構造と、ノードのエンティティID(E
ID)とを決定することができる。ツリーはマスタワー
ルドとすることができ、EIDはマスタワールド上のノ
ードである。ツリーはセカンダリワールドとすることも
でき、EID(または位置固有の識別子すなわち「LU
ID」)はセカンダリワールド上のノードである。この
情報を収集した後は、単にツリーを走査するだけで完全
なロケーション情報を決定することができる。デバイス
の位置を決定すると、キャッシュを現在の位置(タイム
スタンプを含む)で更新することができる。
【0025】別の実施形態では、コンテキストアウェア
なコンピューティング環境におけるプライバシー問題に
対処する。この実施形態では、位置サービスは、特定デ
バイスの位置に関係するロケーション情報を獲得してい
る。プライバシーマネージャが、情報を要求するかもし
れないアプリケーションにどのレベルの情報を提供する
かを決定する。プライバシーマネージャは、コンピュー
ティングデバイス自体に常駐してもよく、信用できる第
三者が代理になってもよい。
【0026】この実施形態によれば、プライバシーレベ
ルの段階が定義される。各レベルは、特定のデバイスの
位置に関して具体性がより高いまたは低い情報を含むよ
うに定義される。ユーザが、ロケーション情報を要求す
るかもしれないエンティティにプライバシーレベルを割
り当てることができる。さらに、マスタワールドおよび
セカンダリワールドの各ノードにプライバシーレベルを
関連付けることもできる。アプリケーションからのクエ
リーが受信されると、プライバシーマネージャはまず、
そのクエリーが誰からのものかと、そのアプリケーショ
ンまたはエンティティに関連するプライバシーレベルを
決定する。次いでプライバシーマネージャは、マスタワ
ールドおよびセカンダリワールドの1つ以上を評価し
て、対応するプライバシーレベルを有するノードを見つ
ける。対応するノードが見つかったときは、その特定の
細分性で要求側アプリケーションまたはエンティティに
情報を提供する。
【0027】別の実施形態では、位置ビーコンの形で位
置プロバイダを提供するシステムおよび方法について述
べる。この実施形態では、様々な領域(公共/私的領
域)中に設置することのできる位置ビーコンが提供され
て、伝送範囲内にあるどのようなコンピューティングデ
バイスにもその位置が指示される。送信される情報によ
り、デバイスはその位置またはコンテキストを決定する
ことができる。位置ビーコンは、位置サービス固有の情
報を送信することができ、位置サービスはその情報を用
いる。送信する情報は、EID/URLの対、およびL
UID/URLの対を含むことができる。EIDは、マ
スタワールドの中にあるノードのノード識別を提供し、
関連するURLは、マスタワールドと通信するためのプ
ロトコルを提供する。例えばこのURLは、そのEID
を使用する追加コンテキスト情報を提供することのでき
るサーバにリンクすることができる。LUIDは、現在
位置に対応するセカンダリワールド上のノードを示し、
URLは、セカンダリワールドと通信するためのプロト
コルを提供する。例えばこのURLは、セカンダリワー
ルドをホスティングするサーバとリンクすることができ
る。この場合、このサーバに照会して、セカンダリワー
ルドに関するより多くの情報(すなわちセカンダリワー
ルドツリー構造、関連リソースの位置など)を発見する
ことができる。EIDおよびLUIDを(URLと共
に)使用することにより、デバイスは今や、マスタワー
ルドまたはセカンダリワールドを走査してその位置を決
定することができる。ビーコンは、様々な技術を使用し
て実装することができる(無線、RF、IR)。改ざん
を防止するために、ビーコンは「1度だけプログラムで
きる」デバイスとすることができる。ただし、プログラ
ム可能なビーコンを提供してもよい。送信される情報の
真実性を確認するために、ビーコン情報と共に提供され
る検証可能な署名の形でも、セキュリティを提供するこ
とができる。
【0028】ビーコンのコンテキストアウェアなコンピ
ューティングの有用な一面は、「位置イネーブルドアク
セス(location−enabled acces
s)」の概念である。すなわち、ロケーション情報の受
信に加えて(またはそれと別に)、ビーコンは、スマー
トデバイスがソフトウェアコードにアクセスすることを
可能にするコードダウンロードポインタを送信すること
もでき、このソフトウェアコードにより、スマートデバ
イスはその現在のコンテキストに参与することができ
る。
【0029】例示的なコンピューティングシステム この文書においては、任意のタイプのコンピューティン
グデバイスを一般的に指すのに、用語「コンピューティ
ングデバイス」を使用する。例示的なコンピューティン
グデバイスの特徴は、これは通常、1つ以上のプロセッ
サと、コンピュータ可読媒体(記憶装置やメモリなど)
と、1つ以上のプロセッサ上で実行されてプロセッサに
プログラム済みの機能を実施させるソフトウェアとを備
えることである。特定の実施形態では、モバイルコンピ
ューティングデバイス(例えばラップトップコンピュー
タなど)、および/またはハンドヘルドコンピューティ
ングデバイス(例えばパームPC、無線電話機など)の
状況で実装する。
【0030】図1は、記載された実施形態との関連で使
用するのに適したコンピューティングデバイスのほんの
一例を構成する概略図である。特定の実施形態の利用を
念頭に置いた1つ以上のコンピューティングデバイス
(例えばパームPC、無線電話機など)に、図示のコン
ピューティングデバイスの一部を組み込むこともできる
ことを理解されたい。
【0031】コンピュータ130は、1つ以上のプロセ
ッサまたはプロセッシングユニット132と、システム
メモリ134と、システムメモリ134を含めた様々な
システムコンポーネントをプロセッサ132に結合する
バス136とを備える。バス136は、メモリバスまた
はメモリコントローラ、周辺バス、AGP(accel
erated graphics port)、および
様々なバスアーキテクチャのいずれかを使用するプロセ
ッサバスまたはローカルバスを含めた、いくつかのタイ
プのバス構造のうちのいずれか1つ以上を表す。システ
ムメモリ134は、読出し専用メモリ(ROM)138
およびランダムアクセスメモリ(RAM)140を含
む。ROM138には、起動中などにコンピュータ13
0内の要素間で情報を転送するのを補助する基本ルーチ
ンを含むBIOS(basic input/outp
ut system)142が記憶されている。
【0032】コンピュータ130はさらに、ハードディ
スク(図示せず)に対して読み書きするためのハードデ
ィスクドライブ144と、リムーバル磁気ディスク14
8に対して読み書きするための磁気ディスクドライブ1
46と、CD−ROMやその他の光学媒体などリムーバ
ル光ディスク152に対して読み書きするための光ディ
スクドライブ150とを備える。ハードディスクドライ
ブ144、磁気ディスクドライブ146、および光ディ
スクドライブ150は、SCSIインタフェース154
または他の何らかの適したインタフェースによってバス
136に接続される。ドライブおよびそれらに関連する
コンピュータ可読媒体は、コンピュータ可読命令、デー
タ構造、プログラムモジュール、およびコンピュータ1
30に対するその他のデータの、不揮発性記憶域を提供
する。本明細書に述べる例示的な環境は、ハードディス
ク、リムーバル磁気ディスク148、およびリムーバル
光ディスク152を採用するが、磁気カセット、フラッ
シュメモリカード、ディジタルビデオディスク、ランダ
ムアクセスメモリ(RAM)、読出し専用メモリ(RO
M)など、コンピュータからアクセス可能なデータを記
憶することのできる他のタイプのコンピュータ可読媒体
をこの例示的な動作環境で使用することもできること
を、当業者は理解されたい。
【0033】ハードディスク144、磁気ディスク14
8、光ディスク152、ROM138、またはRAM1
40には、いくつかのプログラムモジュールを記憶する
ことができるが、これらのプログラムモジュールには、
オペレーティングシステム158a、158b、1つ以
上のアプリケーションプログラム160a、160b、
その他のプログラムモジュール162a、162b、お
よびプログラムデータ164a、164bが含まれる。
ユーザは、キーボード166やポインティングデバイス
168などの入力デバイスを介してコンピュータ130
にコマンドおよび情報を入力することができる。その他
の入力デバイス(図示せず)には、マイクロホン、ジョ
イスティック、ゲームパッド、衛星受信アンテナ、スキ
ャナなどを含めることができる。これらおよび他の入力
デバイスは、バス136に結合されたインタフェース1
70を介してプロセッサ132に接続される。モニタ1
72または他のタイプの表示装置もまた、ビデオアダプ
タ174などのインタフェースを介してバス136に接
続される。モニタに加え、パーソナルコンピュータは通
常、スピーカやプリンタなど他の周辺出力デバイス(図
示せず)も備える。
【0034】コンピュータ130は一般に、リモートコ
ンピュータ176など1つ以上のリモートコンピュータ
への論理接続を用いて、ネットワーク化された環境で動
作する。リモートコンピュータ176は、別のパーソナ
ルコンピュータ、サーバ、ルータ、ネットワークPC、
ピアデバイス(peer devices)、またはその他の一般
的なネットワークノードとすることができ、これは、図
1にはメモリ記憶装置178しか示していないが、通常
はコンピュータ130に関して先に述べた要素の多くま
たはすべてを備える。図1に示す論理接続は、ローカル
エリアネットワーク(LAN)180およびワイドエリ
アネットワーク(WAN)182を含む。このようなネ
ットワーキング環境は、オフィス、企業全体のコンピュ
ータネットワーク、イントラネット、およびインターネ
ットによくあるものである。
【0035】LANネットワーキング環境で使用すると
きは、コンピュータ130は、ネットワークインタフェ
ースまたはアダプタ184を介してローカルネットワー
ク180に接続される。WANネットワーキング環境で
使用するときは、コンピュータ130は通常、モデム1
86を備えるか、あるいはインターネットなどのワイド
エリアネットワーク182を介して通信を確立するため
の他の手段を備える。モデム186は内蔵でも外付けで
もよく、シリアルポートインタフェース156を介して
バス136に接続される。ネットワーク化された環境で
は、パーソナルコンピュータ130に関して示したプロ
グラムモジュールまたはこれらの一部をリモートメモリ
記憶装置に記憶することができる。図示するネットワー
ク接続は例示的なものであり、コンピュータ間に通信リ
ンクを確立する他の手段も使用できることを理解された
い。
【0036】一般に、コンピュータ130のデータプロ
セッサは、様々な時にコンピュータの様々なコンピュー
タ可読記憶媒体に記憶された命令を使用してプログラム
される。プログラムおよびオペレーティングシステムは
通常、例えばフロッピー(登録商標)ディスクやCD−
ROMなどで配布される。これらから、コンピュータの
補助記憶にインストールまたはロードされる。実行され
るとき、プログラムおよびオペレーティングシステム
は、少なくとも部分的にコンピュータの電子的な主記憶
にロードされる。これらおよび他の様々なタイプのコン
ピュータ可読記憶媒体が、以下に述べるステップをマイ
クロプロセッサまたはその他のデータプロセッサと共に
実施するための命令またはプログラムを含むとき、本明
細書に述べる発明は、このような媒体を含む。本発明は
また、以下に述べる方法および技法に従ってコンピュー
タがプログラムされたとき、そのコンピュータも含む。
【0037】本明細書では例示のために、プログラム
と、オペレーティングシステムなど他の実行可能プログ
ラムコンポーネントとを別個のブロックとして示すが、
このようなプログラムとコンポーネントは、様々な時に
コンピュータの様々な記憶コンポーネント中にあり、コ
ンピュータのデータプロセッサによって実行されること
を理解されたい。
【0038】世界の定義 今日、コンテキストアウェアなコンピューティングの問
題を解決する試みに伴う問題の1つは、提案されるあら
ゆる解決法が独自の手法、データ構造、プロセスなどを
有することである。様々な手法の間での標準化は、仮に
あったとしてもごくわずかである。記載された実施形態
では、地球のユニバーサルな視野を定義することによ
り、基礎的なレベルで標準化が達成される。すなわち、
ユニバーサルに受け入れられる地球の定義を提案する
が、この定義は、コンテキスト依存コンピューティング
を可能にするために様々なコンピューティングシナリオ
で使用可能である。この文書では、コンテキスト依存コ
ンピューティングの具体的な一例を位置依存コンピュー
ティングの形で提供する。これは、以下に論じる様々な
実施形態を採用できるコンテキストのほんの一例をなす
だけであることを理解されたい。その他の「コンテキス
ト」には、階層構造にうまくはまる情報ならどのような
ものも含めることができる。これらには、組織内の役割
/人員、デバイスの範疇化、現在アクティビティ、現在
環境、アクティブデバイスなどが含まれるが、これらに
限定するものではない。
【0039】(マスタワールド)マスタワールドは、地
球の物理的位置または地理区分を分類整理した、政治的
に公正かつ公的に受け入れられる階層ツリー構造として
定義される。マスタワールドは、地球全体の政治的、行
政的、かつ地理的なエンティティの多くの様々なクラス
が含まれるようにして定義される。政治的競合の領域
は、コンピューティングデバイスの言語/現場に基づく
世界視野を提示することによって反映される。
【0040】図2に、マスタワールドの一部を表す例示
的な階層ツリー構造200を示す。マスタワールドは複
数のノード202を含み、各ノードは、地球の何らかの
タイプの地理区分(例えば政治的または自然エンティテ
ィ)を表す。図示の例では、マスタワールドのノードは
次のグループに構成される。すなわち(1)政治的また
は自然エンティティ(例えば大陸、国、海洋、州、郡、
市など)、(2)インフラストラクチャエンティティ
(例えば郵便番号、市外局番、時間帯など)、(3)公
共場所エンティティ(例えば公園、遊歩道、空港、競技
場など)、および(4)非物理的エンティティ(軍事郵
便番号地域、休暇地域、地理的に断続している可能性の
あるテレビジョンネットワークの系列局受信エリアな
ど)である。
【0041】図2の例では、ツリー構造の最上位ノード
は地球を表す。最上位ノードの下にある各ノードは、地
球の地理区分を表す。この例では、いずれかのビジネス
またはサービスとの関連を有するノードは1つもない。
すなわち、マスタワールドの一部であるノードエンティ
ティと、アクティビティが行われる非地理的場所との間
に区別がある。マスタワールドは、公共の場所に対する
ノード(すなわち空港、遊歩道など)を含むものの、ビ
ジネスまたはサービスのプロバイダの個別リストは含ま
ない。各ノードは、ID(EIDすなわちエンティティ
ID)で一意的に識別される。固有のEIDに加えて、
URLもツリー構造に関連付けられ、後で明らかとなる
ようにツリー構造に対するコンテキストを提供する。
【0042】一例として、次のことを考えてみる。すな
わち、シアトル−タコマ国際空港(SeaTac)がマ
スタワールドに含まれるが、SeaTacにおける個々
の航空会社のビジネス位置への参照は、SeaTac空
港EIDでタグ付けされたツリーの「葉」とすることが
できる(以下の「セカンダリワールド」セクションおよ
び表を参照)。同様に、シアトルセンタをマスタワール
ド上のノードとすることができ、シアトルアートフェス
ティバル、バンパーシュート、シアトルソニックスNB
Aチーム、およびシアトルセンタのスターバックスコー
ヒーショップは、シアトルセンタEIDでタグ付けする
ことができる。別の例としては、マスタワールドはま
た、すべての各州間(高速道路)出口に対するノードも
含む。例えば、ワシントン州、出口109、I−90
は、マスタワールドのノードの1つである。ワシントン
州エレンズバーグ、キャニオンロード1700に位置す
るベストウェスタンインは、この出口のEIDでタグ付
けすることができる。
【0043】したがって、マスタワールドは、一様な位
置定義方式を提供する。次いで、一様な位置定義をユニ
バーサルに使用して、物品またはサービスに属性を割り
当てることができる。コンピューティングデバイスが特
定の一様な位置定義に対応するようにその位置を決定し
たときは常に、その一様な位置定義を共有する位置依存
の物品またはサービスを利用することができる。マスタ
ワールドは、標準化された世界視野であるため有用であ
る。その標準化された正確な地理範囲属性は、プロバイ
ダと消費者の両方から容易にアクセスすることができ
る。サービスおよび製品のプロバイダ(またはサーチエ
ンジン、ネットワーク、およびイエローページのデータ
ベースディレクトリなどの第三者)は、標準化された永
続的な地理参照を、対象のすべての商取引位置または地
点に割り当てることによって、マスタワールドのノード
を使用することができる。これらの対象の商取引位置ま
たは地点は、ツリー構造上の「葉」と考えることができ
る。
【0044】図示の例では、マスタワールドのノード
は、その使用を容易にする1つ以上の属性を有する。こ
のすぐ下の表に例示的な属性を述べる。
【0045】
【表1】
【0046】上に列挙した属性は、例示的な属性だけを
構成するものである。上に参照したこれらの属性とは異
なる、かつ/またはこれらに対する追加の、他の属性を
使用することもできる。以下に、上記の属性を採用した
数個の例示的エンティティまたはノードのレコードを示
す。
【0047】
【表2】
【0048】
【表3】
【0049】マスタワールドはまた、それ自体と様々な
「セカンダリワールド」との間の公分母リンクのリポジ
トリとしても働き、かつセカンダリワールドを他のセカ
ンダリワールドに接続する導管としても働く。内容、サ
ービス、およびデバイスのプロバイダは、マスタワール
ドを用いて、公衆に利用可能なそれらの提供物を、地理
的位置および対応する複数ブランチ階層構造に関連付け
ることができる。この位置は、ツリー構造内の単一エン
ティティと関連付けられることになり、したがって、地
理的計算および時間/距離の計算と、必要な親/子関係
のナビゲーションが可能になる。
【0050】(マスタワールドの索引(ジオゾーン))
定義により、マスタワールドは、地球全体をカバーする
エンティティ(ノード)の階層構造を形成する。階層内
での上方向へのナビゲーションはごく自然である。下方
向への効率的なナビゲーションは、地理的近接のアウェ
アネスを必要とする。さらに、照会において値を首尾よ
く返すために、あるいは元のソースノード以外のノード
に付いている近い「葉」への距離をより正確に計算する
ために、ブランチからブランチにジャンプすることが必
要なシナリオもあり得る。マスタワールドは、地理的近
接によってピアレベルのノードを識別できる索引方式を
利用する。この索引付け方式は、4分木アルゴリズムを
利用してマークし、いわゆる「ジオゾーン」を定義す
る。
【0051】4分木は本質的に、規則的にサイズが減少
する同質のセルに、有効範囲を分割する、空間索引であ
る。ツリーの各象限が、4つまでの子を有する。4分木
セグメント化プロセスは、各象限の中の項目(例えば対
象の地点)の数の密度を含めた多くの様々な最終結果基
準に基づいて、マップ全体が分割されるまで継続するこ
とができる。この手法により、空間選択および内容識別
を加速させる空間索引の一形式がもたらされる。
【0052】空間索引付け方式を完了して定義済みジオ
ゾーンを各ノードに提供するには、4分木アルゴリズム
をノードに適用するが、この4分木アルゴリズムは、例
えばいずれか1つのゾーン中で発生する対象の地点の所
望の密度に基づくことができる。すべてのゾーンが定義
されると、各ゾーンに固有のID(例えば上/左と下/
右の、緯度と経度の対)が与えられる。次いで、マスタ
ワールドの各ノードに、それが位置するゾーンが割り当
てられる。4分木アルゴリズムは周知であり、当業者に
は理解されるであろう。
【0053】(マスタワールドの位置)理解できるよう
に、標準化された一様な世界の表現を、走査可能な階層
ツリー構造の形で有することにより、コンテキスト依
存、より具体的には位置依存の物品およびサービスをリ
ンクできる方式が、大幅に容易になる。
【0054】記載された実施形態では、コンピューティ
ングデバイスは、マスタワールドの少なくとも一部にア
クセスすることができる。例えばコンピューティングデ
バイスは、コンピューティングデバイスのオペレーティ
ングシステム部を含む内部記憶装置に、マスタワールド
が保存されるようにすることもでき、あるいはデバイス
は、インターネットなどのネットワーク媒体を介してマ
スタワールドにアクセスすることもできる。マスタワー
ルドツリー構造は各コンピューティングデバイスからア
クセス可能なので、各デバイスは、それ自体のコンテキ
ストを、またはノードによって参照される位置を判定す
る力を有する。すなわち、コンピューティングデバイス
は、実行しているソフトウェアを介してその特定の位置
すなわちノードを決定することができる。コンピューテ
ィングデバイスは、関連ノードを決定した後は、単にツ
リーを走査するだけでその完全な位置を確認することが
できる。
【0055】例えば、コンピューティングデバイスは現
在、レッドモンド市に対応するノードにそれ自体が位置
していると判定した場合、マスタワールドツリー構造を
走査して、ワシントン州、米国、北アメリカ大陸にそれ
自体があることを確認することができる。その正確な位
置を確認することにより、コンピューティングデバイス
(またはそのユーザ)は今や、提供されるであろう位置
依存サービスを利用する立場にある。この特有のモデル
は、中央サーバを利用して異なるいくつかのデバイスに
対する位置を確認する現在のモデルに勝る、非常に大き
な改善である。現在のモデルでは、各デバイス(または
ユーザ)は、その位置に関する情報を提供し(例えばユ
ーザはおそらく、そのデバイスが現在位置する郵便番号
または市を入力し)、ユーザの郵便番号の中で例えばマ
クドナルドレストランを見つけるためにクエリーを入力
する場合がある。次いでサーバは、この情報を取り入
れ、例えばその郵便番号または市に含まれるすべてのマ
クドナルドレストランの位置についてユーザに教える。
このモデルでは、サーバが失敗した場合、コンピューテ
ィングデバイスはどれもそのサービスを利用することが
できない。本モデルでは、各コンピューティングデバイ
スは自立している。それぞれがそれ自体の位置を決定す
ることができ、したがって各デバイスは位置依存サービ
スを利用することができる。例えば、コンピューティン
グデバイスがマスタワールドの特定ノード上に位置する
ことを理解した場合、このコンピューティングデバイス
は、それが位置するその特定ノードに対応するEIDを
有するマクドナルドを見つけるためのクエリーを実行す
ることができる。前述のジオゾーンを使用することによ
り、特定のローバスト性(robustness)がもたらされ
る。ジオゾーンにより、最も近い地理区分を効率的な方
式で素早く探索することができる。例えば、ある個人が
コピーをとるために最も近いキンコーズ(Kinko's)を
探しており、そのコンピューティングデバイスの位置す
るノードに対応するジオゾーン中にキンコーズが1軒も
ない場合は、近隣のジオゾーンを素早く探索することが
できる。
【0056】(セカンダリワールド)記載された実施形
態では、セカンダリワールドの概念を使用して、追加コ
ンテキストに対するサポートを提供する。セカンダリワ
ールドは、第三者の組織または会社によって定義するこ
とができ、その組織に固有の物理的かつ/または論理的
エンティティを構成するノードを含む。セカンダリワー
ルドは公的なものとすることも私的なものとすることも
できるので、セカンダリワールドのノードは、セカンダ
リワールドを定義した特定組織の外部の多くのコンテキ
ストを有してもよく、また有さなくてもよい。セカンダ
リワールドは、マスタワールドを複製するのではなく、
マスタワールドを一意的かつ組織固有の形で補足する。
マスタワールドは広く受け入れられる基準として定義さ
れるが、各セカンダリワールドは、組織専有の世界視野
が多様に表されたものとして定義される。記載された実
施形態では、各セカンダリワールドは、マスタワールド
のノードとリンクされたノードを少なくとも1つ有す
る。これにより、マスタワールドにおけるコンテキスト
または位置がセカンダリワールドに与えられる。また、
コンテキストアプリケーションの中には、いくつかのセ
カンダリワールドにアクセスすることができ、各セカン
ダリワールドは追加のコンテキスト固有の位置データを
提供することに留意されたい。
【0057】図2に、複数のノード206を備えた例示
的なセカンダリワールド204を示す。各ノード206
は、物理的または論理的エンティティを構成する。例え
ばノードは、会社、その部門、地域、キャンパス、建
物、様々な建物の中のフロア、および様々なフロア上の
部屋を構成することができる。ノードの少なくとも1つ
は、マスタワールドのノードとリンクされる。セカンダ
リワールドのノードは、マスタワールドのノードと同じ
属性を有することができる。
【0058】セカンダリワールドの一例として、ボーイ
ングが、その雇用者にとって重要なエンティティのリス
トを含むセカンダリワールドを定義すると考えてみる。
ルートエンティティは「ボーイング社」となり、その子
は会社の部門(セントルイス軍事部門、エヴェレットプ
ラント、企業本部など)とすることができる。さらにツ
リー構造を下ると、個々のノードは、個々の建物(ハン
ガー12)、この建物内のオフィス(オフィス100
1)、建物領域(ハンガー12の南西象限)などを表す
ように定義することができる。各エンティティまたはノ
ードは、固有の識別子(ローカルな固有IDすなわち
「LUID」)と、そのノードが発生するツリーに関連
するURLとを有する。URLは、セカンダリワールド
ツリー構造内にいるユーザがどのようにこの世界と対話
するかを決定できるように、セカンダリワールドツリー
構造を一意的に識別する。この態様については、後でよ
り詳細に論じる。次いでボーイングはLUIDを使用し
て、設備、サービス、部署、またさらには人員をも、物
理的または論理的位置に関連付けることができる。
【0059】より具体的な例として、図3を考察された
い。この図には、例示的なマスタワールド300の一部
およびセカンダリワールド302が示してある。マスタ
ワールド300は、世界、米国、ワシントン、レッドモ
ンド、および郵便番号=98052のノードを含む。例
示的なセカンダリワールド302は、マイクロソフトコ
ーポレーションによって定義された階層ツリー構造であ
り、以下のノードを含む。すなわち、マイクロソフト、
レッドモンドキャンパス、1マイクロソフトウェイ、ビ
ルディング26、3階、会議室3173、ビルディング
24、2階、会議室1342である。この例では、セカ
ンダリワールド302は、レッドモンドノードからマス
タワールドの中に「ポイント接触」する。この例では、
ビデオプロジェクタがノード「会議室1342」に関連
付けられて示されている。この場合、このビデオプロジ
ェクタはセカンダリワールドの中のノードではない。そ
うではなく、このビデオプロジェクタは、他の何らかの
リソース発見サービス(例えばアクティブディレクト
リ)中の項目であり、「会議室1342」へのポインタ
の位置属性を含む。ただし、キーサービスの位置を表す
ためのノードをこれらの世界に生み出すことができると
きもある。しかしノード自体がそれらのサービスを表す
ことにはならない。
【0060】マスタワールドと同様、セカンダリワール
ドも、有利なことにユーザのコンピューティングデバイ
スからアクセス可能である。例えばセカンダリワールド
は、完全にまたは部分的にダウンロードして記憶装置に
記憶し、必要なときにアクセスすることもできる。これ
は、1回使用するためだけにしかダウンロードできない
ものとすることができる。セカンダリワールドにより、
コンピューティングデバイスは、セカンダリワールド内
におけるそのコンテキストを確認することができる。こ
の例では、コンピューティングデバイスは、セカンダリ
ワールドを使用してセカンダリワールド内のその位置を
計算することになる。コンピューティングデバイスはこ
れを、それ自体が現在位置するノードからルートノード
へとツリー構造を走査することによって行うことができ
る。これにより、例えば、コンピューティングデバイス
(したがってユーザ)は完全なセカンダリワールドコン
テキストを得ることができる。セカンダリワールドの位
置がわかった後は、ユーザは、セカンダリワールドのノ
ードに関連する物品またはサービスを利用する立場にあ
る。すなわち、コンピューティングデバイスは、そのセ
カンダリワールドコンテキストを決定すると、セカンダ
リワールドへのアクティブな参加者になる準備が整う。
【0061】物品またはサービスをセカンダリワールド
の個々のノードに関連付けることにより、非常に高い価
値を獲得することができる。例えば、会議室1342に
はビデオプロジェクタが関連付けられている。すなわ
ち、ビデオプロジェクタの位置は会議室1342にあ
る。会議室3173にいる個人が、会議室1342にあ
るようなビデオプロジェクタを使用する必要のあるプレ
ゼンテーションを行うと仮定する。個人は通常、おそら
く物理的にその建物にあちこち呼びかけて利用可能なビ
デオプロジェクタがあるかどうかチェックする以外に、
ビデオプロジェクタの位置を確認する手段を有しないこ
とになる。この例では、ユーザのコンピューティングデ
バイスはセカンダリワールド内におけるその位置を確認
することができるので、会議室1342中のビデオプロ
ジェクタを突き止めることができる。コンピューティン
グデバイスはこれを、単にセカンダリワールドツリー構
造を走査して対象のリソースを見つけるソフトウェアを
実行することによって行う。
【0062】また、マスタワールドの中へのリンクがあ
るので、コンピューティングデバイスは両方の世界内の
そのコンテキスト(位置)を引き出すことができること
にも留意されたい。これにより、コンピューティングデ
バイス、したがってユーザは、セカンダリワールドに関
連する物品およびサービスを利用することができ、か
つ、マスタワールドにおけるユーザ位置に基づいて消費
することが可能な位置依存サービスに参加することもで
きる。
【0063】図4は、記載された実施形態による方法の
ステップを記述した流れ図である。すぐ後に述べるこれ
らのステップはコンピューティングデバイスによって実
施されるが、このコンピューティングデバイスは、図示
の例ではハンドヘルドモバイルコンピューティングデバ
イスである。
【0064】ステップS400で、コンピュータ可読媒
体上にある第1および第2の階層ツリー構造にアクセス
する。この例では、これらのツリー構造はデバイスに記
憶してもよく、あるいはインターネットなどのネットワ
ークを介してアクセス可能としてもよい。例示的な第1
のツリー構造はマスタワールドであり、例示的な第2の
ツリー構造はセカンダリワールドである。あるいは、ツ
リー構造は両方ともセカンダリワールドとすることもで
きる。デバイスからツリー構造にアクセスがあると、ス
テップS402で、ツリー構造の複数のノードを走査し
て、コンピューティングデバイスのコンテキストを引き
出す。この例では、コンピューティングデバイスは、一
方のツリーのノードにおけるその位置について知らせる
情報を受け取る。この情報は、適した任意の方法でコン
ピューティングデバイスに入来することができる。例え
ば、ユーザがユーザインタフェース(UI)を介してこ
の情報を入力してもよく、あるいは別のコンピューティ
ングデバイスからこのコンピューティングデバイスに位
置をブロードキャストしてもよい(例えばブルートゥー
ス技術やユニバーサルプラグアンドプレイ(UPnP)
を介して)。どのようにこの情報をコンピューティング
デバイスに伝えることができるかについての具体的な例
を、以下により詳細に提供する。どのようにこの情報を
コンピューティングデバイスに伝えるかにかかわらず、
コンピューティングデバイスは、情報を得ると、一方ま
たは両方のツリー構造を走査してそのコンテキストを引
き出すソフトウェアを実行する。コンテキストは、この
例ではデバイスの位置である。
【0065】(セカンダリワールドの定義)前述のよう
に、記載された実施形態の特に価値ある一面は、個々の
組織がそれら自体のセカンダリワールドを定義できるこ
とである。これにより、物品およびサービスを提供する
際の非常に高いフレキシビリティが組織に与えられ、よ
り一般的に言えば、これらの組織の効率が上がる。一実
施形態では、個々の組織がそれら自体のセカンダリワー
ルドを定義および維持することを可能にするソフトウェ
アツールが提供される。
【0066】一実施形態では、各セカンダリワールド
は、名前空間(例えばXML名前空間)として一意的に
識別することができる。これにより、セカンダリワール
ドとマスタワールドとの間のどのような名前のオーバー
ラップも衝突を生じないことが保証される。一例として
次のことを考えてみる。マスタワールドは、都市を指す
「シカゴ」として識別されるエンティティを含む。全米
プロバスケットボール協会(NBA)によって確立され
たセカンダリワールドと、キャタピラ社によって確立さ
れた異なるセカンダリワールドもまた、「シカゴ」とい
う名のエンティティを有し、これらのエンティティは、
マスタワールドの「シカゴ」とは完全に異なるエンティ
ティを指す。例えば、NBAの「シカゴ」はNBAの市
場地域を指し、キャタピラの「シカゴ」は販売地区を指
す。各名前空間は他のあらゆる名前空間と一意的に異な
るので、マスタワールドとセカンダリワールドとの間を
名前空間で分離することにより、同一の名前の付いたエ
ンティティ間の衝突がないことを保証することができ
る。
【0067】図5は、コンテキストアウェアなデータ構
造を構築する方法のステップを記述した流れ図である。
これらのステップは、コンピューティングデバイス上で
実行されるソフトウェアツールによって実施される。
【0068】ステップS500で、物理的かつ/または
論理的エンティティに関係する情報を指定する入力をソ
ースから受け取る。この例では、システム管理者が、定
義したいと思うセカンダリワールドの構造に関する情報
を物理的に入力することができる。この情報は、建物、
部門、会議室などに関する情報を含むことができる。次
いでステップS502で、この情報を処理して、コンテ
キストを有する階層ツリー構造を定義する。この例で
は、コンテキストは位置である。ただし、その他のコン
テキストを採用することもできることを理解されたい。
階層ツリー構造中の各ノードは、別々の物理的または論
理的エンティティを表す。次いでステップS504で、
階層ツリー構造の少なくとも1つのノードを、コンテキ
ストを有する別のツリー構造とリンクする。この例で
は、この別のツリー構造はマスタワールドを構成するこ
とができる。ツリー構造が構築されてリンクされると、
これらのツリー構造は、1つ以上のノードからコンテキ
ストを引き出すことのできる方式で走査される準備が整
う。
【0069】サービスとしての位置 上の例では、コンピューティングデバイスは、それ自体
の位置を判定することができる。これから述べる実施形
態では、コンピューティングデバイスは、異なるいくつ
かの情報ソースから提供されるロケーション情報を用い
てその位置を判定する。デバイスは、提供される情報を
取り入れ、その情報を処理して、1つ以上の階層ツリー
上にある特定ノードを判定することができる。これを行
うと、デバイスはその完全な位置を決定することがで
き、この位置は、特にデバイスのユーザが消費できる位
置依存サービスがあるときにわかると、有用なものであ
る。
【0070】図6に、例示的なコンピューティングデバ
イス600の高レベルの図を示すが、このコンピューテ
ィングデバイス600は、コンポーネントの中でもとり
わけ、コンテキストサービスモジュール602と、1つ
以上のコンテキストプロバイダ604a〜604cとを
備える。コンテキストサービスモジュール602は、適
した任意のハードウェア、ソフトウェア、ファームウェ
ア、またはこれらの組合せの中に実装することができ
る。この特定の例では、コンテキストサービスモジュー
ルは、1つ以上のデバイスプロセッサによって実行され
るソフトウェア中に実装される。コンテキストサービス
モジュール602は、1つ以上のコンテキストプロバイ
ダ604a〜604cからコンテキスト情報を受け取
り、その情報を処理して現在のデバイスコンテキストを
決定する。この特定の例では、デバイスコンテキストは
デバイスの位置である。したがって、コンテキストプロ
バイダは、ロケーション情報を、処理されるように、様
々な形でコンテキストサービスモジュール602に提供
する位置プロバイダである。位置プロバイダ604a〜
604cは、コンテキスト情報(ロケーション情報)の
様々なソース606a〜606cから情報を受け取る。
【0071】この文書に関しては、コンテキストプロバ
イダは、デバイス上に実装してもデバイスから離れた所
に実装してもよいソフトウェアコンポーネントを構成す
る。コンテキストプロバイダにはまた、適した任意のハ
ードウェア、ファームウェア、またはこれらの組合せを
含めることができる。コンテキストプロバイダの役割
は、ソース606a〜606cから情報を受け取り、そ
の情報をコンテキストサービスモジュール602に伝
え、それによりコンテキストサービスモジュールがその
情報を使用して現在のデバイスコンテキストを決定でき
るようにすることである。
【0072】デバイスのコンテキストがデバイスの位置
である場合、ソース606a〜606cは、デバイスの
現在位置に関係する様々な情報を位置プロバイダ604
a〜604cに提供する。一例として、情報ソースに
は、GPSシステム、携帯電話またはセルID、ロケー
ション情報を送信する無線送信機、位置ビーコン、80
2.11送信機、およびその他の様々な情報ソースのよ
うな、様々な情報送信機を含めることができる。情報ソ
ースにはまた、例えばブルートゥース技術を介してロケ
ーション情報を提供することのできるその他のコンピュ
ーティングデバイスを含めることもできる。さらに、情
報ソース606a〜606cには、デバイスが情報を処
理してその位置を決定できるように、例えば物理的にロ
ケーション情報をデバイス600に入力する人物を含め
ることもできる。
【0073】デバイス600がソース606a〜606
cからロケーション情報を受け取ると、デバイス600
は、位置プロバイダ604a〜604cを使用してその
情報を処理し、その情報を位置サービスモジュール60
2に提供する。位置サービスモジュール602は、ロケ
ーション情報を処理し、位置サービスモジュールからア
クセスできる1つ以上の階層ツリー構造上で現在位置に
対応する特定ノードを決定する。次いで位置サービスモ
ジュール602は、ツリー構造を走査して、デバイスに
対する完全な位置を判定する。完全な位置が判定される
と、デバイス600は、1つ以上のアプリケーション6
08a〜608cとの対話を開始することができ、これ
らのアプリケーション608a〜608cは、1つ以上
の位置依存サービスをデバイスに提供できるように、デ
バイスの特定位置についてデバイスに照会することがで
きる。この例では、アプリケーション608a〜608
cをデバイスとは別に示してある。しかし、例えばブラ
ウザアプリケーションなどのように、アプリケーション
はデバイス上で実行してもよいことを理解されたい。
【0074】図示のように、アプリケーション608a
〜608cはデバイスを呼び出して、デバイスがどこに
あるか尋ねることができる。デバイスは、呼出しを受け
取って適切な仕方でアプリケーションに応答するように
構成される。アプリケーションがデバイスのロケーショ
ン情報を得ると、アプリケーションは、位置固有サービ
スをデバイスに提供することができる。
【0075】次の例を考えてみる。自分は旅行者であ
り、SeaTac国際空港に関するマスタワールドツリ
ーおよびセカンダリワールドツリーを含んだハンドヘル
ドモバイルコンピューティングデバイスを有する。コン
コースCから中国行きの飛行機で出発する予定である。
SeaTac国際空港のセカンダリワールドは、「到
着」、「出発」、「コンコース」、「航空会社」、「航
空会社に割り当てられたゲート」、および「ゲート位
置」のノードを有するように設計されている。空港に到
着すると、あなたのコンピューティングデバイスは、空
港に入るときに種々のソースからロケーション情報を受
け取り、この情報を使用して、あなたの位置が到着ノー
ドにあることを判定する。SeaTac国際空港は、あ
なたが空港にいる間にあなたを補佐するためのアプリケ
ーションを実行しているサーバのバンクを有する。サー
ビスを見つけるのに役立つアプリケーション、設備(例
えば喫茶店やレストラン)を突き止めるのに役立つアプ
リケーション、方向(例えば自分の出発ゲートへの行き
方)を示すアプリケーション、自分のフライトの状況に
関する最新情報を提供するアプリケーション、さらには
自分のフライトに対して自分を自動的にチェックインす
るアプリケーションがある。また、空港の中を歩くのに
伴って自分の位置が変化することも考えてみる。しか
し、あなたのコンピューティングデバイスは、連続する
ロケーション情報更新を受け取ることができ、したがっ
て、空港の中を移動するのに伴ってその位置の判定を継
続することができる。ある地点では、スターバックスコ
ーヒーショップを通過するとき、あなたのハンドヘルド
デバイスは、スターバックスでラッテを購入してハンド
ヘルドデバイスを提示すれば、それに50セントの値引
きを受けることを知らせる。この例では、セカンダリワ
ールドの有用性が実例によって示されている。特定の顧
客が施設のどこにいるかを知ることにより、SeaTa
c国際空港は、以前は不可能だったサービスのホストを
提供することができる。
【0076】さらに、自分は空港にいて、自分のフライ
トが中止されたと仮定する。あなたは今晩宿泊する場所
を見つけなければならない。したがって、最も近いダブ
ルツリーホテルに決定しようと思う。というのは、チェ
ックインのときにそこで出される温かいチョコレートチ
ップクッキーが大好きだからである。最も近いダブルツ
リーホテルを見つけるために、自分のコンピューティン
グデバイス上でサーチエンジンを実行する。サーチエン
ジンアプリケーションはまず、あなたの位置に対応する
マスタワールドノードのEIDで示される、マスタワー
ルドにおけるあなたの現在位置を判定する。サーチエン
ジンアプリケーションは、探索を実行して、あなたのE
IDに合致するEIDを含む属性を有するダブルツリー
ホテルを探す。見つかった場合、サーチエンジンアプリ
ケーションは、単に結果をあなたに示す。対応するEI
Dを有するダブルツリーホテルが見つからない場合は、
近隣のジオゾーンを使用してダブルツリーホテルを探索
することができる。サーチエンジンアプリケーション
は、ホテルへの車での行き方も提供することができる。
サーチエンジンアプリケーションは、マスタワールドに
おけるあなたの位置を確認することができたので、この
ことを行うことができた。サーチエンジンアプリケーシ
ョンは、あなたからの労力をほとんどまたは全く要する
ことなく、このことを素早く自動的に行った。
【0077】さらに、空港からホテルへ車に乗っていく
とき、朝に行うことになっているプレゼンテーションの
コピーを100枚印刷できるように、最も近いキンコー
ズを見つけようとすると仮定する。自分のハンドヘルド
コンピューティングデバイスが携帯電話で、通信事業者
がスプリントであると考えてみる。スプリントは、例え
ばセルネット(cell nets)で示すことのできるそれ自
体のセカンダリワールドを定義している。スプリントの
セカンダリワールドが自分のコンピューティングデバイ
ス上にあるおかげで、スプリントのセカンダリワールド
における自分の位置を確認することができ、したがっ
て、マスタワールドにおける自分の位置を確認すること
ができる。キンコーズもまた、マスタワールドとリンク
するセカンダリワールドを有すると考えてみる。サーチ
アプリケーションを自分のデバイス上で実行することに
より、最も近いキンコーズの位置ならびにそこへの車で
の行き方を確認することができる。これはすべて、自分
のデバイスがマスタワールドと1つ以上のセカンダリワ
ールドとにアクセスできるので可能である。この例で
は、マスタワールドは、2つ以上のセカンダリワールド
を共にデイジーチェーン接続するメカニズムを提供す
る。これは、セカンダリワールドがマスタワールドの中
への参照またはリンクを少なくとも1つ有するので可能
である。例示的なデバイスアーキテクチャ図7に、コン
ピューティングデバイス600をもう少し詳細に示す。
この特定の実施形態では、デバイス600は、以下のコ
ンポーネントを含むアーキテクチャを有する。すなわ
ち、位置サービスモジュール720、位置プロバイダイ
ンタフェース700、アプリケーションプログラムイン
タフェース(API)/イベントモジュール702、プ
ライバシーマネージャ704、位置変換モジュール70
6、1つ以上のアプリケーション718a、718b、
718c、および1つ以上の位置プロバイダ716a〜
716hである。このアーキテクチャにはまた、アクテ
ィブディレクトリ708、ウェブサービス710、位置
データベース712、および個人場所714も含まれ
る。このアーキテクチャは、適した任意のハードウェ
ア、ソフトウェア、ファームウェア、またはこれらの組
合せの中に実装することができる。前述のアーキテクチ
ャは、各コンピューティングデバイスがそれ自体のコン
テキストまたは位置を決定することを可能にする点で有
利である。
【0078】(共通の位置プロバイダインタフェース)
記載された実施形態の特に有利な一面は、位置プロバイ
ダ716a〜716hがそれを介して通信する標準的な
インタフェースを形成する、共通インタフェース700
を採用することである。共通インタフェースを有するこ
とにより、位置プロバイダは、位置プロバイダの集合か
ら動的に追加または除去することができるので、(将来
のプロバイダをサポートするために)拡張可能である。
特定の位置プロバイダ716a〜716hに必要なの
は、共通インタフェースをサポートするように書かれる
ことだけである。
【0079】この例では、いくつかの位置プロバイダ7
16a〜716hがある。これらの位置プロバイダは、
ロケーション情報を種々の形で提供する。例えばGPS
位置プロバイダは、GPS固有のロケーション情報を提
供することができる。同様に、IP/サブネット位置プ
ロバイダは、インターネットプロトコル固有の情報を提
供することができる。移動電話位置プロバイダは、セル
IDの形でロケーション情報を提供することができる。
さらに、位置ユーザインタフェース(UI)は、市、通
り、または建物を指定するユーザ入力の形でロケーショ
ン情報を提供することができる。様々な位置プロバイダ
から提供されるロケーション情報はすべて、現在のデバ
イス位置を決定できるように位置サービスモジュール7
20によって処理される。現在のデバイス位置を決定す
るために、位置サービスモジュール720は、アクティ
ブディレクトリ708、ウェブサービス710、または
位置データベース712を調べなければならない場合が
ある。図示の例では、アクティブディレクトリ708は
例えば、セカンダリワールドと、ネットワーキング接続
性に基づいて位置を決定するのに役立つサブネットや
「サイト」の情報など他のネットワーキングメタデータ
とを維持することができる。ウェブサービス710は、
マスタワールドまたはセカンダリワールドを保持するこ
とができ、これらの属性を使用して位置を見つけること
ができる。例えば、携帯電話がそのセルタワーIDを知
っている場合、位置プロバイダはセカンダリワールドに
照会して、そのセルタワーIDに合致するノードを確認
することができる。位置データベース712は基本的
に、ローカルにホスティングまたはキャッシュされるバ
ージョンのウェブサービスである。
【0080】(位置プロバイダ)先に示したようにこの
アーキテクチャでは、位置サービスモジュール720に
ロケーション情報を提供することのできる、様々な複数
の位置プロバイダを考えている。この情報は、多くの様
々な形および品質レベルで入来することができる。次い
でこの情報は、位置サービスモジュール720によって
処理されて、現在のデバイス位置が決定される。こうす
るために、サービスモジュール718は、ロケーション
情報から特定のノードID(EIDおよび/またはLU
ID)と、そのノードが関連付けられているツリー構造
に関連するURLとを確認する。位置サービスモジュー
ルは、ノードIDを確認すると、URLを使用してツリ
ー構造(またはより正確にはツリー構造を管理するサー
バ)に照会して、ツリー構造に関するより多くの情報を
確認することができる。例えば、位置サービスモジュー
ル720が特定のセカンダリワールドからLUIDを確
認した場合、位置サービスモジュール720は、アクテ
ィブディレクトリ708(または別の位置データベース
であるイントラネットサーバ)に照会して、ノードの親
と子を発見することができる。これにより、次いで位置
サービスモジュールは、セカンダリワールドを構築する
ことができる。
【0081】位置プロバイダ716a〜716hは、位
置サービスモジュール720に多くの様々な方式でロケ
ーション情報を提供することができる。例えばいくつか
の位置プロバイダ716a〜716hは、情報を連続的
に提供することができる(例えばGPSプロバイダはG
PS座標を連続的に提供することができる)。あるいは
位置プロバイダは、特定時刻や定義可能イベントの発生
時などにロケーション情報を定期的に提供することもで
きる。例えばユーザは、ロケーション情報を更新すべき
特定時刻を定義することができる。あるいはロケーショ
ン情報は、デバイスの位置が変化したとき(すなわち位
置変化イベント)だけ更新してもよい。さらに、位置プ
ロバイダは、位置サービスモジュール720からポーリ
ングを受けたときにロケーション情報を提供することも
できる。例えば、位置サービスモジュール720が位置
プロバイダインタフェース700を呼び出して、1つ以
上の位置プロバイダにロケーション情報を要求すること
ができる。
【0082】具体的な位置プロバイダ716a〜716
hの1つがキャッシュとして示されている。このキャッ
シュプロバイダ716cは、本質的に、現在のデバイス
コンテキストまたは位置を維持する。すなわち、位置サ
ービスモジュール720がその現在位置を確認すると、
位置サービスモジュール720は、この位置をキャッシ
ュに書き込む。これによりデバイス600は、他のすべ
ての位置プロバイダがロケーション情報を提供できない
場合でも、ある程度の信頼度でその位置を確認すること
ができる(例えばGPSプロバイダは、それに情報を供
給するGPS送信機が必要数の衛星に接触できないため
にGPS情報を受信できないことがある)。
【0083】(信頼度および正確度のパラメータ)記載
された実施形態の重要かつ有用な特徴の1つは、1つ以
上の位置プロバイダが、位置サービスモジュール720
に提供する情報に信頼度パラメータおよび/または正確
度パラメータを割り当てるように構成されることであ
る。信頼度パラメータは、プロバイダが位置サービスモ
ジュール720に提供する情報に対するプロバイダの信
頼の程度を提供する。例えば、GPS送信機が、信頼性
の高い情報を提供するために5台または6台の衛星から
情報を受け取らなければならないと仮定する。このと
き、3台の衛星しか利用可能でないと仮定する。この場
合、GPS送信機は、3台の衛星だけに基づく情報を送
信することになる。次いでGPSプロバイダは、GPS
送信機から受け取る情報が所望の5台以上ではなく3台
の衛星だけに基づいていたことを知る。この場合、GP
Sプロバイダは、所望の5台以上の衛星に基づく場合よ
りも低い信頼度レベルのロケーション情報であることを
示すように、ロケーション情報に関する信頼度パラメー
タを設定することができる。この場合、位置サービスモ
ジュール720は、デバイスの位置を決定するときにす
べての位置プロバイダに対する信頼度パラメータを考慮
することができる。これについては後でより詳細に論じ
る。
【0084】正確度パラメータに関しては、位置プロバ
イダから受け取るロケーション情報の正確さの程度が様
々であると考えてみる。ある情報は1マイル以内の正確
度であり、他の情報は100フィート以内の正確度であ
る場合がある。位置プロバイダは、位置プロバイダが位
置サービスモジュール720に提供するロケーション情
報に正確度パラメータを割り当てるように構成すること
が望ましい。正確度パラメータは、情報の正確度の指標
を位置サービスモジュールに与える。
【0085】位置サービスモジュール720が信頼度お
よび正確度のパラメータを使用するとき、モジュール
は、各プロバイダから受け取るロケーション情報をどの
ように使用するか決定することができる。例えば、位置
サービスモジュール720は、信頼度パラメータの低い
情報はどれも完全に無視することができる。一方、情報
の正確度とその信頼度との間のバランスをとることもで
きる。例えば、正確度レベルの低い情報を、その信頼度
レベルが高いときだけ使用するようにプログラムするこ
ともできる。モジュール718は、これらのパラメータ
を使用して情報に重みを割り当てることができ、したが
って、情報の信頼度および正確度の重み付けに応じて位
置が計算される。
【0086】信頼度パラメータの別の使用法は次のよう
なものである。位置サービスモジュールがデバイス位置
を決定し、その位置をキャッシュに書き込んだと仮定す
る。位置がキャッシュに書き込まれるとき、この位置に
はおそらく高い信頼度レベルが割り当てられる。さら
に、他のすべての位置プロバイダがロケーション情報を
提供できないとも仮定する。ある期間にわたり、位置サ
ービスモジュール720は、キャッシュ位置を現在位置
として使用することができ、その情報が概して正確であ
ると適度に確信することができる。この場合、位置サー
ビスモジュールは、時の経過と共に直線的に低下する信
頼度レベルを情報に割り当てることができ、したがって
ある時点で、その情報の使用を停止するか、その情報を
保証できないことをユーザに通知する。
【0087】(位置、信用度、およびタイムスタンプ)
位置プロバイダがそれらの情報を位置サービスモジュー
ル720に提供するとき、この情報は、信頼度および正
確度のパラメータに加えて、周知のフォーマットをとる
実際のロケーション情報、信用度パラメータ、およびタ
イムスタンプを含むことができる。信用度パラメータ
は、位置サービスモジュール720から1つ以上の位置
プロバイダに割り当てられる測定基準であり、位置サー
ビスモジュールが特定の位置プロバイダに対して有する
信用を定義する。タイムスタンプは、ロケーション情報
が位置プロバイダによって提供された時刻を定義する測
定基準である。これは、情報が古くなったかどうかを位
置サービスモジュール720が確認するのを補助し、リ
フレッシュが必要である。
【0088】位置サービスモジュール720は、すべて
のロケーション情報を得ると、デバイスの位置の決定を
開始することができる。
【0089】図8は、デバイスコンテキストを決定する
方法のステップを記述した流れ図であり、デバイスコン
テキストは、この例ではデバイス位置である。これらの
ステップは、位置サービスモジュール720によって実
施される。
【0090】ステップS800で、現在のデバイスコン
テキストを得る。現在のコンテキストは、キャッシュに
記憶されている、最後に計算されたデバイスコンテキス
トとすることができる。ステップS802で、いくつか
のコンテキストプロバイダのうちのいずれがコンテキス
ト情報の提供に利用可能かどうかを判断する。位置サー
ビスモジュールはこれを、コンテキストプロバイダをポ
ーリングして、どのプロバイダがアクティブかつ有効か
を確認することによって行うことができる。ステップS
804で、すべてのプロバイダが非アクティブかどうか
を判断する。すべてのプロバイダが非アクティブである
場合は、ステップS806で、現在のコンテキストに対
する信頼度を時の経過と共に下げ、現在のコンテキスト
をデバイスコンテキストとして使用する。次いでステッ
プS802で、現在アクティブかつ有効なプロバイダが
あるかどうか監視を継続する。ステップS804で、1
つ以上のコンテキストプロバイダがアクティブであると
決定された場合は、ステップS808で、アクティブか
つ有効なコンテキストプロバイダを順序付ける。コンテ
キストプロバイダを順序付けまたはソートするとき、位
置サービスモジュール720は、プロバイダの情報の信
頼度および/または位置サービスモジュールが位置プロ
バイダに対して有する信用度に応じて行う。これによ
り、位置プロバイダをランク付けしたリストがもたらさ
れる。ステップS810で、コンテキスト情報が正しく
見えるかどうかを確認するためにチェックする。例え
ば、コンテキストがデバイスの位置である場合、位置サ
ービスモジュール720は、5秒前に現在位置がワシン
トンのレッドモンドであったことを知っている場合があ
る。したがって、現在位置が中国の北京であることを示
すロケーション情報は間違っていることになる。次いで
ステップS812で、コンテキスト情報のいずれかが、
デバイスの現在のコンテキストまたは他のプロバイダか
らのコンテキスト情報と競合するかどうかを判断する。
例えば、位置サービスモジュール720は、各コンテキ
ストプロバイダからのコンテキスト情報をキャッシュ中
の情報と比較することができる。キャッシュされている
情報と競合する情報がある場合は、そのコンテキストプ
ロバイダからの情報を無視することができる。同様に、
コンテキスト情報がコンテキストプロバイダ間で極端に
異なる場合は、ステップS814で、事前定義済みの信
用度レベルを有するコンテキストプロバイダを選択する
ことができ、おそらくそれらの情報だけを使用すること
ができる(ステップS816)。競合がない場合は、ス
テップS816で、すべてのコンテキストプロバイダか
ら提供される情報に基づいて現在のコンテキストを決定
(determine)する。記載された実施形態で
は、このステップは、この情報を使用して前述の1つ以
上の階層ツリー構造の特定ノードにマッピングすること
によって実施する。例えば、デバイスの位置は、情報を
特定ノードにマッピングし、次いでルートノードに到達
するまでツリー構造を完全に走査することによって確認
することができる。次いでステップS818で、おそら
くキャッシュに書き込むことによって現在のコンテキス
トを更新し、ステップS802に戻って、アクティブか
つ有効なコンテキストプロバイダを判断する。
【0091】前述の方法では、位置サービスモジュール
がロケーション情報を受け取って、現在位置を表す可能
性がほぼ高いと思われるロケーション情報だけを使用す
る方式が提供される。競合する情報は、割り引いて考え
るか無視することができ、それにより、最も信用でき、
正確であり、信頼できる情報を利用して、デバイスの現
在位置が決定される。
【0092】(自己監視)信頼度および正確度のパラメ
ータに加えて、1つ以上の位置プロバイダは有利にも、
起こり得る様々な異常に備えてそれら自体の動作を自己
監視するようにプログラムされる。位置プロバイダは、
異常の発生時に位置サービスモジュール720に通知す
るように構成される。例えば、位置プロバイダが情報を
受け取る先のソースがある期間にわたってオフラインに
なり、したがって位置プロバイダがどのような追加情報
も受け取ることができない場合がある。この場合、位置
プロバイダは「プロバイダアウト(provider
out)」メッセージを生成し、それを位置サービスモ
ジュール720に送ることができる。位置サービスモジ
ュール720は、「プロバイダアウト」メッセージを受
け取ると、それが行うどのような位置計算からもこのプ
ロバイダからのロケーション情報を除外するステップを
採ることができる。位置プロバイダのソースがオンライ
ンに戻ったときは、位置プロバイダは、ロケーション情
報を位置サービスモジュール720に送信できることを
モジュールに通知する「プロバイダオン(provid
er on)」メッセージを生成することができる。当
然ながら、位置サービスモジュールは、その他の動作異
常の発生時にも位置プロバイダから通知を受けることが
でき、前述の例は、ある特定の場合を構成するだけであ
る。
【0093】(アプリケーション)位置サービスモジュ
ール720は、デバイスの位置を決定すると、1つ以上
のアプリケーション718a〜718cからクエリーを
受けることができる。図7の例では、アプリケーション
には、ウェブサイトアプリケーション、アウトルック
(Outlook)アプリケーション、およびサービス
発見アプリケーションが含まれる。この例では、ウェブ
サイトアプリケーションは、位置固有のサービスを提供
できるウェブサイトアプリケーションならどのようなも
のでもよい。例えば、デバイス600のユーザが、アマ
ゾンコムのウェブサイトにアクセスして気に入った本を
買う場合がある。ユーザがアマゾンコムの本を買うと
き、アマゾンコムはここで、ユーザが支払わなければな
らない税金を計算しなければならない。この例では、ア
マゾンコムのウェブサイト上で実行されるスクリプト
が、ユーザの位置について知るためにデバイス600に
照会することができる。この特定の例では、デバイスは
クエリーに応答して、ユーザが購入しようとしている状
態を返すことができる。次いで、アマゾンコムは自動的
に課税することができる。アマゾンコムはまた、最適な
発送方法(UPSまたはエクスプレスメール(Expr
ess Mail))を選択できるように、この個人が
どこにいるかを知りたい場合もある。個人がどこにいる
かに応じて、一方の方法が他方よりも好ましい場合があ
る。アウトルックアプリケーションは、位置サービスモ
ジュールに照会して位置を確認する場合がある。という
のは、アウトルックアプリケーション(またはオペレー
ティングシステム、例えばWindows(登録商
標))がコンピューティングデバイスの位置に基づいて
デバイス設定を変更することができるからである。例え
ばユーザは、仕事ではある特定のプリンタ上で印刷し、
家では別の特定のプリンタ上で印刷する場合がある。ユ
ーザがその日は家に帰っている、とアウトルックアプリ
ケーションが判断した場合、アウトルックアプリケーシ
ョンは、ユーザの家のプリンタに関するデバイス設定を
自動的に変更することができる。印刷設定は、個人場所
データ記憶装置714から得ることができる。したがっ
て、デバイスは、ユーザの位置に応じて使用されるよう
に自動的に構成される。サービス発見アプリケーション
は、デバイスがどこにあるかに応じて特定のサービスを
提供できるように、デバイスに照会してその位置を判断
することができる。例えば、ユーザが最も近いカラープ
リンタを突き止めるようアプリケーションに依頼する場
合、サービス発見アプリケーションは、位置サービスモ
ジュールに照会してデバイスの現在位置を確認すること
ができ、したがってこの情報を用いて最も近いカラープ
リンタを見つけることができる。また、アウトルックア
プリケーションは、職場の位置(個人が仕事中のとき)
または家の位置(個人が家にいるとき)に電子メールを
送るようにそれ自体を構成することができることも考慮
されたい。さらに、アウトルックカレンダーをロケーシ
ョンアウェアにすることもできる。例えば、時間帯を変
更したときでも自分の日時の約束が正しい時間枠中に現
れることになる。
【0094】想像できるように、可能性は無限であると
思われる。この機能は、マスタワールドと1つ以上のセ
カンダリワールドとを使用することによって可能とな
る。
【0095】(アプリケーションプログラムインタフェ
ース/イベント)記載された実施形態では、アプリケー
ション718a〜718cは、1つ以上のアプリケーシ
ョンプログラムインタフェース(API)および/また
はイベントを介して位置サービスモジュール720と通
信する。アプリケーションは、APIに対する関数呼び
出しを行って、位置サービスモジュールにその現在位置
について照会することができる。同様に、アプリケーシ
ョンは、イベント登録プロセスを用いて位置通知の登録
をすることができる。例えば、アプリケーションは、ユ
ーザが自分の位置を変更したときの通知の登録をするこ
とができる。アプリケーションがデバイスの構成(プリ
ンタ構成など)を変更できるように、ユーザが職場また
は家に着いたときに通知を受けるようアプリケーション
が要求する場合を考えてみて欲しい。
【0096】図9は、記載された実施形態による方法の
ステップを記述した流れ図である。記述されているこれ
らのステップは、デバイス600によって行われる。ス
テップS900で、デバイスの現在のコンテキストに関
係する情報を受け取る。この特定の例では、情報の一部
を1つ以上のコンテキストプロバイダから受け取るが、
コンテキストプロバイダは、この場合は位置プロバイダ
である。ステップS902で、デバイス上でデバイスに
よって情報を処理して、デバイスの現在のコンテキスト
を確認する。図示の例では、デバイスは、マスタワール
ドと1つ以上のセカンダリワールドのうち、1つ以上を
維持する(またはこれらにアクセスすることができ
る)。デバイスは、すべてのロケーション情報を受け取
ると、これらの世界を定義する階層ツリー構造中の特定
ノードにこれらの情報をマッピングする。次いで、ツリ
ー構造を走査して、デバイスの完全なコンテキスト(す
なわち位置)を確認する。ステップS904で、デバイ
スの現在のコンテキストすなわち位置に関係する情報を
要求する呼び出しを、1つ以上のアプリケーションから
受け取る。図示の例では、アプリケーションは、1つ以
上のAPIを呼び出して情報を要求することもでき、あ
るいはイベント通知の登録をすることもできる。次いで
ステップS906で、現在のデバイス位置に関係する少
なくともいくつかの情報をアプリケーションに供給す
る。後で論じるように、アプリケーションに情報を返す
前にセキュリティポリシーまたはプライバシーポリシー
を情報に適用することもできる。
【0097】(プライバシーマネージャ)一実施形態で
は、プライバシーマネージャ704(図7)が提供され
る。プライバシーマネージャはデバイス上に組み込まれ
たものとして示してあるが、信用できるサーバなど、モ
バイルコンピューティングデバイスの一部ではない信用
できるエンティティによって実装することもできる。プ
ライバシーマネージャは、適した任意のハードウェア、
ソフトウェア、ファームウェア、またはこれらの組合せ
の中に実装することができる。図示の例では、プライバ
シーマネージャは、モバイルコンピューティングデバイ
スに組み込まれたソフトウェアモジュールを構成する。
【0098】プライバシーマネージャ704は、コンピ
ューティングデバイスによって収集された情報に関連す
るプライバシー問題に対処する。具体的には、位置サー
ビスモジュールは、コンピューティングデバイスの位置
に関する詳細な情報を計算することができる。場合によ
っては、様々なアプリケーションに提供される情報をフ
ィルタリングすることが望ましいことがある。すなわ
ち、信用できないアプリケーションに自分の具体的なロ
ケーション情報を提供されたくない、とユーザが思う場
合がある可能性は、全体的に高い。これらの場合、ユー
ザは位置サービスモジュール720に、このようなアプ
リケーションにはユーザがワシントン州にいることだけ
を通知するよう望むことができる。
【0099】図10に、記載された実施形態によるプラ
イバシー保護方法のステップを記述した流れ図を示す。
これらのステップは、プライバシーマネージャ704に
よって実施することができる。
【0100】ステップS1000で、複数のプライバシ
ーレベルを定義する。例示的なプライバシーレベルを、
直下の表に示す。
【0101】
【表4】
【0102】上に示した表では、異なる10個のプライ
バシーレベルが定義されており、それぞれにおよそのス
ケールが関連付けられている。例えば、プライバシーレ
ベル0は、ロケーション情報が返されないことを意味す
る。プライバシーレベル90は、非常に詳細なロケーシ
ョン情報が返されることを意味する。
【0103】ステップS1002で、1つ以上の階層ツ
リー構造中にある個々のノードに様々なプライバシーレ
ベルを割り当てる。例えば、マスタワールドおよびセカ
ンダリワールドの各ノードにプライバシーレベルを関連
付けることができる。マスタワールドツリー構造のルー
トノードはプライバシーレベル10を有することがで
き、セカンダリワールド中の現在位置を表すノードはプ
ライバシーレベル90を有することができる。ステップ
S1004で、コンピューティングデバイスのコンテキ
ストを決定する。この例ではコンテキストはデバイス位
置であり、これをどのように行うかについての例は先に
述べた。位置サービスモジュールを呼び出す個々のアプ
リケーションには、プライバシーレベルを関連付けるこ
とができる。これらのプライバシーレベルは、個々のユ
ーザが割り当てることができる。例えば、信用できるア
プリケーションはプライバシーレベル90を有し、信用
できないアプリケーションはプライバシーレベル30を
有する。ステップS1006で、1つ以上のアプリケー
ションからコンテキストクエリーを受け取る。このとき
アプリケーションは、位置サービスモジュール720
(図7)を呼び出してデバイスの位置を確認する。ステ
ップS1008で、アプリケーションに関連するプライ
バシーレベルを決定する。例えば、信用できないアプリ
ケーションがロケーション情報を要求する呼出しを行う
場合、プライバシーマネージャ704は、このアプリケ
ーションがプライバシーレベル30を有すると決定す
る。次いでプライバシーマネージャは、1つ以上の階層
ツリー構造を走査(ステップS1010)して対応する
プライバシーレベルを有するノードを見つけるので、そ
のノードに関連する情報を選択することができる。この
例では、走査は、ユーザの位置する州に対応するノード
を見つけるためにセカンダリワールドからマスタワール
ドにジャンプすることを含むことがある。対応するノー
ドが見つかると、ステップS1012で、このノードに
関連するコンテキスト情報(例えばロケーション情報)
を返す。この場合、位置サービスモジュールは、ユーザ
の位置がワシントン州であることをアプリケーションに
通知することになる。
【0104】一例として、次のことを考えてみる。様々
な位置の詳細な天気まで提供するウェブサイトがある。
したがって、自分の現在の完全な郵便番号に対応する地
理領域に対する天気情報を受け取ることができるよう
に、このウェブサイトにプライバシーレベル60を割り
当てることができる。別のウェブサイトは、信用できる
ウェブサイトであるコーポレーションイントラネットウ
ェブサイトである。したがって、このウェブサイトに関
連するどのようなアプリケーションにもプライバシーレ
ベル90が割り当てられ、それにより、これらのアプリ
ケーションには自分の所在に関する正確なロケーション
情報を提供することができる。
【0105】したがってこの例では、コンピューティン
グデバイスは、そのクエリーのソース(すなわちアプリ
ケーション)を決定し、そのアプリケーションに返す情
報をアプリケーションの識別に応じて調整することがで
きる。コンピューティングデバイスは、マスタワールド
と1つ以上のセカンダリワールドにアクセスできるの
で、これを行うことができる。上述の説明は、この効用
を成す方式のほんの一例を構成するにすぎない。
【0106】位置プロバイダとしての位置ビーコン 一実施形態では、位置プロバイダの1つは、コンピュー
ティングデバイスが、その現在のコンテキストにアクテ
ィブに参与できるようにするための情報を、指示または
送信する、位置ビーコンを含む。位置ビーコンは、電源
が得られるように既存のインフラストラクチャ、例えば
煙探知機や壁の排気口に後付けすることのできる、スタ
ンドアロンデバイスで構成することができる。
【0107】図11に、構造物1102上に搭載された
例示的なビーコン1100を示す。構造物1102は、
会議室や公共の場所の壁、煙探知機、電気ソケットな
ど、適した任意の構造とすることができる。記載された
実施形態では、位置ビーコンは、会議室、建物ロビー、
空港ゲート、公共の場所などの特別な位置に永続的に搭
載することのできる、小型で安価なデバイスである。ビ
ーコンは、ラップトップ、タブレットPC、ハンドヘル
ドコンピュータ、移動電話、ウェアラブルコンピュータ
など、範囲内にあるすべての移動デバイスに物理的位置
をEIDおよび/またはLUIDの形で通知する。
【0108】記載された実施形態では、位置ビーコン
は、モバイルコンピューティングデバイスに理解される
標準情報を指示することにより、その特定の位置を識別
することができる。この例では、ビーコンは、EID/
URLのペアおよびLUID/URLのペアを含む1つ
以上の位置識別子のペアを送信することができる。ビー
コンはまた、複数のLUIDを送信することもできる。
EIDおよびLUIDは、マスタワールドとセカンダリ
ワールドのそれぞれにおける現在のノード位置を提供す
る。URLは、マスタワールドおよびセカンダリワール
ドに対する到達可能な位置を提供する。例えば、セカン
ダリワールドに関連するURLは、デバイスがセカンダ
リワールドに関する情報を照会するのに使用できるサー
ビス位置を提供することができ、したがってデバイス
は、そのコンテキストを引き出して、セカンダリワール
ドの中のそのノードに関連するリソースまたはサービス
を利用することができる。
【0109】ビーコンはまた、ビーコンが有効かつ本物
であることを確認するためにデバイスが使用できる、デ
ィジタル署名を送信することもできる。適した任意の署
名方法または検証方法を用いることができる。加えて、
コンテキストアウェアな環境で特に役立つが、ビーコン
は、範囲内のデバイスにコードダウンロードポインタを
送信するようにプログラムすることもできる。コードダ
ウンロードポインタにより、コンピューティングデバイ
スは、それらの環境と対話することを可能にするソフト
ウェアコードにアクセスすることができる。次の例を考
えてみる。あなたが自分の携帯電話のコンピューティン
グデバイスを持って会議室の中に歩いていくと、会議室
内のビーコンは、すぐにあなたの位置をEID/URL
のペアおよびLUID/URLのペアの形で送信する。
あなたのデバイスは、その情報のペアを使用して、前述
のようにマスタワールドおよびセカンダリワールドにお
けるその位置を確認する。ビーコンはまた、あなたの携
帯電話を使用して会議室内のビデオプロジェクタを操作
できるようにするソフトウェアコードを指すコードダウ
ンロードポインタも送信する。このようにして、ビーコ
ンは単なる位置ビーコン以上の働きをする。ビーコン
は、あなたが自分のコンピューティングデバイスを介し
て自分の周囲にアクティブに参与することを可能にす
る。
【0110】ビーコンは、適した任意の方法、例えば赤
外線や無線周波を含めた無線方法で情報を送信すること
ができる。一実施形態では、ブルートゥース短距離無線
周波通信を用いて、低コストかつ低電力の代替方法を提
供することもできる。
【0111】コンテキスト指向企業用コンピューティン
グポリシー (概要)コーポレーションまたは「企業」はしばしば、
コーポレーションまたは企業のメンバがメンバ同士と、
かつ、コーポレーションのコンピューティング環境にい
る間に使用できるコーポレーションまたは企業のリソー
スとリンクできるようにするのに使用される大規模なコ
ンピュータネットワークを管理する。例えば、会社は通
常、様々なメンバに、メンバの様々な業務の遂行を補助
するのに使用されるコンピューティングデバイス(すな
わちコンピュータ、ラップトップ、ハンドヘルドデバイ
ス、モバイルまたは携帯用コンピューティングデバイス
など)を提供することができる。企業にとっての継続的
な困難は、コンピューティングデバイスに関するポリシ
ーを効果的かつ効率的に発布し施行する方式を見つける
ことである。企業ポリシーは、企業によって確立された
規則の集りと考えることができ、企業のコンピューティ
ングデバイスに関してコンピューティング環境の様々な
パラメータを定義するように施行可能である。誰が、ま
たはどのデバイスがどのリソースにアクセスできるか、
どのようにリソースを使用すべきか、どのようにコンピ
ューティングデバイスを使用すべきか、どこでコンピュ
ーティングデバイスを使用すべきであり、どこで使用す
べきでないかなどに関する考慮はすべて、何らかの形
で、その企業用システム管理者が定義するポリシーの影
響を受ける可能性がある。
【0112】過去においてポリシーは、主としてユーザ
またはデバイスのネットワーク識別に基づいて、および
/またはおそらくデバイスの機能または能力に基づいて
定義され施行されてきた。例えば、会社に利用されてい
る種々のタイプのリソースにそれぞれ関連する複数のサ
ーバを有する会社の状況を考えてみる。あるサーバは会
社の財務リソースに関連する。これらのリソースは、会
社の財務グループ中の個人にしか必要とされない。した
がって、ユーザの識別(すなわち、そのユーザは財務グ
ループの中にいるか?)に基づいて、および/またはサ
ーバにアクセスしようとするコンピュータ(すなわち、
そのコンピュータは専用の財務グループコンピュータか
?)に基づいてこれらのサーバへのアクセスを制限する
ポリシーをシステム管理者が定義することができる。こ
のシナリオでは、ユーザおよびデバイスの識別、および
/またはこれらの物理的位置に基づいてポリシーを確立
することができる。
【0113】企業ポリシーを確立し施行するための従来
のモデルは、将来的には、ユーザがユーザ自身を見い出
すというフレキシブルなコンピューティング環境を考慮
した新しい発明的モデルに大いに道を譲らなければなら
なくなりつつある。
【0114】記載された実施形態によれば、有利にもコ
ンピューティングデバイスのコンテキストのみならずデ
バイスのコンテキストの変化も考慮した、企業ポリシー
の確立および施行の方法およびシステムが提供される。
デバイスのコンテキストを確認し、次いで、このコンテ
キストに関連するポリシーを施行する。デバイスのコン
テキストが変化した場合は、適切ならば新規または追加
のポリシーを施行することができる。残りの考察を通し
て例として用いる特定の実施形態では、デバイスのコン
テキストはデバイスの特定位置を構成する。ただし、位
置はデバイスコンテキストの一例として用いるにすぎ
ず、記載の原理をどのように特定の例で採用できるかを
読者が理解するのを助けるために用いるものであること
を理解および認識されたい。したがって、その他のデバ
イスコンテキストを使用することもできる。一例とし
て、コンピューティングデバイスのコンテキストは、デ
バイスの環境にある任意のものに関係するものでよく、
またコンピューティングデバイスの周りで起こっている
ことに関係してもよい。コンピューティングデバイスの
コンテキストの定義態様として、周囲温度や照明条件な
どを考えることができる。
【0115】記載された実施形態では、コンピューティ
ングデバイスにポリシーが備わるが、そのいくつかは企
業用コンピューティングに関係するものである。これら
のポリシーは、システム管理者がそれらのコンテキスト
依存性によって定義することができ、したがって、コン
ピューティングデバイスのコンテキストが変化したとき
は、そのデバイス上で適用されるポリシーセットもまた
変化する。ポリシーは、コンテキストまたは具体的な例
では位置の、一般的な抽象表現または論理表現で表すこ
とができる。このコンテキストの一般的な抽象表現また
は論理表現は、有利にも、プライマリおよびセカンダリ
階層ツリー構造を利用してコンテキスト、具体的には位
置を確認する前述の技法およびシステムを用いることに
よって提供することができる。前述のようにポリシーが
施行されるようにするためには、コンテキストまたは位
置を確認するための適した任意の方式を利用することが
できることを認識および理解されたい。
【0116】図示の例では、各コンピューティングデバ
イスはソフトウェア中に実装されたポリシーエンジンを
有し、このポリシーエンジンは、コンテキスト情報また
はコンテキストの変化に関連する情報を受け取る。この
受信情報に基づいて、ポリシーエンジンは様々なポリシ
ーを評価して得られるポリシーセットを提供する。この
ポリシーセットは、通常はデバイスのオペレーティング
システムを介してデバイスについて施行される。例え
ば、あるコンピューティングデバイスが、前述のように
デバイス上でセカンダリワールドを使用することによっ
て確認される特定の安全なコンピューティング領域に位
置する。この安全なコンピューティング領域中では、こ
のコンピュータのユーザは、確立されたポリシーに従っ
て機密性質の文書を自由に扱うことができる。しかし、
安全なコンピューティング領域を離れると、コンピュー
ティングデバイスはその位置を決定し(すなわち、もは
や安全なコンピューティング領域に位置しないと決定
し)、ポリシーエンジンはポリシーを評価して得られる
新しいポリシーセットを提供し、次にこのポリシーセッ
トが施行される。新しいポリシーは、安全な領域の外で
は機密文書にアクセスすることまたはそれを使用するこ
とを許可しない。あるいは、安全な領域の外では文書の
機密部分がブランクとされる。
【0117】例示的なアーキテクチャ 図12では、コンテキスト指向企業用コンピューティン
グポリシーを実施するように構成された例示的なアーキ
テクチャまたはシステムを1200に一般に示す。この
アーキテクチャは、適当な任意のハードウェア、ソフト
ウェア、ファームウェア、またはこれらの組合せの中に
実装することができる。図示の例では、このアーキテク
チャは、企業用コンピューティングデバイスの一部を構
成するソフトウェア中に実装されている。余談になる
が、記載された実施形態の態様は、企業用コンピューテ
ィングデバイスのコンテキストで述べるものの、企業用
コンピューティングデバイスに依存せずに実施すること
もできることを認識および理解されたい。
【0118】システム1200は、コンテキスト情報ま
たはコンテキスト変化イベントを提供するコンテキスト
サービス1202を備える。適したコンテキストサービ
スについては、図6を参照して先述してある。ロケーシ
ョンサービスの形をとるコンテキストサービスの特定の
例については、図7を参照して先述してある。ポリシー
エンジン1204が備わるが、これは、ポリシーを評価
し、デバイスの現在コンテキストに基づいて、適用され
る結果的なポリシーセットを決定することを担う。次い
で、得られたポリシーセットがデバイスについて施行さ
れる。ポリシーの施行は、デバイス上またはデバイスか
ら離れたところで実行できる様々なアプリケーション1
206に新しい設定または「状態(state)」を発布す
ることを含む可能性がある。
【0119】デバイス、すなわちより具体的にはポリシ
ーエンジン1204は、異なるいくつかのポリシーソー
スからポリシーを受け取ることができる。例示的なポリ
シーには、デバイスに関係し、デバイスの所有者からく
るデバイスポリシー1208や、デバイスがその内部で
動作できる1つ以上のネットワークに関係し、それらの
ネットワークを管理するネットワーク管理者からくるネ
ットワークポリシー1210や、デバイスが関連する企
業に関係し、企業管理者からくる企業ポリシー1212
を含めることができる。これらのポリシーはすべて、ポ
リシーエンジンへの入力として提供することができる。
ポリシーエンジンは、現在のデバイスコンテキストの結
果としてポリシーを評価して得られるポリシーセットを
決定し、このポリシーセットが次にデバイスについて施
行される。ポリシーエンジン1204はまた、ユーザ識
別および属性1214と、デバイス識別および属性12
16を入力として受け取ることもできる。これらの入力
はすべて、ポリシーエンジン1204によって実施され
る評価の考慮に入れることができる。
【0120】ポリシーオーサリング 一実施形態では、ポリシー出所の領域で利点が達成され
る。具体的には、この場合システム管理者は、多くの様
々なコンテキストに適用できるリッチかつ堅固かつフレ
キシブルなポリシーセットを作成し定義する機会を得る
ことができる。このことは、ユーザまたはデバイスの識
別および/あるいはおそらくデバイスの静的位置に基づ
くポリシー定義しか可能でなかった、相対的にフレキシ
ブルでない過去のシステムからの注目すべき脱却とな
る。記載された実施形態によれば、ポリシー設定を定義
し、次いで動的な方式で施行することができる。
【0121】図13に、異なる複数のポリシーセットを
含むポリシー集合(a policy collection)1300を
示すが、例示的なポリシーセットを1302、130
4、および1306に示す。ポリシーセット1302
は、「コンテキストタイプ1」として指定された第1の
デバイスコンテキストに関連し、ポリシーセット130
4は、「コンテキストタイプ2」として指定された第2
のデバイスコンテキストに関連し、ポリシーセット13
06は、「ロケーション(location)」として指定され
た、位置の形をとる第3のデバイスコンテキストに関連
する。システム管理者1308は、様々なポリシーを定
義し、それらのポリシーを特定のコンテキストタイプに
関連付けることができる。次いで、定義されたポリシー
はまとまって、ポリシーエンジン(例えばポリシーエン
ジン1204)によって評価することのできるポリシー
集合を形成し、したがって、デバイスのコンテキストが
変化するのに伴って、デバイスに適用される結果的なポ
リシーセットも変化する。さらに、ポリシー施行技術を
構築している時点では、ポリシーが作成される様々なコ
ンテキストがわかっていなくてもよい。
【0122】一例として、次のことを考えてみる。特定
の企業において、いくつかのコンピューティングデバイ
スは企業の構内を離れることのない特別なコンピューテ
ィングデバイスであると考える。おそらく、これらのコ
ンピューティングデバイスに関連する機密性質のリソー
スがある。例えば、企業が新しい所有権を主張できるソ
フトウェア(proprietary software)をコンピューティ
ングデバイス上でテストしている場合がある。この場
合、システム管理者は、特別なコンピューティングデバ
イスが企業の構内を離れた場合にこのコンピューティン
グデバイスはロックがかかって誰にも使用できなくなる
か、所有権を主張できるソフトウェアを除去するかのい
ずれかになることを確立するポリシーを定義する。記載
された実施形態によれば、これらの特別なコンピューテ
ィングデバイスは、デバイスに搭載されたロケーション
サービスからそれらの位置を決定することができる。例
示的なロケーションサービスについては先述してある。
コンピューティングデバイスが企業の構内を離れたとき
は、ロケーションサービスがデバイスのポリシーエンジ
ン1204(図12)にロケーション情報を提供する。
例えば、適切なセカンダリワールド内の新しいノードに
デバイスが移動した場合、この情報を用いてポリシー再
評価がトリガされる。次いでポリシーエンジンは、ポリ
シー集合1300を評価して、デバイスの新しい位置に
特有の、得られる新しいポリシーセットを提供する。次
に、新しいポリシーが前述のようにデバイスのオペレー
ティングシステムを介して施行される。記載された実施
形態ではポリシーエンジンはオペレーティングシステム
の信用できるリソースなので、ポリシーの施行は安全で
ある。この特定の例では、施行は、デバイスを誰にも使
用できないようにロックすること、または所有権を主張
できるソフトウェアをデバイスから永久に除去すること
を含む。
【0123】図14は、記載された実施形態によるポリ
シーオーサリング方法のステップを記述した流れ図であ
る。この方法は、適当な任意のハードウェア、ソフトウ
ェア、ファームウェア、またはこれらの組合せの中で実
施することができる。図示の例では、この方法はソフト
ウェア中で実施される。
【0124】ステップ1400において、コンテキスト
の一般的な抽象表現または論理表現を提供する。図示の
例では、このステップは、前述のプライマリ階層構造お
よびセカンダリ階層構造を使用することによって実施す
る。この具体的な例では、プライマリ階層構造およびセ
カンダリ階層構造は、プライマリワールドおよび1つ以
上のセカンダリワールドを構成する。ステップ1402
において、コンテキストの一般的な抽象表現または論理
表現に応じて、1つ以上のポリシーを表現する。位置の
例では、位置の抽象表現、すなわちプライマリワールド
および/あるいは1つ以上のセカンダリワールドに応じ
てポリシーを表現する。このステップは、ポリシー集合
を構成することになるポリシーをシステム管理者が定義
することによって実施することができる。次いでステッ
プ1404において、表現したポリシーが1つ以上のコ
ンピューティングデバイスによって使用可能となるよう
にする。図示の例では、コンピューティングデバイスは
企業用コンピューティングデバイスを含む。ポリシー
は、適当な任意の形でデバイスについて使用可能とする
ことができる。例えばポリシーは、企業内ネットワーク
を介して、または無線で、またはその他の形でデバイス
に提供することができる。
【0125】ポリシーの動的な評価および施行 ポリシー集合を前述のように定義すると、ポリシー集合
は次に、適合可能であり動的でありコンテキストを反映
しやすいポリシー評価および施行環境の基礎として使用
することができる。ポリシー集合は、変化するものの中
でもとりわけ物理的および/または論理的な位置につい
て定義されたポリシーを有することができる。プライマ
リワールドからは物理的な位置を提供することができ、
1つ以上のセカンダリワールドからは物理的および論理
的な位置を提供することができる。
【0126】図15は、記載された実施形態によるポリ
シー評価および施行方法のステップを記述した流れ図で
ある。この方法は、適当な任意のハードウェア、ソフト
ウェア、ファームウェア、またはこれらの組合せの中で
実施することができる。図示の例では、この方法は、企
業用コンピューティングデバイスなど1つ以上のコンピ
ューティングデバイス上で実行されているソフトウェア
中で実施される。
【0127】ステップ1500において、1つ以上のポ
リシーセットを含むポリシー集合を提供する。各ポリシ
ーセットは、1つ以上の個別ポリシーを有することがで
きる。ポリシーは、前述のようにコンテキストの一般的
な抽象表現または論理表現で表すことができる。ポリシ
ーは、企業用コンピューティングデバイスに記憶するこ
とができ、コンピューティングデバイスによって適当な
任意の方式で獲得することができる。あるいはポリシー
は、サーバなどアクセス可能なコンピューティングデバ
イスに記憶してもよい。ステップ1502において、コ
ンピューティングデバイスのコンテキストを決定(de
termine)する。このステップは、コンテキスト
プロバイダからデバイスに提供されるコンテキスト情報
を処理できるソフトウェアをデバイスが有する限り、前
述の技法を用いて実施することができる。ある特定の実
装形態では、コンテキスト情報はロケーション情報の形
で提供される。コンピューティングデバイスは、より間
接的な方式でそのコンテキストを決定することもできる
ことを認識および理解されたい。具体的には、コンピュ
ーティングデバイスは、コンテキストサービスを使用し
て直接にデバイスコンテキストを決定するのではなく、
他のデバイス、ネットワーク、ウェブサイトなどからそ
のコンテキストを決定することもできる。一例として、
コンピューティングデバイスがその位置をロケーション
サービスから決定するが、その位置に関連する別のコン
テキストを決定したいと思う場合を考えてみる。コンピ
ューティングデバイスは、その位置がわかっていること
により、その特定位置に特有のコンテキストのリストを
保持するウェブサイトにアクセスすることができる。こ
のウェブサイトはおそらく、温度、照明条件、花粉数な
どを追跡する。したがって、このステップはまた、コン
ピューティングデバイスがそのコンテキストを間接的に
決定することによって実施することもできる。
【0128】ステップ1504において、コンテキスト
情報に基づいてポリシー集合を評価して得られるポリシ
ーセットを提供する。このステップは、コンピューティ
ングデバイス上のポリシーエンジンによって実施するこ
とができる。すなわち、このステップは、コンピューテ
ィングデバイス自体においてローカルに実施することが
できる。別法としてこのステップは、適当なネットワー
クを介してアクセス可能なサーバなど別のコンピューテ
ィングデバイスによって、コンピューティングデバイス
からリモートのところで実施することもできる。この場
合、ポリシーエンジンは、ポリシーの施行対象であるサ
ブジェクトコンピューティングデバイスからリモートに
位置することが可能である。次いでステップ1506に
おいて、得られたポリシーセットをデバイスについて施
行する。このステップは、ポリシーエンジンが、デバイ
ス上またはデバイスから離れたところで実行されている
か実行できる様々なアプリケーションに、得られた設定
または状態が発布されるようにすることによって実施す
ることができる。別法としてこのステップは、前述のサ
ーバなどのリモートコンピューティングデバイスが、得
られたポリシーセットをコンピューティングデバイスに
あてがうことによって実施することもできる。ステップ
1508において、コンテキストの変化があったかどう
かを判定する。このステップは、デバイスがコンテキス
トプロバイダからコンテキスト情報を受け取り、次いで
このコンテキスト情報を用いて、プライマリ階層ツリー
構造および/またはセカンダリ階層ツリー構造に基づい
てデバイスが実際にコンテキストの変化を受けたかどう
かを判定することによって実施することができる。この
ステップはまた、デバイスが前述のように間接的にその
コンテキストを決定することによって実施することもで
きる。デバイスがコンテキストの変化を受けた場合は、
本方法は分岐してステップ1502に戻り、デバイスの
新しいコンテキストを決定し、前述のステップを繰り返
すことができる。一方、デバイスがコンテキストの変化
を受けていない場合は、本方法は分岐してステップ15
06に戻り、現在結果のポリシーセットの施行を継続す
る。
【0129】このプロセスは、新しいデバイスコンテキ
ストまたはユーザコンテキストに動的に適合可能なポリ
シーを有するシステムを実現する。この場合、携帯用の
企業用コンピューティングデバイスが、それらの現在コ
ンテキストを自動的に決定することができ、様々なコン
テキストに適合されたポリシーが自動的に実装されるよ
うにすることができる。デバイスコンテキスト、例えば
物理的または論理的な位置が変化するのに伴って、デバ
イスについて施行されるポリシーも変化することができ
る。ポリシーは、システムリソースを適切に保護および
管理するための堅固なツールセットを今や自由に使える
システム管理者が、物理的および/または論理的な位置
によって表現することができる。
【0130】前述の原理を読者が理解するのをさらに補
助するために、以下の例を提供する。以下は、この発明
的な原理を採用できる例示的なシナリオを構成するにす
ぎないことを認識および理解されたい。これらの具体的
なシナリオは、特許請求する主題(subject matter)の
適用をいかなる形でも限定するものではない。
【0131】(例1)ある特定のユーザが、強力な(例え
ば128ビット)暗号化機能付きの企業用コンピューテ
ィングデバイスを有する。このユーザは、米国を離れて
外国に渡り、様々な顧客を訪ねなければならない。連邦
規定は、128ビット暗号化機能付きのコンピューティ
ングデバイスの輸出は禁じているが、64ビット暗号化
機能付きのデバイスの輸出は許可している。したがっ
て、ユーザのデバイスが米国を離れたことをデバイスが
前述のロケーションサービスによって決定したとき、デ
バイスに搭載されたポリシーは、暗号化強度が自動的に
低下するようにする。
【0132】(例2)ユーザが、特定の証明書で暗号化さ
れたファイルシステムの一部を自分のコンピューティン
グデバイス上に有すると仮定する。これらの特定ファイ
ルは米国を離れないことが企業によって望まれている。
ユーザのコンピューティングデバイスが、デバイスの位
置がもはや米国にはないことを確認した場合、コンピュ
ーティングデバイスに搭載されたポリシーは、証明書が
永久に削除されるようにする。この場合、ユーザのファ
イルシステムの暗号化部分にアクセスするためには、ユ
ーザは米国に戻って証明書を再入手しなければならな
い。
【0133】(例3)ユーザのコンピューティングデバイ
スがISPとの接続を確立しようとするときにコスト節
約のために市内電話番号(または1−800番号)を使
用することを必要とするポリシーを、コンピューティン
グデバイスが有することができる。このポリシーは、ユ
ーザが町から離れているとき、コンピューティングデバ
イスがユーザの現在位置に関連する市内番号だけに電話
をかけてISPとの接続を確立するようにする。
【0134】(例4)企業用コンピューティングデバイス
がコーポレーションのキャンパスから離れているときは
ユーザログインを使用しなければならず、デバイスへの
ログインに2度失敗すると自動的にデバイスがロックさ
れるポリシーを、システム管理者が確立する。このロッ
クは、デバイスがコーポレーションのキャンパスに戻る
まで、そのままかかっていることになる。したがって、
ユーザのデバイスが盗難にあった場合でも、盗んだ人が
デバイスにログインすることはあり得ない。
【0135】(例5)コーポレーションのキャンパスの外
からのコンピューティング時に複数の認証方法(すなわ
ちスマートカード、パスワード、バイオメトリック)を
必要とするポリシーが、システム管理者によって確立さ
れる。したがって、ユーザがコーポレーションのキャン
パスからコンピューティングデバイスを移動させたとき
は、デバイスはデバイスがもはやそこにないことを検出
し、ポリシーエンジンは強化された認証が行われるよう
にする。
【0136】(例6)コンピュータの使用およびそのよう
な使用が行われる位置を監査またはおそらく課金のため
にログしなければならないポリシーを、システム管理者
が確立する。したがって、ユーザは移動し、このポリシ
ーは、すべてのコンピュータ使用が、それに関連する位
置と共にログされることを保証する。
【0137】(例7)一体化した企業は、多くの建物のあ
る広いキャンパスを有する。従業員は通常、ミーティン
グやプレゼンテーションなどのために、一日を通して様
々な建物の間を移動する必要がある。従業員の中には、
電話またはメッセージを取り逃さないことを欠くことが
出来ない者もいる。したがってシステム管理者は、すべ
てのまたは選択されたコンピューティングデバイスがコ
ーポレーションのキャンパスではそれらの位置を中央サ
ーバに報告しなければならないポリシーを作成する。報
告された位置に基づいて、電話を自動的に特定の個人が
いる会議室またはミーティング室に直接ルーティングす
ることができる。
【0138】(例8)システム管理者は、コーポレーショ
ンのキャンパスにあるときは企業用コンピューティング
デバイス上のすべてのゲームがディセーブルになるポリ
シーを確立する。したがって、コンピューティングデバ
イスの位置がコーポレーションのキャンパス内であると
コンピューティングデバイスが決定したときは、ポリシ
ーエンジンは、デバイス上のすべてのゲームがディセー
ブルになるようにする。コンピューティングデバイスが
もはやコーポレーションのキャンパスにないとデバイス
が決定したときは、ポリシーエンジンはポリシー集合を
再評価し、ゲームがイネーブルになるようにする。
【0139】(例9)コンピューティングデバイスがコー
ポレーションのキャンパスにあるとき、物理的に最も近
いプリンタがそのコンピューティングデバイスに対する
デフォルトプリンタになるべきであるというポリシーを
確立する。したがってコンピューティングデバイスは、
その位置を決定し、この決定および支配中のポリシーに
基づいて、最も近い物理プリンタを自動的にデフォルト
プリンタに選択する。デバイスがコーポレーションキャ
ンパスの付近を移動するのに伴い、ポリシーエンジンに
よって受け取られたロケーション情報によってエンジン
がポリシー集合を再評価して、最も近い物理プリンタが
デフォルトプリンタに選択されることを確実にする。こ
のポリシーは、デバイスが移動してコーポレーションの
キャンパスから離れたときにディセーブルにすることが
できる。
【0140】(例10)企業は、従業員のモバイルホンと
モバイルコンピュータとが異なる物理的位置を報告した
とき、従業員が自分のコンピュータから離れている可能
性が高いと判定する。(この例では、コンピューティン
グデバイスは両方とも、それぞれの物理的位置を決定し
てそれを中央サーバに報告することができる点でコンテ
キスト使用可能である。)したがって管理者は、セキュ
リティのために、このような場合にモバイルコンピュー
タに対するログインがディセーブルになるポリシーを作
成する。したがって、モバイルホンとモバイルコンピュ
ーティングデバイスとが同じ物理的位置を報告するとき
にだけ、ログインがイネーブルになる。
【0141】(結び)以上に述べた実施形態は、コンテキ
スト指向コンピューティングの世界を向上させる、一様
で標準化された方式を提供する。これらの実施形態は、
個人の周りの世界における個人の位置を標準的な方式で
確認することにより、周りの世界を独自に体験する方式
を個人に提供する。これらの実施形態はまた、グッズお
よびサービスの様々な消費者のコンテキスト(例えば位
置)に反応しやすくそれらを理解する形で、サービスプ
ロバイダが自分のグッズおよびサービスを独自に配置す
る方式も提供する。独自かつ有用なアーキテクチャおよ
びデータ構造を採用して、ユーザのコンピューティング
体験を容易にし、個人中心の体験を提供する。
【0142】本発明を構造上の特徴および/または方法
論的ステップに特定した言葉で述べたが、頭記の特許請
求の範囲に定義する本発明は、述べた特定の特徴または
ステップに必ずしも限定されないことを理解されたい。
そうではなく、これらの特定の特徴およびステップは、
特許請求する本発明を実施するのに好ましい形として開
示するものである。
【図面の簡単な説明】
【図1】本発明の実施形態の、使用できる例示的なコン
ピューティングデバイスの図である。
【図2】本発明の実施形態の、例示的なマスタワールド
および例示的なセカンダリワールドの概念図である。
【図3】本発明の実施形態の、マスタワールドおよびセ
カンダリワールドとこれらの相互関係との例示的かつ具
体的な図である。
【図4】本発明の実施形態の、方法のステップを記述し
た流れ図である。
【図5】本発明の実施形態の、方法のステップを記述し
た流れ図である。
【図6】本発明の実施形態の、例示的なコンピューティ
ングデバイスアーキテクチャの高レベルの図である。
【図7】本発明の実施形態の、例示的なコンピューティ
ングデバイスアーキテクチャのややさらに具体的な図で
ある。
【図8】本発明の実施形態の、方法のステップを記述し
た流れ図である。
【図9】本発明の実施形態の、方法のステップを記述し
た流れ図である。
【図10】本発明の実施形態の、方法のステップを記述
した流れ図である。
【図11】本発明の実施形態の、例示的な位置ビーコン
の側面図である。
【図12】記載された一実施形態によるアーキテクチャ
を示すブロック図である。
【図13】記載された一実施形態によって提供すること
のできるポリシー集合を示すブロック図である。
【図14】記載された実施形態による方法のステップを
記述した流れ図である。
【図15】記載された実施形態による方法のステップを
記述した流れ図である。
【符号の説明】
130 コンピュータ 132 プロセッサ 134 システムメモリ 136 バス 138 ROM 140 RAM 142 BIOS 144 ハードディスクドライブ 146 磁気ディスクドライブ 148 磁気ディスク 150 光ディスクドライブ 152 光ディスク 154 SCSIインタフェース 156 シリアルポート 158a、158b オペレーティングシステム 160a,160b,160c アプリケーションプロ
グラム 162a,162b その他のプログラムモジュール 164a,164b プログラムデータ 166 キーボード 168 ポインティングデバイス 170 キーボード/マウスインタフェース 172 モニタ 174 ビデオアダプタ 176 リモートコンピュータ 178 メモリ記憶装置 180 ローカルエリアネットワーク 182 ワイドエリアネットワーク(WAN) 184 ネットワークインタフェース(LAN) 186 モデム 200,300 マスタワールド 202,206 ノード 204,302 セカンダリワールド 600 コンピューティングデバイス 602 コンテキストサービスモジュール 604a,604b,604c コンテキストプロバイ
ダ 606a,606b,606c コンテキストソース情
報 608a,608b,608c,718a,718b,
718c,1206アプリケーション 700 位置プロバイダインタフェース 702 アプリケーションプログラムインタフェース/
イベントモジュール 704 プライバシーマネージャ 706 位置変換モジュール 708 アクティブディレクトリ 710 ウェブサービス 712 位置データベース 714 個人場所 716a〜716h 位置プロバイダ 720 位置サービスモジュール 1100 ビーコン 1102 構造物 1200 例示的なアーキテクチャまたはシステム 1202 コンテキストサービス 1204 ポリシーエンジン 1208 デバイスポリシー 1210 ネットワークポリシー 1212 企業ポリシー 1214 ユーザ識別および属性 1216 デバイス識別および属性 1300 ポリシー集合 1302,1304,1306 ポリシーセット 1308 システム管理者
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 17/30 340 G06F 17/30 340A (72)発明者 スティーブン エス.エバンス アメリカ合衆国 98052 ワシントン州 レッドモンド 165 プレイス ノースイ ースト 3904 ナンバーゼット1079 (72)発明者 エドワード エフ.ルース アメリカ合衆国 98072 ワシントン州 ウッディンビル ノースイースト 164 ストリート 16934 Fターム(参考) 5B075 KK07 ND20 PP10 PP30 PR08 QS20 QT10 UU14 5B085 BA06 BG02 BG07

Claims (97)

    【特許請求の範囲】
  1. 【請求項1】 1つ以上のプロセッサと、該1つ以上の
    プロセッサに動作可能に関連付けられたメモリと、該メ
    モリにロード可能であって前記1つ以上のプロセッサ上
    で実行可能な1つ以上のアプリケーションとを備えたコ
    ンピューティングデバイスであって、 前記1つ以上のプロセッサは、 1つ以上の現在のデバイスコンテキストに関係するコン
    テキスト情報を本デバイス外部から受け取り、 該コンテキスト情報から1つ以上の現在のコンテキスト
    を自動的に決定するとともに、該1つ以上の現在のコン
    テキストについてポリシー収集をローカルに評価して得
    られたポリシーセットを提供し、 該得られたポリシーセットを前記1つ以上のアプリケー
    ションについて施行するように構成されていることを特
    徴とするコンピューティングデバイス。
  2. 【請求項2】 請求項1のコンピューティングデバイス
    において、 様々なタイプのコンテキスト情報を提供する様々な複数
    のコンテキストプロバイダからコンテキスト情報を受け
    取るように構成されていることを特徴とするコンピュー
    ティングデバイス。
  3. 【請求項3】 請求項1のコンピューティングデバイス
    において、 1つ以上の階層型走査可能ツリー構造を本デバイス上に
    さらに備え、該ツリー構造はデバイスコンテキストにそ
    れぞれが関連する個々のノードを含み、 少なくとも1つの前記ツリー構造上にある少なくとも1
    つのノードを走査することによって1つ以上の現在のコ
    ンテキストを自動的に決定するように構成されているこ
    とを特徴とするコンピューティングデバイス。
  4. 【請求項4】 請求項3のコンピューティングデバイス
    において、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクは前記1つ以上の現在のコンテキストを決定す
    るために走査可能であることを特徴とするコンピューテ
    ィングデバイス。
  5. 【請求項5】 請求項3のコンピューティングデバイス
    において、 前記1つ以上の階層ツリー構造はコンテキストの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイス。
  6. 【請求項6】 請求項1のコンピューティングデバイス
    において、 前記1つ以上の現在のコンテキストを動的に決定するよ
    うに構成されていることを特徴とするコンピューティン
    グデバイス。
  7. 【請求項7】 請求項1のコンピューティングデバイス
    において、 様々なポリシーソースからポリシーを受け取るように構
    成されていることを特徴とするコンピューティングデバ
    イス。
  8. 【請求項8】 請求項1のコンピューティングデバイス
    において、 様々なポリシーソースからポリシーを受け取るように構
    成されており、前記様々なポリシーソースからの前記ポ
    リシーはコンテキストの一般的な抽象表現の観点から見
    て定義されていることを特徴とするコンピューティング
    デバイス。
  9. 【請求項9】 エンタープライズデバイスとして実施さ
    れる請求項1のコンピューティングデバイスであって、 エンタープライズデバイスとして実施されており、該ポ
    リシー収集は、少なくとも、コンテキストの一般的な抽
    象表現の観点から見て定義されたエンタープライズポリ
    シーを含むことを特徴とするコンピューティングデバイ
    ス。
  10. 【請求項10】 請求項1のコンピューティングデバイ
    スにおいて、 ポータブルデバイスとして実施されていることを特徴と
    するコンピューティングデバイス。
  11. 【請求項11】 請求項1のコンピューティングデバイ
    スにおいて、 無線デバイスとして実施されていることを特徴とするコ
    ンピューティングデバイス。
  12. 【請求項12】 請求項1のコンピューティングデバイ
    スにおいて、 ハンドヘルドデバイスとして実施されていることを特徴
    とするコンピューティングデバイス。
  13. 【請求項13】 1つ以上のプロセッサと、該1つ以上
    のプロセッサに動作可能に関連付けられたメモリと、該
    メモリにロード可能であって前記1つ以上のプロセッサ
    上で実行可能な1つ以上のアプリケーションとを備えた
    コンピューティングデバイスであって、 前記1つ以上のプロセッサは、 現在のデバイスコンテキストに関係するコンテキスト情
    報をデバイス外部から受け取り、 前記コンテキスト情報に関連する現在のコンテキストに
    関係するポリシーセットを1つ以上のアプリケーション
    について施行するように構成されていることを特徴とす
    るコンピューティングデバイス。
  14. 【請求項14】 請求項13のコンピューティングデバ
    イスにおいて、 前記1つ以上のプロセッサは前記コンテキスト情報から
    前記現在のコンテキストを決定するように構成されてい
    ることを特徴とするコンピューティングデバイス。
  15. 【請求項15】 請求項13のコンピューティングデバ
    イスにおいて、 前記1つ以上のプロセッサは、ポリシー収集を前記受け
    取ったコンテキスト情報についてローカルに評価して前
    記ポリシーセットを提供するように構成されていること
    を特徴とするコンピューティングデバイス。
  16. 【請求項16】 コンピューティングデバイスの操作方
    法であって、 現在のデバイスコンテキストに関係するコンテキスト情
    報をコンピューティングデバイスの外部から受け取るス
    テップと、 前記コンピューティングデバイスにより、前記コンテキ
    スト情報を用いて現在のコンテキストを自動的に決定す
    るステップと、 前記現在のコンテキストについてポリシー収集を評価し
    て得られたポリシーセットを提供するステップと、 前記得られたポリシーセットを、前記コンピューティン
    グデバイスによって実行可能な1つ以上のアプリケーシ
    ョンについて施行するステップとを含むことを特徴とす
    るコンピューティングデバイスの操作方法。
  17. 【請求項17】 請求項16のコンピューティングデバ
    イスの操作方法において、 前記評価するステップは、前記コンピューティングデバ
    イスを使用して前記ポリシー収集をローカルに評価する
    ステップを含むことを特徴とするコンピューティングデ
    バイスの操作方法。
  18. 【請求項18】 請求項16のコンピューティングデバ
    イスの操作方法において、 前記評価するステップは、前記コンピューティングデバ
    イスからリモートのところで前記ポリシー収集を評価す
    るステップを含むことを特徴とするコンピューティング
    デバイスの操作方法。
  19. 【請求項19】 請求項16のコンピューティングデバ
    イスの操作方法において、 前記受け取るステップは、様々なタイプのコンテキスト
    情報を提供する様々な複数のコンテキストプロバイダか
    らコンテキスト情報を受け取るステップを含むことを特
    徴とするコンピューティングデバイスの操作方法。
  20. 【請求項20】 請求項16のコンピューティングデバ
    イスの操作方法において、 前記受け取るステップは、前記コンテキスト情報を無線
    で受信するステップを含むことを特徴とするコンピュー
    ティングデバイスの操作方法。
  21. 【請求項21】 請求項16のコンピューティングデバ
    イスの操作方法において、 前記自動的に決定するステップは、 1つ以上の階層型走査可能ツリー構造をデバイス上に提
    供するステップであって、該ツリー構造がデバイスコン
    テキストにそれぞれが関連する個々のノードを含むステ
    ップと、 前記ツリー構造の少なくとも1つのものの上にある少な
    くとも1つのノードを走査して前記現在のコンテキスト
    を提供するステップとを含むことを特徴とするコンピュ
    ーティングデバイスの操作方法。
  22. 【請求項22】 請求項21のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクはデバイスの現在のコンテキストを決定するた
    めに走査可能であることを特徴とするコンピューティン
    グデバイスの操作方法。
  23. 【請求項23】 請求項21のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造はコンテキストの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイスの操作方法。
  24. 【請求項24】 請求項16のコンピューティングデバ
    イスの操作方法において、 様々な複数のポリシーソースからポリシーを受け取るス
    テップをさらに含むことを特徴とするコンピューティン
    グデバイスの操作方法。
  25. 【請求項25】 請求項16のコンピューティングデバ
    イスの操作方法において、 様々な複数のポリシーソースからポリシーを受け取るス
    テップをさらに含み、該ポリシーがコンテキストの一般
    的な抽象表現の観点から見て定義されていることを特徴
    とするコンピューティングデバイスの操作方法。
  26. 【請求項26】 請求項16のコンピューティングデバ
    イスの操作方法において、 前記コンピューティングデバイスはエンタープライズコ
    ンピューティングデバイスを含み、さらに、エンタープ
    ライズポリシーソースからポリシーを受け取るステップ
    を含んでおり、 該ポリシーがコンテキストの一般的な抽象表現の観点か
    ら見て定義されていることを特徴とするコンピューティ
    ングデバイスの操作方法。
  27. 【請求項27】 コンピュータによって実行されたとき
    に、該コンピュータに請求項16に記載の方法を実施さ
    せるコンピュータが読取り可能な命令を有することを特
    徴とする1つ以上のコンピュータ可読媒体。
  28. 【請求項28】 コンピューティングデバイスの操作方
    法であって、 現在のデバイスコンテキストに関係するコンテキスト情
    報をコンピューティングデバイスの外部から受け取るス
    テップと、 得られたポリシーセットを、前記コンピューティングデ
    バイスによって実行可能な1つ以上のアプリケーション
    について施行するステップであって、該得られたポリシ
    ーセットが、受け取った前記コンテキスト情報に関連す
    るコンテキストに関係することを特徴とするコンピュー
    ティングデバイスの操作方法。
  29. 【請求項29】 請求項28のコンピューティングデバ
    イスの操作方法において、 前記コンテキスト情報に関連するコンテキストをコンピ
    ューティングデバイス上で決定するステップをさらに含
    むことを特徴とするコンピューティングデバイスの操作
    方法。
  30. 【請求項30】 請求項28のコンピューティングデバ
    イスの操作方法において、 前記コンテキスト情報を受け取るのに応答してポリシー
    収集をローカルに評価するステップをさらに含み、該評
    価するステップは得られたポリシーセットを提供するこ
    とを特徴とするコンピューティングデバイスの操作方
    法。
  31. 【請求項31】 請求項28のコンピューティングデバ
    イスの操作方法において、 1つ以上のポリシーをコンピューティングデバイスの外
    部から受け取るステップをさらに含み、前記1つ以上の
    ポリシーはコンテキストに関連し、順々に、該コンテキ
    ストは前記コンテキスト情報に関連することを特徴とす
    るコンピューティングデバイスの操作方法。
  32. 【請求項32】 1つ以上のプロセッサと、該1つ以上
    のプロセッサに動作可能に関連付けられたメモリと、該
    メモリにロード可能であって前記1つ以上のプロセッサ
    上で実行可能な1つ以上のアプリケーションとを備えた
    コンピューティングデバイスであって、 前記1つ以上のプロセッサは、 現在のデバイスコンテキストに関係するコンテキスト情
    報を本デバイス外部から受け取り、 該コンテキスト情報から現在のコンテキストを自動的に
    決定し、 該現在のコンテキストについてポリシー収集をローカル
    に評価して得られたポリシーセットを提供し、 該得られたポリシーセットを前記1つ以上のアプリケー
    ションについて施行するように構成されており、 および、 現在のコンテキストの変化を示すコンテキスト情報を受
    け取るのに応答して、前記ポリシー収集をローカルに再
    評価して新たに得られたポリシーセットを提供するとと
    もに、該新たに得られたポリシーセットを前記1つ以上
    のアプリケーションについて施行することを特徴とする
    コンピューティングデバイス。
  33. 【請求項33】 請求項32のコンピューティングデバ
    イスにおいて、 様々なタイプのコンテキスト情報を提供する様々な複数
    のコンテキストプロバイダからコンテキスト情報を受け
    取るように構成されていることを特徴とするコンピュー
    ティングデバイス。
  34. 【請求項34】 請求項32のコンピューティングデバ
    イスにおいて、 1つ以上の階層型走査可能ツリー構造をデバイス上にさ
    らに備え、該ツリー構造はデバイスコンテキストにそれ
    ぞれが関連する個々のノードを含み、 少なくとも1つの前記ツリー構造上にある少なくとも1
    つのノードを走査することによって、その現在のコンテ
    キストを自動的に決定するように構成されていることを
    特徴とするコンピューティングデバイス。
  35. 【請求項35】 請求項34のコンピューティングデバ
    イスにおいて、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクは本デバイスの現在のコンテキストを決定する
    ために走査可能であることを特徴とするコンピューティ
    ングデバイス。
  36. 【請求項36】 請求項34のコンピューティングデバ
    イスにおいて、 前記1つ以上の階層ツリー構造はコンテキストの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイス。
  37. 【請求項37】 請求項32のコンピューティングデバ
    イスにおいて、 現在のコンテキストを動的に決定するように構成されて
    いることを特徴とするコンピューティングデバイス。
  38. 【請求項38】 請求項32のコンピューティングデバ
    イスにおいて、 様々なポリシーソースからポリシーを受け取るように構
    成されていることを特徴とするコンピューティングデバ
    イス。
  39. 【請求項39】 請求項32のコンピューティングデバ
    イスにおいて、 様々なポリシーソースからポリシーを受け取るように構
    成されており、該ポリシーの全部がコンテキストの一般
    的な抽象表現の観点から見て定義されていることを特徴
    とするコンピューティングデバイス。
  40. 【請求項40】 コンピューティングデバイスの操作方
    法であって、 現在のデバイスコンテキストに関係するコンテキスト情
    報をコンピューティングデバイスの外部から無線で受け
    取るステップと、 前記コンピューティングデバイスにより、前記コンテキ
    スト情報を用いて現在のコンテキストを自動的に決定す
    るステップと、 コンピューティングデバイスにより、前記現在のコンテ
    キストについてポリシー収集を評価して得られたポリシ
    ーセットを提供するステップと、 前記得られたポリシーセットを、前記コンピューティン
    グデバイスによって実行可能な1つ以上のアプリケーシ
    ョンについて施行するステップと、 デバイスの現在のコンテキストが変化したかどうかを判
    定し、変化した場合は、受信したコンテキスト情報を用
    いて新しい現在のコンテキストを自動的に決定するステ
    ップと、 前記新しい現在のコンテキストを決定するのに応答し
    て、コンピューティングデバイスによって前記ポリシー
    収集をローカルに再評価して、前記新しい現在のコンテ
    キストについて新たに得られたポリシーセットを提供す
    るステップと、 前記新たに得られたポリシーセットを前記1つ以上のア
    プリケーションについて施行するステップとを含むこと
    を特徴とするコンピューティングデバイスの操作方法。
  41. 【請求項41】 請求項40のコンピューティングデバ
    イスの操作方法において、 前記受け取るステップは、様々なタイプのコンテキスト
    情報を提供する様々な複数のコンテキストプロバイダか
    らコンテキスト情報を受け取るステップを含むことを特
    徴とするコンピューティングデバイスの操作方法。
  42. 【請求項42】 請求項40のコンピューティングデバ
    イスの操作方法において、 前記自動的に決定する動作は、 1つ以上の階層型走査可能ツリー構造をデバイス上に提
    供するステップであって、該ツリー構造がデバイスコン
    テキストにそれぞれが関連する個々のノードを含むステ
    ップと、 前記ツリー構造の少なくとも1つのものの上にある少な
    くとも1つのノードを走査して前記現在のコンテキスト
    を提供するステップとを含むことを特徴とするコンピュ
    ーティングデバイスの操作方法。
  43. 【請求項43】 請求項42のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクはデバイスの現在のコンテキストを決定するた
    めに走査可能であることを特徴とするコンピューティン
    グデバイスの操作方法。
  44. 【請求項44】 請求項42のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造はコンテキストの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイスの操作方法。
  45. 【請求項45】 コンピュータによって実行されたとき
    に、該コンピュータに請求項40に記載の方法を実施さ
    せるコンピュータが読取り可能な命令を有することを特
    徴とする1つ以上のコンピュータ可読媒体。
  46. 【請求項46】 1つ以上のプロセッサと、該1つ以上
    のプロセッサに動作可能に関連付けられたメモリと、該
    メモリにロード可能であって前記1つ以上のプロセッサ
    上で実行可能な1つ以上のアプリケーションとを備えた
    コンピューティングデバイスであって、 前記1つ以上のプロセッサは、 現在のデバイスロケーションに関係するロケーション情
    報を受け取り、 該コンテキスト情報から現在のロケーションを自動的に
    決定するとともに、該現在のロケーションについてポリ
    シー収集をローカルに評価して得られたポリシーセット
    を提供し、 該得られたポリシーセットを前記1つ以上のアプリケー
    ションについて施行するように構成されていることを特
    徴とするコンピューティングデバイス。
  47. 【請求項47】 請求項46のコンピューティングデバ
    イスにおいて、 前記1つ以上のプロセッサは本デバイス外部からロケー
    ション情報を受け取るように構成されていることを特徴
    とするコンピューティングデバイス。
  48. 【請求項48】 請求項46のコンピューティングデバ
    イスにおいて、 様々なタイプのロケーション情報を提供する様々な複数
    のロケーションプロバイダからロケーション情報を受け
    取るように構成されていることを特徴とするコンピュー
    ティングデバイス。
  49. 【請求項49】 請求項46のコンピューティングデバ
    イスにおいて、 1つ以上の階層型走査可能ツリー構造を本デバイス上に
    さらに備え、該ツリー構造はデバイスロケーションにそ
    れぞれが関連する個々のノードを含み、 少なくとも1つの前記ツリー構造上にある少なくとも1
    つのノードを走査することによって、その現在のロケー
    ションを自動的に決定するように構成されていることを
    特徴とするコンピューティングデバイス。
  50. 【請求項50】 請求項49のコンピューティングデバ
    イスにおいて、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクは本デバイスの現在のロケーションを決定する
    ために走査可能であることを特徴とするコンピューティ
    ングデバイス。
  51. 【請求項51】 請求項49のコンピューティングデバ
    イスにおいて、 前記1つ以上の階層ツリー構造はロケーションの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイス。
  52. 【請求項52】 請求項46のコンピューティングデバ
    イスにおいて、 前記現在のロケーションを動的に決定するように構成さ
    れていることを特徴とするコンピューティングデバイ
    ス。
  53. 【請求項53】 請求項46のコンピューティングデバ
    イスにおいて、 様々なポリシーソースからポリシーを受け取るように構
    成されていることを特徴とするコンピューティングデバ
    イス。
  54. 【請求項54】 請求項46のコンピューティングデバ
    イスにおいて、 様々なポリシーソースからポリシーを受け取るように構
    成されており、前記様々なポリシーソースからの前記ポ
    リシーはロケーションの一般的な抽象表現の観点から見
    て定義されていることを特徴とするコンピューティング
    デバイス。
  55. 【請求項55】 コンピューティングデバイスの操作方
    法であって、 現在のデバイスロケーションに関係するロケーション情
    報を受け取るステップと、 前記コンピューティングデバイスにより、前記コンテキ
    スト情報を用いて現在のコンテキストを自動的に決定す
    るステップと、 コンピューティングデバイスにより、前記現在のコンテ
    キストについてポリシー収集をローカルに評価して得ら
    れたポリシーセットを提供するステップと、 前記得られたポリシーセットを、前記コンピューティン
    グデバイスによって実行可能な1つ以上のアプリケーシ
    ョンについて施行するステップとを含むことを特徴とす
    るコンピューティングデバイスの操作方法。
  56. 【請求項56】 請求項55のコンピューティングデバ
    イスの操作方法において、 前記受け取るステップは、デバイスの外部から前記ロケ
    ーション情報を受け取るステップを含むことを特徴とす
    るコンピューティングデバイスの操作方法。
  57. 【請求項57】 請求項55のコンピューティングデバ
    イスの操作方法において、 前記受け取るステップは、様々なタイプのロケーション
    情報を提供する様々な複数のロケーションプロバイダか
    らロケーション情報を受け取るステップを含むことを特
    徴とするコンピューティングデバイスの操作方法。
  58. 【請求項58】 請求項55のコンピューティングデバ
    イスの操作方法において、 前記受け取るステップは、様々なタイプのロケーション
    情報を提供する様々な複数のロケーションプロバイダか
    らロケーション情報を無線で受信するステップを含むこ
    とを特徴とするコンピューティングデバイスの操作方
    法。
  59. 【請求項59】 請求項55のコンピューティングデバ
    イスの操作方法において、 前記自動的に決定するステップは、 1つ以上の階層型走査可能ツリー構造をデバイス上に提
    供するステップであって、該ツリー構造がデバイスロケ
    ーションにそれぞれが関連する個々のノードを含むステ
    ップと、 前記ツリー構造の少なくとも1つのものの上にある少な
    くとも1つのノードを走査して前記現在のロケーション
    を提供するステップとを含むことを特徴とするコンピュ
    ーティングデバイスの操作方法。
  60. 【請求項60】 請求項59のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクはデバイスの現在のロケーションを決定するた
    めに走査可能であることを特徴とするコンピューティン
    グデバイスの操作方法。
  61. 【請求項61】 請求項59のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造はロケーションの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイスの操作方法。
  62. 【請求項62】 請求項55のコンピューティングデバ
    イスの操作方法において、 様々な複数のポリシーソースからポリシーを受け取るス
    テップをさらに含むことを特徴とするコンピューティン
    グデバイスの操作方法。
  63. 【請求項63】 請求項55のコンピューティングデバ
    イスの操作方法において、様々な複数のポリシーソース
    からポリシーを受け取るステップをさらに含み、該ポリ
    シーがロケーションの一般的な抽象表現の観点から見て
    定義されていることを特徴とするコンピューティングデ
    バイスの操作方法。
  64. 【請求項64】 コンピュータによって実行されたとき
    に、該コンピュータに請求項55に記載の方法を実施さ
    せるコンピュータが読取り可能な命令を有することを特
    徴とする1つ以上のコンピュータ可読媒体。
  65. 【請求項65】 1つ以上のプロセッサと、該1つ以上
    のプロセッサに動作可能に関連付けられたメモリと、該
    メモリにロード可能であって前記1つ以上のプロセッサ
    上で実行可能な1つ以上のアプリケーションとを備えた
    コンピューティングデバイスであって、 前記1つ以上のプロセッサは、 現在のデバイスロケーションに関係するロケーション情
    報を受け取り、 該ロケーション情報から現在のロケーションを自動的に
    決定し、 該現在のロケーションについてポリシー収集をローカル
    に評価して得られたポリシーセットを提供し、 該得られたポリシーセットを前記1つ以上のアプリケー
    ションについて施行するように構成されており、 および、 現在のロケーションの変化を示すロケーション情報を受
    け取るのに応答して、前記ポリシー収集をローカルに再
    評価して新たに得られたポリシーセットを提供するとと
    もに、該新たに得られたポリシーセットを前記1つ以上
    のアプリケーションについて施行することを特徴とする
    コンピューティングデバイス。
  66. 【請求項66】 請求項65のコンピューティングデバ
    イスにおいて、 前記1つ以上のプロセッサは本デバイス外部からロケー
    ション情報を受け取るように構成されていることを特徴
    とするコンピューティングデバイス。
  67. 【請求項67】 請求項65のコンピューティングデバ
    イスにおいて、 様々なタイプのロケーション情報を提供する様々な複数
    のロケーションプロバイダからロケーション情報を受け
    取るように構成されていることを特徴とするコンピュー
    ティングデバイス。
  68. 【請求項68】 請求項65のコンピューティングデバ
    イスにおいて、 1つ以上の階層型走査可能ツリー構造を本デバイス上に
    さらに備え、該ツリー構造はデバイスロケーションにそ
    れぞれが関連する個々のノードを含み、 少なくとも1つの前記ツリー構造上にある少なくとも1
    つのノードを走査することによって、その現在のロケー
    ションを自動的に決定するように構成されていることを
    特徴とするコンピューティングデバイス。
  69. 【請求項69】 請求項68のコンピューティングデバ
    イスにおいて、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクは本デバイスの現在のロケーションを決定する
    ために走査可能であることを特徴とするコンピューティ
    ングデバイス。
  70. 【請求項70】 請求項68のコンピューティングデバ
    イスにおいて、 前記1つ以上の階層ツリー構造はロケーションの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイス。
  71. 【請求項71】 請求項65のコンピューティングデバ
    イスにおいて、 様々なポリシーソースからポリシーを受け取るように構
    成されていることを特徴とするコンピューティングデバ
    イス。
  72. 【請求項72】 請求項65のコンピューティングデバ
    イスにおいて、 様々なポリシーソースからポリシーを受け取るように構
    成されており、該ポリシーの全部がロケーションの一般
    的な抽象表現の観点から見て定義されていることを特徴
    とするコンピューティングデバイス。
  73. 【請求項73】 コンピューティングデバイスの操作方
    法であって、 現在のデバイスロケーションに関係するロケーション情
    報をコンピューティングデバイスの外部から無線で受け
    取るステップと、 前記コンピューティングデバイスにより、前記ロケーシ
    ョン情報を用いて現在のロケーションを自動的に決定す
    るステップと、 コンピューティングデバイスにより、前記現在のロケー
    ションについてポリシー収集を評価して得られたポリシ
    ーセットを提供するステップと、 前記得られたポリシーセットを、前記コンピューティン
    グデバイスによって実行可能な1つ以上のアプリケーシ
    ョンについて施行するステップと、 デバイスの現在のロケーションが変化したかどうかを判
    定し、変化した場合は、受信したロケーション情報を用
    いて新しい現在のロケーションを自動的に決定するステ
    ップと、 前記新しい現在のロケーションを決定するのに応答し
    て、コンピューティングデバイスによって前記ポリシー
    収集をローカルに再評価して、前記新しい現在のロケー
    ションについて新たに得られたポリシーセットを提供す
    るステップと、 前記新たに得られたポリシーセットを前記1つ以上のア
    プリケーションについて施行するステップとを含むこと
    を特徴とするコンピューティングデバイスの操作方法。
  74. 【請求項74】 請求項73のコンピューティングデバ
    イスの操作方法において、 前記受け取るステップは、様々なタイプのロケーション
    情報を提供する様々な複数のロケーションプロバイダか
    らロケーション情報を受け取るステップを含むことを特
    徴とするコンピューティングデバイスの操作方法。
  75. 【請求項75】 請求項73のコンピューティングデバ
    イスの操作方法において、 前記自動的に決定する動作は、 1つ以上の階層型走査可能ツリー構造をデバイス上に提
    供するステップであって、該ツリー構造がデバイスロケ
    ーションにそれぞれが関連する個々のノードを含むステ
    ップと、 前記ツリー構造の少なくとも1つのものの上にある少な
    くとも1つのノードを走査して前記現在のロケーション
    を提供するステップとを含むことを特徴とするコンピュ
    ーティングデバイスの操作方法。
  76. 【請求項76】 請求項75のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造は、少なくとも1つのプ
    ライマリツリー構造と、少なくとも1つのセカンダリツ
    リー構造と、前記プライマリツリー構造と前記セカンダ
    リツリー構造間の少なくとも1つのリンクとを含み、 該リンクはデバイスの現在のロケーションを決定するた
    めに走査可能であることを特徴とするコンピューティン
    グデバイスの操作方法。
  77. 【請求項77】 請求項75のコンピューティングデバ
    イスの操作方法において、 前記1つ以上の階層ツリー構造はロケーションの一般的
    な抽象表現を提供することを特徴とするコンピューティ
    ングデバイスの操作方法。
  78. 【請求項78】 コンピュータによって実行されたとき
    に、該コンピュータに請求項73に記載の方法を実施さ
    せるコンピュータが読取り可能な命令を有することを特
    徴とする1つ以上のコンピュータ可読媒体。
  79. 【請求項79】 1つ以上のプロセッサと、該1つ以上
    のプロセッサに動作可能に関連付けられたメモリと、該
    メモリにロード可能であって前記1つ以上のプロセッサ
    上で実行可能な1つ以上のアプリケーションとを備えた
    コンピューティングデバイスであって、 前記1つ以上のプロセッサは、 様々な複数のデバイスコンテキストに関連するコンテキ
    スト依存性の観点から見て表されるポリシーを様々な複
    数のポリシーソースから収集してポリシー収集を提供
    し、 現在のデバイスコンテキストに関係するコンテキスト情
    報をデバイス外部から受け取り、 前記コンテキスト情報から現在のコンテキストを自動的
    に決定し、 前記現在のコンテキストについて前記ポリシー収集をロ
    ーカルに評価して得られたポリシーセットを提供し、 該得られたポリシーセットを前記1つ以上のアプリケー
    ションについて施行するように構成されていることを特
    徴とするコンピューティングデバイス。
  80. 【請求項80】 請求項79のコンピューティングデバ
    イスにおいて、 デバイスのコンテキストが変化したときを自動的に決定
    し、 前記ポリシー収集をローカルに再評価して、コンテキス
    ト変化に応答して新たに得られたポリシーセットを提供
    し、 前記新たに得られたポリシーセットを施行するように構
    成されていることを特徴とするコンピューティングデバ
    イス。
  81. 【請求項81】 請求項79のコンピューティングデバ
    イスにおいて、 前記コンテキストはロケーションを含むことを特徴とす
    るコンピューティングデバイス。
  82. 【請求項82】 コンピューティングデバイスの操作方
    法であって、 様々な複数のポリシーソースからポリシーを収集してポ
    リシー収集を提供するステップであって、該ポリシーが
    様々な複数のデバイスコンテキストに関連するコンテキ
    スト依存性の観点から見て表されているステップと、 現在のデバイスコンテキストに関係するコンテキスト情
    報をコンピューティングデバイスの外部から受け取るス
    テップと、 前記コンテキスト情報から現在のコンテキストを自動的
    に決定するステップと、 前記現在のコンテキストについて前記ポリシー収集をロ
    ーカルに評価して得られたポリシーセットを提供するス
    テップと、 前記得られたポリシーセットをデバイス上で施行するス
    テップとを含むことを特徴とするコンピューティングデ
    バイスの操作方法。
  83. 【請求項83】 請求項82のコンピューティングデバ
    イスの操作方法において、さらに、 デバイスコンテキストが変化したときを自動的に決定す
    るステップと、 新しいデバイスコンテキストを決定するステップと、 前記新しいデバイスコンテキストについて前記ポリシー
    収集をローカルに再評価して、新たに得られたポリシー
    セットを提供するステップと、 前記新たに得られたポリシーセットをデバイス上で施行
    するステップとを含むことを特徴とするコンピューティ
    ングデバイスの操作方法。
  84. 【請求項84】 コンピュータによって実行されたとき
    に、該コンピュータに請求項82に記載の方法を実施さ
    せるコンピュータが読取り可能な命令を有することを特
    徴とする1つ以上のコンピュータ可読媒体。
  85. 【請求項85】 コンピュータによって実行されたとき
    に、該コンピュータに請求項83に記載の方法を実施さ
    せるコンピュータが読取り可能な命令を有することを特
    徴とする1つ以上のコンピュータ可読媒体。
  86. 【請求項86】 請求項82に記載の方法を実施する命
    令がプログラムされたことを特徴とするプログラム可能
    コンピューティングデバイス。
  87. 【請求項87】 請求項83に記載の方法を実施する命
    令がプログラムされたことを特徴とするプログラム可能
    コンピューティングデバイス。
  88. 【請求項88】 コンピューティングデバイス上で施行
    するためのポリシーを提供する方法であって、 複数のノードをそれぞれが含む複数の階層ツリー構造を
    使用してロケーションの表現を提供するステップであっ
    て、個々のノードが物理的ロケーションまたは論理的ロ
    ケーションとすることのできるロケーションを表し、前
    記ツリー構造が、前記複数のツリー構造を走査してコン
    ピューティングデバイスのロケーションを導き出す走査
    動作の基盤として働くことのできる少なくとも1つのリ
    ンクをツリー構造間に備えるステップと、 前記ロケーションの表現の関数として複数のポリシーを
    表現するステップとを含むことを特徴とする方法。
  89. 【請求項89】 コンピュータによって実行されたとき
    に、該コンピュータに請求項88に記載の方法を実施さ
    せるコンピュータが読取り可能な命令を有することを特
    徴とする1つ以上のコンピュータ可読媒体。
  90. 【請求項90】 コンピューティングデバイス上で施行
    するためのポリシーを提供する方法であって、 複数のノードをそれぞれが含む複数の階層ツリー構造を
    使用するロケーションの抽象表現に応じて複数のポリシ
    ーを表現するステップであって、個々のノードが物理的
    ロケーションまたは論理的ロケーションとすることので
    きるロケーションを表し、前記ツリー構造が、前記複数
    のツリー構造を走査してコンピューティングデバイスの
    ロケーションを導き出す走査動作の基盤として働くこと
    のできる少なくとも1つのリンクをツリー構造間に備え
    るステップと、 前記複数のポリシーをコンピューティングデバイスに利
    用可能とするステップとを含むことを特徴とする方法。
  91. 【請求項91】 コンピューティングデバイスのコンテ
    キストに関係するコンテキスト情報またはコンテキスト
    変化イベントを提供するコンテキストサービスと、該コ
    ンテキストサービスと通信可能にリンクしたポリシーエ
    ンジンとを備えたコンピュータアーキテクチャであっ
    て、 前記ポリシーエンジンは、 前記コンテキストサービスからコンテキスト情報または
    コンテキスト変化イベントを受け取り、 ポリシー収集を評価して、前記コンテキスト情報または
    コンテキスト変化イベントに応答して得られたポリシー
    セットを提供し、 前記得られたポリシーセットをコンピューティングデバ
    イス上で施行するように構成されていることを特徴とす
    るコンピュータアーキテクチャ。
  92. 【請求項92】 請求項91のコンピュータアーキテク
    チャにおいて、 前記ポリシーエンジンは、コンピューティングデバイス
    によって実行可能な1つ以上のアプリケーションについ
    て新しい設定を発布することにより、前記得られたポリ
    シーセットを施行するように構成されていることを特徴
    とするコンピュータアーキテクチャ。
  93. 【請求項93】 請求項91のコンピュータアーキテク
    チャにおいて、 前記ポリシーエンジンは、コンピューティングデバイス
    によって実行可能な1つ以上のアプリケーションについ
    て新しい状態を発布することにより、前記得られたポリ
    シーセットを施行するように構成されていることを特徴
    とするコンピュータアーキテクチャ。
  94. 【請求項94】 請求項91のコンピュータアーキテク
    チャにおいて、 前記ポリシーエンジンは、様々な複数のポリシーソース
    からポリシーを受け取るように構成されていることを特
    徴とするコンピュータアーキテクチャ。
  95. 【請求項95】 請求項91に記載のコンピュータアー
    キテクチャを組み入れたことを特徴とするコンピューテ
    ィングデバイス。
  96. 【請求項96】 請求項91に記載のコンピュータアー
    キテクチャを組み入れたことを特徴とするエンタープラ
    イズコンピューティングデバイス。
  97. 【請求項97】 コンピューティングデバイスのコンテ
    キストに関係するコンテキスト情報またはコンテキスト
    変化イベントを提供するコンテキストサービスと、該コ
    ンテキストサービスと通信可能にリンクしたポリシーエ
    ンジンとを備えたコンピュータシステムであって、 前記ポリシーエンジンは、 前記コンテキストサービスからコンテキスト情報または
    コンテキスト変化イベントを受け取り、 ポリシー収集を評価して、前記コンテキスト情報または
    コンテキスト変化イベントに応答して得られたポリシー
    セットを提供し、 前記得られたポリシーセットをコンピューティングデバ
    イスに提供するように構成されていることを特徴とする
    コンピュータアーキテクチャ。
JP2001392868A 2000-12-22 2001-12-25 コンテキスト指向のポリシー決定および施行のための方法 Expired - Fee Related JP4806143B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/746,936 US7072956B2 (en) 2000-12-22 2000-12-22 Methods and systems for context-aware policy determination and enforcement
US09/746,936 2000-12-22

Publications (3)

Publication Number Publication Date
JP2002324196A true JP2002324196A (ja) 2002-11-08
JP2002324196A5 JP2002324196A5 (ja) 2005-07-28
JP4806143B2 JP4806143B2 (ja) 2011-11-02

Family

ID=25002969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001392868A Expired - Fee Related JP4806143B2 (ja) 2000-12-22 2001-12-25 コンテキスト指向のポリシー決定および施行のための方法

Country Status (5)

Country Link
US (1) US7072956B2 (ja)
EP (1) EP1220510B1 (ja)
JP (1) JP4806143B2 (ja)
AT (1) ATE402538T1 (ja)
DE (1) DE60134947D1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265286A (ja) * 2003-03-04 2004-09-24 Fujitsu Ltd 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理
JP2006172456A (ja) * 2004-12-17 2006-06-29 Xerox Corp 能動装置を用いた、画像において追跡された物体の識別
JP2008526144A (ja) * 2004-12-28 2008-07-17 ▲ホア▼▲ウェイ▼技術有限公司 移動通信システムにおいてデータサービスのセキュリティを実現する方法、システム及び装置
JP2009104593A (ja) * 2007-09-20 2009-05-14 Intel Corp コンテクスト情報の集計、解析及び利用のためのコンテクストプラットフォームフレームワーク
KR101248703B1 (ko) 2005-01-26 2013-03-28 오픈픽 인크. 다수의 장치 제어의 셋업을 위한 방법, 시스템 및 컴퓨터 판독가능 기록 매체
JP2014112367A (ja) * 2012-11-26 2014-06-19 Boeing Co 検索中に関連性のない情報を削減するシステム及び方法
JP2015506043A (ja) * 2011-12-14 2015-02-26 マイクロソフト コーポレーション ルールに基づくコンテキスト取得のための方法
JP2016507825A (ja) * 2013-01-03 2016-03-10 シナラ システムズ プライベート リミテッド モバイルユーザコンテキスト検出のための場所および時間認識システムおよび方法
US9424105B2 (en) 2011-12-07 2016-08-23 Samsung Electronics Co., Ltd. Preempting tasks at a preemption point of a kernel service routine based on current execution mode
JP2017517825A (ja) * 2014-04-11 2017-06-29 ディロ, インコーポレイテッドDiro, Inc. 動的コンテキストデバイスネットワーク

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620750B2 (en) 2010-10-21 2013-12-31 Concur Technologies, Inc. Method and system for targeting messages to travelers
US8712811B2 (en) 2001-10-16 2014-04-29 Concur Technologies, Inc. Method and systems for detecting duplicate travel path
EP1446754A4 (en) * 2001-10-16 2007-07-04 Outtask Llc SYSTEM AND METHOD FOR MANAGING RESERVATIONS AND OFFERING TRAVEL PRODUCTS AND SERVICES
US7974892B2 (en) 2004-06-23 2011-07-05 Concur Technologies, Inc. System and method for expense management
US9400959B2 (en) 2011-08-31 2016-07-26 Concur Technologies, Inc. Method and system for detecting duplicate travel path information
US9286601B2 (en) 2012-09-07 2016-03-15 Concur Technologies, Inc. Methods and systems for displaying schedule information
US7317699B2 (en) 2001-10-26 2008-01-08 Research In Motion Limited System and method for controlling configuration settings for mobile communication devices and services
JP3967914B2 (ja) * 2001-12-14 2007-08-29 富士通株式会社 バイオメトリクス認証システム及び方法
US20030139192A1 (en) * 2002-01-18 2003-07-24 Mazen Chmaytelli Multi-user mobile telephone station and a method of providing a multi-user mobile telephone station
US9635540B2 (en) * 2002-03-25 2017-04-25 Jeffrey D. Mullen Systems and methods for locating cellular phones and security measures for the same
US20030217125A1 (en) * 2002-05-15 2003-11-20 Lucent Technologies, Inc. Intelligent end user gateway device
US20030217129A1 (en) * 2002-05-15 2003-11-20 Lucent Technologies Inc. Self-organizing intelligent network architecture and methodology
US6961721B2 (en) * 2002-06-28 2005-11-01 Microsoft Corporation Detecting duplicate records in database
US8028077B1 (en) * 2002-07-12 2011-09-27 Apple Inc. Managing distributed computers
DE10234747B4 (de) * 2002-07-30 2009-02-26 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Dienstsuche in einem Weitverkehr-Kommunikationsnetz
US20040203693A1 (en) * 2002-09-18 2004-10-14 Dell Products L.P. Over the air firmware and policy programming
US7444155B2 (en) * 2003-04-03 2008-10-28 Nec Corporation Positioning system and positioning method in mobile communication network
US7349966B2 (en) 2003-09-30 2008-03-25 International Business Machines Corporation Method, system, and storage medium for providing context-based dynamic policy assignment in a distributed processing environment
US20050289502A1 (en) * 2004-06-29 2005-12-29 Mittal Parul A Infrastructure-aware application development
JP2006127293A (ja) * 2004-10-29 2006-05-18 Toshiba Corp 情報処理装置および動作制御方法
US7797726B2 (en) * 2004-12-16 2010-09-14 International Business Machines Corporation Method and system for implementing privacy policy enforcement with a privacy proxy
GB2422453A (en) 2005-01-22 2006-07-26 Hewlett Packard Development Co Dynamically allocating resources according to a privacy policy
US7716651B2 (en) * 2005-01-26 2010-05-11 Microsoft Corporation System and method for a context-awareness platform
KR100683172B1 (ko) * 2005-02-14 2007-02-15 삼성전기주식회사 그룹 상황 정보 관리를 위한 추상적 서비스의 의미를 이용한 응용 프로그램간의 충돌 제어 방법 및 그 시스템
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US8275399B2 (en) * 2005-09-21 2012-09-25 Buckyball Mobile Inc. Dynamic context-data tag cloud
US9042921B2 (en) * 2005-09-21 2015-05-26 Buckyball Mobile Inc. Association of context data with a voice-message component
US8489132B2 (en) * 2005-09-21 2013-07-16 Buckyball Mobile Inc. Context-enriched microblog posting
US9166823B2 (en) 2005-09-21 2015-10-20 U Owe Me, Inc. Generation of a context-enriched message including a message component and a contextual attribute
US8509826B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc Biosensor measurements included in the association of context data with a text message
US8509827B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc. Methods and apparatus of context-data acquisition and ranking
US20070185980A1 (en) * 2006-02-03 2007-08-09 International Business Machines Corporation Environmentally aware computing devices with automatic policy adjustment features
US8001528B2 (en) * 2006-03-30 2011-08-16 Microsoft Corporation Organization of application state and configuration settings
US20080034412A1 (en) * 2006-08-02 2008-02-07 Informed Control Inc. System to prevent misuse of access rights in a single sign on environment
US8893224B2 (en) 2006-08-29 2014-11-18 Microsoft Corporation Zone policy administration for entity tracking and privacy assurance
US8302150B2 (en) * 2006-09-08 2012-10-30 Samsung Electronics Co., Ltd. Method and system for managing the functionality of user devices
US8341405B2 (en) 2006-09-28 2012-12-25 Microsoft Corporation Access management in an off-premise environment
US20080104393A1 (en) * 2006-09-28 2008-05-01 Microsoft Corporation Cloud-based access control list
CA2578390A1 (en) * 2007-01-12 2008-07-12 Truecontext Corporation Method and system for managing mobile applications
US8667156B2 (en) 2007-05-02 2014-03-04 Elevate Technologies Pty Ltd. Application-independent service delivery
US20090138478A1 (en) * 2007-11-27 2009-05-28 Motorola, Inc. Method and Apparatus to Facilitate Participation in a Networked Activity
US20090265764A1 (en) * 2008-04-21 2009-10-22 Verizon Business Network Services Inc. Aggregation and use of information relating to a users context
US10504124B2 (en) 2008-04-21 2019-12-10 Verizon Patent And Licensing Inc. Aggregation and use of information relating to a users context for personalized advertisements
US20090303449A1 (en) * 2008-06-04 2009-12-10 Motorola, Inc. Projector and method for operating a projector
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US20090315766A1 (en) 2008-06-19 2009-12-24 Microsoft Corporation Source switching for devices supporting dynamic direction information
US8467991B2 (en) 2008-06-20 2013-06-18 Microsoft Corporation Data services based on gesture and location information of device
US8416695B2 (en) * 2008-06-30 2013-04-09 Huawei Technologies Co., Ltd. Method, device and system for network interception
EP2297989B1 (en) * 2008-07-10 2020-06-10 Telefonaktiebolaget LM Ericsson (publ) A method and apparatus for context-based content management
US8961619B2 (en) * 2009-01-06 2015-02-24 Qualcomm Incorporated Location-based system permissions and adjustments at an electronic device
US8108495B1 (en) * 2009-04-30 2012-01-31 Palo Alto Networks, Inc. Managing network devices
US9736675B2 (en) * 2009-05-12 2017-08-15 Avaya Inc. Virtual machine implementation of multiple use context executing on a communication device
US9112879B2 (en) * 2009-05-12 2015-08-18 Hewlett-Packard Development Company, L.P. Location determined network access
US8231233B2 (en) * 2009-06-17 2012-07-31 Motorola Mobility, Inc. Portable electronic device and method of power management for same to accommodate projector operation
US8872767B2 (en) 2009-07-07 2014-10-28 Microsoft Corporation System and method for converting gestures into digital graffiti
US8359629B2 (en) * 2009-09-25 2013-01-22 Intel Corporation Method and device for controlling use of context information of a user
US20110296430A1 (en) * 2010-05-27 2011-12-01 International Business Machines Corporation Context aware data protection
US9589145B2 (en) 2010-11-24 2017-03-07 Oracle International Corporation Attaching web service policies to a group of policy subjects
US8635682B2 (en) 2010-11-24 2014-01-21 Oracle International Corporation Propagating security identity information to components of a composite application
US8650250B2 (en) 2010-11-24 2014-02-11 Oracle International Corporation Identifying compatible web service policies
US9021055B2 (en) 2010-11-24 2015-04-28 Oracle International Corporation Nonconforming web service policy functions
US10346276B2 (en) 2010-12-16 2019-07-09 Microsoft Technology Licensing, Llc Kernel awareness of physical environment
WO2012129663A1 (en) * 2011-03-31 2012-10-04 C.T. Consultants Inc. Framework for context-aware systems and methods
US8560819B2 (en) 2011-05-31 2013-10-15 Oracle International Corporation Software execution using multiple initialization modes
US20120309354A1 (en) * 2011-06-06 2012-12-06 Syracuse University Situation aware security system and method for mobile devices
WO2013017736A1 (en) * 2011-07-31 2013-02-07 Nokia Corporation Method and apparatus for providing zone-based device interaction
US9628496B2 (en) * 2011-08-10 2017-04-18 Mizuho Information & Research Institute, Inc. Information management system and information management method
US9043864B2 (en) 2011-09-30 2015-05-26 Oracle International Corporation Constraint definition for conditional policy attachments
US9497082B2 (en) 2011-10-03 2016-11-15 Alcatel Lucent Rules engine evaluation for policy decisions
US8689281B2 (en) 2011-10-31 2014-04-01 Hewlett-Packard Development Company, L.P. Management of context-aware policies
US9443093B2 (en) * 2013-06-20 2016-09-13 Amazon Technologies, Inc. Policy enforcement delays
US9553765B2 (en) * 2013-11-13 2017-01-24 International Business Machines Corporation Geospatial based management of configuration profiles
US9560081B1 (en) 2016-06-24 2017-01-31 Varmour Networks, Inc. Data network microsegmentation
US9350703B2 (en) 2014-05-06 2016-05-24 Futurwei Technologies, Inc. Enforcement of network-wide context aware policies
US9288235B1 (en) 2014-09-17 2016-03-15 Microsoft Technology Licensing, Llc Contextually aware device management
US9467476B1 (en) 2015-03-13 2016-10-11 Varmour Networks, Inc. Context aware microsegmentation
US9294442B1 (en) * 2015-03-30 2016-03-22 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9609026B2 (en) 2015-03-13 2017-03-28 Varmour Networks, Inc. Segmented networks that implement scanning
US10178070B2 (en) 2015-03-13 2019-01-08 Varmour Networks, Inc. Methods and systems for providing security to distributed microservices
US10482231B1 (en) * 2015-09-22 2019-11-19 Amazon Technologies, Inc. Context-based access controls
WO2017049543A1 (en) 2015-09-24 2017-03-30 Motorola Solutions, Inc. Method of dynamically assigning a quality of service
US9825892B2 (en) 2015-09-25 2017-11-21 Sap Se Personalized and context-aware processing of message generation request
US11501252B1 (en) * 2015-12-31 2022-11-15 American Airlines, Inc. Context-based communication platform
US10200409B2 (en) * 2016-04-07 2019-02-05 Korea Electric Power Corporation Apparatus and method for security policy management
US9787639B1 (en) 2016-06-24 2017-10-10 Varmour Networks, Inc. Granular segmentation using events
US20180255106A1 (en) 2017-02-27 2018-09-06 Agt International Gmbh Systems, methods and computer program products for combining pets
US11144654B2 (en) * 2019-03-08 2021-10-12 Seagate Technology Llc Environment-aware storage drive with expandable security policies
US11748363B2 (en) * 2019-06-14 2023-09-05 Avalara, Inc. Generating, from data of first location on surface, data for alternate but equivalent second location on the surface
WO2023113819A1 (en) * 2021-12-17 2023-06-22 Google Llc Privacy-preserving location attestation

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US633138A (en) * 1898-08-25 1899-09-19 Victor Karavodine Rotative motor.
US5230048A (en) 1986-09-03 1993-07-20 Wang Laboratories, Inc. Data processing system with tree and list data structure
US4845744A (en) 1986-10-16 1989-07-04 American Telephone And Telegraph Company, At&T Bell Laboratories Method of overlaying virtual tree networks onto a message passing parallel processing network
JP2659742B2 (ja) 1988-03-02 1997-09-30 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置
WO1989009963A1 (en) 1988-04-15 1989-10-19 Digital Equipment Corporation System for managing hierarchical information in a digital data processing system
US5442805A (en) 1988-10-05 1995-08-15 Motorola, Inc. Location-based adaptive radio control
EP0423053B1 (en) 1989-10-13 1996-03-13 International Business Machines Corporation Method of using cached partial trees in computing a path in a data communication network
US5717387A (en) 1990-01-19 1998-02-10 Prince Corporation Remote vehicle programming system
US5224150A (en) 1990-07-06 1993-06-29 Simon Neustein Paging system
US5295261A (en) * 1990-07-27 1994-03-15 Pacific Bell Corporation Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure
US5224100A (en) 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5319775A (en) 1991-07-22 1994-06-07 Ncr Corporation Centralized diagnostic system for loosely coupled processors
US5499032A (en) 1992-12-22 1996-03-12 Terrapin Corporation Navigation and positioning system and method using uncoordinated beacon signals
US5539922A (en) * 1992-01-03 1996-07-23 Motorola, Inc. Multiple tree hierarchical portable communication system and method
US5285261A (en) 1992-07-06 1994-02-08 General Electric Company Dual interferometer spectroscopic imaging system
US5945985A (en) 1992-10-27 1999-08-31 Technology International, Inc. Information system for interactive access to geographic information
JPH06176081A (ja) 1992-12-02 1994-06-24 Hitachi Ltd 階層構造ブラウジング方法およびその装置
FI92782C (fi) 1993-02-09 1994-12-27 Nokia Mobile Phones Ltd Matkapuhelimien asetusten ryhmittely
US5815411A (en) 1993-09-10 1998-09-29 Criticom Corporation Electro-optic vision system which exploits position and attitude
CA2117846C (en) 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
US5555376A (en) 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US5635940A (en) * 1994-02-02 1997-06-03 Hickman; Paul L. Communication configurator and method for implementing same
US5948040A (en) 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US6571279B1 (en) 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US6028551A (en) 1994-12-13 2000-02-22 Schoen; Neil Charles Micro-miniature beacon transmit-only geo-location emergency system for personal security
GB2302420A (en) 1995-06-19 1997-01-15 Ibm Semantic network
US5774540A (en) 1995-11-15 1998-06-30 Lucent Technologies Inc. Hierarchical menu screen interface for displaying and accessing telephone terminal features
US5937164A (en) 1995-12-07 1999-08-10 Hyperlock Technologies, Inc. Method and apparatus of secure server control of local media via a trigger through a network for instant local access of encrypted data on local media within a platform independent networking system
US6300936B1 (en) 1997-11-14 2001-10-09 Immersion Corporation Force feedback system including multi-tasking graphical host environment and interface device
US5794142A (en) 1996-01-29 1998-08-11 Nokia Mobile Phones Limited Mobile terminal having network services activation through the use of point-to-point short message service
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
AUPN955096A0 (en) 1996-04-29 1996-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Telecommunications information dissemination system
US6154777A (en) 1996-07-01 2000-11-28 Sun Microsystems, Inc. System for context-dependent name resolution
US5806017A (en) 1996-08-19 1998-09-08 Board Of Regents The University Of Texas System Electronic autorouting navigation system for visually impaired persons
US6249252B1 (en) 1996-09-09 2001-06-19 Tracbeam Llc Wireless location using multiple location estimators
US6411899B2 (en) 1996-10-24 2002-06-25 Trimble Navigation Ltd. Position based personal digital assistant
US5953722A (en) * 1996-10-25 1999-09-14 Navigation Technologies Corporation Method and system for forming and using geographic data
EP1767406A1 (en) 1996-11-13 2007-03-28 Toyota Jidosha Kabushiki Kaisha Vehicle information communication device and vehicle communication system
US6011973A (en) 1996-12-05 2000-01-04 Ericsson Inc. Method and apparatus for restricting operation of cellular telephones to well delineated geographical areas
US5917911A (en) 1997-01-23 1999-06-29 Motorola, Inc. Method and system for hierarchical key access and recovery
JP3744102B2 (ja) 1997-02-21 2006-02-08 株式会社デンソー 車両の運行処理装置
JPH10276473A (ja) 1997-03-28 1998-10-13 Nec Corp 移動体通信システムおよび移動体通信装置
US6018570A (en) 1997-05-12 2000-01-25 Nynex Science And Technology Inc. Methods and apparatus for regulating the remote ordering, authorization, access and control of services and service features associated with a terminal
US6091956A (en) 1997-06-12 2000-07-18 Hollenberg; Dennis D. Situation information system
US6148261A (en) 1997-06-20 2000-11-14 American Calcar, Inc. Personal communication system to send and receive voice data positioning information
JP3857388B2 (ja) 1997-06-27 2006-12-13 富士通株式会社 移動通信端末
US6418533B2 (en) * 1997-08-29 2002-07-09 Compaq Information Technologies Group, L.P. “J” system for securing a portable computer which optionally requires an entry of an invalid power on password (POP), by forcing an entry of a valid POP
US6125446A (en) * 1997-08-29 2000-09-26 Compaq Computer Corporation Computer architecture with automatic disabling of hardware/software features using satellite positioning data
DE19742124C2 (de) 1997-09-24 2001-10-18 Siemens Ag Verfahren und Basisstationssystem zur Sprachübertragung über eine Funkschnittstelle in einem digitalen Funk-Kommunikationssystem
JP3893696B2 (ja) 1997-10-24 2007-03-14 カシオ計算機株式会社 通信端末装置
US5991756A (en) 1997-11-03 1999-11-23 Yahoo, Inc. Information retrieval from hierarchical compound documents
US6359892B1 (en) 1997-11-04 2002-03-19 Inventions, Inc. Remote access, emulation, and control of office equipment, devices and services
US6151601A (en) 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
DE19750366C2 (de) 1997-11-14 2000-01-13 Bosch Gmbh Robert Verfahren zur Nutzung von einer Zentrale angebotener Dienste durch ein Endgerät und Endgerät
US6057845A (en) 1997-11-14 2000-05-02 Sensiva, Inc. System, method, and apparatus for generation and recognizing universal commands
US6128759A (en) 1998-03-20 2000-10-03 Teradyne, Inc. Flexible test environment for automatic test equipment
US6281896B1 (en) 1998-03-31 2001-08-28 International Business Machines Corporation Data processor controlled interface with multiple tree of elements views expandable into individual detail views
JP3548459B2 (ja) 1998-11-20 2004-07-28 富士通株式会社 案内情報提示装置,案内情報提示処理方法,案内情報提示プログラムを記録した記録媒体,案内用スクリプト生成装置,案内情報提供装置,案内情報提供方法および案内情報提供プログラム記録媒体
US6078826A (en) 1998-05-29 2000-06-20 Ericsson Inc. Mobile telephone power savings method and apparatus responsive to mobile telephone location
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6185569B1 (en) 1998-06-29 2001-02-06 Microsoft Corporation Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table
US6292833B1 (en) 1998-07-17 2001-09-18 Openwave Systems Inc. Method and apparatus for providing access control to local services of mobile devices
US6233448B1 (en) 1998-07-22 2001-05-15 Ericsson Inc. System, method and apparatus for automatic feature activation/deactivation based upon positioning
US6442620B1 (en) 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US6336138B1 (en) 1998-08-25 2002-01-01 Hewlett-Packard Company Template-driven approach for generating models on network services
US6182136B1 (en) 1998-09-08 2001-01-30 Hewlett-Packard Company Automated service elements discovery using core service specific discovery templates
US6243093B1 (en) 1998-09-14 2001-06-05 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups matching objects
US6166738A (en) 1998-09-14 2000-12-26 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects
US6160553A (en) 1998-09-14 2000-12-12 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and in which object occlusion is avoided
US6188405B1 (en) 1998-09-14 2001-02-13 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory, to objects
US6054989A (en) 1998-09-14 2000-04-25 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which provides spatialized audio
DE19842836A1 (de) 1998-09-18 2000-04-20 Nokia Mobile Phones Ltd Verfahren zur Bestimmung der Position einer Kommunikationseinrichtung und Kommunikationseinrichtung zur Durchführung des Verfahrens
GB2342196A (en) 1998-09-30 2000-04-05 Xerox Corp System for generating context-sensitive hierarchically-ordered document service menus
AU1707600A (en) 1998-10-21 2000-05-08 American Calcar, Inc. Positional camera and gps data interchange device
US6321092B1 (en) 1998-11-03 2001-11-20 Signal Soft Corporation Multiple input data management for wireless location-based applications
US6522875B1 (en) 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
US6279007B1 (en) 1998-11-30 2001-08-21 Microsoft Corporation Architecture for managing query friendly hierarchical values
US6104344A (en) * 1999-03-24 2000-08-15 Us Wireless Corporation Efficient storage and fast matching of wireless spatial signatures
US6842877B2 (en) 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US6343291B1 (en) * 1999-02-26 2002-01-29 Hewlett-Packard Company Method and apparatus for using an information model to create a location tree in a hierarchy of information
US6401051B1 (en) 1999-04-20 2002-06-04 Sun Microsystems, Inc. Method and apparatus for locating buried objects
US6313791B1 (en) 1999-05-27 2001-11-06 Michael Dean Klanke Automotive GPS control system
US6470344B1 (en) 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US6421072B1 (en) 1999-06-03 2002-07-16 International Business Machines Corporation Displaying a complex tree structure among multiple windows
US6307573B1 (en) 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
US6470354B1 (en) 1999-08-05 2002-10-22 International Business Machines Corporation Implementing persistent object services (POS) on top of a relational database
US6575361B1 (en) 1999-08-19 2003-06-10 E-2 Interactive, Inc. System and method for managing stored-value card data
US6374177B1 (en) 2000-09-20 2002-04-16 Motorola, Inc. Method and apparatus for providing navigational services in a wireless communication device
US6466918B1 (en) 1999-11-18 2002-10-15 Amazon. Com, Inc. System and method for exposing popular nodes within a browse tree
US6216087B1 (en) 1999-11-23 2001-04-10 Xerox Corporation Infrared beacon positioning system
US6684219B1 (en) 1999-11-24 2004-01-27 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for building and maintaining an object-oriented geospatial database
US6411220B1 (en) 1999-12-07 2002-06-25 Cue Corporation Traffic paging system
US6628928B1 (en) 1999-12-10 2003-09-30 Ecarmerce Incorporated Internet-based interactive radio system for use with broadcast radio stations
US6748225B1 (en) 2000-02-29 2004-06-08 Metro One Telecommunications, Inc. Method and system for the determination of location by retail signage and other readily recognizable landmarks
US6581062B1 (en) 2000-03-02 2003-06-17 Nimble Technology, Inc. Method and apparatus for storing semi-structured data in a structured manner
US6327535B1 (en) * 2000-04-05 2001-12-04 Microsoft Corporation Location beaconing methods and systems
US6750883B1 (en) 2000-04-05 2004-06-15 Microsoft Corporation Identity-based context aware computing systems and methods
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US8037152B2 (en) 2000-06-20 2011-10-11 At&T Intellectual Property Ii, L.P. Active requesting of information for psuedo-live performance
US6513059B1 (en) 2000-08-24 2003-01-28 Cambira Corporation Adaptive collaborative intelligent network system
US6594666B1 (en) 2000-09-25 2003-07-15 Oracle International Corp. Location aware application development framework
US20020156870A1 (en) 2000-11-08 2002-10-24 Equate Systems, Inc. Method and apparatus for dynamically directing an application to a pre-defined target multimedia resource
US6553310B1 (en) * 2000-11-14 2003-04-22 Hewlett-Packard Company Method of and apparatus for topologically based retrieval of information
US6708086B2 (en) 2000-12-11 2004-03-16 Sue M. Richard Vehicle computer
US6625615B2 (en) 2000-12-19 2003-09-23 International Business Machines Corporation Data processing system and method for multi-level directory searches
US6944679B2 (en) * 2000-12-22 2005-09-13 Microsoft Corp. Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
US7493565B2 (en) * 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
US20020081984A1 (en) 2000-12-27 2002-06-27 Constance Liu System that customizes favorite radio stations for multiple users

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265286A (ja) * 2003-03-04 2004-09-24 Fujitsu Ltd 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理
JP2006172456A (ja) * 2004-12-17 2006-06-29 Xerox Corp 能動装置を用いた、画像において追跡された物体の識別
JP2008526144A (ja) * 2004-12-28 2008-07-17 ▲ホア▼▲ウェイ▼技術有限公司 移動通信システムにおいてデータサービスのセキュリティを実現する方法、システム及び装置
KR101248703B1 (ko) 2005-01-26 2013-03-28 오픈픽 인크. 다수의 장치 제어의 셋업을 위한 방법, 시스템 및 컴퓨터 판독가능 기록 매체
JP2009104593A (ja) * 2007-09-20 2009-05-14 Intel Corp コンテクスト情報の集計、解析及び利用のためのコンテクストプラットフォームフレームワーク
US9424105B2 (en) 2011-12-07 2016-08-23 Samsung Electronics Co., Ltd. Preempting tasks at a preemption point of a kernel service routine based on current execution mode
JP2015506043A (ja) * 2011-12-14 2015-02-26 マイクロソフト コーポレーション ルールに基づくコンテキスト取得のための方法
JP2014112367A (ja) * 2012-11-26 2014-06-19 Boeing Co 検索中に関連性のない情報を削減するシステム及び方法
JP2016507825A (ja) * 2013-01-03 2016-03-10 シナラ システムズ プライベート リミテッド モバイルユーザコンテキスト検出のための場所および時間認識システムおよび方法
JP2017517825A (ja) * 2014-04-11 2017-06-29 ディロ, インコーポレイテッドDiro, Inc. 動的コンテキストデバイスネットワーク

Also Published As

Publication number Publication date
EP1220510A3 (en) 2004-09-15
EP1220510B1 (en) 2008-07-23
DE60134947D1 (de) 2008-09-04
ATE402538T1 (de) 2008-08-15
US7072956B2 (en) 2006-07-04
JP4806143B2 (ja) 2011-11-02
EP1220510A2 (en) 2002-07-03
US20020124067A1 (en) 2002-09-05

Similar Documents

Publication Publication Date Title
JP4806143B2 (ja) コンテキスト指向のポリシー決定および施行のための方法
JP4662675B2 (ja) コンテキスト認識型のコンピューティングデバイスおよび方法
JP5162505B2 (ja) 環境対話式のコンテキスト指向デバイス、および、方法
US7743074B1 (en) Context aware systems and methods utilizing hierarchical tree structures
US6327535B1 (en) Location beaconing methods and systems
US6750883B1 (en) Identity-based context aware computing systems and methods
US7096029B1 (en) Context aware computing devices having a common interface and related methods
US7421486B1 (en) Context translation methods and systems
JP4138308B2 (ja) コンテキストアウェアでロケーションアウェアな携帯電話および方法
JP4334796B2 (ja) 位置認識システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070905

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070910

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071005

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071011

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071228

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080611

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080704

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7431

Effective date: 20100603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100603

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20101129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees