Method and system for link level server/switch trunking

Multiplex communications – Pathfinding or routing – Switching a message which includes an address header

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C370S401000, C370S420000, C370S463000, C370S340000

Reexamination Certificate

active

06804233

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field
More particularly, the invention relates to a method and system, including a failover system, for trunking multiple links between a switch and a server.
2. Description of the Prior Art
As the use of networked computer systems increases, the need has arisen to provide additional bandwidth to handle the electronic traffic on the network. For example, inadequate bandwidth can result in data stalling in the pipeline between a client and a server. This stalling can significantly limit network performance.
Network interface cards (NIC) are the attachments that are used to connect a server or any computing device to a network. Such NICs include, for example, Ethernet cards or Token Ring cards that plug into a desktop computer or server. The NIC implements the physical layer signaling and the Media Access Control (MAC) for a computer attached to a network. Adding additional NICs to a computer effectively attaches the computer to a network multiple times. This increases the potential bandwidth into the network proportionally.
Load balancing is a technique used to reduce data bottlenecks caused by an overloaded communications network. In load balancing, the traffic between a server and a network over multiple NICs is balanced. Such load balancing typically requires software and a bridge or Ethernet switch between the server and client(s). Load balancing software, such as BALANCE.NLM from Network Specialists, Inc. of Lyndhurst, N.J. and SWITCH.NLM from Kalpana of Sunnyvale, Calif., is available in the form of a NetWare loadable module (NLM). This software is used for servers running Novell, Inc. NetWare NOS software.
Load balancing also provides fault tolerance, which maintains data communication between the server and the network in the event of a disruption in a data link. In a “failover” system, for example, a secondary link takes over the load if the primary link fails, such that signal continuity is maintained.
FIG. 1
is a schematic diagram of a failover system
10
according to the prior art, in which data are transmitted between the server
12
and clients
22
via a generic switch
24
. Multiple links
18
,
20
connect the switch to the server
12
. Software drivers
16
control the transmission of data to and from the server over these links. If, for example, a NIC or network cable fails, traffic between the server and the network is passed to other functioning connections. Each NIC has an associated MAC address which is required for the NIC to receive packets on the network. In
FIG. 1
, the NICs for links
18
and
20
each have different MAC addresses, designated “A” and “A′”. Only one of these NICs is active at a time. No clients are attached to the standby NIC (A′). Thus, if the primary NIC (A) fails, the standby NIC assumes its address in accordance with the server protocol
14
.
“Trunking” is another scheme for increasing bandwidth to the server.
FIG. 2
is a schematic diagram of a trunking system
28
according to the prior art, in which data are transmitted between the server and the clients
22
via a generic switch
24
. Trunking is used with multiple server
etwork interfaces. In
FIG. 2
, multiple links
18
,
26
link the switch to the server. The MAC addresses designated “A” and “B” are different for each of the NICs associated with the links
18
,
26
. Software drivers
16
control the flow of data to and from the server through these links. Using multiple network interfaces may result in a complex system configuration. Trunking minimizes this complexity by presenting the server as a single entity to the clients in the network. In an ideal trunking configuration, multiple interfaces in the server are also presented to the server as a single interface.
A server typically has three levels of addressing. The first level is a Name, often an ASCII string such as “Server1.” The second addressing level is the Network Address, for example, an IP address such as “111.22.33.44.” The third level is the MAC address. Different levels of software in the client identify the server by these different addresses.
Typically, a higher level address is mapped to a single instance of the address at the next level down. For example, a Name maps to a single IP address which maps to a single MAC address. In applications that employ trunking, multiple instances of addressing to the next level down are implemented. These multiple instances must be mapped into a single upper layer address. This mapping function is performed by the network protocols
14
. For example, if a client has the name of the server to which it is to be connected but does not have the IP server's address, it invokes an address resolution protocol to determine the server's IP address. Thus, one function of the protocols is to resolve a lower layer address, given the address at a next layer up. These protocols are typically request/reply protocols.
Trunking involves identifying a portion in the client-to-server communication process where a mapping may be performed to allow a single server to use multiple network interfaces. This mapping may be performed at either of two points during the client-to-server communication process by using address resolution protocols. For example, Server Name to Network Level Address Mapping includes Domain Name Services (DNS) and NetBIOS name resolution; and Network Level Address to MAC Address Mapping includes Address Resolution Protocol (ARP) and General Server Query/Nearest Server Query (GSQ/NSQ). DNS and ARP are Internet protocols, while GSQ/NSQ is a protocol of Novell, Inc.
With lower level mapping, there is more opportunity for NICs and switches to participate in the trunking process. For example, BALANCE.NLM trunking supports any third-party NIC or switch. A separate media access controller (MAC) address is used for each NIC for a single network address. BALANCE.NLM requires a high software overhead, and its fault-tolerance scheme relies on higher-layer support or dropped connections.
The BALANCE.NLM driver captures information generated during the network address to MAC address mapping process to “spoof”. The term “spoofing” refers to performing a process in a way that gives the appearance that the process was performed in a standard way, although the process was actually performed in a non-standard way. In the case of BALANCE.NLM, it appears to a client that it's receiving the MAC address which maps to the server's network address. It also appears to the client that there is only one such MAC address, as is normally true. In actuality, the software spoofs the normal process by allowing multiple MAC addresses to be used.
Switch/NIC coordination schemes do not support third-party NICs or switches. A low level of software overhead is required for the driver in the outbound (sending) direction. No software is required in the inbound (receiving) direction. The server selects an output link via a simple function on the destination address. The switch selects the trunk link to the server based upon the same function on the source address. Connectivity is not lost if the link in the trunk fails. In such scheme, the same MAC address is used for all NICs. Thus, the NIC driver-to-switch protocol can be designed to permit auto-configuration.
Another trunking scheme uses a switch as a NIC card, or implements a switch in software using multiple NIC cards. In this scheme, there is a single MAC address for server identification of clients. The network operating system treats the switch as a NIC. The correct output link for delivery of traffic to clients is resolved by the switch card. This scheme requires either switching NICs, or requires significant server overhead. In such scheme, a spanning tree configuration is used to provide fault tolerance in case of failover. A switch address mapping scheme may be used to reduce software overhead. Such scheme supports third-party NICs. A switch software module is required to communicate to the switch. The switch actively participates in the address resolution process and

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for link level server/switch trunking does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for link level server/switch trunking, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for link level server/switch trunking will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3282835

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.