一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使虚拟化环境中的信息模糊的制作方法

2022-04-27 03:34:52 来源:中国专利 TAG:


1.本公开涉及管理程序操作,并且更具体地,涉及使来自多租户服务器中的管理程序的基于时间的信息模糊。


背景技术:

2.应用程序和操作系统可以在计算机系统上操作。计算机系统可以是存储器、处理器和输入输出接口(i/o)。计算机系统可以是由管理程序操作的虚拟计算机系统。一些客户端可能偏好虚拟计算机系统的灵活性。当在虚拟计算机系统上操作时,这些客户端还可能比信息更偏好安全性。在云环境中,云用户提供的os实例,作为同一机器上的独立分区,运行在云提供者维护的管理程序上。通常,管理程序有权访问任何分区的数据。这产生安全风险,因为云提供者可以基本上访问来自os(以及在os内运行的应用程序)的包括云用户的敏感数据的任何信息。
3.因此,在本领域中需要解决上述问题。


技术实现要素:

4.从第一方面来看,本发明提供了一种用于管理程序操作的方法,所述方法包括:检测应用程序的硬件请求,其中,所述应用程序在虚拟化的计算机系统上执行;确定所述硬件请求包括计数器,其中所述计数器将由所述虚拟化计算机系统更新,并且其中所述计数器包括计数器值;基于所述确定所述硬件请求包括所述计数器,在所述硬件请求由托管所述虚拟化计算机系统的管理程序处理之前拦截所述硬件请求;将所述计数器值保存在安全存储器中,所述安全存储器对所述管理程序模糊;生成加扰计数器值;用所述加扰计数器值更新所述硬件请求;以及在更新所述硬件请求之后,将所述硬件请求提供给所述管理程序。
5.从另一个方面来看,本发明提供了系统,该系统包括:存储器,该存储器包含一个或多个指令;以及处理器,该处理器通信地耦合到该存储器,该处理器响应于读取该一个或多个指令被配置成用于:检测应用程序的硬件请求,其中该应用程序在虚拟化计算机系统上执行;确定所述硬件请求包括计数器,其中所述计数器由所述虚拟化计算机系统执行,并且其中所述计数器包括计数器值;基于所述确定所述硬件请求包括所述计数器,在所述硬件请求由托管所述虚拟化计算机系统的管理程序处理之前拦截所述硬件请求;将所述计数器值保存在安全存储器中,所述安全存储器对所述管理程序模糊;生成加扰计数器值;利用所述加扰计数器值更新所述硬件请求;以及在更新所述硬件请求之后,将所述硬件请求提供给所述管理程序。
6.从另一方面来看,本发明提供了一种用于管理程序操作的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储用于由该处理电路执行以便执行用于执行本发明的步骤的方法的指令。
7.从另一方面来看,本发明提供一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,该计算机程序包括当所述程序在计算机上运行时用于
执行本发明的步骤的软件代码部分。
8.从第一方面来看,本发明提供了一种计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有与其体现的程序指令,所述程序指令被配置成用于:检测应用程序的硬件请求,其中,所述应用程序在虚拟化的计算机系统上执行;确定所述硬件请求包括计数器,其中所述计数器由所述虚拟化计算机系统执行,并且其中所述计数器包括计数器值;基于所述确定所述硬件请求包括所述计数器,在所述硬件请求由托管所述虚拟化计算机系统的管理程序处理之前拦截所述硬件请求;将所述计数器值保存在安全存储器中,对所述管理程序所述安全存储器被模糊;生成加扰计数器值;利用所述加扰计数器值更新所述硬件请求;以及在更新所述硬件请求之后,将所述硬件请求提供给所述管理程序。
9.根据一些实施例,公开了一种系统、方法和计算机程序产品。检测应用程序的硬件请求。该应用程序在虚拟化的计算机系统上执行。确定硬件请求包括计数器。计数器将由虚拟化计算机系统执行。计数器包括计数器值。硬件请求在由托管虚拟化计算机系统的管理程序处理之前被截取。所述拦截基于所述硬件请求包括所述计数器的确定。计数器值被保存在安全存储器中。对管理程序所述安全存储器被模糊。生成加扰计数器值。用加扰计数器值来更新硬件请求。在更新硬件请求之后,将其提供给管理程序。
10.以上概述并不旨在描述本公开的每个所示实施例或每个实现方式。
附图说明
11.包括在本技术中的附图被结合到说明书中并且形成说明书的一部分。它们示出了本公开的实施例,并且与具体实施方式一起用于解释本公开的原理。附图仅说明某些实施例,而并不限制本公开。
12.图1描绘了与本公开的一些实施例一致的利用安全客户机器和基于时间的准确度的示例计算环境。
13.图2描绘了与本公开的一些实施例一致的用于执行使定时寄存器和计数器值模糊的示例方法。
14.图3描绘了根据本公开的一些实施例的可以使用的示例计算机系统的代表性主要部件。
15.图4描绘了根据本发明的一些实施例的云计算环境。
16.图5描绘了根据本发明的一些实施例的抽象模型层。
17.虽然本发明服从不同修改和替代形式,但其细节已经通过在附图中举例示出并且将被详细描述。然而,应当理解,本发明并不局限于所描述的具体实施例。相反,本发明旨在覆盖落在本发明的范围内的所有修改、等同物以及替换物。
具体实施方式
18.本公开的各方面涉及管理程序操作;更具体的方面涉及使来自多租户服务器中的管理程序的基于时间的信息模糊。虽然本公开不必限于这样的应用程序,但是可以通过使用该上下文对不同示例的讨论来理解本公开的各个方面。
19.在应用程序和操作系统(os)托管环境中,由提供商提供的os实例可以在由提供商
维护的管理程序上运行。例如,在云环境中,os实例可作为由云提供者维护的管理程序上的客户机运行,其中os实例作为同一物理系统上的单独分区运行。在一些情况下,管理程序有权访问任何分区的数据。管理程序对任何分区的访问可以创建安全风险,因为提供者可以从os(和在os内部运行的应用程序)访问包括用户的敏感数据的任何信息。这个问题可能是复杂的,因为云提供者可以保证数据隐私或者规章可以指示敏感数据的保护。
20.一类解决方案涉及引入高于管理程序的特权级(例如,高于管理程序的特权级是被认为是可信的特权级),其可以从被认为是安全去往管理程序的分区中拦截任何异常。例如,超级监视器(ultravisor)与管理程序相比可以具有提高的特权级别。
21.针对异常的提高的特权处置器(例如,在管理程序之上的级别)可以使管理程序可访问的硬件寄存器的值模糊。例如,不同硬件寄存器中的值存储来自用户程序或os(“应用程序”)的信息。与在由管理程序提供的虚拟机上操作的应用程序相对应的这些值和硬件寄存器可以由管理程序检查和查看。在管理程序之上提供提升特权等级可以允许与管理程序的观点来看待被加密的应用程序相对应的不同值和硬件寄存器。
22.在另外示例中,对存储器的某个部分(例如,由管理程序提供给应用程序的虚拟存储器)的保存操作或恢复操作(“存储器操作”)和该管理程序可以能够访问虚拟存储器的相同部分。通过不允许管理程序访问存储器的一部分,可以防止某些存储器操作。管理程序不可访问的虚拟存储器的一部分可以是安全存储器。在这些示例中,可以仅向管理程序提供执行不同操作所需的准确量的信息,并且可以不提供对安全存储器的访问。
23.具有提高的特权级别的问题,诸如由超级监视器使用的那些特权级别。许多现代计算机架构在被称为多处理的技术上操作。多处理可以允许用户程序或os同时处理多个进程或线程。多处理可以允许这些应用程序以提高的效率或以更高的处理吞吐量来执行。多处理可以依赖于非常特定的硬件请求。例如,应用程序可以向处理器的不同寄存器发送硬件请求以执行多线程操作。这些不同寄存器可以是专用寄存器,诸如计数器、递减器或递增器。
24.计数器(利用处理器时钟倒计数并且当它越过零时产生定时器中断的寄存器)可以是用户程序或os的基本寄存器,因为它是定时器中断的源。计数器可以是用于部署在许多现代操作系统中的抢占式进程调度的基本硬件机制。在某些情况下(例如,由于传统原因),计数器可以是可访问的管理程序。随着超管理器的引入,计数器还可以被从管理程序模糊;使计数器模糊可以有益于尝试和防止管理程序以其他方式被利用来由管理程序执行定时攻击。
25.如果不同专用寄存器(如计数器)被模糊而不受管理程序影响,则非预期的结果是虚拟机中运行的应用程序可能以更差的性能运行。例如,某些计数器和其他专用寄存器被用于准确地共享处理资源并执行不同组件之间的上下文切换。调度器、上下文切换器、栈指针、程序计数器或其他相关处理硬件寄存器可以依赖于来自处理器(以及在虚拟机的情况下的管理程序)的准确计数器值。在一些超级监视器的操作和其他提高特权操作期间,向管理程序提供模糊的计数器和从管理程序接收模糊的计数器。超级监视器记录原始值,将值存储在管理程序不可访问的存储器的某个安全区域中,并在回到客户虚拟机或进程之前恢复值。该方法对于不随处理器时钟递减或递增或不是处理器时钟的函数的寄存器(即,不旨在以任何方式进行时间测量的寄存器)而言可能是足够的,但是对于确实与处理器时钟相
关的寄存器,该方法导致从安全存储器恢复的值不正确。
26.当客户虚拟机或应用程序基于模糊的值进行操作时,可以给予进程和线程比它们所需要的更多或更少的计算机资源来执行操作。例如,程序代码(例如,线程、进程)的多个并行执行的不准确时间切片可防止某些程序代码在时间上完成。如果程序代码的某个部分在被中断之前未完成,则它可能被再次请求、变得停滞或者甚至崩溃。利用不准确的计数器,可在不存在对应于程序完成的中断的情况下完成程序代码的一部分。在程序代码执行的实际完成之后到来的滞后中断可因此导致处理器空闲许多周期。进一步,未完成和重新排序的程序可导致进程/线程之间的重复切换,以重新形成完成和中断的工作,从而导致浪费的循环或程序变慢。进一步,停止第一程序代码段的执行和开始第二程序代码的执行的动作可具有在计算机的处理、存储器或i/o中的开销。
27.计数器感知超级监视器(cauv)可以通过在将计数器转换和返回至提供用于执行多处理的相关值的应用程序的同时将模糊的或加扰计数器提供至管理程序来克服其他超级监视器的问题。cauv可向管理程序提供占位符值,该占位符值可使来自管理程序的信息模糊。cauv还可以测量在管理程序中花费的时间,并且可以在由管理程序执行操作之后但在向os或在os上运行的任何程序恢复值之前调整该值。通过在将信息提供给管理程序之前使信息模糊,cauv可以为利用超级监视器或其他相关提高特权系统运行的所有客户虚拟机维护安全性。通过跟踪应用程序的多处理操作中涉及的不同系统级计数器和专用硬件寄存器,cauv可以使得os能够保持低级程序计数器的精度并提供准确的服务质量。
28.图1描绘了与本公开的一些实施例一致的利用安全客户机和基于时间的准确度的示例计算环境100。计算环境100可以包括以下:多个计算机系统110-1、110-2、110-3至110-n(统称为110);一个或多个客户计算机120-1、120-2至120-n(统称为120);以及用于托管客户计算机120的虚拟化环境130。计算机系统110可以包括用于促进和托管虚拟化环境130的物理存储器、物理处理资源和物理i/o。图3描绘了与本公开的一些实施例一致的能够执行托管的示例计算机系统300。计算机系统110可以位于数据中心。在一些实施例中,计算机系统110可以在地理上分离。例如,计算机系统110-1可以位于第一位置,并且计算机系统110-2在地理上与计算机系统110-1不同。
29.客户计算机120可以是虚拟机和安全虚拟机的形式。例如,客户计算机120-1可以是从虚拟化环境130为计算机系统110-1和110-3的硬件资源服务的虚拟机。在另一示例中,客户计算机120-2可以是作为来自虚拟化环境130的服务器硬件资源的安全虚拟机。客户计算机120可以以硬件请求的形式对硬件进行引用(例如,处理器的算术逻辑单元、对高速缓存的存储器引用、计数器、对动态随机存取存储器(dram)的读取命令以及将命令存储到第三级存储装置)。
30.虚拟化环境130可以被配置成用于托管不同计算机系统,包括客户计算机120。虚拟化环境130可以是用于托管虚拟机的硬件、固件和软件的组合,并且可以在计算机系统110上执行。虚拟化环境130可由服务提供者提供,服务提供者由与客户计算机120分开的实体操作。例如,虚拟化环境130可以是向不同客户端提供计算机系统110的基于云的服务提供商。虚拟化环境130的服务提供者可以保证不同级别的隐私和计算机性能。
31.虚拟化环境130可以包括以下各项:用于存储程序数据、操作系统数据和虚拟化硬件寄存器的存储器空间140;用于存储程序数据、操作系统数据和虚拟化硬件寄存器的安全
存储器空间150;用于服务客户计算机120的各种硬件请求的管理程序160;和用于服务客户计算机120的各种硬件请求的超级监视器。虚拟化环境130还可以包括其他组件,诸如可信平台模块(tpm)(未描绘)。
32.虚拟化环境130可以响应于来自从云提供者请求计算机资源的各方的请求而实例化或创建客户计算机120。例如,客户端可以请求计算机资源,并且作为响应,管理程序160可以通过保留底层计算机系统的资源和保留用于供客户计算机的执行的存储空间140的一部分来分配客户计算机120-1。程序122-1和124-1可在客户计算机120-1上操作,并且对应于客户计算机120-1的操作的所有低级寄存器和存储器可存储在存储器空间140中。当程序122-1执行时,并且当执行不同程序计数器、上下文切换和其他相关的多处理操作时,管理程序160可以观察与这些元件相关的数据。
33.虚拟化环境130还可以实例化或创建来自管理程序的具有提高的安全性和隐私性的客户计算机120。在制造计算机系统110或虚拟化环境130的固件时,可以执行公钥和私钥的创建
‑‑
例如,由虚拟化环境130的tpm生成的密钥。在一些实施例中,每个计算机系统110可以生成单独的公钥和私钥。私钥可义不被虚拟化环境130的提供者或管理程序160访问。
34.虚拟机可以做出有待保护的请求并且可以用公钥包装加密密钥。响应于该请求,虚拟化环境130可以操作以保护来自管理程序160的虚拟机。例如,客户计算机120-2可由管理程序160响应于来自客户端的请求而创建。此时,客户计算机120-2可在由管理程序160分配给它的存储空间140中作为虚拟机操作。客户机可生成用于利用客户机计算机120-2发送和接收数据的安全请求。客户计算机120-2可以利用虚拟化环境130的公钥加密安全请求。超级监视器170可从客户计算机120-2接收安全请求,且使用公共密钥可将虚拟机移动到安全内存空间150,因此使客户计算机120-2为安全虚拟机。os和用户程序(例如,用户程序122-2)的进一步执行可以存在于安全存储空间150中,并且超级监视器170可以操作以将不同硬件请求的任何数据输入保护到管理程序160。例如,超级监视器170可拦截和模糊硬件请求的不同数据输入,使得管理程序160不能读取或以其他方式辨别数据输入的信息。
35.虚拟化环境130还可以实现cauv以便维护作为安全虚拟机运行的客户计算机120的准确计数器数据。cuav还可以保护来自管理程序160的信息。例如,硬件请求180可以从安全虚拟机120-2发送到虚拟化环境130。硬件请求180可以指向管理程序160。超级监视器170可以检测硬件请求180,并且可以确定该请求包括具有计数器值的计数器(例如,8位递减器)。超级监视器170可在硬件请求180被发送到管理程序160之前拦截硬件请求180。超级监视器170可将计数器值存储在安全存储空间150中,并且管理程序可能不能够访问计数器值。超级监视器170可以生成计数器值的加扰或模糊版本,并且可以将加扰计数器值提供给管理程序160,使得管理程序可以利用加扰计数器值执行硬件请求。在图1中描绘了与本公开的一些实施例一致的用于执行对硬件请求的拦截以对计数器进行加扰/模糊的多个示例操作182。超级监视器170可将加扰计数器值存储在存储器空间140中。
36.进一步地,可以由管理程序160发送对硬件请求180的响应190。响应190可以包括更新的计数器。更新的计数器可以基于被超级监视器170模糊的加扰计数器值。超级监视器170可拦截响应190并且可解除更新计数器的模糊。超级监视器170可通过利用计数器值的加扰版本与管理程序160的更新计数器值之间的差来偏移存储在安全存储器空间150中的计数器值,来解除更新计数器的模糊。超级监视器170可在响应190中将解除模糊的更新的
计数器发送到虚拟机120-2。所描绘的是与本公开的一些实施例一致的用于执行硬件响应的拦截以对计数器进行解扰/解决模糊的多个示例操作192。
37.图2描绘了根据本公开的一些实施例的用于执行时序寄存器和计数器值的模糊的示例方法200。方法200可由计算机系统执行。图3中所描绘的计算机系统300可经配置以执行方法200的一或多个部分。方法200可由与本公开的一些实施例一致的cauv来执行。
38.从205处开始,可以在210处针对应用程序与管理程序之间的流量来监测管理程序。在一些实施例中,应用程序可以是用户程序,诸如工程模拟程序、文字处理程序或图形呈现程序。在一些实施例中,应用程序可以是os,诸如由虚拟化系统托管的客户计算机。监控流量可以包括监控在安全虚拟机内运行的应用程序-例如,已经发起与cauv的安全会话的应用程序,该cauv保护存储器和某些操作信息免受来自管理程序的检查。在一些实施例中,流量的监测可包括使提供给管理程序的某些数据输入模糊、加扰或以其他方式随机化(诸如通过随机数生成器)。例如,如果硬件请求包括管理程序执行对客户计算机的操作所不需要的特定寄存器值、指针或其他数据元素,则超级监视器可隐藏、归零、随机化、数据移位或以其他方式模糊数据元素。
39.如果在215:y处检测到硬件请求,则在220处将确定在硬件请求内是否存在计数器。如果不存在计数器(220:n),则方法200在295处结束。如果存在计数器(220:y),则可以在230处拦截硬件请求。拦截硬件请求可以是主动操作。例如,超级监视器可检测到硬件请求已被置于队列中以供管理程序处理。超级监视器可在管理程序看到或检查请求之前拦截硬件请求。硬件请求的拦截可以是反应性操作。例如,来自安全虚拟机的硬件请求可以被加密,使得仅虚拟化环境的超级监视器或另一安全元件可以读取硬件请求,而管理程序直到其未加密才读取硬件请求。
40.在240,可以保存所拦截的硬件请求内的计数器。计数器可以是计算机系统的引用、指针、值或其他数据元素(例如,程序计数器、递减器、专用寄存器、多处理寄存器、多线程寄存器)。计数器可包含计数器值(例如,3位值、8位值)。在250处,所拦截的请求中的计数器值可以被模糊。计数器值的模糊可包含加扰、随机化(例如,通过tpm)、字节移位、归零或以其他方式插入与计数器值无关的数据。模糊计数器值可包括改变计数器值,使得在管理程序检查时,管理程序无法辨别出有意义的信息。模糊的计数器值可以保存在存储器(例如,与管理程序共享的存储器空间,或管理程序不可访问的安全存储器空间)中。
41.在260,更新后的硬件请求可以被提供给管理程序。提供更新的硬件请求可以包括向管理程序提供具有解密形式的模糊的计数器的硬件请求。提供更新的硬件请求可以包括将具有模糊的计数器的硬件请求移动到管理程序的队列。例如,管理程序可以具有其中驻留有管理程序的不同请求和工作存储器的存储空间。在260提供更新的请求可以包括超级监视器将更新的请求从管理程序不可访问的安全存储器移动到存储器空间。在260提供更新的请求之后,方法200可在295结束。在一些实施例中,方法200可在205再次开始,并且管理程序可在210继续被监视。
42.如果不存在硬件请求(215:n),则在270处可以识别对硬件请求的响应。在一些实施例中,如果存在所识别的响应(270:y),则可以阻止响应被发送回管理程序所预期的应用程序(例如,发送对应于响应的硬件请求的应用程序)。如果存在对管理程序的硬件请求的响应(270:y),则在280可以对计数器进行解扰。
43.计数器的解扰可以包括在响应中从管理程序确定更新的计数器值。计数器的解扰可以包括生成更新量。例如,超级监视器可以将来自响应的更新的计数器值与先前提供给管理程序的存储的模糊计数器进行比较。通过比较这些值(例如,减去、相加),可以计算更新的量。例如,如果模糊的计数器值是“1011”,并且如果更新的计数器值是“0010”,则更新的量可以是“1001”。因此,更新的量可以是在由管理程序操作之前和之后的计数器值之间的差值。更新的量可用于计算更新的未模糊的计数器值(例如,与由客户计算机的应用程序提供的计数器相关的计数器值)。例如,如果被模糊之前的计数器值是“1101”并且解扰后的计数器具有更新的量“1001”,则所计算的更新的解除模糊的计数器值将是“0100”。计算更新的解除模糊的计数器值可以包括从被模糊的计数器值与来自管理程序的更新的计数器值之间的差中减去被模糊之前的计数器值。
44.在290,更新的解除模糊的计数器值可以被提供给发送具有计数器的硬件请求的应用程序。提供更新的解除模糊的计数器值可以包括将该值插入到响应中。提供更新的接触模糊的计数器值可以包括在将响应放置在应用程序的客户计算机的输出队列中之前对响应进行加密。在提供经更新的解除模糊的计数器值之后,方法200在295处结束。在一些实施例中,在提供更新的解除模糊的计数器值之后,在290,方法200可继续在210监视管理程序。
45.图3描绘了根据本公开的一些实施例可以使用的示例计算机系统300(可替代地,计算机)的代表性主要组件。应当认识到,各个部件可以在复杂性、数量、类型以及\或配置方面变化。所公开的特定示例仅用于示例目的,并且不一定是仅有的这样的变化。计算机系统300可包括处理器310、存储器320、输入/输出接口(此处为i/o或i/o接口)330和主总线340。主总线340可以为计算机系统300的其他部件提供通信路径。在一些实施例中,主总线340可以连接到其他部件,如专用数字信号处理器(未描绘)。
46.计算机系统300的处理器310可以由一个或多个核312a、312b、312c、312d(统称为312)组成。处理器310还可以包括为核312提供指令和数据的临时存储的一个或多个存储器缓冲器或高速缓存(未描绘)。核312可对从高速缓存或从存储器320提供的输入执行指令,并将结果输出到高速缓存或存储器。核312可以包括被配置成执行根据本公开的实施例的一个或多个方法的一个或多个电路。在一些实施例中,计算机系统300可包含多个处理器310。在一些实施例中,计算机系统300可以是具有单个核312的单个处理器310。
47.计算机系统300的存储器320可以包括存储器控制器322。在一些实施例中,存储器320可包括用于存储数据和程序的随机存取半导体存储器、存储装置或存储介质(易失性或非易失性)。在一些实施例中,存储器可以是模块的形式(例如,双列直插式存储器模块)。存储器控制器322可与处理器310通信,从而便于存储器320中的信息的存储和检索。存储器控制器322可以与i/o接口330通信,从而便于在存储器320中存储和取回输入或输出。
48.i/o接口330可以包括i/o总线350、终端接口352、存储接口354、i/o设备接口356、和网络接口358。i/o接口330可以将主总线340连接到i/o总线350。i/o接口330可以将来自处理器310和存储器320的指令和数据引导到i/o总线350的不同接口。i/o接口330还可将指令和数据从i/o总线350的不同接口引导到处理器310和存储器320。各种接口可以包括终端接口352、存储接口354、i/o设备接口356和网络接口358。在一些实施例中,不同接口可以包括前述接口的子集(例如,工业应用中的嵌入式计算机系统可以不包括终端接口352和存储
接口354)。
49.贯穿计算机系统300的逻辑模块-包括但不限于存储器320、处理器310和i/o接口330-可以将一个或多个组件的故障和改变传达至管理程序或操作系统(未描绘)。管理程序或操作系统可以分配计算机系统300中可用的不同资源,并且跟踪存储器320中的数据和分配给不同核312的进程的位置。在组合或重新布置元件的实施例中,逻辑模块的方面和能力可组合或重新分配。这些变化对于本领域技术人员而言将是显而易见的。
50.应当理解,尽管本公开包括关于云计算的详细描述,但本文所叙述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
51.云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
52.特征包括:按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
54.广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
53.服务模型如下:软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
54.部署模型如下:私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
66.混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
55.云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
56.现在参见图4,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点10可彼此通信。它们可以在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合,物理地或虚拟地分组(未示出)。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图1中所示的计算装置54a-n的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
57.现在参见图5,示出了由云计算环境50(图4)提供的一组功能抽象层。应当事先理解,图5中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
58.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
59.虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。与本公开的一些实施例一致,虚拟应用和操作系统74可以基于cauv来操作。
60.在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供
云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行85提供根据sla预期未来需求的云计算资源的预安排和采购。
61.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;交易处理95;移动桌面96。
62.本发明可以是在任何可能的技术细节集成度上的系统、方法、和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
63.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质(例如,穿过光纤电缆的光脉冲)传播的电磁波或通过电线发射的电信号。
64.在此所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载至对应的计算/处理设备或下载至外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
65.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c 等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
66.在此参照根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的多个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
67.这些计算机可读程序指令可以被提供给计算机的处理器、或其他可编程数据处理装置以便产生机器,这样使得经由计算机的处理器或其他可编程数据处理装置执行的这些指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
68.这些计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置、或其他设备上,以便使得在该计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的处理,从而使得在该计算机、其他可编程装置、或其他设备上执行的指令实现流程图和/或框图的或多个框中所指定的功能/动作。
69.附图中的流程图和框图展示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
70.已经出于说明的目的呈现了本公开的不同实施例的描述,但并不旨在是详尽的或限于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。这里使用的术语被选择来解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献