CN110709838B - 用于更新用缓存内容渲染的网页的方法、系统和介质 - Google Patents

用于更新用缓存内容渲染的网页的方法、系统和介质 Download PDF

Info

Publication number
CN110709838B
CN110709838B CN201880036954.4A CN201880036954A CN110709838B CN 110709838 B CN110709838 B CN 110709838B CN 201880036954 A CN201880036954 A CN 201880036954A CN 110709838 B CN110709838 B CN 110709838B
Authority
CN
China
Prior art keywords
web page
user device
rpc
content items
content item
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
CN201880036954.4A
Other languages
English (en)
Other versions
CN110709838A (zh
Inventor
贾斯汀·刘易斯
理查德·拉普
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN110709838A publication Critical patent/CN110709838A/zh
Application granted granted Critical
Publication of CN110709838B publication Critical patent/CN110709838B/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; 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/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文提供用于更新用缓存内容渲染的网页的方法、系统和介质。在一些实施例中,所述方法包括:在用户装置处接收对呈现网页的请求;从所述用户装置本地的存储器检索与所述网页相关联的模板和要包括在所述网页中的多个内容项目;使用检索到的模板和所述一个或多个内容项目使所述网页呈现在所述用户装置上;将远程程序调用(RPC)传输到与所述网页相关联的服务器,其中所述RPC包括所述网页的标识符;接收对所述RPC的响应,所述响应包括对所述网页的至少一个更新;以及使得所述网页基于对所述RPC的所述响应而被更新。

Description

用于更新用缓存内容渲染的网页的方法、系统和介质
技术领域
所公开主题涉及用于更新用缓存内容渲染的网页的方法、系统和介质。
背景技术
用户经常查看可以使用模板渲染的用户界面中呈现的内容。例如,可以使用模板来渲染视频共享服务的主页,所述模板指示将显示标题的用户界面的一部分、将显示流行视频内容项目的指示的用户界面的一部分、将显示推荐的视频内容项目的用户界面的一部分等。使用模板和缓存内容(例如,缓存图形、文本等)在用户装置上渲染网页可以导致网页以减少的等待时间渲染。然而,使用模板和缓存内容渲染网页会使内容的服务器难以个性化网页上的内容。继续用于视频共享服务的主页的上述实例,当用模板和缓存内容渲染网页时,与视频共享服务相关联的服务器可能难以向特定用户呈现最新的推荐,因为与推荐的视频内容项目(例如,缩略图、标题、图形、图标等)相关联的内容可能尚未缓存在用户装置上。
因此,期望提供用于更新用缓存内容渲染的网页的新方法、系统和介质。
发明内容
本文提供用于更新用缓存内容渲染的网页的方法、系统和介质。
根据所公开主题的一些实施例,提供一种用于更新网页内容的方法,所述方法包括:在用户装置处接收对呈现网页的请求;从所述用户装置本地的存储器检索与所述网页相关联的模板和要包括在所述网页中的多个内容项目;使用检索到的模板和所述一个或多个内容项目使所述网页呈现在所述用户装置上;将远程程序调用(RPC)传输到与所述网页相关联的服务器,其中所述RPC包括所述网页的标识符;接收对所述RPC的响应,所述响应包括对所述网页的至少一个更新;以及使得所述网页基于对所述RPC的所述响应而被更新。
在一些实施例中,对所述网页的所述至少一个更新包括所述多个内容项目中不包括的内容项目。
在一些实施例中,所述多个内容项目中的至少一个内容项目是对查看媒体内容项目的推荐。
在一些实施例中,所述RPC包括与所述一个或多个内容项目中的每一个内容项目相对应的标识符。
在一些实施例中,所述方法还包括:检测所述多个内容项目中的一个内容项目在所述用户装置上已被交互;以及向所述服务器传输指示所述多个内容项目中的所述内容项目已被交互的第二RPC。
在一些实施例中,所述第二RPC包括与所述多个内容项目中的所述内容项目的交互的定时信息。
在一些实施例中,所述模板指示所述多个内容项目中的每一个内容项目的位置。
在一些实施例中,对所述RPC的所述响应包括将被包括在由所述服务器确定的在所述网页之后可能被查看的另一网页中的至少一个内容项目,所述方法包括在所述用户装置本地的所述存储器中存储将被包括在所述另一网页中的所述至少一个内容项目。
根据所公开主题的一些实施例,提供一种用于更新网页内容的系统,所述系统包括存储器和硬件处理器,所述硬件处理器在执行存储在存储器中的计算机可执行指令时被配置为:在用户装置处接收对呈现网页的请求;从所述用户装置本地的存储器检索与所述网页相关联的模板和要包括在所述网页中的多个内容项目;使用检索到的模板和所述一个或多个内容项目使所述网页呈现在所述用户装置上;将远程程序调用(RPC)传输到与所述网页相关联的服务器,其中所述RPC包括所述网页的标识符;接收对所述RPC的响应,所述响应包括对所述网页的至少一个更新;以及使得所述网页基于对所述RPC的所述响应而被更新。
在一些实施例中,对所述网页的所述至少一个更新包括所述多个内容项目中不包括的内容项目。
在一些实施例中,所述多个内容项目中的至少一个内容项目是对查看媒体内容项目的推荐。
在一些实施例中,所述RPC包括与所述一个或多个内容项目中的每一个内容项目相对应的标识符。
在一些实施例中,所述硬件处理器进一步被配置成:检测所述多个内容项目中的一个内容项目在所述用户装置上已被交互;以及向所述服务器传输指示所述多个内容项目的该内容项目已被交互的第二RPC。
在一些实施例中,所述第二RPC包括与所述多个内容项目中的所述内容项目的交互的定时信息。
在一些实施例中,所述模板指示所述多个内容项目中的每一个内容项目的位置。
在一些实施例中,对所述RPC的所述响应包括将被包括在由所述服务器确定的在所述网页之后可能被查看的另一网页中的至少一个内容项目,所述硬件处理器进一步被配置成在所述存储器中存储将被包括在所述另一网页中的所述至少一个内容项目。
根据所公开主题的一些实施例,一种含有计算机可执行指令的非暂时性计算机可读介质,所述指令在由处理器执行时使得所述处理器执行本文描述的方法。根据所公开主题的一些实施例,提供一种用于更新网页内容的系统,所述系统包括:用于在用户装置处接收对呈现网页的请求的装置;用于从所述用户装置本地的存储器检索与所述网页相关联的模板和要包括在所述网页中的多个内容项目的装置;用于使用检索到的模板和所述一个或多个内容项目使所述网页呈现在所述用户装置上的装置;用于将远程程序调用(RPC)传输到与所述网页相关联的服务器的装置,其中所述RPC包括所述网页的标识符;用于接收对所述RPC的响应的装置,所述响应包括对所述网页的至少一个更新;以及用于使得所述网页基于对所述RPC的所述响应而被更新的装置。
附图说明
当结合以下附图考虑时,参考以下对所公开的主题的详细描述,可以更全面地理解所公开主题的各种目的、特征和优点,其中相同的附图标记表示相同的元件。
图1示出根据所公开主题的一些实施例的用于更新网页内容的信息流程图的实例。
图2示出根据所公开主题的一些实施例的用于用缓存内容渲染网页并更新所述网页的过程的实例。
图3示出根据所公开主题的一些实施例的用于传输用于所渲染网页的更新的过程的实例。
图4示出根据所公开主题的一些实施例的适用于实现本文描述的用于更新网页内容的机制的说明性系统的示意图。
图5示出根据所公开主题的一些实施例的可以用于图4的服务器和/或用户装置中的硬件的详细实例。
具体实施方式
根据各种实施例,提供用于更新用缓存内容渲染的网页的机制(其可以包括方法、系统和介质)。
在一些实施例中,本文描述的机制可以使用户装置使用模板和缓存内容来渲染网页。例如,在一些实施例中,用户装置可以使用与特定类型的网页(例如,视频共享服务或社交联网服务的网页、用于呈现视频内容项目的网页、用于允许用户创建视频内容项目的播放列表的网页、与特定视频内容频道相关联的网页和/或任何其他合适类型的网页)相关联的模板以及缓存内容(诸如图形、缩略图和/或先前存储在用户装置上的任何其他合适类型的内容)来渲染所述网页。用户装置接着可以将指示所渲染网页的信息传输到服务器,服务器可以基于接收到的信息来识别对所渲染网页的更新。例如,在一些实施例中,服务器可以基于当前正被渲染的网页、将在网页内呈现的广告和/或任何其他合适的更新内容来识别将被推荐给用户装置的用户的视频内容项目。在一些实施例中,服务器接着可以将更新的信息传输到用户装置。用户装置接着可以使用从服务器接收到的更新信息来更新所渲染的网页。
在一些实施例中,用户装置可以使用远程程序调用(RPC)来将指示所渲染网页和/或包括在所渲染网页中的内容项目的信息传输到服务器。例如,在一些实施例中,RPC可以包括正在用户装置上渲染的网页的标识符。作为另一实例,在一些实施例中,在正在用户装置上渲染的网页包括推荐的内容部分的情况下,RPC可以包括当前包括在推荐的内容部分中的视频内容项目的标识符。在一些实施例中,用户装置可以基于来自服务器的对RPC的响应而更新所渲染的网页。例如,在一些实施例中,响应可以包括将被包括在推荐的内容部分中的额外视频内容项目、将被包括在网页中的广告、指示网页中指示的特定视频内容项目已经被用户装置的用户观看的标签或横幅、和/或指示要对网页进行更新的任何其他合适的响应。在一些实施例中,RPC可以是非阻塞RPC,从而允许用户装置继续执行任何合适的动作,并继续渲染网页,同时等待来自服务器的对RPC的响应。
在一些实施例中,用户装置可以响应于确定包括在网页中的特定内容项目已被查看和/或交互而另外传输RPC到服务器。例如,在一些实施例中,用户装置可以向服务器传输指示特定内容项目已变得可见的RPC(例如,由于用户装置的用户滚动以使特定内容项目可见)。作为另一实例,在一些实施例中,用户装置可以向服务器传输指示在用户装置上已选择了特定内容项目的RPC。作为又一实例,在一些实施例中,用户装置可以向服务器传输指示特定内容项目已被用户装置的用户认可的RPC。在一些此类实施例中,服务器可以基于与网页上内容项目的交互来确定对网页的更新,如下文结合图3更详细描述的。
在一些实施例中,本文描述的机制可以允许用户装置通过使用缓存模板和缓存内容以相对减少的等待时间渲染网页。另外,通过在呈现网页的同时向服务器传输正在渲染的网页和已被呈现、查看和/或交互的内容项目的指示,本文描述的机制可以允许服务器在用户装置正呈现网页的同时向网页提供个性化更新。因此,本文描述的实施例可以通过在用户可能参与的网页上渲染内容项目来有效使用用户装置上的处理器资源。此外,在一些实施例中,通过接收指示用户装置正在呈现的网页和/或内容项目的信息,在一些实施例中,服务器可以确定在不久的将来可能呈现在用户装置上的网页和/或内容项目,且可以向用户装置传输(例如,作为对RPC的响应)要本地存储在用户装置上的内容。接着,当被确定为将来可能被查看的页面被请求时,用户装置可以使用本地存储的内容,从而进一步减少用于提供所请求内容的等待时间,如下文结合图3更详细描述的。
转向图1,根据所公开主题的一些实施例来示出用于更新用缓存内容渲染的网页的信息流程图的说明性实例100。如所示出,过程100的框可以在用户装置上和服务器上执行。
在102,用户装置可以使用缓存信息来渲染网页。在一些实施例中,网页可以是任何合适类型的网页,诸如呈现可用内容的指示的网页。作为更具体实例,在一些实施例中,网页可以是呈现可用媒体内容提要的网页、呈现媒体内容的推荐的网页、包括用于呈现特定视频的视频播放器窗口的网页、和/或任何其他合适类型的内容。在一些实施例中,网页可以诸如在用户装置上执行的应用内以任何合适的方式渲染。
在一些实施例中,缓存信息可以包括与网页相关的任何合适的内容和/或信息。例如,在一些实施例中,缓存信息可以包括用于渲染与网页相对应的特定类型网页的模板。作为更具体实例,在一些实施例中,特定类型的网页可以是特定视频共享服务或社交联网服务的主页、用于呈现媒体内容的推荐的网页、包括用于呈现视频的视频播放器窗口的网页、和/或任何其他合适类型的网页。作为另一实例,在一些实施例中,缓存信息可以包括与要在网页内呈现的对象相关的信息。作为更具体实例,在网页将包括标题的情况下,缓存信息可以包括与标题相关联的图形、与标题相关联的文本、和/或任何其他合适类型的内容。作为另一更具体实例,在网页将包括可用视频内容项目的指示的情况下,缓存信息可以包括与每一视频内容项目相关联的缩略图、与每一个视频内容项目相关联的标题、和/或任何其他合适的内容。下文结合图2的框204来描述缓存信息的更详细实例。
在104,用户装置可以向服务器传输指示网页正被用户装置渲染的RPC。例如,在一些实施例中,RPC可以指示与正被渲染的网页相对应的网页类型(例如,与特定视频共享服务或社交联网服务相关联的主页、包括用于呈现特定视频的视频播放器窗口的网页、和/或任何其他合适类型的网页)。作为另一实例,在一些实施例中,在所述网页是包括用于呈现特定视频内容项目的视频播放器窗口的网页的情况下,RPC可以包括视频内容项目的标识符。在一些实施例中,用户装置可以另外地或替代地传输指示网页中包括的对象的可见性的一个或多个RPC。例如,在一些实施例中,用户装置可以传输指示包括特定可用视频内容项目的指示的网页的一部分已在用户装置上被查看的RPC(例如,用户已滚动网页以使网页的所述部分可见)。作为另一实例,在一些实施例中,用户装置可以传输指示网页上包括的广告和/或促销已被查看的RPC。作为又一实例,在一些实施例中,用户装置可以传输指示在用户装置上已选择了特定链接的RPC。下文结合图2的框208和210描述用于向服务器传输RPC的更详细技术。
在106,服务器可以接收RPC,并且可以基于接收到的RPC更新与用户装置相对应的查看日志。例如,在一些实施例中,服务器可以更新查看日志以指示用户装置已呈现正在用户装置上渲染的网页。作为更具体实例,在一些实施例中,在网页对应于包括用于呈现特定视频内容项目的视频播放器窗口的网页的情况下,服务器可以更新查看日志以指示用户装置正在呈现与特定视频内容项目相关联的网页。作为另一实例,在一些实施例中,服务器可以更新查看日志以指示网页内在用户装置上可见和/或在用户装置上选择的对象。作为更具体实例,在一些实施例中,服务器可以更新查看日志以指示可用视频内容项目的特定指示在用户装置上变得可见和/或在用户装置上被选择。作为另一更具体实例,在一些实施例中,服务器可以更新查看日志以指示是特定广告在网页上可见和/或被用户装置的用户选择。下文结合图3的框306来描述用于更新查看日志的更详细技术。
在108,服务器可以确定用于正被用户装置渲染的网页的更新信息。例如,在一些实施例中,服务器可以识别将在正被用户装置渲染的网页内推荐的视频内容项目。作为另一实例,在一些实施例中,服务器可以识别将在正被用户装置渲染的网页内呈现的广告。在一些实施例中,可以基于上文结合框106所描述的查看日志来确定更新信息。例如,在一些实施例中,服务器可以基于已在用户装置上选择的对象来识别要推荐的视频内容项目,如查看日志中所指示的。下文结合图3的框308来描述用于确定更新信息的更详细技术。
在110,服务器可以传输信息以更新正在用户装置上渲染的网页。在一些实施例中,服务器可以以任何合适的方式来传输信息。例如,在一些实施例中,服务器可以传输作为对用户装置发射的RPC的响应而更新网页的信息,如上文结合框104所描述的。
在112,用户装置可以基于从服务器接收到的响应来更新网页。例如,在一些实施例中,用户装置可以更新网页以指示被服务器识别为推荐的视频内容项目的视频内容项目。作为另一实例,在一些实施例中,用户装置可以更新网页以包括服务器所识别的广告或促销。下文结合图2的框210来描述用于更新网页的更详细技术。
转向图2,根据所公开主题的一些实施例来示出用于更新用缓存内容渲染的网页的过程的说明性实例200。在一些实施例中,过程200的框可以由用户装置(例如,移动电话、平板计算机、膝上型计算机、台式计算机、媒体播放器、和/或任何其他合适类型的用户装置)执行。
过程200可以在202处通过接收对呈现网页的请求来开始。在一些实施例中,所述请求可以以任何合适的方式接收。例如,在一些实施例中,请求可以响应于确定用户装置的用户已导览到网页而被接收。作为更具体实例,在一些实施例中,过程200可以确定已在用户装置上选择了与网页相对应的链接。
在204,过程200可以检索与网页相对应的模板和与网页相对应的缓存数据对象。在一些实施例中,过程200可以检索对应于与所请求网页相关联的网页类型的模板。例如,在网页是视频共享服务或社交联网服务的主页的情况下,过程200可以检索与主页相关联的模板。作为更具体实例,在一些实施例中,模板可以指定内容,诸如网页标题的位置、将呈现推荐的内容的网页的一部分的位置、将指示先前查看的内容的网页的一部分的位置、和/或任何其他合适类型的信息。在一些实施例中,网页类型可以包括任何其他合适类型的内容,诸如包括用于查看特定视频内容项目的视频播放器窗口的网页、允许用户创建媒体内容播放列表的网页、允许用户管理对特定内容频道的订阅的网页、与视频共享服务上的媒体内容特定频道相关联的网页、和/或任何其他合适类型的内容。在一些此类实施例中,不同类型的网页可以各自与不同的模板相关联,所述模板指示将出现在所述类型网页上的内容的位置和视觉外观。在一些实施例中,模板可以包括指定网页不同部分的视觉外观的信息,诸如网页标题部分的字体类型和颜色、网页上其他文本的字体类型和颜色、网页上图形或图标的大小、和/或任何其他合适类型的信息。
在一些实施例中,缓存的数据对象可以是要呈现在网页上的任何合适的内容,所述内容已存储在用户装置的存储器中。例如,在一些实施例中,缓存的数据对象可以包括以下内容,诸如与网页标题相关联的图形或图标、与要呈现在网页上的可用视频内容项目的指示相关联的缩略图、与要呈现在网页上的菜单或其他用户界面控件相关联的图形或图标、和/或任何其他合适类型的内容。在一些实施例中,数据对象在先前已呈现在用户装置上之后,可能已经存储在用户装置上的存储器中。例如,在一些实施例中,在用户装置先前显示主页之后,对应于与要呈现在主页上的标题相关联的内容的数据对象可能已被缓存。作为另一实例,在一些实施例中,在用户装置先前显示了对视频内容项目的推荐之后,与推荐的视频内容项目(例如,缩略图、标题、和/或任何其他合适类型的内容)的指示相对应的数据对象可能已被缓存。
在一些实施例中,过程200可以向数据对象添加事件监听器。例如,在一些实施例中,事件监听器可以指示特定数据对象何时在与用户装置相关联的屏幕上变得可见(诸如当用户已滚动网页以使数据对象可见时)、特定数据对象何时被点击或选择、特定视频内容项目何时被认可(例如,被用户装置的用户喜欢、与连接到用户装置用户的用户共享、和/或以任何其他合适的方式认可)、和/或任何其他合适类型的事件。在一些实施例中,过程200可以以任何合适的方式(例如,以与模板和/或网页相关联的JAVASCRIPT代码,和/或以任何其他合适的方式)添加事件监听器。在一些实施例中,事件监听器可以由与模板相关联的控制器控制,所述控制器可以检测与特定数据对象相关联的事件监听器何时已触发并执行对应的动作(例如,向服务器传输指示所检测到的事件的RPC,如下文结合框208所描述的)。
请注意,在一些实施例中,过程200可以以任何合适的方式将所检测到的事件的指示存储在用户装置上的存储器中。例如,在一些实施例中,过程200可以存储检测到的事件的指示,所述指示包括以下信息,诸如数据对象的标识符、发生事件的网页的标识符(例如,当前正在用户装置上渲染的网页)、事件的类型(例如,数据对象在网页内变得可见、数据对象被选择、和/或任何其他合适类型的事件)、与事件相关联的定时信息(例如,索引值,如下文结合框208所描述的,时间戳和/或任何其他合适的定时信息)、和/或任何其他合适的信息。
在206,过程200可以使用模板和缓存数据对象来渲染所请求的网页。例如,在一些实施例中,过程200可以使网页呈现在用户装置上,所述网页包括与模板中指定的部分相对应的网页的部分。作为更具体实例,网页的部分可以包括标题部分、指示推荐的视频内容的部分、指示用户装置上最近查看的内容的部分、允许用户管理与特定用户帐户相关联的设置的设置界面、和/或任何其他合适的部分。过程200可以接着使缓存数据对象渲染在模板中指定的位置处。例如,在模板包括标题部分且缓存数据对象包括与网页标题相关联的图形或图标的情况下,过程200可以使图形或图标呈现在模板所指定的位置和大小。作为另一实例,在模板包括向用户推荐的视频内容项目的网页的一部分(包括推荐的视频内容项目的指示)的情况下,过程200可以使与要推荐的视频内容项目相对应的缓存数据对象(例如,缩略图、标题、创作者的姓名和/或任何其他合适类型的内容)以模板指定的位置和大小呈现。请注意,在数据对象尚未缓存的情况下(例如,在用户装置先前未呈现特定数据对象的情况下),过程200可以用与尚未缓存为空的数据对象相对应的网页的一部分渲染网页,且可以从与网页相关联的服务器请求数据对象,如下文结合框208更详细描述。
在208,过程200可以向与网页相关联的服务器传输指示网页正被渲染的RPC。在一些实施例中,RPC可以包括任何合适的信息,诸如网页的标识符。例如,在一些实施例中,RPC可以指示:与特定视频共享服务或社交联网服务相关联的主页正在用户装置上呈现,用于呈现特定视频内容项目的网页正在用户装置上呈现,允许用户创建媒体内容项目的播放列表的网页正在用户装置上呈现、和/或任何其他合适的网页。作为更具体实例,在所述网页是与特定视频内容项目的呈现相关联的网页的情况下,RPC可以指示特定视频内容项目、以及任何其他合适信息,诸如包括特定视频内容项目的播放列表、用户装置已知的相关视频内容项目(例如,与数据对象已缓存在用户装置上的特定视频内容项目相关的视频内容项目,和/或任何其他合适的相关视频内容项目)、和/或任何其他合适的信息。在一些实施例中,RPC可以另外包括用以渲染网页的模板的指示。在一些实施例中,RPC可以包括已渲染在网页内的数据对象的标识符。例如,在一些实施例中,RPC可以包括已作为推荐呈现的视频内容项目的标识符,和/或与网页中数据对象相对应的任何其他合适类型的标识符。在一些实施例中,RPC可以包括网页中由于与空白部分相对应的用户装置上不存在缓存数据对象而被留空的部分的指示。例如,在与网页相关联的模板指定推荐的视频内容项目的指示将被包括在网页中,但没有与推荐的视频内容项目相对应的数据对象被缓存在用户装置上的情况下,RPC可以指示网页的推荐的内容部分需要额外内容。
过程200可以在210向服务器传输指示与网页中渲染的数据对象相关联的可见性事件的RPC。例如,在一些实施例中,在与特定数据对象相关联的事件监听器检测到与数据对象相对应的特定可见性事件的情况下(例如,数据对象在网页内已变得可见,数据对象已被选择,用户已通过认可特定内容项目来参与所述内容项目,用户已查看了特定视频内容项目,和/或任何其他合适的事件),过程200可以使指示所述事件的RPC被传输到服务器。在一些实施例中,RPC可以包括指示检测到的事件的定时的任何合适信息。例如,在一些实施例中,RPC可以包括随着每一个所检测到的事件增加的索引号,从而向服务器指示事件的定时。请注意,在一些实施例中,过程200可以以任何合适的频率传输指示可见性事件的任何合适数目的RPC。例如,在一些实施例中,过程200可以传输用于每一个所检测到的可见性事件的RPC。另外,在一些实施例中,可以针对一个数据对象传输多个RPC。例如,在一些实施例中,过程200可以传输指示数据对象已在网页内变得可见的第一RPC(例如,其中索引=1和/或任何其他合适的索引值)。继续此实例,过程200随后可以传输指示已在用户装置上选择数据对象的第二RPC(例如,其中索引=2和/或任何其他合适的索引值)。
请注意,在一些实施例中,在框208和210传输的RPC可以以任何合适的方式传输。例如,在一些实施例中,RPC可以作为非阻塞RPC传输到服务器,从而允许过程200在等待来自服务器的响应的同时继续执行。
在212,过程200可以从服务器接收对在框208和210传输的RPC的响应。请注意,在一些实施例中,可以接收任何合适数目的响应(例如,与在框208和/或210中传输的每一个RPC相对应的响应),且可以以任何合适的定时接收响应。例如,在一些实施例中,在对指示特定数据对象已被选择的RPC的响应之前,可以接收对指示当前正在用户装置上渲染的网页的RPC的响应。在一些实施例中,所接收到的响应可以包括任何合适的信息。例如,在一些实施例中,对指示当前正在用户装置上渲染的网页的RPC的响应可以包括基于当前正在渲染的网页的要推荐的视频内容项目的标识符、要在当前正在渲染的网页上呈现的广告的指示、和/或任何其他合适的信息。在一些实施例中,所述响应可以另外地或替代地包括要被用于更新网页的任何合适内容,诸如文本、图像、图形、图标、和/或任何其他合适类型的内容。例如,在所述响应包括要在当前正渲染的网页上推荐的视频内容项目的指示的情况下,响应可以另外包括与视频内容项目相关联的缩略图、视频内容项目的名称、到视频内容项目的链接、视频内容项目的创建者姓名、和/或任何其他合适的信息。作为另一实例,对指示与所推荐的视频内容项目相对应的数据对象在网页内被选择的RPC的响应可以包括:指示所述视频内容项目不再被推荐到网页上的信息(因为它已经在网页上被选择)、与所选择的视频内容项目相关的要被推荐的视频内容项目的标识符、和/或任何其他合适的信息。请注意,下文结合图3来描述描述所接收到的响应的更详细技术。
在214,过程200可以使用在框212接收的对RPC的响应来更新在框206渲染在用户装置上的网页。例如,在响应包括将被呈现为推荐的视频内容项目的视频内容项目的指示的情况下(例如,在包括推荐的内容的网页的一部分中,和/或以任何其他合适的方式),过程200可以更新网页以包括对响应中指示的视频内容项目的推荐。作为更具体实例,在一些实施例中,过程200可以更新网页以包括响应中包括的缩略图、响应中包括的视频内容项目的标题、响应中包括的视频内容项目的创建者的姓名、和/或任何其他合适的内容。作为另一实例,在响应包括要呈现在网页上的广告的指示的情况下,过程200可以更新网页以包括所指示的广告。作为又一实例,在响应包括将网页中包括的特定视频内容项目的指示更新为已被用户装置的用户观看或已认可(例如,被用户装置的用户喜欢、与其他用户共享、和/或任何其他合适类型的认可)的指令的情况下,过程200可以使特定视频内容项目的指示被更新以反映所述视频内容项目已被观看和/或认可。作为更具体实例,在一些实施例中,过程200可以使标签或横幅应用于表示视频内容项目的缩略图,从而指示它已在用户装置上被观看。作为另一更具体实例,在一些实施例中,过程200可以以任何合适的方式使视频内容项目突出显示以指示它已被用户装置的用户认可。
请注意,在一些实施例中,过程200可以基于上文结合框204所描述的模板来更新网页。例如,在一些实施例中,过程200可以在模板指定的位置渲染响应中包括的和/或响应中指示的内容(例如,将要推荐的视频内容项目的缩略图放置在模板指定的位置、和/或任何其他合适的位置)。作为另一实例,在一些实施例中,与模板相关联的控制器可以确定所述响应是否与网页中包括的特定数据对象相关,且可以更新与特定数据对象相关的内容。作为更具体实例,在所述响应指示视频内容项目的特定指示将指示用户装置的用户已观看视频内容项目的情况下,与模板相关联的控制器可以识别与所述响应相关联的数据对象,且可以使所识别的数据对象被修改(例如,向视频内容项目添加指示它已被观看的标签,和/或任何其他合适的更新)。
转向图3,根据所公开主题的一些实施例来示出用于传输信息以更新用户装置上渲染的网页的过程的说明性实例300。在一些实施例中,过程300的框可以在服务器上执行,诸如与用户装置上渲染的网页和/或与包括在用户装置上渲染的网页上的内容相关联的服务器。
过程300可以通过在302从用户装置接收指示正在用户装置上渲染网页的RPC开始。例如,如上文结合框208所描述的,RPC可以包括正在渲染的网页的标识符。作为更具体实例,在一些实施例中,RPC可以指示与视频共享服务或社交联网服务相关联的主页正被呈现、用于呈现特定视频内容项目的网页正被呈现、允许用户创建播放列表的网页正被呈现、与特定视频内容频道相关联的网页正被呈现、和/或任何其他合适的网页正被呈现。另外,如上文结合图2的框208所描述的,RPC可以包括网页中包括的数据对象的指示。例如,在一些实施例中,RPC可以包括已在网页内被推荐的视频内容项目的指示、网页上广告的指示、和/或与网页中包括的数据对象相关联的任何其他合适信息。作为更具体实例,在一些实施例中,RPC可以包括正被用户装置使用以渲染网页的缓存内容的指示。
在304,过程300可以从用户装置接收指示与网页中包括的数据对象相关联的可见性事件的RPC。例如,如上文结合图2的框210所描述的,RPC可以包括特定数据对象已在网页内变得可见(例如,由于用户装置的用户滚动以使得先前不可见的数据对象可见)、特定数据对象已被选择、和/或任何其他合适的可见性事件的指示。在一些实施例中,RPC可以包括任何合适的定时信息。例如,如上文结合图2的框208所描述的,RPC可以包括指示在用户装置上检测可见性事件的顺序的索引值。作为更具体实例,在一些实施例中,较高索引值可以指示最近的事件。作为另一实例,在一些实施例中,定时信息可以包括任何其他合适的指示,诸如与所检测到的可见性事件相关联的时间戳。请注意,在一些情况下,可见性事件可以不被用户装置检测,且在此类情况下,可以省略框304。
过程300可以在306更新指示正在用户装置上渲染的网页和/或与数据对象相关联的可见性事件的日志。例如,在一些实施例中,过程300可以更新日志以指示正在用户装置上渲染的网页是与特定视频内容项目相关联的网页(例如,包括视频播放器窗口以呈现特定视频内容项目的网页,和/或任何其他合适类型的网页),且所述特定视频内容项目因此已在用户装置上被查看。作为另一实例,在一些实施例中,过程300可以更新日志以包括正在网页上呈现的数据对象的指示。作为更具体实例,在一些实施例中,过程300可以更新日志以包括作为网页上的推荐的视频内容项目而包括的视频内容项目的指示。作为另一更具体实例,在一些实施例中,过程300可以更新日志以包括在网页上呈现的特定广告的指示。作为又一实例,在一些实施例中,过程300可以更新日志以指示已在用户装置上选择特定数据对象(例如,特定视频内容项目的推荐、特定广告、和/或任何其他合适类型的数据对象)。作为另一实例,在一些实施例中,过程300可以更新日志以指示特定数据对象(例如,特定视频内容项目的推荐、特定广告、和/或任何其他合适类型的数据对象)已在用户装置上变得可见但尚未被选择。
请注意,在一些实施例中,过程300可以以任何合适的方式存储日志信息。例如,在一些实施例中,日志信息可以存储为树。作为更具体实例,在一些实施例中,树的第一父节点可以指示在用户装置上查看的网页,且树的第二子节点可以指示在用户装置上的网页内呈现的数据对象(例如,广告、特定视频内容项目的推荐、和/或任何其他合适类型的数据对象)。在一些此类实施例中,可以更新节点以指示与所述节点相关联的数据对象已被选择,和/或任何其他合适的信息。
另外,请注意,在过程300接收指示用于单个数据对象的可见性事件的多个RPC的情况下,过程300可以从日志信息移除先前接收到的事件指示,并仅保留最近接收到的事件指示。例如,在过程300接收指示特定数据对象(例如,查看特定视频内容项目的推荐、广告、和/或任何其他合适数据对象)已在网页上变得可见的第一RPC,且接收指示所述数据对象已被选择的随后的第二RPC的情况下,过程300可以移除数据对象已变得可见的指示。在一些实施例中,过程300可以使用RPC中包括的定时信息(诸如RPC中包括的索引值)来确定接收数据对象的多个RPC的顺序,如上文结合图3的框304所描述的。
过程300可以在308确定对正在用户装置上渲染的网页的一个或多个更新。在一些实施例中,对网页的一个或多个更新可以包括任何合适类型的信息。例如,在一些实施例中,一个或多个更新可以包括要作为用户装置上正在渲染的网页内的推荐被呈现的视频内容项目(例如,在用于推荐的内容的网页的一部分中,和/或网页的任何其他合适部分中)。作为另一实例,在一些实施例中,一个或多个更新可以包括网页中要包括的广告。作为又一实例,在一些实施例中,一个或多个更新可以包括要被添加到视频内容项目的指示中的标签,所述标签指示视频内容项目已在用户装置上被查看和/或已被用户装置的用户认可。
在一些实施例中,过程300可以基于任何合适的信息并使用任何合适的技术来确定一个或多个更新。例如,在一些实施例中,过程300可以基于指示网页上的内容被查看的日志信息和/或已在用户装置上选择的数据对象来确定一个或多个更新。作为更具体实例,在日志信息指示被查看的网页是与特定视频内容项目相关联的网页的情况下,过程300可以将要被包括的与该特定视频内容项目相关的一个或多个视频内容项目识别为网页上的推荐的视频内容项目。作为另一实例,在日志信息指示被查看的网页是与特定视频内容项目相关联的网页的情况下,过程300可以基于特定视频内容项目的主题或流派来识别要包括在网页中的广告。作为又一实例,在日志信息指示已在用户装置上查看特定视频内容项目的情况下,过程300可以确定将指示所述视频内容项目已被查看的标签添加到与视频内容项目相关联的数据对象(例如,缩略图、和/或任何其他合适类型的数据对象)。作为另一实例,在日志信息指示特定视频内容项目已被用户装置的用户认可(例如,被用户喜欢、与连接到社交联网服务上的用户的其他用户共享、和/或以任何其他合适的方式认可)的情况下,过程300可以确定将指示所述视频内容项目已被用户装置的用户认可的标签添加到与视频内容项目相关联的数据对象(例如,缩略图和/或任何其他合适类型的数据对象)。
请注意,在一些实施例中,过程300可以使用来自任何合适时间段的日志信息来识别一个或多个更新,诸如先前的查看会话(例如,与在框302和/或304接收到的RPC不相关联的会话,和/或任何其他合适的先前查看会话)。例如,在一些实施例中,过程300可以基于先前查看的网页、先前查看的视频内容项目、先前查看的广告、和/或日志信息中指示为先前在用户装置上呈现的任何其他合适的内容来识别一个或多个更新。
在一些实施例中,过程300可以使用日志信息来确定所述更新中不包括的一个或多个内容项目。例如,在过程300基于日志信息(例如,基于确定特定视频内容项目类似于其他先前查看的视频内容项目,和/或基于任何其他合适的确定)而将特定视频内容项目识别为可能被用户装置的用户感兴趣的情况下,过程300可以基于日志信息来确定是否已在用户装置上查看该特定视频内容项目。继续此实例,在过程300确定已在用户装置上查看该特定视频内容项目的情况下,过程300可以确定查看该特定视频内容项目的推荐不包括在对网页的一个或多个更新中。作为另一实例,在过程300基于日志信息而将特定视频内容项目识别为可能被用户装置的用户感兴趣的情况下,过程300可以基于日志信息来确定在网页上是否已呈现和/或当前正在呈现查看该视频内容项目的推荐。继续此实例,在过程300确定已呈现和/或当前正在呈现查看该特定视频内容项目的推荐的情况下,过程300可以确定查看该特定视频内容项目的推荐不包括在对网页的一个或多个更新中。
请注意,在一些实施例中,过程300可以使用日志信息和/或在框302和/或304接收到的RPC中包括的信息来将出现在一个或多个更新中的数据对象和正在用户装置上渲染的网页中包括的数据对象进行去重。例如,在一些实施例中,过程300可以移除包括在对网页的一个或多个更新中的、过程300确定当前正在网页上呈现的任何数据对象(例如,基于在框302和/或304接收到的RPC中包括的信息、基于日志信息、和/或基于任何其他合适的信息)。作为更具体实例,在一个或多个更新包括查看特定视频内容项目的推荐的情况下,过程300可以响应于确定所述网页当前包括查看特定视频内容项目的推荐而从网页的一个或多个更新移除与该特定视频内容项目相关联的数据对象(例如,缩略图、标题和/或任何其他合适类型的数据对象)。
过程300可以在310将一个或多个更新传输到用户装置。在一些实施例中,过程300可以使用任何合适的技术或技术组合来将一个或多个更新传输到用户装置。例如,在一些实施例中,过程300可以将一个或多个更新传输到用户装置,作为对框302处接收到的指示当前正在用户装置上呈现网页的RPC的响应。在一些实施例中,一个或多个更新可以包括任何合适内容,诸如图形、图像、图标、链接、文本、和/或要包括在每一个更新中的任何其他合适的内容。例如,在网页的更新是查看特定视频内容项目的推荐的情况下,所述更新可以包括与视频内容项目相关联的缩略图、到视频内容项目的链接、指示视频内容项目的标题的文本、指示视频内容项目的创建者姓名的文本、和/或任何其他合适的内容。
请注意,在一些实施例中,过程300可以传输任何其他合适的信息作为对RPC的响应。例如,在一些实施例中,服务器可以确定在用户装置上当前正渲染网页之后可能被查看的网页,且可以传输将被包括在未来可能被查看的网页中的内容(例如,作为下一个网页和/或在预定时间段内)。作为更具体实例,在过程300确定与特定内容频道相关联的网页可能很快被查看(例如,作为下一个网页,在接下来的几分钟内、和/或在任何其他合适的时间段内)的情况下,过程300可以识别与内容频道相关联的视频内容项目,且可以传输内容(例如,表示视频内容项目的缩略图、视频内容项目的标题、和/或任何其他合适的内容),当在用户装置上请求时,用户装置可以使用所述内容以在与频道相关联的网页内渲染视频内容项目的指示。通过在请求被确定为未来可能查看的页面时使用本地存储的内容,可以进一步减少用于提供所请求内容的等待时间。此外,在向服务器传输单独的调用以渲染未来网页时,可能不会产生处理器资源和网络带宽。
转向图4,示出根据所公开主题的一些实施例的可以使用的用于更新用缓存内容渲染的网页的硬件的实例400。如所示出,硬件400可以包括服务器402、通信网络404、和/或一个或多个用户装置406,诸如用户装置408和410。
服务器402可以是用于存储媒体内容和/或将媒体内容提供给用户装置406的任何合适服务器。例如,在一些实施例中,服务器402可以存储媒体内容,诸如视频、电视节目、电影、直播媒体内容、音频内容、动画、视频游戏内容、图形、和/或任何其他合适的媒体内容。在一些实施例中,服务器402可以例如经由通信网络404将媒体内容传输到用户装置406。在一些实施例中,服务器402可以响应于接收到来自用户装置406的RPC来向用户装置406传输对正在用户装置406上渲染的网页的更新,如上文结合图1和3较详细示出和描述的。
在一些实施例中,通信网络404可以是一个或多个有线和/或无线网络的任何合适组合。例如,通信网络404可以包括以下各项中的任一个或多个:因特网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字订户线(DSL)网络、帧中继网络、异步传送模式(ATM)网络、虚拟专用网(VPN)、和/或任何其他合适的通信网络。用户装置406可以通过一个或多个通信链路(例如,通信链路412)连接到通信网络404,通信网络404可以经由一个或多个通信链路(例如,通信链路414)链接到服务器402。通信链路可以是适于在用户装置406和服务器402当中传达数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其他合适的通信链路、或此类链路的任何合适组合。
用户装置406可以包括适用于请求包括可用媒体内容的指示的网页、使用缓存内容渲染网页、基于服务器402提供的更新信息更新所渲染网页、和/或执行任何其他合适功能的任何一个或多个用户装置。例如,在一些实施例中,用户装置406可以包括移动装置,诸如移动电话、平板计算机、可穿戴计算机、膝上型计算机、虚拟现实耳机、车辆(例如,汽车、船、飞机、或任何其他合适的车辆)信息或娱乐系统,和/或任何其他合适的移动装置和/或任何合适的非移动装置(例如,台式计算机、游戏控制台、和/或任何其他合适的非移动装置)。作为另一实例,在一些实施例中,用户装置406可以包括媒体播放装置,诸如电视、投影仪装置、游戏控制台、台式计算机、和/或任何其他合适的非移动装置。
尽管服务器402被示为一个装置,但在一些实施例中,服务器402执行的功能可以使用任何合适数目的装置来执行。例如,在一些实施例中,可以使用多个装置来实现服务器402执行的功能。
尽管图4中示出了两个用户装置408和410以避免附图过于复杂,但在一些实施例中可以使用任何合适数目的用户装置、和/或任何合适类型的用户装置。
在一些实施例中,服务器402和用户装置406可以使用任何合适的硬件来实现。例如,在一些实施例中,装置402和406可以使用任何合适的通用计算机或专用计算机来实现。例如,移动电话可以使用专用计算机实现。任何此类通用计算机或专用计算机可以包括任何合适的硬件。例如,如图5的示例性硬件500中所示出的,此类硬件可以包括硬件处理器502、存储器和/或存储装置504、输入装置控制器506、输入装置508、显示/音频驱动器510、显示和音频输出电路512、通信界面514、天线516和总线518。
在一些实施例中,硬件处理器502可以包括任何合适的硬件处理器,诸如微处理器、微控制器、数字信号处理器、专用逻辑、和/或用于控制通用计算机或专用计算机的运作的任何其他合适电路。在一些实施例中,硬件处理器502可以通过存储在服务器(例如,诸如服务器402)的存储器和/或存储装置504中的服务器程序控制。例如,在一些实施例中,服务器程序可以使硬件处理器502接收正在用户装置上呈现的网页的指示,确定网页的更新,将所述更新传输到用户装置、和/或执行任何其他合适的动作。在一些实施例中,硬件处理器502可以通过存储在用户装置506的存储器和/或存储装置504中的计算机程序控制。例如,计算机程序可以使硬件处理器502使用缓存信息渲染网页,向服务器402传输网页的指示,接收网页的更新,更新网页,和/或执行任何其他合适的动作。
在一些实施例中,存储器和/或存储装置504可以是用于存储程序、数据、媒体内容和/或任何其他合适信息的任何合适的存储器和/或存储装置。例如,存储器和/或存储装置504可以包括随机存取存储器、只读存储器、快闪存储器、硬盘存储装置、光学介质、和/或任何其他合适的存储器。
在一些实施例中,输入装置控制器506可以是用于控制和接收来自一个或多个输入装置508的输入的任何合适的电路。例如,输入装置控制器506可以是用于从触摸屏、从键盘、从鼠标、从一个或多个按钮、从语音辨识电路、从麦克风、从相机、从光学传感器、从加速度计、从温度传感器、从近场传感器、和/或任何其他类型的输入装置接收输入的电路。
在一些实施例中,显示/音频驱动器510可以是用于控制和驱动到一个或多个显示/音频输出装置512的输出的任何合适的电路。例如,显示/音频驱动器510可以是用于驱动触摸屏、平板显示器、阴极射线管显示器、投影仪、一个或多个扬声器、和/或任何其他合适的显示器和/或呈现装置的电路。
通信界面514可以是用于与一个或多个通信网络(诸如图4所示的网络404)对接的任何合适的电路。例如,界面514可以包括网络接口卡电路、无线通信电路、和/或任何其他合适类型的通信网络电路。
在一些实施例中,天线516可以是用于与通信网络(例如,通信网络404)无线通信地任何合适的一个或多个天线。在一些实施例中,可以省略天线516。
在一些实施例中,总线518可以是用于在两个或两个以上组件502、504、506、510和514之间通信的任何合适的机构。
根据一些实施例,可以在硬件500中包括任何其他合适的组件。
在一些实施例中,图1-3的过程的至少一些上述框可以以任何顺序或序列实行或执行,不限于附图中所示和结合附图描述的顺序和序列。而且,图1-3的一些上述框可以在适当的情况下实质上同时或并行实行或执行,以减少等待时间和处理时间。另外或替代地,图1-3的过程的一些上述框可以省略。
在一些实施例中,任何合适的计算机可读介质可以被用于存储用于执行本文的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质可以是暂时性或非暂时性的。例如,非暂时性计算机可读介质可以包括以下介质:诸如非暂时性形式的磁性介质(诸如硬盘、软盘、和/或任何其他合适的磁性介质)、非暂时性形式的光学介质(诸如压缩光盘、数字视频光盘、蓝光光盘、和/或任何其他合适的光学介质)、非暂时性形式的半导体介质(诸如快闪存储器、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、和/或任何其他合适的半导体介质)、在传输期间不转瞬即逝或没有任何持久性外观的任何合适的介质,和/或任何合适的有形介质。作为另一实例,暂时性计算机可读介质可以包括网络上的信号、电线、导体、光纤、电路、在传输期间转瞬即逝且没有任何持久性外观的任何合适介质、和/或任何合适的无形介质。
在本文描述的系统收集关于用户的个人信息、或利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)的机会。另外,某些数据可以在存储或使用之前以一种或多种方式处理,以便移除个人信息。例如,可以处理用户的身份,使得不能为用户确定个人可标识信息,或者可以在获得位置信息的地方概括用户的地理位置(诸如城市、邮政编码、或州级),使得不能确定用户的特定位置。因此,用户可以控制内容服务器如何收集和使用关于用户的信息。
因此,提供了用于更新用缓存内容渲染的网页的方法、系统和介质。
虽然在前述说明性实施例中已描述和示出了本发明,但应理解,仅通过实例的方式进行了本公开,且可以在不脱离本发明的精神和范围的情况下对本发明的实现方式的细节进行许多改变,本发明的范围仅由所附权利要求限定。所公开实施例的特征可以按照各种方式来组合和重新布置。

Claims (17)

1.一种用于更新网页内容的方法,所述方法包括:
在用户装置处接收对呈现网页的请求;
从所述用户装置本地的存储器检索与所述网页相关联的模板和要包括在所述网页中的多个内容项目;
使用检索到的模板和所述多个内容项目使所述网页呈现在所述用户装置上,其中所述多个内容项目中的至少一个内容项目与事件监听器相关联,所述事件监听器检测与所述至少一个内容项目相关联的活动,并且其中所述网页的对应于不是从所述用户装置本地的所述存储器检索的第一内容项目的部分呈现为空白;
响应于使用所述事件监听器检测与所述至少一个内容项目相关联的所述活动,将远程程序调用RPC传输到与所述网页相关联的服务器,其中所述RPC包括与所述网页中包括的第二内容项目相关联可见性事件以及所述网页中由于所述第一内容项目不存储在所述用户装置本地的所述存储器中而空白的所述部分的指示;
接收对所述RPC的响应,所述响应包括对所述网页的至少一个更新;以及
使得所述网页基于对所述RPC的所述响应而被更新。
2.根据权利要求1所述的方法,其中对所述网页的所述至少一个更新包括所述多个内容项目中不包括的内容项目。
3.根据权利要求1所述的方法,其中所述多个内容项目中的至少一个内容项目是对查看媒体内容项目的推荐。
4.根据权利要求1所述的方法,其中所述RPC包括与所述多个内容项目中的每一个内容项目相对应的标识符。
5.根据权利要求1所述的方法,其中,所述活动包括检测所述多个内容项目中的所述至少一个内容项目在所述用户装置上已被交互。
6.根据权利要求5所述的方法,其中所述RPC包括与所述多个内容项目中的所述内容项目的交互的定时信息。
7.根据权利要求1所述的方法,其中所述模板指示所述多个内容项目中每一个内容项目的位置。
8.根据权利要求1至7中的任一项所述的方法,其中对所述RPC的所述响应包括将被包括在由所述服务器确定的在所述网页之后可能被查看的另一网页中的至少一个内容项目,所述方法包括在所述用户装置本地的所述存储器中存储将被包括在所述另一网页中的所述至少一个内容项目。
9.一种用于更新网页内容的系统,所述系统包括:
存储器;以及
硬件处理器,其在执行存储在所述存储器中的计算机可执行指令时被配置为:
在用户装置处接收对呈现网页的请求;
从所述用户装置本地的存储器检索与所述网页相关联的模板和要包括在所述网页中的多个内容项目;
使用检索到的模板和所述多个内容项目使所述网页呈现在所述用户装置上,其中所述多个内容项目中的至少一个内容项目与事件监听器相关联,所述事件监听器检测与所述至少一个内容项目相关联的活动,并且其中所述网页的对应于不是从所述用户装置本地的所述存储器检索的第一内容项目的部分呈现为空白;
响应于使用所述事件监听器检测与所述至少一个内容项目相关联的所述活动,将远程程序调用RPC传输到与所述网页相关联的服务器,其中所述RPC包括与所述网页中包括的第二内容项目相关联可见性事件以及所述网页中由于所述第一内容项目不存储在所述用户装置本地的所述存储器中而空白的所述部分的指示;
接收对所述RPC的响应,所述响应包括对所述网页的至少一个更新;以及
使得所述网页基于对所述RPC的所述响应而被更新。
10.根据权利要求9所述的系统,其中对所述网页的所述至少一个更新包括所述多个内容项目中不包括的内容项目。
11.根据权利要求9所述的系统,其中所述多个内容项目中的至少一个内容项目是对查看媒体内容项目的推荐。
12.根据权利要求9所述的系统,其中所述RPC包括与所述多个内容项目中的每一个内容项目相对应的标识符。
13.根据权利要求9所述的系统,其中所述活动包括检测所述多个内容项目中的所述至少一个内容项目在所述用户装置上已被交互。
14.根据权利要求13所述的系统,其中所述RPC包括与所述多个内容项目中的所述内容项目的交互的定时信息。
15.根据权利要求9所述的系统,其中所述模板指示所述多个内容项目中的每一个内容项目的位置。
16.根据权利要求9至15中的任一项所述的系统,其中对所述RPC的所述响应包括将被包括在由所述服务器确定的在所述网页之后可能被查看的另一网页中的至少一个内容项目,所述硬件处理器进一步被配置成在所述存储器中存储将被包括在所述另一网页中的所述至少一个内容项目。
17.一种含有计算机可执行指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时使得所述处理器执行根据权利要求1至8中的任一项所述的用于更新网页内容的方法。
CN201880036954.4A 2017-12-13 2018-09-14 用于更新用缓存内容渲染的网页的方法、系统和介质 Active CN110709838B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/840,560 2017-12-13
US15/840,560 US11170067B2 (en) 2017-12-13 2017-12-13 Methods, systems, and media for updating a webpage rendered with cached content
PCT/US2018/051073 WO2019118029A1 (en) 2017-12-13 2018-09-14 Methods, systems, and media for updating a webpage rendered with cached content

Publications (2)

Publication Number Publication Date
CN110709838A CN110709838A (zh) 2020-01-17
CN110709838B true CN110709838B (zh) 2023-09-29

Family

ID=63963377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880036954.4A Active CN110709838B (zh) 2017-12-13 2018-09-14 用于更新用缓存内容渲染的网页的方法、系统和介质

Country Status (4)

Country Link
US (2) US11170067B2 (zh)
EP (1) EP3616078A1 (zh)
CN (1) CN110709838B (zh)
WO (1) WO2019118029A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220382419A1 (en) * 2019-11-14 2022-12-01 Lg Electronics Inc. Display device and control method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930034A (zh) * 2012-11-09 2013-02-13 北京奇虎科技有限公司 页面加载系统和方法
CN104199951A (zh) * 2014-09-12 2014-12-10 百度在线网络技术(北京)有限公司 网页处理方法及装置
CN104902327A (zh) * 2015-05-27 2015-09-09 青岛海信传媒网络技术有限公司 一种页面的内容更新及下发方法、智能电视和系统
CN106209925A (zh) * 2015-04-29 2016-12-07 阿里巴巴集团控股有限公司 页面加载方法、客户端及系统
CN107451169A (zh) * 2017-03-07 2017-12-08 河海大学常州校区 一种体育竞赛信息发布系统通用平台

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2299150A1 (en) * 2000-02-23 2001-08-23 Hummingbird Communications Ltd A system and method for providing real-time information to a web browser
US6934697B1 (en) 2000-08-04 2005-08-23 Netzero, Inc. Creating customized internet access client user interface
US6941562B2 (en) * 2000-12-01 2005-09-06 Appeon Corporation Method of <script> based remote JavaScript function call of web page
US7594001B1 (en) 2001-07-06 2009-09-22 Microsoft Corporation Partial page output caching
US6912715B2 (en) * 2001-07-30 2005-06-28 Appeon Corporation System and method for web-based remote procedure call (RPC)
US7092997B1 (en) * 2001-08-06 2006-08-15 Digital River, Inc. Template identification with differential caching
US7296051B1 (en) * 2002-02-19 2007-11-13 Digital River, Inc. Predictive predownload of templates with delta encoding
US7487261B1 (en) * 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
US8370420B1 (en) 2002-07-11 2013-02-05 Citrix Systems, Inc. Web-integrated display of locally stored content objects
AU2003262702A1 (en) * 2002-08-23 2004-03-11 Jway Group, Inc. Extensible user interface (xui) framework and development environment
EP1761025A1 (en) * 2003-03-04 2007-03-07 Ricoh Company, Ltd. Image forming apparatus and image processing apparatus
US7698398B1 (en) * 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US8069435B1 (en) * 2003-08-18 2011-11-29 Oracle America, Inc. System and method for integration of web services
US8103742B1 (en) 2003-11-24 2012-01-24 Amazon Technologies, Inc. Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
FR2862830B1 (fr) * 2003-11-26 2006-02-24 Inst Nat Rech Inf Automat Dispositif et procede asynchrones et automatiques de transmission de resultats entre objets communicants.
US20060200753A1 (en) * 2005-03-07 2006-09-07 Rishi Bhatia System and method for providing data manipulation as a web service
US20060212792A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Synchronously publishing a web page and corresponding web page resources
US7983209B2 (en) * 2005-04-18 2011-07-19 Research In Motion Limited System and method for producing notification based web services
TWI417788B (zh) * 2005-09-01 2013-12-01 Koninkl Philips Electronics Nv 資料處理系統及操作一轉譯平台的方法
US7694294B2 (en) * 2006-03-15 2010-04-06 Microsoft Corporation Task template update based on task usage pattern
US20090210631A1 (en) * 2006-09-22 2009-08-20 Bea Systems, Inc. Mobile application cache system
US8504711B1 (en) * 2006-12-12 2013-08-06 Google Inc. Integrating web services with a content item
US7593928B2 (en) * 2007-01-29 2009-09-22 Aol Llc Dynamically altering search result page layout to increase user response
US7881984B2 (en) * 2007-03-30 2011-02-01 Amazon Technologies, Inc. Service for providing item recommendations
US7974888B2 (en) * 2007-03-30 2011-07-05 Amazon Technologies, Inc. Services for providing item association data
IL182702A0 (en) * 2007-04-19 2007-09-20 90 Yitshak Barashi Method for changing visual modes of documents stored over a data network
US8260845B1 (en) * 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US20090144753A1 (en) * 2007-11-30 2009-06-04 Morris Robert P Method And System For Providing Update Content In A Markup Language-Based Resource
US7933871B2 (en) * 2007-12-28 2011-04-26 Microsoft Corporation Discovering and updating templates
US20100251143A1 (en) * 2009-03-27 2010-09-30 The Ransom Group, Inc. Method, system and computer program for creating and editing a website
US8433733B2 (en) * 2010-01-13 2013-04-30 Vmware, Inc. Web application record-replay system and method
US20110202270A1 (en) * 2010-02-03 2011-08-18 Sharma Sridar G Delivery of advertisments over broadcasts to receivers with upstream connection and the associated compensation models
US20110213681A1 (en) * 2010-02-03 2011-09-01 Mohammad Shahid Delivering enhanced content to broadcast media receivers with internet connection and enhancing user experience
US8751925B1 (en) * 2010-04-05 2014-06-10 Facebook, Inc. Phased generation and delivery of structured documents
US9626343B2 (en) 2010-04-05 2017-04-18 Facebook, Inc. Caching pagelets of structured documents
CA2779145C (en) * 2010-07-02 2015-12-29 Schweitzer Engineering Laboratories, Inc. Systems and methods for remote device management
US9026903B1 (en) * 2011-01-11 2015-05-05 Google Inc. Abstract syntax tree interpreter for generating a valid HTML document
US9606970B2 (en) * 2012-01-05 2017-03-28 Data Record Science Web browser device for structured data extraction and sharing via a social network
US9558507B2 (en) * 2012-06-11 2017-01-31 Retailmenot, Inc. Reminding users of offers
EP2959381A4 (en) * 2013-02-21 2016-09-14 Sweetlabs Inc SYSTEMS AND METHODS FOR INTEGRATED RECOMMENDATIONS
CA2902200C (en) 2013-03-01 2018-05-29 Facebook, Inc. Caching pagelets of structured documents
US9430757B2 (en) * 2013-03-13 2016-08-30 Genesys Telecommunications Laboratories, Inc. Rich personalized communication context
US9426201B2 (en) * 2013-03-13 2016-08-23 International Business Machines Corporation Transforming application cached template using personalized content
US9489349B2 (en) * 2013-07-09 2016-11-08 Flipboard, Inc. Page template selection for content presentation in a digital magazine
US20150026566A1 (en) * 2013-07-16 2015-01-22 Qualcomm Incorporated Systems and methods to prioritize browser tile generation from lq tile content
US9294553B1 (en) 2013-09-20 2016-03-22 Amazon Technologies, Inc. Predictive rendering of current content versions
US9477774B2 (en) * 2013-09-25 2016-10-25 Akamai Technologies, Inc. Key resource prefetching using front-end optimization (FEO) configuration
WO2015078231A1 (zh) * 2013-11-26 2015-06-04 优视科技有限公司 网页模板生成方法和服务器
US10200427B2 (en) * 2014-01-13 2019-02-05 Facebook, Inc. Systems and methods for streaming digital content using an intermediate server
US10216855B2 (en) * 2014-06-26 2019-02-26 International Business Machines Corporation Mobilizing an existing web application
US9648080B2 (en) * 2014-10-30 2017-05-09 Flipboard, Inc. Selection of page templates for presenting digital magazine content based on characteristics of additional page templates
US10320941B2 (en) 2015-07-30 2019-06-11 Nasdaq, Inc. Server-side caching for web user interfaces
US10289296B1 (en) * 2015-08-21 2019-05-14 Google Llc Systems and methods for dynamically appending supplemental content to an information resource responsive to scroll activity
US10437924B2 (en) * 2015-12-22 2019-10-08 Oath Inc. Size-optimized data interchange method and system
US20170269893A1 (en) 2016-03-16 2017-09-21 Google Inc. Remote rendering of locally displayed content
US10574692B2 (en) * 2016-05-30 2020-02-25 Christopher Nathan Tyrwhitt Drake Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements
US20180047052A1 (en) * 2016-08-10 2018-02-15 Social Networking Technology, Inc. Systems and methods for delivering relevant content and advertisements
US20180260195A1 (en) * 2017-03-13 2018-09-13 Muthukrishnan Govindaraj Method for building native ecommerce mobile application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930034A (zh) * 2012-11-09 2013-02-13 北京奇虎科技有限公司 页面加载系统和方法
CN104199951A (zh) * 2014-09-12 2014-12-10 百度在线网络技术(北京)有限公司 网页处理方法及装置
CN106209925A (zh) * 2015-04-29 2016-12-07 阿里巴巴集团控股有限公司 页面加载方法、客户端及系统
CN104902327A (zh) * 2015-05-27 2015-09-09 青岛海信传媒网络技术有限公司 一种页面的内容更新及下发方法、智能电视和系统
CN107451169A (zh) * 2017-03-07 2017-12-08 河海大学常州校区 一种体育竞赛信息发布系统通用平台

Also Published As

Publication number Publication date
US20190179919A1 (en) 2019-06-13
WO2019118029A1 (en) 2019-06-20
US20220058229A1 (en) 2022-02-24
US11170067B2 (en) 2021-11-09
EP3616078A1 (en) 2020-03-04
CN110709838A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
US11329942B2 (en) Methods, systems, and media for presenting messages related to notifications
US11528243B2 (en) Methods, systems, and media for generating a notification in connection with a video content hem
US11470371B2 (en) Methods, systems, and media for indicating viewership of a video
US11991262B2 (en) Methods, systems, and media for retrieving content associated with links
US10555016B2 (en) Methods, systems, and media for indicating viewership of a video based on context
US20220058229A1 (en) Methods, systems, and media for updating a webpage rendered with cached content
CN106462878B (zh) 用于在媒体内容的后台呈现期间呈现广告的方法、系统和介质
US9087096B1 (en) Systems, methods, and media for controlling the presentation of search results with advertisement indications

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