CN108140087B - 使用预读取的信任边界组件的多租户环境 - Google Patents
使用预读取的信任边界组件的多租户环境 Download PDFInfo
- Publication number
- CN108140087B CN108140087B CN201680056357.9A CN201680056357A CN108140087B CN 108140087 B CN108140087 B CN 108140087B CN 201680056357 A CN201680056357 A CN 201680056357A CN 108140087 B CN108140087 B CN 108140087B
- Authority
- CN
- China
- Prior art keywords
- trust boundary
- computing system
- trust
- components
- component
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
多租户环境的低延迟使用。为了防止不同信任域内的租户之间的敌意,公共信任域的租户在信任边界组件内运行。因此,具有用于防止不同信任域的租户之间的潜在敌意的安全性。为了快速启动信任边界组件,当要建立新的信任边界时,存在多个预准备(例如,初始化、预引导和/或快照)的信任边界组件,其可以快速启动。附加地,信任边界组件内的过程可以在资源容器内运行,资源容器支持资源在各种过程之间的分配。由于信任边界组件可以快速启动,因此多租户环境可以具有安全性(由信任边界组件提供),同时仍然具有较低延迟(由于预准备的信任边界的快速可用性)。
Description
背景技术
计算系统和相关联的网络已经彻底改变了人们工作、娱乐和沟通的方式。我们生活的每个方面在某种程度上几乎都受到了计算系统影响。当然,为了确保计算资源的正常运行,硬件和软件都很重要。在越来越多的情况下,是在多租户环境(诸如公共甚至私有云计算环境)中提供硬件甚至是软件资源。在多租户环境中,资源在使用容器的不同用户之间共享。
在多租户环境中,各种租户有时互相彼此信任。在私有云计算环境中这可能就是如此,在这种环境中,用户都是同一组织的成员,并且对可以执行什么操作存在限制。换言之,一个过程将与另一个过程敌对或者执行引起对另一个过程造成风险的动作的风险较小。在这种情况下,可以在不必提供信任边界的资源容器内操作这些过程。这种容器的示例是中的作业对象或中的cgroup。这样的容器在允许不同过程共享资源方面具有优势,同时延迟低,因为它们可以快速启动。这种多租户环境通常用于执行大型映射规约(map-reduce)操作(诸如大数据查询),其中因为高并行性,容器数目可能非常大。
在其他多租户环境中,各种租户可能会彼此敌对。例如,公共云计算环境就是这种情况。这种敌意可能是故意的。举例来说,一些租户可能会试图渗透其他租户的操作或数据。这种敌意也可能是无意的。例如,一个租户可能无意中将恶意软件下载到各个租户的共享资源上。因此,在公共云计算环境中,服务提供方代表租户操作虚拟机。此外,信任边界被提供,以使得虚拟机的过程和数据免受虚拟机外部的过程的动作的影响。就像物理机一样,虚拟机需要通过引导(boot)过程来启动,这个引导过程通常需要很长时间。
本文中所要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的实施例。相反,提供本背景技术仅用于说明其中可以实施本文中描述的一些实施例的一个示例性技术领域。
发明内容
本文中描述的至少一个实施例涉及多租户环境的低延迟使用。在多租户环境中,多个租户共享公共的物理资源集。但是,为了防止不同信任域内的租户之间的敌意,公共信任域的一个或多个租户在信任边界组件内运行。信任边界组件的一个示例是沙盒环境,诸如虚拟机。因此,具有用于防止不同信任域的租户之间的潜在敌意的安全性。
为了快速启动信任边界组件,存在多个预准备(例如,初始化、预引导和/或快照)的信任边界组件的池,这些组件在需要建立新的信任边界时可以快速启动。附加地,信任边界组件内的过程可以在资源容器内运行,该资源容器支持资源在各种过程之间的分配。由于信任边界组件可以快速启动,因此多租户环境可以具有安全性(由信任边界组件提供),同时仍然具有较低延迟(由于预准备的信任边界的快速可用性和启动)。因此,包括很多并行过程的复杂过程(甚至可能延伸跨越多个物理机)可以以低延迟执行。这允许即使在存在潜在的恶意多租户的环境中(例如,在公共云计算环境中),也可以执行复杂的映射规约(map-reduce)作业。
单个信任边界组件可以运行多个资源容器。在信任边界组件内运行灵活数目的资源容器还允许在单个计算系统上运行更多过程,从而更高效地使用物理资源。
在一个实施例中,信任边界组件每个包括容器管理代理,其在适当的时间开始和结束信任边界组件内的资源容器,并且提供在与资源容器相关联的过程与底层虚拟和/或物理资源(诸如处理核、存储器、存储装置、输入/输出带宽等)之间充分的亲和力。容器管理代理同样可以以如下方式提供亲和力:该方式使得资源争用被消除或者至少降低到客户继续可接受的水平。该系统可以提供独立于底层容器技术的应用程序接口。因此,可以使用不同的容器而无需修改上层的(overlying)基础设施。
在信任边界组件处的这种智能资源分配允许为每个信任边界组件分配可能与分配给其他信任边界组件的资源重叠的大量资源。整个机器的容器管理服务进行协调,使得这种到每个信任边界组件的资源重叠分配不会导致资源争用,和/或导致可接受的资源共享水平。容器管理服务可以提供独立于底层信任边界组件技术的应用程序接口。因此,可以使用不同的信任边界组件,而无需修改上层的基础设施。
本“发明内容”并非旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用作确定所要求保护的主题的范围的辅助手段。
附图说明
为了描述可以获取上述和其他优点和特征的方式,将参考附图来呈现各种实施例的更具体的描述。应当理解,这些附图仅描绘了示例实施例并且因此不应当被认为是对本发明的范围的限制,实施例将通过使用附图利用附加特征和细节来描述和解释,在附图中:
图1示出了其中可以采用本文中描述的原理的示例计算系统;
图2示出了本文中描述的原理可以在其中操作的多租户环境,其中计算系统为各种信任域中的每个运行多个信任边界组件;
图3示出了用于提供多租户环境的方法的流程图,其中多个租户共享物理资源并且新的信任边界组件可以快速启动;
图4示出了用于对多租户环境内的新过程的启动进行响应的方法的流程图;
图5示出了用于对多租户环境内的过程的结束进行响应的方法的流程图;
图6示出了用于回收信任边界组件以便与预准备的信任边界组件的池一起可用的方法的流程图;以及
图7示出了可以由过程管理服务保持以便监测资源使用并且避免各种正在操作的信任边界组件和系统的资源使用之间的冲突的数据结构。
具体实施方式
本文中描述的至少一个实施例涉及多租户环境的低延迟使用。在多租户环境中,多个租户共享公共的物理资源集。但是,为了防止不同信任域内的租户之间的敌意,公共信任域的一个或多个租户在信任边界组件内运行。信任边界组件的一个示例是沙盒环境,诸如虚拟机。因此,其具有用于防止不同信任域的租户之间的潜在敌意的安全性。
为了快速启动信任边界组件,存在预准备(例如,初始化、预引导和/或快照)的信任边界组件的池,这些组件在需要建立新的信任边界时可以快速启动。信任边界组件内的过程可以附加地在资源容器内运行,其支持资源在各种过程之间的分配。由于信任边界组件可以快速启动,因此多租户环境可以具有安全性(如由信任边界组件提供),同时仍然延迟较低(由于预准备的信任边界的快速可用性和启动)。因此,包括很多并行过程(甚至可能延伸跨越多个物理机)的复杂过程可以以低延迟执行。这允许执行复杂的映射规约(map-reduce)作业,即使在存在潜在的敌对多租户的环境中(例如,在公共云计算环境中)。
单个信任边界组件可以运行多个资源容器。在信任边界组件内运行灵活数目的资源容器还允许在单个计算系统上运行更多过程,从而更高效地使用物理资源。
在一个实施例中,信任边界组件各自包括容器管理代理,其在适当的时间开始和结束信任边界组件内的资源容器,并且提供关联于资源容器的过程与底层虚拟和/或物理资源(诸如处理核、存储器、存储装置、输入/输出带宽等)之间充分的亲和力。容器管理代理同样可以以如下方式提供亲和力:该方式使得资源争用被消除或者至少降低到客户继续可接受的水平。该系统可以提供独立于底层容器技术的应用程序接口。因此,可以使用不同的容器而无需修改上层的基础设施。
在信任边界组件处的这种智能资源分配允许每个信任边界组件都被分配可能与分配给其他信任边界组件的资源重叠的大量资源。用于整个机器的容器管理服务对此进行协调,以使得这种到每个信任边界组件的资源重叠分配不会导致资源争用,和/或导致可接受的资源共享水平。容器管理服务可以提供独立于底层信任边界组件技术的应用程序接口。因此,可以使用不同的信任边界组件而无需修改上层的基础设施。
将参考图1描述计算系统的一些介绍性讨论。然后,将关于图2至图7描述低延迟多租户环境。
计算系统现在越来越多地采用各种形式。例如,计算系统可以是手持设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心、或者甚至还没有被传统地认为是计算系统的设备,诸如可穿戴设备(例如,眼镜和手表)。在本说明书和权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),其包括至少一个物理和有形处理器以及在其上能够具有可以由处理器执行的计算机可执行指令的物理和有形存储器。存储器可以采取任何形式并且可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中并且可以包括多个组成计算系统。
如图1所示,在其最基本的配置中,计算系统100通常包括至少一个硬件处理单元102和存储器104。存储器104可以是物理系统存储器,其可以是易失性的、非易失性的或这两者的某种组合。术语“存储器”在本文中也可以用于指代非易失性大容量存储器,诸如物理存储介质。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
计算系统100上还具有通常被称为“可执行组件”的多个结构。例如,计算系统100的存储器104被示出为包括可执行组件106。计算领域的普通技术人员很好理解,术语“可执行组件”可以是软件、硬件或其组合的结构的结构的名称。例如,当以软件实施时,本领域普通技术人员将理解,可执行组件的结构可以包括可以在计算系统上执行的软件对象、例程、方法,而不论这种可执行组件是否存在于计算机的堆中或者可执行组件是否存在于计算机可读存储介质上。
在这种情况下,本领域普通技术人员将认识到,可执行组件的结构存在于计算机可读介质上,使得当由计算系统的一个或多个处理器(例如,由处理器线程)解释时,计算系统被引起执行功能。这种结构可以由处理器直接计算机可读(在可执行组件是二进制的情况下通常就是这样)。或者,结构可以被构造为可解释和/或编译(无论是在单个阶段还是在多个阶段中),以便生成由处理器直接可解释的这种二进制。当使用术语“可执行组件”时,对可执行组件的示例结构的这种理解完全在计算领域的普通技术人员的理解之内。
普通技术人员也将术语“可执行组件”很好理解为包括专门或近似专门用硬件实施的结构,诸如在现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其他专用电路等内。因此,术语“可执行组件”是用于计算领域的普通技术人员很好理解的结构的术语,无论是以软件、硬件还是以组合的方式实施。在本说明书中,也可以使用术语“组件”、“服务”、“引擎”、“模块”、“显示器”、“调度器”、“管理器”、“模块”、“编译器”、“虚拟机”、“容器”、“环境”等。如在本说明书中以及在这种情况下所使用的,这些术语(无论是否使用修改条款表达)也旨在与术语“可执行组件”同义,并且因此也具有计算领域的普通技术人员很好理解的结构。
在下面的描述中,参考由一个或多个计算系统执行的动作来描述实施例。如果这些动作以软件实施,则(执行动作的相关联的计算系统的)一个或多个处理器响应于已经执行了构成可执行组件的计算机可执行指令来指导计算系统的操作。例如,这样的计算机可执行指令可以在形成计算机程序产品的一个或多个计算机可读介质上实施。这种操作的示例涉及数据的操纵。
计算机可执行指令(和所操纵的数据)可以存储在计算系统100的存储器104中。计算系统100还可以包含通信信道108,其允许计算系统100通过例如网络110与其他计算系统通信。
尽管不是所有计算系统都需要用户界面,但是在一些实施例中,计算系统100包括用于与用户交互的用户界面112。用户界面112可以包括输出机构112A以及输入机构112B。本文中描述的原理不限于精确的输出机构112A或输入机构112B,因为这将取决于设备的性质。然而,输出机构112A可以包括:例如扬声器、显示器、投影仪、触觉输出、阀、致动器、全息图、虚拟现实元件、增强现实元件等。输入机构112B的示例可以包括:例如麦克风、触摸屏、全息图、虚拟现实元件、增强现实元件、相机、键盘、加速度计、杠杆、踏板、按钮、旋钮、其他指针输入的鼠标、任何类型的传感器等。
如以下更详细讨论的,本文中描述的实施例可以包括或利用包括计算机硬件的专用或通用计算系统,诸如例如一个或多个处理器和系统存储器。本文中描述的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可以被通用或专用计算系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例可以包括至少两种截然不同的计算机可读介质:存储介质和传输介质。
计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备、或者可以用于以计算机可执行指令或数据结构的形式存储期望的程序代码装置并且可以由通用或专用计算系统访问的任何其他物理和有形的存储介质。
“网络”被定义为能够在计算系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线连接或硬连线或无线连接的组合)传输或提供给计算系统时,计算系统将连接恰当地视为传输介质。传输介质可以包括:可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码装置并且可以由通用或专用计算系统访问的网络和/或数据链路。上述的组合也应当被包括在计算机可读介质的范围内。
此外,在到达各种计算系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以从传输介质自动传送到存储介质(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓存在网络接口模块(例如,“NIC”)内的RAM中,并且然后最终传送到计算系统RAM和/或计算系统处的较不易失性存储介质。因此,应当理解,存储介质可以被包括在也(或者甚至主要)利用传输介质的计算系统组件中。
计算机可执行指令包括:例如当在处理器处执行时引起通用计算系统、专用计算系统或专用处理设备执行特定功能或功能组的指令和数据。备选地或附加地,计算机可执行指令可以将计算系统配置为执行某个功能或功能组。计算机可执行指令可以是例如二进制文件,或者甚至在由处理器直接执行之前经历一些翻译(诸如编译)的指令,诸如中间格式指令(例如,汇编语言)、或者甚至源代码。
尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中限定的主题不一定限于以上描述的特征或动作。相反,所描述的特征和动作被公开作为实施权利要求的示例形式。
本领域技术人员将会理解,本发明可以在具有很多类型的计算系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机、数据中心、可穿戴设备(诸如眼镜)等。本发明还可以在分布式系统环境中实践,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算系统都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
本领域技术人员还将认识到,本发明可以在云计算环境中实践。云计算环境可以是分布式的,尽管是这不是必需的。在分布式的情况下,云计算环境可以国际性地分布在组织内和/或具有跨越多个组织的组件。在本说明书和以下权利要求中,“云计算”被定义为用于支持对共享的可配置计算资源(例如,网络、服务器、存储装置、应用和服务)池的按需网络访问的模型。“云计算”的定义并不局限于可以从适当的部署模型中获取的很多其他优点中的任何优点。
例如,云计算目前在市场上被采用,以便提供对于共享的可配置计算资源池的无处不在且方便的按需访问。此外,共享的可配置计算资源池可以经由虚拟化被快速供应,并且以低管理成本或少服务提供商交互而被发布,并且然后被相应地缩放。
云计算模型可以由各种特性(诸如按需自助服务、广泛网络访问、资源池、快速弹性、测量服务)组成。云计算模型也可以以各种服务模型的形式出现,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。云计算模型也可以使用不同的部署模型来部署,诸如私有云、社区云、公共云、混合云等。在本说明书和权利要求书中,“云计算环境”是其中采用云计算的环境。
图2示出了其中可以运行本文中描述的原理的多租户环境200。在本说明书和权利要求书中,“多租户”环境200是其中可以运行属于不同客户(即租户)的共享计算资源(诸如处理器、存储器、存储装置、输入/输出信道带宽等)的计算过程的环境。多租户环境200可以是例如图1的计算系统。例如,多租户环境可以是云计算环境内的主机计算系统(诸如处理节点)。
在这种多租户环境中,经常存在不同租户运行的过程可能彼此敌对的可能性。例如,一个租户的一个过程可能试图对另一租户的另一过程的处理产生负面影响和/或窃取属于这个另一租户的数据。即使没有恶意,一个租户的过程可能会以其他过程受到影响的方式而将恶意软件下载到共享资源中。
为了抵御这种潜在的过程间敌意的影响,多租户环境200内可以存在多个信任域。例如,每个信任域可以与针对单个租户运行的过程相关联或者与针对互相信任的多个租户中的任何租户运行的过程相关联,以保护他们免受先前描述的敌意。
为了在运行于不同信任域内的过程之间提供适当的信任边界,多租户环境200运行多个信任边界组件210。在信任域的数目改变时,运行的信任边界组件210的数目可以随时间变化。在所示实施例中,多租户环境200被示出为包括三个信任边界组件211、212和213。然而,椭圆214表示这个数目可以随时间变化,并且本文中描述的原理不依赖于在多租户环境中所运行的信任边界组件的数目。信任边界组件的示例包括提供至少一些沙盒的环境。虚拟机是沙盒环境的示例,其可以防止在虚拟机外部运行的恶意过程和恶意软件。因此,仅作为示例,信任边界组件210可以均为虚拟机。
与公共信任域相关联的一个或多个过程在信任边界组件211内运行。与另一公共信任域相关联的一个或多个过程在信任边界组件212内运行。最后,与又一公共信任域相关联的一个或多个过程在信任边界组件213内运行。
计算系统200还示出了预准备的信任边界组件的池220,它们不是在运行中国,但是准备好快速被启动,尽管它们的操作尚未被调用,但是仅被预期为可能发生。在图2中,预准备的信任边界组件220被示出为包括四个预准备的信任边界组件221、222、223和224。然而,椭圆225表示在池220内可以有任何数目的预准备的信任边界组件。池内的预准备的信任边界组件的数目可以进一步随时间变化。然而,在一些实施例中,在池220内存在至少一个预准备的信任边界组件。
预准备的信任边界组件220中的每个信任边界组件都预准备好被快速启动。在本说明书和权利要求书中,如果信任边界组件1)已经被实例化,2)以二进制可执行文件形式(封装的或已经解封装的)在存储装置中表示,或者3)这两者的某种组合,则信任边界组件是“预准备的”。示例信任边界组件可以是虚拟机。在任何情况下,预准备的信任边界组件220预准备好快速启动。
图3示出了用于提供多租户环境的方法300的流程图,在该多租户环境中多个租户共享物理资源并且新的信任边界组件可以快速启动。方法300包括预准备计算系统内的信任边界组件的池(动作301)。例如,在图2的上下文中,提供了预准备的信任边界组件的池220。在一个实施例中,预准备的信任边界组件的池220由正在计算系统200中运行的过程管理服务230维护。在预准备的信任边界用于快速启动正在运行的信任边界组件时,预准备的信任边界的池可以被补充(如箭头302所示)。
作为示例,一个或多个信任边界组件220可以在预定状态下被预初始化。这样的预定状态可以适合于处理的快速开始。例如,信任边界组件中的一个或多个可以处于在首次启动来自信任边界组件类的信任边界组件的实例时它们将存在的状态。在这个示例中,虚拟机可以处于在引导虚拟机的清洁实例之后它将处于的状态。这种引导后的状态可以通过实际引导虚拟机实例来实现,但是这不是必需的,因为引导后的状态可以通过本文中描述的任何其他机制来实现,诸如恢复、回收、预初始化等。
备选地或附加地,预准备的信任边界组件中的一个或多个可以是在快照时具有预定状态的快照的信任边界组件。例如,信任边界组件可以通过先前已经被快照以具有适合于快速开始处理的特定状态而被预准备好。可以使用恢复来快速获取和启动快照的信任边界组件。在本说明书和权利要求书中,信任边界组件的“恢复”表示:忽略在恢复点之后在信任边界组件内发生的任何状态变化(如果有的话),并且将虚拟机的操作恢复为在恢复时存在的状态的信任边界组件的状态。
例如,如果信任边界组件是虚拟机,则一些管理程序(hypervisor)具有快速恢复到虚拟机的先前快照状态的能力。在一些实施例中,虚拟机的快照状态可以封装在休眠文件中。由于休眠文件针对快速启动进行了优化,因此这个封装适用于本文中描述的快速开始预准备的信任边界组件的操作的原理。
备选地或附加地,一个或多个预准备的信任边界组件可以是回收的信任边界组件。这种预准备的信任边界组件可能在先前已经被使用(例如,虚拟机可能是经回收的虚拟机),但是当经回收的虚拟机采取预定的清洁状态时,先前使用的标志在回收过程中被清理干净。
在一个实施例中,可以将预准备的信任边界组件220构建为:使得在被启动时,信任边界组件具有其可以使用的灵活数量的资源。从这个意义上,一旦预准备的信任边界组件开始运行,则它们就可以被认为是有弹性的,因为分配给沙盒环境的资源数量可以改变。
由于可以避免分配步骤,所以信任边界组件的这种预准备可以允许信任边界组件更快地启动。在一些实施例中,预准备的信任边界组件最初可以被预分配有非常少的资源(或甚至不被分配资源)。这进一步减少了启动预准备的信任边界组件所花费的时间。它进一步允许很多信任边界组件被预准备好,并且等待准备好可用于适应指派给计算系统200的新的信任域。因此,虽然预准备的信任边界组件220被示出为仅包括四个预准备的信任边界组件221、222、223和224,但是椭圆225表示可能存在其他数目的可信任边界组件(并且可能比图示的多得多),这些组件准备好启动以适应新的信任域。因此,计算系统200在对与新的信任域相关的任务的指派进行快速响应方面是灵活的,并且因为可以向信任边界组件中的每一个指派动态变化的资源量,因此也是灵活的。
过程管理服务230还可以向每个信任边界组件分配一种或多种类型的重叠资源。图7进一步详细描述了这种情况的示例。过程管理服务230还可以将虚拟资源(诸如在资源类型是处理能力的情况下的虚拟核)关联到物理资源(诸如在资源类型是处理能力的情况下的物理核)。过程管理服务230还可以确保:在每个信任边界组件内运行的资源确保在信任边界组件之间不存在由信任边界组件实际使用的可能多种资源类型中的每种类型的资源的重叠。或者,处理管理服务230还可以确保:如果存在这样的重叠,则进一步遵守针对每个租户的每个服务级协议。
为了管理多租户环境内资源的正确共享,与特定信任边界组件相关联的每个过程在相应的资源容器内运行。资源容器可以是可以访问相应操作系统的应用程序接口的任何容器对象。例如,在操作系统中,可以利用作业对象来启动过程。而且,在操作系统中,可以利用C组(或“控制组”)来启动过程。
每个信任边界组件可以包括相应的过程管理代理,其负责在信任边界组件内建立新的资源容器。例如,在图2中,正在运行的信任边界组件211被示出为具有过程管理代理231;正在运行的信任边界组件212被示出为具有过程管理代理232;并且正在运行的信任边界组件213被示出为具有过程管理代理233。
每个过程管理代理执行动态资源管理,动态资源管理在在信任边界组件内操作的资源容器之间分配(在时变基础上)被分配到信任边界组件的资源,使得多个资源容器中的每个资源容器的资源不重叠,或者至少:在存在重叠的情况下,所有的服务级协议都会得到遵守。作为示例,对于处理而言,过程管理代理可以将具有信任边界组件的资源容器与分配给信任边界组件的虚拟核相关联。对于存储器而言,指派给信任边界组件的存储器可以动态改变。例如,如果信任边界组件是WINDOWS管理程序(hypervisor)的虚拟机,则这个管理程序的动态存储器特征可以用于进行这种动态调节。
图2示出了多租户环境200包括用于容器操作的编程接口(API)250。API 250可能完全不依赖于底层容器技术,也不依赖于底层信任边界技术。因此,即使容器和信任边界技术随着时间的推移而变化,过程管理服务230、过程管理代理231、232、233和计算系统200的操作系统也可以以相同的方式与API 250接口,来操作资源容器。这允许多租户环境200敏捷响应于变化的容器和信任边界技术。甚至可能存在单个信任边界组件内的不同类型的资源容器的混合和/或在计算系统200上运行的不同类型的信任边界容器的混合。
图4示出了用于对多租户环境内的新过程的启动进行响应的方法400的流程图。方法400可以在例如图2的多租户环境200中执行。作为示例,方法200可以由图2的过程管理服务230执行。方法400通过确定新过程将要运行来被启动(动作401)。因此,方法400可以在每次新过程将要运行时执行。
对于要在信任边界组件内运行的每个新过程,标识新过程的信任域(动作402)。如果还没有已经针对这个信任域运行的信任边界组件(判定框403中的“否”),则启动预准备的信任边界组件之一用于运行(动作404)。例如,在图2中,过程管理服务230可以知道信任域与信任边界组件之间的相关性,并且因此可以确定是否存在与新过程的信任域相对应的任何现有信任边界组件。如果不存在这样的信任边界组件,则过程管理服务可以使预准备的信任边界组件的池220之一启动。再次强调,由于预准备过程,这个启动可能是一个非常快的过程,也许是在以秒为单位的数量级。
然后在所标识的信任边界组件内开始过程的新资源容器(动作405)。这可以经由与信任边界组件的相应过程管理代理的通信来完成。过程然后在资源容器内运行(动作406)。
如果过程管理服务确定存在已经针对新过程的信任域运行的信任边界组件(判定框403中的“是”),则在与新过程的信任域相关联的信任边界组件内运行新的资源容器(动作405)。然后,新过程在这个资源容器内运行(动作406)。因此,在任何给定的信任边界组件中,可能存在多个资源容器在运行。
例如,参考图2,示出了在信任边界组件211内运行的三个资源容器241A、241B和241C;在信任边界组件212内运行的一个资源容器241D;以及在信任边界组件213内运行的五个资源容器241E至241I。单个信任边界组件中多个资源容器的运行使得每个单元硬件的容器密度非常高,从而有效地使用计算系统200的硬件。因此,本文中描述的原理不仅提供了快速低延迟和安全的多租户环境,而且还提供了有效使用硬件资源的环境。
图5示出了用于对多租户环境内的过程的结束进行响应的方法500的流程图。方法500可以在每次确定过程完成时执行(动作501)。当过程完成时,将相关联的资源容器从信任边界组件移除(动作502)。如果移除的资源容器不是信任边界组件内最后一个资源容器(判定框503中的“否”)(即,信任边界组件中仍然有一个或多个其他资源容器正在运行),则信任边界组件继续处理(动作504)。另一方面,如果移除的资源容器是信任边界组件内最后一个资源容器(判定框503中的“是”),则关闭信任边界容器(动作505)。在一些实施例中,在过程管理服务230决定关闭信任边界组件之前,可以存在一段时间以防相应信任域的新过程即将开始。
在一些实施例中,信任边界组件的关闭(动作505)可以包括回收信任边界组件。图6示出了用于回收信任边界组件的方法606的流程图,该方法600表示图5的动作505的实施例。在确定信任边界将要被关闭(动作601)时,将信任边界组件初始化为清洁状态(动作602),并且将信任边界组件添加会到预准备的信任边界组件的池中(动作603)。
图7示出了数据结构700,其可以由过程管理服务230保持以便监测资源使用,并且避免正在操作的各种信任边界组件和系统的资源使用之间的冲突。数据结构700将资源使用映射到总可用资源710。总资源使用包括系统开销711和用户任务712。任何未使用的资源被指定为空闲资源713。
为每个正在运行的信任边界组件映射资源。例如,范围720(1)示出了一个信任边界组件(例如,信任边界组件211)的资源使用,范围720(2)示出了第二信任边界组件(例如,信任边界组件211)的资源使用,并且范围720(3)示出了第三信任边界组件(例如,信任边界组件213)的资源使用。范围720(N)示出了第N沙盒环境(例如,如椭圆214所表示)的资源使用,其中N是任何正整数。省略号721表示可以有任何数目的范围跟踪任何数目的沙盒环境的使用。还有跟踪系统资源使用(例如,用于计算系统的操作系统和用于诸如过程管理服务230等系统组件)的系统范围722。
系统任务资源使用由具有右倾箭头的范围(例如,整个范围系统范围722)的部分来表示。注意,如框730(1)、730(2)、730(3)和730(N)所示,信任边界组件本身的操作也采用一些系统资源。被分配用于由信任边界组件使用并且未使用的资源量由没有填充的框表示。被分配用于由用户任务(例如,在资源容器内运行的过程和资源容器本身)使用的资源量由具有左倾箭头的框(例如,框731A至631F)表示。注意,由于性能隔离管理器在防止性能隔离方面具有合适的处理,所以信任边界组件中的每一个也可以被分配附加的空闲空间(由资源713表示)。
因此,本文中已经描述了安全的多租户环境,其中新过程可以在新的资源容器内快速开始。这减少了完成过程的延迟。当考虑当前可能在公共云环境中执行的复杂作业时,这种延迟益处尤其明显,其中在公共云环境中,过程可能会彼此敌对。现在,在潜在恶意环境中安全地运行复杂作业所需要的众多信任边界可以快速启动,从而可以以低延迟在公共云环境中执行复杂作业。因此,本文中描述的技术体现了多租户环境技术的重大进步。
本发明可以在不脱离其精神或基本特征的情况下以其他具体形式来实施。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是由前面的描述来指示。在权利要求的等同物的含义和范围内的所有变化都将被包含在其范围内。
Claims (20)
1.一种计算系统,包括:
一个或多个处理器;
一个或多个计算机可读存储设备,所述一个或多个计算机可读存储设备具有存储于其上的计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时使所述计算系统配置所述计算系统执行一种用于提供多租户环境的方法,在所述多租户环境中多个租户共享物理资源,所述方法包括:
在确定新过程要在所述多租户环境中被运行之前,预准备计算系统内的多个信任边界组件,已预准备的所述信任边界组件还未运行,但是已预准备的所述信任边界组件中的每一个在已经被启动后被使能以在所述多租户环境中托管一个或多个资源容器和一个或多个过程;
确定与租户相关联的新过程将要在所述多租户环境中被运行;以及
响应于确定所述新过程将要被运行:
在所述多租户环境中运行已预准备的所述多个信任边界组件中的一个已预准备的信任边界组件;以及
在当前正在运行的已预准备的信任边界组件内运行与所述租户相关联的所述新过程。
2.根据权利要求1所述的计算系统,已预准备的所述多个信任边界组件包括已预准备的多个虚拟机。
3.根据权利要求1所述的计算系统,已预准备的所述多个信任边界组件包括至少已初始化的多个信任边界组件。
4.根据权利要求1所述的计算系统,已预准备的所述多个信任边界组件包括至少多个可恢复的信任边界组件。
5.根据权利要求4所述的计算系统,所述多个可恢复的信任边界组件中的至少一个可恢复的信任边界组件包括休眠文件。
6.根据权利要求4所述的计算系统,其中从恢复时间起对可恢复的信任边界组件的状态的改变与该可恢复的信任边界组件的其他状态保持分离。
7.根据权利要求1所述的计算系统,其中在所述信任边界组件内运行与所述租户相关联的所述新过程包括:
在所述信任边界组件内的资源容器内运行与所述租户相关联的所述新过程。
8.根据权利要求1所述的计算系统,所述方法还包括:
在信任边界组件内运行多个资源容器的动作。
9.根据权利要求8所述的计算系统,其中在使用所述多个资源容器中的资源容器完成过程之后,该资源容器从所述信任边界组件被移除。
10.根据权利要求9所述的计算系统,其中在使用所述多个资源中的最终资源容器完成过程之后,所述方法还包括:
可恢复地初始化所述信任边界组件的动作;以及
将已初始化的所述信任边界组件添加回到已预准备的所述多个信任边界组件中的动作。
11.根据权利要求1所述的计算系统,所述多租户环境包括应用编程接口,所述应用编程接口可用于与不同类型的正在运行的信任边界组件和/或已预准备的信任边界组件通信。
12.根据权利要求1所述的计算系统,所述正在运行的信任边界组件包括执行如下时变资源管理的容器管理代理,所述时变资源管理向所述正在运行的信任边界组件本身以及在所述信任边界组件内操作的多个资源容器之间分配已被分配到所述信任边界组件的资源,以使得服务级协议得到遵守。
13.根据权利要求12所述的计算系统,所述容器管理代理将具有所述信任边界组件的容器与分配给信任边界组件的虚拟核相关联。
14.根据权利要求12所述的计算系统,所述正在运行的信任边界组件包括执行如下时变资源管理的容器管理代理,所述时变资源管理在所述信任边界组件内操作的多个资源容器之间分配已被分配给所述信任边界组件的资源,以使得针对所述多个资源容器中的每个资源容器的资源不重叠。
15.根据权利要求1所述的计算系统,所述计算系统还包括容器管理服务,所述容器管理服务将特定类型的重叠资源分配到所述多个信任边界组件中的每一个。
16.根据权利要求15所述的计算系统,所述容器管理服务将虚拟核与物理核相关联。
17.根据权利要求15所述的计算系统,所述容器管理服务执行时变资源管理以确保服务级协议得到遵守。
18.根据权利要求15所述的计算系统,所述容器管理服务执行时变资源管理以确保:在所述多个信任边界组件之中不存在实际使用的特定类型的资源的重叠。
19.一种用于提供多租户环境的方法,在所述多租户环境中多个租户共享物理资源,所述方法包括:
在确定新过程要在所述多租户环境中被运行之前,预准备计算系统内的多个信任边界组件,已预准备的信任边界组件还未运行,但是所述已预准备的信任边界组件中的每一个在已经被启动后被使能以在所述多租户环境中托管一个或多个资源容器和一个或多个过程;
确定与租户相关联的新过程将要在所述多租户环境中被运行,以及
响应于确定所述新过程将要被运行:
在所述多租户环境中运行已预准备的所述多个信任边界组件中的一个已预准备的信任边界组件;以及
在当前正在运行的已预准备的信任边界组件内运行与所述租户相关联的所述新过程。
20.一种计算机程序产品,所述计算机程序产品包括一个或多个计算机可读存储介质,所述一个或多个计算机可读存储介质其上具有计算机可执行指令,所述计算机可执行指令被构造以使得在由一个或多个处理器执行时使计算系统执行一种用于提供多租户环境的方法,在所述多租户环境中多个租户共享物理资源,所述方法包括:
在确定新过程要在所述多租户环境中被运行之前,预准备计算系统内的多个信任边界组件,已预准备的所述信任边界组件还未运行,但是已预准备的所述信任边界组件中的每一个在已经被启动后被使能以在所述多租户环境中托管一个或多个资源容器和一个或多个过程;
确定与租户相关联的新过程将要在所述多租户环境中被运行;以及
响应于确定所述新过程将要被运行:
在所述多租户环境中运行已预准备的所述多个信任边界组件中的一个已预准备的信任边界组件;以及
在当前正在运行的已预准备的信任边界组件内运行与所述租户相关联的所述新过程。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562233966P | 2015-09-28 | 2015-09-28 | |
US62/233,966 | 2015-09-28 | ||
US15/277,654 | 2016-09-27 | ||
US15/277,654 US10389746B2 (en) | 2015-09-28 | 2016-09-27 | Multi-tenant environment using pre-readied trust boundary components |
PCT/US2016/054184 WO2017058918A1 (en) | 2015-09-28 | 2016-09-28 | Multi-tenant environment using pre-readied trust boundary components |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108140087A CN108140087A (zh) | 2018-06-08 |
CN108140087B true CN108140087B (zh) | 2021-09-28 |
Family
ID=58409440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680056357.9A Active CN108140087B (zh) | 2015-09-28 | 2016-09-28 | 使用预读取的信任边界组件的多租户环境 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10389746B2 (zh) |
EP (1) | EP3356983B1 (zh) |
CN (1) | CN108140087B (zh) |
WO (1) | WO2017058918A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474908B2 (en) * | 2017-07-06 | 2019-11-12 | GM Global Technology Operations LLC | Unified deep convolutional neural net for free-space estimation, object detection and object pose estimation |
US11036532B2 (en) * | 2017-11-29 | 2021-06-15 | Microsoft Technology Licensing, Llc | Fast join and leave virtual network |
US20200142735A1 (en) | 2019-09-28 | 2020-05-07 | Intel Corporation | Methods and apparatus to offload and onload workloads in an edge environment |
US11895201B2 (en) * | 2020-03-27 | 2024-02-06 | Intel Corporation | Programmable integrated circuit configured as a remote trust anchor to support multitenancy |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011085335A2 (en) * | 2010-01-08 | 2011-07-14 | Sauce Labs, Inc. | Real time verification of web applications |
CN102236762A (zh) * | 2010-04-30 | 2011-11-09 | 国际商业机器公司 | 用于处理对多租户应用的文件访问的方法和文件代理装置 |
CN104142864A (zh) * | 2014-08-07 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟化技术的多租户性能隔离框架 |
US9069983B1 (en) * | 2009-04-29 | 2015-06-30 | Symantec Corporation | Method and apparatus for protecting sensitive information from disclosure through virtual machines files |
US9197644B1 (en) * | 2014-01-30 | 2015-11-24 | Dell Software Inc. | System and method for multitenant management of domains |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732139B1 (en) | 1999-08-16 | 2004-05-04 | International Business Machines Corporation | Method to distribute programs using remote java objects |
US20050198303A1 (en) | 2004-01-02 | 2005-09-08 | Robert Knauerhase | Dynamic virtual machine service provider allocation |
US20060184936A1 (en) | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method using virtual machines for decoupling software from management and control systems |
US8572138B2 (en) | 2006-03-30 | 2013-10-29 | Ca, Inc. | Distributed computing system having autonomic deployment of virtual machine disk images |
US8473594B2 (en) * | 2008-05-02 | 2013-06-25 | Skytap | Multitenant hosted virtual machine infrastructure |
US9798560B1 (en) | 2008-09-23 | 2017-10-24 | Gogrid, LLC | Automated system and method for extracting and adapting system configurations |
US8909928B2 (en) | 2010-06-02 | 2014-12-09 | Vmware, Inc. | Securing customer virtual machines in a multi-tenant cloud |
US8495019B2 (en) | 2011-03-08 | 2013-07-23 | Ca, Inc. | System and method for providing assured recovery and replication |
US8875240B2 (en) * | 2011-04-18 | 2014-10-28 | Bank Of America Corporation | Tenant data center for establishing a virtual machine in a cloud environment |
US9286182B2 (en) | 2011-06-17 | 2016-03-15 | Microsoft Technology Licensing, Llc | Virtual machine snapshotting and analysis |
US9015708B2 (en) | 2011-07-28 | 2015-04-21 | International Business Machines Corporation | System for improving the performance of high performance computing applications on cloud using integrated load balancing |
US20130061293A1 (en) | 2011-09-02 | 2013-03-07 | Wenbo Mao | Method and apparatus for securing the full lifecycle of a virtual machine |
US9509571B1 (en) * | 2012-07-25 | 2016-11-29 | NetSuite Inc. | First-class component extensions for multi-tenant environments |
US9369456B2 (en) * | 2012-09-21 | 2016-06-14 | Intuit Inc. | Single sign-on in multi-tenant environments |
US9229759B2 (en) | 2012-10-17 | 2016-01-05 | Microsoft Technology Licensing, Llc | Virtual machine provisioning using replicated containers |
US8875166B2 (en) * | 2012-11-08 | 2014-10-28 | Sharp Laboratories Of America, Inc. | Method and cloud security framework for implementing tenant license verification |
US20150052614A1 (en) | 2013-08-19 | 2015-02-19 | International Business Machines Corporation | Virtual machine trust isolation in a cloud environment |
US9825908B2 (en) | 2013-12-11 | 2017-11-21 | At&T Intellectual Property I, L.P. | System and method to monitor and manage imperfect or compromised software |
US9588793B2 (en) | 2013-12-20 | 2017-03-07 | Red Hat Israel, Ltd. | Creating new virtual machines based on post-boot virtual machine snapshots |
-
2016
- 2016-09-27 US US15/277,654 patent/US10389746B2/en active Active
- 2016-09-28 EP EP16779290.2A patent/EP3356983B1/en active Active
- 2016-09-28 WO PCT/US2016/054184 patent/WO2017058918A1/en active Application Filing
- 2016-09-28 CN CN201680056357.9A patent/CN108140087B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069983B1 (en) * | 2009-04-29 | 2015-06-30 | Symantec Corporation | Method and apparatus for protecting sensitive information from disclosure through virtual machines files |
WO2011085335A2 (en) * | 2010-01-08 | 2011-07-14 | Sauce Labs, Inc. | Real time verification of web applications |
CN102236762A (zh) * | 2010-04-30 | 2011-11-09 | 国际商业机器公司 | 用于处理对多租户应用的文件访问的方法和文件代理装置 |
US9197644B1 (en) * | 2014-01-30 | 2015-11-24 | Dell Software Inc. | System and method for multitenant management of domains |
CN104142864A (zh) * | 2014-08-07 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟化技术的多租户性能隔离框架 |
Also Published As
Publication number | Publication date |
---|---|
CN108140087A (zh) | 2018-06-08 |
US10389746B2 (en) | 2019-08-20 |
EP3356983B1 (en) | 2019-10-30 |
US20170093903A1 (en) | 2017-03-30 |
EP3356983A1 (en) | 2018-08-08 |
WO2017058918A1 (en) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169023B2 (en) | Virtual container deployment | |
US9600316B2 (en) | Augmented allocation of virtual machines for application | |
CN107534571B (zh) | 用于管理虚拟网络功能的方法、系统和计算机可读介质 | |
US11023267B2 (en) | Composite virtual machine template for virtualized computing environment | |
US9665388B2 (en) | Selecting optimal hypervisor platforms that satisfy application workload requirements | |
CN108140087B (zh) | 使用预读取的信任边界组件的多租户环境 | |
US10031761B2 (en) | Pluggable cloud enablement boot device and method | |
US9361120B2 (en) | Pluggable cloud enablement boot device and method that determines hardware resources via firmware | |
US9389874B2 (en) | Apparatus and methods for automatically reflecting changes to a computing solution in an image for the computing solution | |
US20160011865A1 (en) | Building a pattern to define a topology and application environment using software components and software updates/fixes from external repositories from multiple vendors | |
US20180239612A1 (en) | Running a kernel-dependent application in a container | |
Sun et al. | Mapping application requirements to cloud resources | |
US9465677B2 (en) | Partitioned application environment | |
Kaur et al. | Docker and its features | |
US20230409716A1 (en) | Shared library customization | |
US20230367869A1 (en) | Providing system services | |
US11928460B2 (en) | Dynamic update of a computer program in memory | |
US11656933B2 (en) | System tuning across live partition migration | |
US11561787B2 (en) | Application invocation on specified operating system version | |
US11630804B1 (en) | Classifying and storing multiple layers of a file system | |
US20240028322A1 (en) | Coordinated upgrade workflow for remote sites of a distributed container orchestration system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |