Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client
First Claim
1. A data communications server system for a communications network, wherein the server system has facilities for supporting synchronous communication between the server system and a client system of the network and wherein the server system also has facilities for supporting asynchronous communication with programs on the server system or on another system of the network, said server system including:
- means, responsive to a ret from said client system within a synchronous communication session between the client system and the server system, for sending a request to a program on the server system or on another system of the network as an asynchronous communication;
means for starting a timer in response to said request from the client system;
means, responsive to receipt of a reply to said asynchronous communication, for associating said reply with said request form the client system to enable a reply to be sent to the client system;
means, responsive to the program'"'"'s reply to the asynchronous communication including session state information which enables serialization of interactions, for including session state information with said reply sent to the client;
means for sending the reply to the client system, wherein the reply includes a session identifier and session state information which enables serialization of interactions;
means for generating a preliminary reply before receipt of a reply to said asynchronous communication, said preliminary reply including a session identifier assigned by the server system; and
means for sending said preliminary reply to said client system within said synchronous communication session if a preset time period expires before a reply to said asynchronous request is received by the server system.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided is a gateway for linking between different communication models. The gateway, which may be implemented in a computer program installable on a server system, facilitates interoperation between computer programs which require synchronous communications sessions and computer programs based on an asynchronous model of communication. The invention enables a synchronously-connected client to revisit interactions with a server and asynchronously communicating programs, to interleave interactions with more than one application, and to associate together request-response pairs of a long running application. In particular, the invention provides apparatus and methods enabling linking between the Internet WWW service and a general purpose messaging system.
-
Citations
18 Claims
-
1. A data communications server system for a communications network, wherein the server system has facilities for supporting synchronous communication between the server system and a client system of the network and wherein the server system also has facilities for supporting asynchronous communication with programs on the server system or on another system of the network, said server system including:
-
means, responsive to a ret from said client system within a synchronous communication session between the client system and the server system, for sending a request to a program on the server system or on another system of the network as an asynchronous communication;
means for starting a timer in response to said request from the client system;
means, responsive to receipt of a reply to said asynchronous communication, for associating said reply with said request form the client system to enable a reply to be sent to the client system;
means, responsive to the program'"'"'s reply to the asynchronous communication including session state information which enables serialization of interactions, for including session state information with said reply sent to the client;
means for sending the reply to the client system, wherein the reply includes a session identifier and session state information which enables serialization of interactions;
means for generating a preliminary reply before receipt of a reply to said asynchronous communication, said preliminary reply including a session identifier assigned by the server system; and
means for sending said preliminary reply to said client system within said synchronous communication session if a preset time period expires before a reply to said asynchronous request is received by the server system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A data communications client system for a communications network, the client system including:
-
means for sending a request, within a particular synchronous communication session, to a server system of the network;
means for receiving a reply from said server system;
means, responsive to a received reply, for storing session identifier information assigned by a process at said server system and included in said reply and for storing session state information which is included in said reply to enable serialization of interactions;
means for determining, in dependence on said session state information included in a response from a server system, whether to store said session identifier and session state information at the client system; and
means for retrieving said stored information for use in a subsequent interaction with said server system. - View Dependent Claims (13, 14)
means for comparing input information for a client request with stored information of received replies, prior to sending said client request; and
means, responsive to determining a match between the input information and the stored information, for retrieving said stored information and including said stored session identifier information and information relating to stored session state information within the client request.
-
-
14. A system according to claim 12, including means for starting a timer when said session state information is stored at the client system and means for deleting said session state information on expiry of said timer.
-
15. A method of data communication between a first computer program at a first system of a communication network and a third computer program which is accessible via a second system of the network, including the steps of:
-
responsive to receipt by said second system of a request from said first program within a synchronous communication session, sending a request to the third program as an asynchronous communication, said asynchronous request including a session identifier assigned by a second program at the second system and session state information which enables serialization of interactions;
on receipt by said second system of a reply to said asynchronous communication, associating said reply with said request from the first program using said session identifier, to enable a reply to be sent to the first program, and responsive to the reply to said asynchronous communication including session state information which enables serialization of interactions, triggering the inclusion of the session identifier and the session state information which enables serialization of interactions within the reply to be sent to the first program.
-
-
16. A method of data communication between a first computer program at a first system of a communication network and a third computer program which is accessible via a second computer program at a second system of the network, including the steps of:
-
sending a first request from the first program to the second system within a synchronous communication session;
responsive to receipt by said second system of the first request from said first program, sending a request to the third program as an asynchronous communication, said asynchronous request including a session identifier assigned by a second program at the second system and session state information which enables serialization of interactions, and starting a timer;
on receipt by said second system of a reply to said asynchronous communication, associating said reply with said request from the first program using said session identifier, to enable a reply to be sent to the first program, and responsive to the reply to said asynchronous communication including session state information which enables serialization of interactions, determining whether to include session identifier information and session state information which enables serialization of interactions within the reply to the first program depending on the session state; and
sending a reply to said first program within said synchronous communication session, wherein said reply to said first program comprises;
a preliminary reply including said session identifier if a preset time period expires before a reply to said asynchronous communication is received; and
a reply including said session identifier and said session state information which enables serialization of interactions if the reply to the asynchronous communication is received by said second system before said preset time period expires and if said determination is positive.
-
-
17. A method of data communication between a first computer program at a first system of a communication network and a third computer program which is accessible via a second system of the network, including the steps of:
-
responsive to receipt by said second system of a request from said first program within a synchronous communication session, sending a request to the third program as an asynchronous communication, said asynchronous request including a session identifier assigned by a second program at the second system and session state information which enables serialization of interactions;
on receipt by said second system of a reply to said asynchronous communication, associating said reply with said request from the first program using said session identifier, to enable a reply to be sent to the first program, and responsive to the reply to said asynchronous communication including session said state information which enables serialization of interactions, determining whether to include said session identifier and the session state information which enables serialization of interactions within the reply to the first program.
-
-
18. A method of data communication between a first computer program at a first system of a communication network and a third computer program which is accessible via a second system of the network, including the steps of:
-
responsive to receipt by said second system of a request from said first program within a synchronous communication session, sending a request to the third program as an asynchronous communication, said asynchronous request including a session identifier assigned by a second program at the second system and session state information which enables serialization of interactions;
on receipt by said second system of a reply to said asynchronous communication, associating said reply with said request from the first program using said session identifier, to enable a reply to be sent to the first program, and responsive to the reply to said asynchronous communication including session state information which enables serialization of interactions, determining whether to include said session identifier and the session state information which enables serialization of interactions within the reply to the first program depending on the session state.
-
Specification