(57)【要約】  本明細書に説明される特定の実施形態は、システムのセンサにアクセスするためのアプリケーションから要求を受信し、システムの低いレベルで要求をフックし、要求に関連するデータを記録することができる電子デバイスを提供する。一例において、要求は、システムのオペレーティングシステム・センサアプリケーションプログラムインタフェースより低いレベルにフックされる。
2018511902.tif 000002
【特許請求の範囲】
【請求項１】
システムのセンサにアクセスするためのアプリケーションから要求を受信する手順と、
前記システムのオペレーティングシステムレベルより低く前記要求をフックする手順と、
前記要求に関連するデータを記録する手順と
をコンピュータに実行させるためのプログラム。
【請求項２】
前記記録されたデータの少なくとも一部がユーザに伝達される、請求項１に記載のプログラム。
【請求項３】
前記要求に関連する前記記録されたデータと、前記要求に関連する記録されたオペレーティングシステムレベルデータとを比較する手順と、
前記要求に関連する前記記録されたデータと、前記要求に関連する記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信する手順と
をさらにコンピュータに実行させる、
請求項１または２に記載のプログラム。
【請求項４】
前記システムの１または複数のセンサにアクセスするためのアプリケーションから複数の要求を記録させる手順
をさらにコンピュータに実行させる、請求項１から３のいずれか一項に記載のプログラム。
【請求項５】
記録された複数の要求をネットワーク要素に伝達させる手順
をさらにコンピュータに実行させる、請求項１から４のいずれか一項に記載のプログラム。
【請求項６】
ネットワーク要素から前記アプリケーションに対する評判等級を受信させる手順
をさらにコンピュータに実行させ、
前記評判等級は、前記アプリケーションに対して記録されたセンサ要求情報から作り出された、かつ前記記録されたセンサ要求情報は、複数のデバイスから受信された、
請求項１から５のいずれか一項に記載のプログラム。
【請求項７】
センサ利用を決定するための装置であって、前記装置は、
システムのセンサにアクセスするためのアプリケーションから要求を受信し、
前記システムのオペレーティングシステムレベルより低く前記要求をフックし、
前記要求に関連するデータを記録する
センサ利用モジュール
を備える装置。
【請求項８】
前記要求は、前記システムのオペレーティングシステム・センサアプリケーションプログラムインタフェースより低いレベルにフックされる、
請求項７に記載の装置。
【請求項９】
前記記録されたデータの少なくとも一部は、ユーザに伝達される、請求項７または８に記載の装置。
【請求項１０】
前記センサ利用モジュールはさらに、
前記要求に関連する前記記録されたデータと、前記要求に関連する記録されたオペレーティングシステムレベルデータとを比較させ、
前記要求に関連する前記記録されたデータと、前記要求に関連する前記記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信させる、
請求項７から９のいずれか一項に記載の装置。
【請求項１１】
前記センサ利用モジュールはさらに、前記システムの１または複数のセンサにアクセスするための前記アプリケーションからの複数の要求を記録し、
前記記録された複数の要求をネットワーク要素に伝達する、
請求項７から１０のいずれか一項に記載の装置。
【請求項１２】
システムのセンサにアクセスするためのアプリケーションから要求を受信する段階と、
前記システムのオペレーティングシステムレベルより低く前記要求をフックする段階と、
前記要求に関連するデータを記録する段階と
を備える方法。
【請求項１３】
前記要求は、前記システムのオペレーティングシステム・センサアプリケーションプログラムインタフェースより低いレベルにフックされる、
請求項１２に記載の方法。
【請求項１４】
ユーザに前記記録されたデータの少なくとも一部を伝達する段階
をさらに備える請求項１２または１３に記載の方法。
【請求項１５】
前記要求に関連する前記記録されたデータと、前記要求に関連する記録されたオペレーティングシステムレベルデータとを比較する段階と、
前記要求に関連する前記記録されたデータと、前記要求に関連する記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信する段階と
をさらに備える請求項１２から１４のいずれか一項に記載の方法。
【請求項１６】
前記システムの１または複数のセンサにアクセスするためのアプリケーションから複数の要求を記録する段階
をさらに備える請求項１２から１５のいずれか一項に記載の方法。
【請求項１７】
ネットワーク要素に前記記録された複数の要求を伝達する段階
をさらに備える請求項１２から１６のいずれか一項に記載の方法。
【請求項１８】
１または複数のセンサの利用を決定するためのシステムであって、前記システムは、
システムのセンサにアクセスするためのアプリケーションから要求を受信し、
前記システムのオペレーティングシステムレベルより低く前記要求をフックし、
前記要求に関連するデータを記録する
ためのセンサ利用モジュール
を備えるシステム。
【請求項１９】
記録されたデータの少なくとも一部が、ユーザと通信される、
請求項１８に記載のシステム。
【請求項２０】
センサ利用モジュールはさらに、
前記要求に関連する前記記録されたデータと、前記要求に関連する記録されたオペレーティングシステムレベルデータとを比較させ、
前記要求に関連する前記記録されたデータと、前記要求に関連する前記記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信させる
請求項１８または１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１５年３月２７日に出願された「センサ利用の決定」と題する米国非仮特許出願第１４／６７２，０５９号の利益および優先権を主張し、参照によってその全体が本明細書に組み込まれる。
【０００２】
本開示は概して、電子デバイスの分野に関し、より具体的にはセンサ利用の決定に関する。
【背景技術】
【０００３】
エンドユーザは、これまでより多くの電子デバイスの選択枝がある。複数の顕著な技術的トレンドが（例えば、より多くのコンピューティングデバイス、より多くの取り外し可能なディスプレイ、より多くの周辺機器など）、目下進行中であり、これらのトレンドは、電子デバイスの景観を変えつつある。技術的トレンドの１つは、電子デバイスにおけるセンサの使用である。多くの例において、電気デバイスにおけるセンサは、どのアプリケーションがセンサにアクセスしたか、あるいはセンサがどのくらいの頻度で使用中であるかをユーザが知ることなく、使用されている場合がある。したがって、センサ利用の決定を可能にする電子デバイスを提供することにおいて課題がある。
【図面の簡単な説明】
【０００４】
本開示のより完全な理解、およびその特徴と利点を提供するべく、添付の図と併せて以下の説明を参照する。なお同様の参照番号は同様の部分を表す。
【０００５】
【図１】本開示の実施形態による通信システムの実施形態を示す簡略ブロック図である。
【０００６】
【図２】本開示の実施形態による通信システムの実施形態を示す簡略ブロック図である。
【０００７】
【図３】一実施形態による通信システムと関連し得る可能性のある操作を示す簡略フローチャートである。
【０００８】
【図４】一実施形態による通信システムと関連し得る可能性のある操作を示す簡略フローチャートである。
【０００９】
【図５】一実施形態による通信システムと関連し得る可能性のある操作を示す簡略フローチャートである。
【００１０】
【図６】一実施形態による通信システムと関連し得る可能性のある操作を示す簡略フローチャートである。
【００１１】
【図７】一実施形態による通信システムと関連し得る可能性のある操作を示す簡略フローチャートである。
【００１２】
【図８】一実施形態によるポイントツーポイント構成に配置された例示的なコンピューティングシステムのブロック図である。
【００１３】
【図９】本開示の例示的なＡＲＭエコシステム・システムオンチップ（ＳＯＣ）と関連する簡略ブロック図である。
【００１４】
【図１０】一実施形態による例示的なプロセッサコアを示すブロック図である。
【００１５】
図面の図は、それらの寸法が本開示の範囲を逸脱することなく大幅に変更され得るので、必ずしも縮尺通りに描かれない。
【発明を実施するための形態】
【００１６】
［例示的な実施形態］
図１は、本開示の実施形態によるセンサ利用を決定する通信システム１００の実施形態を示す簡略ブロック図である。通信システム１００は、電子デバイス１０２ａおよび１０２ｂ、クラウドサービス１０４ならびにサーバ１０６を含み得る。電子デバイス１０２ａは、プロセッサ１１０、メモリ１１２、オペレーティングシステム（ＯＳ）１１４、ＯＳセンサアプリケーションプログラムインタフェース（ＡＰＩ）１１６、１または複数のアプリケーション１１８ａ−１１８ｃ、１または複数のセンサ１２０ａおよび１２０ｂ、ならびにセキュリティモジュール１２２を含み得る。メモリ１１２は、ＯＳセンサ要求データベース１３４を含み得る。セキュリティモジュール１２２は、センサ利用モジュール１２４ａおよびアプリケーション評判データベース１２６を含み得る。センサ利用モジュール１２４ａは、要求データベース１２８およびセンサフックモジュール１３２を含み得る。電子デバイス１０２ｂは、センサ利用モジュール１２４ｂ、ならびに電子デバイス１０２ａに図示される類似要素を含み得る。クラウドサービス１０４は、ネットワークセキュリティモジュール１３０ａを含み得る。ネットワークセキュリティモジュール１３０ａは、センサ要求データベース１３６ａを含み得る。サーバ１０６は、ネットワークセキュリティモジュール１３０ｂを含み得る。ネットワークセキュリティモジュール１３０ｂは、センサ要求データベース１３６ｂを含み得る。電子デバイス１０２ａおよび１０２ｂ、クラウド１０４、ならびにサーバ１０６は、ネットワーク１４０用いて通信し得る。
【００１７】
例示的な実施形態において、通信システム１００は、システム内の低いレベルにて、センサにアクセスするための要求をフックし、要求に関連するおよびデータを記録するように構成され得る。例えば、センサフックモジュール１３２は、センサ要求をフックするように構成され得、データは、要求データベース１２８に記録され得る。記録されたデータは、どのアプリケーションが、どのセンサに、どのくらいの期間、何の目的でアクセスしているかについてユーザに正確な情報を提供するために使用され得る。加えて、通信システム１００は、低レベルのカーネルをフックすることができ、センサのアプリケーション使用を監視し、ＯＳレベルのＡＰＩからセンサのアプリケーション使用を監視することができる。例えば、アプリケーションは、センサにアクセスすべく、ＯＳセンサＡＰＩ１１６を使用し得、アクセスに関連するデータが、ＯＳセンサ要求データベース１３４に記録され得る。異常に対して、それらの動作を隠そうと試みる悪意のあるアプリケーションを検出すべく、ＯＳセンサ要求データベース１３４内にあるデータはする要求データベース１２８内にあるデータと比較され得る。通信システム１００はまた、ネットワークコンポーネントでの複数のデバイスからセンサ利用およびアプリケーションについての情報を集約し、アプリケーションごとの評判を作り出すように構成され得る。例えば、複数のデバイス（例えば、電子デバイス１０２ａおよび１０２ｂ）は、ネットワークセキュリティモジュール１３０ａおよび１３０ｂに記録されたセンサデータを送信し得、データは、さらなる解析のために、センサ要求データベース１３６ａおよび１３６ｂにそれぞれ格納され得る。
【００１８】
図１の要素は、任意の好適な接続（有線または無線）を採用する１または複数のインタフェースを通じて互いに結合されてよく、それによりネットワーク（例えば、ネットワーク１４０）通信に対する実行可能な経路を提供する。さらに、特定の構成の必要性に基づき、図１のこれらの要素のうち任意の１または複数のものは、組み合わせられるか、またはアーキテクチャから除去されてよい。通信システム１００は、ネットワークにおけるパケットの送信または受信用の伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）通信が可能な構成を含んでよい。通信システム１００はまた、適切な場合および特定の必要性に基づいて、ユーザデータグラムプロトコル／ＩＰ（ＵＤＰ／ＩＰ）、または任意の他の好適なプロトコルと併せて動作し得る。
【００１９】
通信システム１００の特定の例示的技術を説明する目的で、ネットワーク環境をトラバースしている場合がある通信を理解することが重要である。以下の基礎的な情報は、本開示が適切に説明され得る基礎と見なされ得る。
【００２０】
今日の電子デバイス、とりわけモバイルデバイスの多くは、センサを含む。本明細書にて使用される「センサ」なる用語は、動き、姿勢および様々な環境状態を測定するデバイスまたはセンサを含む。例えば、動きセンサは、加速度計、重力センサ、ジャイロスコープおよび回転ベクトルセンサを含む。環境センサは、周囲空気温度および圧力、照度かつ湿度などの様々な環境パラメータを測定するセンサを含み、気圧計、光度計および温度計を含むことができる。位置センサは、姿勢センサおよび磁気計などのデバイスの物理位置を測定することができるセンサを含む。いくつかのセンサは、ハードウェアベースであり、いくつかのセンサは、ソフトウェアベースである。ハードウェアベースのセンサは、電子デバイスに組み込まれる物理コンポーネントである。それらは、例えば、加速度、地球磁場強度、角変化などの特定の環境的特性を直接測定することによりそれらのデータを導出することができる。ソフトウェアベースのセンサは、物理デバイスではなく、多くの場合、模擬的なハードウェアベースのセンサである。ソフトウェアベースのセンサは通常、１または複数のハードウェアベースのセンサからそれらのデータを導出し、仮想センサまたは合成センサ（例えば、線形加速度センサ、重力センサなど）と呼ばれることがある。これらの全ては、「センサ」という広義の用語に含まれる。
【００２１】
多くの場合、アプリケーションは、電子デバイス上で動作することとなるが、ユーザは、何のセンサがアプリケーションによって、どのくらいの期間、および何の目的で使用中であるかに気付いていない。電子デバイス上のアイコンは、センサがライブであるか、または使用中であることを説明し得るが、ユーザがアプリケーションを最近立ち上げていなかった場合、または、センサが複数のアプリケーションにより使用されている場合があり、それでユーザが、どのアプリケーションがセンサを使用しているか、またはどうして使用しているかを知らない場合がある。加えて、不正アプリケーションは、悪意をもってデータを取得すべく、センサ利用を隠す場合がある。必要とされることは、センサ利用を検出および測定するシステムおよび方法である。疑わしい動作の指標であり得る相違を発見するために、システム内部のＯＳにより報告される利用と比較して、検出および測定が、システム内の低いレベルにて起こったなら、有益であろう。
【００２２】
図１に概説される通信システムは、これらの課題（およびその他）を解決することができる。通信システム１００は、センサがアクセスされた場合、システム内の低いレベル(例えば、より低いレベルのカーネルおよびハードウェアインタフェース)にて決定するために、センサ利用モジュール（例えば、センサ利用モジュール１２４ａ）を含むように構成され得る。例えば、センサ利用情報は、どのアプリケーションがどのセンサを使用しているかについて情報を提供すべく、電子デバイスの（例えば、センサフックモジュール１３２を用いる）システム内の低いレベルにて取得され得る。センサ利用情報は、不正アプリケーションによってセンサ使用が隠されるのを防止すべく、古典的なＯＳ供給情報より低く取得され得る。
【００２３】
加えて、センサ利用は、（例えば、ＯＳ  ＡＰＩ１１６から）典型的なＯＳ経路を介して収集され得、２つの結果が、疑わしい動作の証拠を探すべく比較され得る。アプリケーションによるセンサ利用についての情報は、予期されない利用についての情報を取得すべく、ネットワーク要素（例えば、クラウドサービス１０４またはサーバ１０６）での複数のデバイス（例えば、電子デバイス１０２ａおよび１０２ｂ）にわたって（例えば、センサ要求データベース１３６ａおよび１３６ｂにおいて）一括して集約され得、アプリケーションをブロックまたは除去すべく、デバイスに対して行動をとるように使用され得る。収集された情報は、ユーザが、どのアプリケーションが、どのセンサを、何の理由により、どのくらいの期間を使用しているかなどをより良く理解することを支援することができる。これにより、ユーザが（例えば、バックグラウンドタスクと同様に）そのような使用を予期しない場合、アプリケーションのセンサ利用を、または場合によっては、センサの使用をなんとかして隠している場合があるアプリケーションの疑わしい動作を潜在的に識別するのを支援することができる。
【００２４】
さらに、評判システム（例えば、ネットワークセキュリティモジュール１３０ａまたは１３０ｂ）は、アプリケーションの動作についての信頼できる情報を提供することができる。この信頼できる情報は、比較すべきアプリケーションの１または複数を実行しているデバイスそれ自身から実行データと併せて使用され得、疑わしい動作についてユーザに警告し得る。評判スコアが、悪意のあるアクティビティを検出するために、デバイス上に収集されたデータと相互関係付けられ得る。
【００２５】
図１のインフラストラクチャを参照すると、例示的な実施形態による通信システム１００が示される。概して、通信システム１００は、ネットワークの任意のタイプまたはトポロジーにおいて実装され得る。ネットワーク１４０は、通信システム１００を通じて伝播する情報パケットを受信および送信するための、相互接続された通信経路の一連のポイントまたはノードを表す。ネットワーク１４０は、ノード間の通信インタフェースを提供し、任意のローカルエリアネットワーク（ＬＡＮ）、仮想ローカルエリアネットワーク（ＶＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、および、ネットワーク環境における通信を容易にする任意の他の適切なアーキテクチャまたはシステム、あるいはそれらの任意の好適な組み合わせとして、有線および／または無線通信を含みつつ構成され得る。
【００２６】
通信システム１００において、パケット、フレーム、信号、データなどを含むネットワークトラフィックは、任意の好適な通信メッセージングプロトコルに従って送信および受信され得る。好適な通信メッセージングプロトコルは、開放型システム間相互接続（ＯＳＩ）モデルなどの多層方式、または任意のその派生または変種（例えば、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル／ＩＰ（ＵＤＰ／ＩＰ））を含み得る。さらに、セルラネットワークを通じた無線信号通信はまた、通信システム１００に提供され得る。好適なインタフェースおよびインフラストラクチャは、セルラネットワークとの通信を可能とするように提供され得る。
【００２７】
本明細書に使用される「パケット」なる用語は、パケットスイッチネットワーク上のソースノードおよび宛先ノード間に転送され得るデータユニットを指す。パケットは、ソースネットワークアドレスおよび宛先ネットワークアドレスを含む。これらのネットワークアドレスは、ＴＣＰ／ＩＰメッセージングプロトコルにおけるインターネットプロトコル（ＩＰ）アドレスであり得る。本明細書にて用いられる「データ」なる用語は、任意のタイプのバイナリ、数値、音声、映像、テキスト、またはスクリプトデータを指すか、任意のタイプのソースまたはオブジェクトコードを指すか、あるいは電子デバイスおよび／またはネットワークにおいて、あるポイントから別のポイントへ伝達され得る任意の適切なフォーマットでの任意の他の好適な情報を指す。さらに、メッセージ、要求、応答、クエリは、ネットワークトラフィックの形態であり、従って、パケット、フレーム、信号、データなどを含み得る。
【００２８】
例示的な実装例において、電子デバイス１０２ａおよび１０２ｂ、クラウドサービス１０４およびサーバ１０６は、ネットワーク要素であり、それらは、ネットワーク機器、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、またはネットワーク環境における情報交換のために動作できる任意の他の好適なデバイス、コンポーネント、要素もしくはオブジェクトを包含すると意図される。ネットワーク要素は、それらの動作を容易にする、いずれかの好適なハードウェア、ソフトウェア、コンポーネント、モジュール、または、オブジェクトを含み得、ならびに、ネットワーク環境において、データまたは情報を受信、送信、および／または、別な方法で通信するための任意の好適なインタフェースを含み得る。これは、データまたは情報の効果的な交換を可能にする適切なアルゴリズム、および、通信プロトコルを包含し得る。
【００２９】
通信システム１００に関連する内部構造に関して、電子デバイス１０２ａおよび１０２ｂ、クラウドサービス１０４ならびにサーバ１０６の各々は、本明細書に概説される動作で使用される情報を格納するためのメモリ要素（例えば、メモリ１１２）を含み得る。電子デバイス１０２ａおよび１０２ｂ、クラウドサービス１０４およびサーバ１０６の各々は、任意の好適なメモリ要素（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、特定用途向け集積回路（ＡＳＩＣ）など）、ソフトウェア、ハードウェア、ファームウェア、または適切な場合および特定の必要性に基づいて、任意の他の好適なコンポーネント、デバイス、要素、またはオブジェクト内に情報を保持し得る。本明細書に述べられるメモリアイテムのいずれかは、「メモリ要素」という広義の用語に包含されると解釈されるべきである。さらに、通信システム１００において使用、追跡、送信、または、受信されている情報は、いずれかのデータベース、レジスタ、キュー、テーブル、キャッシュ、制御リスト、または、他のストレージ構造内に提供され得、それらの全てが、任意の好適な時間枠で参照できる。そのようなストレージの選択肢のいずれもがまた、本明細書に使用される「メモリ要素」という広義の用語内に含まれ得る。
【００３０】
特定の例示的な実装において、本明細書に概説されている機能は、１または複数の有形媒体内に符号化されているロジック（例えば、ＡＳＩＣ内に提供される組み込みロジック、デジタル信号プロセッサ（ＤＳＰ）命令、プロセッサによって実行される（場合によっては、オブジェクトコードおよびソースコードを含む）ソフトウェア、または、他の同様のマシンなど）によって実装され得、それらは、非一時的なコンピュータ可読媒体を含み得るこれらの例のいくつかにおいて、メモリ要素は、本明細書に説明されている動作に使用されるデータを格納できる。これは、本明細書に説明されているアクティビティを遂行すべく実行されるソフトウェア、ロジック、コード、または、プロセッサ命令を格納できるメモリ要素を含む。
【００３１】
実装例において、電子デバイス１０２ａおよび１０２ｂ、クラウドサービス１０４ならびにサーバ１０６は、本明細書に概説されるように、動作を実現すべく、または動作を助長すべく、ソフトウェアモジュール（例えば、センサ利用モジュール１２４ａおよび１２４ｂ、ならびにネットワークセキュリティモジュール１３０ａおよび１３０ｂ）を含み得る。これらのモジュールは、特定の構成および／またはプロビジョニングの必要性に基づき得る、いずれかの適切な手法で好適に組み合わせられ得る。一実施形態において、そのような動作は、意図される機能を実現すべく、ハードウェアによって実行され得、これらの要素の外部に実装され得、あるいは、なんらかの他のネットワークデバイスに含まれ得る。さらに、モジュールは、ソフトウェア、ハードウェア、ファームウェア、または、それらの任意の好適な組み合わせとして実装できる。これらの要素は、本明細書に概説されているような動作を実現すべく、他のネットワーク要素と連携できるソフトウェア（または、レシプロケーティングソフトウェア）も含み得る。
【００３２】
さらに、電子デバイス１０２ａおよび１０２ｂ、クラウドサービス１０４、サーバ１０６は、本明細書に述べられるようにアクティビティを実行すべく、ソフトウェアまたはアルゴリズムを実行することができるプロセッサ（例えば、プロセッサ１１０）を含み得る。プロセッサは、本明細書に詳述する動作を実現すべく、データに関連する任意のタイプの命令を実行できる。１つの例において、プロセッサは 、要素または物品（例えば、データ）を１つの状態もしくは物から別の状態もしくは物に変換し得る。別の例において、本明細書に概説するアクティビティは、固定ロジックまたはプログラマブルロジック（例えば、プロセッサによって実行されるソフトウェア／コンピュータ命令）で実装されてよい。本明細書に識別される要素は、なんらかのタイプのプログラマブルプロセッサ、プログラマブルデジタルロジック（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ）またはデジタルロジック、ソフトウェア、コード、電子命令若しくはそれらの任意の好適な組み合わせを含むＡＳＩＣであり得る。本明細書に説明される任意の潜在的な処理要素、モジュールおよびマシンは、「プロセッサ」という広義の用語に包含されるものとして解釈されるべきである。
【００３３】
電子デバイス１０２ａおよび１０２ｂはそれぞれ、ネットワーク要素であり得、例えば、デスクトップコンピュータ、ラップトップコンピュータ、モノのインターネット（ＩｏＴ）デバイス、モバイルデバイス、携帯情報端末、スマートフォン、タブレット、または他の類似のデバイスを含む。サーバ１０６は、サーバまたは仮想サーバなどのネットワーク要素であり得、なんらかのネットワーク（例えば、ネットワーク１４０）を介して通信システム１００における通信を開始したいクライアント、顧客、エンドポイントまたはエンドユーザと関連し得る。「サーバ」なる用語は、通信システム１００内部のクライアントの代わりに、クライアントの要求を果たす、および／または一部の計算タスクを実行するように使用されるデバイスを包含する。クラウドサービス１０４は、電子デバイス１０２ａおよび１０２ｂにクラウドサービスを提供するように構成される。クラウドサービスは一般に、インターネットなどのネットワークを通じてサービスとして供給されるコンピューティングリソースの使用として定義され得る。通常、計算、ストレージおよびネットワークリソースは、クラウドインフラストラクチャに提供され、ローカルネットワークからクラウドネットワークにワークロードを効果的にシフトする。
【００３４】
図２を参照すると、図２は、本開示の実施形態によるセンサ利用を決定するための通信システム１００の実施形態の簡略ブロック図である。具体的な例において、アプリケーション１１８ａは、（全地球測位センサ（ＧＰＳ）として図示される）センサ１２０ａにアクセスすべく要求し得る。センサ１２０ａにアクセスするための要求は、要求が、（図１に示される）ＯＳセンサ要求データベース１３４中のＯＳ１１４により記録され得るＯＳセンサＡＰＩ１１６に伝達される。センサフックモジュール１３２は、要求をフックし得、要求に関連するデータを、要求が（図１に示される）要求データベース１２８内に記録され得るセンサ利用モジュール１２４ａに伝達し得る。センサ１２０ａにアクセスするための要求は、カーネルドライバ１３８に伝達され得、センサ１２０ａ上へと伝達され得る。
【００３５】
センサ利用モジュール１２４ａは、ユーザ１４２に記録データを表示し、ネットワーク要素（例えば、クラウドサービス１０４またはサーバ１０６）にデータをプロキシするように構成され得る。センサ利用モジュール１２４ａは、どのアプリケーションがセンサにアクセスしたかを（信頼できる方式にて）決定することができ、アプリケーションごとにユーザ１４２にアプリケーション評判を提供することができる。例えば、ＧＰＳセンサは、アプリケーションによって使用されている場合、センサ利用モジュール１２４ａは、どのアプリケーションがセンサを使用したか、どのくらいの期間か、どのデータが検索されたか、およびアプリケーションの評判について情報を提供することができる。１つの例において、信頼できるトラベルアプリケーションは、２時間の間ＧＰＳセンサにアクセスし得、電子デバイス１０２の経度および緯度を取得し得る。別の例において、信頼されないトラベルアプリケーションは、１時間の間、音センサまたはマイクにアクセスし得、ユーザ１４２の音声データを取得し得る。信頼されないトラベルアプリケーションは、音センサにアクセスすべくＯＳのＡＰＩを使用していない場合があり、アクセスは、ＯＳにより検出されていない場合がある。ＯＳセンサ要求データベース１３４における記録されたデータと、要求データ・データベース１２８における記録されたデータとを比較することにより、相違が、識別され得、悪意のあるアプリケーションが識別され得る。
【００３６】
センサ利用モジュール１２４ａは、ユーザ１４２に、どのアプリケーションが、どのセンサをどのくらいの期間使用しているかについてローカル利用報告およびアラートを提供することができ、ユーザが介入してセンサに対するアプリケーションのアクセスを制限またはブロックする選択枝を提供することができる。加えて、センサ利用モジュール１２４ａは、ネットワークセキュリティモジュール１３０ａおよび１３０ｂから所与のアプリケーションの評判について情報を収集することができ、それは信頼およびプライバシの評判を含み、アプリケーションの悪質性またはデータ暴露レベルに対する等級を提供する。
【００３７】
ネットワークセキュリティモジュール１３０ａおよび１３０ｂは、センサ利用モジュール１２４ａによって使用されるアプリケーション評判を提供し得る。ネットワークセキュリティモジュール１３０ａおよび１３０ｂは、アプリケーションに関する情報の拡張により、どのセンサがアプリケーションによってアクセス中であるか、センサがどのくらいの期間アクセスされたか、どのタイプのデータが使用中であるかなどを示すのを可能にすることができる。例えば、ネットワークセキュリティモジュール１３０ａおよび１３０ｂは、アプリケーションが１日あたりＧＰＳセンサにアクセスする回数、ＧＰＳセンサがどのくらいの期間アクセスされるか、アクセスに基づきバッテリ消費を推定することなどを決定し得る。ネットワークセキュリティモジュール１３０ａおよび１３０ｂは、センサに関してアプリケーションの予期される動作と、特定の電子デバイスに対するアプリケーションによって直面される動作との間の相関結果を含み得る。例えば、フラッシュライトアプリケーションは、１つの電子デバイスにおけるＧＰＳセンサにアクセスし得るが、他のデバイスにおけるＧＰＳセンサにアクセスしない。そのような相関は、２つの動作間の相違点を説明し得、疑わしいアクティビティをおそらく示し得る。
【００３８】
図３を参照すると、図３は、一実施形態によるセンサ利用の決定と関連し得るフロー３００の考えられる操作を示す例示的なフローチャートである。一実施形態において、フロー３００の１または複数の操作は、センサ利用モジュール１２４ａおよびセンサフックモジュール１３２の一方または両方によって実行され得る。３０２にて、システム内のアプリケーションが、センサにアクセスするための要求を送信する。３０４にて、センサにアクセスするための要求は、システム内の低いレベルでフックされる。３０６にて、センサにアクセスするための要求に関連するデータが記録される。３０８にて、記録された要求データの少なくとも一部が、ユーザに伝達される。
【００３９】
図４を参照すると、図４は、一実施形態によるセンサ利用の決定と関連し得るフロー４００の考えられる操作を示す例示的なフローチャートである。一実施形態において、フロー４００の１または複数の操作が、センサ利用モジュール１２４ａおよびセンサフックモジュール１３２の一方または両方によって実行され得る。４０２にて、システム内のセンサ利用モジュールは、システム内のアクセスセンサにアクセスするための要求を低いレベルでフックする。４０４にて、各フックされた要求に関連するデータが記録される。４０６にて、記録されたデータの少なくとも一部が、ユーザに伝達される。
【００４０】
図５を参照すると、図５は、実施形態によるセンサ利用の決定と関連し得るフロー５００の考えられる操作を示す例示的なフローチャートである。一実施形態において、フロー５００の１または複数の操作は、センサ利用モジュール１２４ａおよびセンサフックモジュール１３２の一方または両方によって実行され得る。５０２にて、センサにアクセスするための要求は、システム内の低いレベルでフックされる。５０４にて、センサにアクセスするための各要求に関連するデータが記録される。５０６にて、記録されたデータは、任意の異常を識別すべく、センサにアクセスするための要求に対するオペレーティングシステムレベルの測定値と比較される。
【００４１】
図６を参照すると、図６は、一実施形態によるセンサ利用の決定と関連し得るフロー６００の考えられる操作を示す例示的なフローチャートである。一実施形態において、フロー６００の１または複数の操作は、センサ利用モジュール１２４ａおよびセンサフックモジュール１３２の一方または両方により実行され得る。６０２にて、センサにアクセスするための要求は、システム内の低いレベルでフックされる。６０４にて、センサにアクセスするための各要求に関連するデータが、記録される。６０６にて、記録されたデータの少なくとも一部は、さらなる解析のためにネットワーク要素に伝達される。６０８にて、ネットワーク要素は、他のシステムから関連する記録されたデータを受信する。６１０にて、記録されたデータおよび関連する記録されたデータが解析される。
【００４２】
図７を参照すると、図７は、一実施形態によるセンサ利用の決定と関連し得るフロー７００の考えられる操作を示す例示的なフローチャートである。一実施形態において、フロー７００の１または複数の操作が、センサ利用モジュール１２４ａおよびセンサフックモジュール１３２の一方または両方によって実行され得る。７０２にて、システムのアプリケーションが、センサにアクセスするための要求を送信する。７０４にて、センサにアクセスするための要求は、システム内の低いレベルでフックされ、解析される。７０６にて、システムは、アプリケーションが信頼されないかどうかを判定する。アプリケーションが信頼されない場合、センサにアクセスするための要求は、７１０にあるように認められない。アプリケーションが信頼されなくない（例えば、信頼できる、または安全である）場合、センサにアクセスするための要求は、認められる。
【００４３】
図８は、一実施形態によるポイントツーポイント（ＰｔＰ）構成に配置されるコンピューティングシステム８００を示す。特に、図８は、プロセッサ、メモリ、および入力／出力デバイスが複数のポイントツーポイント・インタフェースにより相互接続されたシステムを示す。通常、通信システム１００のネットワーク要素の１または複数は、コンピューティングシステム８００と同じまたは同様な方法で構成され得る。
【００４４】
図８に示されるように、システム８００は複数のプロセッサを含み得、それらの２つのプロセッサ８７０および８８０だけが明確に示される。２つのプロセッサ８７０および８８０が示されるが、システム８００の実施形態はまた、そのようなプロセッサの１つだけを含み得ることが、理解されるべきである。プロセッサ８７０および８８０はそれぞれ、プログラムの複数のスレッドを実行すべく、コアセット（すなわち、プロセッサコア８７４Ａおよび８７４Ｂと、プロセッサコア８８４Ａおよび８８４Ｂと）を含み得る。コアは、図２−図６を参照して上に述べられものと同様にして命令コードを実行するように構成され得る。各プロセッサ８７０、８８０は、少なくとも１つの共有キャッシュ８７１、８８１を含み得る。共有キャッシュ８７１、８８１は、プロセッサコア８７４および８８４などの、プロセッサ８７０、８８０の１または複数のコンポーネントによって利用されるデータ（例えば、命令）を格納し得る。
【００４５】
また、プロセッサ８７０および８８０の各々は、メモリ要素８３２および８３４と通信すべく、統合メモリコントローラロジック（ＭＣ）８７２および８８２を含み得る。メモリ要素８３２および／または８３４は、プロセッサ８７０および８８０によって使用される様々なデータを格納し得る。代替的な実施形態において、メモリコントローラロジック８７２および８８２は、プロセッサ８７０および８８０とは独立した別個のロジックであり得る。
【００４６】
プロセッサ８７０および８８０は、任意のタイプのプロセッサであり得、それぞれ、ポイントツーポイント（ＰｔＰ）インタフェース回路８７８および８８８を用いて、ポイントツーポイント・インタフェース回路８５０を介してデータを交換し得る。プロセッサ８７０および８８０はそれぞれ、ポイントツーポイント・インタフェース回路８７６、８８６、８９４および８９８を用いて、個別のポイントツーポイント・インタフェース８５２および８５４を介して、制御ロジック８９０とデータを交換し得る。制御ロジック８９０はまた、ＰｔＰインタフェース回路であり得るインタフェース回路８９２を用いて、高性能グラフィックインタフェース８３９を介して、高性能グラフィック回路８３８とデータを交換し得る。代替的な実施形態において、図８に示される任意のまたは全てのＰｔＰリンクは、ＰｔＰリンクとしてではなくマルチドロップバスとして実装され得る。
【００４７】
制御ロジック８９０は、インタフェース回路８９６を介してバス８２０と通信してよい。バス８２０は、バスブリッジ８１８およびＩ／Ｏデバイス８１６などの、それを通じて通信する１または複数のデバイスを有し得る。バス８１０を介して、バスブリッジ８１８は、キーボード／マウス８１２（もしくは、例えばタッチスクリーン、トラックボールなどの他の入力デバイス）、通信デバイス８２６（例えば、モデム、ネットワークインタフェースデバイス、またはコンピュータネットワーク８６０を通じて通信し得る他のタイプの通信デバイスなど）、オーディオＩ／Ｏデバイス８１４、および／もしくはデータストレージデバイス８２８等の他のデバイスと通信してよい。データストレージデバイス８２８はコード８３０を格納し得、これはプロセッサ８７０および／または８８０により実行され得る。代替的な実施形態において、バスアーキテクチャの任意の部分は、１または複数のＰｔＰリンクで実装され得る。
【００４８】
図８に図示されるコンピュータシステムは、本明細書に述べられる様々な実施形態を実装すべく利用され得るコンピューティングシステムの一実施形態の概略図である。図８に図示されるシステムの様々なコンポーネントは、システムオンチップ（ＳｏＣ）アーキテクチャで、または任意の他の好適な構成で組み合わせられ得ることが理解されよう。例えば、本明細書に開示される実施形態は、例えば、スマート携帯電話、タブレットコンピュータ、携帯情報端末、携帯ゲームデバイスなどのモバイルデバイスを含むシステムへ組み込まれ得る。これらのモバイルデバイスは、少なくともいくつかの実施形態においてＳｏＣアーキテクチャを備え得ることが理解されよう。
【００４９】
図９を参照すると、図９は本開示の例示的なＡＲＭエコシステムＳＯＣ９００に関連する簡略ブロック図である。本開示の少なくとも１つの実装例は、本明細書に述べられるセンサ利用決定の特徴およびＡＲＭコンポーネントを含み得る。例えば、図９の例は任意のＡＲＭコア（例えば、Ａ−９、Ａ−１５など）に関連付けることができる。さらに、アーキテクチャは、任意のタイプのタブレット、（Ａｎｄｒｏｉｄ（登録商標）フォン、ｉＰｈｏｎｅ（登録商標）を含む）スマートフォン、ｉＰａｄ（登録商標）、Ｇｏｏｇｌｅ  Ｎｅｘｕｓ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｓｕｒｆａｃｅ（登録商標）、パーソナルコンピュータ、サーバ、ビデオ処理コンポーネント、ラップトップコンピュータ（任意のタイプのノートパソコンを含む）、Ｕｌｔｒａｂｏｏｋ（登録商標）システム、任意のタイプのタッチ対応入力デバイスなどの一部であり得る。
【００５０】
図９のこの例において、ＡＲＭエコシステムＳＯＣ９００は、液晶ディスプレイ（ＬＣＤ）と結合するモバイル業界プロセッサインタフェース（ＭＩＰＩ）／ハイデフィニションマルチメディアインタフェース（ＨＤＭＩ（登録商標））リンクに関連付けられ得る、複数のコア９０６−９０７、Ｌ２キャッシュコントロール９０８、バスインタフェースユニット９０９、Ｌ２キャッシュ９１０、グラフィックスプロセッシングユニット（ＧＰＵ）９１５、相互接続９０２、ビデオコーデック９２０、および液晶ディスプレイ（ＬＣＤ）  Ｉ／Ｆ９２５、を含み得る。
【００５１】
ＡＲＭエコシステムＳＯＣ９００はまた、加入者識別モジュール（ＳＩＭ）Ｉ／Ｆ９３０、ブートリードオンリーメモリ（ＲＯＭ）９３５、シンクロナス・ダイナミック・ランダムアクセスメモリ（ＳＤＲＡＭ）コントローラ９４０、フラッシュコントローラ９４５、シリアル・ペリフェラル・インタフェース（ＳＰＩ）マスタ９５０、好適な電力コントロール９５５、ダイナミックＲＡＭ（ＤＲＡＭ）９６０、およびフラッシュ９６５を含んでよい。加えて、１または複数の実施形態は、Ｂｌｕｅｔｏｏｔｈ（登録商標）９７０、３Ｇモデム９７５、全地球測位システム（ＧＰＳ）９８０、および８０２．１１Ｗｉ−Ｆｉ（登録商標）９８５の実例などの１または複数の通信能力、インタフェース、および特徴を含む。
【００５２】
動作において、図９の例は、比較的低消費電力と同時に処理能力を提供でき、様々なタイプのコンピューティング（例えば、モバイルコンピューティング、ハイエンドデジタルホーム、サーバ、無線インフラストラクチャなど）を可能とする。加えて、そのようなアーキテクチャは、任意の数のソフトウェアアプリケーション（例えば、Ａｎｄｒｏｉｄ（登録商標）、Ａｄｏｂｅ（登録商標）Ｆｌａｓｈ（登録商標）プレーヤ、Ｊａｖａ（登録商標）プラットフォームスタンダードエディション（Ｊａｖａ（登録商標）ＳＥ）、Ｊａｖａ（登録商標）ＦＸ、Ｌｉｎｕｘ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｅｍｂｅｄｄｅｄ、ＳｙｍｂｉａｎおよびＵｂｕｎｔｕなど）を可能にできる。少なくとも１つの実施形態において、コアプロセッサは、結合された低レイテンシレベル２キャッシュを有するアウトオブオーダ・スーパースカラパイプラインを実装し得る。
【００５３】
図１０は、一実施形態によるプロセッサコア１０００を示す。プロセッサコア１０は、マイクロプロセッサ、埋め込みプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、または、コードを実行する他のデバイスなどの、任意のタイプのプロセッサ用のコアであってもよい。図１０には、単一のプロセッサコア１０００のみが示されるが、プロセッサは代替的に図１０に示されるプロセッサコア１０００の２つ以上を含み得る。例えば、プロセッサコア１０００は、図８のプロセッサ８７０および８８０を参照して示され、説明されるプロセッサのコア８７４ａ、８７４ｂ、８８４ａおよび８８４ｂの一実施形態を表す。プロセッサコア１０００はシングルスレッドコアであり得、または、少なくとも１つの実施形態では、プロセッサコア１０００は１つのコアにつき２つ以上のハードウェアスレッドコンテキスト（または「論理プロセッサ」）を含み得るという点で、マルチスレッドであり得る。
【００５４】
図１０はまた、一実施形態によるプロセッサコア１０００に結合されるメモリ１００２を示す。メモリ１００２は、当業者に既知の、またはさもなければ入手可能な任意の多種多様なメモリ（メモリ階層の様々な層を含む）であり得る。メモリ１００２は、プロセッサコア１０００により実行される、１または複数の命令であり得るコード１００４を含み得る。プロセッサコア１０００は、コード１００４によって示される命令のプログラムシーケンスに従うことができる。各命令はフロントエンドロジック１００６に入り、１または複数のデコーダ１００８によって処理される。デコーダは、その出力として、所定のフォーマットの固定幅マイクロオペレーションなどのマイクロオペレーションを生成し得、または元のコード命令を反映する他の命令、マイクロ命令、もしくは制御信号を生成し得る。フロントエンドロジック１００６はまた、レジスタリネーミングロジック１０１０およびスケジューリングロジック１０１２を含み、これらは概してリソースを割り振り、実行のための命令に対応する動作をキューに登録する。
【００５５】
プロセッサコア１０００はまた、１セットの実行ユニット１０１６−１から１０１６−Ｎを有する実行ロジック１０１４を含み得る。いくつかの実施形態は、特定の機能または機能のセット専用の複数の実行ユニットを含み得る。他の実施形態は、１つの実行ユニットのみ、または特定の機能を実行し得る１つの実行ユニットを含み得る。実行ロジック１０１４は、コード命令によって指定される動作を実行する。
【００５６】
コード命令によって指定された動作の実行が完了した後、バックエンドロジック１０１８は、コード１００４の命令をリタイアすることができる。１つの実施形態において、プロセッサコア１０００は、命令のアウトオブオーダ実行を可能にするが、インオーダリタイアメントを必要とする。リタイアメントロジック１０２０は、様々な既知の形態（例えば、リオーダバッファ等）を取り得る。この手法において、プロセッサコア１０００は、少なくともデコーダ、レジスタリネーミングロジック１０１０によって利用されるハードウェアレジスタおよびテーブル、および実行ロジック１０１４によって修正される任意のレジスタ（不図示）が生成する出力に換算して、コード１００４の実行中に変換される。
【００５７】
図１０には図示していないが、プロセッサは、プロセッサコア１０００と共にチップ上に他の要素を含み得、それらの少なくともいくつかは図８を参照して本明細書に示され、説明された。例えば、図８に示されるように、プロセッサは、プロセッサコア１０００と共にメモリ制御ロジックを含み得る。プロセッサは、Ｉ／Ｏ制御ロジックを含み得、および／またはメモリ制御ロジックと統合されたＩ／Ｏ制御ロジックを含み得る。
【００５８】
本明細書に提供される例では、インタラクションは２つ、３つ、またはそれらより多くのネットワーク要素の点から説明され得ることに留意されたい。しかしながら、これは、明瞭化および例示のみの目的でそのようにしている。特定の場合には、限定された数のネットワーク要素のみを参照することにより、所与のセットのフローにおける機能のうちの１または複数を説明することがより容易である場合がある。通信システム１００およびその教示は、容易に拡張可能であり、多数のコンポーネント、ならびにより複雑／高度な配置および構成に適合し得ることを理解されたい。従って、提供される例は、潜在的に無数の他のアーキテクチャに適用される通信システム１００の範囲を限定すべきではないか、または広範な教示を阻むべきものではない。
【００５９】
前述のフロー図（すなわち、図３−図７）における操作は、通信システム１００によって、またはその内部で実行され得る考えられる相互に関連があるシナリオおよびパターンのいくつかを示すに過ぎないことに留意すべきことも重要である。適切な場合にはこれらの操作のいくつかは削除されるか、除去されてよく、またはこれらの操作は本開示の範囲を逸脱することなく大幅に修正または変更されてよい。加えて、これらの操作の複数は、１または複数の追加の操作と同時、または並行して実行されているものとして説明された。しかしながら、これらの操作のタイミングは、大幅に変更され得る。前述の操作フローは、例示および説明の目的で提供されている。任意の好適な配置、時系列、構成、およびタイミングメカニズムが、本開示の教示から逸脱することなく提供され得るという点で、かなりの柔軟性が通信システム１００よって提供される。
【００６０】
本開示は具体的な配置および構成を参照して詳細に説明されているが、これらの例示的構成および配置は、本開示の範囲から逸脱することなく大幅に変更されてよい。さらに、特定のコンポーネントは、特定の必要性および実装に基づいて組み合わせられ、分離され、除去され、または追加されてもよい。さらに、通信システム１００は、通信プロセスを容易にする特定の要素および動作を参照して図示されているが、これらの要素および動作は、通信システム１００の意図される機能を実現する任意の好適なアーキテクチャ、プロトコルおよび／またはプロセスによって取り替えられ得る。本明細書に使用されるように、「および／または」なる用語は、１つのおよび、または、１つのまたはの条件を含むことができる。例えば、Ａ、Ｂおよび／またはＣは、Ａ、ＢおよびＣ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、Ａ、ＢまたはＣ、ＡまたはＢ、ＡまたはＣ、ＢまたはＣ、およびそれらの任意の他の変形を含むであろう。
【００６１】
多数の他の変化、代替、変形例、変更、および、修正が、当業者に確かめられてもよく、本開示は、添付された請求項の範囲内にある、全てのそのような複数の変化、代替、変形例、変更、および、修正を包含することが意図されている。米国特許商標庁（ＵＳＰＴＯ）と、さらに本願に発行されるいかなる特許のいかなる読み手とが本明細書に添付された請求項を解釈するのを支援するべく、出願人には（ａ）添付された特許請求の範囲のいずれにも、「ための手段」または「ためのステップ」なる文言が具体的に特定の請求項に用いられない限り、本願の出願日に存在する米国特許法第１１２条第６パラグラフを行使する意図はないこと、（ｂ）明細書中の何らかの説明により、添付された特許請求の範囲に別途反映されない何らかの手法でこの開示を限定する意図はないことに留意することを、出願人は望む。
［他の注釈および例］
【００６２】
例Ｃ１は、少なくとも１つのプロセッサによって実行された場合、少なくとも１つのプロセッサに、システムのセンサにアクセスするためのアプリケーションから要求を受信させ、システムのオペレーティングシステムレベルより低く要求をフックさせ、要求に関連するデータを記録させる１または複数の命令を有する少なくとも１つのマシン可読ストレージ媒体である。
【００６３】
例Ｃ２において、例Ｃ１の主題は任意に、要求は、システムのオペレーティングシステム・センサアプリケーションプログラムインタフェースより低いレベルにフックされる場合を含むことができる。
【００６４】
例Ｃ３において、例Ｃ１−Ｃ２のいずれか１つの主題は任意に、記録されたデータの少なくとも一部が、ユーザに伝達される場合を含むことができる。
【００６５】
例Ｃ４において、例Ｃ１−Ｃ３のいずれか１つの主題は任意に、少なくとも１つのプロセッサによって実行された場合、少なくとも１つのプロセッサに、
要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとを比較させ、
要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信させる
１または複数の命令を含むことができる。
【００６６】
例Ｃ５において、例Ｃ１−Ｃ４のいずれか１つの主題は任意に、少なくとも１つのプロセッサによって実行された場合、少なくとも１つのプロセッサに、システムの１または複数のセンサにアクセスするためのアプリケーションからの複数の要求を記録させる１または複数の命令を含むことができる。
【００６７】
例Ｃ６において、例Ｃ１−Ｃ５のいずれか１つの主題は任意に、少なくとも１つのプロセッサによって実行された場合、少なくとも１つのプロセッサに、ネットワーク要素に記録された複数の要求を伝達させる１または複数の命令を含むことができる。
【００６８】
例Ｃ７において、例Ｃ１−Ｃ６のいずれか１つの主題は任意に、少なくとも１つのプロセッサによって実行された場合、少なくとも１つのプロセッサに、ネットワーク要素からアプリケーションに対する評判等級を受信させる１または複数の命令を含むことができ、評判等級は、アプリケーションに対して記録されたセンサ要求情報から作り出された、かつ記録されたセンサ要求情報は、複数のデバイスから受信されたものである。
【００６９】
例Ｃ８において、例Ｃ１−Ｃ７のいずれか１つの主題は任意に、少なくとも１つのプロセッサによって実行された場合、少なくとも１つのプロセッサに、アプリケーションに対する評判等級が要求と一致しない場合、要求をブロックさせる１または複数の命令を含むことができる。
【００７０】
例Ａ１において、センサ利用を決定する装置であって、その装置は、
システムのセンサにアクセスするためのアプリケーションから要求を受信し、
システムのオペレーティングシステムレベルより低く要求をフックし、
要求に関連するデータを記録する
ように構成されるセンサ利用モジュールを含む。
【００７１】
例Ａ２において、例Ａ１の主題は任意に、要求は、システムのオペレーティングシステム・センサアプリケーションプログラムインタフェースより低いレベルにフックされる場合を含むことができる。
【００７２】
例Ａ３において、例Ａ１−Ａ２のいずれか１つの主題は任意に、記録されたデータの少なくとも一部が、ユーザに伝達される場合を含むことができる。
【００７３】
例Ａ４において、例Ａ１−Ａ３のいずれか１つの主題は任意に、センサ利用モジュールはさらに、
要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとを比較させ、
要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信させるように構成される場合を含むことができる。
【００７４】
例Ａ５において、例Ａ１−Ａ４のいずれか１つの主題は任意に、センサ利用モジュールはさらに、システムの１または複数のセンサにアクセスするためのアプリケーションから複数の要求を記録するように構成される場合を含むことができる。
【００７５】
例Ａ６において、例Ａ１−Ａ５のいずれか１つの主題は任意に、センサ利用モジュールはさらに、記録された複数の要求をネットワーク要素に伝達するように構成される場合を含むことができる。
【００７６】
例Ａ７において、例Ａ１−Ａ６のいずれか１つの主題は任意に、センサ利用モジュールはさらに、ネットワーク要素からアプリケーションに対する評判等級を受信するように構成され、
評判等級は、アプリケーションに対して記録されたセンサ要求情報から作り出された、かつ記録されたセンサ要求情報は、複数のデバイスから受信された場合を含むことができる。
【００７７】
例Ａ８において、例Ａ１−Ａ７のいずれか１つの主題は任意に、センサ利用モジュールはさらに、アプリケーションに対する評判等級が要求と一致しない場合、要求をブロックするように構成される場合を含むことができる。
【００７８】
例Ｍ１は、システムのセンサにアクセスするためのアプリケーションから要求を受信する工程と、
システムのオペレーティングシステムレベルより低く要求をフックする工程と、要求に関連するデータを記録する工程とを備える方法である。
【００７９】
例Ｍ２において、例Ｍ１の主題は任意に、要求が、システムのオペレーティングシステム・センサアプリケーションプログラムインタフェースより低いレベルにフックされる場合を含むことができる。
【００８０】
例Ｍ３において、例Ｍ１およびＭ２のいずれか１つの主題は任意に、ユーザに記録されたデータの少なくとも一部を伝達する工程を含むことができる。
【００８１】
例Ｍ４において、例Ｍ１からＭ３のいずれか１つの主題は任意に、要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとを比較する工程と、
要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信する工程とを含むことができる。
【００８２】
例Ｍ５において、例Ｍ１からＭ４のいずれか１つの主題は任意に、システムの１または複数のセンサにアクセスするためのアプリケーションから複数の要求を記録する工程を含むことができる。
【００８３】
例Ｍ６において、例Ｍ１からＭ５のいずれか１つの主題は任意に、ネットワーク要素に記録された複数の要求を伝達する工程を含むことができる。
【００８４】
例Ｍ７において、例Ｍ１からＭ６のいずれか１つの主題は任意に、ネットワーク要素からアプリケーションに対する評判等級を受信する工程を含み、評判等級は、アプリケーションに対して記録されたセンサ要求情報から作り出された、かつ記録されたセンサ要求情報は、複数のデバイスから受信された場合を含むことができる。
【００８５】
例Ｓ１は、１または複数のセンサの利用を決定するためのシステムであって、システムは、システムのセンサにアクセスするためのアプリケーションからの要求を受信し、システムのオペレーティングシステムレベルより低く要求をフックし、要求に関連するデータを記録するために構成されたセンサ利用モジュールを含むものである。
【００８６】
例Ｓ２において、例Ｓ１の主題は任意に、要求は、システムのオペレーティングシステム・センサアプリケーションプログラムインタフェースより低いレベルにフックされる場合を含むことができる。
【００８７】
例Ｓ３において、例Ｓ１およびＳ２のいずれか１つの主題は任意に、記録されたデータの少なくとも一部が、ユーザに伝達される場合を含むことができる。
【００８８】
例Ｓ４において、例Ｓ１からＳ３のいずれか１つの主題は任意に、要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとを比較することと、要求に関連する記録されたデータと、要求に関連する記録されたオペレーティングシステムレベルデータとの間に相違がある場合、アラートを送信することとを含むことができる。
【００８９】
例Ｘ１は、例Ａ１−Ａ８または例Ｍ１−Ｍ７のいずれか１つと同様に、方法を実装するか、または装置を実現するマシン可読命令を含むマシン可読ストレージ媒体である。例Ｙ１は、例Ｍ１−Ｍ７の方法のいずれかを実行するための手段を含む装置である。例Ｙ２において、例Ｙ１の主題は任意に、プロセッサおよびメモリを含む方法を実行する手段を含むことができる。例Ｙ３において、例Ｙ２の主題は任意に、マシン可読命令を備えるメモリを含むことができる。
【図１】
2018511902.tif 000003
【図２】
2018511902.tif 000004
【図３】
2018511902.tif 000005
【図４】
2018511902.tif 000006
【図５】
2018511902.tif 000007
【図６】
2018511902.tif 000008
【図７】
2018511902.tif 000009
【図８】
2018511902.tif 000010
【図９】
2018511902.tif 000011
【図１０】
2018511902.tif 000012
【国際調査報告】
2018511902.tif 000013
2018511902.tif 000014