IP Library Granted Patent US 8,438,260
Granted Patent B2
US 8,438,260 · App. 13/354,611 · Granted May 7, 2013

Sharing a port with multiple processes

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,438,260
App. No.
13/354,611
Granted
May 7, 2013
Kind
B2
Abstract

A port listening service operating in at system level is assigned to listen on a static port. The static port can index a plurality of unique IDs associated with a plurality of applications operating in a session level. The server application can then provide to a client the unique connection ID, the IP address of the server, and the static port number for a connection. If the client connects by referencing the unique connection ID, the port listening service can forward a corresponding socket for the connection to the appropriate application instance, such that the application still operates in a session level. As such, the port listening service can dispatch connection services for a single static port to multiple different application instances running in a session level.

Claims (51)

1. A method, implemented at a client computer system having at least one processor and that is in communication with a sharing computer system which provides simultaneous network connections between a plurality of applications running at the sharing computer system to one or more client computer systems, including the client computer system, through a single static port, the method comprising:

an act of receiving a first invitation to communicate with a first application at a sharing computer system, the first invitation including at least a port number and a first unique connection identifier, the first unique connection identifier corresponding to a first socket connection established at the sharing computer system between a port listening service and the first application of a plurality of applications running at the sharing computer system that share the static port;

an act of receiving a second invitation to communicate with a second application at the sharing computer system, the second invitation including at least the port number and a second unique connection identifier, the second unique connection identifier corresponding to a second socket connection established at the sharing computer system between the port listening service and a second application of the plurality of applications running at the sharing computer system that share the static port, wherein the second unique connection identifier is distinct from the first unique connection identifier;

an act of sending a first connection request to the sharing computer system, the first connection request comprising each of:

(i) the port number associated with the static port,

(ii) a network address identifying the sharing computer system, and

(iii) the first unique connection identifier identifying the first application, the first unique connection identifier being distinct from both the particular port number and the network address; and

an act of sending a second connection request to the sharing computer system, the second connection request comprising the second unique connection identifier.

2. The method of claim 1 , wherein each of the first and second connection requests are sent to a port listening service of the sharing computer system that is configured to listen to the static port for client connection requests that contain unique connection identifiers and to forward any client connection request, including the first and second client requests, to corresponding applications having associated unique connection identifiers.

3. The method of claim 1 , wherein the second client connection request includes each of:

(i) the particular port number associated with the static port,

(ii) the network address identifying the sharing computer system, and

(iii) the second unique connection identifier identifying the second application, the second unique connection identifier being distinct from the particular port number, the network address, and the first unique connection identifier.

4. The method as recited in claim 1 , further comprising:

sending a third client connection request to the sharing computer system that lacks any unique connection identifier and which is stored at the sharing computer system as a pending connection request.

5. The method as recited in claim 1 , wherein both of the first unique connection identifier and the second unique connection identifier are received by the client in an XML document from the sharing.

6. The method as recited in claim 1 , wherein the first unique connection identifier comprises one or more of a user name or an email address.

7. The method as recited in claim 1 , further comprising an act of receiving an indication from at least the first application that the first application is ready to communicate with client computer system.

8. A client computer system comprising:

at least one hardware processor; and

one or more storage medium having stored thereon computer-executable instructions that, when executed by the at least one hardware processor, implement a method comprising:

an act of receiving a first invitation to communicate with a first application at a sharing computer system, the first invitation including at least a port number and a first unique connection identifier, the first unique connection identifier corresponding to a first socket connection established at the sharing computer system between the port listening service and the first application of a plurality of applications running at the sharing computer system that share a static port;

an act of receiving a second invitation to communicate with a second application at the sharing computer system, the second invitation including at least the port number and a second unique connection identifier, the second unique connection identifier corresponding to a second socket connection established at the sharing computer system between the port listening service and a second application of the plurality of applications running at the sharing computer system that share the static port, wherein the second unique connection identifier is distinct from the first unique connection identifier;

an act of sending a first connection request to the sharing computer system, the first connection request comprising each of:

(i) the port number associated with the static port,

(ii) a network address identifying the sharing computer system, and

(iii) the first unique connection identifier identifying the first application, the first unique connection identifier being distinct from both the particular port number and the network address; and

an act of sending a second connection request to the sharing computer system, the second connection request comprising the second unique connection identifier.

9. The client computer system of claim 8 , wherein each of the first and second connection requests are sent to a port listening service of the sharing computer system that is configured to listen to the static port for client connection requests that contain unique connection identifiers and to forward any client connection request, including the first and second client requests, to corresponding applications having associated unique connection identifiers.

10. The client computer system of claim 8 , wherein the second client connection request includes each of:

(i) the particular port number associated with the static port,

(ii) the network address identifying the sharing computer system, and

(iii) the second unique connection identifier identifying the second application, the second unique connection identifier being distinct from the particular port number, the network address, and the first unique connection identifier.

11. The client computer system of claim 8 , wherein the first unique connection identifier comprises one or more of a user name or an email address.

12. The client computer system of claim 8 , wherein the method further comprises an act of receiving an indication from at least the first application that the first application is ready to communicate with client computing system.

13. A computer storage device having stored computer-executable instructions that, when executed at a client computing system having at least one processor, implements a method comprising:

an act of receiving a first invitation to communicate with a first application at a sharing computer system, the first invitation including at least a port number and a first unique connection identifier, the first unique connection identifier corresponding to a first socket connection established at the sharing computer system between the port listening service and the first application of a plurality of applications running at the sharing computer system that share a static port;

an act of receiving a second invitation to communicate with a second application at the sharing computer system, the second invitation including at least the port number and a second unique connection identifier, the second unique connection identifier corresponding to a second socket connection established at the sharing computer system between the port listening service and a second application of the plurality of applications running at the sharing computer system that share the static port, wherein the second unique connection identifier is distinct from the first unique connection identifier;

an act of sending a first connection request to the sharing computer system, the first connection request comprising each of:

(i) the port number associated with the static port,

(ii) a network address identifying the sharing computer system, and

(iii) the first unique connection identifier identifying the first application, the first unique connection identifier being distinct from both the particular port number and the network address; and

an act of sending a second connection request to the sharing computer system, the second connection request comprising the second unique connection identifier.

14. The computer storage device of claim 13 , wherein each of the first and second connection requests are sent to a port listening service of the sharing computer system that is configured to listen to the static port for client connection requests that contain unique connection identifiers and to forward any client connection request, including the first and second client requests, to corresponding applications having associated unique connection identifiers.

15. The computer storage device of claim 13 wherein the second client connection request includes each of:

(i) the particular port number associated with the static port,

(ii) the network address identifying the sharing computer system, and

(iii) the second unique connection identifier identifying the second application, the second unique connection identifier being distinct from the particular port number, the network address, and the first unique connection identifier.

16. The computer storage device of claim 13 , wherein the first unique connection identifier comprises one or more of a user name or an email address.

17. The computer storage device of claim 13 , wherein the method further comprises an act of receiving an indication from at least the first application that the first application is ready to communicate with client computing system.

18. The method of claim 1 , wherein the first and second applications are both running concurrently and both concurrently share the same static port.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2012
From: SCHMIEDER, ROBERT WILHELM; CHIK, JOY
To: MICROSOFT CORPORATION
Reel/Frame 027566/0655 →