-
HINTERGRUND
-
Mobilanwendungen, die auf Smartphones, Tablets und anderen solchen Mobilvorrichtungen ausgeführt werden, können insbesondere, wenn die Mobilanwendungen ständig im Hintergrund ausgeführt werden und/oder auf Kommunikationsbetriebsmittel wie etwa Wi-Fi oder Zellennetz-Transceiver zugreifen, eine erhebliche Verringerung der Batteriebetriebsdauer erzeugen. Bei der Allgegenwärtigkeit und ständig zunehmenden Anzahl solcher Mobilanwendungen ist es erwünscht, Möglichkeiten zu schaffen, um die Mobilvorrichtungs-Batteriebetriebsdauer zu erhalten oder zu verlängern, um die Nützlichkeit einer Mobilvorrichtung zu maximieren.
-
Frühere Lösungen ermöglichen, dass ein Nutzer die Batteriebetriebsdauer einer Mobilvorrichtung dadurch managt, dass er Funktionalitäten einer Mobilanwendung, die auf einer Mobilvorrichtung ausgeführt werden, manuell sperrt oder beschränkt. Andere Lösungen ermöglichen, dass ein Nutzer verfolgt, welche Mobilanwendungen oder Vorrichtungsmerkmale die Batteriebetriebsdauer am meisten verkürzen, so dass ein Nutzer die Mobilanwendung/das Mobilmerkmal wahlweise sperren kann, wenn die Batterie erschöpft ist. Ferner besitzen viele Mobilvorrichtungen eine „Leistungsspar“-Betriebsart, die, wenn sie ausgewählt ist, ausgewählte Merkmale und Anwendungen, die dazu neigen, die Batterie der Vorrichtung zu entleeren, ausschalten kann.
-
Obwohl diese Lösungen etwas nützlich dabei sein können, die Batteriebetriebsdauer einer Mobilvorrichtung zu verlängern, sind sie außerdem dadurch beschränkt, dass sie häufig erfordern, dass der Nutzer die verbleibende Batteriebetriebsdauer aktiv überwacht und proaktiv Schritte zur Begrenzung der Batterienutzung ergreift. Ferner können die Nützlichkeit und Funktionalität der Mobilvorrichtung dadurch, dass Merkmale und Anwendungen vollständig gesperrt werden, stark beschränkt werden. Somit wäre es erwünscht, eine Möglichkeit, eine unnötige Verkürzung der Batteriebetriebsdauer einer Mobilvorrichtung passiv zu verringern, die Merkmale oder Anwendungen der Mobilvorrichtung nur deaktiviert, wenn sie nicht verwendet werden, zu schaffen.
-
US 2014 / 0 359 785 A1 beschreibt eine Sicherung angezeigter Informationen vor unbefugtem Zugriff während der Zeiträume, in denen auf die angezeigten Informationen zugegriffen werden kann, bevor sie für die Anzeige gesperrt werden. Wenn eine Anwendung auf einem Computergerät läuft, das die Verarbeitung von Anwendungen im Leerlauf zur Leistungsverbesserung unterbricht, kann ein sensibles oder vertrauliches Dokument von der Anwendung angezeigt werden, wenn das Betriebssystem des Geräts die Verarbeitung unterbricht. Die
US 2011 / 0 291 748 A1 bezieht sich allgemein auf die Verwaltung des Stromverbrauchs in elektronischen Geräten und stellt Systeme und Verfahren zur Energieverwaltung vor, die eine effiziente und effektive Energieeinsparung ermöglichen. In einer Ausführungsform umfasst ein Energieverwaltungsverfahren die folgenden Schritte: Durchführen eines Prozesses zur Bestimmung einer Initiationsmetrik und Einstellen von Operationen einer logischen Komponente auf der Grundlage des Schwellenwerts.
US 2011 / 0 258 467 A1 bezieht sich auf Systeme, Verfahren und Vorrichtungen zur Verteilung von Energie zum Aufladen elektronischer Geräte auf Werbe- und/oder Gebührenbasis. Ein Server steuert die Verteilung von Werbung und die Erhebung von Gebühren und erleichtert die Verteilung von Strom aus einem Netzwerk von tragbaren Stromstationen.
-
Es ist ein Ziel des beanspruchten Gegenstands, Techniken bereitzustellen, die bei der Einsparung von Batteriestrom in mobilen Geräten wirksam sein können.
-
Die anliegenden Ansprüche definieren ein System, ein Verfahren und ein nichttransitorisches computerlesbares Medium zur Verlängerung der Batterielebensdauer durch Überwachung der Aktivität mobiler Anwendungen.
-
Figurenliste
-
Es wird nun Bezug genommen auf die beigefügten Figuren und Ablaufpläne, die nicht notwendig maßstabsgerecht sind und in denen:
- 1 ein Blockschaltplan einer veranschaulichenden Computervorrichtungsarchitektur 100 in Übereinstimmung mit einer beispielhaften Implementierung ist.
- 2 eine Computervorrichtung 200 in Übereinstimmung mit einer beispielhaften Implementierung darstellt.
- 3 ein Ablaufplan eines Verfahrens 300 in Übereinstimmung mit einer beispielhaften Implementierung ist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Einige Implementierungen der offenbarten Technologie werden umfassender anhand der beigefügten Zeichnungen beschrieben. Allerdings kann diese offenbarte Technologie in vielen verschiedenen Formen verkörpert werden und ist sie nicht als auf die hier dargelegten Implementierungen beschränkt zu verstehen.
-
Ausführungsformen der offenbarten Technologie enthalten Systeme und Verfahren zum Erhalten der Batteriebetriebsdauer einer Mobilvorrichtung durch Verzögern der Hintergrundnetzaktivität für Mobilanwendungen, mit denen ein Nutzer in letzter Zeit nicht interagiert hat. In Übereinstimmung mit Aspekten der vorliegenden Offenbarung können Batterieentleerungsfunktionalitäten auf der Grundlage der einzelnen Aktivität dieser bestimmten Mobilanwendung im Gegensatz zu der Aktivität der Mobilvorrichtung als Ganzes für eine bestimmte Mobilanwendung beschränkt werden, was sich von bekannten Batteriesparverfahren wie etwa dem, die Mobilvorrichtung in eine Schlafbetriebsart oder Leistungssparbetriebsart zu versetzen, unterscheidet. Dies kann dadurch ausgeführt werden, dass eine Mobilanwendung der Mobilvorrichtung überwacht wird, um zu bestimmen, ob die Mobilanwendung in einem inaktiven Zustand ist. Ein inaktiver Zustand kann angeben, dass ein Nutzer nicht daran interessiert sein kann, die Mobilanwendung in naher Zukunft zu verwenden. Somit kann es in Situationen, in denen ein Nutzer nicht daran interessiert ist, die Mobilanwendung in der nahen Zukunft zu verwenden, nicht notwendig sein, dass die Mobilanwendung bestimmte die Batterie entleerende Merkmale der Mobilvorrichtung weiterverwendet. Somit kann die Mobilanwendung in einem Leerlaufzustand angeordnet werden, um Batteriebetriebsdauer zu sparen, falls bestimmt wird, dass die Mobilanwendung in einem inaktiven Zustand ist. Ein Leerlaufzustand kann Batteriebetriebsdauer dadurch erhalten, dass die Funktionen, die die Mobilanwendung ausführen kann, beschränkt werden.
-
Es kann bestimmt werden, dass eine Mobilanwendung in einem inaktiven Zustand ist, falls innerhalb einer vorgegebenen Zeitdauer keine aktive Funktion ausgeführt wird. Aktive Funktionen, wie sie hier verwendet sind, können z. B. das Ausführen eines Prozesses im Vordergrund der Mobilvorrichtung, das Ausgeben einer Benachrichtigung zur Anzeige an einen Nutzer oder dass sie durch einen Nutzer gestartet wird, enthalten.
-
Wenn eine Mobilanwendung in einem Leerlaufzustand angeordnet wird, kann verhindert werden, dass sie auf ein oder mehrere Betriebsmittel der Mobilvorrichtung zugreift. Ein Betriebsmittel der Mobilvorrichtung kann sich auf irgendein Merkmal, irgendeine Funktion oder irgendein Hardwareteil beziehen, dessen bzw. deren Verwendung oder Ausführung veranlassen kann, dass der Batterie Leistung entnommen wird. Zum Beispiel kann das Verhindern, dass eine Mobilanwendung auf ein oder mehrere Betriebsmittel der Mobilvorrichtung zugreift, z. B. enthalten, dass verhindert wird, dass die Mobilanwendung auf ein Netz zugreift und/oder die Ausführung von Synchronisationsaufgaben verzögert. Nachdem eine Mobilanwendung in einem Leerlaufzustand angeordnet worden ist, kann sie aus dem Leerlaufzustand entnommen werden und die normale Funktionalität wiederhergestellt werden, wenn die Mobilanwendung eine aktive Funktion ausführt, wie etwa durch einen Nutzer gestartet wird, oder wenn die Mobilvorrichtung in eine Leistungsquelle gesteckt wird.
-
Überall in dieser Offenbarung sind bestimmte Ausführungsformen auf beispielhafte Weise in Bezug auf eine Mobilvorrichtung wie etwa ein Smartphone beschrieben. Allerdings sind Ausführungsformen der offenbarten Technologie darauf nicht beschränkt. In einigen Ausführungsformen kann die Technologie beim Sparen von Batterieleistung in anderen Mobilvorrichtungen wie etwa z. B. Tablets oder Laptops wirksam sein.
-
Im Folgenden werden einige Ausführungsformen der offenbarten Technologie anhand der beigefügten Zeichnungen umfassender beschrieben. Allerdings kann diese offenbarte Technologie in vielen verschiedenen Formen verkörpert werden und soll sie nicht als auf die hier dargelegten Ausführungsformen beschränkt verstanden werden.
-
In der folgenden Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt. Allerdings können Ausführungsformen der offenbarten Technologie selbstverständlich ohne diese spezifischen Einzelheiten verwirklicht werden. In anderen Fällen sind gut bekannte Verfahren, Strukturen und Techniken nicht ausführlich gezeigt, um nicht das Verständnis dieser Beschreibung zu verdecken. Bezugnahmen auf „eine Ausführungsform“, „Ausführungsform“, „beispielhafte Ausführungsform“, „einige Ausführungsformen“, „bestimmte Ausführungsformen“, „verschiedene Ausführungsformen“ usw. geben an, dass die Ausführungsform(en) der so beschriebenen offenbarten Technologie ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft enthalten kann bzw. können, dass aber nicht jede Ausführungsform das bestimmte Merkmal, die bestimmte Struktur oder die bestimmte Eigenschaft notwendig enthält. Ferner bezieht sich die wiederholte Verwendung des Ausdrucks „in einer Ausführungsform“ nicht notwendig auf dieselbe Ausführungsform, obwohl dies der Fall sein kann.
-
Soweit der Kontext nicht deutlich etwas anderes vorschreibt, nehmen die folgenden Begriffe überall in der Beschreibung und in den Ansprüchen wenigstens die ihnen explizit zugeordneten Bedeutungen an. Der Begriff „oder“ soll ein exklusives „Oder“ bedeuten. Ferner sollen die Begriffe „ein“, „eine“ und „das“, sofern nicht etwas anderes spezifiziert ist oder aus dem Kontext deutlich ist, dass sie auf eine Singularform gerichtet sind, eines oder mehrere bedeuten.
-
Sofern nicht etwas anderes spezifiziert ist, gibt die Verwendung der Ordnungszahlen „erstes“, „zweites“, „drittes“ usw. zur Beschreibung eines gemeinsamen Gegenstands lediglich an, dass auf verschiedene Instanzen des gleichen Gegenstands Bezug genommen wird, und soll sie nicht bedeuten, dass die so beschriebenen Gegenstände entweder zeitlich oder räumlich oder im Rang oder in irgendeiner anderen Weise in einer gegebenen Folge sein müssen.
-
In einigen Fällen kann auf eine Computervorrichtung als eine Mobilvorrichtung, als eine Mobilcomputervorrichtung, als eine Mobilstation (MS), als ein Endgerät, als ein Zellentelephon, als ein Zellenkopfsprechhörer, als ein Personal Digital Assistant (PDA), als ein Smartphone, als ein drahtloses Telephon, als ein Organizer, als ein Handcomputer, als ein Desktopcomputer, als ein Laptopcomputer, als ein Tablet-Computer als eine Set-Top-Box, als ein Fernsehgerät, als ein Gerät, als eine Spielvorrichtung, als eine medizinische Vorrichtung, als einige andere ähnliche Termini Bezug genommen werden. In anderen Fällen kann eine Computervorrichtung ein Prozessor, ein Controller oder eine Zentraleinheit (CPU) sein. In abermals anderen Fällen kann eine Computervorrichtung eine Menge von Hardwarekomponenten sein.
-
Verschiedene hier beschriebene Aspekte können unter Verwendung von Standardprogrammiertechniken oder Standardingenieurtechniken zur Erzeugung von Software, Firmware, Hardware oder irgendeiner Kombination davon, um eine Computervorrichtung dafür zu steuern, den offenbarten Gegenstand zu implementieren, implementiert werden. Ein computerlesbares Medium kann z. B. enthalten: eine magnetische Speichervorrichtung wie etwa eine Festplatte, eine Diskette oder einen Magnetstreifen; eine optische Speichervorrichtung wie etwa ein Compact Disk (CD) oder eine Digital Versatile Disk (DVD); eine Chipkarte; und eine Flash-Datenspeichervorrichtung wie etwa ein Karten-, Stick- oder Key-Laufwerk oder eine eingebettete Komponente. Zusätzlich sollte gewürdigt werden, dass zum Übermitteln computerlesbarer elektronischer Daten einschließlich jener, die beim Senden und Empfangen elektronischer Daten wie etwa elektronischer Post (E-Mail) oder beim Zugreifen auf ein Computernetz wie etwa das Internet oder ein lokales Netz (LAN) verwendet werden, eine Trägerwelle genutzt werden kann. Natürlich erkennt der Durchschnittsfachmann auf dem Gebiet, dass an dieser Konfiguration viele Änderungen vorgenommen werden können, ohne von dem Schutzumfang oder Erfindungsgedanken des beanspruchten Gegenstands abzuweichen.
-
Es werden verschiedene Systeme, Verfahren und computerlesbare Medien offenbart, um die Batteriebetriebsdauer einer Mobilvorrichtung durch Überwachen einer Mobilanwendung der Mobilvorrichtung, um zu bestimmen, ob die Mobilanwendung in einem inaktiven Zustand ist, zu verlängern, wobei diese nun mit Bezug auf die beigefügten Figuren beschreiben werden.
-
1 zeigt einen Blockschaltplan einer veranschaulichenden Computervorrichtungsarchitektur 100 in Übereinstimmung mit einer beispielhaften Ausführungsform. Bestimmte Aspekte von 1 können in einer Computervorrichtung 200 (z. B. in einer wie in 2 gezeigten Mobilcomputervorrichtung) verkörpert sein. Auf Wunsch können Ausführungsformen der offenbarten Technologie eine Computervorrichtung mit mehr oder weniger der in 1 dargestellten Komponenten enthalten. Selbstverständlich ist die Computervorrichtungsarchitektur 100 nur zu Beispielzwecken gegeben und schränkt sie den Schutzumfang der verschiedenen Ausführungsformen der vorliegend offenbarten Systeme, Verfahren und computerlesbaren Medien nicht ein.
-
Die Computervorrichtungsarchitektur 100 aus 1 enthält eine CPU 102 , wo Computeranweisungen verarbeitet werden; eine Anzeigeschnittstelle 104 , die als eine Kommunikationsschnittstelle wirkt und Funktionen zum Rendern von Video, Graphik, Bildern und Texten auf der Anzeige bereitstellt. In bestimmten Ausführungsformen der offenbarten Technologie kann die Anzeigeschnittstelle 104 mit einer lokalen Anzeige wie etwa einer Berührungsbildschirmanzeige, die einer Mobilcomputervorrichtung zugeordnet ist, direkt verbunden sein. In einer anderen beispielhaften Ausführungsform kann die Anzeigeschnittstelle 104 dafür konfiguriert sein, Daten, Bilder und andere Informationen für eine externe/ferne Anzeige bereitzustellen, die mit der Mobilcomputervorrichtung nicht notwendig physikalisch verbunden ist. Zum Beispiel kann ein Desktopmonitor genutzt werden, um Graphik und andere Informationen, die auf einer Mobilcomputervorrichtung dargestellt werden, zu spiegeln. In einigen bestimmten Ausführungsformen kann die Anzeigeschnittstelle 104 z. B. über einen Wi-Fi-Kanal oder über eine andere verfügbare Netzverbindungsschnittstelle 112 mit der externen/fernen Anzeige drahtlos kommunizieren.
-
In einer beispielhaften Ausführungsform kann die Netzverbindungsschnittstelle 112 als eine Kommunikationsschnittstelle konfiguriert sein und Funktionen zum Rendern von Video, Graphik, Bildern, Text, anderen Informationen oder irgendeiner Kombination davon auf der Anzeige bereitstellen. In einem Beispiel kann eine Kommunikationsschnittstelle einen seriellen Anschluss, einen parallelen Anschluss, einen Universaleingabe- und Universalausgabeanschluss (GPIO-Anschluss), einen Spieleanschluss, einen Universal-Serial-Bus-Anschluss (USB-Anschluss), einen Mikro-USB-Anschluss, einen hochauflösenden Multimediaanschluss (HDMI-Anschluss), einen Videoanschluss, einen Audioanschluss, einen Bluetooth-Anschluss, einen Nahfeldkommunikationsanschluss (NFC-Anschluss), eine andere ähnliche Kommunikationsschnittstelle oder irgendeine Kombination davon enthalten.
-
Die Computervorrichtungsarchitektur 100 kann eine Tastaturschnittstelle 106 enthalten, die eine Kommunikationsschnittstelle zu einer Tastatur bereitstellt. In einer beispielhaften Ausführungsform kann die Computervorrichtungsarchitektur 100 eine anwesenheitsempfindliche Anzeigeschnittstelle 108 zum Verbinden mit einer anwesenheitsempfindlichen Anzeige 107 enthalten. In Übereinstimmung mit einigen bestimmten Ausführungsformen der offenbarten Technologie kann die anwesenheitsempfindliche Anzeigeschnittstelle 108 eine Kommunikationsschnittstelle zu verschiedenen Vorrichtungen wie etwa zu einer Zeigevorrichtung, zu einem Berührungsbildschirm, zu einer Tiefenkamera usw., die einer Anzeige zugeordnet oder nicht zugeordnet sein können, bereitstellen.
-
Die Computervorrichtungsarchitektur 100 kann dafür konfiguriert sein, eine Eingabevorrichtung über eine oder mehrere Eingabe/Ausgabe-Schnittstellen (z. B. die Tastaturschnittstelle 106 , die Anzeigeschnittstelle 104 , die anwesenheitsempfindliche Anzeigeschnittstelle 108 , die Netzverbindungsschnittstelle 112 , die Kameraschnittstelle 114 und die Schallschnittstelle 116 usw.) zu verwenden, um zu ermöglichen, dass ein Nutzer Informationen in der Computervorrichtungsarchitektur 100 erfasst. Die Eingabevorrichtung kann eine Maus, einen Trackball, ein Richtungs-Pad, ein Trackpad, ein berührungsverifiziertes Trackpad, ein anwesenheitsempfindliches Trackpad, eine anwesenheitsempfindliche Anzeige, ein Scrollrad, eine Digitalkamera, eine digitale Videokamera, eine Webcam, ein Mikrofon, einen Sensor, eine Chipkarte und dergleichen enthalten. Zusätzlich kann die Eingabevorrichtung mit der Computervorrichtungsarchitektur 100 integriert sein oder eine separate Vorrichtung sein. Die Eingabevorrichtung kann z. B. ein Beschleunigungsmesser, ein Magnetometer, eine Digitalkamera, ein Mikrofon und ein optischer Sensor sein.
-
Beispielhafte Ausführungsformen der Computervorrichtungsarchitektur 100 können eine Antennenschnittstelle 110 , die eine Kommunikationsschnittstelle zu einer Antenne bereitstellt; eine Netzverbindungsschnittstelle 112 , die eine Kommunikationsschnittstelle zu einem Netz bereitstellt, enthalten. In bestimmten Ausführungsformen ist eine Kameraschnittstelle 114 vorgesehen, die als eine Kommunikationsschnittstelle wirkt und Funktionen zum Erfassen digitaler Bilder von einer Kamera bereitstellt. In bestimmten Ausführungsformen ist eine Schallschnittstelle 116 als eine Kommunikationsschnittstelle zum Umsetzen von Schall in elektrische Signale unter Verwendung eines Mikrofons und zum Umsetzen elektrischer Signale in Schall unter Verwendung eines Lautsprechers vorgesehen. In Übereinstimmung mit beispielhaften Ausführungsformen ist ein Schreib-Lese-Datenspeicher (RAM) 118 vorgesehen, wobei Computeranweisungen und Daten in einer flüchtigen Datenspeichervorrichtung zur Verarbeitung durch die CPU 102 gespeichert werden können.
-
Beispielhafte Ausführungsformen der Computervorrichtungsarchitektur 100 können verschiedene Schnittstellen enthalten, die Kommunikationsschnittstellen zu verschiedenen Sensoren für die Datenerhebung bereitstellen. In bestimmten Ausführungsformen ist eine Umgebungslichtsensorschnittstelle 140 als eine Kommunikationsschnittstelle vorgesehen und stellt sie Funktionen bereit, um Lichtdaten von einem Umgebungslichtsensor zu erhalten. In bestimmten Ausführungsformen ist eine Thermometerschnittstelle 142 als eine Kommunikationsschnittstelle vorgesehen und stellt sie Funktionen bereit, um Temperaturdaten von einem Temperatursensor zu erfassen. In bestimmten Ausführungsformen ist eine Beschleunigungsmesserschnittstelle 144 als eine Kommunikationsschnittstelle vorgesehen und stellt sie Funktionen bereit, um Beschleunigungsmesserdaten von einem Beschleunigungsmesser zu erhalten. In bestimmten Ausführungsformen ist eine Gyroskopschnittstelle 146 als eine Kommunikationsschnittstelle vorgesehen und stellt sie Funktionen bereit, um Gyroskopdaten von einem Gyroskop zu erhalten. In bestimmten Ausführungsformen ist eine GPS-Ortsschnittstelle 148 als eine Kommunikationsschnittstelle vorgesehen und stellt sie Funktionen bereit, um Ortsdaten von einem GPS-Empfänger zu erhalten. In bestimmten Ausführungsformen ist eine Atmosphärendruckschnittstelle 152 als eine Kommunikationsschnittstelle vorgesehen und stellt sie Funktionen bereit, um Druckdaten von einem Drucksensor zu erhalten. In bestimmten Ausführungsformen ist eine Feuchtigkeitsschnittstelle 154 als eine Kommunikationsschnittstelle vorgesehen und stellt sie Funktionen bereit, um Feuchtigkeitsdaten von einem Feuchtigkeitssensor zu erhalten.
-
In Übereinstimmung mit einer beispielhaften Ausführungsform enthält die Computervorrichtungsarchitektur 100 einen Nur-Lese-Datenspeicher (ROM) 120 , wo invarianter Systemcode oder Daten auf niedriger Ebene für Grundsystemfunktionen wie etwa Basis-Eingabe und Basis-Ausgabe (Basis-E/A), Start oder Empfang von Tastendrücken von einer Tastatur in einer nichtflüchtigen Datenspeichervorrichtung gespeichert sind. In Übereinstimmung mit einer beispielhaften Ausführungsform enthält die Computervorrichtungsarchitektur 100 ein Speichermedium 122 oder einen anderen geeigneten Typ eines Datenspeichers (z. B. RAM, ROM, programmierbaren Nur-Lese-Datenspeicher (PROM), löschbaren programmierbaren Nur-Lese-Datenspeicher (EPROM), elektrisch löschbaren programmierbaren Nur-Lese-Datenspeicher (EEPROM), Magnetplatten, optische Platten, Disketten, Festplatten, Wechselkassetten, Flash-Laufwerke), wo die Dateien, die ein Betriebssystem 124 , Anwendungsprogramme 126 (einschließlich z. B. einer Web-Browser-Anwendung, einer Widget- oder Gadget-Engine und/oder anderer Anwendungen nach Bedarf) und Datendateien 128 enthalten, gespeichert sind. In Übereinstimmung mit einer beispielhaften Ausführungsform enthält die Computervorrichtungsarchitektur 100 eine Leistungsquelle 130 , die einen geeigneten Wechselstrom (AC) oder Gleichstrom (DC) für die Leistungsversorgung von Komponenten bereitstellt. In Übereinstimmung mit einer beispielhaften Ausführungsform enthält die Computervorrichtungsarchitektur 100 ein Telephonieteilsystem 132 , das die Sendung und den Empfang von Schall über ein Telephonnetz ermöglicht. Die Bestandteilvorrichtungen und die CPU 102 kommunizieren miteinander über einen Bus 134 .
-
In Übereinstimmung mit einer beispielhaften Ausführungsform weist die CPU 102 eine geeignete Struktur auf, um ein Computerprozessor zu sein. In einer Anordnung kann die CPU 102 mehr als eine Verarbeitungseinheit enthalten. Der RAM 118 ist über eine Schnittstelle mit dem Computerbus 134 verbunden, um während der Ausführung von Softwareprogrammen wie etwa den Betriebssystemanwendungsprogrammen und Vorrichtungstreibern eine schnelle RAM-Speicherung für die CPU 102 bereitzustellen. Genauer lädt die CPU 102 durch einen Computer ausführbare Prozessschritte von dem Speichermedium 122 oder von anderen Medien in ein Gebiet des RAM 118 , um Softwareprogramme auszuführen. Die Daten können in dem RAM 118 gespeichert werden, wo auf die Daten während der Ausführung durch die Computer-CPU 102 zugegriffen werden kann. In einer beispielhaften Konfiguration enthält die Vorrichtungsarchitektur 100 wenigstens 125 MB RAM und 256 MB Flash-Speicher.
-
Das Speichermedium 122 selbst kann eine Anzahl physikalischer Laufwerkseinheiten wie etwa ein Redundant Array of Independent Disks (RAID), ein Diskettenlaufwerk, einen Flash-Datenspeicher, ein USB-Flash-Laufwerk, ein externes Festplattenlaufwerk, ein Thumb-Laufwerk, ein Stiftlaufwerk, ein Key-Laufwerk, ein optisches High-Density-Digital-Versatile-Disk-Plattenlaufwerk (HD-DVD-Plattenlaufwerk), ein internes Festplattenlaufwerk, ein optisches BluRay-Plattenlaufwerk oder ein optisches holographisches digitales Datenspeicherplattenlaufwerk (HDDS-Plattenlaufwerk), einen synchronen dynamischen Schreib-Lese-Speicher eines externen Mini-Dual-Inline-Datenspeichermoduls (DIMM-SDRAM) oder einen externen Mikro-DIMM-SDRAM enthalten. Solche computerlesbaren Speichermedien ermöglichen, dass eine Computervorrichtung auf durch einen Computer ausführbare Prozessschritte, Anwendungsprogramme und dergleichen, die auf Wechseldatenspeichermedien und fest eingebauten Datenspeichermedien gespeichert sind, zugreift, um Daten von der Vorrichtung zu entladen und auf die Vorrichtung Daten heraufzuladen. Ein Computerprogrammprodukt wie etwa eines, das ein Kommunikationssystem nutzt, kann in dem Speichermedium 122 konkret verkörpert sein, das ein maschinenlesbares Speichermedium umfassen kann.
-
In Übereinstimmung mit einer beispielhaften Ausführungsform kann der Begriff Computervorrichtung, wie er hier verwendet ist, eine CPU sein oder als eine CPU (z. B. die CPU 102 aus 1 ) entworfen sein. In dieser beispielhaften Ausführungsform kann die Computervorrichtung mit einer oder mehreren Peripherievorrichtungen wie etwa einer Anzeige gekoppelt sein, verbunden sein und/oder in Kommunikation stehen. In einer anderen beispielhaften Ausführungsform kann sich der Begriff Computervorrichtung, wie er hier verwendet ist, auf eine Mobilcomputervorrichtung 200 wie etwa ein Smartphone oder einen Tablet-Computer beziehen. In dieser beispielhaften Ausführungsform kann die Computervorrichtung Inhalt an ihre lokale Anzeige und/oder an einen oder mehrere Lautsprecher ausgeben. In einer anderen beispielhaften Ausführungsform kann die Computervorrichtung Inhalt an eine externe Anzeigevorrichtung (z. B. über Wi-Fi) wie etwa an ein Fernsehgerät oder an ein externes Computersystem ausgeben.
-
In einigen Ausführungsformen der offenbarten Technologie kann die Mobilcomputervorrichtung 200 irgendeine Anzahl von Hardware und/oder Softwareanwendungen, die ausgeführt werden, um irgendwelche der Operationen zu ermöglichen, enthalten. In einigen Ausführungsformen können eine oder mehrere E/A-Schnittstellen die Kommunikation zwischen der Computervorrichtung und einer oder mehreren Eingabe/Ausgabe-Vorrichtungen ermöglichen. Zum Beispiel können ein Universal-Serial-Bus-Anschluss, ein serieller Anschluss, ein Plattenlaufwerk, ein CD-ROM-Laufwerk und/oder eine oder mehrere Nutzerschnittstellenvorrichtungen wie etwa eine Anzeige, eine Tastatur, ein Tastenfeld, eine Maus, ein Bedienfeld, eine Berührungsbildschirmanzeige, ein Mikrofon usw. eine Nutzerinteraktion mit der Computervorrichtung ermöglichen. Die eine oder die mehreren E/A-Schnittstellen können genutzt werden, um Daten und/oder Nutzeranweisungen von einer breiten Vielzahl von Eingabevorrichtungen zu empfangen oder zu erheben. Die empfangenen Daten können in verschiedenen Ausführungsformen der offenbarten Technologie wie gewünscht durch einen oder mehrere Computerprozessoren verarbeitet und/oder in einer oder in mehreren Datenspeichervorrichtungen gespeichert werden.
-
Eine oder mehrere Netzschnittstellen können die Verbindung der Computervorrichtungseingänge und Computervorrichtungsausgänge mit einem oder mit mehreren geeigneten Netzen und/oder mit einer oder mit mehreren geeigneten Verbindungen; z. B. mit den Verbindungen, die die Kommunikation mit irgendeiner Anzahl dem System zugeordneter Sensoren ermöglichen, ermöglichen. Ferner können die eine oder die mehreren Netzschnittstellen die Verbindung mit einem oder mit mehreren geeigneten Netzen; z. B. mit einem lokalen Netz, mit einem Weitverkehrsnetz, mit dem Internet, mit einem Zellennetz, mit einem Funkfrequenznetz, mit einem Bluetooth-fähigen Netz, mit einem Wi-Fi-fähigen Netz, mit einem satellitengestützten Netz, mit irgendeinem verdrahteten Netz, mit irgendeinem drahtlosen Netz usw. für die Kommunikation mit externen Vorrichtungen und/oder Systemen ermöglichen.
-
2 zeigt eine Darstellung einer Mobilcomputervorrichtung 200 in Übereinstimmung mit einer beispielhaften Ausführungsform. Wie in 2 gezeigt ist, kann die Computervorrichtung eine Mobilcomputervorrichtung, z. B. ein Smartphone oder ein Tablet, sein. Die Mobilcomputervorrichtung 200 kann eine eingebaute oder integrierte Anzeige 202 zur Darstellung einer graphischen Nutzerschnittstelle (GUI) eines Webbrowsers aufweisen. Die Anzeige kann mit einer anwesenheitsempfindlichen Eingabevorrichtung kombiniert sein, um eine berührungsempfindliche oder anwesenheitsempfindliche Anzeige zum Empfangen einer Nutzereingabe von einem Schreibstift, einem Finger oder einem anderen Mittel zur Gesteneingabe zu bilden. In einigen Ausführungsformen kann die Mobilcomputervorrichtung 200 ebenfalls eine Schallerzeugungsvorrichtung wie etwa einen Lautsprecher, einen piezoelektrischen Summer oder dergleichen enthalten oder können diese ihr zugeordnet sein.
-
Die Mobilcomputervorrichtung 200 kann mit einer Bilderfassungsvorrichtung 204 in Kommunikation stehen, um Inhalt zu erfassen oder aufzuzeichnen. Wie in 2 gezeigt ist, kann die Computervorrichtung eine eingebaute oder interne Bilderfassungsvorrichtung, z. B. eine Kamera, enthalten. Die Bilderfassungsvorrichtung kann eine Beleuchtungsvorrichtung, z. B. eine Blitzlichtvorrichtung oder eine IR-Bake, enthalten oder diese kann ihr zugeordnet sein. In einer anderen beispielhaften Ausführungsform kann die Bilderfassungsvorrichtung extern gegenüber der Computervorrichtung sein und mit der Computervorrichtung z. B. über eine Direktverbindung oder eine drahtlose Kopplung in Kommunikation stehen.
-
In bestimmten Ausführungsformen kann die Mobilcomputervorrichtung 200 eine oder mehrere Antennen oder Funkeinrichtungen für die drahtlose Kommunikation enthalten. Diese können Antennen zum Empfang von GPS, Wi-Fi oder anderen Funkkommunikationen enthalten. Außerdem kann die Mobilcomputervorrichtung einen oder mehrere Sensoren zum Detektieren, z. B. und ohne Einschränkung, der Temperatur, des Drucks, der Höhe, der magnetischen Richtung usw. enthalten.
-
Wie hier beschrieben ist, enthalten Ausführungsformen der offenbarten Technologie Techniken zum Verlängern der Batteriebetriebsdauer einer Mobilvorrichtung durch Überwachen einer Mobilanwendung, um zu bestimmen, ob die Mobilanwendung in einem inaktiven Zustand ist. Die Batteriebetriebsdauer kann z. B. dadurch erhalten werden, dass die Mobilanwendung in einem Leerlaufzustand angeordnet wird, der verhindern kann, dass auf die Mobilanwendung von einem oder von mehreren Betriebsmitteln der Mobilvorrichtung zugegriffen wird. In einigen Ausführungsformen kann sich der Begriff „Mobilanwendung“ auf Anwendungen beziehen, die nicht Teil des Betriebssystems der Mobilvorrichtung sind oder auf andere Weise systemspezifisch für die Mobilvorrichtung sind, sondern die von einer externen Quelle wie etwa z. B. von einem Mobilanwendungsshop in die Mobilvorrichtung geladen worden sind.
-
In Übereinstimmung mit einigen Ausführungsformen kann ein Prozessor einer Mobilvorrichtung bestimmen, dass eine Mobilanwendung der Mobilvorrichtung für eine vorgegebene Zeitdauer in einem inaktiven Zustand ist. Der Prozessor kann diese Bestimmung dadurch vornehmen, dass er bestimmt, dass die Mobilanwendung für die vorgegebene Zeitdauer nicht aktiv (d. h. in einem aktiven Zustand) ist. In einigen Ausführungsformen kann ein Prozessor bestimmen, dass eine Mobilanwendung aktiv ist, falls die Mobilanwendung eine oder mehrere aktive Funktionen wie etwa z. B. das Ausführen eines Prozesses im Vordergrund der Mobilvorrichtung, das Ausgeben einer Benachrichtigung an einen Nutzer oder dass sie durch einen Nutzer gestartet wird, ausführt. In einigen Fällen kann ein Nutzer wünschen, dass eine Mobilanwendung, von der andernfalls bestimmt würde, dass sie in einem inaktiven Zustand ist, dennoch in einem aktiven Zustand bleibt. Somit kann eine Mobilanwendung in einigen Ausführungsformen in Ansprechen auf den Empfang einer Angabe einer Nutzereingabe, die die Mobilanwendung anweist, in einem aktiven Zustand zu bleiben, aktiv bleiben, trotzdem die Mobilanwendung während der vorgegebenen Zeitdauer keine aktive Funktion ausführt. Wie im Folgenden beschrieben ist, kann eine Mobilanwendung, wenn sie in einem aktiven Zustand ist, In Übereinstimmung mit einigen Ausführungsformen ohne die Batteriesparbeschränkungen an Funktionalität, die während eines Leerlaufzustands auferlegt werden kann, arbeiten.
-
In Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung kann ein Prozessor bestimmen, dass eine Mobilanwendung in einem aktiven Zustand ist, falls die Mobilanwendung einen Prozess besitzt, der aktuell im Vordergrund der Mobilvorrichtung ausgeführt wird. Der Fachmann auf dem Gebiet versteht, dass eine Mobilanwendung, die einen Prozess besitzt, der im Vordergrund ausgeführt wird, einen Prozess, der durch einen Nutzer aufgerufen worden ist, oder einen Prozess, der durch eine andere Anwendung, die aktuell im Vordergrund der Mobilvorrichtung ausgeführt wird, aufgerufen worden ist, enthalten kann. Zum Beispiel kann ein Prozessor der Mobilvorrichtung bestimmen, dass die Mobilvorrichtung aktiv ist, da sie im Vordergrund verwendet ist, falls eine andere Anwendung, die aktuell im Vordergrund der Mobilvorrichtung ausgeführt wird, auf die Mobilanwendung zugegriffen hat, indem sie z. B. eine Kontaktliste der Mobilanwendung geladen hat. Hintergrundprozesse, die durch eine Mobilanwendung ausgeführt werden, die das Ausführen von Alarmen, Benachrichtigungen und Rundsendenachrichten enthalten, können nicht als Prozesse betrachtet werden, die im Vordergrund ausgeführt werden, wobei ein Prozessor in einigen Ausführungsformen somit bestimmen kann, dass eine Mobilanwendung, die solche Hintergrundprozesse ausführt, nicht in einem aktiven Zustand ist. Darüber hinaus können Mobilanwendungen, die Aufgaben ausführen, die kein direktes Ergebnis einer Nutzeraktion oder einer Interaktion mit einer anderen Anwendung sind, die aktuell im Vordergrund ausgeführt wird, nicht als im Vordergrund ausgeführt betrachtet werden, so dass ein Prozessor in einigen Ausführungsformen bestimmen kann, dass eine Mobilanwendung, die solche Prozesse ausführt, nicht in einem aktiven Zustand ist.
-
In Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung kann ein Prozessor bestimmen, dass eine Mobilanwendung in einem aktiven Zustand ist, falls die Mobilanwendung eine Benachrichtigung an einen Nutzer ausgibt. Zum Beispiel kann ein Prozessor in einigen Ausführungsformen bestimmen, dass eine Mobilanwendung in einem aktiven Zustand ist, falls die Mobilanwendung auf dem Bildschirm 202 der Vorrichtung (einschließlich eines Verriegelungsbildschirms) oder an einen Benachrichtigungsinfobereich der Vorrichtung eine visuelle Benachrichtigung ausgibt, falls die Mobilanwendung veranlasst, dass die Mobilvorrichtung eine Audiobenachrichtigung wie etwa ein Klingeln oder Piepen ausgibt, falls die Mobilanwendung veranlasst, dass die Mobilvorrichtung eine Tastbenachrichtigung wie etwa eine Schwingung ausgibt oder falls die Mobilanwendung veranlasst, dass die Mobilvorrichtung irgendeine andere solche Benachrichtigung ausgibt. In einigen Ausführungsformen kann ein Prozessor bestimmen, dass eine Mobilanwendung, die eine Benachrichtigung an einen Nutzer ausgegeben hat, weiter eine aktive Funktion ausführt, bis der Nutzer die Benachrichtigung ansieht. Zum Beispiel kann ein Prozessor in einigen Ausführungsformen bestimmen, dass eine Benachrichtigung, die auf dem Verriegelungsbildschirm 202 der Mobilvorrichtung ist oder in einem Benachrichtigungsinfobereich liegt, weiter eine aktive Funktion ausführt, bis der Prozessor eine Angabe empfängt, dass der Nutzer die Benachrichtigung angesehen hat. In einigen Ausführungsformen kann ein Prozessor in Ansprechen darauf, dass er detektiert, dass der Nutzer z. B. durch Öffnen oder Ansehen der Benachrichtigung die Benachrichtigung quittiert hat, bestimmen, dass die Mobilanwendung in einem aktiven Zustand ist, nachdem eine Benachrichtigung an einen Nutzer ausgegeben worden ist. In diesen Fällen kann der Prozessor bestimmen, dass die Mobilanwendung in einem inaktiven Zustand ist, bis durch den Prozessor eine Angabe einer Quittierung der Benachrichtigung durch den Nutzer empfangen worden ist.
-
In Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung kann ein Prozessor bestimmen, dass eine Mobilanwendung in einem aktiven Zustand ist, falls die Mobilanwendung durch einen Nutzer gestartet wird oder ein Nutzer auf andere Weise mit ihr interagiert. Zum Beispiel kann ein Nutzer eine Mobilanwendung in einigen Ausführungsformen dadurch starten, dass er ein Icon auf dem Bildschirm 202 auswählt. In Übereinstimmung mit einigen Ausführungsformen kann eine Mobilanwendung durch einen Nutzer dadurch gestartet werden, dass er an die Mobilvorrichtung einen Sprachbefehl ausgibt, wobei der Sprachbefehl eine Angabe des Nutzers zum Starten der Mobilanwendung enthält. In einigen Ausführungsformen kann ein Nutzer eine Mobilanwendung dadurch starten, dass er eine Geste mit der Mobilvorrichtung ausführt. In einigen Ausführungsformen kann ein Nutzer eine Mobilanwendung dadurch starten, dass er von einer fernen Vorrichtung wie etwa von einem Server einen Befehl an die Mobilvorrichtung sendet.
-
In Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung kann ein Prozessor bestimmen, dass eine Mobilanwendung in einem aktiven Zustand ist, falls der Prozessor eine Angabe empfängt, dass die Mobilanwendung dafür ausgelegt ist, durch einen Nutzer aktiv zu bleiben. Dies kann als Aufnahme in eine Whitelist einer Mobilanwendung bekannt sein. Zum Beispiel kann die Mobilvorrichtung von einem Nutzer eine Angabe empfangen, dass der Nutzer wünscht, dass die Mobilanwendung selbst dann in einem aktiven Zustand bleibt, wenn die Mobilanwendung während einer vorgegebenen Zeitdauer keinen aktiven Prozess ausführt, was andernfalls veranlassen kann, dass ein Prozessor der Mobilvorrichtung bestimmt, dass die Mobilanwendung in einem inaktiven Zustand ist. In einigen Ausführungsformen können Mobilanwendungen, die durch einen Nutzer dafür ausgelegt worden sind, in einem inaktiven Zustand zu bleiben, z. B. Benachrichtigungslistener weiter ausführen. In Übereinstimmung mit einigen Ausführungsformen kann das Betriebssystem oder eine andere Mobilanwendung ebenfalls in der Lage sein anzufordern, dass eine Mobilanwendung in einem aktiven Zustand bleibt. In einigen Ausführungsformen kann ein Prozessor ermöglichen, dass eine Mobilanwendung in einer Whitelist einige oder alle Funktionalitäten der Mobilanwendung, die andernfalls verlorengingen, wenn die Mobilanwendung in einem Leerlaufzustand angeordnet wird, behält.
-
Wie oben beschrieben wurde, kann ein Prozessor bestimmen, dass eine Mobilanwendung in einem aktiven Zustand ist, falls die Mobilanwendung während einer vorgegebenen Zeitdauer keine aktive Funktion ausgeführt hat. In einigen Ausführungsformen kann die vorgegebene Zeitdauer durch ein herkömmliches Verstreichen von Zeit („herkömmliche Zeit“) bezeichnet sein. Dementsprechend kann ein Prozessor in einigen Ausführungsformen bestimmen, dass die Mobilanwendung in einem inaktiven Zustand ist, falls die Mobilanwendung z. B. in den vergangenen drei Tagen keine aktive Funktion ausgeführt hat. In einigen Ausführungsformen kann der Prozessor diese Bestimmung unabhängig von der Aktivität oder Inaktivität der Mobilvorrichtung 200 vornehmen. Zum Beispiel kann die vorgegebene Zeitdauer unabhängig davon gemessen werden, ob die Mobilvorrichtung 200 während der drei Tage, die die vorgegebene Zeitdauer bilden, Angaben einer Inaktivität erfahren hat, wie etwa, dass der Bildschirm 202 oder die Leistung ausgeschaltet war, falls die vorgegebene Zeitdauer drei Tage sind. Der Fachmann auf dem Gebiet versteht, dass die vorgegebene Zeitdauer zwischen Ausführungsformen variieren kann, sich aber auf eine Stunde, zwei Stunden, sechs Stunden, zehn Stunden, einen Tag, zwei Tage, drei Tage, eine Woche oder irgendeine andere Zeitdauer, die geeignet sein kann, beziehen könnte. Darüber hinaus kann sich die vorgegebene Zeitdauer in Übereinstimmung mit einigen Ausführungsformen von Mobilanwendung zu Mobilanwendung unterscheiden. Somit kann z. B. einer ersten Mobilanwendung eine erste vorgegebene Zeitdauer für Inaktivität zugeordnet sein und kann einer zweiten Mobilanwendung eine zweite vorgegebene Zeitdauer für Inaktivität zugeordnet sein.
-
In einigen Ausführungsformen kann die vorgegebene Zeitdauer durch die in Bezug auf eine Bedingung der Mobilvorrichtung verstrichene Zeit bezeichnet sein („Bedingungszeit“). Dementsprechend kann die vorgegebene Zeitdauer in einigen Ausführungsformen durch eine Zeitdauer bezeichnet sein, in der die Batterie und/oder der Bildschirm 202 der Mobilvorrichtung eingeschaltet sind. Zum Beispiel kann ein Prozessor in einigen Ausführungsformen bestimmen, dass die Mobilvorrichtung in einem aktiven Zustand ist, falls die Mobilanwendung in den vergangenen acht Stunden der Zeit, in der sowohl die Batterie als auch der Bildschirm 202 der Mobilvorrichtung eingeschaltet waren, keine aktive Funktion ausgeführt hat. Somit kann die vorgegebene Zeitdauer in Übereinstimmung mit einigen Ausführungsformen, in denen die vorgegebene Zeitdauer in Bedingungszeit gemessen wird, durch Subtrahieren der Zeit, die der Bildschirm 202 der Mobilvorrichtung 200 ausgeschaltet war und/oder die Leistung ausgeschaltet war, von der Dauer der herkömmlichen Zeit, die verstrichen ist, gemessen werden.
-
In Übereinstimmung mit einigen Ausführungsformen kann ein Prozessor die Mobilvorrichtung eine Mobilanwendung in Ansprechen auf die Bestimmung, dass die Mobilanwendung in einem inaktiven Zustand ist, in einem Leerlaufzustand anordnen. Es ist zu verstehen, dass eine Mobilanwendung in einem Leerlaufzustand ebenfalls in einem inaktiven Zustand bleibt. In einigen Ausführungsformen kann der Prozessor verhindern, dass die Mobilanwendung auf ein oder mehrere Betriebsmittel der Mobilvorrichtung zugreift, wenn ein Prozessor eine Mobilanwendung in einem Leerlaufzustand anordnet. Zum Beispiel kann ein Prozessor in einigen Ausführungsformen verhindern, dass eine Mobilanwendung auf ein Netz zugreift, wenn sie in einem Leerlaufzustand ist. Das Zugreifen auf ein Netz kann sich auf einen verdrahteten oder drahtlosen Zugriff beziehen, bezieht sich am vorteilhaftesten aber auf einen drahtlosen Zugriff. In einigen Ausführungsformen kann ein Prozessor Synchronisationen, Aufgaben und/oder Alarme einer Mobilanwendung verzögern, wenn die Mobilanwendung in einem Leerlaufzustand ist.
-
Um zu verhindern, dass eine Mobilanwendung einen Netzzugriff hat, kann ein Prozessor der Mobilvorrichtung in Übereinstimmung mit einigen Ausführungsformen verhindern, dass die Mobilanwendung einen drahtlosen Transceiver der Mobilvorrichtung nutzt, um z. B. auf ein drahtloses Netz oder Zellennetz zuzugreifen. Zum Beispiel kann einer Mobilanwendung in einigen Ausführungsformen eine Firewall zugeordnet sein, die bestimmt, ob die Mobilanwendung Netzzugriff hat. In einigen Ausführungsformen kann der Prozessor die Firewall aktivieren, um zu verhindern, dass die Mobilanwendung Netzzugriff hat. In Übereinstimmung mit einigen Ausführungsformen kann sich der Netzzugriff auf ein Mobilnetz wie etwa Wi-Fi, auf ein Zellennetz, auf Bluetooth, auf WiMax oder auf irgendein anderes solches Netz beziehen. In einigen Ausführungsformen kann sich der Netzzugriff auf ein verdrahtetes Netz beziehen, das z. B. unter Verwendung eines Ethernet-Kabels mit der Mobilvorrichtung 200 verbinden kann.
-
In einigen Ausführungsformen kann es typisch sein, dass Mobilanwendungen Synchronisationen, Aufgaben und Alarme als Teil ihres normalen Funktionierens intermittierend ausführen. Zum Beispiel kann eine Synchronisation oder ein Auftrag das Auslesen einer E-Mail, das Synchronisieren eines Kalendereintrags oder das Herunterladen einer Aktualisierung für die Anwendung enthalten. Ein durch eine Mobilanwendung ausgeführter Alarm kann z. B. die CPU aufwecken. In Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung kann ein Prozessor der Vorrichtung veranlassen, dass eine oder mehrere Synchronisations-, Auftrags- oder Alarmfunktionen einer Mobilanwendung verschoben werden, wenn die Mobilanwendung in einem Leerlaufzustand ist. In einigen Ausführungsformen kann die Ausführung der Synchronisations-, Auftrags- oder Alarmfunktion verschoben werden, bis ein Prozessor bestimmt, dass die Mobilanwendung in einem aktiven Zustand ist. In Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung kann das Betriebssystem der Mobilvorrichtung die Synchronisations-, Auftrags- und Alarmfunktion einer Mobilanwendung während der Leerlaufzeitdauer zur Ausführung zu einer künftigen Zeit puffern.
-
In Übereinstimmung mit einigen Ausführungsformen kann eine Mobilanwendung, die in Übereinstimmung mit der vorliegenden Offenbarung in einem Leerlaufzustand angeordnet worden ist, weiter in einem Leerlaufzustand bleiben, bis ein Prozessor bestimmt, dass die Mobilanwendung eine aktive Funktion ausgeführt hat. Zum Beispiel kann ein Prozessor der Mobilvorrichtung in einigen Ausführungsformen eine Mobilanwendung aus dem Leerlaufzustand entnehmen, falls die Mobilanwendung einen Prozess im Vordergrund der Mobilvorrichtung ausführt, falls die Mobilanwendung veranlasst, dass die Mobilvorrichtung eine Benachrichtigung an einen Nutzer ausgibt, oder falls die Mobilanwendung durch einen Nutzer gestartet wird. In einigen Ausführungsformen kann ein Prozessor eine Mobilanwendung aus dem Leerlaufzustand entnehmen, falls der Prozessor ein Signal empfängt, das angibt, dass die Mobilvorrichtung in eine Leistungsquelle gesteckt worden ist. In Übereinstimmung mit einigen Ausführungsformen kann der Prozessor der Mobilanwendung Zugriff auf Mobilvorrichtungsbetriebsmittel gewähren, der zuvor während des Leerlaufzustands beschränkt war, falls ein Prozessor eine Mobilanwendung aus dem Leerlaufzustand entnimmt. In einigen Ausführungsformen kann eine Mobilanwendung, die durch einen Prozessor in einem Leerlaufzustand angeordnet worden ist, für eine unbeschränkte Zeitdauer in dem Leerlaufzustand bleiben, bis sie ein Prozessor wie oben beschrieben in Ansprechen auf den Empfang eines Signals, das angibt, dass die Mobilanwendung eine aktive Funktion ausgeführt hat oder dass die Mobilvorrichtung in eine Leistungsquelle gesteckt worden ist, aus dem Leerlaufzustand entnimmt. In einigen Ausführungsformen kann ein Prozessor eine Mobilanwendung, die unbeschränkt in einem Leerlaufzustand angeordnet ist, periodisch aus dem Leerlaufzustand entnehmen und der Mobilanwendung vorübergehend Zugriff auf Mobilvorrichtungsbetriebsmittel gewähren, um zu ermöglichen, dass die Mobilanwendung Aktualisierungen ausführt. In einigen Ausführungsformen kann ein Prozessor bestimmen, dass eine Mobilanwendung für eine vorgegebene Zeitdauer in einem Leerlaufzustand ist und die Mobilanwendung für eine gewisse Zeitdauer aus dem Leerlaufzustand entnehmen. Zum Beispiel kann der Prozessor die Mobilanwendung in einigen Ausführungsformen für einen Tag in einem Leerlaufzustand anordnen und sie daraufhin für zwei Minuten aus dem Leerlaufzustand entnehmen, um zu ermöglichen, dass sie Aktualisierungen ausführt, bevor er die Mobilanwendung wieder in dem Leerlaufzustand anordnet.
-
In Übereinstimmung mit einigen Ausführungsformen kann ein Prozessor eine Mobilvorrichtung oder Mobilanwendung in Ansprechen auf den Empfang eines Signals von einer anderen Vorrichtung oder von einer anderen Anwendung vorübergehend aus einem Leerlaufzustand entnehmen. Zum Beispiel kann ein Prozessor der Mobilvorrichtung in einigen Ausführungsformen für kurze Zeitdauer der Mobilanwendung Netzzugriff und/oder die Fähigkeit zum Ausführen anstehender Aufgaben, Synchronisationen und/oder Alarme gewähren, falls die Mobilvorrichtung ein Tickle empfängt. In Übereinstimmung mit einigen Ausführungsformen kann ein Tickle eine Push-Nachricht sein, die durch einen Push-Messaging-Dienst geliefert wird. In einigen Ausführungsformen kann der Prozessor der Mobilvorrichtung der Mobilanwendung nur für kurze Zeitdauer Netzzugriff und/oder die Fähigkeit zum Ausführen anstehender Aufgaben, Synchronisationen und/oder Alarme gewähren, falls dem Tickle eine bestimmte Klassifikation wie etwa z. B. ein Tickle „hohe Priorität“ zugeordnet ist.
-
3 ist ein Ablaufplan eines Verfahrens 300 in Übereinstimmung mit einer beispielhaften Implementierung. Wie in 3 gezeigt ist, enthält das Verfahren in einigen Implementierungen bei 302 das Bestimmen, dass eine Mobilvorrichtungsanwendung für eine vorgegebene Zeitdauer in einem inaktiven Zustand ist. In Übereinstimmung mit einigen Implementierungen kann eine vorgegebene Zeitdauer durch eine herkömmliche Zeit oder durch eine Bedingungszeit bezeichnet sein. Bei 304 kann das Verfahren das Veranlassen, dass eine Mobilanwendung der Mobilvorrichtung in einen Leerlaufzustand eintritt, enthalten. In Übereinstimmung mit einigen Ausführungsformen kann ein Prozessor der Mobilvorrichtung verhindern, dass die Mobilanwendung auf ein oder mehrere Betriebsmittel der Mobilvorrichtung zugreift, wenn die Mobilanwendung in einem Leerlaufzustand ist. Bei 306 kann das Verfahren das Bestimmen, dass die Mobilanwendung in einen aktiven Zustand eingetreten ist, enthalten. In einigen Ausführungsformen kann ein Prozessor der Mobilvorrichtung bei Bestimmung, dass die Mobilanwendung eine aktive Funktion ausgeführt hat, oder bei Detektion, dass die Mobilvorrichtung in eine Leistungsquelle gesteckt worden ist, bestimmen, dass die Mobilanwendung in einen aktiven Zustand eingetreten ist. Schließlich kann das Verfahren bei 308 das Entnehmen der Mobilanwendung aus dem Leerlaufzustand in Ansprechen auf die Bestimmung, dass die Mobilanwendung in einen aktiven Zustand eingetreten ist, enthalten. In Übereinstimmung mit einigen Ausführungsformen kann der Prozessor der Mobilvorrichtung beim Entnehmen einer Mobilanwendung aus dem Leerlaufzustand der Mobilanwendung Zugriff auf ein oder mehrere Betriebsmittel der Mobilvorrichtung, der zuvor während des Leerlaufzustands beschränkt war, gewähren.
-
Selbstverständlich sind die verschiedenen in 3 gezeigten Schritte nur veranschaulichend und können Schritte entfernt werden, andere Schritte verwendet werden oder kann die Reihenfolge der Schritte geändert werden.
-
Oben sind bestimmte Ausführungsformen der offenbarten Technologie anhand von Blockschaltplänen und Ablaufplänen von Systemen und Verfahren und/oder Computerprogrammprodukten in Übereinstimmung mit beispielhaften Ausführungsformen der offenbarten Technologie beschrieben worden. Es ist festzustellen, dass ein oder mehrere Blöcke der Blockschaltpläne und Ablaufpläne und Kombinationen von Blöcken in den Blockschaltplänen bzw. Ablaufplänen durch durch Computer ausführbare Programmanweisungen implementiert werden können. Gleichfalls können einige Blöcke der Blockschaltpläne und Ablaufpläne in Übereinstimmung mit einigen Ausführungsformen der offenbarten Technologie nicht notwendig in der dargestellten Reihenfolge ausgeführt werden oder überhaupt nicht notwendig ausgeführt werden.
-
Diese durch den Computer ausführbaren Programmanweisungen können in einen Universalcomputer, in einen Spezialcomputer, in einen Prozessor oder in ein anderes programmierbares Datenverarbeitungsgerät geladen werden, um eine bestimmte Maschine herzustellen, so dass die Anweisungen, die in dem Computer, Prozessor oder anderen programmierbaren Datenverarbeitungsgerät ausgeführt werden, Mittel erzeugen, um eine oder mehrere in dem Ablaufplanblock oder in den Ablaufplanblöcken spezifizierte Funktionen zu implementieren. Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Datenspeicher gespeichert sein, der einen Computer oder ein anderes programmierbares Datenverarbeitungsgerät anweisen kann, auf bestimmte Weise so zu fungieren, dass die in dem computerlesbaren Datenspeicher gespeicherten Anweisungen einen Herstellungsartikel erstellen, der Anweisungsmittel enthält, die eine oder mehrere in dem Ablaufplanblock oder in den Ablaufplanblöcken spezifizierte Funktionen implementieren. Als ein Beispiel können Ausführungsformen der offenbarten Technologie ein Computerprogrammprodukt schaffen, das ein durch einen Computer verwendbares Medium umfasst, in dem computerlesbarer Programmcode oder Programmanweisungen verkörpert sind, wobei der computerlesbare Programmcode dafür ausgelegt ist ausgeführt zu werden, um eine oder mehrere in dem Ablaufplanblock oder in den Ablaufplanblöcken spezifizierte Funktionen zu implementieren. Außerdem können die Computerprogrammanweisungen in einen Computer oder in ein anderes programmierbares Datenverarbeitungsgerät geladen werden, um zu veranlassen, dass in dem Computer oder in dem anderen programmierbaren Gerät eine Reihe von Operationselementen oder Operationsschritten ausgeführt werden, um einen computerimplementierten Prozess zu erzeugen, so dass die Anweisungen, die in dem Computer oder anderen programmierbaren Gerät ausgeführt werden, Elemente oder Schritte zur Implementierung der in dem Ablaufplanblock oder in den Ablaufplanblöcken spezifizierten Funktionen bereitstellen.
-
Dementsprechend unterstützen Blöcke der Blockschaltpläne und Ablaufpläne Kombinationen von Mitteln zur Ausführung der spezifizierten Funktionen, Kombinationen von Elementen oder Schritten zur Ausführung der spezifizierten Funktionen und Programmanweisungsmittel zur Ausführung der spezifizierten Funktionen. Es ist zu verstehen, dass jeder Block der Blockschaltpläne und Ablaufpläne und Kombinationen von Blöcken in den Blockschaltplänen und Ablaufplänen durch hardwaregestützte Spezialcomputersysteme, die die spezifizierten Funktionen, Elemente oder Schritte ausführen, oder durch Kombinationen von Spezialhardwaresystemen und Spezialcomputeranweisungen implementiert werden können.