CN105210352B - 基于指纹的智能内容预取 - Google Patents

基于指纹的智能内容预取 Download PDF

Info

Publication number
CN105210352B
CN105210352B CN201480016123.2A CN201480016123A CN105210352B CN 105210352 B CN105210352 B CN 105210352B CN 201480016123 A CN201480016123 A CN 201480016123A CN 105210352 B CN105210352 B CN 105210352B
Authority
CN
China
Prior art keywords
content
content item
fingerprint
web services
mobile computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480016123.2A
Other languages
English (en)
Other versions
CN105210352A (zh
Inventor
S.兰加拉简
Y.斯里尼瓦桑
S.古代
B.拉马拉思纳姆
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105210352A publication Critical patent/CN105210352A/zh
Application granted granted Critical
Publication of CN105210352B publication Critical patent/CN105210352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)

Abstract

示例装置和方法涉及基于指纹的智能内容预取。示例装置可以具有被配置成存储内容项目或从内容项目得到的指纹的存储器。该装置可以包括被配置成选择性地向移动计算设备上的数据储存器异步地提供内容项目或从内容项目得到的指纹的逻辑组。项目可以响应于除来自移动计算设备的针对内容的请求之外的事件而提供。装置可以被配置成基于前摄、众包、预测且自适应的方法来选择内容项目。装置可以向移动设备和其它相关移动设备或用户提供内容项目和指纹。装置在提供内容之前可以考虑移动设备的状态(例如可用存储器、可用电池、可用通信信道)。

Description

基于指纹的智能内容预取
背景技术
移动设备用户访问内容。内容可能位于不同位置并且可能经由不同的路径可得到并且因此可能花费不同的金钱量来访问,可能耗费不同的时间量来检索,并且可能消耗不同的电力量。已经做出的改进用户的浏览体验的尝试尤其包括将内容预取到移动设备,并行化请求以及压缩图像和万维网(web)对象。改进用户的浏览体验的这些常规尝试倾向于围绕用户做出请求并且然后等待响应以经受其同步连接和从服务器拉取内容的自然过程在转。
常规的预取可以包括获取某一时间点处的最流行内容或用户最频繁访问的内容。该常规预取可以响应于用户做出针对内容的请求而发生并且可以涉及自始至终向用户的移动设备推送预测获取的内容。然而,移动设备具有有限的存储器,因此内容自始至终向设备的常规推送可能对该有限存储器是无礼的。此外,自始至终向设备推送内容可能是昂贵的,可能招致电池耗尽,或者可能消耗所不期望的量的用户数据计划。另外,即使内容已经被自始至终推送到用户的移动设备,对于移动设备而言可能难以标识已经提供了什么内容。
常规的预取典型地是以用户为中心的。例如,如果用户每天访问其最爱的网站,则来自该网站的内容可以被预取到用户设备。此外,从所访问的网站可得到的所有内容可能被投机性地预取。虽然用户可能每天访问网站,以及虽然用户可能偶然点入附加内容,用户可能仅对在该网站处或通过该网站可得到的某些内容感兴趣。常规预取困难不会操作得如此精确并且因此可能提供用户将不会查看的信息。习惯性地提供不会被查看的内容,而同时习惯性地不提供被查看的后续内容可能不改进用户的浏览体验并且可能花费用户的时间和金钱。
发明内容
提供本发明内容来以简化的形式引入以下在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识所要求保护的主题的关键特征或本质特征,也不意图用于限制所要求保护的主题的范围。
示例装置和方法改进移动用户在访问互联网资源时的浏览或web应用性能。自适应异步刷新用于智能地预取通过预测方法选择的内容。异步刷新响应于除来自移动用户的针对内容的请求之外的事件而发生。智能性可以基于移动用户的历史、模式、位置或其它因素。此外,智能性可以基于与可能与该用户相关的其他用户相关联的历史、模式、位置或其它属性。例如,可以考虑家庭成员、同事、社交网络圈和境遇类似的用户的历史、模式和其它属性。
示例装置和方法涉及基于指纹的智能内容预取。示例装置可以具有被配置成存储内容项目和从内容项目得到的指纹的存储器。装置可以包括被配置成选择性地向移动计算设备上的数据储存器异步提供内容项目或从内容项目得到的指纹的逻辑组。项目可以响应于除来自移动计算设备的针对内容的请求之外的事件而提供。装置可以被配置成基于前摄、众包、预测性且自适应的方法来选择内容项目。装置可以向移动设备和其它有关移动设备或用户提供内容项目或指纹。装置在提供内容或指纹之前可以考虑移动设备的状态(例如可用存储器、可用电池、可用于与移动设备通信的通信信道)。
指纹可以例如是所访问的网站的URL(统一资源定位符)的散列(hash)或内容项目的标识符的其它混淆。可以针对通过移动设备检索或者提供给移动设备的内容生成指纹。指纹可以存储在移动设备上的本地指纹数据库中并且还可以与web服务中的远程指纹数据库共享。web服务然后可以使用指纹来预测性地预取用于移动设备的内容。由于web服务可以从多于一个移动设备接收指纹,因此web服务还可以通过提供对应指纹来告知移动设备在web服务上可得到的内容。由于指纹被混淆并且是匿名的,因此维护了web服务的用户的隐私。
示例装置和方法可以通过设备上的代理服务共享智能性。代理服务参与可以是前摄、众包和预测性的内容预取。作为前摄的示例,预取并且随后被查看的内容可以在将来再次被预取,而预取并且未被查看的内容可能在将来不被预取。作为众包的示例,可以预取被用户的社交网络的成员访问的内容。作为预测性的示例,可以访问可能在逻辑上跟随被查看的内容的内容。例如,web页面可以包括到其它文章的四个链接。基于用户的习惯或历史,可以将一个链接选择为此时可能被该用户查看。因此,可以预取通过该链接可得到的该内容而不预取通过其它链接可得到的内容。移动用户可以与多于一个设备交互。因此,还可以使针对移动设备预取的内容分发到或以其它方式可用于用户可能与其交互的其它设备。此外,移动用户可以与其他用户的集合交互。因此,还可以使针对用户集合中的一个成员预取的内容分发到或以其它方式可用于用户可能与其交互的其他用户。
附图说明
附图图示本文所描述的各种示例装置、方法和其它实施例。将领会到,图中所图示的元件边界(例如框、框的组或其它形状)表示边界的一个示例。在一些示例中,一个元件可以被设计为多个元件或者多个元件可以被设计为一个元件。在一些示例中,示出为另一元件的内部组件的元件可以实现为外部组件并且反之亦然。另外,元件可能未按比例绘制。
图1图示了与基于指纹的智能内容预取相关联的示例数据流。
图2图示了与基于指纹的智能内容预取相关联的示例流。
图3图示了与基于指纹的智能内容预取相关联的示例方法。
图4图示了与基于指纹的智能内容预取相关联的示例方法。
图5图示了被配置成支持基于指纹的智能内容预取的示例装置。
图6图示了被配置成支持基于指纹的智能内容预取的示例装置。
图7图示了示例云操作环境。
图8是描绘了被配置成支持基于指纹的智能内容预取的示例性移动通信设备的系统图。
图9图示了代理和web服务之间的示例消息流。
具体实施方式
示例装置和方法执行基于指纹的智能内容预取。显示在移动设备上的内容可以来自移动设备、来自web服务、来自原始服务器、来自附近的设备或来自另一位置。内容可以响应于来自移动设备的请求、响应于web服务或移动设备上的应用的预测工作、响应于来自目标服务或来自其它位置的瞄准工作(例如广告)而去往移动设备。智能性且策略性地放置和预放置内容促进改进用户的移动设备浏览体验,而没有盲目地增加用户的成本或草率地消耗用户的有限资源。
当移动设备请求内容时,内容可能已经在该设备或附近设备上,可以在支持移动设备的web服务处可得到,或者可能从原始服务器可得到。移动设备使用指纹来确定将从哪里检索内容(例如在本地,从服务,从原始起源)。使用指纹而不是必须检查实际内容促进减少在本地存储器上存储内容的负担并且促进减少在本地处理器上搜索该内容的负担。当移动设备接收到内容时,其可以计算用于内容的指纹并且更新其指纹数据库。移动设备还可以向web服务提供元数据(例如指纹)或内容,使得web服务可以更新其指纹或内容数据库。移动设备或web服务还可以向其他设备或用户提供元数据(例如指纹)或内容以更新其指纹或内容数据库。
接收到内容可以触发web服务将附加内容预取到web服务中或移动设备上。其它动作也可以触发web服务将附加内容预取到web服务中或移动设备上。接收到内容或其它动作还可以触发其它服务(例如经瞄准的广告)将附加内容预取到web服务中或移动设备上。仅关于内容的指纹可以移动到移动设备,而不是将所有内容移动到移动设备。这节省金钱和带宽而同时相比于必须去往原始服务器仍然改进响应时间,尤其是如果web服务可以定位来自移动设备的一个Wi-Fi通信的内容的话(例如在处置用于移动设备的Wi-Fi访问的咖啡店中的计算设备中)。
可以使关于移动设备及其用户的许多信息自发地对用户可用。例如,关于用户例行地做什么、移动设备的位置、用户在该位置处例行地做什么、什么时间、用户在该时间例行地做什么、用户当前正在做什么反常的事的信息以及其它信息可以是已知的。类似地,关于其他用户例行地做什么、其它移动设备的位置、其他用户在那些其它位置例行地做什么、什么时间、其他用户在该时间例行地做什么、用户当前正在做什么其它反常事的信息以及其它信息可以是已知的。该信息可以用于预测移动设备的用户接下来或者在某个其它时间点可能对什么信息感兴趣。预测可以用于预取该信息。预取可以自始至终针对移动设备进行,或者可以针对比原始服务器更靠近设备的web服务进行。预取可以是对内容或对指纹的。预测和预取可以异步进行(例如在没有用户做出针对内容的请求的情况下)。预测和预取可以透明地进行,用户甚至没有注意到动作正在发生。
所接收的内容可以与相关于接收内容的移动设备的其他用户或设备共享。预测内容还可以与相关于针对其做出预测的移动设备的其他用户或设备共享。例如,使用移动设备以用于互联网访问的其它设备可以接收指纹或内容,并且移动设备的用户使用的其它设备(例如膝上型计算机、个人计算机、智能电话、可穿着计算设备,诸如眼镜)也可以接收指纹或内容。此外,移动设备的用户所属于的社交网络或其它组的成员可以接收指纹或内容。类似地,用户可以基于他们所属于的其社交网络或其它组的成员的动作而接收指纹或内容。
图1图示了与基于指纹的智能内容预取相关联的示例数据流。虽然说明了某些组件、数据流和请求,但是可以采用其它组件、组件的布置、请求和数据流,如本领域技术人员将理解的。浏览器100或其它web应用可以向xyz.com 170发送超文本传输协议(HTTP)请求。沿A2,浏览器100可以通知代理插件110与请求相关联的顶级统一资源定位符(URL)。浏览器100可以沿A3从本地高速缓存120或沿A3'从xyz.com 170得到内容。xyz.com 170可以称为原始服务器。代理插件110可以计算指纹并且沿A4通知代理服务130。沿A5,代理服务130可以检查其指纹数据库以确定是否存在用于浏览器100的经更新的内容。如果本地高速缓存120中的内容是最新的,代理服务130沿A6向web服务140发送高速缓存命中通知。web服务140可以例如响应于接收到高速缓存命中通知而更新计数器或者采取其它动作。如果本地高速缓存120中的内容不是最新的,代理服务130可以沿A7向web服务140发送单独的请求以使用预测方法来预取与指纹相关联的附加内容。web服务140可以沿A8检查其指纹数据库以确定主高速缓存150是否具有与指纹相关联的附加内容。如果是这样,web服务140可以从主高速缓存150拉取内容并且将其发送给代理服务130。代理服务130可以对内容取指纹并且填入本地高速缓存120以供将来使用。如果在主高速缓存150中不存在附加内容,则web服务140可以沿A9从原始服务器170获取附加内容,对附加内容取指纹并且在主高速缓存150中高速缓存附加内容。附加内容还可以被发送给代理服务130,其将对附加内容取指纹并且填入本地高速缓存120以供将来使用。如果浏览器100做出对xyz.com 170的后续请求,内容将在其本地高速缓存120中可容易得到。
图9图示了代理(例如图1的代理服务130)与web服务(例如图1的web服务140)之间的一些示例消息流。代理服务130被图示为具有本地数据库并且web服务140也被图示为具有本地数据库。本地数据库可以存储指纹或内容。虽然图示了五个消息流,但是可以采用附加或不同的消息流。
图2图示了与基于指纹的智能内容预取相关联的示例流。图2图示了web请求的一个示例端到端流及其寿命周期。web请求可以在200处接收。在205处,做出关于资源是否在与web服务相关联的本地高速缓存中可得到的确定。如果资源是可得到的,则在245处发生高速缓存命中并且从高速缓存299提供内容。在250处,可以将本地高速缓存命中的通知发送给web服务。在255处,web服务可以检查其指纹数据库以确定在高速缓存299中是否存在未被访问的内容。如果在260处的确定为是,则在270处web服务可以向代理推送未被访问的内容并且在275处代理可以对内容取指纹并且填入其本地高速缓存。如果在260处的确定为否,则控制可以返回到200。
如果250处的决定指示本地高速缓存未中,则在215处做出关于web服务是否具有内容的决定。在一个实施例中,在215处的决定可以在210处搜索web服务的指纹数据库的本地副本中的指纹之后做出。如果资源在主高速缓存中,则在240处可以向web服务发送针对内容的请求并且在265处web服务可以提供关于所访问的内容的响应。web服务然后可以在270处向客户端代理推送未被访问的内容,其中处理在275处继续。
如果在215处的决定是资源不在主高速缓存中,则在220处客户端代理可以向原始服务器发起针对内容的请求。在225处,客户端可以接收关于所访问的内容的响应并且在230处,客户端代理可以更新其指纹数据库并且向应用发送内容。在235处,可以向web服务发送来自原始服务器的内容的获取通知,其中处理然后在270和275处继续。可以采用不同的流。
图2中图示的流、图9中图示的消息和图1中图示的流可以与基于指纹的智能内容预取方法的一个实施例相关联。在该实施例中,代理服务可以作为单独的应用或服务实现在移动设备上。代理可以构建在现有超文本传输协议(HTTP)库上并且可以支持例如超文本标记语言(HTML)、动态HTML(DHTML)、级联样式表单(CSS)、Java Script(JS)再现和其它特征。代理服务可以与web应用(例如浏览器)共享公共本地高速缓存。代理服务可以维持到提供用于移动设备的智能、基于指纹的内容预取的web服务的永远开启连接。永远开启连接可以用于在代理和服务之间共享指纹智能性和通知。
web服务可以在近实时的基础上前摄地向代理服务推送指纹更新。做出推送的速率可以如以下所描述的那样来控制。推送可以是异步的并且因此可以不需要来自代理或移动设备的发起动作。客户端代理可以接收请求并且能够使用指纹来确定内容是否在其本地高速缓存中,其是否在web服务处可用,或者其是否需要从原始服务器取得内容。最初,指纹可以是被请求的URL的混淆散列。随着时间的过去,由于实施例通过众包进行学习,指纹可以演进而成为更高级的抽象。指纹在代理和web服务之间共享,并且潜在地也在其它代理之间共享,使得客户端具有对什么内容填入在web服务上的主高速缓存中的可见性而不必查询web服务。
预取可以受用户偏好、设备智能性、云启发式和其它考虑支配。这些可以包括例如用户可控滑块设置、电池寿命、数据计划特性、漫游、应用访问模式和其它考虑。例如,对于用户比阈值量的次数更多地访问的网站或应用,内容可以在用户实际请求内容之前下载。内容可以基于用户的本地访问模式和偏好而下载。例如,用户可能偏好于当他们进入咖啡店时接收某个新闻页。因此,当用户接近该咖啡店时,可以预取新闻页。此外,当用户浏览某个内容时,则智能性可以应用于标识用户可能点击的链接或用户接下来可能将想要看到的内容。这些链接和偏好可以例如基于众包行为分析。
根据存储器内的数据位上的操作的算法和符号表示来呈现以下详细描述的一些部分。这些算法描述和表示被本领域技术人员用于向其他人传达其工作的实质。算法被视为产生结果的操作的序列。操作可以包括创建和操纵可以采取电子值的形式的物理量。创建或操纵以电子值的形式的物理量产生具体、有形、有用、真实世界的结果。
已经证明,主要是出于通常使用的原因,将这些信号称为位、值、元素、符号、字符、术语、数字和其它术语有时是方便的。然而,应当牢记的是,这些和类似术语要与适当的物理量相关联并且仅仅是应用于这些量的方便标记。除非以其它方式具体陈述,否则要领会到,遍及说明书,包括处理、计算和确定的术语是指计算机系统、逻辑、处理器、片上系统(SoC)或操纵和变换表示为物理量的数据(例如电子值)的类似电子或其它计算设备的动作和过程。
示例方法可以参照流程图更好地领会。为了简化,将所说明的方法示出和描述为一系列块。然而,方法可以不受块的顺序限制,因为在一些实施例中,块可以以与所示和所描述的不同的顺序发生。而且,实现示例方法可以要求少于全部所图示的块。块可以组合或分离成多个组件。另外,附加或可替换的方法可以采用附加的未图示的块。
图3图示了与基于指纹的智能内容预取相关联的示例方法300。方法300包括,在310处,访问通过移动计算设备访问的内容项目的指纹。指纹可以是例如内容项目的标识符的匿名混淆。在一个实施例中,指纹可以响应于来自移动计算设备的针对内容项目的请求而生成。指纹可以采取不同的形式并且可以以不同的方式生成。在一个实施例中,指纹是与内容项目相关联的统一资源定位符(URL)、与内容项目相关联的通用资源标识符(URI)、与内容项目相关联的全局唯一标识符(GUID)、与内容项目相关联的存活时间、内容项目的大小、内容项目的对象类型、内容项目的修改日期、内容项目的创建日期或内容项目的语言的散列。
方法300还包括,在320处,访问移动计算设备上的指纹数据储存器。指纹数据储存器可以存储与从移动计算设备上的第一内容数据储存器、从与向移动计算设备提供内容预取服务的web服务相关联的第二内容数据储存器和从原始服务器可得到的内容项目相关联的指纹。在一个实施例中,指纹数据储存器通过web服务周期性或异步地刷新,使得指纹数据储存器具有关于什么内容在本地和web服务二者处可得到的精确信息。
方法300还包括,在330处,标识在哪里可得到内容项目。内容项目可以在移动计算设备上、在web服务处或在原始服务器处可得到。内容项目可以标识为在移动计算设备上可得到,如果指纹存在于指纹数据储存器中的话。内容项目可以标识为在web服务处可得到,如果指纹存在于web服务指纹数据库的复制品中的话。内容项目的位置可以通过例如指纹记录中的字段、其中存储指纹的指纹数据库的部分、得出高速缓存地址的指纹的散列或以其它方式确定。
当确定内容项目从第一内容数据储存器可得到时,方法300在340处通过访问来自第一内容数据储存器的内容项目和在342处通过向web服务提供本地命中的指纹和通知而继续进行。当在本地找到内容时,可以告知web服务更新针对内容的访问时间或访问计数。更新访问时间或访问计数可以告知web服务关于是否在其高速缓存中保留内容的决定。更新访问时间或访问计数还可以告知web服务关于预取该内容的将来决定。
当确定内容项目在移动设备上从第一内容数据储存器不可得到时,并且当确定内容项目从与web服务相关联的第二内容数据储存器可得到时,方法300在350处通过访问来自第二内容数据储存器的内容项目而继续进行。回想到第二内容数据储存器与web服务相关联。第二内容储存器可以例如是对web服务而言可访问的数据库。方法300然后在352处通过向web服务提供指纹并且在354处通过向web服务提供在移动计算设备处的本地未中的通知和向web服务提供web服务命中的通知而继续进行。提供本地未中的通知可以告知web服务向移动设备或其它设备推送内容的决定。提供web服务命中的通知可以告知web服务关于预取相关内容的决定。web服务命中通知还可以告知关于预取所访问的内容的将来决定。
当确定内容项目在移动设备上从第一内容数据储存器不可得到时并且当确定内容项目在web服务处从第二内容数据储存器不可得到时,以及当确定内容项目从原始服务器可得到时,方法300可以然后在360处继续进行以访问来自原始服务器的内容项目。一旦内容项目已经被获取,方法300可以在362处向web服务提供指纹,并且在364处向web服务提供移动计算设备处的本地未中的通知和web服务未中的通知。再一次,提供通知可以使web服务向移动设备或其它设备或用户推送某些内容。此外,提供通知可以允许web服务基于关于获取、命中和未中的观察而更新其用于预取某些相关内容的方案。
方法300还可以包括在370处,从移动计算设备向web服务选择性地提供指纹。指纹标识当前在移动设备上的第一内容数据储存器中可得到的内容项目。类似地,方法300可以包括在380处从web服务向移动计算设备选择性地提供指纹。这些指纹标识当前在与web服务相关联的第二内容数据储存器中可得到的内容项目。在370和380处的动作可以异步地发生,并且因此可以不与请求内容的用户或甚至所提供的内容相关联。指纹可以响应于另一事件、在所调度的时间处、在随机时间处、在开始或停止应用时或响应于其它动作而提供。这些动作共享协同操作的设备或服务之间的智能性以促进预取和在本地高速缓存中可得到的内容。
在动作370和380在移动计算设备与web服务之间移动指纹的同时,动作390和392在相关用户或设备之间移动内容和指纹。方法300可以包括,在390处,选择性地向与移动计算设备的用户相关联的另一计算设备异步地提供内容项目或指纹。例如,用户可以具有智能电话、膝上型计算机、平板计算机和个人计算机。当向一个设备提供内容或指纹时,可以向所有设备提供内容或指纹以使用户的浏览体验在设备之间是无缝的。方法300还可以包括在392处,选择性地向与移动计算设备的用户相关联的另一用户异步地提供内容项目或指纹。例如,用户可以具有在社交网络上的朋友圈。该朋友圈可以围绕运动队组织。因此,当朋友圈的成员接收到涉及运动队的内容或指纹时,可以将该内容或指纹提供给圈子的其他成员。动作390和392超出仅仅移动设备及其用户之外地分发内容和指纹。
图4图示了与选择要预取的内容相关联的示例方法400。方法400包括,在410处,控制web服务向移动计算设备异步地提供由web服务选择的附加内容项目。在一个示例中,附加内容项目由web服务根据内容项目与附加内容项目之间的关系来选择。关系可以是例如在内容项目中找到的到附加内容项目的链接、附加内容项目和内容项目共享的公共话题、附加内容项目和内容项目共享的公共作者、两个项目在给定时间段内被其他人查看的频率或其它关系。
在另一示例中,附加内容项目可以由web服务根据移动计算设备的用户的属性或根据除移动计算设备的用户之外的用户的属性来选择。属性可以是例如内容获取历史、内容获取模式、内容获取位置、内容获取时间或内容获取反常。获取历史可以描述用户或用户组已经访问的其它内容。获取模式可以描述查看内容的顺序。例如,某些用户可以访问其最喜爱的文章的首页,然后访问运动章节的首页,然后可以访问关于本地曲棍球队的页面,并且然后可以访问该曲棍球队的随队记者的页面。在检查曲棍球之后,用户然后可以习惯性地看向与其股票投资组合和与某些商业评论员相关联的页面。用户然后可以在长岛铁路上的旅行的其余时间去往纵横字谜游戏页面。获取位置可以描述从某个位置频繁访问的内容。例如,当用户站在某个商店前面时,用户可能寻找关于发生在该商店中的促销的内容,或者当用户站在地铁站前面时,用户可能寻找关于该地铁线的正点率的内容。获取时间可以描述用户典型地在一天中的某个时间处寻找的内容。例如,用户可能在早晨的第一件事频繁地是查找天气并且可能稍后在晚上寻找电影列表。
在一个实施例中,附加内容项目可以不与内容项目相关。在该实施例中,附加内容项可以基于除移动设备的用户之外的某个人的日程来选择。例如,附加内容项目可以由web服务根据经瞄准的广告策略来选择。经瞄准的广告策略可以根据移动计算设备的用户的属性或除移动计算设备的用户之外的用户的属性来选择内容项目。例如,如果用户处于某个人口类别(例如,男性,年龄45-50)并且处于某个位置(例如购物中心),经瞄准的广告可以提供第一广告(例如香烟商店)。
一旦已经选择了附加内容项目,方法400可以在420处通过确定用于附加内容项目的指纹和在430处通过将用于附加内容项目的指纹存储在指纹数据储存器中而继续进行。方法400还可以包括,在440处,将指纹存储在web服务处并且在450处将附加内容项目存储在第二内容数据储存器中。
方法400还可以包括,在460处,控制web服务选择通过其向移动计算设备提供附加内容项目的通信方法。通信方法可以至少部分地基于与通信方法相关联的成本来选择。例如,比蜂窝信道更便宜的Wi-Fi信道可以是可用的并且因此可以选择Wi-Fi信道。利用可用的较低成本且较高带宽的信道,预取可以以比如果仅较高成本或较低带宽信道可用时更激进的速率继续进行。
方法400还可以包括,在470处,控制web服务以特定速率向移动计算设备提供附加内容项目。速率可以通过不同因素确定。例如,速率可以基于移动计算设备上的电池荷电水平、提供附加内容项目的成本、移动计算设备的用户的偏好或者移动计算设备的位置。
虽然图3和图4图示了串行发生的各种动作,但是要领会到,图3和4中图示的各种动作可以基本上并行发生。作为说明,第一过程可以选择内容,第二过程可以管理指纹数据储存器,第三过程可以管理内容数据储存器,并且第四过程可以控制通信信道和速率。虽然描述了四个过程,但是要领会到,可以采用更大或更小数目的过程,并且可以采用轻量过程、常规过程、线程和其它方法。
在一个示例中,方法可以实现为计算机可执行指令。因此,在一个示例中,计算机可读存储介质可以存储计算机可执行指令,所述指令如果由机器(例如计算机)执行则使机器执行包括方法300或400的本文所描述或要求保护的方法。虽然将与以上方法相关联的可执行指令描述为存储在计算机可读存储介质上,但是要领会到,与本文所描述或要求保护的其它示例方法相关联的可执行指令也可以存储在计算机可读存储介质上。在不同的实施例中,本文所描述的示例方法可以以不同方式触发。在一个实施例中,方法可以通过用户手动触发。在另一示例中,方法可以自动触发。
如本文所使用的“计算机可读存储介质”是指存储指令或数据的介质。“计算机可读存储介质”不是指传播的信号本身。计算机可读存储介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘、磁带、闪速存储器、只读存储器(ROM)和其它介质。易失性介质可以包括例如半导体存储器、动态存储器(例如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)等)和其它介质。常见形式的计算机可读存储介质可以包括但不限于软盘、柔性盘、硬盘、磁带、其它磁介质、专用集成电路(ASIC)、压缩盘(CD)、其它光学介质、随机存取存储器(RAM)、只读存储器(ROM)、存储器芯片或卡、存储器棒和计算机、处理器或其它电子设备可以从其进行读取的其它介质。
图5图示了装置500,其包括处理器510、存储器520、逻辑组530和连接处理器510、存储器520和逻辑组530的接口540。存储器520可以被配置成存储内容项目或从内容项目得到的指纹。内容项目通过装置500预测地预取。
逻辑组530可以被配置成选择性地智能预取内容。装置500可以例如是计算机、膝上型计算机、平板计算机、个人电子设备、智能电话、SoC或可以访问和处理数据的其它设备。在一个实施例中,装置500可以是已经通过逻辑组530的包括而变换成专用计算机的通用计算机。逻辑组530可以被配置成响应于除了来自移动计算设备的针对内容的请求之外的事件而选择性地向移动计算设备上的数据储存器异步地提供内容项目或从内容项目得到的指纹。装置500可以通过例如计算机网络与其它装置、过程和服务交互。
逻辑组530可以包括被配置成选择内容项目的第一逻辑532。在一个实施例中,第一逻辑532可以被配置成根据移动设备的用户的属性或者根据不同移动设备的用户的属性来选择内容项目。属性可以包括但不限于,内容获取历史、内容获取模式、内容获取位置、内容获取时间或内容获取反常。内容获取历史可以包括由用户或与该用户相关的用户(例如家庭、社交网络、同事、具有类似人口类别的用户)获取的内容的指纹。属性还包括可以提供更深智能性的更丰富的信息。例如,不仅可以基于用户在过去看到的内容来做出选择,而且可以基于他们何时查看所选内容、他们在哪里查看所选内容、查看内容的顺序和其它因素来做出选择。可以从用户或其他相关用户的角度来分析这些属性。此外,可以基于反常行为来做出选择。如果用户例行地查看小集合的内容,但是然后反常地查看他们的常规数据集合之外的某些事物,则可以分析反常与集合之间的联系以预测要预取的附加的明显反常的内容。
第一逻辑532还可以被配置成根据经瞄准的广告方法来选择内容项目。瞄准可以是基于用户查看的内容、用户位于哪里、用户正在做什么、用户与谁交互和其它因素。
逻辑组530还可以包括被配置成向移动设备提供内容项目或指纹的第二逻辑534。内容项目可以通过不同的通信信道在不同的时间提供。在一个实施例中,第二逻辑534可以被配置成控制向移动设备提供内容项目或指纹的速率。速率可以是不同因素的函数。例如,速率可以是哪些通信信道(例如Wi-Fi、以太网、蜂窝)可用于与移动设备通信和(多个)通信信道的性质(例如成本、带宽)的函数。例如,如果高速、低成本信道可用,则预取可以以高速率继续进行。但是如果仅低速、高成本信道可用,则预取可以放缓或甚至停止。速率还可以是移动设备上的电池水平的函数。例如,如果存在剩余的充足的电池荷电,则预取可以继续,而如果存在剩余的不充足的电池荷电,则预取可以停止。速率还可以是移动设备的用户的属性、移动设备的属性或用户偏好的函数。例如,用户可能已经建立了对于预取水平的偏好或者用户可能仅仅罕见地(如果曾有过的话)查看预取的内容。在该示例中,预取可以减少或停止。
逻辑组530还可以包括被配置成利用内容项目或指纹更新存储器520的第三逻辑536。在一个实施例中,第三逻辑536可以被配置成向除移动设备之外的设备提供内容或指纹。例如,移动设备的用户可以具有其它设备(例如膝上型计算机、个人计算机、智能电话)并且内容或指纹可以分发到这些设备。
第三逻辑536还可以被配置成向除移动设备的用户之外的用户提供内容或指纹。例如,用户可以属于社交网络并且可以具有朋友圈。在这种情况下,内容或指纹可以分发给该朋友圈的成员。
在不同的实施例中,一些处理可以在装置500上执行并且一些处理可以通过外部服务或装置执行。因此,在一个实施例中,装置500还可以包括被配置成与外部源通信以促进显示内容或关于内容的信息的通信电路。在一个实施例中,第三逻辑536可以与呈现服务560交互以促进使用用于不同设备的不同呈现来显示数据。例如,内容可以显示在具有较高图形能力的第一设备上的第一、较完整的演示(rendition)中但是可以显示在具有较低图形能力的第二设备上的第二、有限演示中。
图6图示了类似于装置500(图5)的装置600。例如,装置600包括处理器610、存储器620、对应于逻辑组530(图5)的逻辑组630(例如632,634,636)和接口640。然而,装置600包括附加的第四逻辑638。第四逻辑638可以被配置成标识未存在于存储器620中的存在于移动设备上的本地内容。一旦第四逻辑638已经标识出存在于移动设备中但是不存在于存储器620中的本地内容,第四逻辑638可以获取本地内容。在不同的示例中,本地内容可以从移动设备或从原始服务器获取。
一旦第四逻辑638具有本地内容,第四逻辑638可以产生与本地内容相关联的指纹并且将该指纹存储在本地或者将该指纹提供给其他设备或用户。第四逻辑638还可以至少部分地基于本地内容选择性地预取附加的内容或经瞄准的广告。
图7图示了示例云操作环境700。云操作环境700支持递送作为抽象服务而不是作为独立产品的计算、处理、存储、数据管理、应用和其它功能。服务可以由可以实现为一个或多个计算设备上的一个或多个过程的虚拟服务器提供。在一些实施例中,过程可以在服务器之间迁移而不干扰云服务。在云中,可以通过网络向包括服务器、客户端和移动设备的计算机提供共享资源(例如计算、存储)。不同的网络(例如以太网、Wi-Fi、802.x、蜂窝)可以用于访问云服务。与云交互的用户可以不需要知晓实际上提供服务(例如计算、存储)的设备的细节(例如位置、名称、服务器、数据库)。用户可以经由例如web浏览器、瘦客户端、移动应用或以其它方式访问云服务。
图7图示了驻留在云中的示例预取服务760。预取服务760可以依赖于服务器702或服务704来执行处理并且可以依赖于数据储存器706或数据库708来存储数据。虽然图示了单个服务器702、单个服务704、单个数据储存器706和单个数据库708,但是服务器、服务、数据储存器和数据库的多个实例可以驻留在云中并且可以因此被预取服务760使用。
图7图示了访问云中的预取服务760的各种设备。设备包括计算机710、平板720、膝上型计算机730、个人数字助理740和移动设备(例如蜂窝电话、卫星电话、可穿着计算设备)750。预取服务760可以标识预取的内容并且将其提供给访问预取服务760的一个或多个设备。
可能的是,使用不同设备的不同位置处的不同用户可以通过不同的网络或接口访问预取服务760。在一个示例中,预取服务760可以通过移动设备750访问。在另一示例中,预取服务760的部分可以驻留在移动设备750上。
图8是描绘了包括一般在802处示出的各种各样的可选硬件和软件组件的示例性移动设备800的系统图。移动设备800中的组件802可以与其它组件通信,尽管为了图示的简化而并未示出所有连接。移动设备800可以是各种各样的计算设备(例如蜂窝电话、智能电话、手持计算机、个人数字助理(PDA)、可穿着计算设备等)并且可以允许与诸如蜂窝或卫星网络之类的一个或多个移动通信网络804进行无线双向通信。
移动设备800可以包括控制器或处理器810(例如信号处理器、微处理器、ASIC或其它控制和处理逻辑电路)以用于执行包括信号编码、数据处理、输入/输出处理、电力控制或其它功能的任务。操作系统812可以控制组件802的分配和使用并且支持应用程序814。应用程序814可以包括移动计算应用(例如电子邮件应用、日历、联系人管理器、web浏览器、消息传递应用)或其它计算应用。
移动设备800可以包括存储器820。存储器820可以包括非可移除存储器822或可移除存储器824。非可移除存储器822可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、硬盘或其它存储器存储技术。可移除存储器824可以包括闪速存储器或在GSM通信系统中是公知的订户身份模块(SIM)卡,或者其他存储器存储技术,诸如“智能卡”。存储器820可以用于存储数据或用于运行操作系统812和应用814的代码。示例数据可以包括web页面、文本、图像、声音文件、视频数据或要经由一个或多个有线或无线网络发送到一个或多个网络服务器或其它设备或从其接收的其它数据集合。存储器820可以用于存储诸如国际移动订户身份(IMSI)之类的订户标识符和诸如国际移动装备标识符(IMEI)之类的装备标识符。标识符可以传输到网络服务器以标识用户或装备。
移动设备800可以支持一个或多个输入设备830,其包括但不限于触摸屏832、麦克风834、相机836、物理键盘838或跟踪球840。移动设备800还可以支持输出设备850,其包括但不限于扬声器852和显示器854。其它可能的输出设备(未示出)可以包括压电或其它触觉输出设备。一些设备可以服务多于一个输入/输出功能。例如,触摸屏832和显示器854可以组合在单个输入/输出设备中。输入设备830可以包括自然用户接口(NUI)。NUI是使得用户能够以“自然”而免于诸如鼠标、键盘、远程控制和其它物之类的输入设备所强加的人工约束的方式与设备交互的接口技术。NUI方法的示例包括依赖于语音识别、触摸和触控笔识别、姿势识别(在屏幕上和邻近于屏幕二者)、悬浮姿势、头部和眼睛追踪、话音和语音、视觉、触摸、姿势和机器智能的那些。NUI的其它示例包括使用加速度计/陀螺仪的运动姿势检测、面部识别、三维(3D)显示、头部、眼睛和注视追踪、浸入式增强现实和虚拟现实系统,其中的全部提供更加自然的接口,以及用于使用电场感测电极来感测脑部活动的技术(EEG和相关方法)。因此,在一个特定事例中,操作系统812或应用814可以包括作为允许用户经由话音命令操作设备800的话音用户接口的部分的语音识别软件。另外,设备800可以包括允许经由用户的空间姿势的用户交互的输入设备和软件,诸如检测和解释姿势以向游戏应用提供输入。
无线调制解调器860可以耦合到天线891。在一些示例中,使用射频(RF)滤波器并且处理器810不需要选择用于所选频带的天线配置。无线调制解调器860可以支持处理器810与外部设备之间的双向通信。调制解调器860被一般地示出并且可以包括用于与移动通信网络804通信的蜂窝调制解调器和/或其它基于无线电的调制解调器(例如蓝牙854或Wi-Fi 862)。无线调制解调器860可以被配置用于与一个或多个蜂窝网络通信,诸如用于单个蜂窝网络内、蜂窝网络之间或移动设备与公共交换电话网络(PSTN)之间的数据和话音通信的全球移动通信系统(GSM)网络。
移动设备800可以包括至少一个输入/输出端口880、电源882、卫星导航系统接收器884(诸如全球定位系统(GPS)接收器)、加速度计886或物理连接器890,其可以是通用串行总线(USB)端口、IEEE 1394(火线)端口、RS-232端口或其它端口。不要求所图示的组件802或者完全包括所图示的组件802,因为可以删除或添加其他组件。
移动设备800可以包括被配置成提供用于移动设备800的功能的预取逻辑899。例如,预取逻辑899可以提供用于与服务(例如服务760,图7)交互的客户端。本文所描述的示例方法的部分可以通过预取逻辑899执行。类似地,预取逻辑899可以实现本文所描述的装置的部分。
下文包括本文所采用的所选术语的定义。定义包括落在术语的范围内并且可以用于实现的成分的各种示例或形式。示例不意图是限制性的。术语的单数和复数形式二者可以在定义内。
对“一个实施例”、“实施例”、“一个示例”和“示例”的引用指示如此描述的(多个)实施例或(多个)示例可以包括特定特征、结构、特性、性质、元件或限制,但是不是每一个实施例或示例都必然包括该特定特征、结构、特性、性质、元件或限制。另外,短语“在一个实施例中”的重复使用不一定是指相同的实施例,尽管其可以这样。
如本文所使用的“数据储存器”是指可以存储数据的物理或逻辑实体。数据储存器可以例如是数据库、表、文件、列表、队列、堆、存储器、寄存器和其它物理储存库。在不同示例中,数据储存器可以驻留在一个逻辑或物理实体中或者可以在两个或更多逻辑或物理实体之间分布。
如本文所使用的“逻辑”包括但不限于在机器上执行的硬件、固件、软件或每一个的组合以执行(多个)功能或(多个)动作,或者导致来自另一逻辑、方法或系统的功能或动作。逻辑可以包括软件控制的微处理器、分立逻辑(例如ASIC)、模拟电路、数字电路、编程逻辑器件、包含指令的存储器设备和其它物理设备。逻辑可以包括一个或多个门、门的组合或其它电路组件。在描述多个逻辑性逻辑的情况下,可以可能的是将多个逻辑性逻辑并入到一个物理逻辑中。类似地,在描述单个逻辑性逻辑的情况下,可以可能的是将单个逻辑性逻辑分布在多个物理逻辑之间。
在详细描述或权利要求中采用术语“包含”或“包含有”的程度上,其意图以与术语“包括”如该术语在作为权利要求中的过渡词采用时所解释的类似方式是包括性的。
在详细描述或权利要求中采用术语“或”(例如A或B)的程度上,其意图意指“A或B或二者”。当申请人意图指示“仅A或B而不是二者”时,则将采用术语“仅A或B而不是二者”。因此,术语“或”在本文中的使用是包括性的,并且没有排他性的用途。参见BryanA.Garner, A Dictionary of Modern Legal Usage 642 (2d.Ed.1995)。
在本文采用短语“A,B和C中的一个”(例如被配置成存储A,B和C中的一个的数据储存器)的程度上,其意图传达可能性A,B和C的集合(例如数据储存器可以存储仅A,仅B或仅C)。其不意图要求一个A,一个B和一个C。当申请人意图指示“至少一个A,至少一个B和至少一个C”时,则将采用短语“至少一个A,至少一个B和至少一个C”。
在本文采用短语“A,B和C中的一个或多个”(例如被配置成存储A,B和C中的一个或多个的数据储存器)的程度上,其意图传达可能性A, B, C, AB, AC, BC, ABC, AA…A,BB…B, CC…C, AA…ABB…B, AA…ACC…C, BB… BCC…C或AA…ABB…BCC的集合(例如数据储存器可以存储仅A,仅B,仅C,A和B,A和C,B和C,A和B和C,或其包括A,B或C的多个实例的其它组合)。其不意图要求一个A,一个B和一个C。当申请人意图指示“至少一个A,至少一个B,和至少一个C”时,则将采用短语“至少一个A,至少一个B和至少一个C”。
尽管以特定于结构特征或方法动作的语言描述了主题,但是要理解的是,在随附权利要求中限定的主题不必然受限于以上所描述的具体特征或动作。相反,以上所描述的具体特征和动作作为实现权利要求的示例形式而公开。

Claims (10)

1.一种内容预取的方法,包括:
访问移动计算设备访问的内容项目的指纹,其中指纹是内容项目的标识符的匿名混淆;
访问移动计算设备上的指纹数据储存器,其中指纹数据储存器存储与从移动计算设备上的第一内容数据储存器、从与提供用于移动计算设备的内容预取服务的web服务相关联的第二内容数据储存器和从原始服务器可得到的内容项目相关联的指纹;
当至少部分地基于指纹确定内容项目从第一内容数据储存器可得到时:
访问来自第一内容数据储存器的内容项目;并且
向web服务提供指纹和本地命中的通知,
当至少部分地基于指纹确定内容项目从第一内容数据储存器不可得到时,并且当至少部分地基于指纹确定内容项目从第二内容数据储存器可得到时:
访问来自第二内容数据储存器的内容项目;
向web服务提供指纹;
向web服务提供在移动计算设备处本地未中的通知,并且
向web服务提供web服务命中的通知,
以及
当至少部分地基于指纹确定内容项目从第一内容数据储存器不可得到时,并且当至少部分地基于指纹确定内容项目从第二内容数据储存器不可得到时,并且当确定内容项目从原始服务器可得到时:
访问来自原始服务器的内容项目;
向web服务提供指纹;
向web服务提供在移动计算设备处本地未中的通知,并且
向web服务提供web服务未中的通知。
2.根据权利要求1的方法,包括响应于来自移动计算设备的针对内容项目的请求而生成指纹,其中指纹是以下各项的散列:
与内容项目相关联的统一资源定位符、与内容项目相关联的通用资源标识符、与内容项目相关联的全局唯一标识符、与内容项目相关联的存活时间、内容项目的大小、内容项目的对象类型、内容项目的修改日期、内容项目的创建日期或内容项目的语言。
3.根据权利要求1的方法,包括选择性地从移动计算设备向web服务提供一个或多个指纹,其中所述一个或多个指纹标识当前在第一内容数据储存器中可得到的一个或多个内容项目。
4.根据权利要求1的方法,包括选择性地从web服务向移动计算设备提供一个或多个指纹,其中所述一个或多个指纹标识当前在第二内容数据储存器中可得到的一个或多个内容项目。
5.根据权利要求1的方法,包括选择性地向与移动计算设备的用户相关联的另一计算设备异步地提供内容项目或指纹,或者选择性地向与移动计算设备的用户相关联的另一用户异步地提供内容项目或指纹。
6.根据权利要求1的方法,包括:
控制web服务向移动计算设备异步地提供web服务所选择的附加内容项目;
确定用于附加的内容项目的指纹;
将用于附加的内容项目的指纹存储在指纹数据储存器中;
将用于附加的内容项目的指纹存储在web服务处,以及
将附加的内容项目存储在第二内容数据储存器中。
7.根据权利要求6的方法,其中附加的内容项目由web服务根据内容项目与附加的内容项目之间的关系或根据移动计算设备的用户的属性或根据除移动计算设备的用户之外的用户的属性来选择,
其中移动计算设备的用户的属性是内容获取历史、内容获取模式、内容获取位置、内容获取时间或内容获取反常,并且
其中除移动计算设备的用户之外的用户的属性是内容获取历史、内容获取模式、内容获取位置、内容获取时间或内容获取反常。
8.根据权利要求6的方法,其中附加的内容项目与内容项目不相关,并且
其中附加的内容项目由web服务根据经瞄准的广告策略来选择,其中经瞄准的广告策略根据移动计算设备的用户的属性或除移动计算设备的用户之外的用户的属性来选择内容项目。
9.根据权利要求6的方法,包括:
控制web服务以由移动计算设备上的电池荷电水平、提供附加的内容项目的成本、移动计算设备的用户的偏好或移动计算设备的位置确定的速率向移动计算设备提供附加的内容项目,以及
控制web服务至少部分地基于与通信方法相关联的成本选择通过其向移动计算设备提供附加的内容项的通信方法。
10.一种用于内容预取的装置,包括:
处理器;
被配置成存储内容项目或从内容项目得到的指纹的存储器,其中内容项目由装置预测地预取;
被配置成响应于除来自移动计算设备针对内容的请求之外的事件而选择性地向移动计算设备上的数据储存器异步地提供内容项目或从内容项目得到的指纹的逻辑组;以及
连接处理器、存储器和逻辑组的接口;
逻辑组包括:
被配置成选择内容项目的第一逻辑;
被配置成向移动计算设备提供内容项目或指纹的第二逻辑;以及
被配置成利用内容项目或指纹更新存储器的第三逻辑,
其中第二逻辑在至少部分地基于指纹确定内容项目从移动计算设备上的内容数据储存器可得到时,访问来自移动计算设备上的内容数据储存器的内容项目并且向web服务提供指纹和本地命中的通知,
其中第二逻辑在至少部分地基于指纹确定内容项目从移动计算设备上的内容数据储存器不可得到时,并且在至少部分地基于指纹确定内容项目从位于移动计算设备之外的第二内容数据储存器可得到时,访问来自第二内容数据储存器的内容项目,向web服务提供指纹,向web服务提供在移动计算设备处本地未中的通知,并且向web服务提供web服务命中的通知,以及
其中第二逻辑在至少部分地基于指纹确定内容项目从移动计算设备上的内容数据储存器不可得到时,并且在至少部分地基于指纹确定内容项目从第二内容数据储存器不可得到时,并且在确定内容项目从原始服务器可得到时,访问来自原始服务器的内容项目,向web服务提供指纹,向web服务提供在移动计算设备处本地未中的通知,并且向web服务提供web服务未中的通知。
CN201480016123.2A 2013-03-15 2014-03-13 基于指纹的智能内容预取 Active CN105210352B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/832,342 US9009103B2 (en) 2013-03-15 2013-03-15 Fingerprint-based, intelligent, content pre-fetching
US13/832342 2013-03-15
PCT/US2014/025194 WO2014151198A2 (en) 2013-03-15 2014-03-13 Fingerprint-based, intelligent, content pre-fetching

Publications (2)

Publication Number Publication Date
CN105210352A CN105210352A (zh) 2015-12-30
CN105210352B true CN105210352B (zh) 2018-11-16

Family

ID=50625102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480016123.2A Active CN105210352B (zh) 2013-03-15 2014-03-13 基于指纹的智能内容预取

Country Status (4)

Country Link
US (1) US9009103B2 (zh)
EP (1) EP2974231A2 (zh)
CN (1) CN105210352B (zh)
WO (1) WO2014151198A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983233B2 (en) 2011-04-11 2024-05-14 Viasat, Inc. Browser based feedback for optimized web browsing
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
KR102077495B1 (ko) * 2013-07-17 2020-02-14 한국전자통신연구원 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법
US9712627B2 (en) * 2013-07-31 2017-07-18 Ebay Inc. User interface provisioning system
EP3143524A1 (en) * 2014-05-13 2017-03-22 Opera Software AS Web access performance enhancement
US10855797B2 (en) * 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
EP3170335B1 (en) 2014-07-16 2019-12-11 Tensera Networks Ltd. Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day
US9979796B1 (en) 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
US10506027B2 (en) 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US9823922B1 (en) * 2014-12-22 2017-11-21 Amazon Technologies, Inc. Source code mapping through context specific key word indexes and fingerprinting
CN106411823B (zh) * 2015-07-31 2019-07-12 华为技术有限公司 一种基于cdn的访问控制方法及相关设备
US10387676B2 (en) * 2015-09-14 2019-08-20 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
AU2015412569B2 (en) 2015-10-20 2019-09-12 Viasat, Inc. Hint model updating using automated browsing clusters
US10628682B2 (en) 2016-04-29 2020-04-21 International Business Machines Corporation Augmenting gesture based security technology using mobile devices
US9875399B2 (en) 2016-04-29 2018-01-23 International Business Machines Corporation Augmenting gesture based security technology for improved classification and learning
CN106528640B (zh) * 2016-10-13 2019-10-18 厦门中控生物识别信息技术有限公司 一种基于浏览器的指纹校验方法及系统
US20190116239A1 (en) * 2017-10-18 2019-04-18 Tube Incorporated System and method for content delivery on mobile devices
US10630793B2 (en) * 2017-10-19 2020-04-21 Reflektion, Inc. Browser fingerprinting
WO2019079700A1 (en) * 2017-10-19 2019-04-25 Reflektion, Inc. INTERNET BROWSER FOOTPRINT DETERMINATION
US10491592B2 (en) 2017-10-19 2019-11-26 Reflektion, Inc. Cross device user identification
US11005851B2 (en) 2018-08-09 2021-05-11 Camelot Uk Bidco Limited Retrieving digital content over a network
US11354323B2 (en) * 2019-05-10 2022-06-07 Roku, Inc. Content-modification system with geographic area-based feature
US10846506B1 (en) 2019-05-10 2020-11-24 The Nielsen Company (Us), Llc Content-modification system with geographic area-based feature
US11983214B2 (en) * 2021-11-05 2024-05-14 Tencent America LLC Reuse of redundant assets with client query

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1538804A1 (de) * 2003-12-02 2005-06-08 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Verringern des Transportvolumens von Daten in Datennetzen
CN1770156A (zh) * 2004-11-02 2006-05-10 微软公司 对多个同步化数据流加速数据库查找的系统和方法
CN102696233A (zh) * 2009-09-14 2012-09-26 Tivo有限公司 多功能多媒体装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7047485B1 (en) 1999-11-10 2006-05-16 International Business Machines Corporation Intelligent pre-caching on a network
US6701316B1 (en) * 2000-04-07 2004-03-02 Nec Corporation Method and apparatus for intelligent network bandwidth and system resource utilization for web content fetch and refresh
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US8539161B2 (en) * 2009-10-12 2013-09-17 Microsoft Corporation Pre-fetching content items based on social distance
US20120215878A1 (en) * 2010-09-28 2012-08-23 Adam Kidron Content delivery platform apparatuses, methods and systems
US9275162B2 (en) * 2011-03-22 2016-03-01 Blackberry Limited Pre-caching web content for a mobile device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1538804A1 (de) * 2003-12-02 2005-06-08 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Verringern des Transportvolumens von Daten in Datennetzen
CN1770156A (zh) * 2004-11-02 2006-05-10 微软公司 对多个同步化数据流加速数据库查找的系统和方法
CN102696233A (zh) * 2009-09-14 2012-09-26 Tivo有限公司 多功能多媒体装置

Also Published As

Publication number Publication date
WO2014151198A2 (en) 2014-09-25
US9009103B2 (en) 2015-04-14
EP2974231A2 (en) 2016-01-20
WO2014151198A3 (en) 2014-12-31
US20140279851A1 (en) 2014-09-18
CN105210352A (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105210352B (zh) 基于指纹的智能内容预取
US10977311B2 (en) Dynamically modifying elements of user interface based on knowledge graph
US11870864B2 (en) System and method for automatic storyline construction based on determined breaking news
Lee Mining spatio-temporal information on microblogging streams using a density-based online clustering method
US10484329B2 (en) Computerized notification system and method for delivering breaking news content
CN107077691B (zh) 用于确定数据库高速缓存命中的基于年龄的策略
Tang et al. A smart caching mechanism for mobile multimedia in information centric networking with edge computing
US11153253B2 (en) System and method for determining and delivering breaking news utilizing social media
KR101434075B1 (ko) 사용자 콘텐츠 피드를 지원하기 위한 메커니즘
US8516114B2 (en) Method and apparatus for content pre-fetching and preparation
US20110087842A1 (en) Pre-fetching content items based on social distance
US10599656B1 (en) Indexing and data storage for realtime and contemporaneous content suggestions
AU2020202339A1 (en) Notifications on mobile devices
CN109416644A (zh) 用于虚拟机实时迁移的系统和方法
CN106681990B (zh) 一种移动云存储环境下缓存数据的预取方法
CN109815425A (zh) 缓存数据处理方法、装置、计算机设备和存储介质
CN109829077A (zh) 一种页面显示方法、装置和设备
CN110990706B (zh) 语料推荐方法及装置
Zhang et al. Mobile instant video clip sharing with screen scrolling: Measurement and enhancement
EP2783283B1 (en) Mobile content delivery method and device with recommendation-based pre-fetching
US20150026266A1 (en) Share to stream
Li et al. Distributed cache replacement method for geospatial data using spatiotemporal locality-based sequence
Kolb et al. Cloud-based, user-centric mobile application optimization
JP5591608B2 (ja) 情報提供システム、情報提供方法、及び情報提供プログラム
Weber Mobile map browsers: anticipated user interaction for data pre-fetching

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant