Non-blocking communication between an application and a server
First Claim
1. A computer system, comprising:
- a processor;
a memory coupled to the processor comprising a software system that when executed by the processor provides;
an application thread, the application thread comprising;
an application logic module, anda communication server gateway module;
a server communication thread to provide non-blocking communication between the application thread and a communication server,wherein the application logic module, when executed, causes the processor to generate a request for information stored on the communication server,wherein the communication server gateway module, when executed, causes the processor to receive the information request and to generate a service command, based on the information request, the service command being configured for processing by the server communication thread; and
a command storage structure to provide information transfer between the application thread and the communication thread by storing and providing exclusive access to;
the service command generated by the communication server gateway module for processing by the server communication thread, anda command status response passing from the server communication thread to the communication server gateway module,wherein the server communication thread to process commands based on requests for communication server services generated by the application thread;
wherein the communication thread is to communicate with the communication server based on the commands and to block pending a server response, and the application thread is to execute unimpeded by the communication.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for providing non-blocking communication with a communications server are disclosed herein. A computer system includes one or more processors and a software system executable by the processor. When executed, the software system provides an application thread and additionally provides a server communication thread configured to provide non-blocking communication between the application thread and a communication server. The server communication thread is configured to process commands based on requests for communication server services generated by the application thread. The server communication thread is further configured to communicate with the communication server based on the commands and to block pending a server response. The application thread is configured to execute unimpeded by the communication.
-
Citations
18 Claims
-
1. A computer system, comprising:
- a processor;
a memory coupled to the processor comprising a software system that when executed by the processor provides;an application thread, the application thread comprising; an application logic module, and a communication server gateway module; a server communication thread to provide non-blocking communication between the application thread and a communication server, wherein the application logic module, when executed, causes the processor to generate a request for information stored on the communication server, wherein the communication server gateway module, when executed, causes the processor to receive the information request and to generate a service command, based on the information request, the service command being configured for processing by the server communication thread; and a command storage structure to provide information transfer between the application thread and the communication thread by storing and providing exclusive access to; the service command generated by the communication server gateway module for processing by the server communication thread, and a command status response passing from the server communication thread to the communication server gateway module, wherein the server communication thread to process commands based on requests for communication server services generated by the application thread; wherein the communication thread is to communicate with the communication server based on the commands and to block pending a server response, and the application thread is to execute unimpeded by the communication. - View Dependent Claims (2, 3, 4, 5)
- a processor;
-
6. A method, comprising:
-
generating, by a processor, via execution of an application program in a primary thread, a request for a server to provide information; storing, by the processor, a command in a command storage structure providing mutually exclusive access and accessible to the primary thread and a secondary thread, wherein the command is derived from the request; generating, by the processor, via execution of a client program in a secondary thread, a query to the server based on the command; receiving a response, by the processor, via execution of the secondary thread, from the server based on the query; wherein the execution of the primary thread continues uninterrupted while the secondary thread generates the query and waits for the response. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium encoded with a computer program comprising:
-
instructions that when executed cause a processor to generate, via execution of an application program in a primary thread, a request for a server to provide user presence information; instructions that when executed cause the processor to store a command in a command storage structure providing mutually exclusive access and accessible to the primary thread and a secondary thread, wherein the command is derived from the request; instructions that when executed cause the processor to generate, via execution of a client program in a secondary thread, a query to the server based on the request; instructions that when executed cause the processor to receive a response to the query, via execution of the secondary thread, from the server; instructions that when executed cause the processor to provide uninterrupted execution of the primary thread while the secondary thread generates the query and waits for the response. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification