Systems and methods for resuming pre-boot and service operating system (SOS) applications
Systems and methods for resuming pre-boot and service Operating System (OS) applications are described. In some embodiments, an Information Handling System (IHS) may include an Embedded Controller (EC), and a memory coupled to, or integrated into, the EC, where the memory comprises program instructions that, upon execution by the EC, cause the EC to record a state of a pre-boot or Service Operating System (SOS) application and, in response to a reboot of the IHS, resume the pre-boot or SOS application in the recorded state.
1 . An Information Handling System (IHS), comprising:
an Embedded Controller (EC); and
a memory coupled to, or integrated into, the EC, wherein the memory comprises program instructions that, upon execution by the EC in an EC memory space distinct from any IHS host processor memory space, cause the EC to:
record, in a Non-Volatile Memory (NVM) or transmit to a remote service, a state of a pre-boot or Service Operating System (SOS) application configured to be executed by an IHS host processor in an IHS host processor memory space, wherein the state comprises an application identifier and an identified User Interface (UI) page of configuration options rendered in a UI of the pre-boot or SOS application before a reboot of the IHS; and
in response to reboot of the IHS, transmit, to a Basic Input/Output System (BIOS) configured to be executed by the IHS host processor in the IHS host processor memory space, a digitally-signed command blob that identifies the pre-boot or SOS application and the identified UI page, wherein the BIOS is configured to verify a signature of the digitally-signed command blob and, upon verification, cause the IHS to resume execution of the pre-boot or SOS application by the IHS host processor in the IHS host processor memory space in the recorded state and render the identified UI page, and wherein the recorded state is retrieved from the NVM or the remote service.
2 . The IHS of claim 1 , wherein the pre-boot or SOS application comprises at least one of: a data storage application, a data recovery application, a BIOS recovery application, a firmware update application, a flash memory application, or a diagnostic application.
3 . The IHS of claim 1 , wherein the reboot takes place in an absence of any accident.
4 . The IHS of claim 1 , wherein the reboot takes place in response to an accident.
5 . The IHS of claim 4 , wherein the accident comprises at least one of: a drop, a fall, a throw, a hit, a crash, an impact, or a collision involving the IHS or a component thereof.
6 . The IHS of claim 1 , wherein the EC is further configured to record the state in the NVM or transmit the state to the remote service periodically, or upon a state change.
7 . The IHS of claim 1 , wherein the EC is further configured to be powered by an always-on power rail.
8 . The IHS of claim 7 , wherein the EC is further configured to power a sideband network stack and transmit the state to the remote service while every IHS host processor remains in a host processor low-power state.
9 . The IHS of claim 8 , wherein the EC is further configured to periodically report the state to the remote service while every IHS host processor remains in the host processor low-power state.
10 . The IHS of claim 9 , wherein the state further comprises an identification of a plurality of pages of configuration options to be rendered in the UI in response to the reboot of the IHS.
11 . The IHS of claim 1 , wherein the EC is further configured to execute an Artificial Intelligence/Machine Learning (AI/ML) model via an always-on low-power AI device to classify an accident as at least one of a freefall, side collision, or forceful impact and to compute a device-specific damage risk while every IHS host processor remains in a host processor low-power state.
12 . The IHS of claim 8 , wherein the EC is further configured to retrieve at least a portion of the state from the remote service via the sideband network stack while every IHS host processor remains in a host processor low-power state.
13 . An Information Handling System (IHS), comprising:
an IHS host processor; and
a memory coupled to the IHS host processor, the memory having program instructions stored thereon that, upon execution by the IHS host processor, cause the IHS to execute a Service OS (SOS) application configured to:
transmit context information to an Embedded Controller (EC); and
periodically record a state of the SOS application in a Non-Volatile Memory (NVM) and report an indication of the recorded state to a remote service, wherein in response to a reboot of the IHS, the EC is configured to cause the IHS host processor to resume execution of the SOS application in an IHS host processor memory space based, at least in part, upon the context information and the recorded state retrieved from at least one of: the NVM, or the remote service,
wherein the EC is configured with program instructions structured that, upon execution by the EC in an EC memory space distinct from any IHS host processor memory space, cause the EC to perform EC operations that comprise:
periodically report the state of the SOS application to the remote service while every IHS host processor is in an IHS host processor low-power state, wherein the state of the SOS application comprises an application identifier and an identified User Interface (UI) page of configuration options rendered in a UI of the SOS application before a reboot of the IHS; and
in response to reboot of the IHS, transmit, to a Basic Input/Output System (BIOS) configured to be executed by the IHS host processor in the IHS host processor memory space, a digitally-signed command blob that identifies the SOS application and the identified UI page, wherein the BIOS is configured to verify a signature of the digitally-signed command blob and, upon verification, cause the IHS to resume execution of the SOS application by the IHS host processor in the IHS host processor memory space in the recorded state and render the identified UI page, and wherein the recorded state is retrieved from the NVM or the remote service.
14 . The IHS of claim 13 , wherein the SOS application comprises at least one of: a data storage application, a data recovery application, a BIOS recovery application, a firmware update application, a flash memory application, or a diagnostic application.
15 . The IHS of claim 13 , wherein the reboot takes place following at least one of: a drop, a fall, a throw, a hit, a crash, an impact, or a collision involving the IHS or a component thereof.
16 . The IHS of claim 15 , wherein the context information comprises at least one of: an application identifier, a current state of execution of the application, or an identification of at least one of a plurality of pages, windows, or menus of configuration options rendered in a User Interface (UI) before the reboot.
17 . A method, comprising:
executing, by an Information Handling System (IHS) host processor in an IHS host processor memory space, a pre-boot application, periodically recording a state of the executing pre-boot application in a Non-Volatile Memory (NVM), and periodically reporting a previous state of the pre-boot application to a remote service while every IHS host processor is in an IHS host processor low-power state via an always-on Embedded Controller (EC) executing EC program instructions in an EC memory space distinct from the IHS host processor memory space, wherein the recorded state comprises an indication of a plurality of pages, windows, or menus of configuration options rendered in a User Interface (UI); and
in response to a reboot of the IHS after a halting, interruption, or closing of the pre-boot application, resuming the pre-boot application based at least in part on the EC transmitting to the IHS host processor a digitally signed command blob that identifies the recorded state retrieved from the remote service, wherein the IHS host processor verifies a signature of the digitally signed command blob and upon verification resumes execution of the pre-boot application in the recorded state and renders the indicated pages, windows, or menus.
18 . The method of claim 17 , wherein the pre-boot application comprises at least one of: a data storage application, a data recovery application, a Basic Input/Output System (BIOS) recovery application, a firmware update application, a flash memory application, or a diagnostic application.
19 . The method of claim 17 , wherein the halting, interruption, or closing of the pre-boot application follows at least one of: a drop, a fall, a throw, a hit, a crash, an impact, or a collision involving the IHS or a component thereof.
20 . The method of claim 17 , wherein resuming the pre-boot application comprises returning the pre-boot application to a selected one of the plurality of pages, windows, or menus of configuration options rendered in the UI before the reboot.