CN112839111A - 边缘位置处的可定制的事件触发计算的系统、方法和介质 - Google Patents
边缘位置处的可定制的事件触发计算的系统、方法和介质 Download PDFInfo
- Publication number
- CN112839111A CN112839111A CN202110269045.9A CN202110269045A CN112839111A CN 112839111 A CN112839111 A CN 112839111A CN 202110269045 A CN202110269045 A CN 202110269045A CN 112839111 A CN112839111 A CN 112839111A
- Authority
- CN
- China
- Prior art keywords
- content
- request
- function
- edge server
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000001960 triggered effect Effects 0.000 title abstract description 48
- 230000006870 function Effects 0.000 claims description 200
- 230000004044 response Effects 0.000 claims description 71
- 230000003362 replicative effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 51
- 238000002955 isolation Methods 0.000 abstract description 19
- 230000008569 process Effects 0.000 abstract description 17
- 230000000977 initiatory effect Effects 0.000 abstract description 9
- 230000000644 propagated effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/564—Enhancement of application control based on intercepted application data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及边缘位置处的可定制的事件触发计算的系统、方法和介质。在边服务器处,从客户端装置接收对内容的请求。从所述边服务器处的内容高速缓存或从耦合到所述边服务器的源服务器寻求所述内容。发起对所述请求的处理,对所述请求的所述处理包括遇到事件。所述事件与由客户指定的功能相关联。在所述边服务器处使用进程隔离来执行与所述事件相关联的所述功能。至少部分地基于对所述功能的执行来生成所述内容。从所述边服务器向所述客户端装置发送所述内容。
Description
本申请是申请日为2016年9月9日的、名称为“用于边缘位置处的可定制的事件触发计算的系统、方法和计算机可读存储介质”的发明专利申请No.201680051436.0的分案申请。
技术领域
本公开涉及一种边缘位置处的可定制的事件触发计算的系统、方法和介质。
背景技术
许多公司和其它组织运营将许多计算系统互连以支持计算机网络的操作的计算机网络,诸如在计算系统共同定位(例如,作为本地网络的一部分)或替代地位于多个不同地理位置(例如,经由一个或多个专用或公共中间网络而连接的)的情况下。例如,容纳大量互连计算系统的分布式系统已经变得是普遍的。这样的分布式系统可以将后端服务提供到与客户端交互的服务器。这样的分布式系统还可包括数据中心,数据中心由实体运营以将计算资源提供到客户。一些数据中心运营商为各种客户拥有的硬件提供网络访问、电源和安全安装设施,而其它公共数据中心运营商则提供还包括可供它们的客户使用的硬件资源的“全面服务”设施。随着分布式系统的规模和范围增大,调配、监管和管理资源的任务已经变得越为复杂。
例如,内容分发网络或内容分布网络(CDN)可采用跨不同地理位置的分布式系统来以有效的方式将内容分发给最终用户。CDN可以提供各种类型的内容,诸如web页面和它们的组成元素、流媒体、可下载的媒体、应用程序数据等等。CDN的目标可以包括关于内容分发的高可用性和低时延性。实现CDN的分布式系统可以包括在许多地理位置上的远程存在点(通常跨多个骨干的),使得内容可以高性能服务于不同用户。这些远程存在点可被称为边缘位置。
发明内容
本公开提供了一种系统,包括:多个计算装置,所述多个计算装置包括一个或多个处理器和存储器并且被配置成实现包括源服务器和边服务器的内容分发网络,其中所述边服务器包括内容高速缓存,所述内容高速缓存被配置成存储从所述源服务器检索的内容,并且其中所述边服务器被配置成:从客户端装置接收对内容的请求,其中接收对所述内容的所述请求表示遇到内容请求事件,并且其中所述内容请求事件与由来自所述内容分发网络的客户的先前输入指定的功能相关联,其中所述先前输入包括由所述客户从所述内容分发网络处可供所述客户选择的一个或多个预定义功能之中选择了所述功能;响应于遇到所述内容请求事件而执行所述功能;至少部分地基于执行所述功能而生成所述内容;以及将所生成的内容发送到所述客户端装置。
附图说明
图1示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算的示例系统环境。
图2示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括与事件相关联的由客户指定的功能)的示例系统环境的另外方面。
图3示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括用于触发计算的事件的示例)的示例系统环境的另外方面。
图4示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括在边服务器处对事件触发功能的安全执行)的示例系统环境的另外方面。
图5是根据一个实施方案的示出用于边缘位置处的可定制的事件触发计算的方法的流程图。
图6示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括只读数据存储向边缘位置的复制)的示例系统环境的另外方面。
图7示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括使用所复制的只读数据存储在边服务器处对事件触发功能的安全执行)的示例系统环境的另外方面。
图8是根据一个实施方案的示出用于只读数据存储向边缘位置的复制的方法的流程图。
图9示出了可在一些实施方案中使用的示例计算装置。
虽然本文中以若干实施方案和说明性附图为例来描述实施方案,但是本领域的技术人员将认识到,实施方案不限制于所描述的实施方案和附图。应当理解,附图和其详细描述并不意图将实施方案限制于所公开的特定形式,相反,预期的是,涵盖落在如随附权利要求限定的精神和范围内的所有修改、等效物和替代物。本文中使用的标题仅是出于组织目的,而不意在用于限制本说明书或权利要求的范围。如本申请的全文使用的,词语“可以”用于许可意义(即,表示“具有……的可能性”),而非强制意义(即,表示“必须”)。类似地,词语“包括”表示“包括但不限于”。
具体实施方式
描述了用于边缘位置处的可定制的事件触发计算的方法、系统和计算机可读介质的各种实施方案。使用本文中描述的技术,内容分发网络(CDN)的客户可以供应、选择或以其它方式配置与各种类型的内容分发事件相关联的功能。功能和它们与事件的关联可传播到CDN中的边服务器。当在边服务器处接收到适当请求时,可以在边服务器处执行相关功能。通过执行所述功能,边服务器可以修改对来自边服务器处的高速缓存的内容的请求,修改对来自源服务器的内容的请求,修改关于对来自边服务器处的高速缓存的内容的请求的响应,修改关于对来自源服务器的内容的请求的响应,修改请求拆除以生成度量或日志条目,或生成与请求相关联的错误。所述功能可以在安全执行环境中使用进程隔离技术执行。在一个实施方案中,可以将只读数据存储传播到边服务器。只读数据存储可以是客户特定的,并且可以由特定客户提供和/或修改以用于代表那个客户生成内容和/或将内容分发给那个客户。在处理对内容的请求时,边服务器可以执行利用从数据存储检索的数据元素的功能(诸如由客户指定的功能)。以此方式,可以定制从边缘位置向用户的内容生成和/或分发。
图1示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算的示例系统环境。内容分发网络(CDN)100可以包括经由一个或多个网络190进行交互以将内容分发给客户端装置180A-180N的多个计算装置。CDN 100可以提供各种类型的内容,诸如web页面和它们的组成元素、流媒体、可下载的媒体、应用程序数据、意图在客户端装置处执行的程序代码等等。在一个实施方案中,CDN 100可以包括一个或多个源服务器110和多个边服务器120A-120N。源服务器110可永久地将内容的元素存储在内容存储装置111中,并且还可例如基于在内容存储装置111中的内容的元素来动态地生成内容。边服务器120A-120N可以高速缓存最初地从源服务器110获得的内容的元素。因此,每个边服务器120A-120N可以包括内容高速缓存,诸如用于边服务器120A的内容高速缓存121A、用于边服务器120B的内容高速缓存121B、和用于边服务器120N的内容高速缓存121N。
在一个实施方案中,从CDN 100寻求内容的客户端可主要地与边服务器120A-120N而非与源服务器110交互。当处理来自客户端装置180A-180N的对内容的请求时,边服务器120A-120N可以首先尝试从它们的本地内容高速缓存分发内容;如果内容没有进行本地高速缓存,那么边服务器可以从源服务器110获得所请求的内容。内容高速缓存121A-121N可以实现高速缓存策略,使得内容的元素可以过期并且从高速缓存移除(例如,如果客户端在可配置时间段内未请求内容的元素)。然而,内容的元素可不一定从源服务器110的内容存储装置111过期。可使用任何合适存储技术来实现内容存储装置111和/或内容高速缓存121A-121N。
源服务器110可以比边服务器120A-120N更位于中心(例如,在特定区域内)。如本文使用的,术语“边服务器”通常是指边缘位置处的内容服务器,并且术语“边缘位置”通常是指根据某一度量更靠近最终用户的位置(按照地理和/或网络拓扑)。如本文使用的,术语“源服务器”通常是指将内容供应到一个或多个边服务器的内容服务器。边服务器120A-120N可以分布在可被称为边缘位置的各种各样的地理位置或网络拓扑中的位置中。边服务器120A-120N可以定位在不同位置上,使得它们可以在各种位置上以通常比源服务器110更高的性能向客户端装置180A-180N提供内容。在一个实施方案中,使用边服务器120A-120N的内容分发的更高性能可按照网络时延、网络带宽使用、页面加载时间和/或任何其它合适度量来测量。例如,对于对内容的特定请求,特定客户端装置可以最小化网络时延或以其它方式最大化性能的方式(诸如通过减少客户端装置与选定边服务器之间的网络跳数)路由到特定边服务器。使用边服务器120A-120N分发内容还可提供更高的可用性和/或更低成本。
通过实现可定制的事件触发计算,边服务器120A-120N可以在处理来自客户端装置180A-180N的内容请求期间的任何合适事件上执行由客户指定或由用户指定的功能。例如,由客户指定的功能可以修改来自客户端的内容请求,修改对内容请求的响应,修改对源服务器的原始请求,修改关于对源服务器的原始请求的响应,修改错误通知(例如,当所请求的内容无法进行分发时,给客户端的错误通知),和/或在处理内容请求后生成度量和/或日志条目。在一个实施方案中,可定制的事件驱动计算可以使用复制到边服务器120A-120N的只读数据存储,以便生成内容和/或将内容分发给客户端装置180A-180N。边服务器120A-120N中的每一者可以包括实现可定制的事件触发计算的功能的一个或多个模块、组件或其它元素。例如,每个边服务器120A-120N可以包括用于事件触发计算的功能,诸如边服务器120A处的事件触发计算功能122A、边服务器120B处的事件触发计算功能122B、和边服务器120N处的事件触发计算功能122N。
CDN 100和客户端装置180A-180N可以使用一个或多个合适的网络(诸如网络190)通信地耦合到彼此。客户端装置180A-180N可以表示或对应于各种客户端或用户。客户端装置180A-180N可以分布在任何合适的位置或区域上。在一个实施方案中,客户端装置180A-180N可以被配置成运行消耗来自CDN 100的内容的浏览器程序或其它应用程序。例如,客户端装置180A-180N可以运行生成对来自CDN 100的内容的HTTP(超文本传输协议)请求的web浏览器。客户端装置180A-180N中的每一者可使用一个或多个计算装置来实现,一个或多个计算装置中的任一者可通过图9中示出的示例计算装置3000来实现。
CDN 100可以包括多个计算装置,多个计算装置中的任一者可通过图9中示出的示例计算装置3000来实现。在各种实施方案中,CDN100的功能的部分可通过相同计算装置或通过任何合适数量的不同计算装置来提供。在一个实施方案中,本文中描述为用于边服务器的功能的部分可以跨多个计算装置和/或存储资源而分布。例如,内容高速缓存121A和事件触发计算122A可使用经由网络或其它互连耦合的不同计算装置来实现。如果CDN 100的组件中的任一者使用不同计算装置实现,那么组件和它们相应的计算装置可以例如经由网络被通信地耦合。所示出的组件(诸如内容存储装置111、内容高速缓存121A-121N和事件触发计算122A-122N)中的每一者可以表示可用于进行它们相应功能的软件和硬件的任何组合。
构想的是,CDN 100可以包括未示出的附加组件、比所示出的更少的组件、或所示出的组件的不同组合、配置或数量。例如,虽然出于示例和说明的目的而示出了三个边服务器120A、120B和120N,但是构想的是,可以使用不同数量和配置的边服务器。另外,虽然出于示例和说明的目的而示出了三个客户端装置180A、180B和180N,但是构想的是,可以使用不同数量和配置的客户端装置。
在一些实施方案中,可使用虚拟计算实例和/或物理计算实例来实现源服务器110、边服务器120A-120N和/或客户端装置180A-180N。虚拟计算实例和/或物理计算实例可以提供给客户端,由管理计算资源、存储器资源、存储资源和网络资源的提供商网络调配和维护。虚拟计算实例可以包括具有指定计算容量(其可通过指示CPU的类型和数量、主存储器大小等等指定)和指定软件堆栈(例如,特定版本操作系统,其又可以在监管程序的顶上运行)的一个或多个服务器。一个或多个虚拟计算实例可通过图9中示出的示例计算装置3000来实现。
在一个实施方案中,CDN 100的合适组件可以选择和/或调配用于实现CDN的各种服务器或其它组件(源服务器110、边服务器120A-120N和/或它们的组成模块)的虚拟计算实例。例如,虚拟计算实例可从合适的可用计算实例池调配。在一个实施方案中,可按需要将附加计算实例添加到CDN 100。在一个实施方案中,如果在特定的时间点上无需计算实例,那么可以将计算实例返回到可用计算实例池。
在一个实施方案中,可使用提供商网络向客户提供CDN 100的功能。CDN 100的客户可以表示寻求使CDN向客户端装置180A-180N分发内容(例如,由客户供应或选择的内容)的实体(例如,个人,企业和/或其它组织)。例如,CDN 100的功能可作为web可访问的服务呈现给客户。由实体(诸如公司或公共部门组织)建立以将可经由互联网和/或其它网络访问的一个或多个服务(诸如各种类型的基于云的计算或存储)提供给分布式客户端集合的网络可被称为提供商网络。提供商网络可以包括托管各种资源池的许多数据中心(诸如物理和/或虚拟化计算机服务器、存储装置、联网设备等的集合),用于实现和分布提供商提供的基础结构和服务。在一些实施方案中,资源可以被称为“实例”的单元(诸如虚拟或物理计算实例或存储实例)提供给客户端。虚拟计算实例可以例如包括具有指定计算容量(其可通过指示CPU的类型和数量、主存储器大小等等指定)和指定软件堆栈(例如,特定版本操作系统,其又可以在监管程序的顶上运行)的一个或多个服务器。在不同实施方案中,可单独地或组合地使用多个不同类型的计算装置以实现提供商网络的资源,包括计算机服务器、存储装置、网络装置等等。
图2示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括与事件相关联的由客户指定的功能)的示例系统环境的另外方面。边服务器120A-120N处的事件触发计算可通过CDN 100的一个或多个客户或其它用户来定制。在一个实施方案中,客户输入114可以用于指定、限定或以其它方式确定(至少部分地)用于进行事件触发计算的客户配置115。如上讨论,CDN 100的客户可以表示寻求使CDN向客户端装置180A-180N分发内容(例如,由客户供应或选择的内容)的实体(例如,个人、企业和/或其它组织),使得内容可以被认为是代表客户而分发给客户。客户输入114可以表示由CDN100的特定客户提供的输入,并且客户配置115可以表示针对那个客户的配置。在一个实施方案中,由配置服务器210维护的附加客户配置可以包括针对附加客户的附加配置。在一个实施方案中,客户配置115可以涉及针对特定客户的特定应用程序或数据集,并且特定客户可以指定用于附加应用程序或附加数据集的附加客户配置。因此,客户配置115可以表示针对特定客户(并潜在地针对用于那个客户的特定应用程序或特定数据集)的事件触发计算策略。
客户输入114可以由客户使用任何合适接口(诸如应用编程接口(API)和/或图形用户接口(GUI))来提供。例如,可使用web页面中的控件来呈现用于修改客户配置115的GUI,并且客户可使用web页面浏览器来访问web页面,从而修改客户配置。客户输入114可提供给集中式组件(诸如配置服务器210)以指定客户配置115。客户配置115可以然后从配置服务器210传播到边服务器120A-120N。对客户配置115的更新(例如,基于附加客户输入)也可在配置服务器210处进行并且然后被推送到边服务器120A-120N。以此方式,可以针对特定客户(并潜在地针对用于那个客户的特定应用程序或特定数据集)跨多个边服务器(诸如边服务器120A-120N)来实现相同事件触发计算策略。配置服务器210可相对于边服务器120A-120N定位在任何合适的位置上,并且可通过图9中示出的示例计算装置3000来实现。
在一个实施方案中,客户配置115可以将各种事件类型与各种功能相关联或相连系。如图2的示例所示,客户配置115可以指定针对多个事件类型116A-116N中的任一者的相关功能。例如,基于客户输入114,事件类型116A可以与功能117A相关联,并且事件类型116N可以与功能117N相关联。虽然出于说明和示例的目的而示出了事件类型116A-116N和功能117A-117N,但是构想的是,任何合适的数量和配置的事件类型和功能可与客户配置115一起使用。在一个实施方案中,特定事件类型可能没有相关功能。事件类型116A-116N可以通常涉及在准备内容和/或从边服务器120A-120N中的一者向客户端装置180-180N中的一者分发内容期间可遇到的事件。事件类型的示例在下文参照图3来讨论。
功能117A-117N和它们与对应事件类型116A-116N的关联可以由客户例如使用客户输入114来指定。在一个实施方案中,功能117A-117N可以由客户上传到配置服务器210。在一个实施方案中,功能117A-117N可以由客户从一组预限定的功能选择;预限定的功能中的至少一些可以由所述客户和/或附加客户来提供。功能117A-117N可以包括可在边服务器120A-120N上使用任何合适执行技术(包括使用解释、编译、和/或即时编译)执行的程序代码(包括程序指令)集。因此,功能117A-117N可以由客户以任何合适格式(包括脚本语言、高级编程语言、已编译的程序代码或任何其它合适格式或格式的组合)指定。在一个实施方案中,功能117A-117N中的一个或多个可以将只读数据存储称作为输入来源。只读数据存储可以由相同客户来指定,并且可传播到边服务器120A-120N以与功能117A-117N一起使用。
图3示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括用于触发计算的事件的示例)的示例系统环境的另外方面。在一个实施方案中,事件类型116A-116N可以包括与内容分发有关的事件,诸如内容请求151、内容响应152(例如,对内容请求151的响应)、原始请求153、原始响应154(例如,对原始请求153的响应)、错误通知155和/或请求拆除156。在一个实施方案中,可以由特定客户将这些事件中的一个或多个与特定功能相关联,并且可以在对应事件的时间上或之后执行特定功能,以便定制针对那个客户的内容分发。在处理来自客户端装置180A的内容请求(包括内容的生成和/或检索、和内容的分发)期间会遇到事件151-156中的一个或多个。在一些情况下,在处理对内容的特定请求时并不是会遇到所有的事件151-156。
在一个实施方案中,在边服务器处执行功能可以包括访问在边服务器本地的资源,诸如服务或存储资源。在一个实施方案中,对功能的执行可以包括访问提供商网络的资源,例如,通过使用网络访问除边服务器120A-120N和源服务器110外的服务器。例如,提供商网络的可访问的资源可以包括虚拟化计算资源、虚拟化存储资源、和被配置成进行各种任务的各种服务。
内容请求事件151可以当边服务器120A从客户端装置180A接收到对内容的请求时发生。内容请求事件151可以当从客户端装置180A接收到针对内容请求(例如,针对CACHE或PROXY请求)的请求标头时发生。可响应于内容请求事件151由边服务器120A来进行任何合适功能。例如,可进行(例如,执行)与内容请求事件151相关联的功能来修改内容请求本身。例如,可进行(例如,执行)与内容请求事件151相关联的功能来改变对内容请求的路由、改变内容请求的协议、和/或修改针对原始请求的标头。在一个实施方案中,可进行(例如,执行)与内容请求事件151相关联的功能来动态地生成对内容请求的响应,而不是从内容高速缓存121A或源服务器110检索内容。
内容响应事件152可以当响应于对内容的请求的内容被发送到发出该请求的客户端装置180A时发生。可响应于内容响应事件152由边服务器120A来进行任何合适功能。例如,可进行(例如,执行)与内容响应事件152相关联的功能来修改内容响应本身。
原始请求事件153可以当边服务器120A准备请求来自源服务器110的内容时发生。例如,当没有在内容高速缓存121A中找到所内容时,可发出原始请求来从源服务器110获得述内容。因此,如果在内容高速缓存121A中找到所请求的内容,那么不会遇到原始请求事件153。可响应于原始请求事件153由边服务器120A来进行任何合适功能。例如,可进行(例如,执行)与原始请求事件153相关联的功能来修改原始请求本身。例如,可进行(例如,执行)与原始请求事件153相关联的功能来改变对原始请求的路由、改变原始请求的协议、和/或将授权标头添加到原始请求。在一个实施方案中,可进行(例如,执行)与原始请求事件153相关联的功能来动态地生成对原始请求的响应,而不是从内容高速缓存121A或源服务器110检索内容。
原始响应事件154可以当边服务器120A从源服务器110接收到响应于原始请求的内容时发生。同样,如果在内容高速缓存121A中找到所请求的内容,那么不会遇到原始响应事件155。在一个实施方案中,原始响应事件154可以当内容被边服务器120A接收到时但在内容放置在内容高速缓存121A中前发生。可响应于原始响应事件154由边服务器120A来进行任何合适功能。例如,可进行(例如,执行)与原始响应事件154相关联的功能来修改原始响应本身。
错误事件155可以当在处理内容请求151期间的任何合适的点上生成或遇到错误时发生。例如,如果所请求的内容无法被分发到客户端装置180A,那么就可能会生成错误。可响应于错误事件155由边服务器120A来进行任何合适功能。例如,可进行(例如,执行)与错误事件155相关联的功能以获取、修改或以其它方式生成错误页面或其它错误通知(例如发送到客户端装置180A的错误)。
请求拆除事件156可以在内容响应152或错误155后发生。请求拆除156可以生成与处理对内容的请求有关的一个或多个性能度量和/或日志条目。可响应于请求拆除事件156由边服务器120A来进行任何合适功能。例如,可进行(例如,执行)与请求拆除事件156相关联的功能以生成一个或多个度量和/或日志条目并将它们存储在度量和日志库160中。
图4示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括在边服务器处对事件触发功能的安全执行)的示例系统环境的另外方面。事件触发计算功能122A可进行(例如,执行)功能来以安全的方式定制内容分发,例如,使用用于进程隔离的一项或多项技术进行。如本文使用的,术语“进程隔离”通常包括功能处理彼此隔离,使得第一功能无法直接地影响或访问第二功能(或与第二功能相关联的数据)。在一个实施方案中,边服务器120A-120N中的任一者可以实现包括用于使用进程隔离来执行由客户指定的功能的一个或多个组件的安全执行环境。提供进程隔离的安全执行环境的实现可以允许安全执行由客户指定的功能中的任意程序代码。在边服务器120A处,内容请求处理模块130A可以从客户端装置180A接收对内容的请求。如上讨论,在处理对内容的请求时可能遇到一个或多个内容分发事件(诸如事件151-156)。例如,如果内容尚未存储在内容高速缓存121A中,那么对请求的处理可以包括边服务器120A从源服务器110请求内容112。当遇到与客户配置115中的功能相关联的事件时,边服务器120A处的触发模块131A可以发起对那个功能的执行。
事件触发计算122A可引用客户配置115来确定事件与功能之间的关联。在一个实施方案中,每个功能可以在被对应事件触发之后在其自己的被隔离的容器中执行。边服务器120A可以包括多个容器142A。容器142A可以提供针对多个功能的执行的进程隔离。容器142A中的每一者可以实现用于执行与内容分发事件相关联的功能的安全执行环境。可使用任何合适技术来实现容器142A。在一个实施方案中,容器142A中的任一者可以实现其中可执行功能的虚拟机。可使用任何合适的虚拟机技术来实现容器142A。在一个实施方案中,容器142A中的任一者可以实现其中可执行功能的Linux容器。每个Linux容器可以提供包括其自己的计算、存储器、输入/输出、和网络资源的虚拟环境。容器142A可共同地用于针对一个客户或针对多个客户执行功能。构想的是,容器142A中的任一者在使用时可以用于在任何给定时间上针对一个特定客户执行功能。
容器142A可以通过容器管理器模块140A管理。例如,容器管理器140A可实例化容器、将容器回收或重置、销毁容器,并且进行用于管理容器142A的任何其它合适任务。触发模块131A可以将控制消息发送到容器管理器140A,例如,以便指示容器管理器140A来实例化或以其它方式准备用于特定功能的执行的容器。触发模块131A可以将功能执行消息发送到请求路由模块141A,并且请求路由模块141A可将这些消息转发到适当容器以发起对特定功能的执行。在一个实施方案中,可以在遇到对应事件前将用于特定功能的容器实例化,并且当触发对应事件时,请求路由模块141A可以将执行请求路由到那些预配置的容器。在一个实施方案中,可以在遇到对应事件后将用于特定功能的容器实例化,并且当触发对应事件时,请求路由模块141A可以将执行请求路由到那些容器。在容器中的功能执行的结果可以任何合适方式被路由回内容请求处理模块130A,例如,可直接地从容器142A路由到内容请求处理模块或触发模块131A。
图5是根据一个实施方案的示出用于边缘位置处的可定制的事件触发计算的方法的流程图。如505所示,可以将功能与关于内容分发的事件的类型相关联。可以基于来自内容分发网络(CDN)的一个或多个客户的客户输入将功能与事件相关联。可以由客户指定或由客户从一组可用功能选择功能。功能可以通常包括可在处理对来自CDN的内容的请求(包括内容的生成或检索、和内容的分发)中执行或以其它方式进行的程序代码(包括程序指令)集。事件可以包括与内容分发有关的事件,诸如内容请求、内容响应(例如,对内容请求的响应)、原始请求、原始响应(例如,对原始请求的响应)、错误通知和/或请求拆除。在一个实施方案中,还可指定只读数据存储(例如,基于客户输入)。
如510所示,可以将由客户指定的功能发送到CDN中的多个边服务器。在一个实施方案中,在被传播到边服务器之前,可以在集中式位置(诸如配置服务器)中针对事件指定功能。将功能发送到边服务器还可包括发送功能与对应事件类型之间的关联。在一个实施方案中,还可将只读数据存储传播到边服务器。
如515所示,可以在边服务器处从客户端装置接收内容请求。请求可以表示对来自边服务器处的内容高速缓存或来自源服务器的内容的请求。边服务器可发起对所述请求的处理以生成所述内容,并且所述处理可以包括遇到一个或多个事件。如520至535所示,边服务器可以迭代各种事件并且进行任何相关功能。以此方式,可(至少部分地)基于执行由事件触发的一个或多个由客户指定的功能来生成内容。如520所示,边服务器可以确定功能是否与当前事件(例如,如客户指定的)相连系。如果如此,那么如525所示,可以在边服务器处执行或以其它方式进行功能。在一个实施方案中,可以使用进程隔离在容器中执行所述功能,使得容器可以与在附加容器中执行的附加功能隔离。对功能的执行可以包括检索并且使用来自复制到边服务器的只读数据存储的一个或多个元素。如530所示,可以确定是否已经遇到与对请求的处理相关联的所有事件。如果不是,那么如535所示,方法可以继续下一事件。一旦已经遇到所有事件,如540所示,边服务器可以将内容发送到客户端装置。
本文中讨论的CDN可以实现用于多租户的技术,使得针对不同客户的由客户指定的功能可以被相同边服务器上的不同事件触发。在一个实施方案中,可以在边服务器处接收对附加内容的附加请求。附加请求可以表示对来自不同客户(例如,来自边服务器处的内容高速缓存)或来自源服务器的内容的请求。边服务器可发起对所述附加请求的处理以生成所述内容,并且所述处理可以包括遇到一个或多个事件。如上文关于520至535讨论,边服务器可以迭代各种事件并且进行任何相关功能。以此方式,可(至少部分地)基于执行由不同客户指定的一个或多个事件触发功能来生成附加内容。一旦已经遇到所有事件,边服务器可以将附加内容发送到客户端装置。
图6示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括只读数据存储向边缘位置的复制)的示例系统环境的另外方面。边服务器120A-120N处的事件触发计算可通过CDN 100的一个或多个客户或其它用户来定制。在一个实施方案中,客户输入614可以用于指定、限定或以其它方式确定(至少部分地)可用于进行事件触发计算的只读数据存储615。如上讨论,CDN 100的客户可以表示寻求使CDN向客户端装置180A-180N分发内容(例如,由客户供应或选择的内容)的实体(例如,个人、企业和/或其它组织),使得内容可以被认为是代表客户而分发给客户。客户输入614可以表示由CDN 100的特定客户提供的输入,并且只读数据存储615可以表示针对那个特定客户的数据存储。在一个实施方案中,附加只读数据存储可以由配置服务器210针对相同客户和/或针对另外客户来维护。在一个实施方案中,只读数据存储615可以涉及针对特定客户的特定应用程序或数据集,并且特定客户可以指定用于附加应用程序或附加数据集的附加只读数据存储。
客户输入614可以由客户使用任何合适接口(诸如应用编程接口(API)和/或图形用户接口(GUI))来提供。例如,客户可使用与配置服务器210的合适的API来上传只读数据存储615的数据元素,从而填充只读数据存储615。客户输入614可提供给集中式组件(诸如配置服务器210)以指定只读数据存储615的元素。只读数据存储615可以然后从配置服务器210传播到边服务器120A-120N。对只读数据存储615的更新(例如,基于附加客户输入)也可在配置服务器210处进行并且然后被推送到边服务器120A-120N。以此方式,可以针对特定客户(并潜在地针对用于那个客户的特定应用程序或特定数据集)跨多个边服务器(诸如边服务器120A-120N)来实现使用相同只读数据存储615的事件触发计算。配置服务器210可相对于边服务器120A-120N定位在任何合适的位置上,并且可通过图9中示出的示例计算装置3000来实现。
可使用任何合适存储技术来实现只读数据存储615。在一个实施方案中,只读数据存储器615可以是存储多个键-值对的键-值数据存储。如图6的示例所示,只读数据存储615中的数据元素可以包括键616A和相关的值617A、键616B和相关的值617B、以及键616N和相关的值617N。然而,构想的是,可使用只读数据存储615来维护任何合适的数量和配置的数据元素。在一个实施方案中,由客户指定的功能中的一个或多个可以将只读数据存储615称作为输入来源。只读数据存储和功能可由相同客户指定,并且两者都可以传播到边服务器120A-120N。
图7示出了根据一个实施方案的用于边缘位置处的可定制的事件触发计算(包括使用所复制的只读数据存储在边服务器处对事件触发功能的安全执行)的示例系统环境的另外方面。事件触发计算功能122A可进行(例如,执行)功能来以安全的方式定制内容分发,例如,使用用于进程隔离的一项或多项技术进行。如本文使用的,术语“进程隔离”通常包括功能处理彼此隔离,使得第一功能无法直接地影响或访问第二功能(或与第二功能相关联的数据)。在一个实施方案中,边服务器120A-120N中的任一者可以实现包括用于使用进程隔离来执行由客户指定的功能的一个或多个组件的安全执行环境。在边服务器120A处,内容请求处理模块130A可以从客户端装置180A接收对内容的请求。如上讨论,在处理对内容的请求时可能遇到一个或多个内容分发事件(诸如事件151-156)。例如,如果内容尚未存储在内容高速缓存121A中,那么对请求的处理可以包括边服务器120A从源服务器110请求内容112。当遇到与客户配置115中的功能相关联的事件时,边服务器120A处的触发模块131A可以发起对那个功能的执行。对功能的执行可以包括检索并且使用来自只读数据存储615的数据的一个或多个元素(例如,与一个或多个键相关联的一个或多个值)。生成并发送到请求装置180A的内容可以因此包括或以其它方式(至少部分地)基于来自只读数据存储615的数据元素。
事件触发计算122A可引用客户配置115来确定事件与功能之间的关联。在一个实施方案中,每个功能可以在被对应事件触发之后在其自己的被隔离的容器中执行。边服务器120A可以包括多个容器142A。容器142A可以提供针对多个功能的执行的进程隔离。容器142A中的每一者可以实现用于执行与内容分发事件相关联的功能的安全执行环境。可使用任何合适技术来实现容器142A。在一个实施方案中,容器142A中的任一者可以实现其中可执行功能的虚拟机。可使用任何合适的虚拟机技术来实现容器142A。在一个实施方案中,容器142A中的任一者可以实现其中可执行功能的Linux容器。每个Linux容器可以提供包括其自己的计算、存储器、输入/输出、和网络资源的虚拟环境。容器142A可共同地用于针对一个客户或针对多个客户执行功能。构想的是,容器142A中的任一者在使用时可以用于在任何给定时间上针对一个特定客户执行功能。
容器142A可以通过容器管理器模块140A管理。例如,容器管理器140A可实例化容器、将容器回收或重置、销毁容器,并且进行用于管理容器142A的任何其它合适任务。触发模块131A可以将控制消息发送到容器管理器140A,例如,以便指示容器管理器140A来实例化或以其它方式准备用于特定功能的执行的容器。触发模块131A可以将功能执行消息发送到请求路由模块141A,并且请求路由模块141A可将这些消息转发到适当容器以发起对特定功能的执行。在一个实施方案中,可以在遇到对应事件前将用于特定功能的容器实例化,并且当触发对应事件时,请求路由模块141A可以将执行请求路由到那些预配置的容器。在一个实施方案中,可以在遇到对应事件后将用于特定功能的容器实例化,并且当触发对应事件时,请求路由模块141A可以将执行请求路由到那些容器。在容器中的功能执行的结果可以任何合适方式被路由回内容请求处理模块130A,例如,可直接地从容器142A路由到内容请求处理模块或触发模块131A。
图8是根据一个实施方案的示出用于只读数据存储向边缘位置的复制的方法的流程图。如805所示,可以指定只读数据存储。数据存储可由内容分发网络(CDN)的客户指定,例如通过客户上传数据存储的数据元素和/或来自一组可用元素的选定数据元素进行。数据存储可以包括多个键-值对。在一个实施方案中,客户还可指定与事件相关联的一个或多个功能。功能可以通常包括可在处理对来自CDN的内容的请求(包括内容的生成或检索、和内容的分发)中执行或以其它方式进行的程序代码(包括程序指令)集。事件可以包括与内容分发有关的事件,诸如内容请求、内容响应(例如,对内容请求的响应)、原始请求、原始响应(例如,对原始请求的响应)、错误通知和/或请求拆除。
如810所示,可以将只读数据存储发送到CDN中的多个边服务器。边服务器中的每一者可以维护数据存储在由边服务器管理的存储资源中的本地副本,其潜在地包括服务器外存储装置。在被传播到边服务器之前,可以在集中式位置(诸如配置服务器)中指定只读数据存储。将只读数据存储发送到边服务器可以包括将数据发送到边服务器以填充只读数据存储的本地副本或实例。在一个实施方案中,还可将由客户指定的功能发送到CDN中的多个边服务器。将功能发送到边服务器还可包括发送功能与对应事件类型之间的关联。
如815所示,可以在边服务器处从客户端装置接收内容请求。请求可以表示对来自边服务器处的内容高速缓存或来自源服务器的内容的请求。如820所示,边服务器可发起对所述请求的处理以生成所述内容,并且所述处理可以包括进行一个或多个功能。为了生成所请求的内容,一个或多个功能可以检索并且使用来自边服务器处的只读数据存储的数据元素。在一个实施方案中,一个或多个功能可包括将来自只读数据存储的本地副本的数据引用为输入的参数。在处理所述内容请求时,可能遇到一个或多个事件。特定功能可以与特定事件相关联,使得当在处理所述内容请求时遇到对应事件时,可以进行功能中的每一者(例如,如也指定只读数据存储的客户指定的)。在边服务器处进行功能可以包括检索并且使用来自只读数据存储的本地副本的数据。如825所示,边服务器可以将内容发送到客户端装置。
说明性计算机系统
在至少一些实施方案中,实现本文中描述的技术的一项或多项的部分或全部的计算机系统可以包括计算机系统,计算机系统包括或被配置成访问一个或多个计算机可读介质。图9示出了这种计算装置3000。在所示出的实施方案中,计算装置3000包括经由输入/输出(I/O)接口3030耦合到系统存储器3020的一个或多个处理器3010。计算装置3000还包括了耦合到I/O接口3030的网络接口3040。
在各种实施方案中,计算装置3000可以是包括一个处理器3010的单处理器系统或包括数个处理器3010(例如,两个、四个、八个或另一适合数量)的多处理器系统。处理器3010可以包括能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器3010可以是实现各种各样的指令集架构(ISA)(诸如x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA)中的任一者的处理器。在多处理器系统中,处理器3010中的每一者可共同地但不一定实现相同的ISA。
系统存储器3020可以被配置成存储可由处理器3010访问的程序指令和数据。在各种实施方案中,可使用任何合适的存储器技术(诸如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器、或任何其它类型的存储器)来实现系统存储器3020。在所示出的实施方案中,实现一个或多个所要功能的程序指令和数据(诸如上文描述的那些方法、技术和数据)被示出为作为代码(即,程序指令)3025和数据3026存储在系统存储器3020内。
在一个实施方案中,I/O接口3030可以被配置成协调处理器3010、系统存储器3020和所述装置中的任何外围装置之间的I/O通信量,包括网络接口3040或其它外围接口。在一些实施方案中,I/O接口3030可以执行任何必要协议、定时、或将来自一个组件(例如,系统存储器3020)的数据信号转换为适于由另一组件(例如,处理器3010)使用的格式的其它数据变换。例如,在一些实施方案中,I/O接口3030可以包括对经由各种类型外围总线而附接的装置的支持,诸如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变型。例如,在一些实施方案中,I/O接口3030的功能可以分成两个或更多个单独组件,诸如北桥和南桥。另外,在一些实施方案中,I/O接口3030(诸如与系统存储器3020的接口)的功能的一些或全部可直接地结合到处理器3010中。
网络接口3040可以被配置成允许数据在计算装置3000与附接到一个网络或多个网络3050的其它装置3060之间交换。例如,在各种实施方案中,网络接口3040可经由任何合适的有线或无线通用数据网络(诸如以太网络类型)来支持通信。另外,网络接口3040可经由电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、经由存储区域网络(诸如光纤信道SAN)、或经由任何其它合适的类型的网络和/或协议来支持通信。
在一些实施方案中,系统存储器3020可以是被配置成存储如上所述用于实现对应的方法和设备的实施方案的程序指令和数据的计算机可读(即,计算机可访问)介质的一个实施方案。然而,在其它实施方案中,可以在不同类型计算机可读介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可读介质可以包括非暂时存储介质或存储器介质,诸如磁性介质或光学介质,例如,经由I/O接口3030耦合到计算装置3000的磁盘或DVD/CD。非暂时计算机可读存储介质还可包括可包括在计算装置3000的一些实施方案中作为系统存储器3020或另一类型的存储器的任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDRSDRAM、RDRAM、SRAM等)、ROM等。另外,计算机可读介质可以包括经由通信介质(诸如网络和/或无线链路)来传达的传输介质或信号(诸如电、电磁或数字信号),诸如可经由网络接口3040来实现。多个计算装置(诸如图9中示出的那者)的部分或全部可以用于在各种实施方案中实现所描述的功能;例如,在各种各样的不同装置和服务器上运行的软件组件可协作来提供所述功能。在一些实施方案中,可使用存储装置、网络装置或计算机系统来实现所描述的功能的部分。如本文使用的术语“计算装置”是指至少所有这些类型装置,并且不限制于这些类型装置。
各种实施方案可进一步包括在计算机可读介质上接收、发送或存储根据前述描述而实现的指令和/或数据。一般来说,计算机可读介质可以包括存储介质或存储器介质,诸如磁性介质或光学介质,例如磁盘或DVD/CD-ROM、易失性或非易失性介质(诸如RAM(例如,SDRAM、DDR、RDRAM、SRAM等等)、ROM等等)。在一些实施方案中,计算机可读介质还可包括经由通信介质(诸如网络和/或无线链路)来传达的传输介质或信号(诸如电、电磁、或数字信号)。
如附图示出和本文中描述的各种方法表示方法的实施方案的示例。方法可以软件、硬件或其组合实现。在各种方法中,可以改变步骤顺序,并且可以添加、重排、组合、省略、修改等各种要素。各个步骤可自动地和/或以编程的方式(例如,根据程序指令)执行(例如,不需要由用户输入直接提示)。
本文中的本发明的描述中使用的术语仅出于描述具体实施方案的目的,而不旨在作为本发明的限制。如本发明的描述和随附权利要求使用的,除非在上下文另外清楚指出,单数形式“一个”、“一种”和“所述”旨在也包括了复数形式。还将理解,如本文使用的术语“和/或”是指相关列示项目的一个或多个的任何和所有的可能组合并涵盖了所述任何和所有的可能组合。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定存在表述特征、整数、步骤、操作、要素和/或部件,但是并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、部件和/或其组合。
如本文使用的,取决于上下文,术语“如果”可以被理解为表示“当……时”或“在……时”或“响应于确定……”或“响应于检测到……”。类似地,取决于上下文,短语“如果确定”或“如果检测到[表述的状况或事件]”可以被理解为表示“在确定……时”或“响应于确定……”或“在检测到[表述的状况或事件]时”或“响应于检测到[表述的状况或事件]”。
还将理解,虽然术语第一、第二等可以在本文中用于描述各种要素,但是这些要素不应受到这些术语限制。这些术语仅用于对各个要素进行区分。例如,在不脱离本发明的范围的情况下,第一触点可被称为第二触点,且类似地,第二触点可被称为第一触点。第一触点和第二触点都是触点,但是它们并不是相同的触点。
依据以下条款可更好地理解前述内容:
条款1.一种系统,所述系统包括:
多个计算装置,所述多个计算装置被配置成实现包括源服务器和边服务器的内容分发网络,其中所述边服务器包括内容高速缓存,所述内容高速缓存被配置成存储从所述源服务器检索的内容,并且其中所述边服务器被配置成:
接收功能与事件的关联,其中所述功能和所述关联至少部分地基于来自所述内容分发网络的客户的输入来确定;
从客户端装置接收对来自所述内容高速缓存或来自所述源服务器的内容的请求;
发起对所述请求的处理,其中对所述请求的所述处理包括遇到与所述功能相关联的所述事件;
在所述边服务器处使用相对于对一个或多个其它功能的执行的进程隔离来执行与所述事件相关联的所述功能;
至少部分地基于对所述功能的执行来生成所述内容;以及
将所述内容发送到所述客户端装置。
条款2.如条款1所述的系统,其中所述事件包括接收来自所述客户端装置的所述对内容的请求或准备对来自所述源服务器的内容的请求,并且其中在执行与所述事件相关联的所述功能时,所述边服务器被配置成:
修改对来自所述内容高速缓存的内容的所述请求或对来自所述源服务器的内容的所述请求。
条款3.如条款1所述的系统,其中所述事件包括生成关于对来自所述内容高速缓存的内容的所述请求的响应或接收关于对来自所述源服务器的内容的请求的响应,并且其中在执行与所述事件相关联的所述功能时,所述边服务器被配置成:
修改关于对来自所述内容高速缓存的内容的所述请求的响应或关于对来自所述源服务器的内容的所述请求的所述响应。
条款4.如条款1所述的系统,其中所述内容至少部分地基于对所述功能的执行来生成,而不需要从所述内容高速缓存或从所述源服务器检索所述内容。
条款5.一种计算机实现的方法,所述计算机实现的方法包括:
在边服务器处,从客户端装置接收对内容的请求;
发起对所述请求的处理,其中对所述请求的所述处理包括遇到事件,并且其中所述事件与由客户指定的功能相关联;
在所述边服务器处,进行与所述事件相关联的所述功能,其中进行所述功能相对于在所述边服务器处的一个或多个其它功能被隔离;
至少部分地基于进行所述功能来生成所述内容;以及
从所述边服务器向所述客户端装置发送所述内容。
条款6.如条款5所述的方法,其中所述事件包括接收来自所述客户端装置的所述对内容的请求或准备对来自源服务器的内容的请求,并且其中进行与所述事件相关联的所述功能包括:
修改对来自所述边服务器处的内容高速缓存的内容的请求或对来自所述源服务器的内容的所述请求。
条款7.如条款5所述的方法,其中所述事件包括生成关于对来自所述边服务器处的内容高速缓存的内容的所述请求的响应或接收关于对来自源服务器的内容的请求的响应,并且其中进行与所述事件相关联的所述功能包括:
修改关于对来自所述内容高速缓存的内容的所述请求的响应或关于对来自所述源服务器的内容的所述请求的所述响应。
条款8.如条款5所述的方法,其中进行与所述事件相关联的所述功能包括:
生成与处理所述请求相关联的一个或多个度量或日志条目。
条款9.如条款5所述的方法,其中所述内容至少部分地基于进行所述功能来生成,而不需要从所述边服务器处的内容高速缓存或从源服务器检索所述内容。
条款10.如条款5所述的方法,其中隔离所述功能包括执行所述边服务器处的容器中的所述功能并且执行所述边服务器处的一个或多个其它容器中的所述一个或多个其它功能。
条款11.如条款10所述的方法,其中所述容器包括虚拟机,并且其中所述一个或多个其它容器包括一个或多个其它虚拟机。
条款12.如条款5所述的方法,其中进行与所述事件相关联的所述功能包括:
访问附加的服务器处的提供商网络的资源。
条款13.如条款5所述的方法,所述方法进一步包括:
在所述边服务器处,接收对附加内容的附加请求;
发起对所述附加请求的处理,其中对所述附加请求的所述处理包括遇到附加事件,并且其中所述附加事件与由不同客户指定的不同功能相关联;
在所述边服务器处,进行与所述附加事件相关联的所述不同功能,其中进行所述不同功能相对于在所述边服务器处对所述功能的执行被隔离;以及
至少部分地基于进行所述不同功能来生成所述附加内容。
条款14.一种存储程序指令的计算机可读存储介质,所述程序指令可由计算机执行以进行以下操作:
在边服务器处,从客户端装置接收对内容的请求;
发起对所述请求的处理,其中对所述请求的所述处理包括进行事件,并且其中所述事件与由用户限定的程序代码相关联;
在所述边服务器处,执行与所述事件相关联的所述由用户限定的程序代码,其中所述由用户限定的程序代码被使用相对于在所述边服务器处对其它由用户限定的程序代码的执行的隔离技术来执行;
至少部分地基于对所述由用户限定的程序代码的执行来生成所述内容;以及
从所述边服务器向所述客户端装置发送所述内容。
条款15.如条款14所述的计算机可读存储介质,其中所述事件包括接收来自所述客户端装置的所述对内容的请求或准备对来自源服务器的内容的请求,并且其中执行与所述事件相关联的所述由用户限定的程序代码包括:
修改对来自所述边服务器处的内容高速缓存的内容的请求或对来自所述源服务器的内容的所述请求。
条款16.如条款14所述的计算机可读存储介质,其中所述事件包括生成关于对来自所述边服务器处的内容高速缓存的内容的所述请求的响应或接收关于对来自所述源服务器的内容的请求的响应,并且其中执行与所述事件相关联的所述由用户限定的程序代码包括:
修改关于对来自所述内容高速缓存的内容的所述请求的响应或关于对来自所述源服务器的内容的所述请求的所述响应。
条款17.如条款14所述的计算机可读存储介质,其中执行与所述事件相关联的所述由用户限定的程序代码包括:
生成与处理所述请求相关联的一个或多个度量或日志条目。
条款18.如条款14所述的计算机可读存储介质,其中所述内容至少部分地基于对所述由用户限定的程序代码的执行来生成,而不需要从所述边服务器处的内容高速缓存或从源服务器检索所述内容。
条款19.如条款14所述的计算机可读存储介质,其中使用所述隔离技术包括执行所述边服务器处的容器中的所述由用户限定的程序代码和执行所述边服务器处的一个或多个其它容器中的所述其它由用户限定的程序代码。
条款20.如条款14所述的计算机可读存储介质,其中所述程序指令进一步可由计算机执行以进行以下操作:
在所述边服务器处,接收对附加内容的附加请求;
发起对所述附加请求的处理,其中对所述附加请求的所述处理包括进行附加事件,并且其中所述附加事件与由不同用户指定的不同的由用户限定的程序代码相关联;
在所述边服务器处,执行与所述附加事件相关联的所述不同的由用户限定的程序代码,其中所述不同的由用户限定的程序代码被使用相对于在所述边服务器处对所述由用户限定的程序代码的执行的所述隔离技术来执行;以及
至少部分地基于对所述不同的由用户限定的程序代码的执行来生成所述附加内容。
另外,依据以下条款可更好地理解前述内容:
条款21.一种系统,所述系统包括:
多个计算装置,所述多个计算装置被配置成实现包括源服务器和边服务器的内容分发网络,其中所述边服务器包括内容高速缓存,所述内容高速缓存被配置成存储从所述源服务器检索的内容,并且其中所述边服务器被配置成:
接收只读数据存储和功能与事件的关联,其中所述只读数据存储、所述功能和所述关联至少部分地基于来自所述内容分发网络的客户的输入来确定;
从客户端装置接收对来自所述内容高速缓存或来自所述源服务器的内容的请求;
发起对所述请求的处理,其中对所述请求的所述处理包括遇到与所述功能相关联的所述事件;
执行与所述事件相关联的所述功能,其中所述功能将所述只读数据存储指定为输入,并且其中对所述功能的执行包括从所述只读数据存储检索一个或多个元素;
至少部分地基于对所述功能的执行来生成所述内容;以及
将所述内容发送到所述客户端装置。
条款22.如条款21所述的系统,其中所述事件包括接收来自所述客户端装置的所述对内容的请求或准备对来自所述源服务器的内容的请求,并且其中在执行与所述事件相关联的所述功能时,所述边服务器被配置成:
修改对来自所述内容高速缓存的内容的所述请求或对来自所述源服务器的内容的所述请求。
条款23.如条款21所述的系统,其中所述事件包括生成关于对来自所述内容高速缓存的内容的所述请求的响应或接收关于对来自所述源服务器的内容的请求的响应,并且其中在执行与所述事件相关联的所述功能时,所述边服务器被配置成:
修改关于对来自所述内容高速缓存的内容的所述请求的响应或关于对来自所述源服务器的内容的所述请求的所述响应。
条款24.如条款21所述的系统,其中所述内容至少部分地基于对所述功能的所述执行来生成,而不需要从所述内容高速缓存或从所述源服务器检索所述内容。
条款25.一种计算机实现的方法,所述计算机实现的方法包括:
将只读数据存储复制到边服务器;
在所述边服务器处,从客户端装置接收对内容的请求;
发起对所述请求的处理,其中对所述请求的所述处理包括遇到事件,其中所述事件与由客户指定的功能相关联,并且其中所述功能将所述只读数据存储指定为输入;
在所述边服务器处,执行与所述事件相关联的所述功能,包括从所述只读数据存储检索数据;
至少部分地基于进行所述功能来生成所述内容;以及
从所述边服务器向所述客户端装置发送所述内容。
条款26.如条款25所述的方法,其中所述事件包括接收来自所述客户端装置的所述对内容的请求或准备对来自源服务器的内容的请求,并且其中进行与所述事件相关联的所述功能包括:
修改对来自所述边服务器处的内容高速缓存的内容的请求或对来自所述源服务器的内容的所述请求。
条款27.如条款25所述的方法,其中所述事件包括生成关于对来自所述边服务器处的内容高速缓存的内容的所述请求的响应或接收关于对来自源服务器的内容的请求的响应,并且其中进行与所述事件相关联的所述功能包括:
修改关于对来自所述内容高速缓存的内容的所述请求的响应或关于对来自所述源服务器的内容的所述请求的所述响应。
条款28.如条款25所述的方法,其中进行与所述事件相关联的所述功能包括:
生成与处理所述请求相关联的一个或多个度量或日志条目。
条款29.如条款25所述的方法,其中所述内容至少部分地基于进行所述功能来生成,而不需要从内容高速缓存或从源服务器检索所述内容。
条款30.如条款25所述的方法,其中所述功能在所述边服务器处被使用相对于一个或多个其它功能的进程隔离来执行。
条款31.如条款25所述的方法,其中所述只读数据存储包括多个键-值对。
条款32.如条款25所述的方法,其中所述只读数据存储由所述客户指定。
条款33.如条款25所述的方法,其中执行与所述事件相关联的所述功能包括:
访问附加的服务器处的提供商网络的资源。
条款34.一种存储程序指令的计算机可读存储介质,所述程序指令可由计算机执行以进行以下操作:
将只读数据存储复制到边服务器和多个附加边服务器,其中所述只读数据存储由内容分发网络的客户指定;
在所述边服务器处,从客户端装置接收对内容的请求;
发起对所述请求的处理,其中对所述请求的所述处理包括进行事件,其中所述事件与由用户限定的程序代码相关联,并且其中所述由用户限定的程序代码将来自所述只读数据存储的数据指定为输入;
在所述边服务器处,执行与所述事件相关联的所述由用户限定的程序代码,其中所述由用户限定的程序代码被使用相对于在所述边服务器处对其它由用户限定的程序代码的执行的隔离技术来执行;
至少部分地基于对所述由用户限定的程序代码的执行来生成所述内容,其中对所述由用户限定的程序代码的所述执行包括从所述只读数据存储检索所述数据;以及
从所述边服务器向所述客户端装置发送所述内容。
条款35.如条款34所述的计算机可读存储介质,其中所述事件包括接收来自所述客户端装置的所述对内容的请求或准备对来自源服务器的内容的请求,并且其中执行与所述事件相关联的所述由用户限定的程序代码包括:
修改对来自所述边服务器处的内容高速缓存的内容的请求或对来自所述源服务器的内容的所述请求。
条款36.如条款34所述的计算机可读存储介质,其中所述事件包括生成关于对来自所述边服务器处的内容高速缓存的内容的所述请求的响应或接收关于对来自源服务器的内容的请求的响应,并且其中执行与所述事件相关联的所述由用户限定的程序代码包括:
修改关于对来自所述内容高速缓存的内容的所述请求的响应或关于对来自所述源服务器的内容的所述请求的所述响应。
条款37.如条款34所述的计算机可读存储介质,其中执行与所述事件相关联的所述由用户限定的程序代码包括:
生成与处理所述请求相关联的一个或多个度量或日志条目。
条款38.如条款34所述的计算机可读存储介质,其中所述内容至少部分地基于对所述由用户限定的程序代码的执行来生成,而不需要从内容高速缓存或从源服务器检索所述内容。
条款39.如条款34所述的计算机可读存储介质,其中所述由用户限定的程序代码在所述边服务器处被使用相对于其它由用户限定的程序代码的进程隔离来执行。
条款40.如条款34所述的计算机可读存储介质,其中所述只读数据存储包括多个键-值对。
结论
本文中阐述许多特定细节以提供对所要求保护的主题的透彻理解。然而,本领域的技术人员将会理解,所要求保护的主题可以在无这些特定细节的情况下实践。在其它情况下,未详细地描述普通技术人员本来就知道的方法、设备或系统,以免模糊所要求保护的主题。如对受益于本公开的领域中的技术人员将显而易见,可以做出各种修改和改变。预期的是,涵盖所有这样的修改和改变,并相应地,以上描述被认为是说明性意义而非限制性意义。
Claims (15)
1.一种系统,包括:
多个计算装置,所述多个计算装置包括一个或多个处理器和存储器并且被配置成实现包括源服务器和边服务器的内容分发网络,其中所述边服务器包括内容高速缓存,所述内容高速缓存被配置成存储从所述源服务器检索的内容,并且其中所述边服务器被配置成:
从客户端装置接收对内容的请求,其中接收对所述内容的所述请求表示遇到内容请求事件,并且其中所述内容请求事件与由来自所述内容分发网络的客户的先前输入指定的功能相关联,其中所述先前输入包括由所述客户从所述内容分发网络处可供所述客户选择的一个或多个预定义功能之中选择了所述功能;
响应于遇到所述内容请求事件而执行所述功能;
至少部分地基于执行所述功能而生成所述内容;以及
将所生成的内容发送到所述客户端装置。
2.如权利要求1所述的系统,其中,在执行所述功能时,所述边服务器被配置为:
修改对所述内容的HTTP请求的标头,其中所述HTTP标头被从所述边服务器发送到所述源服务器。
3.如权利要求1所述的系统,其中,在执行所述功能时,所述边服务器被配置为:
修改对所述内容的所述请求。
4.如权利要求1所述的系统,其中,在执行所述功能时,所述边服务器被配置为:
修改对于对所述内容的所述请求的内容响应的HTTP标头。
5.如权利要求1所述的系统,其中对所述内容的所述请求被发送到第一统一资源定位符(URL),并且其中,在执行所述功能时,所述边服务器被配置为:
把对所述内容的所述请求重定向到第二URL。
6.一种计算机实现的方法,包括:
在内容分发网络的边服务器处从客户端装置接收对内容的请求,其中接收对所述内容的所述请求表示遇到内容请求事件,并且其中所述内容请求事件与由来自所述内容分发网络的客户的先前输入指定的功能相关联,其中所述先前输入包括由所述客户从所述内容分发网络处可供所述客户选择的一个或多个预定义功能之中选择了所述功能;
在所述边服务器处响应于遇到所述内容请求事件而执行所述功能;
在所述边服务器处至少部分地基于执行所述功能而生成所述内容;以及
将所生成的内容从所述边服务器发送到所述客户端装置。
7.如权利要求6所述的方法,其中执行所述功能还包括:
修改对所述内容的源请求的标头,其中所述标头被从所述边服务器发送到所述内容分发网络的源服务器。
8.如权利要求6所述的方法,其中执行所述功能还包括执行以下的一者或多者:
修改对所述内容的所述请求的路由,或者
修改对于对所述内容的所述请求的内容响应的标头。
9.如权利要求6所述的方法,其中,至少部分地基于执行所述功能,在不从所述边服务器的内容高速缓存检索所述内容并且不从所述内容分发网络的源服务器检索所述内容的情况下在所述边服务器处生成所述内容。
10.如权利要求6所述的方法,还包括:
复制针对所述边服务器的只读数据存储,其中所述只读数据存储包括由来自所述客户的输入指定的数据,其中所述功能将来自所述只读数据存储的所述数据指定为所述功能的输入;以及
在所述边缘服务器处从所述只读数据存储检索所述数据,其中所述功能是使用所述数据执行的。
11.一种或多种非暂态计算机可读存储介质,其存储程序指令,所述程序指令当在一个或多个处理器上或跨一个或多个处理器被运行时执行:
在内容分发网络的边服务器处从客户端装置接收对内容的请求,其中接收对所述内容的所述请求表示遇到内容请求事件,并且其中所述内容请求事件与由来自所述内容分发网络的客户的先前输入指定的功能相关联,其中所述先前输入包括由所述客户从所述内容分发网络处可供所述客户选择的一个或多个预定义功能之中选择了所述功能;
在所述边服务器处响应于遇到所述内容请求事件而执行所述功能;
在所述边服务器处至少部分地基于执行所述功能而生成所述内容;以及
将所生成的内容从所述边服务器发送到所述客户端装置。
12.如权利要求11所述的一种或多种非暂态计算机可读存储介质,其中执行所述功能包括:
修改对所述内容的源请求的HTTP标头,其中所述HTTP标头被从所述边服务器发送到所述内容分发网络的源服务器。
13.如权利要求11所述的一种或多种非暂态计算机可读存储介质,其中执行所述功能包括:
修改对于对所述内容的所述请求的内容响应的HTTP标头。
14.如权利要求11所述的一种或多种非暂态计算机可读存储介质,其中执行所述功能包括:
修改对所述内容的所述请求的协议。
15.如权利要求11所述的一种或多种非暂态计算机可读存储介质,其中所述功能是由所述客户从一组预定义功能中选择的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110269045.9A CN112839111B (zh) | 2015-09-11 | 2016-09-09 | 边缘位置处的可定制的事件触发计算的系统、方法和介质 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/852,256 US10848582B2 (en) | 2015-09-11 | 2015-09-11 | Customizable event-triggered computation at edge locations |
US14/852,256 | 2015-09-11 | ||
US14/852,272 | 2015-09-11 | ||
US14/852,272 US11895212B2 (en) | 2015-09-11 | 2015-09-11 | Read-only data store replication to edge locations |
CN202110269045.9A CN112839111B (zh) | 2015-09-11 | 2016-09-09 | 边缘位置处的可定制的事件触发计算的系统、方法和介质 |
CN201680051436.0A CN108028853B (zh) | 2015-09-11 | 2016-09-09 | 边缘位置处的可定制的事件触发计算的系统、方法和介质 |
PCT/US2016/050969 WO2017044761A1 (en) | 2015-09-11 | 2016-09-09 | System, method and computer-readable storage medium for customizable event-triggered computation at edge locations |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680051436.0A Division CN108028853B (zh) | 2015-09-11 | 2016-09-09 | 边缘位置处的可定制的事件触发计算的系统、方法和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839111A true CN112839111A (zh) | 2021-05-25 |
CN112839111B CN112839111B (zh) | 2024-02-02 |
Family
ID=56959074
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110269045.9A Active CN112839111B (zh) | 2015-09-11 | 2016-09-09 | 边缘位置处的可定制的事件触发计算的系统、方法和介质 |
CN201680051436.0A Active CN108028853B (zh) | 2015-09-11 | 2016-09-09 | 边缘位置处的可定制的事件触发计算的系统、方法和介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680051436.0A Active CN108028853B (zh) | 2015-09-11 | 2016-09-09 | 边缘位置处的可定制的事件触发计算的系统、方法和介质 |
Country Status (7)
Country | Link |
---|---|
EP (2) | EP3348042B1 (zh) |
JP (2) | JP6445222B2 (zh) |
KR (4) | KR102117058B1 (zh) |
CN (2) | CN112839111B (zh) |
AU (5) | AU2016319754B2 (zh) |
CA (1) | CA2997194A1 (zh) |
WO (1) | WO2017044761A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3062142B1 (en) | 2015-02-26 | 2018-10-03 | Nokia Technologies OY | Apparatus for a near-eye display |
US10650552B2 (en) | 2016-12-29 | 2020-05-12 | Magic Leap, Inc. | Systems and methods for augmented reality |
EP3343267B1 (en) | 2016-12-30 | 2024-01-24 | Magic Leap, Inc. | Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light |
US10578870B2 (en) | 2017-07-26 | 2020-03-03 | Magic Leap, Inc. | Exit pupil expander |
KR20230152180A (ko) | 2017-12-10 | 2023-11-02 | 매직 립, 인코포레이티드 | 광학 도파관들 상의 반사―방지 코팅들 |
US11187923B2 (en) | 2017-12-20 | 2021-11-30 | Magic Leap, Inc. | Insert for augmented reality viewing device |
US10685493B2 (en) * | 2017-12-24 | 2020-06-16 | Facebook, Inc. | Systems and methods for delivering augmented reality content |
EP3503502B1 (en) * | 2017-12-24 | 2023-05-24 | Meta Platforms, Inc. | Systems and methods for delivering augmented reality content |
US11068281B2 (en) * | 2018-03-02 | 2021-07-20 | Fastly, Inc. | Isolating applications at the edge |
US10755676B2 (en) | 2018-03-15 | 2020-08-25 | Magic Leap, Inc. | Image correction due to deformation of components of a viewing device |
JP7319303B2 (ja) | 2018-05-31 | 2023-08-01 | マジック リープ, インコーポレイテッド | レーダ頭部姿勢位置特定 |
WO2020010097A1 (en) | 2018-07-02 | 2020-01-09 | Magic Leap, Inc. | Pixel intensity modulation using modifying gain values |
US11856479B2 (en) | 2018-07-03 | 2023-12-26 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality along a route with markers |
EP3827224B1 (en) | 2018-07-24 | 2023-09-06 | Magic Leap, Inc. | Temperature dependent calibration of movement detection devices |
US11624929B2 (en) | 2018-07-24 | 2023-04-11 | Magic Leap, Inc. | Viewing device with dust seal integration |
JP7401519B2 (ja) | 2018-08-02 | 2023-12-19 | マジック リープ, インコーポレイテッド | 頭部運動に基づく瞳孔間距離補償を伴う視認システム |
US10795458B2 (en) | 2018-08-03 | 2020-10-06 | Magic Leap, Inc. | Unfused pose-based drift correction of a fused pose of a totem in a user interaction system |
CN113544766A (zh) | 2019-03-12 | 2021-10-22 | 奇跃公司 | 在第一和第二增强现实观看器之间配准本地内容 |
CN110046045B (zh) * | 2019-04-03 | 2021-07-30 | 百度在线网络技术(北京)有限公司 | 语音唤醒的数据包处理方法和装置 |
EP3963565A4 (en) * | 2019-05-01 | 2022-10-12 | Magic Leap, Inc. | CONTENT DELIVERY SYSTEM AND PROCEDURES |
EP4004630A4 (en) | 2019-07-26 | 2022-09-28 | Magic Leap, Inc. | AUGMENTED REALITY SYSTEMS AND METHODS |
EP4058979A4 (en) | 2019-11-15 | 2023-01-11 | Magic Leap, Inc. | VIEWING SYSTEM FOR USE IN A SURGICAL ENVIRONMENT |
US11418995B2 (en) | 2019-11-29 | 2022-08-16 | Amazon Technologies, Inc. | Mobility of cloud compute instances hosted within communications service provider networks |
US10965737B1 (en) * | 2019-11-29 | 2021-03-30 | Amazon Technologies, Inc. | Cloud computing in communications service provider networks |
KR102235622B1 (ko) * | 2020-11-30 | 2021-04-01 | 연세대학교 산학협력단 | IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치 |
CN112988127A (zh) * | 2021-01-28 | 2021-06-18 | 网宿科技股份有限公司 | Cdn业务定制方法及系统 |
CN112783778A (zh) * | 2021-01-28 | 2021-05-11 | 网宿科技股份有限公司 | 测试方法、装置、网络设备及存储介质 |
CN112988126A (zh) * | 2021-01-28 | 2021-06-18 | 网宿科技股份有限公司 | Cdn业务定制方法及系统 |
CA3208249A1 (en) | 2021-02-24 | 2022-09-01 | William Crowder | Uniformity of instructions for content requests and responses in a content delivery network |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060080702A1 (en) * | 2004-05-20 | 2006-04-13 | Turner Broadcasting System, Inc. | Systems and methods for delivering content over a network |
US20100146038A1 (en) * | 2008-12-05 | 2010-06-10 | At&T Corp. | System and Method for Assigning Requests in a Content Distribution Network |
US20100312858A1 (en) * | 2009-06-04 | 2010-12-09 | Microsoft Corporation | Network application performance enhancement using speculative execution |
CN103024045A (zh) * | 2011-12-16 | 2013-04-03 | 微软公司 | 应用驱动的cdn预高速缓存 |
WO2013049079A2 (en) * | 2011-09-26 | 2013-04-04 | Limelight Networks, Inc. | Dynamic request handling using cloud-computing capabilities |
US20130159473A1 (en) * | 2011-12-14 | 2013-06-20 | Level 3 Communications, Llc | Content delivery network |
WO2013164007A1 (en) * | 2012-04-30 | 2013-11-07 | Nec Europe Ltd. | Method for performing dns resolution in a network, content distribution system and client terminal for deployment in a content distribution system |
CN103392344A (zh) * | 2010-12-17 | 2013-11-13 | 阿卡麦科技公司 | 使用用于流化的http网络的格式未知的流化体系结构 |
CN103731481A (zh) * | 2008-11-17 | 2014-04-16 | 亚马逊技术有限公司 | 请求路由和利用客户位置信息来更新路由信息 |
US20140173046A1 (en) * | 2012-12-13 | 2014-06-19 | Level 3 Communications, Llc | Devices And Methods Supporting Content Delivery With Delivery Services |
US20140181268A1 (en) * | 2012-12-21 | 2014-06-26 | Akamai Technologies, Inc. | Scalable content delivery network request handling mechanism |
US8769614B1 (en) * | 2009-12-29 | 2014-07-01 | Akamai Technologies, Inc. | Security framework for HTTP streaming architecture |
US20150046575A1 (en) * | 2013-08-08 | 2015-02-12 | Level 3 Communications, Llc | Content delivery methods and systems |
US20150100667A1 (en) * | 2013-10-08 | 2015-04-09 | WePow, Inc. | Optimizing content delivery |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3005189B2 (ja) * | 1996-04-05 | 2000-01-31 | 株式会社グラフィックス・コミュニケーション・ラボラトリーズ | ストリームデータ転送方法および装置 |
AU2001290546A1 (en) * | 2000-08-22 | 2002-03-04 | Akamai Technologies, Inc. | Dynamic content assembly on edge-of-network servers in a content delivery network |
US7809813B2 (en) | 2002-06-28 | 2010-10-05 | Microsoft Corporation | System and method for providing content-oriented services to content providers and content consumers |
US20090164550A1 (en) * | 2007-12-20 | 2009-06-25 | Nortel Networks Limited | Media monitoring |
US8612413B2 (en) | 2010-08-12 | 2013-12-17 | Cdnetworks Co., Ltd. | Distributed data cache for on-demand application acceleration |
JP5810779B2 (ja) * | 2011-09-16 | 2015-11-11 | 株式会社リコー | 画面共有システム、画面共有端末、電子黒板システムおよびプログラム |
CN102869003A (zh) * | 2012-08-28 | 2013-01-09 | 中兴通讯股份有限公司 | 一种异构网络下业务内容分发的方法、业务管理平台 |
US9699519B2 (en) * | 2012-10-17 | 2017-07-04 | Netflix, Inc. | Partitioning streaming media files on multiple content distribution networks |
CN104113568B (zh) * | 2013-04-18 | 2017-09-05 | 华为技术有限公司 | 接收请求的方法及cdn服务器 |
US20160248885A1 (en) * | 2013-10-07 | 2016-08-25 | Telefonica Digital España, S.L.U. | Method and System for Configuring Web Cache Memory and for Processing Requests |
CN104796469B (zh) * | 2015-04-15 | 2018-04-03 | 北京中油瑞飞信息技术有限责任公司 | 云计算平台的配置方法及装置 |
-
2016
- 2016-09-09 CN CN202110269045.9A patent/CN112839111B/zh active Active
- 2016-09-09 KR KR1020187008317A patent/KR102117058B1/ko active IP Right Grant
- 2016-09-09 JP JP2018512277A patent/JP6445222B2/ja active Active
- 2016-09-09 EP EP16767484.5A patent/EP3348042B1/en active Active
- 2016-09-09 KR KR1020217024196A patent/KR102367792B1/ko active IP Right Grant
- 2016-09-09 EP EP20183475.1A patent/EP3742707A1/en active Pending
- 2016-09-09 CA CA2997194A patent/CA2997194A1/en active Pending
- 2016-09-09 AU AU2016319754A patent/AU2016319754B2/en active Active
- 2016-09-09 KR KR1020207014946A patent/KR102161161B1/ko active IP Right Grant
- 2016-09-09 CN CN201680051436.0A patent/CN108028853B/zh active Active
- 2016-09-09 KR KR1020207027486A patent/KR102285827B1/ko active IP Right Grant
- 2016-09-09 WO PCT/US2016/050969 patent/WO2017044761A1/en active Application Filing
-
2018
- 2018-11-28 JP JP2018221978A patent/JP6723329B2/ja active Active
-
2019
- 2019-05-09 AU AU2019203266A patent/AU2019203266B2/en active Active
-
2020
- 2020-08-20 AU AU2020220160A patent/AU2020220160B2/en active Active
-
2021
- 2021-09-29 AU AU2021240176A patent/AU2021240176B2/en active Active
-
2023
- 2023-02-15 AU AU2023200859A patent/AU2023200859B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060080702A1 (en) * | 2004-05-20 | 2006-04-13 | Turner Broadcasting System, Inc. | Systems and methods for delivering content over a network |
CN103731481A (zh) * | 2008-11-17 | 2014-04-16 | 亚马逊技术有限公司 | 请求路由和利用客户位置信息来更新路由信息 |
US20100146038A1 (en) * | 2008-12-05 | 2010-06-10 | At&T Corp. | System and Method for Assigning Requests in a Content Distribution Network |
US20100312858A1 (en) * | 2009-06-04 | 2010-12-09 | Microsoft Corporation | Network application performance enhancement using speculative execution |
US8769614B1 (en) * | 2009-12-29 | 2014-07-01 | Akamai Technologies, Inc. | Security framework for HTTP streaming architecture |
CN103392344A (zh) * | 2010-12-17 | 2013-11-13 | 阿卡麦科技公司 | 使用用于流化的http网络的格式未知的流化体系结构 |
WO2013049079A2 (en) * | 2011-09-26 | 2013-04-04 | Limelight Networks, Inc. | Dynamic request handling using cloud-computing capabilities |
US20130159473A1 (en) * | 2011-12-14 | 2013-06-20 | Level 3 Communications, Llc | Content delivery network |
CN103024045A (zh) * | 2011-12-16 | 2013-04-03 | 微软公司 | 应用驱动的cdn预高速缓存 |
WO2013164007A1 (en) * | 2012-04-30 | 2013-11-07 | Nec Europe Ltd. | Method for performing dns resolution in a network, content distribution system and client terminal for deployment in a content distribution system |
US20140173046A1 (en) * | 2012-12-13 | 2014-06-19 | Level 3 Communications, Llc | Devices And Methods Supporting Content Delivery With Delivery Services |
US20140181268A1 (en) * | 2012-12-21 | 2014-06-26 | Akamai Technologies, Inc. | Scalable content delivery network request handling mechanism |
US20150046575A1 (en) * | 2013-08-08 | 2015-02-12 | Level 3 Communications, Llc | Content delivery methods and systems |
US20150100667A1 (en) * | 2013-10-08 | 2015-04-09 | WePow, Inc. | Optimizing content delivery |
Non-Patent Citations (2)
Title |
---|
JIAYI LIU ET AL.: "Optimal Delivery of Rate-Adaptive Streams in Underprovisioned Networks", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 32, no. 4, XP011543311, DOI: 10.1109/JSAC.2014.140404 * |
张震;张雷;: "基于CCN的CDN视频内容分发技术研究", 软件, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
WO2017044761A1 (en) | 2017-03-16 |
EP3348042A1 (en) | 2018-07-18 |
CN108028853A (zh) | 2018-05-11 |
KR102285827B1 (ko) | 2021-08-04 |
AU2021240176B2 (en) | 2022-11-17 |
AU2016319754B2 (en) | 2019-02-21 |
AU2019203266A1 (en) | 2019-05-30 |
KR102161161B1 (ko) | 2020-09-29 |
EP3348042B1 (en) | 2020-08-12 |
CN112839111B (zh) | 2024-02-02 |
AU2020220160B2 (en) | 2021-07-01 |
KR20180048761A (ko) | 2018-05-10 |
AU2023200859B2 (en) | 2024-03-07 |
KR20200113033A (ko) | 2020-10-05 |
AU2016319754A1 (en) | 2018-03-29 |
KR102117058B1 (ko) | 2020-05-29 |
JP2018526752A (ja) | 2018-09-13 |
EP3742707A1 (en) | 2020-11-25 |
KR102367792B1 (ko) | 2022-02-28 |
AU2020220160A1 (en) | 2020-09-10 |
CN108028853B (zh) | 2021-03-30 |
AU2021240176A1 (en) | 2021-10-28 |
AU2019203266B2 (en) | 2020-05-21 |
JP6445222B2 (ja) | 2018-12-26 |
JP6723329B2 (ja) | 2020-07-15 |
KR20210099174A (ko) | 2021-08-11 |
KR20200062373A (ko) | 2020-06-03 |
CA2997194A1 (en) | 2017-03-16 |
JP2019032903A (ja) | 2019-02-28 |
AU2023200859A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108028853B (zh) | 边缘位置处的可定制的事件触发计算的系统、方法和介质 | |
US20210075881A1 (en) | Customizable event-triggered computation at edge locations | |
US20240155045A1 (en) | Read-only data store replication to edge locations | |
US20140280949A1 (en) | Load balancing for a virtual networking system | |
US10972576B2 (en) | Content acceleration for cross-site resources by CDN | |
US9438670B2 (en) | Data replication for a virtual networking system | |
US20210314371A1 (en) | Network-based media processing (nbmp) workflow management through 5g framework for live uplink streaming (flus) control | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
US9503351B1 (en) | Deployment feedback for system updates to resources in private networks | |
CN113966604A (zh) | web应用封装器 | |
EP4000239B1 (en) | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination | |
US10819777B1 (en) | Failure isolation in a distributed system | |
US11526499B2 (en) | Adaptively updating databases of publish and subscribe systems using optimistic updates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |