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

Method and apparatus for making a cluster of computers appear as a single host on a network

Assignee: International Business Machines Corp
•
Filing: 1992-10-14
•
Granted: 1994-12-06
•
Expires: 2012-10-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a method and apparatus for enabling a cluster of computers to appear as a single computer to host computers outside the cluster. A host computer communicates only with a gateway to access destination nodes and processes within the cluster. The gateway has at least one message switch which processes incoming and outgoing port type messages crossing the cluster boundary. This processing comprises examining certain information on the message headers and then changing some of this header information either to route an incoming message to the proper computer node, port and process or to make an outgoing message appear as if originated at the gateway node. The message switch uses a table to match incoming messages to a particular routing function which can be run to perform the changes necessary to correctly route different kinds of messages.

Inventors

  • 👤 Clement R. Attanasio
  • 👤 Stephen E. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 21:58
CPC Classifications
H; H04; H04L; H04L45/00; H04L45/02; H04L45/04; G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5061; G06F2209/00; G06F2209/50; G06F2209/505; H04L67/00; H04L67/2866; H04L67/2895; H04L67/50; H04L67/56; H04L67/563

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 162 words
A method for routing incoming messages across a boundary of a cluster of computer nodes, the cluster connected to one or more networks, comprising the steps of: reading a software communication protocol number in a message header of the message to recognize an incoming message as a software communication protocol port type message, the message having a destination address of a gateway node within the cluster of computer nodes; locating and reading a software communication protocol port number in the message header of the software communication protocol port type message; matching both the software communication protocol port number and the software communication protocol number to an entry in a message switch memory, the matched software communication protocol port number entry being associated with a software communication protocol port specific function which selects a routing destination for the message from a plurality of possible destinations, the destination being a computer node in the cluster; and routing the message to the computer node destination.
Claim 2
Independent Claim 162 words
A method for routing incoming messages across a boundary of a cluster of computer nodes, the cluster connected to one or more networks, comprising the steps of: reading a software communication protocol number in a message header of the message to recognize an incoming message as a software communication protocol port type message, the message having a destination address of a gateway node within the cluster of computer nodes; locating and reading a software communication protocol port number in the message header of the software communication protocol port type message; matching both the software communication protocol port number and the software communication protocol number to an entry in a message switch memory, the matched software communication protocol port number entry being associated with a software communication protocol port specific function which selects a routing destination for the message from a plurality of possible destinations, the destination being a computer node in the cluster; and routing the message to the computer node destination.
Claim 3
Dependent Claim 42 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 1, where the function modifies the destination address in the message header to that of the address of the destination node selected by the function.
Claim 4
Dependent Claim 41 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 2, where the function also modifies a destination port number in the message header to that of a port number on the destination node.
Claim 5
Dependent Claim 39 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 1, where there is no matched entry in the message switch memory and the destination node is computed by a routing algorithm.
Claim 6
Dependent Claim 36 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 4, where the algorithm determines the destination node address by using the destination port number in the message header.
Claim 7
Dependent Claim 55 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 1, where messages are sent to the selected destination node without changing the destination address field in the message header, and the destination node accepts any message having a destination address recognized by a cluster gateway message switch.
Claim 8
Dependent Claim 39 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 1, where the message which is to be routed to a failed node is routed to an operating node in the cluster.
Claim 9
Independent Claim 162 words
A method for routing incoming messages across a boundary of a cluster of computer nodes, the cluster connected to one or more networks, comprising the steps of: reading a software communication protocol number in an IP message header to recognize the incoming message as a software communication protocol port type message, the IP message header being on a message with a destination address of a gateway within the cluster of computer nodes; locating and reading a software communication protocol port number in the message header of the software communication protocol port type message; matching both the software communication protocol port number and the software communication protocol number to an entry in a message switch memory, the matched software communication protocol port number entry being associated with a port specific function which selects a routing destination for the message from a plurality of possible destinations, the destination being a computer node in the cluster; and routing the message to the computer node destination.
Claim 10
Independent Claim 162 words
A method for routing incoming messages across a boundary of a cluster of computer nodes, the cluster connected to one or more networks, comprising the steps of: reading a software communication protocol number in an IP message header to recognize the incoming message as a software communication protocol port type message, the IP message header being on a message with a destination address of a gateway within the cluster of computer nodes; locating and reading a software communication protocol port number in the message header of the software communication protocol port type message; matching both the software communication protocol port number and the software communication protocol number to an entry in a message switch memory, the matched software communication protocol port number entry being associated with a port specific function which selects a routing destination for the message from a plurality of possible destinations, the destination being a computer node in the cluster; and routing the message to the computer node destination.
Claim 11
Dependent Claim 42 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 8, where the function modifies the destination address in the message header to that of the address of the destination node selected by the function.
Claim 12
Dependent Claim 42 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 9, where the function also modifies the destination port number in the IP message header to that of a port number on the destination node.
Claim 13
Dependent Claim 38 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 8, where there is no matched entry in the message switch memory, and the destination is computed by a routing algorithm.
Claim 14
Dependent Claim 36 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 11, where the algorithm determines the destination node address by using the destination port number in the message header.
Claim 15
Dependent Claim 26 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 8, where the protocol number is a UDP identifier.
Claim 16
Dependent Claim 25 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 13, where the UDP protocol number is 17.
Claim 17
Dependent Claim 34 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 8, where there is more than one destination node in the cluster using a common port number.
Claim 18
Dependent Claim 30 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 15, where the common port number is the port number associated with NFS.
Claim 19
Dependent Claim 30 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 15, where the common port number is the port number associated with RLOGIN.
Claim 20
Dependent Claim 54 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 8, where the message is a MOUNT type request for a filehandle and part of the message is a data field which contains a filesystem name that was requested by the source host of the MOUNT request.
Claim 21
Dependent Claim 37 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 18, where the selected node returns the filehandle which includes a destination node identifier used by a later NFS request.
Claim 22
Dependent Claim 34 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 8, where the message is a NFS type request and the message data field contains a filehandle.
Claim 23
Dependent Claim 26 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 20, where the filehandle includes a destination node identifier.
Claim 24
Dependent Claim 26 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 8, where the protocol number is a TCP identifier.
Claim 25
Dependent Claim 25 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 22, where the TCP protocol number is 6.
Claim 26
Dependent Claim 52 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 22, where the function is a connection manager which routes the message to a destination computer node in the cluster based on the values of a source port number and a source IP address number.
Claim 27
Dependent Claim 30 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 24, where the destination computer node for new connections is determined by algorithm.
Claim 28
Dependent Claim 38 words
A method of routing incoming messages across a boundary of a cluster of computers, as in claim 25, where the algorithm determines the destination computer node in a way to balance a load among nodes in the cluster.
Claim 29
Dependent Claim 24 words
A method of routing incoming messages across a boundary of a cluster of computer, as in claim 26, where the algorithm is a round-robin.
Claim 30
Dependent Claim 42 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 25, where the algorithm ensures that, for each external source host, all TCP messages from that source host are routed to the same destination node.
Claim 31
Dependent Claim 57 words
A method of routing incoming messages across the boundary of a cluster of computers, as in claim 8, where messages are sent to the selected destination node without changing the destination IP address field in the message header, and the destination node accepts any message having a destination IP address recognized by a cluster gateway message switch.
Claim 32
Dependent Claim 38 words
A method of routing incoming messages, as in claim 12, where the software communication protocol number in the IP message header is a TCP protocol number and the software communication protocol port number is a TCP port number.
Claim 33
Dependent Claim 29 words
A method of routing an incoming TCP connection based message across a boundary of a cluster of computers, as in claim 30, where the message is a RLOGIN type.
Claim 34
Dependent Claim 29 words
A method of routing an incoming TCP connection based message across a boundary of a cluster of computers, as in claim 30, where the message is a REEXEC type.
Claim 35
Dependent Claim 29 words
A method of routing an incoming TCP connection based message across a boundary of a cluster of computers, as in claim 30, where the message is a RSH type.
Claim 36
Dependent Claim 29 words
A method of routing an incoming TCP connection based message across a boundary of a cluster of computers, as in claim 30, where the message is a TELNET type.
Claim 37
Independent Claim 188 words
An apparatus for routing messages across a boundary of a cluster of computers on a network, comprising: two or more computers connected together by an interconnect in a cluster, each computer being a node of the cluster; one or more computer nodes in the cluster being a gateway node to the cluster, the gateway node being connected to the network at a cluster boundary and having a software communication protocol address on the network, the protocol address being the address of the gateway and the cluster; a message switch, residing in the gateway node which matches both a message software communication protocol number and destination software communication protocol port number of the message coming into the cluster from the network to an entry in a table in the message switch memory; and one or more routing functions, residing in the message switch table, one of the routing functions associated with the matched table entry which is used for directing messages crossing the cluster boundary into the cluster to a destination node within the cluster, the destination node being determined by the message switch using information on the message.
Claim 38
Independent Claim 188 words
An apparatus for routing messages across a boundary of a cluster of computers on a network, comprising: two or more computers connected together by an interconnect in a cluster, each computer being a node of the cluster; one or more computer nodes in the cluster being a gateway node to the cluster, the gateway node being connected to the network at a cluster boundary and having a software communication protocol address on the network, the protocol address being the address of the gateway and the cluster; a message switch, residing in the gateway node which matches both a message software communication protocol number and destination software communication protocol port number of the message coming into the cluster from the network to an entry in a table in the message switch memory; and one or more routing functions, residing in the message switch table, one of the routing functions associated with the matched table entry which is used for directing messages crossing the cluster boundary into the cluster to a destination node within the cluster, the destination node being determined by the message switch using information on the message.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-12-05 1998-06-06 1998-12-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-12-05 2002-06-06 2002-12-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-12-05 2006-06-06 2006-12-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag