Patent ID: 8166175
Filing Date: 2012-04-24
Classification: H04L

Abstract:
1. A method, implemented at a sharing computer system that includes at least one processor, of simultaneously providing network connections between a plurality of applications running at the sharing computer system and one or more client computer systems through a single static port, the method comprising: an act of assigning a port listening service to listen to a static port, at the sharing computer system, that is shared by a plurality of applications running at the sharing computer system, wherein the port listening service is configured to listen at the static port for client connection requests that contain unique connection identifiers, each unique connection identifier associated with a corresponding one of the plurality of applications running at the sharing computer system, and to forward each client connection request to a corresponding application having the associated unique connection identifier; an act of establishing a first socket connection between the port listening service and a first application of the plurality of applications running at the sharing computer system that share the static port, and associating a first unique connection identifier with the first application and the first socket connection; an act of establishing a second socket connection 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, and associating a second unique connection identifier with the second application and the second socket connection, wherein the second unique connection identifier is distinct from the first unique connection identifier; an act of sending one or both of the first unique connection identifier and the second unique connection identifier to one or more client computer systems; an act of receiving, at the static port, a first client connection request, wherein the first client connection request includes each of: (i) a particular 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; an act of identifying the first application at least partly by identifying that the first unique connection identifier is associated with the first application, and forwarding the first client connection request to the first application by the port listening service passing control of the first socket connection to the first application, such that the first application connects with a first client computer system through the static port in a session identified at least partly by the first unique connection identifier; concurrent with the first application being connected with the first client computer system through the static port, an act of receiving, at the static port, a second client connection request, 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; concurrent with the first application being connected with the first client computer system through the static port, an act of identifying the second application at least partly by identifying that the second unique connection identifier is associated with the second application and forwarding the second client connection request to the second application by the port listening service passing control of the second socket connection to the second application, such that the second application connects with a second client computer system through the static port in a session identified at least partly by the second unique connection identifier concurrently with the first application connecting with the first client computer system through the static port.