Network file server having a message collector queue for connection and connectionless oriented protocols
First Claim
1. A method of operating a file server to service messages of concurrent connection oriented processes and connectionless processes, the messages originating from a plurality of clients in a data network, the messages being sent in a plurality of pipes to the file server, including pipes conveying messages of the connection oriented processes and at least one pipe conveying messages of the connectionless processes, said method comprising the steps of:
- (a) the file server receiving messages from the pipes and placing them in a queue combining messages of the connection oriented processes with messages of the connectionless processes, and placing in the queue with each message an indication of the pipe from which the file server received said each message; and
(b) the file server receiving the messages from the queue and servicing the messages by interpreting the messages, formulating replies, and directing the replies to the pipes from which the file server received the messages for transmission to the clients from which the messages originated.
8 Assignments
0 Petitions
Accused Products
Abstract
There is a performance loss associated with servicing a pipe or stream for a connection oriented process 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. To solve this problem, a collector queue combines messages from the connection oriented process with messages from the other concurrent processes. The threads 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. 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.
-
Citations
34 Claims
-
1. A method of operating a file server to service messages of concurrent connection oriented processes and connectionless processes, the messages originating from a plurality of clients in a data network, the messages being sent in a plurality of pipes to the file server, including pipes conveying messages of the connection oriented processes and at least one pipe conveying messages of the connectionless processes, said method comprising the steps of:
-
(a) the file server receiving messages from the pipes and placing them in a queue combining messages of the connection oriented processes with messages of the connectionless processes, and placing in the queue with each message an indication of the pipe from which the file server received said each message; and
(b) the file server receiving the messages from the queue and servicing the messages by interpreting the messages, formulating replies, and directing the replies to the pipes from which the file server received the messages for transmission to the clients from which the messages originated. - View Dependent Claims (2, 3, 4)
-
-
5. A method of operating a file server to service messages of a connection oriented process concurrent with other processes, the messages originating from a plurality of clients in a data network, the messages being sent in a plurality of pipes to the file server, including a pipe conveying messages of the connection oriented process, said method comprising the steps of:
-
(a) the file server receiving messages from the pipes and placing them in a queue combining messages of the connection oriented process with messages of the other processes, and placing in the queue with each message an indication of the pipe from which the file server received said each message; and
(b) threads of the file server receiving the messages from the queue, each of the threads servicing a respective message from the queue by interpreting the message, formulating a reply, and directing the reply to the pipe from which the file server received the respective message. - View Dependent Claims (6, 7)
-
-
8. A method of operating a file server to service messages of connection oriented processes and connectionless processes concurrent with the connection oriented processes, the messages originating from a plurality of clients in a data network, the messages being sent in a plurality of pipes to the file server, including respective pipes conveying messages of the connection oriented processes and at least one pipe conveying messages of the connectionless processes, said method comprising the steps of:
-
(a) the file server receiving messages from the pipes and placing them in a queue combining messages of the connection oriented processes with messages of the connectionless processes, and placing in the queue with each message an indication of the pipe from which the file server received said each message; and
(b) threads of the file server receiving the messages from the queue, each of the threads servicing a respective message from the queue by interpreting the message, formulating a reply, and directing the reply to the pipe from which the file server received the respective message.
-
-
9. A file server servicing clients in a network, said file server comprising, in combination:
-
a) first means for receiving messages transmitted by one client in a connection oriented process;
b) second means for receiving messages transmitted by other clients in other processes concurrent with the connection oriented process;
c) a queue for storing messages received by the first means for receiving and the second means for receiving;
the first means for receiving being connected to the queue for placing in the queue the messages received from said one client when the messages received from said one client are received, and the second means for receiving being connected to the queue for placing in the queue the messages received from said other clients when the messages received from said other clients are received from said other clients; and
d) means for servicing the messages in the queue. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A file server for servicing messages of a connection oriented process concurrent with other processes, the messages originating from a plurality of clients in a data network, the messages being sent in a plurality of pipes to the file server, including a pipe conveying messages of the connection oriented process, said file server comprising, in combination:
-
(a) a queue for storing messages of the connection oriented process combined with messages of the other processes, and for storing an indication of the pipe from which the file server received each message; and
(b) a plurality of threads, each of the threads comprising a program executable in the file server for servicing a respective message from the queue by interpreting the message, formulating a reply, and directing the reply to the pipe from which the file server received the respective message. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method of operating a file server to service messages of a connection oriented process concurrent with other processes, the messages originating from a plurality of clients in a data network, the messages being sent in a plurality of pipes to the file server, including a pipe conveying messages of the connection oriented process, said method comprising the steps of:
-
(a) the file server receiving messages from the pipes and placing them in a queue combining messages of the connection oriented process with messages of the other processes; and
(b) the file server obtaining messages from the queue and servicing the messages obtained from the queue. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method of operating a file server to service messages of a connection oriented process concurrent with other processes, the messages originating from a plurality of clients in a data network, the messages being sent in a plurality of pipes to the file server, including a pipe conveying messages of the connection oriented process, said method comprising the steps of:
-
(a) the file server receiving messages from the pipes and placing them in a queue combining messages of the connection oriented process with messages of the other processes; and
(b) threads of the file server receiving the messages from the queue, each of the threads servicing a respective message from the queue. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
Specification