IP Library Granted Patent US 10,432,594
Granted Patent B2
US 10,432,594 · App. 15/926,428 · Granted Oct 1, 2019

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 10,432,594
App. No.
15/926,428
Granted
Oct 1, 2019
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 (50)

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

transmitting, from a remote computer management server to a managed computer, a dynamically loaded library (DLL) including one or more sets of instructions that, when implemented by 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:

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

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 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.

5. 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.

6. 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.

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 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.

8. The non-transitory computer readable storage memory as in claim 1 , that causes the processor to perform one or more primitive functions via the agent software installed on the managed computer, 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 a 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 , that causes the processor to perform transmitting periodic messages from the managed computer to the remote computer management server, 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, from a remote computer management server to a managed computer, a dynamically loaded library (DLL) including one or more sets of instructions that, when implemented by 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:

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

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 12 , 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 a 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 , comprising transmitting periodic messages from the managed computer to the remote computer management server, 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 method of claim 12 , comprising performing one or more primitive functions via agent software installed on a managed computer, 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.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2025
From: SUTHERLAND, MARK J.; WONG, PAUL Y.
To: KASEYA, INC.
Reel/Frame 071540/0288 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 24, 2025
From: KASEYA LIMITED
To: MORGAN STANLEY SENIOR FUNDING, INC., AS SECOND LIEN COLLATERAL AGENT
Reel/Frame 070608/0176 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 21, 2025
From: KASEYA LIMITED
To: MORGAN STANLEY SENIOR FUNDING, INC., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 070586/0814 →
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →