JP2010040043A - 仮想化装置の制御方法及び仮想化装置 - Google Patents

仮想化装置の制御方法及び仮想化装置 Download PDF

Info

Publication number
JP2010040043A
JP2010040043A JP2009168623A JP2009168623A JP2010040043A JP 2010040043 A JP2010040043 A JP 2010040043A JP 2009168623 A JP2009168623 A JP 2009168623A JP 2009168623 A JP2009168623 A JP 2009168623A JP 2010040043 A JP2010040043 A JP 2010040043A
Authority
JP
Japan
Prior art keywords
request
virtualization apparatus
access
resource
main domain
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.)
Granted
Application number
JP2009168623A
Other languages
English (en)
Other versions
JP5329328B2 (ja
Inventor
Sung-Min Lee
聖 民 李
Bok-Deuk Jeong
福 得 鄭
Sang-Bum Suh
尚 範 徐
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2010040043A publication Critical patent/JP2010040043A/ja
Application granted granted Critical
Publication of JP5329328B2 publication Critical patent/JP5329328B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 本発明は、デバイス毎に使用可能なリソースを考慮して、IOリクエストのアクセスを制御する仮想化装置の制御方法及び仮想化装置を提供する。
【解決手段】 メインドメイン、一つ以上のサブドメイン及び一つ以上のハードウェアデバイスを含む仮想化装置の制御方法は、サブドメインからハードウェアデバイスに対するIO(Input/Output)リクエストを受信するステップと、IOリクエストを行うのに必要なリソースに応じて、前記IOリクエストによるハードウェアデバイスへのアクセスを制御するステップと、を含む。
【選択図】 図1

Description

本発明は、仮想化装置の制御方法及び仮想化装置に関し、より詳細には、デバイス毎に使用可能なリソースを考慮してIOリクエストのアクセスを制御する仮想化装置の制御方法及び仮想化装置に関する。
コンピューティング技術における仮想化は、一つのコンピューティング環境において多数の運営体制が動作できるようにする。各運営体制によって動作する環境をそれぞれのドメインとする場合、各ドメインはコンピューティング装置に設けられたデバイスを共有する。また、仮想化技術においては、多数のドメインのうちメインドメインがデバイスにアクセスすることができるネイティブドライバーを搭載する。従って、その以外のサブドメインはネイティブドライバーを介して実際のデバイスにアクセスする。
上記のような仮想化を実現するために、VMM(Virtual Machine Monitor)は各ドメインに対して初期にCPUタイムを割り当てる。従って、サブドメインからリクエストがある場合、メインドメインはサブドメインのリクエストを処理するためにメインドメインに割り当てられたCPUタイムを使用し、これにより初期に割り当てられた時間よりさらに多い時間の間CPUを占有するようになる。
また、サブドメインにマルウェア(Malware)が設置されている場合、マルウェアは過渡なIOリクエストを送り、メインドメインはサブドメインのためのジョブを行うためにCPUを消耗することになる。すなわち、メインドメインはサブドメインからのDoS攻撃によってメインドメインのCPUを消耗することになり、結果としてメインドメインの主要サービスまたはアプリケーションの性能は低下する。また、マルウェアの過渡なリクエストはバッテリ又は電力消耗を増加させる。
国際公開特許2004−006513号 国際公開特許1999−056436号 米国特許第5608726号明細書
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、仮想化の環境において発生する主要サービスに対する性能低下、アプリケーションの性能障害、バッテリ消耗等を解決することができる、仮想化装置の制御方法及び仮想化装置を提供することにある。
上記の目的を達成するための本発明の一実施形態に係るメインドメイン、一つ以上のサブドメイン及び一つ以上のハードウェアデバイスを含む仮想化装置の制御方法は、サブドメインからハードウェアデバイスに対するIO(Input/Output)リクエストを受信するステップと、前記IOリクエストを行うのに必要なリソースに応じて、前記IOリクエストによる前記ハードウェアデバイスへのアクセスを制御するステップと、を含む。
前記制御するステップは、前記IOリクエストを行うのに必要なリソースと基準とを比較するステップと、前記IOリクエストを行うのに必要なリソースが前記基準より大きいと、前記ハードウェアデバイスへのアクセスを遮断するステップと、を含むことができる。
前記制御するステップは、前記IOリクエストを行うのに必要なリソースと基準とを比較するステップと、前記IOリクエストを行うのに必要なリソースが前記基準より大きいと、前記基準に対応する量の前記IOリクエストを処理し、前記処理が終わるまで残余IOリクエストを遮断するステップと、を含むことができる。
前記IOリクエストを行うのに必要なリソースは、前記IOリクエストのサイズであってもよい。
前記IOリクエストを行うのに必要なリソースは、前記IOリクエストを行うのに必要なCPUタイムであってもよい。
前記IOリクエストを行うのに必要なリソースは、前記IOリクエストを行うのに必要なCPUタイムの最大値であってもよい。
バッテリの残量を確認するステップと、前記確認された残量が基準値より小さいと、前記ハードウェアデバイスへのアクセスを遮断するステップと、を更に含むことができる。
悪性プログラムコードが検出されるステップと、前記悪性コードによって発生するIOリクエストによる前記ハードウェアデバイスへのアクセスを遮断するステップと、を含むことができる。
本発明に係る仮想化装置は、一つ以上のハードウェアデバイスを含むシステムリソース部と、前記ハードウェアデバイスに対するネイティブドライバーを含むメインドメインと、前記ハードウェアデバイスに対するIO(Input/Output)リクエストを前記メインドメインに伝送する一つ以上のサブドメインと、を含み、前記メインドメインは、前記IOリクエストを行うのに必要なリソースに応じて、前記ハードウェアデバイスへのアクセスを制御する。
前記メインドメインは、前記サブドメインから前記IOリクエストを受信し、前記ハードウェアデバイスと連動するバックエンドドライバーを更に含むことができる。
前記メインドメインは、前記IOリクエストを行うのに必要なリソースと基準とを比較し、前記IOリクエストを行うのに必要なリソースが前記基準より大きい場合、前記IOリクエストによる前記ハードウェアデバイスへのアクセスを遮断するアクセス制御モジュールを更に含むことができる。
前記メインドメインは、前記IOリクエストを行うのに必要なリソースと基準とを比較し、前記IOリクエストを行うのに必要なリソースが前記基準より大きいと、前記基準に対応する量の前記IOリクエストを処理し、前記処理が終わるまで残余IOリクエストを遮断するアクセス制御モジュールを更に含むことができる。
前記メインドメインは、前記IOリクエストを行うのに必要なリソースを算出するIOアカウンティング部を更に含むことができる。
前記IOリクエストを行うのに必要なリソースは、前記IOリクエストのサイズであってもよい。
前記IOリクエストを行うのに必要なリソースは、前記IOリクエストを行うのに必要なCPUタイムであってもよい。
前記メインドメインは、バッテリの残量を確認し、前記確認された残量が基準より小さいと、前記ハードウェアデバイスへのアクセスを遮断するアクセス制御モジュールを更に含むことができる。
前記メインドメインは、悪性プログラムコードを検出し、前記悪性コードによって発生するIOリクエストによる前記ハードウェアデバイスへのアクセスを遮断するアクセス制御モジュールを更に含むことができる。
前記仮想化装置は、CE(Consumer Electronic)デバイス又はモバイルデバイスであってもよい。
以上説明したように本発明によれば、各デバイス毎に使用可能なリソースを予め設定し、IOリクエストに応じてメインドメイン又は各デバイスへのアクセスを制御することにより、Fine−Grained IO Access Control(FGAC)を提供することができる。すなわち、本発明はFGACを提供するために、メインドメインが第mサブドメインからのIOリクエストを処理する際、各デバイス毎に予め定義されたアクセス制御政策に基づいてCPUのようなリソースの使用を制限することが可能である。
また、本発明によると、仮想化装置に設けられたマルウェアが過渡なIOリクエストを出力することによって発生するシステム性能の低下、バッテリ、CPU等の不要な消耗を防止することができる。すなわち、IOリクエスト毎にアクセスを制御するかまたは遮断することにより、リソースがなくなることを防止することができる。
また、本発明によると、各デバイス毎に細分化されたアクセス制御を提供することにより、DoS攻撃を受けなかったデバイスがリソースを使用することにおいて制限を受けず、主要アプリケーションがリソースを活用して動作することが可能となる。
特に、仮想化装置がセルラーフォンのようにリソースの制限されたCE(Consumer Electonics)装置である場合、DoS攻撃は致命的であるため、仮想化装置にFGAC、すなわち、デバイス毎のアクセス制御をサポートすることでDoS攻撃から保護することができる。
本発明の好適な実施形態にかかる仮想化装置を示すブロック図である。 本発明の一実施形態にかかるメインドメインにおいてアクセス制御のための初期化を説明するためのフローチャートである。 本発明の実施形態にかかるデバイスに対するアクセス制御方法を説明するための図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。
図1は、本発明の好適な実施形態に係る仮想化装置を示すブロック図である。同図を参照すると、仮想化装置は、仮想マシンモニター(Virtual Machine Monitor:VMM)110、システムリソース部120、メインドメイン130及び複数のサブドメイン140−1、・・・、140−mを含む。
物理的な仮想化装置は、例えばパソコン(例えば、デスクトップパソコン又はラップトップパソコン)、オーディオ装備又はモバイルデバイスのようなCE(Consumer Electronic)を含む。
VMM110は、複数の運営体制を同時に実行させる。VMM110を使用する仮想化環境においては、バックエンドドライバー131−1、・・・、131−nとネイティブドライバー137−1、・・・、137−nがメインドメイン130に位置し、フロントエンドドライバー141−1、・・・、141−nが複数のサブドメイン140−1、・・・、140−mに位置する。仮想アクセス制御モジュール111は、各ドメイン130、140−1、・・・、140−m毎にCPU使用量を制限する。
システムリソース部120は、仮想化装置のハードウェアデバイスを構成する。システムリソース部120は、中央処理装置(Central Processing Unit:CPU)121、メモリ122、第1乃至第nデバイス123−1, ・・・, 123−n及びバッテリ124を含み、その他の複数のデバイス又はストレージが備えられてもよい。
CPU121は、仮想化装置においてデバイスの動作を処理する。
メモリ122には、IOリクエストを行うのに必要なCPU使用量、すなわちリソースを算出するためのリソース予測公式が各デバイス123−1、・・・、123−n毎にまたは各デバイス123−1、・・・、123−nに対して複数のIOリクエスト毎に保存される。CPU使用量はIOリクエストを行うリソースを意味する。CPU使用量は、例えばCPU使用時間、CPUタイムであってもよい。
また、メモリ122には、複数のサブドメイン140−1、・・・、140−mから出力されるIOリクエストに応じて、IOリクエストに対応するデバイスへのアクセスを制御するのに必要なアクセス制御政策(Access control policy)がローディングされて保存される。アクセス制御政策は、第mサブドメイン140−mから伝送されるIOリクエストに応じて、第mサブドメイン140−mが第nデバイス123−nへアクセスすることを制御又はアクセス方式をスケジューリングするための基準を含む。
アクセス制御政策は、システムリソース120に設けられた各デバイス123−1、・・・、123−n毎に使用可能なIOリクエストサイズ又はCPU使用量の限界値をアクセス制御に必要な基準として設定している。言い換えれば、限界値は、各デバイス123−1、・・・、123−nにアクセスするためにアクセス制御政策が許容するIOリクエストサイズ又はCPU使用量の最大値であってよい。例えば、アクセス制御政策は、各フロントエンドドライバー141−1、・・・、141−nのIOリクエスト毎に、特定期間の間に使用可能なCPU使用量に対する最大値(又は、基準値)を設定することができる。ここで、特定期間は、CPU scheduling periodを意味することができる。以下では、各デバイス123−1、・・・、123−n毎に設定された基準を例にとって説明する。
第1乃至第nデバイス123−1、・・・、123−nはIO(in/out)デバイスであって、装置に情報を入力させる機能、装置の情報を出力させる機能、又は入力・出力の両機能を行う機器として、例えばインターフェースカード、ストレージ、MTD(Memory Technology Device)、コンソールデバイス等がある。
バッテリ124は、システムリソース部120に電力を供給するために備えられる。
メインドメイン130及び一つ以上のサブドメイン140−1、・・・、140−mは、個別運営体制で駆動される仮想化環境を提供する。メインドメイン130及び一つ以上のサブドメイン140−1、・・・、140−mは、同一の運営体制で駆動されてもよい。運営体制の例としては、Palm、Symbian OS、Android、Windows(登録商標)Mobile、Windows R、Linux、Unix(登録商標)及びDOS等、様々である。
メインドメイン130は、インターネットバンキング、保安サービス、ボイスコール(voice call)等、主要サービスまたは主要アプリケーションを提供する。メインドメイン130は、メインドメイン130だけでなく複数のサブドメイン140−1、・・・、140−mが実際のデバイス、すなわち、第1乃至第nデバイス123−1、・・・、123−nにアクセスできる経路を提供する。従って、メインドメイン130はサーバ概念で動作し、複数のサブドメイン140−1、・・・、140−mはクライアント概念で動作する。
このため、メインドメイン130は、第1乃至第nバックエンドドライバー131−1、・・・、131−n、IOアカウンティング部133、アクセス制御モジュール(Access Control Module)135及び第1乃至第nネイティブドライバー137−1、・・・、137−nを含む。
第1乃至第nバックエンドドライバー131−1、・・・、131−nは、複数のサブドメイン140−1、・・・、140−mとメインドメイン130との通信経路を提供し、それぞれ第1乃至第nデバイス123−1、・・・、123−nに対応する。第1乃至第nバックエンドドライバー131−1、・・・、131−nはサブドメイン140−1、・・・、140−mから入力されるIOリクエストをIOアカウンティング部133に提供する。
例えば、第1サブドメイン140−1のアプリケーション(図示せず)から第1デバイス123−1の使用がリクエストされると、第1フロントエンドドライバー141−1は第1デバイス123−1に対するIOリクエストを伝送し、第1バックエンドドライバー131−1が前記IOリクエストを受信してIOアカウンティング部133に提供する。ここで、第1デバイス123−1はターゲットデバイスである。
IOアカウンティング部133は、如何に多いCPUリソースがIOリクエストのために使用されるのかを測定するための公式を提供する。メモリ122が新たにインストールされたデバイスのための公式を持っていなければ、又は、新たな公式の生成が要請されると、リソース予測公式を生成する。たとえば、仮想化環境が適用される装置の工場出荷時、又は新たなデバイスがシステムリソース部120に設置される場合、又はユーザが公式のアップデートを要請する場合に、IOアカウンティング部133はリソース予測公式を新たに生成する。
公式の生成が要請されると、IOアカウンティング部133は、各デバイス123−1、・・・、123−n毎にIOリクエスト当りリソースをどのくらい使用するかを予測する公式を算出する。公式を算出する方法は次のようである。
第mサブドメイン140−mは、各デバイス123−1、・・・、123−n毎に予め定義された多様なサイズのIOリクエストをメインドメイン130に伝送し、IOアカウンティング部133は、多様なサイズのIOリクエストを処理するのに所要されるリソース、例えば、CPUタイムから各デバイス123−1、・・・、123−n毎または各フロントエンドドライバー141−1、・・・、141−n毎の第mサブドメイン140−mのリソース予測公式を算出する。
すなわち、IOアカウンティング部133は、第nフロントエンドドライバー141−nが第nバックエンドドライバー131−nに多様なサイズのテストパケットを伝送した場合、第nネイティブドライバー137−n又は第nデバイス123−nが各パケットを処理するのに所要されるCPUタイムの変化量をテストして回帰式、すなわち、リソース予測公式を算出する。
デバイス123−1、・・・、123−n毎の公式は、アクセス制御モジュール135又はメモリ122に設定され、今後の各デバイス123−1、・・・、123−nの駆動時にデバイスアクセス制御に使用される。
アクセス制御モジュール135は、設定された各デバイス123−1、・・・、123−n毎の公式を用いて、サブドメイン140−1、・・・、140−mから伝送されるIOリクエストがメインドメイン130又はデバイス123−1、・・・、123−nへアクセスすることを制御する。すなわち、アクセス制御モジュール135は、IOリクエストを行うのに必要なリソースを該当リソース予測公式から算出し、算出されたリソースと保存された基準とを比較して、IOリクエストのアクセスを制御したり、又はアクセス方式をスケジューリングする。
特に、アクセス制御モジュール135は、第mサブドメイン140−mからのIOリクエストが、第nデバイス123−nにおいて行われるべきリクエストであり、前記IOリクエストを行うのに必要なリソースがメモリ122に保存された第nデバイス123−nに対する基準を超過すると、予め設定された基準に相当する量のIOリクエストを処理し、残りのIOリクエストはブロッキングしてキュー(Queue)(図示せず)のような付加保存機器(additional storage device)に保存する。
例えば、第1デバイス123−1に関連したIOリクエストのパケットを処理するのに必要なリソースが10msecであり、第1デバイス123−1にマッピングされた基準が2msecであると、アクセス制御モジュール135は、2msecのIOリクエストが先に処理されるようにし、処理される間に残りの8msecに該当するIOリクエストはブロッキングする。2msecのIOリクエストが処理されると、アクセス制御モジュール135は、残りの8msecのうち2msecを処理し残りの6msecはブロッキングする。
アクセス制御モジュール135は、IOリクエストを行うのに必要なリソースだけのIOリクエストサイズを使用することができる。例えば、第1デバイス123−1に対するIOリクエストに関連したパケットサイズが4MB(mega byte)であり、第1デバイス123−1に対する基準値が1MBである場合、アクセス制御モジュール135は、まず1MBに対応する量のIOリクエストを処理し、前記1MBに対応するIOリクエストを処理する間に3MBに対応する量の残余IOリクエストを遮断する。1MBに対応する量のIOリクエストの処理が完了すると、アクセス制御モジュール135は、残りの3MBのうち1MBを処理し、その以外の2MBを遮断する。残りの2MBは同一の方式で処理される。
また、IOリクエストを行うのに必要なリソースがメモリ122に保存された基準よりk倍以上大きい場合、アクセス制御モジュール135は、IOリクエストがマルウェアによる攻撃であると判断し、IOリクエストを完全に遮断してIOリクエストが処理されないようにする。k値は設計者またはユーザによって設定及び変更されても良い。マルウェアは、第1乃至第mサブドメイン140−1、・・・、140−mのうち少なくとも一つに設けられてもよい。
第1乃至第nネイティブドライバー137−1、・・・、137−nは、システムリソース部120に備えられた第1乃至第nデバイス123−1、・・・、123−nにアクセスできるドライバー、即ち実際のドライバーである。第1乃至第nネイティブドライバー137−1、・・・、137−nはそれぞれ第1乃至第nデバイス123−1、・・・、123−nに対応する。
第1乃至第mサブドメイン140−1、・・・、140−m(mは、定数)は、第1乃至第nフロントエンドドライバー141−1、・・・、141−nを介してメインドメイン130と第1乃至第nデバイス123−1、・・・、123−nにアクセスする。第1乃至第nバックエンドドライバー131−1、・・・、131−nと第1乃至第nフロントエンドドライバー141−1、・・・、141−nは、第1乃至第nネイティブドライバー137−1、・・・、137−n及び第1乃至第nデバイス123−1、・・・、123−nと連動し、第1乃至第nデバイス123−1、・・・、123−nの第1乃至第nネイティブドライバー137−1、・・・、137−nが設置されるときに自動で生成されても良い。
図2は、本発明の一実施形態に係るメインドメインにおいてアクセス制御のための初期化を説明するためのフローチャートである。
図1及び図2を参照すると、第nデバイス123−nに対するリソース予測公式の生成が要請されると(S210)、第nフロントエンドドライバー141−nは第nデバイス123−nに対して定義された多様なサイズのIOリクエストをメインドメイン130の第nバックエンドドライバー131−nに伝送し、第nバックエンドドライバー131―nは多様なサイズのIOリクエストをIOアカウンティング部133に提供する(S220)。
IOアカウンティング部133は、多様なサイズのIOリクエストを処理するのに所要されるリソースを用いて、第nデバイス123−nに対するリソース予測公式を生成する(S230)。また、IOアカウンティング部133は、毎CPU Scheduling periodの間、特定のドメインが特定のデバイスを使用するために要請したデータ(CPU time)の和を計算する。S210乃至S230ステップは、第1乃至第nデバイス123−1、・・・、123−nに対する公式を生成する場合に動作するが、説明の便宜上、第nデバイス123−nに対して記載する。
第1乃至第nデバイス123−1、・・・、123−n毎の公式が生成されると、アクセス制御モジュール135は、生成された各公式を各デバイス123−1、・・・、123−n毎にアクセス制御モジュール135又はメモリ122に設定する(S240)。
アクセス制御モジュール135は、予め設定されたアクセス制御政策をメモリ122にローディングする(S250)。
一方、S210ステップにおいて、公式の生成が要請されない場合、アクセス制御モジュール135は、アクセス制御政策がメモリ122にローディングされているかを判断する(S260)。ローディングされていなければ、アクセス制御モジュール135はアクセス制御政策をメモリ122にローディングする。これにより、IOリクエストに対するアクセス制御のための初期化が完了する。
本発明の一つ以上の実施形態に係る仮想化装置の制御方法及び仮想化装置によると、仮想化環境時に発生する主要サービスに対する性能低下、アプリケーションの性能障害などを解決し、バッテリの消耗を最小化することが可能である。
図3は、本発明の実施形態に係る仮想化装置のアクセス制御方法を説明するための図である。
図1乃至図3を参照すると、第1乃至第mサブドメイン140−1、・・・、140−nのうち、一つのフロントエンドドライバーを介してIOリクエストがメインドメイン130に伝送されると(S310)、IOアカウンティング部133は、IOリクエストに対応する公式を用いてIOリクエストが使用するリソースを算出する(S320)。
例えば、第nフロントエンドドライバー141−nからIOリクエストが伝送されると、第nバックエンドドライバー131−1、・・・、131−nはIOリクエストを受信してIOアカウンティング部133に提供する。IOアカウンティング部133はメモリ122に保存された第nデバイス123−nに対応するリソース予測公式を読み出し、S310ステップで伝送されたIOリクエストを読み出したリソース予測公式に代入して、IOリクエストが使用するリソースを算出及び予測する。このとき、また、IOアカウンティング部133は、毎CPU scheduling periodの間、特定のドメインが特定のデバイスを使用するために要請したデータ(CPU time)の和を計算する。この総和は次回のCPU scheduling periodのとき0にリセットされる。
アクセス制御モジュール135は、S320ステップで算出されたリソースとメモリ122にローディングされた第nデバイス123−nに対応するアクセス制御政策の基準とを比較して、第nデバイス123−nがIOリクエストを行うことができるかを判断する(S330)。アクセス制御政策は、毎CPU Scheduling periodの間、特定のサブドメインがメインドメインの提供する特定のデバイスの使用のために、メインドメインがこれに対する処理のために如何に多いCPUタイムを使用できるかを明示する。
比較結果、算出されたリソースが第nデバイス123−nに対応する基準より小さいと、アクセス制御モジュール135は、第nデバイス123−nがIOリクエストを行うことができると判断し、S310ステップにおいて伝送されたIOリクエストが行われるようにする(S340)。例えば、アクセス制御モジュール135は、IOリクエストが第nバックエンドドライバー131−1、・・・、131−n及び第nネイティブドライバー137−1、・・・、137−nを介して第nデバイス123−nに伝送され、IOリクエストに該当する動作が行われるようにする。
S340ステップは、すなわち、IOアカウンティング部133において、毎CPU scheduling periodの間、特定のサブドメインがメインドメインの特定のデバイスに対して要請した和がアクセス制御政策に記述された基準より小さければ行われる。
一方、算出されたリソースが第nデバイス123−nに対応する基準より大きいと(S330−N)、アクセス制御モジュール135は、第nデバイス123−nに対するアクセス制御政策に従ってリソースの使用を制限する(S350)。特に、アクセス制御モジュール135はアクセス制御政策が許容する基準までのIOリクエストを、次回のScheduling periodに順次処理するか又は特定の時間の間IOリクエストをブロッキングする。例えば、アクセス制御モジュール135は、メモリ122にローディングされたアクセス制御政策のCPUタイム又はIOリクエストサイズまでIOリクエストが順次行われるようにする。また、IOリクエストがマルウェアからの攻撃であると判断されると、アクセス制御モジュール135はIOリクエストのアクセスを最初から遮断し、ターゲットデバイス(例えば、第nデバイス)へのアクセスを制御する。
一方、本発明の例によると、アクセス制御モジュール135又はその他のセンサ(図示せず)は、バッテリ124の残量を確認することが可能であり、アクセス制御政策はバッテリ残量によるアクセス制御政策を含む。確認されたバッテリ124の残量がアクセス制御政策に設定されたバッテリ残量の臨界値に到達すると、アクセス制御モジュール135はCPU使用量を制限することができる。この場合、アクセス制御政策には各デバイス123−1、・・・、123−n毎に異なるバッテリの残量が設定されることができ、アクセス制御モジュール135は相違に設定されたバッテリの残量を考慮して各デバイス123−1、・・・、123−n毎にCPU使用量を制限することができる。
また、メインドメイン130には動的にマルウェアのような悪性コードの侵入を探知する侵入探知モジュール(図示せず)が備えられ、アクセス制御モジュール135は侵入探知モジュールにより悪性コードの侵入が探知されると、IOアクセスができないように制御することができる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
110 仮想マシンモニター
120 システムリソース部
130 メインドメイン
140−1、・・・、140−n サブドメイン
131−1、・・・、131−n 第1乃至第nバックエンドドライバー
133 IOアカウンティング部
135 アクセス制御モジュール
137−1、・・・、137−n 第1乃至第nネイティブドライバー
141−1、・・・、141−n 第1乃至第nフロントエンドドライバー

Claims (19)

  1. メインドメイン、一つ以上のサブドメイン及び一つ以上のハードウェアデバイスを含む仮想化装置の制御方法において、
    サブドメインからハードウェアデバイスに対するIO(Input/Output)リクエストを受信するステップと、
    前記IOリクエストを行うのに必要なリソースに応じて、前記IOリクエストによる前記ハードウェアデバイスへのアクセスを制御するステップと、
    を含むことを特徴とする仮想化装置の制御方法。
  2. 前記制御するステップは、
    前記IOリクエストを行うのに必要なリソースと基準とを比較するステップと、
    前記IOリクエストを行うのに必要なリソースが前記基準より大きいと、前記ハードウェアデバイスへのアクセスを遮断するステップと、
    を含むことを特徴とする請求項1に記載の仮想化装置の制御方法。
  3. 前記制御するステップは、
    前記IOリクエストを行うのに必要なリソースと基準とを比較するステップと、
    前記IOリクエストを行うのに必要なリソースが前記基準より大きいと、前記基準に対応する量の前記IOリクエストを処理し、前記処理が終わるまで残余IOリクエストを遮断するステップと、
    を含むことを特徴とする請求項1に記載の仮想化装置の制御方法。
  4. 前記IOリクエストを行うのに必要なリソースは、前記IOリクエストのサイズであることを特徴とする請求項1に記載の仮想化装置の制御方法。

  5. 前記IOリクエストを行うのに必要なリソースは、前記IOリクエストを行うのに必要なCPUタイムであることを特徴とする請求項1に記載の仮想化装置の制御方法。
  6. 前記IOリクエストを行うのに必要なリソースは、前記IOリクエストを行うのに必要なCPUタイムの最大値であることを特徴とする請求項1に記載の仮想化装置の制御方法。
  7. バッテリの残量を確認するステップと、
    前記確認された残量が基準値より小さいと、前記ハードウェアデバイスへのアクセスを遮断するステップと、
    を更に含むことを特徴とする請求項1に記載の仮想化装置の制御方法。
  8. 悪性プログラムコードが検出されるステップと、
    前記悪性プログラムコードによって発生するIOリクエストによる前記ハードウェアデバイスへのアクセスを遮断するステップと、
    を含むことを特徴とする請求項1に記載の仮想化装置の制御方法。
  9. 一つ以上のハードウェアデバイスを含むシステムリソース部と、
    前記ハードウェアデバイスに対するネイティブドライバーを含むメインドメインと、
    前記ハードウェアデバイスに対するIO(Input/Output)リクエストを前記メインドメインに伝送する一つ以上のサブドメインと、を含み、
    前記メインドメインは、前記IOリクエストを行うのに必要なリソースに応じて、前記ハードウェアデバイスへのアクセスを制御することを特徴とする仮想化装置。
  10. 前記メインドメインは、
    前記サブドメインから前記IOリクエストを受信し、前記ハードウェアデバイスと連動するバックエンドドライバーを更に含むことを特徴とする請求項9に記載の仮想化装置。
  11. 前記メインドメインは、
    前記IOリクエストを行うのに必要なリソースと基準とを比較し、前記IOリクエストを行うのに必要なリソースが前記基準より大きい場合、前記IOリクエストによる前記ハードウェアデバイスへのアクセスを遮断するアクセス制御モジュールを更に含むことを特徴とする請求項9に記載の仮想化装置。
  12. 前記メインドメインは、
    前記IOリクエストを行うのに必要なリソースと基準とを比較し、前記IOリクエストを行うのに必要なリソースが前記基準より大きいと、前記基準に対応する量の前記IOリクエストを処理し、前記処理が終わるまで残余IOリクエストを遮断するアクセス制御モジュールを更に含むことを特徴とする請求項9に記載の仮想化装置。
  13. 前記メインドメインは、
    前記IOリクエストを行うのに必要なリソースを算出するIOアカウンティング部を更に含むことを特徴とする請求項9に記載の仮想化装置。
  14. 前記IOリクエストを行うのに必要なリソースは、前記IOリクエストのサイズであることを特徴とする請求項9に記載の仮想化装置。
  15. 前記IOリクエストを行うのに必要なリソースは、前記IOリクエストを行うのに必要なCPUタイムであることを特徴とする請求項9に記載の仮想化装置。
  16. 前記メインドメインは、
    バッテリの残量を確認し、前記確認された残量が基準より小さいと、前記ハードウェアデバイスへのアクセスを遮断するアクセス制御モジュールを更に含むことを特徴とする請求項9に記載の仮想化装置。
  17. 前記メインドメインは、
    悪性プログラムコードを検出し、前記悪性プログラムコードによって発生するIOリクエストによる前記ハードウェアデバイスへのアクセスを遮断するアクセス制御モジュールを更に含むことを特徴とする請求項9に記載の仮想化装置。
  18. 前記仮想化装置は、CE(Consumer Electronic)デバイスであることを特徴とする請求項9に記載の仮想化装置。
  19. 前記仮想化装置は、モバイルデバイスであることを特徴とする請求項9又は18に記載の仮想化装置。
JP2009168623A 2008-08-06 2009-07-17 仮想化装置の制御方法及び仮想化装置 Expired - Fee Related JP5329328B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2008-0076820 2008-08-06
KR20080076820 2008-08-06
KR10-2009-0044971 2009-05-22
KR1020090044971A KR101624868B1 (ko) 2008-08-06 2009-05-22 가상화 장치의 제어방법 및 가상화 장치

Publications (2)

Publication Number Publication Date
JP2010040043A true JP2010040043A (ja) 2010-02-18
JP5329328B2 JP5329328B2 (ja) 2013-10-30

Family

ID=41280409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009168623A Expired - Fee Related JP5329328B2 (ja) 2008-08-06 2009-07-17 仮想化装置の制御方法及び仮想化装置

Country Status (5)

Country Link
US (1) US9122506B2 (ja)
EP (2) EP2919114A1 (ja)
JP (1) JP5329328B2 (ja)
KR (1) KR101624868B1 (ja)
CN (1) CN101645050A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013073405A (ja) * 2011-09-27 2013-04-22 Fujitsu Ltd 監視装置、制御方法及び制御プログラム
WO2014076799A1 (ja) * 2012-11-15 2014-05-22 三菱電機株式会社 仮想計算機システム
JP2014119789A (ja) * 2012-12-13 2014-06-30 Ntt Data Corp 機能利用制御装置、機能利用制御方法、機能利用制御プログラム
JP2024506766A (ja) * 2021-12-30 2024-02-15 ペルセウス カンパニー、リミテッド ハイパーバイザシステムのオペレーティングシステム性能干渉防止装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8464256B1 (en) 2009-04-10 2013-06-11 Open Invention Network, Llc System and method for hierarchical interception with isolated environments
US10419504B1 (en) 2009-04-10 2019-09-17 Open Invention Network Llc System and method for streaming application isolation
US8555360B1 (en) 2009-04-10 2013-10-08 Open Invention Network Llc System and method for on-line and off-line streaming application isolation
US8418236B1 (en) * 2009-04-10 2013-04-09 Open Invention Network Llc System and method for streaming application isolation
US11538078B1 (en) 2009-04-10 2022-12-27 International Business Machines Corporation System and method for usage billing of hosted applications
US20110219373A1 (en) * 2010-03-02 2011-09-08 Electronics And Telecommunications Research Institute Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
KR101334842B1 (ko) * 2010-03-02 2013-12-02 한국전자통신연구원 가상화 지원 단말 플랫폼을 위한 가상머신 관리장치 및 방법
KR101696804B1 (ko) 2010-10-05 2017-01-16 삼성전자주식회사 가상화 환경에서의 자원사용정책 조정장치 및 방법
US9262246B2 (en) 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US9038176B2 (en) 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
US9087199B2 (en) 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
CN102662678B (zh) * 2012-04-17 2015-11-25 中标软件有限公司 数据处理装置及其内存数据处理方法
US20130312099A1 (en) * 2012-05-21 2013-11-21 Mcafee, Inc. Realtime Kernel Object Table and Type Protection
KR101532375B1 (ko) * 2013-10-28 2015-06-29 마이크론웨어(주) 가상 호출 경로를 이용한 드라이버 보안 시스템 및 방법
CN103631228A (zh) * 2013-11-27 2014-03-12 上海慧控信息技术有限公司 控制系统虚拟化方法
CN110866291B (zh) * 2019-11-15 2023-03-24 北京工业大学 一种基于双重安全机制的废旧电子产品信息清除方法
CN117908668B (zh) * 2023-12-25 2026-01-23 珠海格力电器股份有限公司 一种混合虚拟设备的构建方法和装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608726A (en) * 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
JP2001513596A (ja) * 1997-08-06 2001-09-04 インフィネオン テクノロジース アクチエンゲゼルシャフト 電子署名を安全に作成するための装置
WO2003017148A1 (en) * 1997-05-02 2003-02-27 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
JP2005065253A (ja) * 2003-08-11 2005-03-10 Samsung Electronics Co Ltd ドメインネームサービスシステム及び方法
US20050198633A1 (en) * 2004-03-05 2005-09-08 Lantz Philip R. Method, apparatus and system for seamlessly sharing devices amongst virtual machines
JP2005532730A (ja) * 2002-07-05 2005-10-27 パケットフロント スウェーデン アーベー トラフィック分離用のフィルタ
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
JP2007219786A (ja) * 2006-02-16 2007-08-30 Hitachi Software Eng Co Ltd 未知のマルウェアによる情報漏洩防止システム
US20070300241A1 (en) * 2006-06-23 2007-12-27 Dell Products L.P. Enabling efficient input/output (I/O) virtualization
US20080028076A1 (en) * 2006-07-26 2008-01-31 Diwaker Gupta Systems and methods for controlling resource usage by a driver domain on behalf of a virtual machine
JP2008070844A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd 撮像装置
JP2008176482A (ja) * 2007-01-17 2008-07-31 Hitachi Ltd 仮想計算機システム
US7512728B2 (en) * 1998-08-31 2009-03-31 Axis Systems, Inc Inter-chip communication system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415367B1 (en) * 1999-12-16 2002-07-02 Intel Corporation Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme
US7130933B2 (en) * 2002-07-24 2006-10-31 Intel Corporation Method, system, and program for handling input/output commands
US8584129B1 (en) * 2004-02-20 2013-11-12 Oracle America, Inc. Dispenser determines responses to resource requests for a single respective one of consumable resource using resource management policy
CN101369258B (zh) * 2006-01-17 2010-12-01 株式会社Ntt都科摩 输入输出控制系统
KR101506254B1 (ko) 2007-04-02 2015-03-26 삼성전자 주식회사 무선 단말 장치 및 시스템 보호 방법

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608726A (en) * 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
WO2003017148A1 (en) * 1997-05-02 2003-02-27 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
JP2001513596A (ja) * 1997-08-06 2001-09-04 インフィネオン テクノロジース アクチエンゲゼルシャフト 電子署名を安全に作成するための装置
US7512728B2 (en) * 1998-08-31 2009-03-31 Axis Systems, Inc Inter-chip communication system
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
JP2005532730A (ja) * 2002-07-05 2005-10-27 パケットフロント スウェーデン アーベー トラフィック分離用のフィルタ
JP2005065253A (ja) * 2003-08-11 2005-03-10 Samsung Electronics Co Ltd ドメインネームサービスシステム及び方法
US20050198633A1 (en) * 2004-03-05 2005-09-08 Lantz Philip R. Method, apparatus and system for seamlessly sharing devices amongst virtual machines
JP2007219786A (ja) * 2006-02-16 2007-08-30 Hitachi Software Eng Co Ltd 未知のマルウェアによる情報漏洩防止システム
US20070300241A1 (en) * 2006-06-23 2007-12-27 Dell Products L.P. Enabling efficient input/output (I/O) virtualization
US20080028076A1 (en) * 2006-07-26 2008-01-31 Diwaker Gupta Systems and methods for controlling resource usage by a driver domain on behalf of a virtual machine
US8146079B2 (en) * 2006-07-26 2012-03-27 Hewlett-Packard Development Company, L.P. Systems and methods for controlling resource usage by a driver domain on behalf of a virtual machine
JP2008070844A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd 撮像装置
JP2008176482A (ja) * 2007-01-17 2008-07-31 Hitachi Ltd 仮想計算機システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013073405A (ja) * 2011-09-27 2013-04-22 Fujitsu Ltd 監視装置、制御方法及び制御プログラム
WO2014076799A1 (ja) * 2012-11-15 2014-05-22 三菱電機株式会社 仮想計算機システム
JP5881852B2 (ja) * 2012-11-15 2016-03-09 三菱電機株式会社 仮想計算機システム
JP2014119789A (ja) * 2012-12-13 2014-06-30 Ntt Data Corp 機能利用制御装置、機能利用制御方法、機能利用制御プログラム
JP2024506766A (ja) * 2021-12-30 2024-02-15 ペルセウス カンパニー、リミテッド ハイパーバイザシステムのオペレーティングシステム性能干渉防止装置
JP7528358B2 (ja) 2021-12-30 2024-08-05 ペルセウス カンパニー、リミテッド ハイパーバイザシステムのオペレーティングシステム性能干渉防止装置

Also Published As

Publication number Publication date
EP2919114A1 (en) 2015-09-16
JP5329328B2 (ja) 2013-10-30
KR20100018446A (ko) 2010-02-17
EP2154610A1 (en) 2010-02-17
US20100037232A1 (en) 2010-02-11
KR101624868B1 (ko) 2016-06-07
US9122506B2 (en) 2015-09-01
CN101645050A (zh) 2010-02-10

Similar Documents

Publication Publication Date Title
JP5329328B2 (ja) 仮想化装置の制御方法及び仮想化装置
US10182018B2 (en) Resource management based on device-specific or user-specific resource usage profiles
US10469512B1 (en) Optimized resource allocation for virtual machines within a malware content detection system
US8595361B2 (en) Virtual machine software license management
US9898601B2 (en) Allocation of shared system resources
US9678797B2 (en) Dynamic resource management for multi-process applications
CN110659499A (zh) 用于高速缓存侧信道攻击检测和缓解的技术
US9417902B1 (en) Managing resource bursting
US20200142736A1 (en) Computer processing system with resource optimization and associated methods
US11844188B2 (en) Distribution of available power to devices in a group
EP2024843A2 (en) Supporting flash access in a partitioned platform
WO2022185626A1 (ja) 監視システム
US12494979B2 (en) Authentication systems and methods using an existence confirmation result
KR20150059874A (ko) 무선 네트워크에 연결된 모바일 단말기 및 보안 장치
JP2013109556A (ja) 監視制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130724

R150 Certificate of patent or registration of utility model

Ref document number: 5329328

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees