(57)【要約】  サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するためのコンピュータ実装方法は、（１）コンピューティングデバイス上のサブシステムデバイスからコンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、コンピューティングデバイス上で傍受することと、（２）出力信号に対するエラーのマージンを識別することと、（３）（ａ）変動が、出力信号に対するエラーのマージンを超えず、かつ（ｂ）修正された出力信号が、コンピューティングデバイスを識別するために使用され得ないような方法で、出力信号内に変動を導入することによって、修正された出力信号を作成することと、（４）ソフトウェア構成要素に修正された出力信号を送信することと、を含み得る。種々の他の方法、システム、及びコンピュータ可読媒体もまた、開示される。
2017511512.tif 000002
【特許請求の範囲】
【請求項１】
サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するためのコンピュータ実装方法であって、前記方法の少なくとも一部が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法が、
前記コンピューティングデバイス上のサブシステムデバイスから前記コンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、前記コンピューティングデバイス上で傍受することと、
前記出力信号に対するエラーのマージンを識別することと、
前記出力信号内にバリエーションを導入することによって修正された出力信号を生成して、
変動が、前記出力信号に対する前記エラーのマージンを超えず、かつ
修正された出力信号が、前記コンピューティングデバイスを識別するために使用され得ないように、前記出力信号内に前記変動を導入することによって、前記修正された出力信号を作成することと、
前記ソフトウェア構成要素に前記修正された出力信号を送信することと、を含む、方法。
【請求項２】
前記修正された出力信号を作成することが、
前記サブシステムデバイス用のデバイスドライバ、
前記サブシステムデバイス用のファームウェア、のうちの少なくとも１つを用いて前記修正された出力信号を作成することを含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記ソフトウェア構成要素が、前記コンピューティングデバイス上のアプリケーション層の一部である、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記ソフトウェア構成要素が、
オペレーティングシステム構成要素、
アプリケーション構成要素、のうちの少なくとも１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記出力信号に対する前記エラーのマージンが、上限及び下限を含み、
前記変動が、前記エラーのマージンの前記上限を超えず、かつ
前記変動が、前記エラーのマージンの前記下限を超えない、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記サブシステムデバイスが、
トランスデューサ、
センサ、
無線伝送器、のうちの少なくとも１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記修正された出力信号を作成することが、前記出力信号内にランダムに生成された変動を導入することを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
デバイスサブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するためのシステムであって、
前記コンピューティングデバイス上のサブシステムデバイスから前記コンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、前記コンピューティングデバイス上で傍受する、メモリに記憶された、傍受モジュールと、
前記出力信号に対するエラーのマージンを識別する、メモリに記憶された、識別モジュールと、
前記出力信号内にバリエーションを導入することによって修正された出力信号を生成して、
変動が、前記出力信号に対する前記エラーのマージンを超えず、かつ
修正された出力信号が、前記コンピューティングデバイスを識別するために使用され得ないように、前記出力信号内に前記変動を導入することによって、前記修正された出力信号を作成する、メモリに記憶された、修正モジュールと、
前記ソフトウェア構成要素に前記修正された出力信号を送信する、メモリに記憶された、伝送モジュールと、を含む、システム。
【請求項９】
前記修正モジュールが、
前記サブシステムデバイス用のデバイスドライバ、
前記サブシステムデバイス用のファームウェア、のうちの少なくとも１つを用いて前記修正された出力信号を作成する、請求項８に記載のシステム。
【請求項１０】
前記ソフトウェア構成要素が、前記コンピューティングデバイス上のアプリケーション層の一部である、請求項８に記載のシステム。
【請求項１１】
前記ソフトウェア構成要素が、
オペレーティングシステム構成要素、
アプリケーション構成要素、のうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１２】
前記出力信号に対する前記エラーのマージンが、上限及び下限を含み、
前記変動が、前記エラーのマージンの前記上限を超えず、かつ
前記変動が、前記エラーのマージンの前記下限を超えない、請求項８に記載のシステム。
【請求項１３】
前記サブシステムデバイスが、
トランスデューサ、
センサ、
無線伝送器、のうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１４】
前記修正モジュールが、前記出力信号内にランダムに生成された変動を導入することによって前記修正された出力信号を作成する、請求項８に記載のシステム。
【請求項１５】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
前記コンピューティングデバイス上のサブシステムデバイスから前記コンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、前記コンピューティングデバイス上で傍受させ、
前記出力信号に対するエラーのマージンを識別させ、
前記出力信号内にバリエーションを導入することによって修正された出力信号を生成して、
変動が、前記出力信号に対する前記エラーのマージンを超えず、かつ
修正された出力信号が、前記コンピューティングデバイスを識別するために使用され得ないように、前記出力信号内に前記変動を導入することによって、前記修正された出力信号を作成させ、
前記ソフトウェア構成要素に前記修正された出力信号を送信させる、１つ以上のコンピュータが実行可能な命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記１つ以上のコンピュータが実行可能な命令が、前記コンピューティングデバイスに、
前記サブシステムデバイス用のデバイスドライバ、
前記サブシステムデバイス用のファームウェア、のうちの少なくとも１つを用いて前記修正された出力信号を作成させる、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記ソフトウェア構成要素が、前記コンピューティングデバイス上のアプリケーション層の一部である、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記ソフトウェア構成要素が、
オペレーティングシステム構成要素、
アプリケーション構成要素、のうちの少なくとも１つを含む、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記出力信号に対する前記エラーのマージンが、上限及び下限を含み、前記１つ以上のコンピュータが実行可能な命令が、前記コンピューティングデバイスに、
前記変動が、前記エラーのマージンの前記上限を超えず、かつ
前記変動が、前記エラーのマージンの前記下限を超えないように、変動を導入させる、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記１つ以上のコンピュータが実行可能な命令が、前記コンピューティングデバイスに、ランダムに生成された変動を前記出力信号に導入することによって、前記修正された出力信号を作成させる、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
マーケティング集団及び広告集団（及び他のより悪意のある当事者）は、コンピューティングデバイスのユーザを追跡するための新たな方法を識別することに絶えず関心を持っている。従来のプライバシーツールが、ユーザがいかに追跡されるかに関してある程度の制御をユーザに提供し得る一方で、最近の研究によると、望ましくない当事者が、デバイスのセンサ出力に関連する特異的特徴に基づいてユーザのコンピューティングデバイスをフィンガープリンティングすることによってこれらのツールを迂回することが可能であり得る。
【０００２】
例えば、研究者は、種々のセンサが、加速度計、マイクロホン、スピーカ、及びしばしば携帯電話内に見出される無線機などの多くの現代のコンピューティングデバイス内に存在し、各々が、その出力において特異的かつ一定の誤差を生成することを実証している。これらの特異的誤差は、次に、デバイス及び／又はそのユーザを特異的に識別して追跡するように使用され得るコンピューティングデバイスに関してプロファイル又はある種のフィンガープリントを作成するように使用され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
残念ながら、従来のプライバシーソフトウェア及びプライバシー設定では、この種の追跡を防止することができない場合がある。例えば、ユーザが削除、ブロック、及び／又は監視することができ得るウェブブラウザのクッキーとは反対に、当該コンピューティングデバイスに特異的な信号を出力するコンピューティングデバイス上の任意のセンサ又はハードウェア構成要素は、コンピューティングデバイスをフィンガープリンティングするように潜在的に使用され得る。これらの脆弱性には、コンピューティングデバイスの供給元、開発者、及びユーザに対する重大なプライバシーに関する懸念が存在し得る。
【０００４】
したがって、本開示は、サブシステム出力信号に基づくデバイスフィンガープリンティングを防止するためのより効率的かつ効果的な機構の必要性を識別し、それに対処する。
【課題を解決するための手段】
【０００５】
より詳細に以下に説明されるように、本開示は、サブシステム出力信号にランダム変動を導入することによって、デバイスフィンガープリンティングを防止するためのシステム及び方法に関する。一実施例では、このようなタスクを実施するためのコンピュータ実装方法は、（１）コンピューティングデバイス上のサブシステムデバイスからコンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、コンピューティングデバイス上で傍受することと、（２）出力信号に対するエラーのマージンを識別することと、（３）（ａ）変動が、出力信号に対するエラーのマージンを超えず、かつ（ｂ）修正された出力信号が、コンピューティングデバイスを識別するために使用され得ないように、出力信号内に変動を導入することによって、修正された出力信号を作成することと、その後（４）ソフトウェア構成要素に修正された出力信号を送信することと、を含み得る。
【０００６】
いくつかの実施例では、修正された出力信号は、（１）サブシステムデバイス用デバイスドライバ及び／又は（２）サブシステムデバイス用ファームウェアを用いて作成されてもよい。加えて、ソフトウェア構成要素は、コンピューティングデバイス上のアプリケーション層の一部であってもよい。例えば、ソフトウェア構成要素は、（１）オペレーティングシステム構成要素及び／又は（２）アプリケーション構成要素を含んでもよい。
【０００７】
いくつかの実施形態では、出力信号に対するエラーのマージンは、上限及び下限を含み得る。これらの実施形態では、変動は、（１）変動が、エラーのマージンの上限を超えず、かつ（２）変動が、エラーのマージンの下限を超えない方法で導入され得る。少なくとも１つの実施形態では、修正された出力信号を作成することは、出力信号内にランダムに生成された変動を導入することを含み得る。種々の実施形態では、サブシステムデバイスは、（１）トランスデューサ、（２）センサ、及び／又は（３）無線伝送器を含み得る。
【０００８】
いくつかの実施形態によると、上述の方法を実装するためのシステムは、（１）コンピューティングデバイス上のサブシステムデバイスからコンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、コンピューティングデバイス上で傍受する、メモリに記憶された、傍受モジュールと、（２）出力信号に対するエラーのマージンを識別する、メモリに記憶された、識別モジュールと、（３）（ａ）変動が、出力信号に対するエラーのマージンを超えず、かつ（ｂ）修正された出力信号が、コンピューティングデバイスを識別するために使用され得ないように、出力信号内に変動を導入することによって、修正された出力信号を作成する、メモリに記憶された、修正モジュールと、（４）ソフトウェア構成要素に修正された出力信号を送信する、メモリに記憶された、伝送モジュールと、（５）傍受モジュール、識別モジュール、修正モジュール、及び伝送モジュールを実行するように構成される少なくとも１つのプロセッサと、を含み得る。
【０００９】
対応するコンピュータ可読媒体は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイスに、（１）コンピューティングデバイス上のサブシステムデバイスからコンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、コンピューティングデバイス上で傍受させ、（２）出力信号に対するエラーのマージンを識別させ、（３）（ａ）変動が、出力信号に対するエラーのマージンを超えず、かつ（ｂ）修正された出力信号が、コンピューティングデバイスを識別するために使用され得ないように、出力信号内に変動を導入することによって、修正された出力信号を作成させ、（４）ソフトウェア構成要素に修正された出力信号を送信させる、１つ以上のコンピュータが実行可能な命令を含み得る。
【００１０】
上記の実施形態のうちのいずれかからの特徴は、本明細書で説明される一般原理に従い、互いに組み合わせて使用することができる。これらの及び他の実施形態、特徴、並びに利点は、添付の図面及び特許請求の範囲と併せて以下の詳細な説明を読むことによって更に十分に理解されるであろう。
【図面の簡単な説明】
【００１１】
添付の図面は、多数の例示的な実施形態を例証すると共に、本明細書の一部である。以下の説明と併せて、これらの図面は本開示の種々の原理を実証及び説明する。
【図１】サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するための例示的なシステムのブロック図である。
【図２】サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するための更なる例示的なシステムのブロック図である。
【図３】サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するための例示的な方法の流れ図である。
【図４】サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するように構成される例示的なスマートフォンのブロック図である。
【図５】本明細書に記載及び／又は図示される実施形態の１つ以上を実装することができる、例示的なコンピューティングシステムのブロック図である。
【図６】本明細書に記載及び／又は図示される実施形態の１つ以上を実装することができる、例示的なコンピューティングネットワークのブロック図である。
【００１２】
図面全体を通して、同一の参照文字及び説明は、類似しているが必ずしも同一ではない要素を示す。本明細書に記載される例示的な実施形態は、種々の修正及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書において詳細に記載される。しかしながら、本明細書に記載される例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【００１３】
本開示は、概して、サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するためのシステム及び方法に関する。より詳細に以下に説明されるように、サブシステムデバイスから送信される出力信号内に変動を導入することによって、本明細書に記載されるシステム及び方法は、望ましくない当事者がサブシステムデバイス出力信号を用いてコンピューティングデバイスフィンガープリンティングすることを防止し得る。このことは、次に、コンピューティングデバイスの供給元及びソフトウェアの開発者が、従来のプライバシー設定を迂回するように設計された追跡機構から保護されるデバイス及びサービスを作成することを可能にし得る。加えて、プライバシーに関してより良い制御をユーザに提供する供給元は、そのユーザの満足度、忠誠心、及び引き立てを増加させ得る。
【００１４】
以下は、図１〜２を参照して、デバイスフィンガープリンティングを防止するために、サブシステム出力信号に変動を導入するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明もまた、図３〜４に関連して提供される。加えて、本明細書に記載される実施形態のうちの１つ以上を実装することができる、例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、図５及び図６に関連して、それぞれ、提供される。
【００１５】
図１は、サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するための例示的なシステム１００のブロック図である。この図に示されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。例えば、更に以下に詳細に説明されるように、例示的なシステム１００は、コンピューティングデバイス上のサブシステムデバイスからコンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、コンピューティングデバイス上で傍受する傍受モジュール１０４を含み得る。例示的なシステム１００はまた、出力信号に対するエラーのマージンを識別する識別モジュール１０６を含み得る。
【００１６】
加えて、例示的なシステム１００は、（１）変動が、出力信号に対するエラーのマージンを超えず、かつ（２）修正された出力信号が、コンピューティングデバイスを識別するために使用され得ないように、出力信号内に変動を導入することによって、修正された出力信号を作成する、修正モジュール１０８を含み得る。例示的なシステム１００はまた、ソフトウェア構成要素に修正された出力信号を送信する伝送モジュール１１０を含み得る。別個の要素として示されるが、図１のモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの部分を表わしてもよい。
【００１７】
ある実施形態では、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイスによって実行されたとき、コンピューティングデバイスに１つ以上のタスクを実施させることができる、１つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、より詳細に以下に説明されるように、モジュール１０２のうちの１つ以上は、図２のコンピューティングデバイス２０２、図４のスマートフォン４０６、図５のコンピューティングシステム５１０、及び／又は図６の例示的なネットワークアーキテクチャ６００の部分などの、１つ以上のコンピューティングデバイスに記憶され、そこで実行されるように構成される、ソフトウェアモジュールを表し得る。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実施するように構成される１つ以上の専用コンピュータの全て又は部分を表してもよい。
【００１８】
図１の例示的なシステム１００は、多様な方法で実装されてもよい。例えば、例示的なシステム１００の全て又は一部は、図２における例示的なシステム２００の部分を表し得る。図２に示されるように、システム２００は、モジュール１０２のうちの全て又は一部とともにプログラムされたコンピューティングデバイス２０２を含んでもよい。
【００１９】
一実施形態では、図１からのモジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２の少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイス２０２が、望ましくない当事者によりサブシステムデバイス出力信号を用いてコンピューティングデバイス２０２がフィンガープリンティングされるのを防止することを可能にする。例えば、より詳細に以下に説明されるように、傍受モジュール１０４は、コンピューティングデバイス２０２に、サブシステムデバイス２０８からソフトウェア構成要素２１６に送信される出力信号２１２を、コンピューティングデバイス２０２で傍受させることができる。その後、識別モジュール１０６は、コンピューティングデバイス２０２に、エラーのマージンデータ２１０内に含まれるエラーのマージンを識別させることができる。その後、修正モジュール１０８は、コンピューティングデバイス２０２に、（１）変動が、出力信号２１２のエラーのマージンを超えず、かつ（２）修正された出力信号２１４が、コンピューティングデバイス２０２を識別するために使用され得ないように、出力信号２１２内に変動を導入することによって、修正された出力信号２１４を作成させることができる。最後に、伝送モジュール１１０は、ソフトウェア構成要素２１６に修正された出力信号２１４を送信し得る。
【００２０】
コンピューティングデバイス２０２は、一般に、コンピュータが実行可能な命令を読み取ることができる任意のタイプ若しくは形態のコンピューティングデバイスを表す。コンピューティングデバイス２０２の例としては、限定されないが、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末（ＰＤＡ）、マルチメディアプレーヤー、埋込みシステム、それらの１つ以上の組み合わせ、図４の例示的なスマートフォン４０６、図５の例示的なコンピューティングシステム５１０、又は任意の他の好適なコンピューティングデバイスが挙げられる。
【００２１】
図３は、サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するための例示的なコンピュータ実装方法３００の流れ図である。図３に示される工程は、任意の好適なコンピュータが実行可能なコード化及び／又はコンピューティングシステムにより実施されてもよい。いくつかの実施形態では、図３の工程は、図１のシステム１００、図２のシステム２００、図４のスマートフォン４０６、図５のコンピューティングシステム５１０、及び／又は図６の例示的なネットワークアーキテクチャ６００の部分の構成要素のうちの１つ以上によって実施され得る。
【００２２】
図３に示されるように、工程３０２では、本明細書に説明されるシステムのうちの１つ以上が、コンピューティングデバイス上のサブシステムデバイスからコンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、コンピューティングデバイス上で傍受し得る。例えば、傍受モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、サブシステムデバイス２０８からソフトウェア構成要素２１６に送信される出力信号２１２を、コンピューティングデバイス２０２上で傍受し得る。
【００２３】
本明細書で使用するとき、「出力信号」という句は、一般に、コンピューティングデバイス内のサブシステムデバイスによって作成され得る、送信され得る、及び／又は生成され得る任意のタイプ若しくは形態の情報及び／又はパターン（デジタル若しくはアナログ）を指す。例えば、スマートフォンの無線伝送器は、無線出力信号を生成し得る。同様に、コンピューティングデバイス上のハードウェア構成要素の集合体は、コンピューティングデバイス上の回路内に電磁干渉の特異的パターンを導入し、その干渉のパターンは、「出力信号」と見なされ得る。
【００２４】
いくつかの実施形態では、出力信号は、コンピューティングデバイス上のセンサによって伝送される信号を含み得る。例えば、加速度計、マイクロホン、スピーカなどによって伝送されるいずれのタイプ若しくは形態の出力も、出力信号を表わし得る。出力信号はまた、コンピューティングデバイス上のスピーカによって生成される音、又はコンピューティングデバイス内のモータによって起こる振動などの、コンピューティングデバイスによって生じる任意のタイプ若しくは形態の音及び／又は振動を含み得る。例えば、コンピューティングデバイス上で音及び振動を記録並びに／又は受信しているマイクロホンからの周波数応答は、出力信号と見なされ得る。
【００２５】
出力信号はまた、別のハードウェアデバイス又はソフトウェア構成要素によって受信され得るコンピューティングデバイスによって伝送される及び／又は生成される任意のタイプ若しくは形態の情報、信号、及び／又はデータを含み得る。例えば、コンピューティングデバイス上のサブシステムデバイス（マイクロホンなど）によって生成される電気信号は、出力信号を表わし得る。別の実施例では、出力信号は、コンピューティング回路内に検出可能なパターンの小電圧波動を含み得る。出力信号の他の例としては、限定されないが、無線信号（例えば携帯電話上の無線伝送器によって生成されるもの）、センサ及びトランスデューサ読み出し（例えば、加速度計、コンパス、ジャイロスコープ、スピーカ、マイクロホンなどの信号及び出力）、プロセッサ及びマイクロプロセッサ出力信号、並びに／又はコンピューティングデバイスから送信される若しくはそれによって作成される任意の他のタイプ若しくは形態の信号、伝送、及び／若しくは出力が挙げられる。
【００２６】
本明細書で使用するとき、「サブシステムデバイス」と言う句は、一般に、任意のタイプ若しくは形態の物理ハードウェア及び／又はコンピューティングデバイス上の対応するファームウェアを指す。例えば、サブシステムデバイスは、コンピューティングデバイスに物理的に接続される及び／又はその一部である、任意のタイプ若しくは形態の物理デバイス、センサ、構成要素、付属品などを含み得る。いくつかの実施形態では、サブシステムデバイスは、加速度計として機能する集合体ハードウェア構成要素及びファームウェアなどの機能を実施するように構成される集合体ハードウェア構成要素及び／又は対応するファームウェアを含み得る。加えて、サブシステムデバイスは、コンピューティングデバイスの物理層で動作する及び／又はコンピューティングデバイスのアプリケーション層において実行しているソフトウェアによってアクセスされる、任意の物理ハードウェア及び／又は対応するファームウェア（又は仮想マシンの場合、エミュレートされた物理層）を含み得る。サブシステムデバイスはまた、仮想マシン内のエミュレートされた物理デバイスなどの物理デバイスをエミュレートするように構成されるソフトウェアを含み得る。
【００２７】
サブシステムデバイスはまた、上述の出力信号のうちの任意のもののような、出力信号を伝送、生成、及び／又は送信することができる、任意のタイプ若しくは形態の物理ハードウェア及び／又は対応するファームウェアを含み得る。例えば、サブシステムデバイスは、スマートフォンに見出されるもののような（例えば、加速度計、ジャイロスコープなど）、コンピューティングデバイス上にセンサを含み得る。サブシステムデバイスの例としては、限定されないが、トランスデューサ及びセンサ（例えば、マイクロホン、スピーカ、加速度計、ジャイロスコープ、高度測定器、温度計、コンパス、タッチ画面、フィンガープリントリーダー、心拍数モニタ、網膜スキャナなど）、無線伝送器（例えば、携帯電話無線機、ＢＬＵＥＴＯＯＴＨ（登録商標）無線機、ＷＩＦＩ無線機、グローバルポジショニングシステム（ＧＰＳ）無線機など）、光学センサ及びデバイス（例えば、カメラ）、プロセッサ、メモリ、及び他の回路基板構成要素、ハードウェアコントローラ、並びに／あるいは任意の他のタイプ若しくは形態のコンピューティングデバイスセンサ、構成要素、及び／又はハードウェアが挙げられる。
【００２８】
本明細書で使用するとき、「ソフトウェア構成要素」という句は、一般に、特定の機能を実施するように協働するコンピュータが実行可能な命令の集合体を指す。例えば、ソフトウェア構成要素は、出力信号を受信、処理、転送、翻訳、読み出し、伝送、及び／又は送信するコンピュータが実行可能な命令を含み得る。ソフトウェア構成要素の例としては、限定されないが、オペレーティングシステム構成要素、（例えば、デバイスドライバ、カーネル、アプリケーション、システムレジストリ、システム処理など）、アプリケーション構成要素（すなわち、アプリケーションの任意の一部又は処理）、及び任意の他のタイプ又は形態のソフトウェア構成要素が挙げられる。
【００２９】
例えば、ソフトウェア構成要素は、ハードウェアデバイスにアクセス及び／又はそれを制御するように構成されるオペレーティングシステム内にデバイスドライバを含み得る。別の実施例では、ソフトウェア構成要素は、マイクロホンドライバから出力信号を受信するボイスチャットアプリケーションを含み得る。ソフトウェア構成要素はまた、物理デバイス、ファームウェア、又はソフトウェアにアクセス及び／又はそれを制御するように使用されるアプリケーション・プログラミング・インターフェース（ＡＰＩ）を含んでもよい。
【００３０】
本明細書に説明されるシステムは、様々な方法で工程３０２を実施してもよい。一実施例では、傍受モジュール１０４は、サブシステムデバイス２０８にアクセス及び／又はそれを制御するように使用されるファームウェア内に含まれ得る。この実施例では、傍受モジュール１０４は、出力信号２１２がサブシステムデバイス２０８用のファームウェアによって処理される及び／又は出力信号２１２がファームウェアを通過させられる際に、出力信号２１２を傍受し得る。別の実施例では、傍受モジュール１０４は、サブシステムデバイス２０８から送信される出力信号を受信及び処理するように構成されるデバイスドライバの一部であり得る。この実施例では、傍受モジュール１０４は、出力信号２１２がサブシステムデバイス２０８によってデバイスドライバに送信された後に、デバイスドライバによって処理される際に、出力信号２１２を傍受し得る。
【００３１】
図３に示されるように、工程３０４では、本明細書に説明されるシステムは、出力信号に対するエラーのマージンを識別し得る。例えば、識別モジュール１０６は、図２のコンピューティングデバイス２０２の一部として、エラーの７マージンデータ２１０内の出力信号２１２のエラーのマージンを識別し得る。
【００３２】
「エラーのマージン」という句は、本明細書で使用するとき、一般に、誤差の許容される限界（acceptable limit of inaccuracy）を指す。例えば、出力信号に対するエラーのマージンは、出力信号に対する誤差の許容される限界であり得る。エラーのマージンは、ハードウェアの制約、製造元の仕様、アプリケーション設定、デバイスドライバ、ファームウェア、オペレーティングシステム、並びに／又は任意の他の好適な機構、人物、及び／若しくは処理によって任意に（例えば、ユーザ又は開発者によって）定義され得る。
【００３３】
いくつかの実施形態では、エラーのマージンは、上限及び下限を含み得る。例えば、理想的なシナリオでは、静止時のスマートフォンの加速度計出力は、１．０であり得る（重力が原因であるため）。しかしながら、加速度計出力における不可避の誤差のため、開発者は、１．５〜０．５のどこかとして、加速度計出力に関するエラーのマージンを定義し得る。加速度計がこの範囲内で信号を出力する限り、加速度計の信号は、エラーのマージン内にある。しかしながら、加速度計が１．５を超える又は０．５未満の信号を出力した場合、加速度計は、エラーのマージンを超える。
【００３４】
本明細書に説明されるシステム及び方法は、様々な方法で工程３０４を実施してもよい。例えば、エラーのマージンデータ２１０は、サブシステムデバイス２０８用のファームウェアに含まれる、それによって設定される、及び／又はそれによって定義されるデータであり得る。この実施例では、識別モジュール１０６は、サブシステムデバイス２０８用のファームウェアからエラーのマージンデータ２１０を取得し得る。いくつかの実施形態では、識別モジュール１０６は、サブシステムデバイス２０８用のファームウェアの一部であり得、よって、エラーのマージンデータ２１０へのアクセスを有し得る。別の実施例では、エラーのマージンデータ２１０は、サブシステムデバイス２０８用のデバイスドライバに含まれ得る、それによって設定され得る、及び／又はそれによって定義され得る。この実施例では、識別モジュール１０６は、サブシステムデバイス２０８用のデバイスドライバからエラーのマージンデータ２１０を取得し得る。いくつかの実施形態では、識別モジュール１０６は、サブシステムデバイス２０８用のデバイスドライバの一部であり得、よって、エラーのマージンデータ２１０へのアクセスを有し得る。識別モジュール１０６はまた、任意の他の好適なソフトウェア構成要素、ストレージ、媒体、及び／又はファームウェアからエラーのマージンデータ２１０を取得し得る。
【００３５】
図３に示されるように、工程３０６では、本明細書に説明されるシステムは、（１）変動が、出力信号に対するエラーのマージンを超えず、かつ（２）修正された出力信号が、コンピューティングデバイスを識別するために使用され得ないように、出力信号内に変動を導入することによって、修正された出力信号を作成し得る。例えば、修正モジュール１０８は、コンピューティングデバイス２０２の一部として、出力信号２１２内に変動を導入することによって修正された出力信号２１４を作成し得る。この実施例では、修正モジュール１０８は、（１）変動が、識別モジュール１０６によって識別されるエラーのマージンを超えず、かつ（２）修正された出力信号２１４が、コンピューティングデバイス２０２を識別するために使用され得ないように、出力信号２１２内に変動を導入し得る。
【００３６】
本明細書で使用するとき、「修正された出力信号」という句は、一般に、いくつかの形態で改変された出力信号を指す。例えば、デバイスドライバは、マイクロホンからマイクロホンを使用しているアプリケーション構成要素に、「生」又は未改変の出力信号を渡し得る。この実施例では、修正モジュール１０８は、（例えば、デバイスドライバの一部として）アプリケーション構成要素に生信号を渡す前に、生信号に種々のフィルタ及び修正を適用することができ、それによって、修正された出力信号（すなわち、１つの形態から別のものに改変された信号）を作成し得る。
【００３７】
本明細書に説明されるシステムは、信号経路に沿っていずれの時間又は場所でも出力信号を修正し得る。例えば、修正モジュール１０８は、信号を作成している物理デバイス内、デバイスを制御しているファームウェア内、アプリケーション層に信号を送信するドライバ内、出力信号を受信するアプリケーション及び／若しくはアプリケーション処理内、並びに／又は任意の他の好適なデバイス及び／若しくはソフトウェア構成要素内の出力信号を修正し得る。
【００３８】
本明細書で使用するとき、「変動を導入する」という句は、一般に、デバイス及び／又はソフトウェア構成要素（例えば、修正モジュール１０８）が出力信号を修正するために使用し得る任意の処理を指す。例えば、「変動を導入する」という句は、出力信号２１２を修正するように修正モジュール１０８によって使用される特定のコンピュータが実行可能な命令、アルゴリズム、機能、及び／又は物理的処理を指し得る。例えば、修正モジュール１０８は、コンピューティングデバイス２０２に、出力信号２１２が、識別モジュール１０６によって識別されるエラーのマージンを超えないように、出力信号２１２を改変するアルゴリズムを実行させ得る。いくつかの実施形態では、修正モジュール１０８は、修正された出力信号２１４が、統計的に区別可能なフィンガープリントを有しないように（すなわち、修正された出力信号２１４が、任意の統計的に有意な方法で、コンピューティングデバイス２０２を追跡、識別、及び／又はフィンガープリンティングするために使用され得ないように）、出力信号２１２内に変動を導入し得る。
【００３９】
本明細書に説明されるシステム及び方法は、様々な方法で工程３０６を実施してもよい。例えば、エラーのマージンデータ２１０が上限及び下限を含む実施形態では、修正モジュール１０８は、変動が、エラーのマージンデータ２１０内に識別されるような上限又は下限を超えないように、出力信号２１２内に変動を導入し得る。
【００４０】
いくつかの実施形態では、修正モジュール１０８は、出力信号内にランダムに生成された変動を導入することによって、修正された出力信号２１４を作成し得る。例えば、修正モジュール１０８は、出力信号２１２が、識別モジュール１０６によって識別されるエラーのマージン内に属するように、出力信号２１２内にランダムに生成された変動を導入し得る。
【００４１】
修正モジュール１０８は、様々な方法でランダムに生成された変動を導入し得る。例えば、修正モジュール１０８は、サブシステムデバイス２０８用のデバイスドライバ及び／又はファームウェア内の出力信号２１２内に、ランダムに生成された変動を導入し得る。いくつの実施形態では（及び図４に関連して以下により詳細に考察されるように）、修正モジュール１０８は、コンピューティングデバイスをフィンガープリンティングするように設計された追跡プログラムが、コンピューティングデバイス２０２をフィンガープリンティングするように修正された出力信号２１４を使用することができないように、修正された出力信号２１４を作成し得る。
【００４２】
図３に示されるように、工程３０８では、本明細書に説明されるシステムは、ソフトウェア構成要素に修正された出力信号を送信し得る。例えば、伝送モジュール１１０は、ソフトウェア構成要素２１６に修正された出力信号２１４を送信し得る。
【００４３】
本明細書に説明されるシステム及び方法は、様々な方法で工程３０８を実施してもよい。例えば、伝送モジュール１１０は、修正された出力信号２１４に対する、アプリケーションからの要求を受信した後、アプリケーションにそれを送信してもよい。別の実施例では、伝送モジュール１１０は、信号にサブシステムデバイス２０８用のデバイスドライバ及び／又はデバイスファームウェアを通過させることによって、ソフトウェア構成要素２１６に出力信号２１２を送信してもよい。例えば、アプリケーションは、サブシステムデバイス２０８から出力信号２１２を受信するように要求し得る。この実施例では、出力信号２１２は、デバイスドライバによって傍受及び修正され得、伝送モジュール１１０は、出力信号２１２が修正された後、出力信号２１２がアプリケーションに達することを可能にし得る。
【００４４】
いくつかの実施形態では、伝送モジュール１１０は、出力信号２１２が、適切に修正されていない、又は出力信号２１２が、コンピューティングデバイス２０２をフィンガープリンティングするように使用され得ると判定された場合、出力信号２１２がソフトウェア構成要素２１６に送信されるのをブロックするように構成され得る。いくつかの実施例では、ソフトウェア構成要素２１６は、コンピューティングデバイス２０２のアプリケーション層などのアプリケーション層の一部であり得る。これらの実施形態では、伝送モジュール１１０は、コンピューティングデバイス２０２内のアプリケーション層内のソフトウェア構成要素に修正された出力信号２１４を送信し得る。
【００４５】
図４は、（マーケティングサーバ内で実行されるようなものなどの）追跡プログラムが、コンピューティングデバイス（例えば、図２のコンピューティングデバイス２０２、図４のスマートフォン４０６、及び／又は図５のコンピューティングデバイス５１０）をフィンガープリンティングするようにサブシステム出力信号を使用することをいかに防止するかを示す、システム４００のブロック図である。この図に示されるように、システム４００は、マーケティングサーバ４０２、インターネット４０４、及びスマートフォン４０６を含む。スマートフォン４０６は、加速度計４１６、並びにインターネットブラウザ４１０及び加速度計ドライバ４１４がインストールされているオペレーティングシステム４０８を含む。この例示では、加速度計ドライバ４１４は、モジュール１０２を含む。
【００４６】
この実施例では、スマートフォン４０６のユーザは、インターネットブラウザ４１０を使用してマーケティングサーバ４０２によってホストされるウェブサイトを訪れることができる。その後、マーケティングサーバ４０２は、インターネットブラウザ４１０から加速度計データを要求することによってスマートフォン４０６をフィンガープリンティングするように試行する場合がある。この例示の目的上、マーケティングサーバ４０２は、加速度計出力信号内の特異的誤差を検出することによってスマートフォンをフィンガープリンティングするように試行する場合がある。しかしながら、スマートフォン４０６がフィンガープリンティングされるのを防止するために、加速度計ドライバ４１４は、まず出力信号４１８を傍受し修正し得る。上で詳述されるように、加速度計ドライバ４１４は、出力信号４１８内にランダムに生成された変動を導入することによって修正された出力信号４２０を作成し得る。修正された出力信号４２０の作成が完了した時点で、加速度計ドライバ４１４は、インターネットブラウザ４１０に、出力信号４２０を送信し得、次にこれは、マーケティングサーバ４０２に同じものを提供し得る。
【００４７】
上で詳述されるように、マーケティングサーバ４０２が、スマートフォン４０６をフィンガープリンティングすることができないように、加速度計ドライバ４１４は、出力信号４１８を修正し得る。例えば、マーケティングサーバ４０２は、修正された出力信号４２０が、ランダムに生成された変動の導入によって「不明瞭なものにされた」ため、スマートフォン４０６に関連付けられた加速度計データ内の任意の特異的誤差を検出することが不可能であり得る。加えて、加速度計ドライバ４１４は、出力信号４１８がエラーのマージンを超えず、それによって、修正された出力信号４２０が正確かつ使用可能なまま確実に残るように、出力信号４１８内に変動を導入するように構成され得る。
【００４８】
図３の方法３００に関連して上に説明されるように、広告主は、コンピューティングデバイスユーザの購買習慣を追跡する新たな方法を絶えず調査している。ユーザが、自身がいかに追跡されているかに気づくにつれて、望ましくない当事者がユーザの挙動を監視することを防止するためにより多くのプライバシーツールを所望し得る。従来のプライバシーツールが、ユーザがいかに追跡されるかに関してある程度の制御をユーザに可能にさせる一方で、広告主（及び他のより悪意のある実体）は、コンピューティングデバイスのセンサ信号をフィンガープリンティングすることによってこれらのツールを迂回することが可能であり得る。
【００４９】
本開示は、センサ及び他のサブシステムデバイスから送信される生出力信号が、追跡ソフトウェアによって分析される前に、生出力信号を「不明瞭なものにすること」によって、この問題を克服し得る。具体的には、センサドライバ又はセンサファームウェアを使用してセンサ信号内にランダム変動を導入することによって、本明細書に説明されるシステム及び方法は、統計的に区別可能なフィンガープリントを有しない修正されたセンサ信号を作成し得る。この処理は、開発者に、開発者のユーザのプライバシーを保護するための効果的で安定した低レベルのソリューションを提供し得る。
【００５０】
図５は、本明細書に記載及び／又は図示される実施形態のうちの１つ以上を実装することができる、例示的なコンピューティングシステム５１０のブロック図である。例えば、コンピューティングシステム５１０の全て又は一部は、単独で又は他の要素と組み合わせて、本明細書に記載される工程の１つ以上（図３に示される工程のうちの１つ以上など）を実施してもよく、並びに／あるいはそれを実施するための手段であってもよい。コンピューティングシステム５１０の全て又は一部はまた、本明細書に記載及び／若しくは図示される他の任意の工程、方法、又は処理を実施してもよく、並びに／あるいはそれを実施するための手段であってもよい。
【００５１】
コンピューティングシステム５１０は、コンピュータ読み取り可能な命令を実行することが可能な、任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを広く表す。コンピューティングシステム５１０の例としては、限定されないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成では、コンピューティングシステム５１０は、少なくとも１つのプロセッサ５１４及びシステムメモリ５１６を含んでもよい。
【００５２】
プロセッサ５１４は、一般に、データを処理するか又は命令を解釈し実行することができる、任意のタイプ若しくは形態の処理ユニット（例えば、ハードウェア実装中央処理ユニット）を表す。ある実施形態では、プロセッサ５１４は、ソフトウェアアプリケーション又はモジュールから命令を受信することができる。これらの命令は、プロセッサ５１４に、本明細書で説明及び／又は示される例示的な実施形態のうちの１つ以上の機能を実施させることができる。
【００５３】
システムメモリ５１６は概して、データ及び／又は他のコンピュータ可読命令を記憶することが可能な任意のタイプ又は形態の揮発性又は不揮発性記憶デバイス若しくは媒体を表す。システムメモリ５１６の例としては、限定することなく、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必須ではないが、ある実施形態において、コンピューティングシステム５１０は、揮発性メモリユニット（例えば、システムメモリ５１６など）、及び不揮発性記憶デバイス（例えば、以下で詳細に説明されるような主要記憶デバイス５３２など）の両方を含むことができる。一実施例では、図１のモジュール１０２のうちの１つ以上が、システムメモリ５１６にロードされてもよい。
【００５４】
ある実施形態では、例示的なコンピューティングシステム５１０はまた、プロセッサ５１４及びシステムメモリ５１６に加えて、１つ以上の構成要素又は要素を含んでもよい。例えば、図５に示されるように、コンピューティングシステム５１０は、メモリコントローラ５１８、入力／出力（Ｉ／Ｏ）コントローラ５２０、及び通信インターフェース５２２を含んでもよく、それらはそれぞれ通信基盤５１２を介して相互接続されてもよい。通信基盤５１２は、一般に、コンピューティングデバイスの１つ以上の構成要素間の通信を容易にすることができる、任意のタイプ若しくは形態の基盤を表す。通信基盤５１２の例としては、限定されないが、通信バス（産業標準アーキテクチャ（ＩＳＡ）、周辺装置相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバスなど）、及びネットワークが挙げられる。
【００５５】
メモリコントローラ５１８は、一般に、メモリ若しくはデータを扱うか、又はコンピューティングシステム５１０の１つ以上の構成要素間の通信を制御することができる、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ５１８は、通信基盤５１２を介して、プロセッサ５１４、システムメモリ５１６、及びＩ／Ｏコントローラ５２０の間の通信を制御してもよい。
【００５６】
Ｉ／Ｏコントローラ５２０は、一般に、コンピューティングデバイスの入出力機能を調整及び／又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、Ｉ／Ｏコントローラ５２０は、プロセッサ５１４、システムメモリ５１６、通信インターフェース５２２、ディスプレイアダプタ５２６、入力インターフェース５３０、及び記憶インターフェース５３４など、コンピューティングシステム５１０の１つ以上の要素間におけるデータの転送を制御するか又は容易にし得る。
【００５７】
通信インターフェース５２２は、例示的なコンピューティングシステム５１０と１つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ若しくは形態の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態では、通信インターフェース５２２は、コンピューティングシステム５１０と、追加のコンピューティングシステムを含む私的又は公的ネットワークとの間の通信を容易にし得る。通信インターフェース５２２の例としては、限定されないが、有線ネットワークインターフェース（ネットワークインターフェースカードなど）、無線ネットワークインターフェース（無線ネットワークインターフェースカードなど）、モデム、及び他の任意の好適なインターフェースが挙げられる。少なくとも１つの実施形態では、通信インターフェース５２２は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供してもよい。通信インターフェース５２２はまた、例えば、ローカルエリアネットワーク（イーサネット（登録商標）ネットワークなど）、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通した、かかる接続を間接的に提供してもよい。
【００５８】
特定の実施形態では、通信インターフェース５２２はまた、外部バス又は通信チャネルを介して、コンピューティングシステム５１０と１つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成される、ホストアダプタを表してもよい。ホストアダプタの例としては、限定されないが、小型コンピュータシステムインターフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、米国電気電子学会（ＩＥＥＥ）１３９４ホストアダプタ、アドバンストテクノロジーアタッチメント（ＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）、シリアル（ＳＡＴＡ）、及び外部ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット（登録商標）アダプタなどが挙げられる。通信インターフェース５２２はまた、コンピューティングシステム５１０が分散型又はリモートコンピューティングに関与することを可能にしてもよい。例えば、通信インターフェース５２２は、実行のためにリモートデバイスから命令を受信するか又はリモートデバイスに命令を送信してもよい。
【００５９】
図５に示されるように、コンピューティングシステム５１０はまた、ディスプレイアダプタ５２６を介して通信基盤５１２に連結される少なくとも１つのディスプレイデバイス５２４を含んでもよい。ディスプレイデバイス５２４は、一般に、ディスプレイアダプタ５２６によって転送される情報を視覚的に表示することができる、任意のタイプ若しくは形態のデバイスを表す。同様に、ディスプレイアダプタ５２６は、一般に、ディスプレイデバイス５２４に表示するために、通信基盤５１２から（又は当該技術分野において既知であるようにフレームバッファから）グラフィックス、テキスト、及び他のデータを転送するように構成される、任意のタイプ又は形態のデバイスを表す。
【００６０】
図５に示されるように、例示的なコンピューティングシステム５１０はまた、入力インターフェース５３０を介して通信基盤５１２に連結される少なくとも１つの入力デバイス５２８を含んでもよい。入力デバイス５２８は、一般に、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム５１０に提供することができる、任意のタイプ若しくは形態の入力デバイスを表す。入力デバイス５２８の例としては、限定されないが、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。
【００６１】
図５に示されるように、例示的なコンピューティングシステム５１０はまた、記憶インターフェース５３４を介して通信基盤５１２に連結される、主要記憶デバイス５３２及びバックアップ記憶デバイス５３３を含んでもよい。記憶デバイス５３２及び５３３は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス５３２及び５３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってもよい。記憶インターフェース５３４は、一般に、記憶デバイス５３２及び５３３とコンピューティングシステム５１０の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを表す。
【００６２】
特定の実施形態では、記憶デバイス５３２及び５３３は、コンピュータソフトウェア、データ、又は他のコンピュータ読み取り可能な情報を記憶するように構成される、取り外し可能な記憶ユニットから読み取る、かつ／又はそれに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの例としては、限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス５３２及び５３３はまた、コンピュータソフトウェア、データ、又は他のコンピュータ読み取り可能な命令をコンピューティングシステム５１０にロードすることができるようにするための、他の類似の構造又はデバイスを含んでもよい。例えば、記憶デバイス５３２及び５３３は、ソフトウェア、データ、又は他のコンピュータ読み取り可能な情報を読み取り、かつ書き込むように構成されてもよい。記憶デバイス５３２及び５３３はまた、コンピューティングシステム５１０の一部であってもよく、又は他のインターフェースシステムを通してアクセスされる別個のデバイスであってもよい。
【００６３】
多くの他のデバイス又はサブシステムが、コンピューティングシステム５１０に接続されてもよい。反対に、図５に示される構成要素及びデバイスの全てが、本明細書に説明される及び／又は示される実施形態を実践するために存在する必要があるわけではない。上で言及されるデバイス及びサブシステムはまた、図５に示されるものと異なる方法で相互接続されてもよい。コンピューティングシステム５１０はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成を採用することができる。例えば、本明細書で開示される例示的な実施形態のうちの１つ以上は、コンピュータ可読媒体上に、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化されてもよい。本明細書で使用するとき、「コンピュータ可読媒体」という句は、一般に、コンピュータ可読命令を記憶又は実施することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定されないが、搬送波などの伝送型媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光学記憶媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びブルーレイ（ＢＬＵ−ＲＡＹ）ディスク）、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュメディア）、並びに他の分散システムなどの非一時的媒体が挙げられる。
【００６４】
コンピュータプログラムを含むコンピュータ可読媒体は、コンピューティングシステム５１０にロードされてもよい。次に、コンピュータ可読媒体に記憶されたコンピュータプログラムの全て又は一部分は、システムメモリ５１６に、並びに／又は記憶デバイス５３２及び５３３の種々の部分に記憶されてもよい。プロセッサ５１４によって実行されるとき、コンピューティングシステム５１０にロードされたコンピュータプログラムは、プロセッサ５１４に、本明細書に記載及び／又は図示される例示的な実施形態の１つ以上の機能を実施させてもよく、並びに／あるいは実施させるための手段であってもよい。加えて、又は代替的に、本明細書に記載及び／又は図示される例示的な実施形態の１つ以上は、ファームウェア及び／又はハードウェアに実装されてもよい。例えば、コンピューティングシステム５１０は、本明細書に開示される例示的な実施形態の１つ以上を実装するように適合された、特定用途向け集積回路（ＡＳＩＣ）として構成されてもよい。
【００６５】
図６は、クライアントシステム６１０、６２０、及び６３０、並びにサーバ６４０及び６４５がネットワーク６５０に連結されていてもよい、例示的なネットワークアーキテクチャ６００のブロック図である。上で詳述されるように、ネットワークアーキテクチャ６００の全て又は一部は、単独で、若しくは他の要素と組み合わせて、本明細書で開示される工程のうちの１つ以上（図３に示される工程のうちの１つ以上など）を実施し得る、並びに／又はそれらを実施するための手段であり得る。ネットワークアーキテクチャ６００の全て又は一部はまた、本開示に記載される他の工程及び特性を実施するために使用され得る、並びに／又はそれらを実施するための手段であり得る。
【００６６】
クライアントシステム６１０、６２０、及び６３０は、一般に、図５の例示的なコンピューティングシステム５１０などの、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ６４０及び６４５は、一般に、種々のデータベースサービスを提供し、及び／又は特定のソフトウェアアプリケーションを実行するように構成されるアプリケーションサーバ又はデータベースサーバなどの、コンピューティングデバイス又はシステムを表す。ネットワーク６５０は、一般に、例えばイントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。一実施例では、クライアントシステム６１０、６２０、及び／若しくは６３０、並びに／又はサーバ６４０及び／若しくは６４５は、図１からのシステム１００の全て又は一部を含むことができる。
【００６７】
図６に示されるように、１つ以上の記憶デバイス６６０（１）〜（Ｎ）は、サーバ６４０に直接取り付けられてもよい。同様に、１つ以上の記憶デバイス６７０（１）〜（Ｎ）は、サーバ６４５に直接取り付けられてもよい。記憶デバイス６６０（１）〜（Ｎ）及び記憶デバイス６７０（１）〜（Ｎ）は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス６６０（１）〜（Ｎ）及び記憶デバイス６７０（１）〜（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）などの種々のプロトコルを使用して、サーバ６４０及び６４５と通信するように構成される、ネットワーク接続ストレージ（ＮＡＳ）デバイスを表してもよい。
【００６８】
サーバ６４０及び６４５はまた、ストレージエリアネットワーク（ＳＡＮ）ファブリック６８０に接続されてもよい。ＳＡＮファブリック６８０は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。ＳＡＮファブリック６８０は、サーバ６４０及び６４５と、複数の記憶デバイス６９０（１）〜（Ｎ）及び／又は知的記憶アレイ６９５との間の通信を容易にし得る。ＳＡＮファブリック６８０はまた、デバイス６９０（１）〜（Ｎ）及びアレイ６９５が、クライアントシステム６１０、６２０、及び６３０にローカルで取り付けられたデバイスに見えるような形で、ネットワーク６５０並びにサーバ６４０及び６４５を介して、クライアントシステム６１０、６２０、及び６３０と、記憶デバイス６９０（１）〜（Ｎ）及び／又は知的記憶アレイ６９５との間の通信を容易にし得る。記憶デバイス６６０（１）〜（Ｎ）及び記憶デバイス６７０（１）〜（Ｎ）と同様に、記憶デバイス６９０（１）〜（Ｎ）及び知的記憶アレイ６９５は、一般に、データ及び／又は他のコンピュータ読み取り可能な命令を記憶することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。
【００６９】
ある実施形態において、及び図５の例示的なコンピューティングシステム５１０を参照して、図５の通信インターフェース５２２などの通信インターフェースは、各クライアントシステム６１０、６２０、及び６３０、並びにネットワーク６５０間に接続性を提供するように使用されてもよい。クライアントシステム６１０、６２０、及び６３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ６４０又は６４５上の情報にアクセスすることが可能であり得る。このようなソフトウェアは、クライアントシステム６１０、６２０、及び６３０が、サーバ６４０、サーバ６４５、記憶デバイス６６０（１）〜（Ｎ）、記憶デバイス６７０（１）〜（Ｎ）、記憶デバイス６９０（１）〜（Ｎ）、又は知的記憶アレイ６９５によってホストされるデータにアクセスすることを可能にすることができる。図６は、データを交換するためのネットワーク（インターネットなど）の使用を示しているが、本明細書に記載及び／又は図示される実施形態は、インターネット、又は任意の特定のネットワークに基づく環境に限定されない。
【００７０】
少なくとも１つの実施形態では、本明細書に開示される例示的な実施形態の１つ以上における全て又は一部は、コンピュータプログラムとしてコード化され、サーバ６４０、サーバ６４５、記憶デバイス６６０（１）〜（Ｎ）、記憶デバイス６７０（１）〜（Ｎ）、記憶デバイス６９０（１）〜（Ｎ）、知的記憶アレイ６９５、又はそれらの任意の組み合わせにロードされ、それらによって実行されてもよい。本明細書に開示される例示的な実施形態の１つ以上における全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ６４０に記憶され、サーバ６４５によって実行され、ネットワーク６５０を通じてクライアントシステム６１０、６２０、及び６３０に分散されてもよい。
【００７１】
上で詳述されるように、コンピューティングシステム５１０及び／又はネットワークアーキテクチャ６００の１つ以上の構成要素は、単独又は他の要素との組み合わせのいずれかで、サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するための例示的な方法の１つ以上の工程を実施し得る、及び／又はそれらを実施するための手段であり得る。
【００７２】
上述の開示は、特定のブロック図、フローチャート、及び実施例を使用して種々の実施形態を説明しているが、本明細書に記載及び／又は図示されるブロック図の構成要素、フローチャートの工程、動作、及び／又は構成要素はそれぞれ、個別にかつ／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（若しくはそれらの任意の組み合わせ）構成を使用して実装されてもよい。加えて、多くの他のアーキテクチャが同じ機能性を達成するように実装可能であることにより、他の構成要素内に含まれる構成要素のいずれの開示も、本質的に例示的であるものと見なされるべきである。
【００７３】
いくつかの実施例では、図１の例示的なシステム１００の全て又は一部は、クラウドコンピューティング又はネットワークに基づく環境の部分を表わしてもよい。クラウドコンピューティング環境は、インターネットを介して種々のサービス及びアプリケーションを提供することができる。これらのクラウドに基づくサービス（例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など）は、ウェブブラウザ又は他のリモートインターフェースを通じてアクセス可能であり得る。本明細書に記載される種々の機能は、リモートデスクトップ環境又は他の任意のクラウドに基づくコンピューティング環境を通して提供されてもよい。
【００７４】
種々の実施形態では、図１の例示的なシステム１００の全て又は一部は、クラウドに基づくコンピューティング環境内でマルチテナンシーを容易にし得る。換言すれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載される機能の１つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム（例えば、サーバ）を構成してもよい。例えば、本明細書に記載されるソフトウェアモジュールの１つ以上は、２つ以上のクライアント（例えば、顧客）がサーバ上で実行しているアプリケーションを共有することができるように、サーバをプログラムすることができる。このようにプログラムされたサーバは、複数の顧客（すなわち、テナント）の間で、アプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有してもよい。本明細書に記載されるモジュールの１つ以上はまた、１つの顧客が別の顧客のデータ及び／又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び／又は構成情報を分割してもよい。
【００７５】
種々の実施形態によると、図１の例示的なシステム１００の全て又は一部は、仮想環境内で実装され得る。例えば、本明細書に記載されるモジュール及び／又はデータは、仮想機械内に常駐及び／又はそこで実行してもよい。本明細書で使用するとき、「仮想機械」という句は、一般に、仮想機械マネージャ（例えば、ハイパーバイザ）によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。加えて、又は代替的に、本明細書に記載されるモジュール及び／又はデータは、仮想化層内で常駐及び／又は実行してもよい。本明細書で使用するとき、「仮想化層」という句は、一般に、オペレーティングシステム環境にオーバーレイする、並びに／あるいはそこから抽出される、任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション（例えば、ファイルシステムフィルタ）によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び／又はレジストリ内の場所に方向付けられる呼出しを、仮想化層内の場所にリダイレクトしてもよい。
【００７６】
いくつかの実施例では、図１の例示的なシステム１００の全て又は一部は、モバイルコンピューティング環境の部分を表わしてもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス（例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど）などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。いくつかの実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での１つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）、システムレベルの構成への修正を制限する、及び／又は第３者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する、アプリケーションのインストールを制限するように（例えば、認可されたアプリケーションストアからのみ生じるように）制御する等、制限されたプラットフォームを含む、１つ以上の個別の特性を有することができる。本明細書で説明される種々の機能は、モバイルコンピューティング環境に対して提供され得る、及び／又はモバイルコンピューティング環境と相互作用し得る。
【００７７】
加えて、図１の例示的なシステム１００の全て又は一部は、情報管理のための１つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ／又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という句は、データの保護、組織化、及び／又は記憶を指し得る。情報管理のためのシステムの例は、限定されないが、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを含んでもよい。
【００７８】
いくつかの実施形態では、図１の例示的なシステム１００の全て又は一部は、情報セキュリティのための１つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ／又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という句は、保護されたデータへのアクセスの制御を指し得る。情報セキュリティのためのシステムの例は、限定されないが、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを含んでもよい。
【００７９】
いくつかの実施例によると、図１の例示的なシステム１００の全て又は一部は、エンドポイントセキュリティのための１つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ／又はそれから保護を受信してもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という句は、権限がない及び／又は違法な使用、アクセス、並びに／あるいは制御からの、エンドポイントシステムの保護を指し得る。エンドポイント保護のためのシステムの例は、限定されないが、マルウェア対策システム、ユーザ認証システム、暗号システム、プライバシーシステム、スパムフィルタリングサービスなどを含んでもよい。
【００８０】
本明細書に記載及び／又は図示されるプロセスパラメータ及び工程の順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び／又は記載される工程は特定の順序で図示若しくは考察されることがあるが、これらの工程は、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び／又は図示される種々の例示的な方法はまた、本明細書に記載若しくは図示される工程の１つ以上を省略するか、又は開示されるものに加えて追加の工程を含んでもよい。
【００８１】
種々の実施形態を、完全に機能的なコンピューティングシステムの文脈において、本明細書に記載及び／又は図示してきたが、これらの例示的な実施形態の１つ以上は、実際に分散を実施するために使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書で開示される実施形態はまた、あるタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータ読み取り可能な記憶媒体上若しくはコンピューティングシステム内に記憶されてもよい、他の実行可能なファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の１つ以上を実施するようにコンピューティングシステムを構成してもよい。
【００８２】
加えて、本明細書に記載されるモジュールの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を、１つの形態から別の形態へと変換してもよい。例えば、本明細書で列挙されるモジュールのうちの１つ以上は、サブシステムデバイスから出力信号を受信して、その後、出力信号を変動に導入することによって、出力信号を修正された出力信号に変換することができる。加えて、又は代替的に、本明細書で列挙されるモジュールのうちの１つ以上は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、及び／又はそうでなければコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び／又は物理的コンピューティングデバイスの任意の他の部分を、１つの形態から別のものへ変換することができる。
【００８３】
前述の説明は、当業者が、本明細書に開示される例示的な実施形態の種々の態様を最良に利用することを可能にするために提供されてきた。この例示的な説明は、包括的であること、又は開示されるいずれかの正確な形態に限定されることを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【００８４】
別途記載のない限り、「〜に接続する（connected to）」及び「〜に連結する（coupled to）」（並びにその派生語）という用語は、本明細書及び特許請求の範囲で使用するとき、直接的及び非直接的（すなわち、他の要素又は構成要素を介しての）接続のいずれも許容すると解釈されるものとする。加えて、「ａ」又は「ａｎ」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも１つ」を意味すると解釈されるものとする。最後に、使用しやすくするため、「含む（including）」及び「有する（having）」（並びにその派生語）という用語は、本明細書及び特許請求の範囲で使用するとき、「備える（comprising）」という語と交換可能であり、同じ意味を有する。
【図１】
2017511512.tif 000003
【図２】
2017511512.tif 000004
【図３】
2017511512.tif 000005
【図４】
2017511512.tif 000006
【図５】
2017511512.tif 000007
【図６】
2017511512.tif 000008
【手続補正書】
【提出日】平成28年6月9日(2016.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するためのコンピュータ実装方法であって、前記方法の少なくとも一部が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実施され、前記方法が、
前記コンピューティングデバイス上のサブシステムデバイスから前記コンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、前記コンピューティングデバイス上で傍受することであって、前記出力信号が、前記コンピューティングデバイスをフィンガープリンティングするために追跡プログラムによって使用され得る少なくとも１つの特異的誤差を含む、傍受することと、
前記出力信号に対するエラーのマージンを識別することと、
前記出力信号内にバリエーションを導入することによって修正された出力信号を生成して、
変動が、前記出力信号に対する前記エラーのマージンを超えず、
前記追跡プログラムが、修正された出力信号において任意の特異的誤差を検出することができず、かつ
前記追跡プログラムが、前記コンピューティングデバイスをフィンガープリンティングするために前記修正された出力信号を使用することができないように、前記出力信号内に前記変動を導入することによって、前記修正された出力信号を作成することと、
前記ソフトウェア構成要素に前記修正された出力信号を送信することと、を含む、方法。
【請求項２】
前記修正された出力信号を作成することが、
前記サブシステムデバイス用のデバイスドライバ、
前記サブシステムデバイス用のファームウェア、のうちの少なくとも１つを用いて前記修正された出力信号を作成することを含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記ソフトウェア構成要素が、前記コンピューティングデバイス上のアプリケーション層の一部である、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記ソフトウェア構成要素が、
オペレーティングシステム構成要素、
アプリケーション構成要素、のうちの少なくとも１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記出力信号に対する前記エラーのマージンが、上限及び下限を含み、
前記変動が、前記エラーのマージンの前記上限を超えず、かつ
前記変動が、前記エラーのマージンの前記下限を超えないように、変動を導入させる、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記サブシステムデバイスが、
トランスデューサ、
センサ、
無線伝送器、のうちの少なくとも１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記修正された出力信号を作成することが、前記出力信号内にランダムに生成された変動を導入することを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
デバイスサブシステム出力信号に変動を導入してデバイスフィンガープリンティングを防止するためのシステムであって、
コンピューティングデバイス上で、前記コンピューティングデバイス上のサブシステムデバイスから前記コンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を傍受する、メモリに記憶された、傍受モジュールであって、前記出力信号が、前記コンピューティングデバイスをフィンガープリンティングするために追跡プログラムによって使用され得る少なくとも１つの特異的誤差を含む、傍受モジュールと、
前記出力信号に対するエラーのマージンを識別する、メモリに記憶された、識別モジュールと、
前記出力信号内にバリエーションを導入することによって修正された出力信号を生成して、
変動が、前記出力信号に対する前記エラーのマージンを超えず、
前記追跡プログラムが、修正された出力信号において任意の特異的誤差を検出することができず、かつ
前記追跡プログラムが、前記コンピューティングデバイスをフィンガープリンティングするために前記修正された出力信号を使用することができないように、前記出力信号内に前記変動を導入することによって、前記修正された出力信号を作成する、メモリに記憶された、修正モジュールと、
前記ソフトウェア構成要素に前記修正された出力信号を送信する、メモリに記憶された、伝送モジュールと、を含む、システム。
【請求項９】
前記修正モジュールが、
前記サブシステムデバイス用のデバイスドライバ、
前記サブシステムデバイス用のファームウェア、のうちの少なくとも１つを用いて前記修正された出力信号を作成する、請求項８に記載のシステム。
【請求項１０】
前記ソフトウェア構成要素が、前記コンピューティングデバイス上のアプリケーション層の一部である、請求項８に記載のシステム。
【請求項１１】
前記ソフトウェア構成要素が、
オペレーティングシステム構成要素、
アプリケーション構成要素、のうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１２】
前記出力信号に対する前記エラーのマージンが、上限及び下限を含み、
前記変動が、前記エラーのマージンの前記上限を超えず、かつ
前記変動が、前記エラーのマージンの前記下限を超えない、請求項８に記載のシステム。
【請求項１３】
前記サブシステムデバイスが、
トランスデューサ、
センサ、
無線伝送器、のうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１４】
前記修正モジュールが、前記出力信号内にランダムに生成された変動を導入することによって前記修正された出力信号を作成する、請求項８に記載のシステム。
【請求項１５】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
前記コンピューティングデバイス上のサブシステムデバイスから前記コンピューティングデバイス上のソフトウェア構成要素に送信される出力信号を、前記コンピューティングデバイス上で傍受させ、前記出力信号が、前記コンピューティングデバイスをフィンガープリンティングするために追跡プログラムによって使用され得る少なくとも１つの特異的誤差を含み、
前記出力信号に対するエラーのマージンを識別させ、
前記出力信号内にバリエーションを導入することによって修正された出力信号を生成して、
変動が、前記出力信号に対する前記エラーのマージンを超えず、
前記追跡プログラムが、修正された出力信号において任意の特異的誤差を検出することができず、かつ
前記追跡プログラムが、前記コンピューティングデバイスをフィンガープリンティングするために前記修正された出力信号を使用することができないように、前記出力信号内に前記変動を導入することによって、前記修正された出力信号を作成させ、
前記ソフトウェア構成要素に前記修正された出力信号を送信させる、１つ以上のコンピュータが実行可能な命令を含む、非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2017511512.tif 000009
2017511512.tif 000010