Software emulated switching of dual network devices
AssigneeMicrosoft Technology Licensing, LLC
InventorsGerald Roy DEGRACE, Lihua Yuan, Xin Liu
Life of this patent
Estimating the term…
Abstract
In an environment comprising a group of servers and at least two network devices, a link fault is detected. A data cable connects each of the servers to both network devices. An active communication path from one of the network devices to the servers is determined. In response to detecting a failure of the active communication path, a second of the network devices is indicated as the active network device. The configuration is detected by the network devices based on packets received at the network devices.
Claims20
A method for routing data at a network comprising a plurality of servers and at least two network devices, the servers communicatively coupled to network interfaces of the network devices using a plurality of data cables, the data cables each comprising a switch device configured to switch communication paths to the coupled network devices, each of the data cables communicatively coupling each of the network devices to one of the plurality of servers so that each of the servers has a communications path to each of the network devices and a switchable communications path from each of the network devices, wherein the network devices do not arbitrate active/passive status via direct communication, the method comprising:
- determining validity of a communication path from a first of the network devices to a first of the communicatively coupled servers, the communication path corresponding to a first of the data cables connecting a first of the network interfaces to the first communicatively coupled server;
- causing the switch device of the first data cable to connect the first network interface to the first communicatively coupled server when the communication path from the first network device is determined to be valid;
- sending, by the first network device, a request packet to the first communicatively coupled server;
- sending, by a second of the network devices, a request packet to the first communicatively coupled server;
- receiving, by the first and second network devices, a reply packet from the first communicatively coupled server, wherein the reply packet is generated based only on the request packet sent by the first network device based on the first data cable connecting the first network interface to the first communicatively coupled server;
- based on data contained in the reply packet indicating that the request packet sent by the first network device was acknowledged, determining, by the first network device, that the first network device is an active network device, wherein the determining is performed independently of communication with the second network device;
- and
- forwarding, by the first network device, data packets to the first communicatively coupled server based on its status as the active network device.
A system comprising:
- a plurality of servers;
- at least two switches;
- and
- a plurality of data cables each having a switching device,
- the servers communicatively coupled to network interfaces of the switches using the plurality of data cables, the switch devices configured to switch communication paths between the switches, each of the data cables communicatively coupling the switches to one of the plurality of servers so that each of the servers has a communications path to each of the switches and a switchable communications path from each of the switches,
- wherein the switch device of a first data cable connects a first network interface to a first communicatively coupled server when the communication path from a first of the switches to a first of the communicatively coupled servers is determined to be valid, the communication path corresponding to a first of the data cables connecting a first network interface to the first communicatively coupled server;
- the switches configured to:
- send, by the first switch, a request packet;
- send, by a second of the switches, a request packet;
- receive, by the first and second switches, a reply packet from the first communicatively coupled server, wherein the reply packet is generated based only on the request packet sent by the first switch based on the first data cable connecting the first network interface to the first communicatively coupled server;
- based on data contained in the reply packet indicating that the request packet sent by the first switch was acknowledged, determine, by the first switch, that the first switch is an active switch;
- and
- forward, by the first switch, data packets to the first communicatively coupled server based on its status as the active switch.
A network device, network interfaces of the network device communicatively coupled to a server using a data cable comprising a switch device configured to switch communication paths to the network device, the data cable communicatively coupling the network device to the server so that the server has a switchable communications path to the network device and a second network device, wherein the network device and the second network device do not arbitrate active/passive status via direct communication, the network device configured to:
- send a request packet;
- receive a reply packet from a communicatively coupled server, wherein the reply packet is generated based only on the request packet sent by the network device based on the data cable connecting the network device to the communicatively coupled server;
- based on data contained in the reply packet indicating that the request packet sent by the network device was acknowledged, determine, by the network device, that it is an active network device of a plurality of network devices;
- and
- forward, by the network device, data packets to the communicatively coupled server based on its status as the active network device.
Dependencies are inferred from the claim text.