CN109937566B - 用于在联网环境中进行计算卸载的方法和装置 - Google Patents
用于在联网环境中进行计算卸载的方法和装置 Download PDFInfo
- Publication number
- CN109937566B CN109937566B CN201680088696.5A CN201680088696A CN109937566B CN 109937566 B CN109937566 B CN 109937566B CN 201680088696 A CN201680088696 A CN 201680088696A CN 109937566 B CN109937566 B CN 109937566B
- Authority
- CN
- China
- Prior art keywords
- web
- function
- offload
- request
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 181
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 239000000284 extract Substances 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 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/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了用于多目的地无线传输的方法和装置。示例方法包括:通过经由处理器执行指令,检测从计算设备接收的web请求中的卸载指示符,web请求由计算设备处对网页的处理触发;通过经由处理器执行指令,确定在web请求中标识的函数,函数被包括在网页中;通过经由处理器执行指令,从网页检索函数;以及响应于web请求将函数的执行的结果传送至计算设备。
Description
技术领域
本公开一般涉及联网环境中的计算设备,并且更具体地涉及用于在联网环境中进行计算卸载的方法和装置。
背景技术
计算卸载是将计算任务从一个设备转移到另一设备。例如,可在包括与更强大的计算设备通信地耦合的具有有限计算资源的计算设备的环境中利用计算卸载。例如,移动计算设备可将复杂函数的执行卸载到包括更强大的计算资源的服务器。
可在例如包括移动边缘计算服务器的环境中利用计算卸载。移动边缘计算是其中计算资源(例如,云计算服务器)位于无线网络(例如,蜂窝网络)的边缘(例如,在蜂窝基站中或靠近蜂窝基站)的网络架构。通过将计算资源移动到无线网络的边缘,在与传统的集中式联网架构相比时,等待时间和带宽问题得以减少。
附图说明
图1是示例环境的框图,其中示例卸载服务器执行用于示例用户设备的计算卸载。
图2是另一示例环境的框图,其中示例卸载服务器执行用于示例用户设备的计算卸载。
图3是图1的示例卸载服务器的示例实现的框图。
图4是示出示例用户设备、示例web服务器和示例卸载服务器之间的示例相互通信的示例消息图。
图5是表示可以被执行以实现图1、图2和/或3的示例卸载服务器的示例机器可读指令的流程图。
图6时表示可实现的示例机器可读指令的流程图。
图7是被构造成执行图6所标识的示例机器可读指令以实现图1、图2和/或图3的示例卸载服务器的示例处理器***的框图。
具体实施方式
典型的计算卸载架构利用专用工具箱和运行时环境来协调计算设备与卸载服务器的协作。此类工具箱和运行时环境可能不被所有设备支持,并且增加了计算开销和安装复杂性。
本文公开的示例方法和装置有助于在很少或没有计算设备的配置的情况下计算各种计算设备上的卸载。例如,用于使计算设备执行计算卸载的可执行指令能以由许多计算设备生来支持的web格式(例如,超文本标记语言5(HTML5))来分发。在一些示例中,可执行指令使计算设备动态地决定是否和/或何时将利用计算卸载。这种动态决策处理使计算设备能够决定何时进行计算卸载将是有利的(例如,当即使在计及网络通信等待时间时,卸载服务器将能够比计算设备更快地执行函数时)。
图1是示例环境100的框图,其中示例用户设备102经由示例网络104与示例web服务器106和示例卸载服务器108通信。
示例用户设备102是诸如智能电话之类的移动计算设备。替代地,用户设备102可以是任何类型的计算设备,诸如例如平板、膝上型计算机、台式计算机、服务器、物联网设备、微控制器等。
示例用户设备102包括用于经由示例网络104与示例web服务器106通信以在用户设备102处请求、检索和呈现网页的能力。例如,图1的用户设备102包括能够呈现网页并执行包含在网页内和/或以其他方式与网页相关联的可执行指令(例如,诸如JavaScript之类的脚本)的网络浏览器。
虽然图1中例示出单个示例用户设备102,但环境100可替代地包括任意数量的用户设备102。
示例网络104将示例用户设备102与示例web服务器106和示例卸载服务器108通信地耦合。所例示示例的网络104是因特网。附加地或替代地,网络104可包括任何数量和/或类型的网络(例如,广域网、局域网、无线网络、有线网络、蜂窝网络、公共网络、专用网络等)。
示例Web服务器106是基于超文本传输协议(HTTP)的网页服务器。示例web服务器106向示例用户设备102供应网页以在示例用户设备102上呈现。根据所例示的示例,由示例web服务器106服务的网页中的一些包括可执行指令(例如,可被包括在网页中和/或通过网页中的(诸)链接与网页相关联的JavaScript指令)。例如,当响应于检索网页而在用户设备102处执行时,示例可执行指令可以从用户设备102检索数据集并使用数据执行复杂计算。
根据所例示的示例,包括在示例web服务器106服务的网页中的可执行指令还包括如下指令,该指令在被执行时使示例用户设备102确定何时执行到示例卸载服务器108的计算卸载。例如,当在用户设备处执行时,指令可确定示例用户设备102的特性、示例用户设备102与示例卸载服务器之间的通信的特性、或者可被用于确定是否将利用计算卸载的任何其他特性。
示例卸载服务器108从示例用户设备102接收计算卸载的请求。根据所例示的示例,通过拦截被传送到示例web服务器106的web请求,在卸载服务器108处接收请求。根据所例示的示例,对卸载的web请求与标识示例web服务器106的目的地一起被传送,并且包括将请求标识为卸载请求的参数。例如,根据所例示的示例,web请求包括指示卸载的统一资源指示符(URI)QUERY(查询)参数。例如,Web请求包含请求-URI:
http://www.sampleserver.com/content/webpage.htm?Offload_Function=<Function Tag>
示例1
***下一段中不平衡的括号
其中Offload_Function(卸载函数)指示请求是计算卸载请求,而<FunctionTag>(<函数标签>)由标识要执行的函数的标签替换。因此,示例卸载服务器108可针对包括计算卸载参数的请求监视网络并且拦截用于由卸载服务器108处理的请求。请求可被防止进一步到达示例web服务器106,可能到达示例web服务器106但是被示例web服务器106忽略等。
或者,示例卸载服务器108能以任何其他方式经由示例网络104接收计算卸载请求。例如,计算卸载请求可以被发送到示例web服务器106并且可以被重定向到示例卸载服务器108,示例用户设备102可以将计算卸载请求直接传送到示例卸载服务器108等。
示例卸载服务器108确定与请求计算卸载的函数相关联的网页的身份和位置。根据所例示的示例,从拦截的计算卸载请求确定网页的身份和位置。例如,根据示例1,网页是位于域sampleserver.com处的服务器上的目录内容中的文件webpage.htm。替代地,卸载服务器108能以任何其他方式确定网页的身份和/或位置(例如,从计算卸载请求的参数、通过向示例用户设备102发送查询、从由示例用户设备102请求的网页的日志等)。附加地或替代地,卸载服务器108可确定该函数被包括在除网页之外的文件中(例如,脚本文件、代码文件、JavaScript文件等)。
示例卸载服务器108检索由计算卸载请求标识的函数。例如,当函数与网页相关联时,示例卸载服务器108检索网页(例如,当卸载服务器108供应网页时从卸载服务器108的存储检索,当web服务器106供应网页时从web服务器106检索等))并从网页提取函数。
根据所例示的示例,卸载服务器108从示例用户设备102接收用于执行卸载函数的数据(例如,包括在计算卸载请求中的数据,与计算卸载请求相关联的数据等)。例如,计算卸载请求可以作为HTTP POST消息来传送,该HTTP POST消息包括存储在JavaScript对象记法(JSON)数据结构中的数据。例如,JSON数据结构可被格式化为
示例2
其中,对象名称表示在所卸载函数中定义的数据结构(例如,与原始网页中的名称相同的名称),而值名称表示在所卸载函数中定义的变量(例如,与原始网页中的名称相同的名称)。数据可附加地或替代地以另一格式来接收(例如,数字对象数据可在计算卸载请求之后作为原始数据来传送、数据可作为计算卸载请求的参数被***(例如,***到计算卸载请求的URI QUERY中)、数据由示例卸载服务器108从外部源检索等)。
示例卸载服务器108使用所接收的数据执行所检索的函数,并将结果传送回示例用户设备102。示例卸载服务器108在对计算卸载请求的HTTP响应中的JSON对象中将函数执行的结果传送至示例用户设备102。JSON对象可被构造为:
其中对象名称表示在所返回结果中定义的数据结构。例如,对象名称可具有与原始网页中的名称相同的名称。值名称表示在所返回结果中定义的变量。例如,值名称可具有与原始网页中的变量相同的名称。数据可附加地或替代地以另一格式来传送(例如,数字对象数据可在HTTP响应中作为原始数据来传送、数据可作为计算卸载请求的参数被***(例如,***到HTTP响应的URIQUERY中)等)。
图2是另一示例环境200的框图,其中示例卸载服务器108执行用于示例用户设备102的计算卸载。根据图2的所例示示例,示例用户设备102经由示例蜂窝塔202和示例基站204而通信地耦合至示例网络104和示例卸载服务器108。所例示示例的卸载服务器108是移动边缘计算(MEC)服务器。因此,示例用户设备102与示例卸载服务器108之间的通信不经过示例网络104,而示例web服务器106与示例用户设备102和/或示例卸载服务器108中的任一个或两者之间的通信经过示例网络104。如本文所使用的,MEC服务器是部署在由网络接入提供商操作的网络中以向用户设备提供网络接入的服务器。如本文所使用的,从用户设备到MEC的通信可在不经过公共通信网络(例如,因特网)的情况下被传送到MEC服务器。
示例蜂窝塔202和示例基站204形成和/或是蜂窝通信网络的一部分,用于促进与示例用户设备102的无线通信。可替代地使用任何类型的无线通信架构来实现示例蜂窝塔202和示例基站204。例如,蜂窝塔202和基站204可以由无线保真(wifi)接入点实现,该无线保真接入点包括包含示例卸载服务器108的局域网,使得示例卸载服务器108比示例web服务器106更靠近与示例用户设备102的通信的边缘。在一些示例中,卸载服务器108可位于不与示例用户设备102无线通信的网络边缘附近。例如,卸载服务器108可保持位于包括与示例用户设备102的有线通信的网络边缘附近的低等待时间优势。
在图1的示例环境100和/或图2的示例环境200的操作中,示例用户设备102从示例web服务器106检索网页。示例网页包括用于执行函数的指令(例如,用于执行复杂计算)。指令附加地指令示例用户设备102确定是否要执行计算卸载。例如,指令可指令示例用户设备102:确定到示例卸载服务器108的网络等待时间(例如,通过发送ping请求)、估计在示例用户设备102处执行示例函数所需的时间、估计在示例卸载服务器108处执行示例函数所需的时间、和/或可在确定是否要执行计算卸载时利用的任何其他因素。当示例用户设备102确定要执行计算卸载时,示例用户设备102将计算卸载请求传送到示例web服务器106(例如,发送对网页的请求(例如,类似于最初发送来检索网页的请求))并包括指示请求计算卸载并标识要卸载的函数的URIQUERY参数。示例卸载服务器108拦截指向示例web服务器106的示例计算卸载请求(例如,通过探听在示例网络104中发送的通信,通过探听示例基站204处的通信等)。示例卸载服务器108确定针对其请求了卸载的网页和函数,从示例web服务器106检索网页,并从网页提取函数。示例卸载服务器108确定包括在计算卸载请求中和/或与计算卸载请求相关联的函数的输入数据,并使用输入数据执行函数。示例卸载服务器108将函数执行的结果传送到示例用户设备102。示例用户设备102使用函数的执行结果来继续处理网页的指令。因此,函数执行被动态地卸载到示例卸载服务器108,并且用户设备102不需要执行该函数。或者,当示例用户设备102评估指令并确定将在用户设备处执行该函数时(例如,因为与卸载服务器108的通信的等待时间将超过在卸载服务器108处执行该函数的时间节省、因为卸载服务器不可用、因为用户设备102包括执行该函数所需的所有能力等),用户设备102不发送计算卸载请求,而是在用户设备102处执行该函数。
虽然图1和图2例示出示例web服务器106和示例卸载服务器108被实现为分开的设备的环境,但示例web服务器106和示例卸载服务器108的功能可被集成到单个设备中(例如,可以集成到示例Web服务器106和/或集成到示例卸载服务器108中)。例如,卸载服务器108可供应网页以及针对由示例卸载服务器108服务的网页中的函数来执行从示例用户设备102接收的卸载请求。附加地或替代地,web服务器106可被实现为MEC服务器或位于用户设备102附近的网络提供商的网络内的其他类型的服务器。
图3是图1的示例卸载服务器108的示例实现的框图。图3的示例卸载服务器108包括:示例卸载请求接收器302、示例请求提取器304、示例内容处理器306、示例内容数据存储308、示例数据提取器310、示例函数检索器312、示例执行引擎314和示例结果传送器316。
示例卸载请求接收器302从示例用户设备102接收计算卸载请求。根据所例示的示例,卸载请求接收器302通过拦截指向web服务器(例如,图1和/或图2的示例web服务器106)的请求来接收HTTP计算卸载。替代地,用户设备102可将请求传送到示例卸载请求接收器302,示例web服务器106可将请求重定向到示例卸载请求接收器302,或者能以任何其他方式在卸载请求接收器302处接收任何计算卸载请求。
示例请求提取器304分析由示例卸载请求接收器302接收的计算卸载请求,以确定请求卸载的函数和包括该函数的网页。示例请求提取器304从HTTP计算卸载请求的URI部分确定网页。示例请求提取器304从HTTP计算卸载请求的URI QUERY中的参数确定请求卸载的函数。替代地,能以任何其他方式确定网页和函数(例如,从包括在计算卸载请求中的参数、从到网页和/或函数的连接、从嵌入在计算卸载请求中的函数等)。示例请求提取器304将对网页的标识和/或路径传送到示例内容处理器306,并将该函数的身份传送到示例函数检索器312。
示例内容处理器306检索由示例请求提取器304标识的网页。根据所例示的示例,内容处理器306以与示例用户设备102先前请求网页相同的方式(例如,通过传送对网页的HTTP请求)从示例web服务器106检索网页。示例内容处理器306将网页存储在示例内容数据存储308中。替代地,在内容处理器306维持网页的存储(例如,高速缓存网页、永久存储网页等)的实现中和/或当示例卸载服务器108操作用于供应网页时,示例内容处理器306可首先查询内容数据存储308以确定内容数据存储308是否已具有网页的副本和/或副本的年龄是否未超过阈值。内容处理器306可替代地从任何其他位置(例如,从示例卸载服务器108处的本地存储、从远程存储位置、从用户设备102、从计算卸载请求等)检索网页。
示例内容数据存储308是用于存储由示例内容处理器306检索的用于卸载函数处理的网页的临时文件存储。示例内容数据存储308维持所检索网页的存储,直到已执行来自网页的请求卸载的函数。或者,内容数据存储308可以是任何其他类型的存储(例如,用于网页的长期存储、网页存储高速缓存、数据库、硬盘驱动器、文件等)。在一些实现中,示例内容数据存储308可不包括在示例卸载服务器108中,而是替代地,内容处理器306将所检索网页直接传送到示例函数检索器。
示例数据提取器310接收和/或提取由示例用户设备102发送的输入数据(或以其他方式提供给示例卸载请求接收器302)。例如,输入数据可作为JSON数据、原始数据、文本数据、二进制数据等来提供。输入数据可从示例计算卸载请求提取,可与示例计算卸载请求一起被接收等等。示例数据提取器310将输入数据传送到示例执行引擎314,以用于执行在计算卸载请求中标识的函数。
示例函数检索器312从示例请求提取器304接收函数的标识,并从存储在示例内容数据存储308中的网页检索所标识的函数。例如,函数检索器312可解析网页以定位由示例请求提取器304标识的函数,并且可从网页提取函数以供执行。示例函数检索器312将所提取的函数提供给示例执行引擎314。
示例执行引擎314从示例函数检索器312接收函数,并使用来自示例数据提取器310的输入数据执行函数。示例执行引擎314是JavaScript执行引擎。替代地,执行引擎314可以是任何数量和/或类型的执行引擎。例如,执行引擎314可包括第一类型的第一执行引擎和第二类型的第二执行引擎。示例执行引擎314将执行的输出提供给示例结果传送器316。
示例结果传送器316从执行引擎接收执行所卸载函数的结果,并将结果传送到示例用户设备102。例如,在图1的示例环境100中,结果传送器316经由示例网络104传送结果。或者,在图2的示例环境200中,结果传送器316经由示例基站204和示例蜂窝塔202传送结果。根据所例示的示例,结果传送器生成用于传送结果的HTTP响应,作为对计算卸载请求的响应。或者,结果可作为任何数量和/或类型的消息来传送。
虽然图3示出了实现图1和/或图2的示例卸载服务器108的示例方式,但图3所示的元件、进程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何其他方式被实现。此外,图3的示例卸载请求接收器302、示例请求提取器304、示例内容处理器306、示例数据提取器310、示例函数检索器312、示例执行引擎314、示例结果传送器316和/或更一般的示例卸载服务器108可由硬件、软件、固件和/或硬件、软件和/或固件的任何组合实现。因此,例如,图3的示例卸载请求接收器302、示例请求提取器304、示例内容处理器306、示例数据提取器310、示例函数检索器312、示例执行引擎314、示例结果传送器316和/或更一般地示例卸载服务器108中的任意一个可以由模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)中的一个或多个实现。当阅读覆盖纯软件和/或固件实现的本专利的装置或***权利要求中的任一个时,图3的示例卸载请求接收器302、示例请求提取器304、示例内容处理器306、示例数据提取器310、示例函数检索器312、示例执行引擎314、示例结果传送器316和/或更一般的示例卸载服务器108中的至少一个由此被明确地定义为包括存储软件和/或固件的有形的计算机可读存储设备或存储盘(例如存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等等)。此外,示例卸载服务器108可包括作为图3中所例示的那些的附加或替代的一个或多个元件、进程和/或设备,和/或可包括任何或所有所例示元件、进程和/或设备中的多于一个。
图4是示出示例用户设备102、示例web服务器106和示例卸载服务器108之间的示例相互通信的示例消息图。
根据所例示的示例,示例用户设备102将对网页的页面请求414传送到示例web服务器106。示例页面请求可以是包括网页的URI的HTTP请求。示例web服务器106响应于请求414将页面响应416传送到用户设备102。例如,页面响应416可作为HTTP响应来传送。
示例用户设备102开始处理网页。根据所例示的示例,网页包括(或链接到)用于函数的指令以及使用户设备102确定是否要执行卸载的指令。示例用户设备102执行指令并评估是否要执行卸载。当要执行卸载时,示例用户设备102传送指向示例web服务器106的卸载请求418。示例卸载服务器108的示例卸载请求接收器302拦截示例卸载请求418。根据所例示的示例,卸载请求418没有到达示例web服务器106,如图4中的虚线所示。
在接收到卸载请求418之际,请求提取器304提取网页的身份(例如,文件名)和位置(例如,域名和路径),并且示例内容处理器306传送页面请求420以请求网页。例如,页面请求420可与用户设备102传送的示例页面请求414类似或相同。示例web服务器106通过将页面响应422传送到示例卸载服务器108的内容处理器306来响应页面请求420,该内容处理器306将页面存储在示例内容数据存储308中。根据所例示的示例,页面响应422中包括的网页与页面响应416中包括的网页相同,并且与使示例用户设备传送卸载请求418的网页相同。
示例卸载服务器108的示例函数检索器312从示例页面响应422提取用于卸载的函数,并且示例执行引擎314使用由用户设备102发送的具有卸载请求418并由示例数据提取器310检索的输入数据来执行该函数。然后,示例结果传送器316将卸载结果424传送到示例用户设备102。
图5示出表示用于实现图1、图2、图3和/或图4的示例卸载服务器108的示例机器可读指令的流程图。在本示例中,机器可读指令包括用于由处理器(诸如,结合图7在下文讨论的示例处理器平台700中示出的处理器712)执行的程序。程序可以被具体化在存储于诸如CD-ROM、软盘、硬驱动器、数字多功能盘(DVD)、蓝光盘或与处理器712关联的存储器那样的有形计算机可读存储介质上的软件里,但是全部或部分程序可以替代地由除处理器712之外的器件执行,并且/或者可以具体化在固件或专用硬件里。此外,虽然参考图5所图示的流程图描述示例程序,但是可替代地使用实现示例卸载服务器108的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。
如以上所提到,可使用存储在有形计算机可读存储介质上的被编码的指令(例如,计算机和/或机器可读指令)来实现图5的示例过程,有形计算机可读存储介质诸如:硬盘驱动器、闪存、只读存储器(ROM)、紧凑盘(CD)、数字多功能盘(DVD)、高速缓存、随机存取存储器(RAM)和/或在任何时长内(例如,在扩展时间段内、永久地、在简短的实例期间、在临时缓冲和/或信息高速缓存期间)将信息存储在其中的任何其他存储设备或存储盘。如本文中所使用的,术语有形计算机可读存储介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播的信号以及排除传输介质。如本文中所使用,“有形计算机可读存储介质”和“有形机器可读存储介质”互换地使用。附加地或替代地,可以使用被储存在非瞬态的计算机和/或机器可读介质上的被编码的指令(例如,计算机和/或机器可读指令)来实现图5的示例过程,非瞬态的计算机和/或机器可读介质诸如:硬盘驱动器、闪存、只读存储器(ROM)、紧凑盘(CD)、数字多功能盘(DVD)、高速缓存、随机存取存储器(RAM)和/或在任何时长内(例如:在扩展时间段内、永久地、在简短的实例期间、在临时缓冲和/或信息缓存期间)将信息储存在其内的任何其他存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质被明确地限定为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用,当短语“至少”在权利要求的前序部分中被用作过渡术语时,它是和术语“包括”一样的开放式的。
图5的示例过程500始于当示例卸载请求接收器302接收到web请求时(框502)。根据所例示的示例,当图1的示例用户设备102传送寻址到示例web服务器106的请求时,web请求被拦截。示例卸载请求接收器302确定web请求是否包括卸载(offload)指示符(也可以称为卸载(offloading)指示符)(框504)。例如,该请求可包括Web请求的URI的URI QUERY部分中的参数,该参数将该请求标识为用于卸载特定函数的执行的请求。当请求不包括卸载指示符时,示例卸载请求接收器302将请求传送到示例web服务器106,使得web服务器106可以服务该请求(框506)。图5的过程随后终止。或者,示例卸载请求接收器可窥探或监视从示例用户设备102传送到示例web服务器106的请求,并且可仅在请求包括卸载指示符时干预以拦截请求。
根据所例示的示例,当请求包括卸载指示符时(框504),示例请求提取器304提取包括在计算卸载请求中标识的函数的网页的身份(框508)。例如,当计算卸载请求是对web服务器106处的特定网页的请求并且卸载请求接收器302因为请求包括卸载指示符而拦截请求时,示例请求提取器304将网页的身份确定为在该请求的URI中标识的网页。
示例内容处理器306检索由请求提取器304标识的网页,并将网页存储在示例内容数据存储308中(框510)。
示例请求提取器304确定请求卸载的函数的身份(框512)。例如,示例卸载指示符标识请求卸载的函数。示例函数检索器312从网页提取函数(框514)。示例数据提取器310从拦截的请求提取输入数据(框516)。例如,输入数据可以是在请求中和/或与请求一起传送的JSON数据、原始数据等。
示例执行引擎314使用由示例数据提取器310提取的数据来执行由示例函数检索器312提取的函数(框518)。示例结果传送器将执行结果传送到请求的源(例如,传送到示例用户设备102)(框520)。图5的过程随后终止。
图6是示出可被包括在网页中以供示例用户设备102在处理由示例web服务器106和/或示例卸载服务器108服务的网页时执行的示例指令600的流程图。
图6的示例指令600在示例用户设备102已从示例web服务器106和/或示例卸载服务器108接收到网页并且对已装备有卸载能力的函数进行调用时被执行。因此,指令在接收到函数调用时开始执行(框602)。
指令执行随后评估用于确定是否要执行函数的卸载的准则(框604)。准则可以是关于正执行指令的示例用户设备102的准则、关于网络104的准则、关于蜂窝塔202和/或基站204的准则、关于将执行卸载的卸载服务器108的准则、关于用于函数的输入数据的准则等。例如,准则可包括:用户设备102的计算能力;用户设备102是否包括硬件(例如,图形处理单元);用户设备102是否包括用于执行函数的软件先决条件;函数操作所基于的输入数据的数据复杂性;输入数据的大小;与网络104、卸载服务器106、蜂窝塔202、基站204等通信的等待时间;卸载服务器108的计算能力等。
指令600的执行确定准则是否指示卸载被指示(框606)。例如,可将准则与(诸)阈值进行比较以确定卸载是否被指示。当卸载未被指示时,示例用户设备102继续执行函数(框608)。
当卸载被指示时(框606),指令的执行传送具有输入数据的卸载请求(框610)。例如,请求可作为HTTP POST请求来传送,且输入数据被格式化为JSON结构。根据所例示的示例,请求作为如下请求被传送到示例web服务器106:请求示例网页并且包括指示通过对函数的标识来请求卸载的URI QUERY参数。
根据所例示的示例,在传送请求之后,示例卸载服务器108拦截该请求并使用输入数据执行该函数。卸载服务器108将结果传送到正在执行指令600的用户设备102。
指令的执行随后接收所卸载执行的结果(框612)。函数随后返回执行结果(框614)。例如,结果可被用于函数的进一步执行,可被呈现给用户设备102的用户,可从用户设备102被传送,可被提供给另一函数等。
可被包括在网页中用于使用HTML5Web工作服务器(WebWorker)功能在用户设备102处启动计算卸载的示例指令集为:
示例3
其中Computation_Offloader(url,func)调用名称为func的函数的远程执行。url表示具有所卸载函数的原始html文件。newWorker("url?Offload_Function=func")调用Web Worker,该Web Worker导致func应该在卸载服务器108中远程执行。通过调用w.postMessage(InputData)来上传用于函数执行的输入数据。与卸载服务器108的HTTP会话设置和url?Offload_Function=func表示应该在卸载服务器108中远程执行func。通过调用w.postMessage(InputData)来上传用于函数执行的输入数据。
利用HTML5来实现卸载的网页的示例实现是:
根据此示例,用户设备102从网页服务器106取得原始html文件。单击“计算”按钮时,将调用函数mul()。如果输入数量inv大于10000,则用户设备102将启动卸载服务器108中的function mul()的计算卸载。否则,用户设备108进行函数mul()的本地执行。给定计算卸载的激活,表示为event.data.num的返回结果被显示在用户设备102处。
图7是能够执行图5的指令以实现图1、图2和/或3的示例卸载服务器108的示例处理器平台700的框图。处理器平台700可以是例如服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM的平板)、个人数字助理(PDA)、因特网设备、DVD播放器、CD播放器、数字视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、或任何其他类型的计算设备。
所例示示例的处理器平台700包括处理器712。所例示示例的处理器712是硬件。例如,处理器712可由来自任何所期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。
所例示示例的处理器712包括本地存储器713(例如,高速缓存)。示例处理器712包括示例卸载请求接收器302、示例请求提取器304、示例内容处理器306、示例数据提取器310、示例函数检索器312、示例执行引擎314、示例结果传送器316。所例示示例的处理器712经由总线718与包括易失性存储器714和非易失性存储器716的主存储器通信。易失性存储器714可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备实现。非易失性存储器716可由闪存和/或任何其他所期望类型的存储器设备实现。由存储器控制器控制对主存储器714、716的访问。
所例示示例的处理器平台700还包括接口电路720。接口电路720可由任何类型的接口标准实现,诸如以太网接口、通用串行总线(USB)和/或PCI快速接口。
在所例示的示例中,一个或多个输入设备722被连接至接口电路720。(诸)输入设备722允许用户将数据和命令输入到处理器712中。(诸)输入设备可以由例如音频传感器、麦克风、相机(静止的或视频)、键盘、按钮、鼠标、触屏、轨迹板、轨迹球、等点鼠标和/或语音识别***实现。
一个或多个输出设备724也被连接至所例示的示例的接口电路720。输出设备724可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触屏、触觉输出设备、打印机和/或扬声器)实现。因此,所图示的示例的接口电路720典型地包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。
所图示示例的接口电路720还包括诸如发射机、接收机、收发机、调制解调器和/或网络接口卡之类的通信设备,以促进经由网络726(例如,以太网连接、数字订户线路(DSL)、电话线、同轴电缆、蜂窝电话***等)与外部机器(例如,任何种类的计算设备)交换数据。
所例示示例的处理器平台700还包括一个或多个用于存储软件和/或数据的大容量存储设备728。此类大容量存储设备728的示例包括软盘驱动器、硬盘驱动器、紧凑盘驱动器、蓝光盘驱动器、RAID***和数字多功能盘(DVD)驱动器。示例大容量存储设备728存储示例内容数据存储308。
图5的经编码指令732可被存储在大容量存储设备728中,存储在易失性存储器714中,存储在非易失性存储器716中和/或存储在诸如CD或DVD之类的可移除有形计算机可读存储介质上。
根据前述内容将理解,以上公开的方法、装置和制品有助于将计算从用户设备卸载到网络设备(例如,从具有在某种程度上不如网络设备(例如,服务器)的计算资源强大的计算资源的用户设备卸载)。在一些示例中,通过利用将用于计算卸载的请求发信号通知给服务器的web请求,从现有计算卸载解决方案进一步减少了用户设备的计算资源利用。例如,web请求可利用本地安装在用户设备上和/或安装用于用户设备的公共使用的协议和环境(例如,安装有web浏览器)。因此,一些示例消除了安装用于管理计算卸载的客户端应用的需要,这可降低用户设备的存储器利用和处理器利用。在一些示例中,通过按需检索用于卸载的函数(例如,而不是存储可能被请求用于计算卸载的所有函数)来减少服务于卸载请求的服务器的计算资源。此外,因为函数是按需检索的,所以卸载服务器可为用于与各种不同主机(例如,由不同实体主存的各种网页服务器)相关联的函数的卸载请求提供服务。
本文公开了用于在计算机联网环境中卸载计算的示例方法、装置、***和制品。进一步的示例和其组合包括以下内容。
示例1是一种用于在联网环境中卸载计算的方法,该方法包括:通过经由处理器执行指令,检测从计算设备接收的web请求中的卸载指示符,web请求由计算设备处对网页的处理触发;通过经由处理器执行指令,确定在web请求中标识的函数,函数被包括在网页中;通过经由处理器执行指令,从网页检索函数;以及响应于web请求将函数的执行的结果传送至计算设备。
示例2包括如示例1中定义的方法,其中处理器被包括在移动边缘计算服务器中。
示例3包括如示例1中定义的方法,其中web请求标识网页。
示例4包括示例1的方法,其中检索函数包括从包括处理器的web服务器的存储检索函数。
示例5包括示例1的方法,其中检索函数包括经由网络从与包括处理器的第二web服务器分开的第一web服务器检索函数。
示例6包括示例1的方法,进一步包括接收用于在执行函数时使用的数据。
示例7包括示例1的方法,其中web请求是超文本协议POST消息。
示例8包括示例1的方法,其中卸载指示符是http请求的URIQUERY中的参数。
示例9包括示例1的方法,其中网页包括指导计算设备来执行函数的指令。
示例10包括示例1的方法,其中网页包括指导计算设备来评估是在计算设备处执行函数还是请求函数的卸载的指令。
示例11包括示例1的方法,其中在接收到第二web请求时发送结果。
示例12包括示例1的方法,其中web请求包括标识与处理器分开的web服务器的目的地。
示例13包括示例1的方法,进一步包括拦截去往web服务器的web请求。
示例14是一种用于在联网环境中进行计算卸载的装置,该装置包括:卸载请求接收器,用于检测从计算设备接收的web请求中的卸载指示符,web请求由计算设备处对网页的处理触发;请求提取器,用于确定在web请求中标识的函数,函数被包括在网页中;函数检索器,用于从网页检索函数;以及结果传送器,用于响应于web请求将函数的执行的结果传送至计算设备。
示例15包括示例14的装置,其中装置是移动边缘计算服务器。
示例16包括示例14的装置,其中web请求标识网页。
示例17包括示例14的装置,进一步包括内容数据存储,其中函数检索器用于从存储在内容数据存储中的网页检索函数。
示例18包括示例14的装置,进一步包括内容处理器,用于从web服务器检索网页。
示例19包括示例14的装置,进一步包括数据提取器,用于接收用于在执行函数时使用的数据。
示例20包括示例14的装置,其中web请求是超文本协议POST消息。
示例21包括示例14的装置,其中卸载指示符是http请求的URIQUERY中的参数。
示例22包括示例14的装置,其中网页包括指导计算设备执行函数的指令。
示例23包括示例14的装置,其中网页包括指导计算设备来评估是在计算设备处执行函数还是请求函数的卸载的指令。
示例24包括示例14的装置,其中结果传送器用于在接收到第二web请求时发送结果。
示例25包括示例14的装置,其中web请求包括标识与装置分开的web服务器的目的地。
示例26包括示例14的装置,其中卸载请求接收器用于拦截去往web服务器的web请求。
示例27是包括指令的至少一种非瞬态计算机可读介质,指令在被执行时使机器至少用于:检测从计算设备接收的web请求中的卸载指示符,web请求由计算设备处对网页的处理触发;确定在web请求中标识的函数,函数被包括在网页中;从网页检索函数;以及响应于web请求将函数的执行的结果传送至计算设备。
示例28包括示例27的非瞬态机器可读存储介质,其中机器是移动边缘计算服务器。
示例29包括示例27的非瞬态机器可读存储介质,其中web请求标识网页。
示例30包括示例27的非瞬态机器可读存储介质,其中指令在被执行时使机器通过从机器的存储检索函数来检索函数。
示例31包括示例27的非瞬态机器可读存储介质,其中指令在被执行时使机器通过经由网络从web服务器检索函数来检索函数。
示例32包括示例27的非瞬态机器可读存储介质,其中指令在被执行时使机器接收用于在执行函数时使用的数据。
示例33包括示例27的非瞬态机器可读存储介质,其中web请求是超文本协议POST消息。
示例34包括示例27的非瞬态机器可读存储介质,其中卸载指示符是http请求的URI QUERY中的参数。
示例35包括示例27的非瞬态机器可读存储介质,其中网页包括指导计算设备执行函数的指令。
示例36包括示例27的非瞬态机器可读存储介质,其中网页包括指导计算设备来评估是在计算设备处执行函数还是请求函数的卸载的指令。
示例37包括示例27的非瞬态机器可读存储介质,其中在接收到第二web请求时发送结果。
示例38是一种***,***包括:web服务器,用于供应网页;用户设备,用于:接收网页,处理网页以确定是否要执行计算卸载,传送包括标识web服务器并且进一步标识函数的目的地的web请求,卸载服务器,用于:拦截发送至web服务器的web请求,从web服务器检索网页,执行用于生成结果的函数,以及将结果传送至用户设备。
示例39包括示例38的***,其中用户设备进一步用于传送用于执行函数的输入数据。
示例40包括示例39的***,其中卸载服务器将执行函数使用输入数据。
示例41包括示例38的***,其中处理网页使用户设备基于用户设备的特性确定计算卸载是否将被执行。
示例42包括示例38的***,其中处理网页使用户设备基于卸载服务器的特性确定计算卸载是否将被执行。
示例43包括示例38的***,其中web服务器和卸载服务器中的至少一个是移动边缘计算服务器。
示例44包括示例38的***,其中web请求是超文本协议POST消息。
示例45包括示例38的***,其中web请求包括http请求的URIQUERY中的卸载指示符。
示例46包括如示例38中定义的***,其中网页包括指导用户设备执行函数的指令。
示例47包括示例38的***,其中网页包括指导用户设备来评估是在用户设备处执行函数还是请求函数的卸载的指令。
示例48是一种用于在联网环境中进行计算卸载的设备,该设备包括:用于检测从计算设备接收的web请求中的卸载指示符的装置,web请求由计算设备处对网页的处理触发;应用确定在web请求中标识的函数的装置,函数被包括在网页中;应用从网页检索函数的装置;以及应用响应于web请求将函数的执行的结果传送至计算设备的装置。
示例49包括如示例48中定义的设备,其中装置是移动边缘计算服务器。
示例50包括示例48的设备,其中web请求标识网页。
示例51包括示例48的设备,进一步包括用于存储网页的装置,其中用于检索函数的装置用于从存储在用于存储网页的装置中存储的网页检索函数。
示例52包括示例48的设备,进一步包括用于从web服务器检索网页的装置。
示例53包括如示例48中定义的设备,进一步包括用于接收用于在执行函数时使用的数据的装置。
示例54包括示例48的设备,其中web请求是超文本协议POST消息。
示例55包括示例48的设备,其中卸载指示符是http请求的URIQUERY中的参数。
示例56包括示例48的设备,其中网页包括指导计算设备执行函数的指令。
示例57包括示例48的设备,其中网页包括指导计算设备来评估是在计算设备处执行函数还是请求函数的卸载的指令。
示例58包括示例48的设备,其中用于传送结果的装置用于在接收到第二web请求时发送结果。
示例59包括示例48的设备,其中web请求包括标识与装置分开的web服务器的目的地。
示例60包括示例48的设备,其用于检测卸载指示符的装置用于拦截去往web服务器的web请求。
示例61是一种用于在联网环境中卸载计算的方法,方法包括:通过经由处理器执行指令,检测从计算设备接收的web请求中的卸载指示符,web请求由在计算设备处对网页的处理触发;通过经由处理器执行指令,确定在web请求中标识的函数,函数被包括在网页中;通过经由处理器执行指令,从网页检索函数;以及响应于web请求将函数的执行的结果传送至计算设备。
示例62包括示例61中的方法,其中处理器被包括在移动边缘计算服务器中。
示例63包括示例61或示例62中的一项的方法,其中web请求标识网页。
示例64包括示例61或示例62中的一项的方法,其中检索函数包括从包括处理器的web服务器的存储检索函数。
示例65包括示例61或示例62中的一项的方法,其中检索函数包括经由网络从与包括处理器的第二web服务器分开的第一web服务器检索函数。
示例66包括示例61或示例62中的一项的方法,进一步包括接收用于执行函数的数据。
示例67包括示例61或示例62中的一项的方法,其中web请求是超文本协议POST消息。
示例68包括示例61或示例62中的一项的方法,其中卸载指示符是http请求的URIQUERY中的参数。
示例69包括示例61或示例62中的一项的方法,其中网页包括指导计算设备执行函数的指令。
示例70包括示例61或示例62中的一项的方法,其中网页包括指导计算设备来评估是在计算设备处执行函数还是请求函数的卸载的指令。
示例71包括示例61或示例62中的一项的方法,其中在接收到第二web请求时发送结果。
示例72包括示例61或示例62中的一项的方法,其中web请求包括标识与处理器分开的web服务器的目的地。
示例73包括示例61或示例62中的一项的方法,进一步包括拦截去往web服务器的web请求。
示例74是一种用于在联网环境中进行计算卸载的装置,该装置包括:卸载请求接收器,用于检测从计算设备接收的web请求中的卸载指示符,web请求由计算设备处对网页的处理触发;请求提取器,用于确定在web请求中标识的函数,函数被包括在网页中;函数检索器,用于从网页检索函数;以及结果传送器,用于响应于web请求将函数的执行的结果传送至计算设备。
示例75包括如示例74中定义的装置,其中装置是移动边缘计算服务器。
示例76包括示例74或示例75中的一项的装置,其中web请求标识网页。
示例77包括示例74或示例75中的一项的装置,进一步包括内容数据存储,其中函数检索器用于从存储在内容数据存储中的网页检索函数。
示例78包括示例74或示例75中的一项的装置,进一步包括内容处理器,用于从web服务器检索网页。
示例79包括示例74或示例75中的一项的装置,进一步包括数据提取器,用于接收用于在执行函数时使用的数据。
示例80包括示例74或示例75中的一项的装置,其中web请求是超文本协议POST消息。
示例81包括示例74或示例75中的一项的装置,其中卸载指示符是http请求的URIQUERY中的参数。
示例82包括示例74或示例75中的一项的装置,其中网页包括指导计算设备执行函数的指令。
示例83是一种用于在计算机联网环境中卸载计算的方法,包括:经由计算设备的处理器执行指令来处理从web服务器接收的网页;经由处理器来执行与网页相关联的可执行指令;经由执行来确定要执行包括在可执行指令中的函数;经由通过处理器执行指令来基于计算设备的特性确定函数的执行将被卸载;经由处理器执行指令来生成标识web服务器处的网页的web请求;经由处理器执行指令来***标识函数的卸载指示符;经由处理器执行指令来传送web请求;以及经由处理器执行指令来传送将在处理器的执行时使用的输入数据;
响应于接收函数的执行的结果,将结果返回至触发用于卸载函数的web请求的可执行指令的执行。
尽管本文中已公开了某些示例方法、设备和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利权利要求范围内的全部方法、设备和制品。
Claims (25)
1.一种用于在联网环境中卸载计算的方法,所述方法包括:
通过经由卸载处理器执行指令,检测从计算设备接收的web请求中的卸载指示符,所述web请求由所述计算设备处对网页的处理触发;
通过经由所述卸载处理器执行指令,确定所述web请求中标识的函数,所述函数被包括在所述网页中;
通过经由所述卸载处理器执行指令,从所述网页检索所述函数;以及
响应于所述web请求将由所述卸载处理器对所述函数的执行的结果传送至所述计算设备。
2.如权利要求1所述的方法,其特征在于,所述卸载处理器被包括在移动边缘计算服务器中。
3.如权利要求1或权利要求2中的一项所述的方法,其特征在于,所述web请求标识所述网页。
4.如权利要求1所述的方法,其特征在于,
检索所述函数包括从web服务器的存储检索所述函数,所述web服务器包括所述卸载处理器。
5.如权利要求1所述的方法,其特征在于,检索所述函数包括经由网络从与包括所述卸载处理器的第二web服务器分开的第一web服务器检索所述函数。
6.如权利要求1或权利要求2中的一项所述的方法,其特征在于,进一步包括接收用于执行所述函数的数据。
7.如权利要求1或权利要求2中的一项所述的方法,其特征在于,所述web请求是超文本协议POST消息。
8.如权利要求1或权利要求2中的一项所述的方法,其特征在于,所述卸载指示符是http请求的URI QUERY中的参数。
9.如权利要求1或权利要求2中的一项所述的方法,其特征在于,所述网页包括指导所述计算设备来执行所述函数的指令。
10.如权利要求1或权利要求2中的一项所述的方法,其特征在于,所述网页包括指导所述计算设备来评估是在所述计算设备处执行所述函数还是请求卸载所述函数的指令。
11.如权利要求1或权利要求2中的一项所述的方法,其特征在于,在接收到第二web请求时发送所述结果。
12.如权利要求1或权利要求2中的一项所述的方法,其特征在于,所述web请求包括标识与所述卸载处理器分开的web服务器的目的地。
13.如权利要求1或权利要求2中的一项所述的方法,其特征在于,进一步包括拦截去往web服务器的所述web请求。
14.一种用于在联网环境中进行计算卸载的装置,所述装置包括:
卸载请求接收器,用于检测从计算设备接收的web请求中的卸载指示符,所述web请求由所述计算设备处对网页的处理触发;
请求提取器,用于确定所述web请求中标识的函数,所述函数被包括在所述网页中;
函数检索器,用于从所述网页检索所述函数;以及
结果传送器,用于响应于所述web请求将由所述装置对所述函数的执行的结果传送至所述计算设备。
15.如权利要求14所述的装置,其特征在于,所述装置是移动边缘计算服务器。
16.如权利要求14或权利要求15中的一项所述的装置,其特征在于,所述web请求标识所述网页。
17.如权利要求14或权利要求15中的一项所述的装置,其特征在于,进一步包括内容数据存储,其中所述函数检索器用于从存储在所述内容数据存储中的所述网页检索所述函数。
18.如权利要求14或权利要求15中的一项所述的装置,其特征在于,进一步包括内容处理器,用于从web服务器检索所述网页。
19.如权利要求14或权利要求15中的一项所述的装置,其特征在于,进一步包括数据提取器,用于接收用于执行所述函数的数据。
20.如权利要求14或权利要求15中的一项所述的装置,其特征在于,所述web请求是超文本协议POST消息。
21.如权利要求14或权利要求15中的一项所述的装置,其特征在于,所述卸载指示符是http请求的URI QUERY中的参数。
22.如权利要求14或权利要求15中的一项所述的装置,其特征在于,所述网页包括指导所述计算设备来执行所述函数的指令。
23.一种机器可读介质,所述机器可读介质包括被执行时使卸载处理器执行如权利要求1或2中任一项所述的方法的代码。
24.一种用于在联网环境中进行计算卸载的***,包括:
web服务器,用于供应网页;
用户设备,用于:
接收所述网页;
处理所述网页以确定是否要执行计算卸载;
传送包括目的地的web请求,所述目的地标识所述web服务器并进一步标识函数;
卸载服务器,用于:
拦截发送至所述web服务器的所述web请求;
从所述web服务器检索所述网页;
执行所述函数以生成结果;以及
将所述结果传送到所述用户设备
其中,处理所属网页以确定是否要执行计算卸载基于以下各项中的至少一项:所述用户设备与所述卸载服务器之间的等待时间和估计计算时间。
25.一种用于在联网环境中进行计算卸载的设备,所述设备包括:
用于检测从计算设备接收的web请求中的卸载指示符的装置,所述web请求由所述计算设备处对网页的处理触发;
用于确定所述web请求中标识的函数的装置,所述函数被包括在所述网页中;
用于从所述网页检索所述函数的装置;以及
用于响应于所述web请求将所述设备对所述函数的执行的结果传送至所述计算设备的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/099854 WO2018053798A1 (en) | 2016-09-23 | 2016-09-23 | Methods and apparatus for computation offloading in networked environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109937566A CN109937566A (zh) | 2019-06-25 |
CN109937566B true CN109937566B (zh) | 2022-09-27 |
Family
ID=61690738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680088696.5A Active CN109937566B (zh) | 2016-09-23 | 2016-09-23 | 用于在联网环境中进行计算卸载的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11218562B2 (zh) |
EP (1) | EP3516844B1 (zh) |
CN (1) | CN109937566B (zh) |
WO (1) | WO2018053798A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109937566B (zh) | 2016-09-23 | 2022-09-27 | 英特尔公司 | 用于在联网环境中进行计算卸载的方法和装置 |
KR20210018499A (ko) * | 2018-07-06 | 2021-02-17 | 현대자동차주식회사 | 리소스 관리 방법 및 장치 |
US11683393B2 (en) * | 2019-09-11 | 2023-06-20 | Intel Corporation | Framework for computing in radio access network (RAN) |
US11818576B2 (en) * | 2019-10-03 | 2023-11-14 | Verizon Patent And Licensing Inc. | Systems and methods for low latency cloud computing for mobile applications |
US11427215B2 (en) | 2020-07-31 | 2022-08-30 | Toyota Motor Engineering & Manufacturing North America, Inc. | Systems and methods for generating a task offloading strategy for a vehicular edge-computing environment |
CN113535393B (zh) * | 2021-07-12 | 2023-04-04 | 湖南工学院 | 异构边缘计算中卸载dag任务的计算资源分配方法 |
CN114860332A (zh) * | 2022-04-08 | 2022-08-05 | 北京快乐茄信息技术有限公司 | 数据处理方法、装置及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4380000B2 (ja) * | 2000-02-02 | 2009-12-09 | セイコーエプソン株式会社 | ウエブページ提供方法およびその提供システム |
US8447837B2 (en) * | 2005-12-30 | 2013-05-21 | Akamai Technologies, Inc. | Site acceleration with content prefetching enabled through customer-specific configurations |
US8743696B2 (en) * | 2009-08-07 | 2014-06-03 | Cisco Technology, Inc. | Mobile transport solution for offloading to an alternate network |
US9075663B2 (en) | 2010-05-12 | 2015-07-07 | Samsung Electronics Co., Ltd. | Cloud-based web workers and storages |
CN101977242A (zh) * | 2010-11-16 | 2011-02-16 | 西安电子科技大学 | 一种分层分布式云计算体系结构及服务提供方法 |
US8832228B2 (en) * | 2011-04-27 | 2014-09-09 | Seven Networks, Inc. | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
US8971819B2 (en) | 2011-06-16 | 2015-03-03 | Deutsche Telekom Ag | System for analyzing mobile browser energy consumption |
US8954568B2 (en) * | 2011-07-21 | 2015-02-10 | Yahoo! Inc. | Method and system for building an elastic cloud web server farm |
US10021696B2 (en) * | 2011-11-16 | 2018-07-10 | International Business Machines Corporation | Data caching at the edge of a mobile data network |
US9612812B2 (en) * | 2011-12-21 | 2017-04-04 | Excalibur Ip, Llc | Method and system for distributed application stack test certification |
US9507630B2 (en) * | 2012-02-09 | 2016-11-29 | Cisco Technology, Inc. | Application context transfer for distributed computing resources |
US9325581B2 (en) * | 2013-04-02 | 2016-04-26 | International Business Machines Corporation | Context-aware management of applications at the edge of a network |
KR20140135035A (ko) | 2013-05-15 | 2014-11-25 | 삼성전자주식회사 | 어플리케이션 실행 방법 및 그 장치 |
EP3074826B1 (en) * | 2013-11-26 | 2017-12-06 | Siemens Aktiengesellschaft | Offloading human-machine-interaction tasks |
CN103902373B (zh) * | 2014-04-02 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 智能终端控制方法、服务器和智能终端 |
KR102191971B1 (ko) * | 2014-10-10 | 2020-12-16 | 삼성전자주식회사 | 모바일 사용자 경험 개선을 위한 가상 머신 마이그레이션 방법 및 이를 위한 장치 |
CN105578199A (zh) * | 2016-02-22 | 2016-05-11 | 北京佰才邦技术有限公司 | 虚拟现实全景多媒体处理***、方法及客户端设备 |
CN109937566B (zh) | 2016-09-23 | 2022-09-27 | 英特尔公司 | 用于在联网环境中进行计算卸载的方法和装置 |
-
2016
- 2016-09-23 CN CN201680088696.5A patent/CN109937566B/zh active Active
- 2016-09-23 EP EP16916537.0A patent/EP3516844B1/en active Active
- 2016-09-23 US US16/336,463 patent/US11218562B2/en active Active
- 2016-09-23 WO PCT/CN2016/099854 patent/WO2018053798A1/en unknown
Non-Patent Citations (2)
Title |
---|
Joint Optimization of Radio and Computational Resources for Multicell Mobile-Edge Computing;Stefania Sardellitti;《IEEE》;20150622;全文 * |
韩延涛 ; 张龙.基于MEC的新型4G网络研究.《中国会议》.2016, * |
Also Published As
Publication number | Publication date |
---|---|
WO2018053798A1 (en) | 2018-03-29 |
EP3516844A4 (en) | 2020-04-15 |
CN109937566A (zh) | 2019-06-25 |
US20200036808A1 (en) | 2020-01-30 |
EP3516844A1 (en) | 2019-07-31 |
EP3516844B1 (en) | 2021-04-28 |
US11218562B2 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109937566B (zh) | 用于在联网环境中进行计算卸载的方法和装置 | |
CN109117361B (zh) | 一种小程序的远程调试方法、相关设备及*** | |
CN110716850B (zh) | 页面测试方法、装置、***及存储介质 | |
US10516622B2 (en) | Speech transmission method and apparatus and speech service system | |
CN104754073A (zh) | 一种资源访问方法及装置 | |
CN110730196B (zh) | 一种网络资源访问方法、计算机设备、存储介质 | |
US8972513B2 (en) | Content caching | |
CN108134816B (zh) | 对远程设备上的数据的访问 | |
WO2015067114A1 (zh) | 基于文档对象模型的跨站脚本攻击漏洞检测方法、装置、终端及介质 | |
CN109302437B (zh) | 一种重定向网站的方法和装置 | |
US10659556B2 (en) | Progressive hybrid web application | |
US20090216880A1 (en) | Methods and Systems for Dynamic Transport Selection Based on Last Mile Network Detection | |
US8914542B1 (en) | Content caching | |
US9582584B2 (en) | Method, apparatus and system for filtering data of web page | |
US20230214438A1 (en) | Technologies for cross-device shared web resource cache | |
WO2018137528A1 (zh) | 资源访问方法及装置 | |
TWI640192B (zh) | 串流媒體傳輸優化方法及快取裝置 | |
CN112242972A (zh) | 网络请求处理方法、装置、存储介质及终端 | |
CN117407133A (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
CN109145182B (zh) | 数据采集方法、装置、计算机设备及*** | |
CN113285920B (zh) | 业务访问方法、装置、设备及存储介质 | |
CN109657173B (zh) | 一种网络资源加载方法及装置 | |
CN108616552B (zh) | 网页访问方法、装置和*** | |
US9692702B1 (en) | Automated throttling of website polling | |
CN111163138B (zh) | 一种降低游戏期间网络负载的方法、装置和服务器 |
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 |