在管理器控制的系统中处理客户事件的制作方法_4

文档序号:9693200阅读:来源:国知局
储器区域;使用客户存储器22的非加密区域由客户20启动I/O的处理;CPU216的虚拟化功能34生成客户事件;管理器30读取客户事件的原因和执行1/0过程。
[0068]分页过程进一步特征化为由管理器30页出(paging-out)客户存储器22的页面;一旦尝试访问页出的页面,提供页面错误,其指示管理器30是否管理器30的页出操作引起页面错误;触发管理器30对客户存储器22执行页入(page-1n)过程。
[0069]进一步使用检查过程来检查客户的一致性,检查过程包括步骤:检查过程知道客户秘钥24;客户20以明文的形式从客户存储器22读取存储器的内容,该客户存储器22通过安全的通信路传输客户存储器22的随机范围到检查过程,从管理器30请求请求客户存储器22的相同的存储器的范围并传输给检查过程;将从客户20得到的存储器内容,与从管理器30得到的解密存储器内容的结果进行比较;根据两个存储器范围的内容,分发比较结果;如果比较结果等于零,检查过程的结果为正,否则为负。
[0070]图4示出了根据本发明的一个实施例的从管理器30和CPU216的视角的用于执行加密的客户运行的一般流程图。图4和图5在流程图中引用在图2和图3的框图中定义的对象,所以使用的参考标号也引用这些图的对象。从步骤S410起运行加密的客户20,其中管理器30从初始程序装载器(IPL)装置读取加密的客户映像以及加密的客户钥匙24。然后,在步骤S420,管理器30将加密的客户映像存储到客户存储器22。在步骤S430管理器30准备包括加密的客户钥匙24的初始客户状态52。因此,步骤S410至S430用于在管理器控制的系统10中初始化客户20。在步骤s440,安全客户20的虚拟机根据目前的客户状态52启动。接着在步骤S450,CPU216在由当前客户状态52描述的安全客户语境42中运行安全客户20。在步骤S460,如果发生以中断或指令截取的形式的客户事件,由于该中断或拦截,客户20使用更新的客户状态52离开客户语境42。在步骤S470,管理器30现在通过使用第一个固件服务从安全客户20读数据或使用第二固件服务写数据到安全客户20,能够处理中断或拦截。
[0071]一般来说,第一个固件服务可以被触发,这意味着(ii)固件70正在处理与客户事件相关的信息并向管理器30仅呈现以解密形式的客户状态52和客户存储器22的信息的子集,及(iii)固件70正保留不发送到管理器30的部分信息。此外,(iv)基于接收的信息的子集,管理器30可能触发第二固件服务;(V)用于生成客户20的状态和/或存储器的修改,以及(vi)用于执行在客户存储器22以加密形式与客户事件关联的状态和/或存储器的修改。
[0072]如果完成安全客户20,在分支S480整个过程结束。如果安全客户20还没有完成,步骤S440的循环结束并且管理器30再次启动安全客户20。
[0073]在图5中描述了根据本发明的一个实施例用于对加密客户运行的中断处理的详细流程图。步骤S510从客户事件开始,这意味着安全客户20正发出要求中断或管理器30支持的指令,例如,存储系统环境参数指令,其通常由管理器30提供。在下一步步骤S520,虚拟功能34的执行之处脱离客户语境42,并将启动传递给CPU内的虚拟化代码。然后在步骤S530,CPU内部的虚拟化代码检测到客户20离开的原因,例如,确定存储系统环境参数的指令。在步骤S540,CPU内部的虚拟化代码根据客户20离开的原因为管理器30准备句柄来访问输入和输出参数,例如,将请求的信息存储的位置与句柄关联。然后在步骤S550,CPU内部的虚拟化代码对不需要处理中断的执行状态部分进行掩码并且返回到管理器的指示客户离开的启动点,以及对输入输出参数句柄的提示,例如对管理器30隐藏寄存器和语境数据(例如通过加密它们)。在步骤S520到S550,CPU内部的虚拟化代码可以替换地作为第一固件服务实现。接着,在步骤S560,管理器30通过阅读来自CPU内部虚拟化代码的原因指示,例如,读取原因代码以确定虚拟服务器请求来存储系统环境参数,来检测客户20离开的原因。在步骤S570(如果必要的话,重复)管理器30触发固件服务(例如第一固件服务)以与输入和输出参数一起工作来处理客户20的离开。要执行这点,管理器30使用先前建立的句柄作为引用需要处理的存储器230和寄存器的内容的设备,例如,管理器30利用接收到的句柄通过固件服务(例如第二固件服务),将系统环境参数存储在虚拟服务器的存储器。
[0074]通过这种方式,在对图5中加密的客户的拦截处理的详细流程图中,描述了如何使用第一和第二固件服务以用于处理在管理器控制的系统10中的客户事件,(ii)固件70如何处理与客户事件相关的信息以及向管理器30只展示以加密形式的信息的子集,以及(iii)固件70保留信息的一部分以及(iv)基于接收的信息的子集,第二固件服务可能被触发。
[0075]下一步,在步骤S580,管理器30通过发出相应的CPU的指令来重新启动虚拟化功能34的执行,直到步骤S590,CPU内部的虚拟化代码从客户20以前的离开中清除句柄,为虚拟化功能34的执行暴露虚拟服务器语境并且启动虚拟服务器的执行。
[0076]因此,可以生成客户20的状态和/或存储器修改并在客户存储器22以加密的形式执行。
[0077]现在参考图6,示出了数据处理系统210的例子的示意图。数据处理系统210仅是合适的数据处理系统的一个例子,并不意图对此处描述的发明的实施例的使用或者功能的范围施加任何限制。不论怎样,数据处理系统210能够被实现和/或执行上面列出的任何功能。
[0078]在数据处理系统210中有计算机系统/服务器212,其可被许多其他通用或专用的计算系统环境或配置操作。可适用于计算机系统/服务器212的著名的计算系统、环境、和/或配置的例子包括,但不限于,个人计算机系统、服务器计算机系统,瘦客户机、胖客户机、手持或便携式设备、多处理器系统、基于微处理器的系统、机顶盒、可编程电子消费品、网络PC、微计算机系统、主机计算机系统、以及分布式云计算环境,包括上述的任何系统或设备的组合,等等。
[0079]可以在计算机系统可执行的指令的通用语境下(如由一个计算机系统执行的程序模块)描述计算机系统/服务器212。一般来说,程序模块可以包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器212可以在分布式的云计算环境中实现,其中由通过通信网络连接的远程处理设备执行任务。在分布式的云计算环境中,程序模块可以位于包括存储设备的本地和远程计算机系统存储介质中。
[0080]如图6所示,数据处理系统210中的计算机系统/服务器212以一种通用计算设备的形式显示。计算机系统/服务器212的组件可以包括,但不限于,一个或多个处理器或处理单元216,系统存储器228,以及连接不同系统组件(包括系统存储器228和处理单元216)的总线 218。
[0081]总线218表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0082]计算机系统/服务器212典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器212访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0083]系统存储器228可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)230和/或高速缓存存储器232。计算机系统/服务器212可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统234可以用于读写不可移动的、非易失性磁介质(未显示,通常称为“硬盘驱动器”)。尽管未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶_R0M,DVD-R0M或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线218相连。存储器228可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0084]具有一组(至少一个)程序模块242的程序/实用工具240,可以存储在例如存储器228中,这样的程序模块242包括一一但不限于一一操作系统、一个或者多个应用程序、其它程序模块以及程序数据,操作系统、一个或者多个应用程序、其它程序模块以及程序数据中的每一个或某种组合中可能包括网络环境的实现。程序模块242通常执行本发明所描述的实施例中的功能和/或方法。计算机系统/服务器212也可以与一个或多个外部设备214(例如键盘、指向设备、显示器224等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器212交互的设备通信,和/或与使得该计算机系统/服务器212能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 222进行。并且,计算机系统/服务器212还可以通过网络适配器220与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器220通过总线218与计算机系统/服务器212的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器212使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0085]附图中的框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,框图中的每个
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1