在内容分发网络中自组织的高速缓存的方法和装置的制作方法

文档序号:7734872阅读:107来源:国知局
专利名称:在内容分发网络中自组织的高速缓存的方法和装置的制作方法
技术领域
本发明涉及内容高速缓存技术,更具体地,涉及在内容分发网络中自组织的内容 高速缓存的方法和装置。
背景技术
内容分发网络或内容分布网络(CDN)向最终用户分发内容(例如大型媒体内容)。 在内容分发网络中的节点彼此协作,以满足最终用户的内容请求。典型地,内容分发网络采 用一个或多个优化技术来改善分发处理。例如,内容分发网络通常优化分发处理以减少带 宽成本,改善最终用户体验、或两者。当为了最终用户体验而优化时,例如,典型地向能够快 速将内容分发至用户的节点发送用户请求(例如,通过选择具有最少跳数或与请求者为最 少网络时间数的节点)。通常,内容分发网络中的节点将一个用户请求的内容存储在高速缓存中,用于随 后向一个或多个额外用户分发。这样,由期望相同的被高速缓存的项目的相同节点服务的 其他用户可以从该高速缓存获得该项目。一般地,由内容分布公司(例如剑桥,MA的Akamai 技术公司)使用的现有高速缓存方案被设计用于相对小的内容(在兆字节或更少的量级) 和用于因特网型网络。这样的内容分发网络提供了有效的高速缓存,其中被请求的内容通 常存储在相对接近于最终用户的集群中。结果,大部分被请求的文件不必从原始服务器传 输而到达每个目的地,节省了在每个跳的带宽使用,并且还降低了延迟。随着下一代网络应用(例如视频点播(VOD)和因特网电视服务)的逐渐普及,在 高速缓存中要存储的文件的数目和大小显著增加。例如,具有适当高分辨率格式的两小时 完整故事片可能在5GB的量级(类似于DVD的存储需求)。因此,高速缓存容量问题逐渐变 得明显,很容易联想到具有100兆兆字节的量级的高速缓存容量。类似地,由于良好的高速 缓存方案带来的带宽节省可能对于大型内容分发网络中的带宽需求存在很大影响。因此,需要在大型内容分发网络中有效地使用高速缓存并减少所需的带宽的高速 缓存技术。与较小大小的内容(KB至MB大小)不同,这种类型的内容典型地由视频内容所 有者/提供商拥有。因此,这种内容仅可在典型地私有网络(很可能为这种类型的内容分 发而构成)中的特定节点中高速缓存。为了避免在如今的内容分发网络中对于特定项目及 其流行性分布进行的最佳位置的恒定计算的大量开销,需要在这种内容分发网络中的自组 织的高速缓存技术。这样,可以在无需大量监视或管理的情况下组织高速缓存中存储的数 据。

发明内容
一般地,提供用于在内容分发网络中自组织的高速缓存的方法和装置。其中,“自 组织的”意味着不依赖于外部代理提供内容流行性或需求分布的预报的高速缓存方案。此 外,自组织的机制典型地避免了为了内容组织的目的在节点之间的显式通信,并且相反,依 赖于出现在每个高速缓存节点本地的需求模式确定行为的过程。
根据本发明的一方面,在内容分发网络中的节点处高速缓存一个或多个内容项 目。公开的方法确定所述内容项目是否存储在本地高速缓存中;以及,如果所述内容项目没 有存储在本地高速缓存中,则执行以下步骤从另一节点请求所述内容项目;以及如果满 足一个或多个预定容量标准,则在所述本地高速缓存中存储所述内容项目。所述内容分发 网络可以是分级网络或非分级网络。在示例性分级网络方案中,从最终用户或子节点接收对于内容项目的请求。如果 所述内容项目没有存储在本地高速缓存中,则从父节点请求所述内容项目。此外,一旦获 得,则将所述内容项目提供至请求最终用户或子节点。所述预定容量标准可评估所述内容项目相对于所述本地高速缓存中存储的其他 项目的流行指数。例如,所述预定容量标准可评估所述内容项目相对于所述本地高速缓存 的容量的存储器需求以及在所述本地高速缓存中存储的其他项目的存储器需求。通过参照以下具体实施方式
和附图将获得本发明的更完整理解以及本发明的其 他特征和优点。


图1示出在其中可实现本发明的示例性分级网络环境;图2示出根据本发明的在图1的示例性分级网络环境中的最终用户请求;图3是根据本发明的示例性节点的框图;图4是描述结合本发明特征的自组织高速缓存处理的示例性方案的流程图;以及图5是结合本发明特征的来自示例性高速缓存指数的示例性表。
具体实施例方式本发明提供了一种高速缓存处理,其对于分级和非分级网络具有相对少的通信和 计算开销。分级网络通常用于顾客访问网络中,例如由电话公司实现的那些网络(例如采 用公共交换电话网络(PSTN)的那些网络)。逐渐地,比电话服务更多地使用电话接入宽带 网络。例如,许多电话公司如今在电话接入网络上提供宽带因特网服务和视频分发服务。值 得一提地,电话接入网络通常是具有用于存储与电视和视频点播服务相关的大型文件的大 量互连的存储容量的可靠网络。图1示出在其中可实现本发明的示例性分级网络环境100。应注意,图1中的节点 表示仅用于图示,对于提出的方案则不需要。对于适当的分级网络环境100的更具体讨论, 例如见“Engineering and Operations in the Bell System,,,Bell 电话实验室,第 2 版, Hardcover, 1978年,通过引用合并于此。如图1所示,示例性分级网络环境100包括首端服务器110、一个或多个路由器 120-1至120-N(以下,统称为路由器120)、一个或多个中心局130-1至130_N(以下,统称 为中心局130)、一个或多个DSLAM(数字订户线路接入复用器)140-1至140_N(以下,统称 为DSLAM 140),所有这些以公知方式排列在分级的、树状配置中。每个最终用户150-1至 150-N(以下,统称为最终用户150)通过DSLAM 140连接至网络100。本发明的高速缓存过程可在示例性分级网络环境100的任意层中通过任意节点 110、120、130、140实现。以下结合图3进一步讨论根据本发明的示例性节点300。
一般地,来自最终用户150的请求到达叶节点(即,到达与最终用户150相关的 DSLAM 140)。此外,所有支持的内容通常在首端(HE)110(这是树100的根)处是可用的。 此外,内容可以在一个或多个中间节点处高速缓存。应注意,被请求的内容(这里还称为内 容项目)可包括完整长度项目(例如完整长度电影)以及完整长度项目的一个或多个片 段。对于流行的内容项目的实例,考虑电影“The Wizard of 0z”。对于这个内容项目的片段 的实例(甚至可以比完整项目更加流行),考虑包含流行表达“Toto,I’ ve got a feeling we,re not in Kansas anymore.,,的片段。图2示出根据本发明的在图1的示例性分级网络环境100中的最终用户请求。如 图2所示,最终用户150-m请求内容项目A。父节点(DSLAM140-1)确定内容项目A不在其 高速缓存中。因此,DSLAM 140-1从其自身的父节点(中心局130_k)请求内容项目Α。在 这个实例中,中心局130-k具有内容项目A的副本。因此,中心局130-k向DSLAM 140-1提 供内容项目A。DSLAM 140-1向最终用户150_m分发项目A,并且还在其高速缓存中存储项 目A,例如,如果项目A的指数高于在DSLAM 140-1的高速缓存中的其他项目的指数(以下 结合图4进一步讨论)。随时间过去,在中心局130-k处的项目A的指数可能小于其他项 目,因此最终从中心局130-k的高速缓存删除。项目A保留在下述节点的高速缓存中最接 近于比其他最终节点更常请求他的最终节点的那些节点。图3是根据本发明的示例性节点300的框图。如图3所示,存储器300配置处理 器320以实现这里公开的自组织的高速缓存过程、步骤、和功能(共同地,如图3中的400所 示,并且以下结合图4进一步讨论)。存储器330可以是分布式或本地的,并且处理器320 可以是分布式或单独的。存储器330可以实现为电、磁、或光存储器、或这些和其他类型存 储设备的任意组合。应注意,构成处理器320的每个分布式处理器通常包含其自身可寻址 存储器空间。还应注意,一些或所有计算机系统300可集成到个人计算机、服务器、膝上型 计算机、手持计算设备、专用电路或通用集成电路中。此外,每个示例性节点300具有相关 的高速缓存;340。图4是描述结合本发明特征的自组织高速缓存处理400的示例性方案的流程图。 如图4所示,在步骤410期间,自组织高速缓存处理400首先确定是否从子节点接收到内容 请求。应注意,对于内容项目(例如视频或电影)的请求根据具有不同到达参数(表示项 目的流行性)的某些分布(例如Poisson分布)到达分级100的最低层(叶节点150)。例 如,评估出仅所有可用主题的10%由顾客的95%的请求。因此,根据本发明的流行内容项 目的高速缓存可能在这样的需求环境中是非常有效的。一旦接收到内容请求,在步骤420期间,增加在高速缓存指数500中对于内容项目 的日志记录,以下结合图5进一步讨论。在步骤430期间,执行进一步测试,以确定被请求 的内容是否已经在本地高速缓存340中。如果在步骤430期间确定被请求的内容已经在本 地高速缓存340中,则在步骤440期间,向请求者分发被请求的内容。然而,如果在步骤430期间确定被请求的内容不在本地高速缓存340中,则在步骤 450期间,从父节点请求被请求的内容的副本。一旦从父节点接收到被请求的内容,则在步 骤460期间,向请求子节点发送被请求的内容。最后,在步骤470期间,如果被请求的内容 的指数大于高速缓存340的容量位置510和大小模块540 (图幻,则在本地高速缓存340中 存储被请求的内容。因此,如果在本地高速缓存340中存在空间,则在内容请求到达时,每个节点始终高速缓存被请求的内容。如果没有足够的存储空间,则节点计算项目的“指数”, 并且挤掉在其高速缓存340中具有最低指数的项目,以高速缓存新项目(其必须具有比所 有那些被挤掉的项目更高的指数)。在一个示例性方案中,将节点处的项目的“指数”定义 为从该节点至今请求项目的次数(例如流行性测量)。在其他变型中,通过具有“窗口”和 /或重定义指数以考虑更复杂(时间)的成本结构来提供动态的内容。这样,过程400开始于高速缓存被请求的项目的叶节点140,以及还开始于沿着到 首端Iio的路线还高速缓存各个被请求的项目的节点130、120。然而,随时间过去,在分级 的底部(并且更接近于其中项目是流行的叶节点140)高速缓存最流行的条目,而不流行的 条目高速缓存在更接近于首端110处。在分级中的更高层的节点具有不同的顾客,并且看 到不同的流行性分布(导致在不同层和不同叶节点处高速缓存不同内容项目)。这样减少 了从首端110或从父或祖父重复获得项目的“成本”,同时从更高层的高速缓存清除当前在 接近于叶节点140处高速缓存的那些流行的内容项目。例如,流行的电影可能在所有DSLAM 140之间是流行的,由此流行的电影可以被 高速缓存在所有DSLAM 140处,但是不存储在分级100中的下一上层的高速缓存中,在从 DSLAM 140的高速缓存340分发电影时,流行电影的下一层的请求消失。一般地,分级100 的更高层看到流行项目的请求,他们不足以流行被高速缓存在更低层。图5是结合本发明特征的来自示例性高速缓存指数500的示例性表。在每个网络 节点处可建立指数,在必要时,可在无需与其他节点额外通信的情况下用于从高速缓存340 增加或删除内容。应注意,可通过使用尼尔森(Melsen)型等级作为事前分布来强制计算 指数,使得方案更快收敛,如果这样的数据可用并且可自由分发至分级100的节点。在图5 所示的示例性方案中,每个节点仅跟踪由其子节点从中请求项目的次数。如图5所示,高速缓存指数500包括多个记录,每个与不同内容项目相关。对于每 个内容项目,在字段520中存在内容标识符,在字段530中存在请求计数(指示内容项目被 请求的次数),以及存在大小模块M0。此外,高速缓存指数500具有高速缓存容量指示符 510,其识别本地高速缓存345的当前容量。一般地,如果给定内容项目的指数大于高速缓 存容量510,则在本地高速缓存340中存储该项目。然而,如果给定内容项目的指数小于高 速缓存容量510,则在本地高速缓存340中不存储该项目。大小模块540指示每个被请求的 内容项目的存储器需求。此外,记录550指示对于内容项目A、B和C的组合存储器需求小 于高速缓存容量(C)510,但是具有额外内容项目D,则超过高速缓存容量(C)510。在图5所示的实例中,项目D被请求了 83次。在下次项目D被请求时,计数将增 加至84。由于容量510将不允许存储项目D,所以他将不被存储,直到项目D的指数超过项 目C的指数。因此,一旦请求计数增加至85 (用项目D替换项目C),则将在高速缓存中存储 项目D。一般地,如果C (A) +C (B) +C (D)彡C则存储D0可以显示出,本发明最小化了以下表达式,对于m的所有值Σ mXh其中m是下载项目的大小,h是向用户分发信息的跳成本,其可表示为在信息源和 最终用户之间遍历的跳数。因此,本发明的优点可以是随下载项目的大小而增加(当考虑 组合了高速缓存和传输的成本时)。因此,本发明可大大降低在网络100中每个跳上的带宽需求。
在本发明的其他优点方面,不存在节点之间交换的额外“状态”,除了从其父节点 (对于在其高速缓存中不存在的项目时)请求项目,这必然会发生。因此,公开的方案可能 需要零“状态”。同样,随时间过去,内容根据他们的流行性从首端110向下游高速缓存中移 动,因此仅基于他们的流行性自组织高速缓存。Mrk尽管在图1中所示的示例性网络环境100是分级(树)网络,但是该网络还可在非 分级网络中实现,这对于本领域普通技术人员是清楚的。在分级网络中,在两个点之间存在 唯一的、可预测的路径。然而,在非分级网络中,在两个点之间可能存在多条路径。因此,在 网络中的给定节点可能看到给定请求,或者可能看不到给定请求。在对于非分级网络的一 个示例性方案中,组织路由,从而实现用于两个点之间的路由的结构。例如,如果在点A和 B之间存在两条路径,则路由结构可确保50%的请求在每条路径上传输。对于可选择的IP 视频网络的讨论,参见“Video Over IP”,http //www, lightreading. com/document, asp ? site = liRhtreadinR&doc id = 40811&paRRe number = 4,这里通过弓I用合并于此。尽管图4示出了步骤的示例性序列,但是在本发明的实施例中可以改变顺序。算 法的各种排列看作本发明的可选实施例。尽管针对软件程序中的处理步骤描述了本发明的示例性实施例,本领域普通技术 人员清楚,各个功能可以在数字域中作为软件程序中的处理步骤、通过电路元件或状态机 在硬件中、或在软件和硬件的组合中实现。这种软件可用在例如数字信号处理器、微控制 器、或通用计算机中。这种硬件和软件可在集成电路中实现的电路中实施。因此,本发明的功能可通过方法和实践这些方法的装置来实施。本发明的一个或 多个方面可通过程序代码的形式来实施,例如,存储在存储介质中,加载在机器中和/或由 机器执行,或在某些传输介质上传输,其中当程序代码加载在机器(例如计算机)中和由机 器执行时,机器变为实践本发明的装置。当在通用处理器上实现时,程序代码段与处理器组 合,以提供模拟地运行特定逻辑电路的设备。本发明还可在集成电路、数字信号处理器、微 处理器、和微控制器中的一个或多个中实现。系统和制造物品的细节本领域已知地,这里讨论的方法和装置可作为制造物品来分布,其自身包括计算 机可读介质,具有在上面实现的计算机可读代码装置。计算机可读程序代码装置可结合计 算机系统操作为执行所有或某些步骤,以执行方法或创建这里讨论的装置。计算机可读介 质可以是可读介质(例如软盘、硬盘驱动器、压缩盘、存储器卡、半导体设备、芯片、专用集 成电路(ASIC))或可以是传输介质(例如包括光纤、万维网、电缆、或使用时分多址、码分多 址、或其他射频信道的无线信道的网络)。可使用已知地或开发地可存储适用于计算机系统 的信息的任意介质。计算机可读代码装置是允许计算机读取指令和数据的任意介质,例如 磁介质上的磁变型或压缩盘的表面上的高变型。这里所述的计算机系统和服务器均包含存储器,其可配置相关处理器以实现这里 公开的方法、步骤、和功能。存储器可以是分布式或局部的,以及处理器可以是分布式或独 立的。存储器可以实现为电、磁、或光存储器、或这些或其他类型存储设备的任意组合。此 外,术语“存储器”应广泛地理解,以足以包含能够从相关处理器访问的可寻址空间中的地 址读取或向其写入的任意信息。利用这个定义,网络上的信息仍旧在存储器中,因为相关处理器可从网络提取信息。 可理解,这里所示和所述的实施例和变型仅是本发明原理的示例性表示,在不脱 离本发明的范围和精神的情况下可通过本领域普通技术人员进行各种修改。
权利要求
1.一种在内容分发网络中的节点处高速缓存一个或多个内容项目的方法,包括以下步骤接收对于内容项目的请求;确定所述内容项目是否存储在本地高速缓存中;以及 如果所述内容项目没有存储在本地高速缓存中,则执行以下步骤 从另一节点请求所述内容项目;以及如果满足一个或多个预定容量标准,则在所述本地高速缓存中存储所述内容项目。
2.如权利要求1所述的方法,其中所述另一节点是分级网络中的父节点。
3.如权利要求1所述的方法,其中所述预定容量标准评估所述内容项目相对于所述本 地高速缓存中存储的其他项目的流行指数。
4.如权利要求1所述的方法,其中所述预定容量标准评估所述内容项目相对于所述本 地高速缓存的容量的存储器需求以及在所述本地高速缓存中存储的其他项目的存储器需 求。
5.一种在内容分发网络中的节点处高速缓存一个或多个内容项目的装置,所述装置包括存储器;以及至少一个处理器,耦合至所述存储器,可操作为 接收对于内容项目的请求;确定所述内容项目是否存储在本地高速缓存中;以及 如果所述内容项目没有存储在本地高速缓存中,则执行以下步骤 从另一节点请求所述内容项目;以及如果满足预定容量标准,则在所述本地高速缓存中存储所述内容项目。
6.如权利要求5所述的装置,其中所述预定容量标准评估所述内容项目相对于所述本 地高速缓存的容量的存储器需求以及在所述本地高速缓存中存储的其他项目的存储器需 求。
7.如权利要求5所述的装置,其中所述另一节点是分级网络中的父节点。
8.如权利要求5所述的装置,其中所述预定容量标准评估所述内容项目相对于所述本 地高速缓存中存储的其他项目的流行指数。
9.一种在内容分发网络中的节点处高速缓存一个或多个内容项目的制品,包括机器可 读存储介质,其包含在执行时实现以下步骤的一个或多个程序接收对于内容项目的请求;确定所述内容项目是否存储在本地高速缓存中;以及 如果所述内容项目没有存储在本地高速缓存中,则执行以下步骤 从另一节点请求所述内容项目;以及如果满足预定容量标准,则在所述本地高速缓存中存储所述内容项目。
10.如权利要求9所述的制品,其中所述预定容量标准评估所述内容项目相对于所述 本地高速缓存的容量的存储器需求以及在所述本地高速缓存中存储的其他项目的存储器需求。
全文摘要
提供了在内容分发网络中自组织的高速缓存的方法和装置。在内容分发网络中的节点处高速缓存一个或多个被请求的内容项目。公开的方法确定内容项目是否存储在本地高速缓存中;以及如果所述内容项目没有存储在本地高速缓存中,则执行以下步骤从另一节点请求所述内容项目;以及如果满足一个或多个预定容量标准,则在所述本地高速缓存中存储所述内容项目。所述内容分发网络可以是分级网络或非分级网络。所述预定容量标准可评估所述内容项目相对于所述本地高速缓存中存储的其他项目的流行指数。
文档编号H04N21/231GK102067617SQ200980123207
公开日2011年5月18日 申请日期2009年5月4日 优先权日2008年6月20日
发明者I·萨尼 申请人:阿尔卡特朗讯美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1