IP Library Granted Patent US 8,279,869
Granted Patent B1
US 8,279,869 · App. 11/731,350 · Granted Oct 2, 2012

Reliable communication channel over existing TCP connection

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,279,869
App. No.
11/731,350
Granted
Oct 2, 2012
Kind
B1
Abstract

Various systems and methods for exchanging communications between devices coupled by an address translation device are disclosed. These techniques can be used to facilitate automatic relationship discovery. One method involves extracting a sequence number from a TCP acknowledgment message being conveyed from a network interface to a TCP stack, and then sending a new TCP message, which includes the sequence number.

Claims (58)

1. A method comprising:

extracting a sequence number from a Transmission Control Protocol (TCP) message, wherein the extracting is performed by a first device, the TCP message is being conveyed from a network interface to a TCP stack, and the sequence number is an acknowledged sequence number indicating a most recently received sequence number that was received by a sender of the TCP message prior to sending the TCP message;

inserting the copy of the sequence number into a new TCP message, wherein the inserting is performed by the first device;

sending the new TCP message to a second device, wherein the sending is performed by the first device, a sequence number of the new TCP message comprises the sequence number, the new TCP message comprises information configured to facilitate identifying a dependency between a local application executed by the second device and a second application executed the first device, wherein the identifying is performed by the second device, and the identifying comprises:

detecting that the second application is identified by a true address of the second application and the local application is identified by a translated address of the local application, and

transmitting the information to a relationship discovery agent executed by the second device;

sending the information from the relationship discovery agent of the second device to a relationship discovery server indicating that the second application and the local application are communicating with each other; and

determining that the second application and the local application are communicating with each other by correlating the information received from the relationship discovery agent of the second device with another information, that indicates the second application is identified by the true address and the local application is identified by the translated address, wherein the another information is received from a relationship discovery agent of the first device, and wherein the determining is performed by the relationship discovery server.

2. The method of claim 1 , further comprising:

detecting establishment of a network connection using TCP, wherein the extracting the sequence number is performed subsequent to the detecting.

3. The method of claim 1 , further comprising:

inserting a value in the new TCP message, wherein the value indicates that the new TCP message is being sent to a messaging module.

4. The method of claim 1 , further comprising:

inserting a payload in the new TCP message, wherein the payload comprises a globally unique identifier of a module communicating via a TCP connection.

5. The method of claim 4 , wherein the module is a computing device from which the new TCP message is being sent.

6. The method of claim 1 , further comprising:

inserting a payload in the new TCP message, wherein the payload comprises the translated address of the local application and the true address of the second application, and

the local application is communicating with the second application via a TCP connection.

7. A non-transitory computer readable storage medium comprising program instructions executable to:

extract a sequence number from a Transmission Control Protocol (TCP) message, wherein a first device is configured to extract the sequence number, the TCP message is being conveyed from a network interface to a TCP stack, and the sequence number is an acknowledged sequence number indicating a most recently received sequence number that was received by a sender of the TCP message prior to sending the TCP message;

insert the sequence number in a new TCP message, wherein the first device is configured to insert the sequence number; and

send the new TCP message to a second device, wherein the first device is configured to send the new TCP message, a sequence number of the new TCP message comprises the sequence number, the new TCP message comprises information configured to facilitate identifying a dependency between a local application executed by the second device and a second application executed the first device, wherein, the second device is configured to perform the identifying, and the identifying comprises

detecting that the second application is identified by a true address of the second application and the local application is identified by a translated address of the local application, and

transmitting the information to a relationship discovery agent executed by the second device,

wherein the information is sent from the relationship discovery agent of the second device to a relationship discovery server to indicate that the second application and the local application are communicating with each other, and

wherein the information received from the relationship discovery agent of the second device is correlated with another information, that indicates the second application is identified by the true address and the local application is identified by the translated address, wherein the another information is received from a relationship discovery agent of the first device to determine that the second application and the local application are communicating with each other, and wherein the correlation is performed by the relationship discovery server.

8. The non-transitory computer readable storage medium of claim 7 , wherein the program instructions are executable to:

detect establishment of a network connection using Transmission Control Protocol (TCP), wherein the sequence number is extracted subsequent to the detecting.

9. The non-transitory computer readable storage medium of claim 7 , wherein the program instructions are executable to:

insert a value in the new TCP message, wherein the value indicates that the new TCP message is being sent to a messaging module.

10. The non-transitory computer readable storage medium of claim 7 , wherein the program instructions are executable to:

insert a payload in the new TCP message, wherein the payload comprises a globally unique identifier of a module communicating via a TCP connection.

11. The non-transitory computer readable storage medium of claim 10 , wherein the module is a computing device from which the new TCP message is being sent.

12. The non-transitory computer readable storage medium of claim 7 , wherein the program instructions are executable to: insert a payload in the new TCP message, wherein the payload comprises the translated address of the local application and the true address of the second application, and the local application is communicating with the second application via a TCP connection.

13. A system comprising:

a processor; and

a memory coupled to the processor and storing program instructions executable by the processor to:

extract a sequence number from a Transmission Control Protocol (TCP] message, wherein a first device is configured to extract the sequence number, the TCP message is being conveyed from a network interface to a TCP stack, and the sequence number is an acknowledged sequence number indicating a most recently received sequence number received by a sender of the TCP message prior to sending the TCP message;

insert the sequence number in a new TCP message, wherein the first device is configured to insert the sequence number; and

send the new TCP message to a second device, wherein the first device is configured to send the new TCP message, a sequence number of the new TCP message comprises the sequence number, the new TCP message comprises information configured to facilitate identifying a dependency between a local application executed by the second device and a second application executed the first device, wherein, the second device is configured to perform the identifying, and the identifying comprises

detecting that the second application is identified by a true address of the second application and the local application is identified by a translated address of the local application, and

transmitting the information to a relationship discovery agent executed by the second device,

wherein the information is sent from the relationship discovery agent of the second device to a relationship discovery server to indicate that the second application and the local application are communicating with each other, and

wherein the information received from the relationship discovery agent of the second device is correlated with another information, that indicates the second application is identified by the true address and the local application is identified by the translated address, wherein the another information is received from a relationship discovery agent of the first device to determine that the second application and the local application are communicating with each other, and wherein the correlation is performed by the relationship discovery server.

14. The system of claim 13 , wherein the program instructions are executable to:

detect establishment of a network connection using Transmission Control Protocol (TCP), wherein the sequence number is extracted subsequent to the detecting.

15. The system of claim 13 , wherein the program instructions are executable to:

insert a value in the new TCP message, wherein the value indicates that the new TCP message is being sent to a messaging module.

16. The system of claim 13 , wherein the program instructions are executable to:

insert a payload in the new TCP message, wherein the payload comprises the translated address of the local application and the true address of the second application, and the local application is communicating with the second application via a TCP connection.

17. A system comprising:

means for extracting a sequence number from a Transmission Control Protocol (TCP) message, wherein the extracting is performed by a first device, the TCP message is being conveyed from a network interface to a TCP stack, and the sequence number is an acknowledged sequence number indicating a most recently received sequence number received by a sender of the TCP message prior to sending the TCP message;

means for inserting the copy of the sequence number into a new TCP message: wherein the inserting is performed by the first device; and

means for sending the new TCP message to a second device, wherein the sending is performed by the first device, a sequence number of the new TCP message comprises the sequence number, the new TCP message comprises information configured to facilitate identifying a dependency between a local application executed by the second device and a second application executed the first device, wherein the identifying is performed by the second device, and the identifying comprises

detecting that the second application is identified by a true address of the second application and the local application is identified by a translated address of the local application, and

transmitting the information to a relationship discovery agent executed by the second device,

wherein the information is sent from the relationship discovery agent of the second device to a relationship discovery server to indicate that the second application and the local application are communicating with each other, and

wherein the information received from the relationship discovery agent of the second device is correlated with another information, that indicates the second application is identified by the true address and the local application is identified by the translated address, wherein the another information is received from a relationship discovery agent of the first device to determine that the second application and the local application are communicating with each other, and wherein the correlation is performed by the relationship discovery server.

Assignments (18)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2007
From: VAN RIETSCHOTE, HANS F.
To: VERITAS OPERATING CORPORATION
Reel/Frame 019300/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2007
From: TRAN, CUONG HUU; SHAH, VEERAL P.; ANUSZCZYK, JEFFREY J.
To: VERITAS OPERATING CORPORATION
Reel/Frame 019197/0328 →