IP Library Granted Patent US 11,416,383
Granted Patent B1
US 11,416,383 · App. 17/179,136 · Granted Aug 16, 2022

Systems for remote communication with test devices

Inventors: Simo Antti Kalervo Kinnunen (Shibuya-ku, JP); Brien Colwell (Redwood City, CA)
Assignee: HEADSPIN, INC.
G06F11/3688G06F11/3006G06F11/3616G06F11/3656G06F11/3692
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 11,416,383
App. No.
17/179,136
Granted
Aug 16, 2022
Kind
B1
Abstract

Devices at different geolocations are configured to determine and share information regarding execution of an application under various conditions. A device executing the application, or another device connected to the device executing the application, may send data determined by executing the application to a central device. The central device may in turn receive requests from other devices and provide the determined data to the other devices. The devices may be configured to exchange data using native debugging or bridge software on the devices by determining communication parameters that are common to each device, such as protocols, networks, intermediate devices through which communications may be passed, and so forth. To reduce the amount of data that is transmitted portions of the data related to communications between devices, such as acknowledgement codes, may be identified and withheld from sending.

Claims (106)

1. A system comprising:

a first computing device;

a second computing device;

one or more first hardware processors associated with the first computing device to execute first computer-executable instructions to:

determine first data indicative of one or more first sets of communication parameters for communication with the second computing device;

provide at least a portion of the first data to the second computing device;

receive second data indicative of one or more second sets of communication parameters from the second computing device;

determine, based on the first data and the second data, a third set of communication parameters and a fourth set of communication parameters for communication with the second computing device; and

send third data associated with a first application to the second computing device based on one or more of the third set of communication parameters or the fourth set of communication parameters; and

one or more second hardware processors associated with the second computing device to execute second computer-executable instructions to:

determine the one or more second sets of communication parameters for communication with the first computing device;

provide the second data to the first computing device;

determine the third set of communication parameters and the fourth set of communication parameters for communication with the first computing device; and

receive the third data based on the one or more of the third set of communication parameters or the fourth set of communication parameters.

2. The system of claim 1 , further comprising:

a third computing device; and

second computer-executable instructions to cause the second computing device to:

receive, from the third computing device, a request associated with the first computing device; and

in response to the request, provide at least a portion of the third data to the third computing device.

3. The system of claim 1 , wherein one or more of the first computer-executable instructions or the second computer-executable instructions further comprise instructions to:

determine a fifth set of communication parameters that is common to the one or more first sets of communication parameters and the one or more second sets of communication parameters;

determine a sixth set of communication parameters that is unavailable for use with one or more of:

the first computing device,

the second computing device,

a network accessible by at least one of the first computing device or the second computing device, or

a third computing device accessible by the at least one of the first computing device or the second computing device; and

determine that the third set of communication parameters and the fourth set of communication parameters are included in the fifth set of communication parameters and do not include the sixth set of communication parameters.

4. The system of claim 1 , wherein one or more of the first computer-executable instructions or the second computer-executable instructions further comprise instructions to:

determine that a first metric value associated with the third set of communication parameters is greater than one or more of: a threshold metric value or a second metric value associated with the fourth set of communication parameters;

wherein the third data is sent based on the third set of communication parameters in response to the first metric value being greater than the one or more of the threshold metric value or the second metric value.

5. The system of claim 1 , further comprising:

a third computing device in wired communication with the first computing device; and

one or more third hardware processors associated with the third computing device to execute third computer-executable instructions to:

execute the first application; and

provide the third data to the first computing device using the wired communication.

6. The system of claim 1 , further comprising:

a third computing device in wired communication with the first computing device; and

one or more third hardware processors associated with the third computing device to execute third computer-executable instructions to:

cause the first computing device to acquire fourth data, and based on the fourth data, configure the first computing device to determine the third set of communication parameters and send the third data to the second computing device.

7. The system of claim 1 , wherein the first computer-executable instructions further comprise instructions to:

execute the first application;

determine fourth data associated with communication with the second computing device;

determine fifth data associated with execution of the first application, wherein the fifth data indicates one or more characteristics of data that are indicative of one or more metrics associated with the first application; and

determine the third data based on correspondence between the fourth data and the fifth data, wherein the third data includes a subset of the fourth data.

8. The system of claim 1 , wherein the first computer-executable instructions to send the third data include first computer-executable instructions to:

send a first portion of the third data using a first communication method based on the third set of communication parameters; and

send a second portion of the third data using a second communication method based on the fourth set of communication parameters at least partially concurrently with sending the first portion of the third data using the first communication method.

9. A method comprising:

causing a first computing device to execute a first application;

determining, using one or more of the first computing device or a second computing device in wired communication with the first computing device, first data associated with execution of the first application;

determining, using the one or more of the first computing device or the second computing device, a first portion of the first data associated with communication between the first computing device and one or more of the second computing device or a third computing device in wireless communication with one or more of the first computing device or the second computing device;

determining, using the one or more of the first computing device or the second computing device, a second portion of the first data associated with performance of one or more of the first application or the first computing device during execution of the first application; and

causing the one or more of the first computing device or the second computing device to send the second portion of the first data to the third computing device.

10. The method of claim 9 , wherein the first portion of the first data includes one or more acknowledgement codes indicative of one or more of: receipt of data by the first computing device, transmission of data by the first computing device, receipt of data by the second computing device, or transmission of data by the second computing device.

11. The method of claim 9 , wherein the first portion of the first data includes one or more communication parameters associated with communication between the first computing device and the one or more of the second computing device or the third computing device, and the one or more communication parameters include an indication of one or more of:

one or more protocols associated with communication between the first computing device and the one or more of the second computing device or the third computing device;

one or more networks associated with communication between the first computing device and the one or more of the second computing device or the third computing device; or

one or more fourth computing devices associated with communication between the first computing device and the one or more of the second computing device or the third computing device.

12. The method of claim 9 , wherein the causing the one or more of the first computing device or the second computing device to send the second portion of the first data to the third computing device comprises:

causing the first computing device to transmit the second portion of the first data to the second computing device using the wired communication; and

causing the second computing device to transmit the second portion of the first data to the third computing device using the wireless communication;

the method further comprising:

receiving, from a fourth computing device, a request associated with the first computing device; and

in response to the request, providing an indication of the second portion of the first data from the third computing device to the fourth computing device.

13. The method of claim 9 , further comprising:

causing the second computing device to provide second data to the first computing device using the wired communication, wherein the second data is associated with communication with the third computing device;

causing the first computing device to use the second data to configure the first computing device for communication with the third computing device by:

determining one or more first sets of communication parameters for communication with the third computing device;

receiving third data indicative of one or more second sets of communication parameters associated with the third computing device; and

determining, based on the one or more first sets of communication parameters and the third data, a third set of communication parameters and a fourth set of communication parameters for communication with the third computing device; and

causing the first computing device to send the second portion of the first data to the third computing device based on one or more of the third set of communication parameters or the fourth set of communication parameters.

14. The method of claim 9 , further comprising:

causing the one or more of the first computing device or the second computing device to execute a second application to determine information associated with debugging of the first application; and

causing the one or more of the first computing device or the second computing device to send at least a portion of the information associated with the debugging of the first application to the third computing device.

15. A system comprising:

a first computing device associated with a first geolocation;

a second computing device in communication with the first computing device, wherein the second computing device is associated with a second geolocation; and

one or more first hardware processors associated with the first computing device to execute first computer-executable instructions to:

determine first data indicative of one or more first sets of communication parameters for communication with the second computing device;

receive second data indicative of one or more second sets of communication parameters from the second computing device;

determine, based on one or more of the first data or the second data, the second geolocation of the second computing device;

determine, based on the first data, the second data, and the second geolocation, a third set of communication parameters for communication with the second computing device; and

send at least a portion of third data associated with a first application to the second computing device based on the third set of communication parameters.

16. The system of claim 15 , further comprising:

a third computing device in wired communication with the second computing device, wherein the third computing device executes the first application and provides the third data to the first computing device using the wired communication.

17. The system of claim 16 , wherein the first computer-executable instructions further comprise instructions to:

determine a first portion of the third data that is associated with communication between the first computing device and the third computing device; and

determine a second portion of the third data that is associated with execution of the first application;

wherein the at least a portion of the third data sent to the second computing device includes the second portion of the third data.

18. The system of claim 15 , further comprising:

a third computing device in wired communication with the first computing device;

wherein the first computer-executable instructions further comprise instructions to:

receive fourth data from the third computing device using the wired communication; and

use the fourth data to configure the first computing device to:

send the first data to the second computing device,

receive the second data from the second computing device,

determine the third set of communication parameters, and

send the at least a portion of the third data to the second computing device.

19. The system of claim 15 , further comprising:

a third computing device in wireless communication with the second computing device; and

one or more second hardware processors associated with the second computing device to execute second computer-executable instructions to:

receive, from the third computing device, a request indicative of the first computing device; and

in response to the request, provide fourth data indicative of the at least a portion of the third data to the third computing device.

20. The system of claim 15 , further comprising first computer-executable instructions to:

determine, based on the first data, the second data, and the second geolocation, a fourth set of communication parameters for communication with the second computing device; and

send at least a second portion of the third data to the second computing device based on the fourth set of communication parameters.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2024
From: HEADSPIN INC.
To: PARTNER ONE ACQUISITIONS INC.
Reel/Frame 068466/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2021
From: KINNUNEN, SIMO ANTTI KALERVO; COLWELL, BRIEN
To: HEADSPIN, INC.
Reel/Frame 055679/0511 →
Cited By (1)
US 12,464,462