拓扑敏感的缓存协作的制作方法

文档序号:6348456阅读:156来源:国知局
专利名称:拓扑敏感的缓存协作的制作方法
技术领域
本发明涉及内容分发网络领域,更具体地,涉及对内容分发和存储的管理。
背景技术
内容分发网络(⑶N)包含分布在网络基础设施中的缓存设备(cache)。这些缓存设备通常被安置在遵循底层网络拓扑结构的层级中。每个缓存设备通常包含一个与用于存储内容的海量存储设备相关联的网络单元或网络节点。每个缓存设备仅服务于直接附属该缓存设备的用户,即在该分发层级中位于该缓存设备之下的用户。缓存设备之间的合作主要限于父缓存设备和兄弟缓存设备之间的流量交互。在此架构中,该层级中同一层的所有缓存设备大部分具有相同的内容。它们一旦接收到一个请求,可直接提供所请求的内容,如果所请求的内容已存储在缓存设备中(即,缓存命中),或者如果该内容没有存储在缓存设备中(即,缓存未命中),则将该请求转发至父缓存设备。利用底层网络基础设施的扁平结构,以及通过IP编址的方式进入内容分发层级的能力,使得缓存设备从内容分发网络中其他缓存设备获取内容成为可能。即,如果一个子缓存设备本地未存有所请求的内容对象或标题的备份,那么它可以向除其父缓存设备以外的其他缓存设备请求项目。在一个扁平化内容分发网络中,进行初始决策,该初始决策涉及哪些内容对象或标题应该被存储在哪些缓存设备中,以及一个内容对象在整个内容分发网络中应存储多久。内容请求被路由至最能够响应该请求的缓存设备。对内容对象进行初始分发之后,在缓存设备之间并无对存储内容的进一步协作。

发明内容
现有技术中这些和其他各种不足,通过一种在内容分发网络(CDN)环境中提供协调的全局与局部缓存管理功能的系统、方法和设备,得以解决。本地缓存设备或内容存储节点(CSN)包括一个供局部空间和联合空间之间分割或分配的本地海量存储设备,其中,局部空间主要用于更受欢迎的内容,而联合空间主要用于次受欢迎的内容。与每个内容对象相关联的效用参数都会受到监控,并用于在组成内容分发网络的各种缓存设备的局部空间和联合空间之间迁移内容。所述联合空间作为一个更大的虚拟联合空间的一部分来管理, 该虚拟联合空间是通过组合多个内容存储节点的联合空间来建立的。可选地,在父内容存储节点与子内容存储节点之间的反向信道容量,用于方便内容在同层或不同层的缓存设备之间的高效迁移。使用该反向信道容量的决策取决于可用通信信道的类型的成本、海量存储的成本、内容对象的文件大小和/或其他因素。这样,各种实施例利用网络中一组分布式缓存设备节点间的协作,可选地结合该底层网络的拓扑信息,以通过对磁盘空间与未使用的上行容量的使用来降低传输带宽的成本。


通过结合附图来考虑以下的具体实施例,本发明的教导将更容易被理解图1描述了基于一个实施例的内容分发系统(CDS)的高阶框图;图2描述了一个适用于执行在此描述的功能的通用计算机的高阶框图;图3-5图示出基于多种实施例的缓存设备的存储器使用情况;图6描绘了基于一个实施例的存储分配方法的流程图;以及图7描绘了一个适用于图6中存储分配方法的内容晋级/降级方法的流程图。为了帮助理解,尽可能地,相同的编号用来指代图中相同的要素。
具体实施例方式本发明将在内容分发网络(⑶N)环境中阐述,该内容分发网络包括由内容存储节点或缓存设备构成的层级,其中,父/子(上行/下行)通信通路被用于在相同或不同层级的缓存设备之间迁移内容。各种实施例将单个缓存设备的存储空间分配给局部空间和联合空间,其中,局部空间主要用于更受欢迎的内容,而联合空间主要用于次受欢迎的内容。表明内容受欢迎程度的参数都会被监控,并用于在构成内容分发网络的各种缓存设备的局部空间和联合空间之间迁移内容。缓存设备中局部空间和联合空间的相对容量可能随时间变化,以响应在内容受欢迎程度、缓存设备间内容请求的差异程度、局部/区域内容偏好等方面的全局或局部变化。各种实施例利用父内容存储节点与子内容存储节点间现存的反向信道容量,以促进缓存设备之间内容的高效迁移。在此情况下,成本较低(且已存在)的、与父节点相关联的正向和反向数据信道,可用于在与共同的父节点相关联的子节点间迁移内容。本发明的部分基于发明人的认知虽然内容分发网络中的网络流量往往是不对称的,下行方向的需求高于上行方向的需求,但现今网络中的大部分具有对称的容量。因此, 上行带宽通常是可用的且未充分使用的,这使得内容的对等(例如,子节点到子节点)迁移也许能够在不增加网络传输资源的情况下进行,因为现存(闲置)的资源也许能够被使用。各种实施例利用这些否则闲置的网络资源,来增加缓存设备间的内容迁移的容量,以便更智能地在联合缓存的环境中构建可用资源池。组合或者联合缓存内容分发网络, 提供比层级内容分发系统中传统可用的内容存储大得多的内容存储,这部分归功于需要存储在每个缓存设备中的内容对象或对象的数量的减少。内容请求的对等满足的增长,也减少了必须上行发送给与高成本通信资源相关的内容演化(content evolves)或其他网络单元的请求数量。图1描绘了基于一个实施例的内容分发系统(CDS)的高阶框图。图1中内容分发系统100运转以分发诸如电影、电视节目、音乐等内容。一般来说,内容对象或对象最初存储在一个内容库中或由一些其他内容源提供,例如,该内容分发系统中的远程服务器或缓存设备。
特别地,图1中的内容分发系统100包含一个中央或顶层的内容汇聚节点110,内容汇聚节点110接收来自内容库150或其他内容源160中任一个的内容。内容汇聚节点110 将内容分发至多个第二层网络单元中的每一个,该多个第二层网络单元作为内容存储节点进行工作,并以网络单元120-1至120-N表示(所有第二层网络单元以120集中表示)。第二层网络单元120中的每一个都将内容分发至各自的多个第三层网络单元,该多个第三层网络单元作为内容存储节点进行工作,并以网络单元130-1至130-N表示(所有第三层网络单元以130集中表示)。第三层网络单元130中的每一个都将内容分发至各自的多个客户端设备,该多个客户端设备用140-1至140-N表示(所有客户端设备用140集中表示)。内容汇聚节点110、第二层网络单元120和第三层网络单元130共同表示一个接入网络,该接入网络适用于支持客户端设备140在必要时访问核心网络180。内容库150示为直接和/或通过核心网络180,与内容汇聚节点110通信,而其他内容源160通过核心网络180与内容汇聚节点110通信。图中也示出与核心网络180通信的网络管理设备170。网络管理设备170在各种实施例中作为内容管理设备进行工作,该内容管理设备适用于管理多个内容缓存设备的海量存储设备中联合空间的分配。尽管网络管理设备170示为仅与核心网络180通信,但本领域技术人员应该理解, 网络管理设备170可与被管理的网络中任何适合的网络单元进行通信,例如内容汇聚节点 110。此外,尽管网络管理设备170示为一个单独单元,网络管理设备170可包含于内容汇聚节点110、第二层网络单元120和第三层网络单元130中的任一个。图1中所示内容分发系统110为一个实施例的简化表示。发明人认为,可对系统1 进行多种变化。例如,本领域技术人员应该理解,尽管示出一单个内容汇聚节点110以简化讨论,但也可采用多个内容汇聚节点,并且这种使用情况属于发明人所认知到的。类似地, 尽管仅示出了两个层级(120/130)的内容存储节点,更多或者更少层级的内容存储节点也可用于各种实施例的环境。另外,术语“多个(Plurality)”的使用,虽然它所涉及内容存储节点、客户端设备等物的数量,但不应该被解释为表示一个特定数值。例如,第二层网络单元120的数量N不必等同于第三层网络单元130的数量N和/或客户端设备140的数量N。内容汇聚节点110经由各自的高带宽(且高成本)通信信道HBC,将内容传递给第二层内容存储节点120中的每一个。第二层内容存储节点120经由各自的正向信道FC 和反向信道RC,与对应的第三层内容存储节点130通信。第三层内容存储节点130经由如标准的最后一英里通信信道(LM),与其各自邻近的客户端设备140通信。在一个与电信网络相关的实施例中,内容汇聚节点110包括局间通信中心,第二层内容存储节点120中的每一个包括中心局(CO),第三层内容存储节点130中的每一个包括数字用户线接入复用器 (DSLAM)。在与有线电视网络相关的其他实施例中,内容汇聚节点包括有线电视头端设备。内容存储节点120/130中的每一个都和一个或者多个用于存储内容对象的海量存储设备相关联。一个内容存储节点的典型配置将在下面参照图2更详细地论述。在常规操作中,客户端设备140向服务于客户端设备的内容存储节点130请求内容。如果和内容存储节点130相关联的海量存储设备包含所请求的内容,那么该内容将被直接提供给该客户端设备。否则,必须从另一内容存储节点、内容汇聚节点110、内容库150 或一些其他内容源160中获取该内容。在后一种情况中,获取并提供所请求的内容所需要的时间,一定程度上降低了用户体验。内容存储节点120/130中的每一个,在其海量存储设备中,只能存储通过内容分发网络可获取的全部内容中的一部分。与内容存储节点120/130相关联的海量存储设备被分配给局部空间和联合空间,这将会在下文中更具体地论述。内容分发系统中的每个内容对象都有一个与其相关联的效用参数。该效用参数基于以下一个或多个因素内容对象的受欢迎程度、内容对象的文件大小、内容对象的位置、 内容对象的获取成本和其他因素。可选地,对这些因素按其相互关系进行加权处理。根据内容的相对受欢迎程度、存储空间的成本、对等带宽的使用率、父到子带宽的使用率等方面, 来选择与内容对象的效用参数相关联的因素。可选地,内容对象的效用水平,在局部效用水平和/或联合效用水平的范围中被构造,其中,局部效用水平包括涉及与内容存储节点相关联的子网内的客户端设备的内容对象的效用水平,而联合效用水平包括涉及整个内容存储节点的内容对象的效用水平。各种实施例调整存储在局部空间和联合空间中的特定内容对象,以响应与可用内容对象相关的效用参数的变化。例如,在一个实施例中,最受欢迎的内容对象存储在每个内容存储节点的局部空间中,而次受欢迎的内容对象分布在所有内容存储节点的联合空间中。内容存储节点的局部空间是有限的,因此使用基于相对效用的内容对象的等级排序列表,以决定哪些内容对象被存储在局部空间中。可将优先权给予更受欢迎的内容对象、文件大小更小的内容对象等。如果一个内容对象的受欢迎程度随时间推移降低(例如,相对效用降低),其可能从局部空间中“被降级”并移至联合空间中。类似地,如果一个内容对象随时间推移变得更受欢迎(例如,相对效用增加),则其可能从联合空间、内容库或其他内容源中“被晋级”至局部空间。一般来说,更受欢迎并因而被更频繁请求的内容对象或标题,将趋于具有更高的价值效用参数,从而该等内容对象或标题将趋向于被存储在局部空间中。在此情况下,诸如新电影、电视节目、体育赛事、音乐等非常受欢迎的内容对象将趋向被存储在本地,以便为请求用户提供更快速的数据流。各种实施例以及进一步的实施例,调整内容存储节点中局部空间和联合空间的比例,以响应与满足内容对象请求相关的成本变化。例如,在海量存储相对便宜而带宽成本 (例如,在内容汇聚节点Iio和第二层内容目的节点120之间)相对昂贵之处,在本地存储更多内容对象、文件更大的内容对象等,变得更为可取。在这种情况下,所增加的海量存储设备的容量和/或该海量存储设备的局部空间所增加的分配是合适的。类似地,在海量存储相对昂贵而带宽成本相对便宜的场景中,在本地存储更少的内容对象、文件更小的内容对象等,变得更为可取。在这种情况下。所减少的海量存储设备的容量和/或该海量存储设备的局部空间所减少的分配是合适的。各种实施例以及进一步的实施例运转,以将内容移至更可能需要该内容的内容存储节点,例如,将特定族群的内容移至服务于相应族群群体的内容存储节点。这可能出现在关于特定族群内容的逐渐增长的请求提高了这类内容的相对效用水平的情况下。在各种实施例中,网络管理设备170调整与缓存设备或内容存储节点相关的一个或多个海量存储设备中局部空间和联合空间的分配。在各种实施例中,网络管理设备170 通过诸如调整用于确定与每个内容对象相关的效用参数的因素的相对权重,调整内容存储节点的运行。在此情况下,可调整存储分配方法,以响应网络性能和/或成本准则的变化。在各种实施例中,网络管理设备170使得内容分发系统在虚拟联合空间中分配相对次受欢迎的内容,该虚拟联合空间是通过逻辑组合或聚集分配在与传统节点内容相关的海量存储设备中的联合空间来创建的。可以预见各种分配方法,包括基于一个或多个关于内容对象效用的因素的分发方法,该等因素将后续论述。图2示出了一个适用于执行此处所描述功能的通用计算机的高阶框图。特别地, 系统200包括一个或多个处理单元220 (例如,中央处理器(CPU))、存储器230,如随机存取存储器(RAM)和/或只读存储器(ROM),以及多种输入/输出设备210(例如,存储设备,包括但不限于磁带驱动器、软盘驱动器、硬盘驱动器或光盘驱动器、接收装置、发送装置、扬声器、显示器、输出端口、通信网络接口和用户输入设备(例如键盘、数字键盘、鼠标等))。另外,还示出了一个本地存储设备M0,例如一个或多个诸如硬盘驱动器、磁盘驱动器阵列等海量存储设备。系统200是有助于实现此处所描述的各种功能的基本计算单元的简化表示,该等功能涉及参照图1的上述内容、内容存储节点120/130和/或客户端设备140。存储器230 示为包括存储分配工具232及内容服务和监控工具234。在各种实施例中,存储分配工具 232包括由内容存储节点120/130中每一个所执行的软件指令。在各种实施例中,内容服务和监控工具234包括由内容汇聚节点110、网络管理设备170和/或分发节点120/130所执行的软件指令。可以预见,此处作为软件方法讨论的步骤中的一些步骤可在硬件中实施,例如,像与处理器配合以执行各种方法步骤的电路。本发明的部分可以作为计算机程序产品来实现,其中,计算机指令当由计算机执行时,调整该计算机的操作,以使本发明的方法和/或技术被调用或者另行提供。用于调用这种发明方法的指令可以被存储在固定的或可移动的媒介中,通过在广播或者其他信号承载媒介中的数据流被传输,和/或被存储在根据指令运行的计算设备的工作存储器中。因此,一个实施例包括一装置,该装置包含用于存储软件指令的存储器和用于执行软件指令的处理器的装置,其中,当该等软件指令由该处理器执行时,使该装置执行一种或多种基于此处讨论的各种实施例的方法。基于该等各种实施例的方法调整各种内容缓存设备或内容存储节点的操作,以由此提供一个缓存联合(即,多个相互协作的缓存)。在此情况下,最可能被客户端设备请求的内容,对该客户端设备而言,也为最有可能访问就绪的内容。在各种实施例中,在内容存储节点中可用存储器的一个可变部分被分配给缓存联合。对未被分配给该缓存联合的存储器进行本地管理,而分配给该缓存联合的存储器,通过与其他内容存储节点中被分配给缓存联合的存储器相协调的方式进行管理。在一个实施例中,未被分配给缓存联合的存储器用于存储被认为最受欢迎的内容对象。一个内容对象的受欢迎程度可由用户总数量(例如,与一个特定节点、一组节点或整个网络相关联的内容对象请求的数量)、与一个特定内容存储节点相关联的区域人口统计等决定。因此,一个受欢迎的内容对象或标题也许会在许多(或所有)内容存储节点的本地管理的存储器中被多次存储。在一个实施例中,被分配给缓存联合的存储器用于存储,相对未分配给缓存联合的存储器中所存储的内容对象,次受欢迎的内容对象。在各种实施例中,缓存联合中仅存储该等次受欢迎的内容对象的一个副本。例如,假设一个由10个内容存储节点构成的缓存联合存储有总数为10000的次受欢迎的内容对象,该缓存联合的10个内容存储节点中的每一个都分别存有1000(大约)个次受欢迎的内容对象。在其他的实施例中,一些或者所有次受欢迎的内容对象被存储在多个内容存储节点中(虽然不是在所有的内容存储节点中)。缓存联合的作用是将多个内容存储节点或缓存设备的可用存储器抽出,以组成单个大缓存。图3从一单个缓存设备的视角,图示出了局部和联合存储空间。特别地,图3示出了一个父内容存储节点120,其与两个子内容存储节点130-1和130-2通信。内容存储节点 130-2示为与各自子网络中多个客户端设备140通信。与内容存储节点130-2相关联的海量存储设备M0,示为包含分配给联合空间和局部空间的存储空间。图3还示出了一个全局受欢迎度图(GP)和子网受欢迎度图(SP)。该全局受欢迎度图示出了在与内容分发网络(或内容分发网络的地理区域)中所有内容存储节点相关的用户中的内容受欢迎度。子网受欢迎度图示出了在与一个特定的内容存储节点相关的用户中的内容受欢迎度。该等图中每个竖条都与一个或多个具有特定受欢迎度等级(或受欢迎度等级范围)的内容对象相关联,其中该等竖条的长度表示内容对象的相对受欢迎度。也就是说,一个相对较长的竖条表示相对更受欢迎的内容。该局部空间包括由子网用户或客户端设备确定的最受欢迎的文件和内容对象。也就是说,在一个与子网相关联的内容存储节点的局部空间中,存储着一个或多个最受欢迎的分段。由于与其他内容存储节点相关联的子网中的用户或客户端设备也许会在该等其他子网中展现相似的内容偏好或受欢迎度,因此,在内容分发网络中的其他位置,可产生文件和/或内容对象的一个可能的副本。该子网受欢迎度图SP示出了一个特定子网的内容对象的子网受欢迎度的图形表示。联合空间包括该内容分发系统中可用的剩余文件和内容对象中的一部分。也就是说,在与该子网相关联的内容存储节点的联合空间中,将存储一个或多个剩余的受欢迎分段。受欢迎内容对象或标题的其他分段,存储于与一个或多个其他内容存储节点相关联的海量存储设备中所分配的联合空间。需要指出的是,与联合空间相关联的受欢迎度曲线,包括在形成整个联合存储空间或虚拟联合存储空间的多个缓存中存储的分段。基于该等各种实施例的方法,将调整局部和联合存储空间的比例,以及存储在该局部和联合存储空间中的内容对象,以实现向更高效分发内容分发网络中内容对象的渐进发展。该效率,正如在此详述的,反映了内容迁移 /服务器效率,以及带宽利用效率,如层级拓扑的对等通信中的反向信道。在一个实施例中,联合空间包括在整个内容分发网络中受欢迎的文件和内容对象,而未复制在内容分发网络中他处可获取的内容对象。在另一个实施例中,联合空间包括存储在多个内容存储节点中的文件和内容对象。这种联合空间中内容对象的多副本存储,对于内容分发系统中的内容对象的区域分配和/或层级分配的场境特别有用。在本实施例中,联合空间中所存储的内容对象的副本数, 可选地,受限于一个数字或数量阈值。图4从网络视角图示出了局部和联合存储空间。特别地,图4示出了一个父内容存储节点120,其与两个子内容存储节点130-1和130-2通信。该等内容存储节点130中的每一个,示为与各自子网络的客户端设备140通信。内容存储节点130中的每一个都和各自的海量存储设备240相关联。海量存储设备240-1示为将其75%的容量分配给联合空间,25%的容量分配给局部空间。海量存储设备240-2示为将其50%的容量分别分配给联合和局部空间。从网络视角来看,虚拟联合空间410是由两个海量存储设备的联合空间分配来确定的。在增加更多内容存储节点的内容分发网络环境中,随着联合空间被分配的容量增长, 虚拟联合空间410变得越来越大。上述缓存联合能够存储巨量的内容对象,故而能够服务巨量的内容隧道请求。然而,内容对象在缓存联合的内容存储节点中的分布式存储增加了各个内容存储节点间的流量,因为内容对象或标题在缓存设备间被迁移以满足用户的请求。—般来说,缓存联合中的每个缓存设备在其本地存储器中存储有最受欢迎项目的备份。其存储比局部项目次受欢迎、但比未存储在其联合存储中的项目更受欢迎的项目的副本,如果该等项目未存储在其他缓存设备的联合存储中。其将关于其未包含、但存储于该联合中另一缓存设备的内容的请求,路由至该缓存设备。局部和联合存储间的分隔是动态且可变的。用于联合缓存的存储容量控制1)对等链路上的负载和幻缓存设备间链路上的负载。也就是说,可选地,根据缓存设备间的链路使用率,调整存储资源的分配。如果缓存设备间的带宽可用,通过增加联合存储的部分, 联合和局部间的资源分配能够用来减小源服务器的负载。一种特殊情况是,如果联合缓存经一拓扑连接,其中,被交换的流量流过从源缓存设备至下一跳路由器的上行链路,接着下行至目标缓存设备。在大多数网络中,由于互联网流量的不对称性,上行链路未被充分使用,并可被用于缓存协作。下行链路上的负载将变化很小,并且,由于该内容仍需被传递至该目标缓存设备,这种变化应是不可避免的。在这种结构中,缓存设备间交换的流量不和其他流量竞争。在此场景中,例如,将95 %的存储容量用于联合缓存,将5%用于局部缓存,已由发明人确定为一个健壮的设置,该设置较好地工作于很多拓扑,例如下面参照图5所描述的拓扑。图5图示出了几种内容分发网络的拓扑结构。特别地,图5图示出了层级拓扑510 的框图、缓存联合层内连接拓扑520和缓存联合层际连接拓扑530。示例性地,拓扑510-530 中的每一个包括用L1、L2、L3表示的内容存储节点或缓存设备的三层层级,如关于图1中系统100的前述部分。最底层(U)将内容分发给请求该内容的客户端设备C。L1-L2通信资源的成本高于L2-L3通信资源的成本。L2-L3通信资源的成本高于L3-L2客户端通信资源的成本。正如此处所示,各种实施例通过利用内容分发网络中未充分使用的资源来提高该网络的效率。特别地,各种实施例调整在此所述的缓存联合算法,以动态调整内容分发网络中上行链路和下行链路间的负载,从而使层级间上行和下行流量变得更加对称。也就是说, 通过尽可能地平衡L2-L3的流量,可能使L1-L2的流量显著减小。L1-L2流量的这一减小为网络运营者提供了极大的成本节约。通常,分配给联合存储空间的存储容量的增加,增加 L3-L2上行流量的数量并减小L1-L2下行流量的事件。图5分别在拓扑模型510、520-1530的下方,示出对应的柱状图515、525和535。 从左向右,每个柱状图表示L1-L2通信水平/成本、L2-L2通信水平/成本和L2-L3通信水
平/成本。
在层级拓扑510中,该层级Li、L2和L3中每一层的节点或缓存设备,仅与父或子节点通信。缓存联合层内连接拓扑520通过增加L2-L2通信来改进层级拓扑510。所增加的L2-L2通信运行,以减少L1-L2通信,并从而降低了 L1-L2通信的成本。相似地,缓存联合层际连接拓扑530通过增加额外的L2-L3通信信道来改进层级拓扑510。所增加的L2-L3 通信信道也运行,以减少L1-L2通信,并从而降低了 L1-L2通信的成本。因此,实施例预见利用拓扑构建的内容分发网络,该等拓扑基于图5中所示特定拓扑510-530中的任一个。备选实施例预见利用这些拓扑的变形构建的内容分发网络,例如,增加L2-L2链路或通信信道,以及额外的L2-L3链路或通信信道。上文中参照图1和图5的所述的内容分发网络(CDN)拓扑结构,提供了一种内容存储节点(CSN)的层级排布,其中,最低层级的内容存储节点与各自的客户端组相关联,较高层级的内容存储节点与各自较低层级的内容分发节点组相关联,等等。多个顶层内容存储节点中每一个都示为与内容汇聚节点110通信。需要注意的是,和内容汇聚节点110相关联的功能,可通过诸如一个或多个顶层内容存储节点来执行。网络管理设备利用多种存储分配方法,以趋于改善效率和降低成本的方式,来调整任一拓扑中内容缓存设备或内容存储节点中联合和局部空间的分配。如前所述,网络拓扑结构的变化,例如增加或删除对等链路、层际连接或层内连接,以及通信信道过载(即, 带宽使用率超过预期特定水平)等等,供网络管理设备使用,来可信赖地调整一个或多个内容存储节点中联合/局部空间的分配。图6示出了基于一个实施例的存储分配方法的流程图。例如,存储分配方法600 适用于内容存储节点,如参照图1的前述内容存储节点。方法600开始于步骤610,当接收到一个关于内容对象的请求时,例如从一个客户端140接收该请求.在步骤620中,所请求的内容对象的效用被确定。也就是说,参照方框625,利用一个或多个下列因素,来确定与该内容对象相关的效用参数该内容对象的受欢迎度,该内容对象的文件大小,该内容对象的位置,获取该内容对象的成本消耗和/或其他因素。在步骤630中,所请求的内容对象的位置被确定。也就是说,参照方框635,确定该所请求的内容对象是否存储在本地存储设备的局部空间、本地存储设备的联合空间、远程存储设备的联合空间、内容库或其他内容源中。在步骤640中,开始向请求用户提供该内容对象。也就是说,在各种实施例中,在请求用户和与所请求的内容对象相关联的服务器间建立会话,其中,所请求的内容对象以内容流或文件的形式传送给该用户。在步骤650中,如与所请求的内容对象相关联的效用参数所指示,执行内容晋级/ 降级方法。参照方框645,所请求的内容对象根据其效用水平被优先地存储在(按优先级的降序)本地存储设备的局部空间、本地存储设备的联合空间以及远程存储设备的联合空间。假设本地存储设备的局部空间已被充分利用,所请求的内容对象在该局部空间中的存储,要求从局部空间中删除(即,降级)一个现已存储的内容对象。然后,从局部空间中被降级的内容对象(或所请求的内容项目,若其效用水平太低)将优先被存储在本地存储设备的联合空间中,这也许依次要求从这个联合空间中删除(降级)一个现已存储的项目。接着,效用水平最低的所请求的内容对象或被降级的内容对象,优先被存储在另一内容存储节点的联合空间中。一个内容晋级/降级方法的实施例将在下文参照图7论述。可选地,对与所请求内容相关联的晋级/降级方法进行调整,以响应副本数量较高阈值和副本数量较低阈值中之一或两者。在一个实施例中,副本数量较高阈值为可存储在联合空间中的内容对象的副本的最大数量。在一个实施例中,副本数量较低阈值为可存储在联合空间中内容对象的副本的最大数量,其中一个额外副本的存储将会导致另一内容对象的删除/降级。在其他实施例中,只有单个副本数量阈值和每个内容对象相关联,该单个副本数量阈值表示内容对象在联合空间中可被存储的次数。应该理解,在各种实施例中,存储决策的频率也许高于内容分发系统中交换的信息,以至于副本的实际数量也许会变化。因此,在任一给定时间,副本的数量也许比目标值 /阈值小或者大。在步骤660中,视情况执行本地存储的分配。也就是说,在步骤660中,海量存储设备中局部空间分配和联合空间分配的比例视情况被调整。参照方框665,调整该分配,以响应带宽成本变化(即,L1-L2或L2-L2带宽成本的减小或增大)、存储成本的变化(即,海量存储或缓存存储成本的减小或增加)、拓扑结构的变化(例如上述参照图5所示)和/或其他因素。本领域技术人员应该理解,尽管图6的方法600示为以一个特定的顺序实现步骤, 但可在仍在实践本发明时调整该特定顺序。例如,提供内容对象(640)给请求用户的步骤, 可在确定所请求的内容对象的效用(620)、执行任何与所请求的内容对象相关的晋级/降级操作(650)或执行任何本地存储再分配操作(660)等步骤之前或之后启动执行。类似地, 本地存储再分配步骤(660)可在任何时间执行。图7示出了一个内容晋级/降级方法的流程图。图7的内容晋级/降级方法适用于,例如,图6的存储再分配方法600。方法700开始于步骤710,当所请求的内容对象的效用与存储在局部空间中的内容对象的效用相比较时。如果所请求的内容对象的效用未大于局部空间现有的内容对象的效用,则该方法跳转至步骤740。否则,在步骤720和730中,所请求的内容对象在局部空间中,替代具有较低效用的局部空间现有的内容对象。特别地,在步骤720中,所请求的内容对象被存储在(即,晋级至)该局部空间,而在步骤730中,局部空间现有的内容对象被从局部空间中移除(即,降级)。在步骤740中,被降级的局部空间的内容对象(或所请求的内容对象,若步骤710 中的查询被否定回答)的效用,被与存储在联合空间的内容对象的效用相比较。如果被降级的局部空间的内容对象(或未被晋级的所请求的内容对象)具有比联合空间现有的内容对象更大的效用,则该方法跳转至步骤750。否则,该方法结束。在步骤750中,确定被降级的局部空间的内容对象(或未被晋级的所请求的内容对象)在联合空间所存储的副本的数量是否超过数量阈值。如果是,则该方法结束。否则, 在步骤760和770中,被降级的局部空间的内容对象(或未被晋级的所请求的内容对象)在联合空间中,替换具有较低效用的联合空间现有的内容对象。特别地,在步骤760中,被降级的局部空间的内容对象(或未被晋级的所请求的内容对象)被存储在联合空间中,而在步骤770中,具有较低效用的联合空间现有的内容对象从联合空间中被移除(即,降级)。本领域技术人员应该理解,尽管图7的方法700示为以一个特定的顺序实现步骤,但可在实践本发明时调整该特定顺序。此外,应能理解,可修改此处参照附图阐述的各实施例,以响应与不同内容对象相关联的不同文件大小。例如,文件相对较小的多个内容对象可能被晋级和/或降级,分别地,对文件相对较大的内容对象执行降级和/或晋级。例如,一个高效用的、具有庞大文件的内容对象,可替代局部空间中两个或更多个内容对象。该等被代替或降级的内容对象自身可替代联合空间中多个内容对象。在一个实施例中,其中,被替代或者被降级的内容对象中只有一个能被插入联合空间中,确定优先选择具有最高效用的内容对象。如果存在空间不足,那么尽可能插入文件较小的内容对象。此处描述的方法运行,以随内容受欢迎度的变化,递增地和/或逐步地调整海量存储设备中局部空间和联合空间的分配比例。那些趋于极受欢迎的内容对象,随时间流逝, 将被存储在内容存储节点的局部空间中。那些趋于极不受欢迎的内容对象,随时间流逝,将被从局部空间中移除降级,并仅存储在联合空间中,或者,如果足够不受欢迎,仅存储在内容库或其他非缓存位置中。假设内容对象受欢迎度(例如,参照图3的上述标注)为正态分布曲线,各种实施例运行,以便在各内容存储节点或缓存设备中的每一个的局部空间和联合空间之间,平衡基于受欢迎度的内容对象的存储。一个实施例中提供了一种改进的缓存管理方法,其中,在内容分发网络中,调整多个内容存储节点中内容缓存的操作,以逐渐由个体缓存转向协作缓存。在此情况下,因减少内容的复制而提高的缓存效率,与因增加本地受欢迎内容的副本而提升的效率相平衡。也就是说,尽管完全缓存协作显著降低了指向源服务器的带宽(其直接转换为关于互联网服务提供商的对等链路的带宽节省),但完全缓存协作也确实增加了缓存设备间的交互流量的总量。通过智能地选择缓存协作的阈值水平,一个基于多种实施例的内容分发网络利用其可用资源来减少对等链路。在各种实施例中,提供一种回转(U turn)配置,其中,内容存储节点利用通常未被使用的带宽来再分发内容。本发明为支持内容传播和/或分发的网络运营者提供了显著的优势,所述网络运营者能够将存储设备放置在网络中,并知悉底层网络拓扑结构。优势包括带宽成本的节约、 闲置资源的利用率提高和改善的客户服务。所提出的方案使用网络内部一组分布式缓存节点间的协作,以及底层网络拓扑结构的信息,以通过利用磁盘空间和闲置的上行链路的容量,降低传输带宽的成本。在一个实施例中,服务于一个具有很强人口偏好的地理区域的内容存储节点,将趋向于接收关于内容对象的请求,该等内容对象在他处,特别是对网络中同层的其他节点, 一般较少被关注。该方案将使该节点将其可用存储中的大部分用于其局部部分,其中,该局部部分将为其所服务群体保存最受欢迎的对象。小部分存储将被用作联合空间,并将保存在整个网络中适度受欢迎的内容对象。局部空间和联合空间的比例,根据族群内容和一般兴趣内容的比例来被调整。因此,这部分网络的流量中的相当部分在本地得到服务,从而改善响应速率并减少该节点的上行链路的使用率。在另一个实施例中,一给定对象的全局受欢迎度的突然增加,将会使整个网络中保持其多个副本。每个副本将被存储在节点的局部缓存部分,这会缓解来自源节点的流量, 并支持网络适应流量模式中该突变,同时保持低响应时间和增强的响应能力。在另一个实施例中,曾很受欢迎但受欢迎程度开始降低的对象,将开始逐渐从网络所有缓存设备的局部部分中被移除,并将被存储在一个节点的联合部分。由于其受欢迎水平持续降低,其最终将被从所有存储空间中移除。使用这种办法,该对象将被从网络内部提供,而不需要从内容源中获取它,只要其全局受欢迎水平允许它被存储。在本发明的另一个实施例中,一个被添加到网络中的新的缓存启用节点,开始将其联合部分存储添加到全局池中,因而增加了全体容量并减小了该网络的上行和下行带宽的使用率。网络中的所有节点或许最终会根据新池的大小和当前内容受欢迎程度,重新分发其自身分段大小。尽管此处已展现并详细说明各种包含本发明教义的实施例,但本领域技术人员仍能够容易地设想许多包含上述教义的其他变化的实施例。
权利要求
1.一种用于分配多个可用内容对象的内容分发系统,包括多个内容存储节点,每个内容存储节点包括适用于与至少一个其他网络节点通信的网络节点,以及包含被分配给局部空间的第一内存部分和被分配给联合空间的第二存储部分的存储设备;其中,每个内容存储节点的所述局部空间适用于存储具有较高效用水平的可用内容对象;每个内容存储节点的所述联合空间适用于与其他内容存储节点的联合空间协作来存储至少一部分具有较低效用水平的可用内容对象;并且,内容对象随内容对象效用水平的差异来在局部空间和联合空间之间被迁移。
2.根据权利要求1所述的内容分发系统,其中多个最低层级的内容存储节点中的每个和适用于与客户端设备通信的子网相关联;并且,每个最低层级的内容存储节点,在其局部空间中,优先存储被经由各自的子网请求最多的内容对象。
3.如权利要求2所述的内容分发系统,其中,每个最低层级的内容存储节点,在虚拟联合空间中,优先存储自其局部空间降级的内容对象,所述虚拟联合空间是通过逻辑组合每个内容存储节点的联合空间来建立。
4.如权利要求2所述的内容分发系统,其中,一组最低层级的内容存储节点经由各自与共同父内容存储节点间的通信路径来接收内容对象,其中,所述内容对象通过所述共同父内容存储节点来在该组最低等级的内容存储节点的成员间被移动。
5.根据权利要求4所述的内容分发系统,其中,多个父内容存储节点中的每个经由各自与较高层级内容存储节点间的通信路径来接收内容对象,其中,内容对象通过该较高层级内容存储节点来在所述多个父内容存储节点间被移动。
6.根据权利要求1所述的内容分发系统,其中,该内容分发系统包括至少两个经由对等通信信道来互相通信的顶层内容存储节点,每个顶层内容存储节点各自具有与其关联的一组较低层级内容存储节点,其中,内容对象通过该对等通信信道来在各组较低层级内容存储节点间被移动。
7.如权利要求1所述的内容分发系统,其中第一较高层级内容存储节点与第一组较低层级内容存储节点相关联;第二较高层级内容存储节点与第二组较低层级内容存储节点相关联;其中,内容对象经由层际通信信道,在所述第一较高层级内容存储节点和所述第二组较低层级内容存储节点中一内容存储节点之间被移动。
8.根据权利要求1所述的内容分发系统,还包括内容管理设备,其适用于管理内容存储节点的存储设备中联合空间的分配,该内容管理设备调整局部空间和联合空间的分配, 以响应网络带宽成本和存储设备成本中至少一项的变化。
9.在包括多个内容存储节点的内容分发系统中,每个内容存储节点包括被分配于局部空间和联合空间之间的存储设备,一种调整内容存储的方法,包括在内容存储节点中接收内容对象请求;当该内容存储节点的局部空间中所存储的内容对象的效用水平低于所请求的内容对象的效用水平时,采用所请求的内容对象替换局部空间中所存储的内容对象;当联合空间中所存储的内容对象的效用水平低于所请求的内容对象的效用水平,且所请求的内容对象没有替换局部空间中所存储的内容对象时,用所请求的内容对象替换联合空间中所存储的内容对象;当联合空间中所存储的内容对象的效用水平低于被替换的局部空间的内容对象的效用水平时,用所述被替换的局部空间内容对象替换联合空间中所存储的内容对象。
10. 一种存储软件程序的计算机可读介质,当该软件程序被计算机运行时,使得所述计算机执行一种调整内容存储的方法,该方法包括-在内容存储节点中接收内容对象请求,其中,该内容存储节点位于包含多个内容存储节点的内容分发系统中,每个内容存储节点包括被分配于局部空间和联合空间之间的存储设备;-当该内容存储节点的局部空间中所存储的内容对象的效用水平低于所请求的内容对象的效用水平时,用所请求的内容对象替换局部空间中所存储的内容对象;-当联合空间中所存储的内容对象的效用水平低于所请求的内容对象的效用水平,且所请求的内容对象没有替换局部空间中所存储的内容对象时,用所请求的内容对象替换联合空间中所存储的内容对象;-当联合空间中所存储的内容对象的效用水平低于被替换的局部空间的内容对象的效用水平时,用所述被替换的局部空间的内容对象替换联合空间中所存储的内容对象。
全文摘要
内容分发网络包含包括存储空间的内容存储节点或缓存设备层级结构,该存储空间被分配给用于存储局部受欢迎内容对象的局部空间和部分次受欢迎内容对象的联合空间。局部空间和联合空间以内容对象受到欢迎度和/或其他效用因素为基础。优选地,父/子(上行/下行)通信信道被用于在相同或不同层级的内容存储节点或缓存设备间迁移内容,以避免利用更高代价的顶层通信信道。
文档编号G06F17/30GK102326161SQ201080008854
公开日2012年1月18日 申请日期2010年2月4日 优先权日2009年2月20日
发明者亚埃罗·O·埃斯特万, 伊维卡·里马克, 安德烈·贝克, 沃尔克·西尔特 申请人:阿尔卡特朗讯
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1