Method and apparatus supporting network communications through a firewall
First Claim
1. A method comprising:
- providing a plurality of sockets, whereineach socket has an associated connection and an associated security token,each associated connection is inbound relative to a relay program, andthe associated security token is provided by the associated connection;
receiving a first connection and a first security token at a relay program, whereinthe first connection is inbound relative to the relay program;
creating a socket associated with the first connection, whereinthe creating comprises associating the first security token with the first connection;
comparing the first security token with the associated security tokens; and
in response to said comparing,if none of the associated security tokens match the first security token, includingthe socket in the plurality of sockets, andif the first security token and a security token associated with one of the plurality of sockets match, coupling an end point of the first connection to an end point of a connection associated with the socket associated with the matching security token, whereina security token is a password, andthe connection associated with the socket is inbound relative to the relay program.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of communicating information between a first program and a second program over a network is described. The method includes relaying the information between the first program and a first communications program over a first network connection, relaying the information between the first communications program and a second communications program over a second network connection and relaying the information between the second communications program and the second program over a third network connection. Further, the first communications program creates the second network connection to the second communications program through a first firewall program, which prevents access to the first program initiated by the second program. Thus, the second network connection is initiated by the first communications program. The first communications program can be, for example, a protocol daemon and the second communications program can be, for example, a relay program. The first firewall program can also be configured to prevent access to the first program initiated by the second communications program.
29 Citations
46 Claims
-
1. A method comprising:
-
providing a plurality of sockets, wherein each socket has an associated connection and an associated security token, each associated connection is inbound relative to a relay program, and the associated security token is provided by the associated connection; receiving a first connection and a first security token at a relay program, wherein the first connection is inbound relative to the relay program; creating a socket associated with the first connection, wherein the creating comprises associating the first security token with the first connection; comparing the first security token with the associated security tokens; and in response to said comparing, if none of the associated security tokens match the first security token, including the socket in the plurality of sockets, and if the first security token and a security token associated with one of the plurality of sockets match, coupling an end point of the first connection to an end point of a connection associated with the socket associated with the matching security token, wherein a security token is a password, and the connection associated with the socket is inbound relative to the relay program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
creating a first connection from a first program to a relay program, wherein the first connection is inbound to the relay program; receiving a first security token from the first program at the relay program, wherein the first security token is a password; providing the first security token to the relay program; creating a socket associated with the first connection, wherein the creating comprises associating the first security token with the first connection; comparing the first security token with one or more security tokens associated with one or more corresponding connections, wherein each one of the one or more corresponding connections is inbound to the relay program; and in response to said comparing, if the first security token and a security token associated with a corresponding connection match, coupling the second connection to the connection associated with the matching security token, and if none of the associated security tokens match the first security token, creating a second connection to the relay program, wherein the second connection is inbound to the relay program, upon successful creation of the second connection, including the second connection with said one or more corresponding connections, and coupling the first connection and the second connection to one another. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus comprising:
-
means for providing a plurality of sockets, wherein each socket has an associated connection and an associated security token, each associated connection is inbound relative to a relay program, and the associated security token is provided by the associated connection; means for receiving a first connection and a first security token; means for creating a socket associated with the first connection, wherein means for creating comprises means for associating the first security token with the first connection; means for comparing the first security token with the associated security tokens; and in response to said comparing, means for including the socket in the plurality of sockets, if none of the associated security tokens match the first security token, and means for coupling an endpoint of the first connection to an endpoint of the connection associated with the socket associated with the matching security token, if the first security token and a security token associated with one of the plurality of sockets match, wherein a security token is a password. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. An apparatus comprising:
-
means for creating a first connection from a first program to a relay program; the first connection is inbound to the relay program; means for receiving a first security token from the first program, wherein the first security token is a password; means for providing the first security token to the relay program, means for creating a socket associated with the first connection, wherein the means for creating comprises means for associating the first security token with the first connection; means for comparing the first security token with one or more security tokens associated with one or more corresponding connections, wherein each one of the one or more corresponding connections is inbound to the relay program; and in response to said comparing, means for coupling a second connection and the connection associated with the matching security token, if the first security token and a security token associated with a corresponding connection match, wherein the second connection is the corresponding connection, and means for creating a second connection to a relay program, if none of the associated security tokens match the first security token, wherein the second connection is inbound to the relay program, and upon successful creation of the second connection, means for including the second connection with said one or more corresponding connections, and means for coupling the first connection and the second connection to one another. - View Dependent Claims (29, 30, 31, 32, 33)
-
-
34. A computer program product encoded in a computer readable storage media, the computer program product comprising:
-
a first set of instructions, executable by a processor and configured to cause the processor to provide a plurality of sockets, wherein each socket has an associated connection and an associated security token, each associated connection is inbound relative to a relay program, and the associated security token is provided by the associated connection; a second set of instructions, executable by the processor and configured to cause the processor to receive a first connection and a first security token at the relay program, wherein the first connection is inbound relative to the relay program; a third set of instructions, executable by the processor and configured to cause the processor to create a socket associated with the first connection, wherein-the third set of instructions comprises a first subset of instructions, executable by a processor and configured to cause the processor to associate the first security token with the first connection; a fourth set of instructions, executable by the processor and configured to cause the processor to compare the first security token with the associated security tokens; a fifth set of instructions, executable by the processor and configured to cause the processor to include the socket in the plurality of sockets, in response to said comparing, if none of the associated security tokens match the first security token; and a sixth set of instructions, executable by the processor and configured to cause the processor, in response to the fourth set of instructions, to couple an end point of the first connection and an end point of a connection associated with the socket associated with the matching security token to one another, wherein a security token is a password. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
-
41. A computer program product encoded in a computer readable storage media, the computer program product comprising:
-
a first set of instructions, executable by a first processor and configured to cause the first processor to create a first connection from a first program to a relay program, wherein the first connection is inbound to the relay program; a second set of instructions, executable by the first processor and configured to cause the first processor to receive a first security token from the first program to the relay program, wherein the first security token is a password, and said second set of instruction comprises a first subset of instructions providing the first security token to the relay program; a third set of instructions, executable by the first processor and configured to cause the first processor to create a socket associated with the first connection, wherein said third set of instructions comprises a second subset of instructions, executable by the first processor and configured to cause the first processor to associate the first security token with the first connection; a fourth set of instructions, executable by the first processor and configured to cause the first processor to compare the first security token with one or more security tokens associated with one or more corresponding connections; a fifth set of instructions, executable by the first processor and configured to cause the first processor to create a second connection to a relay program; a sixth set of instructions, executable by the first processor and configured to cause the first processor to provide the first security token to the relay program; a seventh set of instructions, executable by the first processor and configured to cause the first processor to couple the first connection to the second connection upon successful creation of the second connection; an eighth set of instructions executable by a second processor, responsive to said comparing, and configured to cause the second processor to couple the second connection to the connection associated with the matching security token if the first security token and a security token associated with a corresponding connection match; and a ninth set of instructions, executable by the second processor, responsive to said comparing, and configured to cause the second processor to include the second connection with said one or more corresponding connections if none of the associated security tokens match the first security token. - View Dependent Claims (42, 43, 44, 45, 46)
-
Specification