IP Library Granted Patent US 10,110,556
Granted Patent B2
US 10,110,556 · App. 14/574,359 · Granted Oct 23, 2018

Methods, systems, and computer readable media for initiating and executing performance tests of a private network and/or components thereof

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 10,110,556
App. No.
14/574,359
Granted
Oct 23, 2018
Kind
B2
Abstract

Methods, systems, and computer readable media for initiating and executing a performance test of a private network and/or components thereof are disclosed. Methods and systems include a receiver endpoint in a private network, and a sender endpoint in a public network. The receiver endpoint initiates a transport layer connection with the sender endpoint. The sender endpoint allocates a port, binds to the port, and sends an Internet Protocol (IP) address and a port number over the transport layer connection. The receiver endpoint then sends a hole punch datagram from the private network to the public network to create a hole in a firewall that is separating the public and private networks. The sender endpoint receives the hole punch datagram and uses IP address and port information in the hole punch datagram to send test traffic through the hole in the firewall.

Claims (34)

1. A method for initiating and executing a performance test of a private network and/or components thereof, the method comprising:

providing, by a test controller, test configuration information for configuring a performance test to a receiver endpoint in a private network and to a sender endpoint in a public network, wherein the test configuration information received at each endpoint is devoid of destination port addresses for receiving traffic from the other endpoint;

at the receiver endpoint in a private network, initiating a transport layer connection with the sender endpoint in a public network;

at the sender endpoint in the public network, allocating a first port for testing purposes, binding to the first port, and sending an Internet Protocol (IP) address and a port number associated with the first port over the transport layer connection to the receiver endpoint;

at the receiver endpoint, allocating a second port for testing purposes, binding to the second port, and sending an IP address and a port number associated with the second port in a hole punch datagram from the private network to the public network to create a hole in a firewall that is separating the public and private networks, wherein the hole punch datagram comprises a User Datagram Protocol (UDP) datagram in which a source IP address field stores the IP address and a source port field stores the port number associated with the second port; and

at the sender endpoint, receiving the hole punch datagram and using the IP address and port information in the hole punch datagram to send test traffic to the receiver endpoint in the private network through the hole in the firewall.

2. The method of claim 1 , wherein allocating the first port for testing purposes includes requesting the first port from an operating system.

3. The method of claim 1 , wherein the hole punch datagram comprises a User Datagram Protocol (UDP) INIT datagram.

4. The method of claim 3 , wherein the INIT datagram includes a public IP address and a public port number mapped by the firewall to a private IP address and a private port number of the receiver endpoint for receiving test traffic.

5. The method of claim 4 , wherein sending the test traffic includes addressing the test traffic to the public IP address and the public port number, wherein the firewall receives the test traffic, maps the public IP address and public port number to the private IP address and the private port number, and sends the traffic to the receiver endpoint.

6. The method of claim 1 , wherein sending the test traffic includes simulating multiple users and sending traffic for the multiple users.

7. The method of claim 1 , wherein sending the test traffic includes testing an Internet connection, a security device, and/or connections within the private network.

8. The method of claim 1 , wherein a performance test is executed without manually opening a port in the firewall associated with the private network.

9. A system for initiating and executing a performance test of a private network and/or components thereof, the system comprising:

a receiver endpoint in a private network;

a sender endpoint in a public network; and

a test controller configured to provide test configuration information for configuring a performance test to a receiver endpoint in a private network and to a sender endpoint in a public network, wherein the test configuration information received at each endpoint is devoid of destination port addresses for receiving traffic from the other endpoint;

wherein the receiver endpoint is configured to initiate a transport layer connection with the sender endpoint;

wherein, in response to receiving the transport layer connection, the sender endpoint is configured to allocate a first port for testing purposes, bind to the first port, and send an Internet Protocol (IP) address and a port number associated with the first port over the transport layer connection to the receiver endpoint;

wherein, in response to receiving the IP address and the port number, the receiver endpoint is configured to allocate a second port for testing purposes, bind to the second port, and send an IP address and a port number associated with the second port in a hole punch datagram from the private network to the public network to create a hole in a firewall that separates the private network from the public network, wherein the hole punch datagram comprises a User Datagram Protocol (UDP) datagram in which a source IP address field stores the IP address and a source port field stores the port number associated with the second port; and

wherein, in response to receiving the hole punch datagram, the sender endpoint receives the hole punch datagram and uses the IP address and port information in the hole punch datagram to send test traffic to the receiver endpoint in the private network through the hole in the firewall.

10. The system of claim 9 , wherein the sender endpoint allocates the first port for testing purposes by requesting the first port from an operating system.

11. The system of claim 9 , wherein the hole punch datagram comprises a User Datagram Protocol (UDP) INIT datagram.

12. The system of claim 11 , wherein the INIT datagram includes a public IP address and a public port number mapped by the firewall to a private IP address and a private port number of the receiver endpoint for receiving test traffic.

13. The system of claim 12 , wherein the test traffic is addressed to the public IP address and the public port number, wherein the firewall receives the test traffic, maps the public IP address and public port number to the private IP address and the private port number, and sends the traffic to the receiver endpoint.

14. The system of claim 9 , wherein the test traffic simulates multiple users and traffic for the multiple users.

15. The system of claim 9 , wherein the test traffic is for testing an Internet connection, a security device, and/or connections within the private network.

16. The system of claim 9 , wherein a performance test is executed without manually opening a port in the firewall associated with the private network.

17. A non-transitory computer readable medium comprising computer executable instructions embodied in the non-transitory computer readable medium that when executed by a processor of a computer perform steps comprising:

providing, by a test controller, test configuration information for configuring a performance test to a receiver endpoint in a private network and to a sender endpoint in a public network, wherein the test configuration information received at each endpoint is devoid of destination port addresses for receiving traffic from the other endpoint;

at the receiver endpoint in a private network, initiating a transport layer connection with the sender endpoint in a public network;

at the sender endpoint in the public network, allocating a first port for testing purposes, binding to the first port, and sending an Internet Protocol (IP) address and a port number associated with the first port over the transport layer connection to the receiver endpoint;

at the receiver endpoint, allocating a second port for testing purposes, binding to the second port, and sending an IP address and a port number associated with the second port in a hole punch datagram from the private network to the public network to create a hole in a firewall that is separating the public and private networks, wherein the hole punch datagram comprises a User Datagram Protocol (UDP) datagram in which a source IP address field stores the IP address and a source port field stores the port number associated with the second port; and

at the sender endpoint, receiving the hole punch datagram and using the IP address and port information in the hole punch datagram to send test traffic to the receiver endpoint in the private network through the hole in the firewall.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
SECURITY INTEREST Recorded Mar 3, 2015
From: IXIA; ANUE SYSTEMS, INC.; BREAKINGPOINT SYSTEMS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 035121/0860 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2015
From: NISTOR, MARIUS PAVEL
To: IXIA
Reel/Frame 034966/0743 →