Method for using outgoing TCP/IP sequence number fields to...

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

C370S351000, C370S352000, C370S392000, C370S400000, C370S465000, C370S466000, C370S474000, C370S902000, C370S912000, C709S227000, C709S230000, C709S238000

Reexamination Certificate

active

06671273

ABSTRACT:

BACKGROUND OF THE INVENTION
Generally speaking, computer systems typically include one or more central processor nodes, referred to simply as “processor nodes” or “nodes”. Each of those processor nodes includes one or more network interface modules, connected to a computer network, for communicating with other processor nodes. Each network interface module has an associated network layer address or IP address to which packets of information are directed. The network layer address allows processor nodes to communicate with one another by sending those packets of information across the computer network. Each packet includes a header that contains the network layer addresses of the originating, or source, processor node and of the destination processor node.
Groups of processor nodes can be connected in an arrangement referred to as a “cluster”. Generally, processor nodes within a cluster are more tightly coupled than in a general network environment and act in concert with one another. For example, all of the processor nodes within a cluster can share a common file system such that they are able to access the same files. Also, each of the processor nodes within the cluster can use the same security domain files such that the same user name and password may be utilized to log on to any of the processor nodes.
A cluster should appear as a single processor node to clients accessing that cluster. In other words, a cluster should present a common set of software services that can be executed by any of the associated processor nodes. Therefore, regardless of which processor node is accessed by a client, the same services will be provided. In such a manner, processor nodes can be seamlessly added to the cluster to increase the capacity of those services without the cluster looking any different to the client.
To make a cluster appear to be a single processor node, it should have a single network layer address. That network layer address should not be tied to one specific node within the cluster but rather should be collectively associated with all the processor nodes. To that end, the cluster's network layer address must be accessible regardless of what the current membership of the cluster is. The current membership of a cluster is defined by the nodes that are “up” and capable of running the software services required by any client accessing the cluster. Accordingly, a client accessing the cluster over a network does not need to know which nodes within the cluster are currently up and running in order to access the software services that the cluster provides. Such a network layer address is referred to as a “cluster alias address”. In order to direct incoming data packets, each processor node within the cluster has the ability to distribute those packets to the appropriate processor node for servicing. The processor node receiving the data packet will hereinafter be referred to as the “receiving processor node” for that transaction. When a data packet is received by the cluster, the receiving processor node determines what type of data packet it is. For example, most data packets correspond to the TCP/IP or UDP network protocols. The receiving processor node further determines whether the data packet is associated with an existing connection to an application running on one of the processor nodes within the cluster or whether a new connection must be established. Generally, when a connection is established, it means that an application running on one of the processor nodes of the cluster is dedicated to servicing data packets sent by the associated client. Also, that application can return data to the client via the connection.
If the data packet is associated with an existing connection to a processor node within the cluster, the receiving processor node performs an operation for determining the identity of that processor node. To that end, data packets typically include a header portion that contains information about the existing connection to which it is associated. That header portion includes the network layer address of the processor node from which it was sent, the TCP port number of the application from which it was sent, the network layer address of the destination processor node, or in this case the cluster alias address, the TCP port number of the application running on the destination processor node and the protocol type to which the data packet conforms. The receiving processor node maintains a look-up table of that information for each existing connection within the cluster. That look-up table is referred to as the “connection registration database” or CRD. Each time a new connection is established, the details of that connection must be registered in the connection registration database of every node in the cluster. This is because as packets move across the network they may be initially directed to different nodes within the cluster. Registering each such connection, as it is generated, across multiple nodes in the cluster presents an untenable amount of overhead. That overhead is particularly detrimental in highly active computer systems such as web servers.
Accordingly, a method is needed for providing connection information to a receiving processor node, within a cluster, without the need for that information to be synchronously registered in the connection registration database of every cluster node at the time the connection is created.
SUMMARY OF THE INVENTION
The foregoing problems of registering connection information in a connection registration database are overcome by the present invention. In accordance with the present invention, a method is provided for encoding connection information in the sequence number field of an outgoing TCP/IP data packet header. That connection information includes the identity within the cluster of the processor node to which the packet is associated. With such an invention, a connection registration database is only updated after a relatively large amount of data has been transferred across a connection. Connections that do not send more than that amount of data do not need to be registered. Accordingly, overhead operations associated with registering connection information are minimized.


REFERENCES:
patent: 4799215 (1989-01-01), Suzuki
patent: 4815071 (1989-03-01), Shimizu
patent: 4884263 (1989-11-01), Suzuki
patent: 5371852 (1994-12-01), Attanasio et al.
patent: 5790546 (1998-08-01), Dobbins et al.
patent: 5828318 (1998-10-01), Cesar
patent: 5862348 (1999-01-01), Pederson
patent: 5918017 (1999-06-01), Attanasio et al.
patent: 5930259 (1999-07-01), Katsube et al.
patent: 5996089 (1999-11-01), Mann
patent: 6006259 (1999-12-01), Adelman et al.
patent: 6016319 (2000-01-01), Kshirsagar et al.
patent: 6044402 (2000-03-01), Jacobson et al.
patent: 6061349 (2000-05-01), Coile et al.
patent: 6078957 (2000-06-01), Adelman et al.
patent: 6108708 (2000-08-01), Iwata
patent: 6182224 (2001-01-01), Phillips et al.
patent: 6192411 (2001-02-01), Chan et al.
patent: 6195680 (2001-02-01), Goldszmidt et al.
patent: 6253230 (2001-06-01), Couland et al.
patent: 6266335 (2001-07-01), Bhaskaran
patent: 6317775 (2001-11-01), Coile et al.
patent: 6324177 (2001-11-01), Howes et al.
patent: 6327622 (2001-12-01), Jindal et al.
patent: 6330605 (2001-12-01), Christensen et al.
patent: 6335919 (2002-01-01), Maegawa
patent: 6370584 (2002-04-01), Bestarvos et al.
patent: 6470389 (2002-10-01), Chung et al.

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 for using outgoing TCP/IP sequence number fields to... 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 for using outgoing TCP/IP sequence number fields to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for using outgoing TCP/IP sequence number fields to... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3117422

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