IP Library Granted Patent US 10,257,017
Granted Patent B2
US 10,257,017 · App. 14/728,708 · Granted Apr 9, 2019

Autonomous server agents

Inventors: Rajat Bhargava (Boulder, CO); James Brown (Broomfield, CO); Christopher Marie (Boulder, CO)
Assignee: JumpCloud, Inc.
H04L41/046H04L41/28H04L63/04H04L63/166
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,257,017
App. No.
14/728,708
Granted
Apr 9, 2019
Kind
B2
Abstract

Methods, systems, and devices are described for orchestrating server management in an information technology network. The described techniques may be implemented to manage any number of networked severs, whether local, remote, or both. Server orchestration may leverage a central, cloud-based management system and one or more autonomous agents installed on servers within the network. The autonomous agents may each be registered with the supervisory server and may operate with awareness of one another.

Claims (50)

1. A method of server management, comprising:

installing an autonomous agent on a subservient server;

registering a unique identifier of the autonomous agent with a supervisory server; and

establishing a secure communication mechanism between the autonomous agent and the supervisory server;

receiving, at the autonomous agent running on the subservient server, an initial server management task to manage the subservient server, the initial server management task comprising at least one command from a set of commands that an operating system of the subservient server supports, wherein the initial server management task is selected from the group comprising: a disk space management task, a log monitoring task, a system configuration task, an email transmission or reception task, and a security threat identification or neutralization task; and

registering, at the autonomous agent, the initial server management task that comprises at least one command from a set of arbitrary commands that an operating system of the subservient server supports.

2. The method of claim 1 , wherein registering the initial server management task comprises executing a server script comprising a command associated with the initial server management task.

3. The method of claim 1 , further comprising:

identifying a server management task execution by another agent installed on another server; and

executing the initial server management task on the subservient server with the autonomous agent based at least in part on the identifying and irrespective of connectivity between the autonomous agent and the supervisory server.

4. The method of claim 1 , further comprising:

registering a new server management task at the autonomous agent.

5. The method of claim 1 , further comprising:

registering a plurality of server management tasks at the autonomous agent; and

executing the plurality of server management tasks on the subservient server with the autonomous agent according to a schedule or on an ad hoc basis, irrespective of connectivity between the autonomous agent and the supervisory server.

6. The method of claim 1 , wherein the secure connection mechanism comprises a transport layer security (TLS) protocol.

7. The method of claim 1 , wherein the supervisory server comprises a cloud-hosted server.

8. The method of claim 1 , wherein the initial server management task is selected from the group further consisting of a user management task.

9. A method comprising:

installing an autonomous agent on a subservient server;

registering a unique identifier of the autonomous agent with a supervisory server;

establishing a secure communication mechanism between the autonomous agent and the supervisory server;

receiving, at the autonomous agent running on the subservient server, an initial server management task to manage the subservient server, the initial server management task comprising at least one command from a set of commands that an operating system of the subservient server supports, wherein the initial server management task is selected from the group comprising: a disk space management task, a log monitoring task, a system configuration task, an email transmission or reception task, and a security threat identification or neutralization task; and

registering the initial server management task at the autonomous agent; and

executing the initial server management task on the subservient server with the autonomous agent during a loss of connectivity between the autonomous agent and the supervisory server.

10. The method of claim 9 , further comprising:

determining an additional task to execute based at least in part on the initial server management task execution; and

deciding to execute the additional task on the subservient server during the loss of connectivity between the autonomous agent and the supervisory server.

11. A system to manage servers, comprising:

a supervisory server that manages tasks on a set of subservient servers, each subservient server of the set having a network connection to the supervisory server;

a first autonomous agent on a first subservient server of the set of subservient servers, wherein a secure communication mechanism is established between the first autonomous agent and the supervisory server, the first autonomous agent registered with a unique identifier at the supervisory server, the first autonomous agent configured to receive and resister an initial server management task, and to execute the initial server management task registered at the first autonomous agent, the initial server management task comprising at least one command from a set of arbitrary commands that an operating system of the subservient server supports, wherein the initial server management task is selected from the group consisting of: a disk space management task, a log monitoring task, a system configuration task, an email transmission or reception task, and a security threat identification or neutralization task; and

a console that provides access by a user or program to the supervisory server for management of the first subservient server via the first autonomous agent, the console in communication to the supervisory server.

12. The system of claim 11 , further comprising:

a second autonomous agent on a second subservient server of set of subservient servers, wherein the console provides access by the user to the supervisory server for management of the second subservient server via the second autonomous agent.

13. The system of claim 1 , wherein the first autonomous agent comprises:

a task cache module that registers one or more tasks in response to a script or command executed at the supervisory server; and

a processing module that executes the tasks registered with the task cache module, wherein the processing module is in communication with the task cache module.

14. The system of claim 13 , wherein the first autonomous agent comprises:

a timing module that directs the processing module to execute the tasks registered with the task cache module within a time period defined by the user or upon expiration of a timer, or both.

15. The system of claim 11 , wherein the supervisory server comprises:

a server orchestration module that manages, schedules, or execute tasks on the first subservient server utilizing the first autonomous agent.

16. The system of claim 1 , wherein the supervisory server comprises:

a command execution module that executes commands utilizing the first autonomous agent, wherein the command execution module is in communication with a server orchestration module.

17. The system of claim 11 , wherein the supervisory server comprises:

a user management module that stores user credentials, user preferences, locations of subservient servers of the set, or a combination thereof, wherein the user management module is in communication with a data store.

18. The system of claim 16 , wherein the supervisory server comprises:

a scheduler module that executes tasks according to a schedule provided by the scheduler module, wherein the scheduler module is in communication with the command execution module.

19. The system of claim 11 , further comprising:

a data store in communication with the supervisory server, wherein the data store comprises content, scripts, tasks, event logs, or user data, or a combination thereof.

20. The system of claim 11 , wherein the initial server management task is selected from the group further consisting of a user management task.

Assignments (3)
SECURITY INTEREST Recorded Apr 30, 2022
From: JUMPCLOUD INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059744/0884 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ATTORNEY DOCKET NUMBER PREVIOUSLY RECORDED AT REEL: 035851 FRAME: 0738. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 24, 2015
From: BHARGAVA, RAJAT; BROWN, JAMES; MARIE, CHRISTOPHER
To: JUMPCLOUD INC
Reel/Frame 036060/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2015
From: BHARGAVA, RAJAT; BROWN, JAMES; MARIE, CHRISTOPHER
To: JUMPCLOUD INC
Reel/Frame 035851/0738 →
Continuity (5)
Provisional Application 62011087 · Jun 12, 2014
Provisional Application 62007285 · Jun 3, 2014
Provisional Application 62007281 · Jun 3, 2014
Provisional Application 62007278 · Jun 3, 2014
Related Publication 20150350006A1 · Dec 3, 2015