TCP forwarding of client requests of high-level file and storage access protocols in a network file server system
First Claim
1. A method of operation of multiple server computers connected by a data network to client computers for providing the client computers with access to file systems in accordance with a plurality of high-level protocols in which access requests indicate respective file systems to be accessed, access to each of the file systems being managed by a respective one of the server computers, said method comprising:
- for each of the plurality of high-level protocols, setting up a respective mesh of Transmission Control Protocol (TCP) connections between the server computers for forwarding, between the server computers, access requests in accordance with said each of the plurality of high-level protocols;
each mesh having a respective pair of TCP connections in opposite directions between each pair of the server computers; and
each of the server computers responding to receipt of client requests for access in accordance with the high-level protocols by forwarding at least some of the client requests for access in accordance with the high-level protocols over the respective meshes to other ones of the server computers that manage access to the file systems indicated by said at least some of the client requests for access.
1 Assignment
0 Petitions
Accused Products
Abstract
For each high-level protocol, a respective mesh of Transmission Control Protocol (TCP) connections is set up for a cluster of server computers for the forwarding of client requests. Each mesh has a respective pair of TCP connections in opposite directions between each pair of server computers in the cluster. The high-level protocols, for example, include the Network File System (NFS) protocol, and the Common Internet File System (CIFS) protocol. Each mesh can be shared among multiple clients because there is no need for maintenance of separate TCP connection state for each client. The server computers may use Remote Procedure Call (RPC) semantics for the forwarding of the client requests, and prior to the forwarding of a client request, a new unique transaction ID can substituted for an original transaction ID in the client request so that forwarded requests have unique transaction IDs.
-
Citations
20 Claims
-
1. A method of operation of multiple server computers connected by a data network to client computers for providing the client computers with access to file systems in accordance with a plurality of high-level protocols in which access requests indicate respective file systems to be accessed, access to each of the file systems being managed by a respective one of the server computers, said method comprising:
-
for each of the plurality of high-level protocols, setting up a respective mesh of Transmission Control Protocol (TCP) connections between the server computers for forwarding, between the server computers, access requests in accordance with said each of the plurality of high-level protocols;
each mesh having a respective pair of TCP connections in opposite directions between each pair of the server computers; and
each of the server computers responding to receipt of client requests for access in accordance with the high-level protocols by forwarding at least some of the client requests for access in accordance with the high-level protocols over the respective meshes to other ones of the server computers that manage access to the file systems indicated by said at least some of the client requests for access. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operation of multiple server computers connected by a data network to client computers for providing access to file systems in accordance with a plurality of high-level protocols in which access requests indicate respective file systems to be accessed, access to each of the file systems being managed by a respective one of the server computers, said method comprising:
-
for each of the plurality of high-level protocols, setting up a respective mesh of Transmission Control Protocol (TCP) connections between the server computers for forwarding, between the server computers, access requests in accordance with said each of the plurality of high-level protocols;
each mesh having a respective pair of TCP connections in opposite directions between each pair of the server computers; and
each of the server computers responding to receipt of client requests for access in accordance with the high-level protocols by forwarding at least some of the client requests for access in accordance with the high-level protocols over the respective meshes to other ones of the server computers that manage access to the file systems indicated by said at least some of the client requests for access;
wherein the high-level protocols include the Network File System (NFS) protocol, and the Common Internet File System (CIFS) protocol;
wherein each mesh is shared among multiple ones of the client computers and there is no maintenance of separate TCP connection state for each of the multiple ones of the client computers;
wherein the server computers use Remote Procedure Call (RPC) semantics for the forwarding of said at least some of the client requests for access in accordance with the high-level protocols over the respective meshes to other ones of the server computers that manage access to the file systems indicated by said at least some of the client requests for access;
which includes at least one of the client computers having an IP address and sending from the IP address to at least one of the server computers at least one request for access including an original transaction ID, and said at least one of the server computers responding to receipt of said at least one request for access by assigning a new transaction ID to said at least one client request, caching a mapping of the new transaction ID with the original transaction ID and the IP address, substituting the new transaction ID for the original transaction ID in said at least one request for access, and forwarding said at least one request for access including the substituted new transaction ID to another one of the server computers that manages access to a file system that is indicated by said at least one request for access; and
which includes said at least one of the server computers receiving a reply including the new transaction ID from said another one of the server computers that manages access to the file system that is indicated by said at least one request for access, and in response said at least one of the server computers obtaining the new transaction ID from the reply and using the new transaction ID from the reply to lookup the cached original transaction ID and the IP address, in order to replace the new transaction ID in the reply with the original transaction ID and return the reply to the IP address of said at least one of the client computers.
-
-
12. A network file server system for connection via a data network to client computers for providing the client computers with access to file systems in accordance with a plurality of high-level protocols in which access requests indicate respective file systems to be accessed;
- said network file server system comprising, in combination;
multiple server computers for connection via the data network to the client computers, the plurality of server computers being programmed so that access to each of the file systems is managed by a respective one of the server computers, said server computers being programmed for setting up a respective mesh of Transmission Control Protocol (TCP) connections between the server computers for forwarding, between the server computers, access requests in accordance with said each of the plurality of high-level protocols, each mesh having a respective pair of TCP connections in opposite directions between each pair of the server computers; and
each of the server computers being programmed for responding to receipt of client requests for access in accordance with the high-level protocols by forwarding at least some of the client requests for access in accordance with the high-level protocols over the respective meshes to other ones of the server computers that manage access to the file systems indicated by said at least some of the client requests for access. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
- said network file server system comprising, in combination;
Specification