IP Library Granted Patent US 10,098,026
Granted Patent B1
US 10,098,026 · App. 15/494,105 · Granted Oct 9, 2018

Application test system

Inventors: Manish Lachwani (Los Altos, CA); Brien Colwell (Oakland, CA); Marius Nita (San Francisco, CA)
Assignee: HEADSPIN, INC.
H04W24/08H04W8/183H04W76/02H04W76/10H04W88/182
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,098,026
App. No.
15/494,105
Granted
Oct 9, 2018
Kind
B1
Abstract

Mobile devices executing applications utilize data services worldwide. Many failures or adverse user experiences of these applications have been determined to be the result of network issues. Testing of the applications for networking issues is facilitated by utilizing a test network having proxy devices placed at different physical locations. A tester may use the test network to direct traffic to and from an application under test to one of the proxy devices. Using the proxy device, the traffic is then exchanged with a real-world network, such as a cellular data network, at the different location. The tester may thus test operation of the application under test in real-world conditions at a variety of different physical locations. The results may be used to mitigate or eliminate the failures or adverse user experiences. Additional testing may also be performed on the application after deployment to end users.

Claims (108)

1. A system comprising:

a test device (TD) at a first geolocation, comprising:

a first communication interface to connect to a first network;

one or more memories storing first computer-executable instructions; and

one or more hardware processors to execute the instructions with privileges of a first user account, further wherein the first user account has privileges lesser than a root account, to:

establish a first connection with a proxy host device at a second geolocation using the first communication interface;

generate outbound traffic destined for an external device;

send the outbound traffic to the proxy host device using the first connection; and

receive inbound traffic from the external device via the proxy host device using the first connection.

2. The system of claim 1 , further comprising:

the proxy host device at the second geolocation, comprising:

a second communication interface to connect to the first network;

a third communication interface to connect to a proxy access device, wherein a fourth communication interface of the proxy access device is configurable to connect to a second network;

one or more memories storing second computer-executable instructions; and

the one or more hardware processors to execute the second computer-executable instructions to:

establish the first connection with the TD using the second communication interface;

establish, using the third communication interface and via the proxy access device, a second connection to the external device using the second network;

receive the outbound traffic from the TD using the first connection;

send the outbound traffic to the second network using the second connection;

receive the inbound traffic from the second network using the second connection; and

send the inbound traffic to the TD using the first connection.

3. The system of claim 2 , the second computer executable instructions further comprising computer-executable instructions to:

collect proxy session data associated with use of the second network, wherein the proxy session data includes one or more of:

at least a portion of data transferred between the TD and the external device on the second network, or

information associated with the second connection.

4. The system of claim 2 , the second computer executable instructions further comprising computer-executable instructions to:

send, using the third communication interface, instructions to the proxy access device to discontinue execution of one or more applications by the proxy access device; and

wherein the second network comprises a wireless cellular data network.

5. The system of claim 2 , further comprising the proxy access device, the proxy access device comprising:

the fourth communication interface to connect to the third communication interface of the proxy host device;

a fifth communication interface to connect to the second network;

one or more memories storing third computer-executable instructions; and

the one or more hardware processors to execute, with privileges of the first user account having privileges lesser than the root account, instructions to:

establish the second connection to the external device using the fourth communication interface;

receive the outbound traffic from the TD using the first connection;

send the outbound traffic to the second network using the second connection;

receive the inbound traffic from the second network using the second connection; and

send the inbound traffic to the TD using the first connection.

6. The system of claim 2 , the second computer executable instructions further comprising computer-executable instructions to:

configure the proxy access device to establish communication with the second network; and

configure the proxy access device to transfer traffic to and from the second network.

7. The system of claim 1 , wherein the proxy host device disallows transfer of traffic representative of human speech.

8. The system of claim 1 , further comprising:

a proxy access device at the second geolocation that is connected to the proxy host device, wherein the proxy access device employs a first subscriber identity module (SIM) to access a second network.

9. A proxy host device comprising:

a first communication interface to connect to a first network, at a first location;

a second communication interface to connect to a proxy access device;

one or more memories storing computer-executable instructions; and

one or more hardware processors to execute the computer-executable instructions to:

receive authorization data indicative of authorization of the proxy access device being available for rental use;

responsive to the authorization data, establish communication with a test device (TD) at a second location using the first communication interface;

establish communication with one or more wireless cellular data networks using the proxy access device connected to the second communication interface;

transfer traffic between the TD and the proxy access device; and

generate remuneration data indicative of use of the proxy access device by the TD.

10. The proxy host device of claim 9 , the computer executable instructions further comprising computer-executable instructions to:

configure the proxy access device to establish communication with the one or more of the one or more wireless cellular data networks; and

configure the proxy access device to transfer the traffic to and from the one or more wireless cellular data networks.

11. The proxy host device of claim 9 , the computer executable instructions further comprising computer-executable instructions to:

collect log data that includes one or more of:

at least a portion of the traffic, or

information associated with the one or more wireless cellular data networks.

12. The proxy host device of claim 9 , wherein the first communication interface comprises a wireless local area network communication interface and the second communication interface comprises a wired communication interface.

13. The proxy host device of claim 9 , the computer executable instructions further comprising computer-executable instructions to:

block cellular telephone call data between the TD and the proxy access device.

14. A system comprising:

a device, the device comprising:

a first communication interface to connect to a first network;

a second communication interface to connect to a second network;

one or more memories storing first computer-executable instructions; and

one or more hardware processors to execute the first computer-executable instructions to:

receive configuration data indicative of a network path between a test device (TD) and a proxy host device (PHD);

generate routing instructions configured to direct traffic between the TD and the PHD;

receive outbound traffic originating from the TD and destined for an external device;

send the outbound traffic to the PHD;

receive inbound traffic from the PHD;

send the inbound traffic to the TD; and

wherein the TD is at a first geolocation and the device is at a second geolocation, and further wherein the TD communicates with the external device via a wireless cellular data network.

15. The system of claim 14 , further comprising:

a management server, the management server comprising:

a third communication interface to connect to the device;

one or more memories storing second computer-executable instructions; and

one or more hardware processors to execute the second computer-executable instructions to:

receive a request for a test session using a proxy access device (PAD);

determine the PHD has an available PAD;

generate the configuration data; and

send the configuration data to the device.

16. The system of claim 14 , the TD further comprising:

one or more memories storing second computer-executable instructions; and

one or more hardware processors to execute the second computer-executable instructions to:

generate the configuration data; and

send the configuration data to the device.

17. The system of claim 14 , wherein the device comprises one or more of a router, load balancer, or firewall.

18. The system of claim 14 , further comprising:

a management server, the management server comprising:

a third communication interface to connect to one or more of the device or the proxy host device;

one or more memories storing second computer-executable instructions; and

one or more hardware processors to execute the second computer-executable instructions to:

collect log data that includes data indicative of one or more of:

at least a portion of one or more of the outbound traffic or the inbound traffic; or

information associated with the wireless cellular data network.

19. The system of claim 14 , further comprising:

a management server, the management server comprising:

a third communication interface to connect to the device;

one or more memories storing second computer-executable instructions; and

one or more hardware processors to execute the second computer-executable instructions to:

receive, from one or more of an owner or operator of the device data indicative of approval to use the device;

determine an account associated with the use of the device; and

determine, based at least in part on use of the device, an amount of remuneration that is associated with the account.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2024
From: HEADSPIN INC.
To: PARTNER ONE ACQUISITIONS INC.
Reel/Frame 068466/0240 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2024
From: GV 2014, L.P.
To: HEADSPIN, INC.
Reel/Frame 067155/0336 →
SECURITY INTEREST Recorded May 26, 2021
From: HEADSPIN, INC.
To: GV 2014, L.P.
Reel/Frame 056356/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2017
From: LACHWANI, MANISH; COLWELL, BRIEN; NITA, MARIUS
To: HEADSPIN, INC.
Reel/Frame 042119/0001 →
Continuity (1)
Continuation 14850798 · Sep 10, 2015