CN108701130B - 使用自动浏览群集更新提示模型 - Google Patents
使用自动浏览群集更新提示模型 Download PDFInfo
- Publication number
- CN108701130B CN108701130B CN201580084922.8A CN201580084922A CN108701130B CN 108701130 B CN108701130 B CN 108701130B CN 201580084922 A CN201580084922 A CN 201580084922A CN 108701130 B CN108701130 B CN 108701130B
- Authority
- CN
- China
- Prior art keywords
- hint
- web page
- page
- machine
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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/954—Navigation, e.g. using categorised browsing
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
实施例试图通过使用自动浏览群集来生成和更新用于机器生成提示的提示模型来改进预提取提示。例如,提示机器可以包括浏览群集,其响应于更新触发(例如客户端网页请求、调度的网页爬取等)而自主地提取网页,并且生成定时和/或其他提示相关的反馈,其关于哪些资源用于加载所提取网页。提示机器可以使用提示反馈来生成和/或更新提示模型,其可以用于机器生成提示。一些实施例可以响应于客户端提示请求而提供初步提示功能,例如当用于所请求页面的提示模型不足时(例如不可用、过时等)。例如,如果没有足够的提示模型,提示机器可以提取页面以生成初步提示反馈,其可被用于机器生成初步提示。
Description
技术领域
实施例一般涉及网络通信性能,并且更具体地涉及使用自动浏览群集更新提示模型。
背景技术
用户选择网页内容并接收对象的网页传输是互联网用户的互联网体验的核心部分。尽管用户的体验通常是单一选择,随后查看在屏幕上呈现的网页,但是在屏幕上呈现网页的过程可涉及大量资源(例如页面对象)和多个从用户系统到提供网页资源的一个或多个网络服务器的请求/响应往返通信。另外,每个资源可以与多个不同阶段相关联,作为将资源(或与资源相关联的对象)包含在呈现给用户的网页中的一部分。作为网页一部分的每个资源以及与每个资源相关联的每个阶段都可能导致装置用户所经历的整个页面加载时间为延迟。各种技术允许向浏览器发送关于用于呈现网页的资源(“提示”)的信息,并且浏览器可以使用这些提示来改善该网页的加载时间。
发明内容
除了其他方面,本文描述了系统和方法通过使用自动浏览群集来生成和更新用于机器生成提示的提示模型来改进预提取提示。一些实施例在具有页面提取器(例如在网络浏览器中实现)的与内容服务器和提示机器通信(例如通过通信网络通信)的客户端机器的上下文中操作。提示机器可以包括浏览群集,其响应于更新触发而自主地提取(例如加载、呈现等)网页。例如,更新触发可以对应于来自客户端计算机的网页请求、调度的提示模型更新、过时和/或不完整提示模型的确定等。随着自动浏览群集提取网页,它们可以生成提示反馈,其关于使用哪些资源(例如数据元素)来加载网页、关于加载那些资源的定时等。可以由提示机器使用提示反馈来生成和/或更新提示模型,其可以用于机器生成提示。可以向客户端计算机(例如,以及自动浏览群集)提供提示以改善页面加载定时和/或提供其他特征。
提示机器的一些实施例可以响应于提示请求(例如网页请求)而向客户端计算机提供初步提示功能,例如当用于所请求网页的提示模型不足时(例如不可用、过时等)。例如,当客户端机器请求网页时,提示机器可以确定是否已经为用于所请求网页的机器生成提示开发了足够的提示模型。如果是的话,提示机器则可以向请求客户端机器提供机器生成提示。如果不是的话,提示机器则可以机器生成初步提示(例如通过自动提取所请求网页一次或多次以基于有限获得的提示反馈来生成初步提示模型)。在一些实施方式中,提示机器可以同时触发自动浏览群集以生成(例如,和/或开始生成、调度生成、更新等)用于网页的足够的(非初步)提示模型,随后从所述提示模型机器生成提示。例如,可以响应于随后对网页的请求而基于足够的提示模型提供提示。
附图说明
本公开结合附图来描述:
图1示出了为各种实施例提供上下文的说明性通信系统环境;
图2示出了根据各种实施例的用于使用自动浏览群集来实现更新提示模型的说明性通信环境的一部分的框图;
图3A示出了根据各种实施例的用于使用自动服务器群集来实现机器生成提示的说明性架构;
图3B示出了根据各种实施例的用于使用自动服务器群集来实现机器生成提示的另一个说明性架构;
图4示出了根据各种实施例的用于使用自动浏览群集来机器生成提示的说明性方法的流程图;
图5提供了计算机系统的一个实施例的示意图,所述计算机系统可以执行本文所述的发明的方法,和/或例如可以用作客户端机器、内容服务器、提示机器130或任何其他这样的计算机或装置的任何一部分;和
图6示出了根据一组实施例可以使用的网络系统的示意图。
在附图中,类似的部件和/或特征可以具有相同的参考标号。此外,相同类型的各种部件可以通过参考标号之后的第二标号区分,其区分类似的部件。如果在说明书中仅使用第一参考标号,该描述则适用于具有相同第一参考标号的任何一个相似的组件,而不管第二参考标号如何。
具体实施方式
在以下描述中,阐述了许多具体细节以提供对本发明的透彻理解。然而,本领域的普通技术人员应该理解,本发明可以在没有这些具体细节的情况下实施。在一些情况下,未详细示出电路、结构和技术,以免模糊本发明。
实施例在通过自动浏览群集生成机器驱动的提示以及将这些机器生成提示提供给客户端机器的上下文下操作。如本文所用,“自动浏览群集”一般地旨在包括实现一个或多个“浏览引擎”实例以执行用于机器生成提示的提示反馈收集功能和页面提取的任何一个或多个计算平台。每个浏览引擎实例都可以实现为完整的网络浏览器应用、用于提取页面资源并收集页面加载定时信息的脚本组、用于爬取网页并生成提示反馈的“机器人”(bot)组,和/或以任何其他合适的方式实现。自动浏览群集的计算平台和/或浏览引擎实例可以根据并置架构、分布式架构、基于云的架构和/或任何其他合适的架构来实现。例如,本文将一些实施例被描述为将自动浏览群集实现为“提示后端”的一部分。使用术语“后端”仅旨在增加某些功能分组的清晰度,并且不旨在限制那些实施例的架构或自动浏览群集的位置(例如“后端”可以与其他提示机器功能并置,可通过一个或多个网络由那些其他功能访问,和/或以任何其他合适的方式实施)。
如本文所使用的,“客户端”或“客户端机器”通常旨在包括任何涉及网络事务(例如呈现网页)的计算平台,并且不旨在限于任何特定的网络架构、协议等。例如,在一些实施方式中,客户端机器可以在“客户端-服务器”(例如使用客户端-服务器类型的协议的客户端-服务器架构)的上下文下与服务器机器(例如提示机器)交互。其他实施方式可以在对等(peer-to-peer)上下文或任何其他合适的上下文下操作。在这种情况下,特定的机器可以充当特定事务的客户端,并且在其他事务中的作为服务器或其他功能(例如,根据对等和/或其他协议,同一台机器可以作为一个事务的“客户端”和另一事务的服务器)。
如本文所用,“网页事务”通常是指客户端机器与另一机器(例如服务器计算机)之间的通信以将多个对象传送到客户端机器,所述多个对象可以作为网页的一部分呈现给用户。如本文所用,“网页”旨在广义地指通过通信网络发送并且由多个页面资源组成的任何类型的页面。例如,网页可以是在万维网通信中使用的典型网页、应用(例如应用程式等)的页面(例如屏幕)或任何其他类型的网页。此外,对“网络”的引用并不限于互联网或万维网;相反,“网络”可以包括任何公共或专用通信网络。此外,诸如“页面提取器”之类的术语不旨在限于网络浏览器中的任何特定过程;相反,这样的术语可以指用于在浏览器或其他应用中加载和/或呈现网页及其资源的终端用户体验的任何过程或过程组(即,本文使用“呈现”和“加载”以通常表示使用资源来制定页面)。在一个示例中,网页可以包括网络浏览器页面;页面提取器可以包括网络浏览器;并且资源可以包括网络浏览器使用(例如在一些或全部实例中需要)的统一资源定位符(URL)、超文本标记语言(HTML)对象、脚本、cookie和/或其他服务器端对象以呈现网页。在另一个示例中,网页可以包括应用程式(例如,或任何其他应用)的屏幕;页面提取器可以包括应用程式(例如应用程式处理输入/输出交互的部分);并且资源可以是所呈现屏幕的视听内容。
在“提示”、“提示信息”等的上下文中描述实施例。如本文所用,提示通常包括关于提供给页面提取器(或者客户端机器的任何合适部件或客户端机器的代理系统)的用于呈现网页的资源的任何信息,以帮助改进该页面提取器用于该网页的页面加载定时。如本文所用,术语“资源”通常是指数据元素(例如文件、脚本等)、数据元素(例如网页等)的集合或者数据元素的标识符或数据元素的集合(例如,统一资源定位符(URL)、脚本调用等)。在某些实例中,资源可以嵌入其他资源中和/或可以包括其他资源的集合。有关资源的信息可能包括:作为事务一部分请求的所有资源的列表、在客户端装置的输出上呈现初始不完整网页所需的资源的列表、与客户端装置或在客户端装置上操作的处理相关联的cookie组(和/或那些cookie的散列版本)、与一个或多个网页资源或客户端进程相关联的cookie组(和/或那些cookie的散列版本)、与每个资源相关联的定时组、与整个页面呈现进程相关联的定时组、资源之间的关系组、与高速缓存的资源、资源大小、资源类型、资源指纹或校验和、页面上的资源位置、cookie元数据、重定向链、事务期间可用于一些资源的替代内容源用户(例如内容传递网络)相关联的细节、事务期间使用的域(包括期望每个域被提取的对象的数量)、安全连接元数据、安全套接层(SSL)服务器证书和/或撤销列表信息的细节,和/或任何其他这样的细节。
在各种实施例中,在页面提取器或浏览引擎实例已经完成加载和/或呈现网页之后,其可以提供提示反馈信息,所述提示反馈信息可以包括和/或用于导出任何用于后续网页事务的提示信息(例如包括上述任何提示信息)。可以以任何合适的方式捕获反馈信息,包括通过客户端机器,通过在客户端装置上操作的页面提取器,通过网络服务器,通过客户端装置和网络服务器之间的通信路径中的代理服务器,通过在提示服务的控制下的自动页面提取器,通过自动浏览群集的浏览引擎实例,通过初步提示生成器,或者通过任何其他涉及网页事务的装置。提示可用于改进网页事务中的网页加载时间。例如,可以通过降低从经由页面提取器的用户选择至响应于该选择对用户完成呈现网页的整体时间。这种改进还可以通过降低呈现网页的不完整版本的初始时间来实现,这可能对用户目的有用。在一个可能的实施例中,整体时间降低可能源于:结合其他反馈信息使用延迟信息来确定页面提取器有多积极地尝试预提取子资源作为未来网页事务实例的一部分。
提示和反馈信息的示例可以在以下专利/申请中找到:标题为“基于服务器的嵌入式网页反馈和性能改进”的美国专利申请序列号14/729,949;标题为“用于优化的网络浏览的基于浏览器的反馈”的美国专利申请序列号13/372,347;标题为“使用提示功能的辅助的浏览”的美国专利号9,037,638;标题为“使用通过聚合TCP传输的HTTP的更快的网络浏览”的美国专利申请序列号14/212,538;标题为“高速缓存提示系统”的美国专利申请序列号14/276,936;以及标题为“使用客户端机器驱动的反馈以改进网页加载的服务器机器驱动的提示生成”的美国专利申请序列号14/729,949;其中的每一个都为了本申请中的所有目的而明确地通过引用并入。
这种网页中使用的资源可能包括HTML文件、级联样式表(CSS)文件、图像文件、视频文件或任何其他此类资源。对网页事务的不同实例的引用指的是由不同客户端机器在不同时间执行的事务,或者在不同时间由单个客户端机器执行的相同事务。这些网页事务的不同实例可能包括作为网页事务一部分的资源的变化,这些变化可能是由于跨不同客户端机器的定制,或者随着时间对网页的更新。此外,不同的网页和不同的网页事务可以包括相同或相似的资源。在某些实施例中,如果根URL相似,或者如果用于两个网页事务资源组之间存在足够程度的共通性,针对在一个网页事务中看到的资源生成的反馈信息和提示可以被应用为单独网页的事务中的提示。
此外,如本文所用,“根”是指由用户选择或动作直接发起的网页事务的初始部分。例如,用户点击网页链接会发起对该链接的根请求。根响应是直接响应于该根请求的响应。根响应还包括根资源。该根资源包括使页面提取器能够直接或间接标识呈现和展示完整网页所需的其他资源的信息。在一些情况下,“根”资源可以包括页面上的内联框架(iframe)中的主要子资源(例如子资源(sub-resource))等(例如,其中多个内联框架中的每一个分开地从不同的内容服务器中提示)。
“重定向”是指将请求客户端装置指向资源的不同源的对根请求的响应。例如,客户端装置可以发送根请求并接收回重定向响应。客户端装置然后可以将重定向子请求发送到重定向响应中指示的重定向目标。在某些实施例中,对重定向子请求的响应便可以包括反馈脚本或提示。因此,尽管某些实施例描述了具有根请求和响应的操作,但是在各种实施例中,本文描述的任何根、子或重定向响应可以包括如本文的各种实施例中所描述的反馈脚本。
“子”请求和响应是后续请求和响应,其由嵌入或计算的对根资源或其他子资源中的其他资源的引用直接或间接地导致。子资源、请求和响应始终是由直接响应于用户动作的根从用户动作中移除的一个或多个步骤。子资源可能包括对额外子资源的引用,从而产生一系列请求和响应。上述每个请求和响应可以是超文本传输协议(HTTP)请求和响应,包括HTTP头部和相关消息。在各种实施例中,可以使用其他通信协议。
图1示出了提供各种实施例的上下文的说明性通信系统环境100。通信系统环境100包括通过通信网络140通信的客户端机器110、内容服务器120(例如网络服务器)和提示机器130。网络140可以包括任何一个或多个合适的通信网络和/或通信链路,包括任何广域网(WAN)、局域网(LAN)、专用网络、公共网络(例如互联网)、有线网络、无线网络等等。典型地,通信系统环境100可以包括许多通过通信网络140与多个内容服务器120连接的客户端机器110。
如本文所述,根据各种实施例,内容服务器120可以直接和/或经由通信网络140与一个或多个提示机器130通信,和/或客户端机器110可以直接和/或经由通信网络140(例如在内容服务器的指示下)与提示机器130通信。一些实施例旨在改进组成网页、应用的屏幕和/或其他类似网页上下文的资源的加载和呈现。在这样的上下文中,客户端机器110可能通常提出对由内容服务器120提供(例如托管)的网页的请求。加载和呈现所请求的网页可涉及随后请求和接收组成网页的多个(有时是大量)资源(例如可视内容、音频内容、可执行脚本等)。可以通过在特定时间请求资源(例如,通过以特定顺序预提取资源等)来改进这种网页的加载和呈现,并且可以指示客户端机器使用“提示”来达到这种改进,如本文所述。可以通过URL、URL和正则表达式的组合、脚本或其他类似技术在提示组中标识资源。还可以通过支持预先解析域名,预先建立TCP连接,预先建立安全连接,预先确定和最小化重定向链以及可以在内容加载前执行以改进整体页面加载性能的类似功能的提示,改进这种网页的加载和呈现。此外,可传送需要资源的概率以及浏览器应给予其的优先级,以进一步改进页面加载时间。另外,可以将与给定资源相关联的各种图像、视频和文档格式作为提示预先发送到装置,由此允许呈现器动态地适应网络条件和约束并且最小化与所预提取资源相关联的数据业务。此外,提示可能会指导对CDN、高速缓存或其他服务器位置的选择,以改进页面加载时间。
客户端机器110可以被实现为具有存储资源、处理资源和网络通信资源的任何合适的计算装置。例如,客户端机器110可以是台式计算机、平板计算机、膝上型计算机、移动电话、个人数据助理、使用网络的可穿戴装置、使用网络的家用电器等。每个客户端机器110包括一个或多个页面提取器115。页面提取器115可以包括在客户端机器110中实现的任何系统,其允许网页事务,并且至少部分地用于呈现网页并且经由客户端机器110的输出装置将其呈现给用户。
内容服务器120通常可以包括用于经由通信网络140向客户端机器110提供(例如托管和/或以其他方式提供对其的访问)网页内容的任何一个或多个计算环境。例如,内容服务器120可以包括网络服务器、内容分发网络(CDN)、高速缓存等。如图所示,内容服务器120可以包括存储有网页125的一个或多个数据存储系统或与其通信。如本文所述,假设网页125由多个资源127组成。例如,加载其中一个网页125可以涉及请求、接收和呈现组成网页125的资源127。由内容服务器120提供的网页125的一些或全部资源127可以存储在数据存储系统中,或者一些或全部资源127可以远离内容服务器120存储。
一个或多个提示机器130可被实现为一个或多个独立服务器计算机,实现为一个或多个内容服务器120的一部分,和/或以用于保持和更新提示信息135的任何其他合适方式(例如根据来自客户端机器110的提示反馈147,根据从提示信息135计算的提示150等)实现。提示信息135可以存储在一个或多个数据存储中,所述数据存储是提示机器130的一部分、与提示机器130耦合或通信,或采取任何其他适合方式。实施例支持不同类型的提示信息135和从其生成的提示150,包括例如关于呈现网页125需要哪些页面对象127的信息、关于那些页面对象127的定时信息(例如应该请求页面对象127的顺序和定时)等。提示信息135可以以任何合适的方式保持、计算、更新等,包括根据从一个或多个客户端机器110接收到的提示反馈147。提示机器130的实施例将机器学习技术应用于来自多个相关网页事务(例如,来自呈现相同(或足够相似)的网页的多个客户端机器110的多个实例)的提示反馈147。所接收的提示反馈147可以用于改良、完善、更新、加强或以其他方式改进由提示机器130保持的机器驱动的提示模型,由此促进优化提示的生成和通信。
客户端机器110可根据从提示信息135生成的提示150来呈现所请求网页125,该提示150有效地预测客户端机器110将在何时需要哪些资源127来最优地呈现网页125;客户端机器110实际上可以至少根据接收到的提示150来呈现网页125;客户端机器110可以监视网页125的实际呈现,以确定哪些资源127实际用于根据哪些定时呈现页面;并且所监视的信息可以被反馈(即,作为提示反馈147)给提示机器130,用于更新提示信息135并且改良将来提示150的生成。
一些实施例以计算生成的方式(例如,基于反馈和分析由机器生成,而不是基于假设由编码器手动生成)生成和处理提示。如本文所述,可以通过使用自动浏览群集(作为提示机器130的一部分)来重复加载网页并且生成和传送它们自己的提示反馈147以用于开发提示模型,从而增强这种机器生成的提示。提示机器130的一些实施例可以响应于提示请求(例如网页请求141)而向客户端机器110提供初步提示功能(例如作为提示150),例如当提示所请求网页的提示模型不可用、过时或类似。例如,当客户端机器110请求网页时,提示机器130可以确定是否存在用于所请求的网页的机器生成提示的可用提示模型。如果是的话,提示机器130则可以向请求客户端机器110提供机器生成提示150。如果不是的话,提示机器130则可以机器生成初步提示150(例如通过一次或多次自动本地提取所请求网页来生成初步提示模型)。
在一些实施方式中,提示机器130可以同时触发自动浏览群集以生成(例如,和/或更新等)用于网页的非初步提示模型,随后从所述非初步提示模型机器生成非初步提示150。例如,可以响应于随后对网页的请求而提供非初步提示150。随着时间,可以基于由自动浏览群集生成的提示反馈147和/或由客户端机器110生成的提示反馈147生成和/或更新提示模型。例如,利用自动浏览群集来生成提示反馈147的一些实施例可以以不从一些或任何客户端机器110中接收提示反馈147的方式来实现(例如,一些或所有客户机器110可能不被配置为或不能够生成提示反馈147)。
图2示出根据各种实施例的用于使用自动浏览群集来实现提示模型更新的说明性通信环境200的一部分的框图。图2示出了通过网络140与提示机器130进行通信的客户端机器110,其可以是上面参考图1描述的系统的实施方式。一些描述涉及客户端机器110的部件和提示机器130的部件之间的通信,然而这些仅仅是作为功能和连接的一般说明。参与图1所述,并如图2一般地所示,提示机器130可以与客户端机器110(通过网络140)直接通信,仅经由一个或多个内容服务器120与客户端机器110通信(例如,其中提示机器130通过一个或多个网络140与内容服务器120通信和/或是一个或多个内容服务器120的一部分),通过一个或多个网络140与一个或多个内容服务器120和客户端机器110通信等等。例如,可以在不涉及任何内容服务器120的情况下,仅通过经过一个或多个内容服务器120或以任何合适的组合来在客户端机器110和提示机器130之间处理提示功能。
如图所示,客户端机器110可以包括页面提取器115,例如网络浏览器。页面提取器115的实施例可以包括呈现引擎210、资源引擎220和客户端提示子系统230。呈现引擎210可以经由客户端机器110的图形用户界面(GUI)215呈现用于消耗(例如显示等)的网页的资源。例如,呈现引擎210可以处理HTML代码、脚本、页面对象等以经由GUI 215有效地提供网页的用户体验。
当网页被请求时,资源引擎220可以生成对所请求网页的资源的请求,通过网络140将这些请求传送给一个或多个内容服务器120,响应于请求而接收资源,并且处理响应。为了说明的目的,用户可以经由GUI 215请求网页(例如通过输入网址),资源引擎220可以获得呈现所请求网页所需的一些或全部资源(例如根据HTML代码、脚本、cookie、页面对象等),并且呈现引擎210可以处理所获得的资源以经由GUI 215有效地提供所请求网页的用户体验(通过使用资源呈现网页)。
如本文所述,页面提取器115的实施例可以使用客户端提示子系统230来利用提示。可以在网络事务中的任何或所有阶段利用提示功能。一个阶段是网页请求阶段,在此期间可以向一个或多个内容服务器120(例如由资源引擎220)做出各种资源请求,并且可以向客户端提示子系统230做出对与这些资源相关的提示的请求(例如由客户端提示子系统230),所述请求与那些资源请求相当。例如,响应于用户请求网页,资源引擎220可以开始请求URL(例如根URL和子URL),并且客户端提示子系统230可以向提示机器130发出指示这些URL的一个或多个请求,寻求相关提示。另一个阶段是反馈阶段。正在加载网页的资源时,正在呈现页面时等,客户端提示子系统230可以收集反馈信息,如上所述(例如,关于呈现网页涉及哪些资源、关于资源的定时信息等)。在网页已经被呈现引擎210呈现之后(或者在呈现期间,经由GUI 215呈现给用户之后,已经呈现多个页面和聚集反馈之后,或者在任何其他适当的时间),客户端提示子系统230可以将提示反馈发送到提示机器130以用于为网页和/或资源(例如任何调用那些资源的网页)生成未来提示。如本文所述,客户端提示子系统230的一些实施方式利用了提示,但不提供提示反馈(即,它们利用根据由提示机器130和/或其他客户端机器110生成的提示反馈生成的提示)。
如图所示,提示机器130的实施例可以包括通信子系统250、初步提示子系统260和提示后端280。通信子系统250的实施例可以促进提示机器130和客户端计算机110之间以及提示机器130和内容服务器120之间的通信功能。例如,通信子系统250可以与任何合适的协议、物理和/或逻辑端口、数据报格式,和/或用于通过公共和/或专用网络、有线和/或无线网络、本地和/或远程网络、安全和/或不安全的网络等通信的任何其他功能交互。在各种实施例中,通信子系统250可以与客户端机器110、自动浏览群集285等通信(例如发送和/或接收)并处理提示请求和提示反馈。通信子系统250的一些实施例还可以处理来自内容服务器120的资源等的通信以供自动浏览群集285使用。尽管示出为设置在提示后端280外部的提示机器130的单个部件,但通信子系统250的实施例可以以分布在各个位置中的多个部件来实现。例如,自动浏览群集285的一些实施方式具有通信子系统250的部分的本地实例,通过所述通信子系统250与内容服务器120、提示机器130的其他部件等进行通信。
提示后端280的实施例可以包括提示模型子系统270、提示信息存储135和提示模型数据存储275。提示模型数据存储275和提示信息存储135可以以在相同的数据存储中或位于一个或多个位置中的多个数据存储来实现。数据存储可以包括任何合适的机器可读存储。通常,提示信息存储135的实施例可以存储可以从其生成提示模型的任何类型的提示反馈信息。例如,提示信息可以包括页面加载定时信息、关于资源是否以及如何作为加载网页的一部分呈现的信息、关于随着时间加载资源的统计和/或趋势等。提示模型子系统270的实施例可以使用存储在提示信息存储135中的提示信息来生成提示模型。提示模型可以被存储在提示模型数据存储275中,并且可以包括用于通知预提取用于呈现相关联的网页的资源的任何信息。
提示机器130的实施例可以以各种方式生成在机器生成提示中使用的提示信息。如图所示,一些实施例可以从客户端机器110、自动浏览群集285和/或初步提示子系统260获得提示信息。上面描述了从客户端机器110接收提示信息。例如,在客户端机器110的页面提取器115加载网页之后(例如,或者在加载期间,或者在任何合适的时间),客户端提示子系统230可以将提示反馈传送给关于与网页相关的资源加载的一个或多个提示机器130。由客户端机器110提供的提示反馈信息可以被通信子系统250接收并存储在提示信息存储135中。一旦存储在提示信息存储135中,或者在任何其他适当的时间,提示信息可以被提示模型子系统270用来生成新的提示模型以存储在提示模型数据存储275中和/或更新(例如修复、确认、替换和/或以其他方式影响)与网页相关联的存储的提示模型。
提示信息也可以由自动浏览群集285生成并从其接收。自动浏览群集285可以包括一个或多个浏览引擎实例,其可以实现为完整的网络浏览器、浏览器脚本组、一个或多个“机器人”和/或以任何其他合适的方式来实现。在一些实施方式中,自动浏览群集285可以包括(或模拟)多个不同的浏览环境,例如不同的浏览器品牌、移动版本与桌面版本的浏览器、不同版本的浏览器、具有不同插件组的浏览器(例如,对脚本解析的不同支持级别,处理某些文件类型等)等。自动浏览群集285可以一次或多次自主加载网页(或网页的一部分),并且可以根据加载收集和/或生成提示反馈。例如,自动浏览群集285的一个或多个浏览引擎实例可以多次(例如,并行地)加载特定网页以生成提示反馈,其关于网页在特定时间的加载行为、网页在延长的时间帧内的加载行为、在一系列浏览器类型上网页的加载行为等等。由自动浏览群集285生成的提示反馈的类型可以与由客户端机器110生成的提示反馈的类型相同或不同。在任何合适的时间(例如在每次加载网页之后,在多次加载网页之后,周期性地等),自动浏览群集285可以将提示反馈传送给提示信息存储135(例如直接地,经由通信子系统250,或者以任何其他合适的方式传送)。提示信息可以被提示模型子系统270用来生成新的提示模型以存储在提示模型数据存储275中和/或更新(例如修复、确认、替换和/或以其他方式影响)与网页相关联的存储的提示模型。
在任何特定时间,提示模型可以以不同的网页的不同级别的充足性存储在提示模型数据存储275中。例如,在特定时间,特定网页可以存在或不存在提示模型,提示模型可以是不完整的(例如缺少信息,接收到少于阈值数量的反馈样本等),用于网页的提示模型可能已过时或陈旧(例如,如果自从接收到网页的提示信息以来已经过去了一段时间,提示模型则可能被认为具有较高的不准确性的可能性)等等。在一些实施例中,提示模型可以仅由自动浏览群集285生成和/或更新。在其他实施例中,提示模型可以进一步由客户端机器110生成和/或更新。例如,在一些实施例中,一些或全部客户端机器110未被配置为和/或不能够生成和传送提示反馈;使得那些客户端机器110无助于生成提示模型。
提示机器130的一些实施例可以确定是否触发一个或多个提示模型的更新。在一些实施方式中,提示机器130包括检测用于更新与网页相关联的提示模型的更新触发的装置,其中提示模型是存储在提示模型数据存储275中的多个提示模型中的一个。触发更新可以驱动创建新的提示模型和/或更新现有的提示模型。这种确定可以通过提示机器130的任何合适的部件(例如通过提示模型子系统270)以多种方式进行。在一些情况下,客户端计算机110请求网页时触发了更新。例如,当客户端计算机110请求网页时,实施例可以确定(例如通过咨询提示模型子系统270)提示模型数据存储275中是否存在足够的提示模型。如果是的话,则可以将机器生成提示提供回客户端机器110以用于预提取与加载所请求网页相关联的资源。如果在提示模型数据存储275中没有足够的提示模型,提示模型子系统270则可以指导生成和/或更新提示模型。这可以涉及指导自动浏览群集285生成提示反馈和/或涉及生成初步提示响应,如下面更全面描述的。
在其他情况下,根据时间表或任何其他指令(例如传送给提示机器130的人类或自动化命令)来触发更新。提示模型子系统270的实施方式可以保持指导自动浏览群集285爬取某些网页的时间表。例如,可以设置时间表以确保以至少最小频率从每个网页(例如,提示模型存储在提示模型数据存储275中的每个网页)接收提示反馈。一些这样的时间表可以仅考虑从自动浏览群集285接收的提示反馈,而其他这样的时间表可以考虑从客户端计算机110接收的提示反馈(即,时间表可以是静态的或动态的)。此外,时间表可以考虑附加类型的信息,例如多频繁地更新特定网页(或网页类型),可用基础设施容量(例如,为了避免过大带宽和/或其他低效率,时间表可以考虑非高峰使用时间等)等。
响应于确定需要更新,提示模型子系统270或提示机器130的任何其他合适的部件可指导自动浏览群集285生成足够的提示反馈以用于生成提示模型。例如,提示模型子系统270可以响应于确定更新与特定网页相关联的特定提示模型而发布更新触发。响应于更新触发,自动浏览群集285可以提取网页(例如根据一个或多个浏览器环境提取一次或多次)以生成用于呈现特定网页的资源的页面提取数据。在一些实施例中,页面提取数据可以用于生成提示反馈,其可以存储在提示信息存储135中。例如,提示机器130的实施例包括用于响应于检测到更新触发而提取网页以生成用于呈现网页的资源的页面提取数据的装置;用于根据页面提取数据生成提示反馈的装置;以及用于将提示反馈传送到提示服务器以便提示服务器更新提示模型的装置。存储的提示信息可以被提示模型子系统270用来生成一个或多个提示模型,其可以存储在提示模型数据存储275中。在随后的一些时间,如果从稍后请求的客户端(相同或不同的客户端机器110)接收到对网页的另一请求,则可以使用所生成的和/或更新的提示模型来机器生成提示,其可以被提供给稍后请求的客户端。
一些实施例在网页请求时没有足够提示模型的情况下,向请求客户端机器110提供初步提示响应。例如,当通信子系统250接收到网页请求时,它可以咨询提示模型子系统270以确定是否存在足够的用于所请求网页的提示模型。如果不是的话,即使这些提示基于有限的提示信息,但是仍然可能期望机器生成提示。提示机器130的实施例包括初步提示子系统260,其可以基于有限的提示信息来机器生成提示。例如,初步提示子系统260可以包括一个或多个浏览引擎实例,其可以与自动浏览群集285的浏览引擎实例相似或相同。初步提示子系统260可以加载一些或全部所请求网页一次或多次以生成初步提示反馈信息。初步反馈信息可用于生成初步提示模型,并相应地生成初步提示响应。实施方式以响应可以基本上实时地传送给请求客户端机器110的方式生成初步提示响应。如在该上下文中所使用的,“基本上实时”旨在暗示对请求客户端机器110来说足够快的定时,以有用于影响对与导致生成初步响应的网页请求相关联的资源的预提取(例如,类似于在请求时定时具有足够提示模型)。
图1和2示出了客户端机器110与提示机器130的所有各种部件位于网络140的不同侧上。然而,所示出的架构仅用于简化描述,并不旨在限制可能的替代实施方式。例如,虽然自动浏览群集285被示出为提示后端280的一部分,但是自动浏览群集285的一些部分(例如一个或多个自动浏览引擎实例)可以在初步提示子系统260中,在一个或多个客户端机器110等实现(例如,或者提示后端280可以与初步提示子系统260并置和/或远离初步提示子系统260)。图3A和3B示出了各种替代架构,可通过所述替代架构实现系统,例如图1和2所述的那些。
首先转到图3A,示出了根据各种实施例用于使用自动服务器群集来实现机器生成提示的说明性架构300a。架构300a包括通过网络140与提示机器130和内容服务器120通信的客户端机器110。这架构300a与图1和2中所示的架构类似。例如,客户端机器110设置在网络140的客户端侧,并且初步提示子系统260的初步提示功能和提示后端280子系统的非初步提示功能设置在网络的提供者侧(例如在公共节点中,在回程网络的多个节点中等)。
图3B示出了根据各种实施例的用于使用自动服务器群集来实现机器生成提示的另一个说明性架构300b。架构300b包括通过第一网络140a与提示机器130和内容服务器120通信的客户端机器110,以及通过第二网络140b通信的提示机器130的各个部分。如图所示,初步提示子系统260可以通过第二网络140b与提示后端280分开。例如,一些或全部提示后端280(例如自动浏览群集285)可以是基于云的,或者以其他方式为远程的或分布的。
在一些这样的架构300b中,第一网络140a与第二网络140b相比具有相对较高的延迟(例如和/或更高的可靠性等)。例如,第一网络是卫星网络,第二网络是回程网络。根据某些这样的架构,客户端机器110仅通过提供者侧基础设施的一个或多个节点与内容服务器120通信,并且一些或全部提示机器130可以设置在所述一个或多个节点中。例如,客户端机器110(例如页面提取器)可以被配置为代理客户端,并且提示机器130(例如通信子系统)可以被设置在网络的网关或核心节点中并且被配置为代理服务器;使得来自客户端机器110的所有网页请求经过提示机器130的至少一部分(例如被其截获等)。在这样的实施方式中,初步提示子系统260可以经由回程网络比客户端机器110经由卫星网络更快地从内容服务器120提取所请求网页的资源(例如,特别是给定资源请求的多次往返、资源响应等)。通过更快地提取资源,在一些情况下,初步提示子系统260可以及时生成初步提示响应并将其传送给请求客户端机器110以提供有用的预提取提示(即使那些提示基于有限的初步提示信息)。
图4示出根据各种实施例的用于使用自动浏览群集来机器生成提示的说明性方法400的流程图。方法400的实施例可以通过任何合适的系统来实现,例如参照图1-3B描述的系统。方法400可以在阶段404开始,其中通过检测用于更新与网页相关联的提示模型的更新触发。提示模型可以是保持在提示服务器的多个提示模型的其中一个,用于通知预提取用于呈现相关联网页的资源。在一些实施例中,可以确定是否在阶段402触发更新,并且可以响应于在阶段402确定触发更新而在阶段404检测到更新触发。
在阶段402确定是否触发更新可以基于多个触发事件。一个这样的事件是预先调度的模型更新。例如,模型更新的时间表可以由提示服务器和/或任何其他合适的位置保持,并且可以根据时间表来提供更新触发。另一个这样的事件是确定提示模型过时、不可用或有其他不足。例如,提示服务器可以响应于对该网页的客户端请求,响应于多个网页的自动化网页爬取,或以任何其他适合方式,确定用于网页的提示模型是否足以用于机器生成提示。一些实施方式仅基于存在或不存在提示模型来确定不足,而其他实施方式可以使用各种度量来确定现有提示模型是否足够(例如,基于为网页和/或网页上的特定资源等已经接收的阈值数量的提示反馈样本)。另一个这样的事件是接收到客户端对网页的请求。例如,在阶段420,可以从客户端接收用于提取网页的提示请求。该请求可以被视为更新触发,或者可以响应于接收请求而生成更新触发。例如,在阶段420接收到提示请求之后,可以在阶段404检测到更新触发,并且在阶段402进行确定以触发更新,因为该请求针对具有不足够的提示模型的网页。在一些实施例中,如果在阶段402确定不触发更新(例如,在阶段420接收到调用足够的提示模型的提示请求),则可以在阶段424传送基于模型的提示响应(例如响应于提示请求从提示服务器传送到请求客户端)。例如,可以根据足够和/或更新的提示模型来生成基于模型的提示响应。
在阶段408,响应于在阶段404检测到更新触发,实例可以由自动浏览群集提取网页,以生成用于呈现网页的资源的页面提取数据。例如,可以通过自动浏览群集的一个或多个浏览实例多次提取网页。在一些实施方式中,根据不同的浏览环境(例如不同的网络浏览器、移动与桌面浏览器、具有不同脚本解析能力的浏览器等)来提取网页。生成的页面提取数据可以包括关于与网页加载有关的资源加载的任何有用信息。例如,页面提取数据可以包括资源加载时间信息、呈现信息(例如关于资源在网页上的位置的信息等)等。
在阶段412,可以由自动浏览群集根据页面提取数据生成提示反馈。在阶段416,可以将提示反馈从自动浏览群集传送到提示服务器,从而由提示服务器更新提示模型。在一些实施例中,根据提示反馈更新提示模型,并且在阶段424,可以根据更新的提示模型来传送基于模型的提示响应。
在一些实施例中,当在阶段420接收到提示请求并且在阶段402确定触发更新时,可以在阶段430由提示服务器生成初步提示响应。例如,提示服务器的引擎(例如,自动浏览群集和/或任何合适的部件)可以提取网页一次或多次以根据初步提示模型生成初步提示反馈、初步提示模型,以及初步提示响应。在一些这样的实施例中,响应于提示请求,可以在阶段434将初步提示响应基本上实时地从自动浏览群集传送到请求客户端(即,没有可观的延迟,使得客户端可以将其用于改善网页的提取作为对应于所接收的提示请求的网络事务的一部分)。
图5提供了计算机系统500的一个实施例的示意图,所述计算机系统500可以执行本文所述的发明的方法,和/或例如可以用作客户端机器110、内容服务器120、提示机器130或任何其他这样的计算机或装置的任何一部分。应该注意的是,图5仅旨在提供对各种部件的一般性说明,其中可适当地使用任何或全部部件。因此,图5广泛地说明了单独的系统元件如何以相对分离或相对更集成的方式来实现。
计算机系统500被示为包括可以经由总线505电耦合(或者可以适当地以其他方式进行通信)的硬件元件。硬件元件可以包括一个或多个处理器510,其中包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如数字信号处理芯片、图形加速芯片和/或类似处理器);一个或多个输入装置515,其可以包括但不限于鼠标、键盘、触摸屏和/或类似物;以及一个或多个输出装置520,其可以包括但不限于显示装置、打印机和/或类似装置。
计算机系统500可以进一步包括一个或多个存储装置525(和/或与之通信),所述存储装置525可以包括但不限于本地和/或网络可访问存储和/或可以包括但不限于磁盘驱动器、驱动器阵列、光存储装置,诸如随机存取存储(“RAM”)和/或只读存储(“ROM”)的固态存储装置,其可以是可编程的、闪存可更新的和/或类似的。计算机系统500还可以包括通信子系统530,其可以包括但不限于调制解调器、网卡(无线或有线)、红外通信装置、无线通信装置和/或芯片组(例如802.11装置、WiFi装置、WiMax装置、蜂窝通信设施等)和/或类似物。通信子系统530可以允许数据与网络(例如以下面描述的网络为一个示例)和/或本文描述的任何其他装置交换。在许多实施例中,计算机系统500将进一步包括工作存储535,其可以包括RAM或ROM装置,如上所述。
计算机系统500还可以包括示为当前位于工作存储535内的软件元件,包括操作系统540和/或其他代码(例如一个或多个应用545),其可以包括本发明的计算机程序和/或者可以被设计为实施本发明的方法和/或配置本发明的系统,如本文所述。仅作为示例,参照以上讨论的方法描述的一个或多个过程可以实现为可由计算机(和/或计算机内的处理器)执行的代码和/或指令。这些指令和/或代码组可以存储在计算机可读存储介质(例如上述的存储装置525)上。在一些情况下,存储介质可以并入计算机系统内,例如系统500。在其他实施例中,存储介质可以与计算机系统(即,可移除介质,例如压缩光盘等)分开,和/或提供在安装包中,使得存储介质可以用于编程其上存储有指令/代码的通用计算机。这些指令可以采用可由计算机系统500执行的可执行代码的形式,和/或可以采取源代码和/或可安装代码的形式,在编译和/或安装在计算机系统500上时(例如使用各种通常可用的编译器、安装程序、压缩/解压缩实用程序等中的任何一种),则采取可执行代码的形式。在某些实施例中,这可以包括页面提取器功能,并且可以包括分离的页面提取器模块作为这页面提取器功能的一部分,其由允许在这种计算机系统500的输出装置520上显示网页的过程执行。
对于本领域技术人员显而易见的是,可以根据具体要求做出实质性的变化。例如,也可以使用定制的硬件,和/或可以用硬件、软件(包括便携式软件,例如小应用程序等)或两者来实现特定的元件。此外,可以使用对其他计算装置(例如网络输入/输出装置)的连接。
在一个方面,本发明采用计算机系统(例如计算机系统500)来执行本发明的方法。根据实施例组,计算机系统500响应于处理器510执行包含在工作存储535中的一个或多个指令的一个或多个序列(其可以被并入到操作系统540和/或其他代码,例如应用545)来执行这些方法的一些或全部过程。这样的指令可以从另一个机器可读介质(例如一个或多个存储装置525)读入到工作存储535中。仅仅作为示例,工作存储535中包含的指令序列的执行可能导致处理器510执行本文描述的方法的一个或多个过程。
本文使用的术语“机器可读介质”和“计算机可读介质”是指参与提供使机器以特定方式操作的数据的任何介质。在使用计算机系统500实现的实施例中,各种机器可读介质可涉及向处理器510提供用于执行的指令/代码,和/或可能用于存储和/或携带这样的指令/代码(例如作为信号)。在许多实施方式中,计算机可读介质是物理和/或有形的存储介质。这种介质可以采取许多形式,包括但不限于非易失性介质。非易失性介质包括例如光盘或磁盘,例如存储装置525。物理和/或有形计算机可读介质的常见形式包括例如软盘、硬盘、磁带或任何其他磁介质、CD-ROM或任何其他光介质、基于固态电路的存储或任何其他其他存储芯片或软片,或计算机可以从其读取指令和/或代码的任何其他介质。将一个或多个指令的一个或多个序列携带到处理器510以供执行可涉及各种形式的机器可读介质。仅作为示例,指令可以最初被携带在远程计算机的存储上。远程计算机可将指令加载到其动态存储中,并通过传输介质将指令作为信号发送,以由计算机系统500接收和/或执行。
通信子系统530(和/或其部件)通常将接收信号,并且总线505然后可以将信号(和/或由信号携带的数据、指令等)携带到工作存储535,处理器510从工作存储535检索并执行指令。由工作存储535接收的指令可以在由处理器510执行之前或之后可选地存储在存储装置525上。
图6示出了根据一些实施例可以使用的网络系统600的示意图。在这样的实施例中,网络系统600可以表示任何数量的客户端和服务器装置,其使内容能够作为跨过网络的网页事务的一部分从内容提供者传送到用户系统。系统600可以包括一个或多个用户计算机605,例如用于实现图1的客户端机器110的计算机。用户计算机605可以是通用个人计算机和/或可以具有多种应用中的任何应用,包括被配置为执行本发明的方法的一个或多个应用以及一个或多个办公应用、数据库客户端和/或服务器应用和页面提取器应用。可选地,用户计算机605可以是任何其他电子装置,例如瘦客户端机器、使用互联网的移动电话、平板计算机、平板手机、可穿戴装置、使用互联网的装置和/或个人数字助理(PDA),其能够经由网络(例如下面描述的网络610)进行通信和/或显示和导航网页或其他类型的电子文档。尽管示例性系统600被示出为具有三个用户计算机605a-c,但是可以支持任意数量的用户计算机。
本发明的某些实施例在网络环境中操作,其可以包括网络610,例如用于实现图1的网络140。网络610可以是本领域技术人员熟悉的任何类型的网络,其可以支持使用任何一种各种商业可用协议的数据通信,包括但不限于TCP/IP、UDP/IP、SNA、IPX等。仅作为示例,网络610可以是局域网(“LAN”),包括但不限于以太网网络、令牌环网络等和/或类似网络;广域网(WAN);虚拟网络,包括但不限于虚拟专用网络(“VPN”);互联网;内联网;外联网;公共交换电话网(“PSTN”);红外网络;无线网络,包括但不限于在任何IEEE 802.11协议族或任何其他无线协议下运行的网络;和/或这些和/或其他网络的任何组合。
本发明的实施例可以包括一个或多个服务器615(或者类似类型的计算系统)。服务器615的实施例可以用于实现内容服务器120和/或提示机器130。如上所述,提示机器130还可以是一个或多个内容服务器120的一部分和/或一个或多个客户端机器110的一部分,其可以实现为一个或多个服务器615。每个服务器615可以配置有操作系统,包括但不限于以上讨论的任何操作系统,以及任何商业(或免费)可用的服务器操作系统。每个服务器615还可以运行一个或多个应用,其可以被配置为向一个或多个用户计算机605和/或其他服务器615提供服务。
仅作为示例,服务器615中的一个可以是网络服务器,其可以仅作为示例用于处理对来自用户计算机605的网页或其他电子文档的请求。网络服务器还可以运行各种服务器应用,包括HTTP服务器、FTP服务器、CGI服务器、数据库服务器、脚本服务器等。在本发明的一些实施例中,网络服务器可以被配置为服务可以在一个或多个用户计算机605上的页面提取器内操作的网页,以执行本发明的方法。在某些实施例中,服务器615还可以包括CDN装置,其从替代服务器提供与作为网页事务中的特定对象的源的主内容服务器相似或相同的内容。
在一些实施例中,服务器615可以包括一个或多个应用服务器,其可以包括可由在用户计算机605和/或其他服务器615中的一个或多个上运行的客户端访问的一个或多个应用。仅作为示例,服务器615可以是能够响应于用户计算机605和/或其他服务器615而执行程序或脚本的一个或多个通用计算机,包括但不限于网络应用(其在一些情况下可能被配置为执行本发明的方法)。仅作为示例,网络应用可以被实现为以任何适当的编程语言编写的一个或多个脚本或程序。应用服务器还可以包括数据库服务器,其可以处理来自运行在用户计算机605和/或另一服务器615上的客户端(视乎取决于配置器,包括数据库客户端、API客户端、页面提取器等)的请求。在一些实施例中,根据本发明的实施例,应用服务器可以动态地创建用于显示信息的网页,例如显示为本文所讨论的各种页面提取器的一部分的信息。由应用服务器提供的数据可以被格式化为网页(例如包括HTML、脚本等)和/或可以经由内容服务器120被转发到用户计算机605。类似地,内容服务器120可以从用户计算机605接收网页请求和/或输入数据和/或将网页请求和/或输入数据转发到应用服务器。在一些情况下,内容服务器120可以与应用服务器集成。
根据另外的实施例,一个或多个服务器615可以用作文件服务器和/或可以包括实现本发明的方法所需的一个或多个文件(例如应用代码、数据文件等),其由用户计算机605和/或另一个服务器615上运行的应用并入。替代地,如本领域技术人员将理解的,文件服务器可以包括所有必要的文件,允许用户计算机605和/或服务器615远程调用这样的应用。应该注意,参照本文中的各种服务器(例如应用服务器、数据库服务器、网络服务器、文件服务器等)描述的功能可以由单个服务器和/或多个专用服务器来执行,这取决于特定于实施方式的需求和参数。
在某些实施例中,系统可以包括一个或多个数据库620,例如用于实现由各种实施例的系统和方法使用的提示信息数据存储135、提示模型数据存储275和/或任何其他合适的数据存储。这样的数据库可以包括网络事务历史和从该网络事务历史导出的提示的存储。任何与创建这种提示有关的支持细节都可以另外存储在这样的数据库中。数据库620的位置是任意的:仅作为示例,数据库620a可以停留在位于(和/或驻留在)服务器615a(和/或用户计算机605)的存储介质上。替代地,数据库620b可以远离任何或所有计算机605或服务器615a、b,只要数据库620b可以与这些中的一个或多个(例如经由网络610)进行通信即可。在特定的实施例组中,数据库620可以停留在本领域技术人员熟悉的存储区域网络(“SAN”)中。类似地,用于执行归属于计算机605或服务器615的功能的任何必要文件可以根据需要本地和/或远程地存储在相应的计算机上。在实施例组中,数据库620可以是适合于响应于SQL格式化的命令而存储、更新和检索数据的关系数据库。例如,数据库可以由数据库服务器控制和/或保持,如上所述。
在本文所述的任何实施例中,还可以使用超文本传输协议安全协定(HTTPS)来实现任何通信、超文本协议(HTTP)请求或响应、网页事务、网页事务的一部分,或可全部或部分使用HTTP的任何通信的任何组合。HTTPS的使用涉及加密和各种安全措施,而本文描述的任何实施例可适用于实现本文描述的系统和方法,从而以多种方式调节与HTTPS相关联的加密和安全性。
在某些实施例中,涉及本文描述的任何通信的代理装置可以被提供有与HTTPS通信相关联的细节,以便实现本文描述的任何代理装置功能。这些细节可以由用户装置在用户同意的情况下提供,以允许代理装置或提示机器装置与用户通信的交互。这可以使代理能够对HTTPS通信进行解密以允许本文描述的任何功能。还可以由内容服务器或内容服务器操作者提供这种允许解密的细节,以使代理装置能够与内容提供者的通信进行交互。对于本文中描述的与客户端侧功能或页面提取器功能相关的实施例的各方面,某些实施例可以以上述用于代理装置的相同实施方式起作用。此功能也可以用于任何其他服务器侧或内容装置。
在其他实施例中,除了HTTPS通信的代理解密之外,用户装置上的浏览器可以独立于原始HTTPS通信与代理装置或提示机器装置交互,以向代理装置或提示机器装置提供HTTPS通信的细节。在用户装置页面提取器中,这可能涉及使用页面提取器模块、页面提取器插件或页面提取器,其具有专用核心功能,以在它们被加密之前观察HTTPS通信。如果需要,与代理装置或提示机器装置的独立通信然后可能额外受到类似于用于原始HTTPS通信的安全性的安全性保护。对于本文描述的可涉及与内容提供者系统或反向代理系统集成的实施例而言,在内容提供者系统或反向代理接收的HTTPS通信可在内容提供者系统或反向代理解密HTTPS通信之后用作本文描述的实施例的一部分。因此,可以利用用于客户端机器、代理装置和内容提供者装置的HTTPS通信来执行本文描述的任何“观察”或“标识”功能。类似地,除了上面描述的HTTPS之外,本文描述的任何实施例可以用其他安全连接和通信系统或协议来实现。
本文描述的某些实施例涉及代理装置或代理系统。如本文所述,代理装置可以是作为系统的一部分操作的一个或多个装置,以截获用户装置和内容装置之间的通信。这种代理对于用户和内容装置可以是明晰的,或者可以对于用户和内容装置是明显的多步骤通信路径的一部分。在某些实施例中,代理装置可以用作转发代理系统的一部分,其中来自用户装置组的通信全部经由转发代理系统传送到更广泛的网络(例如互联网)。在替代实施例中,代理装置可以用作反向代理系统的一部分,其中反向代理系统作为到多个内容服务器装置的访问路径来操作。显而易见的是,本文描述为包括代理的实施例将适用于转发代理系统和反向代理系统,以及包含代理的系统的任何配置,前题是对于特定系统结构有适当的调节。
本文公开的方法包括用于实现所述方法的一个或多个动作。在不脱离权利要求的范围的情况下,方法和/或动作可以彼此互换。换句话说,除非指定了特定的动作顺序,否则在不脱离权利要求的范围的情况下,可以修改具体动作的顺序和/或使用。
所述的功能可以用硬件、软件、固件或其任何组合来实现。如果以软件实现,则可以将功能作为一个或多个指令存储在有形的计算机可读介质上。存储介质可以是可由计算机访问的任何可用的有形介质。作为示例而非限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储装置,或者可以是用于以指令或数据结构的形式携带或存储期望的程序代码并且可以由计算机访问的任何其他有形介质。这里使用的盘(disk)和盘(disc)包括压缩光盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和盘,其中盘(disk)通常磁性地再现数据,而盘(disc)以激光光学地再现数据。
计算机程序产品可以执行本文提出的某些操作。例如,这样的计算机程序产品可以是其上具有有形地存储(和/或编码)的指令的计算机可读有形介质,所述指令可由一个或多个处理器执行以执行本文描述的操作。计算机程序产品可以包括包装材料。软件或指令也可以通过传输介质传输。例如,可以使用诸如同轴电缆、光纤电缆、双绞线、数字用户线(DSL)等传输介质,或诸如红外线、无线电或微波等无线技术来从网站、服务器或其他远程源传输软件。
此外,用于执行本文描述的方法和技术的模块和/或其他合适的装置可以通过合适的终端和/或耦合到服务器等来下载和/或以其他方式获得,以便于传送用于执行本文描述的方法的装置。替代地,可以经由存储装置(例如RAM、ROM、诸如CD或软盘等物理存储介质)来提供本文描述的各种方法,使得用户终端和/或基站在将存储装置耦合或提供给装置时可以获得各种方法。此外,可以利用用于将本文所述的方法和技术提供给装置的任何其他合适的技术。实现功能的特征还可以物理地位于各位置,包括分布成使得部分功能在不同的物理位置实现。
在描述本发明时,将使用以下术语:除非上下文另有明确规定,否则单数形式冠词“a”、“an”和“the”包括复数指示物。因此,例如对项目的引用包括对一个或多个项目的引用。术语“一个”(one)或“一个”(ones)是指一个、两个或更多个,并且通常适用于选择一些或全部数量。术语“多个”是指两个或更多个项目。术语“约”意味着数量、尺寸、大小、配方、参数、形状和其他特征不需要是精确的,但可以按期望大致和/或更大或更小,反映可接受的公差、转换因子、舍入、测量误差等以及本领域技术人员已知的其他因素。术语“基本上”是指所述特性、参数或值不需要精确地实现,但是偏差或变化(包括例如公差、测量误差、测量精度限制和本领域技术人员已知的其他因素)可以以不妨碍该特性旨在提供的效果的程度发生。本文可以用范围格式表示或呈现数值数据。应该理解,这样的范围格式仅仅为了方便和简洁而使用,并且因此应该被灵活地解释为不仅包括作为范围界限明确列举的数值,而且还被解释为包括所有个别数值或包含在该范围内的子范围,如同每个数值和子范围被明确列举一样。作为说明,“约1至5”的数值范围应被解释为不仅包括明确列举的约1至约5的值,而且还包括所指示的范围内的个别值和子范围。因此,包括在该数值范围内的是诸如2、3和4的个别值以及诸如1-3、2-4和3-5等的子范围。同样的原则适用于仅列举一个数值(例如“大于大约1”)的范围,并且不管所描述的范围的宽度或特征如何都应该适用。为了方便起见,可以在共同清单中呈现多个项目。但是,这些清单应该被解释为列表中的每个成员都被个别地标识为独立且唯一的成员。因此,不应该仅仅基于它们在共同组中表述而没有相反的指示,便将这种清单的任何成员解释为等同于同一清单中任何其他成员事实上的等同物。此外,当术语“和”和“或”与项目列表一起使用时,它们应被广泛地解释为任何一个或多个列出的项目可以单独使用或与其他列出的项目组合使用。术语“替代地”是指选择两个或更多个替代方案中的一个,并且不旨在将选择限制于仅列出的替代方案或一次仅列出所列出的替代方案的其中一个,除非上下文另有明确指示。如本文所使用的术语“耦合”不要求部件直接彼此连接。相反,该术语旨在还包括具有间接连接的配置,其中一个或多个其他部件可以被包括在所耦合的部件之间。例如,这样的其他组件可以包括放大器、衰减器、隔离器、定向耦合器、冗余开关和类似组件。此外,如本文所用,包括在权利要求书中使用的,由“至少一个”开头的项目列表中使用的“或”指示分离列表,使得例如“A、B或C中的至少一个”表示A或B或C或AB或AC或BC或ABC(即A和B和C)。此外,术语“示例性”并不意味着所描述的示例比其他示例更优选或更好。类似地,诸如“优化”之类的术语不旨在将实施例限制为最佳方法或结果,而是意图表达寻求移向最优结果(例如改善等)。如这里所使用的,元件的“组”旨在表示“一个或多个”那些元件,除非明确要求该组具有多于一个或明确允许为空集。
在不脱离由所附权利要求限定的教导的技术的情况下,可以对本文描述的技术进行各种改变、替换和改变。此外,本公开和权利要求的范围不限于上述过程、机器、产品、物质组成、装置、方法和动作的特定方面。可以利用执行与本文描述的相应方面基本上相同的功能或实现基本上相同结果的目前存在或以后开发的过程、机器、产品、物质组成、装置、方法或动作。因此,所附权利要求在其范围内包括这样的过程、机器、产品、物质组成、装置、方法或动作。
Claims (21)
1.一种使用与机器驱动的提示服务器通信的自动浏览群集更新提示模型的方法,所述方法包括:
由提示服务器向自动浏览群集发布,用于更新与网页相关联的提示模型的更新触发,所述提示模型是保持在与提示服务器通讯的数据存储,用于通知远程的客户端机器上的网络浏览器预提取用于由任何网络浏览器呈现相关联网页的资源;
由自动浏览群集响应于由所述提示服务器发布的更新触发而提取网页,其中,所述自动浏览群集远离所述客户端机器上的网络浏览器设置;
由所述自动浏览群集,从提取到的所述网页,识别用于呈现网页的资源的页面提取数据;
由自动浏览群集根据页面提取数据生成提示反馈;和
将提示反馈从自动浏览群集传送到提示服务器,从而更新保持在所述数据存储上的提示模型;
其中,所述自动浏览群集包括实现一个或多个浏览引擎以执行用于机器生成提示的提示反馈收集功能和页面提取的一个或多个计算平台。
2.根据权利要求1所述的方法,其中响应于从请求客户端接收到用于提取网页的提示请求而发布更新触发。
3.根据权利要求2所述的方法,还包括:
响应于发布更新触发,由提示服务器生成初步页面提取数据;
由提示服务器根据初步页面提取数据生成初步提示响应;和
响应于提示请求,基本上实时地将初步提示响应从提示服务器传送到请求客户端。
4.根据权利要求1所述的方法,其中响应于代理请求者对网页的自动爬取而发布更新触发。
5.根据权利要求1所述的方法,其中响应于确定用于网页的提示模型不存在于提示服务器中而发布更新触发。
6.根据权利要求1所述的方法,其中响应于确定提示服务器中用于网页的提示模型不完整和/或过时而发布更新触发。
7.根据权利要求1至6中任一项所述的方法,其中资源中的至少一个是网页的统一资源定位符(URL)。
8.根据权利要求1至6中任一项所述的方法,其中页面提取数据包括每个用于呈现网页的资源的页面加载定时信息。
9.根据权利要求1至6中任一项所述的方法,其中所述提取包括多次提取网页以生成页面提取数据。
10.根据权利要求1至6中任一项所述的方法,其中自动浏览群集包括多个网络浏览器实例。
11.根据权利要求1至6中任一项所述的方法,其中自动浏览群集包括多个网页提取脚本。
12. 根据权利要求1-6中任一项所述的方法,其中:
自动浏览群集模拟多个不同的提取环境;和
所述提取包括在至少两个不同的提取环境中提取网页以生成页面提取数据。
13.根据权利要求1至6中任一项所述的方法,还包括:
响应于所述发布,在非高峰网络使用时间帧期间由自动浏览群集调度对网页的提取,
其中所述提取根据所述调度。
14. 根据权利要求1至6中任一项所述的方法,还包括:
在由提示服务器更新提示模型之后,从客户端接收提示请求;和
响应于提示请求,将基于模型的提示响应从提示服务器传送到请求客户端,所述基于模型的提示响应根据更新的提示模型而生成。
15.根据权利要求1至6中任一项所述的方法,其中所述提取包括呈现,并且页面提取数据包括页面呈现数据。
16.一种机器驱动的提示生成系统,包括:
保持在与网页关联的提示模型的数据存储,其中,所述提示模型用于通知远离设置的网络浏览器,提取用于由任何网络浏览器作为网页未来呈现的一部分的资源;
与数据存储通信的提示服务器,其响应于确定更新所述提示模型而操作以发布更新触发;和
与提示服务器通信的自动浏览群集,其响应于来自提示服务器的更新触发而操作:
提取网页;
从提取到的所述网页,识别以用于所述网页的资源的页面提取数据;
根据页面提取数据生成提示反馈;和
将所述提示反馈传送到所述提示服务器,从而更新由所述数据存储所保持的提示模型;
其中,所述数据存储、所述提示服务器和所述自动浏览群集位于远离所述网络浏览器的位置;
其中,所述提示服务器向所述自动浏览群集发布所述更新触发;以及
其中,所述自动浏览群集包括实现一个或多个浏览引擎以执行用于机器生成提示的提示反馈收集功能和页面提取的一个或多个计算平台。
17. 根据权利要求16所述的系统,其中:
自动浏览群集还操作以将提示反馈传送给提示服务器机器;和
提示机器还操作以根据提示反馈更新提示模型。
18. 根据权利要求16或17所述的系统,其中提示机器还操作以:
从客户端机器接收用于提取网页的提示请求;和
响应于接收到提示请求而确定更新特定提示模型。
19.根据权利要求18所述的系统,其中提示机器还操作以:
响应于所述更新触发而生成初步页面提取数据;
根据初步页面提取数据生成初步提示响应;和
响应于提示请求,基本上实时地将初步提示响应传送到请求客户端。
20. 如权利要求16或17所述的系统,其中:
提示服务器机器还操作以自主地爬取多个网页;和
提示机器在爬取特定网页同时响应于确定更新与特定网页相关联的特定提示模型而操作以发布更新触发。
21.一种用于更新提示模型的自动浏览群集,包括:
用于向自动浏览群集发布用于更新与网页相关联的提示模型的更新触发的装置,所述提示模型是保持在与提示服务器通讯的数据存储,用于通知远程的客户端机器上的网络浏览器预提取用于由任何网络浏览器呈现相关联网页的资源;
用于响应于由所述提示服务器发布的更新触发而从提取网页,并识别用于呈现网页的资源的页面提取数据的装置;其中,所述自动浏览群集远离所述客户端机器上的网络浏览器设置;
用于根据页面提取数据生成提示反馈的装置;和
用于将提示反馈传送到提示服务器以便更新保持在所述数据存储上的提示模型的装置;
其中,所述自动浏览群集包括实现一个或多个浏览引擎以执行用于机器生成提示的提示反馈收集功能和页面提取的一个或多个计算平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310559884.3A CN116610884A (zh) | 2015-10-20 | 2015-10-20 | 使用自动浏览群集更新提示模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/056375 WO2017069735A1 (en) | 2015-10-20 | 2015-10-20 | Hint model updating using automated browsing clusters |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310559884.3A Division CN116610884A (zh) | 2015-10-20 | 2015-10-20 | 使用自动浏览群集更新提示模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108701130A CN108701130A (zh) | 2018-10-23 |
CN108701130B true CN108701130B (zh) | 2023-06-20 |
Family
ID=54365426
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580084922.8A Active CN108701130B (zh) | 2015-10-20 | 2015-10-20 | 使用自动浏览群集更新提示模型 |
CN202310559884.3A Pending CN116610884A (zh) | 2015-10-20 | 2015-10-20 | 使用自动浏览群集更新提示模型 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310559884.3A Pending CN116610884A (zh) | 2015-10-20 | 2015-10-20 | 使用自动浏览群集更新提示模型 |
Country Status (8)
Country | Link |
---|---|
US (2) | US10387522B2 (zh) |
EP (2) | EP3365802A1 (zh) |
CN (2) | CN108701130B (zh) |
AU (1) | AU2015412569B2 (zh) |
BR (1) | BR112018007818B1 (zh) |
CA (1) | CA3002517C (zh) |
MX (1) | MX2018004856A (zh) |
WO (1) | WO2017069735A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912718B1 (en) | 2011-04-11 | 2018-03-06 | Viasat, Inc. | Progressive prefetching |
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 |
AU2015412569B2 (en) | 2015-10-20 | 2019-09-12 | Viasat, Inc. | Hint model updating using automated browsing clusters |
US10592578B1 (en) * | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
EP4220446A1 (en) * | 2018-08-20 | 2023-08-02 | Google LLC | Resource pre-fetch using age threshold |
US10860801B2 (en) * | 2018-09-12 | 2020-12-08 | Samsung Electronics Co., Ltd. | System and method for dynamic trend clustering |
CN112559065A (zh) * | 2019-09-26 | 2021-03-26 | 北京沃东天骏信息技术有限公司 | 分集群加载模型的方法和装置 |
CN113885894B (zh) * | 2021-09-15 | 2023-12-12 | 南京海泰医疗信息系统有限公司 | 一种基于电子病历产品后台的打包和更新方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1620012A (zh) * | 2003-11-19 | 2005-05-25 | 国际商业机器公司 | 更新/重装在网络上浏览过的页面内容的方法和系统 |
CN101211363A (zh) * | 2006-12-29 | 2008-07-02 | 国际商业机器公司 | 更新分布式网络上的浏览器页面元素的方法和系统 |
CN101751437A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院自动化研究所 | 基于强化学习的网页页面主动式检索系统 |
CN103631880A (zh) * | 2013-11-13 | 2014-03-12 | 王锦忠 | 基于Ajax网页的局部更新方法 |
Family Cites Families (230)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408470A (en) | 1993-10-14 | 1995-04-18 | Intel Corporation | Deferred synchronization of distributed objects |
US5740367A (en) | 1995-11-03 | 1998-04-14 | Spilo; Michael L. | Method and apparatus for improving the throughput of a local area network |
US6339787B1 (en) | 1995-11-30 | 2002-01-15 | Stampede Technologies, Inc. | Apparatus and method for increasing speed in a network file/object oriented server/client system |
US5870754A (en) | 1996-04-25 | 1999-02-09 | Philips Electronics North America Corporation | Video retrieval of MPEG compressed sequences using DC and motion signatures |
US5727129A (en) | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
US5809566A (en) * | 1996-08-14 | 1998-09-15 | International Business Machines Corporation | Automatic cache prefetch timing with dynamic trigger migration |
US5905981A (en) | 1996-12-09 | 1999-05-18 | Microsoft Corporation | Automatically associating archived multimedia content with current textual content |
US7363291B1 (en) | 2002-03-29 | 2008-04-22 | Google Inc. | Methods and apparatus for increasing efficiency of electronic document delivery to users |
ATE311692T1 (de) | 1997-03-07 | 2005-12-15 | Intelligent Compression Techno | Netzwerk zur datencodierung |
US5878223A (en) | 1997-05-07 | 1999-03-02 | International Business Machines Corporation | System and method for predictive caching of information pages |
CN1108685C (zh) | 1997-08-06 | 2003-05-14 | 塔奇勇公司 | 预取对象的分布系统和方法 |
US6085193A (en) | 1997-09-29 | 2000-07-04 | International Business Machines Corporation | Method and system for dynamically prefetching information via a server hierarchy |
US6085226A (en) | 1998-01-15 | 2000-07-04 | Microsoft Corporation | Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models |
US6182133B1 (en) | 1998-02-06 | 2001-01-30 | Microsoft Corporation | Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching |
US6578073B1 (en) | 1998-05-13 | 2003-06-10 | Hewlett-Packard Development Company, L.P. | Accelerated content delivery over a network using reduced size objects |
US6385641B1 (en) * | 1998-06-05 | 2002-05-07 | The Regents Of The University Of California | Adaptive prefetching for computer network and web browsing with a graphic user interface |
US6266058B1 (en) * | 1998-09-08 | 2001-07-24 | Hewlett Packard Company | Apparatus and method for linking browser bars with active documents for a browser |
US6993591B1 (en) | 1998-09-30 | 2006-01-31 | Lucent Technologies Inc. | Method and apparatus for prefetching internet resources based on estimated round trip time |
US20010016836A1 (en) | 1998-11-02 | 2001-08-23 | Gilles Boccon-Gibod | Method and apparatus for distributing multimedia information over a network |
US6178461B1 (en) | 1998-12-08 | 2001-01-23 | Lucent Technologies Inc. | Cache-based compaction technique for internet browsing using similar objects in client cache as reference objects |
JP4299911B2 (ja) * | 1999-03-24 | 2009-07-22 | 株式会社東芝 | 情報転送システム |
US20070111713A1 (en) | 1999-05-25 | 2007-05-17 | Silverbrook Research Pty Ltd | Method for accessing content from a computer network via a mobile phone using a two-step retrieval process |
US6453389B1 (en) | 1999-06-25 | 2002-09-17 | Hewlett-Packard Company | Optimizing computer performance by using data compression principles to minimize a loss function |
US6463508B1 (en) | 1999-07-19 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for caching a media stream |
US6721780B1 (en) | 1999-11-09 | 2004-04-13 | Fireclick, Inc. | Predictive pre-download of network objects |
US6947440B2 (en) | 2000-02-15 | 2005-09-20 | Gilat Satellite Networks, Ltd. | System and method for internet page acceleration including multicast transmissions |
US20030018581A1 (en) | 2000-02-16 | 2003-01-23 | Bratton Timothy R. | Delivering media data to portable computing devices |
US7412462B2 (en) | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
US7856485B2 (en) | 2000-03-08 | 2010-12-21 | Music Choice | Systems and methods for providing customized media channels |
AU2001253857A1 (en) | 2000-03-14 | 2001-09-24 | Buzzpad, Inc. | Method and apparatus for forming linked multi-user groups of shared software applications |
US6701316B1 (en) | 2000-04-07 | 2004-03-02 | Nec Corporation | Method and apparatus for intelligent network bandwidth and system resource utilization for web content fetch and refresh |
US6549896B1 (en) * | 2000-04-07 | 2003-04-15 | Nec Usa, Inc. | System and method employing random walks for mining web page associations and usage to optimize user-oriented web page refresh and pre-fetch scheduling |
US6622168B1 (en) * | 2000-04-10 | 2003-09-16 | Chutney Technologies, Inc. | Dynamic page generation acceleration using component-level caching |
US7747782B2 (en) * | 2000-04-26 | 2010-06-29 | Novarra, Inc. | System and method for providing and displaying information content |
US20020006116A1 (en) | 2000-05-04 | 2002-01-17 | Reed Burkhart | Distributed content management and open broadcast system using satellites and the internet |
US6769010B1 (en) | 2000-05-11 | 2004-07-27 | Howzone.Com Inc. | Apparatus for distributing information over a network-based environment, method of distributing information to users, and method for associating content objects with a database wherein the content objects are accessible over a network communication medium by a user |
US20010051927A1 (en) | 2000-06-08 | 2001-12-13 | Blinkspeed, Inc. | Increasing web page browsing efficiency by periodically physically distributing memory media on which web page data are cached |
US8041817B2 (en) | 2000-06-30 | 2011-10-18 | At&T Intellectual Property I, Lp | Anonymous location service for wireless networks |
US7716367B1 (en) | 2000-07-20 | 2010-05-11 | Akamai Technologies, Inc. | Network performance monitoring in a content delivery service |
US6856651B2 (en) | 2000-07-25 | 2005-02-15 | Peribit Networks, Inc. | System and method for incremental and continuous data compression |
DE50009749D1 (de) | 2000-11-09 | 2005-04-14 | Swisscom Ag Bern | Verfahren zur aggregation und zum übermitteln von multimediadaten |
US6879808B1 (en) | 2000-11-15 | 2005-04-12 | Space Systems/Loral, Inc | Broadband communication systems and methods using low and high bandwidth request and broadcast links |
US6965683B2 (en) | 2000-12-21 | 2005-11-15 | Digimarc Corporation | Routing networks for use with watermark systems |
US7174534B2 (en) * | 2001-01-22 | 2007-02-06 | Symbol Technologies, Inc. | Efficient system and method for running and analyzing multi-channel, multi-modal applications |
JP2002236767A (ja) | 2001-02-07 | 2002-08-23 | Sony Corp | 情報処理装置および方法、プログラム格納媒体、並びにプログラム |
JP3990115B2 (ja) | 2001-03-12 | 2007-10-10 | 株式会社東芝 | サーバ側プロキシ装置及びプログラム |
US7681032B2 (en) | 2001-03-12 | 2010-03-16 | Portauthority Technologies Inc. | System and method for monitoring unauthorized transport of digital content |
US20020154887A1 (en) | 2001-04-23 | 2002-10-24 | Koninklijke Philips Electronics N.V. | System and method for storing digital broadcast data |
US20020188735A1 (en) | 2001-06-06 | 2002-12-12 | Needham Bradford H. | Partially replicated, locally searched peer to peer file sharing system |
US7100200B2 (en) | 2001-06-13 | 2006-08-29 | Citrix Systems, Inc. | Method and apparatus for transmitting authentication credentials of a user across communication sessions |
US7546602B2 (en) * | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
US7165101B2 (en) | 2001-12-03 | 2007-01-16 | Sun Microsystems, Inc. | Transparent optimization of network traffic in distributed systems |
US7437438B2 (en) | 2001-12-27 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for energy efficient data prefetching |
US7343397B2 (en) | 2002-03-29 | 2008-03-11 | Lucent Technologies Inc. | Method and apparatus for performing predictive caching of DNS requests by correlating IP addresses |
US7418494B2 (en) * | 2002-07-25 | 2008-08-26 | Intellectual Ventures Holding 40 Llc | Method and system for background replication of data objects |
US7509667B1 (en) | 2002-08-15 | 2009-03-24 | Sprint Communications Company L.P. | Broadband content jukebox with profile-based caching |
US20040046789A1 (en) * | 2002-08-23 | 2004-03-11 | Angelo Inanoria | Extensible user interface (XUI) framework and development environment |
US7130890B1 (en) | 2002-09-04 | 2006-10-31 | Hewlett-Packard Development Company, L.P. | Method and system for adaptively prefetching objects from a network |
US7953820B2 (en) | 2002-09-11 | 2011-05-31 | Hughes Network Systems, Llc | Method and system for providing enhanced performance of web browsing |
US7778438B2 (en) | 2002-09-30 | 2010-08-17 | Myport Technologies, Inc. | Method for multi-media recognition, data conversion, creation of metatags, storage and search retrieval |
EP1414211A1 (en) | 2002-10-23 | 2004-04-28 | Sony International (Europe) GmbH | Software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications |
JP4437956B2 (ja) * | 2002-11-29 | 2010-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ファイル共有アプリケーションに対するインデックス・サーバ・サポートを提供する方法 |
US7680897B1 (en) | 2003-04-08 | 2010-03-16 | Novell, Inc. | Methods and systems for managing network traffic |
US7237061B1 (en) | 2003-04-17 | 2007-06-26 | Realnetworks, Inc. | Systems and methods for the efficient reading of data in a server system |
US20070276823A1 (en) | 2003-05-22 | 2007-11-29 | Bruce Borden | Data management systems and methods for distributed data storage and management using content signatures |
DE102004026083A1 (de) | 2003-05-25 | 2005-01-20 | Wittkötter, Erland, Dr. | Vorrichtung und Verfahren zur serverseitigen Verlinkung von Informationen |
US20050015442A1 (en) | 2003-06-02 | 2005-01-20 | O'laughlen Eric | Page views for proxy servers |
US20050027820A1 (en) | 2003-06-02 | 2005-02-03 | O'laughlen Eric | Page views proxy servers |
US7143251B1 (en) | 2003-06-30 | 2006-11-28 | Data Domain, Inc. | Data storage using identifiers |
US20050010870A1 (en) | 2003-07-09 | 2005-01-13 | Jinsheng Gu | Post-processing algorithm for byte-level file differencing |
US7974990B2 (en) | 2003-07-16 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Managing program applications |
WO2005043279A2 (en) | 2003-10-31 | 2005-05-12 | Disksites Research And Development Ltd. | Device, system and method for storage and access of computer files |
US7340510B1 (en) | 2003-11-18 | 2008-03-04 | Cisco Technology, Inc. | Content delivery network (CDN) replication status reporter |
US7483941B2 (en) | 2004-01-13 | 2009-01-27 | International Business Machines Corporation | System and method for dynamically inserting prefetch tags by the web server |
US7676785B2 (en) * | 2004-02-13 | 2010-03-09 | Microsoft Corporation | Hosted application as a designer in an integrated development environment |
WO2005088969A1 (en) | 2004-03-10 | 2005-09-22 | Koninklijke Philips Electronics N.V. | System and method for remote recording |
US8055616B2 (en) | 2004-06-25 | 2011-11-08 | International Business Machines Corporation | Application sharing smoothness |
US7558822B2 (en) | 2004-06-30 | 2009-07-07 | Google Inc. | Accelerating user interfaces by predicting user actions |
US7437364B1 (en) | 2004-06-30 | 2008-10-14 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US7526607B1 (en) | 2004-09-23 | 2009-04-28 | Juniper Networks, Inc. | Network acceleration and long-distance pattern detection using improved caching and disk mapping |
US8037527B2 (en) | 2004-11-08 | 2011-10-11 | Bt Web Solutions, Llc | Method and apparatus for look-ahead security scanning |
US8327440B2 (en) | 2004-11-08 | 2012-12-04 | Bt Web Solutions, Llc | Method and apparatus for enhanced browsing with security scanning |
US7487169B2 (en) | 2004-11-24 | 2009-02-03 | International Business Machines Corporation | Method for finding the longest common subsequences between files with applications to differential compression |
US20060116926A1 (en) | 2004-11-27 | 2006-06-01 | Chen Michael W | Method and system for internet publishing and advertising forums |
US20080005086A1 (en) | 2006-05-17 | 2008-01-03 | Moore James F | Certificate-based search |
US20060184960A1 (en) | 2005-02-14 | 2006-08-17 | Universal Music Group, Inc. | Method and system for enabling commerce from broadcast content |
US7610280B2 (en) | 2005-05-05 | 2009-10-27 | Cisco Technology, Inc. | Method and system for dynamically pre-positioning content in a network based detecting or predicting user presence |
US7882181B2 (en) | 2005-06-03 | 2011-02-01 | Microsoft Corporation | Minimizing data transfer from POP3 servers |
US8732234B2 (en) * | 2005-06-07 | 2014-05-20 | Yahoo! Inc. | Providing relevant non-requested content to a mobile device |
US20060294223A1 (en) * | 2005-06-24 | 2006-12-28 | Microsoft Corporation | Pre-fetching and DNS resolution of hyperlinked content |
CN100588203C (zh) | 2005-07-12 | 2010-02-03 | 国际商业机器公司 | 数据存储方法和系统 |
US7975019B1 (en) | 2005-07-15 | 2011-07-05 | Amazon Technologies, Inc. | Dynamic supplementation of rendered web pages with content supplied by a separate source |
US20070033408A1 (en) | 2005-08-08 | 2007-02-08 | Widevine Technologies, Inc. | Preventing illegal distribution of copy protected content |
EP1949270B1 (en) | 2005-10-12 | 2011-04-06 | Datacastle Corporation | Method and system for data backup |
CA2627067C (en) | 2005-10-28 | 2010-02-16 | Viasat, Inc. | Adaptive coding and modulation for broadband data transmission |
US8230059B1 (en) | 2005-11-08 | 2012-07-24 | Hewlett-Packard Development Company, L.P. | Method of monitoring resource usage in computing environment |
US8812648B2 (en) | 2005-11-21 | 2014-08-19 | Ebay Inc. | Techniques for measuring above-the-fold page rendering |
US7636767B2 (en) | 2005-11-29 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for reducing network traffic over low bandwidth links |
CN100486170C (zh) | 2005-12-15 | 2009-05-06 | 国际商业机器公司 | 传送前摄http内容的方法和设备 |
US8191098B2 (en) | 2005-12-22 | 2012-05-29 | Verimatrix, Inc. | Multi-source bridge content distribution system and method |
US9740794B2 (en) | 2005-12-23 | 2017-08-22 | Yahoo Holdings, Inc. | Methods and systems for enhancing internet experiences |
US8447837B2 (en) | 2005-12-30 | 2013-05-21 | Akamai Technologies, Inc. | Site acceleration with content prefetching enabled through customer-specific configurations |
US20070174246A1 (en) | 2006-01-25 | 2007-07-26 | Sigurdsson Johann T | Multiple client search method and system |
GB0603552D0 (en) | 2006-02-22 | 2006-04-05 | Advanced Risc Mach Ltd | Cache management within a data processing apparatus |
JP4701148B2 (ja) | 2006-03-02 | 2011-06-15 | アラクサラネットワークス株式会社 | 障害回復システム及びサーバ |
US20070219956A1 (en) * | 2006-03-16 | 2007-09-20 | Milton Michael L | Excel spreadsheet parsing to share cells, formulas, tables, etc. |
US7644111B2 (en) | 2006-05-02 | 2010-01-05 | Microsoft Corporation | Framework for content representation and delivery |
US20070288518A1 (en) | 2006-05-03 | 2007-12-13 | Jeff Crigler | System and method for collecting and distributing content |
US7747749B1 (en) | 2006-05-05 | 2010-06-29 | Google Inc. | Systems and methods of efficiently preloading documents to client devices |
US20080066182A1 (en) | 2006-09-12 | 2008-03-13 | Andrew Hickmott | Security techniques for cooperative file distribution |
WO2008039971A2 (en) | 2006-09-28 | 2008-04-03 | Hisham Kassab | Methods and systems for providing a mini-webpage within a web page |
US8230361B2 (en) | 2006-09-28 | 2012-07-24 | Google Inc. | Content feed user interface |
US10789323B2 (en) | 2006-10-02 | 2020-09-29 | Adobe Inc. | System and method for active browsing |
KR100881668B1 (ko) | 2006-11-09 | 2009-02-06 | 삼성전자주식회사 | 웹 페이지 프리페치 장치 및 방법 |
US20080115125A1 (en) | 2006-11-13 | 2008-05-15 | Cingular Wireless Ii, Llc | Optimizing static dictionary usage for signal compression and for hypertext transfer protocol compression in a wireless network |
US8819724B2 (en) | 2006-12-04 | 2014-08-26 | Qualcomm Incorporated | Systems, methods and apparatus for providing sequences of media segments and corresponding interactive data on a channel in a media distribution system |
US20080144713A1 (en) | 2006-12-13 | 2008-06-19 | Viasat, Inc. | Acm aware encoding systems and methods |
US7961665B2 (en) | 2006-12-13 | 2011-06-14 | Viasat, Inc. | Terminal aware multicasting |
US20080175239A1 (en) | 2007-01-23 | 2008-07-24 | Yipes Enterprise Services, Inc | Multicast wide-area network for distributing data to selected destinations with limited or no replication |
US8065275B2 (en) | 2007-02-15 | 2011-11-22 | Google Inc. | Systems and methods for cache optimization |
US20080201332A1 (en) | 2007-02-20 | 2008-08-21 | Souders Steven K | System and method for preloading content on the basis of user context |
US8259721B2 (en) | 2007-02-22 | 2012-09-04 | Cisco Technology, Inc. | Time-based authorization of internet protocol (IP) multicast subscription services |
US7941609B2 (en) | 2007-02-23 | 2011-05-10 | Microsoft Corporation | HTTP acceleration by prediction and pre-fetching |
US20100228963A1 (en) | 2007-03-08 | 2010-09-09 | Mobilaps, Llc | Methods of placing advertisments, interstitials and toolbars in a web browser |
US8930555B2 (en) * | 2007-03-08 | 2015-01-06 | Microsoft Corporation | Extending functionality of web-based applications |
US7783757B2 (en) * | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
US7584294B2 (en) * | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
US8103783B2 (en) * | 2007-03-12 | 2012-01-24 | Citrix Systems, Inc. | Systems and methods of providing security and reliability to proxy caches |
US8504775B2 (en) * | 2007-03-12 | 2013-08-06 | Citrix Systems, Inc | Systems and methods of prefreshening cached objects based on user's current web page |
US20080228864A1 (en) * | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and methods for prefetching non-cacheable content for compression history |
US8131723B2 (en) | 2007-03-30 | 2012-03-06 | Quest Software, Inc. | Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity |
US20080263130A1 (en) | 2007-04-23 | 2008-10-23 | Nir Michalowitz | Apparatus, system and method of digital content distribution |
US8352318B2 (en) | 2007-05-29 | 2013-01-08 | Digital River, Inc. | Exclusivity in internet marketing campaigns system and method |
US20090006368A1 (en) | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Automatic Video Recommendation |
US8151004B1 (en) | 2007-07-13 | 2012-04-03 | Adobe Systems Incorporated | File processing to accelerate image viewer initialization |
US8417728B1 (en) * | 2007-08-03 | 2013-04-09 | Adobe Systems Incorporated | User interfaces, methods, and systems for developing computer applications using artwork |
US8505046B2 (en) | 2007-08-17 | 2013-08-06 | At&T Intellectual Property I, L.P. | Targeted online, telephone and television advertisements based on cross-service subscriber profiling |
US8930989B2 (en) | 2007-08-20 | 2015-01-06 | AdsVantage | System and method for providing supervised learning to associate profiles in video audiences |
US8078729B2 (en) | 2007-08-21 | 2011-12-13 | Ntt Docomo, Inc. | Media streaming with online caching and peer-to-peer forwarding |
US20090064001A1 (en) * | 2007-08-30 | 2009-03-05 | Nicole Summers Robbins | Personalizing Default Settings on a GUI |
US7941409B2 (en) | 2007-09-11 | 2011-05-10 | Hitachi, Ltd. | Method and apparatus for managing data compression and integrity in a computer storage system |
US9460229B2 (en) | 2007-10-15 | 2016-10-04 | Viasat, Inc. | Methods and systems for implementing a cache model in a prefetching system |
US20090112975A1 (en) | 2007-10-31 | 2009-04-30 | Microsoft Corporation | Pre-fetching in distributed computing environments |
US8284773B1 (en) | 2007-11-01 | 2012-10-09 | Sprint Spectrum L.P. | Advanced joining into multicast group to facilitate later communication among group members |
US7697557B2 (en) | 2007-12-26 | 2010-04-13 | Alcatel Lucent | Predictive caching content distribution network |
US11366676B2 (en) * | 2008-01-14 | 2022-06-21 | Oracle International Corporation | Embedded user assistance for software applications |
US7975071B2 (en) | 2008-01-18 | 2011-07-05 | Microsoft Corporation | Content compression in networks |
US9418171B2 (en) | 2008-03-04 | 2016-08-16 | Apple Inc. | Acceleration of rendering of web-based content |
US8219544B2 (en) | 2008-03-17 | 2012-07-10 | International Business Machines Corporation | Method and a computer program product for indexing files and searching files |
US8010705B1 (en) | 2008-06-04 | 2011-08-30 | Viasat, Inc. | Methods and systems for utilizing delta coding in acceleration proxy servers |
US8423889B1 (en) | 2008-06-05 | 2013-04-16 | Amazon Technologies, Inc. | Device specific presentation control for electronic book reader devices |
US7953881B1 (en) | 2008-06-12 | 2011-05-31 | Juniper Networks, Inc. | Network characteristic-based compression of network traffic |
US20090313329A1 (en) | 2008-06-13 | 2009-12-17 | International Business Machines Corporation | Methods, Systems and Computer Program Products for Communication of Information in Electronic Conferences |
US7975025B1 (en) | 2008-07-08 | 2011-07-05 | F5 Networks, Inc. | Smart prefetching of data over a network |
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 |
US8799955B2 (en) | 2008-08-26 | 2014-08-05 | At&T Intellectual Property I, Lp | Apparatus and method for managing media content |
US7814149B1 (en) | 2008-09-29 | 2010-10-12 | Symantec Operating Corporation | Client side data deduplication |
US20100083322A1 (en) | 2008-09-29 | 2010-04-01 | Alan Rouse | Providing selective video program content and associated license in response to a promotion token |
WO2010037168A1 (en) | 2008-10-01 | 2010-04-08 | Binu Pty Ltd | Systems, methods, and computer readable media for providing applications style functionality to a user |
US8082228B2 (en) | 2008-10-31 | 2011-12-20 | Netapp, Inc. | Remote office duplication |
US20100169313A1 (en) | 2008-12-30 | 2010-07-01 | Expanse Networks, Inc. | Pangenetic Web Item Feedback System |
US20100169262A1 (en) | 2008-12-30 | 2010-07-01 | Expanse Networks, Inc. | Mobile Device for Pangenetic Web |
US20100179984A1 (en) | 2009-01-13 | 2010-07-15 | Viasat, Inc. | Return-link optimization for file-sharing traffic |
US8260938B2 (en) | 2009-01-23 | 2012-09-04 | Google Inc. | Predicting user requests to reduce network connection latency |
US8483217B2 (en) | 2009-03-10 | 2013-07-09 | Viasat, Inc. | Internet protocol broadcasting |
US9171097B2 (en) | 2009-03-31 | 2015-10-27 | Qualcomm Incorporated | Memoizing web-browsing computation with DOM-based isomorphism |
US8140646B2 (en) | 2009-06-04 | 2012-03-20 | Microsoft Corporation | Network application performance enhancement using speculative execution |
US8321533B2 (en) | 2009-08-03 | 2012-11-27 | Limelight Networks, Inc. | Systems and methods thereto for acceleration of web pages access using next page optimization, caching and pre-fetching techniques |
US8078691B2 (en) | 2009-08-26 | 2011-12-13 | Microsoft Corporation | Web page load time prediction and simulation |
JP5343793B2 (ja) | 2009-09-28 | 2013-11-13 | ブラザー工業株式会社 | 情報生成装置、情報生成プログラム、情報生成方法、ノード装置、ノードプログラム及び検索方法 |
US8543907B1 (en) * | 2009-10-16 | 2013-09-24 | Google Inc. | Context-sensitive optimization level selection |
US8312367B2 (en) * | 2009-10-30 | 2012-11-13 | Synopsys, Inc. | Technique for dynamically sizing columns in a table |
US8612374B1 (en) | 2009-11-23 | 2013-12-17 | F5 Networks, Inc. | Methods and systems for read ahead of remote data |
US8209510B1 (en) | 2010-01-13 | 2012-06-26 | Juniper Networks, Inc. | Secure pool memory management |
US9063757B2 (en) | 2010-04-06 | 2015-06-23 | Microsoft Technology Licensing, Llc | Interactive application assistance, such as for web applications |
US9307003B1 (en) | 2010-04-18 | 2016-04-05 | Viasat, Inc. | Web hierarchy modeling |
US8381213B1 (en) | 2010-06-30 | 2013-02-19 | Emc Corporation | Method for dynamic management of system resources through application hints |
US8577960B2 (en) * | 2010-07-29 | 2013-11-05 | Sap Ag | Providing status information for components in a distributed landscape |
US11386510B2 (en) * | 2010-08-05 | 2022-07-12 | Thomson Reuters Enterprise Centre Gmbh | Method and system for integrating web-based systems with local document processing applications |
US10296653B2 (en) | 2010-09-07 | 2019-05-21 | F5 Networks, Inc. | Systems and methods for accelerating web page loading |
US8788762B2 (en) | 2010-09-30 | 2014-07-22 | Nokia Corporation | Methods and apparatuses for data resource provision |
US8903894B2 (en) | 2010-11-29 | 2014-12-02 | Hughes Network Systems, Llc | Computer networking system and method with javascript injection for web page response time determination |
WO2012103515A1 (en) | 2011-01-28 | 2012-08-02 | Level 3 Communications, Llc | Content delivery network with deep caching infrastructure |
US8478843B1 (en) | 2011-03-01 | 2013-07-02 | IMDB. COM, Inc. | Templates with static parameter caching |
US8510237B2 (en) | 2011-03-15 | 2013-08-13 | Qualcomm Incorporated | Machine learning method to identify independent tasks for parallel layout in web browsers |
US9106607B1 (en) * | 2011-04-11 | 2015-08-11 | Viasat, Inc. | Browser based feedback for optimized web browsing |
US9912718B1 (en) | 2011-04-11 | 2018-03-06 | Viasat, Inc. | Progressive prefetching |
US9456050B1 (en) | 2011-04-11 | 2016-09-27 | Viasat, Inc. | Browser optimization through user history analysis |
US9037638B1 (en) | 2011-04-11 | 2015-05-19 | Viasat, Inc. | Assisted browsing using hinting functionality |
US9083583B1 (en) | 2011-07-01 | 2015-07-14 | Google Inc. | Latency reduction via adaptive speculative preconnection |
US9146909B2 (en) | 2011-07-27 | 2015-09-29 | Qualcomm Incorporated | Web browsing enhanced by cloud computing |
CN102346770B (zh) * | 2011-09-21 | 2014-05-14 | 晨星软件研发(深圳)有限公司 | WebKit浏览器网页内容加载方法及装置 |
US8341245B1 (en) | 2011-09-26 | 2012-12-25 | Google Inc. | Content-facilitated speculative preparation and rendering |
US9135364B1 (en) | 2011-11-10 | 2015-09-15 | Google Inc. | Delivery of web pages with markup for speed |
US8849731B2 (en) * | 2012-02-23 | 2014-09-30 | Microsoft Corporation | Content pre-fetching for computing devices |
US9325806B2 (en) * | 2012-02-24 | 2016-04-26 | Qualcomm Incorporated | Cooperative loading of webpages based on shared meta information |
US9239862B2 (en) * | 2012-05-01 | 2016-01-19 | Qualcomm Incorporated | Web acceleration based on hints derived from crowd sourcing |
US9231949B1 (en) | 2012-08-10 | 2016-01-05 | Amazon Technologies, Inc. | Content delivery to user devices using server-initiated connections |
US9898445B2 (en) | 2012-08-16 | 2018-02-20 | Qualcomm Incorporated | Resource prefetching via sandboxed execution |
CN102880688B (zh) * | 2012-09-14 | 2016-07-27 | 北京百度网讯科技有限公司 | 一种用于对网页进行评估的方法、装置和设备 |
US9917879B2 (en) | 2012-10-13 | 2018-03-13 | Microsoft Technology Licensing, Llc | Remote interface templates |
KR102036662B1 (ko) * | 2012-10-25 | 2019-10-28 | 삼성전자주식회사 | 네트워크 시스템에서 웹 접속 장치 및 방법 |
US10042776B2 (en) * | 2012-11-20 | 2018-08-07 | Arm Limited | Prefetching based upon return addresses |
US9661046B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services |
US9408050B2 (en) | 2013-01-31 | 2016-08-02 | Hewlett Packard Enterprise Development Lp | Reducing bandwidth usage of a mobile client |
US9009103B2 (en) | 2013-03-15 | 2015-04-14 | Microsoft Technology Licensing, Llc | Fingerprint-based, intelligent, content pre-fetching |
EP2973352A4 (en) * | 2013-03-15 | 2016-11-02 | Opanga Networks Inc | DELIVERY OF CONTENT OF DEVICES |
US9489372B2 (en) * | 2013-03-15 | 2016-11-08 | Apple Inc. | Web-based spell checker |
US9083584B2 (en) | 2013-08-16 | 2015-07-14 | Via Technologies, Inc. | Common mode modulation with current compensation |
US9740676B2 (en) * | 2013-09-20 | 2017-08-22 | Oracle International Corporation | Automatic column resizing |
US20150156194A1 (en) | 2013-12-04 | 2015-06-04 | Symantec Corporation | Certificate status delivery through a local endpoint |
US9444905B2 (en) | 2014-03-20 | 2016-09-13 | International Business Machines Corporation | Allocating network bandwidth to prefetch requests to prefetch data from a remote storage to cache in a local storage |
US9613158B1 (en) | 2014-05-13 | 2017-04-04 | Viasat, Inc. | Cache hinting systems |
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 |
CN104978373A (zh) * | 2014-06-09 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 网页展示方法及网页展示装置 |
US9948700B2 (en) * | 2014-07-01 | 2018-04-17 | Oracle International Corporation | ADFDI support for custom attribute properties |
US10248634B2 (en) * | 2014-07-16 | 2019-04-02 | Oracle International Corporation | Model-driven data entry validation |
KR102151457B1 (ko) | 2014-08-25 | 2020-09-03 | 삼성전자 주식회사 | 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치 |
US10311372B1 (en) * | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10311371B1 (en) * | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10048948B2 (en) * | 2015-07-06 | 2018-08-14 | Oracle International Corporation | Optimized retrieval of custom string resources |
US10582001B2 (en) * | 2015-08-11 | 2020-03-03 | Oracle International Corporation | Asynchronous pre-caching of synchronously loaded resources |
AU2015412569B2 (en) * | 2015-10-20 | 2019-09-12 | Viasat, Inc. | Hint model updating using automated browsing clusters |
US20170221109A1 (en) * | 2016-01-29 | 2017-08-03 | Qualcomm Incorporated | Ads management in a browser application |
US9654575B1 (en) | 2016-05-18 | 2017-05-16 | Crowdly, Inc. | Pass-through web traffic systems and methods |
US10489297B2 (en) * | 2017-02-22 | 2019-11-26 | Intel Corporation | Prefetching time allocation |
US10599571B2 (en) * | 2017-08-07 | 2020-03-24 | Intel Corporation | Instruction prefetch mechanism |
US20190155958A1 (en) * | 2017-11-20 | 2019-05-23 | Microsoft Technology Licensing, Llc | Optimized search result placement based on gestures with intent |
US10754912B2 (en) * | 2018-03-12 | 2020-08-25 | Microsoft Technology Licensing, Llc | Machine learning model to preload search results |
US10802969B2 (en) * | 2019-02-04 | 2020-10-13 | Arm Limited | Interconnect and method of operation of such an interconnect |
-
2015
- 2015-10-20 AU AU2015412569A patent/AU2015412569B2/en active Active
- 2015-10-20 CN CN201580084922.8A patent/CN108701130B/zh active Active
- 2015-10-20 BR BR112018007818-2A patent/BR112018007818B1/pt active IP Right Grant
- 2015-10-20 CN CN202310559884.3A patent/CN116610884A/zh active Pending
- 2015-10-20 EP EP15787829.9A patent/EP3365802A1/en not_active Ceased
- 2015-10-20 EP EP20213539.8A patent/EP3859567A1/en active Pending
- 2015-10-20 MX MX2018004856A patent/MX2018004856A/es unknown
- 2015-10-20 WO PCT/US2015/056375 patent/WO2017069735A1/en active Application Filing
- 2015-10-20 CA CA3002517A patent/CA3002517C/en active Active
-
2018
- 2018-04-19 US US15/957,523 patent/US10387522B2/en active Active
-
2019
- 2019-07-01 US US16/459,189 patent/US11200292B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1620012A (zh) * | 2003-11-19 | 2005-05-25 | 国际商业机器公司 | 更新/重装在网络上浏览过的页面内容的方法和系统 |
CN101211363A (zh) * | 2006-12-29 | 2008-07-02 | 国际商业机器公司 | 更新分布式网络上的浏览器页面元素的方法和系统 |
CN101751437A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院自动化研究所 | 基于强化学习的网页页面主动式检索系统 |
CN103631880A (zh) * | 2013-11-13 | 2014-03-12 | 王锦忠 | 基于Ajax网页的局部更新方法 |
Non-Patent Citations (2)
Title |
---|
Yuki Arase 等.OPA browser: a web browser for cellular phone users.《UIST '07: Proceedings of the 20th annual ACM symposium on User interface software and technology》.2007,71–80. * |
李力沛.基于改进用户浏览行为量化分析的兴趣网页获取.《电脑知识与技术》.2012,6481-6482+6495. * |
Also Published As
Publication number | Publication date |
---|---|
BR112018007818A8 (pt) | 2023-04-11 |
EP3365802A1 (en) | 2018-08-29 |
AU2015412569B2 (en) | 2019-09-12 |
US10387522B2 (en) | 2019-08-20 |
MX2018004856A (es) | 2018-11-09 |
US20200097514A1 (en) | 2020-03-26 |
US11200292B2 (en) | 2021-12-14 |
EP3859567A1 (en) | 2021-08-04 |
CN108701130A (zh) | 2018-10-23 |
CA3002517A1 (en) | 2017-04-27 |
AU2015412569A1 (en) | 2018-05-10 |
CN116610884A (zh) | 2023-08-18 |
CA3002517C (en) | 2022-06-21 |
BR112018007818B1 (pt) | 2023-10-17 |
WO2017069735A1 (en) | 2017-04-27 |
US20180246982A1 (en) | 2018-08-30 |
BR112018007818A2 (pt) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11310333B2 (en) | Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback | |
CN108701130B (zh) | 使用自动浏览群集更新提示模型 | |
US10387521B2 (en) | Creation and delivery of pre-rendered web pages for accelerated browsing | |
US10013500B1 (en) | Behavior based optimization for content presentation | |
US10931773B1 (en) | Faster web browsing using HTTP over an aggregated TCP transport | |
AU2022205151B2 (en) | Time-dependent machine-generated hinting | |
EP3341854B1 (en) | Machine-driven crowd-disambiguation of data resources | |
US10868881B1 (en) | Loading web resources using remote resource pushing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |