Abstract:
The invention relates to a remote monitor technique. In particular, the present invention relates to a method for real-time monitoring a remote control process by a third party and a system thereof, which are able to third-party monitor a control terminal and a controlled terminal in the remote control process. The method comprises steps of establishing a connection between a control terminal and a third party monitoring terminal; arranging the control terminal, the controlled terminal and the third party monitoring terminal in one and the same session based on the connection; the controlled terminal sending its desktop video to the third party monitoring terminal via a virtual display driver; and the third party monitoring terminal sending a predetermined control strategy to the controlled terminal.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of Invention 
         [0002]    The present invention relates to a remote monitor technique. In particular, the present invention relates to a method for real-time monitoring a remote control process by a third party and a system thereof, which are able to perform third-party monitoring on a control terminal and a controlled terminal in a remote control process. 
         [0003]    2. Description of Prior Art 
         [0004]    Remote control is increasingly applied to a commercialized customer service as an approach for a remote assistance. This causes a significant problem. Since a monitored computer always stores many private data and applications, these data need to be well protected. 
         [0005]    Currently, a video stream and a control stream for remote assistance, however, are only transmitted at a control party and a controlled party. A third party cannot monitor actions of remote control in real-time. 
         [0006]    There are two types of connection approaches for remote control currently. One is an agency approach, in which displays and control streams of the control terminal and the controlled terminal are transferred via a broker such as LANDesk broker. The other is a point-to-point approach, in which displays and control streams of the control terminal and the controlled terminal are directly transferred in the point-to-point manner. Currently, there is no mechanism capable of monitoring the remote controls in the two approaches as described above. Therefore, it is needed to design a new monitoring mechanism under such two connection mechanisms in order to monitor the remote control in progress. 
       SUMMARY OF THE INVENTION 
       [0007]    Out of considerations for the above problems, present invention is proposed. An object of the present invention is to provide a method and a system for real-time monitoring a remote control process by a third party in order to improve the security and management for the remote control process. 
         [0008]    According to one aspect of present invention, a method for real-time monitoring a remote control process by a third party is provided, and the method comprises steps of: 
         [0009]    establishing a connection between a control terminal and a third party monitoring terminal; 
         [0010]    arranging the control terminal, the controlled terminal and the third party monitoring terminal in one and the same session based on the connection; 
         [0011]    the controlled terminal sending its desktop video to the third party monitoring terminal via a virtual display driver; and 
         [0012]    the third party monitoring terminal sending a predetermined control strategy to the controlled terminal. 
         [0013]    Preferably, the method further comprises step of: the controlled terminal authenticating the third party monitoring terminal before the controlled terminal sending its desktop video to the third party monitoring terminal via the virtual display driver. 
         [0014]    Preferably, the controlled terminal assigns its session with the control terminal to the third party monitoring terminal. 
         [0015]    Preferably, the method further comprises a step of: the controlled terminal receiving the access control strategy from the third party monitoring terminal; the control terminal controlling the controlled terminal based on the access control strategy. 
         [0016]    Preferably, the method further comprises a step of: the controlled terminal sending its desktop video to the control terminal via the virtual video driver. 
         [0017]    In another aspect of the present invention, a system for real-time monitoring a remote control process between a control terminal and a controlled terminal by a third party is provided, which comprises: at least one control terminal; at least one controlled terminal for connecting the at least one control terminal via a network, being controlled by the at least one control terminal, and assigning a session with the control terminal to the third party monitoring terminal; and at least one third party monitoring terminal for connecting the at least one controlled terminal via the network, and sending a predetermined access control strategy to the controlled terminal. 
         [0018]    According to such a configuration as disclosed above, the third party may monitor information transmitted from the control terminal and the controlled terminal in real-time in order to monitor the remote control process. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]      FIG. 1  is an illustrative block diagram of a system for real-time monitoring a remote control process by a third party according to an embodiment of the present invention; 
           [0020]      FIG. 2  is a detailed illustrative block diagram of a system for real-time monitoring a remote control process by a third party according to an embodiment of the present invention; 
           [0021]      FIG. 3  is a flowchart illustrating a remote control at a control terminal and a controlled terminal; and 
           [0022]      FIG. 4  is a flowchart of a method for real-time monitoring a remote control process by a third party according to an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0023]    Hereinafter, the present invention will be further described in detail by referring to the drawings and the embodiments in order to make the objects, technical scheme and advantages of the present invention more apparent. 
         [0024]      FIG. 1  is an illustrative block diagram of a system for real-time monitoring a remote control process by a third party according to an embodiment of the present invention. As illustrated in  FIG. 1 , a system for real-time monitoring a remote control process by a third party is provided, the system comprising: at least one control terminal  100 ; at least one controlled terminal  200 ; and at least one third party monitoring terminal  300 ,  400  and  500 . Hereinafter, one third party monitoring terminal is taken as an example for explanation. Constructions and operations of other third party monitoring terminals  400  and  500  are identical with those of the third party monitoring terminal  300 . 
         [0025]    As illustrated in  FIG. 2 , the control terminal  100  includes an Input Event Capture module  120 , which is for capturing a mouse and keyboard input event of the control terminal  100 , and then sending the event to the controlled terminal  200  via a network. A User Monitor Display module  110  is for displaying a desktop video sent from the controlled terminal  200  on the control terminal  100 . 
         [0026]    An agency module comprising two virtual drivers is installed on the controlled terminal  200  in a remote control. One virtual driver is a display driver  230  for sending a video stream to the control terminal  100  and the third party monitoring terminal  300  via the network. 
         [0027]    The other virtual driver is a virtual input device driver  220  for converting the mouse and keyboard event sent from the network  140  and  240  to a local mouse and keyboard event on the control terminal  200 . That is to say, an input event transmitted from the control terminal  100  is received and converted and simulated into a local input event on the controlled terminal  200 , in order to implement the remote control. 
         [0028]    The agency module comprises two system procedures. One procedure is a session controller  211  for managing a session, guaranteeing the control terminal  100 , the controlled terminal  200  and the third party monitoring terminal  300  in one and the same session. In other words, the session controller  211  is for managing the session, e.g. creating, assigning and destroying, another important effect of which is to arrange the control terminal, the controlled terminal and the monitoring terminal in one and the same session. 
         [0029]    Another procedure is a procedure capture module  212 , which is used for capturing a service and procedure list of the controlled terminal  200 , and restricting the behavior of the control terminal according to an access control strategy pushed by the third party monitoring terminal  300 . That is to say, the procedure capture module  212  is for capturing a created procedure and an initiated service upon a requirement of the controller  100  and sending them to the control terminal via the network, and determining whether to perform a corresponding procedure and a service or not when they are returned by the control terminal, so as to accomplish a right control. 
         [0030]    An Access Control Strategy module  310  is installed on an operating system at the third party monitoring terminal  300 . The Access Control Strategy module  310  is used to determine an access control strategy of the control terminal  100 . The third party monitoring terminal  300  may push the access control strategy to the controlled terminal  200  so as to restrict the behavior of the control terminal  100 . Additionally, a User Monitor Display module is also installed on the third party monitoring terminal  300  for displaying a desktop video sent from the controlled terminal  200 . 
         [0031]    Thus, a connection has been established between the third party monitoring terminal  300  and the agency module installed in the controlled terminal  200  and an identity authentication is performed. The third party monitoring terminal  300  may push the access control strategy to the controlled terminal  200  by means that the agency module sends a video stream from the controlled terminal  200  to the third party monitoring terminal  300  for restricting the behavior of the control terminal  100 . The access strategy is based on a session, i.e. one and the same user may have different access strategies in different sessions, and may modify and update the access strategies in real time. 
         [0032]    This mechanism implements a real-time monitoring for a whole remote control procedure by the third party in a case of any of remote control connections. It solves the problem that only a control terminal is authenticated, but a third party monitoring and an access control is disabled in a remote control procedure. 
         [0033]    In a case that a plurality of third party monitoring terminals  300 ,  400  and  500  perform a third party monitoring, the controlled terminal  200  may send monitoring streams to various third party monitoring terminals  300 ,  400  and  500  in a broadcast manner. 
         [0034]      FIG. 3  is a flowchart illustrating a remote control at a control terminal and a controlled terminal. As illustrated in  FIG. 3 , the control terminal  100  firstly establishes a persistent connection with the controlled terminal  200  by an IP address or a machine name, and a session is established at the controlled terminal for the connection (S 111 ). 
         [0035]    Then, the controlled terminal  200  encodes a video stream which should be sent to a display, and sends it to the control terminal  100  via a network through the virtual display driver  220 , and the control terminal  100  decodes it to be displayed (S 112 ). 
         [0036]    Next, the Input Event Capture module  120  of the control terminal  100  may capture input events of the input device such as a mouse, a keyboard etc. of the control terminal. Then the input events are encoded and transmitted to the controlled terminal via the network. The input events sent from the control terminal  100  are received and decoded by the virtual input device driver  220  of the controlled terminal  200 , and then are simulated into local input events of a mouse and a keyboard. 
         [0037]    Before the control terminal  100  operates with the controlled terminal  200 , it is needed to provide identity authentication information for itself. 
         [0038]    The controlled terminal  200  authenticates the control terminal according to the identity authentication information (S 114 ). If the authentication succeeds, the control terminal  100  obtains a control right to the controlled terminal  200  (S 116 ). Otherwise, the session is ended by the controlled terminal  200 , and the whole procedure is terminated. 
         [0039]    After the control right is obtained, the control terminal  100  may operate with the controlled terminal. For each behavior, the controlled terminal  200  may obtain all of initiated services and procedures in the system via a Procedure Capture module  212  (S 117 ), and compare with the access strategy in the Access Control Strategy  310  (S 121 ). If the behavior conforms to the strategies, it will be performed (S 121 ); otherwise, the behavior will be terminated (S 120 ). 
         [0040]    After one behavior is completed, it may be determined whether the control process has been finished or not(S 122 ). If it is finished, a managed terminal releases the session (S 123 ). Otherwise, the next behavior is performed (S 116 ). 
         [0041]      FIG. 4  is a flowchart of a method for real-time monitoring a remote control process by a third party according to an embodiment of the present invention. 
         [0042]    The third party monitoring terminal  300  establishes a persistent connection with the controlled terminal  200  by an IP address or a machine name. A session is established at the controlled terminal for the connection (S 211 ). Before the third party monitoring terminal  300  monitors the controlled terminal  200 , it is needed to provide identity authentication information for itself. 
         [0043]    The controlled terminal  200  authenticates the third party monitoring terminal  300  according to the identity authentication information (S 212 -S 213 ). If the authentication succeeds, the Session Controller  211  of the controlled terminal sends a list of all the control sessions to the third party monitoring terminal  300 . The third party monitoring terminal  300  selects one session to be monitored out of the list (S 214 ). If the authentication fails, the controlled terminal  200  will finish the session, and the whole process is terminated. 
         [0044]    Then, the session controller  211  adds the third party monitoring terminal  300  to its specified session. 
         [0045]    The controlled terminal  200  encodes a video stream which should be sent to a display, and sends it to the third party monitoring terminal  300  via a network through the virtual display driver  220 . The third party monitoring terminal  300  decodes it to be displayed (S 215 ). 
         [0046]    The third party monitoring terminal  300  may create a corresponding access control strategy for the current monitoring session, in order to protect the controlled terminal  200  from being threatened by an illegal operation (S 216 ). The third party monitoring terminal  300  may push a new access control strategy to the controlled terminal  200  via the network at any time. Different strategies may be applied to different sessions. 
         [0047]    After one behavior is completed, it may be judged whether the monitoring process has been finished or not (S 218 ). If finished, the controlled terminal  200  releases the session (S 219 ). Otherwise, the next behavior is performed (S 216 ). 
         [0048]    The above is only the preferred embodiments of the present invention and the present invention is not limited to the above embodiments. Therefore, any modifications, substitutions and improvements to the present invention are possible without departing from the spirit and scope of the present invention.