System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server
First Claim
1. A method performed by a non-door-based operating system of responding to a file-based operation request made by a first process that is not door-based, comprising:
- receiving the file-based operation request from the first process;
translating the file-based operation request to a door call, without the knowledge of the first process;
invoking the door call for a second process that is running on a door-based server and is capable of performing a function specified by the translated operation request; and
returning the result of the translated operation to the first process, wherein from the viewpoint of the first process the operation is performed on a regular file without any knowledge of involvement of a door-based server or a door-based process.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system for using door translation to perform inter-process communication. The system enables a legacy application program to invoke traditional operations, such as READ and WRITE operations, which would otherwise be unavailable in a doors environment. Transparent to the client process, the system of the present invention translates the otherwise unavailable operation into a door call. Bound by its limitations and constraints, the server process performs a service in response to the door call. The system comprises a system call handler, such as a generic file system, which receives a file operation request from a client process. A door invocation handler, which includes a translator, determines the appropriate server process capable of performing a service corresponding to the operation request, translates the operation request into a door call to the server process, and invokes the door call. The server process performs its service and sends a response back via the operating system kernel to the client process.
-
Citations
37 Claims
-
1. A method performed by a non-door-based operating system of responding to a file-based operation request made by a first process that is not door-based, comprising:
-
receiving the file-based operation request from the first process;
translating the file-based operation request to a door call, without the knowledge of the first process;
invoking the door call for a second process that is running on a door-based server and is capable of performing a function specified by the translated operation request; and
returning the result of the translated operation to the first process, wherein from the viewpoint of the first process the operation is performed on a regular file without any knowledge of involvement of a door-based server or a door-based process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
wherein the operation request includes operation arguments and the door call requires door call arguments; further comprising converting the operation arguments to the door call arguments.
-
-
5. The method of claim 1, wherein the operation request includes a data access operation request.
-
6. The method of claim 1, wherein the first process includes a client process.
-
7. The method of claim 1, wherein the second process includes a server process.
-
8. The method of claim 1, wherein the operation request includes a READ operation request.
-
9. The method of claim 8, wherein the door call is directed to a READ thread in a server process.
-
10. The method of claim 1, wherein the operation request includes a WRITE operation request.
-
11. The method of claim 10, wherein the door call is directed to a WRITE thread in a server process.
-
12. The method of claim 1, wherein the first process includes a legacy process incapable of invoking door calls.
-
13. The method of claim 12, wherein the data processing system includes a door file system.
-
14. The method of claim 1, further comprising:
using a server thread to receive the door call.
-
15. The method of claim 1, wherein the first and second processes are located in the same data processing system.
-
16. The method of claim 1, wherein the first and second processes are located in different data processing systems.
-
17. The method of claim 1, wherein the first process also contains at least one door call.
-
18. The method of claim 1, wherein the first process does not contain any door calls.
-
19. A system for responding to an operation request by a non-door-based operating system, comprising:
-
a translator for receiving an operation request from a file-based client process, and translating the operation request into a door call without the knowledge of the client process;
a door invocation handler coupled to the translator for invoking the door call; and
a door-based server process coupled to the translator for performing a service equivalent to the operation requested by the non-door-based operating system in response to the door call. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
the operation request includes operation arguments and the door call requires door call arguments; - and
the translator converts the operation request to a door call by converting the operation arguments to the door call arguments.
-
-
21. The system of claim 19, wherein the operation request includes a data access operation request.
-
22. The system of claim 19, wherein the door call is addressed to a thread in the server process.
-
23. The system of claim 19, wherein the operation request includes a READ operation request.
-
24. The system of claim 23, wherein the server process includes a READ thread.
-
25. The system of claim 19, wherein the operation request includes a WRITE operation request.
-
26. The system of claim 24, wherein the server process includes a WRITE thread.
-
27. The system of claim 19, wherein the client process includes a legacy process incapable of invoking door calls.
-
28. The system of claim 27, wherein the translator includes a data structure stored in a memory of a data processing system for translating the operation request to a door call.
-
29. The system of claim 28, wherein the data structure includes a translation table.
-
30. The system of claim 29, wherein
the translation table contains operation requests and corresponding door calls; - and
the translator selects the door call that corresponds to the operation request.
- and
-
31. The system of claim 19, wherein the translator is part of a door file system in an operating system.
-
32. The system of claim 19, wherein the client and server processes are located in the same data processing system.
-
33. The system of claim 19, wherein the client and server processes are located in different data processing systems.
-
34. The system of claim 19, wherein the client process contains at least one door call.
-
35. The system of claim 19, wherein the client process contains no door calls.
-
36. A computer-readable storage medium storing program code for causing a computer to perform:
-
receiving a file-based operation request from a file-based first process;
translating the operation request to a door call; and
invoking the door call for a door-based second process capable of performing a door-based function specified by the operation request without the knowledge of the first process.
-
-
37. A signal embodied in a carrier wave for causing a processor to perform:
-
receiving a file-based operation request from a file-based first process;
translating the operation request to a door call; and
invoking the door call for a door-based second process capable of performing a door-based function specified by the operation request without the knowledge of the first process.
-
Specification