Electrical computers and digital processing systems: multicomput – Computer-to-computer protocol implementing – Computer-to-computer data transfer regulating
Reexamination Certificate
1996-11-13
2001-10-02
Harrell, Robert B. (Department: 2152)
Electrical computers and digital processing systems: multicomput
Computer-to-computer protocol implementing
Computer-to-computer data transfer regulating
C709S203000, C709S213000
Reexamination Certificate
active
06298386
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a network file server, and more particularly to a network file server servicing a number of clients simultaneously.
2. Background Art
A network file server may support any number of client-server communication protocols, such as the User Datagram Protocol (UDP) and the Transmission Control Protocol (TCP).
UDP is a connectionless protocol. There is one fast pipe or stream of messages (e.g., requests) over a network link from a number of clients to one or more servers. The messages get mixed together during transmission in the pipe.
TCP is a connection oriented protocol. Each client is assigned a separate pipe to a respective server.
The servers execute code threads that service respective client messages. In the UDP case, there are lots of code threads to service client messages.
In the TCP case, the threads are assigned to respective pipes, and the pipes are assigned to respective clients. Therefore, the threads remain connected to the respective clients. There are fewer TCP threads, and some threads are very busy and others are not very busy, since the threads remain connected to the clients.
SUMMARY OF THE INVENTION
The inventors have recognized that there is a performance loss associated with servicing a TCP pipe by maintaining a connection between a server thread and a client for a series of messages. As a result of maintaining this connection, there is less balance; some threads work harder than others, causing a loss of performance. This occurs in Network File System (NFS) servers, such as NFS servers from Sun Microsystems Inc. and Digital Equipment Corp.
In accordance with a basic aspect of the invention, a collector queue minimizes the loss of performance due to thread imbalance when servicing messages from a connection oriented process concurrent with other processes. The collector queue combines messages from the connection oriented process with messages from the other concurrent processes. The other concurrent processes may include connection oriented processes such as TCP and connectionless processes such as UDP. The threads of the server receive messages from the collector queue rather than individual pipes. Any idle thread can pick up a message from the collector queue. The collector queue keeps track of which pipe each message came from so that the reply of the server to each message is directed to the same pipe from which the message came from. Therefore the collector queue ensures thread balance and efficiency in servicing the messages.
In the preferred implementation, each entry in the collector queue includes a message pointer and a pipe pointer. The message pointer points to allocated memory storing the message in a message buffer. The pipe pointer points to the pipe from which the message originated. The collector queue is a singly linked list. There is a pool of threads, and a free thread takes an entry off the collector queue, interprets the message of the entry, sends a reply, and deallocates the memory of the entry and the allocated memory storing the message in the message buffer.
REFERENCES:
patent: 4608688 (1986-08-01), Hansen et al.
patent: 4649473 (1987-03-01), Hammer et al.
patent: 4755928 (1988-07-01), Johnson et al.
patent: 5021949 (1991-06-01), Morten et al.
patent: 5175837 (1992-12-01), Arnold et al.
patent: 5206939 (1993-04-01), Yanai et al.
patent: 5208665 (1993-05-01), McCalley et al.
patent: 5218695 (1993-06-01), Noveck et al.
patent: 5243595 (1993-09-01), Woest et al.
patent: 5255270 (1993-10-01), Yanai et al.
patent: 5269011 (1993-12-01), Yanai et al.
patent: 5276860 (1994-01-01), Fortier et al.
patent: 5276867 (1994-01-01), Kenley et al.
patent: 5335352 (1994-08-01), Yanai et al.
patent: 5341493 (1994-08-01), Yanai et al.
patent: 5367698 (1994-11-01), Webber et al.
patent: 5371532 (1994-12-01), Gelman et al.
patent: 5371850 (1994-12-01), Belsan et al.
patent: 5381539 (1995-01-01), Yanai et al.
patent: 5408465 (1995-04-01), Gusella et al.
patent: 5410343 (1995-04-01), Coddington et al.
patent: 5414455 (1995-05-01), Hooper et al.
patent: 5442390 (1995-08-01), Hooper et al.
patent: 5442771 (1995-08-01), Filepp et al.
patent: 5477263 (1995-12-01), O'Callaghan et al.
patent: 5508732 (1996-04-01), Bottomley et al.
patent: 5508733 (1996-04-01), Kassatly
patent: 5528282 (1996-06-01), Voeten et al.
patent: 5528513 (1996-06-01), Vaitzblit et al.
patent: 5530557 (1996-06-01), Asit et al.
patent: 5533021 (1996-07-01), Branstad et al.
patent: 5534912 (1996-07-01), Kostreski
patent: 5537408 (1996-07-01), Branstad et al.
patent: 5539660 (1996-07-01), Blair et al.
patent: 5544313 (1996-08-01), Shachnai et al.
patent: 5544327 (1996-08-01), Dan et al.
patent: 5544345 (1996-08-01), Carpenter et al.
patent: 5544347 (1996-08-01), Yanai et al.
patent: 5550577 (1996-08-01), Verbiest et al.
patent: 5553005 (1996-09-01), Voeten et al.
patent: 5555265 (1996-09-01), Kakuma et al.
patent: 5555396 (1996-09-01), Alferness et al.
patent: 5557317 (1996-09-01), Nishio et al.
patent: 5557611 (1996-09-01), Cappellari et al.
patent: 5559949 (1996-09-01), Reimer et al.
patent: 5572678 (1996-11-01), Homma et al.
patent: 5583561 (1996-12-01), Baker et al.
patent: 5586264 (1996-12-01), Belknap et al.
patent: 5594910 (1997-01-01), Filepp et al.
patent: 5603058 (1997-02-01), Belknap et al.
patent: 5619650 (1997-04-01), Bach et al.
patent: 5619697 (1997-04-01), Nishida
patent: 5640596 (1997-06-01), Takamoto et al.
patent: 5710923 (1998-01-01), Jennings et al.
patent: 5717745 (1998-02-01), Vijay et al.
patent: 5745685 (1998-04-01), Kirchner et al.
patent: 5787300 (1998-07-01), Wijaya
patent: 5796954 (1998-08-01), Hanif et al.
patent: 5797005 (1998-08-01), Bahls et al.
patent: 5799173 (1998-08-01), Gossler et al.
patent: 5867562 (1999-02-01), Scherer
patent: 5893140 (1999-04-01), Vahalia et al.
patent: 5918018 (1999-06-01), Gooderum et al.
patent: 5933603 (1999-08-01), Vahalia et al.
patent: 5948062 (1999-09-01), Tzelnic et al.
patent: 5966531 (1999-10-01), Skeen et al.
patent: 5987611 (1999-11-01), Freund
patent: 6009463 (1999-12-01), Brandt et al.
patent: 0 061 570 A3 (1982-10-01), None
patent: 633694 (1995-01-01), None
patent: 0 683 464 A2 (1995-11-01), None
patent: 0 697 660 A1 (1996-02-01), None
patent: 0 701 372 A1 (1996-03-01), None
patent: WO 93/16557 (1993-08-01), None
patent: WO 94/00816 (1994-01-01), None
patent: WO 95/10918 (1995-04-01), None
W. Richard Stevens, TCP/IP Illustrated vol. I, The Protocols, 1994.*
RFC 793, Transmission Control Protocol DARPA Internet Program, Protocol Specification, 1994.*
M(aurice) William Collins, “A Network File Storage System,” IEEE Seventh Symposium on Mass Storage Systems, Nov. 4-7, 1985, Tuscon, AZ, pp. 1-11, Los Alamos Nat. Lab. No. LA-UR-85-3183.
John H. Howard, “An Overview of the Andrew File System,” USENIX Winter Conference, Feb. 9-12, 1988, Dallas, TX, pp. 23-26.
John H. Howard et al., “Scale and Performance in a Distributed File System,” ACM Transactions on Computer Systems, vol. 6, No. 1, Feb. 1988, pp. 51-81.
David C. Steere et al., “Efficient User-Level File Cache Management on the Sun Vnode Interface,” USENIX Summer Conference, Jun. 11-15, 1990, Anaheim, CA, pp. 325-331.
Matt Blaze et al., “Long-Term Caching Strategies for Very Large Distributed File Systems,” USENIX, Summer '91, Nashville, TN, pp. 3-15.
Thomas W. Page, Jr., et al., “Management of Replicated vol. Location Data in the Ficus Replicated File System,” USENIX, Summer '91, Nashville, TN, pp. 17-29.
Storage Computer Corporation, “High Performance, Fault Tolerant Disk Array Platform for File Servers and Computer Systems,” 1991, Nashua, NH, 12 pages.
Krishnan Natarajan, “Video Servers Take Root,” IEEE Spectrum, Apr. 1995, IEEE, New York, NY, pp. 66-69.
K. K. Ramakrishnan et al., “Operating system support for a video-on-demand file service,” Multimedia Systems (1995) 3:53-65.
Ralf Steinmetz, “Analyzing the Multimedia Operating System,” IEEE MultiMedia, Spring 1995, pp. 68-84.
Audrey Chou, “EMC, Computer-Storage Leader, Still Hears Footsteps,” The Wall
Gupta Uday
John Aju
Ting Dennis P. J.
Tzelnic Percy
Vahalia Uresh K
EMC Corporation
Harrell Robert B.
Howrey Simon Arnold & White , LLP
Vaughn, Jr. William C.
LandOfFree
Network file server having a message collector queue for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Network file server having a message collector queue for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Network file server having a message collector queue for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2556250