Patent ID: 8006249

Claim:
A method of implementing a state tracking mechanism in a communications session between a server and a client system, comprising: receiving a first request message from the client system, wherein the first request message includes a first datum and a first state value; retrieving the first datum from the first request message; generating a second datum; calculating a second state value using as input at least the second datum and the first state value; sending a first server response to the client system, wherein the first server response includes the second datum and the second state value; receiving a second request message from the client system when the client system determines that the second state value is equal to a first client expected state value, wherein: the second request message includes a third state value, the first client expected state value is calculated using as input at least the second datum retrieved from the first server response and the first state value, and the third state value is calculated using as input at least the first datum and the second state value; calculating a first server expected state value using as input at least the first datum and the second state value; determining whether the third state value is equal to the first server expected state value; if determined that the third state value is not equal to the first server expected state value, discontinuing the communication session; if determined that the third state value is equal to the first server expected state value, calculating a fourth state value using as input at least the second datum and the third state value, sending a second server response to the client system, wherein the second server response includes the fourth state value, and receiving a third request message from the client system when the client system determines that the fourth state value is equal to a second client expected state value, wherein: the third request message includes a fifth state value, the second client expected state value is calculated using as input at least the second datum and the fourth state value, and the fifth state value is calculated using as input at least the first datum and the fourth state value.