CN106104626B - 基于分析的数字内容的更新 - Google Patents
基于分析的数字内容的更新 Download PDFInfo
- Publication number
- CN106104626B CN106104626B CN201580013019.2A CN201580013019A CN106104626B CN 106104626 B CN106104626 B CN 106104626B CN 201580013019 A CN201580013019 A CN 201580013019A CN 106104626 B CN106104626 B CN 106104626B
- Authority
- CN
- China
- Prior art keywords
- client device
- digital content
- time intervals
- content
- prediction
- 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
Links
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/01—Protocols
-
- 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/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
- Automation & Control Theory (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
Abstract
更新客户端设备上的内容。接收描述用户如何使用客户端设备来消费数字内容的分析数据。由客户端设备响应于用户如何使用该客户端设备消费数字内容的观察生成分析数据。基于该分析数据来生成预测模型并且使用其来预测用户将在何时在客户端设备上消费数字内容。描述所述预测的预测数据被提供给客户端设备。客户端设备使该用预测数据来在用户被预测要在客户端设备上消费数字内容之前请求更新的数字内容。
Description
技术领域
本公开大体上涉及电子媒体领域,具体涉及更新客户端设备所保存的数字内容。
背景技术
用户使用诸如移动电话和平板计算机的客户端设备来消费许多类型的数字内容。例如,内容能够包括新闻、电子书、视频、和音频内容。客户端设备常常将内容本地地存储在设备上,使得用户可容易地获得内容。
诸如新闻内容的一些类型的内容频繁地改变。因此,客户端设备频繁地更新存储在客户端设备上的内容以便在用户使用客户端设备时向用户提供新鲜的内容。客户端设备通过从一个或多个内容服务器获取内容来更新内容。例如,客户端设备可以被配置为按照设定的时程——诸如每四小时从内容服务器获取更新的内容。
然而,内容服务器难以支持大规模的内容更新。可能存在数以百万计的向内容服务器请求更新的内容的客户端设备。支持这样多的客户端设备需要大量服务器和网络资源。此外,难以随着客户端以及伴随的更新请求的数目增加来扩大可用资源。由于并非每一个客户端设备均需要按照所设定的时程的更新,所以以这种方式进行更新也是浪费的。如果用户在近期内不太可能消费内容,则客户端设备可能不需要内容更新。例如,如果用户已入睡,则在半夜可能不需要更新内容。
发明内容
公开了一种更新客户端设备上的内容的计算机实现的方法。该方法的实施例包括:接收描述用户如何使用客户端设备来消费数字内容的分析(analytics)数据。该方法的实施例还包括:基于该分析数据来生成预测模型并且使用所述预测模型来预测该用户将在何时在客户端设备上消费数字内容。基于对用户将在何时在客户端设备上消费数字内容的预测来将更新的数字内容提供给客户端设备。
本公开的另一方面是一种非暂时性计算机可读存储介质,所述计算机可读存储介质存储用于更新客户端设备上的内容的可执行计算机程序指令。所述计算机程序指令包括指令以用于接收分析数据,所述分析数据描述用户如何使用客户端设备来消费数字内容。所述计算机程序指令还包括指令以用于:基于分析数据来生成预测模型、使用所述预测模型来预测用户将在何时在客户端设备上消费数字内容、以及基于对用户将在何时在客户端设备上消费数字内容的预测来将更新的数字内容提供给该客户端设备。
本公开的另一方面提供一种用于消费数字内容的客户端设备。该客户端设备的一个实施例包括:用于执行计算机程序指令的计算机处理器以及存储计算机程序指令的非暂时性计算机可读存储介质。所述计算机程序指令可执行以实施步骤,所述步骤包括:确定描述用户如何使用客户端设备来消费数字内容的分析数据;以及基于该分析数据来生成预测数据,所述预测数据描述用户被预测在何时在客户端设备上消费数字内容。所述计算机程序指令可执行以还执行如下步骤:在响应于预测数据所确定的用户被预测在客户端设备上消费数字内容的时间之前的时间,向服务器请求更新的数字内容。
本说明书中所描述的特征和优点并非是包含一切的,具体地讲,许多附加特征和优点将根据附图、说明书、和权利要求书而对本领域普通技术人员变得显而易见。此外,应当注意的是,说明书中所使用的语言主要是出于可读性和指导的目的而选择,而且可能并非被选择用于叙述或限制所公开的主题。
附图说明
图1是根据一个实施例的用于支持对数字内容的基于分析的更新的计算环境的高层级框图。
图2是图示在一个实施例中的用于充当客户端设备和/或内容服务器的计算机的示例的高层级框图。
图3是图示根据一个实施例的内容服务器的预测模块的高层级框图。
图4是图示根据一个实施例的客户端设备上的呈现模块的高层级框图。
图5是图示根据一个实施例的由内容服务器实现的基于分析数据来更新用户的内容的过程的流程图。
图6是图示根据一个实施例的由客户端设备实现的将更新的内容提供给用户的过程的流程图。
具体实施例
附图和以下描述仅通过说明的方式描述了某些实施例。本领域技术人员将从以下描述容易地认识到,在不脱离本文所描述的原理的情况下,可以采用本文所示的结构和方法的替选实施例。现在将详细参照多个实施例,其示例被图示于附图中。需要注意的是,只要可行,在附图中可以使用相似或相同的附图标记来指示相似或相同的功能。
系统概览
在本公开中,“数字内容”通常指代任何机器可读和机器可存储工作产品,诸如数字新闻内容(例如,数字报纸、数字新闻故事、电子杂志等)、电子书(e-book)、视频、以及音乐文件。以下讨论聚焦于数字新闻内容。然而,下面所描述的技术也能够被用于其它类型的数字内容。出于清晰和简明,在以下讨论中描述“数字内容”或“数字新闻内容”时有时可以省略“数字”。例如,在下文中,“数字内容”可以被称作“内容”并且“数字新闻内容”可以被称作“新闻内容”或者甚至通过进一步省略“内容”来被称作“新闻”。
图1示出根据一个实施例的支持基于分析的内容更新的计算环境100。计算环境100包括通过网络150连接的内容服务器110、内容源130、以及多个客户端设备170。图1中仅示出一个内容服务器110、一个内容源130、和三个客户端设备170以便使描述简单和清晰。计算环境100的实施例能够具有连接至网络150的许多内容服务器110、内容源130、和客户端设备170。同样,图1的各种实体所执行的功能在不同的实施例中可以不同。
内容源130用作数字内容的始发者。例如,内容源130包括连接至网络150以用于提供各种不同类型的内容的一个或更多个服务器。在一个实施例中,内容源130将内容提供给内容服务器110,并且内容服务器将内容提供给客户端设备170。在其它实施例中,内容源130将内容直接提供给客户端设备170。
客户端设备170是一个或多个用户用来执行诸如消费数字内容、执行软件应用、浏览网络150上web服务器所托管的网站、下载文件、以及与内容服务器110交互的功能的电子设备。例如,客户端设备170可以是专用电子阅读器、智能电话、或者平板计算机、笔记本计算机、或台式计算机。客户端设备170包括显示设备和/或与显示设备对接,该显示设备将内容呈现给用户。另外,客户端设备170提供诸如物理和/或屏幕上按钮的用户接口(UI),用户可以利用该UI来与客户端设备170交互以执行诸如消费、选择、和购买内容的功能。
在一个实施例中,客户端设备170包括呈现模块175。客户端设备170的其它实施例包括不同和/或附加的模块。另外,所述功能可以以与本文所述的方式不同的方式来在模块之间分布。
呈现模块175获得数字内容并将其呈现给客户端设备170的用户。在一个实施例中,呈现模块175收集描述客户端设备170的状态以及用户如何使用客户端设备170来消费内容的分析数据。呈现模块175将分析数据提供给内容服务器110。另外,呈现模块175从内容服务器110接收指示据预测用户何时在客户端设备170上消费内容的预测数据。呈现模块175使用预测数据来确定何时向内容服务器110请求内容。例如,呈现模块175可以在用户被预测要在客户端设备170上消费新闻内容之前不久向内容服务器110请求更新的新闻内容。在其它实施例中,呈现模块175基于内容服务器所作的预测来从内容服务器110自动接收推送的更新内容。按照任一方式,用户能够经由客户端设备170消费最新内容,并且降低了客户端设备170进行不必要的内容更新的可能性。在下面参照图4对示例性呈现模块175进行更详细地描述。
内容服务器110经由网络150将预测数据和数字内容提供给客户端设备170。在一个实施例中,内容服务器110存储从内容源130收集的数字内容。在另一实施例中,内容服务器110用作客户端设备170与内容源130之间的接口,但是不存储内容。
内容服务器110包括内容模块113和预测模块115。内容服务器110的其它实施例包括不同和/或附加的模块。另外,所述功能可以以与本文所述的方式不同的方式来在模块之间分布。
内容模块113处理来自客户端设备170的内容请求。通常,内容模块113从客户端设备170接收对于内容的请求并且通过提供所请求的内容来响应请求。例如,内容模块113可以从客户端设备170接收对于更新的新闻内容的请求并且通过提供该新闻内容来响应请求。内容模块113还可向客户端设备170推送内容。
预测模块115做出描述用户很可能如何以及何时使用客户端设备170来消费内容的预测,并且将描述所述预测的预测数据提供给客户端设备170。在一个实施例中,预测模块115接收由客户端设备170收集的分析数据。预测模块115处理分析数据以预测用户利用客户端设备170来消费数字内容的未来使用。然后,预测模块115将描述所述预测的预测数据发送至客户端设备170和/或使用该预测数据来对向客户端设备170推送的内容进行排定(schedule)。
客户端设备170能够基于预测信息来为用户排定对于更新的内容的请求并进行所述请求。有益的是,预测模块115在用户使用其客户端设备170时向用户提供更新的内容。另外,通过使得客户端设备170能够在很可能要对内容进行消费时更新该内容,所述预测减少了与不必要的内容更新相关联的服务器和客户端设备资源的消耗。下面参照图3来对示例性预测模块115进行更详细地描述。
网络150使得内容源130、内容服务器110、和客户端设备170间能够通信,并且能够包括互联网。在一个实施例中,网络150使用标准通信技术和/或协议。在另一实施例中,所述实体能够使用定制和/或专用的数据通信技术。
在这里所讨论的系统收集关于用户的个人信息、或者可能利用个人信息的情况下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如,关于用户已经阅读的数字新闻内容、用户的社交网络、社交行动或活动、职业、用户的偏好、或者用户的当前位置的信息)或者控制是否和/或如何从内容服务器110接收可能与用户更相关的内容。另外,某些数据其在被存储或使用之前可以以一种或多种方式来被处理,使得个人可识别信息被去除。例如,用户的身份可以被处理以使得无法确定用户的个人可识别信息,或者在获得位置信息的情况下用户的地理位置可以被一般化(例如到城市、邮政编码、或者州级别),使得无法确定用户的特定位置。因此,用户可以控制关于用户的信息如何被收集以及如何被存储服务器110使用。
计算系统架构
使用一个或多个计算机来实现图1所示的实体。图2是充当内容服务器110、内容源130、和/或客户端设备170的计算机200的高层级框图。所图示的为耦合至芯片组204的至少一个处理器202。存储器206、存储设备208、键盘210、图形适配器212、指示设备214、和网络适配器216也耦合至芯片组204。显示器218被耦合至图形适配器212。在一个实施例中,芯片组204的功能由存储器控制器中枢220和I/O控制器中枢222提供。在另一实施例中,存储器206被直接耦合至处理器202而非芯片组204。
存储设备208是任何非暂时性计算机可读存储介质,诸如硬盘驱动器、光盘只读存储器(CD-ROM)、DVD、或者固态存储器设备的。存储器206保存处理器202所使用的指令和数据。指示设备214可以是鼠标、轨迹球、或者其它类型的指示设备,并且与键盘210组合使用以向计算机系统200中输入数据。图形适配器212在显示器218上显示图像和其它信息。网络适配器216将计算机系统200耦合至网络150。
如本领域中已知的,计算机200能够具有与图2所示的那些组件不同和/或除其以外的组件。另外,计算机200能够缺少某些图示的组件。例如,充当内容服务器110的计算机能够由被链接在一起成为一个或多个分布式系统的多个刀片服务器形成,并且缺少诸如键盘和显示器的组件。此外,存储设备208可能够在计算机200的本地和/或远程(诸如被包含在存储域网络(SAN)内)。
如本领域中已知的,计算机200适于执行用于提供本文所述的功能的计算机程序模块。如本文所用,术语“模块”指代被利用来提供指定的功能的计算机程序逻辑。因此,模块能够被实现在硬件、固件、和/或软件中。在一个实施例中,程序模块被存储在存储设备208上,被加载到存储器206中,并由处理器202执行。
基于分析的数字内容更新
图3是图示根据一个实施例的内容服务器110的预测模块115的高层级框图。在所示的实施例中,预测模块115具有数据库310、分析模块320、模型生成模块330、预测生成模块340、和预测报告模块350。本领域技术人员将认识到,预测模块115的其它实施例能够具有与这里所描述的模块不同和/或附加的模块,并且所述功能可以以不同的方式来在模块间分配。
数据库310存储从客户端设备170接收的分析数据以及基于该分析数据所生成的预测数据。在一些实施例中,数据库310还存储被预测模块115内的模块用来实现本文所述的功能的其它数据。
分析模块320从客户端设备170接收分析数据并且将分析数据存储在数据库310中。分析数据描述用户如何使用客户端设备170(例如,客户端设备170中的应用)来消费数字内容。在一个实施例中,分析数据被表示为一系列“事件”,其中每个事件描述客户端设备170的状态的改变。
事件可以包括描述与客户端设备170的用户交互的状态改变。例如,事件可以描述与用户的内容消费相关的动作,例如用户在客户端设备170上打开新闻应用、翻动内容页、在内容页上上下滚动、将内容放大或缩小、关闭新闻应用、与其他用户共享内容;保存或复制内容、将内容添加至收藏列表等。在一个实施例中,分析数据还可以包括与事件相关联的信息。例如,分析数据可以包括与事件相关的日期和时间信息、位置信息、内容信息、用户和客户端设备标识符等。具体地,分析数据可以描述用户何时、何处使用客户端设备170进行阅读、或者使用客户端设备170阅读了什么内容。
事件还可以包括不直接与用户的内容消费相关的客户端设备170的状态改变。例如,事件可以描述客户端设备170的电池电量、客户端设备170是否具有网络连接、客户端设备170的配置的描述等。其它实施例也可以包括本文所述的事件以外的附加和/或不同的事件。
共同地,分析数据中的事件以及相关联的场境信息描述用户如何使用客户端设备170。例如,分析数据可以描述在其期间用户使用客户端设备170来消费内容的使用会话。分析数据描述这些使用会话往往在何时发生以及在各个使用会话期间用户往往会消费的内容的量和类型。分析数据还描述客户端设备170往往具有或不具有网络连接的时间段。
在一个实施例中,分析模块320周期性地从客户端设备170接收分析数据。例如,分析模块320可以以特定时间间隔——诸如每日、每周或每月从客户端设备170接收包含最新分析数据的报告。在另一实施例中,分析模块320在发生事件后、在发生阈值数目的事件后、和/或在其它时间从客户端设备170接收关于用户的消费的分析数据。
模型生成模块330生成预测模型以用于基于描述以往的使用的分析数据来预测用户在未来将如何以及将在何时使用客户端设备170。在一个实施例中,模型生成模块330对分析数据应用机器学习技术并且为用户及其相应的客户端设备170生成预测模型。即,模型生成模块330为每个客户端设备170的每个用户生成单独的模型。
模型生成模块330通过定义特征空间来创建模型,所述特征空间指定能够进行预测的特征。在一个实施例中,模型生成模块330定义特征空间,其包括周内日(例如星期一至星期日)并且将每一天分段为48个30分钟的时间间隔。因此,特征空间包含48*7=336个时间间隔,其中用户可使用用户的客户端设备170来消费或者不消费内容。其它实施例使用不同的特征空间,诸如表示月内日或年内日的特征空间、或者将一天划分为不同长度的时间间隔的特征空间。另外,特征空间可以包括因素如:用户订阅的内容源的数目、以及在时间间隔期间客户端设备170是否具有网络连接。
模型生成模块330根据该特征空间来对用户和客户端设备170的分析数据进行分析以预测在未来用户何时将使用客户端设备170消费内容。在一个实施例中,模型生成模块330训练机器学习分类器来进行预测。分类器是分析数据并使用机器学习技术来识别其中发现的模式的统计模型。具体地,模型生成模块330使用利用高斯核(Gaussian Kernel)的支持向量机(SVM)分类器作为分类器。
模型生成模块330使用用户的历史分析数据来训练模型。在给定特征空间的情况下,模型生成模块330将用户在其中没有使用客户端设备170消费内容的时间间隔视为负训练示例,并且将用户在其中使用客户端设备170消费内容的时间间隔视为正训练示例。模型生成模块330在这些示例上训练以构建指示用户在给定的未来时间间隔中是否很可能使用客户端设备170的模型。具体地,模型对于每个时间间隔输出指示在该时间间隔中是否用户被预测将使用客户端设备170消费内容的二进制值。在一个简单的示例中,如果分析数据指示用户在星期一上午8:00-8:30之间的时间间隔中总是使用客户端设备170消费内容,则模型对于未来的星期一的相同时间间隔将很可能预测用户将消费内容。
此外,随着从用户的客户端设备170接收新的分析数据,模型生成模块330随时间来细化模型。与相比,模型生成模块330还可以向较新的分析数据赋予比较旧的分析数据更大的权重,使得模型更准确地反映用户当前对客户端设备170的使用。模型生成模块330还可使用模型来进行附加预测,诸如用户的客户端设备170很可能在哪个时间间隔具有网络连接的预测。
预测生成模块340使用模型生成模块330所生成的模型来作出对于用户和客户端设备170的预测。预测生成模块340将对于用户的当前分析数据(例如比被用于训练分类器的历史数据更新的分析数据)应用于在历史分析数据上训练的分类器,以进行对于用户的当前预测。如上所述,该预测指示用户被预测要在其中使用客户端设备170消费内容的即将到来的时间间隔。在一个实施例中,预测是指示用户被预测要在其中使用客户端设备170的所限定的时间间隔的二进制值。例如,预测可以指示在星期一至星期五上午8:00-8:30之间以及在星期六和星期日上午10:00-10:30之间用户将使用客户端设备170消费内容。预测生成模块340将预测保存在数据库310中作为预测数据。
在一个实施例中,预测生成模块340按照基于预定时间的时程来进行预测。例如,预测生成模块340可以以固定的时程——诸如每24小时来执行以对于所有用户和客户端设备170或其子集进行预测。预测生成模块340还可以使用响应于预测的结果所确定的时程来进行预测。例如,预测生成模块340可以在每N个预测使用间隔之后进行预测,其中N为整数。因此,预测生成模块340可以预测在即将到来的七天中用户在其中很可能要使用客户端设备170的间隔,并且将模型的下一次执行排定在第4个这样的预测使用间隔之后。后一种技术在期望进行准确、最新的预测与产生预测所需的计算资源之间进行平衡。预测生成模块340可以进一步对于未来的指定时间进行预测。例如,预测生成模块340可以仅对于接下来的24小时(即对于下一天)内的时间间隔进行预测。
在一个实施例中,预测生成模块340按照基于用户的活跃度(activeness)来确定的时程进行预测。例如,预测生成模块340基于用户最后活动的时间来对于用户进行预测。如果用户在预定时间段(例如一周)内不活动,则预测生成模块340可以不对于用户进行预测直至用户再次变得活动为止。
预测报告模块350将预测生成模块340所作出的预测提供给客户端设备170。在一个实施例中,预测报告模块350响应于来自客户端设备170的对于更新的内容的请求来将预测数据提供给客户端设备170。因此,当客户端设备170向内容服务器110请求内容时,除了所请求的内容以外预测报告模块350还将预测数据提供给客户端设备170。
预测报告模块350可以使用各种技术中的一个或多个来将预测数据提供给客户端设备170。在一个实施例中,预测报告模块350以指令的形式来提供预测数据,所述指令告诉客户端设备170何时进行未来的内容请求。为此,预测报告模块350分析对于用户和客户端设备170的预测数据以确定用户被预测在何时使用客户端设备170来消费内容。然后,预测报告模块350将内容请求排定在用户被预测要消费内容的时间之前的时间发生。预测报告模块350将所排定的内容请求提供给客户端设备170作为指令,使得客户端设备170在用户消费内容之前刷新该内容。预测的内容消费之前的时间量在不同的实施例中能够不同,并且也能够是可由用户或管理员配置的。例如,更新时间可在用户被预测要消费内容之前的5-30分钟之间。因此,如果用户被预测要在下午3:30消费内容,则预测报告模块350可以将内容请求排定在下午3:25,使得客户端设备170在用户开始消费内容之前已经对其进行了刷新。
预测报告模块350在对内容请求进行排定时还可以考虑到其它因素。例如,预测报告模块350在对内容请求进行排定时可以使用客户端设备的网络连接作为因素,以通过将该请求排定在客户端设备170被预测将具有连接的时间来进行排定。因此,预测报告模块350会将内容请求排定在预测的内容消费之前客户端设备170被预测将具有网络连接的时间段。
如果使用上述技术,则预测报告模块350所提供的预测数据可以为客户端设备170指定一个或多个内容请求时间。因此,预测数据能够为客户端设备170指定单个的接下来排定的内容请求,或者能够指定多个未来排定的内容请求。然后,当客户端设备170进行先前排定的内容请求时,预测报告模块350向客户端设备170提供新的预测数据(即,随后排定的内容请求)。
在另一实施例中,预测报告模块350将实际预测提供给客户端设备170作为预测数据。因此,预测报告模块350提供用户被预测要使用客户端设备170消费内容的未来时间间隔的列表。例如,预测数据能够作为二进制值的向量被发送,向量中的每个部分表示特定时间间隔以及该位置处的值指示预测。然后,客户端设备170使用预测数据中的时间间隔来确定将内容更新请求排定在何时。
在一个实施例中,预测报告模块350基于预测生成模块340所作的预测来向客户端设备170推送内容。例如,预测报告模块350从预测生成模块340接收指示用户何时将在客户端设备170上消费内容的预测数据。然后,预测报告模块350在用户被预测要在客户端设备170上消费内容之前不久将更新的内容发送至客户端设备170。换言之,预测报告模块350在不从客户端设备170接收任何内容请求的情况下将内容提供给客户端设备170。
图4是图示根据一个实施例的客户端设备170上的呈现模块175的高层级框图。所示的呈现模块175包括分析报告模块410、请求排定模块420、和内容请求模块430。呈现模块175的其它实施例包括不同和/或附加的模块。另外,所述功能可以与本文所述的方式不同的方式在模块之间分布。
分析报告模块410捕获分析数据并且将分析数据提供给内容服务器110。如上所述,分析数据描述用户如何使用客户端设备170。在一个实施例中,分析报告模块410观察用户如何使用客户端设备170消费数字内容并且基于所述观察生成分析数据。例如,分析报告模块410可以被集成到在客户端设备170上执行的内容消费应用中以便经由该应用来捕获关于用户对内容进行阅读的事件并且从其生成分析数据。
请求排定模块420基于所接收的预测数据来确定何时向内容服务器110请求内容更新。在一个实施例中,预测数据指定客户端设备170应当在何时请求内容更新。在这种情况下,请求排定模块420将内容更新排定在指定的时间。
在另一实施例中,预测数据指定用户被预测要在其中使用客户端设备170消费内容的未来时间间隔的列表。在后者这个实施例中,请求排定模块420分析预测数据来确定将内容更新请求排定在何时。例如,请求排定模块420可将内容更新请求排定在用户被预测将要使用客户端设备170消费内容之前和/或排定在用户被预期将消费内容时之前客户端设备170被预测将具有网络连接的时间,类似于预测报告模块350对内容请求进行排定的方式。
内容请求模块430向内容服务器110请求并从其接收内容。在一个实施例中,内容请求模块430基于请求排定模块420所指定的时程来向内容服务器110发送对于更新的内容的请求。例如,请求排定模块420可以在所排定的时间激活内容请求模块430。内容请求模块430将所接收的内容存储在客户端设备170处,使得用户可以消费内容。
在一个实施例中,请求排定模块420和内容请求模块430是客户端设备170的可选组件。例如,客户端设备170能够从内容服务器110自动接收更新的内容,而无需对请求进行排定或者向内容服务器110发送请求。相应地,如上面参照图3所描述的,预测报告模块350能够基于预测来向客户端设备170推送内容,而无需客户端设备170请求内容。因此,在这样的实施例中,客户端设备170可以不包括请求排定模块420和内容请求模块430。
此外,客户端设备170的一些实施例执行上面参照图3所描述的内容服务器110的一个或多个功能。不同于向内容服务器110发送分析数据,客户端设备可以本地地存储170分析数据。客户端设备170可以包含类似于内容服务器110中所描述的模型生成模块330并且使用该模块来分析本地分析数据并且生成预测模型以用于预测在未来用户将如何以及将在何时使用客户端设备170消费内容。客户端设备170还可以包括预测生成模块340,该预测生成模块340使用模型来预测用户将在何时消费内容。然后,客户端设备170可以基于所述预测来向内容服务器110请求内容。
示例性方法
图5是图示根据一个实施例的基于分析数据来更新用户的内容的过程的流程图。图5将该过程的步骤归于(attribute)内容服务器110。然而,所述步骤中的一些或全部可以由其它实体执行。另外,一些实施例可以并行地执行步骤、以不同的顺序执行步骤、或者执行不同的步骤。
最初,内容服务器110中的预测模块115从客户端设备170接收(510)与用户相关联的分析数据。如先前关于图3所描述的,预测模块115可以周期性地、在发生事件后、在发生阈值数目的事件后、或者在其它时间从客户端设备170接收关于用户的内容消费的分析数据。
内容服务器110中的预测模块115基于分析数据来为用户生成(520)预测模型。预测模型定义特征空间,该特征空间指定用户可能在其中使用客户端设备170消费内容的间隔。预测模块115使用分析数据来训练模型。预测模块115使用所训练的预测模型来进行(530)预测。预测描述用户很可能在何时使用客户端设备170消费内容。预测还可以指示客户端设备170很可能在何时具有网络连接。
预测模块115将指定预测的预测数据提供(540)给客户端设备170。预测数据可以包括指令客户端设备170在指定的时间请求更新的内容的指令。替选地,预测数据可以将所预测的使用时间提供给客户端设备170,使得客户端设备170能够使用所预测的使用时间来确定在何时请求更新的内容。
内容服务器110中的内容模块113从客户端设备170接收550对于内容的请求并且响应于该请求来将所请求的内容提供(560)给客户端设备170。例如,内容模块113保持从内容源130接收的更新的内容并且在从客户端设备170接收到请求后将来自内容源130的内容发送至客户端设备170。
图6是图示根据一个实施例的由客户端设备170实现的将更新的内容提供给用户的过程的流程图。图6将该处理的步骤归于客户端设备170的呈现模块175。然而,所述步骤中的一些或全部可以由其它实体执行。另外,一些实施例可以并行地执行步骤、以不同的顺序执行步骤、或者执行不同的步骤。
最初,呈现模块175收集(610)与客户端设备170的用户相关联的分析数据。呈现模块175观察用户如何使用客户端设备170上的应用来消费(例如,阅读)数字内容并且基于该观察来生成分析数据。呈现模块175还将该分析数据报告(620)给内容服务器110。呈现模块175可以周期性地、在发生事件后、在发生阈值数目的事件后、或者在其它时间将分析数据发送至内容服务器110。
呈现模块175从内容服务器110接收(630)预测数据。预测数据包括在指定的时间请求更新的内容的指令、和/或指示据预测用户要使用客户端设备170消费内容的时间。在后者这种情况下,呈现模块175可以分析预测数据以确定在何时请求更新的内容。
在步骤640处,呈现模块175在基于预测数据来确定的时间发送(640)对于更新的内容的请求。呈现模块175响应于该请求来接收(650)更新的内容并且将该内容提供(660)给用户。
以上描述被包括以图示优选实施例的操作,并且并非意图限制本发明的范围。本发明的范围将仅由以下权利要求书限制。根据以上讨论,许多变型对相关领域技术人员将是显而易见的,其仍将被本发明的精神和范围所涵盖。
Claims (12)
1.一种配置多个客户端设备以在所述多个客户端设备的相应用户被预测消费更新的数字内容之前在未来的时间请求更新的数字内容的计算机实现的方法,所述方法包括:
接收分析数据,所述分析数据描述来自所述多个客户端设备的特定客户端设备在过去如何被使用来消费所述数字内容;
基于所述分析数据并且对于所述特定客户端设备的用户生成定义特征空间的预测模型,所述特征空间描述表示用于请求更新的数字内容的未来时间间隔的特征;
使用所述预测模型来生成指示在后续时间间隔之前的初始时间间隔的预测数据,在所述初始时间间隔期间所述客户端设备被预测具有网络连接,通过所述网络连接来发出对更新的数字内容的请求并且通过所述网络连接来与发源更新的数字内容的服务器建立网络会话,在所述后续时间间隔期间所述客户端设备被预测用于消费所述数字内容;
通过将所述预测数据提供给所述特定客户端设备来配置所述特定客户端设备以在所述初始时间间隔中并且在所述后续时间间隔之前请求更新的数字内容;
在所述初始时间间隔中并且在所述后续时间间隔之前从所述特定客户端设备接收对更新的数字内容的所述请求;以及
响应于接收到所述请求,至少通过在所述初始时间间隔中并且在所述后续时间间隔之前将更新的数字内容提供给所述特定客户端设备,来配置所述特定客户端设备以在对在所述后续时间间隔期间进行的对更新的数字内容的用户请求进行响应时使用更新的数字内容。
2.根据权利要求1所述的方法,其中,基于所述分析数据来生成所述预测模型进一步包括:
基于所述分析数据来训练分类器以对于所述特征空间中的所述特征进行预测;以及
其中,确定所述预测数据包括使用所述分类器来预测用于请求更新的数字内容的所述未来时间间隔。
3.根据权利要求1所述的方法,其中,将所述预测数据提供给所述客户端设备包括:
向所述客户端设备提供指示所述客户端设备将被用于消费数字内容的未来时间间隔的列表的信息,在所述未来时间间隔的列表中的每个未来时间间隔发生在所述初始时间间隔中并且在所述后续时间间隔之前;以及
其中,接收所述请求包括根据所述未来时间间隔的列表来接收所述请求。
4.一种非暂时性计算机可读存储介质,所述计算机可读存储介质存储用于配置多个客户端设备以在所述多个客户端设备的相应用户被预测消费更新的数字内容之前在未来的时间请求更新的数字内容的可执行计算机程序指令,所述计算机程序指令包括指令,用于:
接收分析数据,所述分析数据描述来自所述多个客户端设备的特定客户端设备在过去如何被使用来消费所述数字内容;
基于所述分析数据并且对于所述特定客户端设备的用户生成定义特征空间的预测模型,所述特征空间描述表示用于请求更新的数字内容的未来时间间隔的特征;
使用所述预测模型来生成指示在后续时间间隔之前的初始时间间隔的预测数据,在所述初始时间间隔期间所述客户端设备被预测具有网络连接,通过所述网络连接来发出对更新的数字内容的请求并且通过所述网络连接来与发源更新的数字内容的服务器建立网络会话,在所述后续时间间隔期间所述客户端设备被预测用于消费所述数字内容;
通过将所述预测数据提供给所述特定客户端设备来配置所述特定客户端设备以在所述初始时间间隔中并且在所述后续时间间隔之前请求更新的数字内容;
在所述初始时间间隔中并且在所述后续时间间隔之前从所述特定客户端设备接收对更新的数字内容的所述请求;以及
响应于接收到所述请求,至少通过在所述初始时间间隔中并且在所述后续时间间隔之前将更新的数字内容提供给所述特定客户端设备,来配置所述特定客户端设备以在对在所述后续时间间隔期间进行的对更新的数字内容的用户请求进行响应时使用更新的数字内容。
5.根据权利要求4所述的计算机可读存储介质,其中,用于基于所述分析数据来生成所述预测模型的所述计算机程序指令进一步包括指令以用于:
基于所述分析数据来训练分类器以对于所述特征空间中的所述特征进行预测;以及
其中,确定所述预测数据包括使用所述分类器来预测用于请求更新的数字内容的所述未来时间间隔。
6.根据权利要求4所述的计算机可读存储介质,其中,所述预测数据包括指定在所述后续时间间隔之前的所述初始时间间隔的预定的基于时间的时程,在所述初始时间间隔期间所述客户端设备被预测具有网络连接,通过所述网络连接来发出对更新的数字内容的请求,在所述后续时间间隔期间所述客户端设备被预测用于消费所述数字内容。
7.根据权利要求6所述的计算机可读存储介质,其中,所述基于时间的时程是基于所述用户的活跃度而确定的。
8.根据权利要求4所述的计算机可读存储介质,其中,用于将所述预测数据提供给所述客户端设备的所述计算机程序指令包括指令,用于:
向所述客户端设备提供指示所述客户端设备将被用于消费数字内容的未来时间间隔的列表的信息,在所述未来时间间隔的列表中的每个未来时间间隔发生在所述初始时间间隔中并且在所述后续时间间隔之前,接收所述请求包括根据所述未来时间间隔的列表来接收所述请求。
9.一种用于配置多个客户端设备以在所述多个客户端设备的相应用户被预测消费更新的数字内容之前在未来的时间请求更新的数字内容的计算系统,所述计算系统包括:
用于执行计算机程序指令的计算机处理器;以及
存储计算机程序指令的非暂时性计算机可读存储介质,所述计算机程序指令能够执行以实施步骤,所述步骤包括:
接收分析数据,所述分析数据描述来自所述多个客户端设备的特定客户端设备在过去如何被使用来消费所述数字内容;
基于所述分析数据并且对于所述特定客户端设备的用户生成定义特征空间的预测模型,所述特征空间描述表示用于请求更新的数字内容的未来时间间隔的特征;
使用所述预测模型来生成指示在后续时间间隔之前的初始时间间隔的预测数据,在所述初始时间间隔期间所述客户端设备被预测具有网络连接,通过所述网络连接来发出对更新的数字内容的请求并且通过所述网络连接来与发源更新的数字内容的服务器建立网络会话,在所述后续时间间隔期间所述客户端设备被预测用于消费所述数字内容;
通过将所述预测数据提供给所述特定客户端设备来配置所述特定客户端设备以在所述初始时间间隔中并且在所述后续时间间隔之前请求更新的数字内容;
在所述初始时间间隔中并且在所述后续时间间隔之前从所述特定客户端设备接收对更新的数字内容的所述请求;以及
响应于接收到所述请求,至少通过在所述初始时间间隔中并且在所述后续时间间隔之前将更新的数字内容提供给所述特定客户端设备,来配置所述特定客户端设备以在对在所述后续时间间隔期间进行的对更新的数字内容的用户请求进行响应时使用更新的数字内容。
10.根据权利要求9所述的计算系统,其中,生成所述预测模型进一步包括:
使用所述分析数据来训练分类器以对于所述特征空间中的所述特征进行预测;
其中,确定所述预测数据包括使用所训练的分类器来预测用于请求更新的数字内容的所述未来时间间隔。
11.根据权利要求9所述的计算系统,其中,所述预测数据包括指定在所述后续时间间隔之前的所述初始时间间隔的预定的基于时间的时程,在所述初始时间间隔期间所述客户端设备被预测具有网络连接,通过所述网络连接来发出对更新的数字内容的请求,在所述后续时间间隔期间所述客户端设备被预测用于消费所述数字内容。
12.根据权利要求11所述的计算系统,其中,所述基于时间的时程是基于所述用户的活跃度而确定的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/210,050 US10075510B2 (en) | 2014-03-13 | 2014-03-13 | Analytics-based update of digital content |
US14/210,050 | 2014-03-13 | ||
PCT/US2015/019706 WO2015138450A1 (en) | 2014-03-13 | 2015-03-10 | Analytics-based update of digital content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106104626A CN106104626A (zh) | 2016-11-09 |
CN106104626B true CN106104626B (zh) | 2019-11-29 |
Family
ID=54070302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580013019.2A Active CN106104626B (zh) | 2014-03-13 | 2015-03-10 | 基于分析的数字内容的更新 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10075510B2 (zh) |
EP (1) | EP3117395B1 (zh) |
CN (1) | CN106104626B (zh) |
WO (1) | WO2015138450A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060101064A1 (en) | 2004-11-08 | 2006-05-11 | Sharpcast, Inc. | Method and apparatus for a file sharing and synchronization system |
US10057318B1 (en) | 2012-08-10 | 2018-08-21 | Dropbox, Inc. | System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients |
US11622020B2 (en) * | 2017-08-31 | 2023-04-04 | Micro Focus Llc | Push control |
CN108416619B (zh) * | 2018-02-08 | 2022-06-07 | 深圳市喂车科技有限公司 | 一种消费间隔时间预测方法、装置及可读存储介质 |
US11334596B2 (en) | 2018-04-27 | 2022-05-17 | Dropbox, Inc. | Selectively identifying and recommending digital content items for synchronization |
US20190370367A1 (en) * | 2018-05-31 | 2019-12-05 | Microsoft Technology Licensing, Llc | Optimizing data refresh timing based on telemetry |
US10671371B2 (en) * | 2018-06-12 | 2020-06-02 | International Business Machines Corporation | Alerting an offline user of a predicted computer file update |
US20230421559A1 (en) * | 2022-06-24 | 2023-12-28 | Microsoft Technology Licensing, Llc | Utilizing probability data structures to improve access control of documents across geographic regions |
CN118152413A (zh) * | 2024-03-12 | 2024-06-07 | 江苏云机汇软件科技有限公司 | 一种基于大数据的客户更新管理系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383320B1 (en) | 1999-11-05 | 2008-06-03 | Idom Technologies, Incorporated | Method and apparatus for automatically updating website content |
US20060277271A1 (en) | 2005-06-07 | 2006-12-07 | Yahoo! Inc. | Prefetching content based on a mobile user profile |
CN101346718A (zh) | 2005-10-28 | 2009-01-14 | 意大利电信股份公司 | 用于向用户提供选定内容项的方法 |
US7659905B2 (en) | 2006-02-22 | 2010-02-09 | Ebay Inc. | Method and system to pre-fetch data in a network |
US9600261B2 (en) | 2008-03-25 | 2017-03-21 | Qualcomm Incorporated | Apparatus and methods for widget update scheduling |
US20110029670A1 (en) | 2009-07-31 | 2011-02-03 | Microsoft Corporation | Adapting pushed content delivery based on predictiveness |
US20110040611A1 (en) * | 2009-08-14 | 2011-02-17 | Simmons Willard L | Using competitive algorithms for the prediction and pricing of online advertisement opportunities |
US20130091087A1 (en) | 2011-10-10 | 2013-04-11 | Topsy Labs, Inc. | Systems and methods for prediction-based crawling of social media network |
US8898133B2 (en) | 2011-12-20 | 2014-11-25 | Yahoo! Inc. | User behavior-driven background cache refreshing |
US8849731B2 (en) | 2012-02-23 | 2014-09-30 | Microsoft Corporation | Content pre-fetching for computing devices |
US20130311408A1 (en) * | 2012-05-15 | 2013-11-21 | Comcast Cable Communications, Llc | Determining and Predicting Popularity of Content |
WO2014028672A1 (en) | 2012-08-14 | 2014-02-20 | Inmobly, Inc. | System and method for efficient use of network bandwidth |
US9501762B2 (en) * | 2013-04-23 | 2016-11-22 | Dropbox, Inc. | Application recommendation using automatically synchronized shared folders |
WO2014194441A1 (en) * | 2013-06-06 | 2014-12-11 | Yahoo! Inc | Method and system for dynamic content pre-caching |
US10242322B2 (en) * | 2013-12-02 | 2019-03-26 | Amazon Technologies, Inc. | Browser-based selection of content request modes |
US20150178281A1 (en) * | 2013-12-20 | 2015-06-25 | Google Inc. | Determining whether a user has seen a content item |
US9344876B2 (en) * | 2013-12-24 | 2016-05-17 | Facebook, Inc. | Systems and methods for predictive download |
-
2014
- 2014-03-13 US US14/210,050 patent/US10075510B2/en active Active
-
2015
- 2015-03-10 WO PCT/US2015/019706 patent/WO2015138450A1/en active Application Filing
- 2015-03-10 EP EP15761339.9A patent/EP3117395B1/en active Active
- 2015-03-10 CN CN201580013019.2A patent/CN106104626B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP3117395A1 (en) | 2017-01-18 |
WO2015138450A1 (en) | 2015-09-17 |
US20150264115A1 (en) | 2015-09-17 |
EP3117395B1 (en) | 2019-08-21 |
US10075510B2 (en) | 2018-09-11 |
EP3117395A4 (en) | 2017-11-01 |
CN106104626A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106104626B (zh) | 基于分析的数字内容的更新 | |
US11922329B2 (en) | Systems for second-order predictive data analytics, and related methods and apparatus | |
US10768988B2 (en) | Real-time partitioned processing streaming | |
US10192172B2 (en) | Methods and systems for predictive engine evaluation and replay of engine performance | |
US11762649B2 (en) | Intelligent generation and management of estimates for application of updates to a computing device | |
CN112970039A (zh) | 用于度量的数据驱动关联的技术 | |
AU2017345796A1 (en) | Systems for predictive data analytics, and related methods and apparatus | |
US11016730B2 (en) | Transforming a transactional data set to generate forecasting and prediction insights | |
US20190347621A1 (en) | Predicting task durations | |
US20170046376A1 (en) | Method and system for monitoring data quality and dependency | |
US20200151014A1 (en) | Methods and systems for forecasting upcoming resource requirement | |
US20160110437A1 (en) | Activity stream | |
US10062101B2 (en) | Maximizing the propensity of content consumption according to content complexity and content consumption time | |
JP2017049730A (ja) | 通知プログラム、通知方法、及び通知システム | |
US10691653B1 (en) | Intelligent data backfill and migration operations utilizing event processing architecture | |
US10621622B1 (en) | Adaptive sequencing of notifications in a client server architecture | |
US10621205B2 (en) | Pre-request execution based on an anticipated ad hoc reporting request | |
US20220222482A1 (en) | Providing ambient information based on learned user context and interaction, and associated systems and devices | |
CN111767290B (zh) | 用于更新用户画像的方法和装置 | |
JP6706701B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US20240220710A1 (en) | System and method for integrated temporal external resource allocation | |
US20230239377A1 (en) | System and techniques to autocomplete a new protocol definition | |
US20230350915A1 (en) | Application behavior based customer data migration | |
US20190370367A1 (en) | Optimizing data refresh timing based on telemetry | |
CN116166873A (zh) | 用户画像生成方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |