CN102365636B - 用于再现页的设备和方法 - Google Patents
用于再现页的设备和方法 Download PDFInfo
- Publication number
- CN102365636B CN102365636B CN201080014078.9A CN201080014078A CN102365636B CN 102365636 B CN102365636 B CN 102365636B CN 201080014078 A CN201080014078 A CN 201080014078A CN 102365636 B CN102365636 B CN 102365636B
- Authority
- CN
- China
- Prior art keywords
- page
- dom
- asked
- content
- stored
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
若干方面涉及用于在计算装置上再现例如网页等页的设备和方法。所述设备和方法包含:接收对页的所请求实例的请求;以及确定所述页的所述所请求实例是否对应于存储在存储器中的用于所述页的文档对象模型DOM。另外,所述设备和方法包含:在所述页的所述所请求实例对应于存储在所述存储器中的所述DOM的情况下,检索对应于所述所请求实例的所述DOM的动态部分。所述动态部分可为所述页的所述所请求实例所独有的。此外,所述设备和方法包含与所述DOM的静态部分以一关系存储对应于所述页的所述所请求实例的所述DOM的所述动态部分。
Description
根据35 U.S.C.§119主张优先权
本专利申请案主张2009年10月6日申请的标题为“再现页的设备和方法(Apparatusand Methods of Rendering a Page)”的第61/248,909号临时申请案的优先权,且所述临时申请案转让给本案受让人,且特此以引用的方式明确地并入本文中;且主张2009年3月31日申请的标题为“用于促进高效本地高速缓存的方法和设备(Method andApparatus for Facilitating Efficient Local Caching)”的第61/165,238号临时申请案的优先权,且所述临时申请案转让给本案受让人,且特此以引用的方式明确地并入本文中。
技术领域
以下描述内容大体上涉及计算装置通信,且更明确地说,涉及再现页的设备和方法。
背景技术
在计算装置上再现页(例如网页)受所述页的文档对象模型(DOM)树影响。DOM树界定子母关系中的一个或一个以上节点,包含相应DOM节点及其样式属性的特性和/或属性。当启动页时,从高速缓冲存储器读取其.html文件,对其进行剖析,构造且接着内嵌DOM树,或应用外部级联样式表(css)。每当加载页时,就执行这些操作,且花费大量的时间,从而导致不甚满意的用户体验。
此外,此时间量在资源受限的环境中加剧,例如对于移动计算装置,例如移动电话、个人数字助理(PDA)或其它相对小的便携式装置,其在与非移动计算装置相比时具有相对有限的处理能力、存储器和/或通信处理量。因此,在移动计算装置的情况下用户体验更差。
因此,需要改进页的再现。
发明内容
以下内容呈现一个或一个以上方面的简化概述,以便提供对此些方面的基本理解。此概述不是所有预期方面的广泛综述,且无意确定所有方面的关键或重要元素,也无意划定任一或所有方面的范围。此概述的唯一目的是以简化形式呈现一个或一个以上方面的一些概念,作为稍后呈现的更详细描述的前言。
一个方面涉及一种用于在计算机装置上再现页的方法。所述方法可包含在计算机装置处接收对页的所请求实例的请求。另外,所述方法可包含确定所述页的所述所请求实例是否对应于存储在存储器中的用于所述页的文档对象模型(DOM)。存储在存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分。此外,所述方法还可包含在所述页的所述所请求实例对应于存储在所述存储器中的所述DOM的情况下,检索对应于所述所请求实例的所述DOM的动态部分。所述动态部分为所述页的所述所请求实例所独有的。此外,所述方法可包含与所述DOM的所述静态部分以一关系存储对应于所述页的所述所请求实例的所述DOM的所述动态部分。
另一方面涉及经配置以在计算机装置上再现页的至少一个处理器。所述处理器可包含第一模块,其用于在计算机装置处接收对页的所请求实例的请求。所述处理器还可包含第二模块,其用于确定所述页的所述所请求实例是否对应于存储在存储器中的用于所述页的文档对象模型(DOM)。存储在存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分。另外,所述处理器可包含第三模块,其用于在所述页的所述所请求实例对应于存储在所述存储器中的所述DOM的情况下,检索对应于所述所请求实例的所述DOM的动态部分。所述动态部分为所述页的所述所请求实例所独有的。所述处理器还可包含第四模块,其用于与所述DOM的所述静态部分以一关系存储对应于所述页的所述所请求实例的所述DOM的所述动态部分。
又一方面涉及一种用于在计算机装置上再现页的计算机程序产品。所述计算机程序产品可包含计算机可读媒体,其包含用于致使计算机在计算机装置处接收对页的所请求实例的请求的至少一个指令。所述计算机可读媒体还可包含用于致使计算机确定所述页的所述所请求实例是否对应于存储在存储器中的用于所述页的文档对象模型(DOM)的至少一个指令。存储在存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分。所述计算机可读媒体可进一步包含用于致使计算机在所述页的所述所请求实例对应于存储在所述存储器中的所述DOM的情况下检索对应于所述所请求实例的所述DOM的动态部分的至少一个指令。所述动态部分为所述页的所述所请求实例所独有的。此外,所述计算机可读媒体还可包含用于致使计算机与所述DOM的所述静态部分以一关系存储对应于所述页的所述所请求实例的所述DOM的所述动态部分的至少一个指令。
另一方面涉及一种设备。所述设备可包含用于在计算机装置处接收对页的所请求实例的请求的装置。另外,所述设备可包含用于确定所述页的所述所请求实例是否对应于存储在存储器中的用于所述页的文档对象模型(DOM)的装置。存储在存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分。所述设备还可包含用于在所述页的所述所请求实例对应于存储在所述存储器中的所述DOM的情况下检索对应于所述所请求实例的所述DOM的动态部分的装置。所述动态部分为所述页的所述所请求实例所独有的。所述设备可进一步包含用于与所述DOM的所述静态部分以一关系存储对应于所述页的所述所请求实例的所述DOM的所述动态部分的装置。
再一方面涉及一种用于在计算机装置上再现页的设备。所述设备可包含门户组件,其经配置以接收对页的所请求实例的请求。所述设备还可包含web组件,其经配置以确定所述页的所述所请求实例是否对应于存储在存储器中的用于所述页的文档对象模型(DOM)。存储在存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分。另外,所述设备可包含所述web组件,其经配置以在所述页的所述所请求实例对应于存储在所述存储器中的所述DOM的情况下,检索对应于所述所请求实例的所述DOM的动态部分。所述动态部分为所述页的所述所请求实例所独有的。所述设备可进一步包含所述web组件,其经配置以与所述DOM的所述静态部分以一关系存储对应于所述页的所述所请求实例的所述DOM的所述动态部分。
所描述的方面涉及一种用于在计算机装置上再现页的方法、设备或计算机程序产品,其包括用于执行以下操作的动作、装置或指令:在计算机装置处接收对页的所请求实例的请求;确定所述页的所述所请求实例是否对应于存储在存储器中的用于所述页的文档对象模型(DOM),其中存储在存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分;在所述页的所述所请求实例对应于存储在所述存储器中的所述DOM的情况下,检索对应于所述所请求实例的所述DOM的动态部分,其中所述动态部分为所述页的所述所请求实例所独有的;以及与所述DOM的所述静态部分以一关系存储对应于所述页的所述所请求实例的所述DOM的所述动态部分,以及任选地,根据对应于所述页的所述所请求实例的所述DOM的所述静态部分和所述DOM的所述动态部分来再现所述页的所述所请求实例。
为实现以上和相关目的,所述一个或一个以上方面包括下文充分描述以及在权利要求书中明确指出的特征。以下描述和附图详细陈述所述一个或一个以上方面的某些说明性特征。然而,这些特征仅指示可采用各个方面的原理的各种方式中的少数几种,且此描述希望包含所有此类方面及其等效物。
附图说明
下文将结合附图描述所揭示的方面,提供附图是为了说明而非限制所揭示的方面,其中相同名称表示相同元件,且其中:
图1是用于再现页的系统的一方面的示意图;
图2是共享DOM的一方面的示意图;
图3是图1的计算机装置的一方面的示意图;
图4是再现页的方法的一方面的流程图;
图5是再现页的第一实例的一方面的流程图;
图6是再现页的第二实例的一方面的流程图;
图7是根据一方面的用于促进高效本地高速缓存的示范性方法;
图8是根据一个方面的用于通过在将指令存储在高速缓冲存储器中之前对其进行处理来促进内容修改的示范性方法;
图9是根据一个方面的用于促进高速缓冲存储器中的结构化存储的示范性方法;
图10是根据一方面的实例主页的示意图;
图11是根据一方面的实例目录页的示意图;
图12是根据一方面的项目细节页的实例的示意图;以及
图13是根据一方面的项目细节页的另一实例的示意图;以及
图14是用于再现页的设备的一方面的示意图。
具体实施方式
现在参考图式描述各种方面。在以下描述中,出于阐释的目的,陈述大量具体细节,以便提供对一个或一个以上方面的彻底理解。然而,可能明显的是,可在没有这些具体细节的情况下实践此些方面。
所描述的方面涉及获取和再现页,例如具有web资源和数据项目的网页。另外,所描述的方面提供网页之间的虚拟转变效应,例如为用户提供链路以在网页之间向前和向后移动。根据对应的文档对象模型(DOM)来再现网页,所述DOM界定界定所述页的相应组件的成分、相对结构和行为。同一页的不同实例可共享DOM的一些共用部分,同时具有将页的一个实例与下一实例区分开的其它独有部分。
根据一个或一个以上方面,再现页的设备和方法提供可操作以创建可由所述页的两个或两个以上实例使用的共享DOM的web引擎或其它组件。所述共享DOM包含为页的不同实例所共用的静态DOM部分,以及为所述页的相应一个或一个以上实例独有的一个或一个以上动态DOM部分。由此,所描述的方面通过在再现页的对应于所存储或高速缓存DOM的新实例时再次使用静态DOM部分来改进页再现的效率,其可基于先前处理的同一页的不同实例,从而避免必须为所述页的每一实例创建全新的DOM。
举例来说,可参考使用情况(例如由移动电话执行的移动购物应用程序)来描述这些方面。然而,应理解,此实例使用情况仅用于说明,且存在许多其它使用情况。在移动购物应用程序实例中,对应于移动购物应用程序的网页可包含不同类型的页的树或层级,例如具有目录列表的主页、具有项目列表和/或其它目录列表的一个或一个以上目录页,以及一个或一个以上项目细节页,其还可链接到其它项目细节页,和/或例如标价或购买页等额外细节页。同一页的不同实例,例如用于第一游戏的项目细节页以及用于第二游戏的项目细节页,可共享类似结构和可能的一些类似数据,但其还可各自具有独有数据,例如每一相应游戏的名称。由此,通常,每一项目细节页具有一不同的对应DOM。然而,在本发明的方面中,项目细节页替代地具有共享DOM,其包含对应于页的不同实例之间的共用DOM元素的静态DOM部分,以及使独有数据项目与页的相应实例相关联的一个或一个以上动态DOM部分。举例来说,在此情况下,静态DOM部分可包括第一游戏项目细节页和第二游戏项目细节页的同一布局,而动态数据项目(例如第一游戏名称和第二游戏名称)由动态DOM项目部分表示。
换句话说,在一个方面中,当页(例如“项目细节”页)的独有实例从未被获取或高速缓存在计算机装置上,且所述页的所述实例被请求,那么所描述的方面提供导致获取页数据(例如,包含超文本标记语言(html)或可扩展html(xhtml)、级联表样式(css)和java脚本(js))且根据xhtml和css创建文档对象模型(DOM)的静态部分的行为。DOM的此静态部分存储在高速缓冲存储器中,且可再次使用。对于所述页,接着执行js,从而产生一个或一个以上数据请求(例如,XMLHttp请求(XHR))。对一个或一个以上响应中的每一者的初始js和处置导致为所述页的那个实例创建DOM的一个或一个以上动态部分。接着,当请求所述页的第二实例时,可再次使用静态DOM部分,且对对应于所述页的第二实例的请求的新查询串执行js,从而产生一个或一个以上新数据请求,且为所述页的新实例创建DOM的一个或一个以上动态部分。因此,共享DOM包含至少一个静态部分和一个或一个以上动态部分,从而使得DOM能够界定共享DOM,以用于再现页的不同实例。
因此,在一方面中,DOM的初始或静态状态或部分的再次使用减少了页转变时间。在一个或一个以上方面中,可通过维持对应于DOM的静态或动态状态或部分的单独或者整合的数据结构,来实现状态或DOM部分再次使用。
另外,在一个或一个以上方面中,一个或一个以上优点可包含:无或低存储器开销,因为仅复制特性表;页的快速加载,因为仅发生一次HTML的剖析和CSS规则的应用;与其它实施方案相比较清楚且较不复杂的代码,因为不需要为同一页的不同实例创建不同DOM;无对DOM树的额外预排,因为再现可在考虑静态DOM部分不改变的情况下集中于更新动态DOM部分;以及按照对页加载的需要创建动态特性,且在导航回到页的实例时在DOM的现有预排上去除所述动态特性。
任选地,在一些方面中,可高速缓存DOM和对应的页内容,且高速缓冲存储器可包含推导性高速缓冲存储器或结构化高速缓冲存储器。推导性高速缓冲存储器可存储从接收到的内容推导的内容。举例来说,在一个方面中,在接收到原始内容(例如但不限于,xhtml、级联表样式或java脚本)后,计算机装置可进一步处理所述原始内容以产生推导性内容。举例来说,在一方面中,应了解,推导性内容可包含DOM的静态部分,例如可根据接收到的xhtml和css创建和/或推导DOM的静态部分。可确定将(例如)推导性内容存储在推导性高速缓冲存储器中,因为所花费的用以产生推导性内容的资源相对昂贵。在一个方面中,推导性内容的此高速缓存可辅助通过使用此预先准备的推导性内容(例如,如果频繁使用所述内容)有效地促进所高速缓存的内容的后续使用。
推导性内容的另一实例可包含计算机装置在其从高速缓冲存储器检索待运行的程序时获取所述程序。不是每当计算机装置从高速缓冲存储器检索到程序时就编译所获取的程序,而是计算机装置可编译所述程序。经编译的程序或推导性内容可存储在推导性高速缓冲存储器中,准备好用于后续使用。另外,推导性内容可与接收到的来源相关联。
在另一方面中,计算机装置高速缓冲存储器可进一步包含结构化高速缓冲存储器。所述结构化高速缓冲存储器允许以一方式存储内容,使得检索程序或类似物可选择性地挑选经高速缓存的内容的有用部分以供检索。举例来说,在无本发明的设备和方法的情况下,经高速缓存的内容可表现为语义上难懂的内容,从而禁止对经高速缓存内容的部分的选择性检索。在一个方面中,可以例如允许检索存储在结构化高速缓冲存储器中的内容项目的选定已知部分而无需检索整个内容项目的方式组织结构化高速缓冲存储器。
举例来说,假定具有众所周知结构的内容(例如java脚本对象记号(JSON)内容)存储在结构化高速缓冲存储器中。另外,假定程序或类似物可仅使用JSON内容的较小部分,例如与制造商、标题等相关联的内容。结构化高速缓冲存储器允许选择性地去除仅所述内容的对程序有用的部分,从而减少可能已需要的任何中间处理。
在另一实例中,内容提供商可用传输到计算机装置的内容来引入原始服务器产生的进入点。由此,当具有原始服务器产生的进入点的内容存储在结构化高速缓冲存储器中时,可促进对由所述进入点界定的部分的后续去除。
任选地,在一些方面中,所描述的设备和方法可进一步包含可执行以在接收对页的请求之前获取和处理所述页的预获取操作。
任选地,在一些方面中,所描述的设备和方法可进一步包含可执行以在接收对页的请求之前将网页剖析为DOM并高速缓存对应的DOM的预推导操作。
任选地,在一些方面中,所描述的设备和方法可进一步包含预获取和预推导操作两者。
预获取操作和/或预推导操作可进一步增加再现页的实例的速度,从而改进从一个页转变到另一页时的用户体验。
因此,本发明的方面可通过再次使用DOM的静态部分来有效地再现页的不同实例,从而节省处理或通信资源或两者。
如本申请案中所使用,术语“组件”、“模块”、“系统”等意在包含与计算机有关的实体,例如但不限于硬件、固件、硬件与软件的组合、软件或执行中的软件。举例来说,组件可(但不限于)为在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。以说明的方式,在计算装置上运行的应用程序和计算装置两者均可为组件。一个或一个以上组件可驻留在进程和/或执行线程内,且组件可定位于一个计算机上和/或分布在两个或两个以上计算机之间。另外,这些组件可从上面存储有各种数据结构的各种计算机可读媒体执行。所述组件可借助于本地和/或远程过程(例如)根据具有一个或一个以上数据包(例如,来自一个借助于信号与本地系统、分布式系统中的另一组件且/或跨越例如因特网等网络与其它系统交互的组件的数据)的信号进行通信。
此外,本文结合终端(其可为有线终端或无线终端)来描述各种方面。终端还可称为系统、装置、订户单元、订户台、移动台、移动设备、移动装置、远程站、远程终端、接入终端、用户终端、终端、通信装置、用户代理、用户装置或用户设备(UE)。无线终端可为蜂窝式电话、卫星电话、无绳电话、会话起始协议(SIP)电话、无线本地环路(WLL)站、个人数字助理(PDA)、具有无线连接能力的手持式装置、计算装置或其它连接到无线调制解调器的处理装置。此外,本文结合基站来描述各种方面。基站可用于与无线终端通信,且还可被称为接入点、节点B或某一其它术语。
另外,词“示范性”在本文中用于表示充当实例、例子或说明。本文描述为“示范性”的任何方面或设计均不一定被解释为比其它方面或设计优选或有利。而是,词“示范性”的使用意在以具体方式呈现概念。此外,术语“或”意在表示包含性的“或”而不是排它性的“或”。就是说,除非另有指定,或根据上下文而清楚,否则短语“X使用A或B”意在表示自然的包含性排列中的任一者。也就是说,以下实例中的任一者均满足短语“X使用A或B”:X使用A;X使用B;或X使用A和B两者。另外,如本申请案和所附权利要求书中所使用的冠词“一”应大体上被解释为表示“一个或一个以上”,除非另有指定或根据上下文而清楚是针对单数形式。
本文所描述的技术可用于各种无线通信系统,例如CDMA、TDMA、FDMA、OFDMA、SC-FDMA和其它系统。术语“系统”与“网络”通常可互换使用。CDMA系统可实施无线电技术,例如通用陆地无线电接入(UTRA)、cdma 2000等。UTRA包含宽带CDMA(W-CDMA)和CDMA的其它变体。另外,cdma 2000涵盖IS-2000、IS-95和IS-856标准。TDMA系统可实施例如全球移动通信系统(GSM)等无线电技术。OFDMA系统可实施例如演进型UTRA(E-UTRA)、超移动宽带(UMB)、IEEE 802.11(Wi-Fi)、IEEE802.16(WiMAX)、IEEE 802.20、快闪OFDM等无线电技术。UTRA和E-UTRA是全球移动电信系统(UMTS)的一部分。3GPP长期演进(LTE)是UMTS的使用E-UTRA的版本,其在下行链路上使用OFDMA且在上行链路上使用SC-FDMA。UTRA、E-UTRA、UMTS、LTE及GSM被描述于来自名为“第三代合作伙伴计划”(3GPP)的组织的文献中。另外,cdma 2000和UMB描述于来自名为“第三代合作伙伴计划2”(3GPP2)的组织的文献中。另外,所述无线通信系统可另外包含对等(例如,移动装置到移动装置)专门网络系统,其常使用不成对的未经许可的频谱、802.xx无线LAN、蓝牙(BLUETOOTH)及任何其它短程或长程无线通信技术。
将依据可包含若干装置、组件、模块等的系统来呈现各种方面或特征。将理解并了解,各种系统可包含额外的装置、组件、模块等,且/或可不包含结合图而论述的所有装置、组件、模块等。还可使用这些方法的组合。
参看图1,在一个方面中,用于再现页(例如网页)的设备和方法包含计算机装置10,计算机装置10具有门户组件12,门户组件12与web引擎14交互,以实现页13(例如网页)的一个或一个以上实例在显示器15上的呈现。举例来说,可经由通信网络17从web服务器16和数据服务器18获得所显示的页13。web服务器16和数据服务器18(其可为单独或集成组件)分别存储web资源20和22以及数据项目24和26,其分别界定第一页实例28和第二页实例30。举例来说,web资源20和22可包含构造页的静态部分所需的任何东西,例如可填充有数据的空页模板,而数据项目24和26可包含用于填充页的任何内容,例如页的一个或一个以上动态部分。由此,web资源20和22的所有或某一部分为第一页实例28和第二页实例30两者所共用,而数据项目24和26的所有或某一部分为相应页实例所独有。
更具体地说,门户组件12(例如)基于识别页34的所请求实例的用户输入或门户组件12的启动而将所接收到的请求32传送到web引擎14。举例来说,所接收到的请求32可包含界定web资源的第一部分(例如通用资源定位符(URL))和界定要获取的特定数据的第二部分(例如查询串)。web引擎14包含匹配确定器36,其执行以确定页34的所请求实例(如由请求32识别)是否对应于所存储的用于所述页的文档对象模型(DOM)38。DOM 38界定子母关系中的一个或一个以上节点的树或层级,包含相应DOM节点及其样式属性的特性和/或属性,其实现所述页的再现。如果页34的所请求实例对应于所存储的DOM 38,那么迭代器组件40识别DOM 38的为页34的所请求实例和页44的一个或一个以上所存储实例两者所共用的一个或一个以上静态部分42。任选地,应注意,DOM 38可进一步包含页44的一个或一个以上所存储实例中的每一者所特有的一个或一个以上动态部分46。举例来说,页44的所存储实例可对应于第一页实例28,而页34的所请求实例可对应于第二页实例30。另外,基于请求32,迭代器组件40识别、创建和存储页34的所请求实例所特有的一个或一个以上动态部分48。由此,DOM38界定页的不同实例与一个或一个以上相应对应动态DOM部分之间的关系,所述对应动态DOM部分为每一页实例所独有,且进一步对应于由页的一个以上实例共享的一个或一个以上静态DOM部分。因此,DOM 38可称为共享DOM,因为DOM 38包含对于页44的所存储实例和页44的所请求实例来说相同的静态DOM部分。
或者,如果匹配确定器36确定页44的所请求实例与任何所存储DOM不匹配或无关,那么匹配确定器36操作以为所述页创建和存储新的DOM 39。可具有与共享DOM 38类似的结构的新DOM 39可接着稍后由匹配确定器36参考,以确定与对页的实例的后续请求的匹配。
在这些方面中,共享DOM 38可允许页34的所请求实例的较快再现,因为web引擎14不需要为对应于已经存储的DOM的页的新实例重构整个DOM结构。代替地,web引擎14可再次使用静态DOM部分42,且仅需要执行与对应于页34的所请求实例的一个或一个以上动态DOM部分48有关的处理。
另外,计算机装置10可包含可操作以执行脚本功能性的脚本引擎50。举例来说,web引擎14与脚本引擎50交互,以加载对应于所述页的脚本,所述脚本引擎50执行以注册对应的脚本功能。响应于从web引擎14接收到的加载事件,脚本引擎50进一步运行页脚本,且产生发送调用以起始对用于网页的实例的对应动态数据的获取。另外,在接收到动态数据之后,脚本引擎50可操作以例如经由DOM应用程序接口(API)应用所述数据,且将所述数据写入到对应的DOM。因此,基于针对页的相应实例而写入的动态数据,web引擎14产生并存储与相应的页实例相关联的一个或一个以上动态DOM部分。
另外,计算机装置10包含再现引擎52,再现引擎52与web引擎14交互。举例来说,响应于来自web引擎14的请求,再现引擎52可操作以绘画相应页的对应于一个或一个以上静态DOM部分的一个或一个以上部分,和/或对应于用于所述页的相应实例的一个或一个以上动态DOM部分的一个或一个以上部分。另外,再现引擎52与显示器15交互,以呈现页的经绘画部分,从而呈现所述页的相应实例。
因此,通过提供具有共享静态部分的DOM,所描述的方面可节约在获取对应于页的每一新实例的web资源的过程中的通信资源,或所描述的方面可通过再次使用静态DOM部分而节约在创建DOM的部分的过程中的处理资源。
参看图2,在一个方面中,可将共享DOM 38进一步阐释为表示由多个节点(例如节点62、64、66、68、70和72界定的模板结构60,且其进一步表示页的不同实例,例如第一页实例28、第二页实例30和第三页实例74。每一页实例(例如28、30和74)共享一个或一个以上共用节点(例如节点62、64、66、68和70)。然而,分别与每一页实例的每一节点相关联的页数据可不同。举例来说,页数据82、84、86、88和90分别对应于用于第一页实例28的节点62、64、66、68和70,而页数据92、94、96、98和100分别对应于用于第二页实例30的节点62、64、66、68和70,而页数据102、104、106、108和110分别对应于用于第三页实例74的节点62、64、66、68和70。另外,应注意,一些页实例可具有比其它页实例多或少的节点。举例来说,在图2中,第三页实例74包含额外节点72,从而具有相应的页数据112,这在任何其它页实例中未发现。
共享DOM 38界定节点、页数据和页实例之间的关系,其提供简单且高效的机制以识别和构造不同的页实例。举例来说,共享DOM 38识别用于相应页实例28、30和74的所有节点,包含共享节点62、64、66、68和70及其彼此相应的关系,以及任一实例所独有的任何节点,例如节点72。另外,共享DOM 38包含对应于每一节点的静态DOM部分122、124、126、128和130(例如共用部分),以及对应于每一节点的动态DOM部分或动态页数据,例如分别对应于针对节点62的实例28、30和74的动态数据82、92、102,分别对应于针对节点64的实例28、30和74的动态数据84、94和104,分别对应于针对节点66的实例28、30和74的动态数据86、96和106,分别对应于针对节点68的实例28、30和74的动态数据88、98和108,以及分别对应于针对节点70的实例28、30、和74的动态数据90、100和110。另外,共享DOM 38包含用于独有节点的动态DOM部分,例如对应于针对节点72的第三页实例74的动态数据112。
参看图3,在一个方面中,计算机装置10(例如移动或蜂窝式电话)可包含用于实行与本文所描述的组件和功能中的一者或一者以上相关联的处理功能的处理器150。处理器150可包含单组或多组处理器或多核处理器。此外,可将处理器150实施为集成处理系统和/或分布式处理系统。
计算机装置10可进一步包含存储器152,例如用于存储正由处理器150执行的应用程序的本地版本,且/或用于当前未正由处理器150执行或利用的数据、指令和/或应用程序的长期存储。在一个方面中,存储器152可进一步包括推导性高速缓冲存储器155。在接收到既定被高速缓存的内容后,计算机装置10可进一步处理接收到的内容以产生所推导的内容,且将推导性内容157存储在推导性高速缓冲存储器155中。在一个方面中,此处理可通过预先准备常用的推导性内容157来辅助有效地促进对经高速缓存内容的后续使用。在另一方面中,存储器152可包含结构化高速缓冲存储器159。结构化高速缓冲存储器159可允许以使得可通过挑选供检索的内容的选定已知部分来选择性地进行检索的方式而存储内容。在一个方面中,结构化高速缓冲存储器159以例如允许内容项目的选定已知部分存储在结构化高速缓冲存储器159中而无需检索整个内容项目的方式而组织。存储器152可另外存储与估计和/或利用信道(例如基于性能、基于容量等)相关联的协议和/或算法。在一个方面中,存储器152可进一步包括原始内容存储装置151。原始内容存储装置151可允许存储接收到的原始内容。
将了解,本文所描述的数据存储装置(例如,存储器152)可为易失性存储器或非易失性存储器,或可包含易失性和非易失性存储器两者。在一个方面中,可使用双存储器模型,其中第一层为基于文件系统的非易失性存储器,且第二层为堆结构易失性存储器。在此方面中,原始接收到的内容可存储在第一层中,且推导性内容可存储在第二层中。此外,在此方面中,第二层可比第一层更快速地被存取。以说明而非限制的方式,非易失性存储器可包含只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除PROM(EEPROM)或快闪存储器。易失性存储器可包含随机存取存储器(RAM),其充当外部高速缓冲存储器。以说明而非限制的方式,RAM以许多方式可用,例如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)和直接Rambus RAM(DRRAM)。本发明的系统和方法的存储器152可包括(但不限于)这些和任何其它合适类型的存储器。
另外,计算机装置10可包含通信组件154,通信组件154实现建立和维持与利用如本文所述的硬件、软件和服务的一个或一个以上实体的通信。通信组件154可进行计算机装置10上的组件之间以及计算机装置10与外部装置(例如位于通信网络上的装置和/或串联或本地连接到计算机装置10的装置)之间的通信。举例来说,通信组件154可包含一个或一个以上总线,且可进一步包含接口、一个或一个以上发射器或发射链组件,以及一个或一个以上接收器或接收链组件,其可操作以与外部装置介接。举例来说,此发射器和接收器可实现根据一种或一种以上技术或协议的有线或无线通信。
计算机装置10可另外包含用户接口组件156,用户接口组件156可操作以接收来自计算机装置10的用户的输入158,且进一步可操作以产生输出160以向用户呈现。用户接口组件156可包含一个或一个以上输入装置,包含(但不限于)键盘、数字板、鼠标、触敏显示器、导航键、功能键、麦克风、话音辨识组件、能够接收来自用户的输入的任何其它机构,或其任何组合。另外,用户接口组件156可包含一个或一个以上输出装置,包含(但不限于)显示器、扬声器、触觉反馈机构、打印机、能够向用户呈现输出的任何其它机构,或其任何组合。
另外,如上文所述,计算机装置10可包含门户组件12,门户组件12可为web浏览器、窗口小部件或移动窗口小部件或web应用程序中的一者或任何组合。门户组件12可操作以与计算机装置10的用户,以及与计算机装置10的其它组件介接,以实现对网页的再现。
如上文所论述,web引擎14管理对DOM的匹配的确定,以及DOM的创建和存储。任选地,在一些方面中,web引擎14可包含获取管理器162以管理获取操作的时序和性能。举例来说,获取管理器162可实现对用于具有刚从参考页点击的链接的页的内容的预获取,其中参考页包含URL以执行预获取。在一方面中,举例来说,获取管理器162可在参考页的java脚本中执行预获取发现调用。在另一方面中,例如,获取管理器162可在页上标示或排序要获取的URL,因此可在接收对相应页的请求之前的页再现中处理这些标签或URL。举例来说,获取管理器162可包含用以确定页(例如列表中的邻近页、层级中的邻近页等)之间的关系的算法或功能,以便确定什么要预获取和何时预获取。在其它方面中,所描述的设备和方法可在当前页的HTML头部中包含已知URL的清单,其将由获取管理器162分析以用于预获取。在另一方面中,所描述的设备和方法可在参考页的HTML头部中包含每一可读页的URL的结构化清单,其将由获取管理器162分析以执行对每一可读页的预获取。在此方面的进一步推导中,所描述的设备和方法可将本地“下一页”清单与页元数据分开,将此作为对GRS的getPageManifest()调用而插入。这将允许服务器调谐预获取次序,而不必更新页的xhtml页。这是另一URL,因此expiry和ifmodified-since可控制此“高速缓存元数据”资源的高速缓存。在另一方面中,所描述的设备和方法可包含用较广泛的预获取策略调用来检索此元数据。此策略更新可包含针对整个模板集合的预获取排序。所述预获取排序可最初使用自举清单来键控和获取。
任选地,在一些方面中,web引擎14可包含推导管理器164,以在对页的相应实例的请求之前预推导DOM或DOM的部分。举例来说,再现延迟的大部分与使web文档被剖析为DOM且准备好再现有关。推导管理器164包含提供管理将网页推导为DOM和在需要所述页时之前高速缓存DOM中的层的算法或功能。推导管理器164使得此推导能够以智能方式发生,可能不在经由来自清单的指示首次下载时发生,而是推导和高速缓存可在web引擎14相对未用且需要相应页的可能性较高时发生。举例来说,推导管理器164的算法或功能可确定页(例如列表中的邻近页、层级中的邻近页等)之间的关系,以便确定什么要预推导和何时预推导一个或一个以上页。
应注意,获取管理器162和推导管理器164可组合在同一计算机装置10中,以改进在会话中第一次运行页的性能。
计算机装置10可进一步包含内容处置器166,以辅助在高速缓存之前处理内容。在一个方面中,内容处置器166允许计算机装置102确定是否从接收到的原始内容151产生推导性内容157。另外,内容处置器166可从通信网络接收处理指令168。在此方面中,通信网络可提供处理指令168以及待存储在计算机装置102处的内容。在一个方面中,处理指令168可允许一些服务器侧控制(例如通过通信网络),其传递到计算机装置102,以便以可比无处理指令168的情况更有效的方式在计算机装置102处对原始内容151执行变换等。在一个方面中,处理指令168可促进使推导性内容157与接收到的原始内容151相关联,以便允许有效的后续检索。举例来说,处理指令168可与图像一起传输,且可提供用于重新映射图像像素的指令。由此,与处理指令一起传送的内容的大小可能较小。并且,一旦大小较小的原始内容和处理指令被计算机装置102接收到,处理指令168便促进将所述内容扩展为较丰富的图像或较丰富的内容集合。内容处置器166可进一步包含结构参考169,以辅助处理接收到的内容。结构参考169可处理接收到的内容以促进结构高速缓冲存储器159中的结构化存储。
脚本引擎50(例如java脚本引擎)管理脚本功能的注册,以及页的给定实例的脚本的运行。再现引擎52产生或绘画页的给定实例的全部或若干部分,且将结果传送到用户接口156的组件,例如呈现于显示器15(图1)上的所显示页实例13。
现在转到图4,在操作中,在一个方面中,再现页的方法170包含在计算机装置处接收对页的所请求实例的请求(框172)。
所述方法进一步包含确定页的所请求实例是否对应于存储在存储器中的用于页的文档对象模型(DOM)。存储在存储器中的DOM对应于页的所存储实例,且包括对于页的所存储实例和所请求实例两者来说相同的静态部分(框174)。
另外,所述方法包含:在所述页的所述所请求实例对应于存储在存储器中的DOM的情况下,参考对应于所述所请求实例的所述DOM的动态部分。所述动态部分可为所述页的所请求实例所独有的(框176)。
所述方法还包含与所述DOM的静态部分以一关系存储对应于所述页的所请求实例的DOM的动态部分(框178)。任选地,所述方法进一步包含根据对应于页的所请求实例的DOM的静态部分和DOM的动态部分来再现所述页的所请求实例(框180)。
参看图5和图6,在一方面中,再现页的相应第一和第二实例的方法包含例如基于门户应用程序的用户输入或启动而请求页的第一实例(202、204、302、304)。所述方法进一步包含web引擎确定页的实例是否对应于存储在存储器或高速缓冲存储器中的DOM(206、306)。在207处,如果页的实例对应于存储在存储器或高速缓冲存储器中的DOM(例如预推导的DOM),那么所述方法继续到绘画过程(218)。然而,如果页的实例不对应于存储在存储器或高速缓冲存储器中的DOM,那么分别将对应的GET和响应传输到web服务器并从web服务器接收对应的GET和响应(208、210)。所述响应包含(例如)xhtml、css和java脚本。
在一些方面中,在211处,可执行对接收到的内容的预处理,例如推导接收到的内容以产生推导性内容。在一个方面中,从web服务器获得的原始内容可伴有处理指令。在从web服务器接收到原始内容后,内容处置器可即刻确定可在高速缓存接收到的原始内容之前还是同时执行额外处理。在一个方面中,处理指令辅助至少确定是否进一步处理接收到的原始内容。在另一方面中,接收到的原始内容可存储在结构化高速缓冲存储器中,如由与预原始内容相关联的已知结构所确定,例如可由结构参考、服务器产生的进入点等界定。一旦内容处置器确定可处理接收到的原始内容的至少一部分,内容处置器就处理接收到的原始内容的选定部分以产生推导性内容。推导性内容可存储在推导性高速缓冲存储器中。在一个方面中,推导性内容进一步与接收到的原始内容相关联,且相应地存储。举例来说,推导性内容可包含经编译的java脚本和/或经编译的css,以供随后在再现页的相应第一和第二实例中使用。如下文所论述,图7到图9说明用于预处理内容的各种方法。
接着,将响应数据存储在高速缓冲存储器中(212),且创建并存储静态DOM部分(214)。创建和存储静态DOM部分可包含:从响应推导内容;以及将所述内容变换为能够由web引擎处理的形式。举例来说,从响应推导内容可包含:剖析所述响应(例如,xhtml代码);以及从经剖析的信息创建DOM。另外,可构造规则,并将其应用于DOM以辅助创建静态DOM。所述规则可包含(例如)CSS规则,以及其它类型的规则。应了解,可将静态DOM存储在存储器或高速缓冲存储器中以供以后使用。在一个方面中,预处理静态DOM的全部或一部分(211),且因此静态DOM部分可包含推导性内容。或者,对于第二实例,找出和使用静态DOM部分(316)。在两种情况下,开始绘画过程以绘画和显示一个或一个以上静态DOM部分。更明确地说,web引擎开始绘画过程(218、318),且起始再现引擎以绘画静态部分(220、320)。再现引擎将经绘画的静态部分(222、322)转发到显示器,以显示一个或一个以上静态DOM部分(224、324)。注意,此绘画过程的时序可变化。另外,所推导的css内容(211)可用于在绘画过程(220、320)期间创建静态结构和文本。
另外,在获得响应和所存储的静态DOM部分之后,起始加载脚本操作(226、326),其中脚本引擎注册脚本功能(228、328),接收加载事件(230、330),且接着运行页脚本(232、332)。可在脚本功能(228、232、328、332)期间使用所推导的java脚本(211)。接着将XHR发送事件(234、334)传输到web引擎,web引擎检查以查看数据是否已经存储在高速缓冲存储器中(236、336)。如果是,那么在237和337处,可利用所存储的数据,且将其传递到脚本引擎(244、344)。如果不是,那么分别从数据服务器传输和接收数据获取和响应(238和240,338和340)。这可为XHR调用(238)和XHR结果(240)。在一些方面中,在241和341处,可执行对接收到的内容的预处理,如上文在211中所论述。如下文所论述,图7到图9说明用于预处理内容的各种方法。
将响应数据存储在高速缓冲存储器中(242、342),且将结果传递到脚本引擎(244、344),脚本引擎经由DOM API应用数据,且将所述数据写入到web引擎中的高速缓冲存储器(246和248,346和348)。web引擎接着针对数据的一个或一个以上动态部分而创建和存储用于给定实例的动态DOM部分(250、350)。web引擎可缓冲此DOM部分(252、352),因为绘画操作可能较耗资源。接着,web引擎起始绘画操作,类似于针对静态部分的上述操作,其导致创建页的给定实例。web引擎开始绘画过程(254、354),且起始再现引擎以绘画静态部分(256、356)。再现引擎将经绘画的静态部分(258、358)转发到显示器,以用于显示一个或一个以上静态DOM部分(260、360),从而导致创建页的给定实例(262、362)。另外,注意,所推导的css内容(241、341)可用于在绘画过程(256、356)期间创建静态结构和文本。
任选地,在一些方面中,图5和图6的方法可包含如上文参考获取管理器162(图3)所述的一个或一个以上预获取操作(264、364)。应注意,预获取操作的图5和图6的操作序列中的时序可基于何时需要此预获取的确定而相对于所说明的动作而改变。另外,应注意,预获取操作可进一步包含额外的GET和响应,和/或XHR调用和结果,以及对应的先前和后续处理,如上文所述。
任选地,在一些方面中,图5和图6的方法可包含如上文参考推导管理器164(图3)所述的一个或一个以上预推导操作(266、366)。应注意,预推导操作的图5和图6的操作序列中的时序可基于何时需要此预推导的确定而相对于所说明的动作而改变。另外,应注意,预推导操作可进一步包含额外的GET和响应,和/或额外的XHR调用和结果,以及对应的先前和后续处理,如上文所述。
现在转到图7,说明用于促进高效本地高速缓存的示范性方法1000。在参考数字1002处,接收原始数据。在一个方面中,所述数据可伴有处理指令。所述数据可由计算机装置等接收,且所述数据可源自服务器、通信网络等。举例来说,在一方面中,原始数据可包含css和java脚本。
在参考数字1004中,所述方法可包含确定接收到的数据是否为本地处理的候选者。举例来说,接收到的数据可包含提示进一步处理的处理指令。在另一方面中,接收到的数据可为提示进一步处理的已知数据类型,例如css或java脚本。如果确定不需要进一步处理,那么在参考数字1006处,可高速缓存接收到的数据。另外或任选地,在一个方面中,可高速缓存接收到的数据,而不管数据是否为进一步处理的候选者。相比而言,如果在参考数字1004处,确定提示进一步处理,那么在参考数字1008处,从接收到的内容产生本地推导的内容。在一个方面中,处理指令可引导内容处置器产生推导性内容。举例来说,可处理接收到的图像,以产生通常用于计算装置上的一个或一个以上大小。在另一实例中,可处理接收到的程序文件,以产生经编译的程序以供随后由计算装置使用。在又一实例中,可处理接收到的字体类型,以产生各种常用的色彩和/或大小变化,以供随后由计算装置使用。在参考数字1010处,将至少所述推导性内容存储在高速缓冲存储器中。在另一方面中,存储推导性内容和接收到的内容并使其相关联以辅助后续检索。在一个方面中,高速缓存原始数据以及一个或一个以上所推导的内容项目可通过消除在检索推导性内容项目之后的处理要求来改进所感知的应用性能。在又一方面中,将处理指令与推导性内容和接收到的内容一起存储,且用于使所推导的内容与接收到的内容相关联。
现在转到图8,说明根据一个方面的用于通过在将指令存储在高速缓冲存储器中之前对其进行处理来促进内容修改的示范性方法1100。在一个方面中,在参考数字1102处,计算装置可请求、获取等将存储在高速缓冲存储器中的内容。在此方面中,所述请求可伴有协商指令。举例来说,所述请求可针对图像,其中伴随指令提供优选图像的可能像素范围。通常,在参考数字1104处,接收原始数据。此数据可伴有处理指令。在一个方面中,至少部分地响应于请求协商指令而产生这些处理指令。所述数据可由计算机装置等接收,且所述数据可源自服务器、通信网络等。
接下来将描述,在参考数字1106处,通过分析伴随的处理指令来确定接收到的数据是否为本地处理的候选者。如果处理指令不提示进一步处理,那么在参考数字1108处,可高速缓存接收到的数据。相反,如果在参考数字1106处,处理指令提示额外处理,那么在参考数字1112处,内容处置器可具备处理指令和接收到的内容。在参考数字1112处,使用处理指令作为向导从原始内容产生本地推导的内容,例如推导性内容。由此,服务器等可促进传输之后的原始内容的处理。举例来说,可通过处理指令提示内容处置器平滑接收到的图像的分级来处理接收到的图像以产生具有较小粒度的图像。
在参考数字1114处,将至少所述推导性内容存储在高速缓冲存储器中。在另一方面中,存储所推导的内容和接收到的内容并使其相关联以辅助后续检索。在又一方面中,将处理指令与所推导的内容和接收到的内容一起存储,且用于使所推导的内容与接收到的内容相关联。
现在转到图9,说明用于促进高速缓冲存储器中的结构化存储的示范性方法900。通常,在参考数字902处,接收语义上难懂的数据。在一个方面中,所述数据可伴有服务器产生的进入点,以允许对选定部分的结构化检索。在另一方面中,所述数据可具有已知结构。所述数据可由计算机装置等接收,且所述数据可源自服务器、内容提供商等。
接下来将描述,在参考数字904处,确定接收到的数据是否可与已知结构相关联。举例来说,接收到的数据可包含服务器产生的进入点,或可具有已知结构。如果确定数据未以允许进一步处理的方式结构化,那么在参考数字906处,可高速缓存接收到的数据。相反,如果在参考数字904处,确定提示进一步处理,那么在参考数字908处,可确定数据结构。举例来说,可用允许处理以促进选择性后续检索的已知结构来界定某些媒体类型。在参考数字910处,参考其已知内容来存储接收到的结构化内容。
在一个方面中,在参考数字912处,可接收对结构化内容的一部分的请求。在此方面中,在参考数字914处,可检索结构化内容的所请求部分。举例来说,可从高速缓冲存储器中的结构化内容选择性地检索与制造商或标题等相关联的信息,而不移除整个内容项目。
图10到图13中说明根据一方面的由移动电话执行的移动购物应用程序的一个说明性实例。现在转到图10,在一方面中,主页500(例如页的第一实例)可由用户请求且显示在移动装置上,如上文关于以上图1到图7而论述。主页500可包含具有与目录中的各种项目有关的信息的目录列表504。目录列表504可包含目录中的数据的类别列表(例如506a到506n)、目录中的项目的促销信息、目录中的项目的预览和/或描述,或要从目录购买的项目,以及其它信息。如果用户想要查看不同目录列表,那么用户可通过(例如)选择按钮502而移动购物应用程序中的不同目录列表。替代地或另外,用户可选择(例如)目录中的数据类别中的一者(例如“本周新品”506c,且移到用于选定类别的目录页。图11中说明目录页(例如,页的第二实例)的实例。
现在参看图11,在一方面中,目录页600可由用户请求,且显示在移动装置上,例如用户从主页500(图10)选择目录页600。当请求目录页600时,移动装置可确定目录页600是否具有对应于主页500和/或购物应用程序中的其它页的类似结构。在确定目录页600具有与主页500类似的结构后,移动装置可即刻从主页500的DOM检索和再次使用目录页600的类似结构。另外,移动装置可确定目录页600具有不同于主页500的结构,且可为目录页600独有的项目创建DOM。
目录页600可包含标题604,例如“本周新品”,其描述要购买的项目608a到608n的列表和/或项目类别606。类别可包含(例如)游戏、音乐、视频、热卖品、特色项目和/或推荐项目,以及其它类别。应了解,标题604可对应于用户在主页500(图10)上挑选的选择。另外,要购买的项目608a到608n可包含:名称612a到612n,其描述供购买的项目;所述项目的价格614a到614n;图标610a到610n,其说明且/或描述供购买的项目;所述项目的所显示评级616a到610n(例如概述与供购买的项目的质量和/或性能有关的数据的星级或文本);和项目的供应商,以及与供购买的项目有关的其它信息。应注意,供购买的项目可包含(例如)游戏、音乐、视频或书籍,以及其它项目。
举例来说,移动装置可确定标题604、要购买的项目608a到608n列表和/或具有与主页500中的特征类似的结构的项目类别606的类别(例如标题504、按钮502和列表506a到506n),且可从主页500的DOM检索和再次使用类似结构。另外,移动装置可确定标题的名称604(例如“本周新品”)、游戏的名称612a到612n、游戏的图标608a到608n、游戏的价格614a到614n,和/或游戏的评级616a到616n是目录页600所独有的,且因此,可为目录页600所独有的特征创建动态DOM。
因此,移动装置正为目录页600所独有的目录页600的部分创建动态DOM,且再次使用来自主页500的静态DOM的类似结构和/或实例。因此,允许目录页600的较快再现,因为移动装置不需要重构目录页600的整个DOM结构。
如果用户想要查看不同目录页,或返回到主页500,那么用户可通过(例如)选择按钮602而移到购物应用程序中的不同目录页。替代地或另外,用户可选择(例如)目录页600上所列举的类别和/或项目中的一者,例如游戏“游戏#5名称”612e,且移到项目页,例如页的另一第二实例。图12和图13中说明项目页(例如页的第二实例)的实例。
现在参看图12,在一方面中,项目细节页700可由用户请求,且显示在移动装置上,例如用户从目录页600(图11)选择项目细节页700。当请求项目细节页700时,移动装置可确定项目细节页700是否具有对应于目录页600、主页500和/或购物应用程序中的其它页的类似结构和/或实例。如上文关于图11所论述,移动装置可从主页500和/或目录页600的DOM检索和再次使用目录页600和/或主页500的类似结构。另外,移动装置可为项目细节页700的不与目录页600和/或主页500中的结构或项目匹配的部分创建DOM。
举例来说,移动装置可确定项目细节页700上的按钮702、游戏名称706、图标704、价格710和游戏评级708可具有与目录页600类似的结构或特征,且可从目录页600的DOM检索和再次使用类似结构。另外,移动装置可创建用于项目细节页700的不与目录页600和/或主页500中的结构或项目匹配的部分的DOM,例如对此项目选项702进行评级,更像这些推荐716。因此,移动装置正为项目细节页700的为项目细节页700所独有的部分创建动态DOM,且再次使用来自目录页600和/或主页500的类似结构和/或实例。因此,允许项目细节页700的较快再现,因为移动装置无需重构项目细节页700的整个DOM结构。
如果用户想要查看先前页,那么用户可选择按钮702以返回到购物应用程序中的先前页。替代地或另外,用户可选择(例如)项目细节页700上的另一项目,例如游戏“吉它英雄Ⅲ”718,且移到另一项目细节页,例如图13中所说明的项目细节页800。
现在转到图13,说明根据一方面的项目细节页800的另一实例。如上文关于图12而论述,移动装置可确定项目细节页800是否具有对应于项目细节页700、目录页600、主页500和/或购物应用程序中的其它页的类似结构和/或实例。移动装置可从项目细节页700、主页500和/或目录页600的DOM检索和再次使用项目细节页700、目录页600和/或主页500的类似结构。另外,移动装置可创建用于项目细节页800的不与项目细节页700、目录页600和/或主页500中的结构或项目匹配的部分的动态DOM。举例来说,在此情况下,静态DOM部分可包括项目细节页700的相同布局,而动态数据项目(例如游戏名称806、游戏评级808和游戏的价格810由动态DOM部分表示。
参看图14,说明再现经由内容提供商从web服务器和数据服务器接收到的页(例如网页)的设备400。在一些方面中,例如,设备400可驻留在移动装置内。如所描绘,设备400包含可表示由处理器实施的功能或软件或其组合(例如固件)的功能块。设备400包含电子组件的逻辑分组402,其促进接收对应于页的web资源和数据,以及再现所述页的实例。逻辑分组402可包含用于例如在计算机装置处接收对页的所请求实例的请求的装置404。另外,逻辑分组402可包含用于确定所述页的所请求实例是否对应于存储在存储器中的用于页的文档对象模型(DOM)的装置406,其中存储在存储器中的DOM对应于页的所存储实例,且包括对于所述页的所存储实例和所请求实例两者来说相同的静态部分。并且,逻辑分组402可包含用于在页的所请求实例对应于存储在存储器中的DOM的情况下检索对应于所请求实例的DOM的动态部分的装置408,其中所述动态部分为所述页的所请求实例所独有。另外,逻辑分组402可包含用于与DOM的静态部分以一关系存储对应于所述页的所请求实例的DOM的动态部分的装置410。任选地,逻辑分组402可包含用于根据对应于页的所请求实例的DOM的静态部分和DOM的动态部分来再现所述页的所请求实例的装置412。因此,设备400可在再现页的过程中有效地再次使用静态DOM部分,且创建并存储具有界定对应于页的相应一个或一个以上实例的一个或一个以上动态DOM部分的关系的共享DOM。
另外,设备400可包含存储器414,其保持用于执行与电组件404、406、408、410和任选地412相关联的功能的指令。虽然展示为在存储器414外部,但将理解,电组件404、406、408、410和任选地412可存在于存储器414内。
结合本文所揭示的实施例而描述的各种说明性逻辑、逻辑块、模块和电路可用经设计以执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一个或一个以上微处理器与DSP核心的联合,或任何其它此类配置。另外,至少一个处理器可包含一个或一个以上模块,所述模块可操作以执行上文所描述的步骤和/或动作中的一者或一者以上。
此外,结合本文中所揭示的方面而描述的方法或算法的步骤和/或动作可直接以硬件、以由处理器执行的软件模块或以所述两者的组合来体现。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体可耦合到所述处理器,使得所述处理器可从所述存储媒体读取信息和将信息写入到所述存储媒体。在替代方案中,存储媒体可与处理器成一体式。此外,在一些方面中,处理器和存储媒体可驻留于ASIC中。另外,ASIC可驻留于用户终端中。在替代方案中,处理器及存储媒体可作为离散组件驻留于用户终端中。另外,在一些方面中,方法或算法的步骤和/或动作可作为代码和/或指令中的一者或任何组合或集合而驻留于可并入到计算机程序产品中的机器可读媒体和/或计算机可读媒体上。
在一个或一个以上方面中,可以硬件、软件、固件或其任何组合实施所描述的功能。如果以软件实施,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体来传输。计算机可读媒体包含计算机存储媒体和通信媒体两者,通信媒体包含促进将计算机程序从一处传送到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。以实例而非限制的方式,此计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于以指令或数据结构的形式运载或存储所要程序代码且可由计算机存取的任何其它媒体。并且,任何连接均可被称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源来传输软件,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的界定中。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
虽然前述揭示内容论述说明性方面和/或实施例,但应注意,在不脱离由所附权利要求书界定的所描述方面和/或实施例的范围的情况下,可在本文中进行各种改变和修改。此外,尽管可以单数形式来描述或主张所描述的方面和/或实施例的元件,但涵盖复数形式,除非明确规定限于单数形式。另外,除非另有规定,否则任何方面和/或实施例的全部或一部分可与任何其它方面和/或实施例的全部或一部分一起利用。
Claims (24)
1.一种用于在计算机装置上再现页的方法,其包括:
在所述计算机装置处接收对所述页的所请求实例的请求;
确定所述页的所述所请求实例对应于存储在存储器中的用于所述页的文档对象模型DOM,其中存储在所述存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分;
响应于确定所述页的所述所请求实例对应于存储在所述存储器中的所述DOM,识别所述页的所述所请求实例所独有的动态部分;以及
将所述页的所述所请求实例所独有的所述动态部分存储在所述存储器内的所述DOM中,所述DOM对应于所述页的所述所存储实例和所述所请求实例,以界定所述DOM的所述静态部分与所述页的所述所请求实例所独有的所述动态部分之间的关系。
2.根据权利要求1所述的方法,其进一步包括根据所述所界定的所述DOM的所述静态部分和所述页的所述所请求实例所独有的所述DOM的所述动态部分之间的关系,再现所述页的所述所请求实例。
3.根据权利要求2所述的方法,其中所述再现进一步包括再次使用所述DOM的所述静态部分,并处理所述页的所述所请求实例所独有的所述DOM的所述动态部分。
4.根据权利要求1所述的方法,其进一步包括:
将原始内容接收到本地高速缓冲存储器;
响应于确定所述所接收的原始内容的至少一部分触发推导性处理,从所述所接收的原始内容的至少所述一部分产生推导性内容;
使所述推导性内容与用于产生所述推导性内容的所述所接收的原始内容的至少所述一部分相关联;以及
将所述推导性内容存储在所述本地高速缓冲存储器中。
5.根据权利要求4所述的方法,其进一步包括:
接收处理指令与所述原始内容;以及
应用所述处理指令以确定所述所接收的原始内容的至少所述一部分是否触发所述推导性处理,
其中产生所述推导性内容进一步包括使用所述处理指令来处理所述所接收的原始内容的至少所述一部分。
6.根据权利要求1所述的方法,其进一步包括:
将语义上难懂的内容接收到本地高速缓冲存储器;以及
根据已知结构将所述所接收的语义上难懂的内容的至少一部分存储在结构化高速缓冲存储器中,其中所述已知结构允许经由所界定的公式选择性地检索所述所存储的语义上难懂的内容的部分。
7.根据权利要求1所述的方法,其中所述所接收的请求进一步包括用于界定所述页的所述所请求实例的位置的第一部分,和用于界定将针对所述页的所述所请求实例而检索的数据的第二部分。
8.根据权利要求1所述的方法,其中所述DOM界定层级关系,所述层级关系表示至少所述页的所述所存储实例、所述页的所述所请求实例、所述页的所述所请求实例独有的所述动态部分、以及对于所述页的所述所存储实例和所述所请求实例两者为相同的所述静态部分之间的关系。
9.根据权利要求1所述的方法,其进一步包括在接收对所述页的所述所请求实例的所述请求之前,预推导和存储对于所述页的所述所存储实例和所述所请求实例两者为相同的所述静态部分于所述DOM中。
10.根据权利要求9所述的方法,其中所述预推导进一步包括:
剖析来自所述页的所述所请求实例的用于创建所述DOM的内容;以及
将用于创建对于所述页的所述所存储实例和所述所请求实例两者为相同的所述静态部分的规则应用于所述DOM。
11.根据权利要求1所述的方法,其进一步包括在接收对所述页的所述所请求实例的所述请求之前,从所述页的所述所请求实例预获取内容。
12.根据权利要求11所述的方法,其中所述预获取包含使用一个或多个算法以确定所述页的所述所请求实例与一个或多个邻近页之间的关系,并确定待从所述页的所述所请求实例预获取的所述内容。
13.一种用于在计算机装置上再现页的设备,其包括:
用于接收对页的所请求实例的请求的装置;
用于确定所述页的所述所请求实例对应于存储在存储器中的用于所述页的文档对象模型DOM的装置,其中存储在存储器中的所述DOM对应于所述页的所存储实例,且包括对于所述页的所述所存储实例和所述所请求实例两者为相同的静态部分;
用于响应于确定所述页的所述所请求实例对应于存储在所述存储器中的所述DOM,识别所述页的所述所请求实例所独有的动态部分的装置;以及
用于将所述页的所述所请求实例所独有的所述动态部分存储在所述存储器内的所述DOM中的装置,所述DOM对应于所述页的所述所存储实例和所述所请求实例,以界定所述DOM的所述静态部分与所述页的所述所请求实例所独有的所述动态部分之间的关系。
14.根据权利要求13所述的设备,其进一步包括用于根据所述所界定的所述DOM的所述静态部分和所述页的所述所请求实例所独有的所述DOM的所述动态部分之间的关系,再现所述页的所述所请求实例的装置。
15.根据权利要求14所述的设备,其中所述用于再现的装置进一步包括用于再次使用所述DOM的所述静态部分,并处理所述页的所述所请求实例所独有的所述DOM的所述动态部分的装置。
16.根据权利要求13所述的设备,其进一步包括:
用于将原始内容接收到本地高速缓冲存储器的装置;
用于响应于确定所述所接收的原始内容的至少一部分触发推导性处理,从所述所接收的原始内容的至少所述一部分产生推导性内容的装置;
用于使所述推导性内容与用于产生所述推导性内容的所述所接收的原始内容的至少所述一部分相关联的装置;以及
用于将所述推导性内容存储在所述本地高速缓冲存储器中的装置。
17.根据权利要求16所述的设备,其进一步包括:
用于接收处理指令与所述原始内容的装置,
用于应用所述处理指令以确定所述所接收的原始内容的至少所述一部分触发所述推导性处理的装置,
其中用于产生所述推导性内容的装置进一步包括用于使用所述处理指令来处理所述所接收的原始内容的至少所述一部分的装置。
18.根据权利要求13所述的设备,其进一步包括:
用于将语义上难懂的内容接收到本地高速缓冲存储器的装置;以及
用于根据已知结构将所述所接收的语义上难懂的内容的至少一部分存储在结构化高速缓冲存储器中的装置,其中所述已知结构允许经由所界定的公式选择性地检索所述所存储的语义上难懂的内容的部分。
19.根据权利要求13所述的设备,其中所述所接收的请求包括用于界定所述页的所述所请求实例的位置的第一部分,和用于界定将针对所述页的所述所请求实例而检索的数据的第二部分。
20.根据权利要求13所述的设备,其中所述DOM界定层级关系,所述层级关系表示至少所述页的所述所存储实例、所述页的所述所请求实例、所述页的所述所请求实例独有的动态部分、以及对于所述页的所述所存储实例和所述所请求实例两者为相同的所述静态部分之间的关系。
21.根据权利要求13所述的设备,其进一步包括用于在接收对所述页的所述所请求实例的所述请求之前,预推导和存储对于所述页的所述所存储实例和所述所请求实例两者为相同的所述静态部分于所述DOM中的装置。
22.根据权利要求21所述的设备,其中所述用于预推导的装置进一步包括:
用于剖析来自所述页的所述所请求实例的用于创建所述DOM的内容的装置;以及
用于将用于创建对于所述页的所述所存储实例和所述所请求实例两者为相同的所述静态部分的规则应用于所述DOM的装置。
23.根据权利要求13所述的设备,其进一步包括用于在接收对所述页的所述所请求实例的所述请求之前,从所述页的所述所请求实例预获取内容的装置。
24.根据权利要求23所述的设备,其中所述用于预获取的装置包括用于使用一个或多个算法来确定所述页的所述所请求实例与一个或多个邻近页之间的关系的装置以及用于确定待从所述页的所述所请求实例预获取的所述内容的装置。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16523809P | 2009-03-31 | 2009-03-31 | |
US61/165,238 | 2009-03-31 | ||
US24890909P | 2009-10-06 | 2009-10-06 | |
US61/248,909 | 2009-10-06 | ||
US12/730,967 US9311425B2 (en) | 2009-03-31 | 2010-03-24 | Rendering a page using a previously stored DOM associated with a different page |
US12/730,967 | 2010-03-24 | ||
PCT/US2010/029124 WO2010117748A2 (en) | 2009-03-31 | 2010-03-30 | Apparatus and methods for rendering a page |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102365636A CN102365636A (zh) | 2012-02-29 |
CN102365636B true CN102365636B (zh) | 2014-12-24 |
Family
ID=42935253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080014078.9A Expired - Fee Related CN102365636B (zh) | 2009-03-31 | 2010-03-30 | 用于再现页的设备和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9311425B2 (zh) |
EP (1) | EP2414972A2 (zh) |
JP (1) | JP5357326B2 (zh) |
KR (1) | KR101433434B1 (zh) |
CN (1) | CN102365636B (zh) |
BR (1) | BRPI1013133A2 (zh) |
WO (1) | WO2010117748A2 (zh) |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8245049B2 (en) * | 2004-06-14 | 2012-08-14 | Microsoft Corporation | Method and system for validating access to a group of related elements |
US9171097B2 (en) * | 2009-03-31 | 2015-10-27 | Qualcomm Incorporated | Memoizing web-browsing computation with DOM-based isomorphism |
EP2312473A1 (en) * | 2009-10-14 | 2011-04-20 | Research In Motion Limited | System, apparatus and method for processing content on a computing device |
EP2616999A1 (en) | 2010-09-17 | 2013-07-24 | Oracle International Corporation | Recursive navigation in mobile customer relations management |
US9275165B2 (en) | 2010-09-17 | 2016-03-01 | Oracle International Corporation | Method and apparatus for defining an application to allow polymorphic serialization |
CN103119588B (zh) | 2010-09-17 | 2017-04-05 | 甲骨文国际公司 | 用于预先呈现希望系统响应的方法和装置 |
JP2012088775A (ja) * | 2010-10-15 | 2012-05-10 | Fujifilm Corp | 画像配信システム及び画像配信方法 |
US11256666B2 (en) * | 2010-11-04 | 2022-02-22 | Speedment, Inc. | Method and apparatus for handling digital objects in a communication network |
TWI494781B (zh) * | 2011-01-21 | 2015-08-01 | Hon Hai Prec Ind Co Ltd | 網頁資訊保存系統及方法 |
US9075893B1 (en) * | 2011-02-25 | 2015-07-07 | Amazon Technologies, Inc. | Providing files with cacheable portions |
US8913067B1 (en) * | 2011-03-01 | 2014-12-16 | Google Inc. | GPU accelerated compositing on a multithreaded browser |
US8510237B2 (en) * | 2011-03-15 | 2013-08-13 | Qualcomm Incorporated | Machine learning method to identify independent tasks for parallel layout in web browsers |
US9104475B2 (en) | 2011-04-07 | 2015-08-11 | Qualcomm Innovation Center, Inc. | Methods and apparatus for managing operations of a web browser by predicting time period of subsequent script execution activity |
US8539338B2 (en) * | 2011-04-11 | 2013-09-17 | Microsoft Corporation | Cooperative rendering cache for mobile browser |
US8880991B2 (en) * | 2011-04-21 | 2014-11-04 | Qualcomm Innovation Center, Inc. | Methods and apparatus for improved browsing performance by precompilation of high-priority JavaScripts in a webpage and delaying the removal of corresponding compiled code |
US8438474B1 (en) * | 2011-04-27 | 2013-05-07 | Google Inc. | Speculative rendering during cache revalidation |
CA2738290C (en) * | 2011-04-28 | 2019-03-05 | Ibm Canada Limited-Ibm Canada Limitee | Exclusion of irrelevant data from a dom equivalence |
US9342274B2 (en) | 2011-05-19 | 2016-05-17 | Microsoft Technology Licensing, Llc | Dynamic code generation and memory management for component object model data constructs |
US8881101B2 (en) | 2011-05-24 | 2014-11-04 | Microsoft Corporation | Binding between a layout engine and a scripting engine |
CN102207974B (zh) * | 2011-06-23 | 2014-10-29 | 天津海量信息技术有限公司 | 一种上下文web页面合并方法 |
JP5803357B2 (ja) * | 2011-07-06 | 2015-11-04 | 株式会社リコー | 画面表示を高速化する画像処理装置、方法およびプログラム |
US8433719B1 (en) * | 2011-12-29 | 2013-04-30 | Google Inc. | Accelerating find in page queries within a web browser |
US10108737B2 (en) * | 2012-01-25 | 2018-10-23 | Microsoft Technology Licensing, Llc | Presenting data driven forms |
US8341516B1 (en) | 2012-03-12 | 2012-12-25 | Christopher Mason | Method and system for optimally transcoding websites |
CN103377039B (zh) * | 2012-04-13 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 一种网页游戏开发、解析方法、一种编辑器以及解析装置 |
US8977967B2 (en) | 2012-05-11 | 2015-03-10 | Microsoft Technology Licensing, Llc | Rules for navigating to next content in a browser |
CN103514179B (zh) * | 2012-06-21 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 网络浏览器切换历史网页的方法及网络浏览器 |
US9747386B1 (en) * | 2012-08-10 | 2017-08-29 | Amazon Technologies, Inc. | User-perceived performance through browser hints |
CN103729382B (zh) * | 2012-10-16 | 2018-08-03 | 腾讯科技(深圳)有限公司 | Wap页面的结构化显示方法及装置 |
US20150340981A1 (en) | 2012-10-26 | 2015-11-26 | Lord Corporation | Mechanical devices and method of creating prescribed vibration |
KR20140098532A (ko) * | 2013-01-31 | 2014-08-08 | 남희옥 | 페이지 검색 시스템 및 그 제공방법 |
WO2014130580A2 (en) * | 2013-02-19 | 2014-08-28 | Quick Eye Technologies Inc. | Data visualization techniques |
US9225737B2 (en) | 2013-03-15 | 2015-12-29 | Shape Security, Inc. | Detecting the introduction of alien content |
US8869281B2 (en) | 2013-03-15 | 2014-10-21 | Shape Security, Inc. | Protecting against the introduction of alien content |
US20140283038A1 (en) | 2013-03-15 | 2014-09-18 | Shape Security Inc. | Safe Intelligent Content Modification |
US8645494B1 (en) | 2013-03-15 | 2014-02-04 | Limelight Networks, Inc. | Two-file preloading for browser-based web acceleration |
US9338143B2 (en) | 2013-03-15 | 2016-05-10 | Shape Security, Inc. | Stateless web content anti-automation |
KR20140117122A (ko) * | 2013-03-26 | 2014-10-07 | 삼성전자주식회사 | 전자장치에서 동적으로 변하는 웹페이지 내용을 제어하는 방법 및 장치 |
US9430452B2 (en) | 2013-06-06 | 2016-08-30 | Microsoft Technology Licensing, Llc | Memory model for a layout engine and scripting engine |
US9699019B2 (en) | 2013-06-14 | 2017-07-04 | Microsoft Technology Licensing, Llc | Related content display associated with browsing |
US9477774B2 (en) * | 2013-09-25 | 2016-10-25 | Akamai Technologies, Inc. | Key resource prefetching using front-end optimization (FEO) configuration |
CN103678486A (zh) * | 2013-10-31 | 2014-03-26 | 北京优视网络有限公司 | 页面排版方法及系统 |
US9270647B2 (en) | 2013-12-06 | 2016-02-23 | Shape Security, Inc. | Client/server security by an intermediary rendering modified in-memory objects |
US8954583B1 (en) | 2014-01-20 | 2015-02-10 | Shape Security, Inc. | Intercepting and supervising calls to transformed operations and objects |
US9225729B1 (en) | 2014-01-21 | 2015-12-29 | Shape Security, Inc. | Blind hash compression |
US9489526B1 (en) | 2014-01-21 | 2016-11-08 | Shape Security, Inc. | Pre-analyzing served content |
US8893294B1 (en) * | 2014-01-21 | 2014-11-18 | Shape Security, Inc. | Flexible caching |
US10498663B2 (en) * | 2014-03-12 | 2019-12-03 | Amazon Technologies, Inc. | Profile-based cache management |
US9544329B2 (en) | 2014-03-18 | 2017-01-10 | Shape Security, Inc. | Client/server security by an intermediary executing instructions received from a server and rendering client application instructions |
US9477836B1 (en) | 2014-04-23 | 2016-10-25 | Shape Security, Inc. | Content modification in served code |
US9858440B1 (en) | 2014-05-23 | 2018-01-02 | Shape Security, Inc. | Encoding of sensitive data |
US9411958B2 (en) | 2014-05-23 | 2016-08-09 | Shape Security, Inc. | Polymorphic treatment of data entered at clients |
US9210171B1 (en) | 2014-05-29 | 2015-12-08 | Shape Security, Inc. | Selectively protecting valid links to pages of a web site |
US9083739B1 (en) | 2014-05-29 | 2015-07-14 | Shape Security, Inc. | Client/server authentication using dynamic credentials |
US9405910B2 (en) | 2014-06-02 | 2016-08-02 | Shape Security, Inc. | Automatic library detection |
WO2015196414A1 (en) | 2014-06-26 | 2015-12-30 | Google Inc. | Batch-optimized render and fetch architecture |
RU2638726C1 (ru) | 2014-06-26 | 2017-12-15 | Гугл Инк. | Оптимизированный процесс воспроизведения браузера |
EP3161662B1 (en) | 2014-06-26 | 2024-01-31 | Google LLC | Optimized browser render process |
US10089216B2 (en) | 2014-06-30 | 2018-10-02 | Shape Security, Inc. | Automatically determining whether a page of a web site is broken despite elements on the page that may change |
US9075990B1 (en) | 2014-07-01 | 2015-07-07 | Shape Security, Inc. | Reliable selection of security countermeasures |
JP6015967B2 (ja) * | 2014-07-02 | 2016-10-26 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ウェブ・ページを表示する装置およびプログラム |
US9003511B1 (en) | 2014-07-22 | 2015-04-07 | Shape Security, Inc. | Polymorphic security policy action |
US9753904B2 (en) * | 2014-07-25 | 2017-09-05 | Qualcomm Incorporated | Fast rendering of websites containing dynamic content and stale content |
US9438625B1 (en) | 2014-09-09 | 2016-09-06 | Shape Security, Inc. | Mitigating scripted attacks using dynamic polymorphism |
US9602543B2 (en) | 2014-09-09 | 2017-03-21 | Shape Security, Inc. | Client/server polymorphism using polymorphic hooks |
US10298599B1 (en) | 2014-09-19 | 2019-05-21 | Shape Security, Inc. | Systems for detecting a headless browser executing on a client computer |
US9740791B1 (en) | 2014-09-23 | 2017-08-22 | Amazon Technologies, Inc. | Browser as a service |
US9582600B1 (en) * | 2014-09-23 | 2017-02-28 | Amazon Technologies, Inc. | Cloud browser DOM-based client |
CN104281677A (zh) * | 2014-09-29 | 2015-01-14 | 百度在线网络技术(北京)有限公司 | 页面的展现方法及装置 |
US9325734B1 (en) | 2014-09-30 | 2016-04-26 | Shape Security, Inc. | Distributed polymorphic transformation of served content |
US9112900B1 (en) | 2014-09-30 | 2015-08-18 | Shape Security, Inc. | Distributed polymorphic transformation of served content |
US9800602B2 (en) | 2014-09-30 | 2017-10-24 | Shape Security, Inc. | Automated hardening of web page content |
CN104268246B (zh) * | 2014-09-30 | 2017-12-01 | 网智天元科技集团股份有限公司 | 生成访问互联网站点指令脚本的方法及访问方法和装置 |
US20160104130A1 (en) * | 2014-10-09 | 2016-04-14 | Wrap Media, LLC | Active receipt wrapped packages accompanying the sale of products and/or services |
US9608975B2 (en) | 2015-03-30 | 2017-03-28 | Shape Security, Inc. | Challenge-dynamic credential pairs for client/server request validation |
US20160334974A1 (en) * | 2015-05-14 | 2016-11-17 | Gilad GRAY | Generating graphical representations of data using multiple rendering conventions |
US9813440B1 (en) | 2015-05-15 | 2017-11-07 | Shape Security, Inc. | Polymorphic treatment of annotated content |
US9986058B2 (en) | 2015-05-21 | 2018-05-29 | Shape Security, Inc. | Security systems for mitigating attacks from a headless browser executing on a client computer |
US9965451B2 (en) * | 2015-06-09 | 2018-05-08 | International Business Machines Corporation | Optimization for rendering web pages |
US10230718B2 (en) | 2015-07-07 | 2019-03-12 | Shape Security, Inc. | Split serving of computer code |
US10417317B2 (en) | 2015-07-27 | 2019-09-17 | Adp, Llc | Web page profiler |
US10742764B2 (en) | 2015-07-27 | 2020-08-11 | Adp, Llc | Web page generation system |
US10324600B2 (en) * | 2015-07-27 | 2019-06-18 | Adp, Llc | Web page generation system |
CN105069243A (zh) * | 2015-08-19 | 2015-11-18 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于Catia的部件装配关系导出方法 |
US9807113B2 (en) | 2015-08-31 | 2017-10-31 | Shape Security, Inc. | Polymorphic obfuscation of executable code |
CN106557336A (zh) * | 2015-09-28 | 2017-04-05 | 中兴通讯股份有限公司 | 一种网页加载方法及装置 |
CN105511962B (zh) * | 2015-11-27 | 2019-03-08 | 华为技术有限公司 | 渲染方法和装置 |
US11157493B2 (en) * | 2015-12-30 | 2021-10-26 | Facebook, Inc. | Optimistic data fetching and rendering |
US10567363B1 (en) | 2016-03-03 | 2020-02-18 | Shape Security, Inc. | Deterministic reproduction of system state using seeded pseudo-random number generators |
US9917850B2 (en) | 2016-03-03 | 2018-03-13 | Shape Security, Inc. | Deterministic reproduction of client/server computer state or output sent to one or more client computers |
US10129289B1 (en) | 2016-03-11 | 2018-11-13 | Shape Security, Inc. | Mitigating attacks on server computers by enforcing platform policies on client computers |
US10447759B2 (en) * | 2016-05-27 | 2019-10-15 | Microsoft Technology Licensing, Llc | Web page accelerations for web application hosted in native mobile application |
JP6852359B2 (ja) * | 2016-11-16 | 2021-03-31 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
CN110442343A (zh) * | 2018-05-04 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 一种页面转换方法及页面转换装置 |
US10867005B1 (en) * | 2018-12-10 | 2020-12-15 | Amazon Technologies, Inc. | Dynamic content caching and rendering system |
CN111339455B (zh) * | 2018-12-18 | 2024-02-23 | 阿里巴巴集团控股有限公司 | 浏览器应用加载页面首屏的方法和装置 |
US11301539B2 (en) * | 2019-02-21 | 2022-04-12 | Bank Of America Corporation | Just-in-time front end template generation using logical document object models |
US11055475B2 (en) | 2019-05-03 | 2021-07-06 | Microsoft Technology Licensing, Llc | Cross-browser techniques for efficient document pagination |
CN111290779B (zh) * | 2020-03-04 | 2023-07-07 | 北京三快在线科技有限公司 | 灰度发布方法、装置、存储介质和电子设备 |
CN112861050B (zh) * | 2021-04-26 | 2021-09-14 | 北京健康之家科技有限公司 | 页面数据回溯方法、装置及设备 |
US11836439B2 (en) * | 2021-11-10 | 2023-12-05 | Siteimprove A/S | Website plugin and framework for content management services |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101019114A (zh) * | 2004-05-04 | 2007-08-15 | 国际商业机器公司 | 用于在客户机端预取和高速缓存门户组件的方法、系统和计算机程序产品 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377957B1 (en) * | 1998-12-29 | 2002-04-23 | Sun Microsystems, Inc. | Propogating updates efficiently in hierarchically structured date |
US6635089B1 (en) * | 1999-01-13 | 2003-10-21 | International Business Machines Corporation | Method for producing composite XML document object model trees using dynamic data retrievals |
US6397217B1 (en) | 1999-03-04 | 2002-05-28 | Futuretense, Inc. | Hierarchical caching techniques for efficient dynamic page generation |
US7100112B1 (en) * | 1999-05-20 | 2006-08-29 | Microsoft Corporation | Dynamic properties of documents and the use of these properties |
US6606525B1 (en) * | 1999-12-27 | 2003-08-12 | Motorola, Inc. | System and method of merging static data in web pages |
US7509404B2 (en) * | 2000-03-08 | 2009-03-24 | Oracle International Corporation | Methods and systems for partial page caching of dynamically generated content |
US20040049737A1 (en) | 2000-04-26 | 2004-03-11 | Novarra, Inc. | System and method for displaying information content with selective horizontal scrolling |
EP1182589A3 (en) * | 2000-08-17 | 2002-07-24 | International Business Machines Corporation | Provision of electronic documents from cached portions |
US6826726B2 (en) * | 2000-08-18 | 2004-11-30 | Vaultus Mobile Technologies, Inc. | Remote document updating system using XML and DOM |
US7028306B2 (en) * | 2000-12-04 | 2006-04-11 | International Business Machines Corporation | Systems and methods for implementing modular DOM (Document Object Model)-based multi-modal browsers |
US20030189593A1 (en) * | 2001-01-05 | 2003-10-09 | Yarvin Curtis G. | Method and apparatus for dynamically updating a markup language based user interface |
US7415538B2 (en) | 2001-03-19 | 2008-08-19 | International Business Machines Corporation | Intelligent document filtering |
US6948133B2 (en) * | 2001-03-23 | 2005-09-20 | Siemens Medical Solutions Health Services Corporation | System for dynamically configuring a user interface display |
US7047318B1 (en) * | 2001-04-20 | 2006-05-16 | Softface, Inc. | Method and apparatus for creating and deploying web sites with dynamic content |
US6971001B1 (en) * | 2001-05-17 | 2005-11-29 | Accenture Global Services Gmbh | General and reusable components for defining net-centric application program architectures |
US6745208B2 (en) * | 2001-05-31 | 2004-06-01 | International Business Machines Corporation | Method and apparatus for synchronizing an XML document with its object model |
US7594001B1 (en) * | 2001-07-06 | 2009-09-22 | Microsoft Corporation | Partial page output caching |
US7120897B2 (en) * | 2001-07-10 | 2006-10-10 | Microsoft Corporation | User control objects for providing server-side code generation from a user-defined dynamic web page content file |
US6976211B2 (en) * | 2001-07-23 | 2005-12-13 | International Business Machines Corporation | Method, system, and computer-program product for providing selective access to certain child nodes of a document object model (DOM) |
US20030046365A1 (en) * | 2001-09-04 | 2003-03-06 | Schlumberger Technology Corporation | System and method for caching content |
US8484282B2 (en) | 2002-03-21 | 2013-07-09 | International Business Machines Corporation | High-speed content transformation engine |
EP1388783B1 (en) * | 2002-08-02 | 2008-02-06 | Sap Ag | Method and computer system for handling incremental data in client-server communication |
EP1406183A3 (en) | 2002-10-01 | 2004-04-14 | Sap Ag | Method and system for refreshing browser pages |
GB0229892D0 (en) * | 2002-12-21 | 2003-01-29 | Ibm | Method and apparatus for caching documents |
US7386786B2 (en) | 2003-01-24 | 2008-06-10 | The Cobalt Group, Inc. | Method and apparatus for processing a dynamic webpage |
US20040168122A1 (en) | 2003-02-21 | 2004-08-26 | Kobipalayam Murugaiyan Senthil Nathan | System, method and computer readable medium for transferring and rendering a web page |
US8037081B2 (en) | 2003-06-10 | 2011-10-11 | International Business Machines Corporation | Methods and systems for detecting fragments in electronic documents |
JP2005215950A (ja) | 2004-01-29 | 2005-08-11 | Kddi Corp | 符号化された文書データの検索方法及びそのプログラム |
JP4389707B2 (ja) | 2004-07-16 | 2009-12-24 | ソニー株式会社 | 電子機器装置、サーバ装置、Webページ処理方法及びそのプログラム |
US7418660B2 (en) * | 2004-09-23 | 2008-08-26 | Microsoft Corporation | Method and system for caching and adapting dynamic display pages for small display devices |
US7584417B2 (en) * | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
EP1662405A1 (en) * | 2004-11-30 | 2006-05-31 | Alcatel | Method of displaying data on a client computer |
US7328214B2 (en) * | 2004-12-21 | 2008-02-05 | Arizan Corporation | Method of delivering an electronic document to a remote electronic device |
US20060259462A1 (en) | 2005-05-12 | 2006-11-16 | Sybase, Inc. | System and Methodology for Real-time Content Aggregation and Syndication |
US7660950B2 (en) * | 2005-08-15 | 2010-02-09 | Microsoft Corporation | Output cache manager |
US7814410B2 (en) | 2005-09-12 | 2010-10-12 | Workman Nydegger | Initial server-side content rendering for client-script web pages |
US7403951B2 (en) | 2005-10-07 | 2008-07-22 | Nokia Corporation | System and method for measuring SVG document similarity |
US20070240041A1 (en) | 2006-04-05 | 2007-10-11 | Larry Pearson | Methods and apparatus for generating an aggregated cascading style sheet |
US7870502B2 (en) | 2007-05-29 | 2011-01-11 | Microsoft Corporation | Retaining style information when copying content |
US20090037517A1 (en) * | 2007-08-02 | 2009-02-05 | Randall Wayne Frei | Method and system to share content between web clients |
US7765236B2 (en) | 2007-08-31 | 2010-07-27 | Microsoft Corporation | Extracting data content items using template matching |
US20100005053A1 (en) | 2008-07-04 | 2010-01-07 | Estes Philip F | Method for enabling discrete back/forward actions within a dynamic web application |
US8156419B2 (en) * | 2008-07-17 | 2012-04-10 | International Business Machines Corporation | Intelligent preloads of views and asynchronous loading of models using the MVC design pattern |
US9171097B2 (en) | 2009-03-31 | 2015-10-27 | Qualcomm Incorporated | Memoizing web-browsing computation with DOM-based isomorphism |
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 |
WO2012160499A1 (en) * | 2011-05-23 | 2012-11-29 | Strangeloop Networks, Inc. | Optimized rendering of dynamic content |
-
2010
- 2010-03-24 US US12/730,967 patent/US9311425B2/en active Active
- 2010-03-30 KR KR1020117025987A patent/KR101433434B1/ko active IP Right Grant
- 2010-03-30 EP EP10725308A patent/EP2414972A2/en not_active Ceased
- 2010-03-30 CN CN201080014078.9A patent/CN102365636B/zh not_active Expired - Fee Related
- 2010-03-30 BR BRPI1013133A patent/BRPI1013133A2/pt not_active Application Discontinuation
- 2010-03-30 JP JP2012503585A patent/JP5357326B2/ja not_active Expired - Fee Related
- 2010-03-30 WO PCT/US2010/029124 patent/WO2010117748A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101019114A (zh) * | 2004-05-04 | 2007-08-15 | 国际商业机器公司 | 用于在客户机端预取和高速缓存门户组件的方法、系统和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN102365636A (zh) | 2012-02-29 |
KR101433434B1 (ko) | 2014-08-26 |
WO2010117748A8 (en) | 2011-10-27 |
US9311425B2 (en) | 2016-04-12 |
JP2012522322A (ja) | 2012-09-20 |
WO2010117748A2 (en) | 2010-10-14 |
KR20120001800A (ko) | 2012-01-04 |
WO2010117748A3 (en) | 2011-01-13 |
BRPI1013133A2 (pt) | 2018-06-19 |
US20100262780A1 (en) | 2010-10-14 |
JP5357326B2 (ja) | 2013-12-04 |
EP2414972A2 (en) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102365636B (zh) | 用于再现页的设备和方法 | |
CN103502983B (zh) | 利用基于DOM的同构来备忘缓存Web浏览计算 | |
US8645491B2 (en) | Methods and apparatus for enabling a hybrid web and native application | |
US9002943B2 (en) | Subscription-based dynamic content optimization | |
US9871888B2 (en) | Adaptive function-based dynamic application extension framework | |
KR102185864B1 (ko) | 프레젠테이션을 위한 네이티브 콘텐츠의 서버측 렌더링 방법 및 시스템 | |
US9015692B1 (en) | Method and system for customizing content on a server for rendering on a wireless device | |
CN101369284B (zh) | 一种加载网页的方法及装置 | |
US20070136696A1 (en) | System and Method for Enabling at Least One Independent Data Navigation and Interaction Activity Within a Document | |
US20080275893A1 (en) | Aggregating Content Of Disparate Data Types From Disparate Data Sources For Single Point Access | |
US10783317B2 (en) | Generation of combined documents from content and layout documents based on semantically neutral elements | |
EP2399209A1 (en) | Content access platform and methods and apparatus providing access to internet content for heterogeneous devices | |
CN110088752B (zh) | 内容搜索引擎 | |
US20240069932A1 (en) | Content Display Method and Terminal Device | |
CN102819453A (zh) | 信息获取的方法及信息获取平台 | |
KR20140039509A (ko) | 마크업 언어 기반의 문맥 인식 사용자 인터페이스 제공 시스템 및 방법 | |
KR100407742B1 (ko) | 유선 인터넷 정보의 무선 인터넷 정보로의 변환 방법 및그 장치 | |
Kwan et al. | A distributed proxy system for functionality adaptation in pervasive computing environments | |
Tanaka et al. | Meme Media Technologies for the ad hoc Federation of Intellectual Resources over the Web |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141224 Termination date: 20190330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |