IP Library Granted Patent US 9,467,327
Granted Patent B2
US 9,467,327 · App. 13/656,792 · Granted Oct 11, 2016

Server-mediated setup and maintenance of peer-to-peer client computer communications

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 9,467,327
App. No.
13/656,792
Granted
Oct 11, 2016
Kind
B2
Abstract

A method and apparatus for facilitating communication between client computers is provided. The method provides for the use of ping probing by a server to determine the types of NAT devices and/or firewalls protecting the client computers. Once these are determined, the server can predict the response to communications from the client computers and instruct the client computers to contact each other. Once a session or tunnel is established it can be maintained through the use of a flag, even if contact with the server is lost.

Claims (27)

1. Apparatus for assisting peer nodes to establish connections with one another, wherein a given peer node has associated therewith an Internet access device, comprising:

a hardware processor;

a network interface;

computer memory storing computer program instructions comprising a server having an associated private IP address space, a packet exchange mechanism, and a tunnel setup mechanism;

the packet exchange mechanism operative to determine a type of Internet access device associated with a given peer node by:

instructing the given peer node to send at least a first packet to a machine at a given target IP address and port;

receiving a reflection packet from the given target IP address and port that includes a source IP address and port of the given peer node as determined by the machine; and

using the reflection packet together with information about a local IP address and port used by the given peer node to determine the type of Internet access device; and

the tunnel setup mechanism operative to attempt to set up a tunnel between at least a first peer node and a second peer node, wherein when tunnel setup succeeds the first and second peer nodes communicate data directly through the tunnel using the private IP address space and without passing through the server.

2. The apparatus as described in claim 1 wherein the tunnel setup mechanism is operative, for the first peer node:

to instruct the first peer node to send a packet to the second peer node; and

to receive a reflection packet from the second peer node to enable the server to confirm that the tunnel is operational in a given direction from the first peer node to the second peer node.

3. The apparatus as described in claim 1 wherein the tunnel between the first and second peer nodes is a VPN.

4. A system managed by a service provider for assisting peer nodes to establish connections with one another, wherein a given peer node has associated therewith an Internet access device, comprising:

an apparatus comprising hardware processor, a network interface, and computer memory storing computer program instructions comprising a server having an associated private IP address space, a packet exchange mechanism, and a tunnel setup mechanism;

the packet exchange mechanism operative to determine a type of Internet access device associated with a given peer node by:

instructing the given peer node to send at least a first packet to a machine at a given target IP address and port;

receiving a reflection packet from the given target IP address and port that includes a source IP address and port of the given peer node as determined by the machine; and

using the reflection packet together with information about a local IP address and port used by the given peer node to determine the type of Internet access device;

the tunnel setup mechanism operative to attempt to set up a tunnel between at least a first peer node and a second peer node, wherein when tunnel setup succeeds the first and second peer nodes communicate data directly through the tunnel using the private IP address space and without passing through the server; and

at least one relay node distinct from the apparatus and operative to facilitate communications between the first and second peer nodes when the tunnel setup does not succeed.

5. The system as described in claim 4 wherein the tunnel between the first and second peer nodes is a VPN.

6. The system as described in claim 4 wherein the server executes at least the tunnel setup mechanism for a third peer node to enable the first, second and third peer nodes to communicate with one another during a given session.

7. The system as described in claim 6 wherein at least one communication during the given session is one of: a unicast, a broadcast, and a multicast.

8. The system as described in claim 4 wherein the tunnel setup mechanism is operative, for the first peer node:

to instruct the first peer node to send a packet to the second peer node; and

to receive a reflection packet from the second peer node to enable the server to confirm that the tunnel is operational in a given direction from the first peer node to the second peer node.

Assignments (15)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 053667/0169, REEL/FRAME 060450/0171, REEL/FRAME 063341/0051) Recorded Mar 15, 2024
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: GOTO GROUP, INC. (F/K/A LOGMEIN, INC.)
Reel/Frame 066800/0145 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.; GOTO GROUP, INC.; LASTPASS US LP
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0355 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.,; GOTO GROUP, INC., A; LASTPASS US LP,
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0402 →
SECURITY INTEREST Recorded Feb 7, 2024
From: GOTO GROUP, INC.,; GOTO COMMUNICATIONS, INC.; LASTPASS US LP
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 066508/0443 →
CHANGE OF NAME Recorded Apr 8, 2022
From: LOGMEIN, INC.
To: GOTO GROUP, INC.
Reel/Frame 059644/0090 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Feb 16, 2021
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: LOGMEIN, INC.
Reel/Frame 055306/0200 →
NOTES LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053667/0032 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0079 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0169 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 35624/0662 Recorded Aug 31, 2020
From: JPMORGAN CHASE BANK, N.A.
To: LOGMEIN, INC.
Reel/Frame 053650/0902 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 041588/0143 Recorded Aug 31, 2020
From: JPMORGAN CHASE BANK, N.A.
To: LOGMEIN, INC.; GETGO, INC.
Reel/Frame 053650/0978 →
SECURITY INTEREST Recorded Feb 1, 2017
From: GETGO, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 041588/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2016
From: PANKRATOV, ALEXANDRE
To: APPLIED NETWORKING, INC.
Reel/Frame 039704/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2016
From: APPLIED NETWORKING, INC.
To: LOGMEIN, INC.
Reel/Frame 039704/0092 →
SECURITY INTEREST Recorded May 13, 2015
From: LOGMEIN, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035624/0662 →