US11985038B2 - Selecting forwarder in a network installation - Google Patents
Selecting forwarder in a network installation Download PDFInfo
- Publication number
- US11985038B2 US11985038B2 US17/528,334 US202117528334A US11985038B2 US 11985038 B2 US11985038 B2 US 11985038B2 US 202117528334 A US202117528334 A US 202117528334A US 11985038 B2 US11985038 B2 US 11985038B2
- Authority
- US
- United States
- Prior art keywords
- performance
- network
- forwarder
- performance score
- score
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000009434 installation Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000003491 array Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
Definitions
- Zero-configuration networking may refer to a technique for creating an Internet Protocol (IP) network with limited or no manual intervention.
- IP Internet Protocol
- Zeroconf may enable service discovery, address assignment, and hostname resolution for communication devices.
- Zeroconf may be achieved based on link-local multicast protocols.
- Certain approaches may provide Zeroconf based on a Multicast Domain Name Service (mDNS) protocol.
- mDNS Multicast Domain Name Service
- FIG. 1 illustrates an example network installation in which various examples presented herein may be implemented
- FIG. 2 depicts a schematic view of a network device deployed in a network installation, according to some examples of the present disclosure
- FIG. 3 depicts a schematic view of an example performance score Ethernet frame, as per the present disclosure
- FIG. 4 A depicts a schematic view of a packet sequence of multicast messages exchanged among network devices in a network installation, as per the present disclosure
- FIG. 4 B depicts another schematic view of packet sequence of multicast messages in a network installation, as per examples of the present disclosure
- FIG. 5 illustrates a flow diagram illustrating a method of forwarder selection in a Virtual Local Area Network deployment, according to examples of the present disclosure.
- FIG. 6 depicts a block diagram of an example network device in which various of the examples described herein may be implemented.
- network devices for example, access points may utilize Multicast Domain Name Service (mDNS) service for Zeroconf related communication.
- mDNS Multicast Domain Name Service
- network devices may be connected to a network across Virtual Local Area Networks (VLANs). Devices on VLAN may not discover devices on another VLAN.
- Link-local multicast messages e.g., mDNS packets
- a centralized database may be used to collect information related to services (e.g., distributed layer-two services) via mDNS packets.
- a network device may be selected from a VLAN to forward mDNS packets to the centralized database in order to limit flooding of the network with redundant or otherwise unnecessary mDNS packets from multiple network devices.
- a network device with the largest Media Access Control (MAC) address may be selected as a forwarder.
- MAC Media Access Control
- a network device with the largest MAC address may not be the most efficient device in a network.
- Network device performance may intermittently degrade or deteriorate over time, which may affect a selected device's packet handling/forwarding capability.
- a network device may go down. That may result in delay or loss of information (e.g., mDNS packets).
- a network device that has gone down may take time to recover and to select another network device (e.g., backup device) for performing forwarding operation. Such delays may affect packet traffic in a network.
- a backup device selected by a primary forwarder may still exhibit poor performance that affects the forwarding of mDNS packets to a centralized database that may cause delay or interruption of services.
- a network device selected as a forwarder may be part of multiple VLANs or operate as a forwarder for multiple VLANs. In such circumstances, a selected device may be overloaded with mDNS and/or data traffic resulting in poor performance.
- a forwarder may be periodically selected from available network devices, so that a network device with relatively high performance may take up a forwarder role to communicate mDNS packets to a central service.
- client device(s) connected to a network may send mDNS packets to discover services or to resolve hostnames to Internet Protocol (IP) addresses.
- IP Internet Protocol
- a forwarder can be selected for a VLAN, such that it sends the received mDNS packet received over the VLAN to a central service.
- selectable network devices may be configured to compute their performance score. Initially, multiple selectable network devices in the network may be configured to operate in forwarder mode. Each selectable network device may communicate its computed performance score to other network devices in the network. The performance score may be broadcasted as an announcement in a custom Ethernet frame, such that other network devices receive the performance score. Each network device may compare its computed performance score with the received performance scores to determine its operational mode.
- a network device may modify its operational mode to a non-forwarder mode, in response to a determination that its computed performance score is less than two or more received performance scores (corresponding to two or more selectable network devices).
- a selectable network device may continue its operation in forwarder mode, in response to a determination that the received performance scores are less than its computed performance score.
- a network device may modify its operational mode to a backup-forwarder mode, in response to a determination that one of the received performance scores is higher than its performance score.
- a network device with a relatively high or highest performance score may take up the forwarder role and a network device with the second highest performance score may modify its operational mode to that of a backup-forwarder.
- network devices may compute their performance score periodically.
- a forwarder and a backup-forwarder may periodically broadcast or announce their performance scores to network devices not selected to operate in forwarder mode (“non-forwarders”).
- the non-forwarders may compare their performance score with performances scores received from the forwarder and backup-forwarder.
- the non-forwarders may determine if they are eligible for taking up the forwarder mode or backup-forwarder mode based on the latest performance scores. For example, a non-forwarder may determine that its latest performance score is greater than the performance score of a current forwarder/or a backup-forwarder. Accordingly, that network device may announce its performance score, so that it can take up the forwarder role, and the operational mode of the current forwarder can be demoted to a backup-forwarder or non-forwarder.
- the present disclosure provides an efficient selection technique, as network devices in a VLAN deployment participate in a selection process to take up roles while, limiting or eliminating dependency on other devices (i.e., devices that are not part of the selection process).
- the proposed examples may facilitate the selection of a network device, such as an access point, for performing forwarder operations.
- a forwarder may receive mDNS packets from a client device and the forwarder may communicate those mDNS packets to a central service.
- the mDNS packets may correspond to a distributed layer-two related services.
- Other network devices can drop the mDNS packets that are received from the client so that packet traffic in the network can be reduced.
- periodic computation and announcement of performance scores enable the dynamic selection of a forwarder during a particular selection cycle.
- another network device capable of efficiently performing forwarding operations as well as handling its data and management traffic can be selected.
- the selection of a backup-forwarder may facilitate reduced downtime, as the backup-forwarder may take up the forwarder role when the forwarder goes down.
- two or more backup-forwarders may be selected for additional redundancy.
- FIG. 1 illustrates an example of a network installation 100 that may be implemented for an organization, such as a business, educational institution, governmental entity, healthcare facility, or other organization.
- This diagram illustrates an example of a configuration implemented with an organization having multiple users (or at least multiple client devices 110 ) and possibly one or more physical or geographical sites, for example, a primary site 102 , and/or remote sites 132 , 142 .
- the primary site 102 and/or the remote sites 132 , 142 are in communication with a network 120 .
- the primary site 102 may include a primary network, which can be, for example, an office network, home network, or other network installation.
- the primary site 102 may be a private network, such as a network that may include security and access controls to restrict access to authorized users of the private network.
- Authorized users may include, for example, employees of a company at the primary site 102 , residents of a house, customers at a business, and so on.
- the primary site 102 is shown to include a control device 104 in communication with the network 120 .
- the control device 104 may provide communication with the network 120 for the primary site 102 , though it may not be the only point of communication with the network 120 for the primary site 102 .
- a single control device 104 is illustrated but the primary site 102 may include multiple controllers and/or multiple communication points with network 120 .
- the control device 104 may communicate with the network 120 through a router (not shown).
- the control device 104 may provide router functionality to the devices in the primary site 102 .
- the control device 104 may be operable to configure and manage network devices, such as at the primary site 102 , and may also manage network devices at the remote sites 132 , 142 .
- the control device 104 may be operable to configure and/or manage switches, routers, access points, and/or client devices connected to a network.
- the control device 104 may itself be, or provide the functionality of, an access point.
- the control device 104 may be in communication with one or more switches 108 and/or Access Points (APs) 106 A- 106 C.
- the AP may provide access to the network installation, which it is part of.
- AP may include a digital device, a software, or a combination of both, which is communicatively coupled to the network installation 100 .
- the switches 108 and the wireless APs 106 A- 106 C may provide network connectivity to client devices 110 A- 110 J. Using a connection to the switch 108 or one or more of the AP 106 A- 106 C, one or more of the client devices 110 A- 110 J may access network resources, including other devices on the (primary site 102 ) network and the network 120 .
- client devices 110 A- 110 J may include but are not limited to, desktop computers, laptop computers, servers, web servers, authentication servers, Authentication-Authorization-Accounting (AAA) servers, Domain Name System (DNS) servers, Dynamic Host Configuration Protocol (DHCP) servers, Internet Protocol (IP) servers, Virtual Private Network (VPN) servers, network policy servers, mainframes, tablet computers, e-readers, netbook computers, televisions and similar monitors (e.g., smart TVs), content receivers, set-top boxes, Personal Digital Assistants (PDAs), mobile phones, smartphones, smart terminals, dumb terminals, virtual terminals, video game consoles, virtual assistants, Internet of Things (IoT) devices, and the like.
- AAA Authentication-Authorization-Accounting
- DNS Domain Name System
- DHCP Dynamic Host Configuration Protocol
- IP Internet Protocol
- VPN Virtual Private Network
- PDAs Personal Digital Assistants
- mobile phones smartphones, smart terminals, dumb terminals, virtual terminals, video game consoles
- the switch 108 is included as one example of a point of access to the network established in primary site 102 for wired client devices 110 I and 110 J, for example.
- the client devices 110 I and 110 J may connect to the switch 108 and through the switch 108 , may be able to access other devices within the network installation 100 .
- the client devices 110 I and 110 J may also be able to access the network 120 , through the switch 108 .
- the client devices 110 I and 110 J may communicate with the switch 108 over a wired connection 112 .
- the switch 108 may communicate with the control device 104 over a wired connection 112 , though this connection may also be wireless, in some examples.
- the APs 106 A- 106 C are included as another example of a point of access to the network established in primary site 102 for client devices 110 A- 110 H.
- Each of APs 106 A- 106 C may be a combination of hardware, software, and/or firmware that is configured to provide wireless network connectivity to client devices 110 A- 110 H.
- the APs 106 A- 106 C can be managed and configured by the control device 104 .
- the APs 106 A- 106 C may communicate with the control device 104 and the network 120 over connections 112 , which may be either wired or wireless interfaces.
- the network installation 100 may include one or more remote sites 132 .
- a remote site 132 may be located in a different physical or geographical location from the primary site 102 .
- the remote site 132 may be in the same geographical location, or possibly the same building, as the primary site 102 , but lack a direct connection to the network located within the primary site 102 .
- the remote site 132 may utilize a connection over a different network, e.g., the network 120 .
- the remote site 132 such as the one illustrated in FIG. 1 may be, for example, a satellite office, another floor, or suite in a building, and so on.
- the remote site 132 may include a gateway device 134 for communicating with the network 120 .
- the gateway device 134 may be a router, a digital-to-analog modem, a cable modem, a Digital Subscriber Line (DSL) modem, or some other network device configured to communicate to the network 120 .
- the remote site 132 may also include a switch 138 and/or an AP 136 in communication with the gateway device 134 over either wired or wireless connections.
- the switch 138 and the AP 136 may provide connectivity to the network for client devices 140 A- 140 D.
- the remote site 132 may be in direct communication with the primary site 102 , such that client devices 140 A- 140 D at the remote site 132 access the network resources at the primary site 102 as if these client devices 140 A- 140 D were located at the primary site 102 .
- the remote site 132 may be managed by the control device 104 at the primary site 102 , and the control device 104 may provide the necessary connectivity, security, and accessibility that enable the remote site 132 's communication with the primary site 102 .
- the remote site 132 Once connected to the primary site 102 , the remote site 132 may function as a part of a private network provided by the primary site 102 .
- the network installation 100 may include one or more remote sites 142 , comprising a gateway device 144 for communicating with the network 120 and a wireless AP 146 , by which client devices 150 A, 150 B access the network 120 .
- a remote site 142 may represent, for example, an individual employee's home or a temporary remote office.
- the remote site 142 may also be in communication with the primary site 102 , such that the client devices 150 A, 150 B at remote site 142 access the network resources at the primary site 102 as if these client devices 150 A, 150 B were located at the primary site 102 .
- the remote site 142 may be managed by the control device 104 at the primary site 102 to make this transparency possible.
- the remote site 142 Once connected to the primary site 102 , the remote site 142 may function as a part of a private network provided by the primary site 102 .
- the network 120 may be a public or private network, such as the Internet, or another communication network to allow connectivity among the various sites 102 , 132 to 142 as well as access to content servers 165 A, 16 BB.
- the network 120 may include third-party telecommunication lines, such as phone lines, broadcast coaxial cable, fiber optic cables, satellite communications, cellular communications, and the like.
- the network 120 may include any number of intermediate network devices, such as switches, routers, gateways, servers, and/or controllers, which are not directly part of the network installation 100 but that facilitate communication between the various parts of the network installation 100 , and between the network installation 100 and other network-connected entities.
- the content servers 165 A, 165 B may be part of the network 120 or disposed outside of the network 120 .
- the content servers 165 A, 165 B may include various providers of multimedia downloadable and/or streaming content, including audio, video, graphical, and/or text content, or any combination thereof. Examples of content servers 165 A, 165 B may include, but are not limited to, web servers, streaming radio and video providers, and cable and satellite television providers.
- the client devices 110 A- 110 J, 140 A- 140 D, 150 A- 150 B may request and access the multimedia content provided by the content servers 165 A, 165 B.
- the primary site 102 may be a VLAN deployment and the APs 106 A- 106 C may be capable of operating as forwarders.
- the term forwarder as used herein may refer to the capability of an AP to communicate mDNS packets to a central service (not shown).
- the central service may comprise a centralized database that receives information corresponding one or more services associated with the network installation.
- the services may be distributed layer-two services communicated via mDNS packets reported by AP(s).
- examples for dynamic selection of an AP for operation in forwarder mode is discussed. For a given time interval, one AP with a high-performance metric may operate as a forwarder. In a subsequent instance, the same AP may continue in forwarder mode, or another AP may be selected to operate in forwarder mode based on the latest performance metrics.
- an AP may be selected for each VLAN for forwarder operation.
- the primary site 102 may be a first VLAN VLAN-1
- the remote site 132 may be a second VLAN VLAN-2
- the remote site 142 may be a third VLAN VLAN-3.
- the primary site 102 may have one AP operating in forwarder mode, one AP operating in backup-forwarder mode, and other APs operating in non-forwarder mode.
- the APs 106 A- 106 C may operate in a forwarder mode. Further, APs 106 A- 106 C may compute performance scores based on a set of performance parameters. The set of performance parameters may include processing power of device, stability of device, hardware capability, or similar parameters. Each AP 106 A- 106 C may broadcast their computed performance score to other network devices of the plurality of network devices in the VLAN deployment (e.g., the first VLAN VLAN-1). Each AP 106 A, 106 B, and 106 C may receive performance scores broadcasted by the other APs. For example, AP 106 A may receive performance scores of APs 106 B and 106 C.
- the APs 106 A- 106 C may compare the received performance scores with their computed performance score. An AP may continue to operate in forwarder mode, based on the determination that the received performance scores are less than its computed performance score. For example, the AP 106 A may continue operation in forwarder mode, and other APs 106 B and 106 C may demote to non-forwarder or a backup-forwarder mode.
- the techniques for the selection of a forwarder are further elaborated in the following examples.
- FIG. 2 illustrates a schematic view of a network device deployed in a network installation 200 .
- the disclosed network installation 200 may be capable of a Zero-network installation (Zeroconf) service.
- the illustrative example network installation is simplified for the purposes of discussion only and includes a switch 204 , three network devices 206 A- 206 C, and a central service 250 .
- multiple additional network devices can be deployed.
- the network devices may be communicatively coupled by a wired or wireless interface.
- the wired interface may be based on an Institute of Electrical and Electronics Engineers (IEEE) 802.3 standard.
- the wireless interface may be based on an IEEE 802.11 standard.
- the network installation 200 may be VLAN deployment.
- the VLAN generally may refer to a layer-2 network that can be logically partitioned to create multiple broadcast domains.
- the broadcast domains can be mutually separated such that packets from one domain can traverse within that domain.
- a broadcast or multicast message originated within a VLAN e.g., the primary site 102 of FIG. 1
- certain devices that are physically located in proximity may be logically separated from each other based on VLAN deployment.
- the network devices 206 A- 206 C are communicatively coupled to the switch 204 .
- the network devices 206 A- 206 C are capable of sending/receiving any multicast and/or broadcast message(s).
- the switch 204 may receive a multicast message from any of the network devices 206 A- 206 C connected to it and can be capable of forwarding them to the rest of the network devices within the VLAN domain.
- multicast message(s) received on one of the ports of the switch 204 can be duplicated. The duplicated copies can be forwarded via port(s) to other network devices that are configured within the same VLAN as that of the port through which the original multicast message is received.
- the first network device 206 A may include a processor 255 and a non-transitory storage medium 261 .
- the processor 255 may include a hardware processing resource, such as one or more Central Processing Units (CPUs), semiconductor-based microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions 260 stored in the non-transitory storage medium 261 .
- the processor may fetch, decode, and execute instructions 260 (e.g., instructions 262 - 274 ), for forwarder selection.
- the processor 255 may include one or more electronic circuits that include electronic components for performing the functionality of one or more instructions, such as a field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or other electronic circuits.
- FPGA field-programmable gate array
- ASIC application-specific integrated circuit
- the non-transitory storage medium 261 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
- a machine-readable storage medium may be, for example, Random Access Memory (RAM), non-volatile RAM (NVRAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like.
- RAM Random Access Memory
- NVRAM non-volatile RAM
- EEPROM Electrically Erasable Programmable Read-Only Memory
- a storage device an optical disc, and the like.
- a machine-readable storage medium may be a non-transitory storage medium, where the term “non-transitory” does not encompass transitory propagating signals.
- the plurality of network devices 206 A- 206 C may operate in a forwarder mode.
- the plurality of network devices 206 A- 206 C may be set to send mDNS messages to the central service 250 .
- the term “message” may include a packet, a stream (e.g., a sequence of packets), a frame, a grouped information, or other sequences of bits with a defined format.
- An “mDNS packet” may be based on mDNS protocol as defined in Internet Engineering Task Force (IETF) Request for Comments (RFC) 6762.
- IETF Internet Engineering Task Force
- RRC Request for Comments
- the processor 255 may fetch, decode, and execute instructions 262 that cause the processor 255 to compute a performance score based on a set of performance parameters.
- the performance score may correspond to an operational performance of network device.
- the performance score of each of the network devices may be computed based on a set of performance parameters listed.
- the network devices 206 A- 206 C are identified in the first row and the computed performance scores are represented in the last row of Table-1.
- the performance score can be computed based on a set of performance parameters, such as an available processing power (i.e., free processing power that is available), a device score, a stability of the device, a balance function offered by the device, and a MAC value.
- an available processing power i.e., free processing power that is available
- a device score i.e., a device score
- a stability of the device i.e., a device score
- a balance function offered by the device i.e., a balance function offered by the device
- MAC value i.e., MAC value
- the available processing power may correspond to a percentage of total processing power that may be freed for performing forwarder operation.
- mDNS packets may be sent periodically and can occupy processing resources and communication resources between a network device and the central service 250 .
- a network device occupied with downloading configurations or handling clients' traffic may have limited processing power.
- a device score may be based on a hardware configuration and can be determined based on a network device series or configuration. For example, a network device with a faster processor and a larger or faster memory may have a higher device score.
- a device score may be preset based on a hardware configuration.
- the device stability may be determined based on a consistency of a network device connection with the central service 250 .
- a network device that exhibits shorter downtime in its connection with the central service 250 can have a higher value.
- historical downtime data may be used to determine the device's stability.
- the balance value may correspond to a VLAN balance.
- a network device that is part of one VLAN may be selected for dedicated mDNS packet transmission.
- a network device may be part of two or more VLANs and may also work as a forwarder in one VLAN. Such network devices may have a poor balance score when evaluated because one device is performing a dedicated function and the other is performing three or more functions simultaneously.
- the MAC value may be derived from a MAC address of a network device.
- the MAC value may be obtained from the first byte of the MAC address, which can be converted to a numerical value.
- the MAC value may be used as a differentiator to choose which of the similar network devices will take up a forwarder role.
- Each performance parameter may have a weight when determining the performance score.
- Equation-1 has a defined weight for each performance parameter (i.e., ⁇ , ⁇ , ⁇ , ⁇ , and ⁇ ). Certain performance parameters, such as available processing power and device score may have a higher weight.
- a performance parameter such as MAC value may have a lower weight.
- a MAC value may be used to a tie-break when two or more network devices have similar performance parameters or computed performance scores.
- the processor 255 may fetch, decode, and execute instructions 264 that cause the processor to broadcast the computed performance score of the network device 206 A to other network devices 206 B and 206 C.
- the performance score may be broadcasted in the form of an Ethernet frame, which is discussed in the illustrative example of FIG. 3 .
- the processor 255 may fetch, decode, and execute instructions 266 that cause the processor 255 to receive one or more computed scores from other network devices 206 B and 206 C.
- the network devices 206 A- 206 C send a multicast message or an announcement comprising their respective performance to the switch 204 .
- the switch 204 may duplicate and send the multicast message to other network devices in that particular VLAN.
- the processor 255 may fetch, decode, and execute instructions 268 that cause the processor 255 to compare its computed performance score with the received performance scores.
- the instructions 268 may further include instructions to retrieve the performance score received from a Performance Score Ethernet frame received from a particular network device. The retrieved performance score may be compared with its computed performance score.
- the processor 255 may fetch, decode, and execute instructions 270 that cause the processor 255 to continue to operate in the forwarder mode based on a determination that the received performance scores are less than its computed performance score. In other words, network device 206 A determines that it has the highest performance score in the VLAN and therefore, continues to operate in forwarder mode. Other network devices (e.g., the network device 206 B and 206 C) that are initially configured to operate in forwarder mode, modify their operational mode to non-forwarder or backup-forwarder.
- the processor 255 may fetch, decode, and execute instructions 272 that cause the processor 255 to receive mDNS packets from other network devices of the plurality of network devices.
- the central service 250 is configured to receive the mDNS packets transmitted over the network installation 200 .
- the mDNS packets may include, but are not limited to, request(s) for one or more services by one or more client devices, advertisement(s) related to one or more services offered by a device (e.g., a printer, a television, a projector, etc.) that are part of the network installation 200 , or the like.
- the processor 255 may fetch, decode, and execute instructions 274 that cause the processor 255 to communicate the received mDNS packets to the central service 250 .
- the central service 250 may include a database storing distributed layer-two services related information (e.g., requests and advertisements).
- the central service 250 may be a controller disposed on-premise.
- the instructions 274 may include further instructions that cause the processor to handle data and/or management functions with client devices and/or other network devices in the network installation.
- all of the network devices 206 A- 206 C may operate in forwarder mode such that they can forward mDNS packets to the central service 250 .
- the network devices 206 A- 206 C may exchange performance scores. Based on a comparison of the performance scores, a network device may determine that its performance score is greater than the performance scores that it has received and may continue forwarder mode operation. Other network devices that receive one or more performance scores higher than their computed performance score may demote their mode, for example, a backup-forwarder mode or non-forwarder mode.
- the network device operating in forwarder mode sends any mDNS packets that it receives to the central service. Other network devices that are demoted from forwarder mode may drop the mDNS packets that they receive.
- the performance scores, VLAN information, central service information, etc. are communicated via a custom Ethernet frame, which is elaborated subsequently.
- FIG. 3 illustrates a schematic view of a Performance Score Ethernet frame 300 in accordance with certain examples of the present disclosure.
- the Performance Score (PS) Ethernet frame 300 may be generated by one network device and can be transmitted to other network devices.
- the PS Ethernet frame 300 discussed herein may be based on (e.g., in structure, content, or usage) on an Ethernet frame as described in the IEEE 802.3 standard.
- the PS Ethernet frame 300 may include an Ethernet header 302 , a secondary header 304 , and an announcement 306 .
- the Ethernet header 302 may include a source MAC address field and a destination MAC address field.
- the secondary header 304 and the announcement 306 may be custom fields defined by a network administrator.
- the secondary header 304 may further include a magic field 310 , a version field 312 , a type field 314 , a length field 316 , and a message ID (MSG ID) 318 .
- the announcement 306 may include an Address Family (AF) 320 , a controller IP address 322 , a VLAN type 324 , a VLAN ID 326 , and a score field 328 .
- AF Address Family
- the magic field 310 may be an identifier for identifying a message type.
- the magic field 310 may be a numerical or text value used to identify the message type or protocol.
- the version field 312 may indicate a version of the announcement. Different versions may have a different field for the secondary header 304 and the announcement 306 .
- the type field 314 may indicate that an announcement message is being communicated through the PS Ethernet frame 300 .
- the length field 316 may indicate the length of the announcement packet.
- the message ID 318 may indicate an identification of a particular announcement that it is part of the PS Ethernet frame 300 .
- the address family field 320 may specify whether the address is an IPv4 or IPv6 type.
- the controller IP field 322 may indicate the address of the central service (e.g., the central service 250 of FIG.
- the VLAN type 324 may indicate a VLAN tag type (e.g., 0x8100 or similar VLAN type field).
- the VLAN ID field 326 may indicate a working VLAN to which the source device belongs.
- the score field 328 may indicate a performance score of the source access point. The performance score can be computed based on a set of performance parameters.
- FIGS. 4 A & 48 illustrate a schematic view of a packet sequence exchanged among network devices in a network installation, according to some examples of the present disclosure.
- the illustrative example shown corresponds to an exchange of performance score Ethernet frames (e.g., the PS Ethernet frame of FIG. 3 ) among the network devices, and forwarder and backup-forwarder.
- the schematic view illustrates forwarder and backup-forwarder modes assignment.
- the illustrative example of FIG. 4 A comprises a switch 404 , a first access point 406 A, a second access point 406 B, and a third access point 406 C.
- the access points 406 A- 406 C form part of a VLAN configuration by virtue of the configuration of ports of the switch 404 to which they are connected to. As discussed earlier, initially all the access points 406 A- 406 C operate in forwarder mode.
- Each of the access points 406 A- 406 C computes its performance score based on a set of performance parameters.
- the performance parameters may include/based on the availability of free processing power, a hardware configuration of an access point, a communication capability of an access point, a stability of access point, a mode of an access point in other VLANs, and other similar performance metrics.
- the first access point 406 A computes its performance score and communicates the performance score 481 A via a multicast message (e.g., the performance score Ethernet frame 300 ) to the switch 404 .
- the switch 404 may receive the multicast message at an uplink port to which the first access point 406 A may be coupled to.
- the switch 404 may duplicate the multicast message and communicate the multicast message 481 B, 481 C to other network devices, such as the second access point 406 B and the third access point 406 C. Similarly, the second access point 406 B and the third access point 406 C compute their performance scores and communicate them 482 A, 483 A to the switch 404 . The switch 404 may duplicate the messages that it has received and communicate them 482 B, 482 C, 483 B, 483 C to other access points.
- Each access point 406 A- 406 C may compare its computed performance score with the received performance scores that correspond to other access points.
- the first access point 406 A may have the highest performance score, followed by the second access point 406 B and the third access point 406 C.
- the first access point 406 A may compare its performance score with the performance scores of the second access point 406 B and the third access point 406 C.
- the first access point 406 A may continue to operate in forwarder mode.
- the second access point 406 B may, in response to a determination that one of the received performance scores is greater than its computed performance score, modify its operational mode from forwarder mode to a backup-forwarder mode.
- the backup-forwarder 406 B may take over as the forwarder for mDNS communication to central service when the forwarder 406 A is down. In some other instances, such as a fresh evaluation of APs for mode selection, the backup-forwarder may temporarily take up the role of forwarding mDNS packets till the time a new AP assumes the forwarder mode of operation.
- the third access point 406 C may modify its operational mode to a non-forwarder mode.
- the multicast message may be communicated 485 B- 485 D to the access points 406 A- 406 C in the VLAN deployment.
- the first access point 406 A that is operating as a forwarder further forwards the multicast message (e.g., mDNS packet) 486 to the central service 450 .
- the central service 450 may receive multicast messages transmitted over the network from a source mDNS device (e.g., the client device 480 ). These multicast messages may correspond to an advertisement of services offered by a device or messages requesting services identified.
- the access points 406 B and 406 C may drop the mDNS message received from the switch 404 .
- each access point 406 A- 406 B may periodically compute its performance score.
- the latest values of the set of performance parameters can be considered for the computation of the performance scores.
- the computation of the performance scores can be performed at a first interval.
- the access points e.g., APs 406 A and 406 B
- the access points that are operating in forwarder mode and backup-forwarder mode, periodically, broadcast 487 A- 487 C, 488 A- 488 C their latest performance scores.
- the broadcasting of the performance scores by the forwarder and the backup-forwarder may be at a second interval.
- the first interval may be set to be greater than the second interval.
- the frequency at which performance scores can be broadcasted by the forwarder and the backup-forwarder may be greater than the frequency at which the performance scores are computed.
- the second interval may be set for optimal usage of processing power for performance score computation.
- broadcasting of performance scores by the forwarder and the backup-forwarder may be used to determine the operating state of the respective access points. For example, a back-forwarder may determine that the forwarder has gone down if it fails to receive the performance score from the forwarder.
- at least one of the first interval and the second interval may be dynamically modified depending on one or more of the performance parameters.
- the access point 406 C may receive PS Ethernet frame from the APs 406 A and 406 B after the first interval.
- the access point 406 C may compare the computed performance score it has received from the APs 406 A and 406 B.
- the access points 406 C may modify its operational mode. For example, if the performance score received from the access point 406 B is less than the performance score of the access point 406 C, then the access point 406 C announces/broadcasts its performance score 489 A and modifies its operational mode to backup-forwarder mode.
- the forwarder and backup-forwarder Upon receiving, the performance score 489 B, 489 C from the access point 406 C, the forwarder and backup-forwarder compare the received performance score with their latest (computed) performances score. For example, the access point 406 B may modify its operational mode to non-forwarder if the received performance score is greater than its latest performance score. Similarly, the access point 406 C may modify its operational mode to the backup-forwarder mode. In some instances, the access point 406 A may continue to operate as a forwarder if it still has a latest performance score greater than the latest performance score received from the backup-forwarder and no other network device has announced its latest performance score. Accordingly, the roles of the access points can be changed dynamically, based on performance scores computed periodically.
- both the (latest) performance scores received from the access points 406 A and 406 B are less than the latest performance score of the access point 406 C, then it can broadcast/announce its latest performance score and modify its operational mode to forwarder mode.
- the access points with the second highest performance scores may take the role of backup-forwarder.
- two or more access points may have their latest performance score greater than the performance score received from a current forwarder and a backup-forwarder. Then, those access points may undergo a selection process to modify their operational mode to forwarder and backup-forwarder based on the steps/blocks discussed herein.
- multiple network devices may be deployed in a network installation.
- these access points may send mDNS packets to the central service with service-related requests/advertisements.
- the quantity of redundant mDNS packet traffic on the network can be significantly reduced.
- flooding of the network with mDNS traffic, which consumes network resources is reduced.
- a PS Ethernet frame (e.g., the PS Ethernet frame 300 ) may be sent by a forwarder and a backup-forwarder at a predetermined period, such that a limited amount of network resources are utilized.
- an access point with higher/highest performance score may be selected to operate as a forwarder to send mDNS packets to the central service.
- a forwarder to send mDNS packets to the central service.
- FIG. 5 illustrates a flowchart of an example method 500 for a forwarder mode selection is presented.
- the method 500 may be performed by an Access Point (AP) in a VLAN deployment, for example, the primary site 102 of FIG. 1 .
- the VLAN deployment may correspond to the remote sites 132 , 142 each having two or more APs and with a Zeroconf capability.
- an AP may be considered to be the first AP 106 A, 406 A, or first network device 206 A respectively of FIG. 1 , 4 , or 2 .
- the blocks in FIG. 5 are shown in an order, the order of blocks shown in FIG. 5 should not be construed as exhaustive. The blocks may be performed at any time, in any order. Additionally, one or more blocks may be repeated or omitted as needed.
- the example method 500 is described as being performed by a network device, such as an access point. Each network device (e.g., access point) in a VLAN deployment may perform the blocks for the selection of a forwarder.
- the network device may be a hardware processing resource capable of retrieval and execution of instructions stored in a machine-readable storage medium (not shown).
- the access point may initially operate in a forwarder mode.
- the access point may compute a performance score based on a set of performance parameters.
- a performance score may be computed based on example equation (1) as discussed in FIG. 2 .
- the access point may broadcast its computed performance to other network devices that are present in the VLAN.
- the access point may prepare a Performance Score Ethernet frame (e.g., the PS Ethernet frame 300 as illustrated in FIG. 3 ).
- the access point may be communicatively coupled to an Ethernet switch.
- the PS Ethernet frame may be broadcasted to the switch, which then communicates to other access points in the VLAN. If an AP from a different VLAN receives the PS Ethernet frame(s), then it may drop those particular frames.
- the access point may receive one or more performance scores corresponding to other network devices in the VLAN. As other access points in the VLAN may compute their respective performance score and broadcast to other access points.
- the access point may compare its computed performance score with the received scores.
- the access point may compare the computed performance score (e.g., numerical value) with those numerical values (i.e., the received performance scores) that have been received from the other access points that are part of the same VLAN.
- the received performance score is associated with a corresponding access point that communicated it via a PS Ethernet frame.
- the access point may determine whether two or more received performance scores are greater than its computed performance score. In some examples, the access point may suspend further comparison of performance scores when two of the received performance scores are greater to save processing power and to allocate resources for handling data and management packets.
- the access point may modify its operational mode to a non-forwarder mode.
- the access point may drop any mDNS packets received from client devices and may update its mDNS cache IP address and corresponding hostnames, if required.
- the access point may determine whether one of the received performance scores is greater than its computed performance score, which is at block 514 .
- the access point may modify its operational mode to a backup-forwarder mode.
- an access point operating in backup-forwarder mode may communicate the mDNS packets to the central service during a mode change of a current forwarder.
- the backup-forwarder may take responsibility to transfer mDNS packets during a round for the selection of modes.
- the access point may continue its mode in forwarder mode.
- FIG. 6 depicts a block diagram of a network device 600 in which various of the examples described herein may be implemented.
- the network device 600 may include a bus 605 or other communication mechanisms for communicating information, a hardware processor, also referred to as processor 610 , coupled to the bus 605 for processing information.
- the processor 610 may be, for example, one or more general-purpose microprocessors.
- the network device 600 may also include a machine-readable storage medium 611 communicatively coupled to the bus 605 .
- the machine-readable storage medium 611 may include a main memory 615 , such as a random access memory (RAM), cache, and/or other dynamic storage devices, coupled to the bus 605 for storing information and instructions to be executed by the processor 610 .
- the main memory 615 may also be used for storing temporary variables or other intermediate information during the execution of instructions to be executed by the processor 610 .
- Such instructions when stored in storage media accessible to the processor 610 , render the network device 600 into a special-purpose machine that is customized to perform the operations specified in the instructions.
- the machine-readable storage medium 611 may further include a Read-Only Memory (ROM) 620 or other static storage device coupled to the bus 605 for storing static information and instructions for the processor 610 .
- ROM Read-Only Memory
- a storage device 625 such as a magnetic disk, optical disk, or Universal Serial Bus (USB) thumb drive (Flash drive), etc., may be provided and coupled to the bus 605 for storing information and instructions.
- the network device 600 may be coupled, via the bus 605 , to a display 630 , such as a Liquid Crystal Display (LCD) (or touch-sensitive screen), for displaying information to a computer user.
- a display 630 such as a Liquid Crystal Display (LCD) (or touch-sensitive screen)
- an input device 635 including alphanumeric and other keys (physical, or software generated and displayed on touch-sensitive screen), may be coupled to the bus 605 for communicating information and command selections to the processor 610 .
- another type of user input device may be a cursor control 640 , such as a mouse, a trackball, or cursor direction keys may be connected to the bus 605 .
- the cursor control 640 may communicate direction information and command selections to the processor 610 for controlling cursor movement on the display 630 .
- the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.
- modules may include, by way of example, components, such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- the word “component,” “system,” “database,” and the like, as used herein, can refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, C or C++.
- a software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software components may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts.
- Software components configured for execution on computing devices may be provided on a computer-readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
- a computer-readable medium such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
- Such software code may be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device.
- Software instructions may be embedded in firmware, such as an Erasable Programmable Read-Only Memory (EPROM).
- EPROM Erasable Programmable Read-Only Memory
- hardware components may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units
- the network device 600 may implement the techniques described herein using customized hard-wired logic, one or more application-specific integrated circuits (ASICs), or Field Programmable Gate Arrays (FPGAs), firmware, and/or program logic which may cause or program the network device 600 to be a special-purpose machine.
- the techniques herein are performed by the network device 600 in response to the processor 610 executing one or more sequences of one or more instructions contained in the main memory 615 .
- the main memory may be part of a machine-readable storage medium 611 . Such instructions may be read into the main memory 615 from another storage medium, such as the storage device 625 . Execution of the sequences of instructions contained in the main memory 615 causes the processor 610 to perform the process steps described herein.
- hard-wired circuitry may be used in place of or in combination with software instructions.
- the network device 600 also includes a network interface 645 coupled to bus 605 .
- the network interface 645 provides a two-way data communication.
- the signals through the various networks and the signals on network link and through the network interface 645 , which carry the digital data to and from the network device 600 are examples of forms of transmission media.
- the network device 600 can send messages and receive data, including program code, through the network(s), network link, and the network interface 645 .
- a server might transmit a requested code for an application program through the Internet, the ISP, the local network, and the network interface 645 .
- the received code may be executed by the processor 610 as it is received, and/or stored in the storage device 625 , or other non-volatile storage for later execution.
- the machine-readable storage medium 611 may store instructions which when executed by the processor 610 may cause the processor 610 to execute methods/instructions described in FIGS. 1 - 4 .
- Some examples instructions which when executed by the processor 610 may cause the processor 610 to compute a performance score based on a set of performance parameters.
- the instructions may cause the processor 610 to broadcast the computed performance score to other network devices.
- the instructions may cause the processor 610 to receive performance scores from the other network devices.
- the instructions may cause the processor 610 to compare the received performance scores with the computed performance score.
- the instructions may cause the processor 610 to continue operation in the forwarder mode based on the determination that the received performance scores are less than its computed performance score.
- the network device 600 may be deployed in a network installation with Zeroconf capability. Accordingly, some of the instructions stored in the machine-readable storage medium 611 may cause the processor 610 to perform a method such as the method 500 described in FIG. 5 . Some of the examples instructions which when executed by the processor 610 may cause the processor 610 to broadcast the computed performance score to other network devices. The instructions may cause the processor 610 to receive performance scores from the other network devices. The instructions may cause the processor 610 to compare the received performance scores with the computed performance score. The instructions may cause the processor 610 to continue to operate the forwarder mode based on the determination that the received performance scores are less than its computed performance score.
- Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware.
- the one or more computer systems or computer processors may also operate to support the performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS).
- SaaS software as a service
- the processes and algorithms may be implemented partially or wholly in application-specific circuitry.
- the various features and processes described above may be used independently of one another, or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations.
- a circuit might be implemented utilizing any form of hardware, software, or a combination thereof.
- processors controllers, ASICs, Programmable Logic Arrays (PLAs), Programming Array Logics (PALs), Complex Programmable Logic Devices (CPLDs), FPGAs, logical components, software routines, or other mechanisms might be implemented to make up a circuit.
- PLAs Programmable Logic Arrays
- PALs Programming Array Logics
- CPLDs Complex Programmable Logic Devices
- FPGAs Complex Programmable Logic Devices
- the various circuits described herein might be implemented as discrete circuits or the functions and features described can be shared in part or in total among one or more circuits.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
TABLE 1 |
Example performance parameters and performance score |
Network | Network | | |
Parameter | |
|
Device |
206C | |||
IP Address | 84:d4:7e:c6: | ac:a3:1e:cd: | 90:4c:81:cf: |
60:6e | 79:1a | 3d:e0 | |
Available | 80% | 10% | 20% |
processing power | |||
Device Score | 80 | 60 | 80 |
Device Stability | 3 | 20 | 10 |
Balance value | 0 | 0 | 0 |
MAC value | 84 | 0xac | 90 |
Perf. Score (PS) | 60.8 | 41.6 | 45.5 |
PS=(avail.processing power*α)+(device score*β)+(device stability*γ)+(balance val.*δ)+(MAC val.*ε) (1)
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/528,334 US11985038B2 (en) | 2021-11-17 | 2021-11-17 | Selecting forwarder in a network installation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/528,334 US11985038B2 (en) | 2021-11-17 | 2021-11-17 | Selecting forwarder in a network installation |
Publications (2)
Publication Number | Publication Date |
---|---|
US20230155898A1 US20230155898A1 (en) | 2023-05-18 |
US11985038B2 true US11985038B2 (en) | 2024-05-14 |
Family
ID=86323128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/528,334 Active 2042-04-30 US11985038B2 (en) | 2021-11-17 | 2021-11-17 | Selecting forwarder in a network installation |
Country Status (1)
Country | Link |
---|---|
US (1) | US11985038B2 (en) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100172258A1 (en) * | 2009-01-02 | 2010-07-08 | Samsung Electronics Co., Ltd. | Method and apparatus for routing packet |
US20110004913A1 (en) | 2007-07-31 | 2011-01-06 | Symbol Technologies, Inc. | Architecture for seamless enforcement of security policies when roaming across ip subnets in ieee 802.11 wireless networks |
US7885233B2 (en) | 2007-07-31 | 2011-02-08 | Symbol Technologies, Inc. | Forwarding broadcast/multicast data when wireless clients layer 3 roam across IP subnets in a WLAN |
US7961727B2 (en) | 1997-10-03 | 2011-06-14 | Alcatel-Lucent Canada Inc. | Method and apparatus for forwarding packets |
US8902794B2 (en) | 2012-09-27 | 2014-12-02 | Cisco Technology, Inc. | System and method for providing N-way link-state routing redundancy without peer links in a network environment |
US8988984B2 (en) | 2011-02-04 | 2015-03-24 | Cisco Technology, Inc. | Designated forwarder election for VPLS with BGP-based MAC learning |
US9019814B1 (en) | 2013-08-05 | 2015-04-28 | Juniper Networks, Inc. | Fast failover in multi-homed ethernet virtual private networks |
US9088517B2 (en) | 2012-02-08 | 2015-07-21 | Cisco Technology, Inc. | Stitching multicast trees |
US9143396B2 (en) | 2011-03-25 | 2015-09-22 | Huawei Technologies Co., Ltd. | VPLS fast rerouting method and device |
US9667442B2 (en) | 2007-06-11 | 2017-05-30 | International Business Machines Corporation | Tag-based interface between a switching device and servers for use in frame processing and forwarding |
US10484278B2 (en) | 2015-03-18 | 2019-11-19 | Fortinet, Inc. | Application-based network packet forwarding |
US20220173509A1 (en) * | 2020-12-01 | 2022-06-02 | Comcast Cable Communications, Llc | Methods and systems for inertial guided antenna positioning |
-
2021
- 2021-11-17 US US17/528,334 patent/US11985038B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7961727B2 (en) | 1997-10-03 | 2011-06-14 | Alcatel-Lucent Canada Inc. | Method and apparatus for forwarding packets |
US9667442B2 (en) | 2007-06-11 | 2017-05-30 | International Business Machines Corporation | Tag-based interface between a switching device and servers for use in frame processing and forwarding |
US20110004913A1 (en) | 2007-07-31 | 2011-01-06 | Symbol Technologies, Inc. | Architecture for seamless enforcement of security policies when roaming across ip subnets in ieee 802.11 wireless networks |
US7885233B2 (en) | 2007-07-31 | 2011-02-08 | Symbol Technologies, Inc. | Forwarding broadcast/multicast data when wireless clients layer 3 roam across IP subnets in a WLAN |
US20100172258A1 (en) * | 2009-01-02 | 2010-07-08 | Samsung Electronics Co., Ltd. | Method and apparatus for routing packet |
US8988984B2 (en) | 2011-02-04 | 2015-03-24 | Cisco Technology, Inc. | Designated forwarder election for VPLS with BGP-based MAC learning |
US9143396B2 (en) | 2011-03-25 | 2015-09-22 | Huawei Technologies Co., Ltd. | VPLS fast rerouting method and device |
US9088517B2 (en) | 2012-02-08 | 2015-07-21 | Cisco Technology, Inc. | Stitching multicast trees |
US8902794B2 (en) | 2012-09-27 | 2014-12-02 | Cisco Technology, Inc. | System and method for providing N-way link-state routing redundancy without peer links in a network environment |
US9019814B1 (en) | 2013-08-05 | 2015-04-28 | Juniper Networks, Inc. | Fast failover in multi-homed ethernet virtual private networks |
US10484278B2 (en) | 2015-03-18 | 2019-11-19 | Fortinet, Inc. | Application-based network packet forwarding |
US20220173509A1 (en) * | 2020-12-01 | 2022-06-02 | Comcast Cable Communications, Llc | Methods and systems for inertial guided antenna positioning |
Also Published As
Publication number | Publication date |
---|---|
US20230155898A1 (en) | 2023-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11949588B2 (en) | Large-scale real-time multimedia communications | |
US10499279B2 (en) | Method and apparatus for dynamic association of terminal nodes with aggregation nodes and load balancing | |
EP3677013B1 (en) | Replication with dedicated metal deployment in a cloud | |
EP2817926B1 (en) | Delegate forwarding and address resolution in fragmented network | |
CN113196725B (en) | System and method for load-balanced access to distributed endpoints using global network addresses | |
CN113826363A (en) | Consistent routing advertisements between redundant controllers in a global network access point | |
US11336573B2 (en) | Service chaining in multi-fabric cloud networks | |
US20160173356A1 (en) | Proactive detection of host status in a communications network | |
US10498836B2 (en) | Network based service discovery via unicast messages | |
US20230092764A1 (en) | Maintaining reliable connection between an access point and a client device | |
US11929988B2 (en) | Dynamic selection of a VPNC gateway based on user behavior | |
CN110391987B (en) | Method, apparatus and computer readable medium for selecting a designated forwarder from a carrier edge device set | |
US11985038B2 (en) | Selecting forwarder in a network installation | |
US20200359273A1 (en) | Fast roaming and uniform policy for wireless clients with distributed hashing | |
US10212079B2 (en) | Router advertisement caching | |
US8023407B2 (en) | Redundancy in a communication network | |
US20240205793A1 (en) | Recursive updating of map server entries | |
US9667728B2 (en) | Controller offloading | |
US11805479B2 (en) | Establishing a connection between an access point and an unstable client device | |
US20230136345A1 (en) | Service discovery for wired hosts | |
US20220255774A1 (en) | Wireless networks based on multiple basic service set identifiers | |
WO2020063251A1 (en) | Communication method and related device | |
CN118233247A (en) | Service discovery across tunnel endpoints in an overlay network | |
CN116074244A (en) | Ethernet high availability point-to-point connectivity based on security vector routing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YI, LIYA;REN, ZHIJUN;WANG, CHUNFENG;AND OTHERS;REEL/FRAME:059180/0845 Effective date: 20211116 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |