-
HINTERGRUND
-
Mobilgeräte, wie z. B. Notebook-Computer, können batteriebetrieben sein. Software, wie z. B. ein Betriebssystem (OS), das auf dem Mobilgerät ausgeführt wird, kann eine tatsächlich verbleibende Batteriekapazität der Batterie messen. Fällt die tatsächlich verbleibende Batteriekapazität unter einen Schwellenwert für den Batterieladezustand, kann das OS in einen inaktiven Zustand, wie z. B. einen Ruhezustand, eintreten. Vor dem Eintritt in den Ruhezustand kann das OS Verfahren zur Erhaltung von Daten durchführen, wie z. B. die Speicherung von Daten eines flüchtigen Speichers auf einen nicht-flüchtigen Speicher des Mobilgeräts.
-
Der Schwellenwert für den Batterieladezustand wird vom OS festgelegt, so dass die tatsächlich verbleibende Batteriekapazität der Batterie ausreichend ist, um das Mobilgerät während des Übergangs in den Ruhezustand mit Strom zu versorgen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die folgende detaillierte Beschreibung bezieht sich auf die Zeichnungen, wobei:
-
1 ein beispielhaftes Blockdiagramm einer Recheneinrichtung ist, die mindestens eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts an ein erstes Betriebssystem meldet;
-
2 ein beispielhaftes Blockdiagramm eines Systems ist, das mindestens eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts an ein erstes Betriebssystem und mindestens eines einer zweiten modifizierten verbleibenden Batteriekapazität und eines zweiten aktualisierten Schwellenwerts an ein zweites Betriebssystem meldet, ist;
-
3 ist ein beispielhaftes Blockdiagramm einer Recheneinrichtung mit Anweisungen zur Meldung mindestens eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts an ein erstes Betriebssystem;
-
4 ist ein beispielhaftes Flussdiagramm eines Verfahrens zur Meldung mindestens eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts an ein erstes Betriebssystem; und
-
5A und 5B sind beispielhafte Flussdiagramme eines Verfahrens zur Meldung mindestens eines einer ersten und einer zweiten modifizierten verbleibenden Batteriekapazität und eines ersten und eines zweiten aktualisierten Schwellenwerts an ein erstes und ein zweites Betriebssystem.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende Beschreibung enthält spezifische Einzelheiten, die ein genaues Verständnis der Ausführungsformen ermöglichen sollen. Fachleute werden jedoch verstehen, dass Ausführungsformen ohne diese spezifischen Einzelheiten praktizierbar sind. Systeme können beispielsweise in Blockdiagrammen dargestellt werden, um Ausführungsformen nicht mit unnötigen Details zu verschleiern. In anderen Fällen können gut bekannte Verfahren, Strukturen und Techniken ohne unnötige Details gezeigt werden, um die Verschleierung von Ausführungsformen zu vermeiden.
-
Geräte, wie z. B. Notebook-Computer oder Tablet-Computer, können batteriebetrieben sein. Auf diesen Geräten werden häufig Softwares ausgeführt, wie z. B. ein Betriebssystem (OS), die über ein Advanced Configuration and Power Interface (ACPI) eine tatsächlich verbleibende Batteriekapazität der Batterie überwachen. Die ACPI kann eine Schnittstelle zwischen dem OS und der Hardware und/oder Firmware bereitstellen, wie z. B. das Basic Input/Output System (BIOS), um es dem OS zu ermöglichen, einen Betriebszustand des Geräts zu steuern. Das OS kann beispielsweise die tatsächlich verbleibende Batteriekapazität, die über das BIOS und/oder die ACPI empfangen wird, mit einem Schwellenwert für den Batterieladezustand vergleichen, um zu ermitteln, ob die tatsächlich verbleibende Batteriekapazität der Batterie niedrig ist. Fällt die tatsächlich verbleibende Batteriekapazität unter den Schwellenwert für den Batterieladezustand, kann das OS in einen inaktiven Zustand eintreten, wie z. B. einen Ruhezustand. Der Ruhezustand kann sich auf einen inaktiven Zustand beziehen, in dem Inhalte eines flüchtigen Speicher, wie wie z. B. eines RAM, auf einen nicht-flüchtigen Speicher, wie z. B. ein Festplattenlaufwerk, geschrieben werden, bevor eines oder mehrere Komponenten des Geräts, wie z. B. das RAM, abgeschaltet werden. Wacht das OS aus dem Ruhezustand auf, werden die Inhalte des flüchtigen Speichers erneut geladen, wie z. B. auf das RAM, und der Zustand des Geräts wird wieder so hergestellt, wie er vor Eintritt in den Ruhezustand war.
-
Ein Hersteller kann den Schwellenwert für den Batterieladezustand festlegen und dann den Schwellenwert für den Batterieladezustand auf eine ganze aus einem oder mehreren Geräten bestehende Plattform anwenden. Wird der Schwellenwert für den Batterieladezustand zu niedrig festgelegt, kann es sein, dass die Batterie nicht über ausreichend Energie verfügt, um einen Übergang des OS in den Ruhezustand mit Strom zu versorgen. Der Schwellenwert für den Batterieladezustand wird daher häufig konservativ auf ein relativ hohes Niveau festgelegt, so dass sichergestellt ist, dass die Batterie ausreichend Energie speichert, um einen Übergang des OS in den Ruhezustand mit Strom zu versorgen. Folglich kann die Batterie aber noch über ausreichend viel Energie verfügen, um das OS länger mit Strom zu versorgen, bevor es in den Ruhezustand eintritt. Das OS kann also verfrüht in den Ruhezustand eintreten, wodurch eine Zeit, während der das Gerät sich in dem aktiven Zustand befindet und vom Benutzer genutzt werden kann, verringert wird.
-
Dementsprechend variieren diverse Ausführungsformen dynamisch mindestens eines einer tatsächlich verbleibenden Batteriekapazität der Batterie, die dem OS gemeldet wird, und eines Schwellenwerts für den Batterieladezustand des OS auf Grundlage eines geschätzten Stroms, der von dem Gerät gezogen wird, um die Zeit, bevor das Gerät in den Ruhezustand eintreten wird, zu maximieren bzw. zu verlängern. Ausführungsformen können beispielsweise Parameter, wie z. B. eine zu speichernde Speichermenge, ein Alter und Zustand des Geräts, eine Geschwindigkeit und Temperatur von Komponenten des Geräts, die Komplexität der Software, die auf dem Gerät ausgeführt wird, die Batteriekapazität und dergleichen, überwachen. Diese Parameter können dazu herangezogen werden, um einen Wert der tatsächlich verbleibenden Batteriekapazität, der an das OS gemeldet wird, und/oder den Schwellenwert für den Batterieladezustand des OS zu erhöhen oder zu verringern, um eine Zeit, bevor das OS in den Ruhezustand eintreten wird, zu verzögern und einen aktiven Zustand des OS zu maximieren bzw. zu verlängern.
-
Bezugnehmend auf die Zeichnungen ist 1 ein beispielhaftes Blockdiagramm einer Recheneinrichtung 100. In einer Ausführungsform kann die Recheneinrichtung 100 eine modifizierte verbleibende Batteriekapazität an das erste OS 145 melden. In einer anderen Ausführungsform kann die Recheneinrichtung einen ersten aktualisierten Schwellenwert an ein erstes OS 145 melden. In einer anderen Ausführungsform kann die Recheneinrichtung 100 entweder die modifizierte verbleibende Batteriekapazität oder einen ersten aktualisierten Schwellenwert oder beides an ein erstes OS 145 melden. Ausführungsformern der Recheneinrichtung 100 können beispielsweise einen Notebook-Computer, einen Desktop-Computer, ein All-in-One-System, ein Slate-Rechengerät, ein tragbares Lesegerät, ein drahtloses E-Mail-Gerät, ein Mobiltelefon und dergleichen umfassen. In der Ausführungsform von 1A umfasst die Recheneinrichtung 100 einen Prozessor 110, einen ersten Speicher 120, eine Batterie 130 und einen zweiten Speicher 140. Der zweite Speicher 140 umfasst ferner ein Schnittstellenmodul 141, ein Überwachungsmodul 142, ein Schwellenwertmodul 143 und das erste OS 145.
-
Die Batterie 130 kann ein beliebiges Gerät zur Speicherung von Strom umfassen, wie z. B. eine wiederaufladbare Batterie. Bei der Batterie kann es sich beispielsweise um eine Trockenbatterie mit Zellen, die Nickel-Cadmium (NiCd), Nickel-Zink (NiZn), Nickel-Metall-Hydrid (NiMH), Lithium-Ionen (Li-ion) und dergleichen umfassen, handeln. Die Recheneinrichtung 100 kann von der Batterie 130 mit Strom versorgt werden, z. B. wenn keine Steckdose (nicht gezeigt) zur Verfügung steht. Die Batterie 130 kann auch über die Steckdose neu aufgeladen werden.
-
Die tatsächlich verbleibende Batteriekapazität der Batterie 130 kann von einem Chip (nicht gezeigt) der Batterie 130, der eine(n) verbleibende(n) Strom oder Energie der Batterie 130, beispielsweise über Coulomb-Zählung oder Spannungsdetektionsverfahren, schätzt, gemeldet werden. Die tatsächlich verbleibende Batteriekapazität kann ferner als Prozentsatz der Gesamtstromkapazität der Batterie, als Milliwattstundenanzahl und dergleichen ausgedrückt werden.
-
Die ersten und zweiten Speicher 120 und 140 können ein oder mehrere maschinenlesbare Speichermedien sein, wie z. B. ein beliebiges elektronisches, magnetisches, optisches oder anderes physisches Speichergerät, das ausführbare Anweisungen enthält oder speichert. Der erste Speicher 120 kann ferner eine flüchtige Speicherart sein, wie z. B. ein Random Access Memory (RAM), einschließlich Dynamic Random Access Memory (DRAM) und Static Random Access Memory (SRAM). Der zweite Speicher 140 kann eine nicht-flüchtige Speicherart sein, wie z. B. ein Nur-Lese-Speicher, Flash Speicher, magnetische Computerspeichergeräte wie Festplatten, Disketten, Magnetbänder, optische Speicherplatten usw.
-
Der Prozessor 110 kann ein CPU, ein GPU oder ein Mikroprozessor sein, der für den Abruf und die Ausführung von Anweisungen vom zweiten Speicher 140 geeignet ist, und/oder elektronische Schaltkreise, die so konfiguriert sind, dass sie die Funktionalität eines beliebigen der nachfolgend beschriebenen Module 141 bis 143 ausführen. Wenn beispielsweise eine oder mehrere Komponenten der Recheneinrichtung 100 abgeschaltet sind, wie z. B. während des Ruhezustands, können beliebige Informationen, die im ersten Speicher 120 gespeichert sind, verloren gehen. Der Prozessor 110 kann daher Informationen des ersten Speichers 120 an einem Ort des zweiten Speichers 140 speichern, bevor das erste OS 145 in den Ruhezustand eintritt. Der Begriff OS kann sich auf ein oder mehrere Programme beziehen, die Hardware-Ressourcen verwalten, wie z. B. jene des ersten und zweiten Speichers 120 und 140, und/oder unterstützende Softwareanwendungen.
-
Die Module 141 bis 143 können beispielsweise jeweils Hardwaregeräte umfassen, einschließlich elektronischer Schaltkreise zur Implementierung der nachfolgend beschriebenen Funktionalität. Außerdem oder als eine Alternative dazu kann jedes Modul als eine Serie von Anweisungen implementiert werden, die auf einem maschinenlesbaren Speichermedium codiert sind und von dem Prozessor 110 ausgeführt werden können. Einige der Module 141 bis 143 können in Ausführungsformen als Hardwaregeräte implementiert werden, während andere Module als ausführbare Anweisungen implementiert werden.
-
Die Module 141 bis 143 können als Teil einer Anwendung, die von einem OS ausgeführt wird, wie z. B. dem ersten OS 145, implementiert werden oder als Teil der ACPI. Das Schnittstellenmodul 141 empfängt vom ersten OS 145, das auf der Recheneinrichtung 100, die von der Batterie 130 mit Strom versorgt wird, ausgeführt wird, einen ersten Schwellenwert für den Batterieladezustand. Das Überwachungsmodul 142 überwacht eine tatsächlich verbleibende Batteriekapazität der Batterie 130 und einen Parameter in Zusammenhang mit dem Strom, der von der Recheneinrichtung 100 für das erste OS 145 zum Eintritt in den Ruhezustand gezogen wird.
-
Der Parameter, der vom Überwachungsmodul 142 überwacht wird, kann sich auf eine Größe und Art der zu speichernden Informationen, eine Geschwindigkeit und Zuverlässigkeit von mindestens eines eines ersten und zweiten Speichers 120 und 140, eine Geschwindigkeit und Temperatur des Prozessors 110, eine Kapazität und ein Alter der Batterie 130 und/oder dergleichen beziehen. Der Parameter kann also mit dem Betrieb der Recheneinrichtung 100 variieren. Ein Wert des Parameters kann beispielsweise abhängig von der Informationsmenge, die auf dem ersten Speicher 120, wie z. B. einem RAM, gespeichert ist, und/oder einer Temperatur des Prozessors 110 zu einem bestimmten Zeitpunkt, während dem sich die Recheneinrichtung 100 in einem eingeschalteten Zustand befindet, variieren. Die Recheneinrichtung 100 kann einen Sensor (nicht gezeigt) zur Überwachung der Temperatur des Prozessors 110 umfassen. Der Parameter wird nachfolgend ausführlicher mit Bezug auf die 4 bis 5B erklärt.
-
Das Schwellenwertmodul 143 verlängert eine Zeit, bevor das erste OS 145 in einen Niedrigenergiezustand, beispielsweise den Ruhezustand, eintreten wird, indem es mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts festlegt. Die erste modifizierte verbleibende Batteriekapazität wird auf Grundlage des empfangenen ersten Schwellenwerts für den Batterieladezustand, die überwachte tatsächlich verbleibende Batteriekapazität und den Parameter festgelegt. Der erste aktualisierte Schwellenwert wird auf Grundlage des Parameters festgelegt. Das Schnittstellenmodul 141 meldet ferner mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts an das erste OS 145.
-
Das erste OS 145 tritt in den Ruhezustand ein, wenn die erste modifizierte verbleibende Batteriekapazität geringer ist als der erste Schwellenwert für den Batterieladezustand, und das erste OS 145 variiert den ersten Schwellenwert für den Batterieladezustand auf Grundlage des ersten aktualisierten Schwellenwerts. Liegt beispielsweise der erste aktualisierte Schwellenwert unter dem ersten Schwellenwert für den Batterieladezustand, kann der erste Schwellenwert für den Batterieladezustand nach unten reguliert werden, wodurch eine Zeit, bis das erste OS 145 in den Ruhezustand eintreten wird, verzögert wird. Weiterhin kann, wenn die erste modifizierte verbleibende Batteriekapazität größer als die tatsächlich verbleibende Batteriekapazität ist, das erste OS 145 länger warten, bevor es in den Ruhezustand eintritt, als wenn das erste OS 145 den ersten Schwellenwert des Batterieladezustands mit der tatsächlich verbleibenden Batteriekapazität der Batterie 130 verglichen hätte.
-
Das Schnittstellenmodul 131 kann die tatsächlich verbleibende Batteriekapazität der Batterie 130 an das erste OS 145 melden, wenn das Schnittstellenmodul 141 den ersten modifizierten Wert nicht an das erste OS 145 meldet. Das erste OS 145 kann jeweils die gemeldete erste modifizierte verbleibende Batteriekapazität und die tatsächlich verbleibende Batteriekapazität als den tatsächlich verbleibenden Strom der Batterie 130 interpretieren. Das erste OS 145 kann also in den Ruhezustand eintreten, wenn die tatsächlich verbleibende Batteriekapazität der Batterie 130 oder die erste modifizierte verbleibende Batteriekapazität als unter dem ersten Schwellenwert für den Batterieladezustand liegend gemeldet wird.
-
Der erste Schwellenwert des Batterieladezustands kann beispielsweise 4% der Batteriekapazität betragen, und die erste modifizierte verbleibende Batteriekapazität kann vom Schwellenwertmodul 143 beispielsweise auf 2% mehr als die tatsächlich verbleibende Batteriekapazität der Batterie 130 festgelegt werden. Wenn die erste modifizierte verbleibende Batteriekapazität an das erste OS 145 gemeldet wird, darf das erste OS 145 nicht in den Ruhezustand eintreten, bis die erste modifizierte verbleibende Batteriekapazität 4% beträgt. Wenn daher die tatsächlich verbleibende Batteriekapazität 3% beträgt und die erste modifizierte verbleibende Batteriekapazität 5% beträgt, darf die Recheneinrichtung 100 nicht in den Niedrigenergiezustand eintreten. Die Meldung der ersten modifizierten verbleibenden Batteriekapazität anstatt der tatsächlich verbleibenden Batteriekapazität der Batterie 130 kann daher eine Zeit verlängern, während der das erste OS 145 von einem Benutzer genutzt werden kann, und eine Zeit verzögern, bis das erste OS 145 in den Ruhezustand eintreten wird.
-
In einer alternativen Ausführungsform kann der erste aktualisierte Schwellenwert dazu verwendet werden, den ersten Schwellenwert für den Batterieladezustand auf einen anderen Wert festzulegen. Wenn der gemeldete erste aktualisierte Schwellenwert beispielsweise 2% beträgt, kann das erste OS 145 den ersten Schwellenwert für den Batterieladezustand von 4% auf 2% ändern, wodurch es dem ersten OS 145 ermöglicht wird, den Eintritt in den Ruhezustand zu verzögern, bis die tatsächlich verbleibende Batteriekapazität der Batterie 130 oder die erste modifizierte verbleibende Batteriekapazität als niedriger als 2% gemeldet wird.
-
Die Module 141 bis 143 können die tatsächlich verbleibende Batteriekapazität und die Parameter konstant überwachen, um mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts dynamisch zu variieren. Eine Betriebsweise der Module 141 bis 143 wird in größerer Ausführlichkeit in Bezug auf 3 erläutert.
-
Weiterhin kann das erste OS 145 auch bei Empfang eines Schlafbefehls vom Benutzer oder vom ersten OS 145, wenn das erste OS 145 für einen Schwellenzeitraum ungenutzt ist, in einen Schlafzustand eintreten. Der Schlafzustand kann dem Ruhezustand ähnlich sein, außer dass ein flüchtiger Speicher, wie z. B. der erste Speicher 120, weiterhin mit Strom versorgt werden kann. Sollte die tatsächlich verbleibende Batteriekapazität der Batterie 130 während des Schlafzustands absinken, muss das erste OS 145 möglicherweise temporäre Daten, wie z. B. Inhalte des ersten Speichers 120, die verloren gehen würden, wenn die Recheneinrichtung 100 in einen Aus-Zustand heruntergefahren würde, speichern. Das erste OS 145 kann jedoch nicht über eine Fähigkeit verfügen, temporäre Daten während des Schlafzustands zu speichern oder nicht eine Fähigkeit haben, direkt in den Ruhezustand überzugehen, um die temporären Daten zu speichern. Stattdessen kann das OS 145 vom Schlafzustand in einen aktiven Zustand übergehen, bevor es in den Ruhezustand eintritt.
-
Das OS 145 kann daher nicht in den Schlafzustand eintreten, sofern die tatsächlich verbleibende Batteriekapazität der Batterie 130 nicht für das Aufwachen aus dem Schlafzustand und den Übergang in den Ruhezustand ausreichend ist. In diesem Fall kann das erste OS 145 daher in einen Schlafzustand eintreten, wenn das Schnittstellenmodul 141 einen Schlafbefehl erhält und die erste modifizierte verbleibende Batteriekapazität größer als oder gleich dem ersten Schwellenwert für den Batterieladezustand ist. Das Schwellenwertmodul 143 kann die erste modifizierte verbleibende Batteriekapazität so festlegen, dass eine Reserve der Batterie 130 dafür ausreichend ist, um das erste OS 145 beim Eintritt in und dem Auswachen aus dem Schlafzustand vor Eintritt in den Ruhezustand mit Strom zu versorgen.
-
Während 1 die Module 141 bis 143 und das erste OS 145 als an einem einzigen Speicherort gespeichert darstellt, wie z. B. dem zweiten Speicher 140, sind Ausführungsformen nicht hierauf beschränkt. Die Module 141 bis 143 können beispielsweise auf einem vom zweiten Speicher 140 separaten Speicher oder auf einer separaten Partition, entweder physisch oder logisch, des zweiten Speichers 140 gespeichert sein.
-
2 ist ein beispielhaftes Blockdiagramm eines Systems 200 zur Meldung mindestens eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts an ein erstes Betriebssystem 145 und mindestens eines einer zweiten modifizierten verbleibenden Batteriekapazität und eines zweiten aktualisierten Schwellenwerts an ein zweites Betriebssystem 230. Das System 200 von 2 kann Komponenten umfassen, die jenen der Recheneinrichtung 100 von 1A ähnlich sind. Das System 200 verfügt beispielsweise über Hardware 210, einschließlich des Prozessors 110, des ersten Speichers 120, der Batterie 130 und des zweiten Speichers 140. Das System 200 umfasst weiterhin das Schnittstellenmodul 141, das Überwachungsmodul 142, das Schwellenwertmodul 143 und das erste OS 145. Das System 200 umfasst aber auch ein zweites OS 230 und einen Hypervisor 220, der die Module 141 bis 143 umfasst. Während der Hypervisor 220 und das erste und zweite OS 145 und 230 als separat von der Hardware 210 dargestellt werden, können Ausführungsformen auch den Hypervisor 220 und das erste und zweite OS 145 und 230, die intern mit der Hardware 210, wie z. B. dem zweiten Speicher 140, verbunden sind, umfassen.
-
Das erste und zweite OS 145 und 230 können beide die gleiche Art von OS oder jeweils unterschiedliche Arten von OS sein, wie z. B. ein beliebiges eines Windows OS, eines Linux OS, eines Unix OS und dergleichen. Des Weiteren können das erste und zweite OS 145 und 230 jeweils einem oder mehreren unterschiedlichen Benutzer(n) zugewiesen sein. Die Hardware 210 kann beispielsweise ein Server sein, in dem das erste OS 145 einem ersten Benutzer zugewiesen ist und das zweite OS 230 einem zweiten Benutzer zugewiesen ist.
-
In dieser Ausführungsform können die Module 141 bis 143 Teil einer Art von Software sein, die es der Hardware 210 ermöglicht, mehrere OS auszuführen, wobei das erste OS 145 und das zweite OS 230 virtuelle Maschinen sein können, die vom Hypervisor 220 verwaltet werden. Der Hypervisor 220 kann eine Schnittstelle zwischen der Hardware 210, wie z. B. dem ersten Speicher 120 und der Batterie 130, und den virtuellen Maschinen, wie z. B. dem ersten OS 145 und/oder dem zweiten OS 230, sein. Der Hypervisor 220 kann über eine beliebige Art von Hardware-Virtualisierungstechnik verfügen, die es mehreren OS ermöglicht, gleichzeitig als Gäste auf einem Host-Gerät, wie z. B. der Hardware 210, ausgeführt zu werden, oder der Hypervisor kann selbst ein OS sein. Eine Funktionalität des Hypervisors 230 kann flexibel sein und auf Grundlage der Vorgabe eines Benutzers oder Herstellers bestimmt werden. Der Hypervisor 220 kann beispielsweise das erste OS 145 und/oder das zweite OS 230, beispielsweise über einen Prozess des Hypervisors 220, starten und überwachen.
-
Ähnlich wie in 1 kann der Hypervisor 220 mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts an das erste OS 145 melden. Außerdem kann der Hypervisor 220 mindestens eines der zweiten modifizierten verbleibenden Batteriekapazität und des zweiten aktualisierten Schwellenwerts an das zweite OS 230 melden. Das zweite OS 230 tritt in den Ruhezustand ein, wenn die zweite modifizierte verbleibende Batteriekapazität niedriger ist als ein zweiter Schwellenwert für den Batterieladezustand des zweiten OS. Das zweite OS variiert den zweiten Schwellenwert für den Batterieladezustand ferner auf Grundlage des zweiten aktualisierten Schwellenwerts.
-
Gibt es mehrere OS, wie z. B. das erste OS 145 und das zweite OS 230, die gleichzeitig auf der Hardware 210 ausgeführt werden, können möglicherweise nicht alle Komponenten der Hardware 210 in den Ruhezustand eintreten, wenn eines des ersten OS 145 und des zweiten OS 230 nicht in den Ruhezustand eintreten. Stattdessen kann beispielsweise der Hypervisor 220 festlegen, auf welche Komponenten der Hardware 210, wenn überhaupt, zugegriffen wird und/oder welche abgeschaltet werden als Folge dessen, dass mindestens eines des erstn OS 145 und des zweiten OS 230 in den Ruhezustand eintritt. Der Hypervisor 220 kann beispielsweise erlauben, dass Inhalte des ersten Speichers 120 im Zusammenhang mit dem ersten OS 145 auf den zweiten Speicher 140 gespeichert werden, wenn das erste OS 145 in den Ruhezustand eintritt. Der Hypervisor 220 kann allerdings Inhalte des ersten Speichers 120 im Zusammenhang mit dem zweiten OS 230 zurückhalten, wenn das zweite OS 230 nicht in den Ruhezustand eintritt.
-
Eines des ersten OS 145 und des zweiten OS 230 hat möglicherweise keine Kenntnis, dass die Batterie 130 mit einem anderen des ersten OS 145 und des zweiten OS 230 geteilt wird. Der Hypervisor 220 kann die erste und die zweite modifizierte verbleibende Batteriekapazität festlegen, um die tatsächlich verbleibende Batteriekapazität der Batterie 130 zwischen dem ersten OS 145 und dem zweiten OS 230 zuzuweisen. Der Hypervisor 220 kann beispielsweise die tatsächlich verbleibende Batteriekapazität der Batterie 130 über das Schwellenwertmodul 143 zwischen der ersten und der zweiten modifizierten verbleibenden Batteriekapazität gleichmäßig aufteilen. Alternativ dazu kann der Hypervisor 220 Parameter, wie z. B. eine Aktivitätsrate oder den Stromverbrauch von mindestens eines des ersten und zweiten OS 145 und 230 überwachen, um die Festlegung der ersten und zweiten modifizierten verbleibenden Batteriekapazitäten und/oder des ersten und zweiten aktualisierten Schwellenwerts zu unterstützen. Ein Betrieb der Module 141 bis 143 in Hinsicht auf mehrere OS, wie z. B. das erste und das zweite OS 145 und 230, wird ausführlicher im Zusammenhang mit 5A und 5B erläutert. Ferner können Ausführungsformen der Hardware 210 mehr oder weniger virtuelle Maschinen umfassen als in der Umsetzung beschrieben ist.
-
3 ist ein beispielhaftes Blockdiagramm einer Recheneinrichtung 300 mit Anweisungen zur Meldung mindestens eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts an ein erstes OS. In der Ausführungsform von 3 umfasst die Recheneinrichtung 300 einen Prozessor 302, eine Batterie 306 und ein maschinenlesbares Speichermedium 310, einschließlich Anweisungen 312, 314, 316 und 318 zur Meldung mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts an das erste OS (nicht gezeigt).
-
Die Recheneinrichtung 300 kann beispielsweise ein Chipset, ein Notebook-Computer, eine Slate-Recheneinrichtung, ein tragbares Lesegerät, ein drahtloses E-Mail-Gerät, ein Mobiltelefon oder ein beliebiges anderes Gerät sein, das dazu in der Lage ist, die Anweisungen 312, 314, 316 und 318 auszuführen. Bei bestimmten Beispielen kann die Recheneinrichtung 300 zusätzliche Komponenten, wie Speicher, Sensoren, Displays usw. umfassen oder mit diesen verbunden sein. Die Recheneinrichtung 300 kann beispielsweise über einen ersten Speicher (nicht gezeigt) und einen zweiten Speicher (nicht gezeigt) zur Speicherung eines oder mehrerer OS verfügen.
-
Der Prozessor 302 kann mindestens eine zentrale Verarbeitungseinheit (CPU), mindestens einen Mikroprozessor auf Halbleiterbasis, mindestens eine Grafikverarbeitungseinheit (GPU), andere Hardwaregeräte, die für das Abrufen und die Ausführung von Anweisungen, die in dem maschinenlesbaren Speichermedium 310 gespeichert sind, geeignet sind, oder eine Kombination davon sein. Der Prozessor 302 kann Anweisungen 312, 314, 316 und 318 zur Implementierung der Einstellung und Meldung mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts an das erste OS 145 abrufen, decodieren und ausführen. Alternativ oder zusätzlich zum Abrufen und Ausführen von Anweisungen kann der Prozessor 302 über mindestens einen integrierten Schaltkreis (IC), eine andere Steuerlogik, andere elektronische Schaltungen oder Kombination davon, die eine Anzahl elektronischer Komponenten zur Durchführung der Funktionalität von Anweisungen 312, 314, 316 und 318 umfassen, verfügen.
-
Das maschinenlesbare Speichermedium 310 kann ein beliebiges elektronisches, magnetisches, optisches oder anderes physisches Speichergerät sein, das ausführbare Anweisungen enthält oder speichert. Bei dem maschinenlesbaren Speichermedium 310 kann es sich daher beispielsweise um einen Random Access Memory (RAM), ein Electrically Erasable Programmable Read-Only Memory (EEPROM), ein Speicherlaufwerk, ein Compact Disc Read Only Memory (CD-ROM) und dergleichen handeln. Als solches kann das maschinenlesbare Medium 310 nicht-flüchtig sein. Wie nachfolgend detailliert beschrieben, kann das maschinenlesbare Medium 310 mit einer Reihe ausführbarer Anweisungen zur Einrichtung und Meldung zumindest eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts an das erste OS codiert sein.
-
Des Weiteren können die Anweisungen 312, 314, 316 und 318, wenn sie von einem Prozessor ausgeführt werden (z. B. über ein Verarbeitungselement oder mehrere Verarbeitungselemente des Prozessors), den Prozessor veranlassen, Prozesse durchzuführen, wie z. B. den in 4 oder 5A und 5B gezeigten Prozess. Die Bestimmungsanweisungen 312 können z. B. vom Prozessor 302 zur Bestimmung eines ersten Schwellenwerts für den Batterieladezustand vom ersten OS, das auf der Recheneinrichtung 300, die von der Batterie 306 mit Strom versorgt wird, ausgeführt werden. Die Überwachungsanweisungen 314 können vom Prozessor 302 ausgeführt werden, um die tatsächlich verbleibende Batteriekapazität der Batterie 306 und einen Parameter im Zusammenhang mit dem Strom, der von der Recheneinrichtung 300 für den Übergang des ersten OS in einen Ruhezustand gezogen wird, zu überwachen. Der Parameter kann mit dem Betrieb der Recheneinrichtung 300 variieren.
-
Die Verlängerungsanweisungen 316 können vom Prozessor 302 zu einer Zeit, bevor das erste OS in den Ruhezustand eintritt, ausgeführt werden, indem zumindest eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts festgelegt werden, wobei die erste modifizierte verbleibende Batteriekapazität auf Grundlage des ermittelten ersten Schwellenwerts für den Batterieladezustand festgelegt wird, die überwachte tatsächlich verbleibende Batteriekapazität und der Parameter und der erste aktualisierte Schwellenwert auf Grundlage des Parameters festgelegt werden. Die Meldeanweisungen 318 können vom Prozessor 302 ausgeführt werden, um mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts an das erste OS zu melden, wobei das erste OS in den Ruhezustand eintritt, wenn die erste modifizierte verbleibende Batteriekapazität geringer ist als der erste Schwellenwert für den Batterieladezustand und das erste OS den ersten Schwellenwert für den Batterieladezustand auf Grundlage des ersten aktualisierten Schwellenwerts variiert.
-
Das maschinenlesbare Speichermedium 310 kann auch Anweisungen (nicht gezeigt) zur Ermittlung und Meldung zumindest eines einer zweiten modifizierten verbleibenden Batteriekapazität und eines zweiten aktualisierten Schwellenwerts für ein zweites OS umfassen, wie im Zusammenhang mit 5A und 5B detaillierter erläutert.
-
4 ist ein beispielhaftes Flussdiagramm eines Verfahrens 400 zur Meldung zumindest eines einer ersten modifizierten verbleibenden Batteriekapazität und eines ersten aktualisierten Schwellenwerts an ein erstes Betriebssystem. Obwohl die Ausführung des Verfahrens 400 nachfolgend mit Bezug auf die Recheneinrichtung 100 beschrieben wird, können andere zweckmäßige Komponenten für die Ausführung des Verfahrens 400 eingesetzt werden, wie z. B. das System 200 oder das Gerät 300. Außerdem können die Komponenten zur Ausführung der Methode 400 über mehrere Geräte verteilt sein (z. B. ein Verarbeitungsgerät, das mit Eingabe- und Ausgabegeräten kommuniziert). In bestimmten Szenarien können mehrere Geräte, die koordiniert arbeiten, als ein einziges Gerät zur Ausführung des Verfahrens 400 angesehen werden. Das Verfahren 400 kann in Form ausführbarer Anweisungen, die auf einem maschinenlesbaren Speichermedium gespeichert sind, wie z. B. dem Speichermedium 310, und/oder in Form elektronischer Schaltungen umgesetzt werden.
-
Die Recheneinrichtung 100 empfängt vom ersten OS 145, das auf der Recheneinrichtung 100, die von der Batterie 130 mit Strom versorgt wird, ausgeführt wird, einen ersten Schwellenwert für den Batterieladezustand. Die Recheneinrichtung 100 ermittelt außerdem eine tatsächlich verbleibende Batteriekapazität der Batterie 130. Bei Block 410 überwacht die Recheneinrichtung 100 einen Parameter im Zusammenhang mit dem Strom, der von der Recheneinrichtung 100 gezogen wird, wenn ein erstes OS, das auf der Recheneinrichtung ausgeführt wird, in einen Ruhezustand eintritt, wobei der Parameter mit dem Betrieb der Recheneinrichtung 100 variiert. Die Blöcke können in unterschiedlicher Reihenfolge und/oder gleichzeitig ausgeführt werden.
-
Bei Block 420 legt die Recheneinrichtung 100 mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts auf Grundlage eines Parameters fest. Die erste modifizierte verbleibende Batteriekapazität kann ferner auf Grundlage des ersten Schwellenwerts für den Batterieladezustand und die tatsächlich verbleibende Batteriekapazität festgelegt werden. Bei Block 430 meldet die Recheneinrichtung 100 dem ersten OS 145 mindestens eines der ersten modifizierten verbleibenden Batteriekapazität anstelle der tatsächlich verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts anstelle des ersten Schwellenwerts für den Batterieladezustand. Das erste OS 145 tritt in den Ruhezustand ein, wenn die gemeldete erste modifizierte verbleibende Batteriekapazität oder tatsächlich verbleibende Batteriekapazität geringer ist als der erste Schwellenwert für den Batterieladezustand, und das erste OS 145 variiert den ersten Schwellenwert für den Batterieladezustand auf Grundlage des ersten aktualisierten Schwellenwerts. Weiterhin tritt das erste OS 145 in einen Schlafzustand ein, wenn das erste OS 145 einen Schlafbefehl erhält und die gemeldete erste modifizierte verbleibende Batteriekapazität oder tatsächlich verbleibende Batteriekapazität größer als oder gleich dem ersten Schwellenwert für den Batterieladezustand ist. Wie oben angeführt, kann die Recheneinrichtung 100 die tatsächlich verbleibende Batteriekapazität anstatt der ersten modifizierten verbleibenden Batteriekapazität melden, z. B. wenn die Recheneinrichtung 100 den ersten aktualisierten Schwellenwert bereits meldet.
-
Während die Recheneinrichtung 100 die erste modifizierte verbleibende Batteriekapazität festlegt, um eine Zeit, bevor das erste OS 145 in den Ruhezustand eintritt, zu verlängern, legt die Recheneinrichtung 100 auch die erste modifizierte verbleibende Batteriekapazität fest, so dass eine Reserve der Batterie 130 ausreichend ist, um das erste OS 145 mit Strom zu versorgen, wenn dieses in den Schlafzustand eintritt und daraus wieder aufwacht, bevor es in den Ruhezustand eintritt. Die Recheneinrichtung 100 kann z. B. den Parameter überwachen und ermitteln, dass die Recheneinrichtung 100 sicher in den Ruhezustand übergehen kann, wenn nur noch 2% tatsächlich verbleibende Batteriekapazität der Batterie 130 verbleiben. Der erste Schwellenwert für den Batterieladezustand des ersten OS 145 kann aber 5% betragen. Um eine Zeit, bevor das erste OS 145 in den Ruhezustand eintritt, zu maximieren bzw. zu verlängern, kann die Recheneinrichtung 100 daher die erste modifizierte verbleibende Batteriekapazität als 3% höher als die tatsächlich verbleibende Batteriekapazität melden. Das erste OS 145 wird daher erst in den Ruhezustand eintreten, wenn die tatsächlich verbleibende Batteriekapazität 2% beträgt und nicht 5%. Alternativ oder zusätzlich dazu kann die Recheneinrichtung 100 den ersten aktualisierten Schwellenwert auf 2% festlegen. Das erste OS 145 kann dann nach Erhalt des gemeldeten ersten aktualisierten Schwellenwerts den ersten Schwellenwert für den Batterieladezustand auf 2% ändern.
-
In einer Ausführungsform kann die Überwachung des Parameters die Überwachung einer zu speichernden Menge an Informationen in einem Speicher umfassen, wobei die Recheneinrichtung 100 die erste modifizierte verbleibende Batteriekapazität so festlegt, dass sie, relativ zur tatsächlich verbleibenden Batteriekapazität, auf Grundlage der zu speichernden Menge an Informationen variiert. Die Recheneinrichtung kann z. B. bei Block 410 die Informationen, die vor dem Eintritt in den Ruhezustand aus dem ersten Speicher 120 in den zweiten Speicher 140 zu speichern sind, überwachen. In diesem Fall kann die Recheneinrichtung 100 eine Strommenge schätzen oder ermitteln, die erforderlich ist, um die Informationen zu speichern, z. B. durch Ermittlung einer Strommenge, die vom ersten und vom zweiten Speicher 120 und 140 und dem Prozessor 110 gezogen wird, während die Informationen vom ersten Speicher 120 in den zweiten Speicher 140 übertragen werden. Eine größere zu speichernde Menge an Informationen benötigt möglicherweise eine größere Strommenge.
-
Die Recheneinrichtung 100 kann, wie nachfolgend erläutert, auch andere Parameterarten im Zusammenhang mit dem Strom, der von der Recheneinrichtung 100 gezogen wird, bevor sie in den Ruhezustand eintritt, ermitteln. Der zu ziehende Strom, der durch diese diversen Parameter ermittelt wird, kann addiert werden, um eine tatsächlich verbleibende Mindestbatteriekapazität für das erste OS 145 zum Eintritt in den Ruhezustand zu ermitteln. Als nächstes kann die Recheneinrichtung 100 die tatsächlich verbleibende Mindestbatteriekapazität mit dem ersten Schwellenwert für den Batterieladezustand des ersten OS 145 vergleichen. Ist die tatsächlich verbleibende Mindestbatteriekapazität geringer als der erste Schwellenwert für den Batterieladezustand, kann die Recheneinrichtung 100 die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie größer als die tatsächlich verbleibende Batteriekapazität der Batterie 130 ist und/oder den ersten aktualisierten Schwellenwert auf die tatsächlich verbleibende Mindestbatteriekapazität festlegen, wobei diese niedriger sein kann als der erste Schwellenwert für den Batterieladezustand bei Block 420, so dass eine Zeit, bevor die Recheneinrichtung 100 in den Ruhezustand eintritt, verzögert wird. Die tatsächlich verbleibende Mindestbatteriekapazität kann z. B. mit geringerer aus dem ersten Speicher 120 in den zweiten Speicher 140 zu speichernder Menge an Informationen niedriger sein.
-
Die auf dem ersten Speicher 120 gespeicherten Informationen sind separat von und normalerweise geringer als ein installierter physischer Speicherplatz, wie z. B. die Speicherkapazität des ersten Speichers 120. Das erste OS 145 und/oder das zweite OS 230 können zwischen verschiedenen Informationsarten, die auf dem ersten Speicher 120 gespeichert sind, wie z. B. belegte Hardware, genutzte, modifizierte, in Bereitschaft stehende und freie Arten von Informationen, unterscheiden. Die Informationsart belegte Hardware kann von Treibern zumindest eines des ersten und zweiten OS 145 und 230 dynamisch genutzt werden, um einen momentanen Kontext der Komponenten des Systems 200 zu speichern. Die Informationsart genutzte Informationen kann ein Cache für Nur-Lese-Daten sein, die aus einem anderen Speicher, wie z. B. dem zweiten Speicher 140, abgerufen wurde. Die Informationsart modifizierte Informationen kann Benutzerdaten darstellen, wie z. B. Daten, die von einer Anwendung, die vom Benutzer verwendet wird, modifiziert wurden, die aber noch nicht wieder zurück in einen anderen Speicher, wie z. B. den zweiten Speicher 140, gespeichert wurden. Die Informationsart in Bereitschaft stehende Informationen kann spekulativ abgerufene Orte eines anderen Speichers, wie z. B. den zweiten Speicher 140, darstellen, die auf den ersten Speicher 120 geschrieben wurden, um ein schnelleres Laden von Anwendungen zu unterstützen. Die Informationsart freie Informationen kann einen ungenutzten oder leeren Teil des ersten Speichers 120 darstellen.
-
Die Informationsarten in Bereitschaft und freie Informationen des OS, das in den Ruhestand eintritt, wie z. B. das erste oder zweite OS 145 oder 230, können verworfen werden und brauchen vom System 200 nicht im zweiten Speicher 140 gespeichert zu werden. Mindestens ein Teil der Informationsart belegte Hardware kann ebenfalls verworfen werden, je nachdem, ob eines oder beide des ersten OS 145 und des zweiten OS 230 in den Ruhezustand eintreten. Die Informationsart genutzte Informationen kann auch eine redundante Art von im zweiten Speicher 140 zu speichernden Informationen darstellen, und die Informationsart modifizierte Informationen kann auch eine nicht-redundante Art von im zweiten Speicher 140 zu speichernden Informationen darstellen.
-
Ferner kann die redundante im zweiten Speicher 140 zu speichernde Informationsart auch zwischen dem ersten und dem zweiten OS 145 und 230 duplizierte Informationen umfassen. Wenn es sich z. B. beim ersten und zweiten OS 145 und 230 um die gleiche Art von OS oder Instanzen davon handelt, kann mindestens ein Teil der belegten Hardware, der genutzten oder sogar eventuell der modifizierten Informationsart zwischen dem ersten und dem zweiten OS 145 und 230 dupliziert sein.
-
Ein zweiter beispielhafter Parameter, der von der Recheneinrichtung 100 bei Block 410 beobachtet werden kann, umfasst Prioritäten der redundanten und nicht-redundanten zu speichernden Informationsarten. Die Priorität kann sich auf eine Reihenfolge, in der die Informationen zu speichern sind, beziehen, wobei die Informationen mit höherer Priorität vor Informationen mit niedrigerer Priorität gespeichert werden. Wie oben erwähnt, kann die redundante Informationsart Nur-Lese-Daten umfassen, die auf dem ersten Speicher 120 gespeichert sind und aus dem zweiten Speicher 140 abgerufen wurden. Somit kann es duplizierte Kopien der redundanten Informationsart geben, die sowohl auf dem ersten als dem zweiten Speicher 120 und 140 gespeichert sind. Bei den nicht-redundanten Informationen kann es sich um Daten handeln, die nur auf dem ersten Speicher 120 gespeichert sind, wie z. B. Daten, die von Hardware, einer Anwendung, einem Benutzer und dergleichen modifiziert oder generiert wurden.
-
Falls daher die Recheneinrichtung 100 nicht dazu in der Lage sein sollte, alle der nicht-redundanten Informationen vor Eintritt in den Ruhezustand zu speichern, z. B. wenn die Batterie 130 vorher erschöpft ist, würden Informationen verloren gehen. Andererseits, wenn die Recheneinrichtung 100 nicht mehr dazu in der Lage wäre, vor Eintritt in den Ruhezustand bzw. ausgeschalteten Zustand alle redundanten Informationen zu speichern, können Informationen nicht verloren gehen. Die Recheneinrichtung 100 kann daher bei Block 420 ferner die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie relativ zur tatsächlich verbleibenden Batteriekapazität variiert und/oder den ersten aktualisierten Schwellenwert auf Grundlage einer Menge oder eines Prozentwerts der nicht-redundanten Informationsart mit höherer Priorität als die der redundanten Informationsart festlegen. Die Recheneinrichtung 100 kann z. B. die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie größer ist als die tatsächlich verbleibende Batteriekapazität und/oder den ersten aktualisierten Schwellenwert so festlegen, dass er unter dem ersten Schwellenwert für den Batterieladezustand liegt, falls die gesamte oder eine Mehrheit der nicht-redundanten Informationsart vor der redundanten Informationsart gespeichert werden soll, wobei von der Annahme ausgegangen wird, dass die tatsächlich verbleibende Mindestbatteriekapazität, wie oben erläutert, in der Summe geringer ist als der erste Schwellenwert für den Batterieladezustand.
-
Ein dritter beispielhafter Parameter, der von der Recheneinrichtung 100 bei Block 410 überwacht werden kann, umfasst die Ermittlung von zumindest eines eines Alters, einer Stromkapazität und einer Anzahl von Auffrischzyklen der Batterie 130. Mit zunehmendem Alter und/oder zunehmender Anzahl von Auffrischzyklen kann der Knick am Ende der Entladung immer unberechenbarer werden. Der Knick am Ende der Entladung kann sich auf eine Reaktion beziehen, bei der der Spannungspegel der Batterie bei Annäherung der tatsächlich verbleibenden Batteriekapazität an Null rasch abfällt. Der Auffrischzyklus kann sich auf das Laden und Entladen der Batterie beziehen. Unterschiedliche Batteriearten können auch unterschiedliche Stromkapazitäten aufweisen. Eine Zwölf-Zellen-Batterie kann z. B. mehr Strom speichern als eine Sechs-Zellen-Batterie. Die Stromkapazität der Batterie kann ferner mit zunehmenden Alter der Batterie oder zunehmender Zahl der Auffrischzyklen nachlassen. Die Recheneinrichtung 100 kann daher eine höhere tatsächlich verbleibende Batteriekapazität der Batterie zur Erhöhung einer Wahrscheinlichkeit eines erfolgreichen Übergangs in den Ruhezustand reservieren.
-
Die Recheneinrichtung 100 kann daher bei Block 420 die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie relativ zu der tatsächlich verbleibenden Batteriekapazität variiert und/oder den ersten aktualisierten Schwellenwert auf Grundlage von mindestens eines des Alters, der Stromkapazität und der Anzahl der Auffrischzyklen der Batterie 130 festlegen. Die Recheneinrichtung 100 kann z. B. die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie geringer ist als die tatsächlich verbleibende Batteriekapazität und/oder den ersten aktualisierten Schwellenwert so festlegen, dass er über dem ersten Schwellenwert für den Batterieladezustand liegt, wenn zumindest eines des Alters der Batterie und der Anzahl der Auffrischzyklen der Batterie steigt, der Stromkapazität der Batterie sinkt, wobei von der Annahme ausgegangen wird, dass die tatsächlich verbleibende Mindestbatteriekapazität, wie oben erläutert, größer als der erste Schwellenwert des Batterieladezustands ist.
-
Ein vierter beispielhafter Parameter, der von der Recheneinrichtung 100 bei Block 410 überwacht werden kann, umfasst die Ermittlung von zumindest eines einer Temperatur, Verarbeitungsgeschwindigkeit und eines Stromverbrauchs einer Komponente der Recheneinrichtung 100. Der Stromverbrauch variiert auf Grundlage von mindestens eines einer Komplexität der Software, die auf der Recheneinrichtung 100 ausgeführt wird, wie z. B. das erste OS 145 oder eine Anwendung davon, und eines Nutzungsmuster der Recheneinrichtung 100. Wird die Recheneinrichtung 100 z. B. nur leicht genutzt oder vom Benutzer unbeaufsichtigt gelassen, kann die Nutzung der Komponente niedriger sein, als wenn die Recheneinrichtung aktiver genutzt wird. Die Komponente der Recheneinrichtung 100 kann z. B. den Prozessor 110 umfassen.
-
Die Temperatur einer oder mehrerer Komponenten der Recheneinrichtung 100 kann sich direkt und/oder indirekt auf die Zeit und Energie auswirken, die von der Recheneinrichtung 100 benötigt wird, um in den Ruhezustand einzutreten. Eine höhere Temperatur kann z. B. dazu führen, dass die Recheneinrichtung 100 beim Betrieb gegenüber einer niedrigeren Temperatur direkt mehr Strom verbraucht. Die höhere Temperatur kann ferner indirekt dazu führen, dass die Zeit verlängert wird, die zum Eintritt in den Ruhezustand benötigt wird, wenn die Verarbeitungsgeschwindigkeit des Prozessors 110 gesenkt oder gedrosselt wird, um eine Überhitzung zu verhindern. Die Drosselung des Prozessors 110 kann nicht nur zu einer langsameren Leistung des Prozessors 110 führen, sondern auch zu einem höheren Stromverbrauch aufgrund der längeren Zeit, die es dauert, in den Ruhezustand einzutreten.
-
Die Recheneinrichtung 100 kann daher bei Block 420 die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie relativ zu der tatsächlich verbleibenden Batteriekapazität variiert und/oder den ersten aktualisierten Schwellenwert auf Grundlage von mindestens eines der Temperatur, der Verarbeitungsgeschwindigkeit und des Stromverbrauchs der Komponente der Recheneinrichtung 100 festlegen. Die Recheneinrichtung 100 kann z. B. die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie geringer ist als die tatsächlich verbleibende Batteriekapazität und/oder den ersten aktualisierten Schwellenwert so festlegen, dass er über dem ersten Schwellenwert für den Batterieladezustand liegt, da zumindest eines der Temperatur des Verbrauchs steigt und der Verarbeitungsgeschwindigkeit sinkt, wobei von der Annahme ausgegangen wird, dass die tatsächlich verbleibende Mindestbatteriekapazität, wie oben erläutert, größer als der erste Schwellenwert des Batterieladezustands ist.
-
Ein fünfter Parameter, der von der Recheneinrichtung 100 bei Block 410 überwacht werden kann, umfasst die Ermittlung von zumindest eines einer Zeit und eines Stromverbrauchs zum Abschalten eines Peripheriegeräts (nicht gezeigt), das an die Recheneinrichtung 100 angeschlossen ist. Die Zeit zum Abschalten kann eine Zeit zum Speichern von Informationen des Peripheriegeräts umfassen. Das Peripheriegerät kann ein Gerät umfassen, das an die Recheneinrichtung 100 angeschlossen, aber kein Teil davon ist, wie z. B. ein Speichergerät, Drucker, eine Digitalkamera und dergleichen. Das Peripheriegerät kann z. B. ein Flash-Laufwerk sein, auf dem modifizierte Benutzerdaten gespeichert sind, die auf dem zweiten Speicher 140 zu speichern sind, bevor das erste OS 145 in den Ruhezustand eintritt.
-
Die Recheneinrichtung 100 kann daher bei Block 420 die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie relativ zur tatsächlich verbleibenden Batteriekapazität variiert und/oder den ersten aktualisierten Schwellenwert so festlegen, dass er niedriger liegt als der erste Schwellenwert für den Batterieladezustand, auf Grundlage von mindestens eines der Zeit und des Stromverbrauch zum Abschalten des Peripheriegeräts. Die Recheneinrichtung 100 kann z. B. die erste modifizierte verbleibende Batteriekapazität so festlegen, dass sie geringer ist als die tatsächlich verbleibende Batteriekapazität und/oder den ersten aktualisierten Schwellenwert so festlegen, dass er über dem ersten Schwellenwert für den Batterieladezustand liegt, wenn mindestens eines der Zeit und des Stromverbrauchs zum Abschalten des Peripheriegeräts zunimmt, wobei von der Annahme ausgegangen wird, dass die tatsächlich verbleibende Mindestbatteriekapazität, wie oben erläutert, größer als der erste Schwellenwert des Batterieladezustands ist.
-
In Ausführungsformen kann die Recheneinrichtung 100 eine beliebige Kombination aus einem oder mehreren der oben angeführten Parameter und/oder anderer Parameter im Zusammenhang mit dem Strom, der zum Eintritt in den Ruhezustand gezogen wird, überwachen. Der zu ziehende Strom, der z. B. von beliebigen dieser Parameter ermittelt wird, kann addiert werden, um so die tatsächlich verbleibende Mindestbatteriekapazität zum Eintritt in den Ruhezustand zu ermitteln. Ist die tatsächlich verbleibende Mindestbatteriekapazität geringer als der erste Schwellenwert für den Batterieladezustand, kann die erste modifizierte verbleibende Batteriekapazität so festgelegt werden, dass sie geringer ist als die tatsächlich verbleibende Batteriekapazität der Batterie, um eine Zeit, bis das erste OS 145 in den Ruhezustand eintritt, zu verzögern. Demgegenüber kann die erste modifizierte verbleibende Batteriekapazität so festgelegt werden, dass sie größer ist als die tatsächlich verbleibende Batteriekapazität der Batterie, wenn die tatsächlich verbleibende Mindestbatteriekapazität größer ist als der erste Schwellenwert für den Batterieladezustand, um so zu gewährleisten, dass das erste OS 145 dazu in der Lage ist, den Übergang in den Ruhezustand abzuschließen.
-
5A und 5B sind beispielhafte Flussdiagramme eines Verfahrens 500 zur Meldung zumindest eines einer ersten und zweiten modifizierten verbleibenden Batteriekapazität und eines ersten und zweiten aktualisierten Schwellenwerts an ein erstes und zweites OS 145 und 230. Obwohl die Ausführung des Verfahrens 500 nachfolgend mit Bezug auf das System 200 beschrieben wird, können andere zweckmäßige Komponenten für die Ausführung des Verfahrens 500 verwendet werden, wie z. B. die Recheneinrichtungen 100 und 300. Außerdem können die Komponenten zur Ausführung der Methode 500 über mehrere Geräte verteilt sein (z. B. ein Verarbeitungsgerät, das mit Eingabe- und Ausgabegeräten kommuniziert). In bestimmten Szenarien können mehrere Geräte, die koordiniert arbeiten, als ein einziges Gerät zur Ausführung des Verfahrens 500 angesehen werden. Das Verfahren 500 kann in Form ausführbarer Anweisungen, die auf einem maschinenlesbaren Speichermedium gespeichert sind, wie z. B. dem Speichermedium 310, und/oder in Form elektronischer Schaltungen umgesetzt werden.
-
In dem Verfahren 500 von 5A und 5B, wie oben erläutert, kann das System 200 einen Hypervisor 220 zur Ausführung mehrerer virtueller Maschinen, wie z. B. des ersten OS 145 und des zweiten OS 230, umfassen. In diesem Szenario empfängt der Hypervisor 220 bei Block 510 einen ersten Schwellenwert für den Batterieladezustand vom ersten OS 145 und einen zweiten Schwellenwert für den Batterieladezustand vom zweiten OS 230, die auf dem System 200, das von der Batterie 130 mit Strom versorgt wird, ausgeführt werden. Der Hypervisor 220 ermittelt bei Block 520 eine tatsächlich verbleibende Batteriekapazität einer Batterie 130, die das System 200 mit Strom versorgt. Der Hypervisor 220 überwacht bei Block 530 Parameter der ersten virtuellen Maschine, einschließlich des ersten OS 145, und der zweiten virtuellen Maschine, einschließlich des zweiten OS 230. Der Parameter des ersten OS 145 kann der vom System 200 für den Eintritt des ersten OS 145 in einen Ruhezustand zu ziehende Strom sein. Ein Parameter des zweiten OS 230 kann der vom System 200 für den Eintritt des zweiten OS 145 in den Ruhezustand zu ziehende Strom sein. Die Parameter können mit dem Betrieb des Systems 200 variieren.
-
Das erste OS 145 und das zweite OS 230 können nichts voneinander wissen. Die ersten und zweiten Schwellenwerte für den Batterieladezustand können daher nicht berücksichtigen, dass dem ersten und dem zweiten OS 145 und 230 keine Gesamtheit der tatsächlich verbleibenden Batteriekapazität der Batterie 130 zur Verfügung stehen kann. Das System 200 kann daher die tatsächlich verbleibende Batteriekapazität der Batterie 130 zwischen dem ersten und dem zweiten OS 145 und 230 teilen. Um die Aufteilung der tatsächlich verbleibende Batteriekapazität besser bestimmen zu können, kann die Überwachung des Parameters des ersten OS und des Parameters des zweiten OS bei Block 530 auch die Überwachung von zumindest eines des prozentualen Laufzeitanteils und der Benutzeraktivität des ersten OS 145 und des zweiten OS 230 umfassen.
-
Der prozentuale Laufzeitanteil kann sich auf einen prozentualen Anteil der Zeit, während der das OS ausgeführt wird bzw. aktiv ist, beziehen. Eine Benutzeraktivität kann sich auf einen prozentualen Anteil der Aktivität des Benutzers, die sich auf das OS richtet, beziehen. Das erste OS 145 kann z. B. häufiger ausgeführt werden oder aktiv sein, z. B. während 80% der Zeit, während das zweite OS 230 weniger häufig ausgeführt wird oder weniger aktiv ist, wie z. B. 20% der Zeit. In diesem Fall kann das System 200 bei Festlegung der ersten modifizierten verbleibenden Batteriekapazität beim nachfolgenden Block 540 einen größeren Teil der tatsächlich verbleibenden Batteriekapazität dem ersten OS 145 zuweisen. Die Blöcke 510, 520 und 530 können in einer verschiedenen Reihenfolge und/oder gleichzeitig ausgeführt werden. Die Blöcke 510 und 520 können außerdem ausgelassen werden, wenn das System 200 die erste oder zweite modifizierte verbleibende Batteriekapazität nicht meldet.
-
Die erste und zweite modifizierte verbleibende Batteriekapazität von 5A und 5B können, ähnlich wie die erste modifizierte verbleibende Batteriekapazität, wie in Bezug auf 4 erläutert, festgelegt werden. Der erste und zweite aktualisierte Schwellenwert von 5A und 5B können auch ähnlich wie der erste aktualisierte Schwellenwert, wie in Bezug auf 4 erläutert, festgelegt werden. Bei Block 540 verlängert das System 200 z. B. eine Zeit, bevor das erste OS 145 in den Ruhezustand eintritt, indem es mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts festlegt. Die erste modifizierte verbleibende Batteriekapazität beruht auf dem ersten Schwellenwert für den Batterieladezustand, der tatsächlich verbleibende Batteriekapazität und dem Parameter des ersten OS 145, und der erste aktualisierte Schwellenwert beruht auf dem Parameter des ersten OS 145. Bei Block 550 verlängert das System 200 eine Zeit, bevor das zweite OS 230 in den Ruhezustand eintritt, indem es mindestens eines der zweiten modifizierten verbleibenden Batteriekapazität und des zweiten aktualisierten Schwellenwerts festlegt. Die zweite modifizierte verbleibende Batteriekapazität beruht auf dem zweiten Schwellenwert für den Batterieladezustand, der tatsächlich verbleibenden Batteriekapazität und dem Parameter des zweiten OS 230, und der erste aktualisierte Schwellenwert beruht auf dem Parameter des zweiten OS 230.
-
Bei Ermitteln der ersten und zweiten modifizierten verbleibenden Batteriekapazität an den Blöcken 540 und 550, teilt das System 200 die ermittelte tatsächlich verbleibende Batteriekapazität auf Grundlage des überwachten prozentualen Laufzeitanteils und der Benutzeraktivität bei Block 530 in einen ersten Stromanteil und einen zweiten Stromanteil. Die zweite modifizierte verbleibende Batteriekapazität wird auf Grundlage des empfangenen zweiten Schwellenwerts für den Batterieladezustand und eines des ersten und zweiten Stromanteils festgelegt und legt die erste modifizierte verbleibende Batteriekapazität auf Grundlage eines anderen des ersten oder zweiten Stromanteils fest. Das System 200 kann z. B. festlegen, dass die erste modifizierte verbleibende Batteriekapazität größer ist als die zweite modifizierte verbleibende Batteriekapazität, wenn das erste OS 145 mindestens eines eines höheren prozentualen Laufzeitanteils und einer höheren Benutzeraktivität als das zweite OS 230 aufweist. In der Folge kann die zweite modifizierte verbleibende Batteriekapazität den zweiten Schwellenwert für den Batterieladezustand des zweiten OS 230 eher erreichen als die erste modifizierte verbleibende Batteriekapazität den ersten Schwellenwert für den Batterieladezustand des ersten OS 145 erreicht, wodurch es dem ersten OS 145 ermöglicht wird, einen größeren Anteil der tatsächlich verbleibenden Batteriekapazität zu nutzen. Wenn z. B. die tatsächlich verbleibende Batteriekapazität 50% beträgt, kann die Recheneinrichtung 100 die erste modifizierte verbleibende Batteriekapazität als 30% und die zweite modifizierte verbleibende Batteriekapazität als 20% melden.
-
Das System 200 kann andererseits festlegen, dass die zweite modifizierte verbleibende Batteriekapazität größer ist als die erste modifizierte verbleibende Batteriekapazität, wenn das zweite OS 230 mindestens eines eines höheren prozentualen Laufzeitanteils und einer höheren Benutzeraktivität als das zweite OS 145 aufweist. Bei Ermittlung des ersten und zweiten aktualisierten Schwellenwerts bei den Blöcken 540 und 550 kann das System 200 den überwachten prozentualen Laufzeitanteil und die Benutzeraktivität bei Block 430 berücksichtigen. Die Recheneinrichtung kann z. B. festlegen, dass der erste aktualisierte Schwellenwert niedriger ist als der zweite aktualisierte Schwellenwert, wenn das erste OS 145 mindestens eines eines höheren prozentualen Laufzeitanteils und einer höheren Benutzeraktivität als das zweite OS 230 aufweist. Das System 200 kann festlegen, dass der zweite aktualisierte Schwellenwert niedriger ist als der erste aktualisierte Schwellenwert, wenn das zweite OS 230 mindestens eines eines höheren prozentualen Laufzeitanteils und einer höheren Benutzeraktivität als das erste OS 145 aufweist.
-
Dann meldet das System 200 bei Block 560 mindestens eines der ersten modifizierten verbleibenden Batteriekapazität und des ersten aktualisierten Schwellenwerts an das erste OS 145 und meldet mindestens eines der zweiten modifizierten verbleibenden Batteriekapazität und des zweiten aktualisierten Schwellenwerts an das zweite OS 230. Ähnlich wie das erste OS 145 tritt das zweite OS 230 in den Ruhezustand ein, wenn die zweite modifizierte verbleibende Batteriekapazität niedriger ist als der zweite Schwellenwert für den Batterieladezustand, und es tritt in einen Schlafzustand ein, wenn das zweite OS 230 einen Schlafbefehl erhält und die zweite modifizierte verbleibende Batteriekapazität größer oder gleich dem zweiten Schwellenwert für den Batterieladezustand ist. Das zweite OS 230 variiert den zweiten Schwellenwert für den Batterieladezustand auf Grundlage des zweiten aktualisierten Schwellenwerts.
-
Durch Zuweisung der tatsächlich verbleibenden Batteriekapazität der Batterie 130 zwischen dem ersten und zweiten OS 145 und 230 verhindert bzw. reduziert das System 200 die Wahrscheinlichkeit, dass das erste und zweite OS 145 und 230 nicht genug Strom für den Übergang in den Ruhezustand erhalten. Ferner verhindert oder reduziert das System 200, indem es dem ersten und zweiten OS 145 und 230 unterschiedliche modifizierte verbleibende Batteriekapazitäten zur Verfügung stellt, die Wahrscheinlichkeit, dass das erste und zweite OS 145 und 230 gleichzeitig versuchen, Informationen aus dem ersten Speicher 120 auf eine gleiche Stelle des zweiten Speichers 140 zu speichern.
-
Bei Block 570 legt das System 200 auf Grundlage der Überwachung bei Block 530 erste und zweite Warnungen fest. Die ersten und zweiten Warnungen können außerdem auf Grundlage des Empfangs und der Ermittlung an den Blöcken 510 und 520 ermittelt werden. Das System 200 sendet dann bei Block 580 den ersten Warnwert an das erste OS 145 und sendet den zweiten Warnwert bei Block 590 an das zweite OS 230. Der erste Warnwert gibt die tatsächlich verbleibende Batteriekapazität an, bei der das erste OS 145 den Benutzer zu warnen hat, dass die Kapazität der Batterie 130 niedrig ist, und der zweite Warnwert gibt die tatsächlich verbleibende Batteriekapazität an, bei der das zweite OS 230 den Benutzer zu warnen hat, dass die Kapazität der Batterie 130 niedrig ist. Wenn z. B. der erste Warnwert 10% beträgt, kann das erste OS 145 dem Benutzer eine Warnung anzeigen, dass die tatsächlich verbleibende Batteriekapazität der Batterie 130 niedrig ist, wenn die gemeldete erste modifizierte verbleibende Batteriekapazität oder die tatsächlich verbleibende Batteriekapazität 10% erreicht. Die Blöcke 570, 580 und 590 können ausgelassen werden, wenn der Warnwert nicht zu ändern ist und/oder gleichzeitig mit Blöcken 540, 550 und 560 ausgeführt wird.
-
Bei der obigen Annäherung an den Wert kann eine Zeit, bevor die Recheneinrichtung in den Ruhezustand eintritt, verzögert werden, und eine Zeit, während der die Recheneinrichtung sich in dem aktiven Zustand befindet, verlängert werden. Es kann z. B. ein Parameter im Zusammenhang mit einer zu speichernden Speichermenge, einem Alter und Zustand der Recheneinrichtung, einer Geschwindigkeit und Temperatur von Komponenten der Recheneinrichtung, der Komplexität der Software, die auf der Recheneinrichtung ausgeführt wird, einem Alter und einer Batteriekapazität und dergleichen überwacht werden. Der Parameter kann dann dazu herangezogen werden, um eine Menge zu ermitteln, um die eine modifizierte verbleibende Batteriekapazität relativ zur tatsächlichen verbleibenden Batteriekapazität der Batterie variiert, und/oder um einen aktualisierten Schwellenwert zu ermitteln. Die modifizierte verbleibende Batteriekapazität kann an das OS gemeldet werden, wobei das OS die modifizierte verbleibende Batteriekapazität als tatsächlich verbleibende Batteriekapazität der Batterie interpretiert und in den Ruhezustand eintritt, falls die modifizierte verbleibende Batteriekapazität geringer ist als der Schwellenwert für den Batterieladezustand. Der aktualisierte Schwellenwert kann an das OS gesendet werden, um einen Wert des Schwellenwerts für den Batterieladezustand zu ändern. Das Senden der modifizierten verbleibenden Batteriekapazität und/oder des aktualisierten Schwellenwerts kann daher die Zeitdauer verzögern, bevor das OS in den Ruhezustand übergeht.