IP Library Granted Patent US 8,418,226
Granted Patent B2
US 8,418,226 · App. 11/386,040 · Granted Apr 9, 2013

Persistent servicing agent

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,418,226
App. No.
11/386,040
Granted
Apr 9, 2013
Kind
B2
Abstract

A tamper resistant servicing Agent for providing various services (e.g., data delete, firewall protection, data encryption, location tracking, message notification, and updating software) comprises multiple functional modules, including a loader module (CLM) that loads and gains control during POST, independent of the OS, an Adaptive Installer Module (AIM), and a Communications Driver Agent (CDA). Once control is handed to the CLM, it loads the AIM, which in turn locates, validates, decompresses and adapts the CDA for the detected OS environment. The CDA exists in two forms, a mini CDA that determines whether a full or current CDA is located somewhere on the device, and if not, to load the full-function CDA from a network; and a full-function CDA that is responsible for all communications between the device and the monitoring server. The servicing functions can be controlled by a remote server.

Claims (43)

1. A persistent servicing agent disposed in an electronic device connected to a network to a remote server, to enable, support and/or provide at least one service with respect to the electronic device, comprising:

a driver agent concealed in the electronic device, wherein the driver agent is configured to be persistent against external tampering, including self-healing in the event of tampering, and wherein the driver agent comprises at least a partial driver agent concealed electronically in a user inaccessible location in the electronic device, wherein the partial driver agent determines whether a full function driver agent configured to communicate with the network in providing the service is available in the electronic device, and wherein the partial driver agent is configured with a reduced set of functions compared to the full function driver agent; and

a run application configured to automatically initiate operation of the driver agent without user initiation or user intervention.

2. The persistent servicing agent as in claim 1 , wherein driver agent is configured to enable, support and/or provide service comprising at least one of asset tracking, asset recovery, software deployment, data deletion, firewall protection, data encryption, location tracking, message notification, and software upgrade.

3. The persistent servicing agent as in claim 1 , wherein the driver agent is configured to enable, support and/or provide data deletion service to delete selected data files at the electronic device, and wherein the driver agent provides a report of the data deleted to the remote external server.

4. The persistent servicing agent as in claim 3 , wherein the driver agent is configured to enable, support and/or provide deletion of operating system of the electronic device.

5. The persistent servicing agent as in claim 4 , wherein the driver agent is configured to first delete data files other than the operating system, provide the report to the remote server, and then delete the operating system.

6. The persistent servicing agent as in claim 3 , wherein the driver agent is configured to reinitiate data deletion service in the event a prior data deletion service was interrupted before completion.

7. The persistent servicing agent as in claim 2 , wherein the partial driver agent is located in the electronic device in at least one of a firmware, software and hardware.

8. The persistent servicing agent as in claim 7 , wherein the firmware comprises a non-volatile memory.

9. The persistent servicing agent as in claim 8 , wherein the non-volatile memory comprises at least one of a BIOS chip and flash memory.

10. The persistent servicing agent as in claim 7 , wherein the software comprises an operating system of the electronic device.

11. The persistent servicing agent as in claim 3 , wherein the driver agent is configured to communicate with the remote server, to receive instructions from the remote server in connection with data deletion of selected data files in the electronic device.

12. The persistent servicing agent as in claim 2 , wherein the driver agent is configured to communicate with the remote server, to receive instructions from the remote server to perform the service in accordance with such instructions, wherein such communication may be initiated by the driver agent or the server.

13. The persistent servicing agent as in claim 12 , wherein the driver agent is configured to communicate with the remote server, to receive instructions from the remote server in connection with establishing firewall protection in the electronic device.

14. The persistent servicing agent as in claim 12 , wherein the driver agent is configured to communicate with the remote server, to receive instructions from the remote server in connection with undertaking data encryption in the electronic device.

15. The persistent servicing agent as in claim 12 , wherein the driver agent is configured to communicate with the remote server, to receive instructions from the remote server in connection with location tracking of electronic device.

16. The persistent servicing agent as in claim 12 , wherein the driver agent is configured to communicate with the remote server, to receive message notification and/or instructions to disable certain functionality of the electronic device.

17. The persistent servicing agent as in claim 1 , wherein driver agent is configured to enable, support and/or provide service comprising changing at least one of an encryption key and a password.

18. The persistent servicing agent as in claim 1 , wherein the run application comprises:

an installer application configured to automatically adapt the driver agent to an operating environment of the electronic device to provide the service; and

a loader application configured to automatically load the installer application, which in turn loads the driver agent.

19. An electronic device, comprising a persistent servicing agent disposed in an electronic device connected to a network to a remote server, to enable, support and/or provide at least one service with respect to the electronic device, wherein the persistent servicing agent comprises:

a driver agent concealed in the electronic device, wherein the driver agent is configured to be persistent against external tampering, including self-healing in the event of tampering, and wherein the driver agent comprises at least a partial driver agent concealed electronically in a user inaccessible location in the electronic device, wherein the partial driver agent determines whether a full function driver agent configured to communicate with the network in providing the service is available in the electronic device, and wherein the partial driver agent is configured with a reduced set of functions compared to the full function driver agent; and

a run application configured to automatically initiate operation of the driver agent without user initiation or user intervention.

20. A method of enabling, supporting and/or providing a service in an electronic device, comprising:

concealing a driver agent electronically in the electronic device, wherein the driver agent is configured to be persistent against external tampering, including self-healing in the event of tampering, and wherein the driver agent comprises at least a partial driver agent concealed electronically in a user inaccessible location in the electronic device, wherein the partial driver agent determines whether a full function driver agent configured to communicate with the network in providing the service is available in the electronic device, and wherein the partial driver agent is configured with a reduced set of functions compared to the full function driver agent;

providing a run application configured to automatically initiate operation of the driver agent without user initiation or user intervention; and

operatively connecting the driver agent to a network to communicate with a remote server, to receive instructions relating to the service.

21. The method as in claim 20 , wherein the service comprises at least one of asset tracking, asset recovery, software deployment, data deletion, firewall protection, data encryption, location tracking, message notification, and software upgrade.

22. The method as in claim 20 , wherein the driver agent is configured to enable, support and/or provide data deletion service to delete selected data files at the electronic device, and wherein the driver agent is configured to enable, support and/or provide deletion of operating system of the electronic device.

23. The method as in claim 22 , wherein the driver agent is configured to first delete data files other than the operating system, provide the report to the remote server, and then delete the operating system.

24. A system for providing at least one service at an electronic device connected to a network, comprising:

a remote server connected to the network;

a persistent servicing agent disposed in the electronic device, comprising a driver agent concealed in the electronic device, wherein the driver agent is configured to be persistent against external tampering, including self-healing in the event of tampering, wherein the driver agent comprises at least a partial driver agent concealed electronically in a user inaccessible location in the electronic device, wherein the partial driver agent determines whether a full function driver agent configured to communicate with the network in providing the service is available in the electronic device, and wherein the partial driver agent is configured with a reduced set of functions compared to the full function driver agent; the persistent servicing agent further comprising a run application configured to automatically initiate operation of the driver agent without user initiation or user intervention;

wherein the persistent agent communicates with the remote server to receive instructions from the remote server to perform the service in accordance with such instructions.

25. The system as in claim 24 , wherein such communication may be initiated by the driver agent or the server.

26. The system as in claim 24 , wherein the persistent servicing agent is configured to communicate with the remote server, to receive instructions from the remote server in connection with at least one of:

(a) establishing firewall protection in the electronic device;

(b) undertaking data encryption in the electronic device;

(c) location tracking of electronic device;

(d) receiving message notification; and

(e) disabling certain functionality of the electronic device.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2023
From: ABSOLUTE SOFTWARE CORPORATION; MOBILE SONIC, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 064434/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2006
From: GARDNER, PHILIP B.
To: ABSOLUTE SOFTWARE CORPORATION
Reel/Frame 018060/0457 →