Program testing service
First Claim
1. A system, comprising:
- one or more processors; and
at least one non-transitory computer-readable storage medium storing instructions which, in response to being executed by the one or more processors, cause the system to;
receive a request from a developer computing device to utilize a first device for testing execution of an application on the first device, the first device connected to a host device in a service provider network by way of a peripheral bus;
responsive to the request,instantiate a testing host virtual machine (VM) instance in the service provider network,create a first network connection utilizing a USB/IP protocol between the testing host VM instance and the host device, based at least in part on the testing host VM instance being instantiated in the service provider network, wherein data packets from the peripheral bus are provided to the testing host VM instance on the host device by way of the first network connection,establish a second network connection between the testing host VM instance and the developer computing device, andcause data packets generated by a debugging client application executing on the developer computing device to be forwarded to a debugging server application executing on the testing host VM instance, whereby a program development environment executing on the developer computing device can utilize the first device as a device local to the developer computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
A device to be utilized for testing a program is connected to a device host operating in a service provider network via a peripheral bus. A network connection is established between a testing host, which might be a virtual machine, and the device host using a peripheral-bus-over-network-protocol. A secure network connection is established between the developer computing device and the testing host. A network port utilized by a debugging client application executing on the developer computing device is forwarded to the testing host over the secure network connection. Data packets generated by the debugging client application executing on the developer computing device are forwarded to a debugging server application execution on the testing host. Peripheral devices (e.g. the requested device) accessible to the testing host can then be utilized by the developer computing device for testing execution of the program as if the device were locally connected thereto.
144 Citations
20 Claims
-
1. A system, comprising:
-
one or more processors; and at least one non-transitory computer-readable storage medium storing instructions which, in response to being executed by the one or more processors, cause the system to; receive a request from a developer computing device to utilize a first device for testing execution of an application on the first device, the first device connected to a host device in a service provider network by way of a peripheral bus; responsive to the request, instantiate a testing host virtual machine (VM) instance in the service provider network, create a first network connection utilizing a USB/IP protocol between the testing host VM instance and the host device, based at least in part on the testing host VM instance being instantiated in the service provider network, wherein data packets from the peripheral bus are provided to the testing host VM instance on the host device by way of the first network connection, establish a second network connection between the testing host VM instance and the developer computing device, and cause data packets generated by a debugging client application executing on the developer computing device to be forwarded to a debugging server application executing on the testing host VM instance, whereby a program development environment executing on the developer computing device can utilize the first device as a device local to the developer computing device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:
-
receive a request to utilize a first device for testing an application, the first device connected, by way of a peripheral bus, to a device host operating in a service provider network; responsive to the request, instantiate a testing host virtual machine (VM) instance in the service provider network, cause a first network connection to be established with a first protocol based at least in part on the testing host VM instance being instantiated, the first network connection being established between the device host and the testing host VM instance operating in the service provider network, cause a second network connection to be established with a second protocol based at least in part on the testing host VM instance being instantiated, the second network connection being established between the testing host VM instance and a developer computing device, the second protocol being different from the first protocol, and cause requests destined for the first device from a debugging client application executing on the developer computing device to be routed through the first network connection and the second network connection to the first device. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method, comprising:
-
providing a user interface (UI) on a developer computing device for selecting a first device in a service provider network for use in testing execution of an application; receiving a selection of the first device through the UI; responsive to receiving the selection, instantiating a testing host virtual machine (VM) instance in the service provider network, establishing a first network connection between the developer computing device and the testing host VM instance in the service provider network, establishing, based at least in part on the testing host VM instance being instantiated, a second network connection between the testing host VM instance and a device host that is connected to the first device by way of a peripheral bus, and forwarding requests from a debugging client application executing on the developer computing device to the testing host VM instance by way of the first network connection and to the first device by way of the second network connection and the peripheral bus. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification