CN104798071B - 在雾计算架构中使用边缘服务器改善网站性能 - Google Patents
在雾计算架构中使用边缘服务器改善网站性能 Download PDFInfo
- Publication number
- CN104798071B CN104798071B CN201380059378.2A CN201380059378A CN104798071B CN 104798071 B CN104798071 B CN 104798071B CN 201380059378 A CN201380059378 A CN 201380059378A CN 104798071 B CN104798071 B CN 104798071B
- Authority
- CN
- China
- Prior art keywords
- web page
- client device
- edge
- web
- optimized
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在一个实施例中,一种方法包括由边缘网络中的边缘设备经由广域网从客户端设备接收针对由web服务器提供的web页面的请求,该边缘网络为客户端设备提供用于访问广域网的接入网络;由边缘设备检测影响客户端设备对web页面的渲染性能的规定条件;以及边缘设备动态地将web页面优化成经优化的web页面以用于客户端设备对web页面的经优化的渲染。
Description
本申请要求于2012年11月14日提交的美国临时申请序列号61/726,171的优先权。
技术领域
本公开一般地涉及客户端设备改善web页面的渲染,该客户端设备经由计算网络(例如,互联网协议(IP)网络)来访问来自网络服务器的web页面。
背景技术
本节描述了可以采用的方法,但不一定是先前已经被构想或被采用的方法。因此,除非明确说明,否则本节中所描述的任何方法对本申请的权利要求来说都不是现有技术,并且本节中所描述的任何方法不因为被包括在本节内而被承认为是现有技术。
为了改善端用户在浏览可通过广域网(比如,互联网)被访问的web页面时的体验,各种尝试已经被做出。如果用户必须等待相当长的时间来查看所请求的web页面,则用户在查看web页面时可能体验到极大的失望。虽然已经尝试使用诸如预取、内容加速等技术来改善对用户设备的内容递送,但是与不愉快的网站体验相关联的大部分问题是由于接收web页面和相关联的web页面内容的客户端设备所遇到的较差的渲染性能和/或不良的网络条件。渲染性能不佳可以导致黑屏、浏览器资源“锁定”或者可以导致用户设备或操作系统“锁定”或崩溃。
网站优化已经被尝试,其中web页面被提交到服务器进行一般地优化,而不对web页面被呈现给用户的条件进行任何考虑。此外,web页面在被服务器优化之后没有被改变;因此,同样的web页面被发送给每个用户,而不管网络条件如何。
发明内容
根据本公开的一个示例性实施例,提供了一种用于边缘设备的方法,包括:由边缘网络中的边缘设备从客户端设备接收针对由web服务器经由广域网提供的web页面的请求,所述边缘网络为所述客户端设备提供用于访问所述广域网的接入网络连接;由所述边缘设备经由所述广域网和所述边缘网络接收所述web页面;在传送至所述客户端设备之前,由所述边缘设备在所述web页面中插入可执行代码以用于获得测量所述客户端设备对所述web页面的至少第一部分的渲染性能的反馈;由所述边缘设备从所述客户端设备接收测量所述客户端设备对所述web页面的至少第一部分的渲染性能的所述反馈;由所述边缘设备从所述反馈检测指示所述客户端设备对所述web页面的至少第一部分的渲染性能的恶化执行时间的变化的条件,其中渲染性能的恶化执行时间取决于所述边缘网络中能用于所述客户端设备的带宽;以及响应于从所述反馈检测到的所述变化的条件,所述边缘设备基于改变所述web页面的至少第一部分来动态地将web页面优化成经优化的web页面以用于客户端设备对web页面的经优化的渲染。
根据本公开的另一示例性实施例,提供了一种用于边缘设备的装置,包括:网络接口电路,所述网络接口电路被配置为从客户端设备接收请求,所述请求针对由web服务器经由广域网提供的web页面,所述装置在为所述客户端设备提供用于访问所述广域网的接入网络连接的边缘网络内,所述网络接口电路还被配置为经由所述广域网和所述边缘网络接收所述web页面;处理器电路,所述处理器电路被配置为:在传送至所述客户端设备之前,在所述web页面中插入可执行代码以用于获得测量所述客户端设备对所述web页面的至少第一部分的渲染性能的反馈;从所述客户端设备接收测量所述客户端设备对所述web页面的至少第一部分的渲染性能的所述反馈,从所述反馈检测指示所述客户端设备对所述web页面的至少第一部分的渲染性能的恶化执行时间的变化的条件,其中渲染性能的恶化执行时间取决于所述边缘网络中能用于所述客户端设备的带宽,以及响应于从所述反馈检测到的所述变化的条件,基于改变所述web页面的至少第一部分来动态地将web页面优化成经优化的web页面以用于客户端设备对web页面的经优化的渲染。
根据本公开的又一示例性实施例,提供了一种或多种非暂态有形介质,其上存储有用于执行的计算机可读指令,所述指令被机器执行,可操作来执行以下操作:由在边缘网络中起到边缘设备作用的机器从客户端设备接收针对由web服务器经由广域网提供的web页面的请求,所述边缘网络为所述客户端设备提供用于访问所述广域网的接入网络连接;由所述边缘设备经由所述广域网和所述边缘网络接收所述web页面;在传送至所述客户端设备之前,由所述边缘设备在所述web页面中插入可执行代码以用于获得测量所述客户端设备对所述web页面的至少第一部分的渲染性能的反馈;由所述边缘设备从所述客户端设备接收测量所述客户端设备对所述web页面的至少第一部分的渲染性能的所述反馈;由所述边缘设备从所述反馈检测指示所述客户端设备对所述web页面的至少第一部分的渲染性能的恶化执行时间的变化的条件,其中渲染性能的恶化执行时间取决于所述边缘网络中能用于所述客户端设备的带宽;以及响应于从所述反馈检测到的所述变化的条件,所述边缘设备基于改变所述web页面的至少第一部分来动态地将web页面优化成经优化的web页面以用于客户端设备对web页面的经优化的渲染。
附图说明
参考了附图,其中具有相同的参考字符标示的要素在全文中代表相同的要素,其中:
图1示出根据示例实施例的具有边缘设备的示例系统,边缘设备被配置为向客户端设备提供特定于客户端的web页面渲染的优化;
图2示出根据示例实施例的图1的边缘设备的示例实现;
图3示出根据示例实施例的方法,该方法总结可被图1的边缘设备实施的示例优化操作;
图4示出根据示例实施例,在图3的方法中可由边缘设备实施的示例优化操作;
图5示出根据示例实施例的第一示例方法,该第一示例方法关于由图1的边缘设备针对客户端设备的web页面渲染进行的客户端专用优化;
图6示出根据示例实施例的第二示例方法,该第二示例方法关于由图1的边缘设备针对客户端设备的web页面渲染进行的客户端专用优化;
图7示出根据示例实施例的第三示例方法,该第三示例方法关于由图1的边缘设备针对客户端设备的web页面渲染对进行的客户端专用优化。
具体实施方式
概览
在一个实施例中,一种方法包括:由边缘网络中的边缘设备从客户端设备接收针对由网络服务器经由广域网提供的web页面的请求,边缘网络为客户端设备提供用于访问广域网的接入网络;由边缘设备检测影响客户端设备对web页面的渲染性能的规定的条件;边缘设备动态地将web页面优化到经优化的web页面以用于客户端设备对web页面的经优化的渲染。
示例实施例
特定实施例可以基于检测影响客户端设备对web页面的渲染性能的规定的条件来自动且动态地对客户端设备的web页面渲染进行优化。例如,特定实施例使得边缘服务器(在本文中称为“边缘设备”的机器中被实施)能够基于获得关于客户端设备和/或关于网络状况(该网络状况仅在邻近客户端设备所使用的接入网络(即,边缘网络)处可用)的信息来检测规定的条件。特定实施例可以基于修改web页面(包括web页面内的web页面元素)、基于所检测到的规定的条件来动态优化客户端设备的web页面渲染。
此外,特定实施例使得边缘设备能够持续监控客户端设备、网络状况(包括客户端设备的网络连接质量和/或提供web页面内容的(一个或多个)网络服务器的网络连接质量)、客户端设备的渲染性能等,以判定针对客户端设备的最适当的优化。此外,边缘设备可以从客户端设备接收关于客户端设备的渲染速度的“反馈”,使得边缘设备能够执行启发式多变量优化,该启发式多变量优化识别将被实施的最适当的优化操作,以便提供经优化的web页面用于客户端设备的web页面的经优化的渲染。因此,启发式多变量优化可以包括识别不应当被执行的优化,例如由于判定相关联的被引入的处理延迟将超过客户端设备的web页面的渲染性能,或者规定的优化操作将进一步恶化客户端设备的web页面的渲染性能。
因此,特定实施例相对于客户端设备的物理位置为web页面的渲染提供本地优化,同时确保本地优化不对web页面的渲染引入任何延迟。
图1示出根据实施例的具有边缘设备10的示例系统5,边缘设备10被配置为向客户端设备提供特定于客户端的web页面渲染的优化。装置(即,机器、边缘设备)10可以在边缘网络12中被实现,并且可以被配置为从客户端设备16接收针对web页面18(该web页面18由web服务器设备(即,机器)20经由广域网22提供)的请求。
根据示例实施例,包括边缘设备的边缘网络12可以被实现为“雾计算网络架构”或“雾计算”。雾计算网络架构12是高度虚拟化的平台,它在端设备16和云计算数据中心(例如,经由广域网定位的云计算数据中心)之间提供计算、存储和网络服务。例如,雾计算网络架构12可以包括分布式存储设备24,用于存储被缓存的web内容、被存储的用于内容递送系统的流媒体的媒体等。分布式存储设备24可以被实现为物理机内能够执行多种虚拟化服务(例如,虚拟化计算、存储和网络服务)的虚拟化存储服务器。术语“雾”指通常与云计算相关联的虚拟化计算、存储和网络服务,不同之处在于雾计算网络架构12更靠近客户端设备16,类似于雾是接近地面的云。边缘设备10可以被实现为用户端处的无线路由器、轻型接入点(LWAPP)控制器、层4到层7交换机、服务提供商边缘交换机、加利福尼亚州圣何塞的CiscoSystem市售的Cisco Content Delivery System(CDS)中的设备等。
雾计算在边缘网络12中的部署还使得边缘设备10能够从客户端设备16获得实时连接和性能信息,客户端设备16通过使用有线或无线数据网络协议(包括层2媒体接入控制(MAC)地址和链路数据、互联网协议(IP)地址和性能数据、唯一地向无线接入点标识客户端设备的会话标识符等)支持无线接入。雾计算在边缘网络12中的部署还使得边缘设备10(或者边缘网络12中其它相关联的边缘设备)能够监控数据连接的变化(例如由于客户端设备16的漫游、客户端设备16改变物理层收发机等)。边缘设备10还可以从客户端设备请求关于客户端设备16的性能的信息,包括客户端设备16渲染web页面的时间(HTTP页面加载时间),如下面所描述的。
在一个示例中,考虑邻近接入点(AP)的无线客户端设备16c,并考虑边缘设备10判定没有网络拥塞。还考虑边缘设备10判定该客户端设备16c是具有大显示屏的PC/膝上型计算机。由于有足够的带宽来支持及时地传输web页面18和它的所有对象,边缘设备10中的处理器电路28可以推断没必要减小或压缩图形文件的大小,这种减小或压缩通常导致较低的分辨率。相反,如果边缘设备10中的处理器电路28识别出客户端设备16为具有小的显示屏幕(这种小的显示屏幕不能以令人满意的方式向用户显示高分辨率的图形(比如,在任何时间仅图形的一小部分可以被显示)的移动设备16a(比如,智能电话)),则边缘设备10可以减小显示分辨率。
现在考虑已经漫游到接收不良区域的无线PC/膝上型计算机设备16c,这导致接入点数据率的降低。还考虑这种信息被发送到为用户服务的边缘设备10。在这点上,为了及时向用户递送web页面和它的对象,边缘设备10可以选择向客户端设备16c发送分辨率较低的图形。因此,边缘设备10可以在网络条件不利(比如,网络拥塞或无线接收不良)时消除用户对被缓慢下载的图形的等待。
因此,边缘设备10可以基于与客户端设备16相关联的条件(包括改善的或恶化的数据网络连接、基于网络的流量拥塞等)检测所有的服务质量(QoS)。边缘设备10还可以检测类似的、与从web服务器20(或提供web页面的不同对象的多个web服务器)接收HTML web页面和相关联的web对象相关联的基于网络的QoS条件。因此,边缘设备10检测到的所有的基于网络的条件可以被用于为特定的客户端设备16提供定制的经优化的web页面18’。
虽然客户端设备可以包括有线或无线客户端设备16(比如,智能电话16a、无线智能平板16b、无线膝上型计算机16c、有线计算机等),但是边缘网络12也可以为其它的基于传感器的设备(比如,嵌入式系统和传感器、传感器感知车辆、传感器感知机器人、一般被称为“物联网”的其它传感器感知机器等)提供雾计算服务。
图2示出根据示例实施例的图1的边缘设备10的示例实现方式。边缘网络12中的每个边缘设备10可以包括网络接口电路26、处理器电路28和非暂态有形存储器电路30。边缘设备10中的处理器电路28被配置为检测可以影响客户端设备16的web页面18的渲染性能(例如,加强客户端设备16的渲染性能或降低客户端设备的渲染性能)的规定的条件。规定的条件可以包括以下至少任意一种:与边缘网络12相关联的网络拥塞、客户端设备类型(比如,有线台式计算机、有线或无线膝上型计算机、无线移动电话或具有瘦客户端浏览器的无线平板等)或客户端设备渲染性能(比如,判定客户端设备是否正遭受对web页面渲染产生不利影响的降低的性能)。存储器电路30可以被配置为存储(例如缓存)先前被该客户端设备16(比如,16a)或另一客户端设备(比如,16b)请求的web页面18。
如下面所进一步描述的,边缘设备10中的处理器电路28可以动态地将web页面18优化成经优化的web页面18’,用于客户端设备16的web页面的经优化的渲染。边缘设备10的动态优化的示例可以包括下列至少一种:将web页面所需要的多个样式表合并成单个样式表文件,并将单个样式表文件而不是多个样式表传送到客户端设备;将web页面所需要的多个样式表图像合并成单个图像,并将单个图像而不是多个样式表图像传送到客户端设备;向web页面中的一个或多个嵌入式对象分配过期标头(expiration header)以减少客户端设备对这些嵌入式对象的请求;或减小web页面中web对象的大小。Web对象指web页面上的对象,尤其是图形文件或图形对象,但除了图形文件或图形对象之外其它web对象也可以驻留于web页面上。此外,被边缘设备10修改的web页面和/或web对象可以被缓存(或被保存)在边缘设备的存储器电路中。
边缘设备10和边缘网络12可以用不同的形式来实现,例如包括无线接入点的无线接入网络,其中边缘设备10可以被实现为有线控制器,该有线控制器根据规定的数据链路层协议(比如,轻型接入点协议(LWAPP))对无线接入点进行控制。
装置10的任何公开的电路(包括处理器电路、存储器电路和设备接口电路(以及它们的相关联的组件))可以以多种形式被实现。所公开的电路的示例实现方式包括硬件逻辑,硬件逻辑由逻辑阵列(比如,可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA))实现,或者由集成电路的掩膜编程(比如,专用集成电路(ASIC))实现。这些电路中的任何电路还可以通过使用基于软件的可执行资源来实现,以及通过使用一个或多个集成电路来实现,基于软件的可执行资源由相应的内部处理器电路(比如,微处理器电路(未示出))执行,其中存储在内部存储器电路(比如,在存储器电路内)中的可执行代码的执行使得(一个或多个)集成电路实现处理器电路以将应用状态变量存储在处理器存储器中、创建执行本申请所述电路的操作的可执行的应用资源(比如,应用实例)。因此,本说明书中使用的术语“电路”既指的基于硬件的电路,也指基于软件的电路,基于硬件的电路使用一个或多个集成电路来实现,并包括用于执行所描述的操作的逻辑,基于软件的电路包括处理器电路(使用一个或多个集成电路被实现),处理器电路包括处理器存储器的保留部分,用于存储通过处理器电路执行可执行代码而修改的应用状态数据和应用变量。存储器电路例如可以使用非易失性存储器(比如,可编程只读存储器(PROM)或EPROM)和/或易失性存储器(比如,DRAM等)来实现。
此外,对“输出消息”或“输出分组”(或类似的)的任何引用可以基于以数据结构的形式创建消息/分组并将该数据结构存储在所公开的装置中的有形存储器介质中(比如,在传送缓冲器中)而被实现。对“输出消息”或“输出分组”(或类似的)的任何引用还可以包括经由通信介质(比如,有线或无线链路,视情况而定)(光传输也可以被使用,视情况而定)将存储在有形存储器介质中的消息/分组以电的方式传送(比如,经由有线电流或无线电场,视情况而定)到另一网络节点。类似地,对“接收消息”或“接收分组”(或类似的)的任何引用可以基于所公开的装置检测消息/分组在通信介质上的电(或光)传输并将所检测到的传输作为数据结构存储在所公开的装置中的有形存储器介质中(比如,在接收缓冲器中)而被实现。还应注意的是,存储器电路可以(例如)基于处理器电路实施的存储器地址分配和划分而被处理器电路动态地实现。
图3示出根据示例实施例的方法,该方法总结可被图1的边缘设备实施的示例优化操作。关于图1-图7中的任一图所描述的操作可以被实现为存储在计算机或机器可读非暂态有形存储介质(比如,软盘、硬盘、ROM、EPROM、EEPROM、非易失性RAM、CD-ROM等)中的机器可执行的代码,这些操作基于使用一个或多个集成电路实现的处理器电路对代码的执行被完成;本文所描述的操作还可以被实现为被编码在一个或多个非暂态有形介质(比如,可编程逻辑阵列或器件、现场可编程门阵列、可编程阵列逻辑、专用集成电路等)中以被机器或设备执行的可执行逻辑。
参考图3,在操作40中,边缘设备10的网络接口电路26被配置为从客户端设备16接收针对由一个或多个web服务器20经由广域网22提供的web页面18的web请求14。如先前关于图1所描述的,边缘设备10是边缘网络12的一部分,该边缘网络12为客户端设备16提供用于访问广域网22的接入网络。在操作42中,边缘设备10的处理器电路28判定所请求的web页面18以及所有相关联的web对象是否已经被缓存在边缘网络12的本地:在一个实施例中,被缓存的web页面可以被存储在相应的存储器电路30中;在另一实施例中,被缓存的web页面被存储在与雾计算架构12相关联的分布式存储设备24中。
如果在操作42中处理器电路28判定所请求的web页面18没有被缓存在本地,则在操作44中处理器电路28例如可以根据HTTP协议经由广域网22向web服务器20发送web请求。边缘设备10的处理器电路28还可以作为代表客户端设备16的代理,并从初始web请求14或web服务器20提供的web页面18中所指定的多个目的地检索web对象。在操作44中,处理器电路20还可以判定所请求的web页面的任何web对象是否在之前被接收并被存储在本地缓存(比如,存储器电路30或存储节点24)中。术语“web对象”指web页面18的任何组件,包括web页面图像(比如,BMP、JPG、JPEG、PNG、TIF等)、媒体文件(比如,MP3、MP4等)、Javascript元素、级联样式表(CSS)元素等。
如果在操作44中处理器电路28判定针对所请求的web页面18没有web对象在之前被接收,则在操作46中,如果处理器电路28判定没有足够的信息来判定如何针对客户端设备16优化web页面18,处理器电路28可以使得新接收的web页面18被“原样”(即,没有任何修改)输出到客户端设备16,下面被进一步详细描述。处理器电路20还可以将新接收的web页面18和相关联的web对象缓存在本地(比如,在存储器电路30和/或存储设备24内),并响应于随后的相关请求对所接收的web页面18和相关联的web对象进行分析以进行可能的优化。
假设在操作44中处理器电路28判定所请求的web页面18内的web对象中的至少一些在先前被接收并被缓存在边缘网络12内,并且如果处理器电路28判定优化将不会延迟客户端设备16中浏览器的整体渲染性能(如客户端设备的用户所经历的),则在操作48中处理器电路28可以基于应用优化规则(下面被描述)实施多变量优化,以相对于操作46中所分析的web对象的先前被分析的部分对新接收的web对象进行优化。因此,处理器电路28可以至少基于与新接收的web页面18相关联的先前被缓存的web对象的优化,生成并向客户端设备18输出经优化的web页面18’用于客户端设备16的经优化的渲染。处理器电路28还可以缓存web页面并执行对这一个web页面18的分析以用于随后的请求。如先前所描述的,如果处理器电路28判定优化将延迟渲染性能,则处理器电路20还可以决定“原样”输出web页面18。
参考图3的操作42,如果处理器电路28根据web请求14判定所请求的web页面和所有相关联的web对象已经被缓存在本地(比如,在存储器电路30和/或存储设备24内),则在操作50中处理器电路28可以基于可从本地得到的参数(例如,客户端设备连接质量、web服务器设备连接质量(例如,到web服务器20的跳数、整个web服务器20的性能吞吐量等)、客户端设备能力(比如,用户代理标识符,包括浏览器类型和版本、处理器类型和版本的用户设备类型标识符等))实施启发式多变量优化。如下面所描述的,处理器电路28还可以基于用户活动(例如,基于用户重复地访问相同或相似的网站)执行优化。
图4示出根据示例实施例的示例优化操作,该示例优化操作在执行图3的优化操作时被边缘设备10的处理器电路28实施。特别地,处理器电路28(作为它的多变量优化的一部分)根据当前基于网络的状况、web页面属性和客户端设备属性来判定某些优化操作是否将导致渲染性能的改善。可以被处理器电路28执行的示例优化操作可以包括最小化超文本传输协议(HTTP)请求52、减小或最小化web页面18内的web对象的大小(操作54)和/或重组web页面组成(操作56)。
HTTP请求的最小化(操作52)用于减小经由广域网22的路由遍历和响应的次数,由于具有更大数量的HTTP请求的web页面将需要更多的网络往返,从而导致客户端设备16的web页面的渲染或执行更慢。Web页面通常可以发起针对图像、样式表(比如,级联的样式表(CSS))和/或脚本文件(比如,JavaScript元素)的附加的HTTP请求。
因此,如果web页面18需要多个样式表,可以被处理器电路28应用的一种示例优化是将多个样式表合并成一个样式表文件,随后将样式表文件传送到客户端设备16。如下面所描述的,单个样式表文件可以被嵌入在经优化的web页面18’内或者作为不同于经优化的web页面18’的单独的文件被提供。类似地,可以被处理器电路28应用的另一种优化是将多个JavaScript元素合并成单个JavaScript元素,该单个JavaScript元素可以被嵌入(内嵌)到经优化的web页面18’中或者作为不同于经优化的web页面18’的单独的文件被发送。在web页面元素(比如,CSS或者JavaScript元素)作为单独的文件被发送的情况下,被处理器电路28生成的经优化的web页面18’可以包括对这个单独的文件的引用。因此,客户端设备16内对单独的文件的存储和缓存可以使得客户端设备16能够利用同一被缓存的文件(包含CSS或者JavaScript元素)用于利用同一CSS或者JavaScript元素的多个web页面。
在操作52中最小化HTTP请求的另一示例可以包括嵌入HTTP响应的内容(比如,内嵌的图像)而不是嵌入存在于原始web页面18内的URL。最小化HTTP请求的另一示例可以包括修改web页面18,使得所有被嵌入的对象具有相关联的过期标头,该相关联的过期标头阻止客户端设备16中执行的客户端浏览器过早地请求对于相关联的web页面来说仍然“新鲜”的web对象;在一个实施例中,过期时间可以根据边缘设备10和/或存储节点24内设置的缓存过期规则被设置。最小化HTTP请求的另一示例可以包括将web页面18内的任何重定向HTTP链接替换为原始内容和/或原始完整的统一资源标识符/定位符(URI/URL)。
边缘设备10内的处理器电路28还可以(例如)基于网络连接质量、设备类型等减小或最小化web对象的大小(操作54),其中较低分辨率的图像可以被发送到智能蜂窝电话16a,较高分辨率的图像可以被发送到智能平板16b或膝上型计算机显示屏16c。例如,处理器电路28可以对将被发送到客户端设备16的所有的HTML、脚本和样式表文件应用压缩(比如,gzip),并在HTTP响应内容编码字段内标识压缩方法。处理器电路28还可以执行缩小以从JavaScript元素或CSS代码中移除不必要的字符(比如,非可执行的注释、空格字符、“空白”等)。处理器电路20还可以执行模糊处理(obfuscation),例如减小JavaScript元素内的符号名的长度(也被称为“munge”)。处理器电路28还可以(例如)基于执行减小大小/分辨率的操作、压缩或从图形文件移除元数据、优化GIF动画、生成渐进JPEG图像等来优化图形文件(比如,BMP、JPG、PNG等)。
边缘设备10内的处理器电路28还可以重组web页面组成(操作56)来改变客户端设备执行的顺序。特别地,web页面18内的各种组件的位置可以显著地影响web页面18被客户端设备16内的浏览器执行的速度(即,浏览器对web页面18进行渲染所需要的时间)。例如,处理器电路28可以将样式表(比如,CSS)重新放置到HTML web页面18的顶部,以使得客户端设备16执行的浏览器能够进行渐进式渲染。处理器电路28还可以将脚本重新放置在HTMLweb页面18的底部,以使得客户端设备16中执行浏览器能够执行并行下载。处理器电路28还可以将JavaScript或者样式表元素内联地放置在HTML web页面18’内,或者外部地放置在被修改的web页面18’所引用的单独的文件内(例如如果多个被访问的web页面共享共同的样式表或脚本。)
优化规则常常具有代表各种折衷的参数。在使用客户端设备16时了解用户的浏览行为可以有助于动态选择最佳参数。这样的示例是处理器电路28决定将JavaScript和CSS元素移动到web页面18’的内部还是外部。如上面所讨论的,内联JS或CSS元素的优点是HTTP请求被最小化;然而,如果被存储在外部文件中,则在另一web页面包含相同的JS或CSS的情况下,被客户端设备16执行的浏览器可以缓存并重用JS或CSS元素。特别地,承载多个web页面的网站域名通常使用统一的主题或风格,使得来自该网站域名的web页面通常共享共同的CSS和JS元素。
因此,如果会话期间用户对于同一网站的页面浏览数高并且网站在它的web页面之间具有共同的JS和CSS,则通过将共同的JS和CSS元素移动到外部文件中以被客户端设备16中的浏览器缓存可以改善性能。然而,确定用户正在访问的是什么网站所存在的一个问题是如何识别每个用户。网站所采用的一种公知的方法是通过cookie跟踪每个用户;然而,为了节省HTTP请求的大小,cookie几乎从来不出现在静态页面中。因此,依赖于cookie来对请求静态页面的用户进行跟踪是不可行的。
跟踪用户的另一种方法是由网络服务器经由客户端设备16的IP地址来对其进行跟踪。然而,如果客户端设备6属于防火墙后面的网络,则用户将与来自该网络的、请求相同页面的任何其它用户具有相同的IP地址。因此,传统系统中的这种跟踪方法将是不可靠的。
根据示例实施例,雾架构12中的边缘服务器10的使用提供的优点是边缘设备10所属的网络与客户端设备16相同。因此,边缘设备10可以基于相应的(唯一的)MAC地址获得关于每个客户端设备16的知识,和/或可以经由每个客户端设备16的相应的(唯一的)本地IP地址(或由相关联的提供到客户端设备16的无线连接的无线接入点建立的相应的会话标识符)观察每个相应的客户端设备16的行为。
图5示出根据示例实施例的示例方法,该示例方法关于由图1的边缘设备10针对客户端设备的web页面渲染进行的客户端专用优化。图5示出的示例中,在操作60中边缘设备可以监控无线连接到边缘设备10的大显示屏客户端设备16c(例如,具有无线连接的膝上型计算机或台式计算机)的web页面会话。在操作62中,边缘网络设备10可以依靠(例如)描述数据链路的质量的物理层(层1)、数据链路层(层2)或网络层(层3)参数来监控与客户端设备16的无线连接;可替代地,边缘设备10的网络接口电路26和客户端设备16中相应的网络接口电路可以交换描述网络连接质量的参数;其它更高层的参数(例如,往返延迟参数等)也可以被使用。在操作64中,如果处理器电路28判定客户端设备16所使用的无线数据信道有利于高数据率,则在操作66中,作为web页面18的优化的一部分,处理器电路28可以以较高的分辨率向客户端设备16发送web页面对象,同时在操作68中继续监控无线信道,直到web页面会话传输完成。
在操作64中,如果处理器电路28判定客户端设备16所使用的无线数据信道不利于高数据率,则在操作70中,处理器电路28可以基于以较低的分辨率向客户端设备16发送web页面对象来执行优化。从以上可以看出,处理器电路28可以响应于在操作64中动态检测无线数据信道特性变化来动态改变web页面对象的分辨率。
图6示出根据示例实施例的示例方法,该示例方法关于由图1的边缘设备针对客户端设备的web页面渲染进行的客户端专用优化。如先前所描述的,基于在操作80中经由客户端设备16的相应的本地IP地址或MAC地址标识用户,边缘设备10的处理器电路28(作为雾架构12的一部分)可以跟踪每个用户的网站请求14。因此,在操作82中,如果被跟踪的用户请求来自同一网站的多于N个web页面(其中N是可调参数(比如,N=2)),则处理器电路28可以识别出该用户正在搜索共同网站域下的web页面,并且可以在用户的浏览器可以缓存共同的CSS或JS文件的情况下受益。因此,在操作84中,处理器电路可以判定:针对所标识的用户,来自所标识的网站域的web页面可以使得它们的CSS或JS在外部被发送,作为响应,针对来自被标识的域的所有的web页面将CSS元素和JavaScript元素作为单独的数据文件发送到客户端设备16,该单独的数据文件在每个被优化的web页面18’中被引用。在操作82中,如果用户没有请求来自所标识的web域的足够数量的web页面,则在操作85中,边缘设备10的处理器电路28可以针对该域发送CSS和JavaScript元素作为网页的内联元素,并在操作86中更新向所标识的web域提出的请求14的数量。
雾架构12的附加的优点在于,边缘设备10可以判定客户端设备16执行的浏览器的渲染速度。处理器电路28可以将代码片段嵌入HTML或脚本文件,使得在浏览器已经渲染到文件的该点(即,位置)时,它向网络服务器发送反馈消息。通过策略性地放置这些代码片段,边缘设备中的处理器电路28可以测量用户的浏览器加载web页面18或18’的速度。
图7示出根据示例实施例的示例方法,该方法关于基于来自客户端设备16的反馈对web页面18进行优化。接收到关于用户的web页面渲染速度的精确反馈使得处理器电路28能够更动态地自定义针对每个用户的优化,并对经由上述规则所取得的结果进行微调。例如,在操作92中,假设边缘设备10已经判定用户具有大屏幕设备并且具有足够的网络带宽用于更大和更高分辨率的图形文件。如先前所描述的,边缘设备10可以发送这种web页面,并期望用户的浏览器及时地对它们进行渲染。此外,在操作94中,边缘设备10可以将代码嵌入到web页面中以测量用户的浏览器的渲染速度。特别地,对需要更多处理的组件(比如,脚本或大图形文件)进行检查。在操作96中,边缘设备可以监控反馈信息。
在操作98中,如果从客户端设备16返回的反馈指示浏览器正在缓慢(比如,执行时间超过规定的或启发式判定的时间间隔)显示或执行这些组件,则这可能表明用户的设备可能电量或其它资源较少(比如,如果用户打开许多应用,从而用完了设备的存储器和计算资源,或者如果用户当前被客户端设备16执行的应用对客户端设备16的处理资源要求更多)。响应于该反馈,在随后的web页面请求中,尽管事实是网络中有足够的带宽,客户端设备16中的处理器电路28也可以选择在操作100中发送更小、更低分辨率的图形文件,从而最小化客户端设备16上的计算成本,加快web页面的渲染。
在操作104中,边缘设备10可以继续监控来自客户端设备16的反馈消息并判定浏览器的渲染速度是否正在提高,此时边缘设备10可以前进到在操作102中再次发送更大、更高分辨率的图形文件。
根据示例实施例,基于使用客户端设备参数和仅在边缘网络中可检测到的边缘网络参数来确定启发式多变量优化,边缘网络12中的边缘设备可以优化客户端设备的web页面的渲染。基于用户条件(例如,网络状态和客户端设备的计算负载),优化还可以被动态更新和调整,以基于边缘网络的具体情况得到加强的优化。因此,边缘设备10可以使用web服务器或内容数据网络不可用的参数来动态优化客户端设备的web页面的渲染。
虽然本公开的示例实施例已经结合目前被认为是实现所附权利要求中指定的主题的最佳模式被描述,但是应当理解的是,这些示例实施例仅是说明性的,并且不限制所附权利要求中指定的主题。
Claims (20)
1.一种用于边缘设备的方法,包括:
由边缘网络中的边缘设备从客户端设备接收针对由web服务器经由广域网提供的web页面的请求,所述边缘网络为所述客户端设备提供用于访问所述广域网的接入网络连接;
由所述边缘设备经由所述广域网和所述边缘网络接收所述web页面;
在传送至所述客户端设备之前,由所述边缘设备在所述web页面中插入可执行代码以用于获得测量所述客户端设备对所述web页面的至少第一部分的渲染性能的反馈;
由所述边缘设备从所述客户端设备接收测量所述客户端设备对所述web页面的至少第一部分的渲染性能的所述反馈;
由所述边缘设备从所述反馈检测指示所述客户端设备对所述web页面的至少第一部分的渲染性能的恶化执行时间的变化的条件,其中渲染性能的恶化执行时间取决于所述边缘网络中能用于所述客户端设备的带宽;以及
响应于从所述反馈检测到的所述变化的条件,所述边缘设备基于改变所述web页面的至少第一部分来动态地将web页面优化成经优化的web页面以用于客户端设备对web页面的经优化的渲染。
2.如权利要求1所述的方法,其中,所述动态地优化是基于使用经优化的渲染改善渲染性能,所述方法还包括选择性地避免下述优化操作:这些优化操作会引入超过所述客户端设备对所述web页面的渲染性能的处理延迟。
3.如权利要求1所述的方法,其中,所述变化的条件降低渲染性能,并至少包括与web服务器或客户端设备中的至少一种以及所述边缘设备相关联的所检测到的网络连接质量或所检测的客户端设备渲染性能中的任何一种。
4.如权利要求1所述的方法,其中,所述变化的条件包括第一连接类型和第二连接类型之一,所述第一连接类型降低所检测的网络连接质量并恶化所述渲染性能,所述第二连接类型提高所检测的网络连接质量并改善所述渲染性能。
5.如权利要求4所述的方法,其中,所述动态地优化包括以下两者的其中一者:响应于检测所述第一连接类型对所述web页面进行优化以改善渲染性能,响应于检测所述第二连接类型对所述web页面进行优化以提供加强的web页面元素。
6.如权利要求1所述的方法,其中,所述动态地优化包括以下多者中的至少一者:
将所述web页面需要的多个样式表合并成单个样式表文件,并将所述单个样式表文件而不是所述多个样式表发送到所述客户端设备;
将所述web页面所需要的多个样式表图像合并成单个图像,并将所述单个图像而不是所述多个样式表图像发送到所述客户端设备;
向所述web页面中的一个或多个被嵌入的对象分配过期标头以减少客户端设备对所嵌入的对象的请求;或者
减小所述web页面中web对象的大小。
7.如权利要求6所述的方法,其中,所述动态地优化包括将web元素从所述web页面移动到文件中,所述文件不同于所述经优化的web页面,所述经优化的web页面不包含所移动的web元素并且需要所述客户端设备访问所述文件以进行所述经优化的web页面的渲染。
8.如权利要求1所述的方法,其中,所述动态地优化包括动态地优化被缓存在本地的所述web页面的副本,所述web页面已经从所述web服务器被第二客户端设备经由所述边缘设备请求。
9.一种边缘设备的装置,包括:
网络接口电路,所述网络接口电路被配置为从客户端设备接收请求,所述请求针对由web服务器经由广域网提供的web页面,所述装置在为所述客户端设备提供用于访问所述广域网的接入网络连接的边缘网络内,所述网络接口电路还被配置为经由所述广域网和所述边缘网络接收所述web页面;
处理器电路,所述处理器电路被配置为:
在传送至所述客户端设备之前,在所述web页面中插入可执行代码以用于获得测量所述客户端设备对所述web页面的至少第一部分的渲染性能的反馈;
从所述客户端设备接收测量所述客户端设备对所述web页面的至少第一部分的渲染性能的所述反馈,
从所述反馈检测指示所述客户端设备对所述web页面的至少第一部分的渲染性能的恶化执行时间的变化的条件,其中渲染性能的恶化执行时间取决于所述边缘网络中能用于所述客户端设备的带宽,以及
响应于从所述反馈检测到的所述变化的条件,基于改变所述web页面的至少第一部分来动态地将web页面优化成经优化的web页面以用于客户端设备对web页面的经优化的渲染。
10.如权利要求9所述的装置,其中,所述处理器电路被配置为基于选择性地避免下述优化操作来动态地对所述web页面进行优化:这些优化操作会引入超过所述客户端设备对所述web页面的渲染性能的处理延迟。
11.如权利要求9所述的装置,其中,所述处理器电路还被配置为对下述情形进行检测:所述变化的条件降低渲染性能,并至少包括以下任何一种:所检测到的与web服务器或客户端设备中的至少一种以及所述边缘网络相关联的网络连接质量或所检测的客户端设备渲染性能。
12.如权利要求9所述的装置,其中,所述处理器电路还被配置为对下述情形进行检测:所述变化的条件包括第一连接类型和第二连接类型中的一种,所述第一连接类型降低所检测的网络连接质量并恶化所述渲染性能,所述第二连接类型提高所检测的网络连接质量并改善所述渲染性能。
13.如权利要求12所述的装置,其中,所述处理器电路还被配置为基于以下两者中的其中一者实施所述动态地优化:响应于检测所述第一连接类型对所述web页面进行优化以改善所述渲染性能,响应于检测所述第二连接类型对所述web页面进行优化以提供加强的web页面元素。
14.如权利要求9所述的装置,其中,所述处理器电路被配置为基于以下多者中的至少一者对所述web页面动态地进行优化:
将所述web页面需要的多个样式表合并成单个样式表文件,并使得将所述单个样式表文件而不是所述多个样式表发送到所述客户端设备;
将所述web页面需要的多个样式表图像合并成单个图像,并使得将所述单个图像而不是所述多个样式表图像发送到所述客户端设备;
向所述web页面中的一个或多个被嵌入的对象分配过期标头以减少客户端设备对所嵌入的对象的请求;或者
减小所述web页面中web对象的大小。
15.如权利要求14所述的装置,其中,所述处理器电路被配置为基于将web元素从所述web页面移动到文件中来动态地对所述web页面进行优化,所述文件不同于所述经优化的web页面,所述经优化的web页面不包含所移动的web元素并且需要所述客户端设备访问所述文件以进行所述经优化的web页面的渲染。
16.如权利要求9所述的装置,其中,所述处理器电路被配置为基于动态地优化被缓存在本地的所述web页面的副本来动态地优化所述web页面,所述web页面已经从所述web服务器被第二客户端设备经由所述边缘设备请求。
17.一种非暂态有形介质,其上存储有用于执行的计算机可读指令,所述指令被机器执行,可操作来执行以下操作:
由在边缘网络中起到边缘设备作用的机器从客户端设备接收针对由web服务器经由广域网提供的web页面的请求,所述边缘网络为所述客户端设备提供用于访问所述广域网的接入网络连接;
由所述边缘设备经由所述广域网和所述边缘网络接收所述web页面;
在传送至所述客户端设备之前,由所述边缘设备在所述web页面中插入可执行代码以用于获得测量所述客户端设备对所述web页面的至少第一部分的渲染性能的反馈;
由所述边缘设备从所述客户端设备接收测量所述客户端设备对所述web页面的至少第一部分的渲染性能的所述反馈;
由所述边缘设备从所述反馈检测指示所述客户端设备对所述web页面的至少第一部分的渲染性能的恶化执行时间的变化的条件,其中渲染性能的恶化执行时间取决于所述边缘网络中能用于所述客户端设备的带宽;以及
响应于从所述反馈检测到的所述变化的条件,所述边缘设备基于改变所述web页面的至少第一部分来动态地将web页面优化成经优化的web页面以用于客户端设备对web页面的经优化的渲染。
18.如权利要求17所述的非暂态有形介质,其中,所述动态地优化包括以下多者中的至少一者:
将所述web页面需要的多个样式表合并成单个样式表文件,并将所述单个样式表文件而不是所述多个样式表发送到所述客户端设备;
将所述web页面所需要的多个样式表图像合并成单个图像,并将所述单个图像而不是所述多个样式表图像发送到所述客户端设备;
向所述web页面中的一个或多个被嵌入的对象分配过期标头以减少客户端设备对所嵌入的对象的请求;或者
减小所述web页面中web对象的大小。
19.如权利要求18所述的非暂态有形介质,其中,所述动态地优化包括将web元素从所述web页面移动到文件中,所述文件不同于所述经优化的web页面,所述经优化的web页面不包含所移动的web元素并且需要所述客户端设备访问所述文件以进行所述经优化的web页面的渲染。
20.如权利要求17所述的非暂态有形介质,其中,所述动态地优化包括动态地优化被缓存在本地的所述web页面的副本,所述web页面已经从所述web服务器被第二客户端设备经由所述边缘设备请求。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261726171P | 2012-11-14 | 2012-11-14 | |
US61/726,171 | 2012-11-14 | ||
US13/904,327 | 2013-05-29 | ||
US13/904,327 US20140136952A1 (en) | 2012-11-14 | 2013-05-29 | Improving web sites performance using edge servers in fog computing architecture |
PCT/US2013/069776 WO2014078339A1 (en) | 2012-11-14 | 2013-11-13 | Improving web sites performance using edge servers in fog computing architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104798071A CN104798071A (zh) | 2015-07-22 |
CN104798071B true CN104798071B (zh) | 2018-02-23 |
Family
ID=50682960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380059378.2A Active CN104798071B (zh) | 2012-11-14 | 2013-11-13 | 在雾计算架构中使用边缘服务器改善网站性能 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140136952A1 (zh) |
EP (1) | EP2920714B1 (zh) |
CN (1) | CN104798071B (zh) |
WO (1) | WO2014078339A1 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9706006B2 (en) * | 2011-07-19 | 2017-07-11 | Infosys Limited | System and method of context aware adaption of content for a mobile device |
WO2013038053A1 (en) * | 2011-09-14 | 2013-03-21 | Nokia Corporation | Method and apparatus for distributed script processing |
EP2808794A1 (en) * | 2013-05-30 | 2014-12-03 | Siemens Aktiengesellschaft | Rearranging a server response |
US10187319B1 (en) * | 2013-09-10 | 2019-01-22 | Instart Logic, Inc. | Automatic configuration generation for a proxy optimization server for optimizing the delivery of content of a web publisher |
US9477774B2 (en) * | 2013-09-25 | 2016-10-25 | Akamai Technologies, Inc. | Key resource prefetching using front-end optimization (FEO) configuration |
US20150095767A1 (en) * | 2013-10-02 | 2015-04-02 | Rachel Ebner | Automatic generation of mobile site layouts |
JP2015164018A (ja) * | 2014-02-28 | 2015-09-10 | 株式会社東芝 | コンテンツ提供装置、コンテンツ提供方法及びプログラム |
US10498663B2 (en) * | 2014-03-12 | 2019-12-03 | Amazon Technologies, Inc. | Profile-based cache management |
US9935866B2 (en) | 2014-06-27 | 2018-04-03 | Agora Lab, Inc. | Systems and methods for last mile optimization of transmission of real-time data |
US10680742B2 (en) | 2014-06-27 | 2020-06-09 | Agora Lab, Inc. | Systems and methods for improved communication packet delivery over a public network |
US20160226708A1 (en) * | 2015-01-30 | 2016-08-04 | Linkedin Corporation | Assigning client devices to point-of-presence centers |
US10706119B1 (en) * | 2015-04-30 | 2020-07-07 | Tensera Networks Ltd. | Content prefetching to user devices based on rendering characteristics |
US9965451B2 (en) | 2015-06-09 | 2018-05-08 | International Business Machines Corporation | Optimization for rendering web pages |
EP3308487B1 (en) * | 2015-06-12 | 2020-08-05 | Agora Lab, Inc. | Systems and methods for improved communication packet delivery over a public network |
US11070608B2 (en) * | 2015-06-17 | 2021-07-20 | Fastly, Inc. | Expedited sub-resource loading |
US10554713B2 (en) | 2015-06-19 | 2020-02-04 | Microsoft Technology Licensing, Llc | Low latency application streaming using temporal frame transformation |
CN105306900A (zh) * | 2015-10-28 | 2016-02-03 | 贵州省邮电规划设计院有限公司 | 一种基于云计算的智能调度高清综合组网视频监控系统 |
CN105376182B (zh) * | 2015-11-30 | 2018-10-26 | 国网吉林省电力有限公司信息通信公司 | 一种电网资源管理与分配方法及系统 |
FR3045859B1 (fr) * | 2015-12-16 | 2017-12-22 | Commissariat Energie Atomique | Procede et dispositifs associes de formation d'un nuage informatique stockant le resultat de l'execution deportee d'une tache informatique |
CN105610944B (zh) * | 2015-12-29 | 2019-03-05 | 北京物联远信息技术有限公司 | 一种面向物联网的雾计算架构 |
US9954953B2 (en) * | 2016-02-11 | 2018-04-24 | International Business Machines Corporation | Distributed load processing using forecasted location-based internet of things device clusters |
US10341417B2 (en) * | 2016-03-23 | 2019-07-02 | Oath Inc. | Target webpage performance |
JP6982717B2 (ja) | 2016-03-25 | 2021-12-17 | ティーティーテック インダストリアル オートメーション アーゲー | フォグコンピューティング促進型フレキシブル工場 |
US10009222B2 (en) | 2016-03-30 | 2018-06-26 | International Business Machines Corporation | Input method engine management for edge services |
US10218566B2 (en) | 2016-03-30 | 2019-02-26 | International Business Machines Corporation | Proactive input method engine management for edge services based on crowdsourcing data |
ES2811915T3 (es) * | 2016-04-25 | 2021-03-15 | Huawei Tech Co Ltd | Servidor de borde y método de operar un servidor de borde |
US10628222B2 (en) | 2016-05-17 | 2020-04-21 | International Business Machines Corporation | Allocating compute offload resources |
CN106161628B (zh) * | 2016-07-13 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 拍摄文件上传方法及装置 |
CN106357743B (zh) * | 2016-08-29 | 2019-06-07 | 北京邮电大学 | 一种雾计算网络基于分级缓存的业务传输方法 |
US20180063020A1 (en) * | 2016-08-31 | 2018-03-01 | Nebbiolo Technologies, Inc. | Centrally managed time sensitive fog networks |
US10084868B2 (en) | 2016-09-03 | 2018-09-25 | Microsoft Technology Licensing, Llc | IoT gateway for weakly connected settings |
US10089716B2 (en) | 2016-09-03 | 2018-10-02 | Microsoft Technology Licensing, Llc | Generating real-time sensor maps from videos and in-ground sensor data |
WO2018049601A1 (zh) * | 2016-09-14 | 2018-03-22 | 深圳大学 | 一种面向雾计算的外包访问控制方法及其系统 |
US10798063B2 (en) | 2016-10-21 | 2020-10-06 | Nebbiolo Technologies, Inc. | Enterprise grade security for integrating multiple domains with a public cloud |
CN106548646B (zh) * | 2016-11-08 | 2019-03-26 | 西安电子科技大学宁波信息技术研究院 | 基于雾计算的城市堵车时道路信息服务系统及方法 |
US10382264B2 (en) | 2016-12-15 | 2019-08-13 | International Business Machines Corporation | Fog computing for machine translation |
US10536341B2 (en) | 2017-03-01 | 2020-01-14 | Cisco Technology, Inc. | Fog-based service function chaining |
US10979368B2 (en) | 2017-08-02 | 2021-04-13 | Nebbiolo Technologies, Inc. | Architecture for converged industrial control and real time applications |
US10897516B2 (en) | 2017-11-15 | 2021-01-19 | Cisco Technology, Inc. | Application buffering of packets by fog computing node for deterministic network transport |
CN108577849A (zh) * | 2017-12-15 | 2018-09-28 | 华东师范大学 | 一种基于雾计算模型的生理机能检测方法 |
US10715633B2 (en) | 2018-01-10 | 2020-07-14 | Cisco Technology, Inc. | Maintaining reachability of apps moving between fog and cloud using duplicate endpoint identifiers |
CN108156267B (zh) * | 2018-03-22 | 2020-12-29 | 山东大学 | 一种雾计算架构中使用缓存改善网站访问时延的方法 |
US11271807B1 (en) * | 2019-03-14 | 2022-03-08 | Cox Communications, Inc. | Automated installation and configuration of virtual premised servers |
US10986173B1 (en) * | 2019-04-25 | 2021-04-20 | Edjx, Inc. | Systems and methods for locating server nodes for edge devices using latency-based georouting |
US10932195B1 (en) | 2019-09-18 | 2021-02-23 | Cisco Technology, Inc. | Parent device shadow execution for a sleeping low power and lossy network child network device |
CN110809185B (zh) * | 2019-10-22 | 2021-06-22 | 四川长虹电器股份有限公司 | 一种智能电视基于Web化视频预览的主页呈现方法 |
US11089083B1 (en) * | 2019-11-04 | 2021-08-10 | Edjx, Inc. | Systems and methods for locating microserver nodes in proximity to edge devices using georouting |
US11916995B1 (en) * | 2019-11-04 | 2024-02-27 | Edjx, Inc. | Systems and methods for locating microserver nodes in proximity to edge devices using georouting |
US11481259B2 (en) | 2020-01-07 | 2022-10-25 | International Business Machines Corporation | Distributing computation workloads based on calculated compute gravity within differing computing paradigms |
US11977830B2 (en) | 2022-09-13 | 2024-05-07 | International Business Machines Corporation | Demand-based deployment of font server to an edge device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778168A (zh) * | 2010-02-05 | 2010-07-14 | 中国电信股份有限公司 | 一种移动终端浏览器上网页优化显示方法和系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5918013A (en) * | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
US6243761B1 (en) * | 1998-03-26 | 2001-06-05 | Digital Equipment Corporation | Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server |
US7600014B2 (en) * | 2000-11-16 | 2009-10-06 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
US20020184363A1 (en) * | 2001-04-20 | 2002-12-05 | Steven Viavant | Techniques for server-controlled measurement of client-side performance |
US7275096B2 (en) * | 2001-09-20 | 2007-09-25 | Telelogic North America Inc. | Computerized system and method for web enabling and/or web management of embedded applications |
JP2008521100A (ja) * | 2004-11-17 | 2008-06-19 | ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア | ウェブページを生成するシステム及び方法 |
US8849985B1 (en) * | 2007-12-03 | 2014-09-30 | Appcelerator, Inc. | On-the-fly instrumentation of Web applications, Web-pages or Web-sites |
NZ566291A (en) * | 2008-02-27 | 2008-12-24 | Actionthis Ltd | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US20090300208A1 (en) * | 2008-06-02 | 2009-12-03 | Viasat, Inc. | Methods and systems for acceleration of mesh network configurations |
US8892720B2 (en) * | 2009-02-12 | 2014-11-18 | Arcsoft, Inc. | System and method for network optimization through predictive downloading |
US9549039B2 (en) * | 2010-05-28 | 2017-01-17 | Radware Ltd. | Accelerating HTTP responses in a client/server environment |
US20110029899A1 (en) * | 2009-08-03 | 2011-02-03 | FasterWeb, Ltd. | Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading |
US9208249B2 (en) * | 2009-09-30 | 2015-12-08 | Microsoft Technology Licensing, Llc | Profiler for page rendering |
CA2742059C (en) * | 2010-06-22 | 2019-10-29 | Blaze Software Inc. | Method and system for automated analysis and transformation of web pages |
US8938721B2 (en) * | 2010-07-21 | 2015-01-20 | Microsoft Corporation | Measuring actual end user performance and availability of web applications |
US8700027B2 (en) * | 2011-02-11 | 2014-04-15 | Alcatel Lucent | Method and apparatus for network analysis |
US8447851B1 (en) * | 2011-11-10 | 2013-05-21 | CopperEgg Corporation | System for monitoring elastic cloud-based computing systems as a service |
US8780909B2 (en) * | 2012-03-21 | 2014-07-15 | Cisco Technology, Inc. | System and method for modifying media protocol feedback loop based on mobile system information |
-
2013
- 2013-05-29 US US13/904,327 patent/US20140136952A1/en not_active Abandoned
- 2013-11-13 EP EP13802155.5A patent/EP2920714B1/en active Active
- 2013-11-13 CN CN201380059378.2A patent/CN104798071B/zh active Active
- 2013-11-13 WO PCT/US2013/069776 patent/WO2014078339A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778168A (zh) * | 2010-02-05 | 2010-07-14 | 中国电信股份有限公司 | 一种移动终端浏览器上网页优化显示方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20140136952A1 (en) | 2014-05-15 |
WO2014078339A1 (en) | 2014-05-22 |
EP2920714B1 (en) | 2019-02-20 |
EP2920714A1 (en) | 2015-09-23 |
CN104798071A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104798071B (zh) | 在雾计算架构中使用边缘服务器改善网站性能 | |
US10671691B2 (en) | Methods and apparatus for accelerating content authored for multiple devices | |
US10110695B1 (en) | Key resource prefetching using front-end optimization (FEO) configuration | |
US10387521B2 (en) | Creation and delivery of pre-rendered web pages for accelerated browsing | |
US10791201B2 (en) | Server initiated multipath content delivery | |
US10057324B2 (en) | Mechanism for distinguishing between content to be served through first or second delivery channels | |
US9817800B2 (en) | Method and apparatus for reducing page load time in communication system | |
CN103455478A (zh) | 加速网页访问的方法和装置 | |
CN107251524A (zh) | 管理预测预取内容的移动设备用户订购和服务偏好 | |
CN103220371A (zh) | 内容适配方法及系统 | |
CN102204324A (zh) | 提高移动互联网用户访问速度的方法及设备 | |
US20120054295A1 (en) | Method and apparatus for providing or acquiring the contents of a network resource for a mobile device | |
US20150006681A1 (en) | Mobile device and method for controlling transmission to web server in mobile device | |
US20140006918A1 (en) | Method and system for web page rearrangement | |
CN104348893B (zh) | 一种数据同步的方法及装置 | |
US9471552B1 (en) | Optimization of scripting for web applications | |
EP2850809B1 (en) | Providing data to a network terminal | |
CN103731396B (zh) | 资源访问方法、系统及缓存资源信息推送装置 | |
CN105656921A (zh) | 数据传输方法、装置及设备 | |
WO2014074109A1 (en) | Adaptive leveraging of network information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |