| CPC G06F 11/3636 (2013.01) [G06F 9/5055 (2013.01); H04L 67/02 (2013.01); H04L 67/125 (2013.01)] | 14 Claims |

|
1. A method for remote debugging of a receiving device, the method comprising:
sending over a computer network, by a remote debugging computer that is remote from the receiving device and separated from the receiving device by a firewall, a message to the receiving device via a message server that has an existing persistent outbound connection that was established by the receiving device across restrictions of the firewall, the message sent through the existing persistent outbound connection that was established by the receiving device across restrictions of the firewall, and the message carrying a command to be executed by the receiving device; and
receiving over a computer network by the remote debugging computer via a debug data upload server that is different hardware than the message server and is remote from the remote debugging computer and from the message server, in response to execution of the command by the receiving device, output from the receiving device resulting from execution of the command;
wherein:
the message server is separate hardware from both the receiving device and the remote debugging computer and maintains the existing persistent outbound connection with the receiving device rather than the remote debugging computer;
the received output from the receiving device resulting from execution of the command includes debug files from the receiving device;
the method further comprises:
after the persistent outbound connection was established by the receiving device across restrictions of the firewall and before the remote debugging computer sending the message to the receiving device via the message server carrying the command to be executed by the receiving device, the receiving device stopping operating or operating incorrectly due to a system malfunction, software error, or customer error; and
providing technical assistance in real time using the remote debugging computer by at least obtaining information regarding operation of the receiving device remotely in real time in order to resolve problems in real time experienced by the receiving device regarding the receiving device stopping operating or operating incorrectly due to the system malfunction, software error, or customer error and remotely performing debugging of the receiving device in real time.
|