CN103797477A - 预测用户导航事件 - Google Patents

预测用户导航事件 Download PDF

Info

Publication number
CN103797477A
CN103797477A CN201280044956.0A CN201280044956A CN103797477A CN 103797477 A CN103797477 A CN 103797477A CN 201280044956 A CN201280044956 A CN 201280044956A CN 103797477 A CN103797477 A CN 103797477A
Authority
CN
China
Prior art keywords
navigation
navigation event
event
digraph
history
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.)
Granted
Application number
CN201280044956.0A
Other languages
English (en)
Other versions
CN103797477B (zh
Inventor
蒂莫·布卡德
多米尼克·哈曼
阿尔文德·贾殷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN103797477A publication Critical patent/CN103797477A/zh
Application granted granted Critical
Publication of CN103797477B publication Critical patent/CN103797477B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/80Data visualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/22Indexing scheme relating to groups G06F7/22 - G06F7/36
    • G06F2207/228Sorting or merging network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Chemical & Material Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Evolutionary Biology (AREA)
  • Biotechnology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)

Abstract

本发明描述了用于预测下一导航事件的方法(300)和系统(200)。本公开的方面通过预测下一导航事件来最小化在导航事件和网络响应之间的延迟。系统(200)和方法(300)然后可以预先渲染与下一导航事件相关联的内容(306)。例如,方法(300)和系统(200)可以在web浏览期间预测可能的下一统一资源定位符,以在用户选择网页上的相应链接之前抢先从网络请求内容。所述方法描述了多种预测下一导航事件的方式,包括检查个人(400和500)以及聚合历史数据(600、700和800)、文本输入预测(1000)以及光标输入监视(1100)。

Description

预测用户导航事件
相关申请的交叉引用
本申请是于2011年9月15日提交的美国专利申请No.13/233,300的延续案,特此,通过引用将其公开内容合并入本文。
背景技术
万维网的出现使比以往任何时候更多的信息令现今的用户触手可及。各种网站迎合几乎每种需求和兴趣,提供对参考信息、商业和金融文档、社交网络等的访问。分布广泛的宽带因特网接入提供了对这些站点比以往任何时候更快的访问。
然而,与当前高速因特网服务一样快,浏览web的动作也不是瞬间的。当用户选择页面上的链接或将统一资源定位符(URL)输入在文本域中时,在向主机请求数据、将数据发送给客户端以及在浏览器中渲染数据时存在延迟。用户可能在等待其请求的站点被加载时很无聊。虽然高速因特网接入可以将这种延迟限制在几秒钟,然而,即使这种很短的延迟也会每年损失总计达数千生产力工时。
发明内容
描述了用于预测用户导航事件的方法和系统。本公开的方面通过预测网页上的用户导航事件来最小化访问web内容时的延迟。导航事件可以通过各种指示符预测,包括但不限于:用户的导航历史、聚合导航历史、在数据输入域内的文本输入或鼠标光标位置。可以向用户提供选择加入或退出可以收集关于他们的个人信息的功能的机会。另外,某些数据可以在其被存储或使用之前被匿名并聚合,使得个人可识别信息被移除。
本公开的方面提供了用于预测用户导航事件的计算机实现的方法。该方法可以包括存储导航数据集,该导航数据包括至少一个有向图,其中该有向图的至少一个顶点包括至少一个导航事件,以及该有向图的边通过计数值被赋予权重,该计数值表示导航从源顶点到通过该边耦接到其的目的地顶点已发生的次数;识别当前导航历史,该当前导航历史包括在浏览器中所访问的一个或多个先前导航事件;使用处理器将当前导航历史映射到在导航数据集内的至少一个有向图;使用该至少一个有向图为给定导航事件确定置信值;以及基于该置信值将给定导航事件识别为可能的导航事件,使得该可能的导航事件被配置成由浏览器利用来协助导航操作。该至少一个有向图可以适于(bekeyed to)在当前导航历史中的至少一个先前导航事件。该至少一个先前导航事件可以按照该至少一个先前导航事件中的每一个被访问的顺序来识别。该方法还可以包括识别当前导航历史中的n个先前导航事件;以及确定该至少一个有向图中的哪个适于该n个先前导航事件。置信值可以通过该至少一个有向图的至少深度被赋予权重。有向图的权重可以通过公式graph_depthN*samples_in_graph来确定,其中graph_depth是深度,samples_in_graph是存储在该图中的导航事件数,以及N是用来调整graph_depth项在权重计算中的重要性的数值。该方法还可以包括预先渲染可能的导航事件。浏览器可以是web浏览器。
本公开的方面还提供了包括指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时促使该处理器执行方法。该处理器所执行的方法可以包括存储导航数据集,该导航数据包括至少一个有向图,其中该有向图的至少一个顶点包括至少一个导航事件,以及该有向图的边通过计数值被赋予权重,该计数值表示导航从源顶点到通过该边耦接到其的目的地顶点已发生的次数;识别当前导航历史,该当前导航历史包括在浏览器中所访问的一个或多个先前导航事件;将当前导航历史映射到在导航数据集内的至少一个有向图;使用该至少一个有向图为给定导航事件确定置信值;以及基于该置信值将给定导航事件识别为可能的导航事件,使得该可能的导航事件被配置成由浏览器利用来协助导航操作。该至少一个有向图可以适于在当前导航历史中的至少一个先前导航事件。该至少一个先前导航事件可以按照该至少一个先前导航事件中的每一个被访问的顺序来识别。该处理器所执行的方法还可以包括识别当前导航历史中的n个先前导航事件;以及确定该至少一个有向图中的哪个适于该n个先前导航事件。置信值可以通过该至少一个有向图的深度被赋予权重。该处理器所执行的方法还可以包括预先渲染可能的导航事件。
本公开的方面还提供了用于预测用户导航事件的处理系统。该处理系统可以包括至少一个处理器以及耦接到该处理器的用于存储导航数据集的存储器,该导航数据包括至少一个有向图,其中该有向图的至少一个顶点包括至少一个导航事件,以及该有向图的边通过计数值被赋予权重,该计数值表示导航从源顶点到通过该边耦接的目的地顶点已发生的次数。该处理器可以被配置成识别当前导航历史,该当前导航历史包括在浏览器中所访问的一个或多个先前导航事件;将当前导航历史映射到在导航数据集内的至少一个有向图;使用该至少一个有向图为给定导航事件确定置信值;以及基于该置信值将给定导航事件识别为可能的导航事件,使得该可能的导航事件被配置成由浏览器利用来协助导航操作。该浏览器可以被配置成预先渲染可能的导航事件。该至少一个有向图可以适于在当前导航历史中的至少一个先前导航事件。该至少一个先前导航事件可以按照该至少一个先前导航事件中的每一个被访问的顺序来识别。该处理器可以被进一步配置成识别当前导航历史中的n个先前导航事件;以及确定该至少一个有向图中的哪个适于该n个先前导航事件。置信值可以通过该至少一个有向图的深度被赋予权重。浏览器可以是web浏览器。
附图说明
图1是描绘根据本公开的方面的、与示例客户端设备通信的服务器的示例的系统图。
图2是描绘根据本公开的方面的计算设备的示例的框图。
图3是描绘根据本公开的方面的、用于基于预测的导航事件来预先渲染网页的方法的示例的流程图。
图4是描绘根据本公开的方面的、用于基于客户端导航历史来预测导航事件的方法的示例的流程图。
图5是描绘根据本公开的方面的、用于使用客户端导航历史来为URL计算置信值的方法的示例的流程图。
图6是描绘根据本公开的方面的、用于基于聚合导航历史来预测导航事件的方法的示例的流程图。
图7是描绘根据本公开的方面的、用于使用聚合导航历史来为URL计算置信值的方法的示例的流程图。
图8A是描绘根据本公开的方面的、用于使用哈希值来匿名地管理链接数据的基于聚合导航历史来预测导航事件的方法的示例的流程图。
图8B是根据本公开的方面的、利用用于基于聚合导航历史来预测用户导航事件的示例方法的web浏览器的示例的图示。
图9是根据本公开的方面的、用于存储导航历史的有向图的图示。
图10是根据本公开的方面的、用于构建有向图的方法的示例的图示。
图11是根据本公开的方面的、用于使用有向图来预测导航事件的方法的示例的图示。
具体实施方式
在本文描述了用于预测用户导航事件的系统和方法的实施例。本公开的方面通过预测下一导航事件来最小化在导航事件和网络响应之间的延迟。所述系统和方法可以预先渲染与下一导航事件相关联的内容。例如,所述方法和系统可以在web浏览期间预测可能的下一统一资源定位符以在用户选择相应链接之前抢先从网络请求内容,因此,当用户选择网页上的超链接时,减少或消除等待时间。描述了描述多种预测下一导航事件的方式的各种方法,包括检查个人和聚合历史数据、文本输入预测以及光标输入监视。本公开的方面还与对紧接用户导航(例如,用户在查看特定网页时,诸如在下一30秒、下一分钟或下一5分钟内,可能选择的下一链接)的预测有关。
如图1中所示,根据一个实施例的示例系统102包括(通过网络112)与分别显示web浏览器界面114、116、118的一个或多个客户端设备106、108、110通信的服务器104。
客户端设备106、108、110被配置成在执行web浏览器应用期间执行预先渲染操作。服务器104可以向客户端设备106、108、110传输导航历史数据,以使能对下一导航事件的预测。在一些方面中,客户端设备106、108、110使用本地导航历史来确定下一导航事件,并且向服务器104生成web请求以预先渲染与该下一导航事件相关联的内容。例如,客户端设备106的用户可以浏览到如在web浏览器界面112上所显示的位于“www.a.com”处的网页。该页面包括用户可选的内容。基于用户的导航历史,客户端设备106可以确定用户可能选择可选内容中的哪个,然后通过向服务器104请求内容来预先渲染与可选内容相关联的内容。
作为另一个示例,客户端设备108可以在浏览器114内显示www.a.com。客户端设备108可以从服务器104接收聚合导航统计集,然后基于该聚合导航统计集来确定用户可能选择哪个可选内容。作为又另一个示例,客户端设备110可以在浏览器116内显示www.a.com。客户端设备108可以基于在浏览器114内的光标位置来确定用户可能选择哪个可选内容。
虽然关于web浏览器一般地论述了在本文所述的概念,然而,本公开的方面可以应用于能够通过网络管理导航事件的任何计算节点,包括服务器104。
客户端设备106、108、110可以是能够通过网络112管理数据请求的任何设备。这样的客户端设备的示例包括个人计算机、个人数字助理(“PDA”)、平板PC、上网本、膝上型机等。事实上,根据在本文所述的系统和方法的客户端设备可以包括可操作来处理指令并且传输数据至和自人类和其他计算机的任何设备,包括通用计算机、缺乏本地存储能力的网络计算机等。
客户端设备106、108、110可操作来预测导航事件以协助通过网络112的数据访问。例如,客户端设备可以预测可能的导航事件来促进对网页的预先渲染,以便改善用户的浏览体验。在一些方面中,服务器104提供可以由客户端设备106、108、110用来预测可能的导航事件的导航数据(参见图6-8)。在一些方面中,客户端设备106、108、110使用本地数据来预测可能的导航事件。(参见图3-5,9-11)。
网络112以及在服务器104和客户端设备106、108、110之间的中间节点可以包括各种配置并且使用各种协议,包括因特网、万维网、内联网、虚拟专用网络、本地以太网、使用专用于一个或多个公司的通信协议的专用网络、蜂窝和无线网络(例如,Wi-Fi)、即时消息递送、超文本传输协议(“HTTP”)和简单邮件传输协议(“SMTP”)以及前述的各种组合。应当理解的是,典型系统可以包括大量连接的计算机。
尽管在如上所述传输或接收信息时获得了某些优势,然而,所述系统和方法的其他方面并不限于任何特定的信息传输方式。例如,在一些方面中,可以通过诸如光盘或便携式驱动器的介质来发送信息。在其他方面中,信息可以以非电子格式传输并且手动地输入到系统中。
尽管一些功能被指示为在服务器104上发生,并且其他功能被指示为在客户端设备106、108、110上发生,然而,所述系统和方法的各种方面可以由具有单个处理器的单个计算机实现。应当理解的是,关于客户端设备所述的系统和方法的方面可以在服务器上实现,反之亦然。
图2是描绘诸如参考图1所述的客户端设备106、108、110中的一个的计算设备200的示例的框图。计算设备200可以包括处理器204、存储器202和典型地存在于通用计算机中的其他组件。存储器202可以存储处理器204可访问的指令和数据。处理器204可以执行指令并且访问数据来控制计算设备200的操作。
存储器202可以是可操作来存储处理器120可访问的信息的任何类型的存储器,包括计算机可读介质或存储可以借助于电子设备读取的数据的其他介质,诸如硬盘驱动器、存储器卡、只读存储器(“ROM”)、随机存取存储器(“RAM”)、数字通用碟(“DVD”)或其他光盘以及其他具有写能力和只读存储器。所述系统和方法可以包括前述的不同组合,借此指令和数据的不同部分被存储在不同类型的介质上。
指令可以是待由处理器204直接(诸如机器码)或间接(诸如脚本)执行的任何指令集。例如,指令可以作为计算机代码被存储在计算机可读介质上。在这方面,可以在本文中交替地使用词语“指令”和“程序”。指令可以以目标代码格式被存储以供处理器204直接处理,或以任何其他计算机语言被存储,其他计算机语言包括根据需求被解释或预先被编译的脚本或独立源代码模块集合。在下面更详细地说明了指令的功能、方法和例程(参见图3-11)。
数据可以由处理器根据指令检索、存储或修改。例如,尽管体系结构不受任何特定数据结构限制,然而,数据可以被存储在计算机寄存器中、作为具有多个不同字段和记录的表在关系数据库中、在可扩展标记语言(“XML”)文档或平面文件中。还可以以任何计算机可读格式,诸如但不限于二进制值或Unicode,对数据进行格式化。仅作为进一步示例,图像数据可以被存储为由像素栅格组成的位图,所述像素栅格根据压缩或非压缩、无损(例如BMP)或有损(例如JPEG)、和基于位图或矢量(例如SVG)的格式以及用于绘制图形的计算机指令被存储。该数据可以包括足以识别相关信息的任何信息,诸如号码、描述性文本、专有代码、对存储在同一存储器的其他区域或不同存储器(包括其他网络位置)中的数据的引用或函数使用来计算相关数据的信息。
处理器204可以是任何适当的处理器,诸如各种商用通用处理器。替选地,处理器可以是专用控制器,诸如专用集成电路(“ASIC”)。
尽管图2在功能上将处理器和存储器图示为在单个块内,然而,应当理解的是,处理器204和存储器202可以包括可以或可以不被存储在同一物理外壳内的多个处理器和存储器。因此,对处理器、计算机或存储器的引用应当被理解为包括对可以或可以不并行操作的处理器、计算机或存储器集合的引用。
计算设备200可以在网络的一个节点处,并且可操作来与网络的其他节点直接和间接通信。例如,计算设备200可以包括web服务器,其可操作来通过网络与客户端设备通信,使得计算设备200使用网络来在客户端设备的显示器上向用户传输并显示信息。
在一些示例中,系统为客户端数据提供隐私保护,包括例如对个人可识别信息的匿名化、对数据的聚合、对敏感信息的过滤、加密、对敏感信息进行哈希或过滤来移除个人属性、对信息存储的时间限制和/或对数据使用或共享的限制。可以使数据匿名并聚合,使得不泄漏个人客户端数据。
为了促进计算设备200的导航事件预测操作,存储器202可以进一步包括浏览器206、导航预测模块208、预先渲染模块210、客户端导航历史212以及聚合导航历史214。尽管结合图2识别了多个分立模块(例如206、208、210、212和214),然而,这些模块的功能性可以在比所示的更少或更多数量的模块中重叠和/或存在,其中这样的模块驻存在可以在地理上散布的一个或多个处理设备处。浏览器206通过跨计算机网络发送和接收数据来向客户端设备的用户提供对网络内容的显示,网络内容诸如网页216、搜索结果集或任何其他类型的网络数据。网页216可以响应于网络请求而接收,网络请求诸如超文本传输协议(HTTP)GET请求。网页216可以以标记语言来提供,标记语言诸如超文本标记语言(HTML)。网页216还可以包括各种脚本、数据、表单等,包括交互式和可执行内容,诸如ADOBE FLASH内容、JAVASCRIPT内容等。
浏览器206可以进一步包括预先渲染的网页218。预先渲染的网页218表示预先渲染模块210响应于导航预测模块208所提供的预测的导航事件而请求并访问的网页。在用户输入如预测模块208所预测的导航事件的情况下,浏览器206可以将预先渲染的网页218与网页216进行交换,因此,在不需要发送另一个网络请求的情况下,提供与导航事件相关联的内容。在一些方面中,交换可以在预先渲染的网页218已完成加载之前发生。在这样的情况下,可以将部分加载的预先渲染的网页218交换入以作为活动页面继续加载。
存储器202可以进一步包括预先渲染模块210,其用来执行对如导航预测模块208所识别的下一网页的获取。预先渲染模块210发送对被识别为是用户将选择的可能的下一导航目的地的网页的网络请求。响应于该请求而接收的网页然后被存储在浏览器206中作为预先渲染的网页218。在一些方面中,预先渲染模块210所生成的网页请求与标准网页请求相同。在一些方面中,预先渲染模块210所生成的网页请求包括促进预先渲染过程的某些特征。
存储器202还可以存储客户端导航历史212和聚合导航历史214。客户端导航历史212包括与浏览器206的过去活动相关联的导航事件集。客户端导航历史212可以跟踪访问过的URL集,也被称为“点击流”,其跟踪用户典型地访问URL的顺序(例如,当用户访问新闻网站时,他们倾向于接下来选择与那天的头条报道相对应的URL)、与URL相关联的访问时间集等。在一些方面中,客户端导航历史212包括URL集和用户访问每一个URL的频率。在一些方面中,客户端导航历史包括URL对集,其表示源URL和目的地URL。聚合导航历史214可以包括与客户端导航历史212相似的数据,但是适合多个用户而不是单个用户。如同客户端导航历史212,聚合导航历史214可以被存储为URL集和针对每一个的频率、或表示从源URL到目的地URL的转变的URL对集。
客户端导航历史212和聚合导航历史214可以表示使用一个或多个浏览器附件、脚本或工具栏来收集的数据。在一些方面中,客户端导航历史212和/或聚合导航历史214在诸如服务器104的远程服务器上被维护,并且被提供给计算设备200。计算设备200可以维护独立记录来便于对下一可能的导航事件的预测、或其可以与远程存储的数据一致的动作。在一些方面中,只有与用户当前正查看的特定网页有关的聚合导航历史214才被提供给计算设备200(参见图6和8)。
如上所述,聚合导航历史数据214可以因对包括聚合导航历史的个人客户端数据的隐私保护以匿名方式来维护,包括例如对个人可识别信息的匿名化、对数据的聚合、对敏感信息的过滤、加密、对敏感信息进行哈希或过滤来移除个人属性、对信息存储的时间限制和/或对数据使用或共享的限制。可以使聚合导航历史214数据匿名并聚合,使得不泄漏个人客户端数据。
图3是描绘根据本公开的方面的、用于基于预测的导航事件来预先渲染网页的示例方法300的流程图。方法300的方面操作来从导航指示符集识别一个或多个可能的导航目的地,然后,预先渲染所识别的导航目的地。方法300可以由诸如计算设备200的计算设备执行来通过预先渲染被识别为用户的可能导航目标的网页,来消除用户web浏览体验的延迟。例如,方法300可以由在一起作用的浏览器206、导航预测模块208和预先渲染模块210的元件来执行。虽然关于计算设备200描述了方法300的方面,然而,方法300还可以由服务器104、或带有被设计成接受指令的硬件和/或软件的任何设备来执行。
在阶段302,计算设备200接收导航意图的一个或多个指示符。导航意图可以是倾向于指示用户将生成诸如对特定网页的请求的特定网络请求的任何动作。例如,指示符可以提供通过其来确定特定请求将是什么的度量,诸如置信值。例如,用户可以导航到某一网页,基于他们的浏览历史,他们一般从该网页导航到另外某一网页、或该用户可以朝嵌入在网页内的特定超链接移动其鼠标光标。在一些方面中,从远程服务器接收指示符,该远程服务器诸如将指示符嵌入在搜索结果内的搜索引擎,该指示符指示提交特定搜索查询的大部分用户选择特定搜索结果。
在阶段304,在接收导航意图的指示符之后,计算设备200试图预测最可能的导航事件。简而言之,计算设备200基于指示符来作出对用户可能接着导航到的地方的最佳猜测。在下面描述了执行该预测的方法。(参见图4-11)。
在阶段306,计算设备200预先渲染来自如在阶段304所确定的预测的下一导航事件的内容。预先渲染过程可以包括将预先渲染的网页存储在浏览器内,诸如预先渲染的网页218。计算设备200可以预先渲染被预测为最可能的导航事件的单个网页、或计算设备200可以预先渲染多个页面。在一些方面中,计算设备200基于计算设备200的一个或多个系统能力,诸如可用系统资源、可用网络带宽、处理器速度、所安装的存储器等,来确定待预先渲染的页面数。在一些方面中,待预先渲染的页面数可以是在一个或多个用户设置中可配置的。在预先渲染与导航事件相关联的内容之后,方法300结束。
在下面提供了用于预测下一导航事件的多个方法。虽然分别地描述了每一个方法,然而,应当理解的是,可以将方法的方面相组合来改进导航预测操作。
图4是描绘根据本公开的方面的、用于基于客户端导航历史来预测导航事件的示例方法400的流程图。方法400提供了:为用户存储导航历史,并且基于特定用户的导航历史来预测下一导航事件。如上述,方法400可以由诸如计算设备200的计算设备来执行。具体地,方法400可以由在处理器上执行的导航预测模块来执行,诸如导航预测模块208。
在阶段402,计算设备200跟踪用户导航历史。例如,计算设备200可以存储用户所访问的网页的记录,诸如通常在web浏览器中维护的浏览历史。浏览历史可以包括用户所访问的网页的URL、URL被访问的顺序以及用户选择URL的方式(例如URL是否是被点击的超链接、被键入地址栏、来自另一个网页的重定向操作等)。
在阶段404,计算设备200基于用户导航历史来确定一个或多个最可能的导航事件。最可能的导航事件可以通过为用户识别全局访问最多的页面来确定、或导航事件可以与一个或多个当前标准相关联。例如,计算设备200可以检查用户的导航历史来确定当用户正在查看特定新闻网页时,他们几乎总是选择到在该页面上的头条新闻报道的链接、或当用户在早晨首次打开浏览器时,他们可能导航到其银行账户页面来核查其日结存。计算设备200可以利用各种规则、启发和过滤来从用户历史确定最可能的导航事件。计算设备200可以将每一个导航事件与特定置信值相关联,该置信值指示用户将选择每一个导航事件的可能性。然后可以使用这些置信值来对导航事件进行排序以确定最可能的导航事件。在下面进一步描述了用来为给定导航事件确定置信值的方法(参见图5)。
在阶段406,计算设备200报告最可能的导航事件作为预测的导航事件。例如,这些预测的最可能的导航事件然后可以由上述方法(参见图3)利用来促进对与最可能的导航事件相关联的网页的预先渲染。
图5是描绘根据本公开的方面的、用于使用用户导航历史来为URL计算置信值的示例方法500的流程图。方法500可操作来跟踪用户所输入的导航事件,并且为每一个存储的事件维护频率值。可以利用方法500来构建如方法400所使用并且被存储在计算设备200上作为客户端导航历史212的客户端导航历史。
在阶段502,计算设备200跟踪对特定URL的选择。例如,用户可以将新闻站点的URL键入浏览器中或点击页面上的链接。计算设备200可以通过诸如插件或工具栏的浏览器扩展或经由与浏览器协同执行的第三方应用,使用内置入浏览器206中的功能来监视导航事件。
在阶段504,计算设备200递增与在阶段502所选择的URL相关联的频率值。例如,计算设备200可以跟踪与用户所选择的每一个URL相关联的频率值。频率值是用来对对特定网站的访问数或特定导航事件被选择的次数进行排名的数据度量。响应于选择操作,计算设备200可以递增与URL相关联的频率值,例如以1.0、5.0、10.0、.5或任何其他值。与URL相关联的频率值表示用户选择特定URL的频率,因此,是用户在未来选择该URL的可能性程度的指示符。
在阶段506,计算设备200在给定“扫描间隔”之后为URL时间衰减所存储的频率值。以这种方式衰减URL频率值允许当前浏览习惯比先前浏览习惯被更重地赋予权重。作为示例,计算设备200可以每30秒钟、每分钟或每5分钟,期间用户已选择了至少一个URL,来执行该扫描。扫描间隔可以响应于在特定扫描间隔期间对至少一个URL的选择来实施,以确保导航历史值在用户失活时段期间不被衰减低于阈值。该扫描可以使与URL相关联的所存储的频率值衰减特定值,诸如.99、.5或1.0、或衰减百分比值,诸如5%、10%或50%。一旦与URL相关联的值落在例如.3、1.0或5.0的给定阈值之下,就可以从可能的导航目的地列表移除该URL,以避免该列表增长太大。在实施衰减过程之后,URL的频率值可以被留存到计算设备200上的本地存储、或被发送给诸如服务器104所提供的远程存储。
在阶段508,可以使用所存储的频率值来确定用户访问特定网站的相对频率。频率值因此提供了可以从其得到与导引到每一个网站的导航事件相关联的置信值的基础。在一些方面中,可以将频率值自身作为置信值来提供。在一些方面中,通过将针对特定网页的频率值与整个用户导航历史进行比较来确定置信值。例如,具有更高频率值的导航事件可以与特定百分比置信值相关联,第二最高频率值可以与更低百分比相关联等。在一些方面中,可以根据记录的导航事件的总数通过频率值来确定置信值。例如,可以用特定URL的频率值除以所有频率值的总和来确定置信值。
例如,用户可能在买房的过程中,因此,定期因按揭利率而核查金融和银行网站。在这段时间期间,这些金融和银行站点将具有高值,因此更可能被预先渲染,因而,在搜索按揭利率时改善了用户体验。在完成购房过程之后,用户可能对日复一日利率涨跌失去了兴趣,因此预先渲染这些网站不再是最优的,因为用户不太可能访问它们。如此,提供时间衰减值允许这些站点随着时间的推移从列表消失。
图6是描绘根据本公开的方面的、用于基于聚合导航历史来预测导航事件的示例方法600的流程图。方法600可操作来跟踪用户自愿提交的导航事件来确定可能的导航模式。导航模式然后诸如被服务器104分析,并且被供给到用户来促进在浏览过程期间的导航事件预测。例如,当用户浏览到不同页面时,诸如服务器104的服务器可以向诸如计算设备200的计算设备发送更新,以提供关于基于聚合导航历史在给定页面上显示的哪个链接最可能被选择的信息。
在阶段602,服务器104接收包括浏览历史的导航信息集。浏览历史优选地通过使用“选择加入/退出”方法来提供,其中用户明确地启用(或禁用)报告功能来向服务器104提供其浏览历史的元素。另外,个人识别数据可以在其被存储或使用之前被匿名并聚合,使得没有个人信息被存储或可访问。浏览历史可以经由被安装在用户的计算设备上、跟踪用户的浏览历史的浏览器插件或工具栏或通过web浏览器自身来跟踪并提供给服务器104。可以将该浏览历史与其他接收的浏览历史相组合来创建以与参考图4所述的客户端导航历史相似的方式使用来预测可能的导航事件的聚合数据集。可以使所接收的导航历史匿名以移除任何个人识别信息。在一些方面中,所接收的导航历史与以哈希的数据格式提供的单独URL和/或转变性URL对一起被接收,以在传输给服务器104之前移除任何个人识别信息。
在阶段604,服务器104基于在阶段602接收的导航信息来为特定网页上的每一个URL确定置信值。例如,服务器可以利用与在上面参考图5所公开的类似的、用于为页面上的URL生成置信值的方法,除导航事件基于聚合数据而不是特定用户数据来确定外。如上述,服务器104可以基于从导航信息得到的频率值来计算置信值。在一些方面中,置信值通过当向用户呈现选择特定导航事件的选择时他们选择了该特定导航事件的时间的百分比来确定。转变性URL对提供通过用源/目的地URL对的频率值除以源URL的出现的总数来确定置信值。在一些方面中,服务器可以基于从第一页面到第二页面的转变而不是从单纯访问频率度量来确定导航事件。服务器104可以诸如在数据库中为网页上的每一个链接维护网页以及相关联的URL和置信值的索引。例如,新闻站点可以具有指向不同新闻报道的五个URL。服务器104可以接收指示该五个新闻报道中的一个60%的时间被选择以及其他四个每一个10%的时间被选择的聚合数据。如此,服务器104将在数据库中对该页面进行索引,其中60%可能性针对第一报道链接,以及10%可能性针对其他四个报道链接中的每一个。
在一些方面中,服务器104以保密方式维护历史数据,诸如通过在阶段606将每一个URL转换成哈希值。以这种方式,服务器104可以在不公开任何个人用户数据的情况下,向客户端设备提供预测的URL数据。例如,用户可以访问具有特定用户名和密码登录的银行网页。取决于用户,银行网页可以提供到该用户拥有的每一个账户的URL。取决于用户在该银行的账户,访问该页面的每一个用户可以具有所提供的不同链接集。通过将页面上的链接转换成不可逆的哈希值,服务器104可以提供不可与页面上的链接相关联的置信值,除非该用户还拥有对相同链接的访问权(例如,客户端可以将哈希函数应用到他们在当前访问的页面上已经拥有的链接来确定置信值是否适用)。如上所述,在一些方面中,哈希值由计算设备200在向服务器104发送导航历史数据之前计算。以这种方式,服务器104可以接收以哈希格式的导航历史数据,而不需要计算哈希值。
在阶段608,服务器104向诸如计算设备200的客户端设备传输哈希值和与哈希值相关联的置信值。该传输可以响应于来自计算设备200的对特定URL的请求。在一些方面中,服务器104可以响应于来自在客户端设备200上执行的服务的对这样的值的请求而传输哈希值和置信值。例如,当计算设备200请求上述新闻网页时,服务器104提供针对存在于该页面上的五个报道链接的哈希值和置信值。计算设备200还可以通过首先在客户端生成哈希值,然后向服务器104请求特定哈希值的置信值,来为特定链接哈希值请求数据。
图7是描绘根据本公开的方面的、用于使用聚合导航历史来为与URL相关联的导航事件计算置信值的示例方法700的流程图。方法700用来比较来自从多个用户接收的给定URL的导航事件,以确定每一个单独导航事件的可能性程度。可以与特定“源”网页有关地确定置信值,其中每一个URL的不同置信值取决于用户当前正查看的页面。例如,可以如在上面关于方法600的阶段604所述的,使用置信值(参见图6)。
在阶段702,服务器104检查所接收的浏览历史,并且为与特定URL相关联的每一个导航事件计算实例数。如上所述,实例值可以是百分比或原始数。
在阶段704,服务器104可以确定对URL的访问数是否超过最小统计显著性阈值。例如,五次对特定URL的访问不可以提供足以合理地预测离开该URL的可能的导航事件的统计上显著的数据。例如,如果事件的实例数小于1000,则服务器104可以前进到阶段710,并且不为该事件计算概率,因为样本大小不足。
在阶段706,服务器104可以确定是否最小数量的用户已提交了与该URL有关的数据,来提供统计上显著的数据。例如,为了为导航事件计算并存储置信值,方法700可能要求至少50个用户已提供了数据。否则,方法700可以前进到阶段710,并且忽视该事件,直到足够数量的用户已提供了数据。如上述,阈值可以取决于数据集的大小而波动。
在阶段708,服务器104确定最近实例的窗口大小。窗口大小是指将被检查来确定置信值的对URL的最近访问数、或向后搜遍实例的时长。可以基于URL接收的业务量、URL的内容改变的频率来确定窗口大小。例如,不断改变内容的新闻网站可能需要较小的实例窗口,因为来自定期改变URL的链接将渐渐变得陈旧。具有较小业务量的网站典型地将需要更长的窗口大小,以便为统计显著性采集足够的结果。窗口大小可以被设置在50个实例、100个实例、1000个实例、在最近一小时内、在最近一天内、在最近一周内的所有实例等。
在阶段712,服务器104计算每一个特定导航事件,诸如为当前URL访问的下一URL,在阶段710所确定的窗口大小所限定的实例内发生的次数。例如,在对新闻网站的1000个访问中,特定文章可能被选择了600次,导致用于从URL导航到该文章的60%的置信值。虽然本示例主要与基于作为总计导航事件的百分比的访问数来确定导航事件有关,然而,也可以使用另外启发来基于用户所供给的信息来得到可能的事件,所述信息诸如先前导航事件(例如,导引到当前分析的URL的网站)、日时间(例如,用户更可能在早晨在他们到达工作地方时查看新闻站点)、用户的位置(例如,在特定地理区域的用户可能查看本地队的运动比赛分值)或其他人口统计信息。
在阶段714,服务器104可选地将来自URL的导航事件的置信值与阈值进行比较。如果该置信值不满足阈值,则服务器104可以识别可用导航事件的子集,作为可能预测的可能导航事件。以这种方式,服务器104在事件没有发生的统计上显著的可能性时避免预测导航事件,因此,潜在地节省了针对对不太可能被访问的页面的预先渲染操作的带宽。阈值可以被设置在多种不同的值,诸如5%、25%、50%或75%。在一些方面中,阈值可以基于在URL处存在的导航链接数、URL的类型、URL的业务、内容在URL处改变的速度等来动态变更。如果置信值不满足最小阈值,则服务器104可以过滤掉不满足最小阈值的可能事件。
如果一个或多个导航事件满足最小阈值、或方法700不核查最小阈值,则在阶段716,一个或多个最可能的导航事件和每一个事件的可能性连同URL一起被存储。导航事件和置信值可以响应于请求而被供给给用户,诸如在参考图6所述的阶段608发生。方法700在为与URL相关联的导航事件计算并存储置信值之后结束。
图8A是描绘根据本公开的方面的、使用哈希值来匿名地管理链接数据的基于聚合导航历史来预测导航事件的示例方法800的流程图。方法800提供了这样的逻辑:计算设备200可以通过其基于从服务器104接收的数据,诸如参考图7所述的方法700所生成的数据,来预测导航事件。
在阶段802,计算设备200从远程服务器104接收数据集,该数据集包括与网页的聚合浏览历史相关联的信息。该聚合数据可以响应于计算设备200响应于导航到特定网页而发出的请求而接收。该聚合数据可以表示远程服务器从多个用户接收的数据的集合。例如,web浏览器插件可以允许用户“选择加入/退出”可以向远程服务器发送其匿名的导航历史的功能。远程服务器然后可以从多个用户收集导航历史,其被存储为聚合导航历史,诸如上述(参见图7)。例如,导航预测模块208可以在每次用户导航到网页时,向服务器104生成对与该网页相关联的聚合浏览数据的请求。导航预测模块208然后可以使用所接收的数据来预测可能的下一导航事件,以便向预先渲染模块供给下一页面来预先渲染,以改善浏览体验。
由于数据的聚合性质,其可以作为一系列哈希值来提供以保护个人用户信息,如在上面参考图6所述。如此,计算设备200将所接收的哈希值和置信值与存在于当前URL上的链接相关联。为了开始这个过程,在阶段804,计算设备使用与服务器104用来使链接数据匿名相同的哈希函数来为当前页面上的每一个链接计算哈希值。如上所述,在一些方面中,哈希值在计算设备上在向服务器发送导航历史数据之前被计算。在这样的情况下,哈希值将匹配计算设备在导航事件被传输给服务器之前所确定的原始计算的值,而不是在服务器上计算的值。
在阶段806,计算设备200将所计算的哈希值与来自服务器104的所接收的哈希值进行比较。以这种方式,计算设备200可以将从服务器104接收的置信值和哈希值与在当前查看的网页上的可用于用户选择的链接相匹配。置信值指示与哈希值相关联的特定导航事件将被选择的可能性。计算设备200因此可以将当前可查看的链接与所接收的置信值相映射。
在阶段808,计算设备200将具有一个或多个最高置信值的一个或多个链接识别为预测的下一导航事件。方法800在预测下一导航事件之后结束。
图8B是根据本公开的方面的、利用用于基于导航历史来预测用户导航事件的示例方法的web浏览器的示例界面810的图示。该图示描绘了显示网站的web浏览器界面810和导航历史数据集812。网页810包括一个或多个链接814、816、818、820。这些链接814、816、818、820可以是当被用户选择时指引web浏览器显示与所选择的链接相关联的内容集的URL。
导航历史数据812包括与链接814、816、818以及两个其他链接即没有为查看页面的当前用户呈现的链接E和链接F相关联的数据。导航历史数据812可以表示个人用户的导航历史(参见图4-5,9-11)或聚合导航历史(参见图6-11)的分析。导航历史812包括关于链接814、816、818以及与每一个链接相关联的置信值的信息。
导航历史812可以由诸如导航预测模块208的计算设备200的其他方面使用来预测下一导航事件。例如,在本图示中,根据导航历史812,存在30%的机会用户将选择链接A814,60%的机会用户将选择链接B816,以及5%的机会用户将选择链接C818。链接D820没有存储在导航历史812中的任何相关联的数据。可以以多种方式说明关于链接D820的数据的缺乏,诸如选择链接D820的机会低于阈值、或尚未为链接D820提交数据。导航历史812还显示选择未呈现的两个链接即链接E和链接F的非零机会。这些链接可能已在更新时从网页被移除、或它们可能不对诸如当前访问页面的用户的所有用户可见。根据本公开的方面,导航预测模块208将链接B814识别为预测的下一导航事件,因为链接B814的置信值大于链接A812和链接C818的值。
图9图示用于存储导航事件的有向图的示例。该图示出如上所述的客户端导航历史212(参见图2)的一个可能实现。图9中所描绘的图提供对每一个导航事件(例如网站URL)的引用作为该图中的顶点,其中通过访问数来赋予权重的边从源地址到目的地导航事件。当新的导航事件发生时,将顶点添加到该图,对边权重进行更新,并且生成新的边。
有向图可以与特定用户、特定用户组或用户子集、聚合中的所有用户或适于预测未来导航事件的任何其他划分相关联。有向图可以在本地或远程被存储,如在上面关于客户端导航历史和聚合导航历史所述的(参见图2,4-8A)。如上所述,远程维护的导航历史可以以选择加入的方式来维护,要求用户明确允许其导航历史被存储供预测导航事件时使用。以这种方式维护的数据可以被匿名并去个性化,以便保护用户隐私。
尽管所描绘的示例图示出了在导航地址对之间的关系,然而,可以由映射构造更高阶图,其中键是最后“n”个访问的导航事件以及值是目的地地址和计数对的数组。例如,一阶模型可以描绘单个地址对转变(例如,地址A->地址B)来预测第一目的地,而二阶模型可以使用源地址对来作为键,并且将第三地址预测为目的地(例如,当用户在地址A开始,然后导航到地址B,可能的下一事件是什么?)。更高阶模型也是可能的,其中越来越长的导航历史被检查来确定可能的导航事件。在本示例中,图9中所描绘的有向图与两部分导航历史相关联(例如,“n”等于二),其中先前访问的站点是“URL F”,并且当前站点是图中的源顶点(例如,URL A、B、C、D或E)。
由于将过去观察与当前状况更紧密匹配的能力,对更长导航历史的检查(例如,所检查的更高数量的“n”个先前事件)可以更能检验用户行为。如此,导航预测操作可以通过所检查的历史的长度来赋予权重。预测操作还可以要求最小发生数、或它们可以通过发生数来赋予权重,以防止带有单个实例的长导航历史优先于带有巨大数据计数的更短历史。
预测操作还可以使用最近导航历史的子集来执行。例如,先前查看的页面A、B和C集可以指示某一导航模式(例如,在用户按照任何特定顺序访问A、B和C之后,该用户然后倾向于访问站点D)。因此,访问站点A、E、F、C、G、B(按照该顺序)的用户可以使用与先前访问的页面A、B和C的“宽松”集相关联的信息,因为A、B和C中的每一个存在于最近导航历史内,允许额外站点在之间被访问、或导航顺序的修改。在下面描述了用于使用有向图来预测可能的导航事件的方法的示例(参见图11)。
图10是根据本公开的方面的、用于构建有向图的方法1000的示例的图示。当导航事件发生时,它们被添加到有向图以供在导航预测操作时使用。在该图的顶点(例如,网站地址)之间的联系通过浏览器从源顶点(例如,源网站地址)导航到目的地顶点(例如,目的地网站地址)的次数来赋予权重。
在阶段1002,接收导航事件。例如,可以从网站、电子邮件或即时消息客户端选择链接、可以将URL键入地址栏内、或另一个应用可以发起导航操作(例如,对独立搜索应用所提供的搜索结果的选择)。
在阶段1004,作出关于所接收的导航事件是否对应于图内的条目的确定。如在上面参考图9所述,用作为识别图的键的导航事件可以是表示最近导航历史的多个顶点,而不是单个导航事件。
如果导航事件不存在于有向图内,则在阶段1006,添加针对该导航事件的新顶点。否则,该方法前进到阶段1008。
在阶段1008,使定义该图中的在当前或源URL与目的地URL之间的边的权重的计数器值递增。在具有比单个导航事件更大的深度的有向图中,可以使从源“n”个导航事件到目的地导航事件的边递增。以这种方式,在该图的顶点之间的导航事件被存储在有向图的边的权重中。
图11是根据本公开的方面的、用于使用有向图来预测导航事件的方法1100的示例的图示。一旦被创建,有向图就可以用来基于过去导航历史来预测未来导航事件。
在阶段1102,确定导航历史中的过去“n”个导航事件。例如,用户所访问的最近网页可以按照用户访问它们的特定顺序来识别。导航事件历史可以针对特定web浏览器标签页或实例、或跨所有活动浏览器标签页或实例来识别。
在阶段1104,将在阶段1102确定的导航事件历史映射到导航历史数据图。取决于历史的长度和图的“n”阶深度,可以将导航事件历史映射到多个数据图。例如,URL A->URL B->URL C->URL D的导航历史可以映射到多达四个单独有向图,针对URL D的图、针对URL C->URL D的图、针对URL B->URL C->URL D的图以及针对URL A->URL B->URL C->URL D的图。
在阶段1106,为在阶段1104确定的有向图内的潜在目的地地址确定置信值。还可以将与每一个有向图相关联的潜在目的地地址与存在于当前网页上的地址集进行比较。例如,可以不为在用户正查看的网页上不活动并且可选的链接识别置信值。
可以使用在有向图的源顶点(例如,当前查看的页面)与链接到源顶点的每一个目的地顶点之间的边的权重来确定置信值。置信值可以是每一个导航事件的概率(例如,可能导航事件的计数权重除以潜在下一导航事件的总计数,被赋予权重,使得较高n个条目被赋予较多权重。
更深的图易于提供更具体的数据,但是带有更多数据点的图更好,因为它们更具代表性。如此,可能适当的是,给出在不同概率计算之间的权衡,使用公式来为每一个概率确定权重。例如,如果数据集具有深度1至5的5个图,来自每一个图的概率值可以使用图深度和图中的样本数来赋予权重。用于确定每一个概率值的权重的一个可能公式可以是:
weight=graph_depthN*samples_in_graph    (等式1)
Graph_depth是用作为对于图的键的导航事件数,samples_in_graph是存储在该图中的导航事件数,以及N是大于1的数,其用来配置朝图深度而不是样本大小的偏置。该公式可以确定每一个图的权重或重要性,并且来自每一个图的每一个URL的概率可以根据该权重来确定。
在阶段1108,使用在阶段1106确定的置信值来识别一个或多个可能的导航事件。例如,可以将具有大于阈值的置信值的所有事件识别为可能的导航事件(例如,具有至少50%的置信值、至少75%的置信值或至少90%的置信值的所有导航事件),可以将具有最高置信值的某一数量的事件识别为可能的导航事件、或可以将来自每一个检查的有向图的最高导航事件识别为可能的导航事件。
在阶段1110,预先渲染一个或多个可能的导航事件。尽管本示例描述了将可能的导航事件用于预先渲染,然而,还可以采取其他动作来协助用户访问与可能的导航事件相关联的内容。例如,可以在单独的界面窗口中向用户呈现可能的导航事件以供选择、或可以基于每一个导航事件的概率来使能各种预取过程。在一些方面中,响应于导航事件的选择概率来执行逐渐进取过程。例如,可以以大于90%的概率预先渲染给定导航事件,但是以60%的概率预缓存仅仅域名服务(DNS)信息,并且以低于10%的概率根本不采取动作。
上述所说明的方法的阶段并不意在限制。所述方法的功能可以存在于比所示的阶段更少或更多数量的阶段中,即使以所描绘的方法,事件的特定顺序可以不同于在附图中所示的顺序。
上述系统和方法有利地提供了改善的浏览体验。通过预测下一导航事件,浏览器可以执行预先渲染操作来最小化用户等待网页加载的时间量。执行预先渲染操作的多个方法提供了用于确定下一导航事件的灵活和鲁棒系统。
因为在不背离权利要求所限定的本公开的情况下,可以利用上述特征的这些和其他变体和组合,因此,实施例的前面描述应当当作权利要求所限定的本公开的说明而不是限制。还应当理解的是,本公开的示例的提供(以及表述为“诸如”、“例如”“包括”等的子句)不应当被解释为将本公开限制在特定示例;相反,示例意在说明许多可能实施例的仅仅部分。

Claims (21)

1.一种用于预测用户导航事件的计算机实现的方法,所述方法包括:
存储导航数据集,导航数据包括至少一个有向图,其中所述有向图的至少一个顶点包括至少一个导航事件,以及所述有向图的边通过计数值被赋予权重,所述计数值表示导航从源顶点到通过所述边被耦接的目的地顶点已发生的次数;
识别当前导航历史,所述当前导航历史包括在浏览器中访问的一个或多个先前导航事件;
使用处理器将所述当前导航历史映射到在所述导航数据集内的所述至少一个有向图;
使用所述至少一个有向图为给定导航事件确定置信值;以及
基于所述置信值将所述给定导航事件识别为可能的导航事件,使得所述可能的导航事件被配置成由所述浏览器利用来协助导航操作。
2.根据权利要求1所述的方法,其中所述至少一个有向图适于在所述当前导航历史中的至少一个先前导航事件。
3.根据权利要求2所述的方法,其中所述至少一个先前导航事件按照所述至少一个先前导航事件中的每一个被访问的顺序来识别。
4.根据权利要求1所述的方法,进一步包括:
识别所述当前导航历史中的n个先前导航事件;以及
确定所述至少一个有向图中的哪个适于所述n个先前导航事件。
5.根据权利要求1所述的方法,其中所述置信值通过所述至少一个有向图的至少深度被赋予权重。
6.根据权利要求5所述的方法,其中所述有向图的权重通过公式graph_depthN*samples_in_graph来确定,其中graph_depth是所述深度,samples_in_graph是存储在所述图中的导航事件的数目,以及N是用来调整所述graph_depth项在权重计算中的重要性的数值。
7.根据权利要求1所述的方法,进一步包括预先渲染所述可能的导航事件。
8.根据权利要求1所述的方法,其中所述浏览器是web浏览器。
9.一种包括指令的非暂时性计算机可读存储介质,所述指令当由处理器执行时,促使所述处理器执行方法,所述方法包括:
存储导航数据集,导航数据包括至少一个有向图,其中所述有向图的至少一个顶点包括至少一个导航事件,以及所述有向图的边通过计数值被赋予权重,所述计数值表示导航从源顶点到通过所述边被耦接的目的地顶点已发生的次数;
识别当前导航历史,所述当前导航历史包括在浏览器中访问的一个或多个先前导航事件;
将所述当前导航历史映射到在所述导航数据集内的所述至少一个有向图;
使用所述至少一个有向图为给定导航事件确定置信值;以及
基于所述置信值将所述给定导航事件识别为可能的导航事件,使得所述可能的导航事件被配置成由所述浏览器利用来协助导航操作。
10.根据权利要求9所述的非暂时性计算机可读介质,其中所述至少一个有向图适于在所述当前导航历史中的至少一个先前导航事件。
11.根据权利要求10所述的非暂时性计算机可读介质,其中所述至少一个先前导航事件按照所述至少一个先前导航事件中的每一个被访问的顺序来识别。
12.根据权利要求9所述的非暂时性计算机可读介质,进一步包括:
识别所述当前导航历史中的n个先前导航事件;以及
确定所述至少一个有向图中的哪个适于所述n个先前导航事件。
13.根据权利要求9所述的非暂时性计算机可读介质,其中所述置信值通过所述至少一个有向图的深度被赋予权重。
14.根据权利要求9所述的非暂时性计算机可读介质,进一步包括预先渲染所述可能的导航事件。
15.一种用于预测用户导航事件的处理系统,所述处理系统包括:
至少一个处理器;以及
存储器,所述存储器耦接到所述处理器、用于存储导航数据集,导航数据包括至少一个有向图,其中所述有向图的至少一个顶点包括至少一个导航事件,以及所述有向图的边通过计数值被赋予权重,所述计数值表示导航从源顶点到通过所述边被耦接的目的地顶点已发生的次数;
其中所述处理器被配置成:
识别当前导航历史,所述当前导航历史包括在浏览器中访问的一个或多个先前导航事件;
将所述当前导航历史映射到在所述导航数据集内的所述至少一个有向图;
使用所述至少一个有向图为给定导航事件确定置信值;以及
基于所述置信值将所述给定导航事件识别为可能的导航事件,使得所述可能的导航事件被配置成由所述浏览器利用来协助导航操作。
16.根据权利要求15所述的处理系统,其中所述浏览器被配置成预先渲染所述可能的导航事件。
17.根据权利要求15所述的处理系统,其中所述至少一个有向图适于在所述当前导航历史中的至少一个先前导航事件。
18.根据权利要求17所述的处理系统,其中所述至少一个先前导航事件按照所述至少一个先前导航事件中的每一个被访问的顺序来识别。
19.根据权利要求15所述的处理系统,其中所述处理器被进一步配置成:
识别所述当前导航历史中的n个先前导航事件;以及
确定所述至少一个有向图中的哪个适于所述n个先前导航事件。
20.根据权利要求15所述的处理系统,其中所述置信值通过所述至少一个有向图的深度被赋予权重。
21.根据权利要求15所述的处理系统,其中所述浏览器是web浏览器。
CN201280044956.0A 2011-09-15 2012-09-14 预测用户导航事件 Active CN103797477B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/233,300 US8600921B2 (en) 2011-09-15 2011-09-15 Predicting user navigation events in a browser using directed graphs
US13/233,300 2011-09-15
PCT/US2012/055473 WO2013040386A2 (en) 2011-09-15 2012-09-14 Predicting user navigation events

Publications (2)

Publication Number Publication Date
CN103797477A true CN103797477A (zh) 2014-05-14
CN103797477B CN103797477B (zh) 2016-10-12

Family

ID=47881618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280044956.0A Active CN103797477B (zh) 2011-09-15 2012-09-14 预测用户导航事件

Country Status (5)

Country Link
US (3) US8600921B2 (zh)
EP (1) EP2756422B1 (zh)
KR (1) KR101828959B1 (zh)
CN (1) CN103797477B (zh)
WO (1) WO2013040386A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107525519A (zh) * 2017-09-27 2017-12-29 江西爱驰亿维实业有限公司 可切换地图导航图层的导航方法及系统、存储介质、车载终端
CN108363602A (zh) * 2018-01-23 2018-08-03 平安普惠企业管理有限公司 智能ui界面布局方法、装置、终端设备及存储介质
CN108475219A (zh) * 2016-01-06 2018-08-31 谷歌有限责任公司 分层定位事件分派
CN112889043A (zh) * 2018-10-04 2021-06-01 微软技术许可有限责任公司 以用户为中心的浏览器位置

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515889B2 (en) 2010-03-23 2013-08-20 Ebay Inc. Systems and methods for trend aware self-correcting entity relationship extraction
US8732569B2 (en) * 2011-05-04 2014-05-20 Google Inc. Predicting user navigation events
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US8650139B2 (en) * 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
GB2497935A (en) * 2011-12-22 2013-07-03 Ibm Predicting actions input to a user interface
US9335832B2 (en) * 2011-12-23 2016-05-10 Sap Se Executing system actions corresponding to user inputs
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9583032B2 (en) * 2012-06-05 2017-02-28 Microsoft Technology Licensing, Llc Navigating content using a physical object
US9348936B2 (en) * 2012-07-25 2016-05-24 Oracle International Corporation Heuristic caching to personalize applications
US20140136508A1 (en) * 2012-11-09 2014-05-15 Palo Alto Research Center Incorporated Computer-Implemented System And Method For Providing Website Navigation Recommendations
US9665547B1 (en) * 2012-12-27 2017-05-30 Google Inc. Facilitating webpage navigation
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
US9374431B2 (en) 2013-06-20 2016-06-21 Microsoft Technology Licensing, Llc Frequent sites based on browsing patterns
US9811508B2 (en) * 2013-07-16 2017-11-07 Tencent Technology (Shenzhen) Company Limited Method and apparatus for hierarchical data reading
CN103455353B (zh) * 2013-08-30 2017-11-14 广州市动景计算机科技有限公司 网页数据的请求方法及装置
US9747004B2 (en) * 2013-10-29 2017-08-29 Microsoft Technology Licensing, Llc Web content navigation using tab switching
US20150294019A1 (en) * 2014-04-10 2015-10-15 International Business Machines Corporation Web browsing activity flow
US9576070B2 (en) 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
GB2526152A (en) * 2014-05-16 2015-11-18 Vodafone Ip Licensing Ltd Controlling a server
US10681156B1 (en) * 2014-07-17 2020-06-09 Melih Abdulhayoglu System and process for cloud based analytics
US10310699B1 (en) * 2014-12-08 2019-06-04 Amazon Technologies, Inc. Dynamic modification of browser and content presentation
RU2637882C2 (ru) 2015-03-31 2017-12-07 Общество С Ограниченной Ответственностью "Яндекс" Способ управления отображением веб-ресурсов в браузерном окне, способ помещения вкладок в стек в браузерном окне, электронное устройство и сервер
WO2017052666A1 (en) 2015-09-26 2017-03-30 Intel Corporation Dynamic graph extraction based on distributed hub and spoke big data analytics
US20170212651A1 (en) * 2016-01-27 2017-07-27 Amadeus S.A.S. Short cut links in a graphical user interface
US10148776B2 (en) * 2016-02-18 2018-12-04 Adobe Systems Incorporated Clickstream visual analytics based on maximal sequential patterns
US10706433B2 (en) * 2017-01-25 2020-07-07 Mastercard International Incorporated Individual level learning mechanism
RU2693325C2 (ru) * 2017-07-26 2019-07-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для обнаружения действий, потенциально связанных с рассылкой спама, при регистрации учетной записи
US11669345B2 (en) 2018-03-13 2023-06-06 Cloudblue Llc System and method for generating prediction based GUIs to improve GUI response times
US10817351B1 (en) * 2018-07-13 2020-10-27 Blend Labs, Inc. Method and apparatus for hybrid service event
US10733545B2 (en) * 2018-10-04 2020-08-04 Microsoft Technology Licensing, Llc User-centric contextual information for browser
US20220074756A1 (en) * 2018-12-19 2022-03-10 Warner Bros. Entertainment Inc. Real-time route configuring of entertainment content
US11132403B2 (en) * 2019-09-06 2021-09-28 Digital Asset Capital, Inc. Graph-manipulation based domain-specific execution environment
US10831452B1 (en) 2019-09-06 2020-11-10 Digital Asset Capital, Inc. Modification of in-execution smart contract programs
US11676160B2 (en) * 2020-02-11 2023-06-13 The Nielsen Company (Us), Llc Methods and apparatus to estimate cardinality of users represented in arbitrarily distributed bloom filters
US11330252B2 (en) * 2020-02-12 2022-05-10 At&T Intellectual Property I, L.P. Apparatus and method for providing content with multiplane image transcoding
US11741068B2 (en) 2020-06-30 2023-08-29 The Nielsen Company (Us), Llc Methods and apparatus to estimate cardinality of users represented across multiple bloom filter arrays
US11755545B2 (en) 2020-07-31 2023-09-12 The Nielsen Company (Us), Llc Methods and apparatus to estimate audience measurement metrics based on users represented in bloom filter arrays
GB2599731A (en) * 2020-10-12 2022-04-13 Mastercard International Inc Website monitoring and assessment
US11854030B2 (en) * 2021-06-29 2023-12-26 The Nielsen Company (Us), Llc Methods and apparatus to estimate cardinality across multiple datasets represented using bloom filter arrays

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999036867A1 (en) * 1998-01-15 1999-07-22 Microsoft Corporation Methods and apparatus for building resource transition probability models for use in pre-fetching resources, editing resource link topology, building resource link topology templates, and collaborative filtering
US6151585A (en) * 1998-04-24 2000-11-21 Microsoft Corporation Methods and apparatus for determining or inferring influential rumormongers from resource usage data
CN1605079A (zh) * 2001-11-07 2005-04-06 甲骨文公司 对抢先和预测的页面进行缓存以提高站点导航的方法和系统
US7499940B1 (en) * 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US7660815B1 (en) * 2006-06-30 2010-02-09 Amazon Technologies, Inc. Method and system for occurrence frequency-based scaling of navigation path weights among online content sources

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715445A (en) 1994-09-02 1998-02-03 Wolfe; Mark A. Document retrieval system employing a preloading procedure
US7467137B1 (en) 1994-09-02 2008-12-16 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US6604103B1 (en) 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US7103594B1 (en) 1994-09-02 2006-09-05 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US6055569A (en) 1998-01-27 2000-04-25 Go Ahead Software Inc. Accelerating web access by predicting user action
IL125432A (en) 1998-01-30 2010-11-30 Easynet Access Inc Personalized internet interaction
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
US6100871A (en) 1998-04-29 2000-08-08 Multitude, Inc. Dynamic pointer having time-dependent informational content
AU775871B2 (en) 1998-08-26 2004-08-19 Fractal Maps Limited Methods and devices for mapping data files
US6842782B1 (en) 1998-12-08 2005-01-11 Yodlee.Com, Inc. Method and apparatus for tracking functional states of a web-site and reporting results to web developers
US7428701B1 (en) 1998-12-18 2008-09-23 Appligent Inc. Method, system and computer program for redaction of material from documents
US6976090B2 (en) 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US6717600B2 (en) 2000-12-15 2004-04-06 International Business Machines Corporation Proximity selection of selectable item in a graphical user interface
US7584418B2 (en) 2001-05-31 2009-09-01 Oracle International Corporation Methods, systems, and articles of manufacture for prefabricating an information page
US7716332B1 (en) 2001-06-20 2010-05-11 At&T Intellectual Property I, L.P. System and method for server-based predictive caching of back-end system data
US7047502B2 (en) 2001-09-24 2006-05-16 Ask Jeeves, Inc. Methods and apparatus for mouse-over preview of contextually relevant information
US6766422B2 (en) 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US7277924B1 (en) 2002-05-07 2007-10-02 Oracle International Corporation Method and mechanism for a portal website architecture
US6993586B2 (en) * 2002-05-09 2006-01-31 Microsoft Corporation User intention modeling for web navigation
US20050251396A1 (en) 2002-06-10 2005-11-10 Caplin Systems Limited Client-server communication system
WO2004034625A2 (en) 2002-10-07 2004-04-22 Metatomix, Inc. Methods and apparatus for identifying related nodes in a directed graph having named arcs
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US7401072B2 (en) 2003-06-10 2008-07-15 Google Inc. Named URL entry
US7836391B2 (en) 2003-06-10 2010-11-16 Google Inc. Document search engine including highlighting of confident results
US7281202B2 (en) 2003-06-19 2007-10-09 Microsoft Corporation Framework for creating modular web applications
US8346587B2 (en) 2003-06-30 2013-01-01 Microsoft Corporation Models and methods for reducing visual complexity and search effort via ideal information abstraction, hiding, and sequencing
US8103742B1 (en) 2003-11-24 2012-01-24 Amazon Technologies, Inc. Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
US7774721B2 (en) 2003-12-15 2010-08-10 Microsoft Corporation Intelligent backward resource navigation
US7614004B2 (en) 2003-12-15 2009-11-03 Microsoft Corporation Intelligent forward resource navigation
US7483941B2 (en) 2004-01-13 2009-01-27 International Business Machines Corporation System and method for dynamically inserting prefetch tags by the web server
US7155336B2 (en) 2004-03-24 2006-12-26 A9.Com, Inc. System and method for automatically collecting images of objects at geographic locations and displaying same in online directories
US7539674B2 (en) 2004-04-08 2009-05-26 Yahoo! Inc. Systems and methods for adaptive scheduling of references to documents
US7558822B2 (en) 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
US7761814B2 (en) 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
WO2006036781A2 (en) 2004-09-22 2006-04-06 Perfect Market Technologies, Inc. Search engine using user intent
WO2006037054A1 (en) 2004-09-27 2006-04-06 Browster, Inc. Method and apparatus for enhanced browsing
US20060143568A1 (en) 2004-11-10 2006-06-29 Scott Milener Method and apparatus for enhanced browsing
US7480669B2 (en) 2005-02-15 2009-01-20 Infomato Crosslink data structure, crosslink database, and system and method of organizing and retrieving information
US7392258B2 (en) 2005-02-25 2008-06-24 International Business Machines Corporation Method and computer program product for dynamic weighting of an ontological data model
US7536635B2 (en) 2005-04-25 2009-05-19 Microsoft Corporation Enabling users to redact portions of a document
US7840589B1 (en) 2005-05-09 2010-11-23 Surfwax, Inc. Systems and methods for using lexically-related query elements within a dynamic object for semantic search refinement and navigation
US20060282771A1 (en) 2005-06-10 2006-12-14 Tad Vinci Verifying document compliance to a subsidiary standard
JP2008547136A (ja) 2005-06-28 2008-12-25 クラリア コーポレイション メディアストリームを制御し適合させるための方法及びシステム
US7487147B2 (en) 2005-07-13 2009-02-03 Sony Computer Entertainment Inc. Predictive user interface
CA2513018A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
WO2007014398A2 (en) 2005-07-29 2007-02-01 Cataphora, Inc. A method and apparatus to provide a unified redaction system
US20070208704A1 (en) 2006-03-06 2007-09-06 Stephen Ives Packaged mobile search results
US20070226633A1 (en) 2006-03-06 2007-09-27 International Business Machines Corporation Copying and pasting portlets in a portal environment
US20070220010A1 (en) 2006-03-15 2007-09-20 Kent Thomas Ertugrul Targeted content delivery for networks
US20080052219A1 (en) 2006-03-31 2008-02-28 Combinenet, Inc. System for and method of expressive auctions of user events
US8190650B2 (en) 2006-05-02 2012-05-29 Microsoft Corporation Efficiently filtering using a web site
GB0702600D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Loader
US7747749B1 (en) 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US7876335B1 (en) 2006-06-02 2011-01-25 Adobe Systems Incorporated Methods and apparatus for redacting content in a document
US7802305B1 (en) 2006-10-10 2010-09-21 Adobe Systems Inc. Methods and apparatus for automated redaction of content in a document
US8943332B2 (en) 2006-10-31 2015-01-27 Hewlett-Packard Development Company, L.P. Audit-log integrity using redactable signatures
US8149278B2 (en) 2006-11-30 2012-04-03 Mitsubishi Electric Research Laboratories, Inc. System and method for modeling movement of objects using probabilistic graphs obtained from surveillance data
US20080140941A1 (en) 2006-12-07 2008-06-12 Dasgupta Gargi B Method and System for Hoarding Content on Mobile Clients
US20080201332A1 (en) 2007-02-20 2008-08-21 Souders Steven K System and method for preloading content on the basis of user context
US7941609B2 (en) 2007-02-23 2011-05-10 Microsoft Corporation HTTP acceleration by prediction and pre-fetching
US8032472B2 (en) 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices
US8015502B2 (en) 2007-05-22 2011-09-06 Yahoo! Inc. Dynamic layout for a search engine results page on implicit user feedback
KR20080111822A (ko) 2007-06-20 2008-12-24 강정욱 사용자 검색어를 연동하여 가이드 정보, 랭킹 정보를제공하는 검색지원 정보 시스템.
US8005946B2 (en) 2007-09-10 2011-08-23 Microsoft Corporation Managing navigation history for intra-page state transitions
US9195743B2 (en) 2007-10-04 2015-11-24 Yahoo! Inc. System and method for creating and applying predictive user click models to predict a target page associated with a search query
US20090132949A1 (en) 2007-11-16 2009-05-21 Jason Bosarge Methods and systems for transmitting, receiving and annotating internet content
US20090158221A1 (en) 2007-12-17 2009-06-18 Nokia Corporation Device feature manipulation based on presented content
US8131731B2 (en) 2007-12-27 2012-03-06 Microsoft Corporation Relevancy sorting of user's browser history
US8560964B2 (en) 2008-02-20 2013-10-15 International Business Machines Corporation Method and system for predictive browsing
US8255396B2 (en) 2008-02-25 2012-08-28 Atigeo Llc Electronic profile development, storage, use, and systems therefor
US8032591B2 (en) 2008-06-25 2011-10-04 Ebay, Inc. Systems and methods for mapping event changes in network navigation
US8060513B2 (en) 2008-07-01 2011-11-15 Dossierview Inc. Information processing with integrated semantic contexts
US8260846B2 (en) 2008-07-25 2012-09-04 Liveperson, Inc. Method and system for providing targeted content to a surfer
US8112308B1 (en) 2008-08-06 2012-02-07 Google Inc. Targeting using generated bundles of content sources
US8819585B2 (en) 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US8887046B2 (en) 2008-11-14 2014-11-11 Pearson Education, Inc. Whiteboard presentation of interactive and expandable modular content
US7949647B2 (en) 2008-11-26 2011-05-24 Yahoo! Inc. Navigation assistance for search engines
US8260938B2 (en) 2009-01-23 2012-09-04 Google Inc. Predicting user requests to reduce network connection latency
KR101035686B1 (ko) 2009-03-12 2011-05-19 주식회사 로그 웹 페이지별 접속 통계 정보 제공 장치 및 접속 통계 정보 제공 방법
KR20100112512A (ko) 2009-04-09 2010-10-19 (주)아이오다인 검색 장치 및 검색 방법
US20110029670A1 (en) 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness
US20110119361A1 (en) 2009-11-17 2011-05-19 Oto Technologies, Llc System and method for managing redacted electronic documents using callback triggers
US20110173569A1 (en) 2010-01-13 2011-07-14 Rockmelt, Inc. Preview Functionality for Increased Browsing Speed
US9104238B2 (en) 2010-02-12 2015-08-11 Broadcom Corporation Systems and methods for providing enhanced motion detection
US8375208B2 (en) 2010-05-20 2013-02-12 Verizon Patent And Licensing Inc. Method and apparatus for providing content aggregation in support of virtual channels
EP2593884A2 (en) 2010-07-13 2013-05-22 Motionpoint Corporation Dynamic language translation of web site content
US20120084644A1 (en) 2010-09-30 2012-04-05 Julien Robert Content preview
US20120137201A1 (en) 2010-11-30 2012-05-31 Alcatel-Lucent Usa Inc. Enabling predictive web browsing
US8504907B2 (en) 2011-03-07 2013-08-06 Ricoh Co., Ltd. Generating page and document logs for electronic documents
US9383917B2 (en) * 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US8732571B2 (en) 2011-03-31 2014-05-20 Google Inc. Methods and systems for generating and displaying a preview image of a content area
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999036867A1 (en) * 1998-01-15 1999-07-22 Microsoft Corporation Methods and apparatus for building resource transition probability models for use in pre-fetching resources, editing resource link topology, building resource link topology templates, and collaborative filtering
US6151585A (en) * 1998-04-24 2000-11-21 Microsoft Corporation Methods and apparatus for determining or inferring influential rumormongers from resource usage data
CN1605079A (zh) * 2001-11-07 2005-04-06 甲骨文公司 对抢先和预测的页面进行缓存以提高站点导航的方法和系统
US7499940B1 (en) * 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US7660815B1 (en) * 2006-06-30 2010-02-09 Amazon Technologies, Inc. Method and system for occurrence frequency-based scaling of navigation path weights among online content sources

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475219A (zh) * 2016-01-06 2018-08-31 谷歌有限责任公司 分层定位事件分派
CN107525519A (zh) * 2017-09-27 2017-12-29 江西爱驰亿维实业有限公司 可切换地图导航图层的导航方法及系统、存储介质、车载终端
CN108363602A (zh) * 2018-01-23 2018-08-03 平安普惠企业管理有限公司 智能ui界面布局方法、装置、终端设备及存储介质
CN108363602B (zh) * 2018-01-23 2022-04-19 平安普惠企业管理有限公司 智能ui界面布局方法、装置、终端设备及存储介质
CN112889043A (zh) * 2018-10-04 2021-06-01 微软技术许可有限责任公司 以用户为中心的浏览器位置

Also Published As

Publication number Publication date
WO2013040386A2 (en) 2013-03-21
US20130073509A1 (en) 2013-03-21
US8862529B1 (en) 2014-10-14
KR101828959B1 (ko) 2018-02-13
EP2756422A2 (en) 2014-07-23
EP2756422B1 (en) 2020-03-18
US8600921B2 (en) 2013-12-03
WO2013040386A3 (en) 2013-06-27
CN103797477B (zh) 2016-10-12
EP2756422A4 (en) 2015-03-18
KR20140064930A (ko) 2014-05-28
US20160188182A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
CN103797477A (zh) 预测用户导航事件
CN103635896B (zh) 预测用户导航事件的方法和系统
CN103765412A (zh) 预测用户导航事件
Tomlein et al. An audit of misinformation filter bubbles on YouTube: Bubble bursting and recent behavior changes
US9443197B1 (en) Predicting user navigation events
US20160321711A1 (en) Indicating unreliable reviews on a website
US10218599B2 (en) Identifying referral pages based on recorded URL requests
US20160117328A1 (en) Influence score of a social media domain
EP3625748B1 (en) Distributed node cluster for establishing a digital touchpoint across multiple devices on a digital communications network
Hwang et al. Mining association rules from the web access log of an online news website
Zhao et al. Personalized Dynamic Counter Ad-Blocking Using Deep Learning
US20130246559A1 (en) Editorial service supporting contrasting content
Chakraborty et al. Measuring the Effectiveness of Knowledge Driven Web Applications
Lilleberg Logging Web Behaviour for Association Rule Mining

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.