CN116762318A - 架构可用性和同步 - Google Patents
架构可用性和同步 Download PDFInfo
- Publication number
- CN116762318A CN116762318A CN202280009743.8A CN202280009743A CN116762318A CN 116762318 A CN116762318 A CN 116762318A CN 202280009743 A CN202280009743 A CN 202280009743A CN 116762318 A CN116762318 A CN 116762318A
- Authority
- CN
- China
- Prior art keywords
- network device
- network
- fas
- configuration
- agent
- 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.)
- Pending
Links
- 239000004744 fabric Substances 0.000 claims description 62
- 238000000034 method Methods 0.000 claims description 57
- 230000004048 modification Effects 0.000 claims description 51
- 238000012986 modification Methods 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 description 369
- 230000008569 process Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 35
- 230000008859 change Effects 0.000 description 20
- 230000015654 memory Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004380 ashing Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow 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/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- 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/084—Configuration by using pre-existing information, e.g. using templates or copying from other 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/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/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- 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/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- 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
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- 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/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- 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/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0833—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network energy consumption
-
- 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/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L41/0863—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
-
- 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/0866—Checking the configuration
-
- 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
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的方面包括在架构网络内实现架构可用性和同步(FAS)代理。在一个示例中,在第一网络设备上执行的第一FAS代理可以从第二网络设备接收修改第二网络设备的配置的命令。第一FAS可以基于该命令将第一网络设备的配置从当前配置升级到新配置。第一FAS代理将与第一网络设备的配置相关联的状态标识符递增到与新配置相关联的新状态标识符。第一FAS代理然后可以发送包括新状态标识符的控制分组。在第二网络设备上执行的第二FAS代理可以接收控制分组并执行命令以将第二网络设备的配置更新为新配置。
Description
相关申请的交叉引用
本申请要求2021年1月12日提交的美国非临时申请第17/147,327号的权益和优先权。出于所有目的,上述申请的全部内容通过引用整体结合于此。
技术领域
本公开一般涉及分布式网络管理。更具体地,但非限制性地,本公开涉及用于管理架构网络的架构可用性和同步代理。
背景技术
现代网络通常由多个互连的设备管理。例如,商业网络可能包括大量的工作站。网络可以由网络管理员来管理,网络管理员使用一系列路由器和/或交换机来管理工作站的通信。一些网络,诸如跨大学校园或超大型企业运行的网络,可能跨大的地理区域运行。为了保持连接性,这些网络可以使用网络设备层,将通信通过网络中继到中央服务器或中继。微观层可以保持特定微观位置(诸如建筑物)中的连通性,宏观层可以保持多个微观位置(诸如多个建筑物的网络)之间的连通性。当微观或宏观层的网络设备停止运行时(例如,服务器维护、软件故障、网络入侵等),网络上的通信可能会不可挽回地中断。
发明内容
方法和系统可以涉及更新架构网络中的网络设备的配置。一种方法可以包括:在架构网络中的第一网络设备处从架构网络中的第二网络设备接收修改第二网络设备的当前配置的命令的标识,其中根据当前配置来配置第一网络设备;由在第一网络设备上执行的第一架构可用性和同步(FAS)代理认证所述命令;由第一网络设备响应于认证所述命令,基于所述命令修改第一网络设备的当前配置,其中修改第一网络设备的当前配置定义了新配置;存储该命令的标识;响应于修改第一网络设备的当前配置,更新与第一网络设备的当前配置相关联的状态标识符,以对应于与新配置相关联的新状态标识符;以及由第一FAS代理向在所述架构网络的第二网络设备上执行的第二FAS代理发送包括新状态标识符的控制分组,其中在接收到所述控制分组时,第二FAS代理检索所述命令的标识,并且在第二网络设备上实施所述命令,以将第二网络设备的当前配置升级到所述新配置。
本公开的另一方面包括一种系统,该系统包括一个或多个处理器和非暂态计算机可读介质,该非暂态计算机可读介质包括指令,当由一个或多个处理器执行时,该指令使得一个或多个处理器执行本文描述的方法的部分或全部。
本公开的另一方面包括一种非暂态计算机可读介质,其包括指令,当由一个或多个处理器执行时,使得一个或多个处理器执行本文描述的一个或多个方法的部分或全部。
提及这些说明性示例不是为了限制或定义本公开,而是提供示例来帮助理解本公开。在详细描述中讨论了另外的实施例,并且在那里提供了进一步的描述。
附图说明
图1描绘了根据本公开的方面的架构网络的示例。
图2描绘了根据本公开的方面的FAS管理的网络设备的框图的示例。
图3描绘了根据本公开的方面的用于选择主要FAS代理的过程的示例。
图4描绘了根据本公开的方面的用于管理网络设备的架构的配置的过程的示例。
图5描绘了根据本公开的方面的用于更新网络设备的架构的配置的过程的示例。
具体实施方式
本公开涉及由架构可用性和同步(FAS)代理半自动管理的改进的网络拓扑。通常使用将设备连接到网络内的其他设备和网络外的设备的网络设备(例如,便于与其他设备通信的设备)来管理网络。具有大量连接设备和/或分散在大地理区域的设备的大型网络可以使用大量网络设备来连接网络的所有设备。这些大型网络可以运行架构网络(例如,有时称为交换架构),其中网络的设备经由多个网络设备互连(与广播网络不同,在广播网络中一个网络设备专门管理多个设备的通信)。
架构网络的网络设备可以配备有架构可用性和同步代理,以管理架构网络和构成架构网络的网络设备的运行。在一些情况下,网络的其他设备(例如,工作站、服务器等)也可以配备有FAS代理。FAS代理管理它在其上执行的网络设备的运行,并与其他FAS代理通信以同步架构网络的运行。FAS代理可以提供网络设备的架构级管理,这使得能够从单个网络设备管理架构网络的网络设备。
当FAS代理被执行时,FAS代理可以基于FAS代理的一个或多个特性或者FAS代理在其上执行的网络设备的特性来自动定义FAS代理的层级。例如,FAS代理可以基于每个FAS代理或网络设备的特性来确定哪个FAS代理最适合作为主要FAS代理来运行。一个或多个特性的示例可以包括但不限于可用带宽、可用处理资源处理器和/或存储器、连接到网络设备的设备数量、与另一网络设备或服务器的连接质量等。
在一个示例中,为了确定主要FAS代理,每个FAS可以导出指示该FAS代理作为主要FAS代理的适合性的优先级值。优先级值可以从FAS代理和/或FAS代理在其上执行的网络设备的特性中导出。然后,每个FAS代理可以通过向其他FAS代理发送包括优先级值的控制分组来声明主要FAS代理的角色。在被特定FAS代理接收时,特定FAS代理可以将来自控制分组的优先级值和与特定FAS代理相关联的优先级值进行比较。如果控制分组的优先级值大于与特定FAS代理相关联的优先级值,则特定FAS代理可以将主要角色让给另一个FAS代理。否则,如果特定FAS代理的优先级值高于另一个FAS代理的优先级值,则该特定FAS代理成为主要FAS代理。该特定FAS代理然后可以向其他FAS代理发送控制分组,以向其他FAS代理确认该特定FAS代理是主要FAS代理。在某些情况下,特定FAS代理可以周期性地向其他FAS代理发送主要分组,以保持其作为主要FAS代理的状态。如果在任何时候,特定FAS代理从另一个FAS代理接收的优先级值大于该特定FAS代理的优先级值,则该特定FAS代理可以将其作为主要FAS代理的状态让给该FAS代理。如果主要FAS代理出现故障,则其他FAS代理可以选择新的主要FAS代理,从而在架构网络中提供容错和冗余。
FAS代理可以使用网络设备的资源与其他FAS代理通信。在某些情况下,FAS代理可以使用与网络设备用来连接网络的设备的网络信道类似的网络信道。在其他情况下,FAS代理可以使用网络设备的隔离通信信道。例如,网络设备可以包括使外部设备能够向网络设备发送命令的管理信道。可以使用管理信道建立虚拟局域网(VLAN),以便于FAS代理的通信。VLAN可以是与由网络设备管理的连接并行运行的专用网络,其可以由FAS代理和网络管理员使用。架构网络的设备(例如,依赖于网络设备进行连接的设备)可能无法访问VLAN。
主要FAS代理可以管理架构网络的配置。主要FAS代理使网络设备的配置变化与架构网络的其他网络设备同步。例如,修改架构网络的特定网络设备的配置的命令可以传播到主要FAS代理。主要FAS代理可以认证对配置的修改,使得对配置的修改被传播到架构网络中的其他网络设备。类似地,如果当前配置被确定为导致错误,则FAS代理可以将当前配置的回滚传播到先前的配置。修改架构网络的网络设备的配置可以在不必单独修改每个网络设备的情况下完成。在一些情况下,其他网络设备可以从主要FAS代理获得对确认的修改。在其他情况下,对配置的修改可以从在运行修改后的配置的网络设备上执行的FAS代理获得。
将FAS代理集成到架构网络中可以提供许多优点。FAS代理可以通过避免错误配置和不一致的配置来提高架构的可用性,从而减少停机时间和灰化。FAS代理还可以通过将对网络的改变传播到在每个网络设备上执行的FAS代理,来同步架构网络内各个网络设备的状态。一个网络设备中的改变可以被认证,并且使得相同的改变在整个架构网络上实现,而不必单独修改每个网络设备。
图1描绘了根据本公开的方面的网络架构的示例。架构环境100可以包括经由一个或多个网络设备连接的多个设备。架构网络100可以包括多个互连的网络设备。每个网络设备,诸如网络设备104、108和116,可以包括便于通信的任何类型的设备,诸如但不限于路由器、网关、网络交换机、代理设备等。网络设备还可以维持一个或多个其他网络设备或每个其他网络设备(例如,如图所示)之间的连接,以便为架构网络100提供网络安全性和通信冗余。该一个或多个其他设备可以是发起通信或通信被寻址到的任何类型的设备。可以包括在一个或多个其他设备中的设备的示例包括但不限于服务器、计算设备、网络设备、移动设备等。
建立架构网络100可以包括在每个网络设备上提供架构可用性和同步(FAS)代理。例如,网络设备104可以配备有FAS代理108,网络设备112可以配备有FAS代理116,网络设备120可以配备有FAS代理124。每个FAS代理可以与至少一个其他网络设备(以及最多所有其他网络设备)建立专用连接。例如,每个网络设备可以包括管理信道,远程设备可以通过该管理信道向网络设备发出命令。在某些情况下,每个FAS代理可以通过管理网络配置虚拟局域网(VLAN)。例如,FAS代理108可以在网络设备104上建立VLAN 128。FAS代理116可以在网络设备112上建立VLAN 128。FAS代理108可以在网络设备120上建立VLAN 128。管理信道可以是与由网络设备管理的连接隔离的信道。结果,网络设备可以被配置成阻止网络环境100的设备(除了网络设备104、108和/或112之外)通过VLAN 116进行通信。
FAS代理第一次执行时,FAS代理可以确定架构网络中的哪个FAS代理将是主要FAS代理。例如,网络设备104可以是添加到网络中的第一个网络设备。一旦FAS代理108执行,FAS代理108可以识别网络设备104的预定特性,以导出优先级值。预定特性可以对应于可用带宽、可用处理资源处理器和/或存储器、连接到网络设备的设备数量、与另一网络设备或服务器的连接质量、其组合等。因为FAS代理120是唯一执行的FAS代理,所以FAS代理可以默认为主要FAS代理。
网络设备112和网络设备120可以被添加到架构网络。一旦FAS代理116和FAS代理124分别被网络设备112和网络设备120执行,FAS代理116和FAS代理124就可以确定各自的优先级值。FAS代理116可以向每个其他FAS代理(例如,FAS代理108和FAS代理124)广播其优先级值。类似地,FAS代理124可以向每个其他FAS代理(例如,FAS代理108和FAS代理116)广播其优先级值。在一些情况下,当从FAS代理116和FAS代理124接收到优先级值时,FAS代理108可以生成新的优先级值(以确保优先级值反映网络设备104的当前运行特性)。
FAS代理108可以确定其优先级值是否大于任何接收到的优先级值。如果FAS代理108包括最大优先级值,则FAS代理108可以通过VLAN 116向FAS代理116和FAS代理124发送控制分组,声明FAS代理104是架构网络100的主要FAS代理。在一些情况下,FAS代理108还可以通过VLAN 116发送其优先级值,使得FAS代理116和FAS代理124可以独立地验证FAS代理108是主要FAS代理。如果FAS代理108的优先级值不大于FAS代理116和FAS代理124中每一个的优先级值,则FAS代理108可以通过VLAN 128发送控制分组,将主要FAS代理的角色让给具有较大优先级值的FAS代理。
FAS代理可以在任何时候为它在其上执行的网络设备导出优先级值。在一些情况下,可以在接收到用户输入时、在从另一网络设备接收到生成和/或发送优先级值的命令时、在检测到事件的发生(例如,配置改变、网络拓扑改变、网络设备的处理资源改变、网络设备的带宽或信号质量改变、其组合等)时、其组合时等,以规则的间隔来确定优先级值。
架构网络100可以促进架构网络100内的设备之间的通信以及架构网络100的设备和外部设备之间的通信。例如,网络设备104可以管理与一个或多个服务器132、计算设备136-1和计算设备136-2的连接。计算设备可以是任何类型的支持网络的电子设备,诸如计算机、移动设备(例如,智能手机、可穿戴设备等)、服务器、智能设备(例如,启用网络的自动化设备等)、网络设备等。在一些情况下,计算设备可以包括一个或多个虚拟设备。例如,计算设备可以运行一个或多个虚拟机,其中每个虚拟机可以模拟硬件平台。在这些情况下,网络设备104可以促进计算设备和每个虚拟机(例如,被视为可单独寻址和不同的计算设备)的通信。网络设备112还可以包括一个或多个服务器140和计算设备144-1和144-2。网络设备120可以包括一个或多个服务器148以及计算设备152-1和152-2。
在某些情况下,一些设备可能连接到两个或更多网络设备。例如,一个或多个服务器148可以保持与网络设备112和网络设备120中的每一个的连接。在这些情况下,FAS代理116和FAS代理120可以运行定义一个或多个服务器148的地址的联合子网掩码。联合子网掩码可以基于由FAS代理管理的动态路由协议,该动态路由协议使得FAS代理能够基于架构网络100的当前状态通过连接网络设备112或网络设备120将通信路由到一个或多个服务器148。架构网络100的当前状态可以基于但不限于通过架构网络100的吞吐量、网络设备116和/或网络设备120可用的处理资源、信号质量、网络设备116和/或网络设备120的网络负载、其组合等。当寻址到一个或多个服务器148的通信被架构网络100接收时,FAS代理可以使用联合子网掩码来确定使用哪个连接来将通信路由到一个或多个服务器148。
架构网络100的网络设备可以包括通用配置。例如,网络设备104可以包括同样包含在网络设备116和120中的公共配置。在广播和网状网络中,修改诸如网络设备104的网络设备的配置(例如,导致配置不匹配)可以防止寻址到下游设备(例如,诸如设备140、144-1、144-2、148、151-1和152-2)的通信通过网络传播到目的地设备。然后,网络管理员可能必须单独连接到每个网络设备,以修改每个网络设备的配置,从而匹配网络设备104的配置。
架构网络100可以通过网络自动同步配置改变,以防止配置不匹配,并确保当配置被更新时,通信继续通过网络传播。例如,可以接收对网络设备112的配置的修改。如果网络设备112包括主要FAS代理,则主要FAS代理(例如,FAS代理116)可以认证配置改变。认证可以包括安全认证(例如,确保修改是由授权用户生成的)和/或运行认证(例如,确保修改不会中断架构网络100的运行和/或中断通过架构网络100传输的通信)。如果修改被认证,则FAS代理116递增网络设备112的配置的配置版本。FAS代理116然后可以通过VLAN 128向FAS代理108和FAS代理124发送控制分组,该控制分组提供配置的递增版本标识符。FAS代理108和FAS代理124然后可以通过VLAN 128从网络设备112获得对网络设备112的配置(和/或网络设备112的当前配置)的修改。
如果FAS代理116不是主要FAS代理,则FAS代理116可以向主要FAS代理发送修改的标识。主要FAS代理然后可以认证修改,并且如果被认证,则通过VLAN 128将控制分组发送到其他FAS代理。
如果FAS代理确定当前配置包含故障,则可能发生类似的过程。FAS代理首先通过例如测试配置、确定已经报告了预定数量的故障、测试通过光纤网络100的吞吐量、确定预定数量的通信是否未能被传递、其组合等来确定是否需要回滚。例如,如果网络设备104的当前配置中存在故障,则FAS代理108可以确定是否需要回滚。如果是,FAS代理108可以使网络设备回滚到已知为好配置的先前配置。如果FAS代理108是主要FAS代理,则FAS代理108可以使网络设备104恢复到先前的已知良好配置,并将网络设备104的配置的版本标识符递减到已知良好配置的版本标识符。FAS代理108然后可以向FAS代理116和FAS代理124发送控制分组,该控制分组包括新的(递减的)配置版本标识符的标识。
如果FAS代理108不是主要FAS代理,则FAS代理108可以向主要FAS代理发送回滚的标识。主要FAS代理然后可以确定是否需要回滚(例如,使用由FAS代理108执行的类似过程)。如果需要回滚,则主要FAS代理可以在主要FAS代理的网络设备上执行回滚,并向每个其他FAS代理发送包括新的(递减的)配置标识符的控制分组。其他FAS代理可以执行类似的回滚(如果这些FAS代理的网络设备包括先前配置的实例)或者从主要FAS代理获得先前配置。
尽管描绘了三个网络设备(例如,网络设备204、212和220),每个网络设备都有助于三个设备(例如,设备132、136-1、136-2、140、144-1、144-2、148、152-1和152-2)的通信,但是任何数量的网络设备都可以在架构网络内运行。每个网络设备可以促进任何数量的设备的通信。
图2描绘了根据本公开的方面的FAS管理的网络设备的框图的示例。诸如图1的架构网络100的架构网络可以在不同类型的环境中使用,诸如企业网络、控制中心、住宅网络等。一些环境(诸如控制中心)可能使用脊叶架构。主干层(例如,主干设备204-1-204-n)可以包括将叶层设备互连成网状网络拓扑的网络设备。每个主干设备可以配备有各自的FAS代理(例如,FAS代理208-1可以在主干1204-1上执行,FAS代理208-n可以在主干n 204-n上执行,等等)。
叶层(例如,计算设备212-1-212-n)可以包括聚集来自服务器、客户端设备、用户设备等的流量的接入设备。计算设备212-1-212-n可以包括一个或多个叶(诸如叶2167、224、244和248),每个叶包括一个或多个FAS代理(诸如FAS代理220、228、252和256),这些FAS代理管理合并在计算设备212-1-212-n内的一个或多个设备的网络操作。例如,计算设备212-1可以包括执行FAS代理220的叶216,以及执行FAS代理228的叶224。FAS代理220可以执行来管理设备232-1、232-2、232-3等的网络操作。设备232-1、232-2、232-3等可以包括在控制中心内运行的计算设备。在一些情况下,计算设备可以合并其他设备(例如,物理的或虚拟的)。例如,设备232-3可以是执行虚拟机236和虚拟机240的物理计算设备。虚拟机236和虚拟机240可以执行来为一个或多个其他设备(例如,客户端设备、用户设备、其他计算设备等)仿真不同的执行环境,或提供为执行特定应用程序而配置的执行环境。
叶设备216(和FAS代理220)和叶层224(和FAS代理228)可以通过不同的通信信道(例如,如图所示)或通过相同的通信信道(未示出)各自管理设备232-1、232-2、232-3等。除了如图所示的设备232-1、232-2、232-3之外,叶层可以管理任意数量的设备。由叶层管理的每个设备可以执行任意数量的虚拟环境。例如,计算设备212-n包括执行FAS代理252的叶244和执行FAS代理256的叶248。叶244和叶256中的每一个可以管理设备260-1、260-2-260-n。
每个叶可以连接到每个主干,以实现叶层的每个计算设备内的管理冗余。例如,如果叶216发生故障或变得无响应,则叶224可以继续管理设备232-1、232-2和232-3。此外,由于叶224保持与主干204-1-204-n和FAS代理208-1-208-n的独立连接,所以架构网络内的FAS代理可以继续管理架构网络内每个设备(物理的或虚拟的)的网络操作。例如,在叶216被禁用的情况下,叶224的FAS代理228可以继续与主干层的FAS代理208-1-208-n通信。
FAS代理可以相互通信,以确定哪个FAS代理将是主要FAS代理。在某些情况下,FAS代理可以通过独立的管理信道进行通信。例如,FAS代理可以通过独立的管理信道建立VLAN,以建立与和由FAS代理管理的网络操作分离的其他FAS代理的通信。由于FAS代理运行冗余网络管理操作,所以控制中心可能不必分配外部主机和/或服务器来管理冗余或网络操作(因为冗余和网络操作由FAS代理管理)。
通过在由FAS代理管理的单个设备上执行命令,控制中心管理员可以在整个光纤网络上执行命令。FAS代理可以识别对主要FAS代理的命令。主要FAS代理可以认证该命令并将该命令传播给其他FAS代理。然后,其他FAS代理可以在这些FAS代理管理的设备上执行该命令。对等选举协议(例如,通过VLAN)可以在架构网络内提供同步。在某些情况下,FAS代理可以使用状态机来管理配置和命令的同步。
图3描绘了根据本公开的方面的用于选择主要FAS代理的过程的示例。在框304初始化FAS代理的过程。FAS代理可以在第一次被提供时(例如,FAS代理第一次在网络设备上执行)或者当网络设备被添加到架构(或任何其他类型的网络)时被初始化。例如,当网络设备被添加到网络时,已经在网络设备上执行的FAS代理可以被初始化。在框304,FAS代理可以基于FAS代理在其上执行的网络设备的特性来确定优先级值。优先级值可以基于网络设备的一个或多个性能度量,包括但不限于当前可用的处理资源(例如,存储器和/或处理器资源)、网络设备所管理的一个或多个设备的吞吐量、带宽、信号质量、网络设备所管理的设备数量、与其他网络设备的物理接近度、或其组合等。
FAS代理可以将其优先级值与当前优先级值进行比较。当前优先级值可以是当前主要FAS代理的优先级值。如果FAS代理确定网络设备的优先级值高于当前优先级值,则过程继续到框308。如果FAS代理确定网络设备的优先级值低于当前优先级值,则该过程继续到框320,在框320,FAS代理可以启动定时器预定的时间间隔(例如,n秒)并等待。
在框308,响应于确定FAS代理的优先级值高于当前优先级值,FAS代理声明主要FAS代理的角色。当前优先级值可以被设置为FAS代理的优先级值。当预定时间间隔到期时(例如,每i秒),FAS代理可以发送优先级控制分组。优先级控制分组可以通过由架构网络的FAS代理建立的VLAN来传输。优先级控制分组可以向在架构网络中执行的其他FAS代理提供该FAS代理是当前主要FAS代理的指示。
FAS代理然后可以执行两个并行过程。在第一过程中,FAS代理可以将FAS代理的优先级值与当前优先级值进行比较。如果FAS代理的优先级大于或等于当前优先级值,则该过程等待预定的时间间隔并返回到框208。只要FAS代理的优先级值大于或等于当前优先级值,就可以重复该过程。
(现在的)主要FAS代理然后可以继续到框312,在框312中,FAS执行主要FAS代理的角色(例如,使架构网络内的网络设备的运行与其他FAS代理同步)。在框312,主要FAS代理可以每x秒发送一次keep_alive控制分组。keep_alive控制分组可以包括主要FAS代理的网络设备的当前配置的指示(应该是架构网络的每个网络设备的配置)。在其他网络设备上执行的FAS代理然后可以确定网络设备是否正在执行keep_alive控制分组中指示的配置版本。如果是这样,那么这些FAS代理可以不执行任何附加处理。如果FAS代理确定它在其上执行的网络设备没有执行由keep_alive控制分组标识的配置版本,则特定FAS代理可以获取当前配置版本。
在某些情况下,架构网络可以运行拉取模型。在这些情况下,特定的FAS代理可以使用keep_alive控制分组来确定从哪里获取当前配置版本。例如,keep_alive控制分组可以包括特定FAS代理可以从中获得当前配置版本的控制库或储存库的标识。该特定FAS代理可以向主要FAS代理发送控制分组,指示该特定FAS代理正在更新该特定FAS代理在其上执行的网络设备的配置。特定FAS代理可以向主要FAS代理发送另一个控制分组,指示网络设备的配置版本现在是最新的。在推送模型中,特定FAS代理可以从主要FAS代理接收当前配置版本(例如,在keep_alive控制分组中,根据来自特定FAS代理的请求,等等)。
主要FAS代理可以周期性地从其他FAS代理接收优先级值。例如,每个FAS代理可以在预定的时间间隔内(例如,根据框320,每n秒),在接收到用户输入时,和/或在检测到事件发生时(例如,网络拓扑改变,诸如新设备被添加到架构网络或设备被从架构网络移除,吞吐量的预定改变,带宽的预定改变,处理资源的预定改变,信号或信道质量的预定改变,其组合,等等),发送该FAS代理的优先级值。在一些情况下,当接收到用户输入和/或检测到事件发生时,主要FAS代理也可以以预定的时间间隔更新其优先级值。
如果主要FAS代理的优先级值大于接收到的优先级值,则主要FAS代理可以继续每x秒发送一次keep_alive控制分组。如果主要FAS代理的优先级值不大于任何接收到的优先级值,则两个并行过程可以分别停止处理框308和312。例如,第一并行过程可以停止执行框308,并继续到框320,其中FAS代理可以启动定时器(例如,长度为n秒)并等待。第二并行过程可以停止执行框312,并继续到框316。
在框316,主要FAS代理可以向具有最高优先级值的FAS代理发送m_yield控制分组。在一些情况下,主要FAS代理可以将m_yield控制分组发送到架构网络中的每个FAS代理,使得每个FAS代理然后可以期望来自将成为新的主要FAS代理的FAS代理的新的主要控制分组。然后,可以修改主要FAS代理的指定,以去除主要的角色(例如,主要FAS代理变成常规FAS代理)。(现在非主要)FAS代理的过程继续到框320。在一些情况下,第二并行过程可以与第一并行过程同时到达框320。FAS代理的两个并行过程然后可以合并成单个过程(例如,并行过程之一可以被终止)。
在一些情况下,在框320,在定时器到期时(例如,n秒后),FAS代理可以生成新的优先级值。或者,FAS代理可以在定时器的时间间隔期间(例如,在定时器到期之前)生成新的优先级值。或者,FAS代理可以保留先前的优先级值。例如,自FAS代理上次生成优先级水平以来,FAS代理在其上执行的架构网络和/或网络设备没有改变,FAS代理可以继续使用该优先级水平用于将来的主要FAS代理确定。
FAS代理然后可以将FAS代理的优先级值与当前主要FAS代理的优先级值进行比较。如果FAS代理的优先级值大于当前主要FAS代理的优先级值,则过程返回到框308。FAS代理成为主要FAS代理,并向先前的主要FAS代理发送主要控制分组,指示该FAS代理是新的主要FAS代理。如果FAS代理的优先级值大于当前主要FAS代理的优先级值,则该过程保持在框320。FAS代理重启定时器(例如,对应于n秒的时间间隔)并等待。当定时器到期时(例如,n秒后),FAS代理可以再次确定FAS代理的优先级值是否大于当前主要FAS代理的优先级值。在框320的定时器可以无限重复,直到在预定时间间隔到期时,FAS代理确定FAS代理的优先级值大于当前主要FAS代理的优先级值。
图4描绘了根据本公开的方面的用于管理网络设备的架构的配置的过程的示例。FAS代理可以同步架构网络的网络设备的配置状态。在某些情况下,FAS代理可以使用状态机,该状态机将当前配置表征为离散状态。对配置的任何改变都可以被状态机表征为新状态,对配置的改变被标识为从先前状态转换到新状态的手段。FAS代理可以在本地(例如,在每个FAS代理中)或在储存库中存储改变的标识。在运行旧配置状态的网络设备上执行的FAS代理可以通过实现对配置变化的标识来升级到当前状态。该FAS代理可以从在运行当前状态的网络设备上执行的FAS代理(例如,诸如主要FAS代理或已经升级的代理)或从储存库中获得对配置的改变的标识。
可选地,网络设备的配置可以被分配版本标识符。当配置改变时,配置的版本标识符可以递增以指示新配置。FAS代理可以用每个FAS代理和/或在FAS代理可访问的储存库中存储配置的改变的标识。在具有旧版本标识符的网络设备上运行的FAS代理可以通过从已经升级的FAS代理或从储存库中获得配置的改变的标识来升级到当前版本标识符。此外,如果当前配置故障,则FAS代理通过使用改变的标识回退(例如,递减)版本标识符来撤销对修改的改变。对配置的每次改变都可以导致版本标识符增加预定的量。结果,FAS代理可以根据它在其上运行的网络设备的当前版本标识符和与另一个网络设备相关联的递增的版本标识符之间的差异来确定配置可能已经被改变的程度。
该过程可以从(在步骤1)在网络设备上运行的主要FAS代理保留主要角色(例如,等待处理来自另一个FAS代理或来自用户设备的输入)开始。在步骤2,网络设备2可以接收命令行接口(CLI)命令。CLI命令可以从用户设备接收,并且对应于对网络设备2的配置的修改。在网络设备2上执行的FAS代理可以在修改被实现之前检测到该修改,并且认证修改。认证修改可以包括确定修改是从经认证的用户设备和/或经认证的用户(例如,具有适当凭证的网络管理员)接收的。替代地或附加地,认证修改还可以包括确定该修改不会中断通信到达网络内的设备(例如,该修改不会破坏网络)。以这种方式认证修改可以包括例如根据先前的配置、根据修改的模拟、根据确认(例如,诸如根据用户输入等)、根据散列值等来确定修改不会中断网络的运行。
在步骤3,网络设备2的FAS代理可以将修改的标识转发给网络设备2的主要FAS代理。在步骤4,主要FAS代理可以认证修改。主要FAS代理可以以与上面结合网络设备2的FAS代理描述的相同方式来认证修改。在一些情况下,主要FAS代理可以代替网络设备2的FAS代理来认证修改。在其他情况下,主要FAS代理可以在网络设备2的FAS代理认证了修改之后认证FAS代理。在又一些情况下,主要FAS代理和网络设备2的FAS代理可以并行认证修改。为了被认证,修改可以由主要FAS代理和网络设备2的FAS代理二者来认证。可选地,如果主要FAS代理或网络设备2的FAS代理认证了修改,则修改可以被认证。
如果修改被认证,则(在步骤5)主要FAS代理实现对网络设备1的配置的修改,并更新配置的状态(例如,通过状态机)。或者,如果使用版本标识符,则主要FAS代理递增网络设备1的配置的版本标识符。主要FAS代理可以将修改存储在网络的其他FAS代理可以访问的储存库中。
在步骤6,主要FAS代理可以广播指示网络设备1的配置的当前状态(或版本标识符)的keep_alive控制分组。连接到主要FAS代理的FAS代理可以接收keep_alive控制分组。如果在网络中运行的其他FAS代理没有连接到主要FAS代理,则连接到主要FAS代理的FAS代理可以将keep_alive控制分组转发到这些FAS代理。
在步骤7,网络设备2的FAS代理(以及在网络内运行的任何其他FAS代理)在接收到keep_alive控制分组时,可以获得对配置的修改。在一些情况下,网络设备2的FAS代理可以从在运行更新的配置(例如,基于与keep_alive控制分组匹配的状态或版本标识符)的网络设备上执行的FAS代理(诸如主要FAS代理)获得修改。或者,网络设备2的FAS代理可以使用状态或版本标识符在储存库执行查询。储存库可以将修改返回给发出请求的FAS代理。FAS代理然后可以实现对配置的修改,并且将状态(或版本标识符)与网络的其他网络设备同步。
图5描绘了根据本公开的方面的用于更新网络设备的架构的配置的过程的示例。在框504,架构网络的第一网络设备可以从第二网络设备接收命令的标识。该命令可以对应于第二网络设备的当前配置的修改。第一网络设备可以运行与第二网络设备相同的当前配置。在一些情况下,第二网络设备可以通过命令行接口从用户设备接收命令。
该架构网络可以包括两个或更多个网络设备(例如,第一网络设备和第二网络设备以及可选的任何数量的附加网络设备)。每个网络设备可以包括便于一个或多个其他设备的通信的设备。网络设备的例子可以包括但不限于路由器、网关、交换机、服务器等。
第一网络设备可以通过虚拟局域网从第二网络设备接收命令。例如,架构网络的网络设备可以各自包括管理相应网络设备的运行的管理信道。在网络设备上执行的FAS代理可以通过管理信道建立VLAN。VLAN可以与网络设备促进通信的设备相隔离。也就是说,VLAN可以不由网络设备为其提供通信服务的设备所使用的相同通信信道来运行。VLAN可以仅可用于管理架构网络的运行。
在框508,在第一网络设备上执行的第一FAS代理可以认证该命令。认证修改可以包括确定修改是从经认证的用户设备和/或经认证的用户(例如,具有适当凭证的网络管理员)接收的。替代地或附加地,认证修改还可以包括确定该修改不会中断通信到达网络内的设备(例如,该修改不会破坏网络)。第一FAS代理可以通过例如分析先前的配置、模拟修改、接收确认(例如,诸如来自用户输入等)、将散列值与存储的散列值进行匹配等,来确定该命令不会中断架构网络。如果该命令未被认证,则该命令可被丢弃,并且该过程可返回到框504并等待接收新的命令。如果命令被认证,则过程继续到框512。
在框512,第一FAS代理可以基于该命令导致修改第一网络设备的当前配置。例如,修改第一网络设备的当前配置定义了第一网络设备的新配置。在一些情况下,第一网络设备可以测试新配置。例如,测试新配置可以包括执行单元测试、向预定设备(例如,诸如用户设备等)发送分组以及监视响应、执行测试应用等。如果测试失败,则第一网络设备的配置可以从新配置回滚到先前的配置。
在框516,可以存储命令的标识。在一些情况下,命令的标识可以由第一FAS代理(可选地,导致命令在相应网络设备上实现的每个FAS代理)存储。在其他情况下,命令可以存储在架构网络的网络设备可访问的控制库中。FAS代理可以使用与命令相关联的状态(例如,诸如下面描述的新状态)和/或命令的标识来查询控制库,以从控制库检索命令。
在框520,可以更新与第一网络设备的当前配置相关联的状态标识符,以对应于与新配置相关联的新状态标识符。状态标识符表示网络设备的配置的状态。由于每个网络设备的配置可以是有限属性的组合,属性(例如配置)的唯一组合的数量也可以是有限的。结果,网络设备的特定配置可以被表示为状态机的有限状态集中的一个。当网络设备的配置改变时,配置的状态也改变(与正在进行的改变相称,并且对应于属性的新组合)。代表网络设备的旧配置的状态的状态标识符可以被更新为代表新状态的新状态标识符。可以包括在构成配置的属性的组合中的属性的示例包括但不限于主机名、控制台密码、启用或禁用特定端口、默认网关的分配、启用管理信道、互联网协议地址配置、子网掩码配置等。
状态标识符可用于查询控制库(或另一个FAS代理)。控制库可以返回一个或多个命令的标识,这些命令可以由网络设备执行以使得网络设备的当前配置被升级到新配置。在一些情况下,查询还可以包括状态标识符(例如,在对配置进行任何修改之前与当前状态相关联)。控制库可以使用与当前状态相关联的状态标识符和新状态标识符来返回命令,这些命令可以将运行任何配置的网络设备升级到新配置。
在一些情况下,一个或多个命令可以对应于由第二网络设备接收的命令。在其他情况下,可以基于生成查询的设备的特性来识别一个或多个命令。例如,一些网络设备可以运行与其他网络设备不同的硬件和/或固件。尽管每个网络设备可以根据相同的配置来配置,但是导致网络设备运行新配置的命令对于不同的网络设备可以是不同的。结果,控制库可以生成查询响应,该查询响应包括一个或多个命令的标识,当由发出请求的网络设备执行时,这些命令可以使发出请求的网络设备升级到与其他网络设备相同的新配置。
在框524,在第一网络设备上执行的第一FAS代理可以通过VLAN向在第二网络设备上执行的第二FAS代理发送包括新状态标识符的控制分组。当第二FAS代理接收到控制分组时,第二FAS代理可以检索命令的标识。在某些情况下,第二FAS代理可以向第一FAS代理(或者已经实施了该命令的另一个FAS代理)请求命令的标识。在其他情况下,第二FAS代理可以使用新状态标识符查询控制库。然后,第二FAS代理可以在第二网络设备上实施该命令,以将第二网络设备的配置升级到新配置。
如果第二FAS代理确定新配置不可运行(例如,检测到预定数量的分组被丢弃、通信故障、软件故障等)。第二FAS代理可以向第一FAS代理发送通信,指示架构网络的配置应该回滚到先前的配置。第一FAS代理可以认证该通信,并且发送具有先前的已知良好配置的状态标识符的新的控制分组。新的控制分组可以使得架构网络的其他网络设备也恢复到先前的已知良好配置,使得架构网络的配置可以是一致的。
在一些情况下,如果第一FAS代理检测到与架构网络的网络设备相关联的连接故障,则第一FAS代理可以不修改第一网络设备的配置(或者允许修改架构网络的任何网络设备)。例如,如果在第一FAS代理检测到网络设备中的连接故障之后接收到命令,则第一网络设备可以存储该命令。一旦受影响的网络设备的连接被恢复,第一FAS代理可以检索该命令并实施该命令(例如,执行框508-524)。或者,第一FAS代理可以丢弃该命令。一旦受影响的网络设备的连接被恢复,第一网络设备可以接受命令来修改架构网络的网络设备的配置。
以上描述中给出了具体细节,以提供对实施例的全面理解。然而,应该理解,没有这些具体细节也可以实施这些实施例。例如,电路可以在框图中示出,以免不必要的细节模糊实施例。在其他情况下,为了避免模糊实施例,公知的电路、过程、算法、结构和技术可以在没有不必要的细节的情况下示出。
上述技术、框、步骤和装置的实现可以以各种方式完成。例如,这些技术、框、步骤和装置可以用硬件、软件或其组合来实现。对于硬件实现,处理单元可以在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGAs)、处理器、控制器、微控制器、微处理器、被设计成执行上述功能的其他电子单元和/或其组合中实现。
此外,注意,实施例可以被描述为被描绘为流程图、流程框图、游动图、控制流程框图、结构图或框图的过程。尽管描绘可以将操作描述为顺序过程,但是许多操作可以并行或并发地执行。此外,可以重新安排操作的顺序。当过程的操作完成时,该过程被终止,但是可以有图中没有包括的附加步骤。过程可以对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,它的终止对应于该函数返回到调用函数或主函数。
此外,实施例可以由硬件、软件、脚本语言、固件、中间件、微代码、硬件描述语言和/或其任意组合来实现。当在软件、固件、中间件、脚本语言和/或微码中实现时,执行必要任务的程序代码或代码段可以存储在诸如存储介质的机器可读介质中。代码段或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、脚本、类或指令、控制结构和/或程序语句的任何组合。通过传递和/或接收信息、控制、自变量、参数和/或存储器内容,代码段可以耦合到另一个代码段或硬件电路。信息、自变量、参数、控制等可以通过任何合适的方式传递、转发或传输,包括存储器共享、消息传递、令牌传递、网络传输等。
对于固件和/或软件实现,这些方法可以用执行这里描述的功能的模块(例如,程序、函数等)来实现。任何有形地包含指令的机器可读介质都可以用于实现这里描述的方法。例如,软件代码可以存储在存储器中。存储器可以在处理器内部或处理器外部实现。如这里所使用的,术语“存储器”指任何类型的长期、短期、易失性、非易失性或其他存储介质,并且不限于任何特定类型的存储器或存储器数量,或者存储存储器的介质类型。
此外,如本文所公开的,术语“存储介质”可以表示用于存储控制的一个或多个存储器,包括只读存储器(ROM)、随机存取存储器(RAM)、磁性RAM、磁心存储器、磁盘存储介质、光存储介质、闪存设备和/或用于存储信息的其他机器可读介质。术语“机器可读介质”包括但不限于便携式或固定存储设备、光存储设备和/或能够存储包含或携带指令和/或控制的各种其他存储介质。
虽然上面已经结合特定的装置和方法描述了本公开的原理,但是应该清楚地理解,该描述仅仅是作为示例进行的,而不是作为对本公开范围的限制。
Claims (20)
1.一种方法,包括:
在架构网络中的第一网络设备处从架构网络中的第二网络设备接收修改第二网络设备的当前配置的命令的标识,其中第一网络设备是根据当前配置来配置的;
由在第一网络设备上执行的第一架构可用性和同步(FAS)代理认证所述命令;
由第一网络设备响应于认证所述命令,基于所述命令修改第一网络设备的当前配置,其中修改第一网络设备的当前配置定义了新配置;
存储所述命令的标识;
响应于修改第一网络设备的当前配置,更新与第一网络设备的当前配置相关联的状态标识符,以对应于与所述新配置相关联的新状态标识符;以及
由第一FAS代理向在架构网络的第二网络设备上执行的第二FAS代理发送包括新状态标识符的控制分组,其中在接收到所述控制分组时,第二FAS代理检索所述命令的标识,并且在第二网络设备上实施所述命令,以将第二网络设备的当前配置升级到所述新配置。
2.如权利要求1所述的方法,其中所述控制分组通过虚拟局域网传输,所述虚拟局域网与由第一网络设备管理的网络连接并行运行。
3.如权利要求1所述的方法,进一步包括:
由第一网络设备从架构网络的第三网络设备接收第二命令的标识;
由第一网络设备确定第二命令无效;以及
防止第二命令改变所述新配置。
4.如权利要求1所述的方法,进一步包括:
由第一网络设备检测所述新配置中的故障;
响应于在所述新配置中检测到故障,自动将第一网络设备的所述新配置恢复到先前配置;以及
由第一网络设备发送第二控制分组,第二控制分组包括与先前的已知良好配置相关联的状态标识符的标识。
5.如权利要求1所述的方法,其中从架构网络中移除架构网络的运行与所述新配置不同的配置的网络设备。
6.如权利要求1所述的方法,进一步包括:
由在第一网络设备上执行的第一FAS代理检测FAS网络的第四网络设备的连接故障;以及
当连接故障持续时,由在第一网络设备上执行的第一FAS代理防止对第一网络设备的所述新配置的修改。
7.如权利要求1所述的方法,进一步包括:
由在第一网络设备上执行的第一FAS代理接收包括与架构网络的新网络设备相关联的优先级值的优先级分组,其中与新网络设备的FAS代理相关联的优先级值大于与第一FAS代理相关联的优先级值;以及
由第一FAS代理通过架构网络广播第三控制分组,第三控制分组指示第一网络设备正在向新网络设备让出主网络设备状态。
8.一种系统,包括:
一个或多个处理器;以及
存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
在架构网络中的第一网络设备处从架构网络中的第二网络设备接收修改第二网络设备的当前配置的命令的标识,其中第一网络设备是根据当前配置来配置的;
由在第一网络设备上执行的第一架构可用性和同步(FAS)代理认证所述命令;
由第一网络设备响应于认证所述命令,基于所述命令修改第一网络设备的当前配置,其中修改第一网络设备的当前配置定义了新配置;
存储所述命令的标识;
响应于修改第一网络设备的当前配置,更新与第一网络设备的当前配置相关联的状态标识符,以对应于与所述新配置相关联的新状态标识符;以及
由第一FAS代理向在架构网络的第二网络设备上执行的第二FAS代理发送包括新状态标识符的控制分组,其中在接收到所述控制分组时,第二FAS代理检索所述命令的标识,并且在第二网络设备上实施所述命令,以将第二网络设备的当前配置升级到所述新配置。
9.如权利要求8所述的系统,其中所述控制分组通过虚拟局域网传输,所述虚拟局域网与由第一网络设备管理的网络连接并行运行。
10.如权利要求8所述的系统,进一步包括:
由第一网络设备从架构网络的第三网络设备接收第二命令的标识;
由第一网络设备确定第二命令无效;以及
防止第二命令改变所述新配置。
11.如权利要求8所述的系统,进一步包括:
由第一网络设备检测所述新配置中的故障;
响应于在所述新配置中检测到故障,自动将第一网络设备的所述新配置恢复到先前配置;以及
由第一网络设备发送第二控制分组,第二控制分组包括与先前的已知良好配置相关联的状态标识符的标识。
12.如权利要求8所述的系统,其中从架构网络中移除架构网络的运行与所述新配置不同的配置的网络设备。
13.如权利要求8所述的系统,进一步包括:
由在第一网络设备上执行的第一FAS代理检测FAS网络的第四网络设备的连接故障;以及
当连接故障持续时,由在第一网络设备上执行的第一FAS代理防止对第一网络设备的所述新配置的修改。
14.如权利要求8所述的系统,进一步包括:
由在第一网络设备上执行的第一FAS代理接收包括与架构网络的新网络设备相关联的优先级值的优先级分组,其中与新网络设备的FAS代理相关联的优先级值大于与第一FAS代理相关联的优先级值;以及
由第一FAS代理通过架构网络广播第三控制分组,第三控制分组指示第一网络设备正在向新网络设备让出主网络设备状态。
15.一种存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
在架构网络中的第一网络设备处从架构网络中的第二网络设备接收修改第二网络设备的当前配置的命令的标识,其中第一网络设备是根据当前配置来配置的;
由在第一网络设备上执行的第一架构可用性和同步(FAS)代理认证所述命令;
由第一网络设备响应于认证所述命令,基于所述命令修改第一网络设备的当前配置,其中修改第一网络设备的当前配置定义了新配置;
存储所述命令的标识;
响应于修改第一网络设备的当前配置,更新与第一网络设备的当前配置相关联的状态标识符,以对应于与所述新配置相关联的新状态标识符;以及
由第一FAS代理向在架构网络的第二网络设备上执行的第二FAS代理发送包括新状态标识符的控制分组,其中在接收到所述控制分组时,第二FAS代理检索所述命令的标识,并且在第二网络设备上实施所述命令,以将第二网络设备的当前配置升级到所述新配置。
16.如权利要求15所述的非暂态计算机可读介质,其中所述控制分组通过虚拟局域网传输,所述虚拟局域网与由第一网络设备管理的网络连接并行运行。
17.如权利要求15所述的非暂态计算机可读介质,进一步包括:
由第一网络设备从架构网络的第三网络设备接收第二命令的标识;
由第一网络设备确定第二命令无效;以及
防止第二命令改变所述新配置。
18.如权利要求15所述的非暂态计算机可读介质,进一步包括:
由第一网络设备检测所述新配置中的故障;
响应于在所述新配置中检测到故障,自动将第一网络设备的新配置恢复到先前配置;以及
由第一网络设备发送第二控制分组,第二控制分组包括与先前的已知良好配置相关联的状态标识符的标识。
19.如权利要求15所述的非暂态计算机可读介质,进一步包括:
由在第一网络设备上执行的第一FAS代理检测FAS网络的第四网络设备的连接故障;以及
当连接故障持续时,由在第一网络设备上执行的第一FAS代理防止对第一网络设备的所述新配置的修改。
20.如权利要求15所述的非暂态计算机可读介质,进一步包括:
由在第一网络设备上执行的第一FAS代理接收包括与架构网络的新网络设备相关联的优先级值的优先级分组,其中与新网络设备的FAS代理相关联的优先级值大于与第一FAS代理相关联的优先级值;以及
由第一FAS代理通过架构网络广播第三控制分组,第三控制分组指示第一网络设备正在向新网络设备让出主网络设备状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/147,327 | 2021-01-12 | ||
US17/147,327 US11870646B2 (en) | 2021-01-12 | 2021-01-12 | Fabric availability and synchronization |
PCT/US2022/011944 WO2022155121A1 (en) | 2021-01-12 | 2022-01-11 | Fabric availability and synchronization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116762318A true CN116762318A (zh) | 2023-09-15 |
Family
ID=80222500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280009743.8A Pending CN116762318A (zh) | 2021-01-12 | 2022-01-11 | 架构可用性和同步 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11870646B2 (zh) |
EP (1) | EP4278580A1 (zh) |
JP (1) | JP2024505147A (zh) |
CN (1) | CN116762318A (zh) |
WO (1) | WO2022155121A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11671282B2 (en) * | 2021-05-24 | 2023-06-06 | Hewlett Packard Enterprise Development Lp | Method and system for dynamically activating virtual networks in a distributed tunnel fabric |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892230B1 (en) * | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
US7069334B2 (en) * | 2000-12-27 | 2006-06-27 | Intel Corporation | Image restoration and reconfiguration support for crashed devices |
US6954436B1 (en) * | 2001-02-28 | 2005-10-11 | Extreme Networks, Inc. | Method and apparatus for selecting redundant routers using tracking |
US7873984B2 (en) * | 2002-01-31 | 2011-01-18 | Brocade Communications Systems, Inc. | Network security through configuration servers in the fabric environment |
US7484021B2 (en) * | 2005-10-27 | 2009-01-27 | Cisco Technology, Inc. | Technique for implementing virtual fabric membership assignments for devices in a storage area network |
US8391300B1 (en) * | 2008-08-12 | 2013-03-05 | Qlogic, Corporation | Configurable switch element and methods thereof |
GB2488268B (en) * | 2009-12-10 | 2017-10-04 | Ibm | A method and system for managing configurations of system management agents in a distributed environment |
US9154577B2 (en) * | 2011-06-06 | 2015-10-06 | A10 Networks, Inc. | Sychronization of configuration file of virtual application distribution chassis |
US8850068B2 (en) * | 2012-05-03 | 2014-09-30 | Futurewei Technologies, Inc. | United router farm setup |
US9852199B2 (en) | 2012-05-10 | 2017-12-26 | Oracle International Corporation | System and method for supporting persistent secure management key (M—Key) in a network environment |
US9513894B2 (en) * | 2012-08-31 | 2016-12-06 | Oracle International Corporation | Database software upgrade using specify-validate-execute protocol |
US9356827B2 (en) * | 2013-02-18 | 2016-05-31 | Comcast Cable Communications, Llc | Data center node management |
US20150095880A1 (en) * | 2013-09-27 | 2015-04-02 | Salesforce.Com, Inc. | Facilitating software development tools on mobile computing devices in an on-demand services environment |
US9667496B2 (en) * | 2013-12-24 | 2017-05-30 | International Business Machines Corporation | Configuration updates across peer storage systems |
US9553788B1 (en) * | 2014-06-23 | 2017-01-24 | Amazon Technologies, Inc. | Monitoring an interconnection network |
US9858104B2 (en) | 2014-09-24 | 2018-01-02 | Pluribus Networks, Inc. | Connecting fabrics via switch-to-switch tunneling transparent to network servers |
US9836476B2 (en) * | 2014-09-25 | 2017-12-05 | Netapp, Inc. | Synchronizing configuration of partner objects across distributed storage systems using transformations |
US20160112252A1 (en) | 2014-10-15 | 2016-04-21 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US9628407B2 (en) * | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US9626177B1 (en) * | 2015-09-11 | 2017-04-18 | Cohesity, Inc. | Peer to peer upgrade management |
JP6784291B2 (ja) * | 2016-04-15 | 2020-11-11 | 日本電気株式会社 | ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラム |
US10146527B2 (en) * | 2016-10-12 | 2018-12-04 | Samsung Electronics Co., Ltd. | Method and apparatus for using BMC as proxy for NVME over fabrics device firmware upgrade |
US10452377B2 (en) * | 2016-10-24 | 2019-10-22 | Vmware, Inc. | Simulating end-to-end upgrade process in production environment |
US10887173B2 (en) * | 2016-12-21 | 2021-01-05 | Juniper Networks, Inc. | Communicating state information in distributed operating systems |
US10862809B2 (en) * | 2017-05-19 | 2020-12-08 | Advanced Micro Devices, Inc. | Modifying carrier packets based on information in tunneled packets |
US10250497B1 (en) * | 2017-06-07 | 2019-04-02 | Juniper Networks, Inc. | Avoiding false duplicate network address detection in virtual router redundancy protocol (VRRP) scenarios |
US10819577B2 (en) * | 2017-07-31 | 2020-10-27 | Cisco Technology, Inc. | Node update in a software-defined network |
US11336716B2 (en) | 2017-08-31 | 2022-05-17 | Oracle International Corporation | System and method for supporting heterogeneous and asymmetric dual rail fabric configurations in a high performance computing environment |
US10693775B2 (en) * | 2017-11-14 | 2020-06-23 | Versa Networks, Inc. | Method and system for providing automatic router assignment in a virtual environment |
US10678529B1 (en) * | 2017-11-30 | 2020-06-09 | Amazon Technologies, Inc. | Secure device firmware installation |
WO2019217934A1 (en) * | 2018-05-11 | 2019-11-14 | Lattice Semiconductor Corporation | Secure boot systems and methods for programmable logic devices |
US11036615B2 (en) * | 2018-12-06 | 2021-06-15 | Microsoft Technology Licensing, Llc | Automatically performing and evaluating pilot testing of software |
US11418399B2 (en) | 2019-04-30 | 2022-08-16 | Cisco Technology, Inc. | Multi-fabric deployment and management platform |
US10917378B1 (en) * | 2019-05-21 | 2021-02-09 | Juniper Networks, Inc. | Facilitating communication between network devices of a virtual router redundancy protocol (VRRP) group |
US11303517B2 (en) * | 2020-01-07 | 2022-04-12 | International Business Machines Corporation | Software patch optimization |
-
2021
- 2021-01-12 US US17/147,327 patent/US11870646B2/en active Active
-
2022
- 2022-01-11 WO PCT/US2022/011944 patent/WO2022155121A1/en active Application Filing
- 2022-01-11 JP JP2023541953A patent/JP2024505147A/ja active Pending
- 2022-01-11 EP EP22703121.8A patent/EP4278580A1/en active Pending
- 2022-01-11 CN CN202280009743.8A patent/CN116762318A/zh active Pending
-
2023
- 2023-11-30 US US18/525,509 patent/US20240097979A1/en active Pending
- 2023-11-30 US US18/525,517 patent/US20240106708A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4278580A1 (en) | 2023-11-22 |
US20220224598A1 (en) | 2022-07-14 |
US20240097979A1 (en) | 2024-03-21 |
WO2022155121A1 (en) | 2022-07-21 |
US11870646B2 (en) | 2024-01-09 |
US20240106708A1 (en) | 2024-03-28 |
JP2024505147A (ja) | 2024-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111200628B (zh) | 用于分布式计算部署的网络控制器子集群 | |
US11070431B2 (en) | System and method for network validation architecture for clustered and federated storage systems | |
US20180337892A1 (en) | Scalable proxy clusters | |
US11201782B1 (en) | Automation of maintenance mode operations for network devices | |
US8429255B1 (en) | Determining reorder commands for remote reordering of policy rules | |
EP3605968B1 (en) | N:1 stateful application gateway redundancy model | |
US11265217B2 (en) | Distributed ledger for configuration synchronization across groups of network devices | |
Sidki et al. | Fault tolerant mechanisms for SDN controllers | |
US9935848B2 (en) | System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network | |
KR100812374B1 (ko) | 클러스터 시스템에서 프로토콜 네트워크 장애 관리 시스템및 방법 | |
CN112311583B (zh) | 意图感知情境设备配置备份和恢复 | |
US8880932B2 (en) | System and method for signaling dynamic reconfiguration events in a middleware machine environment | |
US11403319B2 (en) | High-availability network device database synchronization | |
US20240106708A1 (en) | Fabric availability and synchronization | |
US9912592B2 (en) | Troubleshooting openflow networks | |
US11907253B2 (en) | Secure cluster pairing for business continuity and disaster recovery | |
CN114726724B (zh) | 使用网络变化验证的基于意图的组网 | |
CN114726737B (zh) | 使用分区用于可缩放性的基于意图的组网 | |
CN111953786A (zh) | 全网报文的录取系统、方法、装置、网络设备及存储介质 | |
US11902083B1 (en) | Techniques to provide a flexible witness in a distributed system | |
CN115460074B (zh) | 用于分布式计算部署的网络控制器子集群 | |
WO2022254517A1 (ja) | 通信システム及び通信制御方法 | |
WO2023158818A1 (en) | Network controller, failure injection communication protocol, and failure injection module for production network environment | |
CN117041055A (zh) | 一种RoCE-SAN无损存储网络的配置回滚方法、设备及介质 | |
CN116805945A (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 |