CN104903840A - 数字内容缓存次序的更新 - Google Patents

数字内容缓存次序的更新 Download PDF

Info

Publication number
CN104903840A
CN104903840A CN201380065323.2A CN201380065323A CN104903840A CN 104903840 A CN104903840 A CN 104903840A CN 201380065323 A CN201380065323 A CN 201380065323A CN 104903840 A CN104903840 A CN 104903840A
Authority
CN
China
Prior art keywords
buffer memory
memory order
digital content
content
access information
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.)
Pending
Application number
CN201380065323.2A
Other languages
English (en)
Inventor
F.R.莫里森三世
A.伯巴
B.亨特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN104903840A publication Critical patent/CN104903840A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • H04N21/44226Monitoring of user activity on external systems, e.g. Internet browsing on social networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了用于动态地改变数字内容项目的缓存次序的实施例。一个公开的实施例提供被配置成接收对于多个客户端设备的内容访问信息的计算设备,所述内容访问信息描述按照以前被发送到所述多个客户端设备的每个客户端设备的缓存次序而提供的数字内容项目的消费。该计算设备还要根据内容访问信息来动态地更新缓存次序,以产生更新的缓存次序,并把所述更新的缓存次序发送到一个或多个客户端设备。

Description

数字内容缓存次序的更新
背景技术
诸如视频游戏那样的数字内容项目可包括大量的数据,因此,全部下载会花费潜在地大量的时间。为了有助于防止长时间等待,某些数字内容项目可以允许用户在下载完成之前就与内容交互。然而,在玩期间当与内容交互的用户到达还没有被下载的内容部分时,用户可能体验到延迟。
发明内容
公开了涉及动态地更新数字内容项目的一些部分的缓存次序的实施例。例如,一个公开的实施例提供包括逻辑子系统和存储子系统的计算设备,存储子系统包括被存储在其上的指令,所述指令可以由逻辑子系统执行来接收对于多个客户端设备的内容访问信息,内容访问信息描述按照以前被发送到该多个客户端设备的每个客户端设备的缓存次序而提供的数字内容项目的消费(consumption)。指令还可以被执行来根据内容访问信息动态地更新缓存次序,以产生更新的缓存次序,并且把更新的缓存次序发送到一个或多个客户端设备。
本概要被提供来以简化的形式介绍概念的选择,这些概念还将在下面的详细说明中进行描述。本概要既不打算确认所要求保护的主题的关键特征或必要特征,也不打算被使用来限制所要求保护的主题的范围。而且,所要求保护的主题不限于解决在本公开内容的任何部分中提到的任何或所有缺点的实现。
附图说明
图1图示数字内容消费环境的示例性实施例。
图2示意性地图示用于提供数字内容项目的方法的实施例。
图3图示了一流程图,其描绘用于动态地调节数字内容项目的缓存次序的方法的实施例。
图4图示计算系统的示例性实施例。
具体实施方式
如上所述,可下载的数字内容项目可以允许用户在下载完成之前就开始与内容交互。然而,在玩期间当与内容交互的用户到达还没有被下载的内容部分时,用户可能体验到中断(例如,页面错误)。
数字内容项目可以按照“缓存次序”来被获得,“缓存次序”定义数字内容项目的(一个或多个)内容部分将要被呈现系统获取的次序。因为数字内容项目可包括多种不同的用户体验(experience)(例如,不同的玩游戏模式、贯穿大型游戏的各种可能的路径、非线性媒体访问,等等),不同的用户可能不同地消费特定的内容项目,因此,当内容项目在获取期间被消费时,也可能体验到不同的中断。例如,在视频游戏的情形下,某些用户可能较慢地和有条不紊地玩游戏,同时试图在进到下一级别之前解决掉某个级别中的所有挑战,而其它的用户可能跳过可选的挑战,且改而尽可能快地进到更高级别。因此,取决于不同的用户是否和/或何时到达数字内容项目的还没有被获取的(一个或多个)内容部分,可能出现不同的中断。
这样,这里公开了实施例,其涉及动态地调节对于数字内容项目提供的缓存次序以便潜在地减小这样的中断的或然率。例如,缓存次序可以通过跟踪数字内容项目被如何消费而被改进。换句话说,当数字内容项目被多个用户访问时,关于每个用户如何访问该数字内容项目的一些部分的时间信息可被跟踪。然后,对于数字内容项目提供的缓存次序可被调节,以便有助于减小在内容项目消费期间的中断的或然率。应理解的是,术语“内容部分”等等表示数字内容项目的数据的任何部分,并且可以对应于或可以不对应于数字内容项目的离散的特征、文件、对象等等。例如,在某些实施例中, “内容部分”可以对应于内容部分的存储位置,诸如相对于内容项目的开始的存储器偏移的范围。
在某些实施例中,对于内容和/或内容部分,可能存在说明性元数据。在这样的实施例中,元数据可以帮助提供对于正被访问的内容部分的性质的了解。因此,这样的元数据可被使用来提供对于用户的玩游戏风格和/或用户的其它数字内容消费特性的更高阶了解,并因此可以提供用于确定对于该用户的缓存次序的附加信息。
中断可以由于除了用户访问内容部分的次序以外的因素而引起。例如,提供超阈值(above threshold)体验(例如,完全的质量、基本上未中断、高于容忍的中断的阈值水平、等等)的内容部分的递送可取决于用户访问的速率以及把内容部分供应给客户端设备的能力。这可依赖于诸如网络带宽、设备性能等等的因素。因此,公开了当确定和/或调节缓存次序时额外地考虑这样的网络和/或设备性能特性的实施例。
在更详细地讨论这些实施例之前,参照图1描述使用环境100的示例性实施例。使用环境100包括多个客户端设备,每个客户端设备被配置成接收和呈现数字内容项目,其中每个客户端设备可以与对应的用户相关联。而且,在某些实例中,多于一个的客户端设备可以与某个用户相关联,和/或多于一个的用户可以与某个客户端设备相关联(例如,经由一个个用户配置文件等等)。例如,用户可以具有视频游戏操控台、移动设备、计算机(膝上型、台式、平板)、可穿戴设备(例如,头戴式显示器)等等中的两个或更多个设备,并且可以经由每个这样的设备来消费数字内容项目。这样的情景被图示为第一用户102既与第一客户端设备104(例如,视频游戏操控台)又与第二客户端设备106(例如,移动设备、可穿戴设备、便携式设备、计算机等)相关联。为了举例说明使用环境100的多用户性质,图1还包括与其它用户相关联的两个其它的客户端设备,它们是以如下的形式:与用户2相关联的第三客户端设备108和与用户n 111相关联的客户端设备n 110。
每个客户端设备104、106、108和110经由网络122(例如,计算机网、蜂窝电话网和/或任何其它适当类型的网络)与一个或多个数字内容存储库120(例如,可以从其获取内容的位置)通信。数字内容存储库120被描绘为存储多个数字内容项目,其被图示为数字内容项目1 124和数字内容项目n 126。虽然这是在客户机-服务器环境的上下文中描述的,但应理解的是,其它实施例可以利用任何其它适当的体系结构,包括但不限于对等配置。应意识到,图1的实施例是为了举例而被提供的,其不打算以任何方式进行限制。
每个数字内容项目包括多个内容部分,内容部分的例子被显示为对于数字内容项目1 124的内容部分1 128和内容部分n 130。数字内容项目124、126可以代表任何适当类型的数字内容,包括但不限于交互式内容,诸如视频游戏、交互式视频和社交媒体。其它的例子包括但不限于电影、电视节目和其它视频、音乐、照片、网站等等。同样地,内容部分128、130可以取任何适当的形式。例如,内容部分128、130可以取存储器的特定部分的形式(例如,存储位置、磁盘扇区等等),或者引申开来,取特定文件等等的形式。
如上所述,在某些实施例中,一个或多个数字内容项目和/或某个数字内容项目的一些部分可以具有相关联的描述性元数据,其描述内容部分的身份、特性和/或其它属性。例如,在视频游戏的情形下,元数据132可包括由内容部分(部分地或全部地)代表的、关于一个或多个虚拟对象的身份的信息(例如,角色/对象标识、位置/设置等等)。元数据1 32还可包括关于作为整体的数字内容项目的信息(例如,流派)和/或任何其它适当的信息。这样的元数据在图1上被图示为被存储在远离数字内容存储库120放置的元数据存储库132中。然而,应理解的是,元数据132可被存储在任何适当的位置,在某些实施例中,包括与对应的内容项目一起存储。
如上所述,关于(一个或多个)用户如何访问特定的数字内容项目的时间信息可被使用来改进对于该内容项目和/或对于其它内容项目的缓存次序。因此,环境100还包括缓存次序服务140。缓存次序服务140包括内容访问跟踪模块142,其被配置成接收和跟踪对于一个或多个数字内容项目的内容访问信息。内容访问信息可包括例如描述各种内容部分被访问的次序的信息、不同的内容部分被访问的时间和/或描述用户与(一个或多个)数字内容项目交互的其它信息。
而且,在某些实施例中,缓存次序服务140还可以包括性能分析模块143,或者以其它方式与性能分析模块143通信,性能分析模块143被配置成得到(例如,经由测量和/或计算)涉及客户端设备的性能(例如,处理器负荷等等)、数字内容存储库120的性能(例如,同时的用户、存储子系统带宽等等)、任何一个或多个互连机制的性能(例如,网络122的带宽)的数据,和/或关于可影响数字内容项目的消费的网络和/或设备有关的因素的任何其它适当的信息。
内容访问信息存储库144可以存储对于多个用户的内容访问信息,其被图示为用户1信息146和用户n信息148。用户特定的信息可包括对于由每个用户访问的每个数字内容项目的访问信息。例如,如所图示的,用户1访问信息146包括内容项目1访问信息150和内容项目n访问信息152。内容特定的访问信息可包括任何适当的信息,包括但不限于,每个数字内容项目的内容部分被该用户访问的次序,和/或其它这样的时间信息。虽然被图示为是在一个接一个用户的基础上被存储的,但应意识到,内容访问信息可以按照任何适当的机制、粒度等等被存储,而不背离本公开内容的范围。
内容访问信息可以由缓存次序服务140在客户端设备的用户经由设备来消费数字内容项目时从客户端设备得到。在某些实施例中,内容访问信息可以由缓存次序服务得到,以便不打扰由客户端设备对于数字内容项目的获取(例如,经由数字内容存储库120),这比如是通过在检测到的不活动时段期间、在预测的不活动时段期间等等提供内容访问信息而进行的。此外,在某些实施例中,缓存次序服务可以被包括在数字供应服务(例如,数字内容存储库120)内,并因此可以在内容从数字供应服务处被下载时监视内容访问模式。
缓存次序服务140还包括分析和预测模块154,其被配置成分析内容访问信息并根据这样的分析来预测对于数字内容项目的未来消费行为(例如,多半是用户在不久的将来可能消费的游戏体验)。通过分析各种内容访问信息,缓存次序服务140可能能够确定中断数字内容项目的未来消费的或然率,并且改进数字内容项目的(一个或多个)内容部分被提供给客户端设备的次序。这可以有助于减小在消费期间中断的或然率。分析和预测模块154可被配置成为了提供这样的预测而分析任何适当的内容访问信息,诸如像对于单个数字内容项目的、对于一系列标题的、对于被选择的流派的、对于不同流派的多个标题的、和/或对于任何一个或多个数字内容项目的内容访问信息。而且,在某些实施例中,正如上面提到的,可以利用元数据132以便更好地了解内容访问信息。
由分析和预测模块154与性能分析模块143提供的信息可以被缓存排序模块158使用来确定和/或改进对于一个或多个数字内容项目的(一个或多个)缓存次序,以提供一个或多个超阈值体验。如上所述,用户访问数字内容项目的一些部分的次序和速率可以依赖于用户如何消费数字内容项目(例如,导航通过视频游戏的特定级别将花费多少时间),也依赖于内容部分可被递送到客户端的速率(例如,由于网络带宽考虑等等)。
因此,排序模块158可被配置成利用来自分析和预测模块154与性能分析模块143的信息以便确定可以潜在地减少中断用户体验的或然率的(一个或多个)缓存次序。在某些实施例中,可以确定能用来在预期的访问窗口上提供超阈值体验的缓存次序,其中预期的访问窗口可以对应于玩游戏的某个时间段、某个内容项目的一组一个或多个预定义的体验、或任何其它适当的定义。例如,在某些实施例中,可以确定能用来提供对于视频游戏的一组已选择级别的超阈值体验的缓存次序。作为另一个例子,可以确定能用来提供与访问的级别数无关的、对于已选择时间段的超阈值体验的缓存次序。作为再一个例子,缓存次序服务可以定义包括这样的一组内容部分的缓存次序,即:该组内容部分能用来开始和/或保持数字内容项目的超阈值体验。这些情景是为了举例而给出的,其不打算以任何方式进行限制。
正如所图示的,由缓存次序服务所确定的(一个或多个)缓存次序可被存储为缓存次序156,以用于将来的使用和/或改进。应理解的是,这样的信息可被存储在任何适当的位置。例如,在其它实施例中,缓存次序可以由客户端设备本地地存储。
现在转到图2,图上图示用于提供数字内容项目201(例如,第一人称战斗视频游戏)的示例性使用情景,其中图2图示在客户端设备202与缓存次序服务204(例如,缓存次序服务140)之间的通信。虽然图2图示客户机-服务器关系,但应意识到,数字内容项目可以经由任何适当的机制(例如,(一个或多个)对等连接)或机制的组合被提供,而不背离本公开内容的范围。
为了开始体验数字内容项目,客户端设备202请求数字内容项目,如在206所图示的。这样的请求在各种情景下可以人工地和/或编程地来实施。作为一个非限制性例子,计算设备202可以在用户请求后请求内容项目201,或可以被配置成根据用户以前对于相关内容(例如,内容的早先版本、类似的流派、标题、开发者等等)的访问而以编程方式获取数字内容项目。
在208,响应于请求,缓存次序服务可以确定缓存次序。如前所述,缓存次序可以根据以前得到的内容访问信息而被确定,其中访问信息可包括对于同一个用户、不同的用户、同一个内容项目、和/或不同的内容项目所得到的信息。在某些情景下(例如,初始玩的情景),缓存次序可以对应于由开发者、发行者等等提供的预定义的次序。不管缓存次序如何被确定或如何以别的方式被得到,缓存次序都被发送到客户端设备。
在212,客户端设备可以根据从该服务接收的缓存次序,获取和消费数字内容项目。数字内容项目可以从任何适当的一个源或多个源被获取,所述的源包括但不限于网络可访问的内容存储库。
客户端设备可被配置成监视和发送描述数字内容项目如何被客户端设备访问的内容访问信息,和/或所述服务可被配置成请求该内容访问信息。内容访问信息可以以周期的和/或非周期的间隔(例如,每5分钟、每天在午夜、在低活动性时段期间等等)从客户端设备被发送,正如在214所图示的。作为更具体的例子,内容访问信息可以当在客户端设备处检测到非活动性后(例如,在半夜期间)被提供给缓存次序服务,以便例如减小在任何特定的时间所使用的网络带宽。在其它的实施例中,客户端设备可被配置成以编程方式提供内容访问信息,而在其它实施例中,该服务可被配置成请求内容访问信息。
当从客户端设备接收到内容访问信息时,服务可根据这样的信息改进缓存次序,如在216所图示的。换句话说,缓存次序可被更新,以便减小中断数字内容项目的未来消费(即,按照更新的缓存次序来消费)的或然率。作为更具体的例子,在消费期间由客户端做出的某些内容访问请求(例如,相比于提供给客户端的缓存次序而无序地做出的请求)可以对应于由于页面错误造成的对于内容部分的请求。这样,缓存次序可被更新,以便减小这样的请求的发生率。而且,一个或多个性能量度可以用来改进缓存次序。缓存次序可以根据任何适当的准则被更新。例如,缓存可被改进成对于特定的体验提供基本上不中断的某个时间段(例如,30分钟),以便提供一个或多个预定义的用户体验(例如,级别、体育比赛等等),而没有大的中断等等。
如上面讨论的,用户与交互式数字内容项目的交互的性质可以逐个用户地变化,因此缓存次序可以鉴于这样的不确定性而被改进。例如,在某些实施例中,缓存次序可被改进以包括多个潜在的访问模式的供应(例如,如果用户当前是在级别2,则既缓存级别3又缓存级别4),以便于潜在地缓和由不可预测的内容交互所引起的中断。应意识到,这样的情景是为了举例而给出的,其不打算以任何方式进行限制。
因为数字内容项目是按照由客户端设备当前存储的缓存次序被获取的,所以应意识到,在接收到新的缓存次序之前,(一个或多个)数字内容项目可以按照所存储的缓存配置文件被访问。然而,还应意识到,可能不希望经常地更新缓存配置文件,因为经常更新可能减小且甚至潜在地否定通过改进缓存次序而提供的潜在的性能利益(例如,由于检索新的缓存次序、内容部分等等时的额外开销)。因此,当确定是否更新缓存次序时,可能要考虑这样的一些因素。
因此,如在218所图示的,缓存服务可被配置成识别“触发事件”,“触发事件”被配置成在220触发缓存次序的更新。任何适当的事件都可被定义成触发缓存次序的更新。例如,触发事件可以对应于这样的系统状态,即:其中当前的缓存次序被确定为不足以保持超阈值体验。例如,典型地匆匆通过级别而没有完成那些级别中的辅助任务的用户,可按照把这样的辅助任务中的至少某些移到缓存次序中更后位置的缓存次序而被提供以数字内容项目。然而,如果在玩游戏期间用户的实际内容消费模式表明用户也许更可能在某个级别上与辅助内容交互,则被提供给用户的缓存次序可被更新,以避免中断用户体验。作为另一个例子,数字内容项目可以按照被配置用于高的网络带宽的缓存次序被提供。因此,在检测到低的可获得网络带宽的触发事件后,可以提供被配置用于较低带宽条件的新的缓存次序。应意识到,上面提到的触发事件是为了举例而给出的,以及触发事件可包括用户特定的事件、内容项目特定的事件、和/或任何其他适当的事件。而且,虽然是在远程服务检测触发事件的上下文中进行描述的,但应理解的是,触发事件也可以经由客户端设备来检测。
在接收更新的缓存次序后,客户端设备202可以按照更新的缓存次序获取和消费数字内容项目,如在222所图示的。应理解的是,虽然图示的是把单个更新的缓存次序提供给客户端设备,但在用户继续与内容项目交互时,可以提供进一步的更新。而且,虽然图2显示了单个缓存次序在步骤210和220的每一个步骤上被发送,但应理解的是,在这些步骤中的一个或多个步骤上,可以发送多个缓存次序,以及接收多个缓存次序的客户端设备可以确定在进行数字内容项目消费时要使用那些缓存次序中的哪个。
图3显示用于动态地调节数字内容项目的供应的方法300的实施例。在302,方法300可包括发送缓存次序到一个或多个客户端设备(例如,客户端设备104、202等等)。缓存次序可以对应于缺省的初始缓存次序、涉及由用户从多个可能的体验中选择的特定体验的初始缓存次序、根据用户配置文件中的信息选择的初始缓存次序、和/或任何其它适当的次序。而且,在某些实施例中,初始缓存次序可以从不同的源得到。
方法300还包括:在304,接收对于多个客户端设备的内容访问信息,其中内容访问信息包括关于按照缓存次序提供的数字内容项目的消费的信息。换句话说,在数字内容项目是按照缓存次序被获取的时候,接收描述这样的消费的信息(例如,(一个或多个)什么内容部分被消费、消费的速率、网络量度和/或任何其它适当的信息)。
在某些实施例中,方法300还可包括:在306,经由用户配置文件存储内容访问信息。这样的配置文件可以被包括在例如跨多个计算设备和/或数字内容项目可使用的 “漫游的” 配置文件内。漫游配置文件可以不限于内容访问配置文件,而且在某些实施例中,它还可以包括玩游戏的成果、用户配置文件信息和/或任何其它适当的信息。虽然经由用户配置文件的用户特定的访问信息的合并可以使得能够对缓存次序进行增强的用户特定的改进,但应意识到,这样的配置是为了举例而给出的,其不打算以任何方式进行限制。
通过跨多个用户、设备和/或内容项目不断地获取这样的内容访问信息,缓存次序可被修改,以便例如更有效地提供更大量的无中断的访问(例如,减少页面错误,等等)。
因此,方法300还包括:在308,根据内容访问信息而动态地更新缓存次序,以便产生更新的缓存次序。在某些实施例中,动态地更新308缓存次序可包括:在310,根据内容访问信息来确定在预期的访问窗口期间多半要被访问的一个或多个内容部分。作为一个非限制性例子,所确定的内容部分可包括一组能用来保持超阈值用户体验的内容部分,如在314显示的。同样地,更新缓存次序可包括辨认当前的用户体验(例如,视频游戏的当前级别),并根据当前的用户体验来更新缓存次序。
如上所述,超阈值体验可被定义为相对于任何适当阈值的任何适当体验。例如,除了被定义为页面错误的选定频率的阈值以外,阈值体验还可以涉及到在开始回放之前的滞后时间,在这种情形下,术语“超阈值”表示比阈值时间更快的开始时间。因此,作为另一个非限制性例子,所确定的部分可包括一组能用来在阈值时间量内开始超阈值体验的内容部分,如在312显示的。
继续参考图3,动态地更新308缓存次序还可以包括:在316,根据在预期的访问窗口期间多半要被访问的一个或多个内容部分,产生更新的缓存次序。预期的访问窗口对应于超阈值用户体验的目标量(例如,时间量、预定义的用户体验的量、内容部分量、等等)。预期的访问窗口可以以任何适当的方式被定义,以支持任何适当的使用情景。例如,如上所述,预期的访问窗口可以依据时间318被定义,时间318诸如是想要的、基本上无中断的消费的时间。在其它实施例中,预期的访问窗口可以依据一个或多个预定义的体验320(例如,级别、体育比赛、个人任务等等)来定义,在体验期间,希望有基本上无中断的消费。应意识到,这些情景是为了举例而给出的,以及预期的访问窗口可以按照各种粒度和经由各种机制被确定,而不背离本公开内容的范围。
在322,该方法还包括发送更新的缓存次序到一个或多个客户端设备。从以前的描述应明白,缓存次序可被提供给以前没有接收到对于其的内容访问信息的客户端设备。这样,当为了计及内容访问中观察到的变化而随时间更新(一个或多个)缓存次序时,首次访问特定内容项目的用户可能能够利用(leverage)更新的缓存次序,由此潜在地提供更满意的体验。
在某些实施例中,上述的方法和过程可以依赖于一个或多个计算设备的计算系统。具体地,这样的方法和过程可以被实施为计算机应用程序或服务、应用编程接口(API)、库和/或其它计算机程序产品。
图4示意性地显示可以展现(enact)上述方法和过程中的一个或多个的计算系统400的非限制性实施例。计算系统400以简化的形式被显示。客户端设备104和202、被使用来运行服务204的服务器系统、数字内容存储库120和被使用来运行缓存次序服务140的服务器系统是计算系统400的非限制的例子。应理解,可以使用任何适当的计算机体系结构,而不背离本公开内容的范围。在不同的实施例中,计算系统400可以取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)等等的形式。
计算系统400包括逻辑子系统402和存储子系统404。计算系统400可以可选地包括显示子系统406、输入子系统408、通信子系统410和/或图4上未示出的其它部件。
逻辑子系统402包括被配置成执行指令的一个或多个物理设备。例如,逻辑子系统可被配置成执行指令,所述指令是一个或多个应用、服务、程序、例行程序、库、对象、构件、数据结构或其它逻辑构造的一部分。这样的指令可被实施来执行任务、实现数据类型、变换一个或多个部件的状态,或以其它方式达到想要的结果。
逻辑子系统可包括被配置成执行软件指令的一个或多个处理器。附加地或替换地,逻辑子系统可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机器。逻辑子系统的处理器可以是单核或多核,而在其上执行的程序可被配置成用于顺序的、并行的或分布式的处理。逻辑子系统可以可选地包括被分布在两个或更多个设备之间的个体部件,它们可以被远程地放置和/或被配置用于协调的处理。逻辑子系统的一些方面可以被虚拟化并且由被配置在云计算配置中的、可远程访问的联网的计算设备执行。
存储子系统404包括一个或多个物理的非瞬时设备,其被配置成持有可由逻辑子系统执行以实施这里描述的方法和过程的数据和/或指令。当这样的方法和过程被实施时,存储子系统404的状态可被变换——例如,以持有不同的数据。
存储子系统404可包括可拆卸介质和/或内置设备。存储子系统404可包括光存储设备(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储设备(例如,RAM、EPROM、EEPROM等)和/或磁存储设备(例如,硬盘驱动、软盘驱动、磁带驱动、MRAM等)等等。存储子系统404可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址的、文件可寻址的和/或内容可寻址的设备。
应意识到,存储子系统404包括一个或多个物理的设备。然而,在某些实施例中,这里描述的指令的一些方面可以通过未由物理存储设备持有的纯信号(例如,电磁信号、光信号等等)经由传输介质来传播。而且,关于本公开内容的数据和/或其它形式的信息可以通过纯信号被传播。
在某些实施例中,逻辑子系统402和存储子系统404的一些方面可被一起集成到一个或多个硬件-逻辑部件中,通过其可以展现这里在功能上所描述的。这样的硬件-逻辑部件可包括例如现场可编程门阵列(FPGA)、特定于程序和特定于应用的集成电路(PASIC/ASIC)、特定于程序和特定于应用的标准产品(PSSP/ASSP)、单片系统(SOC)系统、以及复杂可编程逻辑器件(CPLD)。
术语“模块”和/或“程序”可被使用来描述被实施来执行具体功能的计算系统400的某个方面。在某些情形下,模块和/或程序可以经由执行由存储子系统404持有的指令的逻辑子系统402来实例化。应理解的是,不同的模块和/或程序可以从同一个应用、服务、代码块、对象、库、例行程序、API、功能等等被实例化。同样地,相同的模块和/或程序可以由不同的应用、服务、代码块、对象、例行程序、API、功能等等来实例化。术语“模块”和/或程序可包括个体的或成组的可执行文件、数据文件、库、驱动器、脚本、数据库记录等等。
应意识到,当在这里使用时,“服务”是跨多个用户会话可执行的应用程序。服务可以是一个或多个系统部件、程序和/或其它服务可得到的。在某些实现中,服务可以在一个或多个服务器-计算设备上运行。
当被包括时,显示子系统406可被使用来呈现由存储子系统404持有的数据的可视表示。这个可视表示可以取图形用户接口(GUI)的形式。当这里描述的方法和过程改变由存储子系统持有的数据并因此变换存储子系统的状态时,显示子系统406的状态可同样地被变换成可视地表示底层数据中的改变。显示子系统406可包括利用几乎任何类型的技术的一个或多个显示设备。这样的显示设备可以与逻辑子系统402和/或存储子系统404一起被组合在共用的外壳中,或者这样的显示设备可以是外围显示设备。
当被包括时,输入子系统408可包括一个或多个用户输入设备,诸如键盘、鼠标、触摸屏、或游戏控制器,或者与用户输入设备对接。在某些实施例中,输入子系统可包括选择的自然用户输入(NUI)元件部分,或者与该元件部分对接。这样的元件部分可以被集成,或者是外围的,并且输入动作的转换和/或处理可以在板上或在板外被操控。示例性的NUI元件部分可包括:用于语音和/或话音识别的麦克风;用于机器视觉和/或手势识别的红外线、彩色、立体和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速度表和/或陀螺仪;以及用于评估大脑活动的电场传感元件部分。
当被包括时,通信子系统410可被配置成使得计算系统400与一个或多个其它计算设备通信地耦合。通信子系统410可以包括兼容一个或多个不同通信协议的有线和/或无线通信设备。作为非限制性例子,通信子系统可被配置成用于经由无线电话网、或者有线或无线局域网或广域网进行通信。在某些实施例中,通信子系统可以允许计算系统400经由诸如互联网这样的网络发送消息到其它设备和/或接收来自其它设备的消息。
应理解的是,这里描述的配置和/或方法本质上是示范性的,这些特定的实施例或例子不被以限制的意义来考虑,因为可能有多种变例。这里描述的特定的例行程序或方法可以代表任何数目的处理策略中的一个或多个。这样,所图示的和/或描述的各种动作可以以图示的和/或描述的顺序、以其它顺序或并行地执行,或者被省略。同样地,上述的过程的次序可以改变。
本公开内容的主题包括这里公开的各种过程、系统与配置、以及其它特征、功能、动作和/或属性的所有新颖的和非显而易见的组合及子组合,以及它们的任何和所有的等同物。

Claims (10)

1.一种计算设备,包括:
逻辑子系统;以及
存储子系统,包括被存储在其上的指令,该指令可由逻辑子系统执行来:
  接收对于多个客户端设备的内容访问信息,该内容访问信息描述按照以前发送到所述多个客户端设备的每个客户端设备的缓存次序来提供的数字内容项目的消费;
  根据该内容访问信息,动态地更新缓存次序,以产生更新的缓存次序;以及
  把更新的缓存次序发送到一个或多个客户端设备。
2.权利要求1的计算设备,其中所述内容访问信息是从第一客户端设备接收的,以及其中所述更新的缓存次序被发送到第一客户端设备。
3.权利要求2的计算设备,其中所述指令还可执行来经由用户配置文件存储对于第一客户端设备的用户的内容访问信息。
4.权利要求1的计算设备,还包括把多个缓存次序发送到客户端,以便允许客户端根据当前的数字内容消费进程来选择缓存次序。
5.权利要求1的计算设备,其中可执行来动态地更新缓存次序的指令包括这样的指令,即:其可执行来:
根据内容访问信息而确定中断按照所述缓存次序提供的数字内容项目的未来消费的或然率,以及
更新缓存次序以使得减小中断由一个或多个客户端设备对于数字内容项目的消费的或然率。
6.权利要求1的计算设备,还包括利用涉及内容访问信息的描述性元数据来动态地更新缓存次序。
7.一种用于动态地调节数字内容项目的供应的方法,所述方法包括:
获得描述由客户端对该数字内容项目的消费的内容访问信息,所述数字内容项目按照以前发送到该客户端的缓存次序来提供;
根据该内容访问信息,确定中断按照所述缓存次序提供的数字内容项目的未来消费的或然率; 
更新缓存次序,以产生更新的缓存次序,所述更新的缓存次序被配置成减小中断由客户端对于数字内容项目的未来消费的或然率;以及
把更新的缓存次序提供到客户端。
8.权利要求7的方法,其中动态地更新缓存次序包括:
根据内容访问信息来确定在预期的访问窗口期间多半要被访问的一个或多个内容部分;以及
根据在预期的访问窗口期间多半要被访问的一个或多个内容部分,产生更新的缓存次序。
9.权利要求8的方法,其中预期的访问窗口包括时间段和该数字内容项目的一个或多个体验中的一个或多个。
10.权利要求8的方法,其中在预期的访问窗口期间多半要被访问的一个或多个内容部分包括被确定的一组内容部分,其能用来保持数字内容项目的超阈值用户体验。
CN201380065323.2A 2012-12-13 2013-12-11 数字内容缓存次序的更新 Pending CN104903840A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/713,957 US20140173070A1 (en) 2012-12-13 2012-12-13 Updating of digital content buffering order
US13/713957 2012-12-13
PCT/US2013/074323 WO2014093451A1 (en) 2012-12-13 2013-12-11 Updating of digital content buffering order

Publications (1)

Publication Number Publication Date
CN104903840A true CN104903840A (zh) 2015-09-09

Family

ID=49920609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380065323.2A Pending CN104903840A (zh) 2012-12-13 2013-12-11 数字内容缓存次序的更新

Country Status (4)

Country Link
US (1) US20140173070A1 (zh)
EP (1) EP2932367A1 (zh)
CN (1) CN104903840A (zh)
WO (1) WO2014093451A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10867264B2 (en) * 2014-10-31 2020-12-15 Xerox Corporation Methods and systems for estimating lag times in a cloud computing infrastructure
US10838943B2 (en) * 2015-04-10 2020-11-17 International Business Machines Corporation Content following content for providing updates to content leveraged in a deck
CN108462605B (zh) * 2018-02-06 2022-03-15 国家电网公司 一种数据的预测方法和装置
US10848819B2 (en) 2018-09-25 2020-11-24 Rovi Guides, Inc. Systems and methods for adjusting buffer size
US11265597B2 (en) * 2018-10-23 2022-03-01 Rovi Guides, Inc. Methods and systems for predictive buffering of related content segments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757482B1 (en) * 1998-02-26 2004-06-29 Nec Corporation Method and device for dynamically editing received broadcast data
US20100115123A1 (en) * 2008-10-09 2010-05-06 Mmi Broadcasting Ltd. Apparatus and methods for broadcasting
CN102523250A (zh) * 2010-11-08 2012-06-27 微软公司 内容分发系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US7240162B2 (en) * 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
US8805831B2 (en) * 2006-07-11 2014-08-12 Napo Enterprises, Llc Scoring and replaying media items
US20090049045A1 (en) * 2007-06-01 2009-02-19 Concert Technology Corporation Method and system for sorting media items in a playlist on a media device
US7984097B2 (en) * 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
EP2451151B1 (en) * 2010-11-08 2014-08-13 Deluxe Media Inc. Method and apparatus for use in controlling the playback of contents related with a recorded content.
US9043782B2 (en) * 2010-12-28 2015-05-26 Microsoft Technology Licensing, Llc Predictive software streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757482B1 (en) * 1998-02-26 2004-06-29 Nec Corporation Method and device for dynamically editing received broadcast data
US20100115123A1 (en) * 2008-10-09 2010-05-06 Mmi Broadcasting Ltd. Apparatus and methods for broadcasting
CN102523250A (zh) * 2010-11-08 2012-06-27 微软公司 内容分发系统

Also Published As

Publication number Publication date
US20140173070A1 (en) 2014-06-19
WO2014093451A1 (en) 2014-06-19
EP2932367A1 (en) 2015-10-21

Similar Documents

Publication Publication Date Title
US9332087B2 (en) Dynamic buffer
US9740761B2 (en) Management of application state data
US10474693B2 (en) Resolving conflicts within saved state data
US10127294B2 (en) Idempotency of application state data
US11064049B2 (en) Predictive cloud-based presimulation
US20160078520A1 (en) Modified matrix factorization of content-based model for recommendation system
KR20160032109A (ko) 게임 클립 인기 기반 제어 기법
MX2013008788A (es) Sesion de navegacion privada recuperable.
CN104903840A (zh) 数字内容缓存次序的更新
US11748389B1 (en) Delegated decision tree evaluation
US10204417B2 (en) Interactive video generation
CN105721608A (zh) 用于处理器可执行内容的传送的方法和系统
US20150073932A1 (en) Strength Based Modeling For Recommendation System
US10534832B1 (en) Server-side tracking and selection of rotating content
EP2912820B1 (en) Buffer ordering based on content access tracking
CN104919449A (zh) 用于数字内容项的多种缓冲次序
US9454565B1 (en) Identifying relationships between applications
US20240319951A1 (en) Extended reality content display based on a context
KR20220095516A (ko) 게임 이벤트 관리 장치 및 게임 이벤트 관리 방법
KR20220035695A (ko) 재생 중인 라이브 영상의 탐색을 위한 썸네일을 요청하는 방법 및 시스템
US20160092773A1 (en) Inference-based individual profile

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150909