CN108139935B - 业务定义容器的资源约束的扩展 - Google Patents

业务定义容器的资源约束的扩展 Download PDF

Info

Publication number
CN108139935B
CN108139935B CN201580083594.XA CN201580083594A CN108139935B CN 108139935 B CN108139935 B CN 108139935B CN 201580083594 A CN201580083594 A CN 201580083594A CN 108139935 B CN108139935 B CN 108139935B
Authority
CN
China
Prior art keywords
container
resource
host server
constraint
request
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
Application number
CN201580083594.XA
Other languages
English (en)
Other versions
CN108139935A (zh
Inventor
徐俊
杨惠阳
兰伽拉具·艾杨格
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108139935A publication Critical patent/CN108139935A/zh
Application granted granted Critical
Publication of CN108139935B publication Critical patent/CN108139935B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种方法包括:在主机服务器上执行的处理线程接收采用容器引擎在所述主机服务器上创建容器的容器请求,其中所述容器请求指示在所述容器内执行应用的第一资源约束和第二资源约束;所述处理线程指导所述容器引擎根据所述第一资源约束为所述容器创建操作环境以及在所述主机服务器上执行所述容器;所述处理线程根据所述容器请求的所述第二资源约束从所述主机服务器的操作系统(operating system,OS)预留第一资源;以及所述处理线程动态更新所述容器的所述操作环境以使所述容器能够直接利用所述预留的第一资源来执行所述应用,以便满足所述容器请求的所述第二资源约束。

Description

业务定义容器的资源约束的扩展
相关申请的交叉引用
本申请要求2015年10月23日递交的发明名称为“业务定义容器的资源约束的扩展(Extension of Resource Constraints for Service-Defined Containers)”的第14/921,724号美国非临时专利申请案的在先申请优先权和权益,该在先申请的内容以引用的方式并入本申请中。
背景技术
无线模块、传感器和微控制器的可访问性在某种程度上推动了物联网(Internetof Things,IoT)的快速发展。随着连接设备的数量和种类的增加,应用对连接这些设备和处理这些设备所产生的大量数据的需求同样增加。为了匹配这一增长需求,web和移动应用开发者正调整其开发实践和方法,以应对IoT应用的挑战。对于开发者来说,计算虚拟化可以是一种供开发者跨多个平台快速开发、测试并部署IoT应用的极具吸引力的解决方案。
发明内容
在一项实施例中,本发明包括一种方法,所述方法包括:在主机服务器上执行的处理线程接收采用容器引擎在所述主机服务器上创建容器的容器请求,其中所述容器请求指示在所述容器内执行应用的第一资源约束和第二资源约束;所述处理线程指导所述容器引擎根据所述第一资源约束为所述容器创建操作环境以及在所述主机服务器上执行所述容器;所述处理线程根据所述容器请求的所述第二资源约束从所述主机服务器的操作系统(operating system,OS)预留第一资源;以及所述处理线程动态更新所述容器的所述操作环境以使所述容器能够直接利用所述预留的第一资源来执行所述应用,以便满足所述容器请求的所述第二资源约束。
在另一实施例中,本发明包括一种主机服务器,所述主机服务器包括:输入/输出(input/output,I/O)接口;用户接口,用于接收在所述主机服务器上创建容器的容器请求,其中所述容器请求指示在所述容器内执行应用的第一资源约束;以及,耦合到所述I/O接口和所述用户接口的处理器,其中所述处理器用于:根据所述第一资源约束从所述主机服务器的OS预留物理资源的第一部分,以及为所述容器配置操作环境以直接利用所述物理资源的所述预留的第一部分来执行所述应用,其中,所述第一资源约束包括与所述I/O接口有关的绝对限制,所述第一部分是所述物理资源的绝对部分。
在又一实施例中,本发明包括一种方法,所述方法包括:在主机服务器的隔离用户空间中执行的处理线程接收对所述主机服务器的第一物理资源的第一部分的访问,其中所述第一物理资源由OS管理;所述处理线程接收对所述主机服务器的第二物理资源的第二部分的访问,其中所述第二物理资源由所述OS管理;所述处理线程通过直接与所述OS通信以利用所述第一物理资源的所述第一部分和所述第二物理资源的所述第二部分来执行应用,其中所述第一物理资源和所述第二物理资源是不同的正交资源。
结合附图和权利要求书可以从以下的详细描述中更清楚地理解这些和其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是托管多个虚拟机(virtual machine,VM)的主机服务器的一实施例的示意图。
图2是托管多个容器的主机服务器的一实施例的示意图。
图3是容器系统的一实施例的示意图。
图4是业务定义的容器系统的一实施例的示意图。
图5是一个网元(network element,NE)的一实施例的示意图。
图6是一种用于提供业务定义容器的方法的一实施例的流程图。
图7是一种用于在业务定义容器中执行应用的方法的一实施例的流程图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
在计算中,虚拟化是一个宽泛的术语,指的是计算资源的抽象,可包括硬件组件和软件组件。虚拟化使单个物理资源(例如服务器或主机服务器、操作系统、应用和/或存储设备)充当多个逻辑资源。服务器虚拟化可在多个层级执行,例如全虚拟化、半虚拟化、操作系统(operating system,OS)层级虚拟化。在全虚拟化中,虚拟机监控器直接与物理服务器的物理资源交互并创建一个或多个虚拟化平台。每个虚拟化平台托管一个独立的具有任意类型的未更改OS以及所有底层物理资源的一个副本的虚拟服务器或虚拟机(virtualmachine,VM)。在半虚拟化中,可更改在虚拟服务器上运行的OS以优化与虚拟机监控器的交互。在OS层级虚拟化中,虚拟化平台直接利用底层OS。例如,底层OS支持多个隔离用户空间软件实例共享物理资源。隔离用户空间软件实例的一个示例是容器。将VM与容器进行比较,VM消耗更多的资源并包含更多的处理开销,但是可以提供更好的隔离和安全性。
图1是托管示为VM A、VM B和VM C的多个VM 140的主机服务器100的一实施例的示意图。主机服务器100包括适于处理数据的主机硬件110。例如,主机硬件110可包括一个或多个中央处理器(central processing unit,CPU)、一个或多个存储设备、I/O端口和网络端口。主机硬件110可执行各种软件程序和/或组件。如图所示,主机硬件110用于执行主机OS 120、虚拟机监控器130和VM 140。
主机OS 120可以是用于管理和控制主机硬件110提供的硬件资源的任何OS。一些OS示例可包括主机OS 120可包括各种组件,例如进程管理组件、内存管理组件、文件系统管理组件、I/O系统管理组件和/或保护系统组件。进程管理组件管理CPU利用率并调度进程,例如在主机服务器100中执行的虚拟机监控器130和VM140。内存管理组件管理进程所消耗的内存。例如,内存管理组件可执行内存分配和释放和/或跟踪和维护内存状态和/或状况。文件系统管理组件管理进程所用的文件的存储。I/O系统管理组件管理进程所产生或消耗的I/O数据在主机服务器100与外部设备和系统之间的传送。一些外部设备示例可包括网络设备,例如路由器、传感器、移动设备和服务器。保护系统组件保护主机硬件110的CPU和内存等硬件资源以及存储在主机硬件110上的数据并控制进程进行的访问。
虚拟机监控器130是VM监控器(VM monitor,VMM),其是用于创建、执行并管理VM140的软件组件。虚拟机监控器130与主机OS 120进行交互以模仿所有硬件资源,例如主机硬件110提供的CPU、内存、I/O和网络资源,使VM 140能够共享硬件资源。虚拟机监控器140可模仿彼此隔离的多个虚拟化平台,从而支持VM 140在同一底层主机硬件110上彼此独立操作。
每个VM 140是一个由主机硬件110执行并由虚拟机监控器130控制的软件实例。每个VM 140以与物理计算机类似的方式操作,具有在主机硬件110中可用的客户机OS 141和所有硬件资源的一个虚拟副本。客户机OS 141可执行的功能与主机OS 120类似。例如,客户机OS 141管理虚拟机监控器130提供的虚拟化硬件资源并向应用143提供OS业务,例如调度、内存管理和I/O业务。客户机OS 141可以是任意类型的OS,其可以与主机OS 120相同,也可以与主机OS 120不同。例如,主机OS 120可以是Windows OS,VM A 140的客户机OS 141可以是OS。或者,主机OS 120和VM A 140的客户机OS 141都可以是OS。此外,多个客户机OS 141可以是同一类型的OS,也可以是不同类型的OS。
每个VM 140可提供一组二进制文件和库(binaries and libraries,Bins/Libs)142,并可执行一个或多个应用143。二进制文件和库142可包括可执行目标代码,例如工具,以及编译目标代码,应用143可动态连接这些编译目标代码来执行以提供运行时支持。应用143可以是任意类型的应用,例如web客户端应用和web服务器应用。应用143和客户机OS141不知道虚拟化操作环境,运行起来就如同它们在独立的物理计算机中运行一样。
图2是托管示为容器A、容器B和容器C的多个容器250的主机服务器200的一实施例的示意图。主机服务器200包括与主机硬件110类似的主机硬件210。主机硬件210的物理资源由与主机OS 120类似的主机OS 220管理。但是,主机OS 220提供OS层级虚拟化以支持容器250直接利用主机硬件210的物理资源,而非在隔离用户空间中执行。虽然主机OS 220是共享的,但是单独的容器250具有独立的文件系统和独立的进程空间。
每个容器250用于执行一个特定应用253,并可包括刚好足够的资源来执行应用253。应用253与应用143类似。容器250还可包括执行应用253所需的所有依赖关系,例如二进制文件和库252。二进制文件和库252与二进制文件和库142类似。如图所示,容器A 250配置有示为Bins A/Libs A的一组二进制文件和库252,用于执行一个应用A 253。容器B 250配置有示为Bins B/Libs B的一组二进制文件和库252,用于执行一个应用B 253。容器C250配置有示为Bins C/Libs C的一组二进制文件和库252,用于执行多个应用C 253。虽然容器250常用于执行一个特定应用253,但是容器250可用于执行任意数量的应用253。
与主机服务器100中的基于虚拟机监控器的虚拟化相比,容器250利用的硬件资源明显少于VM 140,并且包括的处理开销明显少于VM 140。但是,容器250是基于同一类型的OS,如底层主机OS 220,而不是基于如VM 140中的任意类型的OS。例如,当主机OS 220是OS时,容器250对应用253展现为服务器。虽然虚拟机监控器130和客户机OS141的消除使主机服务器200能够提供效率更高的较轻量级虚拟化,但是主机服务器200可能仅为容器250提供有限的I/O支持并且可能无法保证特定I/O性能指标。例如,容器250可能具有用于将数据传入和传出容器250的I/O路径,但是可能不具备有保证的I/O带宽。一般而言,主机OS 220为容器250提供总物理资源的一个有限子集。
图3是容器系统300的一实施例的示意图。系统300采用与主机服务器200类似的基于容器的虚拟化机制,并采用引擎310来提供与工具和工作流的集成环境,用于生成、启动并控制与容器250类似的容器350。引擎310和容器350由与主机服务器200类似的主机服务器执行。当引擎310在主机服务器上生成并启动容器350时,容器350在功能上与容器250相同。每个容器350是一个隔离用户空间软件实例,其直接利用底层主机OS提供的OS业务,底层主机OS与主机OS 120和220类似。底层主机OS可以是OS。引擎310包括守护进程390、图形驱动程序336、网络驱动程序332、执行(execution,exec)驱动程序331和库容器(library container,libcontainer)340。在系统300中,容器350的创建由客户端360发起。客户端360是用于从用户接受容器管理命令并与守护进程390来回通信的软件组件。客户端360可在与引擎310和容器350相同的主机服务器上执行,或者在远程服务器上执行。
守护进程390是在主机服务器的后台进程中运行的软件组件。守护进程390接受并处理从客户端360收到的容器创建请求。守护进程390包括服务器391和工作引擎320。服务器391用于接收请求并将收到的请求分派给工作引擎320,并且向客户端360发送响应。工作引擎320用于根据分派的请求执行多个工作321。工作321是用于为容器350创建和构建镜像文件以及启动并监控容器350的动作。工作321可通过与图形驱动程序336、网络驱动程序332、exec驱动程序331和注册服务器370配合来完成一部分动作。
注册服务器370是远程服务器上的镜像仓库。注册服务器370作为容器镜像存储器。由于是开源平台,所以开发者可以通过将新创建的镜像文件上传到注册服务器370或从注册服务器370下载现有镜像文件来共享镜像文件。此外,镜像文件通过采用分层方法来构建,其中可合并多个镜像文件,例如Ubuntu镜像文件和Apache镜像文件,以形成完整的容器350镜像文件。因此,工作321可以通过从注册服务器370下载一个或多个镜像文件来为容器350创建一个镜像文件。
图形驱动程序336是用于与负责为容器350创建和构建镜像文件的一个或多个工作321配合的软件组件。例如,图形驱动程序336将下载的镜像文件本地存储为图形380中的镜像文件381,并在图形数据库(graph database,DB)395中跟踪或维护与镜像文件381有关的信息。
网络驱动程序332是用于为容器350创建网络设备、网络堆栈和/或网络环境的软件组件。如图所示,网络驱动程序332可以为容器350分配网络接口,包括端口333、互联网协议(Internet protocol,IP)接口334和网桥335。网桥335接口是虚拟以太网桥,其耦合到主机服务器300上的任意类型的网络接口。端口333是主机服务器300上的映射端口。IP接口334映射到主机服务器300上的基于IP协议转发数据包的网络接口。
Exec驱动程序331是用于进行以下操作的软件组件:为容器350创建操作和资源、发动或启动容器350、监控和管理容器350的资源利用情况。
libcontainer 340是提供用于构建容器350的多个核心功能的软件组件。libcontainer 340包括控制组(control groups,cgroups)组件341、命名空间组件342和网络链路组件343。cgroups组件341在容器350上应用资源使用限制和隔离。命名空间组件342为每个容器350提供一个隔离的工作区,该工作区可包含进程、网络接口、进程间通信(inter-process communication,IPC)资源以及挂载点或文件系统。网络链路组件343为容器350提供IPC接口和网络接口。
例如,用户通过客户端360请求容器350。该请求指示在容器350内执行应用的资源约束。服务器391处理请求并将请求分派给工作引擎320。工作引擎320执行第一工作321,根据收到的请求为所请求的容器创建镜像文件。第一工作321从注册服务器370下载一个或多个镜像文件,并将下载的镜像文件发送给图形驱动程序336,图形驱动程序336存储并跟踪镜像文件。工作引擎320执行第二工作321,为容器350构建镜像文件。工作引擎320执行第三工作321,根据接收方请求与网络驱动程序332和libcontainer 340配合来为容器350创建网络环境。工作引擎320执行第四工作321,与libcontainer 340配合来为容器350构建资源;以及执行第五工作321,发动容器350。在容器350启动或发动后,可在具有隔离用户空间的容器350中执行应用。应注意,工作引擎320可按上文描述来分发工作321,或者按本领域普通技术人员所确定的配置来分发工作321以实现类似功能。
如上所述,与基于虚拟机监控器的虚拟化相比,基于容器的虚拟化是轻量级的,但仍然为应用提供了自包含的、完全隔离的执行环境。因此,基于容器的虚拟化是用于具有轻量级资源约束的微业务的一个主流方案。如系统300中所描述的由提供的工具和系统基础设施还提供了一个极具吸引力的平台方案,供IoT应用开发者快速开发、测试和部署IoT应用。但是系统200和300可能缺少I/O支持或其它常用的OS业务来满足IoT应用的一定性能标准,例如有保证的带宽和吞吐量。
本文公开了通过利用容器虚拟化机制并扩展容器资源约束来提供业务定义IoT容器的各种实施例。所公开的实施例采用IoT业务管理器来为容器提供扩展资源。扩展资源是指某一容器技术一般不提供的资源。例如,常见资源可包括文件系统、I/O路径和相对CPU份额,而扩展资源可包括有保证的带宽、CPU资源的绝对量、IP数据包过滤、安全性以及底层OS提供的任何其它OS特征或不属于底层OS的扩展特征。IoT业务管理器充当特定容器技术的容器引擎的代理,如系统300中描述的例如,IoT业务管理器在收到创建容器的用户请求时,分析请求以确定容器所需的常用资源和扩展资源。IoT业务管理器采用容器引擎来创建和构建镜像文件,并为所请求的容器分配来自底层OS核心的常用资源。容器引擎发动并执行容器。IoT业务管理器预留来自底层OS核心的扩展资源并将这些扩展资源分配给容器。IoT业务管理器可动态地修改、增加、删除扩展资源的分配。虽然本发明在容器和OS的上下文中描述业务定义容器机制,但是所公开的实施例适用于任何其它类型的容器技术和任何其它类型的OS。
图4是业务定义容器系统400的一实施例的示意图。系统400采用与主机服务器200和系统300类似的基于容器的虚拟化机制,并采用IoT业务管理器430来为IoT业务容器450提供扩展资源,IoT业务容器450还称为业务定义容器。系统400利用主机服务器200中描述的集成环境。如图所示,系统400包括IoT业务管理器430、IoT业务容器450、IoT业务客户端440、与客户端360类似的客户端460、与引擎310类似的引擎410、与注册服务器370类似的注册服务器470。IoT业务管理器430和IoT业务客户端440是软件组件。IoT业务管理器430、IoT业务容器450和引擎410由与主机服务器100和200类似的主机服务器490执行。IoT业务客户端440可由远程服务器或同一主机服务器490执行。IoT业务客户端440接受用于创建、启动、管理和修改IoT业务容器450的用户命令。例如,IoT业务客户端440可通过命令行接口(commandline interface,CLI)与用户交互。
IoT业务管理器430包括容器管理器431、容器监控器432和资源管理器433。容器管理器431用于解离并分析容器请求以确定容器资源约束。容器管理器431将容器资源约束划分为常用资源约束和扩展资源结束。常用资源约束是引擎410支持的约束。常用资源约束的一些示例可包括文件系统约束、CPU利用率约束、内存约束和I/O约束。例如,CPU约束的形式可以是主机服务器490上的共享CPU资源的相对权重,但是可能不包括CPU资源的具体量,例如1吉兆赫(gigahertz,GHz)的处理能力。内存约束的形式可以是内存的具体量,但是可能不包括具体内存区域。I/O约束的形式可以是某一类型的I/O接口,但是可能不包括有保证的I/O带宽。扩展资源约束可包括功能约束和主机OS 420提供的任何资源。例如,扩展资源约束可包括I/O带宽的具体量、具体网络服务质量(quality of service,QoS)、用以满足实时约束的具体CPU安排、用于防火墙配置的具体数据包过滤规则、IoT业务容器450与主机OS 420之间的IPC的网络链路套接字。在一些实施例中,扩展资源约束还可包括主机OS 420不直接支持的资源约束,例如,与连接到主机服务器490的子系统有关的约束。容器管理器431向容器监控器432发送扩展资源约束,向引擎410发送常用资源约束。
容器监控器432用于监控并跟踪IoT业务容器450的扩展资源利用情况。例如,在从容器管理器431收到针对IoT业务容器450的扩展资源约束后,容器监控器432根据扩展资源约束请求资源管理器433为IoT业务容器450预留扩展资源。当IoT业务容器450在运行时,容器监控器432跟踪并监控IoT业务容器450的扩展资源使用情况。容器监控器432还用于与IoT业务客户端440通信。当容器监控器432通过IoT业务客户端440从用户收到请求时,容器监控器432将请求分派给容器管理器431和/或资源管理器433。为了响应请求,容器监控器432还可向用户发送响应。
资源管理器433用于根据容器管理器431确定的扩展资源约束预留来自主机OS420的扩展资源。例如,资源管理器433可通过cgroups分配、优先化并管理资源。资源管理器433将预留的扩展资源(例如,元数据452)提供给IoT业务容器450。当IoT业务容器450在运行时,资源管理器433还可动态地为IoT业务容器450更新资源分配。例如,资源管理器433可将新资源分配增加到IoT业务容器450、修改IoT业务容器450的现有资源分配,和/或删除IoT业务容器450的现有资源分配。
为了启动IoT业务容器450,用户可通过IoT业务客户端440向IoT业务管理器430发送请求。在收到请求后,IoT业务管理器430为IoT业务容器450确定常用资源约束和扩展资源约束,指示引擎410根据常用资源约束创建、构建并启动容器451,例如容器350,并且根据扩展资源约束以元数据452的形式为IoT业务容器450提供扩展资源。如图所示,IoT业务容器450由容器451和元数据452构成。例如,容器A 451具有扩展资源元数据A 452。每个IoT业务容器450提供一个单独的用户空间环境用于执行一个或多个应用,例如应用143和253,并且直接利用主机OS 420提供的OS业务。
或者,用户可通过客户端460向引擎410发送请求。引擎410将请求传送给IoT业务管理器430。类似地,IoT业务管理器430为IoT业务容器450确定常用资源约束和扩展资源约束,并为IoT业务容器450预留扩展资源。引擎410根据常用资源约束创建、构建并启动容器451。容器451接收并利用IoT业务管理器430提供的扩展资源来执行应用。在一些实施例中,当IoT业务容器450在运行时,用户还可请求IoT业务容器450的资源约束更新。为了响应该请求,IoT业务管理器430可以动态地更新从主机OS 420预留的资源并且动态地重配置IoT业务容器450的操作环境。
图5是网元(network element,NE)500的一实施例的示意图。NE 500可充当主机服务器100、200、490和系统300等数据网络或服务器机器中的网络节点。NE 500可用于实施和/或支持本文描述的IoT业务容器创建和部署机制。NE 500可以在单个节点中实施,或者NE 500的功能可以在多个节点中实现。本领域技术人员将认识到术语“NE”包含广泛的设备,NE 500仅仅是示例。NE 500是出于论述清楚的目的,决非旨在将本发明的应用限制在特定NE实施例或某类NE实施例。本发明中描述的至少部分特征和/或方法可以在NE 500等网络装置或模块中实现。例如,本发明中的特征和/或方法可以使用硬件、固件和/或安装在硬件上运行的软件来实现。
如图5所示,NE 500包括耦合到一个或多个存储设备532的处理器530、I/O端口接口510和用户接口520。处理器530可包括一个或多个多核处理器。在一些实施例中,存储设备532可为处理器530的一部分,其中存储设备532可用作数据存储器、缓冲器等。处理器530可实施为通用处理器或可为一个或多个专用集成电路(application specificintegrated circuit,ASIC)和/或数字信号处理器(digital signal processor,DSP)的一部分。处理器530包括IoT业务管理模块533和IoT业务容器处理模块534,其可实施如下文更充分论述的方法600和700,和/或本文论述的任何其它流程图、方案和方法。因此,包含IoT业务管理模块533、IoT业务容器处理模块534和相关方法和系统提供了NE 500的功能改进。此外,IoT业务管理模块533和IoT业务容器处理模块534影响特定物件(例如,NE 500)的状态转变。在一替代性实施例中,IoT业务管理模块533和IoT业务容器处理模块534可实施为存储在存储设备532中、可由处理器530执行的指令。存储设备532可包括用于临时存储内容的缓存,例如,随机存取存储器(random-access memory,RAM)。另外,存储设备532可以包括用于相对长时间地存储内容的长期存储器,例如,只读存储器(read-only memory,ROM)。例如,缓存和长期存储器可包括动态RAM(dynamic RAM,DRAM)、固态驱动器(solid-statedrive,SSD)、硬盘或它们的组合。I/O端口接口510可耦合到I/O设备,例如网络设备和传感器,并可包括用于在I/O设备与NE 500之间传送数据的硬件逻辑和/或组件。用户接口520可耦合到远程服务器,并可包括用于接收用户命令和发送对所收用户命令的响应的硬件逻辑和/或组件。
应理解,通过将可执行指令编程和/或加载到NE 500上,处理器530和/或存储器设备532中的至少一个发生改变,将NE 500的一部分转换成特定机器或装置,例如本发明宣扬的拥有新颖功能的多核转发架构。加载可执行软件至计算机所实现的功能可以通过众所周知的设计规则转换为硬件实施,这在电子工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。通常,仍然频繁改变的设计可优先在软件中实施,因为重新编写硬件实施方式比重新编写软件设计更为昂贵。通常,稳定且将大规模生产的设计更适于在如ASIC这样的硬件中实施,因为对于大规模生产运行,硬件实施比软件实施更便宜。设计通常可通过软件形式进行开发和测试,之后通过众所周知的设计规则转变成ASIC中的等同硬件实施,该ASIC硬连线软件指令。由新ASIC控制的机器是一种特定机器或装置,同样地,已编程和/或加载有可执行指令的计算机可视为一种特定机器或装置。
图6是用于提供IoT业务容器450等业务定义容器的方法600的一实施例的流程图。方法600通过主机服务器490或NE 500等主机服务器实施。具体而言,当IoT业务管理器,例如IoT业务管理器430,收到对IoT业务容器的请求时,该IoT业务管理器实施方法600。IoT业务管理器实施为主机服务器上的处理线程。方法600采用与系统400中描述的类似的容器资源提供和管理机制。在步骤610处,IoT业务管理器接收在主机服务器上创建容器的容器请求。容器请求指示在容器内执行应用的第一资源约束和第二资源约束。
在步骤620处,分析收到的容器请求。例如,将第一资源约束和第二资源约束与容器引擎310和410等容器引擎的容器供应能力进行比较。在步骤630处,基于分析做出第一决定,即,根据第一资源约束,容器引擎允许进行资源分配。例如,第一资源约束可指示特定资源的相对资源共享权重值。在步骤640处,基于分析做出第二决定,即,根据第二资源约束,容器引擎不允许进行资源分配。例如,第二资源约束可指示执行应用所需的资源的绝对量。
在步骤650处,指导容器引擎根据第一资源约束为容器创建操作环境以及在主机服务器上执行容器。在步骤660处,根据第二资源约束从主机服务器的OS,例如OS和主机OS 120、220、420,预留第一资源。在步骤670处,更新容器的操作环境,使容器能够直接利用预留的第一资源执行应用。在一实施例中,操作环境可通过采用钩子来配置,例如采用钩子,这些钩子在容器的生存期中可随时执行以配置容器的环境变量。应注意,容器引擎可以是任何合适类型的容器引擎,OS可以是任何合适类型的OS。在一些实施例中,容器引擎和IoT业务管理器可通过应用编程接口(application programming interface,API)彼此通信。方法600的步骤可按所示顺序实施,或者按本领域普通技术人员所决定的进行配置以实现类似功能。
图7是用于在IoT业务容器450等业务定义容器中执行应用的方法700的一实施例的流程图。方法700通过主机服务器490和NE 500等主机服务器实施。具体而言,方法700由容器实施为在主机服务器上的隔离用户空间中执行的处理线程。在采用与系统400中描述的类似机制创建并启动容器后,实施方法700。在步骤710处,接收对主机服务器的第一物理资源的访问。第一物理资源由主机服务器的OS管理,并可由引擎310和410等容器引擎预留。在步骤720处,接收对主机服务器的第二物理资源的访问。第二物理资源由OS管理并可由IoT业务管理器430等IoT业务管理器从OS预留。第一物理资源和第二物理资源是不同的正交资源。正交资源相互独立并且独立分配。例如,第一物理资源是CPU资源,第二物理资源是I/O带宽。
在一实施例中,第一物理资源包括一个相对量。例如,在主机服务器上执行的每个容器接收通过加权值1024表示的CPU资源的一部分。当执行一个容器时,该容器可收到约百分之百(100%)的CPU资源。当执行两个容器时,每个容器可收到约50%的CPU资源。当执行三个容器时,每个容器可收到约33%的CPU资源。相反,第二物理资源包括一个绝对量。例如,第二资源约束可指定约1吉兆赫(gigahertz,GHz)的I/O带宽。
在步骤730处,通过直接与OS通信以利用第一物理资源和第二物理资源来执行应用。在一些实施例中,当应用在执行时,容器可接收新资源分配、第一物理资源的更新部分和/或第二物理资源的更新部分。
在一示例实施例中,主机服务器接收在主机服务器上创建容器的容器请求,其中该容器请求指示在容器内执行应用的第一资源约束。主机服务器包括接收模块,该接收模块接收采用容器引擎在主机服务器上创建容器的容器请求,其中该容器请求指示在容器内执行应用的第一资源约束和第二资源约束。主机服务器包括指导模块,该指导模块指导容器引擎根据第一资源约束为容器创建操作环境以及在主机服务器上执行容器。主机服务器包括预留模块,该预留模块根据容器请求的第二资源约束从主机服务器的操作系统(operating system,OS)预留第一资源。主机服务器包括更新模块,该更新模块动态更新容器的操作环境以使容器能够直接利用预留的第一资源来执行应用,以便满足容器请求的第二资源约束。在一些实施例中,主机服务器可包括用于执行实施例中描述的任一步骤或步骤组合的其它或附加元件。
在一示例实施例中,主机服务器接收在主机服务器上创建容器的容器请求,其中该容器请求指示在容器内执行应用的第一资源约束。主机服务器包括接收模块,该接收模块接收对主机服务器的第一物理资源的访问,其中第一物理资源由操作系统(operatingsystem,OS)管理。主机服务器包括该接收模块,该接收模块接收对主机服务器的第二物理资源的访问,其中第二物理资源由OS管理。主机服务器包括执行模块,该执行模块通过直接与OS通信以利用第一物理资源和第二物理资源来执行应用,其中第一物理资源和第二物理资源是不同的正交资源。在一些实施例中,主机服务器可包括用于执行实施例中描述的任一步骤或步骤组合的其它或附加元件。
在一示例实施例中,主机服务器接收在主机服务器上创建容器的容器请求,其中该容器请求指示在容器内执行应用的第一资源约束。主机服务器包括接收模块,该接收模块接收采用容器引擎在主机服务器上创建容器的容器请求,其中该容器请求指示在容器内执行应用的第一资源约束和第二资源约束。主机服务器包括指导模块,该指导模块指导容器引擎根据第一资源约束为容器创建操作环境以及在主机服务器上执行容器。主机服务器包括预留模块,该预留模块根据容器请求的第二资源约束从主机服务器的操作系统(operating system,OS)预留第一资源。主机服务器包括更新模块,该更新模块动态更新容器的操作环境以使容器能够直接利用预留的第一资源来执行应用,以便满足容器请求的第二资源约束。在一些实施例中,主机服务器可包括用于执行实施例中描述的任一步骤或步骤组合的其它或附加元件。
在一示例实施例中,主机服务器接收在主机服务器上创建容器的容器请求,其中该容器请求指示在容器内执行应用的第一资源约束。主机服务器包括接收模块,该接收模块接收对主机服务器的第一物理资源的访问,其中第一物理资源由操作系统(operatingsystem,OS)管理。主机服务器包括该接收模块,该接收模块接收对主机服务器的第二物理资源的访问,其中第二物理资源由OS管理。主机服务器包括执行模块,该执行模块通过直接与OS通信以利用第一物理资源和第二物理资源来执行应用,其中第一物理资源和第二物理资源是不同的正交资源。在一些实施例中,主机服务器可包括用于执行实施例中描述的任一步骤或步骤组合的其它或附加元件。
虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间组件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。

Claims (20)

1.一种方法,其特征在于,包括:
在主机服务器上执行的处理线程接收采用容器引擎在所述主机服务器上创建容器的容器请求,其中所述容器请求指示在所述容器内执行应用的第一资源约束和第二资源约束;
所述处理线程指导所述容器引擎根据所述第一资源约束为所述容器创建操作环境以及在所述主机服务器上执行所述容器;
所述处理线程根据所述容器请求的所述第二资源约束从所述主机服务器的操作系统(OS)预留第一资源;以及
所述处理线程动态更新所述容器的所述操作环境以使所述容器能够直接利用所述预留的第一资源来执行所述应用,以便满足所述容器请求的所述第二资源约束。
2.根据权利要求1所述的方法,其特征在于,还包括:所述处理线程分析所述收到的容器请求以根据所述第一资源约束确定所述容器引擎允许进行资源分配,其中,所述第一资源约束指示一个相对资源共享权重值,以及在分析所述容器请求后,指导所述容器引擎创建并启动所述容器。
3.根据权利要求1或2所述的方法,其特征在于,还包括:所述处理线程分析所述容器请求以根据所述第二资源约束确定所述容器引擎不允许进行资源分配,其中所述第二资源约束指示执行所述应用所需的所述资源的绝对量。
4.根据权利要求1或2所述的方法,其特征在于,所述第二资源约束指示输入/输出(I/O)带宽的绝对量。
5.根据权利要求1或2所述的方法,其特征在于,所述第二资源约束指示中央处理器(CPU)资源的绝对量。
6.根据权利要求1或2所述的方法,其特征在于,所述第二资源约束指示一个数据包过滤规则,所述数据包过滤规则用于阻止通过与特定互联网协议(IP)地址有关的容器的流量。
7.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述容器在所述主机服务器上执行时,所述处理线程接收资源修改请求,所述资源修改请求指示更新后的第二资源约束;
所述处理线程根据所述更新后的第二资源约束从所述OS预留第二资源;以及
当所述容器在所述主机服务器上执行时,所述处理线程根据所述预留的第二资源动态更新所述容器的所述操作环境。
8.根据权利要求1或2所述的方法,其特征在于,还包括:当所述容器在所述主机服务器上执行时,所述处理线程监控所述容器的资源利用情况。
9.根据权利要求1或2所述的方法,其特征在于,所述容器请求通过命令行接口(CLI)从客户端接收。
10.根据权利要求1或2所述的方法,其特征在于,所述容器请求是从所述容器引擎接收的。
11.根据权利要求1或2所述的方法,其特征在于,所述容器引擎是引擎,所述OS是OS。
12.一种主机服务器,其特征在于,包括:
输入/输出(,I/O)接口;
用户接口,用于接收在所述主机服务器上创建容器的容器请求,其中所述容器请求指示在所述容器内执行应用的第一资源约束;以及
耦合到所述I/O接口和所述用户接口的处理器,其中所述处理器用于:
根据所述第一资源约束从所述主机服务器的操作系统(OS)预留物理资源的第一部分;以及
为所述容器配置操作环境以直接利用所述物理资源的所述预留的第一部分来执行所述应用,
其中所述第一资源约束包括与所述I/O接口有关的绝对限制,以及
所述第一部分包括所述物理资源的绝对量。
13.根据权利要求12所述的主机服务器,其特征在于,所述绝对限制是所述I/O接口的有保证的传输带宽量。
14.根据权利要求12或13所述的主机服务器,其特征在于,所述容器请求还指示在所述容器内执行所述应用的第二资源约束,所述处理器还用于:
分析所述容器请求,以确定容器引擎未提供所述第一资源约束并且所述容器引擎提供所述第二资源约束;以及
指导所述容器引擎根据所述第二资源约束创建并执行所述容器。
15.根据权利要求12或13所述的主机服务器,其特征在于,所述处理器还用于:
当所述容器在执行时,接收资源更新请求,所述资源更新请求指示更新后的第一资源约束;
根据所述更新后的第一资源约束为所述容器预留所述物理资源的第二部分;以及
当所述容器在执行时,根据所述物理资源的所述第二部分动态更新所述操作环境。
16.一种方法,其特征在于,包括:
在主机服务器的隔离用户空间中执行的处理线程接收对所述主机服务器的第一物理资源的访问,其中所述第一物理资源由操作系统(OS)管理;
所述处理线程接收对所述主机服务器的第二物理资源的访问,其中所述第二物理资源由所述OS管理;以及
所述处理线程通过直接与所述OS通信以利用所述第一物理资源和所述第二物理资源来执行应用,
其中所述第一物理资源和所述第二物理资源是不同的正交资源。
17.根据权利要求16所述的方法,其特征在于,所述第二物理资源包括输入/输出(I/O)带宽的绝对量。
18.根据权利要求16或17所述的方法,其特征在于,所述第二物理资源包括中央处理器(CPU)资源的绝对量。
19.根据权利要求16或17所述的方法,其特征在于,所述第二物理资源用于根据所述容器的数据包过滤规则为数据包提供数据包过滤业务。
20.根据权利要求16或17所述的方法,其特征在于,还包括:当所述应用在执行时,所述处理线程接收所述应用对所述主机服务器的第三物理资源的访问。
CN201580083594.XA 2015-10-23 2015-10-28 业务定义容器的资源约束的扩展 Active CN108139935B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/921,724 US9934073B2 (en) 2015-10-23 2015-10-23 Extension of resource constraints for service-defined containers
US14/921,724 2015-10-23
PCT/CN2015/093103 WO2017067016A1 (en) 2015-10-23 2015-10-28 Extension of resource constraints for service-defined containers

Publications (2)

Publication Number Publication Date
CN108139935A CN108139935A (zh) 2018-06-08
CN108139935B true CN108139935B (zh) 2019-10-22

Family

ID=58556621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580083594.XA Active CN108139935B (zh) 2015-10-23 2015-10-28 业务定义容器的资源约束的扩展

Country Status (4)

Country Link
US (1) US9934073B2 (zh)
EP (1) EP3347816B1 (zh)
CN (1) CN108139935B (zh)
WO (1) WO2017067016A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017167763A (ja) * 2016-03-15 2017-09-21 富士通株式会社 情報処理装置、試験実行方法および試験実行プログラム
US10291706B1 (en) * 2016-03-24 2019-05-14 EMC IP Holding Company LLC Container image distribution acceleration
US11868239B1 (en) * 2016-06-07 2024-01-09 Amazon Technologies, Inc. Non-blocking concurrent work in a transaction generator
CN107851032B (zh) * 2016-06-08 2021-04-02 慧与发展有限责任合伙企业 用于在容器中执行服务的计算装置、系统及方法
US20180004499A1 (en) * 2016-06-30 2018-01-04 Xerox Corporation Method and system for provisioning application on physical machines using operating system containers
CN107797845B (zh) * 2016-09-07 2021-06-15 华为技术有限公司 用于访问容器的方法和装置
US10860536B2 (en) * 2017-01-05 2020-12-08 Portworx, Inc. Graph driver layer management
US10169023B2 (en) * 2017-02-06 2019-01-01 International Business Machines Corporation Virtual container deployment
CN107368339B (zh) * 2017-07-25 2020-06-12 上海携程商务有限公司 容器入口程序运行方法、系统、设备及存储介质
US10459769B2 (en) * 2017-08-04 2019-10-29 Unisys Corporation Elastic container management system
CN107580083B (zh) * 2017-09-20 2020-11-03 北京京东尚科信息技术有限公司 一种容器ip地址分配的方法和系统
US10379841B2 (en) * 2017-10-13 2019-08-13 International Buisness Machines Corporation Facilitating automatic container updating within a container-based environment
CN107894886B (zh) * 2017-11-23 2019-02-19 北京九章云极科技有限公司 一种运行代码的方法、装置及终端设备
CN108200155A (zh) * 2017-12-29 2018-06-22 平安科技(深圳)有限公司 Docker镜像仓库的镜像同步方法和镜像同步系统
KR102106206B1 (ko) * 2018-05-25 2020-04-29 현대오토에버 주식회사 컨테이너 기반의 엣지게이트웨이 및 시스템
CN109144727A (zh) * 2018-08-21 2019-01-04 郑州云海信息技术有限公司 云数据系统中资源的管理方法和装置
CN109450848B (zh) * 2018-09-21 2021-05-25 奇安信科技集团股份有限公司 一种Docker东西向流量入侵防御方法及装置
CN109766197B (zh) * 2018-12-29 2020-12-18 数源科技股份有限公司 一种基于Android系统的4G模块稳定工作方法
EP3722951A1 (en) * 2019-04-08 2020-10-14 Schneider Electric Industries SAS Service deployment in a cluster of i/o devices
CN112199247B (zh) * 2019-07-08 2022-07-01 中国移动通信集团浙江有限公司 一种无业务状态下Docker容器进程活性的检查方法及装置
CN111158855B (zh) * 2019-12-19 2023-06-23 中国科学院计算技术研究所 一种基于微容器及云函数的轻量虚拟化裁剪方法
CN113157428B (zh) * 2020-01-07 2022-04-08 阿里巴巴集团控股有限公司 基于容器的资源调度方法、装置及容器集群管理装置
CN111324421B (zh) * 2020-02-18 2023-04-07 支付宝(杭州)信息技术有限公司 一种容器镜像的提供方法、加载方法及相关设备和系统
US20210266288A1 (en) * 2020-02-21 2021-08-26 Eaton Intelligent Power Limited Devices and methods for operating a power distribution gateway
US11474873B2 (en) * 2020-09-22 2022-10-18 Rockwell Automation Technologies, Inc. Implementing serverless functions using container orchestration systems and operational technology devices
CN112346819A (zh) * 2020-11-06 2021-02-09 无锡江南计算技术研究所 一种面向容器应用的网络服务隔离方法
US20220197701A1 (en) * 2020-12-22 2022-06-23 Red Hat, Inc. Managing resource allocation in a software-defined system
CN113157299B (zh) * 2021-05-18 2022-08-19 北京邮电大学 一种资源配置方法及系统
US12086262B2 (en) * 2021-07-28 2024-09-10 Red Hat, Inc. Secure container image builds
CN114138464B (zh) * 2021-11-10 2023-10-31 浪潮卓数大数据产业发展有限公司 基于容器的端口分配方法及系统
CN114598666A (zh) * 2022-02-24 2022-06-07 阿里巴巴(中国)有限公司 资源处理方法及资源调度方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034526A (zh) * 2012-12-06 2013-04-10 中国电信股份有限公司云计算分公司 一种虚拟化服务的实现方法和装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886021B2 (en) 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US8863141B2 (en) * 2011-12-14 2014-10-14 International Business Machines Corporation Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history
US20130163417A1 (en) * 2011-12-27 2013-06-27 Mitel Networks Corporation Application level admission overload control
US9058198B2 (en) * 2012-02-29 2015-06-16 Red Hat Inc. System resource sharing in a multi-tenant platform-as-a-service environment in a cloud computing system
US8930948B2 (en) * 2012-06-21 2015-01-06 Vmware, Inc. Opportunistically proactive resource management using spare capacity
US9971584B2 (en) * 2012-08-28 2018-05-15 VCE IP Holding Company LLC Packaged application delivery for converged infrastructure
US9619258B2 (en) * 2013-01-21 2017-04-11 International Business Machines Corporation Live virtual machine migration quality of service
US9600312B2 (en) * 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034526A (zh) * 2012-12-06 2013-04-10 中国电信股份有限公司云计算分公司 一种虚拟化服务的实现方法和装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统

Also Published As

Publication number Publication date
US9934073B2 (en) 2018-04-03
EP3347816B1 (en) 2022-02-23
CN108139935A (zh) 2018-06-08
US20170116042A1 (en) 2017-04-27
WO2017067016A1 (en) 2017-04-27
EP3347816A4 (en) 2018-10-31
EP3347816A1 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
CN108139935B (zh) 业务定义容器的资源约束的扩展
JP7092736B2 (ja) コンテナオーケストレーションサービスを使用した動的ルーティング
CN109565515B (zh) 分布式资源管理系统中的动态租户结构调整的系统、设备和过程
US10635664B2 (en) Map-reduce job virtualization
Shiraz et al. A lightweight active service migration framework for computational offloading in mobile cloud computing
US8713096B2 (en) State control of remote hosts for management of distributed applications
US9058198B2 (en) System resource sharing in a multi-tenant platform-as-a-service environment in a cloud computing system
US9690558B2 (en) Orchestrating the lifecycle of multiple-target applications
CN103430150A (zh) 在云计算系统中创建资源的技术
CN110245003A (zh) 一种机器学习单机算法编排系统及方法
Jorissen et al. A high performance scientific cloud computing environment for materials simulations
US20200042356A1 (en) System and Method for Resource Management
Moens et al. Cost-effective feature placement of customizable multi-tenant applications in the cloud
Dolui et al. Towards multi-container deployment on IoT gateways
US20080282242A1 (en) Simulation management within a grid infrastructure
Kehrer et al. TOSCA-based container orchestration on Mesos: two-phase deployment of cloud applications using container-based artifacts
CN113382077A (zh) 微服务调度方法、装置、计算机设备和存储介质
CN113485830A (zh) 一种电网监控系统微服务自动扩容方法
CN114615268A (zh) 基于Kubernetes集群的服务网络、监控节点、容器节点及设备
Tang et al. Application centric lifecycle framework in cloud
Ji Scalability evaluation of the GIPSY runtime system
da Rosa Righi et al. Towards cloud-based asynchronous elasticity for iterative HPC applications
Herlicq et al. Nextgenemo: an efficient provisioning of edge-native applications
CN107967165A (zh) 基于lvm的虚拟机离线迁移方法
CN115202820A (zh) Pod单元的创建方法、装置、设备及存储介质

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