CN103477601B - 用于网络友好协同缓存的方法和设备 - Google Patents

用于网络友好协同缓存的方法和设备 Download PDF

Info

Publication number
CN103477601B
CN103477601B CN201180037781.6A CN201180037781A CN103477601B CN 103477601 B CN103477601 B CN 103477601B CN 201180037781 A CN201180037781 A CN 201180037781A CN 103477601 B CN103477601 B CN 103477601B
Authority
CN
China
Prior art keywords
node
network
content
sigma
forall
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.)
Active
Application number
CN201180037781.6A
Other languages
English (en)
Other versions
CN103477601A (zh
Inventor
谢海永
施广宇
王国强
王鹏威
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103477601A publication Critical patent/CN103477601A/zh
Application granted granted Critical
Publication of CN103477601B publication Critical patent/CN103477601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种设备,所述设备包括第一面向内容的网络体系结构(CONA)节点,用于与至少一个第二CONA节点耦合并根据某准则实施协同缓存,所述准则包括至少一个内容缓存目标和至少一个网络运营目标,其中所述内容缓存目标与所述网络运营目标一致。还公开了一种网络部件,所述网络部件包括:缓存策略引擎,所述缓存策略引擎用于接收网络策略信息并根据所述网络策略信息计算缓存策略;缓存器内部数据传输部件,所述缓存器内部传输部件耦合到所述缓存策略引擎并且用于根据所述缓存策略提取多个内容对象部分;存储引擎,所述存储引擎耦合到所述缓存器内部数据传输部件并且用于缓存所述内容对象部分;以及移出算法部件,所述移出算法部件耦合到所述存储引擎并且用于确定要移出的已缓存内容对象部分,如果有的话。

Description

用于网络友好协同缓存的方法和设备
相关申请案交叉参考
本发明要求2010年12月28日递交的发明名称为“用于网络友好协同缓存的方法和设备(Method and Apparatus forNetwork-Friendly Collaborative Caching)”的第12979584号美国专利申请案的在先申请优先权,该专利申请案要求2010年7月2日由谢海永(Haiyong Xie)等人递交的发明名称为“用于网络友好协同缓存的方法和设备(Method and Apparatus for Network-FriendlyCollaborative Caching)”的第61/361,262号美国临时专利申请案的在先申请优先权,这两个在先申请的内容以全文引入的方式并入本文本中。
关于由联邦政府赞助的
研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
技术领域
本发明涉及通信技术,且确切地说涉及一种用于网络友好协同缓存的方法和设备。
背景技术
一些网络向用户提供诸如按需输出的内容或服务。在这类网络中,例如,在网络中的多个节点或缓存服务器处,可以按需对内容进行传输及缓存。在一些网络中,内容缓存通过建立缓存服务器层级进行处理,其中内容以预定方式从较高层次的服务器流到较低层次的服务器。不同缓存服务器之间的内容迁移可能因为内容请求或者因为满足可以由网络运营商手动指定的价格指标而发生。当缓存服务器缺少某些必需内容时,所缺失的内容可以从预定的较高层次服务器或者从与所述缓存服务器同层级的一组邻近服务器中获取。在一些网络中,可能难以对这种内容缓存方案进行部署及维持,而这种方案所具有的运营目标与某些流量工程(TE)目标相矛盾或不符合。当前网络,例如网络服务供应商(ISP)中考虑或需要TE目标,从而提高例如在流量路由方面的网络性能。当前内容缓存方案能够通过阻止达到某些流量TE条件或目标来降低网络性能。
发明内容
在一项实施例中,本发明包括一种设备,所述设备包括第一面向内容的网络体系结构(CONA)节点,所述CONA节点用于与至少一个第二CONA节点耦合并根据某准则实施协同缓存,所述准则包括至少一个内容缓存目标和至少一个网络运营目标,其中所述内容缓存目标与所述网络运营目标一致。
在另一项实施例中,本发明包括一种网络部件,所述网络部件包括:缓存策略引擎,所述缓存策略引擎用于接收网络策略信息并根据所述网络策略信息计算缓存策略;缓存器内部数据传输部件,所述缓存器内部数据传输部件耦合到所述缓存策略引擎并且用于根据所述缓存策略提取多个内容对象部分;存储引擎,所述存储引擎耦合到所述缓存器内部数据传输部件并且用于缓存所述内容对象部分;以及移出算法部件,所述移出算法部件耦合到所述存储引擎并且用于确定要移出的已缓存内容对象部分,如果有的话。
第三方面中,本发明包括一种方法,所述方法包括:接收多条链路的多个TE开销;接收关于多个内容对象的信息;根据所述TE开销以及关于所述内容对象的所述信息计算缓存策略;根据计算所得的缓存策略从节点处收集对象部分;以及缓存所述对象部分。
从结合附图和所附权利要求书进行的以下详细描述将更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本发明,现在参考以下结合附图和具体实施方式进行的简要描述,其中相同参考标号表示相同部分。
图1为网络体系结构的一项实施例的示意图。
图2为分布式TE和协同缓存的方案的一项实施例的示意图。
图3为网络体系结构的另一项实施例的示意图。
图4为缓存引擎的一项实施例的示意图。
图5为缓存方法的一项实施例的流程图。
图6为协同缓存模拟结果的一项实施例的图。
图7为协同缓存模拟结果的另一项实施例的图。
图8为协同缓存模拟结果的另一项实施例的图。
图9为网络利用率模拟结果的一项实施例的地图。
图10为网络利用率模拟结果的另一项实施例的地图。
图11为发射器/接收器单元的一项实施例的示意图。
图12为通用计算机系统的一项实施例的示意图。
具体实施方式
最初应理解,尽管下文提供一项或多项实施例的说明性实施方案,但可以使用任何数目的技术,不管是当前已知还是现有的,来实施所披露的设备、系统和/或方法。本发明决不应限于下文所说明的所述说明性实施方案、附图和技术,包含本文所说明并描述的示例性设计和实施方案,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
本文公开了一种用于内容缓存的设备和方法,所述设备和方法,例如,与现有内容缓存方案相比,可能提高了网络性能。可以使用多个缓存服务器来实施内容缓存,所述多个缓存服务器可以采用协同和/或分布式方式运行。所述网络性能的提高方式可以为:共同满足多个内容缓存目标和/或多个网络运营目标,例如,可以由ISP建立的目标。运营目标可以包括TE目标,而TE目标包括使网络中链路上的流量均衡、保护潜在的故障链路、达到服务水平协议中的指标,或者任何一个或多个前述项的组合。
所述设备和方法可以将TE方案和协同缓存(CC)方案进行结合来分配网络资源。所述方法可以包括从利用CC提高网络效率的一组优化问题中获取TE(或虚拟TE)开销。这些优化问题可以根据多个TE假设用公式表示,例如,针对每一个所考虑的运营目标。所述TE假设可以包括单个网络提供商、一般网络模型、逻辑聚类视图、包括一致优化目标的一致网络运营目标,或者任何一个或多个前述项的组合。可以根据例如TE目标等的网络运营目标计算出每条网络链路的TE开销,而所述TE开销可以用来对用于内容迁移、内容移出和/或内容复制的多个协同缓存器进行控制。
在将优化问题(针对TE和CC)用公式表示的假设中,单个网络提供商可以考虑多个网络优化准则和服务。所述网络提供商可以包括及拥有多个CONA节点。在一般非分级的网络模型中,CONA节点可以互相耦合。一般非分级的网络模型还可以包括分层级网络模型的情况。网络目标可以包括负载均衡和分段线性链路开销。负载均衡可以根据优化问题公式、分布式算法和CC而建立,这些将在下文中进一步描述。还可以对多个CONA节点进行分组或聚类,并且可以将这些节点视为单个逻辑节点,例如,当多个数字用户线接入复接器(DSLAM)CONA节点经由以太网交换机进行连接时。对应网可以包括多个子系统,例如路由子系统、缓存子系统和/或其他子系统。各子系统可以具有对应的优化目标。然而,运营整个网络的总体目标可以为一致的,其中不同子系统的目标可能并不互相矛盾,例如,通过设计和/或实行。
图1所示为网络体系结构100的一项实施例,其可以配置成大体“扁平”的结构。网络体系结构100可以包括多个节点110-160,在一般非分级的网络模型中,例如,在网状拓扑中,这些节点可以互相耦合。因此,在不具有层级限制或层级关系的情况下,节点110-160中的任一节点可以直接地或经由其他节点来交换流量。网络体系结构100可以对应于向客户/用户提供服务的任何通信网络,所述通信网络包括基于以太网的网络、互联网协议(IP)网络、无源光网络(PON)、数字用户线(DSL)网络、无线网络、其他通信网络或其组合。在一项实施例中,网络体系结构100可以对应于通常具有扁平结构的企业网络或骨干网络。
节点110-160可以用于在网络中传输流量或数据。流量可以包括包(例如,IP包)、帧(例如,以太帧)、消息、信号,或任何一个或多个前述项的组合。例如,节点110-160可以包括桥接器、路由器和/或交换机,用以在网络中接收、处理和/或传输流量。节点110-160可以使用多条链路或路径(图1中用实线表示)来传输网络流量,而这些链路和/或路径可以使用TE进行确定,并且可以支持至少一些节点之间的CC。节点110-160可以表示在网络物理层上接收、处理和/或发送流量的物理层节点。节点110、120和130还可以用于传输可能由一个或多个终端用户所请求的内容和/或服务。例如,节点110、120和130可以为具有以下特征的CONA节点:在CONA可用网络中彼此之间接收、传输、缓存并交换内容流量(图1中用箭头线表示)。节点110、120和130可以表示处理内容层面上的流量的CONA节点,以及处理物理层上的网络流量的对应物理层节点。
内容可以包括数据、语音、视频、多媒体、互联网和/或诸如游戏内容等任何专用内容。在某些实施例中,终端用户可以为耦合到诸如节点110-160中的任一节点等网络的任何用户设备。在另一项实施例中,网络体系结构可以对应于ISP,而终端用户可以对应于ISP的内容提供商或客户。例如,终端用户可以与客户端或用户设备处的通信装置相关联,所述通信装置实例有:光纤网络终端(ONU)或住宅区位处位速率非常高的DSL(VDSL)收发器单元(VTU-R)。或者,终端用户可以对应于通信设备的家庭件,例如,机顶盒、固定个人装置(例如,台式计算机)、或移动个人装置,例如蜂窝式电话(包括所谓的“智能”电话(即,可用语音和数据的蜂窝式装置))、笔记本电脑或诸如平板类型计算机的便携计算机装置。
在网络体系结构100中,TE开销可以从一组优化问题中获取,这些优化问题可以提高网络效率并支持CONA节点之间的CC。可以根据一些请求或所需的计算系统属性来设计优化问题或将其用公式表示。例如,需要系统解决方案大体分布成能够提高网络解决方案的可扩展性。还需要在问题的公式中避免使用整数规划(IP),如果可能的话,该公式可以从非确定性多项式(NP)时间问题的公式中得出。另外,需要获得相对容易伸展或扩展的解,以便于适应可以添加到网络中的新子系统。例如,新存储云(SC)子系统可以添加到TE子系统和CC子系统结合后的系统中,且无需对所产生的TE、CC和SC结合系统大体进行重新设计。
针对网络中的多个流量种类,可以共同考虑TE目标,例如,在不同流量种类之间无区别的情况下。流量种类可以包括内部缓存的数据传输,例如,在节点110、120和130之间的数据传输,所述数据传输的处理方式可以与其他网络流量处理方式类似。联合的TE及CC(TECC)问题可以用公式表达如下:
min max e ∈ E ( b e + Σ i ≠ j t ij I e ( i , j ) ) / c e - - - ( 1 )
s . t . ∀ i , j ∈ I , t ij = Σ k ∈ K y i k ( 1 - y j k ) s k q j k - - - ( 2 )
∀ k ∈ K , Σ i ∈ I y i k ≥ 1 - - - ( 3 )
∀ i ∈ I , Σ k ∈ K y i k s k ≤ v i - - - ( 4 )
Σ k ∈ K s k ≤ Σ i ∈ I v i - - - ( 5 )
y i k ∈ { 0,1 } - - - ( 6 )
以上六个约束条件(标为(1)-(6))表示将TECC问题用公式表示的多个约束条件。第一约束条件(例如,约束条件(1))可以满足TE目标(例如,负载均衡)。在约束条件(1)中,tij为缓存器内部流量(由从节点i到节点j的数据传输引起),Ie(i,j)为路由矩阵(如果链路e在从i到j的有向路径上,该矩阵可能约等于一),ce为链路e的物理容量(例如,带宽),以及be为链路e上其他应用程序产生的背景流量。约束条件(1)为针对均衡链路负载的TE目标,但也可以使用其他目标,例如一个或多个分段线性链路开销函数,从而得到总体网络开销。
约束条件(2)可以确保缓存器内部数据传输,例如,满足CC目标。在约束条件(2)中,节点j可以以概率接收请求数据对象k。如果j并无本地拷贝(例如,因此),那么j需要从具有内容(例如,)的另一节点i处提取对象。对于任一对象k,当(例如,节点j具有本地拷贝)或者(例如,节点i不具有本地拷贝)时,那么可能不会发生从i到j的缓存器内部数据传输(例如,)。约束条件(3)可以确保一些节点中可能存在复制。在约束条件(3)中,任一对象k可以由一个或多个节点进行复制。约束条件(4)可以满足缓存存储器限制。在约束条件(4)中,复制所用的总存储空间可能不超过节点i的可用物理存储(例如,物理盘空间)。
约束条件(5)可以确保缓存存储器足够大使得完整的数据对象可以由可用缓存器进行复制,例如,当完整数据对象聚合时。所考虑的网络节点处的可用缓存存储器可能不够大。这样,可以根据要求引入一个或多个虚拟CONA节点(所谓的“动态缓存”),例如,一个或多个内容生成服务器。服务器可以仅存储相关对象并服务于这类存储对象的请求。约束条件(6)可以提出一个二元变量用以表示对象是否存储在缓存器中。在约束条件(6)中,如果节点i处本地存储对象k,那么否则可以使用二次规划来实施以上的TECC问题。
在另一项实施例中,可以将简化的TECC问题用公式表示,例如,通过在以上的TECC问题公式中将二次项消除来实现此目的。可以引入指示变量来表示缓存器内部数据传输(例如,如果节点i将对象k传输到节点j,那么)。使用此指示变量可以简化TECC问题,随后可以使用整数规划而非二次规划来解决此问题。然而,根据整数规划得到的TECC公式可能仍然难以解出。
在TECC问题的另一项实施例中,各CONA节点可以实施至少局部缓存,其中内容对象的一部分可以本地缓存在一个或多个CONA节点处。一个或多个本地CONA节点处的至少部分内容所采取的“分布式缓存”这种形式很大程度上提高了网络性能,尤其是在视频和多媒体应用程序中。局部缓存的TECC问题可以用公式表达如下:
min max e ∈ E ( b e + Σ i ≠ j t ij I e ( i , j ) ) / c e - - - ( 7 )
s . t . ∀ i , j ∈ I , t ij = Σ k ∈ K x ij k s k q j k - - - ( 8 )
∀ k ∈ K , j ∈ I , Σ i ∈ I , i ≠ j x ij k + y j k = 1 - - - ( 9 )
∀ i ∈ I , Σ k ∈ K y i k sk ≤ v i - - - ( 10 )
Σ k ∈ K s k ≤ Σ i ∈ I v i - - - ( 11 )
&ForAll; i , j &Element; I , x ij k < y i k - - - ( 12 )
&ForAll; i , j &Element; I , x ij k , y i k &Element; { 0,1 } - - - ( 13 )
约束条件(12)可以指示出当节点j具有对象k的本地拷贝时,j随后可以不用从其他节点处提取同一对象。可以使用整数规划来求解局部缓存的TECC问题公式。局部缓存实施方式可以用于缓存视频内容对象。例如,各视频长度可以在约1.5小时到约2小时之间,并且其大小范围可以在约200兆字节(MB)到约四千兆字节(GB)之间,例如,使用H.264解编码器或类似的视频编码器以及约为2的压缩率。用户可以观看第一视频一段时间,并且随后快进到视频的后面部分,或在观看完整的第一视频之前切换到第二视频。在这样的情形下,如果各CONA节点用于缓存全部视频对象,那么CONA协同缓存可能是无效的。局部缓存可以使各CONA节点能够存储某一对象的一部分而不是整个对象,这在视频对象非常大的情况下可能是有利的。
在一项实施例中,可以根据指示变量将TECC问题用公式表示,所述指示变量表示从i传输到j的对象k的局部缓存部分。TECC问题可以用公式表达如下:
min max e &Element; E ( b e + &Sigma; i &NotEqual; j t ij I e ( i , j ) ) / c e - - - ( 14 )
s . t . &ForAll; i , j &Element; I 以及 i &NotEqual; j , t ij = &Sigma; k &Element; K x ij k s k q j k - - - ( 15 )
&ForAll; k &Element; K , i &Element; I , &Sigma; j &Element; I , j &NotEqual; i x ji k + x ii k &GreaterEqual; 1 - - - ( 16 )
&ForAll; i &Element; I , &Sigma; k &Element; K x ii k s k &le; v i - - - ( 17 )
&Sigma; k &Element; K s k &le; &Sigma; i &Element; I v i - - - ( 18 )
&ForAll; i , j &Element; I 以及 i &NotEqual; j , k &Element; K , x ij k &le; x ii k - - - ( 19 )
&ForAll; i &Element; I , k &Element; K , x ij k sk &GreaterEqual; s &OverBar; k - - - ( 20 )
&ForAll; i , j &Element; I , k &Element; K , 0 &le; x ij k &le; 1 - - - ( 21 )
约束条件(16)可以确保:(a)任一对象在网络中均得以缓存;以及(b)任一节点i可以从一个或多个其他节点处获得各对象大体完整的拷贝。约束条件(19)可以指示,节点i可以从j处上载传递的对象k的一部分至多为由i本地缓存的部分(例如,节点i无法提供比其所具有的内容更多的内容)。约束条件(20)可以指示,各内容对象可以依据存储及缓存的目的而划分为多个部分,并且各部分大小至少等于当内容对象存在剩余时(例如,skmod),可以将剩余项从来源(例如,内容服务器)中提取出,并且可以不用将所述剩余项缓存在CONA节点中的任何位置。上述TECC问题公式可以使用线性规划来求解,与二次规划或整数规划相比,这种方法可能更容易解出公式。然而,在公式或算法中实施约束条件(12)可能颇具挑战性,所述公式或算法例如因为并不会指示两个节点处存储的已缓存对象部分的差异性。
因为可能无法得知两节点所缓存的对象部分之间的差异,所以可以使用较简单的问题公式。这样,可以根据指示变量将TECC问题用公式表达如下,其中指示变量表示节点i处的对象k的局部缓存部分:
min max e &Element; E ( b e + &Sigma; i &NotEqual; j t ij I e ( i , j ) ) / c e - - - ( 22 )
s . t . &ForAll; i , j &Element; I 以及 i &NotEqual; j , t ij = &Sigma; k &Element; K x i k s k q j k - - - ( 23 )
&ForAll; k &Element; K , &Sigma; i &Element; I x i k &GreaterEqual; 1 - - - ( 24 )
&ForAll; i &Element; I , &Sigma; k &Element; K x i k s k &le; v i - - - ( 25 )
&Sigma; k &Element; K s k &le; &Sigma; i &Element; I v i - - - ( 26 )
&ForAll; i &Element; I , k &Element; K , x i k s k &GreaterEqual; s &OverBar; k - - - ( 27 )
&ForAll; i , j &Element; I , k &Element; K , 0 &le; x i k &le; 1 - - - ( 28 )
在上述公式中,定义了各CONA节点可以本地缓存各对象的百分比,但是可能并没有对决定各节点可以缓存各对象的哪部分进行细述。因此,能够计算出各CONA节点可以本地缓存的任何考虑对象的百分比。计算可以由各CONA节点所缓存的对象的百分比可能并不适用于所有的考虑对象,因为某些对象可能相对较大,而其他对象可能相对较小。另外,某些对象可能被认为比其他对象更重要。在此情形下,可以将对象分类为一个或多个适当种类,例如,根据它们的重要级别、优先权(用户或运营商定义的,或其他方式定义的)、大小和/或其他分类。因此,通过引入“对象种类”概念,可以将所述问题再次用公式表示。可以使用线性规划来求解以上的TECC问题公式。
在另一项实施例中,可以根据第一指示变量和第二指示变量将TECC问题用公式表示,其中表示从节点i发送到节点j的对象k的一部分,表示由节点i所缓存的对象k的一部分。TECC问题可以用公式表达如下:
min max e &Element; E ( b e + &Sigma; i &NotEqual; j t ij I e ( i , j ) ) / c e - - - ( 29 )
s . t . &ForAll; i , j &Element; I 以及 i &NotEqual; j , t ij = &Sigma; k &Element; K x i k s k q j k - - - ( 30 )
&ForAll; k &Element; K , i &Element; I &Sigma; j &Element; I x ji k + y i k &GreaterEqual; 1 - - - ( 31 )
&ForAll; i &Element; I , &Sigma; k &Element; K y i k s k &le; v i - - - ( 32 )
&ForAll; i , j &Element; I , k &Element; K , 0 &le; x i k &le; y i k &le; 1 - - - ( 33 )
可以使用线性规划来求解以上的TECC问题公式。下面的表1列出了上述TECC问题公式中的一些术语以及符号。
表1
可以将以上的TECC问题用公式表示,并且可以将所述公式解出以便分配网络资源并提高网络效率。例如,表2所示为可以根据约束条件(14)-(21)解出网络100的TECC问题公式而得到的解:
表2
从以上的解中,可以得到两个发现。第一,表2中每行的对角元素可以超出,例如,可以大于,该行中的剩余元素,这是因为各节点可以向其他节点提供的对象的那部分可能并不大于该节点可以本地缓存的那部分(例如,)。第二,每列中元素和可以不小于大约一,这是因为各CONA节点能够获得某个对象的完整拷贝(Σj∈Ixij≥1)。根据此解,CC子系统能够计算出划分各对象的计划,并且能够存储该对象位于各CONA节点处的部分。
表3所示为可以根据约束条件(22)-(28)解出网络100的TECC问题公式而得到的解:
表3
根据以上的解,三个CONA节点110、120和130可以分别缓存种类1中一个对象的约60%、20%和30%。表3中各行元素的和可能大于约一(例如,Σixi≥1)。
在一项实施例中,可以从上述优化问题的分解中获取分布式算法。例如,根据约束条件(22)-(28)的TECC问题公式可以分解为网络TE子问题和网络CC子问题。在解决TE子问题时,可以计算出多条链路的网络TE开销pe。TE开销pe可以为链路e上路由当前流量的开销。可以沿着网络中的一条路线例如,一系列的链路,将计算所得的TE开销聚合。CC子问题可以由本地缓存器引擎(例如,CONA节点)来解决,其方法是收集计算所得的TE开销,并计算每个对象的最优指示每个缓存器可以本地存储的对象部分。指示变量可以根据TE开销计算出。
图2所示为分布式TE和CC方案200的一项实施例。分布式TE和CC方案200可以在CONA可用网络中实施,例如,图1所述的网络体系结构100中。分布式TE和CC方案200可以通过解决TE子问题,随后解决网络CC子问题而解决TECC问题。网络可以包括CONA节点210和220以及包括节点230、240和250的其他节点225(例如,非CONA节点)。节点210-25可以配置成基本类似于网络体系结构100中的对应节点。节点210-250可以处理物理层(和/或任何其他的开放式系统互联(OSI)模型层)上的网络流量,并且节点210和220还可以为包括支持CC的本地缓存器引擎的CONA节点。
节点210-250可以如图2中所示布置,其中节点225可以定位在CONA节点210与220之间的路径中。这样,节点230、240和250可以为在节点210与220之间传输包括内容对象的流量的传输节点。通过解决TE子问题,例如,根据链路中流量的量或容积可以计算出各链路开销,例如,节点230与240之间的pe1(t)以及节点240与250之间的pe2(t)。这些链路在图2中用虚线表示。计算所得的链路开销随后可以被传送到CONA节点210和/或220(图2中用实线箭头表示)。聚合链路的总链路开销tk(t)可以由TE引擎进行计算,该TE引擎可以对应于网络中的一个或多个节点或服务器,并且该总链路开销还可以被传送到CONA节点210和/或220或者可以由节点210和/或220根据传送的链路开销,例如pe1(t)和pe2(t)计算出。节点210和/或220随后可以使用链路开销来解决CC子问题,并且因此计算出本地缓存策略,例如,本地对象复制或部分替换策略,并且可以确定这些策略的实施方式。
图3所示为可能具有分层级结构的另一网络体系结构300的一项实施例。网络体系结构300可以包括多个节点310-350,在分层级网络模型中,例如,在树状拓扑中,这些节点可以互相耦合。因此,这些节点可以被分类或组织在不同的层级或级别中,其中较低层级处的节点数可能大于较高层级处的节点数。因此,相比于较高层级,较低层级处每个节点的平均带宽可能较小。另外,同一级别处的节点可能不会互相通信,但是它们可以与较高或较低层级处的其他节点通信。例如,节点310可以定位在第一级别,并且可以与较低的第二级别处的节点320和330通信,而节点320和330可能不会直接地互相通信。节点320可以与较低的第三级别处的节点340通信,各节点340可能不会直接地互相通信。类似地,节点330可以与第三级别处的节点350通信,同样,各节点350可能不会直接地互相通信。
网络体系结构300可以为网络体系结构100的一个特例,节点310-350可以配置成基本类似于对应节点110-150。例如,节点310、320和330可以为CONA节点,节点340和350可以为非CONA节点。因此,节点310、320和330可以根据以上TECC问题中的任一问题来缓存内容对象。在一项实施例中,网络体系结构300可以对应于接入网络,其中DSLAM、宽带远程接入服务器(BRAS)和/或骨干路由器可以形成多级(例如,三级)分层级结构。例如,节点310可以包括骨干路由器,各节点320和330均可以包括BRAS,节点340和350可以包括多个DSLAM。
为解决网络体系结构300中的TECC问题,可以对不同层级处的链路指定不同的链路开销(例如,TE开销),例如,由运营商通过手动方式来指定。例如,如果相对较小的地理区域(例如,街道、邮政编码、城市或其他区域,例如,大约5、大约10、大约20、或大约50平方公里的区域)中的典型DSLAM经由以太网交换机连接起来,那么连接DSLAM的链路的开销可能远远低于连接其他BRAS节点的链路的开销。这些开销可以预先进行计算,可以先验地或在运行中(例如,实时)对其进行手动调整或者按需通过算法计算出。
图4为缓存引擎400的一项实施例的示意图。缓存引擎可以定位在CONA节点处,并且可以用于CC管理。这样,缓存引擎400可以实施分布式CC算法(例如,用于解决CC子问题)、产生CC策略、根据所述CC策略来更新缓存器内容,或上述项的组合。缓存引擎400可以包括缓存策略引擎410、移出算法部件420、缓存器内部数据传输部件430、统计收集部件440和存储引擎450。缓存引擎400的部件可以如图4所示进行布置,并且可以使用硬件、软件或使用二者来实施这些部件。
缓存策略引擎410可以包括网络策略部件412、全局缓存策略部件414和本地缓存策略部件416。网络策略部件412可以用于根据如pe等的TE链路开销收集网络策略信息,例如TE反馈信息。当考虑其他运营目标时,可以在这些目标中定义链路开销。全局缓存策略部件414可以用于与其他全局缓存引擎或部件(在其他CONA节点处)交换有关所传输的对象部分的参数,例如和对应概率,例如的集合。全局缓存策略部件414可以实施分布式算法以计算缓存策略。缓存策略可以包括最优副本放置策略,例如这可以作为本地缓存策略部件416的输入。本地缓存策略部件416可以用于根据由全局缓存策略部件414所计算出的缓存策略来确定各对象用于本地缓存的部分。因此,本地缓存策略部件416可以指导缓存器内部数据传输部件430从其他节点处提取哪些对象部分。
缓存器内部数据传输部件430可以用于接收这些对象部分,并将所述对象部分发送到存储引擎450以便缓存。移出算法部件420可以用于确定将要移出的对象或部分,例如,将它们消除或转发到其他节点,并且用于指导存储引擎450进行这样的操作。统计收集部件440可以用于从缓存策略部件414、移出算法部件420和存储引擎450收集不同的统计信息,并且将所述信息转发到网络或其他节点。存储引擎450可以包括存储媒体(例如,硬盘驱动器),并且可以用于存储或缓存所接收的对象或部分,并移出所指示的存储对象或部分。存储引擎450可以为无源部件,例如,缓存器或内存器。或者,存储引擎450可以为实施处理功能或其他主动功能的有源部件。
在一项实施例中,多个CONA节点可以包括类似于缓存引擎400的多个缓存引擎,并且可以协同解决CC子问题,例如通过分布式方式解决。节点还可以支持互相之间的内容迁移,从而将内容或对象部分进行分布并提供局部缓存。实现内容迁移的方法可以为:使用对应的缓存策略引擎410解决CC子问题、使用缓存器内部数据传输部件430提取对象部分、使用移出算法部件420移出某些缓存对象或内容。节点之间的内容迁移可以满足例如缓存策略等内容缓存目标和例如TE目标或TE策略等运营目标。
图5所示为可以在CONA节点中实施的缓存方法500的一项实施例。例如,缓存方法500可以作为分布式CC算法的一部分由缓存引擎400实施以解决CC子问题。CC子问题的解可以为上述TECC问题中的一个问题使用分布式算法得出的解的一部分。在块510处,可以接收多条链路的多个TE开销。例如,网络策略部件412可以接收TE链路开销,针对组合的链路,可以将这些TE链路开销聚合,或者可以根据单个所接收的值来计算聚合的链路开销。TE开销可以由TE引擎根据与链路相关的多个节点的分布式方式计算出,并且随后可以被转发到包括缓存引擎400或网络策略部件412的CONA节点。
在块520处,可以接收关于多个对象部分的信息。例如,全局缓存策略部件414可以接收一个或多个CONA节点处关于一个或多个对象部分(例如,不同内容对象)的约束信息。在块530处,可以根据TE开销计算出对象部分的缓存策略。例如,全局缓存策略部件414可以使用TE链路开销实施分布式(CC)算法从而计算出一个或多个CONA节点之间的合适的内容放置/分布策略。在块540处,可以根据计算所得的缓存策略提取一个或多个对象部分用于本地缓存。例如,本地缓存策略部件416可以根据由全局缓存策略部件414计算所得的全局缓存策略来选择用于缓存的对象部分,并且因此缓存器内部数据传输部件430可以将所选择的对象部分从它们对应的节点处提取出来。
在块550处,可以本地缓存所选择的对象部分。例如,存储引擎450可以存储由缓存器内部数据传输部件430所接收的对象部分。在一些实施例中,缓存方法500也可以包括块560和570。在块560处,可以指定移出一个或多个已缓存的对象部分。例如,移出算法部件420可以根据从其他节点处所接收的更新、用户请求和/或其他变动网络条件(例如,带宽或流量拥塞变化)来选择清除存储在存储媒体中的对象部分。在块570处,可以将指定移出的对象部分转发到一个或多个节点。例如,存储引擎450可以将由移出算法部件420所指示的对象部分发送到一个或多个CONA节点。缓存方法500随后可以结束。
可以根据所选择的网络拓扑使用模拟软件或程序来对TECC问题的解进行模拟。例如,网络拓扑文件可以用作模拟的输入。网络拓扑可以用于确定缓存节点。在模拟中,可以生成内容对象的多个源节点,并且这些节点可以通过多条源链路耦合到多个缓存节点,例如,CONA节点。可以将源节点、缓存节点和链路的信息附加到网络拓扑文件中。因此,可以对拓扑文件进行分解并将其用于初始化网络模型或结构,其中可以创建出节点链路实体。可以使用最近最少使用(LRU)例程来计算出LRU方案的解。这个解可以为模拟的输出。还可以使用广义线性规划(GLP)例程来计算出线性规划(LP)优化方案的解,这可以对应于以上TECC问题中的一些问题。可以将所得的解添加到数据库用于前端显示。
这类模拟设计可以为静态网络模拟,其中一旦没有明显的时间变化动态,则将方案应用到网络中。每次实施模拟,均可以获得网络的快照(例如,静视图)。这种方案可能缺少流量相关的性能度量,例如,吞吐量方面的模拟。这样,模拟可以计算出最差情况的情形而非不同的情形。在最差情况的情形下,多个或所有的用户可以在大约同一时间请求所有的内容,并由此同时触发多个或所有的流。
为模拟随时间变化的网络行为,可以遵循特定的分布以动态地生成用户需求。因此,用户可以在具体的时刻请求一个内容或对象;创建多个会话;从缓存节点或源节点处接收内容;并且可以在接收到所请求内容的完全或完整拷贝后终止会话。为实现这种网络动态,可以将额外的特征添加到模拟中。所述特征可以包括类会话(Class Session),它可以从模拟中所包括的流类(FlowClass)中获取,并且可以用于区分多条路径。所述特征可以包括类节点(Class Node),所述类节点可以包括链表会话(LinkedListSession)、函数addSession()、函数removeSession()和函数updateSession(),其中函数updateSession()用于遍历会话链表、根据流速将各会话的剩余工作递减,以及发送会话是否结束的事件。类节点还可以包括函数initSession(),该函数遵循用户需求分布随机生成内容请求。
所述特征还可以包括类网络(Class Network),所述类网络可以包括队列事件(Queue event)、函数updateEvent()、函数eventDispatcher()和函数eventHandler(),其中所述函数eventHandler()可以被所述函数eventDispatcher()调用。类网络可以包括一个以上用于不同目的的处理程序。类网络还可以包括用于吞吐量计算目的的修改函数calcLinkUtilization()。所述特征还可以包括类事件(Class Event),所述类事件可以包括双变量timeStamp和整数型变量eventType。
图6所示为通过求解TECC问题以及使用上述模拟而得到的CC模拟结果600的图的一项实例。CC模拟结果600可以表示终端用户根据两种算法,即CONA或TECC算法和当前为某些网络所用的内容分发网络(CDN)算法而感知的性能。图中的各数据点表示出从模拟的单个实施或运行中获得的结果。这些点指示出单位为毫秒(ms)的接入时延与最大链路利用率的百分比之间的关系。在模拟中,针对分布考虑相对较大的内容,例如,用于清楚地区分CONA和CDN算法的性能。所用的CONA或TECC算法可以实施用于这两个基于CONA的网络以及类似地用于基于IP的网络,例如,互联网。如图6所示,终端用户使用CONA算法接收内容的接入时延比使用CDN算法而获得的时延低约30%。对于所考虑的所有点,使用CONA算法实现的最大链路利用率也远远低于使用CDN算法实现的最大链路利用率。
图7所示为对应于CC模拟结果600的平均CC模拟结果700的图的一项实例。右上角处的圆的直径表示由CDN算法获得的接入时延方差。较小圆的直径表示使用CONA算法获得的接入时延方差,它可能远远小于CDN算法的接入时延方差。接入时延的方差可以指示出对应算法性能的稳定性,其中方差越小,则指示性能越稳定。图中的曲线表示可行域,例如,可以实现的可行解。
图8所示为对应于CC模拟结果600的CC模拟结果800的图的一项实例。如从网络运营商视角观察所得,图中的各数据点均对应于CC模拟结果600中的一个点,并且各数据点表示从模拟的单个实施中获得的结果。因此,CC模拟结果800可以表示终端用户所感知的性能。这些点指示出来源流量负载与使用CONA和CDN算法所获得的最大链路利用率之间的关系。来源上的流量负载,例如,内容提供商端(例如,服务器场、上游链路等)上所引起的,可以为网络性能的决策因子,这是因为流量可以直接地转译为可以由内容提供商所维持的服务器的数量以及其相关开销(同时包括服务器开销和带宽开销)。因此,来源(例如,内容供应商端)上的流量负载越低,能够实现的网络性能越好。如图8所示,与CDN算法相比,CONA算法可以将来源负载减少大约50%。
图9和图10所示分别为根据CONA算法的网络利用率模拟结果900和根据CDN算法的网络利用率模拟结果1000的地图。网络利用率模拟结果900以及网络利用率模拟结果1000是通过使用典型网络运营商拓扑(例如,阿比林网络(Abilene network))而获得的。在这两种情况中,相同的内容集合在整个网络拓扑上分布到相同的用户集合。通过比较这两个模拟结果可以清楚看到,在CONA算法的情况中,用户集上的内容负载分布更加均衡。图9示出,使用CONA(或TECC)算法,可以将大约1%到大约10%的负载分布在整个网络上的节点或用户之间的各链路上。相反,图10示出,使用CDN算法,可以将显著不同的流量负载或百分比分布在整个网络上的节点之间的各链路上,其分布比例在0%-102%的范围之间广泛变化。
图11所示为发射器/接收器单元1100的一项实施例,所述发射器/接收器单元可以是在网络中传输包的任何装置。例如,发射器/接收器单元1100可以定位在网络体系结构100或300的任一节点中,例如,任一CONA节点,并且所述发射器/接收器单元可以包括缓存引擎400。发射器/接收器单元1100可以包括:一个或多个输入端口或单元1110,其用于从其他网络部件接收包、对象,或类型-长度-值(TLV);逻辑电路1120,其用于确定将包发送到哪些网络部件;以及一个或多个输出端口或单元1130,其用于将帧传输到其他网络部件。逻辑电路1120可以包括缓存引擎400的部件,并且发射器/接收器单元1100可以实施缓存方法500。
上述网络部件可以在任何通用网络部件上实施,例如计算机或特定网络部件,其具有足够的处理能力、存储资源和网络吞吐能力用以处理其上的必要工作量。图12示出了典型的通用网络部件1200,其适用于实施本文本所揭示的部件的一项或多项实施例。网络部件1200包括处理器1202(可以称为中央处理器单元或CPU),其与包括以下项的存储装置通信:辅助存储器1204、只读存储器(ROM)1206、随机存取存储器(RAM)1208、输入/输出(I/O)装置1210,以及网络连接装置1212。处理器1202可以作为一个或多个CPU芯片实施,或者可以为一个或多个专用集成电路(ASIC)和/或数字信号处理器(DSP)的一部分。
辅助存储器1204通常由一个或多个磁盘驱动器或磁带驱动器组成,且用于数据的非易失性存储,且用作溢流数据存储装置,前提是RAM1208的大小不足以保持所有工作数据。辅助存储器1204可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM1208中。ROM1206用于存储在执行程序期间读取的指令,且可能存储所读取的数据。ROM1206为非易失性存储装置,其存储器容量相对于辅助存储器1204的较大存储容量而言通常较小。RAM1208用于存储易失性数据,还可能用于存储指令。访问ROM1206和RAM1208通常比访问辅助存储器1204要快,例如,在它们利用不同的技术时,但这样操作并不是必须的。
本发明揭示至少一项实施例,且所属领域的技术人员对所述实施例和/或所述实施例的特征做出的变化、组合和/或修改在本发明的范围内。因组合、整合和/或省略所述实施例的特征而产生的替代实施例也在本发明的范围内。在明确陈述数值范围或限制的情况下,此类表达范围或限制应被理解为包括属于明确陈述的范围或限制内具有相同大小的迭代范围或限制(例如,从约1到约10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。举例来说,每当揭示具有下限Rl和上限Ru的数值范围时,具体是揭示属于所述范围的任何数字。具体而言,特别揭示所述范围内的以下数字:R=Rl+k*(Ru-Rl),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、7%、……、70%、71%、72%、……、97%、96%、97%、98%、99%或100%。此外,还特定揭示由如上文所定义的两个R数字定义的任何数值范围。应将使用“包括”、“包含”和“具有”等范围较大的术语理解成支持“由……组成”、“基本上由……组成”以及“大体上由……组成”等范围较小的术语。因此,保护范围不受上文所陈述的描述限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有均等物。每一和每个权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。所述揭示内容中的参考的论述并不是承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文中,其提供补充本发明的示范性、程序性或其他细节。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所揭示的系统和方法可以用许多其他特定形式来体现。本发明的实例应被视为说明性的而非限制性的,且本发明不限于本文所给出的细节。举例来说,各种元件或部件可以在另一系统中组合或集成,或某些特征可以省略或不实施。
另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其他系统、模块、技术或方法组合或整合。展示或论述为彼此耦合或直接耦合或通信的其它项目也可以用电方式、机械方式或其他方式通过某一接口、装置或中间部件间接地耦合或通信。改变、替代和更改的其他实例可以由所属领域的技术人员确定,且可以在不脱离本文所揭示的精神和范围的情况下作出。

Claims (10)

1.一种网络部件,其包括:
缓存策略引擎,其用于接收网络策略信息并根据所述网络策略信息计算缓存策略;
所述缓存策略引擎包括:
全局缓存策略部件,用于交换局部内容缓存信息,并根据所述网络策略信息和所述局部内容缓存信息来计算所述缓存策略,其中所述局部内容缓存信息包括关于多个节点之间所传输的内容对象部分的多个参数;
缓存器内部数据传输部件,其耦合到所述缓存策略引擎,并且用于根据所述缓存策略提取多个内容对象部分;
存储引擎,其耦合到所述缓存器内部数据传输部件,并且用于缓存所述内容对象部分;以及
移出算法部件,其耦合到所述存储引擎,并且用于确定要移出的已缓存内容对象部分,如果有的话;
其中,所述网络策略信息包括根据多个流量工程(TE)链路开销的TE反馈信息,其中所述缓存策略包括最优内容副本放置策略;
所述缓存策略引擎与多个节点处的多个缓存策略引擎协同实施分布式协同缓存CC算法来解决CC子问题,并且其中所述CC子问题为结合的TE和CC(TECC)问题的一部分;
所述TECC问题分解为TE子问题和所述CC子问题,其中所述TE链路开销针对多条链路中的每一条进行计算,其方法是以分布式方式由一个或多个TE引擎来解决所述TE子问题,并且其中所述TE链路开销相加后获得聚合链路的总开销。
2.根据权利要求1所述的网络部件,其进一步包括:
统计收集部件,其耦合到所述缓存策略引擎、所述移出算法部件和所述存储引擎,并且用于从所述缓存策略引擎、所述移出算法部件和所述存储引擎中收集统计信息,并传输所述统计信息。
3.根据权利要求1所述的网络部件,其中所述缓存策略引擎还包括:
网络策略部件,其用于接收所述网络策略信息;
以及
本地缓存策略部件,其耦合到所述全局缓存策略部件并且用于根据所述缓存策略确定是否缓存多个内容对象部分。
4.根据权利要求1所述的网络部件,其中可以根据至少一个内容生成服务器产生的要求而引入至少一个节点。
5.根据权利要求1所述的网络部件,其中所述TECC问题用公式表达如下,并使用二次规划解出:
min m a x e &Element; E ( b e + &Sigma; i &NotEqual; j t i j I e ( i , j ) ) / c e - - - ( 1 )
s . t . &ForAll; i , j &Element; I , t i j = &Sigma; k &Element; K y i k ( 1 - y j k ) s k q j k - - - ( 2 )
&ForAll; k &Element; K , &Sigma; i &Element; I y i k &GreaterEqual; 1 - - - ( 3 )
&ForAll; i &Element; I , &Sigma; k &Element; K y i k s k &le; v i - - - ( 4 )
k∈Ksk≤∑i∈Ivi (5)
y i k &Element; { 0 , 1 } - - - ( 6 )
其中tij为从节点i传输到节点j的缓存器内部流量,Ie(i,j)为依据链路e是否在从节点i到节点j的有向路径上而设值的路由矩阵,ce为链路e的物理容量,be为链路e上的背景流量,依据节点i在本地缓存器中是否具有对象k而设值,为节点j接收所请求对象k的概率,I为面向内容的网络体系结构(CONA)节点的集合,K为内容对象的集合,sk为对象k的大小,以及vi为节点i的存储容量。
6.根据权利要求1所述的网络部件,其中各节点缓存所述内容对象部分中的一些内容对象部分,但不是全部。
7.根据权利要求1所述的网络部件,其中所述TECC问题用公式表达如下,并使用整数规划解出:
min m a x e &Element; E ( b e + &Sigma; i &NotEqual; j t i j I e ( i , j ) ) / c e - - - ( 7 )
s . t . &ForAll; i , j &Element; I , t i j = &Sigma; k &Element; K x i j k s k q j k - - - ( 8 )
&ForAll; k &Element; K , j &Element; I , &Sigma; i &Element; I , i &NotEqual; j x i j k + y j k = 1 - - - ( 9 )
&ForAll; i &Element; I , &Sigma; k &Element; K y i k s k &le; v i - - - ( 10 )
k∈Ksk≤∑i∈Ivi (11)
&ForAll; i , j &Element; I , x i j k < y i k - - - ( 12 )
&ForAll; i , j &Element; I , x i j k , y i k &Element; { 0 , 1 } - - - ( 13 )
其中tij为从节点i传输到节点j的缓存器内部流量,Ie(i,j)为依据链路e是否在从节点i到节点j的有向路径上而设值的路由矩阵,ce为链路e的物理容量,be为链路e上的背景流量,表示缓存器内部数据传输并依据节点i是否将对象k传输到节点j而设值,依据节点i在本地缓存器中是否具有对象k而设值,为节点j接收所请求对象k的概率,I为面向内容的网络体系结构(CONA)节点的集合,K为内容对象的集合,sk为对象k的大小,以及vi为节点i的存储容量。
8.根据权利要求1所述的网络部件,其中所述TECC问题用公式表达如下,并使用线性规划解出:
min m a x e &Element; E ( b e + &Sigma; i &NotEqual; j t i j I e ( i , j ) ) / c e - - - ( 14 )
以及i≠j,
&ForAll; k &Element; K , i &Element; I , &Sigma; j &Element; I , j &NotEqual; i x j i k + x i i k &GreaterEqual; 1 - - - ( 16 )
&ForAll; i &Element; I , &Sigma; k &Element; K x i i k s k &le; v i - - - ( 17 )
&Sigma; k &Element; K s k &le; &Sigma; i &Element; I v i - - - ( 18 )
以及i∈j,k∈≠K,
&ForAll; i &Element; I , k &Element; K , x i i k s k &GreaterEqual; s &OverBar; k - - - ( 20 )
&ForAll; i , j &Element; I , k &Element; K , 0 &le; x i j k &le; 1 - - - ( 21 )
其中tij为从节点i传输到节点j的缓存器内部流量,Ie(i,j)为依据链路e是否在从节点i到节点j的有向路径上而设值的路由矩阵,ce为链路e的物理容量,be为链路e上的背景流量,表示从节点i传输到节点j的对象k的局部缓存部分,表示节点i处对象k的本地缓存部分,为节点j接收所请求对象k的概率,I为面向内容的网络体系结构(CONA)节点的集合,K为内容对象的集合,sk为对象k的大小,为部分大小,以及vi为节点i的存储容量。
9.根据权利要求1所述的网络部件,其中所述TECC问题用公式表达如下,并使用线性规划解出:
min m a x e &Element; E ( b e + &Sigma; i &NotEqual; j t i j I e ( i , j ) ) / c e - - - ( 22 )
以及i≠j,
&ForAll; k &Element; K , &Sigma; i &Element; I x i k &GreaterEqual; 1 - - - ( 24 )
&ForAll; i &Element; I , &Sigma; k &Element; K x i k s k &le; v i - - - ( 25 )
k∈Ksk≤∑i∈Ivi (26)
&ForAll; i &Element; I , k &Element; K , x i k s k &GreaterEqual; s &OverBar; k - - - ( 27 )
&ForAll; i , j &Element; I , k &Element; K , 0 &le; x i k &le; 1 - - - ( 28 )
其中tij为从节点i传输到节点j的缓存器内部流量,Ie(i,j)为依据链路e是否在从节点i到节点j的有向路径上而设值的路由矩阵,ce为链路e的物理容量,be为链路e上的背景流量,表示节点i处对象k的局部缓存部分,为节点j接收所请求对象k的概率,I为面向内容的网络体系结构(CONA)节点的集合,K为内容对象的集合,sk为对象k的大小,为部分大小,以及vi为节点i的存储容量。
10.根据权利要求1所述的网络部件,其中所述TECC问题用公式表达如下,并使用线性规划解出:
min m a x e &Element; E ( b e + &Sigma; i &NotEqual; j t i j I e ( i , j ) ) / c e - - - ( 29 )
以及i≠j,
&ForAll; k &Element; K , i &Element; I&Sigma; j &Element; I x j i k + y i k &GreaterEqual; 1 - - - ( 31 )
&ForAll; i &Element; I , &Sigma; k &Element; K y i k s k &le; v i - - - ( 32 )
&ForAll; i , j &Element; I , k &Element; K , 0 &le; x i k &le; y i k &le; 1 - - - ( 33 )
其中tij为从节点i传输到节点j的缓存器内部流量,Ie(i,j)为依据链路e是否在从节点i到节点j的有向路径上而设值的路由矩阵,ce为链路e的物理容量,be为链路e上的背景流量,表示从节点i发送到节点j的对象k的部分,表示节点i所缓存的对象k的部分,为节点j接收所请求对象k的概率,I为面向内容的网络体系结构(CONA)节点的集合,K为内容对象的集合,sk为对象k的大小,以及vi为节点i的存储容量。
CN201180037781.6A 2010-07-02 2011-05-05 用于网络友好协同缓存的方法和设备 Active CN103477601B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US36126210P 2010-07-02 2010-07-02
US61/361,262 2010-07-02
US12/979,584 2010-12-28
US12/979,584 US8838724B2 (en) 2010-07-02 2010-12-28 Computation of caching policy based on content and network constraints
PCT/CN2011/073674 WO2011140950A1 (en) 2010-07-02 2011-05-05 Method and apparatus for network-friendly collaborative caching

Publications (2)

Publication Number Publication Date
CN103477601A CN103477601A (zh) 2013-12-25
CN103477601B true CN103477601B (zh) 2016-11-16

Family

ID=44913936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180037781.6A Active CN103477601B (zh) 2010-07-02 2011-05-05 用于网络友好协同缓存的方法和设备

Country Status (6)

Country Link
US (1) US8838724B2 (zh)
EP (1) EP2589199B1 (zh)
CN (1) CN103477601B (zh)
BR (1) BR112013000056B1 (zh)
RU (1) RU2544773C2 (zh)
WO (1) WO2011140950A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011114627A1 (ja) * 2010-03-17 2011-09-22 日本電気株式会社 経路選択方法、情報処理装置、ネットワークシステムおよび経路選択プログラム
US9071954B2 (en) * 2011-05-31 2015-06-30 Alcatel Lucent Wireless optimized content delivery network
US8954556B2 (en) * 2011-12-01 2015-02-10 Verizon Patent And Licensing Inc. Utility-based model for caching programs in a content delivery network
CN102497646A (zh) * 2011-12-08 2012-06-13 中山大学 一种用于无线网络的低开销缓存数据发现机制
US8929896B2 (en) 2012-02-24 2015-01-06 Shuichi Kurabayashi Geolocation-based load balancing
US9848213B2 (en) * 2012-09-20 2017-12-19 The Hong Kong University Of Science And Technology Linear programming based distributed multimedia storage and retrieval
US9401868B2 (en) * 2012-11-08 2016-07-26 Futurewei Technologies, Inc. Method of traffic engineering for provisioning routing and storage in content-oriented networks
EP2784994A1 (en) * 2013-03-28 2014-10-01 British Telecommunications public limited company Multicast routing system and method
US10270876B2 (en) * 2014-06-02 2019-04-23 Verizon Digital Media Services Inc. Probability based caching and eviction
US20160156714A1 (en) * 2014-12-01 2016-06-02 Fujitsu Limited Content placement in an information centric network
US20160156733A1 (en) * 2014-12-01 2016-06-02 Fujitsu Limited Content placement in hierarchical networks of caches
KR101546199B1 (ko) 2014-12-09 2015-08-21 연세대학교 산학협력단 콘텐츠 전달 네트워크를 위한 협력 캐싱 방법, 콘텐츠 서비스 제공 서버 및 캐싱 서버
US9648127B2 (en) * 2014-12-15 2017-05-09 Level 3 Communications, Llc Caching in a content delivery framework
US20160204916A1 (en) * 2015-01-08 2016-07-14 Ngoc-Dung DAO System and method for joint optimization of source selection and traffic engineering
US9954971B1 (en) * 2015-04-22 2018-04-24 Hazelcast, Inc. Cache eviction in a distributed computing system
US9779031B2 (en) 2015-06-17 2017-10-03 International Business Machines Corporation Caching policies for selection and replacement of objects
WO2018119677A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 传输链路的续传方法、装置和系统
EP3669565A4 (en) * 2017-11-30 2021-06-09 Northeastern University SYSTEM FOR OPERATING A DISTRIBUTED WIRELESS NETWORK
CN111464231B (zh) * 2020-04-02 2021-06-22 北京邮电大学 一种无人机与用户协同缓存放置方法及装置
CN113411862B (zh) * 2021-06-18 2022-08-09 北京邮电大学 一种动态蜂窝网络中的缓存放置和用户接入方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924116A (en) * 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
CN101222424A (zh) * 2007-12-24 2008-07-16 中国电信股份有限公司 内容分发网络和该网络中基于内容的调度方法
CN101697548A (zh) * 2009-10-23 2010-04-21 中兴通讯股份有限公司 节点协作的实现方法和管理系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6338117B1 (en) 1998-08-28 2002-01-08 International Business Machines Corporation System and method for coordinated hierarchical caching and cache replacement
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
DE10331305A1 (de) * 2003-07-10 2005-02-17 Siemens Ag Kommunikationssystem, Peer-to-Peer-Nachrichten-Filter-Rechner und Verfahren zum Verarbeiten einer Peer-to-Peer-Nachricht
EP2053831B1 (en) * 2007-10-26 2016-09-07 Alcatel Lucent Method for caching content data packages in caching nodes
EP2159994A1 (en) 2008-08-26 2010-03-03 BRITISH TELECOMMUNICATIONS public limited company Operation of a content distribution network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924116A (en) * 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
CN101222424A (zh) * 2007-12-24 2008-07-16 中国电信股份有限公司 内容分发网络和该网络中基于内容的调度方法
CN101697548A (zh) * 2009-10-23 2010-04-21 中兴通讯股份有限公司 节点协作的实现方法和管理系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Cost-Based Cache Replacement and Server Selection for Multimedia Proxy Across Wireless Internet》;Qian Zhang et al.;《IEEE TRANSACTIONS ON MULTIMEDIA》;20040831;第6卷(第4期);第II节,图2 *
《Web cache optimization with nonlinear model using object features》;T Koskela et al.;《Computer Networks》;20031220;第43卷;全文 *

Also Published As

Publication number Publication date
RU2544773C2 (ru) 2015-03-20
EP2589199A1 (en) 2013-05-08
EP2589199A4 (en) 2013-09-04
CN103477601A (zh) 2013-12-25
BR112013000056A2 (pt) 2016-05-10
BR112013000056B1 (pt) 2022-05-24
EP2589199B1 (en) 2017-03-08
US20120005251A1 (en) 2012-01-05
RU2013104414A (ru) 2014-08-10
US8838724B2 (en) 2014-09-16
WO2011140950A1 (en) 2011-11-17

Similar Documents

Publication Publication Date Title
CN103477601B (zh) 用于网络友好协同缓存的方法和设备
Xie et al. TECC: Towards collaborative in-network caching guided by traffic engineering
US7710884B2 (en) Methods and system for dynamic reallocation of data processing resources for efficient processing of sensor data in a distributed network
CN105933234A (zh) Cdn网络中的节点管理方法和系统
CN103905332B (zh) 一种确定缓存策略的方法及设备
CN107819891A (zh) 数据处理方法、装置、计算机设备和存储介质
CN108366089B (zh) 一种基于内容流行度和节点重要度的ccn缓存方法
CN107105043A (zh) 一种基于软件定义网络的内容中心网络缓存方法
CN105262833A (zh) 一种内容中心网络的跨层缓存方法及其节点
Wen et al. An efficient content distribution network architecture using heterogeneous channels
Nguyen et al. Adaptive caching for beneficial content distribution in information-centric networking
Alipio et al. Deep Reinforcement Learning perspectives on improving reliable transmissions in IoT networks: Problem formulation, parameter choices, challenges, and future directions
Aswini et al. Artificial Intelligence Based Smart Routing in Software Defined Networks.
Ma et al. Joint request balancing and content aggregation in crowdsourced cdn
CN103825963A (zh) 虚拟服务迁移方法
Liu et al. Proactive data caching and replacement in the edge computing environment
CN106488303A (zh) 一种基于软件定义的视频直播网络传输性能优化方法及系统
CN102929914A (zh) 一种基于p2p节点调度的移动地图服务搜索方法
Zhang et al. Degree-based probabilistic caching in content-centric networking
Catrein et al. An analysis of web caching in current mobile broadband scenarios
CN106411734A (zh) 一种路由选择方法和路由器
CN111865793A (zh) 基于功能学习的IPv6网络服务定制化可靠路由系统及方法
CN104780061A (zh) 一种基于日志的通讯开销预测方法
Bilen et al. Parametric-decomposition based request routing in content delivery networks
Han et al. Energy-efficiency aware cooperative caching strategy for content-centric networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant