IP Library Granted Patent US 6,988,142
Granted Patent B2
US 6,988,142 · App. 09/934,658 · Granted Jan 17, 2006

Method and apparatus for handling communication requests at a server without context switching

Assignee: Red Hat, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,988,142
App. No.
09/934,658
Granted
Jan 17, 2006
Kind
B2
Abstract

Method and apparatus for handling communication requests at a server without context switching. An application protocol subsystem and protocol modules are disposed within an operating system kernel at a server. The protocol subsystem creates an “in-kernel” protocol stack that stores information regarding application protocol requests, such as HTTP and FTP requests, in a kernel request structure. A user space application can then continue execution while the operating system responds to the application protocol request without context switching. In this way, application protocol requests received over a network are handled and responded to by the server without causing a context switch.

Claims (46)

1. A method of responding to an application protocol request, the method comprising the steps of:

receiving the application protocol request;

establishing a user space request structure corresponding to the application protocol request;

creating a kernel request structure corresponding to the application protocol request, using data received from a client system in conjunction with the application protocol request;

updating the user space request structure in accordance with the kernel request structure so that an application in the user space can continue execution and an operating system at a server can respond to the application protocol request without context switching; and

responding to the application protocol request.

2. The method of claim 1 further comprising the step of deleting the kernel request structure after responding to the application protocol request.

3. The method of claim 1 wherein the application protocol request and any response to the application protocol request are formatted according to a hypertext transmission protocol (HTTP).

4. The method of claim 2 wherein the application protocol request and any response to the application protocol request are formatted according to a hypertext transmission protocol (HTTP).

5. The method of claim 1 wherein the application protocol request and any response to the application protocol request are formatted according to a file transfer protocol (FTP).

6. The method of claim 2 wherein the application protocol request and any response to the application protocol request are formatted according to a file transfer protocol (FTP).

7. A computer program product having computer program code embodied therein, the computer program code for enabling a server comprising an operating system having a kernel and a user space to respond to an application protocol request, the computer program code comprising:

instructions for receiving the application protocol request;

instructions for establishing a user space request structure corresponding to the application protocol request;

instructions for creating a kernel request structure corresponding to the application protocol request, using data received from a client system in conjunction with the application protocol request;

instructions for updating the user space request structure in accordance with the kernel request structure so that an application in the user space can continue execution and the operating system can respond to the application protocol request without context switching;

instructions for responding to the application protocol request; and

instructions for deleting the kernel request structure.

8. The computer program product of claim 7 wherein the computer program code further comprises instructions for implementing a hypertext transmission protocol (HTTP).

9. The computer program product of claim 7 wherein the computer program code further comprises instructions for implementing a file transfer protocol (FTP).

10. The computer program product of claim 8 wherein the computer program code further comprises instructions for implementing a file transfer protocol (FTP).

11. Apparatus comprising an operating system having a kernel and a user space, the apparatus operable to respond to an application protocol request, the apparatus comprising:

means for receiving the application protocol request;

means for establishing a user space request structure corresponding to the application protocol request;

means for creating a kernel request structure corresponding to the application protocol request, using data received from a client system in conjunction with the application protocol request;

means for updating the user space request structure in accordance with the kernel request structure so that an application in the user space can continue execution and an operating system at a server can respond to the application protocol request without context switching;

means for responding to the application protocol request; and

means for deleting the kernel request structure.

12. A server system including an operating system, the server system operable to respond to an application protocol request, the server system comprising:

a user space operable to establish and maintain a user space request structure corresponding to the application protocol request; and

an operating system kernel connected to the user space operable to maintain a kernel request structure corresponding to the application protocol request, using data received from a client system in conjunction with the application protocol request and to update the user space request structure so that the operating system can respond to the application protocol request without context switching.

13. The server system of claim 12 wherein the operating system kernel further comprises:

at least one protocol module; and

a protocol subsystem operably connected to the user space and the at least one protocol module, the protocol subsystem at least in part enabling the operating system kernel to maintain the kernel request structure.

14. The server system of claim 13 wherein the at least one protocol module further comprises a hypertext transmission protocol (HTTP) module.

15. The server system of claim 13 wherein the at least one protocol module further comprises a file transfer protocol (FTP) module.

16. The server system of claim 14 wherein the at least one protocol module further comprises a file transfer protocol (FTP) module.

17. An instruction execution system operable as a communication protocol server comprising an operating system having a kernel and a user space, the instruction execution system operable to respond an application protocol request by performing the steps of:

receiving the application protocol request;

establishing a user space request structure corresponding to the application protocol request;

creating a kernel request structure corresponding to the application protocol request, using data received from a client system in conjunction with the application protocol request;

updating the user space request structure in accordance with the kernel request structure so that an application in the user space can continue execution and the operating system can respond to the application protocol request without context switching; and

responding to the application protocol request.

18. The instruction execution system of claim 17 further operable as a hypertext transmission protocol (HTTP) server.

19. The instruction execution system of claim 17 further operable as a file transmission protocol (FTP) server.

20. The instruction execution system of claim 17 further operable as both a hypertext transmission protocol (HTTP) server and a file transmission protocol (FTP) server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2002
From: MOLNAR, INGO
To: RED HAT, INC.
Reel/Frame 012843/0063 →
Continuity (2)
Provisional Application 6022751000 · Aug 24, 2000
Related Publication 20020091868A1 · Jul 11, 2002