DE102017201173A1 - Latenzreduzierung bei der feedbackbasierten ermittlung einer systemperformance - Google Patents

Latenzreduzierung bei der feedbackbasierten ermittlung einer systemperformance Download PDF

Info

Publication number
DE102017201173A1
DE102017201173A1 DE102017201173.4A DE102017201173A DE102017201173A1 DE 102017201173 A1 DE102017201173 A1 DE 102017201173A1 DE 102017201173 A DE102017201173 A DE 102017201173A DE 102017201173 A1 DE102017201173 A1 DE 102017201173A1
Authority
DE
Germany
Prior art keywords
application
processing system
data processing
data
content
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.)
Pending
Application number
DE102017201173.4A
Other languages
English (en)
Inventor
Vinod Kumar Ramachandran
Jing Wang
Steve Swan
Victor Kasatkin
Fei Li
Zhe Liu
Alex Valle
Peng Tang
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 DE102017201173A1 publication Critical patent/DE102017201173A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • 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
    • G06F11/3419Recording 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 by assessing time
    • 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • 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
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0244Optimization
    • 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
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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/3438Recording 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 monitoring of user actions

Abstract

Die vorliegende Offenbarung bezieht sich auf ein Verfahren zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung der Systemperformance. Ein System erhält von dem Anwendungsentwicklergerät einen oder mehrere Hinweise zu einem anwendungsinternen Ereignis sowie einen ersten Eingabewert für ein Anwendungsinhaltsübergabeprofil. Über eine Schnittstelle einer Anwendung, die von einem Anwendungsentwickler entwickelt wurde und von einem Computergerät, das nicht Teil des Datenverarbeitungssystems ist und sich von dem Anwendungsentwicklergerät unterscheidet, ausgeführt wird, erhält das System einen Ping, der Auskunft über das Auftreten eines anwendungsinternen Ereignisses auf dem Computergerät gibt. Das System führt Daten aus dem Ping mit vom Datenverarbeitungssystem ermittelten, internen Daten zusammen, um zusammengeführte Daten zu erzeugen. Das System ermittelt eine prognostizierte Performance für das anwendungsinterne Ereignis und liefert einen Hinweis zur prognostizierten Performance. In Reaktion auf die prognostizierte Performance konfiguriert das System das Anwendungsinhaltsübergabeprofil mit einem zweiten Eingabewert.

Description

  • HINTERGRUND
  • Eine grafische Umgebung, Anwendungen oder Webseiten können Text, Bilder, Videos oder Audiodaten beinhalten, die über einen Anwendungs- oder Webseitenserver zur Wiedergabe bereitgestellt werden. Von Dritten können zudem zusätzliche Inhaltselementobjekte bereitgestellt werden, damit sich diese in der Anwendung oder auf den Webseiten zusammen mit den von den Entitäten bereitgestellten Informationen anzeigen lassen. Die Inhaltselementobjekte können Befehle beinhalten, die zur Installation einer Anwendung führen, welche zur Ausführung auf einem Computergerät konfiguriert ist. So kann eine Person, die eine grafische Umgebung anzeigt, auf die Informationen, die Gegenstand der Webseite sind, sowie die ausgewählten Inhaltselementobjekte Dritter zugreifen, die mit dem Gegenstand der Webseite verknüpft sein können oder auch nicht, und die im Inhaltselementobjekt integrierten Befehle auslösen, um die entsprechende Anwendung zu installieren. Angesichts der hohen Zahl an verfügbaren Inhaltselementobjekten und der Verzögerung bei der Ermittlung der Performance einer installierten Anwendung kann es schwierig sein, Inhaltselementobjekte zur Anzeige in der grafischen Umgebung auszuwählen und bereitzustellen.
  • KURZDARSTELLUNG
  • Mindestens ein Aspekt bezieht sich auf ein System zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance. Das System kann ein Datenverarbeitungssystem beinhalten, das einen oder mehrere Prozessoren sowie Arbeitsspeicher umfasst. Das Datenverarbeitungssystem kann von dem Anwendungsentwicklergerät einen oder mehrere Hinweise auf ein anwendungsinternes Ereignis sowie einen ersten Eingabewert für ein Anwendungsinhaltsübergabeprofil erhalten. Das Datenverarbeitungssystem kann über eine Schnittstelle von einer Anwendung, die von einem Anwendungsentwickler entwickelt wurde und von einem Computergerät, das nicht Teil des Datenverarbeitungssystems ist und sich von dem Anwendungsentwicklergerät unterscheidet, ausgeführt wird, ein Signal (oder „Ping“) empfangen, das Auskunft über das Auftreten des anwendungsinternen Ereignisses auf dem Computergerät gibt. Das Datenverarbeitungssystem kann Daten aus dem Ping mit vom Datenverarbeitungssystem ermittelten, internen Daten zusammenführen, um einen zusammengeführten Datensatz zu erzeugen. Auf Basis des zusammengeführten Datensatzes sowie des ersten Eingabewerts kann das Datenverarbeitungssystem für das anwendungsinterne Ereignis eine prognostizierte Performance ermitteln. Über die Schnittstelle kann das Datenverarbeitungssystem einen Hinweis zur prognostizierten Performance liefern, welche auf Basis des zusammengeführten Datensatzes und des ersten Eingabewerts ermittelt wurde. Das Datenverarbeitungssystem kann in Reaktion auf den Hinweis zur prognostizierten Performance das Anwendungsinhaltsübergabeprofil mit einem zweiten Eingabewert konfigurieren.
  • In einer Implementierung lässt sich der zweite Eingabewert zumindest auf Basis der prognostizierten Performance ermitteln, die mittels des zusammengeführten Datensatzes und des ersten Eingabewerts ermittelt wurde. Wenn die prognostizierte Performance, die auf Basis des zusammengeführten Datensatzes und des ersten Eingabewerts ermittelt wurde, als nicht akzeptabel gilt (weil sie z. B. einen bestimmten Schwellenwert nicht erreicht), kann das Datenverarbeitungssystem das Anwendungsinhaltsübergabeprofil zum Beispiel mit einem zweiten Eingabewert konfigurieren, der eine optimierte prognostizierte Performance liefert (und z. B. den Schwellenwert erreicht). So lässt sich der Einsatz des Anwendungsinhaltsübergabeprofils mit dem ersten Eingabewert verhindern und warten, bis unter Verwendung des ersten Eingabewerts Feedback zur tatsächlichen Performance empfangen wird, bevor ermittelt wird, dass die Performance unter Verwendung des ersten Eingabewerts unbefriedigend ist.
  • Mindestens ein Aspekt bezieht sich auf ein Verfahren zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung der Systemperformance. Das Verfahren kann ein Datenverarbeitungssystem beinhalten, das von dem Anwendungsentwicklergerät einen oder mehrere Hinweise auf ein anwendungsinternes Ereignis sowie einen ersten Eingabewert für ein Anwendungsinhaltsübergabeprofil erhält. Das Verfahren kann das Datenverarbeitungssystem beinhalten, das über eine Schnittstelle einer Anwendung, die von einem Anwendungsentwickler entwickelt wurde und einem Computergerät, das nicht Teil des Datenverarbeitungssystems ist und sich von dem Anwendungsentwicklergerät unterscheidet, ausgeführt wird, einen Ping empfängt, das Auskunft über das Auftreten eines anwendungsinternen Ereignisses auf dem Computergerät liefert. Das Verfahren kann das Datenverarbeitungssystem beinhalten, das Daten aus dem Ping mit vom Datenverarbeitungssystem ermittelten, internen Daten zusammenführt, um einen zusammengeführten Datensatz zu erzeugen. Das Verfahren kann das Datenverarbeitungssystem beinhalten, das auf Basis des zusammengeführten Datensatzes und des ersten Eingabewerts eine prognostizierte Performance für das anwendungsinterne Ereignis ermittelt. Das Verfahren kann das Datenverarbeitungssystem beinhalten, das über die Schnittstelle einen Hinweis zur prognostizierten Performance liefert, die auf Basis des zusammengeführten Datensatzes und des ersten Eingabewerts ermittelt wurde. Das Verfahren kann das Datenverarbeitungssystem beinhalten, das in Reaktion auf den Hinweis zur prognostizierten Performance das Anwendungsinhaltsübergabeprofil mit einem zweiten Eingabewert konfiguriert.
  • In einer Implementierung umfasst das Verfahren: das Empfangen von einer Vielzahl von Anwendungen, die von einer Vielzahl von Anwendungsentwicklern entwickelt wurden, einer Vielzahl von Pings, die Auskunft über das Auftreten eines oder mehrerer anwendungsinterner Ereignisse geben durch das Datenverarbeitungssystem; und das Zusammenführen von Daten aus der Vielzahl von Pings mit internen Daten, die vom Datenverarbeitungssystem zur Erzeugung der zusammengeführten Daten ermittelt wurden, durch das Datenverarbeitungssystem. In einer Implementierung umfasst das Verfahren: das Konfigurieren des Anwendungsinhaltsübergabeprofils mit dem zweiten Eingabewert, der größer als der erste Eingabewert ist, in Reaktion darauf, dass die prognostizierte Performance unter einem Schwellenwert lag, durch das Datenverarbeitungssystem. In einer Implementierung umfasst das Verfahren: das Empfangen eines Befehls von dem Anwendungsentwicklergerät zum Konfigurieren des Anwendungsinhaltsübergabeprofils mit dem zweiten Eingabewert durch das Datenverarbeitungssystem, wobei der zweite Eingabewert einen gleichen Wert wie der erste Eingabewert umfasst. In einer Implementierung umfasst die prognostizierte Performance eine prognostizierte Zahl an Installationen der Anwendung. In einer Implementierung umfasst das Verfahren: das Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis durch das Datenverarbeitungssystem auf Basis eines Verfahrens zum maschinellen Lernen. In einer Implementierung umfasst das Verfahren: das Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis auf Basis eines Regressionsmodells durch das Datenverarbeitungssystem. In einer Implementierung umfasst das Verfahren: das Ermitteln einer Vielzahl von Anwendungen, die sich von der Anwendung unterscheiden, auf Basis einer Eigenschaft der Anwendung durch das Datenverarbeitungssystem; und das Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis auf Basis von Pings und internen Daten, die mit der Vielzahl von Anwendungen verknüpft sind, durch das Datenverarbeitungssystem.
  • Mindestens ein Aspekt bezieht sich auf ein System, das Folgendes umfasst: ein Datenverarbeitungssystem, das so eingerichtet oder konfiguriert ist, dass es ein Verfahren gemäß beliebigen hierin beschriebenen Aspekten oder Implementierungen ausführen kann. In manchen Implementierungen kann das System ein computerlesbares Medium umfassen, auf dem Befehle gespeichert sind, die bei Ausführung durch das Datenverarbeitungssystem das Datenverarbeitungssystem dazu bringen, Operationen auszuführen, die ein Verfahren gemäß beliebigen hierin beschriebenen Aspekten oder Implementierungen umfassen.
  • In einem anderen Aspekt bezieht sich die vorliegende Offenbarung auf ein Computerprogrammprodukt, das Befehle umfasst, die, wenn das Programm durch einen Computer ausgeführt wird, den Computer zum Ausführen eines Verfahrens gemäß einem hierin beschriebenen Aspekt bzw. einer hierin beschriebenen Implementierung veranlassen.
  • In einem anderen Aspekt bezieht sich die vorliegende Offenbarung auf ein computerlesbares Medium, auf dem Befehle gespeichert sind, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, Operationen auszuführen, die ein Verfahren gemäß beliebigen der hierin beschriebenen Aspekte oder Implementierungen umfassen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Details einer oder mehrerer Implementierungen des in dieser Spezifikation beschriebenen Gegenstands sind in den zugehörigen Zeichnungen und der nachfolgenden Beschreibung dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden anhand der Beschreibung, der Zeichnungen und der Patentansprüche offensichtlich.
  • 1 ist eine Darstellung eines Systems zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance gemäß einer Implementierung.
  • 2 ist ein Ablaufdiagramm, in dem die Verfahren eines Systems zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance gemäß einer Implementierung dargestellt werden.
  • 3 ist eine grafische Benutzerschnittstelle eines Systems zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance gemäß einer Implementierung.
  • 4 ist eine Darstellung eines Verfahrens zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance gemäß einer Implementierung.
  • 5 ist ein Blockdiagramm, das eine allgemeine Architektur für ein Computersystem gemäß einer Implementierung veranschaulicht, das sich bereitstellen lässt, um verschiedene Elemente der in 1 und 2 dargestellten Systeme, die in 3 dargestellte grafische Benutzerschnittstelle und das in 4 dargestellte Verfahren zu implementieren.
  • In den unterschiedlichen Zeichnungen werden für gleiche Elemente gleiche Bezugszeichen und Bezeichnungen verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf die Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance. Bei Durchführung einer Inhaltsauslieferung für eine mobile Anwendung kann es einem Inhaltsanbieter oder Anwendungsentwickler zum Beispiel schwerfallen, eine erwartete Performance für ein Inhaltselementobjekt zu ermitteln bzw. zu schätzen, das Befehle zum Herunterladen und Installieren der Anwendung bzw. zum Ausführen einer bestimmten Aktion in der Anwendung umfasst. Die Prognose der Performance kann sich zusätzlich erschweren, wenn für die Anwendung Inhaltselementobjekte für verschiedene Webeigenschaften, Anwendungen oder Netzwerke gerendert werden. Außerdem ist es nicht einfach, verschiedene Arten von Ereignissen (wie z. B. zukünftige Anwendungsinstallationen) versus anwendungsinternen Ereignissen vorherzusagen, da diese verschiedenen Ereignisse möglicherweise unterschiedliche Überwachungsschnittstellen nutzen. So kann es einem Inhaltsanbieter oder Anwendungsentwickler schwerfallen, eine Inhaltsauslieferung (z. B. ein Anwendungsinhaltsübergabeprofil) so zu konfigurieren, dass sich die Zahl der installierten Installationen erhöht – und zwar aufgrund der Verzögerung beim Empfangen von Feedback zur Performance der Inhaltsauslieferung, der Anwendung oder des Systems.
  • Systeme und Verfahren der vorliegenden Offenbarung können die Latenz bei der feedbackbasierten Ermittlung einer Systemperformance verringern. Ein Datenverarbeitungssystem kann zum Beispiel eine verbesserte Überwachungsschnittstelle und Verfahren zum Zusammenführen von Daten sowie Methoden zur statistischen Modellierung nutzen, um auf Basis von Eingabewerten Daten zur prognostizierten Performance bereitzustellen.
  • Das Datenverarbeitungssystem kann Hinweise zu Eingabewerten für ein Inhaltsauslieferungsprogramm oder eine „Inhaltskampagne“ bereitstellen, die ein Anwendungsinhaltsübergabeprofil umfassen (zum Beispiel Hinweise zu Angeboten und Budgets), indem eine echtzeitbasierte Schätzung der Performance zur Verfügung gestellt wird. So kann ein Inhaltsanbieter zum Beispiel eine Schätzung von Anwendungsinstallationen, die das Datenverarbeitungssystem ermittelt hat, oder der Volumen und Erträge von vom Inhaltsanbieter ausgewählten anwendungsinternen Ereignissen verwenden. Das Datenverarbeitungssystem kann diese Schätzung über eine grafische Benutzerschnittstelle bereitstellen und die Schätzung in Echtzeit weiter aktualisieren, während der Inhaltsanbieter seine Inhaltskampagne erstellt oder verändert. Die vorhergesagten Schätzungen lassen sich an verschiedene Eingabewerte anpassen. Eingabewerte können unter anderem Angebote (Bereitschaft zur Zahlung für eine Anwendungsinstallation), Budgets (tägliche oder allgemeine Ausgabengrenze), ausgewählte Länder (geografischer Standort von Computergeräten, die das Inhaltselement rendern), Sprachen (der Geräteeinstellungen, die für das Rendern des Inhaltselements sorgen) oder Arten von Inhaltselementen (z. B. ob der Inhaltsanbieter ein bestimmtes Video oder Bild bewirbt) beinhalten. Indem in Echtzeit verschiedene Eingabewerte und Oberflächenprojektionen zugelassen werden, ermöglicht es das Datenverarbeitungssystem Inhaltsanbietern, in Echtzeit medienbezogene Kaufentscheidungen zu treffen und die Vor- und Nachteile der einzelnen Optionen abzuwägen.
  • Zum Erzeugen der Projektionen kann das Datenverarbeitungssystem Verfahren für maschinelles Lernen sowie multivariate Regressionsverfahren nutzen. Das Datenverarbeitungssystem kann eine Kombination aus im Datenverarbeitungssystem vorhandenen Daten und von einem Anwendungsentwickler oder Inhaltsanbieter bereitgestellten Daten nutzen. Die internen Daten können zum Beispiel Daten, die mit organischen Anwendungsaufrufen (z. B. Aufrufe, die keine Reaktion auf ein Inhaltselement sind), Klicks, Auswahlen, Installationen oder Ausgaben verbunden sind, sowie Ereignisprotokolle beinhalten, die zu einem Inhaltselement wie Aufrufen, Klicks und/oder Konvertierungen gehören. Von einem Inhaltsanbieter oder Anwendungsentwickler bereitgestellte Daten können zum Beispiel verschiedene anwendungsinterne Ereignisse und Werte für diese anwendungsinternen Ereignisse beinhalten. Das Datenverarbeitungssystem kann ein Modell verwenden, dass die internen Daten mit den vom Inhaltsanbieter bereitgestellten Daten kombiniert oder zusammenführt, um die Performance neuer und vorhandener Anwendungen vorherzusagen.
  • Bei vorhandenen Anwendungen kann das Datenverarbeitungssystem zum Beispiel sowohl den Inhaltsverlauf als auch mit der Anwendung verbundene Interaktionen nutzen, um die Wahrscheinlichkeit vorherzusagen, mit der andere (ähnliche) Computergeräte diese Anwendung installieren bzw. die anwendungsinterne Aktion abschließen werden. Auf Basis des protokollierten Inhaltsverlaufs kann das Datenverarbeitungssystem Computergeräte oder Profile von Computergeräten ermitteln, die wahrscheinlich Inhaltselementobjekte für die Anwendung anklicken, installieren und aufrufen werden.
  • Für Inhaltsanbieter neuer Anwendungen, die ihre Anwendung zuvor auf einem Online-Marktplatz angeboten haben, kann das Datenverarbeitungssystem organische Daten verwenden um vorherzusagen, welche Computergeräte wahrscheinlich auf einen Eintrag für die Anwendung klicken, die Anwendung wahrscheinlich installieren und wahrscheinlich mit der Anwendung interagieren bzw. eine Aktion über die Anwendung ausführen werden.
  • Für Anwendungen, die neu auf dem Online-Marktplatz sind und zuvor nicht dort gelistet waren, kann das Datenverarbeitungssystem eine Eigenschaft der Anwendung ermitteln, um ähnliche Anwendungen zu identifizieren und Informationen über eine Kategorie, Geografie und Sprache der ermittelten ähnlichen Anwendungen zur Feststellung einer wahrscheinlichen Performance zu verwenden.
  • So stellt das Datenverarbeitungssystem eine stabile, echtzeitbasierte und präzise Schnittstelle bereit, die organische interne Daten und Daten aus Signalen („Pings“) der Anwendung miteinander kombinieren und ein Verfahren für maschinelles Lernen nutzen kann, um auf Basis eines oder mehrerer Eingabewerte die Performance von Anwendungsinstallationen oder eines anwendungsinternen Ereignisses vorherzusagen. Eingabewerte können zum Beispiel das Zuweisen eines anwendungsinternen Ereignisses zu einem bestimmten Wert beinhalten (z. B. das Buchen eines Flugs von New York City nach Paris kann einen Wert von 500 $ haben); alternativ können dem anwendungsinternen Ereignis verschiedene Werte oder ein Wertbereich für die einzelnen Computergeräte oder Instanz der Aktion zugewiesen werden. Das Datenverarbeitungssystem kann die Prognosen in Echtzeit an die einzelnen Inhaltsanbieter, Anwendungen, Einstellungen und Ziele anpassen und die Verzögerung bei der feedbackbasierten Systemperformance verringern. Das Datenverarbeitungssystem kann in Echtzeit Abstimmungen vornehmen und Einstellungen verändern, um die Inhaltsauslieferung zu optimieren. Das Datenverarbeitungssystem kann Eingabewerte für Installationsinhaltselemente mobiler Anwendungen oder Inhaltselemente für Re-Interaktionen mit erwarteten Ausgabewerten verknüpfen.
  • Zum Beispiel kann das Datenverarbeitungssystem historische Daten über Inhaltselementobjekte abrufen, die so konfiguriert sind, dass sie zum Herunterladen oder Installieren einer Anwendung auf einem Computergerät führen (z. B. ein Inhaltselement mit einem Link zur Anwendung auf einem Online-Marktplatz). Die historischen Daten können ein oder mehr Signale wie Aufrufe (z. B. wenn das Inhaltselement auf einem Computergerät gerendert wird), Klicks (z. B. wenn ein Benutzer des Computergeräts das auf dem Computergerät gerenderte Inhaltselementobjekt auswählt), Installationen (z. B. wenn der Benutzer des Computergeräts dem Computergerät befiehlt, die Anwendung auf das Computergerät herunterzuladen und zu installieren) oder Konvertierungen (z. B. wenn ein Benutzer über die installierte Anwendung, die auf dem Computergerät ausgeführt wird, ein gewünschtes anwendungsinternes Ereignis durchführt) beinhalten. Das Datenverarbeitungssystem kann die Installation der Anwendung (oder die anwendungsinterne Aktion) dem Rendering des Inhaltselementobjekts auf dem Computergerät zuweisen. Zum Beispiel kann das Datenverarbeitungssystem mit Aufruf und Installation des Inhaltselements verknüpfte Zeitstempel, Geräte-IDs, Profildaten, Standort-IDs, Sprach-IDs, Anwendungskategoriedaten, Herausgeberdaten, Entwicklerdaten, Tags und andere Angaben oder Kennungen korrelieren.
  • Das Datenverarbeitungssystem kann die Signale für alle Benutzer der gleichen Anwendung aggregieren oder zusammenführen, um einen ersten zusammengeführten Datensatz zu erzeugen. Das Datenverarbeitungssystem kann Signale aus allen Anwendungen aggregieren oder zusammenführen, die der Anwendung ähneln (z. B. alle Reiseanwendungen) und über ein oder mehrere Inhaltselementobjekte heruntergeladen wurden, um einen zweiten zusammengeführten Datensatz zu erzeugen. Das Datenverarbeitungssystem kann die Signale aus allen ähnlichen Anwendungen aggregieren oder zusammenführen, die dynamisch heruntergeladen wurden (z. B. nicht in Reaktion auf ein Inhaltselementobjekt installiert wurden), um einen dritten zusammengeführten Datensatz zu erzeugen. In manchen Fällen kann das Datenverarbeitungssystem den ersten, zweiten und dritten Datensatz zusammenführen.
  • Signale können interne Signale beinhalten, die vom Datenverarbeitungssystem ermittelt wurden, oder Signale, die von einer Schnittstelle der auf dem Computergerät ausgeführten Anwendung bereitgestellt werden. Interne Signale können zum Beispiel die Art der Anwendung, eine Information, dass die Anwendung installiert wurde, eine Konfiguration der Anwendung oder Informationen dazu beinhalten, ob Zahlungen vorgenommen wurden oder mit der Anwendung Zahlungsdaten verknüpft sind. Von der Anwendung bereitgestellte Signale können zum Beispiel Anwendungsstatistiken, den Zustand der Anwendung, in den Anwendungen erreichte Levels, in der Anwendung erreichte Punktwerte, in die Anwendungen eingegebene Abfragen oder über die Anwendung ausgeführte Transaktionen beinhalten. Der Anwendungsentwickler kann die anwendungsinternen Ereignisse so konfigurieren, dass das Datenverarbeitungssystem Signale erhält. Das Datenverarbeitungssystem kann die Daten in einer Datenstruktur wie z. B. {content_item_ID, event_ID} speichern.
  • Das Datenverarbeitungssystem lässt sich mit einem Verfahren für maschinelles Lernen konfigurieren, das die Signale als Eingabewerte verwendet, um vorherzusagen, welche der Signale mit einem gewünschten Ereignis korrelieren (z. B. Ausführung einer Transaktion). Das Datenverarbeitungssystem kann für jedes Signal einen Punktwert ermitteln. Das Datenverarbeitungssystem kann die mit Punktwerten versehenen Signale in Echtzeit Computergeräten zuordnen. Das Datenverarbeitungssystem kann zum Beispiel Computergeräte ermitteln, die mit den Signalen, welche die höchsten Punktwerte haben, übereinstimmen, um eine Zahl von Computergeräten zu ermitteln, die über die Signale mit den höchsten Punktwerten verfügen. Auf Basis der Signale mit den höchsten Punktwerten kann das Datenverarbeitungssystem eine Wahrscheinlichkeit prognostizieren, mit der das gewünschte Ereignis (z. B. eine Anwendungsinstallation oder ein anwendungsinternes Ereignis) auf dem Computergerät eintreten wird. Basierend auf der Zahl von Computergeräten, die die Signale mit den höchsten Punktwerten aufweisen, kann das Datenverarbeitungssystem eine Performance der Inhaltskampagne oder Anwendung ermitteln. Das Datenverarbeitungssystem kann die prognostizierte Performance in Echtzeit einem Inhaltsanbieter oder Anwendungsentwickler bereitstellen.
  • 1 veranschaulicht ein exemplarisches System 100 zur Reduzierung der Latenz bei der Ermittlung feedbackbasierter Systemperformance. Das System 100 kann eine Inhaltsauswahlinfrastruktur beinhalten. Das System 100 kann ein Datenverarbeitungssystem 120 beinhalten, das über ein Netzwerk 105 mit einem oder mehreren Computergeräten eines Inhaltsanbieters 125, einem Computergerät eines Anwendungsentwicklers 125, einem Computergerät eines Inhaltsherausgebers 115, einem Online-Marktplatzanbieter 175 oder Client-Computergerät 110 kommuniziert. Das Netzwerk 105 kann Computernetzwerke wie das Internet, Local-, Wide-, Metro- oder andere Area Networks, Intranets, Satellitennetzwerke oder andere Kommunikationsnetzwerke wie mobile Sprach- oder Datennetze beinhalten. Das Netzwerk 105 kann zum Aufrufen von Informationsressourcen wie mobilen Anwendungen, Webseiten, Websites, Domänennamen oder Uniform Resource Locators (URLs) verwendet werden, die sich auf mindestens einem Computergerät 110 (wie einem Laptop, Desktop, Tablet, PDA, Smartphone oder tragbaren Computer) anzeigen lassen. Über das Netzwerk 105 kann ein Benutzer des Computergeräts 110 zum Beispiel mobile Anwendungen oder Webseiten aufrufen, die von einem Websitebetreiber oder Inhaltsherausgeber 115 und/oder einem Anwendungsentwickler 125 bereitgestellt wurden. Ein Webbrowser des Computergeräts 110 kann auf einen Webserver des Websitebetreibers oder Inhaltsherausgebers 115 zugreifen, um eine Webseite zur Anzeige auf einem Monitor des Computergeräts 110 abzurufen. Der Inhaltsherausgeber 115 kann der Anwendung, die auf dem Computergerät 110 ausgeführt wird, Befehle zum Rendern des Inhalts zur Verfügung stellen. Der Anwendungsentwickler 125 oder Websitebetreiber bzw. Inhaltsherausgeber 115 beinhaltet im Allgemeinen eine Entität, die die mobile Anwendung oder Webseite betreibt. Der Anwendungsentwickler 125 oder Websitebetreiber bzw. Inhaltsherausgeber 115 beinhaltet mindestens einen Webseitenserver, der mit dem Netzwerk 105 kommuniziert, um die Webseite auf dem Computergerät 110 bereitzustellen. Das Datenverarbeitungssystem 120 kann für die Anwendung, die auf dem Computergerät 110 ausgeführt wird, Befehle zum Rendern des Inhalts zur Verfügung stellen. Das Computergerät 110 kann den Online-Marktplatz aufrufen, der vom Online-Marktplatzanbieter 175 über Netzwerk 105 bereitgestellt wird. Das Computergerät 110 kann über den Online-Marktplatz via Netzwerk 105 eine Anwendung 180 herunterladen.
  • Das Netzwerk 105 kann eine beliebige Art oder Form von Netzwerk sein und eine oder mehrere der folgenden Optionen beinhalten: ein Point-to-Point-Netzwerk, ein Broadcast-Netzwerk, ein Wide Area Network, ein Local Area Network, ein Telekommunikationsnetzwerk, ein Datenkommunikationsnetzwerk, ein Computernetzwerk, ein ATM-Netzwerk (Asynchronous Transfer Mode), ein SONET-Netzwerk (Synchronous Optical Network), ein SDH-Netzwerk (Synchronous Digital Hierarchy), ein Drahtlosnetzwerk oder ein kabelgebundenes Netzwerk. Das Netzwerk 105 kann eine Drahtlosverbindung wie z. B. einen Infrarotkanal oder ein Satellitenfrequenzband beinhalten. Die Topologie des Netzwerks 105 kann eine Bus-, Stern- oder Ringnetzwerktopologie beinhalten. Das Netzwerk kann mobile Telefonnetzwerke unter Verwendung von einem beliebigen Protokoll oder beliebigen Protokollen beinhalten, die zur Kommunikation mit mobilen Geräten geeignet sind, darunter Advanced Mobile Phone Protocol („AMPS“), Time Division Multiple Access („TDMA“), Code-Division Multiple Access („CDMA“), Global System for Mobile Communication („GSM“), General Packet Radio Services („GPRS“) und Universal Mobile Telecommunications System („UMTS“). Verschiedene Arten von Daten können über verschiedene Protokolle übertragen werden, oder es können gleiche Arten von Daten über verschiedene Protokolle übertragen werden.
  • Das System 100 kann mindestens ein Datenverarbeitungssystem 120 beinhalten. Das Datenverarbeitungssystem 120 kann mindestens ein logisches Gerät wie ein Computergerät beinhalten, das einen Prozessor zur Kommunikation über das Netzwerk 105 – z. B. mit dem Computergerät 110, dem Computergerät eines Anwendungsentwicklers 125 oder Websitebetreibers bzw. Inhaltsherausgebers 115 (oder Inhaltsherausgeber 115) – aufweist, und mindestens ein Computergerät eines Inhaltsanbieters 125 (oder Anbietergerät 125 oder Inhaltsanbieter 125 oder Anwendungsentwickler 125) beinhalten. Das Datenverarbeitungssystem 120 kann mindestens eine Rechenressource, einen Server, einen Prozessor oder einen Speicher beinhalten. Das Datenverarbeitungssystem 120 kann zum Beispiel eine Vielzahl von Rechenressourcen oder Server beinhalten, die sich in mindestens einem Rechenzentrum befinden. Das Datenverarbeitungssystem 120 kann mehrere, logisch gruppierte Server beinhalten und verteilte Rechenprozesse unterstützen. Die logische Gruppe von Servern kann als ein Rechenzentrum, eine Serverfarm oder eine Computerfarm bezeichnet werden. Die Server können auch auf verschiedene Standorte verteilt sein. Ein Rechenzentrum oder eine Computerfarm können als eine Entität verwaltet werden, oder die Computerfarm kann eine Vielzahl von Computerfarmen beinhalten. Die Server in einer Computerfarm können heterogen sein – ein oder mehrere der Server oder Computer können gemäß einem oder mehreren Typen von Betriebssystemplattformen betrieben werden.
  • Server in der Computerfarm können in dichten Racksystemen zusammen mit zugehörigen Speichersystemen aufbewahrt werden und sich in einem Enterprise-Rechenzentrum befinden. Wenn Server auf diese Weise konsolidiert werden, lassen sich zum Beispiel die Systemverwaltung, Datensicherheit, physische Sicherheit des Systems sowie Systemperformance verbessern, indem in lokalisierten High-Performance-Netzwerken nach Servern und High-Performance-Speichersystemen gesucht wird. Durch eine Zentralisierung der Server und Speichersysteme und Kopplung mit erweiterten Systemverwaltungstools wird eine effizientere Nutzung von Serverressourcen möglich.
  • Das Datenverarbeitungssystem 120 kann ein Inhaltsplatzierungssystem beinhalten, das mindestens eine Rechenressource oder einen Server aufweist. Das Datenverarbeitungssystem 120 kann mindestens eine Schnittstellenkomponente 130, mindestens eine Zuordnungskomponente 135, mindestens eine Landschaftserzeugungskomponente 140, mindestens eine Inhaltsauswahlkomponente 145 und mindestens einen Datenpool 150 beinhalten. Der mindestens eine Datenpool 150 kann in einer oder mehreren Datenstrukturen oder Datenbanken interne Daten 155, die zu einer oder mehreren Anwendungen gehören, Signaldaten 160, zusammengeführte Daten 165 oder Inhaltsdaten 170 beinhalten oder speichern. Die internen Daten 155 können Daten beinhalten, die das mit der Anwendung verknüpfte Datenverarbeitungssystem ermittelt hat, zum Beispiel Art der Anwendung, Konfiguration der Anwendung, geografischer Standort eines Computergeräts zum Zeitpunkt der Bereitstellung der Anwendung oder des Inhaltselements oder eine mit der Anwendung bzw. dem Computergerät verknüpfte Sprache. Die Signaldaten 160 können anwendungsinterne Ereignisse wie die Durchführung einer elektronischen Transaktion über die Anwendung, ein Spiel-Level oder einen Punktwert der Anwendung bzw. in die Anwendung eingegebene Abfragen beinhalten. Zusammengeführte Daten 165 können für eine Anwendung oder Kategorie von Anwendungen das Zusammenführen von internen Daten 155 mit Signaldaten 160 beinhalten. Inhaltsdaten 170 können zum Beispiel Inhaltskampagnendaten, Inhaltsgruppen, Inhaltsauswahlkriterien, Inhaltselementobjekte oder andere Informationen beinhalten, die von einem Inhaltsanbieter 125 bereitgestellt oder vom Datenverarbeitungssystem empfangen oder ermittelt werden, um die Inhaltsauswahl zu erleichtern. Die Schnittstellenkomponente 130, Zuordnungskomponente 135, Landschaftserzeugungskomponente 140 und Inhaltsauswahlkomponente 145 können jeweils mindestens eine Verarbeitungseinheit oder ein anderes logisches Gerät wie eine Programmable Logic Array Engine oder ein Modul beinhalten, die bzw. das so konfiguriert ist, dass sie bzw. es mit dem Datenbankpool oder Datenbank 150 kommuniziert. Die Schnittstellenkomponente 130, Zuordnungskomponente 135, Landschaftserzeugungskomponente 140 und Inhaltsauswahlkomponente 145 sowie Datenpool 150 können separate Komponenten, eine einzelne Komponente oder Bestandteil des Datenverarbeitungssystems 120 sein. Das System 100 und seine Komponenten wie z. B. Datenverarbeitungssystem 120 können Hardwareelemente wie einen oder mehrere Prozessoren, logische Geräte oder Schaltungen beinhalten.
  • Das Datenverarbeitungssystem 120 kann anonyme Informationen über Computernetzwerkaktivitäten abrufen, die mit einer Vielzahl von Computergeräten 110 verbunden sind. Ein Benutzer eines Computergeräts 110 kann das Datenverarbeitungssystem 120 gezielt dazu autorisieren, Informationen über Netzwerkaktivitäten, die dem Computergerät 110 des Benutzers entsprechen, abzurufen. Das Datenverarbeitungssystem 120 kann zum Beispiel den Benutzer des Computergeräts 110 dazu auffordern, dem Abruf einer oder mehrerer Arten von Informationen über Netzwerkaktivitäten zuzustimmen. Die Identität des Benutzers des Computergeräts 110 kann anonym bleiben, und das Computergerät 110 kann mit einer eindeutigen Kennung (z. B. einer eindeutigen Kennung für den Benutzer oder das vom Datenverarbeitungssystem bereitgestellte Computergerät oder einen Benutzer des Computergeräts) verknüpft sein. Das Datenverarbeitungssystem kann jeder Beobachtung eine entsprechende eindeutige Kennung zuweisen.
  • In Situationen, in denen die hier erörterten Systeme persönliche Informationen über Benutzer sammeln oder persönliche Informationen nutzen können, kann den Benutzern die Möglichkeit eingeräumt werden, zu kontrollieren, ob Programme oder Funktionen Benutzerinformationen sammeln (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Aktionen oder Aktivitäten, Präferenzen eines Benutzers oder der aktuelle Standort eines Benutzers), bzw. zu steuern, ob oder wie er Inhalte vom Inhaltsserver erhält, die für den Benutzer eine höhere Relevanz haben können. Zusätzlich können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie gespeichert oder verwendet werden, sodass bei der Erzeugung von Parametern bestimmte Informationen über den Benutzer (z. B. demografische Parameter) entfernt werden. So kann beispielsweise die Identität eines Benutzers so behandelt werden, dass sich für den Benutzer keine identifizierenden Informationen ermitteln lassen, oder ein geografischer Standort eines Benutzers kann beim Empfang von Standortinformationen generalisiert werden (beispielsweise auf eine Stadt, eine Postleitzahl oder ein Bundesland), sodass sich ein genauer Standort eines Benutzers nicht ermitteln lässt. Somit könnte der Benutzer kontrollieren, wie Informationen über ihn gesammelt und von einem Inhaltsserver verwendet werden.
  • Das Datenverarbeitungssystem 120 kann eine Schnittstellenkomponente 130 beinhalten, die so gestaltet, konfiguriert, eingerichtet oder funktionsfähig ist, dass sie Daten von einer auf einem Computergerät ausgeführten Anwendung empfängt oder einem Inhaltsanbieter 125 eine grafische Benutzerschnittstelle bereitstellt. Die Schnittstellenkomponente 130 kann einen oder mehrere Prozessoren oder Rechenressourcen des Datenverarbeitungssystems 120 ausführen, um Daten zu erhalten und Informationen bereitzustellen. Die Schnittstelle 130 kann ein oder mehrere Widgets zum Empfangen von Eingabedaten (z. B. von Eingabewerten, die mit einer Inhaltskampagne verbunden sind) bereitstellen.
  • Ein Inhaltsanbieter 125 kann eine elektronische Inhaltskampagne einrichten. Eine elektronische Inhaltskampagne kann sich auf eine oder mehrere Inhaltsgruppen beziehen, die zu einem gemeinsamen Thema gehören. Eine Inhaltskampagne kann eine hierarchische Datenstruktur beinhalten, die Inhaltsgruppen, Inhaltselementdatenobjekte und Inhaltsauswahlkriterien beinhaltet. Zur Erstellung einer Inhaltskampagne kann der Inhaltsanbieter 125 spezifische Werte für Inhaltskampagnenparameter auf der Kampagnenebene festlegen. Die Parameter auf der Kampagnenebene können zum Beispiel beinhalten: einen Kampagnennamen, ein bevorzugtes Inhaltsnetzwerk für die Platzierung von Inhaltselementobjekten, ein Budget für die Inhaltskampagne, eine Angebotssumme für Inhaltselementobjekte, Start- und Enddaten für die Inhaltskampagne, eine Dauer der Inhaltskampagne, einen Zeitplan für die Platzierung von Inhaltselementobjekten, Sprache, geografischer Standorte und die Art von Computergeräten, auf denen Inhaltselementobjekte bereitgestellt werden sollen. Andere Parameter auf der Kampagnenebene können zum Beispiel ein Zahlungsverfahren wie Cost-per-Click (CPC), Cost per Thousand Impressions (CPM), Cost-per-Action (CPA), Cost-per-Conversion oder Cost per Thousand Conversions beinhalten. In einigen Fällen kann sich ein Aufruf darauf beziehen, dass ein Inhaltselementobjekt von seiner Quelle (z. B. Datenverarbeitungssystem 120 oder Inhaltsanbieter 125) abgerufen wird, und ist zählbar. In einigen Fällen lassen sich angesichts der Möglichkeit von betrügerischen Klicks robotische Aktivitäten filtern und als Aufruf ausschließen. So kann sich ein Aufruf in manchen Fällen auf eine Messung von Antworten von einem Webserver hinsichtlich einer Seitenabfrage durch einen Browser beziehen, der auf dem Computergerät 110 ausgeführt wird (beseitigt um robotische Aktivitäten und Fehlercode), und wird so nah wie möglich an der Gelegenheit erfasst, wenn sich das Inhaltselementobjekt zur Anzeige auf dem Computergerät 110 rendern lässt. In einigen Fällen kann sich ein Aufruf auf einen sichtbaren Aufruf beziehen; das bedeutet, dass das Inhaltselementobjekt auf einem Anzeigegerät des Client-Computergeräts 110 zumindest teilweise sichtbar ist (z. B. 20 %, 30 %, 30 %, 40 %, 50 %, 60 %, 70 % oder mehr). Ein Klick oder eine Auswahl kann sich auf eine Benutzerinteraktion mit dem Inhaltselementobjekt beziehen, zum Beispiel auf einen Mausklick, eine Touch-Interaktion, eine Geste, ein Schütteln, eine Audiointeraktion oder einen Tastaturklick. Eine Konvertierung kann sich auf einen Benutzer beziehen, der hinsichtlich des Inhaltselementobjekts eine gewünschte Aktion ausgeführt hat (z. B. Kauf eines Produkts oder Service, Teilnahme an einer Umfrage, Besuch eines physischen Geschäfts, das mit dem Inhaltselement verbunden ist, oder Abschluss einer elektronischen Transaktion).
  • Der Inhaltsanbieter 125 kann außerdem eine oder mehrere Inhaltsgruppen für eine Inhaltskampagne festlegen. Eine Inhaltsgruppe beinhaltet ein oder mehrere Inhaltselementobjekte sowie entsprechende Inhaltsauswahlkriterien wie Schlüsselwörter, Wörter, Begriffe, Phrasen, geografische Standorte, Art von Computergerät, Mobile-App-Kategorie, Site des Herausgebers, Uhrzeit, Interesse, Thema oder Branche. Inhaltsgruppen unterhalb der gleichen Inhaltskampagne können die gleichen Parameter auf der Kampagnenebene aufweisen, jedoch über individuelle Spezifikationen für bestimmte Parameter auf der Inhaltsgruppenebene verfügen; dazu zählen Schlüsselwörter, negative Schlüsselwörter (die z. B. eine Platzierung des Inhaltselements bei Anwesenheit des negativen Schlüsselworts im Hauptinhalt blockieren), Angebote für Schlüsselwörter, Budgets, geografische Standorte, Sprache, Kategorien mobiler Apps, Zielgruppen und Platzierungen von Herausgebern.
  • Zur Erstellung einer neuen Inhaltsgruppe kann der Inhaltsanbieter Werte für Parameter auf der Inhaltsgruppenebene der Inhaltsgruppe bereitstellen. Die Parameter auf der Inhaltsgruppenebene beinhalten zum Beispiel einen Inhaltsgruppennamen oder ein Inhaltsgruppenthema sowie Angebote für verschiedene Inhaltsplatzierungsmöglichkeiten (z. B. automatische Platzierung oder verwaltete Platzierung) oder Ergebnisse (z. B. Klicks, Aufrufe oder Konvertierungen). Ein Inhaltsgruppenname oder Inhaltsgruppenthema kann aus einem oder mehreren Begriffen bestehen, die der Inhaltsanbieter 125 verwenden kann, um ein Thema oder einen Gegenstand zu erfassen, für das/den Inhaltselementobjekte der Inhaltsgruppe zur Anzeige ausgewählt werden sollen. Ein Entwickler von Reiseanwendungen zum Beispiel kann für jede Art von Reiseanwendung oder selbst entwickelte Anwendungsfunktion eine eigene Inhaltsgruppe erstellen. Beispiele für Inhaltsgruppenthemen, die der Entwickler der Reiseanwendung verwenden kann, beinhalten unter anderem „Flüge“, „Hotels“, „Bahn“, „Mietwagen“, „günstige Flüge“, „Strandurlaub“ oder „All-Inclusive-Reisen“. Ein exemplarisches Inhaltskampagnenthema kann zum Beispiel „Strandurlaub“ sein und z. B. Inhaltsgruppen für sowohl „Flüge“ als auch „Hotels“ beinhalten.
  • Der Anwendungsentwickler 125 oder Inhaltsanbieter 125 kann übergeordnete Ziele bzw. ein oder mehrere Schlüsselwörter und Inhaltselementobjekte für jede Inhaltsgruppe bereitstellen. Ziele können das „Optimieren des Volumens dieser spezifischen anwendungsinternen Ereignisse“ oder das „Optimieren der Rentabilität dieser spezifischen anwendungsinternen Ereignisse“ beinhalten. Schlüsselwörter können Begriffe beinhalten, die für das Produkt oder den Service relevant sind, das oder der mit dem Inhaltselementobjekt verknüpft oder von diesem identifiziert wird. Ein Schlüsselwort kann eine/n oder mehrere Begriffe bzw. Phrasen beinhalten. Der Entwickler der Reiseanwendung kann als Schlüsselwörter für eine Inhaltsgruppe oder Inhaltskampagne zum Beispiel „Strand“, „Hotel“, „Familie“ und „tropisch“ einschließen. In einigen Fällen können vom Inhaltsanbieter negative Schlüsselwörter angegeben werden, um eine Platzierung von Inhalten in bestimmten Webseiten mit Suchergebnissen oder Inhaltswebseiten, die mit diesen negativen Schlüsselwörtern übereinstimmen, zu vermeiden, zu verhindern, zu blockieren oder zu deaktivieren. Der Inhaltsanbieter kann einen Typ der Übereinstimmung festlegen (z. B. genaue Übereinstimmung, Phrasenübereinstimmung oder allgemeine Übereinstimmung), die zur Auswahl von Inhaltselementobjekten verwendet wird.
  • Der Inhaltsanbieter 125 kann dem Datenverarbeitungssystem 120 ein oder mehrere Inhaltselementobjekte zur Auswahl bereitstellen. Das Datenverarbeitungssystem 120 kann die Inhaltselementobjekte auswählen (z. B. via Inhaltsauswahlkomponente 145), wenn sich eine Gelegenheit zur Platzierung eines Inhalts ergibt, der zum Budget, zum Inhaltsplan, zu den maximalen Angeboten, Schlüsselwörtern und anderen für die Inhaltsgruppe festgelegten Auswahlkriterien passt. In einer Inhaltsgruppe können verschiedene Arten von Inhaltselementobjekten enthalten sein, z. B. ein Textinhaltselement, Videoinhaltselement, Audioinhaltselement, Multimediainhaltselement, Anrufinhaltselement oder Inhaltselementlink. Das Inhaltselementobjekt kann einen Link oder Befehl beinhalten, der das Computergerät dazu veranlasst, die Anwendung des Anwendungsentwicklers 125 herunterzuladen, zu installieren oder aufzurufen. Das Inhaltselementobjekt kann zum Beispiel einen Link zu einem Online-Marktplatzanbieter 175 beinhalten. Der Link kann das Computergerät dazu veranlassen, die Anwendung über den Online-Marktplatz 175 aufzurufen und die Anwendung herunterzuladen.
  • Das Datenverarbeitungssystem 120 kann eine Inhaltsauswahlkomponente 145 beinhalten, die so eingerichtet, gestaltet, konfiguriert oder funktionsfähig ist, dass sich Inhaltselementobjekte auswählen lassen. Zur Auswahl von Inhaltselementen zur Anzeige in einer Textumgebung kann das Datenverarbeitungssystem 120 beispielsweise den Text analysieren, um Schlüsselwörter zu ermitteln, und die Schlüsselwörter verwenden, um auf Basis einer allgemeinen Übereinstimmung, genauen Übereinstimmung oder Phrasenübereinstimmung ein passendes Inhaltselement auszuwählen. Zum Beispiel kann die Inhaltsauswahlkomponente 145 Themen von Inhaltselementkandidaten analysieren, untersuchen oder anderweitig verarbeiten, um zu ermitteln, ob das Thema der Inhaltselementkandidaten mit dem Thema der Textinformationsressource übereinstimmt. Die Inhaltsauswahlkomponente 145 kann mit einem Bildverarbeitungsverfahren, einem Zeichenerkennungsverfahren oder einer Datenbankabfrage Begriffe, Zeichen, Text, Symbole oder Bilder der Inhaltselementkandidaten identifizieren, analysieren oder erkennen. Die Inhaltselementkandidaten können Metadaten beinhalten, die Auskunft über das Thema der Inhaltselementkandidaten geben; in diesem Fall kann die Inhaltsauswahlkomponente 145 die Metadaten verarbeiten, um zu ermitteln, ob das Thema des Inhaltselementkandidaten mit der Webseite oder Sucheingabe übereinstimmt.
  • Inhaltsanbieter 125 können bei der Einrichtung einer Inhaltskampagne, die Inhaltselemente beinhaltet, zusätzliche Indikatoren bereitstellen. Der Inhaltsanbieter kann Informationen auf jener Inhaltskampagnen- oder Inhaltsgruppenebene bereitstellen, die die Inhaltsauswahlkomponente 145 möglicherweise ermittelt, indem sie unter Verwendung von Informationen über den Inhaltselementkandidaten eine Abfrage ausführt. Der Inhaltselementkandidat kann zum Beispiel eine eindeutige Kennung beinhalten, die einer Inhaltsgruppe, einer Inhaltskampagne oder einem Inhaltsanbieter zugeordnet sein kann. Die Inhaltsauswahlkomponente 145 kann auf Basis der in der Datenstruktur der Inhaltskampagne in Datenpool 150 gespeicherten Daten Informationen über den Inhaltsanbieter 125 ermitteln.
  • Das Datenverarbeitungssystem 120 kann über ein Computernetzwerk eine Anfrage nach Inhalt empfangen, der auf einem Computergerät 110 angezeigt werden soll. Die Anfrage kann Auswahlkriterien der Anfrage beinhalten, zum Beispiel den Gerätetyp, Standort und ein mit der Anforderung verknüpftes Schlüsselwort. Das Schlüsselwort kann mit der Webseite, auf der der Inhalt angezeigt werden soll, der Eingabe einer Sucheingabe durch den Benutzer des Computergeräts oder anderen Informationen verknüpft werden, die mit der Anfrage oder dem Computergerät verbunden sind.
  • In Reaktion auf die Anfrage kann das Datenverarbeitungssystem 120 ein Inhaltselementobjekt aus Datenpool 150 auswählen und das Inhaltselement über Netzwerk 105 zum Rendern auf dem Computergerät 110 bereitstellen. Das Computergerät 110 kann mit dem Inhaltselementobjekt interagieren. Das Computergerät 110 kann einen Hyperlink oder eine andere Schaltfläche im Inhaltselementobjekt auswählen, der bzw. die das Computergerät 110 dazu veranlasst oder in die Lage versetzt, eine Anwendung zu ermitteln, die Anwendung herunterzuladen und die Anwendung auf dem Computergerät 110 zu installieren.
  • Das Datenverarbeitungssystem kann eine Zuordnungskomponente 135 beinhalten, die so gestaltet, eingerichtet, konfiguriert und funktionsfähig ist, dass sie eine Anwendungsinstallation bzw. ein anwendungsinternes Ereignis einem Inhaltselementaufruf zuordnet. Die Zuordnungskomponente 135 kann mit der Inhaltsauswahlkomponente 145 interagieren oder kommunizieren, um einen Inhaltselementaufruf 145 zu identifizieren, der mit dem Computergerät 110 verbunden ist, auf dem Anwendung 180 installiert ist. Wenn die Inhaltsauswahlkomponente 145 das Inhaltselement zum Beispiel zur Anzeige auf dem Computergerät 110 bereitstellt, kann die Inhaltsauswahlkomponente 145 ein Aufrufprotokoll oder Inhaltsdaten 170 speichern. Die Inhaltsdaten 170 können einen Datensatz des Aufrufs beinhalten, zum Beispiel eine Kennung des Inhaltselements, eine mit dem Computergerät verbundene Kennung, einen Zeitstempel für den Aufruf oder den geografischen Standort des Computergeräts zum Zeitpunkt des Aufrufs. Die Zuordnungskomponente 135 kann ferner das Computergerät ermitteln, das die Anwendung heruntergeladen und installiert (bzw. anderweitig aufgerufen) hat. Zum Beispiel kann das Datenverarbeitungssystem 120 den Online-Marktplatz beinhalten und die Anwendung auf dem Computergerät 110 bereitstellen. Wenn das Datenverarbeitungssystem 120 sowohl das Inhaltselement als auch die Anwendung bereitgestellt hat, kann das Datenverarbeitungssystem 120 die gleiche Kennung für das Computergerät 110 nutzen, oder das Datenverarbeitungssystem 120 kann eine Index- oder Hash-Funktion pflegen, die eine erste Kennung des Computergeräts, das zur Bereitstellung des Inhaltselements verwendet wird, einer zweiten Kennung des Computergeräts, das zur Bereitstellung der Anwendung dient, zuordnet.
  • In einigen Fällen kann das Datenverarbeitungssystem 120 die Anwendungsinstallationsdaten vom Online-Marktplatzanbieter 175 bzw. Anwendungsentwickler 125 erhalten. Wenn das Datenverarbeitungssystem 120 die Anwendungsinstallationsdaten von einer anderen Entität (zum Beispiel dem Anwendungsentwickler 125 oder Online-Marktplatzanbieter 175) erhält, kann das Datenverarbeitungssystem 120 die Installation mit dem Inhaltselement korrelieren. Die Anwendungsinstallationsdaten können zum Beispiel einen Zeitstempel für die Anfrage nach der Installation der Anwendung, mit der Anfrage zur Installation der Anwendung verknüpfte Metadaten (zum Beispiel Quelle der Installationsanforderung, die ein Inhaltselementobjekt oder eine organische Suche nach der Anwendung beinhalten kann), einen geografischen Standort des Computergeräts vom Zeitpunkt der Anfrage oder eine Sprache beinhalten. Das Datenverarbeitungssystem 120 kann den Zeitstempel der Anfrage zum Herunterladen der Anwendung verwenden, um für die Anwendung Inhaltselementaufrufe zu ermitteln, die in einem vordefinierten Zeitfenster der Anfrage aufgetreten sind (zum Beispiel innerhalb von 1 Minute, 5 Minuten, 30 Minuten, 1 Stunde, 2 Stunden oder mehr). Für den Fall, dass das Datenverarbeitungssystem 120 mehrere Inhaltselementaufrufe ermittelt, kann das Datenverarbeitungssystem die Inhaltselementaufrufe auf Basis des geografischen Standorts des Computergeräts 110 zum Zeitpunkt des Inhaltselementaufrufs weiter filtern und fordern, dass die Anwendung heruntergeladen wird, und es kann die Sprache filtern, um den Inhaltselementaufruf zu ermitteln, der mit dem Anwendungsdownload übereinstimmt. In einigen Fällen kann das Datenverarbeitungssystem 120 die Kennung des Computergeräts einem gemeinsamen Identifikationsschema zuweisen bzw. eine gemeinsame Kennung kann vom Datenverarbeitungssystem 120 sowohl für die Inhaltsauswahl als auch die Anwendungsauslieferung verwendet werden.
  • Nach der Zuweisung des Inhaltselementaufrufs zum Anwendungsdownload kann die Zuordnungskomponente 135 die Kennung des Computergeräts zuordnen. Wenn vom Computergerät 110 für die Anwendung 180 nachfolgend anwendungsinterne Informationen empfangen werden, kann das Datenverarbeitungssystem 120 diese Informationen dem gleichen Inhaltselementaufruf in einer Datenstruktur zuweisen, die wie folgt aussieht: {application_ID, impression_ID, application_event_ID}.
  • Das Datenverarbeitungssystem 120 kann eine Landschaftserzeugungskomponente 140 beinhalten, die so konzipiert und eingerichtet ist, dass sie Signale und Eingabewerte empfängt und auf Basis der empfangenen Signale und Eingabewerte Performancewerte vorhersagt. Die Landschaftserzeugungskomponente 140 kann die Performance einer Anwendung vorhersagen. Performance kann sich auf eine Zahl von Installationen der Anwendung beziehen, die einem Inhaltselementobjekt für die Anwendung zugewiesen ist, die auf Computergeräten 110 gerendert wird. Performance kann sich auf ein gewünschtes anwendungsinternes Ereignis beziehen, das dem Inhaltselementobjekt zugeordnet sein kann oder nicht.
  • Die Landschaftserzeugungskomponente 140 kann eine Zahl von Installationen der Anwendung vorhersagen. Die Zahl von Installationen kann sich auf die Zahl der verschiedenen Computergeräte 110 beziehen, die die Anwendung herunterladen und installieren. In einigen Fällen kann die Landschaftserzeugungskomponente 140 eine Zahl von Downloads der Anwendung sowie eine Zahl von Installationen der Anwendung vorhersagen, wobei sich die Zahl der Downloads von der Zahl der Installationen unterscheiden kann. Die Zahl der Downloads kann größer sein als die Zahl der Installationen, wenn einige der Computergeräte 110, die die Anwendung heruntergeladen, die Anwendung nicht installiert haben oder daran gehindert wurden, die Anwendung zu installieren, oder die Anwendung nicht installieren konnten. Ein Computergerät 110 kann beim Versuch, die Anwendung zu installieren, zum Beispiel einen Fehler erhalten, wenn das Computergerät 110 nicht richtig konfiguriert ist, um die Anwendung zu installieren, oder der Benutzer, der die Anwendung installiert, nicht über die erforderliche Berechtigung zum Installieren der Anwendung verfügt oder das Computergerät 110 während der Installation bzw. vor Beginn der Installation seine Internet- oder Drahtlosverbindung verliert. In einigen Fällen kann die Zahl der Installationen höher sein als die Zahl der Downloads. Ein bestimmtes Computergerät kann die Anwendung zum Beispiel vom Datenverarbeitungssystem 120 oder Online-Marktplatz 175 herunterladen und die heruntergeladene Datei anschließend mit anderen Computergeräten 110 teilen, damit diese anderen Computergeräte 110 die Anwendung installieren können, ohne die Anwendung vom Datenverarbeitungssystem 120 oder Online-Marktplatz 175 herunterladen zu müssen.
  • Das Datenverarbeitungssystem 120 kann Informationen empfangen, die dazu dienen, die Performance einer Inhaltskampagne für eine Anwendung vorherzusagen. Der Inhaltsanbieter 125 kann dem Datenverarbeitungssystem 120 einen Hinweis zu einer Ereignisart liefern. Das Datenverarbeitungssystem 120 kann dann eine Häufigkeit des Auftretens des Ereignisses vorhersagen. Zum Beispiel kann das Datenverarbeitungssystem 120 einen Hinweis zu den folgenden Ereignisarten empfangen, um Anwendungsdownloads, Anwendungsinstallationen, Anwendungseinrichtungen oder anwendungsinterne Ereignisse zu optimieren. Der Inhaltsanbieter 125 oder Anwendungsentwickler 125 kann den Hinweis zu dieser Ereignisart bei der Einrichtung der Inhaltskampagne oder Verwaltung der Inhaltskampagne bereitstellen.
  • Das Datenverarbeitungssystem 120 kann einen oder mehrere Eingabewerte empfangen. Der Eingabewert kann einen Abstimmungsparameter beinhalten, der von der Inhaltsauswahlkomponente 145 verwendet wird, um Inhaltselemente des Inhaltsanbieters 125 zum Rendern auf Computergeräten 110 auszuwählen. Der Abstimmungsparameter lässt sich in einer Online-Auktion verwenden. Die Online-Auktion kann eine echtzeitbasierte Auktion beinhalten. Eine echtzeitbasierte Auktion kann sich auf eine Auktion beziehen, die ausgeführt wird, nachdem das Datenverarbeitungssystem 120 eine Inhaltsanfrage für das Computergerät 110 erhält. Das Datenverarbeitungssystem 120 kann die echtzeitbasierte Auktion nutzen, um einen oder mehrere Inhaltselementkandidaten zu ermitteln. Das Datenverarbeitungssystem 120 kann auf Basis eines oder mehrerer in der Auktion erzeugter Punktwerte (z. B. Relevanzwert, Inhaltselementwert, Qualitätswert oder Angebotssumme) einen Inhaltselementkandidaten auswählen. Zum Beispiel kann das Datenverarbeitungssystem 120 die Angebotssumme mit einem Qualitätswert kombinieren, um einen Inhaltselementpunktwert zu erzeugen, und das Inhaltselementobjekt auswählen, das den höchsten Inhaltselementpunktwert aufweist. So kann der Inhaltsanbieter 125 die Angebotssumme erhöhen oder verringern, um die Zahl zu erhöhen oder zu verringern, mit der das Inhaltselementobjekt des Inhaltsanbieters 125 basierend auf den Ergebnissen der Online-Auktion ausgewählt wird.
  • Das Datenverarbeitungssystem 120 kann Eingabewerte wie eine Angebotssumme, eine maximale Angebotssumme, eine minimale Angebotssumme, ein Budget oder eine Investitionsrendite für die Inhaltskampagne erhalten. Das Datenverarbeitungssystem 120 kann den oder die Eingabewerte zur Ermittlung einer Performance verwenden. Wenn die Angebotssumme zum Beispiel 2 $ und das Budget 100 $ am Tag betragen, kann das Datenverarbeitungssystem ermitteln, dass die Inhaltselementobjekte der Inhaltskampagne 50-mal ausgewählt werden könnten, bevor das Budget leer ist. Der Inhaltsanbieter 125 kann sich dazu entscheiden, das Budget zu erhöhen oder die maximale Angebotssumme zu verringern, um die Zahl der Aufrufe zu erhöhen.
  • Zur weiteren Vorhersage der Performance kann das Datenverarbeitungssystem 120 zusätzliche Informationen erhalten. Das Datenverarbeitungssystem 120 kann die Informationen von einer Komponente des Datenverarbeitungssystems 120, dem Online-Marktplatz 175 oder Computergerät 110 empfangen. Das Datenverarbeitungssystem 120 kann interne Daten abrufen, die das Datenverarbeitungssystem 120 erhalten oder ermittelt hat. Interne Daten können Daten bezeichnen oder beinhalten, die vom Datenverarbeitungssystem 120 direkt ermittelt wurden, oder Daten, auf die das Datenverarbeitungssystem 120 zugreifen kann, oder Daten, die im Datenpool 150 gespeichert sind. Interne Daten können zum Beispiel eine Art von Anwendung, die das Datenverarbeitungssystem 120 dem Computergerät 110 bereitstellt, eine Sprache der Anwendung, einen geografischen Standort des Computergeräts 110, den das Datenverarbeitungssystem mithilfe erhaltener Standortdaten ermittelt hat, eine Konfiguration der Anwendung (z. B. wurde die Anwendung mit einem Finanzinstitut verknüpft, um eine finanzielle Transaktion zu ermöglichen) oder mit dem Inhaltsaufruf verbundene Informationen beinhalten.
  • Das Datenverarbeitungssystem 120 kann Daten über Signale oder „Pings“ von einer Anwendung erhalten, die auf Computergeräten 110 ausgeführt wird. Das Datenverarbeitungssystem 120 kann die Signale über eine Schnittstelle von einer Anwendung erhalten, die der Anwendungsentwickler 125 entwickelt hat. Das Datenverarbeitungssystem 120 kann die Informationen von einem Computergerät 110, auf dem die Anwendung 180 ausgeführt wird, erhalten, wobei das Computergerät 110 nicht Teil des Datenverarbeitungssystems 120 ist (z. B. via Netzwerk 105 mit dem Datenverarbeitungssystem 120 kommuniziert). Das Datenverarbeitungssystem 120 kann zum Beispiel einen Ping empfangen, der Auskunft über das Auftreten eines anwendungsinternen Ereignisses auf dem Computergerät gibt. Das anwendungsinterne Ereignis kann sich auf eine gewünschte Aktion beziehen, die hinsichtlich der Anwendung, einer Abfrage, eines Levels oder eines Werts eintritt, wenn die Anwendung eine Art von Spiel, eine Transaktion oder andere Aktion bzw. ein Ereignis ist, das bzw. die vom Anwendungsentwickler 125 so konfiguriert ist, dass es bzw. sie einen Ping auslöst. Das Ereignis kann mit einem Wert verknüpft sein; das Buchen eines Flugs nach Paris kann zum Beispiel einem Wert von 300 $ entsprechen, während die Buchung eines Mietwagens mit der Anwendung einem Wert von 50 $ entsprechen kann.
  • Das Datenverarbeitungssystem 120 kann dem Anwendungsentwickler 125 ein Software Development Kit bereitstellen. Der Anwendungsentwickler 125 kann das Software Development Kit verwenden, um die Anwendung so zu konfigurieren, dass in Reaktion auf einen Auslöser oder das Eintreten des Ereignisses für vordefinierte anwendungsinterne Ereignisse Pings übertragen werden. Zum Beispiel kann die Anwendung 180 einen Ping in Reaktion darauf übermitteln, dass ein Benutzer eine Abfrage zu „Flügen nach Paris“ eingibt. Die Anwendung 180 kann so konfiguriert sein, dass sie in die Anwendung 180 (z. B. über ein Texteingabefeld oder Audioeingabe, Tastatur bzw. Maus) eingegebene Abfrage analysiert, ermittelt, ob die Abfrage oder deren Bedingungen mit einer gewünschten Abfrage übereinstimmen, oder einen Ping übertragt, der auf ein Auftreten der Kennung des anwendungsinternen Ereignisses, die der Abfrage entspricht, hinweist.
  • Das Datenverarbeitungssystem 120 kann die internen Daten mit den Daten aus den Pings zusammenführen, um einen zusammengeführten Datensatz zu erzeugen. Die internen Daten und Pingdaten können zum Beispiel verschiedene Signale beinhalten. Das Datenverarbeitungssystem 120 kann die Signale der Kennung eines Inhaltselementaufrufs bzw. eines Computergeräts 110 zuweisen. Das Datenverarbeitungssystem 120 kann die internen Daten und Pingdaten in einer Datenstruktur zusammenführen, die mit einer gemeinsamen Kennung eines Inhaltsaufrufs oder Computergeräts 110 verbunden ist.
  • In manchen Fällen erhält das Datenverarbeitungssystem 120 Pings von verschiedenen Anwendungen, die von einem oder mehreren Computergeräten ausgeführt werden. Das Datenverarbeitungssystem 120 kann die Pings auf Basis der Art der Anwendungen oder einer anderen mit den Anwendungen verknüpften Eigenschaft kategorisieren. Das Datenverarbeitungssystem 120 kann die Anwendungen zum Beispiel in folgende Kategorien aufteilen: Unterhaltung, Nachrichten, Reisen, Spiele, Produktivität, Dienstprogramm, Musik oder Video. Das Datenverarbeitungssystem 120 kann Anwendungen auf Basis anderer Eigenschaften wie Sprache, Standort oder Betriebssystem weiter kategorisieren oder gruppieren. Das Datenverarbeitungssystem 120 kann diese Kategorien verwenden, um ähnliche Anwendungen zu ermitteln.
  • Das Datenverarbeitungssystem 120 kann Daten aus den verschiedenen Pings mit vom Datenverarbeitungssystem ermittelten, internen Daten zusammenführen, um einen zusammengeführten Datensatz zu erzeugen. Das Datenverarbeitungssystem 120 kann die verschiedenen Pings auch dann zusammenführen, wenn sie zu verschiedenen Anwendungen gehören, da das Datenverarbeitungssystem 120 ermitteln kann, dass die verschiedenen Anwendungen ähnlich sind, da sie der gleichen Kategorie angehören bzw. eine oder mehrere Eigenschaften gemein haben.
  • Das Datenverarbeitungssystem 120 kann auf Basis des zusammengeführten Datensatzes sowie des ersten Eingabewerts eine prognostizierte Performance für das anwendungsinterne Ereignis oder eine Zahl von Installationen der Anwendung ermitteln. Das Datenverarbeitungssystem 120 kann die prognostizierte Performance mit einem Verfahren für maschinelles Lernen ermitteln. Das Verfahren für maschinelles Lernen kann z. B. ein Regressionsmodell, ein multivariates Poisson-Regressionsmodell oder ein multivariates Poisson-Regressionsmodell mit Regularisationen beinhalten.
  • Das Datenverarbeitungssystem 120 kann das Verfahren für maschinelles Lernen nutzen, um vorherzusagen, welche der Signale in den zusammengeführten Daten mit einem gewünschten Ereignis verbunden sind (z. B. einem anwendungsinternen Ereignis oder einer Anwendungsinstallation). Das Datenverarbeitungssystem 120 kann das Verfahren für maschinelles Lernen nutzen, um für jedes der Signale oder eine Kombination von Signalen einen Punktwert auszugeben. Das Datenverarbeitungssystem 120 kann die Signale oder Kombination von Signalen auf Basis ihrer Punktwerte einordnen, um die Signale oder Kombination von Signalen mit den höchsten Punktwerten zu ermitteln. Zum Beispiel kann ein Signal mit hohem Punktwert hinsichtlich einer Reiseanwendung, bei der das gewünschte Ereignis der Kauf eines Flugtickets nach Paris ist, aus der Eingabe einer Sucheingabe mit Begriffen wie „Flüge nach Paris“, „Flüge nach Paris dieses Wochenende“, „Eiffelturm besuchen“ oder „Sehenswürdigkeiten in Europa“ bestehen.
  • Das Datenverarbeitungssystem 120 kann zusätzliche Signale ermitteln, die auf eine Wahrscheinlichkeit eines Auftretens des gewünschten Ereignisses hinweisen. Zum Beispiel kann das Datenverarbeitungssystem 120 mit dem Verfahren für maschinelles Lernen ermitteln, dass ein Signal, das der Konfiguration der Reiseanwendungskarte mit einem Finanzkonto (z. B. einer Kreditkartennummer, einem Girokonto oder einem anderen Finanzinstrument) entspricht, auf eine höhere Wahrscheinlichkeit verweist, dass der Benutzer einen Flug nach Paris buchen wird – und das im Vergleich zu Reiseanwendungen, die nicht mit einem Finanzkonto konfiguriert sind. Auf ähnliche Weise kann das Datenverarbeitungssystem 120 ermitteln, ob ein Benutzer, der zuvor Artikel in einer Spielanwendung gekauft hat, in Zukunft wahrscheinlich Artikel in Spielanwendungen kaufen wird.
  • Das Datenverarbeitungssystem 120 kann mithilfe der zusammengeführten Daten auf Basis eines Eingabewerts die Performance einer Inhaltskampagne für eine Anwendung vorhersagen. In einigen Fällen kann das Datenverarbeitungssystem 120 die Performance der Inhaltskampagne für die Anwendung ohne Einsatz von Pingdaten aus der Anwendung vorhersagen. Das Datenverarbeitungssystem 120 kann zum Beispiel andere Anwendungen ermitteln, die der Anwendung ähneln, für die die Inhaltskampagne eingerichtet oder verwaltet wurde, und mithilfe der Pingdaten, die mit den ähnlichen Anwendungen verbunden sind, die Performance der Anwendung vorhersagen. So kann das Datenverarbeitungssystem 120 die zusammengeführten Daten mit internen Daten, Pingdaten der Anwendung und/oder Pingdaten ähnlicher Anwendungen erzeugen.
  • Das Datenverarbeitungssystem 120 kann das Verfahren für maschinelles Lernen verwenden, um in den zusammengeführten Daten Punktwerte für Signale zu erzeugen. In einigen Fällen kann das Datenverarbeitungssystem 120 eine Poisson-Regression mit Regularisationen nutzen. Eine Poisson-Regression kann sich auf eine Regressionsanalyse beziehen, bei der Zähldaten und Kontingenztabellen modelliert werden. Bei Verwendung der Poisson-Regression kann das Datenverarbeitungssystem ermitteln, ob eine Antwortvariable Y (z. B. ein gewünschtes Anwendungsereignis) eine Poisson-Verteilung aufweist, und zudem ermitteln, ob sich ein Logarithmus des erwarteten Werts von einer linearen Kombination unbekannter Parameter (z. B. Signale der zusammengeführten Daten) modellieren lässt. In einigen Fällen kann das Datenverarbeitungssystem 120 eine negative binomische Regression nutzen, um die Poisson-Regression zu generalisieren.
  • In der Poisson-Regression kann die abhängige Variable eine Zahl sein (z. B. eine Zahl von Anwendungsereignissen). Die Ereignisse können unabhängig voneinander sein, da das Auftreten eines Ereignisses auf einem Computergerät 110 unabhängig vom Auftreten des Ereignisses auf einem anderen Computergerät 110 ist (d. h. die Wahrscheinlichkeit des Auftretens erhöht oder reduziert sich nicht).
  • In einigen Fällen kann das Datenverarbeitungssystem 120 eine regularisierte Poisson-Regression nutzen, um einen Wert für θ zu ermitteln, der die Wahrscheinlichkeit eines Ausdrucks der folgenden Form maximiert:
    Figure DE102017201173A1_0002
    wobei m die Zahl von Beispielen im zusammengeführten Datensatz und p(yi; eθ'x) die Wahrscheinlichkeitsfunktion der Poisson-Verteilung ist und der Mittelwert eθ'x beträgt. Regularisierung lässt sich diesem Optimierungsproblem hinzufügen durch Maximierung:
    Figure DE102017201173A1_0003
    für eine positive Konstante λ.
  • Nach Ermittlung der Signale, die mit dem gewünschten Ereignis verbunden sind, kann das Datenverarbeitungssystem 120 in Echtzeit eine Zahl von Computergeräten 120 ermitteln, die mit den Signalen, welche die höchsten Punktwerte aufweisen, verknüpft sind. Das Datenverarbeitungssystem 120 kann zum Beispiel ermitteln, dass die Signale mit den höchsten Punktwerten für das Buchen eines Flugs nach Paris sind: eine Sucheingabe zu „Flug nach Paris“ in der Anwendung; eine mit Kreditkarte konfigurierte Anwendung; die Anwendungssprache ist Französisch; und der Standort des Computergeräts, auf dem die Anwendung ausgeführt wird, ist Montreal (Kanada). Das Datenverarbeitungssystem 120 kann in Echtzeit die Zahl von Computergeräten 110 ermitteln, die mit diesen Signalen verknüpft sind. Zum Beispiel kann das Datenverarbeitungssystem 120 auf Basis von Pingdaten, die es von den Computergeräten 110 erhalten hat, sowie von internen Daten, die im Datenverarbeitungssystem 120 für diese Computergeräte 110 gespeichert sind, ermitteln, dass es 1.000 Computergeräte 110 gibt, die mit diesen Signalen übereinstimmen.
  • In einigen Fällen kann das Datenverarbeitungssystem 120 die prognostizierte Performance auf Basis einer zweiten prognostizierten Performance einer Vielzahl von Anwendungen kalibrieren, um die prognostizierte Performance zu ermitteln. Die Vielzahl von Anwendungen kann der Anwendung ähneln, weil sie die gleiche Kategorie (z. B. Reiseanwendungen), Sprache, Betriebssystem oder Standort aufweist. Das Datenverarbeitungssystem 120 kann zur Vorhersage der Performance einen zusammengeführten Datensatz verwenden. Das Datenverarbeitungssystem 120 kann die anfänglich prognostizierte Performance auf Basis einer prognostizierten Performance zur Nutzung der ähnlichen Anwendungen anpassen. Wenn eine Anwendung neu oder relativ neu ist, kann es zum Beispiel sein, dass es für die ähnlichen Anwendungen mehr historische Daten gibt. So kann das Datenverarbeitungssystem 120 die zusätzlichen historischen Pingdaten, die es für ähnliche Anwendungen erhalten hat, verwenden, um eine optimierte oder genauere prognostizierte Performance zu erzeugen und die optimierte prognostizierte Performance dem Inhaltsanbieter 125 bereitzustellen.
  • So kann das Datenverarbeitungssystem 120 für den Inhaltsanbieter 125 eine Bereitstellung von Inhaltselementen ermöglichen, die auf den Computergeräten 110, welche ein oder mehrere Signale mit den höchsten Punktwerten aufweisen, gerendert werden sollen. Der Inhaltsanbieter 125 kann einen Eingabewert (wie z. B. eine Angebotssumme oder ein Budget) anpassen und einen Hinweis zum Bereitstellen der Inhaltselemente auf Computergeräten liefern, die das oder die Signale mit den höchsten Punktwerten aufweisen. Das Datenverarbeitungssystem 120 kann eine Schätzung oder Prognose zur Zahl von Anwendungsinstallationen oder anwendungsinternen Ereignissen abgeben, die aus dem Eingabewert entstehen könnten. Der Inhaltsanbieter 125 kann ermitteln, ob er den Eingabewert anpassen sollte, um die prognostizierte Zahl von Anwendungsinstallationen oder anwendungsinternen Ereignissen zu erhöhen oder zu verringern. Zum Beispiel kann der Inhaltsanbieter 125 ermitteln, dass diese Woche auf Flügen von Montreal nach Paris nur noch 50 Plätze verfügbar sind, sodass sich der Inhaltsanbieter 125 entscheiden kann, das Budget zu reduzieren, um die Zahl der Aufrufe zu verringern, da der Inhaltsanbieter 125 möglicherweise nicht mehr über ein ausreichendes Fluginventar verfügt. In einigen Fällen kann sich der Inhaltsanbieter 125 entscheiden, das Budget oder die Angebotssumme zu erhöhen, sollte die prognostizierte Performance unter einem Schwellenwert liegen (z. B. wenn die prognostizierte Zahl von anwendungsinternen Ereignissen geringer ist als das aktuelle Inventar). In einigen Fällen kann die prognostizierte Performance den Erwartungen des Inhaltsanbieters 125 entsprechen, sodass der Inhaltsanbieter den Eingabewert nicht ändert. Das Datenverarbeitungssystem 120 kann je nach Wert der prognostizierten Performance das Anwendungsinhaltsübergabeprofil der Inhaltskampagne für die Anwendung mit dem gleichen oder angepassten Eingabewert konfigurieren (z. B. durch Erhöhung oder Verringerung der Angebotssumme oder des Budgets).
  • 2 ist ein Ablaufdiagramm 200, in dem die Funktionsweise eines Systems zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance gemäß einer Implementierung dargestellt wird. Das System kann eine oder mehrere Komponenten von System 100 beinhalten, darunter Computergerät 110, Datenverarbeitungssystem 120 und Anwendungsentwicklerserver 230 (z. B. ein Server, der vom Anwendungsentwickler 125 so konfiguriert wurde, dass er eine oder mehrere mit der Anwendung verbundene Funktionen ausführt). Bei 205 kann das Datenverarbeitungssystem 120 ein Inhaltselement für eine Anwendung bereitstellen. Das Datenverarbeitungssystem 120 kann das Inhaltselement in Reaktion auf eine Anfrage nach Inhalt für das Computergerät 110 bereitstellen. Bei 210 kann das Computergerät 110 eine Anforderung zum Herunterladen der Anwendung an das Datenverarbeitungssystem 120 übertragen. Bei 215 kann das Datenverarbeitungssystem 120 die Anwendung dem Computergerät 110 bereitstellen. Die Bereitstellung der Anwendung kann die Bereitstellung einer Datendatei beinhalten, die eine ausführbare Datei der Anwendung oder ein anderes Softwaremodul, Skript oder Code für die Anwendung umfasst. Bei 220 kann das Computergerät 110 einen Hinweis auf ein anwendungsinternes Ereignis übermitteln. Das anwendungsinterne Ereignis kann zum Beispiel die Eingabe einer Sucheingabe in der Anwendung, die Ermittlung eines vordefinierten Punktwerts oder Levels bzw. die Ausführung einer Transaktion in der Anwendung beinhalten. Das Computergerät 110 lässt sich so konfigurieren, dass der Hinweis auf das anwendungsinterne Ereignis direkt an das Datenverarbeitungssystem 120 übertragen wird. In einigen Fällen kann das Computergerät 110 so konfiguriert sein, dass es den Hinweis auf das anwendungsinterne Ereignis an einen Server des Anwendungsentwicklers 230 übermittelt, und der Server 230 kann bei 225 einen Ping an das Datenverarbeitungssystem 120 weiterleiten oder übermitteln, der einen Hinweis auf das anwendungsinterne Ereignis liefert.
  • Das Datenverarbeitungssystem 120 kann die bei 225 empfangenen Pingdaten mit internen Daten zusammenführen, um zusammengeführte Daten zu erzeugen. Zur Ermittlung der Signale mit den höchsten Punktwerten kann das Datenverarbeitungssystem 120 auf die Signale der zusammengeführten Daten ein Verfahren für maschinelles Lernen anwenden. Das Datenverarbeitungssystem 120 kann eine Zahl von Computergeräten 110 ermitteln, die mit den Signalen, die die höchsten Punktwerte aufweisen, verbunden sind, um eine Performance einer Inhaltskampagne vorherzusagen, die so konfiguriert ist, dass Inhalt ausgewählt wird, um ihn auf Computergeräten, die die Signale mit den höchsten Punktwerten umfassen, bereitzustellen.
  • 3 ist eine grafische Benutzerschnittstelle (GUI) 300 eines Systems zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance gemäß einer Implementierung. Die GUI 300 kann von einer oder mehreren Komponenten von System 100 erzeugt oder bereitgestellt werden, zum Beispiel von Datenverarbeitungssystem 120 oder Landschaftserzeugungskomponente 140. Die GUI 300 veranschaulicht ein Landschaftsdiagramm mit einer geschätzten oder prognostizierten Performance. Die GUI 300 kann das Anwendungsinhaltsübergabeprofil beinhalten bzw. sich darauf beziehen. Das Landschaftsdiagramm kann wöchentliche Installationen vs. der Zielkosten pro Installation (CPI), ein wöchentliches anwendungsinternes Aktionsvolumen vs. einem Ziel-CPI-Wert (auf der Kampagnenebene ausgewählte Konvertierungen) oder einen wöchentlichen anwendungsinternen Aktionsnettowert vs. einem Ziel-CPI-Wert (auf der Kampagnenebene ausgewählte Konvertierungen) veranschaulichen. Die GUI 300 kann es dem Inhaltsanbieter 125 ermöglichen, einen oder mehrere Werte für das Anwendungsinhaltsübergabeprofil der Inhaltskampagne einzugeben, das der Auswahl von Inhaltselementen für die Anwendung dient.
  • Die GUI 300 kann es dem Inhaltsanbieter 125 erlauben, die Inhaltskampagne für das Anwendungsinstallationsvolumen 305 (z. B. die Zahl von Anwendungsinstallationen), Installationen von Computergeräten, die wahrscheinlich anwendungsinterne Aktionen 310 durchführen werden (z. B. Computergeräte, die wahrscheinlich eine Transaktion in der Anwendung ausführen werden) oder Installationen auf Computergeräten bei Benutzern zu optimieren, die wahrscheinlich am meisten ausgeben werden 350 (z. B. Buchung der meisten oder teuersten Flugtickets). Die GUI 300 kann ferner verschiedene Arten von anwendungsinternen Aktionen oder Ereignissen auflisten (z. B. Anmeldungen 325, Abschlüsse des ersten Levels 330, Teilvorgänge in sozialen Netzwerken 335, Juwelenkauf 340, drittes Spiel 345). Der Inhaltsanbieter 125 kann die anwendungsinternen Aktionen eingeben. Das Datenverarbeitungssystem 120 kann auf Basis von Daten, die mit der Anwendung verknüpft sind, automatisch die Arten von anwendungsinternen Aktionen ermitteln. Zum Beispiel kann das Datenverarbeitungssystem 120 Metadaten für die Anwendung erhalten, in denen die Arten von anwendungsinternen Ereignissen aufgeführt sind. Wie hier dargestellt enthält die Anwendung 20 mögliche anwendungsinterne Aktionen 320. Der Inhaltsanbieter 125 kann ein oder mehrere anwendungsinterne Ereignisse 360 auswählen. Wie hier dargestellt sind zwei anwendungsinterne Ereignisse ausgewählt: Anmeldungen 365 und Abschlüsse des ersten Levels 370. Anmeldungen 365 können sich auf einen Benutzer der Anmeldung beziehen, der sich für ein Konto anmeldet, um die Anwendung aufrufen oder verwenden zu können, der sich für ein Abonnement der Anwendung anmeldet oder der sich für andere mit der Anwendung verbundene Inhalte oder Services anmeldet. Die anwendungsinterne Aktion Abschlüsse des ersten Levels 370 kann dem Abschluss des ersten Levels in einem Spiel entsprechen, wenn die Anwendung ein Spiel ist, oder dem Abschluss einer ersten Runde eines mehrstufigen Verfahrens oder Tasks.
  • Das Datenverarbeitungssystem 120 kann einen Hinweis zur Optimierung von 305, 310 und/oder 355 empfangen. Der Inhaltsanbieter 125 oder Anwendungsentwickler 125 kann 305, 310 und/oder 355 auswählen. Wenn sich der Inhaltsanbieter 125 dazu entscheidet, die Zahl der Installationen von Benutzern zu erhöhen, die anwendungsinterne Aktionen 310 wahrscheinlich ausführen werden, kann der Inhaltsanbieter 125 ferner die gewünschte Art der Aktionen 360 auswählen. So kann das Datenverarbeitungssystem 120 über eine GUI 300 eine Art von zu optimierender Performance und eine Art von zu optimierendem anwendungsinternen Ereignis empfangen.
  • Das Datenverarbeitungssystem 120 kann ein Texteingabefeld für einen Ziel-CPI-Wert 355 bereitstellen. Der Inhaltsanbieter 125 oder Anwendungsentwickler 125 kann den Ziel-CPI-Wert via GUI 300 eingeben. Der Ziel-CPI-Wert kann zum Beispiel 3,50 $ betragen. Das Datenverarbeitungssystem 120 kann den Ziel-CPI-Wert via GUI 300 empfangen.
  • Unter Verwendung des oder der empfangenen Eingabewerte (z. B. 310, 360 und 355) kann das Datenverarbeitungssystem 120 eine prognostizierte Performance 380 und 390 erzeugen. Die prognostizierte Performance 380 umfasst einen Graphen, der eine X-Achse mit einem geschätzten CPI-Wert 385 und eine Y-Achse mit einer Zahl der geschätzten Installationen aufweist. Wie im Graphen 380 dargestellt nimmt die Zahl der geschätzten Installationen mit steigendem geschätzten CPI-Wert zu. Marker 392 entspricht einem Ziel-CPI-Wert von 3,50 als Eingabe im Feld 355. Marker 392 gibt an, dass das Datenverarbeitungssystem 120 bei einem Ziel-CPI-Wert von 3,50 vorhersagt oder schätzt, dass es möglicherweise 1.100 Installationen der Anwendungen geben wird. Die 1.100 Installationen der Anwendungen können Folge der Bereitstellung von Inhaltselementobjekten sein, die einen Link oder Befehl zum Herunterladen der Anwendung auf mindestens 1.100 Computergeräte 110 umfassen.
  • Das Datenverarbeitungssystem 120 kann ferner eine Zahl von anwendungsinternen Aktionen schätzen (siehe Darstellung in Diagramm 390). In Diagramm 390 entspricht die X-Achse 385 dem geschätzten CPI-Wert, während die Y-Achse einer Zahl der geschätzten oder prognostizierten anwendungsinternen Aktionen entspricht. Wie der Marker 394 zeigt, schätzt oder prognostiziert das Datenverarbeitungssystem 120 bei einem Ziel-CPI-Wert von 3,50 3.000 anwendungsinterne Aktionen, die Anmeldungen 365 oder Abschlüssen des ersten Levels 370 entsprechen. Diese anwendungsinternen Aktionen lassen sich einer Bereitstellung von Inhaltselementen zuordnen, die die Anwendung auf einem oder mehreren Computergeräten anzeigt. Die Konfiguration des Anwendungsinhaltsübergabeprofils kann die Einstellung des CPI-Werts über das Texteingabefeld 355 oder Eingabeschaltflächen 310 oder 360 bezeichnen oder beinhalten.
  • 4 ist eine Darstellung eines Verfahrens zur Reduzierung der Latenz bei der feedbackbasierten Ermittlung einer Systemperformance gemäß einer Implementierung. Das Verfahren 400 kann von einer oder mehreren Komponenten von System 100 ausgeführt werden, z. B. von einem Datenverarbeitungssystem 120. Kurz gesagt empfängt das Datenverarbeitungssystem bei 405 einen Hinweis zu einem anwendungsinternen Ereignis und einen ersten Eingabewert. Bei 410 empfängt das Datenverarbeitungssystem einen Ping, der Auskunft über das Auftreten eines anwendungsinternen Ereignisses liefert. Bei 415 führt das Datenverarbeitungssystem Daten aus dem Ping mit internen Daten zusammen. Bei 420 liefert das Datenverarbeitungssystem einen Hinweis zu einer ermittelten prognostizierten Performance. Bei 425 konfiguriert das Datenverarbeitungssystem ein Anwendungsinhaltsübergabeprofil mit einem zweiten Eingabewert.
  • Bei 405 empfängt das Datenverarbeitungssystem einen Hinweis zu einem anwendungsinternen Ereignis und einen ersten Eingabewert. Das Datenverarbeitungssystem kann den oder die Hinweise von dem Anwendungsentwicklergerät oder von dem Inhaltsanbietergerät empfangen. Das Anwendungsentwicklergerät kann ein Server oder Gerät sein, den bzw. das ein Anwendungsentwickler oder Inhaltsanbieter, der Inhaltselemente für den Anwendungsentwickler bereitstellt oder verwaltet, aufruft oder nutzt. Das Datenverarbeitungssystem kann einen Hinweis zu einem anwendungsinternen Ereignis erhalten, zum Beispiel zu einer Anmeldung, dem Abschluss eines ersten Levels, einer Sucheingabe mit vordefinierten Begriffen, dem Teilen von Anwendungsinhalten in einer sozialen Medienplattform, dem Kauf von Inhalten mittels der Anwendung, dem Start eines neues Spiels usw. Das Datenverarbeitungssystem kann einen ersten Eingabewert für das Anwendungsinhaltsübergabeprofil erhalten. Der erste Eingabewert kann zum Beispiel einen Zielkostenwert pro Installation, Optimierungsparameter (z. B. mehr Installationen, mehr Installationen bei Benutzern, die anwendungsinterne Aktionen wahrscheinlich abschließen werden, mehr Installationen bei Benutzern, die wahrscheinlich am meisten ausgeben werden), Angebotssummen oder Budgets beinhalten.
  • Bei 410 empfängt das Datenverarbeitungssystem einen Ping, der Auskunft über das Auftreten eines anwendungsinternen Ereignisses liefert. Das Datenverarbeitungssystem kann den Ping über eine Schnittstelle von einer Anwendung empfangen, die vom Anwendungsentwickler entwickelt wurde und einem Computergerät, das nicht Teil des Datenverarbeitungssystems ist und sich von dem Anwendungsentwicklergerät unterscheidet, ausgeführt wird. Das Datenverarbeitungssystem kann den Ping von der Anwendung, die der Anwendungsentwickler entwickelt hat, oder einer ähnlichen Anwendung empfangen. Der Ping kann Pingdaten beinhalten, die einen Hinweis zum Auftreten eines anwendungsinternen Ereignisses oder zu einer Installation der Anwendung auf einem Computergerät liefern.
  • Bei 415 führt das Datenverarbeitungssystem Daten aus dem Ping mit internen Daten zusammen. Das Datenverarbeitungssystem kann Daten aus dem Ping mit vom Datenverarbeitungssystem ermittelten, internen Daten zusammenführen, um einen zusammengeführten Datensatz zu erzeugen. Interne Daten können sich auf Daten beziehen, die im Datenverarbeitungssystem gespeichert sind oder die das Datenverarbeitungssystem anderweitig erhalten hat (z. B. Anwendungsdaten, Sprache, Anwendungskonfiguration usw.). Das Zusammenführen der Daten kann das Verknüpfen von Pingdaten mit den internen Daten, das Speichern der Daten in einem einheitlichen Format bzw. einer einheitlichen Datenstruktur, das Verwenden einer gemeinsamen Kennung für die Pingdaten und die internen Daten oder anderweitig das Bereitstellen oder Übersetzen der Daten für einen zusammengeführten Datensatz, der für maschinelles Lernen konfiguriert ist, bezeichnen.
  • In manchen Fällen kann das Datenverarbeitungssystem Pingdaten von einer Vielzahl von Anwendungen erhalten. Die Vielzahl von Anwendungen kann vom gleichen oder von unterschiedlichen Entwicklern entwickelt worden sein. Die Vielzahl von Anwendungen kann der gleichen Kategorie angehören wie die Anwendung, über eine gleiche Eigenschaft wie die Anwendung verfügen oder keine Verbindung zur Anwendung haben. Das Datenverarbeitungssystem kann Pingdaten empfangen, die auf das Auftreten von einem oder mehreren anwendungsinternen Ereignissen in der Vielzahl von Anwendungen hinweisen. Das Datenverarbeitungssystem kann die Vielzahl von Anwendungen kategorisieren, um ähnliche Anwendungen und ähnliche anwendungsinterne Ereignisse zu ermitteln, die mit der Anwendung und dem ausgewählten anwendungsinternen Ereignis übereinstimmen. Das Datenverarbeitungssystem kann die ähnlichen Anwendungen und ähnlichen anwendungsinternen Ereignisse mit den Pingdaten und internen Daten zusammenführen, um den für das Verfahren zum maschinellen Lernen genutzten zusammengeführten Datensatz zu erzeugen.
  • Bei 420 liefert das Datenverarbeitungssystem einen Hinweis zu einer ermittelten prognostizierten Performance. Auf Basis des zusammengeführten Datensatzes sowie des ersten Eingabewerts kann das Datenverarbeitungssystem für das anwendungsinterne Ereignis eine prognostizierte Performance ermitteln. Das Datenverarbeitungssystem kann über eine grafische Benutzerschnittstelle einen Hinweis zur prognostizierten Performance bereitstellen, die auf Basis des zusammengeführten Datensatzes und des ersten Eingabewerts ermittelt wurde. In einigen Fällen kann das Datenverarbeitungssystem die prognostizierte Performance für das anwendungsinterne Ereignis auf Basis von Pings und internen Daten ermitteln, die mit der Vielzahl von ähnlichen Anwendungen verbunden sind.
  • Bei 425 konfiguriert das Datenverarbeitungssystem ein Anwendungsinhaltsübergabeprofil mit einem zweiten Eingabewert. Das Datenverarbeitungssystem kann je nach Hinweis auf die prognostizierte Performance das Anwendungsinhaltsübergabeprofil mit einem zweiten Eingabewert konfigurieren.
  • 5 ist ein Blockdiagramm eines Computersystems 500 gemäß einer veranschaulichten Implementierung. Das Computersystem oder Computergerät 500 kann folgende Komponenten beinhalten bzw. zur Implementierung der folgenden Komponenten verwendet werden: System 100, Inhaltsanbieter 125, Anwendungsentwickler 125, Computergerät 110, Inhaltsherausgeber 115, Online-Marktplatzanbieter 175, Datenverarbeitungssystem 120, Schnittstellenkomponente 130, Zuordnungskomponente 135, Landschaftserzeugungskomponente 140, Inhaltsauswahlkomponente 145 und Datenpool 150. Das Computersystem 500 beinhaltet einen Bus 505 oder eine andere Kommunikationskomponente zur Übertragung von Informationen sowie einen Prozessor 510 oder eine Verarbeitungsschaltung, die mit dem Bus 505 gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem 500 kann außerdem einen oder mehrere Prozessoren 510 oder Verarbeitungsschaltungen beinhalten, die mit dem Bus gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem 500 beinhaltet ferner Hauptspeicher 515 wie z. B. Random Access Memory (RAM) oder ein anderes dynamisches Speichergerät, das mit dem Bus 505 gekoppelt ist, um Daten zu speichern, sowie Befehle, die vom Prozessor 510 ausgeführt werden sollen. Der Hauptspeicher 515 kann der Datenpool 155 sein bzw. diesen Datenpool beinhalten. Der Hauptspeicher 515 kann bei Ausführung von Befehlen durch den Prozessor 510 ferner zum Speichern von Positionsdaten, temporären Variablen oder anderen mittelfristigen Informationen verwendet werden. Das Computersystem 500 kann ferner einen Read Only Memory (ROM) 520 oder ein anderes statisches Speichergerät beinhalten, das mit dem Bus 505 gekoppelt ist, um statische Informationen und Befehle für den Prozessor 510 zu speichern. Mit dem Bus 505 ist ein Speichergerät 525 wie zum Beispiel ein Solid-State-Gerät bzw. eine magnetische oder optische Festplatte gekoppelt, um Informationen und Befehle dauerhaft zu speichern. Das Speichergerät 525 kann den Datenpool 155 beinhalten bzw. Teil davon sein.
  • Das Computersystem 500 kann über den Bus 505 mit einem Display 535 wie einer Flüssigkristallanzeige (LCD) oder aktiven Matrixanzeige gekoppelt sein, sodass sich einem Benutzer Informationen anzeigen lassen. Mit dem Bus 505 kann ein Eingabegerät 530 wie z. B. eine Tastatur mit alphanumerischen und anderen Tasten gekoppelt sein, damit sich ausgewählte Informationen und Befehle an den Prozessor 510 übermitteln lassen. Das Eingabegerät 530 kann eine Touchscreenanzeige 535 beinhalten. Das Eingabegerät 530 kann außerdem eine Cursorsteuerung wie eine Maus, einen Trackball oder Pfeiltasten auf der Tastatur beinhalten, sodass sich Richtungsdaten und ausgewählte Befehle an den Prozessor 510 übertragen und die Bewegung des Cursors auf dem Display 535 steuern lassen. Das Display 535 kann zum Beispiel Teil des Computergeräts 110 oder einer anderen Komponente aus 1 sein.
  • Die hierin beschriebenen Prozesse, Systeme und Verfahren können vom Computersystem 500 als Folge davon implementiert werden, dass der Prozessor 510 einen im Hauptspeicher 515 enthaltenen Befehlssatz ausführt. Diese Befehle können von einem computerlesbaren Medium (wie z. B. Speichergerät 525) in den Hauptspeicher 515 gelesen werden. Die Ausführung des im Hauptspeicher 515 enthaltenen Befehlssatzes veranlasst das Computersystem 500 dazu, die hierin beschriebenen und dargestellten Prozesse auszuführen. Außerdem können in einer Multi-Prozessor-Anordnung ein oder mehrere Prozessoren dazu genutzt werden, die im Hauptspeicher 515 enthaltenen Befehle auszuführen. In alternativen Implementierungen kann anstelle von oder in Kombination mit Softwarebefehlen eine festverdrahtete Schaltung verwendet werden, um die dargestellten Implementierungen herbeizuführen. Das bedeutet, dass Implementierungen nicht auf eine bestimmte Kombination aus Hardwareschaltung und Software beschränkt sind.
  • In 5 wurde ein exemplarisches Computersystem beschrieben, Implementierungen des Gegenstands sowie die in dieser Spezifikation beschriebenen Vorgänge können in anderen Arten von digitalen elektronischen Schaltungen oder in Computersoftware, Firmware oder Hardware (darunter auch in aus dieser Spezifikation hervorgehenden Strukturen und deren strukturellen Entsprechungen oder in Kombinationen daraus) implementiert werden.
  • Implementierungen des Gegenstands sowie die in dieser Spezifikation beschriebenen Vorgänge können in einer digitalen elektronischen Schaltung oder in Computersoftware, Firmware oder Hardware, darunter auch in aus dieser Spezifikation hervorgehenden Strukturen und deren strukturellen Entsprechungen oder in Kombinationen daraus, implementiert werden. Der in dieser Beschreibung beschriebene Gegenstand kann als ein oder mehrere Computerprogramme implementiert werden, z. B. als eine oder mehrere Schaltungen mithilfe von Computerprogrammbefehlen, die auf einem oder mehreren Computerspeichermedien codiert sind, um von einem Datenverarbeitungsgerät ausgeführt zu werden bzw. den Betrieb desselben zu steuern. Alternativ oder ergänzend dazu können die Programmbefehle in einem künstlich erzeugten sich ausbreitenden Signal wie beispielsweise einem maschinell erzeugten elektrischen, optischen oder elektromagnetischen Signal kodiert sein, das erzeugt wird, um Informationen zur Übertragung an ein geeignetes Empfängergerät zu kodieren, damit diese von einem Datenverarbeitungsgerät ausgeführt werden. Ein Computerspeichermedium kann ein computerlesbares Speichergerät, ein computerlesbares Speichersubstrat, ein frei adressierbares oder serielles Zugriffsspeicher-Array oder -Gerät oder eine Kombination daraus sein bzw. darin beinhaltet sein. Ein Computerspeichermedium ist zwar kein sich verbreitendes Signal, ein Computerspeichermedium kann jedoch eine Quelle oder ein Ziel von Computerprogrammbefehlen sein, die in einem künstlich erzeugten verbreiteten Signal kodiert sind. Das Computerspeichermedium kann auch eine oder mehrere separate Komponenten oder Medien sein (z. B. mehrere CDs, Datenträger oder andere Speichervorrichtungen bzw. darin beinhaltet sein.
  • Die in dieser Spezifikation beschriebenen Operationen können von einem Datenverarbeitungsgerät auf Daten angewendet werden, die auf einem oder mehreren computerlesbaren Speichergeräten gespeichert sind oder von anderen Quellen empfangen wurden.
  • Der Begriff „Datenverarbeitungsgerät“ oder „Computergerät“ umfasst verschiedene Apparate, Geräte und Maschinen zur Verarbeitung von Daten, einschließlich z. B. eines programmierbaren Prozessors, eines Computers, eines oder mehrerer Systeme auf einem Chip bzw. einer Kombination daraus. Das Gerät kann eine Special Purpose Logic Circuitry wie z. B. ein FPGA (Field Programmable Gate Array) oder ein ASIC (Application Specific Integrated Circuit) beinhalten. Das Gerät kann zusätzlich zur Hardware auch Code beinhalten, der eine Ausführungsumgebung für das entsprechende Computerprogramm erzeugt, wie z. B. Code, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, einen virtuellen Computer oder eine Kombination daraus darstellt. Das Gerät und die Ausführungsumgebung können verschiedene Computermodellinfrastrukturen wie z. B. Webdienste sowie verteilte Computing- und Grid-Computing-Infrastrukturen realisieren.
  • Ein Computerprogramm (das auch als Programm, Software, Softwareanwendung, Skript oder Code bezeichnet werden kann) kann in jeder Form von Programmiersprache, darunter auch in kompilierten oder interpretierten Sprachen bzw. in deklarativen oder prozeduralen Sprachen, verfasst und in beliebiger Form, wie z. B. als allein lauffähiges Programm oder als Schaltung, Komponente, Subroutine, Objekt oder als eine andere für den Einsatz in einer Computerumgebung geeignete Einheit bereitgestellt werden. Ein Computerprogramm kann, muss jedoch nicht einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei, das andere Programme oder Daten enthält (wie z. B. ein oder mehrere Skripte, die in einem Auszeichnungssprachen-Dokument gespeichert sind), in einer einzelnen zum betreffenden Programm gehörenden Datei oder in mehreren koordinierten Dateien (wie beispielsweise Dateien, die eine oder mehrere Schaltungen, Teilprogramme oder Code-Abschnitte enthalten) gespeichert sein. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder auf mehrere Standorte verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, umfassen beispielsweise sowohl allgemeine als auch Spezialmikroprozessoren sowie alle Arten von einem oder mehreren Prozessoren von jeglicher Art digitaler Computer. Ein Prozessor nimmt im Allgemeinen Befehle und Daten von einem Festspeicher oder Arbeitsspeicher bzw. beiden entgegen. Die wesentlichen Bestandteile eines Computers sind ein Prozessor zum Ausführen von Aktionen in Übereinstimmung mit Befehlen sowie ein oder mehrere Speichergeräte zum Speichern von Befehlen und Daten. In der Regel beinhaltet ein Computer auch ein oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B. magnetische, magneto-optische oder optische Festplatten, bzw. wird operativ gekoppelt, um Daten von diesen zu empfangen oder an dieselben zu übertragen. Ein Computer muss jedoch nicht über solche Geräte verfügen. Darüber hinaus kann ein Computer u. a. in ein anderes Gerät, wie beispielsweise ein Mobiltelefon, einen persönlichen digitalen Assistenten (PDA), einen mobilen Audio- oder Video-Player, eine Spielkonsole, einen GPS-Empfänger oder ein tragbares Speichergerät (z. B. USB-Flash-Laufwerk) integriert sein. Zu den zum Speichern von Computerprogrammbefehlen und Daten geeigneten Medien gehören sämtliche Arten von Festspeichern, Medien und Speichergeräten, einschließlich Halbleiterspeicherelementen, darunter EPROM, EEPROM und Flash-Speichergeräten; magnetischen Festplatten wie z. B. interne Festplatten oder Wechselplatten; magneto-optischen Festplatten; und CD-ROM- und DVD-ROM-Laufwerken. Der Prozessor und der Speicher können durch eine Special Purpose Logic Circuitry ergänzt oder in dieselbe integriert werden.
  • Um Interaktionen mit einem Benutzer zu ermöglichen, können die in dieser Spezifikation beschriebenen Implementierungen des Gegenstands zum Anzeigen von Informationen auf einem Computer mit einem Anzeigegerät wie z. B. einem CRT-Monitor (Kathodenstrahlröhren) oder LCD-Monitor (Flüssigkristallanzeige) und einer Tastatur sowie einem Zeigegerät (z. B. Maus oder Trackball) implementiert werden, mit denen der Benutzer den Computer bedienen kann. Es können auch andere Gerätearten verwendet werden, um Interaktionen mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich beim Feedback an den Benutzer um jegliche Art von sensorischem Feedback wie z. B. ein visuelles, akustisches oder taktiles Feedback handeln; die Eingabe des Benutzers kann ebenfalls in beliebiger Form, also akustisch, sprachlich oder taktil empfangen werden.
  • Diese Spezifikation enthält zwar viele spezifische Implementierungsdetails, diese sollen jedoch nicht als Beschränkungen des Geltungsbereichs von Erfindungen oder Ansprüchen, sondern als Beschreibungen von Merkmalen, die spezifische Implementierungen bestimmter Erfindungen betreffen, ausgelegt werden. Bestimmte Merkmale, die in dieser Spezifikation im Zusammenhang mit separaten Implementierungen beschrieben werden, können auch kombiniert in einer einzelnen Implementierung implementiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer Implementierung beschrieben werden, auch separat in unterschiedlichen Implementierungen oder einer geeigneten Teilkombination implementiert werden. Außerdem können, auch wenn die Merkmale weiter oben ggf. als in bestimmten Kombinationen wirkend beschrieben und zunächst auch als solche beansprucht werden, in einigen Fällen ein oder mehrere Merkmale einer beanspruchten Kombination aus der Kombination herausgenommen und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
  • Gleichermaßen soll dies, obwohl die Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, nicht so verstanden werden, dass die besagten Operationen in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen bzw. alle veranschaulichten Operationen durchgeführt werden müssen, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den vorstehend beschriebenen Implementierungen nicht als derartige Trennung in allen Implementierungen ausgelegt werden, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzelnen Softwareprodukt oder in mehreren Softwareprodukten gebündelt sein können.
  • Bezüge auf „oder“ können als inklusiv ausgelegt werden, sodass sich alle Begriffe, die mit „oder“ beschrieben werden, auf einen, mehr als einen oder jeden der beschriebenen Begriffe beziehen können. Bezüge auf mindestens eine Elementliste können ein beliebiges einzelnes Element, mehr als ein Element oder alle Elemente in der Liste beinhalten.
  • Wenn technische Merkmale in den Zeichnungen, der detaillierten Beschreibung oder einem beliebigen Anspruch von Referenzkennungen gefolgt werden, wurden die Referenzkennungen eingebunden, um die Verständlichkeit der Zeichnungen, detaillierten Beschreibung oder Ansprüche zu erhöhen. Dementsprechend haben weder die Anwesenheit noch die Abwesenheit der Referenzkennungen einen einschränkenden Effekt auf den Schutzumfang beliebiger Anspruchselemente.
  • Folglich wurden bestimmte Implementierungen des Gegenstands beschrieben. Weitere Implementierungen liegen innerhalb des Schutzumfangs der folgenden Ansprüche. So können in einigen Fällen die in den Ansprüchen angegebenen Aktionen in einer anderen Reihenfolge durchgeführt werden und dennoch erwünschte Ergebnisse erzielen. Zusätzlich setzen beispielsweise die in den beigefügten Figuren dargestellten Prozesse nicht unbedingt die gezeigte spezielle Reihenfolge oder fortlaufende Reihenfolge voraus, um erwünschte Ergebnisse zu erzielen. In bestimmten Implementierungen können Multitasking und Parallelverarbeitung von Vorteil sein.

Claims (20)

  1. System zur Reduzierung der Latenz bei feedbackbasierter Ermittlung einer Systemperformance, umfassend: ein Datenverarbeitungssystem, das einen oder mehrere Prozessoren sowie Speicher umfasst, um Folgendes zu ermöglichen: Empfangen eines oder mehrerer Hinweise auf ein anwendungsinternes Ereignis sowie eines ersten Eingabewerts für ein Anwendungsinhaltsübergabeprofil von einem Anwendungsentwicklergerät; Empfangen eines Signals, das auf das Auftreten eines anwendungsinternen Ereignisses auf dem Computergerät hinweist, über eine Schnittstelle einer Anwendung, die von einem Anwendungsentwickler entwickelt wurde und von einem Computergerät, das nicht Teil des Datenverarbeitungssystems ist und sich von dem Anwendungsentwicklergerät unterscheidet, ausgeführt wird; Zusammenführen von Daten aus dem Signal mit von dem Datenverarbeitungssystem ermittelten, internen Daten, um einen zusammengeführten Datensatz zu erzeugen; Ermitteln einer prognostizierten Performance für das anwendungsinterne Ereignis auf Basis des zusammengeführten Datensatzes sowie des ersten Eingabewerts; Bereitstellen eines Hinweises zur prognostizierten Performance, die auf Basis des zusammengeführten Datensatzes und des ersten Eingabewerts ermittelt wurde, über die Schnittstelle; und Konfigurieren des Anwendungsinhaltsübergabeprofils mit einem zweiten Eingabewert in Reaktion auf den Hinweis zur prognostizierten Performance.
  2. System nach Anspruch 1, umfassend das Datenverarbeitungssystem zum: Empfangen einer Vielzahl von Signalen, die auf das Auftreten eines oder mehrerer anwendungsinterner Ereignisse verweisen, von einer Vielzahl von Anwendungen, die von einer Vielzahl von Anwendungsentwicklern entwickelt wurden; und Zusammenführen von Daten aus der Vielzahl von Signalen mit vom Datenverarbeitungssystem ermittelten, internen Daten zur Erzeugung eines zusammengeführten Datensatzes.
  3. System nach Anspruch 1 oder 2, umfassend das Datenverarbeitungssystem zum: Konfigurieren des Anwendungsinhaltsübergabeprofils mit dem zweiten Eingabewert, der größer als der erste Eingabewert ist, in Reaktion darauf, dass die prognostizierte Performance unter einem Schwellenwert lag.
  4. System nach Anspruch 1, 2 oder 3, umfassend das Datenverarbeitungssystem zum: Empfangen eines Befehls von dem Anwendungsentwicklergerät zur Konfiguration des Anwendungsinhaltsübergabeprofils mit dem zweiten Eingabewert, wobei der zweite Eingabewert einen gleichen Wert wie der erste Eingabewert umfasst.
  5. System nach einem der vorstehenden Ansprüche, wobei die prognostizierte Performance eine prognostizierte Zahl von Installationen für die Anwendung umfasst.
  6. System nach einem der vorstehenden Ansprüche, umfassend das Datenverarbeitungssystem zum: Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis auf Basis eines Verfahrens für maschinelles Lernen.
  7. System nach einem der vorstehenden Ansprüche, umfassend das Datenverarbeitungssystem zum: Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis auf Basis eines Regressionsmodells.
  8. System nach einem der vorstehenden Ansprüche, umfassend das Datenverarbeitungssystem zum: Ermitteln einer Vielzahl von Anwendungen, die sich von der Anwendung unterscheiden, auf Basis einer Eigenschaft der Anwendung; und Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis auf Basis von Signalen und internen Daten, die mit der Vielzahl von Anwendungen verknüpft sind.
  9. System nach einem der vorstehenden Ansprüche, umfassend das Datenverarbeitungssystem zum: Ermitteln einer ersten prognostizierten Performance für das anwendungsinterne Ereignis auf Basis eines multivariaten Poisson-Regressionsmodells; Ermitteln einer Vielzahl von Anwendungen, die sich von der Anwendung unterscheiden, anhand einer Eigenschaft der Anwendung; und Kalibrieren der ersten prognostizierten Performance auf Basis einer zweiten prognostizierten Performance der Vielzahl von Anwendungen zur Ermittlung der prognostizierten Performance.
  10. System nach einem der vorstehenden Ansprüche, umfassend das Datenverarbeitungssystem, um die zusammengeführten Daten zu erzeugen mit: Daten, die von einer ersten Vielzahl von Computergeräten, die die Anwendung installiert haben, empfangen werden; Daten, die von einer zweiten Vielzahl von Computergeräten, die in Reaktion auf ein vom Datenverarbeitungssystem bereitgestelltes Inhaltselement eine oder mehrere sich von der Anwendung unterscheidende Anwendungen installiert haben, empfangen werden, wobei die eine oder die mehreren Anwendungen mit einer Eigenschaft der Anwendung übereinstimmen; und Daten, die von einer dritten Vielzahl von Computergeräten, die in Reaktion auf eine organische Suche eine oder mehrere der sich von der Anwendung unterscheidenden Anwendungen installiert haben, empfangen werden, wobei die eine oder die mehreren Anwendungen mit der Eigenschaft der Anwendung übereinstimmen.
  11. System nach einem der vorstehenden Ansprüche, umfassend das Datenverarbeitungssystem, umfassend: Bereitstellen eines Software Development Kit auf dem Anwendungsentwicklergerät, das die Anwendung konfiguriert hat, um in Reaktion auf das Auftreten des anwendungsinternen Ereignisses ein Signal an das Datenverarbeitungssystem zu senden.
  12. System nach einem der vorstehenden Ansprüche, wobei: die internen Daten mindestens eine Art von Anwendung oder eine Konfiguration einer Installation der Anwendung umfassen; und die Daten aus dem Signal mindestens ein Level der Anwendung, einen Punktwert der Anwendung oder eine Sucheingabe in die Anwendung umfassen.
  13. Verfahren zur Reduzierung der Latenz bei feedbackbasierter Ermittlung einer Systemperformance, umfassend: Empfangen, eines oder mehrerer Hinweise auf ein anwendungsinternes Ereignis sowie eines ersten Eingabewerts für ein Anwendungsinhaltsübergabeprofil von einem Anwendungsentwicklergerät durch ein Datenverarbeitungssystem, das einen oder mehrere Prozessoren und Speicher umfasst; Empfangen eines Signals, das auf das Auftreten eines anwendungsinternen Ereignisses auf einem Computergerät hinweist, durch das Datenverarbeitungssystem über eine Schnittstelle von einer Anwendung, die von einem Anwendungsentwickler entwickelt wurde und von dem Computergerät, das nicht Teil des Datenverarbeitungssystems ist und sich von dem Anwendungsentwicklergerätunterscheidet, ausgeführt wird; Zusammenführen von Daten aus dem Signal mit vom Datenverarbeitungssystem ermittelten, internen Daten zur Erzeugung eines zusammengeführten Datensatzes durch das Datenverarbeitungssystem; Ermitteln einer prognostizierten Performance für das anwendungsinterne Ereignis auf Basis des zusammengeführten Datensatzes sowie des ersten Eingabewerts durch das Datenverarbeitungssystem; Bereitstellen eines Hinweises zur prognostizierten Performance, die auf Basis des zusammengeführten Datensatzes und des ersten Eingabewerts ermittelt wurde, durch das Datenverarbeitungssystem über die Schnittstelle; und Konfigurieren des Anwendungsinhaltsübergabeprofils mit einem zweiten Eingabewert in Reaktion auf den Hinweis zur prognostizierten Performance durch das Datenverarbeitungssystem.
  14. Verfahren nach Anspruch 13, umfassend: Empfangen einer Vielzahl von Signalen, die auf das Auftreten eines oder mehrerer anwendungsinterner Ereignisse verweisen, durch das Datenverarbeitungssystem von einer Vielzahl von Anwendungen, die von einer Vielzahl von Anwendungsentwicklern entwickelt wurden; und Zusammenführen von Daten aus der Vielzahl von Signalen mit vom Datenverarbeitungssystem ermittelten, internen Daten zur Erzeugung eines zusammengeführten Datensatzes durch das Datenverarbeitungssystem.
  15. Verfahren nach Anspruch 13 oder 14, umfassend: Konfigurieren des Anwendungsinhaltsübergabeprofils mit dem zweiten Eingabewert, der größer als der erste Eingabewert ist, in Reaktion darauf, dass die prognostizierte Performance unter einem Schwellenwert lag, durch das Datenverarbeitungssystem.
  16. Verfahren nach einem der Ansprüche 13 bis 15, umfassend: Empfangen eines Befehls von dem Anwendungsentwicklergerät durch das Datenverarbeitungssystem zur Konfiguration des Anwendungsinhaltsübergabeprofils mit dem zweiten Eingabewert, wobei der zweite Eingabewert einen gleichen Wert wie der erste Eingabewert umfasst.
  17. Verfahren nach einem der Ansprüche 13 bis 16, wobei die prognostizierte Performance eine prognostizierte Zahl von Installationen für die Anwendung umfasst.
  18. Verfahren nach einem der Ansprüche 13 bis 17, umfassend: Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis durch das Datenverarbeitungssystem auf Basis eines Verfahrens für maschinelles Lernen.
  19. Verfahren nach einem der Ansprüche 13 bis 18, umfassend: Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis durch das Datenverarbeitungssystem auf Basis eines Regressionsmodells.
  20. Verfahren nach einem der Ansprüche 13 bis 19, umfassend: Ermitteln einer Vielzahl von Anwendungen, die sich von der Anwendung unterscheiden, durch das Datenverarbeitungssystem auf Basis einer Eigenschaft der Anwendung; und Ermitteln der prognostizierten Performance für das anwendungsinterne Ereignis auf Basis von Signalen und internen Daten, die mit der Vielzahl von Anwendungen verknüpft sind, durch das Datenverarbeitungssystem.
DE102017201173.4A 2016-06-29 2017-01-25 Latenzreduzierung bei der feedbackbasierten ermittlung einer systemperformance Pending DE102017201173A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/196,891 US10402180B2 (en) 2016-06-29 2016-06-29 Latency reduction in feedback-based system performance determination
US15/196,891 2016-06-29

Publications (1)

Publication Number Publication Date
DE102017201173A1 true DE102017201173A1 (de) 2018-01-04

Family

ID=57794385

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017100386.8U Active DE202017100386U1 (de) 2016-06-29 2017-01-25 Latenzreduzierung bei der feedbackbasierten Ermittlung einer Systemperformance
DE102017201173.4A Pending DE102017201173A1 (de) 2016-06-29 2017-01-25 Latenzreduzierung bei der feedbackbasierten ermittlung einer systemperformance

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202017100386.8U Active DE202017100386U1 (de) 2016-06-29 2017-01-25 Latenzreduzierung bei der feedbackbasierten Ermittlung einer Systemperformance

Country Status (5)

Country Link
US (2) US10402180B2 (de)
CN (1) CN107545018B (de)
DE (2) DE202017100386U1 (de)
GB (1) GB2551862A (de)
WO (1) WO2018004737A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558814B2 (en) * 2016-07-29 2020-02-11 Google Llc Privacy aware intent resolution with external sources
US10749782B2 (en) * 2016-09-10 2020-08-18 Splunk Inc. Analyzing servers based on data streams generated by instrumented software executing on the servers
US11195106B2 (en) * 2017-06-28 2021-12-07 Facebook, Inc. Systems and methods for scraping URLs based on viewport views
CN108764808B (zh) * 2018-03-29 2020-03-27 北京九章云极科技有限公司 数据分析处理系统及其在线模型部署方法
US11641406B2 (en) * 2018-10-17 2023-05-02 Servicenow, Inc. Identifying applications with machine learning
CN110596654B (zh) * 2019-10-18 2023-06-30 立晟智能科技(成都)有限公司 一种基于毫米波雷达的数据同步采集系统
US20220311834A1 (en) * 2021-03-24 2022-09-29 Data.Ai Inc. Fast estimation of downloads for apps at launch

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904187B2 (en) * 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7130807B1 (en) * 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
WO2002019097A1 (en) * 2000-09-01 2002-03-07 International Interactive Commerce, Ltd. System and method for collaboration using web browsers
US7287000B2 (en) 2000-11-15 2007-10-23 Jda Software Group, Inc. Configurable pricing optimization system
US8571930B1 (en) 2005-10-31 2013-10-29 A9.Com, Inc. Strategies for determining the value of advertisements using randomized performance estimates
US9898753B2 (en) * 2007-09-27 2018-02-20 Excalibur Ip, Llc Methods for cross-market brand advertising, content metric analysis, and placement recommendations
US9201668B2 (en) * 2008-09-11 2015-12-01 Adobe Systems Incorporated Providing content on connected devices
US8650081B2 (en) * 2008-12-31 2014-02-11 Sap Ag Optimization technology
US8150723B2 (en) * 2009-01-09 2012-04-03 Yahoo! Inc. Large-scale behavioral targeting for advertising over a network
US20110035272A1 (en) * 2009-08-05 2011-02-10 Yahoo! Inc. Feature-value recommendations for advertisement campaign performance improvement
US9189801B2 (en) * 2010-08-06 2015-11-17 Tapjoy, Inc. System and method for rewarding application installs
US20120158456A1 (en) 2010-12-20 2012-06-21 Xuerui Wang Forecasting Ad Traffic Based on Business Metrics in Performance-based Display Advertising
US9317660B2 (en) * 2011-03-31 2016-04-19 Adidas Ag Group performance monitoring system and method
US8959450B2 (en) * 2011-08-22 2015-02-17 Google Inc. Path explorer visualization
US9443258B2 (en) * 2011-08-26 2016-09-13 Apple Inc. Mass ingestion of content related metadata to an online content portal
US8291016B1 (en) 2011-08-30 2012-10-16 Moontoast, LLC System and method of social commerce analytics for social networking data and related transactional data
US20130159103A1 (en) * 2011-12-16 2013-06-20 AppLovin Corporation Advertisement Selection Based on Mobile Applications
US9524225B2 (en) * 2012-03-26 2016-12-20 Microsoft Technology Licensing, Llc Dynamically providing application analytic information
US20130325590A1 (en) 2012-05-31 2013-12-05 Yahoo! Inc. Centralized and aggregated tracking in online advertising performance prediction
US20150100684A1 (en) * 2012-06-08 2015-04-09 Stephane Maes Test and management for cloud applications
US20130339126A1 (en) * 2012-06-13 2013-12-19 Yahoo! Inc. Campaign performance forecasting for non-guaranteed delivery advertising
US20140114746A1 (en) 2012-10-19 2014-04-24 Adobe Systems Incorporated Selection of Creatives Based on Performance Analysis and Predictive Modeling
US9514478B2 (en) * 2013-01-23 2016-12-06 Facebook, Inc. Conversion tracking for installation of applications on mobile devices
KR102111769B1 (ko) * 2013-02-08 2020-06-08 삼성전자주식회사 추천 패널 제공 방법 및 이를 위한 디바이스, 추천 아이템 제공 방법 및 이를 위한 서버
US9111219B1 (en) * 2013-02-13 2015-08-18 Amazon Technologies, Inc. Performance based recommendations
US9836377B1 (en) * 2013-09-18 2017-12-05 Ca, Inc. Profiling application performance data
US9754283B2 (en) * 2014-01-31 2017-09-05 Facebook, Inc. Recommending a budget for an advertisement presented on an online system
CN105095230A (zh) * 2014-04-29 2015-11-25 国际商业机器公司 确定目标数据分析应用的性能预测模型的方法及装置
WO2015179778A1 (en) * 2014-05-23 2015-11-26 Datarobot Systems and techniques for predictive data analytics
CN105446970A (zh) * 2014-06-10 2016-03-30 华为技术有限公司 推荐项目的方法和装置
US9774510B2 (en) 2014-11-05 2017-09-26 App Annie Inc. Facilitating collection and display of information related to data usage by a plurality of mobile devices
CN105100197B (zh) * 2015-05-29 2018-08-07 小米科技有限责任公司 安装应用的方法及装置
US20170011420A1 (en) * 2015-07-10 2017-01-12 The Nielsen Company (Us), Llc Methods and apparatus to analyze and adjust age demographic information
US10748178B2 (en) * 2015-10-02 2020-08-18 Adobe Inc. Prediction of content performance in content delivery based on presentation context
US10552752B2 (en) * 2015-11-02 2020-02-04 Microsoft Technology Licensing, Llc Predictive controller for applications
US10740789B2 (en) * 2015-12-10 2020-08-11 Facebook, Inc. Modifying advertisement bids using predicted advertisement performance
CN105631717A (zh) * 2016-02-07 2016-06-01 徐璇炫 一种性价比实时竞价的方法和装置

Also Published As

Publication number Publication date
CN107545018A (zh) 2018-01-05
GB2551862A (en) 2018-01-03
CN107545018B (zh) 2021-10-15
GB201622371D0 (en) 2017-02-15
WO2018004737A1 (en) 2018-01-04
US10402180B2 (en) 2019-09-03
US20180004497A1 (en) 2018-01-04
US20190361691A1 (en) 2019-11-28
DE202017100386U1 (de) 2017-10-04

Similar Documents

Publication Publication Date Title
DE102017201173A1 (de) Latenzreduzierung bei der feedbackbasierten ermittlung einer systemperformance
US11270333B1 (en) Click-through prediction for targeted content
US9704165B2 (en) Systems and methods for determining value of social media pages
CN101796515B (zh) 查询统计提供器
DE112016002120T5 (de) Entwicklungs- und Vetriebsplattform für Software
CN107231816B (zh) 减少时延
DE112012004240T5 (de) Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms
DE112016002221T5 (de) Systeme und Verfahren für eine dynamische Auswahl einer Kommunikationskennung
DE112013002259T5 (de) Integration von Informationen dritter Parteien
JP6271726B2 (ja) オンライン・コンテンツ・オークションにおける入札者にコールアウトを送信するかどうかの決定
DE112020000133T5 (de) Browserverlauf mit geringer Entropie für die Quasi-Personalisierung von Inhalten
DE102008058862A1 (de) Medien-Empfehlungs- und Beschaffungs-System
DE202017105821U1 (de) Dynamisches Erzeugen benutzerspezifischer Gruppen von Anwendungseinstellungen
DE202014010883U1 (de) Systeme für das Assoziieren von Microposts mit geografischen Standorten
DE112015006537T5 (de) Gerätebasierte filterung von inhaltselementen, die mit mobilen anwendungen verbunden sind
DE202013012421U1 (de) Definition eines für die Inhalte relevanten Gebiets anhand der Kategoriendichte
DE102018010163A1 (de) Automatisches Generieren sinnvoller Nutzersegmente
AU2015101408A4 (en) Method, system and computer program for recording online browsing behaviour
DE112016004745B4 (de) Syndiziertes, auf einer Cloud beruhendes Dienstmodell "Benachrichtigung als ein Dienst" Erweiterung in einem RSS-Feed
US20190205931A1 (en) Content-centric digital acquisition systems and methods
DE202014010918U1 (de) Das Clustering von Werbeanzeigen mit organischen Karteninhalten
DE112020000274T5 (de) Systeme und verfahren zur identifizierung von ereignissen, die eine eigenschaft teilen
DE112019001493T5 (de) Ermitteln der abfrageerkennungsresilienz in virtuellen agentensystemen
US20160253763A1 (en) Triggered targeting
US8645262B1 (en) System and method for displaying security information

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0011340000

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: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R082 Change of representative

Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: KILBURN & STRODE LLP, NL