CN104584008A - 用于个性化应用的启发式高速缓存 - Google Patents
用于个性化应用的启发式高速缓存 Download PDFInfo
- Publication number
- CN104584008A CN104584008A CN201380044511.7A CN201380044511A CN104584008A CN 104584008 A CN104584008 A CN 104584008A CN 201380044511 A CN201380044511 A CN 201380044511A CN 104584008 A CN104584008 A CN 104584008A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- subset
- user interface
- application
- 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
Links
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
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
启发式高速缓存技术用于改善计算资源的约束内的应用可用性。与应用有关的用户的行为被记录并且用于智能地确定应用的用户界面的哪些转换要高速缓存。此外,用户可以具有一个或多个特性。此类特性也可以用于识别其他用户以使得与应用有关的其他用户的行为可以用于智能地确定用户界面的哪些转换要高速缓存。
Description
对相关申请的交叉引用
本申请要求2012年7月25日提交的标题为“HEURISTICCACHING TO PERSONALIZE APPLICATIONS,”的美国专利申请No.13/558,292(代理结构卷号No.88325-833858(126400US))的优先权,其全部内容通过引用合并于此以用于所有目的。
背景技术
用户可以通过用户界面与应用交互。用户界面可以包括用于改变应用的状态的各个组件。用户界面可以例如提供用于导航界面和/或处理数据的许多选项。通常,用户与用户界面的交互使得界面改变状态。例如,用户选择按钮或其他元件可以使得用户界面从当前显示屏幕改变到具有用户可用的不同选项的新显示屏幕。
许多应用在到界面的状态的改变可以引起非平凡使用计算资源的意义上是资源密集的。作为一个示例,许多应用利用基于网络的技术。用户可以与执行在与服务器设备通信的客户端设备上的浏览器或其他应用交互。服务器设备可以利用允许用户的客户端侧应用适当地更新的信息对用户请求做出响应。服务器本身可以联系诸如数据库服务器之类的其他服务器,以获得适当地响应于客户端请求所需要的信息。因而,资源密集的应用通常对各种相关的计算机系统加重负担。从客户端的视角,当在可以完成转换到新用户界面状态之前客户端必须等待服务器响应和/或客户端需要处理数据时可以通知延迟。在各种环境中,诸如在多个客户端同时与服务器交互的环境中,可以加剧延迟和其他问题。
发明内容
以下呈现本发明的某些实施例的便于的概要以便提供本发明的基本理解。此概要不是本发明的广泛概述。不预期确认本发明的关键/主要元件或划定本发明的范围。它的唯一目的是以便于形式呈现本发明的某些实施例作为稍后呈现的更详细描述的前奏。
这里公开了用于应用数据的启发式高速缓存的技术。在实施例中,公开了启发式高速缓存的计算机实现的方法。计算机实现的方法可以用来便于在电子环境中的导航。该方法可以包括:识别用户可用的多个潜在用户界面转换;至少部分地基于特定于用户的数据和关于多个其他用户的数据,选择用户可用的识别的潜在用户界面转换的子集;并且使得采取一个或多个动作,所述动作导致加速由用户选择的所选子集的一个或多个转换。
在计算机实现的方法中,识别用户可用的多个潜在用户界面转换可以包括从当前用户界面状态识别多个可选择的用户界面元件,其中每个元件可选择以使得导航到对应用户界面状态。特定于用户的数据可以是用户类型并且关于多个其他用户的数据可以包括至少部分地基于具有用户类型的一个或多个用户的过去导航行为聚集的数据。特定于用户的数据也可以包括至少部分地基于用户的过去导航行为确定的数据。在实施例中,选择识别的潜在用户界面转换的子集包括:至少部分地基于特定于用户的数据和关于多个其他用户的数据整理多个用户界面转换;并且至少部分地基于子集的成员的整理的多个用户界面转换中的位置选择子集。潜在用户界面转换可以是由机构使用的应用的转换并且用户和其他用户可以参考机构的操作使用应用。
除上述之外,公开了用于便于导航的计算机系统。计算机系统可以包括一个或多个处理器和包括在由所述一个或多个处理器执行时使得所述一个或多个处理器便于导航的指令的存储器。计算机系统可以例如:识别从由用户使用的用户界面的特定状态可用的潜在用户界面转换;至少部分地基于特定于用户的数据和关于多个其他用户的数据,选择识别的潜在用户界面转换的子集;并且使得加速由用户选择的所选子集的一个或多个转换。
使得加速选择的子集的所述一个或多个转换可以包括,在由用户选择所述一个或多个转换的特定转换之前,使得用于特定转换的数据被高速缓存。选择识别的潜在用户界面转换的子集可以包括:识别用户的特性;和将多个用户识别为共享识别的特性的用户;和至少部分地基于与用户界面有关的多个用户的导航行为,对识别的潜在用户界面转换评分以产生对应于识别的潜在用户界面转换的分数。选择识别的潜在用户界面转换的子集可以至少部分地基于分数。在一些实施例中,用户界面被配置为访问基于网络的应用。选择识别的潜在用户界面转换的子集可以包括识别已经将用户界面导航到特定状态的用户集合。选择识别的潜在用户界面转换的子集可以至少部分地基于已经将用户界面导航到特定状态的识别的用户集合的行为。选择识别的潜在用户界面转换的子集可以包括至少部分地基于用户的活动测量确定要高速缓存的用户界面转换的数目。识别潜在用户界面转换可以包括访问由与用户界面的用户交互操作的应用的模型。
在实施例中,公开了在其上集体地存储有由计算机系统的一个或多个处理器可执行的指令的一个或多个非瞬时的计算机可读存储介质。指令可以包括用于识别可以从用户界面的特定状态获得的潜在用户界面转换的指令;至少部分地基于特定于用户界面的用户的数据和关于多个其他用户的数据选择识别的潜在用户界面转换的子集的指令;和用于使得加速由用户选择的所选子集的一个或多个转换的指令。
使得加速所选子集的一个或多个转换包括在由用户选择之前高速缓存用于所述一个或多个转换的数据。选择识别的潜在用户界面转换的子集可以包括识别用户的特性和将多个其他用户识别为与用户共享特性的用户。在一些实施例中,特性是用户在机构中的角色。所述一个或多个计算机可读介质可以包括用于至少部分地基于与用户界面相关的用户的活动测量确定指定子集的大小的值的指令,所述子集根据所述值。所述值可以是要高速缓存的转换的数目。活动测量可以至少部分地基于通过用户与用户界面的交互引起的转换的频率。
为了更完全理解本发明的本质和优点,应当参考保证的详细描述和附图。
附图说明
图1示出可以用来实施本发明的各种实施例的环境的说明性示例;
图2示出根据至少一个实施例的应用的模型表示的说明性示例。
图3示出根据至少一个实施例的在说明性状态中的应用的用户界面的说明性示例。
图4示出用于根据至少一个实施例的启发式高速缓存的处理的说明性示例。
图5示出用于根据至少一个实施例的利用高速缓存的处理的说明性示例。
图6示出用于根据至少一个实施例的启发式高速缓存的处理的说明性示例。
图7示出用于根据至少一个实施例的用户活动表的说明性示例。
图8示出用于根据至少一个实施例确定对于用户要高速缓存的量的处理的说明性示例。
图9示出用于根据至少一个实施例的利用其他用户活动执行启发式高速缓存的处理的说明性示例。
图10示出根据至少一个实施例的高速缓存启发式数据的图形表示的说明性示例。
图11示出可以用来实施本发明的各个方面的计算机系统的图形表示。
特定实施方式
在下面说明中,为了说明目的,阐述许多的细节以便提供对本发明的更彻底的理解。但是,显然本发明可以在没有这些细节的情况下实践。
以下描述描述在网络应用领域中的本发明的实施例。但是,本发明的范围不局限于网络应用,而是可以被应用于其他领域或应用。例如,其中高速缓存数据提供优点的任何领域或应用可以利用本发明。其中可以使用本发明的实施例的领域的示例一般包括利用不立即访问的数据的用户界面,和因此高速缓存可以改善界面的使用性。
一般,本发明的实施例提供利用用于高速缓存数据的启发式技术以改善诸如来自于网络应用的用户界面之类的用户界面的使用性。一般地,这里描述的技术利用关于用户界面的用户和/或其他用户的数据以做出关于要高速缓存哪一个数据的智能判定。此类技术可以增加必需数据容易可用的可能性,不管与用户界面的操作有关地使用的计算资源的约束。
图1示出可以用来实施本公开的各个实施例的环境100的说明性示例。在环境100中,一个或多个客户端102用于使得对应用户能够使用应用。客户端可以被通过诸如内部网、互联网、和/或通信网络组合之类的适当通信网络访问应用服务器104的计算机系统实施。客户端102可以是诸如个人计算机、笔记本计算机、平板计算设备、移动计算设备、和被配置为通过网络通信并显示应用内容的一般任何设备之类的任何适当类型的计算机系统。客户端可以是硬件设备或可以是虚拟客户端。应用服务器104可以是被配置为执行一个或多个应用并接收和响应与所述一个或多个应用的操作有关地提交的电子请求的服务器计算机系统。应用可以例如是基于网络的应用。
在实施例中,客户端102与应用服务器104经由高速缓存代理106进行交互。高速缓存代理可以是被配置为根据这里描述的各个实施例高速缓存应用数据的计算机系统。如下面将更详细描述的,高速缓存代理106可以预加载应用数据以使得当这样的数据被客户端102需要时,高速缓存代理具有这样的立即可访问的数据而不需要从诸如应用服务器104之类的另一源获得数据。如下面讨论的,来自于客户端102的请求可以被路由到高速缓存代理106以使得高速缓存代理106确定它是否具有响应于请求的数据并当可用时提供这样的数据。
应用数据可以被存储在应用服务器104可访问的一个或多个数据存储器110中。为高速缓存数据,在这样的数据被一个或多个客户端102需要之前,高速缓存代理106可以将对于应用数据的请求提交到应用服务器104。应用服务器可以通过访问来自于数据存储器110的应用数据并且向可以在高速缓存112中存储访问的数据的高速缓存代理106提供数据来对这样的请求做出响应。当客户端102做出对于被存储在高速缓存112中的应用数据的请求时,高速缓存代理106可以从高速缓存112获得应用数据并且将它提供到客户端102。注意,如果这样的数据不在高速缓存112中,则高速缓存代理可以向应用服务器104提交请求,其可以获得来自于数据存储器110的数据并且向高速缓存代理106提供数据以提供给做出请求的客户端102。
为了智能地确定哪些数据要存储在高速缓存112中,高速缓存代理可以利用诸如下面更详细地描述的关于应用的一个或多个用户的数据。这样的用户数据可以被存储在数据存储器108中。如将更详细地描述的,高速缓存代理可以为客户端102的特定使用存储与应用有关的用户的过去活动的信息并且使用该信息以便确定哪些应用数据很可能要被客户端访问。数据存储器108中的数据也可以包括关于其他用户的数据以便增强高速缓存决定的准确度。例如,客户端102的用户可以具有某些特性。高速缓存代理可以访问关于具有类似特性的其他用户的过去行为的数据以便确定哪些数据要存储在高速缓存112中。作为说明性的示例,客户端102的用户可以具有机构内的特定角色。高速缓存代理可以利用数据存储器108中的关于具有相同角色的其他用户的过去行为的数据。
应当注意在图1中示出的环境100分为单独组件以用于例示并且许多变化被认为在本公开的范围之内。例如,图1中示出的环境显示与高速缓存代理106和应用服务器104分离的客户端。某些实施例可以采用不同的配置。例如,图1中的环境的各个组件可以被组合。例如,描述为由高速缓存代理106执行的活动可以由一个或多个客户端102执行。即,在一些实施例中客户端102可以被配置为做出他们自己的高速缓存决定并且可以相应地高速缓存它们自己的应用数据。客户端102可以例如在方便时高速缓存应用数据,诸如当客户端的计算资源是空闲的或至少不被完全使用时。在这样的实施例中,当客户端做出它们自己的高速缓存决定时,用于做出此类决定的用户数据可以被本地地存储在客户端102或远程存储在诸如通过网络服务或另一个适当的方式可访问的中心储存库中。
作为在本公开范围内考虑的变化的另一个示例,由高速缓存代理106和应用服务器104执行的动作可以由单个设备执行。即,应用服务器104可以做出对于应用服务器104的一个或多个客户端的高速缓存决定。许多其他变化也被考虑在本公开的范围内。例如,图1示出了应用服务器104,执行用于客户端102的应用。但是,客户端本身可以执行应用。高速缓存决定可以由客户端102或由诸如在图1中示出的单独的计算设备组成。除这里专门地描述的变化之外,在本公开范围内的其他变化可以包括与在图1的环境100中示出的相比较包括更多组件的环境。
在实施例中,应用具有多个可能的状态。例如,基于网络的应用可以包括许多页面。用户可以通过从页面导航到页面与应用交互。每个页面可以对应于应用的一个或多个状态。例如,在首先导航到应用的页面中时,页面可以具有特定形式。形式可以利用应用被个性化到用户,虽然它可以具有为大部分用户所共用的一般特性,诸如共用格式。应用的页面的状态可以根据用户的各个活动改变。例如,用户可以使用应用做出关于应用可访问的数据的各种查询。例如,人力资源应用的页面可以允许用户在应用的页面上观看机构内的雇员的各种职业记录。前述的雇员可以导航到应用的不同页面以执行其他活动以便生成关于机构的人力资源数据等的报告。
图2相应示出根据实施例的应用的状态的表示。具体地,图2将应用的状态表示为在数学意义中的图,其中所述图包括由边连接的节点。图的每个节点可以对应于应用的可能状态或状态的集合。两个节点之间的边指示应用的用户可以使得应用在对应状态之间转换。在实施例中,图是有向图,由此图的节点之间的边具有由箭头指示的方向。因此,图的两个节点之间的箭头指示从由箭头尾部的节点表示的状态到由箭头头部表示的状态之间的状态转换是可能的。箭头可以具有指示转换是可逆的两头。可逆转换的示例是在基于网络的应用中的用户选择链接并且能够导航到链接的登陆页面的转换。用户可以例如通过敲击网络浏览器的后退按钮,从登陆页面导航回到具有被选择的链接的页面。
如在图2示出的图包括可以是根据本公开的各个实施例被处理的应用的状态的根节点202。状态可以是例如,如呈现给用户的应用的当前状态。状态也可以是用户或许通过中间状态能够导航到的未来状态。在此特定示例中,根节点对应于可以做出从其到由节点204表示的其他状态的转换的状态。每个节点204也可以对应于可以做出从其到由节点206表示的其他状态的转换的状态。在图2中,图200由树表示。但是,许多变化被认为是在本公开范围内。例如,图可以包括圆圈。用户可以例如从由节点202表示的状态导航到由节点204表示的状态并且退回。如另一个示例,用户可以从由节点202表示的状态导航到由节点204表示的状态到由节点206表示的另一个状态,并且从由节点206表示的状态到由节点202表示的状态。如还有另一个示例,用户可以从由节点202表示的状态导航到由节点204表示的状态到由204标记的节点表示的另一个状态。
注意,应用的状态可以不是静态的。即,当在特定状态中时,应用界面可以具有多个呈现。例如,用户界面可以具有允许用户选择性地显示和/或隐藏数据的控制。滚动条是如下拉式菜单的此类控制和允许用户控制特定状态中的界面的外观的其他控制的示例。此外,用户界面的状态可以包括动态内容,诸如随时间变化的音频或视频和根据与用户界面的某些用户交互改变的内容。
图3示出如上参考图1所述的呈现给诸如客户端102的用户之类的用户的应用的说明性示例。如在图3中示出的应用是基于网络的应用,并且在此特定实例中,利用在客户端的计算设备上执行的浏览器应用访问基于网络的应用。应用本身可以在与客户端的计算设备分离的服务器,诸如上面参考图1描述的应用服务器上执行。图3所示的应用处于特定状态并且具有外观,其可以是计算设备的屏幕上的外观。在此特定示例中,数据的呈现出现在屏幕中间。
应用包括许多链接和允许用户操作应用的其他用户界面控制。例如,在此示例中的应用包括许多标签302。在此特定示例中的标签是可选择以使得不同的屏幕出现的用户界面元件,其中每个屏幕具有对应的主题。例如,在此示例中,标签包括主菜单标签、帐户标签、联系人标签等等。在此示例中,选择主菜单标签302,使得应用的表示如它在图3中那样出现。用户可以选择帐户标签302以访问关于用户帐户的各种信息。选择帐户标签302,例如,可以使得应用改变到其中各个用户帐户可以被访问的状态。例如,帐户可以被列出并且可选择以导航到特定于选择的帐户的信息。也可以由应用提供搜索和其他能力。以这样的方式,每个标签302对应于应用的状态。
在通过网络检索数据的实施例中,与应用的用户界面的用户交互可以使得电子通信发生。例如,当由用户(诸如通过操作输入设备)选择用户界面控制时,客户端的设备可以向适当的计算机系统(诸如高速缓存代理或应用服务器)发送电子消息(诸如超文本传输协议(HTTP)请求)以获得对应信息。当某些或所有响应被接收时,客户端的设备可以相应地更新显示器。
也在图3的样本中提供其他可选择的用户界面元件。例如,提供各种超链接304。超链接可以使得应用导航到相应于对应信息的页面。例如,“我的成就”超链接304可以使得应用导航到显示各种统计信息和/或特定于应用的用户的表示的页面。此外,应用可以包括特定于应用的当前状态的附加标签306,然而上面描述的标签302可以是全局到应用的。因此,通过选择主菜单标签302,特定于主菜单标签302的各种标签306可以出现。
在用户界面上的可选择的元件可以包括除了标签以外的元件,诸如启动应用以执行各种功能的各种链接。例如,图3所示的应用包括在“创建”类别308下的许多链接。例如,选择在“创建”类别308下的帐户链接可以使得用户界面改变以允许用户输入用于新用户帐户的信息。
图4示出根据实施例用于执行启发式高速缓存的处理400的说明性示例。某些或所有处理400(或这里描述的任何其他处理,或变化和/或它的组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行并且可以被实施为由硬件或它的组合在一个或多个处理器上集合地执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用)。代码可以被存储在计算机可读存储介质上,例如,以包括由一个或多个处理器可执行的多个指令的计算机程序的形式。计算机可读存储介质可以是非瞬时的。
在实施例中,处理400包括识别402用户界面状态。用户界面状态可以例如是应用的当前状态或应用可以被直接或间接地转换到的状态。当状态被识别402时,从识别的用户界面状态的潜在用户界面转换然后可以被识别404。例如,参考图2,如果识别的状态对应于节点202,则对应于节点204的一些或所有状态可以被识别。可以以任何适当的方式执行识别潜在用户界面转换。例如,对于某些应用,应用的图或其他模型可以是预先知道的。应用可以具有由图表示的预定数目的状态并且识别潜在用户界面转换可以通过根据图识别转换来执行。例如,可以通过识别图的哪些节点被直接连接到对应于识别的状态的节点来识别转换。如同另一个示例,识别潜在用户界面转换可以被动态地执行,诸如通过划识别的用户界面状态。在基于网络的应用中,可以通过分析应用的页面并且提取超链接和可选择以引起状态转换的其他用户界面元件来执行划。可以智能地执行划,诸如通过忽略某些转换。例如,应用可以具有到诸如搜索引擎、消息内容提供者等之类的外部内容提供者的超链接,并且此类超链接可以被忽略。
在实施例中,处理400包括访问406用户特定的导航历史数据。用户特定的导航历史数据可以是关于用户过去如何与应用交互的数据。历史应用数据可以指示例如从识别的用户界面状态的用户界面状态转换的频率。举例来说,如果机构内的用户的角色使得用户频繁地转换到特定状态并且很少转换到不同的状态,则用户特定的导航历史数据可以包括指示此类转换的相对频率的统计信息。
在实施例中,处理400也包括访问408聚集的用户导航历史数据。聚集的用户导航历史数据可以是指示对于多个用户在一段时间内测量的用户界面从识别的状态转换的频率的数据。多个用户可以根据采用的特定实施例以许多不同的方式确定。例如,聚集的用户导航历史数据可以聚集机构内的用于应用的所有用户的数据或也许是应用的更大的用户集合。如另一个示例,聚集的用户导航历史数据可以包括用于应用的用户的选择子集的数据,诸如具有与应用的用户相同的特性的用户。例如,如果用户具有机构内的特定角色,则聚集的用户导航历史数据可以包括根据具有相同角色的用户的过去导航行为聚集的数据。诸如角色之类的特性可以被以将特性与用户关联的方式存储在数据存储器中,由此使得确定用户具有什么特性并且哪些用户共享那个/那些特性。许多变化被认为是在本公开的范围内。例如,聚集的用户导航历史数据可以包括从由特定特性限定的应用的用户的各个子集聚集的数据,其中用于特定子集的数据可以被不同地加权。例如,用于具有与应用的用户相同角色的用户的数据,与用于相同部门内但是具有不同角色的用户的数据相比较,可以被更重地评级。
此外,从其聚集数据的用户域也可以根据各个实施例改变。例如,在实施例中,用户特定的导航历史数据对于机构内的所有用户被聚集。但是,也可以根据本公开使用不同的粒度级别。例如,如果应用用于多个机构,则中心服务可以跨多个机构的用户聚集此类数据。类似地,如果应用被机构内的许多部门使用,则聚集的用户导航历史数据可以仅仅对于部门内的用户或机构内的用户的其他子集聚集。
随着用户特定的导航历史数据和聚集的用户导航历史数据已被访问,在实施例中,处理400包括使用410用户特定的导航历史数据和聚集的用户导航历史数据以选择潜在用户界面转换的子集。在实施例中,子集被选择为包括基于用户可能做什么的计算很可能需要的一个或多个转换的用户界面转换的子集。一旦潜在用户界面转换的子集被识别410后,用于选择的用户界面转换的数据可以被高速缓存412。例如,参考图1,高速缓存代理106可以从应用服务器104请求用于选择的用户界面转换的数据,应用服务器104可以访问此类数据存储器110并且提供到高速缓存代理106以存储在高速缓存112中。除高速缓存代理之外或作为代替,诸如客户端或应用服务器之类的其他组件可以高速缓存。
在一些实施例中,可以执行各个级别的高速缓存。例如,可以期望高速缓存不直接从当前用户界面状态可用的用户界面转换。例如,参考图2,如果当前用户界面状态对应于节点202,则可以期望高速缓存从由节点204表示的一些或所有状态到由节点206表示的一些状态的转换。此类高速缓存可以例如,使得用户应当快速从由节点202表示的状态转换到由节点206表示的状态需要的数据可用。用户可以例如导航到由节点204表示的状态并且快速导航到由节点206表示的状态。
相应地,在实施例中,处理400包括确定414是否要处理附加用户界面状态。如果确定414要处理附加用户界面状态,则附加用户界面状态被识别402,诸如上面描述的并且处理400可以根据上面描述的进行。但是,如果确定414不处理附加状态,则处理400的附加执行可以取决于用户如何与应用交互。确定是否处理另一个状态可以至少部分地取决于实施本发明的实施例的计算环境的各个特性。例如,可以至少部分地基于当前利用应用和/或高速缓存代理的用户的数目(诸如具有到高速缓存代理和/或到应用服务器的连接的用户的数目)、高速缓存中存储空间的可用量、用户(或其他用户)使得应用改变状态的频率、和其它信息做出是否处理另一个状态的确定。
如在图4中指示的,在实施例中,不管是否确定414要处理附加用户界面状态,用户界面转换被监视416并且如果用户界面转换被检测到418,则对应的用户界面状态可以被识别402并且处理400可以如上所述进行。因此,用户界面转换的检测可以中断处理400的执行以使得处理400相应地重新启动,以使得适用的用户界面转换被高速缓存。一般,处理400可以包括用户界面转换的连续监视,其中处理400相应地被更新以便处理当前状态数据。
图5示出用于根据实施例提供应用数据的处理的说明性示例。处理500可以例如由诸如上面参考图1描述的高速缓存代理之类的、高速缓存应用数据的计算设备执行。在实施例中,处理500包括接收502改变用户界面状态的请求。请求可以被以可以取决于处理500正被执行的特定的实施例的任何适当的方式接收。例如,在上面参考图1描述的环境100中,高速缓存代理可以依据已经使用浏览器或其他应用选择应用的超链接的客户端的用户从客户端接收HTTP请求,应用被配置以使得超链接的选择引起用户界面状态的改变。
在接收到改变用户界面状态的请求时,检查504用于转换用户界面所必要的数据的用户界面高速缓存。例如,上面参考图1描述的高速缓存代理可以检查高速缓存以确定数据是否已经被高速缓存。可以做出高速缓存数据是否可用的确定506。如果确定506高速缓存数据可用,则来自于高速缓存的数据可以被获得508。如果确定来自于高速缓存的数据不可用,则可以从另一个源获得510数据。例如,参考图1,如果高速缓存代理确定高速缓存的数据不可用,则高速缓存代理可以向应用服务器提交请求以使得应用利用适当的数据作出响应。高速缓存代理可以仅仅转发从客户端到应用服务器的请求或它可以根据特定的实施例视情况重新配置请求。一旦数据被或者从高速缓存或者从其他源获得,获得的数据可以被提供512以使得用户界面根据接收502的请求进行转换。在网络应用的示例中,对应于用户界面的新状态的电子文件可以被提供到客户端。类似地,用于改变显示在客户端上的一部分用户界面页的数据可以被提供到客户端。
如同这里描述的所有处理一样,处理500或者处理500的变化被认为是在本公开的范围内。例如,在一些实施例中,用户界面状态转换可以需要来自于高速缓存的数据和不被高速缓存的数据。例如,要被显示在用户界面上的某些数据可以从高速缓存中获得,然而可能必要从不同的源获得其他数据。在这样的实例中,处理500可以被修改以使得数据被相应地获得并且提供到客户端以用于向用户显示。高速缓存代理或者其他设备可以从高速缓存和其他源收集数据并且立即向客户端提供所有数据或者它可以动态地提供高速缓存数据并且然后一旦可用,从其他源收集数据。
如上所述,本公开的各个实施例涉及至少部分地基于诸如使用应用和/或其他用户的用户的行为之类的过去用户行为高速缓存用于应用的数据。相应地,图6示出用于可以进行此类高速缓存的一种方式的处理600的说明性示例。在实施例中,处理600包括识别602当前用户U。当前用户可以是例如,正对其执行高速缓存的应用的用户。此外,处理600可以包括识别604用于用户U的当前状态S。对于用户U,用户类型T也可以被识别606。在实施例中,处理600包括识别608从当前状态S允许的状态。
如下面描述的,参与处理600的执行的设备可以处理允许的状态以确定要高速缓存哪些状态。例如,在实施例中,处理600包括识别610第一允许的状态。在识别第一允许的状态时,初步用户转换分数可以被计算612。在实施例中,初步用户转换分数是至少部分地基于当前状态、允许的状态和在图中识别为BW的加权因子的分数。初步用户转换分数可以指示例如该转换相对于到其他允许的状态的转换的历史测量频率。
在实施例中,处理600可以包括计算转换分数614。在实施例中的转换分数是至少部分地基于初步用户转换分数和用于识别的用户类型T的用户的转换分数的分数。在图在指示为TW的加权因子也可以被使用。可以确定616是否存在附加允许的状态,并且如果存在,则识别610下一个允许的状态并且如上所述对于下一个允许的状态计算转换分数。如上所述,转换分数可以基于与用户U共享的许多类型的许多用户的行为。权重可以用来与其他类型的用户(例如仅仅在相同的机构、部门等中的用户)相比,偏爱某些类型的用户(例如具有相同角色的用户)。
一旦初步用户转换分数和用于允许的状态的转换分数已被计算,就可以确定616没有要处理的附加允许的状态。可以通过对应的转换分数对转换排序617。具有最高转换分数的转换可以被高速缓存620。选择的转换的数目可以根据各个实施例改变。例如,在一些情况下,高达预定数目的允许的转换的数目可以被高速缓存。作为另一个示例,高速缓存的转换的数目可以是可以根据其它信息的动态数目,其它信息诸如用户利用应用的速率,其可以是用户引起用户界面改变状态的速率。可以用来确定要高速缓存多少转换的其它信息可以包括高速缓存的大小、在高速缓存中剩余的有效存储空间、其他用户的活动、和其他相关信息。诸如与应用有关的用户的历史活动级别、与应用有关的其他用户的历史活动级别之类的其它信息、和关于与应用有关的过去测量的活动的其它信息可以被使用。
用来确定要高速缓存的用户界面转换的数目的一种方法可以包含用户活动表的使用。图7相应地示出根据各个实施例的用户活动表700的说明性示例。在实施例中,用户活动表700组织表示应用的一个或多个用户的用户活动的数据。例如,如在图7示出的,用户活动表700包括用户列,它的条目对应于特定用户的标识符。用户标识符可以是用户的唯一标识符,诸如用户名或者识别用户的其它信息。时间列具有对应于由其标识符被存储在表700中的用户做出的各个转换的转换时间的条目。转换的时间可以是请求转换的时间、做出转换的时间和/或其他有关的时间。“从”列和“到”列指示在对应的时间做出的转换从和到的状态。关于这个特定示例,用户活动表对应于基于网络的应用,因而,在“从”和“到”列中的条目对应于对应用户界面状态的统一资源定位符(URL)。
图8示出可以用来至少部分地基于用户的转换频率确定要高速缓存的数据量的处理800的说明性示例。在实施例中,访问802用于会话的用户活动表。用于会话的用户活动表可以类似于上面参考图7描述的表700,但是在当前会话期间特定于一个用户。在一些实施例中,用于会话的用户活动表可以是上面图7描述的表700的子表并且可以通过从表700中提取子表被访问。一般,用于会话的用户活动表(或者用户活动的其他编码)可以被以任何适当的方式访问。在实施例中,处理800包括计算804用于会话的转换的数目,其可以是在转换期间由用户做出的状态转换的数目。转换频率可以被至少部分地基于转换的数目和会话长度计算806以便给出表示用户正在多积极地使用应用的数字。要高速缓存的量可以被至少部分地基于计算的转换频率确定808。一般地,参考处理800使用的系统可以被配置以使得转换频率越高,越多的数据被高速缓存。以这样的方式,在必要时数据更可能被活动用户高速缓存,由此对于非活动用户,较少数据被相对高速缓存,因为这样的用户较少会在短时间段内需要某些数据。也可以基于相对于当前使用应用和/或预期使用应用的其他用户的其他转换频率的转移频率确定高速缓存量。
在许多实例中,基于在应用的使用期间将需要这样的转换的可能性,某些用户界面转换比其他更期望高速缓存。相应地,图9示出可以用于基于其他用户对应用做了什么来增大用于某些用户界面转换的转换分数的处理900的说明性示例。在实施例中,处理900包括识别902用户U的当前状态S。在实施例中,用户到达当前状态S所采取的路径P被识别904,其中路径可以是图中的节点的集合和连接那些节点的边。在实施例中,处理900包括识别906已经使用应用并且因而已经到达当前状态S的其他用户。数据存储器可以在关联用户与状态的数据库中存储这样的信息。
根据实施例选择908最大限度重叠路径P的路径。选择最大限度重叠路径P的路径可以通过选择其他用户的路径执行,所述路径相对于包括状态S的其他路径,具有较高数目的公共节点,具有包括状态S的路径P。选择最大限度地重叠路径P的路径也可以包括识别相对于其他路径包括为路径P所共用的导致状态S的最连续的节点的那些路径。路径的数目可以被预先确定,或者可以被以其他方式确定,诸如通过识别具有多于与P公共的预定数目的节点的路径和/或用于包含的满足一个或多个条件的路径。一旦路径被选择,从用于选择的路径的状态S的接下来的转换被识别910。用于识别的接下来的转换的转换分数被相应地增大。例如,当计算转换分数时,对应于识别910的路径的数字值可以乘以大于一的数以相对于其他分数增大它们的数字值。类似地,对应于除了识别910的路径的路径的数字值可以乘以小于一的数字值以减小它们对转换分数的计算的相对影响。一般地,可以使用使得识别的路径对评分有较大影响的任何适当的方式。
如上所述,高速缓存的大小可以被动态地并且智能地确定。本公开的各个实施例包含关于高速缓存的管理的决定。在实施例中,采用这里描述的各种技术的系统可以使用设置T,其提供关于高速缓存可以总共包含多少项的软限制。系统也可以利用调谐参数LAD和LBD,其中LAD表示超前(look-ahead)深度并且LBD表示回顾深度。LAD和LBD值可以对应于对用户要执行多少级高速缓存。一般地,为了效率,LAD和LBD参数可以以一种方式被分配以使得与具有较不积极会话(即较低转换速率)的用户相比,具有更积极会话(即具有较高转换速率)的用户被给出较大的高速缓存百分比。
在实施例中,维护诸如在图7示出的用户活动表。可以通过用户和时间整理表,虽然表的(或者其他数据结构的)内容的其他组织可以被使用。利用此表,在实施例中计算每单位时间(例如每分钟)的转换。
在实施例中,确定要分配用于每个活动用户的项的数目以使得每个用户分配的项的平均数M是T/U,其中U是活动用户的数目。具体地,用于每个用户的项的数目可以被分配以最小化(或否则减少)为不活动用户的分配,并且增大为活动用户的分配同时考虑T作为软约束。为此,用于每个活动用户的值A可以被计算,其中A可以是自从高速缓存被最后一次平衡以来的转换速率(每单位时间的转换)。范围(这里称为B范围)可以被创建,其中B=N+LAD+LBD,其中N是数字值。在实施例中,N是3,但是可以使用其他值。每个范围表示活动级别的跨度。
符合每个范围的用户数目然后可以被计数并且由B区间表示的活动级别的直方图可以被创建。利用此直方图,在实施例中,概率密度函数(PDF)和/或累积分布函数(CDF)被确定。PDF和/或CDF可以用来引导高速缓存分配。例如,可以假设在PDF曲线下的面积近似等于样本S的数目以形成启发。这可以依赖于S基本上小于T的假设。
在实施例中,确定宽度B和高度H的矩形以使得B*H=2S。H则等于2S/B并且从B[0]到B[-1]的对角具有斜度H/B,并且得到的三角形每个都具有S的面积。“较低”三角形穿过B个区间,创建B个分量区域。每个分量区域表示的S的百分比然后可以被计算。这些百分比然后可以用于跨分量分布T个项。在此说明性示例中,结果是随着区间数目(即活动级别)增大,在该区间中的用户被分配T的较大的百分比。在图10中提供此示例的例示。如图10所示,计算高速缓存分布以使得标记“高速缓存分布”的曲线从点(0,1)开始并且增大(在此示例中线性地)以使得在横轴上的值8处,高速缓存分布曲线下的面积接近标记“范围中的用户”的曲线下的面积。
图11是可以用来实践本发明的实施例的计算机系统1100的简化框图。计算机系统1100可以充当客户端设备、高速缓存代理、应用服务器、或者其他设备。如图11所示,计算机系统1100包括经由总线子系统1104与许多外部子系统通信的处理器1102。这些外部子系统可以包括存储子系统1106(包括存储器子系统1108和文件存储子系统1110)、用户接口输入设备1112、用户接口输出设备1114、和网络接口子系统1116。
总线子系统1104提供用于让计算机系统1100的各个组件和子系统根据意图彼此进行通信的机制。虽然总线子系统1104被作为单个总线示意性示出,但是总线子系统的可替换实施例可以利用多个总线。
网络接口子系统1116提供到其他计算机系统、网络、和门户的接口。网络接口子系统1116充当用于从其他系统接收数据并且将数据从计算机系统1100发送到其他系统的界面。
用户接口输入设备1112可以包括键盘、诸如鼠标、跟踪球、触摸板、或者图形板之类的指示设备、扫描仪、条形码扫描器、并入到显示器的触摸屏、诸如语音识别系统、麦克风之类的声音输入设备、和其他类型的输入设备。一般,术语“输入设备”的使用意图是包括所有可能类型的设备和用于将信息输入到计算机系统1100的机制。用户可以使用输入设备导航具有根据本发明的实施例高速缓存的状态转换的用户界面。
用户接口输出设备1114可以包括显示器子系统、打印机、传真机、或者诸如音频输出设备之类的非视觉显示器,等等。显示器子系统可以是阴极射线管(CRT)、诸如液晶显示器(LCD)之类的平面板设备、或者投影设备。一般,术语“输出设备”的使用意图是包括所有可能类型的设备和用于从计算机系统1100输出信息的机制。用户界面的呈现可以利用输出设备1114被提供给用户。
存储子系统1106提供用于存储基本程序和提供本发明的功能的数据构成的计算机可读介质。在由处理器执行时提供本发明的功能的软件(程序、代码模块、指令)可以被存储在存储子系统1106中。这些软件模块或者指令可以被处理器1102执行。存储子系统1106也可以提供用于存储根据本发明使用的数据,例如,存储在诊断数据储存库中的数据的储存库。例如,存储子系统1106提供用于存留一个或多个本体的存储介质。存储子系统1106可以包括存储器子系统1108和文件/盘存储子系统1110。
存储器子系统1108可以包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1118和在其中存储固定的指令的只读存储器(ROM)1120。文件存储子系统1110提供用于程序和数据文件的持久(非易失性)存储,并且可以包括硬盘驱动器、连同关联的可移除介质一起的软盘驱动器、只读光盘(CD-ROM)驱动器、光学驱动器、可移除介质盒、和其他类似的存储介质。存储器也可以是通过可以是例如互联网或者内部网的网络可访问。
计算机系统1100可以是包括个人计算机、便携式计算机、平板计算机、移动通信设备、工作站、网络计算机、大型机、亭、服务器或者任何其他数据处理系统的各种类型的。由于计算机和网络的千变万化的性质,在图11中描写的计算机系统1100的描述被仅仅预期为特定的示例以便示出计算机系统的优选实施例。具有比在图11中描写的更多或者较少组件的许多其他配置是可能的。
虽然已经描述了本发明的特定实施例,但是各种修改、改变、替换结构、和相等物也涵盖在本发明的范围内。本发明的实施例不局限于某些特定的数据处理环境内的操作,而是自由地在多个数据处理环境内操作。另外,虽然已经利用特定系列的事务和步骤描述了本发明的实施例,但是本领域技术人员应当清晰地知道本发明的范围不局限于描述的系列的事务和步骤。
此外,虽然已经利用硬件和软件的特定组合描述了本发明的实施例,但是应当承认硬件和软件的其他组合也在本发明的范围内。本发明的实施例可以被仅仅在硬件、或者仅仅在软件、或者利用它的组合实施。
因此,说明书和附图应当被认为是说明性的,而不是限制的意义上的。但是,很明显在不脱离由下述权利要求书阐述的更广泛精神和范围的情况下,可以对其做出增加、减少、删除、和其他修改和改变。
Claims (20)
1.一种用于在电子环境中便于导航的计算机实现的方法,包括:
识别可用于用户的多个潜在用户界面转换;
至少部分地基于特定于用户的数据和关于多个其他用户的数据,选择可用于用户的识别的潜在用户界面转换的子集;
使得采取一个或多个动作,所述一个或多个动作导致加速由用户选择的所选子集的一个或多个转换。
2.如权利要求1所述的计算机实现的方法,其中识别可用于用户的多个潜在用户界面转换包括从当前用户界面状态识别多个可选择的用户界面元件,每个可选择的用户界面元件能够被选择以使得导航到对应的用户界面状态。
3.如权利要求1所述的计算机实现的方法,其中所述特定于用户的数据是用户类型并且其中所述关于多个其他用户的数据包括至少部分地基于具有所述用户类型的一个或多个用户的过去导航行为聚集的数据。
4.如权利要求1所述的计算机实现的方法,其中所述特定于用户的数据包括至少部分地基于用户的过去导航的行为确定的数据。
5.如权利要求1所述的计算机实现的方法,其中选择识别的潜在用户界面转换的子集包括:
至少部分地基于所述特定于用户的数据和所述关于多个其他用户的数据将多个用户界面转换排序;以及
至少部分地基于所述子集的成员在所述排序的多个用户界面转换中的位置选择所述子集。
6.如权利要求1所述的计算机实现的方法,其中所述潜在用户界面转换是由机构使用的应用的转换,并且其中所述用户和其他用户与所述机构的操作有关地使用所述应用。
7.一种用于便于导航的计算机系统,包括:
一个或多个处理器;和
包括指令的存储器,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器至少:
识别从用户使用的用户界面的特定状态可用的潜在用户界面转换;
至少部分地基于特定于用户的数据和关于多个其他用户的数据,选择所述识别的潜在用户界面转换的子集;
使得加速由用户选择的所选子集的一个或多个转换。
8.如权利要求7所述的计算机系统,其中使得加速所选子集的一个或多个转换包括:在由用户选择所述一个或多个转换的特定转换之前,使得高速缓存用于所述特定转换的数据。
9.如权利要求7所述的计算机系统,其中选择所述识别的潜在用户界面转换的子集包括:
识别所述用户的特性;
将所述多个用户识别为共享所识别的特性的用户;以及
至少部分地基于所述多个用户与用户界面有关的导航行为,对所述识别的潜在用户界面转换评分以产生与所述识别的潜在用户界面转换对应的分数,其中选择所述识别的潜在用户界面转换的子集至少部分地基于所述分数。
10.如权利要求7所述的计算机系统,其中所述用户界面被配置为访问基于网络的应用。
11.如权利要求7所述的计算机系统,其中选择所述识别的潜在用户界面转换的子集包括识别已经将所述用户界面导航到所述特定状态的用户集合;以及
其中选择所述识别的潜在用户界面转换的子集至少部分地基于已经将所述用户界面导航到所述特定状态的所识别的用户集合的行为。
12.如权利要求7所述的计算机系统,其中选择所述识别的潜在用户界面转换的子集包括至少部分地基于所述用户的活动测量来确定要高速缓存的用户界面转换的数目。
13.如权利要求7所述的计算机系统,其中识别潜在用户界面转换包括访问通过与用户界面的用户交互操作的应用的模型。
14.一个或多个非瞬时的计算机可读存储介质,在其上集体地存储有由计算机系统的一个或多个处理器可执行的指令,所述指令包括:
用于识别从用户界面的特定状态可用的潜在用户界面转换的指令;
用于至少部分地基于特定于用户界面的用户的数据和关于多个其他用户的数据,选择所述识别的潜在用户界面转换的子集的指令;
用于使得加速由用户选择的所选子集的一个或多个转换的指令。
15.如权利要求14所述的一个或多个非瞬时的计算机可读存储介质,其中使得加速所选子集的一个或多个转换包括在由用户选择之前高速缓存用于所述一个或多个转换的数据。
16.如权利要求14所述的一个或多个非瞬时的计算机可读存储介质,其中选择所述识别的潜在用户界面转换的子集包括识别所述用户的特性,并且将所述多个其他用户识别为与所述用户共享所述特性的用户。
17.如权利要求书16所述的一个或多个非瞬时的计算机可读存储介质,其中所述特性是用户在机构中的角色。
18.如权利要求14所述的一个或多个非瞬时的计算机可读存储介质,还包括用于至少部分地基于与用户界面有关的用户的活动测量确定限定所述子集的大小的值,所述子集根据所述值。
19.如权利要求18所述的一个或多个非瞬时的计算机可读存储介质,其中所述值是要高速缓存的转换的数目。
20.如权利要求18所述的一个或多个非瞬时的计算机可读存储介质,其中所述活动测量至少部分地基于通过用户与用户界面的交互引起的转换的频率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/558,292 | 2012-07-25 | ||
US13/558,292 US9348936B2 (en) | 2012-07-25 | 2012-07-25 | Heuristic caching to personalize applications |
PCT/US2013/050948 WO2014018346A1 (en) | 2012-07-25 | 2013-07-17 | Heuristic caching to personalize applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104584008A true CN104584008A (zh) | 2015-04-29 |
CN104584008B CN104584008B (zh) | 2019-08-20 |
Family
ID=49029161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380044511.7A Active CN104584008B (zh) | 2012-07-25 | 2013-07-17 | 用于个性化应用的启发式高速缓存 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9348936B2 (zh) |
EP (1) | EP2877944B1 (zh) |
CN (1) | CN104584008B (zh) |
WO (1) | WO2014018346A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740316A (zh) * | 2014-12-31 | 2016-07-06 | 商业对象软件有限公司 | 基于本地处理的样本数据的行为一致的集群范围数据整理 |
US10372781B2 (en) | 2012-07-25 | 2019-08-06 | Oracle International Corporation | Heuristic caching to personalize applications |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3072258B1 (en) * | 2013-11-20 | 2019-11-06 | Opanga Networks, Inc. | Fractional pre-delivery of content to user devices |
JP6476685B2 (ja) * | 2014-09-24 | 2019-03-06 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システム、表示装置及びプログラム |
CN106294406B (zh) * | 2015-05-22 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 一种用于处理应用访问数据的方法与设备 |
US10127210B1 (en) * | 2015-09-25 | 2018-11-13 | Amazon Technologies, Inc. | Content rendering |
US10601894B1 (en) | 2015-09-28 | 2020-03-24 | Amazon Technologies, Inc. | Vector-based encoding for content rendering |
WO2020102426A1 (en) * | 2018-11-13 | 2020-05-22 | Dokkio, Inc. | File management systems and methods |
US11463536B2 (en) | 2020-08-28 | 2022-10-04 | Teso LT, UAB | Curating proxy server pools |
CN114564667B (zh) * | 2022-04-28 | 2022-07-19 | 深圳市艾德网络科技发展有限公司 | 分析大规模数据的低延时缓存数据处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6782423B1 (en) * | 1999-12-06 | 2004-08-24 | Fuji Xerox Co., Ltd. | Hypertext analyzing system and method |
US20090313562A1 (en) * | 2008-06-11 | 2009-12-17 | International Business Machines Corporation | Outage management portal leveraging back-end resources to create a role and user tailored front-end interface for coordinating outage responses |
US7801896B2 (en) * | 1999-07-21 | 2010-09-21 | Andrew J Szabo | Database access system |
US20110153555A1 (en) * | 2009-12-22 | 2011-06-23 | International Business Machines Corporation | Adapting a Workflow |
Family Cites Families (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US5978841A (en) * | 1996-03-08 | 1999-11-02 | Berger; Louis | Look ahead caching process for improved information retrieval response time by caching bodies of information before they are requested by the user |
US5727129A (en) * | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
US6067565A (en) * | 1998-01-15 | 2000-05-23 | Microsoft Corporation | Technique for prefetching a web page of potential future interest in lieu of continuing a current information download |
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 |
GB9816087D0 (en) * | 1998-07-23 | 1998-09-23 | Simoco Int Ltd | Radio communications network |
JP4743740B2 (ja) * | 1999-07-16 | 2011-08-10 | マイクロソフト インターナショナル ホールディングス ビー.ブイ. | 自動化された代替コンテンツ推奨を作成する方法及びシステム |
US6636242B2 (en) * | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
US6839680B1 (en) * | 1999-09-30 | 2005-01-04 | Fujitsu Limited | Internet profiling |
US7050079B1 (en) * | 2000-01-04 | 2006-05-23 | International Business Machines Corporation | System and method for dynamically generating viewable graphics |
US7096418B1 (en) * | 2000-02-02 | 2006-08-22 | Persistence Software, Inc. | Dynamic web page cache |
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 |
US6742033B1 (en) * | 2000-06-12 | 2004-05-25 | Gateway, Inc. | System, method and computer program product that pre-caches content to provide timely information to a user |
US20050055426A1 (en) * | 2000-06-12 | 2005-03-10 | Kim Smith | System, method and computer program product that pre-caches content to provide timely information to a user |
US6871213B1 (en) * | 2000-10-11 | 2005-03-22 | Kana Software, Inc. | System and method for web co-navigation with dynamic content including incorporation of business rule into web document |
US6907459B2 (en) * | 2001-03-30 | 2005-06-14 | Xerox Corporation | Systems and methods for predicting usage of a web site using proximal cues |
WO2003012670A1 (en) * | 2001-07-30 | 2003-02-13 | Alcatel Internetworking, Inc. | Distributed network management system using policies |
US7092936B1 (en) * | 2001-08-22 | 2006-08-15 | Oracle International Corporation | System and method for search and recommendation based on usage mining |
US6766422B2 (en) * | 2001-09-27 | 2004-07-20 | Siemens Information And Communication Networks, Inc. | Method and system for web caching based on predictive usage |
US6871218B2 (en) * | 2001-11-07 | 2005-03-22 | Oracle International Corporation | Methods and systems for preemptive and predictive page caching for improved site navigation |
US7203909B1 (en) * | 2002-04-04 | 2007-04-10 | Microsoft Corporation | System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities |
US20030208594A1 (en) * | 2002-05-06 | 2003-11-06 | Urchin Software Corporation. | System and method for tracking unique visitors to a website |
WO2004017178A2 (en) * | 2002-08-19 | 2004-02-26 | Choicestream | Statistical personalized recommendation system |
JP2004110123A (ja) * | 2002-09-13 | 2004-04-08 | Toshiba Corp | ハイパーテキスト解析方法、解析プログラム及びその装置 |
US7051161B2 (en) * | 2002-09-17 | 2006-05-23 | Nokia Corporation | Memory admission control based on object size or request frequency |
US7787489B2 (en) * | 2002-10-07 | 2010-08-31 | Oracle International Corporation | Mobile data distribution |
US7548982B2 (en) * | 2002-10-31 | 2009-06-16 | Hewlett-Packard Development Company, L.P. | Predictive branching and caching method and apparatus for applications |
US7103609B2 (en) * | 2002-10-31 | 2006-09-05 | International Business Machines Corporation | System and method for analyzing usage patterns in information aggregates |
US20040117222A1 (en) * | 2002-12-14 | 2004-06-17 | International Business Machines Corporation | System and method for evaluating information aggregates by generation of knowledge capital |
US7331038B1 (en) * | 2003-07-02 | 2008-02-12 | Amazon.Com, Inc. | Predictive prefetching to improve parallelization of document generation subtasks |
US7565425B2 (en) * | 2003-07-02 | 2009-07-21 | Amazon Technologies, Inc. | Server architecture and methods for persistently storing and serving event data |
US20050076253A1 (en) * | 2003-10-05 | 2005-04-07 | De-Jen Lu | Method of url-based power management and associated web browsing device |
US20050216519A1 (en) * | 2004-03-26 | 2005-09-29 | Mayo Glenna G | Access point that monitors guest usage |
US7257577B2 (en) * | 2004-05-07 | 2007-08-14 | International Business Machines Corporation | System, method and service for ranking search results using a modular scoring system |
US7716225B1 (en) * | 2004-06-17 | 2010-05-11 | Google Inc. | Ranking documents based on user behavior and/or feature data |
US7840911B2 (en) * | 2004-09-27 | 2010-11-23 | Scott Milener | Method and apparatus for enhanced browsing |
US20060259867A1 (en) * | 2005-05-13 | 2006-11-16 | Microsoft Corporation | System and method for automatic generation of browsing favorites |
US20060277277A1 (en) * | 2005-06-02 | 2006-12-07 | Agere Systems Inc. | Method of automatically caching WAP web pages and a mobile communications device for the same |
US8244722B1 (en) * | 2005-06-30 | 2012-08-14 | Google Inc. | Ranking documents |
US7752209B2 (en) * | 2005-09-14 | 2010-07-06 | Jumptap, Inc. | Presenting sponsored content on a mobile communication facility |
US8533350B2 (en) * | 2005-11-01 | 2013-09-10 | Ravenwhite Inc. | Method and apparatus for storing information in a browser storage area of a client device |
US7693818B2 (en) * | 2005-11-15 | 2010-04-06 | Microsoft Corporation | UserRank: ranking linked nodes leveraging user logs |
US7430633B2 (en) * | 2005-12-09 | 2008-09-30 | Microsoft Corporation | Pre-storage of data to pre-cached system memory |
US7693836B2 (en) * | 2005-12-27 | 2010-04-06 | Baynote, Inc. | Method and apparatus for determining peer groups based upon observed usage patterns |
US8490093B2 (en) * | 2006-02-03 | 2013-07-16 | Microsoft Corporation | Managed control of processes including privilege escalation |
US7509299B2 (en) * | 2006-03-13 | 2009-03-24 | Microsoft Corporation | Calculating web page importance based on a conditional Markov random walk |
DE102006019894B3 (de) * | 2006-04-28 | 2007-07-12 | Siemens Ag | Verfahren und Vorrichtung zum Betreiben einer Brennkraftmaschine |
US7634476B2 (en) * | 2006-07-25 | 2009-12-15 | Microsoft Corporation | Ranking of web sites by aggregating web page ranks |
US7831472B2 (en) * | 2006-08-22 | 2010-11-09 | Yufik Yan M | Methods and system for search engine revenue maximization in internet advertising |
US8200691B2 (en) * | 2006-11-29 | 2012-06-12 | Sap Ag | Action prediction based on interactive history and context between sender and recipient |
US20080195824A1 (en) * | 2007-02-09 | 2008-08-14 | Microsoft Corporation | Context sensitive caching on removable storage |
US7991830B2 (en) * | 2007-02-28 | 2011-08-02 | Red Hat, Inc. | Multiple sessions between a server and multiple browser instances of a browser |
US8392837B2 (en) * | 2007-02-28 | 2013-03-05 | Red Hat, Inc. | Browser supporting multiple users |
US8135900B2 (en) * | 2007-03-28 | 2012-03-13 | Kabushiki Kaisha Toshiba | Integrated memory management and memory management method |
US7930303B2 (en) * | 2007-04-30 | 2011-04-19 | Microsoft Corporation | Calculating global importance of documents based on global hitting times |
US20080313117A1 (en) * | 2007-06-12 | 2008-12-18 | Brian Galvin | Methods and Systems for Creating a Behavioral WEB Graph |
US7890998B2 (en) * | 2007-06-29 | 2011-02-15 | International Business Machines Corporation | System and method for selective authentication when acquiring a role |
US7941383B2 (en) * | 2007-12-21 | 2011-05-10 | Yahoo! Inc. | Maintaining state transition data for a plurality of users, modeling, detecting, and predicting user states and behavior |
US8549497B2 (en) * | 2008-05-05 | 2013-10-01 | University Of New Brunswick | High-level hypermedia synthesis for adaptive web |
US8225331B2 (en) * | 2008-05-09 | 2012-07-17 | Oracle International Corporation | Providing interface support for application workspace persistence |
US8095482B2 (en) * | 2008-06-05 | 2012-01-10 | Ebay Inc. | System and method to learn and deploy an optimal user experience in an online system |
US20100110656A1 (en) | 2008-10-31 | 2010-05-06 | Advanced Semiconductor Engineering, Inc. | Chip package and manufacturing method thereof |
US8312171B2 (en) * | 2009-03-27 | 2012-11-13 | Oracle International Corp. | Generic preventative user interface controls |
US8069167B2 (en) * | 2009-03-27 | 2011-11-29 | Microsoft Corp. | Calculating web page importance |
US20110022945A1 (en) * | 2009-07-24 | 2011-01-27 | Nokia Corporation | Method and apparatus of browsing modeling |
US20110066676A1 (en) * | 2009-09-14 | 2011-03-17 | Vadim Kleyzit | Method and system for reducing web page download time |
US8433996B2 (en) * | 2009-09-15 | 2013-04-30 | Oracle International Corporation | Hierarchical model for web browser navigation |
US9942345B2 (en) * | 2009-09-17 | 2018-04-10 | Oracle International Corporation | Web server caching for performance improvement |
US8402379B2 (en) * | 2009-09-30 | 2013-03-19 | SAP Portals Israel Limited | Dynamic content layout for a user interface display |
US8230046B2 (en) * | 2009-12-15 | 2012-07-24 | Facebook, Inc. | Setting cookies in conjunction with phased delivery of structured documents |
US8108377B2 (en) * | 2009-12-15 | 2012-01-31 | Facebook, Inc. | Predictive resource identification and phased delivery of structured documents |
US8332917B2 (en) * | 2009-12-29 | 2012-12-11 | International Business Machines Corporation | Providing secure dynamic role selection and managing privileged user access from a client device |
BR112012018643B1 (pt) * | 2010-01-26 | 2021-12-07 | EMC IP Holding Company LLC | Método para detecção de acessos não autorizados de recursos online seguros, sistema de segurança de rede para detectar acessos não autorizados de recursos online seguros e mídia de armazenamento legível por computador |
JP2013519932A (ja) * | 2010-02-10 | 2013-05-30 | ティキ’ラブス エスエーエス | 共有可能なユーザインタフェースで情報を構造化するための方法およびシステム |
WO2011109420A1 (en) * | 2010-03-01 | 2011-09-09 | Silver Tail Systems | System and method for network security including detection of attacks through partner websites |
US8756684B2 (en) * | 2010-03-01 | 2014-06-17 | Emc Corporation | System and method for network security including detection of attacks through partner websites |
CN102314450B (zh) * | 2010-06-30 | 2014-11-26 | 国际商业机器公司 | 用于增强网页浏览的方法和设备 |
US8954422B2 (en) * | 2010-07-30 | 2015-02-10 | Ebay Inc. | Query suggestion for E-commerce sites |
US8601052B2 (en) * | 2010-10-04 | 2013-12-03 | Qualcomm Incorporated | System and method of performing domain name server pre-fetching |
US20120233096A1 (en) * | 2011-03-07 | 2012-09-13 | Microsoft Corporation | Optimizing an index of web documents |
US8510237B2 (en) * | 2011-03-15 | 2013-08-13 | Qualcomm Incorporated | Machine learning method to identify independent tasks for parallel layout in web browsers |
US9275162B2 (en) * | 2011-03-22 | 2016-03-01 | Blackberry Limited | Pre-caching web content for a mobile device |
US8732569B2 (en) * | 2011-05-04 | 2014-05-20 | Google Inc. | Predicting user navigation events |
US8769073B2 (en) * | 2011-06-29 | 2014-07-01 | International Business Machines Corporation | Intelligent offline caching of non-navigated content based on usage metrics |
US8745212B2 (en) * | 2011-07-01 | 2014-06-03 | Google Inc. | Access to network content |
US8880652B2 (en) * | 2011-09-14 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | Heuristic browser predictive pre-caching |
US8600921B2 (en) * | 2011-09-15 | 2013-12-03 | Google Inc. | Predicting user navigation events in a browser using directed graphs |
US8655819B1 (en) * | 2011-09-15 | 2014-02-18 | Google Inc. | Predicting user navigation events based on chronological history data |
US8949739B2 (en) * | 2011-10-28 | 2015-02-03 | Microsoft Technology Licensing, Llc | Creating and maintaining images of browsed documents |
US10021696B2 (en) * | 2011-11-16 | 2018-07-10 | International Business Machines Corporation | Data caching at the edge of a mobile data network |
US9020947B2 (en) * | 2011-11-30 | 2015-04-28 | Microsoft Technology Licensing, Llc | Web knowledge extraction for search task simplification |
US20130253889A1 (en) * | 2012-03-06 | 2013-09-26 | Mid-Atlantic Technology, Research & Innovation Center, Inc. | Modeling and simulation capability for resource consumption and consequence management |
US8954524B1 (en) * | 2012-03-14 | 2015-02-10 | Google Inc. | Access to network content |
US9348936B2 (en) | 2012-07-25 | 2016-05-24 | Oracle International Corporation | Heuristic caching to personalize applications |
US9467500B2 (en) * | 2012-08-09 | 2016-10-11 | Rockwell Automation Technologies, Inc. | Remote industrial monitoring using a cloud infrastructure |
US8798205B2 (en) * | 2012-10-22 | 2014-08-05 | Medtronic, Inc. | Telemetry polling circuit with noise discrimination and selectable tuning |
US9225738B1 (en) * | 2014-06-30 | 2015-12-29 | Emc Corporation | Markov behavior scoring |
US10630758B2 (en) * | 2015-05-06 | 2020-04-21 | Radware, Ltd. | Method and system for fulfilling server push directives on an edge proxy |
US10083322B2 (en) * | 2015-07-30 | 2018-09-25 | International Business Machines Corporation | Obscuring user web usage patterns |
-
2012
- 2012-07-25 US US13/558,292 patent/US9348936B2/en active Active
-
2013
- 2013-07-17 EP EP13752700.8A patent/EP2877944B1/en active Active
- 2013-07-17 WO PCT/US2013/050948 patent/WO2014018346A1/en active Application Filing
- 2013-07-17 CN CN201380044511.7A patent/CN104584008B/zh active Active
-
2015
- 2015-12-03 US US14/957,904 patent/US10372781B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7801896B2 (en) * | 1999-07-21 | 2010-09-21 | Andrew J Szabo | Database access system |
US6782423B1 (en) * | 1999-12-06 | 2004-08-24 | Fuji Xerox Co., Ltd. | Hypertext analyzing system and method |
US20090313562A1 (en) * | 2008-06-11 | 2009-12-17 | International Business Machines Corporation | Outage management portal leveraging back-end resources to create a role and user tailored front-end interface for coordinating outage responses |
US20110153555A1 (en) * | 2009-12-22 | 2011-06-23 | International Business Machines Corporation | Adapting a Workflow |
Non-Patent Citations (1)
Title |
---|
DEBAJYOTI MUKHOPADHYAY EL AT.: "《A Dynamic Web Page Prediction Model Based on Access Patterns to Offer Better User Latency》", 《RESEARCHGATE》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372781B2 (en) | 2012-07-25 | 2019-08-06 | Oracle International Corporation | Heuristic caching to personalize applications |
CN105740316A (zh) * | 2014-12-31 | 2016-07-06 | 商业对象软件有限公司 | 基于本地处理的样本数据的行为一致的集群范围数据整理 |
CN105740316B (zh) * | 2014-12-31 | 2020-10-16 | 商业对象软件有限公司 | 基于本地处理的样本数据的行为一致的集群范围数据整理 |
Also Published As
Publication number | Publication date |
---|---|
US20140033094A1 (en) | 2014-01-30 |
EP2877944B1 (en) | 2020-08-19 |
EP2877944A1 (en) | 2015-06-03 |
CN104584008B (zh) | 2019-08-20 |
WO2014018346A1 (en) | 2014-01-30 |
US20160094676A1 (en) | 2016-03-31 |
US10372781B2 (en) | 2019-08-06 |
US9348936B2 (en) | 2016-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104584008A (zh) | 用于个性化应用的启发式高速缓存 | |
US20190391967A1 (en) | Systems and Methods for Cleansing Automated Robotic Traffic from Sets of Usage Logs | |
US7962529B1 (en) | Scalable user clustering based on set similarity | |
US8682904B1 (en) | System of intuitive sorting of a table based on a column containing fractions | |
US9893904B2 (en) | Rule-based messaging and dialog engine | |
US10748157B1 (en) | Method and system for determining levels of search sophistication for users of a customer self-help system to personalize a content search user experience provided to the users and to increase a likelihood of user satisfaction with the search experience | |
US20100211694A1 (en) | Routing users to receive online services based on online behavior | |
US10007645B2 (en) | Modifying the presentation of a content item | |
CN103329151A (zh) | 基于话题聚类的推荐 | |
CN102859509A (zh) | 跟踪相同浏览器选项卡内的导航流 | |
Lee et al. | An adaptive website system to improve efficiency with web mining techniques | |
US20180227343A1 (en) | Contemporaneous feedback during web-conferences | |
US20160260341A1 (en) | Cognitive bias determination and modeling | |
JP2019503522A (ja) | 最適化されたデジタル・コンポーネント分析システム | |
US20180061258A1 (en) | Data driven feature discovery | |
US20190259298A1 (en) | Systems, methods, and software for implementing a behavior change management program | |
US11605042B1 (en) | Artificial intelligence system for content presentation impact estimation | |
US11810022B2 (en) | Contact center call volume prediction | |
Ahmad et al. | Measuring navigational burden | |
US20230259815A1 (en) | Machine learning techniques for user group based content distribution | |
US20110107245A1 (en) | Electronic profile creation | |
US20230205754A1 (en) | Data integrity optimization | |
CN112291329B (zh) | 信息显示方法、装置及设备 | |
US20210334734A1 (en) | Method and system for presenting digital task implemented in computer-implemented crowd-sourced environment | |
RU2805513C1 (ru) | Способ и сервер для отправки таргетированного сообщения электронному устройству пользователя |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |