CN106664592B - 用于内容分发的方法和系统及相应的计算机可读介质 - Google Patents

用于内容分发的方法和系统及相应的计算机可读介质 Download PDF

Info

Publication number
CN106664592B
CN106664592B CN201580036957.4A CN201580036957A CN106664592B CN 106664592 B CN106664592 B CN 106664592B CN 201580036957 A CN201580036957 A CN 201580036957A CN 106664592 B CN106664592 B CN 106664592B
Authority
CN
China
Prior art keywords
content
prefetching
communication terminal
guaranteed
change
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
CN201580036957.4A
Other languages
English (en)
Other versions
CN106664592A (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.)
Tensera Networks Ltd
Original Assignee
Tensera Networks Ltd
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 Tensera Networks Ltd filed Critical Tensera Networks Ltd
Publication of CN106664592A publication Critical patent/CN106664592A/zh
Application granted granted Critical
Publication of CN106664592B publication Critical patent/CN106664592B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • 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
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/535Tracking the activity of the user
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种用于内容分发的方法,包括定义保证的预取方式,其中内容被连续地从内容源(24)预取到用户(32)的通信终端(28)以便维持通信终端与内容源同步。识别一个或多个时间间隔,用户预期将在所识别的时间间隔期间访问给定内容。在所识别的时间间隔期间,使用保证的预取方式将给定内容从内容源预取到通信终端。

Description

用于内容分发的方法和系统及相应的计算机可读介质
相关申请的交叉引用
该申请要求提交于2014年7月16日的美国临时专利申请62/025,021和提交于2015年1月8日的美国临时专利申请62/100,933的权益,其公开内容通过引用并入本文。
发明领域
本发明总体上涉及内容分发,尤其是涉及用于将内容分发到通信终端的方法和系统。
发明背景
在本领域中已知用于将内容分发到无线用户的各种技术。例如,公开内容通过引用并入本文中的美国专利8,601,052描述了用于对无线便携式计算设备(PCD)执行内容预取的方法和系统。
另一示例,公开内容通过引用并入本文中的美国专利申请公布2010/0161831描述了内容和流量管理系统。移动设备经由通信链路可连接到用户和内容提供商。系统随着时间跟踪各种参数,并调度与响应于用户内容相关的行为、用户通信行为、用户外部行为和通信链路参数的预定义或投射的内容有关的通信。
发明概述
文中所描述的本发明的实施例提供了用于内容分发的方法,包括定义保证的预取方式,在所述保证的预取方式中内容被连续地从内容源预取到用户的通信终端,以便维持通信终端与内容源同步。一个或多个时间间隔被识别,用户预期将在所述一个或多个时间间隔期间访问给定内容。在所识别的时间间隔期间,使用保证的预取方式将给定内容从内容源预取到通信终端。
在一些实施例中,该方法还包括定义不同于保证的预取方式的尽力而为的预取方式(best-effort prefetching mode),以及在所识别的时间间隔以外使用尽力而为的预取方式将给定内容预取到通信终端。在实施例中,使用保证的预取方式预取包括预取小于阈值百分比的被检测为已改变的内容项目,以及使用尽力而为的预取方式预取包括预取大于阈值百分比的被检测为已改变的内容项目。
在一些实施例中,使用保证的预取方式预取给定内容包括在所识别的时间间隔期间连续检测给定内容中的改变,和将改变或改变的内容预取到通信终端。检测改变可包括连续抓取内容源上的内容项目。另外地或可替代地,检测改变可包括从内容源接收指示改变的通知。
在实施例中,识别时间间隔包括通过安装在通信终端中的软件代理监控通信终端的使用模式,和基于该使用模式识别时间间隔。在另一实施例中,识别时间间隔包括监控内容源中的内容改变的时间模式,和基于该内容改变的模式来识别时间间隔。
在又一实施例中,该方法包括响应于内容项目的瞬时特征而决定使用保证的预取方式来预取内容项目。在公开的实施例中,预取给定内容包括将一个或多个候选内容项目指示给通信终端用以预取、通过通信终端选定候选内容项目中的一个或多个以及通过通信终端预取所选定的内容项目。
在另一实施例中,预取给定内容包括将待预取的内容项目的第一签名指示给通信终端、通过通信终端预取内容项目、对预取的内容项目计算第二签名以及仅在第一签名匹配第二签名时将内容项目缓存在通信终端中。在一些实施例中,该方法包括将呈现给用户的一个或多个内容项目在视觉上标记为被预取的。
根据本发明的实施例,另外还提供有包括接口和一个或多个处理器的内容分发系统。接口被配置用于与内容源和用户的通信终端进行通信。该一个或多个处理器被配置为保存保证的预取方式的定义,在保证的预取方式中内容被连续地从内容源预取到通信终端,以便维持通信终端与内容源同步,识别一个或多个时间间隔,用户预期将在所述一个或多个时间间隔期间访问给定内容,并且,在所识别的时间间隔期间,使用保证的预取方式将给定内容从内容源预取到通信终端。
根据本发明的实施例,还提供有计算机软件产品,该产品包括其中储存程序指令的有形的非暂时性计算机可读介质,当该指令由与内容源和用户的通信终端进行通信的内容分发系统的一个或多个处理器读取时,使该一个或多个处理器保存保证的预取方式的定义,在保证的预取方式中内容被连续地从内容源预取到通信终端,以便维持通信终端与内容源同步,自动识别一个或多个时间间隔,用户预期将在所述一个或多个时间间隔期间访问给定内容,并且,在所识别的时间间隔期间,使用保证的预取方式将给定内容从内容源预取到通信终端。
从结合附图进行的本发明的实施例的以下详细描述中,本发明将被更充分地理解,其中:
附图简述
图1是根据本发明的实施例示意性图示内容分发系统的框图;以及
图2是根据本发明的实施例示意性说明用于内容分发的方法的流程图。
具体实施方式
综述
文中所描述的本发明的实施例提供了用于将内容分发到智能电话、平板电脑和其他无线通信终端的方法和系统。在所公开的实施例中,内容分发系统预取来自诸如网站的内容源的内容,以通过无线通信终端进行消费。对于给定终端和给定内容,系统使用至少两种操作方式-保证的预取方式和尽力而为的预取方式。
在保证的预取方式中,系统连续跟踪给定内容中的改变,并确保在终端中缓存的内容与内容源处的内容连续同步。例如,通过连续抓取给定内容的内容项目(例如,网页)和预取已经改变的任何内容项目,可实现这种连续的同步。当在保证的方式下运行时,访问给定内容的用户请求将以非常高的概率从终端的缓存供给,从而提供小的延迟和增强的用户体验。
在尽力而为的预取方式中,没有给出这样的保证,并且预取使用可用资源被尽可能(as feasible)执行。尽力而为的方式招致比保证的方式显著减少的系统资源,但另一方面,由于更高概率的缓存缺失而要求从内容源预取内容,给出了降低的用户体验。
对于给定终端和给定内容,系统通常识别一个或多个时间间隔,用户预期将在所述一个或多个时间间隔期间访问内容。系统在所识别的时间间隔期间使用保证的方式,否则使用尽力而为的方式,将内容预取到终端。在各种实施例中,系统基于各种因素,诸如随着时间推移的用户的内容消费模式、随着时间推移的用户的地理位置模式、以及在不同时间和位置处的不同无线连接性选项的可用性,来自动识别时间间隔。例如,可使用安装在终端中的软件代理来研究这些特性。
所公开的技术通常用于服务消费来自各种内容源的多种多样内容的大量终端。通过使用所公开的技术,在实际上内容被需要的所选定的时间期间,给每个用户保证的快速内容访问。在其他时间,系统资源被分配给其他用户。因此,所公开的技术在最大化可用通信和内容分发资源的利用上是高度有效的,同时保留高质量的用户体验。
系统描述
图1是根据本发明的实施例示意性图示内容分发系统20的框图。系统20预取来自一个或多个内容源24的内容,以供由用户32操作的一个或多个无线通信终端28使用。例如,此类系统可由内容提供商或由无线服务提供商操作。
例如,内容源24可包括网站、门户、内容分发网络(CDN)、数据中心或任何其他合适类型的数据源。例如,终端28可包括蜂窝电话、智能电话、平板电脑、笔记本电脑或能够向用户呈现内容并具有无线通信能力的任何其他合适的设备。在当前背景下,术语“预取”指内容从内容源到无线终端的传递,其不响应于用户对于该内容的直接请求来执行。
系统20的各个组成部分,以及内容源24和终端28,通过一个或多个有线或无线通信网络相互通信。在本示例中,内容源24通过互联网36来访问,并且终端28经由无线网络40(例如,蜂窝网络)访问互联网。因此,从内容源到终端的端到端的内容路径通常包括有线和无线链路两者。
在图1的示例中,系统20包括连接到互联网的预取子系统56和预取设置单元52,以及安装在每个终端28中的各自的预取代理44。每个终端28还包括各自的内容缓存48,用于临时储存内容项目。被缓存在缓存48中的内容项目(例如,网页)能够以小的延迟供给用户32(例如,显示在浏览器上或在终端中运行的App上),而不会招致来自内容源24的内容检索的延迟。
预取子系统56包括用于连接到互联网36的网络接口60、爬虫(crawler)64和内容提供单元68。爬虫64被配置为抓取数据源24中的内容项目、检测内容中的改变并检索所选定的内容项目。内容提供单元68被配置为给终端中的代理44通知用于预取的可用内容,以与代理44来协调该内容的传递,并先于分发对内容进行预处理。在当前背景下,术语“改变”指其内容已被更新的现有内容项目和新生成的内容项目两者。
在各种实施例中,提供单元68可使用多种有效的现有技术,诸如用于安卓设备的谷歌云端推送(GCM)服务或用于iOS设备的苹果推送通知(APN),以将通知发送到代理44。
代理44通常被配置为管理缓存48,以拦截在终端28中生成的内容请求,并适当地从缓存或从内容源供给所请求的内容。在一些实施例中,代理44还被配置为跟踪使用模式用于辅助预取操作,如以下将要描述的。例如,代理44可跟踪随着时间变化的用户的内容消费模式、随着时间变化的终端的地理位置、和在不同时间的不同通信能力的可用性(例如,Wi-Fi对蜂窝接入的可用带宽或可用性)。代理44还可跟踪各种可用的通信信道(例如,Wi-Fi或蜂窝)的特性,诸如拥堵等级、速度、延迟、接收器的信噪比(SNR)、接收器的信道质量指示(CQI)和/或任何其他合适的参数。
代理44通常将所收集的信息提供给预取设置单元52。在一些实施例中,代理44可跟踪、记录和报告额外的信息,诸如终端状态(例如,电池状态、可用的存储器或CPU资源、或错误事件)或网络状态(网络速度和负载、或Wi-Fi连接性的可用性)。
根据由预取设置单元52提供的高层次预取策略,代理44可利用一些收集的信息来决定是否预取内容。例如,代理44可仅在当前接收器的SNR值高于由预取设置单元52提供的某一阈值时决定预取内容。
预取设置单元52通常被配置为基于可用的信息来决定在什么时间和使用哪种预取方式为哪一终端预取哪一内容。下面更详细地对不同的预取方式的使用进行描述。
图1中所示出的系统20的配置及其各个组成部分是示例配置,选定它们仅出于概念清晰的目的。在可替代实施例中,可使用任何其它合适的配置。例如,预取子系统56和预取设置单元52的功能能够使用任意所需数量的处理器或甚至以单一处理器来实现。各个系统功能能够以任何合适的方式在处理器间划分开。在一个实施例中,预取设置单元52被实现为云应用。
在另一实施例中,单元52的功能可在云应用和用户终端中的预取代理44之间分开。在这样的实施例中,云应用可基于使用模式来做出预取决定,但代理44可基于可用的电池功率或其他本地参数来重写这些决定。换句话说,根据任何合适的标准,云应用对于代理44可识别候选内容项目用以预取,并且代理44可选定并预取候选项目中的一个或多个。通过这种方式,减少或消除从代理44向单元52报告本地参数的需要是可能的。
另一示例是,预取代理44可以以各种方式拦截终端28中的内容请求。在一个实施例中,代理44被嵌入在运行于终端28中的应用中,或作为软件开发工具包(SDK)嵌入在应用中。在另一实施例中,终端28可运行代理服务器,该代理服务器由代理44控制并暴露于传入和传出的流量。另外可替代地,所公开的技术能够在没有代理的情况下完全在网络端上实现。
虽然本文中所描述的实施例主要指人类用户32,但术语“用户”还指机器用户。例如,机器用户可包括使用无线通信的各种主机系统,诸如在各种物联网(IoT)应用中。
系统20的不同组成部分可使用合适的软件、使用合适的硬件(例如,使用一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA))、或使用硬件和软件组成部分的组合来实现。缓存48可使用任何合适的存储器或储存设备来实现。在一些实施例中,使用一个或多个通用处理器来实现代理44、预取设置单元52、爬虫64和/或提供单元68,一个或多个通用处理器用软件来编程以执行本文中所描述的功能。例如,可通过网络以电子形式将软件下载到处理器,或者可替代地或另外地,该软件可被提供和/或储存在非暂时性有形媒介上,诸如磁存储器、光学存储器或电子存储器。
使用保证的和尽力而为的预取方式的内容分发
考虑由某一用户32操作的某一终端28。在许多实际情况下,特定用户32根据某种可预测的时间使用模式使用终端28来访问内容。例如,用户通常将在特征时间访问特定数据源(例如,网站),或甚至特定数据源内的特定内容项目(例如,网页)。用户和终端也可根据某种可预测的时间模式在地理上移动。终端的地理位置在不同的时间可对可用的通信信道的质量具有影响。
另外地或可替代地,终端可用的通信资源(例如,Wi-Fi对蜂窝接入或高对低的带宽)也可根据某种可预测的时间模式而变化。其他类型的使用模式可从终端28的各种传感器的读数中获得。例如,加速计读数可以指示终端28长时期是静止的,这可能导致用户很有可能是不活跃的且没有理由为其预取内容的结论。
以上所列出的所有时间模式以及其他合适的模式在本文中统称为使用模式。在当前背景下,术语“时间模式”指跟随时间显示出某种特征行为的任何时间模式。一些时间模式在不同日子可以不同,例如,在工作日和周末或在一个月的不同日子呈现不同的行为。在一些公开的实施例中,系统20学习不同用户和终端的使用模式,并使用该信息以优化到终端的内容的预取。
在一些实施例中,系统20定义保证的预取方式和尽力而为的预取方式,以用在从数据源24预取内容到终端28的缓存存储器48。在保证的方式中,预取子系统56连续跟踪内容中的改变,且提供单元68确保在终端的缓存48中所缓存的内容与内容源处的内容连续同步。在尽力而为的方式中,预取子系统56尽可能使用可用的资源预取内容。
通常,当使用保证的预取方式时,系统20预取少于阈值百分比的被检测为已改变的内容项目。另一方面,当使用尽力而为的预取方式时,系统20通常预取多于阈值百分比的被检测为已改变的内容项目。例如,阈值百分比可包括80%、90%或任何其他合适的值。
在一些实施例中,被预取的内容或当前处于保证的预取方式中的内容本身能够由代理44在视觉上进行标记,使得用户将会注意到它。例如,视频片段的图像上的特定图标可在视觉上向用户标记该片段被系统预取,且因此用户应期待该片段的完美呈现。
在一些实施例中,不管任何特定的终端、用户、使用模式或操作方式,爬虫64都抓取内容源24并检测内容改变。另一方面,取决于使用模式和取决于终端当前是运行在保证的预取方式下还是运行在尽力而为的预取方式下,对于每个终端,提供单元68操作不同。
应注意到的是,即使在保证的预取方式下,例如由于跨越系统的各种延迟,一定残余度的错误同步可能仍保留在内容源24和缓存48之间。这种残余的错误同步通常非常小,因此仍被视为“保证的预取”。不管公开的预取方案,这样的延迟都可能存在于传统的用户对网络的访问中。
另外地或可替代的,一定水平的最大允许的预取“成本”可为保证的预取方式预先指定,以便当预料预取会招致超出预先所指定的成本的资源时,内容将不会被预取。这样的成本可根据用于预取所需的电池能量(例如,如果所需的能量超过阈值则不预取)、整体的电池水平(例如,如果电池能量水平低于阈值则不预取)或任何其他合适的资源来定义。
另外地或可替代地,系统20可指定某些类型的内容项目即使在保证的预取方式下,即使改变了,也不必预取。就这样的内容项目而言缺乏同步仍被认为是“保证的预取”。例如,不需要预取的内容项目可包括对讲或由用户消费的概率足够小的其他项目。
因此,保证的方式具有比尽力而为的方式显著更低的缓存缺失概率(由用户请求的内容将不会在缓存48中找到且将需要从内容源预取的显著更低的概率)。在任一方式中,爬虫64的抓取调度(例如,更新周期和/或抓取的顺序)可基于该内容源中的内容改变的过去模式和/或基于用户的使用模式(例如,由单元52)来设置。
对于给定终端和给定内容(例如,给定网站或网站集合、或指定的网页或网站内的域),保证的和尽力而为的方式之间的更替基于终端的使用模式、内容的改变模式和/或终端和内容的瞬时状况由预取设置单元52指定。
单元52通常识别一个或多个时间间隔,在所述一个或多个时间间隔期间,用户典型地访问给定内容。单元52通知预取子系统56所识别的时间间隔。子系统56在所识别的时间间隔期间使用保证的方式,并在所识别的时间间隔以外使用尽力而为的方式,将给定内容预取到终端。
在一些实施例中,单元52在选定关于保证的预取的时间间隔时,除了使用模式之外还可考虑额外的因素。例如,这样的额外因素可包括,内容项目的瞬时特征,诸如给定内容项目的瞬时评级或受欢迎度。对于给定用户的内容项目的评级可例如通过单元52在各种用户组上,诸如已知与给定用户具有相似品味、内容消费习惯或行为模式的用户,来确定。
例如,考虑瞬时评级非常高的内容项目,诸如重要的体育比赛。在实施例中,这样的事件(occurrence)使预取设置单元52将终端28切换到保证的预取方式,已知该终端的用户32潜在地对这样的内容感兴趣。即使情况不匹配用户的典型使用模式或位置模式,切换也可以发生。
如以上所描述的,单元52在选定用于保证的预取的时间间隔时可考虑的额外的因素包括终端的瞬时状况,诸如电池状况、数据计划状况或传感器读数。在这样的实施例中,单元52的目的可以是降低终端的通信成本(例如,通过考虑用户的价格计划和通信速率)、降低由内容源招致的内容成本或降低电池能耗。如上所述,单元52还可考虑当前内容项目的瞬时评级、或已知与给定用户具有相似行为模式的其他用户的行为。
如上所述,单元52可得出结论,一些用户呈现出罕见和/或零星的内容使用。单元52可决定,在改进这些用户的用户体验上,投资资源是不符合成本效益的。对于这样的用户,单元52可选定没有间隔的连续保证的方式,或甚至是完全没有预取。
可以理解,保证的方式消耗相当多的系统资源——例如,爬虫64的资源,在内容源24、子系统56和终端28中的通信开销等。通过将该方式的使用限制于选定的时间间隔,能够有效地利用系统资源,所述选定的时间间隔在不同的终端中通常不同。
图2是根据本发明的实施例示意性说明用于内容分发的方法的流程图。在使用学习步骤80,方法以预取设置单元52在访问给定内容时学习给定终端的使用模式开始。如以上所解释的,学习步骤通常基于由代理44提供的信息、可由爬虫64提供的与内容改变模式有关的信息、和/或与瞬时内容项目特征有关的信息。
基于该信息,在间隔选定步骤84,单元52指定一个或多个时间间隔用于给定内容到给定终端的保证的预取。如果发现给定终端不活动或很少活动,则单元52可避免给其分配用于保证的预取的任何时间间隔。
在抓取步骤86,爬虫64抓取内容源24并检测内容中的改变。在时间检查步骤88,预取子系统56检查当前的时间是否在所指定的时间间隔中的一个内。如是是,则在保证的预取步骤92,子系统56使用保证的预取方式将给定内容预取到给定终端的缓存48。否则,即,如果当前时间在所指定的时间间隔以外,则在尽力而为的预取步骤96,子系统56使用尽力而为的预取方式,将给定内容预取到给定终端。在任一情况下,方法随后循环返回到步骤80,其中单元52继续学习和更新所讨论的上述终端的使用模式。
另外的变型和实施例
在各种实施例中,内容提供单元68和代理44可使用各种协议,以协调预取内容的传递。在一些实施例中,单元68向代理44发送通知,所述通知指示在缓存48中过期的内容项目(因为爬虫64已经识别出内容源24中的相应的内容项目已经改变)。代理44响应于所述通知请求来自单元68的最新的内容项目。
在示例实施例中,单元68向代理44发送目录,其列出了对于给定时间点的过期的内容项目。在可选的实施例中,单元68向代理44发送目录,其保存了各种内容项目(例如,用户感兴趣的所有内容项目)的最新版本号。对于每个内容项目,代理44决定其保存的版本是否过期,并且如果过期,则可预取新的版本。后者的实施有时是优选的,因为单元68可能不总是具有关于哪个内容项目的哪个版本在缓存48中是可用的完整信息。例如,单元68可能不知道从缓存48删除的项目和已经失败的先前的预取尝试。
在一些实施例中,预取操作本身不必涉及单元68。例如,代理44可从其他网站或内容源预取过期的内容项目。在实施例中,从单元68发送的目录指示位置(例如,URL或URI),代理44应从该位置预取内容项目。
在一些实施例中,从单元68发送到代理44的目录可为每个内容项目指定各自的似然度。具有高似然度的项目即使成本高(例如,不顾缓慢的蜂窝连接)也可由代理44预取,反之,具有较低似然度的项目仅可在较低成本下(例如,当免费高速Wi-Fi连接可用时)才可预取。
在一些实施例中,从单元68发送到代理44的目录包括用于验证将由代理44预取的内容项目的正确性的手段。例如,这样的手段可包括对正确的内容项目计算的签名,诸如循环冗余校验(CRC)值、消息摘要5(MD5)散列值或其他错误检测代码。在这些实施例中,在预取内容项目之后,代理44对预取的项目计算签名,将其与目录中的签名进行比较,并仅当两个签名匹配时将预取的项目保存在缓存48中。该技术对于例如消减预取服务上的各种攻击和对于大体上消减错误预取是有用的。
在以上的示例中,给定内容的保证的预取限于选定的时间间隔。另外,在实施例中,系统20可将特定内容定义为担保的连续保证预取。系统20通常将无条件地使用保证的预取方式来预取该特定内容,而不管当前时间落入选定的时间间隔以内还是以外。
在将内容分发到终端28之前,内容提供单元68可以以各种方式提供从内容源24检索的内容。例如,单元68可压缩内容以便减小通信带宽。任何合适的压缩方案都能够用于该目的。在示例实施例中,单元68可仅发送相对于已经缓存在终端中的内容的差异,或相对于先前缓存的内容对内容进行压缩。
另一示例是单元68可以以促进其在终端处的分发或消费的方式来操纵内容。例如,如果内容包括客户端侧的脚本(例如,嵌入在HTML页面中的JavaScript脚本),单元68可运行该客户端侧的脚本,获取由脚本访问的任何另外的内容,并相应修改HTML页面。换句话说,单元68可将初始包含客户端侧脚本的内容项目分发到终端28,并且即使脚本实际上通过单元68在网络侧上运行,在用户看来该脚本也好像如预期一样在客户端侧上运行。
在其他实施例中,单元68在将内容项目发送到代理44之前对该内容项目进行加密,并且代理44对接收的内容项目进行解密。加密对于例如消减预取服务上的攻击和对于增强版权保护是有用的。
在其他实施例中,单元68可操纵内容项目,以促进到多个终端28的有效传输。例如,单元68可将内容项目划分成共有部分(例如,由门户的所有用户消费的给入)和用户特定部分(例如,仅一部分用户感兴趣的物品)。随后,单元68可通过广播信道将共有部分一道传输给多个用户,而不是将相同的内容部分分别发送给每个用户。广播信道的示例可包括长期演进(LTE)蜂窝标准的演变的多媒体广播组播服务(eMBMS)信道。
在一些实施例中,代理44可在终端28不活动时,例如,在空闲状态时,或当嵌入代理的应用未激活时运行。例如,代理44可偶尔唤醒终端28的至少部分、执行预取和/或测量并切换返回到空闲状态,这些对于用户都是透明的。在实施例中,代理44试图使其唤醒周期中的至少一些与终端的操作系统的那些周期协调,以便减少能耗。
当从单元68接收到指示过期缓存的内容项目的通知时,代理44和单元68可应用任何合适的预取策略,以用于预取内容项目的更新版本。在一些实施例中,更新的内容项目可连同(或代替)通知被发送。该策略可能对于小的内容项目来说(或对于内容项目中的小的差异来说,例如,当使用差异压缩时)是有利的。对于大的内容项目,可以优选的是,首先发送通知,然后允许代理44在选定用于预取的优选时间时有一定灵活性(例如,当合适的网络类型或状况或设备资源是可用的时)。预取策略通常是终端特定的。
在实施例中,单元52负责生成终端特定的预取策略并将其(例如,偶尔或周期地)发送给代理44。例如,可基于由从代理44所发送的使用模式和其他信息得出的对用户32、终端28和网络40的行为的学习,来对策略进行定义。另外地或可替代地,可基于由爬虫64学习和报告的内容源24的行为,来对策略进行定义。例如,内容源行为可涉及内容的改变模式、改变的大小和其他因素。
另外地或可替代地,单元52可根据标准,诸如改进用户体验、降低通信成本或减小功耗,来对预取策略进行定义。例如,单元52可优先将保证预取时间间隔设置为终端连接到Wi-Fi的时间(并且因此具有低成本下的高带宽),或设置在信道和网络状况都有利的时间(并且因此,内容能够以高数据速率和低能耗来传递)。另外地或可替代地,当内容可用于从两个或更多个内容源(例如,不同的CDN)预取时,单元52可在可选的源之中选定最低成本的源。最低成本的内容源很可能是高延迟源,但当使用预取时该事实通常不影响用户体验。
在一些实施例中,可省略爬虫64。例如,在一些实施例中,内容源给系统20(例如,单元52和/或子系统56)提供内容改变的明确通知。在这种情况下,这些通知可直接触发预取而无需抓取内容源。另一示例是,数据源可生成RSS给入,在该情况下,能够监控RSS给入而不是内容项目本身。又一示例是,内容源可保存内容或给入的状态的索引(例如,XML文件)。内容源可通知系统20索引的改变,避免了抓取的需要。另外地或可替代地,系统20响应于内容改变的任何其他合适的指示可触发预取。
在以上的图1的描述中,爬虫64检索并向内容提供单元68分发内容项目的更新版本。在可选实施例中,爬虫可分发指向已经改变的内容项目的位置的指针(例如,统一资源标识-URI)而不是实际的内容。单元68将指针分发到终端28中的代理44,该代理44随后使用指针来检索更新的内容项目。
在一些实施例中,爬虫64仅抓取数据源(或给入)的主要页面。在可替代的实施例中,爬虫64还抓取内部的较低层次的页面。抓取深度还可由单元52指定为预取策略的一部分。
预取子系统56可使用任何合适的技术来向代理44发出内容项目过期的信号。例如,每个内容项目可被分配版本号,该版本号在内容更新时递增。内容源中的版本号比终端28的缓存48中的版本号更新的内容项目可被认为是过期的。预取子系统56可使用版本号,以用于仅发送旧的和新的版本之间的差异,同时保持数据完整性。
在实施例中,单元68可识别以快的速率有规律地更新的内容项目(例如,与正在进行的体育事件有关的内容),并将它们标记为“非版本化的”。在该实施例中,每当代理44获取其他内容项目时,它就将预取非版本化的内容项目,但不以其他方式,或者可替代地避免全部预取这样的项目并将它们从缓存中删除。一旦给定的非版本化内容项目的频繁的改变停止,单元68就可恢复到将版本号分配给内容项目,并相应地对它进行处理。在消费非版本化的数据项目的应用启动期间,如果无线网络是可用的,则代理44将从内容源中实时获取该非版本化的数据项目。如果无线网络不可用,则将供应最近缓存的副本。
虽然本文中所描述的实施例主要解决了用于无线终端的内容预取,但是本文中所描述的方法和系统也可用在其他应用中,诸如用于线路终端(诸如具有到互联网的线路连接的个人计算机)的预取中。
虽然本文中所描述的实施例主要指从网站预取,但所公开的教导还可用于从各种媒介实体预取内容。这样的媒介实体,其在本文中还被视为内容源的类型,例如可包括处理内容项目的其他移动设备、计算机服务器、代理服务器缓存或任何其他合适的实体。当媒介包括另一移动设备时,内容可利用直接的设备到设备的无线链路来取得。
因此,应理解上述实施例是通过实例引用的,本发明并不限于上文已具体示出和描述的内容。相反,本发明的范围包括上文所描述的各种特征以及本领域技术人员在阅读以上描述之后将想到的且未在现有技术中公开的其变型和修改的组合和子组合。通过引用结合在本专利申请中的文档被视为本申请的组成部分,除了在这些结合的文档中定义的任何术语与本说明书中明确地或隐含地作出的定义冲突时,仅应考虑本说明书中的定义。

Claims (21)

1.一种用于内容分发的方法,包括:
定义保证的预取方式,在所述保证的预取方式中内容被连续地从内容源预取到用户的通信终端,以便维持所述通信终端与所述内容源同步;
定义不同于所述保证的预取方式的尽力而为的预取方式;
识别一个或多个时间间隔,所述用户预期将在所识别的时间间隔期间访问给定内容;
通过执行(i)抓取所述内容源和(ii)从所述内容源接收指示内容改变的通知中的一者或者两者来检测所述内容源的内容项目中的所述内容改变;
在所识别的时间间隔期间,使用所述保证的预取方式将所述给定内容从所述内容源预取到所述通信终端;以及
在所识别的时间间隔以外,使用所述尽力而为的预取方式将所述给定内容预取到所述通信终端,
其中,使用所述保证的预取方式预取包括预取小于阈值百分比的内容项目,在该内容项目中内容改变已经被检测到,以及其中,使用所述尽力而为的预取方式预取包括预取大于所述阈值百分比的内容项目,在该内容项目中内容改变已经被检测到。
2.根据权利要求1所述的方法,其中,使用所述保证的预取方式预取所述给定内容包括在所识别的时间间隔期间连续检测所述给定内容中的改变,以及将所述改变或所改变的内容预取到所述通信终端。
3.根据权利要求2所述的方法,其中,检测所述改变包括连续抓取所述内容源上的所述内容项目。
4.根据权利要求2所述的方法,其中,检测所述改变包括从所述内容源接收指示所述改变的通知。
5.根据权利要求1所述的方法,其中,识别所述时间间隔包括通过安装在所述通信终端中的软件代理来监控所述通信终端的使用模式,以及基于所述使用模式来识别所述时间间隔。
6.根据权利要求1所述的方法,其中,识别所述时间间隔包括监控所述内容源中的内容改变的时间模式,以及基于所述内容改变的模式来识别所述时间间隔。
7.根据权利要求1所述的方法,还包括响应于内容项目的瞬时评级或受欢迎度而决定使用所述保证的预取方式来预取所述内容项目。
8.根据权利要求1所述的方法,其中,预取所述给定内容包括将一个或多个候选内容项目指示给所述通信终端用于预取,通过所述通信终端选定所述候选内容项目中的一个或多个以及通过所述通信终端预取所选定的内容项目。
9.根据权利要求1所述的方法,其中,预取所述给定内容包括将待预取的内容项目的第一签名指示给所述通信终端,通过所述通信终端预取所述内容项目,对所预取的内容项目计算第二签名以及仅在所述第一签名匹配所述第二签名时将所述内容项目缓存在所述通信终端中。
10.根据权利要求1所述的方法,还包括将呈现给所述用户的一个或多个内容项目在视觉上标记为被预取的。
11.一种内容分发系统,包括:
接口,所述接口用于与内容源和用户的通信终端通信;以及
一个或多个处理器,所述一个或多个处理器被配置为:
保存保证的预取方式的定义,在所述保证的预取方式中,内容被连续地从所述内容源预取到所述通信终端以便维持所述通信终端与所述内容源同步,并且还保存不同于所述保证的预取方式的尽力而为的预取方式的定义;
识别一个或多个时间间隔,所述用户预期在所识别的时间间隔期间访问给定内容;
通过执行(i)抓取所述内容源和(ii)从所述内容源接收指示内容改变的通知中的一者或者两者来检测所述内容源的内容项目中的所述内容改变;
在所识别的时间间隔期间,使用所述保证的预取方式将所述给定内容从所述内容源预取到所述通信终端;以及
在所识别的时间间隔以外使用所述尽力而为的预取方式将所述给定内容预取到所述通信终端,
其中,所述一个或多个处理器被配置为当使用所述保证的预取方式时,预取小于阈值百分比的内容项目,在该内容项目中内容改变已经被检测到,以及当使用所述尽力而为的预取方式时,预取大于所述阈值百分比的内容项目,在该内容项目中内容改变已经被检测到。
12.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置为在所识别的时间间隔期间连续检测所述给定内容中的改变,以及将所述改变或所改变的内容预取到所述通信终端。
13.根据权利要求12所述的系统,其中,所述一个或多个处理器被配置为通过连续抓取所述内容源上的所述内容项目来检测所述改变。
14.根据权利要求12所述的系统,其中,所述一个或多个处理器被配置为通过从所述内容源接收指示所述改变的通知来检测所述改变。
15.根据权利要求11所述的系统,还包括软件代理,所述软件代理被安装在所述通信终端中并被配置为监控所述通信终端的使用模式,其中,所述一个或多个处理器被配置为基于所述使用模式来识别所述时间间隔。
16.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置为监控所述内容源中的内容改变的时间模式,并基于所述内容改变的模式来识别所述时间间隔。
17.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置为响应于所述内容项目的瞬时评级或受欢迎度而决定使用所述保证的预取方式来预取内容项目。
18.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置为将一个或多个候选内容项目指示给所述通信终端用于预取,并且所述系统包括软件代理,所述软件代理被安装在所述通信终端中并被配置为选定所述候选内容项目中的一个或多个以及预取所选定的内容项目。
19.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置为将待预取的内容项目的第一签名指示给所述通信终端,并且所述系统包括软件代理,所述软件代理被安装在所述通信终端中并被配置为预取所述内容项目,对所预取的内容项目计算第二签名以及仅当所述第一签名匹配所述第二签名时缓存所述内容项目。
20.根据权利要求11所述的系统,还包括软件代理,所述软件代理被安装在所述通信终端中并被配置为将呈现给所述用户的一个或多个内容项目在视觉上标记为被预取的。
21.一种计算机可读介质,存储有计算机程序,所述计算机程序可由与内容源和用户的通信终端通信的内容分发系统的一个或多个处理器执行以实现以下步骤:
保存保证的预取方式的定义,在所述保证的预取方式中内容被连续地从所述内容源预取到所述通信终端以便维持所述通信终端与所述内容源同步,并且还保存不同于所述保证的预取方式的尽力而为的预取方式的定义;
自动识别一个或多个时间间隔,所述用户预期在所识别的时间间隔期间访问给定内容;
通过执行(i)抓取所述内容源和(ii)从所述内容源接收指示内容改变的通知中的一者或者两者来检测所述内容源的内容项目中的所述内容改变;
在所识别的时间间隔期间,使用所述保证的预取方式将所述给定内容从所述内容源预取到所述通信终端;以及
在所识别的时间间隔以外使用所述尽力而为的预取方式将所述给定内容预取到所述通信终端,
其中,所述一个或多个处理器被配置为当使用所述保证的预取方式时,预取小于阈值百分比的内容项目,在该内容项目中内容改变已经被检测到,以及当使用所述尽力而为的预取方式时,预取大于所述阈值百分比的内容项目,在该内容项目中内容改变已经被检测到。
CN201580036957.4A 2014-07-16 2015-04-20 用于内容分发的方法和系统及相应的计算机可读介质 Active CN106664592B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462025021P 2014-07-16 2014-07-16
US62/025,021 2014-07-16
US201562100933P 2015-01-08 2015-01-08
US62/100,933 2015-01-08
PCT/IB2015/052873 WO2016009285A1 (en) 2014-07-16 2015-04-20 Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day

Publications (2)

Publication Number Publication Date
CN106664592A CN106664592A (zh) 2017-05-10
CN106664592B true CN106664592B (zh) 2020-08-18

Family

ID=55075605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580036957.4A Active CN106664592B (zh) 2014-07-16 2015-04-20 用于内容分发的方法和系统及相应的计算机可读介质

Country Status (5)

Country Link
US (1) US9961159B2 (zh)
EP (1) EP3170335B1 (zh)
KR (1) KR102260177B1 (zh)
CN (1) CN106664592B (zh)
WO (1) WO2016009285A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US9979796B1 (en) 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
CN106155764A (zh) 2015-04-23 2016-11-23 阿里巴巴集团控股有限公司 调度虚拟机输入输出资源的方法及装置
US9723470B1 (en) 2015-04-30 2017-08-01 Tensera Networks Ltd. Selective enabling of data services to roaming wireless terminals
CN106201839B (zh) 2015-04-30 2020-02-14 阿里巴巴集团控股有限公司 一种业务对象的信息加载方法和装置
CN106209741B (zh) 2015-05-06 2020-01-03 阿里巴巴集团控股有限公司 一种虚拟主机及隔离方法、资源访问请求处理方法及装置
CN106708819A (zh) 2015-07-17 2017-05-24 阿里巴巴集团控股有限公司 一种数据缓存的预热方法及其装置
CN106487708B (zh) 2015-08-25 2020-03-13 阿里巴巴集团控股有限公司 网络访问请求控制方法和装置
CN106547582A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 一种预处理方法及装置
KR20180069806A (ko) 2015-10-15 2018-06-25 텐세라 네트워크스 리미티드 통신 단말기에서의 콘텐츠의 신선도 인식 프리젠테이션
US10574775B2 (en) * 2015-12-10 2020-02-25 Facebook, Inc. Systems and methods to optimize news feed access
US20190141381A1 (en) * 2016-05-06 2019-05-09 Telstra Corporation Limited Data delivery via a communications network
WO2017212365A1 (en) * 2016-06-05 2017-12-14 Tensera Networks Ltd. User-device based e-commerce server
US10848586B2 (en) * 2016-07-25 2020-11-24 Telefonaktiebolaget Lm Ericsson (Publ) Content delivery network (CDN) for uploading, caching and delivering user content
WO2018234967A1 (en) * 2017-06-19 2018-12-27 Tensera Networks Ltd. SILENT CONTENT UPDATE IN USER DEVICES
US20180364871A1 (en) * 2017-06-20 2018-12-20 International Business Machines Corporation Automatic cognitive adjustment of display content
US11397555B2 (en) 2017-10-26 2022-07-26 Tensera Networks Ltd. Background pre-loading and refreshing of applications with audio inhibition
WO2019171237A1 (en) 2018-03-05 2019-09-12 Tensera Networks Ltd. Application preloading in the presence of user actions
US12099856B2 (en) 2018-03-05 2024-09-24 Tensera Networks Ltd. Robust application preloading with accurate user experience
US11922187B2 (en) 2018-03-05 2024-03-05 Tensera Networks Ltd. Robust application preloading with accurate user experience
US20190306265A1 (en) * 2018-04-02 2019-10-03 Telefonaktiebolaget L M Ericsson (Publ) Group enhanced content delivery
WO2020226684A1 (en) 2019-05-06 2020-11-12 Google Llc Proactive caching of transient assistant action suggestions at a feature phone
CN114144777A (zh) 2019-07-30 2022-03-04 腾赛拉网络有限公司 用户设备中应用用户界面的预渲染
WO2022118131A1 (en) 2020-12-03 2022-06-09 Tensera Networks Preloading of applications having an existing task
WO2022130156A1 (en) 2020-12-20 2022-06-23 Tensera Networks Ltd. Preloading of applications transparently to user

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807180A (zh) * 2009-02-16 2010-08-18 宏达国际电子股份有限公司 移动电子装置及其网页的预处理及显示方法
CN102591963A (zh) * 2011-12-30 2012-07-18 奇智软件(北京)有限公司 网页内容加载控制方法及装置

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311223B1 (en) 1997-11-03 2001-10-30 International Business Machines Corporation Effective transmission of documents in hypertext markup language (HTML)
US6446238B1 (en) * 1999-05-21 2002-09-03 International Business Machines Corporation System and method for updating microcode stored in a non-volatile memory
US20020198991A1 (en) * 2001-06-21 2002-12-26 International Business Machines Corporation Intelligent caching and network management based on location and resource anticipation
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US20030101234A1 (en) * 2001-11-28 2003-05-29 International Business Machines Corporation System and method for indicating whether a document is cached
US7437438B2 (en) 2001-12-27 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for energy efficient data prefetching
US8516114B2 (en) 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
US6868439B2 (en) * 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection
US8195761B2 (en) * 2004-01-13 2012-06-05 International Business Machines Corporation Prefetching web resources based on proxy triggers
US7483941B2 (en) 2004-01-13 2009-01-27 International Business Machines Corporation System and method for dynamically inserting prefetch tags by the web server
US7814195B2 (en) * 2004-09-10 2010-10-12 Sony Corporation Method for data synchronization with mobile wireless devices
US8732610B2 (en) 2004-11-10 2014-05-20 Bt Web Solutions, Llc Method and apparatus for enhanced browsing, using icons to indicate status of content and/or content retrieval
US8732234B2 (en) * 2005-06-07 2014-05-20 Yahoo! Inc. Providing relevant non-requested content to a mobile device
US20070067698A1 (en) * 2005-09-19 2007-03-22 King Steven R Techniques to perform prefetching of content in connection with integrity validation value determination
US8089892B2 (en) 2005-12-15 2012-01-03 Thomson Licensing Adaptive joint source and channel coding scheme for H.264 video multicasting over wireless networks
US8447837B2 (en) 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US8701010B2 (en) * 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US20080253693A1 (en) * 2007-04-10 2008-10-16 Chu Jeff I Method and system for pre-fetching relevant imaging information from multiple healthcare organizations
US20080301300A1 (en) 2007-06-01 2008-12-04 Microsoft Corporation Predictive asynchronous web pre-fetch
US8171135B2 (en) 2007-07-12 2012-05-01 Viasat, Inc. Accumulator for prefetch abort
US9521186B2 (en) 2007-09-13 2016-12-13 International Business Machines Corporation Method and system for file transfer over a messaging infrastructure
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
BRPI0822523A2 (pt) 2008-04-29 2018-06-05 Thomson Licensing método e sistema para adaptar correção antecipada de erro multicast através de redes sem fio
US8028081B2 (en) 2008-05-23 2011-09-27 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
US9336178B2 (en) 2008-12-19 2016-05-10 Velocee Ltd. Optimizing content and communication in multiaccess mobile device exhibiting communication functionalities responsive of tempo spatial parameters
US8312223B2 (en) * 2008-12-23 2012-11-13 International Business Machines Corporation Pre-fetching virtual environment in a virtual universe based on previous traversals
US20110029670A1 (en) 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness
US8655404B1 (en) 2009-11-11 2014-02-18 Gurminder Singh Systems and methods for distributing content with a portable electronic device
US8625667B2 (en) 2009-11-30 2014-01-07 Alcatel Lucent Method of opportunity-based transmission of wireless video
US20110246618A1 (en) 2010-04-02 2011-10-06 Apple Inc. Caching multiple views corresponding to multiple aspect ratios
PL3367252T3 (pl) * 2010-07-26 2020-05-18 Seven Networks, Llc Zarządzanie ruchem z uwzględnieniem kontekstu w celu zaoszczędzenia zasobów w sieci bezprzewodowej
GB2495455B (en) * 2010-07-26 2013-11-13 Seven Networks Inc Prediction of activity session for mobile network use optimization and user experience enhancement
EP3651028A1 (en) 2010-07-26 2020-05-13 Seven Networks, LLC Mobile network traffic coordination across multiple applications
WO2012018556A2 (en) 2010-07-26 2012-02-09 Ari Backholm Mobile application traffic optimization
WO2013015835A1 (en) 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
US9009414B2 (en) 2010-09-21 2015-04-14 Texas Instruments Incorporated Prefetch address hit prediction to reduce memory access latency
US8601052B2 (en) 2010-10-04 2013-12-03 Qualcomm Incorporated System and method of performing domain name server pre-fetching
US9060032B2 (en) * 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
CN102480513B (zh) 2010-11-29 2014-09-10 国际商业机器公司 在社交网络中辅助传递更新内容的装置和方法
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
GB2505585B (en) 2011-04-27 2015-08-12 Seven Networks Inc Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US20160004410A1 (en) 2011-06-27 2016-01-07 Google Inc. Processing Cursor Movements for Predictive Fetching
WO2013000059A1 (en) * 2011-06-29 2013-01-03 Rockstar Bidco, LP Method and apparatus for pre-loading information over a communication network
US8612418B2 (en) 2011-07-14 2013-12-17 Google Inc. Mobile web browser for pre-loading web pages
US9384297B2 (en) * 2011-07-28 2016-07-05 Hewlett Packard Enterprise Development Lp Systems and methods of accelerating delivery of remote content
US8880652B2 (en) * 2011-09-14 2014-11-04 Hewlett-Packard Development Company, L.P. Heuristic browser predictive pre-caching
US8341245B1 (en) 2011-09-26 2012-12-25 Google Inc. Content-facilitated speculative preparation and rendering
EP2761881A4 (en) 2011-09-30 2015-06-17 Intel Corp EXPERIENCE QUALITY IMPROVEMENTS BETWEEN WIRELESS NETWORKS
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US10324916B2 (en) 2012-02-22 2019-06-18 Nokia Technologies Oy Predictive service access
US8849731B2 (en) 2012-02-23 2014-09-30 Microsoft Corporation Content pre-fetching for computing devices
US8566867B1 (en) 2012-04-03 2013-10-22 Google Inc. Pre-fetch ads while serving ads in live stream
US9661047B2 (en) 2012-04-30 2017-05-23 Mobilatv Ltd. Method and system for central utilization of remotely generated large media data streams despite network bandwidth limitations
EP3767961B1 (en) 2012-06-12 2023-03-29 Coherent Logix, Inc. A distributed architecture for encoding and delivering video content
BR122015005194A2 (pt) 2012-06-28 2019-08-20 Ericsson Ab Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top
WO2014018155A1 (en) 2012-07-24 2014-01-30 Penthera Partners, Inc. Video uploading from mobile devices
US8943197B1 (en) 2012-08-16 2015-01-27 Amazon Technologies, Inc. Automated content update notification
US9215269B2 (en) 2012-08-23 2015-12-15 Amazon Technologies, Inc. Predictive caching for content
US9058324B2 (en) 2012-09-28 2015-06-16 Intel Corporation Predictive precaching of data based on context
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9104843B2 (en) 2013-03-15 2015-08-11 Rhapsody International, Inc. Providing content items from alternate sources
US9558508B2 (en) 2013-03-15 2017-01-31 Microsoft Technology Licensing, Llc Energy-efficient mobile advertising
US9009103B2 (en) 2013-03-15 2015-04-14 Microsoft Technology Licensing, Llc Fingerprint-based, intelligent, content pre-fetching
US9603094B2 (en) 2013-06-09 2017-03-21 Apple Inc. Non-waking push notifications
US9392393B2 (en) 2013-06-09 2016-07-12 Apple Inc. Push notification initiated background updates
US9256484B2 (en) 2013-06-09 2016-02-09 Apple Inc. Dynamic adjustment of mobile device based on user activity
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US20140373032A1 (en) 2013-06-12 2014-12-18 Microsoft Corporation Prefetching content for service-connected applications
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
US20140379840A1 (en) 2013-06-24 2014-12-25 Akamai Technologies, Inc. Predictive prefetching of web content
US9065765B2 (en) * 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9813515B2 (en) 2013-10-04 2017-11-07 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation with extension to clients
US9081789B2 (en) 2013-10-28 2015-07-14 Tealium Inc. System for prefetching digital tags
US9819721B2 (en) 2013-10-31 2017-11-14 Akamai Technologies, Inc. Dynamically populated manifests and manifest-based prefetching
US9225522B2 (en) * 2013-12-27 2015-12-29 Linkedin Corporation Techniques for populating a content stream on a mobile device
US9591095B2 (en) 2014-03-10 2017-03-07 Microsoft Technology Licensing, Llc Prefetching application data for periods of disconnectivity
US10117600B2 (en) 2014-04-15 2018-11-06 Apple Inc. Pacing activity data of a user
US9465679B2 (en) 2014-05-30 2016-10-11 Apple Inc. Dynamic adjustment of mobile device based on adaptive prediction of system events
US10528872B2 (en) 2014-05-30 2020-01-07 Apple Inc. Methods and system for managing predictive models
US9432839B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on thermal conditions
US9813990B2 (en) 2014-05-30 2017-11-07 Apple Inc. Dynamic adjustment of mobile device based on voter feedback
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US9411572B2 (en) 2014-06-09 2016-08-09 Paypal, Inc. Systems and methods for location-based application installation
US9646254B2 (en) * 2014-06-20 2017-05-09 Amazon Technologies, Inc. Predicting next web pages
US10506027B2 (en) * 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US10771583B2 (en) 2014-12-29 2020-09-08 Akamai Technologies, Inc. Managing mobile device user subscription and service preferences to predictively pre-fetch content
US10063653B2 (en) 2014-12-29 2018-08-28 Akamai Technologies, Inc. Distributed server architecture for supporting a predictive content pre-fetching service for mobile device users
US9860336B2 (en) * 2015-10-29 2018-01-02 International Business Machines Corporation Mitigating service disruptions using mobile prefetching based on predicted dead spots

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807180A (zh) * 2009-02-16 2010-08-18 宏达国际电子股份有限公司 移动电子装置及其网页的预处理及显示方法
CN102591963A (zh) * 2011-12-30 2012-07-18 奇智软件(北京)有限公司 网页内容加载控制方法及装置

Also Published As

Publication number Publication date
WO2016009285A1 (en) 2016-01-21
US20160021211A1 (en) 2016-01-21
EP3170335B1 (en) 2019-12-11
KR102260177B1 (ko) 2021-06-04
CN106664592A (zh) 2017-05-10
EP3170335A4 (en) 2018-01-10
US9961159B2 (en) 2018-05-01
EP3170335A1 (en) 2017-05-24
KR20170031702A (ko) 2017-03-21

Similar Documents

Publication Publication Date Title
CN106664592B (zh) 用于内容分发的方法和系统及相应的计算机可读介质
US11128729B2 (en) Efficient content delivery over wireless networks using guaranteed prefetching
US11509741B2 (en) Managing mobile device user subscription and service preferences to predictively pre-fetch content
US9979796B1 (en) Efficient pre-fetching notifications
EP2653987B1 (en) Displaying web pages without downloading static files
US20180241837A1 (en) Efficient Pre-Fetching Notifications
US8688771B2 (en) Method of providing content to a mobile web browsing device
US10909104B2 (en) Caching of updated network content portions
US20100235329A1 (en) System and method of embedding second content in first content
US11283895B2 (en) Silent updating of content in user devices
US20170111465A1 (en) Freshness-aware presentation of content in communication terminals
US20140089467A1 (en) Content stream delivery using pre-loaded segments
KR20140128446A (ko) 공유 메타 정보에 기초한 웹페이지들의 협력형 로딩
US8892684B2 (en) Dynamic selection of resources for compression in a content delivery network
US9471533B1 (en) Defenses against use of tainted cache
CN103106216A (zh) 一种网页访问方法和设备
KR20160143666A (ko) 다이내믹 캐시 할당 및 네트워크 관리
WO2015010104A1 (en) Content source discovery
CN106790334A (zh) 一种页面数据传输方法及系统
US20200128095A1 (en) Dynamic Edge Cache Content Management
US9398066B1 (en) Server defenses against use of tainted cache
CN110855786B (zh) 针对网络数据请求的处理方法、设备及计算机存储介质
US10706119B1 (en) Content prefetching to user devices based on rendering characteristics
Neves et al. Leveraging Web prefetching systems with data deduplication
WO2018234949A1 (en) PRE-EXTRACTION OF CONTENT IN PRESENCE OF A / B TEST

Legal Events

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