条件路由装置和方法与流程

文档序号:20608232发布日期:2020-05-01 22:18阅读:211来源:国知局
条件路由装置和方法与流程
本公开一般涉及网络通信,并特别涉及信息中心联网中的数据通信。
背景技术
:该部分旨在向读者介绍本领域的各个方面,其可能以下描述和/或要求保护的本公开的各个方面相关。相信该讨论有助于向读者提供背景信息,以促进更好地理解本公开的各个方面。因此,应该理解的是,应从这个角度来阅读这些陈述,而不是作为对现有技术的承认。图1在功能上图示了通用(generic)传统信息中心联网(icn)网络100,该网络具有请求节点(“消费者(consumer)”)110、中间路由器节点(“转发器(forwarder)”)120和提供信息或其他类型服务的节点130(“生产者(producer)”)。转发器120包括内容储存器(“cs”)121、未决兴趣表(“pit”)122、转发信息库(“fib”)123和转发策略模块124。cs121是缓存数据,pit122存储尚未满足的转发“兴趣”、数据名称以及传入和传出接口,fib123是将名称映射到接口的路由表,并且转发策略模块是与分组转发相关的策略和规则的集合。在此示例中,“兴趣分组”是对数据的请求,但应注意,在一般情况下,兴趣例如也可以是去往生产者的执行动作的指令。当转发器120从消费者110接收到兴趣分组(即,对数据的请求)时,它可以首先检查所请求的数据是否存储在cs121中。如果是这样,则转发器120在数据分组中将数据返回到消费者110。如果cs121没有存储数据,则它将条目添加到pit122和fib,并将兴趣分组路由到生产者130。生产者130生成具有所请求的数据的数据分组,并向转发器120发送该数据分组。转发器120检查pit122是否包括对应的兴趣。如果不是这种情况,则转发器120丢弃该数据分组。但是,如果pit122确实存储了对应的兴趣,则pit122删除该兴趣,cs121存储该数据,并向消费者110发送该数据分组。但是,在某些情况下,消费者110可能请求数据仅为了确定数据是否满足特定标准,例如“如果冷冻室温度高于-15℃,则警告用户”。这可能导致不必要的网络业务量,特别是如果消费者110定期发送与该数据相关的兴趣分组。将理解的是,期望具有一种解决方案,其至少克服与icn数据通信相关的传统问题的一部分。技术实现要素:在第一方面,本原理针对一种转发器装置,被配置用于在网络中使用。该转发器装置包括至少一个通信接口,配置为:从消费者装置或第二转发器装置接收对数据的第一请求,该第一请求包括所请求的数据的标识符和条件,向网络中的生产者装置或第三转发器装置发送对数据的第二请求,该第二请求至少包括该数据的标识符,从生产者装置或第三转发器装置接收与所请求的数据相对应的数据,和向消费者装置或第二转发器装置发送所接收的数据。该转发器装置进一步包括至少一个硬件处理器,配置为仅在所接收的数据满足条件的情况下,指示所述至少一个通信接口向消费者装置发送所接收的数据。所述至少一个硬件处理器进一步配置为仅在转发器装置从消费者装置接收到第一请求的情况下,确定所接收的数据是否满足条件。在第二方面,本原理针对一种转发器装置,被配置用于在网络中使用。该转发器装置包括至少一个通信接口,配置为:从消费者装置或第二转发器装置接收对数据的第一请求,该第一请求包括所请求的数据的标识符和条件,向网络中的生产者装置或第三转发器装置发送对数据的第二请求,该第二请求至少包括该数据的标识符,从生产者装置或第三转发器装置接收与所请求的数据相对应的数据,和向消费者装置或第二转发器装置发送所接收的数据。该转发器装置进一步包括至少一个硬件处理器,配置为仅在所接收的数据满足条件的情况下,指示所述至少一个通信接口向消费者装置发送所接收的数据。所述至少一个硬件处理器进一步配置为仅在转发器装置向生产者装置发送第二请求的情况下,确定所接收的数据是否满足条件。在第三方面,本原理针对一种在网络中的转发器装置处的方法。至少一个通信接口从消费者装置或第二转发器装置接收对数据的第一请求,该第一请求包括所请求的数据的标识符和条件,向网络中的生产者装置或第三转发器装置发送对数据的第二请求,该第二请求至少包括该数据的标识符,并从生产者装置或第三转发器装置接收与所请求的数据相对应的所接收的数据。至少一个硬件处理器仅在转发器装置从消费者装置接收到第一请求的情况下,确定所接收的数据是否满足条件,并且仅在所接收的数据满足条件的情况下,向消费者装置或第二转发器装置发送所请求的数据。在第四方面,本原理针对一种在网络中的转发器装置处的方法。至少一个通信接口从消费者装置或第二转发器装置接收对数据的第一请求,该第一请求包括所请求的数据的标识符和条件,向网络中的生产者装置或第三转发器装置发送对数据的第二请求,该第二请求至少包括该数据的标识符,并从生产者装置或第三转发器装置接收与所请求的数据相对应的所接收的数据。至少一个硬件处理器仅在转发器装置向生产者装置发送了第二请求的情况下,确定所接收的数据是否满足条件,并且仅在所接收的数据满足条件的情况下,向消费者装置或第二转发器装置发送所请求的数据。在第五方面,本原理针对一种计算机程序,该计算机程序包括可由处理器执行用于实现根据第三或第四方面的任一实施例的方法的步骤的程序代码指令。在第六方面,本原理针对一种计算机程序产品,该计算机程序产品存储在非瞬时计算机可读介质上,并且包括可由处理器执行用于实现根据第三或第四方面的任一实施例的方法的步骤的程序代码指令。附图说明现在将参照附图通过非限制性示例描述本原理的特征,其中:图1在功能上图示了通用信息中心联网(icn)网络;图2图示了根据本原理的实施例的示例性系统;和图3图示了根据本原理的实施例的条件数据通信的方法。具体实施方式图2图示了根据本原理的通用信息中心联网(icn)网络200。为了清楚起见,图示了每种类型的仅一个装置,但是将理解的是,icn网络200可以并且通常将包括每种类型的其他装置。如图1中所示,icn网络200包括请求节点(“消费者”)210、中间路由器节点(“转发者”)220和提供信息或其他种类的服务的节点230(“生产者”)。生产者230可以是传统类型的。转发器220至少包括图1中图示的一些功能块(但图2中未示出):内容储存器cs、转发信息库fib、和转发策略模块。此外,转发器220还包括条件待决兴趣表cpit,其功能将在下文中描述。cs最好为存储的每一内容(即数据)设置生命周期(time-to-live)值,并当生命周期值到期时删除该内容。消费者210的非限制性示例是个人计算机、移动电话、平板电脑、机顶盒、和警报系统。转发器220的非限制性示例是家庭网络中的网关和网络路由器。消费者210和转发器220中的每一个包括至少一个硬件处理单元(“处理器”)211、221、存储器212、222、以及配置为与其他装置-用于消费者210的转发器220以及用于转发器220的消费者210和生产者230进行通信的硬件通信接口213、223。转发器220的通信接口223可以被实现为单个物理接口。本领域技术人员将理解,出于图示清楚的原因,非常简化了图示的消费者210和转发器220,并且这些装置的物理实现还包括诸如内部连接和电源的特征。非瞬时存储介质240存储指令,所述指令在由处理器运行时,执行转发器210的功能,如下文进一步所述。本原理的显著特征是将兴趣的语义扩展到包括转发器220将数据返回到消费者210、数据应达到的条件。因此,仅在数据达到条件的情况下,转发器220返回数据;否则不返回任何内容。在变体中,当达到条件时,转发器将数据返回到消费者210,否则,转发器返回数据没有达到条件的通知。为此,消费者210的处理器211被配置为在兴趣中插入条件。如所提及的,该条件指示至少一种情况,在所述至少一种情况下,数据将被发送到消费者210,如将在下文中更详细地看到的。另外,在转发器220处,处理器221被配置为仅在满足兴趣中的条件时才在cs(图1中的121)中返回数据。处理器221还被配置为除了在传入请求接口中注册前缀(即对应的兴趣)之外,还将用于该兴趣的条件添加到cpit(图1中的122)。优选的是,处理器221将倒数计时器与兴趣相关联,并在时间到时将兴趣从cpit中移除。这样的倒数计时器可以例如在生产者不返回任何数据的情况下使用,或者如将要描述的那样,在一连串转发器的情况下使用,其中如果更靠近生产者的转发器确定不满足条件,则更接近消费者的转发器可能不接收任何数据。图3图示了根据本原理的实施例的条件数据通信的方法。在步骤s310中,消费者210的处理器211生成包括条件的兴趣并将其发送到转发器220。转发器220然后接收该兴趣,并从该兴趣中提取条件。在步骤s315中,转发器220的处理器221检查在兴趣中请求的数据是否已经存储在cs中。如果所请求的数据存储在cs中,则在步骤s320中,处理器221检查所存储的数据是否满足条件。如果存储的数据满足条件,则在步骤s325中将存储的数据发送到消费者。然而,如果存储的数据不满足条件,则不向消费者发送数据,并且该方法在步骤s360中停止。如果数据没有存储在cs中,则在步骤s330中,处理器221将条件连同兴趣一起存储在cpit中,并且在步骤s335中,将兴趣路由到生产者230。当发送到生产者230时,可以在没有条件的情况下发送兴趣,但也可能将条件保留在兴趣中。对于每个条目,cpit最好包含前缀、面部和条件索引,其中前缀标识兴趣中请求的数据,面部标识兴趣来自何处(以及应将对应数据路由到何处)-在本示例中,发出请求的消费者-并且条件索引指代条件表中的条目。该条件表包括具有索引(链接条件表和cpit)和条件的条目,其示例将在下文示出。本领域技术人员将理解,也可能将条件包括在cpit自身中。在步骤s340中,生产者230处理该兴趣,并将所请求的数据以传统方式返回到转发器220。在接收到数据时,在步骤s345中,转发器220从cpit检索包括条件的对应信息。如在步骤s320中已经描述的,转发器然后在步骤s350中验证数据是否达到条件。如果数据达到条件,则在步骤s355中,转发器220将数据转发到消费者210;否则,不向消费者210发送数据,并且该方法在步骤s360中结束。可以看出,可以将cpit称为具有用于每个条目的条件表索引的传统pit(该索引可能为空)。该条件表索引可以被选定为对于该条件表是唯一的,但是该条件表索引也可能以不同的方式获得,例如通过使用从具有条件的兴趣生成的哈希值。将理解的是,如果在兴趣中不包括条件(即,当不存在转发器220要提取的条件时),则转发器22以传统方式处理该兴趣。特别是,没有条件表索引键入cpit中。如已经提到的,条件表包括索引和条件。条件具有一个表达式,但也可以分离为运算符和值。运算符的示例包括等式和操作运算符,例如:根据本原理的cpit的示例如下:前缀请求面部条件表索引/家庭1/外部/颗粒_物质消费者21010/家庭1/厨房/温度消费者xx-/家庭1/外部/臭氧家庭216条件表的匹配示例如下:索引运算符值10>(“gt”)1016<(“lt”)60图2中的系统包括单个转发器,但是本领域技术人员将理解,该系统自然可能包括多个转发器。在这样的系统中,不与生产者直接联系的转发器会将兴趣传送到“更靠近”生产者的另一转发器。因此,可将将兴趣经由一连串的转发器从消费者传送到生产者。优选的是,将数据沿相反的方向通过转发器发送回去。如果通过一连串转发器发送有条件的兴趣,则存在转发器将检查条件的各种解决方案。第一种解决方案是使得每个转发器在将数据朝向消费者路由之前检查条件。第二种解决方案是使得最靠近消费者的转发器检查条件。例如,这可以通过使得该转发器从兴趣中删除条件然后传送到下一转发器来实现,所述下一转发器随后将以传统方式处置接收到的兴趣。实现此目的的另一方式是,其他转发器在将朝向消费者返回数据时忽略该条件。该解决方案的缺陷在于,即使当数据不达到该条件时,数据也会从最靠近生产者的转发器发送到最靠近消费者的转发器。另一方面,优点在于,最靠近消费者的转发器然后将数据存储在cs中,可以响应于进一步接收的兴趣而从cs中检索数据。第三种解决方案是仅使得向生产者直接发送兴趣的转发者检查条件。毕竟,如果此转发器发现达到该条件,则所有转发器将得出相同的结论。相反,如果转发器发现未达到该条件,则它将根本不向下一转发器返回任何数据(或可能未达到该条件的指示),这然后不能验证该条件。在第四种解决方案中,存储条件的每个转发器首先验证其资源上的负载(例如处理器使用)是否太大,即是否超过阈值。如果负载高于阈值,则转发器朝向一连串转发器中的下一转发器转发数据,而无需检查条件。尽管也可以在最靠近消费者的转发器上实现此解决方案,但最好是该转发器始终检查条件,以确定是否应向消费者转发数据。因此,如果所有中间路由器都太忙而无法检查条件,则由最靠近消费者的转发器检查条件。取决于解决方案,转发器可以将条件包含在它向另一转发器发送的兴趣中,或者在传送之前删除条件。用户案例示例假设用户具有主要住所家庭2和次要住所家庭1,并且家庭1共享空气质量数据,例如颗粒物或臭氧。家庭2中的用户想获得相关数据,这意味着以下满足某些条件的数据:·颗粒_物质2.5,如果其大于25,以及·臭氧,当测量值低于60时。然后,家庭2中的诸如用户的智能电话之类的消费者装置可传送以下兴趣:·/家庭1/外部/颗粒_物质2.5/gt/25·/家庭1/外部/臭氧/lt/60这些兴趣可以例如被发送到家庭2中的网关用于传输,可能经由另外的icn兼容的转发器节点被路由到生产者,即,广告对应数据的一个或多个装置。如果接收的转发器存储所请求的数据并且该数据满足条件,则将其返回到消费者。否则,转发器提取条件(如果有的话)(如本示例中所示),并在条件表中创建具有索引(例如16)、运算符(例如lt)和值(例如60)的新条目。转发器还在cpit中创建条目,具有例如“/家庭1/外部/臭氧”的兴趣、以及例如16的面部和条件表索引。然后,转发器将兴趣路由到下一icn节点:在到生产者的路由上的另一转发器节点、或广告该数据的生产者,即,例如家庭1中的臭氧传感器或网关。最后,生产者将请求的数据返回到转发器,生产者从该转发器接收过兴趣。然后,转发器将检查是否存在对应条件,即该值不为空;在此用户案例中,存在用于颗粒物和臭氧两者的条件。然后,转发器检查数据是否满足条件,并且如果是这种情况,则将数据朝向消费者路由,即,消费者或朝向消费者的路由上的另一转发器。将理解的是,当前实施例可以改进网络效率,因为不需要的网络业务量(即与不满足条件的数据对应的业务量)不会通过网络发送。应当理解,附图中所示的元件可以按照各种形式的硬件、软件或其组合来实现。优选地,这些元件在一个或多个适当编程的通用目的装置上以硬件和软件的组合来实现,所述通用目的装置可以包括处理器、存储器和输入/输出接口。本说明书说明了本公开的原理。因此,将理解,本领域的技术人员将能够设计出尽管未在本文中明确描述或示出、但体现本公开的原理并且包括在其范围内的各种布置。本文阐述的所有示例和条件语言旨在用于教育目的,以帮助读者理解本公开的原理和发明人为促进本领域做出贡献的概念,并且应解释为不限于这些具体阐述的示例和条件。此外,本文中阐述本公开的原理、方面和实施例及其特定示例的所有陈述旨在涵盖其结构和功能上的等效物。另外,这样的等效物意欲包括当前已知的等效物以及将来开发的等效物,即,执行相同功能的所开发的任何元件,而与结构无关。因此,例如,本领域技术人员将理解,本文呈现的框图表示实施本公开原理的说明性电路的构思图。类似地,将理解的是,任何流程图、流程图解、状态转换图、伪代码等都表示可以实质上在计算机可读介质中表示并因此由计算机或处理器执行的各种处理,无论是否明确示出了这样的计算机或处理器。可以通过使用专用硬件、以及能够与适当的软件相关联地执行软件的硬件,来提供附图中所示的各种元件的功能。当由处理器提供时,这些功能可以由单个专用处理器、单个共享处理器、或多个个别的处理器提供,这些处理器中一些可以共享。此外,对术语“处理器”或“控制器”的明确使用不应被解释为排他地指代能够执行软件的硬件,并且可以隐含包括但不限于数字信号处理器(dsp)硬件、用于存储软件的只读存储器(rom)、随机存取存储器(ram)和非易失性存储器。也可以包括其他传统的和/或定制的硬件。类似地,图中所示的任何开关仅是构思上的。它们的功能可以通过程序逻辑的运算、通过专用逻辑、通过程序控制和专用逻辑的交互,或者甚至手动地实现,如从上下文中更具体地理解,特定技术可由实现者选择。在本文的权利要求书中,表达为用于执行特定功能的部件的任何元件意欲涵盖执行该功能的任何方式,包括例如a)执行该功能的电路元件的组合或b)因此包括固件、微代码等的任何形式的软件、与用于执行该软件以执行功能的适当电路的组合。这样的权利要求所限定的公开内容在于以下事实,以权利要求书所要求的方式将由各种阐述的部件提供的功能进行组合和集合。因此认为可以提供那些功能的任何部件都等效于本文所示的部件。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1