JP2010152890A - コンテキスト・アウェア・プラットホーム内でのセンサの取扱い - Google Patents

コンテキスト・アウェア・プラットホーム内でのセンサの取扱い Download PDF

Info

Publication number
JP2010152890A
JP2010152890A JP2009280506A JP2009280506A JP2010152890A JP 2010152890 A JP2010152890 A JP 2010152890A JP 2009280506 A JP2009280506 A JP 2009280506A JP 2009280506 A JP2009280506 A JP 2009280506A JP 2010152890 A JP2010152890 A JP 2010152890A
Authority
JP
Japan
Prior art keywords
sensors
context
provider
sensor
manager
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
JP2009280506A
Other languages
English (en)
Other versions
JP5179463B2 (ja
Inventor
James Lester Memmott
メモット,ジェイムズ,レスター
Atul N Hatalkar
ハタルカー,アトゥル,エヌ
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2010152890A publication Critical patent/JP2010152890A/ja
Application granted granted Critical
Publication of JP5179463B2 publication Critical patent/JP5179463B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】異種のセンサを取り扱う能力を具備するコンテキスト・アウェア・プラットホームを提供する。
【解決手段】コンテキスト・アウェア・プラットホームのコンテキスト・エンジンは、コンテキスト・プロバイダに結合されたプロバイダ・マネージャを備えており、アプリケーション・プログラミング・インターフェイス(API)を使用して、コンテキスト・プロバイダと通信する。システム資源の使用を最適化するために、プロバイダ・マネージャは、ヒント信号のロード領域の値に基づいて、または予測値に基づいて、コンテキスト・プロバイダをロード/アンロードする。
【選択図】図1

Description

本発明は、コンテキスト・アウェア・プラットホーム内でのセンサの取扱いに関する。
コンテキスト・アウェア・プラットホーム(状況認識プラットホーム)は、プラットホーム自体、そのユーザ、およびその周囲を認識し、また明示的なユーザ入力を受け取らないでも、その挙動に適応し、判断し、またはユーザの代わりに動作することができる。コンテキスト・アウェア・プラットホームは、コンテキスト(状況)情報を生成することができ、またそのコンテキスト情報に基づいて、コンテキスト・アウェア・プラットホームは、明示的なユーザ入力を受け取らないでも適応することができる。コンテキスト情報は、センサによって提供されるデータを使用して生成することができる。センサは、そのセンサが検出した入力に基づいて、データを生成してもよい。
市場で入手可能なセンサの種類および格差はますます増大している。現在のコンテキスト・アウェア・プラットホームには、異種のセンサを取り扱う能力が欠けている。また、センサおよび関連するフロントエンド処理モジュールは、電池の電力、ネットワーク帯域幅、処理サイクルのような資源、および他の類似した資源を大量に消費することがある。現在のコンテキスト・アウェア・プラットホームには、そのような資源を節約するようにセンサを取り扱う能力が欠けている。
本明細書に記載の本発明について例として説明するが、添付の図に限定されるものではない。説明を簡単にかつ分かりやすくするために、図に示す要素は必ずしも原寸に比例して描かれてはいない。たとえば、いくつかの要素の寸法は、見やすいように、他の要素に対して誇張されることがある。さらに、適切と考えられる場合、対応するまたは類似の要素を示すために、複数の図の中で参照表示を繰り返している。
一実施例に従って、異種のセンサによって消費される資源を節約しながら異種のセンサを取り扱うことができるコンテキスト・アウェア・プラットホーム100を図示する。 一実施例に従って、異種のセンサによって消費される資源を節約しながら異種のセンサを取り扱うことができるプラットホーム100のコンテキスト・エンジンを図示する。 一実施例に従って、異種のセンサをコンテキスト・アウェア・プラットホームに結合させる統一された手法を提供するために異種のセンサを活性化/非活性化できるコンテキスト・プロバイダの動作を示すフローチャートである。 一実施例に従って、コンテキスト・プロバイダのロードまたはアンロードを行うことができるプロバイダ・マネージャの動作を示すフローチャートである。 プロバイダ・アプリケーション・プログラミング・インターフェイス(API)の一実施例を示す図である。 一実施例に従って、コンテキスト・エンジンのコンテキスト・プロバイダとプロバイダ・マネージャの間の同期通信モードを示す図である。 一実施例に従って、コンテキスト・エンジンのコンテキスト・プロバイダとプロバイダ・マネージャの間の非同期通信モードを示す図である。 一実施例に従って、センサを取扱いながらコンテキスト・アウェアネスに対応することができるコンピュータ・システム図である。
以下の説明では、コンテキスト・アウェア・プラットホーム内でセンサを取り扱う技術の実施例について述べる。以下の説明では、論理回路の実行、資源の仕切りもしくは共用または複製の実行、システム構成要素の種類および相互関係、ならびに論理回路の仕切りまたは一体化の選択などの多数の具体的な詳細について、本発明のより完全な理解を提供するために述べる。しかし、そのような具体的な詳細がなくても本発明を実施できることが、当業者には理解されるであろう。他の例では、本発明を曖昧にしないために、制御構造、ゲートレベル回路、および完全なソフトウェア命令シーケンスを詳細に示していない。当業者であれば、過度の実験なしに、包含された説明を用いて適切な機能を実施することができるであろう。
本明細書中の「一実施例(one embodiment)」、「実施例(an embodiment)」、「例示的な実施例(an example embodiment)」への言及は、記載された実施例が特定の特徴、構造、または特性を含み得るが、すべての実施例が必ずしもこの特定の特徴、構造、または特性を含むわけではないことを示す。さらに、そのような語句は、必ずしも同じ実施例に言及しているわけではない。さらに、特定の特徴、構造、または特性について一実施例に関連して説明するとき、明示的に記載されているか否かにかかわらず、他の実施例に関連するそのような特徴、構造、または特性にも影響を及ぼすことは当業者の知識の範囲内であることが提起される。
本発明の実施例は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組合せ内で実施することができる。本発明の実施例は、また、機械読取り可能な媒体上に格納された命令として実施することができ、これらの命令は、1つまたは複数のプロセッサによって読取りかつ実行することができる。機械読取り可能な媒体は、機械(たとえば、演算デバイス)によって読取り可能な形で情報を格納または伝送する任意の機構を含むことができる。
たとえば、機械読取り可能な媒体には、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュ・メモリ・デバイス、電気信号、光学信号、音響信号、または他の類似の信号が含み得る。さらに本明細書では、ファームウェア、ソフトウェア、ルーチン、および命令について、特定の動作を実行するものとして説明することがある。しかし、そのような説明は単に便宜上のものであること、そしてそのような動作は実際には、演算デバイス、プロセッサ、制御装置、および他のデバイスがこれらのファームウェア、ソフトウェア、ルーチン、および命令を実行した結果であることを理解されたい。
異種のセンサによって消費される資源を節約しながら異種のセンサを取り扱うことができるコンテキスト・アウェア・プラットホーム100の一実施例を図1に示す。一実施例では、コンテキスト・アウェア・プラットホーム100は、センサ複合体110、コンテキスト・エンジン150、およびクライアント180を備えることができる。
一実施例では、クライアント180は、クライアント180−1〜180−Nなどの1つまたは複数のクライアント・エンティティを含むことができる。一実施例では、クライアント・エンティティ180−1〜180−Nは、ユーザレベル・アプリケーション、オペレーティング・システム、プラットホーム・ユーティリティ、およびツールを含むことができる。一実施例では、クライアント180は、コンテキスト・エンジン150から受け取ったコンテキスト情報を使用して、実行すべき決定および動作に達することができる。一実施例では、クライアント180は、コンテキスト・エンジン150から同期的にまたは非同期的にコンテキスト情報を受け取ることができる。一実施例では、クライアント180は、コンテキスト・エンジン150によって実行されるコンテキスト処理をカスタマイズすることができる。
一実施例では、センサ複合体110は、異種のセンサのアレイを備えることができる。このアレイは、物理センサおよび論理センサを含むことができる。一実施例では、これらのセンサは、そこからコンテキスト情報を生成できるデータを提供することができる。一実施例では、これらのセンサは、コンテキスト・アウェア・プラットホーム100内に埋め込まれたハードウェア構成要素、または有線/無線ネットワークなどの構成要素を使用してコンテキスト・アウェア・プラットホーム100に結合されたハードウェア構成要素とすることができる。一実施例では、センサ複合体110をコンテキスト・エンジン150に結合させることができる。一実施例では、これらのセンサは、バッテリの充電、動作中の無線、位置、湿度、コンテキスト・アウェア・プラットホーム100のユーザの血圧および活動レベル、メモリおよびプロセッサの使用量、ならびに他のパラメータなどの検知に基づいて、データを生成することができる。一実施例では、センサ複合体110のセンサは、コンテキスト・アウェア・プラットホーム100がセンサからのコンテキスト情報を要求しかつ受け取るため、そしてセンサによって消費される資源を節約するための統一された方法を提供するように、動的に活性化および/または非活性化することができる。
一実施例では、コンテキスト・エンジン150は、コンテキスト・アウェア・プラットホーム100からセンサ複合体110のセンサを動的に活性化および非活性化させることができる。一実施例では、コンテキスト・エンジン150は、クライアント180によるセンサの使用を示す標識を含む情報を使用して、ヒント信号を生成することができる。一実施例では、コンテキスト・エンジン150は、また、コンテキスト・エンジン150によるセンサの使用を示す標識を含む情報に基づいて、ヒント信号を生成することができる。一実施例では、コンテキスト・エンジン150は、ヒント信号に基づいて、センサ複合体110の1つまたは複数のセンサを活性化させることができる。一実施例では、コンテキスト・エンジン150は、また、ヒント信号を使用して、コンテキスト・アウェア・プラットホーム100に結合された1つまたは複数のセンサを非活性化させることができる。
一実施例では、ヒント信号に基づくセンサの活性化および/または非活性化は、センサをコンテキスト・アウェア・プラットホーム100に結合させる統一された手法を提供することができる。一実施例では、コンテキスト・エンジン150は、センサが使用されていない可能性のある経過期間を追跡することができ、その経過期間が第1のアイドル閾値を上回った場合、コンテキスト・エンジン150は、そのセンサを非活性化させて、資源を節約することができる。一実施例では、コンテキスト・エンジン150は、また、センサが使用され得る将来時点を予測することができ、その将来時点が第2のアイドル閾値を上回った場合、コンテキスト・エンジン150は、そのセンサを非活性化させて、センサによって消費される資源を節約することができる。
一実施例では、センサ210のうちの1つまたは複数のセンサ・データのために、クライアント180からの要求に直接応答して、ヒント信号を生成することができる。一実施例では、この直接応答は、少なくともクライアント180−1がセンサ210−Aを使用する間はセンサ210−Aを活性化でき、また最後のクライアント180−Kがたとえばセンサ210−Aの使用を完了したときはセンサ210−Aを非活性化できるような基準カウントを含めることができる。
他の実施例では、クライアント180による各センサ210の使用を監視することに加えて、コンテキスト・エンジン150は、さらなる発見的もしくは推論的分析、または履歴傾向分析を使用して、センサ210を活性化または非活性化できる時点を決定することができる。さらに他の実施例では、コンテキスト・エンジン150は、あらゆるクライアント活動から独立して、他の機構を使用して、センサ210の最善の使用を予想し、センサ210をそれぞれ活性化または非活性化させることができる。
センサによって消費される資源の節約を行いながらセンサを活性化および/または非活性化させる統一された手法に対応できるコンテキスト・エンジン150の一実施例を図2に示す。一実施例では、コンテキスト・エンジン150は、クライアント・インターフェイス220、制御論理回路240、1つまたは複数のコンテキスト・プロバイダ250−1〜250−K、およびプロバイダ・マネージャ280を備えることができる。
一実施例では、クライアント・インターフェイス220は、クライアント180をコンテキスト・エンジン150に結合させることができる。一実施例では、クライアント・インターフェイス220は、制御論理回路240からの指示を受け取った後、プロバイダ・マネージャ280からコンテキスト情報を受け取ることができる。一実施例では、クライアント・インターフェイス220は、制御論理回路240によって提供される制御値に基づいて、適切なクライアント180−1〜180−mのうちの1つまたは複数にコンテキスト情報を転送することができる。一実施例では、クライアント・インターフェイス220は、また、クライアント180によって生成される制御データをコンテキスト・エンジン150に転送することができる。一実施例では、この制御データは、規則、センサ使用の指示、およびそのような他の類似のデータを含むことができる。
一実施例では、制御論理回路240は、プロバイダ・マネージャ280からの指示を受け取ることができ、またコンテキスト情報をプロバイダ・マネージャ280からクライアント・インターフェイス220へ転送させることができる。一実施例では、制御論理回路240は、プロバイダ・マネージャ280から受け取った入力に基づいて、制御値を生成することができる。一実施例では、制御論理回路240は、クライアント・インターフェイス220に制御値を提供することができる。
一実施例では、プロバイダ・マネージャ280は、センサ210の好ましい活動レベルまたはセンサ210の予測される活動レベルに基づいて、コンテキスト・プロバイダ250−1〜250−Kをロードおよび/またはアンロードすることができる。一実施例では、プロバイダ・マネージャ280は、ヒント信号のロード領域に特有の論理値、たとえばコンテキスト・プロバイダ250−1をロードするには「1」、またアンロードするには「0」をプログラムすることができる。一実施例では、プロバイダ・マネージャ280は、また、コンテキスト・プロバイダ250に結合されたセンサ210−A,210−Bを活性化または非活性化させるように、ヒント信号の活動レベル領域を第1の論理レベルまたは第2の論理値でプログラムすることができる。一実施例では、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250−1〜250−Kと通信するためのプロバイダ・アプリケーション・プログラム・インターフェイス(API)に対応することができる。一実施例では、プロバイダAPIは、プロバイダ・マネージャ280がコンテキスト・プロバイダ250−1〜250−Kの初期化、登録、ロード、コンテキスト情報の取得、アンロード、アンインストールなどの活動に対応することを可能にすることができる。一実施例では、プロバイダ・マネージャ280は、制御エンジン150が非活性状態であるときでも、コンテキスト・プロバイダ250−1〜250−Kのインストール、登録、およびアンインストールなどの活動に対応することができる。
一実施例では、プロバイダ・マネージャ280は、プロバイダAPIを使用して、コンテキスト・プロバイダ250−1〜250−Kにヒント信号を提供することができる。一実施例では、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250−1〜250−Kを始動させてから、プロバイダAPIを使用して、コンテキスト・プロバイダ250−1〜250−Kからコンテキスト情報を取得することができる。一実施例では、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250−1〜250−Kから同期的にまたは非同期的にコンテキスト情報を取得することができる。一実施例では、プロバイダ・マネージャ280は、制御論理回路240から制御信号を受け取るのに応答して、コンテキスト情報をクライアント・インターフェイス220に提供することができる。一実施例では、プロバイダ・マネージャ280は、制御論理回路240がコンテキスト情報を適切なクライアント180−1〜180−mへ転送することを許可する指示を制御論理回路240に提供することができる。
一実施例では、コンテキスト・プロバイダ250−1がセンサ210−A,210−Bに対応することができ、コンテキスト・プロバイダ250−2がセンサ210−C,210−Dに対応することができ、またコンテキスト・プロバイダ250−Kがセンサ210−Nに対応することができる。一実施例では、コンテキスト・プロバイダ250−1〜250−Kは、センサ210−A〜210−Nをコンテキスト・エンジン150に結合させることができる。一実施例による、コンテキスト・プロバイダ250−1がセンサ210−A,210−Bを活性化および/または非活性化させる動作について、以下に説明する。しかし、他のコンテキスト・プロバイダ250−2〜250−Kも、類似のモードで動作してセンサ210−C〜210−Nを活性化および/または非活性化させることができる。センサ210−A,210−Bをコンテキスト・エンジン150に結合させるために、一実施例では、コンテキスト・プロバイダ250−1は、センサ210−A,210−Bによって使用されるプロトコル、インターフェイス、および信号機構に対応することができる。一実施例では、コンテキスト・プロバイダ250−1は、また、共通データ・アクセスおよび制御プロトコルに対応することができる。このプロトコルは、プロバイダAPI(アプリケーション・プログラム・インターフェイス)の形で提供することができる。
一実施例では、ヒント信号のロード/アンロード領域値が特有の値(たとえば、論理1)に等しい場合、コンテキスト・プロバイダ250−1をロードすることができる。一実施例では、ロードされたコンテキスト・プロバイダ250−1は、コンテキスト・プロバイダ250−1に結合されたセンサ210−A,210−Bに対する活動レベル領域を取り出すことができる。一実施例では、コンテキスト・プロバイダ250−1は、ヒント信号の210−Aに対する活動レベル領域が第1の論理レベル(たとえば、1)を表す場合、センサ210−Aを活性化させることができ、またヒント信号の210−Bに対する活動レベル領域が第2の論理レベル(たとえば、0)を表す場合、センサ210−Bを非活性化させることができる。一実施例では、コンテキスト・プロバイダ250−1は、センサ210−A,210−Bの活動レベル領域に基づいて、センサ210−A,210−Bを活性化させ、もしくはセンサ210−A,210−Bを非活性化させ、またはセンサ210−Aを活性化させかつセンサ210−Bを非活性化させ、もしくはセンサ210−Aを非活性化させかつセンサ210−Bを活性化させることができる。コンテキスト・プロバイダ250−1〜250−Kとプロバイダ・マネージャ280の間の通信に使用されるプロバイダAPIの一実施例について、以下に説明する。
異種のセンサを活性化/非活性化して異種のセンサをコンテキスト・アウェア・プラットホーム100に結合させる統一された手法を提供できるコンテキスト・プロバイダ250−1の動作の一実施例を図3に示す。
ブロック310で、コンテキスト・プロバイダ250−1は、異種のセンサの好ましい活動レベルを示すことができるヒント信号を受け取ることができる。一実施例では、このヒント信号をプロバイダ・マネージャ280から受け取ることができる。一実施例では、ヒント信号は、たとえば、センサ210−Aを活性化でき、またセンサ210−Bを非活性化できることを示すことができる。
ブロック340で、コンテキスト・プロバイダ250−1は、活性化できるセンサ(第1の組)と非活性化できるセンサ(第2の組)を識別することができる。一実施例では、コンテキスト・プロバイダ250−1は、センサ210−A(第1の組)を活性化でき、またセンサ210−B(第2の組)を非活性化できることを識別することができる。
ブロック360で、コンテキスト・プロバイダ250−1は、第1の組(センサ210−A)を活性化させることができる。一実施例では、コンテキスト・プロバイダ250−1は、センサ210−Aに信号を送ってセンサ210−Aを活性化させることができる。
ブロック380で、コンテキスト・プロバイダ250−1は、第2の組のセンサ(センサ210−B)を非活性化させることができる。一実施例では、コンテキスト・プロバイダ250−1は、センサ210−Bに信号を送ってセンサ210−Bを非活性化させることができる。
ブロック390で、コンテキスト・プロバイダ250−1は、プロバイダ・マネージャ280に状況更新信号を送ることができる。
コンテキスト・プロバイダ250−1と通信して、異種のセンサ210によって消費される資源を節約しながら異種のセンサを取り扱う統一された手法を提供できるプロバイダ・マネージャ280の動作の一実施例を図4に示す。
ブロック420で、プロバイダ・マネージャ280は、クライアント180によって提供される入力に基づいて、センサの使用レベルを追跡することができる。一実施例では、センサの使用レベルは、期間Xの範囲内でクライアント180−2がセンサ210−Aを使用できることを示すことができる。また、クライアント180−mによって提供されるセンサの使用レベルは、次の「Y」時間単位の間、センサ210−Bを使用できないことを示すことができる。
ブロック430で、プロバイダ・マネージャ280は、クライアント180によって提供される入力を使用して追跡されるセンサの使用レベルを使用して、センサ210−A,210−Bに対する好ましい活動レベルを決定することができる。一実施例では、プロバイダ・マネージャ280は、センサ210−Aに対する好ましい活動レベルを「活性化」(第1の論理レベル)に等しくし、またセンサ210−Bに対する好ましい活動レベルを「非活性化」(第2の論理レベル)に等しくすることを決定することができる。
ブロック440で、プロバイダ・マネージャ280は、これらの活動レベルに基づいてヒント信号を生成することができる。ブロック450で、プロバイダ・マネージャ280は、プロバイダAPIを使用して、このヒント信号をコンテキスト・プロバイダ250−1に送ることができる。ブロック460で、プロバイダ・マネージャ280は、ヒント信号を送った後、状況更新信号を受け取ることができる。
ブロック470で、プロバイダ・マネージャ280は、コンテキスト・プロバイダに結合されたセンサがすべて非活性化されているかどうかを確認することができる。一実施例では、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250−1に結合されたセンサ210−A,210−Bが非活性化されているかどうかを確認することができ、コンテキスト・プロバイダ250−1に結合されたセンサ(210−A,210−B)が非活性化されていない場合、制御はブロック480へ進み、そうでない場合、制御はブロック490へ進む。
ブロック480で、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250−1に結合された少なくとも1つのセンサ210−Aが活性化状態にあるとき、コンテキスト・プロバイダ250−1のロードされた状態を維持することができる。
ブロック490で、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250−1に結合されたセンサ210−A,210−Bが非活性化されている場合、コンテキスト・プロバイダ250−1をアンロードすることができる。
他の実施例では、プロバイダ・マネージャ280は、クライアント・エンティティ180−1〜180−mによるセンサ210の使用パターンに基づいて、コンテキスト・プロバイダ250を推測によりロードまたはアンロードすることができる。一実施例では、プロバイダ・マネージャ280は、クライアント180によるセンサ210の使用を推測することができ、またそのようなセンサをコンテキスト・アウェア・プラットホーム100に結合できるコンテキスト・プロバイダ250をロードすることができる。他の実施例では、プロバイダ・マネージャ280は、たとえばコンテキスト・プロバイダ250を頻繁にロードおよびアンロードすることを避けるために、コンテキスト・プロバイダ250をロードされた状態に維持し続けることができる。
一実施例では、先の使用パターンは、クライアント・エンティティによって複数のセンサが使用される確率を示す確率値を含むことができ、使用パターンは、クライアント・エンティティによって複数のセンサが使用される頻度を示す頻度値を含むことができる。
プロバイダAPIの一実施例を図5に示す。一実施例では、プロバイダAPIは、登録インターフェイスIProviderRegistration510を含み、IProviderRegistrationインターフェイス510を使用して、コンテキスト・プロバイダ250−1〜250−Kをコンテキスト・アウェア・プラットホーム100に登録することができる。
一実施例では、コンテキスト・プロバイダ250−1〜250−Kがコンテキスト・アウェア・プラットホーム100にインストールされかつ登録された後、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250−1〜250−Kを使用することができる。一実施例では、インストール処理は、ハード・ドライブなどのメモリ上へファイルをコピーするステップと、コンテキスト・プロバイダ250が対応するセンサ210に特有の任意の環境設定を設定するステップとを含むことができる。インストール後、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250をコンテキスト・アウェア・プラットホーム100に登録することができる。
一実施例では、RegisterProvider()を使用して、コンテキスト・プロバイダ250がインストールされて使用する準備ができたことを示すことができる。一実施例では、RemoveProvider()を使用して、コンテキスト・アウェア・プラットホーム100からコンテキスト・プロバイダ250を除去することができる。これは、アンインストール処理中(すなわち、ファイルがシステムから削除される前)に行うことができる。一実施例では、コンテキスト・エンジン150が能動的に動作していないときでも、IProviderRegisterを使用することができる。一実施例では、ProviderRegistationInfoインターフェイスを使用して、登録できるコンテキスト・プロバイダ250について記述することができ、またRegistrationDetailsパラメータとして渡すことができるXMLDocは、コンテキスト・プロバイダ250が対応するすべてのコンテキスト識別子について記述することができる。
一実施例では、プロバイダ・マネージャ280は、IProviderControlインターフェイス520を使用して、IProviderDataインターフェイスへのアクセスを取得することに加えて、初期化処理を完了させることができ、またコンテキスト・プロバイダ250が対応する個々の識別子を「活性化」させることができる。一実施例では、プロバイダ・マネージャ280は、StartProvider()インターフェイスおよびStopProvider()インターフェイスを使用して、初期化を完了させることができる。これは、コンテキスト・プロバイダ250を最初に初期化している間に行うことはできない。一実施例では、プロバイダ・マネージャ280は、IProviderRegistrationインターフェイス510を呼び出してからコンテキスト・プロバイダ250を使用することができ、またIProviderControlインターフェイス520を呼び出してからコンテキスト・プロバイダ250をアンロードすることができる。
一実施例では、プロバイダ・マネージャ280は、ActivateContext()を使用して、コンテキスト・アウェア・プラットホーム100が使用できる識別子をコンテキスト・プロバイダ250に示すことができる。一実施例では、コンテキスト・プロバイダ250は、センサ210によって消費される資源を節約する電力を含めて、プラットホーム資源に電源を投入することができる。一実施例では、コンテキスト・プロバイダ250は、ハードウェア資源の一部に電源を投入し、またソフトウェア資源の一部をロードして、活性化させたハードウェア資源およびソフトウェア資源に対する情報を提供する。一実施例では、コンテキスト・プロバイダ250を非活性化させた後、センサ210の電源を切って、使用されていないハードウェア資源およびソフトウェア資源をアンロードすることができる。一実施例では、プロバイダ・マネージャ280は、コンテキスト・プロバイダ250の単一のインスタンスの寿命中に、コンテキスト・プロバイダ250が個々の識別子を複数回活性化および/または非活性化することを可能にすることができる。一実施例では、GetProviderData()は、コンテキスト・プロバイダ250からコンテキスト情報を取得するために使用できるIProviderDataインターフェイス530への参照を返すことができる。
一実施例では、プロバイダ・マネージャ280は、IProviderDataインターフェイス530を使用して、GetData()メソッドを呼び出すことによってコンテキスト情報を「オン・デマンド」で取得することができる。一実施例では、プロバイダ・マネージャ280は、GetData()メソッドを頻繁に使用することができ、また迅速に動作するようにGetData()を最適化することができる。一実施例では、非同期通知の場合、IProviderDataインターフェイス530を使用して、GetProviderNotifier()を呼び出すことによって、IProviderNotifierインターフェイス540への参照を取得することができる。
一実施例では、プロバイダ・マネージャ280は、IProviderNotifierインターフェイス540を使用して、データ変更の事前通知を登録することができる。この事前通知により、変更に対してコンテキスト・プロバイダ250にポーリングする必要を回避することができる。一実施例では、プロバイダ・マネージャ280は、IProviderDataObserverインターフェイスへのポインタをRegisterObserver()およびRemoveObserver()に渡して事象通知を開始し、また通知を終了できるように、IProviderDataObserverを実施するオブジェクトをインスタンス化することができる。一実施例では、コンテキスト・プロバイダ250は、複数のオブザーバに対応することができる。
一実施例では、登録中にIProviderNotifierが使用される場合、コンテキスト・プロバイダ250は、IProviderDataObserverインターフェイス550を使用して、オブザーバ・オブジェクトにデータ変更を通知することができる。一実施例では、コンテキスト・プロバイダ250は、EventContextUpdateAvailable()を呼び出して、コンテキスト・プロバイダ250によって提供された以前の報告後のaContextNameに関連するデータの変更について、プロバイダ・マネージャ280に知らせることができる。一実施例では、制御論理回路240は、データを待ち行列内に配置して、制御をコンテキスト・プロバイダ250に返すことができる。一実施例では、この待ち行列は、内部のスレッドによって、IProviderData::GetData()を呼び出してaContextNameに関連する最新のデータを取得し、新しいコンテキスト項目をコンテキスト・ストア内に入れることによって補修することができる。
一実施例では、コンテキスト・プロバイダ250は、EventIdentifierOnline()オブジェクトおよびEventIdentifierOffline()オブジェクトを使用して、コンテキスト・プロバイダ250が対応する識別子を一時的に利用できないかどうかをプロバイダ・マネージャ280に通知することができる。一実施例では、この識別子は、様々な理由で利用できなくなる可能性がある。たとえば、センサ210は、シリアル・バス・ケーブルまたはユニバーサル・シリアル・バス・ケーブルを使用してプラットホーム100に接続されることがあり、ユーザが、センサ210をプラットホーム100から切り離す可能性がある。一実施例では、コンテキスト・プロバイダ250は、そのような事象をEventIdentiferOffline()として報告することができる。一実施例では、コンテキスト・プロバイダ250は、また、EventIdentifierOnline()を使用して、センサ210が再接続された事象を報告することができる。センサ210の切離しおよび結合は、たとえば、無線接続性の損失および確立のために生じることがあり、それによって、EventIdentifierOffline()およびEventIdentifierOnline()が引き起こされる可能性がある。コンテキスト・プロバイダ250内の識別子がオフライン状態であるとき、プロバイダ・マネージャ280は、GetData()メソッドを呼び出してコンテキスト情報を取得することができない。
コンテキスト・プロバイダ250−1とプロバイダ・マネージャ280の間の通信を可能にする同期機構の一実施例を図6に示す。一実施例では、LoadProvider()601およびUnloadProvider()699は、コンテキスト・アウェア・プラットホーム100が対応するオペレーティング・システムによって実施することができる。一実施例では、プロバイダ・マネージャ280は、LoadPovider()601を呼び出して、特有のコンテキスト・プロバイダ250をロードすることができ、またUnloadProvider()699を呼び出して、以前にロードしたコンテキスト・プロバイダ250をアンロードすることができる。一実施例では、プロバイダ・マネージャ280によって決定される通り、コンテキスト・プロバイダ250をロードおよびアンロード、ならびに再ロードすることができる。一実施例では、LoadProvider()601およびUnloadProvider()699というメソッドがプロバイダAPIの一部分ではないことを示すために、LoadProvider()601およびUnloadProvider()699を、250を表す線の外側に示す。
一実施例では、プロバイダ・マネージャ280は、StartProvider()メソッド610を呼び出して、コンテキスト・プロバイダ250−1に初期化を実行させることができる。これは、最初の初期化段階中に実行することはできない。一実施例では、プロバイダ・マネージャ280は、ActivateContext(string)メソッド620を実行することができる。メソッド620は、コンテキスト・プロバイダ250−1に対して、コンテキスト・アウェア・プラットホーム100が使用できる識別子を示すことができる。一実施例では、プロバイダ・マネージャ280は、GetData(String,Location,DateTime)を複数回呼び出して、コンテキスト・プロバイダ250−1からコンテキスト情報を取得することができる。一実施例では、GetData()は、(文字列型の)コンテキスト情報、位置の詳細、および日時の詳細とともに戻ることができる。一実施例では、GetData()メソッドへの複数の呼出しを、呼出し630,650,660によって表すことができる。GetData(String,Location,DateTime)メソッド650,660の複数の呼出し間に、プロバイダ・マネージャ280は、DeactivateContext(String)652を呼び出してセンサ210を非活性化させることができ、またActivateContext(String)658を呼び出してセンサ210を活性化させることができる。
一実施例では、次いでプロバイダ・マネージャ280は、DeactivateContext(string)メソッド680を実行して識別子を非活性化させることができ、これらの識別子は、コンテキスト・アウェア・プラットホーム100には使用することができなくなる。一実施例では、次いでプロバイダ・マネージャ280は、StopProvider()690を呼び出してから、コンテキスト・プロバイダ250−1をアンロードすることができる。一実施例では、IProviderControlインターフェイス520は、StartProvider()610、ActivateContext()620、GetData()630,650,660、DeactivateContext()680、ならびにStopProvider()690というメソッドを含むことができる。
コンテキスト・プロバイダ250−1とプロバイダ・マネージャ280の間の通信を可能にする非同期機構の一実施例を図7に示す。一実施例では、LoadProvider()701およびUnloadProvider()799は、コンテキスト・アウェア・プラットホーム100が対応するオペレーティング・システムによって実施することができる。一実施例では、プロバイダ・マネージャ280は、LoadPovider()701−1,701−2を呼び出して、特有のコンテキスト・プロバイダ250をロードすることができ、またUnloadProvider()799−1,799−2を呼び出して、以前にロードしたコンテキスト・プロバイダ250をアンロードすることができる。一実施例では、プロバイダ・マネージャ280によって決定される通り、コンテキスト・プロバイダ250をロードおよびアンロード、ならびに再ロードすることができる。一実施例では、LoadProvider()701−1,701−2ならびにUnloadProvider()799−1,799−2というメソッドがプロバイダAPIの一部分ではないことを示すために、LoadProvider()701−1,701−2ならびにUnloadProvider()799−1,799−2を、250を表す線の外側に示す。
一実施例では、プロバイダ・マネージャ280は、StartProvider()メソッド705を呼び出して、コンテキスト・プロバイダ250−1に初期化を実行させることができる。これは、最初の初期化段階中に実行することはできない。一実施例では、プロバイダ・マネージャ280は、ActivateContext(stringA)メソッド710−1およびActivateContext(stringA)メソッド710−2を実行することができる。これらのメソッドは、コンテキスト・プロバイダ250−1に対して、コンテキスト・アウェア・プラットホーム100が使用できる識別子を示すことができる。一実施例では、プロバイダ・マネージャ280は、非同期データ通知の場合に使用できるGetProviderNotifier(String)720を呼び出すことができる。一実施例では、プロバイダ・マネージャ280は、RegisterObserver(ProviderDataObserver)メソッド725を使用することができ、その結果、メソッド725へのポインタをRegisterObserver()に渡して、事象通知を開始することができる。
一実施例では、コンテキスト・プロバイダ250−1は、EventContextUpdateAvailable(StringA)730−1およびEventContextUpdateAvailable(StringB)730−2を呼び出して、コンテキスト・プロバイダ250−1によって提供された以前の報告後のaContextNameに関連するデータの変更について、プロバイダ・マネージャ280に知らせることができる。一実施例では、コンテキスト・プロバイダ250−1は、EventContextUpdateAvailable(StringA)730−1およびEventContextUpdateAvailable(StringB)730−2を複数回呼び出すことができ、図7では、コンテキスト・プロバイダ250−1がEventContextUpdateAvailable(String)を3回、730−1,730−2ならびに759を呼び出すことを示す。
一実施例では、プロバイダ・マネージャ280は、GetData(StringB,Location,DateTime)750−1および GetData(StringA,Location,DateTime)750−2を複数回呼び出して、コンテキスト・プロバイダ250−1からコンテキスト情報を取得することができる。一実施例では、GetData()は、(文字列型の)コンテキスト情報、位置の詳細、および日時の詳細とともに戻ることができる。一実施例では、GetData()メソッドへの複数の呼出しを、呼出し750−1,750−2,760によって表すことができる。
一実施例では、プロバイダ・マネージャ280は、IProviderDataObserverインターフェイスへのポインタをRemoveObserver()へ渡すようにRemoveObserver(IProviderObserver)752を使用して、通知を終了することができる。一実施例では、次いでプロバイダ・マネージャ280は、DeactivateContext(stringA)メソッド753−1およびDeactivateContext(stringA)メソッド753−2を実行して識別子を非活性化させることができ、これらの識別子は、コンテキスト・アウェア・プラットホーム100には使用することができなくなる。一実施例では、次いでプロバイダ・マネージャ280は、StopProvider()754を呼び出してから、UnloadProvider()799−1を使用してコンテキスト・プロバイダ250−1をアンロードすることができる。一実施例では、ActivateContext(StringA)710−1およびActivateContext(StringB)710−2は、たとえば、それぞれセンサ210−A,210−Bを活性化させることができる。一実施例では、DeactivateContext(StringA)753−1およびDeactivateContext(StringB)753−2は、たとえば、それぞれセンサ210−A,210−Bを非活性化させることができる。
UnloadProvider()799−1とLoadProvider()701−2の間は、プロバイダ・マネージャ280およびコンテキスト・プロバイダ250は、それぞれGetData()およびEventContextUpdateAvailable()730というメソッドを呼び出すことができない。一実施例では、LoadProvider()701−2を実行することによってコンテキスト・プロバイダ250を再ロードできるようになった後、StartProvider()755、ActivateContext(StringA)756−1、ActivateContext(StringB)756−2、GetProviderNotifier(StringA)757、RegisterObserver(IProviderDataObserver)758、EventContextUpdateAvailable(StringA)759、GetData(StringA,Location,DateTime)760、RemoveObserver(IProviderObserver)780、DeactivateContext(StringA)785−1およびDeactivateContext(StringB)785−2、ならびにStopProvider()790などの事象シーケンスを呼び出してから、UnloadProvider()799−2によってコンテキスト・プロバイダ250−1をアンロードすることができる。
図8を参照すると、コンテキスト・アウェア・プラットホーム100に対応するコンピュータ・システム800は、プロセッサ802およびグラフィックス・プロセッサ・ユニット(GPU)805を備えることができる。プロセッサ802は、単一命令複数データ(SIMD)、縮小命令セット(RISC)、およびそのような他の類似の汎用プロセッサを含むことができる。一実施例では、プロセッサ802は、命令シーケンスを処理して、コンテキスト・プロバイダ250、プロバイダ・マネージャ280、およびクライアント180に対するコードを提供しかつ実行することができる。これらのコードは、機械読取り可能な記憶媒体825内に格納することができる。しかし、この命令シーケンスは、また、メモリ820内または任意の他の適切な記憶媒体内に格納することもできる。
コンピュータ・システム800を動作させるプロセッサ802は、論理回路830に結合された1つまたは複数のプロセッサ・コアとすることができる。一実施例では、プロセッサ810は、中央演算処理装置およびメモリ・サブシステムを備えることができる。一実施例では、コンテキスト・プロバイダ250およびプロバイダ・マネージャ280はともに、コンテキスト・プロバイダ250を動的にロードおよび/またはアンロードする統一された手法を提供することができ、この手法は、センサ210、およびセンサ210をコンテキスト・アウェア・プラットホーム100に結合させるロードされた状態のコンテキスト・プロバイダ250によって消費される電力、メモリ空間などの資源を節約しながら、センサ210を活性化および/または非活性化させることができる。
一実施例では、論理回路830は、たとえば、チップセット論理回路とすることができる。論理回路830はメモリ820に結合される。メモリ820は、光学、磁気、または半導体記憶装置を含む任意の種類の記憶装置とすることができる。入出力デバイス860は、コンピュータ・システム800をセンサ210−A〜210−Nなどのデバイスに接続させることができる。
本発明の特定の特徴について、例示的な実施例を参照して説明した。しかし、この説明は、限定的な意味で解釈されるものではない。本発明が関係する当業者には明らかである例示的な実施例の様々な修正、ならびに本発明の他の実施例は、本発明の思想および範囲内に入るものと見なされる。
100 コンテキスト・アウェア・プラットホーム
110 センサ複合体
150 制御エンジン
180 クライアント
210 センサ
220 クライアント・インターフェイス
240 制御論理回路
250 コンテキスト・プロバイダ
280 プロバイダ・マネージャ
800 コンピュータ・システム
802 プロセッサ
820 メモリ
830 論理回路
860 入出力デバイス

Claims (30)

  1. コンテキスト・アウェア・プラットホーム内で複数のセンサを取り扱う方法において、
    プロバイダ・マネージャと複数のコンテキスト・プロバイダとの間の通信を可能にするアプリケーション・プログラミング・インターフェイスを提供する段階と、
    前記複数のセンサの予測される使用レベルに基づいてヒント信号を生成する段階であって、前記ヒント信号は前記複数のセンサの好ましい活動レベルを指定する、段階と、
    前記ヒント信号のロード領域内に第1の値が格納されている場合、前記複数のコンテキスト・プロバイダのうちの1つのコンテキスト・プロバイダをロードする段階と、
    前記ヒント信号の前記ロード領域内に第2の値が格納されている場合、前記コンテキスト・プロバイダをアンロードする段階と、
    を含むことを特徴とする方法。
  2. 前記第1の組のセンサに対する前記好ましい活動レベルが前記ヒント信号内で活性化状態に設定されている場合、前記コンテキスト・プロバイダに結合された第1の組のセンサを活性化させる段階であって、前記複数のセンサは前記第1の組のセンサを含む、段階を含むことを特徴とする請求項1記載の方法。
  3. 前記第2の組のセンサに対する前記好ましい活動レベルが前記ヒント信号内で非活性化状態に設定されている場合、前記コンテキスト・プロバイダに結合された第2の組のセンサを非活性化させる段階であって、前記複数のセンサは前記第2の組のセンサを含む、段階を含むことを特徴とする請求項2記載の方法。
  4. 前記アプリケーション・プログラミング・インターフェイスを使用して、前記第1の組のセンサからコンテキスト情報を取得する段階をさらに含むことを特徴とする請求項2記載の方法。
  5. 前記コンテキスト・プロバイダと前記プロバイダ・マネージャとの間の前記通信は、同期アクセス機構を含むことを特徴とする請求項4記載の方法。
  6. 前記コンテキスト・プロバイダと前記プロバイダ・マネージャの間の前記通信は、非同期アクセス機構を含むことを特徴とする請求項4記載の方法。
  7. 前記第1の組のセンサのうちの1つのセンサに関する前記コンテキスト情報をクライアント・エンティティのうちの第1のクライアントに転送する段階であって、前記センサは前記第1のクライアントに論理的に結合される、段階をさらに含むことを特徴とする請求項4記載の方法。
  8. 前記第1の組のセンサおよび前記第2の組のセンサの前記好ましい活動レベルが前記ヒント信号内で非活性化状態に設定されている場合、前記コンテキスト・プロバイダをアンロードする段階をさらに含むことを特徴とする請求項3記載の方法。
  9. 前記クライアント・エンティティによる前記第1および第2の組のセンサの使用パターンを追跡することによって、前記第1および第2の組のセンサに対する前記予測される使用レベルを決定する段階をさらに含むことを特徴とする請求項1記載の方法。
  10. 前記使用パターンに基づいて、推測により、センサを活性化させてすでに活性化させた状態を保つ段階であって、前記使用パターンは、前記クライアント・エンティティによって前記複数のセンサが使用される確率を示す確率値と前記クライアント・エンティティによって前記複数のセンサが使用される頻度を示す頻度値とをさらに含む、段階からなることを特徴とする請求項9記載の方法。
  11. コンテキスト・アウェア・プラットホーム内でセンサを取り扱うシステムにおいて、
    複数のコンテキスト・プロバイダに結合されたプロバイダ・マネージャを含むコンテキスト・エンジンであって、前記プロバイダ・マネージャは、前記プロバイダ・マネージャと前記複数のコンテキスト・プロバイダとの間の通信を可能にするアプリケーション・プログラミング・インターフェイスを提供する、コンテキスト・エンジンを備え、
    前記プロバイダ・マネージャは、前記センサの予測される使用レベルに基づいて、前記センサの好ましい活動レベルを指定するヒント信号を生成し、
    前記ヒント信号のロード領域内に第1の値が格納されている場合、前記プロバイダ・マネージャは、前記複数のコンテキスト・プロバイダのうちの1つのコンテキスト・プロバイダをロードし、
    前記ヒント信号の前記ロード領域内に第2の値が格納されている場合、前記プロバイダ・マネージャは、前記コンテキスト・プロバイダをアンロードし、
    第1の組および第2の組の前記センサは、前記コンテキスト・プロバイダに結合される、
    ことを特徴とするシステム。
  12. 前記第1の組のセンサに対する前記好ましい活動レベルが前記ヒント信号内で活性化状態に設定されている場合、前記コンテキスト・プロバイダは、前記複数のセンサのうちの前記第1の組のセンサを活性化させ、前記第1の組のセンサは、前記コンテキスト・プロバイダに結合されることを特徴とする請求項11記載のシステム。
  13. 前記第2の組のセンサの前記好ましい活動レベルが前記ヒント信号内で非活性化状態に設定されている場合、前記コンテキスト・プロバイダは、前記複数のセンサのうちの前記第2の組のセンサを非活性化させ、前記第2の組のセンサは、前記コンテキスト・プロバイダに結合されることを特徴とする請求項12記載のシステム。
  14. 前記コンテキスト・プロバイダは、前記第1の組のセンサからコンテキスト情報を獲得し、その後前記コンテキスト情報を前記プロバイダ・マネージャに提供することを特徴とする請求項12記載のシステム。
  15. 前記プロバイダ・マネージャおよび前記コンテキスト・プロバイダは、同期アクセス機構を使用して通信することを特徴とする請求項14記載のシステム。
  16. 前記プロバイダ・マネージャおよび前記コンテキスト・プロバイダは、非同期アクセス機構を使用して通信することを特徴とする請求項14記載のシステム。
  17. 制御論理回路およびクライアント・インターフェイスをさらに備えるシステムであって、前記制御論理回路は、前記プロバイダ・マネージャおよび前記クライアント・インターフェイスに結合され、前記クライアント論理回路は、前記プロバイダ・マネージャから受け取った前記コンテキスト情報および前記制御論理回路から受け取った制御信号に基づいて、前記第1の組のセンサのうちの1つのセンサに関する前記コンテキスト情報をクライアント・エンティティのうちの第1のクライアントに転送し、前記センサは、前記第1のクライアントに論理的に結合されることを特徴とする請求項14記載のシステム。
  18. 前記第1の組のセンサおよび前記第2の組のセンサの前記好ましい活動レベルが非活性化状態に設定されている場合、前記プロバイダ・マネージャは、第1のコンテキスト・プロバイダをアンロードすることを特徴とする請求項13記載のシステム。
  19. 前記プロバイダ・マネージャは、前記クライアント・エンティティの使用パターンを追跡することによって、前記センサの前記予測される使用レベルを決定することを特徴とする請求項11記載のシステム。
  20. 前記プロバイダ・マネージャは、前記使用パターンに基づいて、推測により、センサを活性化させてすでに活性化させた状態を保ち、前記使用パターンは、前記クライアント・エンティティによって前記複数のセンサが使用される確率を示す確率値と前記クライアント・エンティティによって前記複数のセンサが使用される頻度を示す頻度値とを含む、段階からなることを特徴とする請求項19記載のシステム。
  21. コンテキスト・アウェア・プラットホーム内で複数のセンサを取り扱う複数の命令を含む機械読取り可能な記憶媒体であって、プロセッサ内で実行された結果に応答して、
    プロバイダ・マネージャと複数のコンテキスト・プロバイダとの間の通信を可能にするアプリケーション・プログラミング・インターフェイスを提供する段階と、
    前記複数のセンサの予測される使用レベルに基づいて、前記複数のセンサの好ましい活動レベルを指定するヒント信号を生成する段階と、
    前記ヒント信号のロード領域内に第1の値が格納されている場合、前記複数のコンテキスト・プロバイダのうちの1つのコンテキスト・プロバイダをロードする段階と、
    前記ヒント信号の前記ロード領域内に第2の値が格納されている場合、前記コンテキスト・プロバイダをアンロードする段階と、
    を実行する命令を含むことを特徴とする機械読取り可能な記憶媒体。
  22. 前記ヒント信号内で第1の組のセンサに対する前記好ましい活動レベルが活性化状態に設定されている場合、前記コンテキスト・プロバイダに結合された第1の組のセンサを活性化させる段階を含む機械読取り可能な記憶媒体であって、前記複数のセンサは、前記第1の組のセンサを含むことを特徴とする請求項21記載の機械読取り可能な記憶媒体。
  23. 前記ヒント信号内で第2の組のセンサに対する前記好ましい活動レベルが非活性化状態に設定されている場合、前記コンテキスト・プロバイダに結合された第2の組のセンサを非活性化させる段階を含む機械読取り可能な記憶媒体であって、前記複数のセンサは、前記第2の組のセンサを含むことを特徴とする請求項22記載の機械読取り可能な記憶媒体。
  24. 前記アプリケーション・プログラミング・インターフェイスを使用して、前記第1の組のセンサからコンテキスト情報を取得する段階をさらに含むことを特徴とする請求項22記載の機械読取り可能な記憶媒体。
  25. 前記コンテキスト・プロバイダと前記プロバイダ・マネージャの間の前記通信は、同期アクセス機構を含むことを特徴とする請求項24記載の機械読取り可能な記憶媒体。
  26. 前記コンテキスト・プロバイダと前記プロバイダ・マネージャとの間の前記通信は、非同期アクセス機構を含むことを特徴とする請求項24記載の機械読取り可能な記憶媒体。
  27. 前記第1の組のセンサのうちの1つのセンサに関する前記コンテキスト情報をクライアント・エンティティのうちの第1のクライアントに転送する段階をさらに含む機械読取り可能な記憶媒体であって、前記センサは、前記第1のクライアントに論理的に結合されることを特徴とする請求項24記載の機械読取り可能な記憶媒体。
  28. 前記第1の組のセンサおよび前記第2の組のセンサの前記好ましい活動レベルが前記ヒント信号内で非活性化状態に設定されている場合、前記コンテキスト・プロバイダをアンロードする段階をさらに含むことを特徴とする請求項23記載の機械読取り可能な記憶媒体。
  29. 前記クライアント・エンティティによる前記第1および第2の組のセンサの使用パターンを追跡することによって、前記第1および第2の組のセンサに対する前記予測される使用レベルを決定する段階をさらに含むことを特徴とする請求項21記載の機械読取り可能な記憶媒体。
  30. 前記使用パターンに基づいて、推測により、センサを活性化させてすでに活性化させた状態を保つ段階をさらに含む機械読取り可能な記憶媒体であって、前記使用パターンは、前記クライアント・エンティティによって前記複数のセンサが使用される確率を示す確率値と前記クライアント・エンティティによって前記複数のセンサが使用される頻度を示す頻度値とを含む、段階からなることを特徴とする請求項29記載の機械読取り可能な記憶媒体。
JP2009280506A 2008-12-19 2009-12-10 コンテキスト・アウェア・プラットホーム内でのセンサの取扱い Expired - Fee Related JP5179463B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/340,516 US8402174B2 (en) 2008-12-19 2008-12-19 Handling sensors in a context-aware platform with hint signals
US12/340,516 2008-12-19

Publications (2)

Publication Number Publication Date
JP2010152890A true JP2010152890A (ja) 2010-07-08
JP5179463B2 JP5179463B2 (ja) 2013-04-10

Family

ID=41785790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009280506A Expired - Fee Related JP5179463B2 (ja) 2008-12-19 2009-12-10 コンテキスト・アウェア・プラットホーム内でのセンサの取扱い

Country Status (4)

Country Link
US (1) US8402174B2 (ja)
EP (1) EP2214381B1 (ja)
JP (1) JP5179463B2 (ja)
CN (1) CN101754437B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096114A1 (en) * 2009-04-09 2012-04-19 Research In Motion Limited Method and system for the transport of asynchronous aspects using a context aware mechanism
US20130103348A1 (en) * 2010-06-30 2013-04-25 Nokia Corporation Methods and apparatuses for controlling invocation of a sensor
US8813083B2 (en) * 2011-07-01 2014-08-19 Intel Corporation Method and system for safe enqueuing of events
US9032413B2 (en) * 2011-09-01 2015-05-12 Microsoft Technology Licensing, Llc Decoupling background work and foreground work
CN103246526B (zh) * 2012-02-07 2016-05-04 腾讯科技(深圳)有限公司 客户端预加载方法及客户端预加载装置
CN102665291B (zh) * 2012-03-13 2015-02-25 中国人民解放军总后勤部军事交通运输研究所 物理传感器实现多逻辑传感器的方法
US9191442B2 (en) * 2012-04-03 2015-11-17 Accenture Global Services Limited Adaptive sensor data selection and sampling based on current and future context
CN102662325B (zh) * 2012-05-04 2014-10-15 重庆邮电大学 一种改进自适应学习树电源管理方法
KR102033009B1 (ko) * 2013-09-13 2019-10-16 한국전자통신연구원 가상 물리 시스템 및 그의 가상 머신 모니터링 방법
US9179251B2 (en) 2013-09-13 2015-11-03 Google Inc. Systems and techniques for colocation and context determination
US20150127300A1 (en) * 2013-11-03 2015-05-07 Microsoft Corporation Sensor Selection Based on Context and Policy
US10195807B2 (en) * 2014-02-10 2019-02-05 Big Belly Solar, Inc. Dynamically adjustable sensors for trash compactors and receptacles
US10659479B2 (en) * 2015-03-27 2020-05-19 Mcafee, Llc Determination of sensor usage
WO2018017133A1 (en) * 2016-07-22 2018-01-25 Intel Corporation Autonomously adaptive performance monitoring
WO2020133205A1 (zh) * 2018-12-28 2020-07-02 驭势科技(北京)有限公司 一种分配数据处理资源的方法及装置
US11102304B1 (en) 2020-05-22 2021-08-24 Vignet Incorporated Delivering information and value to participants in digital clinical trials

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260914A (ja) * 2003-12-11 2005-09-22 Sony Internatl Europ Gmbh 動的な情報ソース管理
JP2006209774A (ja) * 2005-01-26 2006-08-10 Microsoft Corp コンテキストアウェアネスプラットフォームのためのシステムおよび方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100587563B1 (ko) * 2004-07-26 2006-06-08 삼성전자주식회사 상황인지 서비스를 제공하는 장치 및 방법
KR100621091B1 (ko) * 2004-09-24 2006-09-19 삼성전자주식회사 의존성 관리 장치 및 방법
KR100682995B1 (ko) * 2004-12-16 2007-02-15 한국전자통신연구원 유비쿼터스 기반의 상황 정보 제공 서비스 시스템 및 그방법
KR100715681B1 (ko) 2005-12-06 2007-05-09 한국전자통신연구원 센서 네트워크 기반 유비쿼터스 상황인지 에이전트 장치 및그 상황인지 방법
KR100772928B1 (ko) * 2006-09-27 2007-11-02 한국전자통신연구원 상황-인식 서비스 제공 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260914A (ja) * 2003-12-11 2005-09-22 Sony Internatl Europ Gmbh 動的な情報ソース管理
JP2006209774A (ja) * 2005-01-26 2006-08-10 Microsoft Corp コンテキストアウェアネスプラットフォームのためのシステムおよび方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012025380; Kazuya Murao et al.: 'CLAD: a Sensor Management Device for Wearable Computing' 27th International Conference on Distributed Computing Systems Workshops, 2007. ICDCSW '07 *

Also Published As

Publication number Publication date
EP2214381A1 (en) 2010-08-04
US8402174B2 (en) 2013-03-19
US20100161953A1 (en) 2010-06-24
CN101754437B (zh) 2016-03-23
EP2214381B1 (en) 2015-11-11
JP5179463B2 (ja) 2013-04-10
CN101754437A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
JP5179463B2 (ja) コンテキスト・アウェア・プラットホーム内でのセンサの取扱い
US9104412B2 (en) Mobile device offloading its task to a peer device when available power is below a threshold level
JP5647645B2 (ja) サスペンドの延期
CN108702421B (zh) 用于控制应用和组件的电子设备和方法
JP6327539B2 (ja) インテリジェント端末のハードウェアが異常動作しているかどうかをチェックするための方法およびインテリジェント端末
JP2013543627A (ja) オペレーティングシステム(os)不在サービス環境においてファームウェアをプロビジョニングする方法
WO2014055607A1 (en) Mobile application migration to cloud computing platform
CN105677431A (zh) 将后台工作和前台工作解耦合
CN102193820A (zh) 用于向应用提供异构连接对象的连接处理器和方法
JP2013114499A (ja) 電子機器及び更新制御方法
WO1999061974A1 (en) Software emulation of power management inactivity monitoring
WO2021022926A1 (zh) 基于网络的应用功耗调控方法、终端及存储介质
US20140068354A1 (en) Apparatus and method for determining a state of a mobile terminal
JP2010009570A (ja) マルチパス・データ通信においてエネルギーを節約するためのコンピュータ実行される方法、コンピュータ使用可能なプログラム製品、およびデータ処理システム
US20180232183A1 (en) Techniques of emulating an acpi controller on a service processor
WO2024009656A1 (ja) 車両制御装置
EP2126691A1 (en) Computer system and method of operation thereof
CN114115937A (zh) 控制耗材芯片远程升级的方法、耗材芯片和存储介质
CN117194061A (zh) 事件处理方法、处理器、设备及片上系统
TW202333046A (zh) 用於系統更新之動態資源判定技術
CN114546269A (zh) 存储挂载方法、装置及电子设备
CN117519762A (zh) 一种热更新方法和相关装置
CN115129536A (zh) 动态监测
CN118158267A (zh) 访问请求的处理方法及装置
KR20220061995A (ko) 마이크로 서비스 아키텍처의 최적화를 제공

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120521

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120821

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120824

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120921

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120926

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130109

R150 Certificate of patent or registration of utility model

Ref document number: 5179463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees