【実施例】
【0045】
様々な実施形態によれば、本開示は、複数の実施例を説明する。実施例1は、演算するためのコンピューティングデバイスであって、プロセッサと、1又は複数のモジュール、及び、センサレイヤを含むプロセッサにより動作させられるファームウェアとを備え、ファームウェアは、オペレーティングシステム(OS)不在のファームウェア環境において、複数のセンサにより生成されるセンサデータを受信し、複数のセンサを抽象化するセンサレイヤのインタフェースを介して1又は複数のモジュールにセンサデータを選択的に提供し、複数のセンサは、コンピューティングデバイスにあるか、又は、コンピューティングデバイスと動作可能に結合される。
【0046】
実施例2は、実施例1の主題を含んでよく、コンピューティングデバイス上でインスタンス化されるオペレーティングシステムをさらに備え、ファームウェアは、オペレーティングシステムから独立している。
【0047】
実施例3は、実施例1の主題を含んでよく、1又は複数のモジュールは、環境因子ブートモジュールを含み、環境因子ブートモジュールは、センサレイヤのインタフェースを通じてセンサレイヤからセンサデータの一部を受信し、センサデータの一部に少なくとも部分的に基づいて、1又は複数のポリシーを適用し、センサデータの一部は、1又は複数のポリシーにより規定される1又は複数の環境因子と関連付けられる。
【0048】
実施例4は、実施例3の主題を含んでよく、1又は複数のポリシーを適用することは、1又は複数の環境因子と関連付けられるセンサデータの一部に少なくとも部分的に基づいて、1又は複数のポリシーに違反するという決定が行われるときに、コンピューティングデバイスのブート処理を終了することである。
【0049】
実施例5は、実施例3の主題を含んでよく、1又は複数のポリシーを適用することは、1又は複数の環境因子と関連付けられるセンサデータの一部に少なくとも部分的に基づいて、1又は複数のドライバを選択的にインスタンス化することである。
【0050】
実施例6は、実施例3〜5のいずれか一つの主題を含んでよく、1又は複数の環境因子は、温度、水分、湿度、高度、音圧レベル、可聴周波数、振動、速度、加速度又は照明のうちの1又は複数を含む。
【0051】
実施例7は、実施例1の主題を含んでよく、1又は複数のファームウェアモジュールは、センサキャリブレーションモジュールを含み、センサキャリブレーションモジュールは、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサの妥当性を確認し、又は、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサをキャリブレートする。
【0052】
実施例8は、実施例7の主題を含んでよく、センサキャリブレーションモジュールは、複数のセンサのうちの1つのセンサの妥当性を確認し、さらに、1つのセンサにより生成されるセンサデータの当該妥当性をコンピューティングデバイスのオペレーティングシステムに検証させる。
【0053】
実施例9は、実施例7の主題を含んでよく、センサキャリブレーションモジュールは、複数のセンサのうちの1つのセンサにより生成されるセンサデータを基準値と一致させるべく、センサレイヤとのインタラクションを通じて、又は、センサデータを基準値と一致させるべく、センサデータの操作を通じて、1つのセンサをキャリブレートする。
【0054】
実施例10は、実施例1の主題を含んでよく、1又は複数のファームウェアモジュールは、データセキュリティモジュールを含み、データセキュリティモジュールは、暗号化されるデータを受信し、センサレイヤから受信されるローカルセンサ情報に少なくとも部分的に基づいて暗号鍵を生成し、暗号鍵を利用してデータを暗号化し、暗号情報としてコンピューティングデバイスのメモリにローカルセンサ情報を存続させる。
【0055】
実施例11は、実施例10の主題を含んでよく、データセキュリティモジュールは、さらに、データを復号化する要求を受信し、センサレイヤから追加のローカルセンサ情報を受信し、暗号情報を取得し、追加のローカルセンサ情報が暗号情報と一致するときに追加のローカルセンサ情報に少なくとも部分的に基づいて復号鍵を生成し、復号鍵を利用して情報を復号化する。
【0056】
実施例12は、実施例10又は11のいずれか一方の主題を含んでよく、ローカルセンサ情報は、複数のセンサ読出し、センサ状態又はセンサキャリブレーションのうちの1又は複数を含む。
【0057】
実施例13は、実施例1の主題を含んでよく、OS不在のファームウェア環境は、ブート処理についてのユニファイドエクステンシブルファームウェアインタフェース(UEFI)環境である。
【0058】
実施例14は、実施例13の主題を含んでよく、OS不在のファームウェア環境は、UEFI環境のドライバ実行環境(DXE)である。
【0059】
実施例15は、実施例13の主題を含んでよく、コンピューティングデバイスは、オペレーティングシステムから独立しており、ブート処理は、コンピューティングデバイスにOS不在の動作状態を実現することを結果的にもたらすべく、拡張可能なファームウェアインタフェース動作環境をインスタンス化する。
【0060】
実施例16は、実施例1〜15のいずれか一つの主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、コンピューティングデバイス上に配置され、バスインタフェースを介してプロセッサと動作可能に結合される。
【0061】
実施例17は、実施例1〜15のいずれか一つの主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、ヒューマンインタフェースデバイス、HID、ドライバを介してコンピューティングデバイスと通信可能に結合される。
【0062】
実施例18は、実施例1又は実施例3〜15のいずれか一つの主題を含んでよく、コンピューティングデバイスは、複数のセンサを有するモノのインターネットエッジデバイスである。
【0063】
実施例19は、実施例1〜15のいずれか一つの主題を含んでよく、コンピューティングデバイスは、ラップトップ、ネットブック、ノートブック、ウルトラブック、スマートフォン、タブレット、パーソナルデジタルアシスタント、ウルトラモバイルパーソナルコンピュータ、携帯電話、デスクトップコンピュータ、サーバ、モノのインターネットデバイス、又はセットトップボックスからなるグループから選択される。
【0064】
実施例20は、演算するための方法であって、方法は、コンピューティングデバイスのオペレーティングシステム(OS)不在のファームウェア環境が、複数のセンサの抽象概念を提供するインタフェースを有するセンサレイヤをインスタンス化する段階と、OS不在のファームウェア環境内のセンサレイヤが、複数のセンサにより生成されるセンサデータを受信する段階と、センサレイヤが、センサレイヤのインタフェースを介して1又は複数のファームウェアモジュールにセンサデータを選択的に提供する段階とを備える。
【0065】
実施例21は、実施例20の主題を含んでよく、オペレーティングシステム(OS)不在のファームウェア環境は、コンピューティングデバイス上にオペレーティングシステムのインスタンス化を結果的にもたらすブート処理の一部であり、ファームウェア環境は、オペレーティングシステムから独立している。
【0066】
実施例22は、実施例20の主題を含んでよく、1又は複数のファームウェアモジュールは、環境因子ブートモジュールを含み、方法は、さらに、環境因子ブートモジュールが、センサレイヤのインタフェースを通じてセンサレイヤからセンサデータの一部を受信する段階と、環境因子ブートモジュールが、センサデータの一部に少なくとも部分的に基づいて1又は複数のポリシーを適用する段階とを備え、センサデータの一部は、1又は複数のポリシーにより規定される1又は複数の環境因子に関連付けられる。
【0067】
実施例23は、実施例22の主題を含んでよく、1又は複数のポリシーを適用する段階は、さらに、1又は複数の環境因子に関連付けられるセンサデータの一部に少なくとも部分的に基づいて1又は複数のポリシーに違反するか否かを決定する段階と、決定の結果に少なくとも部分的に基づいて、コンピューティングデバイスのブート処理を終了する段階とを含む。
【0068】
実施例24は、実施例22の主題を含んでよく、1又は複数のポリシーを適用する段階は、さらに、1又は複数の環境因子と関連付けられるセンサデータの一部に少なくとも部分的に基づいて、1又は複数のドライバを選択的にインスタンス化する段階を含む。
【0069】
実施例25は、実施例22〜24のいずれか一つの主題を含んでよく、1又は複数の環境因子は、温度、水分、湿度、高度、音圧レベル、可聴周波数、振動、速度、加速度又は照明のうちの1又は複数を含む。
【0070】
実施例26は、実施例20の主題を含んでよく、1又は複数のファームウェアモジュールは、センサキャリブレーションモジュールを含み、方法は、センサキャリブレーションモジュールが、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサの妥当性を確認する段階と、センサキャリブレーションモジュールが、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサをキャリブレートする段階とをさらに備える。
【0071】
実施例27は、実施例26の主題を含んでよく、複数のセンサのうちの1つのセンサの妥当性を確認する段階は、さらに、1つのセンサにより生成されるセンサデータの当該妥当性をコンピューティングデバイスのオペレーティングシステムに検証させる段階を含む。
【0072】
実施例28は、実施例26の主題を含んでよく、複数のセンサのうちの1つのセンサをキャリブレートする段階は、1つのセンサにより生成されるセンサデータを基準値と一致させるべく、センサレイヤとインタラクトする段階、又は、センサデータを基準値と一致させるべく、センサデータを操作する段階をさらに含む。
【0073】
実施例29は、実施例20の主題を含んでよく、1又は複数のファームウェアモジュールは、データセキュリティモジュールを含み、方法は、データセキュリティモジュールが、暗号化されるデータを受信する段階と、データセキュリティモジュールがセンサレイヤから受信されるローカルセンサ情報に少なくとも部分的に基づいて暗号鍵を生成する段階と、データセキュリティモジュールが、暗号鍵を利用してデータを暗号化する段階と、データセキュリティモジュールが、暗号情報としてローカルセンサ情報をコンピューティングデバイスのメモリ内に存続させる段階とをさらに備える。
【0074】
実施例30は、実施例29の主題を含んでよく、方法は、データセキュリティモジュールが、データを復号化するための要求を受信する段階と、データセキュリティモジュールが、センサレイヤから追加のローカルセンサ情報を受信する段階と、データセキュリティモジュールが、暗号情報を取得する段階と、データセキュリティモジュールが、追加のローカルセンサ情報が暗号情報と一致するときに追加のローカルセンサ情報に少なくとも部分的に基づいて復号鍵を生成する段階と、データセキュリティモジュールが、復号鍵を利用してデータを復号化する段階をさらに備える。
【0075】
実施例31は、実施例29又は30のいずれか一方の主題を含んでよく、ローカルセンサ情報は、複数のセンサ読出し、センサ状態又はセンサキャリブレーションのうちの1又は複数を含む。
【0076】
実施例32は、実施例20の主題を含んでよく、OS不在のファームウェア環境は、コンピューティングデバイスのブート処理についてのユニファイドエクステンシブルファームウェアインタフェース(UEFI)環境である。
【0077】
実施例33は、実施例32の主題を含んでよく、OS不在のファームウェア環境は、UEFI環境のドライバ実行環境(DXE)である。
【0078】
実施例34は、実施例32の主題を含んでよく、コンピューティングデバイスは、オペレーティングシステムから独立しており、方法は、ファームウェア環境が、コンピューティングデバイスにOS不在の動作状態を実現することを結果的にもたらす拡張可能なファームウェアインタフェース動作環境をインスタンス化する段階をさらに備える。
【0079】
実施例35は、実施例20の主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、コンピューティングデバイス上に配置され、バスインタフェースを介してプロセッサと動作可能に結合される。
【0080】
実施例36は、実施例20の主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、ヒューマンインタフェースデバイス、HID、ドライバを介してコンピューティングデバイスと通信可能に結合される。
【0081】
実施例37は、実施例20の主題を含んでよく、コンピューティングデバイスは、複数のセンサを有するモノのインターネットエッジデバイスである。
【0082】
実施例38は、実施例20の主題を含んでよく、コンピューティングデバイスは、ラップトップ、ネットブック、ノートブック、ウルトラブック、スマートフォン、タブレット、パーソナルデジタルアシスタント、ウルトラモバイルパーソナルコンピュータ、携帯電話、デスクトップコンピュータ、サーバ又はセットトップボックスからなるグループから選択される。
【0083】
実施例39は、そこに格納される複数の命令を有する1又は複数のコンピュータ可読媒体であって、複数の命令は、コンピューティングデバイスのプロセッサにより実行されるときに、コンピューティングデバイスに、実施例20〜38のいずれか一つの方法を実行させる。
【0084】
実施例40は、そこに格納される複数の命令を有する1又は複数のコンピュータ可読媒体であって、複数の命令は、コンピューティングデバイスのプロセッサにより実行されるときに、1又は複数のモジュール、及び、センサレイヤを含むファームウェア環境を有するコンピューティングデバイスを提供し、センサレイヤは、複数のセンサにより生成されるセンサデータをオペレーティングシステム(OS)不在の環境において受信し、複数のセンサを抽象化するセンサレイヤのインタフェースを介して1又は複数のモジュールにセンサデータを選択的に提供し、複数のセンサは、コンピューティングデバイスにあり、又は、コンピューティングデバイスと動作可能に結合される。
【0085】
実施例41は、実施例40の主題を含んでよく、ファームウェアは、コンピューティングデバイスのオペレーティングシステムから独立している。
【0086】
実施例42は、実施例40の主題を含んでよく、1又は複数のモジュールは、環境因子ブートモジュールを含み、環境因子ブートモジュールは、センサレイヤのインタフェースを通じてセンサレイヤからセンサデータの一部を受信し、センサデータの一部に少なくとも部分的に基づいて、1又は複数のポリシーを適用し、センサデータの一部は、1又は複数のポリシーにより規定される1又は複数の環境因子と関連付けられる。
【0087】
実施例43は、実施例42の主題を含んでよく、1又は複数のポリシーを適用することは、1又は複数の環境因子と関連付けられるセンサデータの一部に少なくとも部分的に基づいて、1又は複数のポリシーに違反することの決定が行われたときに、コンピューティングデバイスのブート処理を終了することである。
【0088】
実施例44は、実施例42の主題を含んでよく、1又は複数のポリシーを適用することは、1又は複数の環境因子と関連付けられるセンサデータの一部に少なくとも部分的に基づいて、1又は複数のドライバを選択的にインスタンス化することである。
【0089】
実施例45は、実施例42〜44のいずれか一つの主題を含んでよく、1又は複数の環境因子は、温度、水分、湿度、高度、音圧レベル、可聴周波数、振動、速度、加速度又は照明のうちの1又は複数を含む。
【0090】
実施例46は、実施例39の主題を含んでよく、1又は複数のファームウェアモジュールは、センサキャリブレーションモジュールを含み、センサキャリブレーションモジュールは、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサの妥当性を確認し、又は、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサをキャリブレートする。
【0091】
実施例47は、実施例46の主題を含んでよく、センサキャリブレーションモジュールは、複数のセンサのうちの1つのセンサの妥当性を確認し、さらに、1つのセンサにより生成されるセンサデータの当該妥当性をコンピューティングデバイスのオペレーティングシステムに検証させる。
【0092】
実施例48は、実施例46の主題を含んでよく、センサキャリブレーションモジュールは、複数のセンサのうちの1つのセンサにより生成されるセンサデータを基準値と一致させるべく、センサレイヤとのインタラクションを通じて、又は、センサデータを基準値と一致させるべく、センサデータの操作を通じて、1つのセンサをキャリブレートする。
【0093】
実施例49は、実施例40の主題を含んでよく、1又は複数のファームウェアモジュールは、データセキュリティモジュールを含み、データセキュリティモジュールは、暗号化されるデータを受信し、センサレイヤから受信されるローカルセンサ情報に少なくとも部分的に基づいて、暗号鍵を生成し、暗号鍵を利用してデータを暗号化し、暗号情報としてローカルセンサ情報をコンピューティングデバイスのメモリ内に存続させる。
【0094】
実施例50は、実施例49の主題を含んでよく、データセキュリティモジュールは、さらに、データを復号化するための要求を受信し、センサレイヤから追加のローカルセンサ情報を受信し、暗号情報を取得し、追加のローカルセンサ情報が暗号情報と一致するときに、追加のローカルセンサ情報に少なくとも部分的に基づいて、復号鍵を生成し、復号鍵を利用してデータを復号化する。
【0095】
実施例51は、実施例49又は50のいずれか一方の主題を含んでよく、ローカルセンサ情報は、複数のセンサ読出し、センサ状態又はセンサキャリブレーションのうちの1又は複数を含む。
【0096】
実施例52は、実施例40の主題を含んでよく、OS不在のファームウェア環境は、ブート処理についてのユニファイドエクステンシブルファームウェアインタフェース(UEFI)環境である。
【0097】
実施例53は、実施例40の主題を含んでよく、OS不在のファームウェア環境は、UEFI環境のドライバ実行環境(DXE)である。
【0098】
実施例54は、実施例52の主題を含んでよく、ブート処理は、コンピューティングデバイスに動作状態を実現することを結果的にもたらす拡張可能なファームウェアインタフェース動作環境をインスタンス化する。
【0099】
実施例55は、実施例40の主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、コンピューティングデバイス上に配置され、バスインタフェースを介してプロセッサと動作可能に結合される。
【0100】
実施例56は、実施例40の主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、ヒューマンインタフェースデバイス、HID、ドライバを介してコンピューティングデバイスと通信可能に結合され、センサレイヤは、さらに、HIDデバイスドライバを利用して複数のセンサと通信する。
【0101】
実施例57は、実施例40の主題を含んでよく、コンピューティングデバイスは、複数のセンサを有するモノのインターネットエッジデバイスである。
【0102】
実施例58は、実施例40の主題を含んでよく、コンピューティングデバイスは、ラップトップ、ネットブック、ノートブック、ウルトラブック、スマートフォン、タブレット、パーソナルデジタルアシスタント、ウルトラモバイルパーソナルコンピュータ、携帯電話、デスクトップコンピュータ、サーバ又はセットトップボックスからなるグループから選択される。
【0103】
実施例59は、演算するためのコンピューティングデバイスであって、オペレーティングシステム(OS)不在のファームウェア環境において、複数のセンサの抽象概念を提供するインタフェースを有するセンサレイヤをインスタンス化する手段と、複数のセンサにより生成されるデータをOS不在のファームウェア環境において受信する手段と、センサレイヤのインタフェースを介して1又は複数のファームウェアモジュールにセンサデータを選択的に提供する手段とを備え、複数のセンサは、コンピューティングデバイスにあるか、又は、コンピューティングデバイスと動作可能に結合される。
【0104】
実施例60は、実施例59の主題を含んでよく、OS不在のファームウェア環境は、コンピューティングデバイス上にオペレーティングシステムのインスタンス化を結果的にもたらすブート処理の一部である。
【0105】
実施例61は、実施例59の主題を含んでよく、1又は複数のファームウェアモジュールは、環境因子ブートモジュールを含み、環境因子ブートモジュールは、センサレイヤのインタフェースを通じてセンサレイヤからセンサデータの一部を受信する手段と、センサデータの一部に少なくとも部分的に基づいて、1又は複数のポリシーを適用する手段とを有し、センサデータの一部は、1又は複数のポリシーにより規定される1又は複数の環境因子と関連付けられる。
【0106】
実施例62は、実施例61の主題を含んでよく、1又は複数のポリシーを適用する手段は、さらに、1又は複数の環境因子と関連付けられるセンサデータの一部に少なくとも部分的に基づいて、1又は複数のポリシーに違反するか否かを決定する手段と、決定の結果に少なくとも部分的に基づいて、コンピューティングデバイスのブート処理を終了する手段とを含む。
【0107】
実施例63は、実施例61の主題を含んでよく、1又は複数のポリシーを適用する手段は、さらに、1又は複数の環境因子と関連付けられるセンサデータの一部に少なくとも部分的に基づいて、1又は複数のドライバを選択的にインスタンス化する手段を含む。
【0108】
実施例64は、実施例61〜63のいずれか一つの主題を含んでよく、1又は複数の環境因子は、温度、水分、湿度、高度、音圧レベル、可聴周波数、振動、速度、加速度又は照明のうちの1又は複数を含む。
【0109】
実施例65は、実施例59の主題を含んでよく、1又は複数のファームウェアモジュールは、センサキャリブレーションモジュールを含み、センサキャリブレーションモジュールは、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサの妥当性を確認する手段、又は、複数のセンサのうちの1つのセンサにより生成されるセンサデータの一部に少なくとも部分的に基づいて、1つのセンサをキャリブレートする手段を有する。
【0110】
実施例66は、実施例65の主題を含んでよく、複数のセンサのうちの1つのセンサの妥当性を確認する手段は、さらに、1つのセンサにより生成されるセンサデータの妥当性をコンピューティングデバイスのオペレーティングシステムに検証させる手段を含む。
【0111】
実施例67は、実施例65の主題を含んでよく、複数のセンサのうちの1つのセンサをキャリブレートする手段は、さらに、1つのセンサにより生成されるセンサデータを基準値と一致させるべく、センサレイヤとインタラクトする手段、又は、センサデータを基準値と一致させるべく、センサデータを操作する手段を含む。
【0112】
実施例68は、実施例59の主題を含んでよく、1又は複数のファームウェアモジュールは、データセキュリティモジュールを含み、データセキュリティモジュールは、暗号化されるデータを受信する手段と、センサレイヤから受信されるローカルセンサ情報に少なくとも部分的に基づいて、暗号鍵を生成する手段と、暗号鍵を利用してデータを暗号化する手段と、暗号情報としてローカルセンサ情報をコンピューティングデバイスのメモリ内に存続させる手段とを有する。
【0113】
実施例69は、実施例68の主題を含んでよく、データセキュリティモジュールは、さらに、データを復号化するための要求を受信する手段と、センサレイヤから追加のローカルセンサ情報を受信する手段と、暗号情報を取得する手段と、追加のローカルセンサ情報が暗号情報と一致するときに、追加のローカルセンサ情報に少なくとも部分的に基づいて、復号鍵を生成する手段と、復号鍵を利用してデータを復号化する手段とを有する。
【0114】
実施例70は、実施例68又は69のいずれか一方の主題を含んでよく、ローカルセンサ情報は、複数のセンサ読出し、センサ状態又はセンサキャリブレーションのうちの1又は複数を含む。
【0115】
実施例71は、実施例59の主題を含んでよく、OS不在のファームウェア環境は、ブート処理についてのユニファイドエクステンシブルファームウェアインタフェース(UEFI)環境である。
【0116】
実施例72は、実施例71の主題を含んでよく、OS不在のファームウェア環境は、UEFI環境のドライバ実行環境(DXE)である。
【0117】
実施例73は、実施例71の主題を含んでよく、コンピューティングデバイスは、オペレーティングシステムから独立しており、さらに、コンピューティングデバイスに動作状態を実現することを結果的にもたらす拡張可能なファームウェアインタフェース動作環境をインスタンス化する手段を備える。
【0118】
実施例74は、実施例59の主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、コンピューティングデバイス上に配置される。
【0119】
実施例75は、実施例59の主題を含んでよく、複数のセンサのうちの1又は複数のセンサは、ヒューマンインタフェースデバイス、HID、ドライバを介してコンピューティングデバイスと通信可能に結合される。
【0120】
実施例76は、実施例59の主題を含んでよく、コンピューティングデバイスは、複数のセンサを有するモノのインターネットエッジデバイスである。
【0121】
実施例77は、実施例59の主題を含んでよく、コンピューティングデバイスは、ラップトップ、ネットブック、ノートブック、ウルトラブック、スマートフォン、タブレット、パーソナルデジタルアシスタント、ウルトラモバイルパーソナルコンピュータ、携帯電話、デスクトップコンピュータ、サーバ又はセットトップボックスからなるグループから選択される。