发布信息

用于东西向数据流量的位置感知路由的制作方法

作者:admin      2022-11-02 06:25:51     786



电子通信装置的制造及其应用技术用于东西向数据流量的位置感知路由1.相关申请的交叉引用2.本技术要求于2020年3月20日提交的第16/825171号美国申请的优先权,并且该申请的全部内容通过引用并入本文。技术领域3.本公开总体上涉及传送各个节点的地理位置和传输功率,以生成场域网的地理位置拓扑,并且确定数据流量的位置感知路由路径。背景技术:4.诸如无线网状网络等的通信网络用于连接各种不同的设备。这些通信网络常常包含专用设备,并且可以被实现为支持智能公用事业和/或智能城市应用,例如,高级计量基础设施(ami)、配电自动化(da)、需求响应(dr)、智能街道照明控制等。这些通信网络可以被实现为低功率网络,例如,用于管理控制流量(用于网络管理)和数据流量(用于客户应用)的场域网(fan)。已经为低功率网络,例如低功率和有损网络(lln)制定了标准,这样的低功率网络是网络设备在各种约束(例如,对处理能力、存储器、电池功率等的约束)下运行的一类网络。5.已经为lln实施了网络协议,例如用于低功耗和有损网络的ipv6路由协议(rpl)。与许多协议一样,rpl具有网络设备必须遵守的各种通信要求。例如,lln中的节点可以根据路由表进行通信,该路由表可以包括下行路由和/或上行路由的指示。在传统的fan中,控制流量(用于网络管理)和数据流量(用于客户应用)共享相同的路由路径,并且可能争夺无线资源,从而导致网络中的瓶颈。此外,fan参数是静态的,因为网络中的所有节点共享相同的预配置参数,并且不能动态更新以自适应地优化网络性能。因此,通常为不同的应用(例如,ami、da、dr等)部署单独的fan,以满足带宽、吞吐量、时延等方面的特定要求。虽然利用诸如fan之类的lln可以有效地支持智能公用事业和/或智能城市应用,但网络的约束可能导致各种低效,例如,网络中的节点之间的干扰、节点之间的路由路径中断和/或链路暂时不可用、以及节点的功耗问题。附图说明6.下文参照附图进行了详细描述。在附图中,附图标记最左边的(一个或多个)数字表示该附图标记首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的项目。附图中描绘的系统不是按比例绘制的,并且附图中的组件可以彼此不是按比例绘制的。7.图1a示出了场域网控制器用于维护场域网中的各个节点的地理位置表并且确定网络中的各个节点的地理位置拓扑的示例流程的系统架构图。8.图1b示出了场域网控制器用于确定网络中的各个节点的地理位置拓扑并且为请求节点配置位置感知路由路径以向目的地节点传输(一个或多个)分组的示例流程的系统架构图。9.图2a示出了示例场域网的地理位置拓扑和直接连接两个节点的位置感知路由路径。10.图2b示出了示例场域网的地理位置拓扑和利用中间节点连接两个节点的位置感知路由路径。11.图3示出了包括节点的地理位置和传输功率的示例目的地通告对象(dao)分组报头的示意图。12.图4示出了软件定义的场域网(sd-fan)控制器用于从fan中的各个节点接收地理位置和传输功率并且生成网络的地理位置拓扑的示例方法的流程图。13.图5示出了节点用于确定其在场域网(sd-fan)中的地理位置和传输功率并且生成目的地通告对象以将地理位置和传输功率传输到与fan相关联的网络控制器的示例方法的流程图。14.图6示出了软件定义的场域网(sd-fan)控制器用于生成fan的地理位置拓扑并且确定位置感知路由路径以促进fan中节点之间的通信的示例方法的流程图。15.图7是示出用于实施服务器设备(或节点)的说明性计算机硬件架构的计算机架构图,该服务器设备(或者节点)可用于实施本文所述的各种技术的各个方面具体实施方式16.概览17.本发明的各个方面在独立权利要求中阐述,并且优选特征在从属权利要求中阐述。一个方面的特征可以单独地或与其他方面组合地应用于任何方面。18.本公开描述了一种利用软件定义的场域网(sd-fan)控制器的方法,用于接收各个节点的地理位置和传输功率并且生成fan的地理位置拓扑以向节点提供用于数据传输的位置感知路由路径。该方法包括通过与场域网相关联的软件定义网络(sdn)控制器来维护地理位置表。地理位置表可以包括场域网中的各个节点的地理位置与各个节点的相应传输功率之间的一个或多个映射。该方法还可以包括在sdn控制器处接收包括节点的地理位置和节点的传输功率的目的地通告对象。该方法还可以包括在地理位置表中存储节点的地理位置和节点的传输功率之间的映射。该方法还可以包括通过sdn控制器至少部分地基于地理位置表生成场域网的地理位置拓扑。19.另外地或替代地,该方法包括通过场域网中的节点来确定该节点的地理位置。该方法还可以包括通过节点来确定节点的传输功率。传输功率可以指示节点的传输范围。该方法还可以包括通过节点来生成包括节点的地理位置和节点的传输功率的目的地通告对象。该方法还可以包括向与场域网相关联的sdn控制器发送目的地通告消息。20.另外地或替代地,该方法包括通过sdn控制器至少部分地基于地理位置表生成场域网的地理位置拓扑,该地理位置表指示场域网中的各个节点的地理位置和各个节点的相应传输功率。该方法还可以包括在sdn控制器处从场域网中的第一节点接收查询,该查询请求路由路径以将数据从第一节点传输到场域网的第二节点。该方法还可以包括通过sdn控制器至少部分地基于场域网的地理位置拓扑来确定从第一节点到第二节点的路由路径。该方法还可以包括从sdn控制器向第一节点发送路由路径。21.另外,本文所述的技术可以通过具有存储计算机可执行指令的非暂时性计算机可读介质的系统和/或设备来执行,所述计算机可执行指令当由一个或多个处理器执行时,执行上述方法。22.示例性实施例23.如上所述,通信网络可以通过指定网络设备的通信要求的标准或协议来管理。虽然这些通信要求支持利用lln执行各种类型的应用,但这些通信网络的约束可能导致各种低效,例如,网络中的节点之间的干扰、节点之间的路由路径中断和/或链路暂时不可用、以及节点的功耗问题。24.本公开描述了软件定义网络(sdn)控制器通过以下方式管理场域网(fan)(也称为(一个或多个)sd-fan控制器)的技术:获得fan中各个节点的地理位置和相应传输功率,以生成fan的地理位置拓扑。此外,sd-fan控制器可以处理来自网络中的节点的请求路由路径以向指定节点传输数据的请求或查询,并且可以利用地理位置拓扑来确定用于向指定节点传输数据的位置感知路由路径并向请求节点提供位置感知路由路径。根据本文描述的技术和机制,每个fan可以具有通信地耦合到一个或多个端点或节点的一个或更多个边界路由器。(一个或多个)边界路由器可以通信地耦合到与广域网(wan)相关联的一个或多个sd-fan控制器,wan用于促进对相应fan的管理。在一些示例中,(一个或多个)sd-fan控制器可以包括被配置为处理计算密集型任务(例如,网络参数优化、路由路径优化等)并执行各种人工智能(ai)和/或机器学习(ml)算法的计算组件。25.另外地或替代地,(一个或多个)sd-fan控制器可以通信地耦合到sd-fan边缘计算引擎(ece),该sd-fan ece被配置为处理计算密集型任务(例如,网络参数优化、路由路径优化等)并且执行各种ai和/或ml算法。本文所述的技术和机制可以与sd-fan控制器和/或sd-fan ece一起实施,使得期望的实施方式不会限制本文所述技术和机制。26.fan可以利用用于低功率和有损网络的ipv6路由协议(rpl)。此外,rpl可以将fan拓扑组织为有向无环图(dag),该dag可以被划分为一个或多个面向目的地的dag(dodag)。在一些示例中,fan中的节点可以利用目的地通告对象(dao)以沿着dodag向上传播目的地信息。在一些示例中,网络中的节点可以利用dao中所包括的可选位,例如dodag标识(dodagid)位,以插入节点的地理位置(例如,经度和纬度)和与节点相关联的无线无线电的传输功率。27.sd-fan控制器可以被配置为维护fan的地理位置表。在一些示例中,地理位置表可以包括fan中的各个节点的地理位置与各个节点的相应传输功率之间的一个或多个映射。在一些示例中,节点的地理位置可以被表示为经度和/或纬度坐标、来自全球定位系统(gps)的指示或相对于其他节点110的地理位置的任何指示。在一些示例,地理位置表可以存储在通信地耦合到sd-fan控制器的节点数据库中。此外地或替代地,sd-fan控制器可以被配置为与sd-fan ece通信,该sd-fan ece被配置为维护fan的地理位置表和/或节点数据库。在一些示例中,sd-fan控制器可以利用地理位置表来生成fan的地理拓扑。在一些示例中,fan的地理位置拓扑可以为fan中的每个个体节点提供各个节点可以直接与哪些节点(即,在彼此的传输范围内的两个节点)通信的指示。例如,sd-fan控制器可以利用节点的地理位置和节点的传输功率来确定与该节点相关联的无线无线电的传输范围。当第一节点在第二节点的传输范围内时,在地理位置拓扑中提供传输链路。28.在一些示例中,fan中的每个节点可以利用dao向相应的边界路由器报告其地理位置,边界路由器可以将dao传递给相应的sd-fan控制器。另外地或替代地,fan中的每个节点可以包括dao中的节点的传输功率。当sd-fan控制器接收到dao时,sd-fan控制器可以在地理位置表中存储节点的地理位置和传输功率之间的映射。在一些示例中,fan中的(一个或多个)节点可以周期性地向sd-fan控制器发送dao,以考虑地理位置和/或传输功率的变化,以保持地理位置表的准确性。sd-fan控制器然后可以生成网络的地理位置拓扑以更新fan的先前地理位置拓扑。29.节点可以查询网络控制器以接收去往指定目的地节点的路由路径。在一些示例中,路由路径可以是位置感知的,使得数据传输可以采用最少的跳数到达目的地节点。例如,sd-fan控制器可以从fan中指定目的地节点的节点接收查询。节点可以将查询发送到相应的边界路由器,该边界路由器可以将查询传输到sd-fan控制器。sd-fan控制器然后可以查询地理位置拓扑并且确定从源节点到目的地节点的位置感知路由路径。在一些示例中,位置感知路由路径可以是最小跳路由路径。在一些示例中,位置感知路由路径可以是从源节点到目的地节点的直接连接,而没有中间节点。另外地或替代地,位置感知路由路径可以包括形成从源节点到目的地节点的位置感知路由路径的一个或多个中间节点。sd-fan控制器然后可以将位置感知路由路径发送回边界路由器,然后将位置感知路径转发到源节点。然后,源节点可以利用位置感知路由路径来向目的地节点进行数据传输。30.在一些示例中,源节点可以确定利用位置感知路由路径的分组传输失败。源节点可以尝试利用位置感知路由路径再次发送分组。在一些示例中,源节点可以确定利用位置感知路由路径的分组传输失败了阈值次数。例如,源节点可以确定分组传输失败了3次,并且可以确定3次失败尝试足以满足阈值次数。失败传输尝试的阈值次数可以是任何数1-n,其中n可以是大于1的任何整数。当源节点确定利用位置感知路由路径的分组传输失败了阈值次数时,源节点可以向sd-fan控制器发送指示位置感知路由路径失败的消息。另外地或替代地,源节点可以将消息发送到fan中的相应边界路由器,并且边界路由器可以将消息转发到sd-fan控制器。sd-fan控制器然后可以沿着位置感知路由路径去除地理位置拓扑中的(一个或多个)链路。例如,如果位置感知路由路径是从源节点到目的地节点的直接连接,则sd-fan控制器可以从地理位置拓扑去除从源节点至目的地节点的直连链路。另外地或替代地,如果位置感知路由路径由形成从源节点到目的地节点的路由路径的一个或多个中间节点组成,则sd-fan控制器可以去除位置感知路由中的节点之间的所有链路。另外地或替代地,消息可以包括分组传输失败的位置感知路由路径中的链路的指示,并且可以仅去除由该消息指示的链路。31.地理位置拓扑可以向sd-fan控制器提供多个指示。在一些示例中,地理位置拓扑可以提供网络中的节点具有满足或超过直接连接的阈值数量的直接连接的数量的指示。32.例如,地理位置拓扑可以指示fan中的特定节点与fan中的其他节点有7个直接连接。sd-fan控制器可以确定7个直接连接超过了直接连接的阈值数量,其中,直接连接的阈值数量是从1到n的任何数,其中n是大于1的任何整数。sd-fam控制器然后可以向节点发送消息,该消息指示该节点降低无线电传输功率,从而减小节点的无线无线电的传输范围,使得到其他节点的直接连接的数量不再超过直接连接的阈值数量。在一些示例中,sd-fan控制器可以指定节点应减少到的传输功率值。另外地或替代地,sd-fan控制器可以与节点来回通信,以每次调整固定量的传输功率,直到直接连接的数量减少到或低于直接连接的阈值数量。33.另外地或替代地,地理位置拓扑可以指示fan中的特定节点没有与fan中的其他节点的任何直接连接。sd-fan控制器然后可以向节点发送消息,该消息指示节点增加无线电传输功率,从而增加节点的无线无线电的传输范围,使得到fan中的其他节点的直接连接的数量被建立。在一些示例中,sd-fan控制器可以指定节点应增加到的传输功率值。另外地或替代地,sd-fan控制器可以与节点来回通信以每次调整固定量的传输功率,直到直接连接的数量增加到或超过直接连接的阈值数量,其中,直接连接的阈值数量是从1到n的任何数,其中n是大于1的任何整数。34.如本文所述,节点通常可以包括具有至少一个存储器和/或处理器的任何类型的计算资源。此外,尽管所述技术是在场域网中实施的,但这些技术通常适用于由提供计算资源的任何实体管理的任何设备网络。在一些实例中,这些技术可以由调度器或编排器执行,并且在其他示例中,各种组件可以在系统中使用以执行本文所述的技术。在本文中执行这些技术的设备和组件是实施方式的问题,并且所述技术不限于任何特定架构或实施方式。35.本文所述的技术提供了关于在场域网中的节点之间路由数据流量的各种改进和效率。例如,本文所述的技术可以为节点提供用于分组传输的位置感知路由路径,允许节点利用到目的地的跳数最少的路由,从而减少低功率和有损网络中的分组损失。通过维护指示各个节点的地理位置和传输功率的场域网中的节点的地理位置表,sd-fan控制器可以生成网络的地理位置拓扑。fan的地理位置拓扑为节点提供位置感知路由路径,以将分组传输到fan中的地理上最近的节点,而这在以前是不可能的。另外,sd-fan控制器可以调整网络中节点的传输功率,以管理到其他节点的直接连接的数量,从而减少fan中节点之间的干扰,并且完全去除地理位置拓扑中节点之间的链路,这在以前也是不可能的。36.下面将参考附图更全面地描述本公开的特定实施方式和实施例,其中示出了各个方面。然而,各个方面可以以许多不同的形式实施,并且不应被解释为限于本文所述的实施方式。本公开包括如本文所述的实施例的变型。相同的标号表示相同的元件。37.图1示出了用于传送指示各个节点的地理位置和传输功率的目的地通告对象以生成场域网(fan)102的地理位置拓扑的示例流程的系统架构图100。fan可以与一个或多个广域网(wan)104和/或一个或多个云计算网络106通信,使得fan 102的一个或多个组件和/或设备可以通信地耦合到wan 104的一个或多个组件和/或设备。在一些示例中,fan可以包括各种网络组件,例如一个或多个边界路由器108和/或一个或多个节点110。在一些示例中,wan可以包括一个或多个网络控制器112。在一些实例中,一个或多个网络控制器可以由云计算网络106中所包括的各种计算设备支持,并且可以通信地耦合到一个或多个边界路由器108。在一些示例中,云计算网络106可以包括一个或多个数据中心114,这些数据中心114可以跨地理区域定位,并且云计算网络104可以是分布式网络,用户(常常是客户和/或管理员)可以通过该分布式网络经由用户设备进行交互,以管理或以其他方式与由fan 102和/或wan 104提供的公用设施、服务和/或应用进行交互。38.在一些示例中,(一个或多个)网络控制器112可以包括被配置为处理计算密集型任务(例如,网络参数优化、路由路径优化等)并执行各种人工智能(ai)和/或机器学习(ml)算法的计算组件。另外地或替代地,(一个或多个)网络控制器112可以通信地耦合到边缘计算引擎(ece),该ece被配置为处理计算密集型任务并执行各种ai和/或ml算法。在一些示例中,网络控制器可以包括被配置为节点数据库116的分配虚拟存储器。在一些示例,节点数据库116可以包括地理位置表118。在一些示例中,分配虚拟存储器可以被配置为存储fan的地理位置拓扑120。39.管理用户122可以经由(一个或多个)网络126提供输入数据124,以与在节点110上运行的应用支持的服务和/或公用设施进行交互。例如,管理员122可以采用fan 102中的节点110来提交处理数据、检索数据、存储数据等请求,以支持在节点110上执行的公用设施应用。40.网络控制器112可以被配置为维护fan 102的地理位置表118。在一些示例中,地理位置表116可以包括fan 102中各个节点110的地理位置与各个节点110的相应传输功率之间的一个或多个映射。在一些示例中,地理位置表118可以存储在通信地耦合到网络控制器112的节点数据库116中。另外地或替代地,网络控制器112可以被配置为与sd-fan ece通信,该sd-fam ece被配置为维护fan 102的地理位置表116和/或节点数据库116。在一些示例中,网络控制器112可以利用地理位置表118来生成fan 102的地理位置拓扑120。在一些示例中,fan 102的地理位置拓扑120可以为每个个体节点110提供各个节点110可以直接与哪些节点110(即,在彼此的传输范围内的两个节点110)通信的指示。例如,网络控制器112可以利用节点110的地理位置和节点的传输功率来确定与节点110相关联的无线无线电的传输范围。当第一节点110在第二节点110的传输范围内时,在地理位置拓扑120中提供传输链路。41.在一些示例中,fan 102中的每个节点110可以利用dao将其地理位置报告给相应的边界路由器108,该边界路由器108可以将dao传递给相应的网络控制器112。另外地或替代地,fan中的每个节点110可以将节点110的传输功率包括在dao中。当网络控制器112接收到dao时,网络控制器112可以在地理位置表118中存储节点110的地理位置和传输功率之间的映射。在一些示例中,fan 102中的(一个或多个)节点110可以周期性地向网络控制器112发送dao,以考虑地理位置和/或传输功率的变化,以维护地理位置表的准确性。网络控制器112然后可以生成fan 102的地理位置拓扑120,以更新fan 102的先前地理位置拓扑。42.在“1”,网络控制器112可以维护fan 102的地理位置表118。在一些示例中,地理位置表116存储在附接到网络控制器112的节点数据库116中。地理位置表112可以包括fan 102中每个节点的映射,指示节点110的地理位置和传输功率。在一些示例中,当节点110的地理位置和/或传输功率改变时,可以通过地理位置表118统计这些改变。43.在“2”,网络控制器112可以从fan 102中的节点110接收dao。在一些示例中,dao可以包括节点的地理位置和节点的传输功率。在一些示例中,节点110可以确定其地理位置。另外地或替代地,节点110可以确定其传输功率,这可以指示与节点110相关联的无线无线电的传输范围。在一些示例中,节点110在通过边界路由器108(a)将dao发送到网络控制器112之前,可以利用地理位置和传输功率来生成dao。44.在“3”,网络控制器112可以在地理位置表118中存储节点110的地理位置和节点110的传输功率之间的映射。在一些示例中,该映射可以替换存储在地理位置表118中的节点110的先前映射。45.在“4”,网络控制器112可以利用地理位置表118来生成fan 102的地理位置拓扑120。在一些示例中,可以周期性地生成地理位置拓扑,使得当节点110改变地理位置和/或传输功率时,地理位置拓扑保持更新。46.在一些示例中,示例流程可以从图1a的步骤“4”继续到图2b的步骤“5”。另外地或替代地,图1b所示的示例流程可以从图1b的步骤“5”开始,并继续到图1b的步骤“7”。47.图1b示出了场域网控制器112用于确定网络102中各个节点112的地理位置拓扑118并且配置请求节点112的位置感知路由路径以向目的地节点112传输(一个或多个)分组的示例流程的系统架构图200。48.在一些示例中,网络控制器112可以处理来自fan 102中的节点110的请求路由路径以将数据传输到指定节点110的请求或查询,并且可以利用地理位置拓扑120来确定用于向指定节点110传输数据的位置感知路由路径并向请求节点110提供该位置感知路由路径。49.例如,节点110可以查询网络控制器112以接收到指定目的地节点110的路由路径。在一些示例中,路由路径可以是位置感知的,使得数据传输可以采取最少的跳数到达目的地节点110。例如,网络控制器112可以从fan 102中的节点110接收指定目的地节点110的查询。节点110可以将查询发送到相应的边界路由器108,该边界路由器108可以将查询传输到网络控制器112。然后,网络控制器112可以查询地理位置拓扑120并且确定从源节点110到目的地节点110的位置感知路由路径。在一些示例中,位置感知路由路径可以是最少跳路由路径。在一些示例中,位置感知路由路径可以是从源节点110到目的地节点110的直接连接,而没有中间节点110。另外地或替代地,位置感知路径可以包括形成从源节点100到目的地节点110的位置感知路由的一个或多个中间节点110。然后,网络控制器112可以将位置感知路由路径发送回到边界路由器108,然后将位置感知路径转发给源节点110。源节点110然后可以利用位置感知路由路径进行到目的地节点110的数据传输。50.在“5”,网络控制器112可以从fan 102中的第一节点110接收查询。在一些示例中,查询可以包括对从第一节点110向fan 102中的第二节点110传输数据的路由路径的请求。如上所述,路由路径可以包括fan 102中的任何数量的节点110。51.在“6”,网络控制器112可以利用地理位置拓扑120来确定从第一节点110到第二节点110的位置感知路由路径。在一些示例中,可以存在从第一节点110到第二节点110的一个或多个路由路径。在一些示例中,网络控制器112可以利用sd-fan ece来从一个或多个路由路径确定位置感知路由路径。在一些示例中,位置感知路由路径可以是具有从第一节点110到第二节点110的最少跳数的路由路径。52.在“7”,网络控制器112可以将位置感知路由路径发送到第一节点110。在一些示例中,网络控制器112可以将位置感知路径发送到边界路由器108(a),该边界路由器108(a)可以将位置感知路由路径转发到第一节点。53.图2a示出了示例场域网102的地理位置拓扑120(a)和直接连接两个节点202、204的位置感知路由路径206(a)的示意图200。54.如上关于图1和图2所述,网络控制器112可以被配置为维护fan 102的地理位置表118。在一些示例中,网络控制器110可以利用地理位置表120来生成fan 102的第一地理位置拓扑120(a)。fan 102的地理位置拓扑120(a)可以为每个个体节点202、204、204、202提供各个节点可以与哪些节点(即,在彼此的传输范围内的两个节点202、204)直接通信的指示。在一些示例中,网络控制器112可以利用节点的地理位置和节点的传输功率来确定与该节点相关联的无线无线电的传输范围。例如,当节点a 202在节点b 204的传输范围内时,可以在地理位置拓扑120(a)中确定路由路径206(a)。55.在一些示例中,网络控制器112可以从节点a 202接收请求到节点b204的位置感知路由路径的查询。网络控制器112然后可以利用地理位置拓扑120(a)并且确定将节点a 202连接到节点b 202的路由路径206(a)。网络控制器112然后可以向节点a 202提供到节点b 204的位置感知路由路径206(a)。56.在一些示例中,节点a 202可以确定利用位置感知路由路径206(a)的分组传输失败。节点a 202可以尝试利用位置感知路由路径206(a)再次发送分组。在一些示例中,节点a 202可以确定利用位置感知路由路径206(a)的分组传输失败了阈值次数。例如,节点a 202可以确定分组传输已经失败3次,并且可以确定3次失败尝试足以满足阈值次数。失败传输尝试的阈值次数可以是任何数1-n,其中n可以是大于1的任何整数。当节点a 202确定利用位置感知路由路径206(a)的分组传输失败了阈值次数时,节点a 202可以向网络控制器112发送指示位置感知路由路径206(a)失败的消息。另外地或替代地,节点a 202可以将消息发送到fan 102中的相应边界路由器108,并且边界路由器108可以将消息转发到网络控制器112。然后,网络控制器112可以沿着位置感知路由路径206(a)去除第一地理位置拓扑120(a)中的链路。例如,如果位置感知路由路径206(a)是从节点a 202到节点b 204的直接连接,则网络控制器112可以从地理位置拓扑120(a)中去除从节点a 204到节点b 204的直接链路。57.在一些示例中,网络控制器112然后可以确定从节点a 202到节点b 204的新的位置感知路由路径。另外地或替代地,网络控制器110可以更新地理位置表118并生成fan的新的地理位置拓扑。在一些示例中,图2a可以是图2b的示例流程中的第一步骤。58.图2b示出了示例场域网102的地理位置拓扑120(b)和利用中间节点208连接两个节点202、204的位置感知路由路径206(b)的示意图210。59.在一些示例中,网络控制器112可以确定位置感知路由路径206(b),该位置感知路由路径206(b)利用节点c 208作为桥或中间节点将分组从节点a 202发送到节点b 202。另外地或替代地,网络控制器112可以从节点a 202接收关于以上关于图2a提供的位置感知路由路径206(a)未能将分组传输到节点b 204达阈值次数的指示。在一些示例中,网络控制器112可以更新第一地理位置拓扑120(a),以去除第一位置感知路由路径206(a),并且建立新的位置感知路由通路206(b),以利用中间节点c 208将节点a 202连接到节点b 204,如新的地理位置拓扑结构120(b)所示。另外地或替代地,如果第一位置感知路由路径206(a)包括形成从节点a 202到节点b 204的第一路由路径的一个或多个中间节点,则网络控制器112可以去除位置感知路由中的节点之间的所有链路。另外地或替代地,消息可以包括分组传输失败的位置感知路由路径206(a)中的链路的指示,并且可以仅去除由该消息指示的链路。另外地或替代地,新的位置感知路由路径206(b)可以包括fan 102中的任何数量的节点。60.另外,地理位置拓扑120可以向网络控制器112提供多个指示。在一些示例中,地理位置拓扑120可以提供以下指示:fan 102中的节点具有的直接连接的数量满足或超过直接连接的阈值数量。61.例如,地理位置拓扑120(b)可以指示fan中的节点d 212与fan中的其他节点有5个直接连接。网络控制器112可以确定5个直接连接超过直接连接的阈值数量,其中,直接连接的阈值数量是从1到n的任何数,其中n是大于1的任何整数。网络控制器112然后可以向节点d 212发送消息,指示节点降低无线电传输功率,从而减小节点的无线无线电的传输范围,使得到其他节点的直接连接的数量不再超过直接连接的阈值数量。在一些示例中,网络控制器112可以指定节点d 212应减小到的传输功率值。另外地或替代地,网络控制器110可以与节点d 212来回通信,以每次调整固定量的传输功率,直到直接连接的数量减少到或低于直接连接的阈值数量。62.另外地或替代地,地理位置拓扑120(b)可以指示fan中的特定节点没有与fan中的其他节点的任何直接连接。然后,网络控制器112可以向节点发送消息,该消息指示节点增加无线电传输功率,从而增加节点的无线无线电的传输范围,使得到fan中的其他节点的直接连接的数量被创建。在一些示例中,网络控制器112可以指定节点应增加到的传输功率值。另外地或替代地,网络控制器110可以与节点来回通信,以每次调整固定量的传输功率,直到直接连接的数量增加到或超过直接连接的阈值数量,其中,直接连接的阈值数量是从1到n的任何数,其中n是大于1的任何整数。63.图3示出了包括选项位302的示例目的地通告对象(dao)分组报头的示意图300。在一些示例中,节点的地理位置304和传输功率306可以包括在选项位302中。节点的地理位置304和传输功率306可以包括与关于图1-3所述的相同或相似的属性。64.在一些示例中,fan 102可以利用用于低功率和有损网络(rpl)的ipv6路由协议。此外,rpl可以将fan 102拓扑组织为有向无环图(dag),该dag可以被划分为一个或多个面向目的地的dag(dodag)。在一些示例中,fan 102中的节点可以利用目的地通告对象(dao)以沿着dodag向上传播目的地信息。在一些示例中,网络中的节点可以利用dao中所包括的可选位302,例如dodag标识(dodagid)位,以插入节点的地理位置304(例如,经度和纬度)和与节点相关联的无线无线电的传输功率306。65.图4-6示出了示例方法400、500和600的流程图,并且示出了至少部分地由图1-3所述的场域网102、广域网104和/或云计算网络106执行的功能的各方面。本文关于图4-6所述的逻辑操作可以(1)被实施为在计算系统上运行的一系列计算机实施的动作或程序模块,和/或(2)被实施为计算系统内的互连机器逻辑电路或电路模块。66.本文所述的各种组件的实施方式是取决于计算系统的性能和其他要求的选择问题。因此,本文所述的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑或其任何组合来实施。还应当理解,可以执行比图4-6所示更多或更少的操作。这些操作也可以并行执行,或者以与本文所述不同的顺序执行。这些操作中的一些或全部也可以由除特定标识的组件之外的组件执行。尽管本公开中所述的技术是参考特定组件的,但在其他示例中,可以通过更少的组件、更多的组件、不同的组件或组件的任何配置来实施这些技术。67.图4示出了软件定义的场域网(sd-fan)控制器112用于从fan 102中的各个节点110接收地理位置和传输功率并且生成fan 102的地理位置拓扑120的示例方法400的流程图。68.在402,与fan 102相关联的sd-fan控制器112可以维护地理位置表118,该地理位置表118包括fan的节点110的地理位置与各个节点110的相应传输功率能力之间的一个或多个映射。69.在404,sd-fan控制器112可以从fan 102中的节点110接收目的地通告对象。在一些示例中,目的地通告对象可以包括节点110的地理位置。另外地或替代地,目的地通告对象可以包括与节点110相关联的无线无线电的传输功率能力。在一些示例中,传输功率可以指示与节点110相关联的无线无线电的传输范围。70.在406,sd-fan控制器112可以生成fan 102的地理位置拓扑120。在一些示例中,可以至少部分地基于地理位置表118生成地理位置拓扑120。另外地或替代地,可以至少部分地基于节点110的地理位置和传输功率能力来生成地理位置拓扑120,该地理位置拓扑120可以至少部分地基于节点110的地理位置和节点110的传输功率能力来指示通过场域网102的通信路径。71.图5示出了节点110用于确定其在fan 102中的地理位置和传输功率并且生成目的地通告对象以向与fan 102相关联的网络控制器112传输地理位置和传输功率的示例方法500的流程图。72.在502,fan 102中节点110可以确定其地理位置。在一些示例中,地理位置可以被表示为经度和/或纬度坐标、来自全球定位系统(gps)的指示或相对于其他节点110的地理位置的任何指示。73.在504,fan 102中的节点110可以确定其传输功率。在一些示例中,传输功率可以包括与节点110相关联的无线传输无线电的传输功率。在一些示例中,传输功率可以指示与节点110相关联的无线传输无线电的传输范围。74.在506,fan 102中的节点110可以生成包括节点110的地理位置和节点110的传输功率的目的地通告对象。在一些示例中,目的地通告对象可以包括关于图3所述的目的地通告对象中所包括的任何数量的特性。75.在508,fan 102中的节点110可以将目的地通告对象发送到与fan 102相关联的sd-fan控制器112。在一些示例中,节点110可以向相应的边界路由器108发送目的地通告对象,并且边界路由器108可以将目的地通告对象转发到sd-fan控制器112。76.图6示出了sd-fan控制器112用于生成fan 102的地理位置拓扑120并且确定位置感知路由路径以促进fan 102中的节点110之间的通信的示例方法600的流程图。77.在602,sd-fam控制器112可以生成fan 102的地理位置拓扑120。在一些示例中,可以至少部分地基于地理位置表118来生成地理位置拓扑120,该地理位置表118包括fan中的各个节点110的地理位置与各个节点110的相应传输功率之间的一个或多个映射。78.在604,sd-fan控制器112可以从fan 102中的第一节点接收请求路由路径以将数据从第一节点传输到fan 102中的第二节点的查询。79.在606,sd-fan控制器112可以至少部分地基于fan 102的地理位置拓扑120来确定从第一节点到第二节点的路由路径。在一些示例中,路由路径可以包括如关于图2a和图2b所述的路由路径206(a)和/或206(b)。80.在608,sd-fan控制器112可以向第一节点发送路由路径。81.图7示出了能够执行用于实施上述功能的程序组件的计算设备(或节点)110的示例计算机架构。图7中所示的计算机架构示出了常规的服务器计算机、工作站、台式计算机、膝上型电脑、平板电脑、网络设备、电子阅读器、智能手机或其他计算设备,并且可以用于执行本文中呈现的任何软件组件。在一些示例中,计算设备110可以对应于本文所述的物理服务器114。82.计算设备110包括基板702或“母板”,其为印刷电路板,多个组件或设备可以通过系统总线或其他电气通信路径连接到该基板。在一个说明性配置中,一个或多个中央处理单元(“cpu”)704与芯片组706结合来操作。cpu 704可以是执行计算设备110的操作所需的算术和逻辑运算的标准可编程处理器。83.cpu 704通过操纵开关元件从一个分立的物理状态转换到下一个物理状态来执行操作,这些开关元件区分和改变这些状态。开关元件通常包括保持两个二进制状态之一的电子电路,例如触发器,以及基于一个或多个其他开关元件(例如逻辑门)的状态的逻辑组合提供输出状态的电子电路。这些基本开关元件可以组合以创建更复杂的逻辑电路,包括寄存器、加法器、减法器、算术逻辑单元、浮点单元等。84.芯片组706提供cpu 704与基板702上的其余组件和设备之间的接口。芯片组704可以提供与ram 708的接口,ram 708用作计算设备110中的主存储器。芯片组706还可以提供到诸如只读存储器(“rom”)710或非易失性ram(“nvram”)之类的计算机可读存储介质的接口,以用于存储有助于启动计算设备110和在各种组件和设备之间传输信息的基本例程。rom 710或nvram还可以根据本文所述的配置存储操作计算设备110所需的其他软件组件。85.计算机702可以使用通过网络(例如网络608)到远程计算设备和计算机系统的逻辑连接来在网络环境中运行。芯片组706可以包括通过nic 712(例如千兆以太网适配器)提供网络连接的功能。nic 712能够通过网络608(或126)将计算设备110连接到其他计算设备。应当理解,多个nic 712可以存在于计算设备110中,将计算机连接到其他类型的网络和远程计算机系统。86.计算设备110可以连接到为计算机提供非易失性存储的存储设备718。存储设备718可以存储操作系统720、程序722和数据,这些已经在本文中更详细地描述。存储设备718可以通过连接到芯片组706的存储控制器714连接到计算设备110。存储设备718可以由一个或多个物理存储单元组成。存储控制器714可以通过串行连接scsi(“sas”)接口、串行高级技术连接(“sata”)接口、光纤通道(“fc”)接口或用于在计算机和物理存储单元之间物理连接和传输数据的其他类型的接口与物理存储单元对接。87.计算设备110可以通过变换物理存储单元的物理状态来将数据存储在存储设备718上,以反映正在存储的信息。在本说明书的不同实施例中,物理状态的具体转换可以取决于各种因素。这些因素的示例可以包括但不限于用于实施物理存储单元的技术、存储设备718是被表征为主存储设备还是次存储设备等。88.例如,计算设备110可以通过存储控制器714发出指令来将信息存储到存储设备718,以改变磁盘驱动单元内特定位置的磁特性、光学存储单元中特定位置的反射或折射特性、或固态存储单元中的特定电容器、晶体管或其他分立元件的电气特性。在不脱离本说明书的范围和精神的情况下,物理介质的其他变换是可能的,提供上述示例只是为了便于描述。计算设备110还可以通过检测物理存储单元内的一个或多个特定位置的物理状态或特征来从存储设备718读取信息。89.除了上述大容量存储设备718之外,计算设备110还可以访问其他计算机可读存储介质以存储和检索信息,例如程序模块、数据结构或其他数据。本领域技术人员应当理解,计算机可读存储介质是提供数据的非暂时性存储并且可以由计算设备110访问的任何可用介质。在一些示例中,由云计算网络102和/或其中所包括的任何组件执行的操作可以由类似于计算设备110的一个或多个设备支持。换句话说,由云计算网络102和/或其中所包括的任何组件执行的一些或全部操作可以由在基于云的布置中操作的一个或者多个计算机设备602来执行。90.作为示例而非限制,计算机可读存储介质可以包括以任何方法或技术实施的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质包括但不限于ram、rom、可擦除可编程rom(“eprom”)、电可擦除可编程序rom(“eeprom”)、闪存或其他固态存储技术、光盘rom(“cd-rom”)、数字多功能盘(“dvd”)、高清dvd(“hd-dvd”)、蓝光或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可以用于以非暂时性方式存储所需信息的任何其他介质。91.如上简述,存储设备718可以存储用于控制计算设备110的操作的操作系统720。根据一个实施例,操作系统包括linux操作系统。根据另一个实施例,操作系统包括来自华盛顿州雷蒙德的微软公司的服务器操作系统。根据进一步的实施例,操作系统可以包括unix操作系统或其变体之一。应当理解,也可以使用其他操作系统。存储设备718可以存储计算设备110使用的其他系统或应用程序和数据。92.在一个实施例中,存储设备718或其他计算机可读存储介质被编码有计算机可执行指令,当该计算机可执行指令被加载到计算设备110时,将计算机从通用计算系统转换为能够实施本文所述实施例的专用计算机。如上所述,这些计算机可执行指令通过指定cpu 704如何在状态之间转换来转换计算设备110。根据一个实施例,计算设备110可以访问存储计算机可执行指令的计算机可读存储介质,这些计算机可执行指令当由计算设备110执行时,执行上文关于图1-6所述的各种过程。计算设备110还可以包括计算机可读存储介质,其上存储有指令,以用于执行本文所述的任何其他计算机实施的操作。93.计算设备110还可以包括一个或多个输入/输出控制器716,以用于接收和处理来自多个输入设备(例如键盘、鼠标、触摸板、触摸屏、电子笔或其他类型的输入设备)的输入。类似地,输入/输出控制器716可以向显示器(例如计算机显示器、平板显示器、数字投影仪、打印机或其他类型的输出设备)提供输出。应当理解,计算设备110可以不包括图7所示的所有组件,可以包括图7中未明确示出的其他组件,或者可以利用与图7中所示完全不同的架构。94.总之,利用软件定义的场域网(sd-fan)控制器的技术在于接收各个节点的地理位置和传输功率,并且生成场域网的地理位置拓扑,以为节点提供用于数据传输的位置感知路由路径。一个或多个sd-fan控制器可以维护地理位置数据库以存储各个节点的地理位置和传输功率。每个节点可以利用目的地通告对象向sd-fan控制器通告其地理位置和传输功率。(一个或多个)sd-fan控制器可以利用地理位置表来生成fan的地理位置拓扑,并且确定用于在fan中的节点之间进行优化数据传输的位置感知路由路径。95.虽然本公开针对特定示例进行了描述,但应理解,本公开的范围不限于这些特定示例。由于为适应特定的操作要求和环境而进行的其他修改和变化对于本领域技术人员来说是显而易见的,因此本公开不限于为了公开的目的而选择的示例,而是涵盖了不脱离本公开的真实精神和范围的全部变化和修改。96.尽管本技术描述了具有特定结构特征和/或方法动作的实施例,但应理解,权利要求不必限于所述的特定特征或动作。相反,具体特征和动作仅仅是落入本技术的权利要求范围内的一些说明性的实施例。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部