(57)【要約】  API(アプリケーションプログラミングインターフェース)をインターネット上またはクラウド内のウェブベースのサーバアプリケーションに当てるフレームワークのための装置および方法を提示する。このAPIはサーバアプリケーションに対して、モバイルデバイス上の低電力センサコアプロセッサを介したモバイルデバイスからのセンサデータの取り出しを可能とする。このAPIによって、新たなモバイルデバイスクライアントアプリケーションの開発および促進に関連する労力およびコストが排除される。このAPIフレームワークは、モバイルデバイス上の1つまたは複数の特定のセンサからセンサデータをフェッチするためにウェブベースのアプリケーションが使用し得るAPIを含む。
2015507774.tif 000002
【特許請求の範囲】
【請求項１】
共通API(アプリケーションプログラミングインターフェース)を提供するためのモバイルデバイスであって、
ワイヤレスアンテナに結合されたモデムと、
前記モデムに結合されている、ある持続時間にわたって第1の電力レベルを消費するクライアントアプリケーションプロセッサと、
センサコアクライアントおよび前記センサコアクライアントに結合されたセンサドライバを備え、前記持続時間にわたって第2の電力レベルを消費し、かつ前記第2の電力レベルが前記第1の電力レベルよりも低い、前記モデムに結合されかつ前記共通APIを備えるセンサコアプロセッサと、
前記センサコアプロセッサの前記センサドライバと通信するように結合されたセンサと
を備えるモバイルデバイス。
【請求項２】
前記センサが複数のセンサを含み、かつ前記センサドライバがその各々が前記複数のセンサのそれぞれ1つと通信するように結合された対応する複数のセンサドライバを含む、請求項1に記載のモバイルデバイス。
【請求項３】
前記センサが全地球測位衛星(GPS)受信器を含む、請求項1に記載のモバイルデバイス。
【請求項４】
前記センサが複数のセンサを含み、かつ前記複数のセンサが
加速度計と、
ジャイロスコープと
を含む、請求項1に記載のモバイルデバイス。
【請求項５】
前記センサが磁力計を含む、請求項1に記載のモバイルデバイス。
【請求項６】
前記センサが圧力センサを含む、請求項1に記載のモバイルデバイス。
【請求項７】
前記センサが近接センサを含む、請求項1に記載のモバイルデバイス。
【請求項８】
前記センサが周辺光センサ(ALS)を含む、請求項1に記載のモバイルデバイス。
【請求項９】
前記センサがマイクロフォンを含む、請求項1に記載のモバイルデバイス。
【請求項１０】
前記センサがカメラを含む、請求項1に記載のモバイルデバイス。
【請求項１１】
前記モデムはコード分割多元接続(CDMA)モデムを含む、請求項1に記載のモバイルデバイス。
【請求項１２】
前記クライアントアプリケーションプロセッサが複数のクライアントアプリケーションを実行するように構成される、請求項1に記載のモバイルデバイス。
【請求項１３】
前記センサコアクライアントがスリープモードおよび動作モードを含む、請求項1に記載のモバイルデバイス。
【請求項１４】
前記センサコアプロセッサがデューティサイクル動作モードを含み、かつ前記持続時間が全デューティサイクルを含む、請求項1に記載のモバイルデバイス。
【請求項１５】
モバイルデバイスにおいて共通API(アプリケーションプログラミングインターフェース)を提供するための方法であって、
第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るステップと、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るステップと、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするステップと、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るステップと、
前記第1の要求に前記センサデータを含む第1の応答で返信するステップと、
センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するステップと
を含む方法。
【請求項１６】
前記センサデータに対する第1の要求がトリガ性イベントの指示を含む、請求項15に記載の方法。
【請求項１７】
前記トリガ性イベントが前記センサデータとは別のデータを提供する第2のセンサからのある種の条件を含む、請求項16に記載の方法。
【請求項１８】
前記センサコアプロセッサ上でセンサコアクライアントを実行するステップをさらに含む、請求項15に記載の方法。
【請求項１９】
前記センサからの前記センサデータが複数のセンサからのセンサデータを含む、請求項15に記載の方法。
【請求項２０】
前記センサが全地球測位衛星(GPS)受信器を含む、請求項19に記載の方法。
【請求項２１】
前記複数のセンサが、
加速度計と、
ジャイロスコープと
を含む、請求項19に記載の方法。
【請求項２２】
前記センサが磁力計を含む、請求項19に記載の方法。
【請求項２３】
前記センサが圧力センサを含む、請求項19に記載の方法。
【請求項２４】
前記センサが近接センサを含む、請求項19に記載の方法。
【請求項２５】
前記センサが周辺光センサ(ALS)を含む、請求項19に記載の方法。
【請求項２６】
前記センサがマイクロフォンを含む、請求項19に記載の方法。
【請求項２７】
前記センサがカメラを含む、請求項19に記載の方法。
【請求項２８】
前記センサコアプロセッサ上で前記複数のセンサの各々に関してセンサコアクライアントを実行するステップをさらに含む、請求項19に記載の方法。
【請求項２９】
共通API(アプリケーションプログラミングインターフェース)を提供するためのモバイルデバイスであって、
第1のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第1の要求を受け取るための手段と、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第2の要求を受け取るための手段と、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするための手段と、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るための手段と、
前記第1の要求に前記センサデータを含む第1の応答で返信するための手段と、
前記センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するための手段と
を備えるモバイルデバイス。
【請求項３０】
プロセッサおよびメモリを備えるデバイスであって、前記メモリが、
第1のウェブベースのサーバアプリケーションから、共通API(アプリケーションプログラミングインターフェース)を用いてセンサデータに対する第1の要求を受け取るためのソフトウェア命令と、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第2の要求を受け取るためのソフトウェア命令と、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのソフトウェア命令と、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るためのソフトウェア命令と、
前記第1の要求に前記センサデータを含む第1の応答で返信するためのソフトウェア命令と、
前記センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するためのソフトウェア命令と
を含む、デバイス。
【請求項３１】
その上にプログラムコードを保存して含む非過渡的コンピュータ読み取り可能記憶媒体であって、
第1のウェブベースのサーバアプリケーションから、共通API(アプリケーションプログラミングインターフェース)を用いてセンサデータに対する第1の要求を受け取るためのプログラムコードと、
前記第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、前記共通APIを用いてセンサデータに対する第2の要求を受け取るためのプログラムコードと、
センサコアプロセッサ上でセンサデータに対する前記第1の要求および前記第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのプログラムコードと、
前記センサコアプロセッサにおいて、センサからセンサデータを受け取るためのプログラムコードと、
前記第1の要求に前記センサデータを含む第1の応答で返信するためのプログラムコードと、
前記センサデータに対する第2の要求に前記センサデータを含む前記第1の要求とは別の第2の応答で返信するためのプログラムコードと
を含む、非過渡的コンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、本願譲受人に譲渡されかつ参照によりその全体を本明細書に組み込むものとする2011年11月9日に提出された「Sensor API Framework for Cloud Based Applications」と題する米国特許出願第13/292,578号の利益ならびにこれに対する優先権を主張するものである。
【０００２】
本開示は全般的にはワイヤレス通信のための装置および方法に関し、またより詳細にはモバイルデバイスからのセンサデータを複数のウェブベースのアプリケーションに提供することに関する。
【背景技術】
【０００３】
現在モバイルデバイスからのセンサデータを要求するサーバアプリケーションと時々呼ばれるウェブベースのアプリケーションは、モバイルデバイス上で実行する対応するクライアントアプリケーションを有する。これらのクライアントアプリケーションのうちの幾つかはモバイルデバイス上で連続式に動作する。センサデータを革新的な方式で活用するために広範なセンサがモバイルデバイス内に組み込まれかつ一般社会で関心が高まっていることから、モバイルデバイス上のそのようなクライアントアプリケーションはますます人気が高まりかつ使用が増大しつつある。これらの複数のクライアントアプリケーションは、異なるソースに由来するものであり、異なるサーバと通信しており、またその各々がモバイルデバイスから大量の電力および処理サイクルを消費することがある。これらの複数のクライアントアプリケーションが共通のベンダーからのものでない限り、これらは全体として互いに協調することがなくかつランダムにおよび冗長的にセンサを照会する。協調した一回の応答で十分な場合であっても、要求の重複によってセンサが割り込みを受けることがある。加えて、モバイルセンサデータに関心のあるウェブ開発者や研究者は各サーバアプリケーションごとにまた各モバイルデバイスプラットフォームごとに単独のクライアントアプリケーションを書かなければならず、これにより開発コストが上昇しまた開発時間が長くなる。ユーザの立場から見ると、センサデータを要求する異なるサーバの各々について複数のクライアントアプリケーションをインストールすることおよびバッテリをより頻繁に再充電することがユーザにとって必要となる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、モバイルデバイス上で動作しているクライアントアプリケーションの数を低減させ、センサ要求を協調させ、モバイルデバイスプラットフォーム上でのコード開発を最小限にまたは排除し、かつ/またはサーバアプリケーションにセンサデータを提供する際の電力消費を低減させるプラットフォームが存在すべきである。
【０００５】
低デューティサイクルのプロセッサを介して1つまたは複数のセンサからのセンサデータを複数のサーバアプリケーションに結合する共通API(アプリケーションプログラミングインターフェース)を提供し、これにより電力消費の大きいアプリケーションプロセッサの負荷軽減をするためのモバイルデバイスおよびモバイルデバイス上での動作方法を開示する。
【課題を解決するための手段】
【０００６】
幾つかの態様に従って、共通API(アプリケーションプログラミングインターフェース)を提供するためのモバイルデバイスであって、ワイヤレスアンテナに結合されたモデムと、モデムに結合されている、ある持続時間にわたって第1の電力レベルを消費するクライアントアプリケーションプロセッサと、センサコアクライアントおよびこのセンサコアクライアントに結合されたセンサドライバを備え、当該持続時間にわたって第2の電力レベルを消費し、かつ第2のレベルが第1の電力レベルより低い、モデムに結合されかつ共通APIを備えるセンサコアプロセッサと、センサコアプロセッサのセンサドライバと通信するように結合されたセンサとを備えるモバイルデバイスを開示する。
【０００７】
幾つかの態様に従って、モバイルデバイスにおいて共通API(アプリケーションプログラミングインターフェース)を提供するための方法であって、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るステップと、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るステップと、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするステップと、センサコアプロセッサにおいて、センサからセンサデータを受け取るステップと、第1の要求にセンサデータを含む第1の応答で返信するステップと、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するステップと、を含む方法を開示する。
【０００８】
幾つかの態様に従って、共通API(アプリケーションプログラミングインターフェース)170を提供するためのモバイルデバイスであって、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るための手段と、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るための手段と、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするための手段と、センサコアプロセッサにおいて、センサからセンサデータを受け取るための手段と、第1の要求にセンサデータを含む第1の応答で返信するための手段と、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するための手段とを備えるモバイルデバイスを開示する。
【０００９】
幾つかの態様に従って、プロセッサおよびメモリを備えたデバイスであって、このメモリは、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るためのソフトウェア命令と、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るためのソフトウェア命令と、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのソフトウェア命令と、センサコアプロセッサにおいて、センサからセンサデータを受け取るためのソフトウェア命令と、第1の要求にセンサデータを含む第1の応答で返信するためのソフトウェア命令と、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するためのソフトウェア命令と、を含むデバイスを開示する。
【００１０】
幾つかの態様に従って、その上にプログラムコードを保存して含む非過渡的コンピュータ読み取り可能記憶媒体であって、第1のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第1の要求を受け取るためのプログラムコードと、第1のウェブベースのサーバアプリケーションと無関係の第2のウェブベースのサーバアプリケーションから、共通APIを用いてセンサデータに対する第2の要求を受け取るためのプログラムコードと、センサコアプロセッサ上でセンサデータに対する第1の要求および第2の要求を処理するとともにクライアントアプリケーションプロセッサをバイパスするためのプログラムコードと、センサコアプロセッサにおいて、センサからセンサデータを受け取るためのプログラムコードと、第1の要求に対してセンサデータを含む第1の応答で返信するためのプログラムコードと、センサデータに対する第2の要求にセンサデータを含む第1の要求とは別の第2の応答で返信するためのプログラムコードとを備える非過渡的コンピュータ読み取り可能記憶媒体を開示する。
【００１１】
他の態様については、様々な態様を例示として示し説明している次の詳細な説明から当業者には容易に明らかとなろう。この図面および詳細な説明はその性質上例示と見なすべきであり、限定と見なすべきではない。
【００１２】
本発明の実施形態について図面を参照しながら単に例として説明することにする。
【図面の簡単な説明】
【００１３】
【図１】クラウド内で動作するサーバアプリケーションおよびモバイルデバイスのクライアントアプリケーションプロセッサ上で動作する専用のクライアントアプリケーションを含む知られたシステムの構成要素を示す図である。
【図２】クライアントアプリケーションプロセッサを介してセンサデータを提供するモバイルデバイスの構成要素を示す図である。
【図３】本発明の幾つかの実施形態に従ってセンサコアプロセッサを使用しかつクライアントアプリケーションプロセッサをバイパスしてセンサデータを提供するモバイルデバイスの構成要素を示す図である。
【図４】本発明の幾つかの実施形態に従ってAPIフレームワークを示す図である。
【図５】クラウド内で動作するサーバアプリケーションおよびモバイルデバイスのセンサコアプロセッサ上で動作する専用のセンサコアクライアントを含むシステムの構成要素を示す図である。
【図６】本発明の幾つかの実施形態に従って様々なAPIメッセージを例示する図である。
【図７】本発明の幾つかの実施形態に従って流れ図を示す図である。
【発明を実施するための形態】
【００１４】
添付の図面と連携して以下に提示した詳細な説明は、本開示に関する様々な態様の説明を意図するものであり、本開示をそれにより実施し得る唯一の態様を表すことを意図するものではない。本開示で説明した各態様は、単に一例としてまたは本開示の例示として提供するものであり、必ずしも他の態様と比べて好ましいまたは有利であると解釈すべきではない。この詳細な説明は本開示に関する徹底した理解を提供することを目的とした指定の詳細項目を含む。しかしながら、本開示がこれらの指定の詳細項目を伴わずに実施され得ることは当業者には明らかであろう。幾つかの事例において、本開示の概念が不明瞭にならないために、よく知られた構造やデバイスはブロック図形態で示している。単に便宜上および明確化のために頭字語や他の記述用語を用いることがあるが、これらは本開示の範囲の限定を意図するものではない。
【００１５】
本明細書で説明したモバイルデバイスは、ワイヤレスワイドエリアネットワーク(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の何らかの組合せと連携して実現させることもある。
【００１６】
衛星測位システム(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に関連する他の信号を含んでよい。
【００１７】
本明細書で使用する場合、モバイルデバイス100は時々、携帯電話、モバイルフォンまたは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、パーソナル情報管理(PIM)、パーソナルディジタルアシスタント(PDA)、ラップトップまたは適当な他のモバイルデバイスなどワイヤレス通信および/またはナビゲーション信号を受け取ることが可能な移動局(MS)またはユーザ機器(UE)を指す。「移動局」という用語はまた、短距離ワイヤレス接続、赤外線接続、有線接続または他の接続などのパーソナルナビゲーションデバイス(PND)と通信するデバイス(そのデバイスまたはPNDにおいて行われるのが衛星信号受信であるか、アシスタンスデータ受信であるかかつ/または位置関連処理であるかに関わらず)を含むことを意図する。さらに「移動局」は、インターネット、WiFi(登録商標)または他のネットワークなどを介するとともに、そのデバイスにおいて、サーバにおいてもしくはネットワークに関連する別のデバイスにおいて行われるのが衛星信号受信であるか、アシスタンスデータ受信であるかかつ/または位置関連処理であるかに関わらず、サーバと通信することが可能なワイヤレス通信デバイス、コンピュータ、ラップトップなどを含むすべてのデバイスを含むことを意図する。上述のものの何らかの動作可能な組合せもモバイルデバイス100と見なす。
【００１８】
パブリックなインターネットであり得るか、またはプライベートなインターネットであり得るクラウド300は、インターネットゲートウェイを有するワイヤレス基地局またはアクセスポイントを通じてアクセスを受け得る。基地局は、そのデータサービス提供を通じてインターネットアクセスを提供する。同様にアクセスポイントは、WiFi信号を介してインターネットアクセスを提供する。
【００１９】
API(アプリケーションプログラミングインターフェース)をインターネット上またはクラウド300内のウェブベースのサーバアプリケーション200に当てるフレームワークを提示する。このAPIはサーバアプリケーション200に対して、モバイルデバイス100上の低電力センサコアプロセッサを介したモバイルデバイス100からのセンサデータの取り出しを可能とする。このAPIによって、新たなモバイルデバイスクライアントアプリケーションの開発および促進に関連する労力およびコストが排除される。このAPIフレームワークは、モバイルデバイス100上の1つまたは複数の特定のセンサからセンサデータをフェッチするためにウェブベースのアプリケーションを使用し得るAPIを含む。
【００２０】
ウェブベースのアプリケーションがモバイルデバイス100上で指定の1つまたは複数のセンサからのセンサデータに対する要求を送る代わりに、モバイルデバイス100はある種の条件に基づいて作用をトリガするために(しきい値ベースのトリガ、時間ベースのトリガまたは計算ベースのトリガなど)命令をAPIを介して受け取り得る。ウェブベースのアプリケーションは、モバイルデバイス100にAPIを介してカスタマイズ済みのスクリプトを実行させることによって将来のトリガを設定し得る。ウェブベースのアプリケーションは、即座のまたは周期的のいずれかによりセンサデータを要求するために登録してもよく(恐らくは、ユーザに明示的な許可を要求する)、またはセンサデータに関する将来のトリガを設定してもよい。
【００２１】
図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と無関係であるので、センサデータに対する要求は協調的ではない。
【００２２】
図2は、クライアントアプリケーションプロセッサ120を介してセンサデータを提供するモバイルデバイス100の構成要素を示す。モバイルデバイス100は、クライアントアプリケーションプロセッサ120上で動作する専用のクライアントアプリケーション130(たとえば、131、132、133)を介してセンサデータ要求を処理する。サーバアプリケーション200(たとえば、201、202、203)に対しては専用のクライアントアプリケーション130(たとえば、131、132、133)が要求される。
【００２３】
たとえば図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を動作して電力を消費している。
【００２４】
図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の指定のハードウェア実現形態と通信するように調整されている。
【００２５】
センサコアプロセッサ140は、共通API要求を使用しかつモデム110を介して送られるサーバアプリケーション200からの要求を待つ。モデム110はワイヤレスアンテナ111を介してエアインターフェースに結合する。サーバアプリケーション200はモバイルデバイス100に要求をプッシュし得る。センサコアプロセッサ140はクライアントアプリケーションプロセッサ120より応答性が低くなり得るが、しかしながらサーバアプリケーション200におけるセンサデータ受信は多くの場合に時間制約が厳しくない。即座の応答を要求する他のクライアントアプリケーション130は依然として、クライアントアプリケーションプロセッサ120上で実行し得るが、センサコアプロセッサ140上で動作するクライアントアプリケーション130の場合のようには電力消費が低減されない。幾つかの実施形態では、そのセンサコアプロセッサ140が計算集約性がより低いアプリケーションを実行し得る一方、計算集約性がより高いアプリケーションはクライアントアプリケーションプロセッサ120上で実行する。この構成によって、電力集約的なアプリケーションプロセッサをスリープモードのままにした状態でトリガ計算およびセンサデータアップロードを低電力プロセッサ上で実行可能となる。
【００２６】
図4は、本発明に従ってAPIフレームワークを示す。このAPIフレームワークは、アプリケーション層10、高レベルオペレーティングシステム(HLOS20)および低レベルオペレーティングシステム(LLOS30)を含む。このAPIフレームワークによってクラウドベースのモバイルアプリケーション開発が促進されるとともに、モバイルデバイス100からセンサ情報を取り出すために簡単なウェブベースのAPIが提供される。
【００２７】
サーバベースのアプリケーションは、アプリケーション層10においてAPIフレームワークの最上位と通信する。センサはLLOS30で下側からAPIフレームワークと通信する。モバイルデバイス100内においてAPIフレームワークの全体はセンサコアプロセッサ140などの低電力センサコアプロセッサ上で動作する。統合アプリケーションは、アプリケーション層10で動作するとともに、非協調、無関連かつ無関係の複数のクラウドまたはウェブベースのサーバアプリケーション200によって要求されるようなセンサデータを返すことによってクライアントの役割をする。
【００２８】
モバイルデバイス100上のセンサドライバは、アプリケーション層10およびHLOS20より下位に常駐し、かつLLOS30の制御下にある。幾つかの実施形態ではモバイルデバイス100は、LLOS30に結合されたセンサドライバ150を含む。他の実施形態ではそのセンサドライバ150は、LLOS30の一部分または完全部分である。
【００２９】
図5は、クラウド300内で動作するサーバアプリケーション200(たとえば、201、202、203)およびモバイルデバイス100のセンサコアプロセッサ140上で動作する専用のセンサコアクライアント141を含むシステムの構成要素を示す。このシステムはセンサコアプロセッサ140上で動作する単独のセンサドライバ150を介してセンサデータを伝送する。センサコアクライアント141は、センサデータに対する要求を処理するための手段の役割をし得る。センサコアクライアント141は、センサデータに対する2つの単独の要求がセンサドライバ150に対して単一の呼をインボイスするように重複または競合するセンサデータ要求を協調させ得る。したがってセンサ160は、協調した単一の応答で十分な場合に重複する要求による割り込みを受けない。
【００３０】
センサコアプロセッサ140は、単独で無関係のサーバアプリケーション200から(ただし、共通API170によって)モデム110からの要求を受け取る(図3および図4参照)。センサコアプロセッサ140がデューティサイクルの非起動期間(スリープモード)からデューティサイクルの起動期間(動作モード)までの間を一巡するまでこれらの要求は待機し得る。全デューティサイクルは、1つの非起動期間と、隣り合う1つの起動期間とを含む。動作モードよりもスリープモードが好都合であるデューティサイクル動作モードは低電力デューティサイクルモードであることが多い。センサコアプロセッサ140は、低電力デューティサイクルモードで動作することによって電力を節約する。センサコアクライアント141は、センサドライバ150を用いてセンサ160からセンサデータを受け取り、要求側のサーバアプリケーション200に共通API170を介してセンサデータの報告を戻す。この方式ではモバイルデバイス100は、センサコアプロセッサ140を使用しかつクライアントアプリケーションプロセッサ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が添付されている。
【００３２】
幾つかの実施形態ではそのセンサデータ要求は、トリガ性計算またはトリガ性イベントを指示する命令を含んでよい。トリガ性計算は満たされてもよく、または満たされなくてもよい。トリガ性条件が満たされていれば、同じセンサおよび/または異なるセンサからの1つまたは複数のセンサ計測値またはセンサデータによってある種の条件がトリガする場合では、モバイルデバイス100に対してそのセンサのうちの1つまたは複数からセンサデータとしてデータを送るようにトリガが命令する。たとえばモバイルデバイス100は、第2のセンサ(たとえば、温度がある量より低くなることを指示する温度センサ)からのデータに基づいて第1のセンサ(たとえば、境界を跨いだことを示すGPSセンサ)からのデータを含むセンサデータ応答メッセージを送る。トリガ性イベントは所在場所に基づいてよい。たとえば、GPSセンサによってモバイルデバイス100がある境界に入ったまたはこれを出たことが示されると、モバイルデバイス100はその温度を報告し得る。
【００３３】
モバイルデバイス100は、あるセンサがある種の基準をトリガしていることに基づいて複数のセンサからの計測値を送り得る。モバイルデバイス100は、あるセンサからの計測値を、複数のセンサからの計測値の組合せがある種の基準をトリガしていることに基づいて送り得る。このトリガはある範囲またはある種の値であってよく、また報告の重複を少なくするためにヒステリシスを含んでよい。たとえばモバイルデバイス100は、温度センサがある時間にわたってある範囲外の温度を示した場合、湿度センサがある値を超える湿度を示した場合、ならびに加速度計162がある設定したしきい値未満である加速度を示した場合に基づいてGPSデータを送る。
【００３４】
同様にモバイルデバイス100は、複数のセンサが基準を満たしていることに基づいて複数のセンサまたはすべてのセンサからのデータを送り得る。たとえばモバイルデバイス100は、ある種のセンサによって生体センサから患者に緊急事態が起きていることを指示したと判定することがあり、また次いでこの緊急事態を、センサデータ応答メッセージ内の生体センサおよびGPSセンサからのデータの形態で報告し得る。さらに、モバイルデバイス100自体内に幾つかのセンサを含み得る一方、モバイルデバイス100から離れているがこれと通信しているパーソナルエリアネットワーク(PAN)の中に他のセンサを含み得る。
【００３５】
トリガ性計算は1つまたは複数のセンサによってトリガを受ける。トリガ性計算はまた、タイマまたは絶対的な時間によってトリガを受けるまたは条件付けされ得る。たとえばセンサは、条件が満たされかつまた前回報告などの前回イベントからある時間が経過した後にそのデータを報告し得る。モバイルデバイス100は、あるセンサ条件が満たされているか否かを周期的に(たとえば、30分ごとに)チェックし、満たされた場合にセンサデータを報告し得る。モバイルデバイス100は、ある種のセンサ条件が満たされているか否かをスケジュールに従って(たとえば、毎日午前8時、正午および午後5時に)チェックし、満たされた場合にセンサデータを報告し得る。
【００３６】
図7は、本発明の幾つかの実施形態に従って流れ図400を示す。この方法は、モバイルデバイス100内で実行されるとともに、複数のサーバアプリケーション200に共通API170を提供する。ステップ410においてモバイルデバイス100は、第1のウェブベースのアプリケーション(たとえば、サーバAアプリケーション201)から、共通API170を用いてセンサデータに対する第1の要求を受け取る。ステップ420においてモバイルデバイス100は、第1のウェブベースのアプリケーションと無関係な第2のウェブベースのアプリケーション(たとえば、サーバBアプリケーション202)から、同じく共通API170を用いてセンサデータに対する第2の要求を受け取る。
【００３７】
ステップ430において、センサコアプロセッサ140上でセンサコアクライアント141を用いかつクライアントアプリケーションプロセッサ120をバイパスしてモバイルデバイス100がセンサデータに対する第1の要求および第2の要求を処理する。ステップ440においてモバイルデバイス100は、センサコアプロセッサにおいて、センサからセンサデータを受け取る。ステップ450においてモバイルデバイス100は、センサデータを含む第1の応答で第1の要求に返信するとともに、クライアントアプリケーションプロセッサ120をバイパスする。ステップ460においてモバイルデバイス100は、センサデータの第2に対する要求に第2の応答で返信する。この第2の応答は第1の要求とは別のものであり、センサデータを含むとともにクライアントアプリケーションプロセッサ120もバイパスする。ステップ450とステップ460は独立に、順番にまたは互いに重複して行われてもよい。
【００３８】
本明細書で説明した手法はアプリケーションに応じた様々な手段によって実現し得る。たとえばこれらの手法は、ハードウェア、ファームウェア命令、ソフトウェア命令またはこれらの何らかの組合せで実現し得る。ハードウェアの実現形態ではその処理ユニットを、1つまたは複数の特定用途向け集積回路(ASIC)、ディジタル信号プロセッサ(DSP)、ディジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明した機能を実行するように設計した他の電子ユニット、またはこれらの組合せ内で実現し得る。
【００３９】
ファームウェアおよび/またはソフトウェアの実現形態ではその手法は、本明細書で説明した機能を実行するモジュール(たとえば、手順、機能など)によって実現さし得る。本明細書で説明した手法を実現する際に、命令を目に見えるように具現化している何らかの機械読み取り可能媒体を用いてよい。たとえば、ソフトウェアコードをメモリなどの非過渡的コンピュータ読み取り可能記憶媒体内に保存するとともに、プロセッサユニットによって実行し得る。メモリは、プロセッサユニット内に実現してもよく、またはプロセッサユニット外に実現してもよい。本明細書で使用する場合に「メモリ」という用語は、何らかの種別の長期的、短期的、揮発性、不揮発性または他のメモリを指し、何らかの特定の種別のメモリまたは特定の数のメモリ、もしくはメモリをその上に保存する特定の種別の媒体を限定するものではない。
【００４０】
ファームウェアおよび/またはソフトウェアで実現させる場合にその機能は、コンピュータ読み取り可能媒体上の1つまたは複数の命令またはコードとして保存され得る。例としては、データ構造で符号化されたコンピュータ読み取り可能媒体およびコンピュータプログラムで符号化されたコンピュータ読み取り可能媒体が含まれる。コンピュータ読み取り可能媒体は物理的なコンピュータ記憶媒体を含む。記憶媒体はコンピュータによるアクセスが可能である利用可能な何らかの媒体としてよい。限定ではなく例としてそのようなコンピュータ読み取り可能媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶、磁気ディスク記憶または他の磁気式記憶デバイス、もしくは所望のプログラムコードを命令またはデータ構造の形態で保存するために使用可能でありかつコンピュータによるアクセスが可能な他の何らかの媒体を含むことが可能であり、また本明細書で使用する場合にディスク(disk)とディスク(disc)は、コンパクトディスク(CD)、レーザディスク(登録商標)、光学式ディスク、ディジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含むが、ここでディスク(disk)は通常データを磁気式に再生しており、一方ディスク(disc)はデータをレーザを用いて光学式に再生する。上述のものの組合せも、コンピュータ読み取り可能媒体の範囲内に含むべきである。
【００４１】
コンピュータ読み取り可能媒体上への保存に加えて、通信装置内に含まれる送信媒体上の信号として命令および/またはデータを提供し得る。たとえば通信装置は、命令およびデータを指示する信号を有する送受信器を含み得る。これらの命令およびデータは、1つまたは複数のプロセッサに対して本特許請求の範囲で概括した機能を実現させるように構成される。すなわち通信装置は、開示した機能を実行するために情報を指示する信号とともに送信媒体を含む。第1の時点において通信装置内に含まれる送信媒体は開示した機能を実行するために情報の第1の部分を含み得る一方、第2の時点において通信装置内に含まれる送信媒体は開示した機能を実行するために情報の第2の部分を含み得る。
【００４２】
本開示の態様に関する上述の説明は当業者による本開示の製作および使用を可能にするように提供される。これらの態様に対する様々な修正は当業者には容易に明らかであり、また本明細書に規定した包括的な原理は本開示の精神や範囲を逸脱することなく他の態様に適用し得る。
【符号の説明】
【００４３】
10  アプリケーション層
20  高レベルオペレーティングシステム(HLOS)
30  低レベルオペレーティングシステム(LLOS)
100  モバイルデバイス
111  ワイヤレスアンテナ
110  モデム
120  クライアントアプリケーションプロセッサ
130  クライアントアプリケーション
131  クライアントAアプリケーション
132  クライアントBアプリケーション
133  クライアントCアプリケーション
140  センサコアプロセッサ
141  センサコアクライアント
【図１】
2015507774.tif 000003
【図２】
2015507774.tif 000004
【図３】
2015507774.tif 000005
【図４】
2015507774.tif 000006
【図５】
2015507774.tif 000007
【図６】
2015507774.tif 000008
【図７】
2015507774.tif 000009
【国際調査報告】
2015507774.tif 000010
2015507774.tif 000011
2015507774.tif 000012
2015507774.tif 000013
2015507774.tif 000014
2015507774.tif 000015