专利名称:虚拟化设备以及用于控制所述虚拟化设备的方法
技术领域:
本公开的一个或多个实施例涉及一种虛拟化设备以及用于控制所述虛拟 化设备的方法,更为具体地,涉及一种考虑对每个装置的可用资源而控制输 入/输出(10 )请求的访问的虚拟化设备以及用于控制所述虛拟化i殳备的方法。
背景技术:
在计算技术中,虚拟化使多个操作系统在单个计算环境中进行计算。如 果假设每个操作系统进行操作的环境是域,则每个域共享安装在计算设备中 的装置。但是,当使用虚拟化技术时,多个域中的主域具有可访问装置的本 地驱动器。因此,子域实际可通过主域的本地驱动器访问装置。
为了实现所述虚拟化,虚拟机监控器(virtual machine monitor, VMM) 对每个域初始地分配中央处理单元(CPU)时间。因此,如果存在来自子域 的请求,则主域使用分配给主域的CPU时间来处理所述请求,乂人而CPU被 占用的时间大于初始地分配给主域的时间。
另夕卜,如果恶意软件安装在子域中,则恶意软件发送过量输入/输出(1/0) 请求,因此,当执行子域的作业时主域消耗CPU资源。即,由于来自子域上 的恶意软件的拒绝月良务(denial-of-service, DoS)攻击导致主i^戈占用CPU, 所以主域的主要服务或应用的性能恶化。此外,来自恶意软件的过量请求增 加电池消^毛或功诔毛。
发明内容
本公开的一个或多个实施例提供了 一种虚拟化设备以及用于控制所述虚 拟化设备的方法,所述虚拟化设备解决在虚拟化环境中提供的主要服务的性能的恶化、对应用性能的障碍、电池消耗等。
在下面的描述中将部分地阐明本发明另外的方面和/或优点,通过描述, 其会变得更加清楚,或者通过实施本发明可以了解。
根据本公开的实施例,提供了一种用于控制虚拟化设备的方法。虚拟化
设备包括主域、 一个或多个子域以及一个或多个硬件。所述方法包括从子 域接收对硬件装置的输入/输出(IO)请求;以及,才艮据执行IO请求所需的 资源,控制IO请求对硬件装置的访问。
根据本公开的另一实施例,提供了一种虚拟化设备,所述设备包括系统 资源单元、主域和子域。系统资源单元包括硬件装置。主域包括用于硬件装 置的本地驱动器。子域将对硬件装置的输入/输出(IO)请求发送至主域,主 域根据执行IO请求所需的资源控制10请求对硬件装置的访问。
通过下面结合附图对实施例进行的描述,本发明的这些和/或其他方面和 优点将会变得清楚和更易于理解,其中
图1是根据示例性实施例的虚拟化设备的示意框图2是示出根据示例性实施例的在主域中访问控制的初始化的流程图3是示出根据示例性实施例的虚拟化设备的访问控制方法的流程图。
具体实施例方式
现在对本公开的实施例进行详细的描述,其示例表示在附图中,其中, 相同的标号始终表示相同部件。下面通过参照附图对实施例进行描述以解释 本公开。
图1是根据示例性实施例的虚拟化设备的示意框图。
参照图1,虚拟化设备包括虚拟机监控器(VMM) 110、系统资源单元 120、主域130和多个子域140-1、…和140-m。
例如,虚拟化设备的物理实施例可包括诸如个人电脑(例如,台式机或 笔记本)、音频设备和移动装置(例如,蜂窝电话或智能电话)的消费电子(CE) 装置。
VMM 110可同时执行多个操作系统。在使用VMM IIO的虚拟化环境中, 后端驱动器131-1、...和131-n以及本地驱动器137-1、...和137-n位于主域130中,前端驱动器141-1、...和141-n位于各个子域140-1、...和140-m中。 VMM 110中的虚拟访问控制模块111限制用于每个域130、140-1、...和140-m
的CPU使用量。
系统资源单元120构成虚拟化设备的石更件,并可包^^中央处理单元 (CPU) 121、存储器122、第一装置123-1至第n装置123-n以及电池124。 还可包括多个其它装置或存储器或两者。
CPU 121在应用了虚拟化设备的装置中处理操作。
存储器122可存储用于计算执行输入/输出(IO)请求所需的CPU使用 量(即,用于每个装置123-1、...和123-n的资源,或用于对每个装置123-1、... 和123-n的多个IO请求的资源)的资源估计/>式。CPU使用量指的是用于执 行IO请求的资源,例如,CPU使用时间或CPU时间。
另夕卜,在存储器122中载入和存储了对与从多个子域140-1、...和140-m 输出的IO请求相应的装置的访问进行控制所需的访问控制策略。访问控制策 略包括用于根据从第m子域140-m发送的IO请求控制第m子域140-m访问 第n装置123-n或调度其访问方法的参考值。
访问控制策略可设置用于对安装在系统资源单元120中的每个装置 123-1、,..和123-n可用的IO请求大小或CPU使用量的阈值。换言之,所述 阈值可以是IO请求大小或CPU使用量的最大值(或参考值),访问控制策略 允许在所述阈值之下访问每个装置123-1、...和123-n。例如,访问控制策略 可对每个前端驱动器141-1、...和141-n的IO请求:没置预定时间段的可用的 CPU使用量的最大值(或参考值),其中,所述预定时间段可表示CPU调度 周期。以下,通过示例描述对每个装置123-1、...和123-n的设置参考。
第一装置123-1至第n装置123-n是执行用于将信息输入到装置的功能、 用于从装置输出信息的功能、或用于执行输入和输出的功能的IO装置,所迷 IO装置包括,例如,网络接口卡、存储器、存储器技术装置(MTD)和控制 台装置。
电池124被包括以向系统资源单元120供电。
主域130和一个或多个子域140-1、…和140-m提供由分离操作系统操 作的虛拟化环境。主域130和一个或多个子域140-1、...和140-m还可在相同 操作系统中进行l喿作。操作系统的示例包括Palm, Symbian OS、 Android、 Windows Mobile 、 Windows 、 Linux 、 UnixTM和》兹盘4喿作系统(DOS)。主域130提供诸如网上银行、安全服务和语音呼叫的主要月良务或主要应 用。主域130将访问第一装置123-1至第n装置123-n以及主域130的路径提 供给多个子域140-1、...和140-m。因此,主域130用作服务器,多个子域 140-1、...和140-m用作客户机。
为此,主域130可包括第一后端驱动器131-1至第n后端驱动器131-n、 10计算单元133、访问控制模块135以及第一本地驱动器137-1至第n本地 驱动器137-n。
第一后端驱动器131-1至第n后端驱动器Bl-n各自提供主域130与多 个子域140-1、...和140-m之间的通信路径,并分别与第一装置123-1至第n 装置123-n相应。第一后端驱动器131-1至第n后端驱动器131-n将从多个子 域140-1、...和140-m输入的IO请求提供给IO计算单元133。
例如,如果在第一子域140-1上的应用(未示出K貪求使用第一装置123-1, 则第一前端驱动器141-1发送用于第一装置123-1的IO请求,第一后端驱动 器131-1接收IO请求并将10请求传送给IO计算单元133。第一装置123-1 是目标装置。
IO计算单元133提供公式以估计多少CPU资源被用于IO请求。如果存 储器122不具有用于新安装的装置的公式或如果存在产生新公式的请求,则 IO计算单元133产生资源估计公式。例如,当制造应用了虚拟化环境的设备 时;当新装置被安装在系统资源单元120中时;或当用户请求现有公式的更 新时,10计算单元133重新产生资源估计公式。
如果存在用于产生公式的请求,则10计算单元133计算用于估计每个装 置123-1、...和123-n对IO请求使用多少资源的公式。用于计算公式的方法 如下。
如果第m子域140-m将对每个装置123-1、...和123-n预定的不同大小 的10请求发送给主域130,则10计算单元133基于处理不同大小的10请求 所需的资源(例如,CPU时间)输出第m子域140-m对每个装置123-1、... 和123-n或每个前端驱动器141-1、...和141-n的的资源估计/〉式。
即,如果第n前端驱动器141-n将不同大小的测试包发送给第n后端驱 动器131-n,则IO计算单元133测试第n本地驱动器137-n或第n装置123-n 处理每个包所占CPU时间的变化量,从而输出回归公式,即,资源估计公式。 在控制模块135或存储器122中设置用于装置123-1、...和123-n的资源估计公式,并且当驱动每个装置123-1、...和123-n时所述资源估计公式被用
于装置访问控制。
访问控制模块135使用用于装置123-1、...和123-n的资源估计公式控制 从子域140-1、...和140-m接收的10请求以访问主域130或子域140-1、... 和140-m。即,访问控制模块135可通过将由相应的资源估计公式计算的执 行10请求所需的资源与存储的参考值相比较来控制IO请求的访问或调度访问。
具体地,如果从第m子域140-m接收对第n装置123-n的IO请求,并 且执行所述10请求所需的资源大于存储在存储器122中的用于第n装置 123-n的参考值,则访问控制模块134可处理与参考值相应的IO请求的量, 然后阻止IO请求的剩余量,并将IO请求的剩余量存储在诸如队列(未示出) 的附加的存储装置中。
例如,如果假设处理与对第一装置123-1的IO请求相关联的包所需的资 源为10 msec,并且用于第一装置123-1的参考值为2msec,则访问控制模块 135首先处理与2 mesc相应的10请求的量,并且当处理与2msec相应的10 请求的量时阻止与8 msec相应的IO请求的剩余量。在处理完与2 mesc相应 的10请求的量之后,访问控制才莫块135处理剩余的8 msec中的2 mesc。并 阻止剩余的6 msec。 4姿相同的方式处理剩余的6 msec。
访问控制模块135可将10请求大小用作执行IO请求所需的资源。例如, 如果假设与对第一装置123-1的10请求相关联的包的大小是4MB(兆字节), 并且用于第一装置的参考值是1MB,则访问控制模块135首先处理与1MB 相应的IO请求的量,并当处理与1MB相应的IO请求的量时阻止与3MB相 应的IO请求的剩余量。当处理完与1MB相应的IO请求的量之后,访问控制 模块135处理剩余3MB中的1MB,并阻止剩余的2MB。 4要相同的方式处理 剩余的2MB。
可选地,如果执行IO请求所需的资源是存储在存储器122中的参考值的 k倍,则访问控制模块135可确定所述10请求被恶意软件攻击并可阻止所述 IO请求,从而无法执行所述IO请求。系统设计者或用户可设置或修改值"k"。 恶意软件可能被安装在子域140-1、...和140-m中的至少一个中。
第一本地驱动器137-1至第n本地驱动器137-n是可访问安装在系统资 源单元120中的第一装置123-1至第n装置123-n的实际驱动器。第一本地驱动器137-1至第n本地驱动器137-n分别与第一装置123-1至第n装置123-n相应。
第一子域140-1至第m子域140-m (m是常数)可通过第一前端驱动器 141-1至第n前端驱动器141-n访问主域130和第一装置123-1至第n装置 123-n。第一后端驱动器131-1至第n后端驱动器131-n和第一前端驱动器141-1 至第n前端驱动器141-n与第一本地驱动器137-1至第n本地驱动器137-n以 及第一装置123-1至第n装置123-n相关联,并且当安装第一装置123-1至第 n装置123-n的第一本地驱动器137-1至第n本地驱动器137-n时可自动地产 生第一后端驱动器131-1至第n后端驱动器131-n和第一前端驱动器141-1至 第n前端驱动器141-n。
图2是示出根据示例性实施例的在主域中初始化访问控制的流程图。
参照图1至图2,如果存在对产生用于第n装置123-n的资源估计公式 的请求(S210-Y),则第n前端驱动器141-n将定义用于第n装置123-n的不 同大小的IO请求发送给主域130的第n后端驱动器131-n,并且第n后端驱 动器131-n将不同大小的10请求提供给IO计算单元133 (S220)。
随后,IO计算单元133使用处理不同大小的IO请求所需的资源产生用 于第n装置123-n的资源估计公式(S230)。另外,IO计算单元133计算数据 (例如,CPU时间)之和,特定域在每个CPU调度周期请求所述数据以使用 特定装置。执行操作S210至S230以产生用于第一装置123-1至第n装置123-n 的资源估计公式,但是为了便于描述,在此仅描述第n装置123-n。
如果产生用于第一装置123-1至第n装置123-n的资源估计公式,则访 问控制模块135在访问控制模块135或存储器122中设置分别用于每个装置 123-1、...和123-n的产生的资源估计公式(S240)。
控制访问模块135在存储器122中载入访问控制策略(S250)。
在操作S210,如果没有对产生用于第n装置123-n的资源估计公式的请 求(S210-N),则访问控制模块135确定在存储器122中是否载入了访问控制 策略(S260)。如果访问控制策略没有被载入存储器122(S260-N),则访问 控制模块135在存储器122中载入访问控制策略。通过该处理,完成用于响 应于IO请求的访问控制的初始化。
根据一个或多个本公开的实施例的所述虚拟化设备以及用于控制所述虚 拟化设备的方法可解决主要服务或应用的性能恶化,并最小化不必要的电池消耗。
图3是示出根据示例性实施例的虚拟化设备的访问控制方法的流程图。
参照图1至图3,如果IO请求从第一子域140-1至第m子域140-m的前 端驱动器141-1、...和141-n中的一个被发送至主域130 (S310),则10计算 单元133使用与IO请求相应的资源估计公式计算用于IO请求的资源(S320 )。
例如,如果第n前端驱动器141-n发送IO请求,则第n后端驱动器131-n 接收10请求并将IO请求发送至10计算单元133。 IO计算单元133从存储 器122读出与第n装置123-n相应的资源估计公式,并将IO请求放入到读出 资源估计公式,从而计算用于IO请求的资源。另外,10计算单元133计算 数据(例如,CPU时间)之和,特定域在每个CPU调度周期请求所述数据以 使用特定装置。数据之和在下一CPU调度周期中被重置为0。
访问控制模块135将在操作S320计算的资源与载入存储器122的相应于 第n装置123-n的访问控制策略的参考值相比较,从而确定第n装置123-n 是否可执行IO请求(S330 )。访问控制策略可指定在每个CPU调度周期主域 130可使用多少CPU时间以处理10请求,从而特定的子域可使用主域130 提供的特定装置。
如果计算的资源小于与第n装置123-n相应的参考值(S330-Y),则访问 控制模块135确定第n装置可处理IO请求,从而IO请求可^皮执行(S340 )。 例如,访问控制模块135通过第n后端驱动器131-n和第n本地驱动器137-n 将IO请求发送至第n装置123-n,从而可执行与IO请求相应的操作。
因此,当数据(CPU时间)之和小于在访问控制策略中指定的参考值时, 执行操作S340,特定域在每个CPU调度周期请求使用所述数据以使用特定 装置。
可选地,如果计算的资源大于与第n装置123-n相应的参考值(S330-N), 则访问控制模块135根据访问控制策略限制资源的使用(S350)。具体地,访 问控制模块135可在每个CPU调度周期根据访问控制策略中允许的参考值顺 序地处理IO请求的量,或在预定的时间段阻止IO请求。例如,访问控制模 块135可根据载入存储器122的访问控制策略的IO请求大小或CPU时间顺 序地执行IO请求。另外,如果确定IO请求是恶意软件攻击,则访问控制模 块135阻止10请求的访问,从而可控制10请求对硬件装置(例如,第n装 置123-n)的访问。在本公开的实施例中,访问控制模块135或传感器(未示出)可检查电 池的剩余寿命,访问控制策略可包括与电池的剩余寿命相关的访问控制策略。 如果检查的剩余电池寿命达到在访问控制策略中设置的剩余电池寿命阈值, 则访问控制模块135可限制CPU使用量。在访问控制策略中,可对每个装置 123-1、...和123-n设置不同的剩余电池寿命。访问控制策略可考虑不同的剩 余电池寿命可限制用于每个装置123-1、...和123-n的CPU使用量。
另外,主域130可包括动态地检测诸如恶意软件的恶意程序代码的侵入 的侵入检测模块(未示出)。如果侵入检测模块检测恶意程序代码的侵入,则 访问控制模块136可不允许10请求的访问。
如上所述,根据本公开的实施例,预设用于每个装置123-1、…和123-n 的可用资源,并根据IO请求来控制到主域的访问或到每个装置123-1、...和 123-n的访问,从而提供细粒IO访问控制(FGAC)。即,为了提供FGAC, 当主域130处理来自第m子域140-m的IO请求时,本公开的实施例可基于 对每个装置123-1、...和123-n预先确定的访问控制策略限制诸如CPU的资 源的使用。
另外,可防止由于安装在虚拟化设备中的恶意软件的过量10请求所引起 的系统性能的恶化和不必要的电池和CPU的消耗。即,根据IO请求可限制 或阻止对装置的访问,从而可防止资源的不必要的浪费。
另外,由于提供了根据每个装置123-1、...和123-n划分的访问控制,所 以,不必对不接收拒绝服务(DoS)攻击的装置上设置进一步资源限制。另 外,主要应用可使用优化资源进行操作。
具体地,如果虚拟化设备是具有限制的资源的诸如蜂窝电话的消耗电子 装置,则可证明DoS攻击是致命的。因此,通过提供FGAC,即,对每个装 置的访问控制来可防止虚拟化设备被DoS攻击。
虽然已表示和描述了本发明的一些实施例,但本领域技术人员应该理解, 在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况 下,可以对这些实施例进^i务改。
权利要求
1、一种用于控制包括主域、一个或多个子域以及一个或多个硬件装置的虚拟化设备的方法,所述方法包括从子域接收对硬件装置的输入/输出请求;和根据执行输入/输出请求所需的资源,控制输入/输出请求对硬件装置的访问。
2、 根据权利要求1所述的方法,其中,虚拟化设备包括 多个子域;和多个硬件装置。
3、 根据权利要求1所述的方法,其中,控制操作包括 将执行输入/输出请求所需的资源与参考值相比较;和 如果执行输入/输出请求所需的资源大于参考值,则阻止对硬件装置的访问。
4、 根据权利要求1所述的方法,其中,在控制操作中包括 将执行输入/输出请求所需的资源与参考值相比较;和 如果执行输入/输出请求所需的资源大于参考值,则处理与参考值相应的输入/输出请求的量,并阻止剩余输入/输出请求的量,直到处理结束。
5、 根据权利要求1所述的方法,其中,执行输入/输出请求所需的资源 是输入/输出请求的大小。
6、 根据权利要求1所述的方法,其中,执行输入/输出请求所需的资源 是执行输入/输出请求所需的中央处理单元时间。
7、 根据权利要求1所述的方法,其中,执行输入/输出请求所需的资源 是执行输入/输出请求所需的中央处理单元时间的最大值。
8、 根据权利要求1所述的方法,还包括 检查电池的剩余容量;和如果电池的剩余容量小于参考值,则阻止对硬件装置的访问。
9、 根据权利要求1所述的方法,还包括 4全测恶意程序代4码;和阻止由恶意程序代码引起的输入/输出请求对硬件装置的访问。
10、 一种虛拟化i殳备,包括包括硬件装置的系统资源单元; 包括用于硬件装置的本地驱动器的主域;和 子域,将对硬件装置的输^/输出请求发送至主域, 其中,主域根据执行输入/输出请求所需的资源控制输入/输出请求对硬件 装置的访问。
11、 根据权利要求10所述的虛拟化设备,其中,主域还包括后端驱动 器,与硬件装置相关联,以从子域接收输入/输出请求。
12、 根据权利要求10所述的虚拟化设备,其中,主域还包括访问控制 模块,将执行输入/输出请求所需的资源与参考值相比较,如果执行输入/输出 请求所需的资源大于参考值,则阻止输入/输出请求对硬件装置的访问。
13、 根据权利要求10所述的虚拟化设备,其中,主域还包括访问控制 模块,将执行输入/输出请求所需的资源与参考值相比较,如果4丸行输入/输出 请求所需的资源大于参考值,则处理与参考值相应的输入/输出i青求的量,并 阻止输入/输出请求的剩余的量,直到处理结束。
14、 根据权利要求10所述的虛拟化设备,其中,主域还包括输入/输 出计算单元,计算执行输入/输出请求所需的资源。
15、 根据权利要求10所述的虚拟化设备,其中,执行输入/输出请求所 需的资源是输入/输出请求的大小。
16、 根据权利要求10所述的虚拟化设备,其中,执行输入/输出请求所 需的资源是执行输入/输出请求所需的中央处理单元时间。
17、 根据权利要求10所述的虛拟化设备,其中,主域还包括访问控制 模块,检查电池的剩余容量,如果电池的剩余容量小于参考值,则阻止对硬 4牛的i方问。
18、 根据权利要求10所述的虚拟化设备,其中,主域包括访问控制模 块,检测恶意程序代码,并阻止由恶意程序代码引起的输入/输出请求对硬件 的访问。
19、 根据权利要求10所述的虛拟化设备,其中,虚拟化设备是消费电子装置。
20、 根据权利要求18所述的虚拟化设备,其中,虚拟化设备是移动装置。
21、 根据权利要求IO所述的虛拟化设备,其中,系统资源单元包括多个 硬件装置,主域包括用于硬件装置的多个本地驱动器。
全文摘要
一种虚拟化设备以及用于控制所述虚拟化设备的方法。在用于控制包括多个域的虚拟化设备的方法中,子域将对硬件装置的输入/输出(IO)请求发送至主域,并且主域根据执行IO请求所需的资源控制IO请求是否访问硬件装置。
文档编号G06F13/10GK101645050SQ200910159730
公开日2010年2月10日 申请日期2009年7月16日 优先权日2008年8月6日
发明者徐尚范, 李圣民, 郑福得 申请人:三星电子株式会社