Patent ID: 8850177

Claim:
A system for validating components during a booting process of a computing device, comprising: a power management engine, wherein the power management engine is configured to receive a power up signal; a first memory component, wherein the first memory component is configured to store software components that are related to a booting process, wherein one of the software components that are related to the booting process is at a lowest level of the software components and another of the software components that are related to the booting process is at a next level of the software components; a second memory component, wherein the second memory component is configured to store software components, one of which is an operating system; and a controller, wherein the controller is configured to: progressively determine whether the software components that are related to the booting process and the operating system are valid such that the controller is configurable to first determine whether the lowest level of the software components is valid in response to the detection of the power up signal and determine whether the next level of the software components is valid subsequent to determining whether the lowest level of the software components is valid and only if the lowest level of the software components is valid; if the software components and the operating system are valid, permit the computing device to move to an operational state; if any of the software components or the operating system is determined to be not valid, prevent the computing device from moving to the operational state; and if the computing device is prevented from moving to the operational state, take corrective action in an effort to permit the computing device to move to the operational state; wherein the controller is configurable to take corrective action by: reverting to an alternative software component in place of the software component or the operating system that was determined to be not valid; or signaling an administrator that the software component or the operating system was determined to not be valid.