Program testing service

US10725890B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10725890-B1
Application numberUS-201715648199-A
CountryUS
Kind codeB1
Filing dateJul 12, 2017
Priority dateJul 12, 2017
Publication dateJul 28, 2020
Grant dateJul 28, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The system of claim 1 , wherein the peripheral bus comprises a Universal Serial Bus (USB), and wherein the second network connection utilizes a secure shell (SSH) tunnel. 3. The system of claim 1 , wherein the request comprises a first request, and the application comprises a first application, wherein the instructions, in response to being executed by the one or more processors, further cause the system to receive a second request from the developer computing device to utilize a second device for testing execution of a second application on the second device. 4. The system of claim 1 , wherein the data packets are generated by the debugging client application on a port number, wherein the data packets are forwarded on the port number to the debugging server application by way of the second network connection, wherein the debugging client application comprises an Android Debug Bridge (ADB) client, and wherein the debugging server application comprises an ADB server. 5. The system of claim 1 , wherein the data packets are encapsulated into network payloads by the first network connection created based at least in part on the testing host VM instance being instantiated. 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. 7. The non-transitory computer-readable storage medium of claim 6 , wherein the peripheral bus comprises a Universal Serial Bus (USB), wherein the first protocol is a peripheral-bus-over-network protocol, and wherein the second protocol is a secure shell (SSH) tunnel. 8. The non-transitory computer-readable storage medium of claim 6 , wherein the request comprises a first request, and the application comprises a first application, wherein the instructions, in response to being executed by the one or more processors, further cause the system to receive a second request from the developer computing device to utilize a second device for testing execution of a second application on the second device. 9. The non-transitory computer-readable storage medium of claim 6 , wherein the debugging client application comprises an Android Debug Bridge (ADB) client application. 10. The non-transitory computer-readable storage medium of claim 6 , wherein the debugging client application comprises a USBMUXD socket. 11. The non-transitory computer-readable storage medium of claim 6 , storing further computer-executable instructions to execute a proxy server on the testing host VM instance to route the requests destined for the first device through the first network connection to the first device, wherein the proxy server performs functionality using USBMUXD to route the requests. 12. The non-transitory computer-readable storage medium of claim 6 , wherein the requests from the debugging client application are generated on a network port number, and wherein the requests are forwarded to a debugging server application executing on the testing host VM instance using the network port number. 13. The non-transitory computer-readable storage medium of claim 6 , storing further computer-executable instructions to cause a video output of the first device to be routed to the developer computing device. 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. 15. The computer-implemented method of claim 14 , wherein the second network connection comprises a secure shell (SSH) tunnel. 16. The computer-implemented method of claim 14 , wherein the peripheral bus comprises a Universal Serial Bus (USB), and wherein the second network connection utilizes a peripheral-bus-over-network protocol. 17. The computer-implemented method of claim 14 , wherein the first network connection comprises a secure shell (SSH) tunnel. 18. The computer-implemented method of claim 14 , wherein the debugging client application is a USBMUXD socket, wherein the requests are forwarded to a debugging server app

Assignees

Inventors

Classifications

  • Environments for analysis, debugging or testing of software · CPC title

  • the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV · CPC title

  • Routing a service request depending on the request content or context · CPC title

  • Testing arrangements · CPC title

  • Firewall traversal, e.g. tunnelling or, creating pinholes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10725890B1 cover?
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 h…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 28 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).