具有网络内缓存的分布式内容发现
本申请要求于2015年3月30日提交的申请号为No.14/673,624、名称为“具有网络内缓存的分布式内容发现”的美国非临时申请的权益,该申请通过引用结合在本申请中。
技术领域
本发明总体上涉及通信领域,具体地,涉及具有网络内缓存的分布式内容发现的技术和机制的实施例。
背景技术
现代网络经常存储并向用户设备提供内容。例如,网络中可以包含通过诸如手机等用户设备想要观看的电影。该内容可以最初来自网络内的单个位置,然后通过网络临时复制到缓存器上。通过网络缓存内容,用户设备可以通过较短的路径获取内容,从而提升性能。
典型网络缓存方案的缺点是客户端设备无法发现缓存器的位置。相反,客户端设备常常只从单个缓存器中获取内容片断。例如,网络节点可以配置其网络内的所有设备存储并获取来自单个缓存器的内容。该单个缓存器可能不是相对于客户端设备存储内容的最近位置。事实上,虽然内容可以被缓存在多个不同位置(例如,其他客户端设备等),但是因为所请求的客户端设备不知道这些缓存位置或缓存内容,所以即便该缓存器距离所请求的设备比其他分布的缓存器远,内容也通常从该单个内容缓存器中获取。
发明内容
通过描述用于网络内缓存的分布式内容发现的本公开的实施例,总体上可以实现技术优点。
本发明的一个实施例提供了一种用于部署缓存位置服务的方法。在该例子中,所述方法包括根据准则选择用于为内容服务器提供所述缓存位置服务的候选节点子集,以及向所述候选节点子集中的节点发送配置消息。所述配置消息指示所述候选节点子集中的所述节点为所述内容服务器的内容维护缓存位置表。还提供了一种用于执行该方法的装置。
本发明的另一实施例提供了一种用于发现缓存内容的方法。在该例子中,所述方法包括接收来自请求设备的查询,以及停止转发条件。所述查询包括请求网络的内容服务器中存放的内容的缓存位置的信息。所述候选节点子集中的第一节点所接收的所述查询维护第一缓存位置表。所述方法还包括如果所述停止转发条件不满足,向被配置成为内容服务器维护缓存位置表的所述候选节点子集中的至少一个候选节点转发所述查询;如果所述停止转发条件满足,停止查询操作。还提供了一种用于执行该方法的装置。
本发明的另一实施例提供了一种用于维护缓存位置表的方法。在该例子中,所述方法包括建立网络节点的内容服务器的缓存位置表。所述缓存位置表标识存储当前存放在所述内容服务器中的内容的分布式缓存节点。所述方法还包括确定第一内容已经增加至第一分布式缓存节点或从第一分布式缓存节点移除,并更新所述缓存位置表以反映所述第一内容已经增加至所述第一分布式缓存节点或从所述第一分布式缓存节点移除。在一个实施例中,所述第一分布式缓存节点是用户侧设备。在一个实施例中,所述内容服务器是内容分布网络(CDN)节点。在一个实施例中,确定所述第一内容已经增加至第一分布式缓存节点或从所述第一分布式缓存节点移除包括接收来自所述第一分布式缓存节点的通知。在一个实施例中,确定所述第一内容已经增加至第一分布式缓存节点或从所述第一分布式缓存节点移除包括监测所述第一分布式缓存节点的入口流量或出口流量。还提供了一种用于执行该方法的装置。
附图说明
为了更完整地理解本公开及其优点,现在结合附图参考如下描述,其中:
图1示出了无线通信网络实施例的图;
图2示出了被配置为分布缓存内容的网络实施例的图;
图3A和3B示出了在不同配置阶段的网络实施例的图;
图4示出了将网络配置为分布缓存内容的实施例方法;
图5示出了用于查询CLS信息的通信序列实施例的协议图;
图6示出了缓存更新序列实施例的协议图;
图7示出了查询缓存内容的网络实施例的图;
图8示出了计算平台实施例的图;以及
图9示出了通信设备实施例的图。
不同图中的对应数字和符号通常指对应的部分,除非另有说明。附图清楚地描述了各实施例的相关方面,并不一定按比例绘制。
具体实施方式
下面对本公开使用的实施例进行详细描述。然而,应意识到,本文所公开的概念可以体现在各种特定的上下文中,并且本文所讨论的具体实施例仅仅是描述性的,对权利要求的范围不构成限制。此外,应理解,在不脱离所附权利要求限定的本公开的精神和范围的前提下,可以进行各种变化、替换和修改。
本公开的各方面提供了一种用于通过发现存储请求内容的缓存(cache)位置改进网络中的缓存性能的技术。在一些实施例中,缓存位置的服务信息将内容服务器映射到存储来自内容服务器的内容的一个或多个分布式缓存器中。该分布式缓存器可以是配置为将来自内容服务器的内容存储到分布式网络位置中的网络侧设备、用户侧设备或其他设备/组件。本公开的各方面还提供了一种缓存查询技术,该技术使得用户设备和/或流量工程(TE)控制器等设备能够动态发现存储所需内容的缓存器位置,而无需使该设备知道网络中的所有缓存器。
图1示出了用于数据通信的网络100。网络100包括具有覆盖区域102的基站110、多个移动设备120以及回程网络130。如图所示,基站110与移动设备120建立上行(短划线)和/或下行(虚线)连接,用以传输从移动设备120到基站110和从基站110到移动设备120的数据。通过上行/下行连接传输的数据可以包括移动设备120之间通信的数据,以及经由回程网络130传输至/传输自远端(未示出)的数据。此处所使用的术语“基站”指被配置为向网络提供无线接入的任何组件(或组件的集合),例如增强型基站(eNB)、宏小区、毫微微蜂窝、Wi-Fi接入点(AP)或其他可无线启用的设备。按照一个或多个无线通信协议,例如长期演进(LTE)、LTE升级版(LTE-A)、高速分组接入(HSPA)、Wi-Fi 802.11a/b/g/n/ac等,基站可以提供无线接入。此处所使用的术语“移动设备”指能够与基站建立无线连接的任何组件(或组件的集合),例如用户设备(UE)、移动站点(STA)以及其他可无线启用的设备。在一些实施例中,网络100可以包括各种其他无线设备,例如继电器、低功率节点等。
图2示出了被配置为在分布式网络位置处存储内容的网络200的框图。网络200可以包括内容源205、TE控制器210、内容分布网络(CDN节点)220-222、网络节点230-234以及用户设备240-248。内容源205可以包括网络200中提供内容的任何设备。TE控制器210计算网络200的路径和资源分配。TE控制器210可以发现网络200中的内容相关的信息,例如,分布式内容的位置。然后,TE控制器210可以利用发现的信息进行多源流量工程,例如选择流量源并配置网络200中用于承载流量的路径,例如,建立和维护数据平面实体中的转发表。
CDN节点220-222存储内容源205提供的内容。CDN节点220-222可以位于整个网络,例如,因特网服务提供商(ISP)可以定位其基础设施内的CDN。在一些实施例中,CDN节点220-222可以存储诸如视频、图片、音乐等内容。此外,CDN节点220-222还可以存储与内容关联的一个或多个属性。例如,在内容为电影的实施例中,关联的属性可以包括题材、发布年限、主演等。同样,在内容为歌曲的实施例中,关联的属性可以包括艺术家、专辑、发布日期等。当用户设备240-248中其中一个用户设备需要内容时,他们可以查询网络200,以发现内容的位置(在下面进行讨论)。
网络节点230-234是网络200中的中间设备。网络节点230-234可以与用户设备240-248排列在多层拓扑中。例如,网络节点230-234可以是路由器、调制解调器、交换机等。虽然图2中描述的网络200示出了单层网络节点230-234,但是在一些实施例中,网络200可以包括若干嵌套层网络节点230-234。例如,网络200可以包括诸如英特网网关等的第一网络节点、诸如路由器等嵌套的第二网络节点和诸如交换机等嵌套的第三网络节点。
用户设备240-248可以包括诸如计算机、电视机、移动电话等设备。操作过程中,用户设备240-248中的其中一个,例如用户设备242,可能需要电影、图片等内容。在所述实施例中,用户设备242可以请求来自TE控制器210的内容。在其他实施例中,用户设备242可以请求来自内容源205的内容、来自所有CDN节点220-222或其子集的内容、或来自用于响应内容要求的网络组件的内容;然后,这些设备可以将该内容请求转发至TE控制器210或用户设备242。然后,TE控制器210可以发现网络200中关于内容的信息,例如,分布式内容的位置。一旦执行了内容发现,TE控制器210可以执行多源流量工程,以满足来自用户设备242的内容请求,并将用户设备242指向所需的内容。多源流量工程可以考虑到分布式内容的发现位置,包括内容源205和CDN节点220-222等的位置。例如,在多源流量工程期间,TE控制器210可以选择一个或多个CDN节点220-222和/或最接近用户设备242的内容源205,以向用户设备242提供内容。可替换地,内容位置信息可以直接提供给用户设备242,其自身可以发现网络200内的内容,并选择位置以满足内容请求。一旦标识了内容位置,用户设备242可以获取用于消费的内容。
图3A示出了配置的中间阶段中的网络300。在该配置阶段中,网络300可以包括内容服务器310、网络节点230-234以及用户设备240-248。内容服务器310存储将在网络200中分布的内容的原始副本,例如视频、音乐、图片等。例如,内容服务器310可以包括用户想要观看的电影。当其中一个用户设备如用户设备240请求时,该视频可以从内容服务器310传输至用户设备240。在内容发送过程中,所需内容可以被缓存在网络200中用于稍后分发。用户设备242等其他用户设备之后请求同样的内容时,可以使用户设备242被导向网络300内所需内容所分布的另一位置。内容服务器310可以是适用于存储大量内容诸如NAS、磁盘阵列、iSCSI设备或CDN等的任何设备或网络。在某些情况下,至少一个分布式缓存节点不是CDN节点,其中至少一个分布式缓存节点是用户侧设备。
网络200中来自内容服务器310的缓存内容可以减小内容服务器310的负载,进而提高性能。进一步,网络200中的缓存内容可以使所需的内容存储在网络中相对于内容服务器310更靠近用户设备的位置。这可以减少用户设备240-248请求来自网络200的内容时所经受的时延。
在所述实施例中,用户设备240-248包括缓存节点330-332。缓存节点330-332缓存内容服务器310存储的分布式内容。例如,诸如视频等内容的所需片断可以存储在内容服务器310中。缓存节点330-332还可以存储该视频的副本。存储的该视频的副本可以是完整的视频文件或视频文件的部分。当另一用户设备需要该视频时,它可以通过网络300查询该视频的位置,然后从缓存节点330-332而非内容服务器310获取该视频。
缓存节点330-332可以是用户设备或非用户设备。在所述实施例中,用户设备240-248中的一个或多个被配置为缓存节点。用户设备240-248可以缓存它们之前从内容服务器310(或其他设备)获取的内容,并使缓存内容用于网络300中的其他用户设备(在下面讨论)。在另一实施例中,缓存节点可以是适用于缓存内容的独立设备,例如文件服务器、网络服务器等。在另一实施例中,缓存节点可以是能使用的网络节点,例如路由器、基站等。
在所述实施例中,网络节点230-234和内容服务器310维护缓存位置服务(CLS)表320-326。CLS表320-326用于标识存储当前存放在所述内容服务器中的内容的缓存节点,并且每个CLS表用于指定每个缓存节点中存储的内容。CLS表320-326将内容服务器310与缓存节点330-332中的一个或多个相关联。例如,CLS表可以存储源自内容服务器310的缓存内容的标识符,并可以将这些内容标识符与存储缓存内容的缓存节点330-332相关联。在一些实施例中,来自内容服务器310的内容可以是分段的,这样缓存位置表还可以存储用于分段内容的分段信息。在一些实施例中,缓存位置表还可以存储用于缓存内容的路由信息。由于内容服务器310与缓存节点330-332中的一个或多个相关联,CLS表320-326可以向用户通知存储用户所要求的内容的分布的缓存位置。
CLS表320-326可以将内容服务器310与网络300中的可用缓存节点的子集相关联。这样,CLS表的集合可以不必知道网络中的所有缓存节点。同样,多个网络节点230-234可以被配置为维护内容服务器310的缓存位置表。例如,CLS表320可以被配置为将内容服务器310与缓存节点330相关联,CLS表324可以被配置为将内容服务器310与缓存节点332相关联。在该实施例中,CLS表320并不知道缓存节点332,CLS表324不知道缓存节点330。
CLS表320-326可以位于配置为用作CLS节点的网络节点上,或用作CLS节点的独立设备上。在一些实施例中,网络节点230-234可以维护CLS表。例如,网络节点可以是路由器、网络交换机、因特网服务提供商(ISP)变电站、无线基站等。网络节点230-234可以被配置为,除进行他们的正常网络任务外,用作CLS节点。在一些实施例中,CLS表320-324可以位于配置为专门用作CLS节点的设备上。例如,CLS节点可以是专用服务器、低功率嵌入式计算机系统等。
在所述的实施例中,内容服务器310可以被配置为维护CLS表326。CLS表326可以包括在内容服务器310中存放缓存内容的所有缓存节点的位置相关的信息。在一个实施例中,内容服务器可以知道部分或全部关联的缓存节点的位置。在其他实施例中,内容服务器310可以不维护CLS表326,在这种情况下,服务器可以不知道相关联的缓存节点的位置。通过从内容服务器310中解耦缓存位置服务,在不改变内容服务器310的配置的前提下,可以增加缓存节点至网络或从网络中移除缓存节点。
CLS控制器340配置节点以维护网络300中的CLS表。CLS控制器340可以标识候选网络节点,例如网络节点230-234和/或内容服务器310,然后配置所有标识出的候选节点或其子集以维护CLS表320-326。在所述实施例中(如图3B所示),CLS控制器340配置网络节点230以维护CLS表320,网络节点232维护CLS表322。当在新的网络位置中存储新内容(例如,视频等)时,网络节点230、232可以通过更新要反映的CLS表320、222维护CLS表320、222。当缓存节点中有内容增加、移除或修改时,网络节点230、232可以接收来自缓存节点的更新通知。然后,网络节点230、232可以更新CLS表320、322以反映内容增加、删除或修改。不同CLS表可以对应不同的区域和/或网络中存储的内容。在一些实施方式中,CLS表中的信息可以重叠,例如,两个CLS表可以指示内容存储在相同的缓存节点中。选择网络节点维护CLS表可以包括诸如网络性能参数、网络时延参数、网络流量参数等参数的评估。选择用于提供缓存位置服务的候选节点的标准可以包括存储容量、带宽限制、控制开销、连接质量(例如,与其他选择的候选节点的连接质量)以及流行度(例如,经过多久其被包含在内容服务器和内容消费者之间的数据通路一次)。所选择的进行缓存位置服务的候选节点的最小数量和最大数量可以是输入参数。在一些实施例中,所选择的进行缓存位置服务的候选节点的数量没有明确限制。
图3B示出了网络300中将网络节点230和232配置用作CLS表320和322的CLS控制器340。CLS表320和322之间定义为虚拟连接350。虚拟连接350可以通过桥节点等(未示出)由直接的物理连接来实现。虽然所述实施例示出了被配置为维护CLS表的两个网络节点,但是其他实施例可以包括配置维护CLS表的更多或更少节点。在此类实施例中,并非所有的CLS节点都是通过虚拟连接进行互相连接的。网络300中虚拟连接350的使用确保至少一些缓存地址服务器被虚拟地连接。
在CLS表320和322的配置期间,CLS控制器340可以向TE控制器210通知其选择和配置决定。CLS控制器340可以向TE控制器210传输分布式内容相关的信息,例如内容服务器310和CLS表320-324之间的关联。配置的虚拟连接350相关的信息也可以被发送到TE控制器210。然后,TE控制器210可以使用网络内内容分布和/或布局相关的信息,以更有效地通过网络300路由针对内容的请求。
图4示出了用于配置节点以在网络中维护和更新CLS表的方法400的流程图。方法400从步骤410开始,其中CLS控制器在能够提供缓存位置服务的网络中标识候选节点。方法400继续进行到步骤420,其中CLS控制器估计候选网络节点的性能参数。方法400继续进行到步骤430,其中CLS控制器根据估计的参数选择候选网络节点的子集。正如此处所提到的,“候选节点子集”可以包括网络中的所有候选节点,或少于所有候选网络节点的候选节点。方法400继续进行到步骤440,其中所选择的网络节点被配置为维护CLS表。方法400继续进行到步骤450,其中在配置的CLS节点之间定义虚拟连接。可选地,方法400以步骤460结束,其中向TE控制器通知新配置的CLS节点。
图5示出了用于配置和查询CLS节点502-504的通信序列500的实施例的协议图。如图所示,CLS控制器340向CLS节点502-504发送配置消息510-520。可以向每个配置的CLS节点发送一个配置消息,例如,向CLS节点502发送配置消息510。配置消息510-520可以包括指示CLS节点502-504形成逻辑拓扑的信息。逻辑拓扑可以定义CLS节点502-504之间的逻辑互连,以及定义CLS节点502-504的相对逻辑属性(例如,CLS节点502-504是否在跳数为3、跳数为2的环上等。)用于维护和/或更新CLS节点502-504的拓扑配置/属性的信息还可以负载到(piggybacked)随后的配置维护消息上)。
在一些实施例中,并非所有的CLS节点都要配置在网络中。在配置有多个CLS节点的网络的实施例中,CLS节点502-504利用维护消息530维护他们的缓存内容的状态。在一些实施例中,CLS节点502-504可以具有关于他们的存储内容缓存的状态的不一致信息,因此他们之间没有可以交换的维护消息530。在其他实施例中,网络可以仅有一个配置的CLS节点,因此没有可以交换的维护消息530。
在所述的实施例中,查询设备506通过向CLS节点502发送查询540查询所需的内容。查询设备506可以是网络上的任何设备,例如用户设备、TE控制器和/或其它设备。CLS节点502可以通过发送转发查询消息550向网络中的诸如CLS节点504等其他CLS节点转发查询。在一些实施例中,查询540和/或转发查询550可以包括关于查询转发的嵌入信息。例如,停止转发条件可以嵌入到查询中,并且候选节点可以被配置为当停止转发条件满足时,停止转发查询。可替换地,可以单独接收来自请求设备或网络控制器的停止转发条件。在一个实施例中,停止转发条件包括保活时间的条件,例如用于转发查询的最大跳数或深度值。再例如,转发规则可以嵌入到查询中,并且候选节点可以根据查询中嵌入的转发规则转发查询。在一个实施例中,转发规则指示候选节点子集中的至少一些候选节点在路径上转发查询。路径可以在查询中明确定义。可替换地,路径可以被隐含地提及,例如,通过将路径限制在转发节点所在的逻辑环上的具有一定度数(例如,由查询指定)的弧上。
一些CLS节点可以利用包括存储所需内容的缓存节点的位置的查询结果直接响应用户设备。在所述的实施例中,CLS节点504利用查询结果560响应查询设备506。
一些CLS节点可以向其缓存位置表中所列的缓存节点转发查询,然后这些缓存节点可以响应用户设备。在所述的实施例中,CLS节点502通过转发查询消息570向缓存节点330转发查询。缓存节点330接收到查询后,检查是否缓存了所需的内容。如果缓存节点330具有所需的内容,其利用查询结果580答复查询设备506。一旦查询设备506接收到查询结果560和580,其从查询结果中选择缓存器,例如缓存节点330,以服务内容请求。
图6示出了缓存更新通信序列实施例的协议图。某些条件下CLS节点502可能需要更新缓存节点330相关的信息。当增加内容至缓存节点330或从缓存节点330移除内容时,CLS节点502可能需要进行更新。例如,当内容被缓存到缓存节点330中时,例如,被提供给用户设备后,可以通知CLS节点502。同样,当缓存内容从缓存节点330减少或移除时,也可以通知CLS节点502。缓存节点330可以通过更新消息610向CLS节点502通知内容的缓存或移除。更新消息610可以包括与缓存节点330对应的标识符、与缓存内容对应的标识符以及指示内容是否已缓存入缓存节点330或已从缓存节点330移出的字段。在一些实施例中,更新消息610也可以包括与内容服务器310对应的标识符。在内容被分段的实施例中,内容相关的任何分段信息也可以被包括在更新消息610中。
缓存到缓存节点330-332中的内容可能会随着时间“过时”,例如,内容服务器310上的内容可能发生变化,致使缓存到缓存节点330-332中的内容过期。该过时内容可以被更新和/或从过时缓存节点移除,这样用户设备就不会不时地收到无效内容。CLS节点502协调内容服务器310和缓存节点330之间的过时缓存信息的检测和更新。
在一些实施例中,在内容请求后当缓存节点330具有缓存的新内容时,可以发送更新消息610。缓存节点330中新缓存的内容可以是内容的全部片断或所需内容的分段。在其他实施例中,当缓存节点330删除保存的缓存内容时,可以发送更新消息610。在一些实施例中,内容服务器310可以配置有一个以上的CLS节点,更新消息610可以被发送至所有配置的CLS节点或配置的CLS节点的子集,其中,某些实施例中,可以将更新消息610转发至其他配置的CLS节点。
监测组件可以检测过时缓存信息。在所述的实施例中,监测组件与CLS节点502共址。在其他实施例中,监测组件可以是另一设备,例如用户设备。过时缓存信息可以通过若干方式被检测。在一些实施例中,缓存节点330可以向CLS节点502发出明确的过时通知620。在其他实施例中,CLS节点502可以执行观察630,以观察未响应缓存请求的缓存节点330。缓存节点330未响应则可以向CLS节点520指明缓存是过时的。一旦CLS节点502收到缓存节点330是过时的通知,则其通过通知消息640通知内容服务器310。然后CLS节点502可以通过从其缓存位置表中移除过时缓存条目来更新其缓存消息。针对内容的后续请求,可以利用更新消息650将所需内容的最新版本传输至缓存节点330。在一些实施例中,更新消息650可以包括差分更新,以便在未携带新内容和冗余内容共用的冗余信息时指示更新后的内容和过时内容之间的差别。
图7示出了包括查询所需内容的位置的用户设备240的环状网络700的实施例。环状网络700可以包括CLS节点之间的虚拟环状网络,其独立于物理网络拓扑。环状网络700的实施例中每个拓扑级别上都具有配置为CLS节点的网络节点。例如,拓扑级别k上具有两个网络节点:一个被配置为CLS节点,另一个被配置为拓扑级别i和j中的其他CLS节点的桥接点。在所述的实施例中,用户设备240位于拓扑级别i中,知道与所需内容相关联的标识符,并知道所需内容原本位于内容服务器310上。用户设备240可以以不同方式学习该信息,例如,通过检测网络中的每个内容服务器,以确定哪个内容服务器存放了所需的内容。
一旦用户设备240知道所需内容存放在内容服务器310上,它就可以向环形网络700发送(例如,广播或其他方式)缓存位置查询,以便确定缓存所需内容的网络节点的标识符。缓存位置查询可以包括与内容相关联的标识符,可以可选地包括与内容服务器310相关联的标识符。用户设备240可以通过发送缓存位置查询开始对与用户设备240在同一拓扑级别i中的网络节点进行查询,例如CLS节点502。CLS节点502可以检查所需内容的位置的缓存位置表,然后将缓存位置查询转发至相同网络拓扑级别中的另一网络节点,例如网桥710。因为网桥710未被配置为CLS节点,所以可以向拓扑级别i中的下一个网络节点CLS节点504转发缓存位置查询。
在一些实施例中,CLS节点504可以在其缓存位置表中具有所需内容的条目。如果这样,CLS节点504可以直接回复用户设备240。在一些实施例中,CLS节点504可以向缓存节点330发送缓存位置查询。如果缓存位置查询被发送到缓存节点330,则缓存节点330可以回复用户设备240,指示缓存节点330的标识以及存在所需内容。一旦CLS节点504响应缓存位置查询或将其发送到缓存节点330,CLS节点504可以向拓扑等级i上的其他网络节点转发缓存位置查询。该缓存位置查询可以沿着网络的拓扑级别i继续被转发,直到符合标准,例如实现了最大跳数,缓存位置查询到达在其缓存位置表中存储所需内容的条目的CLS节点(例如,查询设备506),网络环周围形成完整的圈等。CLS节点可以直接回复用户设备240,指示缓存节点330的标识以及存在所需内容。
在一些实施例中,CLS节点502可以向网络拓扑的下一层上的网络节点转发缓存位置查询,例如拓扑等级j中的网桥720。缓存位置查询可以继续在拓扑等级j周围转发,并向更高等级转发,例如向拓扑等级k中的网桥730转发,直到到达内容服务器310。然后,内容服务器310可以直接利用所需内容回复用户设备240。如上所述,当内容服务器310直接响应用户设备240时,内容可以被缓存到网络上的缓存节点中,例如缓存节点330中。
图7所述的实施例示出了从较低等级向内容服务器310转发的查询,例如从拓扑等级i向拓扑等级k转发的查询,查询也可以来自其他等级中的其他设备,并在不同方向上传播。例如,拓扑层k中的诸如TE控制器等设备可以发送从内容服务器310转发的查询,下至拓扑等级j和i。或者,拓扑层j中的诸如用户设备等设备可以发送向内容服务器310转发和转发自内容服务器310的查询,例如上至拓扑层k,下至拓扑层i。
在一些实施例中,可以配置缓存位置查询,以便在其遍历一定数量的拓扑层后,网络节点停止转发该缓存位置查询。例如,缓存位置查询可以被配置为遍历一个拓扑层后停止,这样可以仅通过拓扑层i和j传播。在其他实施例中,缓存位置查询可以被配置为当具有远离内容服务器310的一定数量的拓扑层时停止。可以用其他参数限制传播消息穿过的拓扑等级。通过在同一拓扑等级中的网路节点之间以及向更高和/或更低拓扑等级转发缓存位置查询,缓存位置查询更有可能到达至少部分CLS节点。
正如上面图6所讨论的,当缓存节点330中有内容增加、移除或更新时,缓存节点330可能需要更新网络中的CLS节点,例如,CLS节点504。缓存节点330可以向环形网络700广播缓存更新消息。如上所述,缓存更新消息可以通过网络以同样的方式被广播并传播到缓存位置查询。在一些实施例中,缓存更新消息可以不生成来自内容服务器310或CLS节点的回复。
图8示出了可以用于实现本文所公开的设备和方法的处理系统的框图。具体的设备可以利用所示的所有组件,或仅利用组件的子集,集成等级可以因设备不同而不同。此外,设备可以包括组件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等。处理系统可以包括装配有一个或多个诸如扬声器、麦克风、鼠标、触摸屏、小键盘、键盘、打印机、显示器等输入/输出设备的处理单元。处理单元可以包括中央处理单元(CPU)、存储器、大容量存储设备、视频适配器以及连接到总线的I/O接口。
总线可以是包括存储总线或存储控制器、外设总线、视频总线等任何类型的若干总线结构中的一个或多个。CPU可以包括任何类型的电子数据处理器。存储器可以包括任何类型的系统存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、只读存储器(ROM)或它们的组合等。在一个实施例中,存储器可以包括启动时使用的ROM以及执行程序时用于编程和数据存储的DRAM。
大容量存储设备可以包括配置为存储数据、程序以及其他信息并通过总线存取数据、程序和其他信息的任何类型的存储设备。大容量存储设备可以包括诸如固态驱动器、硬盘驱动器、磁盘驱动器、光磁驱动器中的一个或多个。
视频适配器和I/O接口提供将外部输入设备和输出设备耦连到处理单元的接口。如图所示,输入设备和输出设备包括与视频适配器耦连的显示器以及与I/O接口耦连的鼠标/键盘/打印机。其他设备可以被耦连到处理单元,可以使用更多或更少的接口卡。例如,诸如通用串行总线(USB)(未示出)的串行接口可以用来为打印机提供接口。
处理单元还包括一个或多个网络接口,该网络接口可以包括接入节点或不同网络的诸如以太网电缆等有线连接和/或无线连接。网络接口通过网络使得处理单元与远端单元进行通信。例如,网络接口可以通过一个或多个发射器/发射天线和一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理单元与局域网或广域网耦连进行数据处理,与诸如其他处理单元、因特网、远端存储设施等远端设备进行通信。
图9示出了通信设备900的实施例的框图,该通信设备900可以相当于上述一个或多个设备(例如,UE、NB等)。通信设备900可以包括处理器904、存储器906、蜂窝接口910、补充接口912、回程接口914,如图9所示,可以设置(也可以不设置)。处理器904可以是能够执行计算和/或其他处理相关的任务的任何组件,存储器906可以是能够用于处理器904存储编程和/或指令的任何组件。蜂窝接口910可以是利用蜂窝信号使通信设备900进行通信的任何组件或组件的集合,可用于通过蜂窝网络的蜂窝连接接收和/或发送信息。补充接口912可以是通过补充协议使通信设备900进行数据通信或信息控制的任何组件或组件的集合。例如,补充接口912可以是根据无线保真(Wi-Fi)或蓝牙协议通信的非蜂窝无线接口。可替换地,补充接口912可以是有线接口。可选地,回程接口914可以被包括在通信设备900中,其可以包括通过回程网络使通信设备900与另一设备进行通信的任何组件或组件的集合。
虽然已经进行了详细描述,但应理解,在不脱离所附权利要求限定的本公开的精神和范围的前提下,可以进行各种变化、替换和修改。此外,本公开的范围并不局限于所描述的具体实施例,根据本公开,本领域技术人员容易意识到,目前现有的或以后开发出的过程、机器、制造、物质的成分、方式、方法或步骤可以与所述的对应实施例实质上执行相同的功能或实质上实现相同的结果。因此,所述的权利要求旨在将此类过程、机器、制造、物质的成分、方式、方法或步骤的范围包括在内。