CN107003862A - 动态代码部署和版本化 - Google Patents

动态代码部署和版本化 Download PDF

Info

Publication number
CN107003862A
CN107003862A CN201580053156.9A CN201580053156A CN107003862A CN 107003862 A CN107003862 A CN 107003862A CN 201580053156 A CN201580053156 A CN 201580053156A CN 107003862 A CN107003862 A CN 107003862A
Authority
CN
China
Prior art keywords
code
request
program code
computing system
virtual machine
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.)
Granted
Application number
CN201580053156.9A
Other languages
English (en)
Other versions
CN107003862B (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN107003862A publication Critical patent/CN107003862A/zh
Application granted granted Critical
Publication of CN107003862B publication Critical patent/CN107003862B/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/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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • 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/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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

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

提供一种用于提供动态代码部署和版本化的***。所述***可被配置来接收在虚拟计算***上执行更新的程序代码的第一请求;基于所述第一请求确定所述更新的程序代码是加载到所述虚拟计算***上的虚拟机实例上的现有容器之上的更老的程序代码的更新版本;启动将所述更新的程序代码下载到所述相同的虚拟机实例上的第二容器之上;以及致使所述第一请求由所述现有容器中的所述更老的程序代码进行处理。

Description

动态代码部署和版本化
本申请的申请人在2014年9月30日同时提交以下美国专利申请:
以上提及申请的的公开内容均以引用的方式整体并入本文。
背景
一般来说,计算装置利用通信网络或一系列通信网络进行数据交换。公司和组织操作互连许多计算装置来支持操作或者向第三方提供服务的计算机网络。计算***可位于单一地理位置或者位于多个不同地理位置中(例如,经由私有或公共通信网络互连)。确切地,数据中心或数据处理中心(在本文中总体称之为“数据中心”)可包括多个互连的计算***以向数据中心的用户提供计算资源。数据中心可以是代表某一组织操作的私有数据中心或代表公众或者为了公众的利益操作的公共数据中心。
为了促进数据中心资源的加大利用,虚拟化技术可允许单个物理计算装置托管虚拟机的一个或多个实例,所述虚拟机作为独立计算装置向数据中心的用户展现并操作。利用虚拟化,单个物理计算装置可按照动态方式创建、维护、删除或以其他方式管理虚拟机。进而,用户可从数据中心请求计算机资源,包括单一计算装置或联网计算装置配置,并且可提供用户不同数目的虚拟机资源。
在一些场景中,虚拟机实例可根据多个虚拟机实例类型进行配置以提供特定功能性。例如,各种计算装置可与操作***或操作***配置、虚拟化硬件资源和软件应用的不同组合相关联,以使得计算装置能够提供不同的所希望的功能性,或者更有效地提供类似功能性。这些虚拟机实例类型配置经常包含在装置图像内,所述装置图像包括静态数据,所述静态数据包含虚拟机在被启动时将运行的软件(例如,OS和应用以及它们的配置和数据文件等)。装置图像典型地存储在用来创建或初始化实例的硬盘上。因此,计算装置可处理装置图像以便实现所希望的软件配置。
附图简述
当结合附图参阅以下详细描述时,本公开的上述方面和许多伴随的优点将变得更容易明白,同时变得更好理解,附图中:
图1是描绘根据示例性方面的用于提供低延时计算能力的说明性环境的框图;
图2-图5是例示根据示例性方面的示例性版本化方案的框图;
图6描绘根据示例性方面的提供用于管理虚拟计算***上的代码部署的版本化和部署管理器的计算装置的总体架构;
图7是流程图,其例示根据示例性方面的由部署管理器实现的示例性代码部署例程;
详述
公司和组织不再需要获取并管理它们自己的数据中心以便实行计算操作(例如,执行代码,包括线程、程序、软件、例程、子例程、进程等)。随着云计算的到来,现在可在互联网上以分钟获得并配置传统上由硬件计算装置所提供的存储空间和计算能力。因此,开发者可快速购买所希望数目的计算资源而无需担心获取物理机器。此类计算资源典型地以虚拟计算资源或虚拟机实例的形式购买。这些虚拟机实例(其托管在具有它们自己的操作***和其他软件部件的物理计算装置上)可以与物理计算机相同的方式被利用。
然而,即使在购买虚拟计算资源时,开发者仍不得不决定要购买的虚拟机实例的数量和类型以及持有时间。例如,根据它们租用的类型和小时数,使用虚拟机实例的成本可能不同。另外,虚拟机可被租用的最小时间典型地以小时计。进一步地,开发者不得不指定安装在虚拟机上的硬件和软件资源(例如,操作***类型和语言运行时间等)。它们可能具有的其他问题包括利用过度(例如,获取极少计算资源而面临性能问题)、利用不足(例如,获取比运行代码所需更多的计算资源,并且因此付费过度)、流量变化预测(例如,以使得它们了解何时放大规模或减小规模)以及实例和语言运行时间启动延迟(这可花费3-10分钟或者更长,即使用户可能希望计算能力以秒或者甚至毫秒计)。因此,需要一种允许用户利用由服务提供商提供的虚拟机实例的改进方法。
根据本公开的方面,通过响应于接收代码执行请求而动态部署代码,可显著减小与执行代码(例如,实例和语言运行时间启动时间)相关联的延迟(有时称为延时)。
一般描述地,本公开的方面涉及获取用户代码以及将所述用户代码部署到虚拟计算***(例如,内部存储装置、虚拟机实例和/或其中的容器)上。确切地,公开了有助于管理虚拟机算***内的用户代码的***和方法。虚拟计算***维持其上加载有一个或多个软件部件(例如,操作***、语言运行时间、库等)的虚拟机实例池。所述池中的虚拟机实例可被指派以服务用户请求以执行程度代码。程序代码可在创建在虚拟机实例上的隔离容器中执行。因为所述池中的虚拟机实例已经由特定操作***和语言运行时间启动并加载接收请求的时间,显著减小与找出可处理请求(例如,通过在创建在虚拟机实例上的一个或多个容器中执行用户代码)的计算能力相关联的延迟。
在另一个方面中,虚拟计算***可确定与输入请求相关联的用户代码是已经被加载到虚拟计算***之上的更新版本的代码。基于输入请求的性质以及虚拟计算***的状态,虚拟计算***可确定代码应被放置的地点以及应该用来服务所述请求的代码版本。
本公开的具体实施方案和示例性应用现在将参考附图进行描述。这些实施方案和示例性应用意欲例示而不是限制本公开。
参考图1,将描述例示虚拟环境100的实施方案的框图。图1所示的实例包括虚拟环境100,其中用户计算装置102的用户(例如,开发者等)可使用由虚拟计算***110提供的虚拟计算资源运行各种程序代码。
通过例示,示出与虚拟计算***110通信的各种示例性用户计算装置102,包括台式计算机、膝上型电脑和移动电话。一般地,用户计算装置102可以是任何计算装置,诸如台式电脑、膝上型电脑、移动电话(或智能电话)、平板电脑、信息亭、无线装置和其他电子装置。另外,用户计算装置102可包括在相同或不同数据中心上运行的web服务,其中例如不同的web服务可以编程方式彼此通信以便实行本文所描述的一个或多个技术。进一步地,用户计算装置102可包括物联网(IoT)装置,诸如互联网设施和连接装置。虚拟计算***110可向用户计算装置102提供一个或多个用户界面、命令行界面(CLI)、应用编程界面(API)和/或其他程序设计界面以便于生成和上传用户代码、调用用户代码(例如,提交在虚拟计算***110上执行用户代码的请求)、调度基于事件的作业或基于时间的作业、追踪用户代码、和/或查看与它们的请求和/或用户代码有关的其他日志或监测信息。尽管一个或多个实施方案在本文中可被描述为使用用户界面,但应了解此类实施方案可另外地或可替代地使用任何CLI、API或其他程序设计界面。
用户计算装置102在网络104上访问虚拟计算***110。网络104可以是任何有线网络、无线网络或其组合。另外,网络104可以是个人区域网、局域网、广域网、空中广播网(例如,无线电或电视)、电缆网络、卫星网络、蜂窝电话网络或其组合。例如,网络104可以是可能由各个不同方操作的链接网络的公共可访问网络,诸如互联网。在一些实施方案中,网络104可以是专用或半专用网络,诸如企业或大学内联网。网络104可包括一个或多个无线网络,诸如全球移动通信***(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络或者任何其他类型的无线网络。网络104可使用协议和部件以用于经由互联网或其他前述类型的网络中的任一种进行通信。例如,网络104所使用的协议可包括超文本传输协议(HTTP)、HTTP安全(HTTPS)、消息队列遥测传输(MQTT)、受约束应用协议(CoAP)等等。用于经由互联网或任何其他前述类型的通信网络进行通信的协议和部件对于本领域中的技术人员来说是众所周知的,并且因此不会在本文中更详细地进行描述。
虚拟计算***110在图1中被描绘为在分布式计算环境中操作,所述分布式计算环境包括使用一个或多个计算机网络互连的若干计算机***。虚拟计算***110还可在具有比图1所例示更少或更多数目的装置的计算环境内操作。因此,图1中的虚拟计算***110的描绘应被视为说明性的而不是对本公开的限制。例如,虚拟计算***110或其各种组成可实现各种web服务部件、已托管或“云”计算环境、和/或对等网络配置以便实现本文所描述的进程的至少一部分。
进一步地,虚拟计算***110可实现在硬件和/或软件中并且可例如包括实现在物理计算机硬件上的一个或多个物理或虚拟服务器,所述一个或多个物理或虚拟服务器被配置来执行计算机可执行指令以用于实行本文将描述的各个特征。一个或多个服务器在可以是地理上分散的或者地理上协同定位在例如一个或多个数据中心中。
在图1例示的环境中,虚拟环境100包括虚拟计算***110,所述虚拟计算***110包括前端120、预热池管理器130、工作器管理器140、版本化和部署管理器150和内部数据存储区160。在所描绘的实例中,虚拟机实例(“实例”)152、154示出在由预热池管理器130管理的预热池130A中,并且实例156、158示出在由工作器管理器140管理的活性池140A中。虚拟计算***110内的各个部件的图示在本质上是逻辑的并且所述部件中的一个或多个可由单个计算装置或多个计算装置实现。例如,实例152、154、156、158可实现在各个不同的地理区域中的一个或多个物理计算装置上。类似地,前端120、预热池管理器130、工作器管理器140、版本化和部署管理器150和内部数据存储区160中的每一个可跨多个物理计算装置实现。或者,前端120、预热池管理器130、工作器管理器140、版本化和部署管理器150和内部数据存储区160中的一个或多个可实现在单个物理计算装置上。在一些实施方案中,虚拟计算***110可包括多个前端、多个预热池管理器、多个工作器管理器、多个部署管理器和/或多个内部数据存储区。尽管图1的实例中示出四个虚拟机实例,但本文所描述的实施方案并未被如此限制,并且本领域的技术人员将了解虚拟计算***110可包括使用任何数目的物理计算装置实现的任何数目的虚拟机实例。类似地,尽管图1的实例中示出单个预热池和单个活性池,但本文所描述的实施方案并未被如此限制,并且本领域的技术人员将了解虚拟计算***110可包括任何数目的预热池和活性池。
在图1的实例中,虚拟计算***110被例示为连接到网络104。在一些实施方案中,虚拟计算***110内的部件中的任一个可经由网络104与虚拟环境100的其他部件(例如,用户计算装置102和辅助服务106,所述辅助服务106可包括监测/日志/记账服务107、存储服务108、实例供应服务109、和/或可与虚拟计算***110通信的其他服务)通信。在其他实施方案中,并不是虚拟计算***110的所有部件都能够与虚拟环境100的其他部件通信。在一个实例中,只有前端120可连接到网络104,而虚拟计算***110的其他部件可经由前端120与虚拟环境100的其他部件通信。
用户可使用虚拟计算***110来执行其上的用户代码。例如,用户可希望结合用户已经开发出的web或移动应用运行一段代码。一种运行代码的方法将是从服务提供商获取虚拟机实例,所述服务提供商提供基础设施作为服务、配置虚拟机实例以便符合用户的需求、并且使用经配置虚拟机实例来运行代码。或者,用户可将代码执行请求发送到虚拟计算***110。虚拟计算***110可基于代码执行请求处理计算能力(例如,容器、实例等,其在以下有更详细描述)的获取和配置,并且使用计算能力执行代码。虚拟计算***110可基于体积自动放大规模和减小规模,由此使用户释放不得不担心利用过度(例如,获取极少计算资源并且面临性能问题)或利用不足(例如,获取比运行代码所需更多的计算资源,并且因此付费过度)的负担。
前端120处理在虚拟计算***110上执行用户代码的所有请求。在一些实施方案中,前端120充当去往由虚拟计算***110提供的所有其他服务的前门。前端120处理请求并且确保所述请求被适当授权。例如,前端120可确定与请求相关联的用户是否被授权访问请求中所指定的用户代码。
如本文所使用的用户代码可以是指以具体程序语言书写的任何程序代码(例如,程序、例程、子例程、线程等)。在本公开中,术语“代码”、“用户代码”和“程序代码”可互换使用。这种用户代码可被执行来例如结合由用户开发的特定web应用或移动应用实现特定任务。例如,用户代码可以JavaScript(node.js)、Java、Python和/或Ruby书写。请求可包括用户代码(或其位置)以及用于执行所述用户代码的一个或多个自变量。例如,用户可提供用户代码连同执行所述用户代码的请求。在另一个实例中,请求可通过其名称或其唯一ID识别先前上传的程序代码(例如,使用API以上传代码)。在又一个实例中,代码可被包括在请求中以及在请求由虚拟计算***110接收之前被上传到单独位置(例如,存储服务108或虚拟计算***110内部的存储***)中。虚拟计算***110可基于处理请求时可获得代码的位置改变其代码执行策略。
前端120可响应于来自用户的超文本传输协议安全(HTTPS)请求接收执行此类用户代码的请求。并且,包括在HTTPS请求中的任何信息(例如,标头和参数)也可在执行用户代码时被处理并利用。如以上所论述的,任何其他协议,包括例如HTTP、MQTT和CoAP,可用来将包含代码执行请求的消息传送至前端120。前端120还可在事件被监测到时接收执行此类用户代码的请求,所述事件诸如用户已登记来触发自动请求生成的事件。例如,用户可能已经使用辅助服务106登记用户代码并且规定无论何时发生特定事件(例如,上传新文件),都要将执行用户代码的请求发送到前端120。或者,用户可能已经登记定时作业(例如,每24小时执行用户代码)。在这种实例中,当定时作业的预定时间达到时,执行用户代码的请求可被发送到前端120。在又一个实例中,前端120可具有输入代码执行请求的队列,并且当用户的批量作业从虚拟计算***的工作队列被移除时,前端120可处理用户请求。在又一个实例中,请求可来源于虚拟计算***110内的另一个部件或者图1未例示的其他服务器或服务。
用户请求可指定与用户代码一起使用的一个或多个第三方库(包括本地库)。在一个实施方案中,用户请求是包含用户代码和任何库(和/或其存储位置的标识)的ZIP文件。在一些实施方案中,用户请求包括元数据,所述元数据指示待执行的程序代码、书写程序代码的语言、与请求相关联的用户和/或保留用于执行程序代码的计算资源(例如,存储器等)。例如,程序代码可随请求提供,由用户先前上传,由虚拟计算***110(例如,标准例程)提供,和/或由第三方提供。在一些实施方案中,此类资源水平约束(例如,多少存储器分配用于执行特定用户代码)被指定用于特定用户代码,并且在每次执行用户代码时可能不会改变。在此类情况下,虚拟计算***110可在每个单独请求被接收到之前能够访问此类资源水平约束,并且所述单独请求可能不会指定此类资源水平约束。在一些实施方案中,用户请求可指定其他约束,诸如指示请求具有的用以执行用户代码的许可种类的许可数据。此类许可数据可由虚拟计算***110使用来访问专用资源(例如,专用网络上)。
在一些实施方案中,用户请求可指定应该采用来处理用户请求的行为。在此类实施方案中,用户请求可包括用于实现一个或多个执行模式的指示符,其中待执行与用户请求相关联的用户代码。例如,请求可包括用于指示是否应在调试模式中执行用户代码的标志或标头,其中可结合用户代码的执行生成的调试和/或日志输出被往回提供给用户(例如,经由控制台用户界面)。在这种实例中,虚拟计算***110可检查请求并且查找标志或标头,并且如果存在,那么虚拟计算***110可修改用户代码在其中执行的容器的行为(例如,日志设备)并且致使输出数据往回提供给用户。在一些实施方案中,行为/模式指示符通过由虚拟计算***110提供给用户的用户界面添加到请求。其他特征诸如源代码剖析、远程调试等也可基于请求中提供的指示实现或禁用。
在一些实施方案中,虚拟计算***110可包括多个前端120。在此类实施方案中,负载平衡器可被提供来例如以循环方式将输入请求分配给多个前端120。在一些实施方案中,负载平衡器将输入请求分配给多个前端120的方式可基于预热池130A和/或活性池140A的状态。例如,如果认为预热池130A的容量足够,那么请求可基于前端120的单独容量(例如,基于一个或多个负载平衡限制)被分配给多个前端120。另一方面,如果预热池130A的容量小于阈值量,那么此类负载平衡限制中的一个或多个可被移除,使得请求可以降低或最小化从预热池130A取得的虚拟机实例的数目的方式被分配给多个前端120。例如,即便,根据负载平衡限制,请求将被发送到前端A,如果前端A需要从预热池130A中取出实例以用来服务请求但前端B可使用其活性池中的实例中的一个来服务相同请求,那么所述请求可被发送到前端B。
当虚拟计算***110接收在虚拟计算***110上执行用户代码的请求时,预热池管理器130确保虚拟机实例准备好由工作器管理器140使用。在图1例示的实例中,预热池管理器130管理预热池130A,所述预热池130A是可用来服务输入用户代码执行请求的预初始化和预配置虚拟机实例群(有时称为池)。在一些实施方案中,预热池管理器130致使虚拟机实例在虚拟机算***110内的一个或多个物理计算机器上启动并且被添加到预热池130A。在其他实施方案中,预热池管理器130与辅助服务(例如,图1的实例供应服务109)通信以便创建新的实例并将其添加到预热池130A。在一些实施方案中,预热池管理器130可利用虚拟计算***110内的物理计算装置以及一个或多个虚拟机实例服务两者来获取并维持可用来服务由前端120接收的代码执行请求的计算能力。在一些实施方案中,虚拟计算***110可包括用于控制(例如,增大或减小)预热池130A中的可用容量的一个或多个逻辑旋钮或开关。例如,***管理员可使用这种旋钮或开关来在高峰时间过程中增大预热池130A中的可用容量(例如,预启动实例的数目)。在一些实施方案中,预热池130A中的虚拟机实例可基于预定的配置集合独立于执行用户的代码的特定用户请求来配置。所述预定的配置集合可对应于执行用户代码的各种类型的虚拟机实例。预热池管理器130可基于与当前或先前用户代码执行相关的一个或多个度量来优化预热池130A中虚拟机实例的类型和数目。
如图1所示,实例可具有操作***(OS)和/或其上加载的语言运行时间。例如,由预热池管理器130管理的预热池130A包括实例152、154。实例152包括OS 152A和运行时间152B。实例154包括OS 154A。在一些实施方案中,预热池130A中的实例还可包括容器(所述容器还可包含操作***、运行时间、用户代码等的副本),这在以下有更详细的描述。尽管图1所示的实例152包括单个运行时间,但在其他实施方案中,图1所描绘的实例可包括两个或更多个运行时间,其中每个运行时间可用于运行不同的用户代码。在一些实施方案中,预热池管理器130可维持预热池130A中的实例列表。实例列表可进一步指定实例的配置(例如,OS、运行时间、容器等)。
在一些实施方案中,预热池130A中的虚拟机实例可用来服务任何用户的请求。在一个实施方案中,预热池130A中的所有虚拟机实例以相同或基本类似的方式配置。在另一个实施方案中,预热池130A中的虚拟机实例可以不同方式被配置来符合不同用户的需求。例如,虚拟机实例可具有不同的操作***、不同的语言运行时间和/或其上加载的不同的库。在又一个实施方案中,预热池130A中的虚拟机实例可以(例如,与相同的OS、语言运行时间和/或库)相同或基本类似的方式配置,但是那些实例中的一些可具有不同的容器配置。例如,两个实例可具有用于Python和Ruby两者的运行时间,但一个实例可具有配置来运行Python代码的容器,并且另一个实例可具有配置来运行Ruby代码的容器。在一些实施方案中,提供多个预热池130A,其每个具有相同配置的虚拟机实例。
预热池管理器130可预配置预热池130A中的虚拟机实例,使得每个虚拟机实例被配置来满足通过在虚拟计算***110上执行程序代码的用户请求可请求或指定的操作条件中的至少一个。在一个实施方案中,操作条件可包括***代码可以其书写的程序语言。例如,此类语言可包括Java、JavaScript、Python、Ruby等。在一些实施方案中,用户代码可以其书写的语言集合可局限于预定集合(例如,4种语言的集合,尽管在一些实施方案中提供多于或少于四种语言的集合)以便促进可满足执行用户代码的请求的虚拟机实例的预初始化。例如,当用户正经由虚拟计算***110所提供的用户界面来配置请求时,所述用户界面可提示用户指定预定操作条件中的一个以执行用户代码。在另一个实例中,用于利用虚拟计算***110所提供的服务的服务水平协定(SLA)可指定用户请求应满足的条件集合(例如,编程语言、计算资源等),并且虚拟计算***110在处理请求时可假设所述请求满足所述条件集合。在另一个实例中,请求中所指定的操作条件可包括:用于处理请求的计算能力的量;请求的类型(例如,HTTP对比触发事件);请求的超时(例如,请求在其后可终止的阈值时间);安全策略(例如,可控制预热池130A中的哪些实例可由哪个用户使用);等。
工作器管理器140管理用于服务输入代码执行请求的实例。在图1例示的实例中,工作器管理器140管理活性池140A,所述活性池140A是当前分配给一个或多个用户的虚拟机实例群(有时称为池)。尽管虚拟机实例在本文中被描述为分配给特定用户,但在一些实施方案中,实例可被分配给用户群,使得实例与所述用户群绑定并且所述群中的任何成员可利用实例上的资源。例如,相同群中的用户可属于相同的安全群(例如,基于它们的安全凭证),使得在特定实例上的一个容器中执行一个成员的代码之后在相同实例上的另一个容器中执行另一个成员的代码不会造成安全风险。类似地,工作器管理器140可根据指定哪些请求可在哪些容器中执行以及哪些实例可被分配给哪些用户的一个或多个策略来分配实例和容器。示例性策略可指定实例被分配给共享相同账户(例如,用于访问由虚拟计算***110提供的服务的账户)的用户集合。在一些实施方案中,与相同用户群相关联的请求可共享相同的容器(例如,如果与其相关联的用户代码相同)。在一些实施方案中,请求不会在不同的用户群之间进行区分而仅仅指示与请求相关联的用户所属的群。
在图1例示的实例中,用户代码在被称为容器的隔离的计算***中执行。容器是使用所述实例上可获得的资源在虚拟机实例内创建的逻辑单元。例如,工作器管理器140可基于执行用户代码的请求中指定的信息创建新的容器或者将现有容器定位在活性池140A中的实例中的一个中并且将所述容器分配给请求以便处理与所述请求相关联的用户代码的执行。在一个实施方案中,此类容器被实现为Linux容器。活性池140A中的虚拟机实例可具有其上创建的一个或多个容器并且具有其上加载的(例如,容器中的一个中或者实例的本地缓存中)与用户相关联的一个或多个程序代码。每个容器可具有其中可获得的凭证信息,以使得在容器上执行的用户代码能够访问允许它们访问的任何对应的凭证信息。
如图1所示,实例可具有操作***(OS)、语言运行时间和容器。容器可具有OS和语言运行时间以及其上加载的用户代码的单独副本。在图1的实例中,由工作器管理器140管理的活性池140A包括实例156、158。实例156具有容器156A、156B。容器156A具有OS 156A-1、运行时间156A-2和其中加载的代码156A-3。在所描绘的实例中,容器156A具有其自己的OS、运行时间和其中加载的代码。在一个实施方案中,OS 156A-1(例如,其内核)、运行时间156A-2和/或代码156A-3在容器156A、156B(以及图1未例示的任何其他容器)之间共享。在另一个实施方案中,OS 156A-1(例如,在内核外部运行的任何代码)、运行时间156A-2和/或代码156A-3是创建用于容器156A的独立副本并且不与实例156上的其他容器共享。在又一个实施方案中,OS 156A-1、运行时间156A-2和/或代码156A-3中的一些部分在实例156上的容器之间共享,并且它们的其他部分是容器156A专用的独立副本。实例158包括容器158A、158B以及用于存储在实例158上的容器中的任一个中执行的代码的代码缓存159C。
在图1的实例中,图1所描绘的容器的大小可与容器的实际大小成比例。例如,容器156A可比实例156上的容器156B占用更大的空间。类似地,容器158A、158B可具有相等的大小。实例158中所示的带有标号“C”的虚线框指示实例上可用来创建新的容器的剩余空间。在一些实施方案中,容器的大小可以是64MB或其任何倍数。在其他实施方案中,容器的大小可以是小于或等于容器创建在其中的实例的大小的任何任意大小。在一些实施方案中,容器的大小可以是小于、等于或大于容器创建在其中的实例的大小的任何任意大小。根据可超过的容器大小多少,可基于可利用所述那些容器超过实例所提供的容量的可能性来确定实例的大小。
尽管容器156B、158A内的部件在图1的实例中未例示,但这些容器中的每一个可具有不同的操作***、语言运行时间、库和/或用户代码。在一些实施方案中,实例可具有其上加载的用户代码(例如,在实例水平的缓存诸如代码缓存159C中),并且那些实例内的容器还可具有其中(例如,容器156A)加载的用户代码。在一些实施方案中,工作器管理器140可维持活性池140A中的实例列表。实例列表可进一步指定实例的配置(例如,OS、运行时间、容器等)。在一些实施方案中,工作器管理器140可能够访问预热池130A中的实例列表(例如,包括实例的数目和类型)。在其他实施方案中,工作器管理器140从预热池管理器130请求计算能力而无需了解预热池130A中的虚拟机实例。
在前端120已经成功地处理请求之后,工作器管理器140能够服务在虚拟计算***110上执行用户代码的请求。例如,如果活性池140A中存在具有含加载在其中的相同用户代码(例如,容器156A所示的代码156A-3)的容器的特定虚拟机实例,那么工作器管理器140可将容器分配给请求并且致使所述用户代码在容器中执行。或者,如果用户代码在虚拟机实例中的一个的本地缓存中(例如,存储在实例158的代码缓存159C中但不属于任何单独容器)可获得,那么工作器管理器140可在这种实例上创建新的容器、将所述容器分配给请求、并且致使所述用户代码加载并且在容器中执行。
如果工作器管理器140确定活性池140A中的实例中的任一个上(例如,容器或者实例的本地缓存中)未发现与请求相关联的用户代码,那么工作器管理器140可确定活性池140A中的实例中的任一个当前是否被分配给与所述请求相关联的用户并且是否具有处理当前请求的计算能力。如果存在这种实例,那么工作器管理器140可在实例上创建新的容器并且将所述容器分配给请求。或者,工作器管理器140可进一步配置分配给用户的实例上的现有容器,并且将所述容器分配给请求。例如,如果其上加载有当前用户请求所要求的特定库,那么工作器管理器140可确定现有容器可用来执行用户代码。在这种情况下,工作器管理器140可将特定库和用户代码加载到容器之上并且使用所述容器来执行所述用户代码。
如果活性池140A不包含当前分配给用户的任何实例,那么工作器管理器140从预热池130A中拉出新的虚拟机实例、将所述实例分配给与请求相关联的用户、在实例上创建新的容器、将所述容器分配给请求、以及致使所述用户代码被下载并且在所述容器上执行。
在一些实施方案中,虚拟计算***110被适配成在用户代码被接收(例如,被前端120接收)之后马上开始执行用户代码。可根据启动(例如,与用户相关联的虚拟机实例上的容器中的)用户代码的执行与接收执行所述用户代码的请求(例如,由前端接收)之间的时间差来确定时间段。虚拟计算***110被适配来在小于预定持续时间的时间段内开始执行用户代码。在一个实施方案中,预定持续时间是500ms。在另一个实施方案中,预定持续时间是300ms。在另一个实施方案中,预定持续时间是100ms。在另一个实施方案中,预定持续时间是50ms。在另一个实施方案中,预定持续时间是10ms。在另一个实施方案中,预定持续时间可以是选自10ms至500ms的范围内的任何值。在一些实施方案中,虚拟计算***110被适配来如果满足一个或多个条件那么在小于预定持续时间的时间段内开始执行用户代码。例如,一个或多个条件可包括以下中的任一个:(1)在接收到请求时用户代码被加载在活性池140A中的容器上;(2)在接收到请求时用户代码被存储在活性池140A中的实例的代码缓存中;(3)在接收到请求时活性池140A包含分配给与所述请求相关联的用户的实例;或者(4)在接收到请求时预热池130A具有处理请求的能力。
用户代码可从辅助服务106诸如图1的存储服务108下载。图1例示的数据108A可包括由一个或多个用户上传的用户代码、与此类用户代码相关联的元数据、或者由虚拟计算***110利用来执行本文所描述的一个或多个技术的任何其他数据。尽管图1的实例中仅例示存储服务108,但虚拟环境100可包括用户代码可从其下载的其他水平的存储***。例如,每个实例可具有与容器在其上创建的实例物理地(例如,驻留在实例在其上运行的物理计算***上的本地存储装置)或逻辑地(例如,与实例处于网络通信并且设置在虚拟计算***110内部或外部的网络连接的存储***)相关联的一个或多个存储***。或者,代码可从由存储服务108提供的基于web的数据存储区下载。
当工作器管理器140将虚拟机实例中的一个定位在可用来服务用户代码执行请求的预热池130A中时,预热池管理器130或工作器管理器140从预热池130A中取出实例并且将其分配给与请求相关联的用户。所分配的虚拟机实例被从预热池130A取出并且放置在活性池140A中。在一些实施方案中,当虚拟机实例已经被分配给特定用户时,相同的虚拟机实例不能用来服务任何其他用户的请求。这通过防止可能的用户资源的共混而为用户提供了安全效益。或者,在一些实施方案中,属于不同用户(或者分配给与不同用户相关联的请求)的多个容器可共同存在于单个虚拟机实例上。这种方式可提高可用计算能力的利用率。在一些实施方案中,虚拟计算***110可维持独立的缓存,用户代码被存储在所述独立的缓存中以便充当虚拟机实例的本地缓存与基于web的网络存储装置(例如,可经由网络104访问)之间的中间水平的缓存***。
在用户代码已经被执行之后,工作器管理器140可拆卸用来执行用户代码的容器以便释放其占用的资源以供用于实例中的其他容器。或者,工作器管理器140可保持容器运行以便使用其来服务来自相同用户的附加请求。例如,如果另一个请求与已经被加载在容器中的相同用户代码相关联,那么所述请求可被分配给相同的容器,由此消除与创建新的容器并且在所述容器中加载用户代码相关联的延迟。在一些实施方案中,工作器管理器140可拆卸用来执行用户代码的容器创建在其中的实例。或者,工作器管理器140可保持实例运行以便使用其来服务来自相同用户的附加请求。确定在用户代码完成执行之后是否保持容器和/或实例运行可基于阈值时间、用户类型、用户的平均请求量和/或其他操作条件。例如,在阈值时间已经经过(例如,5分钟、30分钟、1小时、24小时、30天等)而没有任何活动(例如,代码的运行)之后,容器和/或虚拟机实例被关闭(例如,删除、终止等)并且分配给其的资源被释放。在一些实施方案中,在容器被拆卸之前经过的阈值时间小于在实例被拆卸之前经过的阈值时间。
在一些实施方案中,虚拟计算***110可在辅助服务106中的一个或多个服务输入代码执行请求时向其提供数据。例如,虚拟计算***110可与监测/日志/记账服务107通信。监测/日志/记账服务107可包括:用于管理从虚拟计算***110接收的监测信息(诸如虚拟计算***110上的容器和实例的状态)的监测服务;用于管理从虚拟计算***110接收的日志信息(诸如由虚拟计算***110上的容器和实例执行的活动)的日志服务;以及用于(例如,基于由监测服务和日志服务管理的监测信息和/或日志信息)生成与在虚拟计算***110上执行用户代码相关联的记账信息的记账服务。除了可由如上所述的监测/日志/记账服务107(例如,代表虚拟计算***110)执行的***水平活动之外,监测/日志/记账服务107可代表在虚拟计算***110上执行的用户代码提供应用水平服务。例如,监测/日志/记账服务107可监测和/或记录各种输入、输出或者代表在虚拟计算***110上执行的用户代码的其他数据和参数。尽管示出为单个框,但监测、日志和记账服务107可被提供为单独的服务。
在一些实施方案中,工作器管理器140可在由工作器管理器140管理的实例和容器(例如,活性池140A中的那些)上执行健康检查。例如,由工作器管理器140执行的健康检查可包括确定由工作器管理器140管理的实例和容器是否具有以下中的任何问题:(1)配置错误的联网和/或启动配置;(2)耗尽的存储器;(3)毁坏的文件***;(4)不可兼容的内核;和/或可削弱实例和容器的性能的任何其他问题。在一个实施方案中,工作器管理器140周期性地(例如,每5分钟、每30分钟、每小时、每24小时等)执行健康检查。在一些实施方案中,健康检查的频率可基于健康检查的结果自动调整。在其他实施方案中,健康检查的频率可基于用户请求来调整。在一些实施方案中,工作器管理器140可对预热池130A中的实例和/或容器执行类似的健康检查。预热池130A中的实例和/或容器可与活性池140A中的那些实例和容器一起被管理或者被单独管理。在一些实施方案中,在预热池130A中的实例和/或容器的健康与活性池140A单独管理的情况下,预热池管理器130而不是工作器管理器140可对预热池130A中的实例和/或容器执行上述健康检查。
版本化和部署管理器150管理用户代码在虚拟计算***110上的部署。例如,版本化和部署管理器150可与前端120、预热池管理器130、工作器管理器140和/或内部数据存储区160通信以便管理用户代码在任何内部数据存储区、实例水平代码缓存和/或虚拟计算***110上的容器上的部署。尽管版本化和部署管理器150被例示为虚拟计算***110内的不同部件,但版本化和部署管理器150的部分或所有功能可由前端120、预热池管理器130、工作器管理器140和/或内部数据存储区160执行。例如,版本化和部署管理器150可整个被实现在虚拟计算***110的其他部件中的一个内或者以分布式方式跨虚拟计算***110的其他部件实现。在图1的实例中,版本化和部署管理器150包括代码部署数据150A。代码部署数据150A可包括有关输入请求的历史的数据、在虚拟计算***110上执行的用户代码的版本、以及可由版本化和部署管理器150使用来调整和/或优化与输入代码执行请求相关联的用户代码的部署的任何其他度量。代码部署数据150A还可包括由用户指定或者由版本化和部署管理器150确定用于将它们的代码(例如,版本化偏好等)部署在虚拟计算***110上的任何管理策略。
贯穿用户代码的寿命周期,可对代码作出各种更新。在一些实施方案中,版本化和部署管理器150维持在虚拟计算***110上执行的所有用户代码的列表,并且当版本化和部署管理器150确定用户代码中的一个或多个已经被更新时,版本化和部署管理器150致使已更新用户代码(而不是其更老的版本)结合由虚拟计算***110接收的后续代码执行请求使用。例如,当用户使用一个API更新特定用户代码并且使用另一个API作出与所述用户代码相关联的请求时,虚拟计算***110可以编程方式确定应何时用新版本处理与用户代码相关联的请求(例如,基于新版本的大小、活性池130A中更老版本的可获得性等)。在一些实施方案中,请求可包括与请求相关联的用户代码已经被更新的指示。例如,用户可指定代码已经被更新。在另一个实例中,用户可指定他或她希望使用的代码的版本,并且版本化和部署管理器150可针对每个请求确定由用户指定的版本是否不同于可能将在虚拟计算***110上运行的代码的一个或多个版本。在又一个实例中,请求可包括代码所唯一的标识符(例如,创建日期、修改日期、散列值等)。在其他实施方案中,版本化和部署管理器150可基于连同请求一起接收的用户代码自动确定是否已经对用户代码进行任何更新。例如,版本化和部署管理器150可计算代码的散列值或校验和并且确定代码是否不同于可能将在虚拟计算***110上运行的代码的一个或多个版本。
在一些实施方案中,版本化和部署管理器150可使用代码的更老版本致使在用户代码已经被更新之后接收的请求中的一个或多个被服务。例如,当检测到新版本的用户代码时,版本化和部署管理器150可允许在执行更老版本的用户代码中途的任何容器在将新版本加载到那些容器之上之前结束。在一些实施方案中,版本化和部署管理器150允许在将新版本下载到内部数据存储区、特定实例的代码缓存和/或容器上的同时使用更老版本的代码。通过在下载新版本的同时使用更老版本的代码,由于变化所导致的任何延时增加可通过执行请求来覆盖新版本(例如,最新纠正的/请求版本)的获得而得以避免。在一些实施方案中,版本化和部署管理器150可以立即开始将新版本下载到其上加载有更老版本的那些容器上(或在创建了在其上加载有更老版本的那些容器创建所在的实例上的新容器上),在其他实施方案中,版本化和部署管理器150可在那些容器变得闲置之后(例如,当前不执行任何用户代码)将新版本下载其上加载有更老版本的那些容器之上(或者下载到创建在其上加载有更老版本的那些容器创建所在的实例上的新容器之上)。在一些实施方案中,版本化和部署管理器150可确定其下载与特定请求相关联的新版本所花费的时间,并且在下载时间超过阈值时决定使用更老版本服务所述特定请求。在一些实施方案中,版本化和部署管理器150可确定正接收的与代码相关联的请求的数目,并且在一个或多个容器已经加载更老版本、以及在没有足够容器加载更新的版本来服务所有请求时决定使用所述更老版本服务所述请求中的一个或多个。
在一些实施方案中,版本化和部署管理器150基于用户请求确定应多快地将更老版本的代码从虚拟计算***110移除。例如,与代码执行请求相关联的用户可指示更新是次要的并且用户将偏好尽可能低的延时。在这种实例中,版本化和部署管理器150可保持运行更老版本的代码并且逐渐分阶段进入更新的版本中(例如,当运行更老版本的实例已经全部被丢弃或者以其他方式不可用或者不具有处理与代码相关联的所有输入请求的足够能力时)。在另一个实例中,用户可指示更老的版本具有安全漏洞,所述安全漏洞泄露客户的***信息并且所有先前版本的代码应被立即终止。在这种实例中,版本化和部署管理器150可停止和/或终止运行更老版本的代码的任何容器并且立即开始使用更新的版本。
在一些实施方案中,版本化和部署管理器150基于由虚拟计算***110接收的请求量的历史可将在虚拟计算***110上足够频繁地运行的程序代码先行加载到活性池140A中的一个或多个容器之上。在一些实施方案中,如果代码预期以循环方式被执行,那么版本化和部署管理器150致使某些代码维持在容器和/或实例中。例如,如果版本化和部署管理器150确定虚拟计算***110在7PM与8PM小时之间接收请求的90%特定代码,那么版本化和部署管理器150可致使所述特定代码甚至在数小时不活动之后仍维持在容器中。在一些实施方案中,当版本化和部署管理器150检测到新版本时,版本化和部署管理器150可将新版本先行加载到活性池140A或预热池130A中的一个或多个容器之上,即使在接收到与新版本相关联的任何请求之前。
在图1的实例中,版本化和部署管理器150维持用来由一个或多个实例访问的数据存储区的内部数据存储区160。例如,版本化和部署管理器150可将用户代码存储到内部数据存储区160之上,以使得用户代码可在多个实例之间共享。在一些实施方案中,存储在内部数据存储区160上的与此类多个实例(例如,在创建在此类实例上的容器中执行的用户代码)相关的数据保持在内部数据存储区160上以供即使在特定实例被关闭之后由其他实例使用。在一个实例中,将代码从内部数据存储区160下载到容器之上比将相同代码从虚拟计算***110外部的数据存储区(例如,存储服务108)下载到容器之上快超过10倍。在一些实施方案中,内部数据存储区160被分成隔离容器(其可在此类容器之间提供额外的安全性),并且对每个容器的访问权被限制成与其相关联的一个或多个实例。
版本化和部署管理器150可包括代码部署单元,用于分析由虚拟计算***110接收的输入代码执行请求以及确定应获取并部署用户代码的地点和方式。版本化和部署管理器150的示例性配置在以下参考图6更详细地描述。
参考图2-图5,将描述在用户代码已经被更新之后用于处理代码执行请求的示例性版本化方案。在图2的实例中,存储服务106具有其上加载的代码(1)108B(“代码(1)”),并且实例158具有代码缓存158C,其上加载代码(1),以及正忙于执行代码(1)108B的四个容器。实例158中所示的带有标号“C”的虚线框指示实例上可用来创建新的容器的剩余空间。
在图3中,先前存储在存储服务108上的代码(1)已经被更新为代码(2)108C(“代码(2)”)。图3还示出容器中的一个已变得闲置,并且另外三个容器仍忙于执行代码(1)(例如,和与代码(1)相关联的现有请求或者与代码(2)相关联的新请求有关)。例如,三个容器即使在代码已经被更新为代码(2)之后仍会执行现已过时的代码(1),例如以便减小与服务请求相关联的延时。版本化和部署管理器150在此时可已经启动代码(2)的下载。
在图4中,代码(2)已经完成下载到代码缓存159C之上。代码(2)还可被加载到先前闲置的容器和两个新容器之上。前三个容器仍执行代码(1)(例如,使用其上加载的代码(1)服务与代码(2)相关联的新请求)。
图5例示所有容器已经被切换到代码(2)并且运行与输入代码执行请求有关的代码(2)之后的配置。在图5中,在已经确定(例如,基于自代码(1)被更新流逝的时间、或者基于最终停止代码(1)的用户指示)代码(1)不再需要之后,代码(1)还例如由版本化和部署管理器150从代码缓存159C移除。在一些实施方案中,在代码(2)已经被完全引入之后,假设输入代码执行请求的水平不会改变,相同数目的容器(例如,图2-图5的实例中为四个)可能够处理与特定代码相关联的输入代码执行请求,而不管所使用特定代码的版本。
因此,通过即使在代码已经被更新之后使用更老版本的代码继续服务输入代码执行请求,其上加载有所述更老版本的代码的现有容器可被利用来减小与处理代码执行请求相关联的延时。
图6描绘管理用户代码在虚拟计算***110中的部署的计算***(称为版本化和部署管理器150)的总体架构。图6所描绘的版本化和部署管理器150的总体架构包括可用来实现本公开的方面的计算机硬件和软件模块的布置。版本化和部署管理器150可包括比图6所示的那些更多(或更少)的元件。然而,为了提供令人能够实现的公开,没有必要示出所有这些总体常规的元件。如图所示,版本化和部署管理器150包括处理单元190、网络接口192、计算机可读介质驱动器194、输入/输出装置接口196,它们都可借助通信总线彼此通信。网络接口192可提供到一个或多个网络或计算***的连接性。处理单元190因此可通过网络104从其他计算***或服务接收信息和指令。处理单元190还可与存储器180进行往返通信并且进一步通过输入/输出装置接口196向任选的显示器(未示出)提供输出信息。输入/输出装置接口196还可从任选的输入装置(未示出)接受输入。
存储器180可包含处理单元190可执行以便实现本公开的一个或多个方面的计算机程序指令(在一些实施方案中被分组为模块)。存储器180通常包括RAM、ROM和/或其他持久、辅助或非暂时计算机可读介质。存储器180可存储操作***184,所述操作***184提供计算机程序指令以供由处理单元190使用来对版本化和部署管理器150进行一般管理和操作。存储器180还可包括用于实现本公开的方面的计算机程序指令和其他信息。例如,在一个实施方案中,存储器180包括用户界面单元182,所述用户界面单元182生成用户界面(和/或其指令)以便于例如通过导航和/或浏览界面(诸如安装在计算装置上的浏览器或应用)在计算装置上显示。另外,存储器180可包括一个或多个数据仓(未示出)和/或与其通信例如以便访问用户程序代码和/或库。
除了和/或组合用户界面单元182,存储器180可包括可由处理单元190执行的代码部署单元186。在一个实施方案中,用户界面单元182和代码部署单元186单独地或共同地实现本公开的各个方面,例如,分析由虚拟计算***110接收的输入代码执行请求、确定应获取并部署用户代码的地点和方式等,如以下进一步描述。
代码部署单元186分析由虚拟计算***110接收的输入代码执行请求。例如,代码部署单元186可确定与输入请求相关联的用户代码是否是加载在虚拟计算***110的容器中的一个或多个上的更新版本的代码。基于输入请求的性质以及虚拟计算***110的状态,代码部署单元186确定代码应被放置的地点以及哪个代码应该用来服务哪个请求。
虽然代码部署单元186在图6中被示出为版本化和部署管理器150的一部分,但是在其他实施方案中,代码部署单元186的所有或一部分可由虚拟计算***110的其他部件和/或另一个计算装置实现。例如,在本公开的某些实施方案中,与虚拟计算***110通信的另一个计算装置可包括与例示为版本化和部署管理器150的一部分的模块和部件类似地操作的若干模块或部件。
现在转向图7,将描述由虚拟计算***110的一个或多个部件(例如,版本化和部署管理器150)实现的例程700。尽管例程700相对于由版本化和部署管理器150进行的实现进行描述,但相关领域的技术人员将了解替代的部件可实现例程700或者框中的一个或多个可由不同部件或以分布式方式来实现。
在说明性的例程700的框702处,版本化和部署管理器150接收与用户代码相关联的代码执行请求。例如,版本化和部署管理器150可在前端已经对请求执行任何初始处理之后从前端120接收请求。如以上所论述的,请求可指定在虚拟计算***110上执行的代码,以及任何操作条件诸如用于处理请求的计算能力的量、请求的类型(例如,HTTP对比触发事件)、请求的超时(例如,请求在其后可终止的阈值时间)、安全策略(例如,可控制预热池130A中的哪些实例可由哪个用户使用)等。
在框704处,版本化和部署管理器150检测与请求相关联的代码是已经被加载到虚拟计算***110之上的已更新版本的代码。例如,一个或多个容器可具有与其上加载的请求相关联的更老版本的代码。
在框706处,版本化和部署管理器150启动将已更新版本的代码下载到虚拟计算***110之上。例如,版本化和部署管理器150致使已更新版本的代码下载到虚拟计算***110的内部数据存储区(例如,图1的内部数据存储区160)、实例中的一个上的代码缓存(例如,图1的代码缓存158C)、或者创建在虚拟计算***110上的一个或多个容器之上。
在框708处,版本化和部署管理器150致使与已更新版本的代码相关联的代码执行请求由在代码执行请求在框702处被接收之前先前加载在容器中的一个上的更老版本的代码进行处理。
虽然以上已经参考框702-708描述图7的例程700,本文所描述的实施方案并不被如此限制,并且可在不脱离本公开的精神的情况下添加、省略、修改或切换一个或多个框。例如,例程700还可包括框710,在所述框710中版本化和部署管理器150致使与已更新版本的代码相关联的后续代码执行请求由在框706启动的下载已经完成之后加载到容器中的一个上的已更新版本的代码进行处理。
本领域中的技术人员和其他人将了解,本公开中描述的所有功能可在由所公开部件和移动通信装置的一个或多个物理处理器执行的软件中实施。所述软件可永久地存储在任何类型的非易失性存储装置中。
除非另外特别说明,或者在所用上下文中理解,否则诸如“能够”、“可以”、“可能”或者“也许”等等的条件语言通常意图表示,尽管其他实施方案不包括,但某些实施方案包括某些特征、元素和/或步骤。因此,这种条件性语言通常并不意图暗示特征、元素和/或步骤是一个或多个实施方案以任何方式所要求的,或一个或多个实施方案必定包括用于在有或没有用户输入或提示的情况下决定这些特征、元素和/或步骤被包括在任何特定实施方案中或将要在任何特定实施方案中进行的逻辑。
在此所描述和/或附图中描绘的流程图中的任何过程说明、元素或框应当被理解成潜在地代表代码模块、代码片段、或代码的部分,其包括用于在过程中实现特定逻辑功能或步骤的一个或多个可执行指令。替代的实施包括在本文所述实施方案的范围内,其中与本领域中的技术人员所理解的那样相同,元素或功能可以删除、不按照所示出或描述的顺序执行,包括基本上同时执行或者逆序执行,具体取决于所涉及的功能。将进一步了解,上述数据和/或部件可存储在计算机可读介质上并使用与存储计算机可执行部件的计算机可读存储介质(诸如CD-ROM、DVD-ROM或网络接口)相关联的驱动机构加载到计算装置的存储器中。进一步地,部件和/或数据可包含在单个装置中或者以任何方式分布。因此,通用计算装置可被配置来使用上述各种数据和/或部件的处理和/或执行来实现本公开的过程、算法和方法。
应当强调的是,许多变化和修改可能对上述的实施方案作出,其中的元素应当被理解成在其他可接受的实例之中。在本文中,所有这类修改和变化意图被包括在本公开的范围内,并且受所附权利要求书保护。
本公开的实施方案可鉴于以下条款来描述:
1.一种用于从虚拟计算群提供低延时计算能力的***,所述***包括:
电子数据存储区,其被配置来存储至少用户的程序代码;以及
虚拟计算***,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,所述虚拟计算***与所述数据存储区通信,并且被配置来至少:
维持一个或多个物理计算装置上的多个虚拟机实例,其中所述多个虚拟机实例包括:
预热池,其包括虚拟机实例,所述虚拟机实例上加载有一个或多个软件部件并且等待被分配给用户;以及
活性池,其包括当前分配给一个或多个用户的虚拟机实例;
接收在所述虚拟计算***上执行第一程序代码的第一代码执行请求;
基于所述第一代码执行请求确定所述第一程序代码是加载到创建在所述活性池中的所述虚拟机实例的特定实例上的容器之上的更新版本的第二程序代码;
启动将所述第一程序代码下载到所述内部数据存储区、所述特定实例的代码缓存和所述容器中的至少一个之上;以及
使用所述第二程序代码处理所述代码执行请求。
2.如条款1所述的***,其中所述虚拟计算***进一步被配置来:
接收在所述虚拟计算***上执行所述第一程序代码的第二代码执行请求;以及
致使所述第二请求在所述容器执行所述第二程序代码的同时由所述第一程序代码进行处理。
3.如条款1所述的***,其中所述虚拟计算***进一步被配置来:
将所述虚拟计算***的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。
4.一种***,其包括:
虚拟计算***,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,并且被配置来至少:
接收与更新的程序代码相关联的第一请求,
基于所述第一请求确定所述更新的程序代码是先前加载到创建在所述虚拟计算***上的虚拟机实例上的现有容器之上的更老的程序代码的更新版本;
启动将所述更新的程序代码下载到创建在所述虚拟机实例上的新容器、所述虚拟计算***的内部数据存储区以及所述虚拟机实例的代码缓存中的至少一个之上;以及
致使所述第一请求由所述现有容器中的所述更老的程序代码进行处理。
5.如条款4所述的***,其中所述虚拟计算***进一步被配置来:
确定所述更老的程序代码已经被更新;以及
致使所述更新的程序代码在接收到与所述更新的程序代码相关联的任何请求之前被下载到所述虚拟计算***之上。
6.如条款4所述的***,其中所述虚拟计算***进一步被配置来:
接收与所述更新的程序代码相关联的第二请求;以及
致使所述第二请求在所述现有容器执行所述更老的程序代码的同时由所述新容器中的所述更新的程序代码进行处理。
7.如条款4所述的***,其中所述第一请求包括所述更新的程序代码中的同步并不急迫的指示,并且其中所述虚拟计算***进一步被配置来在所述更新的程序代码正被下载的同时使用所述更老的程序代码继续处理与所述更新的程序代码相关联的附加请求。
8.如条款4所述的***,其中所述第一请求包括所述更新的程序代码中的同步急迫的指示,并且其中所述虚拟计算***进一步被配置来防止与所述更新的程序代码相关联的任何附加请求由所述更老的程序代码进行处理。
9.如条款4所述的***,其中所述虚拟计算***包括虚拟机实例的活性池,所述虚拟机实例被配置来在上面创建的一个或多个容器中执行用户代码,并且其中所述虚拟计算***进一步被配置来:
将所述虚拟计算***的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。
10.如条款9所述的***,其中所述内部数据存储区被配置来在所述特定虚拟机实例被终止之后终止所述特定虚拟机实例与所述内部数据存储区上的先前与所述特定虚拟机实例相关联的任何数据之间的关联,同时保留所述内部数据存储区上的所述任何数据。
11.一种计算机实现的方法,其包括:
当由被配置有特定可执行指令的一个或多个计算装置实现时,
接收在虚拟计算***上执行更新的程序代码的第一请求;
基于所述第一请求确定所述更新的程序代码是加载到创建在所述虚拟计算***上的虚拟机实例上的现有容器之上的更老的程序代码的更新版本;
启动将所述更新的程序代码下载到创建在所述虚拟机实例上的新容器、所述虚拟计算***的内部数据存储区以及所述虚拟机实例的代码缓存中的至少一个之上;以及
致使所述第一请求由所述现有容器中的所述更老的程序代码进行处理。
12.如条款11所述的计算机实现的方法,其中所述方法还包括:
确定所述更老的程序代码已经被更新;以及
致使所述更新的程序代码在接收到与所述更新的程序代码相关联的任何请求之前被下载到所述虚拟计算***之上。
13.如条款11所述的计算机实现的方法,其中所述方法还包括:
接收在所述虚拟计算***上执行所述更新的程序代码的第二请求;以及
致使所述第二请求在所述现有容器执行所述更老的程序代码的同时由所述更新的程序代码进行处理。
14.如条款11所述的计算机实现的方法,其中所述第一请求包括所述更新的程序代码中的同步急迫的指示,并且其中所述方法还包括防止与所述更新的程序代码相关联的任何附加请求由所述更老的程序代码进行处理。
15.如条款11所述的计算机实现的方法,其中所述虚拟计算***包括虚拟机实例的活性池,所述虚拟机实例被配置来在上面创建的一个或多个容器中执行用户代码,并且其中所述方法还包括:
将所述虚拟计算***的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。
16.一种存储计算机可执行指令的计算机可读非暂时存储介质,所述程序指令在由一个或多个计算装置执行时配置所述一个或多个计算装置来执行操作,所述操作包括:
接收在虚拟计算***上执行更新的程序代码的第一请求;
基于所述第一请求确定所述更新的程序代码是加载到创建在所述虚拟计算***上的虚拟机实例上的现有容器之上的更老的程序代码的更新版本;
启动将所述更新的程序代码下载到创建在所述虚拟机实例上的新容器、所述虚拟计算***的内部数据存储区以及所述虚拟机实例的代码缓存中的至少一个之上;以及
致使所述第一请求由所述现有容器中的所述更老的程序代码进行处理。
17.如条款16所述的计算机可读非暂时存储介质,其中所述操作还包括:
确定所述更老的程序代码已经被更新;以及
致使所述更新的程序代码在接收到与所述更新的程序代码相关联的任何请求之前被下载到所述虚拟计算***之上。
18.如条款16所述的计算机可读非暂时存储介质,其中所述操作还包括:
接收在所述虚拟计算***上执行所述更新的程序代码的第二请求;以及
致使所述第二请求在所述现有容器执行所述更老的程序代码的同时由所述更新的程序代码进行处理。
19.如条款16所述的计算机可读非暂时存储介质,其中所述第一请求包括所述更新的程序代码中的同步急迫的指示,并且其中所述操作还包括防止与所述更新的程序代码相关联的任何附加请求由所述更老的程序代码进行处理。
20.如条款16所述的计算机可读非暂时存储介质,其中所述虚拟计算***包括虚拟机实例的活性池,所述虚拟机实例被配置来在上面创建的一个或多个容器中执行用户代码,并且其中所述操作还包括:
将所述虚拟计算***的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。

Claims (15)

1.一种用于从虚拟计算群提供低延时计算能力的***,所述***包括:
电子数据存储区,其被配置来存储至少用户的程序代码;以及
虚拟计算***,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,所述虚拟计算***与所述数据存储区通信,并且被配置来至少:
维持一个或多个物理计算装置上的多个虚拟机实例,其中所述多个虚拟机实例包括:
预热池,其包括虚拟机实例,所述虚拟机实例上加载有一个或多个软件部件并且等待被分配给用户;以及
活性池,其包括当前分配给一个或多个用户的虚拟机实例;
接收在所述虚拟计算***上执行第一程序代码的第一代码执行请求;
基于所述第一代码执行请求确定所述第一程序代码是加载到创建在所述活性池中的所述虚拟机实例的特定实例上的容器之上的更新版本的第二程序代码;
启动将所述第一程序代码下载到所述内部数据存储区、所述特定实例的代码缓存和所述容器中的至少一个之上;以及
使用所述第二程序代码处理所述代码执行请求。
2.如权利要求1所述的***,其中所述虚拟计算***进一步被配置来:
接收在所述虚拟计算***上执行所述第一程序代码的第二代码执行请求;以及
致使所述第二请求在所述容器执行所述第二程序代码的同时由所述第一程序代码进行处理。
3.如权利要求1所述的***,其中所述虚拟计算***进一步被配置来:
将所述虚拟计算***的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。
4.一种***,其包括:
虚拟计算***,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,并且被配置来至少:
接收与更新的程序代码相关联的第一请求,
基于所述第一请求确定所述更新的程序代码是先前加载到创建在所述虚拟计算***上的虚拟机实例上的现有容器之上的更老的程序代码的更新版本;
启动将所述更新的程序代码下载到创建在所述虚拟机实例上的新容器、所述虚拟计算***的内部数据存储区以及所述虚拟机实例的代码缓存中的至少一个之上;以及
致使所述第一请求由所述现有容器中的所述更老的程序代码进行处理。
5.如权利要求4所述的***,其中所述虚拟计算***进一步被配置来:
确定所述更老的程序代码已经被更新;以及
致使所述更新的程序代码在接收到与所述更新的程序代码相关联的任何请求之前被下载到所述虚拟计算***之上。
6.如权利要求4所述的***,其中所述虚拟计算***进一步被配置来:
接收与所述更新的程序代码相关联的第二请求;以及
致使所述第二请求在所述现有容器执行所述更老的程序代码的同时由所述新容器中的所述更新的程序代码进行处理。
7.如权利要求4所述的***,其中所述第一请求包括所述更新的程序代码中的同步并不急迫的指示,并且其中所述虚拟计算***进一步被配置来在所述更新的程序代码正被下载的同时使用所述更老的程序代码继续处理与所述更新的程序代码相关联的附加请求。
8.如权利要求4所述的***,其中所述第一请求包括所述更新的程序代码中的同步急迫的指示,并且其中所述虚拟计算***进一步被配置来防止与所述更新的程序代码相关联的任何附加请求由所述更老的程序代码进行处理。
9.如权利要求4所述的***,其中所述虚拟计算***包括虚拟机实例的活性池,所述虚拟机实例被配置来在其上创建的一个或多个容器中执行用户代码,并且其中所述虚拟计算***进一步被配置来:
将所述虚拟计算***的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。
10.如权利要求9所述的***,其中所述内部数据存储区被配置来在所述特定虚拟机实例被终止之后终止所述特定虚拟机实例与所述内部数据存储区上的先前与所述特定虚拟机实例相关联的任何数据之间的关联,同时保留所述内部数据存储区上的所述任何数据。
11.一种计算机实现的方法,其包括:
当由被配置有特定可执行指令的一个或多个计算装置实现时,
接收在虚拟计算***上执行更新的程序代码的第一请求;
基于所述第一请求确定所述更新的程序代码是加载到创建在所述虚拟计算***上的虚拟机实例上的现有容器之上的更老的程序代码的更新版本;
启动将所述更新的程序代码下载到创建在所述虚拟机实例上的新容器、所述虚拟计算***的内部数据存储区以及所述虚拟机实例的代码缓存中的至少一个之上;以及
致使所述第一请求由所述现有容器中的所述更老的程序代码进行处理。
12.如权利要求11所述的计算机实现的方法,其中所述方法还包括:
确定所述更老的程序代码已经被更新;以及
致使所述更新的程序代码在接收到与所述更新的程序代码相关联的任何请求之前被下载到所述虚拟计算***之上。
13.如权利要求11所述的计算机实现的方法,其中所述方法还包括:
接收在所述虚拟计算***上执行所述更新的程序代码的第二请求;以及
致使所述第二请求在所述现有容器执行所述更老的程序代码的同时由所述更新的程序代码进行处理。
14.如权利要求11所述的计算机实现的方法,其中所述第一请求包括所述更新的程序代码中的同步急迫的指示,并且其中所述方法还包括防止与所述更新的程序代码相关联的任何附加请求由所述更老的程序代码进行处理。
15.如权利要求11所述的计算机实现的方法,其中所述虚拟计算***包括虚拟机实例的活性池,所述虚拟机实例被配置来在其上创建的一个或多个容器中执行用户代码,并且其中所述方法还包括:
将所述虚拟计算***的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。
CN201580053156.9A 2014-09-30 2015-09-29 动态代码部署和版本化 Active CN107003862B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/502,620 US9715402B2 (en) 2014-09-30 2014-09-30 Dynamic code deployment and versioning
US14/502,620 2014-09-30
PCT/US2015/052833 WO2016053968A1 (en) 2014-09-30 2015-09-29 Dynamic code deployment and versioning

Publications (2)

Publication Number Publication Date
CN107003862A true CN107003862A (zh) 2017-08-01
CN107003862B CN107003862B (zh) 2020-08-04

Family

ID=55584497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580053156.9A Active CN107003862B (zh) 2014-09-30 2015-09-29 动态代码部署和版本化

Country Status (6)

Country Link
US (2) US9715402B2 (zh)
EP (1) EP3201762B1 (zh)
JP (1) JP6363796B2 (zh)
CN (1) CN107003862B (zh)
CA (1) CA2962631C (zh)
WO (1) WO2016053968A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108415828A (zh) * 2018-01-23 2018-08-17 广州视源电子科技股份有限公司 程序测试方法、装置、可读存储介质和计算机设备
CN108958930A (zh) * 2018-06-19 2018-12-07 北京百度网讯科技有限公司 容器资源的处理方法、装置及设备
CN111552541A (zh) * 2020-04-30 2020-08-18 北京思特奇信息技术股份有限公司 通过命令桥工厂实现调度的方法、***及计算机存储介质
CN111930411A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 代码升级方法、装置、计算机设备和存储介质
CN113272825A (zh) * 2018-11-21 2021-08-17 亚马逊技术有限公司 通过模拟进行的强化学习模型训练
CN113301004A (zh) * 2020-06-17 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、通信方法和单网卡虚拟机
CN113906392A (zh) * 2019-09-27 2022-01-07 茨特里克斯***公司 用于提供不同版本的虚拟应用的***和方法

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9256467B1 (en) 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9471775B1 (en) 2015-02-04 2016-10-18 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
CN107922903B (zh) * 2015-09-03 2021-12-10 狮王株式会社 衣料用液体洗涤剂
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
WO2017091116A1 (en) * 2015-11-26 2017-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Balancing processing loads of virtual machines
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9811363B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9830175B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US11194572B2 (en) * 2016-02-22 2021-12-07 International Business Machines Corporation Managing external feeds in an event-based computing system
US10270841B1 (en) * 2016-03-04 2019-04-23 Quest Software Inc. Systems and methods of real-time container deployment
US10127030B1 (en) 2016-03-04 2018-11-13 Quest Software Inc. Systems and methods for controlled container execution
US10140159B1 (en) 2016-03-04 2018-11-27 Quest Software Inc. Systems and methods for dynamic creation of container manifests
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10289457B1 (en) 2016-03-30 2019-05-14 Quest Software Inc. Systems and methods for dynamic discovery of container-based microservices
CN107329797B (zh) * 2016-04-28 2020-09-18 华为技术有限公司 一种实例弹性伸缩方法、实例管理模块以及计算设备
US10341409B2 (en) * 2016-05-09 2019-07-02 International Business Machines Corporation Software version control without affecting a deployed container
US10069869B2 (en) 2016-05-17 2018-09-04 Amazon Technologies, Inc. Versatile autoscaling
US10713072B1 (en) * 2016-06-27 2020-07-14 Amazon Technologies, Inc. Computing resource provisioning
US9952896B2 (en) 2016-06-28 2018-04-24 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US9977691B2 (en) 2016-06-29 2018-05-22 Amazon Technologies, Inc. Adjusting variable limit on concurrent code executions based on communication between frontends
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10733591B2 (en) * 2016-10-11 2020-08-04 International Business Machines Corporation Tiered model for event-based serverless computing
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US10346189B2 (en) * 2016-12-05 2019-07-09 Red Hat, Inc. Co-locating containers based on source to improve compute density
CN106789250B (zh) * 2016-12-22 2018-09-18 焦点科技股份有限公司 一种基于容器的服务多版本共存实现方法
US10216615B2 (en) * 2017-06-30 2019-02-26 Sap Se Debuggable instance code in a cloud-based instance platform environment
US10459769B2 (en) * 2017-08-04 2019-10-29 Unisys Corporation Elastic container management system
US10871987B1 (en) * 2017-09-28 2020-12-22 Amazon Technologies, Inc. Distributed execution of tasks on client devices
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10747599B2 (en) * 2018-05-21 2020-08-18 Red Hat, Inc. Secure backwards compatible orchestration of isolated guests
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11232172B2 (en) * 2018-12-04 2022-01-25 Sap Se Collaborative web application and data system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US10997192B2 (en) 2019-01-31 2021-05-04 Splunk Inc. Data source correlation user interface
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US10754638B1 (en) 2019-04-29 2020-08-25 Splunk Inc. Enabling agile functionality updates using multi-component application
US11194564B1 (en) 2019-04-29 2021-12-07 Splunk Inc. Maintaining compatibility in a multi-component application
WO2020231841A1 (en) * 2019-05-10 2020-11-19 Kontain Inc. Scalable and secure containers
US10911558B1 (en) * 2019-05-15 2021-02-02 Pivotal Software, Inc. On-demand network segmentation
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
CN110365783B (zh) * 2019-07-18 2022-10-21 深圳市网心科技有限公司 文件部署方法及装置、网络节点及存储介质
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11151125B1 (en) 2019-10-18 2021-10-19 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11625281B2 (en) * 2020-02-03 2023-04-11 International Business Machines Corporation Serverless platform request routing
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11269876B1 (en) 2020-04-30 2022-03-08 Splunk Inc. Supporting graph data structure transformations in graphs generated from a query to event data
US11915024B2 (en) * 2020-07-16 2024-02-27 International Business Machines Corporation Pool management for in-vehicle device application startup
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data
US20220066765A1 (en) * 2020-09-03 2022-03-03 Banque Nationale Du Canada Systems and methods for executing dynamic code in a software container
US11256493B1 (en) 2020-11-03 2022-02-22 Bank Of America Corporation Container image optimizer
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11704096B2 (en) * 2021-08-11 2023-07-18 Bank Of America Corporation Monitoring application code usage for improved implementation of reusable code
US11822907B2 (en) 2021-08-11 2023-11-21 Bank Of America Corporation Reusable code management for improved deployment of application code
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US11977652B2 (en) 2021-12-07 2024-05-07 Evernorth Strategic Development, Inc. Secure compartmented access infrastructure for sensitive databases
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution
WO2023248282A1 (ja) * 2022-06-20 2023-12-28 日本電信電話株式会社 コンテナ基盤クラスタのアップデート方法、コンテナ基盤クラスタのアップデートシステム、更新管理装置、及びアップデート制御プログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132368A1 (en) * 1999-10-21 2005-06-16 Harlan Sexton Using a virtual machine instance as the basic unit of user execution in a server environment
US20080201711A1 (en) * 2007-02-15 2008-08-21 Amir Husain Syed M Maintaining a Pool of Free Virtual Machines on a Server Computer
US20090198769A1 (en) * 2008-02-01 2009-08-06 Microsoft Corporation Virtual Application Server With Version Control
US20110153838A1 (en) * 2009-12-18 2011-06-23 Microsoft Corporation Session monitoring of virtual desktops in a virtual machine farm
US20120192184A1 (en) * 2009-12-18 2012-07-26 International Business Machines Corporation Virtual image deployment with a warm cache
US20120197958A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Parallel Serialization of Request Processing
US20130179574A1 (en) * 2012-01-09 2013-07-11 Microsoft Corportaion Assignment of resources in virtual machine pools
US20140282615A1 (en) * 2013-03-15 2014-09-18 Mark Cavage Versioning schemes for compute-centric object stores

Family Cites Families (400)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949254A (en) 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5283888A (en) 1991-08-27 1994-02-01 International Business Machines Corporation Voice processing interface unit employing virtual screen communications for accessing a plurality of primed applications
US5970488A (en) 1997-05-05 1999-10-19 Northrop Grumman Corporation Real-time distributed database system and method
JPH1153326A (ja) 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
US6463509B1 (en) 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
US6523035B1 (en) 1999-05-20 2003-02-18 Bmc Software, Inc. System and method for integrating a plurality of disparate database utilities into a single graphical user interface
US6708276B1 (en) 1999-08-03 2004-03-16 International Business Machines Corporation Architecture for denied permissions in Java
US20050027610A1 (en) 1999-08-26 2005-02-03 Wharton Brian K. Electronic commerce systems and methods providing unified checkout steps
DE10048942B4 (de) * 1999-12-01 2008-07-03 International Business Machines Corp. Verfahren und System zur Wartung von Software über ein Netz
US20040098154A1 (en) 2000-10-04 2004-05-20 Mccarthy Brendan Method and apparatus for computer system engineering
US8719326B2 (en) 2003-08-18 2014-05-06 S.F. Ip Properties 14 Llc Adaptive data transformation engine
JP2002287974A (ja) * 2001-03-26 2002-10-04 Ricoh Co Ltd アプリケーションプログラムの登録制御及び起動制御に係る方法及び該制御装置
US7009939B2 (en) 2001-05-21 2006-03-07 Lucent Technologies Inc. Adaptive resource management in a communication system
JP2004536405A (ja) * 2001-07-16 2004-12-02 ユキング レン 組み込みソフトウェア更新システム
US7028030B2 (en) 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US7594182B2 (en) 2001-10-12 2009-09-22 National Insturments Corporation Dynamic and user-defined events for a graphical program
US7174566B2 (en) 2002-02-01 2007-02-06 Intel Corporation Integrated network intrusion detection
US20030229794A1 (en) 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US7228354B2 (en) 2002-06-28 2007-06-05 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
US8527636B2 (en) 2002-12-02 2013-09-03 Sap Aktiengesellschaft Session-return enabling stateful web applications
US7774191B2 (en) * 2003-04-09 2010-08-10 Gary Charles Berkowitz Virtual supercomputer
US20050193113A1 (en) 2003-04-14 2005-09-01 Fujitsu Limited Server allocation control method
US20040249947A1 (en) * 2003-05-22 2004-12-09 Hewlett-Packard Development Company, L.P. Concurrent cluster environment
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US20050044301A1 (en) 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US8776050B2 (en) 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7441244B2 (en) 2003-12-10 2008-10-21 International Business Machines Corporation Workload scheduler with cumulative weighting indexes
US7743029B2 (en) 2003-12-30 2010-06-22 Sap Ag Log configuration and online deployment services
US20050193283A1 (en) 2003-12-30 2005-09-01 Reinhardt Steven K. Buffering unchecked stores for fault detection in redundant multithreading systems using speculative memory support
US7665090B1 (en) 2004-03-08 2010-02-16 Swsoft Holdings, Ltd. System, method, and computer program product for group scheduling of computer resources
US7565661B2 (en) 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7587721B2 (en) 2004-05-20 2009-09-08 Sap Ag Sharing objects in runtime systems
US7359834B2 (en) 2004-08-13 2008-04-15 Sun Microsystems, Inc. Monitoring system-calls to identify runaway processes within a computer system
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
JP2006107599A (ja) 2004-10-04 2006-04-20 Sekisui Chem Co Ltd 光ディスク
US20060129684A1 (en) 2004-11-10 2006-06-15 Chutney Technologies, Inc. Apparatus and method for distributing requests across a cluster of application servers
US8321554B2 (en) 2004-12-17 2012-11-27 International Business Machines Corporation System and program to automatically identify a server on which to deploy an application
FR2881854B1 (fr) 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
EP2362310B1 (en) 2005-03-16 2017-10-04 III Holdings 12, LLC Automatic workload transfer to an on-demand center
US20060242647A1 (en) 2005-04-21 2006-10-26 Kimbrel Tracy J Dynamic application placement under service and memory constraints
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US7707579B2 (en) 2005-07-14 2010-04-27 International Business Machines Corporation Method and system for application profiling for purposes of defining resource requirements
WO2007022454A2 (en) 2005-08-18 2007-02-22 The Trustees Of Columbia University In The City Of New York Systems, methods, and media protecting a digital data processing device from attack
US7730464B2 (en) 2005-09-14 2010-06-01 Microsoft Corporation Code compilation management service
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP4650203B2 (ja) * 2005-10-20 2011-03-16 株式会社日立製作所 情報システム及び管理計算機
US7756972B2 (en) 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
US7861237B2 (en) 2005-12-07 2010-12-28 Microsoft Corporation Reducing unnecessary software transactional memory operations on newly-allocated data
US7725574B2 (en) 2006-01-23 2010-05-25 International Business Machines Corporation Web browser-based programming language error determination and reporting
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7818798B2 (en) 2006-02-03 2010-10-19 Microsoft Corporation Software system with controlled access to objects
US20070220009A1 (en) 2006-03-15 2007-09-20 Morris Robert P Methods, systems, and computer program products for controlling access to application data
US7716446B1 (en) 2006-04-27 2010-05-11 Vmware, Inc. System and method for cooperative virtual machine memory scheduling
US9754265B2 (en) 2006-05-01 2017-09-05 At&T Intellectual Property I, L.P. Systems and methods to automatically activate distribution channels provided by business partners
US8046765B2 (en) 2006-07-25 2011-10-25 Hewlett-Packard Development Company, L.P. System and method for determining allocation of resource access demands to different classes of service based at least in part on permitted degraded performance
US8209695B1 (en) 2006-07-28 2012-06-26 Hewlett-Packard Development Company, L.P. Reserving resources in a resource-on-demand system for user desktop utility demand
US7823186B2 (en) 2006-08-24 2010-10-26 Novell, Inc. System and method for applying security policies on multiple assembly caches
CA2557343C (en) 2006-08-28 2015-09-22 Ibm Canada Limited-Ibm Canada Limitee Runtime code modification in a multi-threaded environment
US7996855B2 (en) 2006-09-15 2011-08-09 Oracle International Corporation Personal messaging application programming interface for integrating an application with groupware systems
US20150052258A1 (en) 2014-09-29 2015-02-19 Weaved, Inc. Direct map proxy system and protocol
US8161475B2 (en) 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US8010990B2 (en) 2006-10-26 2011-08-30 Intel Corporation Acceleration of packet flow classification in a virtualized system
US8185893B2 (en) 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US8584109B2 (en) 2006-10-27 2013-11-12 Microsoft Corporation Virtualization for diversified tamper resistance
US8315171B2 (en) 2006-10-31 2012-11-20 Oracle America, Inc. Adaptive management of computing resources
US7644204B2 (en) 2006-10-31 2010-01-05 Hewlett-Packard Development Company, L.P. SCSI I/O coordinator
US8112747B2 (en) 2006-11-27 2012-02-07 Sap Ag Integrated software support for a distributed business application with seamless backend communications
CN101196974B (zh) 2006-12-06 2011-08-24 国际商业机器公司 用于软件应用程序的自动配置的方法和***
WO2008077628A2 (en) * 2006-12-22 2008-07-03 Virtuallogix Sa System for enabling multiple execution environments to share a device
US8554981B2 (en) * 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US8065682B2 (en) 2007-02-27 2011-11-22 Microsoft Corporation Enforcing system resource usage limits on query requests based on grouping query requests into workgroups and assigning workload groups to resource pools
JP5018133B2 (ja) 2007-02-27 2012-09-05 富士通株式会社 ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
WO2008114454A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited 更新システム、プログラム実行装置及びコンピュータプログラム
US8065676B1 (en) 2007-04-24 2011-11-22 Hewlett-Packard Development Company, L.P. Automated provisioning of virtual machines for a virtual machine buffer pool and production pool
US8219987B1 (en) 2007-08-24 2012-07-10 Vmware, Inc. Optimized virtual machine specification for provisioning application specific runtime environment
US8051266B2 (en) 2007-06-11 2011-11-01 International Business Machines Corporation Automatic memory management (AMM)
US8161476B2 (en) 2007-07-04 2012-04-17 International Business Machines Corporation Processor exclusivity in a partitioned system
US8074229B2 (en) 2007-07-18 2011-12-06 Sap Ag Co-execution of objects from divergent runtime environments
US20090055810A1 (en) 2007-08-21 2009-02-26 Nce Technologies Inc. Method And System For Compilation And Execution Of Software Codes
US8397236B2 (en) 2007-08-24 2013-03-12 Virtualmetrix, Inc. Credit based performance managment of computer systems
US8171473B2 (en) * 2007-08-31 2012-05-01 International Business Machines Corporation Method and apparatus for determining a service cluster topology based on static analysis
US7827299B2 (en) 2007-09-11 2010-11-02 International Business Machines Corporation Transitioning between historical and real time data streams in the processing of data change messages
US8402472B2 (en) 2007-09-14 2013-03-19 International Business Machines Corporation Network management system event notification shortcut
US8738567B2 (en) * 2007-09-28 2014-05-27 Xcerion Aktiebolag Network file system with enhanced collaboration features
US8166304B2 (en) 2007-10-02 2012-04-24 International Business Machines Corporation Support for multiple security policies on a unified authentication architecture
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8127284B2 (en) 2007-10-16 2012-02-28 Microsoft Corporation On-demand loading of types of software code of a program executing on a computing device
US8566835B2 (en) 2007-12-13 2013-10-22 Hewlett-Packard Development Company, L.P. Dynamically resizing a virtual machine container
US20110040812A1 (en) 2007-12-20 2011-02-17 Virtual Computer, Inc. Layered Virtual File System
US8156503B2 (en) 2008-02-12 2012-04-10 International Business Machines Corporation System, method and computer program product for accessing a memory space allocated to a virtual machine
US7886021B2 (en) 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US8473594B2 (en) 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
US8424082B2 (en) 2008-05-08 2013-04-16 Google Inc. Safely executing an untrusted native code module on a computing device
US20090300599A1 (en) 2008-05-30 2009-12-03 Matthew Thomas Piotrowski Systems and methods of utilizing virtual machines to protect computer systems
JP5120121B2 (ja) 2008-07-15 2013-01-16 コニカミノルタビジネステクノロジーズ株式会社 中継サーバ、中継方法および中継プログラム
JP5157717B2 (ja) 2008-07-28 2013-03-06 富士通株式会社 仮想バッテリを備えた仮想マシンシステムおよび仮想バッテリを備えた仮想マシンシステム用プログラム
US20100036925A1 (en) 2008-08-07 2010-02-11 Tactara, Llc Alias management platforms
US8307177B2 (en) * 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
GB2475011B (en) 2008-09-09 2013-06-26 Kace Networks Inc Deployment and management of virtual containers
US9098698B2 (en) 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US20100070678A1 (en) 2008-09-12 2010-03-18 Vmware, Inc. Saving and Restoring State Information for Virtualized Computer Systems
US9798560B1 (en) 2008-09-23 2017-10-24 Gogrid, LLC Automated system and method for extracting and adapting system configurations
US9141381B2 (en) 2008-10-27 2015-09-22 Vmware, Inc. Version control environment for virtual machines
US9176786B2 (en) 2008-11-04 2015-11-03 Novell, Inc. Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function
US20100131959A1 (en) 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US8214795B2 (en) 2008-11-26 2012-07-03 Optumsoft, Inc. Efficient automated translation of procedures in constraint-based language
US8336079B2 (en) 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US8769206B2 (en) 2009-01-20 2014-07-01 Oracle International Corporation Methods and systems for implementing transcendent page caching
US8775544B2 (en) 2009-02-04 2014-07-08 Citrix Systems, Inc. Methods and systems for dynamically switching between communications protocols
US8336049B2 (en) 2009-02-05 2012-12-18 Vmware, Inc. Virtual machine utility computing method and system
JP5419500B2 (ja) 2009-03-12 2014-02-19 キヤノン株式会社 プログラムおよび情報処理装置
WO2010116676A1 (ja) * 2009-03-30 2010-10-14 日本電気株式会社 サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム
US8321558B1 (en) 2009-03-31 2012-11-27 Amazon Technologies, Inc. Dynamically monitoring and modifying distributed execution of programs
US9563866B2 (en) 2009-04-06 2017-02-07 Accenture Global Services Limited Estimating a computing job complexity
US8291416B2 (en) 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
US8955108B2 (en) 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US8140668B2 (en) 2009-06-24 2012-03-20 Red Hat Israel, Ltd. Pre-scheduling the timelines of virtual machines
US8799879B2 (en) 2009-06-30 2014-08-05 Oracle America, Inc. Method and apparatus for protecting translated code in a virtual machine
CA2674402C (en) 2009-07-31 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Optimizing on demand allocation of virtual machines using a stateless preallocation pool
US8271653B2 (en) 2009-08-31 2012-09-18 Red Hat, Inc. Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
US8769083B2 (en) 2009-08-31 2014-07-01 Red Hat, Inc. Metering software infrastructure in a cloud computing environment
US8448165B1 (en) 2009-09-15 2013-05-21 Symantec Corporation System and method for logging operations of virtual machines
US8276139B2 (en) 2009-09-30 2012-09-25 International Business Machines Corporation Provisioning virtual machine placement
US8412856B2 (en) 2009-10-26 2013-04-02 Sony Computer Entertainment America Llc. File input/output scheduler using immediate data chunking
US9086922B2 (en) 2009-10-26 2015-07-21 Microsoft Technology Licensing, Llc Opportunistically scheduling and adjusting time slices
US8875128B2 (en) 2009-11-30 2014-10-28 Red Hat Israel, Ltd. Controlling permissions in virtualization environment using hierarchical labeling
US8311032B2 (en) 2009-12-03 2012-11-13 International Business Machines Corporation Dynamically provisioning virtual machines
US8924571B2 (en) 2009-12-14 2014-12-30 Citrix Systems, Imc. Methods and systems for providing to virtual machines, via a designated wireless local area network driver, access to data associated with a connection to a wireless local area network
US8924569B2 (en) 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
US20110154353A1 (en) 2009-12-22 2011-06-23 Bmc Software, Inc. Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US9805322B2 (en) * 2010-06-24 2017-10-31 Bmc Software, Inc. Application blueprint and deployment model for dynamic business service management (BSM)
JP5282046B2 (ja) 2010-01-05 2013-09-04 株式会社日立製作所 計算機システム及びその可用化方法
US9021046B2 (en) 2010-01-15 2015-04-28 Joyent, Inc Provisioning server resources in a cloud resource
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8478878B2 (en) 2010-03-11 2013-07-02 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
US8271814B2 (en) 2010-03-22 2012-09-18 Microsoft Corporation Migrating a client computer to a virtual machine server when the client computer is deemed to be idle
US8413142B2 (en) 2010-03-30 2013-04-02 Citrix Systems, Inc. Storage optimization selection within a virtualization environment
US9229783B2 (en) 2010-03-31 2016-01-05 International Business Machines Corporation Methods and apparatus for resource capacity evaluation in a system of virtual containers
US8627426B2 (en) 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8713565B2 (en) 2010-04-28 2014-04-29 International Business Machines Corporation Automated tuning in a virtual machine computing environment
US9461996B2 (en) 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
US8869300B2 (en) 2010-05-10 2014-10-21 Citrix Sytems, Inc. Redirection of information from secure virtual machines to unsecure virtual machines
US9239909B2 (en) 2012-01-25 2016-01-19 Bromium, Inc. Approaches for protecting sensitive data within a guest operating system
JP5513997B2 (ja) * 2010-06-07 2014-06-04 日本電信電話株式会社 通信システムおよび通信システム更新方法
US8656387B2 (en) 2010-06-17 2014-02-18 Gridcentric Inc. Method and system for workload distributing and processing across a network of replicated virtual machines
US8719415B1 (en) 2010-06-28 2014-05-06 Amazon Technologies, Inc. Use of temporarily available computing nodes for dynamic scaling of a cluster
US20120016721A1 (en) 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US8612413B2 (en) 2010-08-12 2013-12-17 Cdnetworks Co., Ltd. Distributed data cache for on-demand application acceleration
US8490088B2 (en) 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
JP5476261B2 (ja) 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
US8694400B1 (en) 2010-09-14 2014-04-08 Amazon Technologies, Inc. Managing operational throughput for shared resources
JP5653151B2 (ja) 2010-09-17 2015-01-14 キヤノン株式会社 クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法、および管理アプリケーション
US8661120B2 (en) 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity
US8661076B2 (en) 2010-09-23 2014-02-25 Salesforce.Com, Inc. Business networking information feed alerts
JP5706529B2 (ja) 2010-09-30 2015-04-22 アマゾン テクノロジーズ インコーポレイテッド 専用実装リソースを用いる仮想リソース費用追跡
EP2629197B1 (en) 2010-10-12 2019-09-11 Fujitsu Limited Simulation device, method, and program
US9069610B2 (en) 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
US8607054B2 (en) 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
US8904190B2 (en) 2010-10-20 2014-12-02 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting sensitive code and data
US9753713B2 (en) * 2010-10-22 2017-09-05 Microsoft Technology Licensing, Llc Coordinated upgrades in distributed systems
JP2014038364A (ja) 2010-10-27 2014-02-27 Hitachi Ltd リソース管理サーバ、リソース管理方法及びリソース管理プログラム
US9645839B2 (en) 2010-10-27 2017-05-09 Microsoft Technology Licensing, Llc Stateful applications operating in a stateless cloud computing environment
US8756696B1 (en) 2010-10-30 2014-06-17 Sra International, Inc. System and method for providing a virtualized secure data containment service with a networked environment
US8959220B2 (en) * 2010-11-02 2015-02-17 International Business Machines Corporation Managing a workload of a plurality of virtual servers of a computing environment
US9253016B2 (en) * 2010-11-02 2016-02-02 International Business Machines Corporation Management of a data network of a computing environment
US9081613B2 (en) * 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
US20120151479A1 (en) 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US8713566B2 (en) * 2011-01-31 2014-04-29 International Business Machines Corporation Method and system for delivering and executing virtual container on logical partition of target computing device
US8555281B1 (en) 2011-02-16 2013-10-08 Google Inc. Scheduling of tasks based upon historical execution times
US9141410B2 (en) 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
US9552215B2 (en) 2011-03-08 2017-01-24 Rackspace Us, Inc. Method and system for transferring a virtual machine
US8886937B2 (en) 2011-03-11 2014-11-11 Resource Interactive, Llc PCI DSS compliant proxy service
US8429282B1 (en) 2011-03-22 2013-04-23 Amazon Technologies, Inc. System and method for avoiding system overload by maintaining an ideal request rate
US8910156B1 (en) 2011-04-29 2014-12-09 Netapp, Inc. Virtual machine dependency
US20140129667A1 (en) 2011-06-14 2014-05-08 Nec Corporation Content delivery system, controller and content delivery method
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
FR2977116A1 (fr) 2011-06-27 2012-12-28 France Telecom Procede de fourniture de service d'execution de logiciel a la demande
CN103620552A (zh) * 2011-06-29 2014-03-05 惠普发展公司,有限责任合伙企业 采用动态操作***容器的应用迁移
KR101507919B1 (ko) 2011-07-01 2015-04-07 한국전자통신연구원 가상 데스크탑 서비스를 위한 방법 및 장치
US8671407B2 (en) 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
US8819679B2 (en) * 2011-07-28 2014-08-26 International Business Machines Corporation Methods and systems for on-boarding applications to a cloud
US8533715B2 (en) 2011-08-09 2013-09-10 International Business Machines Corporation Virtual machine management
US9152405B2 (en) 2011-08-22 2015-10-06 International Business Machines Corporation Rapid provisioning of virtual machines based on multi-dimensional user request patterns in a cloud
WO2013029051A2 (en) 2011-08-25 2013-02-28 to fuVIRTUSTREAM, INC. Systems and methods of host-aware resource management involving cluster-based resource pools
US9516368B2 (en) 2011-08-25 2016-12-06 At&T Intellectual Property I, L.P. System for consolidating heterogeneous data centers through virtualization of services
US8898676B2 (en) * 2011-08-26 2014-11-25 Vmware, Inc. Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships
US8635607B2 (en) 2011-08-30 2014-01-21 Microsoft Corporation Cloud-based build service
US8832035B2 (en) 2011-08-30 2014-09-09 Netapp, Inc. System and method for retaining deduplication in a storage object after a clone split operation
US8863082B2 (en) 2011-09-07 2014-10-14 Microsoft Corporation Transformational context-aware data source management
JP5740257B2 (ja) * 2011-09-08 2015-06-24 株式会社日立ソリューションズ OSGiプログラム、OSGiシステム
US8578394B2 (en) 2011-09-09 2013-11-05 Microsoft Corporation Exempting applications from suspension
US8825863B2 (en) 2011-09-20 2014-09-02 International Business Machines Corporation Virtual machine placement within a server farm
US8825964B1 (en) 2011-09-26 2014-09-02 Emc Corporation Adaptive integration of cloud data services with a data storage system
WO2013048986A1 (en) 2011-09-26 2013-04-04 Knoa Software, Inc. Method, system and program product for allocation and/or prioritization of electronic resources
US9497136B1 (en) 2011-09-28 2016-11-15 Emc Corporation Method and system for providing usage metrics to manage utilzation of cloud computing resources
DE102012217202B4 (de) 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US8914515B2 (en) 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
US9213503B2 (en) 2011-10-30 2015-12-15 Hewlett-Packard Development Company, L.P. Service provider management of virtual instances corresponding to hardware resources managed by other service providers
US9003141B2 (en) 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
WO2013073504A1 (ja) 2011-11-15 2013-05-23 独立行政法人科学技術振興機構 プログラム解析・検証サービス提供システム、その制御方法、制御プログラム、コンピュータを機能させるための制御プログラム、プログラム解析・検証装置、プログラム解析・検証ツール管理装置
EP2783284B1 (en) * 2011-11-22 2019-03-13 Solano Labs, Inc. System of distributed software quality improvement
US8924954B2 (en) * 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
TW201322022A (zh) 2011-11-24 2013-06-01 Alibaba Group Holding Ltd 分散式資料流處理方法及其系統
US8826277B2 (en) 2011-11-29 2014-09-02 International Business Machines Corporation Cloud provisioning accelerator
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US8769519B2 (en) * 2011-12-08 2014-07-01 Microsoft Corporation Personal and pooled virtual machine update
US8694995B2 (en) 2011-12-14 2014-04-08 International Business Machines Corporation Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment
US9609020B2 (en) 2012-01-06 2017-03-28 Optio Labs, Inc. Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
US20130179894A1 (en) 2012-01-09 2013-07-11 Microsoft Corporation Platform as a service job scheduling
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US20130185729A1 (en) 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US9223607B2 (en) 2012-01-17 2015-12-29 Microsoft Technology Licensing, Llc System for replicating or migrating virtual machine operations log by throttling guest write iOS based on destination throughput
US9208007B2 (en) 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers
US8789047B2 (en) 2012-01-26 2014-07-22 Empire Technology Development Llc Allowing world switches between virtual machines via hypervisor world switch security setting
US9262238B2 (en) 2012-01-31 2016-02-16 Red Hat, Inc. Connection management for an application in a computing platform
US9110728B2 (en) 2012-01-31 2015-08-18 Vmware, Inc. Elastic allocation of computing resources to software applications
US9053029B2 (en) 2012-02-06 2015-06-09 Empire Technology Development Llc Multicore computer system with cache use based adaptive scheduling
TWI459296B (zh) 2012-02-21 2014-11-01 Hon Hai Prec Ind Co Ltd 增加伺服器的虛擬機配置數量的方法
US20130227710A1 (en) 2012-02-27 2013-08-29 Computer Associates Think, Inc. System and method for securing leased images in a cloud environment
US9720668B2 (en) 2012-02-29 2017-08-01 Red Hat, Inc. Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system
US9047133B2 (en) 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US9009734B2 (en) 2012-03-06 2015-04-14 Autodesk, Inc. Application level speculative processing
US8725702B1 (en) 2012-03-15 2014-05-13 Symantec Corporation Systems and methods for repairing system files
US9026658B2 (en) 2012-03-28 2015-05-05 Microsoft Technology Licensing, Llc Enhanced computer cluster operation using resource allocation requests
US20130263117A1 (en) 2012-03-28 2013-10-03 International Business Machines Corporation Allocating resources to virtual machines via a weighted cost ratio
US8997093B2 (en) 2012-04-17 2015-03-31 Sap Se Application installation management by selectively reuse or terminate virtual machines based on a process status
US9462081B2 (en) 2012-04-17 2016-10-04 Igt Cloud based virtual environment validation
US9256413B2 (en) 2012-04-17 2016-02-09 Sap Se Automatic identification of services
US9183019B2 (en) 2012-04-25 2015-11-10 Empire Technology Development Llc Certification for flexible resource demand applications
US8918510B2 (en) 2012-04-27 2014-12-23 Hewlett-Packard Development Company, L. P. Evaluation of cloud computing services
US8955091B2 (en) 2012-04-30 2015-02-10 Zscaler, Inc. Systems and methods for integrating cloud services with information management systems
WO2013165369A1 (en) 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. Automated event management
US8843935B2 (en) * 2012-05-03 2014-09-23 Vmware, Inc. Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine
GB2501757A (en) 2012-05-04 2013-11-06 Ibm Instrumentation of software applications for configuration thereof
DK2663052T3 (da) 2012-05-09 2021-04-12 Netflix Inc API Platform, der indbefatter serverudført, klientbaseret kode
US9098528B2 (en) 2012-05-15 2015-08-04 Hitachi, Ltd. File storage system and load distribution method
US8850432B2 (en) 2012-05-30 2014-09-30 Red Hat, Inc. Controlling utilization in a multi-tenant platform-as-a-service (PaaS) environment in a cloud computing system
US8799236B1 (en) 2012-06-15 2014-08-05 Amazon Technologies, Inc. Detecting duplicated content among digital items
US9317689B2 (en) 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
US8782632B1 (en) * 2012-06-18 2014-07-15 Tellabs Operations, Inc. Methods and apparatus for performing in-service software upgrade for a network device using system virtualization
US9342326B2 (en) 2012-06-19 2016-05-17 Microsoft Technology Licensing, Llc Allocating identified intermediary tasks for requesting virtual machines within a trust sphere on a processing goal
US9141432B2 (en) 2012-06-20 2015-09-22 International Business Machines Corporation Dynamic pending job queue length for job distribution within a grid environment
US8959484B2 (en) 2012-06-21 2015-02-17 Microsoft Corporation System for hosted, shared, source control build
US8869157B2 (en) * 2012-06-21 2014-10-21 Breakingpoint Systems, Inc. Systems and methods for distributing tasks and/or processing recources in a system
US8832820B2 (en) 2012-06-25 2014-09-09 International Business Machines Corporation Isolation and security hardening among workloads in a multi-tenant networked environment
US20140007097A1 (en) 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
US9152443B2 (en) * 2012-07-13 2015-10-06 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing
US9396008B2 (en) * 2012-07-13 2016-07-19 Ca, Inc. System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts
US9298497B2 (en) 2012-07-13 2016-03-29 Wisconsin Alumni Research Foundation Computer processor providing exception handling with reduced state storage
US8972956B2 (en) * 2012-08-02 2015-03-03 International Business Machines Corporation Application deployment in heterogeneous environments
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US20140059552A1 (en) 2012-08-24 2014-02-27 International Business Machines Corporation Transparent efficiency for in-memory execution of map reduce job sequences
US9110844B2 (en) 2012-08-27 2015-08-18 Microsoft Technology Licensing, Llc State maintenance as a service
US8978035B2 (en) 2012-09-06 2015-03-10 Red Hat, Inc. Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US9507586B2 (en) * 2012-10-05 2016-11-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual machine based controller and upgrade mechanism
US20140108558A1 (en) 2012-10-12 2014-04-17 Citrix Systems, Inc. Application Management Framework for Secure Data Sharing in an Orchestration Framework for Connected Devices
US9081682B2 (en) 2012-10-15 2015-07-14 Red Hat Israel, Ltd. Virtual machine installation image caching
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US20160019536A1 (en) 2012-10-17 2016-01-21 Royal Bank Of Canada Secure processing of data
US9600316B2 (en) 2012-10-17 2017-03-21 Microsoft Technology Licensing, Llc Augmented allocation of virtual machines for application
US9229759B2 (en) 2012-10-17 2016-01-05 Microsoft Technology Licensing, Llc Virtual machine provisioning using replicated containers
US9262212B2 (en) 2012-11-02 2016-02-16 The Boeing Company Systems and methods for migrating virtual machines
EP2916600B1 (en) 2012-11-05 2019-01-30 Lg Electronics Inc. Method and apparatus for generating synchronous signal in wireless access system for supporting super-high frequency band
US9038068B2 (en) 2012-11-15 2015-05-19 Bank Of America Corporation Capacity reclamation and resource adjustment
CN104583971B (zh) 2012-11-19 2017-07-14 株式会社日立制作所 管理***和管理方法
US9052935B1 (en) 2012-11-27 2015-06-09 Symantec Corporation Systems and methods for managing affinity rules in virtual-machine environments
US9092837B2 (en) 2012-11-29 2015-07-28 International Business Machines Corporation Use of snapshots to reduce risk in migration to a standard virtualized environment
US9363367B2 (en) 2012-12-05 2016-06-07 Future Dial, Inc. Using automatically collected device problem information to route and guide users' requests
US9052932B2 (en) 2012-12-17 2015-06-09 International Business Machines Corporation Hybrid virtual machine configuration management
US9086902B2 (en) 2012-12-18 2015-07-21 International Business Machines Corporation Sending tasks between virtual machines based on expiration times
US9063795B2 (en) 2012-12-19 2015-06-23 International Business Machines Corporation Adaptive resource usage limits for workload management
US9459856B2 (en) * 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
US9384517B2 (en) 2013-03-14 2016-07-05 Google Inc. Rendering
US9304793B2 (en) 2013-01-16 2016-04-05 Vce Company, Llc Master automation service
US8886769B2 (en) 2013-01-18 2014-11-11 Limelight Networks, Inc. Selective content pre-warming in content delivery networks based on user actions and content categorizations
US9329888B2 (en) 2013-01-28 2016-05-03 International Business Machines Corporation Computing optimized virtual machine allocations using equivalence combinations
US9575798B2 (en) 2013-02-25 2017-02-21 Hitachi, Ltd. Method of managing tenant network configuration in environment where virtual server and non-virtual server coexist
US9336031B2 (en) 2013-02-27 2016-05-10 International Business Machines Corporation Managing allocation of hardware resources in a virtualized environment
US9027087B2 (en) 2013-03-14 2015-05-05 Rackspace Us, Inc. Method and system for identity-based authentication of virtual machines
US8677359B1 (en) 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US9910896B2 (en) 2013-03-15 2018-03-06 Cisco Technology, Inc. Suspending and resuming continuous queries over data streams
US10430332B2 (en) 2013-03-25 2019-10-01 Salesforce.Com, Inc. System and method for performance tuning of garbage collection algorithms
EP2984590A4 (en) 2013-04-13 2017-01-04 Kiss Digital Media Pty. Ltd. Methods, systems, apparatus, products, articles and data structures for cross-platform digital content
US9329881B2 (en) 2013-04-23 2016-05-03 Sap Se Optimized deployment of data services on the cloud
US9929916B1 (en) 2013-05-02 2018-03-27 Aspen Technology, Inc. Achieving stateful application software service behavior in distributed stateless systems
US10572124B2 (en) 2013-05-20 2020-02-25 Citrix Systems, Inc. Bound based contextual zoom
US9110732B1 (en) 2013-06-07 2015-08-18 Amazon Technologies, Inc. Proxy for injecting configuration information
US9489227B2 (en) 2013-06-10 2016-11-08 Electronics And Telecommunications Research Institute Apparatus and method for virtual desktop service
US9141461B2 (en) 2013-06-23 2015-09-22 Intel Corporation Machine check architecture execution environment for non-microcoded processor
US9652617B1 (en) 2013-06-25 2017-05-16 Amazon Technologies, Inc. Analyzing security of applications
EP3028210B1 (en) 2013-08-02 2020-01-08 OLogN Technologies AG Secure server in a system with virtual machines
US9990499B2 (en) 2013-08-05 2018-06-05 Netflix, Inc. Dynamic security testing
US9111037B1 (en) 2013-08-21 2015-08-18 Ca, Inc. Method and apparatus to enable mainframe computer testing for software testing management platform
US20150074659A1 (en) 2013-09-06 2015-03-12 Vmware, Inc. Methods and Apparatus to Perform Web-Based Installations and/or Upgrade Architectures for Enterprise Software
US9298633B1 (en) 2013-09-18 2016-03-29 Emc Corporation Adaptive prefecth for predicted write requests
US20150106805A1 (en) 2013-10-15 2015-04-16 Cisco Technology, Inc. Accelerated instantiation of cloud resource
US10193963B2 (en) 2013-10-24 2019-01-29 Vmware, Inc. Container virtual machines for hadoop
CA2928729C (en) 2013-11-13 2023-08-08 Evident.io, Inc. Automated sdk ingestion
US9298485B2 (en) 2013-11-19 2016-03-29 International Business Machines Corporation Maintaining virtual machines for cloud-based operators in a streaming application in a ready state
US9417918B2 (en) 2013-11-20 2016-08-16 International Business Machines Corporation Computing session workload scheduling and management of parent-child tasks
CN104142858B (zh) 2013-11-29 2016-09-28 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
US9164754B1 (en) 2013-12-18 2015-10-20 Amazon Technologies, Inc. Runtime patching of native-code programs
US9477507B2 (en) 2013-12-20 2016-10-25 Vmware, Inc. State customization of forked virtual machines
US9501345B1 (en) 2013-12-23 2016-11-22 Intuit Inc. Method and system for creating enriched log data
US10809866B2 (en) 2013-12-31 2020-10-20 Vmware, Inc. GUI for creating and managing hosts and virtual machines
CN104765620B (zh) * 2014-01-02 2018-01-26 国际商业机器公司 一种程序模块部署的方法和***
EP2894564A1 (en) 2014-01-10 2015-07-15 Fujitsu Limited Job scheduling based on historical job data
US10218703B2 (en) 2014-01-20 2019-02-26 Hewlett-Packard Development Company, L.P. Determining a permission of a first tenant with respect to a second tenant
US10296362B2 (en) 2014-02-26 2019-05-21 Red Hat Israel, Ltd. Execution of a script based on properties of a virtual device associated with a virtual machine
US9110770B1 (en) 2014-03-04 2015-08-18 Amazon Technologies, Inc. Assessing quality of code in an open platform environment
US9632835B2 (en) 2014-03-17 2017-04-25 Ca, Inc. Deployment of virtual machines to physical host machines based on infrastructure utilization decisions
EP3120282B1 (en) 2014-03-18 2019-07-31 British Telecommunications public limited company User authentication
JP2015210718A (ja) 2014-04-28 2015-11-24 富士通株式会社 記憶制御装置、ストレージシステム、および記憶制御プログラム
US9223966B1 (en) 2014-05-04 2015-12-29 Symantec Corporation Systems and methods for replicating computing system environments
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9678778B1 (en) 2014-05-07 2017-06-13 Google Inc. Virtual cluster as a service (VCIaaS)
US9250893B2 (en) 2014-05-14 2016-02-02 Western Digital Technologies, Inc. Virtualized and automated software build system
US9213840B2 (en) 2014-05-15 2015-12-15 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization, hypervisor, APIs of interest, and/or other features
US9525893B2 (en) 2014-05-28 2016-12-20 Verizon Patent And Licensing Inc. Methods and systems for managing storage of media program copies within a network digital video recording system
US9703681B2 (en) 2014-05-29 2017-07-11 Microsoft Technology Licensing, Llc Performance optimization tip presentation during debugging
US9390260B2 (en) 2014-06-09 2016-07-12 Lehigh University Methods for enforcing control flow of a computer program
US9361102B2 (en) 2014-06-09 2016-06-07 Lehigh University Methods for enforcing control flow of a computer program
US9218176B1 (en) * 2014-06-13 2015-12-22 International Business Machines Corporation Software deployment in a distributed virtual machine environment
US20150371244A1 (en) 2014-06-23 2015-12-24 Ca, Inc. Forecasting information technology workload demand
US10432699B2 (en) 2014-06-26 2019-10-01 Vmware, Inc. Crowd-sourced operational metric analysis of virtual appliances
US9424065B2 (en) 2014-06-26 2016-08-23 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools
US9361145B1 (en) 2014-06-27 2016-06-07 Amazon Technologies, Inc. Virtual machine state replication using DMA write records
US9483299B2 (en) 2014-06-30 2016-11-01 Bmc Software, Inc. Capacity risk management for virtual machines
US20150378762A1 (en) 2014-06-30 2015-12-31 Vmware, Inc. Monitoring and dynamic configuration of virtual-machine memory-management
US20160294614A1 (en) 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US10545947B2 (en) 2014-07-14 2020-01-28 Oracle International Corporation Message personalization over multiple internet messaging campaigns
US20160026486A1 (en) 2014-07-25 2016-01-28 Soft Machines, Inc. An allocation and issue stage for reordering a microinstruction sequence into an optimized microinstruction sequence to implement an instruction set agnostic runtime architecture
US9875121B2 (en) 2014-09-17 2018-01-23 International Business Machines Corporation API server
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9652273B2 (en) 2014-10-02 2017-05-16 Vmware, Inc. Method and system for creating a hierarchy of virtual machine templates in a virtualized computing system
TWI537827B (zh) 2014-10-06 2016-06-11 第五代虛擬科技股份有限公司 應用軟體試用系統、方法及其伺服器與使用者裝置
US9501420B2 (en) 2014-10-22 2016-11-22 Netapp, Inc. Cache optimization technique for large working data sets
US9930133B2 (en) 2014-10-23 2018-03-27 Netapp, Inc. System and method for managing application performance
US10133495B2 (en) 2014-11-04 2018-11-20 Rubrik, Inc. Converged search and archival system
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9864636B1 (en) 2014-12-10 2018-01-09 Amazon Technologies, Inc. Allocating processor resources based on a service-level agreement
US9661011B1 (en) 2014-12-17 2017-05-23 Amazon Technologies, Inc. Techniques for data routing and management using risk classification and data sampling
US20160191420A1 (en) 2014-12-27 2016-06-30 Intel Corporation Mitigating traffic steering inefficiencies in distributed uncore fabric
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9471775B1 (en) 2015-02-04 2016-10-18 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9921864B2 (en) 2015-02-26 2018-03-20 Vmware, Inc. Dynamic host performance tuning of a network stack
US9965309B2 (en) 2015-03-23 2018-05-08 Empire Technology Development Llc Virtual machine placement
US9632846B2 (en) 2015-04-02 2017-04-25 Microsoft Technology Licensing, Llc Complex event processor for historic/live/replayed data
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US20160350099A1 (en) 2015-05-29 2016-12-01 Hewlett Packard Enterprise Development Lp Application deployment to virtual machines
US9612865B2 (en) 2015-06-15 2017-04-04 International Business Machines Corporation Managed services coordinator
US10481982B2 (en) 2015-06-16 2019-11-19 Mongodb, Inc. System and method for facilitating replication in a distributed database
US9921885B2 (en) 2015-06-19 2018-03-20 Vmware, Inc. Resource management for containers in a virtualized environment
US9880837B2 (en) * 2015-06-24 2018-01-30 Vmware, Inc. Artifact manager for release automation
US11429442B2 (en) 2015-06-29 2022-08-30 Vmware, Inc. Parallel and distributed computing using multiple virtual machines
US10235209B2 (en) 2015-08-28 2019-03-19 Vmware, Inc. Hybrid task framework
US10007710B2 (en) 2015-09-21 2018-06-26 Splunk Inc. Adaptive control of data collection requests sent to external data sources
CN106548262B (zh) 2015-09-21 2020-11-06 阿里巴巴集团控股有限公司 用于处理任务的资源的调度方法、装置和***
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9830175B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US9811363B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9787779B2 (en) 2015-12-21 2017-10-10 Amazon Technologies, Inc. Analyzing deployment pipelines used to update production computing services using a live pipeline template process
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
EP3436927B1 (en) 2016-03-30 2023-12-13 Amazon Technologies Inc. Processing pre-existing data sets at an on-demand code execution environment
US10139876B2 (en) * 2016-06-23 2018-11-27 Vmware Inc. Efficient reboot of an operating system executed in a virtual machine
US9952896B2 (en) 2016-06-28 2018-04-24 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US9977691B2 (en) 2016-06-29 2018-05-22 Amazon Technologies, Inc. Adjusting variable limit on concurrent code executions based on communication between frontends
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US9596350B1 (en) 2016-07-21 2017-03-14 Genesys Telecommunications Laboratories, Inc. Virtual interactions in contact center operations
US10831641B2 (en) 2016-09-08 2020-11-10 At&T Intellectual Property I, L.P. Method and apparatus for determining a performance impact by a software upgrade of a mobile user endpoint device
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
EP3379413A1 (en) 2017-03-21 2018-09-26 Nokia Solutions and Networks Oy Optimization of a software image layer stack
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132368A1 (en) * 1999-10-21 2005-06-16 Harlan Sexton Using a virtual machine instance as the basic unit of user execution in a server environment
US20080201711A1 (en) * 2007-02-15 2008-08-21 Amir Husain Syed M Maintaining a Pool of Free Virtual Machines on a Server Computer
US20090198769A1 (en) * 2008-02-01 2009-08-06 Microsoft Corporation Virtual Application Server With Version Control
US20110153838A1 (en) * 2009-12-18 2011-06-23 Microsoft Corporation Session monitoring of virtual desktops in a virtual machine farm
US20120192184A1 (en) * 2009-12-18 2012-07-26 International Business Machines Corporation Virtual image deployment with a warm cache
US20120197958A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Parallel Serialization of Request Processing
US20130179574A1 (en) * 2012-01-09 2013-07-11 Microsoft Corportaion Assignment of resources in virtual machine pools
US20140282615A1 (en) * 2013-03-15 2014-09-18 Mark Cavage Versioning schemes for compute-centric object stores

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邵泽云: "云计算与虚拟化技术研究", 《数字技术与应用》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108415828A (zh) * 2018-01-23 2018-08-17 广州视源电子科技股份有限公司 程序测试方法、装置、可读存储介质和计算机设备
CN108415828B (zh) * 2018-01-23 2021-09-24 广州视源电子科技股份有限公司 程序测试方法、装置、可读存储介质和计算机设备
CN108958930A (zh) * 2018-06-19 2018-12-07 北京百度网讯科技有限公司 容器资源的处理方法、装置及设备
CN113272825A (zh) * 2018-11-21 2021-08-17 亚马逊技术有限公司 通过模拟进行的强化学习模型训练
CN113272825B (zh) * 2018-11-21 2024-02-02 亚马逊技术有限公司 通过模拟进行的强化学习模型训练
CN113906392A (zh) * 2019-09-27 2022-01-07 茨特里克斯***公司 用于提供不同版本的虚拟应用的***和方法
CN111552541A (zh) * 2020-04-30 2020-08-18 北京思特奇信息技术股份有限公司 通过命令桥工厂实现调度的方法、***及计算机存储介质
CN111552541B (zh) * 2020-04-30 2023-11-10 北京思特奇信息技术股份有限公司 通过命令桥工厂实现调度的方法、***及计算机存储介质
CN113301004A (zh) * 2020-06-17 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、通信方法和单网卡虚拟机
CN113301004B (zh) * 2020-06-17 2023-05-09 阿里巴巴集团控股有限公司 数据处理方法、装置、通信方法和单网卡虚拟机
CN111930411A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 代码升级方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN107003862B (zh) 2020-08-04
US10592269B2 (en) 2020-03-17
WO2016053968A1 (en) 2016-04-07
CA2962631A1 (en) 2016-04-07
EP3201762A4 (en) 2018-09-26
EP3201762A1 (en) 2017-08-09
US20160092250A1 (en) 2016-03-31
CA2962631C (en) 2023-10-24
EP3201762B1 (en) 2021-11-03
JP6363796B2 (ja) 2018-07-25
US9715402B2 (en) 2017-07-25
JP2017534107A (ja) 2017-11-16
US20180039506A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
CN107003862A (zh) 动态代码部署和版本化
CN107111507A (zh) 线程化作为服务
CN108369534A (zh) 代码执行请求路由
CN108139940A (zh) 对于计算能力的周期性请求的管理
CN109478134B (zh) 用跨账户别名执行按需网络代码
CN107209682A (zh) 资源调整的自动管理
US10853112B2 (en) Stateful virtual compute system
CN107533470A (zh) 用于低延时执行程序代码的安全协议
US10915371B2 (en) Automatic management of low latency computational capacity
CN105204924B (zh) 管理程序执行能力的私有使用
CN104160374B (zh) 云突发以及对云突发应用的管理
CN107111508A (zh) 用于执行程序代码的请求的程序性事件检测和消息生成
CN103098027B (zh) 用于动态管理计算容量请求的方法和***
US9466036B1 (en) Automated reconfiguration of shared network resources
US20160314447A1 (en) Control of enterprise licensing across mobile devices
CN109564525A (zh) 按需网络代码执行环境中的异步任务管理
WO2015034487A1 (en) Selection of resource providers for multi-tenancy provision of building blocks
US11228658B1 (en) Pre-caching data for use upon execution of program code
US11496607B2 (en) Content management system framework for cloud deployment and operation as microservices
KR102359467B1 (ko) 스토리지 활용 이력에 기반한 비용 책정 방법 및 시스템
JP2019101541A (ja) Api管理システムおよびapi管理方法
CN117376349A (zh) 云桌面调度方法、服务器及存储介质
Engman et al. A Feasibility Study of Migrating a Telematics Solution Back-end into the Cloud

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