IP Library › Granted Patent US 11,941,442
Granted Patent B1
US 11,941,442 · App. 17/956,594 · Granted Mar 26, 2024

Operating system based on dual system paradigm

Inventors: Jonathan Lenchner (Yorktown Heights, NY); Lior Horesh (Yorktown Heights, NY); Francesca Rossi (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
G06F9/5011G06F8/36G06F9/50H04L63/10
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 11,941,442
App. No.
17/956,594
Granted
Mar 26, 2024
Kind
B1
Abstract

An example operation may include one or more of invoking, via an operating system, execution of a plurality of software programs having a first mode of operation that causes the plurality of software programs to operate in a first resource consuming mode, monitoring physical resources of a computing device that are consumed by the plurality of software programs, determining to reduce or allow expanded consumption of the physical resources of the computing device by the plurality of software programs based on the monitored physical resources, and in response to the determination, switching from a first mode of operation of a software program from among the plurality of software programs and to a second mode of operation of the software program that causes the software program to operate in a second resource consuming mode that consumes either less or more physical resources than the first resource consuming mode.

Claims (55)

1. A computer device comprising:

a memory storing an operating system of the computer device; and

a processor that, when executing the operating system, is configured to:

invoke, execution of a first version of a software program having a first mode of operation that consumes a first amount of physical resources of the computer device;

monitor an amount of the physical resources that are consumed by the first version of the software program;

determine whether to increase or decrease the amount of the physical resources that are consumed by the first version of the software program based on the monitored amount of the physical resources;

select the first version of the software program for switching based a dependency graph generated by the operating system that identifies dependent relationships between the first version of the software program and other software programs of the computer device; and

in response to the determination, switch from the first version of the software program to a second version of the software program having a second mode of operation that consumes either less or more physical resources than the first mode of operation.

2. The apparatus of claim 1 , wherein the processor is configured to:

track consumption of one or more of:

a central processing unit (CPU) of the computer device, a battery of the computer device, a network bandwidth of the computer device, or a storage capacity of the computer device.

3. The apparatus of claim 1 , wherein, when the processor monitors the physical resources and determines to increase or decrease the amount of the physical resources that are consumed, the processor is configured to:

continuously monitor and increase or decrease the amount of the physical resources consumed via one or more metacognitive agents of the operating system.

4. The apparatus of claim 1 , wherein, the processor is configured to:

select the first version of the software program for switching based on a comparison of resource requirements of the first version of the software program to resource requirements of other software programs of the computer device.

5. The apparatus of claim 1 , wherein the processor is configured to:

select the first version of the software program for switching based on one or more of:

rate constants of the first version of the software program or duty cycles of the first version of the software program that are identified by the operating system from a configuration file.

6. The apparatus of claim 1 , wherein the processor is configured to:

select the first version of the software program for switching based on historical actions of a user of the computer device that are learned by the operating system from prior shutdowns of the first version of the software program and other software programs of the computer device.

7. The apparatus of claim 1 , wherein, when the processor switches from the first version to the second version, the processor is further configured to:

shut down the first version of the software program and execute the second version of the mode software program based on a comparison of resource requirements of the first version of the software program to resource requirements of other software programs of the computer device.

8. A method comprising:

invoking, via an operating system of a computer device, execution of a first version of a software program having a first mode of operation that consumes a first amount of physical resources of the computer device;

monitoring, via the operating system, an amount of the physical resources that are consumed by the first version of the software program;

determining, via the operating system, whether to increase or decrease the amount of the physical resources that are consumed by the first version of the software program based on the monitored amount of the physical resources;

selecting, via the operating system, the first version of the software program for switching based a dependency graph generated by the operating system that identifies dependent relationships between the first version of the software program and other software programs of the computer device; and

in response to the determination, switching, via the operating system, from the first version of the software program to a second version of the software program having a second mode of operation that consumes either less or more physical resources than the first mode of operation.

9. The method of claim 8 , wherein the monitoring comprises:

tracking consumption of one or more of:

a central processing unit (CPU) of the computer device, a battery of the computer device, a network bandwidth of the computer device, or a storage capacity of the computer.

10. The method of claim 8 , wherein the monitoring the physical resources and the determining whether to increase or decrease the physical resources further comprises:

continuously monitoring and increasing or decreasing the amount of the physical resources consumed via one or more metacognitive agents of the operating system.

11. The method of claim 8 , further comprising:

selecting the first version of the software program for switching based on a comparison of resource requirements of the first version of the software program to resource requirements of other software programs of the computer device.

12. The method of claim 8 , further comprising:

selecting the first version of the software program for switching based on one or more of:

rate constants of the first version of the software program or duty cycles of the first version of the software program that are identified by the operating system from a configuration file.

13. The method of claim 8 , further comprising:

selecting the first version of the software program for switching based on historical actions of a user of the computer device that are learned by the operating system from prior shutdowns of the first version of the software program and other software programs of the computer device.

14. The method of claim 8 , wherein the switching comprises:

shutting down the first version of the software program and executing the second version of the mode software program based on a comparison of resource requirements of the first version of the software program to resource requirements of other software programs of the computer device.

15. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processor of a computer device, cause the processor to perform:

invoking, via an operating system of a computer device, execution of a first version of a software program having a first mode of operation that consumes a first amount of physical resources of the computer device;

monitoring, via the operating system, an amount of the physical resources that are consumed by the first version of the software program;

determining, via the operating system, whether to increase or decrease the amount of the physical resources that are consumed by the first version of the software program based on the monitored amount of the physical resources;

selecting, via the operating system, the first version of the software program for switching based a dependency graph generated by the operating system that identifies dependent relationships between the first version of the software program and other software programs of the computer device; and

in response to the determination, switching, via the operating system, from the first version of the software program to a second version of the software program having a second mode of operation that consumes either less or more physical resources than the first mode of operation.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the monitoring comprises:

tracking consumption of one or more of:

a central processing unit (CPU) of the computer device, a battery of the computer device, a network bandwidth of the computer device, or a storage capacity of the computer device.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the monitoring the physical resources and the determining whether to increase or decrease the physical resources further comprises:

continuously monitoring and increasing or decreasing the amount of the physical resources consumed via one or more metacognitive agents of the operating system.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the processor to perform:

selecting the first version of the software program for switching based on a comparison of resource requirements of the first version of the software program to resource requirements of other software programs of the computer device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2022
From: LENCHNER, JONATHAN; HORESH, LIOR; ROSSI, FRANCESCA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 061260/0769 →
Cited By (1)
US 12,489,613