Abstract:
A remote control support system provides a simple way to allow remote users to access a computer in a variety of circumstances, even when no software installed on the computer. In some cases, the system includes a hardware device to simulate most USB mice, keyboards, storage devices, camera sensors (to capture a screen display), etc. The hardware device can communicate with a remote computer (via a network connection) to allow a user, such as a remote technician, to work on the remote computer as through the user were sitting at the remote computer. Information technology professionals and other users can use the described systems to communicate with a user at a remote computer in a natural way to communicate via voice, video or chat with online messaging.

Description:
FIELD 
       [0001]    This application refers to a support system for a remote control for users of personal computers, servers or devices that support digital assistants (PDAs), such as MP3 players, cell phones, etc. More specifically, the invention refers to the support system that allows remote users (possibly the IT experts) controlling equipment from anywhere via a network (e.g. a LAN or WAN) to access a personal computer, server, PDA, etc. (also known as “managed computer”) and to manage data, diagnose hardware or software errors, repair or install new software, or an operating system—regardless of the status of the managed device—with running software or a completely new device, which has not had any software installed on it. 
       BACKGROUND 
       [0002]    The concept of computer control from a remote virtual device over the internet is a major concern in many applications, especially in computer networks and in other cases when users cannot directly access and use their computer. 
         [0003]    Hardware and software running on personal computers have become increasingly complex. Therefore, normal users cannot handle all of the issues that are happening to their computers. The above-described invention may help users in a way that, instead of having an on-site expert, allows users to have a remote information technology expert dealing with their devices as they are sitting before their equipment. In this regard, it may be important that the IT specialist can communicate with users in a natural way (e.g., with voice communication, online video chat, text messaging (chat), etc.). 
         [0004]    Today, the communication between computers or servers to peripheral devices has become increasingly standardized. For example, most devices (like the keyboard and the mouse, as well as other peripherals) have switched to using the Universal Serial Bus (USB) technology. The USB technology standard defines a mode of hardware and software communication for connecting peripheral devices of a computer to the computer (and among computers). Accordingly, this technology creates a standard connection for a mouse, keyboard, and storage devices for each computer, whether the computer runs Windows PC, MAC PC, Linux PC or Windows Mobile (i.e., phones using the Windows operating system, etc.). 
         [0005]    At present, there are many solutions as well as patents referring to methods for remotely accessing a computer over a network. Some of these solutions can be summarized in the two following approaches: 
         [0006]    First, access to software: This is the most common approach for remote access to computers over the network. This application can be integrated in an operating system, such as a Remote Terminal Service in Microsoft Windows, or run as a standalone application, such as RealVNC or TeamViewer software. Some of these solutions such as TeamViewer can even allow users to have remote access to computers behind a firewall. However, the disadvantages of these methods require the software running on the computer to be managed. If this computer does not have any software, the user may not be able to do anything on that computer. 
         [0007]    Second, access to hardware: This approach is intended to address the limitations of the software approach in the case of a problem in a system or without any pre-installed software. Typically, the U.S. Pat. No. 6,636,929 provides a method for simulating composite USB devices intended to simulate any peripherals on the remote computer that is considered as a local peripheral device on the managed device. This method allows the user to re-boot a computer with the software on the remote computer. This solves the problems in the software approach, but there are a few drawbacks, specifically: By simulating the peripheral storage devices, such as CD-ROM with CD-ROM, on a remote console, the response time can be very slow, especially when the network connection is slow. This makes the implementation become unfeasible. 
         [0008]    This design requires a special video control hardware video to collect data and video from the inside bus and implement a web server software for this system to be remotely accessed. This causes inconvenience to normal users when installing that system, as well as bearing higher costs incurred to installing the hardware. 
         [0009]    So far, all existing solutions are not designed for natural interaction between local users and remote users with the voice or video communication. 
       SUMMARY 
       [0010]    Therefore, the purpose of the invention is to propose technical solutions in order to simulate the interaction of local users with a computer, such as an event that occurs in the mouse or input keyboard, talking to other guests, tracking the screen displays and interacting with external peripherals, such as CD-ROM, printers, etc. 
         [0011]    The purpose of the invention is to disclose a simple way which allows a user or technician to remotely access a computer in any situation, no matter what software is pre-installed, by creating a hardware device to simulate the composite USB device (USB composite) for a mouse, keyboard, storage device, etc. A remote terminal can control this simulated device to send mouse and keyboard events to the managed computer and to allow running applications from emulated storage devices. 
         [0012]    A feature in the remote access is that, in some embodiments, it is intended to monitor an output screen of the managed computer. This will be solved by different approaches: 
         [0013]    A first approach can involve using a specialized hardware to collect RGB signals from the managed computer. The collected data can be converted to digital data, compressed and encrypted and then be sent to a remote computer. 
         [0014]    A second, alternative, approach can involve using the camera module to monitor a computer display. By using a low-resolution camera, users can track the status of the output display and input commands appropriately. 
         [0015]    A third approach is initially used when no software is running and the remote system is controlled. In this regard, the third approach can involve running agent software to collect screen data and sent to such data to devices that support remote management. 
         [0016]    The third approach mentioned above can also be used to control computer startup. Indeed, by simulating a boot device, this system can make the computer run agent software when starting up. Furthermore, the software will simulate the normal booting process but can divert the output of data to the screen to the remote management supporting device via the USB interface. 
         [0017]    With the remote terminals, remote users can upload, delete application or data to the local storage unit of the remote supporting device, from which it can send events happening in the keyboard and mouse to run these applications on the managed computer. Applications can be a new software, new operating systems, antivirus software, data testing software, etc. 
         [0018]    With remote terminals, remote users can communicate with local users in any suitable manner, including by natural way of voice, video or talking communication. The invention hereby proposes a number of priority schemes of the invention, but the invention is not only limited in this plan. 
         [0019]    In some implementations of the remote control supporting system, the system includes a remote support device that includes a processor and peripheral BUS logic, composite USB function logic (mentioned above) connecting to a port to simulate an input device such as USB standard keyboard, mouse, and 
         [0020]    in which the above-mentioned remote support device has more a memory storage connected to the composite USB function logic to simulate the USB mass-storage devices; and 
         [0021]    in which the above-mentioned remote support device has more a network interface, this interface could be Ethernet, Wi-Fi, 3G, etc., or any future network technology. 
         [0022]    a remote control console application runs on a control computer connected to the above-mentioned remote control devices via a network connection, and 
         [0023]    in which the remote control console application mentioned above transfers data from the keyboard, mouse of the above control computer to the remote support devices via the above network connection, and 
         [0024]    in which the above remote support device will simulate events in the keyboard, mouse on the composite USB function logic mentioned above as if they are on the keyboard, mouse connected to USB cable, and 
         [0025]    in which the above-mentioned remote control console application via a network connection can transfer files (data or applications) to or from the storage memory of the above remote support device; 
         [0026]    an agent application running on a managed computer connected to the above remote support device via USB in the case where a output screen captures the agent application from the managed computer and transfer it to the above remote control device via the USB communication mode; and 
         [0027]    in which the above remote support device transfers the data captured by the output display to the remote control console application via a network interface and displays on the local display screen of the above personal computer. 
         [0028]    The remote control support system, in which the system includes: 
         [0029]    a remote support device includes a processor and peripheral BUS logic, composite USB function logic mentioned above connected to a port to simulate standard USB devices such as keyboards, mouse, and 
         [0030]    in which the above remote support remote device has an additional storage memory, this memory is connected to the composite USB function logic to simulate a USB storage device recovery; and 
         [0031]    in which the above remote support device has an additional network interface, this interface could be Ethernet, Wi-Fi, 3G, etc., or any network technology in the future; and 
         [0032]    in which the above remote support device has an additional camera sensor, this sensor will be used to capture the output screen of the above managed computer and transfer it to the remote control console through a network interface; 
         [0033]    a remote control console application runs on remote control personal computer and is connected to the above remote support device via a network connection, and 
         [0034]    in which the remote control console application transfers the data from the keyboard, mouse of the above control computer to the remote support device via a network connection, and 
         [0035]    in which the above remote control device will simulate events occurring on the keyboard, mouse on the composite USB function logic as if they are on the keyboard, mouse connected to USB cable, and 
         [0036]    in which the remote control console application mentioned above will receive the captured output screen data of the managed computer from the remote support device and displays on a local screen display; 
         [0037]    in which the remote control console application via a network connection can transfer files to or from the storage memory of the above remote support device; 
         [0038]    an agent application running on a managed computer is connected to the above remote support device via USB, in which the output screen captures the agent application of the above managed computer and transfer it to the above remote support via USB communication, and 
         [0039]    in which the remote support device transfers the output data of the screen capturing the remote control console application via the network interface and displays on the local screen of the above control computer. 
         [0040]    The remote control support system, in which the system includes: 
         [0041]    a remote support device includes a processor and peripheral BUS logic, composite USB function logic connected to a port to simulate a standard USB devices such as keyboards, mouse; and 
         [0042]    in which the above remote support remote device has an additional storage memory, this memory is connected to the composite USB function logic to simulate a USB storage device recovery; and 
         [0043]    in which the above remote support device has an additional network interface, this interface could be Ethernet, Wi-Fi, 3G, etc., or any network technology in the future; and 
         [0044]    in which the above remote support device has an additional camera sensor, this sensor will be used to capture the output screen of the above managed computer and transfer it to the remote control console through a network interface; 
         [0045]    a remote control console application runs on remote control personal computer and is connected to the above remote device via a network connection, and 
         [0046]    in which the remote control console application transfers the data from the keyboard, mouse of the above control computer to the remote support device via a network connection, and 
         [0047]    in which the above remote control device will simulate events occurring on the keyboard, mouse on the composite USB function logic as if they are on the keyboard, mouse connected to USB cable, and 
         [0048]    in which the remote control console application via a network connection can transfer files to or from the storage memory of the above remote support device; 
         [0049]    The remote control support system, in which the system includes: 
         [0050]    a remote support device includes a processor and peripheral BUS logic, composite USB function logic connected to a port to simulate a standard USB devices such as keyboards, mouse; and 
         [0051]    in which the above remote support remote device has an additional storage memory, this memory is connected to the composite USB function logic to simulate a USB storage device recovery; and 
         [0052]    in which the above remote support device has an additional network interface, this interface could be Ethernet, Wi-Fi, 3G, etc., or any network technology in the future; and 
         [0053]    in which the above remote support device has an additional video decoding hardware to capture VGA output of the managed computer; this data will be compressed and encrypted and then transferred to the above remote console through the network interface. 
         [0054]    an remote control agent application running on a managed computer is connected to the above remote support device via a network connection; and 
         [0055]    in which the remote control console transfers the data from the keyboard, mouse of the above control computer to the remote support device through the above network connection; and 
         [0056]    in which the above remote control device will simulate events occurring on the keyboard, mouse on the composite USB function logic as if they are on the keyboard, mouse connected to USB cable, and 
         [0057]    in which the remote control console application via a network connection can transfer files to or from the storage memory of the above remote support device; 
         [0058]    The disclosed remote control support system may have a remote support device that includes an additional memory storage, possibly NAND Flash, SPI flash, SD/MMC, IDE, etc., or any storage technology in the future. 
         [0059]    The disclosed remote control support system may have a remote support device that includes peripheral BUS logic, a composite USB function logic, but not be limited for other peripheral standards such as eSATA, PCMCIA, PS2, etc, allowing to simulate a mass storage, keyboard or mouse. 
         [0060]    The disclosed remote control support system may have a remote device that includes an external bus logic is a type of USB host interface allows simulation mode of communication USB devices will work with in mode USB devices such as MP3 players, digital cameras, etc. 
         [0061]    The disclosed remote control support system may have a remote device that includes an additional audio codec, and in which devices support remote data processing sound through the audio codec on the matter and transfer via a network connection to have a method of voice communication applications with the remote control device and other remote support. 
         [0062]    The disclosed remote control support system may have a routing server since the applications can be added to support the routing between devices and remote support applications since the remote control on, the routing between devices and remote support traditional voice over IP protocol. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0063]    The following description can be better understood in light of the Figures, in which: 
           [0064]      FIG. 1  shows a representative embodiment of a block diagram of a system, which illustrates: a connection between devices that support remote management, including a remote assistant device, a managed computer, a remote terminal and a routing server; 
           [0065]      FIG. 2  shows a representative embodiment of a detailed block diagram, which indicates some hardware components of a remote assistant device; 
           [0066]      FIG. 3  presents a block diagram showing a representative embodiment of a general interrelationship of software applications that can be implemented in the system of  FIG. 1 ; and 
           [0067]      FIG. 4  shows a schematic diagram of a representative embodiment of the remote assistant device. 
       
    
    
       [0068]    The Figures illustrate specific aspects of the described supporting system for remote control. Together with the following description, the Figures demonstrate and explain the principles of the structures, methods, and principles described herein. In the drawings, the thickness and size of components may be exaggerated or otherwise modified for clarity. The same reference numerals in different drawings represent the same element, and thus their descriptions will not be repeated. Furthermore, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the described devices. Moreover, the Figures may show simplified or partial views, and the dimensions of elements in the Figures may be exaggerated or otherwise not in proportion for clarity. 
       DRAWINGS 
     Reference Numerals 
       [0000]    
       
         
           
               100  Managed computer (computer is managed) 
               101  Agent software running on managed computer 
               102  USB driver on managed computer 
               103  Display driver on managed computer 
               200  Remote Assistant Device 
               201  Main processor of remote assistant device 
               202  The USB (or UART, PS2) emulating module 
               203  The network interface module of Remote Assistant Device 
               204  The storage of Remote Assistant Device 
               205  The camera sensor 
               206  The Audio codec 
               300  Remote terminals 
               301  Remote management application 
               400  Routing servers 
               401  Routing applications 
               402  Other application such as logging application 
           
         
       
     
       DETAILED DESCRIPTION 
       [0085]    Some technical terms are used in the description below with reference to the specific components of the system. Furthermore, the skilled artisan will recognize that some computer companies referred to herein, may also be called by one or more different names. This document is not intended to distinguish the different components in names rather different functions. In the following discussion, the terms “include” and “including” are used as being open ended, and therefore should be interpreted as “including but not limited to . . . .” Additionally, the term “connected” is intended to indicate a power connection indirectly or directly. Therefore, if a first device is connected to another device, it could be connected via direct electrical connection or an indirect electrical connection via other devices and connections. The term “computer management” or “computer manager” may also be used herein to refer to a computer or server that is being used or can be managed from a remote console. In contrast, the term “remote control” may mean a computer or server including a controller board with a capacity of input and output that can be used to manage a computer. The term “computer” may be broadly used herein to include personal computers, workstations, servers, or devices based on different processors, in which case, these devices may be caused by user programming to perform one or more functions and/or multiple operations. 
         [0086]    One embodiment of the design scheme is illustrated in  FIG. 1 . In particular,  FIG. 1  shows the present invention can include a velvet board ( 200 ) (also known as the remote management support device, the remote assistance device, or the remote management) connected to a common computer ( 100 ) (also called a managed computer) through multi-purpose serial bus (USB), and a computer ( 300 ) (also called a remote computer or a remote terminal) that are connected to devices that support remote management via a network connection (usually Ethernet or Wi-Fi). A routing server ( 400 ) device connects to the remote support and remote computers to provide routing and service. 
         [0087]      FIG. 2  shows that, in some embodiments, the remote assistance device ( 200 ) can be a major component of the invention and can include a main processor ( 201 ), a USB interface ( 202 ) (also called a USB simulation module (e.g., a UART, PS2, etc.) to communicate with the managed computer ( 100 ), a network interface ( 203 ) to communicate with remote computer ( 300 ) and the server routing ( 400 ), a storage component ( 204 ) to store applications or data, audio, etc. This part will be downloaded or uploaded from a remote computer, a camera sensor ( 205 ) to collect data output of the computer display of the managed computer ( 100 ) and an audio codec ( 206 ) for phone applications. 
         [0088]      FIG. 3  shows some embodiments of a technical description of the invention in which the remote computer ( 300 ) runs a software application ( 301 ) (or a remote managed application). This application generally can gather input from the remote control as events take place at the keyboard, mouse, and will be sent to the remote management support device via network connections and devices can simulate events as events taking place locally on the managed computer ( 100 ). Another feature of the application ( 301 ) is allowed to upload data and applications stored on the parts inside the remote management support device, then this data will be included in the computer such as device management storage. The description above is clear to an engineer in networking and embedded systems can be realized without a design document detailing. 
         [0089]    One technical feature of the invention is the natural communication between experts sitting at a remote computer ( 300 ) and home users in computer management. In this regard, voice over IP can be made between the remote system support and application software ( 301 ). An engineer in networking and embedded systems having average knowledge in the field of this technique can perform this operation without a detailed explanation of this feature. 
         [0090]    Referring again to  FIG. 3 , a technical feature of the invention is that an application agent ( 101 ) (also called agent software running on a managed computer) can be running on the managed computer ( 100 ). This application agent can capture the screen display output, compress, encrypt it and send it to the remote management support device. The following data will be sent to the remote computer for monitoring. Generally, this communication will be done through the USB device, the compression algorithms of different data (e.g., compressed or compressed to preserve information is not preserved) can be used to reduce the amount of data sent. One aspect of some embodiments of the invention is that the data can be secured and the developer can use different encryption methods to ensure that data is secure. Application developers can enable faster data transfer between computer and security ( 100 ) and equipment ( 200 ). 
         [0091]    Other technical feature of the invention is a screen capture solution of the computer output management, or managed computer ( 100 ) by using the camera to capture the screen by directing the camera toward the screen. An application can be installed on the device and can run on the remote management support device ( 200 ) to collect, encrypt and compress data and then to send the data over a network connection to the remote computer ( 300 ) for monitoring. This sector has the technical knowledge of cameras, network, this module may not need detailed. 
         [0092]    Referring again to  FIG. 1 , a routing server ( 400 ) convention can be set to guide the remote terminal communicate with remote devices. Especially when these devices are managed behind the firewall (Firewall) where there is no direct TCP/IP connection. A network engineer in the field can deploy this server without the detailed design documents. 
         [0093]    The application operations described herein are designed in the simplest possible level. As depicted in  FIG. 4 , in some embodiments, the device has only a few buttons. Accordingly, users do not need any special knowledge, whenever their computers face a problem, they can request the remote support by doing four steps as follows: 
         [0094]    Step 1: Turn on the device and connect the remote management support device with a managed computer via a USB connection and connect to the network via a network connection device. If the device has a camera sensor, the user may direct the camera toward the monitor of the managed computer. 
         [0095]    Step 2: Using the scroll function (or another suitable function) to select the remote user (or omit it to allow the operators to make decision). 
         [0096]    Step 3: Press the “Call” button to make a voice call over IP to the remote user (If step 2 has been skipped, a voice call over IP to an operator can be made, then the operator can direct who will be a remote user). 
         [0097]    Step 4: Through exchanging phone calls (e.g., via an IP connection), users will explain what they need to accomplish on their computers (like installing new software, installing a new operating system, rescuing deleted data, etc.), in which remote users can explain how they operate, what is the best solution, how much they charge for services, etc. If everything is agreed, user will press the button “Accept”, from which the remote user shall assume the rights of controlling the computer. 
         [0098]    In addition, it is noticed that in the process of use, the user can cancel the operation at any time by pressing back the button “Call” or by disconnecting the device from the network. 
         [0099]    Therefore, according to some embodiments of the described system, the system can allow remote access to a computer with just a few simple requirements and without requiring the pre-installation of a complicated hardware or any preinstalled software. 
         [0100]    Although the description provided above contains many features, they do not limit the scope of the invention by any plans, but they are only examples illustrating some of the priority plans of the system. There may be more sub-branches and variations to implement different plans. For example, the communication bus between the managed computer and the remote management support device is not only the USB device but another communication standard as well, which allows the simulation of mouse, keyboard, storage device, etc. 
         [0101]    Therefore, the scope of this application should be determined by the following requirements for protection and the legal equivalent requirements, but not determined by the given examples.