JP2015507774A - Sensor API framework for cloud-based applications - Google Patents

Sensor API framework for cloud-based applications Download PDF

Info

Publication number
JP2015507774A
JP2015507774A JP2014541084A JP2014541084A JP2015507774A JP 2015507774 A JP2015507774 A JP 2015507774A JP 2014541084 A JP2014541084 A JP 2014541084A JP 2014541084 A JP2014541084 A JP 2014541084A JP 2015507774 A JP2015507774 A JP 2015507774A
Authority
JP
Japan
Prior art keywords
sensor
request
sensor data
mobile device
data
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
JP2014541084A
Other languages
Japanese (ja)
Other versions
JP6165156B2 (en
JP2015507774A5 (en
Inventor
ピユシュ・シャルマ
アシュウィン・スワミナサン
クリストファー・ブラナー
ムラリ・アール・チャリ
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2015507774A publication Critical patent/JP2015507774A/en
Publication of JP2015507774A5 publication Critical patent/JP2015507774A5/ja
Application granted granted Critical
Publication of JP6165156B2 publication Critical patent/JP6165156B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • H04W52/0293Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment having a sub-controller with a low clock frequency switching on and off a main controller with a high clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

API(アプリケーションプログラミングインターフェース)をインターネット上またはクラウド内のウェブベースのサーバアプリケーションに当てるフレームワークのための装置および方法を提示する。このAPIはサーバアプリケーションに対して、モバイルデバイス上の低電力センサコアプロセッサを介したモバイルデバイスからのセンサデータの取り出しを可能とする。このAPIによって、新たなモバイルデバイスクライアントアプリケーションの開発および促進に関連する労力およびコストが排除される。このAPIフレームワークは、モバイルデバイス上の1つまたは複数の特定のセンサからセンサデータをフェッチするためにウェブベースのアプリケーションが使用し得るAPIを含む。An apparatus and method for a framework that applies an API (Application Programming Interface) to a web-based server application on the Internet or in the cloud is presented. This API allows server applications to retrieve sensor data from a mobile device via a low power sensor core processor on the mobile device. This API eliminates the effort and costs associated with developing and facilitating new mobile device client applications. This API framework includes APIs that web-based applications can use to fetch sensor data from one or more specific sensors on a mobile device.

Description

関連出願の相互参照
本出願は、本願譲受人に譲渡されかつ参照によりその全体を本明細書に組み込むものとする2011年11月9日に提出された「Sensor API Framework for Cloud Based Applications」と題する米国特許出願第13/292,578号の利益ならびにこれに対する優先権を主張するものである。
Cross-reference of related applications This application is entitled “Sensor API Framework for Cloud Based Applications” filed on November 9, 2011, assigned to the assignee of the present application and incorporated herein by reference in its entirety. We claim the benefit of US Patent Application No. 13 / 292,578 and the priority to it.

本開示は全般的にはワイヤレス通信のための装置および方法に関し、またより詳細にはモバイルデバイスからのセンサデータを複数のウェブベースのアプリケーションに提供することに関する。   The present disclosure relates generally to apparatus and methods for wireless communication, and more particularly to providing sensor data from a mobile device to a plurality of web-based applications.

現在モバイルデバイスからのセンサデータを要求するサーバアプリケーションと時々呼ばれるウェブベースのアプリケーションは、モバイルデバイス上で実行する対応するクライアントアプリケーションを有する。これらのクライアントアプリケーションのうちの幾つかはモバイルデバイス上で連続式に動作する。センサデータを革新的な方式で活用するために広範なセンサがモバイルデバイス内に組み込まれかつ一般社会で関心が高まっていることから、モバイルデバイス上のそのようなクライアントアプリケーションはますます人気が高まりかつ使用が増大しつつある。これらの複数のクライアントアプリケーションは、異なるソースに由来するものであり、異なるサーバと通信しており、またその各々がモバイルデバイスから大量の電力および処理サイクルを消費することがある。これらの複数のクライアントアプリケーションが共通のベンダーからのものでない限り、これらは全体として互いに協調することがなくかつランダムにおよび冗長的にセンサを照会する。協調した一回の応答で十分な場合であっても、要求の重複によってセンサが割り込みを受けることがある。加えて、モバイルセンサデータに関心のあるウェブ開発者や研究者は各サーバアプリケーションごとにまた各モバイルデバイスプラットフォームごとに単独のクライアントアプリケーションを書かなければならず、これにより開発コストが上昇しまた開発時間が長くなる。ユーザの立場から見ると、センサデータを要求する異なるサーバの各々について複数のクライアントアプリケーションをインストールすることおよびバッテリをより頻繁に再充電することがユーザにとって必要となる。   A web-based application, sometimes referred to as a server application that currently requests sensor data from a mobile device, has a corresponding client application running on the mobile device. Some of these client applications run continuously on the mobile device. Such client applications on mobile devices are becoming increasingly popular as a wide range of sensors are embedded in mobile devices and are of increasing public interest to leverage sensor data in innovative ways. Usage is increasing. These multiple client applications are from different sources and are communicating with different servers, each of which can consume a large amount of power and processing cycles from the mobile device. Unless these multiple client applications are from a common vendor, they do not cooperate with each other as a whole and query the sensors randomly and redundantly. Even if a single coordinated response is sufficient, the sensor may be interrupted by duplicate requests. In addition, web developers and researchers interested in mobile sensor data must write a single client application for each server application and for each mobile device platform, which increases development costs and development time. Becomes longer. From the user's point of view, it is necessary for the user to install multiple client applications for each of the different servers that require sensor data and to recharge the battery more frequently.

したがって、モバイルデバイス上で動作しているクライアントアプリケーションの数を低減させ、センサ要求を協調させ、モバイルデバイスプラットフォーム上でのコード開発を最小限にまたは排除し、かつ/またはサーバアプリケーションにセンサデータを提供する際の電力消費を低減させるプラットフォームが存在すべきである。   Thus, reducing the number of client applications running on mobile devices, coordinating sensor requests, minimizing or eliminating code development on mobile device platforms, and / or providing sensor data to server applications There should be a platform that reduces power consumption.

低デューティサイクルのプロセッサを介して1つまたは複数のセンサからのセンサデータを複数のサーバアプリケーションに結合する共通API(アプリケーションプログラミングインターフェース)を提供し、これにより電力消費の大きいアプリケーションプロセッサの負荷軽減をするためのモバイルデバイスおよびモバイルデバイス上での動作方法を開示する。   Provides a common API (application programming interface) that couples sensor data from one or more sensors to multiple server applications via a low duty cycle processor, thereby reducing the load on high power consumption application processors Disclosed are mobile devices and methods of operation on mobile devices.

幾つかの態様に従って、共通API(アプリケーションプログラミングインターフェース)を提供するためのモバイルデバイスであって、ワイヤレスアンテナに結合されたモデムと、モデムに結合されている、ある持続時間にわたって第1の電力レベルを消費するクライアントアプリケーションプロセッサと、センサコアクライアントおよびこのセンサコアクライアントに結合されたセンサドライバを備え、当該持続時間にわたって第2の電力レベルを消費し、かつ第2のレベルが第1の電力レベルより低い、モデムに結合されかつ共通APIを備えるセンサコアプロセッサと、センサコアプロセッサのセンサドライバと通信するように結合されたセンサとを備えるモバイルデバイスを開示する。   In accordance with some aspects, a mobile device for providing a common API (Application Programming Interface), a modem coupled to a wireless antenna, and a first power level coupled to the modem for a certain duration. A consuming client application processor, comprising a sensor core client and a sensor driver coupled to the sensor core client, consuming a second power level for the duration, and the second level being lower than the first power level A mobile device comprising a sensor core processor coupled to a modem and comprising a common API and a sensor coupled to communicate with a sensor driver of the sensor core processor is disclosed.

幾つかの態様に従って、モバイルデバイスにおいて共通API(アプリケーションプログラミングインターフェース)を提供するための方法であって、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るステップと、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るステップと、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするステップと、センサコアプロセッサにおいて、センサからセンサデータを受け取るステップと、第1の要求にセンサデータを含む第1の応答で返信するステップと、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するステップと、を含む方法を開示する。   According to some aspects, a method for providing a common API (Application Programming Interface) on a mobile device, wherein a first request for sensor data is received from a first web-based server application using a common API. Receiving a second request for sensor data using a common API from a second web-based server application unrelated to the first web-based server application; and a second for sensor data on the sensor core processor; Processing a request and a second request and bypassing the client application processor; receiving at a sensor core processor sensor data from a sensor; and a first response including sensor data in the first request It discloses a step of trust, a step of returning a different second response to the first request including the sensor data to the second request for sensor data, the method comprising.

幾つかの態様に従って、共通API(アプリケーションプログラミングインターフェース)170を提供するためのモバイルデバイスであって、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るための手段と、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るための手段と、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするための手段と、センサコアプロセッサにおいて、センサからセンサデータを受け取るための手段と、第1の要求にセンサデータを含む第1の応答で返信するための手段と、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するための手段とを備えるモバイルデバイスを開示する。   In accordance with some aspects, a mobile device for providing a common API (Application Programming Interface) 170 for receiving a first request for sensor data using a common API from a first web-based server application Means for receiving a second request for sensor data using a common API from a second web-based server application unrelated to the first web-based server application, and a sensor on the sensor core processor Means for processing the first and second requests for data and bypassing the client application processor; means for receiving sensor data from the sensor in the sensor core processor; and sensor data in the first request Return with first response containing And means for, the first request including the sensor data to the second request for sensor data discloses a mobile device and means for replying with a different second response.

幾つかの態様に従って、プロセッサおよびメモリを備えたデバイスであって、このメモリは、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るためのソフトウェア命令と、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るためのソフトウェア命令と、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのソフトウェア命令と、センサコアプロセッサにおいて、センサからセンサデータを受け取るためのソフトウェア命令と、第1の要求にセンサデータを含む第1の応答で返信するためのソフトウェア命令と、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するためのソフトウェア命令と、を含むデバイスを開示する。   According to some aspects, a device comprising a processor and a memory, the memory comprising software instructions for receiving a first request for sensor data using a common API from a first web-based server application. Software instructions for receiving a second request for sensor data using a common API from a second web-based server application unrelated to the first web-based server application, and for sensor data on the sensor core processor Software instructions for processing the first and second requests and bypassing the client application processor, software instructions for receiving sensor data from the sensor in the sensor core processor, and sensor data in the first request Include Disclosed is a device that includes software instructions for replying with a response of 1 and software instructions for replying with a second response that is separate from the first request that includes sensor data in a second request for sensor data To do.

幾つかの態様に従って、その上にプログラムコードを保存して含む非過渡的コンピュータ読み取り可能記憶媒体であって、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るためのプログラムコードと、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るためのプログラムコードと、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのプログラムコードと、センサコアプロセッサにおいて、センサからセンサデータを受け取るためのプログラムコードと、第1の要求に対してセンサデータを含む第1の応答で返信するためのプログラムコードと、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するためのプログラムコードとを備える非過渡的コンピュータ読み取り可能記憶媒体を開示する。   In accordance with some aspects, a non-transient computer readable storage medium having program code stored thereon, the first request for sensor data using a common API from a first web-based server application A program code for receiving a second request for sensor data using a common API from a second web-based server application unrelated to the first web-based server application, and a sensor Program code for processing the first and second requests for sensor data on the core processor and bypassing the client application processor; program code for receiving sensor data from the sensor in the sensor core processor; 1 Program code for replying to the request with the first response including the sensor data, and replying with the second response different from the first request including the sensor data to the second request for the sensor data A non-transient computer readable storage medium comprising program code is disclosed.

他の態様については、様々な態様を例示として示し説明している次の詳細な説明から当業者には容易に明らかとなろう。この図面および詳細な説明はその性質上例示と見なすべきであり、限定と見なすべきではない。   Other aspects will be readily apparent to those skilled in the art from the following detailed description, wherein the various aspects are shown and described by way of illustration. The drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.

本発明の実施形態について図面を参照しながら単に例として説明することにする。   Embodiments of the present invention will be described by way of example only with reference to the drawings.

クラウド内で動作するサーバアプリケーションおよびモバイルデバイスのクライアントアプリケーションプロセッサ上で動作する専用のクライアントアプリケーションを含む知られたシステムの構成要素を示す図である。FIG. 1 illustrates components of a known system that includes a server application running in the cloud and a dedicated client application running on the client application processor of the mobile device. クライアントアプリケーションプロセッサを介してセンサデータを提供するモバイルデバイスの構成要素を示す図である。FIG. 2 illustrates components of a mobile device that provides sensor data via a client application processor. 本発明の幾つかの実施形態に従ってセンサコアプロセッサを使用しかつクライアントアプリケーションプロセッサをバイパスしてセンサデータを提供するモバイルデバイスの構成要素を示す図である。FIG. 3 illustrates components of a mobile device that uses a sensor core processor and bypasses a client application processor to provide sensor data in accordance with some embodiments of the present invention. 本発明の幾つかの実施形態に従ってAPIフレームワークを示す図である。FIG. 4 illustrates an API framework according to some embodiments of the present invention. クラウド内で動作するサーバアプリケーションおよびモバイルデバイスのセンサコアプロセッサ上で動作する専用のセンサコアクライアントを含むシステムの構成要素を示す図である。FIG. 2 illustrates components of a system including a server application operating in the cloud and a dedicated sensor core client operating on the sensor core processor of the mobile device. 本発明の幾つかの実施形態に従って様々なAPIメッセージを例示する図である。FIG. 4 illustrates various API messages according to some embodiments of the present invention. 本発明の幾つかの実施形態に従って流れ図を示す図である。FIG. 4 shows a flow diagram according to some embodiments of the invention.

添付の図面と連携して以下に提示した詳細な説明は、本開示に関する様々な態様の説明を意図するものであり、本開示をそれにより実施し得る唯一の態様を表すことを意図するものではない。本開示で説明した各態様は、単に一例としてまたは本開示の例示として提供するものであり、必ずしも他の態様と比べて好ましいまたは有利であると解釈すべきではない。この詳細な説明は本開示に関する徹底した理解を提供することを目的とした指定の詳細項目を含む。しかしながら、本開示がこれらの指定の詳細項目を伴わずに実施され得ることは当業者には明らかであろう。幾つかの事例において、本開示の概念が不明瞭にならないために、よく知られた構造やデバイスはブロック図形態で示している。単に便宜上および明確化のために頭字語や他の記述用語を用いることがあるが、これらは本開示の範囲の限定を意図するものではない。   The detailed description presented below in connection with the appended drawings is intended as a description of various aspects related to the present disclosure and is not intended to represent the only aspects by which the present disclosure may be practiced. Absent. Each aspect described in this disclosure is provided merely as an example or as an example of this disclosure, and should not necessarily be construed as preferred or advantageous over other aspects. This detailed description includes specific details for the purpose of providing a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the present disclosure. Acronyms and other descriptive terms may be used merely for convenience and clarity, but these are not intended to limit the scope of the present disclosure.

本明細書で説明したモバイルデバイスは、ワイヤレスワイドエリアネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)などの様々なワイヤレス通信ネットワークと連携して実現し得る。「ネットワーク」および「システム」という用語は多くの場合に互換的に使用される。WWANは、コード分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、シングルキャリア周波数分割多元接続(SC-FDMA)ネットワーク、ロングタームエボリューション(LTE)などであり得る。CDMAネットワークは、cdma2000、ワイドバンドCDMA(W-CDMA)、などの1つまたは複数の無線アクセス技術(RAT)を実現し得る。cdma2000は、IS-95、IS-2000およびIS-856標準を含む。TDMAネットワークは、グローバルシステムフォーモバイル通信(GSM(登録商標))、ディジタルアドバンストモバイルフォンシステム(D-AMPS)、または幾つかの他のRATを実現し得る。GSMおよびW-CDMAは、「3rd Generation Partnership Project」(3GPP)という名称のコンソーシアムにより文書で記述されている。cdma2000は、「3rd Generation Partnership Project 2」(3GPP2)という名称のコンソーシアムによる文書で記述されている。3GPPおよび3GPP2の文書は公的に入手可能である。WLANは、IEEE802.11xネットワークであり得、またWPANはBluetooth(登録商標)ネットワーク、IEEE802.15x、または幾つかの他の種別のネットワークであり得る。これらの技法はまた、WWAN、WLANおよび/またはWPANの何らかの組合せと連携して実現させることもある。   The mobile devices described herein may be implemented in conjunction with various wireless communication networks such as a wireless wide area network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The terms “network” and “system” are often used interchangeably. WWAN includes code division multiple access (CDMA) networks, time division multiple access (TDMA) networks, frequency division multiple access (FDMA) networks, orthogonal frequency division multiple access (OFDMA) networks, single carrier frequency division multiple access (SC-FDMA). ) Network, Long Term Evolution (LTE), etc. A CDMA network may implement one or more radio access technologies (RAT) such as cdma2000, wideband CDMA (W-CDMA), and so on. cdma2000 includes IS-95, IS-2000 and IS-856 standards. A TDMA network may implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSM and W-CDMA are documented by a consortium named “3rd Generation Partnership Project” (3GPP). cdma2000 is described in a document by a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. The WLAN may be an IEEE 802.11x network, and the WPAN may be a Bluetooth® network, IEEE 802.11x, or some other type of network. These techniques may also be implemented in conjunction with some combination of WWAN, WLAN and / or WPAN.

衛星測位システム(SPS)は典型的には、送信器から受け取った信号に少なくともその一部で基づいてエンティティが地表または地球上空におけるその場所の決定することを可能とするように配置された送信器のシステムを含む。そのような送信器は、典型的には規定数のチップの反復疑似ランダムノイズ(PN)コードでマーク付けした信号を送信しており、またこれを地上の制御ステーション、ユーザ機器および/または宇宙船上に配置させることがある。特定の一例では、そのような送信器を地球を周回する衛星ビークル(SV)上に配置し得る。たとえば全地球測位システム(GPS)、Galileo、GLONASSまたはCompassなどの全地球航法衛星システム(GNSS)の集団内のSVは、(たとえば、GPSのように各衛星に異なるPNコードを使用して、またはGLONASSのように異なる周波数で同じコードを使用して)集団内の他のSVが送信したPNコードと識別可能なPNコードでマーク付けした信号を送信し得る。ある種の態様に従って本明細書で提示する技法は、SPSに関する全地球システム(たとえば、GNSS)に限定されない。たとえば本明細書で提供する技法は、様々な地域システム、たとえば日本上空の準天頂衛星システム(QZSS)、インド上空のインド地域航法衛星システム(IRNSS)、中国上空のBeidouなどおよび/または1つまたは複数の全地球および/または地域航法衛星システムに関連し得るまたはさもなければこれとともに使用可能にし得る様々な補強システム(たとえば、衛星型補強システム(SBAS))に適用し得る、またはさもなければこれでの使用を可能とし得る。限定ではなく一例としてSBASは、たとえばワイドエリア補強システム(WAAS)、欧州静止衛星航法補強サービス(EGNOS)、多目的衛星補強システム(MSAS)、GPS静止補完航法またはGPSおよびGeo補完航法システム(GAGAN)など、および/またはそのような、完全性(integrity)情報、差分補正などを提供する補強システムを含んでよい。したがって本明細書で使用する場合、SPSは1つまたは複数の全地球および/または地域航法衛星システムおよび/または補強システムを何らかの組合せで含むことがあり、またSPS信号はSPS信号、SPS様信号および/またはそのような1つまたは複数のSPSに関連する他の信号を含んでよい。   A satellite positioning system (SPS) is typically a transmitter arranged to allow an entity to determine its location on the surface of the earth or over the earth based at least in part on the signal received from the transmitter. Including systems. Such transmitters typically transmit signals that are marked with a repetitive pseudo-random noise (PN) code of a specified number of chips and that are transmitted to ground control stations, user equipment and / or spacecraft. May be placed. In one particular example, such a transmitter may be placed on a satellite vehicle (SV) that orbits the earth. SV within a Global Navigation Satellite System (GNSS) population such as Global Positioning System (GPS), Galileo, GLONASS or Compass (for example, using a different PN code for each satellite, such as GPS, or Signals marked with a PN code distinguishable from other SVs transmitted by other SVs in the population (using the same code at different frequencies as in GLONASS) may be transmitted. The techniques presented herein in accordance with certain aspects are not limited to global systems for SPS (eg, GNSS). For example, the techniques provided herein include various regional systems such as the Quasi-Zenith Satellite System (QZSS) over Japan, the Indian Regional Navigation Satellite System (IRNSS) over India, Beidou over China, and / or one or Applicable to various augmentation systems (e.g., satellite-type augmentation system (SBAS)) that may be associated with or otherwise enabled with multiple global and / or regional navigation satellite systems Can be used in By way of example and not limitation, SBAS may include, for example, wide area augmentation system (WAAS), European geostationary satellite navigation augmentation service (EGNOS), multipurpose satellite augmentation system (MSAS), GPS geostationary supplementary navigation or GPS and Geo complementary navigation system (GAGAN), etc. And / or such reinforcement systems that provide integrity information, differential correction, and the like. Thus, as used herein, an SPS may include one or more global and / or regional navigation satellite systems and / or augmentation systems in any combination, and an SPS signal may be an SPS signal, an SPS-like signal, and Other signals associated with one or more such SPS may be included.

本明細書で使用する場合、モバイルデバイス100は時々、携帯電話、モバイルフォンまたは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、パーソナル情報管理(PIM)、パーソナルディジタルアシスタント(PDA)、ラップトップまたは適当な他のモバイルデバイスなどワイヤレス通信および/またはナビゲーション信号を受け取ることが可能な移動局(MS)またはユーザ機器(UE)を指す。「移動局」という用語はまた、短距離ワイヤレス接続、赤外線接続、有線接続または他の接続などのパーソナルナビゲーションデバイス(PND)と通信するデバイス(そのデバイスまたはPNDにおいて行われるのが衛星信号受信であるか、アシスタンスデータ受信であるかかつ/または位置関連処理であるかに関わらず)を含むことを意図する。さらに「移動局」は、インターネット、WiFi(登録商標)または他のネットワークなどを介するとともに、そのデバイスにおいて、サーバにおいてもしくはネットワークに関連する別のデバイスにおいて行われるのが衛星信号受信であるか、アシスタンスデータ受信であるかかつ/または位置関連処理であるかに関わらず、サーバと通信することが可能なワイヤレス通信デバイス、コンピュータ、ラップトップなどを含むすべてのデバイスを含むことを意図する。上述のものの何らかの動作可能な組合せもモバイルデバイス100と見なす。   As used herein, mobile device 100 is sometimes referred to as a mobile phone, mobile phone or other wireless communication device, personal communication system (PCS) device, personal navigation device (PND), personal information management (PIM), personal digital Refers to a mobile station (MS) or user equipment (UE) capable of receiving wireless communications and / or navigation signals such as an assistant (PDA), laptop or other suitable mobile device. The term “mobile station” is also a device that communicates with a personal navigation device (PND), such as a short-range wireless connection, an infrared connection, a wired connection or other connection, that is satellite signal reception performed in that device or PND Or assistance data reception and / or location related processing). In addition, a “mobile station” may be a satellite signal reception or an assistance that is performed on the device, in a server or in another device related to the network, via the Internet, WiFi (registered trademark) or other network. It is intended to include all devices, including wireless communication devices, computers, laptops, etc., capable of communicating with a server, whether data reception and / or location related processing. Any operable combination of the above is also considered a mobile device 100.

パブリックなインターネットであり得るか、またはプライベートなインターネットであり得るクラウド300は、インターネットゲートウェイを有するワイヤレス基地局またはアクセスポイントを通じてアクセスを受け得る。基地局は、そのデータサービス提供を通じてインターネットアクセスを提供する。同様にアクセスポイントは、WiFi信号を介してインターネットアクセスを提供する。   Cloud 300, which may be the public Internet or the private Internet, may be accessed through a wireless base station or access point that has an Internet gateway. The base station provides Internet access through its data service provision. Similarly, the access point provides Internet access via a WiFi signal.

API(アプリケーションプログラミングインターフェース)をインターネット上またはクラウド300内のウェブベースのサーバアプリケーション200に当てるフレームワークを提示する。このAPIはサーバアプリケーション200に対して、モバイルデバイス100上の低電力センサコアプロセッサを介したモバイルデバイス100からのセンサデータの取り出しを可能とする。このAPIによって、新たなモバイルデバイスクライアントアプリケーションの開発および促進に関連する労力およびコストが排除される。このAPIフレームワークは、モバイルデバイス100上の1つまたは複数の特定のセンサからセンサデータをフェッチするためにウェブベースのアプリケーションを使用し得るAPIを含む。   A framework for applying an API (Application Programming Interface) to the web-based server application 200 on the Internet or in the cloud 300 is presented. This API allows the server application 200 to retrieve sensor data from the mobile device 100 via the low power sensor core processor on the mobile device 100. This API eliminates the effort and costs associated with developing and facilitating new mobile device client applications. This API framework includes APIs that can use web-based applications to fetch sensor data from one or more specific sensors on the mobile device 100.

ウェブベースのアプリケーションがモバイルデバイス100上で指定の1つまたは複数のセンサからのセンサデータに対する要求を送る代わりに、モバイルデバイス100はある種の条件に基づいて作用をトリガするために(しきい値ベースのトリガ、時間ベースのトリガまたは計算ベースのトリガなど)命令をAPIを介して受け取り得る。ウェブベースのアプリケーションは、モバイルデバイス100にAPIを介してカスタマイズ済みのスクリプトを実行させることによって将来のトリガを設定し得る。ウェブベースのアプリケーションは、即座のまたは周期的のいずれかによりセンサデータを要求するために登録してもよく(恐らくは、ユーザに明示的な許可を要求する)、またはセンサデータに関する将来のトリガを設定してもよい。   Instead of a web-based application sending a request for sensor data from one or more specified sensors on the mobile device 100, the mobile device 100 can trigger an action based on certain conditions (threshold Instructions (such as base-based triggers, time-based triggers or calculation-based triggers) may be received via the API. A web-based application may set future triggers by having the mobile device 100 execute a customized script via the API. Web-based applications may register to request sensor data either immediately or periodically (possibly requiring explicit permission from the user), or set future triggers on sensor data May be.

図1は、クラウドベースのアプリケーションおよびモバイルデバイス100のクライアントアプリケーションプロセッサ120上で動作する専用のクライアントアプリケーション130(たとえば、131、132、133)を含んだ知られたシステムの構成要素を示す。クラウドベースのアプリケーションは、クラウド300内で動作するウェブベースのサーバアプリケーション200(たとえば、201、202、203)である。クライアントアプリケーション130はクライアントアプリケーションプロセッサ120を介してサーバアプリケーション200にセンサデータを伝送する。現在、ある特定のセンサ160(たとえば、加速度計162)からのセンサデータをサーバアプリケーション200(たとえば、サーバBアプリケーション202)に送るためにモバイルデバイス100は、サーバアプリケーション200に関する単独のクライアントアプリケーション130(たとえば、クライアントBアプリケーション132)を連続式に実行しなければならない。クライアントアプリケーション130は、ベンダー独自のプロトコル171に従うとともに、サーバアプリケーション200からのセンサデータに対する要求を待つ間に電力を消費する。サーバアプリケーション200は他のサーバアプリケーション200と無関係であるので、センサデータに対する要求は協調的ではない。   FIG. 1 illustrates components of a known system that includes a cloud-based application and a dedicated client application 130 (eg, 131, 132, 133) that runs on the client application processor 120 of the mobile device 100. The cloud-based application is a web-based server application 200 (eg, 201, 202, 203) that operates in the cloud 300. The client application 130 transmits sensor data to the server application 200 via the client application processor 120. Currently, to send sensor data from a particular sensor 160 (e.g., accelerometer 162) to a server application 200 (e.g., server B application 202), the mobile device 100 can have a single client application 130 (e.g., The client B application 132) must be executed continuously. The client application 130 follows the vendor-specific protocol 171 and consumes power while waiting for a request for sensor data from the server application 200. Since the server application 200 is unrelated to other server applications 200, requests for sensor data are not cooperative.

図2は、クライアントアプリケーションプロセッサ120を介してセンサデータを提供するモバイルデバイス100の構成要素を示す。モバイルデバイス100は、クライアントアプリケーションプロセッサ120上で動作する専用のクライアントアプリケーション130(たとえば、131、132、133)を介してセンサデータ要求を処理する。サーバアプリケーション200(たとえば、201、202、203)に対しては専用のクライアントアプリケーション130(たとえば、131、132、133)が要求される。   FIG. 2 shows the components of the mobile device 100 that provide sensor data via the client application processor 120. The mobile device 100 processes sensor data requests via a dedicated client application 130 (eg, 131, 132, 133) running on the client application processor 120. A dedicated client application 130 (eg, 131, 132, 133) is required for the server application 200 (eg, 201, 202, 203).

たとえば図1に示したように、クライアントAアプリケーション131およびクライアントBアプリケーション132は、クライアントアプリケーションプロセッサ120上で実行されており、またサーバAアプリケーション201およびサーバBアプリケーション202のそれぞれからの要求を待つ。クライアントアプリケーションが要求を受け取ると、この要求がセンサコアプロセッサ140に送られ、次いである特定のセンサ160またはセンサ組(たとえば、全地球測位衛星(GPS)受信器161、加速度計162、ジャイロスコープ163、磁力計164、温度センサ165、圧力センサ166、近接センサ167および/または周辺光センサ(ALS168)など)にポーリングするかまたは割り込む。特定のセンサ160またはセンサ組はまた、マイクロフォンおよび/またはカメラを含んでよい。センサコアプロセッサ140がクライアントアプリケーションにセンサデータで応答すると、クライアントアプリケーションは元の要求にこのセンサデータで応答する。したがってクライアントアプリケーションプロセッサ120は、その特定のサーバアプリケーション200からの新たな要求を待っている間およびセンサデータを待っている間に様々なクライアントアプリケーション130を動作して電力を消費している。   For example, as shown in FIG. 1, client A application 131 and client B application 132 are running on client application processor 120 and wait for requests from server A application 201 and server B application 202, respectively. When the client application receives a request, the request is sent to the sensor core processor 140, and then a particular sensor 160 or sensor set (e.g., global positioning satellite (GPS) receiver 161, accelerometer 162, gyroscope 163, Polling or interrupting a magnetometer 164, temperature sensor 165, pressure sensor 166, proximity sensor 167 and / or ambient light sensor (ALS168). A particular sensor 160 or sensor set may also include a microphone and / or camera. When the sensor core processor 140 responds to the client application with sensor data, the client application responds to the original request with this sensor data. Thus, the client application processor 120 operates various client applications 130 and consumes power while waiting for new requests from that particular server application 200 and while waiting for sensor data.

図3は、本発明の幾つかの実施形態に従ってセンサコアプロセッサ140を使用しかつクライアントアプリケーションプロセッサ120をバイパスしてセンサデータを提供するモバイルデバイス100の構成要素を示す。モバイルデバイス100は、センサコアプロセッサ140とサーバアプリケーション200の間のインターフェースで共通API170とともに動作し、クライアントアプリケーションプロセッサ120をバイパスする。幾つかの実施形態ではそのセンサコアプロセッサ140は低電力モードで動作する。たとえばセンサコアプロセッサ140は、クライアントアプリケーションプロセッサ120と比べてより低いクロックレートで動作しかつ/またはより長い休眠時間を有してもよく、もしくはより低グレードのプロセッサ上で動作してもよい。この方式では、クライアントアプリケーションプロセッサ120はある持続時間にわたって第1の電力レベルを消費しており、またセンサコアプロセッサ140はこの持続時間にわたって第2の電力レベルを消費しており、ここで第2の電力レベルは第1の電力レベルより低くなる。センサコアプロセッサ140は、様々なサーバアプリケーション200との通信のために共通APIを用いてセンサコアクライアント141を実行する。センサコアクライアント141は、その各々が共通APIを用いる、センサデータに対する要求を受け取るための手段および要求に返信するための手段の役割をする。センサコアプロセッサ140はまたセンサドライバ150を実行する。センサドライバ150は、GPS受信器161と通信するための手段の役割をするGPSドライバ151を含んでよい。センサドライバ150は、加速度計162と通信するための手段の役割をする加速度計ドライバ152を含んでよい。センサドライバ150は、ジャイロスコープ163と通信するための手段の役割をするジャイロスコープドライバ153を含んでよい。センサドライバ150は、磁力計164と通信するための手段の役割をする磁力計ドライバ154を含んでよい。同様にセンサドライバ150は、センサからセンサデータを受け取るための手段の役割をする各単独のセンサのドライバを含んでよい。センサドライバ150は、それぞれのセンサ160の指定のハードウェア実現形態と通信するように調整されている。   FIG. 3 illustrates components of mobile device 100 that use sensor core processor 140 and bypass client application processor 120 to provide sensor data in accordance with some embodiments of the present invention. The mobile device 100 operates with a common API 170 at the interface between the sensor core processor 140 and the server application 200 and bypasses the client application processor 120. In some embodiments, the sensor core processor 140 operates in a low power mode. For example, the sensor core processor 140 may operate at a lower clock rate and / or have a longer sleep time compared to the client application processor 120, or may operate on a lower grade processor. In this scheme, the client application processor 120 consumes a first power level for a certain duration, and the sensor core processor 140 consumes a second power level for this duration, where the second The power level is lower than the first power level. The sensor core processor 140 executes the sensor core client 141 using a common API for communication with various server applications 200. The sensor core client 141 serves as a means for receiving a request for sensor data and a means for replying to the request, each using a common API. The sensor core processor 140 also executes a sensor driver 150. The sensor driver 150 may include a GPS driver 151 that serves as a means for communicating with the GPS receiver 161. The sensor driver 150 may include an accelerometer driver 152 that serves as a means for communicating with the accelerometer 162. The sensor driver 150 may include a gyroscope driver 153 that serves as a means for communicating with the gyroscope 163. Sensor driver 150 may include a magnetometer driver 154 that serves as a means for communicating with magnetometer 164. Similarly, sensor driver 150 may include a driver for each single sensor that serves as a means for receiving sensor data from the sensor. The sensor driver 150 is tuned to communicate with the specified hardware implementation of each sensor 160.

センサコアプロセッサ140は、共通API要求を使用しかつモデム110を介して送られるサーバアプリケーション200からの要求を待つ。モデム110はワイヤレスアンテナ111を介してエアインターフェースに結合する。サーバアプリケーション200はモバイルデバイス100に要求をプッシュし得る。センサコアプロセッサ140はクライアントアプリケーションプロセッサ120より応答性が低くなり得るが、しかしながらサーバアプリケーション200におけるセンサデータ受信は多くの場合に時間制約が厳しくない。即座の応答を要求する他のクライアントアプリケーション130は依然として、クライアントアプリケーションプロセッサ120上で実行し得るが、センサコアプロセッサ140上で動作するクライアントアプリケーション130の場合のようには電力消費が低減されない。幾つかの実施形態では、そのセンサコアプロセッサ140が計算集約性がより低いアプリケーションを実行し得る一方、計算集約性がより高いアプリケーションはクライアントアプリケーションプロセッサ120上で実行する。この構成によって、電力集約的なアプリケーションプロセッサをスリープモードのままにした状態でトリガ計算およびセンサデータアップロードを低電力プロセッサ上で実行可能となる。   The sensor core processor 140 uses a common API request and waits for a request from the server application 200 sent via the modem 110. Modem 110 is coupled to the air interface via wireless antenna 111. Server application 200 may push the request to mobile device 100. The sensor core processor 140 may be less responsive than the client application processor 120, however, sensor data reception in the server application 200 is often not time critical. Other client applications 130 that require an immediate response may still run on the client application processor 120, but power consumption is not reduced as is the case with the client application 130 running on the sensor core processor 140. In some embodiments, the sensor core processor 140 may execute a less computationally intensive application while the more computationally intensive application runs on the client application processor 120. This configuration allows trigger calculation and sensor data upload to be performed on the low power processor while the power intensive application processor remains in sleep mode.

図4は、本発明に従ってAPIフレームワークを示す。このAPIフレームワークは、アプリケーション層10、高レベルオペレーティングシステム(HLOS20)および低レベルオペレーティングシステム(LLOS30)を含む。このAPIフレームワークによってクラウドベースのモバイルアプリケーション開発が促進されるとともに、モバイルデバイス100からセンサ情報を取り出すために簡単なウェブベースのAPIが提供される。   FIG. 4 illustrates an API framework according to the present invention. The API framework includes an application layer 10, a high level operating system (HLOS20) and a low level operating system (LLOS30). This API framework facilitates cloud-based mobile application development and provides a simple web-based API for retrieving sensor information from the mobile device 100.

サーバベースのアプリケーションは、アプリケーション層10においてAPIフレームワークの最上位と通信する。センサはLLOS30で下側からAPIフレームワークと通信する。モバイルデバイス100内においてAPIフレームワークの全体はセンサコアプロセッサ140などの低電力センサコアプロセッサ上で動作する。統合アプリケーションは、アプリケーション層10で動作するとともに、非協調、無関連かつ無関係の複数のクラウドまたはウェブベースのサーバアプリケーション200によって要求されるようなセンサデータを返すことによってクライアントの役割をする。   Server-based applications communicate with the top level of the API framework in the application layer 10. The sensor communicates with the API framework from below with LLOS30. Within the mobile device 100, the entire API framework runs on a low power sensor core processor, such as sensor core processor 140. The integrated application operates at the application layer 10 and acts as a client by returning sensor data as required by multiple, unrelated, unrelated and unrelated cloud or web-based server applications 200.

モバイルデバイス100上のセンサドライバは、アプリケーション層10およびHLOS20より下位に常駐し、かつLLOS30の制御下にある。幾つかの実施形態ではモバイルデバイス100は、LLOS30に結合されたセンサドライバ150を含む。他の実施形態ではそのセンサドライバ150は、LLOS30の一部分または完全部分である。   The sensor driver on the mobile device 100 resides below the application layer 10 and the HLOS 20 and is under the control of the LLOS 30. In some embodiments, mobile device 100 includes a sensor driver 150 coupled to LLOS 30. In other embodiments, the sensor driver 150 is a part or a complete part of the LLOS 30.

図5は、クラウド300内で動作するサーバアプリケーション200(たとえば、201、202、203)およびモバイルデバイス100のセンサコアプロセッサ140上で動作する専用のセンサコアクライアント141を含むシステムの構成要素を示す。このシステムはセンサコアプロセッサ140上で動作する単独のセンサドライバ150を介してセンサデータを伝送する。センサコアクライアント141は、センサデータに対する要求を処理するための手段の役割をし得る。センサコアクライアント141は、センサデータに対する2つの単独の要求がセンサドライバ150に対して単一の呼をインボイスするように重複または競合するセンサデータ要求を協調させ得る。したがってセンサ160は、協調した単一の応答で十分な場合に重複する要求による割り込みを受けない。   FIG. 5 shows components of a system that includes a server application 200 (eg, 201, 202, 203) operating within the cloud 300 and a dedicated sensor core client 141 operating on the sensor core processor 140 of the mobile device 100. The system transmits sensor data via a single sensor driver 150 running on the sensor core processor 140. The sensor core client 141 may serve as a means for processing requests for sensor data. Sensor core client 141 may coordinate overlapping or conflicting sensor data requests such that two single requests for sensor data invoice a single call to sensor driver 150. Thus, sensor 160 is not interrupted by duplicate requests when a coordinated single response is sufficient.

センサコアプロセッサ140は、単独で無関係のサーバアプリケーション200から(ただし、共通API170によって)モデム110からの要求を受け取る(図3および図4参照)。センサコアプロセッサ140がデューティサイクルの非起動期間(スリープモード)からデューティサイクルの起動期間(動作モード)までの間を一巡するまでこれらの要求は待機し得る。全デューティサイクルは、1つの非起動期間と、隣り合う1つの起動期間とを含む。動作モードよりもスリープモードが好都合であるデューティサイクル動作モードは低電力デューティサイクルモードであることが多い。センサコアプロセッサ140は、低電力デューティサイクルモードで動作することによって電力を節約する。センサコアクライアント141は、センサドライバ150を用いてセンサ160からセンサデータを受け取り、要求側のサーバアプリケーション200に共通API170を介してセンサデータの報告を戻す。この方式ではモバイルデバイス100は、センサコアプロセッサ140を使用しかつクライアントアプリケーションプロセッサ120をバイパスしてセンサデータを提供する。   The sensor core processor 140 receives a request from the modem 110 from a single unrelated server application 200 (but through the common API 170) (see FIGS. 3 and 4). These requests may wait until the sensor core processor 140 makes a round from the duty cycle non-activation period (sleep mode) to the duty cycle activation period (operation mode). The total duty cycle includes one non-activation period and one adjacent activation period. The duty cycle mode of operation, in which the sleep mode is favored over the mode of operation, is often a low power duty cycle mode. The sensor core processor 140 saves power by operating in a low power duty cycle mode. The sensor core client 141 receives sensor data from the sensor 160 using the sensor driver 150, and returns a report of sensor data to the requesting server application 200 via the common API 170. In this manner, the mobile device 100 provides sensor data using the sensor core processor 140 and bypassing the client application processor 120.

図6は、本発明に従って様々なAPIメッセージを例示する。共通APIメッセージは、センサ情報に対する要求とセンサデータを含む応答との両方を含む。センサデータ要求は、センサデータに対する要求と、データをどこに返すべきかの指示またはアドレスとを含む。(a)には、センサデータ要求301がある特定のセンサからのセンサデータに対する簡単な要求でありかつ返信IPアドレスを含むことを示す。(b)には、センサデータ要求302が可変センサからのセンサデータに対する要求でありかつ返信IPアドレスを含むことを示す。センサデータ要求302には、センサデータ種別303に関する指示が添付されている。たとえばセンサデータ種別303は、加速度計からのデータを指示し得る。(c)には、センサデータ要求304が複数のセンサからのセンサデータに対する要求でありかつ返信IPアドレスを含むことを示す。センサデータ要求304には、第1のセンサデータ種別305および第2のセンサデータ種別306に関する指示が添付されている。(d)には、センサデータ要求307が将来のある時点におけるセンサデータに対する要求でありかつ返信IPアドレスを含むことを示す。センサデータ要求307にはスケジュール308が添付されている。たとえばスケジュール308は、そのセンサデータが周期的に要求されかつ/またはある特定の時点で開始されることを指示し得る。センサデータ要求に応答して、統合クライアントアプリケーションはセンサデータ応答を送り得る。(e)には、センサデータ応答310がセンサデータ要求301、302または307に対応することを示す。センサデータ応答310は指示されたIPアドレスを宛先アドレスとして含む。センサデータ応答310にはセンサ生データ311が添付されている。別法として統合クライアントアプリケーションは、センサ生データを処理し、この処理済みのセンサデータを返し得る。(f)には、センサデータ応答312がセンサデータ要求304に対応することを示す。センサデータ応答312は指示されたIPアドレスを宛先アドレスとして含む。センサデータ応答312には、第1の種別のセンサからのセンサ生データ313および第2の種別のセンサからのセンサ生データ314が添付されている。   FIG. 6 illustrates various API messages in accordance with the present invention. The common API message includes both a request for sensor information and a response including sensor data. The sensor data request includes a request for sensor data and an indication or address where to return the data. (a) shows that the sensor data request 301 is a simple request for sensor data from a specific sensor and includes a return IP address. (b) indicates that the sensor data request 302 is a request for sensor data from a variable sensor and includes a return IP address. The sensor data request 302 is accompanied by an instruction regarding the sensor data type 303. For example, the sensor data type 303 can indicate data from an accelerometer. (c) indicates that the sensor data request 304 is a request for sensor data from a plurality of sensors and includes a return IP address. In the sensor data request 304, instructions regarding the first sensor data type 305 and the second sensor data type 306 are attached. (d) indicates that the sensor data request 307 is a request for sensor data at a certain point in the future and includes a return IP address. A schedule 308 is attached to the sensor data request 307. For example, the schedule 308 may indicate that the sensor data is periodically requested and / or started at a particular point in time. In response to the sensor data request, the integrated client application may send a sensor data response. (e) shows that the sensor data response 310 corresponds to the sensor data request 301, 302 or 307. The sensor data response 310 includes the indicated IP address as the destination address. Sensor raw data 311 is attached to the sensor data response 310. Alternatively, the integrated client application may process the raw sensor data and return this processed sensor data. (f) shows that the sensor data response 312 corresponds to the sensor data request 304. The sensor data response 312 includes the designated IP address as a destination address. The sensor data response 312 is attached with sensor raw data 313 from the first type of sensor and sensor raw data 314 from the second type of sensor.

幾つかの実施形態ではそのセンサデータ要求は、トリガ性計算またはトリガ性イベントを指示する命令を含んでよい。トリガ性計算は満たされてもよく、または満たされなくてもよい。トリガ性条件が満たされていれば、同じセンサおよび/または異なるセンサからの1つまたは複数のセンサ計測値またはセンサデータによってある種の条件がトリガする場合では、モバイルデバイス100に対してそのセンサのうちの1つまたは複数からセンサデータとしてデータを送るようにトリガが命令する。たとえばモバイルデバイス100は、第2のセンサ(たとえば、温度がある量より低くなることを指示する温度センサ)からのデータに基づいて第1のセンサ(たとえば、境界を跨いだことを示すGPSセンサ)からのデータを含むセンサデータ応答メッセージを送る。トリガ性イベントは所在場所に基づいてよい。たとえば、GPSセンサによってモバイルデバイス100がある境界に入ったまたはこれを出たことが示されると、モバイルデバイス100はその温度を報告し得る。   In some embodiments, the sensor data request may include instructions that indicate a triggerability calculation or triggerability event. The triggerability calculation may or may not be satisfied. If a triggering condition is met, one or more sensor readings or sensor data from the same sensor and / or different sensors will trigger the mobile device 100 to The trigger commands to send data as sensor data from one or more of them. For example, the mobile device 100 is based on data from a second sensor (e.g., a temperature sensor that indicates that the temperature is below a certain amount) Send a sensor data response message containing data from. The triggering event may be based on the location. For example, if the GPS sensor indicates that the mobile device 100 has entered or exited a certain boundary, the mobile device 100 may report its temperature.

モバイルデバイス100は、あるセンサがある種の基準をトリガしていることに基づいて複数のセンサからの計測値を送り得る。モバイルデバイス100は、あるセンサからの計測値を、複数のセンサからの計測値の組合せがある種の基準をトリガしていることに基づいて送り得る。このトリガはある範囲またはある種の値であってよく、また報告の重複を少なくするためにヒステリシスを含んでよい。たとえばモバイルデバイス100は、温度センサがある時間にわたってある範囲外の温度を示した場合、湿度センサがある値を超える湿度を示した場合、ならびに加速度計162がある設定したしきい値未満である加速度を示した場合に基づいてGPSデータを送る。   Mobile device 100 may send measurements from multiple sensors based on certain sensors triggering certain criteria. Mobile device 100 may send measurements from one sensor based on a combination of measurements from multiple sensors triggering certain criteria. This trigger may be a range or some value and may include hysteresis to reduce reporting overlap. For example, the mobile device 100 may indicate that the temperature sensor indicates a temperature outside a certain range over a period of time, the humidity sensor indicates a humidity above a certain value, and the acceleration that the accelerometer 162 is below a certain set threshold. Send GPS data based on the indicated case.

同様にモバイルデバイス100は、複数のセンサが基準を満たしていることに基づいて複数のセンサまたはすべてのセンサからのデータを送り得る。たとえばモバイルデバイス100は、ある種のセンサによって生体センサから患者に緊急事態が起きていることを指示したと判定することがあり、また次いでこの緊急事態を、センサデータ応答メッセージ内の生体センサおよびGPSセンサからのデータの形態で報告し得る。さらに、モバイルデバイス100自体内に幾つかのセンサを含み得る一方、モバイルデバイス100から離れているがこれと通信しているパーソナルエリアネットワーク(PAN)の中に他のセンサを含み得る。   Similarly, the mobile device 100 may send data from multiple sensors or all sensors based on the multiple sensors meeting the criteria. For example, the mobile device 100 may determine that some type of sensor has instructed the patient from the biosensor that an emergency has occurred, and this emergency is then identified as the biosensor and GPS in the sensor data response message. It can be reported in the form of data from sensors. In addition, some sensors may be included within the mobile device 100 itself, while other sensors may be included in a personal area network (PAN) that is remote from and in communication with the mobile device 100.

トリガ性計算は1つまたは複数のセンサによってトリガを受ける。トリガ性計算はまた、タイマまたは絶対的な時間によってトリガを受けるまたは条件付けされ得る。たとえばセンサは、条件が満たされかつまた前回報告などの前回イベントからある時間が経過した後にそのデータを報告し得る。モバイルデバイス100は、あるセンサ条件が満たされているか否かを周期的に(たとえば、30分ごとに)チェックし、満たされた場合にセンサデータを報告し得る。モバイルデバイス100は、ある種のセンサ条件が満たされているか否かをスケジュールに従って(たとえば、毎日午前8時、正午および午後5時に)チェックし、満たされた場合にセンサデータを報告し得る。   The triggerability calculation is triggered by one or more sensors. The triggerability calculation can also be triggered or conditioned by a timer or absolute time. For example, a sensor may report its data after a condition has been met and also after some time has passed since a previous event, such as a previous report. The mobile device 100 may periodically check (eg, every 30 minutes) whether certain sensor conditions are met and report sensor data if met. The mobile device 100 may check whether certain sensor conditions are met according to a schedule (eg, daily at 8 am, noon and 5 pm) and report sensor data if met.

図7は、本発明の幾つかの実施形態に従って流れ図400を示す。この方法は、モバイルデバイス100内で実行されるとともに、複数のサーバアプリケーション200に共通API170を提供する。ステップ410においてモバイルデバイス100は、第1のウェブベースのアプリケーション(たとえば、サーバAアプリケーション201)から、共通API170を用いてセンサデータに対する第1の要求を受け取る。ステップ420においてモバイルデバイス100は、第1のウェブベースのアプリケーションと無関係な第2のウェブベースのアプリケーション(たとえば、サーバBアプリケーション202)から、同じく共通API170を用いてセンサデータに対する第2の要求を受け取る。   FIG. 7 shows a flowchart 400 according to some embodiments of the invention. This method is performed within the mobile device 100 and provides a common API 170 to multiple server applications 200. In step 410, the mobile device 100 receives a first request for sensor data using a common API 170 from a first web-based application (eg, server A application 201). In step 420, the mobile device 100 receives a second request for sensor data, also using a common API 170, from a second web-based application (eg, server B application 202) that is unrelated to the first web-based application. .

ステップ430において、センサコアプロセッサ140上でセンサコアクライアント141を用いかつクライアントアプリケーションプロセッサ120をバイパスしてモバイルデバイス100がセンサデータに対する第1の要求および第2の要求を処理する。ステップ440においてモバイルデバイス100は、センサコアプロセッサにおいて、センサからセンサデータを受け取る。ステップ450においてモバイルデバイス100は、センサデータを含む第1の応答で第1の要求に返信するとともに、クライアントアプリケーションプロセッサ120をバイパスする。ステップ460においてモバイルデバイス100は、センサデータの第2に対する要求に第2の応答で返信する。この第2の応答は第1の要求とは別のものであり、センサデータを含むとともにクライアントアプリケーションプロセッサ120もバイパスする。ステップ450とステップ460は独立に、順番にまたは互いに重複して行われてもよい。   In step 430, the mobile device 100 processes the first and second requests for sensor data using the sensor core client 141 on the sensor core processor 140 and bypassing the client application processor 120. In step 440, the mobile device 100 receives sensor data from the sensor at the sensor core processor. In step 450, the mobile device 100 replies to the first request with a first response that includes sensor data and bypasses the client application processor 120. In step 460, the mobile device 100 replies with a second response to the request for the second sensor data. This second response is separate from the first request and includes sensor data and also bypasses the client application processor 120. Step 450 and step 460 may be performed independently, sequentially or overlapping each other.

本明細書で説明した手法はアプリケーションに応じた様々な手段によって実現し得る。たとえばこれらの手法は、ハードウェア、ファームウェア命令、ソフトウェア命令またはこれらの何らかの組合せで実現し得る。ハードウェアの実現形態ではその処理ユニットを、1つまたは複数の特定用途向け集積回路(ASIC)、ディジタル信号プロセッサ(DSP)、ディジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明した機能を実行するように設計した他の電子ユニット、またはこれらの組合せ内で実現し得る。   The technique described in this specification can be realized by various means depending on the application. For example, these techniques can be implemented in hardware, firmware instructions, software instructions, or some combination thereof. In a hardware implementation, the processing unit can be one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gates It may be implemented in an array (FPGA), processor, controller, microcontroller, microprocessor, electronic device, other electronic unit designed to perform the functions described herein, or combinations thereof.

ファームウェアおよび/またはソフトウェアの実現形態ではその手法は、本明細書で説明した機能を実行するモジュール(たとえば、手順、機能など)によって実現さし得る。本明細書で説明した手法を実現する際に、命令を目に見えるように具現化している何らかの機械読み取り可能媒体を用いてよい。たとえば、ソフトウェアコードをメモリなどの非過渡的コンピュータ読み取り可能記憶媒体内に保存するとともに、プロセッサユニットによって実行し得る。メモリは、プロセッサユニット内に実現してもよく、またはプロセッサユニット外に実現してもよい。本明細書で使用する場合に「メモリ」という用語は、何らかの種別の長期的、短期的、揮発性、不揮発性または他のメモリを指し、何らかの特定の種別のメモリまたは特定の数のメモリ、もしくはメモリをその上に保存する特定の種別の媒体を限定するものではない。   For firmware and / or software implementations, the techniques may be implemented by modules (eg, procedures, functions, etc.) that perform the functions described herein. In implementing the techniques described herein, any machine-readable medium that tangibly embodies the instructions may be used. For example, software code may be stored in a non-transitory computer readable storage medium such as memory and executed by a processor unit. The memory may be implemented within the processor unit or may be implemented outside the processor unit. As used herein, the term “memory” refers to any type of long-term, short-term, volatile, non-volatile or other memory, such as any specific type of memory or a specific number of memories, or It is not intended to limit the particular type of medium on which the memory is stored.

ファームウェアおよび/またはソフトウェアで実現させる場合にその機能は、コンピュータ読み取り可能媒体上の1つまたは複数の命令またはコードとして保存され得る。例としては、データ構造で符号化されたコンピュータ読み取り可能媒体およびコンピュータプログラムで符号化されたコンピュータ読み取り可能媒体が含まれる。コンピュータ読み取り可能媒体は物理的なコンピュータ記憶媒体を含む。記憶媒体はコンピュータによるアクセスが可能である利用可能な何らかの媒体としてよい。限定ではなく例としてそのようなコンピュータ読み取り可能媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶、磁気ディスク記憶または他の磁気式記憶デバイス、もしくは所望のプログラムコードを命令またはデータ構造の形態で保存するために使用可能でありかつコンピュータによるアクセスが可能な他の何らかの媒体を含むことが可能であり、また本明細書で使用する場合にディスク(disk)とディスク(disc)は、コンパクトディスク(CD)、レーザディスク(登録商標)、光学式ディスク、ディジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含むが、ここでディスク(disk)は通常データを磁気式に再生しており、一方ディスク(disc)はデータをレーザを用いて光学式に再生する。上述のものの組合せも、コンピュータ読み取り可能媒体の範囲内に含むべきである。   When implemented in firmware and / or software, the functionality may be stored as one or more instructions or code on a computer-readable medium. Examples include computer readable media encoded with a data structure and computer readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage device, or instructions or data structures with desired program code. Can include any other medium that can be used for storage in the form of and accessible by a computer, and as used herein, a disk and a disc are: Includes compact disc (CD), laser disc (registered trademark), optical disc, digital multipurpose disc (DVD), floppy disc (registered trademark) and Blu-ray disc, where the disk is usually a magnetic data On the other hand, the disc reproduces data optically using a laser. Combinations of the above should also be included within the scope of computer-readable media.

コンピュータ読み取り可能媒体上への保存に加えて、通信装置内に含まれる送信媒体上の信号として命令および/またはデータを提供し得る。たとえば通信装置は、命令およびデータを指示する信号を有する送受信器を含み得る。これらの命令およびデータは、1つまたは複数のプロセッサに対して本特許請求の範囲で概括した機能を実現させるように構成される。すなわち通信装置は、開示した機能を実行するために情報を指示する信号とともに送信媒体を含む。第1の時点において通信装置内に含まれる送信媒体は開示した機能を実行するために情報の第1の部分を含み得る一方、第2の時点において通信装置内に含まれる送信媒体は開示した機能を実行するために情報の第2の部分を含み得る。   In addition to being stored on a computer readable medium, instructions and / or data may be provided as signals on a transmission medium included within the communication device. For example, the communication device may include a transceiver having a signal indicating instructions and data. These instructions and data are configured to implement the functions outlined in the claims for one or more processors. That is, the communication device includes a transmission medium along with a signal indicating information to perform the disclosed function. The transmission medium included in the communication device at the first time point may include a first portion of information to perform the disclosed function, while the transmission medium included in the communication device at the second time point includes the disclosed function. May include a second portion of information to perform.

本開示の態様に関する上述の説明は当業者による本開示の製作および使用を可能にするように提供される。これらの態様に対する様々な修正は当業者には容易に明らかであり、また本明細書に規定した包括的な原理は本開示の精神や範囲を逸脱することなく他の態様に適用し得る。   The above description of aspects of the disclosure is provided to enable any person skilled in the art to make and use the disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the spirit or scope of the disclosure.

10 アプリケーション層
20 高レベルオペレーティングシステム(HLOS)
30 低レベルオペレーティングシステム(LLOS)
100 モバイルデバイス
111 ワイヤレスアンテナ
110 モデム
120 クライアントアプリケーションプロセッサ
130 クライアントアプリケーション
131 クライアントAアプリケーション
132 クライアントBアプリケーション
133 クライアントCアプリケーション
140 センサコアプロセッサ
141 センサコアクライアント
10 Application layer
20 High Level Operating System (HLOS)
30 Low Level Operating System (LLOS)
100 mobile devices
111 Wireless antenna
110 modem
120 client application processor
130 client applications
131 Client A application
132 Client B application
133 Client C application
140 Sensor core processor
141 Sensor Core Client

Claims (31)

共通API(アプリケーションプログラミングインターフェース)を提供するためのモバイルデバイスであって、
ワイヤレスアンテナに結合されたモデムと、
前記モデムに結合されている、ある持続時間にわたって第1の電力レベルを消費するクライアントアプリケーションプロセッサと、
センサコアクライアントおよび前記センサコアクライアントに結合されたセンサドライバを備え、前記持続時間にわたって第2の電力レベルを消費し、かつ前記第2の電力レベルが前記第1の電力レベルよりも低い、前記モデムに結合されかつ前記共通APIを備えるセンサコアプロセッサと、
前記センサコアプロセッサの前記センサドライバと通信するように結合されたセンサと
を備えるモバイルデバイス。
A mobile device for providing a common API (application programming interface),
A modem coupled to a wireless antenna;
A client application processor coupled to the modem that consumes a first power level for a duration;
The modem comprising a sensor core client and a sensor driver coupled to the sensor core client, consuming a second power level for the duration, and wherein the second power level is lower than the first power level A sensor core processor coupled to and comprising the common API;
A mobile device comprising a sensor coupled to communicate with the sensor driver of the sensor core processor.
前記センサが複数のセンサを含み、かつ前記センサドライバがその各々が前記複数のセンサのそれぞれ1つと通信するように結合された対応する複数のセンサドライバを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor includes a plurality of sensors and the sensor driver includes a corresponding plurality of sensor drivers each coupled to communicate with a respective one of the plurality of sensors. 前記センサが全地球測位衛星(GPS)受信器を含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor comprises a global positioning satellite (GPS) receiver. 前記センサが複数のセンサを含み、かつ前記複数のセンサが
加速度計と、
ジャイロスコープと
を含む、請求項1に記載のモバイルデバイス。
The sensor includes a plurality of sensors, and the plurality of sensors includes an accelerometer;
The mobile device of claim 1, comprising a gyroscope.
前記センサが磁力計を含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor comprises a magnetometer. 前記センサが圧力センサを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor comprises a pressure sensor. 前記センサが近接センサを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor comprises a proximity sensor. 前記センサが周辺光センサ(ALS)を含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor comprises an ambient light sensor (ALS). 前記センサがマイクロフォンを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor comprises a microphone. 前記センサがカメラを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor comprises a camera. 前記モデムはコード分割多元接続(CDMA)モデムを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the modem comprises a code division multiple access (CDMA) modem. 前記クライアントアプリケーションプロセッサが複数のクライアントアプリケーションを実行するように構成される、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the client application processor is configured to execute a plurality of client applications. 前記センサコアクライアントがスリープモードおよび動作モードを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor core client includes a sleep mode and an operation mode. 前記センサコアプロセッサがデューティサイクル動作モードを含み、かつ前記持続時間が全デューティサイクルを含む、請求項1に記載のモバイルデバイス。   The mobile device of claim 1, wherein the sensor core processor includes a duty cycle mode of operation and the duration includes a full duty cycle. モバイルデバイスにおいて共通API(アプリケーションプログラミングインターフェース)を提供するための方法であって、
第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るステップと、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るステップと、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするステップと、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るステップと、
前記第1の要求に前記センサデータを含む第1の応答で返信するステップと、
センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するステップと
を含む方法。
A method for providing a common API (application programming interface) in a mobile device,
Receiving a first request for sensor data from a first web-based server application using a common API;
Receiving a second request for sensor data using a common API from a second web-based server application unrelated to the first web-based server application;
Processing the first request and the second request for sensor data on a sensor core processor and bypassing a client application processor;
Receiving sensor data from a sensor in the sensor core processor;
Replying to the first request with a first response including the sensor data;
Returning a second request for sensor data in a second response different from the first request including the sensor data.
前記センサデータに対する第1の要求がトリガ性イベントの指示を含む、請求項15に記載の方法。   The method of claim 15, wherein the first request for sensor data includes an indication of a triggering event. 前記トリガ性イベントが前記センサデータとは別のデータを提供する第2のセンサからのある種の条件を含む、請求項16に記載の方法。   The method of claim 16, wherein the triggering event comprises a certain condition from a second sensor that provides data separate from the sensor data. 前記センサコアプロセッサ上でセンサコアクライアントを実行するステップをさらに含む、請求項15に記載の方法。   The method of claim 15, further comprising executing a sensor core client on the sensor core processor. 前記センサからの前記センサデータが複数のセンサからのセンサデータを含む、請求項15に記載の方法。   16. The method of claim 15, wherein the sensor data from the sensor includes sensor data from a plurality of sensors. 前記センサが全地球測位衛星(GPS)受信器を含む、請求項19に記載の方法。   21. The method of claim 19, wherein the sensor comprises a global positioning satellite (GPS) receiver. 前記複数のセンサが、
加速度計と、
ジャイロスコープと
を含む、請求項19に記載の方法。
The plurality of sensors are
An accelerometer,
20. The method of claim 19, comprising a gyroscope.
前記センサが磁力計を含む、請求項19に記載の方法。   The method of claim 19, wherein the sensor comprises a magnetometer. 前記センサが圧力センサを含む、請求項19に記載の方法。   The method of claim 19, wherein the sensor comprises a pressure sensor. 前記センサが近接センサを含む、請求項19に記載の方法。   The method of claim 19, wherein the sensor comprises a proximity sensor. 前記センサが周辺光センサ(ALS)を含む、請求項19に記載の方法。   The method of claim 19, wherein the sensor comprises an ambient light sensor (ALS). 前記センサがマイクロフォンを含む、請求項19に記載の方法。   The method of claim 19, wherein the sensor comprises a microphone. 前記センサがカメラを含む、請求項19に記載の方法。   The method of claim 19, wherein the sensor comprises a camera. 前記センサコアプロセッサ上で前記複数のセンサの各々に関してセンサコアクライアントを実行するステップをさらに含む、請求項19に記載の方法。   20. The method of claim 19, further comprising executing a sensor core client for each of the plurality of sensors on the sensor core processor. 共通API(アプリケーションプログラミングインターフェース)を提供するためのモバイルデバイスであって、
第1のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第1の要求を受け取るための手段と、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第2の要求を受け取るための手段と、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするための手段と、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るための手段と、
前記第1の要求に前記センサデータを含む第1の応答で返信するための手段と、
前記センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するための手段と
を備えるモバイルデバイス。
A mobile device for providing a common API (application programming interface),
Means for receiving a first request for sensor data using the common API from a first web-based server application;
Means for receiving a second request for sensor data using the common API from a second web-based server application unrelated to the first web-based server application;
Means for processing the first request and the second request for sensor data on a sensor core processor and bypassing a client application processor;
Means for receiving sensor data from a sensor in the sensor core processor;
Means for replying to the first request with a first response including the sensor data;
Means for returning in a second response separate from the first request including the sensor data in a second request for the sensor data.
プロセッサおよびメモリを備えるデバイスであって、前記メモリが、
第1のウェブベースのサーバアプリケーションから、共通API(アプリケーションプログラミングインターフェース)を用いてセンサデータに対する第1の要求を受け取るためのソフトウェア命令と、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第2の要求を受け取るためのソフトウェア命令と、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのソフトウェア命令と、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るためのソフトウェア命令と、
前記第1の要求に前記センサデータを含む第1の応答で返信するためのソフトウェア命令と、
前記センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するためのソフトウェア命令と
を含む、デバイス。
A device comprising a processor and a memory, the memory comprising:
Software instructions for receiving a first request for sensor data from a first web-based server application using a common API (application programming interface);
Software instructions for receiving a second request for sensor data using the common API from a second web-based server application unrelated to the first web-based server application;
Software instructions for processing the first request and the second request for sensor data on a sensor core processor and bypassing a client application processor;
Software instructions for receiving sensor data from a sensor in the sensor core processor;
Software instructions for replying to the first request with a first response including the sensor data;
And a software instruction for replying to the second request for the sensor data with a second response different from the first request including the sensor data.
その上にプログラムコードを保存して含む非過渡的コンピュータ読み取り可能記憶媒体であって、
第1のウェブベースのサーバアプリケーションから、共通API(アプリケーションプログラミングインターフェース)を用いてセンサデータに対する第1の要求を受け取るためのプログラムコードと、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第2の要求を受け取るためのプログラムコードと、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのプログラムコードと、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るためのプログラムコードと、
前記第1の要求に前記センサデータを含む第1の応答で返信するためのプログラムコードと、
前記センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するためのプログラムコードと
を含む、非過渡的コンピュータ読み取り可能記憶媒体。
A non-transient computer readable storage medium having program code stored thereon,
Program code for receiving a first request for sensor data from a first web-based server application using a common API (application programming interface);
Program code for receiving a second request for sensor data using the common API from a second web-based server application unrelated to the first web-based server application;
Program code for processing the first request and the second request for sensor data on a sensor core processor and bypassing a client application processor;
In the sensor core processor, program code for receiving sensor data from the sensor;
A program code for replying to the first request with a first response including the sensor data;
A non-transitory computer-readable storage medium comprising: a program code for returning a second request for the sensor data in a second response different from the first request including the sensor data.
JP2014541084A 2011-11-09 2012-10-19 Sensor API framework for cloud-based applications Active JP6165156B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/292,578 2011-11-09
US13/292,578 US10248184B2 (en) 2011-11-09 2011-11-09 Sensor API framework for cloud based applications
PCT/US2012/061142 WO2013070420A1 (en) 2011-11-09 2012-10-19 Sensor api framework for cloud based applications

Publications (3)

Publication Number Publication Date
JP2015507774A true JP2015507774A (en) 2015-03-12
JP2015507774A5 JP2015507774A5 (en) 2015-11-12
JP6165156B2 JP6165156B2 (en) 2017-07-19

Family

ID=47178914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014541084A Active JP6165156B2 (en) 2011-11-09 2012-10-19 Sensor API framework for cloud-based applications

Country Status (8)

Country Link
US (1) US10248184B2 (en)
EP (1) EP2776900B1 (en)
JP (1) JP6165156B2 (en)
KR (1) KR101683352B1 (en)
CN (1) CN103946769B (en)
ES (1) ES2759620T3 (en)
HU (1) HUE046106T2 (en)
WO (1) WO2013070420A1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013317148A1 (en) 2012-09-12 2014-08-07 Omron Corporation Device for generating data flow control instruction, and sensor management device
AU2013321782A1 (en) * 2012-09-27 2015-04-16 Omron Corporation Device management apparatus and device search method
CN104102749B (en) * 2013-04-11 2019-04-23 华为技术有限公司 Terminal device
US9313740B2 (en) * 2013-06-14 2016-04-12 Sony Corporation Power efficient sensor accessory management through sensor subsystem
US10362112B2 (en) * 2014-03-06 2019-07-23 Verizon Patent And Licensing Inc. Application environment for lighting sensory networks
US10416750B2 (en) 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
WO2016154785A1 (en) * 2015-03-27 2016-10-06 华为技术有限公司 Cloud platform, application operation method and access network unit
KR102525295B1 (en) * 2016-01-06 2023-04-25 삼성전자주식회사 Method for managing data and apparatus thereof
US10009708B2 (en) 2016-03-09 2018-06-26 Tata Consultancy Services Limited System and method for mobile sensing data processing
EP3852424B1 (en) 2016-07-13 2023-11-22 Huawei Technologies Co., Ltd. Application resilience for applications deployed on a cloud platform
WO2018089033A1 (en) * 2016-11-14 2018-05-17 Google Llc Systems and methods for providing interactive streaming media
CN106791152B (en) * 2016-12-30 2019-08-27 Oppo广东移动通信有限公司 A kind of communication means and mobile terminal
CN106713648B (en) * 2016-12-30 2019-07-26 Oppo广东移动通信有限公司 A kind of communication means and mobile terminal
EP3396549A1 (en) * 2017-04-28 2018-10-31 dSPACE digital signal processing and control engineering GmbH Adapter for the connection of an embedded system with a control computer and method of adapting an adapter
US10796501B2 (en) * 2017-06-19 2020-10-06 Qualcomm Incorporated Interactive sharing of vehicle sensor information
US10789093B2 (en) * 2019-02-05 2020-09-29 Citrix Systems, Inc. Extension of mobile device sensor capabilities into an application
US11818210B2 (en) * 2019-10-07 2023-11-14 Advanced Measurement Technology, Inc. Systems and methods of direct data storage for measurement instrumentation
CN111366791A (en) * 2020-03-03 2020-07-03 上海闻泰信息技术有限公司 Method and device for detecting electromagnetic wave absorption ratio and electronic equipment
KR102531765B1 (en) 2020-12-07 2023-05-11 인하대학교 산학협력단 System of hybrid object storage for enhancing put object throughput and its operation method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100302028A1 (en) * 2009-05-26 2010-12-02 Qualcomm Incorporated Power management of sensors within a mobile device
WO2010141878A1 (en) * 2009-06-05 2010-12-09 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060036833A (en) 2004-10-26 2006-05-02 엘지전자 주식회사 Standard memory card type health information measuring apparatus and service method thereof
CN101518119A (en) 2006-09-26 2009-08-26 高通股份有限公司 Sensor networks based on wireless devices
US7925900B2 (en) 2007-01-26 2011-04-12 Microsoft Corporation I/O co-processor coupled hybrid computing device
US8185599B2 (en) * 2007-04-18 2012-05-22 Microsoft Corporation Programming techniques for distributed multi-party networks
US8467300B2 (en) 2007-10-18 2013-06-18 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements in a mobile telecommunications network
US20090125918A1 (en) * 2007-11-13 2009-05-14 Microsoft Corporation Shared sensing system interfaces
KR100959774B1 (en) 2008-06-05 2010-05-27 (주)엔텔스 Method, apparatus for processing sensing information and computer readable record-medium on which program for executing method thereof
US8521848B2 (en) * 2011-06-28 2013-08-27 Microsoft Corporation Device sensor and actuation for web pages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100302028A1 (en) * 2009-05-26 2010-12-02 Qualcomm Incorporated Power management of sensors within a mobile device
WO2010141878A1 (en) * 2009-06-05 2010-12-09 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition

Also Published As

Publication number Publication date
HUE046106T2 (en) 2020-01-28
JP6165156B2 (en) 2017-07-19
EP2776900B1 (en) 2019-09-04
CN103946769B (en) 2017-02-15
ES2759620T3 (en) 2020-05-11
CN103946769A (en) 2014-07-23
US10248184B2 (en) 2019-04-02
KR20140090193A (en) 2014-07-16
WO2013070420A1 (en) 2013-05-16
US20130117769A1 (en) 2013-05-09
KR101683352B1 (en) 2016-12-06
EP2776900A1 (en) 2014-09-17

Similar Documents

Publication Publication Date Title
JP6165156B2 (en) Sensor API framework for cloud-based applications
EP3017321B1 (en) Methods and apparatuses for use in providing location parameters to mobile applications
JP6055826B2 (en) Method and apparatus for positioning terminal equipment
US20170289755A1 (en) Geo-fence notification management
JP6377029B2 (en) Determining target device location based on relative changes in location information
JP2016512943A (en) Mobile device power management while providing location services
TW201004435A (en) Power management using at least one of a special purpose processor and motion sensing
US10037074B2 (en) Computer power management based on sensor data from remote devices
US20120302257A1 (en) Position determination methodology selection
JP2011507460A (en) Method and apparatus for determining radio network signal acquisition rate
JP5672384B2 (en) Transfer and correction of location related data during ongoing location sessions
TW201140112A (en) Methods and apparatuses for responding to a request for satellite positioning system related information associated with a mobile station
CN109479070B (en) Method, apparatus, and medium for in-order message delivery in a distributed store-and-forward system
Wang et al. The outdoor data collection system with GPRS
JPWO2010113301A1 (en) Prediction information providing apparatus, prediction information providing method, and prediction information providing program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170620

R150 Certificate of patent or registration of utility model

Ref document number: 6165156

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