CN117642724A - 使用无服务器计算系统的流式分析 - Google Patents
使用无服务器计算系统的流式分析 Download PDFInfo
- Publication number
- CN117642724A CN117642724A CN202280045734.4A CN202280045734A CN117642724A CN 117642724 A CN117642724 A CN 117642724A CN 202280045734 A CN202280045734 A CN 202280045734A CN 117642724 A CN117642724 A CN 117642724A
- Authority
- CN
- China
- Prior art keywords
- function
- execution
- window
- messages
- state information
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 74
- 230000002776 aggregation Effects 0.000 claims abstract description 87
- 238000004220 aggregation Methods 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 326
- 230000003993 interaction Effects 0.000 description 44
- 239000012634 fragment Substances 0.000 description 22
- 238000007405 data analysis Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005206 flow analysis Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000032297 kinesis Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000011064 split stream procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/103—Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
描述了在无服务器计算系统上实施流式分析的系统和方法。用户可以指定应针对其进行分析的数据流、用于进行分析的无服务器函数以及用于分析的标准,诸如开窗标准和聚合标准。开窗标准可以指定流内应共同分析的项目的窗口。聚合标准可以指定在分析期间如何对每个窗口内的项目进行分组。轮询器装置可以从流中读取数据项、根据开窗标准和聚合标准进行开窗并对项目进行分组,并调用无服务器函数对数据项进行流式分析。轮询器装置还可以维护调用之间的状态。
Description
背景技术
计算装置可以利用通信网络来交换数据。公司和组织操作将许多计算装置互连的计算机网络以支持操作或向第三方提供服务。计算系统可位于单个地理位置中或位于(例如,通过私有或公共通信网络互连的)多个不同的地理位置中。具体地说,数据中心或数据处理中心(本文通常称为“数据中心”)可以包括许多互连的计算系统以向数据中心的用户提供计算资源。数据中心可以是代表组织运营的私有数据中心,或者可以是代表公众或为公众利益运营的公共数据中心。
为了促进对数据中心资源的增加的利用率,虚拟化技术允许单个物理计算装置托管虚拟机的一个或多个实例,所述虚拟机的一个或多个实例相对于数据中心的用户显现且操作为独立的计算装置。通过虚拟化,单个物理计算装置可以以动态方式创建、维护、删除或以其他方式管理虚拟机。继而,用户可从包括单个计算装置或联网计算装置的配置且配备有不同数量的虚拟机资源的数据中心请求计算机资源。
在一些场景中,可根据若干个虚拟机实例类型来配置虚拟机实例以提供特定功能性。举例来说,各种计算装置可与操作系统或操作系统配置、虚拟化硬件资源及软件应用的不同组合相关联,以使得计算装置能够提供不同所期望功能性或者更有效地提供类似功能性。通常在装置映像中含有这些虚拟机实例类型配置,所述装置映像包括含有虚拟机一旦启动就会运行的软件的静态数据(例如,OS及应用连同其配置及数据文件等)。装置映像通常存储在用于创建或初始化实例的磁盘上。因此,计算装置可处理装置映像以便实施所期望软件配置。
数据中心的一个示例用途是处理或分析大型数据集,这对于使用单个计算装置进行分析可能是不切实际的。一种特定类型的数据分析是流式数据分析,它对数据流进行处理或分析。在此上下文中,数据“流”是一组定期或持续更新的数据,而不是作为集合可用。流式分析的一个共同目标是“实时”处理数据——也就是说,在将数据添加到流中时,延迟最小。因此,流式分析可用于保持流上数据点的实时统计,而不是例如等待所有数据点存在后再进行统计分析。
附图说明
图1是可以对其进行流式分析的数据流的说明性可视化,包括为了进行流式分析而应用于数据流的窗口和聚合组的可视化;
图2是描绘说明性环境的框图,在该环境中可以通过调用无服务器计算系统上的无服务器函数来针对数据流进行流式分析;
图3描绘了提供图2的轮询装置的计算装置的一般架构,该轮询装置被配置为调用无服务器函数以对数据流进行流式分析;
图4是描绘用于启动对数据流的流式分析的说明性交互的流程图,包括要被调用以进行此类流式分析的无服务器函数的规范;
图5是描绘用于在无服务器计算系统上启动聚合函数以进行关于数据流内的数据项的分析的说明性交互的流程图;
图6是描绘用于在无服务器计算系统上启动目标函数以使用从聚合函数的调用获得的状态信息来提供关于数据流内的数据项进行的流式分析的结果的说明性交互的流程图;并且
图7是用于通过调用无服务器计算系统上的无服务器函数来对数据流进行流式分析的说明性例程。
具体实施方式
一般来说,本公开的方面涉及在无服务器计算系统上进行流式分析。更具体地,本公开使得无服务器计算系统上的代码执行能够分析数据流内的项目(例如,“消息”),并且保持关于这些项目的“运行”计算,诸如计数、平均值等。特定的分析可以在用户定义的代码内建立,并且因此针对单个用户的需要而定制。本公开的实施方案可以使用户能够指定用于流式分析的各种标准,诸如进行分析的时间窗、要分析的项目的最大数量的数据大小等。然后,这些实施方案可以促进将流内的项目提交到无服务器计算系统,使得根据用户建立的各种标准进行分析(如在用户定义的代码中指定的那样)。以此方式,本公开的实施方案可以促进流式分析的快速开发和部署。
如本文所述,无服务器计算系统(也可称为“无服务器代码执行系统”或“按需代码执行系统”)能够快速执行代码,这可由无服务器计算系统的用户提供。在提交代码时,无服务器计算系统可以使用户能够提交“召用(call)”或“调用(invoke)”以执行代码,此时无服务器计算系统将为代码生成执行环境并在环境内执行代码以提供所需的功能。然后可以在提供所需功能后不久销毁环境,这样用户只对执行期间使用的资源负责。这些执行时间通常非常短,使得无服务器计算非常高效,特别是对于具有不同需求水平的任务。然而,由于无服务器计算系统(而不是最终用户)通常处理执行环境的管理,包括选择放置环境的主机装置,因此最终用户通常无法保证特定的调用会导致在特定环境下执行。出于这个原因,无服务器执行通常被设计为无状态,甚至被限制为无状态,使得一次代码执行的结果不依赖于前一次代码执行期间完成的处理。
在流式分析的上下文中,无服务器执行的无状态性质可能是有问题的,因为许多流式分析特别依赖于状态。例如,对流中的数据项进行运行计数或平均值需要系统在评估一个或多个新数据项时了解有关旧数据项的计数或平均值的状态。在系统可以替代地仅成批处理数据项(例如,不考虑与先前项相关的状态)时,这有效地将分析转换为批分析,而不是流式分析。因此,在默认配置中,可能无法在无服务器计算系统上进行流式分析。
本公开的实施方案通过使典型的有状态处理(诸如流式分析)能够在无状态执行环境(诸如由无服务器计算系统提供的环境)内实施来解决上述问题。如下面将更详细地描述的,本公开的实施方案使中间装置能够维护与迭代数据处理(例如,流式分析)相关的状态信息,并在每个请求中提交状态信息以在无服务器计算系统上执行代码。中间装置可以响应每次召用来获得更新后的状态信息,并将更新后的状态信息包含在下一次召用中。以这种方式,无服务器计算系统上的执行环境免除了维护状态信息的义务,并且可以继续无状态地运行。然而,在处理一组数据时仍然可以维护状态信息,从而能够成功地对流式数据进行有状态分析。如下所述,中间装置可以被配置为确保操作的弹性,使得处理数据集的系统内的故障可以被识别和纠正。此外,中间装置可以被配置为确保有效的弹性,使得提供弹性不会对系统处理流式数据的能力产生实质性的负面影响。
在一个实施方案中,中间装置是轮询器装置,其用来从数据流中检索项目,并且将用于处理的项目传递给无服务器计算系统上的代码执行。说明性地,根据本公开的实施方案的轮询器装置可以确定用于处理流上的数据项的初始状态信息(例如,作为空状态),从流中检索项目的初始集合,并且迭代地将这些项目与表示流处理状态的当前状态信息一起提交给无服务器计算系统。轮询器装置可以被配置为响应于每次召用来接收更新后的状态信息,该信息可以被包括在后续召用中。因为流的状态信息是在每次召用中传递的,所以无服务器计算系统上的环境本身不需要维护状态信息。为此,在轮询器装置和处理召用的环境之间通常不需要相关性。相反,无服务器计算系统可以将召用从轮询器装置路由到任何合适的环境,从而增加无服务器计算系统在执行与召用相对应的代码时的灵活性。轮询器装置可以被配置为定期将状态信息保存到弹性存储系统(例如,具有内置冗余的网络存储位置),并在发生故障时基于保存的状态信息恢复处理。因此,在轮询器装置上维护状态信息提供了一种在无服务器计算系统上实现有状态数据处理的有效机制。
虽然本文设想了用于在无服务器计算系统处实现有状态数据处理的其他机制,但是这些其他机制通常不如在中间(例如,轮询器)装置处维护状态信息更令人满意。例如,可以想象,无服务器计算系统被配置为为执行给定代码集的多个召用提供相关性,使得每个召用都被路由到相同的执行环境。进一步可以想象,无服务器计算系统使每个这样的环境能够维护本地状态信息,从而能够在环境中实现代码的有状态执行。然而,这种方法大大降低了无服务器计算系统运行的灵活性,需要系统长时间维护执行环境。此外,这种方法可能不太适合解决分布式处理系统中经常出现的问题,诸如需要提供操作的弹性或需要扩大或缩小多个环境以响应不断变化的操作负载。例如,为了解决这些问题,可能需要无服务器计算系统频繁保存每个环境的状态信息,从而显著增加系统的资源使用。系统可能还需要在放大或缩小事件期间提供环境之间的状态信息传输,从而增加管理此类环境的复杂性。用于在召用处理之间保留状态信息的另一种可能机制是在召用处理期间配置每个执行环境以将其状态信息写入持久的外部位置,诸如网络数据存储。因此,后续执行可以从持久位置检索状态信息以促进后续召用的处理。然而,在分布式系统中,写入外部存储位置通常被认为是“重量级”操作,因为它会显著增加用于处理召用的计算资源。例如,写入网络位置可能需要启动与网络位置的传输控制协议(TCP)会话,该过程可能需要大量时间和资源(就处理单个召用所需的资源而言)。在召用的数量很大的情况下(例如,当高吞吐量数据流时),这种重量级操作所需的额外开销可能会很大。
本公开的实施方案使得状态信息能够在召用处理之间被维护而没有这些缺点。例如,中间装置可以在召用提交给无服务器计算系统的同时传递召用的状态信息,并且作为对该召用的响应,可以接收更新后的状态信息。因此,无服务器计算系统不需要额外的网络通信。此外,中间装置可以通过定期保存状态信息来提供弹性,其周期可以基于装置可用的资源和在发生故障时恢复操作所需的开销进行调整。具体来说,因为中间装置能够“长期”查看数据项流的处理,所以不需要装置确保在每次召用之后保存状态信息,因为无服务器计算系统或外部数据存储可能会这样。
如本文详细描述的,无服务器计算系统可以提供网络可访问服务,使得用户能够提交或指定要由无服务器计算系统上的虚拟机实例(或其他执行环境,诸如提供操作系统级虚拟化的容器)执行的计算机可执行代码。无服务器计算系统上的每一组代码可限定“任务”或“函数”并且当在无服务器计算系统的虚拟机实例上被执行时实施与该函数相对应的特定功能。函数在无服务器计算系统上的单独实施可称为函数的“执行”(或“函数执行”)。无服务器计算系统可进一步使得用户能够基于多种潜在事件来触发函数的执行,所述潜在事件诸如在基于网络的存储系统处检测到新的数据、向无服务器计算系统传输应用编程接口(“API”)召用或向无服务器计算系统传输特殊格式的超文本传输协议(“HTTP”)数据包。因此,用户可在不需要配置或维护在其上执行代码的基础硬件或基础设施的情况下利用无服务器计算系统“按需”执行任何指定的可执行代码。此外,无服务器计算系统可以被配置为以快速方式(例如,在100毫秒[ms]以下)执行函数,因此使得能够“实时”(例如,在最终用户几乎不可感知延迟的情况下)执行函数。
因为无服务器计算系统可以提供按需执行函数的能力,而无需配置在其上执行代码的底层装置,所以无服务器计算系统可以提供一个优秀的平台来实施流式分析。例如,无服务器计算系统可以使得用户能够有效地实施流式分析,而无需考虑发布到输入数据流的数据量,因为用于处理数据的计算资源的扩展可以由无服务器计算系统处理,而不是由用户预先配置。本公开可以通过提供一种维护用于这种数据分析的状态信息的有效方式来使用无服务器计算系统来进行流式分析,而不需要这种状态信息被维护在无服务器计算系统的环境中或由这种环境持久化到其他外部位置。
根据本公开的实施方案,除了或代替提供用于在无服务器函数调用之间维持状态的机制,如本文公开的轮询器装置还可以提供各种调度和工作分配功能以实现流式分析。
例如,在流式分析的许多情况下,最终用户可能希望对流上的某些数据子集进行分析,这可以相对于窗口来指定。例如,最终用户可能希望在30秒、1分钟、5分钟、15分钟等的每个窗口中分析项目。窗口可以是固定的,以便它们按设定的间隔发生。例如,用户可能希望知道数据流上每5分钟间隔指示的平均错误计数。此外或替代地,窗口可以是滑动的,使得流式分析在逻辑上考虑给定长度的所有可能的窗口。例如,最终用户可能希望知道任何可能的5分钟跨度内的平均错误计数是否超过阈值。本公开的实施方案可以使轮询器装置能够提供这样的开窗。更具体地,轮询器装置可以将数据流内的项目分组成窗口集,并且将这些窗口集传递给无服务器计算系统以经由处理函数进行处理,处理函数在本文中有时被称为“聚合”函数。处理函数可以对窗口集进行分析,并将状态信息返回给轮询器装置。在每个窗口集结束时,轮询器装置可以将窗口的最终状态信息传递到窗口最终化函数,本文有时称为“目标”函数,它可以针对窗口集的最终状态采取行动,诸如通过向最终用户报告该状态。为了促进固定开窗,轮询器装置可以基于流中每个项目的属性来初始化每个窗口,诸如指示项目被添加到流的时间的时间戳。例如,为了实施5分钟的固定窗口,轮询器装置可以将流上时间戳在00:00:00和00:05:00之间(采用HH:MM:SS格式,其中HH表示小时、MM表示分钟,SS表示秒)的任何项目分组到第一窗口中,使这些项目被聚合函数处理以产生状态,并在时间窗口结束时,将状态传递给目标函数进行最终处理。为了实施滑动窗口,轮询器装置可以为流上的每个项目创建新的、可能重叠的窗口。例如,如果将时间戳为00:00:30的项目添加到流中,则轮询器装置可以初始化从00:00:30到00:05:30的窗口(对于5分钟的窗口)并考虑该项目包含在该窗口中。如果将时间戳为00:00:45的第二个项目添加到流中,则轮询器装置可能会认为第二个项目存在于第一个窗口中,并且还会从00:00:45到00:05:45初始化第二个窗口,第二个项目也包含在第二个窗口中。然后,轮询器装置可以维护每个窗口的状态信息,并且与上面提到的类似,将项目从每个窗口传递到聚合函数和目标函数以进行处理。
在一些情况下,给定窗口期间的流内数据可能超过无服务器计算系统上单个函数调用的容量。例如,无服务器计算系统上的每次调用可能在诸如内存、处理周期、网络带宽等计算资源方面受到限制。在一些情况下,无服务器计算系统上的每次调用都可能在计算时间上受到限制。例如,可以允许每次调用执行不超过阈值时间段,诸如15分钟。为了解决这些限制,可能优选地划分一个窗口集(流中对应于特定时间窗口的项目)进行处理。例如,可能优选地限制由聚合函数的实例处理的项目的数量,诸如通过指定数据项的最大数量、这些项目的最大数据大小等。在本公开的实施方案中,轮询器装置可以通过接受指示何时将来自窗口集的数据项子集提交给聚合函数的分组标准来提供这种划分。说明性地,如果最终用户指定聚合函数的每个实例将处理最多3个数据项,则轮询器装置可以检测特定窗口集何时具有三个数据项,并提交那些数据项以供处理。以上述方式,轮询器装置可以维护由处理3个数据项产生的状态信息,并将该状态信息传递给窗口集的下一个聚合函数调用。该批处理可以继续,直到处理了窗口集的所有数据项,此时可以调用窗口的目标函数。因此,窗口的状态信息可以传递给目标函数,而不需要聚合函数支持无限数据输入。
为了更好地说明可以由如本文公开的轮询器装置实施的调度和工作分配功能,图1示出了说明性的数据项集合和这些数据项被推送到三个数据流10的相对定时,三个数据流在图1中表示为流10A、10B和10N。每个流包括多个数据项,从数据项1开始,单调递增。在图1中,每个流10的第一个数据项(数据项“1”)显示在最右侧,其中附加数据项从左侧加入流10。因此,时间从给定的起点(t=0)开始并向左增加。因此,图1中各数据项的相对位置显示了数据项在流中的时间。说明性地,时间可以是由数据流式传输系统的操作添加到数据项的时间戳,指示数据项的接收时间、上游装置向流发布数据项所包含的时间戳字段等。在图1中,假定每个流10服从相同的分析标准,包括用于调用聚合函数的标准和用于建立窗口的窗口标准。具体来说,在图1中,假设建立了给定长度的固定窗口(对应于图1的虚线),并且聚合函数每次调用最多支持三个数据项。实际上,不同的流可以与不同的分析标准相关联,包括不同的窗口长度、不同的窗口类型(例如,滑动窗口)和不同的聚合函数限制。
轮询器装置的操作引起的每个流10的处理在图1中示出。具体来说,将流的数据项分组为“聚合”表示这些数据项连同为当前窗口维护的状态信息(如果有的话)一起传递给无服务器计算系统上聚合函数的调用。说明性地,关于流10A,轮询器装置在窗口A期间检测到三个数据项,这对应于每次调用聚合函数的最大数据项数。因此,轮询器装置将数据项1-3传递给聚合函数的调用。由于这些是相关联窗口中的第一数据项,因此轮询器装置可以不向聚合函数传递任何状态,或者可以传递空状态指示符。轮询器装置还检测到流10A中的另外两个数据项——编号4和5。虽然这些数据项不超过聚合函数的最大每次调用,但它们表示窗口A中的最终数据项。因此,轮询器装置将数据项4和5连同窗口的状态信息(例如,作为处理数据项1-3的结果返回的信息)一起提交给聚合函数。轮询器装置然后获得窗口的最终状态信息。当窗口关闭时,轮询器装置然后调用窗口的目标函数,将窗口的最终状态信息传递给它。至此,窗口的数据分析完成。
类似的交互可以关于其他流10B和10N(其可以表示任何数量的流)发生。例如,关于流10B,轮询器装置可以将数据项1-3传递给聚合函数的执行,因为数据项表示聚合函数的每次调用的最大数量。由于在流10B的数据项3之后窗口A中不存在附加数据项,因此轮询器装置使用从该聚合函数传回的状态信息调用目标函数。关于流10C,轮询器装置可以在提交任何数据项以供处理之前检测到窗口A的结束。因此,轮询器装置可以将所有未处理的数据项(具体而言,项目1和2)提交给聚合函数进行处理。获得结果后,轮询器可以将结果作为最终窗口状态传递给目标函数。
对于每个时间窗都可以发生与上述那些类似的交互。例如,关于流10A,可以迭代地为项目6-8和9召用聚合函数,其中第二聚合函数的结果被传递到目标函数。关于流10B和10N,可以分别为数据项4-6和3-5召用聚合函数,其中每个聚合函数的结果被传递到流的相应目标函数。因此,随着数据项被发布到流,轮询器装置可以继续为每个流10提供分析。
而图1是针对不同的聚合函数和目标函数进行描述的,在一些情况下,这两个函数可能会合并。例如,可以提供实施聚合函数和目标函数两者的功能的单个函数,并且接受区分这些功能的标志作为输入。因此,轮询器装置可以使用第一标志值(例如,0)来调用函数来实施聚合功能,以及使用第二标志值(例如,1)来调用函数来实施目标功能。作为另一个示例,可以提供单个函数来实施聚合函数和目标函数两者的功能,并且所述单个函数接受指示当前数据项集合是否是窗口的最终集合的标志。然后可以将函数配置为处理该组数据项(如果有的话),并为窗口实施目标功能。因此,聚合函数和目标函数的单独描述不应被视为表明这些函数必须是不同的。
本领域技术人员鉴于本公开将了解,本文公开的实施方案提高了诸如无服务器计算系统等计算系统实施流式数据分析的能力。更具体地,本公开的实施方案使状态信息能够在无服务器计算系统上的代码执行之间得到有效地维护,而不需要在系统的执行环境中维护这样的状态信息。本公开的实施方案进一步提供用于通过使用轮询器装置将数据项传递给无服务器代码执行的机制,该轮询器装置基于数据流内的数据项为无服务器代码执行提供调度和工作分配。此外,当前公开的实施方案解决了计算系统内固有的技术问题;具体来说,在进行数据分析时需要维护状态信息,在不增加用于处理数据流的计算资源或降低发生此类处理的灵活性的情况下维护此类信息的困难,以及需要编排无服务器计算系统以在不同的时间窗口实施流式分析。这些技术问题由此处描述的各种技术解决方案解决,包括使用轮询器装置来编排无服务器计算执行以实施流式分析,同时维护状态信息以促进这些分析。因此,本公开总体上表示对现有系统和计算系统的改进。
图2是无服务器代码执行系统110的说明性操作环境100的框图,其中轮询器机群130可以提供轮询器装置132,所述轮询器装置代表客户端装置102促进对发布到流数据系统170的消息流172的数据项的流式分析。
通过说明方式,将包括台式计算机、膝上计算机及移动电话的各种示例性客户端装置102展示为与无服务器代码执行系统110通信。通常,客户端装置102可以是任何计算装置,诸如台式计算机、膝上计算机或平板计算机、个人计算机、可穿戴计算机、服务器、个人数字助理(PDA)、混合PDA/移动手机、移动手机、电子书阅读器、机顶盒、语音命令装置、相机、数字媒体播放器等。无服务器代码执行系统110可向用户计算装置102提供一个或多个用户界面、命令行接口(CLI)、应用程序编程接口(API)和/或用于以下操作的其他编程接口:生成并上传用户可执行源代码(例如,作为磁盘映像的一部分);调用用户提供的源代码(例如,提交在无服务器代码执行系统110上执行源代码的请求);调度基于事件的代码执行或定时的代码执行;跟踪用户提供的源代码;和/或查看与其请求和/或源代码相关的其他日志记录或监视信息。虽然可能在本文中将一个或多个实施方案描述为使用用户界面,但应了解,另外或可替代地,此类实施方案可使用任何CLI、API或其他编程接口。
说明性环境100进一步包括可与无服务器代码执行环境110交互以代表用户实施所期望功能性的一个或多个辅助服务106。辅助服务106可对应于诸如服务器等经网络连接计算装置,所述经网络连接计算装置生成可由无服务器代码执行环境110访问的数据或者以其他方式与无服务器代码执行环境110通信。举例来说,辅助服务106可包括web服务(例如,与用户计算装置102相关联、与无服务器代码执行系统110相关联或者与第三方相关联)、数据库、真正简易聚合(“RSS”)阅读器、社交网站、或者网络可访问服务或数据源的任何其他源。在一些实例中,辅助服务106可通过无服务器代码执行系统110上的代码执行来调用,诸如通过对辅助服务106的API召用来调用。在一些实例中,辅助服务106可与无服务器代码执行系统110相关联,例如,向无服务器代码执行系统110提供计费或日志记录服务。在一些实例中,辅助服务106主动向无服务器代码执行系统110传输信息,诸如API召用或其他任务触发信息。在其他实例中,辅助服务106可以是被动的,使得数据可供无服务器代码执行系统110访问。举例来说,无服务器代码执行系统110的部件可周期性地轮询这类被动数据源,并且基于所提供的数据触发无服务器代码执行系统110内的代码的执行。虽然在图2中被描绘为不同于用户计算装置102及无服务器代码执行系统110,但在一些实施方案中,各种辅助服务106可由用户计算装置102或无服务器代码执行系统110实施。
说明性环境100还包括流数据系统170。如上所述,流数据处理系统可以为上游装置提供将数据放置到消息流172上的能力,诸如通过将“消息”发布到流172上,这可以基于特定的“主题”来指定。虽然图1中示出了单个流172,但是系统170可以代表多方提供多个流。系统170可以使流172内的消息可用于下游装置,通常以“先进先出”(“FIFO”)或接近FIFO的顺序。在一些情况下,流数据系统170将消息“推送”到下游装置。在其他情况下,下游装置根据请求从消息流172中“拉取”消息。通常,流数据系统170被配置为提供弹性,使得成功发布到流的数据不太可能由于流数据系统170的装置故障而丢失。例如,系统170可以将放置在流172上的消息复制到用于实施流的多个计算装置(例如,物理计算装置或在物理主机上实施的虚拟装置)。此外,流数据系统170可以被配置为提供维护消息流172的装置的并行化。例如,配置消息流的用户可以为流指定分区键,用于将流划分为多个子流,每个子流由一个或多个并行装置处理。子流在图1中被示出为消息分片174A-174N。每个消息分片174通常可以表示一个或多个计算装置,该一个或多个计算装置被配置为获得消息流上的消息子集并使其可用,由系统170根据分区键和流170上的消息量选择(例如,使得基于分片174为流172上的消息提供服务的容量,创建额外的分片或销毁多余的分片)。在一些情况下,流172可能仅包含单个分片。本领域已知的流数据处理系统的示例包括AMAZONTMKINESISTM网络服务和APACHETMKAFKATM系统。
客户端装置102、辅助服务106、流数据系统170和无服务器代码执行系统110可经由网络104通信,所述网络可包括任何有线网络、无线网络或它们的组合。举例来说,网络104可以是个域网、局域网、广域网、空中广播网络(例如,用于收音机或电视)、电缆网络、卫星网络、蜂窝电话网络或其组合。作为另一示例,网络104可以是可能由各个不同方操作的经链接网络的可公开访问网络,诸如互联网。在一些实施方案中,网络104可以是专用或半专用网络,诸如公司或大学内联网。网络104可包括一个或多个无线网络,诸如全球移动通信系统(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络或任何其他类型的无线网络。网络104可使用用于经由互联网或其他前述类型的网络中的任一者进行通信的协议和部件。例如,由网络104使用的协议可包括超文本传输协议(HTTP)、HTTP安全(HTTPS)、消息队列遥测传输(MQTT)、受约束应用协议(CoAP)等。经由互联网或其他前述类型的通信网络中的任一者进行通信的协议及部件是所属领域的技术人员所公知的,并且因此未在本文进行更详细描述。
无服务器代码执行系统110和流数据系统170在图1中被描绘为在分布式计算环境中操作,所述分布式计算环境包括使用一个或多个计算机网络(在图1中未示出)互连的若干计算机系统。无服务器代码执行系统110和流数据系统170中的任一者或两者还可在具有比图1中所示的装置更少或更多数量的装置的计算环境内操作。因此,应将图1中对无服务器代码执行系统110和流数据系统170的描绘视为说明性的而非限制本公开。举例来说,无服务器代码执行系统110和流数据系统170或其各种构成可实施各种Web服务部件、托管或“云”计算环境和/或对等网络配置以实施本文中所描述的过程的至少一部分。
此外,无服务器代码执行系统110和流数据系统170可直接在硬件或由硬件装置执行的软件中实施,并且可(例如)包括在被配置为执行计算机可执行指令以执行将在本文描述的各种特征的物理计算机硬件上实施的一个或多个物理或虚拟服务器。一个或多个服务器可以在地理位置上分散于或在地理位置上共同位于例如一个或多个数据中心中。在一些实例中,一个或多个服务器可作为快速供应及释放的计算资源的系统(通常称为“云计算环境”)的一部分来操作。
在图1的示例中,无服务器代码执行系统110和流数据系统170被示为连接到网络104。在一些实施方案中,无服务器代码执行系统110和流数据系统170内的部件中的任一者可经由网络104与无服务器代码执行系统110和流数据系统170的其他部件通信。在其他实施方案中,另一个网络(诸如图1中未示出的专用网络)可以实现无服务器代码执行系统110和流数据系统170中的每一个内的部件之间或那些系统之间的通信。
在图2中,用户可通过客户端计算装置102与无服务器代码执行系统110交互以提供源代码,并且建立限定应何时以及如何在无服务器代码执行系统110上执行此类代码的规则或逻辑,从而建立“任务”或“函数”。举例来说,用户可能希望结合用户已开发的web或移动应用来运行一条代码。运行所述代码的一种方式将是:从提供基础设施作为服务的服务提供者获取虚拟机实例;配置所述虚拟机实例以满足用户的需要;以及使用所配置虚拟机实例来运行所述代码。为了避免这一过程的复杂性,用户可替代地向无服务器代码执行系统110提供代码,并请求无服务器代码执行系统110使用一个或多个由系统110管理的执行环境来执行代码。无服务器代码执行系统110可基于代码执行请求来处置计算容量(例如,在下文更详细地描述的容器、实例等)的获取及配置,并且使用所述计算容量来执行所述代码。无服务器代码执行系统110可基于执行代码请求的量进行自动放大和缩小,由此减轻用户不得不担忧过度利用(例如,获取太少计算资源并遭受性能问题)或利用不足(例如,获取比运行代码所需的计算资源多的计算资源,并且因此付出过多)的负担。根据本公开的实施方案,由用户建立的函数可以对应于可执行代码以实施对数据流172上的数据项的流式分析,包括用于生成时间窗口内的数据项的状态信息的聚合函数和用于处理对应于该时间窗口的结果的目标函数。
为了实现与无服务器代码执行系统110的交互,系统110包括实现与无服务器代码执行系统110的交互的多个前端120。在说明性实施方案中,前端120用作由无服务器代码执行系统110提供的其他服务的“前门”,从而使得用户能够(经由用户计算装置102)能够提供计算机可执行源代码、请求执行计算机可执行源代码并查看计算机可执行源代码的结果。前端120包括用以实现在无服务器代码执行系统110与其他计算装置之间的交互的多种部件。举例来说,每一前端120可包括请求接口,所述请求接口向用户计算装置102提供以下能力:将用户指定的代码和相关联的数据集上传或以其他方式传送到无服务器代码执行系统110(例如,以磁盘映像的形式);及其后请求执行所述代码。在一个实施方案中,所述请求接口经由图形用户界面(GUI)、CLI或API与外部计算装置(例如,用户计算装置102、辅助服务106等)通信。前端120处理所述请求并确保所述请求被恰当地授权。举例来说,前端120可确定与所述请求相关联的用户是否被授权访问在所述请求中规定的源代码。
对本文使用的源代码的引用可指通过特定程序语言编写的任何程序代码(例如,程序、例程、子例程、线程等)。在本公开中,术语“源代码”、“用户代码”及“程序代码”可互换使用。为在特定装置上执行而编译的源代码在本文中通常称为“机器代码”。“源代码”及“机器代码”两者都是相同指令的表示,可统称为“代码”。举例来说,可结合用户开发的特定web应用或移动应用执行这种代码以实现特定功能。如上文所述,代码的个别集合(例如,用以实现特定函数)在本文中称为“任务”或“函数”,而对所述代码的特定执行称为“任务执行”、“函数执行”、“代码执行”或简称为“执行”。可通过非限制性示例以JavaScript(例如,node.js)、Java、Python和/或Ruby(和/或另一编程语言)来编写任务的源代码。可以多种方式“触发”任务以供在无服务器代码执行系统110上执行。在一个实施方案中,用户或其他计算装置可传输执行任务的请求,所述请求通常可称为执行所述任务的“召用”(例如,“任务召用”、“函数召用”等)。此类召用可以包括将要执行的任务的标识符以及要用于执行任务的一个或多个自变量。前端120的请求接口可从用户接收召用以执行作为超文本传输协议安全(HTTPS)请求的任务。而且,还可在执行任务时处理及利用包括于HTTPS请求中的任何信息(例如,报头及参数)。如上文所论述,可使用任何其他协议(包括例如HTTP、MQTT及CoAP)将含有任务召用的消息传送到请求接口。
在召用函数执行之前,最终用户可以提交(例如,向前端120)函数代码和要用于执行函数的相关联数据。在一个实施方案中,代码以包含代码和代码在执行期间可能使用的其他数据的磁盘映像的形式提供。说明性地,函数的创建可以导致前端120为函数创建元数据,元数据定义例如创建函数的用户、用于促进函数执行的磁盘映像、函数的触发条件等。在一个实施方案中,函数可以被版本化,其中函数元数据标识可用版本并且至少一些用于函数的其他元数据可以跨版本变化。例如,不同的版本可能与不同的磁盘映像相关联。函数数据和元数据说明性地存储在函数数据存储区160中。函数数据存储区160对应于任何持久数据存储。在一个实施方案中,函数数据存储区160被实施为云存储服务上的逻辑存储,诸如对象存储系统。这种对象存储系统的一个示例是AMAZONTM的SIMPLE STORAGE SERVICETM(或“S3TM”)。
根据本公开的实施方案,用户提交的代码可以对应于用于进行流式分析的函数,诸如聚合函数162和目标函数164。这些函数可以体现在提交给执行系统110的计算机可执行代码中。在一个实施方案中,聚合函数162实施数据分析,接受数据流中的数据项和当前窗口的状态信息(如果有的话),并为该窗口产生新的状态信息。聚合函数的具体功能可能会根据要处理的数据和期望的结果而有所不同。然而,一般而言,聚合函数可以聚合窗口内的数据项并提供聚合结果。例如,聚合函数可以对数据项内的字段值的实例进行计数,提供数字字段值的平均值,提供匹配字段值的另一种统计测度等。根据本公开的实施方案,聚合函数维护窗口内的状态,诸如固定窗口或滑动窗口。关于给定窗口的聚合函数的最终执行提供了该窗口的最终状态,其可以被传递到目标函数164,表示可执行代码以处理该最终状态。例如,目标函数可以评估状态以确定结果(例如,是否应该或不应该发送警报),将状态发布到网络目标等。因此,目标函数164启用为给定窗口提供的流式分析结果。虽然被示为不同的函数,但是聚合函数162和目标函数164在一些情况下可以合并为单个函数。函数162和164都可以存储在函数数据存储区160内。
在用户已经在无服务器代码执行系统110上创建函数之后,系统110可以接受召用以执行该函数。为了执行函数的召用,前端120可包括执行队列,所述执行队列可维护所请求任务执行的记录。说明性地,无服务器代码执行系统110同时执行的函数的数量是有限的,并且因此,可将在无服务器代码执行系统110处发起(例如,经由API召用、经由从被执行或正在执行的函数的召用等)的新函数执行放置在执行队列上并例如以先进先出次序进行处理。在一些实施方案中,无服务器代码执行系统110可包括多个执行队列,诸如用于每一用户账户的个别执行队列。举例来说,无服务器代码执行系统110的用户可期望限制无服务器代码执行系统110上的函数执行的速率(例如,出于成本原因)。因此,无服务器代码执行系统110可利用账户专有执行队列来节制特定用户账户进行的同时函数执行的速率。在一些实例中,无服务器代码执行系统110可优先考虑函数执行,使得特定账户或所规定优先级的函数执行绕过或者在执行队列内优先考虑。在其他情况下,无服务器代码执行系统110可在接收到对函数的召用之后立即或基本上立即执行所述函数,并且因此,可省略执行队列。
除了基于显式用户召用以及来自辅助服务106的数据而执行的函数之外,无服务器代码执行系统110在一些情况下可操作以独立地触发函数执行。举例来说,无服务器代码执行系统110可操作(基于来自用户的指令)以触发在一定数量的所规定时间间隔(例如,每10分钟)中的每一者处执行函数。
前端120还可包括输出接口,所述输出接口被配置为输出关于在无服务器代码执行系统110上的函数的执行的信息。说明性地,所述输出接口可将关于函数执行的数据(例如,函数的结果、与函数执行相关的错误或者函数执行的细节,诸如完成所述执行所需的总时间、经由所述执行所处理的总数据等)传输到用户计算装置102或辅助服务106,所述辅助服务可包括例如计费或日志记录服务。所述输出接口可进一步实现将诸如服务召用的数据传输到辅助服务106。例如,可在函数执行期间利用所述输出接口以将API请求传输到外部服务106(例如,以存储在函数执行期间所生成的数据)。
在图1的无服务器代码执行系统110上触发的代码执行由工作器机群180内的一组工作器181托管的执行环境执行。每个工作器181说明性地是被配置为托管多个执行环境的主机装置,在图1是虚拟机实例183A-183N。执行环境可以替代地包括软件容器,有时称为“OS级虚拟化”,这是本领域已知的另一种虚拟化技术。因此,在本文引用VM实例183的情况下,应理解(除非作出相反指示)容器可以替代此类实例183。
如本文使用,术语“虚拟机实例”意在是指仿真硬件以提供软件可在其上执行的环境或平台(“执行环境”)的软件或其他可执行代码的执行。由于它们模拟硬件,这些虚拟机实例有时被称为“系统虚拟机”。虚拟机实例通常由硬件装置执行,所述硬件装置与虚拟机实例所仿真的物理硬件可能有所不同。举例来说,虚拟机可仿真第一类型的处理器及存储器,同时在第二类型的处理器及存储器上执行。因此,可利用虚拟机在正在执行第二执行环境(例如,第二操作系统)的物理装置上执行旨在针对第一执行环境(例如,第一操作系统)的软件。在一些实例中,由虚拟机实例仿真的硬件可与基础装置的硬件相同或类似。举例来说,具有第一类型的处理器的装置可实施多个虚拟机实例,每一虚拟机实例仿真所述第一类型的处理器的实例。因此,可使用虚拟机实例将装置划分为一定数量的逻辑子装置(每一逻辑子装置被称为“虚拟机实例”)。虽然虚拟机实例通常可提供远离基础物理装置的硬件的抽象水平,但此抽象并非所需的。举例来说,假设装置实施了多个虚拟机实例,所述多个虚拟机实例中的每一者仿真与由装置提供的硬件相同的硬件。在这种情景下,每一虚拟机实例可允许软件应用在不转译的情况下在基础硬件上执行代码,同时维护在其他虚拟机实例上运行的软件应用之间的逻辑分离。通常被称为“本机执行”的这一过程可用于增加虚拟机实例的速度或性能。还可使用允许直接利用基础硬件的其他技术,诸如硬件直通技术。
如图1所示,每个工作器181可以托管多个实例183。每个实例183可以与其他实例183隔离,从而保证无服务器代码执行系统110上代码执行的安全性。例如,每个实例183可以被虚拟化边界划分,因为实例183是由工作器181托管的虚拟机。此外,每个实例183可以存在于工作器181上的分区用户空间内,其在实例183之间逻辑地划分工作器181的资源。例如,每个用户空间可能表示一个“chroot”监狱,即一种用于LINUXTM操作系统的已知隔离技术。
为了促进代码的快速执行,每个工作器181可以被配置成将一组实例183维持在“预热”状态,至少部分地被配置成开始代码的执行。例如,实例可以在工作器上创建并配置为可以访问计算资源(CPU、RAM、驱动器存储等)。在一些情况下,对于所有可能的代码执行,将实例183保持在完全预热状态可能是不切实际或不可能的,因为执行可能与各种各样的至少部分不同的数据集(例如,磁盘映像和/或快照)相关联。因此,对于给定的任务组,实例183可以维持在“最大共性”中,诸如被提供给那些任务共有的一组计算资源,被配置为接受那些任务使用的操作系统类型,等等。
在接收到提供实例183以支持任务执行的指令时,工作器181可以调整实例183的配置以支持该执行。具体地,工作器181可以向实例183提供对对应于任务的磁盘映像或快照的访问。在一些情况下,工作器181可以检索任务的磁盘映像并将完整映像存储在本地。在其他情况下,工作器181可以向实例183提供对磁盘映像或快照的完全本地访问,同时响应于读取这些部分的请求“懒惰地”检索该映像或快照的部分。在美国专利申请第17/105,250号中讨论了用于提供映像部分的惰性检索的技术,所述美国专利申请于2020年11月25日提交,并且标题为“LOW LATENCY ACCESS TO DATA SETS USING SHARED DATA SETPORTIONS”(“'250申请”),其全部内容通过引用并入本文。
此外,系统110包括多个部件,用于促进从前端120向特定VM实例183分发召用以执行函数。例如,无服务器代码执行系统110包括一个或多个工作器管理器140,其被配置为管理由工作器机群180中的工作器181托管的执行环境(例如,虚拟机实例)。工作器管理器140(其中的每一个都说明性地实施为物理装置或物理上虚拟装置)说明性地“租用”机群180内的特定VM实例183,从而获得操作控制以例如指示虚拟机实例183执行函数的代码。因此,在接收到执行函数的召用时,前端120可以将该召用分发给工作器管理器140,所述工作器管理器可以识别在其中实施该函数的当前租用的VM实例183,并使实例183实施该函数。
在工作器管理器140当前没有租用对应于被召用函数的VM实例183的情况下,工作器管理器140可以联系放置服务160以请求租用额外的实例183,这说明性地配置为向工作器管理器140授予对各个VM实例183的租用。说明性地,放置服务160可以维护跨机群180的VM实例183的状态信息,以及指示哪个管理器140已经租用给定实例183的信息。当工作器管理器140请求租用额外实例183时,放置服务160可以识别适当的实例183(例如,用支持实施函数的召用所需的软件和/或数据预热)并授予管理器140对该实例183的租用。在这样的实例183不存在的情况下,放置服务160可以指示工作器181创建这样的实例183(例如,通过创建实例183或识别现有的未使用的实例183,为实例183提供对支持执行所需的一组数据的访问等),随后向工作器管理器140授予对该实例183的租用,从而促进执行。
为了促进与诸如流数据系统170或辅助服务106的外部数据源的交互,系统110包括轮询机群130,其用于轮询外部数据源以获取数据。说明性地,轮询机群130可包括一个或多个计算装置(图1中被示为轮询器装置132A-132N),所述计算装置被配置为周期性地将请求传输到流数据系统170以检索任何新的可用数据(例如,社交网络“帖子”、新闻文章、文件、记录等),并且确定所述数据是否对应于触发在无服务器代码执行系统110上执行函数的用户建立的标准。说明性地,函数的执行标准可包括但不限于在辅助服务106或流数据系统170处是否可获得新数据、数据的类型或内容或者对应于所述数据的定时信息。在一些情况下,辅助服务106或流数据系统170可用以向前端120通知新数据的可用性,并且因此,关于此类服务,轮询机群130可以是不必要的。
根据本公开的实施方案,基于消息流172内的消息分片174的数量,轮询器机群130可以被配置为包括动态数量的轮询器装置132A-132N(例如,实施为底层计算系统上的虚拟机实例)。例如,如图1中虚线所示,消息分片174A可以对应于轮询器装置132A,消息分片174B可以对应于轮询器装置132B,等等。因此,随着消息分片174的数量发生变化(例如,由于消息流的量),轮询器装置132的数量也可以改变。这样,轮询器机群130可以与流数据系统170通信,并且系统170可以向轮询器机群130通知消息分片174的变化。在这样的配置中,每个轮询器装置132A可以被配置为轮询消息分片174以检索对应于消息分片的子流中的消息。可以单独地或成批地(例如,10条消息、50条消息、100条消息、500条消息等的批次)检索消息。此后,轮询器装置132可以视需要为消息调用对聚合函数162或目标函数164的召用。在一些情况下,从每个轮询器装置132到对应函数执行的召用可以同步进行,使得轮询器装置132在进行下一次召用之前等待对执行成功的确认。
虽然一些功能在本文一般参考无服务器代码执行系统110或流数据系统170的单独的部件进行描述,但其他部件或部件的组合可另外或可替代地实施此类功能。例如,虽然轮询器装置132A可用于轮询消息的消息分片174,但是消息分片174可以附加地或替代地被配置为向无服务器代码执行系统110(例如,前端)通知分片174上的新消息。
图3描绘了轮询器装置132的一般架构。图3中所描绘的轮询器装置132的一般架构包括可用于实施本公开的各方面的计算机硬件及软件模块的布置。可利用物理电子装置来实施硬件模块,如下文将更详细论述。轮询器装置132可包括比图3中所展示的更多(或更少)的元件。然而,为了提供能够实现的公开,没有必要展示所有这些一般常规的元件。另外,图3中所示的一般架构可用于实施图1中所示的其他部件中的一者或多者。如所示,轮询器装置132包括处理单元190、网络接口192、计算机可读介质驱动器194及输入/输出装置接口196,所有这些都可通过通信总线方式彼此通信。网络接口192可以提供与一个或多个网络或计算系统的连接性。处理单元190因此可经由网络104接收来自其他计算系统或服务的信息及指令。处理单元190还可与存储器180通信并进一步经由输入/输出装置接口196为任选显示器(未展示)提供输出信息。输入/输出装置接口196还可从任选输入装置(未展示)接受输入。
存储器180可包含处理单元190执行以便实施本公开的一个或多个方面的计算机程序指令(在一些实施方案中被分组为模块)。存储器180通常包括随机存取存储器(RAM)、只读存储器(ROM)和/或其他持续的、辅助的或非暂时性计算机可读介质。存储器180可以存储操作系统184,该操作系统提供由处理单元190在工作器管理器140的一般管理和操作中使用的计算机程序指令。存储器180可进一步包括用于实施本公开的各方面的计算机程序指令及其他信息。举例来说,在一个实施方案中,存储器180包括用户界面单元182,所述用户界面单元例如经由安装在计算装置上的诸如浏览器或应用等导航和/或浏览接口生成用于在计算装置上显示的用户界面(和/或用于所述用户界面的指令)。另外,存储器180可包括一个或多个数据存储库(未展示)和/或与所述一个或多个数据存储库通信,例如,以访问用户程序代码和/或库。
除了用户界面单元182之外和/或与所述用户界面单元结合,存储器180可以包括轮询单元186、数据分析单元188和无服务器接口单元189。在一个实施方案中,轮询单元186、数据分析单元188和无服务器接口单元189单独地或共同地实施本公开的各个方面。例如,轮询单元186可以表示可执行代码以轮询消息流172以从流172中识别和获得数据项。数据分析单元188可以表示可执行代码以分析那些数据项以确定是否满足用于调用与流相关联的聚合函数或目标函数的标准。无服务器接口单元189可以表示可执行代码以调用这样的聚合函数或目标函数,并且在这样的调用之间维护状态信息。
虽然轮询单元186、数据分析单元188和无服务器接口单元189在图3中被示出为轮询器装置132的一部分,但在其他实施方案中,轮询单元186、数据分析单元188和无服务器接口单元189的全部或一部分可以由无服务器代码执行系统110和/或另一个计算装置的其他部件实施。例如,在本公开的某些实施方案中,与无服务器代码执行系统110通信的另一计算装置可包括与被示为轮询器装置132的一部分的模块和部件类似地操作的若干模块或部件。
参考图4,描绘了使用图2的无服务器代码执行系统110启动对消息流172中的数据项的流式分析的说明性交互。具体来说,图4的交互说明了系统110可以采取的接收和响应用户请求以根据用户提供的聚合函数和目标函数进行流式分析的那些交互。
图4的交互从(1)开始,其中客户端装置102将无服务器代码执行系统110配置为通过在系统110上配置聚合函数和目标函数来实施流式分析。在图3的说明性交互中,聚合函数和目标函数被指定为无服务器代码执行系统110内的无服务器函数,它们可能先前已作为配置流式分析的一部分由用户装置102创建或者可能由无服务器代码执行系统110创建(例如,作为配置用于实施流式分析的这些函数的一部分,用户可以提交用于聚合函数和目标函数的代码)。在其他实施方案中,用户可以指定其他聚合函数和目标函数,诸如无服务器代码执行系统110或其他用户可用的函数。除了聚合函数和目标函数的指定之外,图4的说明性配置通常包括数据流(例如,图1的消息流172)的规范,包括要经由聚合函数和目标函数处理的数据项(或“消息”),以及用于调用聚合函数和目标函数的标准。这样的标准可以包括开窗标准,其指定应当在其上分析消息的窗口(例如,滑动和/或固定窗口),包括例如窗口持续时间或用于建立这样的持续时间的标准。目标函数可以说明性地在每个这样的窗口的末尾执行,从而使用与处理窗口内出现的数据项相关联的状态信息。调用聚合函数和目标函数的标准还可以包括聚合标准,从而指定何时运行聚合函数以处理窗口内的数据项。例如,聚合标准可以包括要由聚合函数的单独调用处理的项目的最大数量或数据大小。如下所述,用于调用聚合函数和目标函数的标准此后可以由轮询器机群132内的轮询器装置132应用以通过调用聚合函数和目标函数对消息流172进行流式分析。
因此,前端120在(2)处将所提供的聚合函数和目标函数(如果需要)传输到任务数据存储区160,以供稍后检索和执行。此外,在(3)处,前端120指示轮询器机群初始化客户端装置102指定的流式分析。前端120可以说明性地向轮询器机群传递包含要分析的数据的消息流172的标识、聚合函数和目标函数的标识以及用于调用聚合函数和目标函数的标准。轮询器机群130然后在(4)处初始化轮询器装置132以便进行流式分析。说明性地,轮询器机群130可以为消息流172的每个分片174初始化一个或多个轮询器装置。
参考图5,示出了通过调用无服务器代码执行系统110上的聚合函数来对消息流172内的消息进行流式分析的说明性交互。例如,图5的交互可以响应于图4的交互而发生,如上所述。
图5的交互从(1)开始,其中一个或多个消息被发布到流数据系统170上的消息流172。消息可以由多个数据源发布,诸如客户端装置102、辅助服务106或其他网络装置。例如,可以在计算系统的操作期间发布消息,以便将关于计算系统的操作的数据记录到流172。消息可能包含多种类型的数据中的任何一种,所述数据对应于经由执行聚合函数和目标函数而分析的数据。
在(2)处,轮询器机群130(例如,使用轮询器装置132)从流172中检索消息。在一个实施方案中,检索利用“拉取”机制,由此机群130周期性地(例如,每秒、10秒、30秒等)从流172中拉取出新消息。在另一个实施方案中,检索使用“推送”机制,由此流172向机群130通知新消息。
在(3)处,轮询器机群130根据开窗标准将检索到的消息分配给一个或多个窗口。例如,与每条消息相关联的时间戳可用于将消息分配给相应的窗口。在固定的非重叠窗口的情况下,每条消息可以分配给单个窗口。在滑动或重叠窗口的情况下,每个消息可以分配给多个窗口。例如,每条消息都可能引发给定持续时间的新滑动窗口的创建。
此后,在(4)处,轮询器机群130确定针对给定窗口的检索消息满足针对那些消息调用聚合函数的标准。这样的标准可以包括例如消息的数量或消息的总数据大小。这样的标准可以进一步包括包括消息的窗口的关闭,这可以例如基于流中的具有在窗口的关闭时间之后的时间戳的消息的存在来确定。
因此,在(5)处,轮询器机群130调用聚合函数来处理消息。在一个实施方案中,调用将消息传递给聚合函数执行402。在另一个实施方案中,调用识别消息流172上的消息,使得执行402可以在执行期间获得消息。在调用中,轮询器机群130另外将消息所分配到的窗口的状态信息传递给聚合函数。说明性地,轮询器机群130在针对给定窗口的聚合函数的第一次调用期间可以传递初始状态信息,该信息可以是空的。在后续调用期间,聚合函数可能会被传递窗口的更新后状态信息,如下所述。调用可以说明性地是同步执行,使得机群130或特定轮询器装置132的操作暂停并在继续进行额外操作之前等待执行完成。
在(6)处,无服务器代码执行系统110启动聚合函数执行402。执行402说明性地表示代码的执行,该代码使用传入的状态信息(如果有的话)来分析对应于调用的消息。例如,执行402可以确定给定窗口的每条消息中的一个或多个字段值的计数、平均值、最小值或最大值。本领域技术人员将理解,提供这些功能仅用于说明,并且用户定义的聚合函数可以实施任意数量的功能。
在(7)处,作为处理对应于调用的消息的结果,聚合函数执行402向轮询器机群130返回结果作为对应窗口的状态信息。例如,执行402可以将在窗口的消息处理期间识别的计数、平均值、最小值或最大值传递给轮询器机群130。在(8)处,机群用返回的结果更新相应窗口的状态信息。因此,可以使用该状态信息来调用聚合函数的未来调用,使得这样的执行是有状态的并且不需要在聚合函数执行402的执行环境中维护这样的状态。
虽然在图5中示出了单个交互序列,但是本领域技术人员将理解,这些交互可以发生多次,其中一些交互可能同时发生。例如,可以独立于系统110的操作将消息发布到流。类似地,可以独立于图5的其余交互从流中检索消息,并且,例如,将消息缓存在轮询器机群130处用于根据流式分析标准进行分析。此外,交互(3)-(8)可以关于给定窗口中的消息重复发生,使得多个聚合函数执行402发生在该窗口内。类似地,可以针对每个消息窗口重复这些交互。尽管图5的交互一般参照轮询器机群130进行描述,但这些交互可以在轮询器装置132之间重复。例如,每个装置132可以被配置为针对流172的不同分片174进行交互(3)-(8)。在一些实施方案中,多个装置132可以被配置为针对单个分片174进行交互(3)-(8)。例如,开窗标准可以包括分区标准,诸如分片174内消息的属性以用作分区键以便划分消息(例如,根据一致的散列算法),以及开窗和聚合标准。多个装置132中的每个轮询器装置132此后可以将开窗和聚合标准应用于它们各自的消息部分以实施上述交互。
参考图6,示出了通过调用无服务器代码执行系统110上的目标函数来对消息流172内的消息进行流式分析的说明性交互。交互可以说明性地发生在图5的交互之后或同时发生。例如,如图6所示,交互开始于(1),其中消息被发布到流172,并在(2)继续,其中轮询器机群130从流中检索一个或多个消息。这些交互基本上类似于图5的交互(1)和(2),因此将不再详细描述。在一些情况下,图5和图6的交互(1)和(2)分别表示相同的交互。也就是说,发布到流172并由轮询器机群130检索的一组给定消息可以导致图5和图6两者中的交互。
在检索消息之后,在(3)处,轮询器机群130检测到窗口关闭。如上所述,每个窗口可以与给定的开始和结束时段相关联。因此,检测到窗口关闭可以对应于检测到窗口的结束周期已经出现。在一个实施方案中,检测到窗口关闭对应于检测到流中的消息具有窗口结束时段之后的时间戳。例如,这可以指示窗口内的所有消息都已发布到流172,因此可用于轮询器机群130。在流172不保证排序的情况下(例如,在具有较早时间戳的消息不能保证在具有较晚时间戳的消息之前存在于流中的情况下),轮询器机群130可以将无序消息视为稍后的窗口的一部分。例如,具有对应于关闭窗口的时间戳的任何消息都可以被机群130视为最早打开窗口的一部分。在其他实施方案中,轮询器机群130可以被配置为尝试将无序消息放入正确的窗口中。例如,轮询器机群130可以被配置为将无序消息视为包括在其适当的窗口内(根据消息上的时间戳),只要该窗口的目标函数没有被调用。轮询器机群130在一些情况下可以被配置为延迟对每个窗口的目标函数的调用以解决无序消息。例如,在检测到窗口关闭时,轮询器机群130可以将目标函数的调用延迟给定时段(例如,1秒、10秒、30秒等),使得在该时段期间获得的无序消息可以作为关闭窗口的一部分进行处理。
此后,在(4)处,轮询器机群130使用窗口的最终状态调用目标函数,所述最终状态对应于在处理对应于窗口的消息之后执行聚合函数所返回的状态。在一个实施方案中,轮询器机群130被配置为在调用目标函数之前确认窗口内的所有消息已经通过聚合函数的执行被处理。如果存在尚未处理的消息,则轮询器机群130可以在窗口关闭时调用聚合函数(例如,以关于图6描述的方式)以获得窗口的最终状态。轮询器机群130然后可以调用目标函数并将最终窗口状态传递给该函数。响应于调用,无服务器代码执行系统110启动目标函数执行602,其在(5)处执行以处理最终窗口状态。例如,目标函数执行602可以评估状态以确定要采取的动作(如果有的话),并采取相关动作。相关动作可能包括,例如,记录最终状态,如果最终状态与给定标准匹配,则发送警报,等。因为评估和相关动作是在用户定义的目标函数中定义的,所以这些可能包含各种各样的功能。
在(6)处,目标函数执行602向轮询器机群返回成功的指示。然后,轮询器机群130在(7)处将窗口标记为已处理。因此,因为已经为窗口内的每条消息调用了聚合函数和目标函数,所以所请求的流式分析已经应用于该窗口。根据上述交互,无需部署用于进行流式分析的特定资源即可进行流式分析,从而使最终用户能够在此类分析期间享受与无服务器计算相关联的益处。此外,这样的分析能够无状态地运行,而不需要在无服务器代码执行系统110的执行环境中维持这样的状态,因此不抑制该系统110在执行用户定义的代码时的灵活性。
可以对图5和图6的交互进行各种修改。例如,而图5和图6讨论了单独的聚合函数和目标函数,如上所述,这些函数在一些情况下可能表示单个函数。因此,图5和图6的调用可以指利用例如标志或指定要调用哪个功能(聚合或目标)的其他输入调用相同函数。在一些情况下,单个调用可用于调用聚合功能和目标功能两者。例如,在检测到窗口已关闭时,轮询器机群可以调用单个函数来处理窗口的剩余(未处理)消息,并使用此类处理的结果作为最终状态来实施目标处理。因此,图5的交互(5)和图6的交互(4)可以组合成单个调用,并且图5的交互(7)和(8)可以省略。
虽然没有在图5和图6中示出,但是轮询器机群130在一些实施方案中可以进行额外的交互以确保操作的弹性。例如,每个装置132可以周期性地将其状态以“检查点”记录到外部存储系统,诸如辅助服务106。检查点操作可以指示例如由聚合函数处理的流172的消息和与该处理相关联的状态、目标函数是否已成功地为窗口调用,等等。以这种方式,如果轮询器装置132发生故障,则新的轮询器装置132可以被初始化并启用以使用该故障轮询器装置132的检查点信息来恢复故障轮询器装置132的操作。
更进一步,虽然图5和图6的交互通常考虑对单个连续消息集(例如,在给定流172或分片174内)的处理,但在一些情况下,流和/或分片可以被拆分或合并。例如,流数据系统170可以被配置为根据拥有这种流的用户的请求拆分或合并流,或者根据那些分片上的消息量拆分或合并分片。在一些实施方案中,轮询器机群130可以被配置为处理这样的拆分或合并。例如,轮询器机群130在检测拆分的流或分片时可以将未拆分流或分片的流式分析标准应用于两个产生的流或分片。配置流式分析的用户可以指定两组标准(如果不同)中的哪一组应该应用于合并的流或分片,使得轮询器机群130将指定的标准应用于合并的流或分片。在一个实施方案中,轮询器机群130将拆分或合并视为窗口边界,使得没有状态信息在拆分或合并之间被维护。在另一个实施方案中,轮询器机群130可以维护跨越拆分/合并边界的窗口,并相应地处理状态信息。例如,在拆分的情况下,机群130可以将未拆分的分片或流的状态信息复制到两个产生的分片或流。在这样的示例中,聚合和/或目标函数可以包括可执行代码以确定对应分片或流的相关状态信息。在合并的情况下,机群130可以组合或连接合并的流或分片的状态信息。可以对图5和图6的交互进行各种附加修改。
参照图7,将描述用于使用无服务器代码执行系统进行流式分析的说明性例程700。例程700可以例如在轮询器机群130的轮询器装置132上实施。
例程700开始于框702,其中轮询器装置132获得流式分析参数,包括要用于进行流式分析的聚合函数和目标函数的指定。流式分析参数还说明性地包括开窗标准,其指定用于识别在其上进行分析并调用目标函数的窗口的标准,以及聚合标准,其指定何时调用聚合函数以产生要传递给后续聚合函数或目标函数的针对窗口的状态信息。
此后,轮询器装置132进入窗口循环710和聚合循环720,如图7所示。窗口循环710说明性地表示针对数据流中的给定窗口采取的操作,使得例如循环的每次交互针对流上的不同消息窗口发生。聚合循环720表示针对窗口内的消息子集采取的操作,以对这些消息进行中间处理并促进状态信息的生成,所述状态信息要在循环720的后续实例(如果有的话)期间使用,或者要传递给窗口循环710结束时的目标函数。
在循环710和720内,轮询器装置132从流中获得消息。说明性地,轮询器装置132可以通过从流中读取消息来获得消息。替代地,轮询器装置132可以包括单独的过程以从流中读取消息并将消息放置在装置132的本地高速缓存中,所述消息可以在例程700的实施期间从本地高速缓存中读取。
在框706,轮询器装置132将每个消息分配给窗口。说明性地,装置132可以检查每个消息的属性,诸如时间戳,以识别对应于该消息的一个或多个窗口。在非重叠窗口的实例中,装置可以基于从固定时间点计算的窗口边界为每个消息计算单个窗口。例如,开始时间(t=0)可以是第一边界,其中以固定间隔创建的附加边界对应于每个窗口的持续时间。在滑动窗口的实例中,轮询器装置132可以将每个消息分配给具有对应于消息的属性的开始时间的新窗口,以及包括消息的时间戳并且还没有关闭的任何先前窗口。
在框708,轮询器装置132确定消息是否满足任何打开的窗口的聚合标准。例如,轮询器装置132可以为每个打开的窗口确定该窗口的一组未处理消息是否共同满足该窗口的聚合标准。可以满足聚合标准,例如,基于未处理消息的总数、未处理消息的总大小,或检测到窗口应该关闭(例如,基于检测到在窗口的关闭时间之后具有时间戳属性的消息)。如果不满足聚合标准,则例程700返回框704,其中获得附加消息并且例程700如上所述继续进行。
当满足聚合标准时,例程700进行到框712,其中为满足聚合标准的流的那些未处理消息调用聚合函数。当调用聚合函数时,轮询器装置132可以将窗口的先前状态信息传递给聚合函数,如果有的话。先前状态信息可以包括例如初始状态值(例如,空值)或作为聚合函数的先前调用的结果而返回的状态信息。如上所述,然后可以使用先前状态信息在无服务器计算系统110上执行聚合函数,并且聚合函数的执行说明性地向轮询器装置132返回结果。轮询器装置132又更新对应于框714处的调用的窗口的状态。
例程700然后进行到框716,其中轮询器装置132确定是否满足任何打开的窗口的关闭标准,以及该窗口的所有消息是否已经被聚合函数处理。如上所述,每个窗口可以与流上的时间跨度相关联,并且关闭标准因此可以指示窗口将在该时间跨度过去之后关闭。例如,轮询器装置132可以确定在检测到具有窗口时间跨度之后的时间戳的消息之后应该关闭窗口、检测到这样的消息之后的阈值周期等。如果不满足关闭标准,或者消息在窗口内保持未处理,则例程700返回框704并如上所述继续进行。如果窗口将被关闭并且所有消息都已被处理,则例程700退出关于该窗口的聚合循环720并前进到框718,其中轮询器装置132使用窗口的最终状态调用目标函数(例如,基于针对窗口中的消息调用聚合函数而生成)。如上所述,目标函数说明性地处理窗口的最终状态,以确定针对该状态将采取的动作(如果有的话),诸如向最终用户报告状态,向日志记录端点报告状态等。然后例程700退出窗口循环710并返回框704,其中以上述方式获得并处理其他窗口的附加消息。然后例程700可以继续进行以处理附加消息,从而为数据流内的消息提供流式分析。
尽管图7描绘了一个示例例程700,但是可以对例程700进行各种添加或修改。例如,如上所述,轮询器装置132可以在一些实例中实施检查点操作或其他功能以提供操作的弹性,诸如通过在不同时间记录轮询器装置132的状态。作为另一个示例,虽然单独讨论了聚合函数和目标函数的调用,但在一些情况下,这些调用可能会组合在一起。例如,例程700可以被修改以在聚合函数由于窗口关闭而被调用的情况下组合框712和718。接收函数(例如,表示聚合函数和目标函数的组合)然后可以处理任何未处理的消息以生成最终状态,并基于该最终状态实施目标功能。在由于窗口关闭而调用该函数的情况下,这可以避免关于聚合函数的最终调用的框714的需要。可以进行各种附加修改。
可通过以下条款来描述本公开的各种示例性实施方案:
条款1.一种用于使用无服务器代码执行实施流式分析的系统,所述系统包括:
流式数据系统,其包括一组计算装置,所述计算装置被配置为托管包括消息的数据流,所述数据流内的各个消息与对应于所述数据流内的相对位置的时间戳相关联;
无服务器计算系统,其被配置为获得对无服务器函数的调用并作为响应启动所述无服务器函数的执行,其中所述无服务器函数包括:
聚合函数,其表示可执行代码以处理来自所述数据流的一个或多个输入消息并生成表示对所述一个或多个输入消息的分析的状态信息;和
目标函数,其表示可执行代码以处理来自所述聚合函数的状态信息;和
轮询器装置,其被配置为:
从所述数据流中迭代地检索消息;
使用窗口标准,将每个检索到的消息分配给多个窗口中的一个窗口;以及
对于所述多个窗口中的每个窗口:
根据聚合标准对分配给所述窗口的消息进行分组,以产生至少第一组消息和第二组消息;
调用所述聚合函数的第一次执行来处理所述第一组消息;
从所述第一次执行中获得第一状态信息;
至少部分地通过将所述第一状态信息传递给所述聚合函数的第二次执行来调用所述第二次执行来处理所述第二组消息,其中所述聚合函数的所述第二次执行产生第二状态信息;以及
至少部分地通过将所述第二状态信息传递给所述目标函数的执行来调用所述目标函数的执行,其中所述目标函数的执行提供对针对分配给所述窗口的所述消息进行所述流式分析的结果的处理。
条款2.根据条款1所述的系统,其中所述聚合函数表示可执行代码以提供所述一个或多个输入消息内的字段的计数、平均值、最大值或最小值中的至少一者。
条款3.根据前述条款中任一项所述的系统,其中开窗标准指定固定长度的非重叠窗口。
条款4.根据条款1和2中任一项所述的系统,其中开窗标准指定滑动窗口,并且其中所述轮询器装置还被配置为针对从所述数据流检索的每个消息将新窗口添加到所述多个窗口。
条款5.根据前述条款中任一项所述的系统,其中所述数据流被分成多个分片,并且其中所述轮询器装置包括在多个轮询器装置内,所述多个轮询器装置包括分配给所述多个分片中的每个分片的至少一个轮询器装置,并且其中从所述数据流中迭代地检索消息包括从所述轮询器装置被分配的分片中迭代地检索消息。
条款6.一种计算机实施的方法,其包括:
从数据流中迭代地检索消息;
使用窗口标准,将每个检索到的消息分配给多个窗口中的一个窗口;以及
对于所述多个窗口中的每个窗口:
根据聚合标准对分配给所述窗口的消息进行分组,以产生至少第一组消息和第二组消息;
在无服务器计算系统上调用聚合函数的第一次执行,其中所述聚合函数表示可执行代码以处理一组输入消息并作为结果提供状态信息,其中所述第一组消息表示用于所述第一次执行的输入组,并且其中所述第一次执行的结果为第一状态信息;
从所述第一次执行中获得所述第一状态信息;以及
在所述无服务器计算系统上调用所述聚合函数的第二次执行,其中所述第二组消息表示用于所述第二次执行的输入组,其中调用所述第二次执行包括将所述第一状态信息传递给所述第二次执行,并且其中所述第二次执行的结果是第二状态信息;以及
在所述无服务器计算系统上调用目标函数的执行,其中所述目标函数表示可执行代码以处理来自所述聚合函数的输入状态信息并提供结果,并且其中所述第二状态信息表示用于执行所述目标函数的输入状态信息。
条款7.根据条款6所述的计算机实施的方法,其中所述聚合函数和所述目标函数表示所述无服务器计算系统上的单个函数,其中调用所述聚合函数包括用所述聚合函数的输入请求功能调用所述单个函数,并且其中调用所述目标函数包括用所述目标函数的输入请求功能调用所述单个函数。
条款8.根据条款6和7中任一项所述的计算机实施的方法,其中调用所述聚合函数包括传递与所述聚合函数的调用相关联的窗口的现有状态信息,并且其中所述方法还包括针对所述多个窗口中的每个窗口生成初始状态信息。
条款9.根据条款6-8中任一项所述的计算机实施的方法,其中将所述第一状态信息传递给所述第二次执行包括在所述第二次执行的调用期间将所述第一状态信息作为参数传递。
条款10.根据条款6-9中任一项所述的计算机实施的方法,其还包括:在调用所述目标函数的执行之前,至少部分地通过确定没有任何分配给当前窗口的附加消息正在等待由所述聚合函数进行处理并确定所述当前窗口的时间跨度已经过去来确定所述第二状态信息表示所述当前窗口的最终状态信息。
条款11.根据条款10所述的计算机实施的方法,其中确定所述当前窗口的所述时间跨度已经过去包括确定检索到的消息与所述时间跨度之后的时间戳相关联。
条款12.根据条款6-11中任一项所述的计算机实施的方法,其中所述聚合标准指定每组内的消息的最大数量或每组内的消息的最大数据大小中的至少一者。
条款13.根据条款6-12中任一项所述的计算机实施的方法,其中开窗标准指定滑动窗口,并且其中所述方法还包括针对从所述数据流检索的每个消息将新窗口添加到所述多个窗口。
条款14.一种包括指令的非暂时性计算机可读介质,所述指令在由计算系统执行时使所述计算系统:
从数据流中迭代地检索消息;
使用窗口标准,将每个检索到的消息分配给多个窗口中的一个窗口;以及
对于所述多个窗口中的每个窗口:
根据聚合标准对分配给所述窗口的消息进行分组,以产生至少第一组消息和第二组消息;
在无服务器计算系统上调用聚合函数的第一次执行,其中所述聚合函数表示可执行代码以处理一组输入消息并作为结果提供状态信息,其中所述第一组消息表示用于所述第一次执行的输入组,并且其中所述第一次执行的结果为第一状态信息;
在所述无服务器计算系统上调用所述聚合函数的第二次执行,其中所述第二组消息表示用于所述第二次执行的输入组,其中调用所述第二次执行包括将所述第一状态信息传递给所述第二次执行,并且其中所述第二次执行的结果是第二状态信息;以及
在所述无服务器计算系统上调用目标函数的执行,其中所述目标函数表示可执行代码以处理来自所述聚合函数的输入状态信息并提供结果,并且其中所述第二状态信息表示用于执行所述目标函数的输入状态信息。
条款15.根据条款14所述的非暂时性计算机可读介质,其中所述聚合函数和所述目标函数表示所述无服务器计算系统上的单个函数,其中所述指令在被执行时使所述计算系统至少部分地通过用所述聚合函数的输入请求功能调用所述单个函数来调用所述聚合函数,并且其中所述指令在被执行时使所述计算系统至少部分地通过用所述目标函数的输入请求功能调用所述单个函数来调用所述目标函数。
条款16.根据条款14-15中任一项所述的非暂时性计算机可读介质,其中所述指令在被执行时使所述计算系统至少部分地通过将当前窗口的现有状态信息传递给所述聚合函数来调用所述聚合函数,并且其中所述指令在被执行时使所述计算系统为所述多个窗口中的每个窗口生成初始状态信息。
条款17.根据条款14-16中任一项所述的非暂时性计算机可读介质,其中为了将所述第一状态信息传递给所述第二次执行,所述指令在被执行时使所述计算系统在所述第二次执行的调用期间将所述第一状态信息作为参数传递。
条款18.根据条款14-17中任一项所述的非暂时性计算机可读介质,其中所述指令在被执行时还使所述计算系统在调用所述目标函数的执行之前,至少部分地通过确定没有任何分配给当前窗口的附加消息正在等待由所述聚合函数进行处理并确定所述当前窗口的时间跨度已经过去来确定所述第二状态信息表示所述当前窗口的最终状态信息。
条款19.根据条款18所述的非暂时性计算机可读介质,其中确定所述当前窗口的所述时间跨度已经过去包括确定检索到的消息与所述时间跨度之后的时间戳相关联。
条款20.根据条款14-19中任一项所述的非暂时性计算机可读介质,其中开窗标准指定滑动窗口,并且其中所述指令在被执行时还使所述计算系统针对从所述数据流检索的每个消息将新窗口添加到所述多个窗口。
上文所描述的所有方法及过程可在由一个或多个计算机或处理器执行的软件代码模块中体现并且经由所述软件代码模块来完全自动化。这些代码模块可存储在任何类型的非暂时性计算机可读介质或其他计算机存储装置中。所述方法中的一些或所有可替代地体现在专用计算机硬件中。
除非另有明确规定,否则诸如尤其是“能够”、“可以”、“可能”或“可”等条件语言在上下文内应另外理解为一般用于呈现某些实施方案包括某些特征、元件和/或步骤,而其他实施方案不包括某些特征、元件和/或步骤。因此,此类条件语言通常并非意图暗示无论如何所述特征、元件和/或步骤都是一个或多个实施方案必需的,或者并非暗示一个或多个实施方案必须包括用于在借助和不借助用户输入或提示下决定是否包括这些特征、元件和/或步骤或者是否在任何特定实施方案中执行这些特征、元件和/或步骤的逻辑。
除非另有明确规定,否则诸如措辞“X、Y或Z中的至少一者”等析取语言在上下文另外被理解为一般用于呈现项目、项等可以是X、Y或Z或它们的任何组合(例如,X、Y和/或Z)。因此,这种析取语言一般并不旨在且不应暗示某些实施方案要求X中的至少一者、Y中的至少一者或Z中的至少一者各自存在。
除非另外明确规定,否则诸如“一个”或“一种”等冠词一般应理解为包括一个或多个所描述的项目。因此,诸如“被配置为……的装置”等措辞意在包括一个或多个所述装置。此类一个或多个所述装置还可共同地被配置为执行所陈述的叙述。例如,“被配置为执行叙述A、B和C的处理器”可包括与被配置为执行叙述B和C的第二处理器联合工作的被配置为执行叙述A的第一处理器。
在本文描述和/或在附图中描绘的流程图中的任何例程描述、元素或框应理解为潜在地表示包括用于实施所述例程中的特定逻辑功能或元素的一个或多个可执行指令的代码的模块、段或部分。替代实施方式包括在本文中所述实施方案的范围内,其中如本领域中的技术人员所理解的那样,根据所涉及的功能,元素或功能可删除、或不按照所示出或讨论的顺序执行,包括基本上同步执行或逆序执行。
应当强调的是,可以对上述实施方案做出许多变化和修改,这些变化和修改的元素应当被理解为是在其他可接受的示例之中。在本文中,所有此类修改和变化意在包括在本公开的范围内,并且受所附权利要求保护。
Claims (15)
1.一种用于使用无服务器代码执行实施流式分析的系统,所述系统包括:
流式数据系统,其包括一组计算装置,所述计算装置被配置为托管包括消息的数据流,所述数据流内的各个消息与对应于所述数据流内的相对位置的时间戳相关联;
无服务器计算系统,其被配置为获得对无服务器函数的调用并作为响应启动所述无服务器函数的执行,其中所述无服务器函数包括:
聚合函数,其表示可执行代码以处理来自所述数据流的一个或多个输入消息并生成表示对所述一个或多个输入消息的分析的状态信息;和
目标函数,其表示可执行代码以处理来自所述聚合函数的状态信息;和
轮询器装置,其被配置为:
从所述数据流中迭代地检索消息;
使用窗口标准,将每个检索到的消息分配给多个窗口中的一个窗口;以及
对于所述多个窗口中的每个窗口:
根据聚合标准对分配给所述窗口的消息进行分组,以产生至少第一组消息和第二组消息;
调用所述聚合函数的第一次执行来处理所述第一组消息;
从所述第一次执行中获得第一状态信息;
至少部分地通过将所述第一状态信息传递给所述聚合函数的第二次执行来调用所述第二次执行来处理所述第二组消息,其中所述聚合函数的所述第二次执行产生第二状态信息;以及
至少部分地通过将所述第二状态信息传递给所述目标函数的执行来调用所述目标函数的执行,其中所述目标函数的执行提供对针对分配给所述窗口的所述消息进行所述流式分析的结果的处理。
2.根据权利要求1所述的系统,其中所述聚合函数表示可执行代码以提供所述一个或多个输入消息内的字段的计数、平均值、最大值或最小值中的至少一者。
3.根据前述权利要求中任一项所述的系统,其中开窗标准指定固定长度的非重叠窗口。
4.根据权利要求1和2中任一项所述的系统,其中开窗标准指定滑动窗口,并且其中所述轮询器装置还被配置为针对从所述数据流检索的每个消息将新窗口添加到所述多个窗口。
5.根据前述权利要求中任一项所述的系统,其中所述数据流被分成多个分片,并且其中所述轮询器装置包括在多个轮询器装置内,所述多个轮询器装置包括分配给所述多个分片中的每个分片的至少一个轮询器装置,并且其中从所述数据流中迭代地检索消息包括从所述轮询器装置被分配的分片中迭代地检索消息。
6.根据前述权利要求中任一项所述的系统,其中所述聚合函数和所述目标函数表示所述无服务器计算系统上的单个函数,其中调用所述聚合函数的执行包括用所述聚合函数的输入请求功能调用所述单个函数的执行,并且其中调用所述目标函数的执行包括用所述目标函数的输入请求功能调用所述单个函数的执行。
7.根据前述权利要求中任一项所述的系统,其中调用所述聚合函数包括传递与所述聚合函数的调用相关联的窗口的现有状态信息,并且其中所述轮询器装置还被配置为针对所述多个窗口中的每个窗口生成初始状态信息。
8.一种计算机实施的方法,其包括:
从数据流中迭代地检索消息;
使用窗口标准,将每个检索到的消息分配给多个窗口中的一个窗口;以及
对于所述多个窗口中的每个窗口:
根据聚合标准对分配给所述窗口的消息进行分组,以产生至少第一组消息和第二组消息;
在无服务器计算系统上调用聚合函数的第一次执行,其中所述聚合函数表示可执行代码以处理一组输入消息并作为结果提供状态信息,其中所述第一组消息表示用于所述第一次执行的输入组,并且其中所述第一次执行的结果为第一状态信息;
从所述第一次执行中获得所述第一状态信息;以及
在所述无服务器计算系统上调用所述聚合函数的第二次执行,其中所述第二组消息表示用于所述第二次执行的输入组,其中调用所述第二次执行包括将所述第一状态信息传递给所述第二次执行,并且其中所述第二次执行的结果是第二状态信息;以及
在所述无服务器计算系统上调用目标函数的执行,其中所述目标函数表示可执行代码以处理来自所述聚合函数的输入状态信息并提供结果,并且其中所述第二状态信息表示用于执行所述目标函数的输入状态信息。
9.根据权利要求8所述的计算机实施的方法,其中所述聚合函数和所述目标函数表示所述无服务器计算系统上的单个函数,其中调用所述聚合函数包括用所述聚合函数的输入请求功能调用所述单个函数,并且其中调用所述目标函数包括用所述目标函数的输入请求功能调用所述单个函数。
10.根据权利要求8和9中任一项所述的计算机实施的方法,其中调用所述聚合函数包括传递与所述聚合函数的调用相关联的窗口的现有状态信息,并且其中所述方法还包括针对所述多个窗口中的每个窗口生成初始状态信息。
11.根据权利要求8-10中任一项所述的计算机实施的方法,其中将所述第一状态信息传递给所述第二次执行包括在所述第二次执行的调用期间将所述第一状态信息作为参数传递。
12.根据权利要求8-11中任一项所述的计算机实施的方法,其还包括:在调用所述目标函数的执行之前,至少部分地通过确定没有任何分配给当前窗口的附加消息正在等待由所述聚合函数进行处理并确定所述当前窗口的时间跨度已经过去来确定所述第二状态信息表示所述当前窗口的最终状态信息。
13.根据权利要求12所述的计算机实施的方法,其中确定所述当前窗口的所述时间跨度已经过去包括确定检索到的消息与所述时间跨度之后的时间戳相关联。
14.根据权利要求8-13中任一项所述的计算机实施的方法,其中所述聚合标准指定每组内的消息的最大数量或每组内的消息的最大数据大小中的至少一者。
15.根据权利要求8-14中任一项所述的计算机实施的方法,其中开窗标准指定滑动窗口,并且其中所述方法还包括针对从所述数据流检索的每个消息将新窗口添加到所述多个窗口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/305,139 | 2021-06-30 | ||
US17/305,139 US11388210B1 (en) | 2021-06-30 | 2021-06-30 | Streaming analytics using a serverless compute system |
PCT/US2022/035520 WO2023278574A1 (en) | 2021-06-30 | 2022-06-29 | Streaming analytics using a serverless compute system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117642724A true CN117642724A (zh) | 2024-03-01 |
Family
ID=82323928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280045734.4A Pending CN117642724A (zh) | 2021-06-30 | 2022-06-29 | 使用无服务器计算系统的流式分析 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11388210B1 (zh) |
EP (1) | EP4363976A1 (zh) |
CN (1) | CN117642724A (zh) |
WO (1) | WO2023278574A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11614982B1 (en) * | 2022-08-29 | 2023-03-28 | Sedai Inc. | Autonomous concurrency for serverless functions |
Family Cites Families (798)
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 |
GB2302966A (en) | 1995-06-30 | 1997-02-05 | Ibm | Transaction processing with a reduced-kernel operating system |
JPH10255112A (ja) | 1997-03-12 | 1998-09-25 | Oki Electric Ind Co Ltd | 自動取引装置の監視方法と監視システム |
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> | 分散処理システム、クライアントノード、サーバノードおよび分散処理方法 |
US6237005B1 (en) | 1998-06-29 | 2001-05-22 | Compaq Computer Corporation | Web server mechanism for processing multiple transactions in an interpreted language execution environment |
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 |
US20050027611A1 (en) | 1999-08-26 | 2005-02-03 | Wharton Brian K. | Electronic commerce systems and methods providing multiple-vendor searches |
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 |
FR2801118B1 (fr) | 1999-11-17 | 2001-12-21 | Bull Cp8 | Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque |
DE10048942B4 (de) | 1999-12-01 | 2008-07-03 | International Business Machines Corp. | Verfahren und System zur Wartung von Software über ein Netz |
KR100357850B1 (ko) | 2000-03-29 | 2002-10-25 | 삼성전자 주식회사 | 코버플락시모듈을 이용한 다양한 프로토콜 공통 서비스를위한 분산객체 지향 통신시스템 및 그 방법 |
US6986133B2 (en) | 2000-04-14 | 2006-01-10 | Goahead Software Inc. | System and method for securely upgrading networked devices |
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 |
US20060036941A1 (en) | 2001-01-09 | 2006-02-16 | Tim Neil | System and method for developing an application for extending access to local software of a wireless device |
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 |
US6760908B2 (en) | 2001-07-16 | 2004-07-06 | Namodigit Corporation | Embedded software update system |
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 |
US7577722B1 (en) | 2002-04-05 | 2009-08-18 | Vmware, Inc. | Provisioning of computer systems using virtual machines |
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 |
US7308463B2 (en) | 2002-06-26 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | Providing requested file mapping information for a file on a storage device |
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 | コンパイル処理プログラム、コンパイル処理方法、およびコンパイル処理プログラム記録媒体 |
WO2004068367A2 (en) | 2002-12-02 | 2004-08-12 | Sap Aktiengesellschaft | Session-return enabling stateful web applications |
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 |
US7360215B2 (en) | 2003-05-15 | 2008-04-15 | Sap Ag | Application interface for analytical tasks |
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 |
US7340522B1 (en) | 2003-07-31 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Method and system for pinning a resource having an affinity to a user for resource allocation |
US7937493B2 (en) | 2003-08-14 | 2011-05-03 | Oracle International Corporation | Connection pool use of runtime load balancing service performance advisories |
US8776050B2 (en) | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US20050044301A1 (en) | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
US7441244B2 (en) | 2003-12-10 | 2008-10-21 | International Business Machines Corporation | Workload scheduler with cumulative weighting indexes |
US7743029B2 (en) | 2003-12-30 | 2010-06-22 | Sap Ag | Log configuration and online deployment services |
US20050193283A1 (en) | 2003-12-30 | 2005-09-01 | Reinhardt Steven K. | Buffering unchecked stores for fault detection in redundant multithreading systems using speculative memory support |
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 |
US20050268308A1 (en) | 2004-05-28 | 2005-12-01 | Nokia Corporation | System and method for implementing a general application program interface |
US7587755B2 (en) | 2004-07-02 | 2009-09-08 | Citrix Systems, Inc. | System and method for executing interactive applications with minimal privileges |
US7886293B2 (en) | 2004-07-07 | 2011-02-08 | Intel Corporation | Optimizing system behavior in a virtual machine environment |
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 | 北京邦诺存储科技有限公司 | 网络存储系统中的数据管理方法及其构建的网络存储系统 |
US7860013B2 (en) | 2005-03-09 | 2010-12-28 | Comcast Cable Holdings, Llc | Methods and systems for using in-stream data within an on demand content delivery path |
US8631130B2 (en) | 2005-03-16 | 2014-01-14 | Adaptive Computing Enterprises, Inc. | Reserving resources in an on-demand compute environment from a local compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US7558719B1 (en) | 2005-04-14 | 2009-07-07 | Xilinx, Inc. | System and method for runtime analysis of system models for variable fidelity performance analysis |
US7603712B2 (en) | 2005-04-21 | 2009-10-13 | Microsoft Corporation | Protecting a computer that provides a Web service from malware |
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 | 株式会社日立製作所 | ネットワークシステム、サーバ装置および通信方法 |
US8555061B2 (en) | 2005-05-13 | 2013-10-08 | Microsoft Corporation | Transparent code |
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 |
JP2007080161A (ja) | 2005-09-16 | 2007-03-29 | Nec Personal Products Co Ltd | データ配信システム、部分コンテンツ格納サーバ、応答高速化方法、及びプログラム |
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 | 株式会社日立製作所 | 情報システム及び管理計算機 |
US7933923B2 (en) | 2005-11-04 | 2011-04-26 | International Business Machines Corporation | Tracking and reconciling database commands |
US7756972B2 (en) | 2005-12-06 | 2010-07-13 | Cisco Technology, Inc. | System for power savings in server farms |
US8099726B2 (en) | 2005-12-07 | 2012-01-17 | Microsoft Corporation | Implementing strong atomicity in software transactional memory |
US7739239B1 (en) | 2005-12-29 | 2010-06-15 | Amazon Technologies, Inc. | Distributed storage system with support for distinct storage classes |
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 |
US20070192082A1 (en) | 2006-02-13 | 2007-08-16 | Maria Gaos | System and method for generating and executing a platform emulation based on a selected application |
WO2007095642A2 (en) | 2006-02-16 | 2007-08-23 | 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 |
US8095931B1 (en) | 2006-04-27 | 2012-01-10 | Vmware, Inc. | Controlling 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 |
US8185893B2 (en) | 2006-10-27 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Starting up at least one virtual machine in a physical machine by a load balancer |
US8584109B2 (en) | 2006-10-27 | 2013-11-12 | Microsoft Corporation | Virtualization for diversified tamper resistance |
US7644204B2 (en) | 2006-10-31 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | SCSI I/O coordinator |
US8315171B2 (en) | 2006-10-31 | 2012-11-20 | Oracle America, Inc. | Adaptive management of computing resources |
JP4308241B2 (ja) | 2006-11-10 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム |
US8402514B1 (en) | 2006-11-17 | 2013-03-19 | Network Appliance, Inc. | Hierarchy-aware role-based access control |
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 | 国际商业机器公司 | 用于软件应用程序的自动配置的方法和系统 |
US8996864B2 (en) | 2006-12-22 | 2015-03-31 | 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 |
US8793676B2 (en) | 2007-02-15 | 2014-07-29 | Microsoft Corporation | Version-resilient loader for custom code runtimes |
US20080201455A1 (en) | 2007-02-15 | 2008-08-21 | Husain Syed M Amir | Moving Execution of a Virtual Machine Across Different Virtualization Platforms |
US8065682B2 (en) | 2007-02-27 | 2011-11-22 | Microsoft Corporation | Enforcing system resource usage limits on query requests based on grouping query requests into workgroups and assigning workload groups to resource pools |
JP5018133B2 (ja) | 2007-02-27 | 2012-09-05 | 富士通株式会社 | ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム |
US8856782B2 (en) | 2007-03-01 | 2014-10-07 | George Mason Research Foundation, Inc. | On-demand disposable virtual work system |
US7996786B2 (en) | 2007-03-05 | 2011-08-09 | Microsoft Corporation | Dynamically rendering visualizations of data sets |
CN101267334B (zh) | 2007-03-13 | 2011-01-26 | 联想(北京)有限公司 | 一种动态分配设备的方法及装置 |
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 |
US8479195B2 (en) | 2007-05-16 | 2013-07-02 | Vmware, Inc. | Dynamic selection and application of multiple virtualization techniques |
US7853701B2 (en) | 2007-06-08 | 2010-12-14 | Oracle International Corporation | Method for intelligent, self-managed, decentralized connection pool management pool |
US8051266B2 (en) | 2007-06-11 | 2011-11-01 | International Business Machines Corporation | Automatic memory management (AMM) |
US9495152B2 (en) | 2007-06-22 | 2016-11-15 | Red Hat, Inc. | Automatic baselining of business application service groups comprised 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 |
EP2015179A1 (en) | 2007-07-13 | 2009-01-14 | Alcatel Lucent | A remote management system and method for service objects |
US8074229B2 (en) | 2007-07-18 | 2011-12-06 | Sap Ag | Co-execution of objects from divergent runtime environments |
US8391295B2 (en) | 2007-07-31 | 2013-03-05 | Oracle International Corporation | Temporal affinity-based routing of workloads |
US20090055810A1 (en) | 2007-08-21 | 2009-02-26 | Nce Technologies Inc. | Method And System For Compilation And Execution Of Software Codes |
US8397236B2 (en) | 2007-08-24 | 2013-03-12 | Virtualmetrix, Inc. | Credit based performance managment of computer systems |
US8468541B2 (en) | 2007-08-28 | 2013-06-18 | Red Hat, Inc. | Event driven sendfile |
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 |
WO2009043037A2 (en) | 2007-09-28 | 2009-04-02 | Xcerion Aktiebolag | Network operating system |
US8166304B2 (en) | 2007-10-02 | 2012-04-24 | International Business Machines Corporation | Support for multiple security policies on a unified authentication architecture |
US20090204964A1 (en) | 2007-10-12 | 2009-08-13 | Foley Peter F | Distributed trusted virtualization platform |
US8127284B2 (en) | 2007-10-16 | 2012-02-28 | Microsoft Corporation | On-demand loading of types of software code of a program executing on a computing device |
US20090158407A1 (en) | 2007-12-13 | 2009-06-18 | Fiberlink Communications Corporation | Api translation for network access control (nac) agent |
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 |
WO2009104400A1 (ja) | 2008-02-22 | 2009-08-27 | 日本電気株式会社 | 情報処理装置、情報処理システム、設定プログラム送信方法及びサーバ設定プログラム |
CN101534418A (zh) | 2008-03-11 | 2009-09-16 | 深圳华为通信技术有限公司 | 数字电视节目预订播放方法、机顶盒设备及播放系统 |
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 |
US8473594B2 (en) | 2008-05-02 | 2013-06-25 | Skytap | Multitenant hosted virtual machine infrastructure |
US8424082B2 (en) | 2008-05-08 | 2013-04-16 | Google Inc. | Safely executing an untrusted native code module on a computing device |
US20090300599A1 (en) | 2008-05-30 | 2009-12-03 | Matthew Thomas Piotrowski | Systems and methods of utilizing virtual machines to protect computer systems |
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 |
US8321850B2 (en) | 2008-06-06 | 2012-11-27 | Vmware, Inc. | Sharing and persisting code caches |
JP5120121B2 (ja) | 2008-07-15 | 2013-01-16 | コニカミノルタビジネステクノロジーズ株式会社 | 中継サーバ、中継方法および中継プログラム |
JP5157717B2 (ja) | 2008-07-28 | 2013-03-06 | 富士通株式会社 | 仮想バッテリを備えた仮想マシンシステムおよび仮想バッテリを備えた仮想マシンシステム用プログラム |
US8560713B2 (en) | 2008-07-31 | 2013-10-15 | Sap Ag | Method and system for mediating enterprise service access for smart devices |
US20100036925A1 (en) | 2008-08-07 | 2010-02-11 | Tactara, Llc | Alias management platforms |
US8725967B2 (en) | 2008-08-08 | 2014-05-13 | Amazon Technologies, Inc. | Providing executing programs with access to stored block data of others |
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 |
DE112009002168A5 (de) | 2008-09-09 | 2012-03-15 | Kace Networks, Inc. | Auslieferung und Management von virtuellen Containern |
US20100094816A1 (en) | 2008-09-09 | 2010-04-15 | Lockheed Martin Corporation | Safety-Critical Data Checking In Object-Oriented Systems |
US8417723B1 (en) | 2008-09-12 | 2013-04-09 | Salesforce.Com, Inc. | System, method and computer program product for enabling access to a resource of a multi-tenant on-demand database service utilizing a token |
US20100070678A1 (en) | 2008-09-12 | 2010-03-18 | Vmware, Inc. | Saving and Restoring State Information for Virtualized Computer Systems |
US9098698B2 (en) | 2008-09-12 | 2015-08-04 | George Mason Research Foundation, Inc. | Methods and apparatus for application isolation |
US9798560B1 (en) | 2008-09-23 | 2017-10-24 | Gogrid, LLC | Automated system and method for extracting and adapting system configurations |
US7937625B2 (en) | 2008-09-26 | 2011-05-03 | Microsoft Corporation | Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors |
US8180604B2 (en) | 2008-09-30 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Optimizing a prediction of resource usage of multiple applications in a virtual environment |
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 |
US8745191B2 (en) * | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
US9344401B2 (en) | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
US8336049B2 (en) | 2009-02-05 | 2012-12-18 | Vmware, Inc. | Virtual machine utility computing method and system |
JP5419500B2 (ja) | 2009-03-12 | 2014-02-19 | キヤノン株式会社 | プログラムおよび情報処理装置 |
WO2010116676A1 (ja) | 2009-03-30 | 2010-10-14 | 日本電気株式会社 | サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム |
US8321558B1 (en) | 2009-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Dynamically monitoring and modifying distributed execution of programs |
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 |
JP5091912B2 (ja) | 2009-05-21 | 2012-12-05 | 株式会社東芝 | マルチコアプロセッサシステム |
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 |
US20110010690A1 (en) | 2009-07-07 | 2011-01-13 | Howard Robert S | System and Method of Automatically Transforming Serial Streaming Programs Into Parallel Streaming Programs |
US8769529B2 (en) | 2009-07-24 | 2014-07-01 | Novell, Inc. | Generating and automatically loading reduced operating system based on usage pattern of applications |
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 |
US8832778B2 (en) | 2009-08-04 | 2014-09-09 | Carnegie Mellon University | Methods and apparatuses for user-verifiable trusted path in the presence of malware |
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 |
JP5069730B2 (ja) | 2009-09-15 | 2012-11-07 | ヤフー株式会社 | イベント通知機能提供装置、イベント通知機能提供方法及びイベント通知機能提供プログラム |
US8448165B1 (en) | 2009-09-15 | 2013-05-21 | Symantec Corporation | System and method for logging operations of virtual machines |
US8276139B2 (en) | 2009-09-30 | 2012-09-25 | International Business Machines Corporation | Provisioning virtual machine placement |
US8412856B2 (en) | 2009-10-26 | 2013-04-02 | Sony Computer Entertainment America Llc. | File input/output scheduler using immediate data chunking |
US9086922B2 (en) | 2009-10-26 | 2015-07-21 | Microsoft Technology Licensing, Llc | Opportunistically scheduling and adjusting time slices |
US8875128B2 (en) | 2009-11-30 | 2014-10-28 | Red Hat Israel, Ltd. | Controlling permissions in virtualization environment using hierarchical labeling |
US8311032B2 (en) | 2009-12-03 | 2012-11-13 | International Business Machines Corporation | Dynamically provisioning virtual machines |
EP3001326B1 (en) | 2009-12-14 | 2017-07-26 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
US8924569B2 (en) | 2009-12-17 | 2014-12-30 | Intel Corporation | Cloud federation as a service |
US8949408B2 (en) | 2009-12-18 | 2015-02-03 | Microsoft Corporation | Session monitoring of virtual desktops in a virtual machine farm |
US8683465B2 (en) | 2009-12-18 | 2014-03-25 | International Business Machines Corporation | Virtual image deployment with a warm cache |
US20110154353A1 (en) | 2009-12-22 | 2011-06-23 | Bmc Software, Inc. | Demand-Driven Workload Scheduling Optimization on Shared Computing Resources |
US20110153541A1 (en) | 2009-12-22 | 2011-06-23 | Caterpillar Inc. | Systems and methods for machine control in designated areas |
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 | 株式会社日立製作所 | 計算機システム及びその可用化方法 |
US8924982B2 (en) | 2010-01-12 | 2014-12-30 | Amazon Technologies, Inc. | Managing private use of program execution capacity |
US8346935B2 (en) | 2010-01-15 | 2013-01-01 | Joyent, Inc. | Managing hardware resources by sending messages amongst servers in a data center |
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 |
US20130132780A1 (en) | 2010-03-26 | 2013-05-23 | Software Diagnostics Technology Gmbh | Method for Automatically Detecting and Excluding a Tracing Instruction from Further Trace Data Generation for a Software System, a Computer System, and a Computer Program Product |
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 |
US9111031B2 (en) | 2010-04-16 | 2015-08-18 | Salesforce.Com, Inc. | Method and system for simulating and analyzing code execution in an on-demand service environment |
US8996611B2 (en) | 2011-01-31 | 2015-03-31 | Microsoft Technology Licensing, Llc | Parallel serialization of request processing |
US20110265069A1 (en) | 2010-04-21 | 2011-10-27 | Salesforce.Com | Methods and systems for execution of tenant code in an on-demand service environment including utilization of shared resources and inline governor limit enforcement |
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 |
US8566792B2 (en) | 2010-05-07 | 2013-10-22 | Salesforce, Inc. | Validating visual components |
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 |
CN102971706B (zh) | 2010-05-10 | 2016-08-10 | 思杰系统有限公司 | 将信息从安全虚拟机重定向到不安全虚拟机 |
US9116733B2 (en) | 2010-05-28 | 2015-08-25 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US8972980B2 (en) | 2010-05-28 | 2015-03-03 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
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 |
US9239996B2 (en) | 2010-08-24 | 2016-01-19 | Solano Labs, Inc. | Method and apparatus for clearing cloud compute demand |
US8763091B1 (en) | 2010-08-24 | 2014-06-24 | ScalArc Inc. | Method and system for user authentication offload in a transparent database load balancer |
US8359496B1 (en) | 2010-08-31 | 2013-01-22 | Google Inc. | Fault-resistant just-in-time compiler |
US8474018B2 (en) | 2010-09-03 | 2013-06-25 | Ebay Inc. | Role-based attribute based access control (RABAC) |
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 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法及び制御プログラム |
US8661120B2 (en) | 2010-09-21 | 2014-02-25 | Amazon Technologies, Inc. | Methods and systems for dynamically managing requests for computing capacity |
US8661076B2 (en) | 2010-09-23 | 2014-02-25 | Salesforce.Com, Inc. | Business networking information feed alerts |
SG188455A1 (en) | 2010-09-30 | 2013-04-30 | Amazon Tech Inc | Virtual resource cost tracking with dedicated implementation resources |
CN103154890B (zh) | 2010-10-12 | 2016-04-13 | 富士通株式会社 | 模拟装置、方法以及程序 |
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 |
US8296267B2 (en) | 2010-10-20 | 2012-10-23 | Microsoft Corporation | Upgrade of highly available farm server groups |
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 |
US9081613B2 (en) | 2010-11-02 | 2015-07-14 | International Business Machines Corporation | Unified resource manager providing a single point of control |
US9253016B2 (en) | 2010-11-02 | 2016-02-02 | International Business Machines Corporation | Management of a data network of a computing environment |
US8959220B2 (en) | 2010-11-02 | 2015-02-17 | International Business Machines Corporation | Managing a workload of a plurality of virtual servers of a computing environment |
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 |
EP2659395A2 (en) | 2010-12-28 | 2013-11-06 | Citrix Systems, Inc. | Systems and methods for database proxy request switching |
US8745734B1 (en) | 2010-12-29 | 2014-06-03 | Amazon Technologies, Inc. | Managing virtual computing testing |
US20120173709A1 (en) | 2011-01-05 | 2012-07-05 | Li Li | Seamless scaling of enterprise applications |
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 |
US8903943B2 (en) | 2011-02-15 | 2014-12-02 | Salesforce.Com, Inc. | Integrating cloud applications and remote jobs |
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 |
US9015709B2 (en) | 2011-03-08 | 2015-04-21 | Rackspace Us, Inc. | Hypervisor-agnostic method of configuring a virtual machine |
US9141410B2 (en) | 2011-03-08 | 2015-09-22 | Rackspace Us, Inc. | Pluggable allocation in a cloud computing system |
WO2012125564A1 (en) | 2011-03-11 | 2012-09-20 | Resource Interactive, Llc | Payment card industry data security standard compliant proxy service |
US8392558B1 (en) | 2011-03-22 | 2013-03-05 | Amazon Technologies, Inc. | System and method for determining overload state for service requests |
US8429282B1 (en) | 2011-03-22 | 2013-04-23 | Amazon Technologies, Inc. | System and method for avoiding system overload by maintaining an ideal request rate |
CN102722412A (zh) | 2011-03-31 | 2012-10-10 | 国际商业机器公司 | 组合计算装置和方法 |
US9798831B2 (en) | 2011-04-01 | 2017-10-24 | Google Inc. | Processing data in a MapReduce framework |
US9002871B2 (en) | 2011-04-26 | 2015-04-07 | Brian J. Bulkowski | Method and system of mapreduce implementations on indexed datasets in a distributed database environment |
US8910156B1 (en) | 2011-04-29 | 2014-12-09 | Netapp, Inc. | Virtual machine dependency |
US9104477B2 (en) | 2011-05-05 | 2015-08-11 | Alcatel Lucent | Scheduling in MapReduce-like systems for fast completion time |
WO2012173175A1 (ja) | 2011-06-14 | 2012-12-20 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
US8756322B1 (en) | 2011-06-16 | 2014-06-17 | Amazon Technologies, Inc | Fulfillment of requests for computing capacity |
US20120324236A1 (en) | 2011-06-16 | 2012-12-20 | Microsoft Corporation | Trusted Snapshot Generation |
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 |
US8615589B1 (en) | 2011-06-27 | 2013-12-24 | Amazon Technologies, Inc. | Resource optimization recommendations |
EP2726980A1 (en) | 2011-06-29 | 2014-05-07 | Hewlett-Packard Development Company, L.P. | Application migration with dynamic operating system containers |
KR101507919B1 (ko) | 2011-07-01 | 2015-04-07 | 한국전자통신연구원 | 가상 데스크탑 서비스를 위한 방법 및 장치 |
US8671407B2 (en) | 2011-07-06 | 2014-03-11 | Microsoft Corporation | Offering network performance guarantees in multi-tenant datacenters |
US8819679B2 (en) | 2011-07-28 | 2014-08-26 | International Business Machines Corporation | Methods and systems for on-boarding applications to a cloud |
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 |
WO2013029051A2 (en) | 2011-08-25 | 2013-02-28 | to fuVIRTUSTREAM, INC. | Systems and methods of host-aware resource management involving cluster-based resource pools |
US9516368B2 (en) | 2011-08-25 | 2016-12-06 | At&T Intellectual Property I, L.P. | System for consolidating heterogeneous data centers through virtualization of services |
US8898676B2 (en) | 2011-08-26 | 2014-11-25 | Vmware, Inc. | Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships |
US8832035B2 (en) | 2011-08-30 | 2014-09-09 | Netapp, Inc. | System and method for retaining deduplication in a storage object after a clone split operation |
US8635607B2 (en) | 2011-08-30 | 2014-01-21 | Microsoft Corporation | Cloud-based build service |
US8621439B2 (en) | 2011-09-06 | 2013-12-31 | Microsoft Corporation | Modern application tracing |
US20130061220A1 (en) | 2011-09-06 | 2013-03-07 | Xerox Corporation | Method for on-demand inter-cloud load provisioning for transient bursts of computing needs |
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 |
WO2013048986A1 (en) | 2011-09-26 | 2013-04-04 | Knoa Software, Inc. | Method, system and program product for allocation and/or prioritization of electronic resources |
US8825964B1 (en) | 2011-09-26 | 2014-09-02 | Emc Corporation | Adaptive integration of cloud data services with a data storage system |
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 |
KR20130046155A (ko) | 2011-10-27 | 2013-05-07 | 인텔렉추얼디스커버리 주식회사 | 클라우드 컴퓨팅 서비스에서의 접근제어 시스템 |
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 |
CN103930898B (zh) | 2011-11-15 | 2016-10-12 | 国立研究开发法人科学技术振兴机构 | 程序分析/验证服务提供系统及其控制方法、程序分析/验证装置、程序分析/验证工具管理装置 |
TWI478063B (zh) | 2011-11-21 | 2015-03-21 | Inst Information Industry | 於虛擬機器提供應用程式之系統以及方法以及儲存其之電腦可讀取記錄媒體 |
US8924954B2 (en) | 2011-11-22 | 2014-12-30 | Huawei Technologies Co., Ltd. | Application software installation method and application software installation apparatus |
US9898393B2 (en) | 2011-11-22 | 2018-02-20 | Solano Labs, Inc. | System for distributed software quality improvement |
TW201322022A (zh) * | 2011-11-24 | 2013-06-01 | Alibaba Group Holding Ltd | 分散式資料流處理方法及其系統 |
US8826277B2 (en) | 2011-11-29 | 2014-09-02 | International Business Machines Corporation | Cloud provisioning accelerator |
US9208123B2 (en) | 2011-12-07 | 2015-12-08 | Seven Networks, Llc | Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor |
US8769519B2 (en) | 2011-12-08 | 2014-07-01 | Microsoft Corporation | Personal and pooled virtual machine update |
US9363099B2 (en) | 2011-12-13 | 2016-06-07 | Ericsson Ab | UPnP/DLNA with RADA hive |
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 |
US9170849B2 (en) | 2012-01-09 | 2015-10-27 | Microsoft Technology Licensing, Llc | Migration of task to different pool of resources based on task retry count during task lease |
US8904008B2 (en) | 2012-01-09 | 2014-12-02 | Microsoft Corporation | Assignment of resources in virtual machine pools |
US20130179894A1 (en) | 2012-01-09 | 2013-07-11 | Microsoft Corporation | Platform as a service job scheduling |
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 |
US20130185729A1 (en) | 2012-01-13 | 2013-07-18 | Rutgers, The State University Of New Jersey | Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures |
US9223607B2 (en) | 2012-01-17 | 2015-12-29 | Microsoft Technology Licensing, Llc | System for replicating or migrating virtual machine operations log by throttling guest write iOS based on destination throughput |
US9208007B2 (en) | 2012-01-18 | 2015-12-08 | International Business Machines Corporation | Open resilience framework for simplified and coordinated orchestration of multiple availability managers |
US8789047B2 (en) | 2012-01-26 | 2014-07-22 | Empire Technology Development Llc | Allowing world switches between virtual machines via hypervisor world switch security setting |
US9262238B2 (en) | 2012-01-31 | 2016-02-16 | Red Hat, Inc. | Connection management for an application in a computing platform |
US9110728B2 (en) | 2012-01-31 | 2015-08-18 | Vmware, Inc. | Elastic allocation of computing resources to software applications |
KR101629879B1 (ko) | 2012-02-06 | 2016-06-13 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 캐시 사용 기반 어댑티브 스케줄링을 가지는 멀티코어 컴퓨터 시스템 |
TWI459296B (zh) | 2012-02-21 | 2014-11-01 | Hon Hai Prec Ind Co Ltd | 增加伺服器的虛擬機配置數量的方法 |
US20130227710A1 (en) | 2012-02-27 | 2013-08-29 | Computer Associates Think, Inc. | System and method for securing leased images in a cloud environment |
US9720668B2 (en) | 2012-02-29 | 2017-08-01 | Red Hat, Inc. | Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system |
US9047133B2 (en) | 2012-03-02 | 2015-06-02 | Vmware, Inc. | Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment |
US9112935B2 (en) | 2012-03-05 | 2015-08-18 | Microsoft Technology Licensing, Llc | Manipulating binary large objects |
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 |
US10222926B2 (en) | 2012-03-19 | 2019-03-05 | Citrix Systems, Inc. | Systems and methods for providing user interfaces for management applications |
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 |
CN104321782B (zh) | 2012-03-30 | 2018-01-12 | 爱迪德技术有限公司 | web应用的安全执行 |
US9053603B2 (en) | 2012-04-17 | 2015-06-09 | Igt | Cloud based virtual environment authentication |
US9462081B2 (en) | 2012-04-17 | 2016-10-04 | Igt | Cloud based virtual environment validation |
US9256413B2 (en) | 2012-04-17 | 2016-02-09 | Sap Se | Automatic identification of services |
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 |
US20130283141A1 (en) | 2012-04-20 | 2013-10-24 | Latitude Geographics Group Ltd. | Client Agnostic Spatial Workflow Form Definition and Rendering |
WO2013162548A1 (en) | 2012-04-25 | 2013-10-31 | Empire Technology Development, Llc | Certification for flexible resource demand applications |
US8918510B2 (en) | 2012-04-27 | 2014-12-23 | Hewlett-Packard Development Company, L. P. | Evaluation of cloud computing services |
BR112014018142A8 (pt) | 2012-04-30 | 2017-07-11 | Hewlett Packard Development Co | Sistema de gestão automática de eventos para uma rede na nuvem, método para administrar eventos para serviços na nuvem e sistema de gerenciamento de eventos em nuvem |
US8955091B2 (en) | 2012-04-30 | 2015-02-10 | Zscaler, Inc. | Systems and methods for integrating cloud services with information management systems |
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 |
CN103384237B (zh) | 2012-05-04 | 2017-02-22 | 华为技术有限公司 | 一种共享IaaS业务云账号的方法、及共享平台和网络装置 |
GB2501757A (en) | 2012-05-04 | 2013-11-06 | Ibm | Instrumentation of software applications for configuration thereof |
DK2663052T3 (da) | 2012-05-09 | 2021-04-12 | Netflix Inc | API Platform, der indbefatter serverudført, klientbaseret kode |
WO2013171787A2 (en) | 2012-05-15 | 2013-11-21 | Hitachi, Ltd. | File storage system and load distribution method |
US8806644B1 (en) | 2012-05-25 | 2014-08-12 | Symantec Corporation | Using expectation measures to identify relevant application analysis results |
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 |
US9317689B2 (en) | 2012-06-15 | 2016-04-19 | Visa International Service Association | Method and apparatus for secure application execution |
US8799236B1 (en) | 2012-06-15 | 2014-08-05 | Amazon Technologies, Inc. | Detecting duplicated content among digital items |
US8782632B1 (en) | 2012-06-18 | 2014-07-15 | Tellabs Operations, Inc. | Methods and apparatus for performing in-service software upgrade for a network device using system virtualization |
US9342326B2 (en) | 2012-06-19 | 2016-05-17 | Microsoft Technology Licensing, Llc | Allocating identified intermediary tasks for requesting virtual machines within a trust sphere on a processing goal |
US9141432B2 (en) | 2012-06-20 | 2015-09-22 | International Business Machines Corporation | Dynamic pending job queue length for job distribution within a grid environment |
US8869157B2 (en) | 2012-06-21 | 2014-10-21 | Breakingpoint Systems, Inc. | Systems and methods for distributing tasks and/or processing recources in a system |
US8959484B2 (en) | 2012-06-21 | 2015-02-17 | Microsoft Corporation | System for hosted, shared, source control build |
US8832820B2 (en) | 2012-06-25 | 2014-09-09 | International Business Machines Corporation | Isolation and security hardening among workloads in a multi-tenant networked environment |
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 |
US20150095822A1 (en) | 2012-07-02 | 2015-04-02 | eScoreMusic, Inc. | Systems and methods for music display, collaboration, annotation, composition, and editing |
US9298497B2 (en) | 2012-07-13 | 2016-03-29 | Wisconsin Alumni Research Foundation | Computer processor providing exception handling with reduced state storage |
US9396008B2 (en) | 2012-07-13 | 2016-07-19 | Ca, Inc. | System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts |
US9152443B2 (en) | 2012-07-13 | 2015-10-06 | Ca, Inc. | System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing |
US8972956B2 (en) | 2012-08-02 | 2015-03-03 | International Business Machines Corporation | Application deployment in heterogeneous environments |
US8990807B2 (en) | 2012-08-09 | 2015-03-24 | VCE Company LLC | Virtual instance reconfiguration |
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 |
EP2898407A4 (en) | 2012-09-21 | 2016-06-15 | Intel Corp | ISOLATED GAS GENERATION IN A VIRTUALIZED CALCULATION SYSTEM |
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 |
US8613070B1 (en) | 2012-10-12 | 2013-12-17 | Citrix Systems, Inc. | Single sign-on access 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 |
US9600316B2 (en) | 2012-10-17 | 2017-03-21 | Microsoft Technology Licensing, Llc | Augmented allocation of virtual machines for application |
US9229759B2 (en) | 2012-10-17 | 2016-01-05 | Microsoft Technology Licensing, Llc | Virtual machine provisioning using replicated containers |
US20160019536A1 (en) | 2012-10-17 | 2016-01-21 | Royal Bank Of Canada | Secure processing of data |
US9262212B2 (en) | 2012-11-02 | 2016-02-16 | The Boeing Company | Systems and methods for migrating virtual machines |
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 |
US9083757B2 (en) | 2012-11-21 | 2015-07-14 | Telefonaktiebolaget L M Ericsson LLP | Multi-objective server placement determination |
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 |
US9329900B2 (en) | 2012-12-28 | 2016-05-03 | Intel Corporation | Hetergeneous processor apparatus and method |
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 |
JP5953421B2 (ja) | 2013-02-25 | 2016-07-20 | 株式会社日立製作所 | 仮想サーバおよび非仮想サーバ混在環境におけるテナントネットワーク構成の管理方法 |
US9336031B2 (en) | 2013-02-27 | 2016-05-10 | International Business Machines Corporation | Managing allocation of hardware resources in a virtualized environment |
US9027087B2 (en) | 2013-03-14 | 2015-05-05 | Rackspace Us, Inc. | Method and system for identity-based authentication of virtual machines |
US9524489B2 (en) | 2013-03-14 | 2016-12-20 | Samsung Electronics Co., Ltd. | Computing system with task transfer mechanism and method of operation thereof |
US8677359B1 (en) | 2013-03-14 | 2014-03-18 | Joyent, Inc. | Compute-centric object stores and methods of use |
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 |
WO2014144889A2 (en) | 2013-03-15 | 2014-09-18 | Amazon Technologies, Inc. | Scalable analysis platform for semi-structured data |
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 |
US10019297B2 (en) | 2013-04-03 | 2018-07-10 | Salesforce.Com, Inc. | Systems and methods for implementing bulk handling in asynchronous processing |
EP2984590A4 (en) | 2013-04-13 | 2017-01-04 | Kiss Digital Media Pty. Ltd. | Methods, systems, apparatus, products, articles and data structures for cross-platform digital content |
US9329881B2 (en) | 2013-04-23 | 2016-05-03 | Sap Se | Optimized deployment of data services on the cloud |
US9929916B1 (en) | 2013-05-02 | 2018-03-27 | Aspen Technology, Inc. | Achieving stateful application software service behavior in distributed stateless systems |
US9104848B2 (en) | 2013-05-08 | 2015-08-11 | International Business Machines Corporation | Cross-platform authentication from within a rich client |
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 |
US20140365781A1 (en) | 2013-06-07 | 2014-12-11 | Technische Universitaet Darmstadt | Receiving a Delegated Token, Issuing a Delegated Token, Authenticating a Delegated User, and Issuing a User-Specific Token for a Resource |
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 |
US9767138B2 (en) | 2013-06-12 | 2017-09-19 | Oracle International Corporation | In-database sharded queue for a shared-disk database |
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 |
WO2015015473A1 (en) | 2013-08-02 | 2015-02-05 | Ologn Technologies Ag | A secure server on 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 |
US20150067019A1 (en) | 2013-08-28 | 2015-03-05 | Soeren Balko | Method and system for using arbitrary computing devices for distributed data processing |
US9591003B2 (en) | 2013-08-28 | 2017-03-07 | Amazon Technologies, Inc. | Dynamic application security verification |
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 |
EP3069231B1 (en) | 2013-11-13 | 2020-11-04 | Palo Alto Networks, 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 |
GB201320770D0 (en) | 2013-11-25 | 2014-01-08 | Microsoft Corp | Communication system architecture |
CN104142858B (zh) | 2013-11-29 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 阻塞任务调度方法及装置 |
US9213572B2 (en) | 2013-12-02 | 2015-12-15 | Vmware, Inc. | Interdependent virtual machine management |
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 |
US9823881B2 (en) | 2013-12-23 | 2017-11-21 | Vmware, Inc. | Ensuring storage availability for virtual machines |
US10459594B2 (en) | 2013-12-31 | 2019-10-29 | Vmware, Inc. | Management of a pre-configured hyper-converged computing device |
CN103731427B (zh) | 2013-12-31 | 2017-04-12 | 华为技术有限公司 | 一种会话处理的方法、设备和系统 |
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 |
US9935959B2 (en) | 2014-02-07 | 2018-04-03 | Oracle International Corporation | Cloud service custom execution environment |
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 |
US9479481B2 (en) | 2014-03-14 | 2016-10-25 | Soha Systems, Inc. | Secure scalable multi-tenant application delivery system and associated method |
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 |
US10218633B2 (en) | 2014-03-28 | 2019-02-26 | Amazon Technologies, Inc. | Implementation of a service that coordinates the placement and execution of containers |
US9720661B2 (en) | 2014-03-31 | 2017-08-01 | International Businesss Machines Corporation | Selectively controlling use of extended mode features |
JP2015210718A (ja) | 2014-04-28 | 2015-11-24 | 富士通株式会社 | 記憶制御装置、ストレージシステム、および記憶制御プログラム |
US9459860B2 (en) | 2014-04-30 | 2016-10-04 | Paypal, Inc. | Mixed mode session management |
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 |
WO2015175942A1 (en) | 2014-05-15 | 2015-11-19 | Carnegie Mellon University | Method and apparatus for on-demand i/o channels for secure applications |
CA2969422A1 (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 |
US9361102B2 (en) | 2014-06-09 | 2016-06-07 | Lehigh University | Methods for enforcing control flow of a computer program |
US9390260B2 (en) | 2014-06-09 | 2016-07-12 | Lehigh University | Methods for enforcing control flow of a computer program |
US9218176B1 (en) | 2014-06-13 | 2015-12-22 | International Business Machines Corporation | Software deployment in a distributed virtual machine environment |
US10061687B2 (en) | 2014-06-17 | 2018-08-28 | Paypal, Inc. | Self-learning and self-validating declarative testing |
US9405582B2 (en) | 2014-06-20 | 2016-08-02 | International Business Machines Corporation | Dynamic parallel distributed job configuration in a shared-resource environment |
US10162655B2 (en) | 2014-06-23 | 2018-12-25 | Vmware, Inc. | Hypervisor context switching using TLB tags in processors having more than two hierarchical privilege levels |
US10255090B2 (en) | 2014-06-23 | 2019-04-09 | Vmware, Inc. | Hypervisor context switching using a redirection exception vector in processors having more than two hierarchical privilege levels |
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 |
US10545947B2 (en) | 2014-07-14 | 2020-01-28 | Oracle International Corporation | Message personalization over multiple internet messaging campaigns |
US9635005B2 (en) | 2014-07-18 | 2017-04-25 | Document Storage Systems, Inc. | Computer readable storage media for tiered connection pooling and methods and systems for utilizing same |
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 |
US9513941B2 (en) | 2014-09-17 | 2016-12-06 | International Business Machines Corporation | Codeless generation of APIs |
CN104243479B (zh) | 2014-09-19 | 2018-05-08 | 北京电游互动科技有限公司 | 一种外接设备聚合装置和方法 |
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 |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
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 |
SG11201702524YA (en) | 2014-09-30 | 2017-04-27 | Ashok Anand P | System and method for creating, executing and managing processes using nano server architecture |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
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 |
US9973475B2 (en) | 2014-10-22 | 2018-05-15 | Protegrity Corporation | Data computation in a multi-domain cloud environment |
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 | 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム |
US10007445B2 (en) | 2014-11-04 | 2018-06-26 | Rubrik, Inc. | Identification of virtual machines using a distributed job scheduler |
US10516733B2 (en) | 2014-11-25 | 2019-12-24 | Auth0, Inc. | Multi-tenancy via code encapsulated in server requests |
US10248653B2 (en) * | 2014-11-25 | 2019-04-02 | Lionbridge Technologies, Inc. | Information technology platform for language translation and task management |
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 |
WO2016094840A2 (en) | 2014-12-11 | 2016-06-16 | Ghosh Sudeep | System, method & computer readable medium for software protection via composable process-level virtual machines |
US9661011B1 (en) | 2014-12-17 | 2017-05-23 | Amazon Technologies, Inc. | Techniques for data routing and management using risk classification and data sampling |
CN104459306B (zh) | 2014-12-18 | 2017-02-22 | 东北大学 | 一种电熔镁群炉用电需量远程监控系统及方法 |
US20160191420A1 (en) | 2014-12-27 | 2016-06-30 | Intel Corporation | Mitigating traffic steering inefficiencies in distributed uncore fabric |
WO2016106516A1 (zh) | 2014-12-29 | 2016-07-07 | 华为技术有限公司 | 在分布式资源系统中用户请求的调度方法和装置 |
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 |
US9563613B1 (en) | 2015-01-23 | 2017-02-07 | Sprint Communications Company L.P. | System and method for dynamic portable document file generation |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9471775B1 (en) | 2015-02-04 | 2016-10-18 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
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 |
US9625984B2 (en) | 2015-03-27 | 2017-04-18 | Intel Corporation | Technologies for managing power during an activation cycle |
US9430290B1 (en) | 2015-03-31 | 2016-08-30 | International Business Machines Corporation | Determining storage tiers for placement of data sets during execution of tasks in a workflow |
US9632846B2 (en) | 2015-04-02 | 2017-04-25 | Microsoft Technology Licensing, Llc | Complex event processor for historic/live/replayed data |
US9658942B2 (en) | 2015-04-02 | 2017-05-23 | International Business Machines Corporation | Dynamic tracing framework for debugging in virtualized environments |
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 |
EP3082038A1 (en) | 2015-04-15 | 2016-10-19 | Hybridserver Tec AG | Method, device and system for creating a massively parallelized executable object |
US9756020B2 (en) | 2015-04-27 | 2017-09-05 | Microsoft Technology Licensing, Llc | Persistent uniform resource locators (URLs) for client applications acting as web services |
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 |
US9720953B2 (en) | 2015-07-01 | 2017-08-01 | Zestfinance, Inc. | Systems and methods for type coercion |
US10531226B1 (en) | 2015-07-10 | 2020-01-07 | WeWork Companies Inc. | Determining qualified devices using zone information |
US9946874B2 (en) | 2015-08-06 | 2018-04-17 | International Business Machines Corporation | Authenticating application legitimacy |
US9660809B2 (en) | 2015-08-07 | 2017-05-23 | Adobe Systems Incorporated | Cross-site request forgery defense |
US9852012B2 (en) | 2015-08-26 | 2017-12-26 | International Business Machines Corporation | Scheduling mapReduce tasks based on estimated workload distribution |
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 |
US10198298B2 (en) | 2015-09-16 | 2019-02-05 | Salesforce.Com, Inc. | Handling multiple task sequences in a stream processing framework |
CN106548262B (zh) | 2015-09-21 | 2020-11-06 | 阿里巴巴集团控股有限公司 | 用于处理任务的资源的调度方法、装置和系统 |
US10007710B2 (en) | 2015-09-21 | 2018-06-26 | Splunk Inc. | Adaptive control of data collection requests sent to external data sources |
US10361972B2 (en) | 2015-09-23 | 2019-07-23 | Citrix Systems, Inc. | Systems and methods to support VXLAN in partition environment where a single system acts as multiple logical systems to support multitenancy |
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 |
US10382409B2 (en) | 2015-11-25 | 2019-08-13 | Visa International Service Association | Secure multi-party protocol |
US20170161059A1 (en) | 2015-12-08 | 2017-06-08 | Paypal, Inc. | Management of multiple application programming interface versions for development environments |
US10846117B1 (en) | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US9830449B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Execution locations for request-driven code |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US9830175B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
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 |
US9514037B1 (en) | 2015-12-16 | 2016-12-06 | International Business Machines Corporation | Test program scheduling based on analysis of test data sets |
US9811363B1 (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 |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US10002026B1 (en) | 2015-12-21 | 2018-06-19 | Amazon Technologies, Inc. | Acquisition and maintenance of dedicated, reserved, and variable compute capacity |
US9787779B2 (en) | 2015-12-21 | 2017-10-10 | Amazon Technologies, Inc. | Analyzing deployment pipelines used to update production computing services using a live pipeline template process |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
WO2017107091A1 (en) | 2015-12-23 | 2017-06-29 | Intel IP Corporation | Virtual cpu consolidation to avoid physical cpu contention between virtual machines |
EP3341836A4 (en) | 2015-12-29 | 2018-07-18 | Samsung Electronics Co., Ltd. | Message based application state and card sharing methods for user devices |
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 |
CN107181724B (zh) | 2016-03-11 | 2021-02-12 | 华为技术有限公司 | 一种协同流的识别方法、系统以及使用该方法的服务器 |
US10182460B2 (en) | 2016-03-14 | 2019-01-15 | Zynga Inc. | Multitenancy gaming services platform |
CA3017941A1 (en) | 2016-03-15 | 2017-09-21 | Carbon Black, Inc. | System and method for process hollowing detection |
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 |
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 |
WO2017172440A1 (en) | 2016-03-30 | 2017-10-05 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on-demand code execution environment |
US11106705B2 (en) | 2016-04-20 | 2021-08-31 | Zestfinance, Inc. | Systems and methods for parsing opaque data |
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マネジメント株式会社 | 情報機器、データ処理システム、データ処理方法およびコンピュータプログラム |
US9900765B2 (en) | 2016-06-02 | 2018-02-20 | Apple Inc. | Method and apparatus for creating and using a roaming list based on a user roaming plan |
US10768920B2 (en) | 2016-06-15 | 2020-09-08 | Microsoft Technology Licensing, Llc | Update coordination in a multi-tenant cloud computing environment |
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 |
US20170371963A1 (en) | 2016-06-27 | 2017-12-28 | 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 |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US11625257B2 (en) | 2016-06-29 | 2023-04-11 | Vmware, Inc. | Provisioning executable managed objects of a virtualized computing environment from non-executable managed objects |
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 |
WO2018005829A1 (en) | 2016-06-30 | 2018-01-04 | Amazon Technologies, Inc. | On-demand code execution using 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 |
US10931452B2 (en) | 2016-08-22 | 2021-02-23 | Akamai Technologies, Inc. | Providing single sign-on (SSO) in disjoint networks with non-overlapping authentication protocols |
US10296498B2 (en) | 2016-08-23 | 2019-05-21 | Oracle International Corporation | Coordinated hash table indexes to facilitate reducing database reconfiguration time |
US20180060221A1 (en) | 2016-08-24 | 2018-03-01 | Google Inc. | Multi-layer test suite generation |
US10552442B1 (en) | 2016-08-29 | 2020-02-04 | Amazon Technologies, Inc. | Stateful database application programming interface |
US20180060132A1 (en) | 2016-09-01 | 2018-03-01 | Amazon Technologies, Inc. | Stateful resource pool management for job execution |
US10191861B1 (en) | 2016-09-06 | 2019-01-29 | Fireeye, Inc. | Technique for implementing memory views using a layered virtualization architecture |
US10572395B2 (en) | 2016-09-07 | 2020-02-25 | Intel Corporation | Non-enclave access prevention |
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 |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US11151097B2 (en) | 2016-09-25 | 2021-10-19 | Microsoft Technology Licensing, Llc | Dynamic schema inference and enforcement |
US11023463B2 (en) | 2016-09-26 | 2021-06-01 | Splunk Inc. | Converting and modifying a subquery for an external data system |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10430591B1 (en) | 2016-10-04 | 2019-10-01 | Bromium, Inc. | Using threat model to monitor host execution in a virtualized environment |
US10346625B2 (en) | 2016-10-31 | 2019-07-09 | International Business Machines Corporation | Automated mechanism to analyze elevated authority usage and capability |
US10102229B2 (en) | 2016-11-09 | 2018-10-16 | Palantir Technologies Inc. | Validating data integrations using a secondary data store |
US10417049B2 (en) | 2016-11-28 | 2019-09-17 | Amazon Technologies, Inc. | Intra-code communication in a localized device coordinator |
US10637817B2 (en) | 2016-11-28 | 2020-04-28 | Amazon Technologies, Inc. | Managing messaging protocol communications |
US10608973B2 (en) | 2016-11-28 | 2020-03-31 | Amazon Technologies, Inc. | Embedded codes in messaging protocol communications |
WO2018098443A1 (en) | 2016-11-28 | 2018-05-31 | Amazon Technologies, Inc. | On-demand code execution in a localized device coordinator |
JP6935496B2 (ja) | 2016-11-28 | 2021-09-15 | アマゾン テクノロジーズ インコーポレイテッド | メッセージングプロトコル通信の管理 |
US10193839B2 (en) | 2016-11-28 | 2019-01-29 | Amazon Technologies, Inc | Managing security in messaging protocol communications |
US9983982B1 (en) | 2017-01-04 | 2018-05-29 | Visa International Service Association | Testing software code in a production environment |
US20180196867A1 (en) * | 2017-01-09 | 2018-07-12 | Alexander WIESMAIER | System, method and computer program product for analytics assignment |
US10209962B2 (en) | 2017-02-06 | 2019-02-19 | International Business Machines Corporation | Reconstructing a high level compilable program from an instruction trace |
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 |
US10360067B1 (en) | 2017-03-28 | 2019-07-23 | Amazon Technologies, Inc. | Dynamic function calls in an on-demand network code execution system |
US10514909B2 (en) | 2017-03-29 | 2019-12-24 | Technion Research & Development Foundation Limited | Similarity of binaries |
US20180300109A1 (en) | 2017-04-17 | 2018-10-18 | International Business Machines Corporation | Preserving dynamic trace purity |
US10650156B2 (en) | 2017-04-26 | 2020-05-12 | International Business Machines Corporation | Environmental security controls to prevent unauthorized access to files, programs, and objects |
US10382291B2 (en) | 2017-04-26 | 2019-08-13 | Oracle International Corporation | Provisioning framework for binding related cloud services |
US10423158B1 (en) | 2017-05-03 | 2019-09-24 | Amazon Technologies, Inc. | Multi-core processor with independently executing flight control programs |
US10459822B1 (en) | 2017-05-04 | 2019-10-29 | Amazon Technologies, Inc. | Iterative static analysis using stored partial results |
US10397230B2 (en) | 2017-06-15 | 2019-08-27 | International Business Machines Corporation | Service processor and system with secure booting and monitoring of service processor integrity |
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 |
US10049302B1 (en) * | 2017-07-17 | 2018-08-14 | Sas Institute Inc. | Classification system training |
US10742750B2 (en) | 2017-07-20 | 2020-08-11 | Cisco Technology, Inc. | Managing a distributed network of function execution environments |
US10325392B2 (en) | 2017-08-01 | 2019-06-18 | Cimpress Schweiz Gmbh | Content replacement system using visual design object models |
US11047837B2 (en) | 2017-09-06 | 2021-06-29 | Green Ocean Sciences, Inc. | Mobile integrated device and electronic data platform for chemical analysis |
US10467321B2 (en) | 2017-09-07 | 2019-11-05 | Mastercard International Incorporated | Systems and methods for dynamic C# serialization |
US10360025B2 (en) | 2017-09-08 | 2019-07-23 | Accenture Global Solutions Limited | Infrastructure instantiation, collaboration, and validation architecture for serverless execution frameworks |
US10686605B2 (en) | 2017-09-29 | 2020-06-16 | Intel Corporation | Technologies for implementing mutually distrusting domains |
US10615984B1 (en) | 2017-10-03 | 2020-04-07 | EMC IP Holding Company LLC | Enhanced authentication method for Hadoop job containers |
US10282250B1 (en) * | 2017-10-16 | 2019-05-07 | Cadence Design Systems, Inc. | Apparatus and method for a coherent, efficient, and configurable cyclic redundancy check retry implementation for synchronous dynamic random access memory |
US10764051B2 (en) | 2017-10-25 | 2020-09-01 | Google Llc | Privacy-preserving identity verification |
EP3704846B1 (en) | 2017-11-03 | 2021-08-04 | Todyl, Inc. | Cloud-based multi-function firewall and zero trust private virtual network |
US10587412B2 (en) | 2017-11-07 | 2020-03-10 | International Business Machines Corporation | Virtual machine structure |
US11030016B2 (en) | 2017-12-07 | 2021-06-08 | International Business Machines Corporation | Computer server application execution scheduling latency reduction |
US10565083B2 (en) | 2017-12-08 | 2020-02-18 | Cisco Technology, Inc. | Simulating hosted application performance |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10803180B2 (en) | 2017-12-13 | 2020-10-13 | Jayant Shukla | Deterministic method for detecting and blocking of exploits on interpreted code |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10803029B2 (en) | 2017-12-19 | 2020-10-13 | Salesforce.Com, Inc. | Generating javascript object notation (JSON) schema from JSON payloads |
US10346142B1 (en) * | 2017-12-21 | 2019-07-09 | Sas Institute Inc. | Automated streaming data model generation |
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 |
US10924511B2 (en) | 2018-01-30 | 2021-02-16 | EMC IP Holding Company LLC | Systems and methods of chunking data for secure data storage across multiple cloud providers |
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 |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10649792B1 (en) | 2018-02-09 | 2020-05-12 | American Megatrends International, Llc | Cloning of firmware configuration settings using rest over IPMI interface |
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 |
US10728034B2 (en) | 2018-02-23 | 2020-07-28 | Webroot Inc. | Security privilege escalation exploit detection and mitigation |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10860367B2 (en) | 2018-03-14 | 2020-12-08 | Microsoft Technology Licensing, Llc | Opportunistic virtual machine migration |
US10621004B2 (en) | 2018-03-19 | 2020-04-14 | Accenture Global Solutions Limited | Resource control stack based system for multiple domain presentation of cloud computing resource control |
EP3776315A1 (en) | 2018-03-27 | 2021-02-17 | Telefonaktiebolaget LM Ericsson (publ) | Trusted execution environment instances licenses management |
US10466986B2 (en) | 2018-03-30 | 2019-11-05 | Oracle International Corporation | Optimized recompilation using hardware tracing |
US10984098B2 (en) | 2018-04-06 | 2021-04-20 | Palo Alto Networks, Inc. | Process privilege escalation protection in a computing environment |
US10503634B1 (en) | 2018-05-25 | 2019-12-10 | Microsoft Technology Licensing, Llc | Semantic comparison of computer compiler traces |
US10817331B2 (en) | 2018-06-25 | 2020-10-27 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
JP7197612B2 (ja) | 2018-06-25 | 2022-12-27 | アマゾン テクノロジーズ インコーポレイテッド | オンデマンドネットワークコード実行システム上での補助機能の実行 |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US10719367B1 (en) | 2018-06-27 | 2020-07-21 | Amazon Technologies, Inc. | Management of workers executing program code functions |
US10911367B2 (en) | 2018-06-27 | 2021-02-02 | Oracle International Corporation | Computerized methods and systems for managing cloud computer services |
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 |
US10877774B2 (en) | 2018-07-17 | 2020-12-29 | Sap Se | Cloud integration of application runtime |
US10715630B2 (en) | 2018-07-20 | 2020-07-14 | Dell Products L.P. | Common information model interoperability 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 |
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 |
US10705928B2 (en) | 2018-08-28 | 2020-07-07 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for tenant-to-tenant failover in a multi-tenant cloud computing environment |
US20200073987A1 (en) | 2018-09-04 | 2020-03-05 | Salesforce.Com, Inc. | Technologies for runtime selection of query execution engines |
US20200081745A1 (en) | 2018-09-10 | 2020-03-12 | Nuweba Labs Ltd. | System and method for reducing cold start latency of serverless functions |
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 |
US20200120112A1 (en) | 2018-10-10 | 2020-04-16 | Nuweba Labs Ltd. | Techniques for detecting known vulnerabilities in serverless functions as a service (faas) platform |
US10819589B2 (en) | 2018-10-24 | 2020-10-27 | Cognizant Technology Solutions India Pvt. Ltd. | System and a method for optimized server-less service virtualization |
US10331462B1 (en) | 2018-11-06 | 2019-06-25 | Cloudflare, Inc. | Cloud computing platform that executes third-party code in a distributed cloud computing network |
US11075985B2 (en) | 2018-11-09 | 2021-07-27 | Cisco Technology, Inc. | Early action on deploying and executing functions in a serverless environment |
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 |
US11044117B2 (en) | 2018-12-26 | 2021-06-22 | Citrix Systems, Inc. | Intelligent and dynamic overlay tunnel formation via automatic discovery of citrivity/SDWAN peer in the datapath in a pure plug and play environment with zero networking |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11323348B2 (en) | 2019-05-17 | 2022-05-03 | Citrix Systems, Inc. | API dependency error and latency injection |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
WO2020264431A1 (en) | 2019-06-28 | 2020-12-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US10789195B1 (en) * | 2019-07-17 | 2020-09-29 | Capital One Services, Llc | Article, device, and techniques for serverless streaming message processing |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
WO2021108435A1 (en) | 2019-11-27 | 2021-06-03 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11614923B2 (en) * | 2020-04-30 | 2023-03-28 | Splunk Inc. | Dual textual/graphical programming interfaces for streaming data processing pipelines |
US11501255B2 (en) * | 2020-05-01 | 2022-11-15 | Monday.com Ltd. | Digital processing systems and methods for virtual file-based electronic white board in collaborative work systems |
-
2021
- 2021-06-30 US US17/305,139 patent/US11388210B1/en active Active
-
2022
- 2022-06-29 EP EP22747523.3A patent/EP4363976A1/en active Pending
- 2022-06-29 WO PCT/US2022/035520 patent/WO2023278574A1/en active Application Filing
- 2022-06-29 CN CN202280045734.4A patent/CN117642724A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11388210B1 (en) | 2022-07-12 |
EP4363976A1 (en) | 2024-05-08 |
WO2023278574A1 (en) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243953B2 (en) | Mapreduce implementation in an on-demand network code execution system and stream data processing system | |
JP7210713B2 (ja) | オンデマンドコード実行システムにおける実行環境についての効率的な状態メンテナンス | |
US10528390B2 (en) | Idempotent task execution in on-demand network code execution systems | |
US10437629B2 (en) | Pre-triggers for code execution environments | |
JP7197612B2 (ja) | オンデマンドネットワークコード実行システム上での補助機能の実行 | |
US11836516B2 (en) | Reducing execution times in an on-demand network code execution system using saved machine states | |
US11836533B2 (en) | Automated reconfiguration of real time data stream processing | |
US10623476B2 (en) | Endpoint management system providing an application programming interface proxy service | |
US10365985B2 (en) | Predictive management of on-demand code execution | |
US10725826B1 (en) | Serializing duration-limited task executions in an on demand code execution system | |
US10445140B1 (en) | Serializing duration-limited task executions in an on demand code execution system | |
US9830175B1 (en) | Predictive management of on-demand code execution | |
US9811363B1 (en) | Predictive management of on-demand code execution | |
US10162672B2 (en) | Generating data streams from pre-existing data sets | |
US11119813B1 (en) | Mapreduce implementation using an on-demand network code execution system | |
US10067862B2 (en) | Tracking asynchronous entry points for an application | |
US20230188516A1 (en) | Multi-tenant mode for serverless code execution | |
CN117642724A (zh) | 使用无服务器计算系统的流式分析 | |
US11861386B1 (en) | Application gateways in an on-demand network code execution system | |
US11968280B1 (en) | Controlling ingestion of streaming data to serverless function executions | |
US11722451B2 (en) | Distributing event messages from a first service to additional services using a message store | |
US11943093B1 (en) | Network connection recovery after virtual machine transition in an on-demand network code execution system | |
US11900152B1 (en) | Controlled automatic updates to disk image layers with compatibility verification |
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 |