IP Library Granted Patent US 9,124,598
Granted Patent B2
US 9,124,598 · App. 13/169,228 · Granted Sep 1, 2015

Method and apparatus of establishing a connection between devices using cached connection information

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,124,598
App. No.
13/169,228
Granted
Sep 1, 2015
Kind
B2
Abstract

Disclosed are an apparatus and method of performing a connection setup between two or more endpoint devices communication over a data network. An example connection setup operation may include receiving an initial command at the at least two endpoint devices, retrieving at least one IP address from a cache file in response to the initial command, assigning a port number to the at least one retrieved IP address based on a common session identifier (ID) shared between the at least two endpoint devices, and listening for a connection communication message on the assigned port number associated with the at least one IP address.

Claims (42)

1. A method of performing a connection setup between at least two endpoint devices across a data network, the method comprising:

receiving an initial command at the at least two endpoint devices;

retrieving at least one IP address from a cache file stored in at least one of the endpoint devices of the at least two endpoint devices in response to the initial command, wherein the cache file comprises connection results from previous connection attempts associated with the at least one endpoint, wherein the connection results indicate successful connection attempts and failed connection attempts and the connection results comprise timestamp information, local and remote IP addresses of the endpoints and servers used to establish a connection between the two endpoints, and a globally unique identifier (GUID);

performing a health check of the connection established between the at least two endpoints devices based on the connection results;

assigning a port number to the at least one retrieved IP address based on a common session identifier (ID) shared between the at least two endpoint devices; and

listening for a connection communication message on the assigned port number associated with the at least one IP address.

2. The method of claim 1 , further comprising:

receiving a first globally unique identifier at one of the at least two endpoint devices and receiving a second globally unique identifier at the other of the at least two endpoint devices;

matching the first globally unique identifier to the at least one IP address; and

matching the second globally unique identifier to at least one other IP address stored in the cache file.

3. The method of claim 1 , wherein no communication message is exchanged between the at least two endpoints during the connection setup.

4. The method of claim 1 , wherein the connection setup between the at least two endpoint devices is a point-to-point connection.

5. The method of claim 1 , wherein assigning a port number to the at least one retrieved IP address based on the common session identifier (ID) shared between the at least two endpoint devices is performed by a hashing function.

6. The method of claim 2 , wherein the at least one IP address comprises a public IP address and a private IP address corresponding to one of the at least two endpoint devices and the at least one other IP address comprises another public IP address and another private IP address corresponding to the other of the at least two endpoint devices.

7. An apparatus configured to perform a connection setup across a data network with an endpoint device, the apparatus comprising:

a receiver configured to receive an initial command;

a memory configured to store a cache file; and

a processor configured to

retrieve at least one IP address from the cache file stored in at least one of the endpoint devices of the at least two endpoint devices in in response to the initial command, wherein the cache file comprises connection results from previous connection attempts associated with the at least one endpoint, wherein the connection results indicate successful connection attempts and failed connection attempts, and the connection results comprise timestamp information, local and remote IP addresses of the endpoints and servers used to establish a connection between the two endpoints, and a globally unique identifier (GUID);

performing a health check of the connection established between the at least two endpoints devices based on the connection results,

assign a port number to the at least one retrieved IP address based on a common session identifier (ID) shared with the endpoint device, and

listen for a connection communication message on the assigned port number associated with the at least one IP address.

8. The apparatus of claim 7 , wherein the receiver is further configured to

receive a first globally unique identifier, wherein a second globally unique identifier is received at the endpoint device,

match the first globally unique identifier to the at least one IP address, wherein the endpoint device is configured to match the second globally unique identifier to at least one other IP address stored in the cache file.

9. The apparatus of claim 7 , wherein no communication message is exchanged between the apparatus and the endpoint during the connection setup.

10. The apparatus of claim 7 , wherein the connection setup is a point-to-point connection.

11. The apparatus of claim 7 , wherein assigning a port number to the at least one retrieved IP address based on the common session identifier (ID) shared between the apparatus and the endpoint device is performed by a hashing function.

12. The apparatus of claim 8 , wherein the at least one IP address comprises a public IP address and a private IP address corresponding to apparatus and the at least one other IP address comprises another public IP address and another private IP address corresponding to the endpoint device.

13. A non-transitory computer readable medium configured to store instructions that when executed cause a processor to perform a connection setup between at least two endpoint devices across a data network, the processor being further configured to perform:

receiving an initial command at the at least two endpoint devices;

retrieving at least one IP address from a cache file stored in at least one of the endpoint device of the at least two endpoint devices in response to the initial command, wherein the cache file comprises connection results from previous connection attempts associated with the at least one endpoint, wherein the connection results indicate successful connection attempts and failed connection attempts and the connection results comprise timestamp information, local and remote IP addresses of the endpoints and servers used to establish a connection between the two endpoints, and a globally unique identifier (GUID);

performing a health check of the connection established between the at least two endpoints devices based on the connection results;

assigning a port number to the at least one retrieved IP address based on a common session identifier (ID) shared between the at least two endpoint devices; and

listening for a connection communication message on the assigned port number associated with the at least one IP address.

14. The non-transitory computer readable storage medium of claim 13 , wherein the processor is further configured to perform:

receiving a first globally unique identifier at one of the at least two endpoint devices and receiving a second globally unique identifier at the other of the at least two endpoint devices;

matching the first globally unique identifier to the at least one IP address; and

matching the second globally unique identifier to at least one other IP address stored in the cache file.

15. The non-transitory computer readable medium of claim 13 , wherein no communication message is exchanged between the at least two endpoints during the connection setup.

16. The non-transitory computer readable medium of claim 13 , wherein the connection setup between the at least two endpoint devices is a point-to-point connection.

17. The non-transitory computer readable storage medium of claim 14 , wherein the at least one IP address comprises a public IP address and a private IP address corresponding to one of the at least two endpoint devices and the at least one other IP address comprises another public IP address and another private IP address corresponding to the other of the at least two endpoint devices.

Assignments (11)
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 24, 2025
From: KASEYA LIMITED
To: MORGAN STANLEY SENIOR FUNDING, INC., AS SECOND LIEN COLLATERAL AGENT
Reel/Frame 070608/0176 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 21, 2025
From: KASEYA LIMITED
To: MORGAN STANLEY SENIOR FUNDING, INC., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 070586/0814 →
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: VEEAM SOFTWARE LIMITED
To: KASEYA LUXEMBOURG HOLDINGS S.C.A.
Reel/Frame 049122/0138 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: KASEYA LIMITED
Reel/Frame 049122/0181 →
SUBORDINATED SECOND LIEN US PATENT SECURITY AGREEMENT Recorded Jun 1, 2018
From: SPANNING CLOUD APPS LLC; UNITRENDS, INC.; KASEYA LIMITED; RAPIDFIRE TOOLS INC.
To: FABSTONE INVESTMENTS LLC
Reel/Frame 046286/0755 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded May 31, 2017
From: SILICON VALLEY BANK
To: KASEYA LIMITED
Reel/Frame 042642/0023 →
SECURITY INTEREST Recorded May 26, 2017
From: KASEYA LIMITED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 042589/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2014
From: KASEYA INTERNATIONAL LIMITED
To: KASEYA LIMITED
Reel/Frame 033880/0921 →
SECURITY INTEREST Recorded Jul 14, 2014
From: KASEYA LIMITED
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 033312/0618 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2011
From: SUNDERRAJAN, SANTHOSHKUMAR
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 026504/0473 →