-
TECHNISCHES GEBIET
-
Diese Offenbarung betrifft im Allgemeinen eine Zustandserkennung. Insbesondere beschreibt die Offenbarung eine Zustandserkennung in einer mobilen Rechenvorrichtung.
-
HINTERGRUND
-
Mobile Rechenvorrichtungen werden immer häufiger auf dem Markt. Trotz des großen Wachstums des Markts für mobile Rechenvorrichtungen sind möglicherweise Anwendungen, die zum Ausführen auf einer mobilen Rechenvorrichtung konfiguriert sind, wie z. B. einem Smartphone oder einem Tablet-Computer, in Bezug auf die Energieeffizienz nicht optimiert. Viele mobile Rechenvorrichtungen umfassen Betriebssysteme, die in einen Schlafmodus übergehen, um Leistung zu sparen. Jedoch sind ohne ein Rooting der mobilen Rechenvorrichtung und/oder Ausführen eines modifizierten Betriebssystems nur wenige Daten, die die Energieeffizienz betreffen, in mobilen Rechenvorrichtungen für einen Endbenutzer verfügbar.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm einer mobilen Rechenvorrichtung, die eine Leistungsüberwachungsanwendung aufweist, um den Leistungszustand der mobilen Rechenvorrichtung zu erfassen,
-
2 ist ein Diagramm, das eine Zeitachse darstellt, wobei Zeitstempel in vorgegebenen Zeitintervallen angefordert werden und Schlafzustände bestimmt werden,
-
3 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), um Energieverbrauchsinformationen sowie Änderungen des Leistungszustands der mobilen Rechenvorrichtung wiederzugeben,
-
4 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), um Energieverbrauchsinformationen sowie Ereignisanzeigen, die sich auf Änderungen des Leistungszustands der mobilen Rechenvorrichtung beziehen, wiederzugeben,
-
5 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), um Energieverbrauchsinformationen sowie Ereignisanzeigeninformationen wiederzugeben,
-
6 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), um Energieverbrauchsinformationen sowie Anwendungsinformationen wiederzugeben,
-
7 ist ein Blockdiagramm, das ein Verfahren zum Erfassen von Änderungen des Leistungszustands einer mobilen Rechenvorrichtung darstellt, und
-
8 ist ein Blockdiagramm, das ein Beispiel eines materiellen, nichtflüchtigen computerlesbaren Mediums darstellt, das zum Erfassen von Leistungszustandsänderungen konfiguriert ist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Der hierin offenbarte Gegenstand betrifft Verfahren zum Überwachen von Energieverbrauch und Erfassen von Zustandsübergängen in einer mobilen Rechenvorrichtungsumgebung. Insbesondere betreffen die hierin beschriebenen Verfahren eine Benutzerbereich-Anwendung, wie z. B. eine Leistungsüberwachungsanwendung, um den Energieverbrauch zu überwachen und Zeitstempel in vorgegebenen Intervallen während eines aktiven Zustands anzufordern. Wenn die mobile Rechenvorrichtung in einen Schlafzustand übergeht, stoppt die Benutzerbereich-Anwendung, was zu einer Aussetzung der Zeitstempel-Anforderungen führt, bis die mobile Rechenvorrichtung erneut in den aktiven Zustand übergeht. Beim Wiedereintritt in den aktiven Zustand werden die Zeitstempel-Anforderungen erneut aufgenommen. Wenn eine Differenz zwischen zwei aufeinanderfolgenden Zeitstempeln größer als der Schwellenwert ist, kann die Leistungsüberwachungsanwendung erkennen, dass die mobile Rechenvorrichtung in einen Schlafmodus übergegangen ist. Außerdem sind die hierin beschrieben Verfahren nicht für eine bestimmte mobile Rechenvorrichtungsplattform spezifisch. Ein „Leistungszustand”, wie hierin bezeichnet, gibt einen Schwellenwert des Leistungsverbrauchs der Mobilvorrichtung an. In einigen Ausführungsformen ist ein Leistungszustand durch die Advanced Configuration and Power Interface (ACPI), Überarbeitung 5.0a, vom 13. November 2013 definiert. In Ausführungsformen ist ein „S0” Zustand ein „an”-Zustand, oder ein Arbeitszustand, wobei die mobile Rechenvorrichtung voll funktionsfähig, voll eingeschaltet ist und den Kontext behält. Der S0-Zustand kann hierin als ein „aktiver Zustand” bezeichnet werden. Ein „S3”-Zustand ist ein Schlafzustand, wobei die mobile Rechenvorrichtung weniger Leistung als in dem S0-Zustand verbraucht, und die Kontexte, die mit Prozessen der mobilen Rechenvorrichtung assoziiert sind, werden in eine Speichereinheit, wie z. B. eine Direktzugriffsspeicher-Einheit (RAM-Einheit) verschoben. 1 ist ein Blockdiagramm einer mobilen Rechenvorrichtung, die eine Leistungsüberwachungsanwendung aufweist, um den Leistungszustand der mobilen Rechenvorrichtung zu erfassen. Die mobile Rechenvorrichtung 100 kann einen Prozessor 102, eine Speichervorrichtung 104, die ein nichtflüchtiges computerlesbares Medium umfasst, und eine Speichervorrichtung 106 umfassen. Die mobile Rechenvorrichtung 100 kann einen Anzeige-Treiber 108 umfassen, der derart konfiguriert ist, dass er eine Anzeigevorrichtung 110 betreibt, um Bilder wiederzugeben. Wie in 1 dargestellt, kann die Speichervorrichtung 104 außerdem ein Betriebssystem 112, das ein Power-Management-System 116 aufweist, und eine Leistungsüberwachungsanwendung 114 umfassen. Wie durch die gestrichelten Kasten 112, 114 und 116 angezeigt, können, wenn in Betrieb, das Betriebssystem 112 sowie die Leistungsüberwachungsanwendung 114 im Speicherbereich der Speichervorrichtung 106 ausgeführt werden, wie durch die gestrichelten Kasten 112, 114, 116 der Speichereinheit 106 von 1 angezeigt. Die Leistungsüberwachungsanwendung 114 kann ein Satz von Befehlen sein, die auf der Speichervorrichtung 104 gespeichert sind, die, wenn sie durch den Prozessor 102 ausgeführt werden, die mobile Rechenvorrichtung 100 anweisen, Operationen durchzuführen. Wie vorstehend besprochen, ist während des Betriebs die Leistungsüberwachungsanwendung 114 im Benutzerbereich der Speichervorrichtung 106 implementiert. Die Operationen der Leistungsüberwachungsanwendung 114 umfassen ein Erkennen, wenn sich die mobile Rechenvorrichtung 100 in einem aktiven Zustand befindet, und Anfordern von Zeitstempeln in vorgegebenen Intervallen, die während des aktiven Zustands gleich bleiben. Zum Beispiel kann die Leistungsüberwachungsanwendung 114 derart konfiguriert sein, dass sie Zeitstempel jede 1 Sekunde anfordert. Wenn ein erster Zeitstempel und zweiter Zeitstempel als Reaktion auf die Zeitstempel-Anforderung empfangen wurden, kann die Leistungsüberwachungsanwendung 114 bestimmen, ob eine Differenz zwischen dem empfangenen ersten Zeitstempel und dem empfangenen zweiten Zeitstempel das vorgegebene Intervall übersteigt, zum Beispiel wenn die Differenz größer als 1 Sekunde ist. Wenn die Zeitdifferenz das vorgegebene Intervall übersteigt, erkennt die Leistungsüberwachungsanwendung 114, dass die mobile Rechenvorrichtung 100 während einer Zeitspanne, die durch die festgestellte Zeitstempeldifferenz angezeigt ist, in einen Schlafzustand übergegangen ist. Das Betriebssystem 112 ist ein mobiles Betriebssystem, das derart konfiguriert ist, dass es Ressourcen und Anwendungen der mobilen Rechenvorrichtung 100 verwaltet. In einer Ausführungsform ist das Betriebssystem ein Linux-basiertes System, wie z. B. das Android-Betriebssystem, das auf einem Linux-Kernel aufgebaut ist. Das Betriebssystem 112 ermöglicht es, dass die Leistungsüberwachungsanwendung 114 lediglich in einem Benutzerbereich ausgeführt wird, im Gegensatz zu sowohl einem Benutzerbereich als auch einem Kernel-Bereich. Das Betriebssystem 112 kann mit einem Systemtakt assoziiert sein, der derart konfiguriert ist, dass er den Zeitverlauf innerhalb der Operationen der mobilen Rechenvorrichtung 100 verfolgt. Auf die Zeitstempel-Anforderungen, die durch die Leistungsüberwachungsanwendung 114 in den vorgegeben regelmäßigen Intervallen, die mit dem Betrieb der Leistungsüberwachungsanwendung 114 assoziiert sind, vorgelegt werden, kann reagiert werden, indem das Betriebssystem 112 Zeitstempel auf der Grundlage des Systemtaktes bereitstellt. In Ausführungsformen kann das Power-Management-System 116 ein integriertes Modul des Betriebssystems 116 sein. Jedoch kann das Power-Management-System 116 ein diskretes Modul der Speichervorrichtung 104 sein, das durch den Prozessor 102 auszuführen ist. In beiden Ausführungsformen kann das Power-Management-System 116 Leistungszustandsübergänge bereitstellen, Leistungsaufnahme überwachen und zusätzliche Leistungsaufnahmedaten an die Leistungsüberwachungsanwendung 114 bereitstellen. In einigen Ausführungsformen kann die Leistungsüberwachungsanwendung 114 Leistungsaufnahmeniveau-Anforderungen an das Power-Management-System 116 ausgeben. In anderen Szenarien kann die Leistungsüberwachungsanwendung 114 Leistungsaufnahmeniveau-Anforderungen oder Ereignisanzeigen-Anforderungen direkt an die Treiber der mobilen Rechenvorrichtung 100 ausgeben. Zum Beispiel kann die mobile Rechenvorrichtung 100 außerdem einen Akku 118 und einen Akku-Treiber 120 umfassen, der derart konfiguriert ist, dass er die Operationen des Akkus 118, wie z. B. Spannung oder Strom, die von dem Akku bezogen werden, steuert und überwacht. In manchen Szenarien kann die Leistungsüberwachungsanwendung 114 Daten direkt von dem Akku-Treiber 120 anfordern, die sich auf die Leistungsaufnahmeinformationen beziehen. In anderen Szenarien kann die Leistungsüberwachungsanwendung 114 Ereignisanzeigen direkt von dem Betriebssystem 112 anfordern. Wenn zum Beispiel die Anzeigevorrichtung 110 eingeschaltet, ausgeschaltet, eingestellt oder dergleichen ist, kann das Betriebssystem 112 Ereignisdaten, die ein bestimmtes Ereignis im Verhältnis zur Leistungsaufnahme anzeigen, empfangen, um sie an die Leistungsüberwachungsanwendung 114 bereitzustellen. Die mobile Rechenvorrichtung 100 ist, wie hier bezeichnet, eine Rechenvorrichtung, wobei Komponenten, wie z. B. eine Verarbeitungsvorrichtung, eine Speichervorrichtung und eine Anzeigevorrichtung innerhalb eines einzelnen Gehäuses angeordnet sind. Zum Beispiel kann die mobile Rechenvorrichtung 100 ein Tablet-Computer, ein Smartphone, ein Handvideospielsystem, ein Mobiltelefon, eine All-in-One-Slate-Rechenvorrichtung oder eine beliebige andere Rechenvorrichtung, die All-in-One-Funktionalität aufweist, sein. Der Prozessor 102 kann ein Hauptprozessor sein, das geeignet ist, die gespeicherten Befehle auszuführen. Der Prozessor 102 kann ein Einkernprozessor, ein Mehrkernprozessor, ein Rechnerverbund oder eine beliebige Anzahl von anderen Konfigurationen sein. Der Hauptprozessor 102 kann als Complex Instruction Set Computer Prozessor (CISC-Prozessor) oder Reduced Instruction Set Computer Prozessor (RISC-Prozessor), x86-Befehlssatzkompatible Prozessoren, Mehrkernprozessoren oder ein beliebiger anderer Mikroprozessor oder eine zentrale Verarbeitungseinheit (CPU) implementiert sein. Die Speichervorrichtung 106 kann umfassen: einen Direktzugriffsspeicher (RAM) (z. B. einen statischen Direktzugriffsspeicher (SRAM), einen dynamischen Direktzugriffsspeicher (DRAM), ein Zero Capacitor RAM, Silicon-Oxide-Nitride-Oxide-Silicon (SONOS), eingebettetes DRAM, ein EDO-RAM (Extended Data Out RAM), ein DDR-RAM (Double Data Rate RAM), RRAM (Resistive Random Access Memory), PRAM (Parameter Random Access Memory) usw.), einen Festwertspeicher (ROM) (z. B. Mask ROM, einen programmierbaren Nur-Lese-Speicher (PROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM) usw.), einen Flash-Speicher oder ein beliebiges anderes geeignetes Speichersystem. Der Hauptprozessor 102 kann über einen Systembus 122 (z. B. Peripheral Component Interconnect (PCI), Industry Standard Architecture (ISA), PCI-Express, HyperTransport®, NuBus usw.) mit Komponenten verbunden sein, darunter mit der Speichervorrichtung 104 und der Speichereinheit 106.
-
Die Anzeigeschnittstelle 110 kann ein Interaktionspunkt mit einer Software oder Hardware der mobilen Rechenvorrichtung 100 und der Anzeigeschnittstelle 112 sein. Zum Beispiel kann die Anzeigeschnittstelle eine Digital Video Interface (DVI), eine High-Definition Multimedia Interface (HDMI) und dergleichen sein. Die Anzeige kann eine eingebaute Anzeige oder eine Peripherie-Anzeige der mobilen Rechenvorrichtung 100 sein. In Ausführungsformen umfasst die Anzeige 112 eine Berührungsbildschirm-Funktionalität. Das Blockdiagramm von 1 soll nicht angeben, dass die mobile Rechenvorrichtung 100 alle von den in 1 darstellten Komponenten umfassen muss. Außerdem kann die mobile Rechenvorrichtung 100 je nach Einzelheiten der konkreten Implementierung eine beliebige Anzahl von zusätzlichen, nicht in 1 dargestellten Komponenten umfassen. 2 ist ein Diagramm, das eine Zeitachse darstellt, wobei Zeitstempel in vorgegebenen Zeitintervallen angefordert werden und Schlafzustände bestimmt werden. Die Zeitachse 200 stellt Zeitstempel dar, die in einem vorgegebenen Intervall angefordert werden, wie bei 202 angezeigt. Mit anderen Worten ist die Zeitdifferenz zwischen einem Zeitstempel, der durch eine Benutzerbereich-Anwendung, wie z. B. die Leistungsüberwachungsanwendung 114 von 1, angefordert wurde und bei 204 auftritt, und dem Zeitstempel, der bei 206 angefordert wurde, dem vorgegebenen Intervall 202 gleich, wenn die Vorrichtung aktiv ist. Jedoch kann bei 208 ein erster Zeitstempel angefordert werden und bei 210 kann ein zweiter Zeitstempel angefordert werden. Wenn die Differenz zwischen dem ersten Zeitstempel 208 und dem zweiten Zeitstempel 210, die durch 212 angezeigt ist, größer ist als das vorgegebene Intervall 202, dann kann die Leistungsüberwachungsanwendung 114 einen Eintritt in einen und einen Austritt aus einem Schlafzustand erkennen. Wie nachstehend ausführlicher besprochen, kann der Eintritt in den und der Austritt aus dem Schlafzustand durch die Leistungsüberwachungsanwendung 114 protokolliert werden und einem Benutzer über eine grafische Benutzerschnittstelle auf einer Anzeige, wie z. B. der vorstehend unter Bezug auf 1 besprochene Anzeigevorrichtung 110, präsentiert werden. In einigen Ausführungsformen steht die Genauigkeit der Bestimmung dessen, wann eine mobile Rechenvorrichtung, wie z. B. die mobile Rechenvorrichtung 100 von 1, im Verhältnis zu der Häufigkeit von Zeitstempel-Anforderungen. Je kürzer der vorgegebene Intervall, desto genauer ist mit anderen Worten die Bestimmung des Eintritts in einen Schlafzustand sowie des Austritts aus dem Schlafzustand. In manchen Beispielen beträgt das vorgegebene Intervall 202 1 Sekunde. Jedoch kann das vorgegebene Intervall 202 kürzer als 1 Sekunde sein, um die Genauigkeit der Erkennungen der Leistungszustandsübergänge zu verbessern. Es ist zu beachten, dass sich kürzere vorgegebene Intervalle auf die Leistungsaufnahme auswirken können, und daher kann das vorgegebene Intervall durch einen Benutzer, oder einen Entwickler der Leistungsüberwachungsanwendung 114 im Hinblick auf die Leistungsaufnahme-Anstiege, die als Folge von zunehmend kürzeren vorgegebenen Intervallen auftreten können, eingestellt werden. 3 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), um Energieverbrauchsinformationen sowie Änderungen des Leistungszustands der mobilen Rechenvorrichtung wiederzugeben. Wie vorstehend besprochen, kann eine GUI 300 auf einer Anzeigevorrichtung, wie z. B. der vorstehend unter Bezugnahme auf 1 besprochenen Anzeigevorrichtung 110, wiedergegeben und präsentiert werden. Die GUI 300 kann eine Graphik 301 wiedergeben, so dass ein Benutzer einen besseren Zugang zu Leistungsaufnahmedaten der mobilen Rechenvorrichtung 100 hat. Zusammen mit jeder Zeitstempel-Anforderung können Leistungsaufnahmewerte durch die Leistungsüberwachungsanwendung 114 für die mobile Rechenvorrichtung 100 gesammelt werden. Die Linie 302 zeigt die Leistungsaufnahme bei verschiedenen Werten an, bis bei 304 die mobile Rechenvorrichtung 100 in den Schlafzustand übergeht. Die Linie bei 306 stellt dar, dass die mobile Rechenvorrichtung 100 erneut in den aktiven Zustand übergeht. Wie in 3 dargestellt, ist das Leistungsaufnahmeniveau während des Schlafzustands 304 im Vergleich zu den aktiven Zuständen niedrig, obwohl die mobile Rechenvorrichtung 100 aufgrund eines Vorrichtungsleistungsleck und bestimmter Komponenten der mobilen Rechenvorrichtung 100, die während des Schlafzustands eingeschaltet bleiben müssen, weiterhin Leistung aufnehmen kann, wie durch die Linie 302 oder die Linie 306 dargestellt. In einigen Ausführungsformen kann die Leistungsaufnahme für eine bestimmte Anwendung, die auf der mobilen Rechenvorrichtung 100 ausgeführt wird, grafisch dargestellt werden. Zum Beispiel kann die Linie bei 302 oder bei 306 die Leistung anzeigen, die durch eine konkrete Anwendung, die auf der Rechenvorrichtung 100 während eines aktiven Zustands ausgeführt wird, verbraucht wird. In diesem Szenario kann die bestimmte Anwendung von dem Benutzer über Bedienelemente der Leistungsüberwachungsanwendung 114 wählbar sein.
-
In einigen Szenarien kann eine bestimmte Anwendung während eines Schlafzustands weiterhin höhere Leistungsbeträge verbrauchen. In diesem Szenario kann die Linie 304 verhältnismäßig höher sein und die grafische Darstellung auf der GUI 300, oder auf einer beliebigen von den nachstehend unter Bezugnahme auf 4 und 5 besprochenen GUIs, kann es einem Benutzer ermöglichen, zu bestimmen, dass eine bestimmte Anwendung auch im Schlafzustand Leistung verbraucht. Daher kann die grafische Darstellung mehr Informationen hinsichtlich der Leistungsaufnahme der mobilen Rechenvorrichtung 100 dem Benutzer bereitstellen. 4 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), die Energieverbrauchsinformationen sowie Ereignisanzeigen, die sich auf Änderungen des Leistungszustands der mobilen Rechenvorrichtung beziehen, wiedergibt. Die GUI 400 umfasst eine Grafik 401, die die Leistungsaufnahme einer mobilen Rechenvorrichtung, wie z. B. der mobilen Rechenvorrichtung 100 von 1, darstellt. Ähnlich der 3 stellt die wiedergegebene Grafik 401 Leistungsaufnahmeniveaus während der aktiven Zustände 302, 306 und des Schlafzustands 304 dar. Die Grafik 401 kann außerdem Ereignisanzeigen, wie z. B. die Ereignisanzeigen 402 und 404, darstellen. Ereignisanzeigen können auf erfassten Ereignisinformationen basieren, die sich auf einen Zeitstempel, der einen Eintritt in den oder einen Austritt aus dem Schlafzustand veranlasst, beziehen. Wie nachstehend ausführlicher besprochen, können die Ereignisinformationen erfasst, wiedergegeben und angezeigt werden. 5 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), die Energieverbrauchsinformationen sowie Ereignisanzeigeninformationen wiedergibt. Die GUI 500 umfasst eine Grafik 501 und ein Beispiel von konkreten Ereignisinformationen, die für eine Ereignisanzeige, wie z. B. die vorstehend unter Bezugnahme auf 4 besprochene Ereignisanzeige 402, erfasst wurden. Wie in 5 dargestellt, kann die Ereignisanzeige 402 mit Ereignisinformationen, die in dem Kasten 502 angezeigt sind, assoziiert sein. Die Ereignisinformationen 502 können Zeitstempel-Informationen sowie eine Beschreibung der Ereignisinformationen 502 umfassen. In dem in 5 dargestellten Beispiel umfasst die Ereignisinformationen-Beschreibung „BILDSCHIRM_AUS”, wodurch einem Benutzer angezeigt wird, dass das Ereignis, das mit einem Übergang von dem aktiven Zustand, der bei 302 angezeigt ist, in den Schlafzustand 304 assoziiert ist, durch das Ausschalten des Bildschirms ausgelöst worden sein kann.
-
6 ist ein Diagramm einer grafischen Benutzeroberfläche (GUI), die Energieverbrauchsinformationen sowie Anwendungsinformationen wiedergibt. Die GUI 600 umfasst eine Grafik 601 und ein Beispiel von Anwendungsinformationen. Anwendungsinformationen können abgeleitet werden, indem ermittelt wird, welche Anwendungen bei einem Zeitstempel unmittelbar bevor dem Eintritt in den Schlafzustand 304, wie z. B. dem vorstehend unter Bezugnahme auf 2 besprochenen ersten Zeitstempel 208, ausgeführt werden. Anwendungsinformationen können außerdem abgeleitet werden, indem ermittelt wird, welche Anwendungen bei einem Zeitstempel unmittelbar im Anschluss an den Austritt aus den Schlafzustand, wie z. B. dem vorstehend unter Bezugnahme auf 2 besprochenen zweiten Zeitstempel 210, ausgeführt werden. Zum Beispiel zeigen die bei 602 wiedergegebenen Anwendungsinformationen Anwendungen an, die auf der mobilen Rechenvorrichtung 100 während des Eintritts in den Schlafzustand 304 ausgeführt werden. Wie bei 602 dargestellt, können die Anwendungsinformationen Anwendungen umfassen, die vor dem Eintritt in den Schlafzustand 304 in dem Vordergrund ausgeführt werden, sowie Anwendungen umfassen, die im Hintergrund ausgeführt werden. Bei 604 sind Anwendungsinformationen bereitgestellt, die Anwendungen anzeigen, die auf der mobilen Rechenvorrichtung 100 beim Austritt aus dem Schlafzustand 304 ausgeführt werden. Ähnlich dem Block 602 umfassen die Anwendungsinformationen bei Block 604 Anwendungen, die während des Austritts aus dem Schlafzustand 304 im Hintergrund und im Vordergrund ausgeführt werden. In Ausführungsformen kann ein Benutzer die Anwendungsinformationen 602, 604 verwenden, um einzuschätzen, welche Anwendung den Austritt aus dem Schlafzustand 304 initiiert hat. Zum Beispiel verbleibt die „Anwendung A”, die bei 602 und 604 angezeigt ist, sowohl während des Eintritts in den als auch des Austritts aus dem Schlafzustand 304 im Vordergrund, während die „Anwendung B” während des Schlafzustands 304 in den Hintergrund übergeht. In diesem Szenario kann die Anwendung A für den Austritt aus dem Schlafzustand 304 verantwortlich sein, da sie beim Austritt aus dem Schlafzustand 304 im Vordergrund ausgeführt wurde. Daher können Anwendungsinformationen nützlich sein, um Anwendungen zu bestimmen, die einen Austritt aus dem Schlafzustand 304 verursachen. 7 ist ein Blockdiagramm, das ein Verfahren zum Erkennen von Änderungen des Leistungszustands einer mobilen Rechenvorrichtung darstellt. Bei Block 702 werden Zeitstempel-Anforderungen in vorgegebenen Intervallen eingeleitet. In manchen Beispielen kann das vorgegebene Intervall 1 Sekunde betragen. Bei 704 werden ein erster Zeitstempel und ein zweiter Zeitstempel als Reaktion auf Zeitstempel-Anforderungen empfangen. Bei 706 wird die Differenz zwischen dem ersten Zeitstempel und dem zweiten Zeitstempel bestimmt. Wenn bestimmt wird, dass die Differenz zwischen dem ersten Zeitstempel und dem zweiten Zeitstempel größer ist als das vorgegebene Intervall, wird bei Block 708 ermittelt, dass die mobile Rechenvorrichtung während der Zeitspanne, die durch die Zeitstempeldifferenz angezeigt ist, in einen Schlafzustand eingetreten und aus dem Schlafzustand ausgetreten ist. In Ausführungsformen umfasst das Verfahren 700 ein Erfassen von Ereignisinformationen für den ersten Zeitstempel und/oder ein Erfassen von Ereignisinformationen für den zweiten Zeitstempel. Die Ereignisinformationen können einen Auslöser für den Eintritt in den oder den Austritt aus dem Schlafzustand anzeigen. Zum Beispiel kann ein Ereignis, wie z. B. „BILDSCHIRM_AUS”-Ereignis bei 402 von 5 einen Übergang von einem aktiven Zustand in einen Schlafzustand auslösen. In anderen Szenarien kann ein Ereignis, wie z. B. ein „BILDSCHIRM_AN” einen Austritt aus einem Schlafzustand in den aktiven Zustand auslösen. Andere Ereignisinformationen, wie z. B. Leistungsaufnahmeinformationen für eine konkrete Anwendung sowie Ereignisinformationen für die konkrete Anwendung, können erfasst werden In Ausführungsformen umfasst das Verfahren 700 ein Wiedergeben einer Darstellung der Leistungszustandsänderung, die die Kennzeichnung des Eintritts in den Schlafzustand in einer grafischen Benutzerschnittstelle einer Anzeige der mobilen Rechenvorrichtung umfasst. Die Darstellung kann auch den Austritt aus dem Schlafzustand in den aktiven Zustand repräsentieren. Außerdem kann in einigen Szenarien die Darstellung Informationen präsentieren, wie z. B. Ereignisinformationen, und Leistungsaufnahmeinformationen einer konkreten Anwendung, wie vorstehend besprochen. 8 ist ein Blockdiagramm, das ein Beispiel eines materiellen, nichtflüchtigen computerlesbaren Mediums darstellt, das zum Erkennen von Leistungszustandsänderungen konfiguriert ist. Auf das materielle, nichtflüchtige, computerlesbare Medium 800 kann ein Prozessor 800 über einen Computerbus 804 zugreifen Außerdem kann das materielle, nichtflüchtige, computerlesbare Medium 800 durch Computer ausführbare Befehle umfassen, um den Prozessor 802 anzuweisen, die Schritte des gegenwärtigen Verfahrens durchzuführen. Die hierin erörterten verschiedenen Software-Komponenten können auf dem materiellen, nichtflüchtigen, computerlesbaren Medium 800 gespeichert sein, wie in 8 angegeben. Zum Beispiel kann eine Leistungsüberwachungsanwendung 806 derart konfiguriert sein, dass sie Zeitstempel-Anforderungen in vorgegeben Intervallen ausgibt. In manchen Beispielen kann das vorgegeben Intervall 1 Sekunde betragen. Ein erster Zeitstempel und ein zweiter Zeitstempel werden durch die Leistungsüberwachungsanwendung 806 als Reaktion auf Zeitstempel-Anforderungen empfangen. Die Leistungsüberwachungsanwendung bestimmt die Differenz zwischen dem ersten Zeitstempel und dem zweiten Zeitstempel. Wenn bestimmt wird, dass die Differenz zwischen dem ersten Zeitstempel und dem zweiten Zeitstempel größer ist als das vorgegebene Intervall, wird durch die Leistungsüberwachungsanwendung 806 ermittelt, dass die mobile Rechenvorrichtung während der Zeitspanne, die durch die Zeitstempeldifferenz angezeigt ist, in einen Schlafzustand eingetreten und aus dem Schlafzustand ausgetreten ist.
-
BEISPIEL 1
-
Ein Verfahren zum Ermitteln von Leistungszuständen einer mobilen Rechenvorrichtung wird hierin beschrieben. Zeitstempel werden in vorgegebenen Intervallen während eines aktiven Zustands angefordert. Ein erster und ein zweiter Zeitstempel können empfangen werden. Wenn die Differenz zwischen dem ersten Zeitstempel und dem zweiten Zeitstempel das vorgegebene Intervall überschreitet, dann ist die mobile Rechenvorrichtung während der Zeitdifferenz der Zeitstempel in einen Schlafzustand eingetreten und aus dem Schlafzustand ausgetreten. Ereignisinformationen können auch erfasst werden. Ereignisinformationen können Daten sein, die sich auf die Ereignisse beziehen, die an der mobilen Rechenvorrichtung auftreten und den Eintritt in einen oder den Austritt aus einem Schlafzustand betreffen. Die erfassten Informationen können an einer grafischen Benutzerschnittstelle der mobilen Rechenvorrichtung wiedergegeben werden.
-
BEISPIEL 2
-
Ein System zum Überwachen von Leistungszuständen wird hierin beschrieben. Das System kann eine Verarbeitungseinrichtung, wie z. B. eine Verarbeitungsvorrichtung, und eine Speichereinrichtung, wie z. B. eine Systemspeichereinheit, umfassen. Die Systemspeichereinheit kann Befehle umfassen, die durch die Verarbeitungsvorrichtung ausführbar sind, um Operationen einzuleiten. Die Operationen umfassen ein Anfordern von Zeitstempeln in vorgegebenen Intervallen während eines aktiven Zustands. Die Operationen umfassen ein Empfangen eines ersten Zeitstempels und eines zweiten Zeitstempels als Reaktion auf Zeitstempel-Anforderungen, und ein Bestimmen, ob eine Differenz zwischen einem empfangen ersten Zeitstempel und einem empfangenen zweiten Zeitstempel das vorgegebene Intervall übersteigt. Wenn bestimmt wird, dass die Zeitdifferenz zwischen Zeitstempeln einen vorgegebenen Schwellenwert übersteigt, dann umfassen die Operationen ein Ermitteln eines Eintritts der mobilen Rechenvorrichtung in einen Schlafzustand während einer Zeitspanne, die durch die festgestellte Zeitstempeldifferenz angezeigt ist.
-
BEISPIEL 3
-
Ein nichtflüchtiges computerlesbares Medium wird hierin beschrieben. Das nichtflüchtige computerlesbare Medium umfasst einen Code, der, wenn ausgeführt, eine Verarbeitungsvorrichtung dazu veranlasst, Zeitstempel in vorgegebenen Intervallen während eines aktiven Zustands anzufordern, und einen ersten Zeitstempel und einen zweiten Zeitstempel als Reaktion auf Zeitstempel-Anforderungen zu empfangen. Der Code, wenn ausgeführt, bestimmt, ob eine Differenz zwischen einem empfangen ersten Zeitstempel und einem empfangenen zweiten Zeitstempel das vorgegebene Intervall übersteigt, und gegebenenfalls ermittelt, dass die mobile Rechenvorrichtung während einer Zeitspanne, die durch die festgestellte Zeitstempeldifferenz angezeigt ist, in einen Schlafzustand eingetreten ist. Eine Ausführungsform ist eine Implementierung oder ein Beispiel. Die Bezugnahme auf „eine Ausführungsform”, „einige Ausführungsformen”, „verschiedene Ausführungsformen” oder „andere Ausführungsformen” bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Charakteristik, die/das im Zusammenhang mit den Ausführungsformen beschrieben wird, in mindestens einigen Ausführungsformen, aber nicht notwendigerweise allen Ausführungsformen der vorliegenden Techniken vorhanden ist. Die verschiedenen Aufführungen von „eine Ausführungsform” oder „einige Ausführungsformen” beziehen sich nicht notwendigerweise auf dieselben Ausführungsformen.
-
Nicht alle Komponenten, Merkmale, Strukturen, Charakteristiken usw., die hier beschrieben und gezeigt sind, müssen in einer bestimmten Ausführungsform oder Ausführungsformen enthalten sein. Wenn die Beschreibung aussagt, dass eine Komponente, ein Merkmal, eine Struktur oder eine Charakteristik enthalten sein „kann” oder „könnte”, dann ist es zum Beispiel nicht erforderlich, dass diese bestimmte Komponente, dieses bestimmte Merkmal, diese bestimmte Struktur oder Charakteristik enthalten ist. Wenn in der Beschreibung oder den Ansprüchen Bezug auf „ein” Element genommen wird, bedeutet dies nicht, dass es nur eines von diesem Element gibt. Wenn die Beschreibung oder die Ansprüche Bezug auf „ein zusätzliches” Element nehmen, schließt das nicht aus, dass es dort mehr als eines von dem zusätzlichen Element gibt. Es ist zu beachten, dass, obwohl einige Ausführungsformen unter Bezugnahme auf bestimmte Implementierungen beschrieben wurden, andere Implementierungen gemäß einigen Ausführungsformen möglich sind. Zusätzlich brauchen die Anordnung und/oder Reihenfolge von Schaltelementen oder anderen Merkmalen, die in den Zeichnungen gezeigt und/oder hier beschrieben sind, nicht auf die bestimmte gezeigte und beschriebene Weise angeordnet sein. Viele andere Anordnungen sind gemäß einigen Ausführungsformen möglich. Bei jedem in einer Figur gezeigten System können die Elemente in einigen Fällen jeweils dieselbe Referenznummer oder eine unterschiedliche Referenznummer aufweisen, um anzudeuten, dass die repräsentierten Elemente unterschiedlich und/oder ähnlich sein könnten. Ein Element kann jedoch flexibel genug sein, um unterschiedliche Implementierungen zu haben und es kann mit einigen oder allen hier dargestellten oder beschriebenen Systemen funktionieren. Die verschiedenen in den Figuren dargestellten Elemente können die gleichen Elemente sein oder sie können unterschiedlich sein. Welches ein erstes Element genannt wird und welches ein zweites Element, ist willkürlich. Es versteht sich, dass genaue Angaben in den vorstehend erwähnten Beispielen an beliebigen Stellen in einer oder mehreren Ausführungsformen verwendet werden können. Es können beispielsweise alle vorstehend beschriebenen fakultativen Merkmale der Rechenvorrichtung auch in Bezug auf jedes der hier beschriebenen Verfahren oder auf das computerlesbare Medium implementiert sein. Obwohl hier Ablaufdiagramme und/oder Zustandsdiagramme verwendet worden sein können, um Ausführungsformen zu beschreiben, sind ferner die Techniken nicht auf diese Diagramme oder auf entsprechende Beschreibungen hierin begrenzt. Der Ablauf braucht sich beispielsweise nicht durch jeden gezeigten Kasten oder Zustand oder in genau derselben Reihenfolge, wie hier gezeigt und beschrieben, zu bewegen. Die vorliegenden Verfahren sind nicht auf die bestimmten, hier aufgelisteten Einzelheiten beschränkt. Für Fachleute, die diese Offenlegung lesen, ist es in der Tat offensichtlich, dass viele weitere Abwandlungen der vorstehenden Beschreibung und Zeichnungen im Rahmen des Umfangs der vorliegenden Techniken vorgenommen werden können. Dementsprechend sind es die nachfolgenden Ansprüche und alle Änderungen an ihnen, die den Umfang der der vorliegenden Techniken definieren.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Advanced Configuration and Power Interface (ACPI), Überarbeitung 5.0a, vom 13. November 2013 [0011]