IP Library Granted Patent US 8,825,826
Granted Patent B2
US 8,825,826 · App. 13/493,450 · Granted Sep 2, 2014

Primitive functions for use in remote computer management

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 8,825,826
App. No.
13/493,450
Granted
Sep 2, 2014
Kind
B2
Abstract

The invention facilitates remote management of a computer via a network. Remote computer management capability can be expanded beyond that previously available through the addition of one or more new primitive functions that can be performed on a managed computer.

Claims (49)

1. A non-transitory computer readable storage memory encoded with one or more computer programs being executed to cause a processor to perform:

transmitting periodic messages from a managed computer to a remote computer management server;

receiving at least one command that effects performance of a management action, the management action comprising execution of one or more primitive functions;

performing the one or more primitive functions via agent software installed on the managed computer;

transmitting, from the remote computer management server to the managed computer, a dynamically loaded library (DLL) including one or more sets of instructions that, when implemented by the agent software, produce functionality not enabled by the agent software at the time the DLL is transmitted to the managed computer, the functionality performed by the DLL comprising:

enabling the agent software to provide an interface function call definition configured to pass commands to the DLL for execution, the commands comprising at least one command that identifies the DLL;

identifying at least one device connected to the managed computer by issuing an address resolution protocol command to each IP address assigned to a LAN;

transmitting device identification information to the remote computer management server indicating existence of the at least one device;

receiving at the managed computer another DLL comprising additional commands instructing the agent software to perform management actions responsive to the identification information transmitted, the additional commands identifying a communication protocol to be used by the agent software when communicating with the at least one device; and

transmitting from the managed computer to the remote computer management server a result of the performance of the management action.

2. The non-transitory computer readable storage memory as in claim 1 , that causes the processor to perform receiving at the managed computer a request from the remote computer management server to perform a management action.

3. The non-transitory computer readable storage memory as in claim 1 , that further causes the processor to perform routing all communication between the managed computer and the remote computer management server.

4. The non-transitory computer readable storage memory as in claim 1 , that causes the processor to perform authenticating the managed computer to the remote computer management server.

5. The non-transitory computer readable storage memory as in claim 1 , that causes the processor to perform encrypting communication between the managed computer and the remote computer management server.

6. The non-transitory computer readable storage memory as in claim 5 , wherein the encrypting communication between the managed computer and the remote computer management server causes the processor to perform generating a new encryption key each time that the managed computer initiates communication with the remote computer management server.

7. The non-transitory computer readable storage memory as in claim 6 , wherein the encrypting communication between the managed computer and the remote computer management server causes the processor to perform successively comparing different combinations of a specified number of the most recent encryption keys stored by the managed computer and a specified number of the most recent encryption keys stored by the remote computer management server.

8. The non-transitory computer readable storage memory as in claim 1 , wherein the primitive functions are at least one of:

get value for script variable;

added printers to audit;

get File in multiple blocks;

enumerate registry subkeys;

enumerate registry values;

enumerate directory listing;

incremental audit;

execute application and return output; and

extend audit to include file types in addition to .exe.

9. The non-transitory computer readable storage memory as in claim 1 , that causes the processor to perform scanning the LAN associated with the managed computer to perform the identifying of the at least one device.

10. The non-transitory computer readable storage memory as in claim 1 , that causes the processor to perform receiving responses at the managed computer indicating the presence of the at least one device.

11. The non-transitory computer readable storage memory as in claim 1 , wherein the transmitting periodic messages from the managed computer to the remote computer management server determines whether there is an outstanding management action that needs to be performed by the managed computer.

12. A method, comprising:

transmitting periodic messages from a managed computer to a remote computer management server;

receiving at least one command that effects performance of a management action, the management action comprising execution of one or more primitive functions;

performing the one or more primitive functions via agent software installed on the managed computer;

transmitting, from the remote computer management server to the managed computer, a dynamically loaded library (DLL) including one or more sets of instructions that, when implemented by the agent software, produce functionality not enabled by the agent software at the time the DLL is transmitted to the managed computer, the functionality performed by the DLL comprising:

enabling the agent software to provide an interface function call definition configured to pass commands to the DLL for execution, the commands comprising at least one command that identifies the DLL;

identifying at least one device connected to the managed computer by issuing an address resolution protocol command to each IP address assigned to a LAN;

transmitting device identification information to the remote computer management server indicating existence of the at least one device;

receiving at the managed computer another DLL comprising additional commands instructing the agent software to perform management actions responsive to the identification information transmitted, the additional commands identifying a communication protocol to be used by the agent software when communicating with the at least one device; and

transmitting from the managed computer to the remote computer management server a result of the performance of the management action.

13. The method of claim comprising receiving at the managed computer a request from the remote computer management server to perform a management action.

14. The method of claim 12 , comprising routing all communication between the managed computer and the remote computer management server through a single network communications port that is allowed for other network communication by a firewall and/or gateway that mediates communication with the managed computer.

15. The method of claim 12 , comprising authenticating the managed computer to the remote computer management server.

16. The method of claim 12 , comprising encrypting communication between the managed computer and the remote computer management server, wherein the encrypting comprises at least one of:

generating a new encryption key each time that the managed computer initiates communication with the remote computer management server; and

successively comparing different combinations of a specified number of the most recent encryption keys stored by the managed computer and a specified number of the most recent encryption keys stored by the remote computer management server.

17. The method of claim 12 , comprising scanning the LAN associated with the managed computer to perform the identifying of the at least one device.

18. The method of claim 12 , comprising receiving responses at the managed computer indicating the presence of the at least one device.

19. The method of claim 12 , wherein the transmitting periodic messages from the managed computer to the remote computer management server determines whether there is an outstanding management action that needs to be performed by the managed computer.

20. The non-transitory computer readable storage memory as in claim 3 , that further causes the processor to perform the routing through a single network communications port that is allowed for other network communication by a firewall and/or gateway that mediates communication with the managed computer.

Assignments (10)
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2021
From: SUTHERLAND, MARK J; WONG, PAUL Y
To: KASEYA CORPORATION
Reel/Frame 058103/0539 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2021
From: KASEYA CORPORATION
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 058103/0561 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: VEEAM SOFTWARE LIMITED
To: KASEYA LUXEMBOURG HOLDINGS S.C.A.
Reel/Frame 049122/0138 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: KASEYA LIMITED
Reel/Frame 049122/0181 →
SUBORDINATED SECOND LIEN US PATENT SECURITY AGREEMENT Recorded Jun 1, 2018
From: SPANNING CLOUD APPS LLC; UNITRENDS, INC.; KASEYA LIMITED; RAPIDFIRE TOOLS INC.
To: FABSTONE INVESTMENTS LLC
Reel/Frame 046286/0755 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded May 31, 2017
From: SILICON VALLEY BANK
To: KASEYA LIMITED
Reel/Frame 042642/0023 →
SECURITY INTEREST Recorded May 26, 2017
From: KASEYA LIMITED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 042589/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2014
From: KASEYA INTERNATIONAL LIMITED
To: KASEYA LIMITED
Reel/Frame 033880/0921 →
SECURITY INTEREST Recorded Jul 14, 2014
From: KASEYA LIMITED
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 033312/0618 →