CN114095331B - 管理多个网络设备的方法、控制器设备以及存储介质 - Google Patents
管理多个网络设备的方法、控制器设备以及存储介质 Download PDFInfo
- Publication number
- CN114095331B CN114095331B CN202111390224.4A CN202111390224A CN114095331B CN 114095331 B CN114095331 B CN 114095331B CN 202111390224 A CN202111390224 A CN 202111390224A CN 114095331 B CN114095331 B CN 114095331B
- Authority
- CN
- China
- Prior art keywords
- upgrade
- network
- controller device
- devices
- service
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 14
- 238000012423 maintenance Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 54
- 238000013499 data model Methods 0.000 description 50
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 102100038367 Gremlin-1 Human genes 0.000 description 4
- 101001032872 Homo sapiens Gremlin-1 Proteins 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009257 reactivity Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101710163103 D-lysergyl-peptide-synthetase subunit 3 Proteins 0.000 description 1
- 101100455541 Drosophila melanogaster Lsp2 gene Proteins 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 101000984710 Homo sapiens Lymphocyte-specific protein 1 Proteins 0.000 description 1
- 241000721662 Juniperus Species 0.000 description 1
- 102100027105 Lymphocyte-specific protein 1 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及管理多个网络设备的方法、控制器设备以及存储介质。一种控制器设备管理多个网络设备。控制器设备包括一个或多个处理单元,被配置为:接收升级请求;确定具有节点的升级图形,每个节点表示一个网络设备或由网络提供的网络服务并且还具有一条或多条矢线,每条矢线连接两个节点并且表示网络冗余度或服务依赖性;通过组合至少一个目标函数的结果来计算和分配每条矢线的矢线权重,至少一个目标函数中的每个目标函数具有网络的最小目标或最大目标;基于矢线权重将升级图形分割成多个子组;确定升级进度;并且根据升级进度对多个网络设备中的每个网络设备的软件进行升级。
Description
本申请是申请日为2019年9月25日、申请号为201910909817.3、发明名称为“管理多个网络设备的方法、控制器设备以及存储介质”的分案申请,其全部内容结合于此作为参考。
本申请的交叉引用
本申请要求保护于2019年4月10日提交的EP申请号19382267.3的权益,通过引用将其全部内容结合在此。
技术领域
本公开涉及计算机网络,并且更具体地,涉及网络设备的管理。
背景技术
网络设备通常包括用于本地或远程地配置设备的机构(诸如管理界面)。通过与管理界面交互,客户能够执行配置任务以及执行操作命令,以收集并且观看受管理设备的操作数据。例如,客户可以配置设备的接口卡、调整所支持的网络协议的参数、指定设备内的物理部件、修改由路由器维护的路由信息、访问寄存在设备上的软件模块及其他资源、并且执行其他配置任务。此外,客户端可以允许用户从设备中查看当前操作参数、系统日志、与网络连接有关的信息、网络活动、或其他状态信息、以及查看从设备接收的事件信息并且对从设备接收的事件信息做出反应。
通过诸如具有服务卡的路由器和/或专用服务设备的多个截然不同的设备可以执行网络配置服务。该服务包括诸如层三虚拟私有网络(L3VPN)、虚拟私有本地局域网服务(VPLS)、以及对等(P2P)服务的连接服务。其他服务包括诸如Dot1q VLAN服务的网络配置服务。网络管理系统(NMS)及NMS设备,也被称为控制器或控制器设备,可以支持这些服务,使得管理员能够易于创建并且管理这些高级网络配置服务。
具体地,可以将设备的用户配置称为“意图”。基于意图的网络系统让管理员描述所意图的网络/计算机/存储状态。能够将用户意图分类成业务策略或无状态意图。基于网络的当前状态能够解决业务策略或状态意图。无状态意图可以是描述所意图的网络/计算机/存储状态的完全声明方式,无需考虑当前网络状态。
可以将意图表示成使用统一图形进行建模的意图数据模型。可以将意图数据模型表示成连接图形,使得能够跨意图数据模型实现业务策略。例如,可以使用具有与自有矢线(has-edges)和基准(ref)矢线连接的顶点的连接图形表示数据模型。控制器设备可以将意图数据模型建模成统一图形,使得意图模型能够被表示成连接的。以此方式,能够跨意图数据模型实现业务策略。当使用统一图形模型对意图进行建模时,扩展新的意图支持需要对图形模型和编辑逻辑进行扩展。
为了配置执行意图的设备,用户(诸如管理员)可以编写将高级配置指令(例如,根据意图数据模型的指令,可表达成统一图形模型)翻译成低级配置指令(例如,根据设备配置模型的指令)的翻译程序。作为配置服务支持的一部分,用户/管理员可以提供意图数据模型及意图数据模型与设备配置模型之间的映射。
为了简化用户的映射定义,控制器设备可以被设计成提供以简单的方式对映射进行定义的能力。例如,一些控制器设备提供使用速率模板(Velocity Template)和/或可扩展样式表语言转换(XSLT)。该翻译器包含从意图数据模型至低级设备配置模型的翻译或映射逻辑。通常,意图数据模型中的相对较小的变化会影响跨设备配置的相对较多属性。当从意图数据模型中创建、更新、并且删除服务时,可以使用不同的翻译器。
发明内容
通常,本公开描述了用于根据基于意图的升级框架对网络设备软件进行升级的技术。网络管理系统(NMS)设备,此处也被称为控制器设备,可以使用例如以另一种下一代(YANG)数据建模语言表达的低级(即,设备级)配置数据配置网络设备。而且,控制器设备可以基于网络设备的配置数据管理网络设备。根据本公开的技术,控制器设备被配置为接收用于对网络设备的软件进行升级的升级请求。响应于升级请求,控制器设备可以确定升级请求中所指定的至少一些目标和约束条件,并且然后生成用于对网络设备进行升级以尝试实现目标和约束条件的设备升级进度。
例如,控制器设备可以确定网络设备之间的一系列关系并且生成表示关系的统一图形模型。控制器设备可以基于目标和约束条件从统一图形模型中获得设备集合,以在多目标升级图形中进行建模。然后,控制器设备针对多目标升级图形计算最优算法,以产生尝试实现目标和约束条件的设备升级进度,升级请求中指定了至少一些目标和约束条件。
在一些方面,为了指定便于实现关于服务和设备可用性的约束条件的路径和设备冗余度,技术包括了用于指定建模设备的一个或多个冗余设备的增强设备模型和用于指定建模服务的一个或多个冗余路径的增强服务模型。当针对多目标升级图形计算最优算法时,控制器设备可以使用增强设备模型和增强服务模型中的冗余信息在不同的时间对具有冗余设备或服务关系的设备的升级进行调度。
本公开的技术可以提供一个或多个技术优点,即,提供至少一种实际应用。例如,基于意图的升级请求可以许可管理员表达所选择的设备集合进行升级的意图,而无需管理员对设备升级进行调度,同时,还提供管理员表达对设备的升级过程的目标和约束条件的能力。进一步地,技术可以提供用于定义升级过程的新标准的可扩展、可编程的基础设施。
在一个实施例中,方法包括:由管理提供一种或多种服务的网络的多个网络设备的控制器设备接收升级请求;由控制器设备基于升级请求确定具有节点的升级图形,每个节点表示一个网络设备或由网络提供的网络服务,升级图形还具有一条或多条矢线,每条矢线连接两个节点并且表示网络冗余度或服务依赖性;由控制器设备通过组合至少一个目标函数的结果来针对矢线中的每条矢线计算并且分配矢线的矢线权重,至少一个目标函数中的每个目标函数具有网络的最小目标或最大目标;由控制器设备基于矢线权重将升级图形分割成多个子组;由控制器设备基于子组确定升级进度;并且由控制器设备根据升级进度对多个网络设备中的每个网络设备的软件进行升级。
在另一实施例中,管理多个网络设备的控制器设备包括一个或多个处理单元,一个或多个处理单元在电路中实现并且被配置为:接收升级请求;基于升级请求确定具有节点的升级图形,每个节点表示一个网络设备或由网络提供的网络服务,升级图形还具有一条或多条矢线,每条矢线连接两个节点并且表示网络冗余度或服务依赖性;通过组合至少一个目标函数的结果来针对矢线中的每条矢线计算并且分配矢线的矢线权重,至少一个目标函数中的每个目标函数具有网络的最小目标或最大目标;基于矢线权重将升级图形分割成多个子组;基于子组确定升级进度;并且根据升级进度对多个网络设备中的每个网络设备的软件进行升级。
在另一实施例中,计算机可读存储介质上存储有指令,当执行指令时,指令使管理多个网络设备的控制器设备的处理器:接收升级请求;基于升级请求确定具有节点的升级图形,每个节点表示一个网络设备或由网络提供的网络服务,升级图形还具有一条或多条矢线,每条矢线连接两个节点并且表示网络冗余度或服务依赖性;通过组合至少一个目标函数的结果来针对矢线中的每条矢线计算并且分配矢线的矢线权重,至少一个目标函数中的每个目标函数具有网络的最小目标或最大目标;基于矢线权重将升级图形分割成多个子组;基于子组确定升级进度;并且根据升级进度对多个网络设备中的每个网络设备的软件进行升级。
所附附图及下列描述中阐述了一个或多个实施例的细节。从描述与附图、以及权利要求中,其他特征、目标、以及优点将显而易见。
附图说明
图1是示出包括使用管理设备进行升级的企业网络的元件的实施例的框图。
图2是示出图1中的管理设备的部件的示例性集合的框图。
图3是示出意图数据模型的示例性统一图形模型的概念图。
图4是示出根据本公开的技术的诸如图1和图2中的控制器设备的控制器设备的部件的示例性模型的概念图。
图5是示出由用于对网络设备软件进行升级的控制器设备执行的示例性方法的流程图。
图6是示出根据本公开的技术的用于对网络设备软件进行升级的示例性方法的流程图。
贯穿图和描述,类似参考符号指类似元件。
具体实施方式
图1是示出包括使用控制器设备10管理的企业网络2的元件的实施例的框图。企业网络2的管理元件14A-14G(统称“元件14”)包括经由通信链路互连以形成通信拓扑的网络设备,以便交换资源和信息。例如,元件14(通常也被称为网络设备或远程网络设备)可以包括路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(IDS)或入侵防御系统(IDP)、计算设备、计算终端、打印机、其他网络设备、或该等设备的组合。尽管在本公开中被描述成发送、传送、或通过其他方式支持包,然而,企业网络2可以根据由任意其他协议定义的任意其他离散数据单元发送数据,诸如,由异步传输模式(ATM)协议定义的单元或由用户数据报协议(UDP)定义的数据报等。通信链路互连元件14可以是物理链路(例如,光学、铜等)、无线、或其任意组合。
示出了经由通信链路耦接至公共网络18(例如,互联网)的企业网络2。例如,公共网络18可以包括一个或多个客户端计算设备。公共网络18可以提供到网络服务器、应用服务器、公共数据库、媒体服务器、端用户设备、以及其他类型的网络资源设备和内容的访问。
控制器设备10经由企业网络2通信地耦接至元件14。尽管出于图1中的实施例的目的仅示出了设备管理系统中的一个设备,然而,在一些实施例中,控制器设备10构成设备管理系统的一部分。控制器设备10可以直接或间接地耦接至各个元件14。一旦部署并且激活元件14,管理员12则利用设备管理协议使用控制器设备10(或多个该管理设备)管理网络设备。一个示例性的设备协议是允许控制器设备10遍历并且修改将配置数据存储在各个管理元件14内的管理信息库(MIB)的简单网络管理协议(SNMP)。在http://tools.ietf.org/html/rfc3411可获得的2002年12月的网络工作小组、互联网工程任务小组拟稿的Harrington等人的RFC 3411“An Architecture for Describing Simple NetworkManagement Protocol(SNMP)Management Frameworks”中发现了SNMP协议的进一步细节,通过引用将其全部内容结合在此。
在一般实践中,控制器设备10,也被称为网络管理系统(NMS)或NMS设备,与元件14由企业的IT组集中维护。管理员12与控制器设备10交互,以远程监测并且配置元件14。例如,管理员12可以从控制器设备10接收关于任意元件14的警报、查看元件14的配置数据、修改元件14的配置数据、将新的网络设备添加到企业网络2、从企业网络2移除现有的网络设备、或通过其他方式操作企业网络2和其中的网络设备。尽管参考企业网络进行了描述,然而,本公开的技术适用于其他网络类型、公共及私有,包括LAN、VLAN、VPN等。
在一些实施例中,例如,管理员12通过远程登录、安全壳(SSH)、或其他这些通信会话而使用控制器设备10或本地工作站与元件14直接交互。即,元件14通常提供用于直接交互的界面,诸如,命令行界面(CLI)、基于网络的界面、图形用户界面(GUI)等,通过界面,用户能够与设备交互或直接发布基于文本的命令。例如,这些界面通常允许用户通过例如远程登录、安全壳(SSH)、超文本传输协议(HTTP)、或其他网络会话与设备直接交互,以根据所定义的语法键入文本,以向受管理元件提交命令。在一些实施例中,用户使用控制器设备10发起与一个元件14(例如,元件14F)的SSH会话15,以直接配置元件14F。以此方式,用户能够以直接执行的格式向元件14提供命令。
进一步地,管理员12还能够创建由控制器设备10提交给任意或全部元件14的脚本。例如,除CLI界面之外,元件14还提供用于接收根据脚本语言指定命令的脚本的界面。在某种意义上,通过控制器设备10可以输出脚本,以自动调用管理元件14上的对应远程过程调用(RPC)。脚本可以与例如可扩展标记语言(XML)或另一数据描述语言一致。
管理员12使用控制器设备10配置元件14,以指定促进管理员12的目标的特定操作特征。例如,管理员12可以为元件14指定关于安全、设备可访问性、通信业务工程、质量服务(QoS)、网络地址转换(NAT)、包过滤、包转发、速率限制、或其他策略的具体操作策略。控制器设备10使用针对管理网络元件14内的配置数据的管理设计的一个或多个网络管理协议来执行配置,诸如,SNMP协议或网络配置协议(NETCONF)协议或其派生物等,诸如Juniper设备管理界面等。通常,NETCONF提供用于配置网络设备的机制并且使用基于可扩展的标记语言(XML)的数据编码配置数据,其可以包括策略数据。在tools.ietf.org/html/rfc4741可获得的2006年12月的网络工作小组RFC 4741的Enns“NETCONF Configuration Protocol”中描述了NETCONF。控制器设备10可以与一个或多个元件14建立NETCONF会话。
控制器设备10可以被配置为将新的意图数据模型与现有(或旧的)意图数据模型进行比较、确定新的意图数据模型与现有意图数据模型之间的差异、并且对新的意图数据模型与旧的意图数据模型之间的差异应用反应性映射器。具体地,控制器设备10确定新的配置数据集合是否包括与旧的意图数据模型有关的任意额外配置参数、以及新的配置数据集合是否修改或忽略旧的意图数据模型中所包括的任意配置参数。
意图数据模型可以是统一图形模型,而低级配置数据可以表达为YANG,在tools.ietf.org/html/rfc6020获得的2010年10月的互联网工程任务小组RFC 6020的Bjorklund“YANG—A Data Modeling Language for the Network ConfigurationProtocol(NETCONF)”中对此进行了描述。在一些实施例中,意图数据模型可以表达为YAML不是标记语言(YAML)。控制器设备10可以包括用于翻译意图数据模型差异的各个反应性映射器。这些函数被配置为接受意图数据模型(例如,根据YANG或YAML,可以表达为结构化输入参数)。函数还被配置为输出低级设备配置数据变化(例如,设备配置添加和删除)的相应集合。即,y1=f1(x)、y2=f2(x)、…、yN=fN(x)。
控制器设备10可以使用YANG建模用于意图数据模型和低级设备配置模型。该数据可以包含诸如列表项和容器的YANG实体之间的关系。常规地,控制器设备不能实时支持配置管理功能。如下面更为详细地讨论的,控制器设备10可以将YANG数据模型转换成数据库模型,并且将YANG确认转换成数据确认。在2017年3月17日提交的美国专利申请号15/462,465的“CONFIGURING AND MANAGING NETWORK DEVICES USING PROGRAM OVERLAY ON YANG-BASED GRAPH DATABASE”中描述了使用高级配置数据的图形模型管理网络设备的技术,通过引用将其全部内容结合在此。
控制器设备10可以从一名管理员12接收表示相对于统一意图数据模型进行创建、更新、和/或删除动作中的任意或全部的数据。控制器设备10可以被配置为使用与图形模型所应用的创建、更新、以及删除中的每项相同的编译逻辑。
通常,类似控制器设备10的控制器使用意图的层次数据模型、低级数据模型、以及资源。层次数据模型基于YANG或YAML。如上面讨论的,能够将层次数据模型表示为图形。当代系统支持易于网络管理的意图。意图是可宣布的。为了实现意图,控制器设备10尝试选择最优资源。
通常,客户环境被配置为允许客户(例如,管理员12)控制意图实现并且确保编程意图。本公开的技术支持客户要求,以几乎实时地支持服务层协议(SLA)。如此,客户业务将不受意图实现的消极影响。如果状态意图的资源变得退化(例如,不能得到、高度利用、或对应设备上的其他问题),控制器设备10则可以选择适当资源来几乎实时地生成所需配置。
控制器设备10可以几乎实时地支持SLA。例如,控制器设备10可以支持并发意图供应。控制器设备10可以使用增强资源匹配滤波器来包括并且排除特定的系统资源。控制器设备10可以在管理业务SLA的同时进一步保持网络处于一致状态。控制器设备10还可以支持并发无状态意图配置。即,在不使其他意图变化无效的情况下,控制器设备10可以支持并发意图更新。控制器设备10还可以支持意图图形的当前版本,直至已经部署暂停改变。
2018年9月7日提交的题为“DYNAMIC INTENT ASSURANCE AND PROGRAMMABILITYIN COMPUTER NETWORKS”的美国申请号16/125,245(并且通过引用将其全部内容结合在此)描述了资源滤波查询语义如下:
由此,控制器设备10可以推导出决策变量、目标、以及约束条件。控制器设备10可以增强查询来支持扩展资源和包括资源,例如,如下面所示:
被排除的列表可能变成资源选择最优算法的约束条件,而所包括的列表也可能变成资源选择最优算法的约束条件。在上面的实施例中,约束条件包括被定义为“不在{d1,d2}中”和“在{d3}”中的资源的限制。于2019年3月29日提交的美国专利申请16/370,189通过引用将其全部内容结合在此。
在根据本公开的技术的一些实施例中,控制器设备10可以从诸如管理员或其他用户接收升级请求11。例如,升级请求11可以包括指示元件14的软件从软件发布“A”升级至新的或更新的软件发布“B”的意图的命令。升级请求11还可以包括进度升级查询,描述必须附上升级过程的一个或多个目标或者约束条件。元件14的软件可以包括图像。
响应于升级请求11,控制器设备10可以识别升级请求11中所指定的至少一些目标和约束条件,并且然后生成用于对元件14进行升级以尝试实现目标和约束条件的设备升级进度。控制器设备10可以存储适用于选择元件14的目标和/或约束条件。
例如,控制器设备10可以确定元件14之间的一组关系并且生成多目标升级图形来表示关系。控制器设备10可以计算多目标升级图形的最优算法来生成尝试实现升级请求11中所指定的至少一些目标和约束条件的设备升级进度。
图2是示出图1中的控制器设备10的部件的示例性集合的框图。在本实施例中,控制器设备10包括控制单元22、网络接口34、以及用户接口36。网络接口34表示能够将控制器设备10通信地耦接至外部设备(例如,图1中的一个元件14)的示例性接口。网络接口34可以表示无线和/或有线接口,例如,被配置为根据诸如IEEE 802.11无线联网协议(诸如,802.11a/b/g/n或其他该等无线协议)中的一个或多个的无线标准通信的以太网接口或无线电。尽管出于实施例的目的仅示出了一个网络接口,然而,在各个实施例中,控制器设备10可以包括多个网络接口。
控制单元22表示用于实现控制单元22及其构成模块和元件所归属的功能的硬件、软件、和/或固件的任意组合。当控制单元22包括软件或固件时,控制单元22还包括用于存储和执行软件或固件的任意必需硬件,诸如,一个或多个处理器或者处理单元。通常,处理单元可以包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、或任意其他等同的集成或离散逻辑电路、以及该等部件的任意组合。进一步地,通常,使用固定和/或可编程的逻辑电路实现处理单元。
用户接口36表示诸如管理员12(图1)的用户与控制器设备10交互、以提供例如输入并且接收输出的一个或多个接口。例如,用户接口36可以表示监测器、键盘、鼠标、触摸屏、触摸板、轨迹板、扬声器、摄像头、麦克风等中的一个或多个。进一步地,在本实施例中,尽管控制器设备10包括用户接口,然而,管理员12无需与控制器设备10直接交互,而是可以经由例如网络接口34远程访问控制器设备10。
在本实施例中,控制单元22包括用户接口模块38、网络接口模块32、以及管理模块24。控制单元22执行用户接口模块38,以从用户接口36接收输入和/或将输出提供至用户接口36。控制单元22还执行网络接口模块32,以经由网络接口34传送和接收数据(例如,包)。用户接口模块38、网络接口模块32、以及管理模块24可以再次实现为相应的硬件单元、或软件或固件、或其组合。
控制单元22的功能可以实现为固定或可编程数字逻辑电路中的一个或多个处理单元。该数字逻辑电路可以包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、或任意其他等同的集成或离散逻辑电路、以及这些部件的任意组合。当被实现为可编程逻辑电路时,控制单元22还可以包括存储由控制单元22的处理单元执行的硬件或固件指令的一个或多个计算机可读存储介质。
控制单元22执行管理模块24,以管理各个网络设备,例如,图1中的元件14。例如,网络设备的管理包括根据从用户(例如,图1中的管理员12)接收的指令配置网络设备并且为用户提供提交配置网络设备的指令的能力。网络设备的管理还包括利用诸如已更新的软件图像的更新软件对网络设备进行升级。在本实施例中,管理模块24还包括配置模块26和翻译模块28。
管理模块24被配置为从诸如管理员12的用户接收受管理网络设备集合的意图统一图形建模配置数据。可以将该意图统一图形建模配置数据称为“意图数据模型”。将来,用户可以对配置数据进行更新,例如,添加新服务、移除现有的服务、或修改由受管理设备执行的现有服务。根据例如YANG或YAML可以构建统一意图数据模型。图形模型可以包括通过矢线连接的层级方式的多个顶点。在YANG中,将图形模型的矢线表示为“leafref”元素。在YAML的情况下,可以将这些矢线表示为“ref”矢线。同样,能够将父代至子代顶点关系表示为“自有”矢线。例如,元素A的顶点使用自有-矢线指向元素B的顶点能够被理解为指“元素A具有元素B”。在一些实施例中,管理模块24还为用户提供提交反应性映射器的能力,翻译模块28执行反应性映射器,以将意图数据模型转换成设备指定的低级配置指令。
控制器设备10还包括配置数据库40。配置数据库40通常包括描述受管理网络设备的信息,例如,元件14。配置数据库40可以用作意图数据存储器,意图数据存储器可以用于保存和管理意图数据模型的集合。例如,配置数据库40可以包括指示设备标识(诸如,MAC和/或IP地址)、设备类型、设备厂商、设备种类(例如,路由器、交换机、网桥、集线器等)等的信息。配置数据库40还存储受管理设备(例如,元件14)的当前配置信息(例如,意图数据模型,或在一些情况下,意图数据模型与低级配置信息)。根据本公开的技术,配置数据库40可以包括统一意图数据模型。
尽管出于实施例的目的将用户接口36描述为允许管理员12(图1)与控制器设备10交互,然而,在其他实施例中,可以使用其他接口。例如,控制器设备10可以包括用作另一设备的接口的表述性状态转移(REST)客户端(未示出),通过表述性状态转移(REST)客户端,管理员12可以配置控制器设备10。同样,管理员12可以通过REST客户端与控制器设备10交互来配置元件14。
管理模块24可以将配置数据库40建模成表示YANG配置数据元素的图形数据库。YANG指定各种类型的数据结构,包括列表、叶列表、容器、容器存在性、以及特征。管理模块24可以将列表、容器、容器存在性(containers with presence)、及特征、以及顶级容器中的每个建模成图形数据库中的顶点。可替代地,配置数据库40可以表示YAML配置数据元素。
在构建图形数据库之后,管理模块24可以对图形数据库中的数据执行操作。例如,管理模块24可以将诸如get-config、具有滤波器的get-config、以及edit-config的基于Netconf的操作映射至诸如Gremlin查询的图形查询语言查询。在gremlindocs.spmallette.documentup.com和github.com/tinkerpop/gremlin/wiki的GremlinDocs中对Gremlin进行了描述。如果条件属性改变,管理模块24则可以执行被映射至图形数据库的顶点和矢线的条件。如同下面更为详细地讨论的功能的处理,响应于条件,管理模块24可以对额外的变化进行处理。管理模块24可以进一步对事物语义中的所有变化进行更新。
根据本公开的技术,控制器设备10可以被配置为确定并且执行升级进度,以根据用户定义标准对多个网络设备14的软件进行升级(图1)。计划对多个设备14进行软件升级的用户可以具有一个或多个意图目标、策略、约束条件、或关于设备升级的顺序的参数、或设备升级的日期和/或时间。该用户约束条件的一些非限制性实施例可以包括:(1)诸如五分钟的最大设备“停机时间”;(2)诸如百分之五的连接的在任意给定时间同时“断开”的设备连接的最大数量;(3)必须将所有设备14升级至新的发布或版本的最新许可日期;(4)诸如百分之二的可以同时升级的设备的最大数量或量;诸如每天两小时的最大“升级窗口”持续时间;(5)指示具有更多用户的设备应首先升级的优先级;或(6)冗余的设备不能同时升级。
用户可以指定升级请求11内的一个或多个升级约束条件。控制器设备10从用户接收升级请求11。升级请求11可以包括能够针对模型进行查询的进度升级查询。进度升级查询可以包括诸如设备选择器、调度参数、以及策略的来自用户的各种数据输入。进度升级查询的一个实施例如下:
升级请求11可以包括设备选择器。设备选择器是指示应用进度升级查询中所指定的具体升级约束条件的具体设备或设备集合14的数据集合。例如,在上面列出的样本升级查询中,设备选择器指示满足下列两个标准的设备:(1)位于被称为“班加罗尔(Bangalore)”的地点的设备;和(2)具有供应商-矢线(PE)设备的“角色”的设备。设备选择器可以遵循过滤语法,诸如,美国专利申请号16/144,313中描述的语法,通过引用将其全部内容结合在此。
升级请求11可以包括指示控制器设备10对设备14执行升级的优选日期和/或时间的一个或多个调度参数。例如,上面列出的样本升级查询包括四个调度参数:(1)更新进度的开始日期;(2)升级部署的一天中的时间;(3)间隔持续时间;以及(4)图像更新进度的结束日期。
升级请求11可以包括一个或多个策略。如上所述,策略可以包括指示其中控制器设备10对设备14进行升级的顺序的用户喜好。策略可以被格式化成包括策略名称、策略优先等级(诸如从一到十的标量内的整数)、以及指示策略的一个或多个变量。在上面提供的样本升级查询中,被命名为“min_sites_impact”的策略具有优先级“1”并且整数变量具有值“200”,其指定了能够被影响的地点的最大数量,以便帮助实现使得所影响的地点的数量最小化的优先级。
在一些实施例中,策略可以包括目标和约束条件。“目标”将业务目标表达为数学值。目标可以包括使得具体值最大化、最小化、或平均化的意图的指示。“约束条件”表示与诸如等式或不等式(例如,>、<、>=、<=、=、或!=)的变量的具体算术关系。明确定义目标和约束条件的策略的实施例如下:
除用户指定的升级标准之外,控制器设备10还可以接收指示设备和/或设备14之间的服务冗余度的信息。设备冗余度提供网络基础设施内的具体网络设备的额外或可替代实例。在网络设备故障的情况下,具有冗余的网络设备可以促进高度可用性。在一些实施例中,取决于一个或多个网络设备14、而非设备自身的特定服务可以通过网络使用不同的路径提供服务冗余度。为了减少网络故障的风险,不应对冗余设备和冗余连接同时进行升级。例如,如果设备(p1,p2,p3,p4)是定义p1与p2之间的第一路径、及p3与p4之间的冗余路径的单机设备,则在这些设备进行升级的同时存在网络通信业务影响。为了避免影响客户通信业务,不应同时对p1、p2、p3、以及p4进行升级。确切地,应同时对p1和p2进行升级,并且应同时对p3和p4、而非同时与p1和p2进行升级。
控制器设备10可以针对网络中的网络设备,根据本公开的技术增强的网络设备模型确定设备冗余度信息。示例性的网络设备模型如下:
在上面的实施例中,增强网络设备模型包括用于指定能够进行已建模的网络设备的通信业务转发和服务处理的冗余、高度可用性、或另外可替代的网络设备的可替代设备特性。星号表示一系列的元件。因此,可以存在零个或多个可替代的设备。
服务模型可以包括指示设备和通信路径的链路信息,由此指示可替代或冗余链路信息。通过“可替代的节点”,可以指示服务端点冗余度。在一个实施例中,L3VPN服务包含PE设备集合作为端点。在多宿主中,对于PE2,供应商-矢线设备PE1可能是冗余的。如下面示例性的文本模型,将此表示为可替代的节点:
在上面实施例中,增强服务模型包括用于指定能够传输或另行处理已建模服务的通信业务的服务的冗余、高度可用性、或另外可替代的路径的可替代链路特性。如上面实施例中,增强服务模型可以进一步指定服务节点的可替代节点。在另一实施例中,标签交换路径(LSP)可以包含主路径和次路径。可以将主路径和次路径两者建模成链路。主路径链路可以包括次路径作为“可替代的”链路。此外,次路径链路可以包括主路径作为可替代的链路。星号表示一系列的元件。因此,可以存在零个或多个可替代的链路。
在一些实施例中,控制器设备10还可以考虑由设备提供给客户的所有服务,以确定冗余度的附加形式。如同下面提供的实施例,冗余度可能是YAML字典的固有特性:
控制器设备10可以包括升级模块27。升级模块27可以被配置为接收诸如设备选择器、调度参数、用户策略、以及冗余度信息的数据输入,并且计算满足这些全部、或最高可能数量的约束条件的设备升级进度。例如,升级模块27可以计算诸如升级图形29的多目标图形并且然后计算图形的最优算法。
升级图形29包括多个节点(或顶点)和多条矢线,每条矢线连接两个节点。升级图形29内的每个节点表示单个网络设备。升级图形29内的每个节点可以包括设备级信息、或与相应网络设备有关的升级约束条件,诸如,设备升级时间、与设备相关联的客户或用户的数量、或设备位置。各自连接两个节点的至少一些矢线指示设备冗余度或基于服务的依赖性,诸如,与两个网络设备彼此有关的升级策略。
一旦升级模块27计算升级图形29的节点和矢线,升级模块则可以确定并且为每个节点和每条矢线分配“权重”。例如,升级模块可以基于相应网络设备的所需升级时间或设备的临界性(例如,相应设备的用户数量)确定并且分配节点权重。如下面进一步详细描述的,基于该特性,升级模块27将促进更多的设备在子图形之间的均匀分布。
还如升级请求11中指定的,对于指示基于服务的依赖性的矢线,诸如,升级请求11中指定的升级目标或策略,矢线权重可以指示该策略的用户指定“优先级”(诸如从1到10的标量内的整数)。在本实施例中,优先级值越低,具有的优先级越高,而高优先级值具有较低的优先级。在其他实施例中,可以通过其他方式指示优先等级。
对于指示多个目标的两个节点之间的矢线,升级模块27可以基于多目标最优函数分配单标量矢线权重。多目标最优法提供平衡竞争升级目标的方案集合。多目标函数能够具有最大和最小目标函数。从数学上而言,可以表达成如下:
最小/最大fm(x),对于m=1、2、…N,其中,例如:
f1(x)–最小通信业务损失
f2(x)–受影响的地点的最小数量
f3(x)–最大化客户1的VPN服务运行时间
基于组合的式子将多个目标组合成单一目标。升级模块27首先可以将目标函数输出的范围标准化,使得将输出缩放在0与1之间。从数学上而言,可以表达成如下:
f’x=(fx-fmin)/frange,其中
f’x–范围[0,1]中的标准值x
fx–旧值x
fmin–旧值中的最小值
frange–旧范围
接着,升级模块27可以将全部的最小函数转换成最大函数,或反之亦然。由于将全部的函数范围标准化为[0,1],升级模块27可以将最小函数转换成最大函数,如下:
max f(x)=1-(min f(x))
基于标准化的目标函数,升级模块27可以计算各个目标的初始目标权重oi并且将每条矢线e的目标权重布置成目标矢量oe=(oe1,oe2,…oen)。
每个目标可以具有如升级请求11中指定的优先级。升级模块27可以将多个目标的相应优先级布置成优先级矢量。基于该优先级矢量,升级模块27可以将矢线权重标准化,如下:
其中:
we是矢线e的标量矢线权重,
oe i是矢线e的第‘i’目标的目标权重,
Pe i是矢线e的第‘i’目标的优先级,并且
m是与通过矢线e连接的两个节点有关的目标的数量。
例如,分别具有目标权重2、2及1以及优先级1、5及1的三个目标的矢线将具有目标权重矢量(2,2,1)和优先级矢量(1,5,1)。升级模块将为矢线分配标量矢线权重(2×1)+(2×5)+(1×1)=2+10+1=13。
一旦升级模块27为每个节点分配节点权重并且为每条矢线分配矢线权重,升级模块27则可以计算图形分割算法,以将升级图形29“分割”成多个子组。例如,每个子组可以指示网络设备的集合,在可行范围内,基于冗余度关系和/或用户策略,能够或应对网络设备的集合同时进行升级。升级模块27可以计算获得下列两个参数中的至少一个参数而选择的图形分割算法:(1)子组之中的每个子组的全部节点权重的和近似相等;和(2)连接两个截然不同的子组的全部矢线权重的和最小。在数学方面而言:
给定图形G=(N,E,WN,WE),其中:
N=节点(或顶点)
E=矢线
WN=节点权重
WE=矢线权重
对于图形G的分割,选择分割N=N1∪N2∪…∪NK,使得:
(1)每个Nj中的节点权重的和均匀分布(负载平衡)。
(2)连接所有不同分割的矢线的所有矢线权重的和最小(矢线-切割最小)。
G可以是本公开中描述的任意升级图形。在多目标图形分割的上下文中,操作如下:
在一些实施例中,选择升级模块27应用K式分割方法而将图形分割成k组。升级模块27获得值k,即,从用户进度计算的、升级请求11中所指示的槽的数量。
一旦升级模块27将升级图形29分割成多个子组,升级模块27则可以对各个子组进行“细分”。升级模块27可以对每个子组进行细分,以基于设备级标准将所有的设备布置或重新排序在子组内,诸如设备临界时刻、基于每个设备的用户数量的升级优先级、设备地理位置、设备升级时间、或一个维护窗口内允许进行升级的并行节点的最大数量。升级模块27还可以根据标准对子组内的设备的顺序进行细分,诸如,所允许的并行升级的最大数量或每个维护窗口的升级的最大数量、用户策略或时间、成本、和/或处理约束条件。作为其他实施例,可以基于设备临界时刻、具有较大用户数量的设备的优先级、地理位置、以及升级时间对子组内的设备进行重新排序。升级模块27可以避免对不同子组中的设备同时进行升级。例如,如果定义了用户策略“允许并行升级的最大数量”,则从每个子组中获得的设备的集合将小于或等于“允许并行升级的最大数量”的值。针对每个槽选择的设备的总数量将小于或等于维护窗口中的升级的最大数量。
一旦升级模块27对每个子组进行细分,升级模块则可以基于子组计算升级进度。例如,升级模块27可以从每个子组中选择多个设备来进行并行升级并且为设备分配升级时隙。最后,升级模块27可以根据进度执行设备软件升级。具体地,升级模块27可以与元件配置服务116通信,以与待升级的每个设备通信,并且基于所确定的升级进度执行设备升级。作为一个实施例,升级模块27可以调用元件配置服务116,以根据利用软件更新对设备进行升级的指令将受管理设备导向至具有软件更新的存储库。
图3是示出意图数据模型的示例性统一图形模型60的概念图。除此之外,在本实施例中,统一图形模型60包括节点A 62、B 64、以及C 66。初始,统一图形模型不可以包括VPN68、VPN 72、以及VPN 78,亦不可以包括optical1 80、lambda82、optical1 84、以及lambda86。由于通过意图数据模型更新进行修改的结果,节点A 62经由VPN 68和LSP1 70耦接至节点B 64,并且节点B 64经由VPN 72和LSP2 74耦接至节点C 66,并且节点C 66经由VPN 78和LPS3 76耦接至节点A 62。进一步地,由于光学意图所需的额外能力的结果,在节点B 64与节点C 66之间添加额外节点optical1 80、lambda 82、optical1 84、及lambda 86。
能够在无状态意图层的顶部上编写状态业务策略。例如,用户可以陈述意图“向地点A、B、以及C之间的高带宽VPN连接提供A-B、B-C、C-A、…之间的带宽”。这可以产生各种无状态意图。可以将状态意图编译成提供所需带宽的A-B、B-C、C-A之间的L3VPN(覆盖隧道)及传输机制。例如,传输机制可以包括具有30Mbps的A-B之间的RSVP LSP、具有50Mbps的B-C之间的RSVP LSP、以及具有80Mbps的C-A之间的RSVP LSP。在本实例中,可能需要在具有80Mbps的C-A之间建立RSVPLSP。可能存在其中需要更大能力的情形,因此,可能还存在另一意图“光学意图:增加C-A之间的能力”。如果C-A已经存在70Mbps的连接,则无状态意图可以在光学网络上提供C-A之间的新10Glambda。
当实现状态意图时,诸如控制器设备10的控制器设备可能需要考虑端点之间的现有无状态意图、以及当前状态。在上面的实施例中,为了执行各种意图,控制器设备10可以根据需要查询连接图形(包括无状态意图)并且创建/修改无状态意图。于2017年3月17日提交的美国专利号15/462,465中描述了与使用统一图形模型和意图有关的技术,通过引用将其全部内容结合在此。由此,能够使用统一图形模型表示意图数据模型。当添加更多的使用情况时,能够对意图数据模型(即,统一图形模型)进行扩展。此外,统一图形模型的使用允许基于端点(例如,通过查询图形)对意图进行检索。
图4是示出根据本公开的技术的诸如控制器设备10的控制器设备的部件的示例性模型100的概念图。在本实施例中,模型100包括管理单元102、意图基础设施110、以及分析节点130。管理单元102包括升级模块27和策略105。意图基础设施110包括意图层112、意图编译器114、元件配置服务116、意图数据库118、以及配置(config.)数据库120。分析节点130包括遥测聚合单元132、元件遥测集合134、以及遥测数据库136。图2中的管理模块24可以包括执行模型100的各个部件所归属的功能的部件。例如,图2中的配置模块26可以与意图基础设施110对应,翻译模块28可以与意图编译器114对应,配置数据库120可以与配置数据库40对应等等。通过图2中的管理模块24可以实现图4中所示的特定部件。
升级模块27可以与元件配置服务116通信,以与待升级的各个设备通信,并且基于所确定的升级进度执行设备升级。作为一个实施例,升级模块27可以调用元件配置服务116,以根据利用软件更新对设备进行升级的指令将受管理设备导向至具有软件更新的存储库。在一些情况下,元件配置服务116是作为元件管理服务(EMS)层的一部分的EMS。
管理单元102调用意图层112来提供无状态意图。本公开的技术可以用于确保将意图形式的业务策略几乎实时地转换成网络,以防止对SLA产生消极影响。意图编译器114可以被配置为同时对意图进行编译。于2019年2月21日提交的美国申请号16/282,160的“SUPPORTING COMPILATION AND EXTENSIBILITY ON UNIFIED GRAPH BASED INTENTMODELS”中描述了关于意图的并行、同时编译的额外细节,通过引用将其全部内容结合在此。
当业务策略(即,状态意图)退化时,管理单元102可以确定对退化意图进行寻址的适当资源并且调用意图基础设施110来提供意图。当意图实现失败时,管理单元102可以确定失败的解决办法。例如,如果失败与新资源有关,管理单元102则可以对排除资源的集合进行更新、获得新资源、并且提供网络。如果失败不与新资源有关、而是因为现有网络元件并且现有网络元件是不可获得的,管理单元102则可以确定保留旧资源并且提供网络。如果失败是由于语义失败,管理单元102则可以提交否定意图、提供网络、并且发起表示语义失败的警报。
由此,通常,管理单元102确保意图数据模型变化中不存在冲突变化。在确保不存在冲突变化之后,管理单元102将意图数据模型变化提交至意图基础设施110。当提交无状态意图变化时,意图基础设施110可以创建保持已更新(例如,已创建、已更新、或已删除)的顶点集合及对应版本的标识的变化集合。意图基础设施110还将已部署的意图数据模型和未部署的意图数据模型保存在意图数据库118中。意图基础设施110触发意图编译器114来执行变化集合中所影响的顶点的翻译器。
翻译可以是异步的,并且因此,意图基础设施110通过使用全局意图版本可以确保意图变化不覆盖其他意图变化。全局意图版本表示生成低级模型资源的意图图形的版本。意图基础设施110将已部署的图形模型的全局意图版本与低级模型资源一起保存在例如配置数据库120中。如果新生成的低级模型全局意图版本低于低级模型的全局版本,意图基础设施110则可以重新运行意图编译器114。
为了支持更新,意图基础设施110支持诸如已部署和未部署的意图数据模型的意图数据模型的多版本。保存完整图形每次变化时的一个版本将使得意图变化串行化。由此,意图基础设施110将分别包括已部署顶点和未部署顶点的已部署和未部署意图数据模型保存在同一图形内。每个顶点包含状态和版本id。意图基础设施110可以将与意图变化对应的顶点的状态值设置成表示“已创建”、“已更新”、或“已删除”的状态。如下面讨论的,一旦部署顶点,意图基础设施110还可以将状态值的状态设置成表示“已部署”。
意图基础设施110可以将已更新的顶点保存在同一图形内。如上所述,意图基础设施110可以保存包含全局唯一标识符(UUID)及对应更新顶点的旧版本的列表的快照表。
当创建顶点时,意图基础设施110将已创建顶点的状态值设置成表示“已创建”状态的值。在将顶点部署至网络之后,意图基础设施110对状态值进行更新来表示“已部署”状态。
当对顶点进行更新时,意图基础设施110将已更新顶点的状态值设置成表示“已更新”状态的值。在将顶点部署至网络之后,意图基础设施110对状态值进行更新来表示“已部署”状态。
当删除顶点时,意图基础设施110将已创建顶点的状态值设置成表示“已删除”状态的值。在对网络部署更新之后,意图基础设施110从图形中移除已删除的顶点。
下列表表示示例性的状态变换:
因此,意图数据库118包括网络的业务策略的表示法。该表示法可以采用统一图形60(诸如图3中的统一图形60)的形式。
客户可以与管理单元102交互,以定义由升级模块27执行的升级过程的新标准,诸如针对统一图形60的特性进行预测并且针对升级请求11进行查询的新服务或设备特性、或约束条件。因此,客户可以通过遵循目标语法而添加网络设备的新角色或标签或者添加新的策略105。
图5是示出控制器设备可以用于对多个设备的网络设备软件进行升级的示例性方法的流程图。参考示例性的控制器设备10对方法进行描述。控制器设备10从诸如网络管理员或其他用户接收具有进度升级查询的升级请求11(250)。进度升级查询可以指定关于其中控制器设备执行软件升级的时间或顺序的一个或多个用户标准或者喜好。
基于进度升级查询,并且在一些情况下,基于根据对应增强模型提供的设备冗余和/或服务冗余数据,控制器设备可以使用诸如GraphQL的图形查询语言对统一图形60进行查询并且使用结果获得描述网络的升级图形(252)。例如,图形可以包括表示网络内满足进度升级查询的各个设备的节点和指示设备之间的冗余关系及升级策略关系的节点之间的矢线。接着,控制器设备10基于一个或多个升级目标计算并且分配从策略推导的每条矢线的矢线权重(254)。
控制器设备10将图形分割成多个子组(256)。控制器设备10可以通过下列两个标准中的至少一个标准确定子组:在子组之间,子组内的所有节点权重的和近似相等;和连接两个不同子组的矢线的所有矢线权重的和最小。每个子组可以指示不得一起被更新的网络设备的集合。
基于子组,控制器设备10确定升级进度(258)。例如,控制器设备10可以从一个子组中选择一组设备,以对该组设备并行(即,同时)进行升级并且为该组设备分配升级时隙。最后,控制器设备10可以根据升级进度对网络设备进行升级(260)。
图6是示出根据本公开的技术的用于对网络设备软件进行升级的示例性方法的流程图。参考示例性的控制器设备10对方法进行描述。控制器设备10从诸如网络管理员或其他用户接收具有进度升级查询的升级请求11(221)。进度升级查询可以指定关于其中控制器设备执行软件升级的时间或顺序的一个或多个用户标准或喜好。基于进度升级查询,控制器设备10可以确定控制器设备在计算升级进度时所遵循的一个或多个升级进度目标或约束条件(222)。
控制器设备10对从进度升级查询确定的目标和约束条件进行整合,并且在一些情况下,基于根据对应增强模型提供的设备冗余和/或服务冗余数据,控制器设备可以使用诸如GraphQL的图形查询语言对统一图形60进行查询并且使用结果获得描述网络的升级图形(224)。例如,升级图形可以包括表示网络内的各个设备的节点和指示设备之间的冗余关系及升级策略关系的节点之间的矢线。接着,控制器设备10基于多个目标计算并且分配从升级策略推导的每条矢线的矢线权重(226)。
控制器设备10将图形分割成多个子组(228)。控制器设备10可以通过下列两个标准中的至少一个标准确定子组:在子组之间,子组内的所有节点权重的和近似相等;和连接两个不同子组的矢线的所有矢线权重的和最小。每个子组可以指示不得一起被更新的网络设备的集合。
一旦控制器设备10确定多个子组,控制器设备则可以通过基于设备级标准、所允许的并行升级的最大数量、和/或每个维护窗口的升级的最大数量布置各个网络设备来对各个子组进行细分(230)。
基于已细分的子组,控制器设备10确定升级进度(232)。例如,控制器设备10可以从单个子组中选择一组网络设备,以对该组网络设备并行进行升级并且为该组网络设备分配升级时隙。最后,控制器设备可以根据升级进度对网络设备进行升级(234)。
在硬件、软件、固件、或其任意组合中可以至少部分实现本公开中所描述的技术。例如,在一个或多个处理器内可以实现所描述技术的各个方面,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、或任意其他等同的集成或离散逻辑电路、以及这些部件的任意组合。术语“处理器”或“处理电路”通常可以指单独或结合其他逻辑电路、或任意其他等同电路的任意上述逻辑电路。包括硬件的控制单元也可以执行本公开中的一种或多种技术。
在相同设备或独立设备内可以实现该硬件、软件、以及固件,以支持本公开中所描述的各种操作及功能。此外,任意所描述的单元、模块、或部件可以一起或单独实现为离散、但可相互操作的逻辑设备。将不同的特征描述为模块或单元旨在突出不同的功能方面并且不一定必然默示必须通过独立的硬件或软件部件实现这些模块或单元。确切地,与一个或多个模块或单元相关联的功能可以由独立的硬件或软件部件执行、或被集成在共同或独立的硬件或软件部件内。
本公开中描述的技术还可以涵盖或编码成包含指令的诸如计算机可读存储介质的计算机可读介质。例如,当执行指令时,被嵌入或编码成计算机可读介质的指令可以使可编程的处理器或其他处理器执行方法。计算机可读介质可以包括非易失性计算机可读存储介质和瞬态通信介质。计算机可读存储介质,即,有形并且非易失性,可以包括随机访问存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存存储器、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质、或其他计算机可读存储介质。术语“计算机可读存储介质”指物理存储介质,而非信号、载波、或其他瞬态介质。
Claims (17)
1.一种用于管理网络设备的方法,包括:
由管理提供一种或多种服务的网络的多个所述网络设备的控制器设备接收具有进度升级查询的升级请求,其中,所述进度升级查询指定关于所述控制器设备执行所述网络设备的软件升级的时间或顺序的一个或多个用户标准或者喜好;
由所述控制器设备基于所述进度升级查询并且基于根据增强网络设备模型提供的设备冗余数据和/或根据增强服务模型提供的服务冗余数据来确定具有节点的升级图形,每个节点表示多个所述网络设备中的一个网络设备或由所述网络提供的网络服务,所述升级图形还具有连接多个所述节点中的两个节点并且指示设备冗余度或服务依赖性的至少一条矢线,其中,所述增强网络设备模型用于指定建模设备的一个或多个冗余设备,所述增强服务模型用于指定建模服务的一个或多个冗余路径;
由所述控制器设备为所述升级图形中的每个节点分配节点权重并且为每条矢线分配矢线权重;
由所述控制器设备将所述升级图形分割成多个子组,其中,通过下列两个标准中的至少一个标准确定子组:在子组之间,子组内的所有节点权重的和近似相等;以及连接两个不同子组的矢线的所有矢线权重的和最小;
由所述控制器设备基于所述子组确定用于对所述网络设备执行软件的升级的升级进度,其中,所述控制器设备从一个子组中选择一组设备,以对该组设备并行进行升级;并且
由所述控制器设备根据所述升级进度对多个所述网络设备中的每个网络设备的所述软件进行升级。
2.根据权利要求1所述的方法,其中,所述基于所述进度升级查询并且基于根据增强网络设备模型提供的设备冗余数据和/或根据增强服务模型提供的服务冗余数据来确定具有节点的升级图形包括:
使用图形查询语言对统一图形模型进行查询并且使用所述查询的结果获得所述升级图形,其中,所述统一图形模型表示所述网络设备之间的关系。
3.根据权利要求2所述的方法,其中,所述方法还包括:
由所述控制器设备基于所述进度升级查询确定在计算所述升级进度时所遵循的所述升级进度的一个或多个目标或约束条件;并且
由所述控制器设备对所述目标和约束条件进行整合,并基于所述设备冗余数据和/或所述服务冗余数据,使用所述图形查询语言对所述统一图形模型进行查询并且使用所述结果获得所述升级图形。
4.根据权利要求1所述的方法,其中,所述增强网络设备模型包括用于指定能够进行已建模的网络设备的通信业务转发和服务处理的冗余、高度可用性、或能够替代的网络设备的可替代设备特性。
5.根据权利要求1所述的方法,其中,基于所述子组确定所述升级进度包括:通过基于设备级标准、所允许的并行升级的最大数量、和/或每个维护窗口的升级的最大数量布置各个所述网络设备,来对各个所述子组进行细分;以及基于已细分的子组确定所述升级进度。
6.根据权利要求1所述的方法,其中,所述增强服务模型包括:用于指定能够传输或另行处理已建模服务的通信业务的服务的冗余、高度可用性、或可替代的路径的可替代链路特性;或服务节点的可替代节点。
7.根据权利要求1所述的方法,其中,所述升级请求包括调度参数,所述调度参数包括下列中的至少一项:
升级开始日期;
升级窗口开始时间;
升级窗口持续时间;和
升级结束日期;并且
其中,基于所述子组确定所述升级进度包括基于所述调度参数确定所述升级进度。
8.根据权利要求1所述的方法,其中,所述升级请求包括基于所述网络设备的标签或角色选择所述网络设备的设备选择器。
9.根据权利要求1所述的方法,其中,所述升级请求包括用于为所述网络指定具有最小目标或最大目标的目标函数的至少一个策略。
10.根据权利要求9所述的方法,其中,所述至少一个策略指定以下中的至少一个:
任意网络设备的最大停机时间;
在任意一个时间能断开的连接的最大数量;
最新许可的升级完成日期;
在任意一个时间进行升级的设备的最大百分比;
最大升级窗口持续时间;以及
基于具有最多订户的设备的升级优先级。
11.根据权利要求1至10中任一项所述的方法,进一步包括:
由所述控制器设备接收定义用于执行所述软件的升级的新标准的标准定义,
其中,所述升级请求指定所述新标准。
12.一种管理网络的多个网络设备的控制器设备,所述网络提供一种或多种服务,所述控制器设备包括在电路中实现的一个或多个处理单元并且所述处理单元被配置为:
接收具有进度升级查询的升级请求,所述进度升级查询指定关于所述控制器设备执行所述网络设备的软件升级的时间或顺序的一个或多个用户标准或者喜好;
获得根据增强网络设备模型提供的设备冗余数据和/或根据增强服务模型提供的服务冗余数据,其中,所述增强网络设备模型用于指定建模设备的一个或多个冗余设备,所述增强服务模型用于指定建模服务的一个或多个冗余路径;
基于所述进度升级查询,并且基于所述设备冗余数据和/或所述服务冗余数据确定具有节点的升级图形,每个节点表示多个所述网络设备中的一个网络设备或由所述网络提供的网络服务,所述升级图形还具有连接多个所述节点中的两个节点并且指示设备冗余度或服务依赖性的至少一条矢线;
为所述升级图形中的每个节点分配节点权重并且为每条矢线分配矢线权重;
将所述升级图形分割成多个子组,其中,通过下列两个标准中的至少一个标准确定子组:在子组之间,子组内的所有节点权重的和近似相等;以及连接两个不同子组的矢线的所有矢线权重的和最小;
基于所述子组确定用于对所述网络设备执行软件的升级的升级进度,其中,从一个子组中选择一组设备,以对该组设备并行进行升级;并且
根据所述升级进度对多个所述网络设备中的每个网络设备的所述软件进行升级。
13.根据权利要求12所述的控制器设备,其中,所述处理单元还被配置为:
基于所述进度升级查询,并且基于所述设备冗余数据和/或所述服务冗余数据,使用图形查询语言对统一图形模型进行查询并且使用所述查询的结果获得所述升级图形,其中,所述统一图形模型表示所述网络设备之间的关系。
14.根据权利要求13所述的控制器设备,其中,所述处理单元还被配置为:
基于所述进度升级查询确定在计算所述升级进度时所遵循的所述升级进度的一个或多个目标或约束条件;
对所述目标和约束条件进行整合,并基于所述设备冗余数据和/或所述服务冗余数据,使用所述图形查询语言对所述统一图形模型进行查询并且使用所述结果获得所述升级图形。
15.根据权利要求12所述的控制器设备,其中,所述增强网络设备模型包括用于指定能够进行已建模的网络设备的通信业务转发和服务处理的冗余、高度可用性、或可替代的网络设备的可替代设备特性。
16.根据权利要求12所述的控制器设备,其中,所述增强服务模型包括:用于指定能够传输或另行处理已建模服务的通信业务的服务的冗余、高度可用性、可替代的路径的可替代链路特性、或服务节点的可替代节点。
17.一种编码有指令的计算机可读存储介质,所述指令用于使一个或多个可编程处理器执行通过权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111390224.4A CN114095331B (zh) | 2019-04-10 | 2019-09-25 | 管理多个网络设备的方法、控制器设备以及存储介质 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19382267.3 | 2019-04-10 | ||
EP19382267.3A EP3722944A1 (en) | 2019-04-10 | 2019-04-10 | Intent-based, network-aware network device software-upgrade scheduling |
US16/414,447 US10884728B2 (en) | 2019-04-10 | 2019-05-16 | Intent-based, network-aware network device software-upgrade scheduling |
US16/414,447 | 2019-05-16 | ||
CN201910909817.3A CN111817870B (zh) | 2019-04-10 | 2019-09-25 | 管理多个网络设备的方法、控制器设备以及存储介质 |
CN202111390224.4A CN114095331B (zh) | 2019-04-10 | 2019-09-25 | 管理多个网络设备的方法、控制器设备以及存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910909817.3A Division CN111817870B (zh) | 2019-04-10 | 2019-09-25 | 管理多个网络设备的方法、控制器设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095331A CN114095331A (zh) | 2022-02-25 |
CN114095331B true CN114095331B (zh) | 2024-07-23 |
Family
ID=66379851
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111390224.4A Active CN114095331B (zh) | 2019-04-10 | 2019-09-25 | 管理多个网络设备的方法、控制器设备以及存储介质 |
CN201910909817.3A Active CN111817870B (zh) | 2019-04-10 | 2019-09-25 | 管理多个网络设备的方法、控制器设备以及存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910909817.3A Active CN111817870B (zh) | 2019-04-10 | 2019-09-25 | 管理多个网络设备的方法、控制器设备以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10884728B2 (zh) |
EP (1) | EP3722944A1 (zh) |
CN (2) | CN114095331B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10389573B2 (en) | 2014-11-14 | 2019-08-20 | Apstra, Inc. | Configuring a network |
US10063428B1 (en) | 2015-06-30 | 2018-08-28 | Apstra, Inc. | Selectable declarative requirement levels |
US10313206B1 (en) | 2015-12-23 | 2019-06-04 | Apstra, Inc. | Verifying service status |
US10374872B2 (en) | 2016-05-24 | 2019-08-06 | Apstra, Inc. | Configuring system resources for different reference architectures |
US11567994B2 (en) | 2017-01-24 | 2023-01-31 | Apstra, Inc. | Configuration, telemetry, and analytics of a computer infrastructure using a graph model |
US10992543B1 (en) | 2019-03-21 | 2021-04-27 | Apstra, Inc. | Automatically generating an intent-based network model of an existing computer network |
EP3722944A1 (en) | 2019-04-10 | 2020-10-14 | Juniper Networks, Inc. | Intent-based, network-aware network device software-upgrade scheduling |
US11075805B1 (en) * | 2019-04-24 | 2021-07-27 | Juniper Networks, Inc. | Business policy management for self-driving network |
CN112532758B (zh) * | 2019-09-19 | 2023-04-18 | 贵州白山云科技股份有限公司 | 一种网络边缘计算系统的创建方法、装置及介质 |
US11805013B2 (en) * | 2020-01-29 | 2023-10-31 | Juniper Networks, Inc. | Prioritizing policy intent enforcement on network devices |
US11496610B2 (en) * | 2020-06-26 | 2022-11-08 | Verizon Patent And Licensing Inc. | Network management data translation, querying, and discrepancy detection |
US11611474B2 (en) * | 2020-12-28 | 2023-03-21 | Juniper Networks, Inc. | Edge controller with network performance parameter support |
CN115150280A (zh) * | 2021-03-31 | 2022-10-04 | 华为技术有限公司 | 一种数据包发送方法及设备 |
US11640292B2 (en) * | 2021-05-07 | 2023-05-02 | Verizon Patent And Licensing Inc. | Systems and methods for IoT device lifecycle management |
US12052582B2 (en) * | 2021-11-12 | 2024-07-30 | T-Mobile Innovations Llc | Downtime optimized network upgrade process |
CN116155737A (zh) * | 2021-11-23 | 2023-05-23 | 华为云计算技术有限公司 | 一种网络配置方法及装置 |
US20230185615A1 (en) * | 2021-12-14 | 2023-06-15 | Vmware, Inc. | Automated scheduling of software defined data center (sddc) upgrades at scale |
US20230344714A1 (en) * | 2022-04-22 | 2023-10-26 | Microsoft Technology Licensing, Llc | Global intent-based configuration to local intent targets |
CN115794210A (zh) * | 2022-12-09 | 2023-03-14 | 广州力麒智能科技有限公司 | 基于软件和驱动版本管理方法、装置、设备及存储介质 |
CN118175560B (zh) * | 2024-05-13 | 2024-07-16 | 贵州大学 | 一种基于意图的网络中应用意图转译装置及转译方法 |
CN118337624B (zh) * | 2024-06-13 | 2024-09-13 | 深圳市金地楼宇科技有限公司 | 基于设备影子的设备灰度升级方法、装置、设备及介质 |
CN118368194B (zh) * | 2024-06-14 | 2024-09-13 | 深圳市北电仪表有限公司 | 智能电表的固件升级方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227342A (zh) * | 2014-06-27 | 2016-01-06 | 瞻博网络公司 | 用于网络服务域中的服务规划和配置的图形数据库 |
US10200248B1 (en) * | 2016-06-30 | 2019-02-05 | Juniper Networks, Inc. | Translating high-level configuration instructions to low-level device configuration |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933642A (en) | 1995-04-17 | 1999-08-03 | Ricoh Corporation | Compiling system and method for reconfigurable computing |
US5870559A (en) | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US6078744A (en) | 1997-08-01 | 2000-06-20 | Sun Microsystems | Method and apparatus for improving compiler performance during subsequent compilations of a source program |
US6859831B1 (en) * | 1999-10-06 | 2005-02-22 | Sensoria Corporation | Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes |
US6678646B1 (en) | 1999-12-14 | 2004-01-13 | Atmel Corporation | Method for implementing a physical design for a dynamically reconfigurable logic circuit |
US6973488B1 (en) | 2000-03-31 | 2005-12-06 | Intel Corporation | Providing policy information to a remote device |
US7209473B1 (en) | 2000-08-18 | 2007-04-24 | Juniper Networks, Inc. | Method and apparatus for monitoring and processing voice over internet protocol packets |
US6535924B1 (en) * | 2001-09-05 | 2003-03-18 | Pluris, Inc. | Method and apparatus for performing a software upgrade of a router while the router is online |
US8195779B2 (en) | 2002-09-27 | 2012-06-05 | Broadcom Corporation | System and method of a management information base (MIB) autocast in a communications network |
US7953779B1 (en) | 2002-10-08 | 2011-05-31 | Trilogy Development Group, Inc. | Configuration representation and modeling using configuration spaces |
US8171461B1 (en) | 2006-02-24 | 2012-05-01 | Nvidia Coporation | Primitive program compilation for flat attributes with provoking vertex independence |
FR2902954B1 (fr) | 2006-06-21 | 2008-10-17 | Netasq Sa | Systeme et procede de stockage d'un inventaire des systemes et/ou services presents sur un reseau de communication |
US8571882B1 (en) | 2006-07-05 | 2013-10-29 | Ronald J. Teitelbaum | Peer to peer database |
JP5119902B2 (ja) | 2007-12-19 | 2013-01-16 | 富士通セミコンダクター株式会社 | 動的再構成支援プログラム、動的再構成支援方法、動的再構成回路、動的再構成支援装置および動的再構成システム |
US8677329B2 (en) | 2009-06-03 | 2014-03-18 | Apple Inc. | Methods and apparatuses for a compiler server |
US9117071B2 (en) | 2009-06-03 | 2015-08-25 | Apple Inc. | Methods and apparatuses for secure compilation |
US9489184B2 (en) | 2011-12-30 | 2016-11-08 | Oracle International Corporation | Adaptive selection of programming language versions for compilation of software programs |
US9081643B2 (en) * | 2012-09-21 | 2015-07-14 | Silver Sring Networks, Inc. | System and method for efficiently updating firmware for nodes in a mesh network |
CN103034617B (zh) | 2012-12-13 | 2015-09-30 | 深圳市同创国芯电子有限公司 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
US9727339B2 (en) | 2013-07-18 | 2017-08-08 | Nvidia Corporation | Method and system for distributed shader optimization |
US9374294B1 (en) * | 2013-11-05 | 2016-06-21 | Cisco Technology, Inc. | On-demand learning in overlay networks |
US9578091B2 (en) * | 2013-12-30 | 2017-02-21 | Microsoft Technology Licensing, Llc | Seamless cluster servicing |
US20150382244A1 (en) * | 2014-06-27 | 2015-12-31 | T-Mobile Usa, Inc. | Upsell Framework for Network Services |
US9436443B2 (en) | 2014-08-28 | 2016-09-06 | At&T Intellectual Property I, L.P. | Software defined network controller |
US10216514B2 (en) * | 2014-09-25 | 2019-02-26 | Hewlett Packard Enterprise Development Lp | Identification of a component for upgrade |
US9806991B2 (en) | 2015-01-21 | 2017-10-31 | Cisco Technology, Inc. | Rendering network policy and monitoring compliance |
US10084670B2 (en) | 2015-03-12 | 2018-09-25 | International Business Machines Corporation | Network node on-demand link resources |
US9715380B2 (en) | 2015-05-26 | 2017-07-25 | Cisco Technology, Inc. | Techniques for enabling dynamic update of device data models |
US10187321B2 (en) | 2015-08-19 | 2019-01-22 | Cisco Technology, Inc. | Dynamic VPN policy model with encryption and traffic engineering resolution |
EP3387550B1 (en) * | 2015-12-10 | 2020-12-02 | Microsoft Technology Licensing, LLC | Data driven automated provisioning of telecommunication applications |
US10102172B1 (en) | 2015-12-27 | 2018-10-16 | Altera Corporation | Method and apparatus for performing a single pass compilation for systems with dynamically reconfigurable logic blocks |
CN109196466B (zh) * | 2016-05-19 | 2022-05-03 | 瑞典爱立信有限公司 | 用于评估升级活动的方法和系统 |
US10374872B2 (en) * | 2016-05-24 | 2019-08-06 | Apstra, Inc. | Configuring system resources for different reference architectures |
US10374888B2 (en) * | 2016-12-14 | 2019-08-06 | At&T Intellectual Property I, L.P. | Scheduler for upgrading access point devices efficiently |
US10374886B1 (en) | 2016-12-30 | 2019-08-06 | Juniper Networks, Inc. | Processing multiple parallel high level configuration changes for managed network devices |
US10278112B1 (en) | 2016-12-30 | 2019-04-30 | Juniper Networks, Inc. | Resolving out-of-band configuration changes to high-level service configuration for managed network devices |
US11567994B2 (en) | 2017-01-24 | 2023-01-31 | Apstra, Inc. | Configuration, telemetry, and analytics of a computer infrastructure using a graph model |
US10567223B1 (en) | 2017-03-07 | 2020-02-18 | Juniper Networks, Inc. | Optimistic concurrency control for managed network devices |
US20170187577A1 (en) | 2017-03-14 | 2017-06-29 | Nuviso Networks Inc | System for configuring network devices |
US10937214B2 (en) | 2017-03-22 | 2021-03-02 | Google Llc | System and method for merging maps |
US10810210B2 (en) * | 2017-05-12 | 2020-10-20 | Battelle Memorial Institute | Performance and usability enhancements for continuous subgraph matching queries on graph-structured data |
US10657619B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Task execution on a graphics processor using indirect argument buffers |
US11032127B2 (en) * | 2017-06-26 | 2021-06-08 | Verisign, Inc. | Resilient domain name service (DNS) resolution when an authoritative name server is unavailable |
CN109271621B (zh) | 2017-07-18 | 2023-04-18 | 腾讯科技(北京)有限公司 | 语义消歧处理方法、装置及其设备 |
CN108234356B (zh) * | 2017-11-29 | 2021-07-06 | 中电科华云信息技术有限公司 | 基于应用关系网络的最优化应用资源分布策略 |
US10756983B2 (en) * | 2017-12-08 | 2020-08-25 | Apstra, Inc. | Intent-based analytics |
CN108376118B (zh) * | 2018-02-09 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 服务发布系统、方法、设备及存储介质 |
JP6744882B2 (ja) | 2018-02-26 | 2020-08-19 | 株式会社日立製作所 | 行動パターン探索システム、および行動パターン探索方法 |
US20190317749A1 (en) * | 2018-04-13 | 2019-10-17 | Cisco Technology, Inc. | Upgrading network firmware |
US11140049B2 (en) | 2018-09-07 | 2021-10-05 | Juniper Networks, Inc. | Dynamic intent assurance and programmability in computer networks |
US10892952B2 (en) | 2019-02-21 | 2021-01-12 | Juniper Networks, Inc. | Supporting compilation and extensibility on unified graph-based intent models |
US10924392B2 (en) * | 2019-03-15 | 2021-02-16 | Juniper Networks, Inc. | Planning and managing network probes using centralized controller |
EP3722944A1 (en) | 2019-04-10 | 2020-10-14 | Juniper Networks, Inc. | Intent-based, network-aware network device software-upgrade scheduling |
-
2019
- 2019-04-10 EP EP19382267.3A patent/EP3722944A1/en active Pending
- 2019-05-16 US US16/414,447 patent/US10884728B2/en active Active
- 2019-09-25 CN CN202111390224.4A patent/CN114095331B/zh active Active
- 2019-09-25 CN CN201910909817.3A patent/CN111817870B/zh active Active
-
2020
- 2020-12-31 US US17/139,773 patent/US11640291B2/en active Active
-
2023
- 2023-03-06 US US18/178,708 patent/US11922162B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227342A (zh) * | 2014-06-27 | 2016-01-06 | 瞻博网络公司 | 用于网络服务域中的服务规划和配置的图形数据库 |
US10200248B1 (en) * | 2016-06-30 | 2019-02-05 | Juniper Networks, Inc. | Translating high-level configuration instructions to low-level device configuration |
Also Published As
Publication number | Publication date |
---|---|
CN111817870B (zh) | 2021-12-21 |
US11922162B2 (en) | 2024-03-05 |
US20210124570A1 (en) | 2021-04-29 |
US20230214208A1 (en) | 2023-07-06 |
EP3722944A1 (en) | 2020-10-14 |
US11640291B2 (en) | 2023-05-02 |
CN111817870A (zh) | 2020-10-23 |
CN114095331A (zh) | 2022-02-25 |
US20200326924A1 (en) | 2020-10-15 |
US10884728B2 (en) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114095331B (zh) | 管理多个网络设备的方法、控制器设备以及存储介质 | |
CN114039846B (zh) | 支持接近实时的服务水平协议 | |
CN111756564B (zh) | 用于配置网络的方法、控制器装置以及存储介质 | |
CN115250223B (zh) | 计算机网络中的动态意图保证方法和装置以及存储介质 | |
CN111596921B (zh) | 支持基于图形的统一意图模型的编译和可扩展性 | |
CN114697207B (zh) | 具有网络性能参数支持的边缘控制器 | |
US10278112B1 (en) | Resolving out-of-band configuration changes to high-level service configuration for managed network devices | |
CN112104473B (zh) | 基于图形的意图控制器中的可编程配置模板 | |
US11736410B1 (en) | Synchronizing device resources for element management systems | |
CN113193975B (zh) | 一种控制器设备、方法及计算机可读存储介质 | |
EP4113938A1 (en) | Topology compiler for network management system | |
CN115914201A (zh) | 通信方法、用于软件升级图像的控制系统和存储介质 | |
CN118101419A (zh) | 一种对多个网络设备执行根本原因分析的方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |