DE112012004240T5 - Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms - Google Patents
Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms Download PDFInfo
- Publication number
- DE112012004240T5 DE112012004240T5 DE112012004240.9T DE112012004240T DE112012004240T5 DE 112012004240 T5 DE112012004240 T5 DE 112012004240T5 DE 112012004240 T DE112012004240 T DE 112012004240T DE 112012004240 T5 DE112012004240 T5 DE 112012004240T5
- Authority
- DE
- Germany
- Prior art keywords
- application program
- computing devices
- computer
- information
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/23—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for mobile advertising
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- QUERVERWEIS AUF EINE VERWANDTE ANMELDUNG
- Diese Anmeldung beansprucht Priorität der US-Patentanmeldung Nr. 13/270.892, eingereicht am 11. Oktober 2011 mit dem Titel MONITORING APPLICATION PROGRAM RESOURCE CONSUMPTION, deren Offenbarung hierin durch Verweis aufgenommen wurde.
- FACHGEBIET
- Dieses Dokument betrifft im Allgemeinen das Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms.
- HINTERGRUND
- Ein Rechnersystem kann eine Vielzahl von Anwendungsprogrammen umfassen, und diese Anwendungsprogramme können beim Hochfahren des Rechnersystems oder wenn das Rechnersystem eine Benutzereingabe zum Starten der Anwendungsprogramme empfängt, ausgeführt werden. Beispielsweise kann eine Anzeige des Rechnersystems mehrere Symbole darstellen, von denen jedes einem jeweiligen Anwendungsprogramm entspricht. Ein Benutzer kann eines der Symbole auswählen (z. B. durch Klicken mit einer Maus oder durch Berühren des Symbols mit dem Finger des Benutzers), um das entsprechende Anwendungsprogramm zu starten. Ein Anwendungsprogramm kann ein Computerprogramm sein, das ein Rechnersystem ausführen kann. Beispielsweise kann das Anwendungsprogramm Anweisungen umfassen, die in einer computer-lesbaren Vorrichtung verschlüsselt sind und die von einem oder mehreren Prozessor(en) des Rechnersystems ausgeführt werden können.
- Die Anwendungsprogramme können bereits auf dem Rechnersystem vorinstalliert sein, wenn ein Benutzer das System erwirbt, oder sie können dem Rechnersystem auf Wunsch des Benutzers hinzugefügt werden. Ein beispielhaftes Vorgehen zum Hinzufügen einer Anwendung zu dem Computerprogramm umfasst das Einlegen einer Compact-Disk, die eine Installationsdatei für das Anwendungsprogramm umfasst. Der Benutzer kann die Installationsdateien auswählen, um das Rechnersystem dazu aufzufordern, das Anwendungsprogramm zu installieren.
- Ein Benutzer kann dem Rechnersystem ebenfalls Anwendungsprogramme hinzufügen, indem er einen netzwerkzugänglichen Software-Marktplatz für Anwendungsprogramme verwendet. In manchen Beispielen kann der Software-Marktplatz für Anwendungsprogramme eine Webseite sein, die es Benutzern ermöglicht, durch eine Liste von Anwendungsprogrammen zu blättern, die auf den Rechnersystemen des Benutzers installiert werden können.
- Ein Benutzer kann bestimmte Anwendungsprogramme zur Installation oder zum Ausführen auswählen, die ihm durch den Software-Marktplatz für Anwendungsprogramme angezeigt werden. Als Antwort darauf kann der Software-Marktplatz für Anwendungsprogramme eine oder mehrere Installations- oder ausführbare Anwendungsprogrammdateien für den Empfang durch das Rechnersystem des Benutzers bereitstellen. Empfängt das Rechnersystem die Installationsdateien, kann das Rechnersystem die Informationen, die innerhalb der Installationsdateien gespeichert sind, dekomprimieren und das Rechnersystem für das Ausführen der Anwendungsprogramme konfigurieren.
- Ein Rechnersystem kann, aufgrund einer Anforderung eines Anwendungsprogramms, Ressourcen verwenden, die diesem Rechnersystem entsprechen. Solche Ressourcen können z. B. zentrale Recheneinheits-(CPU-)Zyklen, die Energie des Rechnersystems oder den Batterieverbrauch, die Verwendung von Drahtlosnetzwerkdaten und Textnachrichten umfassen. Die Ressourcen eines Rechnersystems können mit hohen Kosten verbunden oder beschränkt sein. Beispielsweise kann die Verwendung seitens eines Rechnersystems von einem Drahtlosnetzwerk z. B. durch einen Drahtlosnetzwerkanbieter gemessen werden. Einem Benutzer des Rechnersystems kann für die Verwendung des Drahtlosnetzwerks für jede verbrauchte Bandbreiteneinheit oder für jede über einem Datenlimit verwendete Bandbreiteneinheit eine Summe in Rechnung gestellt werden. Ähnlich dazu kann ein Rechnersystem eine begrenzte Batterieleistung aufweisen, die verfügbar ist, bevor das Rechnersystem erneut aufgeladen werden muss und kann eine beschränkte Prozessorleistung aufweisen, die das Rechnersystem über einen angegebenen Zeitraum hinweg verbrauchen kann.
- ZUSAMMENFASSUNG
- Ein System kann Benutzer eines Rechners über die Zustände der verschiedenen Systemressourcen informieren, die Anwendungsprogramme und ähnliche Elemente verbrauchen, wenn sie auf einer Rechnervorrichtung installiert sind. Das System kann zweckdienlich sein, da Anwendungsprogramme ein unterschiedliches Ausmaß von Rechnersystemressourcen verbrauchen können.
- Beispielsweise kann ein erstes Anwendungsprogramm mehr Drahtlosnetzwerkbandbreite oder Energieverbrauch konsumieren, als ein zweites Anwendungsprogramm dies während einer üblichen Verwendung tut. Solche Unterschiede im Verbrauch von Rechnersystemressourcen sind für Benutzer solcher Geräte bedeutsam, da diese Geräte oftmals nur über eingeschränkte Ressourcen verfügen. Informationen, die den vergangenen oder voraussichtlichen Verbrauch von Rechnersystemressourcen eines Anwendungsprogramms identifizieren, können von Benutzern, die eine Verwendung des Anwendungsprogramms in Betracht ziehen, begrüßt werden. Beispielsweise kann der Ressourcenverbrauch durch andere Benutzer in der Vergangenheit einem zukünftigen Benutzer als Entscheidungshilfe dienen, ob er/sie eine Anwendung zu seinem oder ihrem Rechnersystem hinzufügt oder nicht.
- Ein solches Teilen von Verbrauchsinformationen kann dadurch erreicht werden, dass mehrere Geräte ihre Verbrauchsstatistiken (auf anonyme Weise) weitergeben und solche Informationen für andere Benutzer zusammentragen. Als solches kann eine Rechnervorrichtung den Verbrauch der dieser Vorrichtung entsprechenden Ressourcen und die auf Anforderung eines oder mehrerer Anwendungsprogramme verbraucht wurden, überwachen. Die Rechnervorrichtung kann den Verbrauch der Vorrichtungsressourcen eines Anwendungsprogramms in regelmäßigen Zeitabständen einem Rechnersystem mitteilen, das Berichte über den Ressourcenverbrauch eines Anwendungsprogramms, die auf ähnliche Weise von anderen Rechnervorrichtungen empfangen wurden, sammelt.
- Das Sammelsystem kann Informationen, die den Verbrauch von Rechnersystemressourcen auf Anforderung von jedem der Vielzahl von Anwendungsprogrammen identifizieren und auf vielen unterschiedlichen Geräten, auf denen die verschiedenen Anwendungen installiert wurden, speichern. Ein System, das einen netzwerkzugänglichen Software-Marktplatz für Anwendungsprogramme bietet, kann auf solche Verbrauchsinformationen zugreifen und diese verwalten. Der Software-Marktplatz für Anwendungsprogramme kann, als begleitend präsentierte Darstellungen von Anwendungsprogrammen, die von dem Software-Marktplatz für Anwendungsprogramme heruntergeladen werden können, Anzeigewerte angeben, die den Verbrauch von Rechnervorrichtungsressourcen von jedem Anwendungsprogramm darstellen.
- Als Alternative zu den in der nachfolgenden Beschreibung beschriebenen Ausführungen, umfasst die vorliegende Offenbarung ebenfalls die folgenden Ausführungen:
Ausführung 1 ist auf ein durch einen Rechner ausgeführtes Verfahren zur Überwachung des Ressourcenverbrauchs eines Anwendungsprogramms ausgerichtet, wobei das Verfahren das Zugreifen auf Informationen umfasst, die, mithilfe mehrerer Rechnervorrichtungen und auf Anforderungen eines jeweiligen Anwendungsprogramms, den Verbrauch von zu den Rechnervorrichtungen gehörigen Ressourcen identifizieren, wobei jede der mehreren Rechnervorrichtungen einen Teil der Informationen bereitgestellt hat. Das Verfahren umfasst das Analysieren der zugegriffenen Informationen mittels eines Rechnersystems, um einen oder mehrere Werte zu bestimmen, die den Ressourcenverbrauch durch zumindest eine Teilmenge der Rechnervorrichtungen identifizieren. Das Verfahren umfasst das Bereitstellen von einem Anzeigewert zur Anzeige auf einer bestimmten Rechnervorrichtung und in Zusammenwirken mit einer Anzeige eines netzwerkzugänglichen Softwaremarktplatzes für Anwendungsprogramme, wobei der Anzeigewert den einen oder die mehreren Werte veranschaulicht, wobei der Software-Marktplatz für Anwendungsprogramme eine Anwendungsprogrammsoftware zur Ausführung durch die bestimmte Rechnervorrichtung und andere Rechnervorrichtungen bereitstellt. - Ausführung 2 ist auf das Verfahren nach Ausführung 1 ausgerichtet, wobei der eine oder die mehreren Werte den Durchschnittsressourcenverbrauch über eine definierte Zeitspanne identifizieren.
- Ausführung 3 ist auf das Verfahren nach einer der Ausführungen 1 oder 2 ausgerichtet, wobei die Ressourcen die Datenverwendung von einem oder mehreren Drahtlosnetzwerken durch die Rechnervorrichtungen umfassen.
- Ausführung 4 ist auf das Verfahren nach Anspruch 3 ausgerichtet, wobei die Informationen, die den Verbrauch der Datenverwendung des einen oder der mehreren Drahtlosnetzwerke identifizieren, eine Menge von über das eine oder die mehreren Drahtlosnetzwerke übertragene Daten identifiziert.
- Ausführung 5 ist auf das Verfahren nach einer der Ausführungen 3 oder 4 ausgerichtet, wobei ein oder mehrere Service-Provider der Drahtlosnetzwerke (i) die Datenverwendung durch die Rechnervorrichtungen der Drahtlosnetzwerke messen und (ii) den Benutzern der Rechnervorrichtungen basierend auf den Mengen der von den Benutzern konsumierten Daten Rechnungen stellen.
- Ausführung 6 ist auf das Verfahren nach einer der Ausführungen 1 oder 2 ausgerichtet, wobei die Ressourcen CPU-Verwendung oder Batterieverbrauch durch die Rechnervorrichtungen umfassen.
- Ausführung 7 ist auf das Verfahren nach einer der Ausführungen 1 bis 6 ausgerichtet, wobei das Verfahren zudem das Empfangen von Informationen von mehreren Rechnervorrichtungen umfasst, wobei jede der mehreren Rechnervorrichtungen einen Teil der Informationen bereitgestellt hat, sodass der Teil der Informationen den Ressourcenverbrauch durch diese einzelne Rechnervorrichtung auf Anforderungen des jeweiligen Anwendungsprogramms identifizierte.
- Ausführung 8 ist auf das Verfahren nach Ausführung 7 ausgerichtet, wobei ein für einzelne Rechnervorrichtungen der mehreren überwachten Rechnervorrichtungen installiertes Betriebssystem den Ressourcenverbrauch durch entsprechende einzelne Rechnervorrichtungen auf Anforderungen des jeweiligen Anwendungsprogramms überwacht.
- Ausführung 9 ist auf das Verfahren nach Ausführung 7 ausgerichtet, wobei das auf einzelnen Rechnervorrichtungen der mehreren Rechnervorrichtungen installierte, bestimmte Anwendungsprogramm den Ressourcenverbrauch durch entsprechende einzelne Rechnervorrichtungen auf Anforderungen der jeweiligen Anwendung überwacht.
- Ausführung 10 ist auf das Verfahren nach einer der Ausführungen 1 bis 9 ausgerichtet, wobei das Anwendungsprogramm auf jeder der Rechnervorrichtungen installiert ist und zumindest teilweise von jeder der Rechnervorrichtungen ausgeführt wird.
- Ausführung 11 ist auf das Verfahren nach einer der Ausführungen 1 bis 10 ausgerichtet, wobei das bestimmte Anwendungsprogramm auf jeder der Rechnervorrichtungen installiert wurde, als Reaktion darauf, dass das bestimmte Anwendungsprogramm durch jede der Rechnervorrichtung von dem netzwerkzugänglichen Software-Marktplatz für Anwendungsprogramme angefordert wurde.
- Ausführung 12 ist auf das Verfahren nach einer der Ausführungen 1 bis 11 ausgerichtet, wobei der Software-Marktplatz für Anwendungsprogramme für Benutzer von Rechnervorrichtungen den Kauf von Anwendungsprogrammen ermöglicht und gewährleistet, dass zumindest ein finanzieller Teil der Einkäufe den Entwicklern der Anwendungsprogramme zukommt.
- Ausführung 13 ist auf das Verfahren nach einer der Ausführungen 1 bis 12 ausgerichtet, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als Teilmenge der Rechnervorrichtungen, die von Benutzern eines sozialen Netzwerks betrieben werden, die eine Beziehung zu einem Benutzer der jeweiligen Rechnervorrichtung haben, umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in dieser Teilmenge enthalten sind, identifizieren.
- Ausführung 14 ist auf das Verfahren nach einer der Ausführungen 1 bis 13 gerichtet, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als eine Teilmenge der Rechnervorrichtungen, die ein Niveau der Ressourcen verbrauchen, das dem Niveau der von der jeweiligen Rechnervorrichtung verbrauchten Ressourcen entspricht, umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in dieser Teilmenge enthalten sind, identifizieren.
- Ausführung 15 ist auf das Verfahren nach einer der Ausführungen 1 bis 14 ausgerichtet, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als eine der jeweiligen Rechnervorrichtung geographisch nahegelegene Teilmenge der Rechnervorrichtungen umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in dieser Teilmenge enthalten sind, identifizieren.
- Ausführung 16 ist auf das Verfahren nach einer der Ausführungen 1 bis 15 ausgerichtet, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als eine denselben Drahtlosnetzwerkdatentarif verwendende Teilmenge der Rechnervorrichtungen umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in dieser Teilmenge enthalten sind, identifizieren.
- Ausführung 17 ist auf das Verfahren nach einer der Ausführungen 1 bis 15 ausgerichtet, wobei das Verfahren zudem umfasst: das Identifizieren eines weiteren Anwendungsprogrammes, das dem bestimmten Anwendungsprogramm nachweislich ähnlich ist; das Identifizieren des Verbrauchs von Ressourcen durch die mehreren Rechnervorrichtungen oder eine andere Gruppe von Rechnervorrichtungen auf Anforderungen des weiteren Anwendungsprogramms; und das Verwenden des auf Anforderungen des weiteren Anwendungsprogramms identifizierten Ressourcenverbrauchs bei der Festlegung des einen oder der mehreren Werte, die den Ressourcenverbrauch auf Anforderungen des bestimmten Anwendungsprogramms identifizieren.
- Ausführung 18 ist auf das Verfahren nach Ausführung 17 ausgerichtet, wobei das weitere Anwendungsprogramm als dem bestimmten Anwendungsprogramm ähnlich bestimmt wurde, basierend auf Zuweisung des bestimmten Anwendungsprogramms und des weiteren Anwendungsprogrammes auf dem Software-Marktplatz für Anwendungsprogramme zu derselben Kategorie von Anwendungsprogrammsoftware von verschiedenen Entwicklern des bestimmten Anwendungsprogramms und des weiteren Anwendungsprogrammes.
- Ausführung 19 ist auf das Verfahren nach Ausführung 17 ausgerichtet, wobei das weitere Anwendungsprogramm als dem bestimmten Anwendungsprogramm ähnlich bestimmt wurde, basierend auf einem oder mehrer aus der Gruppe bestehend aus: (i) das bestimmte Anwendungsprogramm und das weitere Anwendungsprogramm werden bestimmt, dieselbe Anwendungsprogrammschnittstelle des Betriebssystems zu verwenden, und (ii) das bestimmte Anwendungsprogramm und das weitere Anwendungsprogramm werden bestimmt, dieselbe Erlaubnis eines Betriebssystems anzufordern.
- Weitere Ausführungen umfassen eines oder mehrere computerlesbare Speichervorrichtungen, die Anweisungen speichern, damit beim Ausführen durch eine oder mehrere Verarbeitungsvorrichtungen Operationen gemäß den oben beschriebenen Verfahren ausgeführt werden. Andere Ausführungen umfassen Systeme und Geräte, die die beschriebenen computerlesbaren Speichervorrichtungen umfassen und dazu konfiguriert sind, die Arbeitsvorgänge mit Hilfe der einen oder den mehreren Verarbeitungsvorrichtungen auszuführen.
- Ausführung 20 ist auf eines oder mehrere von einem Rechner lesbare Speichergeräte ausgerichtet, die Anweisungen speichern, die, wenn sie durch die eine oder mehreren Verarbeitungsvorrichtungen ausgeführt werden, Arbeitsvorgänge ausführen, die Folgendes umfassen: das Aufnehmen von Informationen durch eine Rechnervorrichtung, die den Ressourcenverbrauch entsprechend der Rechnervorrichtung auf Anforderung eines bestimmten Anwendungsprogramms identifizieren; und das Bereitstellen der Informationen, die den Ressourcenverbrauch identifizieren, durch die Rechnervorrichtung und an ein Rechnersystem, das den Ressourcenverbrauch entsprechend der Rechnervorrichtung und weiteren Rechnervorrichtungen auf Anforderung des bestimmten Anwendungsprogrammes überwacht, um das Rechnersystem dazu zu veranlassen, (i) die Informationen mit Informationen, die den Ressourcenverbrauch entsprechend den weiteren Rechnervorrichtungen identifizieren, zu vereinigen und (ii) eine Darstellung der vereinigten Informationen einem System bereitzustellen, das einen netzwerkzugänglichen Software-Marktplatz für Anwendungsprogramme anbietet, der die bereitgestellte Darstellung verwendet, um Rechnervorrichtungen, die in der Lage sind Anwendungsprogramme vom Software-Marktplatz für Anwendungsprogramme herunterzuladen, einen Anzeigewert, der ein Verbrauchsniveau durch das Anwendungsprogramm identifiziert, anzuzeigen.
- Ausführung 21 ist auf ein Rechnersystem ausgerichtet, das Folgendes umfasst: ein Datensammlungs-Rechnerteilsystem, um von mehreren Rechnervorrichtungen Informationen zu empfangen, die den Ressourcenverbrauch entsprechend den mehreren Rechnervorrichtungen indentifizieren auf Anforderungen von Instanzen eines gleichen Anwendungsprogramms, das von den mehreren Rechnervorrichtungen ausgeführt wird; und ein Marktplatz-Anzeige-Rechnerteilsystem, um einen oder mehrere Werte von dem Datensammlungs-Rechnerteilsystem zu erhalten, die den Ressourcenverbrauch entsprechend den mehreren Rechnervorrichtungen auf Anforderungen der Instanzen desselben Anwendungsprogrammes darstellen, und für die Anzeige Bereitstellen an anfordernde Rechnervorrichtungen, die eine Anzeige desselben Anwendungsprogrammes durch einen Software-Marktplatz für Anwendungsprogramme anfordern, eines Anzeigewerts, der den einen oder die mehreren Werte darstellt und der Benutzern der anfordernden Rechnervorrichtungen eine Angabe des Ressourcenverbrauchs der Rechnervorrichtungen auf Anforderungen desselben Anwendungsprogramms bereitstellt.
- Ausführung 22 ist auf das Rechnersystem nach Anspruch 21 gerichtet, wobei das Datensammlungs-Rechnerteilsystem ein Personalisierungs-Rechnerteilsystem umfasst, um den einen oder die mehreren Werte aus den empfangenen Informationen zu erzeugen, wobei der eine oder die mehreren Werte einen Ressourcenverbrauch auf Anforderungen von einer oder mehreren Instanzen desselben Anwendungsprogrammes bereitstellen, mit Bezug auf den Ressourcenverbrauch auf Anforderungen von einer oder mehreren Instanzen eines weiteren Anwendungsprogrammes, die bestimmt wurden, um zu demselben Anwendungsprogramm zu passen.
- Ausführung 23 ist auf ein computerimplementiertes Verfahren für das Bereitstellen eines Software-Marktplatzes für Anwendungsprogramme ausgerichtet, das Folgendes umfasst: das Empfangen von einer Anforderung durch ein Rechnersystem, eine Anzeige auf einer entfernten Rechnervorrichtung von einer Darstellung von zumindest einem der mehreren Anwendungsprogramme, die auf einem Software-Marktplatz für Anwendungsprogramme verfügbar sind, bereitzustellen, wobei der Software-Marktplatz für Anwendungsprogramme eine Möglichkeit für entfernte Rechnervorrichtungen bereitstellt, Informationen zum Ausführen jedes der mehreren Anwendungsprogramme herunterzuladen; das Identifizieren durch das Rechnersystem eines Wertes, der ein Ressourcenverbrauchsniveau auf Anforderungen des einen Anwendungsprogrammes auf entfernten Rechnervorrichtungen, auf denen das Anwendungsprogramm ausgeführt wurde, darstellt, wobei jede der entfernten Rechnervorrichtungen einen Teil der Informationen, die verwendet wurden, um den Wert zu generieren, bereitgestellt hat; und das Bereitstellen einer gleichzeitigen Anzeige auf der entfernten Rechnervorrichtung von (i) der Darstellung des einen Anwendungsprogrammes und (ii) einem Anzeigewert, der den Wert darstellt.
- Bestimmte Ausführungen können, in bestimmten Fällen, einen oder mehrere der folgenden Vorteile aufweisen. Benutzern können mehrere Informationen über die Anwendungen, deren Verwendung sie beabsichtigen, gezeigt werden, sodass sie diejenigen Anwendungsprogramme zur Verwendung auswählen können, die die Ressourcen ihrer Rechnervorrichtungen am effizientesten verbrauchen. Als solche können die Rechnervorrichtungen der Benutzer schneller arbeiten, über einen längeren Zeitraum zwischen dem Wiederaufladen arbeiten und können ein verringertes Ausmaß an kostenpflichtigen Diensten verbrauchen (z. B. einen Tarifvertrag oder Textnachrichten). Außerdem kann es Benutzern ermöglicht werden, eine Gesamtkostenaufstellung des Besitzes von Anwendungsprogrammen zu bestimmen. Beispielsweise können sich zwei Anwendungsprogramme in ihrem anfänglichen Kaufpreis ähneln, jedoch kann ein Anwendungsprogramm mehr Ressourcen als das andere Anwendungsprogramm verbrauchen. Als solches kann es einem Benutzer möglich sein, zu bestimmen, dass dieses eine Anwendungsprogramm eigentlich höhere Gesamtkosten betreffend den Besitz als das andere Anwendungsprogramm verursacht. Darüber hinaus kann die öffentliche Präsentation des Ressourcenverbrauchs von Anwendungsprogrammen Anwendungsprogrammentwicklern einen Anreiz bieten, um Anwendungsprogramme zu entwickeln, die die Ressourcen von Rechnervorrichtungen effizienter verbrauchen.
- Die Details von einer oder mehreren Ausführungen sind in den beiliegenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere Eigenschaften, Ziele und Vorteile gehen aus der Beschreibung und den Zeichnungen sowie aus den Patentansprüchen hervor.
- BESCHREIBUNG DER ZEICHNUNGEN
-
1 stellt ein System dar, das den Ressourcenverbrauch von Anwendungsprogrammen überwacht und Benutzern Angaben über solch einen Verbrauch präsentiert. -
2 ist ein Diagramm, das den Anwendungsressourcenverbrauch von Rechnervorrichtungen in Bezug auf die Zeit darstellt. -
3 stellt den Betrieb eines Personalisierungssystems für eine Verbrauchsmetrik dar. -
4 zeigt Anzeigewerte, die den Anwendungsressourcenverbrauch für eine Anzeige durch einen Software-Marktplatz darstellen. -
5 ist ein Flussdiagramm eines Vorgangs zur Überwachung des Ressourcenverbrauchs eines Anwendungsprogramms und zur Präsentation von Angaben über einen solchen Verbrauch für Benutzer. -
6 ist ein konzeptuelles Diagramm eines Systems, das dazu verwendet werden kann, um die in diesem Dokument beschriebenen Systeme und Verfahren auszuführen. -
7 ist ein Blockdiagramm von Rechnervorrichtungen, die dazu verwendet werden können, um die in diesem Dokument beschriebenen Systeme und Verfahren, entweder als Client oder als ein Server oder eine Vielzahl von Servern, auszuführen. - Ähnliche Bezugssymbole in den verschiedenen Zeichnungen zeigen ähnliche Elemente an.
- DETAILLIERTE BESCHREIBUNG
- Dieses Dokument beschreibt im Allgemeinen Verfahren zur Überwachung des Ressourcenverbrauchs eines Anwendungsprogramms und zur Präsentation von Angaben über einen solchen Verbrauch an Benutzer. Beispielsweise kann ein System ein Ausmaß eines Verbrauchs von Rechnervorrichtungsressourcen durch ein Anwendungsprogramm auf den Vorrichtungen einer Gruppe von Benutzern überwachen. Das System kann eine Angabe über einen solchen Verbrauch in einem netzwerkzugänglichen Software-Marktplatz für Anwendungsprogramme für weitere Benutzer bereitstellen, die den Erwerb von Anwendungsprogrammen in Betracht ziehen.
- Genauer gesagt kann ein netzwerkzugänglicher Software-Marktplatz für Anwendungsprogramme Benutzern dabei helfen, Anwendungsprogramme zur Installation und/oder zum Ausführen auf ihren Rechnervorrichtungen zu identifizieren. Beispielsweise kann ein Benutzer durch eine Liste der während des vergangenen Monats am häufigsten heruntergeladenen Anwendungsprogramme blättern oder kann nach Anwendungsprogrammen suchen, die dem durch den Benutzer eingegebenen Suchbegriff entsprechen. Der Software-Marktplatz kann ein Zahlungssystem bereitstellen, das es dem Benutzer ermöglicht, Anwendungsprogramme zu kaufen, die nicht kostenfrei sind, und kann zumindest einen Teil des Kaufpreises an Entwickler von Anwendungsprogrammen abführen. Der Software-Marktplatz kann Informationen über jedes der Anwendungsprogramme anbieten, z. B. Screenshots, eine Beschreibung, den Preis und den für die Installation des Anwendungsprogramms erforderlichen Speicherplatz.
- Der Software-Marktplatz kann ebenfalls Informationen bereitstellen, die einen Ressourcenverbrauch durch Anwendungsprogramme auf Rechnervorrichtungen, die die Anwendungsprogramme installiert haben, identifizieren, wobei der Ressourcenverbrauch von Vorrichtung zu Vorrichtung und von Benutzer zu Benutzer bei der tatsächlichen Verwendung abhängig davon, wie die Anwendung verwendet wird, variieren kann (d. h. es ist keine festgelegte Verbrauchsmenge wie Speicherplatz, die ganz einfach vor der Installation für die Anwendung bestimmt werden kann). Beispielsweise kann der Software-Marktplatz neben dem Titel eines Anwendungsprogramms einen Anzeigewert (z. B. eine Nummer oder ein Symbol) anzeigen, der den Durchschnittsverbrauch von Drahtlosnetzwerkdaten pro Monat von Benutzern identifiziert, die das Anwendungsprogramm heruntergeladen haben. Da manche Anbieter von Drahtlosnetzwerken keinen unlimitierten Drahtlosnetzwerk-Datenverbrauch anbieten oder die Geschwindigkeiten der Bandbreite drosseln, nachdem der Verbrauch einen angegebenen Wert von Drahtlosnetzwerkdaten erreicht hat, können solche Informationen Benutzern dabei helfen, informierte Entscheidungen darüber zu treffen, welche Anwendungsprogramme sie herunterladen und verwenden.
- Der eine oder die mehreren der für ein bestimmtes Anwendungsprogramm präsentierten Anzeigewerte können von den Informationen abhängen, die die Verwendung von Ressourcen auf mehreren Rechnervorrichtungen auf Anforderung eines Anwendungsprogramms identifizieren. Die Informationen können über Systeme (z. B. einzelne Client-Rechnervorrichtungen) erhalten werden, die eine solche Verwendung von Rechnersystemressourcen überwachen. Beispielsweise können Benutzer ein bestimmtes Anwendungsprogramm auf ihre jeweiligen Rechnervorrichtungen herunterladen. Die einzeln installierten Instanzen des Anwendungsprogramms oder das Betriebssystem auf den Rechnervorrichtungen können die Anforderungen seitens des Anwendungsprogramms und die Ressourcen der Rechnervorrichtung, die als Antwort auf die Anforderungen verbraucht werden, überwachen. Die Rechnervorrichtungen können solche Verbrauchsinformationen an ein zentralisiertes System weitermelden, das Informationen von mehreren Vorrichtungen für mehrere Anwendungsprogramme sammelt und an den Software-Marktplatz Informationen bereitstellt, um die Anzeige von unterschiedlichen Anzeigewerten, die den Ressourcenverbrauch eines Anwendungsprogramms angeben, zu beeinflussen.
-
1 zeigt ein System, das den Ressourcenverbrauch eines Anwendungsprogramms überwacht und Benutzern Angaben über einen solchen Verbrauch präsentiert. In dieser Darstellung überwachen mehrere Rechnervorrichtungen102a –c den Verbrauch von Rechnervorrichtungsressourcen, der auf Anforderung seitens des Anwendungsprogramms auftritt. Die Rechnervorrichtungen übermitteln dann Informationen, die den Ressourcenverbrauch identifizieren, an das Anwendungsverbrauch-Sammelsystem110 . Das Anwendungsverbrauch-Sammelsystem110 kann solche Informationen dem Personalisierungssystem für eine Verbrauchsmetrik112 bereitstellen. Das Personalisierungssystem für eine Verbrauchsmetrik112 kann die Informationen z. B. so anpassen, um den Verbrauch von Rechnervorrichtungsressourcen auf Anforderung eines Anwendungsprogramms innerhalb einer jeweiligen Teilmenge von Rechnervorrichtungen anzugeben. Das Personalisierungssystem für eine Verbrauchsmetrik112 kann die personalisierten Informationen für den Software-Marktplatz für Anwendungsprogramme bereitstellen (durch Webseite114 dargestellt). - Noch detaillierter umfasst die Rechnervorrichtung
102a (hierin in manchen Fällen auch als Rechnersystem bezeichnet) mehrere Anwendungsprogramme108 . Die Anwendungsprogramme108 können mehrere unterschiedliche Computerprogramme darstellen, von denen manche bereits auf der Rechnervorrichtung vorinstalliert sein können und von denen manche über die Verwendung eines Software-Marktplatzes für Anwendungsprogramme auf die Rechnervorrichtung102a heruntergeladen sein können. - Die Rechnervorrichtung
102a kann ein Anwendungsprogramm beim Hochfahren der Rechnervorrichtung102a ausführen oder wenn ein Benutzer der Rechnervorrichtung102a ein grafisches Schnittstellenelement auswählt, das dazu führt, dass das Anwendungsprogramm ausgeführt wird. Ein Anwendungsprogramm kann in manchen Fällen im Vordergrund der Anzeige einer Rechnervorrichtung ausgeführt werden. Ein Anwendungsprogramm, das im Vordergrund der Anzeige der Rechnervorrichtung ausgeführt wird, kann zumindest einen Teil der Anzeige steuern, so dass es innerhalb dieses Teils der Anzeige Eingaben seitens des Benutzers empfängt. Ein Anwendungsprogramm kann ebenfalls im Hintergrund der Rechnervorrichtung ausgeführt werden. Bei einem solchen Anwendungsprogramm, das im Hintergrund ausgeführt wird, kann es sein, dass die Rechnervorrichtung eine Angabe darüber, dass das Anwendungsprogramm gerade ausgeführt wird, nicht anzeigt. - Die Rechnervorrichtung
102a kann eine Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 umfassen. Die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 kann Anforderungen von verschiedenen Anwendungsprogrammen und den entsprechenden Verbrauch von Rechnervorrichtungsressourcen überwachen, die als Konsequenz dieser Anforderungen auftreten. Beispielsweise kann die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 einen aktuellen Wert von dem Anwendungsprogramm zugeordneten CPU-Zyklen oder flüchtigem Speicher in regelmäßigen Zeitabständen identifizieren und aufzeichnen. - Die Aufzeichnungsvorrichtung des Anwendungsverbrauchs
106 kann ebenfalls, oder alternativ dazu, eine Menge des Datenverbrauchs über ein Drahtlosnetzwerk oder eine Anzahl von Textnachrichten, die auf Anforderung des Anwendungsprogramms aufgetreten sind, in regelmäßigen Zeitabständen identifizieren und aufzeichnen. Solche identifizierten und aufgezeichneten Informationen können mit einem Zeitstempel versehen werden und mit einer Angabe zum Zustand des Anwendungsprogramms zu diesem jeweiligen Zeitpunkt (z. B. Hintergrund- oder Vordergrundbetrieb) gespeichert werden, so dass die Informationen dazu verwendet werden können, um den Ressourcenverbrauch über spezifische Zeiträume hinweg oder in Bezug auf bestimmte Zustände der Rechnervorrichtungen zu bestimmen. -
2 ist ein Diagramm200 , das den Anwendungsverbrauch von Rechnervorrichtungsressourcen in Bezug auf die Zeit darstellt. Insbesondere stellt das Diagramm den Ressourcenverbrauch dar, der einer Rechnervorrichtung (z. B. Datenverbrauch202 und CPU-Verbrauch204 ) auf Anforderung eines Anwendungsprogramms entspricht. - Während eines ersten Zeitraums
206a ist das Anwendungsprogramm inaktiv. Beispielsweise kann die Rechnervorrichtung, die das Anwendungsprogramm umfasst, ausgeschaltet sein oder sie kann angeschaltet sein, aber der Benutzer hat möglicherweise keine Benutzereingaben zum Start des Anwendungsprogramms bereitgestellt. Dementsprechend zeichnet das System keinen Datenverbrauch202 oder CPU-Verbrauch204 auf Anforderung seitens des Anwendungsprogramms für den Zeitraum206a auf. - Während eines zweiten Zeitraums
206b , wurde das Anwendungsprogramm gestartet und wird im Vordergrund ausgeführt. Beispielsweise kann das Anwendungsprogramm automatisch, als Konsequenz dessen, dass der Benutzer die Rechnungsvorrichtung eingeschaltet hat, gestartet sein oder der Benutzer kann mit seinem Finger ein Symbol berührt haben, was veranlasst, dass die Rechnervorrichtung das Anwendungsprogramm ausführt. Wie durch Diagramm200 dargestellt, schnellt der CPU-Verbrauch204 anfänglich in die Höhe, wenn das Anwendungsprogramm im Vordergrund ausgeführt wird und pendelt sich während des Zeitraums, über den die Anwendung im Vordergrund ausgeführt wird, auf einen niedrigeren Wert ein. Der Datenverbrauch202 jedoch steigt langsam an, bevor er nahe zum Ende des Zeitraums206b wesentlich ansteigt. - Während eines dritten Zeitraums
206c ändert das Anwendungsprogramm die Ausführung zu einem aktiven Zustand. Sowohl der CPU-Verbrauch204 als auch der Datenverbrauch202 steigen während dieses aktivierten Zustands an. Zum Beispiel kann das Anwendungsprogramm ein Musikstreamingprogramm sein. Die Vordergrund-Ausführung des Anwendungsprogramms kann umfassen, dass der Benutzer Radiosender durchsucht, die für den Benutzer zum Anhören verfügbar sind. Der aktivierte Zustand jedoch kann auftreten, nachdem der Benutzer einen bestimmten Musiksender zum Anhören ausgewählt hat und Datenübertragungen der Musik über ein Netzwerk empfängt. - Während eines vierten Zeitraums
206d ändert das Anwendungsprogramm die Ausführung in einen Hintergrund-Zustand. Beispielsweise kann die Rechnervorrichtung einen Telefonanruf erhalten haben (ein mobiles Gerät, das in dieser Darstellung ein Telefon umfasst). Ein Telefon-Anwendungsprogramm kann den Musikstreaming-Dienst als vordergründiges Anwendungsprogramm ersetzen, und die Musik wird möglicherweise von dem Musikstreaming-Dienst nicht mehr gestreamt. Die Rechnervorrichtung kann das Musikstreamingprogramm immer noch auf reduziertem Ausführungsniveau weiterlaufen lassen, so dass das Musikstreamingprogramm bei Beendigung des Telefonanrufs automatisch den Vordergrund-Zustand wieder erlangt oder kann die Ausführung im Vordergrund rasch auf Anforderung des Benutzers weiterführen. - In manchen Beispielen kann die Aufzeichnungsvorrichtung des Anwendungsverbrauchs
106 Daten über den Anwendungsverbrauch gemäß einem Zeitplan aufzeichnen, z. B. in regelmäßigen Abständen von fünf Sekunden. Die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 kann jedoch dazu aufgefordert werden, die Anwendungsverbrauchsdaten außerhalb des Zeitplans, wenn das Anwendungsprogramm von einem Zustand in einen anderen wechselt, aufzuzeichnen. Als solche kann die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 den Anwendungsverbrauch zu Beginn eines Zustands und am Ende eines Zustands aufzeichnen. In manchen Beispielen kann die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 den Anwendungsdatenverbrauch dann aufzeichnen, wenn für das Anwendungsprogramm ein bestimmtes Ereignis auftritt, z. B. wenn ein Anwendungsprogramm eine Textnachricht versendet, einen Anstieg des zugewiesenen Speicherplatzes anfordert oder ein Informationspaket über ein Drahtlosnetzwerk versendet. Die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 kann mit jedem Datenpunkt innerhalb der Verbrauchsdaten einen entsprechenden Zustand des Anwendungsprogramms sowie die Zeit speichern. - In manchen Ausführungsformen kann die Aufzeichnungsvorrichtung des Anwendungsverbrauchs
106 zumindest teilweise ausgehend von einem Serversystem, das sich von der Rechnervorrichtung102a entfernt befindet, ausgeführt werden. Beispielsweise kann die Rechnervorrichtung102a ein bestimmtes Anwendungsprogramm, das ein Internetanwendungsprogramm ist, durch Hinzufügen eines Lesezeichens zu dem Internetanwendungsprogramm zu einer Desktopanzeige der Rechnervorrichtung102a installieren. Als solches kann das Internetanwendungsprogramm sowohl von dem Serversystem als auch der Rechnervorrichtung in einer Client-Server-Beziehung ausgeführt werden. In solchen Beispielen kann das Serversystem die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 umfassen, um den Ressourcenverbrauch von mehreren mobilen Rechnervorrichtungen auf zentralisierte Weise aufzuzeichnen. Beispielsweise kann das Serversystem eine Datenmenge aufzeichnen, die durch eine bestimmte Rechnervorrichtung an das Serversystem übermittelt wird, um den Verbrauch eines Tarifvertrags eines Drahtlosnetzwerks (oder einen Tarifvertrag einer Festnetzverbindung) durch die bestimmte Rechnervorrichtung abzuschätzen. - Zurückkehrend zur Beschreibung von
1 , übermittelt die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 die aufgezeichneten Informationen an den Anwendungsverbrauchssender104 . Der Anwendungsverbrauchssender104 sendet die Anwendungsverbrauchsdaten, die durch die Aufzeichnungsvorrichtung des Anwendungsverbrauchs106 aufgezeichnet wurden, in regelmäßigen Zeitabständen an das Anwendungsverbrauchs-Sammelsystem110 . Der Anwendungsverbrauchssender104 kann die Daten so wie sie durch die Aufzeichnungsvorrichtung des Verbrauchs106 aufgezeichnet wurden und ohne ein Bündeln mit anderen Verbrauchsdaten senden oder kann die Informationen bündeln und die gebündelten Informationen in regelmäßigen Zeitabständen (z. B. alle N Minuten oder Tage oder bei Auftreten von bestimmten Ereignissen wie dem Einschalten der Vorrichtung oder wenn der Benutzer den Software-Marktplatz besucht) an das Sammelsystem110 senden. - Der Anwendungsverbrauchssender
104 kann die übertragenen Daten anonymisieren. In manchen Beispielen können die anonymisierten und übertragenen Daten mit nicht persönlich identifizierbaren Benutzerinformationen (z. B. allgemeiner Standort der Vorrichtung, ein Service-Provider der die Rechnervorrichtung über ein Drahtlosnetzwerk mit einem Datendienst versorgt und andere ähnliche Benutzer- und Vorrichtungseigenschaften, wie unten noch genauer beschrieben ist) verbunden sein. Benutzer können das Aufzeichnen seitens der Rechnervorrichtung des Anwendungsverbrauchs und die Übertragung seitens der Rechnervorrichtung von Anwendungsverbrauchsdaten ausschalten. - Das Anwendungsverbrauch-Sammelsystem
110 kann von einem Serversystem ausgeführt werden, das sich in physischer Entfernung von jeder der Vorrichtungen102a –c befindet. Das Sammelsystem110 kann die Verbrauchsdaten von jeder der Vorrichtungen102a –c empfangen und kann die Verbrauchsdaten für jedes bestimmte Anwendungsprogramm speichern. - Das Sammelsystem
110 kann die gesammelten Daten für zumindest ein Anwendungsprogramm an den Software-Marktplatz für Anwendungsprogramme übermitteln oder kann die Daten an das Personalisierungssystem für die Verbrauchsmetrik112 , das ein Untersystem des Sammelsystems110 sein kann, übertragen. Der Betrieb des Personalisierungssystems für eine Verbrauchsmetrik112 wird in Bezug auf3 genauer beschrieben. -
3 stellt den Betrieb eines Personalisierungssystems für eine Verbrauchsmetrik112 dar. Das Personalisierungssystem112 empfängt Anwendungsstatistiken302 und kann die Statistiken302 analysieren, um unterschiedliche Daten zu generieren, die den Anwendungsverbrauch304 darstellen. Die unterschiedlichen Daten304 können von einem Software-Marktplatz dafür verwendet werden, um einen oder mehrere Anzeigewerte, die den Anwendungsverbrauch darstellen, zur Anzeige auszuwählen. Die Anzeigewerte können für einen bestimmten Besucher des Software-Marktplatzes personalisiert werden oder in Bezug auf den Verbrauch durch eine bestimmte Kategorie von Anwendungsprogrammen normalisiert werden. - Das Personalisierungssystem
112 kann einen Benutzerdatenfilter oder Gewichter306 verwenden, um die Anwendungsverbrauchsstatistiken302 basierend auf den Daten des Besuchers308 zu personalisieren. Beispielsweise kann der Benutzerdatenfilter oder Gewichter306 einen Datendienstanbieter eines Drahtlosnetzwerks für einen Besucher des Software-Marktplatzes identifizieren, um die Verbrauchsdaten, die von mobilen Rechnervorrichtungen, die nicht denselben Datendienstanbieter eines Drahtlosnetzwerks verwenden, auszuschließen oder geringer zu gewichten. Tatsächlich kann der Verbrauch durch mobile Vorrichtungen, die mit demselben Dienstanbieter wie der Benutzer des Software-Marktplatzes betrieben werden, betont werden. Benutzer desselben Datenanbieters können ihre Vorrichtungen mit einer höheren Wahrscheinlichkeit ähnlich verwenden als Benutzer, die nicht denselben Dienstanbieter verwenden. Somit können Verbrauchsdaten durch solche ähnlichen Benutzer bei der Schätzung des Anwendungsverbrauchs durch einen Benutzer des Software-Marktplatzes wertvoller sein als Verbrauchsdaten von anderen Benutzern. - Ähnlich dazu kann das Personalisierungssystem
112 einen Tarifvertrag eines Drahtlosnetzwerks oder eine Rechnervorrichtung des Besuchers des Software-Marktplatzes identifizieren. Als solche können Anwendungsstatistiken302 , die von Vorrichtungen unter Verwendung desselben Tarifvertrags eines Drahtlosnetzwerks oder derselben Rechnervorrichtung (z. B. jede Kombination aus einem oder mehreren aus Fabrikat, Modell und Betriebssystem) generiert wurden, seitens des Benutzerdatenfilters oder Gewichters206 bei der Personalisierung der Anwendungsstatistiken302 stärker gewichtet werden. - Aus einem ähnlichen Grund können Daten, die die Beziehungen eines Benutzers in einem sozialen Netzwerk identifizieren, dazu verwendet werden, um Anwendungsverbrauchsstatistiken
302 zu filtern oder zu gewichten. Beispielsweise kann ein Benutzer in einem sozialen Netzwerk mit zweihundert „Freunden” dadurch verbunden sein, dass er Eingaben getätigt hat, um diese Beziehungen mit diesen zweihundert Freunden in einem sozialen Netzwerk zu initiieren oder diese zu akzeptieren. Anwendungsverbrauchsstatistiken302 , die den Verbrauch von Vorrichtungen darstellen, die von den Freunden des Benutzers betrieben werden, können mit größerer Bedeutung gewichtet werden, als Statistiken von Vorrichtungen, die nicht von den Freunden des Benutzers betrieben werden. - Ein System, das Zugriff auf die Beziehungsdaten eines Benutzers eines sozialen Netzwerks hat, um Anwendungsprogrammstatistiken zur Anzeige an den Benutzer speziell anzupassen, kann den Benutzer dazu auffordern, sich damit „einverstanden zu erklären”, seine Beziehungsdaten des sozialen Netzwerks zu teilen. Dementsprechend kann ein Benutzer, der es bevorzugt, seine Beziehungsdaten des sozialen Netzwerks nicht mit dem System zu teilen, Anwendungsprogrammstatistiken sehen, die den Ressourcenverbrauch durch die gesamte Anzahl von Vorrichtungen darstellen oder er kann Statistiken sehen, die ihm basierend auf nicht persönlich identifizierbaren Daten (z. B. eine Vorrichtung des Benutzers) angezeigt wurden.
- Außerdem kann das Personalisierungssystem für eine Verbrauchsmetrik
112 die Benutzer von Rechnervorrichtungen identifizieren, die in der Vergangenheit ähnliche Datenmengen (z. B. monatlich) verwendet haben. Je ähnlicher der vergangene Datenverbrauch des Besuchers des Software-Marktplatzes dem vergangenen Datenverbrauch von bestimmten Vorrichtungen ist, desto mehr Gewicht legt der Benutzerdatenfilter oder Gewichter306 auf die Verbrauchsstatistiken302 , die den Verbrauch durch die jeweiligen Vorrichtungen darstellen. - Das Gewichten von Anwendungsstatistiken kann das Anwenden eines größeren Koeffizienten bei Daten, die besonders wichtig sind (z. B. ein Wert von 0,9 für Vorrichtungen mit demselben Service-Provider, innerhalb derselben Stadt und in der die Benutzer über ein soziales Netzwerk verbunden sind), anstelle von bei Daten ohne besondere Wichtigkeit (z. B. ein Wert von 0,1 bei Vorrichtungen, die nicht denselben Service-Provider verwenden, sich in unterschiedlichen Ländern befinden und nicht über ein soziales Netzwerk verbunden sind), umfassen.
- Als Alternative oder zusätzlich zur Personalisierung basierend auf Besucherdaten
308 , können Anwendungsverbrauchsstatistiken302 durch einen ähnlichen Anwendungsfilter oder Gewichter308 gefiltert oder gewichtet werden. Der ähnliche Anwendungsfilter oder Gewichter308 kann von dem Bestimmer von ähnlichen Anwendungen310 einen Hinweis auf ein Anwendungsprogramm, über das der Besucher des Software-Marktplatzes Informationen abgefragt hat sowie eine Liste eines oder mehrerer ähnlicher Anwendungsprogramme empfangen. Der ähnliche Anwendungsfilter oder Gewichter308 kann Verbrauchsdaten für Anwendungsprogramme herausfiltern, die als dem abgefragten Anwendungsprogramm nicht ähnlich bestimmt wurden, um die Anwendungsstatistiken302 für das abgefragte Anwendungsprogramm mit den ähnlichen Anwendungsprogrammen zu vergleichen. Der Vergleich kann die Daten304 ergeben, die z. B. eine Bewertung des Verbrauchs der angeforderten Anwendung in Bezug auf andere ähnliche Anwendungen sein können. - Der Bestimmer von ähnlichen Anwendungen
310 kann die Anwendungsprogramme bestimmen, die dem Anwendungsprogramm, über das der Besucher des Software-Marktplatzes Informationen abgefragt hat, ähnlich sind. In manchen Beispielen identifizieren Entwickler von Anwendungsprogrammen eine oder mehrere Kategorien der Anwendungsprogramme, die die Entwickler dem Software-Marktplatz hinzufügen. Der Bestimmer von ähnlichen Anwendungen310 kann bestimmen, dass sich mehrere Anwendungsprogramme dann ähnlich sind, wenn die mehreren Anwendungen einer gleichen Kategorie zugeordnet wurden. - In einem anderen Beispiel identifiziert der Bestimmer von ähnlichen Anwendungen
310 , dass sich Anwendungsprogramme basierend auf der Tatsache ähnlich sind, dass Anwendungsprogramme dieselben Anwendungsprogramm-Schnittstellen verwenden, dieselben Berechtigungen von einem Betriebssystem anfordern, in demselben Anwendungszustand betrieben werden (z. B. im Hintergrund oder im Vordergrund) oder jeder Kombination aus einem oder mehreren der oben genannten. - Beispielsweise kann der Bestimmer von ähnlichen Anwendungen
310 zwei Anwendungsprogramme basierend darauf, dass die Anwendungsprogramme zum Großteil auf dieselben APIs zugreifen und dieselben Berechtigungen von einem Betriebssystem anfordern, als mit einem Ähnlichkeitswert von 0,8 verwandt deterministisch identifizieren. Beispielsweise können die APIs, die von beiden Vorrichtungen verwendet werden, den Anwendungsprogrammen Zugriff auf die Kontakte und das Wählen am Telefon ausführende Programme gewähren, da beide Anwendungsprogramme Voice-Over-Internet-Protocol-Telefonanwendungsprogramme sein können. Der Ähnlichkeitswert kann beim Gewichten der Anwendungsverbrauchsstatistiken302 durch den Filter ähnlicher Anwendungen oder den Gewichter308 verwendet werden. - Wie oben beschrieben, kann das Personalisierungssystem für eine Verbrauchsmetrik
112 die Ergebnisse des Filterns oder der Gewichtung als Daten, die den Anwendungsverbrauch304 darstellen, an den Software-Marktplatz weitergeleitet werden. Die Daten304 können zur Verwendung bei einem Erstellen von Anzeigewerten, die den Anwendungsverbrauch darstellen, zur Anzeige an Besucher des Software-Marktplatzes an ein System übermittelt werden, das den Software-Marktplatz betreibt. -
4 stellt Anzeigewerte dar, die den Anwendungsressourcenverbrauch zur Anzeige durch einen Software-Marktplatz darstellen. Beispielsweise kann die Anwendungsprogrammübersicht402 ein Teil einer Webseite sein, die von einem Software-Marktplatz dargestellt wird und die Informationen über das Anwendungsprogramm „Sudoku Plus”! bereitstellt. Die Anwendungsprogrammübersicht402 kann ein Anwendungsprogrammsymbol404 , einen Anwendungsprogrammtitel406 , eine Anwendungsprogrammbeschreibung408 und eine Schaltfläche410 umfassen, die der Benutzer auswählen kann, um das „Sudoku Plus!”-Anwendungsprogramm herunterzuladen. - Die Anwendungsübersicht
402 umfasst auch einen Anzeigewert412 des Anwendungsressourcenverbrauchs. In diesem Beispiel ist der Anzeigewert412 ein abwärtszeigender Pfeil, was bedeuten kann, dass die Anwendung „Sudoku Plus!” eine relativ geringe Menge an Drahtlosnetzwerkdaten verbraucht (oder alternativ dazu, weniger Drahtlosnetzwerkdaten verbraucht, als ähnliche Anwendungsprogramme). Der abwärtszeigende Pfeil-Anzeigewert412 wird gleichzeitig mit zumindest einem Teil der Anwendungsübersicht402 angezeigt. - Verschiedene andere Anzeigewerte können in der Anwendungsübersicht
402 vorliegen, anstelle von oder zusätzlich zu Anzeigewert412 . Beispielsweise ist Anzeigewert413 ein Balken, der einen Ressourcenverbrauchsprozentsatz darstellt. In dieser Abbildung ist der Balken weniger als zur Hälfte gefüllt, was veranschaulicht, dass das Anwendungsprogramm eine relativ geringe Ressourcenmenge oder weniger Ressourcen als ein ähnliches Anwendungsprogramm verbraucht. Anzeigewert414 ist eine Reihe von graphischen Oberflächenelementen. In dieser Abbildung sind drei der fünf graphischen Oberflächenelemente gefüllt, was veranschaulicht, dass das Anwendungsprogramm etwa eine durchschnittliche Ressourcenmenge verbraucht. Runde graphische Oberflächenelemente werden gezeigt, aber Sterne oder andere graphische Oberflächenelemente können angezeigt werden. - Anzeigewert
416 ist eine Zahl, die eine Durchschnittsmenge von Netzwerkdaten, die von dem Anwendungsprogramm verbraucht werden, darstellt. Anzeigewert418 ist ein einzelnes graphisches Oberflächenelement, das in Abhängigkeit von dem ermittelten Ressourcenverbrauch und auf Anforderung des Anwendungsprogramms in verschiedenen Farben oder Schattierungen erscheinen kann. Beispielsweise kann der Anzeigewert418 unschattiert418a erscheinen, wenn das Anwendungsprogramm eine minimale Ressourcenmenge verbraucht, teilweise schattiert418b , wenn das Anwendungsprogramm eine mäßige Ressourcenmenge verbraucht, und vollständig schattiert418c , wenn das Anwendungsprogramm eine große Ressourcenmenge verbraucht. - Ein Benutzer kann zusätzliche Verbrauchsmaßzahlen in einer detaillierten Verbrauchszahlenanzeige
420 durch Auswahl des Anzeigewerts412 ansehen. Die Anzeige420 zeigt Maßzahlen, wie etwa den monatlichen Durchschnittsdatenverbrauchsanzeigewert422 , den monatlichen Durchschnittsressourcenverbrauchsanzeigewert durch Hochladen424 , den monatlichen Durchschnittsressourcenverbrauchsanzeigewert durch Herunterladen426 , den stündlichen Verbrauchsspitzenanzeigewert428 und den stündlichen Durchschnittshintergrunddatenverbrauchsanzeigewert430 . Die Matrix kann auf einer pro Einheit der Zeitbasis (z. B. jeden Monat, jede Woche, jeden Tag oder Stunde) basieren. - Ein Benutzer kann die Schaltfläche
432 auswählen, um die Rechnervorrichtung dazu zu veranlassen, die Ressource, für die die Anzeigewerte über die Anzeige420 dargestellt werden zu ändern. Zudem kann der Benutzer die Schaltfläche434 auswählen, um die Rechnervorrichtung dazu zu veranlassen, die Matrix umzuschalten von Statistiken, die alle Rechnervorrichtungen darstellen, auf Statistiken, die Rechnervorrichtungen darstellen, die das System als dem Besucher des Software-Marktplatzes bestimmt hat. - Die Anzeige
420 umfasst auch Anzeigewerte, die den Ressourcenverbrauch durch das ”Sudoku Plus!”-Anwendungsprogramm in Bezug zu ähnlichen Anwendungsprogrammen darstellen, wie von dem Bestimmer von ähnlichen Anwendungen310 festgelegt. In diesem Beispiel zeigt der Doppelpfeilanzeigewert432 den Datenverbrauch des „Sudoku Plus!”-Anwendungsprogrammes gemeinsam mit dem Balken434 und mit Bezug auf die Anzeigewerte436 und438 für die ähnlichen Anwendungsprogramme „Sudoku Now!” und „More Sudoku”. Ein Benutzer kann eine Verbindung zu „Sudoku Now!”440 auswählen, um eine Anzeige mit detaillierten Verbrauchsmaßzahlen für das Anwendungsprogramm anzusehen. -
5 ist ein Prozessflussdiagramm für das Überwachen von Anwendungsprogrammressourcenverbrauch und das Darstellen von Hinweisen auf einen solchen Verbrauch für Benutzer. Dieser Prozess kann von dem System, das mit Hinblick auf die1 –3 beschrieben wurde, durchgeführt werden und kann Informationen für das Erzeugen der Anzeigen aus1 und4 bereitstellen. - In Kasten
502 , empfängt ein Rechnersystem Informationen von mehreren Rechnervorrichtungen, wobei jede der Rechnervorrichtungen einen Teil der Informationen bereitgestellt hat. Jeder Teil der Informationen identifiziert den Ressourcenverbrauch (auch als Ressourcenverwendung bezeichnet) durch diese einzelne Rechnervorrichtung, auf Anforderungen eines bestimmten Anwendungsprogrammes. Beispielsweise können mehrere Rechnervorrichtungen (z. B. Mobiltelefone) den Verbrauch von Mobiltelefonressourcen (z. B. vom Telefon verwendete Drahtlosdaten) überwachen, die aus Anforderungen des jeweiligen Anwendungsprogrammes resultieren. Jede der Rechnervorrichtungen kann den Ressourcenverbrauch auf Anforderungen des jeweiligen Anwendungsprogrammes (z. B. auf den Rechnervorrichtungen installierte Instanzen des Anwendungsprogrammes) an das Rechnersystem rückmelden. Das Rechnersystem kann die Informationsübertragungen von den Rechnervorrichtungen über das Internet empfangen. - In Kasten
503 kann der Ressourcenverbrauch jede Kombination aus einem oder mehreren aus Datenverbrauch, CPU-Belastung und Batterieverbrauch umfassen. Beispielsweise kann das Rechnersystem Informationen, die den Datenverbrauch (z. B. Herauflade- und/oder Herunterlade-Transfers über ein Drahtlosnetzwerk), der sich auf Anforderung des jeweiligen Anwendungsprogrammes ereignet hat, identifizieren, empfangen. Die Ressourcen können auch die CPU-Belastung (z. B. CPU-Zyklen oder einen Prozentsatz der Prozessorleistung) und Batterieverbrauch (z. B. ein Niveau der Energie, die verwendet wird, um das Anwendungsprogramm zu betreiben, abgeleitet aus periodischen Messungen des Batteriestands in Kombination mit einem Prozentsatz der CPU-Belastung durch das Anwendungsprogramm) umfassen. Darüber hinaus können die Ressourcen andere Ressourcen durch eine Rechnervorrichtung umfassen, beispielsweise von der Rechnervorrichtung gesendete oder empfangene Textnachrichten, die einem Benutzer des Drahtlos-Dienstvertrags der Rechnervorrichtung zugeordnet sind. - In Kasten
504 hat das für jede Rechnervorrichtung installierte Betriebssystem den Ressourcenverbrauch dieser Vorrichtung, der auf Anforderungen des bestimmten Anwendungsprogrammes durchgeführt wurde, überwacht. Beispielsweise kann ein Betriebssystem, das bei der Lieferung einer Rechnervorrichtung an einen Kunden auf der Rechnervorrichtung vorinstalliert war, gelegentlich ein Datentransferniveau identifizieren, das auf das Anwendungsprogramm zurückzuführen ist. - In Kasten
506 hat das von jeder jeweiligen Rechnervorrichtung installierte Anwendungsprogramm den Ressourcenverbrauch einer jeden Vorrichtung auf Anforderungen des jeweiligen Anwendungsprogramms überwacht. Beispielsweise können Instanzen des Anwendungsprogrammes auf den jeweiligen Rechnervorrichtungen installiert werden. Diese Instanzen des Anwendungsprogrammes können den Ressourcenverbrauch der entsprechenden Rechnervorrichtungen aufzeichnen, beispielsweise durch das Speichern statistischer Informationen in einem Speicher, der für das Anwendungsprogramm reserviert ist. Als Veranschaulichung kann ein auf einer Rechnervorrichtung installiertes Sudoku-Anwendungsprogramm in periodischen Abständen ein Betriebssystemregister abfragen, um ein Niveau von CPU-Zyklen oder Gerätespeicher, der dem Anwendungsprogramm zugewiesen wurde, zu identifizieren, und kann diese Informationen speichern. Darüber hinaus kann das Sudoku-Anwendungsprogramm die Größe der externen Netzwerkdatentransfers, die auf Anforderung des Sudoku-Anwendungsprogrammes durchgeführt werden, aufzeichnen. - In Kasten
508 greift ein Rechnersystem auf Informationen zu, die den Ressourcenverbrauch durch die Rechnervorrichtungen auf Anforderungen des jeweiligen Anwendungsprogrammes identifizieren. Beispielsweise hat das Rechnersystem die Informationen von den Rechnervorrichtungen (wie mit Bezug auf Kasten502 beschrieben) erhalten, hat die Informationen gespeichert und greift auf die Informationen zu (z. B. um die Informationen wie unten beschrieben zu analysieren). - In Kasten
512 analysiert ein Rechnersystem die zugegriffenen Informationen, um einen oder mehrere Werte zu bestimmen, die den Ressourcenverbrauch durch zumindest eine Vorrichtungsteilmenge identifizieren. In manchen Fällen umfasst diese Analyse das Ermitteln von Durchschnittsverbrauchswerten für ein bestimmtes Anwendungsprogramm. In manchen Fällen umfasst diese Analyse das Entwickeln eines Gesamtwertes für ein Anwendungsprogramm. Der Gesamtwert kann den Verbrauch des Anwendungsprogrammes verschiedener Arten von Ressourcen identifizieren. - Die Vorrichtungsteilmenge kann eine Teilmenge von Vorrichtungen sein, die ein bestimmtes Kriterium erfüllen. Diese Vorrichtungsteilmenge kann bei der Bestimmung des einen oder der mehreren Werte schwerer als andere Vorrichtungen oder exklusiv gewichtet werden (z. B. Informationen für Vorrichtungen, die nicht in der Teilmenge enthalten sind, werden in der Bestimmung nicht berücksichtigt). Beispielsweise können Rechnervorrichtungen, die denselben Drahtlosnetzwerkdatenanbieter nutzen, als eine Teilmenge der Rechnervorrichtungen bestimmt werden, sodass diese Teilmenge der Rechnervorrichtungen die Bestimmung des einen oder der mehreren Werte exklusiv oder mit größerer Bedeutung als andere Rechnervorrichtungen, die dieses Kriterium nicht erfüllen, beeinflussen können.
- In Kasten
514 identifizieren die Informationen Verbrauchswerte für nur eine Vorrichtungsteilmenge, wobei die Vorrichtungsteilmenge als jene Vorrichtungen bestimmt wird, die in einem sozialen Netzwerk eine Beziehung mit der Vorrichtung haben, welcher der Verbrauchsanzeigewert am Software-Marktplatz gezeigt wird. Vorrichtungen können eine Beziehung in einem sozialen Netzwerk haben, wenn die Benutzer der Vorrichtungen eine Beziehung miteinander in einem sozialen Netzwerk haben. Benutzer können eine Soziale-Netzwerk-Beziehung haben, wenn einer der Benutzer eine Anforderung gestellt hat, bevorrechtigte Informationen, die von dem anderen der Benutzer eingegeben wurden, durch die Verwendung des sozialen Netzwerkes einzusehen und der andere Benutzer die Ansicht dieser bevorrechtigten Informationen durch den anfragenden Benutzer bestätigt hat. Somit können die Verbrauchsdaten der Sozialen-Netzwerk-„Freunde” eines Benutzers beim Bestimmen eines oder mehrerer Werte, die den Ressourcenverbrauch durch ein Anwendungsprogramm identifizieren, stärker oder exklusiv gewichtet werden. - In Kasten
516 identifizieren die Informationen die Verbrauchwerte für nur eine Vorrichtungsteilmenge und die Vorrichtungsteilmenge sind jene Vorrichtungen, die als dem Benutzer geographisch nahegelegen bestimmt wurden. Vorrichtungen können als einem Benutzer geographisch nahegelegen festgelegt werden, basierend auf der Entfernung zwischen den Vorrichtungen, auf die durch die Verwendung von IP-Adressen, Mobilfunkturmidentifikationsnummern, benutzerspezifische demographische Informationen oder satellitenbasierte Positionsbestimmungsinformationen (z. B. das Global Positioning System) abgeleitet werden. - Wie mit Bezug auf
3 ausführlicher beschrieben kann die Analyse verschiedene andere Verfahren für das Analysieren der zugegriffenen Informationen umfassen. Als ein einzelnes von vielen im Zuge dieser Offenbarung beschriebenen Beispiele, kann der eine oder die mehreren Werte, die den Ressourcenverbrauch auf Anforderung eines Anwendungsprogrammes identifizieren, basierend auf den Statistiken ähnlicher Anwendungsprogramme generiert werden. Somit kann, auch wenn ein bestimmtes Anwendungsprogramm weniger Ressourcen als die meisten Anwendungsprogramme verwenden kann, der eine oder die mehreren Werte darauf hinweisen, dass das jeweilige Anwendungsprogramm tatsächlich mehr Ressourcen als ähnliche Anwendungsprogramme verwendet. - In Kasten
518 stellt das Rechnersystem in Zusammenwirken mit einer Anzeige eines Software-Marktplatzes einen oder mehrere Anzeigewerte, die den einen oder die mehreren Werte veranschaulichen, zur Anzeige bereit. Beispielsweise kann das Rechnersystem den einen oder die mehreren Werte an ein System, das einen Software-Marktplatz betreibt, übertragen. Das Software-Marktplatzsystem kann einen Anzeigewert für eine Anzeige für Marktplatzbesucher, basierend auf dem einen oder den mehreren Werten festlegen (z. B. einen „grünen Kreis” für niedrigen Datenverbrauch, einen „gelben Kreis” für einen mittleren Datenverbrauch oder einen „roten Kreis” für einen hohen Datenverbrauch). Das Software-Marktplatzsystem kann Daten an eine Rechnervorrichtung eines Besuchers des Software-Marktplatzes übertragen, um den Anzeigewert anzuzeigen. In manchen Ausführungsformen muss das Rechnersystem, das den Anzeigewert für die Anzeige bereitstellt, den Anzeigewert nicht anzeigen. Vielmehr kann das System den Anzeigewert via Informationsübertragung bereitstellen, die dazu verwendet wird, eine Anzeige des Anzeigewerts zu generieren. - In Kasten
520 stellt der Software-Marktplatz eine Anwendungsprogrammsoftware für die Ausführung durch Rechnervorrichtungen bereit. Beispielsweise kann der Software-Marktplatz eine Benutzeroberfläche bereitstellen, die es Benutzern von Rechnervorrichtungen, die vom Software-Marktplatzsystem entfernt sind, erlaubt, eine Liste von Anwendungsprogrammen zu durchsuchen. In manchen Beispielen kann ein Benutzer auf eine Schaltfläche neben jedem der Anwendungsprogramme in der Liste klicken, um ein Installationsprogramm für das Anwendungsprogramm auf die Rechnervorrichtung des Benutzers herunterzuladen. In verschiedenen Beispielen wird ein Installationsprogramm für das Anwendungsprogramm nicht auf die Rechnervorrichtung des Benutzers bereitgestellt, sondern die Vorrichtung des Benutzers wird angeleitet, mit einem entfernten System zu kommunizieren, um die Anwendung in einer Client-Server-Beziehung auszuführen. - Der Software-Marktplatz kann erfordern, dass der Benutzer für zumindest manche der Anwendungsprogramme bezahlt. Ein Administrator des Software-Marktplatzes kann einen Teil des Einkaufspreises den Entwicklern der Anwendungsprogramme bereitstellen, die die Anwendungsprogramme für das Software-Marktplatz-System für die Verbreitung an Benutzer von Rechenvorrichtungen bereitstellen.
- In Kasten
522 wurde das jeweilige Anwendungsprogramm für jede der Rechnervorrichtungen vom Software-Marktplatz installiert. Beispielsweise können die Rechnervorrichtungen – für die die zugegriffenen Informationen den Ressourcenverbrauch identifizieren – alle das Anwendungsprogramm oder ein Installationsprogramm für das Anwendungsprogramm vom Software-Marktplatz erhalten haben. Je mehr Vorrichtungen somit das Anwendungsprogramm vom Software-Marktplatz herunterladen, desto besser ist die Statistik, die den Anwendungsverbrauch veranschaulicht. - Bezugnehmend nun auf
6 , wird ein konzeptuelles Diagramm eines Systems, das verwendet werden kann, um die in diesem Dokument beschriebenen Systeme und Verfahren umzusetzen, veranschaulicht. In dem System kann eine mobile Rechnervorrichtung610 drahtlos mit der Basisstation640 , die der mobilen Rechnervorrichtung durch ein Netzwerk650 einen drahtlosen Zugang zu zahlreichen angebotenen Dienstleistungen660 bereitstellen kann, kommunizieren. - In dieser Abbildung wird die mobile Rechnervorrichtung
610 als ein tragbares Funktelefon (z. B. ein Smartphone oder ein Anwendungstelefon) das eine Touchscreen-Anzeigevorrichtung612 für das Darstellen von Inhalten an einen Benutzer der mobilen Rechnervorrichtung610 und das Empfangen von berührungsbasierten Benutzereingaben umfasst. Andere visuelle, taktile und akustische Ausgabebauteile (z. B. LED-Lichter, ein Vibrationsmechanismus für eine taktile Ausgabe oder ein Lautsprecher für das Bereitstellen tonaler, stimmerzeugter oder aufgenommener Ausgaben), sowie mehrere verschiedene Eingabebauteile (z. B. Tastatur614 , physische Schaltflächen, Steuerkugel, Beschleunigungsmesser, Gyroskope und Magnetfeldstärkenmesser) können ebenfalls bereitgestellt werden. - Zum Beispiel kann ein visueller Ausgabemechanismus in der Form einer Anzeigevorrichtung
612 die Form einer Anzeige mit Widerstands- oder kapazitiver Berührungsfunktionalität annehmen. Die Anzeigevorrichtung kann für das Anzeigen von Videos, Grafiken, Bildern und Text und für die Koordinierung der Stellen für Berührungseingaben durch den Benutzer mit der Stelle der angezeigten Informationen sein, sodass die Vorrichtung610 die Berührung durch einen Benutzer an der Stelle eines angezeigten Objektes mit diesem Objekt in Verbindung bringen kann. Die mobile Rechnervorrichtung610 kann auch alternative Formen, einschließlich die eines Laptop-Computers, eines Tablet oder eines Tablet-PC, eines persönlichen digitalen Assistenten (PDA), eines eingebetteten Systems (z. B. ein Autonavigationssystem), eines Desktop-PCs oder einer computerisierten Arbeitsstation, annehmen. - Ein beispielhafter Mechanismus für das Empfangen von Benutzereingaben umfasst die Tastatur
614 , die eine vollständige QWERTY-Tastatur oder ein herkömmliches Tastenfeld mit Tasten für die Zahlen ,0–9', ,*' und ,#' sein kann. Die Tastatur614 empfängt eine Eingabe, wenn ein Benutzer eine Taste der Tastatur physisch berührt oder loslässt. Die Benutzerbearbeitung über eine Steuerkugel616 oder die Interaktion mit einem Tastfeld erlaubt es dem Benutzer, Informationen hinsichtlich einer Richtung oder Bewegungsrate an die mobile Rechnervorrichtung610 bereitzustellen (z. B. um die Position eines Mauszeigers auf der Anzeigevorrichtung612 zu manipulieren). - Die mobile Rechnervorrichtung
610 kann in der Lage sein, eine Position des physischen Kontaktes mit der Touchscreen-Anzeigevorrichtung612 (z. B. die Position eines Kontaktes durch einen Finger oder einen Eingabestift) zu bestimmen. Durch die Verwendung des Touchscreens612 können verschiedene „virtuelle” Eingabemechanismen hergestellt werden, in denen ein Benutzer mit einem graphischen Benutzeroberflächenelement, das auf dem Touchscreen612 dargestellt wird, interagiert, indem er das graphische Benutzeroberflächenelement berührt. Ein Beispiel eines „virtuellen” Eingabemechanismus ist eine „Software-Tastatur”, wobei eine Tastatur auf dem Touchscreen angezeigt wird und ein Benutzer die Tasten auswählt, indem er auf eine Region des Touchscreens612 drückt, die jeder einzelnen Taste entspricht. - Die mobile Rechnervorrichtung
610 kann mechanische oder berührungsempfindliche Schaltflächen618a –d umfassen. Zusätzlich dazu kann die mobile Rechnervorrichtung Schaltflächen für das Anpassen der Lautstärkenausgabe durch den einen oder die mehreren Lautsprecher620 und eine Schaltfläche für das Ein- oder Ausschalten der mobilen Rechnervorrichtung umfassen. Ein Mikrofon622 erlaubt der mobilen Rechnervorrichtung610 akustische Klänge in ein elektrisches Signal umzuwandeln, das digital kodiert und im computerlesbaren Speicher gespeichert oder auf eine andere Rechnervorrichtung übertragen werden kann. Die mobile Rechnervorrichtung610 kann auch einen digitalen Kompass, einen Beschleunigungsmesser, Nähesensoren oder Umgebungslichtsensoren umfassen. - Ein Betriebssystem kann eine Schnittstelle zwischen der Hardware (z. B. den Eingabe-/Ausgabemechanismen und ein Prozessor, der von einem computerlesbaren Medium empfangene Anweisungen ausführt) und der Software der mobilen Rechnervorrichtung bereitstellen. Beispiele für Betriebssysteme umfassen ANDROID, CHROME OS, IOS, MAC OS X, WINDOWS 7, WINDOWS PHONE 7, SYMBIAN, BLACKBERRY, WEBOS und verschiedene UNIX-Betriebssysteme; oder ein geschütztes Betriebssystem für computerisierte Vorrichtungen. Das Betriebssystem kann eine Plattform für die Ausführung von Anwendungsprogrammen bereitstellen, die die Interaktion zwischen der Rechnervorrichtung und einem Benutzer ermöglichen.
- Die mobile Rechnervorrichtung
610 kann eine grafische Benutzeroberfläche mit dem Touchscreen612 bereitstellen. Eine grafische Benutzeroberfläche ist eine Sammlung von einem oder mehreren grafischen Oberflächenelementen und kann statisch (z. B. die Anzeige scheint über einen Zeitraum gleich zu bleiben) oder dynamisch sein (z. B. die grafische Benutzeroberfläche umfasst grafische Oberflächenelemente, die ohne Benutzereingabe animiert sind). - Ein grafisches Oberflächenelement kann Text, Linien, Formen, Bilder oder Kombinationen daraus sein. Beispielsweise kann ein grafisches Oberflächenelement ein Symbol, das auf dem Desktop angezeigt wird, und der mit dem Symbol verbundene Text sein. In manchen Beispielen ist ein grafisches Oberflächenelement durch Benutzereingabe auswählbar. Beispielsweise kann ein Benutzer ein grafisches Oberflächenelement durch Drücken eines Bereichs des Touchscreens, der der Anzeige eines grafischen Oberflächenelements entspricht, auswählen. In manchen Beispielen kann der Benutzer eine Steuerkugel betätigen, um ein einzelnes grafisches Oberflächenelement besonders hervorzuheben. Die Benutzerauswahl eines grafischen Oberflächenelements kann eine von der mobilen Rechnervorrichtung vorbestimmte Handlung aufrufen. In manchen Beispielen entsprechen auswählbare grafische Oberflächenelemente zudem oder alternativ dazu einer Schaltfläche auf der Tastatur
604 . Die Benutzerauswahl der Schaltfläche kann die vorbestimmte Handlung aufrufen. - In manchen Beispielen stellt das Betriebssystem eine grafische „Desktop”-Benutzeroberfläche bereit, die nach dem Einschalten auf der mobilen Rechnervorrichtung
610 , nach dem Aktivieren der mobilen Rechnervorrichtung610 aus einem Ruhezustand, nach dem „Entsperren” der mobilen Rechnervorrichtung610 oder nach dem Empfangen der Benutzerauswahl der „Home”-Schaltfläche618c angezeigt wird. Die grafische Desktop-Benutzeroberfläche kann verschiedene grafische Oberflächenelemente anzeigen, die, wenn ausgewählt, die entsprechenden Anwendungsprogramme aufrufen. Ein aufgerufenes Anwendungsprogramm kann eine grafische Schnittstelle darstellen, die die grafische Desktop-Benutzeroberfläche ersetzt, bis das Anwendungsprogramm beendet oder ausgeblendet wird. - Benutzereingaben können eine Ausführungssequenz von Funktionen der mobilen Rechnervorrichtung
610 beeinflussen. Beispielsweise kann eine einmalige Benutzereingabe (z. B. eine einzelne Berührung des Touchscreens, ein Streichen über den Touchscreen, Berührung einer Schaltfläche oder ein gleichzeitiges Auftreten einer Kombination daraus) eine Funktion aufrufen, die die Anzeige der Benutzeroberfläche verändert. Ohne die Benutzereingabe wäre die Benutzeroberfläche zu diesem Zeitpunkt möglicherweise nicht verändert worden. Beispielsweise kann eine Benutzereingabe durch mehrfache Berührung des Touchscreens612 eine Kartenanwendung dazu aufrufen, eine Stelle zu vergrößern, auch wenn die Kartenanwendung standardmäßig nach einigen Sekunden die Ansicht vergrößert hätte. - Die grafische Desktop-Benutzeroberfläche kann auch ”Widgets” anzeigen. Ein Widget ist ein oder mehrere grafische Benutzeroberflächenelemente, die mit einem ausgeführten Anwendungsprogramm in Verbindung stehen, und auf dem Desktop von dem ausgeführten Anwendungsprogramm gesteuerte Inhalte anzeigen. Ein Widget-Anwendungsprogramm kann beim Einschalten der Mobilvorrichtung gestartet werden. Zudem kann ein Widget nicht die gesamte Anzeige einnehmen. Stattdessen kann ein Widget nur einen kleinen Anteil des Desktops „besitzen” und Inhalte anzeigen und Benutzereingaben über den Touchscreen innerhalb dieses Anteils des Desktops empfangen.
- Die mobile Rechnervorrichtung
610 kann einen oder mehrere Positionsidentifikationsmechanismen umfassen. Ein Positionsidentifikationsmechanismus kann eine Sammlung von Hardware und Software umfassen, die dem Betriebssystem und den Anwendungsprogrammen eine Schätzung der geografischen Position der Mobilvorrichtung bereitstellt. Ein Positionsidentifikationsmechanismus kann satellitenbasierte Positionierungsverfahren, Basisstation-Antennenübertragungsidentifikation, Mehrfach-Basisstation-Triangulation, Internet-Zugriffspunkt IP-Lokalisierungsbestimmungen, Inferenzidentifikation einer Benutzerposition basierend auf Suchmaschinenanfragen und Positionsidentifikation durch den Benutzer (z. B. durch das Empfangen eines „Check in” an einer Position) verwenden. - Die mobile Rechnervorrichtung
610 kann andere Anwendungen, Rechner-Subsysteme und Hardware umfassen. Eine Gesprächsabwicklungseinheit kann einen Hinweis auf einen eingehenden Telefonanruf empfangen und einem Benutzer die Fähigkeit, den eingehenden Telefonanruf zu beantworten, bereitstellen. Ein Medienabspielprogramm kann einem Benutzer erlauben, Musik zu hören oder Filme abzuspielen, die im lokalen Speicher der mobilen Rechnervorrichtung610 gespeichert sind. Die mobile Rechnervorrichtung610 kann einen digitalen Kamerasensor und entsprechende Software für das Aufnehmen und Bearbeiten von Bildern und Videos umfassen. Ein Internet-Browser kann dem Benutzer erlauben, Inhalte von einer Webseite durch das Eintippen von der Webseite entsprechenden Adressen oder das Auswählen eines Links zur Webseite anzuzeigen. - Die mobile Rechnervorrichtung
610 kann eine Antenne umfassen, um drahtlos Informationen an die Basisstation640 zu kommunizieren. Die Basisstation640 kann eine von vielen Basisstationen in einer Ansammlung von Basistationen (z. B. ein Mobiltelefonfunknetzwerk) sein, das der mobilen Rechnervorrichtung610 erlaubt, bei geografischer Bewegung der mobilen Rechnervorrichtung die Kommunikation mit einem Netzwerk650 aufrechtzuerhalten. Die Rechnervorrichtung610 kann alternativ oder zusätzlich dazu über einen WLAN-Router oder eine drahtgebundene Verbindung (z. B. ETHERNET, USB oder FIREWARE) mit dem Netzwerk650 kommunizieren. Die Rechnervorrichtung610 kann auch mit anderen Rechnervorrichtungen drahtlos kommunizieren durch die Verwendung von BLUETOOTH-Protokollen oder durch den Einsatz eines Ad-hoc-Drahtlosnetzwerkes. - Ein Dienstleistungsanbieter, der das Netzwerk von Basisstationen betreibt, kann die mobile Rechnervorrichtung
610 mit dem Netzwerk650 verbinden, um die Kommunikation zwischen der mobilen Rechnervorrichtung610 und anderen Rechnersystemen, die Dienstleistungen660 bereitstellen, zu ermöglichen. Obwohl die Dienstleistungen660 über verschiedene Netzwerke bereitgestellt werden können (z. B. das interne Netzwerk des Dienstleistungsanbieters, das öffentliche Telefonnetz und das Internet), wird das Netzwerk650 als ein einzelnes Netzwerk dargestellt. Der Dienstleistungsanbieter kann ein Server-System652 betreiben, das Informationspakete und Sprachdaten zwischen der mobilen Rechnervorrichtung610 und mit den Diensten660 verbundenen Rechnersystemen verschickt. - Das Netzwerk
650 kann die mobile Rechnervorrichtung610 an das öffentliche Telefonfestnetz (PSTN)662 anschließen, um die Sprach- oder Faxkommunikation zwischen der mobilen Rechnervorrichtung610 und einer anderen Rechnervorrichtung zu gewährleisten. Beispielsweise kann das Server-System652 des Dienstleistungsanbieters einen Hinweis des öffentlichen Telefonfestnetzes662 auf einen eingehenden Anruf für die mobile Rechnervorrichtung610 empfangen. Umgekehrt kann die mobile Rechnervorrichtung610 eine Mitteilung an das Server-System652 des Dienstleistungsanbieters senden, das einen Telefonanruf unter Verwendung einer Telefonnummer, die einer Vorrichtung zugeordnet ist, die durch das PSTN662 zugänglich ist, einleitet. - Das Netzwerk
650 kann die mobile Rechnervorrichtung610 mit einem Voice-over-Internet-Protocol-Dienst (VoIP-Dienst)664 verbinden, der Sprachmitteilungen über ein IP-Netzwerk, im Gegensatz zum PSTN, versendet. Beispielsweise kann ein Benutzer einer mobilen Rechnervorrichtung610 eine VoIP-Anwendung aufrufen und einen Anruf unter Verwendung des Programmes initiieren. Das Server-System des Dienstleistungsanbieters652 kann Sprachdaten des Anrufs an einen VoIP-Dienst weiterleiten, der den Anruf über das Internet auf eine entsprechende Rechnervorrichtung senden kann, wobei möglicherweise das PSTN als letztes Stück der Verbindung verwendet wird. - Ein Anwendungs-Shop
666 kann einem Benutzer der mobilen Rechnervorrichtung610 die Fähigkeit bereitstellen, eine Liste von entfernt gespeicherten Anwendungsprogrammen, die der Benutzer über das Netzwerk650 herunterladen und auf der mobilen Rechnervorrichtung610 installieren kann, zu durchsuchen. Der Anwendungs-Shop666 kann als ein Ablageort für von Dritt-Anwendungsentwicklern entwickelte Anwendungen dienen. Ein Anwendungsprogramm, das auf der mobilen Rechnervorrichtung610 installiert ist, kann in der Lage sein über das Netzwerk650 mit für das Anwendungsprogramm bestimmten Server-Systemen zu kommunizieren. Beispielsweise kann ein VoIP-Anwendungsprogramm aus dem Anwendungs-Shop666 heruntergeladen werden, was dem Benutzer erlaubt, mit dem VoIP-Dienst664 zu kommunizieren. - Die mobile Rechnervorrichtung
610 kann über das Netzwerk650 auf Inhalte im Internet668 zugreifen. Beispielsweise kann ein Benutzer einer mobilen Rechnervorrichtung610 eine Web-Browser-Anwendung aufrufen, die Daten von entfernten Rechnervorrichtungen, die an bestimmten einheitlichen Quellenorten (URL) zugänglich sind, anfordert. In verschiedenen Beispielen sind manche dieser Dienste660 über das Internet zugänglich. - Die mobile Rechnervorrichtung kann mit einem persönlichen Computer (PC)
670 kommunizieren. Beispielsweise kann der persönliche Computer670 der Heimrechner eines Benutzers der mobilen Rechnervorrichtung610 sein. Somit kann der Benutzer in der Lage sein, Medien von seinem persönlichen Computer670 abzuspielen. Der Benutzer kann auch die Dateistruktur seines persönlichen Computers670 ansehen und ausgewählte Dokumente zwischen den computerisierten Vorrichtungen übertragen. - Ein Spracherkennungsdienst
672 kann Sprachkommunikationsdaten, die mit dem Mikrofon622 der mobilen Rechnervorrichtung aufgezeichnet wurden, empfangen und die Sprachkommunikation in entsprechende Textdaten übersetzen. In manchen Beispielen wird der übersetzte Text einer Suchmaschine als eine Webanfrage bereitgestellt und darauf bezogene Suchmaschinensuchergebnisse werden an die mobile Rechnervorrichtung610 übertragen. - Die mobile Rechnervorrichtung
610 kann mit einem sozialen Netzwerk674 kommunizieren. Das soziale Netzwerk kann zahlreiche Mitglieder umfassen, von denen einige zugestimmt haben, als Bekanntschaften in Bezug gebracht zu werden. Anwendungsprogramme auf der mobilen Rechnervorrichtung610 können auf das soziale Netzwerk674 zugreifen, um auf den Bekanntschaften basierende Informationen des Benutzers der mobilen Rechnervorrichtung abzurufen. Beispielsweise kann ein „Adressbuch”-Anwendungsprogramm Telefonnummern von den Bekanntschaften des Benutzers abrufen. In zahlreichen Beispielen können Inhalte an die mobile Rechnervorrichtung610 geliefert werden, basierend auf Distanzen im sozialen Netzwerk vom Benutzer zu anderen Mitgliedern in einer grafischen Darstellung der Mitglieder des sozialen Netzwerks und der verbindenden Beziehungen. Beispielsweise können Werbungen und Nachrichtenartikelinhalte für den Benutzer basierend auf einem Interaktionsgrad mit solchen Inhalten durch Mitglieder, die dem Benutzer „nahestehen” (z. B. Mitglieder, die „Freunde” oder „Freunde von Freunden” sind) ausgewählt werden. - Die mobile Rechnervorrichtung
610 kann durch das Netzwerk650 auf einen persönlichen Kontaktsatz676 zugreifen. Jeder Kontakt kann ein Individuum identifizieren und Informationen über dieses Individuum (z. B. eine Telefonnummer, eine E-Mail-Adresse und einen Geburtstag) umfassen. Da dieser Kontaktsatz von der mobilen Rechnervorrichtung610 entfernt untergebracht ist, kann der Benutzer auf die Kontakte676 von verschiedenen Vorrichtungen als ein gemeinsamer Kontaktsatz zugreifen und sie pflegen. - Die mobile Rechnervorrichtung
610 kann auf cloud-basierte Anwendungsprogramme678 zugreifen. Cloud-Computing stellt Anwendungsprogrammen (z. B. ein Textverarbeitungsprogramm oder ein E-Mail-Programm) bereit, die von der mobilen Rechnervorrichtung610 entfernt untergebracht sind und auf die von der Vorrichtung610 über einen Web-Browser oder ein bestimmtes Programm zugegriffen werden kann. Beispielhafte cloud-basierte Anwendungsprogramme umfassen das Textverarbeitungsprogramm und das Tabellenkalkulationsprogramm von GOOGLE DOCS, den Webmail-Dienst von GOOGLE GMAIL und das Bildverwaltungsprogramm PICASA. - Ein Kartierungsprogramm
680 kann der mobilen Rechnervorrichtung610 Straßenkarten, Routenplanungsinformation und Satellitenbilder bereitstellen. Ein Beispiel für einen Kartierungsdienst ist GOOGLE MAPS. Der Kartierungsdienst680 kann Anforderungen empfangen und positionsspezifische Ergebnisse zurückgeben. Beispielsweise kann die mobile Rechnervorrichtung610 eine geschätzte Position der mobilen Rechnervorrichtung und eine vom Benutzer eingegebene Anforderung nach „Pizzarestaurant” an den Kartierungsdienst680 senden. Der Kartierungsdienst680 kann eine Straßenkarte mit auf der Karte eingeblendeten „Anzeigewerten” zurückgeben, die die geographischen Positionen nahegelegener „Pizzarestaurants” identifiziert. - Ein Wegbeschreibungsdienst
682 kann der mobilen Rechnervorrichtung610 Wegbeschreibungen zu einem vom Benutzer eingegebenen Ziel bereitstellen. Beispielsweise kann der Wegbeschreibungsdienst682 eine Straßenansicht einer geschätzten Position an die Vorrichtung610 übertragen, gemeinsam mit Daten für das Bereitstellen von akustischen Anweisungen und eingeblendeten Pfeilen, die einen Benutzer der Vorrichtung610 zu dem Ziel leiten. - Verschiedene Formen von Übertragungsmedien
684 können von der mobilen Rechnervorrichtung610 angefragt werden. Beispielsweise kann die Rechnervorrichtung610 die Übertragung einer im Vorfeld aufgezeichneten Videodatei, einer Live-Fernsehsendung oder einer Live-Radiosendung anfragen. Beispiele für Dienste, die die Übertragung von Medien anbieten, umfassen YOUTUBE und PANDORA. - Ein Mikro-Blogging-Dienst
686 kann einen vom Benutzer eingegebenen Beitrag von der mobilen Rechnervorrichtung610 empfangen, der die Empfänger des Beitrags nicht identifiziert. Der Mikro-Blogging-Dienst686 kann den Beitrag an andere Mitglieder des Mikro-Blogging-Dienstes686 , die zugestimmt haben, Inhalte von dem Benutzer zu abonnieren, verbreiten. - Eine Suchmaschine
688 kann vom Benutzer eingegebene Text- oder Sprachanfragen von der mobilen Rechnervorrichtung610 empfangen, eine Reihe auf die Anforderung zutreffender, im Internet verfügbarer Dokumente bestimmen und der Vorrichtung610 die Informationen in einer Liste von Suchergebnissen für die entsprechenden Dokumente zur Anzeige bereitstellen. In Beispielen, in denen eine Spracheingabe empfangen wird, kann der Spracherkennungsdienst672 die empfangene akustische Anforderung in eine Textanfrage übersetzen, die an die Suchmaschine gesendet wird. - Diese und andere Dienste können in einem Server-System
690 umgesetzt werden. Ein Server-System kann eine Kombination aus Hardware und Software sein, die eine Dienstleistung oder eine Reihe von Dienstleistungen bereitstellt. Beispielsweise kann eine Reihe von physisch getrennten und vernetzten, computierisierten Vorrichtungen zusammen als eine logische Server-Systemeinheit betrieben werden, um die Funktionen auszuführen, die notwendig sind, um hunderten von Rechnervorrichtungen eine Dienstleistung zu bieten. Ein Server-System wird hierin auch als ein Rechnersystem bezeichnet. - In verschiedenen Ausführungen werden Funktionen, die „als Antwort auf” oder „in Folge von” einer anderen Funktion (z. B. einer Bestimmung oder Identifikation) durchgeführt werden, nicht durchgeführt, wenn die vorhergehende Funktion nicht erfolgreich war (z. B. wenn die Bestimmung nicht durchgeführt wurde). Funktionen, die „automatisch” durchgeführt werden, sind Funktionen, die ohne ein Eingreifen des Benutzers (z. B. eine eingreifende Benutzereingabe) durchgeführt werden. Merkmale, die in diesem Dokument in der Möglichkeitsform formuliert sind, können optionale Ausführungen beschreiben. In manchen Beispielen umfasst das „Übertragen” von einer ersten Vorrichtung auf eine zweite Vorrichtung das Platzieren von Daten in ein Netzwerk für das Empfangen durch die zweite Vorrichtung, kann aber nicht umfassen, dass die zweite Vorrichtung die Daten empfängt. Umgekehrt kann „Empfangen” von einer ersten Vorrichtung das Empfangen der Daten aus einem Netzwerk umfassen, kann aber nicht umfassen, dass die erste Vorrichtung die Daten überträgt.
- „Bestimmen” durch ein Rechnersystem kann die Anforderung des Rechnersystems an eine andere Vorrichtung, die Bestimmung durchzuführen und die Ergebnisse an das Rechnersystem zu liefern, umfassen. Darüber hinaus kann „anzeigen” oder „darstellen” von einem Rechnersystem das Senden von Daten durch das Rechnersystem umfassen, um eine andere Vorrichtung zu veranlassen, die referenzierten Informationen anzuzeigen oder darzustellen.
-
7 ist ein Blockdiagramm von Rechnervorrichtungen700 ,750 , die verwendet werden können, um die in diesem Dokument beschriebenen Systeme und Verfahren umzusetzen, entweder als Client oder als ein Server oder eine Vielzahl von Servern. Die Rechnervorrichtung700 soll verschiedene Formen von digitalen Computern, wie etwa Laptops, Desktops, Arbeitsstationen, persönliche digitale Assistenten (PDA), Server, Blade-Server, Großrechnersysteme und andere geeignete Computer, repräsentieren. Die Rechnervorrichtung750 soll verschiedene Formen von mobilen Vorrichtungen, wie etwa persönliche digitale Assistenten (PDA), Mobiltelefone, Smartphones und andere ähnliche Rechnervorrichtungen, repräsentieren. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen verstehen sich lediglich als beispielhaft und nicht als die hierin beschriebenen und/oder beanspruchten Ausführungsformen einschränkend. - Die Rechnervorrichtung
700 umfasst einen Prozessor702 , einen Speicher704 , eine Speichervorrichtung706 , eine Hochgeschwindigkeitsschnittstelle708 , die mit dem Speicher704 und mit Hochgeschwindigkeitserweiterungsanschlüssen710 verbunden ist, und eine Niedriggeschwindigkeitsschnittstelle712 , die mit einem Niedriggeschwindigkeitsbus714 und der Speichervorrichtung706 verbunden ist. Alle Komponenten702 ,704 ,706 ,708 ,710 und712 sind über verschiedene Busse miteinander verbunden und können auf ein gewöhnliches Motherboard oder auf andere geeignete Wege montiert werden. Der Prozessor702 kann Anweisungen für die Ausführung innerhalb der Rechnervorrichtung700 , einschließlich im Speicher704 oder auf der Speichervorrichtung706 abgelegte Anweisungen, grafische Informationen für eine grafische Benutzeroberfläche (GUI) auf einer externen Eingabe-/Ausgabevorrichtung, wie etwa einer mit der Hochgeschwindigkeitsschnittstelle708 gekoppelten Anzeige716 , verarbeiten. In anderen Ausführungsformen können gegebenenfalls zahlreiche Prozessoren und/oder zahlreiche Busse gemeinsam mit zahlreichen Speichern und Speicherarten verwendet werden. Auch können mehrere Rechnervorrichtungen700 verbunden werden, wobei jede Vorrichtung Teile der benötigten Funktionen bereitstellt (z. B. als eine Serverbank, eine Gruppe von Blade-Servern oder ein Mehr-Prozessorsystem). - Der Speicher
704 speichert Informationen innerhalb der Rechnervorrichtung700 . In einer Ausführungsform ist der Speicher704 eine flüchtige Speichereinheit oder -einheiten. In einer anderen Ausführungsform ist der Speicher704 eine nichtflüchtige Speichereinheit oder -einheiten. Der Speicher704 kann auch eine andere Form eines computerlesbaren Mediums, wie etwa eine Magnet- oder Bildplatte sein. - Die Speichervorrichtung
706 ist in der Lage, Massenspeicher für die Rechnervorrichtung700 bereitzustellen. In einer Ausführungsform kann die Rechnervorrichtung706 gegebenenfalls ein computerlesbares Medium, wie etwa eine Diskettenvorrichtung, eine Festplattenvorrichtung, eine Bildplattenvorrichtung oder eine Bandvorrichtung, ein Flash-Speicher oder eine ähnliche Festkörperspeichervorrichtung, oder eine Anordnung von Vorrichtungen, einschließlich Vorrichtungen in einem Speichernetzwerk (SAN) oder andere Konfigurationen, sein. Das Computerprogrammprodukt kann real in einen Informationsträger eingebettet sein. Das Computerprogrammprodukt kann auch Anweisungen umfassen, dass bei der Ausführung ein oder mehrere Verfahren, wie die oben beschriebenen, ausgeführt werden. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie der Speicher704 , die Speichervorrichtung706 oder Speicher auf dem Prozessor702 . - Die Hochgeschwindigkeitssteuerung
708 regelt bandbreitenintensive Funktionen für die Rechnervorrichtung700 , während die Niedriggeschwindigkeitssteuerung712 weniger bandbreitenintensive Funktionen regelt. Eine solche Zuteilung der Funktionen ist lediglich beispielhaft. In einer Ausführungsform ist die Hochgeschwindigkeitssteuerung708 mit dem Speicher704 , der Anzeige716 (z. B. durch den Grafikprozessor oder Beschleuniger) und Hochgeschwindigkeitserweiterungsanschlüssen710 , die verschiedene Erweiterungskarten (nicht gezeigt) aufnehmen können, verbunden. In der Ausführung ist die Niedriggeschwindigkeitssteuerung712 mit der Speichervorrichtung706 und dem Niedriggeschwindigkeitserweiterungsanschluss714 verbunden. Der Niedriggeschwindigkeitserweiterungsanschluss, der verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) umfassen kann, kann mit einer oder mehreren Eingabe-/Ausgabevorrichtungen, wie etwa einer Tastatur, einer Zeigevorrichtung, einem Scanner, oder einer Netzwerkvorrichtung, wie etwa einem Schalter oder Router, beispielsweise über einen Netzwerkadapter verbunden sein. - Die Rechnervorrichtung
700 kann, wie in der Fig. gezeigt, in einer Reihe verschiedener Formen umgesetzt werden. Beispielsweise kann sie als ein Standardserver720 oder mehrfach in einer Gruppe solcher Server umgesetzt werden. Sie kann auch als Teil eines auf einem Gestell montierten Server-Systems724 implementiert sein. Zusätzlich dazu kann sie in einem persönlichen Computer, wie etwa einem Laptop-Computer722 umgesetzt sein. Alternativ dazu können Komponenten der Rechnervorrichtung700 mit anderen Komponenten in einer mobilen Vorrichtung (nicht gezeigt), wie etwa Vorrichtung750 , kombiniert werden. Jede solche Vorrichtung kann eine oder mehrere Rechnervorrichtungen700 ,750 umfassen und ein gesamtes System kann aus zahlreichen Rechnervorrichtungen700 ,750 , die miteinander kommunizieren, zusammengesetzt sein. - Rechnervorrichtung
750 umfasst neben anderen Komponenten einen Prozessor752 , einen Speicher764 und eine Eingabe-/Ausgabevorrichtung, wie etwa eine Anzeige754 , eine Kommunikationsschnittstelle766 und einen Sender-Empfänger768 . Die Vorrichtung750 kann auch eine Speichervorrichtung, wie etwa ein Micro-Laufwerk oder eine andere Vorrichtung, bereitstellen, um zusätzlichen Speicher bereitzustellen. Alle Komponenten750 ,752 ,764 ,754 ,766 und768 sind untereinander mit verschiedenen Bussen verbunden und einige der Komponenten können auf einem gewöhnlichen Motherboard oder auf andere geeignete Arten angebracht sein. - Der Prozessor
752 kann Anweisungen innerhalb der Rechnervorrichtung750 , einschließlich im Speicher764 abgelegter Anweisungen ausführen. Der Prozessor kann als ein Chip-Satz aus Chips, die getrennte und mehrfache analoge und digitale Prozessoren umfassen, umgesetzt sein. Zusätzlich dazu kann der Prozessor mit jeder aus einer Reihe von möglichen Architekturen umgesetzt werden. Beispielsweise kann der Prozessor410 ein CISC-Prozessor (Complex Instruction Set Computers), ein RISC-Prozessor (Reduced Instruction Set Computer) oder ein MISC-Prozessor (Minimal Instruction Set Computer) sein. Der Prozessor kann beispielsweise die Koordinierung der anderen Komponenten der Vorrichtung750 , wie etwa die Steuerung der Benutzeroberflächen, auf der Vorrichtung750 laufende Anwendungen und Drahtloskommunikation der Vorrichtung750 , gewährleisten. - Der Prozessor
752 kann durch eine Steuerschnittstelle758 und eine mit einer Anzeige754 gekoppelte Anzeigenschnittstelle756 mit einem Benutzer kommunizieren. Die verwendete Anzeige754 kann beispielsweise eine Dünnschichttransistor-Flüssigkristallanzeige (TFT-Anzeige) oder eine organische Leuchtdioden-Anzeige (OLED-Anzeige) oder jede andere geeignete Anzeigentechnologie sein. Die Anzeigenschnittstelle756 kann geeignete Schaltkreise für das Betreiben der Anzeige754 umfassen, um dem Benutzer grafische und andere Informationen darzustellen. Die Steuerungsschnittstelle758 kann Befehle von einem Benutzer empfangen und sie für die Weitergabe an den Prozessor752 um wandeln. Zusätzlich dazu kann eine externe Schnittstelle762 in Kommunikation mit dem Prozessor752 stehen, um eine Kommunikation der Vorrichtung750 mit anderen Vorrichtungen im Nahbereich zu ermöglichen. Die externe Schnittstelle762 kann beispielsweise in manchen Ausführungen für drahtgebundene Kommunikation oder in anderen Ausführungen für drahtlose Kommunikation bereitgestellt werden und mehrere Schnittstellen können ebenfalls eingesetzt werden. - Der Speicher
764 speichert Informationen innerhalb der Rechnervorrichtung750 . Der Speicher764 kann als ein oder mehrere eines computerlesbaren Mediums oder Medien, eine flüchtige Speichereinheit oder -einheiten oder eine nichtflüchtige Speichereinheit oder -einheiten umgesetzt werden. Ein Erweiterungsspeicher774 kann auch bereitgestellt werden und mit der Vorrichtung750 über eine Erweiterungsschnittstelle772 verbunden sein, die beispielsweise eine SIMM-Kartenschnittstelle (Single In Line Memory Module) umfassen kann. Ein solcher Erweiterungsspeicher774 kann zusätzlichen Speicherplatz für die Vorrichtung750 bereitstellen oder kann auch Anwendungen oder andere Informationen für die Vorrichtung750 speichern. Insbesondere kann der Erweiterungsspeicher774 Anweisungen enthalten, die oben beschriebenen Prozesse durch zuführen oder zu ergänzen und kann auch sichere Informationen umfassen. Somit kann der Erweiterungsspeicher774 beispielsweise als Sicherheitsmodul für die Vorrichtung750 bereitgestellt werden und kann mit Anweisungen programmiert werden, die die sichere Verwendung der Vorrichtung750 erlauben. Zusätzlich dazu können sichere Anwendungen über die SIMM-Karten, gemeinsam mit zusätzlichen Informationen, bereitgestellt werden, wie etwa das Ablegen von Identifikationsinformationen auf der SIMM-Karte auf nichthackbare Art. - Der Speicher kann z. B. Flash-Speicher und/oder NVRAM-Speicher, wie unten beschrieben, umfassen. In einer Ausführung ist ein Computerprogramm greifbar auf einem Informationsträger ausgeführt. Das Computerprogrammprodukt umfasst Anweisungen, die, wenn ausgeführt, eines oder mehrere Verfahren durchführen, wie jene, die oben beschrieben sind. Der Informationsträger ist ein durch einen computer- oder maschinenlesbares Medium, wie der Speicher
764 , Erweiterungsspeicher774 oder Speicher im Prozessor752 , das z. B. über einen Sender-Empfänger768 oder externe Schnittstelle762 empfangen werden kann. - Vorrichtung
750 kann über Kommunikationsschnittstelle766 , die, falls notwendig, einen Digitalsignalverarbeitungsschaltkreis umfassen kann, drahtlos kommunizieren. Kommunikationsschnittstelle766 kann Kommunikationen bei verschiedenen Modi oder Protokollen, wie GSM-Sprachanrufen, SMS-, EMS- oder MMS-Nachrichtenversand, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS, u. a., bereitstellen. Eine solche Kommunikation kann, z. B. durch einen Hochfrequenz-Sender-Empfänger768 erfolgen. Zusätzlich dazu kann eine Kurzstrecken-Kommunikation erfolgen, wie unter Verwendung von Bluetooth, WLAN oder anderer solcher Sender-Empfänger (nicht dargestellt). Zusätzlich dazu kann das GPS (Global Positioning System)-Empfängermodul770 zusätzliche navigations- und ortsbestimmungsabhängige drahtlose Daten an die Vorrichtung750 übermitteln, die, je nach Eignung, von den auf der Vorrichtung750 ausgeführten Anwendungen verwendet werden können. - Vorrichtung
750 kann ebenfalls hörbar unter Verwendung eines Audio-Codec760 , das gesprochene Informationen von einem Benutzer empfangen und diese zu verwendbaren digitalen Informationen konvertieren kann, kommunizieren. Audio-Codec760 kann auf ähnliche Weise hörbare Töne für einen Benutzer erzeugen, wie durch einen Lautsprecher, z. B. in dem Telefonhörer der Vorrichtung750 . Solche Töne können Laute von Sprachtelefonanrufen, aufgezeichnete Töne (z. B. Sprachnachrichten, Musikdateien, etc.) sowie auch Geräusche umfassen, die von den auf der Vorrichtung750 betriebenen Anwendungen erzeugt wurden. - Die Rechnervorrichtung
750 kann in einer Reihe von unterschiedlichen Formen ausgeführt sein, wie in der Figur dargestellt. Beispielsweise kann sie als Mobiltelefon780 ausgeführt sein. Ebenfalls kann sie als Teil eines Smartphones782 , eines persönlichen digitalen Assistenten (PDA) oder eines anderen Mobilgeräts ausgeführt sein. - Zusätzlich dazu kann die Rechnervorrichtung
700 oder750 Universal-Serial-Bus-(USB)-Speichermedium umfassen. Die USB-Speichermedien können Betriebssysteme und andere Anwendungen speichern. Die USB-Speichermedien können Eingabe-/Ausgabekomponenten, wie einen Drahtlossender oder einen USB-Stecker, umfassen, die mit dem USB-Anschluss einer anderen Rechenvorrichtung verbunden werden können. - Verschiedene Ausführungen der hierin beschriebenen Systeme und Verfahren können in digitalen elektronischen Schaltkreisen, integrierten Schaltkreisen, speziell entworfenen ASICs (anwendungsspezifischen integrierten Schaltkreisen), Computerhardware, Firmware, Software und/oder Kombinationen daraus durchgeführt werden. Diese verschiedenen Ausführungen können eine Ausführung in einem oder mehreren Computerprogrammen beinhalten, die in einem programmierbaren System ausführbar und/oder interpretierbar sind, einschließlich zumindest eines programmierbaren Prozessors, der speziell oder für allgemeine Zwecke ausgeführt sein kann, verbunden zum Empfangen von Daten und Anweisungen von und zum Übertragen von Daten und Anweisungen an ein Speichersystem, zumindest ein Eingabegerät und zumindest ein Ausgabegerät.
- Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) umfassen Maschinenanweisungen für einen programmierbaren Prozessor und können in einer High-Level-Verfahrens- und/oder objektorientierten Programmiersprache und/oder in Aufbau/Maschinenbausprache ausgeführt sein. Wie hierin verwendet beziehen sich die Begriffe „maschinenlesbares Medium”, „computerlesbares Medium” auf jedes Produkt eines Computerprogramms, Rechnervorrichtung und/oder Gerät (z. B. Magnetplatten, optische Platten, Speicher, Programmable Logic Devices (PLDs)), die dazu verwendet werden, um Maschinenanweisungen und/oder Daten an einen programmierbaren Prozessor, einschließlich eines maschinenlesbaren Mediums, das Maschinenanweisungen als maschinenlesbares Signal empfängt, zu übertragen. Der Begriff „maschinenlesbares Signal” bezieht sich auf jedes Signal, das dazu verwendet wird, um Maschinenanweisungen und/oder Daten an einen programmierbaren Prozessor zu übertragen.
- Um eine Interaktion mit einem Benutzer bereitzustellen, können die hierin beschriebenen Systeme und Verfahren auf einem Computer mit einer Anzeigevorrichtung (z. B. einem CRT-Bildschirm (Kathodenstrahlröhrenbildschirm) oder einem LCD-Bildschirm (Flüssigkristallbildschirm)), um dem Benutzer Informationen anzuzeigen, und einer Tastatur und einer Zeigevorrichtung (z. B. eine Maus oder eine Steuerkugel), durch die der Benutzer dem Computer Eingaben bereitstellen kann, umgesetzt werden. Andere Arten von Vorrichtungen können ebenfalls für das Bereitstellen der Interaktion mit einem Benutzer eingesetzt werden; beispielsweise können dem Benutzer bereitgestellte Rückmeldungen in Form von sensorischen Rückmeldungen (z. B. visuelle Rückmeldung, akustische Rückmeldung oder taktile Rückmeldung) erfolgen; und eine Eingabe durch den Benutzer kann in jeder Form, einschließlich akustischer, sprachlicher oder taktiler Eingaben, empfangen werden.
- Die hierin beschriebenen Systeme und Verfahren können in einem Rechnersystem umgesetzt werden, das eine Back-End-Komponente (z. B. als Datenserver) oder das eine Middleware-Komponente (z. B. ein Anwendungsserver) oder das eine Front-End-Komponente (z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder einem Web-Browser, durch den der Benutzer mit einer Implementierung der hierin beschriebenen Systeme und Verfahren interagieren kann) oder jede Kombination aus solchen Back-End-, Middleware- und Front-End-Komponenten umfasst. Die Komponenten des Systems können durch jede Form oder jedes Medium der digitalen Datenkommunikation (z. B. ein Kommunikationsnetzwerk) untereinander verbunden sein. Beispiele für Kommunikationsnetzwerke umfassen ein lokales Netzwerk („LAN”), ein großräumiges Netzwerk („WAN”), Rechner-Rechner-Netzwerke (Peer-to-Peer-Netzwerke) (mit Ad-hoc- oder statischen Mitgliedern), verteilte Recheninfrastrukturen (Grid Computing) und das Internet.
- Das Rechnersystem kann Clients und Server umfassen. Client und Server sind im Allgemeinen von einander entfernt und treten üblicherweise über ein Kommunikationsnetzwerk miteinander in Interaktion. Die Beziehung von Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander haben.
- Obwohl einige Ausführungen oben im Detail beschrieben wurden sind auch andere Modifikationen möglich. Darüber hinaus können andere Mechanismen für die Durchführung der in diesem Dokument beschriebenen Systeme und Verfahren eingesetzt werden. Zusätzlich dazu erfordern die in den Figuren abgebildeten, logischen Abläufe nicht die spezielle gezeigte Reihenfolge oder sequenzielle Reihenfolge, um zu den gewünschten Ergebnissen zu gelangen. Andere Schritte können eingefügt oder Schritte können aus den beschriebenen Abläufen eliminiert werden und andere Komponenten können zu den beschriebenen Systemen hinzugefügt oder aus ihnen entfernt werden. Demgemäß sind andere Ausführungen innerhalb des Schutzumfanges der nachstehenden Ansprüche.
Claims (23)
- Computerimplementiertes Verfahren zum Überwachen des Ressourcenverbrauchs von Anwendungsprogrammen, wobei das Verfahren umfasst: das Zugreifen auf Informationen, die einen Ressourcenverbrauch durch mehrere Rechnervorrichtungen und auf Anforderungen von einem bestimmten Anwendungsprogramm identifizieren, wobei die Ressourcen den Rechnervorrichtungen entsprechen und jede der mehreren Rechnervorrichtungen einen Teil der Informationen bereitstellt; das Analysieren der zugegriffenen Informationen mittels eines Rechnersystems, um einen oder mehrere Werte zu bestimmen, die den Ressourcenverbrauch durch zumindest eine Teilmenge der Rechnervorrichtungen identifizieren; das Bereitstellen von einem Anzeigewert zur Anzeige auf einer bestimmten Rechnervorrichtung und in Zusammenwirken mit einer Anzeige eines netzwerkzugänglichen Software-Marktplatzes für Anwendungsprogramme, wobei der Anzeigewert den einen oder die mehreren Werte veranschaulicht, wobei der Software-Marktplatz für Anwendungsprogramme Anwendungsprogrammsoftware für die Ausführung durch die bestimmte Rechnervorrichtung und andere Rechnervorrichtungen bereitstellt.
- Computerimplementiertes Verfahren nach Anspruch 1, wobei der eine oder die mehreren Werte den Durchschnittsressourcenverbrauch über eine definierte Zeitspanne identifizieren.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1 oder 2, wobei die Ressourcen die Datenverwendung von einem oder mehreren Drahtlosnetzwerken durch die Rechnervorrichtungen umfassen.
- Computerimplementiertes Verfahren nach Anspruch 3, wobei die Informationen, die den Verbrauch der Datenverwendung des einen oder der mehreren Drahtlosnetzwerke identifizieren, eine Menge von über das eine oder die mehreren Drahtlosnetzwerke übertragene Daten identifiziert.
- Computerimplementiertes Verfahren nach einem der Ansprüche 3 oder 4, wobei ein oder mehrere Service-Provider der Drahtlosnetzwerke (i) die Datenverwendung durch die Rechnervorrichtungen der Drahtlosnetzwerke messen und (ii) den Benutzern der Rechnervorrichtungen basierend auf den Mengen der von den Benutzern konsumierten Daten Rechnungen stellen.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1 oder 2, wobei die Ressourcen CPU-Verwendung oder Batterieverbrauch durch die Rechnervorrichtungen umfassen.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–6, wobei das Verfahren zudem das Empfangen von Informationen von mehreren Rechnervorrichtungen umfasst, wobei jede der mehreren Rechnervorrichtungen einen Teil der Informationen bereitgestellt hat, sodass der Teil der Informationen den Ressourcenverbrauch durch diese einzelne Rechnervorrichtung auf Anforderungen des jeweiligen Anwendungsprogramms identifizierte.
- Computerimplementiertes Verfahren nach Anspruch 7, wobei ein für einzelne Rechnervorrichtungen der mehreren Rechnervorrichtungen installiertes Betriebssystem den Ressourcenverbrauch durch entsprechende einzelne Rechnervorrichtungen auf Anforderungen des jeweiligen Anwendungsprogramms überwacht.
- Computerimplementiertes Verfahren nach Anspruch 7, wobei das auf einzelnen Rechnervorrichtungen der mehreren Rechnervorrichtungen installierte, bestimmte Anwendungsprogramm den Ressourcenverbrauch durch entsprechende einzelne Rechnervorrichtungen auf Anforderungen der jeweiligen Anwendung überwacht.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–9, wobei das Anwendungsprogramm auf jeder der Rechnervorrichtungen installiert ist und zumindest teilweise von jeder der Rechnervorrichtungen ausgeführt wird.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–10, wobei das bestimmte Anwendungsprogramm auf jeder der Rechnervorrichtungen installiert wurde, als Reaktion derauf, dass das bestimmte Anwendungsprogramm durch jede der Rechnervorrichtungen von dem netzwerkzugänglichen Software-Marktplatz für Anwendungsprogramme angefordert wurde.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–11, wobei der Software-Marktplatz für Anwendungsprogramme für Benutzer der Rechnervorrichtungen den Kauf von Anwendungsprogrammen ermöglicht und gewährleistet, dass zumindest ein finanzieller Teil der Einkäufe den Entwicklern der Anwendungsprogramme zukommt.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–12, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als Teilmenge der Rechnervorrichtungen, die von Benutzern eines sozialen Netzwerks betrieben werden, die eine Beziehung zu einem Benutzer der jeweiligen Rechnervorrichtung haben, umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in der Teilmenge enthalten sind, identifizieren.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–13, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als eine Teilmenge der Rechnervorrichtungen, die ein Niveau der Ressourcen verbrauchen, das dem Niveau der von der jeweiligen Rechnervorrichtung verbrauchten Ressourcen entspricht, umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in der Teilmenge enthalten sind, identifizieren.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–14, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als eine der jeweiligen Rechnervorrichtung geographisch nahegelegene Teilmenge der Rechnervorrichtungen umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in der Teilmenge enthalten sind, identifizieren.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–15, wobei das Verfahren zudem das Bestimmen der zumindest einen Teilmenge der Rechnervorrichtungen als eine denselben Drahtlosnetzwerkdatentarif verwendende Teilmenge der Rechnervorrichtungen umfasst, wobei das Bestimmen des einen oder der mehreren Werte den Informationen, die den Ressourcenverbrauch durch die Teilmenge der Rechnervorrichtungen identifizieren, mehr Gewicht verleiht als den Informationen, die den Ressourcenverbrauch durch andere der Rechnervorrichtungen, die nicht in der Teilmenge enthalten sind, identifizieren.
- Computerimplementiertes Verfahren nach einem der Ansprüche 1–16, wobei das Verfahren zudem umfasst: das Identifizieren eines weiteren Anwendungsprogrammes, das dem bestimmten Anwendungsprogramm nachweislich ähnlich ist; das Identifizieren des Verbrauchs von Ressourcen durch die mehreren Rechnervorrichtungen oder eine andere Gruppe von Rechnervorrichtungen auf Anforderungen des weiteren Anwendungsprogrammes; und das Verwenden des auf Anforderungen des weiteren Anwendungsprogrammes identifizierten Ressourcenverbrauchs bei der Festlegung des einen oder der mehreren Werte, die den Ressourcenverbrauch auf Anforderungen des bestimmten Anwendungsprogrammes identifizieren.
- Computerimplementiertes Verfahren nach Anspruch 17, wobei das weitere Anwendungsprogramm als dem bestimmten Anwendungsprogramm ähnlich bestimmt wurde, basierend auf Zuweisung des bestimmten Anwendungsprogrammes und des weiteren Anwendungsprogrammes auf dem Software-Marktplatz für Anwendungsprogramme zu derselben Kategorie von Anwendungsprogrammsoftware von verschiedenen Entwicklern des bestimmten Anwendungsprogrammes und des weiteren Anwendungsprogrammes.
- Computerimplementiertes Verfahren nach Anspruch 17, wobei das weitere Anwendungsprogramm als dem bestimmten Anwendungsprogramm ähnlich bestimmt wurde, basierend auf einem oder mehr aus der Gruppe bestehend aus: (i) das bestimmte Anwendungsprogramm und das weitere Anwendungsprogramm werden bestimmt, dieselbe Anwendungsprogrammschnittstelle des Betriebssystems zu verwenden, und (ii) das bestimmte Anwendungsprogramm und das weitere Anwendungsprogramm werden bestimmt, dieselbe Erlaubnis eines Betriebssystems anzufordern.
- Ein oder mehrere computerlesbare Speichervorrichtungen, die Anweisungen speichern, damit beim Ausführen durch eine oder mehrere Verarbeitungsvorrichtungen Operationen ausgeführt werden, die umfassen: das Aufnehmen von Informationen durch eine Rechnervorrichtung, die den Ressourcenverbrauch entsprechend der Rechnervorrichtung auf Anforderung eines bestimmten Anwendungsprogrammes identifizieren; und das Bereitstellen der Informationen, die den Ressourcenverbrauch identifizieren, durch die Rechnervorrichtung und an ein Rechnersystem, das den Ressourcenverbrauch entsprechend der Rechnervorrichtung und weiteren Rechnervorrichtungen auf Anforderung des bestimmten Anwendungsprogrammes überwacht, um das Rechnersystem dazu zu veranlassen, (i) die Informationen mit Informationen, die den Ressourcenverbrauch entsprechend den weiteren Rechnervorrichtungen identifizieren, zu vereinigen und (ii) eine Darstellung der vereinigten Informationen einem System bereitzustellen, das einen netzwerkzugänglichen Software-Marktplatz für Anwendungsprogramme anbietet, der die bereitgestellte Darstellung verwendet, um Rechnervorrichtungen, die in der Lage sind Anwendungsprogramme vom Software-Marktplatz für Anwendungsprogramme herunterzuladen, einen Anzeigewert, der ein Verbrauchsniveau durch das Anwendungsprogramm identifiziert, anzuzeigen.
- Rechnersystem, wobei das Rechnersystem umfasst: ein Datensammlungs-Rechnerteilsystem, um von mehreren Rechnervorrichtungen Informationen zu empfangen, die den Ressourcenverbrauch entsprechend den mehreren Rechnervorrichtungen identifizieren auf Anforderungen von Instanzen eines gleichen Anwendungsprogrammes, das von den mehreren Rechnervorrichtungen ausgeführt wird; und ein Marktplatz-Anzeige-Rechnerteilsystem, um einen oder mehrere Werte von dem Datensammlungs-Rechnerteilsystem zu erhalten, die den Ressourcenverbrauch entsprechend den mehreren Rechnervorrichtungen auf Anforderungen der Instanzen desselben Anwendungsprogrammes darstellen, und für die Anzeige Bereitstellen, an anfordernde Rechnervorrichtungen, die eine Anzeige desselben Anwendungsprogrammes durch einen Software-Marktplatz für Anwendungsprogramme anfordern, eines Anzeigewerts, der den einen oder die mehreren Werte darstellt und der Benutzern der anfordernden Rechnervorrichtungen eine Angabe des Ressourcenverbrauchs der Rechnervorrichtungen auf Anforderungen desselben Anwendungsprogrammes bereitstellt.
- Rechnersystem nach Anspruch 21, wobei das Datensammlungs-Rechnerteilsystem ein Personalisierungs-Rechnerteilsystem umfasst, um den einen oder die mehreren Werte aus den empfangenen Informationen zu erzeugen, wobei der eine oder die mehreren Werte einen Ressourcenverbrauch auf Anforderungen von einer oder mehreren Instanzen desselben Anwendungsprogrammes bereitstellen, mit Bezug auf den Ressourcenverbrauch auf Anforderungen von einer oder mehreren Instanzen eines weiteren Anwendungsprogrammes, die bestimmt wurden, um zu demselben Anwendungsprogramm zu passen.
- Computerimplementiertes Verfahren für das Bereitstellen eines Software-Marktplatzes für Anwendungsprogramme, wobei das Verfahren umfasst: das Empfangen von einer Anforderung durch ein Rechnersystem, eine Anzeige auf einer entfernten Rechnervorrichtung von einer Darstellung von zumindest einem der mehreren Anwendungsprogramme, die auf einem Software-Marktplatz für Anwendungsprogramme verfügbar sind, bereitzustellen, wobei der Software-Marktplatz für Anwendungsprogramme eine Möglichkeit für entfernte Rechnervorrichtungen bereitstellt, Informationen zum Ausführen jedes der mehreren Anwendungsprogramme herunterzuladen; das Identifizieren durch das Rechnersystem eines Wertes, der ein Ressourcenverbrauchsniveau auf Anforderungen des einen Anwendungsprogrammes auf entfernten Rechnervorrichtungen, auf denen das Anwendungsprogramm ausgeführt wurde, darstellt, wobei jede der entfernten Rechnervorrichtungen einen Teil der Informationen, die verwendet wurden, um den Wert zu generieren, bereitgestellt hat; und das Bereitstellen einer gleichzeitigen Anzeige auf der entfernten Rechnervorrichtung von (i) der Darstellung des einen Anwendungsprogrammes und (ii) einem Anzeigewert, der den Wert darstellt.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/270,892 US8359389B1 (en) | 2011-10-11 | 2011-10-11 | Monitoring application program resource consumption |
US13/270,892 | 2011-10-11 | ||
PCT/US2012/059051 WO2013055602A1 (en) | 2011-10-11 | 2012-10-05 | Monitoring application program resource consumption |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112012004240T5 true DE112012004240T5 (de) | 2014-08-21 |
Family
ID=47116382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012004240.9T Withdrawn DE112012004240T5 (de) | 2011-10-11 | 2012-10-05 | Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms |
Country Status (5)
Country | Link |
---|---|
US (2) | US8359389B1 (de) |
CN (1) | CN103959745B (de) |
DE (1) | DE112012004240T5 (de) |
GB (1) | GB2510279B (de) |
WO (1) | WO2013055602A1 (de) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI546700B (zh) * | 2011-01-13 | 2016-08-21 | 宏達國際電子股份有限公司 | 手持電子裝置及其控制方法與電腦程式產品 |
US9526004B2 (en) * | 2011-06-15 | 2016-12-20 | Orange | Method of and apparatus for providing an indication of data consumption |
US8359389B1 (en) * | 2011-10-11 | 2013-01-22 | Google Inc. | Monitoring application program resource consumption |
US8880022B2 (en) * | 2011-11-10 | 2014-11-04 | Microsoft Corporation | Providing per-application resource usage information |
KR101866842B1 (ko) * | 2011-11-18 | 2018-06-14 | 삼성전자주식회사 | 전력 관리 장치 및 방법 |
US9369589B2 (en) | 2012-01-27 | 2016-06-14 | Microsoft Technology Licensing, Llc | Updating dynamic data usage plans and statistics |
US9118520B1 (en) * | 2012-04-20 | 2015-08-25 | Symantec Corporation | Systems and methods for monitoring application resource usage on mobile computing systems |
US9961025B2 (en) * | 2012-04-30 | 2018-05-01 | Oracle America, Inc. | Method and system that streams real-time, processed data from remote processor-controlled appliances |
US8990534B2 (en) | 2012-05-31 | 2015-03-24 | Apple Inc. | Adaptive resource management of a data processing system |
US9052197B2 (en) | 2012-06-05 | 2015-06-09 | Apple Inc. | Providing navigation instructions while device is in locked mode |
US9886794B2 (en) | 2012-06-05 | 2018-02-06 | Apple Inc. | Problem reporting in maps |
US9418672B2 (en) | 2012-06-05 | 2016-08-16 | Apple Inc. | Navigation application with adaptive instruction text |
US9997069B2 (en) | 2012-06-05 | 2018-06-12 | Apple Inc. | Context-aware voice guidance |
US9043150B2 (en) * | 2012-06-05 | 2015-05-26 | Apple Inc. | Routing applications for navigation |
US10156455B2 (en) | 2012-06-05 | 2018-12-18 | Apple Inc. | Context-aware voice guidance |
US9482296B2 (en) | 2012-06-05 | 2016-11-01 | Apple Inc. | Rendering road signs during navigation |
US8983778B2 (en) | 2012-06-05 | 2015-03-17 | Apple Inc. | Generation of intersection information by a mapping service |
US10216503B2 (en) | 2013-03-13 | 2019-02-26 | Elasticbox Inc. | Deploying, monitoring, and controlling multiple components of an application |
US9355261B2 (en) * | 2013-03-14 | 2016-05-31 | Appsense Limited | Secure data management |
US10268530B2 (en) | 2013-05-08 | 2019-04-23 | Cellcontrol, Inc. | Managing functions on an iOS-based mobile device using ANCS notifications |
US10477454B2 (en) * | 2013-05-08 | 2019-11-12 | Cellcontrol, Inc. | Managing iOS-based mobile communication devices by creative use of CallKit API protocols |
US11751123B2 (en) | 2013-05-08 | 2023-09-05 | Cellcontrol, Inc. | Context-aware mobile device management |
US10805861B2 (en) | 2013-05-08 | 2020-10-13 | Cellcontrol, Inc. | Context-aware mobile device management |
WO2015006096A1 (en) * | 2013-07-12 | 2015-01-15 | Pulse.io, Inc. | Methods and systems for performance monitoring for mobile applications |
US10318895B1 (en) | 2013-08-27 | 2019-06-11 | Curb, Inc. | System for promoting efficient use of resources |
US10187707B2 (en) | 2014-11-17 | 2019-01-22 | Curb, Inc. | Home intelligence system |
US9215251B2 (en) | 2013-09-11 | 2015-12-15 | Appsense Limited | Apparatus, systems, and methods for managing data security |
US20150156257A1 (en) * | 2013-12-04 | 2015-06-04 | Huawei Technologies Co., Ltd. | Application service providing method and system, and related device |
DE102014206325A1 (de) | 2014-04-02 | 2015-10-08 | Bundesdruckerei Gmbh | Verteiltes Authentifizierungssystem |
RU2654302C2 (ru) * | 2014-05-06 | 2018-05-17 | Интел Корпорейшн | Многослойная корпусная сборка со встроенной антенной |
US9690685B2 (en) * | 2014-05-30 | 2017-06-27 | Apple Inc. | Performance management based on resource consumption |
GB201415081D0 (en) * | 2014-08-26 | 2014-10-08 | Biz2Mobile Ltd | Analysing effects of programs on mobile devices |
US9009113B1 (en) | 2014-10-21 | 2015-04-14 | Escapemusic Limited | System and method for generating artist-specified dynamic albums |
US10140365B2 (en) | 2014-10-21 | 2018-11-27 | Escapex Limited | System and method for facilitating co-play and download of artist specific client applications via user-provided playlists |
US9973502B2 (en) * | 2015-09-18 | 2018-05-15 | Rovi Guides, Inc. | Methods and systems for automatically adjusting parental controls |
US10127398B2 (en) | 2015-09-18 | 2018-11-13 | Rovi Guides, Inc. | Methods and systems for implementing parental controls |
KR102546212B1 (ko) * | 2016-01-05 | 2023-06-22 | 삼성전자주식회사 | 소리 출력 방법 및 이를 지원하는 전자 장치 |
US10097434B2 (en) * | 2016-02-09 | 2018-10-09 | T-Mobile Usa, Inc. | Intelligent application diagnostics |
US10073753B2 (en) | 2016-02-14 | 2018-09-11 | Dell Products, Lp | System and method to assess information handling system health and resource utilization |
US10069710B2 (en) | 2016-03-01 | 2018-09-04 | Dell Products, Lp | System and method to identify resources used by applications in an information handling system |
US11663297B2 (en) | 2016-03-10 | 2023-05-30 | Dell Products, Lp | System and method to assess anomalous behavior on an information handling system using indirect identifiers |
US10944874B2 (en) | 2016-11-30 | 2021-03-09 | Sap Se | Telecommunication system for monitoring and controlling of a network providing resource to a user |
EP3331196B1 (de) * | 2016-11-30 | 2019-04-24 | Sap Se | Telekommunikationssystem zur überwachung und steuerung eines netzwerks mit ressourcenbereitstellung an einen benutzer |
US11178272B2 (en) | 2017-08-14 | 2021-11-16 | Cellcontrol, Inc. | Systems, methods, and devices for enforcing do not disturb functionality on mobile devices |
US11196827B2 (en) * | 2019-10-30 | 2021-12-07 | At&T Intellectual Property I, L.P. | Data management for connected devices |
US11709750B2 (en) * | 2020-05-12 | 2023-07-25 | International Business Machines Corporation | Dynamically mapping software infrastructure utilization |
CN112504292B (zh) * | 2020-11-18 | 2023-03-28 | 广东中电绿能科技有限公司 | 一种基于消费信息的导航方法、导航装置及移动终端 |
US11941442B1 (en) * | 2022-09-29 | 2024-03-26 | International Business Machines Corporation | Operating system based on dual system paradigm |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523191B1 (en) * | 2000-06-02 | 2009-04-21 | Yahoo! Inc. | System and method for monitoring user interaction with web pages |
WO2001063404A1 (en) * | 2000-02-25 | 2001-08-30 | Edgenet, Inc. | Method of and system for monitoring an application |
US6970692B2 (en) * | 2001-04-12 | 2005-11-29 | International Business Machines Corporation | Cell phone minute usage calculation and display |
US7325234B2 (en) | 2001-05-25 | 2008-01-29 | Siemens Medical Solutions Health Services Corporation | System and method for monitoring computer application and resource utilization |
US7032229B1 (en) * | 2001-06-04 | 2006-04-18 | Palmsource, Inc. | Automatic tracking of user progress in a software application |
US7490045B1 (en) * | 2001-06-04 | 2009-02-10 | Palmsource, Inc. | Automatic collection and updating of application usage |
US7350209B2 (en) * | 2001-06-29 | 2008-03-25 | Bmc Software | System and method for application performance management |
US7216160B2 (en) | 2001-10-31 | 2007-05-08 | Sun Microsystems, Inc. | Server-based application monitoring through collection of application component and environmental statistics |
AU2002359001A1 (en) * | 2001-12-28 | 2003-07-24 | Access Co., Ltd. | Usage period management system for applications |
US6633835B1 (en) | 2002-01-10 | 2003-10-14 | Networks Associates Technology, Inc. | Prioritized data capture, classification and filtering in a network monitoring environment |
US8068436B2 (en) * | 2003-10-15 | 2011-11-29 | Microsoft Corporation | Methods and systems for estimating network available bandwidth using packet pairs and spatial filtering |
US7609650B2 (en) * | 2004-07-08 | 2009-10-27 | Carrier Iq, Inc. | Collection of data at target wireless devices using data collection profiles |
US7356590B2 (en) * | 2005-07-12 | 2008-04-08 | Visible Measures Corp. | Distributed capture and aggregation of dynamic application usage information |
US9858341B2 (en) * | 2006-08-02 | 2018-01-02 | Jason Frankovitz | Method and apparatus for remotely monitoring a social website |
US8135443B2 (en) * | 2006-08-31 | 2012-03-13 | Qualcomm Incorporated | Portable device with priority based power savings control and method thereof |
US8260252B2 (en) * | 2006-10-02 | 2012-09-04 | The Nielsen Company (Us), Llc | Method and apparatus for collecting information about portable device usage |
US8355709B2 (en) * | 2006-10-23 | 2013-01-15 | Qualcomm Incorporated | Device that determines whether to launch an application locally or remotely as a webapp |
GB2448534B (en) * | 2007-04-19 | 2009-11-18 | Vodafone Plc | Mobile telecommunications device |
US8352867B2 (en) | 2007-12-18 | 2013-01-08 | Verizon Patent And Licensing Inc. | Predictive monitoring dashboard |
WO2009089374A1 (en) * | 2008-01-09 | 2009-07-16 | T-Mobile Usa, Inc. | Mobile application monitoring system |
JP5201210B2 (ja) * | 2008-07-15 | 2013-06-05 | ミツミ電機株式会社 | 携帯機器、電池パック、半導体装置、表示制御方法、表示制御プログラム |
EP2437207A1 (de) * | 2008-10-17 | 2012-04-04 | Telefonaktiebolaget LM Ericsson (publ) | Verfahren und Anordnung für die Rangordnung von Live-Web-Anwendungen |
EP2350829B1 (de) * | 2008-10-22 | 2019-04-10 | 6fusion USA Inc. | Verfahren und system zur bestimmung der nutzung von computerressourcen bei utility-computing |
US9203629B2 (en) * | 2009-05-04 | 2015-12-01 | Bridgewater Systems Corp. | System and methods for user-centric mobile device-based data communications cost monitoring and control |
US8280456B2 (en) * | 2009-08-14 | 2012-10-02 | Google Inc. | Providing a user with feedback regarding power consumption in battery-operated electronic devices |
US8538484B2 (en) * | 2009-08-14 | 2013-09-17 | Google Inc. | Providing a user with feedback regarding power consumption in battery-operated electronic devices |
US9047084B2 (en) * | 2009-09-22 | 2015-06-02 | Microsoft Technology Licensing, Llc | Power management of a mobile communications device |
US8230061B2 (en) * | 2010-03-17 | 2012-07-24 | Microsoft Corporation | Network resource management with prediction |
US8359389B1 (en) * | 2011-10-11 | 2013-01-22 | Google Inc. | Monitoring application program resource consumption |
-
2011
- 2011-10-11 US US13/270,892 patent/US8359389B1/en not_active Expired - Fee Related
-
2012
- 2012-10-05 GB GB1406585.8A patent/GB2510279B/en active Active
- 2012-10-05 CN CN201280059536.XA patent/CN103959745B/zh active Active
- 2012-10-05 DE DE112012004240.9T patent/DE112012004240T5/de not_active Withdrawn
- 2012-10-05 WO PCT/US2012/059051 patent/WO2013055602A1/en active Application Filing
- 2012-12-18 US US13/718,032 patent/US8924550B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB201406585D0 (en) | 2014-05-28 |
US20130111020A1 (en) | 2013-05-02 |
CN103959745A (zh) | 2014-07-30 |
GB2510279A (en) | 2014-07-30 |
GB2510279B (en) | 2020-04-22 |
WO2013055602A1 (en) | 2013-04-18 |
US8924550B2 (en) | 2014-12-30 |
US8359389B1 (en) | 2013-01-22 |
CN103959745B (zh) | 2017-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012004240T5 (de) | Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms | |
US10977056B2 (en) | System for utilizing one or more data sources to generate a customized interface | |
US20170308251A1 (en) | User Interface with Media Wheel Facilitating Viewing of Media Objects | |
US20150294256A1 (en) | Scenario modeling and visualization | |
US10025933B2 (en) | System for utilizing one or more data sources to generate a customized set of operations | |
DE202011110865U1 (de) | Personalisierte Orts-Tags | |
DE112013002774T5 (de) | Mobile Vorrichtung mit lokalisierten App-Empfehlungen | |
US20170134467A1 (en) | Data stream monitoring | |
US9996446B2 (en) | User experience diagnostics with actionable insights | |
CN107533618A (zh) | 保护数据免受未经授权的访问 | |
US20140278812A1 (en) | Diagnostics storage within a multi-tenant data center | |
CN110020273B (zh) | 用于生成热力图的方法、装置以及系统 | |
US20140279823A1 (en) | Lifecycle product analysis | |
EP3025281B1 (de) | Automatische konfiguration eines computersystems auf der basis von prozessmodellierung eines implementierten prozesses | |
DE112016005358T5 (de) | Informations-Ranking basierend auf Eigenschaften einer Berechnungsvorrichtung | |
US20180321807A1 (en) | Systems and methods for tailored content provision | |
US10083246B2 (en) | Apparatus and method for universal personal data portability | |
US20160328219A1 (en) | Mobile application development collaboration system | |
US11100424B2 (en) | Control system for learning and surfacing feature correlations | |
US8645262B1 (en) | System and method for displaying security information | |
US20150040020A1 (en) | Clickstream monitoring | |
US20160253763A1 (en) | Triggered targeting | |
CN108073638A (zh) | 数据诊断方法及装置 | |
WO2012057747A1 (en) | Systems and methods for scheduling changes | |
US20150169187A1 (en) | Logging graphical user interface events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0029080000 Ipc: G06F0019000000 |
|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: WUESTHOFF & WUESTHOFF, PATENTANWAELTE PARTG MB, DE Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE |
|
R082 | Change of representative |
Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE |
|
R081 | Change of applicant/patentee |
Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US |
|
R082 | Change of representative |
Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0019000000 Ipc: G16Z0099000000 |
|
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |