JP2013546101A - 物理的環境のカーネル認識 - Google Patents

物理的環境のカーネル認識 Download PDF

Info

Publication number
JP2013546101A
JP2013546101A JP2013544579A JP2013544579A JP2013546101A JP 2013546101 A JP2013546101 A JP 2013546101A JP 2013544579 A JP2013544579 A JP 2013544579A JP 2013544579 A JP2013544579 A JP 2013544579A JP 2013546101 A JP2013546101 A JP 2013546101A
Authority
JP
Japan
Prior art keywords
kernel
computer
operating system
physical
physical environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013544579A
Other languages
English (en)
Inventor
スプラドリン ジェレミア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013546101A publication Critical patent/JP2013546101A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Abstract

物理的に認識するカーネルを実装する技術を説明する。リソースを制御し、およびコンピュータ上での処理を行うカーネルまたはオペレーティングシステムを環境的に認識させるようにする。コンピュータの物理的環境を1つまたは2つ以上のセンサによって測定する。測定または観測を評価する。予め定めた環境条件が測定または観測に従って存在するとき、カーネルをそれに応じて適合させる。どのようにカーネルによりメモリを管理するか、またはどのようにカーネルによりプロセスを管理するか等のカーネルのコアとなる挙動を、感知された環境条件の点から修正する。すなわち、カーネルレベルの機能性を、ユーザ空間のアプリケーションコードとは異なり、特定の環境条件に応答して修正する。実施形態は、センサ観測を監視するポリシーエンジンおよびカーネルに到達する施行モジュールを有し、当該ポリシーエンジンによって到達した結論に基づいてカーネルを修正することができる。他の実施形態においては、カーネル自体により環境データを格納し、監視し、および応答する。

Description

本発明は物理的環境のカーネル認識に関し、より詳細には物理的に認識するカーネルを実装する技術に関する。
現代のオペレーティングシステムは、異なるプログラムを同じハードウェア上で実行する必要性およびコンピュータのハードウェアリソースの利用を最大限利用する要望から発展した。プロセッサが最初に処理を始める時(いわゆる「ベアメタル」)、プロセッサ上でユーザまたはアプリケーションプログラムを直接に実行することが可能であるが、コンピュータのハードウェアリソースをマーシャリングし、どの命令をロードするべきか決定し、ある種のシステム障害を処理する、等々のように、各々の新しいプログラムに対して、同じタイプの制御コードをリライトおよびリロードして同じ基本的な機能を実行することは非効率であることが明らかになった。さらにまた、コンピュータのハードウェアリソースの利用を高めることが望ましくなった。すなわち、高価なコンピュータは、異なるユーザが当該コンピュータをリセットし、および彼らの個々のプログラムをロードすると、しばしば使用されなくなる。これらおよびその他の理由から、オペレーティングシステムと呼ばれる専門化されたプログラムが開発された。
オペレーティングシステムは、今日、固有の機能およびハードウェアリソースの状態にのみに基づいてコンピュータのハードウェアリソースを効率的におよび安全に管理することをめざす専門のソフトウェアとして設計され続けている。このように、オペレーティングシステムはホスト自体の固有のコンピュータの環境の周辺のみで設計されている。効率的なリソースの利用、最適なコンピュータの処理速度、信頼性、等のための機能性およびアルゴリズムは、ホストコンピュータ自体についての入力ならびに情報にのみ依存していた。つまり、中核のオペレーティングシステムの挙動および機能性は、コンピュータの状態についての情報を「認識」していた、すなわちそのような情報を知らされていただけである。タスクスケジューリング、メモリ保護および割り当て、リソースへのアクセス制御、ならびに周辺装置の管理等の機能によって、ホストのコンピュータ・ハードウェアおよびソフトウェアの状態についての情報(セマンティック情報を含む)をすべて動作させる。
現代のオペレーティングシステムのホスト中心の設計原則および目的は、現代のオペレーティングシステムがコンピュータにとってモバイルとなることがありふれたことになる前に主に開発されたという事実を反映しているかもしれない。このように、オペレーティングシステムはホストコンピュータ自体のバーチャル環境を認識するだけであった。コンピュータの小型化がそれらの機動性および使用の範囲を高めた一方で、それらのオペレーティングシステムはバーチャル環境に注力したままであった。ラップトップコンピュータ、モバイル装置、および組み込み装置は、今や、オペレーティングシステムが発展したときに予期されなかった場所ならびに方法で使用される。例えば、コンピュータはしばしば車輌またはロボットの神経中枢である。モバイルコンピュータは物理的環境における変化を経験するかもしれない。科学者および軍人はフィールド条件が多く要求される場所においてコンピュータを使用するかもしれないが、ホストコンピュータの物理的な環境についての情報(気温、湿度、気圧、位置、速度等)は、オペレーティングシステムによって直接的に使用されていない。
これら変化にもかかわらず、オペレーティングシステムはホストコンピュータのすぐ近くでの動的な物理的環境を考慮する方法でそれらの主要な機能を実行するための設計はされていない。オペレーティングシステムが発展しならびに複雑さおよび設計の種類が増えるにつれてでさえ、それらオペレーティングシステムは命令を実行するバーチャルまたは抽象的なコンピューティング環境、外部の周辺装置とのアプリケーションの対話を促進する、等々とのみ概念的に関係しているにとどまっている。物理的世界の存在についてのいずれとの対話または情報も、特定の周辺装置と対話する特定のアプリケーションを通じてのみコンピュータによって対処されている。このようなアプリケーションは典型的にユーザ空間(非カーネル空間)において常駐し、および通常はオペレーティングシステムそれ自体に関連していない幾つかの特定の目的のための即時の物理的環境に関する情報に対処する。さらに、ユーザ空間アプリケーションはカーネルまたはオペレーティングシステム自体の挙動を変化させない。
上述したように、コンピュータはモバイルになっている。コンピュータおよびそれらのオペレーティングシステムは、オペレーティングシステムの発展の間に予期されなかった場所に行きならびに予期されなかった方法で使用されつつある。例えば、GPS(Global Positioning System)部品を持つ装置はフリーウェイに沿って高速で進むかもしれず、工場の自動化ロボットは物理的に好ましくない環境を動くかもしれず、そのフィールドにおける端末は過度の熱や寒さを経験するかもしれない。これらコンピューティング装置を制御するオペレーティングシステムは、それらが実行する物理的環境の変化を認識することが無い。
物理的環境の変化を認識するオペレーティングシステムに関連した技術を以下に説明する。
以下の発明の概要は、後述の発明の詳細な説明において説明される幾つかの概念を紹介するためにのみ含まれている。この発明の概要は包括的なものではなく、および特許請求の範囲に記載された、特許請求された主題の技術的範囲を定めることを意図したものではない。
物理的に認識するカーネルを実装するための技術を以下に説明する。リソースおよびコンピュータ上の処理を制御するカーネルまたはオペレーティングシステムを環境的に認識させる。コンピュータの物理的環境を1つまたは2つ以上のセンサによって測定する。その測定または観測を評価する。予め指定された環境条件が測定または観測に従って存在する時、カーネルをそれに応じて適合させる。どのようにカーネルによってメモリを管理するかまたはどのようにカーネルによってプロセスを管理するか等の、カーネルの中核となる挙動を、感知された環境条件の点から修正する。すなわち、カーネルレベルの機能性は、ユーザ空間のアプリケーションコードとは対照的に、特定の環境条件に応答して修正される。実施形態は、センサ観測を監視するポリシーエンジンおよびカーネルに到達して当該ポリシーエンジンによって到達した結論に基づいてカーネルを修正する施行モジュールを有することができる。別の実施形態においては、カーネル自体が環境データに対する格納、監視、および応答を行う。
付随する機能の多くを添付の図面と併せて考慮された以下の発明の詳細な説明を参照して説明する。
本発明にかかる説明は以下の発明の詳細な説明を添付の図面に照らして読むことでより深い理解がなされるであろう。添付の図面において、同様の参照番号は添付の発明の詳細な説明における同様の構成部品をさすために使用される。
環境的に認識するオペレーティングシステム設計を示すブロック図である。 カーネルをホストコンピュータの物理的な環境に適合させるための処理を示すフローチャート図である。 詳細な実施形態を示すブロック図である。 ポリシーファイルを示す図である。 ポリシーファイルの例を示す図である。 図3に対応する処理を示すフローチャート図である。 環境的に認識するカーネルまたはオペレーティングシステムを示すブロック図である。 図7に対応する処理を示すフローチャート図である。
以下に述べる実施形態はオペレーティングシステムのホストコンピュータの物理的な環境を認識しおよび適合するオペレーティングシステムに関連する。物理的な環境を考慮するオペレーティングシステムのための設計概念の概要から説明を開始する。当該設計を実装するための特定の実施形態を次いで説明する。ポリシーおよび施行モデルを使用する実施形態を次に説明する。ポリシーをどのように定め、および用いるかについての詳細を包含し、次いで、オペレーティングシステムの中核となる機能が直接の環境認識ならびに環境条件の変化に対する自己適合を有するオペレーティングシステムについて述べる。
図1は環境的に認識するオペレーティングシステム設計を示す。コンピュータ100は物理的な環境102にある。コンピュータ100はプロセッサ、プロセッサと共に用いられるメモリのようなストレージ、入出力機能、等々を持つ何れの種類のコンピューティング装置であってもよい。コンピュータ100は何れの形式または目的を有することができ、および組み込み装置、モバイルハンドヘルド装置、ラップトップ、車輌またはモバイル機器に一体化されたモニターレス装置、動いている状態のもしくは動的な環境条件に晒されるパーソナルコンピュータまたはその他いかなる種類のコンピュータであってもよい。物理的な環境102は屋外または移動により変化する必要はない。物理的な環境102は本明細書においてコンピュータ100のすぐ近くであると考える。
コンピュータ100は1つまたは2つ以上の物理的なセンサ104を備える。各々の物理的なセンサ104により物理的な環境102の測定可能な様相を感知する。物理的なセンサ104はいかなる種類であってもよく、例えば、気温センサ、動きセンサ、地理的位置センサ(例えば、GPS装置)、回転または慣性センサ(例えば、ジャイロスコープ)、圧電センサ、空気圧センサ、加速度計、湿度センサ、光センサ、磁界センサ、亜原子粒子探知器、放射線センサ、消費電力センサ、地震センサ、大気量センサ、電圧入力センサ、等々とすることができる。
コンピュータ100は、カーネル106をも有するが、当該カーネルはコンピュータを制御するオペレーティングシステムの一部である。カーネル106は公知のカーネルの何れのタイプ、例えば、モノリシックカーネル、マイクロカーネル、これら双方の混成体、組み込みカーネル、リアルタイムカーネル、またはその他に基づくことができる。さらに、カーネル106はハイパーバイザまたは次にバーチャルマシンをホストするハイパーバイザの実行を管理するマネジメントオペレーティングシステムとすることができる。以下に述べるように、カーネル106は何れのカーネルによって典型的に実行される種々の機能を有するが、従来のカーネルとは異なり、それらの機能はコンピュータ100の物理的な環境に適合される。
図2は、カーネル106をそのホストコンピュータ100の物理的な環境102に適合させるための処理を示す。概念的に、物理的な環境102によりカーネル106の挙動を通知する。すなわち、物理的な環境102における変化が感知されおよび特定されると、カーネル106の機能性は適合する。具体的には、ステップ130において、以下に説明される種々の手段によって、物理的なセンサ104からの読み取り値、すなわちデータを受信する。読み取り値をノイズに対してフィルターし、解釈し、およびことによってはローカルプロトコルを介してポリシーエンジンに渡す必要があるかもしれない。ステップ132において、観測値を予め定義されたまたはユーザ指定の条件と比較し、カーネルまたはオペレーティングシステムの機能性の何れの修正が求められるかどうかの決定をする。
ステップ134において、観測値から特定の環境条件が存在すると決定された時、オペレーティングシステム、および特に、カーネル106の挙動または機能性を修正する。カーネル106の修正は、コンピュータ100の管理プログラムおよびコンピュータ100のハードウェアとコンピュータ100上で実行するアプリケーション108との間のメディエータとしての、その中核となる機能の一つに作用することができる。このように、カーネル106の挙動自体が物理的な環境102に敏感である。これは、環境的に通知される、カーネルが処理するアプリケーションの単なる活動(例えば、スケジューリング、メモリ割り当て、等)から識別されることになる。さらにまた、修正の性質は変化し得る。カーネル106が使用するアルゴリズムを改変し、取り替える、等をすることができる。このようなアルゴリズムに作用するカーネル状態を物理的な環境の条件に応答して修正すことができる。要するに、カーネル106を修正して、リソースのエグゼクティブおよびコントローラとしてその役割をどのように実行するかに作用するようにする。
理解のため、いくつかの適合例を述べる。条件およびアクションの仕様等の詳細、および施行の機構を以下に説明する。気温値がある特定の閾値を超えると感知した時、オペレーティングシステムもしくはカーネル106の挙動が調整され、それによって、多分、幾つかのメンテナンス家庭を間引きまたは処理優先順位を下げ、あるいはCPUに供給される電圧を下げるSpeedStep(登録商標)のような省電力機能を使用することによって、CPUがより少ない動作を実行しまたは遅いレートで動作ようにする。突然の速度の変化が検知された時、いかなるディスクフラッシュを防止し、およびファイルに対する新しい書き込みを順番に待機させることによって、カーネル106によりハードディスクに対するいかなる書き込みも阻止することができる。あるレベルの放射線が検知されたとき、カーネル106はそのメモリ管理ルーチンを改変して、エラー訂正符号を用いて放射線によって誘発されるビット反転を低減させることができる。気温が予め定められた閾値を超えるか下回る時(コンピュータが屋外にあることを示唆している)、カーネル106のセキュリティパラメータを調整して、セキュリティを高めることができる。環境条件の組合せが検知されたとき、カーネル106は特定の指定された処理または装置のためのI/O(Input/Output)動作の再優先順位付けを行うことができる。コンピューティング装置が、(遠心分離機内または回転する車輌内で発生するように)現在、一定の加速/力を受けていることを決定するのに応答して、スレッドまたはタスクスケジューリングアルゴリズムに変化があり、したがってオペレーティングシステムが実行ユニットをスケジュールする方法が変化する。
オペレーティングシステムの機能を調整するための条件は、オペレーティングシステムの条件を含むこともできる。オペレーティングシステムの機能は、オペレーティングシステム条件と組合せた環境条件に基づいて調整することができる。オペレーティングシステムから利用可能なこのような情報は、CPUアイドル時間、合計メモリ使用、ユーザ入力からの時間、動作中のスレッドまたはコンテキストの数、オープンファイルの数、動作中のネットワークコネクション、保留中の割り込みがあるか、等々とすることができる。一般的に、あるオペレーティングシステム条件が存在するときのみ、環境条件は意味を与えるようにしてもよい。例えば、「気温>80 および CPU使用<50」のような条件は「1増分だけのCPU速度を減少させる」のようなアクションのためのトリガとして用いることができる。または、「使用メモリ<50MB および 速度>30であれば、ディスクキャッシュのサイズをXだけ増加させる」とする。別な例として、「メモリページフォールト(Memory.pagefaults)>10/秒 および 湿度>80であれば、プロセッサ割り当て(Processor.allocation)=モード2」とする。感知された物理的な環境値およびシステム値の組合せを用いるいかなるブール演算式も、特定され、および当該ブール演算式が満たされた時にとられる何らかのアクションに関連付けられることができる。
図3は詳細な実施形態を示す。カーネル106は公知の中核となる種々の機能のいかなるものも実行することができる。カーネル106は、メモリマネージャ150、I/O制御モジュール152、プロセスの生成を処理するためのマルチタスキングモジュール154およびCPUをそれらが共有することを含むことができる。電源マネージャ156は例えば、スリープ状態、シャットダウン状態、またはアイドル状態のような種々の電源状態に入ることに関連した、種々の電源管理機能を実行することができる。種々のその他の機能またはモジュール158により、オブジェクト管理、ファイルシステム管理、ストリームプロセッシング、およびその他公知の機能のようなその他の公知のカーネル機能を提供することができる。
種々のカーネル106の機能によりコンピュータ100の種々のハードウェアコンポーネントへのおよびそれらコンポーネントからのアクセスを制御することができる。このような公知のハードウェアコンポーネントは、一実施形態においては、グラフィックカードまたはディスプレイアダプタ等の周辺装置160、電源162、入力装置164、揮発性ストレージ(例えば、メモリ)および/または不揮発性ストレージ(例えば、ディスクドライブ)等のストレージ装置166を含むことができる。言うまでもなく、コンピュータ100は、カーネル106を実行し、およびカーネル106によって制御される別のハードウェアリソースでもあるプロセッサ(図示せず)を有することができる。
カーネル106およびハードウェアコンポーネントに加えて、コンピュータ100は物理的な環境102の感知された様相を検知し、および応答するためのシステムを有する。前述したように、種々のセンサ104A、104B、104C、104D、104Eをコンピュータ100の一部とすることができる。センサ104A−104Eにより気温、位置、動きの種類、気圧、磁界、荷電粒子または素粒子、大気ガス、重力、等を感知することができる。1つの種類のセンサのみが必要であることに留意されたい。さらに、センサ104Cおよび104E等の幾つかのセンサはコンピュータ100の外側に存在することができ、またはセンサ104A、104B、および104D等の幾つかのセンサはコンピュータ100の内側もしくはコンピュータ100に一体化させることができる。センサはコンピュータ100のハードウェアの一部である必要はないが、コンピュータ100はコンピュータ100と同じ局所的な物理的な環境102におけるセンサによって通信された読み取り値を受信することができる。
環境適合システムは、種々のソフトウェアコンポーネントをも含む。計装レイヤ168はコンピュータ100上で実行する。計装レイヤ168はセンサ104A−104Eからのデータを抽出するレイヤである。すなわち、計装レイヤ168は、多分、各センサ104A−104Eのデバイスドライバと交信することによって、各種のセンサ104A−104Eと交信するためのロジックを有することができる。計装レイヤ168は、オペレーティングシステムがもともと備えている計測レイヤ168を通して、またはプラグアンドプレイインターフェースを通して受信した環境の読み取り値を用いることもできる。計装レイヤ168は、コンフィギュレーション設定を通して、どのセンサが接続されているかおよびそれらがどのように交信するかについての情報を有することができる。この情報により、計装レイヤ168によりセンサ読み取り値をポリシーエンジン172との交信のための共通のフォーマットに変換しおよびカプセル化することができる。ポリシーエンジン172は、カーネル空間において比較的高い優先順位で(例えば、高い優先順位の割り込みで)実行して、迅速な介在を可能にする。カプセル化された物理的な観測値174をポリシーエンジン172に渡す。物理的な観測値174は、名前−値の対のような形式を有することができ、ここで、名前または識別子によって観測源(例えば、センサ104Cを特定する番号または名前)を特定し、および対応するセンサからの物理的な読み取り値に対応する値を含む。カプセル化された物理的な観測値174は、含まれた観測値のデータの種類を示すフラグを有することもできる。
ポリシーエンジン172により、物理的な観測値174に基づいたカーネル106の挙動を管理するルールを実装することができる。このようなルールの例は上記に一覧された。ポリシーエンジン172によって評価されたルールは、ローカルバスまたはデータネットワークを介して別のコンピュータから受信されるコマンドまたは設定等のその他のデータ174を考慮することができる。ポリシーエンジン172は、メモリの状態についてのデータ、ディスクの活動についてのデータ、CPU使用についてのデータ、等のようなシステムデータ176を受信することもできる。(例えば、センサが観測値を送信する頻度が、ポリシーエンジン172がセンサの観測値を用いるルールを評価する頻度と異なる時)ポリシーエンジン172は、受信された物理的な観測値174をキャッシュすることもでき、それにより、観測値を環境における傾向に合成することおよび対応するセンサと同期させることの双方を可能とする。
ポリシーエンジン172は、1つまたは2つ以上のライブラリ(図示せず)を実行することもできる。ライブラリは、ルールによって呼び出されることができ、ユーザがプログラムした高レベルの機能を実装してもよい。例えば、機能は(物理的な観測値174において提供されたような)地理的位置を現在のコンピュータ100の位置での予想された天候条件等のその他のデータに対して、マッピングしてもよい。他の機能は、最近の位置または速度の読み取り値のキャッシュされたシーケンスを読み取り、次いでコンピュータ106の現在の物理的な加速を計算するようにしてもよい。他の機能は、磁気観測および速度観測から誘発された電気エネルギーを計算するようにしてもよい。一般的に、ポリシーエンジン172は物理的な観測を解釈するいかなるコードを実行することとしてもよい。
ポリシーエンジン172によりルールを評価するが、ここでルールは環境条件(ある物理的な条件)および取るべき何らかのアクションの双方を指定し、ここでアクションは一般的にカーネル106またはそれを取り囲むオペレーティングシステの中核となる挙動に対して作用しまたは改変する。ルールをストレージ装置166に格納されたポリシーファイルまたはポリシーステートメント178において指定することができる。ポリシーエンジン172が実行を開始した時、ポリシーエンジン172によって、ポリシーステートメント178が読み取られ、構文解析され、および繰り返し評価される。ポリシーエンジン172はブール演算式を含む形式言語を実装することができる。ルールは、幾つかの複雑なまたは複合のブール演算式(例えば、"(VI + V2) > A AND (CI < C2 OR Dl > D2)")を有することができ、ここで、変数は物理的な観測値174のデータ、オペレーティングシステムデータ176、またはその他のデータ174を格納する。
ルールは施行アクションを伴い、その施行アクションは、カーネル106を修正するために何れのステップまたは複数ステップが取られるかを示す。アクションは施行モジュール180によって実装され、その施行モジュール180により、カーネル空間(カーネル特権のメモリ空間)において実行するか、またはカーネル106に対するコールを発行する。ここで、カーネルモードにおける動作は性能を改善することができるが、いずれも許容可能である。施行モジュール180を、ポリシーエンジン172によって呼び出し可能な高レベルの施行アクション機能を提供するAPI(Application Programming Interface)とすることができる。例えば、施行モジュール180は、カーネル106に対して種々のコールを発行し、およびカーネル106がどのように動作するかを調節するフラグまたはコンフィギュレーションの設定を変化させることにより、コンピュータ100の種々の活動をS秒間一時停止する"一時停止する(S)"と呼ばれる機能を有してもよい。施行アクションのその他のタイプも可能である。ユーザモードスレッドを凍結し、または優先順位付けを解除してもよい。それ以上のいかなるディスクアクセスをロックしてもよい。休止状態またはシャットダウンを開始してもよい。外部の周辺装置への電源を遮断してもよい。逆に、プロセッサが組み込み装置上で低電力状態にある場合、プロセッサに上向きに給電し、一方で低い優先順位のスレッドを押し下げることにより、装置がすぐに作動刺激に応答することができるようにする。上述したように、カーネル106の挙動をコンピュータ100の物理的な環境102に基づいて制御する。
図4はポリシーファイル200を示す。ポリシーファイルは、ポリシーエンジン172および施行モジュール180を構成する情報を有することができる。ポリシーファイル200は、幾つかのマークアップ言語コードまたは別の形式言語におけるコードを包含することができる。読み取り値を提供している異なるセンサを宣言するセンサセクション202を含むことができる。センサ宣言によりセンサの名前およびデータタイプを指定してもよい。ポーリング頻度も含めて、どれくらいの頻度でセンサが新しい読み取り値を提供するかを示すこと、またはどれくらいの頻度でキャッシュされたセンサの大部分の観測がポリシーエンジン172によって読み取られおよび更新されるかを指定してもよい。施行セクションにより幾つかのグローバルルールを指定してもよいし、または高レベルのアクションもしくは施行機能(例えば、上述の"Suspend(S)"機能)を定義してもよく、それを何れかのルールのアクションによって呼び出すことができる。ポリシーセクション206はポリシー178等の種々のポリシーを包含してもよい。図4は、例のみを示している。マークアップ言語、名前−値の対のような形式等を使用する要求はなく、一般的にポリシーを記述するのに数多くの公知の方法がある。
ポリシーは1つまたは2つ以上のルール207を有することができる。ルール207により条件208およびアクション210を定義することができる。条件208は、前述の通り、現在または最近の環境の観測値およびおそらく付属されるデータに従って、ポリシーエンジン172によって評価される。ルール207の条件208により真と評価する時、対応する施行アクション210は施行モジュール180によって呼び出されおよび実行される。
図5はポリシーファイル230の例を示す。種々のセンサの種類が物理的なセンサ104に対応して、定義される。ポリシーエンジン172または計装レイヤ168はセンサの定義を使用して、どの物理的なセンサ104と交信するか、どのようにそれらと交信するか、およびどのようにそれらの観測を解釈するかを特定する。図5におけるセンサおよびポリシー定義は図示のために提供された例にすぎない。環境適合システムを用いると、ユーザは柔軟におよび簡単に新たなセンサを追加し、ポリシーを追加または修正し、新しいルールまたはアクションを指定し、新しいオペレーティングシステムコンポーネント(カーネルコンポーネントを含む)等を、カーネル106を構築し直す必要なしに、動的にロードすることができることに注意されたい。それでもなお、一実施形態において、施行アクションにより、オペレーティングシステムが再起動される(ことによっては新しいコンポーネントまたはライブラリがカーネル106とリンクされることを可能とする)ことを要求するカーネル106の再構成を惹起してもよい。
図6は図3に対応する処理を示す。ステップ250において、環境の観測、例えば、("気温", 100)のような名前−値の対が受信されまたは読み取られる。ステップ250は関連したセンサのために指定されたポーリング頻度に従って実行されることができる。あるいはまた、ステップ250は何れのセンサから新しい観測値が受信されるたびに実行することができる。ステップ252において、プロセスは受信された読み取り値または観測値を参照する何れかのポリシーを特定する。例えば、ポリシー178が、屋外の気温についての条件を特定するルールを有する場合、当該ポリシーまたはルールが特定される。ステップ254において、何れかの特定したルールを評価する。すなわち、ルールの条件は、ステップ250において受信された適切な観測値または読み取り値に従って評価される。ルールが満たされない(条件が真ではない)場合、プロセスはステップ250に戻る。ステップ256において、真と評価された各々の条件に対して、対応するアクションを施行モジュール180によって実行する。その結果は、ステップ258においてカーネル106の状態または機能性が修正されるということである。以前に述べた通り、(多分、レジストリもしくはコンフィギュレーションファイルにおいて)カーネル106のコンフィギュレーションパラメータを修正することにより、あるいは幾つかの実行可能なコードまたはカーネル106によって管理されるカーネル特権のメモリ空間における変数を変化させることによって、カーネル106を種々の方法で修正することができる。その効果は、カーネル106が環境的に認識するようになることである。すなわち、カーネル106によりコンピュータ100を制御する方法を、コンピュータ100の種々の指定された環境の物理的な条件に修正し、または適合する。
図7は環境的に認識するカーネルまたはオペレーティングシステムを示す。本実施形態は、組み込みシステム、または小さくおよび効率的であるように設計されたマイクロカーネルのようなカーネルに適しているかもしれない。本実施形態において、カーネルと物理的なセンサ読み取り値との間の中間のレイヤを使用するよりも、環境のデータをカーネル280内に渡し、およびそのレジスタまたはメモリに格納する。言い換えると、カーネル280によって、カーネルのホストコンピュータが常駐する現在のまたは最近の物理的な環境についての環境データ282を格納する。環境データ282を、ホストコンピュータのバス上に実装してもよいデータ交換プロトコル284を介して、受信することができる。本実施形態において、中核となる機能286またはカーネル280のサービス/コンポーネントによって、環境282が更新された時に生成された割り込みに応答し、定期的に、環境データを監視しまたは環境データ282を読み取る。一実施形態において、共有された環境のセンサはネットワークまたはデータリンクを通してデータをリモートで交信することができる。
コアとなる機能286を適切に構成して、それらの通常のシステム機能に加えて、それら機能が、環境データ282に基づいてどのようにそれら機能がそのような機能を実行するかを変化させるロジックを有もする。包括的に、以下の何れにおけるオペレーティングシステムの機能性を修正することができる。すなわち、割り込み処理、スレッドスケジューリング、プログラム実行、メモリ管理、デバイスドライバ、セキュリティオブジェクト、ネットワーキング、および不揮発性ストレージシステムを修正することができる。例えば、バーチャルメモリ管理プログラム(VMM)は現在の気温を包含しているレジスタをチェックし、それに応答し、VMMによりメモリ空間を変化させ、新しいキャッシュアルゴリズムにスワップし、またはディスクに格納したバーチャルメモリに対してマッピングするメモリ空間への書き込みを一時的にブロックする、等々を実行するループを有することもできる。カーネルは、コアとなる機能286の小さなマップおよびそれら機能がそれぞれアクセスする環境データ282、およびおそらく関連付けられた環境データ282が変化するときに実行されるそれぞれのコアとなる機能286におけるコード部分(例えば、スレッド)のアドレスをも維持するコンポーネントを有することができる。
図8は図7に対応する処理を示す。ステップ300において、カーネルモジュールまたはコアとなる機能286は、メモリを管理し、どのプロセスが現在実行されるかを含んでいるコンテキストおよびプロセスを実行することを管理し、電力を調整し、ファイルシステム活動を処理する、等々のようなカーネル280におけるその通常の機能を繰り返して実行している。ステップ302において、カーネルモジュール(軽い監視モジュールまたはコアとなる機能286のいずれか)により環境データ282を監視し、およびその変化を検知する。ステップ304において、変化した環境データ282に対して敏感な、コアとなる機能286によって挙動の適合が要求されるかを決定する。テストされた環境の条件が存在する場合、カーネルパラメータを変化させ、1つまたは2つ以上のカーネルコールを呼び出す、等々のように適切なアクションが取られる。図8のアプローチにより、コンピュータのハードウェアに最も近いカーネル280は、コンピュータのハードウェアを脅かす環境の条件に対してすぐに反応することができる。放射線による損傷または磁気誘導、急な加速または減速、等のような突然の変化により、全ての活動を完全に一時停止し、ハードウェアコンポーネントの給電を完全に遮断し、脆弱なデータを保護し、データセキュリティを高める、等々のような目安によりすぐに応答させることができる。
種々の実装を上述してきたが、実施例は図示および議論のために提供される。環境的に認識するカーネルの概念は異なる形態において実現することができる。さらに、本明細書において説明される技術は、いかなる種類のオペレーティングシステムまたはカーネルにも用いることができる。例えば、当該技術を、(厳格なタイムウインドにおいてイベントに応答しなければならない)ハードバージョンおよび(一定の遅延が許可される)ソフトバージョンを含む、リアルタイムオペレーティングシステム(ここで、オペレーティングシステムは特定のイベントに特定の時間内で反応しなければならない)で用いることができる。カーネルに関して、いかなる種類のカーネル設計、例えば、マイクロカーネル、モノリシックカーネル、およびハイブリッドを用いることができる。
結論
以上に説明した実施形態および機能は、コンピュータまたは装置が読み取り可能な揮発性もしくは不揮発性媒体に格納された情報の形態で実現することができる。当該媒体は、光学のストレージ(例えば、CD−ROM(Compact Disk Read Only Memory))、磁気媒体、フラッシュ読み取り専用メモリ(ROM)、あるいはデジタル情報を格納する現在または将来の何れかの手段等の媒体を少なくとも含むものとする。当該格納された情報は、上記で検討した種々の実施形態を実行するコンピューティング装置を可能にし、または構成するために用いることができる機械が実行可能な命令(例えば、コンパイルされた実行可能なバイナリコード)、ソースコード、バイトコード、もしくはその他何れかの情報の形態とすることができる。当該媒体は、少なくとも実施形態を実行するプログラムの実行中にCPU(Central Processing Unit)命令等の情報を格納するRAM(Random Access Memory)および/またはバーチャルメモリ等の揮発性メモリ、並びにプログラムまたは実行可能ファイルをロードしそして実行することを可能とする情報を格納する不揮発性媒体を含むものとする。実施形態および機能は、携帯装置、ワークステーション、サーバ、モバイル無線装置、等々を含むいずれかの種類のコンピューティング装置上で実行することができる。

Claims (10)

  1. メモリおよびプロセッサを備えるコンピュータ上で実行するオペレーティングシステムの挙動を修正し、前記オペレーティングシステムにより前記コンピュータの前記プロセッサ、メモリ、およびその他のリソースを制御する、方法であって、
    複数のポリシーを読み取り、該複数のポリシーの各々により、前記オペレーティングシステムを現在の環境に適合させるために取るべき1つまたは2つ以上の条件および1つまたは2つ以上のアクションを指定することと、
    前記コンピュータの前記現在の物理的な環境の観測を備える観測値を受信することと、
    前記観測値に対する前記ポリシーを評価して観測値が予め定めた条件を満たすことを決定し、およびそれに応答して、前記複数のポリシーにおいて特定された前記オペレーティングシステムの機能を修正することを備えることを特徴とする方法。
  2. 前記観測値を、前記コンピュータに取り付けられ、前記コンピュータの外側の物理的な環境を感知するセンサの読み取り値から導出することを特徴とする請求項1に記載の方法。
  3. 前記観測値を監視し、および前記特定された条件の何れかが前記観測値によって満たされるかを繰り返し決定することとをさらに備えることを特徴とする請求項2に記載の方法。
  4. 前記オペレーティングシステムはカーネルモジュールを備えるカーネルを備え、および前記オペレーティングシステムの機能を修正することは、前記カーネルモジュールの一つによって実装される設定またはアルゴリズムを修正することを備えることを特徴とする請求項1に記載の方法。
  5. 前記修正されたカーネルモジュールは、割り込み処理モジュール、スレッドスケジューリングモジュール、プログラム実行モジュール、メモリ管理モジュール、デバイスドライバ管理モジュール、セキュリティオブジェクト、ネットワーキングモジュール、または不揮発性ストレージシステム、のいずれかを備え、および
    前記修正することは、前記修正されたカーネルモジュールによりどのように前記コンピュータのリソースを制御するかを改変することを備えることを特徴とする請求項4に記載の方法。
  6. 前記観測は、前記環境の気温の測定、前記コンピュータの速度または加速度の測定、地理的位置の測定、高度の測定、気圧の測定、または周囲の電磁力の測定、大気中の含有量の測定、地震活動の測定、または電力の測定のいずれかを備えることを特徴とする請求項5に記載の方法。
  7. プロセッサおよびハードウェアコンポーネントを備えるコンピューティング装置により処理を実行することを可能とする情報を格納する、1つまたは2つ以上のコンピュータ可読ストレージ媒体であって、
    前記処理は、
    前記コンピューティング装置の現在の物理的な環境についての環境データを受信することと、
    前記物理的な環境の物理的な環境の条件を特定する一連のルールを評価して、前記物理的な環境がルールによって特定された条件を現在有することを前記環境データから決定することと、
    前記物理的な環境が前記特定された条件を有することを決定したことに応答して、前記オペレーティングシステムのリソース制御の挙動を修正し、それにより前記オペレーティングシステムの前記リソース制御の挙動を前記物理的な環境に従って修正することを特徴とする1つまたは2つ以上のコンピュータ可読ストレージ媒体。
  8. 前記環境データを前記受信することは、前記物理的な環境の様相を感知する物理的なセンサを読み取ることを備え、および前記物理的なセンサを感知することは、気温、速度、湿度、気圧、加速度、振動、または磁力強度のいずれかを示す信号を生成することを備えることを特徴とする請求項7に記載の1つまたは2つ以上のコンピュータ可読ストレージ媒体。
  9. 前記リソース制御の挙動は、前記オペレーティングシステムがどのように前記ハードウェアコンポーネントまたはプロセッサに対するアクセスの優先順位付けを実行するかを備えることを特徴とする請求項7に記載の1つまたは2つ以上のコンピュータ可読ストレージ媒体。
  10. 前記リソース制御の挙動は、前記オペレーティングシステムのメモリ管理、前記オペレーティングシステムの電源の管理、前記オペレーティングシステムのプロセスもしくはスレッドのスケジューリング、またはオペレーティングシステムの入力/出力管理のいずれかを備えることを特徴とする請求項7に記載の1つまたは2つ以上のコンピュータ可読ストレージ媒体。
JP2013544579A 2010-12-16 2011-12-08 物理的環境のカーネル認識 Pending JP2013546101A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/970,935 2010-12-16
US12/970,935 US10346276B2 (en) 2010-12-16 2010-12-16 Kernel awareness of physical environment
PCT/US2011/064033 WO2012082525A2 (en) 2010-12-16 2011-12-08 Kernel awareness of physical environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017075060A Division JP2017142836A (ja) 2010-12-16 2017-04-05 オペレーティングシステムの挙動を修正する方法及びデバイス

Publications (1)

Publication Number Publication Date
JP2013546101A true JP2013546101A (ja) 2013-12-26

Family

ID=46236012

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013544579A Pending JP2013546101A (ja) 2010-12-16 2011-12-08 物理的環境のカーネル認識
JP2017075060A Pending JP2017142836A (ja) 2010-12-16 2017-04-05 オペレーティングシステムの挙動を修正する方法及びデバイス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017075060A Pending JP2017142836A (ja) 2010-12-16 2017-04-05 オペレーティングシステムの挙動を修正する方法及びデバイス

Country Status (8)

Country Link
US (1) US10346276B2 (ja)
EP (1) EP2652595B1 (ja)
JP (2) JP2013546101A (ja)
KR (1) KR20140001940A (ja)
CN (1) CN102567176A (ja)
AR (1) AR084047A1 (ja)
TW (1) TWI549052B (ja)
WO (1) WO2012082525A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201348949A (zh) * 2012-05-29 2013-12-01 Hon Hai Prec Ind Co Ltd 伺服器防震方法及系統
KR101535792B1 (ko) * 2013-07-18 2015-07-10 포항공과대학교 산학협력단 운영체제 구성 장치 및 방법
US9804665B2 (en) 2013-12-29 2017-10-31 Google Inc. Apparatus and method for passing event handling control from a primary processor to a secondary processor during sleep mode
US9753527B2 (en) 2013-12-29 2017-09-05 Google Technology Holdings LLC Apparatus and method for managing graphics buffers for a processor in sleep mode
US9798378B2 (en) 2014-03-31 2017-10-24 Google Technology Holdings LLC Apparatus and method for awakening a primary processor out of sleep mode
CN112800573B (zh) * 2019-11-14 2023-11-03 北京圣涛平试验工程技术研究院有限责任公司 可靠性分析方法及装置
KR102260636B1 (ko) * 2020-10-13 2021-06-07 국방과학연구소 임베디드 소프트웨어 컴포넌트를 설계하는 방법 및 장치
KR20230079530A (ko) * 2021-11-29 2023-06-07 (주) 글루시스 엣지 스토리지 시스템 위한 고신뢰성 입출력 컨트롤러 구현 및 그 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04337836A (ja) * 1991-05-15 1992-11-25 Nec Corp ジョブ投入方法
JPH05282168A (ja) * 1992-03-30 1993-10-29 Hitachi Ltd フォールトトレラントコンピュータ
US20020125886A1 (en) * 2001-03-12 2002-09-12 International Business Machines Corporation Access to applications of an electronic processing device solely based on geographic location
JP2004164642A (ja) * 2002-11-12 2004-06-10 Arm Ltd データ処理システムにおけるピーク・レベル選択
JP2004530196A (ja) * 2001-03-08 2004-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 区分処理環境におけるリソース平衡化
WO2008050512A1 (fr) * 2006-09-29 2008-05-02 Nec Corporation Dispositif, procédé et programme de commande de démarrage
US20090163226A1 (en) * 2007-12-20 2009-06-25 Burges Karkaria Device, system, and method of power saving using location sensing modules
US20100037073A1 (en) * 2008-08-11 2010-02-11 International Business Machines Corporation Apparatus and Method for Selective Power Reduction of Memory Hardware
JP2010277581A (ja) * 2009-04-27 2010-12-09 Hitachi Ltd 資源管理方法、資源管理プログラム、および、資源管理装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296271B1 (en) * 2000-06-28 2007-11-13 Emc Corporation Replaceable scheduling algorithm in multitasking kernel
US6576972B1 (en) 2000-08-24 2003-06-10 Heetronix High temperature circuit structures with expansion matched SiC, AlN and/or AlxGa1-xN(x>0.69) circuit device
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US7072956B2 (en) 2000-12-22 2006-07-04 Microsoft Corporation Methods and systems for context-aware policy determination and enforcement
US7542963B2 (en) * 2003-04-14 2009-06-02 American Power Conversion Corporation Method and system for journaling and accessing sensor and configuration data
WO2004092907A2 (en) * 2003-04-14 2004-10-28 Netbotz, Inc. Extensible sensor monitoring, alert processing and notification system and method
US20080218501A1 (en) 2003-05-30 2008-09-11 Diamond Michael B Display illumination system and method
US7451332B2 (en) * 2003-08-15 2008-11-11 Apple Inc. Methods and apparatuses for controlling the temperature of a data processing system
JP4213572B2 (ja) * 2003-11-28 2009-01-21 株式会社東芝 電子機器およびプロセッサ速度制御方法
US7400878B2 (en) 2004-02-26 2008-07-15 Research In Motion Limited Computing device with environment aware features
US20070005363A1 (en) 2005-06-29 2007-01-04 Microsoft Corporation Location aware multi-modal multi-lingual device
US7424711B2 (en) * 2005-06-29 2008-09-09 Intel Corporation Architecture and system for host management
US20070159455A1 (en) 2006-01-06 2007-07-12 Ronmee Industrial Corporation Image-sensing game-controlling device
JP2007208864A (ja) 2006-02-06 2007-08-16 Sony Corp 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
US7840825B2 (en) * 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
KR20080052320A (ko) 2006-12-05 2008-06-11 한국전자통신연구원 타겟 보안 설정 방법
US20080162555A1 (en) * 2006-12-27 2008-07-03 Motorola, Inc. Active lifestyle management
US7865253B2 (en) * 2007-04-16 2011-01-04 International Business Machines Corporation System and method for detecting shakes and percussive impacts and for protecting portable electronic devices when pre-specified shake patterns and percussive impact levels are detected
JP5001712B2 (ja) 2007-05-16 2012-08-15 本田技研工業株式会社 車両用配管取付構造
EP2158563A2 (en) 2007-06-14 2010-03-03 Stichting IMEC Nederland A method of and a system for sensor signal data analysis
US20090055739A1 (en) 2007-08-23 2009-02-26 Microsoft Corporation Context-aware adaptive user interface
WO2009097591A1 (en) * 2008-02-01 2009-08-06 Pillar Ventures, Llc Situationally aware and self-configuring electronic data and communication device
US8207846B2 (en) 2008-04-23 2012-06-26 Dell Products L.P. Input/output interface and functionality adjustment based on environmental conditions
US8250383B2 (en) * 2008-04-25 2012-08-21 International Business Machines Corporation Temperature threshold application signal trigger for real-time relocation of process
US20100042826A1 (en) * 2008-08-15 2010-02-18 Apple Inc. Dynamic Control of Device State Based on Detected Environment
US8645641B2 (en) 2008-12-17 2014-02-04 Seagate Technology Llc Intelligent storage device controller
KR20100118271A (ko) 2009-04-28 2010-11-05 삼성전자주식회사 컴퓨터 시스템에서 하드디스크 드라이브 보호를 위한 큐 오버플로우 방지 방법 및 장치
US8650396B2 (en) * 2009-06-11 2014-02-11 Hewlett-Packard Development Company, L.P. Permission-based dynamically tunable operating system kernel
US9367331B2 (en) * 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04337836A (ja) * 1991-05-15 1992-11-25 Nec Corp ジョブ投入方法
JPH05282168A (ja) * 1992-03-30 1993-10-29 Hitachi Ltd フォールトトレラントコンピュータ
JP2004530196A (ja) * 2001-03-08 2004-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 区分処理環境におけるリソース平衡化
US20020125886A1 (en) * 2001-03-12 2002-09-12 International Business Machines Corporation Access to applications of an electronic processing device solely based on geographic location
JP2004164642A (ja) * 2002-11-12 2004-06-10 Arm Ltd データ処理システムにおけるピーク・レベル選択
WO2008050512A1 (fr) * 2006-09-29 2008-05-02 Nec Corporation Dispositif, procédé et programme de commande de démarrage
US20090163226A1 (en) * 2007-12-20 2009-06-25 Burges Karkaria Device, system, and method of power saving using location sensing modules
JP2009153123A (ja) * 2007-12-20 2009-07-09 Intel Corp ロケーション感知モジュールを用いた省電力デバイス、システム、及び方法
US20100037073A1 (en) * 2008-08-11 2010-02-11 International Business Machines Corporation Apparatus and Method for Selective Power Reduction of Memory Hardware
JP2010277581A (ja) * 2009-04-27 2010-12-09 Hitachi Ltd 資源管理方法、資源管理プログラム、および、資源管理装置

Also Published As

Publication number Publication date
WO2012082525A3 (en) 2012-08-16
TW201237745A (en) 2012-09-16
EP2652595B1 (en) 2020-05-06
AR084047A1 (es) 2013-04-17
US20120159143A1 (en) 2012-06-21
US10346276B2 (en) 2019-07-09
WO2012082525A2 (en) 2012-06-21
JP2017142836A (ja) 2017-08-17
EP2652595A4 (en) 2017-11-01
CN102567176A (zh) 2012-07-11
TWI549052B (zh) 2016-09-11
KR20140001940A (ko) 2014-01-07
EP2652595A2 (en) 2013-10-23

Similar Documents

Publication Publication Date Title
JP2017142836A (ja) オペレーティングシステムの挙動を修正する方法及びデバイス
US10067805B2 (en) Technologies for offloading and on-loading data for processor/coprocessor arrangements
US9600330B2 (en) Method and system for regulation and control of a multi-core central processing unit
Malallah et al. A comprehensive study of kernel (issues and concepts) in different operating systems
US8185766B2 (en) Hierarchical power management with hot mode
TWI595418B (zh) 用於排程任務之系統、電腦實施方法及電腦可讀媒體
US7971084B2 (en) Power management in electronic systems
JP6481900B2 (ja) ハードウェア構成レポーティング用の装置、ハードウェア構成アービトレーションの方法、プログラム、機械可読記録媒体、及び、ハードウェア構成アービトレーション用の装置
Sabharwal et al. Enabling green it through energy-aware software
KR20140133559A (ko) 캐시 사용 기반 어댑티브 스케줄링을 가지는 멀티코어 컴퓨터 시스템
Jindal et al. Hypnos: understanding and treating sleep conflicts in smartphones
EP1995662A1 (en) Controlling virtual machines based on activity state
US11520879B2 (en) Trusted execution environment migration method
US20220012150A1 (en) Methods and apparatus to manage endpoint performance
Choi et al. An adaptive and integrated low-power framework for multicore mobile computing
US20140366024A1 (en) Methods, Devices and Computer Readable Storage Devices for Emulating a Light Sensor in a Guest Operating System from a Host Operating System
Noureddine Towards a better understanding of the energy consumption of software systems
US9766672B2 (en) System for managing power provided to a processor or memory based on a measured memory consumption characteristic
CN102779250B (zh) 文件可控执行的检测方法及虚拟机
US20140366021A1 (en) Methods, Devices and Computer Readable Storage Devices for Emulating an Accelerometer in a Guest Operating System from a Host Operating System
Grüttner Empowering mixed-criticality system engineers in the dark silicon era: Towards power and temperature analysis of heterogeneous mpsocs at system level
Ma et al. CToMP: A Cycle-task-oriented Memory Protection Scheme for Unmanned Systems
US11983558B2 (en) Migrating applications between containers during modern standby
US20180232183A1 (en) Techniques of emulating an acpi controller on a service processor
US20230030873A1 (en) Migrating applications between containers during modern standby

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130905

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141118

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161206