CN107003862B - 动态代码部署和版本化 - Google Patents
动态代码部署和版本化 Download PDFInfo
- Publication number
- CN107003862B CN107003862B CN201580053156.9A CN201580053156A CN107003862B CN 107003862 B CN107003862 B CN 107003862B CN 201580053156 A CN201580053156 A CN 201580053156A CN 107003862 B CN107003862 B CN 107003862B
- Authority
- CN
- China
- Prior art keywords
- code
- program code
- computing system
- request
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44552—Conflict resolution, i.e. enabling coexistence of conflicting executables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, 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所述的计算机实现的方法,其中所述虚拟计算系统包括虚拟机实例的活性池,所述虚拟机实例被配置来在上面创建的一个或多个容器中执行用户代码,并且其中所述方法还包括:
将所述虚拟计算系统的所述内部数据存储区与所述活性池中的多个虚拟机实例相关联,所述多个虚拟机实例中的每一个能够访问存储在所述内部数据存储区上的数据;以及
致使加载到所述多个虚拟机实例中的任一个之上的一个或多个程序代码自动加载到所述内部数据存储区之上。
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 CN107003862A (zh) | 2017-08-01 |
CN107003862B true 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) |
Families Citing this family (131)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
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 |
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 |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | 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 |
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 |
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 |
SG11201801630TA (en) | 2015-09-03 | 2018-03-28 | Lion Corp | Liquid detergent for clothing |
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 |
US9830175B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
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 |
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 |
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 |
US9910713B2 (en) * | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US11194572B2 (en) | 2016-02-22 | 2021-12-07 | International Business Machines Corporation | Managing external feeds in an event-based computing system |
US10127030B1 (en) | 2016-03-04 | 2018-11-13 | Quest Software Inc. | Systems and methods for controlled container execution |
US10270841B1 (en) * | 2016-03-04 | 2019-04-23 | Quest Software Inc. | Systems and methods of real-time container deployment |
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 |
US10289457B1 (en) | 2016-03-30 | 2019-05-14 | Quest Software Inc. | Systems and methods for dynamic discovery of container-based microservices |
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 |
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 |
US10135837B2 (en) | 2016-05-17 | 2018-11-20 | Amazon Technologies, Inc. | Versatile autoscaling for containers |
US10713072B1 (en) * | 2016-06-27 | 2020-07-14 | Amazon Technologies, Inc. | Computing resource provisioning |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US9952896B2 (en) | 2016-06-28 | 2018-04-24 | 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 |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
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 |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
CN108415828B (zh) * | 2018-01-23 | 2021-09-24 | 广州视源电子科技股份有限公司 | 程序测试方法、装置、可读存储介质和计算机设备 |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to 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 |
CN108958930A (zh) * | 2018-06-19 | 2018-12-07 | 北京百度网讯科技有限公司 | 容器资源的处理方法、装置及设备 |
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 |
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 |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution 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 |
EP3884432A1 (en) * | 2018-11-21 | 2021-09-29 | Amazon Technologies, Inc. | Reinforcement learning model training through simulation |
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 |
US11537424B2 (en) | 2019-05-10 | 2022-12-27 | 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 |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
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 |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to 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 |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
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 |
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 |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US11126455B2 (en) * | 2019-09-27 | 2021-09-21 | Citrix Systems, Inc. | System and methods for provisioning different versions of a virtual application |
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 |
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 |
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 |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
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 |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
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 |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
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 |
CN111552541B (zh) * | 2020-04-30 | 2023-11-10 | 北京思特奇信息技术股份有限公司 | 通过命令桥工厂实现调度的方法、系统及计算机存储介质 |
CN113301004B (zh) * | 2020-06-17 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、通信方法和单网卡虚拟机 |
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 |
CN111930411B (zh) * | 2020-09-30 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 代码升级方法、装置、计算机设备和存储介质 |
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 |
US11822907B2 (en) | 2021-08-11 | 2023-11-21 | Bank Of America Corporation | Reusable code management for improved deployment of application code |
US11704096B2 (en) * | 2021-08-11 | 2023-07-18 | Bank Of America Corporation | Monitoring application code usage for improved implementation of reusable 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 |
US20230229435A1 (en) * | 2022-01-20 | 2023-07-20 | Salesforce.Com, Inc. | Code management cross-support and synchronization |
WO2023248282A1 (ja) * | 2022-06-20 | 2023-12-28 | 日本電信電話株式会社 | コンテナ基盤クラスタのアップデート方法、コンテナ基盤クラスタのアップデートシステム、更新管理装置、及びアップデート制御プログラム |
Family Cites Families (408)
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 |
US6854114B1 (en) | 1999-10-21 | 2005-02-08 | Oracle International Corp. | Using a virtual machine instance as the basic unit of user execution in a server environment |
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 |
CN1529847A (zh) * | 2001-07-16 | 2004-09-15 | 任宇清 | 内嵌软件更新系统 |
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 |
CN100518176C (zh) | 2002-12-02 | 2009-07-22 | Sap股份公司 | 实现有状态网络应用的会话返回 |
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 |
US8776050B2 (en) | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US20050044301A1 (en) | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
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 |
US8631130B2 (en) | 2005-03-16 | 2014-01-14 | Adaptive Computing Enterprises, Inc. | Reserving resources in an on-demand compute environment from a local compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
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 |
US8407785B2 (en) | 2005-08-18 | 2013-03-26 | 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 |
US7747565B2 (en) | 2005-12-07 | 2010-06-29 | Microsoft Corporation | Garbage collector support for transactional memory |
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 |
US7702843B1 (en) | 2006-04-27 | 2010-04-20 | Vmware, Inc. | Determining memory conditions in a virtual machine |
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 |
US8584109B2 (en) | 2006-10-27 | 2013-11-12 | Microsoft Corporation | Virtualization for diversified tamper resistance |
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 |
US7644204B2 (en) | 2006-10-31 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | SCSI I/O coordinator |
US8315171B2 (en) | 2006-10-31 | 2012-11-20 | Oracle America, Inc. | Adaptive management of computing resources |
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 | 国际商业机器公司 | 用于软件应用程序的自动配置的方法和系统 |
JP2010514028A (ja) * | 2006-12-22 | 2010-04-30 | バーチャルロジックス エスエイ | 単一データ処理を共有するために複数の実行環境を有効化するシステム |
US20080189700A1 (en) * | 2007-02-02 | 2008-08-07 | Vmware, Inc. | Admission Control for Virtual Machine Cluster |
US8176486B2 (en) | 2007-02-15 | 2012-05-08 | Clearcube Technology, Inc. | Maintaining a pool of free virtual machines on a server computer |
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 |
JP5293595B2 (ja) * | 2007-03-20 | 2013-09-18 | 富士通株式会社 | コンピュータプログラム、更新システム、及びプログラム実行装置 |
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 |
WO2009029549A2 (en) | 2007-08-24 | 2009-03-05 | Virtualmetrix, Inc. | Method and apparatus for fine grain performance management 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 |
US9621649B2 (en) * | 2007-09-28 | 2017-04-11 | Xcerion Aktiebolag | Network operating system |
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 |
US8560694B2 (en) | 2008-02-01 | 2013-10-15 | Microsoft Corporation | Virtual application server with version control |
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 |
US8972978B2 (en) | 2008-05-02 | 2015-03-03 | 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 |
DE112009002168A5 (de) | 2008-09-09 | 2012-03-15 | Kace Networks, Inc. | Auslieferung und Management von virtuellen Containern |
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 |
US8364802B1 (en) | 2008-09-23 | 2013-01-29 | Gogrid, LLC | System and method for monitoring a grid of hosting resources in order to facilitate management of the hosting resources |
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 |
US9344401B2 (en) | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
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 | キヤノン株式会社 | プログラムおよび情報処理装置 |
JPWO2010116676A1 (ja) * | 2009-03-30 | 2012-10-18 | 日本電気株式会社 | サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム |
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 |
US8769083B2 (en) | 2009-08-31 | 2014-07-01 | Red Hat, Inc. | Metering software infrastructure in a cloud computing environment |
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 |
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 |
EP2513810B1 (en) | 2009-12-14 | 2016-02-17 | Citrix Systems, Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
US8924569B2 (en) | 2009-12-17 | 2014-12-30 | Intel Corporation | Cloud federation as a service |
US8683465B2 (en) | 2009-12-18 | 2014-03-25 | International Business Machines Corporation | Virtual image deployment with a warm cache |
US8949408B2 (en) | 2009-12-18 | 2015-02-03 | Microsoft Corporation | Session monitoring of virtual desktops in a virtual machine farm |
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 |
US8996611B2 (en) * | 2011-01-31 | 2015-03-31 | Microsoft Technology Licensing, Llc | Parallel serialization of request processing |
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 |
EP2569698B1 (en) | 2010-05-10 | 2019-07-10 | Citrix Systems, 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 |
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 |
US20120016721A1 (en) | 2010-07-15 | 2012-01-19 | Joseph Weinman | Price and Utility Optimization for Cloud Computing Resources |
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 |
US8694400B1 (en) | 2010-09-14 | 2014-04-08 | Amazon Technologies, Inc. | Managing operational throughput for shared resources |
JP5476261B2 (ja) | 2010-09-14 | 2014-04-23 | 株式会社日立製作所 | マルチテナント型情報処理システム、管理サーバ及び構成管理方法 |
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 |
CN103154926B (zh) | 2010-09-30 | 2016-06-01 | 亚马逊技术股份有限公司 | 用专用实施资源进行虚拟资源成本追踪 |
JP5278624B2 (ja) | 2010-10-12 | 2013-09-04 | 富士通株式会社 | シミュレーション装置,方法,およびプログラム |
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 |
US9645839B2 (en) | 2010-10-27 | 2017-05-09 | Microsoft Technology Licensing, Llc | Stateful applications operating in a stateless cloud computing environment |
JP2014038364A (ja) | 2010-10-27 | 2014-02-27 | Hitachi Ltd | リソース管理サーバ、リソース管理方法及びリソース管理プログラム |
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 |
US9253016B2 (en) * | 2010-11-02 | 2016-02-02 | International Business Machines Corporation | Management of a data network of a computing 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 |
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 |
US9552215B2 (en) | 2011-03-08 | 2017-01-24 | Rackspace Us, Inc. | Method and system for transferring a virtual machine |
US9141410B2 (en) | 2011-03-08 | 2015-09-22 | Rackspace Us, Inc. | Pluggable allocation in a cloud computing system |
WO2012125564A1 (en) | 2011-03-11 | 2012-09-20 | Resource Interactive, Llc | Payment card industry data security standard 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 |
JP5892164B2 (ja) | 2011-06-14 | 2016-03-23 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
FR2977116A1 (fr) | 2011-06-27 | 2012-12-28 | France Telecom | Procede de fourniture de service d'execution de logiciel a la demande |
US9450838B2 (en) | 2011-06-27 | 2016-09-20 | Microsoft Technology Licensing, Llc | Resource management for cloud computing platforms |
EP2726980A1 (en) * | 2011-06-29 | 2014-05-07 | Hewlett-Packard Development Company, L.P. | Application migration with dynamic operating system containers |
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 |
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 |
US8635607B2 (en) | 2011-08-30 | 2014-01-21 | Microsoft Corporation | Cloud-based build service |
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 |
US9225772B2 (en) | 2011-09-26 | 2015-12-29 | 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 | 独立行政法人科学技術振興機構 | プログラム解析・検証サービス提供システム、その制御方法、制御プログラム、コンピュータを機能させるための制御プログラム、プログラム解析・検証装置、プログラム解析・検証ツール管理装置 |
US8924954B2 (en) * | 2011-11-22 | 2014-12-30 | Huawei Technologies Co., Ltd. | Application software installation method and application software installation apparatus |
CA2889387C (en) * | 2011-11-22 | 2020-03-24 | Solano Labs, Inc. | System of distributed software quality improvement |
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 |
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 |
US8904008B2 (en) | 2012-01-09 | 2014-12-02 | Microsoft Corporation | Assignment of resources in virtual machine pools |
US20130179894A1 (en) | 2012-01-09 | 2013-07-11 | Microsoft Corporation | Platform as a service job scheduling |
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 |
WO2013112151A1 (en) | 2012-01-26 | 2013-08-01 | Empire Technology Development Llc | Data center with continuous world switch security |
US9110728B2 (en) | 2012-01-31 | 2015-08-18 | Vmware, Inc. | Elastic allocation of computing resources to software applications |
US9262238B2 (en) | 2012-01-31 | 2016-02-16 | Red Hat, Inc. | Connection management for an application in a computing platform |
KR101629879B1 (ko) | 2012-02-06 | 2016-06-13 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 캐시 사용 기반 어댑티브 스케줄링을 가지는 멀티코어 컴퓨터 시스템 |
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 |
US9256413B2 (en) | 2012-04-17 | 2016-02-09 | Sap Se | Automatic identification of services |
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 |
CN104303168B (zh) | 2012-04-25 | 2016-12-07 | 英派尔科技开发有限公司 | 用于灵活资源需求应用的认证 |
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 |
BR112014018142A8 (pt) | 2012-04-30 | 2017-07-11 | Hewlett Packard Development Co | Sistema de gestão automática de eventos para uma rede na nuvem, método para administrar eventos para serviços na nuvem e sistema de gerenciamento de eventos em nuvem |
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 |
EP2663052B1 (en) | 2012-05-09 | 2021-02-24 | Netflix, Inc. | API Platform That Includes Server-Executed Client-Based Code |
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 |
US9317689B2 (en) | 2012-06-15 | 2016-04-19 | Visa International Service Association | Method and apparatus for secure application execution |
US8799236B1 (en) | 2012-06-15 | 2014-08-05 | Amazon Technologies, Inc. | Detecting duplicated content among digital items |
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 |
US8869157B2 (en) * | 2012-06-21 | 2014-10-21 | Breakingpoint Systems, Inc. | Systems and methods for distributing tasks and/or processing recources in a system |
US8959484B2 (en) | 2012-06-21 | 2015-02-17 | Microsoft Corporation | System for hosted, shared, source control build |
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 |
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 |
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 |
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 |
US8613070B1 (en) | 2012-10-12 | 2013-12-17 | Citrix Systems, Inc. | Single sign-on access 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 |
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 |
US20160019536A1 (en) | 2012-10-17 | 2016-01-21 | Royal Bank Of Canada | Secure processing of data |
US9262212B2 (en) | 2012-11-02 | 2016-02-16 | The Boeing Company | Systems and methods for migrating virtual machines |
JP6059357B2 (ja) | 2012-11-05 | 2017-01-11 | エルジー エレクトロニクス インコーポレイティド | 超高周波帯域を支援する無線接続システムにおいて同期信号生成方法及び装置 |
US9038068B2 (en) | 2012-11-15 | 2015-05-19 | Bank Of America Corporation | Capacity reclamation and resource adjustment |
EP2884394A4 (en) | 2012-11-19 | 2016-04-27 | Hitachi Ltd | ADMINISTRATION SYSTEM AND DELIVERY METHOD |
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 |
US9092238B2 (en) | 2013-03-15 | 2015-07-28 | Joyent, Inc. | Versioning schemes for compute-centric object stores |
US10430332B2 (en) | 2013-03-25 | 2019-10-01 | Salesforce.Com, Inc. | System and method for performance tuning of garbage collection algorithms |
WO2014165933A1 (en) | 2013-04-13 | 2014-10-16 | 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 |
US9665235B2 (en) | 2013-12-31 | 2017-05-30 | Vmware, Inc. | Pre-configured hyper-converged computing device |
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 |
WO2015108539A1 (en) | 2014-01-20 | 2015-07-23 | 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 |
US10044761B2 (en) | 2014-03-18 | 2018-08-07 | British Telecommunications Public Limited Company | User authentication based on user characteristic authentication rules |
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 |
WO2015176046A1 (en) | 2014-05-15 | 2015-11-19 | 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 |
US9361102B2 (en) | 2014-06-09 | 2016-06-07 | Lehigh University | Methods for enforcing control flow of a computer program |
US9390260B2 (en) | 2014-06-09 | 2016-07-12 | 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 |
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 |
US10432699B2 (en) | 2014-06-26 | 2019-10-01 | Vmware, Inc. | Crowd-sourced operational metric analysis of virtual appliances |
US9361145B1 (en) | 2014-06-27 | 2016-06-07 | Amazon Technologies, Inc. | Virtual machine state replication using DMA write records |
US20150378762A1 (en) | 2014-06-30 | 2015-12-31 | Vmware, Inc. | Monitoring and dynamic configuration of virtual-machine memory-management |
US9483299B2 (en) | 2014-06-30 | 2016-11-01 | Bmc Software, Inc. | Capacity risk management for virtual machines |
US20160294614A1 (en) | 2014-07-07 | 2016-10-06 | Symphony Teleca Corporation | Remote Embedded Device Update Platform Apparatuses, Methods and Systems |
EP3170105B1 (en) | 2014-07-14 | 2021-09-08 | Oracle International Corporation | Age-based policies for determining database cache hits |
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 |
US9513941B2 (en) | 2014-09-17 | 2016-12-06 | International Business Machines Corporation | Codeless generation of APIs |
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 |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
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 |
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 |
US20160125059A1 (en) | 2014-11-04 | 2016-05-05 | Rubrik, Inc. | Hybrid cloud data management 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 |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | 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 |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
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 |
US11106538B2 (en) | 2015-06-16 | 2021-08-31 | 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 |
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 |
US9830175B1 (en) | 2015-12-16 | 2017-11-28 | 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 |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
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 |
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 |
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 |
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 |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | 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 |
-
2014
- 2014-09-30 US US14/502,620 patent/US9715402B2/en active Active
-
2015
- 2015-09-29 EP EP15846542.7A patent/EP3201762B1/en active Active
- 2015-09-29 CN CN201580053156.9A patent/CN107003862B/zh active Active
- 2015-09-29 CA CA2962631A patent/CA2962631C/en active Active
- 2015-09-29 WO PCT/US2015/052833 patent/WO2016053968A1/en active Application Filing
- 2015-09-29 JP JP2017516168A patent/JP6363796B2/ja active Active
-
2017
- 2017-07-24 US US15/658,038 patent/US10592269B2/en active Active
Non-Patent Citations (1)
Title |
---|
云计算与虚拟化技术研究;邵泽云;《数字技术与应用》;20140115;第69、72页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3201762B1 (en) | 2021-11-03 |
WO2016053968A1 (en) | 2016-04-07 |
US10592269B2 (en) | 2020-03-17 |
EP3201762A4 (en) | 2018-09-26 |
CA2962631C (en) | 2023-10-24 |
JP2017534107A (ja) | 2017-11-16 |
US20160092250A1 (en) | 2016-03-31 |
US9715402B2 (en) | 2017-07-25 |
EP3201762A1 (en) | 2017-08-09 |
CA2962631A1 (en) | 2016-04-07 |
JP6363796B2 (ja) | 2018-07-25 |
CN107003862A (zh) | 2017-08-01 |
US20180039506A1 (en) | 2018-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003862B (zh) | 动态代码部署和版本化 | |
US11561811B2 (en) | Threading as a service | |
US20220391238A1 (en) | Low latency computational capacity provisioning | |
JP6892729B2 (ja) | コード実行要請ルーティング | |
JP6522128B2 (ja) | リソースサイジングの自動管理システム、方法及び非一時的コンピュータ可読記憶媒体 | |
US9977691B2 (en) | Adjusting variable limit on concurrent code executions based on communication between frontends | |
US9830193B1 (en) | Automatic management of low latency computational capacity | |
US20180004575A1 (en) | Adjusting variable limit on concurrent code executions |
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 |