Method and system for enhancing MS exchange (MAPI) end user experiences in a split proxy environment
First Claim
Patent Images
1. A method, comprising:
- creating, at each proxy of a split proxy pair which employs byte caching at each of the proxies, message queues for messages exchanged between each of the proxies in support of messaging application programming interface (MAPI) communications between a client and a server;
setting sockets associated with each queue to listen for asynchronous communications between the client and the server;
while the client is logged off from the server, fabricating, at one or more of the proxies that comprise the split proxy, one or more MAPI messages to the server to provoke responses from the server, wherein the one or more MAPI messages resemble messages which would otherwise be sent by the client if the client were logged on; and
receiving, at a first one of the message queues at a first one of the proxies of the split proxy pair, a message associated with a remote procedure call (RPC) from the client to the server and processing the message associated with the RPC according to whether or not the first message queue is empty.
11 Assignments
0 Petitions
Accused Products
Abstract
A split proxy is configured for managing asynchronous MAPI communications between a client and a server by establishing a queuing structure for MAPI messages that make up the communications. The MAPI messages are subsequently exchanged between the client and the server using the queuing structure. Multiple remote procedure calls (RPCs) underlying the MAPI messages may be grouped together in batches for exchange between proxies of the split proxy. Also, when the client logs off from the server, a MAPI keep-alive process allows updates received at the server to be pre-populated to the split proxy for transfer to the client when it reestablishes a connection.
-
Citations
37 Claims
-
1. A method, comprising:
-
creating, at each proxy of a split proxy pair which employs byte caching at each of the proxies, message queues for messages exchanged between each of the proxies in support of messaging application programming interface (MAPI) communications between a client and a server; setting sockets associated with each queue to listen for asynchronous communications between the client and the server; while the client is logged off from the server, fabricating, at one or more of the proxies that comprise the split proxy, one or more MAPI messages to the server to provoke responses from the server, wherein the one or more MAPI messages resemble messages which would otherwise be sent by the client if the client were logged on; and receiving, at a first one of the message queues at a first one of the proxies of the split proxy pair, a message associated with a remote procedure call (RPC) from the client to the server and processing the message associated with the RPC according to whether or not the first message queue is empty. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method, comprising:
-
configuring a split proxy, which employs byte caching at each proxy of the split proxy, for managing messaging application programming interface (MAPI) communications between a client and a server by establishing a queuing structure for MAPI messages that make up said communications; processing said MAPI messages exchanged between the client and the server using said queuing structure, wherein queues comprising said queuing structure are set to listen for messages arriving from clients and servers asynchronously; and while the client is logged off from the server, fabricating, at the split proxy, one or more MAPI messages to the server to provoke responses from the server, wherein the one or more MAPI messages resemble messages which would otherwise be sent by the client if the client were logged on; and receiving, at a first one of the queues at a first one of the proxies of the split proxy, a message associated with a remote procedure call (RPC) from the client to the server and processing the message associated with the RPC according to whether or not the first queue is empty. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A method, comprising:
-
establishing a user session at a split proxy, which employs byte caching at each proxy of the split proxy, the user session associated with messaging application programming interface (MAPI) communications between a client and a server; processing MAPI messages exchanged between the client and the server asynchronously within the session; while the client is logged off from the server, fabricating, at the split proxy, one or more MAPI messages to the server to provoke responses from the server, wherein the one or more MAPI messages resemble messages which would otherwise be sent by the client if the client were logged on; and continuing the user session following the client logging off of the server by retrieving messages intended for the client from the server and storing the messages at a proxy of the split proxy. - View Dependent Claims (23)
-
-
24. A proxy, comprising a processor and non-transitory computer-readable medium storing instructions for executing by said processor, said instructions, when executed by said processor, causing said proxy to be configured to:
-
create message queues for exchanging messages with a corresponding proxy of a split proxy pair in support of messaging application programming interface (MAPI) communications, said messages making use of a byte cache maintained by said proxy; set sockets associated with each queue to listen for asynchronous communications; and fabricate one or more MAPI messages that resemble messages which would otherwise be sent by a client if the client were logged on to provoke responses to said one or more MAPI messages; and receive, at a first one of the message queues, a message associated with a remote procedure call (RPC) from the client and process the message associated with the RPC according to whether or not the first message queue is empty. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37)
-
-
33. The method of proxy 24, wherein if the first queue is empty, then said instructions, when executed by said processor, cause said proxy to be configured to either queue the message associated with the RPC or transmit a corresponding RPC request, depending on whether or not another RPC request is identified as being outstanding.
Specification