JP2003532210A - コンテキスト認識型のコンピューティングデバイスおよび方法 - Google Patents

コンテキスト認識型のコンピューティングデバイスおよび方法

Info

Publication number
JP2003532210A
JP2003532210A JP2001579526A JP2001579526A JP2003532210A JP 2003532210 A JP2003532210 A JP 2003532210A JP 2001579526 A JP2001579526 A JP 2001579526A JP 2001579526 A JP2001579526 A JP 2001579526A JP 2003532210 A JP2003532210 A JP 2003532210A
Authority
JP
Japan
Prior art keywords
location
information
computing device
context
service module
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
JP2001579526A
Other languages
English (en)
Other versions
JP4662675B2 (ja
Inventor
パルプディ ゴパル
エフ.リュース エドワード
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 JP2003532210A publication Critical patent/JP2003532210A/ja
Application granted granted Critical
Publication of JP4662675B2 publication Critical patent/JP4662675B2/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

(57)【要約】 コンテキスト認識型のコンピューティングシステムおよび方法を記載する。特定の実施形態では、位置認識型のシステムおよび方法が記載される。記載する実施形態では、階層ツリー構造を利用して、デバイスのコンテキストまたは位置を確定する。このツリー構造は、モバイルコンピューティングデバイスに記憶する、またはモバイルコンピューティングデバイスからアクセスすることができ、デバイスは各自の特定のコンテキストまたは位置を決定することができる。一実施形態では、ツリー構造の1つが、地球の地理的区分を表すノードを含むマスター世界のツリー構造からなる。ツリー構造のうち別の1つはいわゆるセカンダリー世界を含むことができ、これは組織または企業に固有の世界観である物理的または論理的エンティティを表すノードを含む。コンピューティングデバイスは、1つ以上のツリー構造上のノードを確定し、次いでそのツリー構造を横断して完全なコンテキストを確定することにより、そのコンテキストまたは位置を自動的に決定することができる。コンテキスト認識型のコンピューティングを可能にする独自のデバイスアーキテクチャが記載される。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、概して、コンテキスト認識型コンピューティングまたはユビキタス
コンピューティングの領域に関する。
【0002】 (発明の背景) ワールドワイドウェブ(WWW)は、世界中のどの位置にあるどのソースから
でもコンテンツを入手できるようにするために作り出された。ウェブのユーザは
、一般に、一見無限数のリソースにウェブを介してアクセスすることができる。
ウェブはこの点においては非常に成功している。しかしウェブの発展に伴い、い
まだ満たされていない必要性もある。具体的には、人々は、コンテキスト的な側
面を持つ情報にアクセスする必要性をなお有している。すなわち、多くの場合、
個人は特定のコンテキストを伴うコンピューティング環境にある。しかし、現在
のコンピューティング環境に環境のコンテキストを組み込むことは容易でない。
一例として位置のコンテキストを考えてみたい。人々は一般に、地理的な特質を
有する情報、データ、リソースなどにアクセスする必要性を有している。例えば
、個人は現在自分が位置している場所に近いサービスや製品を活用したい場合が
ある。これについては、その者がサービス、商品などを利用できるように、その
者のコンテキスト的な位置を把握することが望ましい。「eコマース」の重要性
が高まり続けるのにつれて、人々、場所、サービス、および商品を効率的な方式
で結びつける必要性が非常に重要になるものと思われる。
【0003】 今日まで、人々と、場所、サービス、商品を結び付けようとする数多くの試み
がなされてきた。こうした各種の試みは概して、多くの場合には相互に互換性の
ない方式でこの問題を様々な方向から扱ってきた。一例として位置のコンテキス
トを考えてみたい。あるサービスは、サービスに関する情報を保持する大規模な
データベースを定義することにより、人々とサービスを結びつけることを試みた
。例えば、各飲食店をその店が位置する郵便番号と関連付けた、ウェブによるア
クセスが可能なデータベースに飲食店のリストを保持することができる。ユーザ
が特定の飲食店を見つけたいときには、単に自分がいる郵便番号を入力して、そ
の郵便番号内にある対応する飲食店のリストを見ることができる。飲食店のリス
トから、該当する飲食店を1つまたは2つ選択することができる。この手法はい
くつかの理由により望ましくない。まず、このシステムの運用は、ユーザからの
照会を受け取り、照会を実行して情報をユーザに戻す役目を担うセントラルサー
バに依存する。サーバ障害が起こった際には、サービスにも障害が発生する。さ
らに、この特定のサービスは飲食店を見つけるのには適しているかもしれないが
、他のビジネスには適さない可能性がある。また、ユーザに結果が戻される際の
精度は、ユーザに検索の負担の一部を強いる場合がある(すなわち、ユーザは近
隣の郵便番号にある飲食店のリストを得るが、さらにそのリストの中からどの店
が該当するかを選択しなければならない)。さらに、飲食店のリストには、何ら
かの種の物理的障害(川、山など)によってさえぎられており、直線距離で行く
場合の距離をたどることが不可能な飲食店が含まれている可能性もある。
【0004】 サービスや製品のプロバイダは、近隣のエンドユーザと結び付けられることを
望む。エンドユーザは、最も近く、最も利便な位置にあるこうしたサービスや商
品を消費することを望む。歯の穴を埋めてもらう、あるいは詰まった流しを修理
してもらう必要がある場合に、「ネット上」のどこかに住む歯科医や配管工のサ
ービスを利用することは適切ではない。スタジアムにいるときに一番近くで買え
るホットドッグを探そうとすれば、スタジアムの中にいなくてはならない。
【0005】 コンピューティングデバイスが各自の特定のコンテキストに関与できるコンテ
キスト認識型のコンピューティングを作り出すことを可能にするという未解決の
必要性がある。特定の状況では、公的な世界観と私的な世界観の両者における物
理的位置間の関係上の位置の認識を提供することが必要とされる。しかし、これ
までのところ、コンテキスト認識型のコンピューティングの可能性を開く、標準
化されたただ1つの世界観は存在しない。位置の認識は本質的に非常に広い領域
ではあるとは言え、コンテキスト認識型のコンピューティングは単なる位置認識
以上のものである。
【0006】 本発明は、標準化されたコンテキスト認識型の基盤設備とそれに関連するシス
テムを開発して、コンテキスト認識型コンピューティングの可能性を開くことに
関連する問題から生まれたものである。
【0007】 (発明の概要) コンテキスト認識型のコンピューティングシステムおよび方法を記載する。記
載する実施形態では、地球および/または物理的または論理的エンティティの地
理的な区分を一意に識別する、1つ以上の階層的ツリー構造を定義する。各ツリ
ーは複数のノードを有し、各ツリーの少なくとも1つのノードがリンクされる。
ツリーの個々のノードには商品およびサービスを関連付けることができ、ノード
は、商品やサービスを見つける、または消費しようとする際に世界規模の参照を
提供する。
【0008】 一実施形態では、コンピューティングデバイス(固定型または携帯型のコンピ
ューティングデバイス)は、1つ以上のツリー構造にアクセスすることができ、
ツリー構造を利用してその現在のコンテキストを確定することができる。デバイ
スは、1つ以上のツリー構造を横断して、そのツリー構造の個々のノードに関連
付けられた情報を確定することによりそのコンテキストを決定する。特定の実施
形態では、コンテキストはデバイスの位置であり、デバイスは、マスター世界と
1つ以上のセカンダリー世界におけるその位置を自発的に決定することができる
。コンピューティングデバイスは、その位置を決定すると位置に依存するシナリ
オに参加することができる。
【0009】 一実施形態ではマスター世界が定義され、これは、全世界的に受け入れられる
世界の記述を表す階層的ツリー構造である。1つ以上のセカンダリー世界を定義
することができ、これは、マスター世界とつながる(link with)企業
または組織固有の世界観を構築する。セカンダリー世界は、ある組織の位置のツ
リーを記述することができる。
【0010】 一実施形態では、デバイスのアーキテクチャは、共通インタフェース、位置サ
ービスモジュール、複数の位置プロバイダ、アプリケーションプログラムインタ
フェース(API)またはイベントレイヤを含む。様々な位置プロバイダは確定
される位置情報をもって共通インタフェースを呼び出すことができ、この情報を
位置サービスモジュールで処理することによりデバイスの現在の位置を確定する
。位置プロバイダは現在の位置に関する手がかりを提供し、位置サービスモジュ
ールはその手がかりを1つ以上の階層ツリー構造上のノード位置に変える。位置
サービスは次いで1つ以上のツリー構造を横断して、完全なデバイス位置を確定
する。各種アプリケーションはAPIレイヤを呼び出して、位置サービスモジュ
ールからの位置情報を確認することができる。デバイスが階層構造のどこに位置
するかを知ることにより、アプリケーションは位置に依存した商品やサービスを
ユーザに提示することができる。したがって、ユーザは、各自の現在のコンピュ
ーティング環境に活発に参加することができる。
【0011】 他の実施形態では、位置サービスモジュールは一定度の確実性でデバイスの位
置を決定することができる。位置サービスモジュールは、位置プロバイダが提供
する情報に割り当てられる信頼度と正確度のパラメータを使用してこの決定を行
う。さらに、位置サービスモジュールにより位置プロバイダに信用度パラメータ
を割り当てることができ、このパラメータは特定の位置プロバイダに関連付けら
れた信用性の尺度を提供する。位置サービスモジュールは、デバイス位置を決定
する際にどの位置情報を使用し、それをどのように使用するかを決定する際にこ
れらのパラメータをすべて考慮することができる。
【0012】 別の実施形態では、アプリケーションの識別とそのデバイスのセキュリティ方
針に応じて各種のアプリケーションに提供される情報を調整する機能を果たすプ
ライバシーマネージャによってプライバシーの問題に対処する。
【0013】 さらに別の実施形態では、独自のビーコンプロバイダについて説明する。ビー
コンは様々な場所に置くことができ、(位置情報の場合には)ツリー構造ノード
に対するデバイスの位置を確定する際に直接使用することのできるコンテキスト
情報を送信する。これは、定義された階層的基盤設備内におけるデバイスの位置
に関する直接的な情報を提供する。
【0014】 (好ましい実施形態の詳細な説明) 概略 標準化された解決法を提供するために、以下で説明する実施形態は画一的な世
界の定義を提供する。画一的な定義は階層的なノードのツリーとして定義され、
各ノードが世界の何らかの側面を表す。各ノードは、分岐によって少なくとも1
つの他のノードに連結される。例示的なノードの分類は、物理的レベル(例えば
政治的エンティティ、社会基盤のエンティティ、公共の場所などの物理的位置)
で、また非物理的なレベル(例えば軍のAPO)でも行われる。この階層的なノ
ード構造をマスター世界と呼び、これは標準化された世界規模の世界観である。
マスター世界の各ノードは、コンテキスト認識型のコンピューティングを支援す
る、それに関連付けられた各種の属性を備える。属性の例には、一意のID、名
前、地理的なエンティティクラス、緯度/経度、相対的な重要度、数個のみを指
示するコンテキスト上の親が含まれる。マスター世界は、定義可能な精度で世界
中のあらゆる場所の相対的な位置を決定するのに使用できるので有用である。
【0015】 ある個人の位置、あるいはある個人が興味を持つ場所が決定されると、その位
置に基づいてその位置を参照する各種サービスを個人に提供することができる。
すなわち、マスター世界内のノード位置にサービスを結びつけることができると
いう点で、マスター世界モデルによって価値が提供される。
【0016】 この概念に基づき、さらに2つの概念、すなわちいわゆるセカンダリー世界の
概念と「ジオゾーン」が価値を付加する。
【0017】 セカンダリー世界は強力なコンピューティング機構であり、これにより個々の
エンティティ(ビジネスや組織など)は、マスター世界による世界観に必ずしも
準拠しなくともよい各自の特定の世界を定義することができる。すなわち、マス
ター世界が基本的に世界の物理的な階層的表現であるのに対し、セカンダリー世
界は各個々のエンティティの世界観の物理的および/または論理的な表現にする
ことができる。セカンダリー世界の特に有用な点は、それが少なくとも1点でマ
スター世界内にリンクしていることである。したがって、どのセカンダリー世界
でも、セカンダリー世界だけでなくマスター世界におけるユーザの位置も決定す
ることができる。セカンダリー世界のノードには各種のサービスを取り付けるこ
とができる。計算されたユーザの位置に基づき、セカンダリー世界のノードに関
連付けられたこの各種サービスをユーザに提供することができる。さらに、ユー
ザのコンテキストはマスター世界との関連で決定されるので、特定のセカンダリ
ー世界に関連付けられていない可能性のある他のサービスを提供することができ
る。
【0018】 ジオゾーンは基本的に空間的なインデックス付けの機構であり、これによりマ
スター世界を個々のゾーンにさらに分割する。説明する実施形態では、ゾーンは
、密度関数に依存する4分木アルゴリズム(a quad tree algo
rithm)を使用して再分割される(ただし他の多くの空間インデックス手法
も使用することができる)。所望の密度レベルに達すると(密度は1ゾーンごと
の当該の地点によって定義することができる)、マスター世界の各ノードに特定
のジオゾーンが割り当てられる。ジオゾーンは、迅速かつ単純な方式で近接度を
計算することを可能にする。
【0019】 マスター世界とセカンダリー世界の有用な点は、固定型のコンピューティング
デバイス(デスクトップデバイス)または携帯型のコンピューティングデバイス
(携帯電話、ラップトップなど)などの各種のコンピューティングデバイスから
「到達できる」ことである。すなわち、マスター世界(あるいは少なくともその
一部)と1つ以上のセカンダリー世界は、ユーザが各自のコンテキストを入手で
きるように、コンピューティングデバイス上にローカルに保持することも、ある
いは、例えばウェブやその他の機構を介してアクセスすることもできる。例えば
、ユーザがセカンダリー世界における各自のコンテキストを得るために、セカン
ダリー世界をコンピューティングデバイスにダウンロードすることができる。マ
スター世界、および1つ以上のセカンダリー世界からユーザのコンテキストが決
定されると、各種の頑強なコンテキスト認識型の解決法をユーザが利用できるよ
うになる。例えば、特定のセカンダリー世界のサービスを提供する、あるいはマ
スター世界のサービスを提供することができる。さらに、ユーザの位置が他のセ
カンダリー世界にも知られる(あるいは知らせる)ことが可能なことから、そう
した他のセカンダリー世界のサービスも提供することができる。このような方式
で、マスター世界は2つあるいはそれ以上のセカンダリー世界をともに結びつけ
ることができる。
【0020】 別の態様は、記載する種々実施形態がデバイスの位置を決定する際に各コンピ
ューティングデバイスの計算能力を利用する点である。ここで、マスター世界と
1つ以上のセカンダリー世界をデバイスから到達できる(かつ可能性としてはデ
バイス上でローカルに保持する)ようにすることにより、デバイス自体がそれ自
体のコンテキストを決定する。
【0021】 一実施形態では、上記のコンピューティングデバイス構造、すなわちマスター
世界と1つ以上のセカンダリー世界を利用するように構成されたクライアントサ
イドデバイスを提供する。マスター世界またはその一部は、デバイスでローカル
に利用できるようにすることも、あるいは別の位置から例えばウェブを介してア
クセスできるようにすることもできる。この実施形態では、クライアントデバイ
スはデバイス上で位置サービスを実施する。ここに述べる位置サービスとは、デ
バイスの位置を決定することができ、各種アプリケーションからの照会に答える
ことのできる(デバイスまたはデバイス外で実行される)ソフトウェアモジュー
ルである。位置サービスは、マスター世界と1つ以上のセカンダリー世界を使用
してデバイスの位置を決定する。アプリケーションは、1つ以上のアプリケーシ
ョンプログラムインタフェース(API)またはイベントを通じて位置サービス
に照会を行い、アプリケーションがサービスを提供する際に使用される位置情報
を入手する。
【0022】 位置サービスは、情報をデバイスに伝達する1つ以上の位置プロバイダを利用
する。この情報は、位置プロバイダに固有の情報であっても、あるいはマスター
世界またはセカンダリー世界のノードに直接マッピングすることのできる情報で
あってもよい。例示的な位置プロバイダには、全地球測位システム(GPS)プ
ロバイダ、携帯電話プロバイダ(セルプロバイダ)、ブルートゥースプロバイダ
、ユーザインタフェースプロバイダなどが含まれる。位置プロバイダは、デバイ
スの現在の位置の一面を与える情報を提供する。この情報は、デバイスの位置を
確定するために位置サービスによって使用される。
【0023】 このクライアントデバイスの特に好都合な特徴の1つは、標準あるいは共通の
位置プロバイダインタフェースである。この位置プロバイダインタフェースは、
位置サービスが情報を使用してその位置を決定することができるように、各種の
位置プロバイダが位置サービスに情報を提供することを可能にする。基本的に、
複数の位置プロバイダインタフェースは共通のインタフェースであり、これによ
り複数の異なる位置プロバイダが位置に関する位置情報(または手がかり)をデ
バイス上の位置サービスに提供することが可能になる。位置プロバイダは、間隔
を置いて、またはデバイスからポーリングされた際に常に位置情報を提供するこ
とができる。位置情報は信頼度と正確度の推定値を備えることができ、位置サー
ビスは情報を使用する前にその相対的な品質を評価することができる。各種のプ
ロバイダは自身を自己監視する能力も有し、プロバイダが情報をインテリジェン
トに位置サービスに伝達する能力を支援する。共通インタフェースを備えること
により、位置プロバイダのコレクションを動的に拡張することができる。すなわ
ち、位置サービスまたはデバイスによって行われる機能を妨害せずに、位置プロ
バイダのコレクションに位置プロバイダを追加または削除することができる。位
置プロバイダは、デバイスの動作中に追加または削除することができる。これは
、将来開発される位置プロバイダに対応する際に特に有用である。この特定実施
形態では、2レベルの抽象化が提供される。すなわち、(1)位置プロバイダか
ら情報を受け取るプロバイダインタフェースと、(2)アプリケーションが各種
情報を得る(get at)ことを可能にするAPI/イベントレイヤ、である
【0024】 この実施形態の焦点の1つは、各種の異なるソースからコンテキスト情報(例
えば位置情報)を収集し、その情報からデバイスの現在の位置を決定し、あるレ
ベルの現在のコンテキストを、デバイスのコンテキストを使用してサービスを提
供する、またはデバイスがそのコンテキスト環境に参加することを可能にする1
つ以上のアプリケーションに提供することができるデバイスである。
【0025】 ここで説明する実施形態では、このデバイスは位置情報またはその位置に関す
る手がかりを受信する。この情報は位置サービスによって照合され、マスター世
界および/またはセカンダリー世界内のノードにマッピングされる。次いで階層
ツリーを横断して、セカンダリー世界とマスター世界両方におけるデバイスの正
確な位置を決定することができる。この時点でデバイスはそのコンテキストを決
定している。照合された情報を仲裁にかけることにより、高く信頼されている情
報だけを使用してコンテキストを決定することを保証することができる。位置情
報はキャッシュして、定義可能な期間にわたって一定程度正確である「現在の位
置情報」を提供することができる。したがって、何らかの理由により他の位置プ
ロバイダが利用できない場合には、キャッシュを使用して位置を確定することが
できる。
【0026】 デバイスの位置が決定されると、デバイスはその情報にセキュリティポリシー
を適用することができる。これを行うと、デバイスは各種アプリケーションから
の照会への返答を開始することができる。
【0027】 ここに説明する実施形態の一態様は「気に入った位置」の態様であり、ここで
はデバイスを異なる位置に適応させることができるように、デバイスがそのコン
テキストを決定するとデバイスを自動的に構成することができる。
【0028】 さらに、各種タイプの位置プロバイダは異なるタイプの情報を伝達することが
できる。例えば、いわゆる「シン(thin)プロバイダ」は、位置サービスに
よって適切なノード情報に変換される位置情報を提供する。いわゆる「シック(
thick)プロバイダ」は、位置情報を得て、それを直接マスター世界または
セカンダリー世界にマッピングできる形態で提供するロジックを含んでいる。
【0029】 別の実施形態では、可能な限り正確にデバイスのコンテキストまたは位置を決
定することを目的とする位置変換サービスが提供される。この実施形態では、各
種の位置プロバイダから情報を受信する。この情報には、位置、正確度、信頼度
(これらはすべて位置プロバイダから提供される)、信用度(デバイスまたはユ
ーザによって位置プロバイダに割り当てられる)、およびタイムスタンプ(位置
情報の新しさを判定するのを助ける)が含まれる。位置の変換処理には、どの位
置プロバイダが有効かつアクティブであるかを判断することが必要とされる。位
置プロバイダは、信頼度と信用度のレベルに従って格付けすることができる。こ
れにより、位置プロバイダの順位付きリストが定義される。すべての位置プロバ
イダが非アクティブになった状況のために対策がなされる。このような場合は、
「現在の位置」を、その信頼度が時間の経過とともに低下する位置プロバイダと
して使用する。
【0030】 2つ以上の位置プロバイダからの情報が衝突した場合は、措置を行って信用レ
ベルが高い方の情報を使用することができる。(衝突がないとすると)すべての
位置プロバイダから提供される情報を使用してツリー構造とノードのエンティテ
ィID(EID)を決定することができる。このツリーはマスター世界でよく、
EIDはマスター世界のノードになる。ツリーはセカンダリー世界であってもよ
く、EID(あるいは位置の固有識別子「LUID」)はセカンダリー世界のノ
ードになる。この情報を照合すると、単にツリーを横断することにより完全な位
置情報を決定することができる。デバイスの位置を決定すると、現在の位置(タ
イムスタンプを含む)によってキャッシュを更新することができる。
【0031】 別の実施形態では、コンテキスト認識型のコンピューティング環境におけるプ
ライバシーの問題を扱う。この実施形態では、位置サービスは、特定デバイスの
位置に関する位置情報を入手している。プライバシーマネージャは、情報を要求
し得るアプリケーションにどのレベルの情報を提供するかを決定する。プライバ
シーマネージャは、コンピューティングデバイス自体に常駐させることも、ある
いは信頼される第3者が代理として実行することもできる。
【0032】 この実施形態によると、プライバシーレベルの尺度を定義する。各レベルは、
特定デバイスの位置に関する、ある程度固有の情報を含むように定義する。ユー
ザは、位置情報を要求し得るエンティティにプライバシーレベルを割り当てるこ
とができる。さらに、マスター世界とセカンダリー世界の各ノードは、各自に関
連付けられたプライバシーレベルを有することができる。アプリケーションから
の照会を受け取ると、プライバシーマネージャはまずその照会の送信元と、その
アプリケーションまたはエンティティに関連付けられたプライバシーレベルを判
断する。プライバシーマネージャは次いで、マスター世界とセカンダリー世界の
うち1つ以上を評価して、それに対応するプライバシーレベルを有するノードを
見つける。対応するノードが見つかると、要求元のアプリケーションまたはエン
ティティにその特定の精度で情報が提供される。
【0033】 別の実施形態では、位置ビーコンの形で位置プロバイダを提供するシステムお
よび方法を記載する。この実施形態では、様々な領域(公的/私的な領域)に取
り付け、送信範囲内にある任意のコンピューティングデバイスに位置を指示する
(beacon)ことのできる位置ビーコンが提供される。送信される情報によ
り、デバイスがその位置またはコンテキストを判断することが可能になる。位置
ビーコンは、その情報を使用する位置サービスに固有の情報を送信することがで
きる。送信される情報は、EID/URLのペア、およびLUID/URLのペ
アを含むことができる。EIDはマスター世界内のノードのノード識別を示し、
それに関連付けられたURLはマスター世界と通信するためのプロトコルを示す
。URLは例えば、そのEIDを使用する追加的なコンテキスト情報を提供する
ことが可能なサーバにリンクすることができる。LUIDは、現在の位置に対応
するセカンダリー世界のノードを示し、URLはそのセカンダリー世界と通信す
るためのプロトコルを示す。例えば、URLは、セカンダリー世界をホストして
いるサーバにリンクすることができる。そしてこのサーバに照会を行うことによ
り、そのセカンダリー世界に関する情報(セカンダリー世界のツリー構造、関連
するリソースの位置など)をさらに発見することができる。EIDおよびLUI
Dを(URLと併せて)用いて、デバイスはマスター世界またはセカンダリー世
界を横断してその位置を判断することができる。ビーコンの実装には各種の技術
を使用することができる(無線、RF、IR)。ビーコンは、改ざんを阻止する
ために「1回だけプログラムする(program once)」デバイスにす
ることができる。ただし、プログラム可能なビーコンも提供することができる。
送信される情報の真正性を保証するために、ビーコン情報とともに提供される検
証可能な署名の形でセキュリティも提供することができる。
【0034】 ビーコンのコンテキスト認識型のコンピューティングの有用な態様は、「位置
によって可能になるアクセス」の概念である。すなわち、位置情報を受信するの
に加えて(あるいは受信するのとは別に)、ビーコンはコードダウンロードポイ
ンタを送信することができ、これによりスマートデバイスは、デバイスがその現
在のコンテキストに参加することを可能にするソフトウェアコードにアクセスす
ることができる。
【0035】 例示的コンピューティングシステム 当文書のコンテキストでは、用語「コンピューティングデバイス」は一般に任
意タイプのコンピューティングデバイスを指すのに使用する。例示的なコンピュ
ーティングデバイスの特徴は、それが通例1つ以上のプロセッサと、コンピュー
タ可読媒体(記憶装置やメモリなど)と、1つ以上のプロセッサで実行され、プ
ログラムされた機能をプロセッサに実施させるソフトウェアとを含むことである
。特定の実施形態では、実装は携帯型のコンピューティングデバイス(例えばラ
ップトップコンピュータなど)、および/またはハンドヘルド型のコンピューテ
ィングデバイス(例えばパームPC、無線電話など)のコンテキストで行われる
【0036】 図1は、ここに説明する実施形態と併せて使用するのに適したコンピューティ
ングデバイスの一例を構成する概略図である。図のコンピューティングデバイス
の一部は、特定の実施形態の使用を企図する、1つ以上のコンピューティングデ
バイス(例えばパームPC、無線電話など)に組み込むことができることは理解
されよう。
【0037】 コンピュータ130は、1つ以上のプロセッサすなわち処理装置132、シス
テムメモリ134、およびシステムメモリ134を含む各種のシステム構成要素
をプロセッサ132に結合するバス136を含む。バス136は、数タイプのバ
ス構造のうち1つ以上を表し、これには、各種のバスアーキテクチャの任意のも
のを使用するメモリバスまたはメモリコントローラ、周辺バス、アクセラレイテ
ッドグラフィックポート、およびプロセッサまたはローカルバスが含まれる。シ
ステムメモリ134は、読み取り専用メモリ(ROM)138およびランダムア
クセスメモリ(RAM)140を含む。起動時などにコンピュータ130内の要
素間の情報転送を助ける基本ルーチンを含む基本入出力システム(BIOS)1
42は、ROM138に記憶される。
【0038】 コンピュータ130はさらに、ハードディスク(図示せず)との読み出しおよ
び書き込みを行うハードディスクドライブ144、取り外し可能磁気ディスク1
48との読み出しおよび書き込みを行う磁気ディスクドライブ146、およびC
D ROMやその他の光媒体などの取り外し可能光ディスク152との読み出し
および書き込みを行う光ディスクドライブ150を含む。ハードディスクドライ
ブ144、磁気ディスクドライブ146、および光ディスクドライブ150は、
SCSIインタフェース154または何らかの他の適切なインタフェースによっ
てバス136に接続される。ドライブとそれに関連するコンピュータ可読媒体は
、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュ
ータ130用のその他のデータの不揮発性の記憶を提供する。ここに説明する例
示的環境では、ハードディスク、取り外し可能磁気ディスク148、および取り
外し可能光ディスク152を使用しているが、この例示的な動作環境では、磁気
カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセ
スメモリ(RAM)、読み取り専用メモリ(ROM)など、コンピュータからア
クセス可能なデータを記憶することのできる他のタイプのコンピュータ可読媒体
を使用してもよいことが当業者には理解されよう。
【0039】 ハードディスク144、磁気ディスク148、光ディスク152、ROM13
8、またはRAM140には複数のプログラムモジュールを記憶することができ
るが、これにはオペレーティングシステム158、1つ以上のアプリケーション
プログラム160、他のプログラムモジュール162、およびプログラムデータ
164が含まれる。ユーザは、キーボード166およびポインティングデバイス
168などの入力装置を介してコンピュータ130にコマンドおよび情報を入力
することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイス
ティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。上記の
入力装置とその他の入力装置は、バス136に結合されたインタフェース170
を通じて処理装置132に接続される。モニタ172またはその他のタイプの表
示装置も、ビデオアダプタ174などのインタフェースを介してバス136に接
続される。モニタの他に、パーソナルコンピュータは通例スピーカやプリンタな
ど他の周辺出力装置(図示せず)を含む。
【0040】 コンピュータ130は、普通、リモートコンピュータ176など、1つ以上の
リモートコンピュータへの論理接続を使用するネットワーク環境で動作する。リ
モートコンピュータ176は他のパーソナルコンピュータ、サーバ、ルータ、ネ
ットワークPC、ピアデバイス、またはその他の共通ネットワークノードでよく
、通例はコンピュータ130に関して上記で挙げた要素の多くあるいはすべてを
含むが、図1にはメモリ記憶装置178のみを示している。図1に示す論理接続
は、ローカルエリアネットワーク(LAN)180およびワイドエリアネットワ
ーク(WAN)182を含む。このようなネットワーキング環境は、オフィス、
企業規模のコンピュータネットワーク、イントラネット、およびインターネット
に一般に見られるものである。
【0041】 LANネットワーキング環境で使用する場合、コンピュータ130は、ネット
ワークインタフェースまたはアダプタ184を通じてローカルネットワーク18
0に接続される。WANネットワーキング環境で使用する場合、コンピュータ1
30は通例、インターネットなどのワイドエリアネットワーク182を通じて通
信を確立するためのモデム186またはその他の手段を含む。モデム186は内
蔵型でも外付け型でもよく、シリアルポートインタフェース156を介してバス
136に接続される。ネットワーク環境では、パーソナルコンピュータ130に
関して図に示すプログラムモジュール、またはその一部はリモートのメモリ記憶
装置に記憶してもよい。図のネットワーク接続は例示的なものであり、コンピュ
ータ間に通信リンクを確立する他の手段を使用してよいことは理解されよう。
【0042】 一般に、コンピュータ130のデータプロセッサは、異なる時にそのコンピュ
ータの各種のコンピュータ可読記憶媒体に記憶された命令を使用してプログラム
される。プログラムおよびオペレーティングシステムは一般に、例えばフロッピ
ー(登録商標)ディスクやCD−ROMによって配布される。そしてそこからコ
ンピュータの補助記憶装置にインストールまたはロードされる。実行時には、少
なくとも部分的にコンピュータの主要な電子メモリにロードされる。ここに記載
する発明は、その媒体が下記でマイクロプロセッサまたはその他のデータプロセ
ッサとの関連で説明するステップを実施するための命令またはプログラムを含む
場合には、上記のおよびその他各種タイプのコンピュータ可読記憶媒体を含む。
本発明はまた、下記の方法および技術に従ってプログラムした場合にはコンピュ
ータ自体も含む。
【0043】 例証のために、プログラム、およびオペレーティングシステムなど他の実行可
能プログラムコンポーネントをここでは個別のブロックとして図示しているが、
そのようなプログラムおよびコンポーネントは様々な時にコンピュータの異なる
記憶構成要素に常駐し、コンピュータのデータプロセッサによって実行されるこ
とが認識されよう。
【0044】 世界の定義 これまでのところコンテキスト認識型コンピューティングの問題を解決しよう
とするのに伴う問題の1つは、提案される解決法がいずれも独自の手法、データ
構造、プロセスなどを有することである。各種の手法間には、あるにしてもほと
んど標準化が存在しない。ここに説明する実施形態では、地球の全世界的な世界
観を定義することにより、根本的なレベルで標準化を達成する。すなわち、全世
界的に許容できる地球の定義を提案し、これを様々なコンピューティングシナリ
オで使用できるようにしてコンテキスト依存型のコンピューティングを可能にす
る。この文書では、コンテキスト依存型コンピューティングの具体的な例を位置
依存型コンピューティングの形で提示する。これは、下記で述べる各種の実施形
態を用いることができるコンテキストの1例のみを構成することが理解されよう
。他の「コンテキスト」には、組織内の役割/人員、デバイスの分類、現在のア
クティビティ、現在の環境、アクティブなデバイスなどを制限なく含む、階層構
造に適応させることが可能な任意の情報を含むことができる。
【0045】 マスター世界 マスター世界は、地球の物理的な位置や地理的な区分を分類整理した、公正で
公に認められる階層的ツリー構造として定義される。マスター世界は、地球全体
にわたる政治的、行政的、および地理的なエンティティの多くの異なるクラスが
含まれるような方式で定義される。政治的な競合がある地域は、コンピューティ
ングデバイスの言語/現場(locale)に基づいた世界観を提示することに
よって対処する。
【0046】 図2は、マスター世界の一部を表す例示的な階層ツリー構造200を示す。マ
スター世界は複数のノード202を含み、それぞれのノードは何らかのタイプの
地球の地理的区分(例えば政治的または自然上のエンティティ)を表す。図の例
では、マスター世界のノードは次のグループに構成される。(1)政治的または
自然のエンティティ(例えば大陸、国、海洋、州、群、市など)。(2)社会基
盤のエンティティ(例えば郵便番号、地域コード、時間帯など)。(3)公共的
場所のエンティティ(例えば、公園、モール、空港、競技場など)。(4)非物
理的なエンティティ(例えば、軍事郵便の番号地域、行楽地域、地理的には不連
続な場合もあるテレビジョンネットワークの加入受信範囲地域など)。
【0047】 図2の例では、ツリー構造の最上位ノードは地球を表す。最上位ノードの下に
ある各ノードは地球の地理的区分を表す。この例では、任意のビジネスあるいは
サービスとの関連付けを有するノードはない。すなわち、マスター世界の一部で
あるノードエンティティと、アクティビティが行われる非地理的な場所間が区別
されている。マスター世界は公共の場所(空港、モールなど)に対応するノード
を含むが、ビジネスまたはサービスの提供者の個別のリスティングは含まない。
各ノードは、ID(EID、すなわちエンティティID)によって一意に識別さ
れる。一意のEIDに加えてURLがツリー構造に関連付けられ、下記で明らか
にするツリー構造のコンテキストを提供する。
【0048】 一例として次の例を考察されたい。シアトルタコマ(Tacoma)国際空港
(SeaTac)はマスター世界に含まれるが、SeaTacの個々の航空会社
の位置への参照は、SeaTac空港のEID(「セカンダリー世界」の項、お
よび下の表を参照)によってタグづけされたツリー上の「葉」になる。同様に、
シアトルセンターがマスター世界のノードになるのに対して、シアトルアートフ
ェスティバルのBumpershootや、NBAチームのシアトルソニックス
、シアトルセンター内のスターバックスコーヒーショップは、シアトルセンター
のEIDによってタグ付けすることができる。別の例として、マスター世界は、
すべての州間高速自動車道(幹線道路)の出口のノードも含む。例えば、ワシン
トン州のI−90号線の出口109は、マスター世界のノードになる。ワシント
ン州エレンスバーグのCanyon Road1700にあるBest Wes
tern Innは、その出口のEIDによってタグ付けされる。
【0049】 このように、マスター世界は、位置を定義する画一的な方式を提供する。そし
てこの画一的な位置の定義を全世界的に使用して、商品やサービスに属性を割り
当てることができる。コンピューティングデバイスは特定の画一的な位置の定義
に対応するその位置を決定すると、その画一的な位置定義を共用する、位置に依
存する商品やサービスを利用することができる。マスター世界が有用なのは、そ
れが標準化された世界観であるためである。その正確で標準化された地理的側面
の属性(attribution)には、提供者と消費者の双方から容易にアク
セスすることができる。サービスや商品の提供者(あるいは検索エンジン、ネッ
トワーク、イエローページのデータベースディレクトリなどの第3者)は、すべ
ての商業的な位置または当該の地点に標準化された永続的な地理的参照を割り当
てることにより、マスター世界のノードを使用することができる。こうした商業
的な位置または当該の地点は、ツリー構造の「葉」と見なすことができる。
【0050】 図の例では、マスター世界のノードはその使用を容易にする1つ以上の属性を
有する。属性の例を下の表に挙げる。
【0051】
【表1】
【0052】 表に挙げる属性は、例示的な属性のみを構成する。表に参照としてあげる属性
と異なる、および/または表の属性に追加する他の属性も使用することができる
。上記の属性を用いるエンティティまたはノードレコードの例をいくつか次に示
す。
【0053】
【表2】
【0054】
【表3】
【0055】 マスター世界は、それ自体と様々な「セカンダリー世界」との間の公分母リン
クのリポジトリとして、またセカンダリー世界を他のセカンダリー世界に結びつ
ける導管としても機能する。コンテンツ、サービス、およびデバイスの提供者は
マスター世界を使用して、公に利用できる各自の提供品と、地理的な位置とそれ
に対応する複数の分岐を有する階層構造とを関連付けることができる。その位置
はツリー構造中の単一のエンティティと関連付けられ、それにより地理的および
時間/距離の計算と、必要な親/子関係のナビゲーションを可能にする。
【0056】 マスター世界のインデックス(ジオゾーン) 定義上、マスター世界は全世界を包含するエンティティ(ノード)の階層構造
を提供する。階層中を上方にビゲートすることはごく自然である。効率的に下方
へナビゲーションするには、地理的近接度の認識が必要となる。さらに、照会の
際に値をうまく戻すために、あるいは元のソースノード以外のノードに付けられ
た近くの「葉」までの距離をより正確に計算するために、分岐から分岐へのジャ
ンプを必要とする可能なシナリオがある。マスター世界は、地理的近接度によっ
てピアレベルノードを識別できるインデックス方式を利用する。このインデック
ス方式は、4分木アルゴリズムを利用していわゆる「ジオゾーン」を定義する。
【0057】 4分木は基本的に、適用範囲を、サイズが規則的に縮小していく均質なセルに
分割する空間インデックスである。ツリーの四半分はそれぞれ最高で4つの子を
有する。4分木の区分プロセスは、マップ全体が、4半分ごとの項目(例えば当
該の地点)数の密度など多数の異なる終了結果基準に基づいて区分されるまで継
続することができる。この手法は、空間的な選択と内容の識別を促進する空間イ
ンデックスの一形態を提供する。
【0058】 空間的なインデックス方式を完全なものにして各ノードに定義されたジオゾー
ンを提供するために、4分木アルゴリズムをノードに適用し、またこのアルゴリ
ズムは、例えば任意の1ゾーンに存在し得る当該の地点の所望の密度に基づくこ
とができる。すべてのゾーンを定義すると、各ゾーンに固有のIDを与える(例
えば上部/左側と下部/右側の緯度と経度のペア)。次いでマスター世界の各ノ
ードにそれが位置するゾーンを割り当てる。4分木アルゴリズムは当業者には知
られており、理解されよう。
【0059】 マスター世界の位置 理解できるように、画一的で標準化された世界の表現を階層的で横断可能なツ
リー構造の形で有することにより、コンテキストに依存する、より具体的には位
置に依存する商品やサービスをリンクする方式が大幅に容易になる。
【0060】 ここに説明する実施形態では、コンピューティングデバイスは少なくともマス
ター世界の一部にアクセスすることができる。例えば、コンピューティングデバ
イスは、マスター世界を内部の記憶装置に保存することができ、そのマスター世
界はコンピューティングデバイスのオペレーティングシステムの一部をなすこと
ができる。またはデバイスは、インターネットなどのネットワーク媒体を介して
マスター世界にアクセスすることもできる。マスター世界のツリー構造に各コン
ピューティングデバイスからアクセスできることにより、各デバイスはそれ自体
のコンテキスト、またはノードを基準とした位置を決定する能力を得る。すなわ
ち、コンピューティングデバイスは、それが実行するソフトウェアを通じてその
特定の位置、すなわちノードを決定することができる。関連付けられたノードを
決定すると、コンピューティングデバイスは、単にツリーを横断するだけでその
完全な位置を確定することができる。
【0061】 例えば、あるコンピューティングデバイスが自らがレドモンド市に対応するノ
ードに現在位置していると判断すると、このデバイスはマスター世界のツリー構
造を横断して、それが北アメリカ大陸の合衆国のワシントン州にあることを確定
することができる。コンピューティングデバイス(あるいはそのユーザ)は、そ
の精密な位置を確定することにより、提供が可能な位置依存性のサービスを利用
できる状態になる。この特定のモデルは、セントラルサーバを利用して複数の異
なるデバイスの位置を確定する現行モデルに対する大幅な改良である。現行モデ
ルでは、各デバイス(またはユーザ)がその位置に関する情報を提供し(例えば
、ユーザがデバイスが現在位置する郵便番号や都市を入力するなど)、例えば自
分のいる郵便番号内にあるマクドナルドの店を見つけるための照会を入力するこ
とができる。するとサーバはその情報を受け取り、例えば、その郵便番号または
都市内にあるすべてのマクドナルドの店の位置をユーザに通知することができる
。このモデルでサーバが障害を起こした場合は、コンピューティングデバイスは
いずれもそのサービスを利用することができなくなる。本発明のモデルでは、各
コンピューティングデバイスは自律型である。それぞれのデバイスが各自の位置
を決定することができ、したがって各デバイスが位置に依存するサービスを利用
することができる。例えばコンピューティングデバイスがそれがマスター世界の
特定ノードにあることを理解している場合、そのデバイスは照会を実行して、そ
のコンピューティングデバイスが位置する特定ノードに対応するEIDを有する
マクドナルドを見つけることができる。上記のジオゾーンを使用することにより
、特有の頑強性が提供される。ジオゾーンは、近接する地理的区分を効率的な方
式で迅速に検索することを可能にする。例えば、ある者がコピーをするために一
番近くにあるKinko′sを探しており、そのコンピューティングデバイスが
位置するノードに対応するジオゾーンに1つも店がない場合には、隣接するジオ
ゾーンを迅速に検索することができる。
【0062】 セカンダリー世界 ここに説明する実施形態では、セカンダリー世界の概念を使用して追加的なコ
ンテキストに対するサポートを提供する。セカンダリー世界は第3者の組織また
は企業によって定義することができ、その組織に特有の物理的および/または論
理的エンティティからなるノードを含む。セカンダリー世界は公的なものにして
も私的なものにしてもよいので、セカンダリー世界のノードは、そのセカンダリ
ー世界を定義した特定の組織の外側にある多くのコンテキストを有しても、有さ
なくてもよい。セカンダリー世界はマスター世界を複製することはないが、独自
の組織固有の方式でマスター世界を補完する。マスター世界が広く受け入れられ
る標準として定義されるのに対し、各セカンダリー世界は、様々に異なるある組
織独自の世界観の表現にすることができる。ここに説明する実施形態では、各セ
カンダリー世界は、マスター世界のノードにリンクされたノードを少なくとも1
つ有する。これにより、マスター世界におけるコンテキストまたは位置がセカン
ダリー世界に与えられる。また一部のコンテキストアプリケーションでは、いく
つかのセカンダリー世界にアクセスすることができ、それぞれのセカンダリー世
界が追加的なコンテキスト固有の位置データを提供することにも留意されたい。
【0063】 図2は、複数のノード206を含む例示的なセカンダリー世界204を示す。
各ノード206は、物理的または論理的なエンティティを構成する。例えば、こ
れらのノードは、企業、その部門、地域キャンパス、建物、様々な建物のフロア
、および様々なフロアにある部屋を構成することができる。ノードのうち少なく
とも1つはマスター世界のノードにリンクされる。セカンダリー世界のノードは
、マスター世界のノードと同じ属性を備えることができる。
【0064】 セカンダリー世界の例として、ボーイング社が、その従業員にとって重要なエ
ンティティのリストを含むセカンダリー世界を定義すると考える。ルートエンテ
ィティは「ボーイング社」になり、その子は会社の部局(セントルイスにある軍
事部門、エベレットにある工場、企業本部など)になる。ツリー構造をさらに下
に行くと、個々のノードが、個々の建物(ハンガー12)、その建物内のオフィ
ス(オフィス1001)、建物のある地域(ハンガー12の南西の4半分)など
を表すように定義されている。各エンティティまたはノードは一意の識別子(ロ
ーカルユニークID、すなわち「LUID」)と、そのノードが存在するツリー
と関連付けられたURLを有する。URLはセカンダリー世界のツリー構造を一
意に識別し、その世界にいるユーザは、その世界とどのように相互作用するかを
決めることができる。この態様については下記でさらに詳しく述べる。ボーイン
グ社はLUIDを使用して、設備、サービス、部門、あるいは人員さえをも物理
的または論理的な位置と関連付けることができる。
【0065】 より具体的な例として、マスター世界300とセカンダリー世界302の例示
的な一部を示す図3を考察されたい。マスター世界300は次のノードを含む:
世界、合衆国、ワシントン州、レドモンド、および郵便番号=98052。例示
的なセカンダリー世界302はマイクロソフト社によって定義された階層ツリー
構造であり、次のノードを含む:マイクロソフト、レドモンドキャンパス、マイ
クロソフト通り1番地、建物26、3階、会議室3173、建物24、2階、会
議室1342。この例では、セカンダリー世界302はレドモンドノードからマ
スター世界中に「タッチポイント」する。この例では、図のようにビデオプロジ
ェクタをノード「会議室1342」と関連付けている。ここで、ビデオプロジェ
クタはセカンダリー世界のノードではない。このビデオプロジェクタは、何らか
の他のリソース発見サービス(例えばアクティブなディレクトリ)中の項目であ
り、「会議室1342」へのポインタである位置属性を含んでいる。ただし、主
要なサービスの位置を表すために世界の中にノードを作成できる場合もあるが、
ノード自体はサービスを表さない。
【0066】 マスター世界と同じように、セカンダリー世界もユーザのコンピューティング
デバイスからアクセスできるので有利である。セカンダリー世界は、例えば、完
全にあるいは部分的にダウンロードし、記憶装置に記憶して必要なときにアクセ
スすることが可能である。セカンダリー世界は、1回だけ使用するためにダウン
ロードすることができる。セカンダリー世界は、コンピューティングデバイスが
セカンダリー世界におけるそのコンテキストを確定することを可能にする。この
例では、コンピューティングデバイスは、セカンダリー世界を使用することによ
りセカンダリー世界におけるその位置を計算する。コンピューティングデバイス
は、それが現在位置するノードからルートノードまでツリー構造を横断すること
によりこの計算を行うことができる。これにより、例えば、コンピューティング
デバイス(および、したがってユーザ)に完全なセカンダリー世界のコンテキス
トが与えられる。セカンダリー世界における位置が分かると、ユーザはそのセカ
ンダリー世界のノードに関連付けられた商品やサービスを利用できる状態になる
。すなわち、コンピューティングデバイスはそのセカンダリー世界のコンテキス
トを決定すると、いつでもそのセカンダリー世界のアクティブな参加者になるこ
とができる。
【0067】 セカンダリー世界の個々のノードに商品またはサービスを関連付けることによ
り、多大な価値を実現することができる。例えば会議室1342は、それと関連
付けられたビデオプロジェクタを有する。すなわち、ビデオプロジェクタの位置
は会議室1342の中である。会議室3173にいる者が、会議室1342にあ
るようなビデオプロジェクタの使用を必要とするプレゼンテーションを行うと想
定する。通例は、恐らくは物理的にその建物に電話をかけて利用できるビデオプ
ロジェクタがあるかどうかを確認する以外にビデオプロジェクタの位置を確かめ
る方法はない。この例では、ユーザのコンピューティングデバイスがセカンダリ
ー世界におけるその位置を確定することができるので、会議室1342のビデオ
プロジェクタを見つけることができる。デバイスは、単に、セカンダリー世界の
ツリー構造を横断して当該のリソースを見つけるソフトウェアを実行することに
よってこれを行う。
【0068】 また、マスター世界へのリンクがあるので、コンピューティングデバイスは、
両世界におけるそのコンテキスト(位置)を得られることにも留意されたい。こ
の結果、コンピューティングデバイス、およびしたがってユーザは、セカンダリ
ー世界に関連付けられた商品とサービスを利用することができ、またマスター世
界内のユーザの位置に基づいて消費することのできる位置依存型のサービスに参
加することが可能になる。
【0069】 図4は、ここに説明する実施形態による方法のステップを説明する流れ図であ
る。すぐ下記に説明するステップはコンピューティングデバイスによって実施さ
れ、例示する例でこのデバイスはハンドヘルド型のモバイルコンピューティング
デバイスである。
【0070】 ステップ400において、コンピュータ可読媒体に常駐する第1および第2の
階層ツリー構造にアクセスする。この例では、ツリー構造はデバイスに記憶して
も、あるいはインターネットなどのネットワークを介してアクセスできるように
してもよい。例示的な第1のツリー構造はマスター世界であり、例示的な第2の
ツリー構造はセカンダリー世界である。あるいは、ツリー構造は両方ともセカン
ダリー世界であってもよい。デバイスからツリー構造にアクセスすると、ステッ
プ402において、ツリー構造の複数のノードを横断してそのコンピューティン
グデバイスのコンテキストを得る。この例では、コンピューティングデバイスは
、1つのツリーのノードにおけるその位置をデバイスに知らせる情報を受け取る
。この情報は任意の適切な方式でコンピューティングデバイスまで伝達すること
ができる。例えば、ユーザがユーザインタフェース(UI)を通じてその情報を
入力することができ、または別のコンピューティングデバイスからそのコンピュ
ーティングデバイスに位置をブロードキャストしてもよい(例えばブルートゥー
ス技術、またはユニバーサルプラグアンドプレイ(UpnP)を使用して)。コ
ンピューティングデバイスへのこの情報の伝達方法の具体的な例について下記で
より詳細に述べる。この情報がどのようにコンピューティングデバイスに伝達さ
れるかに関係なく、コンピューティングデバイスはこの情報を得ると、ツリー構
造の1つまたは両方を横断してこの例ではデバイスの位置であるそのコンテキス
トを求めるソフトウェアを実行する。
【0071】 セカンダリー世界の定義 上記のように、ここに説明する実施形態の特に有益な態様の1つは、個々の組
織が独自のセカンダリー世界を定義できることである。これにより、商品および
サービスの提供に関して、またより幅広く組織の効率性の向上に関して組織に相
当な柔軟性が与えられる。一実施形態では、個々の組織が各自のセカンダリー世
界を定義し、維持することを可能にするソフトウェアツールが提供される。
【0072】 一実施形態では、各セカンダリー世界を名前空間(例えばXML名前空間)と
して一意に定義することができる。これにより、セカンダリー世界とマスター世
界間に名前の重複があってもそれが衝突しないことが保証される。一例として次
の例を考えられたい。マスター世界が、都市を指す(refer)「シカゴ」と
識別されるエンティティを含むとする。ナショナルバスケットボール協会(NB
A)によって確立されたセカンダリー世界と、キャタピラー社によって確立され
た異なるセカンダリー世界も、マスター世界の「シカゴ」とは全く異なるエンテ
ィティを指す「シカゴ」と名づけられたエンティティを有する。例えば、NBA
の「シカゴ」がNBAの市場エリアを指すのに対し、キャタピラー社の「シカゴ
」は販売地域を指すなどである。マスター世界とセカンダリー世界間の名前空間
を分離することにより、それぞれの名前空間が他のあらゆる名前空間と一意に異
なることになるので、全く同じ名をつけたエンティティ間で衝突が起こらないこ
とが保証される。
【0073】 図5は、コンテキスト認識型のデータ構造を構築する方法のステップを説明す
る流れ図である。これらのステップは、コンピューティングデバイスで実行され
るソフトウェアツールによって実施される。
【0074】 ステップ500において、物理的および/または論理的エンティティに関する
情報を特定する入力をソースから受信する。この例では、システム管理者が、自
分が定義したいセカンダリー世界の構造に関する情報を物理的に入力してもよい
。この情報は、建物、部門、会議室などについての情報を含むことができる。次
いでステップ502でその情報を処理して、コンテキストを有する階層ツリー構
造を定義する。この例では、コンテキストは位置である。ただし、他のコンテキ
ストを用いてもよいことは理解されよう。階層ツリー構造中の各ノードは、個別
の物理的または論理的エンティティを表す。次いでステップ504において、階
層ツリー構造のノードの少なくとも1つを、コンテキストを有する別のツリー構
造にリンクする。この例では、この別のツリー構造はマスター世界を含むことが
できる。ツリー構造を構築しリンクすると、そのツリー構造は、1つ以上のノー
ドからコンテキストを得ることを可能にするような方式で横断を行える状態にな
る。
【0075】 サービスとしての位置 上記の例では、コンピューティングデバイスはそれ自体の位置を決定すること
ができる。これから説明する実施形態では、コンピューティングデバイスは、複
数の異なる情報ソースからそれに提供される位置情報を使用することにより、そ
の位置を決定する。デバイスは、それに提供される情報を受け取り、その情報を
処理して1つ以上の階層ツリー上の特定ノードを決定することができる。これを
完了すると、デバイスはその完全な位置を決定することができるが、この位置は
、特にデバイスのユーザが消費することが可能な位置依存型のサービスがある際
には、知ることが有用な事柄である。
【0076】 図6は、種々構成要素の中でも特にコンテキストサービスモジュール602と
、1つ以上のコンテキストプロバイダ604を含む例示的コンピューティングデ
バイス600のハイレベル図を示す。コンテキストサービスモジュール602は
、任意の適切なハードウェア、ソフトウェア、ファームウェア、あるいはこれら
の組み合わせに実装することができる。この特定の例では、コンテキストサービ
スモジュールは、1つ以上のデバイスプロセッサによって実行されるソフトウェ
アに実装する。コンテキストサービスモジュール602は、1つ以上のコンテキ
ストプロバイダ604からコンテキスト情報を受け取り、その情報を処理して現
在のデバイスのコンテキストを決定する。この特定の例では、デバイスコンテキ
ストはデバイスの位置である。したがって、コンテキストプロバイダは、処理の
ためにコンテキストサービスモジュール602に様々な形態で位置情報を提供す
る位置プロバイダになる。位置プロバイダ604は、コンテキスト情報(位置情
報)の各種ソース606から情報を受け取る。
【0077】 この文書のコンテキストでは、コンテキストプロバイダは、デバイスで、また
はデバイス外で実装することのできるソフトウェアコンポーネントからなる。コ
ンテキストプロバイダは、任意の適切なハードウェア、ファームウェア、または
これらの組み合わせも含むことができる。コンテキストプロバイダの役割は、ソ
ース606から情報を受け取り、コンテキストサービスモジュールがその情報を
使用して現在のデバイスコンテキストを決定できるように、その情報をコンテキ
ストサービスモジュール602に伝達することである。
【0078】 デバイスのコンテキストがデバイスの位置である場合、ソース606は、デバ
イスの現在の位置に関する各種の情報を位置プロバイダ604に提供する。一例
として、情報のソースには、GPSシステム、携帯電話またはセルID、位置情
報を送信する無線送信器、位置ビーコン、802.11規格の送信器、および各
種の他の情報ソースなどの各種の情報送信器を含むことができる。情報ソースは
、例えばブルートゥース技術を使用して位置情報を提供することのできる他のコ
ンピューティングデバイスも含むことができる。さらに、情報ソース606は、
デバイスが情報を処理してその位置を決定できるように、例えばデバイス600
に物理的に位置情報を入力する個人を含んでもよい。
【0079】 デバイス600は位置情報をソース606から受け取ると、位置プロバイダ6
04を用いてその情報を処理し、その情報を位置サービスモジュール602に提
供する。位置サービスモジュール602は位置情報を処理し、それが現在の位置
に対応するアクセス権を有する、1つ以上の階層ツリー構造上の特定ノードを決
定する。次いで位置サービスモジュール602はツリー構造を横断して、デバイ
スの完全な位置を決定することができる。完全な位置が決定されると、デバイス
600は、その特定の位置についてデバイスに照会を行うことのできる1つ以上
のアプリケーション608との対話を開始することができ、位置に依存する1つ
以上のサービスをそのデバイスに提供することができる。この例では、アプリケ
ーション608はデバイスと分離して図示している。ただし、これらのアプリケ
ーションは例えばブラウザアプリケーションなど、デバイスで実行してもよいこ
とは理解されたい。
【0080】 図に示すように、アプリケーション608はデバイスを呼び出してデバイスが
どこに位置するかを尋ねることができる。デバイスは、呼び出しを受信し、適切
な方式でアプリケーションに応答するように構成される。デバイスの位置情報を
得ると、アプリケーションはそのデバイスに対して位置固有のサービスを提供す
ることができる。
【0081】 次の例を考察されたい。自分が旅行者であり、SeaTac国際空港のマスタ
ー世界のツリーとセカンダリー世界のツリーを含むハンドヘルド型のモバイルコ
ンピューティングデバイスを持っているとする。コンコースCから飛行機で中国
に発つ予定になっている。SeaTac国際空港は、そのセカンダリー世界が、
「到着」、「出発」、「コンコース」、「航空会社」、「航空会社に割り当てら
れたゲート」、および「ゲート位置」のノードを有するようにそのセカンダリー
世界を設計している。空港に到着し空港に入ると、コンピューティングデバイス
は様々なソースから位置情報を受信し、その情報を使用して旅行者の位置が「到
着」ノード内であると判断する。SeaTac国際空港には、旅行者が空港内に
いる間に手助けをするためのアプリケーションを実行するサーババンクがある。
各種サービスを見つける、施設(例えばコーヒーショップ、レストラン)を見つ
ける、指示を与える(例えば、自分の出発ゲートへの行き方)、旅行者の便のス
テータスについての最新情報を与える、あるいは自動的に旅行者の便のチェック
インを行うことさえも助けることができるアプリケーションがある。さらに旅行
者が空港内を歩くのに従って、その位置が変化することを考えられたい。それで
も、コンピューティングデバイスは連続的な位置情報の更新を受信することがで
きるので、旅行者が空港内を移動するのに従ってその位置を決定し続けることが
できる。ある地点で、旅行者がスターバックスのコーヒーショップの前を通ると
、スターバックスでラッテを購入して自分のハンドヘルドデバイスを提示すると
ラッテが50セント引きになることをそのハンドヘルドデバイスが知らせてくれ
る。この例では、実例を通じてセカンダリー世界の利用を説明している。Sea
Tac国際空港は、その特定の顧客が施設内のどこにいるかを知ることにより、
以前には不可能であった多数のサービスを提供することができる。
【0082】 さらに、旅行者が空港内におり、その便がキャンセルされたとする。旅行者は
その晩滞在する場所を見つけなければならない。このため、旅行者は、チェック
イン時にサービスされる温かいチョコレートチップクッキーが非常に好きなので
、一番近くにあるダブルツリー(Double Tree)ホテルを見つけたい
と思う。旅行者は、自分のコンピューティングデバイスで検索エンジンを実行し
て、最も近いダブルツリーホテルを見つける。検索エンジンアプリケーションは
まず、旅行者の位置に対応するマスター世界ノードのEIDによって示されるマ
スター世界における旅行者の現在の位置を決定する。検索エンジンアプリケーシ
ョンは、検索を実行して、旅行者のEIDに一致するEIDを含む属性を有する
ダブルツリーホテルを探す。アプリケーションはホテルを見つけると単にその結
果を示す。対応するEIDを有するホテルが見つからない場合、アプリケーショ
ンは隣接するジオゾーンを使用してダブルツリーホテルを探す。アプリケーショ
ンは、ホテルまでの運転の指示も提供する。検索エンジンアプリケーションがこ
れを行えたのは、マスター世界における旅行者の位置を確定することができたか
らである。アプリケーションは、旅行者による労力をほとんど、あるいは全く用
いずにこれを迅速かつ自動的に行う。
【0083】 さらに空港からホテルまで車で向かう間に、旅行者は、翌朝行うプレゼンテー
ションのコピーを100部印刷するために、最も近くにあるKinko′sを見
つけたいと考える。旅行者のハンドヘルド型コンピューティングデバイスが携帯
電話であり、スプリント(Sprint)が通信業者であるとする。スプリント
は、例えばセル網の形で指定されているそれ自体のセカンダリー世界を定義して
いる。スプリントのセカンダリー世界を自分のコンピューティングデバイスに有
することにより、スプリントのセカンダリー世界における自分の位置、そしてし
たがってマスター世界における自分の位置を確定することができる。Kinko
′sもまた、マスター世界にリンクするセカンダリー世界を有するとする。自分
のデバイスで検索アプリケーションを実行することにより、最も近くにあるKi
nko′sの位置、そしてそこまでの運転の指示を確認することができる。これ
はすべて、デバイスがマスター世界および1つ以上のセカンダリー世界にアクセ
スできることから可能になる。この例では、マスター世界は、2つ以上のセカン
ダリー世界をともにデイジーチェーン化する機構を提供する。これは、セカンダ
リー世界がマスター世界への少なくとも1つの参照またはリンクを有することか
ら可能になる。
【0084】 例示的なデバイスアーキテクチャ 図7は、コンピューティングデバイス600を幾分より詳細に示す。この特定
の実施形態で、デバイス600は次の構成要素を含むアーキテクチャを備える:
位置サービスモジュール602、位置プロバイダインタフェース700、アプリ
ケーションプログラムインタフェース(API)/イベントモジュール702、
プライバシーマネージャ704、位置変換モジュール706、1つ以上のアプリ
ケーション608、および1つ以上の位置プロバイダ606。また、このアーキ
テクチャには、アクティブディレクトリ708、ウェブサービス710、位置デ
ータベース712、および個人の場所714も含まれる。このアーキテクチャは
、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはこれらの
組み合わせに実装することができる。上記のアーキテクチャは、各コンピューテ
ィングデバイスが各自のコンテキストまたは位置を決定することを可能にする点
で有用である。
【0085】 共通の位置プロバイダインタフェース ここに説明する実施形態の特に有用な態様の1つは、位置プロバイダ606が
それを通じて通信する標準インタフェースを提供する共通インタフェース700
を用いる点である。共通のインタフェースを有することにより、位置プロバイダ
は、それらを位置プロバイダのコレクションに動的に追加または削除できるとい
う点で、(将来加わるプロバイダをサポートするための)拡張が可能である。特
定の位置プロバイダ606に必要とされるのは、共通インタフェースをサポート
するようにそれを書くことだけである。
【0086】 この例では、いくつかの位置プロバイダ606がある。これらの位置プロバイ
ダは、様々な形態で位置情報を提供する。例えば、GPSの位置プロバイダは、
GPSに固有の位置情報を提供する。同様に、IP/サブネットワークの位置プ
ロバイダは、インターネットプロトコルに固有の情報を提供することができる。
携帯電話の位置プロバイダは、セルIDの形で位置情報を提供することができる
。さらに、位置ユーザインタフェース(UI)は、都市、通り、あるいは建物を
指定するユーザ入力の形で位置情報を提供する。各種の位置プロバイダによって
提供される位置情報はすべて位置サービスモジュール602によって処理され、
この結果現在のデバイス位置を決定することができる。現在のデバイス位置を決
定するために、位置サービスモジュール602は、アクティブディレクトリ70
8、ウェブサービス710、または位置データベース712を調べなくてはなら
ないことが考えられる。図の例では、アクティブディレクトリ708は、例えば
、セカンダリー世界と、ネットワーキングの接続性に基づいて位置を決定するの
を助けることができるサブネットや「サイト」情報などの他のネットワーキング
メタデータとを保持することができる。ウェブサービス710は、マスター世界
またはセカンダリー世界を保持することができ、これらの属性は位置を見つける
ために使用することができる。例えば、ある携帯電話がそのセルタワー(cel
l tower)IDを知っている場合、位置プロバイダはセカンダリー世界に
照会してそのセルタワーIDに一致するノードを確定することができる。位置デ
ータベース712は、基本的に、ローカルにホストまたはキャッシュされるウェ
ブサービスの1バージョンである。
【0087】 位置プロバイダ 上記で指摘したように、このアーキテクチャは、位置サービスモジュール60
2に位置情報を提供することのできる複数の異なる位置プロバイダを企図してい
る。この情報は、多数の異なる形態と品質のレベルで送られてくる可能性がある
。この情報を次いで位置サービスモジュール602によって処理して、現在のデ
バイス位置を決定する。これを行うために、サービスモジュール602は、位置
情報から、特定のノードID(EIDおよび/またはLUID)と、そのノード
が関連付けられたツリー構造に関連付けられたURLを確定する。ノードIDを
確定すると、位置サービスモジュールは、URLを使用してツリー構造(より正
確にはそのツリー構造を管理するサーバ)に照会を行い、そのツリー構造に関す
るさらに多くの情報を確定することができる。例えば、位置サービスモジュール
602が特定のセカンダリー世界のLUIDを確定した場合、モジュールは次い
でアクティブディレクトリ708(あるいは別の位置データベースであるイント
ラネットサーバ)に照会して、そのノードの親と子を見つけることができる。こ
の結果、位置サービスモジュールがそのセカンダリー世界を構築することが可能
になる。
【0088】 位置プロバイダ606は、多くの異なる方式で位置サービスモジュール602
に位置情報を提供することができる。例えば、一部の位置プロバイダ606は、
連続的に情報を提供することが可能である(例えばGPSプロバイダは連続的に
GPS座標を提供することができる)。あるいは、位置プロバイダは、特定の時
間、あるいは定義可能なイベントの発生時など、周期的に位置情報を提供するこ
ともできる。例えば、ユーザが、位置情報を更新すべき特定の時間を定義するこ
とができる。あるいは、位置情報はデバイスの位置が変化したとき(すなわち位
置変化イベント)にのみ更新してもよい。さらに、位置プロバイダは、位置サー
ビスモジュール602からポーリングが行われた際に位置情報を提供してもよい
。例えば、位置サービスモジュール602は、位置プロバイダインタフェース7
00を呼び出して、1つ以上の位置プロバイダに位置情報を要求することができ
る。
【0089】 1つの特定の位置プロバイダ606をキャッシュとして図示している。このキ
ャッシュプロバイダは基本的に、現在のデバイスコンテキストまたは位置を保持
する。すなわち、サービスモジュール602はその現在の位置を確定すると、そ
の位置をキャッシュに書き込む。これにより、他のすべての位置プロバイダが位
置情報を提供することができない場合に(例えば、GPSプロバイダは、GPS
プロバイダに情報を供給するGPS送信器が必要数の衛星にコンタクトできない
ためにGPS情報を受信できないことがある)、デバイス600が一定程度の信
頼度でその位置を確定することが可能になる。
【0090】 信頼度および正確度のパラメータ ここに説明する実施形態の重要かつ有用な特徴の1つは、位置プロバイダの1
つ以上を、それらが位置サービスモジュール602に提供する情報に信頼度パラ
メータおよび/または正確度パラメータを割り当てるように構成する点である。
信頼度パラメータは、プロバイダが位置サービスモジュール602に提供する情
報におけるプロバイダの信頼度の尺度を提供する。例えば、あるGPS送信器が
信頼性の高い情報を提供するために、5機以上の衛星から情報を受信しなければ
ならないとする。その時点で利用可能な衛星は3機しかないと想定する。すると
GPS送信器は、この3衛星のみに基づいてその情報を送信することになる。G
PSプロバイダは、それがGPS送信器から受信する情報が、望ましい5機以上
の衛星ではなく3機の衛星のみに基づくものであることを知る。この場合、GP
Sプロバイダは、その情報の信頼度レベルが、望ましい5機以上の衛星に基づい
た場合に比べて低いことを示す信頼度パラメータを位置情報に設定することがで
きる。この場合、位置サービスモジュール602は、デバイスの位置を決定する
際に、すべての位置プロバイダの信頼度パラメータを考慮することができる。こ
れについては下記でさらに詳細に述べる。
【0091】 正確度パラメータに関しては、位置プロバイダから受け取る位置情報は様々に
異なる程度正確であると考える。ある情報は1マイル以内の精度であり、別の情
報は100フィート以内の精度である。位置プロバイダは、それが位置サービス
モジュール602に提供する位置情報に正確度パラメータを割り当てるように構
成することが望ましい。正確度パラメータは、位置サービスモジュールに情報の
正確度の指示を与える。
【0092】 信頼度パラメータと正確度パラメータを位置サービスモジュール602が使用
する際、モジュールはそれが各プロバイダから受け取る位置情報をどのように使
用するかを決めることができる。例えば、位置サービスモジュール602は、信
頼度パラメータが低い情報はすべて完全に無視することができる。これに対し、
モジュール602は、情報の正確度とその信頼度の間で釣り合いをとってもよい
。例えば、モジュール602は、その情報に高レベルの信頼度がある場合にのみ
、正確度のレベルが低い情報を使用するようにプログラムすることができる。モ
ジュール602は、パラメータを利用して情報に重み付けすることができ、位置
は情報の信頼度と正確度の重みつきの関数として計算される。
【0093】 信頼度パラメータの別の使用法は以下の通りである。位置サービスモジュール
がデバイス位置を決定し、その位置をキャッシュに書き込んだとする。キャッシ
ュに位置を書き込むときに、その位置には恐らくは高い信頼度レベルが割り当て
られる。さらに、すべての他の位置プロバイダが位置情報を提供することができ
ないと想定する。一定の期間、位置サービスモジュール602はキャッシュ位置
を現在の位置として使用することができ、その情報が概して正確であることをか
なりの程度確信することができる。この場合、位置サービスモジュールは線形に
低下する信頼度レベルを時間の経過に合わせて情報に割り当てることができ、い
ずれかの時点でその情報の使用を中止するか、またはその情報は保証できないこ
とをユーザに通知する。
【0094】 位置、信用度、およびタイムスタンプ 位置プロバイダが各自の情報を位置サービスモジュール602に提供する際、
情報は、信頼度と正確度のパラメータに加えて実際の位置情報を周知の形式、す
なわち信用度パラメータおよびタイムスタンプの形式で含むことができる。信用
度パラメータは位置サービスモジュール602によって1つ以上の位置プロバイ
ダに割り当てられる基準であり、位置サービスモジュールが特定の位置プロバイ
ダに対して有する信用性を定義する。タイムスタンプは、その位置情報が位置プ
ロバイダから提供された時間を定義する基準である。これは、位置サービスモジ
ュール602が、情報が古くなっているか、そして更新する必要があるかどうか
を確認するのを助ける。
【0095】 すべての位置情報を得ると、位置サービスモジュール602は次いでデバイス
位置の決定に着手することができる。
【0096】 図8は、この例ではデバイス位置であるデバイスのコンテキストを決定する方
法のステップを説明する流れ図である。これらのステップは位置サービスモジュ
ール602によって実施される。
【0097】 ステップ800において、現在のデバイスコンテキストを入手する。この現在
のコンテキストは、キャッシュに記憶されている最後に計算されたデバイスコン
テキストでよい。ステップ802において、複数のコンテキストプロバイダのい
ずれかがコンテキスト情報の提供に利用できるかどうかを判断する。位置サービ
スモジュールは、コンテキストプロバイダにポーリングを行ってどのプロバイダ
がアクティブかつ有効であるかを確定することにより、この判断を行うことがで
きる。ステップ804において、すべてのプロバイダが非アクティブになってい
るかどうかを判断する。すべてのプロバイダが非アクティブである場合は、ステ
ップ806において、時間の経過と共に現在のコンテキストの信頼度を下げ、現
在のコンテキストをデバイスコンテキストとして使用する。次いでステップ80
2において、現在アクティブかつ有効なプロバイダを引き続き監視する。ステッ
プ804で1つ以上のコンテキストプロバイダがアクティブであると判断される
場合は、ステップ808でそのアクティブかつ有効なコンテキストプロバイダを
順位付けする。コンテキストプロバイダの順位付けまたは分類を行う際、位置サ
ービスモジュール602は、プロバイダの情報の信頼度および/または位置サー
ビスモジュールがその位置プロバイダに対して有する信用度に応じてそれを行う
。これにより、位置プロバイダの順位付けされたリストが提供される。ステップ
810において、チェックを行い、そのコンテキスト情報が正確であると思われ
るかどうかを確認する。例えば、コンテキストがデバイスの位置である場合、位
置サービスモジュール602は、5秒前には現在の位置がワシントン州レドモン
ドであったことを知っていることが可能である。したがって、現在の位置が中国
の北京であることを示す位置情報は正しくないことになる。ステップ812にお
いて、コンテキスト情報が、デバイスの現在のコンテキスト、または他のプロバ
イダからのコンテキスト情報と矛盾するかどうかを判断する。例えば、位置サー
ビスモジュール602は、各コンテキストプロバイダからのコンテキスト情報と
キャッシュ内の情報を比較することができる。情報のいずれかがキャッシュ内の
情報と矛盾する場合は、そのコンテキストプロバイダからの情報を破棄すること
ができる。同様に、コンテキスト情報がコンテキストプロバイダごとに過度に異
なる場合は、ステップ814で所定の信用レベルを有するコンテキストプロバイ
ダを選択し、おそらくはそのプロバイダの情報のみを使用することができる(ス
テップ816)。矛盾がない場合は、ステップ816において、すべてのコンテ
キストプロバイダから提供される情報に基づいて現在のコンテキストを決定する
。ここで説明する実施形態では、このステップは、上記の階層ツリー構造の1つ
以上における特定ノードにマッピングする情報を使用することによって実施され
る。例えば、デバイスの位置は、情報を特定ノードにマッピングしてから、ルー
トノードに達するまでそのツリー構造を完全に横断することによって確定するこ
とができる。次いでステップ818において、恐らくは現在のコンテキストをキ
ャッシュに書き込むことによって現在のコンテキストを更新し、ステップ802
に戻ってアクティブかつ有効なコンテキストプロバイダを決定する。
【0098】 上記の方法は、位置サービスモジュールが位置情報を受け取り、現在の位置を
表す可能性が最も高いと思われる位置情報だけを使用する方式を提供する。矛盾
する情報は軽視、または無視することができ、それにより最も信頼され、正確で
確度の高い情報のみを利用してデバイスの現在の位置を決定することが保証され
る。
【0099】 自己監視 信頼度および正確度のパラメータに加えて、1つ以上の位置プロバイダは、発
生し得る様々な変則的な事態に対する各自の動作を自己監視するようにプログラ
ムすると有利である。変則的な事態が発生した際には、位置プロバイダは位置サ
ービスモジュール602にそれを通知するように構成される。例えば、位置プロ
バイダがその情報を得ているソースが一定期間オフラインになった場合、位置プ
ロバイダは追加情報を一切受信することができなくなる。この場合、位置プロバ
イダは「プロバイダアウト」のメッセージを生成して、それを位置サービスモジ
ュール602に送信することができる。「プロバイダアウト」メッセージを受け
取ると、位置サービスモジュール602は、それが行ういずれの位置計算からも
そのプロバイダからの位置情報を除外する処置を講じることができる。位置プロ
バイダのソースは再びオンラインになると、それがモジュールに位置情報を送信
できる状態であることを位置サービスモジュール602に知らせる「プロバイダ
オン」メッセージを生成することができる。言うまでもなく、他の作動上の変則
的事態が発生した際には、位置サービスモジュールには位置プロバイダによって
それを通知することができ、上記の例はただ1つの特定の事例を構成するもので
ある。
【0100】 アプリケーション 位置サービスモジュール602はデバイスの位置を決定すると、1つ以上のア
プリケーション608から照会を受けることができる。図7の例では、アプリケ
ーションには、ウェブサイトアプリケーション、Outlook(登録商標)ア
プリケーション、およびサービス発見アプリケーションが含まれる。この例では
、ウェブサイトアプリケーションは、位置に固有のサービスを提供することが可
能な任意のウェブサイトアプリケーションでよい。例えば、デバイス602のユ
ーザは、Amazon.comのウェブサイトにアクセスして気に入った本を購
入することができる。ユーザが本を購入する際、Amazon.comはユーザ
が支払うべき税金を計算しなくてはならない。この例では、Amazon.co
mのウェブサイトで実行されるスクリプトは、デバイス602に照会してユーザ
の位置を知ることができる。この特定の例では、デバイスは、ユーザがその購入
を行っている州を戻すことにより、照会に答えることができる。するとAmaz
on.comは自動的に税金を算定することができる。Amazon.comは
また、最適な発送方法(UPSやExpress Mail)を選択できるよう
に、個人がどこに位置するかを知ることを望む。個人の位置に応じて、ある方法
が他の方法よりも好ましい場合がある。Outlook(登録商標)アプリケー
ションは、それ(または例えばWindows(登録商標)などのオペレーティ
ングシステム)がコンピューティングデバイスの位置に基づいてデバイス設定を
変えることができるので、位置サービスモジュールに照会して位置を確定するこ
とができる。例えば、ユーザが職場ではある特定のプリンタで印刷し、自宅では
別の特定のプリンタで印刷する場合がある。Outlook(登録商標)アプリ
ケーションは、ユーザが一日を終えて帰宅したと判断すると、ユーザの自宅にあ
るプリンタのために自動的にデバイス設定を変更することができる。Outlo
ok(登録商標)アプリケーションは、個人の場所についてのデータストア71
4からプリント設定を入手することもできる。このように、ユーザの位置に応じ
てデバイスが使用のために自動的に設定される。サービス発見アプリケーション
は、デバイスの位置に応じて特定のサービスを提供できるように、デバイスに照
会してその位置を決定することができる。例えば、ユーザが最も近くにあるカラ
ープリンタを見つけることをこのアプリケーションに要求すると、サービス発見
アプリケーションは位置サービスモジュールに照会してデバイスの現在の位置を
確定することができ、その情報を使用して最も近いカラープリンタを見つけるこ
とができる。また、Outlook(登録商標)アプリケーションが、勤務位置
(個人が勤務中のとき)または自宅位置(個人が自宅にいるとき)への電子メー
ルをそれ自体で設定できることも考えられたい。また、Outlook(登録商
標)カレンダーは位置認識型になることもでき、例えば我々が時間帯を変えると
、その予定が適切なタイムスロットに表示される。
【0101】 想像できるように、可能性は無限であるように思われる。この機能は、マスタ
ー世界と1つ以上のセカンダリー世界を使用することによって可能になる。
【0102】 アプリケーションプログラムインタフェース/イベント ここに説明する実施形態では、アプリケーション608は、1つ以上のアプリ
ケーションプログラムインタフェース(API)および/またはイベントを通じ
て位置サービスモジュール602と通信する。アプリケーションはAPIで機能
呼び出しを行って、位置サービスモジュールにその現在の位置を照会することが
できる。同様に、アプリケーションは、イベント登録プロセスを使用することに
より、位置の通知を登録することができる。例えば、アプリケーションは、ユー
ザがその位置を変えた際に通知されるように登録することができる。アプリケー
ションがデバイスの設定(プリンタの設定など)を変更することができるように
、ユーザが職場あるいは自宅に到着したときにそれが通知されるようにアプリケ
ーションが要求する場合を考えられたい。
【0103】 図9は、ここに述べる実施形態による方法のステップを説明する流れ図である
。記載するステップはデバイス600によって実施される。ステップ900にお
いて、デバイスの現在のコンテキストに関する情報を受け取る。この特定の例で
は、この情報の一部は、この場合は位置プロバイダである1つ以上のコンテキス
トプロバイダから受け取る。ステップ902において、デバイス上でデバイスを
用いてこの情報を処理して、デバイスの現在のコンテキストを確定する。図の例
では、デバイスは1つ以上のマスター世界と1つ以上のセカンダリー世界を保持
している(またはそれらへのアクセス権を有する)。デバイスはすべての位置情
報を受け取ると、それらの世界を定義する階層ツリー構造中の特定ノードにその
情報をマッピングする。そしてツリー構造を横断して、デバイスの完全なコンテ
キスト(すなわち位置)を確定する。ステップ904において、デバイスの現在
のコンテキストまたは位置に関する情報を要求する1つ以上のアプリケーション
からの呼び出しを受信する。図の例では、アプリケーションは1つ以上のAPI
を呼び出して情報を要求するか、またはイベントの通知を登録することができる
。次いでステップ906において、現在のデバイス位置に関する少なくともいく
らかの情報をアプリケーションに提供する。下記で述べるように、アプリケーシ
ョンに戻す前に情報にセキュリティポリシーまたはプライバシーポリシーを適用
することができる。
【0104】 プライバシーマネージャ 一実施形態では、プライバシーマネージャ704(図7)が提供される。図で
はデバイスに組み込まれているが、プライバシーマネージャは、モバイルコンピ
ューティングデバイスの一部でない信頼されるサーバなど信頼されるエンティテ
ィによって実装してもよい。プライバシーマネージャは、任意の適切なハードウ
ェア、ソフトウェア、ファームウェア、あるいはこれらの組み合わせに実装する
ことができる。図の例では、プライバシーマネージャは、モバイルコンピューテ
ィングデバイスに組み込まれたソフトウェアモジュールからなる。
【0105】 プライバシーマネージャ704は、コンピューティングデバイスによって収集
される情報に伴うプライバシーの問題を扱う。具体的には、位置サービスモジュ
ールは、コンピューティングデバイスの位置に関する詳細な情報を計算すること
ができる。事例によっては、各種のアプリケーションに提供される情報をフィル
タリングすることが望ましい場合もある。すなわち、ユーザが自分の具体的な位
置情報が信頼しないアプリケーションに提供されることを望まない可能性はごく
高い。こうした事例では、ユーザは、位置サービスモジュール602がそのユー
ザがワシントン州にいることをそのようなアプリケーションに知らせることだけ
を希望することが考えられる。
【0106】 図10は、ここに説明する実施形態によるプライバシー保護方法のステップを
説明する流れ図である。これらのステップはプライバシーマネージャ704によ
って実施することができる。
【0107】 ステップ1000において、複数のプライバシーレベルを定義する。プライバ
シーレベルの例を下の表に挙げる。
【0108】
【表4】
【0109】 この表では、10の異なるプライバシーレベルが定義され、各レベルがそれに
関連するおよその尺度を有する。例えば、0のプライバシーレベルは、位置情報
が戻されないことを意味する。90のプライバシーレベルは、非常に詳細な位置
情報が戻されることを意味する。
【0110】 ステップ1002において、1つ以上の階層ツリー構造中の個々のノードに様
々なプライバシーレベルを割り当てる。例えば、マスター世界とセカンダリー世
界の各ノードは、それぞれに関連付けられたプライバシーレベルを有することが
できる。マスター世界のツリー構造のルートノードは10のプライバシーレベル
を有し、一方セカンダリー世界中の現在の位置を表すノードは90のプライバシ
ーレベルを有することが可能である。ステップ1004において、コンピューテ
ィングデバイスのコンテキストを決定する。この例では、コンテキストはデバイ
スの位置であり、これを求める方法は上記で述べた。位置サービスモジュールを
呼び出す個々のアプリケーションは、それらと関連付けられたプライバシーレベ
ルを有することができる。このプライバシーレベルは、個々のユーザによって割
り当てることができる。例えば、信頼されるアプリケーションが90のプライバ
シーレベルを有するのに対して、信頼されないアプリケーションは30のプライ
バシーレベルを有するなどである。ステップ1006において、1つ以上のアプ
リケーションからコンテキストの照会を受信する。ここで、アプリケーションは
位置サービスモジュール602(図7)を呼び出してデバイスの位置を確定する
。ステップ1008において、その1つ以上のアプリケーションに関連付けられ
たプライバシーレベルを判断する。例えば、信頼されないアプリケーションが呼
出しを行って位置情報を要求する場合、プライバシーマネージャ704は、その
アプリケーションは30のプライバシーレベルを有すると判断する。次いでプラ
イバシーマネージャは1つ以上の階層ツリー構造を横断して(ステップ1010
)、対応するプライバシーレベルを有するノードを見つけ、そのノードに関連付
けられた情報を選択することができる。この例では、横断には、セカンダリー世
界からマスター世界にジャンプして、ユーザが位置する州に対応するノードを見
つけることが含まれる場合もある。対応するノードが見つかると、ステップ10
12において、そのノードに関連付けられたコンテキスト情報(例えば位置情報
)を戻す。この場合、位置サービスモジュールは、ユーザの位置がワシントン州
であることをアプリケーションに通知する。
【0111】 一例として次の例を考察されたい。様々な位置の最新の天気を提供するウェブ
サイトがある。したがって、自分の現在の完全な郵便番号に対応する地理的範囲
の天気情報を得るために、このウェブサイトに60のプライバシーレベルを割り
当てることができる。別のウェブサイトは、信頼されるウェブサイトである、あ
る企業のイントラネットウェブサイトとする。したがって、自分の居場所につい
て正確な位置情報を与えることができるように、このウェブサイトに関連するア
プリケーションにはいずれも90のプライバシーレベルを割り当てることができ
る。
【0112】 したがって、この例では、コンピューティングデバイスは、その照会のソース
(すなわちアプリケーション)を決定し、そのアプリケーションの識別に応じて
アプリケーションに戻す情報を調整することができる。コンピューティングデバ
イスはマスター世界および1つ以上のセカンダリー世界にアクセスすることがで
きるのでこの調整を行うことができる。上記の説明は、この離れ業(feat)
を実現する例示的な方式の1つを構成するに過ぎない。
【0113】 位置プロバイダとしての位置ビーコン 一実施形態では、位置プロバイダの1つが、コンピューティングデバイスがそ
の現在のコンテキストに活発に参加できるようにするために情報を表示(bea
con)、または送信する位置ビーコンを含む。位置ビーコンは、電源を得るた
めに、例えば煙探知器や壁のコンセントなど既存の基盤設備に後から取り付ける
ことのできるスタンドアロンデバイスからなることができる。
【0114】 図11は、構造物1102に取り付けた例示的なビーコン1100を示す。構
造物1102は、会議室や公共の場所の壁面、煙探知器、電気ソケットなど、任
意の適切な構造物でよい。ここに説明する実施形態では、位置ビーコンは、会議
室、建物のロビー、空港のゲート、公共の場所など、特別な位置に永続的に取り
付けることのできる小型で低価格のデバイスである。ビーコンは、ラップトップ
、タブレットPC、ハンドヘルドコンピュータ、携帯電話、着用可能なコンピュ
ータなど、範囲内にあるすべてのモバイルデバイスにEIDおよび/またはLU
IDの形で物理的位置を知らせる。
【0115】 ここに説明する実施形態では、位置ビーコンは、モバイルコンピューティング
デバイスによって理解される標準情報を示すことにより特定の位置を識別するこ
とができる。この例では、ビーコンは、EID/URLのペアとLUID/UR
Lのペアを含む1つまたは2つの位置識別子のペアを送信することができる。ビ
ーコンは複数のLUIDを送信することもできる。EIDとLUIDは、マスタ
ー世界とセカンダリー世界それぞれにおける現在のノード位置を示す。URLは
、マスター世界とセカンダリー世界の到達可能な位置を提供する。例えば、セカ
ンダリー世界と関連付けられたURLは、デバイスが使用してセカンダリー世界
についての情報を照会することのできるサービス位置を示すことができ、デバイ
スは、そのコンテキストを得て、セカンダリー世界のノードと関連づけられたリ
ソースまたはサービスを利用することができる。
【0116】 ビーコンは、デジタル署名も送信することができ、これをデバイスが使用して
そのビーコンが有効かつ正当なものであることを確かめることができる。適切な
署名または検証の方法をいずれも使用することができる。さらに、コンテキスト
認識型の環境における特殊な使用として、ビーコンは範囲内にあるデバイスにコ
ードダウンロードポインタを送信するようにプログラムすることができる。コー
ドダウンロードポインタは、コンピューティングデバイスがその環境と対話する
ことを可能にするソフトウェアコードにコンピューティングデバイスがアクセス
することを可能にする。次の例を考えられたい。自分の携帯電話であるコンピュ
ーティングデバイスを携えて会議室に入っていくと、会議室にあるビーコンが直
ちにその者の位置をEID/URLのペア、およびLUID/URLのペアの形
で送信する。デバイスはこの情報のペアを使用して上記の要領でマスター世界と
セカンダリー世界におけるその位置を確定する。ビーコンは、自分のハンドヘル
ド型の携帯電話を使用して会議室のビデオプロジェクタを操作することを可能に
するソフトウェアコードをポイントするコードダウンロードポインタも送信する
。このようにビーコンは単なる位置ビーコン以上の機能を果たし、自分のコンピ
ューティングデバイスを通じて各自の環境に活発に関与することを可能にする。
【0117】 ビーコンは、例えば赤外線や無線周波を含む無線方式など、任意の適切な方式
で情報を送信することができる。一実施形態では、ブルートゥースの短距離無線
周波通信を使用して、低コストで、低電力の別の方法を提供することができる。
【0118】 結論 上記に述べた各種実施形態は、コンテキスト認識型のコンピューティングの世
界を高める画一的で標準化された方式を提供する。これらの実施形態は、個人が
、標準的な方式で世界における各自の位置を確定することにより、自分を取り巻
く世界を独自に体験する方法を提供する。これらの実施形態はまた、サービス提
供者が、例えば商品やサービスの様々な消費者の位置などのコンテキストに対応
し、それを理解するような形で、各自の商品およびサービスを独自に位置付ける
方式も提供する。独自の有用なアーキテクチャとデータ構造を用いて、ユーザの
コンピューティング体験を容易なものにし、個人中心型の経験を提供する。
【0119】 本発明について、構造的な特徴および/または方法論的なステップに固有の用
語で説明したが、頭記の特許請求の範囲で定義する本発明は必ずしもここに開示
した特定の機能またはステップに制限されないことを理解されよう。特定の機能
およびステップは、特許請求する発明を実装する好ましい形態として開示する。
【図面の簡単な説明】
【図1】 記載する実施形態に従って使用することのできる例示的コンピューティングデ
バイスの図である。
【図2】 記載する実施形態による例示的なマスター世界および例示的なセカンダリー世
界の概念図である。
【図3】 マスター世界およびセカンダリー世界の例示的な特定のビュー、およびそれら
の相互の関係の図である。
【図4】 記載する実施形態による方法におけるステップを説明する流れ図である。
【図5】 記載する実施形態による方法におけるステップを説明する流れ図である。
【図6】 例示的なコンピューティングデバイスアーキテクチャのハイレベル図である。
【図7】 例示的コンピューティングデバイスアーキテクチャのやや具体的な図である。
【図8】 記載する実施形態による方法におけるステップを説明する流れ図である。
【図9】 記載する実施形態による方法におけるステップを説明する流れ図である。
【図10】 記載する実施形態による方法におけるステップを説明する流れ図である。
【図11】 一実施形態による例示的な位置ビーコンの断面図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,UZ,VN, YU,ZA,ZW (72)発明者 エドワード エフ.リュース アメリカ合衆国 98072 ワシントン州 ウッディンビル ノース イースト 164 ストリート 16934 Fターム(参考) 5B075 KK07 5B076 AB17 5B082 HA02 HA08

Claims (67)

    【特許請求の範囲】
  1. 【請求項1】 1つ以上のプロセッサと、 前記1つ以上のプロセッサと動作的に関連付けられたメモリと、 前記メモリにロード可能であり、かつ、前記1つ以上のプロセッサにより実行
    して1つ以上のコンテキストプロバイダからコンテキスト情報を受信でき、前記
    情報を処理して現在のデバイスコンテキストを決定できるコンテキストサービス
    モジュールと を含むことを特徴とするコンピューティングデバイス。
  2. 【請求項2】 モバイルコンピューティングデバイスとして実施されること
    を特徴とする請求項1に記載のコンピューティングデバイス。
  3. 【請求項3】 デスクトップコンピューティングデバイスとして実施される
    ことを特徴とする請求項1に記載のコンピューティングデバイス。
  4. 【請求項4】 前記デバイスは、現在のデバイスコンテキストを保持するキ
    ャッシュメモリを含むことを特徴とする請求項1に記載のコンピューティングデ
    バイス。
  5. 【請求項5】 前記コンテキストサービスモジュールは、前記コンテキスト
    プロバイダから前記コンテキスト情報を自動的に受信するように構成されること
    を特徴とする請求項1に記載のコンピューティングデバイス。
  6. 【請求項6】 前記コンテキストサービスモジュールは、前記コンテキスト
    プロバイダから前記コンテキスト情報を自動的に受信するように構成され、前記
    コンピューティングデバイスのコンテキストが変化するのに従って、前記情報を
    処理して新しい現在のデバイスコンテキストを決定することを特徴とする請求項
    1に記載のコンピューティングデバイス。
  7. 【請求項7】 前記コンテキストサービスモジュールは、1つ以上の前記コ
    ンテキストプロバイダにコンテキスト情報を要求するように構成されることを特
    徴とする請求項1に記載のコンピューティングデバイス。
  8. 【請求項8】 前記コンテキストサービスモジュールは、現在のデバイスコ
    ンテキストに関する情報を1つ以上のアプリケーションに提供するように構成さ
    れることを特徴とする請求項1に記載のコンピューティングデバイス。
  9. 【請求項9】 前記コンテキストサービスモジュールは、前記現在のデバイ
    スコンテキスト情報を要求する前記1つ以上のアプリケーションから要求を受信
    するように構成されることを特徴とする請求項8に記載のコンピューティングデ
    バイス。
  10. 【請求項10】 前記コンテキストサービスモジュールと関連付けられたコ
    ンテキストプロバイダインタフェースをさらに含み、前記コンテキストプロバイ
    ダインタフェースは、複数の異なるコンテキストプロバイダからコンテキスト情
    報を受信することができる共通のインタフェースを含むことを特徴とする請求項
    1に記載のコンピューティングデバイス。
  11. 【請求項11】 前記コンテキストサービスモジュールと動作的に関連付け
    られた1つ以上のアプリケーションプログラムインタフェース(API)をさら
    に含み、前記1つ以上のAPIは、1つ以上のアプリケーションにより呼び出す
    ことができて前記現在のデバイスコンテキストに関する情報を得ることを特徴と
    する請求項1に記載のコンピューティングデバイス。
  12. 【請求項12】 1つ以上のアプリケーションによる使用のために構成され
    る1つ以上のイベントをさらに含み、前記アプリケーションは、1つ以上のイベ
    ントの発生に応答して現在のデバイスコンテキストに関する情報を受信するよう
    に登録することができることを特徴とする請求項1に記載のコンピューティング
    デバイス。
  13. 【請求項13】 1つ以上のプロセッサと、 前記1つ以上のプロセッサと動作的に関連付けられたメモリと、 前記メモリにロード可能であり、かつ、前記1つ以上のプロセッサにより実行
    して1つ以上のコンテキストプロバイダから位置情報を受信でき、前記情報を処
    理して現在のデバイス位置を決定できる位置サービスモジュールと を含むことを特徴とするコンピューティングデバイス。
  14. 【請求項14】 モバイルコンピューティングデバイスとして実施されるこ
    とを特徴とする請求項13に記載のコンピューティングデバイス。
  15. 【請求項15】 デスクトップコンピューティングデバイスとして実施され
    ることを特徴とする請求項13に記載のコンピューティングデバイス。
  16. 【請求項16】 前記位置サービスモジュールは、前記位置プロバイダから
    自動的に前記位置情報を受信するように構成されることを特徴とする請求項13
    に記載のコンピューティングデバイス。
  17. 【請求項17】 前記位置サービスモジュールは、前記位置プロバイダから
    前記位置情報を自動的に受信するように構成され、前記コンピューティングデバ
    イスの位置が変化するのに従い、前記情報を処理して新しい現在のデバイス位置
    を決定することを特徴とする請求項13に記載のコンピューティングデバイス。
  18. 【請求項18】 前記位置サービスモジュールは、1つ以上の前記位置プロ
    バイダに位置情報を要求するように構成されることを特徴とする請求項13に記
    載のコンピューティングデバイス。
  19. 【請求項19】 前記位置サービスモジュールは、現在のデバイス位置に関
    する情報を1つ以上のアプリケーションに提供するように構成されることを特徴
    とする請求項13に記載のコンピューティングデバイス。
  20. 【請求項20】 前記位置サービスモジュールと関連付けられた位置プロバ
    イダインタフェースをさらに含み、前記位置プロバイダインタフェースは、複数
    の異なる位置プロバイダから位置情報を受信することができる共通のインタフェ
    ースを含むことを特徴とする請求項13に記載のコンピューティングデバイス。
  21. 【請求項21】 前記位置サービスモジュールと動作的に関連付けられた1
    つ以上のアプリケーションプログラムインタフェース(API)をさらに含み、
    前記1つ以上のAPIは、1つ以上のアプリケーションにより呼び出すことがで
    きて前記現在のデバイス位置に関する情報を得ることを特徴とする請求項13に
    記載のコンピューティングデバイス。
  22. 【請求項22】 1つ以上のアプリケーションによる使用のために構成され
    る1つ以上のイベントをさらに含み、前記アプリケーションは、1つ以上のイベ
    ントの発生に応答して現在のデバイス位置に関する情報を受信するように登録す
    ることができることを特徴とする請求項13に記載のコンピューティングデバイ
    ス。
  23. 【請求項23】 1つ以上のプロセッサと、 1つ以上のコンピュータ可読媒体と、 前記媒体に常駐し、地球の地理的区分をそれぞれが表す複数のノードを含む少
    なくとも1つの階層ツリー構造と、 前記メモリにロード可能であり、かつ、前記1つ以上のプロセッサにより実行
    して1つ以上のコンテキストプロバイダから位置情報を受信でき、前記情報を処
    理して前記階層ツリー構造のノードからなる現在のデバイス位置を決定できる位
    置サービスモジュールと を含むことを特徴とするコンピューティングデバイス。
  24. 【請求項24】 モバイルコンピューティングデバイスとして実施されるこ
    とを特徴とする請求項23に記載のコンピューティングデバイス。
  25. 【請求項25】 デスクトップコンピューティングデバイスとして実施され
    ることを特徴とする請求項23に記載のコンピューティングデバイス。
  26. 【請求項26】 前記位置サービスモジュールは、前記階層ツリーの複数ノ
    ードを横断することにより、前記現在のデバイス位置を決定するように構成され
    ることを特徴とする請求項23に記載のコンピューティングデバイス。
  27. 【請求項27】 前記媒体に常駐し、物理的または論理的エンティティをそ
    れぞれが表す複数のノードを含む別の階層ツリー構造をさらに含み、前記位置サ
    ービスモジュールは、前記階層ツリーの複数ノードを横断することにより、前記
    現在のデバイス位置を決定するように構成されることを特徴とする請求項23に
    記載のコンピューティングデバイス。
  28. 【請求項28】 前記媒体に常駐し、物理的および/または論理的エンティ
    ティをそれぞれが表す複数のノードを含む別の階層ツリー構造と、 前記異なるツリーのノード間のリンクとをさらに含み、 前記位置サービスモジュールは、前記階層ツリーの複数ノードを横断すること
    により、前記現在のデバイス位置を決定するように構成されることを特徴とする
    請求項23に記載のコンピューティングデバイス。
  29. 【請求項29】 前記位置サービスモジュールは、現在のデバイス位置に関
    する情報を、位置に固有のサービスを提供するため1つ以上のアプリケーション
    に提供するように構成されることを特徴とする請求項23に記載のコンピューテ
    ィングデバイス。
  30. 【請求項30】 前記位置サービスモジュールは、前記現在のデバイス位置
    に関する前記情報を要求する前記1つ以上のアプリケーションから呼び出しを受
    信するように構成されることを特徴とする請求項29に記載のコンピューティン
    グデバイス。
  31. 【請求項31】 前記位置サービスモジュールは、定義可能なイベントの発
    生時に現在のデバイス位置に関する情報を通知することについて、1つ以上のア
    プリケーションを登録するように構成されることを特徴とする請求項29に記載
    のコンピューティングデバイス。
  32. 【請求項32】 1つ以上のプロセッサと、 1つ以上のコンピュータ可読媒体と、 前記媒体に常駐し、物理的または論理的エンティティをそれぞれが表す複数の
    ノードを含む少なくとも1つの階層ツリー構造と、 前記メモリにロード可能であり、かつ、前記1つ以上のプロセッサにより実行
    して1つ以上のコンテキストプロバイダから位置情報を受信でき、前記情報を処
    理して前記階層ツリー構造のノードからなる現在のデバイス位置を決定できる位
    置サービスモジュールと を含むことを特徴とするコンピューティングデバイス。
  33. 【請求項33】 モバイルコンピューティングデバイスとして実施されるこ
    とを特徴とする請求項32に記載のデバイス。
  34. 【請求項34】 デスクトップコンピューティングデバイスとして実施され
    ることを特徴とする請求項32に記載のデバイス。
  35. 【請求項35】 前記階層ツリー構造は、特定の組織内のみにおけるコンテ
    キストを有する組織固有のツリー構造を含むことを特徴とする請求項32に記載
    のデバイス。
  36. 【請求項36】 前記階層ツリーの1つ以上のノードに関連付けられた1つ
    以上のサービスをさらに含み、前記デバイスは、前記1つ以上のプロセッサで実
    行されて前記階層ツリーを横断し、前記1つ以上のサービスを見つけるアプリケ
    ーションを含むことを特徴とする請求項32に記載のデバイス。
  37. 【請求項37】 1つ以上のコンピューティングデバイスを含み、 各コンピューティングデバイスは、 位置情報を受信するように構成された位置プロバイダインタフェースと、 前記位置プロバイダインタフェースと通信的に関連付けられ、かつ、前記複数
    の異なる位置プロバイダから前記位置情報を受信し、前記情報を処理して現在の
    デバイス位置を確定するように構成された位置サービスモジュールと、 前記位置サービスモジュールと関連付けられ、かつ、位置に固有のサービスを
    提供するように構成された1つ以上のアプリケーションに、現在のデバイス位置
    に関する情報をそれを通じて提供することができる機構を定義する、1つ以上の
    アプリケーションプログラムインタフェース(API)またはイベントと を含むソフトウェアアーキテクチャを有することを特徴とする位置認識型のコン
    ピューティングシステム。
  38. 【請求項38】 前記1つ以上のコンピューティングデバイスのうち少なく
    とも1つがモバイルコンピューティングデバイスを含むことを特徴とする請求項
    37に記載の位置認識型のコンピューティングシステム。
  39. 【請求項39】 前記1つ以上のコンピューティングデバイスの少なくとも
    1つがデスクトップコンピューティングデバイスを含むことを特徴とする請求項
    37に記載の位置認識型コンピューティングシステム。
  40. 【請求項40】 前記位置プロバイダインタフェースは、複数の異なる位置
    プロバイダから位置情報を受信するように構成されることを特徴とする請求項3
    7に記載の位置認識型コンピューティングシステム。
  41. 【請求項41】 前記位置プロバイダインタフェースは、複数の異なる位置
    プロバイダから位置情報を受信するように構成され、前記位置サービスモジュー
    ルは、1つ以上の前記位置プロバイダにポーリングして、ポーリングされた位置
    プロバイダは前記位置プロバイダインタフェースに位置情報を提供することがで
    きることを特徴とする請求項37に記載の位置認識型コンピューティングシステ
    ム。
  42. 【請求項42】 1つ以上のコンピュータ可読媒体と、 前記媒体に常駐し、地球の地理的区分をそれぞれが表す複数のノードを含む階
    層ツリー構造とをさらに含み、 前記位置サービスモジュールは、前記情報を処理して、前記階層ツリー構造の
    1ノードからなる現在のデバイス位置を確定するように構成されることを特徴と
    する請求項37に記載の位置認識型コンピューティングシステム。
  43. 【請求項43】 前記位置サービスモジュールは、前記ツリー構造のルート
    まで前記階層ツリー構造を横断することにより、現在のデバイス位置を確定する
    ように構成されることを特徴とする請求項42に記載の位置認識型コンピューテ
    ィングシステム。
  44. 【請求項44】 前記媒体に常駐し、物理的または論理的エンティティをそ
    れぞれが表す複数のノードを含む1つ以上の追加の階層ツリー構造をさらに含み
    、前記追加の階層ツリーはそれぞれ、最初に挙げた階層ツリー構造にリンクされ
    た少なくとも1つのノードを有し、前記位置サービスモジュールは、前記追加の
    階層ツリーの少なくとも1つと前記最初に挙げた階層ツリーを横断することによ
    り、現在のデバイス位置を確定するように構成されることを特徴とする請求項4
    2に記載の位置認識型コンピューティングシステム。
  45. 【請求項45】 コンピューティングデバイスのコンテキストを決定する、
    コンピュータによって実施される方法であって、 前記デバイスの現在のコンテキストに関連する情報をコンピューティングデバ
    イスを用いて受信するステップと、 前記デバイス上で前記デバイスを用いて前記情報を処理して、前記コンピュー
    ティングデバイスの現在のコンテキストを確定するステップと を含むことを特徴とする方法。
  46. 【請求項46】 前記受信ステップは、モバイルコンピューティングデバイ
    スによって前記情報を受信することを含むことを特徴とする請求項45に記載の
    コンピュータによって実施される方法。
  47. 【請求項47】 前記受信ステップは、ハンドヘルドコンピューティングデ
    バイスによって前記情報を受信することを含むことを特徴とする請求項45に記
    載のコンピュータによって実施される方法。
  48. 【請求項48】 前記受信ステップは、デスクトップコンピューティングデ
    バイスによって前記情報を受信することを含むことを特徴とする請求項45に記
    載のコンピュータによって実施される方法。
  49. 【請求項49】 前記現在のコンテキストは前記デバイスの位置であること
    を特徴とする請求項45に記載のコンピュータによって実施される方法。
  50. 【請求項50】 前記情報を受信するステップは、複数の異なる位置プロバ
    イダから情報を受信することを含むことを特徴とする請求項49に記載のコンピ
    ュータによって実施される方法。
  51. 【請求項51】 前記複数の異なる位置プロバイダから受信される前記情報
    は、様々な形態で受信されることを特徴とする請求項50に記載のコンピュータ
    によって実施される方法。
  52. 【請求項52】 前記情報を受信するステップは、共通インタフェースを通
    じて前記情報を受信することを含むことを特徴とする請求項50に記載のコンピ
    ュータによって実施される方法。
  53. 【請求項53】 前記情報を受信するステップは、複数の異なるコンテキス
    トプロバイダから情報を受信することを含むことを特徴とする請求項45に記載
    のコンピュータによって実施される方法。
  54. 【請求項54】 前記複数の異なる位置プロバイダから受信される情報は、
    様々な形態で受信されることを特徴とする請求項53に記載のコンピュータによ
    って実施される方法。
  55. 【請求項55】 前記情報を受信するステップは、共通インタフェースを通
    じて前記情報を受信することを含むことを特徴とする請求項53に記載のコンピ
    ュータによって実施される方法。
  56. 【請求項56】 前記モバイルコンピューティングデバイスの現在のコンテ
    キストに関連する情報に対する要求をアプリケーションから受信し、少なくとも
    いくらかの情報を前記アプリケーションに戻すことをさらに含むことを特徴とす
    る請求項45に記載のコンピュータによって実施される方法。
  57. 【請求項57】 1つ以上のアプリケーションから、前記アプリケーション
    が前記コンピューティングデバイスの現在のコンテキストに関連する情報を受信
    するためのイベントに関連する少なくとも1つのイベント登録を受信し、イベン
    トの発生に応答して、前記コンピューティングデバイスの現在のコンテキストに
    関連する情報を前記1つ以上のアプリケーションに戻すことをさらに含むことを
    特徴とする請求項45に記載のコンピュータによって実施される方法。
  58. 【請求項58】 コンピュータ可読命令を有する1つ以上のコンピュータ可
    読媒体であって、前記コンピュータ可読命令はコンピューティングデバイスによ
    って実行されると、コンピューティングデバイスに、 前記デバイスの現在の位置に関連する情報を受信し、前記情報は複数の異なる
    位置プロバイダから受信されることと、 前記情報を処理して、(1)地球の地理的区分、または(2)物理的または論
    理的エンティティ、を表す複数のノードを含む階層ツリー構造のノードに前記情
    報をマッピングすることと、 前記階層ツリー構造を横断して、前記現在のデバイス位置を確定することと を行わせることを特徴とする媒体。
  59. 【請求項59】 ハンドヘルド型のモバイルコンピューティングデバイスの
    位置を決定する、コンピュータによって実施される方法であって、 前記モバイルコンピューティングデバイスに階層ツリー構造を保持するステッ
    プであって、前記ツリー構造は、地球の地理的区分をそれぞれが表す複数のノー
    ドを含むステップと、 複数の異なる位置プロバイダから、現在のデバイス位置の諸相を記述する情報
    を受信するステップと、 前記モバイルデバイスによって前記情報を処理して、現在のデバイス位置を構
    成すると思われる前記ツリー構造上のノードを確定するステップと、 前記ツリー構造の少なくとも1つの他のノードを横断して、前記現在のデバイ
    ス位置と関連付けられた追加的な位置情報を確定するステップと を含むことを特徴とする方法。
  60. 【請求項60】 前記階層ツリー構造を保持するステップは、相互にリンク
    された複数の階層ツリー構造を保持することを含み、 前記横断ステップは、前記複数の階層ツリー構造を横断して、前記追加的な位
    置情報を確定することを含むことを特徴とする請求項59に記載のコンピュータ
    によって実施される方法。
  61. 【請求項61】 1つのツリー構造は、物理的または論理的エンティティの
    独自の表現を含むことを特徴とする請求項60に記載のコンピュータによって実
    施される方法。
  62. 【請求項62】 現在のデバイス位置に関連する情報に対する要求を1つ以
    上のアプリケーションから受信し、前記現在のデバイス位置に関連する情報を前
    記1つ以上のアプリケーションに提供することをさらに含むことを特徴とする請
    求項59に記載のコンピュータによって実施される方法。
  63. 【請求項63】 前記要求を受信することは、アプリケーションプログラム
    インタフェース(API)に対する呼び出しを受信することを含むことを特徴と
    する請求項62に記載のコンピュータによって実施される方法。
  64. 【請求項64】 前記要求を受信することは、イベントの登録を受信するこ
    とを含むことを特徴とする請求項62に記載のコンピュータによって実施される
    方法。
  65. 【請求項65】 前記情報を前記1つ以上のアプリケーションに提供する前
    に、前記現在のデバイス位置に関連する前記情報にセキュリティポリシーを適用
    することをさらに含むことを特徴とする請求項62に記載のコンピュータによっ
    て実施される方法。
  66. 【請求項66】 前記情報を処理してノードを確定する前に、異なる位置プ
    ロバイダから受信される情報間に存在する可能性のある衝突を解決することをさ
    らに含むことを特徴とする請求項59に記載のコンピュータによって実施される
    方法。
  67. 【請求項67】 コンピュータ可読命令を有する1つ以上のコンピュータ可
    読媒体であって、前記コンピュータ可読命令はコンピューティングデバイスによ
    って実行されると、コンピューティングデバイスに、 コンピューティングデバイス上に階層ツリー構造を保持するか、またはコンピ
    ューティングデバイスを用いて階層ツリー構造にアクセスし、前記ツリー構造は
    、地球の地理的区分をそれぞれが表す複数のノードを含むことと、 複数の異なる位置プロバイダから、現在のデバイス位置の諸相を記述する情報
    を受信することと、 前記デバイスによって前記情報を処理して、現在のデバイス位置を構成すると
    思われる前記ツリー構造上のノードを確定することと、 前記ツリー構造の少なくとも1つの他のノードを横断して、前記現在のデバイ
    ス位置に関連付けられた追加的な位置情報を確定することと、 現在のデバイス位置に関連する情報に対する1つ以上の呼び出しを1つ以上の
    アプリケーションから受信し、前記アプリケーションは位置に固有の情報を提供
    するように構成されることと、 前記現在のデバイス位置に関連する少なくともいくらかの情報を前記1つ以上
    のアプリケーションに提供することと を行わせることを特徴とする媒体。
JP2001579526A 2000-04-05 2001-02-16 コンテキスト認識型のコンピューティングデバイスおよび方法 Expired - Fee Related JP4662675B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/543,054 US7213048B1 (en) 2000-04-05 2000-04-05 Context aware computing devices and methods
US09/543,054 2000-04-05
PCT/US2001/005184 WO2001082562A2 (en) 2000-04-05 2001-02-16 Context aware computing devices and methods

Publications (2)

Publication Number Publication Date
JP2003532210A true JP2003532210A (ja) 2003-10-28
JP4662675B2 JP4662675B2 (ja) 2011-03-30

Family

ID=24166394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001579526A Expired - Fee Related JP4662675B2 (ja) 2000-04-05 2001-02-16 コンテキスト認識型のコンピューティングデバイスおよび方法

Country Status (7)

Country Link
US (3) US7213048B1 (ja)
EP (1) EP1269711B1 (ja)
JP (1) JP4662675B2 (ja)
CN (1) CN100464545C (ja)
AT (1) ATE514266T1 (ja)
AU (1) AU2001238460A1 (ja)
WO (1) WO2001082562A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118754A (ja) * 2010-11-30 2012-06-21 Aisin Aw Co Ltd 交通環境情報辞書作成装置、交通環境情報辞書作成方法、及び交通環境情報辞書作成プログラム
JP2015507789A (ja) * 2011-12-14 2015-03-12 マイクロソフト コーポレーション コンテキスト信号に関して返される情報の精度の向上

Families Citing this family (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743074B1 (en) * 2000-04-05 2010-06-22 Microsoft Corporation Context aware systems and methods utilizing hierarchical tree structures
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US7213048B1 (en) * 2000-04-05 2007-05-01 Microsoft Corporation Context aware computing devices and methods
US7228327B2 (en) * 2000-05-08 2007-06-05 Hoshiko Llc Method and apparatus for delivering content via information retrieval devices
US8001232B1 (en) * 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6456234B1 (en) 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US8060389B2 (en) 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US8489669B2 (en) 2000-06-07 2013-07-16 Apple Inc. Mobile data processing system moving interest radius
FI108372B (fi) 2000-06-30 2002-01-15 Nokia Corp Menetelmõ ja laite paikanmõõritykseen
US7493565B2 (en) * 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
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
US9396487B1 (en) 2006-11-30 2016-07-19 NexRf Corporation System and method for weighting content items
US8942995B1 (en) 2001-02-06 2015-01-27 Nexrf, Corp. Mobile autonomous dynamic graphical user interface
US20020142844A1 (en) 2001-02-06 2002-10-03 Kerr Michael A. Biometric broadband gaming system and method
US10430492B1 (en) 2006-11-30 2019-10-01 Nexrf, Corp. System and method for handset positioning with dynamically updated RF fingerprinting
US9615347B1 (en) 2006-11-30 2017-04-04 NEXRF Corp. Location positioning engine system and method
US9408032B1 (en) 2006-11-30 2016-08-02 NexRf Corporation Content delivery system, device and method
US8738024B1 (en) 2008-03-29 2014-05-27 Nexrf, Corp. Delivering content within a boundary with beacons
US9507494B1 (en) 2006-11-30 2016-11-29 Nexrf, Corp. Merchant controlled platform system and method
US7072908B2 (en) * 2001-03-26 2006-07-04 Microsoft Corporation Methods and systems for synchronizing visualizations with audio streams
US9349128B1 (en) 2006-11-30 2016-05-24 Nevrf Corporation Targeted content delivery
US9773020B2 (en) 2001-07-05 2017-09-26 NEXRF Corp. System and method for map based exploration
EP1298527A1 (en) * 2001-09-28 2003-04-02 Sony International (Europe) GmbH A system for automatically creating a context information providing configuration
US8977284B2 (en) 2001-10-04 2015-03-10 Traxcell Technologies, LLC Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same
JP3680783B2 (ja) * 2001-11-01 2005-08-10 ソニー株式会社 電子機器、通信システムおよび方法、情報処理端末および方法、情報処理装置および方法、並びにプログラム
US20030177094A1 (en) * 2002-03-15 2003-09-18 Needham Bradford H. Authenticatable positioning data
CN1295917C (zh) * 2002-08-23 2007-01-17 国际商业机器公司 可以感知用户周围环境的消息传递系统和方法
US6961733B2 (en) 2003-03-10 2005-11-01 Unisys Corporation System and method for storing and accessing data in an interlocking trees datastore
US7373386B2 (en) * 2003-08-11 2008-05-13 Research In Motion Limited System and method for configuring access to electronic mailboxes
US6959325B2 (en) * 2003-08-11 2005-10-25 Teamon Systems, Inc. System and method for generating configurations used for accessing electronic mailboxes
US7603419B2 (en) * 2003-08-11 2009-10-13 Teamon Systems, Inc. System and method for automatically learning mailbox configuration conventions
US7383302B2 (en) * 2003-09-15 2008-06-03 International Business Machines Corporation Method and system for providing a common collaboration framework accessible from within multiple applications
US8516004B2 (en) * 2003-09-19 2013-08-20 Unisys Corporation Method for processing K node count fields using an intensity variable
DE10346007A1 (de) * 2003-10-02 2005-04-28 Siemens Ag Kommunikationseinrichtung und Verfahren zum Einstellen einer Sicherheitskonfiguration einer Kommunikationseinrichtung
US8046000B2 (en) * 2003-12-24 2011-10-25 Nortel Networks Limited Providing location-based information in local wireless zones
US7340471B2 (en) 2004-01-16 2008-03-04 Unisys Corporation Saving and restoring an interlocking trees datastore
US7511682B2 (en) * 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
KR100587563B1 (ko) * 2004-07-26 2006-06-08 삼성전자주식회사 상황인지 서비스를 제공하는 장치 및 방법
US9552599B1 (en) 2004-09-10 2017-01-24 Deem, Inc. Platform for multi-service procurement
US20060092125A1 (en) * 2004-09-30 2006-05-04 Kisley Richard V Apparatus and method to authenticate local interface for network attached projector
US7213041B2 (en) 2004-10-05 2007-05-01 Unisys Corporation Saving and restoring an interlocking trees datastore
US7716241B1 (en) 2004-10-27 2010-05-11 Unisys Corporation Storing the repository origin of data inputs within a knowledge store
US7908240B1 (en) 2004-10-28 2011-03-15 Unisys Corporation Facilitated use of column and field data for field record universe in a knowledge store
US7676477B1 (en) 2005-10-24 2010-03-09 Unisys Corporation Utilities for deriving values and information from within an interlocking trees data store
US7348980B2 (en) 2004-11-08 2008-03-25 Unisys Corporation Method and apparatus for interface for graphic display of data from a Kstore
US7499932B2 (en) * 2004-11-08 2009-03-03 Unisys Corporation Accessing data in an interlocking trees data structure using an application programming interface
US20070162508A1 (en) * 2004-11-08 2007-07-12 Mazzagatti Jane C Updating information in an interlocking trees datastore
US7970666B1 (en) * 2004-12-30 2011-06-28 Rearden Commerce, Inc. Aggregate collection of travel data
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US7409380B1 (en) 2005-04-07 2008-08-05 Unisys Corporation Facilitated reuse of K locations in a knowledge store
FR2885245B1 (fr) * 2005-05-02 2007-09-21 Olivier Chabanne Systeme automatique de consultation d'informations
US7389301B1 (en) 2005-06-10 2008-06-17 Unisys Corporation Data aggregation user interface and analytic adapted for a KStore
JP4670496B2 (ja) * 2005-06-14 2011-04-13 住友電気工業株式会社 光受信器
US8856311B2 (en) 2005-06-30 2014-10-07 Nokia Corporation System coordinated WLAN scanning
US10140387B2 (en) 2005-08-02 2018-11-27 The Boeing Company Model for managing variations in a product structure for a product
US8402007B2 (en) * 2005-08-02 2013-03-19 The Boeing Company Methods and apparatus for creating and utilizing templates in connection with information modeling
US8275799B2 (en) * 2005-08-02 2012-09-25 The Boeing Company Methods and apparatus for information modeling
US7535473B2 (en) * 2005-09-20 2009-05-19 Erdas, Inc. Collaborative environments in a graphical information system
US9088627B2 (en) * 2005-09-29 2015-07-21 Ipass Inc. System and method for actively characterizing a network
US9167053B2 (en) 2005-09-29 2015-10-20 Ipass Inc. Advanced network characterization
US7243149B2 (en) * 2005-10-03 2007-07-10 Motorola, Inc. System and method for determining a presence state of a user
US8346903B2 (en) * 2005-11-29 2013-01-01 Xerox Corporation Print server, mobile computing device, system and method for printing using a mobile computing device
US9117223B1 (en) 2005-12-28 2015-08-25 Deem, Inc. Method and system for resource planning for service provider
US7333464B2 (en) * 2006-02-01 2008-02-19 Microsoft Corporation Automated service discovery and wireless network set-up
US20070214153A1 (en) * 2006-03-10 2007-09-13 Mazzagatti Jane C Method for processing an input particle stream for creating upper levels of KStore
US20070220069A1 (en) * 2006-03-20 2007-09-20 Mazzagatti Jane C Method for processing an input particle stream for creating lower levels of a KStore
US7734571B2 (en) 2006-03-20 2010-06-08 Unisys Corporation Method for processing sensor data within a particle stream by a KStore
US20080275842A1 (en) * 2006-03-20 2008-11-06 Jane Campbell Mazzagatti Method for processing counts when an end node is encountered
US7689571B1 (en) 2006-03-24 2010-03-30 Unisys Corporation Optimizing the size of an interlocking tree datastore structure for KStore
US8238351B2 (en) * 2006-04-04 2012-08-07 Unisys Corporation Method for determining a most probable K location
US7676330B1 (en) 2006-05-16 2010-03-09 Unisys Corporation Method for processing a particle using a sensor structure
US7873610B2 (en) 2006-05-26 2011-01-18 Andrew S Poulsen Meta-configuration of profiles
US20080005679A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Context specific user interface
US8374623B2 (en) * 2006-07-21 2013-02-12 Microsoft Corporation Location based, software control of mobile devices
US9031777B2 (en) * 2006-08-08 2015-05-12 Verizon Patent And Licensing Inc. Driving directions with selective printing
US9043222B1 (en) 2006-11-30 2015-05-26 NexRf Corporation User interface for geofence associated content
US9406079B1 (en) 2006-11-30 2016-08-02 NexRf Corporation Content relevance weighting system
US9501786B1 (en) 2006-11-30 2016-11-22 Nexrf, Corp. Interactive display system
US8744758B2 (en) * 2006-12-19 2014-06-03 Verizon Patent And Licensing Inc. Driving directions printed text scaling
US20080167083A1 (en) * 2007-01-07 2008-07-10 Wyld Jeremy A Method, Device, and Graphical User Interface for Location-Based Dialing
US20090005964A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Intelligent Route Guidance
US8290513B2 (en) 2007-06-28 2012-10-16 Apple Inc. Location-based services
US8332402B2 (en) 2007-06-28 2012-12-11 Apple Inc. Location based media items
US8762056B2 (en) 2007-06-28 2014-06-24 Apple Inc. Route reference
US9109904B2 (en) 2007-06-28 2015-08-18 Apple Inc. Integration of map services and user applications in a mobile device
US8180379B2 (en) 2007-06-28 2012-05-15 Apple Inc. Synchronizing mobile and vehicle devices
US8175802B2 (en) 2007-06-28 2012-05-08 Apple Inc. Adaptive route guidance based on preferences
US8774825B2 (en) 2007-06-28 2014-07-08 Apple Inc. Integration of map services with user applications in a mobile device
US8275352B2 (en) 2007-06-28 2012-09-25 Apple Inc. Location-based emergency information
US8385946B2 (en) 2007-06-28 2013-02-26 Apple Inc. Disfavored route progressions or locations
US8204684B2 (en) 2007-06-28 2012-06-19 Apple Inc. Adaptive mobile device navigation
US9066199B2 (en) 2007-06-28 2015-06-23 Apple Inc. Location-aware mobile device
US8311526B2 (en) 2007-06-28 2012-11-13 Apple Inc. Location-based categorical information services
US8108144B2 (en) 2007-06-28 2012-01-31 Apple Inc. Location based tracking
US7743081B2 (en) * 2007-09-18 2010-06-22 Palo Alto Research Center Incorporated Fast local recommender queries via modified spatial data structure querying
US8161299B2 (en) * 2007-12-20 2012-04-17 Intel Corporation Location based policy system and method for changing computing environments
US20090163226A1 (en) * 2007-12-20 2009-06-25 Burges Karkaria Device, system, and method of power saving using location sensing modules
US8355862B2 (en) 2008-01-06 2013-01-15 Apple Inc. Graphical user interface for presenting location information
KR20090087269A (ko) * 2008-02-12 2009-08-17 삼성전자주식회사 컨텍스트 기반 정보 처리 방법 및 장치, 그리고 컴퓨터기록 매체
US8682960B2 (en) 2008-03-14 2014-03-25 Nokia Corporation Methods, apparatuses, and computer program products for providing filtered services and content based on user context
US11729576B2 (en) * 2008-03-29 2023-08-15 NEXRF Corp. Targeted content delivery
US11706733B1 (en) 2008-03-29 2023-07-18 NEXRF Corp. Location positioning engine system and method
US20090326815A1 (en) * 2008-05-02 2009-12-31 Apple Inc. Position Fix Indicator
US9250092B2 (en) 2008-05-12 2016-02-02 Apple Inc. Map service with network-based query for search
US8644843B2 (en) 2008-05-16 2014-02-04 Apple Inc. Location determination
EP2304674A4 (en) 2008-06-09 2013-03-13 Guestlogix Inc SYSTEMS AND METHOD FOR ENABLING MOBILE RETAIL ENVIRONMENTS
US8369867B2 (en) 2008-06-30 2013-02-05 Apple Inc. Location sharing
US8359643B2 (en) 2008-09-18 2013-01-22 Apple Inc. Group formation using anonymous broadcast information
US8260320B2 (en) 2008-11-13 2012-09-04 Apple Inc. Location specific content
US8266708B2 (en) * 2008-12-09 2012-09-11 Broadlands Technologies Llc Privacy protection system
US8948787B2 (en) * 2008-12-23 2015-02-03 At&T Intellectual Property I, L.P. Configuration of telephony services for phone based on user location
US8180369B1 (en) * 2009-02-20 2012-05-15 Babak Sheikh Facilty-based interpersonal communication and interactive information system
US9699600B1 (en) 2009-02-20 2017-07-04 Babak Sheikh Interpersonal communication and interactive information system
US8914039B1 (en) 2009-02-20 2014-12-16 Babak Sheikh Interpersonal communication and interactive information system
US8818412B2 (en) * 2009-03-18 2014-08-26 Wavemarket, Inc. System for aggregating and disseminating location information
US20100242097A1 (en) 2009-03-20 2010-09-23 Wavemarket, Inc. System and method for managing application program access to a protected resource residing on a mobile device
US8683554B2 (en) * 2009-03-27 2014-03-25 Wavemarket, Inc. System and method for managing third party application program access to user information via a native application program interface (API)
US8688779B2 (en) 2009-04-08 2014-04-01 Blackberry Limited Publishing location for a limited time
US10419722B2 (en) 2009-04-28 2019-09-17 Whp Workflow Solutions, Inc. Correlated media source management and response control
US9760573B2 (en) 2009-04-28 2017-09-12 Whp Workflow Solutions, Llc Situational awareness
US8311983B2 (en) * 2009-04-28 2012-11-13 Whp Workflow Solutions, Llc Correlated media for distributed sources
US10565065B2 (en) 2009-04-28 2020-02-18 Getac Technology Corporation Data backup and transfer across multiple cloud computing providers
US10552849B2 (en) 2009-04-30 2020-02-04 Deem, Inc. System and method for offering, tracking and promoting loyalty rewards
US8670748B2 (en) 2009-05-01 2014-03-11 Apple Inc. Remotely locating and commanding a mobile device
US8660530B2 (en) 2009-05-01 2014-02-25 Apple Inc. Remotely receiving and communicating commands to a mobile device for execution by the mobile device
US8666367B2 (en) 2009-05-01 2014-03-04 Apple Inc. Remotely locating and commanding a mobile device
US20110137817A1 (en) * 2009-06-01 2011-06-09 Wavemarket, Inc. System and method for aggregating and disseminating personal data
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
WO2011043429A1 (ja) 2009-10-09 2011-04-14 日本電気株式会社 情報管理装置、そのデータ処理方法、およびコンピュータプログラム
JP5528086B2 (ja) * 2009-12-14 2014-06-25 キヤノン株式会社 情報配信装置、情報配信装置の制御方法及びコンピュータプログラム
US20110219423A1 (en) * 2010-03-05 2011-09-08 Nokia Corporation Method and apparatus for triggering user communications based on privacy information
US8528005B2 (en) * 2010-04-09 2013-09-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement in an IPTV terminal
US10721705B1 (en) 2010-06-04 2020-07-21 NEXRF Corp. Content Relevance Weighting System
US8732697B2 (en) 2010-08-04 2014-05-20 Premkumar Jonnala System, method and apparatus for managing applications on a device
US8744920B2 (en) 2010-10-05 2014-06-03 Guestlogix, Inc. Systems and methods for integration of travel and related services and operations
US10026058B2 (en) * 2010-10-29 2018-07-17 Microsoft Technology Licensing, Llc Enterprise resource planning oriented context-aware environment
US9359880B2 (en) * 2011-04-07 2016-06-07 Infosys Limited Methods and systems for managing underground assets
US9449288B2 (en) 2011-05-20 2016-09-20 Deem, Inc. Travel services search
US9390137B2 (en) 2011-06-29 2016-07-12 Nokia Technologies Oy Method and apparatus for providing an ordering metric for a multi-dimensional contextual query
US9659165B2 (en) 2011-09-06 2017-05-23 Crimson Corporation Method and apparatus for accessing corporate data from a mobile device
US8627488B2 (en) 2011-12-05 2014-01-07 At&T Intellectual Property I, L.P. Methods and apparatus to anonymize a dataset of spatial data
US20130166675A1 (en) * 2011-12-21 2013-06-27 Sap Ag Computer System and Computer Method for Coarse-Grained Data Access
US20130212065A1 (en) * 2012-02-15 2013-08-15 Flybits, Inc. Zone Oriented Applications, Systems and Methods
US9430548B1 (en) * 2012-09-25 2016-08-30 Emc Corporation Generating context tree data based on a tailored data model
EP2915343B1 (en) 2012-11-02 2019-10-23 GE Intelligent Platforms, Inc. Apparatus and method for geolocation intelligence
US20140162684A1 (en) * 2012-12-12 2014-06-12 At&T Intellectual Property I, Lp Long Term Evolution Advanced Location-Sensitive Information Management
US9191874B2 (en) 2012-12-31 2015-11-17 Ipass Inc. Advanced network characterization and migration
WO2014107525A2 (en) * 2013-01-03 2014-07-10 Cinarra Systems Pte. Ltd. Location and time-aware systems and methods for mobile user context detection
US10649619B2 (en) * 2013-02-21 2020-05-12 Oath Inc. System and method of using context in selecting a response to user device interaction
KR20150129972A (ko) * 2014-05-12 2015-11-23 에스케이플래닛 주식회사 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템
US10503912B1 (en) 2014-08-12 2019-12-10 NEXRF Corp. Multi-channel communication of data files
US9288235B1 (en) 2014-09-17 2016-03-15 Microsoft Technology Licensing, Llc Contextually aware device management
US20160170808A1 (en) * 2014-12-16 2016-06-16 International Business Machines Corporation Contextual utilization management of applications in a pervasive device
US9788155B1 (en) 2015-04-22 2017-10-10 Michael A. Kerr User interface for geofence associated content
US10231084B2 (en) * 2015-08-14 2019-03-12 Aeris Communications, Inc. System and method for monitoring devices relative to a learned geographic area
US10648823B2 (en) * 2017-06-22 2020-05-12 Aeris Communications, Inc. Learning common routes and automatic geofencing in fleet management
US10437575B2 (en) 2015-08-14 2019-10-08 Aeris Communications, Inc. Aercloud application express and aercloud application express launcher
US9774994B2 (en) * 2015-08-14 2017-09-26 Aeris Communications, Inc. System and method for monitoring devices relative to a user defined geographic area
US9826121B2 (en) 2015-12-17 2017-11-21 Xerox Corporation System and method for printing documents using print hardware and automatic print device identification based on context correlation
US10484484B2 (en) * 2016-02-05 2019-11-19 International Business Machines Corporation Context-aware task processing for multiple devices
US10044798B2 (en) 2016-02-05 2018-08-07 International Business Machines Corporation Context-aware task offloading among multiple devices
US10838582B2 (en) 2016-06-15 2020-11-17 NEXRF Corp. Mobile autonomous dynamic graphical user interface
US11206223B2 (en) * 2016-06-30 2021-12-21 Microsoft Technology Licensing, Llc Signal upload optimization
US11132636B2 (en) 2017-06-22 2021-09-28 Aeris Communications, Inc. System and method for monitoring and sharing location and activity of devices
US10735904B2 (en) 2017-06-22 2020-08-04 Aeris Communications, Inc. System and method for monitoring location and activity of devices
US11627195B2 (en) 2017-06-22 2023-04-11 Aeris Communications, Inc. Issuing alerts for IoT devices
US10984079B2 (en) * 2018-01-25 2021-04-20 Oracle International Corporation Integrated context-aware software applications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539922A (en) * 1992-01-03 1996-07-23 Motorola, Inc. Multiple tree hierarchical portable communication system and method

Family Cites Families (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4466060A (en) 1982-02-11 1984-08-14 At&T Bell Telephone Laboratories, Incorporated Message routing in a computer network
US4613946A (en) 1984-06-07 1986-09-23 Forman Ernest H Method and apparatus for generating hierarchical displays
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
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
DE69025846T2 (de) 1989-10-13 1996-09-26 Ibm Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz
US5717387A (en) 1990-01-19 1998-02-10 Prince Corporation Remote vehicle programming system
US5241648A (en) 1990-02-13 1993-08-31 International Business Machines Corporation Hybrid technique for joining tables
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
JPH05347540A (ja) 1990-12-28 1993-12-27 Nissan Shatai Co Ltd ラジオ選局自動プリセット装置
US5568403A (en) 1994-08-19 1996-10-22 Thomson Consumer Electronics, Inc. Audio/video/data component system bus
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
US5228098A (en) * 1991-06-14 1993-07-13 Tektronix, Inc. Adaptive spatio-temporal compression/decompression of video image signals
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
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
US5761664A (en) * 1993-06-11 1998-06-02 International Business Machines Corporation Hierarchical data model for design automation
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
JPH07271813A (ja) 1994-03-31 1995-10-20 Toshiba Corp 情報分類整理システム
US5602596A (en) 1994-04-08 1997-02-11 U S West Technologies, Inc. Method for navigating a complex multimedia structure at an interactive user station
US5644686A (en) 1994-04-29 1997-07-01 International Business Machines Corporation Expert system and method employing hierarchical knowledge base, and interactive multimedia/hypermedia applications
US5559707A (en) 1994-06-24 1996-09-24 Delorme Publishing Company Computer aided routing system
US5543789A (en) 1994-06-24 1996-08-06 Shields Enterprises, Inc. Computerized navigation system
US5948040A (en) 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US5541354A (en) 1994-06-30 1996-07-30 International Business Machines Corporation Micromanipulation of waveforms in a sampling music synthesizer
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
US5682525A (en) 1995-01-11 1997-10-28 Civix Corporation System and methods for remotely accessing a selected group of items of interest from a database
US5642303A (en) 1995-05-05 1997-06-24 Apple Computer, Inc. Time and location based computing
GB2302420A (en) 1995-06-19 1997-01-15 Ibm Semantic network
US5794006A (en) 1995-08-18 1998-08-11 Microsoft Corporation System and method for editing content in an on-line network
US5671225A (en) 1995-09-01 1997-09-23 Digital Equipment Corporation Distributed interactive multimedia service system
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
JP3159055B2 (ja) 1996-05-16 2001-04-23 ヤマハ株式会社 通信システム
US5737731A (en) 1996-08-05 1998-04-07 Motorola, Inc. Method for rapid determination of an assigned region associated with a location on the earth
US5806017A (en) 1996-08-19 1998-09-08 Board Of Regents The University Of Texas System Electronic autorouting navigation system for visually impaired persons
US5839088A (en) 1996-08-22 1998-11-17 Go2 Software, Inc. Geographic location referencing system and method
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
WO1998021077A1 (fr) 1996-11-13 1998-05-22 Toyota Jidosha Kabushiki Kaisha Dispositif de communication d'informations sur des vehicules et systeme de communication d'informations sur les vehicules
US6011973A (en) 1996-12-05 2000-01-04 Ericsson Inc. Method and apparatus for restricting operation of cellular telephones to well delineated geographical areas
US7054271B2 (en) * 1996-12-06 2006-05-30 Ipco, Llc Wireless network system and method for providing same
US6359656B1 (en) 1996-12-20 2002-03-19 Intel Corporation In-band synchronization of data streams with audio/video streams
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
JPH1174992A (ja) 1997-06-23 1999-03-16 Canon Inc 無線通信装置
JP3857388B2 (ja) 1997-06-27 2006-12-13 富士通株式会社 移動通信端末
US6278991B1 (en) 1997-08-22 2001-08-21 Sap Aktiengesellschaft Browser for hierarchical structures
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
CA2242500C (en) * 1997-09-15 2007-11-13 Monarch Marking Systems, Inc. Early thermal printhead failure prediction system
US5999906A (en) 1997-09-24 1999-12-07 Sony Corporation Sample accurate audio state update
US6044434A (en) 1997-09-24 2000-03-28 Sony Corporation Circular buffer for processing audio samples
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 カシオ計算機株式会社 通信端末装置
DE19748424C2 (de) 1997-11-03 2003-04-17 Daimler Chrysler Ag Verfahren zur fahrverhaltensadaptiven Steuerung eines variabel einstellbaren Kraftfahrzeugaggregates
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
US6092040A (en) 1997-11-21 2000-07-18 Voran; Stephen Audio signal time offset estimation algorithm and measuring normalizing block algorithms for the perceptually-consistent comparison of speech signals
US6128617A (en) 1997-11-24 2000-10-03 Lowry Software, Incorporated Data display software with actions and links integrated with information
AU1702199A (en) 1997-11-25 1999-06-15 Motorola, Inc. Audio content player methods, systems, and articles of manufacture
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6473770B1 (en) 1998-03-16 2002-10-29 Navigation Technologies Corp. Segment aggregation and interleaving of data types in a geographic database and methods for use thereof in a navigation application
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
JPH11284532A (ja) 1998-03-31 1999-10-15 Toshiba Corp 移動無線端末装置
US6430488B1 (en) * 1998-04-10 2002-08-06 International Business Machines Corporation Vehicle customization, restriction, and data logging
EP1074156A4 (en) 1998-04-22 2004-08-25 Netline Comm Technologies Nct METHOD AND SYSTEM FOR SUPPLYING CELLULAR COMMUNICATION SERVICES
US6184823B1 (en) 1998-05-01 2001-02-06 Navigation Technologies Corp. Geographic database architecture for representation of named intersections and complex intersections and methods for formation thereof and use in a navigation application program
US6078826A (en) 1998-05-29 2000-06-20 Ericsson Inc. Mobile telephone power savings method and apparatus responsive to mobile telephone location
US6563769B1 (en) 1998-06-11 2003-05-13 Koninklijke Philips Electronics N.V. Virtual jukebox
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
US6167255A (en) * 1998-07-29 2000-12-26 @Track Communications, Inc. System and method for providing menu data using a communication network
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
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
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
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
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
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
EP1123581A4 (en) 1998-10-21 2005-08-10 American Calcar Inc POSITION CAMERA AND GPS DATA EXCHANGE 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
JP2000165952A (ja) 1998-11-30 2000-06-16 Sanyo Electric Co Ltd 携帯移動電話機及びその使用規制方法
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
US6198996B1 (en) 1999-01-28 2001-03-06 International Business Machines Corporation Method and apparatus for setting automotive performance tuned preferences set differently by a driver
US6360167B1 (en) 1999-01-29 2002-03-19 Magellan Dis, Inc. Vehicle navigation system with location-based multi-media annotation
US6496893B1 (en) 1999-02-26 2002-12-17 Phoenix Technologies Ltd. Apparatus and method for swapping devices while a computer is running
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
DE19910760C2 (de) 1999-03-11 2001-04-05 Mannesmann Vdo Ag Audio-/Navigationssystem mit automatischer Einstellung benutzerabhängiger Systemparameter
GB2348568A (en) * 1999-03-31 2000-10-04 Ibm Enabling conformance to legislative requirements for mobile devices
JP2000308130A (ja) 1999-04-16 2000-11-02 Casio Comput Co Ltd 通信システム
US6850951B1 (en) * 1999-04-16 2005-02-01 Amdocs Software Systems Limited Method and structure for relationally representing database objects
US6401051B1 (en) * 1999-04-20 2002-06-04 Sun Microsystems, Inc. Method and apparatus for locating buried objects
US6470332B1 (en) 1999-05-19 2002-10-22 Sun Microsystems, Inc. System, method and computer program product for searching for, and retrieving, profile attributes based on other target profile attributes and associated profiles
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
US6507810B2 (en) 1999-06-14 2003-01-14 Sun Microsystems, Inc. Integrated sub-network for a vehicle
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
US6725022B1 (en) 1999-09-22 2004-04-20 Motorola, Inc. Method and apparatus for enabling the selection of content on a wireless communication device
US6374177B1 (en) 2000-09-20 2002-04-16 Motorola, Inc. Method and apparatus for providing navigational services in a wireless communication device
US6829475B1 (en) 1999-09-22 2004-12-07 Motorola, Inc. Method and apparatus for saving enhanced information contained in content sent to a wireless communication device
US6799201B1 (en) 2000-09-19 2004-09-28 Motorola, Inc. Remotely configurable multimedia entertainment and information system for vehicles
US6728531B1 (en) * 1999-09-22 2004-04-27 Motorola, Inc. Method and apparatus for remotely configuring a wireless communication device
WO2001025895A1 (en) 1999-10-01 2001-04-12 Infoglide Corporation System and method for transforming a relational database to a hierarchical database
US20020046084A1 (en) 1999-10-08 2002-04-18 Scott A. Steele Remotely configurable multimedia entertainment and information system with location based advertising
JP2001125908A (ja) 1999-10-26 2001-05-11 Sony Corp 入力装置および方法
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
US6744764B1 (en) 1999-12-16 2004-06-01 Mapletree Networks, Inc. System for and method of recovering temporal alignment of digitally encoded audio data transmitted over digital data networks
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
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US6750883B1 (en) 2000-04-05 2004-06-15 Microsoft Corporation Identity-based context aware computing systems and methods
US6327535B1 (en) 2000-04-05 2001-12-04 Microsoft Corporation Location beaconing methods and systems
US7213048B1 (en) * 2000-04-05 2007-05-01 Microsoft Corporation Context aware computing devices and methods
US6654956B1 (en) 2000-04-10 2003-11-25 Sigma Designs, Inc. Method, apparatus and computer program product for synchronizing presentation of digital video data with serving of digital video data
US6519557B1 (en) 2000-06-06 2003-02-11 International Business Machines Corporation Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity
US8037152B2 (en) 2000-06-20 2011-10-11 At&T Intellectual Property Ii, L.P. Active requesting of information for psuedo-live performance
JP4481444B2 (ja) 2000-06-30 2010-06-16 株式会社東芝 画像符号化装置
US6879652B1 (en) 2000-07-14 2005-04-12 Nielsen Media Research, Inc. Method for encoding an input signal
US6633809B1 (en) 2000-08-15 2003-10-14 Hitachi, Ltd. Wireless method and system for providing navigation information
US6513059B1 (en) 2000-08-24 2003-01-28 Cambira Corporation Adaptive collaborative intelligent network system
US6674876B1 (en) 2000-09-14 2004-01-06 Digimarc Corporation Watermarking in the time-frequency domain
US6594666B1 (en) 2000-09-25 2003-07-15 Oracle International Corp. Location aware application development framework
US6748195B1 (en) 2000-09-29 2004-06-08 Motorola, Inc. Wireless device having context-based operational behavior
US6832092B1 (en) 2000-10-11 2004-12-14 Motorola, Inc. Method and apparatus for communication within a vehicle dispatch system
US6385542B1 (en) 2000-10-18 2002-05-07 Magellan Dis, Inc. Multiple configurations for a vehicle navigation system
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
US6885860B2 (en) * 2001-01-19 2005-04-26 Microsoft Corporation Information management and processing in a wireless network
JP2002261668A (ja) * 2001-03-01 2002-09-13 Hitachi Kokusai Electric Inc 通信機
US7072908B2 (en) 2001-03-26 2006-07-04 Microsoft Corporation Methods and systems for synchronizing visualizations with audio streams
US7082365B2 (en) 2001-08-16 2006-07-25 Networks In Motion, Inc. Point of interest spatial rating search method and system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539922A (en) * 1992-01-03 1996-07-23 Motorola, Inc. Multiple tree hierarchical portable communication system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118754A (ja) * 2010-11-30 2012-06-21 Aisin Aw Co Ltd 交通環境情報辞書作成装置、交通環境情報辞書作成方法、及び交通環境情報辞書作成プログラム
US9318019B2 (en) 2010-11-30 2016-04-19 Aisin Aw Co., Ltd. Traffic-related information dictionary creating device, traffic-related information dictionary creating method, and traffic-related information dictionary creating program
JP2015507789A (ja) * 2011-12-14 2015-03-12 マイクロソフト コーポレーション コンテキスト信号に関して返される情報の精度の向上

Also Published As

Publication number Publication date
CN100464545C (zh) 2009-02-25
US7483944B2 (en) 2009-01-27
US20070162474A1 (en) 2007-07-12
AU2001238460A1 (en) 2001-11-07
ATE514266T1 (de) 2011-07-15
CN1419774A (zh) 2003-05-21
EP1269711A2 (en) 2003-01-02
JP4662675B2 (ja) 2011-03-30
WO2001082562A3 (en) 2002-05-30
US7747704B2 (en) 2010-06-29
EP1269711B1 (en) 2011-06-22
US7213048B1 (en) 2007-05-01
US20050080800A1 (en) 2005-04-14
WO2001082562A2 (en) 2001-11-01

Similar Documents

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

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080129

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101224

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: 20110104

R150 Certificate of patent or registration of utility model

Ref document number: 4662675

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140114

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

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