Method for deadlock avoidance in a distributed process system using a synchronous procedure call
First Claim
1. A method for deadlock avoidance in a distributed process system having a master process and at least one slave process, the distributed process system using a synchronous procedure call protocol that requires a calling process to wait for a reply from a called process before proceeding to a next task, the method comprising the step of initializing a synchronous procedure call from a master process by a slave process, the slave process initiating a next process procedure call from the master process by sending a status message to the master process in anticipation of that next master process procedure call, thus causing each slave process to assume a role as a synchronous procedure call requester and the master process to assume a role as a synchronous procedure call responder.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for avoiding deadlock in a distributed process system that has a master process and a plurality of slave processes, in which the system uses a synchronous procedure call protocol that interchanges the role of the master process as the procedure call requester with the slave process role as the procedure call responder. In this manner the master process is never left in a deadlock state waiting for the slave process to respond. The role-switching is accomplished by initializing each slave process when initially connected to the system by having each slave process send a status message to the master process as the first part of the two-part synchronous procedure call protocol. This places the slave process in the role of the requester and the master process in the role of the responder. The slave processes are also re-initialized after responding to a master procedure call request by sending a status message indicating that the slave process is ready to receive another procedure call from the master process.
84 Citations
7 Claims
- 1. A method for deadlock avoidance in a distributed process system having a master process and at least one slave process, the distributed process system using a synchronous procedure call protocol that requires a calling process to wait for a reply from a called process before proceeding to a next task, the method comprising the step of initializing a synchronous procedure call from a master process by a slave process, the slave process initiating a next process procedure call from the master process by sending a status message to the master process in anticipation of that next master process procedure call, thus causing each slave process to assume a role as a synchronous procedure call requester and the master process to assume a role as a synchronous procedure call responder.
- 4. A distributed process system having a master process and at least one slave process, the system using a synchronous procedure call protocol that requires a calling process to wait for a reply from the called process before proceeding to a next task, the synchronous procedure call protocol comprising the step of initializing a synchronous procedure call from a master process to a slave process by having the slave process initiate a next master procedure call to itself by sending a status message to the master process in anticipation of the next master process procedure call, thus causing the slave process to assume a role as a synchronous procedure call requester and the master process to assume a role as a synchronous procedure call responder.
-
7. A method for deadlock avoidance in a master process, the master process communicating with one or more slave processes using a synchronous procedure call protocol that requires a calling process to wait for a reply from the called process before proceeding to a next task, the method comprising the steps of:
-
(a) providing a command thread and an LPC server thread at the master server process; (b) at the command thread, queuing a command to be sent to the slave process; (c) at the command thread, sending the queued command to the LPC server thread; (d) at the LPC server thread, waiting for an LPC command request; and (e) at the LPC server thread, receiving an LPC command request and allowing the command thread to continue execution of the queued command.
-
Specification