Patent US3044129A successfully refreshed from Google Patents.
Patent US6151297A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6151297A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for link level server/switch trunking

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1997-07-08
•
Granted: 2000-11-21
•
Expires: 2017-07-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system are provided for trunking multiple links between a switch and a server. Server drivers recognize and automatically configure additional installed network interface cards (NICs) or multi-port NICs as group members. A monolithic driver, or an overlaying driver shim makes the group of NICs appear to be a single NIC to the server operating system and clients. Multiple NICs having the same MAC address and appearing on different ports are connected directly to a switch which treats the group as a single logical port. Using a deterministic algorithm, the switch looks up a received packet's destination in the address table. A list of possible ports for reaching the server and a flag indicating that the server is to be reached via this trunked group of ports are retrieved. The switch selects a port based upon the packet's source address. On the trunk to the clients, the server driver performs the same deterministic algorithm on the destination addresses. The invention supports fault tolerance. In one embodiment, a single switch is connected to a server via multiple NIC links. In another embodiment, the server is connected via multiple NIC links to a plurality of switches. To mitigate effects of the same source MAC address appearing on packets received from multiple ports in a group, the switch is notified that it is acceptable to see the server's MAC address appearing on several ports and is directed not to notify the system operator thereof.

Inventors

  • 👤 Paul Congdon
  • 👤 Brian Krelle

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 07:09
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/55; H04L49/557; H04L9/00; H04L9/40; H04L49/25; H04L49/253; H04L49/254; H04L49/35; H04L49/351; H04L69/00; H04L69/14

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 120 words
In a computer network, a method for trunking multiple links between a switch and a server, the server having either of additional network interface cards (NICs) and multi-port NICs installed therein, the method comprising the steps of: recognizing and configuring said additional NICs or multi-port NICs as members of a group; making said group appear to be a single NIC to said server's operating system and clients; treating said group as a trunk having multiple ports; selecting, from a source address of a packet received at said switch, one of said ports to reach said server; and selecting, from a destination address of a packet sent from said server, one of said ports to reach a one of said clients.
Claim 2
Dependent Claim 120 words
In a computer network, a method for trunking multiple links between a switch and a server, the server having either of additional network interface cards (NICs) and multi-port NICs installed therein, the method comprising the steps of: recognizing and configuring said additional NICs or multi-port NICs as members of a group; making said group appear to be a single NIC to said server's operating system and clients; treating said group as a trunk having multiple ports; selecting, from a source address of a packet received at said switch, one of said ports to reach said server; and selecting, from a destination address of a packet sent from said server, one of said ports to reach a one of said clients.
Claim 3
Dependent Claim 17 words
The method of claim 1, wherein said recognizing and configuring step is performed by a server driver.
Claim 4
Dependent Claim 36 words
The method of claim 2, wherein said step of making said group appear to be a single NIC is one of a driver shim overlaying at least one of said server drivers, or a monolithic driver.
Claim 5
Dependent Claim 30 words
The method of claim 1, further comprising the step of one or more of said NICs in said server programming their MAC address to be the same on all interfaces.
Claim 6
Dependent Claim 24 words
The method of claim 1, wherein said step of treating said group as a trunk is performed by a switch connected to said group.
Claim 7
Dependent Claim 30 words
The method of claim 1, wherein said step of selecting a port to reach said server further comprises the step of said switch performing a deterministic algorithm on said packet.
Claim 8
Dependent Claim 114 words
The method of claim 6, wherein said step of performing said deterministic algorithm further comprises the steps of: said switch looking up the destination address of said server packet in an address table of said switch; returning to said switch a flag indicating said server is to be reached via said multiple ports; said flag directing said switch to a table containing the numbers of each of said multiple ports distributed therein as entries; said switch indexing into said table, wherein the lowest M bits of a source MAC address of said packet are used to calculate an index; said switch selecting one of said ports based upon said entry found at said index.
Claim 9
Dependent Claim 74 words
The method of claim 1, wherein said step of selecting a port to reach said client further comprises the steps of: a server driver indexing into a table containing the numbers of said multiple ports distributed therein as entries, wherein the lowest M bits of a destination MAC address of said packet are used to calculate an index; said server driver selecting one of said ports based upon said entry found at said index.
Claim 10
Dependent Claim 34 words
The method of claim 1, further comprising the step of mitigating the effects of a same source MAC address appearing on packets received from said multiple ports and preventing resulting interruptions in said switch.
Claim 11
Dependent Claim 44 words
The method of claim 9, wherein said mitigating step comprises the steps of: notifying said switch that it is acceptable to see said server's source MAC address appearing on said multiple ports; and directing said switch not to notify said network's system operator thereof.
Claim 12
Dependent Claim 13 words
The method of claim 1, further comprising the step of providing fault tolerance.
Claim 13
Dependent Claim 68 words
The method of claim 11, wherein said fault tolerance step comprises the steps of: the switch seeing a MAC address used as said server's source on multiple NIC ports; and the switch selecting one of said multiple ports by looking at said client's MAC address; wherein data communication between said server and said client is maintained in the event of a disruption in a link to said ports.
Claim 14
Dependent Claim 86 words
The method of claim 11, wherein said fault tolerance step comprises the steps of: connecting said server via multiple NIC links to a plurality of switches, in a hubbed tree structure; and connecting said switches together with a switch-to-switch link to create a plurality of paths in said tree, such that a packet may be communicated over any of said paths; wherein data communication between said server and said client is maintained in the event of a disruption in one of said links to said ports.
Claim 15
Dependent Claim 176 words
In a computer network, a method for trunking multiple links between a switch and a server having either of additional network interface cards (NICs) and multi-port NICs installed therein, comprising the steps of: a server driver recognizing and configuring said additional NICs or multi-port NICs as members of a group; making said group appear to be a single NIC to said server's operating system and clients using one of a monolithic driver, or a driver shim overlaying at least one of said server drivers; a switch connected to said group treating said group as a trunk having multiple ports; providing fault tolerance; selecting, from a source address of a packet received at said switch, one of said ports to reach said server; selecting, from a destination address of a packet sent from said server, one of said ports to reach a one of said clients; notifying said switch that it is acceptable to see said server's source MAC address appearing on said multiple ports; and directing said switch not to notify said network's system operator thereof.
Claim 16
Dependent Claim 176 words
In a computer network, a method for trunking multiple links between a switch and a server having either of additional network interface cards (NICs) and multi-port NICs installed therein, comprising the steps of: a server driver recognizing and configuring said additional NICs or multi-port NICs as members of a group; making said group appear to be a single NIC to said server's operating system and clients using one of a monolithic driver, or a driver shim overlaying at least one of said server drivers; a switch connected to said group treating said group as a trunk having multiple ports; providing fault tolerance; selecting, from a source address of a packet received at said switch, one of said ports to reach said server; selecting, from a destination address of a packet sent from said server, one of said ports to reach a one of said clients; notifying said switch that it is acceptable to see said server's source MAC address appearing on said multiple ports; and directing said switch not to notify said network's system operator thereof.
Claim 17
Dependent Claim 70 words
The method of claim 14, wherein said step of providing fault tolerance comprises the steps of: the switch seeing a MAC address used as said server's source on multiple NIC ports; and the switch selecting one of said multiple ports by looking at said client's MAC address; wherein data communication between said server and said client is maintained in the event of a disruption in a link to said ports.
Claim 18
Dependent Claim 88 words
The method of claim 14, wherein said step of providing fault tolerance comprises the steps of: connecting said server via multiple NIC links to a plurality of switches, in a hubbed tree structure; and connecting said switches together with a switch-to-switch link to create a plurality of paths in said tree, such that a packet may be communicated over any of said paths; wherein data communication between said server and said client is maintained in the event of a disruption in one of said links to said ports.
Claim 19
Independent Claim 114 words
A system, in a computer network, for trunking multiple links between a switch and a server, comprising: means for recognizing and configuring either of additional network interface cards (NICs) or multi-port NICs as members of a group; means for making said group appear to be a single NIC to said server's operating system and clients; means for treating said group as a trunk having multiple ports; means for selecting, from a source address of a packet received at said switch, one of said ports to reach said server; and means for selecting, from a destination address of a packet sent from said server, one of said ports to reach a one of said clients.
Claim 20
Independent Claim 114 words
A system, in a computer network, for trunking multiple links between a switch and a server, comprising: means for recognizing and configuring either of additional network interface cards (NICs) or multi-port NICs as members of a group; means for making said group appear to be a single NIC to said server's operating system and clients; means for treating said group as a trunk having multiple ports; means for selecting, from a source address of a packet received at said switch, one of said ports to reach said server; and means for selecting, from a destination address of a packet sent from said server, one of said ports to reach a one of said clients.
Claim 21
Dependent Claim 15 words
The system of claim 17, wherein said recognizing and configuring means is a server driver.
Claim 22
Dependent Claim 34 words
The system of claim 17, wherein said means for making said group appear to be a single NIC is one of a driver shim overlaying at least one server driver or a monolithic driver.
Claim 23
Dependent Claim 24 words
The system of claim 17, further comprising multiple NICs in said server whose MAC addresses are programmed to be the same on all interfaces.
Claim 24
Dependent Claim 39 words
The system of claim 17, wherein said means for treating said group as a trunk and said means for selecting a port to reach said server is one switch connected to said server via multiple NICs in said group.
Claim 25
Dependent Claim 37 words
The system of claim 17, wherein said means for treating said group as a trunk and said means for selecting a port to reach said server is a plurality of NIC links to a plurality of switches.
Claim 26
Dependent Claim 34 words
The system of claim 17, further comprising means to mitigate the effects of a same source MAC address appearing on packets received from said multiple ports and to prevent resulting interruptions in said switch.
Claim 27
Dependent Claim 44 words
The system of claim 23, wherein said mitigating means comprises: means for notifying said switch that it is acceptable to see said server's MAC address appearing on said multiple ports; and means for directing said switch not to notify said network's system operator thereof.
Claim 28
Dependent Claim 12 words
The system of claim 17, further comprising means for providing fault tolerance.
Claim 29
Dependent Claim 74 words
The system of claim 25, wherein said fault tolerance means comprises: means for said switch to see a MAC address used as said server's source on multiple NIC ports; and means for said switch to select one of said multiple ports by looking at said client's MAC address; wherein data communication between said server and said client is maintained in the event of a disruption in a data link to one of said ports.
Claim 30
Dependent Claim 84 words
The system of claim 25, wherein said fault tolerance means comprises: multiple NIC links for connecting said server to a plurality of switches, in a hubbed tree structure; and at least one switch-to-switch link connecting said switches together to create a plurality of paths in said tree, such that a packet may be communicated over any of said paths; wherein data communication between said server and said client is maintained in the event of a disruption in one of said links to said ports.
Claim 31
Dependent Claim 78 words
In a computer network, a method for trunking multiple links between a switch and a network node, the network node having either of additional network interface cards (NICs) and multi-port NICs installed therein, the method comprising the steps of: recognizing and configuring said additional NICs or multi-port NICs as members of a group; making said group appear to be a single NIC to constituents of said network node; and treating said group as a trunk having multiple ports.
Claim 32
Dependent Claim 78 words
In a computer network, a method for trunking multiple links between a switch and a network node, the network node having either of additional network interface cards (NICs) and multi-port NICs installed therein, the method comprising the steps of: recognizing and configuring said additional NICs or multi-port NICs as members of a group; making said group appear to be a single NIC to constituents of said network node; and treating said group as a trunk having multiple ports.
Claim 33
Dependent Claim 53 words
The method of claim 28, further comprising the steps of: selecting, from a source address of a packet received at said switch, one of said ports to reach said network node; and selecting, from a destination address of a packet sent from said network node, one of said ports to reach a client.
Claim 34
Independent Claim 67 words
A system, in a computer network, for trunking multiple links between a switch and a network node, comprising: means for recognizing and configuring either of additional network interface cards (NICs) or multi-port NICs as members of a group; means for making said group appear to be a single NIC to constituents of said network nod; and means for treating said group as a trunk having multiple ports.
Claim 35
Independent Claim 67 words
A system, in a computer network, for trunking multiple links between a switch and a network node, comprising: means for recognizing and configuring either of additional network interface cards (NICs) or multi-port NICs as members of a group; means for making said group appear to be a single NIC to constituents of said network nod; and means for treating said group as a trunk having multiple ports.
Claim 36
Dependent Claim 54 words
The system of claim 30, further comprising: means for selecting, from a source address of a packet received at said switch, one of said ports to reach said network node; and means for selecting, from a destination address of a packet sent from said network node, one of said ports to reach a client.

References Cited (Backward Citations)

US5241677A Cited
US5025491A Cited
US5271003A Cited
US5740157A Cited
US5933584A Cited
US5864535A Cited
US5968126A Cited
US5978951A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-11-21 2004-05-22 2004-11-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-11-21 2008-05-22 2008-11-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-11-21 2012-05-22 2012-11-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag