IP Library Granted Patent US 10,862,803
Granted Patent B2
US 10,862,803 · App. 14/843,603 · Granted Dec 8, 2020

Repurposing a target endpoint to execute a management task

Inventors: Fred A. Bower, III (Durham, NC); Andrew J. Sloma (Austin, TX)
Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
H04L47/00H04L47/803H04L47/822
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,862,803
App. No.
14/843,603
Granted
Dec 8, 2020
Kind
B2
Abstract

Repurposing a target endpoint to execute a management task, including: identifying an amount of computing resources required to execute a management task that controls one or more operational aspects of a target endpoint; identifying an amount of computing resources required to repurpose the target endpoint such that the target endpoint can participate in the execution of the management task; determining, in dependence upon the amount of computing resources required to execute the management task and the amount of computing resources required to repurpose the target endpoint, whether to repurpose the target endpoint; and responsive to determining to repurpose the target endpoint, initiating execution of a portion of the management task on the target endpoint.

Claims (51)

1. A method comprising:

by first program instructions executing on a computing system, the computing system having at least one management server and a plurality of managed computing resources:

identifying, by a management server, an amount of computing resources required to execute a management task that controls one or more operational aspects of a target endpoint, wherein the management task can be executed by a management server and includes one of managing a network environment, deploying an operating system image, applying a firmware update, and applying a system update;

identifying, by the management server, an amount of computing resources required to repurpose the target endpoint such that the target endpoint can participate in the execution of the management task;

determining, by the management server in dependence upon the amount of computing resources required to execute the management task and the amount of computing resources required to repurpose the target endpoint, whether to repurpose the target endpoint; and

responsive to determining to repurpose the target endpoint, by the management server, initiating execution of a portion of the management task on the target endpoint including rebooting, by the management server, the target endpoint from a computing environment not configured to execute management tasks into a computing environment configured to be controlled by the management server and configured to execute management tasks,

wherein remaining portions of the management task not executed by the target endpoint are executed by the management server.

2. The method of claim 1 further comprising receiving a plurality of inputs associated with the management task; and

wherein identifying, by the management server, an amount of computing resources required to repurpose the target endpoint further includes determining an amount of network bandwidth required to reboot the target endpoint into a computing environment configured to be controlled by the management server and configured to execute management tasks.

3. The method of claim 2 wherein receiving the plurality of inputs associated with the management task further comprises:

receiving an input identifying the target endpoint;

receiving an input describing one or more processing capabilities of a management server;

receiving an input describing the amount of computing resources required to execute the management task; and

receiving an input describing the amount of computing resources required to repurpose the target endpoint such that the target endpoint can participate in the execution of the management task.

4. The method of claim 1 wherein determining whether to repurpose the target endpoint further comprises determining whether a ratio of a plurality of managed endpoints to a scale limit is less than a resource allocation ratio.

5. The method of claim 4 , wherein the resource allocation ratio comprises a ratio of an execution resource allocation to a repurposing resource allocation.

6. The method of claim 1 wherein the amount of computing resources required to execute the management task includes an execution time requirement, an execution processor cycle requirement, an execution bandwidth requirement, or an execution disk capacity requirement.

7. The method of claim 1 wherein the amount of computing resources required to repurpose the target endpoint includes a repurposing time requirement, a repurposing processor cycle requirement, a repurposing bandwidth requirement, or a repurposing disk capacity requirement.

8. An apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed, cause the apparatus to carry out the steps of:

identifying, by a management server, an amount of computing resources required to execute a management task that controls one or more operational aspects of a target endpoint, wherein the management task can be executed by a management server and includes one of managing a network environment, deploying an operating system image, applying a firmware update, and applying a system update;

identifying, by the management server, an amount of computing resources required to repurpose the target endpoint such that the target endpoint can participate in the execution of the management task;

determining, by the management server in dependence upon the amount of computing resources required to execute the management task and the amount of computing resources required to repurpose the target endpoint, whether to repurpose the target endpoint; and

responsive to determining to repurpose the target endpoint, by the management server, initiating execution of a portion of the management task on the target endpoint including rebooting, by the management server, the target endpoint from a computing environment not configured to execute management tasks into a computing environment configured to be controlled by the management server and configured to execute management tasks,

wherein remaining portions of the management task not executed by the target endpoint are executed by the management server.

9. The apparatus of claim 8 further comprising computer program instructions that, when executed, cause the apparatus to carry out the step of receiving a plurality of inputs associated with the management task; and

wherein identifying, by the management server, an amount of computing resources required to repurpose the target endpoint further includes determining an amount of network bandwidth required to reboot the target endpoint into a computing environment configured to be controlled by the management server and configured to execute management tasks.

10. The apparatus of claim 9 wherein receiving the plurality of inputs associated with the management task further comprises:

receiving an input identifying the target endpoint;

receiving an input describing one or more processing capabilities of a management server;

receiving an input describing the amount of computing resources required to execute the management task; and

receiving an input describing the amount of computing resources required to repurpose the target endpoint such that the target endpoint can participate in the execution of the management task.

11. The apparatus of claim 8 wherein determining whether to repurpose the target endpoint further comprises determining whether a ratio of a plurality of managed endpoints to a scale limit is less than a resource allocation ratio.

12. The apparatus of claim 11 wherein the resource allocation ratio comprises a ratio of an execution resource allocation to a repurposing resource allocation.

13. The apparatus of claim 8 wherein the amount of computing resources required to execute the management task includes an execution time requirement, an execution processor cycle requirement, an execution bandwidth requirement, or an execution disk capacity requirement.

14. The apparatus of claim 8 wherein the amount of computing resources required to repurpose the target endpoint includes a repurposing time requirement, a repurposing processor cycle requirement, a repurposing bandwidth requirement, or a repurposing disk capacity requirement.

15. A computer program product comprising a computer readable medium, wherein the computer readable medium is not a signal, the computer readable medium comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

identifying, by a management server, an amount of computing resources required to execute a management task that controls one or more operational aspects of a target endpoint, wherein the management task can be executed by a management server and includes one of managing a network environment, deploying an operating system image, applying a firmware update, and applying a system update;

identifying, by the management server, an amount of computing resources required to repurpose the target endpoint such that the target endpoint can participate in the execution of the management task;

determining, by the management server in dependence upon the amount of computing resources required to execute the management task and the amount of computing resources required to repurpose the target endpoint, whether to repurpose the target endpoint; and

responsive to determining to repurpose the target endpoint, by the management server, initiating execution of a portion of the management task on the target endpoint including rebooting, by the management server, the target endpoint from a computing environment not configured to execute management tasks into a computing environment configured to be controlled by the management server and configured to execute management tasks,

wherein remaining portions of the management task not executed by the target endpoint are executed by the management server.

16. The computer program product of claim 15 further comprising computer program instructions that, when executed, cause the computer to carry out the step of receiving a plurality of inputs associated with the management task; and

wherein identifying, by the management server, an amount of computing resources required to repurpose the target endpoint further includes determining an amount of network bandwidth required to reboot the target endpoint into a computing environment configured to be controlled by the management server and configured to execute management tasks.

17. The computer program product of claim 16 wherein receiving the plurality of inputs associated with the management task further comprises:

receiving an input identifying the target endpoint;

receiving an input describing one or more processing capabilities of a management server;

receiving an input describing the amount of computing resources required to execute the management task; and

receiving an input describing the amount of computing resources required to repurpose the target endpoint such that the target endpoint can participate in the execution of the management task.

18. The computer program product of claim 15 wherein determining whether to repurpose the target endpoint further comprises determining whether a ratio of a plurality of managed endpoints to a scale limit is less than a resource allocation ratio.

19. The computer program product of claim 18 wherein the resource allocation ratio comprises a ratio of an execution resource allocation to a repurposing resource allocation.

20. The computer program product of claim 15 wherein the amount of computing resources required to execute the management task includes an execution time requirement, an execution processor cycle requirement, an execution bandwidth requirement, or an execution disk capacity requirement.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 060649/0865 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2015
From: BOWER, FRED A., III; SLOMA, ANDREW J.
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 036481/0201 →