以信息为中心的网络中的数据管理的制作方法

文档序号:17851829发布日期:2019-06-11 22:16阅读:207来源:国知局
以信息为中心的网络中的数据管理的制作方法

本专利申请要求2017年1月24日提交的美国申请序列号15/414,036的优先权,该申请要求2016年11月21日提交的美国临时专利申请号62/424,985的优先权,这些申请中的每一者通过引用整体结合于此。

实施例总体上涉及网络系统,并且更具体地涉及用于在以信息为中心的网络(icn)中管理数据(例如,搜索、命名、路由和/或存储数据)的系统、设备和方法。

技术背景

网络架构可包括基于网际协议(ip)地址的节点通信。此种类型的架构有时被称为面向主机的网络(hon)。hon包括相应的源与目的地设备之间的相应对话,一者希望访问资源并且一者提供对该资源的访问。ip分组由此为每个分组标识源和目的地。很多互联网流量是源与目的地设备之间使用传输控制协议(tcp)的会话。

该hon可能不是对于一些通信的最佳匹配。许多互联网通信涉及对内容的访问。相较于hon,以信息为中心的网络(icn)架构可提供设备之间更可靠和/或高效的通信。与在hon中使用ip地址相比,icn允许内容在网络层处被命名。

附图说明

在附图中(这些附图不一定是按比例绘制的),相同数字可描述不同视图中的类似组件。具有不同的字母后缀的相同的数字可表示类似组件的不同实例。附图一般通过示例的方式而不是限制的方式来图示在本文档中所讨论的各实施例。

图1作为示例图示出hon的层的实施例的逻辑框图。

图2作为示例图示出icn的层的实施例的逻辑框图。

图3作为示例图示出兴趣分组的实施例的逻辑框图。

图4作为示例图示出内容分组的实施例的逻辑框图。

图5作为示例图示出互连的网络的实施例的逻辑图。

图6作为示例图示出互连的网络的另一实施例的逻辑图。

图7作为示例图示出rcdn系统的实施例的逻辑图。

图8作为示例图示出rcdn系统的实施例的逻辑图。

图9作为示例图示出rcdn节点的实施例的逻辑图。

图10作为示例图示出诸如可由处理电路执行的用于内容管理的方法的实施例的逻辑图。

图11作为示例图示出可响应于一个或多个兴趣分组的系统的实施例的逻辑框图。

图12作为示例图示出扩展兴趣分组的实施例的逻辑图。

图13作为示例图示出扩展内容分组的实施例的逻辑图。

图14作为示例图示出扩展fib的实施例的逻辑图。

图15作为示例图示出可提供灵活搜索能力的icn系统的部分的实施例的图示。

图16作为示例图示出用于跟踪流行度计数的集中式系统的实施例的逻辑图。

图17作为示例图示出内容流行度树的实施例的概念框图。

图18作为示例图示出名称字段的实施例的逻辑图。

图19作为示例图示出icn系统的部分的实施例的逻辑框图。

图20作为示例图示出包括集中式策略服务器的系统的实施例的逻辑框图。

图21作为示例图示出与在云的边缘处操作的iot设备的网状网络(其可被称为边缘网络)通信的云计算网络或云的图示。

图22作为示例图示出系统的实施例的逻辑框图。

具体实施方式

本公开中的示例涉及包括诸如在icn中管理数据的设备、系统和方法。

icn将范例从对数据的节点端点寻址的路由转移到基于内容名称的路由。在icn中,内容的名称被用于响应于兴趣请求而对数据进行路由。由于寻址是基于内容名称(例如,兴趣属性)的,因此从其提供数据的源在icn中变成次要的。这允许各种优化选项,例如,在网络中原生地将数据高速缓存在系统的“任意”节点处(例如,能够服务兴趣分组的任何节点)。兴趣分组可从包括所请求的内容的最接近的高速缓存资源被服务。可基于内容流行度计数、设备的地理位置、对于访问数据的设备就总访问等待时间而言成本最低的源、带宽源、和/或高速缓存设备的可靠性来移动高速缓存中的内容。

此种“网络中高速缓存”可提供要对什么进行高速缓存以及高速缓存在何处、要将什么内容迁移在什么地方和/或何时进行迁移、要丢弃什么和/或何时丢弃等等中的灵活性。本文中所公开的是icn中的包括数据属性管理的数据管理技术等等,以允许成本高效的和/或存储高效的高速缓存。此类高速缓存技术可以是有帮助的,尤其是考虑到由物联网(iot)设备所生成的大量数据诸如可能位于网络的边缘处。

与hon相比,在icn中,节点基于经命名的内容而不是ip地址来进行通信。在hon中,分组包括定义目的地的报头,并且包括要被传输到该目的地的有效载荷(数据)。在icn中,发出兴趣或内容请求消息,并且返回内容对象或内容返回消息(有时被称为内容分组)。内容分组的内容可驻留在分布式存储器(例如,分布式高速缓存、存储器或其他形式的存储)中并且从该分布式存储器被检取。

hon与icn之间的一些基本区别可包括以下各项中的一项或多项:(1)它们使用不同的名称空间。hon使用ip地址,并且icn使用内容名称。(2)icn直接在狭窄的腰部处(第四层)包括安全性特征,诸如,可包括经签名的内容分组,而在hon中的第四层处不存在此类安全性。(3)hon将分组发送到目的地地址,而icn使用兴趣分组来取出数据分组。(4)hon具有无状态数据平面,而icn具有状态性数据平面。

icn可包括网络设备、数据(有时被称为内容)等,其可具有不同的存储容量和要求。例如,第一设备可具有比该第一设备执行其操作所需要的更多的内部存储,而同一网络中的第二设备可以能够利用可用于由第一设备访问的一些更多的存储空间来更可靠地和/或高效地执行。

如先前所讨论,hon不同于icn。图1-图4描述了hon与icn之间的区别以及在icn中使用的基本结构。

图1作为示例图示出hon层100的实施例的逻辑框图。图2作为示例图示出icn层200的实施例的逻辑框图。图1中的hon的典型开放式系统互连(osi)模型被分成七层。这七层包括物理层102(层1)、数据链路层104(层2)、网络层106(层3)、传输层108(层4)、会话层110(层5)、呈现层112(层6)、以及应用层114(层7)。

在该七层模型中,物理层102被称为层1,并且应用层114被称为层7,其中层在此之间按次序编号。当项目被称为处于较低的层时,这意味着该项目处于具有比正在被引用的层更低的编号的层中。例如,相对于传输层108(层4)的较低的层包括网络层106、数据链路层104和/或物理层102。相对于传输层108(层4)的较高的层包括会话层110、呈现层112和/或应用层114。如图2中所图示出的icn层200包括物理层202、数据链路层204、网络层206、传输层208、以及应用层210。

在icn中,兴趣分组(参见图3)由对获取内容感兴趣的用户发出,并且包括所请求的内容的数据分组可被提供以满足兴趣分组中(由内容名称)所指示的兴趣。图3作为示例图示出兴趣分组300的实施例的逻辑框图。兴趣分组300包括允许用户在该兴趣分组300中定义所请求的内容的字段。如所图示,这些字段包括内容名称302、选择符字段304以及时数(nonce)字段306。内容对象可由内容发布者或用户诸如通过使用二进制名称分段的层级结构来命名。

在一些实施例中,不需要完美地定义所请求的内容(由兴趣分组中的内容名称所标识的内容)。例如,用户可指示内容名称的部分并使用“通配符”指示符来标识内容名称是不完整的。在另一示例中,除了扩展名(例如,“.pdf,”、“.doc”、“.mp3”等等)之外,内容名称是完整的,并且可使用通配符来代替扩展名。在此类实例中,路由器可尝试检取可用的并且按与发出兴趣分组的设备兼容的格式的最高质量格式。该设备的属性在本文中的其他地方讨论。选择符字段304允许用户指定针对与内容名称相关联的内容的特定源,或者以其他方式就响应于接收兴趣分组300而要被返回的数据的范围而言更具体的。时数字段306可被用来限制兴趣分组300在被丢弃之前持续的时间量,确保内容是真实的(例如,源自指定的发布者、是指定的版本、尚未被篡改或以其他方式被改变等等)。

图4作为示例图示出内容分组400的实施例的逻辑框图。内容分组400可包括字段,这些字段允许发出对应的兴趣分组的用户验证内容是真实的、为所请求的内容提供安全性、和/或将所请求的内容提供给请求方。如所图示,这些字段包括内容名称字段402、签名字段404、经签名的信息字段406、以及数据字段408(例如,所请求的内容,诸如,以经加密的、经压缩的、未经加密的、和/或未经压缩的格式)。

内容名称字段402可包括与内容名称字段302相同的数据。在一些icn配置中,用户不需要定义完整的内容名称,并且在此类实例中,内容名称字段302可不同于内容名称字段402。签名字段404可包括将内容名称绑定到有效载荷(数据字段408)的密码签名。如果发出兴趣分组300的用户具有发布者的密钥,诸如可使用来自签名字段404或经签名的信息字段406来确定,则该用户可访问数据字段408。在一个或多个实施例中,对内容进行访问所要求的数据可在兴趣分组300中被提供,诸如,在时数字段306中。经签名的信息字段406可包括对内容如何被压缩或被加密的指示、或者指示数据字段408中的内容是真实的数据。经签名的信息字段406可包括:发布者的标识、可被用来解密数据字段408和/或验证数据字段408的真实性的密钥的位置、在此之后数据变得“陈旧”(例如,不再相关或者被更准确的数据所取代)的时间量(或者数据变得“陈旧”所在的所指定的时刻)等。

在一些实施例中,icn网络对兴趣分组300进行路由,并且兴趣分组300的待处理兴趣表(pit)被更新以记录兴趣分组300通过该网络的路径。在发现包括与兴趣分组300中所指定的名称充分匹配的名称的内容对象之后,该内容对象通过(以当前的icn路由技术)反转pit中所指定的路径而被往回路由至发出方,诸如在内容分组400中。

本文中的实施例可包括对数据如何被发布到icn的一个或多个存储器的添加和/或修改,诸如,可包括专用存储器设备和/或物联网(iot)的存储器或者该网络的其他处理设备(例如,中央处理单元(cpu)或图形处理单元(gpu)等)。在一个或多个实施例中,存储器(有时称为内容存储)中的数据(有时被称为内容)可被存储有属性。这些属性可指示内容源自的设备、服务水平协议(sla)、数据保留在内容存储中的时间跨度、内容是否持久、等待时间、指示设备是否具有有线和/或无线通信能力的类型、内容的类型(例如,内容将被流送还是静态的)或者其他属性。

相比之下,当前icn内容存储不包括此类属性。例如,可在判定数据是否在诸如不违反sla的情况下被移动到不同的内容存储时使用此类属性。此类属性可与内容一起行进,诸如以保留属性信息,该属性信息可被用来判定内容是否可被移动、从内容存储被移除、和/或以其他方式被改变(就内容和/或位置而言)。

sla是定义消费者将从(内部或外部的)服务提供者接收到什么的合约。sla定义从服务提供者所预期的服务水平。sla有时被称为sda。

用于iot的rcdn

此章节的网络对于在诸如图1中所示出的hon或者如图2中所示出的icn中正在被配置的网络层是不可知的。

物联网(iot)生成巨量的数据。包括iot设备的网络中的数据与标准内容分发网络(cdn)中的数据不同地流动。代替于从中央位置(例如,后端云)向外流动到网络边缘,iot数据在边缘处被创建(例如,数据源是传感器和/或其他iot设备)。iot数据可由远程iot应用使用,并且也可在本地网络中。iot数据由边缘节点和/或雾计算元件(即,复制更接近于数据创建(诸如,在网络边缘处或者在网络边缘附近)的云功能(例如,计算、分析、存储)的节点)以各种方式处理,这些方式诸如可包括压缩、移除、分析、编码/转码以及其他变换。尤其当设备和本地存储用尽容量时,iot数据可动态地被高速缓存和/或被迁移,诸如,可以是基于上下文的。可向上游发送iot数据,并且可将该iot数据与来自其他iot设备的数据组合或聚合。数据可被存档,或者可被发送到更上游的元件或云。

实施例呈现了被称为反向cdn(或者简称为rcdn)的新的方式。rcdn可提供适用于iot数据的内容分发基础设施。rcdn区别于先前的方案,由于其可考虑并处置iot数据(不限于视频或其他类型的多媒体)、简化iot数据管理和/或支持iot数据(自然的)反向流动。rcdn可提供较大尺寸的数据到较小数据区块的变换以及通过运行中网络中处理、实时分析、数据压缩、高速缓存和/或存储在边缘节点之间的分发。

在实施例中,rcdn框架处置网络边缘处的内容分发、聚合和处理。路由层(例如,传输层108或208)可理解通知rcdn拓扑的创建的功能和非功能标准。路由层之上的服务层可对在数据通过rcdn集合节点向上游流动时应当对该数据执行的操作(例如,分析、编码/转码、压缩、高速缓存)进行抽象。图5中描绘了rcdn框架中的数据流。

标准cdn也适于向下游将内容从云分发到网络的边缘,但是它们不被设计成用于处置高度动态的(非静态的、可能移动的)数据、可变的数据内容(例如,从用于监控的视频内容变化为智能仪表读数和/或温度、压力、湿度、音频、光学或其他传感器读读数)、或者向上游的数据流的聚合。而且,cdn典型地以分层的配置来组织,这与许多iot网络的网状行为不相匹配。

“反向代理”是典型地被用来对许多客户端隐藏服务器以提高安全性或提高性能的设备。在实现从一些中央位置到网络边缘向下游的内容分发时,反向代理类似于cdn。比特流(bittorrent)是另一种值得注意的技术。不像大多数cdn,比特流被设计成用于聚合来自多个高速缓存的流量,这些高速缓存托管内容(通常是视频内容)的特定片段中的小片段。不过,比特流与传统cdn相似,由于内容来自某个中央位置而将被分发到网络边缘——内容以小片段被高速缓存并且在到达边缘客户端时被重新组装。

现有的iot联网方案不捕捉iot数据的自然流动。诸如无会话信号或消息队列化遥测传输(mqtt)之类的一些现有解决方案集中于如何通过发布/订阅、广播、或多播实现方式来本地地分发数据。其他iot解决方案(诸如,来自美国华盛顿州西雅图的amazon.com公司的利用亚马逊网络服务实现的那些)简单地依赖于将一切都发送到中央云。现有的iot联网解决方案不涉及本地地和/或远程地对数据进行路由和聚合两者,更不用说如何动态地或静态地通过系统来路由数据以供诸如同时处理和高速缓存。而且,存在用于在多个本地对等方之间共享原始数据(即,数据复制)的iot通信解决方案(例如,alljoyn无会话信号、mqtt或类似的解决方案),但是它们无法很好地适用于处置多个同时反向数据流。实施例提供了用于iot内容分发的框架,该框架不仅像传统cdn一样对数据进行分发和高速缓存,而且支持并实现多个同时的源从多个位置到阱的较小的集合的自然iot数据流动。

图5作为示例图示出互连的网络1900的实施例的逻辑图。图5根据实施例将传统cdn数据流(由箭头1902指示)与rcdniot数据流(由箭头1904指示)进行对比。如所图示,互连的网络1900包括移动设备网络1906(例如,边缘设备,诸如,可包括智能电话、智能传感器(例如,iot设备)、交通工具等等)、工业设备网络1908(例如,建筑物中互联网连接的设备或以其他方式互连的设备,诸如用于执行制造)、以及由多个家庭网络1912组成的城市网络1910,该移动设备网络1906、工业设备网络1908和城市网络1910连接至远程云1914。rcdn的数据可从网络1906、1908、1910和/或1912流向远程云1914,并且随后流向后端云1504(如由箭头1904所指示)。cdn的数据以其他方向(如由箭头1902所指示)从后端云1504流向远程云1914,并且向外流向网络1906、1908、1910和/或1912中的终端用户。

实施例支持诸如从边缘返回到数据中心的网络的所有层级处的数据创建(例如,“大数据”)和使用。实施例建立了用于iot数据处置的框架,以用于边缘处的计算和存储。

实施例提供了用于路由iot数据的框架,以用于诸如通过本地和远程服务来迁移、高速缓存、聚合和变换。该数据不限于如传统cdn中的单个内容类型,但是包括在网络中流动的各种iot数据(例如,所有的iot数据)。实施例提供了基于属性的动态数据路由机制,这些属性诸如但不限于,在节点处可用的服务(例如,编码/转码、分析、数据约简、存储、高速缓存)、优先级、网络等待时间、存储可用性、以及设备和服务正常运行时间。

实施例提供了服务目录(例如,诸如可以是集中式或分布式的内容存储或服务表(参见图6)),该服务目录可对用于作用于iot数据的可用服务进行编目,这可被用来增强路由决策。实施例提供了可扩展的服务抽象层(例如,使用api来实现,该api诸如可类似于本文中所讨论的一个或多个其他api),以处理在rcdn框架中流动的数据,该可扩展的服务抽象层诸如通过对路由复杂性进行抽象来简化iot数据路由。实施例提供了直接地与各个数据区块(例如,整个内容部分的子集)相关联的服务策略,这些服务策略可被用来指定用于处理数据的服务和属性的序列(例如,元数据、如软件防护扩展(sgx)的所要求的平台能力等等)。

图6作为示例图示出互连的网络2000的另一实施例的逻辑图。根据一个或多个实施例,网络2002、2004a、2004b和2004c各自图示出rcdn框架的一个或多个组件。网络2002是本地网络或雾网络,并且包括设备2006a、2006b和2006c。网络1914a、1914b和1914c是远程云并且分别包括设备2006d和2006e、2006f、以及2006g和2006h。

网络2002包括iot设备2006a,该iot设备2006a生成要由服务按特定顺序处理的数据2010。服务表2008a列出了要对数据2010执行的服务2014。表2008a可被存储在注册表中,并且不一定在iot设备2006a上,只要该表2008a可由路由器2012访问。表2008a包括针对服务处理器2018的要求2016,如果服务2014要被执行,则需要满足该要求2016。路由器2012a、2012b、2012c、2012d、2012e、2012f、2012g和2012h可包括根据服务2014和要求2016来确定哪个服务处理器2018将接收要被处理的数据2010的硬件和/或软件。设备2006b-h将提供用于数据块2010的给定服务2014。

rcdn具有至少两个主要的功能块——路由层(例如,包括路由器2012a-h和/或数据2010)和服务抽象层(例如,服务表2008a、包括由设备提供的服务的指示的其他存储器空间、和/或数据2010)。通过使用诸如本文中其他地方所讨论的基于属性的路由层(其基于潜在的接下来的跳的属性来优化路径选择),实施例可利用所有潜在的信息并改进路由的智能性。路由层可组合诸如每个节点处的可用服务和网络等待时间之类的多个信息层以标识下一跳。由于其对路由结构是不可知的,因此其提供了相比其他解决方案的改进的灵活性和通用性。服务抽象层取得数据块2010,并且查找与服务2014相关联的表2008,该表2008定义数据2010将如何被处理以及何时将被处理。数据可被传递到路由层,该路由层发现可帮助优化路由属性(包括任何服务要求)以用于处理列表上的下一服务的服务处理器2018。

图6图示出可如何跨本地和远程云来处理数据。使用该示例,操作可包括:在iot设备2006a中生成数据2010。由路由器2012a检查表2008a,以确定要对数据2010执行什么服务2014和用于处理的要求2016。iot设备2006a发现满足要求2016的一个或多个服务处理器2018,并且随后基于系统属性来选择最佳的一个服务处理器2018以发送数据2010。这继续直到表2008a中所有的服务2014完成。

实施例的rcdn框架适于路由技术,并且就路由技术而言是灵活的。如果底层网络堆叠允许,则路由可逐跳地完成或通过云或其他网络内以及跨云或其他网络的一组持久或半持久路径来完成。在实施例中,来自给定服务处理器的数据流可走向多个服务处理器,或者多个数据流可收敛在单个服务处理器处。在图6中图示出这两种情况。如图6中所见,多个远程网络可存在于数据的始发设备与最终目的地之间。其他数据流可在到达它们的最终目的地云之前在网络(“其他可能的数据流”)之间传递。处理系统可具有多于一个它们所实现的服务。例如,如图6中所示,一个设备2006f可处置转码和高速缓存两者。

rcdn中的iot视频数据聚合、处理和保留

实施例为本文中稍早时所介绍的iot提供了用于rcdn基础设施中的视频高速缓存、动态处理和保留的机制。在传统内容分发(例如,从诸如网飞或亚马逊之类的内容提供者开始的视频内容流送)中,内容递送网络(cdn)被部署为从内容提供者取出受欢迎的内容并高速缓存成更靠近于终端用户(内容消费者)或者通过预期期望由终端用户消费的内容(例如,政治事件、最新进的体育赛事的视频)来进行预取并高速缓存成更靠近于终端用户的装置。数据以一对多的形式通过cdn从内容源(内容提供者)流动到数据消费者(终端用户),并且在此情况下的保留策略遵循用于数据刷新/更新(例如,最近最少使用的、较不频繁使用的内容,等等)的已知的高速缓存算法。

在iot中,视频内容从下游设备(ip相机)来到上游设备(例如,诸如以cdn的相反方向从边缘节点到云),这在存在若干个内容提供者(ip相机)提供实时内容流并且终端用户是数据中央云或边缘云(在应用使用雾计算的情况下,参见针对雾计算系统的图6)的意义上改变了传统的cdn模型。此类反向的信息流在本文中被称为rcdn。在rcdn中,内容诸如以多对一的形式从内容源开始流动。考虑到未来几年预计数十亿连接的ip传感器以及它们将生成的巨量的iot视频流量,这要求开发特定的内容聚合和保留策略。根据实施例的方法和装置为用于iot的rcdn中对视频的动态聚合、处理和保留提供了解决方案。

实施例可提供用于提供以下各项中的一项或多项的特征和功能:(i)从下游节点到上游节点的动态内容拼接(以朝向后端云的方向),(ii)用于匹配iot服务需要与rcdn节点容量(例如,存储器容量、计算容量等等)的动态的且自适应的转码,(iii)内容流分发,(iv)诸如用于匹配iot服务需要的动态内容保留和期满策略,和/或(v)针对内容的多个高速缓存领域创建。

图7作为示例图示出rcdn系统1500的实施例的逻辑图。根据实施例,图7中的箭头指示rcdn系统1500中的iot视频流量流的方向。在动态内容拼接中,每个节点902b-c从多个传感器设备1502a、1502b、1502c和/或1502d中的一个或多个和/或下游rcdn节点接收一个或多个内容流(例如,视频、音频、光学或其他传感器数据流),并且将它们拼接在一起。此类拼接可给予运行(例如,执行)内容分析的机会,以提取具有有用信息(例如,兴趣区域,诸如视频中交通工具上的牌照、人/面部)的内容子集以用于改进的拼接和内容总结。此类分析可由处理电路1604(参见图8)执行。

在所图示的节点902b-g中,较高编号的层1506a、1506b、1506c和/或1506d中的节点在较低编号的层1506a-d中所有其他节点的上游。例如,层2-41506b-d中的节点在层11506a中的节点的上游,并且层1-21506a-b中的节点在层3-41506c-d中的节点的下游。

图8作为示例图示出rcdn系统1600的实施例的逻辑图。如所图示,系统1600包括向rcdn节点1602a提供内容的传感器。以分解视图来图示rcdn节点1602a,以图示出rcdn节点1602a的组件。rcdn节点1602b-c可包括类似的或相同的组件。较高/较低层电路526c、api524c和存储器506可与先前所讨论的那些组件类似或相同。诸如参考图7-图10以及本文中其他地方所讨论,处理电路1604可执行用于高速缓存(例如,存储器506)管理的操作。处理电路1604可包括电气或电子组件,这些电气或电子组件诸如可类似于路由电路504的组件,诸如可以包括cpu或gpu。出于解释的目的,假定rcdn节点1602b-c在rcdn节点1602a上游。

如所图示,内容存储518中的内容的属性522包括:传感器标识字段1610a,诸如用于(例如,唯一地)标识内容所源自的传感器设备1502a-d;保留优先级字段1610b,诸如用于指示相对于内容存储518中的其他内容保留数据的优先级;ttl字段1610c,诸如可类似于ttl字段712;流行度字段1610d,诸如可指示有多少用户或设备请求该内容;内容的尺寸字段1610e(按照位、字节等等);日期/时间字段1610f,指示内容被创建所在的日期/时间,诸如可被用来帮助判定ttl字段1610c的ttl是否已经期满;编码/转码字段1610g,可指示内容是否被编码和/或转码以及使用何种类型的编码和/或转码技术;内容的qos要求字段1610h;内容的类型/类别字段1610i,诸如可在将内容从内容存储518清除和/或判定是否保留所接收的内容时使用;位置字段1610j,指示与传感器id字段1610a的传感器id相关联的传感器的地理位置;以及访问字段1610k,指示许可或拒绝哪些设备、应用、用户和/或其他实体对内容的访问。

在诸如用于帮助匹配iot服务需要和/或rcdn节点1602a-c容量的动态且自适应的数据变换(例如,编码、转码、压缩、二次采样、聚合等等)中,诸如通过动态的且自适应的内容转码预高速缓存(例如,用于匹配可用的高速缓存容量)和后高速缓存(例如,用于管理正在被高速缓存的内容工作负荷),可提供服务知晓的和服务器(rcdn服务器)知晓的内容管理机制。此类数据变换可由处理电路1604执行。在内容分发中,rcdn节点1602a(例如,充当临时的视频内容源)能以推模式(以基于负载/容量来卸载存储/高速缓存)或拉模式(基于来自上游或下游节点或者同一层上的节点的请求)将内容分发给其他rcdn节点1602b-c(例如,上游或下游rcdn节点或者同一层上的rcdn节点)。

在动态保留策略中,诸如为了匹配iot服务需要,上下文知晓的内容保留处置系统可包括rcdn节点,该rcdn节点(周期性地)检查每个高速缓存的内容项(例如,视频区块)的寿命(例如,ttl字段1610c中的ttl)、尺寸字段1610e中的它的尺寸和/或其他相关联的元数据(例如,其他(多个)属性522),并且上下文知晓的内容保留处置系统可确定针对优先级字段1610b和/或策略(本文中其他地方所讨论的策略)的保留优先级。在多个高速缓存领域创建中,每个rcdn节点1602a-c内诸如内容存储518中的多个高速缓存区域的创建被提供用于基于数据类别字段1610i和/或服务类别(例如,qos字段1610h)对数据进行高速缓存。这允许由不同iot应用对同一rcdn节点1602a-c的更快的高速缓存命中、并行和多种访问。高速缓存领域可以是每个rcdn节点1602a-c内代理(broker)访问控制的经虚拟化的高速缓存。

用于cdn的当前内容管理解决方案考虑传统cdn基础设施,其中,内容使用出于该目的而被分配的特定已知服务器被高速缓存在更靠近于终端用户,终端用户有时被称为“内容消费者”。而且,bittorrent(比特流)和webtorrent(网络流)技术等等当前被用来以对等(p2p)辅助方式来共享大量的内容。实施例中所呈现的特征/能力可帮助满足rcdn的动态性质,并且至少如下区别于所提到的方式。实施例提供了对内容流量的动态处理和“有趣的/有意义的数据”的高速缓存容量和内容本身的按需函数。高速缓存可以是依赖于类型/类别字段1610i的,并且针对多个内容类别,多个领域可存在于每个节点上的同一高速缓存内。

实施例可提供诸如可由处理电路1604执行的动态内容拼接。从一个或多个传感器设备1502(例如,(多个)ip相机,音频、温度、压力、湿度、风、光学、电磁、其他传感器,或其他iot设备)接收内容流的每个rcdn节点1602a或(多个)下游rcdn节点1602b-c可诸如通过使用处理电路1604来运行分析诸如以判定是否接收到类似的内容。如果接收到类似的内容,则所接收的内容或先前所接收的内容可被丢弃。用于类似内容的时间戳可在高速缓存中被更新(例如,ttl字段1610c可被重置或更新)。rcdn节点可诸如通过使用位置字段1610j来验证用于对内容流的捕获的位置。

在icn中匹配经命名的数据可遵循若干个策略。一般而言,诸如利用统一资源标识符(uri)来分层地命名数据。例如,视频可被命名为www.somedomain.com/videos/v8675309。此处,层级结构可被视为发布者“www.somedomain.com”、子类别“videos(视频)”以及规范化标识“v8675309”。当兴趣遍历icn时,icn装备一般将尝试最大程度地匹配名称。因此,如果icn设备具有针对“www.somedomain.com/videos”和“www.somedomain.com/videos/v8675309”两者的高速缓存的项或路由,则该icn设备将针对指定“www.somedomain.com/videos/v8675309”的兴趣分组匹配后者。在示例中,可由icn设备在匹配中使用表达式。例如,兴趣分组可指定“www.somedomain.com/videos/v8675*”,其中,‘*’为通配符。因此,包括数据而不是通配符的任何高速缓存的项或路由将被匹配。在示例中,附加元数据可被附连至兴趣分组、高速缓存的数据、或路由,以提供附加级别的匹配。例如,数据名称可被指定为“www.somedomain.com/videos/v8675309”,但是还包括版本编号。在该示例中,兴趣分组可指定所期望的名称,并且还可指定版本编号或版本范围。匹配随后可定位匹配名称的路由或高速缓存的数据,并且随后可执行元数据等等的附加比较,以达成关于数据或路由是否匹配兴趣分组的最终决策,以分别用于响应于兴趣分组或转发兴趣分组。类似的内容可以是以所讨论的方式中的一种或多种方式匹配的内容。

如果内容流来自新的传感器或者对于处于新位置的旧传感器(新和旧是就传感器先前是否存在于网络中而言的)(诸如可使用传感器id字段1610a和/或位置字段1610j来确定),则可在高速缓存中创建新的内容区块,否则,内容可与来自同一ip传感器/同一位置的高速缓存的内容区块拼接。在任何情况下,rcdn节点1602可检查内容(例如,视频中的场景)并提取具有有用信息(例如,运动、一个或多个对象、光照改变、颜色改变、新的边缘、数据值的改变等等)的数据,并且诸如通过使用处理电路1604来创建内容总结区块。

实施例提供了动态且自适应的转码,以匹配iot服务需要和rcdn节点容量机制。当由rcdn节点1602a-c接收每个内容时,rcdn节点1602a-c可审查内容尺寸以及相关联的元数据,以了解服务要求(例如,实时、关键任务、每日的监控、每月的监控、qos等等)。如果所接收的内容处于原始格式,则区块可被编码成经压缩的格式(例如,从原始视频到h.264或其他经压缩的格式),并且如果内容以经编码的格式到来,则其可被转码为更加存储高效的格式(例如,从h.264到h.265或其他经压缩的格式)。编码/转码字段1610g可相应地被更新。

在一个或多个实施例中,如果所审查的内容区块的尺寸小于剩余的高速缓存空间,则该区块可不论服务要求而被高速缓存。否则,可由rcdn节点1602a-c完成总体转码“健康检查”以决定针对其他高速缓存的内容区块的更多优化(通过编码到诸如h.265之类的更高效的编解码器,减少每秒钟帧的数量或者删除未带来新信息的视频帧或其他数据)。如果在高速缓存总体转码健康检查之后所审查和处理的内容区块的尺寸仍然大于高速缓存空间,则本文中稍后所描述的高速缓存保留策略过程被检查以查看所高速缓存的(多个)内容区块是否可被清除。如果是,则处理的新的所处理的内容区块被高速缓存,否则,rcdn节点将该内容区块传送到上游rcdn节点,并且同一过程可重新迭代。

实施例提供了内容向上游分发过程。每个rcdn节点可从上游rcdn节点获取关于上游节点位置、剩余的高速缓存空间和/或所高速缓存的内容区块的类型的诸如可被存储为fib516中的属性520的信息(例如,实时的、任务关键的、道路交通信息)。内容类型可帮助提供本文中早先所讨论的内容拼接/总结过程中的一致性。如果rcdn节点1602a-c的高速缓存容量已满或者rcdn节点1602a-c无法以其他方式容纳所接收的内容区块,则该rcdn节点1602a-c在推模式下将内容区块发送到上游rcdn节点(例如,地理上邻近或下一邻居rcdn节点),并且该上游rcdn节点具有大于该内容区块尺寸的剩余高速缓存空间和/或具有在类型上语义地接近于所接收的内容区块的所高速缓存的内容。下游rcdn节点1602a可由上游rcdn节点1602b-c查询关于特定类型的(多个)特定内容区块(拉模式)。如果下游rcdn节点1602a没有高速缓存容量短缺,则该下游rcdn节点1602a可将所要求的(多个)内容区块流送到请求方,否则,下游rcdn节点1602a可将所要求的(多个)内容区块流送到请求方并将(多个)内容区块从其高速缓存清除。

实施例提供了动态内容保留策略。每个rcdn节点1602a-c可审查每个所高速缓存的内容区块的寿命,并且如果所高速缓存的内容区块达到其有效时间(以相关联的元数据、ttl字段1610c或某种其他方式指示),则该内容区块被认为期满并可被清除。每个rcdn节点可审查每个所高速缓存的内容区块的尺寸,并且根据以下伪代码如下进行:

(1)if[(contentchunksize>sizethreshold)or(contentchunksize>theremainingcachecapacity)]thengoto(2)elsedonothing//如果[(内容区块尺寸>尺寸阈值)或(内容区块尺寸>剩余的高速缓存容量)],则去往(2),否则不做任何事

(2)if[(contentchunkexpirationtimeiscloseorpast)],thercdnnodepurgesthecontentchunkfromitscacheandgoto(3)//如果[(接近或经过内容区块期满时间)],则rcdn节点从其高速缓存清除该内容区块并且去往(3)

(3)else,thercdnnodeexaminesitsretentionpriority//否则,rcdn节点审查其保留优先级

if[contentchunkretentionpriority<prioritythreshold)],thercdnnodepurgesthecontentchunkfromitscache,//如果[内容区块保留优先级<优先级阈值)],则rcdn节点从其高速缓存清除该内容区块,

else,thercdnnodeoffloadsthecontentchunktoanupstreamrcdnnodewith[(remainingcapacity>contentchunksize)and(cachedvideossemanticallycloseintypetothereceivedcontentchunk)]//否则,rcdn节点将该内容区块卸载到具有[(剩余容量>内容区块尺寸)且(所高速缓存的视频在类型上语义地接近于所接收的内容区块)]的上游rcdn节点

针对动态视频保留的伪代码。

每个rcdn节点1602a-c可通过审查每个所高速缓存的内容区块的保留优先级来动态地管理其保留策略,并且可更新保留优先级如下:

(1)if[(thecontentchunkhashighretentionpriority)and((thecontentchunkwasneverrequested)or(isnotfrequentlyrequested))],thercdnnodeupdatesthecontentchunkretentionprioritytoalowerpriority//如果[(内容区块具有高保留优先级)且((该内容区块从未被请求)或(未被频繁地请求))],则rcdn节点将该内容区块保留优先级更新为更低的优先级

(2)else,if[(thecontentchunkhaslowretentionpriority)and(thecontentchunkisfrequentlyrequested)],thercdnnodeupdatesthecontentchunkretentionprioritytoahigherpriority//否则,如果[(内容区块具有低保留优先级)且(该内容区块被频繁地请求)],则rcdn节点将该内容区块保留优先级更新为更高的优先级

针对更新保留优先级的伪代码。

高保留优先级可包括大于(或等于)保留阈值的保留优先级。低保留优先级可包括小于(或等于)保留阈值的保留优先级。不被频繁地请求的内容可包括被请求小于(或等于)请求阈值次数的内容,诸如,可通过将流行度计数与请求阈值相比较来确定。被频繁地请求的内容可包括被请求大于(或等于)请求阈值次数的内容。保留优先级属性1610b是保留优先级的示例。

通过增加请求阈值,节点可倾向于存储更少的内容,并且通过降低请求阈值,节点可倾向于存储更多的内容。通过增加保留阈值,节点可倾向于存储更少的内容,并且通过降低保留阈值,节点可倾向于存储更多的内容。

实施例可提供创建多个高速缓存领域的过程。每个rcdn节点1602a-c可在部署在iot服务(例如,诊所电子健康服务、运输部(dot)交通管理系统、公共事业公司系统等等)上期间接收信息。该信息可包括关于每个iot服务所要求的内容的类型的元数据,这可允许rcdn节点更好地组织其高速缓存领域,每个rcdn节点可创建与不同类型的内容(例如,视频或其他传感器数据)对应的单独的高速缓存领域。每个高速缓存领域可包括语义上充分接近的内容(例如,包括具有大于阈值数量的共同的连续字符的内容名称,诸如,可包括或使用使用语义匹配技术扩展一个或多个名称)。在一个或多个实施例中,每个高速缓存领域可包括其自己的保留阈值和/或请求阈值。此类高速缓存领域可基于内容消费者更新和兴趣(例如,诸如本文中先前所讨论的流行度计数器)来独立地刷新。

每个rcdn节点1602a-c可提供对高速缓存领域的多对多访问(例如,每个针对内容的服务消费者可访问多个高速缓存领域,并且多个针对内容的服务消费者可访问同一个高速缓存领域)。可为每个iot服务和/或每个高速缓存领域指定访问策略,该指定诸如可基于iot服务的需要。对于不同的服务,可存在对同一高速缓存领域的多个访问策略。还考虑到私有高速缓存领域,诸如,可将对高速缓存领域的访问限制到可在访问字段714中指定的一个服务。

图9作为示例图示出rcdn节点1602的实施例的逻辑图。图8图示出根据一个或多个实施例的rcdn节点1602的组件(例如,由组件实现的功能和特征)之间的一些交互。图9提供了以上所描述的特征/功能的视图,示出了rcdn寿命期间这些特征/功能的不同状态和交互。

如所图示,rcdn节点1602包括内容拼接和总结操作1702、内容高速缓存/处理操作1704、高速缓存领域操作1706、内容保留操作1708以及向上游内容分发操作1710。内容拼接和总结操作1702可由处理电路1604执行。内容拼接和总结操作1702可包括确定内容中包括唯一数据的部分(相较于内容的其余部分)。被确定为唯一的部分可被向外拼接,并被组合为内容总结区块。内容总结模块可与内容一起被存储在高速缓存中。该总结可包括内容的唯一部分、内容的随机部分、和/或内容的所指定的章节(例如,摘要,大纲,第一段和最后一段,第一、中间和最后句或帧等等)。内容的唯一部分可包括文档中的图像、视频帧中出现的对象(诸如,可使用边缘检测和处理来确定)、音频中唯一的频率集合、传感器数据中的最小或最大值、传感器数据的阈值δ改变等等。随后可将该总结与其他总结进行比较,诸如以判定该内容是否已经存在于高速缓存中。与比较内容本身相比,诸如,比较可节省计算资源。

内容高速缓存和处理操作1704可至少部分地由处理电路1604执行。如所图示,内容高速缓存和处理操作1704包括检查高速缓存容量操作1712、编码/转码操作1714、高速缓存新内容操作1716、以及将内容发送到上游节点操作1718。内容高速缓存和处理操作1704可包括数据聚合、二次采样、压缩、加密或其他操作。检查高速缓存容量操作1712可包括确定高速缓存(例如,存储器506或者更具体地,内容存储518)中剩下多少空间。编码是将信息从模拟格式改变为数字格式。转码是将数字信息改变为另一数字格式。编码和转码两者均可引起数据的压缩(减少数据的尺寸)。编码/转码操作1714可包括:确定内容先前是否被编码/转码、执行了何种类型的编码/转码,反转该编码/转码,和/或执行该编码/转码。例如,如果在高速缓存中没有足够的空间来存储数据,则模拟数据可被编码,诸如可在操作1714处确定。在另一示例中,如果在高速缓存中不存在足够的空间来存储数据,则数字数据可被转码。在又一示例中,设备能以指定的格式来请求内容,而该内容以另一格式被存储。所请求的内容可被编码/转码,以匹配所请求的格式。

高速缓存新内容操作1716可包括:诸如,如果存在足够的空间和/或如果内容的类型/类别充分地匹配高速缓存中所存储的类型/类别,则将内容存储在高速缓存中。发送到上游节点操作1718可包括将内容发送到更接近于后端云1504(例如,就跳或地理位置而言)的另一节点,诸如,该节点可包括足够的空间和/或存储与该内容相关联的类型/类别的内容。

可使用处理电路1604和/或存储器管理器(诸如,可至少部分地使用处理电路1604来实现)来执行高速缓存领域操作1706的操作。所图示的高速缓存领域操作1706包括:检查数据类型操作1720,诸如可通过读取类型/类别属性1610i来执行;创建高速缓存领域操作1722,诸如响应于确定存储器506中存在足够的空间并且当前不存在用于存储与所接收的内容相关联的类型/类别的数据的领域;以及设置访问策略操作1726,诸如可基于优先级1610b、尺寸1610e、qos1610h、类型/类别1610i,位置1610j和/或访问1610k。创建高速缓存领域操作1722可包括创建私有领域1724。私有领域1724是具有窄访问许可的领域,以使得仅一个或仅几个应用、用户和/或设备可访问该私有领域1724中的数据。

可使用处理电路和/或存储器管理器(诸如,可以包括cpu或gpu)来执行内容保留操作1708的操作。如所图示,内容保留操作1708的操作包括检查高速缓存ttl操作1728、清除数据操作1730、检查保留优先级操作1732、改变优先级操作1734以及向上游卸载内容操作1736。检查高速缓存ttl操作1728可包括将ttl1610c以及创建的日期/时间属性1610f与当前时间进行比较,诸如以判定ttl是否已经期满。如果ttl已经期满,则诸如在操作1730处数据可被清除(从高速缓存移除)。

检查保留优先级操作1732可包括将优先级1610b与保留阈值进行比较,并且响应于确定优先级1610b小于保留阈值而清除内容。检查保留优先级操作1732可包括将优先级1610b与高速缓存或领域中内容的所有其他优先级进行比较,并且响应于确定优先级1610b是高速缓存或领域中的最低优先级而诸如在操作1730处清除数据。检查保留优先级操作1732可包括:改变优先级操作1734,诸如基于流行度1610d。例如,如果优先级1610b大于保留阈值并且流行度1610d小于流行度阈值,则诸如在改变优先级操作1734处,优先级1610b可被设置为更低的值(诸如,通过递减该值)。在另一示例中,如果优先级1610b小于保留阈值并且流行度1610d大于流行度阈值,则诸如在改变优先级操作1734处,优先级1610b可被增加(诸如,通过递增该值)。向上游卸载操作1736可包括将内容、相关联的总结区块、属性或其他元数据等等转发到上游节点。响应于在操作1728处确定ttl尚未期满和/或诸如在操作1732处确定内容具有足够的保留优先级,可执行操作1736。

可由处理电路1604执行向上游内容分发操作。如所图示,向上游内容分发操作1710包括:在操作1738处判定它们的空间是否在一个或多个上游节点上;在操作1740处将内容区块卸载到上游节点;以及在操作1742处基于查询将内容流送到上游节点。操作1738可包括诸如通过在无线通信范围内向rcdn节点发出兴趣分组或广播消息来查询另一节点。来自(多个)rcdn节点的响应可包括多少空间是可用的和/或存储在高速缓存上的内容的类型/类别的指示。

可响应于确定以下各项而执行操作1740:(1)不存在用于将内容存储在本地高速缓存上的足够的空间,(2)就优先级而言,数据过于重要而不能清除并以所接收的内容来代替和/或(3)存在用于将内容存储在上游高速缓存上的足够的空间。操作1742可包括响应于对内容的请求而将内容提供给上游。在一个或多个实施例中,下游rcdn节点可响应于将内容提供给上游节点而从其本地高速缓存清除该内容。

图10作为示例图示出诸如可由处理电路1604执行的用于内容管理的方法1800的实施例的流程图。如所图示,方法1800包括:在操作1802处开始;在操作1804处接收内容;在操作1806处判定与所接收的内容相关联的传感器id是否为新的;响应于在操作1806处判定传感器id是新的(相对于高速缓存),在操作1808处可创建内容总结;响应于在操作1806处判定传感器id不是新的(相对于高速缓存),在操作1810处可判定与所接收的内容相关联的传感器的位置是否为新的;响应于判定该位置是新的,可在操作1810处创建内容总结;响应于判定与所接收的内容相关联的传感器的位置不是新的,在操作1811处可判定所接收的内容是否类似于高速缓存中的其他内容;响应于在操作1811处判定所接收的内容类似于高速缓存中的内容,在操作1812处可丢弃所接收的内容或类似的内容,并且在操作1814处可更新高速缓存中内容的ttl;响应于判定所接收的内容不类似于高速缓存中的内容,在操作1816处可对所接收的内容进行编码/转码,在操作1818处可更新所接收的内容和/或高速缓存中的内容的优先级,和/或在操作1820处可从高速缓存清除内容;在操作1822处,可判定高速缓存是否具有用于存储经编码的、经转码的和/或原始的接收的内容的足够的开放空间;响应于在操作1822处判定存在足够的空间,可判定内容是否匹配可被存储在高速缓存上的内容的类型/类别1824;响应于在操作1822出判定不存在足够的空间,或者响应于判定所接收的内容的类型/类别不匹配可被存储在高速缓存上的内容的类型/类别,在操作1826处可向上游发送内容以供存储;响应于判定所接收的内容的类型/类别确实匹配可被存储在高速缓存上的内容的类型/类别,在操作1828处,可本地地存储经转码的、经编码的和/或原始的内容;方法1800可结束于操作1830。

参考图9的rcdn描述方法1800的操作中的一些。在操作1804处接收的内容可包括视频数据或来自rcdn的传感器的其他内容。执行操作1806可包括将在操作1804处提供有接收的内容的传感器id与同高速缓存中的内容相关联的传感器id属性进行比较。创建内容总结可包括参考操作1702所讨论的一个或多个操作。操作1816处的编码/转码可包括参考操作1714所讨论的一个或多个操作。在操作1818处更新优先级可包括参考操作1734所讨论的一个或多个操作。清除内容可包括参考操作1728、1730和/或1732所讨论的一个或多个操作。在操作1826处向上游发送所接收的、经转码的和/或经编码的内容可包括参考1738和/或1740所讨论的一个或多个操作。

方法1800图示出操作可按照其发生的仅仅单个次序,并且可按照与所示出的次序不同的次序执行这些操作。例如,可在操作1822之前执行操作1824,可在操作1806和/或1810之前或之后执行操作1811;可在操作1816和/或1818之前或之后执行操作1820;和/或可在操作1820和/或1816之前或之后执行操作1818。

用于智能命名、路由和高速缓存的方法

智能(近似)命名和搜索

针对icn的一个用例可包括对内容或数据的用户搜索,诸如,可包括使用通配符搜索(例如,可通过利用多个内容项中的一个内容项来响应而满足的搜索)。在其中订阅者可能仅需要或想要“近似”数据的情况下,实施例可实现更高效的搜索。例如,当满足请求的多个数据选择(诸如,以多少可能不同的形式、或者不同的质量水平等等)可用时或者当数据在多个高速缓存中、来自多个发布者和/或以多种形式可用时,实施例可为订阅者(例如,发出兴趣分组的用户)提供高效地以数据来服务的能力。

在创建了诸如视频数据之类的大量的数据的情况下,此种选择的多样性在物联网(iot)中更加明显。例如,当订阅者请求视频内容的特定片段时,用户可在它们的请求中设置可接受的的质量/位率(bitrate)范围或“带”。发布者可希望基于策略的集合选择用于服务该特定的订阅者的最佳内容。实施例可基于例如订阅者处或网络本身中的策略来提供此种能力。

为了解决这些问题,实施例可提供用于信息的命名约定,该命名约定包括信息的属性作为数据本身的名称的部分。名称可被组织在一个或多个分层的内容存储或数据库中,这些内容存储或数据库被存储在内容提供者(cp)节点、cp节点的区域性替代或者cp节点或其替代物远程或本地的任何其他数据库处。

请求匹配某些属性的信息的订阅者可使用针对这些属性的特定名称/值以及针对其他属性的通配符。例如,对于被组织为以下形式的信息:

在实施例中,具有匹配所有所指定的属性中的内容地址/名称的内容和/或具有匹配<位置房间>属性的任何内容的发布者可响应该请求。除命名规则之外,信息的路由也可由icn路由器处所实现的策略(例如,访问控制策略)修改,以基于网络层(或其他)属性从多个发布者的信息进行选择。

以上“通配符方式”的变体可用于为请求中的属性指定值的带或范围。因此,如以上所描述的订阅者访问层级结构可请求<…><城市1><细分区域1><jf2[房间_最小,房间_最大]><温度><…>(<…><city1><subdivision1><jf2[room_min,room_max]><temp><…>),以使得内容提供者(cp)节点可利用与来自某一范围的房间(范围从具有房间_最小(room_min)编号的房间到房间_最大(room_max)编号的房间)的温度传感器数据匹配的信息进行响应。替代地,也可使用数学符号来提及这些值,这些数学符号诸如,大于(“>”)、小于(“<”)、等于(“=”)、它们的组合,等等。例如,对高于某个质量的所有视频感兴趣的订阅者可使用大于符号同时指定最低质量。作为另一示例,订阅者可使用小于符号以及基于订阅者的设备的链路能力的最大位率的值来访问小于给定位率的视频。

在一个或多个实施例中,可以确定兴趣分组的名称与内容存储(cs)中的内容的名称之间的相关性评分。可以基于兴趣分组和内容分组的名称字段的内容、兴趣分组和内容分组的一个或多个属性等等来确定该相关性评分。可以将该相关性评分与相关性阈值进行比较。响应于确定相关性评分大于(或等于)阈值,cs中的内容可以被提供以满足兴趣分组。如果不存在cs上的内容提供大于阈值的相关性评分,则兴趣分组可以被转发到下一cs。

图11作为示例图示出可响应于一个或多个兴趣分组508的系统500的实施例的逻辑框图。兴趣分组508可包括对内容的请求,以使得内容的多个项中的一项满足该请求(“通配符”请求)。内容名称字段302和/或属性字段501可被用来帮助定义满足兴趣分组508的内容。如所图示,系统500包括多个内容提供者(cp)节点502a、502b和502c。以分解视图来示出cp节点502a,以图示出cp节点502a的组件。其他cp节点502b-c中的任一者可包括诸如用于执行类似或相同的操作的类似的组件。cp节点502a接收兴趣分组508并确定如何对该兴趣分组进行响应,诸如可由路由电路504来确定。cp节点502a接收内容分组510,并且可将属性字段503中所提供的属性数据记录在存储器506中。

路由电路504可包括电气或电子组件,诸如可包括一个或多个晶体管、电容器、电感器、二极管、调节器(例如,电流、电压和/或功率调节器)、多路复用器、逻辑门、开关、缓冲器、放大器、振荡器、调制器、解调器、互连(例如,有线或无线信号传输机制)、天线、无线电(接收和/或发射无线电)等等。路由电路504可包括专用集成电路(asic)、可编程门阵列(例如,可编程芯片,诸如可包括现场可编程门阵列(fpga))、cpu、gpu等等。路由电路504可被配置为状态机,该状态机被配置成用于接收节点502b-c的一个或多个属性作为输入并产生指示如何对分组进行响应(例如,提供什么内容来满足分组或者要将分组508或510路由到哪个cp节点502b-c)的结果。

如所图示,cp节点502a进一步包括存储器506,该存储器506包括内容518和转发信息库(fib)516,诸如可包括扩展fib。扩展fib的示例在本文中的其他地方进行讨论。内容518可包括可由用户诸如通过发出兴趣分组508所请求的内容。

fib516包括可被用作对路由电路504的输入的数据。fib516可包括一个或多个节点的属性520,该一个或多个节点诸如,子节点、相邻的路由器(例如,距离cp节点502a仅一跳的路由器)、相邻的cp节点和/或其他节点,诸如节点502a。fib516中的属性520可包括本文中其他地方所讨论的节点502a-c的属性。

兴趣分组508可以是扩展兴趣分组,诸如可包括属性字段501。此类分组的示例在其他附图中示出并在本文中的其他地方进行讨论。属性字段501可被用来将一个或多个平台、内容和/或应用属性传送给接收兴趣分组508的cp节点。路由电路504可读取属性字段501,存储该属性字段中所提供的属性数据,和/或基于兴趣分组508、fib516、内容514中的属性或者可被存储在存储器506中的其他属性对兴趣分组508进行路由。

内容分组510可以是扩展内容分组,诸如可包括属性字段503。此类分组的示例在其他附图中示出并在本文中的其他地方进行讨论。属性字段503可被用来将一个或多个平台、网络和/或内容属性传送给接收内容分组510的节点。路由电路504可读取属性字段,将该属性字段中所提供的属性数据(如所期望)存储在存储器506中,和/或基于内容分组510、fib516、内容存储518中的属性或者诸如可被存储在存储器506中的其他属性对兴趣分组508进行路由。

在一个或多个实施例中,较高/较低层电路526可包括电气或电子组件,诸如,可包括与参考路由电路504所讨论的组件类似的组件。较高/较低层电路526可监视网络层206中分组运输的性能。该性能可作为可被提供给cp节点(诸如,可被存储在存储器506中)的一个或多个属性而被记录这些属性可包括qos、链路等待时间、在节点处可用的连接性接口的类型、使用该接口的ul和dl的不同属性、或者如本文中所讨论的其他网络属性。诸如发出兴趣分组的设备的位置之类的设备属性可在物理层202处被确定,并诸如通过穿过物理层202与网络层206之间的层传送该位置(诸如通过使用较高/较低层电路526)而被提供到网络层206。

应用编程接口(api)提供接口,较高/较低层电路526可通过该接口与cp节点502a进行通信并且反之亦然。api524提供抽象层,以使得cp节点502a不需要知道被提供给较高/较低层电路526的数据的合适格式并且反之亦然。

图12作为示例图示出扩展兴趣分组600的实施例的逻辑图。如所图示,扩展兴趣分组600包括属性字段501。属性字段501可携带一个或多个属性的一个或多个属性值。每个属性可包括:标识属性值所对应的属性的属性标识;标识该属性所关联的用户、设备或内容的对应的实体、设备或内容标识。

如所图示,兴趣分组600的属性字段501包括属性标识子字段604、属性值子字段606以及实体/设备/内容标识子字段608。属性字段501中所提供的每个属性通过属性标识子字段604以特定的属性值进行标识。属性值子字段606与由属性标识子字段604所标识的属性相关联。实体/设备/内容标识子字段608被用来将属性值子字段606以及相关联的属性标识子字段604与特定的用户、设备(例如,节点,诸如路由器或cp)或内容进行绑定。

图13作为示例图示出扩展内容存储700的实施例的逻辑图。如所图示,扩展内容存储700包括内容名称字段702和数据字段704以及与内容名称字段702对应的内容的多个属性。

如所图示,扩展内容存储700包括多个属性,包括:系谱(lineage)属性字段706、流行度属性字段708、内容位置属性字段710、生存时间(ttl)属性字段712、访问属性字段714以及服务质量(qos)属性字段716。系谱属性字段706以与以下各项有关的数据填充:哪些设备对内容有贡献、原始内容的名称和/或已经与该内容相关联的其他名称、原始内容的位置、已经对该内容进行处理的硬件或软件,等等。流行度属性字段708可指示相对于其他类似内容或任何其他内容,该内容或其部分在兴趣分组中被请求了多少次和/或响应于兴趣分组而被提供了多少次。流行度内容属性字段708在本文中其他地方进行讨论。内容位置属性字段710指示相同内容或内容的部分的附加位置。

内容位置属性字段710可指示另一设备和/或内容的什么部分被存储在该位置处(如果仅内容的部分被存储在该位置处)。此类位置可提供冗余诸如以帮助确保数据将保持可用。由于节点可能离开网络,冗余的数据存储可帮助确保数据对保持在网络中的节点保持可用。ttl属性字段712指示在此之后数据不再有效或者数据被新的数据替代的时间。访问属性字段714指示哪个(哪些)用户具有访问数据的许可以及每个用户被允许何种类型的访问(例如,读取、写入和/或复制等等)。qos属性字段716指示内容的相对优先级。qos属性字段716影响流量优先级排定和/或资源预留,诸如以帮助保证就等待时间而言的某个水平的性能、从兴趣发出到满足的时间、所提供的内容的分辨率、吞吐量、抖动、错误率等等。

图14作为示例图示出扩展fib516的实施例的逻辑图。扩展fib516详述名称字段802中的内容名称,任选地详述接续字段804中的下一目的地以及多个属性806a、806b、806c、806d、806e、806f和806g。属性806a-g可与在名称字段802中命名的内容和/或在接续字段804中命名的设备相关联。属性806a提供设备的链路等待时间,属性806b提供链路的类型(例如,有线、无线或链路的更具体的类型,诸如长期演进(lte)、wi-fi、usb、以太网等等),属性806c提供由设备提供的服务质量(qos),属性806d提供由链路提供的错误率,属性806e提供在链路上提供的带宽,属性806f提供设备的位置,并且属性806f指示由设备提供的功能(例如,温度、光学、压力、氧气或其他感测、发布、路由、搜索等等)。

较高层搜索

图15作为示例图示出可提供灵活搜索能力的icn系统的部分900的实施例的图示。灵活搜索能力不要求兴趣分组中内容的名称与如存储在内容存储中的内容的名称之间的精确匹配。如所图示,系统900包括较低层中的多个节点902a、902b、902c、902d、902e、902f和902g,其中,节点902d-e通信地耦合至较高层中的icn搜索电路904a-b。较低层908与较高层906之间的接口由虚线933指示。

系统900提供在比节点的内容呈现在其上的层更高的层中实现的搜索特征。该搜索特征使用icn搜索电路904a-b来实现。在一个或多个实施例中,较高层906可包括层4208,并且较低层可包括层1202、层2204或层3206。搜索电路904a-b可允许节点902a-g发现信息源(例如,替代的源)或由其他节点提供的服务。一个或多个节点可包括api524,该api524可促进较高层906与较低层908之间的通信。在系统900中,节点902d-e分别包括api524。

考虑其中节点902b希望知道系统900中的节点是否包括特定功能(诸如,提供诸如转码、高速缓存、编码等等之类的特定服务)的示例。对于该示例,假定节点902b想要知道系统900中哪些节点提供温度信息(例如,存储和/或记录温度数据)。为了实现这一点,节点902b可将内容请求提供给节点902d。节点902d随后可使用api524和/或icn搜索电路904a-b来确定系统900的哪些节点提供此类信息。icn搜索电路904a可查询搜索电路904b(和/或系统900的其他搜索电路)以寻找此类信息。搜索电路904b可将对所请求的信息的内容请求或其他通信提供给节点902e。节点902e可查询其他节点902f-g和/或诸如在不查询其他节点的情况下响应于该请求(诸如在其中节点902e具有对所请求的信息的在先获悉的实施例中)。

节点902d是节点902f-g的父节点,并且可具有被存储在诸如内容存储、fib或存储器506的其他位置中的信息,该信息与子节点902f-g的功能、内容、能力或其他参数有关。因此,在一个或多个其他实施例中,父节点可充当针对(多个)子节点的一种代理。节点502e可诸如通过诸如通过搜索电路504a-b和/或api524向节点502d提供通信来对请求进行响应。子节点通过另一节点与其他节点进行通信,并且父节点是子节点与其他节点进行通信所通过的节点。

如所讨论,具有icn搜索能力的节点(例如,节点902d-e)可包括子节点的能力和服务(例如,服务表,诸如可以是存储器506的部分)的储存库(例如,数据库、关系数据库或其他表或存储机制)。存储器506是此类储存库的示例。相应地,至少实现icn搜索的节点(例如,图15的节点902d-e)可充当子节点的代理。icn搜索电路904a-b可将一个或多个查询发送到其他icn搜索节点902d-e,这些icn搜索节点902d-e可对搜索查询进行解码并通过例如返回搜索结果、转发搜索结果等等来适当地对搜索进行响应。在另一实施例中,集中式搜索服务器(图15中未示出)可附加地或替代地接收来自节点902a-g的请求并以搜索结果进行响应。

相应地,实施例可提供第四层208(例如,传输层)或其他更高层搜索功能以供进行icn搜索。icn搜索可在所有icn节点或icn节点的子集上实现,以将信息提供给查询信息的节点。在实施例中,能以任何方式来分发搜索。例如,如果一个节点接收搜索查询,则该节点可在使用或不使用较高层节点和/或集中式服务器的情况下对该查询进行响应。

流行度计数

实施例可提供对数据的高速缓存中增强的效率,该数据诸如对其使用流行度计数以供进行高速缓存的内容。订阅者的对内容的请求(例如,发出兴趣分组的实体)可被呈现给多个发布者,并且该内容的流行度计数可诸如由满足该请求的节点仅递增一次。流行度计数可被存储在扩展内容存储518中的流行度字段708中。icn中所实现的实施例可提供全局流行度计数、全局命名和快速高效查找和/或针对各个高速缓存的改进的数据期满策略。可在集中式计数器中维护计数器(例如,流行度字段),或者可针对每个内容或每种类型的内容或针对内容的每个发布者来维护计数器。能以分层的方式来维护计数器(例如,可针对由若干不同的子类型的内容组成的一类内容来维护一个计数器)。

实施例可提供查找表以填充名称或对象的可用性和位置。可使用全局唯一的名称来标识流行度计数。全局计数器可具有全局唯一的名称,并且子计数器可具有局部名称或全局名称的局部实例。可使用局部计数器来规律地更新全局计数器。能以分布式方式或中央式方式来更新子计数器,并且也能以中央式方式或分布式方式来更新全局计数器。

在icn层上方进行操作(参见图10)的较高层服务可针对在转发的分组或查询上观察到的每个名称来维护流行度计数。该服务可维护指示针对名称的未来兴趣(查询)将被满足的可能性的值。因此,流行度计数可跟踪请求以及在特定名称、查询上的“命中”等。

实施例可通过使对全局命名空间的使用最小化并且通过将服务配置成忽略“/localhop”和“/localhost”命名空间或者其他类似地命名的命名空间(作为示例)下的所有兴趣来维护隐私性。在各实施例中,为了维护全局流行度计数,此类服务可在各网络节点之间进行传送。例如,实施例的一种实现方式可使用不相交集合来对网络子树进行分区并利用父的子树的流行度计数来仅对这些父进行更新。该方式可允许压缩和/或“懒惰”评估(可仅在请求时计算名称的全局流行度)。在一些实施例中,可分层地维护流行度。可通过传播监听所有高速缓存或高速缓存的子集某个数量的跳或生存时间(ttl)的分组来生成局部或近侧流行度计数。在实施例中,该计数机制可类似于路由跟踪(traceroute),因为该计数机制经过某个数量的跳,收集信息并随后回溯步骤以合并结果。根据各实施例的流行度计数可改进针对各个高速缓存的数据期满策略。另外,根据各实施例的流行度计数可改进协作式高速缓存策略,其中,icn岛内或支持icn的设备的组或子集或网络内的多个高速缓存选择用于数据驻留的最佳地点,以在网络资源、存储资源或任何其他资源稀缺时减少冗余。

在一些实施例中,流行度计数可具有分层结构。例如,在一个层级处,订阅者可能希望获得针对局部天气的特定发布者的命中。在另一层级处,计数可与针对来自任何发布者的局部天气所提交的请求的请求的数量有关。随后可将这些计数概括为对跨州或区的局部天气的请求。

一些实施例通过提供用于在不对请求的精确数量进行跟踪的情况下维护流行度评级的技术来提供近似分布式跟踪。此类实施例一般可被用来研究趋势,例如用来研究随时间的内容流行度。

在icn网络中,发布者或信息的原始来源无法保持对针对它们的数据的请求的全局或区域性计数的跟踪。一种技术可包括,对于具有超过指定数量的节点的连接性的每个节点,合计(例如,累加或结算)对特定名称、内容类型等等的请求。这在一些实现方式中可能导致冗余,但是可能是对于提供趋势数据足够可靠的。

如果节点对针对特定搜索(例如,“天气”)或针对来自具有特定名称的特定发布者的数据的近似流行度计数感兴趣,节点可发送“兴趣分组”以检取针对特定对象的流行度计数。兴趣分组可包括任何类型的查询,换言之,兴趣分组在节点或订阅者对检取特定类型的数据感兴趣时被发送。用于检取流行度计数的该“兴趣分组”可与打算检取数据本身的典型兴趣分组分离并区别于该典型兴趣分组,或者可以是扩展兴趣分组。该兴趣分组可包括其他参数,诸如针对其的流行度计数被请求的时间帧。当节点接收此类兴趣分组时,该节点可响应于兴趣分组而生成数据分组,该数据分组基于节点对节点所接收到的数据请求(例如,查询或其他内容请求)的数量的计数。

如果请求特定名称的流行度,则节点可计算请求的精确计数并将指示流行度计数的起源的内容分组发送至订阅者。替代地,如果请求数个名称的流行度计数,则一个选项是每个节点响应于兴趣分组而对针对每个发布者的请求的相对数量进行排序并发送该排序。

为了确保所有的响应都被往回路由至订阅者(一般在icn中,一旦存在对请求的响应,则该响应被删除),存在至少两个选项。第一个选项针对订阅者在接收每个数据分组之后再次发送具有相同信息的请求。已经对兴趣分组进行了响应的节点保持对该兴趣分组的跟踪,并且不会再次发送同一响应。这可帮助确保所有节点都能够对该请求进行响应。

作为第二个选项,每个路由节点可在数据分组与请求流行度计数的分组之间进行区分。如果路由节点看到响应用于针对流行度计数的兴趣分组,则路由节点意识到可能存在用于同一兴趣分组的多个响应。在此类情况下,路由节点可将所有分组往回路由至订阅者。如果订阅者从同一节点接收到多个分组,则该订阅者可通过将信息与该信息的源进行匹配来避免加倍计数。此方法还可减少需要被再次发送的兴趣分组的数量,并且因此在至少一些实施例中可减少信令开销。

一些实施例还可使用用于跟踪的集中式或分布式方法来提供对流行度计数的精确跟踪。集中式跟踪方法可包括在较高层中实现流行度计数。每个父节点可收集来自它的子的、关于该子节点已经接收到的请求的数量的信息,并且该父节点随后可将此数量发送至其他父节点。其他父节点可组合来自子节点的信息或者将信息发送至请求方。

图16作为示例图示出用于跟踪流行度计数的集中式系统1000的实施例的逻辑图。系统1000类似于系统900,其中,该系统包括代替icn搜索电路904a-b的icn流行度电路1004a和1004b。在系统1000中,节点902d-e可监视其自己的内容存储上的和其子节点的相应内容存储上的内容的流行度信息。能以类似于如参考图15所描述的在较高层906处所实现的搜索特征的方式来完成该流行度计数监视。如果流行度计数技术未跨所有节点被标准化,则所产生的流行度计数可能小于实际的流行度计数。

针对内容片段的流行度计数可在每次内容诸如在兴趣分组中被请求时和/或每次内容诸如在其中通配符搜索正在被使用的实例中被提供以满足兴趣分组时被递增(加一)。对兴趣分组进行转发而不对该兴趣分组进行满足的节点可能不递增流行度计数。在一个或多个实施例中,可能错误地提供内容。在一些实施例中,可在发出兴趣分组的节点处比在满足兴趣分组的节点处更准确地维护流行度计数。如果被提供以满足兴趣分组的内容是足够的,则流行度计数可被递增。如果被提供以满足兴趣分组的内容不是足够的,则可以不递增流行度计数。以此种方式,实际使用内容的每个节点递增流行度计数。

节点902d-e可发出针对流行度数据的兴趣分组,诸如可指定流行度数据被请求。该兴趣分组可进一步指定所请求的流行度数据所属的时间段。此类兴趣分组可包括具有已知用于流行度数据的指定的名称的内容名称字段302。兴趣分组可以是包括属性字段501的扩展兴趣分组,该属性字段501指定在其上请求流行度数据的时间帧。节点902d-e可将流行度数据提供给icn流行度电路1004a-b。

在针对流行度计数的一些实施例中,在节点收集或计算流行度计数之后,该节点具有利用具有其计算的信息的内容分组来进行响应的选项。该内容分组可包括对被用于计算流行度的方法和/或在其上收集流行度数据的时间段的指示。内容可在内容分组中被提供,该内容分组诸如,具有在属性字段503中列出的时间数据的扩展内容分组510。实施例还可包括流行度计数服务器的实现,该流行度计数服务器保持对流行度信息的跟踪并存储流行度信息以供在由订阅者或其他节点请求时进行供应。此类实施例在图16和图17中图示,并参考图16和图17中进行讨论。

图17作为示例图示出内容流行度树1100的实施例的概念框图。内容流行度树1100包括:内容1102,内容子集1104a和1104b,内容子子集1106a、1106b和1106c以及内容子子子集1108a、1108b和1108c。内容1102、子集1104a-b、子子集1106a-c以及子子子集1108a-c中的每一者包括流行度计数器,诸如,1110a、1110b、1110c、1110p、1110e、1110f、1110g、1110h和1110i。例如,内容1102可包括视频、文本或其他文档、音频文件等等。考虑其中内容1102为电影(例如,音频和视频文件的组合)的示例。内容子集1104a-b可以是来自该电影的较长剪辑,内容子子集1106a-c可以是子集1104a的较长剪辑的较小剪辑。内容子子子集1108a-b可以分别是内容子子集1106a的较小剪辑的仅仅视频部分和仅仅音频部分,等等。

在一个或多个实施例中,树中的一个地点处的内容的流行度计数可取决于低于与树1100中的该内容对应的节点的节点的流行度计数。例如,流行度计数器1110a可包括流行度计数器1110b-i的值的和、加权和、或其他组合。以此种方式,电影的流行度可基于响应于兴趣分组而(正确地)提供整部电影或该电影的任何视频或音频片段的次数。

在一个或多个实施例中,流行度计数器可独立于树1100中其他流行度计数器的值。例如,可仅基于响应于兴趣分组而(正确地)提供内容1102的次数来确定用于内容1102的流行度计数器1110a。

总而言之,一些流行度计数实施例可在查找表中被提供,被存储在任何数据库或数据库的集合中,诸如以促进全局命名。能以分层的方式提供计数器和子计数器。能以分布式方式或集中式方式来更新子计数器和计数器,并且可使用本文中稍早时所描述的方法来消除冗余计数。子计数器可根据层级结构中的其他子计数器的结果来更新。简单、近似以及精确流行度计数可被提供以服务不同的需要。例如,如果仅需要趋势数据,则至少对于对趋势数据感兴趣的订阅者或节点可能不提供或维护精确的流行度计数。计数器可在传输层处或在任何其他层处被实现,并且其中可响应于任何类型的单个兴趣分组而发送多个数据分组的路由协议可被提供。

反向cdn(rcdn)中的智能命名

实施例还提供了与可利用当前网络可使用的选项不同的内容递送选项。当前内容递送网络(cdn)架构将来自一些提供者的数据分发给大量的用户。然而,用于服务物联网(iot)设备的网络可从“反向cdn”模型受益,以支持例如来自大量的分布式的并可能移动式的边缘节点并且被提供给多个应用的视频内容。

有时,由多个租户对同一边缘高速缓存/存储基础设施的使用以及相同的信息能以不同的质量水平可用(例如,在流送视频cdn高速缓存中)。另一示例场景可利用分布式传感器(诸如,相机、温度传感器等)的iot网络来实现。在至少一些网络中,信息可从数个源获得(被高速缓存或“存活”),其中,不同的源在一些属性上可能具有相似性。例如,在信息的此类“反向cdn”中,如果订阅方请求温度传感器读数或来自特定位置的视频捕获,则来自其他附近位置的发布者也可以具有能够满足要求的信息。

由于icn的以内容为中心的方式,其可帮助允许对分布式的高速缓存的数据的智能检取。然而,icn可能缺少用于服务在诸如视频内容之类的复杂数据方案上作出的不同请求的丰富的、智能的并且高效的命名方案。

图18作为示例图示出名称字段702的实施例的逻辑图。如所图示,名称字段702包括被附加至内容名称的属性,诸如用于帮助促进通配符搜索。

智能命名可通过诸如从实时分析的输出推导出名称来提供,诸如可得到某种元数据。在一些实施例中,可提供视频分析。例如,视频分析可标识视频场景中的人物、情景和对象并提供其名称,这些名称诸如在名称字段702的实体部分中。可执行语音识别以标识视频内容中所描述的对象和/或情景,并且诸如图18中所示出,此类对象和/或情景可被标识在名称字段702中。可基于监控相机位置、公共安全数据、“保姆凸轮(nannycams)”等等来添加名称字段。当多个经命名的视频流被聚合时,可从原始名称推导出新的名称。名称可示出原始视频的视频特性、对所使用的硬件的描述以及硬件的其他能力。考虑树1100,并且假定内容1102由子集1104a-b组成。内容1102的名称可包括内容子集1104a-b的名称中的每个名称的部分或者内容子集1104a-b的名称的其他组合。系谱属性字段706可被用来帮助记录数据来自何处、数据的所有者、被用来创建内容的内容名称以及其他属性。

再次考虑从内容子集1104a-b推导出内容1102的示例,并且进一步考虑内容子集1104a具有与内容子集1104b不同的访问限制。内容1102的访问限制可以是内容子集1104a-b的访问限制的并集或者这些访问限制的其他组合。

图19作为示例图示出icn系统的部分1300的实施例的逻辑框图。如所图示,系统1300包括较高/较低层电路526、策略服务器1302以及多个节点502a-c。api524b和较高/较低层电路526b可与如图11中所示出的api524a和较高/较低层电路526a类似或相同。在一个或多个实施例中,较高/较低层电路526可包括电气或电子组件,诸如,可包括与参考路由电路504所讨论的组件类似的组件。较高/较低层电路526可监视内容层208中分组运输的性能。该性能可被记录为可被提供给节点502a-c和/或策略服务器1302的一个或多个属性。这些属性可包括qos、链路等待时间、在路由器处可用的连接性接口的类型、使用该接口的ul和dl的不同属性、或者如本文中所讨论的其他网络属性。

如所图示,策略服务器1302包括策略处理电路1304、api524以及存储器1308。策略处理电路1304可包括电气或电子组件(例如,类似于路由电路504)。策略处理电路1304可被配置成用于从节点502a-c或api524中的一者接收分组。该分组可包括兴趣分组,该兴趣分组包括对策略进行命名的内容名称字段或者策略可在内容存储(例如,在访问字段714中)定义。所命名的策略可以是存储器1308中的多个策略1312中的一个策略。策略1312可各自使用与在icn中被用来对由发布者所发布的内容进行命名的约定相同的约定来命名。在此类实施例中,策略能以在检取内容时所使用的方式类似的方式使用兴趣分组来检取。

策略处理电路1304可记录对策略1312和/或属性1310的更新,诸如,这些更新可由较高/较低层电路526通过api524或者由节点502a-c提供。策略处理电路1304可执行对策略的性能的分析。该分析可确定哪些策略导致兴趣分组发布与满足之间的较低时间的等待时间、较高的qos、错误低于指定的阈值的内容的成功递送等等。

在一个或多个实施例中,策略处理电路1304可周期性地对较高/较低层电路526就属性信息进行轮询,该属性信息可在分析中使用、被存储在属性1310中和/或被转发至节点502a-c,诸如,用于在确定将分组转发到的下一节点时使用。在一个或多个实施例中,策略处理电路1304响应于一个或多个指定的事件的发生来对较高/较低层电路526进行轮询。这些事件可包括指定数量的策略被请求、自上个属性请求消逝了指定的时间、路由器查询包括对在策略服务器302处不可用的数据的请求或者其他事件。

策略可以是:(a)对于所有路由器已知的/静态的(例如,经标准化的)、(b)半静态的/半动态的(例如,通过策略服务器1402可用的)、(c)动态的(伴随数据)。策略定义在作出路由决策时使用哪些属性以及它们在总体路由决策中如何被使用,诸如以适应请求设备的期望以及网络容量。

路由电路504可向策略服务器1302发出查询,诸如以从该策略服务器1302检取一个或多个策略。支配路由决策的策略不仅由内容细节确定,而且由分组可被路由到的设备的属性以及请求内容的端点的一个或多个属性确定。例如,较低层无线电层级信息(例如,链路质量、空中接口类型、多个接口的可用性等)以及可能影响路由选择的请求设备容量作为将在路由决策时使用的属性。因此,在icn路由器将兴趣的分组转发到下一节点之前,路由器可查询策略服务器,以检取支配所请求的内容的一个或多个策略并且对特定的转发策略进行路由。例如,针对延迟或可靠性敏感的内容的策略可指示路由策略尽可能考虑对分组的多播。在一个或多个实施例中,策略可包括某种贪婪算法,该贪婪算法包括梳理所有属性并使用排名来选择路线。

图20作为示例图示出包括集中式策略服务器1302的系统1400的实施例的逻辑框图。利用字母进行标记的数据库符号表示节点,诸如可与节点502a类似。分布式策略服务器可包括策略处理电路1304、api524、和/或在多个节点上实现的策略1312,以使得针对系统1400的策略实施取决于这些节点中的多个节点的操作。

典型的icn内容和高速缓存(例如,存储器或内容存储)被设计成用于广泛地共享它们的内容,以提高性能和效用。然而,贯穿其生命周期不将内容的访问控制策略1312考虑在内。例如,如果针对内容的经命名的片段提供兴趣分组,则可从高速缓存提供对此类兴趣分组的答复。然而,如果请求方不具有对参看所高速缓存的数据的许可(例如,如果许可不匹配在数据被创建时、或在创建之后的任何其他时刻、或根据策略所生成的许可),则数据应当在订阅者、节点或其他接收方查看该数据之前被丢弃。在该情况下,兴趣分组不应当被标注为已经被满足。通过由于不充分的许可而未发送数据,网络开销可被降低并且高速缓存尺寸和高速缓存污染可被减少。相应地,实施例可提供将比照icn兴趣分组、内容和/或所高速缓存的内容实现的访问策略。此类信息还可被用作针对安全策略驱动的基于属性的路由的属性。与内容相关联的一个策略或多个策略可在访问字段714(参见图13)中标识。该一个或多个策略可从专用节点(例如,策略服务器1302)、路由器节点或icn中的其他节点检取。

当如利用反向cdn(rcdn)来对多个流进行聚合时,附连至各个数据流的策略将被保留在所聚合的流中。如果这是不可能的或者如果策略冲突,则聚合功能将失败。通过使用布尔逻辑(诸如,可由策略处理电路1304实现),聚合功能可被定义为判定是否存在冲突状态以及许可规则留在策略信息的并集中。由于至少这些原因,实施例提供用于通过数据生命周期在icn中传送并维护数据访问策略的方法,包括使高速缓存由于策略存在和可用而能够代理策略访问。实施例进一步提供用于聚合关于所聚合或所修改的数据的策略信息的机制。

智能发布/订阅

实施例可附加地或替代地提供更具选择性的发布/订阅模型。icn路由的一种发布-订阅模型以盲方式发生,其中发布根据开放式广告/广播模型,其中订阅者表达对所发布的内容的兴趣而不保证这些订阅者具有充分的资源来处置该内容。实施例提供用于高效地处置大量数据(例如,诸如可包括视频数据)的选择性的发布/订阅方法。

实施例提供选择性发布,该选择性发布具有对rcdn节点上就rcdn层或视频处理能力而言的一些要求的指示。这些实施例可利用如本文中稍早时所描述的智能命名。符合发布要求的rcdn节点可仅能够订阅所许可的内容。诸如先前所讨论,兴趣请求(例如,兴趣分组)中的订阅中的智能命名可因此被提供。

在一些实施例中,rcdn节点能以选择性方式发布内容。例如,rcdn节点可仅发布到所定义的层。在一些实施例中,rcdn节点可在某个数量的跳之内从rcdn基础设施内的所定义的层发布。这可在其中第一边缘rcdn节点将内容高速缓存有限的时间随后将高速缓存上载至另一层的场景中发生。例如,考虑系统900。子节点(节点902a-c和902f-g)可包括第一层节点,并且父节点902d-e可包括第二层节点。第一层节点可收集数据并将数据高速缓存指定的时间段,并且随后将所高速缓存的数据上载到第二层,该第二层进而可在其将数据上载到下一层之前将所述数据高速缓存指定的时间段,依此类推。

在一些实施例中,可仅对具有特定硬件能力或能力的集合的rcdn许可发布,诸如,可在本文中所讨论的属性字段中的任一属性字段中提供。例如,当将高/非常高分辨率的视频内容发送到其他rcdn节点以供更进一步压缩或转码到低分辨率诸如以用于更高效的长期高速缓存时,可根据转码要求来限制发布。在一些实施例中,当将视频流发送至运行视频分析的rcdn节点以提取有用的场景和或进行视频总结时,可基于视频分析要求来许可或拒绝发布。

在一些实施例中,每个rcdn节点可通过订阅内容同时在订阅请求(例如,扩展兴趣分组)中声明硬件和平台能力来充当中间内容消费者。iot服务可通过在订阅消息中使用适当的名称基于服务类型和要求或需要来订阅视频内容。例如,运输部可订阅交通管理服务并且每天请求交通状况的总结。作为另一示例,企业建筑可订阅建筑安保服务并且每天请求视频总结。临床人员了订阅健康服务并且实时请求精神病患者的行为的视频。机场安保可订阅人员跟踪服务并且实时请求人员的视频或面部的照片。内容提供者可处置定制的内容请求并处理此类请求。根据各实施例的命名可许可匹配将要被提供给消费者的内容。可在供应内容之前提供某种处理,例如,对流量总结的请求可将该总结的名称包括在该请求中以标识内容,但是内容仍将在发送至订阅者之前被总结。类似地,或者其他提取或处理可被完成,以提取例如由订阅者所请求的特定视频或照片。在一些实施例中,接收对其高速缓存中的视频内容的订阅请求的每个rcdn将运行名称匹配器算法,以查看订阅请求中的内容名称的名称说明是否与随该内容发布的内容名称匹配。如果匹配发生(或者如果匹配基于策略或任何其他标准以特定的准确度或接近度发生),则内容被递送至订阅者。

边缘网络架构

图21作为示例图示出与在云2100的边缘处操作的iot设备2102的网状网络(其可被称为边缘网络2120)通信的云计算网络或云2100的图示。为了简化该图,没有对每个iot设备2102进行标记。

边缘网络2120可被认为是大规模地互连的网络,其中数个iot设备2102例如通过无线电链路2122与彼此进行通信。其可以使用由开放连接基金会(openconnectivityfoundationtm,ocf)在2015年12月23日发布的开放互连联盟(openinterconnectconsortium,oic)标准规范3.0来被执行。该标准允许设备发现彼此并建立通信以用于互连。还可以使用其他互连协议(包括例如优化链路状态路由(olsr)协议或移动自组织网络更佳方案(betterapproachtomobilead-hocnetworking,b.a.t.m.a.n.)等)。

尽管在本示例中展示三种类型的iot设备2102:网关2124、数据聚合器2126、以及传感器2128,但可以使用iot设备2102和功能的任何组合。网关2124可以是提供云2100与边缘网络2120之间的通信的边缘设备,并且还可以为从传感器2128获得的数据(诸如,运动数据、流数据、温度数据等)提供后端处理功能。数据聚合器2126可以从任何数量的传感器2128收集数据,并执行后端处理功能以用于分析。结果、原始数据或这两者可以通过网关2124传递到云2100。传感器2128可以是例如能够既收集数据又处理数据的完整的iot设备2102。在一些情况下,传感器2128在功能上可能更受限制,该功能例如,收集数据并允许数据聚合器2126或网关2124处理该数据。

来自任何iot设备2102的通信可以沿iot设备2102中的任一者之间的最方便的路径被传递以到达网关2124。在这些网络中,互连的数目提供了大量冗余,这允许即使在损失数个iot设备2102的情况下也维持通信。此外,网状网络的使用可以允许使用功率非常低或位于距基础结构一定距离的iot设备2102,因为连接到另一个iot设备2102的范围可能比连接到网关2124的范围小得多。

可将这些iot设备2102的边缘网络2120呈现给云2100中的设备(诸如服务器2104)以作为位于云2100的边缘处的单个设备(例如,雾2120设备)。在该示例中,来自边缘网络2120设备的警报可在不被标识为来自边缘网络2120内的特定iot设备2102的情况下被发送。

在一些示例中,可以使用命令性编程风格来配置iot设备2102(例如,每个iot设备2102具有特定功能和通信伙伴)。然而,形成边缘网络2120设备的iot设备2102能以说明性编程风格配置,允许iot设备2102重新配置它们的操作和通信,诸如响应于条件、查询和设备故障来确定所需要的资源。作为示例,来自位于服务器2104处的用户关于由iot设备2102监测的装备子集的操作的查询可以导致边缘网络2120设备选择回答该查询所需的iot设备2102,诸如,特定的传感器2128。随后,在由边缘网络2120设备继续发送到服务器2104以答复该查询之前,可通过传感器2128、数据聚合器2126或网关2124的任何组合来聚合并分析来自这些传感器2128的数据。在该示例中,边缘网络2120中的iot设备2102可基于查询来选择所使用的传感器2128,诸如添加来自流量传感器或温度传感器的数据。此外,如果iot设备2102中的一些不可操作,则边缘网络2120设备中的其他iot设备2102可提供类似的数据(如果可得的话)。

计算设备/系统架构

图22作为示例图示出系统2200的实施例的逻辑框图。在一个或多个实施例中,系统2200包括一个或多个组件,该一个或多个组件可被包括在节点502a-c、902a-g、路由电路504、api524、较高/较低层电路526、icn搜索电路904a-b、icn流行度电路1004a-b、策略处理电路1304、策略服务器1302、传感器设备1502a-d、后端云1504、处理电路1604、rcdn节点1602a-c和/或本文中所讨论的其他组件中。

在一个实施例中,处理器2210具有一个或多个处理核2212和2212n,其中2212n表示处理器2210内的第n个处理核,其中n是正整数。在一个实施例中,系统2200包括多个处理器,这些处理器包括2210和2205,其中处理器2205具有与处理器2210的逻辑类似或相同的逻辑。在一些实施例中,处理核2212包括但不限于:用于取出指令的预取逻辑、用于对指令进行解码的解码逻辑、用于执行指令的执行逻辑等等。在一些实施例中,处理器2210具有用于高速缓存系统2200的指令和/或数据的高速缓存存储器2216。高速缓存存储器2216可被组织为包括一个或多个高速缓存存储器层级的分层结构。内容存储518中的一个或多个内容存储可被实现为高速缓存存储器。

在一些实施例中,处理器2210包括存储器控制器2214,其可操作用于执行使得处理器2210能够访问包括易失性存储器2230和/或非易失性存储器2232的存储器2234并与之进行通信的功能。在一些实施例中,处理器2210与存储器2230和芯片组2220耦合。处理器2210还可耦合至无线天线2278以与被配置成用于传送和/或接收无线信号的任何设备进行通信。在一个实施例中,无线天线接口2278根据ieee802.11标准及其相关系列、家庭插座av(homeplugav:hpav)、超宽带(uwb)、蓝牙、wimax或任何形式的无线通信协议来操作,但不限于此。

在一些实施例中,易失性存储器2232包括但不限于:同步动态随机访问存储器(sdram)、动态随机存取存储器(dram)、rambus动态随机存取存储器(rdram)、和/或任何其他类型的随机存取存储器设备。非易失性存储器2234包括但不限于:闪存、相变存储器(pcm)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、或任何其他类型的非易失性存储器设备。

存储器2230存储信息和将由处理器2210执行的指令。在一个实施例中,存储器2230还可在处理器2210执行指令的同时存储临时变量或其他中间信息。存储器2230是机器可读介质的示例。虽然机器可读介质可包括单个介质,但是术语“机器可读介质”可包括单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的高速缓存和服务器)。

术语“机器可读介质”可包括能够存储、编码或承载用于由机器(例如,路由电路504、icn搜索电路904a-b、icn流行度电路1004a-b、策略处理电路1304、和/或处理电路1604)执行并且使该机器执行本公开的技术中的任何一者或多者的指令,或能够存储、编码或承载由此类指令使用或与此类指令相关联的数据结构的任何介质。换言之,在各实施例的上下文中,本文中所讨论的各种电路可包括指令并且可因此被称为机器可读介质。其他非限制性的机器可读介质示例可包括固态存储器以及光和磁介质。机器可读介质的具体示例可包括:非易失性存储器,诸如,半导体存储器设备(例如,电可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom))以及闪存设备;磁盘,诸如,内部硬盘和可移除盘;磁光盘;以及cd-rom和dvd-rom盘。

在一个实施例中,芯片组2220经由点对点(ptp或p-p)接口2217和2222与处理器2210连接。芯片组2220使得处理器2210能够连接至系统2200中的其他元件。在一些实施例中,接口2217和2222根据诸如快通互连(qpi)或类似协议之类的ptp通信协议进行操作。在其他实施例中,可使用不同的互连。

在一些实施例中,芯片组2220可操作以与处理器2210、2205n、显示设备2240以及其他设备进行通信。芯片组2220还可耦合至无线天线2278以与被配置成用于传送和/或接收无线信号的任何设备进行通信。

芯片组2220经由接口2226连接至显示设备2240。显示设备2240可以是例如,液晶显示器(lcd)、等离子显示器、阴极射线管(crt)显示器或任何其他形式的视觉显示设备。在本发明的一些实施例中,处理器2210和芯片组2220被合并成单个soc。另外,芯片组2220连接至一条或多条总线2250和2255,这些总线互连各元件2274、2260、2262、2264和2266。总线2250和2255可经由总线桥2272被互连在一起。在一个实施例中,芯片组2220经由接口2224和/或2204等与非易失性存储器2260、(多个)大容量存储设备2262、键盘/鼠标2264以及网络接口2266耦合。

在一个实施例中,大容量存储设备2262包括但不限于固态驱动器、硬盘驱动器、通用串行总线闪存驱动器、或任何其他形式的计算机数据存储介质。在一个实施例中,网络接口2266是通过使用任何类型的公知网络接口标准来实现的,这些标准包括但不限于:以太网接口、通用串行总线(usb)接口、外围组件互连(pci)快速接口、无线接口和/或任何其他合适类型的接口。在一个实施例中,无线接口根据ieee802.11标准及其相关系列、家庭插座av(homeplugav:hpav)、超宽带(uwb)、蓝牙、wimax或任何其他形式的无线通信协议来操作,但不限于此。

虽然图22中所示出的组件被描绘为系统2200内的分开的块,但是由这些块中的一些块所执行的功能可被集成在单个半导体电路内,或者可使用两个或更多个分开的集成电路来实现。例如,虽然高速缓存存储器2216被描绘为处理器2210内的分开的块,但高速缓存存储器2216(或2216的所选择的方面)可被合并到处理器核2212中。

示例和注释

本主题可通过若干示例进行描述。

示例1可包括一种以信息为中心的网络(icn)的组件,该组件包括:存储器,包括扩展内容存储,该扩展内容存储包括来自icn的至少一个其他组件的内容以及该内容的第一属性,该第一属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量;以及处理电路,用于响应于包括该内容的第一内容分组的传送而递增内容流行度值,该第一内容分组响应于接收兴趣分组而被传送。

在示例2中,示例1可进一步包括:其中,存储器进一步包括内容的子集以及存储于该存储器上的内容的子集的第二属性,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例3中,示例2可进一步包括:其中,处理电路进一步用于响应于利用包括内容的子集的第二内容分组对兴趣分组进行响应而递增子集流行度值并且递增内容流行度值。

在示例4中,示例2-3中的至少一项可进一步包括:其中,处理电路进一步用于响应于利用包括内容的子集的第二内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值。

在示例5中,示例1-4中的至少一项可进一步包括:其中,处理电路进一步用于:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第三内容分组,该内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到内容流行度值。

在示例6中,示例1-5中的至少一项可进一步包括:其中,处理电路进一步用于:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收内容分组,该内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到子集流行度值。

在示例7中,示例5-6中的至少一项可进一步包括:其中,对第三流行度值的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例8中,示例6-7中的至少一项可进一步包括:其中,该请求是具有指示内容名称的内容名称字段的第二兴趣分组。

在示例9中,示例2-8中的至少一项可进一步包括:其中,处理电路进一步用于基于内容流行度值和子集流行度值来管理内容。

在示例10中,示例9可进一步包括:其中,第一属性包括与内容对应的内容保留优先级,并且第二属性包括与子集对应的子集保留优先级。

在示例11中,示例10可进一步包括:其中,处理电路进一步用于响应于确定内容流行度值小于优先级阈值而降低内容保留优先级。

在示例12中,示例11可进一步包括:其中,处理电路进一步用于:将内容保留优先级与保留阈值进行比较;以及响应于确定内容保留优先级小于保留阈值的确定而从存储器移除内容。

在示例13中,示例12可进一步包括:其中,从存储器对内容的移除进一步响应于确定内容保留优先级低于子集保留优先级而发生。

示例14可包括以信息为中心的网络(icn)的多个组件中的组件,该组件包括:存储器,包括内容和扩展转发信息库(fib),该扩展fib包括该组件的子组件的属性,这些属性包括由子组件提供的一个或多个服务;以及处理电路,用于:发出对第二组件的标识的请求,该第二组件提供如由fib所确定的不由子组件或组件提供的服务;响应于所发出的请求而接收内容分组,该内容分组包括提供该服务的第二组件的标识;以及将该内容转发至与该标识相关联的第二组件。

在示例15中,示例14可进一步包括:其中,对标识的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例16中,示例14-15中的至少一项可进一步包括:其中,处理电路进一步用于响应于接收内容分组而将第二组件、标识以及服务添加到扩展fib。

在示例17中,示例14-16中的至少一项可进一步包括:其中,该请求是具有指示所请求的服务的内容名称字段的兴趣分组。

在示例18中,示例14-17中的至少一项可进一步包括:其中,内容被存储在存储器的扩展内容存储中,该扩展内容存储包括内容以及该内容的第一属性,该第一属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量;并且其中,处理电路进一步用于响应于包括该内容的第二内容分组的传送而递增该流行度值,该第二内容分组响应于接收兴趣分组而被传送。

在示例19中,示例18可进一步包括:其中,存储器进一步包括内容的子集以及存储于该存储器上的内容的子集的第二属性,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例20中,示例19可进一步包括:其中,处理电路进一步用于响应于利用包括内容的子集的第二内容分组对第二兴趣分组进行响应而递增子集流行度值并且递增内容流行度值。

在示例21中,示例19-20中的至少一项可进一步包括:其中,处理电路进一步用于响应于利用包括内容的子集的第二内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值。

在示例22中,示例18-21中的至少一项可进一步包括:其中,处理电路进一步用于:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第三内容分组,该第三内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到内容流行度值。

在示例23中,示例18-22中的至少一项可进一步包括:其中,处理电路进一步用于:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第四内容分组,该第四内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到子集流行度值。

在示例24中,示例23可进一步包括:其中,对第三流行度值的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例25中,示例24可进一步包括:其中,处理电路进一步用于基于内容流行度值和子集流行度值来管理内容。

在示例26中,示例25可进一步包括:其中,属性包括与内容对应的内容保留优先级以及与子集对应的子集保留优先级。

在示例27中,示例26可进一步包括:其中,处理电路进一步用于:响应于确定内容流行度值小于优先级阈值而降低内容保留优先级;将内容保留优先级与保留阈值进行比较;以及响应于确定内容保留优先级小于保留阈值的确定而从存储器移除内容。

示例28可包括一种由以信息为中心的网络(icn)的组件执行的方法,该方法包括:接收对存储在该组件的扩展内容存储中的内容的请求,该扩展内容存储包括该内容以及该内容的第一属性,该第一属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量;传送包括该内容的内容分组;以及响应于该内容分组的传送而递增该流行度值。

在示例29中,示例28可包括:其中,扩展内容存储进一步包括内容的子集以及存储于该扩展内容存储上的内容的子集的第二属性,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例30中,示例29可包括:响应于传送包括内容的子集的第二内容分组而递增子集流行度值并且递增内容流行度值。

在示例31中,示例29-30中的至少一项可包括:响应于利用包括内容的子集的第二内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值。

在示例32中,示例28-31中的至少一项可包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第三内容分组,该第三内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到内容流行度值。

在示例33中,示例28-32中的至少一项可包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第四内容分组,该第四内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到子集流行度值。

在示例34中,示例33可包括:其中,对第三流行度值的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例35中,示例34可包括:其中,该请求是具有指示内容名称的内容名称字段的兴趣分组。

在示例36中,示例34-35中的至少一项可包括:基于内容流行度值和子集流行度值来管理内容。

在示例37中,示例36可包括:其中,属性包括与内容对应的内容保留优先级以及与子集对应的子集保留优先级。

在示例38中,示例37可包括:响应于确定内容流行度值小于优先级阈值而降低内容保留优先级。

在示例39中,示例38可包括:将内容保留优先级与保留阈值进行比较;以及响应于确定内容保留优先级小于保留阈值的确定而从扩展内容存储移除内容。

在示例40中,示例39可包括:其中,从扩展内容存储对内容的移除进一步响应于确定内容保留优先级值小于子集保留优先级值而发生。

示例41可包括一种由以信息为中心的网络(icn)的组件执行的方法,该方法包括:发出对组件的标识的请求,该组件提供如组件的扩展转发信息库(fib)所确定的不由子组件或组件提供的服务,该扩展fib包括组件的子组件的属性,这些属性包括由子组件提供的一个或多个服务;响应于所发出的请求而接收内容分组,该内容分组包括提供服务的组件的标识;以及将该内容转发至与该标识相关联的组件。

在示例42中,示例41可包括:其中,对标识的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例43中,示例41-42中的至少一项可包括:响应于接收内容分组而将组件、标识和服务添加到扩展fib。

在示例44中,示例41-43中的至少一项可包括:其中,该请求是具有指示所请求的服务的内容名称字段的兴趣分组。

在示例45中,示例41-44中的至少一项可包括:其中,内容被存储在存储器的扩展内容存储中,该扩展内容存储包括内容以及该内容的第一属性,该第一属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量;并且该方法进一步包括响应于包括该内容的内容分组的传送而递增该流行度值,该内容分组响应于兴趣分组而被传送。

在示例46中,示例45可包括:其中,组件包括扩展内容存储,该扩展内容存储包括内容的子集以及存储于该扩展内容存储上的内容的子集的第二属性,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例47中,示例46可包括:响应于利用包括内容的子集的内容分组来对兴趣分组进行响应而递增子集流行度值并且递增内容流行度值。

在示例48中,示例46-47中的至少一项可包括:响应于利用包括内容的子集的内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值。

在示例49中,示例45-48中的至少一项可包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第二内容分组,该第二内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到内容流行度值。

在示例50中,示例45-49中的至少一项可包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第三内容分组,该第三内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到子集流行度值。

在示例51中,示例50可包括:其中,对其他流行度值的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例52中,示例51可包括:基于内容流行度值和子集流行度值来管理内容。

在示例53中,示例52可包括:其中,属性包括与内容对应的内容保留优先级以及与子集对应的子集保留优先级。

在示例54中,示例53可包括:响应于确定内容流行度值小于优先级阈值而降低内容保留优先级;将内容保留优先级与保留阈值进行比较;以及响应于确定内容保留优先级小于保留阈值的确定而从扩展内容存储移除内容。

示例55可包括至少一种机器可读介质,包括指令,这些指令在由以信息为中心的网络(icn)的组件的处理电路执行时使得该处理电路执行包括以下各项的操作:接收对存储在该组件的扩展内容存储中的内容的请求,该扩展内容存储包括该内容以及该内容的第一属性,该第一属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量;传送包括该内容的内容分组;以及响应于该内容分组的传送而递增该流行度值。

在示例56中,示例55可包括:其中,扩展内容存储进一步包括内容的子集以及存储于该扩展内容存储上的内容的子集的第二属性,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例57中,示例56可包括:操作进一步包括响应于传送包括内容的子集的第二内容分组而递增子集流行度值并且递增内容流行度值。

在示例58中,示例56-57中的至少一项可包括:操作进一步包括响应于利用包括内容的子集的第三内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值。

在示例59中,示例55-58中的至少一项可包括:操作进一步包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第四内容分组,该第四内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到内容流行度值。

在示例60中,示例55-59中的至少一项可包括:操作进一步包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第五内容分组,该第五内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到子集流行度值。

在示例61中,示例60可包括:其中,对第三流行度值的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例62中,示例61可包括:其中,该请求是具有指示内容名称的内容名称字段的兴趣分组。

在示例63中,示例61-62中的至少一项可包括:操作可进一步包括基于内容流行度值和子集流行度值来管理内容。

在示例64中,示例63可包括:其中,第一属性包括与内容对应的内容保留优先级,并且第二属性包括与子集对应的子集保留优先级。

在示例65中,示例64可包括:操作进一步包括响应于确定内容流行度值小于优先级阈值而降低内容保留优先级。

在示例66中,示例65可包括:操作进一步包括:将内容保留优先级与保留阈值进行比较;以及响应于确定内容保留优先级小于保留阈值的确定而从扩展内容存储移除内容。

在示例67中,示例66可包括:其中,从扩展内容存储对内容的移除进一步响应于确定内容保留优先级值小于子集保留优先级值而发生。

示例68可包括至少一种机器可读介质,包括指令,这些指令在由以信息为中心的网络(icn)的组件的处理电路执行时使得该处理电路执行包括以下各项的操作:发出对组件的标识的请求,该组件提供如由组件的扩展转发信息库(fib)所确定的不由子组件或组件提供的服务,该扩展fib包括组件的子组件的属性,这些属性包括由子组件提供的一个或多个服务;响应于所发出的请求而接收内容分组,该内容分组包括提供服务的组件的标识;以及将该内容转发至与该标识相关联的组件。

在示例69中,示例68可包括:其中,对标识的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例70中,示例68-69中的至少一项可包括:响应于接收内容分组而将组件、标识和服务添加到扩展fib。

在示例71中,示例68-70中的至少一项可包括:其中,该请求是具有指示所请求的服务的内容名称字段的兴趣分组。

在示例72中,示例68-71中的至少一项可进一步包括:其中,请求是兴趣分组;并且其中,内容被存储在存储器的扩展内容存储中,该扩展内容存储包括内容以及该内容的第一属性,该第一属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量;并且操作进一步包括响应于包括该内容的第二内容分组的传送而递增该流行度值,该第二内容分组响应于兴趣分组而被传送。

在示例73中,示例72可包括:其中,组件包括扩展内容存储,该扩展内容存储包括内容的子集以及存储于该扩展内容存储上的内容的子集的第二属性,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例74中,示例73可包括:操作进一步包括响应于利用包括内容的子集的第三内容分组对兴趣分组进行响应而递增子集流行度值并且递增内容流行度值。

在示例75中,示例73-74中的至少一项可包括:操作进一步包括响应于利用包括内容的子集的内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值。

在示例76中,示例72-75中的至少一项可包括:操作进一步包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第四内容分组,该第四内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到内容流行度值。

在示例77中,示例72-76中的至少一项可包括:操作进一步包括:从包括内容或内容的子集的另一组件发出对第三流行度值的请求;响应于所发出的请求而接收第五内容分组,该第五内容分组包括对第三流行度值的指示;以及将该第三流行度值添加到子集流行度值。

在示例78中,示例77可包括:其中,对其他流行度值的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例79中,示例78可包括:操作可进一步包括基于内容流行度值和子集流行度值来管理内容。

在示例80中,示例79可包括:其中,属性包括与内容对应的内容保留优先级以及与子集对应的子集保留优先级。

在示例81中,示例80可包括:操作进一步包括:响应于确定内容流行度值小于优先级阈值而降低内容保留优先级;将内容保留优先级与保留阈值进行比较;以及响应于确定内容保留优先级小于保留阈值的确定而从扩展内容存储移除内容。

示例82可包括一种以信息为中心的网络(icn)的组件的系统,该系统包括:用于存储扩展内容存储的装置,该扩展内容存储包括来自icn的至少一个其他组件的内容以及该内容的第一属性,该第一属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量;以及用于响应于包括该内容的内容分组的传送而递增流行度值的装置,该内容分组响应于接收兴趣分组而被传送。

在示例83中,示例82可包括:其中,用于存储扩展内容存储的装置进一步包括用于存储内容的子集以及存储于其上的内容的子集的第二属性的装置,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例84中,示例83可包括:响应于利用包括内容的子集的第二内容分组来对兴趣分组进行响应而递增子集流行度值并且递增内容流行度值。

在示例85中,示例83-84中的至少一项可包括:用于响应于利用包括内容的子集的第三内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值的装置。

在示例86中,示例82-85中的至少一项可包括:用于从包括内容或内容的子集的另一组件发出对第三流行度值的请求、响应于所发出的请求而接收第四内容分组、以及将该第三流行度值添加到内容流行度值的装置,该第四内容分组包括对第三流行度值的指示。

在示例87中,示例82-86中的至少一项可包括:用于从包括内容或内容的子集的另一组件发出对第三流行度值的请求、响应于所发出的请求而接收第五内容分组、以及将该第三流行度值添加到子集流行度值的装置,该第五内容分组包括对第三流行度值的指示。

在示例88中,示例86-87中的至少一项可进一步包括:其中,用于发出对其他流行度值的请求的装置被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例89中,示例87-88中的至少一项可包括:其中,该请求是具有指示内容名称的内容名称字段的兴趣分组。

在示例90中,示例87-89中的至少一项可包括:用于基于内容流行度值和子集流行度值来管理内容的装置。

在示例91中,示例90可包括:其中,属性包括与内容对应的内容保留优先级以及与子集对应的子集保留优先级。

在示例92中,示例91可包括:用于响应于确定内容流行度值小于优先级阈值而降低内容保留优先级的装置。

在示例93中,示例92可进一步包括:用于将内容保留优先级与保留阈值进行比较、并且响应于确定内容保留优先级小于保留阈值的确定而从存储器移除内容的装置。

在示例94中,示例93可进一步包括:其中,从存储器对内容的移除进一步响应于确定内容保留优先级值小于子集保留优先级值而发生。

示例95可包括以信息为中心的网络(icn)的组件的系统,该系统包括:用于存储内容和扩展转发信息库(fib)的装置,该扩展fib包括该组件的子组件的第一属性,这些属性包括由子组件提供的一个或多个服务;以及用于发出对提供如由fib所确定的不由子组件或组件提供的服务的组件的标识的请求、响应于所发出的请求而接收内容分组、以及将该内容转发至与该标识相关联的组件的装置,该内容分组包括提供该服务的组件的标识。

在示例96中,示例95可包括:其中,对标识的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例97中,示例95-96中的至少一项可包括:响应于接收内容分组而将组件、标识和服务添加到扩展fib。

在示例98中,示例95-97中的至少一项可包括:其中,该请求是具有指示所请求的服务的内容名称字段的兴趣分组。

在示例99中,示例95-98中的至少一项可包括用于存储内容以及该内容的第二属性的装置,该第二属性包括内容流行度值,该内容流行度值指示对该内容的请求的数量,并且进一步包括用于响应于包括该内容的内容分组的传送而递增该流行度值的装置,该内容分组响应于兴趣分组而被传送。

在示例100中,示例99可包括存储内容的子集以及存储于其上的内容的子集的第二属性的装置,该第二属性包括子集流行度值,该子集流行度值指示对内容的子集的请求的数量。

在示例101中,示例100可包括:用于响应于利用包括内容的子集的第二内容分组来对兴趣分组进行响应而递增子集流行度值并且递增内容流行度值的装置。

在示例102中,示例100-101中的至少一项可包括:用于响应于利用包括内容的子集的第三内容分组对兴趣分组进行响应而递增子集流行度值并且抑制递增内容流行度值的装置。

在示例103中,示例99-102中的至少一项可包括:用于从包括内容或内容的子集的另一组件发出对第三流行度值的请求的装置、响应于所发出的请求而接收第四内容分组、以及将该第三流行度值添加到内容流行度值的装置,该第四内容分组包括对第三流行度值的指示。

在示例104中,示例99-103中的至少一项可包括:用于从包括内容或内容的子集的另一组件发出对第三流行度值的请求、响应于所发出的请求而接收第五内容分组、以及将该第三流行度值添加到子集流行度值的装置,该第五内容分组包括对第三流行度值的指示。

在示例105中,示例104可包括:其中,对其他流行度值的请求被发出到icn搜索电路,该icn搜索电路在icn的比内容在其上驻留的层更高的层处被实现。

在示例106中,示例105可包括:用于基于内容流行度值和子集流行度值来管理内容的装置。

在示例107中,示例106可包括:其中,第一属性包括与内容对应的内容保留优先级,并且第二属性包括与子集对应的子集保留优先级。

在示例108中,示例107可包括:用于响应于确定内容流行度值小于优先级阈值而降低内容保留优先级、将内容保留优先级与保留阈值进行比较、以及响应于确定内容保留优先级小于保留阈值的确定而从存储器移除内容的装置。

这些非限制示例中的每个示例可独立存在,或可按照多种排列或组合与其他示例中的一个或多个示例组合。非瞬态仅仅意指介质是有形介质。

以上具体实施方式包括对附图的引用,附图形成具体实施方式的部分。作为说明,附图示出其中可实施本文中所讨论的方法、装置、以及系统的具体实施例。这些实施例在本文中还被称为“示例”。此类示例可包括除所示出或所描述的那些要素以外的要素。然而,本申请发明人还构想了其中只提供所示出或所描述的那些要素的示例。另外,本申请发明人还构想了相对于特定示例(或者其一个或多个方面)或者相对于本文中所示出或所描述的其他示例(或者其一个或多个方面)使用所示出或所描述的那些要素(或者其一个或多个方面)的组合或排列的示例。

在本文档中,如在专利文档中常见的那样,使用术语“一”或“一个”以包括一个或多于一个,并且独立于“至少一个”或“一个或多个”的任何其他实例或用法。在本文档中,使用术语“或”来表示非排他的“或”,使得“a或b”包括“a但非b”,“b但非a”,以及“a和b”,除非另外指示。在本文档中,术语“包括”和“在其中”用作各个术语“包含”和“其中”的通俗英文的等同词。同样,在所附权利要求中,术语“包括”和“包含”是开放式的,也就是说,包括除了在权利要求中的这种术语之后列出的那些元素以外的元素的系统、设备、物品、组合、公式化、或者过程仍然被认为落入该权利要求的范围内。而且,在所附权利要求中,术语“第一”、“第二”、以及“第三”等仅仅用作标记,并且不旨在对其对象施加数值要求。

以上描述旨在是说明性而非限制性的。例如,以上所描述的示例(或者其一个或多个方面)可彼此组合使用。诸如可由本领域普通技术人员在仔细阅读以上描述之后使用其他实施例。提供摘要以允许读者快速地确定本技术公开的性质。提交该摘要应当理解,该摘要将不用于解释或限制权利要求的范围或含义。而且,在以上具体实施方式中,各种特征可分组在一起以使本公开精简。但这不应被解释为意指未要求保护的所公开特征对任何权利要求而言都是必要的。相反,发明性主题可在于少于特定的所公开实施例的所有特征。因此,所附权利要求由此作为示例或实施例被结合到详细描述中,其中每一权利要求作为单独的实施例独立存在,并且构想这些实施例可在各种组合或置换中相互组合。本发明的范围应当参考所附权利要求连同这些权利要求赋予的等同物的全部范围而确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1