CN111869191A - 组增强的内容传递 - Google Patents
组增强的内容传递 Download PDFInfo
- Publication number
- CN111869191A CN111869191A CN201980020477.7A CN201980020477A CN111869191A CN 111869191 A CN111869191 A CN 111869191A CN 201980020477 A CN201980020477 A CN 201980020477A CN 111869191 A CN111869191 A CN 111869191A
- Authority
- CN
- China
- Prior art keywords
- content
- group
- network node
- caches
- users
- 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.)
- Granted
Links
- 239000000872 buffer Substances 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000009471 action Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 48
- 230000036316 preload Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 230000000717 retained effect Effects 0.000 claims description 8
- 238000009826 distribution Methods 0.000 description 57
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000011094 buffer selection Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
Abstract
根据某些实施例,一种网络节点包括处理电路和计算机可执行程序代码。该计算机可执行程序在由处理电路执行时,使网络节点执行动作。该动作包括:获得将多个用户与组相关联的分组信息,以及基于该分组信息,确定要在与组相关联的用户附近缓存的内容。该动作促使将内容缓存在一个或多个缓存器中。该一个或多个缓存器是至少部分地基于与和组相关联的用户的接近度而从多个缓存器中选择的。
Description
技术领域
本公开总体上涉及通信网络。更具体地并且不受任何限制地,本公开的某些实施例涉及基于用户组来增强内容的传递。
背景技术
从媒体制作到媒体消费,不同的各方都参与到了媒体生态系统中。媒体生态系统的一个重要部分是内容传递网络(CDN)。CDN的节点可以放置在网络的各个部分中,比如,在覆盖多个国家或地点的区域站点中、在更靠近移动网络运营商(MNO)/互联网服务提供商(ISP)的边缘节点处、在使用客户驻地设备(CPE)的用户驻地内部和/或在用户设备处。此外,随着协议、技术和如5G等网络的发展,CDN的范围也得到了扩展,使得CDN节点甚至可以放置于客户的移动设备中。
将内容传递到具备移动性的设备的情况比固定设备的情况更为复杂。对于固定设备(即,固定网络中不具备移动性的设备),可以从任何节点检索到媒体内容。通常情况下,这以级联的方式完成,其中,获取一个资源的请求基于缓存遗漏(cache miss)而向上传播,并最终到达源服务器。相反,在具备移动性的设备的情况下,由于用户的移动和/或变化的网络条件,附接的点不时发生变化。因此,仅在一个地点缓存内容可能无法用于针对同一内容减少网络中的流量的目的。由于近年来移动设备消费了越来越多的媒体内容,这个问题也变得更加复杂,而且,随着5G网络的部署,媒体内容的消费预计还会继续增加。这将极大地增加网络中的媒体流量。
发明内容
根据某些实施例,一种网络节点包括处理电路和计算机可执行程序代码,该计算机可执行程序代码在由处理电路执行时,使网络节点执行动作。该动作包括:获得将多个用户与组相关联的分组信息;以及基于该分组信息,确定要在与组相关联的用户附近缓存的内容。该动作包括:促使将内容缓存在一个或多个缓存器中。该一个或多个缓存器是至少部分地基于与和组相关联的用户的接近度而从多个缓存器中选择的。
根据某些实施例,一种方法包括:获得将多个用户与组相关联的分组信息;以及基于该分组信息,确定要在与组相关联的用户附近缓存的内容。该方法包括:促使将内容缓存在一个或多个缓存器中。该一个或多个缓存器是至少部分地基于与和组相关联的用户的接近度而从多个缓存器中选择的。
根据某些实施例,一种非暂时性计算机可读介质包括计算机可执行程序代码,该计算机可执行程序代码在由网络节点的处理电路执行时,使网络节点执行动作。该动作包括:获得将多个用户与组相关联的分组信息;以及基于该分组信息,确定要在与组相关联的用户附近缓存的内容。该动作包括:促使将内容缓存在一个或多个缓存器中。该一个或多个缓存器是至少部分地基于与和组相关联的用户的接近度从多个缓存器中选择的。
以上描述的网络节点、方法和/或计算机可读介质可以包括各种其他特征,下面对这些特征的示例加以讨论。
在一些实施例中,促使将内容缓存在一个或多个缓存器中包括:传送用于将内容预加载到所选择的一个或多个缓存器中的指令。作为示例,响应于内容是为组推荐的,来传送用于预加载内容的指令。作为另一示例,用于预加载内容的指令基于与组相关联的内容消费模式。在某些实施例中,当网络利用率低于阈值时,调度对内容的预加载。
在一些实施例中,促使将内容缓存在一个或多个缓存器中包括:确定内容已经由与组相关联的第一用户经由靠近第一用户的第一缓存器消费,并且作为响应,将用于预加载内容的指令传送给第二缓存器,该第二缓存器靠近与组相关联的第二用户。
在一些实施例中,促使将内容缓存在一个或多个缓存器中包括:确定内容先前被缓存在一个或多个缓存器中,并且作为响应,促使将内容保留在一个或多个缓存器中。
在一些实施例中,该动作还包括:传送用于从一个或多个缓存器中删除内容的指令。例如,在内容已经被预定数量或百分比的与组相关联的用户消费之后和/或在预定时间段过去之后,传送该指令。在一些实施例中,预定时间段基于与组相关联的内容消费模式。
分组信息可以隐式地或显式地将用户与组相关联。在一些实施例中,分组信息基于自组织方式(on an ad hoc basis)将用户与组相关联。
本公开的某些实施例可以提供针对与现有内容传递网络相关联的问题的解决方案。例如,现有的内容传递网络不是主动地管理缓存器,而是可以在一个用户消费内容时在特定时间段内被动地缓存该内容。相比之下,本公开的某些实施例允许在用户消费内容之前预加载一个或多个所选择的缓存器和/或基于与用户相关联的分组信息来调整缓存器的数据保留时间。例如,本公开的某些实施例对组(诸如家庭之类的显式组,或者因为分析行为而形成的隐式组)进行标识,并使用这些组来预缓存内容或延长内容在缓存器内的保留时间。某些实施例确定不同人群组中的共同兴趣,并在缓存内容时使用共同兴趣来减少网络和服务器负载,同时改善观看体验。
本公开的某些实施例可以提供一个或多个技术优点。作为示例,某些实施例可以减小与向客户传递内容(如视频)相关联的时延。可以基于分组信息来将内容预加载和/或保留在客户附近的缓存器中,使得客户拥有更出色的用户体验。也就是说,由于内容已经在附近,因而可以立即开始播放,并且播放期间发生小故障(glitch)的风险很低。作为又一示例,某些实施例通过提高本地缓存的内容的命中率(hit-rate)来降低源服务器和/或中央内容传递网络缓存器上的负载。例如,基于分组信息将内容预加载和/或保留在客户附近的缓存器处减少了客户需要从源服务器或中央内容传递网络缓存器中检索内容的可能性。作为又一示例,某些实施例可以降低回程网络上的负载。作为另一示例,当组中的一定数量或百分比的用户已经消费了内容时,某些实施例可以从缓存器中删除内容。在某些情况下,相比于仅依赖于基于超时的内容删除的内容删除技术,这种内容删除技术可以让内容被更早地删除。因此,在一些实施例中,可以减少缓存器的存储需求。某些实施例可以具备全部这些优点,或者具备部分这些优点,或者完全不具备这些优点。本领域的普通技术人员可以认识到其他优点。
附图说明
图1A至图1B是示出了根据某些实施例的网络的示例的框图。
图2是示出了根据某些实施例的基于分组信息来缓存内容的示例的框图。
图3是示出了根据某些实施例的网络节点的示例的框图。
图4是示出了根据某些实施例的网络节点的组件的示例的框图。
图5至图8是示出了根据某些实施例的可以在网络中执行的方法的示例的流程图。
具体实施方式
通过参考图1至图8,可以理解本公开的某些实施例,相同的附图标记用于各个附图的相同且对应的部分。在以下描述中,针对本专利公开的一个或多个实施例来阐述许多具体的细节。然而,应理解的是,可以在没有这种具体细节的情况下实践一个或多个实施例。在其他实例中,未详细示出公知的电路、子系统、组件、结构和技术,以免模糊对示例实施例的理解。因此,本领域技术人员将认识到的是,可以在没有这种基于具体组件的细节的情况下实践本公开的实施例。还应该认识到,借助本文阐述的具体实施方式并参考附图,本领域的普通技术人员将能够在不进行过度实验的情况下制作并使用一个或多个实施例。
大多数视频点播(VoD)和订阅视频点播(SVoD)系统都具备推荐功能,此功能可以基于用户的明确兴趣、用户与家人和朋友的共同兴趣和/或其他用户活动(例如,用户过去消费过的内容(例如,用户过去观看过的电影的类别、用户观看过其中某些剧集的电视连续剧的名称等))来推荐内容。然而,即使是基于用户与其他人的共同兴趣生成了推荐,但在涉及到媒体传递时,常规的VoD和SVoD系统仍会基于每个用户来传递媒体。
本公开认识到,用户选择消费的媒体(例如,视频)内容在很大程度上取决于其他用户消费的内容,或者与其他用户消费的内容相关。对于相同的“组”和相同的地理区域内的用户,这种相关性趋于更强。本公开的某些实施例应用该相关性,以便有效地将媒体内容传递给用户。
在某些实施例中,一种网络包括推荐器、内容传递系统、分组服务和缓存决定单元。推荐器基于用户的明确兴趣、与用户先前所消费的内容的相似性和/或其他因素来为每个用户产生推荐。内容传递系统包括位于网络内的不同位置处的缓存器,其用于将内容传递给用户。分组服务处理用户与一个或多个组的关联。作为示例,分组服务可以基于内容提供商的第一手知识来对用户进行分组,该第一手知识例如是共享帐户的知识(其中,家庭、企业或其他组中的各成员共享帐户(但是每个成员都被单独地跟踪)),或者是(例如,当内容提供商提供允许用户明确邀请另一位用户加入组的功能时)用户在服务内部建立的连接的知识。作为另一示例,分组服务可以基于以下信息来对用户进行分组:内容提供商缺乏关于连接的人员的显式知识,但是可以例如通过观察查看模式来隐式地推断出该连接是存在的。数据分析可以用于形成这种隐式类型的虚拟组。缓存决定单元具有关于缓存器的位置(例如,物理位置和/或相对于网络/缓存器拓扑的位置)的一些知识,使得缓存决定单元可以影响缓存决定(例如,将内容缓存在何处)。缓存决定单元可以至少部分地基于从推荐器和/或分组服务获得的信息来影响要缓存什么内容以及何时从缓存器中删除内容。
某些实施例允许基于推荐、组和/或位置信息做出(可能是主动地)缓存决定。以下段落给出了这种缓存决定的几个示例:
·一个拥有共享帐户的大家庭,其中三位成员都倾向于在住宅中观看某部连续剧的每一集(但却是在不同的场合)。根据某些实施例,可以执行主动缓存,使得只要三位追剧者中的一位已经观看了上一集,就将下一集推送到住宅中的缓存器。根据某些实施例,可以执行主动保留,使得在所有三位追剧者都观看了该集之前,不会将该集从缓存器中删除。
·视频服务提供商已经通过如下操作形成虚拟组:观察到个体的集合在他们各自的推荐中的具备高优先级的内容上具有重叠,和/或观察到存在如下模式:虚拟组中的任何人(或者可能的个体的子集)一旦开始观看标题,其余大多数人将在接下来的48小时内查看该标题。此外,视频服务提供商知道虚拟组的成员的位置,例如,虚拟组的成员可能围绕两个网络边缘缓存器聚集。现在,一旦虚拟组中的一个人(或者可能的个体的子集)开始观看向所有人推荐的标题,视频服务提供商就可以将其缓存在两个边缘缓存器中,并保持将其缓存,直到预定比例的虚拟组成员已经观看且预定时间已经过去为止。
·新的固件更新被发布,并且需要被推送给相关设备。在这种用例中,可以按照设备(产品ID等)和地理位置来创建组。可以根据可用于优化成本的缓存器来决定组的地理大小。推荐可以是手动触发。然后,服务提供商可以将更新推送给对指定组而言是最佳的所选缓存器。
·许多人可以在会议场所、工作场所、音乐会或其他类型的活动中明确地加入组。这样的组可以具有描述由组创建者输入的内容类别的元数据。当一位组参与者得到与组内容类别之一匹配的推荐时,该内容可以放置在缓存器中,使得所有组成员都可以轻松地访问它。一旦活动结束,就可以将组删除,并可以告知缓存器不再需要该内容。备选地,作为另一示例,例如,如果参与者可能消费在活动中讨论的信息、涵盖活动的要点的视频(例如,以重新体验活动)等,则可以在活动后将组保留一定量的时间。在一些实施例中,活动的参与者可以在活动之后的一定量的时间内上传要对其他参与者可用的内容(例如,在活动期间拍摄的视频)。
针对图1至图8提供附加示例。
从图1A开始,该图示出了根据某些实施例的内容传递网络100(CDN 100)的示例。CDN 100可以包括被配置为使用一个或多个基于互联网的基础设施、私人/专用基础设施或它们的组合向订户分发各种数字资产或节目资产以及服务(以下称为“内容”或“媒体内容”)的网络。如本文所用,内容通常是指组的多个成员可能希望接收的任何数据。内容的示例可以包括流媒体数字资产和节目资产,例如,任何类型的音频/视频内容或节目片段、现场直播或静态内容(例如,录制的无线免费网络电视(TV)演出或节目、通过有线网络或卫星网络的付费电视广播节目、免费卫星电视节目、IPTV节目等)、过顶(over-the-top,OTT)和视频点播(VOD)或电影点播(MOD)演出或节目、时移电视(TSTV)内容以及由内容发布商、拥有商或提供商提供的其他内容资产,包括但不限于软件或固件(如软件或固件更新)、可执行计算机代码或程序、在线电子游戏、互联网广播演出/节目、娱乐节目、教育节目、电影、音乐视频节目、文字处理文件、电子表格、电子邮件、照片等。
通常,CDN 100可以包括网络节点的互连部件,用于向最终用户或订户提供媒体路径或“管道”。网络节点的示例包括管理节点105、源服务器110和分发节点115、120、125。网络节点可以包括通信地耦合到网络上的其他设备(例如,一个或多个其他网络节点、用户设备130等)的硬件和软件,并且适于支持与经由用户设备130向订户提供内容相关联的功能。用户设备130可以包括被配置为执行用于从内容提供商接收内容的应用的任何设备。在某些实施例中,用户设备130可以经由合适的服务提供商接入网络来访问或消费通过广播网络(例如,有线和卫星网络)以及诸如互联网之类的分组交换广域公共网络而提供的内容/服务。在某些实施例中,用户设备130还可以访问或消费在虚拟专用网络(VPN)上提供的内容/服务,这些VPN在互联网上重叠(例如,遂穿通过互联网)。
CDN 100的某些实施例可以包括上述节点的一些或全部类型,例如,一个或多个管理节点105、一个或多个源服务器110和/或用于将内容传递给用户设备130的一个或多个分发节点115、120、125。分发节点115、120、125分别包括缓存器140a、140b和140c。用户设备130包括缓存器140。在某些实施例中,管理节点105确定在网络中缓存什么内容,包括何时和在何处缓存该内容。例如,管理节点105可以至少部分地基于将多个用户与组相关联的分组信息来传送用于预加载内容或保留内容或从缓存器140中的一个或多个缓存器中删除内容的指令。下面针对图5至图8来讨论用于确定何时和在何处缓存内容的方法的示例。
源服务器110充当分发节点115、120和125的内容(例如,视频或媒体内容)的来源,这些分发节点将内容传递给用户设备130。在某些实施例中,分发节点115、120和125可以分层地布置,使得中央分发节点115将内容分发给多个级联分发节点120,每个级联分发节点120将内容分发给多个附近设备分发节点125,并且每个附近设备分发节点将内容分发给多个用户设备130。以这种方式,分发节点可以被布置为提供各种类型的缓存器140,例如公共缓存器、无线电接入网络缓存器、用户的住宅、办公室或汽车内的缓存器等。在图1B中提供了这种分层布置的示例。
在图1B中,源服务器110被示为位于纽约州纽约市的国家服务器。源服务器110经由许多区域服务器提供全国范围的内容分发,这些区域服务器包括位于德克萨斯州圣安东尼奥市的区域服务器以及位于北卡罗来纳州夏洛特市的区域服务器。在该示例中,区域服务器可以充当中央分发节点115。每个区域服务器可以将内容分发给一个或多个边缘服务器。图1B将德克萨斯州圣安东尼奥市的区域服务器示为向位于德克萨斯州科珀斯克里斯蒂市和加尔维斯顿市的边缘服务器分发内容。图1B将北卡罗来纳州夏洛特市的区域服务器示为向位于北卡罗来纳州阿什维尔市和费耶特维尔市的边缘服务器分发内容。在该示例中,边缘服务器可以充当级联分发节点120。
每个边缘服务器可以将内容分发给一个或多个附近设备分发节点125。附近设备分发节点125可以是有线或无线节点,并且可以提供任何合适的覆盖区域。作为示例,附近设备分发节点125可以实现为无线网络中的小区,例如,长期演进(LTE)小区、5G或新无线电(NR)小区或者使用另一无线电接入技术的小区。作为另一示例,附近设备分发节点可以被实现为客户驻地设备(CPE),例如,路由器、交换机、住宅网关、机顶盒、家庭联网适配器、互联网接入网关、Wi-Fi热点或者使客户能够访问来自于服务提供商的内容并例如经由局域网(LAN)在客户的驻地(例如,房屋、办公楼等)周围分发该内容的其他设备。附近设备分发节点125可以向其分发内容的用户设备130的示例包括个人录像机(PVR)、数码录像机(DVR)、工作站、膝上型计算机、上网本、掌上电脑、移动电话、智能电话、多媒体电话、互联网语音协议(VOIP)电话、移动/无线用户设备、高清电视终端、便携式媒体播放器、位置感知订户设备、游戏系统或操纵台(例如,Play)等。
回到图1A,当用户希望经由用户设备130消费内容时,用户设备130可以确定该内容是否在其缓存器140d中可用。如果内容尚未被缓存在用户设备130的缓存器140d中,则可以从附近设备分发节点125的缓存器140c请求该内容。然后,可以由附近设备分发节点125来传递该内容。但是,如果该内容尚未被缓存在附近设备分发节点125的缓存器140c中,则可以从级联分发节点120的缓存器140b请求该内容并从级联分发节点120传递该内容。但是,如果该内容尚未被缓存在级联分发节点120的缓存器140b中,则可以从中央分发节点115的缓存器140a请求该内容,并由中央分发节点115来传递该内容。然而,如果该内容尚未被缓存在中央分发节点115的缓存器140a中,则可以从源服务器110请求该内容。在某些实施例中,用户设备130可以直接从分发节点115、120、125和/或源服务器110中的任何一者接收内容,如图1A中的实线所示。附加地或备选地,在某些实施例中,用户设备130可以通过一个或多个中间节点来间接地接收内容,如图1A中的虚线所示。
为了简单起见,图1A示出了每种类型的组件中的一个,但是,其他实施例可以包括多个管理节点105、源服务器110、中央分发节点115、级联分发节点120、附近设备分发节点125和/或用户设备130。某些实施例可以在缓存层次结构中包括更多或更少的等级。例如,某些实施例可以包括多级级联分发节点120,而其他实施例可以省略级联分发节点120。附加地,可以以任何合适的方式来集成或分离所描述的功能。例如,管理节点105的功能可以并入源服务器110或一个或多个分发节点115、120或125中,这可以使得管理节点105能被用于其他目的或从某些实施例中省略。本文公开的方法(如图5至图8中讨论的方法)可以由任何合适的节点或节点的组合来执行。
出于本公开的目的,已经针对涉及基于分组信息来缓存内容的特定功能描述了网络节点。除了提供对多个应用服务(例如,数据和多媒体应用)的支持之外,一些网络节点还可以支持附加功能(例如,内容流行性策略管理、会话控制、QoS策略实施、带宽调度管理、订户/设备策略和简档管理、内容提供商优先级策略管理、流媒体策略管理等)。CDN 100还可以包括以下项和/或与以下项互操作:被配置为实施请求重定向或重路由机制的各种网络元件,以及相关的后台办公室系统,例如订户管理系统、带宽调度系统、账户/计费系统等,这些系统可以被部署作为流媒体网络后台办公室(未具体示出)的一部分。
图2是示出了根据某些实施例的基于分组信息来缓存内容的示例的框图。图2示出了第一组202a和第二组202b。第一组202a的成员位于第一缓存器240a附近,而第二组202b的成员位于第二缓存器240b附近。在图2所示的示例中,缓存器240a和240b各自都从源服务器210接收内容。缓存器240a和240b可以直接从源服务器210接收内容,或者经由一个或多个中间分发节点(例如,针对图1A至图1B所述的分发节点115、120或125)间接地接收内容。图2所示的内容传递网络获得分组信息,该分组信息指示哪些用户与第一组202a和/或第二组202b相关联。任何合适的分组信息都可以用于分组形成,其包括但不限于以下讨论的示例。
在一些实施例中,可以通过家庭成员将用户分组。可以用于通过家庭成员将用户分组的分组信息的示例包括订阅类型、设备地址(如IP地址)和/或位置信息。关于订阅类型,某些服务提供商和/或内容提供商可以允许用户获得家庭订阅,例如,对互联网服务、移动通信服务、流媒体音乐服务、视频点播服务等的家庭订阅。因此,家庭订阅可以用于将各个用户与家庭组相关联。针对设备地址,家庭成员普遍通过相同的家庭网关或CPE连接到互联网。因此,经由相同的设备地址(例如,对应于共享家庭网关或CPE的IP地址)连接的用户可以与家庭组相关联。针对位置,居住地址相同的用户可以与家庭组相关联,移动设备位于相同的地理区域(例如,基于GPS坐标或其他定位技术)内的用户可以与家庭组相关联,以此类推。可以可选地针对其他因素来分析位置。例如,在住宅区内或在非工作时间期间,经常位于彼此的X米之内的用户可以被分组为家庭,其中一次位于彼此的X米之内的用户可以不被分组为家庭。
在某些实施例中,用户可以与具有共同兴趣的朋友成组。可以用于对朋友进行分组的分组信息可以包括位置信息、社交媒体联系人、为用户提供服务的无线网络节点的小区标识符、标识为用户提供服务的接入点(例如Wi-Fi热点)的信息、为用户提供服务的网络节点的设备地址(例如,路由器、交换机、网关等的IP地址)。在某些实施例中,为了将用户与朋友组相关联,位置信息不需要非常精确。例如,在某些情况下,知道用户所在的大体区域(例如,城镇或村庄)可能就足够了。在某些情况下,知道几米内的位置可能就足够了。可以考虑用于标识朋友组的其他因素,例如,内容消费模式。作为示例,对电视连续剧具有共同兴趣的用户可能具有如下模式:只要电视连续剧的下一集变得可看就观看这一集的模式,在周末连续观看电视连续剧的多集的模式,或者其他消费模式。
在一些实施例中,可以按照设备和地理位置信息对用户进行分组。可以用于这种类型的分组的分组信息的示例包括设备类型、设备序列号、产品ID(应用ID、设备ID等)、固件版本、软件版本、位置信息(例如,GPS坐标、服务小区的位置或其他位置信息)等。作为一个示例,移动电话的类型相同且软件版本相同的用户可以根据他们的位置基于自组织方式来分组,以便传递对他们的移动电话类型特定的软件更新。
在一些实施例中,可以按照明确地加入活动或工作场所来对用户进行分组。例如,工作场所的管理者可以基于员工的公司、部门、办公室位置、项目组、特定会议的被邀请者或其他合适的分组来将工作场所的员工配置为一个或多个组的一部分。作为另一示例,内容或服务提供商可以提供允许用户发送加入正式活动(例如,音乐会、节日、商务会议等)或非正式活动(例如,与朋友聚会)的邀请的功能。在一些实施例中,邀请可以被配置为使得管理者控制哪些用户可以发送或接收邀请。在其他实施例中,邀请可以被配置为使得任何用户都可以发送或接收邀请。在某些实施例中,内容类别(例如,用户所消费的内容类别的模式)、CPE信息和/或其他因素可以用来将用户与活动或工作场所相关联。这样的因素可以用于标识组(如果没有使用明确加入的话),标识明确加入的组内的子组,确定要为活动或工作场所缓存哪些内容,或者用于任何其他合适的原因。
基于分组信息,内容传递网络确定要缓存在与第一组202a相关联的用户附近的第一缓存器240a中的内容以及要缓存在与组202b相关联的用户附近的第二缓存器240b中的内容。作为示例,分组信息可以指示用户A、B和C与同一工作场所相关联并且正在从事同一项目。该项目可能要求用户A、B和C从同一城镇的各个位置访问与项目相关的内容。例如,用户A可以从公司的总部访问内容,用户B可以从公司的卫星办公室访问内容,而用户C可以从住宅办公室访问内容。因此,内容传递网络可以确定将与项目有关的内容缓存在为用户A、B和C所在的城镇提供服务的第一缓存器240a处。分组信息还可以指示用户C、D和E是同一家庭的成员。家庭成员可能希望在不同的时间在他们家中观看同一部电视连续剧。因此,内容传递网络可以确定在第二缓存器240b处(例如,在为用户C、D和E所居住的住宅提供服务的CPE处)缓存该电视连续剧的剧集。
如根据图2的示例可以理解的,用户可以与不同类型的组(例如,工作场所和家庭)相关联,每个用户可以与一个组或多个组相关联(例如,在图2中,用户C基于用户C的工作场所与第一组202a相关联并且基于用户C的家庭与第二组202b相关联),并且可以基于组成员的各自的位置来确定缓存器与用户的接近度(例如,在图2中,第一缓存器240a为用户A、B和C所工作的城镇提供服务,而第二缓存240b为用户C、D和E所居住的住宅提供服务)。
图3是示出了根据某些实施例的网络节点300的示例的框图。网络节点300的示例包括以上针对图1A至图1B描述的管理节点105、源服务器110和分发节点115、120、125。通常,网络节点300包括一个或多个接口310、处理电路320以及存储由处理电路320执行的指令的存储器330。
接口310可以包括内部接口和/或外部接口。内部接口的示例包括用于在网络节点内传送内部指令或数据的总线。外部接口的示例包括端口、连接器、收发器或用于向其他网络节点或用户设备130传送内容或指令的其他接口。接口310可以使用任何合适的通信协议或格式。接口310可以包括任何合适的适配器、编码器/解码器、调制器/解调器等,以促进传送指令或内容。
处理电路320可以包括一个或多个处理器。处理器可以包括以一个或多个模块实现的硬件和软件的任何合适的组合,以用于执行指令并操纵数据,从而执行相应节点的所述功能中的某些或全部功能。例如,处理电路320可以被配置为执行针对图5至图8描述的方法中的一些或全部方法。在一些实施例中,处理电路可以包括例如一个或多个计算机、一个或多个中央处理单元(CPU)、一个或多个微处理器、一个或多个应用和/或其他逻辑。
存储器330通常可操作以存储指令,例如,计算机程序、软件、包括逻辑、规则、算法、代码、表等中的一项或多项的应用、和/或能够由处理器执行的其他指令。存储器的示例包括计算机存储器(例如,随机存取存储器(RAM)或只读存储器(ROM))、大容量存储介质(例如,硬盘)、可移除存储介质(例如,紧凑盘(CD)或数字视频磁盘(DVD))和/或存储信息的任何其他易失或非易失的非暂时性计算机可读和/或计算机可执行存储器设备。
尽管已经针对网络节点描述了图3,但是,用户设备130可以包括适于提供用户设备130的功能的类似的接口、处理电路和存储器。
图4是示出了根据某些实施例的网络节点300的组件的示例的框图。在某些实施例中,网络节点300可以包括通过通信路径400(例如总线或其他接口)通信地耦合的分组模块402、内容确定模块404、推荐模块406、缓存器选择模块408和/或指令模块410中的一个或多个。在某些实施例中,模块402、404、406、408和410中的一些或全部功能是使用图3中描述的处理电路320来实现的。
通常,分组模块402获得将多个用户与组相关联的分组信息。例如,分组模块402可以执行下面针对图5描述的步骤502。通常,内容确定模块404使用从分组模块402接收的分组信息来确定要在与组相关联的用户附近缓存的内容。例如,内容确定模块404可以执行下面针对图5描述的步骤504。在一些实施例中,内容确定模块404至少部分地基于推荐模块406向组的一个或多个成员(或者向整个组)推荐的内容来确定要在用户附近缓存的内容。推荐模块406可以基于用户的明确兴趣、用户与家人和朋友共同的兴趣和/或其他用户活动(例如,用户过去消费过的内容(例如,用户过去观看过的电影的类别、用户观看过其中某些剧集的电视连续剧的名称等))来推荐内容。取决于实施例,推荐模块406可以自身生成推荐,从一个或多个外部来源(例如数据库或另一网络节点)获得推荐,或者两者皆可。推荐模块406所生成的推荐可以基于任何合适的信息,例如,推荐模块406所做的观察和/或从一个或多个外部来源接收的输入。通常,缓存器选择模块408选择一个或多个缓存器140来缓存由内容确定模块404确定的内容。该一个或多个缓存器140是至少部分地基于与和组相关联的用户的接近度从多个缓存器中选择的。例如,缓存器选择模块408可以执行与下面针对图5的步骤506所述的选择一个或多个缓存器140有关的某些功能。通常,指令模块410传送促使将内容缓存在由缓存器选择模块408选择的一个或多个缓存器中的指令。可以由指令模块410发送的指令的示例包括用于下面针对图5的步骤506和508所述的预加载、保留和/或删除内容的内部和/或外部指令。
尽管图4描述了包括某些模块的实施例,但是其他实施例可以将所描述的功能组合成更少的模块,或者将所描述的功能分离成更多的模块。附加地,尽管图4描述了某些模块包括在网络节点中的实施例,但是其他实施例可以在如下系统中实现:模块(或者一个或多个模块的功能的一部分)分布在两个或多个网络节点中。仅作为一个示例,第一网络节点可以包括分组模块402,第二网络节点可以包括内容确定模块404和推荐模块406,并且第三网络节点可以包括缓存器选择模块408和指令模块410。第一节点、第二节点和第三节点可以彼此通信以便获得分组信息,至少部分地基于分组信息来确定要在用户附近缓存的内容,选择位于组中的用户附近的一个或多个缓存器,并促使将内容缓存在所选择的一个或多个缓存器中。
图5至图8是示出了根据某些实施例的可以在网络中执行的方法的示例的流程图。图5至图8的步骤可以由任何合适的网络节点300执行,例如,由管理节点105、源服务器110或210、分发节点(例如,中央分发节点115、级联分发节点120或附近设备分发节点)执行,或者由网络节点300的任何合适的组合执行。
图5的方法在步骤502处开始,其中获得将多个用户与组相关联的分组信息。该信息可以以任何合适的方式获得。例如,可以从存储器检索分组信息,从数据库请求分组信息,从另一网络节点请求分组信息,或者根据需要确定分组信息。某些实施例可以从存储器或数据库获得基于静态或半静态因素的分组信息。静态或半静态因素的示例包括用户的订阅类型(例如,家庭或个人订阅)、用户的设备类型或用户的CPE的IP地址。某些实施例可以根据需要通过分析动态因素以确定分组信息,来获得至少部分地基于一个或多个动态因素的分组信息。动态因素的示例包括用户的移动设备的当前位置或用户当前正在消费的内容。
分组信息可以基于隐式信息、显式信息或两者的组合来将用户与组相关联。在某些实施例中,隐式分组可以基于元数据。作为示例,元数据可以用于隐式地对地理位置内的表现出消费相同类型的内容的模式(例如,观看相同的电视连续剧的用户)的用户进行分组。在一些实施例中,显式分组可以基于订阅同一服务的家庭成员、订阅同一会议的同事、经由同一设备地址(例如,CPE的IP地址)接收内容的用户等。在一些实施例中,分组信息基于自组织方式来将用户与组相关联。作为示例,自组织分组可以允许一个用户临时地邀请另一用户加入组,比如在商务会议的持续时间内。作为另一示例,自组织分组可以允许将在相同类型的设备上运行相同版本软件的并且位于大致同一区域中的分组用户临时地分组,以便传递特定于该设备类型的软件更新。上面针对图2讨论了可以在步骤502中获得的分组信息的另外的示例。
如上所述,分组信息将用户与一个或多个组相关联。可以通过任何合适的粒度来定义用户。作为示例,假设某一方从一组设备中的任意设备(例如,该方的智能电话、电视和/或膝上型计算机)访问同一帐户。可以将这组设备视为同一用户(在基于帐户信息确定用户的实施例中)或不同用户(在基于设备信息确定用户的实施例中)。在一些实施例中,例如,如果可以经由同一设备访问多个用户帐户,则该单个设备可以表示多个用户。
在步骤504处,该方法继续进行,其中确定要在与组相关联的用户附近缓存的内容。步骤504中的确定基于分组信息。上面针对图1A提供了内容的示例。在某些实施例中,基于与组相关联的内容消费模式,来确定要缓存的内容。例如,假设与朋友组相关联的用户根据如下复现模式观看电视连续剧的剧集:每个用户在星期二下午5:00至晚上11:00之间的某个时间观看该电视连续剧。在该示例中,该方法可以确定应该在即将到来的星期二的下午5:00之前将该电视连续剧的下一可看剧集预加载到朋友组中的用户附近的一个或多个缓存器中,并且至少在晚上11:00之前将该剧集保留在该一个或多个缓存器中。
在步骤506处,该方法继续进行,其中促使将内容缓存在一个或多个缓存器140中。该一个或多个缓存器140是至少部分地基于与和组相关联的用户的接近度从多个缓存器中选择的。接近度可以按照下载时间、网络拓扑、网络层次结构、地理位置等来确定。在某些实施例中,该方法可以监视与一个或多个分发节点115、120、125相关联的历史传递趋势和模式以及网络条件,并且可以在选择一个或多个缓存器140时参考该趋势。例如,当用户设备130在可配置的时间段内经由相关联的分发节点115、120、125访问各种内容时,历史传递模式学习和更新过程可操作以获得每个分布节点115、120、125的传递统计信息。以类似的方式,可以在一段时间内获得与每个分发节点115、120、125相关联的历史网络条件(例如,下载速率分布、带宽利用率和其他性能度量、相对于其他内容传递节点的性能和/或预定性能阈值的相对性能比较等),其可以用于确定何时以及在何处缓存内容。
可以基于各种因素来确定用于缓存内容的适当的接近度。作为示例,内容可以被缓存在用户设备本身中或者尽可能地靠近用户,使得如果用户决定不消费内容(例如,如果用户决定不下载或不观看缓存器中的内容),则不向用户收费。作为另一示例,在针对内容存在合适的存储容量的情况下,可以尽可能靠近用户来缓存内容。作为另一示例,在存在满足QoS或QoE的可接受可能性的情况下(例如,基于历史趋势和/或与特定分发节点的性能有关的当前条件),可以尽可能靠近用户来缓存内容。作为另一示例,在组中的一些或所有其他用户仍可以访问缓存器的情况下,可以尽可能靠近用户来缓存内容(例如,可以在家庭住宅中的CPE处缓存用于家庭组的内容,而用于朋友组的内容可能在更高的层次结构中缓存,这是因为一位朋友的住宅中的CPE不一定可由朋友组中的另一位朋友访问)。
在某些实施例中,该方法通过传送用于在所选择的一个或多个缓存器中预加载和/或保留内容的指令来促使缓存内容。对于由管理节点105执行方法的某些实施例,管理节点105可以将指示何时及在何处缓存内容的指令传送给源服务器110、一个或多个分发节点115、120、125和/或用户设备130。类似地,对于由源服务器110执行方法的某些实施例,源服务器110可以将指示是否预加载或保留内容的指令传送给一个或多个分发节点115、120、125和/或用户设备130。同样,对于由分发节点(例如,分发节点115、120或125)执行方法的某些实施例,分发节点可以将内容提供给具有用于预加载或保留内容的指令的另一分发节点(例如,层次结构的另一等级处的节点)。备选地,可以在分发节点的处理电路内将用于预加载或保留内容的指令作为内部指令传送,并且如果需要的话,则分发节点可以从源服务器或另一分发节点请求内容。下面针对图6至图7讨论了预加载内容的另外的示例,并且下面针对图8讨论了保留内容的示例。
在某些实施例中,该方法还包括步骤508,其中该方法传送用于从一个或多个缓存器中删除内容的指令。与上面讨论的用于预加载和/或保留内容的指令类似,用于删除内容的指令可以从一个节点/设备传送给另一节点/设备(例如,该指令可以传送给管理节点105、源服务器110、分发节点115、120或125和/或用户设备130中的任何一者/该指令可以从管理节点105、源服务器110、分发节点115、120或125和/或用户设备130中的任何一者传送),或者,用于删除内容的指令可以在特定节点/设备的处理电路内作为内部指令传送。
在某些实施例中,在预定时间段过去之后传送用于删除内容的指令。预定时间段的示例包括默认时间段、调度的时间段(例如,针对商务会议或其他活动的持续之间而调度的时间段)、基于缓存器可用性的时间段、以及基于与组相关联的内容消费模式的时间段。作为示例,如果一组用户表现出如下模式:大多数个体用户都倾向于在电视连续剧的某一集变得可用时的一周内观看该集,则基于该模式的时间段可以将该集缓存一周(或者一周加减某一裕量,以应对观看模式的可能变化)。
在某些实施例中,用于删除内容的指令是在预定数量(或百分比)的与组相关联的用户已经消费了该内容之后传送的。作为示例,电视节目的剧集可以在组中的10个用户已经观看了该剧集之后或者在组中的80%的用户已经观看了该剧集之后从缓存器中删除。
在某些实施例中,基于预定时间段以及预定数量(或百分比)的与组相关联的用户是否已经消费了内容来传送用于删除内容的指令。例如,可以将规则配置为:仅在100%的用户在第1天消费了内容的情况下,才在1天后删除该内容,仅在50%或更多的用户在第2天消费了内容的情况下,才在2天后删除该内容,并且在3天后删除该内容,而不管有多少用户消费了该内容。
在某些实施例中,用于删除内容的指令指示在将来删除内容。用于在将来删除内容的指令可以包括指示将内容保留多长时间的规则或准则。这样的规则或准则的示例包括以上所述的预定时间段和/或用户的预定数量(或百分比)。在某些实施例中,用于在将来删除内容的指令与用于预加载或保留内容的指令一起传送。
如根据前述内容可以理解的,在一些实施例中,第一节点可以应用用于删除内容的规则或准则,并且响应于确定该规则或准则已经被满足,传送用于使第二节点删除内容的指令。在其他实施例中,第一节点可以将用于删除内容的规则或准则传送给第二节点,并且第二节点本身可以应用该规则或准则,并响应于第二节点确定该规则或准则已被满足而删除内容。
图6示出了促使将内容缓存在一个或多个缓存器中的示例。在步骤602中,该方法确定将内容预加载到一个或多个缓存器中。预加载允许在用户请求消费内容之前将该内容缓存在用户附近。基于将用户与组相关联的分组信息来确定要预加载的内容。例如,可以基于与组中的一个或多个用户(或者与整个组)相关联的内容消费模式来确定要预加载的内容。作为另一示例,可以基于为该组中的一个或多个用户(或者为整个组)提供的内容推荐来确定要预加载的内容。在一些实施例中,推荐是由推荐引擎提供的,该推荐引擎基于用户的兴趣(例如,用户所订阅的内容的类别、用户所订阅的活动、与用户在过去已经消费的内容的相似性等)来推荐内容。如上面针对图5的步骤506所述,该方法基于到与组相关联的用户的接近度来确定用于预加载内容的缓存器。
在步骤604处,当网络利用率低于阈值时,该方法可选地进行调度以预加载内容。例如,假设组中的用户预计将在星期一下午开始消费内容。该方法可以进行调度以在星期一下午之前的时间窗口期间(例如,提前多达24个小时)预加载内容。在该窗口期间,该方法监视低流量时间段、空闲时间或停机时间(down time)(例如,网络利用率低于阈值时的时间),使得可以在不太可能使网络过载或影响实时流量时分发内容。在一些实施例中,可以以低流量、空闲时间或停机时间的定期重现周期(例如,在某些网络的情况下是从凌晨2:00到凌晨4:00)来进行调度以将内容预加载到所选择的缓存器中。
在步骤606处,如上面针对图5的步骤506所述,该方法传送用于将内容预加载到所选择的一个或多个缓存器中的指令。在一些实施例中,当网络利用率低于阈值时传送该指令(如针对步骤604所述)。其他实施例可以在任何其他合适的时间传送指令。例如,某些实施例可以等待直到刚好在预计组的成员请求内容之前预加载该内容,使得可以在此期间将缓存器资源用于其他内容。
图7示出了促使将内容缓存在一个或多个缓存器中的另一示例。在步骤702处,该方法确定内容已经由与组相关联的第一用户经由第一用户附近的第一缓存器消费。作为响应,该方法进行到步骤704,其中传送用于将内容预加载到与组相关联的第二用户附近的第二缓存器的指令。作为示例,第一用户和第二用户可以属于表现出如下模式的朋友组:在彼此几天之内观看相同的电影。当第一朋友观看新电影时,此电影可以被缓存到与第一朋友的住宅相关联的第一CPE。也可以将新电影预加载到与第二朋友的住宅相关联的第二CPE的缓存器中,这可以在第二朋友决定观看此新电影时使得第二朋友能立即开始播放。与没有将内容预加载到附近的缓存器中从而使得第二朋友不得不面对与从源服务器检索新电影相关联的延迟开始或潜在小故障的情形相比,这可以提供更出色的用户体验。
图8示出了促使将内容缓存在一个或多个缓存器中的另一示例。在步骤802处,该方法确定内容先前被缓存在一个或多个缓存器中,并且在步骤804处,该方法促使将内容保留在一个或多个缓存器中。参照图2作为示例,内容可能已经响应于来自用户A的消费内容的请求而被缓存到缓存器240a。响应于确定用户A与其中的其他用户B和C也可能希望消费该内容的组相关联,该方法促使将内容保留在缓存器240a中。为了促使将内容保留在缓存器中,该方法可以传送用于保留内容的指令或不传送用于删除内容的指令。如针对图5的步骤508所讨论的,在一些实施例中,内容可以在缓存器中保留预定时间段和/或保留直到至少预定数量(或百分比)的用户已经消费了内容为止。
如根据前述内容可以理解的,本公开的某些实施例使得能够更有效地利用网络资源,更有效地利用内容服务器(因为缓存命中率将提高),并且为最终用户带来更好的体验质量(QoE)。
在对本公开的各种实施例的以上描述中,应理解本文使用的术语仅用于描述具体的实施例的目的,并且不旨在限制本发明。除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有本发明所属领域的普通技术人员通常所理解的相同意义。还应理解,诸如在通用词典中定义的那些术语之类的术语应被解释为具有与它们在本说明书的上下文和相关技术中的意义相一致的意义,而不应被解释为理想或过于表面的意义,除非本文如此明确地定义。
本文参考计算机实现的方法、装置(系统和/或设备)和/或计算机程序产品的框图和/或流程图图示描述了至少一些示例实施例。应理解,可以通过由一个或多个计算机电路执行的计算机程序指令来实现框图和/或流程图图示的框以及框图和/或流程图图示中的框的组合。可以将这种计算机程序指令提供给通用计算机电路、专用计算机电路和/或其它可编程数据处理电路的处理器电路来产生机器,使得经由计算机和/或其它可编程数据处理装置的处理器执行的指令转换和控制晶体管、存储器位置中存储的值、以及这种电路内的其它硬件组件,以实现框图和/或流程图框中指定的功能/动作,并由此创建用于实现框图和/或流程图框中指定的功能/动作的装置(功能体)和/或结构。附加地,这些计算机程序指令也可以存储在有形计算机可读介质中,所述有形计算机可读介质能够指导计算机或其它可编程数据处理装置按照具体的方式作用,使得在计算机可读介质中存储的指令产生制品,所述制品包括实现在所述框图和/或流程图的框中指定的功能/动作的指令。
如先前暗示的,有形非暂时计算机可读介质可以包括电子、磁性、光学、电磁或者半导体数据存储系统、装置或设备。计算机可读介质的更具体的示例将包括以下项:便携式计算机磁盘、随机存取存储器(RAM)电路、只读存储器(ROM)电路、可擦除可编程只读存储器(EPROM或闪存)电路、便携高密度盘只读存储器(CD-ROM)、以及便携数字视频盘只读存储器(DVD/蓝光)。计算机程序指令也可以加载或以其他方式下载到计算机和/或其它可编程数据处理装置,以在计算机和/或其它可编程装置上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机或其它可编程装置上执行的指令提供用于实现方框图和/或流程图的框中指定的功能/动作的步骤。因此,可通过硬件和/或处理器(例如,数字信号处理器)上运行的软件(包括固件、驻留软件、微代码等)来实现本发明的实施例,该硬件和/或软件可被共同称为“电路”、“模块”或其变型。
此外,在至少一些附加或备选实现中,在框中描述的功能/动作可以不以流程图中所示的顺序发生。例如,依赖于所涉及的功能/动作,连续示出的两个框实际上可以实质上同时执行,或者框有时候可以按照相反的顺序执行。此外,可以将流程图和/或框图的给定框的功能分成多个框和/或流程图和/或框图的两个或更多个框的功能可以至少部分地被集成。此外,在特定流程图中示出的动作、步骤、功能、组件或框可以与在另一流程图中示出的动作、步骤、功能、组件或框践进行相互混合或以其他方式进行相互布置,以便对预提供的策略模块化和/或优化的内容重组技术进行附加的改变、修改和配置(无论是以组合方式还是单独进行),以用于本专利公开的目的。最后,在示出的框之间可以添加/插入其它框。此外,尽管一些框包括用于示出通信的主要方向的关于通信路径的箭头,但是应理解,通信可以以相对于所描绘的箭头相反的方向发生。
虽然已经详细示出和描述了各种实施例,权利要求不限于任何具体的实施例或示例。上述具体实施方式的任何内容不应被解读为暗示任何特定的组件、元素、步骤、动作或功能是必须的,使得其必须被包括在权利要求的范围中。除非明确地阐述,提及单数形式的元素不意图表示“一个且仅一个”,而是“一个或多个”。上述优选实施例的元素的对于本领域的普通技术人员已知的所有结构和功能等同物通过引用明确地并入本文,并旨在由本期权利要求书涵盖。因此,本领域技术人员将认识到,可以在各种修改和变更的情况下实践本文描述的示例性实施例,该各种修改和变更在所附的权利要求书的精神和范围内。
Claims (20)
1.一种网络节点,包括处理电路和计算机可执行程序代码,所述计算机可执行程序代码在由所述处理电路执行时,使所述网络节点:
获得将多个用户与组相关联的分组信息;
基于所述分组信息,确定要在与所述组相关联的用户附近缓存的内容;以及
促使将所述内容缓存在一个或多个缓存器中,所述一个或多个缓存器是至少部分地基于与和所述组相关联的用户的接近度而从多个缓存器中选择的。
2.根据权利要求1所述的网络节点,其中,为了促使将所述内容缓存在所述一个或多个缓存器中,还使所述网络节点传送用于将所述内容预加载到所选择的一个或多个缓存器中的指令。
3.根据权利要求2所述的网络节点,其中,响应于所述内容是为所述组推荐的,来传送用于预加载所述内容的指令。
4.根据权利要求2所述的网络节点,其中,用于预加载所述内容的指令基于与所述组相关联的内容消费模式。
5.根据权利要求2所述的网络节点,其中,所述计算机可执行程序代码在由所述处理电路执行时,还使所述网络节点:在网络利用率低于阈值时进行调度以预加载所述内容。
6.根据权利要求1所述的网络节点,其中,为了促使将所述内容缓存在所述一个或多个缓存器中,还使所述网络节点:
确定所述内容已经由与所述组相关联的第一用户经由靠近所述第一用户的第一缓存器消费;以及
作为响应,传送用于将所述内容预加载到第二缓存器的指令,所述第二缓存器靠近与所述组相关联的第二用户。
7.根据权利要求1所述的网络节点,其中,为了促使将所述内容缓存在所述一个或多个缓存器中,还使所述网络节点:
确定所述内容先前被缓存在所述一个或多个缓存器中;以及
促使将所述内容保留在所述一个或多个缓存器中。
8.根据权利要求1所述的网络节点,其中,所述计算机可执行程序代码在由所述处理电路执行时,还使所述网络节点:在所述内容已经被预定数量或百分比的与所述组相关联的用户消费之后,传送用于从所述一个或多个缓存器中删除所述内容的指令。
9.根据权利要求1所述的网络节点,其中,所述计算机可执行程序代码在由所述处理电路执行时,还使所述网络节点:在预定时间段过去之后,传送用于从所述缓存器中删除所述内容的指令,其中,所述预定时间段基于与所述组相关联的内容消费模式。
10.根据权利要求1所述的网络节点,其中,所述分组信息隐式地将用户与所述组相关联。
11.根据权利要求1所述的网络节点,其中,所述分组信息显式地将用户与所述组相关联。
12.根据权利要求1所述的网络节点,其中,所述分组信息基于自组织方式将用户与所述组相关联。
13.一种用于在方法中使用的方法,所述方法包括:
获得将多个用户与组相关联的分组信息;
基于所述分组信息,确定要在与所述组相关联的用户附近缓存的内容;以及
促使将所述内容缓存在一个或多个缓存器中,所述一个或多个缓存器是至少部分地基于与和所述组相关联的用户的接近度而从多个缓存器中选择的。
14.根据权利要求13所述的方法,其中,促使将所述内容缓存在所述一个或多个缓存器中包括:
传送用于将所述内容预加载到所选择的一个或多个缓存器中的指令。
15.根据权利要求14所述的方法,其中,响应于所述内容是为所述组推荐的,来传送用于预加载所述内容的指令。
16.根据权利要求14所述的方法,其中,用于预加载所述内容的指令基于与所述组相关联的内容消费模式。
17.根据权利要求13所述的方法,其中,促使将所述内容缓存在所述一个或多个缓存器中包括:响应于确定所述内容已经由与所述组相关联的第一用户经由靠近所述第一用户的第一缓存器消费,传送用于将所述内容预加载到第二缓存器的指令,所述第二缓存器靠近与所述组相关联的第二用户。
18.根据权利要求13所述的方法,其中,促使将所述内容缓存在所述一个或多个缓存器中包括:
确定所述内容先前被缓存在所述一个或多个缓存器中;以及
促使将所述内容保留在所述一个或多个缓存器中。
19.根据权利要求13所述的方法,还包括:
在预定时间段过去之后和在所述内容已经被预定数量或百分比的与所述组相关联的用户消费之后,传送用于从所述一个或多个缓存器中删除所述内容的指令。
20.一种包括计算机可执行程序代码的非暂时性计算机可读介质,所述计算机可执行程序代码在由网络节点的处理电路执行时,使所述网络节点执行动作,所述动作包括:
获得将多个用户与组相关联的分组信息;
基于所述分组信息,确定要在与所述组相关联的用户附近缓存的内容;以及
促使将所述内容缓存在一个或多个缓存中,所述一个或多个缓存是至少部分地基于与和所述组相关联的用户的接近度而从多个缓存器中选择的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/943,333 | 2018-04-02 | ||
US15/943,333 US20190306265A1 (en) | 2018-04-02 | 2018-04-02 | Group enhanced content delivery |
PCT/IB2019/050951 WO2019193429A1 (en) | 2018-04-02 | 2019-02-06 | Group enhanced content delivery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111869191A true CN111869191A (zh) | 2020-10-30 |
CN111869191B CN111869191B (zh) | 2024-04-05 |
Family
ID=65724479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980020477.7A Active CN111869191B (zh) | 2018-04-02 | 2019-02-06 | 组增强的内容传递 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190306265A1 (zh) |
EP (1) | EP3777101B1 (zh) |
CN (1) | CN111869191B (zh) |
WO (1) | WO2019193429A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143376A (zh) * | 2021-11-18 | 2022-03-04 | 青岛聚看云科技有限公司 | 一种用于加载缓存的服务器、显示设备及资源播放方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11399058B2 (en) | 2018-03-22 | 2022-07-26 | Netskrt Systems, Inc. | Immutable ledger method and apparatus for managing the distribution of content |
US11388252B2 (en) * | 2018-03-22 | 2022-07-12 | Netskrt Systems, Inc. | Micro-cache method and apparatus for a mobile environment with variable connectivity |
US11252547B2 (en) * | 2018-11-14 | 2022-02-15 | Samsung Electronics Co., Ltd. | Seal system and method for provisioning inter-services communication in seal system of wireless communication network |
WO2021064062A1 (en) * | 2019-10-01 | 2021-04-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Support of indirect communication with tls |
US11240339B2 (en) * | 2020-05-12 | 2022-02-01 | T-Mobile Usa, Inc. | Managing multimedia content at edge servers |
WO2024063567A1 (en) * | 2022-09-21 | 2024-03-28 | Samsung Electronics Co., Ltd. | Methods and wireless network for including vertical application layer service area in seal server |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101466025A (zh) * | 2007-12-17 | 2009-06-24 | 阿尔卡泰尔卢森特公司 | 用于分发由超对等网络的用户所创建的内容数据包的方法 |
US20120289147A1 (en) * | 2011-04-06 | 2012-11-15 | Raleigh Gregory G | Distributing content and service launch objects to mobile devices |
US20160285963A1 (en) * | 2015-03-24 | 2016-09-29 | Nintendo Co., Ltd. | Information processing system, server system, information processing apparatus, storage medium having stored therein information processing program, and information processing method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009068952A2 (en) * | 2007-11-30 | 2009-06-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method, network, and node for distributing electronic content in a content distribution network |
CN102612830A (zh) * | 2009-11-06 | 2012-07-25 | 阿尔卡特朗讯公司 | 用于预获取和缓存内容的系统和方法 |
US20130097122A1 (en) * | 2011-10-12 | 2013-04-18 | Jeffrey Liem | Temporary File Storage System and Method |
US9588897B2 (en) * | 2013-07-19 | 2017-03-07 | Samsung Electronics Co., Ltd. | Adaptive application caching for mobile devices |
EP2860940B1 (en) * | 2013-09-27 | 2016-09-14 | Alcatel Lucent | Method for caching |
WO2016009285A1 (en) * | 2014-07-16 | 2016-01-21 | Tensera Networks Ltd. | Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day |
US10567538B2 (en) * | 2016-03-08 | 2020-02-18 | Huawei Technologies Co., Ltd | Distributed hierarchical cache management system and method |
-
2018
- 2018-04-02 US US15/943,333 patent/US20190306265A1/en not_active Abandoned
-
2019
- 2019-02-06 WO PCT/IB2019/050951 patent/WO2019193429A1/en unknown
- 2019-02-06 CN CN201980020477.7A patent/CN111869191B/zh active Active
- 2019-02-06 EP EP19710138.9A patent/EP3777101B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101466025A (zh) * | 2007-12-17 | 2009-06-24 | 阿尔卡泰尔卢森特公司 | 用于分发由超对等网络的用户所创建的内容数据包的方法 |
US20120289147A1 (en) * | 2011-04-06 | 2012-11-15 | Raleigh Gregory G | Distributing content and service launch objects to mobile devices |
US20160285963A1 (en) * | 2015-03-24 | 2016-09-29 | Nintendo Co., Ltd. | Information processing system, server system, information processing apparatus, storage medium having stored therein information processing program, and information processing method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143376A (zh) * | 2021-11-18 | 2022-03-04 | 青岛聚看云科技有限公司 | 一种用于加载缓存的服务器、显示设备及资源播放方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019193429A1 (en) | 2019-10-10 |
EP3777101A1 (en) | 2021-02-17 |
US20190306265A1 (en) | 2019-10-03 |
EP3777101B1 (en) | 2023-10-25 |
CN111869191B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111869191B (zh) | 组增强的内容传递 | |
US10462081B2 (en) | Subscription-based media push service | |
US9462339B2 (en) | Systems and methods for distributing video on demand | |
US9615119B2 (en) | Method and apparatus for providing timeshift service in digital broadcasting system and system thereof | |
US9264652B2 (en) | Home and network video caching | |
Choi et al. | A survey of user behavior in VoD service and bandwidth-saving multicast streaming schemes | |
US9106972B2 (en) | Social networking for bandwidth conservation in video on demand systems | |
CA2929115A1 (en) | System and method for optimizing defragmentation of content in a content delivery network | |
US11496809B2 (en) | Video file storage prediction process for caches in video servers | |
US11805296B2 (en) | Per-viewer engagement-based video optimization | |
AU2011233856B2 (en) | Method and apparatus for providing timeshift service in digital broadcasting system and system thereof | |
US20080279100A1 (en) | System and method to control communication of data | |
US10334314B1 (en) | Preload-supported concurrent video stream limiting | |
US9979988B2 (en) | Program distribution service | |
Koch et al. | VoDCast: Efficient SDN-based multicast for video on demand | |
US11012756B2 (en) | Capture and sharing of broadcast media | |
US11895530B2 (en) | System and method for out-of-order transmission stream of content via ambient intelligent one-to-many transmission mode | |
JP2016174269A (ja) | 中継装置、視聴端末およびそれらのプログラム | |
CN110999334A (zh) | 广播数据的无线传送 | |
US20180324472A1 (en) | Video streaming management system for enhanced user engagement in a subscribed network | |
KR20150050276A (ko) | 비디오제공방법 및 비디오제공시스템 | |
Lau et al. | Cohort-Surrogate-Associate: A server-subscriber load sharing model for video-on-demand services | |
Yoshihisa | Reducing Interruption Time by Segmented Streaming Data-Scheduling in Hybrid Broadcasting Environments | |
Ouyang | On heterogeneous user demands in peer-to-peer video streaming systems | |
O’Neill | Peer Assisted Multicast Streaming for On-Demand Applications |
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 |