US2021258366A1PendingUtilityA1

Remote commands framework to control clients

Assignee: COMMVAULT SYSTEMS INCPriority: Mar 15, 2017Filed: Apr 5, 2021Published: Aug 19, 2021
Est. expiryMar 15, 2037(~10.7 yrs left)· nominal 20-yr term from priority
H04L 67/2871H04L 67/568H04L 67/566H04L 67/55G06F 2201/84H04L 12/185H04L 69/22G06F 11/1458G06F 8/65G06F 11/2097G06F 11/1451H04L 67/025G06F 11/2023G06F 2201/815H04L 63/102G06F 11/2082G06F 9/54H04L 67/1097G06F 9/541H04L 67/2833H04L 67/26H04L 67/2842
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and system for remotely executing commands at a client computing device. The method comprises receiving a selection of commands to transmit to a group of client computing devices via a webserver. The group of client computing devices, as well as the selected commands, are associated with a group identifier. The method validates access privileges of the administrator to transmit the selected commands to the group of client computing devices. Upon receipt of the selected commands, the webserver transmits the selected commands to at least one registered proxy server. The registered proxy server then determines one or more client identifiers associated with the group identifier. Each client identifier is assigned to a client computing device. Upon receipt of the selected commands, the registered proxy server transmits the selected commands to client computing devices in the group of client computing devices matching the determined client identifiers.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A system for updating an application on a client computing device, the system comprising:
 one or more non-transitory, computer-readable media having computer-executable instructions stored thereon; and   one or more processors that, having executed the computer-executable instructions, configure the system to perform a plurality of operations comprising:
 attempting to connect to a proxy server to obtain an update command to be executed by a client computing device; 
 in response to a determination that the connection with the proxy server was not successful:
 determining a status code received from the proxy server based on the unsuccessful connection with the proxy server; 
 establishing a reconnection interval based on the determined status code; and 
 re-trying the unsuccessful connection with the proxy server at the expiration of the reconnection interval; 
 
 in response to a determination the connection with the proxy server was successful:
 downloading, from the proxy server the update command to execute by the client computing device; 
 executing, by the client computing device, the update command to obtain an update to an application executable by the client computing device; and 
 executing the update command at the client computing device, which causes the application associated with the client computing device to restart. 
 
   
     
     
         3 . The system of  claim 2 , wherein the application is an email application. 
     
     
         4 . The system of  claim 2 , wherein the plurality of operations further comprises:
 maintaining a timer at the client computing device, wherein the timer tracks a timestamp of downloading the update command.   
     
     
         5 . The system of  claim 4 , wherein the plurality of operations further comprises:
 determining that the timer has reached a timer threshold; and   generating a prompt to a user at the client computing device, wherein the prompt indicates that the application associated with the client computing device will be restarted based on the timer.   
     
     
         6 . The system of  claim 2 , wherein the plurality of operations further comprises:
 in response to executing the update command at the client computing device, transmitting an execution confirmation message to the proxy server, wherein:
 the proxy server updates a log file to include the execution confirmation message, and 
 the proxy server transmits at least a portion of the log file to a webserver communicatively coupled to the proxy server. 
   
     
     
         7 . The system of  claim 2 , wherein the client computing device polls the proxy server at a configurable time interval to receive a command file with one or more commands to be executed. 
     
     
         8 . The system of  claim 2 , wherein the update command is executed at the client computing device when the client computing device is connected to the proxy server. 
     
     
         9 . A method for updating an application on a client computing device, the method comprising:
 attempting to connect to a proxy server to obtain an update command to be executed by a client computing device;   in response to a determination that the connection with the proxy server was not successful:
 determining a status code received from the proxy server based on the unsuccessful connection with the proxy server; 
 establishing a reconnection interval based on the determined status code; and 
 re-trying the unsuccessful connection with the proxy server at the expiration of the reconnection interval; 
   in response to a determination the connection with the proxy server was successful:
 downloading, from the proxy server the update command to execute by the client computing device; 
 executing, by the client computing device, the update command to obtain an update to an application executable by the client computing device; and 
 executing the update command at the client computing device, which causes the application associated with the client computing device to restart. 
   
     
     
         10 . The method of  claim 9 , wherein the application is an email application. 
     
     
         11 . The method of  claim 9 , further comprising:
 maintaining a timer at the client computing device, wherein the timer tracks a timestamp of downloading the update command.   
     
     
         12 . The method of  claim 11 , further comprising:
 determining that the timer has reached a timer threshold; and   generating a prompt to a user at the client computing device, wherein the prompt indicates that the application associated with the client computing device will be restarted based on the timer.   
     
     
         13 . The method of  claim 9 , further comprising:
 in response to executing the update command at the client computing device, transmitting an execution confirmation message to the proxy server, wherein:
 the proxy server updates a log file to include the execution confirmation message, and 
 the proxy server transmits at least a portion of the log file to a webserver communicatively coupled to the proxy server. 
   
     
     
         14 . The method of  claim 9 , wherein the client computing device polls the proxy server at a configurable time interval to receive a command file with one or more commands to be executed. 
     
     
         15 . The method of  claim 9 , wherein the update command is executed at the client computing device when the client computing device is connected to the proxy server. 
     
     
         16 . A non-transitory, computer-readable medium having computer-executable instructions stored thereon that, when executed by one or more processors, cause a system to perform a plurality of operations comprising:
 attempting to connect to a proxy server to obtain an update command to be executed by a client computing device;   in response to a determination that the connection with the proxy server was not successful:
 determining a status code received from the proxy server based on the unsuccessful connection with the proxy server; 
 establishing a reconnection interval based on the determined status code; and 
 re-trying the unsuccessful connection with the proxy server at the expiration of the reconnection interval; 
   in response to a determination the connection with the proxy server was successful:
 downloading, from the proxy server the update command to execute by the client computing device; 
 executing, by the client computing device, the update command to obtain an update to an application executable by the client computing device; and 
 executing the update command at the client computing device, which causes the application associated with the client computing device to restart. 
   
     
     
         17 . The non-transitory, computer-readable medium of  claim 16 , wherein the plurality of operations further comprises:
 maintaining a timer at the client computing device, wherein the timer tracks a timestamp of downloading the update command.   
     
     
         18 . The non-transitory, computer-readable medium of  claim 17 , wherein the plurality of operations further comprises:
 determining that the timer has reached a timer threshold; and   generating a prompt to a user at the client computing device, wherein the prompt indicates that the application associated with the client computing device will be restarted based on the timer.   
     
     
         19 . The non-transitory, computer-readable medium of  claim 16 , wherein the plurality of operations further comprises:
 in response to executing the update command at the client computing device, transmitting an execution confirmation message to the proxy server, wherein:
 the proxy server updates a log file to include the execution confirmation message, and 
 the proxy server transmits at least a portion of the log file to a webserver communicatively coupled to the proxy server. 
   
     
     
         20 . The non-transitory, computer-readable medium of  claim 16 , wherein the client computing device polls the proxy server at a configurable time interval to receive a command file with one or more commands to be executed. 
     
     
         21 . The non-transitory, computer-readable medium of  claim 16 , wherein the update command is executed at the client computing device when the client computing device is connected to the proxy server.

Join the waitlist — get patent alerts

Track US2021258366A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.