CN103907113A - 用于分布式脚本处理的方法和装置 - Google Patents
用于分布式脚本处理的方法和装置 Download PDFInfo
- Publication number
- CN103907113A CN103907113A CN201280053119.4A CN201280053119A CN103907113A CN 103907113 A CN103907113 A CN 103907113A CN 201280053119 A CN201280053119 A CN 201280053119A CN 103907113 A CN103907113 A CN 103907113A
- Authority
- CN
- China
- Prior art keywords
- web content
- cause
- combination
- equipment
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- 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/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了一种用于提供移动设备上的低功率浏览体验的方法。代理平台接收针对网页的请求。该代理平台还接收关于该移动设备的信息。该代理平台处理和/或促进处理关于该移动设备的信息并且以基于关于该移动设备的信息的格式而将网页发送给该移动设备。该移动设备然后能够在浏览所请求的网站时以低功率模式进行操作。
Description
背景技术
无线(例如,蜂窝)服务提供商和设备制造商受到例如通过提供具有竞争力的网络服务、应用和内容而为消费者传送价值和便捷性的持续挑战。考虑到日益增长的以web为中心的文化,一种涌现的服务是使用无线设备来访问web服务。然而,无线环境内有限的资源(例如,带宽、处理功率)和/或电池电力会对在移动设备上访问这样的web服务造成限制,特别是当访问提供先进的web应用和/或功能的具有复杂且可能资源密集的脚本(例如,JavaScript)的web内容时。因此,服务提供商和设备制造商面临着通过使得能够例如经由代理服务器而对web服务进行有效和安全的访问以克服这样的局限性的艰巨技术挑战。
发明内容
因此,需要一种用于提供浏览体验而实现访问依赖于基于脚本的交互和相关web技术的先进功能的方法。
根据一个实施例,一种方法包括接收从设备到代理服务器的、用于呈现包括一个或多个脚本的web内容的请求。该方法进一步包括处理和/或促进处理web内容、一个或多个脚本或者它们的组合以至少部分地引起确定(a)是否重复使用先前存储在该设备处的媒体来呈现web内容;(b)是否生成web内容的部分更新;(c)是否至少部分地引起使用该设备的一个或多个本地资源来至少处理web内容一个或多个脚本或者它们的组合中的一部分;或者(d)上述(a)、(b)和(c)项的组合。该方法还包括至少部分地基于针对向该设备的传输的确定而至少部分地引起该web内容的呈现。
根据另一个实施例,一种装置包括至少一个处理器,以及至少一个存储器,包括用于一个或多个程序的计算机程序代码,该至少一个存储器和计算机程序代码被配置为与该至少一个处理器一起至少部分地引起该装置接收从设备到代理服务器的、用于呈现包括一个或多个脚本的web内容的请求。进一步引起该装置处理和/或促进处理web内容、一个或多个脚本或者它们的组合以至少部分地引起确定(a)是否重复使用先前存储在该设备处的媒体来呈现web内容;(b)是否生成web内容的部分更新;(c)是否至少部分地引起使用该设备的一个或多个本地资源来至少处理web内容、一个或多个脚本或者它们的组合中的一部分;或者(d)上述(a)、(b)和(c)项的组合。还引起该装置至少部分地基于针对向该设备的传输的确定而至少部分地引起该web内容的呈现。
根据另一个实施例,一种计算机可读存储介质承载一个或多个指令的一个或多个序列,该一个或多个指令在由一个或多个处理器执行时至少部分地引起装置接收从设备到代理服务器的、用于呈现包括一个或多个脚本的web内容的请求。进一步引起该装置处理和/或促进处理web内容、一个或多个脚本或者它们的组合以至少部分地引起确定(a)是否重复使用先前存储在该设备处的媒体呈现web内容;(b)是否生成web内容的部分更新;(c)是否至少部分地引起使用该设备的一个或多个本地资源来至少处理web内容、一个或多个脚本或者它们的组合中的一部分;或者(d)上述(a)、(b)和(c)项的组合。还引起该装置至少部分地基于针对向该设备的传输的确定而至少部分地引起该web内容的呈现。
根据另一个实施例,一种设备包括用于接收从设备到代理服务器的、用于呈现包括一个或多个脚本的web内容的请求的装置。该装置进一步包括用于处理和/或促进处理web内容、一个或多个脚本或者它们的组合以至少部分地引起确定(a)是否重复使用先前存储在该设备处的媒体呈现web内容;(b)是否生成web内容的部分更新;(c)是否至少部分地引起使用该设备的一个或多个本地资源来至少处理web内容、一个或多个脚本或者它们的组合中的一部分;或者(d)上述(a)、(b)和(c)项的组合的装置。该装置还包括用于至少部分地基于针对向该设备的传输的确定而至少部分地引起该web内容的呈现的装置。
此外,对于本发明的各个示例实施例,以下是可应用的:一种方法包括处理和/或促进处理(1)数据和/或(2)信息和/或(3)至少一个信号的,该(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于本申请中被公开为与本发明任意实施例相关的任意一种方法(或处理)或者其任意组合(或者至少部分地从其得出的)。
对于本发明的各个示例实施例,以下也是可应用的:一种方法包括促进对至少一个接口的访问,该接口被配置为允许访问至少一个服务,该至少一个服务被配置为执行本申请中所公开的任意一种网络或服务提供商方法(或处理)或者其任意组合。
对于本发明的各个示例实施例,以下也是可应用的:一种方法包括促进创建和/或促进修改(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能,该(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能至少部分地基于由本申请中公开为与本发明任意实施例相关的方法或处理之一或它们的任意组合所引起的数据和/或信息,和/或由本申请中公开为与本发明任意实施例相关的方法(或处理)之一或它们的任意组合所引起的至少一个信号。
对于本发明的各个示例实施例,以下也是可应用的:一种方法包括创建和/或修改(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能,该(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能至少部分地基于由本申请中公开为与本发明任意实施例相关的方法(或处理)之一或它们的任意组合所引起的数据和/或信息,和/或由本申请中公开为与本发明任意实施例相关的方法(或处理)之一或它们的任意组合所引起的至少一个信号。
在各个示例实施例中,该方法(或处理)能够在服务提供商一侧或者移动设备一侧实现,或者利用在两侧执行的动作以任意共享方式在服务提供商和移动设备之间实现。
以下是可针对本发明的各个示例实施例应用的:一种设备包括用于执行根据原始提交的权利要求1-10、21-30和46-48中的任一项的方法的装置。
通过简单地对包括预期用于实施本发明的最佳模式在内的多种特定实施例和实施方式进行说明,本发明再其它的方面、特征和优势将由于以下详细描述而是轻易显而易见的。本发明还支持其它和不同的实施例,并且其若干细节能够在各个显然的方面有所修改,所有这些都并不背离本发明的精神和范围。因此,附图和描述在本质上要被视为是说明性而非限制性的。
附图说明
通过示例而非限制对本发明的实施例进行图示,在附图的示图中:
图1是根据一个实施例的能够提供分布式脚本处理的通信系统的图;
图2是根据一个实施例的用于针对媒体重复使用而提供分布式脚本处理的代理服务器的部件的示图;
图3A是根据一个实施例的用于针对执行部分更新而提供分布式脚本处理的代理服务器的部件的示图;
图3B是根据一个实施例的描绘用于执行部分更新的文档对象模型(DOM)比较的示图;
图4A是根据一个实施例的用于针对使用本地设备资源而提供分布式脚本处理的代理服务器的部件的示图;
图4B是描绘根据一个实施例的用于针对使用本地设备资源而提供分布式脚本处理的过程的时序图;
图5是根据一个实施例的用于提供分布式脚本处理的过程的流程图;
图6是根据一个实施例的用于针对媒体重复使用而提供分布式脚本处理的过程的流程图;
图7是根据一个实施例的用于针对执行部分更新而提供分布式脚本处理的过程的流程图;
图8是根据一个实施例的用于针对使用本地设备资源而提供分布式脚本处理的过程的流程图;
图9A-9D是根据各个实施例的在图1-8的过程中所使用的用户接口的图;
图10是能够被用来实施本发明的实施例的硬件的图;
图11是能够被用来实施本发明的实施例的芯片组的图;以及
图12是能够被用来实施本发明的实施例的移动站点(例如,手机)的图。
具体实施方式
公开了用于提供分布式脚本处理的方法和装置。在以下描述中,出于解译的目的,给出了多种具体细节以便提供对本发明实施例的全面理解。然而,对于本领域技术人员而言明显的是,本发明的实施例能够在没有这些具体细节的情况下或者利用等同配置进行实践。在其它情况下,以框图形式示出了熟知的结构和设备以便避免不必要地对本发明的实施例造成混淆。
虽然各个实施例关于在无线网络环境内提供分布式脚本处理浏览体验进行描述,但是认识到本文中所描述的方法的各个实施例可以在任意类型的通信系统或网络内使用以及随网络可用的任意通信模式(例如,数据通信、因特网通信、语音通信、文本通信等)而使用。此外,虽然进一步关于移动设备对各个实施例进行了描述,但是认识到各个实施例可应用于任意类型的具有网络访问的设备(例如,静态终端、个人计算机等)。
图1是根据一个实施例的能够提供分布式交变处理的通信系统的图。如先前所描述的,在无线环境内实施移动web服务会潜在地耗费该环境内(例如,移动设备内)可用的相对有限的资源(例如,带宽、处理功率、存储器、电池电力等)。此外,基于web的应用通过采用最新的web技术(例如,经由诸如JavaScript的语言进行脚本处理(Scripting))而变得更为复杂,在移动设备处拥有足够资源以支持新的应用的问题也有所增加。
一种解决该问题的传统方式是使用代理web浏览器。作为示例,代理web浏览器是其中在远程服务器上代表请求客户端应用来执行网页(例如,HTML、CSS、JavaScript)的呈现的浏览器。通常,客户端应用是完整web浏览器的简化版本。然而,这些代理浏览器也会遇到一些效率低下的情况。例如,在普遍采用的代理web浏览解决方案中,脚本驱动(例如,JavaScript驱动)的用户与web内容(例如,网页或web应用)的交互通常要求向代理服务器进行反向请求并且将客户端网页的全新表示返回给该客户端。这会,例如,要求向客户端传递大量冗余且不必要数据而且可能需要很长的加载时间来等待web内容被加载和呈现。
为了解决该问题,图1的系统100引入了提供分布式脚本处理的能力。本文中所描述的分布式脚本处理的各个实施例通过减少或者在一些情况下消除在web内容显示期间每次出现脚本处理事件时都传送网页的全新副本的需要。在一个实施例中,系统100可以采用至少三种方法进行分布式脚本处理以减少与基于脚本的网络内容的代理web浏览相关联的网络流量、资源使用等。作为示例,这三种方法包括但并不限于:
(1)会话媒体高速缓存:当从客户端发起脚本事件(例如,JavaScript事件)并且向服务器发送时,可以仅利用新引用的媒体项目(例如,图像、声音、视频等)将所请求web内容的经修改的完整页面文档的后续响应传递至客户端。除非代理服务器以其它方式做出指示,否则客户端将在活跃会话期间保留并且重复使用由该文档所使用的媒体。
(2)部分页面更新:在客户端发起脚本处理事件之后,服务器能够执行请求中的一个或多个脚本并且修改目标文档或web内容。在将该文档发送回客户端之前,代理服务器能够将新创建的文档与原有文档进行比较。以这种方式,代理服务器能够仅传递这些文档之间的差异。通过预定义命令集合,该客户端然后能够仅基于与原有文档的改变或差异而呈现新文档。
(3)通过性(pass-through)脚本:在一个实施例中,客户端能够支持使用本地资源来执行某些脚本(例如,使用诸如移动web库(MWL)的脚本处理库来实现某些JavaScript功能的本地执行)。该库例如使得客户端能够执行类似切换标签、在图像间滑动、隐藏/示出内容等动作。在这种情况下,使用MWL或MWL中的可用功能的任何web内容都能够将MWL方法传送至客户端而无需代理服务器的执行。在一些实施例中,MWL可以提供对设备上的本机功能的访问,诸如地理定位、基于触摸的控制、发起通信会话等。在这种情况下,代理服务器还能够传送MWL方法以便针对客户端访问这些本机功能。
如图1所示,系统100包括代理平台101(例如,代理服务器),其通过通信网络103提供代理web浏览。在一个实施例中,系统100使得用户能够(例如,经由用户设备(UE)105a-105n—也被统称为UE105)利用代理平台101接收web内容。如先前所讨论的,代理浏览是一种减少需要在web服务器和web浏览器之间传输的数据量的技术。位于移动设备和因特网之间的中间代理服务器例如可以被用来减小图像大小、简化网页的HTML标记以及压缩所传送的数据。代理浏览还允许降低针对支持因特网的移动设备的硬件要求、更快地进行网页呈现、以及减少带宽使用。
系统100进一步包括代理浏览架构,其由在相应客户端设备(例如,UE105a-105n)内进行操作的一个或多个代理客户端107a-107n(也被统称为代理客户端107)所构成。在一个实施例中,代理客户端107通过代理平台101对来自UE105的至少一部分通信流量进行路由。在一些实施例中,代理客户端107可以是浏览器应用。除此之外或可替换地,代理客户端107可以是UE105中执行的独立处理,或者可以被整合到在UE105中执行的其它应用。
在一个实施例中,代理平台101从代理客户端107接收请求以将通信流量路由至预期的通信端点。此外,代理平台101能够将来自通信端点的返回通信流量路由至任意代理客户端107和/或UE105。作为示例,通信端点可以包括服务平台109、服务111a-111m(也被统称为服务111)、内容提供方113a-113k(也被统称为内容提供方113)或者具有到通信网络103(例如,另一个UE105)的连接的其它部件。例如,服务平台109、服务111和/或内容提供方113可以经由web服务器或者其它通信手段(例如,文字消息发送、语音、即时消息发送、聊天(chat)等)来提供任意数量的服务(例如,地图服务、社交网络服务、媒体服务、内容服务等)。换而言之,通信端点表示来自代理客户端107的通信的终止点,以及去往代理客户端107的通信的发起点。
在一些实施例中,代理平台101从代理客户端107接收请求以观看诸如网页、web应用或其它web内容的服务内容,并且代理平台101能够执行任意数量的通信相关功能以便路由和/或处理所产生的通信流量。例如,如以上所提到的,代理平台101能够通过仅传递web内容的新图像、基于文档转变或差异而提供部分更新、支持设备上的改变(例如,针对CSS属性、CSS变换等的变化)的通过或脚本,来提供优化的分布式脚本处理体验。在其它实施例中,代理平台101可以至少部分地基于接收UE105的一个或多个能力或特性而压缩或者以其它方式修改要被传递至代理客户端107的内容。例如,在无线环境中,代理平台101能够为了更有效地进行传输而压缩数据、变换内容以减小要传输的数据量、对内容进行重新格式化以便在更小的屏幕中显示、将内容改变为图像文件等等。代理平台101可以将服务内容划分为一系列子部分,它们可以基于UE105的显示器的显示能力或分辨率、可用存储器、电池条件和/或可用功率模式设置而像一副牌那样等同或非等同地被解析并且被发送至UE105。
作为示例,UE105是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板电脑、因特网节点、通讯器、台式计算机、膝上计算机、笔记本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者它们的任意组合,包括这些设备的配件和外设或者其任意组合。还认识到的是,UE101能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
此外,系统100的通信网络103包括一个或多个网络,诸如数据网络(未示出)、无线网络(未示出)、电话网络(未示出)或者它们的任意组合。认识到数据网络可以为任意的局域网(LAN)。城域网(MAN)、广域网(WAN)、公众数据网络(例如,因特网)、小范围无线网络,或者任意其它适当的分组交换网络,诸如商业所有的私人分组交换网络,例如私有线缆或光纤网络等,或者它们的任意组合。此外,无线网络例如可以是蜂窝网络并且可以采用各种技术,包括增强型全球演进数据速率(EDGE)、通用分组无线服务(GPRS)、全球移动通信系统(GSM)、因特网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等,以及任意其它适当无线介质,例如全球微波接入互操作性(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真度(WiFi)、无线LAN(WLAN)、因特网协议(IP)数据广播、卫星、移动自组织网络(MANET)等,或者其任意组合。
UE105和代理平台101之间使用已知、新的或仍在开发的协议而经由通信网络103进行通信。在该环境中,协议包括定义通信网络105内的网络节点如何基于在通信链路上发送的信息而互相交互的规则集合。协议在每个节点的不同操作层面生效,从生成和接收各种类型的物理信号,到选择用于传输那些信号的链路,到那些信号所指示的信息格式,到标识在计算机系统上执行的哪个软件应用发送或接收信息。概念上有所不同的用于通过网络交换信息的协议层在开放系统互连(OSI)参考模型中有所描述。
网络节点之间的通信通常通过交换离散的数据分组来起效。每个分组通常包括(1)与特定协议相关联的报头信息,以及(2)跟随在报头信息之后并且包含可以独立于特定协议进行处理的有效载荷信息。在一些协议中,分许包括(3)跟随在有效载荷之后并且指示有效载荷信息结束的报尾信息。报头包括诸如分组来源、其目的地、有效载荷长度之类的信息以及协议所使用的其它属性。通常,特定协议的有效载荷中的数据包括与OSI参考模型的不同的较高层相关联的不同协议的报头和有效载荷。特定协议的报头通常指示其有效载荷中所包含的下一个协议的类型。较高层协议被视为封装在较低层协议之中。如OSI参考模型所定义的,遍历诸如因特网的多个异构网络的分组中所包括的报头通常包括物理(层1)报头、数据链路(层2)报头、因特网络(层3)报头和传输(层4)报头,以及各种应用(层5、层6和层7)报头。
在一个实施例中,代理客户端107和代理平台101根据客户端-服务器模型进行交互。注意到,计算机处理交互的客户端-服务器模型是被广泛获知和使用的。根据该客户端-服务器模型,客户端处理向服务器处理发送包括请求的消息,并且服务器处理通过提供服务进行响应。服务器处理还可以向客户端处理发送具有响应的消息。客户端处理和服务器处理通常在被称作主机的不同计算机设备上执行,并且使用一种或多种用于网络通信的协议来经由网络进行通信。术语“服务器”常规地被用来指代提供该服务的处理,或者处理在其上进行操作的主机计算机。类似地,术语“客户端”常规地被用来指代做出请求的处理,或者处理在其上进行操作的主机计算机。如本文中所使用的,除非从上下文明确为其它含义,否则术语“客户端”和“服务器”是指处理而不是主机计算机。此外,除其它之外,出于包括可靠性、可扩展性和冗余性在内的原因,服务器所执行的处理可以被划分以作为多个处理在多个主机(有时称作层(tier))上运行。
图2是根据一个实施例的用于针对媒体重复使用而提供分布式脚本处理的代理服务器的部件的示图。作为示例,代理平台101包括一个或多个用于提供分布式脚本处理的部件。认识到,这些部件的功能可以在一个或多个部件中进行合并或者由等同功能的其它部件所执行。在一个实施例中,代理平台101包括浏览器呈现引擎201,其用于基于一个或多个脚本处理事件而呈现web内容。更具体地,浏览器呈现引擎210对web代码和脚本(例如,HTML、CSS、JavaScript)进行解译以生成或者以其它方式更新文档对象模型(DOM)203而表示web内容的呈现。代理平台101然后使用规范化模块205来至少部分地基于代理客户端107的能力和或要求而处理或修改DOM203。规范化模块205然后与串行化模块207进行交互以生成或呈现要发送至代理客户端107以便进行显示的web文档。在一个实施例中,串行化模块207具有到图像列表模块209的连接以提供至少部分地与媒体重复使用或智能图像更新相关的脚本处理功能。作为示例,智能图更新是一种用于代理客户端107在使用分布式脚本时重复使用单个网页上的图像的机制。
传统上,代理客户端107将不会跨越针对代理平台101的请求而在存储器中存储图像。结果,代理平台101将必须下发所请求web内容中所包含的整个图像集合。对于针对新页面以及相同页面请求的请求都将如此。在一个实施例中,相同页面请求是如下的web内容请求,其返回至代理平台101但是并不改变正被请求的地址或通用资源定位(URL)的完整路径。大多数相同页面请求是诸如回调(callback)的脚本事件(例如,JavaScript事件)。在一个实施例中,利用智能图像更新,代理客户端107跨相同页面请求而在存储器中保存图像。
为了在服务器侧执行智能图像更新或媒体重复使用,代理平台101保存至少两个图像列表209。一个图像列表209是当前请求列表,其维持有当前请求的DOM203中的媒体项目的列表。另一个图像列表209是当前页面列表,其维持有已经针对当前所处理的地址或RUL而下发至代理客户端的图像的列表。在一个实施例中,当前页面列表在该请求的URL或地址每次发生变化时被重置(清除或清空)。针对每个请求,代理平台101相对当前页面列表而检查当前请求列表中的媒体项目(例如,图像)。如果当前请求列表中的图像或媒体项目存在于当前页面列表中,则该图像或媒体项目并不被下发至代理客户端107,由此降低了网络流量和带宽使用。如果该图像或媒体项目不存在,则该图像或媒体项目被发送至代理客户端107并且被添加到当前页面图像列表。
图3A是根据一个实施例的用于针对执行部分更新而提供分布式脚本处理的代理服务器的部件的示图。如图3A所示,代理平台101包括与参考图2所描述的相同的部件,附加了用于执行部分更新的DOM比较模块301以及旧DOM303。如先前所描述的,如果回调仅改变了DOM或请求web内容的一部分,则代理平台101能够响应于脚本事件而执行部分页面更新,以例如减少传送至代理客户端107的数据量。
在一个实施例中,构建部分页面响应至少部分地基于确定web内容请求(例如,脚本回调请求)已经如何改变了web内容或旧DOM303。作为示例,这通过在执行回调请求之前保存DOM的副本(此后称作旧DOM303)来完成。DOM比较模块301然后能够将旧DOM303与处理该回调请求之后的DOM203(此后称作新DOM203)进行比较。在一个实施例中,DOM比较模块301使用一种算法来递归地并行通过两个DOM203和303(例如,深度优先)以寻找差异。虽然,以下描述是关于特定算法,但是认识到DOM比较模块301能够使用任意处理来确定DOM203和303之间的差异。当两个DOM203和303的节点被标识为不同时,DOM比较模块301能够在新DOM203中搜索具有ID属性的祖先节点(通过从递归返回)。如果找到了祖先节点,则该节点被添加到经修改节点的列表。如果没有找到具有ID属性的祖先节点,则DOM比较模块301并指并且不发送部分页面更新。
在一个实施例中,在节点被添加到经修改节点列表先前,DOM比较模块301能够从该列表中删除已经处于该列表之中的任意对向(subtending)节点。作为示例,DOM比较模块301通过在其开始递归地行进过每个节点的子节点时存储列表的大小来进行这一点。行进然后以刚被添加到经修改节点列表的父节点继续进行。注意到,没有理由对被添加到该列表的节点的任何更多子节点进行检查,因为子节点将已经受到了影响。
在另一个实施例中,DOM比较单元301将两个DOM203和303进行比较,模块301保持对新DOM203中尚未改变的节点的数量以及经修改节点列表中对向的节点的数量进行追踪。DOM比较模块301然后能够使用该信息作为用于确定是否推荐部分页面更新的因素之一。在一些实施例中,DOM比较模块301能够忽略被指定为不重要的属性和标签的子集。此外,DOM比较模块301能够被配置为忽略与不重要的空白空间相关联的节点。
图3B是根据一个实施例的描绘用于执行部分更新的文档对象模型(DOM)比较的示图。更具体地,图3B示出了回调请求之前的旧DOM303的结构并且回调请求之后的新DOM203由代理平台101进行处理。为了执行部分更新,代理平台101标识新DOM203中已经有何改变并且将该信息传达至代理客户端107。
DOM比较模块301将如何标识两个DOM203和303之间的差异的概述被概括如下:
·节点(1)匹配,利用第一(且仅有的)子节点(2)继续
·节点(2)匹配,利用第一(且仅有的)子节点(3)继续
·节点(3)匹配,利用第一(且仅有的)子节点(4)继续
·节点(4)匹配,由于没有子节点,故返回至具有另一个子节点(1)的第一祖先节点并且进行至它的下一个子节点(5)
·节点(5)匹配,利用第一子节点(6)继续
·节点(6)匹配,包括其属性节点(7),利用第一子节点(8)继续
·节点(8)匹配,包括其属性节点(9),利用第一(且仅有的)子节点(10)继续
·节点(10)不匹配:
ο返回值具有id属性(8)的第一节点
ο将(8)添加至列表
ο返回该节点的父节点(6)
ο利用该节点的下一个子节点(11)继续进行
·节点(11)匹配,利用第一(且仅有的)子节点(12)继续
·节点(12)不匹配:
ο返回值具有id属性(6)的第一节点
ο从该列表移除对向节点(8)
ο将(6)添加至该列表
ο返回该节点的父节点(5)
ο利用该节点的下一个子节点(13)继续进行
ο注意到我们并没有访问节点(6)的第三个子节点
·节点(13)匹配,由于没有子节点故返回至具有另一个子节点的第一祖先节点(没有任何节点)
·完成
在一个实施例中,一旦DOM比较模块301已经标识出具有对向改变的节点,则通过例如在MWL脚本命令(例如,JavaScript命令)集合中发送该改变而将这些改变传达至代理客户端。作为示例,具有对向改变的每个节点向响应中添加MWL“insertHTML”方法调用。该方法允许代理平台101利用表达为串的新HTML来替代针对指定节点的已有HTML。所要更新的节点通过其ID属性而被标识。如果回调处理创建了任何新的式样,则这通过向针对每种新式样的响应中添加MWL“addNewStyle”方法调用而被传输至代理客户端107。该“addNewStyle”方法调用在“insertHTML”方法调用先前被添加至该响应。
在一个实施例中,如果没有检测到改变,则向代理客户端107发送响应(例如,204HTTP NO CONTENT响应)。如果DOM比较模块301确定了改变如此大(例如,高于经修改节点的阈值)以至于部分页面更新是不合意的,则代理平台101能够发送包括整个新页面的HTML的响应。
作为示例,当代理客户端107接收到回调响应时,代理客户端107将适当对其进行处理。例如,如果从代理平台101接收到204(HTTP NO CONTENT)响应,则将不对代理客户端107上的DOM做出附加改变。如果代理平台101向代理客户端107发送了部分页面更新,则客户端107将在针对当前DOM的部分页面更新中执行MEL方法(例如,“insertHTML”和“addNewStyle”)。如果代理平台101的响应是针对整个新页面的HTML,则客户端将利用对应于新HTML的DOM来替换当前DOM。然而,在一些实施例中,代理客户端将保持使用来自旧页面的所有媒体(例如,图像),并且用于页面的所有MWL计时器将继续运行。
在一些实施例中,在代理客户端107处被执行的MWL语句(statement)能够改变DOM的状态,例如在显示内容的隐藏分块时。在这种情况下,代理平台101上的DOM将不会了解到在代理客户端107上做出的改变。因此,在没有DOM同步的情况下,当针对代理平台101进行回调请求时,所产生的响应会撤销在代理客户端107上所做出的改变。
为了避免这种情形,代理平台101和代理客户端107可以使用DOM同步。在具有DOM同步的情况下,在代理客户端107处所执行的每个事件处理器被追踪并且作为回调请求的一部分而被发送至代理平台101。代理客户端107将追踪在客户端上执行的所有事件处理器,以及它们所执行的顺序。当客户端执行MWL.callback()语句时,代理客户端107能够向服务器发送HTTP POST请求。该POST请求将包括DOM同步数据以及页面上的所有输入字段的当前数值,以及代理平台101用来将当前网页和浏览器会话与其它加以区分的所有其它数据。一旦代理客户端107向代理平台101发送MWL.callback()请求,代理客户端107就能够丢弃与先前所执行的事件处理器相关的信息。代理客户端107下一次执行MWL.callback()时,代理客户端107能够仅向代理平台101发送自先前的MWL.callback()起所执行的事件处理器的DOM同步数据。
在一个实施例中,在处理回调的同时,代理平台101将对回调请求中的DOM同步数据进行处理。针对每个DOM同步事件,代理平台101将从原始DOM得到事件处理器的竞争,提取任意MWL语句并且相对原始DOM而执行它们。在所有DOM同步事件都已经被处理之后,代理平台101上的原始DOM将具有与代理客户端107上的DOM相同的状态。在一些实施例中,代理平台101然后将对原始DOM进行规范化;这样做以使得同步处理所进行的任何改变将不会通过DOM比较处理而被重新发送回到代理客户端。
图4A是根据一个实施例的用于针对使用本地设备资源而提供分布式脚本处理的代理服务器的部件的示图。在一个实施例中,利用MWL进行针对本地设备资源的访问。如先前所提到的,MWL是用于对设备操作上的基础进行操作的脚本(例如,JavaScript)库。在一个实施例中,MWL能够在代理客户端107中被本机地实施。MWL方法被内联(inline)调用以在代理客户端107上执行。MWL方法的示例包括“addClass”、“removeClass”、“toggleClass”、“switchClass”、“setGroupTarget”、“setGroupNext”、“iterateClass”、“show”、“hide”、“toggle”、“setInputValue”、“insertHTML”、“replaceChild”、“scrollTo”等。如图4A中所示出的,用于使用本地设备资源(例如,MWL)的代理平台101的部件与关于图3A所描述的相同。
在这种情况下,代理平台101和代理客户端107支持MWL。作为示例,对MWL和非MWL脚本的支持使得能够在诸如onload、onunload、onclick、onchange等的事件上。代理平台101将在向代理客户端107发送之前除去(strip)非MWL脚本。在一个实施例中,MWL语句被单独留下并且保持在事件上所指定的顺序。非MWL语句则被汇聚并且被转换为将由代理客户端107发送至代理平台101的单个MWL.callback()语句,以供在发生可应用事件时进行服务器侧的脚本处理。
在另一个实施例中,代理平台101将在向代理客户端107发送DOM之前运行onload事件中所指定的所有非MWL脚本。该事件中任何其余的语句将是代理客户端应当在加载文档时运行的MWL语句。
在某些实施例中,一些事件处理器支持在代理客户端107上执行的MWL以及在代理平台101上执行的脚本(例如,JavaScript)。在转译期间,代理平台101能够检查每个事件处理器中的语句。MWL语句将照原来的样子被保留而任何脚本(例如,JavaScript)都将被MWL.callback()语句所替代,该MWL.callback()语句将向代理平台101做出请求以执行脚本语句并且返回对DOM所做出的任意更新。作为示例,针对添加综合事件监听器的MWL语句和在它们的自变量(argument)中支持脚本的MWL语句而执行类似的变换。
在一个实施例中,当代理客户端107利用MWL处理器检测到事件时,代理客户端将以该处理器所指定的顺序串行执行MWL中的所有方法。大多数MWL方法对DOM进行改变,并且一旦做出改变,代理客户端107将显示经更新的DOM。一些MWL方法(MWL.callback())要求向代理平台101发送请求并且在执行其它方法和更新DOM之前等待回复。
在又一个实施例中,所描述的脚本处理包括针对开始、运行和停止计时器的支持。代理平台101能够连同事件中的其它方法一起包括用于开始和停止计时器的方法。每种计时器方法指定计时器应当运行多少次、持续时间以及要在计时器运行时执行的MWL方法。当在代理客户端107上执行MWL开始计时器方法时,代理客户端107将确定该计时器所指定的方法下一次何时运行。代理客户端107能够在适当时刻运行计时器所指定的方法,并且如果剩下任何运行,则确定该计时器何时需要再次运行。MWL停止计时器方法能够停止已经被安排在未来时刻要运行的特定计时器(或所有计时器)的执行。
图4B是描绘根据一个实施例的用于针对使用本地设备资源而提供分布式脚本处理的过程的时序图。图4B是访问作为设备的本机功能(例如,地理定位)的本地设备资源的示例使用情形。网络过程由垂直线所表示。从一个过程到另一过程的步骤或消息由水平箭头表示。图4B中所表示的过程是代理客户端107、代理平台101和服务平台109。
在411,代理客户端107经由代理平台101向服务平台109发送针对URL的请求。作为响应,服务平台109向代理平台101返回内容(在413)。代理平台101例如经由JavaScript(JS)音频对内容进行处理(在415)并且遇到getCurrentPosition(geo())请求(在417)。代理平台101保存针对下一个响应的请求并且将位置请求(例如,geo())转换为回调格式并生成相对应的文档(在419)以便传输到代理客户端107(在421)。作为示例,geo()请求在文档中作为MWL命令(在回调中)而被发送并且被嵌入文档之中,例如onload()内容。
在425,代理客户端107呈现该文档(在423)并且针对getCurrentPosition执行本机功能(在425)。在一个实施例中,通过W3C HTML4Geolocation API来访问该地理位置,其能够通过GPS、小区塔台三角计算等确定客户端107的位置。当找到地理位置时,代理客户端107向代理平台101发送回调(MWL.callback())(在427)。代理平台101执行请求具有所提供的候选的地理位置的脚本(在429)并且计算所产生的页面更新(在431)。代理平台101然后能够向代理客户端107发送部分页面更新以供呈现(在433),该部分页面更新具有基于执行具有地理位置的脚本而修改的DOM。
图5是根据一个实施例的用于提供分布式脚本处理的过程的流程图。在一个实施例中,代理平台101执行过程500并且例如在包括如图10所示的处理器和存储器的芯片组中被实施。在步骤501,代理平台101接收从设备到代理服务器的、用于呈现包括一个或多个脚本的web内容的请求。该平台然后确定要执行的脚本处理的类型(在步骤503)。
换而言之,代理平台101处理和/或促进处理web内容、一个或多个脚本或者它们的组合以至少部分地引起确定(a)是否重复使用先前存储在该设备处的媒体来呈现web内容(在步骤505);(b)是否生成web内容的部分更新(在步骤507);(c)是否至少部分地引起使用设备的一个或多个本地资源来至少处理web内容、一个或多个脚本或者它们的组合中的至少一部分(在步骤509);或者(d)上述(a)、(b)和(c)项的组合。
代理平台101然后至少部分地基于针对设备的传输的确定(在步骤511)而至少部分地引起该web内容的呈现(在步骤513)。如以上所描述的,该呈现可以基于生成和/或修改结合有HTML代码、CSS、脚本等的文档对象模型,以便在该设备处呈现所请求的web内容。
图6是根据一个实施例的用于针对媒体重复使用而提供分布式脚本处理的过程的流程图。在一个实施例中,代理平台101执行过程600并且例如在包括如图10所示的处理器和存储器的芯片组中被实施。过程600是基于经由过程500进行的执行智能图像更新或其它媒体重复使用的确定。
因此,在步骤601,代理平台101处理和/或促进处理该请求以确定与所请求的web内容相关联的地址(例如,URL)。代理平台101还确定该请求是否至少部分地指定与web内容相关联的新地址(步骤603)。如果该地址是新地址,则代理平台101至少部分地引起当前页面媒体列表(例如,第一媒体列表)、当前请求媒体列表(例如,第二媒体列表)或者它们的组合的清除或重置(步骤605)。用于对web内容请求进行响应的任意媒体项目然后能够被添加至当前页面媒体列表。
如果地址不是新的(例如,指示web内容请求与先前的会话相关联),则代理平台101确定与涉及关联于该web内容的地址的一个或多个先前请求相关联的第一媒体列表(步骤607)。代理平台101还至少部分地引起与该请求相关联的第二媒体列表的生成(步骤609)。接下来,代理平台101至少部分地基于第一媒体列表和第二媒体列表的比较而确定是否重复使用先前存储在该设备处的媒体(步骤611)。在一个实施例中,先前存储在该设备处的媒体被高速缓存或者以其它方式跨多个web内容请求而被维持。
图7是根据一个实施例的用于针对执行部分更新而提供分布式脚本处理的过程的流程图。在一个实施例中,代理平台101执行过程700并且例如在包括如图10所示的处理器和存储器的芯片组中被实施。过程700是基于经由过程500进行的执行部分页面更新的确定。
在步骤701,代理平台101在至少部分地引起与在接收请求先前所呈现的web内容相关联的第一文档对象模型的存储。代理平台101然后处理和/或促进处理该请求以呈现与web内容相关联的第二文档对象模型(步骤703)。在步骤705,代理平台101至少部分地基于第一文档对象模型和第二文档对象模型的比较而确定第一文档对象模型、第二文档对象模型或者它们的组合中的已经改变的一个或多个节点。
在一个实施例中,代理平台101能够确定已经改变的一个或多个节点是否与一个或多个属性、一个或多个标签、一个或多个空白空间或者它们的组合的子集相关联(步骤707)。该子集例如可以与并不明显地影响DOM的标签或属性相关联。换而言之,这些节点的改变对于整个文档而言并不明显。如果这些改变并不明显,则代理平台101不执行部分更新(步骤709)。如果这些改变明显,则代理平台101然后能够确定已经改变的一个或多个节点与尚未改变的一个或多个节点的比率。代理平台101然后确定该比率是否指示改变的数量高于预定阈值(步骤711)。如果变化很大或很多,则代理平台101可以执行整个文档或网页的完整更新而不是部分更新。如果该比率指示变化低于阈值,则代理平台101可以至少部分地基于已经改变的一个或多个节点而执行部分更新(步骤713)。
图8是根据一个实施例的用于针对使用本地设备资源而提供分布式脚本处理的过程的流程图。在一个实施例中,代理平台101执行过程800并且例如在包括如图10所示的处理器和存储器的芯片组中被实施。过程800是基于经由过程500进行的使用本地设备资源进行脚本处理的确定。
此外,过程800假设设备的一个或多个本地资源至少部分地包括一个或多个本地脚本处理功能(例如,MWL)。因此,在步骤801,代理平台101确定一个或多个脚本中与能够由一个或多个脚本处理功能所执行的第一部分,一个或多个脚本中无法由一个或多个脚本处理功能所执行的第二部分,或者它们的组合。代理平台101然后至少部分地引起文档对象模型的生成,以供呈现所请求的web内容,该web内容包括用于本地执行的第一部分、用于在代理服务器执行的第二部分或者它们的组合(步骤803)。
在一些实施例中,该设备的一个或多个本地资源还包括一个或多个本机设备功能(例如,地理定位)。在这种场景下,代理平台101能够确定一个或多个脚本是用于访问一个或多个本机设备功能,并且然后确定至少部分地引起该设备提供一个或多个本机设备功能以供一个或多个脚本的执行。
在步骤805,代理平台101能够可选地确定与执行一个或多个脚本的第一部分、一个或多个脚本的第二部分或者它们的组合相关联的一个或多个计时器。在一个实施例中,一个或多个计时器在该设备处被管理以便协调一个或多个脚本的执行时序和/或顺序。
图9A-9D是根据各个实施例的在图1-8的处理中所使用的用户接口的示图。图9A描绘了初始加载社交web应用之后的用户接口901。例如,用户从代理客户端107选择web应用以便经由代理平台101进行处理。代理平台101例如从服务平台109请求web应用,该服务平台109返回与该web应用相关联的内容(例如,元数据、HTML、CSS、JavaScript、图像等)。代理平台101对用于创建DOM并且与针对web应用的JavaScript环境相关联的内容进行处理。代理平台101从DOM创建客户端优化的HTML/CSS文档并且包括被打包为MWL回调的JavaScript事件处理器。在这种情况下,MWL事件处理器被送往代理客户端107。
如用户接口901所示,web应用的馈送标签903被选择,并且馈送信息905连同控制按钮一起被呈现以示出更多信息。在该示例中,用户在馈送信息905的控制按钮上点击,这调用了对应的MWL事件处理器。如图9B的用户接口911中所示,本地DOM被更新以将馈送信息905向左滑动而揭示用于操控馈送905的附加控制913。由于MWL事件专门使用本地资源进行处理,所以无需与代理平台101进行交互来创建从用户接口901到用户接口911的变换。在一个实施例中,代理客户端107MWL本地动作被记入日志以便随后与代理平台101的DOM进行同步。
图9C和9D描绘了将本地MWL处理和代理平台101所进行的部分页面更新进行合并的示例。在图9C的用户接口921中,用户已经选择将标签切换至好友标签923。在标签923上进行点击时,MWL切换标签并且示出加载消息925。与此同时,调用回调并且所记录的MWL事件还随该回调一起被发送。在代理平台101,脚本引擎运行所记录的MWL事件以将代理平台101处的DOM与代理客户端107处的DOM进行同步。该回调还调用脚本事件处理器以将显示从馈送标签903改变为好友标签923。因此,代理平台101访问好友信息(例如,经由针对数据的AJAX请求)。所调用的脚本然后被用来修改DOM以给出好友信息。代理平台101标识针对DOM的改变,创建HTML代码段并且标识新的图像(例如,好友头像)以发送至代理客户端107以便进行呈现。如图9D的用户接口931所示,加载消息925现在被针对第一好友933和第二好友935的图像和信息所替代。
本文中所描述的用于提供分布式脚本处理的过程有利地可以经由软件、硬件、固件或者软件和/或固件和/或硬件的组合来实施。例如,本文中所描述的处理有利地可以经由(多个)处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等来实施。这样的用于执行所描述功能的示例性硬件在以下进行详细描述。
图10图示了可以在其上实施本发明的实施例的计算机系统1000。虽然计算机800关于特定装置或设备进行了描绘,但是认识到图10内的其它装置或设备(例如,网络部件、服务器等)能够部署系统1000的所图示的硬件和部件。计算机系统1000被编程(例如,经由计算机程序代码或指令)为如本文中所描述的提供分布式文本处理,并且包括诸如总线1010的通信机制,其用于在计算机系统1000的其它内部和外部部件之间输送信息。信息(也称作数据)被表示为可测量现象的物理表达形式,通常是电压,但是在其它实施例中包括诸如磁、电磁、压力、化学、生物、分子、原子、亚原子和量子交互之类的现象。例如,北极和南极磁场或者零和非零电压表示二进制数位(比特)的两个状态(0,1)。其它现象能够表示更高基准的数位。在测量先前的多个同时量子状态的重合表示量子位(qubit)。一个或多个数位的序列构成被用来表示字符的编号或代码的数字数据。在一些实施例中,被称作模拟数据的信息由特定范围内的可测量数值的近似连续体所表示。计算机系统1000或者它的一部分构成了用于执行提供分布式文本处理的一个或多个步骤的器件。
总线1010包括一个或多个信息的并行导体,以使得信息在耦合至总线1010的设备之间快速传输。用于处理信息的一个或多个处理器1002与总线1010进行耦合。
处理器(或多个处理器)1002对如与提供分布式文本处理相关的计算机程序代码所指定的信息执行一组运算。该计算机程序代码时指令或语句的集合,其提供由处理器和/或计算机系统用来执行指定功能的操作的指令。代码例如可以以被编译为处理器的本地指令集合的计算机编程语言进行编写。该代码还可以直接使用本地指令集合(例如,机器语言)进行编写。该组操作包括从总线1010取得信息以及将信息置于总线1010上。该组操作通常还包括比较两个或更多信息单元,偏移信息单元的位置,并且将两个或多个信息单元进行合并,诸如通过相加或相乘或者如OR、异或OR(XOR)以及与(AND)。可由处理器执行的该操作集合中的每个操作通过信息调用指令、诸如一个或多个数位的操作代码,而被呈现给处理器。要由处理器1002所执行的诸如操作代码序列的操作序列构成了处理器指令,其也被称作计算机系统指令或者简单地叫计算机指令。除其它之外,处理器可以单独或作为组合地被实施为机械、电、磁性、光学、化学或量子部件。
计算机系统1000还包括耦合至总线1010的存储器1004。诸如随机访问存储器(RAM)或者任意其它动态存储设备的存储器1004存储包括用于提供分布式文本处理的处理器指令在内的信息。动态存储器允许存储于其中的信息由计算机系统1000所改变。RAM允许存储在被称作存储器地址的位置处的信息单元独立于相邻地址的信息进行存储和检索。存储器1004还被处理器1002用来在处理器指令执行期间存储临时数值。计算机系统900还包括只读存储器(ROM)1006或者耦合至总线1010以便存储包括并不由计算机系统1000所改变的指令在内的静态信息的其它静态存储设备。一些存储器由易失性存储所组成,其在失去供电时丢失存储于其上的信息。诸如磁盘、光盘或闪存卡的非易失性(持久)存储设备1008也耦合至总线1010,以用于存储包括指令在内的信息,该信息即使在计算机系统1000关机或者以其它方式失去供电时也得以保持。
包括用于提供分布式文本处理的指令在内的信息被从外部输入设备1012提供至总线1010以便由处理器使用,该外部输入设备1012诸如包含由人类用户进行操作的字母数字按键的键盘或者传感器。传感器检测其附近的状况并且将那些检测变换为与用来表示计算机系统1000中的信息的可测量现象相兼容的物理表达形式。主要用于与人进行交互的耦合至总线1010的其它外部设备包括显示设备1014,诸如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)显示器、有机LED(OLED)显示器、等离子屏幕或者用于呈现文本或图像的打印机,以及诸如鼠标、轨迹球、光标方向键或运动传感器之类的用于控制显示器1014上所呈现的小型光标图像的位置并且发出与显示器1014上所呈现的图形要素相关联的命令的指示设备1016。在一些实施例中,例如在计算机系统1000在没有人类输入的情况下自动执行所有功能的实施例中,外部输入设备1012、显示设备1014和指向设备1016中的一个或多个被省略。
在所图示的实施例中,诸如专用集成电路(ASIC)1020之类的专用硬件耦合至总线1010。该专用硬件被配置为出于特殊目的而足够快速地执行并非由处理器1002所执行的操作。ASIC的示例包括用于为显示器1014生成图像的图形加速器卡、用于对网络上所发送的消息进行加密和解密的密码板、语音识别以及针对特殊外部设备的接口,该特殊外部设备诸如重复执行以硬件实施更为有效的一些复杂操作序列的机器人手臂和医疗扫描设备。
计算机系统1000还包括耦合至总线1010的通信接口1070的一个或多个实例。通信接口1070向诸如打印机、扫描仪和外部磁盘之类的利用其自己的处理器进行操作的各种外部设备提供单向或双向通信耦合。通常,该耦合具有连接至局域网络1080的网络链路1078,具有它们自身的处理器的各种外部设备被连接至该局域网络1080。例如,通信接口1070可以是个人计算机上的并行端口或串行端口或者是通用串行总线(USB)端口。在一些实施例中,通信接口1070是综合业务数字网络(ISDN)卡或者数字订户线路(DSL)卡,或者向相对应类型的电话线路提供信息通信连接的电话调制解调器。在一些实施例中,通信接口是将总线1010上的信号转换为用于同轴线缆上的通信连接的信号或者用于光纤线缆上的通信连接的光学信号的线缆调制解调器。作为另一个示例,通信接口1070可以是用于向诸如以太网的兼容局域网(LAN)提供数据通信连接的LAN卡。也可以实施无线链路。对于无线链路而言,通信接口1070发送或者接收或者既发送又接收包括红外和光学信号在内的电子、声音或电磁信号,其承载诸如数字数据之类的信息流。例如,在诸如类似蜂窝电话的移动电话的无线手持设备中,通信接口1070包括被称作无线电收发器的无线电带电磁传送器和接收器。在某些实施例中,通信接口1070使得到通信网络103的连接能够向UE105提供分布式脚本处理。
如本文中所使用的术语“计算机可读介质”是指参与向处理器1002提供包括用于执行的指令在内的信息的任意介质。这样的介质可以采取许多形式,包括但并不限于计算机可读存储介质(例如,非易失性媒介、易失性媒介)和传输媒介。诸如非易失性媒介的非瞬时媒介例如包括光盘或磁盘,诸如存储设备1008。易失性媒介例如包括动态存储器1004。传输媒介例如包括双绞线线缆、同轴线缆、铜线、光纤线缆以及通过没有线路或线缆的空间行进的载波,诸如光波或者包括无线电、光学和红外波在内的电磁波。信号包括通过传输媒介进行传送的振幅、频率、相位、极性或其它物理属性的人为瞬态变化。一般形式的计算机可读媒介例如包括软盘、柔性盘、硬盘、磁带、任意其它磁性介质、CD-ROM、CDRW、DVD、任意其它光学介质、打孔卡、纸带、光学标记页、具有孔洞图案的其它物理介质或者其它可光学标识的指示、RAM、PROM、EPROM、闪存EPROM、EEPROM、闪存、任意其它存储器芯片或卡盒、载波,或者计算机能够从其进行读取的任意其它介质。术语计算机可读存储介质在本文中被用来指代除传输媒介之外的任意计算机可读介质。
被编码在一个或多个有形媒介中的逻辑包括计算机可读存储媒介上的处理器指令或者诸如ASIC1020的专用硬件中的一个或二者。
网络链路1078通常使用传输媒体通过一个或多个网络向使用或处理信息的其它设备提供信息。例如,网络链路1078可以通过局域网1080提供到主机计算机1082或者到由因特网服务提供商(ISP)所操作的设备1084的连接。ISP设备1084进而通过网络中目前一般被称作因特网1090的公共全球分组交换通信网络来提供数据通信服务。
被称作服务器主机1098的连接至因特网的计算机存放响应于通过因特网所接收的信息而提供服务的过程。例如,服务器主机1092托管提供表示视频数据的信息以便在显示器1014进行呈现的过程。认识到,系统1000的部件能够在例如主机1082或服务器1092的其它计算机系统内以各种配置进行部署。
本发明的至少一些实施例涉及使用计算机系统1000来实施本文中所描述的一些或全部技术。根据本发明的一个实施例,那些技术由计算机系统1000响应于处理器1002执行存储器1004中所包含的一个或多个处理器指令的一个或多个序列来执行。这种也被称作计算机指令、软件和程序代码的指令可以从诸如存储设备1008或网络链路1078的另一计算机可读介质读入存储器1004。执行存储器1004中所包含的指令序列使得处理器1002执行本文中所描述的一个或多个方法步骤。在可替换实施例中,可以替代软件或者与之相结合地使用诸如ASIC1020之类的硬件。因此,除非本文中明确另外指出,否则本发明的实施例并不局限于硬件和软件的任何具体组合方式。
通过网络链路1078以及通过通信接口1070的其它网络进行传送的信号往来于计算机系统1000运送信息。除其它之外,计算机系统1000能够通过网络链路1078和通信接口1070而通过网络1080、1090发送和接收包括程序代码在内的信息。在使用因特网1090的示例中,服务器主机1098通过因特网1090、ISP设备1084、局域网络1080和通信接口1070传送由从计算机1000所发送的消息所请求的用于特定应用的程序代码。所接收的代码可以在其被接收时由处理器1002执行,或者可以存储在存储器1004或存储设备1008中或者存储在任意其它非易失性存储中以便然后执行,或者上述的二者。以这种方式,计算机系统1000可以获取载波上的信号形式的应用程序代码。
在向处理器1002运送指令或数据或者其二者的一个或多个序列以便执行时可以涉及到各种形式的计算机可读媒介。例如,指令和数据最初可以承载于诸如主机1082之类的远程计算机的磁盘上。该远程计算机将指令和数据加载到其动态存储器中并且使用调制解调器通过电话线路发送该指令和数据。计算机系统1000本地的调制解调器接收电话线路上的指令和数据并且使用红外传送器将该指令和数据转换为用作网络链路1078的红外载波上的信号。用作通信接口1070的红外检测器接收红外信号中所承载的指令和数据并且将表示该指令和数据的信息放到总线1010上。总线1010将该信息送至存储器1004,处理器1002从那里获取指令并且使用随指令发送的一些数据执行该指令。存储器1004中所接收的指令和数据可选地可以在被处理器1002执行先前或之后存储在存储设备1008上。
图11图示了可以在其上实施本发明的芯片组或芯片1100。芯片组1100被编程以如本文中所描述的提供分布式文本处理,并且例如包括参考图11所描述的整合在一个或多个物理封装(例如,芯片)的处理器和存储器部件。作为示例,物理封装包括结构组装件(例如,基板)上的一个或多个材料、部件和/或线路的部署以提供诸如物理强度、尺寸节约和/或电气交互限制的一个或多个特性。认识到,在某些实施例中,芯片组1100可以以单个芯片来实施。进一步认识到,在某些实施例中,芯片组或芯片1100可以被实施为单个“片上系统”。进一步认识到,在某些实施例中,例如将不会使用单独的ASIC并且如本文中所描述的所有相关功能都将由一个或多个处理器来执行。芯片组或芯片1100或者其部分构成了用于执行提供分布式文本处理的一个或多个步骤的装置。
在一个实施例中,芯片组或芯片1100包括通信机制,诸如用于在芯片组1100的部件之间输送信息的总线1101。处理器1103具有到总线1101的连接以执行例如存储在存储器1105中的指令和处理信息。处理器1103可以包括一个或多个处理核心,其中每个核心被配置为独立执行。多核处理器使得能够在单个物理封装内进行多重处理。多核处理器的示例包括两个、四个、八个或更多数量的处理核心。可替换地或除此之外,处理器1103可以包括经由总线1101串联配置的一个或多个微处理器以使得能够对指令、管线(pipelining)和多线程进行独立执行。处理器1103还可以与一个或多个专用部件一起来执行某些处理功能和任务,诸如一个或多个数字信号处理器(DSP)1107或者一个或多个专用集成电路(ASIC)1109。DSP1107通常被配置为独立于处理器1103实时处理实际信号(例如,声音)。类似地,ASIC1109能够被配置为无法由更为通用的处理器轻易执行的专用功能。用于辅助执行本文中所描述的发明功能的其它专用部件可以包括一个或多个现场可编程门阵列(FPGA)(未示出)、一个或多个控制器(未示出)或者一个或多个其它专用计算机芯片。
在一个实施例中,芯片组或芯片1100仅包括一个或多个处理器以及支持和/或涉及和/或用于一个或多个处理器的一些软件和/或固件。
处理器1103和伴随部件经由总线1101而具有到存储器1105的连接。存储器1105包括动态存储器(例如,RAM、磁盘、可写入光盘等)和静态存储器(例如,ROM、CD-ROM等),以便存储在被执行时实施本文中所描述的发明步骤以提供分布式文本处理的可执行指令。存储器1105还存储与发明步骤的执行相关联或者由其所生成的数据。
图12是根据一个实施例的能够在图1的系统中进行操作的用于通信的移动终端(例如,手机)的示例性部件的示图。在一些实施例中,移动终端1201或者其部分构成了用于执行提供分布式文本处理的一个或多个步骤的器件。总体上,无线电接收器经常在前端和后端特性方面进行定义。接收器的前端内包含所有的射频(RF)电路而后端则包含所有的基带处理电路。如本申请中所使用的,术语电路是指以下二者:(1)仅硬件的电路实施方式实现(诸如仅以模拟和/或数字电路的实施方式);(2)电路和软件(和/或固件)的组合(诸如,在可应用与特定环境的情况下,共同工作以使得诸如移动电话或服务器的装置执行各种功能的包括(多个)数字信号处理器的(多个)处理器、软件和(多个)存储器的组合。)。“电路”的这个定义应用于本申请中使用该术语的所有情况,包括任意权利要求。作为另一个示例,如在本申请中所使用的并且如果可应用于特定环境,术语“电路”还将覆盖仅为处理器(或多个处理器)及其伴随的软件和/或固件的实施方式。如果可应用于特定环境,则术语“电路”还将覆盖作移动电话中的基带集成电路或应用处理器集成电路,或者蜂窝网络设备或其它网络设备中类似的集成电路。
电话的相关内部部件包括主控制单元(MCU)1203、数字信号处理器(DSP)1205以及包括麦克风增益控制单元和扬声器增益控制单元在内的接收器/传送器单元。主显示单元1207向用户提供显示以支持各种应用和移动终端功能,该功能执行或支持提供分布式文本处理的步骤。显示器1207包括显示电路,其被配置为显示移动终端(例如,移动电话)的用户接口的至少一部分。因此,显示器1207和显示电路被配置为促进移动终端的至少一些功能的用户控制。音频功能电路1209包括麦克风1211以及对从麦克风1211输出的语音信号进行放大的麦克风放大器。从麦克风1211所输出的经放大的语音信号被送至编码器/解码器(CODEC)1213。
无线电段1215对功率进行放大并且转换频率以便经由天线1217与包括在移动通信系统中的基站进行通信。功率放大器(PA)1219和传送器/调制电路对MCU1203进行操作响应,其中如本领域已知的,来自PA1219的输出耦合至双工器1221或循环器或天线开关。PA1219还耦合至电池接口和功率控制单元1220。
在使用中,移动终端1201的用户向麦克风1211中讲话并且其声音连同任意所检测到的背景噪声一起被转换为模拟电压。该模拟电压然后通过模数转换器(ADC)1223而被转换为数字信号。控制单元1203将数字信号送至DSP1205中以便在其中处理,诸如话音编码、信道编码、加密和交织。在一个实施例中,经处理的语音信号被并未单独示出的单元使用蜂窝传输协议进行编码,该蜂窝传输协议诸如增强型全球演进数据速率(EDGE)、通用分组无线服务(GPRS)、全球移动通信系统(GSM)、因特网协议多媒介子系统(IMS)、通用移动电信系统(UMTS)等,以及任意其它适当无线介质,例如全球微波接入互操作性(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真度(WiFi)、卫星等,或者其任意组合。
经编码的信号然后被送至均衡器1225以便补偿在通过空中传输期间发生的诸如相位和振幅失真之类的任何依赖于频率的减损。在对比特流进行均衡之后,调制器1227将信号与RF接口1229中所生成的RF信号进行组合。调制器1227利用频率或相位调制而生成正弦波。为了准备用于传输的信号,上变频器1231将调制器1227所输出的正弦波与合成器1233所生成的另一个正弦波进行合并以实现所期望的传输频率。该信号然后通过PA1219发送以将信号增加至适当功率水平。在实际系统中,PA1219用作可变增益放大器,其增益由DSP1205根据从网络基站所接收的信息来控制。该信号然后在双工器1221内进行滤波并且可选地被发送至天线耦合器1235以匹配阻抗而提供最大功率传输。最后,该信号经由天线1217传送至基站。可以提供自动增益控制(AGC)以控制接收器的最后阶段的增益。该信号可以从那里被转发至远程电话,该远程电话可以为另一部蜂窝电话、任意其它移动电话或连接至公共交换电话网络(PSTN)或其它电话网络的固话。
传送至移动终端1201的语音信号经由天线1217被接收并且立即由低噪声放大器(LNA)1237所放大。下变频器1239降低载波频率同时解调器1241除去RF而仅留下数字比特流。该信号然后通过均衡器1225并且由DSP1205进行处理。数模转换器(DAC)1243对该信号进行转换并且所产生的输出通过扬声器1245而被传送至用户,这些全部都处于能够被实施为中央处理器(CPU)(未示出)的主控制单元(MCU)1203的控制之下。
MCU1203接收各种信号,包括来自键盘1247的输入信号。与其它用户输入部件(例如,麦克风1211)相结合的键盘1247和/或MCU1203包括用于管理用户输入的用户接口电路。MCU1203运行用户接口软件以促进用户对移动终端1201用于提供分布式文本处理的至少一些功能进行控制。MCU1203还向分别显示器1207和话音输出切换控制器输送显示命令和切换命令。另外,MCU1203与DSP1205交换信息并且能够访问可选地所结合的SIM卡1249和存储器1251。此外,MCU1203执行终端所需的各种控制功能。根据实施方式,DSP1205可以对语音信号执行各种常规的数字处理功能。此外,DSP1205从麦克风1211所检测的信号确定本地环境的背景噪声水平并且将麦克风1211的增益设置为所选择的用于对移动终端1201的用户的自然趋势进行补偿的水平。
CODEC1213包括ADC1223和DAC1243。存储器1251存储包括来电话音数据在内的各种数据并且能够存储包括例如经由全球因特网所接收的音乐数据在内的其他数据。软件模块可以存在于RAM存储器、闪存、寄存器或者本领域已知的任意其它形式的可写入存储介质中。存储器设备1251可以是单个存储器、CD、DVD、ROM、RAM、EEPROM、光学存储、磁盘存储、闪存存储或者能够存储数字数据的任意其它非易失性存储介质,但是并不局限于此。
可选地所结合的SIM卡1249例如承载诸如蜂窝电话号码、载体供应服务、订购细节和安全信息之类的重要信息。SIM卡1249主要用来在无线电网络上标识移动终端1201。卡1249还包含用于存储个人电话号码登记、文本消息和用户特定移动终端设置的存储器。
虽然已经结合多个实施例和实施方式对本发明进行了描述,但是本发明并不局限于此,而是涵盖落入所附权利要求范围之内的各种明显的修改和等同的配置。虽然本发明的特征在权利要求中以某些组合形式进行表达,但是认识到,这些特征能够以任意组合形式和顺序进行布置。
Claims (28)
1.一种方法,包括:
接收从设备到代理服务器的、用于呈现包括一个或多个脚本的web内容的请求;
处理和/或促进处理所述web内容、所述一个或多个脚本或者它们的组合,以至少部分地引起确定(a)是否重复使用先前存储在所述设备处的媒体来呈现所述web内容;(b)是否生成所述web内容的部分更新;(c)是否至少部分地引起使用所述设备的一个或多个本地资源来至少处理所述web内容、所述一个或多个脚本或者它们的组合中的一部分;或者(d)上述(a)、(b)和(c)项的组合;以及
至少部分地基于针对向所述设备的传输的确定而至少部分地引起所述web内容的呈现。
2.根据权利要求1所述的方法,进一步包括:
处理和/或促进处理所述请求以确定与所述web内容相关联的地址;
确定第一媒体列表,所述第一媒体列表与涉及关联于所述web内容的所述地址的一个或多个先前请求相关联;
至少部分地引起与所述请求相关联的第二媒体列表的生成;以及
至少部分地基于所述第一媒体列表和所述第二媒体列表的比较来确定是否重复使用先前存储在所述设备处的所述媒体。
3.根据权利要求2所述的方法,进一步包括:
确定所述请求至少部分地指定与所述web内容相关联的新地址;以及
至少部分地引起所述第一媒体列表、所述第二媒体列表或者它们的组合的清除。
4.根据权利要求1-3中任一项所述的方法,其中先前存储在所述设备处的所述媒体跨多个web内容请求而被维持。
5.根据权利要求1-4中任一项所述的方法,进一步包括:
至少部分地引起与在接收所述请求之前所呈现的web内容相关联的第一文档对象模型的存储;
处理和/或促进处理所述请求以呈现与所述web内容相关联的第二文档对象模型;以及
至少部分地基于所述第一文档对象模型和所述第二文档对象模型的比较而确定所述第一文档对象模型、所述第二文档对象模型或者它们的组合中已经改变的一个或多个节点,
其中所述web内容的所述部分更新至少部分地基于已经改变的所述一个或多个节点。
6.根据权利要求5所述的方法,进一步包括:
确定已经改变的所述一个或多个节点与尚未改变的一个或多个节点的比率;以及
至少部分地基于所述比率与一个或多个阈值的比较来确定是否生成所述部分更新。
7.根据权利要求5和6中任一项所述的方法,进一步包括:
确定已经改变的所述一个或多个节点与一个或多个属性、一个或多个标签、一个或多个空白空间或者它们的组合的子集相关联;以及
确定在确定是否生成所述部分更新时忽略与所述子集相关联的所述一个或多个节点。
8.根据权利要求1-7中任一项所述的方法,其中所述设备的所述一个或多个本地资源至少部分地包括一个或多个本地脚本处理功能,并且其中所述方法进一步包括:
确定所述一个或多个脚本中能够由所述一个或多个脚本处理功能执行的第一部分、所述一个或多个脚本中不能够由所述一个或多个脚本处理功能执行的第二部分、或者它们的组合;以及
至少部分地引起文档对象模型的生成,以供呈现内容,所述内容包括用于本地执行的所述第一部分、用于在所述代理服务器处执行的所述第二部分或者它们的组合。
9.根据权利要求8所述的方法,进一步包括:
确定与执行所述一个或多个脚本的所述第一部分、所述一个或多个脚本的所述第二部分或者它们的组合相关联的一个或多个计时器,
其中所述一个或多个计时器在所述设备处被管理。
10.根据权利要求1-9中任一项所述的方法,其中所述设备的所述一个或多个本地资源包括一个或多个本机设备功能,所述一个或多个本机设备功能至少部分地包括地理定位,并且其中所述方法进一步包括:
确定所述一个或多个脚本访问所述一个或多个本机设备功能;以及
确定至少部分地引起所述设备提供所述一个或多个本机设备功能以用于所述一个或多个脚本的执行。
11.一种装置,包括:
至少一个处理器;以及
至少一个存储器,包括用于一个或多个程序的计算机程序代码,
所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起至少部分地引起所述装置执行以下步骤,
接收从设备到代理服务器的、用于呈现包括一个或多个脚本的web内容的请求;
处理和/或促进处理所述web内容、所述一个或多个脚本或者它们的组合,以至少部分地引起确定(a)是否重复使用先前存储在所述设备处的媒体来呈现所述web内容;(b)是否生成所述web内容的部分更新;(c)是否至少部分地引起使用所述设备的一个或多个本地资源来至少处理所述web内容、所述一个或多个脚本或者它们的组合中的一部分;或者(d)上述(a)、(b)和(c)项的组合;以及
至少部分地基于针对向所述设备的传输的确定而至少部分地引起所述web内容的呈现。
12.根据权利要求11所述的装置,其中进一步引起所述装置:
处理和/或促进处理所述请求以确定与所述web内容相关联的地址;
确定第一媒体列表,所述第一媒体列表与涉及关联于所述web内容的所述地址的一个或多个先前请求相关联;
至少部分地引起与所述请求相关联的第二媒体列表的生成;以及
至少部分地基于所述第一媒体列表和所述第二媒体列表的比较来确定是否重复使用先前存储在所述设备处的所述媒体。
13.根据权利要求12所述的装置,其中进一步引起所述装置:
确定所述请求至少部分地指定与所述web内容相关联的新地址;以及
至少部分地引起所述第一媒体列表、所述第二媒体列表或者它们的组合的清除。
14.根据权利要求11-13中任一项所述的装置,其中先前存储在所述设备处的所述媒体跨多个web内容请求而被维持。
15.根据权利要求11-14中任一项所述的装置,其中进一步引起所述装置:
至少部分地引起与在接收所述请求先前所呈现的web内容相关联的第一文档对象模型的存储;
处理和/或促进处理所述请求以呈现与所述web内容相关联的第二文档对象模型;以及
至少部分地基于所述第一文档对象模型和所述第二文档对象模型的比较而确定所述第一文档对象模型、所述第二文档对象模型或者它们的组合中已经改变的一个或多个节点,
其中所述web内容的所述部分更新至少部分地基于已经改变的所述一个或多个节点。
16.根据权利要求15所述的装置,其中进一步引起所述装置:
确定已经改变的所述一个或多个节点与尚未改变的一个或多个节点的比率;以及
至少部分地基于所述比率与一个或多个阈值的比较来确定是否生成所述部分更新。
17.根据权利要求15和16中任一项所述的装置,其中进一步引起所述装置:
确定已经改变的所述一个或多个节点与一个或多个属性、一个或多个标签、一个或多个空白空间或者它们的组合的子集相关联;以及
确定在确定是否生成所述部分更新时忽略与所述子集相关联的所述一个或多个节点。
18.根据权利要求11-17中任一项所述的装置,其中所述设备的所述一个或多个本地资源至少部分地包括一个或多个本地脚本处理功能,并且其中进一步引起所述装置:
确定所述一个或多个脚本中能够由所述一个或多个脚本处理功能执行的第一部分、所述一个或多个脚本中不能够由所述一个或多个脚本处理功能执行的第二部分、或者它们的组合;以及
至少部分地引起文档对象模型的生成,以供呈现内容,所述内容包括用于本地执行的所述第一部分、用于在所述代理服务器处执行的所述第二部分或者它们的组合。
19.根据权利要求18所述的装置,其中进一步引起所述装置:
确定与执行所述一个或多个脚本的所述第一部分、所述一个或多个脚本的所述第二部分或者它们的组合相关联的一个或多个计时器,
其中所述一个或多个计时器在所述设备处被管理。
20.根据权利要求11-19中任一项所述的装置,其中所述设备的所述一个或多个本地资源包括一个或多个本机设备功能,所述一个或多个本机设备功能至少部分地包括地理定位,并且其中进一步引起所述装置:
确定所述一个或多个脚本访问所述一个或多个本机设备功能;以及
确定至少部分地引起所述设备提供所述一个或多个本机设备功能以用于所述一个或多个脚本的执行。
21.根据权利要求11-20中任一项所述的装置,其中所述装置是移动电话,所述移动电话进一步包括:
用户接口电路和用户接口软件,被配置为通过显示器的使用而促进对所述移动电话的至少一些功能的用户控制,并且被配置为对用户输入进行响应;以及
显示器和显示电路,被配置为至少显示所述移动电话的用户接口的一部分,所述显示器和显示电路被配置为促进对所述移动电话的至少一些功能的用户控制。
22.一种计算机可读存储介质,承载一个或多个指令的一个或多或多个序列,所述一个或多个指令在由一个或多个处理器执行时引起装置至少执行根据权利要求1-10中任一项所述的方法。
23.一种设备,包括用于执行根据权利要求1-10中任一项所述的方法的装置。
24.根据权利要求23所述的装置,其中所述装置是移动电话,所述移动电话进一步包括:
用户接口电路和用户接口软件,被配置为通过显示器的使用而促进对所述移动电话的至少一些功能的用户控制,并且被配置为对用户输入进行响应;以及
显示器和显示电路,被配置为至少显示所述移动电话的用户接口的一部分,所述显示器和显示电路被配置为促进对所述移动电话的至少一些功能的用户控制。
25.一种计算机程序产品,包括一个或多个指令的一个或多个序列,所述一个或多个指令在由一个或多个处理器执行时引起装置至少执行根据权利要求1-10中任一项所述的方法的步骤。
26.一种方法,包括促进对至少一个接口的访问,所述至少一个接口被配置为允许访问至少一个服务,所述至少一个服务被配置为执行根据权利要求1-10中任一项所述的方法。
27.一种方法,包括处理和/或促进处理(1)数据和/或(2)信息和/或(3)至少一个信号,所述(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于根据权利要求1-10中任一项所述的方法。
28.一种方法,包括促进创建和/或促进修改(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能,所述(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能至少部分地基于根据权利要求1-10中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161534564P | 2011-09-14 | 2011-09-14 | |
US61/534,564 | 2011-09-14 | ||
PCT/FI2012/050845 WO2013038053A1 (en) | 2011-09-14 | 2012-08-31 | Method and apparatus for distributed script processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103907113A true CN103907113A (zh) | 2014-07-02 |
Family
ID=47882673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280053119.4A Pending CN103907113A (zh) | 2011-09-14 | 2012-08-31 | 用于分布式脚本处理的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130212462A1 (zh) |
CN (1) | CN103907113A (zh) |
IN (1) | IN2014CN02731A (zh) |
WO (1) | WO2013038053A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915372A (zh) * | 2015-04-15 | 2015-09-16 | 北京金山安全软件有限公司 | 网页信息栏的显示方法和装置及系统 |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8275859B2 (en) * | 2009-03-31 | 2012-09-25 | International Business Machines Corporation | Selective partial updates of web content |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
JP2012252452A (ja) * | 2011-06-01 | 2012-12-20 | Ricoh Co Ltd | 情報処理装置、情報処理システム、及びプログラム |
US10417314B2 (en) * | 2012-06-14 | 2019-09-17 | Open Text Sa Ulc | Systems and methods of a script generation engine |
US9058400B2 (en) * | 2012-08-15 | 2015-06-16 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | HTTP performance enhancement based on delta transfer |
US20140053056A1 (en) * | 2012-08-16 | 2014-02-20 | Qualcomm Incorporated | Pre-processing of scripts in web browsers |
US20140053064A1 (en) | 2012-08-16 | 2014-02-20 | Qualcomm Incorporated | Predicting the usage of document resources |
US9898445B2 (en) | 2012-08-16 | 2018-02-20 | Qualcomm Incorporated | Resource prefetching via sandboxed execution |
CA2788100C (en) * | 2012-08-28 | 2022-07-05 | Ibm Canada Limited - Ibm Canada Limitee | Crawling of generated server-side content |
US20140115056A1 (en) * | 2012-10-22 | 2014-04-24 | Apple Inc. | Book thinning |
US10095663B2 (en) | 2012-11-14 | 2018-10-09 | Amazon Technologies, Inc. | Delivery and display of page previews during page retrieval events |
US10062091B1 (en) | 2013-03-14 | 2018-08-28 | Google Llc | Publisher paywall and supplemental content server integration |
US9503540B2 (en) * | 2013-05-09 | 2016-11-22 | Nokia Technologies Oy | Method and apparatus for asynchronous distribution of content |
NL2010823C2 (en) * | 2013-05-17 | 2014-11-24 | Insite Innovations And Properties B V | System and method for processing web-browsing information. |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US20150116363A1 (en) * | 2013-10-28 | 2015-04-30 | Sap Ag | User Interface for Mobile Device Including Dynamic Orientation Display |
US10282395B2 (en) | 2013-11-15 | 2019-05-07 | Sap Se | Handling timer-based resizing events based on activity detection |
US9692633B2 (en) | 2013-11-15 | 2017-06-27 | Sap Se | Role-based resource navigation |
US20150193399A1 (en) * | 2014-01-09 | 2015-07-09 | Nokia Corporation | Method and apparatus for determining partial updates for a document object model |
US10042521B1 (en) | 2014-05-22 | 2018-08-07 | Amazon Technologies, Inc. | Emulation of control resources for use with converted content pages |
US9563929B1 (en) | 2014-05-22 | 2017-02-07 | Amazon Technologies, Inc. | Caching of content page layers |
US11169666B1 (en) * | 2014-05-22 | 2021-11-09 | Amazon Technologies, Inc. | Distributed content browsing system using transferred hardware-independent graphics commands |
US9720888B1 (en) * | 2014-05-22 | 2017-08-01 | Amazon Technologies, Inc. | Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page |
US9563928B1 (en) | 2014-05-22 | 2017-02-07 | Amazon Technlogies, Inc. | Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages |
US9922007B1 (en) * | 2014-05-22 | 2018-03-20 | Amazon Technologies, Inc. | Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer |
US9454515B1 (en) | 2014-06-17 | 2016-09-27 | Amazon Technologies, Inc. | Content browser system using graphics commands and native text intelligence |
US10545749B2 (en) * | 2014-08-20 | 2020-01-28 | Samsung Electronics Co., Ltd. | System for cloud computing using web components |
CN104954195B (zh) * | 2015-04-22 | 2018-04-27 | 重庆邮电大学 | 一种基于多种网络数据业务的并发式流量发生系统 |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US9819762B2 (en) * | 2015-06-26 | 2017-11-14 | Cloudflare, Inc. | Method and apparatus for reducing loading time of web pages |
US11194885B1 (en) * | 2015-07-07 | 2021-12-07 | Google Llc | Incremental document object model updating |
US11194398B2 (en) * | 2015-09-26 | 2021-12-07 | Intel Corporation | Technologies for adaptive rendering using 3D sensors |
US10685029B2 (en) * | 2015-11-23 | 2020-06-16 | Google Llc | Information ranking based on properties of a computing device |
US10880272B2 (en) * | 2017-04-20 | 2020-12-29 | Wyse Technology L.L.C. | Secure software client |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
LT3767494T (lt) | 2017-08-28 | 2023-03-10 | Bright Data Ltd. | Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius |
WO2020174460A2 (en) | 2019-02-25 | 2020-09-03 | Luminati Networks Ltd. | System and method for url fetching retry mechanism |
US12026304B2 (en) | 2019-03-27 | 2024-07-02 | Intel Corporation | Smart display panel apparatus and related methods |
WO2020202135A2 (en) | 2019-04-02 | 2020-10-08 | Luminati Networks Ltd. | System and method for managing non-direct url fetching service |
US11379016B2 (en) | 2019-05-23 | 2022-07-05 | Intel Corporation | Methods and apparatus to operate closed-lid portable computers |
US11543873B2 (en) | 2019-09-27 | 2023-01-03 | Intel Corporation | Wake-on-touch display screen devices and related methods |
US11733761B2 (en) | 2019-11-11 | 2023-08-22 | Intel Corporation | Methods and apparatus to manage power and performance of computing devices based on user presence |
US11809535B2 (en) | 2019-12-23 | 2023-11-07 | Intel Corporation | Systems and methods for multi-modal user device authentication |
US11360528B2 (en) | 2019-12-27 | 2022-06-14 | Intel Corporation | Apparatus and methods for thermal management of electronic user devices based on user activity |
JP2024022916A (ja) * | 2022-08-08 | 2024-02-21 | キヤノン株式会社 | Webブラウジングシステム、通信端末、画像生成サーバ |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266681B1 (en) * | 1997-04-08 | 2001-07-24 | Network Commerce Inc. | Method and system for inserting code to conditionally incorporate a user interface component in an HTML document |
US6725424B1 (en) * | 1999-12-09 | 2004-04-20 | International Business Machines Corp. | Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing assistive technology support |
US7747782B2 (en) * | 2000-04-26 | 2010-06-29 | Novarra, Inc. | System and method for providing and displaying information content |
US7035907B1 (en) * | 2000-09-13 | 2006-04-25 | Jibe Networks, Inc. | Manipulating content objects to control their display |
US6880014B2 (en) * | 2001-09-24 | 2005-04-12 | International Business Machines Corporation | Method and system of use of transcode directives for distributed control of transcoding servers |
US7069497B1 (en) * | 2002-09-10 | 2006-06-27 | Oracle International Corp. | System and method for applying a partial page change |
US20040236824A1 (en) * | 2003-05-23 | 2004-11-25 | Millington Bradley D. | Post-cache substitution |
US8037081B2 (en) * | 2003-06-10 | 2011-10-11 | International Business Machines Corporation | Methods and systems for detecting fragments in electronic documents |
US20140250360A1 (en) * | 2004-05-28 | 2014-09-04 | Macromedia, Inc. | Visual merge utility |
SE531899C2 (sv) * | 2007-07-10 | 2009-09-01 | Agency 9 Ab | System för grafikhantering |
US20090070663A1 (en) * | 2007-09-06 | 2009-03-12 | Microsoft Corporation | Proxy engine for custom handling of web content |
US20090099931A1 (en) * | 2007-10-04 | 2009-04-16 | Cvon Innovations Ltd. | System, method and computer program for assocating advertisements with web or wap pages |
US7672938B2 (en) * | 2007-10-05 | 2010-03-02 | Microsoft Corporation | Creating search enabled web pages |
US9330191B2 (en) * | 2009-06-15 | 2016-05-03 | Microsoft Technology Licensing, Llc | Identifying changes for online documents |
US8555157B1 (en) * | 2010-01-21 | 2013-10-08 | Google Inc. | Document update generation |
US8539338B2 (en) * | 2011-04-11 | 2013-09-17 | Microsoft Corporation | Cooperative rendering cache for mobile browser |
US20140136952A1 (en) * | 2012-11-14 | 2014-05-15 | Cisco Technology, Inc. | Improving web sites performance using edge servers in fog computing architecture |
-
2012
- 2012-08-31 CN CN201280053119.4A patent/CN103907113A/zh active Pending
- 2012-08-31 WO PCT/FI2012/050845 patent/WO2013038053A1/en active Application Filing
- 2012-08-31 IN IN2731CHN2014 patent/IN2014CN02731A/en unknown
- 2012-09-12 US US13/612,298 patent/US20130212462A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915372A (zh) * | 2015-04-15 | 2015-09-16 | 北京金山安全软件有限公司 | 网页信息栏的显示方法和装置及系统 |
CN104915372B (zh) * | 2015-04-15 | 2018-11-20 | 北京金山安全软件有限公司 | 网页信息栏的显示方法和装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20130212462A1 (en) | 2013-08-15 |
IN2014CN02731A (zh) | 2015-07-03 |
WO2013038053A1 (en) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103907113A (zh) | 用于分布式脚本处理的方法和装置 | |
CN105190621B (zh) | 用于内容的异步分发的方法和装置 | |
CN103003797A (zh) | 用于分配计算闭包的方法和装置 | |
CN102939579B (zh) | 绑定用户接口元素和粒度反映处理的方法和装置 | |
CN102918529B (zh) | 索引生成和使用的方法和装置 | |
CN104798082A (zh) | 用于提供用于数据流的隐私策略的方法和装置 | |
CN102754098B (zh) | 用于安全跨站脚本的方法和装置 | |
CN103688244B (zh) | 用于为分布式计算提供端到端隐私的方法和装置 | |
CN103907329A (zh) | 用于实现离线web应用执行的方法和装置 | |
US8640225B2 (en) | Method and apparatus for validating resource identifier | |
CN103636273B (zh) | 用于改进多订户身份模块设备上的接收可用性的方法和装置 | |
CN102939514B (zh) | 用于位置服务的方法和装置 | |
CN105229707A (zh) | 用于提供增强现实对象的信息的本地同步的方法和装置 | |
CN102713904A (zh) | 利用可缩放的数据结构的方法和装置 | |
CN102082817A (zh) | 用于确保用户代理信息传输的方法和设备 | |
CN103069421B (zh) | 用于处理针对分区式索引的搜索请求的方法和装置 | |
CN104885486A (zh) | 对访问在线用户群组进行基于位置的授权 | |
US20110119601A1 (en) | Method and apparatus for presenting a web application instance to multiple user interfaces | |
CN103262077A (zh) | 用于用户标识的基于设备标识符的解决方案的方法和装置 | |
CN104220972A (zh) | 在混合现实中提供无缝交互的方法和装置 | |
CN102939604A (zh) | 用于上下文索引的网络资源的方法和装置 | |
CN103299300A (zh) | 提供输入建议的方法和装置 | |
CN104685489A (zh) | 用于在协作的同时交换状态更新的方法和装置 | |
CN103891392A (zh) | 用于基于电话簿的应用共享的方法和装置 | |
CN102939774A (zh) | 用于上下文索引的网络资源分段的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160203 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140702 |
|
WD01 | Invention patent application deemed withdrawn after publication |