IP Library Granted Patent US 10,044,591
Granted Patent B2
US 10,044,591 · App. 14/843,893 · Granted Aug 7, 2018

Two-way remote communication system for testing a client device program

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,044,591
App. No.
14/843,893
Granted
Aug 7, 2018
Kind
B2
Abstract

The described technology is directed towards server-controlled testing and/or monitoring of a client device application program. The server loads plug-in components directed towards the testing and/or monitoring operations, and instructs the client device to couple counterpart plug-in components to the client device application program. The server's plug-in components communicate with the application program's plug-in components to run the testing and/or monitoring operations, which may be automated, send queries to the client to receive responses, and send commands to the client to take actions. The server includes dashboards for interacting with the client device. The client device includes virtual input devices that allow the server to inject input into the client application program.

Claims (33)

1. A method, comprising:

loading, by a server device comprising a processor, server-side plug-in components respectively providing distinct testing operations of a client device program operating on a client device;

communicating, by the server device, a message comprising information on the loaded server-side plug-in components to the client device that initiates the client device to load respective client-side plug-in components that correspond to the server-side plug-in components;

establishing, by the server device via the server-side plug-in components, respective communication links between corresponding server-side plug-in components and client-side plug-in components; and

executing, by the server device via the server-side plug-in components, one or more of the distinct testing operations on the client device program.

2. The method of claim 1 , wherein the executing the one or more of the distinct testing operations comprises communicating, by the server device, a query to the client device program, and receiving, by the server device, a response from the client device program in response to the query.

3. The method of claim 1 , wherein the executing the one or more of the distinct testing operations comprises monitoring one or more events generated by the client device program.

4. The method of claim 1 , wherein the executing the one or more of the distinct testing operations comprises running, by the server device, an automated test on the client device program.

5. The method of claim 1 , wherein the executing the one or more of the distinct testing operations comprises debugging, by the server device, the client device program.

6. The method of claim 1 , wherein the executing the one or more of the distinct testing operations comprises instructing, by the server device, the client device program to not send information that the client device program is capable of providing but is unwanted by the server device for the distinct testing operations.

7. The method of claim 1 , wherein the executing the one or more of the distinct testing operations comprises communicating, by the server device, a command to the client device program to invoke a client-side action.

8. The method of claim 7 , wherein communicating the command comprises injecting input to the client device program via a virtual input device coupled to or incorporated into the client device program.

9. The method of claim 7 , wherein communicating the command corresponds to obtaining data corresponding to at least part of a user interface tree of the client device program.

10. The method of claim 1 , wherein the executing the one or more of the distinct testing operations comprises obtaining, from the client device, logging data generating by the distinct testing operations executed on the client device program.

11. A non-transitory computer-readable medium having instructions stored thereon that, in response to execution, cause a server device including a processor to perform operations, comprising:

loading, by a server device, server-side plug-in components respectively providing distinct testing operations of a client device program operating on a client device

communicating, by a server device, a message comprising information on the loaded server-side plug-in components to the client device that initiates the client device to load respective client-side plug-in components that correspond to the server-side plug-in components;

establishing, by a server device via the server-side plug-in components, respective communication links between corresponding server-side plug-in components and client-side plug-in components; and

running, by a server device, one or more of the distinct testing operations on the client application program.

12. The non-transitory computer-readable medium of claim 11 , wherein the running the one or more of the distinct testing operations comprises communicating, by the server device, a query to the client device program, and receiving, by the server device, a response from the client device program in response to the query.

13. The non-transitory computer-readable medium of claim 11 , wherein the running the one or more of the distinct testing operations comprises communicating, by the server device, a command to the client device program to invoke a client-side action.

14. The non-transitory computer-readable medium of claim 13 , wherein communicating the command comprises injecting input to the client device program via a virtual input device coupled to or incorporated into the client device program.

15. The non-transitory computer-readable medium of claim 11 , wherein debugging, by the server device, the client device program.

16. A system, comprising:

a server device, comprising a processor, configured to:

loading server-side plug-in components respectively providing distinct testing operations of a client device program operating on a client device;

communicate a message comprising information on the loaded server-side plug-in components to the client device that initiates the client device to load respective client-side plug-in components that correspond to the server-side plug-in components;

establish, via the server-side plug-in components, respective communication links between corresponding server-side plug-in components and client-side plug-in components; and

execute, via the server-side plug-in components, one or more of the distinct testing operations on the client device program.

17. The system of claim 16 , wherein the execution of the one or more of the distinct testing operations comprises communication of a query to the client device program, and receipt of a response from the client device program in response to the query.

18. The system of claim 16 , wherein the execution of the one or more of the distinct testing operations comprises receipt of information associated with one or more events generated by the client device program.

19. The system of claim 16 , wherein the execution of the one or more of the distinct testing operations comprises execution of an automated test on the client device program.

20. The system of claim 16 , wherein the execution of the one or more of the distinct testing operations comprises a debugging operation of the client device program.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2015
From: PATWARDHAN, MAKARAND V.; FURTWANGLER, TYLER R.; FURTWANGLER, BRANDON C.; CORRINGTON, JESSE
To: HOME BOX OFFICE, INC.
Reel/Frame 036482/0818 →