时间依赖的机器生成的提示的制作方法

文档序号:15884368发布日期:2018-11-09 18:34阅读:213来源:国知局
时间依赖的机器生成的提示的制作方法

实施例一般涉及网络通信性能,并且更具体地涉及时间依赖、机器驱动的提示生成。



背景技术:

用户选择网页内容并接收对象的网页传输是互联网用户的互联网体验的核心部分。尽管用户的体验通常是单一选择,随后查看在屏幕上呈现的网页,但是在屏幕上呈现网页的过程可涉及大量资源(例如页面对象)和多个从用户系统到提供网页资源的一个或多个网络服务器的请求/响应往返通信。另外,每个资源可以与多个不同阶段相关联,作为将资源(或与资源相关联的对象)包含在呈现给用户的网页中的一部分。作为网页一部分的每个资源以及与每个资源相关联的每个阶段都可能导致装置用户所经历的整个页面加载时间为延迟。各种技术允许向浏览器发送关于用于呈现网页的资源(“提示”)的信息,并且浏览器可以使用这些提示来改善该网页的加载时间。



技术实现要素:

除了其他方面,本文描述了系统和方法,用于使用时间依赖、机器生成的提示来改进预提取提示。一些实施例在具有页面提取器(例如在网络浏览器中实现)的与内容服务器和提示机器通信(例如通过通信网络通信)的客户端机器的上下文中操作。提示机器可以通过收集“资源样本”来开发关于是否以及如何随时间在网络事务中使用资源(例如呈现网页)的信息。可以收集样本,作为从客户端机器接收提示请求的一部分,作为从客户端机器接收提示反馈的一部分,作为在自动爬取网页期间监视和/或生成的信息,和/或以任何其他适合的方式。每个资源样本可以标识样本被收集时(即取样时间)资源的呈现状态信息。例如,资源样本可以标识资源是否作为呈现网页的一部分加载,资源何时加载到页面上的其他资源的上下文中,和/或描述是否以及如何与在取样时间呈现网页相关地加载资源的任何其他信息。

在这种上下文中,在资源样本相应于特定取样时间的情况下,资源样本可以被视为“基于时间的样本”。基于时间的样本可以用于计算资源的基于时间的概率(例如,作为特定时间的瞬时概率,作为随着时间的概率函数等)。例如,这种概率可以指示资源在随后的某个时间被用于呈现网页的可能性,并且可以用于生成时间依赖提示。在一些实施方式中,时间依赖提示可以用于通过对于特定请求时间优化提示信息来改进预提取(即,以导致网页被呈现的方式生成提示)。在其他实施方式中,即使没有对提示机器的访问(和/或外部提示信息不可用),时间依赖提示也可以允许客户端机器根据需要生成它们自己的提示。例如,实施例可以在请求时间接收提示请求,并且基于基于时间的概率和请求时间生成并传送时间依赖提示。本文更全面地描述了涉及时间依赖提示的其他实现方式和特征。

附图说明

本公开结合了附图来描述:

图1示出了为各种实施例提供上下文的说明性通信系统环境;

图2A示出了根据各种实施例的用于实现时间依赖提示生成的说明性通信环境的一部分的框图;

图2B示出了根据各种实施例的用于实现时间依赖提示生成的另一说明性通信环境的一部分的框图;

图3示出了说明性资源的基于时间的概率函数的示例图;

图4A至4D示出了可以拟合于说明性类型的存在模型的资源样本组的曲线图;

图5示出了根据各种实施例的用于实现数据流的说明性系统;

图6示出了根据各种实施例的用于提示的时间依赖机器生成的说明性方法的流程图;

图7示出了根据各种实施例的用于时间依赖提示的另一方法的流程图;

图8提供了计算机系统的一个实施例的示意图,所述计算机系统可以执行本文所述的发明的方法,和/或例如可以用作客户端机器、内容服务器、提示机器130或任何其他这样的计算机或装置的任何一部分;和

图9示出了根据一组实施例可以使用的网络系统的示意图。

在附图中,类似的部件和/或特征可以具有相同的参考标号。此外,相同类型的各种部件可以通过参考标号之后的第二标号区分,其区分类似的部件。如果在说明书中仅使用第一参考标号,该描述则适用于具有相同第一参考标号的任何一个相似的组件,而不管第二参考标号如何。

具体实施方式

在以下描述中,阐述了许多具体细节以提供对本发明的透彻理解。然而,本领域的普通技术人员应该理解,本发明可以在没有这些具体细节的情况下实施。在一些情况下,未详细示出电路、结构和技术,以免模糊本发明。

实施例在机器驱动的提示生成的上下文中操作,其基于随时间从一个或多个“客户端”机器收集的累积资源样本来提供时间依赖提示。如本文所使用的,“客户端”或“客户端机器”通常旨在包括任何涉及网络事务(例如呈现网页)的计算平台,并且不旨在限于任何特定的网络架构、协议等。例如,在一些实施方式中,客户端机器可以在“客户端-服务器”(例如使用客户端-服务器类型的协议的客户端-服务器架构)的上下文中与服务器机器(例如提示机器)交互。其他实施方式可以在对等(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的生成。可以为从中导出提示的特定网页125、来自相同或类似域的其他网页125、只有其路径的一部分(或动态生成的字段等)不同的网页125等生成提示150,和/或将提示150应用于呈现它们。例如,从特定网页125收集的提示信息135(例如来自基于时间的样本)可以建议关于特定域中的所有网页的时间依赖性趋势和/或其他信息(例如,“breakingnews.com”页面在页面顶部具有横幅,该横幅在域中的所有页面上都是相同的,并且很少发生变化,并且它们具有主要故事图像,该主要故事图像位于域中每个页面中具有不同内容的相同位置,或类似的)。

一些实施例以计算生成的方式(例如,基于反馈和分析由机器生成,而不是基于假设由编码器手动生成)生成和处理提示。如本文所述,这种机器生成的提示可以通过增加时间依赖性来增强。提示机器130的实施例可以通过收集资源样本来开发关于是否以及如何随时间在网络事务中使用资源(例如呈现网页)的信息。可以收集样本,作为从客户端机器接收提示请求的一部分(例如作为页面请求141的一部分),作为从客户端机器接收提示反馈147的一部分,作为在自动爬取网页期间(例如由提示机器130本身)监视和/或生成的信息,和/或以其他适合的方式收集。基于时间的样本可用于计算资源的基于时间的概率,其可用于生成时间依赖提示。

图2A示出根据各种实施例的用于实施时间依赖提示生成的说明性通信环境200a的一部分的框图。图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有关的资源),并且客户端提示子系统230可以向寻求相关提示的提示机器130发出指示那些资源的URL的一个或多个请求。另一个阶段是反馈阶段。正在加载网页的资源时,正在呈现页面时等,客户端提示子系统230可以收集反馈信息,如上所述(例如,关于呈现网页涉及哪些资源、关于资源的定时信息等)。在网页已经被呈现引擎210呈现之后(或者在呈现期间,经由GUI 215呈现给用户之后,已经呈现多个页面和聚集反馈之后,或者在任何其他适当的时间),客户端提示子系统230可以将提示反馈发送到提示机器130以用于为网页和/或资源(例如任何调用那些资源的网页)生成未来提示。

提示机器130机器生成提示通常可以涉及汇总和维护关于如何以及何时使用资源来呈现网页的信息。例如,提示服务可以使用来自网页的多次过去访问的所谓“瀑布数据”(waterfall data)来计算在未来访问中将使用给定资源(例如网页的子URL)的概率。一种计算这种概率的技术是将给定资源的出现次数除以对其上使用资源的网页的访问次数,从而有效地产生资源将随后用于呈现网页的可能性。例如,在更近期采样的页面不太可能发生变化的假设下,可以通过在更近期的访问中资源的更强地加权的存在或不存在来改进概率(例如,即使假定网页随着时间而变化,通常可以认为这些变化在更短的时间过去之后不太可能发生)。但是,这种概率不会记录或导致页面上资源的实际时间依赖性。例如,一些资源可以比其他资源更频繁或更不频繁地变化,并且这种变化可以表现出某种周期性或其他时间特性,可以指示其他相关资源的时间特性等。本文描述的实施例累积关于资源呈现的基于时间的信息,从中开发和利用基于时间的提示概率和时间依赖提示。这种时间依赖提示可以提供许多特征,如本文所述。

提示机器130的实施例包括服务器提示子系统270,其可以包括资源取样器240和时间依赖提示(TDH)生成器260。资源取样器240可以接收资源样本并且可以将资源样本存储在样本数据存储280中。在一些实施例中,资源取样器240可以通过监视涉及客户端机器110(例如和/或涉及代表客户端机器110行事的机器,例如代理)的网络事务来接收资源样本。例如,当客户端机器110发布提示请求,提供提示反馈,访问网页等时,资源取样器240可以监视哪些资源被用于呈现网页以及与加载那些资源有关的定时信息。在其他实施例中,服务器机器130(例如,资源取样器240)可以执行自动资源取样。例如,资源采样器240可以包括可以自主地爬取网页并收集资源样本的一个或多个“机器人”或类似的,和/或指导其操作。这种自动化方法可以包括用于收集资源样本的任何合适的功能,例如完整的浏览器实例、部分浏览器实例等。在一些实施方式中,自动化浏览器方法可以对多种类型的浏览器和/或多种类型的呈现平台(例如,用于不同的操作系统,移动与桌面环境等)的功能进行建模。

每个资源样本在相应的取样时间被记录,并指示在相应的取样时间相对于呈现网页的资源呈现状态(并且可以在取样时间或一些后续时间接收资源样本)。呈现状态可以包括与在一个或多个网络事务上下文(例如在一个或多个网页上)中关于呈现资源的任何信息。例如,当用户第一次访问新闻相关的网页时,可以加载多个资源,包括文本、图像、视频、脚本等。一些资源涉及网页相对静态的内容(例如,产生页面的整体外观和感觉的数据元素),并且其他资源是网页的相对动态的内容(例如,涉及特定的新闻报导、广告横幅等的数据元素)。相应地,当用户第二次访问同一页面时,一些资源(例如页面上较动态的资源)自第一次以来可能已经发生了变化。因此,呈现状态可以指示哪些资源在哪个取样时间被加载。

资源取样器240的一些实施例可以收集关于资源的附加呈现状态信息作为样本收集的一部分。一些实施方式将每个所取样的资源与一个或多个超级资源和/或子资源相关联。例如,资源组可以是特定逻辑上下文(例如网页、资源域、根域等)的子URL,并且实施方式可以将这些资源与其逻辑上下文相关联地存储;或者特定资源可以是调用一个或多个子资源的脚本或页面,并且实施方式可以使用这样的指示来存储资源。其他实施方式可以将信息与资源样本相关联地存储,例如文件类型、一个或多个资源指示符(例如,URL,被标识为指向等效资源的一个或多个URL等)、资源呈现特性(例如,相对于网页的大小、网页上的位置,与用户装置和/或网页上的其他资源的交互性等)。例如,网页可以布置成页面顶部10%具有永不改变的内容,页面左边10%具有在每个月的第一天改变的内容,并且剩余的页面具有高度动态的内容。

TDH生成器260可以依据所存储的资源样本计算每个资源随时间被提取作为呈现网页的一部分的基于时间的概率。随着资源样本随时间被收集,可以将一些或全部样本(例如,在取样时间的资源呈现状态)添加到统计模型中。统计模型依据资源是否(例如,以及如何、何时等)在先前的取样时间与其他网络事务相关联地呈现,有效地计算特定资源将在特定时间(或多个时间)与特定网络事务相关联地呈现的概率。图3和4A至4D示出了用于各种实施例的基于时间的资源概率信息的一些示例。

图3示出了说明性资源的基于时间的概率函数350(即概率320对时间310)的示例性图表300。假定在先前的时间帧内收集了多个样本,并将其存储为“过去数据”325。基于过去数据325,可以计算和绘制基于时间的概率函数350。例如,可以使用过去数据325来计算统计趋势曲线。如图所示,过去数据325可以包括特定资源的一些或全部样本(例如在某些情况下,还包括某些相关资源),直到“最后取样时间”330k,其可以是最近期收集关于感兴趣资源的样本的时间。

与样本/或与计算基于时间的概率函数350相关联的“时间”310可以以任何合适的方式来表达。在一些实施例中,时间310可以参考请求时间340被表示为相对时间。例如,过去数据325可以表示为相对于请求时间340的过去的时间量和/或可以参照从“t=0”等的时间量来表示未来预测概率,其中“t=0”是请求时间。在其他实施例中,时间310可以参照绝对时标,例如时间戳(例如日期和时间,四舍五入到最接近的秒等)来表示。绝对时间可以基于提示机器130的位置(例如时区)、预先协商的时间基准(例如,格林威治标准时间,从定义的时期测量的时间等)等等。

在一些实施方式中,在计算基于时间的概率函数350中可以包括一个或多个附加的数学考虑因素。作为一个示例,一些实施方式可以将衰减函数应用于基于时间的概率函数350,使得预测的未来概率以特定方式(例如,通过预定斜率、衰减率、半衰期等)随时间下降。在某些这样的实施方式中,可以将衰减函数应用于瞬时概率和/或任何时间的基于时间的概率计算(例如,在收集最后一个数据样本之后,该资源的概率可以根据提示衰减函数而单调减小)。在某些情况下,衰减函数的应用不要求整体概率函数是单调递减的;而是提示衰减函数可以产生有效地随时间减少基于时间的概率函数350的贡献。提示衰减函数的一个示例是平方函数,其开始时是一(例如100%),并在某一时间下降至零(例如0%),由此表示特定提示等的到期时间。作为可以被包括在计算基于时间的概率函数350中的附加数学考虑的另一个示例,一些实施方式可以将加权函数应用于过去数据325中的资源样本以使一些样本比其他有利。加权可以基于“新鲜度”(例如,更近期的样本可以比旧样本更有利地加权),基于域关系(例如,与所请求的域相关联地记录的资源的样本可以比与其他域相关联地记录的相同资源的样本更重地权重),基于平台关系(例如,与类似于当前请求平台的平台相关联地记录的资源的样本可以比为其他平台记录的样本更重地权重)等等。

可以以任何合适的方式并且在任何合适的时间计算基于时间的概率函数350。例如,基于时间的概率函数350在每次针对资源收集新样本时,周期性地,响应于提示请求等而被重新计算。如本文所述,所计算的基于时间的概率可以最终用于开发时间依赖提示。因此,在一些情况下,存在“请求时间”340,在该时间请求特定域、资源等,并且利用基于时间的概率函数350。通常可以假定请求时间340在最后一个取样时间330k之后,使得基于时间的概率函数350有用于基本上在请求时间340(即瞬时概率)和/或在一个或多个未来时间(例如,与特定未来时间相关联的一个或多个瞬时概率,与一个或多个未来时间帧相关联的一个或多个平均概率,与一个或多个未来时间帧相关联的一个或多个概率函数等)预测特定资源的时间依赖呈现概率。

在一些情况下,资源的呈现状态可以根据一个或多个存在模型来建模。每个存在模型可以有效地为分数、参数函数、机器学习模型、统计模型等。一些实施例可以尝试统计地将资源呈现状态数据拟合到一个或多个预定存在模型中。图4A至4D示出了可以拟合于说明性类型的存在模型中的资源样本组的曲线图400。每个曲线图400示出了在多个取样时间330(例如,从某个取样时间330a到某个最后取样时间330k)特定资源的资源存在420的样本。为了简单起见,以二元方式(例如作为“存在”或“不存在”)绘制每个存在420,并且穿过样本点绘制线。图400并不意图限制可以收集的数据类型、数据量等,或者可以表达的方式。例如,取样时间330可以不是等间隔的,可以有多于两个维度(例如,存在可以导致其他信息,例如位置、平台等,如上所述)等等。

转到第一个示例,图4A示出了在“短期的常规(regular)存在”类型的存在模型下的资源样本。例如,此资源的最近期的N个样本指示存在,但一些先前的样本表明不存在。这可以表明资源一致地作为特定网页的一部分呈现,但一致性仅在短期内才显而易见。一些实施方式可以从这种数据计算基于时间的概率函数350,以反映这资源与这网页呈现的高概率,但是所计算的函数还可以根据一致性的短期性质指示较低的概率和/或较尖锐的衰减。例如,由于数据在更长的时间内保持一致,所计算的基于时间的概率函数350可以指示随时间更高的概率和/或更少的衰减。此外,可以实施存在模型以各种方式考虑偶尔的不存在的指示。例如,一个实施方式可以有单个不存在样本时将资源考虑为不再是“常规”。另一实施方式可以每当存在连续的存在样本的最小阈值数量时将资源考虑为“常规”。另一实施方式可以每当少于连续不存在样本的最大阈值数量(或频率)时将资源考虑为“常规”。

转到第二个示例,图4B示出了“丢弃”类型的存在模型下的资源样本。例如,这资源最近期的N个样本表示不存在,而先前的样本表示存在。这可以表明资源先前是作为特定网页的一部分呈现的,但显然不再是网页的一部分。一些实施方式可以从这样的数据计算基于时间的概率函数350以反映这资源正在与这网页呈现的低(或零)概率。在某些实施方式中,低概率可以通过不存在指示的持续性(例如样本的数量、样本的新鲜度等)进一步受到影响(例如加权)。例如,由于不存在数据在较长的时间内保持一致,所计算的基于时间的概率函数350可以指示较低的概率。

转到第三个示例,图4C示出了“一次性”类型的存在模型下的资源样本。例如,样本数据示出了大量指示不存在的样本之中(之前和之后)单个(或有限数量)指示存在的样本。这可能表明资源已被呈现一次(或有限次数)作为特定网页的一部分,但显然目前不是网页的一部分。一些实施方式可以从这样的数据计算基于时间的概率函数350以反映这资源正在与这网页呈现的低(或零)概率。在某些实施方式中,低概率可以由后续存在和/或不存在指示的持续性(例如样本的数量、样本的新鲜度等)进一步影响(例如加权)。

转到第四个示例,图4D示出了在“短暂”或“周期性”类型的存在模型下的资源样本。例如,样本数据示出了随着时间的存在与不存在的模式。这可以表明,资源倾向于在特定时间(例如,日、月、年等的特定时间)内被呈现为特定网页的一部分,而不是以其他方式呈现,但是以确定性的方式呈现统计置信度。一些实施方式可以从这种数据计算基于时间的概率函数350以反映基本上遵循确定性模式的概率。例如,所计算的基于时间的概率函数350可以遵循周期函数(例如,阶跃函数或正弦函数等)等。为了说明起见,这样的周期性概率可以存在于在确定性时期(例如,每周三早上5:00)以新内容更新的网页中。

图3至4D提供的例子仅旨在说明某些类型的持续性模型和基于时间的概率函数350,并且不打算包括所有类型或将实施方式限制于任何数量或类型的模型或函数。此外,实施例可以以任何合适的方式调整模型和/或基于时间的概率函数350计算。作为一个示例,基于时间的概率函数350可以使用定义相关性的时间帧的滑动窗口从资源样本来计算,并且可以基于对于不同类型的模型不同的特定因素等来调整窗口的大小。作为另一示例,可以使用机器学习和/或类似技术来开发可遵循或不遵循常规模式的持续性模型。例如,可以使用主成分分析或其他类型的数据分析来提取最具有相关性和相关方式的持续性特征;并且那些提取的特征可以用于制定持续性模型(例如,动态地、周期性地等)。

回到图2A,TDH生成器260的实施例可使用所计算的基于时间的概率来生成时间依赖提示,用于与客户端机器呈现网页相关联地预提取资源组。例如,在计算了资源随时间的存在概率的预测之后,可以利用这些预测来确定响应于对加载网页的请求要预提取哪些资源(例如,和/或按照什么优先级、顺序等)。可以依据与该资源和请求时间相关联的相应基于时间的概率函数350(例如,其可以被表达为数据点组、数学表达式和/或任何适合的方式)来生成特定资源的时间依赖提示。在一些实施例中,提示的时间依赖特性可以增加最相关资源将以最优顺序被提取的可能性,由此改善页面加载时间和/或以其他方式改进网络事务的性能。在其他实施例中,即使当在请求时间进一步信息不可用时,也可以利用预测的基于时间的概率(例如函数、数据点等)的可用性来生成时间依赖提示,例如当提示信息过时时,客户端机器110不能访问提示机器130等。

提示机器130的实施例可以包括通信子系统250,通信子系统250可以将所生成的时间依赖提示传送给一个或多个客户端机器110。在一些实施例中,通信子系统250还可以接收和处理与客户端机器110、内容服务器120等的提示请求和/或其他提示相关的通信。例如,通信子系统250可以在请求时间通过通信网络140从客户端机器110与客户端机器110呈现网页相关联地接收提示请求;TDH生成器260可以响应于提示请求而生成提示响应,所述提示响应包括从相应基于时间的概率(例如,在请求时间之前和/或在请求时间计算的)生成的时间依赖提示。通信子系统250然后可以响应于提示请求将提示响应传送到客户端机器110。

在一些实施例中,TDH生成器260可以生成时间依赖提示,其中通过依据请求时间和与一个或多个时间依赖提示相关联的资源的相应基于时间的概率,计算该一个或多个时间依赖提示的瞬时提示概率。例如,瞬时概率可以是在请求时间的依据与资源相关联的基于时间的概率函数的计算的概率。通信子系统250然后可以通过传送时间依赖提示以及其相关联的瞬时概率来传送提示响应。

在其他实施例中,TDH生成器260可以生成时间依赖提示,其中通过依据与一个或多个时间依赖提示相关联的一个或多个资源的相应基于时间的概率,计算一个或多个提示概率函数。如上面所述(例如参照图3至4D),提示概率函数可以指示资源在请求时间之后的时间被请求客户端机器请求作为呈现网页的一部分的概率。通信子系统250然后可以通过传送时间依赖提示以及一个或多个提示概率函数来传送提示响应。如图所示,在一些实施例中,可以将进一步的提示信息存储在相同或另一个提示信息存储135中。附加提示信息可以包括对执行静态、时间依赖和/或其他提示功能有用的任何信息。

为了更加清楚,图5示出了根据各种实施例的用于实现数据流的说明性系统500。系统可以包括用于接收多个资源样本515的装置。如本文所述,装置可以包括用于通过网络进行通信和/或加载资源以执行(或模拟等)网络事务的任何合适的硬件(例如,和支持软件),例如天线、物理和/或逻辑端口、协议、调制解调器、路由器等。如图所示,装置可以包括资源取样器240和资源样本存储280。资源取样器240可以与机器人驱动请求503和/或用于网络事务(例如用于加载网页)的客户端驱动请求505相关联地收集资源的样本515。收集的样本515可以以任何合适的方式存储在资源样本存储280中。例如,样本515可以由相关联资源510等分组。样本数据存储280可以包括任何合适的有形存储硬件和支持硬件和/或软件。

资源取样器240的一些实施例还可以包括用于生成、拟合和/或以其他方式确定和利用资源关系525的资源分析引擎520。例如,如上所述,资源关系可以包括页面上资源的位置、与同一页面相关联的资源组、特定文件类型的资源等。在一些实施例中,可以依据一个或多个其他相关资源的基于时间的概率和/或时间依赖提示来确定特定资源的基于时间的概率和/或时间依赖提示。资源分析引擎520的一些实施例还可以生成和/或拟合存在模型和/或其他类型的曲线。

系统500进一步包括用于依据资源样本510计算每个资源510随时间被提取作为呈现网页的一部分的基于时间的概率535的装置;例如,可以将资源样本515和/或资源关系525提供给用于计算的装置,其可以包括用于生成时间依赖提示550的TDH生成器260。例如,用于计算的装置可以被实现为作为TDH生成器260的一部分的基于时间的概率引擎530。相应地,基于时间的概率引擎530可以包括用于接收资源样本515和/或资源关系525以及计算所取样的资源510的基于时间的概率535的硬件(例如硬件计算平台和相关联的软件)。TDH生成器260可以进一步包括用于根据相应的基于时间的概率535生成时间依赖提示550的装置,所述时间依赖提示用于与客户端机器(例如客户端机器110)呈现网页相关联地预提取资源组510。例如,用于生成时间依赖提示550的装置可以包括计算硬件和相关软件,用于接收所计算的基于时间的概率535(例如,以及附加提示信息135),以及根据一个或更多数据格式、协议等制定时间依赖提示550。

在一些实施方式中,客户端机器110可以存储接收到的基于时间的概率以用于客户端机器驱动的提示生成。例如,在客户端机器110确定优选自发生成提示的情况下(例如,在确定没有与提示机器130连接的情况下,其中与提示机器130的连接被确定为是慢的或不可靠的等),客户端机器110可以使用所存储的基于时间的概率函数来以导致请求时间上下文中的时间依赖性的方式来生成它自己的相关联资源的提示。客户端机器110的实施例可以通过通信网络140从提示机器130接收时间依赖提示。客户端提示子系统230(例如,其可以包括页面提取器和/或任何其他适合的部件)可以与加载网页相关联地并根据所接收的时间依赖提示预提取至少一些资源。在一些实施方式中,客户端提示子系统230包括提示存储,所述提示存储可以存储所接收到的时间依赖提示与由提示机器130计算的它们相关联的提示概率(例如,相关联的基于时间的概率函数)。在这种实施方式中,客户端提示子系统130(例如页面提取器)可以预提取一些或所有资源,其中通过依据请求时间和所存储的提示概率函数来计算那些相关联资源的客户端侧提示组,并根据所述客户端侧提示组预提取相关联资源。

图2B示出了根据各种实施例用于实现时间依赖提示生成的另一说明性通信环境200b的一部分的框图。通信环境200a的实施例可以以与参照图2A描述的通信环境200a的基本相似或相同的方式来实现,除了服务器机器130被实现为图2B中的客户端机器110的一部分。因此,为了更加清楚,类似的部件在图2A和2B中由相同的参考标志号标识。这种标号旨在表示功能的相似性,而不是限制这些部件的可能的实施方式。

例如,资源取样器240和TDH生成器260可以被实现为提示处理器270的一部分。如对于资源取样器240和TDH生成器260所描述的,提示处理器可以包括用于实现时间依赖提示的任何硬件和/或软件。具有集成提示机器130的客户端机器110的实施例可用于提供各种特征。一个这样的特征是提供对等提示服务。例如,集成在客户端计算机110中的提示机器130可以用于跨越一些或所有对等体的提示的点对点汇总,用于分布式机器驱动的提示生成等。另一个这样的特征是客户端基于其自己的提示信息生成提示。例如,客户端机器110可以保持其自己的提示反馈和/或从其他客户端机器110收集提示反馈(例如,周期性地通过一些同步过程,使用字典或客户端模型等),并且客户端机器110可以根据需要生成其自己的提示,而不咨询任何其他客户端机器110或提示机器130)。

图6示出了根据各种实施例的用于时间依赖机器生成提示的说明性方法600的流程图。方法600的实施例可以通过任何合适的系统来实现,例如参照图1至3描述的系统。方法600可以通过在阶段604接收资源样本(例如由提示机器)开始。每个资源样本可以在相应的取样时间被记录,并可以指示在相应的取样时间相对于呈现网页的资源呈现状态。在阶段608,实施例可以依据资源样本计算每个资源随时间被提取作为呈现网页的一部分的基于时间的概率。在阶段612,实施例可以根据相应的基于时间的概率生成时间依赖提示,所述时间依赖提示用于与客户端机器呈现网页相关联地预提取资源组。

图7示出了根据各种实施例的用于时间依赖提示的另一方法700的流程图。方法700的实施例可以在阶段704开始,其中通过在请求时间与客户端机器呈现网页相关联地接收提示请求(在提示机器从客户端机器接收)。在阶段708,实施例可以响应于提示请求生成包括时间依赖提示(例如,至少一些图6的阶段616中生成的时间依赖提示)的提示响应。在阶段612,实施例可响应于请求将提示响应(例如来自提示机器的)传送给客户端机器。根据方法700的一些实施例,阶段708的生成可以包括依据请求时间和与一个或多个时间依赖提示相关联的资源的相应基于时间的概率,计算一个或多个时间依赖提示的瞬时提示概率(示出为708a)。在这样的实施例中,在阶段712的传送可以包括传送时间依赖提示以及瞬时概率(示出为712a)。根据其他实施例,在阶段708的生成可以包括依据与一个或多个提示相关联的资源的相应基于时间的概率,计算瞬时提示概率函数,使得提示概率函数指示资源在请求时间之后的多个时间被请求客户端机器请求作为呈现网页的一部分的概率(示出为708b)。在这样的实施例中,在阶段712的传送可以包括传送时间依赖提示以及提示概率函数(示出为712b)。

图8提供了计算机系统800的一个实施例的示意图,所述计算机系统800可以执行本文所述的发明的方法,和/或例如可以用作客户端机器110、内容服务器120、提示机器130或任何其他这样的计算机或装置的任何一部分。应该注意的是,图8仅旨在提供对各种部件的一般性说明,其中可适当地使用任何或全部部件。因此,图8广泛地说明了单独的系统元件如何以相对分离或相对更集成的方式来实现。

计算机系统800被示为包括可以经由总线805电耦合(或者可以适当地以其他方式进行通信)的硬件元件。硬件元件可以包括一个或多个处理器810,其中包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如数字信号处理芯片、图形加速芯片和/或类似处理器);一个或多个输入装置815,其可以包括但不限于鼠标、键盘、触摸屏和/或类似物;以及一个或多个输出装置820,其可以包括但不限于显示装置、打印机和/或类似装置。

计算机系统800可以进一步包括一个或多个存储装置825(和/或与之通信),所述存储装置825可以包括但不限于本地和/或网络可访问存储和/或可以包括但不限于磁盘驱动器、驱动器阵列、光存储装置,诸如随机存取存储(“RAM”)和/或只读存储(“ROM”)的固态存储装置,其可以是可编程的、闪存可更新的和/或类似的。计算机系统800还可以包括通信子系统830,其可以包括但不限于调制解调器、网卡(无线或有线)、红外通信装置、无线通信装置和/或芯片组(例如802.11装置、WiFi装置、WiMax装置、蜂窝通信设施等)和/或类似物。通信子系统830可以允许数据与网络(例如以下面描述的网络为一个示例)和/或本文描述的任何其他装置交换。在许多实施例中,计算机系统800将进一步包括工作存储835,其可以包括RAM或ROM装置,如上所述。

计算机系统800还可以包括示为当前位于工作存储835内的软件元件,包括操作系统840和/或其他代码(例如一个或多个应用845),其可以包括本发明的计算机程序和/或者可以被设计为实施本发明的方法和/或配置本发明的系统,如本文所述。仅作为示例,参照以上讨论的方法描述的一个或多个过程可以实现为可由计算机(和/或计算机内的处理器)执行的代码和/或指令。这些指令和/或代码组可以存储在计算机可读存储介质(例如上述的存储装置825)上。在一些情况下,存储介质可以并入计算机系统内,例如系统800。在其他实施例中,存储介质可以与计算机系统(即,可移除介质,例如压缩光盘等)分开,和/或提供在安装包中,使得存储介质可以用于编程其上存储有指令/代码的通用计算机。这些指令可以采用可由计算机系统800执行的可执行代码的形式,和/或可以采取源代码和/或可安装代码的形式,在编译和/或安装在计算机系统800上时(例如使用各种通常可用的编译器、安装程序、压缩/解压缩实用程序等中的任何一种),则采取可执行代码的形式。在某些实施例中,这可以包括页面提取器功能,并且可以包括分离的页面提取器模块作为这页面提取器功能的一部分,其由允许在这种计算机系统800的输出装置820上显示网页的过程执行。

对于本领域技术人员显而易见的是,可以根据具体要求做出实质性的变化。例如,也可以使用定制的硬件,和/或可以用硬件、软件(包括便携式软件,例如小应用程序等)或两者来实现特定的元件。此外,可以使用对其他计算装置(例如网络输入/输出装置)的连接。

在一个方面,本发明采用计算机系统(例如计算机系统800)来执行本发明的方法。根据实施例组,计算机系统800响应于处理器810执行包含在工作存储835中的一个或多个指令的一个或多个序列(其可以被并入到操作系统840和/或其他代码,例如应用845)来执行这些方法的一些或全部过程。这样的指令可以从另一个机器可读介质(例如一个或多个存储装置825)读入到工作存储835中。仅仅作为示例,工作存储835中包含的指令序列的执行可能导致处理器810执行本文描述的方法的一个或多个过程。

本文使用的术语“机器可读介质”和“计算机可读介质”是指参与提供使机器以特定方式操作的数据的任何介质。在使用计算机系统800实现的实施例中,各种机器可读介质可涉及向处理器810提供用于执行的指令/代码,和/或可能用于存储和/或携带这样的指令/代码(例如作为信号)。在许多实施方式中,计算机可读介质是物理和/或有形的存储介质。这种介质可以采取许多形式,包括但不限于非易失性介质。非易失性介质包括例如光盘或磁盘,例如存储装置825。物理和/或有形计算机可读介质的常见形式包括例如软盘、硬盘、磁带或任何其他磁介质、CD-ROM或任何其他光介质、基于固态电路的存储或任何其他其他存储芯片或软片,或计算机可以从其读取指令和/或代码的任何其他介质。将一个或多个指令的一个或多个序列携带到处理器810以供执行可涉及各种形式的机器可读介质。仅作为示例,指令可以最初被携带在远程计算机的存储上。远程计算机可将指令加载到其动态存储中,并通过传输介质将指令作为信号发送,以由计算机系统800接收和/或执行。

通信子系统830(和/或其部件)通常将接收信号,并且总线805然后可以将信号(和/或由信号携带的数据、指令等)携带到工作存储835,处理器810从工作存储835检索并执行指令。由工作存储835接收的指令可以在由处理器810执行之前或之后可选地存储在存储装置825上。

实施例组包括用于实现时间依赖提示的系统。图9示出了根据一组实施例可以使用的网络系统900的示意图。在这样的实施例中,网络系统900可以表示任何数量的客户端和服务器装置,其使内容能够作为跨过网络的网页事务的一部分从内容提供者传送到用户系统。系统900可以包括一个或多个用户计算机905,例如用于实现图1的客户端机器110的计算机。用户计算机905可以是通用个人计算机和/或可以具有多种应用中的任何应用,包括被配置为执行本发明的方法的一个或多个应用以及一个或多个办公应用、数据库客户端和/或服务器应用和页面提取器应用。可选地,用户计算机905可以是任何其他电子装置,例如瘦客户端机器、使用互联网的移动电话、平板计算机、平板手机、可穿戴装置、使用互联网的装置和/或个人数字助理(PDA),其能够经由网络(例如下面描述的网络910)进行通信和/或显示和导航网页或其他类型的电子文档。尽管示例性系统900被示出为具有三个用户计算机905a-c,但是可以支持任意数量的用户计算机。

本发明的某些实施例在网络环境中操作,其可以包括网络910,例如用于实现图1的网络140。网络910可以是本领域技术人员熟悉的任何类型的网络,其可以支持使用任何一种各种商业可用协议的数据通信,包括但不限于TCP/IP、UDP/IP、SNA、IPX等。仅作为示例,网络910可以是局域网(“LAN”),包括但不限于以太网网络、令牌环网络等和/或类似网络;广域网(WAN);虚拟网络,包括但不限于虚拟专用网络(“VPN”);互联网;内联网;外联网;公共交换电话网(“PSTN”);红外网络;无线网络,包括但不限于在任何IEEE 802.11协议族或任何其他无线协议下运行的网络;和/或这些和/或其他网络的任何组合。

本发明的实施例可以包括一个或多个服务器915(或者类似类型的计算系统)。服务器915的实施例可以用于实现内容服务器120和/或提示机器130。如上所述,提示机器130还可以是一个或多个内容服务器120的一部分和/或一个或多个客户端机器110的一部分,其可以实现为一个或多个服务器915。每个服务器915可以配置有操作系统,包括但不限于以上讨论的任何操作系统,以及任何商业(或免费)可用的服务器操作系统。每个服务器915还可以运行一个或多个应用,其可以被配置为向一个或多个用户计算机905和/或其他服务器915提供服务。

仅作为示例,服务器915中的一个可以是网络服务器,其可以仅作为示例用于处理对来自用户计算机905的网页或其他电子文档的请求。网络服务器还可以运行各种服务器应用,包括HTTP服务器、FTP服务器、CGI服务器、数据库服务器、脚本服务器等。在本发明的一些实施例中,网络服务器可以被配置为服务可以在一个或多个用户计算机905上的页面提取器内操作的网页,以执行本发明的方法。在某些实施例中,服务器915还可以包括CDN装置,其从替代服务器提供与作为网页事务中的特定对象的源的主内容服务器相似或相同的内容。

在一些实施例中,服务器915可以包括一个或多个应用服务器,其可以包括可由在用户计算机905和/或其他服务器915中的一个或多个上运行的客户端访问的一个或多个应用。仅作为示例,服务器915可以是能够响应于用户计算机905和/或其他服务器915而执行程序或脚本的一个或多个通用计算机,包括但不限于网络应用(其在一些情况下可能被配置为执行本发明的方法)。仅作为示例,网络应用可以被实现为以任何适当的编程语言编写的一个或多个脚本或程序。应用服务器还可以包括数据库服务器,其可以处理来自运行在用户计算机905和/或另一服务器915上的客户端(视乎取决于配置器,包括数据库客户端、API客户端、页面提取器等)的请求。在一些实施例中,根据本发明的实施例,应用服务器可以动态地创建用于显示信息的网页,例如显示为本文所讨论的各种页面提取器的一部分的信息。由应用服务器提供的数据可以被格式化为网页(例如包括HTML、脚本等)和/或可以经由内容服务器120被转发到用户计算机905。类似地,内容服务器120可以从用户计算机905接收网页请求和/或输入数据和/或将网页请求和/或输入数据转发到应用服务器。在一些情况下,内容服务器120可以与应用服务器集成。

根据另外的实施例,一个或多个服务器915可以用作文件服务器和/或可以包括实现本发明的方法所需的一个或多个文件(例如应用代码、数据文件等),其由用户计算机905和/或另一个服务器915上运行的应用并入。替代地,如本领域技术人员将理解的,文件服务器可以包括所有必要的文件,允许用户计算机905和/或服务器915远程调用这样的应用。应该注意,参照本文中的各种服务器(例如应用服务器、数据库服务器、网络服务器、文件服务器等)描述的功能可以由单个服务器和/或多个专用服务器来执行,这取决于特定于实施方式的需求和参数。

在某些实施例中,系统可以包括一个或多个数据库920,例如用于实现由各种实施例的系统和方法使用的资源样本数据存储280、提示信息数据存储135和/或任何其他合适的数据存储。这样的数据库可以包括网络事务历史和从该网络事务历史导出的提示的存储。任何与创建这种提示有关的支持细节都可以另外存储在这样的数据库中。数据库920的位置是任意的:仅作为示例,数据库920a可以停留在位于(和/或驻留在)服务器915a(和/或用户计算机905)的存储介质上。替代地,数据库920b可以远离任何或所有计算机905或服务器915a、b,只要数据库920b可以与这些中的一个或多个(例如经由网络910)进行通信即可。在特定的实施例组中,数据库920可以停留在本领域技术人员熟悉的存储区域网络(“SAN”)中。类似地,用于执行归属于计算机905或服务器915的功能的任何必要文件可以根据需要本地和/或远程地存储在相应的计算机上。在实施例组中,数据库920可以是适合于响应于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)。此外,术语“示例性”并不意味着所描述的示例比其他示例更优选或更好。类似地,诸如“优化”之类的术语不旨在将实施例限制为最佳方法或结果,而是意图表达寻求移向最优结果(例如改善等)。如这里所使用的,元件的“组”旨在表示“一个或多个”那些元件,除非明确要求该组具有多于一个或明确允许为空集。

在不脱离由所附权利要求限定的教导的技术的情况下,可以对本文描述的技术进行各种改变、替换和改变。此外,本公开和权利要求的范围不限于上述过程、机器、产品、物质组成、装置、方法和动作的特定方面。可以利用执行与本文描述的相应方面基本上相同的功能或实现基本上相同结果的目前存在或以后开发的过程、机器、产品、物质组成、装置、方法或动作。因此,所附权利要求在其范围内包括这样的过程、机器、产品、物质组成、装置、方法或动作。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1