IP Library Granted Patent US 8,032,900
Granted Patent B2
US 8,032,900 · App. 11/497,830 · Granted Oct 4, 2011

Conducting client-server inter-process communication

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,032,900
App. No.
11/497,830
Granted
Oct 4, 2011
Kind
B2
Abstract

A computer system that is configured to conduct communications between a client process and a server process is disclosed. To conduct such communications, an inter-process communication thread is initiated that is separate from a main client inter-process communication thread and operates to establish a connection with a server. A client communication port is created during the establishment of the connection with the server. One or more non-blocking asynchronous communications are transmitted to a server communication port. Responses to the one or more non-blocking asynchronous communications are awaited for receipt by the client communication port.

Claims (29)

1. A method for conducting client-server inter-process communications, comprising:

initiating an inter-process communication thread of a client that is separate from a main inter-process communication thread of said client, wherein said inter-process communication thread of said client that is separate from said main inter-process communication thread of said client establishes a connection with a server;

as a part of said inter-process communication thread of said client that is separate from said main inter-process communication thread of said client, creating a client communication port during the establishment of said connection with said server and before the establishment of said connection is completed, and

transmitting one or more non-blocking asynchronous communications to a server communication port and awaiting responses to said one or more non-blocking asynchronous communications for receipt by said client communication port;

wherein subsequent to said establishment of said connection with said server said server responds to messages transmitted to it from said client by transmitting messages to said client communication port;

wherein said inter-process communication thread that is separate from said main client process thread is ended after said connection is established.

2. The method of claim 1 wherein a client port identification number is transmitted to said server during said establishment of said connection with said server.

3. The method of claim 1 wherein said one or more non-blocking asynchronous communications timeout after a predetermined period.

4. The method of claim 1 wherein an immediate response to a server request for information terminates said server request for information.

5. A non-transitory computer useable medium having computer-executable instructions for performing steps, comprising:

a communication thread triggering component for triggering an inter-process communication thread of a client that is separate from a main inter-process communication thread of said client, wherein said inter-process communication thread of said client that is separate from said main inter-process communication thread of said client establishes a connection with a server;

a communication port creating component for creating as a part of said inter-process communication thread of said client that is separate from said main inter-process communication thread of said client, a client communication port during the establishment of said connection with said server and before the establishment of said connection is completed, and

an asynchronous communications transmitter for transmitting one or more non-blocking asynchronous communications to a server communication port and awaiting responses to said one or more non-blocking asynchronous communications for receipt by said client communication port;

wherein subsequent to said establishment of said connection with said server said server responds to messages transmitted to it from said client by transmitting messages to said client communication port;

wherein said inter-process communication thread that is separate from said main client process thread is ended after said connection is established.

6. The medium of claim 5 wherein a client port identification number is transmitted to said server during said establishment of said connection with said server.

7. The medium of claim 5 wherein said one or more non-blocking asynchronous communications will timeout after a predetermined period.

8. The medium of claim 5 wherein an immediate response to a server request for information terminates said server request for information.

9. An apparatus, comprising:

a computer readable memory unit;

a processor coupled to said memory unit, said processor for executing a method for conducting client-server inter-process communications, comprising:

initiating an inter-process communication thread of a client that is separate from a main inter-process communication thread of said client, wherein said inter-process communication thread of said client that is separate from said main inter-process communication thread of said client establishes a connection with a server;

as a part of said inter-process communication thread of said client that is separate from said main inter-process communication thread of said client, creating a client communication port during the establishment of said connection with said server and before the establishment of said connection is completed, and

transmitting one or more non-blocking asynchronous communications to a server communication port and awaiting responses to said one or more non-blocking asynchronous communications for receipt by said client communication port;

wherein subsequent to said establishment of said connection with said server said server responds to messages transmitted to it from said client by transmitting messages to said client communication port;

wherein said inter-process communication thread that is separate from said main client process thread is ended after said connection is established.

10. The apparatus of claim 9 wherein a client port identification number is transmitted to said server during said establishment of said connection with said server.

11. The apparatus of claim 9 wherein said one or more non-blocking asynchronous communications timeout after a predetermined period.

12. The apparatus of claim 9 wherein an immediate response to a server request for information terminates said server request for information.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2006
From: LEONOV, MIKHAIL V; FEIVESON, ERIC H
To: MICROSOFT CORPORATION
Reel/Frame 018165/0096 →