Method and apparatus for synchronizing calls in a server and client system
First Claim
1. A method in a data processing system for synchronizing calls at a client in a server and client system, comprising the steps of:
- receiving a plurality of service calls generated by a plurality of threads executed at the server;
receiving a synchronization call from the server, said synchronization call indicating that one of said plurality of threads executed at the server has changed and indicating a number of service calls generated by said plurality of threads at the server prior to the thread change; and
placing at least one of said service calls associated with said synchronization call into a wait position, when said number indicated in said synchronization call and said number of service calls executed at the client prior to receiving said synchronization call differ.
2 Assignments
0 Petitions
Accused Products
Abstract
In a client and server system the execution of calls is synchronized to maintain a correct execution of a service application. At the server, calls are executed asynchronously by a plurality of threads, and when a thread change occurs, a synchronization call is generated and transmitted to the client, including a server call counter value indicating a number of calls executed at the server. With every synchronization call, the client determines whether the server call counter value corresponds to a current client call counter value. If the counter values are identical, the correct sequence of execution is maintained, but if they differ, an overtake condition has occurred, indicating that service calls from a first thread were overtaken by a second thread. The thread and service calls which have overtaken other service calls are placed into a wait condition to maintain the correct order of execution of service calls.
35 Citations
35 Claims
-
1. A method in a data processing system for synchronizing calls at a client in a server and client system, comprising the steps of:
-
receiving a plurality of service calls generated by a plurality of threads executed at the server;
receiving a synchronization call from the server, said synchronization call indicating that one of said plurality of threads executed at the server has changed and indicating a number of service calls generated by said plurality of threads at the server prior to the thread change; and
placing at least one of said service calls associated with said synchronization call into a wait position, when said number indicated in said synchronization call and said number of service calls executed at the client prior to receiving said synchronization call differ. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
12. A method in a data processing system for synchronizing calls at a server in a server and client system, comprising the steps of:
-
transmitting a plurality of service calls generated by a plurality of threads at the server to a client;
generating a synchronization call when a thread of said plurality of threads executed at the server changes, said synchronization call indicating a number of service calls generated by said plurality of threads at the server prior to the thread change; and
transmitting said synchronization call to the client to allow the client to synchronize a service call execution.
-
-
22. A method in a data processing system for synchronizing calls in a client and server system, the method comprising the steps of:
-
transmitting a plurality of service calls generated by a plurality of threads executed at the server to the client;
generating a synchronization call at the server, said synchronization call indicating that one of said plurality of threads executed at the server has changed and indicating a number of service calls generated by said plurality of threads at the server prior to the thread change;
transmitting said synchronization call to the client to allow the client to synchronize a service call execution;
receiving said synchronization call at the client; and
placing at least one of said service calls associated with said synchronization call into a wait position, if said number indicated in said synchronization call and said number of service calls executed at the client prior to receiving said synchronization call differ. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
23. A computer readable medium containing instructions that cause a data processing system to perform a method of synchronizing calls in a client and a server system, the method comprising the steps of:
-
transmitting a plurality of service calls generated by a plurality of threads executed at the server to the client;
generating a synchronization call at the server, said synchronization call indicating that one of said plurality of threads executed at the server has changed and indicating a number of service calls generated by said plurality of threads at the server prior to the thread change;
transmitting said synchronization call to the client to allow the client to synchronize a service call execution;
receiving said synchronization call at the client; and
placing at least one of said service calls associated with said synchronization call into a wait position, if said number indicated in said synchronization call and said number of service calls executed at the client prior to receiving said synchronization call differ.
-
-
34. A data processing system for synchronizing calls in a client and server system, the data processing system comprising:
-
a client computer comprising;
a memory including a client program that receives a plurality of service calls generated by a plurality of threads executed at the server, that receives a synchronization call from the server, said synchronization call indicating that one of said plurality of threads executed at the server has changed and indicating a number of service calls generated by said plurality of threads at the server prior to the thread change, and that places at least one of said service calls associated with said synchronization call into a wait position, if said number indicated in said synchronization call and said number of service calls executed at the client prior to receiving said synchronization call differ; and
a processor that runs said client program;
a server computer comprising;
a memory including a server program that transmits a plurality of service calls generated by a plurality of threads at the server to the client, that generates a synchronization call when a thread of said plurality of threads executed at the server changes, said synchronization call indicating a number of service calls generated by said plurality of threads at the server prior to the thread change, and that transmits said synchronization call to the client to allow the client to synchronize a service call execution; and
a processor that runs said server program; and
a network connecting said client computer and said server computer.
-
-
35. An apparatus for synchronizing calls in a client and server system, the apparatus comprising:
-
means for transmitting a plurality of service calls generated by a plurality of threads executed at the server to the client;
means for generating a synchronization call at the server, said synchronization call indicating that one of said plurality of threads executed at the server has changed and indicating a number of service calls generated by said plurality of threads at the server prior to the thread change;
means for transmitting said synchronization call to the client to allow the client to synchronize a service call execution;
means for receiving said synchronization call at the client; and
means for placing at least one of said service calls associated with said synchronization call into a wait position, if said number indicated in said synchronization call and said number of service calls executed at the client prior to receiving said synchronization call differ.
-
Specification