DE112012004240T5 - Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms - Google Patents

Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms Download PDF

Info

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
Application number
DE112012004240.9T
Other languages
English (en)
Inventor
Michael G. Morrissey
Jeffrey A. Sharkey
Ashish Sharma
Gabriel A. Cohen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE112012004240T5 publication Critical patent/DE112012004240T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/23Services 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

Im Allgemeinen kann der in dieser Spezifikation beschriebene Gegenstand in den Verfahren, Systemen und Programmprodukten für das Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms umgesetzt werden. Auf Informationen, die den Ressourcenverbrauch durch mehrere Rechnervorrichtungen und auf Anforderungen von einem bestimmten Anwendungsprogramm identifizieren, wird zugegriffen. Jede der mehreren Rechnervorrichtungen stellte einen Teil der Informationen bereit. Die zugegriffenen Informationen werden durch ein Rechnersystem analysiert, um einen oder mehrere Werte zu bestimmen, die den Ressourcenverbrauch durch zumindest eine Teilmenge der Rechnervorrichtungen identifizieren. Ein Anzeigewert, der den einen oder die mehreren Werte veranschaulicht, wird zur Anzeige auf einer bestimmten Rechnervorrichtung und im Zusammenwirken mit einer Anzeige eines netzwerkzugänglichen Software-Marktplatzes für Anwendungsprogramme bereitgestellt. Der Software-Marktplatz für Anwendungsprogramme stellt Anwendungsprogramm-Software für die Ausführung durch die bestimmte Rechnervorrichtung und andere Rechnervorrichtungen bereit.

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 Rechnervorrichtungen 102a–c den Verbrauch von Rechnervorrichtungsressourcen, der auf Anforderung seitens des Anwendungsprogramms auftritt. Die Rechnervorrichtungen übermitteln dann Informationen, die den Ressourcenverbrauch identifizieren, an das Anwendungsverbrauch-Sammelsystem 110. Das Anwendungsverbrauch-Sammelsystem 110 kann solche Informationen dem Personalisierungssystem für eine Verbrauchsmetrik 112 bereitstellen. Das Personalisierungssystem für eine Verbrauchsmetrik 112 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 Verbrauchsmetrik 112 kann die personalisierten Informationen für den Software-Marktplatz für Anwendungsprogramme bereitstellen (durch Webseite 114 dargestellt).
  • Noch detaillierter umfasst die Rechnervorrichtung 102a (hierin in manchen Fällen auch als Rechnersystem bezeichnet) mehrere Anwendungsprogramme 108. Die Anwendungsprogramme 108 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 Rechnervorrichtung 102a heruntergeladen sein können.
  • Die Rechnervorrichtung 102a kann ein Anwendungsprogramm beim Hochfahren der Rechnervorrichtung 102a ausführen oder wenn ein Benutzer der Rechnervorrichtung 102a 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 Anwendungsverbrauchs 106 umfassen. Die Aufzeichnungsvorrichtung des Anwendungsverbrauchs 106 kann Anforderungen von verschiedenen Anwendungsprogrammen und den entsprechenden Verbrauch von Rechnervorrichtungsressourcen überwachen, die als Konsequenz dieser Anforderungen auftreten. Beispielsweise kann die Aufzeichnungsvorrichtung des Anwendungsverbrauchs 106 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 Diagramm 200, das den Anwendungsverbrauch von Rechnervorrichtungsressourcen in Bezug auf die Zeit darstellt. Insbesondere stellt das Diagramm den Ressourcenverbrauch dar, der einer Rechnervorrichtung (z. B. Datenverbrauch 202 und CPU-Verbrauch 204) 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 Datenverbrauch 202 oder CPU-Verbrauch 204 auf Anforderung seitens des Anwendungsprogramms für den Zeitraum 206a 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 Diagramm 200 dargestellt, schnellt der CPU-Verbrauch 204 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 Datenverbrauch 202 jedoch steigt langsam an, bevor er nahe zum Ende des Zeitraums 206b wesentlich ansteigt.
  • Während eines dritten Zeitraums 206c ändert das Anwendungsprogramm die Ausführung zu einem aktiven Zustand. Sowohl der CPU-Verbrauch 204 als auch der Datenverbrauch 202 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 Anwendungsverbrauchs 106 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 Anwendungsverbrauchs 106 den Anwendungsverbrauch zu Beginn eines Zustands und am Ende eines Zustands aufzeichnen. In manchen Beispielen kann die Aufzeichnungsvorrichtung des Anwendungsverbrauchs 106 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 Anwendungsverbrauchs 106 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 Rechnervorrichtung 102a entfernt befindet, ausgeführt werden. Beispielsweise kann die Rechnervorrichtung 102a ein bestimmtes Anwendungsprogramm, das ein Internetanwendungsprogramm ist, durch Hinzufügen eines Lesezeichens zu dem Internetanwendungsprogramm zu einer Desktopanzeige der Rechnervorrichtung 102a 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 Anwendungsverbrauchs 106 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 Anwendungsverbrauchs 106 die aufgezeichneten Informationen an den Anwendungsverbrauchssender 104. Der Anwendungsverbrauchssender 104 sendet die Anwendungsverbrauchsdaten, die durch die Aufzeichnungsvorrichtung des Anwendungsverbrauchs 106 aufgezeichnet wurden, in regelmäßigen Zeitabständen an das Anwendungsverbrauchs-Sammelsystem 110. Der Anwendungsverbrauchssender 104 kann die Daten so wie sie durch die Aufzeichnungsvorrichtung des Verbrauchs 106 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 Sammelsystem 110 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 Vorrichtungen 102a–c befindet. Das Sammelsystem 110 kann die Verbrauchsdaten von jeder der Vorrichtungen 102a–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 Verbrauchsmetrik 112, das ein Untersystem des Sammelsystems 110 sein kann, übertragen. Der Betrieb des Personalisierungssystems für eine Verbrauchsmetrik 112 wird in Bezug auf 3 genauer beschrieben.
  • 3 stellt den Betrieb eines Personalisierungssystems für eine Verbrauchsmetrik 112 dar. Das Personalisierungssystem 112 empfängt Anwendungsstatistiken 302 und kann die Statistiken 302 analysieren, um unterschiedliche Daten zu generieren, die den Anwendungsverbrauch 304 darstellen. Die unterschiedlichen Daten 304 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 Gewichter 306 verwenden, um die Anwendungsverbrauchsstatistiken 302 basierend auf den Daten des Besuchers 308 zu personalisieren. Beispielsweise kann der Benutzerdatenfilter oder Gewichter 306 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 Anwendungsstatistiken 302, 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 Gewichters 206 bei der Personalisierung der Anwendungsstatistiken 302 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. Anwendungsverbrauchsstatistiken 302, 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 Gewichter 306 auf die Verbrauchsstatistiken 302, 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 Anwendungsverbrauchsstatistiken 302 durch einen ähnlichen Anwendungsfilter oder Gewichter 308 gefiltert oder gewichtet werden. Der ähnliche Anwendungsfilter oder Gewichter 308 kann von dem Bestimmer von ähnlichen Anwendungen 310 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 Gewichter 308 kann Verbrauchsdaten für Anwendungsprogramme herausfiltern, die als dem abgefragten Anwendungsprogramm nicht ähnlich bestimmt wurden, um die Anwendungsstatistiken 302 für das abgefragte Anwendungsprogramm mit den ähnlichen Anwendungsprogrammen zu vergleichen. Der Vergleich kann die Daten 304 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 Anwendungen 310 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 Anwendungsverbrauchsstatistiken 302 durch den Filter ähnlicher Anwendungen oder den Gewichter 308 verwendet werden.
  • Wie oben beschrieben, kann das Personalisierungssystem für eine Verbrauchsmetrik 112 die Ergebnisse des Filterns oder der Gewichtung als Daten, die den Anwendungsverbrauch 304 darstellen, an den Software-Marktplatz weitergeleitet werden. Die Daten 304 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übersicht 402 ein Teil einer Webseite sein, die von einem Software-Marktplatz dargestellt wird und die Informationen über das Anwendungsprogramm „Sudoku Plus”! bereitstellt. Die Anwendungsprogrammübersicht 402 kann ein Anwendungsprogrammsymbol 404, einen Anwendungsprogrammtitel 406, eine Anwendungsprogrammbeschreibung 408 und eine Schaltfläche 410 umfassen, die der Benutzer auswählen kann, um das „Sudoku Plus!”-Anwendungsprogramm herunterzuladen.
  • Die Anwendungsübersicht 402 umfasst auch einen Anzeigewert 412 des Anwendungsressourcenverbrauchs. In diesem Beispiel ist der Anzeigewert 412 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-Anzeigewert 412 wird gleichzeitig mit zumindest einem Teil der Anwendungsübersicht 402 angezeigt.
  • Verschiedene andere Anzeigewerte können in der Anwendungsübersicht 402 vorliegen, anstelle von oder zusätzlich zu Anzeigewert 412. Beispielsweise ist Anzeigewert 413 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. Anzeigewert 414 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. Anzeigewert 418 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 Anzeigewert 418 unschattiert 418a erscheinen, wenn das Anwendungsprogramm eine minimale Ressourcenmenge verbraucht, teilweise schattiert 418b, wenn das Anwendungsprogramm eine mäßige Ressourcenmenge verbraucht, und vollständig schattiert 418c, wenn das Anwendungsprogramm eine große Ressourcenmenge verbraucht.
  • Ein Benutzer kann zusätzliche Verbrauchsmaßzahlen in einer detaillierten Verbrauchszahlenanzeige 420 durch Auswahl des Anzeigewerts 412 ansehen. Die Anzeige 420 zeigt Maßzahlen, wie etwa den monatlichen Durchschnittsdatenverbrauchsanzeigewert 422, den monatlichen Durchschnittsressourcenverbrauchsanzeigewert durch Hochladen 424, den monatlichen Durchschnittsressourcenverbrauchsanzeigewert durch Herunterladen 426, den stündlichen Verbrauchsspitzenanzeigewert 428 und den stündlichen Durchschnittshintergrunddatenverbrauchsanzeigewert 430. 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 Anzeige 420 dargestellt werden zu ändern. Zudem kann der Benutzer die Schaltfläche 434 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 Anwendungen 310 festgelegt. In diesem Beispiel zeigt der Doppelpfeilanzeigewert 432 den Datenverbrauch des „Sudoku Plus!”-Anwendungsprogrammes gemeinsam mit dem Balken 434 und mit Bezug auf die Anzeigewerte 436 und 438 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 die 13 beschrieben wurde, durchgeführt werden und kann Informationen für das Erzeugen der Anzeigen aus 1 und 4 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 Kasten 502 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 Rechnervorrichtung 610 drahtlos mit der Basisstation 640, die der mobilen Rechnervorrichtung durch ein Netzwerk 650 einen drahtlosen Zugang zu zahlreichen angebotenen Dienstleistungen 660 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-Anzeigevorrichtung 612 für das Darstellen von Inhalten an einen Benutzer der mobilen Rechnervorrichtung 610 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. Tastatur 614, 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 Vorrichtung 610 die Berührung durch einen Benutzer an der Stelle eines angezeigten Objektes mit diesem Objekt in Verbindung bringen kann. Die mobile Rechnervorrichtung 610 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 Tastatur 614 empfängt eine Eingabe, wenn ein Benutzer eine Taste der Tastatur physisch berührt oder loslässt. Die Benutzerbearbeitung über eine Steuerkugel 616 oder die Interaktion mit einem Tastfeld erlaubt es dem Benutzer, Informationen hinsichtlich einer Richtung oder Bewegungsrate an die mobile Rechnervorrichtung 610 bereitzustellen (z. B. um die Position eines Mauszeigers auf der Anzeigevorrichtung 612 zu manipulieren).
  • Die mobile Rechnervorrichtung 610 kann in der Lage sein, eine Position des physischen Kontaktes mit der Touchscreen-Anzeigevorrichtung 612 (z. B. die Position eines Kontaktes durch einen Finger oder einen Eingabestift) zu bestimmen. Durch die Verwendung des Touchscreens 612 können verschiedene „virtuelle” Eingabemechanismen hergestellt werden, in denen ein Benutzer mit einem graphischen Benutzeroberflächenelement, das auf dem Touchscreen 612 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 Touchscreens 612 drückt, die jeder einzelnen Taste entspricht.
  • Die mobile Rechnervorrichtung 610 kann mechanische oder berührungsempfindliche Schaltflächen 618a–d umfassen. Zusätzlich dazu kann die mobile Rechnervorrichtung Schaltflächen für das Anpassen der Lautstärkenausgabe durch den einen oder die mehreren Lautsprecher 620 und eine Schaltfläche für das Ein- oder Ausschalten der mobilen Rechnervorrichtung umfassen. Ein Mikrofon 622 erlaubt der mobilen Rechnervorrichtung 610 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 Rechnervorrichtung 610 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 Touchscreen 612 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 Rechnervorrichtung 610 aus einem Ruhezustand, nach dem „Entsperren” der mobilen Rechnervorrichtung 610 oder nach dem Empfangen der Benutzerauswahl der „Home”-Schaltfläche 618c 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 Touchscreens 612 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 Rechnervorrichtung 610 gespeichert sind. Die mobile Rechnervorrichtung 610 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 Basisstation 640 zu kommunizieren. Die Basisstation 640 kann eine von vielen Basisstationen in einer Ansammlung von Basistationen (z. B. ein Mobiltelefonfunknetzwerk) sein, das der mobilen Rechnervorrichtung 610 erlaubt, bei geografischer Bewegung der mobilen Rechnervorrichtung die Kommunikation mit einem Netzwerk 650 aufrechtzuerhalten. Die Rechnervorrichtung 610 kann alternativ oder zusätzlich dazu über einen WLAN-Router oder eine drahtgebundene Verbindung (z. B. ETHERNET, USB oder FIREWARE) mit dem Netzwerk 650 kommunizieren. Die Rechnervorrichtung 610 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 Netzwerk 650 verbinden, um die Kommunikation zwischen der mobilen Rechnervorrichtung 610 und anderen Rechnersystemen, die Dienstleistungen 660 bereitstellen, zu ermöglichen. Obwohl die Dienstleistungen 660 über verschiedene Netzwerke bereitgestellt werden können (z. B. das interne Netzwerk des Dienstleistungsanbieters, das öffentliche Telefonnetz und das Internet), wird das Netzwerk 650 als ein einzelnes Netzwerk dargestellt. Der Dienstleistungsanbieter kann ein Server-System 652 betreiben, das Informationspakete und Sprachdaten zwischen der mobilen Rechnervorrichtung 610 und mit den Diensten 660 verbundenen Rechnersystemen verschickt.
  • Das Netzwerk 650 kann die mobile Rechnervorrichtung 610 an das öffentliche Telefonfestnetz (PSTN) 662 anschließen, um die Sprach- oder Faxkommunikation zwischen der mobilen Rechnervorrichtung 610 und einer anderen Rechnervorrichtung zu gewährleisten. Beispielsweise kann das Server-System 652 des Dienstleistungsanbieters einen Hinweis des öffentlichen Telefonfestnetzes 662 auf einen eingehenden Anruf für die mobile Rechnervorrichtung 610 empfangen. Umgekehrt kann die mobile Rechnervorrichtung 610 eine Mitteilung an das Server-System 652 des Dienstleistungsanbieters senden, das einen Telefonanruf unter Verwendung einer Telefonnummer, die einer Vorrichtung zugeordnet ist, die durch das PSTN 662 zugänglich ist, einleitet.
  • Das Netzwerk 650 kann die mobile Rechnervorrichtung 610 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 Rechnervorrichtung 610 eine VoIP-Anwendung aufrufen und einen Anruf unter Verwendung des Programmes initiieren. Das Server-System des Dienstleistungsanbieters 652 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 Rechnervorrichtung 610 die Fähigkeit bereitstellen, eine Liste von entfernt gespeicherten Anwendungsprogrammen, die der Benutzer über das Netzwerk 650 herunterladen und auf der mobilen Rechnervorrichtung 610 installieren kann, zu durchsuchen. Der Anwendungs-Shop 666 kann als ein Ablageort für von Dritt-Anwendungsentwicklern entwickelte Anwendungen dienen. Ein Anwendungsprogramm, das auf der mobilen Rechnervorrichtung 610 installiert ist, kann in der Lage sein über das Netzwerk 650 mit für das Anwendungsprogramm bestimmten Server-Systemen zu kommunizieren. Beispielsweise kann ein VoIP-Anwendungsprogramm aus dem Anwendungs-Shop 666 heruntergeladen werden, was dem Benutzer erlaubt, mit dem VoIP-Dienst 664 zu kommunizieren.
  • Die mobile Rechnervorrichtung 610 kann über das Netzwerk 650 auf Inhalte im Internet 668 zugreifen. Beispielsweise kann ein Benutzer einer mobilen Rechnervorrichtung 610 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 Dienste 660 über das Internet zugänglich.
  • Die mobile Rechnervorrichtung kann mit einem persönlichen Computer (PC) 670 kommunizieren. Beispielsweise kann der persönliche Computer 670 der Heimrechner eines Benutzers der mobilen Rechnervorrichtung 610 sein. Somit kann der Benutzer in der Lage sein, Medien von seinem persönlichen Computer 670 abzuspielen. Der Benutzer kann auch die Dateistruktur seines persönlichen Computers 670 ansehen und ausgewählte Dokumente zwischen den computerisierten Vorrichtungen übertragen.
  • Ein Spracherkennungsdienst 672 kann Sprachkommunikationsdaten, die mit dem Mikrofon 622 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 Rechnervorrichtung 610 übertragen.
  • Die mobile Rechnervorrichtung 610 kann mit einem sozialen Netzwerk 674 kommunizieren. Das soziale Netzwerk kann zahlreiche Mitglieder umfassen, von denen einige zugestimmt haben, als Bekanntschaften in Bezug gebracht zu werden. Anwendungsprogramme auf der mobilen Rechnervorrichtung 610 können auf das soziale Netzwerk 674 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 Rechnervorrichtung 610 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 Netzwerk 650 auf einen persönlichen Kontaktsatz 676 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 Rechnervorrichtung 610 entfernt untergebracht ist, kann der Benutzer auf die Kontakte 676 von verschiedenen Vorrichtungen als ein gemeinsamer Kontaktsatz zugreifen und sie pflegen.
  • Die mobile Rechnervorrichtung 610 kann auf cloud-basierte Anwendungsprogramme 678 zugreifen. Cloud-Computing stellt Anwendungsprogrammen (z. B. ein Textverarbeitungsprogramm oder ein E-Mail-Programm) bereit, die von der mobilen Rechnervorrichtung 610 entfernt untergebracht sind und auf die von der Vorrichtung 610 ü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 Rechnervorrichtung 610 Straßenkarten, Routenplanungsinformation und Satellitenbilder bereitstellen. Ein Beispiel für einen Kartierungsdienst ist GOOGLE MAPS. Der Kartierungsdienst 680 kann Anforderungen empfangen und positionsspezifische Ergebnisse zurückgeben. Beispielsweise kann die mobile Rechnervorrichtung 610 eine geschätzte Position der mobilen Rechnervorrichtung und eine vom Benutzer eingegebene Anforderung nach „Pizzarestaurant” an den Kartierungsdienst 680 senden. Der Kartierungsdienst 680 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 Rechnervorrichtung 610 Wegbeschreibungen zu einem vom Benutzer eingegebenen Ziel bereitstellen. Beispielsweise kann der Wegbeschreibungsdienst 682 eine Straßenansicht einer geschätzten Position an die Vorrichtung 610 übertragen, gemeinsam mit Daten für das Bereitstellen von akustischen Anweisungen und eingeblendeten Pfeilen, die einen Benutzer der Vorrichtung 610 zu dem Ziel leiten.
  • Verschiedene Formen von Übertragungsmedien 684 können von der mobilen Rechnervorrichtung 610 angefragt werden. Beispielsweise kann die Rechnervorrichtung 610 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 Rechnervorrichtung 610 empfangen, der die Empfänger des Beitrags nicht identifiziert. Der Mikro-Blogging-Dienst 686 kann den Beitrag an andere Mitglieder des Mikro-Blogging-Dienstes 686, die zugestimmt haben, Inhalte von dem Benutzer zu abonnieren, verbreiten.
  • Eine Suchmaschine 688 kann vom Benutzer eingegebene Text- oder Sprachanfragen von der mobilen Rechnervorrichtung 610 empfangen, eine Reihe auf die Anforderung zutreffender, im Internet verfügbarer Dokumente bestimmen und der Vorrichtung 610 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 Spracherkennungsdienst 672 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 Rechnervorrichtungen 700, 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 Rechnervorrichtung 700 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 Rechnervorrichtung 750 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 Prozessor 702, einen Speicher 704, eine Speichervorrichtung 706, eine Hochgeschwindigkeitsschnittstelle 708, die mit dem Speicher 704 und mit Hochgeschwindigkeitserweiterungsanschlüssen 710 verbunden ist, und eine Niedriggeschwindigkeitsschnittstelle 712, die mit einem Niedriggeschwindigkeitsbus 714 und der Speichervorrichtung 706 verbunden ist. Alle Komponenten 702, 704, 706, 708, 710 und 712 sind über verschiedene Busse miteinander verbunden und können auf ein gewöhnliches Motherboard oder auf andere geeignete Wege montiert werden. Der Prozessor 702 kann Anweisungen für die Ausführung innerhalb der Rechnervorrichtung 700, einschließlich im Speicher 704 oder auf der Speichervorrichtung 706 abgelegte Anweisungen, grafische Informationen für eine grafische Benutzeroberfläche (GUI) auf einer externen Eingabe-/Ausgabevorrichtung, wie etwa einer mit der Hochgeschwindigkeitsschnittstelle 708 gekoppelten Anzeige 716, 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 Rechnervorrichtungen 700 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 Rechnervorrichtung 700. In einer Ausführungsform ist der Speicher 704 eine flüchtige Speichereinheit oder -einheiten. In einer anderen Ausführungsform ist der Speicher 704 eine nichtflüchtige Speichereinheit oder -einheiten. Der Speicher 704 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 Rechnervorrichtung 700 bereitzustellen. In einer Ausführungsform kann die Rechnervorrichtung 706 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 Speicher 704, die Speichervorrichtung 706 oder Speicher auf dem Prozessor 702.
  • Die Hochgeschwindigkeitssteuerung 708 regelt bandbreitenintensive Funktionen für die Rechnervorrichtung 700, während die Niedriggeschwindigkeitssteuerung 712 weniger bandbreitenintensive Funktionen regelt. Eine solche Zuteilung der Funktionen ist lediglich beispielhaft. In einer Ausführungsform ist die Hochgeschwindigkeitssteuerung 708 mit dem Speicher 704, der Anzeige 716 (z. B. durch den Grafikprozessor oder Beschleuniger) und Hochgeschwindigkeitserweiterungsanschlüssen 710, die verschiedene Erweiterungskarten (nicht gezeigt) aufnehmen können, verbunden. In der Ausführung ist die Niedriggeschwindigkeitssteuerung 712 mit der Speichervorrichtung 706 und dem Niedriggeschwindigkeitserweiterungsanschluss 714 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 Standardserver 720 oder mehrfach in einer Gruppe solcher Server umgesetzt werden. Sie kann auch als Teil eines auf einem Gestell montierten Server-Systems 724 implementiert sein. Zusätzlich dazu kann sie in einem persönlichen Computer, wie etwa einem Laptop-Computer 722 umgesetzt sein. Alternativ dazu können Komponenten der Rechnervorrichtung 700 mit anderen Komponenten in einer mobilen Vorrichtung (nicht gezeigt), wie etwa Vorrichtung 750, kombiniert werden. Jede solche Vorrichtung kann eine oder mehrere Rechnervorrichtungen 700, 750 umfassen und ein gesamtes System kann aus zahlreichen Rechnervorrichtungen 700, 750, die miteinander kommunizieren, zusammengesetzt sein.
  • Rechnervorrichtung 750 umfasst neben anderen Komponenten einen Prozessor 752, einen Speicher 764 und eine Eingabe-/Ausgabevorrichtung, wie etwa eine Anzeige 754, eine Kommunikationsschnittstelle 766 und einen Sender-Empfänger 768. Die Vorrichtung 750 kann auch eine Speichervorrichtung, wie etwa ein Micro-Laufwerk oder eine andere Vorrichtung, bereitstellen, um zusätzlichen Speicher bereitzustellen. Alle Komponenten 750, 752, 764, 754, 766 und 768 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 Rechnervorrichtung 750, einschließlich im Speicher 764 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 Prozessor 410 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 Vorrichtung 750, wie etwa die Steuerung der Benutzeroberflächen, auf der Vorrichtung 750 laufende Anwendungen und Drahtloskommunikation der Vorrichtung 750, gewährleisten.
  • Der Prozessor 752 kann durch eine Steuerschnittstelle 758 und eine mit einer Anzeige 754 gekoppelte Anzeigenschnittstelle 756 mit einem Benutzer kommunizieren. Die verwendete Anzeige 754 kann beispielsweise eine Dünnschichttransistor-Flüssigkristallanzeige (TFT-Anzeige) oder eine organische Leuchtdioden-Anzeige (OLED-Anzeige) oder jede andere geeignete Anzeigentechnologie sein. Die Anzeigenschnittstelle 756 kann geeignete Schaltkreise für das Betreiben der Anzeige 754 umfassen, um dem Benutzer grafische und andere Informationen darzustellen. Die Steuerungsschnittstelle 758 kann Befehle von einem Benutzer empfangen und sie für die Weitergabe an den Prozessor 752 um wandeln. Zusätzlich dazu kann eine externe Schnittstelle 762 in Kommunikation mit dem Prozessor 752 stehen, um eine Kommunikation der Vorrichtung 750 mit anderen Vorrichtungen im Nahbereich zu ermöglichen. Die externe Schnittstelle 762 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 Rechnervorrichtung 750. Der Speicher 764 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 Erweiterungsspeicher 774 kann auch bereitgestellt werden und mit der Vorrichtung 750 über eine Erweiterungsschnittstelle 772 verbunden sein, die beispielsweise eine SIMM-Kartenschnittstelle (Single In Line Memory Module) umfassen kann. Ein solcher Erweiterungsspeicher 774 kann zusätzlichen Speicherplatz für die Vorrichtung 750 bereitstellen oder kann auch Anwendungen oder andere Informationen für die Vorrichtung 750 speichern. Insbesondere kann der Erweiterungsspeicher 774 Anweisungen enthalten, die oben beschriebenen Prozesse durch zuführen oder zu ergänzen und kann auch sichere Informationen umfassen. Somit kann der Erweiterungsspeicher 774 beispielsweise als Sicherheitsmodul für die Vorrichtung 750 bereitgestellt werden und kann mit Anweisungen programmiert werden, die die sichere Verwendung der Vorrichtung 750 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, Erweiterungsspeicher 774 oder Speicher im Prozessor 752, das z. B. über einen Sender-Empfänger 768 oder externe Schnittstelle 762 empfangen werden kann.
  • Vorrichtung 750 kann über Kommunikationsschnittstelle 766, die, falls notwendig, einen Digitalsignalverarbeitungsschaltkreis umfassen kann, drahtlos kommunizieren. Kommunikationsschnittstelle 766 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änger 768 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ängermodul 770 zusätzliche navigations- und ortsbestimmungsabhängige drahtlose Daten an die Vorrichtung 750 übermitteln, die, je nach Eignung, von den auf der Vorrichtung 750 ausgeführten Anwendungen verwendet werden können.
  • Vorrichtung 750 kann ebenfalls hörbar unter Verwendung eines Audio-Codec 760, das gesprochene Informationen von einem Benutzer empfangen und diese zu verwendbaren digitalen Informationen konvertieren kann, kommunizieren. Audio-Codec 760 kann auf ähnliche Weise hörbare Töne für einen Benutzer erzeugen, wie durch einen Lautsprecher, z. B. in dem Telefonhörer der Vorrichtung 750. 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 Vorrichtung 750 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 Mobiltelefon 780 ausgeführt sein. Ebenfalls kann sie als Teil eines Smartphones 782, eines persönlichen digitalen Assistenten (PDA) oder eines anderen Mobilgeräts ausgeführt sein.
  • Zusätzlich dazu kann die Rechnervorrichtung 700 oder 750 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)

  1. 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.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei der eine oder die mehreren Werte den Durchschnittsressourcenverbrauch über eine definierte Zeitspanne identifizieren.
  3. Computerimplementiertes Verfahren nach einem der Ansprüche 1 oder 2, wobei die Ressourcen die Datenverwendung von einem oder mehreren Drahtlosnetzwerken durch die Rechnervorrichtungen umfassen.
  4. 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.
  5. 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.
  6. Computerimplementiertes Verfahren nach einem der Ansprüche 1 oder 2, wobei die Ressourcen CPU-Verwendung oder Batterieverbrauch durch die Rechnervorrichtungen umfassen.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
DE112012004240.9T 2011-10-11 2012-10-05 Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms Withdrawn DE112012004240T5 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI546700B (zh) * 2011-01-13 2016-08-21 宏達國際電子股份有限公司 手持電子裝置及其控制方法與電腦程式產品
AP3810A (en) * 2011-06-15 2016-09-30 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 삼성전자주식회사 전력 관리 장치 및 방법
US9900231B2 (en) 2012-01-27 2018-02-20 Microsoft Technology Licensing, Llc Managing data transfers over network connections based on priority and a data usage plan
US9118520B1 (en) * 2012-04-20 2015-08-25 Symantec Corporation Systems and methods for monitoring application resource usage on mobile computing systems
WO2013165744A1 (en) * 2012-04-30 2013-11-07 Webtrends 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
US8983778B2 (en) 2012-06-05 2015-03-17 Apple Inc. Generation of intersection information by a mapping service
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US9230556B2 (en) 2012-06-05 2016-01-05 Apple Inc. Voice instructions during navigation
US8965696B2 (en) 2012-06-05 2015-02-24 Apple Inc. Providing navigation instructions while operating navigation application in background
US9043150B2 (en) * 2012-06-05 2015-05-26 Apple Inc. Routing applications for navigation
US9997069B2 (en) 2012-06-05 2018-06-12 Apple Inc. Context-aware voice guidance
US9886794B2 (en) 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
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
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
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
CN105637497A (zh) * 2013-07-12 2016-06-01 谷歌公司 用于移动应用的性能监控的方法和系统
US10318895B1 (en) * 2013-08-27 2019-06-11 Curb, Inc. System for promoting efficient use of resources
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
EP3140859B1 (de) 2014-05-06 2022-11-02 Intel Corporation Mehrschichtiges gehäuse mit integrierter antenne
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
EP3221708A4 (de) 2014-11-17 2018-06-27 Curb Inc. Ressourcenüberwachungssystem mit deaggregierung von vorrichtungen und vorrichtungsspezifischen benachrichtigungen
US10127398B2 (en) 2015-09-18 2018-11-13 Rovi Guides, Inc. Methods and systems for implementing parental controls
US9973502B2 (en) * 2015-09-18 2018-05-15 Rovi Guides, Inc. Methods and systems for automatically adjusting 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
EP3331196B1 (de) * 2016-11-30 2019-04-24 Sap Se Telekommunikationssystem zur überwachung und steuerung eines netzwerks mit ressourcenbereitstellung an einen benutzer
US10944874B2 (en) 2016-11-30 2021-03-09 Sap Se Telecommunication system for monitoring and controlling of a network providing resource to a user
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)

* Cited by examiner, † Cited by third party
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
US7490045B1 (en) * 2001-06-04 2009-02-10 Palmsource, Inc. Automatic collection and updating of application usage
US7032229B1 (en) * 2001-06-04 2006-04-18 Palmsource, Inc. Automatic tracking of user progress in a software application
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
WO2003058410A1 (en) * 2001-12-28 2003-07-17 Access Co., Ltd. Usage period management system for applications
US6801940B1 (en) 2002-01-10 2004-10-05 Networks Associates Technology, Inc. Application performance monitoring expert
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
EP2241100B1 (de) * 2008-01-09 2018-08-22 T-Mobile USA, Inc. Überwachungssystem für mobile anwendungen
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
US8538484B2 (en) * 2009-08-14 2013-09-17 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
US8280456B2 (en) * 2009-08-14 2012-10-02 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

Also Published As

Publication number Publication date
GB2510279B (en) 2020-04-22
GB2510279A (en) 2014-07-30
CN103959745B (zh) 2017-06-23
US8359389B1 (en) 2013-01-22
US20130111020A1 (en) 2013-05-02
CN103959745A (zh) 2014-07-30
US8924550B2 (en) 2014-12-30
GB201406585D0 (en) 2014-05-28
WO2013055602A1 (en) 2013-04-18

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
CA2846350C (en) Mobile reports
US20150294256A1 (en) Scenario modeling and visualization
US10025933B2 (en) System for utilizing one or more data sources to generate a customized set of operations
CA3038513A1 (en) Method and system for providing domain-specific incremental search results with a customer self-service system for a financial management system
DE202011110865U1 (de) Personalisierte Orts-Tags
DE112013002774T5 (de) Mobile Vorrichtung mit lokalisierten App-Empfehlungen
US20150188971A1 (en) Data stream monitoring
CN107533618A (zh) 保护数据免受未经授权的访问
US20140278812A1 (en) Diagnostics storage within a multi-tenant data center
CN110020273B (zh) 用于生成热力图的方法、装置以及系统
US20140279823A1 (en) Lifecycle product analysis
DE112016002940T5 (de) Standortbezogene Lieferung von strukturiertem Inhalt
EP3025281B1 (de) Automatische konfiguration eines computersystems auf der basis von prozessmodellierung eines implementierten prozesses
DE112016005358T5 (de) Informations-Ranking basierend auf Eigenschaften einer Berechnungsvorrichtung
CN107085599B (zh) Poi推荐方法、装置、设备及计算机可读存储介质
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
US20160253763A1 (en) Triggered targeting
US8645262B1 (en) System and method for displaying security information
CN108073638A (zh) 数据诊断方法及装置
CN115114515A (zh) 一种基于用户兴趣的内容推荐方法与终端设备

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