H04L12/721

CALCULATION OF A LOWEST COST PATH

A method in a flow controller for selecting optimal path is provided. A plurality of potential flow paths in the network for a particular pair of source and destination switch ports is determined in a flow controller. A plurality of cost factors associated with each of the plurality of potential flow paths is identified. Individual cost values are determined for each of the identified plurality of cost factors for each of the plurality of potential flow paths by multiplying the identified cost factors by a stratification factor. A single cost value for each of the plurality of potential flow paths is determined based on the determined individual cost values. One of the potential flow paths is selected in the flow controller for the particular pair of source and destination switch ports based upon the determined single cost value.

METHOD TO ESTABLISH A NON-DISRUPTIVE COMMUNICATIONS PATH BETWEEN MULTIPLE DEVICES

A method for establishing a communications path is provided. A routing path between a source port on a source switch and a destination port on a destination switch through intermediate switches is identified. A first message is sent to the source switch, the destination switch and the intermediate switches instructing the recipient switches to prepare for establishing a connection. In response to receiving a first set of acknowledgment messages from the recipient switches, a second message is sent to the destination switch and the intermediate switches instructing these switches to establish a connection to the destination port along the identified routing path. In response to receiving a second set of acknowledgment messages from the destination switch and each of the intermediate switches, a third message is sent to the source switch instructing it to establish a connection between the source port and the established connection to the destination port.

Individual Virtual Private Local Area Network Service Conversion to a Different Virtual Private Network Service

In one embodiment, a plurality of virtual private local area network services (VPLSs) are operated among a plurality of packet switching devices, with the plurality of VPLSs including a first VPLS and a different second VPLS. In response to a conversion declaration including a particular Service Instance VLAN ID (I-SID), the first VPLS corresponding to the particular I-SID is converted to a different type of virtual private network (VPN) service, while continuing to operate the different second VPLS which is not related to the particular I-SID. In one embodiment, the different type of VPN service is Provider Backbone Bridging Ethernet VPN (PBB-EVPN). In one embodiment, the conversion declaration is a Border Gateway Protocol (BGP) Network Layer Reachability Information (NLRI) of Route Type 3 Inclusive Multicast Ethernet Tag (IMET) route.

Systems and methods for performing debugging operations on networks using a controller

A controller implemented on computing equipment may control switches in a network. The controller may provide flow tables that implement network policies to the switches to control packet forwarding through the network. The controller may provide debug table entries to the switches for use in a debug table that is separate from the flow table. The debug table entries may match incoming network packets and increment corresponding counters on the switches. The controller may retrieve count information from the counters for performing debugging operations on the network. For example, the controller may identify conflicts between fields of a selected flow table entry, determine whether elephant packet flows are present between switches, determine whether desired load balancing is being performed, determine whether a network path has changed, determine whether packet loss has occurred, and/or determine whether network packets are taking undesired paths based on the retrieved count information.

Communication system and communication apparatus

A communication system in which a communication apparatus includes a calculation unit configured to calculate, upon receiving a search signal from a new communication apparatus, a first time length by multiplying a first weighting time length by a relay count in a communication route to a destination, a second time length by multiplying a second weighting time length shorter than the first weighting time length by the signal strength of each communication link in the communication route, and a third time length by adding the first and second time lengths, and a transmission unit configured to transmit a response signal upon passage of the third time length from the receipt of the search signal, wherein upon receiving the response signal from one of the communication apparatuses ahead of any other response signals, the new communication apparatus sets the one of the communication apparatuses as the most adjacent relay point.

Optimization framework for multi-tenant data centers

Systems and methods for decoupled searching and optimization for one or more data centers, including determining a network topology for one or more networks of interconnected computer systems embedded in the one or more data center, searching for routing candidates based on a network topology determined, and updating and applying one or more objective functions to the routing candidates to determine an optimal routing candidate to satisfy embedding goals based on tenant requests, and to embed the optimal routing candidate in the one or more data centers.

Systems and methods for controlling switches to capture and monitor network traffic

A packet forwarding network may include switches that forward network traffic between end hosts that are coupled to the forwarding network. An analysis network may be connected to the forwarding network. A controller may control the switches in the forwarding network to implement desired forwarding paths. The controller may configure the switches to form switch port groups. The controller may identify a port group that is connected to the analysis network. The controller may select a subset of the forwarded packets and may control selected switches to copy the subset to the identified port group. The controller may establish network tunnels between the switches and the port group. In this way, the controller may control the switches to perform efficient traffic monitoring regardless of the location on the forwarding network at which the traffic monitoring network is connected and without interfering with normal packet forwarding operations through the forwarding network.

Network element federation controller and forwarding box

A controller network device, in a network control layer of a service provider network, receives command input for providing services over a service provider network and provides, to a forwarding network device, a first control communication. The first control communication includes an initial output to implement the command input. The controller network device provides, to peer controller network devices, a verification request to verify the initial output of the first control communication; receives, from the peer controller network devices, responses to the verification request that each include a calculated output based on the command input; and applies a verification schema to determine a majority output from the responses. The controller network device compares the initial output to the majority output and sends a second control communication, with a verified output indication, to implement the command input when the initial output matches the majority output.

Virtual private gateways using compute instances

A request to establish a VPN connection between a customer data center and a set of resources of a provider network is received. A new isolated virtual network (IVN) is established to implement a virtual private gateway to be used for the connection. One or more protocol processing engines (PPEs) are instantiated within the IVN, and a respective VPN tunnel is configured between each of the PPEs and the customer data center. Routing information pertaining to the set of resources is provided to the customer data center via at least one of the VPN tunnels, enabling routing of customer data to the set of resources within the provider network from the customer data center.

Calculating bandwidth information in multi-stage networks

Techniques and solutions are provided for calculating bandwidth matrices for multi-stage networks using matrix operations. For example, link status information can be obtained for network devices of the multi-stage network. Using the link status information, link state matrices can be determined representing bandwidth and connectivity between network devices of adjacent stages of the multi-stage network. Bandwidth matrices can then be calculated using the link state matrices. The bandwidth matrices represent how network traffic is distributed to destination devices.