CN103443786B - 识别网络浏览器中的并行布局的独立任务的机器学习方法 - Google Patents

识别网络浏览器中的并行布局的独立任务的机器学习方法 Download PDF

Info

Publication number
CN103443786B
CN103443786B CN201280013524.3A CN201280013524A CN103443786B CN 103443786 B CN103443786 B CN 103443786B CN 201280013524 A CN201280013524 A CN 201280013524A CN 103443786 B CN103443786 B CN 103443786B
Authority
CN
China
Prior art keywords
subtree
element information
web page
webpage
page element
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
Application number
CN201280013524.3A
Other languages
English (en)
Other versions
CN103443786A (zh
Inventor
格奥尔基·C·卡斯卡沃
阿德里安·L·D·桑普森
王斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103443786A publication Critical patent/CN103443786A/zh
Application granted granted Critical
Publication of CN103443786B publication Critical patent/CN103443786B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Abstract

用于加速网页再现的方法和装置包含:处理网页并搜集网页元素信息;对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式;以及训练分类器以基于网页脚本中的元素信息预测子树独立性。所述所预测子树独立性可用以并行地处理待再现的网页的多个部分以减少再现所述页所需的时间。子树可为有条件地独立的,在所述情况下,可通过推测数据以使得所述子树独立或通过执行任务以获得特定信息以使得所述子树独立来使所述有条件地独立的子树独立。

Description

识别网络浏览器中的并行布局的独立任务的机器学习方法
相关申请案
本申请案主张2011年3月15日申请的题为“识别网络浏览器中的并行布局的独立任务的机器学习方法(Machine Learning Method to Identify Independent Tasks forParallel Layout in Web Browsers)”的第61/452,694号美国临时专利申请案的优先权的权利,所述申请案的全部内容特此以引用的方式并入。
技术领域
以下描述一般来说涉及计算装置通信,且更明确地说,涉及用于再现网页的设备和方法。
背景技术
例如网页等页在计算装置上的再现按照法律产生页的文档对象模型(DOM)树。DOM树定义呈子级-父级关系的一个或一个以上节点,包含相应DOM节点的性质和/或属性以及网页的样式属性。当启动页时,从网络或从本地磁盘高速缓存读取页的.html文件,剖析所述.html文件,且建构DOM树。接着可应用嵌入的/或外部层叠样式表(CSS)来计算DOM树中的每一节点的样式。一旦树“经样式化”,布局算法便运行以计算屏幕上的所有DOM元素的位置和大小。通过此信息,浏览器能够显示页。每当载入页时可执行这些操作,载入页花费大量时间,由此导致不太令人满意的用户体验。
此外,在资源受约束环境中加剧了此时间量,资源受约束环境例如移动计算装置,例如移动电话,个人数字助理(PDA)或与非移动计算装置相比较具有相对有限的处理能力、存储器和/或通信输送量的其它相对较小的便携式装置。因此,在移动计算装置的情况下,用户体验受损更多。
发明内容
下文呈现对一个或一个以上方面的简化概述以便提供对这些方面的基本理解。此概述并非所有预期方面的广泛综述,且既定既不识别所有方面的关键或重要元素,也不描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或一个以上方面的一些概念作为稍后呈现的更详细描述的序言。
一个方面涉及一种加速网页再现的方法,所述方法包含处理网页并搜集网页元素信息。所述方法对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式。所述方法训练分类器以基于网页脚本中的元素信息预测子树独立性,且所述方法使用所述所预测子树独立性并行地处理待再现的网页的多个部分并再现所述网页。在另一方面,所述子树可为有条件地独立的。在所述情况下,可通过推测数据以使得所述子树独立或通过执行任务以获得特定信息以使得所述子树独立来使得所述有条件地独立的子树独立。
在另一方面,一种方法(其可在一个或一个以上计算装置中或在存储在非暂时性存储媒体上的可执行指令中实施)包含以下操作:处理多个网页并搜集网页元素信息;对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式;训练分类器以基于网页脚本中的元素信息预测子树独立性;以及使用所述所预测子树独立性并行地处理待再现的网页的多个部分。在一方面中,所述使用所述所预测子树独立性并行地处理待再现的网页的多个部分的操作可包含基于所述网页脚本中的所述网页元素信息预测子树为先验独立的,以及由DOM树的先验独立部分形成任务。所述方面方法可进一步包含:基于所述网页脚本中的所述元素信息预测在确定特定信息的情况下子树将为有条件地独立的;执行任务以获得所述特定信息;以及使用所述所获得的特定信息由DOM树的所述有条件地独立的部分形成任务。在一方面中,执行任务以获得所述特定信息可包含即时地计算所述特定信息和/或基于推测确定所述特定信息。所述方面方法可进一步包含使用配备工具的浏览器搜集网页元素信息,以及搜集包括以下各者中的至少一者的网页元素信息:网页元素布局大小、位置、CSS样式属性、子树大小、HTML标记、父级HTML标记,和网页特征信息。所述方面方法可进一步包含使用所述所预测子树独立性确定所述网页的DOM树的子树并非独立的且所述子树无法进行并行处理和/或使用单个网络浏览器执行所述机器学习分析且预测子树独立性以并行地处理所述网页的多个部分。所述方面方法可进一步包含在第一计算装置中使用第一处理器执行机器学习分析,以及在第二不同计算装置中使用第二处理器预测子树独立性以并行地处理所述网页的多个部分。所述方面方法可进一步包含:通过处理多个经更新的网页来更新所述分类器,并搜集经更新的网页元素信息,以及对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的额外模式。所述方面方法可进一步包含训练所述分类器以按第一时间间隔和第二不同时间间隔基于所述网页脚本中的元素信息预测子树独立性,使用所述所预测子树独立性并行地处理待再现的所述网页的多个部分。
在另一方面中,所述前述方法可在单个计算装置内实施,其中处理多个网页并搜集网页元素信息是在于所述单个计算装置上操作的配备工具的浏览器中完成,且对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式是在所述同一计算装置中完成。
在另一方面中,所述前述方法可在计算装置和服务器的网络中实施,其中处理多个网页并搜集网页元素信息包含:在多个计算装置中处理多个网页并搜集网页元素信息;将所述所搜集网页信息从所述多个计算装置中的每一者发射到所述服务器;在所述服务器中接收并聚集由所述多个计算装置发射的所述网页信息以产生经聚集网页元素信息;将经聚集网页元素信息发射到所述多个计算装置中的至少一者;以及在所述多个计算装置中的所述至少一者中接收所述发射的经聚集网页元素信息。此外,在此方面中,对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式是在所述多个计算装置中的所述至少一者中对所述所接收的经聚集网页元素信息完成,且训练分类器以基于网页脚本中的元素信息预测子树独立性包括训练在所述多个计算装置中的所述至少一者中操作的分类器以基于对所述所接收的经聚集网页元素信息执行的机器学习分析预测子树独立性。
在另一方面中,所述前述方法可在计算装置和服务器的网络中实施,其中处理多个网页并搜集网页元素信息可包含在多个计算装置中处理多个网页并搜集网页元素信息,将所述所搜集网页信息从所述多个计算装置中的每一者发射到服务器(例如,经由因特网),以及在所述服务器中接收由所述多个计算装置发射的所述网页信息以产生经聚集网页元素信息。在此方面中,对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式可在所述服务器中对由所述多个计算装置发射的所述所接收网页信息完成以识别布局独立性中的模式,且所述方法可进一步包含将布局独立性中的所述所识别模式从所述服务器发射到所述多个计算装置中的至少一者(例如,经由因特网),以及在所述多个计算装置中的所述至少一者中接收布局独立性中的所述所识别模式。此外,在此方面中,训练分类器以基于网页脚本中的元素信息预测子树独立性可包含训练在所述多个计算装置中的所述至少一者中操作的分类器以基于布局独立性中的所述所接收的所识别模式预测子树独立性。
在另一方面中,所述前述方法可进一步包含:处理预定浏览器所特有的多个网页并搜集在所述预定浏览器上再现的网页所特有的网页元素信息;以及对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式,其中所述模式对应于在所述预定浏览器上再现的所述网页;训练所述分类器以基于所述网页脚本中的元素信息预测子树独立性;以及使用所述所预测子树独立性并行地处理待再现的网页的多个部分,其中所述网页是使用所述预定浏览器再现。在另一方面中,所述前述方法可进一步包含在所述分类器中基于所述网页脚本中的所述元素信息预测子树独立性,其中所述分类器将子树独立性数据提供到调度算法。在另一方面中,所述前述方法可进一步包含所述调度算法使用所述所预测子树独立性并行地处理所述网页的多个部分,且对所述所搜集网页元素信息执行机器学习分析以识别在预定样式表语言译码中与呈现语义相关的布局独立性中的模式。在另一方面中,所述前述方法可进一步包含对所述所搜集网页元素信息执行机器学习分析以识别在CSS译码中与网页元素信息相关的布局独立性中的模式。在另一方面中,所述前述方法可进一步包含在再现DOM树的第二相依性子树之前,使用所述所预测子树独立性再现所述DOM树的第一独立子树。在另一方面中,所述前述方法可进一步包含关于包含作为输入的节点特征和作为输出的布局独立性的数据集训练所述分类器。在另一方面中,所述前述方法可进一步包含连续地处理来自因特网的多个网页并搜集网页元素信息;连续地对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式;以及更新所述分类器以基于网页脚本中的元素信息和所述所识别模式预测子树独立性。
在另一方面中,所述前述方法可进一步包含处理第一网页集合并搜集与所述第一网页集合相关联的网页元素信息且对所述所搜集网页元素信息执行机器学习分析以识别第一模式集合;使用与所述第一网页集合的所述所预测子树独立性相关联的所述第一模式集合以并行地处理待再现的多个部分;以及通过以连续方式搜集额外网页元素信息并执行机器分析以识别额外模式以补充所述第一模式集合而以动态方式连续地更新所述第一模式集合。此方面可进一步包含处理第二网页集合并搜集网页元素信息以识别第二模式集合且使用所述第二模式集合来更新所述第一模式集合。
在另一方面中,所述前述方法可进一步包含对所述所搜集网页元素信息执行机器学习分析以识别在HTML译码中与网页元素信息相关的布局独立性中的模式,其中所述HTML译码包含指示并行处理能力的所述DOM树的第一子树,所述HTML译码还包含第二子树,所述第二子树关于所述第二子树的所述并行处理能力静默,且所述分类器基于所述网页脚本中的元素信息预测网页元素的所述第二子树的子树独立性。
另一方面涉及一种用于使用前述方法加速网页再现的计算装置。所述计算装置包含存储器和耦合到所述存储器的处理器。所述处理器可配置有处理器可执行指令以执行包含以下各者的操作:处理多个网页并搜集网页元素信息,且对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式。分类器可经训练以基于网页脚本中的网页元素信息预测子树独立性。所述所预测子树独立性可用以并行地处理待再现的网页的多个部分。
又一方面涉及一种计算装置,其包含用于完成所述前述方法的操作的装置,包含用于处理多个网页的装置、用于搜集网页元素信息的装置,以及用于对所述所搜集网页元素信息执行机器学习分析以识别布局独立性中的模式的装置。所述模式可与所述网页元素信息相关。所述计算装置还具有用于训练分类器以基于网页脚本中的网页元素信息预测子树独立性的装置,以及用于使用所述所预测子树独立性并行地处理待再现的网页的多个部分的装置。
再其它方面涉及其上存储有处理器可执行指令的非暂时性计算机可读存储媒体,所述处理器可执行指令经配置以致使计算装置的处理器执行所述前述方法的操作。
附图说明
并入本文且构成本说明书的一部分的附图说明本发明的示范性方面。连同上文给出的一般描述和下文给出的详细描述,图式用以解释本发明的特征而不限制所揭示的方面。
图1A和1B是DOM树的示意性说明。
图2是根据一方面的用于接收和再现网页的通信系统的功能框图。
图3是适合用于一方面的计算装置的功能框图。
图4是用于再现页的方面方法的过程流程图。
图5是用于接收网络内容以辨识所述网络内容中的适用于确定可并行处理的子树的模式的方面方法的过程流程图。
图6是用于辨识适用于确定可并行处理的子树的模式且参考所述模式以并行地处理DOM子树并再现网页的方面方法的过程流程图。
图7是用于确定在推断出特定信息的情况下DOM树的子树是否可独立的方面方法的过程流程图。
图8是用于再现页的方面设备的框图。
图9是用于分析DOM树并参考机器习得模式来确定在浏览器初次执行和/或网页初次出现时是否可并行处理DOM树的任何子树的方面方法的过程流程图。
图10是用于分析DOM树并参考某些机器习得模式来确定在执行网络浏览器时DOM树的任何子树是否独立且可并行处理的方面方法的过程流程图。
图11是用于分析DOM树且参考某些机器习得模式来确定在供应、推算或推断出特定信息的情况下DOM树的任何子树是否独立且是否可并行处理或可加以处理,且确定是否可周期性地更新机器训练分类器的另一方面方法的过程流程图。
图12是用于利用机器学习算法来处理服务器中的网页处理数据以识别模式并训练可用以训练网络浏览器的数据的方面方法4的过程流程图。
图13是适合用于各种方面的实例接收器装置的组件框图。
图14是适合用于各种方面的实例服务器的组件框图。
具体实施方式
将参考附图详细描述各种方面。只要可能,将贯穿图式使用相同的参考标号来指代相同或相似的部分。对特定实例和实施方案做出的参考是出于说明性目的,且无意限制本发明或权利要求书的范围。
词语“示范性的”在本文中意味着“充当实例、例子或说明”。在本文中描述为“示范性”的任何实施方案未必应解释为比其它实施方案优选或有利。
如本文所使用,术语“计算装置”和“移动计算装置”指代蜂窝式电话、个人电视接收器、个人数据助理(PDA)、掌上型计算机、笔记型计算机、个人计算机、无线电子邮件接收器和蜂窝式电话接收器(例如,装置)、具多媒体因特网功能的蜂窝式电话(例如,)和包含可编程处理器、存储器和显示器的类似电子装置中的任一者或全部。
如本申请案中所使用,术语“组件”、“模块”、“系统”等既定包含计算机相关实体,例如(但不限于)硬件、固件、硬件与软件的组合、软件,或执行中的软件。举例来说,组件可为(但不限于为)在处理器上运行的过程、处理器、对象、可执行程序、执行线程、程序和/或计算机。作为说明,在计算装置上运行的应用程序以及所述计算装置都可为组件。一个或一个以上组件可驻留于过程和/或执行线程内,且组件可定位于一个计算机上和/或分布于两个或两个以上计算机之间。此外,这些组件可从各种计算机可读媒体执行,所述计算机可读媒体具有存储在其上的各种数据结构。组件可借助本地和/或远程过程,例如根据具有一个或一个以上数据包的信号(例如,来自一个与本地系统、分布式系统中的另一组件或借助所述信号越过例如因特网等网络与其它系统交互的组件的数据)来通信。
所描述的方面涉及提取和再现具有网络资源和数据项的所显示信息页,例如网页。另外,所描述的方面提供在网页之间转变的虚拟效果,例如为用户提供在网页之间前后移动的链接。网页是根据在本文中称为文档对象模型(DOM)树的对应DOM来再现,DOM树是作为再现网页以识别定义所述页的组件、相应组件的相对结构、关系和行为的部分而产生。DOM树为用于表示HTML、XHTML和XML文档中的对象并与所述对象交互的跨平台且独立于语言的惯例。图1A中说明DOM树1的实例。DOM树结构1由多个节点界定,例如节点2、3、4、5和6,且所述节点进一步表示网页的不同例子。展示如由节点4和5界定的第一子树以及如由节点4和6界定的第二子树。
图1B提供DOM树1的另一说明,其说明节点可对应于将在由HTML脚本界定的网页中显示的不同元素的方式。图1B说明通过浏览器剖析用于所请求网页的HTML代码而产生的DOM树1的样本部分。如图1B中所说明,当剖析HTML代码时,浏览器可在再现网页的过程中针对每一标题建立DOM元素和/或节点。网页元素信息可包含文本信息、非文本信息、静态图像(GIF图像、JPEG图像、PNG、SVG、Flash格式文件)、动画图像(动画GIF、SVG、Flash格式文件、激波、Java小程序)、音频数据(MP3、OGG,等)、视频数据(WMV、RM、FLV、MPG、MOV数据)、交互文本、按钮、交互说明、超链接、表格、内部或隐藏数据(评论、链接的文件、元数据)、图信息、样式信息、脚本和其它数据。在所说明实例中,HTML代码含有标头区段(例如,<HEAD>...</HEAD>)和主体区段(例如,<BODY>...</BODY>)。主体区段含有至少一个分段(Div)区段和至少一个跨段(Span)区段,如由DOM树1中的Div和Span节点所说明。Div和Span节点中的每一者还可含有子区段,如由Div区段的段区段所说明。在完成用于再现页的推算的过程中,可详细研究DOM树元素(例如,主体、Div、段,等)以计算各种页组件的性质和特性。举例来说,为计算所请求页的布局,可详细研究DOM树以提取每一元素的高度、宽度和位置的绝对值(例如,h=50,w=50,x=500,y=10),其通常取决于运行时间和环境因素(例如,窗口大小)且无法提前确定。
DOM树定义页内容(数据)元素、样式与格式化信息和定位信息之间的关系,其提供简单且有效的机制来识别并建构页。在可推测或推算或推断特定信息以使子树独立的情况下,节点的子树可为独立的、相依性的或有条件地独立的。
在网络浏览器中,布局计算将基于HTML规范、网络元素与其它网络元素的关系和层叠样式表(CSS)规则来确定每一页元素的位置。层叠样式表(CSS)为用以描述用标记语言编写的文档的一个或一个以上呈现语义的样式表语言。CSS可用以设计用HTML和XHTML编写的网页的样式,且可应用于XML文档。基于一些当前估计,用以确定网页元素的位置的布局计算要占到加载网页的时间的15%到20%。用户更喜欢网页的快速加载时间。加载和显示网页所需的时间量的此增量式增加可能导致用户不喜欢此浏览经历。在浏览可能具有有限的处理功率和用于高速缓存先前经再现页的存储器的移动通信装置时,此情况尤其成立。
可通过利用并行化来并行地处理网页的多个部分来加速网页的计算布局。通过与DOM树的其它部分并行地处理独立子树,可更快地处理整个DOM树,且更迅速地再现网页。然而,为完成此并行处理,必须识别DOM树的独立区段。可在所使用的编程语言的语法内寻址和操纵DOM树的网络元素。可将DOM树的区段集结成布局计算可并行地进行的第一区段(DOM树的第一子树)以及布局计算无法并行地进行的其它区段(DOM树的第二子树)。确定DOM子树为独立的还是相依性的是识别界定脚本的页的可并行处理的多个部分中的重要步骤。
各种方面利用一个或一个以上机器学习算法来识别DOM树的此类独立子树。一旦识别出独立子树,就可并行处理所述独立子树以加速网页的加载。同样,其它子树可能是相依性的,且无法进行并行处理。可基于其它因素使得其它子树独立。为增加并行处理,实施一方面方法的处理器可依赖于推测。此类推测可前瞻性地移除一些子树的连接紧密的组件之间的相依性。此情形将因此使得子树独立而用于处理目的,且因此能够并行处理以加速网页的加载。在另一方面,可分析子树以确定子树可基于特定所获得信息而有条件地独立。
HTML处理的页布局步骤基于DOM树和每一DOM节点的CSS样式将位置和尺寸指派给可见页元素。网络浏览器详细研究显示元素的DOM树,且基于所述元素的子级的所推算大小和位置来排列每一元素。在一些情况下,网络元素的布局还可取决于其它非子级元素,例如同级和父级。在其它情况下,给定元素的布局仅取决于所述元素的子级的布局。在布局仅取决于子级的情况下,存在并行处理的机会。可与DOM树的其余者的布局并行地执行此类独立元素的子树的布局例程。
HTML标准定义其中网络元素具有独立布局的某些情况。举例来说,浮动和绝对地定位的网络元素可具有独立布局,且可以独立方式加以处理。然而,在其它情况下,可能无法从DOM树或网络元素明显看出独立性子树或布局。有时,某些网络元素将不指定此类独立布局。
各种方面识别布局可为独立的网络元素以便推测性地与DOM树的其余者并行地执行那些网络元素。各种方面包含可基于任务的并行布局计算。可并行地计算DOM树的不同部分的布局。DOM树的某些子树将基于CSS和HTML规范而为独立的。
为识别更多独立子树以进行并行处理,各种方面应用机器学习算法来基于从父级到子级节点的布局信息流来分割DOM树并寻找连接紧密的组件。网络浏览器可经配备工具以在布局步骤之后报告每一元素的布局所需大小和来自其它非子级节点的位置信息。所述配备工具的浏览器还可输出关于每一节点的多种信息(“特征”)(例如,其CSS样式属性、子树的大小、HTML标记、父级的HTML标记,等)。可针对可应用机器学习算法的现有网页的大主体收集此特征和布局独立性数据,以便辨识可用以识别独立子树以用于进行并行处理的模式。
可在计算装置内或在集中式计算装置内(例如,网络浏览器将其信息报告到的服务器)完成网页数据的收集和将机器学习算法应用到此类数据以识别模式。在其中在本地俘获和处理网页数据的方面中,机器学习算法的使用可使得计算装置能够更有效地再现通常由用户接入的类型的网页。因此,随时间推移,系统能够从用户的因特网接入习惯学习模式,且使用所述信息训练浏览器以当接入网页时实现网页的较大并行处理。
在其中网页数据经集中地收集和处理(例如,在耦合到因特网的服务器中)的方面中,可分析再现来自大量用户的数据的网页以便加载可跨越因特网的宽频谱而应用的辨识模式。此类机器习得模式可反映开发者的当前网页开发实践。此类基于共同体的模式数据可实现可用以训练网络浏览器的训练数据的开发以辨识网页脚本的可并行地处理的部分,所述网页脚本适用于广泛多种网页,而非仅适用于由特定用户接入的那些网页。
为了利用所辨识的模式和通过将机器学习算法应用到网页再现信息而获得的训练数据,浏览器可配置有分类器,所述分类器可且将基于此类模式的数据集加以训练。在此方面中,通过机器学习算法产生且应用到可训练分类器的训练数据可包含节点特征作为输入,且提供布局独立性结论作为输出,例如独立的子树、可有条件地独立的子树,和对于推测性处理可能独立的子树。在页布局过程期间,经训练的分类器可存取机器习得模式,且使用此类信息来预测对于新DOM树(即,再现的新页),所述DOM树的每一子树是否可独立地排列且因此可并行处理,或所述子树是否为无法独立排列的相依性子树。
在一个方面中,经训练的分类器可精确地预测子树是先验地独立的。此可基于网页脚本中的网页元素信息。一旦确定子树是先验地独立的,算法就由DOM树的独立部分形成任务。
在另一方面中,经训练的分类器可在可推断出特定信息的情况下预测子树为独立的,由此移除父级-子级相依性。一旦推断出特定信息,就将子树视为独立子树,且可在网页再现期间对其进行并行处理。
在另一方面中,经训练的分类器可在可通过计算获得特定信息的情况下预测子树为独立的。算法可调度任务以迅速地计算打破所述相依性的信息。一旦完成任务且获得所需信息,就可并行地处理子树并再现网页。
在另一方面中,经训练的分类器可在可预测特定信息的情况下预测子树为独立的。系统可调度推测性地预测的独立子树,且预测DOM子树所需要的信息以实现并行处理。推测性布局任务监视对非子级节点的相依性,且如果出现任何相依性且未正确预测相依性信息,那么可利用正确信息重新开始任务。
任选地,在一些方面中,机器学习算法可集成到网络浏览器中,或替代地,可在与网络浏览器分离的处理模块中实施机器学习算法。在另一方面中,可基于对特定针对于网络浏览器的页的相依性来训练机器学习算法,或替代地,可基于来自从因特网接入的网页的相依性来训练机器学习算法。机器学习算法可观察相依性中的模式,且对与可并行处理的可能独立子树相关联或指示所述可能独立子树的相依性或Dom树模式进行分类。在此方面中,机器学习算法可“离线”或“在线”地实施,且将第一模式集合提供到网络浏览器。机器学习算法可在集成的浏览器内操作,或可提供来自远程实体的可周期性地更新的第一模式集合。
通过机器学习算法辨识出的模式可呈HTML代码中的模式集合的形式,其包含布局属性、CSS属性和在DOM树中观察到的模式。应了解,在网页代码中辨识出的模式可来自网页样式,所述网页样式可能在将来观察到且可能目前不能很好地界定。机器学习算法可收集模式且对其进行格式化,使得可将其提供到网络浏览器内的调度算法。网络浏览器内的此类调度算法可对经训练的分类器起作用以利用辨识出的模式来并行地处理网页的对应于所预测的独立子树的多个部分。
使用所预测的子树独立性来并行地处理网页的多个部分且使用机器学习分析使用子树独立性来再现所述页可增加再现一页的例子的速度。再现页的速度的此增加可在从一个页转变到另一页时改进用户体验,这是因为浏览器不必等待处理全部DOM树(因为可更快地并行处理DOM树的多个部分)。
图2说明使得计算机10能够再现托管在网络服务器16、18上且经由例如因特网等通信网络17传达的网页的通信系统。如上文所提及,机器学习算法的方面可实施于本地计算装置10或经由通信网络17耦合到计算装置10的远程服务器60上。为易于描述,图2说明两个方面,其展示包含在计算装置10和远程服务器60两者上的机器学习算法模块。
参考图2中的计算装置10,在其中机器学习算法实施为计算装置10的处理器内的模块的方面中,计算装置10可配置有门户组件12,所述门户组件12与在计算装置的处理器上运行的网络引擎模块14交互以实现在显示器15上呈现页13(例如网页)的一个或一个以上例子。举例来说,所显示的页13可经由通信网络17从网络服务器16和/或数据服务器18获得。网络服务器16和数据服务器18可为单独的或集成的组件,其分别存储分别界定第一页例子28和第二页例子30的网络资源20和22以及数据项24和26。举例来说,网络资源20和22可包含建构页的静态部分所需要的任何资源,例如可用数据来填充的空页模板,而数据项24和26可包含用以填充页的任何内容,例如所述页的一个或一个以上动态部分。由此,网络资源20和22的全部或一些部分对于第一页例子28和第二页例子30两者可为共同的,而数据项24和26的全部或一些部分对于相应页例子可为独特的。
在计算装置10中,门户组件12可例如基于用户输入或门户组件12的启动而传达所接收请求32,所述请求32向网络引擎14识别页的所请求例子。举例来说,所接收请求32可包含界定网络资源(例如通用资源定位符(URL))的第一部分和界定要提取的特定数据(例如查询字符串36)的第二部分。网络引擎14或门户组件12经由通信网络将请求发射到网络服务器16和/或数据服务器18,所述网络服务器16和/或数据服务器18经由所述通信网络传回所请求的页组件。所发射的页组件接着由计算装置10内的网络引擎组件14接收和处理。在再现所接收页期间,网络引擎14产生用于所述页的文档对象模型(DOM)38。如上文所论述,DOM38界定具有呈子级-父级关系的一个或一个以上节点的树或层次,所述子级-父级关系包含相应DOM节点的性质和/或属性及其样式属性,其实现页的再现。
在其中网络引擎14包含机器学习算法模块40的方面中,所述模块从网络引擎14接收与数个经处理网页相关联的数据以搜集网页元素信息。机器学习算法40对所搜集的网页元素信息执行机器学习分析以识别与所述网页元素信息相关的布局独立性中的模式。机器学习算法40可利用来自因特网或从通信网络17接收的数据的实例来基于上下文俘获所关注的特性或独立子树在网页中的基础概率分布。机器学习算法40在所观察变量之间形成关系且自动地学习以辨识复杂模式且从给定的所搜集网页形成一般化模式以便能够产生有用输出。由机器学习算法模块40辨识或产生的类型的模式使得网络引擎14能够基于数个机器习得实例从所接收的网页脚本识别或预测DOM38那些独立的子树组件34和不独立的DOM子树组件48。所述类型的所辨识或所产生模式还可使得网络引擎14能够从所接收的网页脚本识别或预测DOM38那些有条件地独立的子树。所述类型的所辨识或所产生模式还可使得网络引擎14能够基于网页脚本中的网页元素信息从所接收的网页脚本识别或预测DOM38那些先验地独立的子树。在一个方面中,所搜集的网页元素可能特定针对于特定浏览器或特定针对于特定用户。在另一方面中,所搜集的网页元素可从因特网导出以形成可周期性地更新的静态模式集合。在另一方面中,机器学习算法40可与网络引擎14和计算装置10分离。在另一方面中,机器学习算法40可集成到网络引擎14、浏览器、网络服务器16、数据服务器18、网络资源20或22或者计算装置10内。
在另一方面中,机器学习算法模块可实施于远程计算装置(例如耦合到通信网络17的远程服务器60)中,使得其可从大量计算装置接收网页再现数据。在此方面中,服务器可包含用于经由通信网络与计算装置10通信的网络通信模块62,包含从此些计算装置接收网页再现信息。所述服务器还可配置有机器学习模块64,所述机器学习模块64经配置以实施机器学习算法以处理所接收的网页再现信息以便辨识复杂模式并从给定的所搜集网页再现信息形成一般化模式。如上文所论述,此些模式可基于网页脚本中的模式而与预测独立、有条件地独立或推测性地独立的子树结构有关。此些模式可以可由计算装置网络引擎使用的格式存储在模式数据库66中。机器学习模块64可经配置以针对从所有计算装置接收的所有网页信息产生模式数据,以便产生单个模式数据集。或者,机器学习模块64可经配置以针对选定类型的网页或甚至特定URL产生模式数据。服务器60可经进一步配置以经由通信网络17(例如,经由网络通信模块62)将此所产生的模式数据传达到计算装置10,以使得计算装置内的网络引擎14能够更有效地再现页。此类模式数据可经由通信网络17直接发射到计算装置(例如,已注册或订用模式数据业务的计算装置)。或者,此类模式数据可例如通过通信而提供到托管网页的公司,从而将信息发送到网络服务器16和/或数据服务器18以检视通信网络17。此方面使得托管网页的公司能够例如通过将模式数据作为元数据递送而提供其网页的模式信息,以便使得网络浏览器能够更有效地再现其网页。
返回到计算装置10,网络引擎模块14可包含调度算法模块42。调度算法模块42可使得能够给予线程、过程或数据流对系统资源的存取以有效地对系统进行负载平衡。或者,调度算法42可实现目标服务质量。调度算法42优选地准许网络引擎14一次执行一个以上过程,且同时将多个数据流发射到脚本处理引擎50和再现引擎52以再现网页。调度算法42优选地使用所预测的子树独立性来并行地处理待再现的网页的多个部分。
网络引擎模块14还可包含分类器模块44。分类器模块44可经训练以预测DOM38的子树34中的哪些是独立的,且DOM38的子树48中的哪些是相依性的。分类器模块44可比较网页脚本中的元素信息与由机器学习算法提供的模式数据的模式以作出关于可并行处理的狗托盘的多个部分的预测(有条件地或无条件的)。分类器模块44可包含数个程序指令以描述来自DOM38的具有共同行为和结构特征的例子集合。
如上文所论述,DOM38具有包含数个子迹线的树状结构。分类器模块44可能将检验DOM38和网页元素信息以便将数个子树分类为独立的34且将数个子树分类为相依性的48。取决于DOM38的结构,分类器模块44可预测子树34先验地独立,在此情况下,脚本处理或再现引擎50或52可由DOM树38的先验独立部分形成任务。
在一些情况下,分类器模块44可识别有条件地独立的子树48。在此等情况下,分类器44可基于网页脚本中的元素信息而预测,如果可确定特定信息,那么子树将为独立的。此确定使得网络引擎14能够执行任务以获得使得所述子树独立所必要的特定信息。通过网络引擎14即时地执行计算以再现特定信息,DOM38的有条件独立部分可作为独立子树34加以处理,且因此可加以并行处理。
在一些情况下,分类器模块44可识别子树48为推测性地独立的,在此情况下,网络引擎14可推测以确定信息将使子树独立。网络引擎14可接着使此子树独立,可并行处理此子树。推测可通过推测算法模块42来完成,推测算法模块42可为构成网络引擎14的软件的部分。
网络引擎14还可包含并行计算布局引擎模块39,其辅助再现引擎模块52且提供独立子树34与相依性子树48的并行计算以在再现网页52的同时并行地处理DOM树38的多个部分。在另一方面中,计算引擎模块39还可参考索引等以辅助再现网页。优选地,计算引擎模块39使用DOM38的网络元素来寻址并操纵所使用的编程语言的语法内的网络元素。在一方面中,并行布局计算引擎模块39可并入在再现引擎52内。
各种方面利用由机器学习算法辨识的模式以实现网页的更快再现。此可通过网络引擎14并行地处理数据块而无需等待整个DOM结构被处理来完成。此可使得网络引擎14能够与对应于页32的所请求例子的DOM38的第二部分同时地处理DOM38的第一部分。
另外,计算装置10可配置有可操作以执行脚本处理功能性的脚本处理引擎模块50。举例来说,网络引擎模块14可与脚本处理引擎50交互以加载对应于页的脚本,脚本处理引擎50执行所述脚本以注册对应脚本功能。响应于从网络引擎14接收的加载事件,脚本处理引擎50可进一步运行所述页脚本,并产生发送呼叫以起始所述网页的例子的对应动态数据的提取。此外,在接收到动态数据之后,脚本处理引擎50可例如经由DOM应用程序接口(API)应用数据,且将所述数据写入到对应DOM。
另外,计算装置10可包含再现引擎52,其与网络引擎14交互。举例来说,响应于来自网络引擎14的请求,再现引擎52可对相应页的一个或一个以上部分上色,所述一个或一个以上部分对应于一个或一个以上独立DOM子树部分34和/或对应于所述页的相应例子的一个或一个以上相依性DOM子树部分48。此外,再现引擎52可与显示器15交互以呈现所述页的经上色部分,由此呈现所述页的相应例子。
因此,通过使用机器学习算法模块40、64对所搜集的网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式,且通过训练分类器以基于网页脚本中的元素信息来预测子树独立性,所描述的方面可加速网页的再现。
图3中说明计算装置10的功能模块(例如移动或蜂窝式电话)。此些功能模块可包含处理器150,其执行处理器可执行指令以完成与本文所述的模块和功能中的一者或一者以上相关联的处理功能。处理器150可包含单个或多个处理器或多核处理器集合,且可实施为集成式处理系统和/或分布式处理系统。
计算机装置10可进一步包含存储器152,例如用于存储正由处理器150执行的应用程序的本地版本和/或用于长期存储处理器150当前未执行或利用的数据、指令和/或应用程序。在一方面中,存储器152可存储数个网页153。所搜集的网页153可经处理并存储在存储器152中。优选地,所搜集的网页153可来自因特网以观察所搜集网页153内的网络内容中的模式。在另一方面中,所搜集的网页153可为来自因特网的页的子集,或特定针对于在特定网络浏览器中检视的数个页,或特定针对于另一参数以获得模式的集中搜索。在一个方面中,存储器152可进一步包含在所搜集网页155中观察到的模式,其是从机器学习分析和习得内容157导出。在接收到从所搜集网页153导出的模式155之后,计算装置10可随即将模式155进一步存储在存储器152中。如上所述,此处理可涉及对来自模式155的相依性进行分类以使得网络引擎能够识别DOM树38的独立、有条件地独立和相依性(即,无法进行并行处理)的子树。
如上文所论述,计算装置10可包含通信模块154,其管理与利用如本文所述的硬件、软件和服务的一个或一个以上实体的通信的建立和维持。通信模块154还可在计算装置10内的功能模块与组件之间以及计算装置10与外部装置(例如位置跨越通信网络17的装置和/或串联或在本地连接到计算装置10的装置)之间发射数据。举例来说,通信模块154可包含一个或一个以上总线,且可进一步包含可操作以用于与外部装置介接的接口、一个或一个以上发射器或发射链组件和一个或一个以上接收器或接收链组件。举例来说,此些发射器和接收器可实现根据一个或一个以上技术或协议的有线或无线通信。
计算装置10可另外包含用户接口组件156,其可操作以从计算装置10的用户接收输入158,且进一步可操作以产生输出160以供呈现给用户。用户接口组件156可包含一个或一个以上输入装置,包含但不限于键盘、数字小键盘、鼠标、触敏显示器、导览键、功能键、麦克风、话音辨识组件、图像俘获装置、能够从用户接收输入的任何其它机构,或其任何组合。此外,用户接口组件156可包含一个或一个以上输出装置,包含但不限于显示器、扬声器、触觉反馈机构、触摸屏、打印机、能够将输出呈现给用户的任何其它机构,或其任何组合。
另外,如上文所指出,计算装置10可包含门户组件模块12,其可为网络浏览器、介面工具集或移动介面工具集或网络应用程序中的一者或任何组合。门户组件模块12可操作以与计算装置10的用户以及与计算装置10的其它组件介接,以实现网页的再现。
任选地,在一些方面中,网络引擎14可包含经配置以管理提取操作的时序和性能的提取管理器162。举例来说,提取管理器162可实现具有链接的页的内容的预提取,所述链接仅从引用页单击,其中所述引用页包含URL以执行所述预提取。
举例来说,提取管理器162可在引用页的中执行预提取发现调用。作为另一实例,提取管理器162可标记或排序URL以在页上提取,以使得可在接收到对相应页的请求之前在页再现中处理这些标记或URL。举例来说,提取管理器162可包含用以确定页(例如列表中的邻近页、层次中的邻近页,等)之间的关系的算法或功能,以便确定预提取何内容以及何时预提取。在其它方面中,所描述的设备和方法可在当前页的HTML标头中包含已知URL的清单,其将通过提取管理器162进行分析以进行预提取。在另一方面中,所描述的设备和方法可在引用页的HTML标头包含用于每一可达页的URL的结构化清单,其将通过提取管理器162进行分析以执行每一可达页的预提取。
计算装置10网络引擎14可进一步包含内容处置器模块166以辅助内容的处理。在一个方面中,内容处置器模块166允许计算装置102确定是否产生机器习得内容157。此外,内容处置器模块166可从通信网络17接收处理指令168。在此方面中,通信网络可提供处理指令168连同将存储在计算装置102处的内容。举例来说,处理指令168可随图像而发射,且可提供用于重新映射图像像素的指令。由此,随处理指令转移的内容的大小可为小的。一旦所述小原始内容和处理指令由计算装置102接收到,处理指令168就促进内容到较丰富图像或较丰富内容集合的扩展。内容处置器模块166可进一步包含结构参考169以辅助所接收内容的处理。
任选地,在一些方面中,内容处置器模块166可包含导出管理器164以在请求页的相应例子之前预导出DOM或DOM的部分。导出管理器164可包含在管理网页到DOM的导出(在需要所述页时)时提供层的算法或功能。导出管理器164可使得此类导出能够以智能方式出现,可能不在经由来自清单的指示而初次下载时。举例来说,导出管理器164的所述算法或功能可确定页(例如,列表中的邻近页、层次中的邻近页,等)之间的关系以便确定预导出何内容以及何时预导出一个或一个以上页。导出管理器164可推断并不需要处理内容的某个部分,因为其已看到相同片段。应注意,提取管理器162和导出管理器164可组合在同一网络引擎14或内容处置器模块166中以改进在会期中页的初次运行的性能。
例如JavaScript引擎等脚本处理引擎50管理脚本功能的注册和页的给定例子的脚本的运行。再现引擎52产生页的给定例子(例如呈现在显示器15(展示于图2中)上的所显示页例子13)的全部或多个部分或对其进行上色,且将结果传达到用户接口156的组件。
图4中说明用于再现页的方面方法400。在方法400中,在框402,计算装置可接收对页的所请求例子的请求。在框404中,计算装置的处理器可通过产生DOM或重新调用存储在存储器中的所请求页的DOM而开始再现页的过程。在框406中,计算装置处理器可参考可能存储在存储器中的所预测的子树独立性模式。在一个方面中,经训练的分类器可比较作为输入的节点特征,且在此操作中输出布局独立性结论。
在框408中,处理器可比较存储在存储器中的参考的所预测子树独立性模式与所请求页的所产生DOM。在框410中,可接着作为再现页的部分而并行地处理识别为独立的或有条件地独立的流子树。最终,在框412中,在计算装置的显示器上再现所请求页。
图5中说明用于进行机器学习分析以观察与网页元素信息相关的布局独立性中的模式的方面方法500。方法500可例如通过处理网页信息的数据存储而对于大量网页再现同时完成。或者,方法500可集成在网络浏览器内,使得在网页再现期间实施所述方法,从而使得其可在再现网页时习得模式。
在方法500中,在框502,接收网络内容,其可呈HTML、CSS、JavaScript或上文参考的网页元素中的任一者的形式,且可伴有处理指令。在确定框504,计算装置的处理器可确定所接收数据是否为机器学习分析的候选者以及其是否呈适合于输入到机器读取算法以学习模式的形式。如果处理器确定所述内容并非机器可读且不为用于机器学习的候选者(即,确定框504=“否”),那么处理器可在框506丢弃所接收数据,或任选地,在框510中对所述数据编索引并存储。如果处理器确定所述内容为用于机器学习的候选者(即,确定框504=“是”),那么在框508,可执行机器学习以检测与来自所接收内容的网页元素信息相关的布局独立性中的模式。在框510,可将任何所辨识模式以适合用于训练分类器或适合由调度算法存取的方式存储在存储器中。
图6中说明用于进行机器学习分析以观察与网页元素信息相关的布局独立性中的模式且使用并行处理再现网页的方面方法600。在方法600中,在框602,计算装置可请求来自一个或一个以上网页的内容,且在框604接收所述内容。在确定框606,实施方法600的处理器可通过分析网络内容而确定所接收内容是否为用于机器学习处理的候选者。如果处理器确定所述内容不为用于机器学习的候选者(即,确定框606=“否”),那么在框608,可丢弃所接收内容。如果处理器确定所述内容为用于机器学习的候选者(即,确定框606=“是”),那么处理器可执行网页元素信息的机器学习分析以识别模式并使模式与布局独立性相关。在框612,可将所识别模式存储在存储器中。在框614,可参考所述模式以便并行地处理独立子树且再现新网页。
图7中说明用于识别有条件地独立的子树的方面方法700。在方法700中,在框702,可接收DOM树38的语义相依性子树。语义相依性子树可从先前检测到的模式推断,或从实际子树或DOM树38读取。在确定框704,实施方法700的处理器可确定是否可解析所接收子树的相依性。如果处理器确定可解析所述子树(即,确定框704=“是”),那么在框706,处理器可在框706调度用以移除所述相依性的任务。用以移除所述相依性的此任务可经调度以即时地出现以便使得能够并行处理所述子树。在框714,可与网页处理的其它部分并行地处理已解析相依性的子树以再现网页。
如果处理器确定无法解析子树的相依性(即,确定框704=“否”),那么实施方法700的处理器可在确定框708确定是否可预测相依性。如果处理器确定可预测相依性(即,确定框708=“是”),那么在框712,处理器可预测移除节点的相依性所必要的信息以便使得特定子树独立,由此基于推测(即,关于移除相依性的信息的推测)来实现并行处理。在框714中,可基于推测与网页的其它部分并行地并行处理所述子树以再现网页。然而,如果处理器确定无法预测相依性(即,确定框708=“是”),那么可在框710以标准系列方式处理所接收数据以再现所述页。
图8说明再现经由内容提供者从网络服务器和数据服务器接收的页(例如网页)的设备(例如,计算装置)800的组件。设备800可包含呈配置有软件和/或固件的处理器形式的功能组件。设备800可包含电组件的逻辑分组802,其促进接收对应于页的网络资源和数据,并再现所述页的例子。电组件的逻辑分组802可包含用于例如在计算装置处接收对页的所请求例子的请求的装置804。此外,电组件的逻辑分组802可包含用于确定所述页的所请求例子是否对应于存储在存储器中的所预测子树独立性的文档对象模型(DOM)模式的装置806,其中存储在存储器中的模式基于网页脚本中的元素信息预测子树独立性。
而且,电组件的逻辑分组802可包含用于参考存储在存储器中的所预测子树独立性的装置808。另外,电组件的逻辑分组802可包含用于比较所参考的所预测子树独立性与所请求页的文档对象模型38的装置。任选地,电组件的逻辑分组802可包含用于再现所述页的所请求例子且并行地处理所请求页的DOM的独立子树部分的装置812。因此,设备800可有效地使用从所述模式习得的所预测子树独立性以并行地处理待再现的网页的多个部分,并以快速方式再现所述网页。
另外,设备800可包含存储器814,其保持用于执行与电组件804、806、808、810和任选地812相关联的功能的指令。尽管展示为在存储器814外部,但应理解,电组件804、806、808、810和任选地812可存在于存储器814内部或涵盖其多个部分。
在各种方面中,某些子树可被识别或预测为独立的,而其它子树可被预测为相依性的,且又其它子树可被预测为有条件地独立的。因此,使用机器学习分析来识别模式,可将某些子树预测为独立的,且可对其进行并行处理。可使其它有条件独立子树为独立子树。此可使得能够通过并行地或并行处理所述子树而以更快方式处理DOM树38。在一个方面中,第一处理器可处理第一独立子树,且第二处理器可同时处理第二独立子树或DOM树以提供多个计算线程的执行。
图9说明用于在浏览器的初次执行或具有未识别DOM结构的特定网页的初次再现时处理DOM树的方面方法900。在方法900中,在框902中,浏览器可从对应于所需网页的远程或本地服务器接收HTML代码。在框904中,浏览器可剖析所接收的HTML,且建立DOM树。在框906中,浏览器可分析所述DOM树以确定是否可独立地处理至少一个子树。在框908中,浏览器可参考由机器习得且提供于索引等中以易于参考的数个模式。在框910中,可并行地处理DOM树的所识别独立子树与HTML代码以输出到显示器。在框912中,浏览器可在浏览器正运行所在的计算装置的电子显示器上显示所撰写且经处理的HTML代码连同所有相关联图像和文件。
图10中以额外功能细节和特异性说明用于处理DOM树的方面方法1000。在方法1000中,在框1002中,计算装置的处理器可在网络浏览器应用程序中从服务器接收HTML代码和/或从高速缓存存储器重新调用HTML代码。在框1004中,浏览器可剖析所述HTML代码,且建立用于所接收HTML代码的DOM树的至少一部分。
在确定框1006中,处理器可确定DOM树的至少一个子树是否匹配指示其可独立地加以处理的任何机器习得模式。在各种方面中,处理器可通过评估基于网页脚本中的元素信息预测子树独立性的分类器模块的输出而做出此确定。在各种方面中,处理器可执行或起始一个或一个以上算法的执行以从机器学习算法确定所产生DOM树的部分是否匹配存储在存储器中的模式中的任一者。在确定框1006中,处理器可确定所产生DOM树的部分是否在结构上相同和/或在结构上类似于存储在存储器中的独立DOM子树的模式。处理器在确定框1806中可进一步检验节点与节点关系以确定可独立地处理哪些子树。
如果处理器确定DOM子树的部分并不匹配存储在存储器中的模式中的任一者的结构(即,确定框1006=“否”),那么在框1008中,处理器可处理DOM树的所产生部分,且执行相关联的计算(例如,推算元素的绝对位置、样式,执行CSS匹配,等)。在框1010中,处理器可存储计算结果,其中所述结果编索引到DOM树的执行部分。
如果处理器确定DOM树的至少一个子树在结构上相同和/或在结构上类似于存储在存储器中的模式(即,确定框1006=“是”),那么在框1012中,机器训练的分类器模块可用于预测可并行处理的子树。
在确定框1014中,处理器可确定在推断出信息且将其提供到子树以使所述子树独立的情况下是否可并行处理所述子树。如果可并行处理所述子树(即,确定框1014=“是”),那么处理器将在框1016推断所需信息,且处理返回到框1008以用于并行处理所述子树。
如果处理器使用所推断信息确定所述子树无法进行并行处理(即,确定框1014=“否”),那么处理器可在确定框1018中确定在基于推测预测或供应信息的情况下是否可使所述子树独立且并行处理所述子树。如果可使所述子树独立且并行处理所述子树(即,确定框1018=“是”),那么在框1020中基于推测供应所需信息,且处理返回到框1008以用于并行处理所述子树。
如果处理器使用所推测信息确定所述子树无法进行并行处理(即,确定框1018=“否”),那么在确定框1022,处理器可确定在可通过执行计算(所述信息将使子树独立)获得信息的情况下所述子树是否可进行并行处理。此类计算可囊括于任务中(即,确定框1022=“是”),且处理器可在框1024调度所需计算任务,且在框1026接收所需信息。此时,处理返回到框1008以用于并行处理所述子树。
当在框1008完成DOM树的处理和计算时,在框1010中将所得计算存储在存储器中。在确定框1028,处理器可确定是否已经计算所有必要计算。如果未完成所有计算(即,确定框1028=“否”),那么浏览器可通过返回到框1004而剖析HTML代码的另一区段以产生DOM树的额外部分。如果完成所有计算(即,确定框1028=“是”),那么浏览器可验证数据,且在框1030中撰写所述页以供再现,且在框1032中在计算装置的电子显示器上显示所述页。
在图11中说明用于处理DOM树的多个部分的替代方面方法1100。在方面方法1100中,可基于新的所搜集网页元素信息及其类似者更新经机器训练分类器以辨识额外模式以改进子树独立性预测的准确度。在方法1100中,在框1102处,操作浏览器应用程序的处理器可从高速缓存存储器和/或远程服务器接收HTML代码。在框1104处,处理器可剖析所接收HTML且基于所接收HTML产生DOM树的一个或一个以上部分。在框1108处,处理器可处理所述模式并比较所述模式与待再现的DOM树。在确定框1110中,处理器可确定DOM树是否匹配存储器中的任何模式。如果处理器确定DOM树的部分不匹配存储器中的模式中的任一者(即,确定框1110=“否”),那么浏览器可在框1120处详细研究DOM树且执行相关联推算以按正常方式再现DOM树。
如果处理器确定DOM树的部分匹配存储器中的一个或一个以上模式(即,确定框1110=“是”),那么处理器可确定子树为独立的或有条件地独立的。在框1112处,处理器可识别可使用调度算法并行地处理的DOM子树。在确定框1114中,处理器可例如基于比较子树与存储在存储器中的模式来识别有条件地独立的子树。如果识别出有条件地独立的子树(即,确定框1114=“是”),那么可通过推测、预测、推断或通过确定信息以使得有条件地独立的子树独立来使得有条件地独立的子树独立。
如果未识别出有条件地独立的子树(即,确定框1114=“否”),那么浏览器可在框1120处通过详细研究DOM树且执行如上文所描述的相关联推算来处理HTML推算的所产生部分。如果再现有条件地独立的子树(即,确定框1114=“是”),那么浏览器可在框1116中撰写页,且在框1118中在电子显示器上显示所得HTML网页。
在框1108处的操作期间,处理器可在框1106处存取机器学习算法和分类器。在一个方面,分类器可具有数个静态模式,可在预定周期之后或以动态方式或在服务器、浏览器或用户的请求下更新所述数个静态模式。在确定框1105处,处理器可确定是否应更新机器训练算法和分类器。如果确定应更新机器训练算法和分类器(即,确定框1105=“是”),那么处理器可在框1104处从数个网页接收并搜集网页元素信息且执行机械学习分析以辨识预测子树独立性的模式。举例来说,分类器1106可具有第一模式集合,且经更新而具有第二模式集合以补充所述第一集合。在另一方面中,第二集合可替换第一集合。在框1103处,处理器可存储所辨识模式,所述所辨识模式可在框1108处经更新且用以与新的DOM树相比较。
在替代方面中,可以动态、自动和/或周期性方式来更新模式。可处理网页,且可搜集网页元素信息以用于执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式。应了解,网页可随时间而演进,且网页元素信息可基于对新模式的观察而改变和演进,且机器学习分析将俘获新数据中的模式。
如上文所论述,在一些方面中,将机器学习算法应用到网页信息可在集中式服务器中完成,使得若干计算装置的网页处理可用以产生广泛多种因特网网页的模式信息。在图12中说明用于在中心服务器处分析网页处理信息的方面方法1200。在方法1200中,在框1202处,耦合到例如因特网等通信网络的服务器可接收由耦合到网络的数个计算装置上的配备工具的网络浏览器报告的网页处理数据。网页处理数据的误报可使用因特网通信技术中所熟知的多种数据结构和数据报告方法中的任一者。所接收的网页处理数据可存储在服务器内以逐步建立处理数据的数据库以供分析。在框1204处,服务器可将机器学习算法应用到所接收的网络处理数据。如上文所描述,此类算法可经配置以识别网页脚本或下拉树内的模式,所述模式与子树的独立性或有条件的独立性相关。在框1206处,服务器可将从处理所接收的网络处理数据而识别的模式数据与存储在数据库内的其它机器学习模式数据集成。在此操作中,可将先前所产生的模式数据与当前模式数据组合或合并以产生经更新或经替换的模式数据集合。在框1208处,可使用所得模式数据产生适合于训练计算装置网络浏览器的训练数据或模式,例如包含在计算装置网络浏览器应用程序内的可训练的分类器。在框1210处,可例如经由如因特网等通信网络将此所产生的训练数据发射到计算装置。可将此发射或训练数据作为服务或订用来提供,使得仅向服务器签名的那些计算装置接收此信息。在另一方面中,可将训练或模式数据提供到网络托管公司,使得可将信息作为元数据包含在其网页HTML脚本中。方面方法1200可使得此中心服务器能够受益于成百上千个计算装置的网页再现操作,由此实现与因特网上可用的网页的宽截面相关的模式辨识和训练数据集的开发。
如从前述描述可见,搜集关于网页再现的信息、从网页再现信息产生元素数据、对元素数据执行机器学习分析以及训练浏览器以使用机器学习分析的结果的操作可在多种实施方案中在不同计算装置中完成。举例来说,所述方面可仅在单个计算装置浏览器(例如,配备工具的浏览器)内实施,部分地在多个计算装置和一个或一个以上服务器内实施,且实质上在从多个计算装置接收网页再现信息的一个或一个以上服务器内实施。明确地说,各种方面包含一种方法(其可在经配置而具有执行方法的可执行指令的计算装置中实施),所述方法包含以下操作:处理多个网页并搜集网页元素信息;对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式;训练分类器以基于网页脚本中的元素信息预测子树独立性;以及使用所述所预测子树独立性并行地处理待再现的网页的多个部分。
在第一实例方面中,此方法可在单个计算装置内实施,其中处理多个网页并搜集网页元素信息是在于所述单个计算装置上操作的配备工具的浏览器中完成,且对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式是在所述同一计算装置中完成。
在第二实例方面中,此方法可在计算装置和服务器的网络中实施,其中处理多个网页并搜集网页元素信息包含:在多个计算装置中处理多个网页并搜集网页元素信息;将所述所搜集网页信息从所述多个计算装置中的每一者发射到所述服务器;在所述服务器中接收并聚集由所述多个计算装置发射的所述网页信息以产生经聚集网页元素信息;将经聚集网页元素信息发射到所述多个计算装置中的至少一者;以及在所述多个计算装置中的所述至少一者中接收所述发射的经聚集网页元素信息。此外,在此方面中,对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式是在所述多个计算装置中的所述至少一者中对所述所接收的经聚集网页元素信息完成,且训练分类器以基于网页脚本中的元素信息预测子树独立性包括训练在所述多个计算装置中的所述至少一者中操作的分类器以基于对所述所接收的经聚集网页元素信息执行的机器学习分析预测子树独立性。
在第三实例方面中,处理多个网页并搜集网页元素信息可包含:在多个计算装置中处理多个网页并搜集网页元素信息;将所述所搜集网页信息从所述多个计算装置中的每一者发射到服务器(例如,经由因特网);以及在所述服务器中接收由所述多个计算装置发射的所述网页信息以产生经聚集网页元素信息。在此第三实例方面中,对所述所搜集网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的模式可在所述服务器中对由所述多个计算装置发射的所述所接收网页信息完成以识别布局独立性中的模式,且所述方法可进一步包含将布局独立性中的所述所识别模式从所述服务器发射到所述多个计算装置中的至少一者(例如,经由因特网),以及在所述多个计算装置中的所述至少一者中接收布局独立性中的所述所识别模式。此外,在此实例方面中,训练分类器以基于网页脚本中的元素信息预测子树独立性可包含训练在所述多个计算装置中的所述至少一者中操作的分类器以基于布局独立性中的所述所接收的所识别模式预测子树独立性。
图13为适合于供所述方面中的任一者使用的移动计算装置的系统框图。典型移动计算装置1300可包含处理器1301,其耦合到内部存储器1302、显示器1303和扬声器1354。处理器1301可为多核处理器,或一个以上处理器可包含在移动计算装置1300中以使得能够并行地处理网页的多个部分。另外,移动计算装置1300可包含用于发送和接收电磁辐射的天线1304,其可连接到无线数据链路,和/或蜂窝式电话收发器1305,其耦合到处理器1301以及耦合到处理器1301的移动计算装置1324。移动计算装置1300通常还包含用于接收用户输入的菜单选择按钮或摇臂开关1308。
上文所描述的方面还可在多种计算装置内实施,例如,如图14中所说明的膝上型计算机1400。许多膝上型计算机包含用作计算机的指针装置的触摸板触摸表面,且因此可接收类似于在装备有触摸屏显示器的移动计算装置上实施的手势的拖曳、滚动和轻拂手势。膝上型计算机1400通常将包含处理器1401,其耦合到易失性存储器1402和例如磁盘驱动器1403等大容量非易失性存储器。处理器1401可为多核处理器,或一个以上处理器可包含在计算机1400中以使得能够并行地处理网页的多个部分。计算机1400还可包含耦合到处理器1401的软盘驱动器1404和压缩光盘(CD)驱动器1405。计算装置1400还可包含耦合到处理器1401的数个连接器端口以用于建立数据连接或接收外部存储器装置,例如USB或连接器插口,或其它网络连接电路1406以用于将处理器1401耦合到网络。在笔记型配置中,计算机外壳包含触摸板1407、键盘1408和显示器1409,所有各者耦合到处理器1401。如众所熟知,计算装置的其它配置可包含耦合到处理器的计算机鼠标或轨迹球(例如,经由USB输入)。
处理器1301、1401可为可通过软件指令(应用程序)配置以执行多种功能(包含下文所描述的各种方面的功能)的任何可编程微处理器、微型计算机或多处理器芯片。如上文所提及,处理器1301、1401可为多核处理器或经配置以与同一计算装置内的多个处理器合作以便实现对网页的并行处理。在一些移动接收器装置中,可提供多个处理器1401,例如,专用于无线通信功能的一个处理器和专用于运行其它应用程序的一个处理器。通常,在存取软件应用程序以及将软件应用程序加载到处理器1301、1401中之前,可将软件应用程序存储在内部存储器1302、1402和1403中。处理器1301、1401可包含足够存储应用程序软件指令的内部存储器。
前述方法描述和过程流程图仅作为说明性实例来提供,且并不既定需要或暗示各种方面的步骤必须以所呈现的次序执行。如所属领域的技术人员将了解,前述方面中的步骤的次序可以任何次序来执行。例如“此后”、“接着”、“接下来”等文字并不既定限制步骤的次序;那些文字仅用以指导读者通读所述方法的描述。此外,对例如使用词“一”或“所述”的单数形式的权利要求元素的任何参考不应被解释为将元素限于单数形式。
结合本文中所揭示的方面描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此可互换性,上文已大体关于其功能性而描述了各种说明性组件、块、模块、电路和步骤。所述功能性是实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但所述实施决策不应被解释为会导致偏离本发明的范围。
用以实施结合本文中所揭示的方面描述的各种说明性逻辑、逻辑块、模块和电路的硬件可用以下各者来实施或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计以执行本文中所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其任何组合。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任何其它此配置。或者,一些步骤或方法可由特定用于给定功能的电路执行。
在一个或一个以上示范性方面中,所描述功能可在硬件、软件、固件或其任何组合中实施。如果实施于软件中,那么可将功能作为计算机可读媒体上的一个或一个以上指令或代码而加以存储或传输。本文中所揭示的方法或算法的步骤可体现在处理器可执行软件模块中,处理器可执行软件模块可驻留在有形的非暂时性计算机可读存储媒体上。有形的非暂时性计算机可读存储媒体可为可由电脑存取的任何可用媒体。以实例说明且并非限制,此非暂时性计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地再生数据,而光盘使用激光光学地再生数据。上述各者的组合也应包含在非暂时性计算机可读媒体的范围内。另外,方法或算法的操作可作为代码和/或指令中的一者或任何组合或集合驻留在有形的非暂时性机器可读媒体和/或计算机可读媒体上,有形的非暂时性机器可读媒体和/或计算机可读媒体可并入到计算机程序产品中。
提供所揭示方面的前述描述以使得任何所属领域的技术人员能够制造或使用本发明。所属领域的技术人员将容易明白对这些方面的各种修改,且本文中所定义的一般原理可在不偏离本发明的精神或范围的情况下应用于其它方面。因此,本发明并不既定限于本文中所展示的方面,而应符合与随附权利要求书以及本文中所揭示的原理和新颖特征一致的最宽范围。

Claims (49)

1.一种用于加速网页再现的方法,其包括:
处理多个网页并搜集网页元素信息;
对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式;
训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性;以及
使用所预测子树独立性并行地处理待再现的网页的多个部分。
2.根据权利要求1所述的方法,其中使用所预测子树独立性并行地处理待再现的网页的多个部分包括:
基于所识别的模式和所述网页中的所述网页元素信息预测子树为先验独立的;以及
由DOM树的先验独立部分形成任务。
3.根据权利要求1所述的方法,其进一步包括:
基于所识别的模式和所述网页中的所述元素信息预测在确定特定信息的情况下子树将为有条件地独立的;
执行任务以获得所述特定信息;以及
使用所获得的特定信息由DOM树的所述有条件地独立的部分形成任务。
4.根据权利要求3所述的方法,其中执行任务以获得所述特定信息包括即时地计算所述特定信息。
5.根据权利要求3所述的方法,其中执行任务以获得所述特定信息包括基于推测确定所述特定信息。
6.根据权利要求1所述的方法,其进一步包括:
搜集包括以下各者中的至少一者的网页元素信息:网页元素布局大小、位置、CSS样式属性、子树大小、HTML标记、父级HTML标记,和网页特征信息。
7.根据权利要求1所述的方法,其进一步包括使用所预测子树独立性确定所述网页的DOM树的子树并非独立的且所述子树无法进行并行处理。
8.根据权利要求1所述的方法,其进一步包括使用单个网络浏览器执行所述机器学习分析且预测子树独立性以并行地处理所述网页的多个部分。
9.根据权利要求1所述的方法,其进一步包括:
在第一计算装置中使用第一处理器执行机器学习分析;以及
在第二不同计算装置中使用第二处理器预测子树独立性以并行地处理所述网页的多个部分。
10.根据权利要求1所述的方法,其进一步包括通过处理多个经更新的网页来更新所述分类器,并搜集经更新的网页元素信息,以及对所搜集的经更新的网页元素信息执行机器学习分析以识别与网页元素信息相关的布局独立性中的额外模式。
11.根据权利要求1所述的方法,其进一步包括使用在计算装置上操作的配备工具的浏览器搜集网页元素信息,其中:
处理多个网页并搜集网页元素信息是在所述配备工具的浏览器中完成;且
对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式是在所述计算装置中完成。
12.根据权利要求1所述的方法,其中处理多个网页并搜集网页元素信息包括:
在多个计算装置中处理多个网页并搜集网页元素信息;
将所搜集网页元素信息从所述多个计算装置中的每一者发射到服务器;
在所述服务器中接收并聚集由所述多个计算装置发射的所述网页元素信息以产生经聚集网页元素信息;
将经聚集网页元素信息发射到所述多个计算装置中的至少一者;以及
在所述多个计算装置中的所述至少一者中接收所述发射的经聚集网页元素信息n,且
其中:
对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式是在所述多个计算装置中的所述至少一者中对所接收的经聚集网页元素信息完成;且
训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性包括训练在所述多个计算装置中的所述至少一者中操作的分类器以基于对所接收的经聚集网页元素信息执行的机器学习分析而预测子树独立性。
13.根据权利要求1所述的方法,
其中处理多个网页并搜集网页元素信息包括:
在多个计算装置中处理多个网页并搜集网页元素信息;
将所搜集网页元素信息从所述多个计算装置中的每一者发射到服务器;以及
在所述服务器中接收由所述多个计算装置发射的所述网页元素信息以产生经聚集网页元素信息,
其中对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式包括在所述服务器中对由所述多个计算装置发射的所接收网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式,
所述方法进一步包括:
将所识别的模式从所述服务器发射到所述多个计算装置中的至少一者;以及
在所述多个计算装置中的所述至少一者中接收所识别的模式,
其中训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性包括训练在所述多个计算装置中的所述至少一者中操作的分类器以基于所接收的所识别的模式预测子树独立性。
14.根据权利要求1所述的方法,其进一步包括所述分类器基于所识别的模式和网页中的所述元素信息预测子树独立性,其中所述分类器将子树独立性数据提供到调度算法。
15.根据权利要求14所述的方法,其进一步包括所述调度算法使用所预测子树独立性并行地处理所述网页的多个部分。
16.根据权利要求1所述的方法,其进一步包括对所搜集网页元素信息执行机器学习分析以识别在预定样式表语言译码中与呈现语义相关的要在确定可独立地处理的DOM树的子树中使用的模式。
17.根据权利要求1所述的方法,其进一步包括在再现DOM树的第二相依子树之前,使用所预测子树独立性再现所述DOM树的第一独立子树,其中所述第一独立子树是所述DOM树的布局计算可并行地进行的区段,及,所述第二相依子树是所述DOM树的布局计算无法并行地进行的区段。
18.根据权利要求1所述的方法,其进一步包括:
连续地处理来自因特网的多个网页并搜集网页元素信息;
连续地对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式;以及
更新所述分类器以基于网页中的元素信息和所识别的模式预测子树独立性。
19.根据权利要求1所述的方法,其进一步包括:
处理第一网页集合并搜集与所述第一网页集合相关联的网页元素信息且对所搜集的与所述第一网页集合相关联的网页元素信息执行机器学习分析以识别第一模式集合;
使用与所述第一网页集合的所预测的子树独立性相关联的所述第一模式集合以并行地处理待再现的多个部分;以及
通过以连续方式搜集额外网页元素信息并执行机器分析以识别额外模式以补充所述第一模式集合而以动态方式连续地更新所述第一模式集合。
20.根据权利要求19所述的方法,其进一步包括处理第二网页集合并搜集网页元素信息以识别第二模式集合且使用所述第二模式集合来更新所述第一模式集合。
21.根据权利要求1所述的方法,其进一步包括对所搜集网页元素信息执行机器学习分析以识别在HTML译码中要在确定可独立地处理的DOM树的子树中使用的模式。
22.根据权利要求21所述的方法,其中HTML译码包含指示并行处理能力的所述DOM树的第一子树,其中HTML译码还包含第二子树,所述第二子树关于所述第二子树的所述并行处理能力静默,且其中所述分类器基于所识别的模式和网页中的元素信息预测网页元素的所述第二子树的子树独立性。
23.一种用于接收和再现网页的方法,其包括:
从连接到通信网络的至少一个计算装置接收网页元素信息,其中所述网页元素信息是由所述至少一个计算装置在处理多个网页时搜集;
对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式;以及
按以下格式将关于所识别的要在确定可独立地处理的DOM树的子树中使用的模式的信息发射到所述至少一个计算装置:使得所述至少一个计算装置能够训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性且使用所预测子树独立性并行地处理待再现的网页的多个部分。
24.一种用于接收和再现网页的方法,其包括:
处理多个网页并搜集网页元素信息;
将所搜集网页元素信息发射到服务器;
对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式;
将关于所识别的要在确定可独立地处理的DOM树的子树中使用的模式的信息发射到多个计算装置;
从所述服务器接收关于所识别的模式的所述信息;
使用关于所识别的模式的所述信息来训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性;以及
使用所预测子树独立性并行地处理待再现的网页的多个部分。
25.根据权利要求24所述的方法,其中对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式包括在所述服务器处产生经聚集网页元素信息。
26.根据权利要求25所述的方法,其中训练分类器以基于网页中的元素信息预测子树独立性包括训练在所述多个计算装置中操作的分类器以基于对经聚集网页元素信息执行的机器学习分析预测子树独立性。
27.一种用于加速网页再现的设备,其包括:
用于处理多个网页并搜集网页元素信息的装置;
用于对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式的装置;
用于训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性的装置;以及
用于使用所预测子树独立性并行地处理待再现的网页的多个部分的装置。
28.根据权利要求27所述的设备,其中用于使用所预测子树独立性并行地处理待再现的网页的多个部分的装置包括:
用于基于所识别的模式和所述网页中的所述网页元素信息预测子树为先验独立的装置;以及
用于由DOM树的先验独立部分形成任务的装置。
29.根据权利要求27所述的设备,其进一步包括:
用于基于所识别的模式和所述网页中的所述元素信息预测在确定特定信息的情况下子树将为有条件地独立的装置;
用于执行任务以获得所述特定信息的装置;以及
用于使用所获得的特定信息由DOM树的所述有条件地独立的部分执行任务的装置。
30.根据权利要求29所述的设备,其中用于执行任务以获得所述特定信息的装置包括用于即时地计算所述特定信息的装置。
31.根据权利要求29所述的设备,其中用于执行任务以获得所述特定信息的装置包括用于基于推测确定所述特定信息的装置。
32.根据权利要求29所述的设备,其进一步包括用于搜集包括以下各者中的至少一者的网页元素信息的装置:网页元素布局大小、位置、CSS样式属性、子树大小、HTML标记、父级HTML标记,和网页特征信息。
33.根据权利要求27所述的设备,其进一步包括用于使用所预测子树独立性确定所述网页的DOM树的子树并非独立的且所述子树无法进行并行处理的装置。
34.根据权利要求27所述的设备,其进一步包括用于使用单个网络浏览器执行所述机器学习分析且预测子树独立性以并行地处理所述网页的多个部分的装置。
35.根据权利要求27所述的设备,其进一步包括用于更新所述分类器的装置,其中用于更新所述分类器的所述装置包括:
用于处理多个经更新的网页的装置;
用于搜集经更新的网页元素信息的装置;以及
用于对所搜集的经更新的网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的额外模式的装置。
36.根据权利要求27所述的设备,其中用于处理多个网页并搜集网页元素信息的装置包括用于使用在所述设备上操作的配备工具的浏览器的装置。
37.根据权利要求27所述的设备,其进一步包括用于将子树独立性数据提供到调度算法的装置,其中所述用于将子树独立性数据提供到调度算法的装置包括用于基于所识别的模式和网页中的所述元素信息预测子树独立性的装置。
38.根据权利要求37所述的设备,其中所述调度算法使用所预测子树独立性并行地处理所述网页的多个部分。
39.根据权利要求27所述的设备,其进一步包括用于对所搜集网页元素信息执行机器学习分析以识别在预定样式表语言译码中与呈现语义相关的要在确定可独立地处理的DOM树的子树中使用的模式的装置。
40.根据权利要求27所述的设备,其进一步包括用于在再现DOM树的第二相依子树之前使用所预测子树独立性再现所述DOM树的第一独立子树的装置,其中所述第一独立子树是所述DOM树的布局计算可并行地进行的区段,及,所述第二相依子树是所述DOM树的布局计算无法并行地进行的区段。
41.根据权利要求27所述的设备,其进一步包括:
用于连续地处理来自因特网的多个网页并搜集网页元素信息的装置;
用于连续地对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式的装置;以及
用于更新所述分类器以基于网页中的元素信息和所识别的模式预测子树独立性的装置。
42.根据权利要求27所述的设备,其进一步包括:
用于处理第一网页集合并搜集与所述第一网页集合相关联的网页元素信息且对所搜集的与所述第一网页集合相关联的网页元素信息执行机器学习分析以识别第一模式集合的装置;
用于使用与所述第一网页集合的所预测子树独立性相关联的所述第一模式集合以并行地处理待再现的多个部分的装置;以及
用于通过以连续方式搜集额外网页元素信息并执行机器分析以识别额外模式以补充所述第一模式集合而以动态方式连续地更新所述第一模式集合的装置。
43.根据权利要求42所述的设备,其进一步包括用于处理第二网页集合并搜集网页元素信息以识别第二模式集合且使用所述第二模式集合来更新所述第一模式集合的装置。
44.根据权利要求27所述的设备,其进一步包括用于对所搜集网页元素信息执行机器学习分析以识别在HTML译码中要在确定可独立地处理的DOM树的子树中使用的模式的装置。
45.根据权利要求44所述的设备,其中HTML译码包含指示并行处理能力的所述DOM树的第一子树,其中HTML译码还包含第二子树,所述第二子树关于所述第二子树的所述并行处理能力静默,且其中所述分类器基于所识别的模式和网页中的元素信息预测网页元素的所述第二子树的子树独立性。
46.一种用于接收和再现网页的设备,其包括:
用于从连接到通信网络的至少一个计算装置接收网页元素信息的装置,其中所述网页元素信息是由所述至少一个计算装置在处理多个网页时搜集;
用于对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式的装置;以及
用于按以下格式将关于所识别的要在确定可独立地处理的DOM树的子树中使用的模式的信息发射到所述至少一个计算装置的装置:使得所述至少一个计算装置能够训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性且使用所预测子树独立性并行地处理待再现的网页的多个部分。
47.一种用于接收并再现网页的通信系统,其包括:
用于处理多个网页并搜集网页元素信息的装置;
用于将所搜集网页元素信息发射到服务器的装置;
用于对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式的装置;
用于将关于所识别的要在确定可独立地处理的DOM树的子树中使用的模式的信息发射到多个计算装置的装置,
用于从所述服务器接收关于所识别的模式的所述信息的装置;
用于使用关于所识别的模式的所述信息来训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性的装置;以及
用于使用所预测子树独立性并行地处理待再现的网页的多个部分的装置。
48.根据权利要求47所述的通信系统,其中用于对所搜集网页元素信息执行机器学习分析以识别要在确定可独立地处理的DOM树的子树中使用的模式的装置包括用于在所述服务器处产生经聚集网页元素信息的装置。
49.根据权利要求48所述的通信系统,其中用于训练分类器以基于所识别的模式和网页中的元素信息预测子树独立性的装置包括用于训练在所述多个计算装置中操作的分类器以基于对经聚集网页元素信息执行的机器学习分析预测子树独立性的装置。
CN201280013524.3A 2011-03-15 2012-03-12 识别网络浏览器中的并行布局的独立任务的机器学习方法 Expired - Fee Related CN103443786B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161452694P 2011-03-15 2011-03-15
US61/452,694 2011-03-15
US13/182,244 2011-07-13
US13/182,244 US8510237B2 (en) 2011-03-15 2011-07-13 Machine learning method to identify independent tasks for parallel layout in web browsers
PCT/US2012/028780 WO2012125568A1 (en) 2011-03-15 2012-03-12 Machine learning method to identify independent tasks for parallel layout in web browsers

Publications (2)

Publication Number Publication Date
CN103443786A CN103443786A (zh) 2013-12-11
CN103443786B true CN103443786B (zh) 2016-08-31

Family

ID=46829276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280013524.3A Expired - Fee Related CN103443786B (zh) 2011-03-15 2012-03-12 识别网络浏览器中的并行布局的独立任务的机器学习方法

Country Status (6)

Country Link
US (1) US8510237B2 (zh)
EP (1) EP2686780A1 (zh)
JP (1) JP5819995B2 (zh)
KR (1) KR101657578B1 (zh)
CN (1) CN103443786B (zh)
WO (1) WO2012125568A1 (zh)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2092424B1 (en) 2006-10-19 2015-12-30 Checkmarx Ltd. Locating security vulnerabilities in source code
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
US9785700B2 (en) 2008-02-11 2017-10-10 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallelized indexing
US8359365B2 (en) 2008-02-11 2013-01-22 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallel document indexing
JP5844809B2 (ja) * 2010-08-24 2016-01-20 チェックマークス リミテッド プログラミングルール違反に対するソースコードマイニング
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US8438474B1 (en) * 2011-04-27 2013-05-07 Google Inc. Speculative rendering during cache revalidation
US8839245B1 (en) 2012-06-18 2014-09-16 Bromium, Inc. Transferring files using a virtualized application
US9146909B2 (en) * 2011-07-27 2015-09-29 Qualcomm Incorporated Web browsing enhanced by cloud computing
US8650188B1 (en) 2011-08-31 2014-02-11 Google Inc. Retargeting in a search environment
US10956485B2 (en) 2011-08-31 2021-03-23 Google Llc Retargeting in a search environment
US10630751B2 (en) 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
KR101340588B1 (ko) * 2012-02-29 2013-12-11 주식회사 팬택 웹페이지 구성방법 및 그 장치
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9201850B1 (en) * 2012-06-18 2015-12-01 Bromium, Inc. Composing the display of a virtualized web browser
US9734131B1 (en) * 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
US11023088B2 (en) 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US9727534B1 (en) * 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US9348936B2 (en) * 2012-07-25 2016-05-24 Oracle International Corporation Heuristic caching to personalize applications
US9898445B2 (en) * 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
US20140053064A1 (en) * 2012-08-16 2014-02-20 Qualcomm Incorporated Predicting the usage of document resources
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US20150067475A1 (en) * 2013-08-30 2015-03-05 Wal-Mart Stores, Inc. Web Application Framework
US9311422B2 (en) 2013-09-12 2016-04-12 Adobe Systems Incorporated Dynamic simulation of a responsive web page
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US20150135061A1 (en) * 2013-11-08 2015-05-14 Qualcomm Incorporated Systems and methods for parallel traversal of document object model tree
US9628487B2 (en) * 2014-03-24 2017-04-18 Futurewei Technologies, Inc. System and method for partial URL signing with applications to dynamic adaptive streaming
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
CN104063488B (zh) * 2014-07-07 2017-09-01 成都安恒信息技术有限公司 一种半自动化学习式的表单特征提取方法
US10826930B2 (en) 2014-07-22 2020-11-03 Nuix Pty Ltd Systems and methods for parallelized custom data-processing and search
EP3190963A4 (en) * 2014-09-11 2018-04-25 The Medical College of Wisconsin, Inc. Systems and methods for estimating histological features from medical images using a trained model
US20160103799A1 (en) * 2014-10-08 2016-04-14 Connotate, Inc. Methods and systems for automated detection of pagination
JP6575099B2 (ja) * 2015-03-24 2019-09-18 富士通株式会社 運用操作管理プログラム、運用操作管理装置および運用操作管理方法
US11159603B2 (en) 2015-04-15 2021-10-26 Hyland Switzerland Sàrl Cross-platform module for loading across a plurality of device types
US11200249B2 (en) 2015-04-16 2021-12-14 Nuix Limited Systems and methods for data indexing with user-side scripting
RU2632149C2 (ru) * 2015-05-06 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Система, способ и постоянный машиночитаемый носитель для проверки веб-страниц
US10769351B2 (en) * 2015-05-08 2020-09-08 Citrix Systems, Inc. Rendering based on a document object model
US9965451B2 (en) 2015-06-09 2018-05-08 International Business Machines Corporation Optimization for rendering web pages
US10425427B2 (en) 2015-06-19 2019-09-24 Futurewei Technologies, Inc. Template uniform resource locator signing
RU2638015C2 (ru) * 2015-06-30 2017-12-08 Общество С Ограниченной Ответственностью "Яндекс" Способ идентификации целевого объекта на веб-странице
US10387676B2 (en) 2015-09-14 2019-08-20 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
US10296580B1 (en) 2015-09-18 2019-05-21 Amazon Technologies, Inc. Delivering parsed content items
US10127210B1 (en) 2015-09-25 2018-11-13 Amazon Technologies, Inc. Content rendering
US10241983B1 (en) 2015-09-28 2019-03-26 Amazon Technologies, Inc. Vector-based encoding for content rendering
US10691750B1 (en) 2015-09-28 2020-06-23 Amazon Technologies, Inc. Browser configured to efficiently store browsing session state
US10601894B1 (en) 2015-09-28 2020-03-24 Amazon Technologies, Inc. Vector-based encoding for content rendering
MX2018004856A (es) 2015-10-20 2018-11-09 Viasat Inc Actualizacion de modelo de optimizacion por medio de agrupamientos de navegacion automatica.
EP4243381A3 (en) 2015-12-04 2023-11-15 ViaSat Inc. Accelerating connections to a host server
US10341345B1 (en) 2015-12-15 2019-07-02 Amazon Technologies, Inc. Network browser configuration
US10348797B1 (en) 2015-12-15 2019-07-09 Amazon Technologies, Inc. Network browser configuration
US20170185898A1 (en) * 2015-12-26 2017-06-29 Arnab Paul Technologies for distributed machine learning
US11841789B2 (en) 2016-01-27 2023-12-12 Microsoft Technology Licensing, Llc Visual aids for debugging
US11868896B2 (en) 2016-01-27 2024-01-09 Microsoft Technology Licensing, Llc Interface for working with simulations on premises
US11775850B2 (en) 2016-01-27 2023-10-03 Microsoft Technology Licensing, Llc Artificial intelligence engine having various algorithms to build different concepts contained within a same AI model
US11120299B2 (en) 2016-01-27 2021-09-14 Microsoft Technology Licensing, Llc Installation and operation of different processes of an AI engine adapted to different configurations of hardware located on-premises and in hybrid environments
US10733531B2 (en) 2016-01-27 2020-08-04 Bonsai AI, Inc. Artificial intelligence engine having an architect module
CN107368487B (zh) * 2016-05-12 2020-09-29 阿里巴巴集团控股有限公司 一种页面组件动态布局方法、装置及客户端
CA3024078C (en) * 2016-05-29 2024-04-09 Wix.Com Ltd. Creation and update of hierarchical websites based on collected business knowledge
GB2558870A (en) * 2016-10-25 2018-07-25 Parrotplay As Internet browsing
CN108228641A (zh) * 2016-12-21 2018-06-29 中国移动通信集团辽宁有限公司 网页数据分析的方法、设备和系统
IL259201B (en) 2017-05-10 2021-12-01 Checkmarx Ltd Using the same query language for static and dynamic application security testing tools
WO2018236674A1 (en) * 2017-06-23 2018-12-27 Bonsai Al, Inc. HIERARCHICAL DECOMPOSITION DEEPENING REINFORCEMENT LEARNING FOR A MODEL OF ARTIFICIAL INTELLIGENCE
US10460018B1 (en) * 2017-07-31 2019-10-29 Amazon Technologies, Inc. System for determining layouts of webpages
US10796228B2 (en) * 2017-09-29 2020-10-06 Oracle International Corporation Machine-learning-based processing of de-obfuscated data for data enrichment
US11321614B2 (en) 2017-09-29 2022-05-03 Oracle International Corporation Directed trajectories through communication decision tree using iterative artificial intelligence
US10459609B2 (en) * 2018-04-03 2019-10-29 Palantir Technologies Inc. Multi-stage data page rendering
WO2020034212A1 (zh) * 2018-08-17 2020-02-20 华为技术有限公司 检测web网页安全性的方法和装置
CN112997171A (zh) 2018-09-27 2021-06-18 谷歌有限责任公司 分析网页以促进自动导航
WO2020167066A1 (en) * 2019-02-15 2020-08-20 Samsung Electronics Co., Ltd. Method and electronic device for machine learning based prediction of subsequent user interface layouts
CN110018869B (zh) 2019-02-20 2021-02-05 创新先进技术有限公司 通过强化学习向用户展示页面的方法及装置
CA3140610A1 (en) 2019-05-20 2020-11-26 Wix.Com Ltd. System and method providing responsive editing and viewing, integrating hierarchical fluid components and dynamic layout
CN111985637A (zh) * 2019-05-21 2020-11-24 苹果公司 具有多个处理任务的条件执行的机器学习模型
CN110309462B (zh) * 2019-07-10 2023-05-16 腾讯科技(深圳)有限公司 数据展示方法及系统
US10936807B1 (en) * 2019-10-16 2021-03-02 Capital One Services, Llc Systems and methods for displaying effects of code changes
US10922476B1 (en) * 2019-12-13 2021-02-16 Microsoft Technology Licensing, Llc Resource-efficient generation of visual layout information associated with network-accessible documents
US11443241B2 (en) * 2020-03-26 2022-09-13 Wipro Limited Method and system for automating repetitive task on user interface
EP3945441A1 (en) 2020-07-28 2022-02-02 Checkmarx Ltd. Detecting exploitable paths in application software that uses third-party libraries
CN112417345B (zh) * 2021-01-25 2021-04-13 北京小米移动软件有限公司 渲染方法、装置、电子设备及存储介质
US11528289B2 (en) * 2021-02-26 2022-12-13 At&T Intellectual Property I, L.P. Security mechanisms for content delivery networks
US11429406B1 (en) 2021-03-08 2022-08-30 Bank Of America Corporation System for implementing auto didactic content generation using reinforcement learning
US11727084B1 (en) * 2022-05-23 2023-08-15 Salesforce, Inc. Techniques for automatically configuring web components
CN115756449B (zh) * 2022-12-02 2023-06-06 之江实验室 一种页面复用方法、装置、存储介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763357A (zh) * 2008-11-13 2010-06-30 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4746952B2 (ja) 2005-09-29 2011-08-10 Necパーソナルプロダクツ株式会社 文書表示方法及び文書表示装置
US8719291B2 (en) * 2007-04-24 2014-05-06 Lixto Software Gmbh Information extraction using spatial reasoning on the CSS2 visual box model
CN101329665A (zh) 2007-06-18 2008-12-24 国际商业机器公司 解析标记语言文档的方法和解析器
US20090248707A1 (en) 2008-03-25 2009-10-01 Yahoo! Inc. Site-specific information-type detection methods and systems
US7974934B2 (en) 2008-03-28 2011-07-05 Yahoo! Inc. Method for segmenting webpages by parsing webpages into document object modules (DOMs) and creating weighted graphs
US8990289B2 (en) * 2009-02-27 2015-03-24 Oracle America, Inc. Server based framework for improving Ajax performance
US9311425B2 (en) 2009-03-31 2016-04-12 Qualcomm Incorporated Rendering a page using a previously stored DOM associated with a different page

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763357A (zh) * 2008-11-13 2010-06-30 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Fast and Parallel Webpage Layout;Leo A. Meyerovich等;《Proceedings of the 19th International Conference on World Wide Web》;20100426;第1-15页 *
Towards Parallelizing the Layout Engine of Firefox;Carmen Badea等;《Proceedings of the 2nd USENIX Conference on Hot Topics in Parallelism》;20100614;第1-6页 *
网页树型结构快速加载大数据量数据的实现;王硕等;《计算机工程与应用》;20081231;第44卷(第27期);第165-167,171页 *

Also Published As

Publication number Publication date
JP2014514634A (ja) 2014-06-19
EP2686780A1 (en) 2014-01-22
JP5819995B2 (ja) 2015-11-24
US8510237B2 (en) 2013-08-13
US20120239598A1 (en) 2012-09-20
WO2012125568A1 (en) 2012-09-20
KR101657578B1 (ko) 2016-09-19
CN103443786A (zh) 2013-12-11
KR20130143718A (ko) 2013-12-31

Similar Documents

Publication Publication Date Title
CN103443786B (zh) 识别网络浏览器中的并行布局的独立任务的机器学习方法
CN106796578B (zh) 知识自动化系统和方法以及存储器
CN1934569B (zh) 集成有用户注释的搜索系统和方法
CN100530083C (zh) 用于创建应用程序的系统及方法
CN101739335B (zh) 建议的应用评估系统
CN109992710A (zh) 点击率预估方法、系统、介质和计算设备
CN101124609A (zh) 使用内联上下文查询的搜索系统及方法
CN103262047A (zh) 使用代码克隆检测的智能代码差分
CN103294815A (zh) 基于关键字分类并有多种呈现方式的搜索引擎装置与方法
CN111800289B (zh) 通信网络故障分析方法和装置
CN105786897B (zh) 用于提供基于情境感知的用户关注信息的情境感知本体构建方法
CN110362663A (zh) 自适应多感知相似度检测和解析
Bernaschina et al. A big data analysis framework for model-based web user behavior analytics
CN112699295A (zh) 一种网页内容推荐方法、装置和计算机可读存储介质
CN112417133A (zh) 排序模型的训练方法和装置
CN115438740A (zh) 一种多源数据的汇聚融合方法和系统
CN113158051B (zh) 一种基于信息传播和多层上下文信息建模的标签排序方法
CN104346174B (zh) 一种在线矢量图建模过程的描述与重现方法
CN101950289A (zh) 一种应用网页语义的方法和系统
US20230205981A1 (en) System for superimposed communication by object oriented resource manipulation on a data network
CN101840402A (zh) 从多语言网站构建多语言的对象层次结构的方法和系统
Huang et al. Interaction Proxy Manager: Semantic Model Generation and Run-time Support for Reconstructing Ubiquitous User Interfaces of Mobile Services
CN112712056A (zh) 视频语义分析方法、装置、存储介质及电子设备
Su et al. KaitoroCap: A document navigation capture and visualisation tool
Yao Automatic GUI Code Generation with Deep Learning

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160831

Termination date: 20190312