CN104756449B - 从内容中心网络中的节点和内容拥有者发送包的方法 - Google Patents
从内容中心网络中的节点和内容拥有者发送包的方法 Download PDFInfo
- Publication number
- CN104756449B CN104756449B CN201380055280.XA CN201380055280A CN104756449B CN 104756449 B CN104756449 B CN 104756449B CN 201380055280 A CN201380055280 A CN 201380055280A CN 104756449 B CN104756449 B CN 104756449B
- Authority
- CN
- China
- Prior art keywords
- content
- node
- ccv
- packet
- ccvth
- 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
Links
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/5682—Policies or rules for updating, deleting or replacing the stored data
-
- 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/565—Conversion or adaptation of application format or content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
-
- 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
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
- H04L2101/375—Access point names [APN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种从内容中心网络(CCN)中的内容拥有者发送内容回复包的方法包括:基于内容拥有者的策略来确定缓存性能值阈值(CCVth),其中,CCVth用于确定用于缓存内容的候选节点;响应于来自内容请求者的内容请求包,发送包括内容和CCVth的内容回复包。
Description
技术领域
本申请涉及从内容中心网络(CCN)中的节点和内容拥有者发送包的方法。
背景技术
内容中心网络(CCN)聚焦于数据而不是将从何处取得数据,因此,内容中心网络在包的头部中说明必要内容的名称,与此相对的是,在基于互联网协议(IP)的网络中,在包的头部中描述源地址和目的地地址。每个路由器建立路由表,利用该路由表,通过参照包的指示内容的名称的头部将包转发至内容所在的位置。除了路由器,所有网络装置都具有用于在短时间内存储内容的存储器。在CCN中,包被分类为内容请求包和内容回复包。内容请求包包括必要内容的名称,内容回复包包括被请求的内容以及被请求的内容的名称。当内容请求包被发送到网络装置时,网络装置按照包的头部中所包括的内容的名称在其存储器中检查相应的内容,当在存储器中存在相应的内容时,网络装置通过将内容发送到请求方来发送对于请求的回复。在CCN中,被请求的内容存在的存储器所在的节点可发送对于请求的回复,即使该节点是中间节点。因此,平均传输路径长度被缩短,同时也不需要从原始内容拥有者取得内容,这样导致网络使用总量的减少。
发明内容
提供本发明内容以按照简化的形式来介绍对构思的选择,将在下面的具体实施方式中进一步对所述构思进行描述。本发明内容不意图确定所要求的主题的关键特征或基本特征,也不意图用作帮助确定所要求的主题的范围。
在一个总体方面,一种从内容中心网络(CCN)中的内容拥有者发送内容回复包的方法包括:基于内容拥有者的策略来确定缓存性能值阈值(CCVth),其中,CCVth用于确定用于缓存内容的候选节点;响应于来自内容请求者的内容请求包,发送包括内容和CCVth的内容回复包。
内容拥有者的策略可基于以下项中的任意一项或任意组合:内容的名称、内容的流行度、内容的重要性和内容的命中率。
所述方法还可包括:响应于内容拥有者的策略的改变而调整CCVth。
CCVth可用于确定用于缓存内容的候选节点的位置和用于缓存内容的候选节点的数量。
响应于CCVth具有第一值,所有的节点都可缓存内容;响应于CCVth具有第二值,没有节点可以缓存内容;响应于CCVth具有第三值,缓存性能值(CCV)大于第三值的节点可缓存内容。
所述方法还可包括:基于内容拥有者的策略来调整内容回复包中所包括的内容的寿命。
内容回复包还可包括以下项中的任意一项或任意组合:内容请求包中所包括的候选节点与内容拥有者之间的原始网络距离值(oNDV)、随着内容回复包的向下游转发而减小的网络距离减小值(dNDV)、内容请求包中所包括的最大CCV、权重值和内容的寿命。
在另一总体方面,一种非暂时性计算机可读存储介质存储用于控制计算机执行上述方法的程序。
在另一总体方面,一种从内容中心网络(CCN)中的节点发送内容请求包的方法包括:基于节点的节点相关信息来计算用于识别用于缓存内容的候选节点的缓存性能值(CCV);对计算的CCV与将被节点转发的内容请求包中所包括的CCV进行比较;基于比较的结果来确定节点是否为用于缓存内容的候选节点。
节点相关信息可包括以下项中的任意一项或任意组合:节点的缓存大小、被节点请求的内容的流行度、节点的网络集中度或节点连通度、节点的带宽和内容的名称。
内容请求包可包括内容的名称和缓存相关信息,其中,缓存相关信息包括候选节点的CCV以及内容拥有者与候选节点之间的网络距离值(NDV)。
基于比较的结果来确定节点是否为用于缓存内容的候选节点的步骤可包括:响应于计算的CCV大于将被节点转发的内容请求包中所包括的CCV,将内容请求包中所包括的CCV更新为计算的CCV;对内容请求包中所包括的内容拥有者与候选节点之间的网络距离值(NDV)进行初始化。
基于比较的结果来确定节点是否为用于缓存内容的候选节点的步骤可包括:响应于计算的CCV小于或等于将被节点转发的内容请求包中所包括的CCV,保持内容请求包中所包括的CCV不变;使内容请求包中所包括的内容拥有者与候选节点之间的网络距离值(NDV)增加。
响应于内容请求包而发送的内容回复包可包括以下项中的任意一项或任意组合:内容、内容请求包中所包括的内容拥有者与候选节点之间的原始网络距离值(oNDV)、随着内容回复包的向下游转发而减小的网络距离减小值(dNDV)、CCVth、内容请求包中所包括的最大CCV、权重值和内容的寿命。
所述方法还可包括:基于dNDV来向下游转发内容回复包。
所述方法还可包括:随着内容回复包被向下游转发而使内容回复包中所包括的dNDV减小。
所述方法还可包括:基于dDNV来识别节点或节点的邻近节点是否将用于缓存内容。
所述方法还可包括:基于对oNDV与dNDV进行比较以及对计算的CCV与CCVth进行比较的结果来将内容缓存在节点中。
所述方法还可包括:在节点的外向邻近节点的转发兴趣库(FIB)表中保持计时器,其中,计时器基于在节点中缓存的内容的寿命而被设置。
所述方法还可包括:使用最近最少使用(LRU)算法或最不常用(LFU)算法来调整缓存的内容的寿命。
所述方法还可包括:响应于缓存的内容的寿命耗尽来删除缓存的内容,或者响应于通过与存储在节点的转发兴趣库(FIB)表中的接口不同的接口接收到针对缓存的内容的内容请求包来删除缓存的内容。
所述方法还可包括:响应于内容回复包包括针对CCV的权重值,使用权重值来确定节点是否为用于缓存内容的候选节点。
使用权重值来确定节点是否为用于缓存内容的候选节点的步骤可包括:使用权重值和内容请求包中所包括的最大CCV来计算CCVth;使用计算的CCVth来确定节点是否为用于缓存内容的候选节点。
使用计算的CCVth来确定节点是否为用于缓存内容的候选节点的步骤可包括:对计算的CCVth与计算的CCV进行比较;基于对计算的CCVth与计算的CCV进行比较的结果来确定节点是否为用于缓存内容的候选节点。
基于对计算的CCVth与计算的CCV进行比较的结果来确定节点是否为用于缓存内容的候选节点的步骤可包括:响应于计算的CCV大于计算的CCVth,确定节点是用于缓存内容的候选节点。
所述方法还可包括:将权重值存储在节点中。
所述方法还可包括:将存储的权重值转发至下一节点。
在另一总体方面,一种在内容中心网络CCN中的中间节点中缓存内容的方法包括:基于内容请求者与内容拥有者之间的中间节点的节点相关信息和内容回复包中所包括的信息来识别将要缓存被内容请求者请求的内容的中间节点,其中,所述内容回复包包括响应于从内容请求者经由中间节点发送到内容拥有者的内容请求包而从内容拥有者发送的内容;在被识别的将要缓存内容的中间节点中缓存内容回复包中所包括的内容。
识别步骤可包括:在中间节点中接收内容回复包;响应于中间节点的缓存性能值(CCV)大于或等于内容回复包中所包括的缓存性能值阈值(CCVth),将中间节点识别为将要缓存被内容请求者请求的内容的中间节点;响应于CCV小于缓存CCVth,将中间节点识别为不是将要缓存被内容请求者请求的内容的中间节点。
所述方法还可包括:基于内容回复包中所包括的最大CCV和内容回复包中所包括的权重值来计算CCVth;其中,最大CCV是沿着内容请求包从内容请求者被发送到内容拥有者的传输路径中的所有中间节点之中的最大CCV。
识别步骤可包括:在中间节点中接收内容回复包;响应于中间节点的缓存性能值(CCV)大于或等于内容回复包中所包括的缓存性能值阈值(CCVth),并且内容回复包中所包括的网络距离减小值dNDV等于零,将中间节点识别为将要缓存被内容请求者请求的内容的中间节点,其中,dNDV具有随着内容回复包的向下游转发而减小的值;响应于CCV小于缓存CCVth或dNDV不等于零,将中间节点识别为不是将要缓存被内容请求者请求的内容的中间节点。
通过以下详细说明、附图和权利要求,其它特征和方面将是明显的。
附图说明
图1是示出在现有技术的内容中心网络(CCN)中的内容请求和回复的示例的示图。
图2是示出图1的CCN中的内容请求包的处理的示例的示图。
图3a和图3b是示出在CCN中对于内容请求的回复的示例的示图。
图4是示出在从CCN中的内容拥有者发送内容回复包的方法的示例的流程图。
图5是示出从CCN中的节点发送内容请求包的方法的示例的流程图。
图6是示出从CCN中的节点发送内容请求包的方法的另一示例的流程图。
图7是示出从CCN中的节点发送内容回复包的方法的示例的流程图。
图8是示出在CCN中使用内容请求包确定用于缓存内容的候选节点的方法的示例的示图。
图9是示出在CCN中使用内容回复包确定用于缓存内容的候选节点的方法的示例的示图。
图10是示出在CCN中使用外向邻近节点(outbound neighboring node)的转发信息库(FIB)表来识别具有缓存内容的节点的方法的示例的示图。
图11是示出CCN中的内容拥有者的示例的框图。
图12是示出CCN中的节点的示例的框图。
具体实施方式
提供以下详细描述以帮助读者获得对描述在此的方法、设备和/或***的全面理解。然而,对于本领域普通技术人员而言,在此描述的***、设备和/或方法的各种改变、修改以及等同物将是很明显的。在此描述的操作的顺序仅仅是示例,除非操作必须按照特定顺序发生,否则操作的顺序不受在此阐述的顺序的限制,而是可根据本领域的普通技术人员所公知的而改变。此外,为了更清楚和简明,对本领域普通技术人员公知的功能和结构的描述可被省略。
贯穿附图和具体实施方式,相同的标号表示相同的元件。附图可不按比例绘制,并且为了清楚、示意和方便,附图中的元件的相对大小、比例和描绘可被夸大。
图1是示出在现有技术的内容中心网络(CCN)中的内容请求和回复的示例的示图。
如本文中使用的,术语“节点”可被理解为包括网络装置,诸如,移动终端和路由器。术语“内容拥有者”可指的是原始拥有被“内容请求者”请求的内容的节点,术语“内容请求者”可指的是请求内容的节点。术语“中间节点”可表示CCN中不是内容拥有者和内容请求者的任意其它节点。然而,在各种示例中,内容拥有者和内容请求者可用作中间节点。
参照图1,内容请求者110通过网络发送被称为“兴趣”的内容请求包,接收该内容请求包的内容拥有者150响应于内容请求包,发送被称为“内容”的内容回复包。除了内容拥有者150之外,内容回复包中所包括的内容可被缓存在路径上的中间节点120、130和140中。
当内容拥有者150响应于内容拥有者150接收到的内容请求包来发送内容回复包时,中间节点120、130和140将内容回复包转发至内容请求包被接收的位置,例如,接口。中间节点120、130和140除了发送内容之外还可将内容回复包中所包括的内容在存储器(例如,图2的内容存储(CS)210)中被短时间地缓存。传输路径上的所有中间节点120、130和140均可缓存相同的内容。
当内容拥有者150缓存多个内容,并且多个内容请求者发送内容请求包时,网络路径上的中间节点120、130和140可缓存多个内容。当多个内容请求者请求多个内容时,大量内容可被缓存在中间节点120、130和140中的每一个节点中,并且新内容可被优选地缓存。例如,如果当中间节点120、130和140之一接收到新的内容回复包时该中间节点的CS 210已满,则该中间节点可删除在CS 210中缓存的较早的内容,并将新的内容回复包中所包括的新内容缓存在CS 210中。
图2是示出在图1的CCN中处理内容请求包的示例的示图。
在CCN(也已知为基于名称的网络或命名的数据网络)中,内容的名称可执行罗盘功能以定位内容被缓存的节点,并且内容的名称可用于识别内容。因此,每个内容使用唯一名称。具有不同名称的两个内容可被识别为不同内容,即使这两个内容的内容相同。
例如,当两个文件的内容相同但是具有不同的内容名称“/ABC.com/sait/video/intro.avi”和“/ABC.com/sait/comm/video/intro.avi”时,即使这些文件的内容相同,这些文件的内容也可被识别为不同。前置规则对于区分具有相似内容名称的不同内容会是有用的。
参照图2,描述了在CCN中处理内容请求包以基于内容的分层名称来检索相应内容的示例。
当CCN节点从接口0 201接收到对于名称为"/ABC.com/charles/abc.avi/v3/s2"的内容的内容请求包时,节点的网络模块通过参照内容请求包中所包括的内容的分层名称"/ABC.com/charles/abc.avi/v3/s2",确定在CS 210中是否存在相应的内容。
当确定在CS中存在相应的内容时,节点将相应的内容发送到接口0 201,其中,内容请求包是从接口0 201接收到的。接口也可被称为介面。
当确定在CS 210中不存在相应的内容时,节点确定用相同的内容名称"/ABC.com/charles/abc.avi/v3/s2"存储的条目是否存在于待定兴趣表(PIT)230中。
当在PIT 230中存在用相同的内容名称存储的条目时,节点将与以下接口相关联的信息添加到PIT 230中的相应条目:内容请求包从所述接口(在本例中是接口0201)被接收到。
当在PIT 230中不存在用相同的内容名称存储的条目时,节点基于内容名称在转发信息库(FIB)250中查找相应条目。节点可在进行搜索时使用最长前缀匹配。
节点基于FIB 250中登记的信息来确定内容请求包将被转发至的接口(在本例中是接口1 205),并将内容请求包转发至确定的接口1 205。
节点将与接口0 201相关联的信息0登记在PIT 230中,其中,内容请求包是从接口0 201接收到的。登记使得节点能在内容回复包被接收时将包括与内容请求包相应的内容的内容回复包转发至请求相应内容的节点。在基于FIB 250确定内容请求包将被转发至的接口时可排除以下接口:内容请求包从所述接口(在本例中是接口0 201)被接收到。
图3a和图3a是示出在CCN中对于内容请求的回复的示例的示图。
在一示例中,在CCN中,内容可被存储或缓存在与最优位置相应的节点中,而不是被存储或缓存在传输路径上的所有中间点中。内容被存储或缓存于其中的节点的邻近节点可存储与相应于最优位置的节点相关联的信息以及与最优位置相应的节点中所存储或缓存的内容的列表,以促进有效的内容路由。
可基于节点的状态(包括节点的CS的大小、请求的频率、节点的网络集中度或节点连通度)来将内容缓存在与最优位置相应的节点中。邻近节点可识别内容被缓存的节点,并可支持基于识别的内容路由以将网络缓存资源的使用最大化。
这样,分布的内容存储和内容缓存节点识别可减少网络使用量,并可提供对于来自用户的请求的快速响应。
参照图3a,当内容拥有者301拥有内容“a”和内容“b”,用户1 303请求内容“a”和用户2请求内容“b”时,内容“a”可被缓存在被确定为最优的节点313中,内容“b”可被缓存在被确定为最优的节点315中。节点313和节点315的外向邻近节点317可存储节点313和节点315的位置、在节点313和节点315中缓存的内容“a”和“b”的名称或内容的列表。
参照图3b,在用户3 307请求内容“a”之后,邻近节点317可将对于内容“a”的请求重新路由到也缓存有内容“a”的节点313。由于内容“a”也被缓存在节点313中,因此在传输路径上的邻近节点317可以知道内容“a”被缓存的节点的位置和该节点中缓存的内容的名称。
因此,邻近节点317可将对于内容“a”的请求从用户3 307重新路由至节点313,从而使节点313可将内容“a”发送到用户3 307。
以下,更详细地描述查找被确定为对于缓存内容来说最优的节点的方法以及通过邻近节点识别内容的方法。
图4是示出从CCN中的内容拥有者发送内容回复包的方法的示例的流程图。
为了查找被确定为对于缓存内容来说最优的节点,可定义缓存性能值(CCV)和缓存性能值阈值(CCVth)。
节点的CCV可被理解为节点的基于节点的节点相关信息来缓存内容的性能。CCV可用于识别用于缓存内容的候选节点。
CCVth可被理解为用于确定是否在节点中缓存内容的下限。CCV大于CCVth的节点可缓存内容。作为示例,可由内容拥有者基于内容拥有者的策略来确定CCVth,或者可由中间节点使用从内容拥有者发送的内容回复包中的权重值和最大CCV来确定CCVth。
在图4中,提供了对基于内容拥有者的策略来确定CCVth的情况的描述。
参照图4,在410,内容拥有者基于内容拥有者的策略来确定用于确定缓存内容的候选节点的CCVth。
可基于内容的名称、内容的流行度、内容的重要性和内容的命中率中的任意一个或任意组合来确定内容拥有者的策略。
内容的名称可以是社区名称、本地名称或前缀,而不是完整名称。
以流行内容为例,内容拥有者可基于内容的流行度来调整内容的CCVth,以允许内容被缓存在大量的节点中,反之亦然。在该示例中,可响应于内容拥有者的策略的改变来调整CCVth。
在430,内容拥有者基于内容拥有者的策略调整内容回复包中所包括的内容的寿命。
在450,内容拥有者响应于从内容请求者接收到的内容请求包,发送包括内容和CCVth的内容回复包。内容回复包可包括以下项中的任意一项或任意组合:内容请求包中所包括的内容拥有者与候选节点之间的原始网络距离值(oNDV)、随着内容回复包的向下游转发而减小的网络距离减小值(dNDV)、内容请求包中所包括的最大CCV、权重值和内容的寿命。
图5是示出从CCN中的节点发送内容请求包的方法的示例的流程图。
参照图5,在510,节点基于节点的节点相关信息计算用于识别缓存内容的候选节点的CCV。节点相关信息可包括以下项中的任意一项或任意组合:节点的缓存大小、被节点请求的内容的流行度、节点的网络集中度或节点连通度、节点的带宽和节点的名称。
在530,节点将计算的CCV与从另一节点接收的将被转发的内容请求包中所包括的CCV进行比较。内容请求包可包括内容的名称和缓存相关信息,其中,缓存相关信息包括候选节点的CCV以及候选节点与内容拥有者之间的网络距离值(NDV)。
在550,节点基于比较的结果确定节点是否为用于缓存内容的候选节点。当作为比较的结果发现计算的CCV大于内容请求包中所包括的CCV时,节点通过将内容请求包中所包括的CCV更新为计算的节点的CCV来将该节点确定为候选节点。在通过内容请求者和内容拥有者之间的每个节点之后,内容请求包将包括最终更新的CCV,即,每个节点的CCV中的最大CCV。内容拥有者可基于将计算的CCVth与内容请求包中所包括的CCV进行比较的结果,确定用于缓存内容的候选节点。内容请求包中的候选节点与内容拥有者之间的NDV可用于查找内容将被缓存的节点。
以下,将参照图6更详细地描述通过发送内容请求包来缓存内容的候选节点的方法。
图6是示出从CCN中的节点发送内容请求包的方法的另一示例的流程图。
参照图6,在605,节点基于节点的节点相关信息来计算用于识别缓存内容的候选节点的CCV。节点相关信息可包括以下项中的任意一项或任意组合:节点的缓存大小、被节点请求的内容的流行度、节点的网络集中度或节点连通度、节点的带宽和内容的名称。
在610,节点将在605计算的计算得到的CCV与从另一节点接收的将被转发的内容请求包中所包括的CCV进行比较。内容请求包可包括内容的名称和缓存相关信息,其中,缓存相关信息包括候选节点的CCV以及候选节点与内容拥有者之间的NDV。
在615,节点确定计算的CCV是否大于将被转发的内容请求包中所包括的CCV。
在620,当作为比较的结果发现计算的CCV大于内容请求包中所包括的CCV时,节点将内容请求包中所包括的CCV更新为计算的CCV。如以上参照图5所述,通过更新CCV,节点确定是用于缓存内容的候选节点,最终更新的CCV将是内容请求包所通过的每个节点的CCV中的最大CCV。
在625,节点可将内容请求包中的候选节点与内容拥有者之间的NDV初始化为空值“0”。
响应于内容拥有者接收到的内容请求包,内容拥有者可使用NDV来查找用于缓存内容的候选节点。例如,候选节点与内容拥有者之间的NVD可由跳计数来指示。
在630,节点转发内容请求包。
当计算的CCV小于或等于将被转发的内容请求包中所包括的CCV时,在635,节点保持内容请求包中所包括的CCV不变,并在640增加内容请求包中的候选节点与内容拥有者之间的NDV。
通过以上处理,被发送到内容拥有者的内容请求包将包括最终更新的CCV,即,内容请求包的传输路径上的节点的CCV中的最大CCV。
参照图8提供图6的方法的更详细的描述。
图7是示出从CCN中的节点发送内容回复包的方法的示例的流程图。
参照图7,在CCN中,每个节点可响应于内容请求包发送内容回复包,如果节点是候选节点,则该节点可缓存内容回复包中所包括的内容。
在710,节点通过图6的处理接收作为内容请求包的响应的、由内容拥有者发送的内容回复包,其中,内容请求包包含节点发送到内容拥有者的最大CCV。
作为示例,内容回复包可包括以下项中的任意一项或任意组合:内容、内容请求包中所包括的候选节点与内容拥有者之间的oNDV、随着内容回复包的向下游转发而减小的dNDV、CCVth、内容请求包中所包括的最大CCV、权重值和内容的寿命。
在720,节点基于内容回复包中所包括的oNDV来向下游转发内容回复包。
在730,节点使内容回复包中所包括的dNDV减小。
将oNDV与dNDV比较的结果以及将节点的CCV与CCVth比较的结果可用于确定是否将内容缓存在节点中。
在740,节点确定dNDV是否为“0”或者是否dNDV<α×oNDV,并确定节点的CCV是否大于或等于CCVth。可基于内容拥有者的策略或内容的流行度来确定“α”,并且“α”可具有例如值0.5。
“0”的dNDV指示内容已经到达候选节点,其中,内容将通过内容回复包被发送到该候选节点。
dNDV<α×oNDV(例如,dNDV<0.5×oNDV)指示该节点比内容拥有者更接近于请求内容的节点。大于或等于CCVth的节点的CCV指示内容可基于内容拥有者的策略被缓存在该节点中。
在750,当在740满足了条件时,节点将内容缓存在作为候选节点的节点中,例如,缓存在节点的CS中。
在760,当在740没有满足条件时,节点向下游转发内容回复包。
参照图9提供对图7的方法的更详细的描述。
图8是示出在CCN中使用内容请求包确定用于缓存内容的候选节点的方法的示例的示图。
以下,节点1可以是服务于内容请求者的节点,节点4可以是服务于内容拥有者的节点。内容请求者可请求内容,例如,文件"/naver.com/news/olympics.mp4"。
当节点1具有CCV“2”,节点2具有CCV“5”,节点3具有CCV“3”,节点4具有CCV“5”时,具有最大的CCV的节点可被确定为用于缓存内容的候选节点。可基于节点的状态,即,基于节点的节点相关信息来计算CCV。
可根据以下的等式1,基于节点的节点相关信息来确定CCV f。
f=w1·Csize+w2·BW+w3·C+w4·CP+Κ (1)
在等式1中,Csize表示节点的可用缓存大小,BW表示节点的带宽,C表示节点的网络集中度或节点的节点连通度,CP表示被相应节点请求的内容的流行度,w1、w2、w3和w4表示权重值。
内容请求者将内容请求包发送到节点1,其中,内容请求包包括:内容名称,包含例如"/naver.com/news/olympics.mp4"的内容名称;NDV字段,包含候选节点与内容拥有者之间的NDV;CCV字段,包含内容请求包的传输路径上的节点的CCV中的最大CCV。内容请求者将NDV字段和CCV字段初始化为空值“0”。
节点1将内容请求包810转发至节点2,其中,内容请求包810包括:内容的名称(例如,"/naver.com/news/olympics.mp4")、候选节点与内容拥有者之间的NDV以及节点1的CCV(例如,“2”)。节点1将候选节点与内容拥有者之间的NDV初始化为空值“0”。
节点2从节点1接收到内容请求包810,并将内容请求包810中所包括的CCV与节点2的CCV进行比较。
为了在具有最大CCV的节点中缓存内容,当接收到内容请求包的节点的CCV大于内容请求包810中所包括的CCV时,该节点记录该节点的CCV来代替内容请求包810中所包括的CCV。
因此,节点2在内容请求包830中用节点2的CCV“5”来重写节点2接收到的内容请求包810中所包括的CCV“2”。由于节点2已经重写了CCV,因此节点2同样将NDV初始化为空值“0”。
内容请求包830从节点2被转发至节点3。
由于节点3的CCV“3”小于内容请求包830中所包括的CCV“5”,因此节点3保持内容请求包830中所包括的CCV“5”不变,并在转发至节点4的内容请求包中将NDV增加到“1”(在图8中未示出)。
节点4从节点3接收内容请求包,并将内容请求包中所包括的CCV“5”与节点4的CCV“5”进行比较。
由于节点4的CCV“5”等于从节点3接收的内容请求包中所包括的CCV“5”,节点4的CCV“5”不大于从节点3接收的内容请求包中所包括的CCV“5”,因此节点4保持内容请求包中所包括的CCV“5”不变,并在转发至内容拥有者的内容请求包850中将NDV增加到“2”。
以上描述的操作可如下被编码,其中,“Interest”表示内容请求包,“Router”表示节点:
If(接收到的Interest中的CCV<Router的CCV)
{
用Router的CCV更新接收到的Interest中的CCV;
NDV==0;
}
If(接收到的Interest中的CCV>=Router的CCV)
{
//保持接收到的Interest中的CCV不变;
NDV++;
}
作为示例,可基于节点的CS的存储空间和节点的网络集中度或节点连通度来确定CCV。然而,由于CS的存储空间是可变值,因此,当大量内容被请求时,CS的存储空间可能在短时间内被完全填满。由于这个原因,可用缓存大小对于确定CCV f来说可能是无用的。
当CS的存储空间已满时,可在实际上保持CS中缓存的内容的情况下,在预定的一段时间之后虚拟地重置可用缓存大小。可选择地,可为可用缓存大小分配预定值。
因此,可基于虚拟可用缓存大小来确定CCV,从而可在网络中选择各个节点。
图9是示出在CCN中使用内容回复包来确定用于缓存内容的候选节点的方法的示例的示图。
参照图9,服务于内容拥有者的节点响应于从如参照图8描述的内容请求者接收的内容请求包,发送包括内容"/naver.com/news/olympics.mp4"的内容回复包。除了内容之外,在内容回复包中还可包括oNDV、dNDV、CCVth、最大CCV、权重值和内容的寿命(在图9中没有示出最大CCV、权重值和内容的寿命)。最大CCV是接收的内容请求包中所包括的CCV值,权重值将被应用于最大CCV。
oNDV是用于缓存内容的候选节点与内容拥有者之间的NDV,并且可从存储在接收到的内容请求包中的NDV被复制而得到。
dNDV是随着内容回复包的向下游转发而减小或改变的NDV,内容可被缓存在dNDV为“0”的节点或dNDV为“0”的节点的邻近节点中。
内容的寿命是内容将被缓存的时间长度。内容拥有者可将寿命设置为与内容的流行度成比例,并且可响应于接收到的内容请求包,将缓存的内容与针对内容设置的寿命一起发送。
CCVth是用于确定内容将被缓存在传输路径上的多个节点或中间节点中的哪个节点的下限。内容可被缓存在具有大于CCVth的CCV的节点中。可基于CCVth来确定候选节点的位置和候选节点的数量。
例如,当CCVth具有第一值(例如,“0”)时,所有的节点都可缓存内容。当CCVth具有第二值(例如,“0xFFFF”)时,没有节点可以缓存内容。
当CCVth具有第三值(例如,“CCV×e-p”,其中,p表示流行度)时,具有大于第三值的CCV的节点可缓存内容。
作为示例,可将CCVth设置为第四值,例如,流行内容的社区名称。以流行音乐为例,可将CCVth设置为包括与流行音乐相关联的音乐信息的社区名称。在这种情况下,仅与社区名称相应的节点可缓存内容。
作为示例,中间节点可使用权重值而不是基于内容拥有者的策略确定的CCVth来确定用于缓存内容的候选节点。在这种情况下,权重值可与接收的内容请求消息中所包括的最大CCV一起被包括在内容回复包中并被发送到每个节点。
当中间节点接收到包括最大CCV和权重值的内容回复包时,中间节点可使用权重值来计算CCVth,并可使用计算的CCVth来确定中间节点是否为用于缓存内容的候选节点。也就是说,节点可基于使用权重值计算的CCVth来确定节点是否将缓存内容。
可基于内容的流行度来计算权重值,并可将权重值应用于内容请求消息中所包括的最大CCV。权重值可与流行度成反比,并且可具有例如“0”到“1”之间的值。在该示例中,更接近于“0”的权重值可被分配给具有更高流行度的内容。
为了使得具有高流行度的内容被缓存在更多数量的中间节点中,可通过减小权重值(最大CCV将与其相乘)来将权重值设置为与流行度成反比(例如,更接近于“0”),从而使新的CCVth减小。
接收到内容请求包的节点可通过将最大CCV乘以权重值来计算CCVth。
节点可通过将节点的CCV与计算的CCVth进行比较来确定是否为用于缓存内容的候选节点。
可将具有大于计算的CCVth的CCV的节点确定为用于缓存相应内容的候选节点。对于基于将节点的CCV与计算的CCVth进行比较的结果来确定是否缓存内容的方法,参照以上提供的基于内容拥有者的策略来确定CCVth的情况的描述。
节点可存储内容回复包中所包括的权重值。当存储权重值的节点接收到内容请求消息时,节点可将内容请求消息中所包括的最大CCV与存储的权重值一起发送到下一节点,其中,存储的权重值用于确定是否将内容缓存在沿内容请求被发送的路径上的节点。
另外,节点可接收基于内容拥有者的策略确定的CCVth和权重值。
接收到CCVth和权重值的中间节点可使用两路处理来确定是否为用于缓存内容的候选节点。也就是说,节点可使用CCVth立即确定是否为用于缓存内容的候选节点,并且当处理接收的内容请求消息时,可使用内容请求包中所包括的最大CCV和权重值来确定是否为用于缓存内容的候选节点。
内容拥有者将内容回复包910发送到节点4,其中,内容回复包910包括:内容"/naver.com/news/olympics.mp4"、与转发至内容拥有者的图8中的内容请求包850中所包括的NDV“2”相等的oNDV“2”、dNDV“2”、以及如参照图8描述的基于内容拥有者的策略确定的CCVth“5”。内容拥有者将dNDV初始化为oNDV的值“2”。
节点4接收内容回复包910,并将dNDV减为“1”。因此,节点3接收包括dNDV“1”的内容回复包930。节点3将dNDV减为“0”,相应地,节点2接收到包括dNDV“0”的内容回复包括950。
在节点2从节点3接收到包括dNDV“0”的内容回复包950时,节点2确定节点2的CCV“5”是否大于或等于内容回复包950中所包括的CCVth“5”。当节点2的CCV大于或等于CCVth时,节点2缓存内容。由于节点2的CCV“5”等于CCVth“5”,因此节点2缓存内容。
可如下对确定节点是否为传输路径上的节点中用于缓存内容的候选节点的方法进行编码:
If(((dNDV=0)or(dNDV<α×oNDV))&(CCV>=CCVth))
{
缓存内容;
}
可基于内容拥有者的策略或内容的流行度来确定“α”,并且“α”例如可具有值0.5。
当缓存的内容的寿命耗尽时,或者当通过与节点的FIB表中存储的接口不同的接口接收到针对缓存的内容的内容请求包时,节点2可删除在节点2中缓存的内容。
图10是示出在CCN中使用外向邻近节点的FIB表来识别具有缓存的内容的方法的示例的示图。
参照图10,节点4从内容拥有者接收内容回复包1010,其中,内容回复包1010包括内容"/naver.com/news/olympics.mp4"、与内容拥有者接收的内容请求包中所包括的NDV“2”相等的oNDV“2”、与oNDV“2”相等的dNDV“2”以及基于内容拥有者的策略确定的CCVth“5”。
在节点4接收到内容回复包1010之后,节点4将dNDV减为“1”。因此,节点3从节点4接收到包括dNDV“1”的内容回复包1020。
节点3基于dNDV识别节点3或节点3的邻近节点是否将缓存内容。
为了识别内容将被缓存的位置,节点3确定内容回复包中所包括的信息是否满足(dNDV≤0.5×oNDV)&(CCV≤CCVth)。
当满足了(dNDV≤0.5×oNDV)&(CCV≤CCVth)时,节点3识别内容将被缓存在节点3的邻近节点中,并将与内容相关联的信息(例如,内容的名称和位置)存储在节点3的FIB表中。
作为外向邻近节点的节点3可在节点3的FIB中保持计时器信息以及内容的名称(例如,内容的前缀)和传输路径(即,接口)。计时器信息可指示与将被存储的内容相关联的时间长度信息。
计时器可为用于临时缓存的路由表(即,FIB表)的条目资源的有效使用起到作用,并且可基于缓存的内容的寿命来设置计时器。
响应于接收到内容回复包,节点可通过指向缓存的内容的表中的计时器来调整内容的寿命。
例如,节点3可使用最近最少使用(LRU)算法或最不常用(LFU)算法来调整缓存的内容的寿命。
节点3可减少最近最少使用的内容的寿命,或可基于LRU算法来将寿命调整为“0”。另外,节点3可减少最不常用的内容的寿命,或可基于LFU算法来将寿命调整为“0”。
节点3可将与图9的内容回复包950相同的内容回复包1030发送到节点2。
可如下对具有缓存的内容的节点的外向邻近节点的操作进行编码:
If((dNDV<=0.5×oNDV)&(CCV<=CCVth))
{
存储内容名称&位置;
设置FIB耗尽计时器;
}
作为示例,在未缓存的节点中,具有缓存的内容的节点的外向邻近节点可存储内容的名称而不是存储内容,并且可指向传输路径。因此,可节省CCN中的缓存资源。
另外,无论存储内容的名称的节点是单个还是多个,这样的节点都可将距内容拥有者的距离与距具有缓存的内容的节点的距离进行比较,并可将内容请求消息发送到最近的位置。在该示例中,跳计数或往返时间(RTT)可用于对距离进行比较。因此,内容被缓存的节点可按照简单的方式被识别,并且可执行路由而不需要附加的控制消息。
为了管理缓存的内容的名称,每个节点最初可将FIB表中的相应条目的寿命设置为具有小的值,并且该值可被应用于根据策略缓存了内容的所有节点。
即使删除了缓存的内容,当在节点中保持了内容的名称时,会发生误报。
因此,当针对缓存的内容的附加请求消息被发送到保持了内容的名称的节点时,缓存了内容的节点可基于流行度、命中率和内容的使用来重置内容的寿命,并可将重置信息发送到邻近节点。可通过更新与网络中缓存的内容相关联的信息来减少误报的可能性。
作为示例,存储了内容的名称的节点可将内容请求消息发送到具有缓存的内容的节点而不是发送到内容拥有者,使得内容请求者能够从具有缓存的内容的节点接收内容,而不是从内容拥有者接收内容。
具有缓存的内容的节点可将缓存内容的更新后的寿命与缓存的内容一起转发,从而可提高内容感知路由的可靠性。
在CCN中,节点可在表中分开地管理缓存的内容和原始内容。因此,节点可在需要时发送针对原始内容的内容请求消息,或者在使用缓存的内容的回复失败时响应于接收的内容请求消息来发送原始内容。
图11是示出CCN中的内容拥有者1100的示例的框图。
参照图11,内容拥有者1100包括确定器1110、发送器1130、阈值调整器1150和寿命调整器1170。
确定器1110基于内容拥有者1100的策略来确定用于缓存内容的候选节点的CCVth。
可基于内容的名称、内容的流行度、内容的重要性和内容的命中率中的任意一项或任意组合来确定内容拥有者的策略。
CCVth可用于确定候选节点的位置和候选节点的数量。
例如,当CCVth具有第一值时,所有的节点都可缓存内容,当CCVth具有第二值时,没有节点可缓存内容,当CCVth具有第三值时,具有大于第三值的CCV的节点可缓存内容。
发送器1130响应于从内容请求者接收的内容请求包发送包括内容和CCVth的内容回复包。
内容回复包可包括以下项中的任意一项或任意组合:内容请求包中所包括的候选节点与内容拥有者之间的oNDV、随着内容回复包的向下游转发而减小的dNDV、内容请求包中的最大CCV、权重值和内容的寿命。
阈值调整器1150响应于内容拥有者1100的策略改变来调整CCVth。
寿命调整器1170基于内容拥有者1100的策略来调整内容回复包中所包括的内容的寿命。
图12是示出CCN中的节点1200的示例的框图。
参照图12,节点1200包括计算器1210、比较器1220和确定器1230。
计算器1210基于节点1200的节点相关信息来计算用于识别缓存内容的候选节点的CCV。
节点相关信息可包括以下项中的任意一项或任意组合:节点的缓存大小、被节点请求的内容的流行度、节点的网络集中度或节点连通度、节点的带宽和节点的名称。
比较器1220将计算的CCV与将被节点1200转发的内容请求包中所包括的CCV进行比较。
确定器1230基于比较的结果来确定节点1200是否为用于缓存内容的候选节点。
可使用一个或更多个硬件部件、一个或更多个软件部件、或者一个或更多个硬件部件与一个或更多个软件部件的组合来实现以上描述的图11和图12中示出的执行图3a、图3b和图4到图10中示出的操作的确定器1110、发送器1130、阈值调整器1150、寿命调整器1170、计算器1210、比较器1220和确定器1230。
硬件部件可以是例如物理地执行一个或更多个操作的物理装置,但不限于此。硬件部件的示例包括电阻器、电容器、电感器、电源、频率发生器、运算放大器、功率放大器、低通滤波器、高通滤波器、带通滤波器、模拟到数字转换器、数字到模拟转换器和处理装置。
可例如通过受软件或指令控制的处理装置来实施软件部件以执行一个或更多个操作,但不限于此。计算器、控制器或其它控制装置可使得处理装置运行软件或执行指令。可通过一个处理装置来实施一个软件部件,或者可通过一个处理装置来实施两个或更多个软件部件,或者可通过两个或更多个处理装置来实施一个软件部件,或者可通过两个或更多个处理装置来实施两个或更多个软件部件。
可使用一个或更多个通用或专用计算机(诸如,处理器、控制器和算术逻辑单元、数字信号处理器、微计算器、现场可编程阵列、可编程逻辑单元、微处理器或能够运行软件或执行指令的任何其它装置)来实现处理装置。处理装置可运行操作***(OS),并可运行在OS下操作的一个或更多个软件应用。处理装置可在运行软件或执行指令时访问、存储、操纵、处理并创建数据。简单来说,虽然在描述中可使用术语“处理装置”,但是本领域普通技术人员将理解,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括一个或更多个处理器或者一个或更多个处理器和一个或更多个控制器。此外,可有不同的处理配置,诸如并行处理器或多核处理器。
被配置为实施软件组件以执行操作A的处理装置可包括被编程为运行软件或执行指令以控制处理器执行操作A的处理器。此外,被配置为实施软件组件以执行操作A、操作B和操作C的处理装置可具有不同配置,诸如,被配置为实施软件组件以执行操作A、操作B和操作C的处理器;被配置为实施软件组件以执行操作A的第一处理器和被配置为实施软件组件以执行操作B和操作C的第二处理器;被配置为实施软件组件以执行操作A和操作B的第一处理器和被配置为实施软件组件以执行操作C的第二处理器;被配置为实施软件组件以执行操作A的第一处理器、被配置为实施软件组件以执行操作B的第二处理器和被配置为实施软件组件以执行操作C的第三处理器;被配置为实施软件组件以执行操作A、操作B和操作C的第一处理器和被配置为实施软件组件以执行操作A、操作B和操作C的第二处理器;或者均实施操作A、操作B和操作C中的一个或更多个操作的一个或更多个处理器的任何其它配置。虽然这些示例提到了三个操作A、B和C,但是操作的数量不限于三个,而可以是任何数量的实现期望的结果或执行期望的任务所需的操作。
用于控制处理装置实现软件组件的软件或指令可包括用于独立地或共同地指示或配置处理装置以执行一个或多个期望操作的计算机程序、代码段、指令或它们的组合。软件或指令可包括可由处理装置直接执行的机器代码(诸如由编译器产生的机器代码)和/或可由处理装置使用解释器来执行的更高级代码。可在任何类型的机器、组件、物理或虚拟装备、计算机存储介质或装置或能够将指令或数据提供给处理装置或由处理装置解释的传播信号波中永久地或临时地实施所述软件或指令以及任何关联的数据、数据文件和数据结构。也可将所述软件或指令以及任何关联的数据、数据文件和数据结构分布在联网的计算机***上,使得按照分布方式来存储并执行所述软件或指令以及任何关联的数据、数据文件和数据结构。
例如,可在一个或更多个非暂时性计算机可读存储介质中记录、存储或固定所述软件或指令以及任何关联的数据、数据文件和数据结构。非暂时性计算机可读存储介质可以是能够存储所述软件或指令以及任何关联的数据、数据文件和数据结构以使得它们可被计算机***或处理装置读取的任何数据存储装置。非暂时性计算机可读存储介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘或本领域普通技术人员已知的任何其它非暂时性计算机可读存储介质。
可由所述示例所属领域的程序员基于附图和在此提供的它们的相应描述来容易地构建用于实现在此公开的示例的功能程序、代码和代码段。
虽然本公开包括特定示例,但是本领域普通技术人员将理解:在不脱离权利要求和它们的等同物的情况下,可在这些示例中进行形式上和细节上的各种改变。如果按照不同顺序执行描述的技术,和/或如果按照不同方式组合在描述的***、架构、装置或电路中的组件和/或由其它组件或其等同物来替代或补充在描述的***、架构、装置或电路中的组件,则可实现适当的结果。因此,本公开的范围并非由具体实施方式限定而是由权利要求和它们的等同物所限定,并且在权利要求和它们的等同物的范围内的所有变化将被解释为包含在本公开中。
Claims (28)
1.一种从内容中心网络CCN中的内容拥有者发送内容回复包的方法,所述方法包括:
基于内容拥有者的策略来确定缓存性能值阈值CCVth,其中,CCVth用于确定用于缓存内容的候选节点;
响应于来自内容请求者的内容请求包,发送包括内容和CCVth的内容回复包,
其中,内容拥有者的策略基于以下项中的任意一项或任意组合:内容的名称、内容的流行度、内容的重要性和内容的命中率。
2.如权利要求1所述的方法,还包括:响应于内容拥有者的策略的改变而调整CCVth。
3.如权利要求1所述的方法,其中,CCVth用于确定用于缓存内容的候选节点的位置和用于缓存内容的候选节点的数量。
4.如权利要求1所述的方法,其中,响应于CCVth具有第一值,所有的节点都缓存内容;
响应于CCVth具有第二值,没有节点缓存内容;
响应于CCVth具有第三值,缓存性能值CCV大于第三值的节点缓存内容。
5.如权利要求1所述的方法,还包括:基于内容拥有者的策略来调整内容回复包中所包括的内容的寿命。
6.如权利要求1所述的方法,其中,内容回复包还包括以下项中的任意一项或任意组合:内容请求包中所包括的候选节点与内容拥有者之间的原始网络距离值oNDV、随着内容回复包的向下游转发而减小的网络距离减小值dNDV、内容请求包中所包括的最大CCV、权重值和内容的寿命。
7.一种从内容中心网络CCN中的节点发送内容请求包的方法,所述方法包括:
基于节点的节点相关信息来计算用于识别用于缓存内容的候选节点的缓存性能值CCV;
对计算的CCV与将被所述节点转发的内容请求包中所包括的CCV进行比较;
基于比较的结果来确定所述节点是否为用于缓存内容的候选节点,
其中,节点相关信息包括以下项中的任意一项或任意组合:节点的缓存大小、被节点请求的内容的流行度、节点的网络集中度或节点连通度、节点的带宽和内容的名称。
8.如权利要求7所述的方法,其中,内容请求包包括内容的名称和缓存相关信息,其中,缓存相关信息包括候选节点的CCV以及内容拥有者与候选节点之间的网络距离值NDV。
9.如权利要求7所述的方法,其中,基于比较的结果来确定所述节点是否为用于缓存内容的候选节点的步骤包括:响应于计算的CCV大于将被所述节点转发的内容请求包中所包括的CCV,
将内容请求包中所包括的CCV更新为计算的CCV;
对内容请求包中所包括的内容拥有者与候选节点之间的网络距离值NDV进行初始化。
10.如权利要求7所述的方法,其中,基于比较的结果来确定所述节点是否为用于缓存内容的候选节点的步骤包括:响应于计算的CCV小于或等于将被所述节点转发的内容请求包中所包括的CCV,
保持内容请求包中所包括的CCV不变;
使内容请求包中所包括的内容拥有者与候选节点之间的网络距离值NDV增加。
11.如权利要求7所述的方法,其中,响应于内容请求包而发送的内容回复包包括以下项中的任意一项或任意组合:内容、内容请求包中所包括的内容拥有者与候选节点之间的原始网络距离值oNDV、随着内容回复包的向下游转发而减小的网络距离减小值dNDV、缓存性能值阈值CCVth、内容请求包中所包括的最大CCV、权重值和内容的寿命。
12.如权利要求11所述的方法,还包括:基于dNDV来向下游转发内容回复包。
13.如权利要求12所述的方法,还包括:随着内容回复包被向下游转发而使内容回复包中所包括的dNDV减小。
14.如权利要求13所述的方法,还包括:基于dDNV来识别所述节点或所述节点的邻近节点是否将用于缓存内容。
15.如权利要求11所述的方法,还包括:基于对oNDV与dNDV进行比较以及对计算的CCV与CCVth进行比较的结果来将内容缓存在所述节点中。
16.如权利要求15所述的方法,还包括:在所述节点的外向邻近节点的转发兴趣库表中保持计时器,其中,计时器基于在所述节点中缓存的内容的寿命而被设置。
17.如权利要求16所述的方法,还包括:使用最近最少使用算法或最不常用算法来调整缓存的内容的寿命。
18.如权利要求15所述的方法,还包括:响应于缓存的内容的寿命耗尽来删除缓存的内容,或者响应于通过与存储在所述节点的转发兴趣库表中的接口不同的接口接收到针对缓存的内容的内容请求包来删除缓存的内容。
19.如权利要求11所述的方法,还包括:响应于内容回复包包括针对CCV的权重值,使用权重值来确定所述节点是否为用于缓存内容的候选节点。
20.如权利要求19所述的方法,其中,使用权重值来确定所述节点是否为用于缓存内容的候选节点的步骤包括:
使用权重值和内容请求包中所包括的最大CCV来计算CCVth;
使用计算的CCVth来确定所述节点是否为用于缓存内容的候选节点。
21.如权利要求20所述的方法,其中,使用计算的CCVth来确定所述节点是否为用于缓存内容的候选节点的步骤包括:
对计算的CCVth与计算的CCV进行比较;
基于对计算的CCVth与计算的CCV进行比较的结果来确定所述节点是否为用于缓存内容的候选节点。
22.如权利要求21所述的方法,其中,基于对计算的CCVth与计算的CCV进行比较的结果来确定所述节点是否为用于缓存内容的候选节点的步骤包括:响应于计算的CCV大于计算的CCVth,确定所述节点是用于缓存内容的候选节点。
23.如权利要求11所述的方法,还包括:将权重值存储在所述节点中。
24.如权利要求23所述的方法,还包括:将存储的权重值转发至下一节点。
25.一种在内容中心网络CCN中的中间节点中缓存内容的方法,所述方法包括:
基于内容请求者与内容拥有者之间的中间节点的节点相关信息和内容回复包中所包括的信息来识别将要缓存被内容请求者请求的内容的中间节点,其中,所述内容回复包包括响应于从内容请求者经由中间节点发送到内容拥有者的内容请求包而从内容拥有者发送的内容;
将内容回复包中所包括的内容缓存在被识别的将要缓存内容的中间节点中,
其中,节点相关信息包括以下项中的任意一项或任意组合:节点的缓存大小、被节点请求的内容的流行度、节点的网络集中度或节点连通度、节点的带宽和内容的名称。
26.如权利要求25所述的方法,其中,识别步骤包括:
在中间节点中接收内容回复包;
响应于中间节点的缓存性能值CCV大于或等于内容回复包中所包括的缓存性能值阈值CCVth,将中间节点识别为将要缓存被内容请求者请求的内容的中间节点;
响应于CCV小于CCVth,将中间节点识别为不是将要缓存被内容请求者请求的内容的中间节点。
27.如权利要求26所述的方法,还包括:基于内容回复包中所包括的最大CCV和内容回复包中所包括的权重值来计算CCVth;
其中,最大CCV是内容请求包从内容请求者被发送到内容拥有者的传输路径中的所有中间节点的CCV之中的最大CCV。
28.如权利要求25所述的方法,其中,识别步骤包括:
在中间节点中接收内容回复包;
响应于中间节点的缓存性能值CCV大于或等于内容回复包中所包括的缓存性能值阈值CCVth,并且内容回复包中所包括的网络距离减小值dNDV等于零,将中间节点识别为将要缓存被内容请求者请求的内容的中间节点,其中,dNDV具有随着内容回复包的向下游转发而减小的值;
响应于CCV小于CCVth或dNDV不等于零,将中间节点识别为不是将要缓存被内容请求者请求的内容的中间节点。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0134452 | 2012-11-26 | ||
KR20120134452 | 2012-11-26 | ||
KR1020130030394A KR102100710B1 (ko) | 2012-11-26 | 2013-03-21 | 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법 |
KR10-2013-0030394 | 2013-03-21 | ||
PCT/KR2013/010757 WO2014081264A1 (en) | 2012-11-26 | 2013-11-26 | Method of packet transmission from node and contentowner in content-centric networking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104756449A CN104756449A (zh) | 2015-07-01 |
CN104756449B true CN104756449B (zh) | 2018-11-06 |
Family
ID=51124018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380055280.XA Active CN104756449B (zh) | 2012-11-26 | 2013-11-26 | 从内容中心网络中的节点和内容拥有者发送包的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9621671B2 (zh) |
EP (2) | EP2923468B1 (zh) |
JP (1) | JP6352290B2 (zh) |
KR (2) | KR102100710B1 (zh) |
CN (1) | CN104756449B (zh) |
WO (1) | WO2014081264A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021537B2 (en) | 2010-12-09 | 2015-04-28 | Netflix, Inc. | Pre-buffering audio streams |
JP6020278B2 (ja) * | 2013-03-21 | 2016-11-02 | 富士通株式会社 | 自律分散型キャッシュ配置制御システム |
US10075741B2 (en) * | 2013-07-03 | 2018-09-11 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and control protocol of layered local caching for adaptive bit rate services |
JP6213914B2 (ja) * | 2013-09-27 | 2017-10-18 | パナソニックIpマネジメント株式会社 | 通信端末、およびコンテンツ出版方法 |
CN105099944B (zh) * | 2014-04-22 | 2018-08-17 | 华为技术有限公司 | 一种缓存数据的方法及转发设备 |
US9825860B2 (en) * | 2014-05-30 | 2017-11-21 | Futurewei Technologies, Inc. | Flow-driven forwarding architecture for information centric networks |
KR102185350B1 (ko) * | 2014-06-10 | 2020-12-01 | 삼성전자주식회사 | 네트워크 노드 및 네트워크 노드의 동작 방법 |
KR102203489B1 (ko) * | 2014-06-30 | 2021-01-14 | 에스케이텔레콤 주식회사 | Ccn 이름 구성 방법과 ccn 이름 기반 라우팅 방법 및 장치 |
KR102147669B1 (ko) * | 2014-06-30 | 2020-10-14 | 에스케이텔레콤 주식회사 | 콘텐츠 전송 방법, 이를 위한 장치 및 시스템 |
JP6406671B2 (ja) * | 2015-02-26 | 2018-10-17 | Kddi株式会社 | コンテンツキャッシュ方法および装置 |
US10757213B2 (en) * | 2015-08-14 | 2020-08-25 | Futurewei Technologies, Inc. | Method and apparatus for pushing data in a content-centric networking (CCN) network |
US10686702B2 (en) | 2015-11-06 | 2020-06-16 | Cable Television Laboratories, Inc. | Preemptive caching of content in a content-centric network |
CN106028400A (zh) * | 2016-06-30 | 2016-10-12 | 华为技术有限公司 | 一种缓存内容的方法和基站 |
US10122624B2 (en) * | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
CN106254446B (zh) * | 2016-07-29 | 2019-07-02 | 北京智芯微电子科技有限公司 | 一种基于内容中心网络的缓存放置方法及装置 |
CN106210116B (zh) * | 2016-07-29 | 2019-04-09 | 国网山西省电力公司检修分公司 | 一种基于内容中心网络的差异化存储方法及装置 |
CN107733949B (zh) * | 2016-08-11 | 2021-03-16 | 北京邮电大学 | 一种无线接入网缓存方法及*** |
CN106686060B (zh) * | 2016-12-05 | 2019-11-05 | 中国科学院声学研究所 | 一种内容扩散的方法及*** |
US10469348B2 (en) * | 2016-12-29 | 2019-11-05 | Futurewei Technologies, Inc. | Centrality-based caching in information-centric networks |
US10225201B2 (en) * | 2017-01-27 | 2019-03-05 | Futurewei Technologies, Inc. | Scalable multicast for notification-driven content delivery in information centric networks |
JP6944820B2 (ja) * | 2017-06-16 | 2021-10-06 | パナソニック株式会社 | ノード装置および該ノード装置におけるキャッシュ管理方法 |
CN108366089B (zh) * | 2018-01-08 | 2020-12-08 | 南京邮电大学 | 一种基于内容流行度和节点重要度的ccn缓存方法 |
CN109921997B (zh) * | 2019-01-11 | 2020-09-01 | 西安电子科技大学 | 一种命名数据网络缓存方法、缓存器和存储介质 |
CN110086857B (zh) * | 2019-04-15 | 2022-01-14 | 哈尔滨工程大学 | 基于缓存节点状态和位置的信息中心网络缓存部署方法 |
KR102163214B1 (ko) * | 2019-05-30 | 2020-10-08 | 한국과학기술원 | CoMP 기반 스몰 셀 네트워크에서의 기계학습을 활용한 능동 캐싱 기법 |
KR102310212B1 (ko) * | 2020-05-21 | 2021-10-06 | 홍익대학교세종캠퍼스산학협력단 | 5g 네트워크에서 정보 중심 네트워킹 기반의 엣지 컴퓨팅 활성화 방법 |
CN111614771B (zh) * | 2020-05-25 | 2021-07-13 | 北京邮电大学 | 一种内容中心物联网络的内容缓存方法 |
WO2022220885A1 (en) * | 2021-04-12 | 2022-10-20 | Intel Corporation | Capability discovery in an information centric network |
KR102602371B1 (ko) * | 2021-12-09 | 2023-11-16 | 부산대학교 산학협력단 | 콘텐츠 중심 네트워크에서 강화학습을 기반으로 캐싱하는 장치 및 방법 |
KR20230130461A (ko) * | 2022-03-03 | 2023-09-12 | 한국전자통신연구원 | 엔디엔 콘텐츠 스토어의 콘텐츠 제거 최적화 방법 및 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2120402A1 (en) * | 2008-05-16 | 2009-11-18 | Palo Alto Research Center Incorporated | Content based routing in a packet switched network |
CN101820386A (zh) * | 2009-01-30 | 2010-09-01 | 帕洛阿尔托研究中心公司 | 用于促进在以内容为中心的网络中转发分组的方法和*** |
CN102638405A (zh) * | 2012-04-12 | 2012-08-15 | 清华大学 | 内容中心网络策略层的路由方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434608B1 (en) * | 1999-02-26 | 2002-08-13 | Cisco Technology, Inc. | Methods and apparatus for caching network traffic |
GB2382962A (en) | 2001-12-07 | 2003-06-11 | Altio Ltd | Data routing without using an address |
JP2003228524A (ja) * | 2002-02-01 | 2003-08-15 | Dainippon Printing Co Ltd | コンテンツ配信システム |
TW578101B (en) * | 2002-09-11 | 2004-03-01 | Sunplus Technology Co Ltd | Method and structure for adaptively accessing command and data |
US7236786B2 (en) * | 2004-06-22 | 2007-06-26 | Industrial Technology Research Institute | Method and system for providing fast handoff in a WLAN-like communication system using active neighboring sets |
US20090144167A1 (en) | 2005-02-10 | 2009-06-04 | Pablo Calamera | System and method for managing data and voice connectivity for wireless devices |
US20070136757A1 (en) | 2005-12-09 | 2007-06-14 | Intel Corporation | System and method for a content-centric electronic guide |
JP2008035337A (ja) * | 2006-07-31 | 2008-02-14 | Brother Ind Ltd | ノード装置、配信装置、管理装置、情報処理プログラム、コンテンツ配信方法及びコンテンツ配信システム |
EP2053831B1 (en) * | 2007-10-26 | 2016-09-07 | Alcatel Lucent | Method for caching content data packages in caching nodes |
US8386622B2 (en) * | 2008-05-16 | 2013-02-26 | Palo Alto Research Center Incorporated | Method and apparatus for facilitating communication in a content centric network |
US8165118B2 (en) * | 2008-05-19 | 2012-04-24 | Palo Alto Research Center Incorporated | Voice over content centric networks |
US8537835B2 (en) * | 2008-06-20 | 2013-09-17 | Alcatel Lucent | Methods and apparatus for self-organized caching in a content delivery network |
US8239482B2 (en) * | 2008-11-13 | 2012-08-07 | At&T Intellectual Property I, Lp | System and method for selectively caching hot content in a content delivery system |
US20110040893A1 (en) * | 2009-08-14 | 2011-02-17 | Broadcom Corporation | Distributed Internet caching via multiple node caching management |
US9264342B2 (en) * | 2009-12-24 | 2016-02-16 | Samsung Electronics Co., Ltd. | Terminal device based on content name, and method for routing based on content name |
WO2011096865A1 (en) * | 2010-02-05 | 2011-08-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and node entity for enhancing content delivery network |
KR101688857B1 (ko) | 2010-05-13 | 2016-12-23 | 삼성전자주식회사 | 컨텐츠 중심 네트워크(ccn)에서 단말 및 허브의 통신 방법 및 컨텐츠 중심 네트워크를 위한 단말 |
KR20120038187A (ko) | 2010-10-13 | 2012-04-23 | 삼성전자주식회사 | 컨텐츠 중심 네트워킹 환경에서 그룹 변경에 관한 정보를 이용한 컨텐츠 공유 방법 및 장치 |
US8756297B2 (en) * | 2010-12-16 | 2014-06-17 | Palo Alto Research Center Incorporated | Energy-efficient content caching with custodian-based routing in content-centric networks |
US8751664B2 (en) | 2010-12-16 | 2014-06-10 | Palo Alto Research Center Incorporated | Custodian-based routing in content-centric networks |
-
2013
- 2013-03-21 KR KR1020130030394A patent/KR102100710B1/ko active IP Right Grant
- 2013-11-26 WO PCT/KR2013/010757 patent/WO2014081264A1/en active Application Filing
- 2013-11-26 JP JP2015543993A patent/JP6352290B2/ja active Active
- 2013-11-26 US US14/090,653 patent/US9621671B2/en active Active
- 2013-11-26 EP EP13857507.1A patent/EP2923468B1/en active Active
- 2013-11-26 CN CN201380055280.XA patent/CN104756449B/zh active Active
- 2013-11-26 EP EP18184168.5A patent/EP3410657B1/en active Active
-
2020
- 2020-04-08 KR KR1020200042560A patent/KR102301353B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2120402A1 (en) * | 2008-05-16 | 2009-11-18 | Palo Alto Research Center Incorporated | Content based routing in a packet switched network |
CN101820386A (zh) * | 2009-01-30 | 2010-09-01 | 帕洛阿尔托研究中心公司 | 用于促进在以内容为中心的网络中转发分组的方法和*** |
CN102638405A (zh) * | 2012-04-12 | 2012-08-15 | 清华大学 | 内容中心网络策略层的路由方法 |
Non-Patent Citations (1)
Title |
---|
Cache Less for More in Information-Centric Networks;Wei Koong Chai et;《International IFIP Tc 6 Conference on Networking》;20120521;P27-40 * |
Also Published As
Publication number | Publication date |
---|---|
WO2014081264A1 (en) | 2014-05-30 |
KR20200040722A (ko) | 2020-04-20 |
US20140149532A1 (en) | 2014-05-29 |
EP3410657A1 (en) | 2018-12-05 |
JP6352290B2 (ja) | 2018-07-04 |
KR102100710B1 (ko) | 2020-04-16 |
EP2923468A1 (en) | 2015-09-30 |
KR102301353B1 (ko) | 2021-09-14 |
JP2016506113A (ja) | 2016-02-25 |
EP3410657B1 (en) | 2021-02-17 |
EP2923468A4 (en) | 2016-07-06 |
KR20140067881A (ko) | 2014-06-05 |
EP2923468B1 (en) | 2019-01-16 |
CN104756449A (zh) | 2015-07-01 |
US9621671B2 (en) | 2017-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104756449B (zh) | 从内容中心网络中的节点和内容拥有者发送包的方法 | |
CN104247371B (zh) | 以信息为中心的网络中的基于名称的邻居发现和多跳服务发现 | |
CN104753797B (zh) | 一种基于选择性缓存的内容中心网络动态路由方法 | |
KR101978177B1 (ko) | 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법 | |
CN104901997B (zh) | 用于内容中心网络中的直接存储装置存取的***和方法 | |
CN106982248B (zh) | 一种内容中心网络的缓存方法及装置 | |
CN103457993B (zh) | 本地缓存装置和提供内容缓存服务的方法 | |
JP2016024815A (ja) | コンテンツ中心ネットワークを介したインタレストに対する転送及び応答のための評価ベースの戦略 | |
Amadeo et al. | IoT data processing at the edge with named data networking | |
KR20120085836A (ko) | 무리 지능을 사용하는 대규모 분산 시스템에서 정보 라우팅을 위해 프레임워크를 이용하는 시스템 및 방법 | |
CN109076108A (zh) | 接收兴趣消息的网络节点、端点节点和方法 | |
US10469348B2 (en) | Centrality-based caching in information-centric networks | |
CN105656788A (zh) | 基于流行度统计的ccn内容缓存方法 | |
CN106817300A (zh) | 在sdn网络中控制及辅助控制用户数据流的方法和装置 | |
CN107835095A (zh) | 一种日志的处理方法及装置 | |
Nguyen et al. | Adaptive caching for beneficial content distribution in information-centric networking | |
US8180857B2 (en) | Method for downloading file in parallel | |
CN109120953A (zh) | 基于sdn及ec技术的自适应流视频处理***及方法 | |
JP2007535848A (ja) | ゾーンベースのピアツーピア通信 | |
CN108076144B (zh) | 一种内容中心网络的公平缓存算法及装置 | |
CN106130912A (zh) | 一种路由节点及路由方法 | |
CN113934916A (zh) | Cdn业务的实现方法、终端设备、节点服务器及存储介质 | |
CN105554159A (zh) | 一体化智慧社区云存储*** | |
Lal et al. | An efficient lookup search and forwarding mechanism for information-centric networking (ICN) | |
CN108566434A (zh) | 一种基于流行度与节点重要度的缓存方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |