Remote commands framework to control clients

US11032350B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11032350-B2
Application numberUS-201815920396-A
CountryUS
Kind codeB2
Filing dateMar 13, 2018
Priority dateMar 15, 2017
Publication dateJun 8, 2021
Grant dateJun 8, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A non-transitory, computer-readable medium having computer-executable instructions stored thereon that, when executed by one or more processors, causes a client computing device to perform a method comprising: attempting to connect to a proxy server communicatively coupled to the client computing device to obtain a plurality of commands to be executed by the client computing device; determining whether the connection with the proxy server was successful; 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 an expiration of the reconnection interval; and, in response to a determination the connection with the proxy server was successful: downloading, from the proxy server, the plurality of commands to be executed by the client computing device, wherein: at least one command of the plurality of commands is associated with a subset of users having been selected from a plurality of users, and the client computing device that is to execute the at least one command is associated with a user selected from the subset of users; determining, by the client computing device, that the at least one command comprises an update command to execute from the plurality of commands using a plurality of priority rules associated with the plurality of commands, wherein the plurality of priority rules indicate an order in which commands of the plurality of commands are to be executed; executing, by the client computing device, the update command to obtain an update to an application executable by the client computing device; determining whether the obtained update is a forced update based on a property associated with the obtained update; in response to determining that the obtained update is a forced update, generating a prompt to a user at the client computing device, wherein the prompt indicates that an application associated with the client computing device will be restarted; in response to determining that the obtained update is not a forced update, adding the update command to a commands script at the client computing device, wherein the commands script comprises a list of commands to be executed at 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. 2. The non-transitory, computer-readable medium of claim 1 wherein the application is an email application. 3. The non-transitory, computer-readable medium of claim 1 wherein the method further comprises: in response to determining that the obtained update is not a forced update, maintaining a timer at the client computing device, wherein the timer tracks a timestamp of downloading the plurality of commands. 4. The non-transitory, computer-readable medium of claim 3 wherein the method 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. 5. The non-transitory, computer-readable medium of claim 1 wherein the method 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. 6. The non-transitory, computer-readable medium of claim 1 wherein the client computing device polls the proxy server once every configurable time interval to receive a command file with one or more commands to be executed. 7. The non-transitory, computer-readable medium of claim 1 wherein the update command is executed at the client computing device when the client computing device is connected to the proxy server. 8. A method comprising: attempting to connect to a proxy server communicatively coupled to a client computing device to obtain a plurality of commands to be executed by the client computing device; determining whether the connection with the proxy server was successful; 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 an expiration of the reconnection interval; and, in response to a determination the connection with the proxy server was successful: downloading, from the proxy server, the plurality of commands to be executed by the client computing device, wherein: at least one command of the plurality of commands is associated with a subset of users having been selected from a plurality of users, and the client computing device that is to execute the at least one command is associated with a user selected from the subset of users; determining, by the client computing device, an update command to execute from the plurality of commands using a plurality of priority rules associated with the plurality of commands, wherein the plurality of priority rules indicate an order in which commands of the plurality of commands are to be executed; executing, by the client computing device, the update command to obtain an update to an application executable by the client computing device; determining whether the update is a forced update based on a property associated with the obtained update; in response to determining that the obtained update is a forced update, 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; in response to determining that the obtained update is not a forced update, adding the update command to a commands script at the client computing device, wherein the commands script comprises a list of commands to be executed at 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. 9. The method of claim 8 wherein the application is an email application. 10. The method of claim 8 wherein the method further comprises: in response to determining that the obtained update is not a forced update, maintaining a timer at the client computing device, wherein the timer tracks a timestamp of downloading the plurality of commands. 11. The method of claim 10 wherein the method 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. 12. The method of claim 8 wherein the method 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

Assignees

Inventors

Classifications

  • Implementation details of single intermediate entities · CPC title

  • Storing data temporarily at an intermediate stage, e.g. caching · CPC title

  • Grouping or aggregating service requests, e.g. for unified processing · CPC title

  • Push-based network services · CPC title

  • Failover techniques · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11032350B2 cover?
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 sel…
Who is the assignee on this patent?
Commvault Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/2871. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 08 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).