Wireless control and fabric link for high availability cluster nodes

Through wireless control and structural link technology, the problem of high-availability cluster node deployment cost and complexity is solved, and higher deployment flexibility and wireless coverage capabilities are achieved.

CN114466468BActive Publication Date: 2025-06-13HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210100054.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-06-13
Filing Date
2019-12-30
Publication Date
2025-06-13
Estimated Expiration
2039-12-30

AI Technical Summary

Technical Problem

The deployment cost and complexity of existing high availability cluster nodes, and physical network cables limit the physical location and flexibility of network devices.

Method used

Wireless control and structural link technology are adopted to establish control and structural links between high-availability cluster nodes through wireless channels, reducing dependence on physical cables and improving deployment flexibility.

Benefits of technology

Reduces the deployment cost and complexity of high-availability cluster nodes, improves deployment flexibility, and enhances wireless coverage of client devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114466468B_ABST
    Figure CN114466468B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to wireless control and fabric links for high-availability cluster nodes. A first network device in a high-availability cluster may be configured for a first wireless channel of a wireless control link. The first network device may establish a wireless control link with a second network device in the high-availability cluster using the first wireless channel. The first network device may be configured for a second wireless channel of a wireless fabric link. The first network device may establish a wireless fabric link with the second network device using the second wireless channel.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of a Chinese patent application with a national filing date of December 30, 2019, a national application number of 201911401465.7, and an invention title of "Wireless Control and Fabric Link for High-Availability Cluster Nodes". Technical Field

[0002] Embodiments of the present disclosure generally relate to the field of network services, and more particularly to wireless control and fabric links for high-availability cluster nodes. Background Art

[0003] A high-availability cluster may include multiple network devices that are linked or connected together to form a logical or virtual network device that is more resilient to failures than if the multiple network devices were configured separately. The multiple network devices in the high-availability cluster may share session information associated with routing engine sessions and / or user sessions, such that failures in the high-availability cluster can be mitigated through near-instantaneous failover and / or reversal of stateful network services. Summary of the Invention

[0004] According to some implementations, a method may include: configuring, by a first network device in a high-availability cluster, a first wireless channel for a wireless control link; establishing, by the first network device, a wireless control link with a second network device in the high-availability cluster using the first wireless channel; configuring, by the first network device, a second wireless channel for a wireless fabric link; and establishing, by the first network device, a wireless fabric link with the second network device using the second wireless channel.

[0005] In some embodiments, configuring the second wireless channel includes: configuring the second wireless channel based on establishing the wireless control link.

[0006] In some embodiments, the method further includes: synchronizing, based on establishing the wireless control link, a routing engine of the first network device and a routing engine of the second network device via the wireless control link.

[0007] In some embodiments, synchronizing the routing engine of the first network device and the routing engine of the second network device includes at least one of: transmitting, via the wireless control link, one or more heartbeat packets to the second network device, transmitting, via the wireless control link, information identifying a routing table to the second network device, or transmitting, via the wireless control link, routing protocol traffic to the second network device.

[0008] In some embodiments, the method further includes: configuring a first wireless channel to cause a first network device to restart; and wherein establishing a wireless control link with a second network device includes: after causing the first network device to restart, establishing a wireless control link with the second network device.

[0009] In some embodiments, the method further includes: configuring the first network device with: a cluster identifier associated with a high availability cluster, and a node identifier associated with the first network device.

[0010] In some embodiments, the method further includes: jointly establishing, via the wireless control link, a primary node for the high availability cluster and a secondary node for the high availability cluster with the second network device.

[0011] According to some implementations, the first network device may include one or more memories and one or more processors to configure a first wireless channel for a wireless control link, wherein the first network device is included in a high availability cluster; establish a wireless control link with a second network device in the high availability cluster using the first wireless channel; synchronize a routing engine of the first network device and a routing engine of the second network device via the wireless control link; configure a second wireless channel for a wireless fabric link, wherein the first wireless channel and the second wireless channel are different wireless channels; and establish a wireless fabric link with the second network device using the second wireless channel.

[0012] In some embodiments, the one or more processors are further configured to: transmit control traffic to the second network device via the wireless control link; and transmit network traffic to the second network device via the wireless fabric link.

[0013] In some embodiments, the control traffic includes at least one of the following: a heartbeat packet, information identifying a routing table, or routing protocol traffic.

[0014] In some embodiments, the first wireless channel and the second wireless channel are non-overlapping wireless channels.

[0015] In some embodiments, the first wireless channel, the second wireless channel, and one or more third wireless channels used for a wireless communication link between the first network device and one or more client devices are different wireless channels.

[0016] In some embodiments, the one or more processors, when establishing the wireless control link, are configured to: establish a first Internet Protocol Security (IPSec) tunnel associated with the wireless control link; and wherein establishing the wireless fabric link includes: establishing a second IPSec tunnel associated with the wireless fabric link.

[0017] In some embodiments, a wireless control link is associated with a control interface of a wireless physical interface module (PIM) included in a first network device; and a wireless fabric link is associated with a fabric interface of the wireless PIM.

[0018] According to some implementations, a system may include a first network device in a high-availability cluster, including a first wireless physical interface module (PIM); and a second network device in the high-availability cluster, including a second wireless PIM, wherein a first control interface of the first PIM and a second control interface of the second PIM are communicatively connected via a wireless control link, and wherein a first fabric interface of the first PIM and a second fabric interface of the second PIM are communicatively connected via a wireless fabric link.

[0019] In some embodiments, the wireless control link is associated with a first wireless channel; the wireless fabric link is associated with a second wireless channel; and the first wireless channel and the second wireless channel are different wireless channels.

[0020] In some embodiments, the wireless control link is configured with a first Internet Protocol Security (IPSec) tunnel; and the wireless fabric link is configured with a second IPSec tunnel.

[0021] In some embodiments, the first network device is a primary node in the high-availability cluster; and the second network device is a secondary node in the high-availability cluster.

[0022] In some embodiments, the first network device is configured as an entry point and an exit point for the high-availability cluster; and the second network device is configured to become the entry point and the exit point for the high-availability cluster if a failure associated with the first network device occurs.

[0023] In some embodiments, the first network device is configured as an entry point and an exit point for the high-availability cluster; the second network device is configured to become the entry point for the high-availability cluster if a failure associated with an entry interface of the first network occurs; and the second network device is configured to become the exit point for the high-availability cluster if a failure associated with an exit interface of the first network occurs. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figures 1A to 1F are diagrams of one or more example implementations described herein.

[0025] Figure 2 is a diagram of an example environment in which the systems and / or methods described herein may be implemented.

[0026] Figure 3A andFigure 3B is Figure 2 a diagram of an example component of one or more devices of

[0027] Figure 4 and Figure 5 is a flowchart of an example process for configuring wireless control and fabric links for high-availability cluster nodes. DETAILED DESCRIPTION

[0028] The following detailed description of example implementations refers to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements.

[0029] To form a high-availability cluster, multiple network devices (which may be referred to as cluster nodes in a high-availability cluster) may be linked and / or connected via multiple interfaces. A control interface may provide a control link through which cluster nodes may exchange control traffic to synchronize the routing engine sessions of the cluster nodes. A fabric interface may provide a fabric link through which cluster nodes may forward network traffic (e.g., traffic originating from and / or destined for client devices communicatively coupled to the high-availability cluster).

[0030] In some cases, the control link and the fabric link may be implemented via a physical network cable (such as an Ethernet cable, an optical fiber cable, etc.). Although physical network cables may provide high transmission rates and reliability, physical network cables increase the cost and complexity of deploying a high-availability cluster, reduce the flexibility in deploying a high-availability cluster (e.g., physical network cables may limit the physical placement of cluster nodes in an office building), etc.

[0031] Some implementations described herein provide network devices configured as high-availability cluster nodes with wireless control and fabric links. In some implementations, a network device (e.g., a high-availability cluster node) may include a wireless physical interface module (PIM), a wireless network interface controller (NIC), a wireless communication adapter, and / or another type of component that provides wireless communication capabilities. The network device may communicatively connect the wireless control interface to the wireless control interface of another network device in the high-availability cluster to establish a wireless control link through which control traffic may be exchanged. Additionally, the network device may communicatively connect the wireless fabric interface to the wireless fabric interface of another network device to establish a wireless fabric link through which network traffic may be exchanged. In this manner, the network devices in the high-availability cluster may be wirelessly connected, which reduces the cost and complexity of deploying a high-availability cluster. Additionally, the flexibility in deploying a high-availability cluster is increased because the physical location of the network devices is not restricted due to running physical network cables. Thus, the network devices may be placed more optimally (e.g., in an office building, across a campus, etc.), enabling increased wireless coverage of the high-availability cluster for client devices communicatively coupled to the high-availability cluster.

[0032] Figures 1A to 1F are diagrams of one or more example implementations 100 described herein. As shown in Figures 1A to 1F , example implementation(s) 100 may include multiple network devices, such as cluster node 1, cluster node 2, etc. In some implementations, example implementation(s) 100 may include a greater number of network devices and / or a greater number of high-availability clusters.

[0033] In some implementations, multiple network devices may be linked and / or connected together to form a high-availability cluster. In such a case, the multiple network devices may be linked and / or connected together to form a logical or virtual network device (which may be referred to as a chassis cluster) that is more resilient to failures than if the multiple network devices were configured separately. Multiple network devices in a high-availability cluster may share session information associated with a routing engine session and / or a user session, such that failures in the high-availability cluster can be mitigated by near-instantaneous failover and / or reversal of stateful network traffic. The high-availability cluster may be deployed in various settings, contexts, and / or locations, such as office branches, campuses, retail locations, etc.

[0034] As shown in Figure 1A , cluster node 1 and cluster node 2 (and other cluster nodes in the high-availability cluster) may be linked and / or connected via multiple wireless links, such as a wireless control link, a wireless fabric link, etc. Cluster node 1 and cluster node 2 may exchange control traffic (e.g., traffic that originates and / or terminates in the control plane or routing engine) via the wireless control link, and may forward network traffic (e.g., traffic to be forwarded by the data plane or forwarding engine of the cluster node) via the wireless fabric link.

[0035] Cluster node 1 and cluster node 2 may exchange control traffic via the wireless control link to form a unified control plane or routing engine for the high-availability cluster, to synchronize the configuration and kernel state of the control plane or routing engine to facilitate high availability of the interfaces and services of the high-availability cluster, etc. The control traffic may include, for example, routing engine session information, information identifying one or more routing tables associated with the routing engine (e.g., routing information base (RIB), forwarding information base (FIB), label information base (LIB), label forwarding instance base (LFIB), etc.), routing protocol traffic (e.g., border gateway protocol (BGP) traffic, open shortest path first (OSPF) traffic, routing information protocol (RIP) traffic, intermediate system to intermediate system (IS-IS) protocol traffic, etc.), active or heartbeat packets (e.g., packets that may be used to determine whether a cluster node has become unresponsive and / or whether an incident or failure associated with the cluster node has occurred), etc.

[0036] A wireless fabric link can allow cluster node 1 and cluster node 2 (and other cluster nodes in a high-availability cluster) to form a unified data plane or forwarding engine for the high-availability cluster. In this case, cluster node 1 and cluster node 2 can forward network traffic via the wireless fabric link (e.g., cluster node 1 can forward network traffic to cluster node 2 via the wireless fabric link and / or cluster node 2 can forward network traffic to cluster node 1 via the wireless fabric link). Network traffic (which may also be referred to as transport traffic) can include application traffic, web traffic, voice (e.g., Voice over Internet Protocol (VoIP)) traffic, and / or other types of traffic originating and / or terminating at client devices and / or other devices communicatively connected to the high-availability cluster.

[0037] In some implementations, each of cluster node 1 and cluster node 2 can include a wireless PIM (or wireless NIC, wireless communication adapter, and / or another type of component providing wireless communication capabilities). A wireless control link can communicatively connect the wireless control interface of cluster node 1 (e.g., provided by the wireless PIM of cluster node 1) and the wireless control interface of cluster node 2 (e.g., provided by the wireless PIM of cluster node 2). A wireless fabric link can communicatively connect the wireless fabric interface of cluster node 1 (e.g., provided by the wireless PIM of cluster node 1) and the wireless fabric interface of cluster node 2 (e.g., provided by the wireless PIM of cluster node 2).

[0038] The wireless control link and the wireless fabric link can be implemented over a wireless channel. For example, the wireless control link can be implemented over wireless channel 1, and the wireless fabric link can be implemented over wireless channel 2. A wireless channel can include a specific channel frequency and frequency upper and lower limits determined based on the channel width (e.g., 20 MHz, 40 MHz, etc.). For example, wireless channel 1 can have a channel frequency of 2.412 GHz and a channel width of 20 MHz, and thus can have a frequency upper limit of 2.422 GHz and a frequency lower limit of 2.402 GHz. In some implementations, the channel frequency can be associated with various licensed and / or unlicensed radio frequency (RF) ranges, such as the 2.4 GHz RF range (e.g., between 2.4 GHz and 2.5 GHz), the 5 GHz RF range (e.g., between 4.9 GHz and 6 GHz), the 60 GHz RF range (e.g., between 57 GHz and 64 GHz), etc. In some implementations, the channel frequency can be not associated with an RF range and / or any defined communication protocol channel.

[0039] In some implementations, wireless channel 1 and wireless channel 2 can be the same wireless channel or different wireless channels, can be non-overlapping wireless channels, can be half-duplex wireless channels or full-duplex wireless channels, etc. In some implementations, wireless channel 1 can be different and / or non-overlapping from the wireless channel used by cluster node 1 for wireless communication link with a client device. In some implementations, wireless channel 2 can be different and / or non-overlapping from the wireless channel used by cluster node 2 for wireless communication link with a client device. In some implementations, wireless channel 1 and wireless channel 2 can be different and / or non-overlapping from the wireless channel used by cluster node 1 for wireless communication link with a client device.

[0040] As shown in Figures 1B to 1F cluster node 1 and cluster node 2 (and other cluster nodes) can perform processes to form and / or establish a high-availability cluster to add and / or remove cluster nodes from the high-availability cluster, etc. As shown in Figure 1B and by reference numeral 102, each cluster node can be configured with a cluster identifier and a node identifier. The cluster identifier can be associated with the high-availability cluster and can identify the high-availability cluster from other high-availability clusters. In this case, cluster node 1 and cluster node 2 can be configured with the same cluster identifier such that cluster node 1 and cluster node 2 will be included in the same high-availability cluster. The cluster identifier can include a name, a numerical value, an alphanumeric string, etc.

[0041] The node identifier can be associated with the cluster node and specific to the cluster node such that the node identifier can identify the cluster node from other cluster nodes in the same high-availability cluster. In this case, cluster node 1 and cluster node 2 can be configured with different node identifiers. The node identifier can include a name, a numerical value, an alphanumeric string, etc.

[0042] In some implementations, a cluster node (e.g., cluster node 1, cluster node 2, etc.) can be configured with a cluster identifier and a node identifier for the cluster node based on a received instruction (e.g., a chassis cluster command and / or another type of instruction), which can be provided as an input to the cluster node (e.g., by a user via a console port and / or another means for inputting to the cluster node). In some implementations, the cluster node can automatically configure the cluster identifier and the node identifier for the cluster node based on an event (such as a restart or a reboot of the cluster node, etc.).

[0043] As shown in Figure 1CAs shown in

[0044] To automatically and jointly configure the wireless channel for the wireless control link, cluster node 1 can broadcast a signal or communication indicating the cluster identifier and node identifier configured for cluster node 1. Cluster node 2 can broadcast a signal or communication indicating the cluster identifier and node identifier configured for cluster node 2. Cluster node 1 can search or scan for cluster nodes that have been configured with the same cluster identifier as cluster node 1. Similarly, cluster node 2 can search or scan for cluster nodes that have been configured with the same cluster identifier as cluster node 2. In this case, cluster node 1 and cluster node 2 can identify each other and, thus, can jointly configure the wireless channel for the wireless control link based on determining that cluster node 1 and cluster node 2 are configured with the same cluster identifier. Cluster node 1 and cluster node 2 can jointly configure the wireless channel such that the respective wireless control interfaces of cluster node 1 and cluster node 2 operate on the same wireless channel. In some implementations, cluster node 1 and cluster node 2 can restart or resume after configuring the wireless channel of the wireless control link.

[0045] As shown in Figure 1D As shown in

[0046] Cluster node 1 and cluster node 2 can synchronize the wireless control link to synchronize the corresponding routing engines of cluster node 1 and cluster node 2, such that the corresponding routing engines operate as a unified routing engine for a high-availability cluster. To synchronize the wireless control link (and the unified control plane or routing engine of the high-availability cluster), cluster node 1 and cluster node 2 can exchange control traffic via the wireless control link. In this case, cluster node 1 and cluster node 2 can exchange routing engine session information, routing tables, routing information traffic, keep-alive or heartbeat packets, etc.

[0047] In some implementations, as part of the synchronization process, cluster node 1 and cluster node 2 can jointly establish a primary node and one or more secondary nodes of the high-availability cluster. The primary node of the high-availability cluster can host and maintain user sessions of client devices communicatively connected to the high-availability cluster, can host and maintain a primary routing engine session for the high-availability cluster, etc. The secondary node of the high-availability cluster can host and maintain backup information for the user sessions and routing engine sessions of the high-availability cluster, such that if the primary node fails or experiences a failure that causes a failover from the primary node to the secondary node, the secondary node takes over as the primary node of the high-availability cluster with little interruption to the stateful user sessions.

[0048] In some implementations, as part of the synchronization process, cluster node 1 and cluster node 2 can jointly configure an entry point and an exit point for the high-availability cluster. The entry point can be a cluster node where network traffic enters the high-availability cluster from one or more external networks (e.g., the Internet, a public telecommunications network, a provider network, etc.). In other words, network traffic destined for client devices communicatively connected to the high-availability cluster enters the high-availability cluster via the entry point. The exit point can be a cluster node where network traffic leaves the high-availability cluster to one or more external networks. In other words, network traffic originating from client devices communicatively connected to the high-availability cluster leaves the high-availability cluster via the entry point.

[0049] In some implementations, cluster node 1 and cluster node 2 can configure the entry point and the exit point such that the entry point and the exit point are on the same cluster node, which can be referred to as an active / passive configuration. In some implementations, cluster node 1 and cluster node 2 can configure the entry point and the exit point such that the entry point and the exit point are on different cluster nodes (e.g., the entry point can be on cluster node 1 and the exit point can be on cluster node 2), which can be referred to as an active / passive configuration. In some implementations, cluster node 1 and cluster node 2 can configure the entry point and the exit point such that if the cluster node (e.g., cluster node 1) that serves as the entry point and / or the exit point for the high-availability cluster fails and / or experiences a failure that causes a failover, then another cluster node (e.g., cluster node 2) can become the entry point and / or the exit point.

[0050] As shown in Figure 1E and by reference numeral 108, cluster node 1 and cluster node 2 can configure the radio channel for the radio fabric link between cluster node 1 and cluster node 2. In some implementations, cluster node 1 and cluster node 2 can automatically and jointly configure the radio channel for the radio fabric link between cluster node 1 and cluster node 2. In some implementations, cluster node 1 and cluster node 2 can automatically and jointly configure the radio channel for the radio fabric link based on the establishment of the radio control link. In some implementations, cluster node 1 and cluster node 2 can configure the radio channel for the radio fabric link based on receiving an instruction, which can be provided as an input (e.g., by a user via a console port and / or another means for input).

[0051] To automatically and jointly configure the radio channel for the radio fabric link, cluster node 1 and cluster node 2 can jointly configure the radio channel such that the respective radio fabric interfaces of cluster node 1 and cluster node 2 operate on the same radio channel. Moreover, cluster node 1 and cluster node 2 can jointly configure the radio channel such that the radio channel for the radio fabric link and the radio channel for the radio control link are different radio channels, non-overlapping radio channels, etc.

[0052] As shown in Figure 1FAs shown, and by reference numeral 110, cluster node 1 and cluster node 2 can establish a wireless fabric link over a wireless channel (e.g., wireless channel 2) configured for the wireless fabric link. To establish the wireless fabric link, cluster node 1 and cluster node 2 can perform a handshake process and / or another type of wireless connection establishment process. The handshake process can include a four-way handshake process (the four-way handshake according to IEEE 802.11i) and / or another type of handshake process. Additionally, to increase network security over the wireless fabric link, cluster node 1 and cluster node 2 can establish a tunnel over the wireless fabric link such that network traffic can be securely transmitted over the wireless fabric link. The tunnel can include an IPSec tunnel and / or another type of tunnel in which packets of the fabric traffic are encrypted, authenticated, and / or encapsulated.

[0053] Once cluster node 1 and cluster node 2 have completed the configuration process of the high-availability cluster, cluster node 1 and cluster node 2 can continue to exchange control traffic via the wireless control link (e.g., cluster node 1 can transmit control traffic to cluster node 2 via the wireless control link, and / or cluster node 2 can transmit control traffic to cluster node 1 via the wireless control link), can transmit and / or forward network traffic via the wireless fabric link (e.g., cluster node 1 can transmit and / or forward network traffic to cluster node 2 via the wireless fabric link, and / or cluster node 2 can transmit and / or forward network traffic to cluster node 1 via the wireless fabric link), etc. In some implementations, cluster node 1 and / or cluster node 2 can perform the actions described above with reference to reference numerals 102-110 (or a subset thereof) to establish a control link and / or a fabric link with other cluster nodes in the high-availability cluster.

[0054] In this way, a network device (e.g., a high-availability cluster node) can include a wireless PIM, a wireless NIC, a wireless communication adapter, and / or another type of component that provides wireless communication capabilities. The network device can communicatively connect a wireless control interface to a wireless control interface of another network device (or multiple other devices) in the high-availability cluster to establish a wireless control link over which control traffic can be exchanged. Moreover, the network device can communicatively connect a wireless fabric interface to a wireless fabric interface of another network device to establish a wireless fabric link over which network traffic can be exchanged. In this way, network devices in the high-availability cluster can be wirelessly connected, which reduces the cost and complexity of deploying the high-availability cluster. Moreover, the flexibility of deploying the high-availability cluster is increased because the physical location of the network devices is not restricted by running physical network cables. Thus, the network devices can be placed more optimally (e.g., in an office building, across a campus, etc.) such that the wireless coverage of the high-availability cluster for client devices communicatively connected to the high-availability cluster can be increased.

[0055] As indicated above, Figures 1A to 1F is provided only as one or more examples. Other examples may be different from those Figures 1A to 1F described.

[0056] Figure 2 is a diagram of an example environment that can implement the system and / or method 200 described herein. As shown in Figure 2 , the environment 200 may include one or more network devices 210-1 to 210-n (n≥1) (collectively referred to hereinafter as "network devices 210" and individually as "network device 210") and a network 220. The devices of the environment 200 may be interconnected via a wired connection, a wireless connection, or a combination of wired and wireless connections. In some implementations, the network devices 210 may be linked and / or connected together to form a high-availability cluster. In some implementations, the high-availability cluster may include multiple nodes (e.g., two or more nodes) implemented by the network devices 210.

[0057] The network device 210 includes one or more devices capable of receiving, providing, storing, generating, and / or processing information. In some implementations, the network device 210 may include a firewall, a router, a gateway, a switch, a bridge, a wireless access point, a base station (e.g., eNodeB, NodeB, gNodeB, etc.), and so on. In some implementations, the network device 210 may be implemented as a physical device implemented within a housing (such as a chassis). In some implementations, the network device 210 may be implemented as a virtual device implemented by one or more computer devices in a cloud computing environment or a data center.

[0058] In some implementations, the network device 210 may include a wireless PIM, a wireless NIC, a wireless communication adapter, and / or another type of component that provides wireless communication capabilities. The network device 210 may communicatively connect a wireless control interface to the wireless control interface of another network device 210 in the high-availability cluster to establish a wireless control link through which control traffic can be exchanged. In addition, the network device 210 may communicatively connect a wireless fabric interface to the wireless fabric interface of another network device 210 to establish a wireless fabric link through which network traffic can be exchanged.

[0059] The network 220 includes one or more wireless networks. For example, the network 220 may include a cellular network (e.g., a Long-Term Evolution (LTE) network, a Code Division Multiple Access (CDMA) network, a 3G network, a 4G network, a 5G network, another type of cellular network, etc.), a Wireless Local Area Network (WLAN) (e.g., a Wi-Fi network, an unlicensed spectrum wireless network, etc.), a Wireless Peer-to-Peer (P2P) network (e.g., Wi-Fi Direct, Bluetooth, etc.), and / or a combination of these or other types of networks.

[0060] Figure 2 The number and arrangement of the devices and networks shown in [[]] are provided as examples. In fact, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks arranged differently from those shown in Figure 2 [[]]. Additionally, Figure 2 Two or more of the devices shown in [[]] may be implemented within a single device, or Figure 2 a single device shown in [[]] may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200.

[0061] Figure 3A and Figure 3B are Figure 2 diagrams of example components of one or more devices of [[]]. Figure 3A is a diagram of example components of device 300. In some implementations, device 300 may correspond to device 210. In some implementations, device 210 may include one or more devices 300 and / or one or more components of device 300. As shown in Figure 3A [[]], device 300 may include bus 305, processor 310, memory 315, storage component 320, input component 325, output component 330, and communication interface 335.

[0062] Bus 305 includes components that permit communication among the components of device 300. Processor 310 is implemented in hardware, firmware, or a combination of hardware and software. Processor 310 takes the form of a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 310 includes one or more processors that can be programmed to perform functions. Memory 315 includes random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by processor 310.

[0063] Storage component 320 stores information and / or software related to the operation and use of device 300. For example, storage component 320 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a magnetic tape cartridge, and / or another type of non-transitory computer-readable medium, as well as a corresponding drive.

[0064] The input component 325 includes components that permit the device 300 to receive information (such as via user input (e.g., touch screen display, keyboard, keypad, mouse, buttons, switches, and / or microphone)). Additionally or alternatively, the input component 325 may include sensors for sensing information (e.g., global positioning system (GPS) component, accelerometer, gyroscope, and / or actuator). The output component 330 includes components that provide output information from the device 300 (e.g., display, speaker, and / or one or more light emitting diodes (LEDs)).

[0065] The communication interface 335 includes transceiver-like components (e.g., transceiver and / or separate receiver and transmitter) that enable the device 300 to communicate with other devices (such as via a wired connection, wireless connection, or a combination of wired and wireless connections). The communication interface 335 may permit the device 300 to receive information from another device and / or provide information to another device. For example, the communication interface 335 may include an Ethernet interface, optical interface, coaxial cable interface, infrared interface, radio frequency (RF) interface, universal serial bus (USB) interface, Wi-Fi interface, cellular network interface, etc.

[0066] The device 300 may perform one or more of the processes described herein. The device 300 may execute these processes based on software instructions stored by a non-transitory computer-readable medium (such as the memory 315 and / or the storage component 320) and executed by the processor 310. The computer-readable medium is defined herein as a non-transitory memory device. The memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

[0067] The software instructions may be read into the memory 315 and / or the storage component 320 from another computer-readable medium or from another device via the communication interface 335. When executed, the software instructions stored in the memory 315 and / or the storage component 320 may cause the processor 310 to perform one or more of the processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with the software instructions to perform one or more of the processes described herein. Thus, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

[0068] Figure 3A The number and arrangement of the components shown in FIG. 3 are provided as an example. In fact, the device 300 may include additional components, fewer components, different components, or components arranged differently from those shown in FIG. 3. Additionally or alternatively, a set of components of the device 300 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of the device 300.

[0069] Figure 3B This is a diagram of an example component of device 350. In some implementations, device 350 may correspond to device 210. In some implementations, device 210 may include one or more devices 350 and / or one or more components of device 350. As shown in Figure 3B Device 350 may include one or more input components 355-1 through 355-B (B≥1) (collectively referred to hereinafter as input components 355 and individually as input component 355), a switching component 360, one or more output components 365-1 through 365-C (C≥1) (collectively referred to hereinafter as output components 365 and individually as output component 365), and a controller 370.

[0070] Input component 355 may be an attachment point for a physical link and may be an entry point for incoming traffic such as packets. Input component 355 may process incoming traffic (such as by performing data link layer encapsulation or decapsulation). In some implementations, input component 355 may send and / or receive packets. In some implementations, input component 355 may include an input line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more interface cards (IFCs), packet forwarding components, line card controller components, input ports, processors, memories, and / or input queues. In some implementations, device 350 may include one or more input components 355.

[0071] Switching component 360 may interconnect input component 355 and output component 365. In some implementations, switching component 360 may be implemented via one or more crossbars, via a bus, and / or using shared memory. The shared memory may act as a temporary buffer for storing packets from input component 355 before the packets are ultimately scheduled for delivery to output component 365. In some implementations, switching component 360 may enable input component 355, output component 365, and / or controller 370 to communicate.

[0072] The output component 365 can store packets and can schedule packets for transmission on a physical link. The output component 365 can support data link layer encapsulation or decapsulation and / or various higher layer protocols. In some implementations, the output component 365 can send packets and / or receive packets. In some implementations, the output component 365 can include an output line card that includes one or more packet processing components (e.g., in the form of an integrated circuit), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and / or output queues. In some implementations, the device 350 can include one or more output components 365. In some implementations, the input component 355 and the output component 365 can be implemented by the same set of components (e.g., and the input / output component can be a combination of the input component 355 and the output component 365)

[0073] The controller 370 includes a processor in the form of, for example, a CPU, GPU, APU, microprocessor, microcontroller, DSP, FPGA, ASIC, and / or another type of processor. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the controller 370 can include one or more processors that can be programmed to perform functions.

[0074] In some implementations, the controller 370 can include a RAM, a ROM, and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by the controller 370.

[0075] In some implementations, the controller 370 can communicate with other devices, networks, and / or systems connected to the device 300 to exchange information about the network topology. The controller 370 can create a routing table based on the network topology information, create a forwarding table based on the routing table, and forward the forwarding table to the input component 355 and / or the output component 365. The input component 355 and / or the output component 365 can use the forwarding table to perform a route lookup for input and / or output packets.

[0076] The controller 370 can execute one or more of the processes described herein. The controller 370 can execute these processes in response to executing software instructions stored by a non-transitory computer-readable medium. The computer-readable medium is defined herein as a non-transitory memory device. The memory device includes a memory space within a single physical storage device or a memory space spread across multiple physical storage devices.

[0077] Software instructions can be read into the memory and / or storage components associated with controller 370 from another computer-readable medium or from another device via a communication interface. When executed, the software instructions stored in the memory and / or storage components associated with controller 370 can cause controller 370 to perform one or more of the processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more of the processes described herein. Accordingly, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

[0078] Figure 3B The number and arrangement of components shown in are provided as an example. In fact, device 350 may include additional components, fewer components, different components, or components arranged differently from those shown in Figure 3B Additionally or alternatively, a set of components (e.g., one or more components) of device 350 may perform one or more functions described as being performed by another set of components of device 350.

[0079] Figure 4 is a flowchart of an example process 400 for configuring a wireless control and fabric link for a high-availability cluster node. In some implementations, Figure 4 one or more of the process blocks of may be performed by a first network device (e.g., network device 210, device 300, device 350, etc.) included in a high-availability cluster. In some implementations, Figure 4 one or more of the process blocks of may be performed by another device or set of devices (such as one or more other network devices, etc.) separate from or including the first network device. In some implementations, high availability may include multiple nodes (e.g., two or more nodes).

[0080] As shown in Figure 4 the process 400 may include configuring a first wireless channel for a wireless control link (block 410). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may configure a first wireless channel for a wireless control link.

[0081] As shown in Figure 4As further shown in, process 400 may include establishing a wireless control link with a second network device in a high availability cluster using a first wireless channel (block 420). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may establish a wireless control link with a second network device in a high availability cluster using a first wireless channel.

[0082] As in Figure 4 As further shown in, process 400 may include configuring a second wireless channel for a wireless fabric link (block 430). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may configure a second wireless channel for a wireless fabric link.

[0083] As in Figure 4 As further shown in, process 400 may include establishing a wireless fabric link with a second network device using the second wireless channel (block 440). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may establish a wireless fabric link with a centralized second network device using the second wireless channel.

[0084] Process 400 may include additional implementations, such as any single implementation or any combination of implementations described below and / or in combination with one or more other processes described elsewhere herein.

[0085] In a first implementation, configuring the second wireless channel includes configuring the second wireless channel based on establishing the wireless control link. In a second implementation, alone or in combination with the first implementation, process 400 further includes synchronizing a routing engine of a first network device and a routing engine of a second network device via the wireless control link based on establishing the wireless control link. In a third implementation, alone or in combination with one or more of the first and second implementations, synchronizing a routing engine of a first network device and a routing engine of a second network device includes at least one of: transmitting one or more heartbeat packets to the second network device via the wireless control link; transmitting information identifying a routing table to the second network device via the wireless control link; or transmitting routing protocol traffic to the second network device via the wireless control link.

[0086] In a fourth implementation, alone or in combination with one or more of the first through third implementations, process 400 further includes configuring a first wireless channel such that a first network device restarts, and establishing a wireless control link with a second network device includes, after causing the first network device to restart, establishing a wireless control link with the second network device. In a fifth implementation, alone or in combination with one or more of the first through fourth implementations, process 400 further includes configuring the first network device with a cluster identifier associated with a high-availability cluster and a node identifier associated with the first network device. In a sixth implementation, alone or in combination with one or more of the first through fifth implementations, process 400 further includes jointly establishing, via the wireless control link with the second network device, a primary node for the high-availability cluster and a secondary node for the high-availability cluster.

[0087] Although Figure 4 example blocks of process 400 are shown, in some implementations, process 400 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those Figure 4 depicted herein. Additionally or alternatively, two or more of the blocks of process 400 may be executed in parallel.

[0088] Figure 5 is a flow diagram of an example process 500 for configuring wireless control and fabric links for high-availability cluster nodes. In some implementations, Figure 5 one or more process blocks of Figure 5 may be performed by a first network device (e.g., network device 210, device 300, device 350, etc.). In some implementations,

[0089] As shown in Figure 5 process 500 may include configuring a first wireless channel for a wireless control link, where the first network device is included in a high-availability cluster (block 510). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may configure a first wireless channel for a wireless control link. In some implementations, the first network device is included in a high-availability cluster.

[0090] As shown in Figure 5As further shown in, process 500 may include establishing a wireless control link with a second network device in a high-availability cluster using a first wireless channel (block 520). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may establish a wireless control link with a second network device in a high-availability cluster using a first wireless channel.

[0091] As in Figure 5 As further shown in, process 500 may include synchronizing a routing engine of a first network device and a routing engine of a second network device via the wireless control link (block 530). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may synchronize a routing engine of a first network device and a routing engine of a second network device via the wireless control link.

[0092] As in Figure 5 As further shown in, process 500 may include configuring a second wireless channel for a wireless fabric link, where the first wireless channel and the second wireless channel are different wireless channels (block 540). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may configure a second wireless channel for a wireless fabric link. In some implementations, the first wireless channel and the second wireless channel are different wireless channels.

[0093] As in Figure 5 As further shown in, process 500 may include establishing a wireless fabric link with a second network device using the second wireless channel (block 550). For example, as described above, a network device (e.g., using processor 310, memory 315, storage component 320, input component 325, output component 330, communication interface 335, input component 355, switching component 360, output component 365, controller 370, etc.) may establish a wireless fabric link with a second network device using the second wireless channel.

[0094] Process 500 may include additional implementations, such as any single implementation or any combination of implementations described below and / or in combination with one or more other processes described elsewhere herein.

[0095] In a first implementation, process 500 further includes transmitting control traffic to a second network device via a wireless control link and transmitting network traffic to the second network device via a wireless fabric link. In a second implementation, alone or in combination with the first implementation, the control traffic includes at least one of a heartbeat packet, information identifying a routing table, or routing protocol traffic. In a third implementation, alone or in combination with one or more of the first and second implementations, the first wireless channel and the second wireless channel are non-overlapping wireless channels. In a fourth implementation, alone or in combination with one or more of the first through third implementations, the first wireless channel, the second wireless channel, and one or more third wireless channels used for a wireless communication link between the first network device and one or more client devices are different wireless channels.

[0096] In a fifth implementation, alone or in combination with one or more of the first through fourth implementations, establishing the wireless control link includes establishing a first IPSec tunnel associated with the wireless control link, and establishing the wireless fabric link includes establishing a second IPSec tunnel associated with the wireless fabric link. In a sixth implementation, alone or in combination with one or more of the first through fifth implementations, the wireless control link is associated with a control interface of a wireless PIM included in the first network device, and the wireless fabric link is associated with a fabric interface of the wireless PIM.

[0097] In a seventh implementation, alone or in combination with one or more of the first through sixth implementations, the first network device is configured as an entry point and an exit point for a high-availability cluster, the second network device is configured to become an entry point for the high-availability cluster if a failure occurs associated with an entry interface of the first network device, and the second network device is configured to become an exit point for the high-availability cluster if a failure occurs associated with an exit interface of the first network device.

[0098] Although Figure 5 illustrates example blocks of process 500, in some implementations, process 500 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those Figure 5 depicted. Additionally or alternatively, two or more of the blocks of process 500 may be executed in parallel.

[0099] The foregoing disclosure provides some illustrations and descriptions, but is not intended to be exhaustive or to limit the implementation to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be obtained from practice of the implementation.

[0100] As used herein, the term business or content may include a set of packets. A packet may refer to a communication structure for conveying information (such as a protocol data unit (PDU), network packet, datagram, segment, message, block, cell, frame, subframe, time slot, symbol, a portion of any of the foregoing, and / or another type of formatted or unformatted data unit capable of being transmitted via a network).

[0101] As used herein, the term "component" is intended to be broadly construed as hardware, firmware, and / or a combination of hardware and software.

[0102] It will be apparent that the systems and / or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not a limitation on the implementation. Accordingly, the operations and behavior of the systems and / or methods are described herein without reference to specific software code—it should be understood that the software and hardware may be designed to implement the systems and / or methods based on the description herein.

[0103] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set.

[0104] Unless so explicitly described, no element, act, or instruction used herein should be construed as critical or essential. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Further, as used herein, the article "the" is intended to include one or more items referenced in conjunction with the article "the" and may be used interchangeably with "one or more." Additionally, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.) and may be used interchangeably with "one or more." The phrase "only one" or similar language is used where only one item is intended. Further, as used herein, the terms "having," "have," "containing," etc. are intended to be open-ended terms. Further, unless otherwise explicitly stated, the phrase "based on" is intended to mean "at least partially based on." Additionally, as used herein, unless otherwise explicitly stated (e.g., if used in conjunction with "any" or "only one"), the term "or" is intended to be inclusive when used in series and may be used interchangeably with "and / or."

Claims

1. A method for communication, comprising: establishing, by a first network device, a first wireless link with a second network device, wherein the first network device and the second network device are in a cluster of three or more network devices; transmitting, by the first network device via the first wireless link, control traffic to form at least one of the following: a unified control plane based on synchronizing the configuration and kernel state of the control planes of the three or more network devices in the cluster, or a unified routing engine for the cluster based on synchronizing the configuration and kernel state of the routing engines of the three or more network devices in the cluster; and establishing, by the first network device, a second wireless link with the second network device, wherein the second wireless link is for forwarding network traffic.

2. The method according to claim 1, further comprising: configuring, by the first network device, a cluster identifier associated with the cluster; and wherein establishing the first wireless link with the second network device comprises: broadcasting information indicating the cluster identifier of the first network device; scanning for a specific network device configured with the same cluster identifier, wherein the specific network device is the second network device; and establishing the first wireless link with the second network device based on scanning for the specific network device configured with the same cluster identifier.

3. The method according to claim 1, wherein the second wireless link is established based on the establishment of the first wireless link.

4. The method according to claim 1, wherein the first wireless link is a wireless control link established on a control interface of the first network device, and wherein the second wireless link is a wireless fabric link established on a fabric interface of the first network device.

5. The method according to claim 1, wherein the first wireless link is established on a first wireless channel, and the second wireless link is established on a second wireless channel.

6. The method according to claim 1, further comprising: establishing a primary node and a secondary node of the cluster, wherein the primary node hosts a user session and a primary routing engine session of the cluster, and wherein the secondary node hosts backup information for the user session and the routing engine session of the cluster; and performing a failover from the primary node to the secondary node when the primary node experiences a failure, wherein the secondary node takes over as the primary node of the cluster based on performing the failover.

7. The method according to claim 1, wherein the second wireless link is for forming at least one of the following: a unified data plane for the cluster, or a unified forwarding engine for the cluster.

8. The method according to claim 1, further comprising: configuring the first network device as an entry point and an exit point for the cluster; configuring the second network device as the entry point for the cluster when a failure associated with an entry interface of the first network device occurs; and When a failure associated with the egress interface of the first network device occurs, configure the second network device as the egress point for the cluster.

9. A first network device, comprising: one or more memories; and one or more processors coupled to the one or more memories for: establishing a first wireless link with a second network device, wherein the first network device and the second network device are in a cluster of three or more network devices; transmitting control traffic via the first wireless link to form at least one of the following: a unified control plane based on synchronizing the configuration and kernel state of the control planes of the three or more network devices in the cluster, or a unified routing engine for the cluster based on synchronizing the configuration and kernel state of the routing engines of the three or more network devices in the cluster; and establishing a second wireless link with the second network device, wherein the second wireless link is for forwarding network traffic.

10. The first network device according to claim 9, wherein the one or more processors are further configured to: configure a cluster identifier associated with the cluster; and wherein the one or more processors for establishing the first wireless link with the second network device are configured to: broadcast information indicating the cluster identifier; scan for a specific network device configured with the same cluster identifier, wherein the specific network device is the second network device; and establish the first wireless link with the second network device based on scanning for the specific network device configured with the same cluster identifier.

11. The first network device according to claim 9, wherein the second wireless link is established based on establishing the first wireless link.

12. The first network device according to claim 9, wherein the first wireless link is a wireless control link established on a control interface of the first network device, and wherein the second wireless link is a wireless fabric link established on a fabric interface of the first network device.

13. The first network device according to claim 9, wherein the one or more processors are further configured to: establish a primary node and a secondary node of the cluster, wherein the primary node hosts user sessions and the primary routing engine session of the cluster, and wherein the secondary node hosts backup information for the user sessions and the routing engine sessions of the cluster; and perform a failover from the primary node to the secondary node when the primary node experiences a failure, wherein the secondary node takes over as the primary node of the cluster based on performing the failover.

14. The first network device according to claim 9, wherein the second wireless link is for forming at least one of the following: a unified data plane for the cluster, or a unified forwarding engine for the cluster.

15. The first network device according to claim 9, wherein the one or more processors are further configured to: configure the first network device as an ingress point and an egress point for the cluster; When a failure associated with the ingress interface of the first network device occurs, configure the second network device as the ingress point for the cluster; and When a failure associated with the egress interface of the first network device occurs, configure the second network device as the egress point for the cluster.

16. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: One or more instructions that, when executed by one or more processors of a first network device, cause the first network device to: Establish a first wireless link with a second network device, wherein the first network device and the second network device are in a cluster of three or more network devices; Transmit control traffic via the first wireless link to form at least one of the following: A unified control plane based on synchronizing the configuration and kernel state of the control planes of the three or more network devices in the cluster, or A unified routing engine for the cluster based on synchronizing the configuration and kernel state of the routing engines of the three or more network devices in the cluster; And Establish a second wireless link with the second network device, wherein the second wireless link is for forwarding network traffic.

17. The non-transitory computer-readable medium according to claim 16, wherein the one or more instructions, when executed by one or more processors of the first network device, further cause the first network device to: Configure a cluster identifier associated with the cluster; and Wherein the one or more instructions that cause the first network device to establish the first wireless link with the second network device cause the first network device to: Broadcast information indicating the cluster identifier; Scan for a specific network device configured with the same cluster identifier, wherein the specific network device is the second network device; and Based on scanning the specific network device configured with the same cluster identifier, establish the first wireless link with the second network device.

18. The non-transitory computer-readable medium according to claim 16, wherein the first wireless link is a wireless control link established on a control interface of the first network device, and wherein the second wireless link is a wireless fabric link established on a fabric interface of the first network device.

19. The non-transitory computer-readable medium according to claim 16, wherein the one or more instructions further cause the first network device to: Establish a primary node and a secondary node of the cluster, wherein the primary node hosts user sessions and the primary routing engine session of the cluster, and wherein the secondary node hosts backup information for the user sessions and the routing engine sessions of the cluster; and When the primary node experiences a failure, perform a failover from the primary node to the secondary node, wherein the secondary node takes over as the primary node of the cluster based on performing the failover.

20. The non-transitory computer-readable medium according to claim 16, wherein the one or more instructions further cause the first network device to: Configure the first network device as an entry point and an exit point for the cluster; When a failure associated with the entry interface of the first network device occurs, configure the second network device as the entry point for the cluster; And When a failure associated with the exit interface of the first network device occurs, configure the second network device as the exit point for the cluster.

Citation Information

Patent Citations

  • Non-stop routing with internal session mirroring and adaptive application-level rate limiting

    US9491107B1