CN108369534A - 代码执行请求路由 - Google Patents

代码执行请求路由 Download PDF

Info

Publication number
CN108369534A
CN108369534A CN201680072794.XA CN201680072794A CN108369534A CN 108369534 A CN108369534 A CN 108369534A CN 201680072794 A CN201680072794 A CN 201680072794A CN 108369534 A CN108369534 A CN 108369534A
Authority
CN
China
Prior art keywords
container
request
program code
code
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680072794.XA
Other languages
English (en)
Other versions
CN108369534B (zh
Inventor
斯科特·丹尼尔·魏斯涅夫斯基
马克·约翰·布鲁克
蒂莫西·艾伦·瓦格纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN108369534A publication Critical patent/CN108369534A/zh
Application granted granted Critical
Publication of CN108369534B publication Critical patent/CN108369534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

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

代码执行请求路由
背景技术
一般来说,计算装置利用一个通信网络或一系列通信网络来交换数据。公司和组织操作计算机网络,所述计算机网络互连多个计算装置以支持运营或向第三方提供服务。计算系统可以位于单个地理位置或位于多个不同的地理位置(例如,经由私人或公共通信网络互连)。具体而言,本文统称为“数据中心”的数据中心或数据处理中心可以包括多个互连的计算系统以向数据中心的用户提供计算资源。数据中心可以是代表组织运营的私人数据中心,或者可以是代表公众或出于公众利益运营的公共数据中心。
为了促进数据中心资源的加大利用,虚拟化技术可以允许单个物理计算装置托管虚拟机的一个或多个实例,所述虚拟机实例向数据中心的用户表现并操作为独立计算装置。利用虚拟化,单个物理计算装置可以以动态方式创建、维护、删除或以其他方式管理虚拟机。继而,用户可以从数据中心请求计算机资源,包括单个计算装置或联网计算装置的配置,并且可以具备不同数量的虚拟机资源。
在一些情境下,虚拟机实例可以根据多种虚拟机实例类型来配置以提供特定功能。例如,各种计算装置可以与操作系统或操作系统配置、虚拟化硬件资源和软件应用程序的不同组合相关联,以使得计算装置能够提供不同的期望功能,或者更有效地提供类似的功能。这些虚拟机实例类型配置通常包含在装置图像内,所述装置图像包括包含虚拟机一旦启动就运行的软件(例如,OS和应用程序及其配置和数据文件等)的静态数据。装置图像通常存储在用于创建或初始化实例的磁盘上。因此,计算装置可以处理装置图像以便实施期望的软件配置。
附图说明
通过结合附图参考以下具体实施方式,可以更好地理解本公开的上述方面和许多伴随的优点,因此将更易于了解所述方面和优点,其中:
图1是描绘根据示例性方面的用于提供低延时计算容量的说明性环境的框图;
图2描绘了根据示例性方面的提供用于路由代码执行请求的路由管理器的计算装置的通用架构;
图3是示出根据示例性方面的由路由管理器实施的代码执行请求路由例程的流程图;
图4描绘了根据示例性方面的示出将请求路由到容器的示例性映射表;
图5是示出根据示例性方面的由路由管理器实施的代码执行结果高速缓存例程的流程图;以及
图6是示出根据示例性方面的由路由管理器实施的容器生命周期管理例程的流程图。
具体实施方式
公司和组织不再需要为了执行计算操作(例如,执行代码,包括线程、程序、函数、软件、例程、子例程、过程等),来获取和管理它们自己的数据中心。随着云计算的出现,传统上由硬件计算装置提供的存储空间和计算能力现在可以通过互联网在几分钟内获得并配置。因此,开发人员可以快速购买期望数量的计算资源,而不必为获取物理机而担忧。这些计算资源通常以虚拟计算资源或虚拟机实例的形式购买。虚拟机的这些实例是物理机(例如,计算机)的软件实现,其托管在物理计算装置上,并且可能包含传统上提供在物理机上的操作系统和应用程序。使用一组计算资源(例如,存储器、CPU、磁盘、网络等)对这些虚拟机实例进行配置,在虚拟机实例上运行的应用程序可以请求该组计算资源并且可以以与物理计算机相同的方式利用该组计算资源。
然而,即使在购买虚拟计算资源时,开发人员也仍然必须决定要购买多少和什么类型的虚拟机实例,以及将它们保留多长时间。例如,使用虚拟机实例的成本可以根据它们的租用类型和小时数而变化。另外,虚拟机可以租用的最短时间通常为约几小时。此外,开发人员必须指定要安装在虚拟机上的硬件和软件资源(例如,操作系统的类型和语言运行时等)。它们可能会遇到的其他问题包括过度利用(例如,获取太少的计算资源和遭受性能问题)、利用不足(例如,获取比运行代码所需的更多的计算资源并因此支付过多)、流量变化预测(例如,使得他们知道何时按比例增加或减少)以及实例和语言运行时启动延迟,这可能需要3-10分钟或更长时间,即使用户可能期望约几秒或甚至几毫秒的计算容量。
根据本公开的各方面,通过维护一旦接收到用户请求就准备好使用的预先初始化的虚拟机实例池,并自动管理池中可用的容量的量以服务于传入的请求,可以显著缩短与执行用户代码(例如,实例和语言运行时启动时间)相关联的延迟(有时称为延时),并且可以提高利用率。
一般来说,公开了促进管理虚拟计算系统中的虚拟机实例的系统和方法。虚拟计算系统维护其上加载有一个或多个软件部件(例如,操作系统、语言运行时、库等)的虚拟机实例池。维护虚拟机实例池可以涉及创建新实例,从外部实例供应服务获取新实例,销毁实例,向用户分配/再分配实例,修改实例(例如,其中的容器或资源)等等。池中的虚拟机实例可以被指定为服务于执行程序代码的用户请求。在本公开中,短语“程序代码”、“用户代码”和“云函数”有时可以互换使用。程序代码可以在虚拟机实例上创建的独立容器中执行。由于池中的虚拟机实例在接收到请求时早已被启动并加载了特定的操作系统和语言运行时,所以显著缩短了与查找可以处理请求的计算容量(例如,通过在虚拟机实例上创建的一个或多个容器中执行用户代码)相关联的延迟。
在另一方面,虚拟计算系统可以创建和管理在由虚拟计算系统接收的传入的代码执行请求与用于处理那些代码执行请求的计算容量之间的映射。所述映射可以促进多个请求使用和再使用某些容器特定资源。例如,给定的容器可以与存储代码执行结果的高速缓存相关联,并且可以由在给定的容器中执行的任何程序代码访问。因此,一旦将与请求相关联的代码执行结果存储在高速缓存中,则在相同类型的后续请求被路由到给定的容器的情况下,可以使用存储在高速缓存中的代码执行结果更高效地处理所述后续请求。因此,通过将请求路由到在虚拟计算系统上运行的适当容器,可以实现延时增益。
现在将参考附图描述本公开的特定实施方案和示例性应用。这些实施方案和示例性应用旨在说明而不是限制本公开。
包括虚拟计算系统的说明性环境
参考图1,将描述示出虚拟环境100的实施方案的框图。图1所示的示例包括虚拟环境100,其中用户计算装置102的用户(例如,开发人员等)可以使用由虚拟计算系统110提供的虚拟计算资源来运行各种程序代码。
通过说明,各种示例性用户计算装置102(包括台式计算机、膝上型计算机和移动电话)被示出为与虚拟计算系统110通信。通常,用户计算装置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,所述虚拟计算系统包括前端120、预热池管理器130、工作者管理器140和路由管理器150。在所描绘的示例中,虚拟机实例(“实例”)152、154被示出为在由预热池管理器130管理的预热池130A中,并且实例156、157、158、159被示出为在由工作者管理器140管理的活动池140A中。在一些实施方案中,术语“虚拟机实例”可以指代模拟硬件以提供可以在其上执行软件的环境或平台(“执行环境”)的软件或其他可执行代码的执行。虚拟机实例通常由物理硬件装置执行,所述物理硬件装置可能与由虚拟机实例模拟的硬件不同。例如,虚拟机可以在第二类型的处理器和存储器上执行时模拟第一类型的处理器和存储器。因此,可以利用虚拟机以在执行第二执行环境(例如,第二操作系统)的物理装置上执行旨在用于第一执行环境(例如,第一操作系统)的软件。在一些情况下,由虚拟机实例模拟的硬件可能与底层装置的硬件相同或类似。例如,具有第一类型处理器的装置可以实施多个虚拟机实例,每个虚拟机实例模拟该第一类型的处理器的实例。因此,可以使用虚拟机实例将单个装置分成多个逻辑子装置(每个逻辑子装置称为“虚拟机实例”)。虽然虚拟机实例通常可以提供远离底层物理装置硬件的抽象级别,但是并不需要这种抽象。例如,假定装置实施多个虚拟机实例,其中每个虚拟机实例都模拟与装置提供的硬件相同的硬件。在这种情境下,每个虚拟机实例都可以允许软件应用程序在底层硬件上执行代码而无需转译,同时保持在其他虚拟机实例上运行的软件应用程序之间的逻辑分离。这个通常被称为“原生执行”的过程可以用来提高虚拟机实例的速度或性能。在本领域中已知允许直接利用底层硬件的其他技术,诸如硬件直通技术。
虚拟计算系统110内的各种部件的图示本质上是逻辑的,并且一个或多个部件可以由单个计算装置或多个计算装置来实施。例如,实例152、154、156、157、158、159可以在位于各个不同的地理区域中的一个或多个物理计算装置上实施。类似地,前端120、预热池管理器130、工作者管理器140和路由管理器150中的每一个都可以在多个物理计算装置上实施。另选地,可以在单个物理计算装置上实施前端120、预热池管理器130、工作者管理器140和路由管理器150中的一个或多个。在一些实施方案中,虚拟计算系统110可以包括多个前端、多个预热池管理器、多个工作者管理器和/或多个容量管理器。虽然在图1的示例中示出了六个虚拟机实例,但是本文描述的实施方案不限于此,并且本领域技术人员将明白,虚拟计算系统110可以包括使用任何数量的物理计算装置实施的任何数量的虚拟机实例。相似地,尽管在图1的示例中示出了单个预热池和单个活动池,但是本文描述的实施方案不限于此,并且本领域技术人员将明白,虚拟计算系统110可以包括任何数量的预热池和活动池。
在图1的示例中,虚拟计算系统110被示出为连接到网络104。在一些实施方案中,虚拟计算系统110内的任何部件可以经由网络104与虚拟环境100的其他部件(例如,用户计算装置102和辅助服务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,所述预热池是可以用来服务于传入的用户代码执行请求的预先初始化和预先配置的虚拟机实例的组(有时被称为池)。在一些实施方案中,预热池管理器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中的实例还可以包括容器(其还可以包含操作系统、运行时、用户代码等的副本),所述容器将在下文进行更详细描述。虽然实例152在图1中示出为包括单个运行时,但是在其他实施方案中,图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,所述活动池是当前分配给一个或多个用户的虚拟机实例的组(有时称为池)。虽然本文将虚拟机实例描述为分配给特定用户,但是在一些实施方案中,实例可以分配给一组用户,使得实例与该组用户绑定,并且该组中的任何成员可以利用实例上的资源。例如,同一组中的用户可以属于相同的安全组(例如,基于它们的安全凭证),使得在另一个成员的代码已经在相同实例上的另一个容器中执行之后,在特定实例上的容器中执行一个成员的代码不会带来安全风险。类似地,工作者管理器140可以根据一个或多个策略分配实例和容器,所述一个或多个策略规定哪些请求可以在哪些容器中执行以及哪些实例可以分配给哪些用户。示例性策略可以指定实例被分配给共享相同账户(例如,用于访问由虚拟计算系统110提供的服务的账户)的用户集合。在一些实施方案中,与相同用户组相关联的请求可以共享相同的容器(例如,如果与其相关联的用户代码相同)。在一些实施方案中,请求不区分组的不同用户并且简单地指示与请求相关联的用户所属的组。
在图1所示的示例中,用户代码在被称为容器的独立计算系统中执行。容器是使用该实例上的可用资源在虚拟机实例内创建的逻辑单元。例如,工作者管理器140可以基于在执行用户代码的请求中指定的信息,创建新的容器或在活动池140A中的实例中的一个中定位现有容器,并将所述容器分配给处理与请求相关的用户代码的执行的请求。在一个实施方案中,这样的容器被实施为Linux容器。活动池140A中的虚拟机实例可以在其上创建一个或多个容器,并且可以在其上加载与用户相关联的一个或多个程序代码(例如,在所述容器中的一个中或在实例的本地高速缓存中)。
如图1所示,实例可能具有操作系统(OS)、语言运行时和容器。这些容器可以在其上加载OS和语言运行时和用户代码的单独副本。在图1的示例中,由工作者管理器140管理的活动池140A包括实例156、157、158、159。实例156具有容器156A、156B。容器156A在其上加载了OS 156A-1、运行时156A-2和代码156A-3。在所描绘的示例中,容器156A将其自己的OS、运行时和代码加载在其中。在一个实施方案中,在容器156A,156B(以及图1中未示出的任何其他容器)之间共享OS 156A-1(例如其内核)、运行时156A-2和/或代码156A-3。在另一个实施方案中,OS 156A-1(例如,在内核外运行的任何代码)、运行时156A-2和/或代码156A-3是为容器156A创建的独立副本,并且不与实例156上的其他容器共享。在又一个实施方案中,OS 156A-1、运行时156A-2和/或代码156A-3的一些部分在实例156上的容器之间共享,并且其其他部分是容器156A特有的独立副本。实例157包括容器157A、157B、157C。实例158包括容器158A、158B和资源158C。实例159包括容器159A和资源159A-1。资源158C可以是实例特定资源,诸如可由其上创建的任何容器(或其中执行的任何代码)访问的存储器、磁盘存储装置、数据库等。资源159A-1可以是容器特定资源,诸如可由其中执行的任何代码访问的存储器、磁盘存储装置、数据库等。
在图1的示例中,图1中所描绘的容器的大小可能与容器的实际大小成正比。例如,容器156A在实例156上占用的空间比容器156B占用的空间更大。类似地,容器157A、157B、157C可以具有相同的大小,并且容器158A和158B可以具有相同的大小。实例158、159中示出的标记为“C”的虚线框指示实例上剩余的可以用于创建新实例的空间。在一些实施方案中,容器的大小可以是64MB或其任何倍数。在其他实施方案中,容器的大小可以是小于或等于其中创建容器的实例的大小的任何任意大小。在一些实施方案中,容器的大小可以是小于、等于或大于其中创建容器的实例的大小的任何任意大小。容器的大小可以超过实例的大小多少可以基于那些容器可能超出实例提供的容量来利用的可能性来确定。
虽然容器156B、157A、157B、157C、158A、158B、159A内部的部件未在图1的示例中示出,但是这些容器中的每一个可以具有各种操作系统、语言运行时、库和/或用户代码。在一些实施方案中,实例可以在其上加载有用户代码(例如,在诸如资源158C等的实例级别高速缓存中),并且那些实例内的容器也可以在其中加载用户代码。在一些实施方案中,工作者管理器140可以维护活动池140A中的实例的列表。实例列表还可以指定实例的配置(例如,OS、运行时、容器等)。在一些实施方案中,工作者管理器140可以访问预热池130A中的实例列表(例如,包括实例的数量和类型)。在其他实施方案中,工作者管理器140在不知道预热池130A中的虚拟机实例的情况下从预热池管理器130请求计算容量。
在前端120已成功处理请求之后,工作者管理器140找到容量来服务于在虚拟计算系统110上执行用户代码的请求。例如,如果活动池140A中存在具有其中加载有相同用户代码(例如,容器156A中示出的代码156A-3)的容器的特定虚拟机实例,则工作者管理器140可以将容器分配给请求并致使用户代码在容器中执行。另选地,如果用户代码在虚拟机实例之一的本地高速缓存中可用(例如,存储在实例158上但不属于任何单独的容器),则工作者管理器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具有在收到请求时处理请求的容量。在一些实施方案中,代替在接收到代码执行请求时启动所请求的代码执行,虚拟计算系统110可以根据请求提供的调度信息来调度代码执行。例如,请求可以指定虚拟计算系统110被请求执行代码执行的时间窗口(例如,在下周一凌晨3:00AM到4:00AM之间),并且虚拟计算系统110可以基于某些性能考虑(例如,工作负载、延时等)调度代码执行。
用户代码可以从诸如图1的存储服务108等的辅助服务106下载。图1所示的数据108A可以包括由一个或多个用户上传的用户代码、与这样的用户代码相关联的元数据或由虚拟计算系统110用来执行本文描述的一种或多种技术的任何其他数据。尽管在图1的示例中仅示出了存储服务108,但是虚拟环境100可以包括用户代码可以从其下载的其他级别的存储系统。例如,每个实例可以具有一个或多个存储系统,物理地(例如,驻留在其上运行实例的物理计算系统上的本地存储装置)或逻辑地(例如,与实例网络通信并提供虚拟计算系统110内或外的网络附属的存储系统)与其上创建有容器的实例相关联。另选地,代码可以从存储服务108提供的基于web的数据存储中下载。
一旦工作者管理器140在预热池130A中查找到可以用于服务于用户代码执行请求的虚拟机实例之一,则预热池管理器130或工作者管理器140将所述实例从预热池130A中取出并将其分配给与请求相关联的用户。将所分配的虚拟机实例从预热池130A中取出并放置在活动池140A中。在一些实施方案中,一旦已经将虚拟机实例分配给特定用户,相同的虚拟机实例就不能用于服务于任何其他用户的请求。这通过防止可能的用户资源混合来向用户提供安全益处。另选地,在一些实施方案中,属于不同用户(或分配给与不同用户相关联的请求)的多个容器可以共存于单个虚拟机实例上。这种方法可以提高可用计算容量的利用率。在一些实施方案中,虚拟计算系统110可以维护单独的高速缓存,其中存储用户代码以充当虚拟机实例的本地高速缓存与基于网络的网络存储(例如,可经由网络104访问)之间的高速缓存系统的中间级别。
在已经执行用户代码之后,工作者管理器140可以卸除用于执行用户代码的容器以释放其占用的资源以用于实例中的其他容器。另选地,工作者管理器140可以保持容器运行以使用其来服务于来自相同用户的额外请求。例如,如果接收到与已经加载在容器中的相同用户代码相关联的另一个请求,则可以将请求分配给相同容器,从而消除与创建新容器和将用户代码加载到容器中相关联的延迟。在一些实施方案中,工作者管理器140可以卸除其中创建用于执行用户代码的容器的实例。另选地,工作者管理器140可以保持实例运行以使用其来服务于来自相同用户的额外请求。对在用户代码完成执行之后是否保持容器和/或实例的运行的确定可以基于阈值时间、用户的类型、用户的平均请求量、周期性信息(例如,活动池140A中其上当前未执行用户代码的容器/实例可以(i)在周期性信息指示预期额外的请求很快到达的情况下,保持活动,或者(ii)在周期性信息指示额外的请求不可能足够快得到达以证明保持容器/实例活动的情况下,保持终止)和/或其他操作条件。例如,在没有任何活动(例如,代码的运行)下阈值时间过去之后(例如,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被示出为虚拟计算系统110内的不同部件,但是路由管理器150的部分或全部功能可由前端120、预热池管理器130和/或工作者管理器140执行。例如,路由管理器150可以完全在虚拟计算系统110的其他部件之一内或以分布式方式在虚拟计算系统110的其他部件上实施。在图1的示例中,路由管理器150包括映射数据150A。映射数据150A可以包括指示应当如何将传入的代码执行请求路由到在虚拟计算系统110上运行的容器的数据。映射数据150A还可以包括由用户指定或由路由管理器150确定的用于路由由虚拟计算系统110接收的传入的请求的任何容器/路由策略。映射数据150A可以存储在虚拟计算系统110内部的存储装置中和/或存储在外部存储装置(例如,存储服务108)中并周期性地备份。
路由管理器150可以包括:路由参数确定单元,其用于确定与给定的代码执行请求相关联的路由参数,以及容器查找单元,其用于基于确定的路由参数来确定将用于处理给定的代码执行请求的适当容器。下文参考图2更详细地描述路由管理器150的示例性配置。
维护与容器相关联的资源
在一些实施方案中,在虚拟计算系统110上运行的容器可以与容器特定资源(诸如可由在容器中执行的任何程序代码访问的存储器、磁盘存储装置、数据库等)相关联。例如,在容器中执行的程序代码的代码执行结果可以高速缓存在与容器相关联的本地存储器中。虚拟计算系统110可以利用高速缓存的结果来促进相同类型的其他代码执行请求(例如,与相同程序代码和相同参量集相关联的请求)。在一个示例中,用户可能希望提供天气服务,所述天气服务允许人们键入邮政编码并查看与那些邮政编码相关联的天气信息。每次输入邮政编码时,都可以使用所输入的邮政编码向虚拟计算系统110发送请求以执行天气信息查找功能(例如,在分配给用户的虚拟机实例上创建的容器中)。查找功能可以使用邮政编码从天气数据库中检索天气信息并输出检索到的天气信息。检索到的天气信息也可以存储在与容器相关联的存储器中,使得任何未来的代码执行请求都可以利用存储的信息。例如,如果接收到具有相同邮政编码的另一个请求(例如,在阈值时间段内),则天气信息查找功能可以简单地返回高速缓存的结果而不去到天气数据库,从而实现一些延时增益。即使当前的天气信息被缓存,如果后续请求被路由到无法访问高速缓存的信息的不同容器,则高速缓存的信息将不可用于天气信息查找功能,并且无法实现延时增益。另外或另选地,虚拟计算系统110可以具有其他资源,诸如存储器、磁盘存储装置、数据库等,其可以以实例级别访问(例如,可由在特定实例上或其上的任何容器上执行的任何程序代码访问)和/或以账户级别访问(例如,可由在与用户相关联的实例上执行的任何程序代码访问)。
在请求与特定容器之间的映射
在一些实施方案中,路由管理器150处理传入的代码执行请求并确定应当将请求路由到哪些容器。例如,当虚拟计算系统110第一次接收到与给定的程序代码相关联的请求时,可能不存在将请求路由到在虚拟计算系统110上运行的特定容器的映射。一旦接收到这样的请求,则实例可以从预热池130A移动到活动池140A并且分配给与请求相关联的用户。然后,虚拟计算系统110可以在实例上创建容器,将程序代码加载到容器上,并且在容器中执行程序代码。在执行程序代码时生成或获得的任何信息可以存储在与容器相关联的一个或多个计算资源中。计算资源可以包括仅容器可访问的本地存储器和/或磁盘存储装置。计算资源还可以包括保存在虚拟计算系统110上或在外部服务(例如,辅助服务106)上的数据库。在将执行程序代码时生成或获得的信息存储在一个或多个计算资源中时,路由管理器150可以更新映射数据150A,使得可以从利用所存储的容器特定信息受益的未来请求将被路由到此特定容器。
路由管理器150可以利用任何已知的散列方案或其他数据结构来更新和维护映射数据150A。例如,请求中所包括的执行参数可能被散列并映射到容器的ID。对于虚拟计算系统110上的每个程序代码执行,映射数据150A可以包括将执行参数的各种组合映射到特定容器的表。路由管理器150可以散列请求中所包括的一个或多个执行参数以确定路由参数,并且使用路由参数来确定映射数据150A将路由参数映射到的特定容器。例如,如果第一请求以参量“当前温度”和“90020”请求执行Function Foo,则路由管理器150可以将第一请求路由到第一容器,并且如果第二请求以参量“当前温度”和“10012”请求执行Function Foo,则路由管理器150可以将第二请求路由到第二容器。在另一个示例中,请求可以指定请求被配置成管理或修改的数据库的名称。在这样的示例中,数据库名称可以充当映射到特定容器的路由参数(例如,与映射到容器A的数据库A相关联的请求、与映射到容器B、C和D的数据库B相关联的请求、与映射到容器E的数据库C、D和E相关联的请求等)。
在其他实施方案中,在生成路由参数时仅考虑参数的子集。在这样的示例中,无论其他参量值如何,与Function Foo和参量“当前温度”相关联的每个请求都可以被路由到相同的容器。在又一个示例中,映射数据150A可以使得与Function Foo相关联的所有请求将被路由到特定容器。虽然在本公开的一些实施方案中使用路由到特定容器的示例,但是本文讨论的技术可以适用于提供将请求映射到特定实例、特定前端、特定地理位置、特定工作者管理器等的映射数据150A,使得相关的粒度级别的计算资源(例如,实例特定资源、账户特定资源、位置特定资源等)可以被请求利用。
映射数据150A可以由用户例如经由一个或多个UI、CLI、API和/或其他编程接口来提供。例如,当容器被创建或终止时,虚拟计算系统110可以向用户提供某些容器信息,使得用户可以提供关于特定容器的映射数据。在一些实施方案中,映射数据150A可以指定第一组请求(例如,与Function Foo相关联的请求、包含由用户指定的特定参数的请求、在特定小时期间接收到的请求等)应当被路由到一个容器并且第二组请求应该被路由到另一个容器。通过在请求中提供将使用特定容器处理请求的指示,和/或通过提供参数值(例如,散列值)与特定容器之间的映射,用户可以控制使用哪些容器处理哪些请求(并因此访问哪些容器特定资源),并且通过使用容器特定资源(例如,本地存储在容器内的数据)省略昂贵的操作来实现与请求相关联的延时缩短。映射数据150A可以基于用户账户(例如,与路由到不同容器的不同用户账户相关联的请求)、程序代码(例如,与路由到不同容器的不同程序代码相关联的请求)、当日时间(例如,在不同的小时、天、月、年等接收的被路由到不同的容器的请求)、地理区域(例如,与被路由到不同容器的不同地理区域相关联的请求)、函数参量(例如,具有不同参数或参量组合被路由到不同容器的请求)、其他请求参数或元数据等。在一些实施方案中,映射数据150A的将致使这类请求被路由到此特定容器的部分在容器终止时被删除(例如由于缺乏使用)。
管理后端资源
在一些实施方案中,路由管理器150可以监控结合传入的代码执行请求利用的后端资源。在一些情况下,在虚拟计算系统110上执行的程序代码可以使用第三方或用户拥有的资源(例如,磁盘存储装置、数据库、网络等),并且这样的资源可以不扩展以及那些资源由虚拟计算系统110管理(例如,处理大的突发流量),从而产生阻抗失配。在这种情况下,虚拟计算系统110可以允许用户指定请求和容器之间的映射,使得后端资源以更受控制的方式进行利用。例如,映射数据150A可以规定,利用第一后端资源的所有请求应当路由到第一容器,并且利用第二后端资源的所有请求应当路由到一组十个容器中的任何容器。在这样的示例中,当在第一容器中执行程序代码时,用户可以确定所述程序代码是唯一一个访问或管理第一后端资源的程序代码,并且第一后端资源不会因大量的同时请求而负担过重。
计算容量的用户定制
在一些实施方案中,虚拟计算系统110可以允许用户定制用于处理其请求的实例。例如,用户可以例如经由一个或多个UI、CLI、API和/或其他编程接口来指定在服务于与用户相关联的代码执行请求的实例上提供语言运行时(或其他软件部件)的特定版本。作为响应,当新实例被分配给用户时,虚拟计算系统110可以安装语言运行时的指定版本,使得其上创建的任何容器可以访问安装的语言运行时。在一些实施方案中,路由管理器150可以更新映射数据150A,使得与用户相关联的请求被路由到在这些定制实例上运行的一个或多个容器,使得在初始定制(以及相关联的延时命中)之后,在定制实例上创建的后续容器可以利用所述定制。
前端/路由管理器闲聊路由信息
在一些实施方案中,虚拟计算系统110可以具有与不同组的预热池管理器130和工作者管理器140相关联的多个前端120。在这样的实施方案中,路由管理器150可以与每个前端120通信以提供用于将传入的代码执行请求路由到特定容器(或实例)的路由信息。在其他实施方案中,每个前端120可以与不同的路由管理器150相关联。在这样的实施方案中,一旦新的路由信息(例如,映射数据150A)变得可用,前端120和/或路由管理器150就可以彼此闲聊信息,使得可以将传入的代码执行请求路由到适当的容器。例如,一旦前端120或路由管理器150中的一个获得或确定新的映射信息,映射信息就与虚拟计算系统110上的所有前端120或路由管理器150共享。
账户、实例、函数和容器级别资源(11)
在一些实施方案中,虚拟计算系统110以各种级别维护一个或多个计算资源。例如,虚拟计算系统110可以维护一个或多个账户级别资源(例如,可由与相同账户相关联的任何代码执行访问)、一个或多个实例级别资源(例如,可由相同实例上的任何代码执行访问)、一个或多个函数级别资源(例如,可由与相同函数或程序代码相关联的任何代码执行访问)、一个或多个容器级别资源(例如,可由相同容器中的任何代码执行访问)等等。计算资源可以包括可以在代码执行期间访问的存储器、磁盘存储装置、数据库、网络或任何其他资源。
控制容器生命周期的外部服务
在一些实施方案中,虚拟计算系统110可以允许第三方服务(例如,应用程序性能监控服务、日志服务等)对在虚拟计算系统110上创建的容器的生命周期进行一定量的控制。在一些情况下,这些服务可能具有仅以特定的速率摄取或仅摄取特定类型的数据的能力。在这样的情况下,虚拟计算系统110可以允许这些服务控制创建和/或终止容器的速度,例如通过允许这些服务在创建或终止容器之前/之后执行一个或多个操作。在一个示例中,日志服务可以在容器的生命周期结束时执行某些记录操作以执行记录和清理操作。在另一个示例中,外部服务可以指定仅特定类型的请求应当发送到由外部服务管理的容器。作为响应,路由管理器150可以更新映射数据150A,使得仅指定类型的请求被路由到由外部服务管理的容器。
容器生命周期管理
在一些实施方案中,路由管理器150可以通过避免在容器中的代码执行已经完成之后立即或者不久终止容器而保持一个或多个容器活动。例如,即使容器无法用于服务于任何现有的代码执行请求,路由管理器150也可以促使某些容器保持活动。是否保持这种容器活动的决定可以基于虚拟计算系统110接收将使用容器处理的请求的所预期的频率和/或已经与这些容器相关联地存储在容器特定计算资源中的信息量。下文参考图6更详细地描述使容器保持活动超出其正常调度的过程。
关于未来代码执行的信息
在一些实施方案中,路由管理器150可以维护关于虚拟计算系统110上的未来代码执行的执行信息。例如,这样的信息可以规定函数Y应当在成功执行函数X时执行,并且函数Z应当在执行函数X失败时执行。在这样的示例中,路由管理器150可以在每次尝试执行程序代码之后检查执行信息,以确定下一个动作过程。在另一个示例中,路由管理器150可以维护与其中执行程序代码的容器相关联的一个或多个计算资源中的执行信息,并且在请求已经被路由到容器之后检查执行信息(例如,正如路由管理器150将检查高速缓存的信息以确定是否应当或应当如何执行程序代码)。
本地计时器
在一些实施方案中,路由管理器150可以维护单个容器内的本地计时器。例如,第一容器可以维护与第一容器相关联的计算资源(例如,存储器、磁盘存储装置等)中的本地计时器,并且路由到第一容器的任何请求可以利用本地计时器来在第一容器中执行代码。通过维护路由到第一容器的请求可以利用的本地定时器,路由管理器150消除了访问某些外部服务(例如,在虚拟计算系统110外部的调度服务)以监控定时信息的需求(例如,请求可以简单地利用本地计时器),从而实现延时增益。
路由管理器的通用架构
图2描绘了管理虚拟计算系统110中的虚拟机实例的计算系统(称为路由管理器150)的通用架构。图2中描绘的路由管理器150的通用架构包括可以用于实施本公开的各方面的计算机硬件和软件模块的布置。路由管理器150可以包括比图2中示出的更多(或更少)的元件。然而,没有必要示出所有这些通常的传统元件以便提供可行的公开。如图所示,路由管理器150包括处理单元190、网络接口192、计算机可读介质驱动器194、输入/输出装置接口196,所有这些可以通过通信总线彼此通信。网络接口192可以提供与一个或多个网络或计算系统的连接性。处理单元190因此可以经由网络104从其他计算系统或服务接收信息和指令。处理单元190还可以与存储器180来回通信,并且还经由输入/输出装置接口196提供用于可选显示器(未示出)的输出信息。输入/输出装置接口196还可以接受来自可选输入装置(未示出)的输入。
存储器180可以包含处理单元190执行以便实施本公开的一个或多个方面的计算机程序指令(在一些实施方案中被分组成模块)。存储器180通常包括RAM、ROM和/或其他永久性的、辅助的或非暂时性的计算机可读介质。存储器180可以存储操作系统184,所述操作系统提供供处理单元190在路由管理器150的一般管理和操作中使用的计算机程序指令。存储器180还可以包括用于实施本公开的各方面的计算机程序指令和其他信息。例如,在一个实施方案中,存储器180包括用户界面单元182,所述用户界面单元例如经由导航和/或浏览界面(诸如安装在计算装置上的浏览器或应用程序)生成用于在计算装置上显示的用户界面(和/或其指令)。另外,存储器180可以包括一个或多个数据储存库(未示出)和/或可以与其通信,以例如访问用户程序代码和/或库。
除了用户界面单元182之外和/或与用户界面单元182结合,存储器180可以包括可以由处理单元190执行的路由参数确定单元186和容器查找单元188。在一个实施方案中,用户界面单元182、路由参数确定单元186和容器查找单元188单独地或共同地实施本公开的各个方面,例如维护用于将请求路由到适当的容器的路由信息,处理传入的代码执行请求,确定与请求相关联的路由参数,识别将用于处理请求的容器等,如下文另外描述。
路由参数确定单元186确定与给定的代码执行请求相关联的路由参数。例如,路由参数确定单元186处理代码执行请求并提取请求中所包括的路由参数。另外或另选地,路由参数确定单元186基于与请求相关联的账户、与请求相关联的程序代码、请求中所包括的执行参数、或与请求相关联的其他元数据(诸如接收时间等)中的一个或多个来确定路由参数。
容器查找单元188使用所确定的路由参数来查找请求应被路由到的适当容器。可以使用任何已知的散列和/或查找方案来将路由参数与特定容器关联,并基于路由参数确定适当的容器。
虽然路由参数确定单元186和容器查找单元188在图2中示出为路由管理器150的一部分,但是在其他实施方案中,路由参数确定单元186和容器查找单元188的全部或一部分可以作为单个单元、单独的单元或以分布式方式由虚拟计算系统110的其他部件和/或另一个计算装置实施。例如,在本公开的某些实施方案中,与虚拟计算系统110通信的另一个计算装置可以包括与示为路由管理器150的一部分的模块和部件类似地操作的若干模块或部件。
用于路由代码执行请求的示例性例程
现在参考图3,将描述由虚拟计算系统110的一个或多个部件(例如,路由管理器150)实施的例程300。虽然关于路由管理器150进行的实施来描述例程300,但是相关领域的技术人员将明白,替代部件可以实施例程300或者一个或多个框可以由不同的部件或以分布式方式来实施。
在说明性例程300的框302处,路由管理器150维护多个虚拟机实例。多个虚拟机实例可以包括预热池(例如,预热池130A),所述预热池包括其上加载有一个或多个软件部件并等待分配给用户的虚拟机实例;以及活动池(例如,活动池140A),所述活动池包括当前分配给一个或多个用户的虚拟机实例。活动池中的虚拟机实例可以在其上创建有用于在其中执行程序代码的一个或多个容器。
在框304处,路由管理器150处理在虚拟计算系统110上执行程序代码的请求。所述请求可以包括将基于通过程序代码的先前执行修改的一个或多个计算资源来执行程序代码的用户指示。例如,程序代码的先前执行可能已经致使某些数据(例如,存储在数据库中的键值对、函数返回值等)被检索(例如,从与虚拟计算系统110通信的外部数据库服务)或者被计算并本地存储在其中发生先前执行的容器内,并且可以从访问存储的数据中受益的任何后续请求或包括使用这种存储的数据的用户指示的任何后续请求可以被路由到其中发生先前执行的容器,使得后续执行可以访问本地存储的数据。所述请求还可以包括用户账户信息(例如,与用户相关联的账户的标识)、程序代码信息(例如,将执行的第一程序代码的标识)和将用于执行第一程序代码的一个或多个参数(例如,执行参数、函数参量等)。
在框306处,路由管理器150基于将基于通过程序代码的先前执行修改的一个或多个计算资源来执行程序代码的用户指示,识别所述多个虚拟机实例中的第一虚拟机实例上与一个或多个计算资源相关联的容器。例如,路由管理器150可以基于请求中提供的用户指示来计算散列值,并且在虚拟计算系统上所维护的映射表(例如,映射数据150A)中执行散列值的查找,所述映射表将散列值映射到特定的容器。例如,用户指示(或在虚拟计算系统110上维护的映射数据150A)还可以规定与相同参数(例如,将用于查找天气信息的邮政编码)相关联的请求应当被路由到相同的参数容器。虽然容器被用作示例性目的地,但是请求或映射数据150A可以指示请求应当被路由到多个容器或一组容器中的一个。
在框308处,路由管理器150致使程序代码在容器中执行。在一个示例中,路由管理器150(或虚拟计算系统110的另一个部件,诸如工作者管理器140)可以确定是否已经在容器中处理了相同类型的请求,并且如果是,则确定与容器相关联的一个或多个计算机资源是否包含可以促进程序代码的执行的信息。例如,与程序代码相关联的先前执行结果可能已经被存储在与容器相关联的存储器中。在这种情况下,程序代码的当前执行可以基于先前执行结果的可用性输出或返回先前执行结果或省略某些计算操作(例如,数据检索、函数调用、数据计算等),从而实现延时缩短。
虽然上文已经参考框302-308描述了图3的例程300,但是本文描述的实施方案不限于此,并且可以省略、修改或交换一个或多个框,而不脱离本公开的精神。
示例性映射表
现在参考图4,将描述由虚拟计算系统110或图1的辅助服务106维护的示例性映射表。如图4所示,表400包括标记为“请求A”、“请求B”、“请求C”和“请求D”的传入的代码执行请求,其中每个请求与路由参数和容器ID相关联。例如,请求A的路由参数值为X并且容器ID为2,请求B的路由参数值为Y并且容器ID为7,请求C的路由参数值为C并且容器ID为2,并且请求D的路由参数值为D并且容器ID为1。在图4的示例中,假定请求A-D被虚拟计算系统110依序接收(例如,A,然后B,然后C,然后D)。路由管理器150可以基于请求中所包括的路由参数或者基于请求的性质(例如,相关联的用户账户、函数等)来确定与请求A相关联的路由参数。路由管理器150确定请求A的路由参数为“X”,并且识别与路由参数X相关联的容器,所述容器是ID值为2的容器。在处理请求A之后,基于所确定的路由参数值“Y”,接收请求B并将其路由到ID值为7的容器。当接收到请求C时,路由管理器150确定请求C具有与先前处理的请求A相同的路由参数值。根据映射表400,也使用ID值为2的容器来处理请求C,如果请求C能够利用由请求A处理并与ID值为2的容器相关联地存储的信息,则潜在地实现一些延时增益。然后,基于所确定的路由参数值“Z”,接收到请求D并将其路由到ID值为1的容器。在一些实施方案中,路由参数值可以指示被请求用于执行程序代码的特定资源(例如,标识资源的资源ID,诸如图1的资源158C和资源159A-1)。例如,可以将请求使用相同资源的请求路由到相同容器或相同组的容器。
映射表(或映射数据150A)不限于图4的示例中所示的配置,并且可以包括可以用于确定应当如何将请求路由到哪些容器的任何数量的参数。
用于高速缓存代码执行结果的示例性例程
现在参考图5,将描述由虚拟计算系统110的一个或多个部件(例如,路由管理器150)实施的例程500。虽然关于路由管理器150进行的实施描述了例程500,但是相关领域的技术人员将明白,替代部件可以实施例程500或者一个或多个框可以由不同的部件或以分布式方式来实施。
在说明性例程500的框502处,路由管理器150将执行程序代码的请求路由到容器。可能已经根据参考图3描述的例程300识别请求所路由到的容器。
在框504处,路由管理器150确定在与容器相关联的资源(例如,存储器、磁盘存储装置、数据库等)之一中是否可利用可以被请求利用的先前代码执行数据。在一些示例中,路由管理器150可以确定与容器相关联的计算资源是否包含可用于结合当前请求使用的任何信息(例如,代码执行结果,或其他数据、确定和/或计算)。如果路由管理器150确定可以被请求利用的先前代码执行数据可用,则例程进行到框510,其中先前代码执行数据被呈现给程序代码。否则,例程500进行到框506。
在框506处,路由管理器150致使程序代码在容器中执行。程序代码可以使用请求中所包括的一个或多个参数来执行。在一些实施方案中,呈现给程序代码的高速缓存的数据致使程序代码以与程序代码在没有高速缓存的数据时具有的状态不同的状态开始。程序代码可以基于高速缓存的数据的可用性而省略某些计算操作(诸如数据检索或计算)。一旦代码执行完成,路由管理器150就可以存储任何信息,这些信息可以促进处理与容器相关联的一个或多个计算资源中的相同或类似类型的未来请求。在框508处,路由管理器150输出从执行程序代码获得的代码执行结果。在一些情况下,输出的代码执行结果可以与在框510处呈现给程序代码的高速缓存的数据相同。在其他情况下,程序代码还处理或修改高速缓存的数据以产生与高速缓存的数据不同的代码执行结果。
尽管上文已经参考框502-510描述了图5的例程500,但是本文描述的实施方案不限于此,并且可以省略、修改或交换一个或多个框,而不脱离本公开的精神。
用于管理容器生命周期的示例性例程
现在参考图6,将描述由虚拟计算系统110的一个或多个部件(例如,路由管理器150)实施的例程600。虽然关于路由管理器150进行的实施描述了例程600,但是相关领域的技术人员将明白,替代部件可以实施例程600或者一个或多个框可以由不同的部件或以分布式方式来实施。
在说明性例程600的框602处,路由管理器150完成在容器上执行程序代码。在框604处,路由管理器150基于完成的执行更新与容器相关联的一个或多个计算资源。更新的计算资源可以包括可以促进处理相同或类似类型的未来请求的信息,如参考图5所讨论。
在框606处,路由管理器150确定是否满足用于保持容器活动的一个或多个阈值标准。在一些情况下,即使虚拟计算系统110没有可以使用容器处理的任何请求,容器也可能不会立即关闭,预期这样的请求可能很快到达并且利用与容器相关联存储的信息。在这种情况下,如果通过保持容器活动并且使用容器处理未来请求来实现的性能增益超过保持容器活动的成本,则路由管理器150可以选择使容器保持活动达超过正常调度表的一段延长的时间段。阈值标准可以包括接收相同类型的请求的阈值频率等级。例如,如果容器具有在不久的将来可以被大量使用的高速缓存的信息(例如,预期以比阈值频率等级更高的频率接收),则路由管理器150可以保持容器活动。阈值标准可以包括与容器相关联存储的信息的阈值大小。如果容器具有存储在本地存储器或存储装置中的大量信息(例如,大于阈值量),则路由管理器150可以保持容器活动。如果路由管理器150确定不满足阈值标准,则例程600进行到610。否则,例程600进行到框608。
在框608处,路由管理器150保持容器运行以处理未来的代码执行请求。在一些实施方案中,容器保持活动超过其正常调度表的持续时间与存储在容器中的信息的大小或接收将使用存储在容器中的信息的请求的所预期的频率成比例。在其他实施方案中,容器保持活动达一段固定的持续时间,并且如果容器在所述固定持续时间内保持空闲,则容器关闭。
在框610处,路由管理器150致使与容器相关联的任何高速缓存的数据呈现给关闭程序代码(或关闭钩子),所述关闭程序代码被配置成在容器关闭时执行。关闭程序代码可以用于执行任何日志、监控、清理或与容器相关联的其他操作。在框612处,路由管理器150致使关闭程序代码在容器中执行。在框614处,路由管理器150致使容器关闭。在一些实施方案中,路由管理器150可以在执行关闭之前通知容器关闭,使得存储在容器特定计算资源中的任何数据即使在关闭容器之后,也可以存储在可用的永久存储装置中。
尽管上文已经参考框602-608描述了图6的例程600,但是本文描述的实施方案不限于此,并且可以省略、修改或交换一个或多个框,而不脱离本公开的精神。例如,在一些实施方案中,在框614处,容器不关闭,而是重置或清除。
其他考虑事项
本领域中的技术人员将明白,本公开中描述的所有功能可以在由所公开部件和移动通信装置的一个或多个物理处理器执行的软件中实施。所述软件可以持久存储在任何类型的非易失性存储装置中。
除非另外特别说明,或者在所用的上下文中理解,否则诸如“能够”、“可以”、“可能”或“可”等条件语言通常意图表示,尽管其他实施方案不包括,但某些实施方案包括某些特征、元件和/或步骤。因此,这样的条件语言通常不意图以任何方式暗指一个或多个实施方案需要特征、元件和/或步骤,或者一个或多个实施方案有必要包括用于在具有或不具有用户输入或提示的情况下决定这些特征、元件和/或步骤是否包括在任何特定实施方案中或将在其中执行。
本文所描述和/或附图所描绘的流程图中的任何过程说明、元件或框应当理解成潜在地代表包括用于实施过程中的特定逻辑功能或步骤的一个或多个可执行指令的代码模块、片段或部分。替代实施包括在本文描述的实施方案的范围内,其中元件或功能可以被删除,不按所示或所讨论的顺序执行,包括基本上同时或以相反的顺序执行,这取决于所涉及的功能,如本领域技术人员将理解。另外应当明白,可以将上述数据和/或部件存储在计算机可读介质上并且使用与存储计算机可执行部件的计算机可读存储介质(诸如CD-ROM、DVD-ROM或网络接口)相关联的驱动机构将其加载到计算装置的存储器中。此外,部件和/或数据可以包括在单个装置中或以任何方式分布。因此,通用计算装置可以被配置成通过处理和/或执行上述各种数据和/或部件来实施本公开的过程、算法和方法。
考虑到以下条款可以更好地理解上述内容:
1.一种用于提供低延时计算容量的系统,所述系统包括:
外部数据库服务,其被配置成存储多个键值对;
虚拟计算系统,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,所述虚拟计算系统与所述外部数据库服务通信并且被配置成至少:
在一个或多个物理计算装置上维护多个虚拟机实例,其中所述多个虚拟机实例包括:
预热池,其包括虚拟机实例,所述虚拟机实例上加载有一个或多个软件部件并且等待被分配给用户;以及
活动池,其包括当前分配给一个或多个用户的虚拟机实例;
处理在所述虚拟计算系统上执行与第一用户相关联的第一程序代码的第一请求,所述第一请求包括所述第一用户的标识,以及将用于执行所述第一程序代码的一个或多个第一执行参数;
使用所述一个或多个第一执行参数在所述活动池中的第一虚拟机实例上创建的第一容器中执行所述第一程序代码,所述程序代码的所述执行致使从所述外部数据库服务中检索所述多个键值对中的一个或多个键值对并将其本地存储在所述第一容器内;
处理在所述虚拟计算系统上执行所述第一程序代码的第二请求,所述第二请求包括所述第一用户的所述标识、将用于执行所述第一程序代码的一个或多个第二执行参数以及使用先前用于处理所述第一请求的所述第一容器来处理所述第二请求的用户指示;并且
基于将使用所述第一容器来处理所述第二请求的所述用户指示,使用所述一个或多个第二执行参数在所述第一容器中执行所述第一程序代码,所述第一程序代码的所述执行访问本地存储在所述第一容器中的所述一个或多个键值对,使得与基于所述一个或多个第二执行参数执行所述第一程序代码相关联的延时缩短。
2.根据条款1所述的系统,其中所述虚拟计算系统被配置成通过计算与所述用户指示相关联的散列值并且在由所述虚拟计算系统维护的映射表中执行对所计算的散列值的查找来识别所述第一容器,所述映射表将一个或多个散列值映射到在所述多个虚拟机实例上运行的特定容器。
3.根据条款1所述的系统,其中使用所述一个或多个第二执行参数执行所述第一程序代码基于本地存储在所述第一容器内的所述一个或多个键值对来省略从所述外部数据库服务中的至少一次数据检索。
4.根据条款1所述的系统,其中所述虚拟计算系统还被配置成即使在已经完成使用所述一个或多个第二执行参数执行所述第一程序代码之后,仍保持所述第一容器运行,使得可以使用所述第一容器处理后续请求,所述后续请求提供使用所述第一容器的指示。
5.一种系统,包括:
虚拟计算系统,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,并且被配置成至少:
在一个或多个物理计算装置上维护多个虚拟机实例;
处理在所述虚拟计算系统上执行第一程序代码的第一请求,所述第一请求包括用户账户信息、将用于执行所述第一程序代码的一个或多个参数以及将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的用户指示;
基于将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的所述用户指示,识别所述多个虚拟机实例中的第一虚拟机实例上与通过所述第一程序代码的先前执行修改的所述一个或多个计算资源相关联的第一容器;并且
致使基于与所述第一容器相关联的所述一个或多个计算资源在所述第一容器中执行所述第一程序代码。
6.根据条款5所述的系统,其中所述虚拟计算系统被配置成维护映射表,所述映射表将与传入的代码执行请求相关联的一个或多个值映射到在所述多个虚拟机实例上运行的特定容器。
7.根据条款5所述的系统,其中与所述第一容器相关联的所述一个或多个计算资源包括所述第一容器内的本地存储装置,所述本地存储装置存储结合所述第一程序代码的所述先前执行从与所述虚拟计算系统通信的外部服务中检索的数据。
8.根据条款5所述的系统,其中所述虚拟计算系统还被配置成:
确定与所述第一容器相关联的所述一个或多个计算资源包含与所述第一程序代码的所述先前执行相关联的高速缓存的数据;并且
致使向所述第一程序代码在所述第一容器中的所述执行呈现所述高速缓存的数据,其中所述第一程序代码的所述执行基于所述高速缓存的数据省略至少一个计算操作,从而实现缩短的延时。
9.根据条款5所述的系统,其中所述第一虚拟机实例具有可由在所述第一虚拟机实例上运行的一个或多个容器访问的一个或多个实例特定计算资源。
10.根据条款5所述的系统,其中所述用户指示指定致使所述虚拟计算系统将所述第一请求路由到用户选择的容器的参数。
11.根据条款5所述的系统,其中所述虚拟计算系统被配置成将包括相同用户指示的传入的代码执行请求路由到相同容器。
12.根据条款5所述的系统,其中所述虚拟计算系统还被配置成当所述第一容器关闭时自动执行与所述第一容器相关联的关闭程序代码。
13.一种计算机实施的方法,包括:
如由配置有特定可执行指令的一个或多个计算装置实施,
在一个或多个物理计算装置上维护多个虚拟机实例;
处理在所述虚拟计算系统上执行第一程序代码的第一请求,所述第一请求包括用户账户信息、将用于执行所述第一程序代码的一个或多个参数以及将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的用户指示;
基于将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的所述用户指示,识别所述多个虚拟机实例中的第一虚拟机实例上与通过所述第一程序代码的先前执行修改的所述一个或多个计算资源相关联的第一容器;以及
致使基于与所述第一容器相关联的所述一个或多个计算资源在所述第一容器中执行所述第一程序代码。
14.根据条款13所述的方法,其还包括维护映射表,所述映射表将与所述传入的代码执行请求相关联的一个或多个值映射到在所述多个虚拟机实例上运行的特定容器。
15.根据条款13所述的方法,其中与所述第一容器相关联的所述一个或多个计算资源包括所述第一容器内的本地存储装置,所述本地存储装置存储结合所述第一程序代码的所述先前执行从与所述虚拟计算系统通信的外部服务中检索的数据。
16.根据条款13所述的方法,其还包括:
确定与所述第一容器相关联的所述一个或多个计算资源包含与所述第一程序代码的所述先前执行相关联的高速缓存的数据;以及
致使向所述第一程序代码在所述第一容器中的所述执行呈现所述高速缓存的数据,其中所述第一程序代码的所述执行基于所述高速缓存的数据省略至少一个计算操作,从而实现缩短的延时。
17.根据条款13所述的方法,其中所述第一虚拟机实例具有可由在所述第一虚拟机实例上运行的一个或多个容器访问的一个或多个实例特定计算资源。
18.根据条款13所述的方法,其中所述用户指示指定致使所述虚拟计算系统将所述第一请求路由到用户选择的容器的参数。
19.根据条款13所述的方法,其还包括将包括相同用户指示的传入的代码执行请求路由到相同容器。
20.根据条款13所述的方法,其还包括当所述第一容器关闭时自动执行与所述第一容器相关联的关闭程序代码。
应当强调的是,可以对上述实施方案作出许多变化和修改,其中的元件将被理解为是其他可接受的示例。本文中所有这些修改和变化都旨在包括在本公开的范围内并且由以下权利要求保护。

Claims (15)

1.一种用于提供低延时计算容量的系统,所述系统包括:
外部数据库服务,其被配置成存储多个键值对;
虚拟计算系统,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,所述虚拟计算系统与所述外部数据库服务通信并且被配置成至少:
在一个或多个物理计算装置上维护多个虚拟机实例,其中所述多个虚拟机实例包括:
预热池,其包括虚拟机实例,所述虚拟机实例上加载有一个或多个软件部件并且等待被分配给用户;以及
活动池,其包括当前分配给一个或多个用户的虚拟机实例;
处理在所述虚拟计算系统上执行与第一用户相关联的第一程序代码的第一请求,所述第一请求包括所述第一用户的标识,以及将用于执行所述第一程序代码的一个或多个第一执行参数;
使用所述一个或多个第一执行参数在所述活动池中的第一虚拟机实例上创建的第一容器中执行所述第一程序代码,所述程序代码的所述执行致使从所述外部数据库服务中检索所述多个键值对中的一个或多个键值对并将其本地存储在所述第一容器内;
处理在所述虚拟计算系统上执行所述第一程序代码的第二请求,所述第二请求包括所述第一用户的所述标识、将用于执行所述第一程序代码的一个或多个第二执行参数以及使用先前用于处理所述第一请求的所述第一容器来处理所述第二请求的用户指示;并且
基于将使用所述第一容器来处理所述第二请求的所述用户指示,使用所述一个或多个第二执行参数在所述第一容器中执行所述第一程序代码,所述第一程序代码的所述执行访问本地存储在所述第一容器内的所述一个或多个键值对,使得与基于所述一个或多个第二执行参数执行所述第一程序代码相关联的延时缩短。
2.根据权利要求1所述的系统,其中所述虚拟计算系统被配置成通过计算与所述用户指示相关联的散列值并且在由所述虚拟计算系统维护的映射表中执行对所计算的散列值的查找来识别所述第一容器,所述映射表将一个或多个散列值映射到在所述多个虚拟机实例上运行的特定容器。
3.根据权利要求1所述的系统,其中使用所述一个或多个第二执行参数执行所述第一程序代码基于本地存储在所述第一容器内的所述一个或多个键值对来省略从所述外部数据库服务中的至少一次数据检索。
4.根据权利要求1所述的系统,其中所述虚拟计算系统还被配置成即使在已经完成使用所述一个或多个第二执行参数执行所述第一程序代码之后,仍保持所述第一容器运行,使得可以使用所述第一容器处理后续请求,所述后续请求提供使用所述第一容器的指示。
5.一种系统,包括:
虚拟计算系统,其包括执行特定计算机可执行指令的一个或多个硬件计算装置,并且被配置成至少:
在一个或多个物理计算装置上维护多个虚拟机实例;
处理在所述虚拟计算系统上执行第一程序代码的第一请求,所述第一请求包括用户账户信息、将用于执行所述第一程序代码的一个或多个参数以及将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的用户指示;
基于将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的所述用户指示,识别所述多个虚拟机实例中的第一虚拟机实例上与通过所述第一程序代码的先前执行修改的所述一个或多个计算资源相关联的第一容器;并且
致使基于与所述第一容器相关联的所述一个或多个计算资源在所述第一容器中执行所述第一程序代码。
6.根据权利要求5所述的系统,其中所述虚拟计算系统被配置成维护映射表,所述映射表将与传入的代码执行请求相关联的一个或多个值映射到在所述多个虚拟机实例上运行的特定容器。
7.根据权利要求5所述的系统,其中与所述第一容器相关联的所述一个或多个计算资源包括所述第一容器内的本地存储装置,所述本地存储装置存储结合所述第一程序代码的所述先前执行从与所述虚拟计算系统通信的外部服务中检索的数据。
8.根据权利要求5所述的系统,其中所述虚拟计算系统还被配置成:
确定与所述第一容器相关联的所述一个或多个计算资源包含与所述第一程序代码的所述先前执行相关联的高速缓存的数据;并且
致使向所述第一程序代码在所述第一容器中的所述执行呈现所述高速缓存的数据,其中所述第一程序代码的所述执行基于所述高速缓存的数据省略至少一个计算操作,从而实现缩短的延时。
9.根据权利要求5所述的系统,其中所述第一虚拟机实例具有可由在所述第一虚拟机实例上运行的一个或多个容器访问的一个或多个实例特定计算资源。
10.根据权利要求5所述的系统,其中所述用户指示指定致使所述虚拟计算系统将所述第一请求路由到用户选择的容器的参数。
11.根据权利要求5所述的系统,其中所述虚拟计算系统被配置成将包括相同用户指示的传入的代码执行请求路由到相同容器。
12.根据权利要求5所述的系统,其中所述虚拟计算系统还被配置成当所述第一容器关闭时自动执行与所述第一容器相关联的关闭程序代码。
13.一种计算机实施的方法,包括:
如由配置有特定可执行指令的一个或多个计算装置实施,
在一个或多个物理计算装置上维护多个虚拟机实例;
处理在所述虚拟计算系统上执行第一程序代码的第一请求,所述第一请求包括用户账户信息、将用于执行所述第一程序代码的一个或多个参数以及将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的用户指示;
基于将基于通过所述第一程序代码的先前执行修改的一个或多个计算资源来执行所述第一程序代码的所述用户指示,识别所述多个虚拟机实例中的第一虚拟机实例上与通过所述第一程序代码的先前执行修改的所述一个或多个计算资源相关联的第一容器;以及
致使基于与所述第一容器相关联的所述一个或多个计算资源在所述第一容器中执行所述第一程序代码。
14.根据权利要求13所述的方法,其还包括维护映射表,所述映射表将与所述传入的代码执行请求相关联的一个或多个值映射到在所述多个虚拟机实例上运行的特定容器。
15.根据权利要求13所述的方法,其中与所述第一容器相关联的所述一个或多个计算资源包括所述第一容器内的本地存储装置,所述本地存储装置存储结合所述第一程序代码的所述先前执行从与所述虚拟计算系统通信的外部服务中检索的数据。
CN201680072794.XA 2015-12-21 2016-12-15 代码执行请求路由 Active CN108369534B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/977,544 US9910713B2 (en) 2015-12-21 2015-12-21 Code execution request routing
US14/977,544 2015-12-21
PCT/US2016/066997 WO2017112526A1 (en) 2015-12-21 2016-12-15 Code execution request routing

Publications (2)

Publication Number Publication Date
CN108369534A true CN108369534A (zh) 2018-08-03
CN108369534B CN108369534B (zh) 2022-03-11

Family

ID=57758741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680072794.XA Active CN108369534B (zh) 2015-12-21 2016-12-15 代码执行请求路由

Country Status (5)

Country Link
US (3) US9910713B2 (zh)
EP (1) EP3394750B1 (zh)
JP (2) JP6647398B2 (zh)
CN (1) CN108369534B (zh)
WO (1) WO2017112526A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023129613A1 (en) * 2021-12-30 2023-07-06 Skillz Platform Inc. System and method for remotely interacting with cloud-based client applications
WO2023124167A1 (zh) * 2021-12-31 2023-07-06 国电南瑞科技股份有限公司 一种容器无感知启动方法及系统

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101579715B1 (ko) 2013-04-10 2015-12-22 일루미오, 아이엔씨. 로지컬 다차원 레이블기반 정책 모델을 이용한 분산 네트워크 관리
US9882919B2 (en) 2013-04-10 2018-01-30 Illumio, Inc. Distributed network security using a logical multi-dimensional label-based policy model
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
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
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
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
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
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
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
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
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
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US11824863B2 (en) * 2016-11-03 2023-11-21 Nicira, Inc. Performing services on a host
US10678935B2 (en) * 2017-04-11 2020-06-09 Nicira, Inc. Identifying container file events for providing container security
US10956220B2 (en) * 2017-06-04 2021-03-23 Apple Inc. Scheduler for amp architecture using a closed loop performance and thermal controller
US12045693B2 (en) * 2017-11-22 2024-07-23 Amazon Technologies, Inc. Packaging and deploying algorithms for flexible machine learning
US10831519B2 (en) 2017-11-22 2020-11-10 Amazon Technologies, Inc. Packaging and deploying algorithms for flexible machine learning
US11977958B2 (en) 2017-11-22 2024-05-07 Amazon Technologies, Inc. Network-accessible machine learning model training and hosting system
US10962595B1 (en) * 2017-12-04 2021-03-30 Synopsys, Inc. Efficient realization of coverage collection in emulation
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US20190222610A1 (en) * 2018-01-18 2019-07-18 Illumio, Inc. User-Based Visibility and Control of a Segmentation Policy
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
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US11463330B2 (en) * 2018-03-15 2022-10-04 Grant Viklund System and methods for scalable cloud-based platform and related applications
US10884788B2 (en) 2018-04-03 2021-01-05 Amazon Technologies, Inc. On-demand code execution with limited memory footprint
US11012310B2 (en) * 2018-06-05 2021-05-18 Illumio, Inc. Managing containers based on pairing keys in a segmented network environment
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
US10587529B1 (en) * 2018-09-24 2020-03-10 Amazon Technologies, Inc. Dynamic selection of router groups to manage computing instances
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11327814B2 (en) * 2018-11-28 2022-05-10 International Business Machines Corporation Semaphores for serverless computing
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
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
WO2020226659A1 (en) * 2019-05-09 2020-11-12 Huawei Technologies Co., Ltd. Faas warm startup and scheduling
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11173389B2 (en) * 2019-07-30 2021-11-16 Sony Interactive Entertainment LLC Multipath wireless controller
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
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
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
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
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
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
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
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11422844B1 (en) 2019-11-27 2022-08-23 Amazon Technologies, Inc. Client-specified network interface configuration for serverless container management service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11392422B1 (en) * 2019-11-27 2022-07-19 Amazon Technologies, Inc. Service-managed containers for container orchestration service
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
US11403150B1 (en) 2020-06-23 2022-08-02 Amazon Technologies, Inc. Replenishment-aware resource usage management
US11573816B1 (en) 2020-06-26 2023-02-07 Amazon Technologies, Inc. Prefetching and managing container images using cluster manifest
US11487591B1 (en) 2020-06-29 2022-11-01 Amazon Technologies, Inc. Automatically configuring execution of a containerized application
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
US11853807B1 (en) 2020-12-01 2023-12-26 Amazon Technologies, Inc. Cluster scaling based on task state information
US11797287B1 (en) 2021-03-17 2023-10-24 Amazon Technologies, Inc. Automatically terminating deployment of containerized applications
US11729080B2 (en) * 2021-05-12 2023-08-15 Vmware, Inc. Agentless method to automatically detect low latency groups in containerized infrastructures
US11900173B2 (en) * 2021-05-18 2024-02-13 Kyndryl, Inc. Container runtime optimization
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11892418B1 (en) 2021-06-30 2024-02-06 Amazon Technologies, Inc. Container image inspection and optimization
US11989586B1 (en) 2021-06-30 2024-05-21 Amazon Technologies, Inc. Scaling up computing resource allocations for execution of containerized applications
US11995466B1 (en) * 2021-06-30 2024-05-28 Amazon Technologies, Inc. Scaling down computing resource allocations for execution of containerized applications
CN113849273B (zh) * 2021-09-26 2024-06-28 北京百度网讯科技有限公司 接入处理的方法、设备、存储介质及程序产品
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063500A (en) * 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine
CN101764824A (zh) * 2010-01-28 2010-06-30 深圳市同洲电子股份有限公司 一种分布式缓存控制方法、装置及系统
US20110022711A1 (en) * 2009-07-22 2011-01-27 Cohn Daniel T Dynamically migrating computer networks
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN102365858A (zh) * 2009-01-28 2012-02-29 海德沃特合作I有限公司 接入服务供应商的开放式开发系统
US20120054744A1 (en) * 2010-05-10 2012-03-01 Manbinder Pal Singh Redirection of Information from Secure Virtual Machines to Unsecure Virtual Machines
CN103098027A (zh) * 2010-09-21 2013-05-08 亚马逊技术有限公司 用于动态管理计算容量请求的方法和系统
US20130198319A1 (en) * 2012-01-31 2013-08-01 Vmware, Inc. Elastic allocation of computing resources to software applications
US8806266B1 (en) * 2011-09-28 2014-08-12 Juniper Networks, Inc. High availability using full memory replication between virtual machine instances on a network device
US20140359608A1 (en) * 2013-05-28 2014-12-04 Red Hat Israel, Ltd. Systems and Methods for Timer Based Virtual Processor Scheduling
US9146764B1 (en) * 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
WO2015149017A1 (en) * 2014-03-28 2015-10-01 Amazon Technologies, Inc. Implementation of a service that coordinates the placement and execution of containers

Family Cites Families (592)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949254A (en) 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5283888A (en) * 1991-08-27 1994-02-01 International Business Machines Corporation Voice processing interface unit employing virtual screen communications for accessing a plurality of primed applications
DE19500957A1 (de) 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
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
US6501736B1 (en) 1999-03-19 2002-12-31 Lucent Technologies Inc. System for increasing the call capacity of a wireless communication system
JP2000305796A (ja) 1999-04-22 2000-11-02 Hitachi Ltd 電子計算機間のジョブ転送方法およびジョブ転送システム
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
US7472349B1 (en) 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
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
JP2001331333A (ja) 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
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 任宇清 内嵌软件更新系统
US20040205493A1 (en) 2001-08-08 2004-10-14 Simpson Shell S. Web based imaging application that creates customized content based on user selections
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
US7269833B2 (en) 2001-12-12 2007-09-11 Sun Microsystems, Inc. Scriptable plug-in application programming interface
US7174566B2 (en) 2002-02-01 2007-02-06 Intel Corporation Integrated network intrusion detection
US7093004B2 (en) 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US8527408B2 (en) 2002-05-06 2013-09-03 Bottom Line Technologies (De), Inc. Integrated payment system
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
US7107585B2 (en) 2002-07-29 2006-09-12 Arm Limited Compilation of application code in a data processing apparatus
US7747989B1 (en) 2002-08-12 2010-06-29 Mips Technologies, Inc. Virtual machine coprocessor facilitating dynamic compilation
US7386855B2 (en) 2002-08-12 2008-06-10 Ntt Docomo, Inc. Application mobility service
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
JP2004102597A (ja) 2002-09-09 2004-04-02 Fujitsu Ltd コンパイル処理プログラム、コンパイル処理方法、およびコンパイル処理プログラム記録媒体
CN100518176C (zh) 2002-12-02 2009-07-22 Sap股份公司 实现有状态网络应用的会话返回
US7031958B2 (en) 2003-02-06 2006-04-18 International Business Machines Corporation Patterned based query optimization
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
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
US7743029B2 (en) 2003-12-30 2010-06-22 Sap Ag Log configuration and online deployment services
JP2005198201A (ja) 2004-01-09 2005-07-21 Ntt Docomo Inc ネットワークトポロジー構成方法及びノード
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
US20060080678A1 (en) 2004-09-07 2006-04-13 Bailey Mark W Task distribution method for protecting servers and tasks in a distributed 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
JP4191672B2 (ja) 2004-12-14 2008-12-03 ザイオソフト株式会社 ボリュームレンダリング等の画像処理システム
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
US7793290B2 (en) 2004-12-20 2010-09-07 Sap Ag Grip application acceleration by executing grid application based on application usage history prior to user request for application execution
FR2881854B1 (fr) 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
CN100337218C (zh) 2005-02-23 2007-09-12 北京邦诺存储科技有限公司 网络存储系统中的数据管理方法及其构建的网络存储系统
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
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
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 株式会社日立製作所 コンピュータシステム
JP4690767B2 (ja) 2005-05-11 2011-06-01 株式会社日立製作所 ネットワークシステム、サーバ装置および通信方法
US7707579B2 (en) 2005-07-14 2010-04-27 International Business Machines Corporation Method and system for application profiling for purposes of defining resource requirements
US8571913B2 (en) 2005-08-04 2013-10-29 Jeffrey K. Johnson System and method for managing data within a calendaring framework
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
JP4580845B2 (ja) 2005-08-24 2010-11-17 パナソニック株式会社 タスク実行装置
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
US20070101325A1 (en) 2005-10-19 2007-05-03 Juraj Bystricky System and method for utilizing a remote memory to perform an interface save/restore procedure
JP4650203B2 (ja) 2005-10-20 2011-03-16 株式会社日立製作所 情報システム及び管理計算機
US7756972B2 (en) 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
US7861237B2 (en) 2005-12-07 2010-12-28 Microsoft Corporation Reducing unnecessary software transactional memory operations on newly-allocated data
US7725574B2 (en) 2006-01-23 2010-05-25 International Business Machines Corporation Web browser-based programming language error determination and reporting
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7818798B2 (en) 2006-02-03 2010-10-19 Microsoft Corporation Software system with controlled access to objects
CN101421984A (zh) 2006-02-13 2009-04-29 玛丽亚·高斯 基于选定的应用产生并执行平台仿真的系统和方法
US8769511B2 (en) 2006-02-16 2014-07-01 The Regents Of The University Of California Dynamic incremental compiler and method
US20070220009A1 (en) 2006-03-15 2007-09-20 Morris Robert P Methods, systems, and computer program products for controlling access to application data
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US8190682B2 (en) 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US7792944B2 (en) 2006-03-31 2010-09-07 Amazon Technologies, Inc. Executing programs based on user-specified constraints
US7831464B1 (en) 2006-04-06 2010-11-09 ClearPoint Metrics, Inc. Method and system for dynamically representing distributed information
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
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
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
US8315171B2 (en) 2006-10-31 2012-11-20 Oracle America, Inc. Adaptive management of computing resources
US7644204B2 (en) 2006-10-31 2010-01-05 Hewlett-Packard Development Company, L.P. SCSI I/O coordinator
JP4308241B2 (ja) 2006-11-10 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム
US8112747B2 (en) 2006-11-27 2012-02-07 Sap Ag Integrated software support for a distributed business application with seamless backend communications
CN101196974B (zh) 2006-12-06 2011-08-24 国际商业机器公司 用于软件应用程序的自动配置的方法和系统
WO2008077628A2 (en) 2006-12-22 2008-07-03 Virtuallogix Sa System for enabling multiple execution environments to share a device
US8677353B2 (en) 2007-01-11 2014-03-18 Nec Corporation Provisioning a standby virtual machine based on the prediction of a provisioning request being generated
US8554981B2 (en) 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US8655623B2 (en) 2007-02-13 2014-02-18 International Business Machines Corporation Diagnostic system and method
US20080201455A1 (en) 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US8793676B2 (en) 2007-02-15 2014-07-29 Microsoft Corporation Version-resilient loader for custom code runtimes
JP5018133B2 (ja) 2007-02-27 2012-09-05 富士通株式会社 ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム
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
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
WO2008114454A1 (ja) 2007-03-20 2008-09-25 Fujitsu Limited 更新システム、プログラム実行装置及びコンピュータプログラム
US8667471B2 (en) 2007-03-30 2014-03-04 Sap Ag Method and system for customizing profiling sessions
US8522209B2 (en) 2007-03-30 2013-08-27 Sap Ag Method and system for integrating profiling and debugging
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)
US9588821B2 (en) 2007-06-22 2017-03-07 Red Hat, Inc. Automatic determination of required resource allocation of virtual machines
US20090006897A1 (en) 2007-06-27 2009-01-01 Microsoft Corporation Automated service testing
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
EP2206050A4 (en) 2007-09-28 2013-05-22 Xcerion Ab 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
US8473956B2 (en) 2008-01-15 2013-06-25 Microsoft Corporation Priority based scheduling system for server
US8560694B2 (en) 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
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
US8387075B1 (en) 2008-03-28 2013-02-26 Emc Corporation Common scheduling and synchronization primitives
US9086924B2 (en) 2008-04-24 2015-07-21 International Business Machines Corporation Executing a distributed java application on a plurality of compute nodes
US7886021B2 (en) 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US10127059B2 (en) 2008-05-02 2018-11-13 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
US8543998B2 (en) 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
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
JP5215779B2 (ja) 2008-09-01 2013-06-19 キヤノン株式会社 情報処理装置及び情報処理方法
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8381231B2 (en) 2008-09-09 2013-02-19 Dell Products L.P. Deployment and management of virtual containers
US20100094816A1 (en) 2008-09-09 2010-04-15 Lockheed Martin Corporation Safety-Critical Data Checking In Object-Oriented Systems
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
US10365935B1 (en) 2008-09-23 2019-07-30 Open Invention Network Llc Automated system and method to customize and install virtual machine configurations for hosting in a hosting environment
US7937625B2 (en) 2008-09-26 2011-05-03 Microsoft Corporation Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
US20100106926A1 (en) 2008-10-25 2010-04-29 International Business Machines Corporation Second failure data capture problem determination using user selective memory protection to trace application failures
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
US8918488B2 (en) 2009-02-04 2014-12-23 Citrix Systems, Inc. Methods and systems for automated management of virtual resources 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
US9817695B2 (en) 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
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
US10768611B2 (en) 2009-06-16 2020-09-08 Applied Materials, Inc. Counter and timer constraints
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
WO2011002785A1 (en) 2009-06-29 2011-01-06 Fiberlink Communications Corporation Universal connections data collection
US8799879B2 (en) 2009-06-30 2014-08-05 Oracle America, Inc. Method and apparatus for protecting translated code in a virtual machine
WO2011005881A1 (en) 2009-07-07 2011-01-13 Howard Robert S System and method of automatically transforming serial streaming programs into parallel streaming programs
CA2674402C (en) 2009-07-31 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Optimizing on demand allocation of virtual machines using a stateless preallocation pool
US8271653B2 (en) 2009-08-31 2012-09-18 Red Hat, Inc. Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
US8769083B2 (en) 2009-08-31 2014-07-01 Red Hat, Inc. Metering software infrastructure in a cloud computing environment
US20110055683A1 (en) 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
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
US9086922B2 (en) 2009-10-26 2015-07-21 Microsoft Technology Licensing, Llc Opportunistically scheduling and adjusting time slices
US8412856B2 (en) 2009-10-26 2013-04-02 Sony Computer Entertainment America Llc. File input/output scheduler using immediate data chunking
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
US8627456B2 (en) * 2009-12-14 2014-01-07 Citrix Systems, Inc. Methods and systems for preventing access to display graphics generated by a trusted virtual machine
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 株式会社日立製作所 計算機システム及びその可用化方法
US8959217B2 (en) 2010-01-15 2015-02-17 Joyent, Inc. Managing workloads and hardware 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
US8959496B2 (en) 2010-04-21 2015-02-17 Microsoft Corporation Automatic parallelization in a tracing just-in-time compiler system
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
US20110276963A1 (en) 2010-05-04 2011-11-10 Riverbed Technology, Inc. Virtual Data Storage Devices and Applications Over Wide Area Networks
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
US8566792B2 (en) 2010-05-07 2013-10-22 Salesforce, Inc. Validating visual components
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
US8887163B2 (en) 2010-06-25 2014-11-11 Ebay Inc. Task scheduling based on dependencies and resources
US8719415B1 (en) 2010-06-28 2014-05-06 Amazon Technologies, Inc. Use of temporarily available computing nodes for dynamic scaling of a cluster
US8739170B1 (en) 2010-06-30 2014-05-27 Amazon Technologies, Inc. Managing requests for computing capacity
US8473949B2 (en) 2010-07-08 2013-06-25 Microsoft Corporation Methods for supporting users with task continuity and completion across devices and time
US20120016721A1 (en) 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US8612413B2 (en) 2010-08-12 2013-12-17 Cdnetworks Co., Ltd. Distributed data cache for on-demand application acceleration
US8359496B1 (en) 2010-08-31 2013-01-22 Google Inc. Fault-resistant just-in-time compiler
US8490088B2 (en) 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
JP5476261B2 (ja) 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
US8694400B1 (en) 2010-09-14 2014-04-08 Amazon Technologies, Inc. Managing operational throughput for shared resources
JP5653151B2 (ja) 2010-09-17 2015-01-14 キヤノン株式会社 クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法、および管理アプリケーション
JP5644307B2 (ja) 2010-09-17 2014-12-24 富士通株式会社 情報処理装置、情報処理装置の制御方法及び制御プログラム
US8661076B2 (en) 2010-09-23 2014-02-25 Salesforce.Com, Inc. Business networking information feed alerts
AU2011314183B2 (en) 2010-09-30 2014-09-04 Amazon Technologies, Inc. Virtual resource cost tracking with dedicated implementation resources
WO2012049728A1 (ja) 2010-10-12 2012-04-19 富士通株式会社 シミュレーション装置,方法,およびプログラム
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
US8375389B2 (en) 2010-10-20 2013-02-12 Microsoft Corporation Ordered scheduling of suspended processes based on resumption events
US8904190B2 (en) 2010-10-20 2014-12-02 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting sensitive code and data
US9753713B2 (en) 2010-10-22 2017-09-05 Microsoft Technology Licensing, Llc Coordinated upgrades in distributed systems
JP2014038364A (ja) 2010-10-27 2014-02-27 Hitachi Ltd リソース管理サーバ、リソース管理方法及びリソース管理プログラム
US9645839B2 (en) 2010-10-27 2017-05-09 Microsoft Technology Licensing, Llc Stateful applications operating in a stateless cloud computing environment
US8756696B1 (en) 2010-10-30 2014-06-17 Sra International, Inc. System and method for providing a virtualized secure data containment service with a networked environment
US9253016B2 (en) 2010-11-02 2016-02-02 International Business Machines Corporation Management of a data network of a computing environment
US9081613B2 (en) 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
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
RO127693A2 (ro) 2010-12-02 2012-07-30 Adobe Systems Incorporated Transmitere html nativă integrată
US20120151479A1 (en) 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US8601323B2 (en) 2010-12-13 2013-12-03 Sap Ag Advanced management of runtime errors
US8560699B1 (en) 2010-12-28 2013-10-15 Amazon Technologies, Inc. Enforceable launch configurations
US8745734B1 (en) 2010-12-29 2014-06-03 Amazon Technologies, Inc. Managing virtual computing testing
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
US8756581B2 (en) 2011-02-03 2014-06-17 International Business Machines Corporation Adaptive next-executing-cycle trace selection for trace-driven code optimizers
US9967318B2 (en) 2011-02-09 2018-05-08 Cisco Technology, Inc. Apparatus, systems, and methods for cloud agnostic multi-tier application modeling and deployment
US8555281B1 (en) 2011-02-16 2013-10-08 Google Inc. Scheduling of tasks based upon historical execution times
US8495648B1 (en) 2011-02-28 2013-07-23 Amazon Technologies, Inc. Managing allocation of computing capacity
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
US8886937B2 (en) 2011-03-11 2014-11-11 Resource Interactive, Llc PCI DSS compliant proxy service
US8429282B1 (en) 2011-03-22 2013-04-23 Amazon Technologies, Inc. System and method for avoiding system overload by maintaining an ideal request rate
US8910156B1 (en) * 2011-04-29 2014-12-09 Netapp, Inc. Virtual machine dependency
EP2722765B1 (en) 2011-06-14 2016-02-03 NEC Corporation Content delivery system, controller and content delivery method
US20120324236A1 (en) 2011-06-16 2012-12-20 Microsoft Corporation Trusted Snapshot Generation
US8615589B1 (en) 2011-06-27 2013-12-24 Amazon Technologies, Inc. Resource optimization recommendations
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
FR2977116A1 (fr) 2011-06-27 2012-12-28 France Telecom Procede de fourniture de service d'execution de logiciel a la demande
US9594590B2 (en) 2011-06-29 2017-03-14 Hewlett Packard Enterprise Development Lp 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
US8813074B2 (en) 2011-08-05 2014-08-19 Vmware, Inc. Detecting and correcting network interruptions using network address translation
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
EP2748705A4 (en) 2011-08-25 2015-05-20 Virtustream Inc SYSTEMS AND METHODS FOR HOST-RELATED RESOURCE MANAGEMENT WITH CLUSTER-BASED RESOURCE POOLS
US9516368B2 (en) 2011-08-25 2016-12-06 At&T Intellectual Property I, L.P. System for consolidating heterogeneous data centers through virtualization of services
US8898676B2 (en) 2011-08-26 2014-11-25 Vmware, Inc. Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships
US8635607B2 (en) 2011-08-30 2014-01-21 Microsoft Corporation Cloud-based build service
US8832035B2 (en) 2011-08-30 2014-09-09 Netapp, Inc. System and method for retaining deduplication in a storage object after a clone split operation
US20130061220A1 (en) 2011-09-06 2013-03-07 Xerox Corporation Method for on-demand inter-cloud load provisioning for transient bursts of computing needs
US8621439B2 (en) 2011-09-06 2013-12-31 Microsoft Corporation Modern application tracing
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
JP2013061700A (ja) 2011-09-12 2013-04-04 Sony Corp 情報処理装置、情報処理方法、記録媒体および情報処理システム
US8839035B1 (en) 2011-09-14 2014-09-16 Amazon Technologies, Inc. Cloud-based test execution
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
JP5624973B2 (ja) 2011-11-04 2014-11-12 株式会社日立製作所 フィルタリング装置
US9003141B2 (en) 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
WO2013073504A1 (ja) 2011-11-15 2013-05-23 独立行政法人科学技術振興機構 プログラム解析・検証サービス提供システム、その制御方法、制御プログラム、コンピュータを機能させるための制御プログラム、プログラム解析・検証装置、プログラム解析・検証ツール管理装置
TWI478063B (zh) 2011-11-21 2015-03-21 Inst Information Industry 於虛擬機器提供應用程式之系統以及方法以及儲存其之電腦可讀取記錄媒體
AU2012340684A1 (en) 2011-11-22 2014-07-17 Solano Labs, Inc. System of distributed software quality improvement
US8924954B2 (en) 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
TW201322022A (zh) 2011-11-24 2013-06-01 Alibaba Group Holding Ltd 分散式資料流處理方法及其系統
US8826277B2 (en) 2011-11-29 2014-09-02 International Business Machines Corporation Cloud provisioning accelerator
WO2013086455A1 (en) 2011-12-07 2013-06-13 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
US9635132B1 (en) 2011-12-15 2017-04-25 Amazon Technologies, Inc. Service and APIs for remote volume-based block storage
US10310878B2 (en) 2011-12-16 2019-06-04 Vmware, Inc. Execution of an application in a runtime environment installed in a virtual appliance
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
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
US9372735B2 (en) 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US20130185729A1 (en) 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US9223607B2 (en) 2012-01-17 2015-12-29 Microsoft Technology Licensing, Llc System for replicating or migrating virtual machine operations log by throttling guest write iOS based on destination throughput
US9208007B2 (en) 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers
KR101658070B1 (ko) 2012-01-26 2016-09-22 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 연속 월드 스위치 보안을 갖는 데이터 센터
US9262238B2 (en) 2012-01-31 2016-02-16 Red Hat, Inc. Connection management for an application in a computing platform
US9053029B2 (en) 2012-02-06 2015-06-09 Empire Technology Development Llc Multicore computer system with cache use based adaptive scheduling
TWI459296B (zh) 2012-02-21 2014-11-01 Hon Hai Prec Ind Co Ltd 增加伺服器的虛擬機配置數量的方法
US20130227710A1 (en) * 2012-02-27 2013-08-29 Computer Associates Think, Inc. System and method for securing leased images in a cloud environment
US9720668B2 (en) 2012-02-29 2017-08-01 Red Hat, Inc. Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system
US9047133B2 (en) * 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
CN103294554A (zh) 2012-03-05 2013-09-11 中兴通讯股份有限公司 片上系统soc的多处理器的调度方法及装置
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
US20130263117A1 (en) 2012-03-28 2013-10-03 International Business Machines Corporation Allocating resources to virtual machines via a weighted cost ratio
US9026658B2 (en) 2012-03-28 2015-05-05 Microsoft Technology Licensing, Llc Enhanced computer cluster operation using resource allocation requests
US9462081B2 (en) 2012-04-17 2016-10-04 Igt Cloud based virtual environment validation
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
US9053603B2 (en) 2012-04-17 2015-06-09 Igt Cloud based virtual environment authentication
US9256413B2 (en) 2012-04-17 2016-02-09 Sap Se Automatic identification of services
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
US10404551B2 (en) 2012-04-30 2019-09-03 Entit Software Llc Automated event management
US8850514B2 (en) 2012-05-01 2014-09-30 Red Hat, Inc. Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment
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
US8904402B2 (en) 2012-05-30 2014-12-02 Red Hat, Inc. Controlling capacity in a multi-tenant platform-as-a-service environment in a cloud computing system
US8799236B1 (en) 2012-06-15 2014-08-05 Amazon Technologies, Inc. Detecting duplicated content among digital items
US9317689B2 (en) 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
US8782632B1 (en) 2012-06-18 2014-07-15 Tellabs Operations, Inc. Methods and apparatus for performing in-service software upgrade for a network device using system virtualization
US9342326B2 (en) 2012-06-19 2016-05-17 Microsoft Technology Licensing, Llc Allocating identified intermediary tasks for requesting virtual machines within a trust sphere on a processing goal
US9141432B2 (en) 2012-06-20 2015-09-22 International Business Machines Corporation Dynamic pending job queue length for job distribution within a grid environment
US8959484B2 (en) 2012-06-21 2015-02-17 Microsoft Corporation System for hosted, shared, source control build
US8869157B2 (en) 2012-06-21 2014-10-21 Breakingpoint Systems, Inc. Systems and methods for distributing tasks and/or processing recources in a system
US8832820B2 (en) 2012-06-25 2014-09-09 International Business Machines Corporation Isolation and security hardening among workloads in a multi-tenant networked environment
US10031782B2 (en) 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US9098308B2 (en) 2012-06-26 2015-08-04 Marvell World Trade Ltd. Method and apparatus for code performance analysis based on execution trace information
US20140007097A1 (en) 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
US9152443B2 (en) 2012-07-13 2015-10-06 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing
US9396008B2 (en) 2012-07-13 2016-07-19 Ca, Inc. System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts
US9298497B2 (en) 2012-07-13 2016-03-29 Wisconsin Alumni Research Foundation Computer processor providing exception handling with reduced state storage
US8972956B2 (en) 2012-08-02 2015-03-03 International Business Machines Corporation Application deployment in heterogeneous environments
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US8825550B2 (en) 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
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
US9575871B2 (en) 2012-09-04 2017-02-21 Salesforce.Com, Inc. System and method for dynamically debugging data in a multi-tenant database environment
US8966495B2 (en) 2012-09-05 2015-02-24 Cisco Technology, Inc. Dynamic virtual machine consolidation
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
US20140073300A1 (en) 2012-09-10 2014-03-13 Genband Us Llc Managing Telecommunication Services using Proximity-based Technologies
US9379995B2 (en) 2012-09-11 2016-06-28 Vmware, Inc. Resource allocation diagnosis on distributed computer systems based on resource hierarchy
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9116680B2 (en) 2012-09-26 2015-08-25 International Business Machines Corporation Dynamically building locale objects or subsections of locale objects based on historical data
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
JP2014075046A (ja) 2012-10-04 2014-04-24 International Business Maschines Corporation トレース生成方法、装置、プログラム、及び該方法を利用したマルチレベルのコンパイレーション
US9507586B2 (en) 2012-10-05 2016-11-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual machine based controller and upgrade mechanism
US9189645B2 (en) 2012-10-12 2015-11-17 Citrix Systems, Inc. Sharing content across applications and devices having multiple operation modes in an orchestration framework for connected devices
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US9081682B2 (en) * 2012-10-15 2015-07-14 Red Hat Israel, Ltd. Virtual machine installation image caching
US20160019536A1 (en) 2012-10-17 2016-01-21 Royal Bank Of Canada Secure processing of data
US9229759B2 (en) 2012-10-17 2016-01-05 Microsoft Technology Licensing, Llc Virtual machine provisioning using replicated containers
US9600316B2 (en) 2012-10-17 2017-03-21 Microsoft Technology Licensing, Llc Augmented allocation of virtual machines for application
US9262212B2 (en) 2012-11-02 2016-02-16 The Boeing Company Systems and methods for migrating virtual machines
KR20150082218A (ko) 2012-11-05 2015-07-15 엘지전자 주식회사 초고주파 대역을 지원하는 무선 접속 시스템에서 동기 신호 생성 방법 및 장치
US9038068B2 (en) 2012-11-15 2015-05-19 Bank Of America Corporation Capacity reclamation and resource adjustment
US9578098B2 (en) 2012-11-19 2017-02-21 Hitachi, Ltd. Management system and management 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
US10223431B2 (en) 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
US10552774B2 (en) 2013-02-11 2020-02-04 Amazon Technologies, Inc. Cost-minimizing task scheduler
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
US8677359B1 (en) 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US9524489B2 (en) 2013-03-14 2016-12-20 Samsung Electronics Co., Ltd. Computing system with task transfer mechanism and method of operation thereof
US9027087B2 (en) 2013-03-14 2015-05-05 Rackspace Us, Inc. Method and system for identity-based authentication of virtual machines
US9311221B2 (en) 2013-03-15 2016-04-12 Ab Initio Technology Llc Recording program execution
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US9910896B2 (en) 2013-03-15 2018-03-06 Cisco Technology, Inc. Suspending and resuming continuous queries over data streams
US10430332B2 (en) 2013-03-25 2019-10-01 Salesforce.Com, Inc. System and method for performance tuning of garbage collection algorithms
US8893088B2 (en) 2013-04-02 2014-11-18 Apple Inc. Dynamic program evaluation for system adaptation
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
US9628332B2 (en) 2013-05-20 2017-04-18 Microsoft Technology Licensing, Llc Resource allocation to game titles in a remote gaming environment
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
US9591003B2 (en) 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification
US20150067019A1 (en) 2013-08-28 2015-03-05 Soeren Balko Method and system for using arbitrary computing devices for distributed data processing
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
US9680772B2 (en) 2013-09-09 2017-06-13 Vmware, Inc. System and method for managing configuration of virtual switches in a virtual machine network
US10339236B2 (en) 2013-09-10 2019-07-02 Vmware, Inc. Techniques for improving computational throughput by using virtual machines
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
US10635644B2 (en) 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
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
CN103946807B (zh) 2013-11-20 2016-03-09 华为技术有限公司 一种生成快照的方法、系统和装置
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 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
US20160306613A1 (en) 2013-12-03 2016-10-20 Hewlett Packard Enterprise Development Lp Code routine performance prediction using test results from code integration tool
RU2571723C2 (ru) 2013-12-05 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
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
US10459594B2 (en) * 2013-12-31 2019-10-29 Vmware, Inc. Management of a 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
EP3097486A4 (en) 2014-01-20 2018-04-04 Hewlett-Packard Development Company, L.P. Determining a permission of a first tenant with respect to a second tenant
JP6412943B2 (ja) 2014-02-07 2018-10-24 オラクル・インターナショナル・コーポレイション クラウドサービスカスタム実行環境
US10133741B2 (en) 2014-02-13 2018-11-20 Amazon Technologies, Inc. Log data service in a virtual environment
WO2015130262A1 (en) 2014-02-25 2015-09-03 Hewlett-Packard Development Company, L.P. Multiple pools in a multi-core system
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
US20150254248A1 (en) 2014-03-07 2015-09-10 Printeron Inc. System for suggesting network resource for use by a network terminal based on network resource ranking
US9632835B2 (en) 2014-03-17 2017-04-25 Ca, Inc. Deployment of virtual machines to physical host machines based on infrastructure utilization decisions
WO2015140531A1 (en) 2014-03-18 2015-09-24 British Telecommunications Public Limited Company User authentication
US10572817B2 (en) 2014-03-19 2020-02-25 Peopleconnect, Inc. Graph-based organization entity resolution
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)
US20150324229A1 (en) 2014-05-09 2015-11-12 International Business Machines Corporation Propagation of task progress through the use of coalesced time intervals
US9858060B2 (en) 2014-05-09 2018-01-02 International Business Machines Corporation Automated deployment of a private modular cloud-computing environment
US20150332195A1 (en) 2014-05-13 2015-11-19 Linkedln Corporation Facilitating performance monitoring for periodically scheduled workflows
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
FR3021108B1 (fr) 2014-05-16 2016-05-06 Thales Sa Procede d'execution de services en temps reel, notamment de gestion de vol et systeme temps reel mettant en oeuvre un tel procede
US9525893B2 (en) 2014-05-28 2016-12-20 Verizon Patent And Licensing Inc. Methods and systems for managing storage of media program copies within a network digital video recording system
US9703681B2 (en) 2014-05-29 2017-07-11 Microsoft Technology Licensing, Llc Performance optimization tip presentation during debugging
US9390260B2 (en) 2014-06-09 2016-07-12 Lehigh University Methods for enforcing control flow of a computer program
US9361102B2 (en) 2014-06-09 2016-06-07 Lehigh University Methods for enforcing control flow of a computer program
US9218176B1 (en) 2014-06-13 2015-12-22 International Business Machines Corporation Software deployment in a distributed virtual machine environment
US20150371244A1 (en) 2014-06-23 2015-12-24 Ca, Inc. Forecasting information technology workload demand
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
US9760443B2 (en) 2014-06-28 2017-09-12 Vmware, Inc. Using a recovery snapshot during live migration
US9483299B2 (en) 2014-06-30 2016-11-01 Bmc Software, Inc. Capacity risk management for virtual machines
US20150378762A1 (en) 2014-06-30 2015-12-31 Vmware, Inc. Monitoring and dynamic configuration of virtual-machine memory-management
US9613127B1 (en) 2014-06-30 2017-04-04 Quantcast Corporation Automated load-balancing of partitions in arbitrarily imbalanced distributed mapreduce computations
US20160294614A1 (en) 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9983901B2 (en) 2014-07-09 2018-05-29 Google Llc Dynamic shard allocation adjustment
CN107077691B (zh) 2014-07-14 2021-07-13 甲骨文国际公司 用于确定数据库高速缓存命中的基于年龄的策略
US20160019081A1 (en) 2014-07-21 2016-01-21 Vmware,Inc. Viewing a snapshot of a virtual machine
US9612859B2 (en) 2014-07-21 2017-04-04 Vmware, Inc. Comparing states of a virtual machine
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
US20160070714A1 (en) 2014-09-10 2016-03-10 Netapp, Inc. Low-overhead restartable merge operation with efficient crash recovery
US9558020B2 (en) 2014-09-17 2017-01-31 International Business Machines Corporation Method of processing javascript (JS) API requests
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
US9823983B2 (en) 2014-09-25 2017-11-21 Nxp Usa, Inc. Electronic fault detection unit
US20160092493A1 (en) 2014-09-29 2016-03-31 International Business Machines Corporation Executing map-reduce jobs with named data
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
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
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
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 第五代虛擬科技股份有限公司 應用軟體試用系統、方法及其伺服器與使用者裝置
US9563513B2 (en) 2014-10-09 2017-02-07 International Business Machines Corporation O(1) virtual machine (VM) snapshot management
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
JP5904514B1 (ja) 2014-10-28 2016-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
US10133495B2 (en) 2014-11-04 2018-11-20 Rubrik, Inc. Converged search and archival system
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9864636B1 (en) 2014-12-10 2018-01-09 Amazon Technologies, Inc. Allocating processor resources based on a service-level agreement
US9661011B1 (en) 2014-12-17 2017-05-23 Amazon Technologies, Inc. Techniques for data routing and management using risk classification and data sampling
US20160191420A1 (en) 2014-12-27 2016-06-30 Intel Corporation Mitigating traffic steering inefficiencies in distributed uncore fabric
US11494447B2 (en) 2015-01-13 2022-11-08 Google Llc Distributed file system for virtualized computing clusters
US10033570B2 (en) 2015-01-15 2018-07-24 International Business Machines Corporation Distributed map reduce network
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
US9658942B2 (en) 2015-04-02 2017-05-23 International Business Machines Corporation Dynamic tracing framework for debugging in virtualized environments
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
EP3082038A1 (en) 2015-04-15 2016-10-19 Hybridserver Tec AG Method, device and system for creating a massively parallelized executable object
US20160350099A1 (en) * 2015-05-29 2016-12-01 Hewlett Packard Enterprise Development Lp Application deployment to virtual machines
US9715416B2 (en) 2015-06-03 2017-07-25 Intel Corporation Adaptive queued locking for control of speculative execution
US9785424B2 (en) 2015-06-05 2017-10-10 Apple Inc. Capability attributes based application packaging
US9612865B2 (en) 2015-06-15 2017-04-04 International Business Machines Corporation Managed services coordinator
US10481982B2 (en) 2015-06-16 2019-11-19 Mongodb, Inc. System and method for facilitating replication in a distributed database
US9921885B2 (en) 2015-06-19 2018-03-20 Vmware, Inc. Resource management for containers in a virtualized environment
US9880837B2 (en) 2015-06-24 2018-01-30 Vmware, Inc. Artifact manager for release automation
US11429442B2 (en) 2015-06-29 2022-08-30 Vmware, Inc. Parallel and distributed computing using multiple virtual machines
US20160378547A1 (en) 2015-06-29 2016-12-29 Amazon Technologies, Inc. Preserving state during virtual machine instance migration
US10146635B1 (en) 2015-06-30 2018-12-04 EMC IP Holding Company LLC Virtual machine backup
US9946874B2 (en) 2015-08-06 2018-04-17 International Business Machines Corporation Authenticating application legitimacy
US10198281B2 (en) 2015-08-28 2019-02-05 Vmware, Inc. Hybrid infrastructure provisioning framework tethering remote datacenters
US10235209B2 (en) 2015-08-28 2019-03-19 Vmware, Inc. Hybrid task framework
US10083073B2 (en) 2015-09-14 2018-09-25 Dynatrace Llc Method and system for real-time causality and root cause determination of transaction and infrastructure related events provided by multiple, heterogeneous agents
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 阿里巴巴集团控股有限公司 用于处理任务的资源的调度方法、装置和系统
US10104123B2 (en) 2015-09-23 2018-10-16 Ca, Inc. Fetching a policy definition library from a policy server at mobile device runtime of an application package to control access to mobile device resources
IN2015CH05184A (zh) 2015-09-28 2015-10-16 Wipro Ltd
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
US10356206B2 (en) 2015-11-08 2019-07-16 Vmware, Inc. Deploying an application in multiple cloud computing 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
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811363B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9514037B1 (en) 2015-12-16 2016-12-06 International Business Machines Corporation Test program scheduling based on analysis of test data sets
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
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
US11089152B2 (en) 2016-02-08 2021-08-10 Aawaaz Inc. Placement of a missed call
US10608908B2 (en) 2016-02-10 2020-03-31 Nicira, Inc. On-demand connection ping
US10379824B2 (en) 2016-02-26 2019-08-13 Oracle International Corporation Method for static security enforcement of a DSL
EP3430556B1 (en) 2016-03-15 2021-01-20 Carbon Black, Inc. System and method for process hollowing detection
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
CN108885568B (zh) 2016-03-30 2022-01-28 亚马逊技术有限公司 用于通过按需代码执行环境处理数据源内的多个数据项的系统和计算机实现的方法
US10310820B2 (en) 2016-05-12 2019-06-04 Basal Nuclei Inc Programming model and interpreted runtime environment for high performance services with implicit concurrency control
JP6719079B2 (ja) 2016-05-31 2020-07-08 パナソニックIpマネジメント株式会社 情報機器、データ処理システム、データ処理方法およびコンピュータプログラム
US10592279B2 (en) 2016-06-23 2020-03-17 Advanced Micro Devices, Inc. Multi-processor apparatus and method of detection and acceleration of lagging tasks
US10139876B2 (en) 2016-06-23 2018-11-27 Vmware Inc. Efficient reboot of an operating system executed in a virtual machine
US10650241B2 (en) 2016-06-27 2020-05-12 Facebook, Inc. Systems and methods for identifying matching content
US20190020913A9 (en) 2016-06-27 2019-01-17 Facebook, Inc. Systems and methods for identifying matching content
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
US11625257B2 (en) 2016-06-29 2023-04-11 Vmware, Inc. Provisioning executable managed objects of a virtualized computing environment from non-executable managed objects
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US9977691B2 (en) 2016-06-29 2018-05-22 Amazon Technologies, Inc. Adjusting variable limit on concurrent code executions based on communication between frontends
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US9596350B1 (en) 2016-07-21 2017-03-14 Genesys Telecommunications Laboratories, Inc. Virtual interactions in contact center operations
US10089135B2 (en) 2016-08-09 2018-10-02 International Business Machines Corporation Expediting the provisioning of virtual machines based on cached repeated portions of a template
US9977670B2 (en) 2016-08-10 2018-05-22 Bank Of America Corporation Application programming interface for providing access to computing platform definitions
US20180060221A1 (en) 2016-08-24 2018-03-01 Google Inc. Multi-layer test suite generation
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
US10545792B2 (en) 2016-09-12 2020-01-28 Seven Bridges Genomics Inc. Hashing data-processing steps in workflow environments
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10417049B2 (en) 2016-11-28 2019-09-17 Amazon Technologies, Inc. Intra-code communication in a localized device coordinator
WO2018098445A1 (en) 2016-11-28 2018-05-31 Amazon Technologies, Inc. Managing messaging protocol communications
US20180239636A1 (en) 2017-02-22 2018-08-23 Nutanix, Inc. Task execution framework using idempotent subtasks
US10754685B2 (en) 2017-03-03 2020-08-25 Microsoft Technology Licensing Llc Cross-device task registration and resumption
EP3379413A1 (en) 2017-03-21 2018-09-26 Nokia Solutions and Networks Oy Optimization of a software image layer stack
US10514909B2 (en) 2017-03-29 2019-12-24 Technion Research & Development Foundation Limited Similarity of binaries
US10445140B1 (en) 2017-06-21 2019-10-15 Amazon Technologies, Inc. Serializing duration-limited task executions in an on demand code execution system
US10725826B1 (en) 2017-06-21 2020-07-28 Amazon Technologies, Inc. Serializing duration-limited task executions in an on demand code execution system
WO2019051067A1 (en) 2017-09-06 2019-03-14 Green Ocean Sciences, Inc. INTEGRATED MOBILE DEVICE AND ELECTRONIC DATA PLATFORM FOR CHEMICAL ANALYSIS
US10587412B2 (en) 2017-11-07 2020-03-10 International Business Machines Corporation Virtual machine structure
US10565083B2 (en) 2017-12-08 2020-02-18 Cisco Technology, Inc. Simulating hosted application performance
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10803180B2 (en) 2017-12-13 2020-10-13 Jayant Shukla Deterministic method for detecting and blocking of exploits on interpreted code
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10402178B2 (en) 2018-01-26 2019-09-03 Accenture Global Solutions Limited Cross platform content management and distribution system
US10503626B2 (en) 2018-01-29 2019-12-10 Oracle International Corporation Hybrid instrumentation framework for multicore low power processors
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
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US11157300B2 (en) 2018-02-13 2021-10-26 Sophos Limited Managing virtual machine security resources
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10860367B2 (en) 2018-03-14 2020-12-08 Microsoft Technology Licensing, Llc Opportunistic virtual machine migration
US10466986B2 (en) 2018-03-30 2019-11-05 Oracle International Corporation Optimized recompilation using hardware tracing
US10503634B1 (en) 2018-05-25 2019-12-10 Microsoft Technology Licensing, Llc Semantic comparison of computer compiler traces
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
WO2020005764A1 (en) 2018-06-25 2020-01-02 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10817331B2 (en) 2018-06-25 2020-10-27 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
US10877774B2 (en) 2018-07-17 2020-12-29 Sap Se Cloud integration of application runtime
US10713080B1 (en) 2018-07-25 2020-07-14 Amazon Technologies, Inc. Request-based virtual machine memory transitioning in an on-demand network code execution 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
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
US10740208B2 (en) 2018-10-03 2020-08-11 Capital One Services, Llc Cloud infrastructure optimization
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063500A (en) * 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine
CN102365858A (zh) * 2009-01-28 2012-02-29 海德沃特合作I有限公司 接入服务供应商的开放式开发系统
US20110022711A1 (en) * 2009-07-22 2011-01-27 Cohn Daniel T Dynamically migrating computer networks
CN101764824A (zh) * 2010-01-28 2010-06-30 深圳市同洲电子股份有限公司 一种分布式缓存控制方法、装置及系统
US20120054744A1 (en) * 2010-05-10 2012-03-01 Manbinder Pal Singh Redirection of Information from Secure Virtual Machines to Unsecure Virtual Machines
CN103098027A (zh) * 2010-09-21 2013-05-08 亚马逊技术有限公司 用于动态管理计算容量请求的方法和系统
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
US8806266B1 (en) * 2011-09-28 2014-08-12 Juniper Networks, Inc. High availability using full memory replication between virtual machine instances on a network device
US20130198319A1 (en) * 2012-01-31 2013-08-01 Vmware, Inc. Elastic allocation of computing resources to software applications
US20140359608A1 (en) * 2013-05-28 2014-12-04 Red Hat Israel, Ltd. Systems and Methods for Timer Based Virtual Processor Scheduling
WO2015149017A1 (en) * 2014-03-28 2015-10-01 Amazon Technologies, Inc. Implementation of a service that coordinates the placement and execution of containers
US9146764B1 (en) * 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FAHIMEH FARAHNAKIAN等: "Hierarchical VM Management Architecture for Cloud Data Centers", 《2014 IEEE 6TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE》 *
KENICHI KOURAI等: "Fast Software Rejuvenation of Virtual Machine Monitors", 《IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING》 *
周峰: "服务器虚拟化主机安全管理实践探讨", 《计算机安全》 *
陈昊罡等: "面向虚拟机的远程磁盘缓存", 《计算机科学与探索》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023129613A1 (en) * 2021-12-30 2023-07-06 Skillz Platform Inc. System and method for remotely interacting with cloud-based client applications
US11848768B2 (en) 2021-12-30 2023-12-19 Skillz Platform Inc. System and method for remotely interacting with cloud-based client applications
WO2023124167A1 (zh) * 2021-12-31 2023-07-06 国电南瑞科技股份有限公司 一种容器无感知启动方法及系统

Also Published As

Publication number Publication date
CN108369534B (zh) 2022-03-11
EP3394750B1 (en) 2024-01-31
EP3394750A1 (en) 2018-10-31
US11016815B2 (en) 2021-05-25
US20190227849A1 (en) 2019-07-25
US20180210760A1 (en) 2018-07-26
WO2017112526A1 (en) 2017-06-29
US9910713B2 (en) 2018-03-06
JP6647398B2 (ja) 2020-02-14
JP6892729B2 (ja) 2021-06-23
JP2018537776A (ja) 2018-12-20
US20170177413A1 (en) 2017-06-22
US10248467B2 (en) 2019-04-02
JP2020074153A (ja) 2020-05-14

Similar Documents

Publication Publication Date Title
CN108369534A (zh) 代码执行请求路由
CN108139940A (zh) 对于计算能力的周期性请求的管理
CN107003862A (zh) 动态代码部署和版本化
CN105706086B (zh) 用于获取、存储和消费大规模数据流的管理服务
CN107111507A (zh) 线程化作为服务
CN107533470A (zh) 用于低延时执行程序代码的安全协议
US11409568B2 (en) Dynamically scaling out pods using a recursive way
CN109803018A (zh) 一种基于Mesos和YARN结合的DCOS云管理平台
CN107567696A (zh) 计算集群内的资源实例群组的自动扩展
CN109478134A (zh) 用跨账户别名执行按需网络代码
CN107209682A (zh) 资源调整的自动管理
Li et al. Auto-scaling web applications in hybrid cloud based on docker
CN109564525A (zh) 按需网络代码执行环境中的异步任务管理
US11119751B2 (en) Self-learning optimized patch orchestration
BR102018002638A2 (pt) Sistema para otimizar a distribuição de processamento de um processo automatizado
US20120130911A1 (en) Optimizing license use for software license attribution
WO2023183057A9 (en) Quantum computing service with quality of service (qos) enforcement via out-of-band prioritization of quantum tasks
US11750451B2 (en) Batch manager for complex workflows
Koschel et al. Cloud computing: serverless
CN106462444A (zh) 云提供商选择和投影的架构及方法
CN102790788B (zh) 一种网格资源管理系统
WO2021140393A1 (en) Generating a scaling plan for external systems during cloud tenant onboarding/offboarding
US11449777B1 (en) Serverless inference execution across a heterogeneous fleet of devices
US20210011848A1 (en) Data processing for allocating memory to application containers
Amoretti et al. Towards a formal approach to mobile cloud computing

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